diff options
20 files changed, 3294 insertions, 29 deletions
| diff --git a/web_page/index.html b/web_page/index.html index 756bbc9..5422e58 100644 --- a/web_page/index.html +++ b/web_page/index.html @@ -1,15 +1,16 @@  <!DOCTYPE html>  <html> -<head> -	<title> ADICIONAR LINK </title> -	<link rel="stylesheet" href="./main.css"> -	<script src="main.js"></script> -</head> -<body> -	<div> -  		<label >URL: </label> +  <head> +    <title>ADICIONAR LINK</title> +    <link rel="stylesheet" href="./main.css" /> +    <script src="main.js"></script> +  </head> +  <body> +    <div> +      <!--	<label >URL: </label>    		<input id="inp1" type="text">    		<input id="btn1" type="button" value="Enviar" onclick="click_send()"> -	</div> -</body> +	--> +    </div> +  </body>  </html> diff --git a/web_page/main.js b/web_page/main.js index 8d83b4c..dbb3495 100644 --- a/web_page/main.js +++ b/web_page/main.js @@ -1,26 +1,36 @@ -function click_send(){ -    data = document.getElementById("inp1").value; -    console.log(data); +import { createRoot } from "react-dom/client"; -    fetch("https://sl.azuminha.com/add/"+encodeURIComponent(data)).then(response => { -        if (!response.ok) { -          throw new Error('Network response was not ok'); -        } -        return response.text();  -    }).then(result => { -        console.log(result); -        const res = document.createElement("p"); -        res.textContent = data + " => " + "sl.azuminha.com/" + result; -        document.body.appendChild(res); +// Clear the existing HTML content +document.body.innerHTML = '<div id="app"></div>'; + +// Render your React component instead +const root = createRoot(document.getElementById("app")); +root.render(<h1>Hello, world</h1>); + +function click_send() { +  data = document.getElementById("inp1").value; +  console.log(data); + +  fetch("https://sl.azuminha.com/add/" + encodeURIComponent(data)) +    .then((response) => { +      if (!response.ok) { +        throw new Error("Network response was not ok"); +      } +      return response.text();      }) -    return 10 * 3; +    .then((result) => { +      console.log(result); +      const res = document.createElement("p"); +      res.textContent = data + " => " + "sl.azuminha.com/" + result; +      document.body.appendChild(res); +    }); +  return 10 * 3;  }  document.addEventListener("DOMContentLoaded", function () { -    const input = document.getElementById("inp1"); +  const input = document.getElementById("inp1"); -    input.addEventListener("keydown", function (event) { -        if (event.key === "Enter")  -            click_send(); -    }); +  input.addEventListener("keydown", function (event) { +    if (event.key === "Enter") click_send(); +  });  }); diff --git a/web_page/webpage-shorlink/.gitignore b/web_page/webpage-shorlink/.gitignore new file mode 100644 index 0000000..a547bf3 --- /dev/null +++ b/web_page/webpage-shorlink/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/web_page/webpage-shorlink/README.md b/web_page/webpage-shorlink/README.md new file mode 100644 index 0000000..18bc70e --- /dev/null +++ b/web_page/webpage-shorlink/README.md @@ -0,0 +1,16 @@ +# React + Vite + +This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. + +Currently, two official plugins are available: + +- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) (or [oxc](https://oxc.rs) when used in [rolldown-vite](https://vite.dev/guide/rolldown)) for Fast Refresh +- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh + +## React Compiler + +The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see [this documentation](https://react.dev/learn/react-compiler/installation). + +## Expanding the ESLint configuration + +If you are developing a production application, we recommend using TypeScript with type-aware lint rules enabled. Check out the [TS template](https://github.com/vitejs/vite/tree/main/packages/create-vite/template-react-ts) for information on how to integrate TypeScript and [`typescript-eslint`](https://typescript-eslint.io) in your project. diff --git a/web_page/webpage-shorlink/eslint.config.js b/web_page/webpage-shorlink/eslint.config.js new file mode 100644 index 0000000..cee1e2c --- /dev/null +++ b/web_page/webpage-shorlink/eslint.config.js @@ -0,0 +1,29 @@ +import js from '@eslint/js' +import globals from 'globals' +import reactHooks from 'eslint-plugin-react-hooks' +import reactRefresh from 'eslint-plugin-react-refresh' +import { defineConfig, globalIgnores } from 'eslint/config' + +export default defineConfig([ +  globalIgnores(['dist']), +  { +    files: ['**/*.{js,jsx}'], +    extends: [ +      js.configs.recommended, +      reactHooks.configs['recommended-latest'], +      reactRefresh.configs.vite, +    ], +    languageOptions: { +      ecmaVersion: 2020, +      globals: globals.browser, +      parserOptions: { +        ecmaVersion: 'latest', +        ecmaFeatures: { jsx: true }, +        sourceType: 'module', +      }, +    }, +    rules: { +      'no-unused-vars': ['error', { varsIgnorePattern: '^[A-Z_]' }], +    }, +  }, +]) diff --git a/web_page/webpage-shorlink/index.html b/web_page/webpage-shorlink/index.html new file mode 100644 index 0000000..47123fc --- /dev/null +++ b/web_page/webpage-shorlink/index.html @@ -0,0 +1,13 @@ +<!DOCTYPE html> +<html lang="en"> +  <head> +    <meta charset="UTF-8" /> +    <link rel="icon" type="image/svg+xml" href="/icon.jpg" /> +    <meta name="viewport" content="width=device-width, initial-scale=1.0" /> +    <title>webpage-shorlink</title> +  </head> +  <body> +    <div id="root"></div> +    <script type="module" src="/src/main.jsx"></script> +  </body> +</html> diff --git a/web_page/webpage-shorlink/package-lock.json b/web_page/webpage-shorlink/package-lock.json new file mode 100644 index 0000000..c6959f3 --- /dev/null +++ b/web_page/webpage-shorlink/package-lock.json @@ -0,0 +1,2833 @@ +{ +  "name": "webpage-shorlink", +  "version": "0.0.0", +  "lockfileVersion": 3, +  "requires": true, +  "packages": { +    "": { +      "name": "webpage-shorlink", +      "version": "0.0.0", +      "dependencies": { +        "react": "^19.1.1", +        "react-dom": "^19.1.1" +      }, +      "devDependencies": { +        "@eslint/js": "^9.36.0", +        "@types/react": "^19.1.16", +        "@types/react-dom": "^19.1.9", +        "@vitejs/plugin-react": "^5.0.4", +        "eslint": "^9.36.0", +        "eslint-plugin-react-hooks": "^5.2.0", +        "eslint-plugin-react-refresh": "^0.4.22", +        "globals": "^16.4.0", +        "vite": "^7.1.7" +      } +    }, +    "node_modules/@babel/code-frame": { +      "version": "7.27.1", +      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", +      "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", +      "dev": true, +      "license": "MIT", +      "dependencies": { +        "@babel/helper-validator-identifier": "^7.27.1", +        "js-tokens": "^4.0.0", +        "picocolors": "^1.1.1" +      }, +      "engines": { +        "node": ">=6.9.0" +      } +    }, +    "node_modules/@babel/compat-data": { +      "version": "7.28.4", +      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.4.tgz", +      "integrity": "sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==", +      "dev": true, +      "license": "MIT", +      "engines": { +        "node": ">=6.9.0" +      } +    }, +    "node_modules/@babel/core": { +      "version": "7.28.4", +      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.4.tgz", +      "integrity": "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==", +      "dev": true, +      "license": "MIT", +      "peer": true, +      "dependencies": { +        "@babel/code-frame": "^7.27.1", +        "@babel/generator": "^7.28.3", +        "@babel/helper-compilation-targets": "^7.27.2", +        "@babel/helper-module-transforms": "^7.28.3", +        "@babel/helpers": "^7.28.4", +        "@babel/parser": "^7.28.4", +        "@babel/template": "^7.27.2", +        "@babel/traverse": "^7.28.4", +        "@babel/types": "^7.28.4", +        "@jridgewell/remapping": "^2.3.5", +        "convert-source-map": "^2.0.0", +        "debug": "^4.1.0", +        "gensync": "^1.0.0-beta.2", +        "json5": "^2.2.3", +        "semver": "^6.3.1" +      }, +      "engines": { +        "node": ">=6.9.0" +      }, +      "funding": { +        "type": "opencollective", +        "url": "https://opencollective.com/babel" +      } +    }, +    "node_modules/@babel/generator": { +      "version": "7.28.3", +      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz", +      "integrity": "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==", +      "dev": true, +      "license": "MIT", +      "dependencies": { +        "@babel/parser": "^7.28.3", +        "@babel/types": "^7.28.2", +        "@jridgewell/gen-mapping": "^0.3.12", +        "@jridgewell/trace-mapping": "^0.3.28", +        "jsesc": "^3.0.2" +      }, +      "engines": { +        "node": ">=6.9.0" +      } +    }, +    "node_modules/@babel/helper-compilation-targets": { +      "version": "7.27.2", +      "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", +      "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", +      "dev": true, +      "license": "MIT", +      "dependencies": { +        "@babel/compat-data": "^7.27.2", +        "@babel/helper-validator-option": "^7.27.1", +        "browserslist": "^4.24.0", +        "lru-cache": "^5.1.1", +        "semver": "^6.3.1" +      }, +      "engines": { +        "node": ">=6.9.0" +      } +    }, +    "node_modules/@babel/helper-globals": { +      "version": "7.28.0", +      "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", +      "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", +      "dev": true, +      "license": "MIT", +      "engines": { +        "node": ">=6.9.0" +      } +    }, +    "node_modules/@babel/helper-module-imports": { +      "version": "7.27.1", +      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", +      "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", +      "dev": true, +      "license": "MIT", +      "dependencies": { +        "@babel/traverse": "^7.27.1", +        "@babel/types": "^7.27.1" +      }, +      "engines": { +        "node": ">=6.9.0" +      } +    }, +    "node_modules/@babel/helper-module-transforms": { +      "version": "7.28.3", +      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", +      "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", +      "dev": true, +      "license": "MIT", +      "dependencies": { +        "@babel/helper-module-imports": "^7.27.1", +        "@babel/helper-validator-identifier": "^7.27.1", +        "@babel/traverse": "^7.28.3" +      }, +      "engines": { +        "node": ">=6.9.0" +      }, +      "peerDependencies": { +        "@babel/core": "^7.0.0" +      } +    }, +    "node_modules/@babel/helper-plugin-utils": { +      "version": "7.27.1", +      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", +      "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", +      "dev": true, +      "license": "MIT", +      "engines": { +        "node": ">=6.9.0" +      } +    }, +    "node_modules/@babel/helper-string-parser": { +      "version": "7.27.1", +      "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", +      "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", +      "dev": true, +      "license": "MIT", +      "engines": { +        "node": ">=6.9.0" +      } +    }, +    "node_modules/@babel/helper-validator-identifier": { +      "version": "7.27.1", +      "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", +      "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", +      "dev": true, +      "license": "MIT", +      "engines": { +        "node": ">=6.9.0" +      } +    }, +    "node_modules/@babel/helper-validator-option": { +      "version": "7.27.1", +      "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", +      "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", +      "dev": true, +      "license": "MIT", +      "engines": { +        "node": ">=6.9.0" +      } +    }, +    "node_modules/@babel/helpers": { +      "version": "7.28.4", +      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", +      "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", +      "dev": true, +      "license": "MIT", +      "dependencies": { +        "@babel/template": "^7.27.2", +        "@babel/types": "^7.28.4" +      }, +      "engines": { +        "node": ">=6.9.0" +      } +    }, +    "node_modules/@babel/parser": { +      "version": "7.28.4", +      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.4.tgz", +      "integrity": "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==", +      "dev": true, +      "license": "MIT", +      "dependencies": { +        "@babel/types": "^7.28.4" +      }, +      "bin": { +        "parser": "bin/babel-parser.js" +      }, +      "engines": { +        "node": ">=6.0.0" +      } +    }, +    "node_modules/@babel/plugin-transform-react-jsx-self": { +      "version": "7.27.1", +      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz", +      "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==", +      "dev": true, +      "license": "MIT", +      "dependencies": { +        "@babel/helper-plugin-utils": "^7.27.1" +      }, +      "engines": { +        "node": ">=6.9.0" +      }, +      "peerDependencies": { +        "@babel/core": "^7.0.0-0" +      } +    }, +    "node_modules/@babel/plugin-transform-react-jsx-source": { +      "version": "7.27.1", +      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz", +      "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==", +      "dev": true, +      "license": "MIT", +      "dependencies": { +        "@babel/helper-plugin-utils": "^7.27.1" +      }, +      "engines": { +        "node": ">=6.9.0" +      }, +      "peerDependencies": { +        "@babel/core": "^7.0.0-0" +      } +    }, +    "node_modules/@babel/template": { +      "version": "7.27.2", +      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", +      "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", +      "dev": true, +      "license": "MIT", +      "dependencies": { +        "@babel/code-frame": "^7.27.1", +        "@babel/parser": "^7.27.2", +        "@babel/types": "^7.27.1" +      }, +      "engines": { +        "node": ">=6.9.0" +      } +    }, +    "node_modules/@babel/traverse": { +      "version": "7.28.4", +      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.4.tgz", +      "integrity": "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==", +      "dev": true, +      "license": "MIT", +      "dependencies": { +        "@babel/code-frame": "^7.27.1", +        "@babel/generator": "^7.28.3", +        "@babel/helper-globals": "^7.28.0", +        "@babel/parser": "^7.28.4", +        "@babel/template": "^7.27.2", +        "@babel/types": "^7.28.4", +        "debug": "^4.3.1" +      }, +      "engines": { +        "node": ">=6.9.0" +      } +    }, +    "node_modules/@babel/types": { +      "version": "7.28.4", +      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.4.tgz", +      "integrity": "sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==", +      "dev": true, +      "license": "MIT", +      "dependencies": { +        "@babel/helper-string-parser": "^7.27.1", +        "@babel/helper-validator-identifier": "^7.27.1" +      }, +      "engines": { +        "node": ">=6.9.0" +      } +    }, +    "node_modules/@esbuild/aix-ppc64": { +      "version": "0.25.11", +      "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.11.tgz", +      "integrity": "sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg==", +      "cpu": [ +        "ppc64" +      ], +      "dev": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "aix" +      ], +      "engines": { +        "node": ">=18" +      } +    }, +    "node_modules/@esbuild/android-arm": { +      "version": "0.25.11", +      "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.11.tgz", +      "integrity": "sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg==", +      "cpu": [ +        "arm" +      ], +      "dev": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "android" +      ], +      "engines": { +        "node": ">=18" +      } +    }, +    "node_modules/@esbuild/android-arm64": { +      "version": "0.25.11", +      "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.11.tgz", +      "integrity": "sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ==", +      "cpu": [ +        "arm64" +      ], +      "dev": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "android" +      ], +      "engines": { +        "node": ">=18" +      } +    }, +    "node_modules/@esbuild/android-x64": { +      "version": "0.25.11", +      "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.11.tgz", +      "integrity": "sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g==", +      "cpu": [ +        "x64" +      ], +      "dev": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "android" +      ], +      "engines": { +        "node": ">=18" +      } +    }, +    "node_modules/@esbuild/darwin-arm64": { +      "version": "0.25.11", +      "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.11.tgz", +      "integrity": "sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w==", +      "cpu": [ +        "arm64" +      ], +      "dev": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "darwin" +      ], +      "engines": { +        "node": ">=18" +      } +    }, +    "node_modules/@esbuild/darwin-x64": { +      "version": "0.25.11", +      "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.11.tgz", +      "integrity": "sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ==", +      "cpu": [ +        "x64" +      ], +      "dev": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "darwin" +      ], +      "engines": { +        "node": ">=18" +      } +    }, +    "node_modules/@esbuild/freebsd-arm64": { +      "version": "0.25.11", +      "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.11.tgz", +      "integrity": "sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA==", +      "cpu": [ +        "arm64" +      ], +      "dev": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "freebsd" +      ], +      "engines": { +        "node": ">=18" +      } +    }, +    "node_modules/@esbuild/freebsd-x64": { +      "version": "0.25.11", +      "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.11.tgz", +      "integrity": "sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw==", +      "cpu": [ +        "x64" +      ], +      "dev": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "freebsd" +      ], +      "engines": { +        "node": ">=18" +      } +    }, +    "node_modules/@esbuild/linux-arm": { +      "version": "0.25.11", +      "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.11.tgz", +      "integrity": "sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw==", +      "cpu": [ +        "arm" +      ], +      "dev": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "linux" +      ], +      "engines": { +        "node": ">=18" +      } +    }, +    "node_modules/@esbuild/linux-arm64": { +      "version": "0.25.11", +      "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.11.tgz", +      "integrity": "sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA==", +      "cpu": [ +        "arm64" +      ], +      "dev": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "linux" +      ], +      "engines": { +        "node": ">=18" +      } +    }, +    "node_modules/@esbuild/linux-ia32": { +      "version": "0.25.11", +      "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.11.tgz", +      "integrity": "sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw==", +      "cpu": [ +        "ia32" +      ], +      "dev": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "linux" +      ], +      "engines": { +        "node": ">=18" +      } +    }, +    "node_modules/@esbuild/linux-loong64": { +      "version": "0.25.11", +      "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.11.tgz", +      "integrity": "sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw==", +      "cpu": [ +        "loong64" +      ], +      "dev": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "linux" +      ], +      "engines": { +        "node": ">=18" +      } +    }, +    "node_modules/@esbuild/linux-mips64el": { +      "version": "0.25.11", +      "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.11.tgz", +      "integrity": "sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ==", +      "cpu": [ +        "mips64el" +      ], +      "dev": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "linux" +      ], +      "engines": { +        "node": ">=18" +      } +    }, +    "node_modules/@esbuild/linux-ppc64": { +      "version": "0.25.11", +      "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.11.tgz", +      "integrity": "sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw==", +      "cpu": [ +        "ppc64" +      ], +      "dev": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "linux" +      ], +      "engines": { +        "node": ">=18" +      } +    }, +    "node_modules/@esbuild/linux-riscv64": { +      "version": "0.25.11", +      "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.11.tgz", +      "integrity": "sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww==", +      "cpu": [ +        "riscv64" +      ], +      "dev": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "linux" +      ], +      "engines": { +        "node": ">=18" +      } +    }, +    "node_modules/@esbuild/linux-s390x": { +      "version": "0.25.11", +      "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.11.tgz", +      "integrity": "sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw==", +      "cpu": [ +        "s390x" +      ], +      "dev": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "linux" +      ], +      "engines": { +        "node": ">=18" +      } +    }, +    "node_modules/@esbuild/linux-x64": { +      "version": "0.25.11", +      "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.11.tgz", +      "integrity": "sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ==", +      "cpu": [ +        "x64" +      ], +      "dev": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "linux" +      ], +      "engines": { +        "node": ">=18" +      } +    }, +    "node_modules/@esbuild/netbsd-arm64": { +      "version": "0.25.11", +      "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.11.tgz", +      "integrity": "sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg==", +      "cpu": [ +        "arm64" +      ], +      "dev": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "netbsd" +      ], +      "engines": { +        "node": ">=18" +      } +    }, +    "node_modules/@esbuild/netbsd-x64": { +      "version": "0.25.11", +      "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.11.tgz", +      "integrity": "sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A==", +      "cpu": [ +        "x64" +      ], +      "dev": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "netbsd" +      ], +      "engines": { +        "node": ">=18" +      } +    }, +    "node_modules/@esbuild/openbsd-arm64": { +      "version": "0.25.11", +      "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.11.tgz", +      "integrity": "sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg==", +      "cpu": [ +        "arm64" +      ], +      "dev": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "openbsd" +      ], +      "engines": { +        "node": ">=18" +      } +    }, +    "node_modules/@esbuild/openbsd-x64": { +      "version": "0.25.11", +      "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.11.tgz", +      "integrity": "sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw==", +      "cpu": [ +        "x64" +      ], +      "dev": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "openbsd" +      ], +      "engines": { +        "node": ">=18" +      } +    }, +    "node_modules/@esbuild/openharmony-arm64": { +      "version": "0.25.11", +      "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.11.tgz", +      "integrity": "sha512-rOREuNIQgaiR+9QuNkbkxubbp8MSO9rONmwP5nKncnWJ9v5jQ4JxFnLu4zDSRPf3x4u+2VN4pM4RdyIzDty/wQ==", +      "cpu": [ +        "arm64" +      ], +      "dev": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "openharmony" +      ], +      "engines": { +        "node": ">=18" +      } +    }, +    "node_modules/@esbuild/sunos-x64": { +      "version": "0.25.11", +      "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.11.tgz", +      "integrity": "sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA==", +      "cpu": [ +        "x64" +      ], +      "dev": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "sunos" +      ], +      "engines": { +        "node": ">=18" +      } +    }, +    "node_modules/@esbuild/win32-arm64": { +      "version": "0.25.11", +      "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.11.tgz", +      "integrity": "sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q==", +      "cpu": [ +        "arm64" +      ], +      "dev": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "win32" +      ], +      "engines": { +        "node": ">=18" +      } +    }, +    "node_modules/@esbuild/win32-ia32": { +      "version": "0.25.11", +      "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.11.tgz", +      "integrity": "sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA==", +      "cpu": [ +        "ia32" +      ], +      "dev": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "win32" +      ], +      "engines": { +        "node": ">=18" +      } +    }, +    "node_modules/@esbuild/win32-x64": { +      "version": "0.25.11", +      "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.11.tgz", +      "integrity": "sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA==", +      "cpu": [ +        "x64" +      ], +      "dev": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "win32" +      ], +      "engines": { +        "node": ">=18" +      } +    }, +    "node_modules/@eslint-community/eslint-utils": { +      "version": "4.9.0", +      "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz", +      "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==", +      "dev": true, +      "license": "MIT", +      "dependencies": { +        "eslint-visitor-keys": "^3.4.3" +      }, +      "engines": { +        "node": "^12.22.0 || ^14.17.0 || >=16.0.0" +      }, +      "funding": { +        "url": "https://opencollective.com/eslint" +      }, +      "peerDependencies": { +        "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" +      } +    }, +    "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { +      "version": "3.4.3", +      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", +      "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", +      "dev": true, +      "license": "Apache-2.0", +      "engines": { +        "node": "^12.22.0 || ^14.17.0 || >=16.0.0" +      }, +      "funding": { +        "url": "https://opencollective.com/eslint" +      } +    }, +    "node_modules/@eslint-community/regexpp": { +      "version": "4.12.1", +      "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", +      "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", +      "dev": true, +      "license": "MIT", +      "engines": { +        "node": "^12.0.0 || ^14.0.0 || >=16.0.0" +      } +    }, +    "node_modules/@eslint/config-array": { +      "version": "0.21.1", +      "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz", +      "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==", +      "dev": true, +      "license": "Apache-2.0", +      "dependencies": { +        "@eslint/object-schema": "^2.1.7", +        "debug": "^4.3.1", +        "minimatch": "^3.1.2" +      }, +      "engines": { +        "node": "^18.18.0 || ^20.9.0 || >=21.1.0" +      } +    }, +    "node_modules/@eslint/config-helpers": { +      "version": "0.4.1", +      "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.1.tgz", +      "integrity": "sha512-csZAzkNhsgwb0I/UAV6/RGFTbiakPCf0ZrGmrIxQpYvGZ00PhTkSnyKNolphgIvmnJeGw6rcGVEXfTzUnFuEvw==", +      "dev": true, +      "license": "Apache-2.0", +      "dependencies": { +        "@eslint/core": "^0.16.0" +      }, +      "engines": { +        "node": "^18.18.0 || ^20.9.0 || >=21.1.0" +      } +    }, +    "node_modules/@eslint/core": { +      "version": "0.16.0", +      "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.16.0.tgz", +      "integrity": "sha512-nmC8/totwobIiFcGkDza3GIKfAw1+hLiYVrh3I1nIomQ8PEr5cxg34jnkmGawul/ep52wGRAcyeDCNtWKSOj4Q==", +      "dev": true, +      "license": "Apache-2.0", +      "dependencies": { +        "@types/json-schema": "^7.0.15" +      }, +      "engines": { +        "node": "^18.18.0 || ^20.9.0 || >=21.1.0" +      } +    }, +    "node_modules/@eslint/eslintrc": { +      "version": "3.3.1", +      "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", +      "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", +      "dev": true, +      "license": "MIT", +      "dependencies": { +        "ajv": "^6.12.4", +        "debug": "^4.3.2", +        "espree": "^10.0.1", +        "globals": "^14.0.0", +        "ignore": "^5.2.0", +        "import-fresh": "^3.2.1", +        "js-yaml": "^4.1.0", +        "minimatch": "^3.1.2", +        "strip-json-comments": "^3.1.1" +      }, +      "engines": { +        "node": "^18.18.0 || ^20.9.0 || >=21.1.0" +      }, +      "funding": { +        "url": "https://opencollective.com/eslint" +      } +    }, +    "node_modules/@eslint/eslintrc/node_modules/globals": { +      "version": "14.0.0", +      "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", +      "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", +      "dev": true, +      "license": "MIT", +      "engines": { +        "node": ">=18" +      }, +      "funding": { +        "url": "https://github.com/sponsors/sindresorhus" +      } +    }, +    "node_modules/@eslint/js": { +      "version": "9.38.0", +      "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.38.0.tgz", +      "integrity": "sha512-UZ1VpFvXf9J06YG9xQBdnzU+kthors6KjhMAl6f4gH4usHyh31rUf2DLGInT8RFYIReYXNSydgPY0V2LuWgl7A==", +      "dev": true, +      "license": "MIT", +      "engines": { +        "node": "^18.18.0 || ^20.9.0 || >=21.1.0" +      }, +      "funding": { +        "url": "https://eslint.org/donate" +      } +    }, +    "node_modules/@eslint/object-schema": { +      "version": "2.1.7", +      "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", +      "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", +      "dev": true, +      "license": "Apache-2.0", +      "engines": { +        "node": "^18.18.0 || ^20.9.0 || >=21.1.0" +      } +    }, +    "node_modules/@eslint/plugin-kit": { +      "version": "0.4.0", +      "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.0.tgz", +      "integrity": "sha512-sB5uyeq+dwCWyPi31B2gQlVlo+j5brPlWx4yZBrEaRo/nhdDE8Xke1gsGgtiBdaBTxuTkceLVuVt/pclrasb0A==", +      "dev": true, +      "license": "Apache-2.0", +      "dependencies": { +        "@eslint/core": "^0.16.0", +        "levn": "^0.4.1" +      }, +      "engines": { +        "node": "^18.18.0 || ^20.9.0 || >=21.1.0" +      } +    }, +    "node_modules/@humanfs/core": { +      "version": "0.19.1", +      "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", +      "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", +      "dev": true, +      "license": "Apache-2.0", +      "engines": { +        "node": ">=18.18.0" +      } +    }, +    "node_modules/@humanfs/node": { +      "version": "0.16.7", +      "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", +      "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", +      "dev": true, +      "license": "Apache-2.0", +      "dependencies": { +        "@humanfs/core": "^0.19.1", +        "@humanwhocodes/retry": "^0.4.0" +      }, +      "engines": { +        "node": ">=18.18.0" +      } +    }, +    "node_modules/@humanwhocodes/module-importer": { +      "version": "1.0.1", +      "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", +      "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", +      "dev": true, +      "license": "Apache-2.0", +      "engines": { +        "node": ">=12.22" +      }, +      "funding": { +        "type": "github", +        "url": "https://github.com/sponsors/nzakas" +      } +    }, +    "node_modules/@humanwhocodes/retry": { +      "version": "0.4.3", +      "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", +      "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", +      "dev": true, +      "license": "Apache-2.0", +      "engines": { +        "node": ">=18.18" +      }, +      "funding": { +        "type": "github", +        "url": "https://github.com/sponsors/nzakas" +      } +    }, +    "node_modules/@jridgewell/gen-mapping": { +      "version": "0.3.13", +      "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", +      "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", +      "dev": true, +      "license": "MIT", +      "dependencies": { +        "@jridgewell/sourcemap-codec": "^1.5.0", +        "@jridgewell/trace-mapping": "^0.3.24" +      } +    }, +    "node_modules/@jridgewell/remapping": { +      "version": "2.3.5", +      "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", +      "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", +      "dev": true, +      "license": "MIT", +      "dependencies": { +        "@jridgewell/gen-mapping": "^0.3.5", +        "@jridgewell/trace-mapping": "^0.3.24" +      } +    }, +    "node_modules/@jridgewell/resolve-uri": { +      "version": "3.1.2", +      "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", +      "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", +      "dev": true, +      "license": "MIT", +      "engines": { +        "node": ">=6.0.0" +      } +    }, +    "node_modules/@jridgewell/sourcemap-codec": { +      "version": "1.5.5", +      "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", +      "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", +      "dev": true, +      "license": "MIT" +    }, +    "node_modules/@jridgewell/trace-mapping": { +      "version": "0.3.31", +      "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", +      "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", +      "dev": true, +      "license": "MIT", +      "dependencies": { +        "@jridgewell/resolve-uri": "^3.1.0", +        "@jridgewell/sourcemap-codec": "^1.4.14" +      } +    }, +    "node_modules/@rolldown/pluginutils": { +      "version": "1.0.0-beta.38", +      "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.38.tgz", +      "integrity": "sha512-N/ICGKleNhA5nc9XXQG/kkKHJ7S55u0x0XUJbbkmdCnFuoRkM1Il12q9q0eX19+M7KKUEPw/daUPIRnxhcxAIw==", +      "dev": true, +      "license": "MIT" +    }, +    "node_modules/@rollup/rollup-android-arm-eabi": { +      "version": "4.52.5", +      "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.52.5.tgz", +      "integrity": "sha512-8c1vW4ocv3UOMp9K+gToY5zL2XiiVw3k7f1ksf4yO1FlDFQ1C2u72iACFnSOceJFsWskc2WZNqeRhFRPzv+wtQ==", +      "cpu": [ +        "arm" +      ], +      "dev": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "android" +      ] +    }, +    "node_modules/@rollup/rollup-android-arm64": { +      "version": "4.52.5", +      "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.52.5.tgz", +      "integrity": "sha512-mQGfsIEFcu21mvqkEKKu2dYmtuSZOBMmAl5CFlPGLY94Vlcm+zWApK7F/eocsNzp8tKmbeBP8yXyAbx0XHsFNA==", +      "cpu": [ +        "arm64" +      ], +      "dev": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "android" +      ] +    }, +    "node_modules/@rollup/rollup-darwin-arm64": { +      "version": "4.52.5", +      "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.52.5.tgz", +      "integrity": "sha512-takF3CR71mCAGA+v794QUZ0b6ZSrgJkArC+gUiG6LB6TQty9T0Mqh3m2ImRBOxS2IeYBo4lKWIieSvnEk2OQWA==", +      "cpu": [ +        "arm64" +      ], +      "dev": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "darwin" +      ] +    }, +    "node_modules/@rollup/rollup-darwin-x64": { +      "version": "4.52.5", +      "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.52.5.tgz", +      "integrity": "sha512-W901Pla8Ya95WpxDn//VF9K9u2JbocwV/v75TE0YIHNTbhqUTv9w4VuQ9MaWlNOkkEfFwkdNhXgcLqPSmHy0fA==", +      "cpu": [ +        "x64" +      ], +      "dev": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "darwin" +      ] +    }, +    "node_modules/@rollup/rollup-freebsd-arm64": { +      "version": "4.52.5", +      "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.52.5.tgz", +      "integrity": "sha512-QofO7i7JycsYOWxe0GFqhLmF6l1TqBswJMvICnRUjqCx8b47MTo46W8AoeQwiokAx3zVryVnxtBMcGcnX12LvA==", +      "cpu": [ +        "arm64" +      ], +      "dev": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "freebsd" +      ] +    }, +    "node_modules/@rollup/rollup-freebsd-x64": { +      "version": "4.52.5", +      "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.52.5.tgz", +      "integrity": "sha512-jr21b/99ew8ujZubPo9skbrItHEIE50WdV86cdSoRkKtmWa+DDr6fu2c/xyRT0F/WazZpam6kk7IHBerSL7LDQ==", +      "cpu": [ +        "x64" +      ], +      "dev": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "freebsd" +      ] +    }, +    "node_modules/@rollup/rollup-linux-arm-gnueabihf": { +      "version": "4.52.5", +      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.52.5.tgz", +      "integrity": "sha512-PsNAbcyv9CcecAUagQefwX8fQn9LQ4nZkpDboBOttmyffnInRy8R8dSg6hxxl2Re5QhHBf6FYIDhIj5v982ATQ==", +      "cpu": [ +        "arm" +      ], +      "dev": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "linux" +      ] +    }, +    "node_modules/@rollup/rollup-linux-arm-musleabihf": { +      "version": "4.52.5", +      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.52.5.tgz", +      "integrity": "sha512-Fw4tysRutyQc/wwkmcyoqFtJhh0u31K+Q6jYjeicsGJJ7bbEq8LwPWV/w0cnzOqR2m694/Af6hpFayLJZkG2VQ==", +      "cpu": [ +        "arm" +      ], +      "dev": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "linux" +      ] +    }, +    "node_modules/@rollup/rollup-linux-arm64-gnu": { +      "version": "4.52.5", +      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.52.5.tgz", +      "integrity": "sha512-a+3wVnAYdQClOTlyapKmyI6BLPAFYs0JM8HRpgYZQO02rMR09ZcV9LbQB+NL6sljzG38869YqThrRnfPMCDtZg==", +      "cpu": [ +        "arm64" +      ], +      "dev": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "linux" +      ] +    }, +    "node_modules/@rollup/rollup-linux-arm64-musl": { +      "version": "4.52.5", +      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.52.5.tgz", +      "integrity": "sha512-AvttBOMwO9Pcuuf7m9PkC1PUIKsfaAJ4AYhy944qeTJgQOqJYJ9oVl2nYgY7Rk0mkbsuOpCAYSs6wLYB2Xiw0Q==", +      "cpu": [ +        "arm64" +      ], +      "dev": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "linux" +      ] +    }, +    "node_modules/@rollup/rollup-linux-loong64-gnu": { +      "version": "4.52.5", +      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.52.5.tgz", +      "integrity": "sha512-DkDk8pmXQV2wVrF6oq5tONK6UHLz/XcEVow4JTTerdeV1uqPeHxwcg7aFsfnSm9L+OO8WJsWotKM2JJPMWrQtA==", +      "cpu": [ +        "loong64" +      ], +      "dev": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "linux" +      ] +    }, +    "node_modules/@rollup/rollup-linux-ppc64-gnu": { +      "version": "4.52.5", +      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.52.5.tgz", +      "integrity": "sha512-W/b9ZN/U9+hPQVvlGwjzi+Wy4xdoH2I8EjaCkMvzpI7wJUs8sWJ03Rq96jRnHkSrcHTpQe8h5Tg3ZzUPGauvAw==", +      "cpu": [ +        "ppc64" +      ], +      "dev": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "linux" +      ] +    }, +    "node_modules/@rollup/rollup-linux-riscv64-gnu": { +      "version": "4.52.5", +      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.52.5.tgz", +      "integrity": "sha512-sjQLr9BW7R/ZiXnQiWPkErNfLMkkWIoCz7YMn27HldKsADEKa5WYdobaa1hmN6slu9oWQbB6/jFpJ+P2IkVrmw==", +      "cpu": [ +        "riscv64" +      ], +      "dev": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "linux" +      ] +    }, +    "node_modules/@rollup/rollup-linux-riscv64-musl": { +      "version": "4.52.5", +      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.52.5.tgz", +      "integrity": "sha512-hq3jU/kGyjXWTvAh2awn8oHroCbrPm8JqM7RUpKjalIRWWXE01CQOf/tUNWNHjmbMHg/hmNCwc/Pz3k1T/j/Lg==", +      "cpu": [ +        "riscv64" +      ], +      "dev": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "linux" +      ] +    }, +    "node_modules/@rollup/rollup-linux-s390x-gnu": { +      "version": "4.52.5", +      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.52.5.tgz", +      "integrity": "sha512-gn8kHOrku8D4NGHMK1Y7NA7INQTRdVOntt1OCYypZPRt6skGbddska44K8iocdpxHTMMNui5oH4elPH4QOLrFQ==", +      "cpu": [ +        "s390x" +      ], +      "dev": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "linux" +      ] +    }, +    "node_modules/@rollup/rollup-linux-x64-gnu": { +      "version": "4.52.5", +      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.52.5.tgz", +      "integrity": "sha512-hXGLYpdhiNElzN770+H2nlx+jRog8TyynpTVzdlc6bndktjKWyZyiCsuDAlpd+j+W+WNqfcyAWz9HxxIGfZm1Q==", +      "cpu": [ +        "x64" +      ], +      "dev": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "linux" +      ] +    }, +    "node_modules/@rollup/rollup-linux-x64-musl": { +      "version": "4.52.5", +      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.52.5.tgz", +      "integrity": "sha512-arCGIcuNKjBoKAXD+y7XomR9gY6Mw7HnFBv5Rw7wQRvwYLR7gBAgV7Mb2QTyjXfTveBNFAtPt46/36vV9STLNg==", +      "cpu": [ +        "x64" +      ], +      "dev": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "linux" +      ] +    }, +    "node_modules/@rollup/rollup-openharmony-arm64": { +      "version": "4.52.5", +      "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.52.5.tgz", +      "integrity": "sha512-QoFqB6+/9Rly/RiPjaomPLmR/13cgkIGfA40LHly9zcH1S0bN2HVFYk3a1eAyHQyjs3ZJYlXvIGtcCs5tko9Cw==", +      "cpu": [ +        "arm64" +      ], +      "dev": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "openharmony" +      ] +    }, +    "node_modules/@rollup/rollup-win32-arm64-msvc": { +      "version": "4.52.5", +      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.52.5.tgz", +      "integrity": "sha512-w0cDWVR6MlTstla1cIfOGyl8+qb93FlAVutcor14Gf5Md5ap5ySfQ7R9S/NjNaMLSFdUnKGEasmVnu3lCMqB7w==", +      "cpu": [ +        "arm64" +      ], +      "dev": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "win32" +      ] +    }, +    "node_modules/@rollup/rollup-win32-ia32-msvc": { +      "version": "4.52.5", +      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.52.5.tgz", +      "integrity": "sha512-Aufdpzp7DpOTULJCuvzqcItSGDH73pF3ko/f+ckJhxQyHtp67rHw3HMNxoIdDMUITJESNE6a8uh4Lo4SLouOUg==", +      "cpu": [ +        "ia32" +      ], +      "dev": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "win32" +      ] +    }, +    "node_modules/@rollup/rollup-win32-x64-gnu": { +      "version": "4.52.5", +      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.52.5.tgz", +      "integrity": "sha512-UGBUGPFp1vkj6p8wCRraqNhqwX/4kNQPS57BCFc8wYh0g94iVIW33wJtQAx3G7vrjjNtRaxiMUylM0ktp/TRSQ==", +      "cpu": [ +        "x64" +      ], +      "dev": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "win32" +      ] +    }, +    "node_modules/@rollup/rollup-win32-x64-msvc": { +      "version": "4.52.5", +      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.52.5.tgz", +      "integrity": "sha512-TAcgQh2sSkykPRWLrdyy2AiceMckNf5loITqXxFI5VuQjS5tSuw3WlwdN8qv8vzjLAUTvYaH/mVjSFpbkFbpTg==", +      "cpu": [ +        "x64" +      ], +      "dev": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "win32" +      ] +    }, +    "node_modules/@types/babel__core": { +      "version": "7.20.5", +      "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", +      "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", +      "dev": true, +      "license": "MIT", +      "dependencies": { +        "@babel/parser": "^7.20.7", +        "@babel/types": "^7.20.7", +        "@types/babel__generator": "*", +        "@types/babel__template": "*", +        "@types/babel__traverse": "*" +      } +    }, +    "node_modules/@types/babel__generator": { +      "version": "7.27.0", +      "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", +      "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", +      "dev": true, +      "license": "MIT", +      "dependencies": { +        "@babel/types": "^7.0.0" +      } +    }, +    "node_modules/@types/babel__template": { +      "version": "7.4.4", +      "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", +      "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", +      "dev": true, +      "license": "MIT", +      "dependencies": { +        "@babel/parser": "^7.1.0", +        "@babel/types": "^7.0.0" +      } +    }, +    "node_modules/@types/babel__traverse": { +      "version": "7.28.0", +      "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", +      "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", +      "dev": true, +      "license": "MIT", +      "dependencies": { +        "@babel/types": "^7.28.2" +      } +    }, +    "node_modules/@types/estree": { +      "version": "1.0.8", +      "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", +      "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", +      "dev": true, +      "license": "MIT" +    }, +    "node_modules/@types/json-schema": { +      "version": "7.0.15", +      "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", +      "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", +      "dev": true, +      "license": "MIT" +    }, +    "node_modules/@types/react": { +      "version": "19.2.2", +      "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.2.tgz", +      "integrity": "sha512-6mDvHUFSjyT2B2yeNx2nUgMxh9LtOWvkhIU3uePn2I2oyNymUAX1NIsdgviM4CH+JSrp2D2hsMvJOkxY+0wNRA==", +      "dev": true, +      "license": "MIT", +      "peer": true, +      "dependencies": { +        "csstype": "^3.0.2" +      } +    }, +    "node_modules/@types/react-dom": { +      "version": "19.2.2", +      "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.2.tgz", +      "integrity": "sha512-9KQPoO6mZCi7jcIStSnlOWn2nEF3mNmyr3rIAsGnAbQKYbRLyqmeSc39EVgtxXVia+LMT8j3knZLAZAh+xLmrw==", +      "dev": true, +      "license": "MIT", +      "peerDependencies": { +        "@types/react": "^19.2.0" +      } +    }, +    "node_modules/@vitejs/plugin-react": { +      "version": "5.0.4", +      "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-5.0.4.tgz", +      "integrity": "sha512-La0KD0vGkVkSk6K+piWDKRUyg8Rl5iAIKRMH0vMJI0Eg47bq1eOxmoObAaQG37WMW9MSyk7Cs8EIWwJC1PtzKA==", +      "dev": true, +      "license": "MIT", +      "dependencies": { +        "@babel/core": "^7.28.4", +        "@babel/plugin-transform-react-jsx-self": "^7.27.1", +        "@babel/plugin-transform-react-jsx-source": "^7.27.1", +        "@rolldown/pluginutils": "1.0.0-beta.38", +        "@types/babel__core": "^7.20.5", +        "react-refresh": "^0.17.0" +      }, +      "engines": { +        "node": "^20.19.0 || >=22.12.0" +      }, +      "peerDependencies": { +        "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" +      } +    }, +    "node_modules/acorn": { +      "version": "8.15.0", +      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", +      "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", +      "dev": true, +      "license": "MIT", +      "peer": true, +      "bin": { +        "acorn": "bin/acorn" +      }, +      "engines": { +        "node": ">=0.4.0" +      } +    }, +    "node_modules/acorn-jsx": { +      "version": "5.3.2", +      "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", +      "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", +      "dev": true, +      "license": "MIT", +      "peerDependencies": { +        "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" +      } +    }, +    "node_modules/ajv": { +      "version": "6.12.6", +      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", +      "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", +      "dev": true, +      "license": "MIT", +      "dependencies": { +        "fast-deep-equal": "^3.1.1", +        "fast-json-stable-stringify": "^2.0.0", +        "json-schema-traverse": "^0.4.1", +        "uri-js": "^4.2.2" +      }, +      "funding": { +        "type": "github", +        "url": "https://github.com/sponsors/epoberezkin" +      } +    }, +    "node_modules/ansi-styles": { +      "version": "4.3.0", +      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", +      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", +      "dev": true, +      "license": "MIT", +      "dependencies": { +        "color-convert": "^2.0.1" +      }, +      "engines": { +        "node": ">=8" +      }, +      "funding": { +        "url": "https://github.com/chalk/ansi-styles?sponsor=1" +      } +    }, +    "node_modules/argparse": { +      "version": "2.0.1", +      "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", +      "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", +      "dev": true, +      "license": "Python-2.0" +    }, +    "node_modules/balanced-match": { +      "version": "1.0.2", +      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", +      "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", +      "dev": true, +      "license": "MIT" +    }, +    "node_modules/baseline-browser-mapping": { +      "version": "2.8.18", +      "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.18.tgz", +      "integrity": "sha512-UYmTpOBwgPScZpS4A+YbapwWuBwasxvO/2IOHArSsAhL/+ZdmATBXTex3t+l2hXwLVYK382ibr/nKoY9GKe86w==", +      "dev": true, +      "license": "Apache-2.0", +      "bin": { +        "baseline-browser-mapping": "dist/cli.js" +      } +    }, +    "node_modules/brace-expansion": { +      "version": "1.1.12", +      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", +      "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", +      "dev": true, +      "license": "MIT", +      "dependencies": { +        "balanced-match": "^1.0.0", +        "concat-map": "0.0.1" +      } +    }, +    "node_modules/browserslist": { +      "version": "4.26.3", +      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.26.3.tgz", +      "integrity": "sha512-lAUU+02RFBuCKQPj/P6NgjlbCnLBMp4UtgTx7vNHd3XSIJF87s9a5rA3aH2yw3GS9DqZAUbOtZdCCiZeVRqt0w==", +      "dev": true, +      "funding": [ +        { +          "type": "opencollective", +          "url": "https://opencollective.com/browserslist" +        }, +        { +          "type": "tidelift", +          "url": "https://tidelift.com/funding/github/npm/browserslist" +        }, +        { +          "type": "github", +          "url": "https://github.com/sponsors/ai" +        } +      ], +      "license": "MIT", +      "peer": true, +      "dependencies": { +        "baseline-browser-mapping": "^2.8.9", +        "caniuse-lite": "^1.0.30001746", +        "electron-to-chromium": "^1.5.227", +        "node-releases": "^2.0.21", +        "update-browserslist-db": "^1.1.3" +      }, +      "bin": { +        "browserslist": "cli.js" +      }, +      "engines": { +        "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" +      } +    }, +    "node_modules/callsites": { +      "version": "3.1.0", +      "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", +      "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", +      "dev": true, +      "license": "MIT", +      "engines": { +        "node": ">=6" +      } +    }, +    "node_modules/caniuse-lite": { +      "version": "1.0.30001751", +      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001751.tgz", +      "integrity": "sha512-A0QJhug0Ly64Ii3eIqHu5X51ebln3k4yTUkY1j8drqpWHVreg/VLijN48cZ1bYPiqOQuqpkIKnzr/Ul8V+p6Cw==", +      "dev": true, +      "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" +    }, +    "node_modules/chalk": { +      "version": "4.1.2", +      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", +      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", +      "dev": true, +      "license": "MIT", +      "dependencies": { +        "ansi-styles": "^4.1.0", +        "supports-color": "^7.1.0" +      }, +      "engines": { +        "node": ">=10" +      }, +      "funding": { +        "url": "https://github.com/chalk/chalk?sponsor=1" +      } +    }, +    "node_modules/color-convert": { +      "version": "2.0.1", +      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", +      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", +      "dev": true, +      "license": "MIT", +      "dependencies": { +        "color-name": "~1.1.4" +      }, +      "engines": { +        "node": ">=7.0.0" +      } +    }, +    "node_modules/color-name": { +      "version": "1.1.4", +      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", +      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", +      "dev": true, +      "license": "MIT" +    }, +    "node_modules/concat-map": { +      "version": "0.0.1", +      "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", +      "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", +      "dev": true, +      "license": "MIT" +    }, +    "node_modules/convert-source-map": { +      "version": "2.0.0", +      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", +      "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", +      "dev": true, +      "license": "MIT" +    }, +    "node_modules/cross-spawn": { +      "version": "7.0.6", +      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", +      "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", +      "dev": true, +      "license": "MIT", +      "dependencies": { +        "path-key": "^3.1.0", +        "shebang-command": "^2.0.0", +        "which": "^2.0.1" +      }, +      "engines": { +        "node": ">= 8" +      } +    }, +    "node_modules/csstype": { +      "version": "3.1.3", +      "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", +      "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", +      "dev": true, +      "license": "MIT" +    }, +    "node_modules/debug": { +      "version": "4.4.3", +      "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", +      "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", +      "dev": true, +      "license": "MIT", +      "dependencies": { +        "ms": "^2.1.3" +      }, +      "engines": { +        "node": ">=6.0" +      }, +      "peerDependenciesMeta": { +        "supports-color": { +          "optional": true +        } +      } +    }, +    "node_modules/deep-is": { +      "version": "0.1.4", +      "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", +      "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", +      "dev": true, +      "license": "MIT" +    }, +    "node_modules/electron-to-chromium": { +      "version": "1.5.237", +      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.237.tgz", +      "integrity": "sha512-icUt1NvfhGLar5lSWH3tHNzablaA5js3HVHacQimfP8ViEBOQv+L7DKEuHdbTZ0SKCO1ogTJTIL1Gwk9S6Qvcg==", +      "dev": true, +      "license": "ISC" +    }, +    "node_modules/esbuild": { +      "version": "0.25.11", +      "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.11.tgz", +      "integrity": "sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q==", +      "dev": true, +      "hasInstallScript": true, +      "license": "MIT", +      "bin": { +        "esbuild": "bin/esbuild" +      }, +      "engines": { +        "node": ">=18" +      }, +      "optionalDependencies": { +        "@esbuild/aix-ppc64": "0.25.11", +        "@esbuild/android-arm": "0.25.11", +        "@esbuild/android-arm64": "0.25.11", +        "@esbuild/android-x64": "0.25.11", +        "@esbuild/darwin-arm64": "0.25.11", +        "@esbuild/darwin-x64": "0.25.11", +        "@esbuild/freebsd-arm64": "0.25.11", +        "@esbuild/freebsd-x64": "0.25.11", +        "@esbuild/linux-arm": "0.25.11", +        "@esbuild/linux-arm64": "0.25.11", +        "@esbuild/linux-ia32": "0.25.11", +        "@esbuild/linux-loong64": "0.25.11", +        "@esbuild/linux-mips64el": "0.25.11", +        "@esbuild/linux-ppc64": "0.25.11", +        "@esbuild/linux-riscv64": "0.25.11", +        "@esbuild/linux-s390x": "0.25.11", +        "@esbuild/linux-x64": "0.25.11", +        "@esbuild/netbsd-arm64": "0.25.11", +        "@esbuild/netbsd-x64": "0.25.11", +        "@esbuild/openbsd-arm64": "0.25.11", +        "@esbuild/openbsd-x64": "0.25.11", +        "@esbuild/openharmony-arm64": "0.25.11", +        "@esbuild/sunos-x64": "0.25.11", +        "@esbuild/win32-arm64": "0.25.11", +        "@esbuild/win32-ia32": "0.25.11", +        "@esbuild/win32-x64": "0.25.11" +      } +    }, +    "node_modules/escalade": { +      "version": "3.2.0", +      "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", +      "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", +      "dev": true, +      "license": "MIT", +      "engines": { +        "node": ">=6" +      } +    }, +    "node_modules/escape-string-regexp": { +      "version": "4.0.0", +      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", +      "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", +      "dev": true, +      "license": "MIT", +      "engines": { +        "node": ">=10" +      }, +      "funding": { +        "url": "https://github.com/sponsors/sindresorhus" +      } +    }, +    "node_modules/eslint": { +      "version": "9.38.0", +      "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.38.0.tgz", +      "integrity": "sha512-t5aPOpmtJcZcz5UJyY2GbvpDlsK5E8JqRqoKtfiKE3cNh437KIqfJr3A3AKf5k64NPx6d0G3dno6XDY05PqPtw==", +      "dev": true, +      "license": "MIT", +      "peer": true, +      "dependencies": { +        "@eslint-community/eslint-utils": "^4.8.0", +        "@eslint-community/regexpp": "^4.12.1", +        "@eslint/config-array": "^0.21.1", +        "@eslint/config-helpers": "^0.4.1", +        "@eslint/core": "^0.16.0", +        "@eslint/eslintrc": "^3.3.1", +        "@eslint/js": "9.38.0", +        "@eslint/plugin-kit": "^0.4.0", +        "@humanfs/node": "^0.16.6", +        "@humanwhocodes/module-importer": "^1.0.1", +        "@humanwhocodes/retry": "^0.4.2", +        "@types/estree": "^1.0.6", +        "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.4.0", +        "eslint-visitor-keys": "^4.2.1", +        "espree": "^10.4.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" +      }, +      "bin": { +        "eslint": "bin/eslint.js" +      }, +      "engines": { +        "node": "^18.18.0 || ^20.9.0 || >=21.1.0" +      }, +      "funding": { +        "url": "https://eslint.org/donate" +      }, +      "peerDependencies": { +        "jiti": "*" +      }, +      "peerDependenciesMeta": { +        "jiti": { +          "optional": true +        } +      } +    }, +    "node_modules/eslint-plugin-react-hooks": { +      "version": "5.2.0", +      "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz", +      "integrity": "sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==", +      "dev": true, +      "license": "MIT", +      "engines": { +        "node": ">=10" +      }, +      "peerDependencies": { +        "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" +      } +    }, +    "node_modules/eslint-plugin-react-refresh": { +      "version": "0.4.24", +      "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.24.tgz", +      "integrity": "sha512-nLHIW7TEq3aLrEYWpVaJ1dRgFR+wLDPN8e8FpYAql/bMV2oBEfC37K0gLEGgv9fy66juNShSMV8OkTqzltcG/w==", +      "dev": true, +      "license": "MIT", +      "peerDependencies": { +        "eslint": ">=8.40" +      } +    }, +    "node_modules/eslint-scope": { +      "version": "8.4.0", +      "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", +      "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", +      "dev": true, +      "license": "BSD-2-Clause", +      "dependencies": { +        "esrecurse": "^4.3.0", +        "estraverse": "^5.2.0" +      }, +      "engines": { +        "node": "^18.18.0 || ^20.9.0 || >=21.1.0" +      }, +      "funding": { +        "url": "https://opencollective.com/eslint" +      } +    }, +    "node_modules/eslint-visitor-keys": { +      "version": "4.2.1", +      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", +      "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", +      "dev": true, +      "license": "Apache-2.0", +      "engines": { +        "node": "^18.18.0 || ^20.9.0 || >=21.1.0" +      }, +      "funding": { +        "url": "https://opencollective.com/eslint" +      } +    }, +    "node_modules/espree": { +      "version": "10.4.0", +      "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", +      "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", +      "dev": true, +      "license": "BSD-2-Clause", +      "dependencies": { +        "acorn": "^8.15.0", +        "acorn-jsx": "^5.3.2", +        "eslint-visitor-keys": "^4.2.1" +      }, +      "engines": { +        "node": "^18.18.0 || ^20.9.0 || >=21.1.0" +      }, +      "funding": { +        "url": "https://opencollective.com/eslint" +      } +    }, +    "node_modules/esquery": { +      "version": "1.6.0", +      "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", +      "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", +      "dev": true, +      "license": "BSD-3-Clause", +      "dependencies": { +        "estraverse": "^5.1.0" +      }, +      "engines": { +        "node": ">=0.10" +      } +    }, +    "node_modules/esrecurse": { +      "version": "4.3.0", +      "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", +      "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", +      "dev": true, +      "license": "BSD-2-Clause", +      "dependencies": { +        "estraverse": "^5.2.0" +      }, +      "engines": { +        "node": ">=4.0" +      } +    }, +    "node_modules/estraverse": { +      "version": "5.3.0", +      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", +      "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", +      "dev": true, +      "license": "BSD-2-Clause", +      "engines": { +        "node": ">=4.0" +      } +    }, +    "node_modules/esutils": { +      "version": "2.0.3", +      "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", +      "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", +      "dev": true, +      "license": "BSD-2-Clause", +      "engines": { +        "node": ">=0.10.0" +      } +    }, +    "node_modules/fast-deep-equal": { +      "version": "3.1.3", +      "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", +      "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", +      "dev": true, +      "license": "MIT" +    }, +    "node_modules/fast-json-stable-stringify": { +      "version": "2.1.0", +      "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", +      "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", +      "dev": true, +      "license": "MIT" +    }, +    "node_modules/fast-levenshtein": { +      "version": "2.0.6", +      "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", +      "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", +      "dev": true, +      "license": "MIT" +    }, +    "node_modules/fdir": { +      "version": "6.5.0", +      "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", +      "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", +      "dev": true, +      "license": "MIT", +      "engines": { +        "node": ">=12.0.0" +      }, +      "peerDependencies": { +        "picomatch": "^3 || ^4" +      }, +      "peerDependenciesMeta": { +        "picomatch": { +          "optional": true +        } +      } +    }, +    "node_modules/file-entry-cache": { +      "version": "8.0.0", +      "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", +      "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", +      "dev": true, +      "license": "MIT", +      "dependencies": { +        "flat-cache": "^4.0.0" +      }, +      "engines": { +        "node": ">=16.0.0" +      } +    }, +    "node_modules/find-up": { +      "version": "5.0.0", +      "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", +      "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", +      "dev": true, +      "license": "MIT", +      "dependencies": { +        "locate-path": "^6.0.0", +        "path-exists": "^4.0.0" +      }, +      "engines": { +        "node": ">=10" +      }, +      "funding": { +        "url": "https://github.com/sponsors/sindresorhus" +      } +    }, +    "node_modules/flat-cache": { +      "version": "4.0.1", +      "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", +      "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", +      "dev": true, +      "license": "MIT", +      "dependencies": { +        "flatted": "^3.2.9", +        "keyv": "^4.5.4" +      }, +      "engines": { +        "node": ">=16" +      } +    }, +    "node_modules/flatted": { +      "version": "3.3.3", +      "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", +      "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", +      "dev": true, +      "license": "ISC" +    }, +    "node_modules/fsevents": { +      "version": "2.3.3", +      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", +      "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", +      "dev": true, +      "hasInstallScript": true, +      "license": "MIT", +      "optional": true, +      "os": [ +        "darwin" +      ], +      "engines": { +        "node": "^8.16.0 || ^10.6.0 || >=11.0.0" +      } +    }, +    "node_modules/gensync": { +      "version": "1.0.0-beta.2", +      "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", +      "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", +      "dev": true, +      "license": "MIT", +      "engines": { +        "node": ">=6.9.0" +      } +    }, +    "node_modules/glob-parent": { +      "version": "6.0.2", +      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", +      "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", +      "dev": true, +      "license": "ISC", +      "dependencies": { +        "is-glob": "^4.0.3" +      }, +      "engines": { +        "node": ">=10.13.0" +      } +    }, +    "node_modules/globals": { +      "version": "16.4.0", +      "resolved": "https://registry.npmjs.org/globals/-/globals-16.4.0.tgz", +      "integrity": "sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==", +      "dev": true, +      "license": "MIT", +      "engines": { +        "node": ">=18" +      }, +      "funding": { +        "url": "https://github.com/sponsors/sindresorhus" +      } +    }, +    "node_modules/has-flag": { +      "version": "4.0.0", +      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", +      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", +      "dev": true, +      "license": "MIT", +      "engines": { +        "node": ">=8" +      } +    }, +    "node_modules/ignore": { +      "version": "5.3.2", +      "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", +      "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", +      "dev": true, +      "license": "MIT", +      "engines": { +        "node": ">= 4" +      } +    }, +    "node_modules/import-fresh": { +      "version": "3.3.1", +      "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", +      "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", +      "dev": true, +      "license": "MIT", +      "dependencies": { +        "parent-module": "^1.0.0", +        "resolve-from": "^4.0.0" +      }, +      "engines": { +        "node": ">=6" +      }, +      "funding": { +        "url": "https://github.com/sponsors/sindresorhus" +      } +    }, +    "node_modules/imurmurhash": { +      "version": "0.1.4", +      "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", +      "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", +      "dev": true, +      "license": "MIT", +      "engines": { +        "node": ">=0.8.19" +      } +    }, +    "node_modules/is-extglob": { +      "version": "2.1.1", +      "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", +      "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", +      "dev": true, +      "license": "MIT", +      "engines": { +        "node": ">=0.10.0" +      } +    }, +    "node_modules/is-glob": { +      "version": "4.0.3", +      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", +      "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", +      "dev": true, +      "license": "MIT", +      "dependencies": { +        "is-extglob": "^2.1.1" +      }, +      "engines": { +        "node": ">=0.10.0" +      } +    }, +    "node_modules/isexe": { +      "version": "2.0.0", +      "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", +      "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", +      "dev": true, +      "license": "ISC" +    }, +    "node_modules/js-tokens": { +      "version": "4.0.0", +      "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", +      "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", +      "dev": true, +      "license": "MIT" +    }, +    "node_modules/js-yaml": { +      "version": "4.1.0", +      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", +      "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", +      "dev": true, +      "license": "MIT", +      "dependencies": { +        "argparse": "^2.0.1" +      }, +      "bin": { +        "js-yaml": "bin/js-yaml.js" +      } +    }, +    "node_modules/jsesc": { +      "version": "3.1.0", +      "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", +      "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", +      "dev": true, +      "license": "MIT", +      "bin": { +        "jsesc": "bin/jsesc" +      }, +      "engines": { +        "node": ">=6" +      } +    }, +    "node_modules/json-buffer": { +      "version": "3.0.1", +      "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", +      "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", +      "dev": true, +      "license": "MIT" +    }, +    "node_modules/json-schema-traverse": { +      "version": "0.4.1", +      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", +      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", +      "dev": true, +      "license": "MIT" +    }, +    "node_modules/json-stable-stringify-without-jsonify": { +      "version": "1.0.1", +      "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", +      "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", +      "dev": true, +      "license": "MIT" +    }, +    "node_modules/json5": { +      "version": "2.2.3", +      "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", +      "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", +      "dev": true, +      "license": "MIT", +      "bin": { +        "json5": "lib/cli.js" +      }, +      "engines": { +        "node": ">=6" +      } +    }, +    "node_modules/keyv": { +      "version": "4.5.4", +      "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", +      "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", +      "dev": true, +      "license": "MIT", +      "dependencies": { +        "json-buffer": "3.0.1" +      } +    }, +    "node_modules/levn": { +      "version": "0.4.1", +      "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", +      "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", +      "dev": true, +      "license": "MIT", +      "dependencies": { +        "prelude-ls": "^1.2.1", +        "type-check": "~0.4.0" +      }, +      "engines": { +        "node": ">= 0.8.0" +      } +    }, +    "node_modules/locate-path": { +      "version": "6.0.0", +      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", +      "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", +      "dev": true, +      "license": "MIT", +      "dependencies": { +        "p-locate": "^5.0.0" +      }, +      "engines": { +        "node": ">=10" +      }, +      "funding": { +        "url": "https://github.com/sponsors/sindresorhus" +      } +    }, +    "node_modules/lodash.merge": { +      "version": "4.6.2", +      "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", +      "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", +      "dev": true, +      "license": "MIT" +    }, +    "node_modules/lru-cache": { +      "version": "5.1.1", +      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", +      "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", +      "dev": true, +      "license": "ISC", +      "dependencies": { +        "yallist": "^3.0.2" +      } +    }, +    "node_modules/minimatch": { +      "version": "3.1.2", +      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", +      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", +      "dev": true, +      "license": "ISC", +      "dependencies": { +        "brace-expansion": "^1.1.7" +      }, +      "engines": { +        "node": "*" +      } +    }, +    "node_modules/ms": { +      "version": "2.1.3", +      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", +      "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", +      "dev": true, +      "license": "MIT" +    }, +    "node_modules/nanoid": { +      "version": "3.3.11", +      "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", +      "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", +      "dev": true, +      "funding": [ +        { +          "type": "github", +          "url": "https://github.com/sponsors/ai" +        } +      ], +      "license": "MIT", +      "bin": { +        "nanoid": "bin/nanoid.cjs" +      }, +      "engines": { +        "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" +      } +    }, +    "node_modules/natural-compare": { +      "version": "1.4.0", +      "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", +      "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", +      "dev": true, +      "license": "MIT" +    }, +    "node_modules/node-releases": { +      "version": "2.0.25", +      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.25.tgz", +      "integrity": "sha512-4auku8B/vw5psvTiiN9j1dAOsXvMoGqJuKJcR+dTdqiXEK20mMTk1UEo3HS16LeGQsVG6+qKTPM9u/qQ2LqATA==", +      "dev": true, +      "license": "MIT" +    }, +    "node_modules/optionator": { +      "version": "0.9.4", +      "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", +      "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", +      "dev": true, +      "license": "MIT", +      "dependencies": { +        "deep-is": "^0.1.3", +        "fast-levenshtein": "^2.0.6", +        "levn": "^0.4.1", +        "prelude-ls": "^1.2.1", +        "type-check": "^0.4.0", +        "word-wrap": "^1.2.5" +      }, +      "engines": { +        "node": ">= 0.8.0" +      } +    }, +    "node_modules/p-limit": { +      "version": "3.1.0", +      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", +      "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", +      "dev": true, +      "license": "MIT", +      "dependencies": { +        "yocto-queue": "^0.1.0" +      }, +      "engines": { +        "node": ">=10" +      }, +      "funding": { +        "url": "https://github.com/sponsors/sindresorhus" +      } +    }, +    "node_modules/p-locate": { +      "version": "5.0.0", +      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", +      "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", +      "dev": true, +      "license": "MIT", +      "dependencies": { +        "p-limit": "^3.0.2" +      }, +      "engines": { +        "node": ">=10" +      }, +      "funding": { +        "url": "https://github.com/sponsors/sindresorhus" +      } +    }, +    "node_modules/parent-module": { +      "version": "1.0.1", +      "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", +      "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", +      "dev": true, +      "license": "MIT", +      "dependencies": { +        "callsites": "^3.0.0" +      }, +      "engines": { +        "node": ">=6" +      } +    }, +    "node_modules/path-exists": { +      "version": "4.0.0", +      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", +      "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", +      "dev": true, +      "license": "MIT", +      "engines": { +        "node": ">=8" +      } +    }, +    "node_modules/path-key": { +      "version": "3.1.1", +      "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", +      "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", +      "dev": true, +      "license": "MIT", +      "engines": { +        "node": ">=8" +      } +    }, +    "node_modules/picocolors": { +      "version": "1.1.1", +      "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", +      "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", +      "dev": true, +      "license": "ISC" +    }, +    "node_modules/picomatch": { +      "version": "4.0.3", +      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", +      "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", +      "dev": true, +      "license": "MIT", +      "peer": true, +      "engines": { +        "node": ">=12" +      }, +      "funding": { +        "url": "https://github.com/sponsors/jonschlinkert" +      } +    }, +    "node_modules/postcss": { +      "version": "8.5.6", +      "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", +      "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", +      "dev": true, +      "funding": [ +        { +          "type": "opencollective", +          "url": "https://opencollective.com/postcss/" +        }, +        { +          "type": "tidelift", +          "url": "https://tidelift.com/funding/github/npm/postcss" +        }, +        { +          "type": "github", +          "url": "https://github.com/sponsors/ai" +        } +      ], +      "license": "MIT", +      "dependencies": { +        "nanoid": "^3.3.11", +        "picocolors": "^1.1.1", +        "source-map-js": "^1.2.1" +      }, +      "engines": { +        "node": "^10 || ^12 || >=14" +      } +    }, +    "node_modules/prelude-ls": { +      "version": "1.2.1", +      "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", +      "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", +      "dev": true, +      "license": "MIT", +      "engines": { +        "node": ">= 0.8.0" +      } +    }, +    "node_modules/punycode": { +      "version": "2.3.1", +      "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", +      "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", +      "dev": true, +      "license": "MIT", +      "engines": { +        "node": ">=6" +      } +    }, +    "node_modules/react": { +      "version": "19.2.0", +      "resolved": "https://registry.npmjs.org/react/-/react-19.2.0.tgz", +      "integrity": "sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==", +      "license": "MIT", +      "peer": true, +      "engines": { +        "node": ">=0.10.0" +      } +    }, +    "node_modules/react-dom": { +      "version": "19.2.0", +      "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.0.tgz", +      "integrity": "sha512-UlbRu4cAiGaIewkPyiRGJk0imDN2T3JjieT6spoL2UeSf5od4n5LB/mQ4ejmxhCFT1tYe8IvaFulzynWovsEFQ==", +      "license": "MIT", +      "dependencies": { +        "scheduler": "^0.27.0" +      }, +      "peerDependencies": { +        "react": "^19.2.0" +      } +    }, +    "node_modules/react-refresh": { +      "version": "0.17.0", +      "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz", +      "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==", +      "dev": true, +      "license": "MIT", +      "engines": { +        "node": ">=0.10.0" +      } +    }, +    "node_modules/resolve-from": { +      "version": "4.0.0", +      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", +      "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", +      "dev": true, +      "license": "MIT", +      "engines": { +        "node": ">=4" +      } +    }, +    "node_modules/rollup": { +      "version": "4.52.5", +      "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.52.5.tgz", +      "integrity": "sha512-3GuObel8h7Kqdjt0gxkEzaifHTqLVW56Y/bjN7PSQtkKr0w3V/QYSdt6QWYtd7A1xUtYQigtdUfgj1RvWVtorw==", +      "dev": true, +      "license": "MIT", +      "dependencies": { +        "@types/estree": "1.0.8" +      }, +      "bin": { +        "rollup": "dist/bin/rollup" +      }, +      "engines": { +        "node": ">=18.0.0", +        "npm": ">=8.0.0" +      }, +      "optionalDependencies": { +        "@rollup/rollup-android-arm-eabi": "4.52.5", +        "@rollup/rollup-android-arm64": "4.52.5", +        "@rollup/rollup-darwin-arm64": "4.52.5", +        "@rollup/rollup-darwin-x64": "4.52.5", +        "@rollup/rollup-freebsd-arm64": "4.52.5", +        "@rollup/rollup-freebsd-x64": "4.52.5", +        "@rollup/rollup-linux-arm-gnueabihf": "4.52.5", +        "@rollup/rollup-linux-arm-musleabihf": "4.52.5", +        "@rollup/rollup-linux-arm64-gnu": "4.52.5", +        "@rollup/rollup-linux-arm64-musl": "4.52.5", +        "@rollup/rollup-linux-loong64-gnu": "4.52.5", +        "@rollup/rollup-linux-ppc64-gnu": "4.52.5", +        "@rollup/rollup-linux-riscv64-gnu": "4.52.5", +        "@rollup/rollup-linux-riscv64-musl": "4.52.5", +        "@rollup/rollup-linux-s390x-gnu": "4.52.5", +        "@rollup/rollup-linux-x64-gnu": "4.52.5", +        "@rollup/rollup-linux-x64-musl": "4.52.5", +        "@rollup/rollup-openharmony-arm64": "4.52.5", +        "@rollup/rollup-win32-arm64-msvc": "4.52.5", +        "@rollup/rollup-win32-ia32-msvc": "4.52.5", +        "@rollup/rollup-win32-x64-gnu": "4.52.5", +        "@rollup/rollup-win32-x64-msvc": "4.52.5", +        "fsevents": "~2.3.2" +      } +    }, +    "node_modules/scheduler": { +      "version": "0.27.0", +      "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", +      "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", +      "license": "MIT" +    }, +    "node_modules/semver": { +      "version": "6.3.1", +      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", +      "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", +      "dev": true, +      "license": "ISC", +      "bin": { +        "semver": "bin/semver.js" +      } +    }, +    "node_modules/shebang-command": { +      "version": "2.0.0", +      "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", +      "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", +      "dev": true, +      "license": "MIT", +      "dependencies": { +        "shebang-regex": "^3.0.0" +      }, +      "engines": { +        "node": ">=8" +      } +    }, +    "node_modules/shebang-regex": { +      "version": "3.0.0", +      "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", +      "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", +      "dev": true, +      "license": "MIT", +      "engines": { +        "node": ">=8" +      } +    }, +    "node_modules/source-map-js": { +      "version": "1.2.1", +      "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", +      "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", +      "dev": true, +      "license": "BSD-3-Clause", +      "engines": { +        "node": ">=0.10.0" +      } +    }, +    "node_modules/strip-json-comments": { +      "version": "3.1.1", +      "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", +      "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", +      "dev": true, +      "license": "MIT", +      "engines": { +        "node": ">=8" +      }, +      "funding": { +        "url": "https://github.com/sponsors/sindresorhus" +      } +    }, +    "node_modules/supports-color": { +      "version": "7.2.0", +      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", +      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", +      "dev": true, +      "license": "MIT", +      "dependencies": { +        "has-flag": "^4.0.0" +      }, +      "engines": { +        "node": ">=8" +      } +    }, +    "node_modules/tinyglobby": { +      "version": "0.2.15", +      "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", +      "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", +      "dev": true, +      "license": "MIT", +      "dependencies": { +        "fdir": "^6.5.0", +        "picomatch": "^4.0.3" +      }, +      "engines": { +        "node": ">=12.0.0" +      }, +      "funding": { +        "url": "https://github.com/sponsors/SuperchupuDev" +      } +    }, +    "node_modules/type-check": { +      "version": "0.4.0", +      "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", +      "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", +      "dev": true, +      "license": "MIT", +      "dependencies": { +        "prelude-ls": "^1.2.1" +      }, +      "engines": { +        "node": ">= 0.8.0" +      } +    }, +    "node_modules/update-browserslist-db": { +      "version": "1.1.3", +      "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", +      "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", +      "dev": true, +      "funding": [ +        { +          "type": "opencollective", +          "url": "https://opencollective.com/browserslist" +        }, +        { +          "type": "tidelift", +          "url": "https://tidelift.com/funding/github/npm/browserslist" +        }, +        { +          "type": "github", +          "url": "https://github.com/sponsors/ai" +        } +      ], +      "license": "MIT", +      "dependencies": { +        "escalade": "^3.2.0", +        "picocolors": "^1.1.1" +      }, +      "bin": { +        "update-browserslist-db": "cli.js" +      }, +      "peerDependencies": { +        "browserslist": ">= 4.21.0" +      } +    }, +    "node_modules/uri-js": { +      "version": "4.4.1", +      "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", +      "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", +      "dev": true, +      "license": "BSD-2-Clause", +      "dependencies": { +        "punycode": "^2.1.0" +      } +    }, +    "node_modules/vite": { +      "version": "7.1.10", +      "resolved": "https://registry.npmjs.org/vite/-/vite-7.1.10.tgz", +      "integrity": "sha512-CmuvUBzVJ/e3HGxhg6cYk88NGgTnBoOo7ogtfJJ0fefUWAxN/WDSUa50o+oVBxuIhO8FoEZW0j2eW7sfjs5EtA==", +      "dev": true, +      "license": "MIT", +      "peer": true, +      "dependencies": { +        "esbuild": "^0.25.0", +        "fdir": "^6.5.0", +        "picomatch": "^4.0.3", +        "postcss": "^8.5.6", +        "rollup": "^4.43.0", +        "tinyglobby": "^0.2.15" +      }, +      "bin": { +        "vite": "bin/vite.js" +      }, +      "engines": { +        "node": "^20.19.0 || >=22.12.0" +      }, +      "funding": { +        "url": "https://github.com/vitejs/vite?sponsor=1" +      }, +      "optionalDependencies": { +        "fsevents": "~2.3.3" +      }, +      "peerDependencies": { +        "@types/node": "^20.19.0 || >=22.12.0", +        "jiti": ">=1.21.0", +        "less": "^4.0.0", +        "lightningcss": "^1.21.0", +        "sass": "^1.70.0", +        "sass-embedded": "^1.70.0", +        "stylus": ">=0.54.8", +        "sugarss": "^5.0.0", +        "terser": "^5.16.0", +        "tsx": "^4.8.1", +        "yaml": "^2.4.2" +      }, +      "peerDependenciesMeta": { +        "@types/node": { +          "optional": true +        }, +        "jiti": { +          "optional": true +        }, +        "less": { +          "optional": true +        }, +        "lightningcss": { +          "optional": true +        }, +        "sass": { +          "optional": true +        }, +        "sass-embedded": { +          "optional": true +        }, +        "stylus": { +          "optional": true +        }, +        "sugarss": { +          "optional": true +        }, +        "terser": { +          "optional": true +        }, +        "tsx": { +          "optional": true +        }, +        "yaml": { +          "optional": true +        } +      } +    }, +    "node_modules/which": { +      "version": "2.0.2", +      "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", +      "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", +      "dev": true, +      "license": "ISC", +      "dependencies": { +        "isexe": "^2.0.0" +      }, +      "bin": { +        "node-which": "bin/node-which" +      }, +      "engines": { +        "node": ">= 8" +      } +    }, +    "node_modules/word-wrap": { +      "version": "1.2.5", +      "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", +      "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", +      "dev": true, +      "license": "MIT", +      "engines": { +        "node": ">=0.10.0" +      } +    }, +    "node_modules/yallist": { +      "version": "3.1.1", +      "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", +      "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", +      "dev": true, +      "license": "ISC" +    }, +    "node_modules/yocto-queue": { +      "version": "0.1.0", +      "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", +      "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", +      "dev": true, +      "license": "MIT", +      "engines": { +        "node": ">=10" +      }, +      "funding": { +        "url": "https://github.com/sponsors/sindresorhus" +      } +    } +  } +} diff --git a/web_page/webpage-shorlink/package.json b/web_page/webpage-shorlink/package.json new file mode 100644 index 0000000..8b46c16 --- /dev/null +++ b/web_page/webpage-shorlink/package.json @@ -0,0 +1,27 @@ +{ +  "name": "webpage-shorlink", +  "private": true, +  "version": "0.0.0", +  "type": "module", +  "scripts": { +    "dev": "vite", +    "build": "vite build", +    "lint": "eslint .", +    "preview": "vite preview" +  }, +  "dependencies": { +    "react": "^19.1.1", +    "react-dom": "^19.1.1" +  }, +  "devDependencies": { +    "@eslint/js": "^9.36.0", +    "@types/react": "^19.1.16", +    "@types/react-dom": "^19.1.9", +    "@vitejs/plugin-react": "^5.0.4", +    "eslint": "^9.36.0", +    "eslint-plugin-react-hooks": "^5.2.0", +    "eslint-plugin-react-refresh": "^0.4.22", +    "globals": "^16.4.0", +    "vite": "^7.1.7" +  } +} diff --git a/web_page/webpage-shorlink/public/icon.jpg b/web_page/webpage-shorlink/public/icon.jpgBinary files differ new file mode 100644 index 0000000..c2c19b8 --- /dev/null +++ b/web_page/webpage-shorlink/public/icon.jpg diff --git a/web_page/webpage-shorlink/public/vite.svg b/web_page/webpage-shorlink/public/vite.svg new file mode 100644 index 0000000..e7b8dfb --- /dev/null +++ b/web_page/webpage-shorlink/public/vite.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>
\ No newline at end of file diff --git a/web_page/webpage-shorlink/src/App.css b/web_page/webpage-shorlink/src/App.css new file mode 100644 index 0000000..b9d355d --- /dev/null +++ b/web_page/webpage-shorlink/src/App.css @@ -0,0 +1,42 @@ +#root { +  max-width: 1280px; +  margin: 0 auto; +  padding: 2rem; +  text-align: center; +} + +.logo { +  height: 6em; +  padding: 1.5em; +  will-change: filter; +  transition: filter 300ms; +} +.logo:hover { +  filter: drop-shadow(0 0 2em #646cffaa); +} +.logo.react:hover { +  filter: drop-shadow(0 0 2em #61dafbaa); +} + +@keyframes logo-spin { +  from { +    transform: rotate(0deg); +  } +  to { +    transform: rotate(360deg); +  } +} + +@media (prefers-reduced-motion: no-preference) { +  a:nth-of-type(2) .logo { +    animation: logo-spin infinite 20s linear; +  } +} + +.card { +  padding: 2em; +} + +.read-the-docs { +  color: #888; +} diff --git a/web_page/webpage-shorlink/src/App.jsx b/web_page/webpage-shorlink/src/App.jsx new file mode 100644 index 0000000..f67355a --- /dev/null +++ b/web_page/webpage-shorlink/src/App.jsx @@ -0,0 +1,35 @@ +import { useState } from 'react' +import reactLogo from './assets/react.svg' +import viteLogo from '/vite.svg' +import './App.css' + +function App() { +  const [count, setCount] = useState(0) + +  return ( +    <> +      <div> +        <a href="https://vite.dev" target="_blank"> +          <img src={viteLogo} className="logo" alt="Vite logo" /> +        </a> +        <a href="https://react.dev" target="_blank"> +          <img src={reactLogo} className="logo react" alt="React logo" /> +        </a> +      </div> +      <h1>Vite + React</h1> +      <div className="card"> +        <button onClick={() => setCount((count) => count + 1)}> +          count is {count} +        </button> +        <p> +          Edit <code>src/App.jsx</code> and save to test HMR +        </p> +      </div> +      <p className="read-the-docs"> +        Click on the Vite and React logos to learn more +      </p> +    </> +  ) +} + +export default App diff --git a/web_page/webpage-shorlink/src/assets/react.svg b/web_page/webpage-shorlink/src/assets/react.svg new file mode 100644 index 0000000..6c87de9 --- /dev/null +++ b/web_page/webpage-shorlink/src/assets/react.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="35.93" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 228"><path fill="#00D8FF" d="M210.483 73.824a171.49 171.49 0 0 0-8.24-2.597c.465-1.9.893-3.777 1.273-5.621c6.238-30.281 2.16-54.676-11.769-62.708c-13.355-7.7-35.196.329-57.254 19.526a171.23 171.23 0 0 0-6.375 5.848a155.866 155.866 0 0 0-4.241-3.917C100.759 3.829 77.587-4.822 63.673 3.233C50.33 10.957 46.379 33.89 51.995 62.588a170.974 170.974 0 0 0 1.892 8.48c-3.28.932-6.445 1.924-9.474 2.98C17.309 83.498 0 98.307 0 113.668c0 15.865 18.582 31.778 46.812 41.427a145.52 145.52 0 0 0 6.921 2.165a167.467 167.467 0 0 0-2.01 9.138c-5.354 28.2-1.173 50.591 12.134 58.266c13.744 7.926 36.812-.22 59.273-19.855a145.567 145.567 0 0 0 5.342-4.923a168.064 168.064 0 0 0 6.92 6.314c21.758 18.722 43.246 26.282 56.54 18.586c13.731-7.949 18.194-32.003 12.4-61.268a145.016 145.016 0 0 0-1.535-6.842c1.62-.48 3.21-.974 4.76-1.488c29.348-9.723 48.443-25.443 48.443-41.52c0-15.417-17.868-30.326-45.517-39.844Zm-6.365 70.984c-1.4.463-2.836.91-4.3 1.345c-3.24-10.257-7.612-21.163-12.963-32.432c5.106-11 9.31-21.767 12.459-31.957c2.619.758 5.16 1.557 7.61 2.4c23.69 8.156 38.14 20.213 38.14 29.504c0 9.896-15.606 22.743-40.946 31.14Zm-10.514 20.834c2.562 12.94 2.927 24.64 1.23 33.787c-1.524 8.219-4.59 13.698-8.382 15.893c-8.067 4.67-25.32-1.4-43.927-17.412a156.726 156.726 0 0 1-6.437-5.87c7.214-7.889 14.423-17.06 21.459-27.246c12.376-1.098 24.068-2.894 34.671-5.345a134.17 134.17 0 0 1 1.386 6.193ZM87.276 214.515c-7.882 2.783-14.16 2.863-17.955.675c-8.075-4.657-11.432-22.636-6.853-46.752a156.923 156.923 0 0 1 1.869-8.499c10.486 2.32 22.093 3.988 34.498 4.994c7.084 9.967 14.501 19.128 21.976 27.15a134.668 134.668 0 0 1-4.877 4.492c-9.933 8.682-19.886 14.842-28.658 17.94ZM50.35 144.747c-12.483-4.267-22.792-9.812-29.858-15.863c-6.35-5.437-9.555-10.836-9.555-15.216c0-9.322 13.897-21.212 37.076-29.293c2.813-.98 5.757-1.905 8.812-2.773c3.204 10.42 7.406 21.315 12.477 32.332c-5.137 11.18-9.399 22.249-12.634 32.792a134.718 134.718 0 0 1-6.318-1.979Zm12.378-84.26c-4.811-24.587-1.616-43.134 6.425-47.789c8.564-4.958 27.502 2.111 47.463 19.835a144.318 144.318 0 0 1 3.841 3.545c-7.438 7.987-14.787 17.08-21.808 26.988c-12.04 1.116-23.565 2.908-34.161 5.309a160.342 160.342 0 0 1-1.76-7.887Zm110.427 27.268a347.8 347.8 0 0 0-7.785-12.803c8.168 1.033 15.994 2.404 23.343 4.08c-2.206 7.072-4.956 14.465-8.193 22.045a381.151 381.151 0 0 0-7.365-13.322Zm-45.032-43.861c5.044 5.465 10.096 11.566 15.065 18.186a322.04 322.04 0 0 0-30.257-.006c4.974-6.559 10.069-12.652 15.192-18.18ZM82.802 87.83a323.167 323.167 0 0 0-7.227 13.238c-3.184-7.553-5.909-14.98-8.134-22.152c7.304-1.634 15.093-2.97 23.209-3.984a321.524 321.524 0 0 0-7.848 12.897Zm8.081 65.352c-8.385-.936-16.291-2.203-23.593-3.793c2.26-7.3 5.045-14.885 8.298-22.6a321.187 321.187 0 0 0 7.257 13.246c2.594 4.48 5.28 8.868 8.038 13.147Zm37.542 31.03c-5.184-5.592-10.354-11.779-15.403-18.433c4.902.192 9.899.29 14.978.29c5.218 0 10.376-.117 15.453-.343c-4.985 6.774-10.018 12.97-15.028 18.486Zm52.198-57.817c3.422 7.8 6.306 15.345 8.596 22.52c-7.422 1.694-15.436 3.058-23.88 4.071a382.417 382.417 0 0 0 7.859-13.026a347.403 347.403 0 0 0 7.425-13.565Zm-16.898 8.101a358.557 358.557 0 0 1-12.281 19.815a329.4 329.4 0 0 1-23.444.823c-7.967 0-15.716-.248-23.178-.732a310.202 310.202 0 0 1-12.513-19.846h.001a307.41 307.41 0 0 1-10.923-20.627a310.278 310.278 0 0 1 10.89-20.637l-.001.001a307.318 307.318 0 0 1 12.413-19.761c7.613-.576 15.42-.876 23.31-.876H128c7.926 0 15.743.303 23.354.883a329.357 329.357 0 0 1 12.335 19.695a358.489 358.489 0 0 1 11.036 20.54a329.472 329.472 0 0 1-11 20.722Zm22.56-122.124c8.572 4.944 11.906 24.881 6.52 51.026c-.344 1.668-.73 3.367-1.15 5.09c-10.622-2.452-22.155-4.275-34.23-5.408c-7.034-10.017-14.323-19.124-21.64-27.008a160.789 160.789 0 0 1 5.888-5.4c18.9-16.447 36.564-22.941 44.612-18.3ZM128 90.808c12.625 0 22.86 10.235 22.86 22.86s-10.235 22.86-22.86 22.86s-22.86-10.235-22.86-22.86s10.235-22.86 22.86-22.86Z"></path></svg>
\ No newline at end of file diff --git a/web_page/webpage-shorlink/src/components/AddUrl.css b/web_page/webpage-shorlink/src/components/AddUrl.css new file mode 100644 index 0000000..e11e6eb --- /dev/null +++ b/web_page/webpage-shorlink/src/components/AddUrl.css @@ -0,0 +1,61 @@ +* { +  background-color: #282828; +} +#root { +  max-width: 1280px; +  margin: 0 auto; +  padding: 2rem; +  text-align: center; +  display: flex; +  justify-content: center; +} + +#title { +  color: #ebdbb2; +  display: flex; +  justify-content: center; +  align-items: center; +  border-style: solid; +  text-align: center; +  border-radius: 20px; +  width: 640px; +  height: 64px; +} + +#id-form { +  color: #ebdbb2; +  border-style: solid; +  display: flex; +  justify-content: space-between; +  align-items: center; +  flex-direction: column; +  padding: 10px; +  border-radius: 20px; +} + +#btn1 { +  color: #ebdbb2; +  background-color: #689d6a; +  height: 48px; +  width: 88px; +  font-size: 24px; +  border-radius: 20px; +  border-color: #ebdbb2; +} + +#btn1:hover { +  background-color: #83a598; +  cursor: pointer; +} + +#id-label { +  font-size: 24px; +  height: 48px; +} + +#inp { +  color: #ebdbb2; +  border-color: #ebdbb2; +  border-radius: 10px; +  font-size: 24px; +} diff --git a/web_page/webpage-shorlink/src/components/AddUrl.jsx b/web_page/webpage-shorlink/src/components/AddUrl.jsx new file mode 100644 index 0000000..1112459 --- /dev/null +++ b/web_page/webpage-shorlink/src/components/AddUrl.jsx @@ -0,0 +1,51 @@ +import "./AddUrl.css"; + +function AddUrl({ setShort }) { +  return ( +    <div> +      <h1 id="title">ENCURTADOR DE URL</h1> +      <form +        id="id-form" +        method="post" +        onSubmit={(e) => { +          e.preventDefault(); + +          const form = e.target; +          const formData = new FormData(form); +          const formJson = Object.fromEntries(formData.entries()); +          let data = formJson["url"]; + +          fetch("https://sl.azuminha.com/add/" + encodeURIComponent(data)) +            .then((response) => { +              if (!response.ok) { +                throw new Error("Network response was not ok"); +              } +              return response.text(); +            }) +            .then((result) => { +              console.log(result); +              setShort("sl.azuminha.com/" + result); +              //const res = document.createElement("p"); +              //res.textContent = data + " => " + "sl.azuminha.com/" + result; +              //document.body.appendChild(res); +            }); +        }} +      > +        <label id="id-label"> +          URL: +          <input name="url" id="inp" type="text" /> +        </label> +        <button +          id="btn1" +          onClick={() => { +            console.log("OLA"); +          }} +        > +          enviar +        </button> +      </form> +    </div> +  ); +} + +export default AddUrl; diff --git a/web_page/webpage-shorlink/src/components/ShowUrl.css b/web_page/webpage-shorlink/src/components/ShowUrl.css new file mode 100644 index 0000000..a7a9d1c --- /dev/null +++ b/web_page/webpage-shorlink/src/components/ShowUrl.css @@ -0,0 +1,9 @@ +p { +  color: #ebdbb2; +  font-size: 24px; +} + +p:hover { +  color: #83a598; +  cursor: pointer; +} diff --git a/web_page/webpage-shorlink/src/components/ShowUrl.jsx b/web_page/webpage-shorlink/src/components/ShowUrl.jsx new file mode 100644 index 0000000..d063c5e --- /dev/null +++ b/web_page/webpage-shorlink/src/components/ShowUrl.jsx @@ -0,0 +1,22 @@ +import { useState } from "react"; +import AddUrl from "./AddUrl"; +import "./ShowUrl.css"; + +function ShowUrl() { +  const [short, setShort] = useState(); +  return ( +    <div> +      <AddUrl setShort={setShort} /> +      <p +        onClick={() => { +          navigator.clipboard.writeText(short); +          alert("Link copiado"); +        }} +      > +        {short} +      </p> +    </div> +  ); +} + +export default ShowUrl; diff --git a/web_page/webpage-shorlink/src/index.css b/web_page/webpage-shorlink/src/index.css new file mode 100644 index 0000000..08a3ac9 --- /dev/null +++ b/web_page/webpage-shorlink/src/index.css @@ -0,0 +1,68 @@ +:root { +  font-family: system-ui, Avenir, Helvetica, Arial, sans-serif; +  line-height: 1.5; +  font-weight: 400; + +  color-scheme: light dark; +  color: rgba(255, 255, 255, 0.87); +  background-color: #242424; + +  font-synthesis: none; +  text-rendering: optimizeLegibility; +  -webkit-font-smoothing: antialiased; +  -moz-osx-font-smoothing: grayscale; +} + +a { +  font-weight: 500; +  color: #646cff; +  text-decoration: inherit; +} +a:hover { +  color: #535bf2; +} + +body { +  margin: 0; +  display: flex; +  place-items: center; +  min-width: 320px; +  min-height: 100vh; +} + +h1 { +  font-size: 3.2em; +  line-height: 1.1; +} + +button { +  border-radius: 8px; +  border: 1px solid transparent; +  padding: 0.6em 1.2em; +  font-size: 1em; +  font-weight: 500; +  font-family: inherit; +  background-color: #1a1a1a; +  cursor: pointer; +  transition: border-color 0.25s; +} +button:hover { +  border-color: #646cff; +} +button:focus, +button:focus-visible { +  outline: 4px auto -webkit-focus-ring-color; +} + +@media (prefers-color-scheme: light) { +  :root { +    color: #213547; +    background-color: #ffffff; +  } +  a:hover { +    color: #747bff; +  } +  button { +    background-color: #f9f9f9; +  } +} diff --git a/web_page/webpage-shorlink/src/main.jsx b/web_page/webpage-shorlink/src/main.jsx new file mode 100644 index 0000000..94c3c6c --- /dev/null +++ b/web_page/webpage-shorlink/src/main.jsx @@ -0,0 +1,12 @@ +import { StrictMode } from "react"; +import { createRoot } from "react-dom/client"; +//import "./index.css"; +//import App from "./App.jsx"; +import AddUrl from "./components/AddUrl.jsx"; +import ShowUrl from "./components/ShowUrl.jsx"; + +createRoot(document.getElementById("root")).render( +  <StrictMode> +    <ShowUrl /> +  </StrictMode> +); diff --git a/web_page/webpage-shorlink/vite.config.js b/web_page/webpage-shorlink/vite.config.js new file mode 100644 index 0000000..ada1544 --- /dev/null +++ b/web_page/webpage-shorlink/vite.config.js @@ -0,0 +1,10 @@ +import { defineConfig } from "vite"; +import react from "@vitejs/plugin-react"; + +// https://vite.dev/config/ +export default defineConfig({ +  plugins: [react()], +  server: { +    port: 5556, +  }, +}); | 
