├── .editorconfig
├── .github
└── FUNDING.yml
├── .gitignore
├── LICENSE
├── README.md
├── components
├── ChromeIcon.tsx
├── Coords.tsx
├── FirefoxIcon.tsx
├── InstallExtension.tsx
├── NoSSR.tsx
├── SettingsIcon.tsx
└── WeatherSettings.tsx
├── extension
├── assets
│ ├── icon48.png
│ └── icon96.png
├── manifest.chrome.json
└── manifest.firefox.json
├── next-env.d.ts
├── next.config.js
├── package.json
├── pages
├── _app.tsx
├── _document.tsx
└── index.tsx
├── pnpm-lock.yaml
├── tsconfig.json
├── types
└── Weather.ts
└── utils
└── geolocation.ts
/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*.ts]
4 | indent_style = space
5 | indent_size = 2
--------------------------------------------------------------------------------
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | github: [dustinrouillard]
2 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # next.js
12 | /.next/
13 | /out/
14 |
15 | # production
16 | /dist
17 | /build
18 |
19 | # misc
20 | .DS_Store
21 |
22 | # debug
23 | npm-debug.log*
24 | yarn-debug.log*
25 | yarn-error.log*
26 |
27 | # local env files
28 | .env.local
29 | .env.development.local
30 | .env.test.local
31 | .env.production.local
32 |
33 | .vercel
34 |
35 | web-ext-artifacts/
36 | extension/html
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License Copyright (c) 2021 Dustin Rouillard
2 |
3 | Permission is hereby granted,
4 | free of charge, to any person obtaining a copy of this software and associated
5 | documentation files (the "Software"), to deal in the Software without
6 | restriction, including without limitation the rights to use, copy, modify, merge,
7 | publish, distribute, sublicense, and/or sell copies of the Software, and to
8 | permit persons to whom the Software is furnished to do so, subject to the
9 | following conditions:
10 |
11 | The above copyright notice and this permission notice
12 | (including the next paragraph) shall be included in all copies or substantial
13 | portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
16 | ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
18 | EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
19 | OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | THE SOFTWARE.
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Tabatha New Tab
2 |
3 | This is a Firefox addon and a Chrome extension that replaces the current new tab and homepage with a sleek flat black design.
4 |
5 | The settings modal is a bit crude, but it gets the job done for enabling/disabling and configuring the temperature display.
6 |
7 | ## View a demo
8 |
9 | There is a hosted copy of the same application that runs in the extension hosted on [tab.dstn.to](https://tab.dstn.to) if you would like to see what it looks like.
10 |
11 | ## Preview
12 |
13 | Here is the screenshots, using Tabatha, as well as my minimal [Lights Out](https://dstn.to/lights-out-firefox) theme (Chrome version of Lights Out theme coming soon)
14 |
15 | Firefox | Chrome
16 | :-------------------------:|:-------------------------:
17 |  | 
18 |
19 | ## Downloads
20 |
21 | **Firefox** : [Addon Store](https://dstn.to/tab-firefox)\
22 | **Chrome** : [Chrome Webstore](https://dstn.to/tab-chrome)
23 |
24 | ## Running
25 |
26 | To run the extension yourself clone it, install the packages by running `yarn` in the project root, then run `yarn dev` and it will proceed to run the extension in a test firefox instance.
27 |
--------------------------------------------------------------------------------
/components/ChromeIcon.tsx:
--------------------------------------------------------------------------------
1 | export function ChromeIcon(props) {
2 | return (
3 |
27 | );
28 | }
29 |
--------------------------------------------------------------------------------
/components/Coords.tsx:
--------------------------------------------------------------------------------
1 | import { useState } from "react";
2 | import styled from "styled-components";
3 |
4 | export function Coordnates(props: { coords: { lat: number; lon: number } }) {
5 | const [showingCoords, setShowingCoords] = useState(false);
6 |
7 | return (
8 |
9 | {props.coords.lat && props.coords.lon
10 | ? `Current location is set.`
11 | : "Current location is not set."}
12 | {showingCoords && ` (${props.coords.lat}, ${props.coords.lon})`}
13 | {props.coords.lat && props.coords.lon ? (
14 | setShowingCoords(!showingCoords)}>
15 | {showingCoords ? "Hide" : "Show"}
16 |
17 | ) : (
18 | <>>
19 | )}
20 |
21 | );
22 | }
23 |
24 | const ShowButton = styled.p`
25 | margin: 0;
26 | margin-left: 5px;
27 | opacity: 0.5;
28 | user-select: none;
29 |
30 | :hover {
31 | opacity: 0.4;
32 | cursor: pointer;
33 | }
34 | `;
35 |
36 | const CoordsText = styled.p`
37 | display: flex;
38 | margin: 5px 0 0px 0;
39 | `;
40 |
--------------------------------------------------------------------------------
/components/FirefoxIcon.tsx:
--------------------------------------------------------------------------------
1 | export function FirefoxIcon(props) {
2 | return (
3 |
24 | );
25 | }
26 |
--------------------------------------------------------------------------------
/components/InstallExtension.tsx:
--------------------------------------------------------------------------------
1 | import { useState } from "react";
2 | import styled from "styled-components";
3 | import { ChromeIcon } from "./ChromeIcon";
4 | import { FirefoxIcon } from "./FirefoxIcon";
5 |
6 | export function ExtensionInstall() {
7 | const [browser] = useState<"chrome" | "firefox">(() => {
8 | if (typeof window == "undefined") return "firefox";
9 | return typeof (window as any).InstallTrigger !== "undefined"
10 | ? "firefox"
11 | : "chrome";
12 | });
13 |
14 | function openExtension(browser: "chrome" | "firefox") {
15 | window.open(`https://dstn.to/tab-${browser}`, "_blank");
16 | return;
17 | }
18 |
19 | return (
20 |
21 |
22 | Download the extension
23 |
24 | Using the extension will make the experience better, and removes this
25 | message
26 |
27 | openExtension(browser)}>
28 |
29 | {browser == "chrome" ? : }
30 | {" "}
31 | Download for {browser == "chrome" ? "Chrome" : "Firefox"}
32 |
33 |
35 | openExtension(browser == "chrome" ? "firefox" : "chrome")
36 | }
37 | >
38 | Using {browser == "chrome" ? "Firefox" : "Chrome"}?
39 |
40 |
41 |
42 | );
43 | }
44 |
45 | const Container = styled.div`
46 | display: flex;
47 | flex-direction: column;
48 |
49 | @media (prefers-color-scheme: light) {
50 | background-color: #d4d4d4;
51 | }
52 |
53 | @media (prefers-color-scheme: dark) {
54 | background-color: #271f1f;
55 | }
56 |
57 | background-color: #271f1f;
58 | border-radius: 0 0 10px 10px;
59 |
60 | width: fit-content;
61 | height: fit-content;
62 |
63 | align-items: center;
64 |
65 | padding: 30px;
66 | `;
67 |
68 | const Outter = styled.div`
69 | height: 100%;
70 | width: 100%;
71 | display: flex;
72 | position: absolute;
73 | justify-content: center;
74 | `;
75 |
76 | const Title = styled.h3`
77 | @media (prefers-color-scheme: light) {
78 | color: #000000;
79 | }
80 |
81 | @media (prefers-color-scheme: dark) {
82 | color: #ffffff;
83 | }
84 |
85 | color: #ffffff;
86 | margin: 0;
87 | margin-bottom: 10px;
88 | `;
89 |
90 | const Subtitle = styled.p`
91 | @media (prefers-color-scheme: light) {
92 | color: #000000;
93 | }
94 |
95 | @media (prefers-color-scheme: dark) {
96 | color: #ffffff;
97 | }
98 |
99 | margin: 0;
100 | `;
101 |
102 | const DownloadButton = styled.div`
103 | width: fit-content;
104 | padding: 15px;
105 | height: 40px;
106 | margin-top: 20px;
107 | background-color: #3389ec;
108 | @media (prefers-color-scheme: light) {
109 | color: #000000;
110 | }
111 |
112 | @media (prefers-color-scheme: dark) {
113 | color: #ffffff;
114 | }
115 |
116 | border-radius: 10px;
117 |
118 | display: flex;
119 | flex-direction: row;
120 |
121 | justify-content: center;
122 | align-items: center;
123 |
124 | :hover {
125 | filter: brightness(50%);
126 | cursor: pointer;
127 | }
128 | `;
129 |
130 | const OtherBrowser = styled.p`
131 | margin: 0;
132 | margin-top: 5px;
133 | font-size: 15px;
134 | opacity: 0.6;
135 |
136 | @media (prefers-color-scheme: light) {
137 | color: #000000;
138 | }
139 |
140 | @media (prefers-color-scheme: dark) {
141 | color: #ffffff;
142 | }
143 |
144 | :hover {
145 | filter: brightness(50%);
146 | cursor: pointer;
147 | }
148 | `;
149 |
150 | const IconWrapper = styled.div`
151 | justify-content: center;
152 | align-items: center;
153 | display: flex;
154 | margin-right: 5px;
155 | font-size: 18px;
156 | `;
157 |
--------------------------------------------------------------------------------
/components/NoSSR.tsx:
--------------------------------------------------------------------------------
1 | import dynamic from "next/dynamic";
2 | import React from "react";
3 |
4 | const NoSsr = (props) => {props.children};
5 |
6 | export default dynamic(() => Promise.resolve(NoSsr), {
7 | ssr: false,
8 | });
9 |
--------------------------------------------------------------------------------
/components/SettingsIcon.tsx:
--------------------------------------------------------------------------------
1 | export function SettingsIcon(props) {
2 | return (
3 |
18 | );
19 | }
20 |
--------------------------------------------------------------------------------
/components/WeatherSettings.tsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 |
3 | import styled from "styled-components";
4 | import { Coordnates } from "./Coords";
5 |
6 | export default function WeatherSettings({
7 | closeMenu,
8 | coords,
9 | temperatureEnabled,
10 | setTemperatureEnabled,
11 | updateGeolocation,
12 | tempUnit,
13 | setTempUnit,
14 | }: {
15 | coords: { lat: number; lon: number };
16 | temperatureEnabled: boolean;
17 | setTemperatureEnabled: (value: boolean) => void;
18 | updateGeolocation: () => void;
19 | tempUnit: "F" | "C";
20 | setTempUnit: (unit: "F" | "C") => void;
21 | closeMenu: () => void;
22 | }) {
23 | function switchUnit(unit: "F" | "C") {
24 | setTempUnit(unit);
25 | localStorage.setItem("tabatha_temperature_unit", unit);
26 | }
27 |
28 | function toggleTemperature(value: boolean) {
29 | setTemperatureEnabled(value);
30 | localStorage.setItem("tabatha_weather_enabled", value.toString());
31 | }
32 |
33 | return (
34 |
35 |
36 | Weather Settings
37 | X
38 |
39 |
40 |
41 |
42 | Current Location
43 |
44 |
45 |
46 |
47 |
48 | updateGeolocation()} blue>
49 | Find me
50 |
51 |
52 |
53 |
54 | Temperature Unit
55 |
56 | switchUnit(e.target.value as "F" | "C")}
59 | >
60 | F°
61 | C°
62 |
63 |
64 |
65 |
66 |
67 | {temperatureEnabled ? "Disable" : "Enable"} Temperature
68 |
69 |
70 | toggleTemperature(!temperatureEnabled)}
72 | red={temperatureEnabled}
73 | blue={!temperatureEnabled}
74 | >
75 | {temperatureEnabled ? "Disable" : "Enable"}
76 |
77 |
78 |
79 |
80 |
81 | );
82 | }
83 |
84 | const Container = styled.div`
85 | @media (prefers-color-scheme: light) {
86 | background-color: #d4d4d4;
87 | }
88 |
89 | @media (prefers-color-scheme: dark) {
90 | background-color: rgb(27, 29, 30);
91 | }
92 | width: 500px;
93 | height: auto;
94 | border-radius: 8px;
95 | margin: auto;
96 | padding: 15px;
97 | z-index: 100;
98 | `;
99 |
100 | const HeadingText = styled.h2`
101 | margin: 0;
102 | `;
103 |
104 | const Heading = styled.div`
105 | padding: 10px;
106 | justify-content: space-between;
107 |
108 | display: flex;
109 | `;
110 |
111 | const UnitOptions = styled.select`
112 | display: flex;
113 | flex-direction: row;
114 | justify-content: space-between;
115 |
116 | font-size: 15px;
117 | width: 80px;
118 | height: 25px;
119 | border-radius: 7px;
120 | padding: 1px;
121 | text-align: center;
122 | border: none;
123 | margin-right: 10px;
124 | color: #ffffff;
125 | background-color: #1d1d1d;
126 | `;
127 |
128 | const UnitOption = styled.option``;
129 |
130 | const CloseButton = styled.h2`
131 | display: flex;
132 | margin: 0;
133 | align-items: center;
134 | font-size: 20px;
135 | padding-right: 10px;
136 | opacity: 0.3;
137 |
138 | :hover {
139 | opacity: 0.75;
140 | cursor: pointer;
141 | }
142 | `;
143 |
144 | const Sections = styled.div`
145 | display: flex;
146 | flex-direction: column;
147 | `;
148 |
149 | const RightSection = styled.div`
150 | display: flex;
151 | flex-direction: column;
152 | `;
153 |
154 | const LeftSection = styled.div`
155 | display: flex;
156 | flex-direction: column;
157 | `;
158 |
159 | const TemperatureUnit = styled.div`
160 | display: flex;
161 | flex-direction: row;
162 | align-items: center;
163 | justify-content: space-between;
164 | `;
165 |
166 | const SetLocation = styled.div`
167 | display: flex;
168 | flex-direction: row;
169 | align-items: center;
170 | justify-content: space-between;
171 | `;
172 |
173 | const OptionTitle = styled.h3`
174 | font-size: 18px;
175 | margin: 10px;
176 | font-weight: normal;
177 | `;
178 |
179 | const OptionSubtitle = styled.h3`
180 | font-size: 12px;
181 | margin: 10px;
182 | margin-top: -10px;
183 | font-weight: normal;
184 | `;
185 |
186 | const ToggleTemperature = styled.div`
187 | display: flex;
188 | flex-direction: row;
189 | align-items: center;
190 | justify-content: space-between;
191 | `;
192 |
193 | const ToggleButton = styled.button<{ blue?: boolean; red?: boolean }>`
194 | width: 80px;
195 | height: 25px;
196 | border-radius: 20px;
197 | color: #ffffff;
198 | background-color: ${(props) =>
199 | props.blue ? "blue" : props.red ? "red" : "gray"};
200 | border: none;
201 | margin-right: 10px;
202 | `;
203 |
--------------------------------------------------------------------------------
/extension/assets/icon48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dustinrouillard/tabatha/1c2691afb5fe7df650ab6921dab7661a0ac18b71/extension/assets/icon48.png
--------------------------------------------------------------------------------
/extension/assets/icon96.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dustinrouillard/tabatha/1c2691afb5fe7df650ab6921dab7661a0ac18b71/extension/assets/icon96.png
--------------------------------------------------------------------------------
/extension/manifest.chrome.json:
--------------------------------------------------------------------------------
1 | {
2 | "manifest_version": 2,
3 | "name": "Tabatha",
4 | "version": "0.2.0",
5 | "author": "Dustin Rouillard",
6 | "chrome_url_overrides": {
7 | "newtab": "index.html"
8 | },
9 | "description": "Sleek & dark new tab replacement",
10 | "icons": {
11 | "48": "assets/icon48.png",
12 | "96": "assets/icon96.png"
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/extension/manifest.firefox.json:
--------------------------------------------------------------------------------
1 | {
2 | "manifest_version": 2,
3 | "name": "Tabatha",
4 | "version": "0.2.0",
5 | "author": "Dustin Rouillard",
6 | "chrome_url_overrides": {
7 | "newtab": "index.html"
8 | },
9 | "chrome_settings_overrides": {
10 | "homepage": "index.html"
11 | },
12 | "description": "Sleek & dark new tab replacement",
13 | "icons": {
14 | "48": "assets/icon48.png",
15 | "96": "assets/icon96.png"
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/next-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 |
4 | // NOTE: This file should not be edited
5 | // see https://nextjs.org/docs/pages/api-reference/config/typescript for more information.
6 |
--------------------------------------------------------------------------------
/next.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | output: "export",
3 | distDir: "extension/html",
4 | };
5 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "tabatha",
3 | "version": "0.2.0",
4 | "private": true,
5 | "scripts": {
6 | "serve": "next dev",
7 | "build": "next build",
8 | "start": "next start",
9 | "extension": "next build && mv extension/html/_next extension/html/next && cp -R extension/assets extension/html && sed -i '' -e 's/\\/_next/\\/next/g' extension/html/*.html && sed -i '' -e 's/\\/_next/\\/next/g' extension/html/next/static/chunks/*.js",
10 | "dev:chrome": "pnpm extension && cp extension/manifest.chrome.json extension/html/manifest.json && web-ext run -t chromium",
11 | "dev:firefox": "pnpm extension && cp extension/manifest.firefox.json extension/html/manifest.json && web-ext run",
12 | "dev": "pnpm dev:firefox",
13 | "pg:chrome": "cp extension/manifest.chrome.json extension/html/manifest.json && web-ext build --overwrite-dest -a web-ext-artifacts/chrome",
14 | "pg:firefox": "cp extension/manifest.firefox.json extension/html/manifest.json && web-ext build --overwrite-dest -a web-ext-artifacts/firefox",
15 | "pg": "pnpm extension && pnpm pg:chrome && pnpm pg:firefox && rm -rf extension/html"
16 | },
17 | "dependencies": {
18 | "lodash.debounce": "^4.0.8",
19 | "next": "^15.1.7",
20 | "react": "19.0.0",
21 | "react-contexify": "^6.0.0",
22 | "react-dom": "19.0.0",
23 | "styled-components": "^6.1.15"
24 | },
25 | "devDependencies": {
26 | "@types/lodash.debounce": "^4.0.9",
27 | "@types/node": "^22.13.4",
28 | "@types/react": "^19.0.8",
29 | "@types/styled-components": "^5.1.34",
30 | "typescript": "^5.7.3",
31 | "web-ext": "^8.4.0"
32 | },
33 | "webExt": {
34 | "sourceDir": "extension/html",
35 | "ignoreFiles": [
36 | "package.json",
37 | "pnpm-lock.yaml",
38 | "manifest.chrome.json",
39 | "manifest.firefox.json"
40 | ]
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/pages/_app.tsx:
--------------------------------------------------------------------------------
1 | import { createGlobalStyle } from "styled-components";
2 |
3 | const GlobalStyle = createGlobalStyle`
4 | html,
5 | body {
6 | background-color: #000000;
7 | color: #ffffff;
8 | padding: 0;
9 | margin: 0;
10 | font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto,
11 | Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue,
12 | sans-serif;
13 | }
14 |
15 | @media (prefers-color-scheme: light) {
16 | body {
17 | background-color: #ffffff;
18 | color: #000000;
19 | }
20 | }
21 |
22 | @media (prefers-color-scheme: dark) {
23 | body {
24 | background-color: #000000;
25 | color: #ffffff;
26 | }
27 | }
28 |
29 | a {
30 | color: inherit;
31 | text-decoration: none;
32 |
33 | :hover, :focus, :active {
34 | text-decoration: underline;
35 | }
36 | }
37 |
38 | * {
39 | box-sizing: border-box;
40 | transition: all 150ms linear;
41 | }
42 | `;
43 |
44 | export default function App({ Component, pageProps }) {
45 | return (
46 | <>
47 |
48 |
49 | >
50 | );
51 | }
52 |
--------------------------------------------------------------------------------
/pages/_document.tsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import Document, { Head, Html, Main, NextScript } from "next/document";
3 | import { ServerStyleSheet } from "styled-components";
4 |
5 | export default class MyDocument extends Document {
6 | static async getInitialProps(ctx) {
7 | const sheet = new ServerStyleSheet();
8 | const originalRenderPage = ctx.renderPage;
9 |
10 | try {
11 | // wraps the collectStyles provider around our .
12 | ctx.renderPage = () =>
13 | originalRenderPage({
14 | enhanceApp: (App) => (props) =>
15 | sheet.collectStyles(),
16 | });
17 |
18 | // extract the initial props that may be present.
19 | const initialProps = await Document.getInitialProps(ctx);
20 |
21 | // returning the original props together with our styled components.
22 | return {
23 | ...initialProps,
24 | styles: (
25 | <>
26 | {initialProps.styles}
27 | {sheet.getStyleElement()}
28 | >
29 | ),
30 | };
31 | } finally {
32 | sheet.seal();
33 | }
34 | }
35 |
36 | render() {
37 | return (
38 |
39 | {this.props.styleTags}
40 |
41 |
42 |
43 |
44 |
45 | );
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/pages/index.tsx:
--------------------------------------------------------------------------------
1 | import Head from "next/head";
2 |
3 | import { useState, useEffect } from "react";
4 |
5 | import styled from "styled-components";
6 | import { ExtensionInstall } from "../components/InstallExtension";
7 | import NoSSR from "../components/NoSSR";
8 | import { SettingsIcon } from "../components/SettingsIcon";
9 | import WeatherSettings from "../components/WeatherSettings";
10 | import { Weather } from "../types/Weather";
11 | import { getUsersGeolocation } from "../utils/geolocation";
12 |
13 | const days = [
14 | "Sunday",
15 | "Monday",
16 | "Tuesday",
17 | "Wednesday",
18 | "Thursday",
19 | "Friday",
20 | "Saturday",
21 | ];
22 |
23 | function getTemperatureEnabled(): boolean {
24 | if (typeof window == "undefined") return;
25 | if (!localStorage.getItem("tabatha_weather_enabled"))
26 | localStorage.setItem("tabatha_weather_enabled", "false");
27 | return localStorage.getItem("tabatha_weather_enabled") === "true";
28 | }
29 |
30 | function getCoords(): { lat: number; lon: number } {
31 | if (typeof window == "undefined") return;
32 | if (!localStorage.getItem("tabatha_weather_coords"))
33 | localStorage.setItem("tabatha_weather_coords", JSON.stringify({}));
34 | return JSON.parse(localStorage.getItem("tabatha_weather_coords"));
35 | }
36 |
37 | function getTemperatureUnit(): "F" | "C" {
38 | if (typeof window == "undefined") return;
39 | if (!localStorage.getItem("tabatha_temperature_unit"))
40 | localStorage.setItem("tabatha_temperature_unit", "F");
41 | return localStorage.getItem("tabatha_temperature_unit") as "F" | "C";
42 | }
43 |
44 | function getTimeMessage(date?: Date): string {
45 | if (!date) date = new Date();
46 | return date.getHours() >= 12 && date.getHours() < 20
47 | ? "Good afternoon."
48 | : date.getHours() >= 20 || date.getHours() < 4
49 | ? "Good night."
50 | : date.getHours() < 12
51 | ? "Good morning."
52 | : "Good evening.";
53 | }
54 |
55 | let tempTimeout;
56 |
57 | export default function Home() {
58 | const [greeting, setGreeting] = useState(getTimeMessage());
59 |
60 | const [time, setTime] = useState(
61 | new Date().toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" })
62 | );
63 | const [date, setDate] = useState(days[new Date().getDay().toString()]);
64 |
65 | const [coords, setCoords] = useState(getCoords());
66 | const [temperatureEnabled, setTemperatureEnabled] = useState(
67 | getTemperatureEnabled()
68 | );
69 | const [temperature, setTemperature] = useState("0");
70 | const [tempUnit, setTempUnit] = useState(getTemperatureUnit());
71 |
72 | const [weatherSettingsVisible, showWeatherSettings] = useState(false);
73 |
74 | async function getTemperature({ lat, lon }: { lat: number; lon: number }) {
75 | if (!lat || !lon || !temperatureEnabled) return;
76 | const data: Weather = await fetch(
77 | `https://weather.dstn.to/coords/${lat}/${lon}`
78 | ).then((r) => r.json());
79 | const temp =
80 | tempUnit == "F"
81 | ? ((data.temperature.current - 273.15) * 9) / 5 + 32
82 | : tempUnit == "C"
83 | ? data.temperature.current - 273.15
84 | : data.temperature.current;
85 | setTemperature(temp.toFixed());
86 | }
87 |
88 | useEffect(() => {
89 | const int = setInterval(() => {
90 | const currentDate = new Date();
91 | setTime(
92 | currentDate.toLocaleTimeString([], {
93 | hour: "2-digit",
94 | minute: "2-digit",
95 | })
96 | );
97 | setGreeting(getTimeMessage(currentDate));
98 |
99 | setDate(days[currentDate.getDay().toString()]);
100 | }, 1000);
101 |
102 | return () => {
103 | clearInterval(int);
104 | };
105 | }, []);
106 |
107 | useEffect(() => {
108 | getTemperature(coords);
109 | }, [tempUnit, temperatureEnabled]);
110 |
111 | async function updateGeolocation() {
112 | const location = await getUsersGeolocation();
113 | setCoords(location);
114 | setTemperatureEnabled(true);
115 | localStorage.setItem("tabatha_weather_enabled", "true");
116 | }
117 |
118 | function changeTemp({ lat, lon }) {
119 | if (lat && lon) {
120 | if (tempTimeout) clearInterval(tempTimeout);
121 | tempTimeout = setInterval(async () => {
122 | getTemperature({ lat, lon });
123 | }, 30000);
124 | getTemperature({ lat, lon });
125 | }
126 | }
127 |
128 | useEffect(() => {
129 | changeTemp(coords);
130 | }, [coords]);
131 |
132 | return (
133 | <>
134 | {weatherSettingsVisible && (
135 | <>
136 | showWeatherSettings(false)} />
137 |
138 | showWeatherSettings(false)}
140 | coords={coords}
141 | temperatureEnabled={temperatureEnabled}
142 | setTemperatureEnabled={setTemperatureEnabled}
143 | updateGeolocation={updateGeolocation}
144 | tempUnit={tempUnit}
145 | setTempUnit={setTempUnit}
146 | />
147 |
148 | >
149 | )}
150 |
151 |
152 | Tabatha • New Tab
153 |
154 |
155 |
156 |
157 | {typeof location != "undefined" &&
158 | new URL(location.href).pathname != "/index.html" && (
159 |
160 | )}
161 |
162 |
163 | showWeatherSettings(true)} />
164 |
165 |
166 | {temperatureEnabled && temperature != "0" && (
167 |
168 | {temperature}° {tempUnit}
169 |
170 | )}
171 |
172 |
173 |
174 | {greeting}
175 |
176 |
177 | {date} •{" "}
178 |
179 |
180 |
181 |
182 |
183 | >
184 | );
185 | }
186 |
187 | const Container = styled.div`
188 | min-height: 100vh;
189 | display: flex;
190 | `;
191 |
192 | const Content = styled.div`
193 | display: flex;
194 | flex-direction: column;
195 | `;
196 |
197 | const TopRightContent = styled.div`
198 | display: flex;
199 | flex-direction: column;
200 | position: absolute;
201 | margin: 50px;
202 | right: 0;
203 | top: 0;
204 | `;
205 |
206 | const TopLeftContent = styled.div`
207 | display: flex;
208 | flex-direction: column;
209 | position: absolute;
210 | margin: 50px;
211 | left: 0;
212 | top: 0;
213 | `;
214 |
215 | const BottomRightContent = styled.div`
216 | display: flex;
217 | flex-direction: column;
218 | position: absolute;
219 | margin: 50px;
220 | right: 0;
221 | bottom: 0;
222 | `;
223 |
224 | const Title = styled.h1`
225 | margin: 0;
226 | line-height: 1.15;
227 | font-size: 3.5rem;
228 | text-align: right;
229 | `;
230 |
231 | const Temperature = styled.p`
232 | margin: 0;
233 | font-weight: bold;
234 | line-height: 1.5;
235 | font-size: 1.5rem;
236 | opacity: 0.5;
237 | `;
238 |
239 | const Time = styled.p`
240 | margin: 0;
241 | font-weight: bold;
242 | text-align: right;
243 | line-height: 1.5;
244 | font-size: 2rem;
245 | `;
246 |
247 | const CurrentDate = styled.p`
248 | margin: 0;
249 | font-weight: bold;
250 | text-align: right;
251 | line-height: 1.5;
252 | font-size: 2rem;
253 | `;
254 |
255 | const Seperator = styled.p`
256 | margin: 0;
257 | font-size: 1.2rem;
258 | padding-left: 10px;
259 | padding-right: 10px;
260 | font-weight: bold;
261 | text-align: right;
262 | `;
263 |
264 | const ContentBody = styled.div<{ right?: boolean }>`
265 | display: flex;
266 | flex-direction: row;
267 | align-items: center;
268 | justify-content: flex-end;
269 | `;
270 |
271 | const ContentHeading = styled.div`
272 | display: flex;
273 | flex-direction: column;
274 | `;
275 |
276 | const Darken = styled.div`
277 | background-color: #000000c3;
278 | height: 100%;
279 | width: 100%;
280 | position: absolute;
281 | z-index: 10;
282 | display: flex;
283 | `;
284 |
285 | const Settings = styled(SettingsIcon)`
286 | opacity: 0.3;
287 |
288 | :hover {
289 | opacity: 0.75;
290 | text-decoration: underline;
291 | cursor: pointer;
292 | }
293 | `;
294 |
295 | const ModalWrapped = styled.div`
296 | height: 100%;
297 | width: 100%;
298 | display: flex;
299 | position: absolute;
300 | `;
301 |
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: '9.0'
2 |
3 | settings:
4 | autoInstallPeers: true
5 | excludeLinksFromLockfile: false
6 |
7 | importers:
8 |
9 | .:
10 | dependencies:
11 | lodash.debounce:
12 | specifier: ^4.0.8
13 | version: 4.0.8
14 | next:
15 | specifier: ^15.1.7
16 | version: 15.1.7(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
17 | react:
18 | specifier: 19.0.0
19 | version: 19.0.0
20 | react-contexify:
21 | specifier: ^6.0.0
22 | version: 6.0.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
23 | react-dom:
24 | specifier: 19.0.0
25 | version: 19.0.0(react@19.0.0)
26 | styled-components:
27 | specifier: ^6.1.15
28 | version: 6.1.15(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
29 | devDependencies:
30 | '@types/lodash.debounce':
31 | specifier: ^4.0.9
32 | version: 4.0.9
33 | '@types/node':
34 | specifier: ^22.13.4
35 | version: 22.13.4
36 | '@types/react':
37 | specifier: ^19.0.8
38 | version: 19.0.8
39 | '@types/styled-components':
40 | specifier: ^5.1.34
41 | version: 5.1.34
42 | typescript:
43 | specifier: ^5.7.3
44 | version: 5.7.3
45 | web-ext:
46 | specifier: ^8.4.0
47 | version: 8.4.0(safe-compare@1.1.4)
48 |
49 | packages:
50 |
51 | '@babel/code-frame@7.26.2':
52 | resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==}
53 | engines: {node: '>=6.9.0'}
54 |
55 | '@babel/helper-validator-identifier@7.25.9':
56 | resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==}
57 | engines: {node: '>=6.9.0'}
58 |
59 | '@babel/runtime@7.26.7':
60 | resolution: {integrity: sha512-AOPI3D+a8dXnja+iwsUqGRjr1BbZIe771sXdapOtYI531gSqpi92vXivKcq2asu/DFpdl1ceFAKZyRzK2PCVcQ==}
61 | engines: {node: '>=6.9.0'}
62 |
63 | '@devicefarmer/adbkit-logcat@2.1.3':
64 | resolution: {integrity: sha512-yeaGFjNBc/6+svbDeul1tNHtNChw6h8pSHAt5D+JsedUrMTN7tla7B15WLDyekxsuS2XlZHRxpuC6m92wiwCNw==}
65 | engines: {node: '>= 4'}
66 |
67 | '@devicefarmer/adbkit-monkey@1.2.1':
68 | resolution: {integrity: sha512-ZzZY/b66W2Jd6NHbAhLyDWOEIBWC11VizGFk7Wx7M61JZRz7HR9Cq5P+65RKWUU7u6wgsE8Lmh9nE4Mz+U2eTg==}
69 | engines: {node: '>= 0.10.4'}
70 |
71 | '@devicefarmer/adbkit@3.3.8':
72 | resolution: {integrity: sha512-7rBLLzWQnBwutH2WZ0EWUkQdihqrnLYCUMaB44hSol9e0/cdIhuNFcqZO0xNheAU6qqHVA8sMiLofkYTgb+lmw==}
73 | engines: {node: '>= 0.10.4'}
74 | hasBin: true
75 |
76 | '@emnapi/runtime@1.3.1':
77 | resolution: {integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==}
78 |
79 | '@emotion/is-prop-valid@1.2.2':
80 | resolution: {integrity: sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw==}
81 |
82 | '@emotion/memoize@0.8.1':
83 | resolution: {integrity: sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==}
84 |
85 | '@emotion/unitless@0.8.1':
86 | resolution: {integrity: sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==}
87 |
88 | '@eslint-community/eslint-utils@4.4.1':
89 | resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==}
90 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
91 | peerDependencies:
92 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
93 |
94 | '@eslint-community/regexpp@4.12.1':
95 | resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==}
96 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
97 |
98 | '@eslint/eslintrc@2.1.4':
99 | resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==}
100 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
101 |
102 | '@eslint/js@8.57.1':
103 | resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==}
104 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
105 |
106 | '@fluent/syntax@0.19.0':
107 | resolution: {integrity: sha512-5D2qVpZrgpjtqU4eNOcWGp1gnUCgjfM+vKGE2y03kKN6z5EBhtx0qdRFbg8QuNNj8wXNoX93KJoYb+NqoxswmQ==}
108 | engines: {node: '>=14.0.0', npm: '>=7.0.0'}
109 |
110 | '@fregante/relaxed-json@2.0.0':
111 | resolution: {integrity: sha512-PyUXQWB42s4jBli435TDiYuVsadwRHnMc27YaLouINktvTWsL3FcKrRMGawTayFk46X+n5bE23RjUTWQwrukWw==}
112 | engines: {node: '>= 0.10.0'}
113 |
114 | '@humanwhocodes/config-array@0.13.0':
115 | resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==}
116 | engines: {node: '>=10.10.0'}
117 | deprecated: Use @eslint/config-array instead
118 |
119 | '@humanwhocodes/module-importer@1.0.1':
120 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
121 | engines: {node: '>=12.22'}
122 |
123 | '@humanwhocodes/object-schema@2.0.3':
124 | resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==}
125 | deprecated: Use @eslint/object-schema instead
126 |
127 | '@img/sharp-darwin-arm64@0.33.5':
128 | resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==}
129 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
130 | cpu: [arm64]
131 | os: [darwin]
132 |
133 | '@img/sharp-darwin-x64@0.33.5':
134 | resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==}
135 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
136 | cpu: [x64]
137 | os: [darwin]
138 |
139 | '@img/sharp-libvips-darwin-arm64@1.0.4':
140 | resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==}
141 | cpu: [arm64]
142 | os: [darwin]
143 |
144 | '@img/sharp-libvips-darwin-x64@1.0.4':
145 | resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==}
146 | cpu: [x64]
147 | os: [darwin]
148 |
149 | '@img/sharp-libvips-linux-arm64@1.0.4':
150 | resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==}
151 | cpu: [arm64]
152 | os: [linux]
153 |
154 | '@img/sharp-libvips-linux-arm@1.0.5':
155 | resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==}
156 | cpu: [arm]
157 | os: [linux]
158 |
159 | '@img/sharp-libvips-linux-s390x@1.0.4':
160 | resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==}
161 | cpu: [s390x]
162 | os: [linux]
163 |
164 | '@img/sharp-libvips-linux-x64@1.0.4':
165 | resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==}
166 | cpu: [x64]
167 | os: [linux]
168 |
169 | '@img/sharp-libvips-linuxmusl-arm64@1.0.4':
170 | resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==}
171 | cpu: [arm64]
172 | os: [linux]
173 |
174 | '@img/sharp-libvips-linuxmusl-x64@1.0.4':
175 | resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==}
176 | cpu: [x64]
177 | os: [linux]
178 |
179 | '@img/sharp-linux-arm64@0.33.5':
180 | resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==}
181 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
182 | cpu: [arm64]
183 | os: [linux]
184 |
185 | '@img/sharp-linux-arm@0.33.5':
186 | resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==}
187 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
188 | cpu: [arm]
189 | os: [linux]
190 |
191 | '@img/sharp-linux-s390x@0.33.5':
192 | resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==}
193 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
194 | cpu: [s390x]
195 | os: [linux]
196 |
197 | '@img/sharp-linux-x64@0.33.5':
198 | resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==}
199 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
200 | cpu: [x64]
201 | os: [linux]
202 |
203 | '@img/sharp-linuxmusl-arm64@0.33.5':
204 | resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==}
205 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
206 | cpu: [arm64]
207 | os: [linux]
208 |
209 | '@img/sharp-linuxmusl-x64@0.33.5':
210 | resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==}
211 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
212 | cpu: [x64]
213 | os: [linux]
214 |
215 | '@img/sharp-wasm32@0.33.5':
216 | resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==}
217 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
218 | cpu: [wasm32]
219 |
220 | '@img/sharp-win32-ia32@0.33.5':
221 | resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==}
222 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
223 | cpu: [ia32]
224 | os: [win32]
225 |
226 | '@img/sharp-win32-x64@0.33.5':
227 | resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==}
228 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
229 | cpu: [x64]
230 | os: [win32]
231 |
232 | '@mdn/browser-compat-data@5.6.31':
233 | resolution: {integrity: sha512-E/X4YlErVjBCMvaJbqD2Jb0B/Z+TQJyw4vN6q98iit05RLW9VEcsedaTiL81BAbYF9GICn/KpFGE9dMJi66Ydw==}
234 |
235 | '@next/env@15.1.7':
236 | resolution: {integrity: sha512-d9jnRrkuOH7Mhi+LHav2XW91HOgTAWHxjMPkXMGBc9B2b7614P7kjt8tAplRvJpbSt4nbO1lugcT/kAaWzjlLQ==}
237 |
238 | '@next/swc-darwin-arm64@15.1.7':
239 | resolution: {integrity: sha512-hPFwzPJDpA8FGj7IKV3Yf1web3oz2YsR8du4amKw8d+jAOHfYHYFpMkoF6vgSY4W6vB29RtZEklK9ayinGiCmQ==}
240 | engines: {node: '>= 10'}
241 | cpu: [arm64]
242 | os: [darwin]
243 |
244 | '@next/swc-darwin-x64@15.1.7':
245 | resolution: {integrity: sha512-2qoas+fO3OQKkU0PBUfwTiw/EYpN+kdAx62cePRyY1LqKtP09Vp5UcUntfZYajop5fDFTjSxCHfZVRxzi+9FYQ==}
246 | engines: {node: '>= 10'}
247 | cpu: [x64]
248 | os: [darwin]
249 |
250 | '@next/swc-linux-arm64-gnu@15.1.7':
251 | resolution: {integrity: sha512-sKLLwDX709mPdzxMnRIXLIT9zaX2w0GUlkLYQnKGoXeWUhcvpCrK+yevcwCJPdTdxZEUA0mOXGLdPsGkudGdnA==}
252 | engines: {node: '>= 10'}
253 | cpu: [arm64]
254 | os: [linux]
255 |
256 | '@next/swc-linux-arm64-musl@15.1.7':
257 | resolution: {integrity: sha512-zblK1OQbQWdC8fxdX4fpsHDw+VSpBPGEUX4PhSE9hkaWPrWoeIJn+baX53vbsbDRaDKd7bBNcXRovY1hEhFd7w==}
258 | engines: {node: '>= 10'}
259 | cpu: [arm64]
260 | os: [linux]
261 |
262 | '@next/swc-linux-x64-gnu@15.1.7':
263 | resolution: {integrity: sha512-GOzXutxuLvLHFDAPsMP2zDBMl1vfUHHpdNpFGhxu90jEzH6nNIgmtw/s1MDwpTOiM+MT5V8+I1hmVFeAUhkbgQ==}
264 | engines: {node: '>= 10'}
265 | cpu: [x64]
266 | os: [linux]
267 |
268 | '@next/swc-linux-x64-musl@15.1.7':
269 | resolution: {integrity: sha512-WrZ7jBhR7ATW1z5iEQ0ZJfE2twCNSXbpCSaAunF3BKcVeHFADSI/AW1y5Xt3DzTqPF1FzQlwQTewqetAABhZRQ==}
270 | engines: {node: '>= 10'}
271 | cpu: [x64]
272 | os: [linux]
273 |
274 | '@next/swc-win32-arm64-msvc@15.1.7':
275 | resolution: {integrity: sha512-LDnj1f3OVbou1BqvvXVqouJZKcwq++mV2F+oFHptToZtScIEnhNRJAhJzqAtTE2dB31qDYL45xJwrc+bLeKM2Q==}
276 | engines: {node: '>= 10'}
277 | cpu: [arm64]
278 | os: [win32]
279 |
280 | '@next/swc-win32-x64-msvc@15.1.7':
281 | resolution: {integrity: sha512-dC01f1quuf97viOfW05/K8XYv2iuBgAxJZl7mbCKEjMgdQl5JjAKJ0D2qMKZCgPWDeFbFT0Q0nYWwytEW0DWTQ==}
282 | engines: {node: '>= 10'}
283 | cpu: [x64]
284 | os: [win32]
285 |
286 | '@nodelib/fs.scandir@2.1.5':
287 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
288 | engines: {node: '>= 8'}
289 |
290 | '@nodelib/fs.stat@2.0.5':
291 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
292 | engines: {node: '>= 8'}
293 |
294 | '@nodelib/fs.walk@1.2.8':
295 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
296 | engines: {node: '>= 8'}
297 |
298 | '@pnpm/config.env-replace@1.1.0':
299 | resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==}
300 | engines: {node: '>=12.22.0'}
301 |
302 | '@pnpm/network.ca-file@1.0.2':
303 | resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==}
304 | engines: {node: '>=12.22.0'}
305 |
306 | '@pnpm/npm-conf@2.3.1':
307 | resolution: {integrity: sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==}
308 | engines: {node: '>=12'}
309 |
310 | '@swc/counter@0.1.3':
311 | resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==}
312 |
313 | '@swc/helpers@0.5.15':
314 | resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==}
315 |
316 | '@types/hoist-non-react-statics@3.3.6':
317 | resolution: {integrity: sha512-lPByRJUer/iN/xa4qpyL0qmL11DqNW81iU/IG1S3uvRUq4oKagz8VCxZjiWkumgt66YT3vOdDgZ0o32sGKtCEw==}
318 |
319 | '@types/lodash.debounce@4.0.9':
320 | resolution: {integrity: sha512-Ma5JcgTREwpLRwMM+XwBR7DaWe96nC38uCBDFKZWbNKD+osjVzdpnUSwBcqCptrp16sSOLBAUb50Car5I0TCsQ==}
321 |
322 | '@types/lodash@4.17.15':
323 | resolution: {integrity: sha512-w/P33JFeySuhN6JLkysYUK2gEmy9kHHFN7E8ro0tkfmlDOgxBDzWEZ/J8cWA+fHqFevpswDTFZnDx+R9lbL6xw==}
324 |
325 | '@types/minimatch@3.0.5':
326 | resolution: {integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==}
327 |
328 | '@types/node@22.13.4':
329 | resolution: {integrity: sha512-ywP2X0DYtX3y08eFVx5fNIw7/uIv8hYUKgXoK8oayJlLnKcRfEYCxWMVE1XagUdVtCJlZT1AU4LXEABW+L1Peg==}
330 |
331 | '@types/react@19.0.8':
332 | resolution: {integrity: sha512-9P/o1IGdfmQxrujGbIMDyYaaCykhLKc0NGCtYcECNUr9UAaDe4gwvV9bR6tvd5Br1SG0j+PBpbKr2UYY8CwqSw==}
333 |
334 | '@types/styled-components@5.1.34':
335 | resolution: {integrity: sha512-mmiVvwpYklFIv9E8qfxuPyIt/OuyIrn6gMOAMOFUO3WJfSrSE+sGUoa4PiZj77Ut7bKZpaa6o1fBKS/4TOEvnA==}
336 |
337 | '@types/stylis@4.2.5':
338 | resolution: {integrity: sha512-1Xve+NMN7FWjY14vLoY5tL3BVEQ/n42YLwaqJIPYhotZ9uBHt87VceMwWQpzmdEt2TNXIorIFG+YeCUUW7RInw==}
339 |
340 | '@types/yauzl@2.10.3':
341 | resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==}
342 |
343 | '@ungap/structured-clone@1.3.0':
344 | resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==}
345 |
346 | abort-controller@3.0.0:
347 | resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==}
348 | engines: {node: '>=6.5'}
349 |
350 | acorn-jsx@5.3.2:
351 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
352 | peerDependencies:
353 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
354 |
355 | acorn@8.14.0:
356 | resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==}
357 | engines: {node: '>=0.4.0'}
358 | hasBin: true
359 |
360 | addons-linter@7.8.0:
361 | resolution: {integrity: sha512-SnDJUAtrHu1RUMIiIZXNN8wF0ze7IbDokwUy5HZYlCkNTn8E4RcI74xhdHtCdtoQprAmyhxePP/hFf+9XPhe8w==}
362 | engines: {node: '>=18.0.0'}
363 | hasBin: true
364 |
365 | addons-moz-compare@1.3.0:
366 | resolution: {integrity: sha512-/rXpQeaY0nOKhNx00pmZXdk5Mu+KhVlL3/pSBuAYwrxRrNiTvI/9xfQI8Lmm7DMMl+PDhtfAHY/0ibTpdeoQQQ==}
367 |
368 | addons-scanner-utils@9.12.0:
369 | resolution: {integrity: sha512-Nn+mOgJhdSZKkycXd5GYfSfoyT1lEGbCVoCBKriEFceuP0dJxVBuFwuRD8+PuXegQQBw7COTS5DwM4nj+bK8Mg==}
370 | peerDependencies:
371 | body-parser: 1.20.3
372 | express: 4.21.0
373 | node-fetch: 2.6.11
374 | safe-compare: 1.1.4
375 | peerDependenciesMeta:
376 | body-parser:
377 | optional: true
378 | express:
379 | optional: true
380 | node-fetch:
381 | optional: true
382 | safe-compare:
383 | optional: true
384 |
385 | adm-zip@0.5.16:
386 | resolution: {integrity: sha512-TGw5yVi4saajsSEgz25grObGHEUaDrniwvA2qwSC060KfqGPdglhvPMA2lPIoxs3PQIItj2iag35fONcQqgUaQ==}
387 | engines: {node: '>=12.0'}
388 |
389 | agent-base@7.1.3:
390 | resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==}
391 | engines: {node: '>= 14'}
392 |
393 | ajv@6.12.6:
394 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
395 |
396 | ajv@8.17.1:
397 | resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==}
398 |
399 | ansi-align@3.0.1:
400 | resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==}
401 |
402 | ansi-regex@5.0.1:
403 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
404 | engines: {node: '>=8'}
405 |
406 | ansi-regex@6.1.0:
407 | resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==}
408 | engines: {node: '>=12'}
409 |
410 | ansi-styles@4.3.0:
411 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
412 | engines: {node: '>=8'}
413 |
414 | ansi-styles@6.2.1:
415 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
416 | engines: {node: '>=12'}
417 |
418 | argparse@2.0.1:
419 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
420 |
421 | array-differ@4.0.0:
422 | resolution: {integrity: sha512-Q6VPTLMsmXZ47ENG3V+wQyZS1ZxXMxFyYzA+Z/GMrJ6yIutAIEf9wTyroTzmGjNfox9/h3GdGBCVh43GVFx4Uw==}
423 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
424 |
425 | array-union@3.0.1:
426 | resolution: {integrity: sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==}
427 | engines: {node: '>=12'}
428 |
429 | async@3.2.6:
430 | resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==}
431 |
432 | atomic-sleep@1.0.0:
433 | resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==}
434 | engines: {node: '>=8.0.0'}
435 |
436 | atomically@2.0.3:
437 | resolution: {integrity: sha512-kU6FmrwZ3Lx7/7y3hPS5QnbJfaohcIul5fGqf7ok+4KklIEk9tJ0C2IQPdacSbVUWv6zVHXEBWoWd6NrVMT7Cw==}
438 |
439 | balanced-match@1.0.2:
440 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
441 |
442 | base64-js@1.5.1:
443 | resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
444 |
445 | big-integer@1.6.52:
446 | resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==}
447 | engines: {node: '>=0.6'}
448 |
449 | bluebird@3.7.2:
450 | resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==}
451 |
452 | boolbase@1.0.0:
453 | resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
454 |
455 | boxen@8.0.1:
456 | resolution: {integrity: sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==}
457 | engines: {node: '>=18'}
458 |
459 | bplist-parser@0.2.0:
460 | resolution: {integrity: sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==}
461 | engines: {node: '>= 5.10.0'}
462 |
463 | brace-expansion@1.1.11:
464 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
465 |
466 | buffer-alloc-unsafe@1.1.0:
467 | resolution: {integrity: sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==}
468 |
469 | buffer-alloc@1.2.0:
470 | resolution: {integrity: sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==}
471 |
472 | buffer-crc32@0.2.13:
473 | resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==}
474 |
475 | buffer-fill@1.0.0:
476 | resolution: {integrity: sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==}
477 |
478 | buffer-from@1.1.2:
479 | resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
480 |
481 | buffer@6.0.3:
482 | resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==}
483 |
484 | bundle-name@3.0.0:
485 | resolution: {integrity: sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==}
486 | engines: {node: '>=12'}
487 |
488 | busboy@1.6.0:
489 | resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==}
490 | engines: {node: '>=10.16.0'}
491 |
492 | callsites@3.1.0:
493 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
494 | engines: {node: '>=6'}
495 |
496 | camelcase@8.0.0:
497 | resolution: {integrity: sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==}
498 | engines: {node: '>=16'}
499 |
500 | camelize@1.0.1:
501 | resolution: {integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==}
502 |
503 | caniuse-lite@1.0.30001699:
504 | resolution: {integrity: sha512-b+uH5BakXZ9Do9iK+CkDmctUSEqZl+SP056vc5usa0PL+ev5OHw003rZXcnjNDv3L8P5j6rwT6C0BPKSikW08w==}
505 |
506 | chalk@4.1.2:
507 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
508 | engines: {node: '>=10'}
509 |
510 | chalk@5.4.1:
511 | resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==}
512 | engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
513 |
514 | cheerio-select@2.1.0:
515 | resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==}
516 |
517 | cheerio@1.0.0-rc.12:
518 | resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==}
519 | engines: {node: '>= 6'}
520 |
521 | chrome-launcher@1.1.2:
522 | resolution: {integrity: sha512-YclTJey34KUm5jB1aEJCq807bSievi7Nb/TU4Gu504fUYi3jw3KCIaH6L7nFWQhdEgH3V+wCh+kKD1P5cXnfxw==}
523 | engines: {node: '>=12.13.0'}
524 | hasBin: true
525 |
526 | cli-boxes@3.0.0:
527 | resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==}
528 | engines: {node: '>=10'}
529 |
530 | client-only@0.0.1:
531 | resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==}
532 |
533 | cliui@8.0.1:
534 | resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
535 | engines: {node: '>=12'}
536 |
537 | clone@1.0.4:
538 | resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==}
539 | engines: {node: '>=0.8'}
540 |
541 | clsx@1.2.1:
542 | resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==}
543 | engines: {node: '>=6'}
544 |
545 | color-convert@2.0.1:
546 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
547 | engines: {node: '>=7.0.0'}
548 |
549 | color-name@1.1.4:
550 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
551 |
552 | color-string@1.9.1:
553 | resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==}
554 |
555 | color@4.2.3:
556 | resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==}
557 | engines: {node: '>=12.5.0'}
558 |
559 | columnify@1.6.0:
560 | resolution: {integrity: sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q==}
561 | engines: {node: '>=8.0.0'}
562 |
563 | commander@2.9.0:
564 | resolution: {integrity: sha512-bmkUukX8wAOjHdN26xj5c4ctEV22TQ7dQYhSmuckKhToXrkUn0iIaolHdIxYYqD55nhpSPA9zPQ1yP57GdXP2A==}
565 | engines: {node: '>= 0.6.x'}
566 |
567 | commander@9.5.0:
568 | resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==}
569 | engines: {node: ^12.20.0 || >=14}
570 |
571 | common-tags@1.8.2:
572 | resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==}
573 | engines: {node: '>=4.0.0'}
574 |
575 | concat-map@0.0.1:
576 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
577 |
578 | concat-stream@1.6.2:
579 | resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==}
580 | engines: {'0': node >= 0.8}
581 |
582 | config-chain@1.1.13:
583 | resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==}
584 |
585 | configstore@7.0.0:
586 | resolution: {integrity: sha512-yk7/5PN5im4qwz0WFZW3PXnzHgPu9mX29Y8uZ3aefe2lBPC1FYttWZRcaW9fKkT0pBCJyuQ2HfbmPVaODi9jcQ==}
587 | engines: {node: '>=18'}
588 |
589 | core-util-is@1.0.3:
590 | resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
591 |
592 | cross-spawn@7.0.6:
593 | resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
594 | engines: {node: '>= 8'}
595 |
596 | css-color-keywords@1.0.0:
597 | resolution: {integrity: sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==}
598 | engines: {node: '>=4'}
599 |
600 | css-select@5.1.0:
601 | resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==}
602 |
603 | css-to-react-native@3.2.0:
604 | resolution: {integrity: sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==}
605 |
606 | css-what@6.1.0:
607 | resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==}
608 | engines: {node: '>= 6'}
609 |
610 | csstype@3.1.3:
611 | resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
612 |
613 | debounce@1.2.1:
614 | resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==}
615 |
616 | debug@2.6.9:
617 | resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
618 | peerDependencies:
619 | supports-color: '*'
620 | peerDependenciesMeta:
621 | supports-color:
622 | optional: true
623 |
624 | debug@4.3.7:
625 | resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==}
626 | engines: {node: '>=6.0'}
627 | peerDependencies:
628 | supports-color: '*'
629 | peerDependenciesMeta:
630 | supports-color:
631 | optional: true
632 |
633 | debug@4.4.0:
634 | resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==}
635 | engines: {node: '>=6.0'}
636 | peerDependencies:
637 | supports-color: '*'
638 | peerDependenciesMeta:
639 | supports-color:
640 | optional: true
641 |
642 | decamelize@6.0.0:
643 | resolution: {integrity: sha512-Fv96DCsdOgB6mdGl67MT5JaTNKRzrzill5OH5s8bjYJXVlcXyPYGyPsUkWyGV5p1TXI5esYIYMMeDJL0hEIwaA==}
644 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
645 |
646 | deep-extend@0.6.0:
647 | resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==}
648 | engines: {node: '>=4.0.0'}
649 |
650 | deep-is@0.1.4:
651 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
652 |
653 | deepmerge@4.3.1:
654 | resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
655 | engines: {node: '>=0.10.0'}
656 |
657 | default-browser-id@3.0.0:
658 | resolution: {integrity: sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==}
659 | engines: {node: '>=12'}
660 |
661 | default-browser@4.0.0:
662 | resolution: {integrity: sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==}
663 | engines: {node: '>=14.16'}
664 |
665 | defaults@1.0.4:
666 | resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==}
667 |
668 | define-lazy-prop@3.0.0:
669 | resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==}
670 | engines: {node: '>=12'}
671 |
672 | detect-libc@2.0.3:
673 | resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==}
674 | engines: {node: '>=8'}
675 |
676 | doctrine@3.0.0:
677 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
678 | engines: {node: '>=6.0.0'}
679 |
680 | dom-serializer@2.0.0:
681 | resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==}
682 |
683 | domelementtype@2.3.0:
684 | resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
685 |
686 | domhandler@5.0.3:
687 | resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==}
688 | engines: {node: '>= 4'}
689 |
690 | domutils@3.2.2:
691 | resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==}
692 |
693 | dot-prop@9.0.0:
694 | resolution: {integrity: sha512-1gxPBJpI/pcjQhKgIU91II6Wkay+dLcN3M6rf2uwP8hRur3HtQXjVrdAK3sjC0piaEuxzMwjXChcETiJl47lAQ==}
695 | engines: {node: '>=18'}
696 |
697 | emoji-regex@10.4.0:
698 | resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==}
699 |
700 | emoji-regex@8.0.0:
701 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
702 |
703 | entities@4.5.0:
704 | resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
705 | engines: {node: '>=0.12'}
706 |
707 | error-ex@1.3.2:
708 | resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
709 |
710 | es6-error@4.1.1:
711 | resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==}
712 |
713 | escalade@3.2.0:
714 | resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
715 | engines: {node: '>=6'}
716 |
717 | escape-goat@4.0.0:
718 | resolution: {integrity: sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==}
719 | engines: {node: '>=12'}
720 |
721 | escape-string-regexp@4.0.0:
722 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
723 | engines: {node: '>=10'}
724 |
725 | eslint-plugin-no-unsanitized@4.1.2:
726 | resolution: {integrity: sha512-ydF3PMFKEIkP71ZbLHFvu6/FW8SvRv6VV/gECfrQkqyD5+5oCAtPz8ZHy0GRuMDtNe2jsNdPCQXX4LSbkapAVQ==}
727 | peerDependencies:
728 | eslint: ^8 || ^9
729 |
730 | eslint-scope@7.2.2:
731 | resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
732 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
733 |
734 | eslint-visitor-keys@3.4.3:
735 | resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
736 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
737 |
738 | eslint-visitor-keys@4.2.0:
739 | resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==}
740 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
741 |
742 | eslint@8.57.1:
743 | resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==}
744 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
745 | deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options.
746 | hasBin: true
747 |
748 | espree@10.3.0:
749 | resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==}
750 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
751 |
752 | espree@9.6.1:
753 | resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
754 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
755 |
756 | esprima@4.0.1:
757 | resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
758 | engines: {node: '>=4'}
759 | hasBin: true
760 |
761 | esquery@1.6.0:
762 | resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==}
763 | engines: {node: '>=0.10'}
764 |
765 | esrecurse@4.3.0:
766 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
767 | engines: {node: '>=4.0'}
768 |
769 | estraverse@5.3.0:
770 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
771 | engines: {node: '>=4.0'}
772 |
773 | esutils@2.0.3:
774 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
775 | engines: {node: '>=0.10.0'}
776 |
777 | event-target-shim@5.0.1:
778 | resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==}
779 | engines: {node: '>=6'}
780 |
781 | events@3.3.0:
782 | resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
783 | engines: {node: '>=0.8.x'}
784 |
785 | execa@5.1.1:
786 | resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
787 | engines: {node: '>=10'}
788 |
789 | execa@7.2.0:
790 | resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==}
791 | engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0}
792 |
793 | fast-deep-equal@3.1.3:
794 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
795 |
796 | fast-json-patch@3.1.1:
797 | resolution: {integrity: sha512-vf6IHUX2SBcA+5/+4883dsIjpBTqmfBjmYiWK1savxQmFk4JfBMLa7ynTYOs1Rolp/T1betJxHiGD3g1Mn8lUQ==}
798 |
799 | fast-json-stable-stringify@2.1.0:
800 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
801 |
802 | fast-levenshtein@2.0.6:
803 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
804 |
805 | fast-redact@3.5.0:
806 | resolution: {integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==}
807 | engines: {node: '>=6'}
808 |
809 | fast-uri@3.0.6:
810 | resolution: {integrity: sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==}
811 |
812 | fastq@1.19.0:
813 | resolution: {integrity: sha512-7SFSRCNjBQIZH/xZR3iy5iQYR8aGBE0h3VG6/cwlbrpdciNYBMotQav8c1XI3HjHH+NikUpP53nPdlZSdWmFzA==}
814 |
815 | fd-slicer@1.1.0:
816 | resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==}
817 |
818 | file-entry-cache@6.0.1:
819 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
820 | engines: {node: ^10.12.0 || >=12.0.0}
821 |
822 | find-up@5.0.0:
823 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
824 | engines: {node: '>=10'}
825 |
826 | firefox-profile@4.7.0:
827 | resolution: {integrity: sha512-aGApEu5bfCNbA4PGUZiRJAIU6jKmghV2UVdklXAofnNtiDjqYw0czLS46W7IfFqVKgKhFB8Ao2YoNGHY4BoIMQ==}
828 | engines: {node: '>=18'}
829 | hasBin: true
830 |
831 | first-chunk-stream@3.0.0:
832 | resolution: {integrity: sha512-LNRvR4hr/S8cXXkIY5pTgVP7L3tq6LlYWcg9nWBuW7o1NMxKZo6oOVa/6GIekMGI0Iw7uC+HWimMe9u/VAeKqw==}
833 | engines: {node: '>=8'}
834 |
835 | flat-cache@3.2.0:
836 | resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
837 | engines: {node: ^10.12.0 || >=12.0.0}
838 |
839 | flatted@3.3.2:
840 | resolution: {integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==}
841 |
842 | fs-extra@11.3.0:
843 | resolution: {integrity: sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==}
844 | engines: {node: '>=14.14'}
845 |
846 | fs.realpath@1.0.0:
847 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
848 |
849 | fx-runner@1.4.0:
850 | resolution: {integrity: sha512-rci1g6U0rdTg6bAaBboP7XdRu01dzTAaKXxFf+PUqGuCv6Xu7o8NZdY1D5MvKGIjb6EdS1g3VlXOgksir1uGkg==}
851 | hasBin: true
852 |
853 | get-caller-file@2.0.5:
854 | resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
855 | engines: {node: 6.* || 8.* || >= 10.*}
856 |
857 | get-east-asian-width@1.3.0:
858 | resolution: {integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==}
859 | engines: {node: '>=18'}
860 |
861 | get-stream@6.0.1:
862 | resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
863 | engines: {node: '>=10'}
864 |
865 | glob-parent@6.0.2:
866 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
867 | engines: {node: '>=10.13.0'}
868 |
869 | glob-to-regexp@0.4.1:
870 | resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==}
871 |
872 | glob@7.2.3:
873 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
874 | deprecated: Glob versions prior to v9 are no longer supported
875 |
876 | global-directory@4.0.1:
877 | resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==}
878 | engines: {node: '>=18'}
879 |
880 | globals@13.24.0:
881 | resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
882 | engines: {node: '>=8'}
883 |
884 | graceful-fs@4.2.10:
885 | resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==}
886 |
887 | graceful-fs@4.2.11:
888 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
889 |
890 | graceful-readlink@1.0.1:
891 | resolution: {integrity: sha512-8tLu60LgxF6XpdbK8OW3FA+IfTNBn1ZHGHKF4KQbEeSkajYw5PlYJcKluntgegDPTg8UkHjpet1T82vk6TQ68w==}
892 |
893 | graphemer@1.4.0:
894 | resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
895 |
896 | growly@1.3.0:
897 | resolution: {integrity: sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==}
898 |
899 | has-flag@4.0.0:
900 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
901 | engines: {node: '>=8'}
902 |
903 | hoist-non-react-statics@3.3.2:
904 | resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==}
905 |
906 | htmlparser2@8.0.2:
907 | resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==}
908 |
909 | https-proxy-agent@7.0.6:
910 | resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==}
911 | engines: {node: '>= 14'}
912 |
913 | human-signals@2.1.0:
914 | resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
915 | engines: {node: '>=10.17.0'}
916 |
917 | human-signals@4.3.1:
918 | resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==}
919 | engines: {node: '>=14.18.0'}
920 |
921 | ieee754@1.2.1:
922 | resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
923 |
924 | ignore@5.3.2:
925 | resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
926 | engines: {node: '>= 4'}
927 |
928 | image-size@1.2.0:
929 | resolution: {integrity: sha512-4S8fwbO6w3GeCVN6OPtA9I5IGKkcDMPcKndtUlpJuCwu7JLjtj7JZpwqLuyY2nrmQT3AWsCJLSKPsc2mPBSl3w==}
930 | engines: {node: '>=16.x'}
931 | hasBin: true
932 |
933 | immediate@3.0.6:
934 | resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==}
935 |
936 | import-fresh@3.3.0:
937 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
938 | engines: {node: '>=6'}
939 |
940 | imurmurhash@0.1.4:
941 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
942 | engines: {node: '>=0.8.19'}
943 |
944 | inflight@1.0.6:
945 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
946 | deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
947 |
948 | inherits@2.0.4:
949 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
950 |
951 | ini@1.3.8:
952 | resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
953 |
954 | ini@4.1.1:
955 | resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==}
956 | engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
957 |
958 | ini@4.1.3:
959 | resolution: {integrity: sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==}
960 | engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
961 |
962 | is-absolute@0.1.7:
963 | resolution: {integrity: sha512-Xi9/ZSn4NFapG8RP98iNPMOeaV3mXPisxKxzKtHVqr3g56j/fBn+yZmnxSVAA8lmZbl2J9b/a4kJvfU3hqQYgA==}
964 | engines: {node: '>=0.10.0'}
965 |
966 | is-arrayish@0.2.1:
967 | resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
968 |
969 | is-arrayish@0.3.2:
970 | resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==}
971 |
972 | is-docker@2.2.1:
973 | resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
974 | engines: {node: '>=8'}
975 | hasBin: true
976 |
977 | is-docker@3.0.0:
978 | resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==}
979 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
980 | hasBin: true
981 |
982 | is-extglob@2.1.1:
983 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
984 | engines: {node: '>=0.10.0'}
985 |
986 | is-fullwidth-code-point@3.0.0:
987 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
988 | engines: {node: '>=8'}
989 |
990 | is-glob@4.0.3:
991 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
992 | engines: {node: '>=0.10.0'}
993 |
994 | is-in-ci@1.0.0:
995 | resolution: {integrity: sha512-eUuAjybVTHMYWm/U+vBO1sY/JOCgoPCXRxzdju0K+K0BiGW0SChEL1MLC0PoCIR1OlPo5YAp8HuQoUlsWEICwg==}
996 | engines: {node: '>=18'}
997 | hasBin: true
998 |
999 | is-inside-container@1.0.0:
1000 | resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==}
1001 | engines: {node: '>=14.16'}
1002 | hasBin: true
1003 |
1004 | is-installed-globally@1.0.0:
1005 | resolution: {integrity: sha512-K55T22lfpQ63N4KEN57jZUAaAYqYHEe8veb/TycJRk9DdSCLLcovXz/mL6mOnhQaZsQGwPhuFopdQIlqGSEjiQ==}
1006 | engines: {node: '>=18'}
1007 |
1008 | is-npm@6.0.0:
1009 | resolution: {integrity: sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==}
1010 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
1011 |
1012 | is-path-inside@3.0.3:
1013 | resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
1014 | engines: {node: '>=8'}
1015 |
1016 | is-path-inside@4.0.0:
1017 | resolution: {integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==}
1018 | engines: {node: '>=12'}
1019 |
1020 | is-relative@0.1.3:
1021 | resolution: {integrity: sha512-wBOr+rNM4gkAZqoLRJI4myw5WzzIdQosFAAbnvfXP5z1LyzgAI3ivOKehC5KfqlQJZoihVhirgtCBj378Eg8GA==}
1022 | engines: {node: '>=0.10.0'}
1023 |
1024 | is-stream@2.0.1:
1025 | resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
1026 | engines: {node: '>=8'}
1027 |
1028 | is-stream@3.0.0:
1029 | resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==}
1030 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
1031 |
1032 | is-utf8@0.2.1:
1033 | resolution: {integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==}
1034 |
1035 | is-wsl@2.2.0:
1036 | resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
1037 | engines: {node: '>=8'}
1038 |
1039 | isarray@1.0.0:
1040 | resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
1041 |
1042 | isexe@1.1.2:
1043 | resolution: {integrity: sha512-d2eJzK691yZwPHcv1LbeAOa91yMJ9QmfTgSO1oXB65ezVhXQsxBac2vEB4bMVms9cGzaA99n6V2viHMq82VLDw==}
1044 |
1045 | isexe@2.0.0:
1046 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
1047 |
1048 | jose@5.9.6:
1049 | resolution: {integrity: sha512-AMlnetc9+CV9asI19zHmrgS/WYsWUwCn2R7RzlbJWD7F9eWYUTGyBmU9o6PxngtLGOiDGPRu+Uc4fhKzbpteZQ==}
1050 |
1051 | js-tokens@4.0.0:
1052 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
1053 |
1054 | js-yaml@4.1.0:
1055 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
1056 | hasBin: true
1057 |
1058 | json-buffer@3.0.1:
1059 | resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
1060 |
1061 | json-merge-patch@1.0.2:
1062 | resolution: {integrity: sha512-M6Vp2GN9L7cfuMXiWOmHj9bEFbeC250iVtcKQbqVgEsDVYnIsrNsbU+h/Y/PkbBQCtEa4Bez+Ebv0zfbC8ObLg==}
1063 |
1064 | json-parse-even-better-errors@3.0.2:
1065 | resolution: {integrity: sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==}
1066 | engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
1067 |
1068 | json-schema-traverse@0.4.1:
1069 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
1070 |
1071 | json-schema-traverse@1.0.0:
1072 | resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
1073 |
1074 | json-stable-stringify-without-jsonify@1.0.1:
1075 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
1076 |
1077 | jsonfile@6.1.0:
1078 | resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
1079 |
1080 | jszip@3.10.1:
1081 | resolution: {integrity: sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==}
1082 |
1083 | keyv@4.5.4:
1084 | resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
1085 |
1086 | ky@1.7.5:
1087 | resolution: {integrity: sha512-HzhziW6sc5m0pwi5M196+7cEBtbt0lCYi67wNsiwMUmz833wloE0gbzJPWKs1gliFKQb34huItDQX97LyOdPdA==}
1088 | engines: {node: '>=18'}
1089 |
1090 | latest-version@9.0.0:
1091 | resolution: {integrity: sha512-7W0vV3rqv5tokqkBAFV1LbR7HPOWzXQDpDgEuib/aJ1jsZZx6x3c2mBI+TJhJzOhkGeaLbCKEHXEXLfirtG2JA==}
1092 | engines: {node: '>=18'}
1093 |
1094 | levn@0.4.1:
1095 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
1096 | engines: {node: '>= 0.8.0'}
1097 |
1098 | lie@3.3.0:
1099 | resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==}
1100 |
1101 | lighthouse-logger@2.0.1:
1102 | resolution: {integrity: sha512-ioBrW3s2i97noEmnXxmUq7cjIcVRjT5HBpAYy8zE11CxU9HqlWHHeRxfeN1tn8F7OEMVPIC9x1f8t3Z7US9ehQ==}
1103 |
1104 | lines-and-columns@2.0.4:
1105 | resolution: {integrity: sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==}
1106 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
1107 |
1108 | locate-path@6.0.0:
1109 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
1110 | engines: {node: '>=10'}
1111 |
1112 | lodash.debounce@4.0.8:
1113 | resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
1114 |
1115 | lodash.merge@4.6.2:
1116 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
1117 |
1118 | make-error@1.3.6:
1119 | resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==}
1120 |
1121 | marky@1.2.5:
1122 | resolution: {integrity: sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q==}
1123 |
1124 | merge-stream@2.0.0:
1125 | resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
1126 |
1127 | mimic-fn@2.1.0:
1128 | resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
1129 | engines: {node: '>=6'}
1130 |
1131 | mimic-fn@4.0.0:
1132 | resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==}
1133 | engines: {node: '>=12'}
1134 |
1135 | minimatch@3.1.2:
1136 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
1137 |
1138 | minimist@1.2.8:
1139 | resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
1140 |
1141 | ms@2.0.0:
1142 | resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
1143 |
1144 | ms@2.1.3:
1145 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
1146 |
1147 | multimatch@6.0.0:
1148 | resolution: {integrity: sha512-I7tSVxHGPlmPN/enE3mS1aOSo6bWBfls+3HmuEeCUBCE7gWnm3cBXCBkpurzFjVRwC6Kld8lLaZ1Iv5vOcjvcQ==}
1149 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
1150 |
1151 | nanoid@3.3.8:
1152 | resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==}
1153 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
1154 | hasBin: true
1155 |
1156 | natural-compare@1.4.0:
1157 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
1158 |
1159 | next@15.1.7:
1160 | resolution: {integrity: sha512-GNeINPGS9c6OZKCvKypbL8GTsT5GhWPp4DM0fzkXJuXMilOO2EeFxuAY6JZbtk6XIl6Ws10ag3xRINDjSO5+wg==}
1161 | engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0}
1162 | hasBin: true
1163 | peerDependencies:
1164 | '@opentelemetry/api': ^1.1.0
1165 | '@playwright/test': ^1.41.2
1166 | babel-plugin-react-compiler: '*'
1167 | react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0
1168 | react-dom: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0
1169 | sass: ^1.3.0
1170 | peerDependenciesMeta:
1171 | '@opentelemetry/api':
1172 | optional: true
1173 | '@playwright/test':
1174 | optional: true
1175 | babel-plugin-react-compiler:
1176 | optional: true
1177 | sass:
1178 | optional: true
1179 |
1180 | node-forge@1.3.1:
1181 | resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==}
1182 | engines: {node: '>= 6.13.0'}
1183 |
1184 | node-notifier@10.0.1:
1185 | resolution: {integrity: sha512-YX7TSyDukOZ0g+gmzjB6abKu+hTGvO8+8+gIFDsRCU2t8fLV/P2unmt+LGFaIa4y64aX98Qksa97rgz4vMNeLQ==}
1186 |
1187 | npm-run-path@4.0.1:
1188 | resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
1189 | engines: {node: '>=8'}
1190 |
1191 | npm-run-path@5.3.0:
1192 | resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==}
1193 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
1194 |
1195 | nth-check@2.1.1:
1196 | resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
1197 |
1198 | on-exit-leak-free@2.1.2:
1199 | resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==}
1200 | engines: {node: '>=14.0.0'}
1201 |
1202 | once@1.4.0:
1203 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
1204 |
1205 | onetime@5.1.2:
1206 | resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
1207 | engines: {node: '>=6'}
1208 |
1209 | onetime@6.0.0:
1210 | resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==}
1211 | engines: {node: '>=12'}
1212 |
1213 | open@9.1.0:
1214 | resolution: {integrity: sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==}
1215 | engines: {node: '>=14.16'}
1216 |
1217 | optionator@0.9.4:
1218 | resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
1219 | engines: {node: '>= 0.8.0'}
1220 |
1221 | os-shim@0.1.3:
1222 | resolution: {integrity: sha512-jd0cvB8qQ5uVt0lvCIexBaROw1KyKm5sbulg2fWOHjETisuCzWyt+eTZKEMs8v6HwzoGs8xik26jg7eCM6pS+A==}
1223 | engines: {node: '>= 0.4.0'}
1224 |
1225 | p-limit@3.1.0:
1226 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
1227 | engines: {node: '>=10'}
1228 |
1229 | p-locate@5.0.0:
1230 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
1231 | engines: {node: '>=10'}
1232 |
1233 | package-json@10.0.1:
1234 | resolution: {integrity: sha512-ua1L4OgXSBdsu1FPb7F3tYH0F48a6kxvod4pLUlGY9COeJAJQNX/sNH2IiEmsxw7lqYiAwrdHMjz1FctOsyDQg==}
1235 | engines: {node: '>=18'}
1236 |
1237 | pako@1.0.11:
1238 | resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==}
1239 |
1240 | parent-module@1.0.1:
1241 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
1242 | engines: {node: '>=6'}
1243 |
1244 | parse-json@7.1.1:
1245 | resolution: {integrity: sha512-SgOTCX/EZXtZxBE5eJ97P4yGM5n37BwRU+YMsH4vNzFqJV/oWFXXCmwFlgWUM4PrakybVOueJJ6pwHqSVhTFDw==}
1246 | engines: {node: '>=16'}
1247 |
1248 | parse5-htmlparser2-tree-adapter@7.1.0:
1249 | resolution: {integrity: sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==}
1250 |
1251 | parse5@7.2.1:
1252 | resolution: {integrity: sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==}
1253 |
1254 | path-exists@4.0.0:
1255 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
1256 | engines: {node: '>=8'}
1257 |
1258 | path-is-absolute@1.0.1:
1259 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
1260 | engines: {node: '>=0.10.0'}
1261 |
1262 | path-key@3.1.1:
1263 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
1264 | engines: {node: '>=8'}
1265 |
1266 | path-key@4.0.0:
1267 | resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==}
1268 | engines: {node: '>=12'}
1269 |
1270 | pend@1.2.0:
1271 | resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==}
1272 |
1273 | picocolors@1.1.1:
1274 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
1275 |
1276 | pino-abstract-transport@1.2.0:
1277 | resolution: {integrity: sha512-Guhh8EZfPCfH+PMXAb6rKOjGQEoy0xlAIn+irODG5kgfYV+BQ0rGYYWTIel3P5mmyXqkYkPmdIkywsn6QKUR1Q==}
1278 |
1279 | pino-std-serializers@6.2.2:
1280 | resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==}
1281 |
1282 | pino-std-serializers@7.0.0:
1283 | resolution: {integrity: sha512-e906FRY0+tV27iq4juKzSYPbUj2do2X2JX4EzSca1631EB2QJQUqGbDuERal7LCtOpxl6x3+nvo9NPZcmjkiFA==}
1284 |
1285 | pino@8.20.0:
1286 | resolution: {integrity: sha512-uhIfMj5TVp+WynVASaVEJFTncTUe4dHBq6CWplu/vBgvGHhvBvQfxz+vcOrnnBQdORH3izaGEurLfNlq3YxdFQ==}
1287 | hasBin: true
1288 |
1289 | pino@9.4.0:
1290 | resolution: {integrity: sha512-nbkQb5+9YPhQRz/BeQmrWpEknAaqjpAqRK8NwJpmrX/JHu7JuZC5G1CeAwJDJfGes4h+YihC6in3Q2nGb+Y09w==}
1291 | hasBin: true
1292 |
1293 | postcss-value-parser@4.2.0:
1294 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
1295 |
1296 | postcss@8.4.31:
1297 | resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==}
1298 | engines: {node: ^10 || ^12 || >=14}
1299 |
1300 | postcss@8.4.49:
1301 | resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==}
1302 | engines: {node: ^10 || ^12 || >=14}
1303 |
1304 | prelude-ls@1.2.1:
1305 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
1306 | engines: {node: '>= 0.8.0'}
1307 |
1308 | process-nextick-args@2.0.1:
1309 | resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
1310 |
1311 | process-warning@3.0.0:
1312 | resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==}
1313 |
1314 | process-warning@4.0.1:
1315 | resolution: {integrity: sha512-3c2LzQ3rY9d0hc1emcsHhfT9Jwz0cChib/QN89oME2R451w5fy3f0afAhERFZAwrbDU43wk12d0ORBpDVME50Q==}
1316 |
1317 | process@0.11.10:
1318 | resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==}
1319 | engines: {node: '>= 0.6.0'}
1320 |
1321 | promise-toolbox@0.21.0:
1322 | resolution: {integrity: sha512-NV8aTmpwrZv+Iys54sSFOBx3tuVaOBvvrft5PNppnxy9xpU/akHbaWIril22AB22zaPgrgwKdD0KsrM0ptUtpg==}
1323 | engines: {node: '>=6'}
1324 |
1325 | proto-list@1.2.4:
1326 | resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==}
1327 |
1328 | punycode@2.3.1:
1329 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
1330 | engines: {node: '>=6'}
1331 |
1332 | pupa@3.1.0:
1333 | resolution: {integrity: sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==}
1334 | engines: {node: '>=12.20'}
1335 |
1336 | queue-microtask@1.2.3:
1337 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
1338 |
1339 | queue@6.0.2:
1340 | resolution: {integrity: sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==}
1341 |
1342 | quick-format-unescaped@4.0.4:
1343 | resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==}
1344 |
1345 | rc@1.2.8:
1346 | resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==}
1347 | hasBin: true
1348 |
1349 | react-contexify@6.0.0:
1350 | resolution: {integrity: sha512-jMhz6yZI81Jv3UDj7TXqCkhdkCFEEmvwGCPXsQuA2ZUC8EbCuVQ6Cy8FzKMXa0y454XTDClBN2YFvvmoFlrFkg==}
1351 | peerDependencies:
1352 | react: '>=16'
1353 | react-dom: '>=16'
1354 |
1355 | react-dom@19.0.0:
1356 | resolution: {integrity: sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==}
1357 | peerDependencies:
1358 | react: ^19.0.0
1359 |
1360 | react-is@16.13.1:
1361 | resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
1362 |
1363 | react@19.0.0:
1364 | resolution: {integrity: sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==}
1365 | engines: {node: '>=0.10.0'}
1366 |
1367 | readable-stream@2.3.8:
1368 | resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==}
1369 |
1370 | readable-stream@4.7.0:
1371 | resolution: {integrity: sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==}
1372 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1373 |
1374 | real-require@0.2.0:
1375 | resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==}
1376 | engines: {node: '>= 12.13.0'}
1377 |
1378 | regenerator-runtime@0.14.1:
1379 | resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
1380 |
1381 | registry-auth-token@5.1.0:
1382 | resolution: {integrity: sha512-GdekYuwLXLxMuFTwAPg5UKGLW/UXzQrZvH/Zj791BQif5T05T0RsaLfHc9q3ZOKi7n+BoprPD9mJ0O0k4xzUlw==}
1383 | engines: {node: '>=14'}
1384 |
1385 | registry-url@6.0.1:
1386 | resolution: {integrity: sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==}
1387 | engines: {node: '>=12'}
1388 |
1389 | require-directory@2.1.1:
1390 | resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
1391 | engines: {node: '>=0.10.0'}
1392 |
1393 | require-from-string@2.0.2:
1394 | resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
1395 | engines: {node: '>=0.10.0'}
1396 |
1397 | resolve-from@4.0.0:
1398 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
1399 | engines: {node: '>=4'}
1400 |
1401 | reusify@1.0.4:
1402 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
1403 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
1404 |
1405 | rimraf@3.0.2:
1406 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
1407 | deprecated: Rimraf versions prior to v4 are no longer supported
1408 | hasBin: true
1409 |
1410 | run-applescript@5.0.0:
1411 | resolution: {integrity: sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==}
1412 | engines: {node: '>=12'}
1413 |
1414 | run-parallel@1.2.0:
1415 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
1416 |
1417 | safe-buffer@5.1.2:
1418 | resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
1419 |
1420 | safe-buffer@5.2.1:
1421 | resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
1422 |
1423 | safe-compare@1.1.4:
1424 | resolution: {integrity: sha512-b9wZ986HHCo/HbKrRpBJb2kqXMK9CEWIE1egeEvZsYn69ay3kdfl9nG3RyOcR+jInTDf7a86WQ1d4VJX7goSSQ==}
1425 |
1426 | safe-stable-stringify@2.5.0:
1427 | resolution: {integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==}
1428 | engines: {node: '>=10'}
1429 |
1430 | sax@1.4.1:
1431 | resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==}
1432 |
1433 | scheduler@0.25.0:
1434 | resolution: {integrity: sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==}
1435 |
1436 | semver@7.6.3:
1437 | resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==}
1438 | engines: {node: '>=10'}
1439 | hasBin: true
1440 |
1441 | semver@7.7.1:
1442 | resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==}
1443 | engines: {node: '>=10'}
1444 | hasBin: true
1445 |
1446 | setimmediate@1.0.5:
1447 | resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==}
1448 |
1449 | shallowequal@1.1.0:
1450 | resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==}
1451 |
1452 | sharp@0.33.5:
1453 | resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==}
1454 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
1455 |
1456 | shebang-command@2.0.0:
1457 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
1458 | engines: {node: '>=8'}
1459 |
1460 | shebang-regex@3.0.0:
1461 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
1462 | engines: {node: '>=8'}
1463 |
1464 | shell-quote@1.7.3:
1465 | resolution: {integrity: sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==}
1466 |
1467 | shellwords@0.1.1:
1468 | resolution: {integrity: sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==}
1469 |
1470 | signal-exit@3.0.7:
1471 | resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
1472 |
1473 | simple-swizzle@0.2.2:
1474 | resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==}
1475 |
1476 | sonic-boom@3.8.1:
1477 | resolution: {integrity: sha512-y4Z8LCDBuum+PBP3lSV7RHrXscqksve/bi0as7mhwVnBW+/wUqKT/2Kb7um8yqcFy0duYbbPxzt89Zy2nOCaxg==}
1478 |
1479 | sonic-boom@4.2.0:
1480 | resolution: {integrity: sha512-INb7TM37/mAcsGmc9hyyI6+QR3rR1zVRu36B0NeGXKnOOLiZOfER5SA+N7X7k3yUYRzLWafduTDvJAfDswwEww==}
1481 |
1482 | source-map-js@1.2.1:
1483 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
1484 | engines: {node: '>=0.10.0'}
1485 |
1486 | source-map-support@0.5.21:
1487 | resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
1488 |
1489 | source-map@0.6.1:
1490 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
1491 | engines: {node: '>=0.10.0'}
1492 |
1493 | spawn-sync@1.0.15:
1494 | resolution: {integrity: sha512-9DWBgrgYZzNghseho0JOuh+5fg9u6QWhAWa51QC7+U5rCheZ/j1DrEZnyE0RBBRqZ9uEXGPgSSM0nky6burpVw==}
1495 |
1496 | split2@4.2.0:
1497 | resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==}
1498 | engines: {node: '>= 10.x'}
1499 |
1500 | split@1.0.1:
1501 | resolution: {integrity: sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==}
1502 |
1503 | streamsearch@1.1.0:
1504 | resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==}
1505 | engines: {node: '>=10.0.0'}
1506 |
1507 | string-width@4.2.3:
1508 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
1509 | engines: {node: '>=8'}
1510 |
1511 | string-width@7.2.0:
1512 | resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==}
1513 | engines: {node: '>=18'}
1514 |
1515 | string_decoder@1.1.1:
1516 | resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==}
1517 |
1518 | string_decoder@1.3.0:
1519 | resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
1520 |
1521 | strip-ansi@6.0.1:
1522 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
1523 | engines: {node: '>=8'}
1524 |
1525 | strip-ansi@7.1.0:
1526 | resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
1527 | engines: {node: '>=12'}
1528 |
1529 | strip-bom-buf@2.0.0:
1530 | resolution: {integrity: sha512-gLFNHucd6gzb8jMsl5QmZ3QgnUJmp7qn4uUSHNwEXumAp7YizoGYw19ZUVfuq4aBOQUtyn2k8X/CwzWB73W2lQ==}
1531 | engines: {node: '>=8'}
1532 |
1533 | strip-bom-stream@4.0.0:
1534 | resolution: {integrity: sha512-0ApK3iAkHv6WbgLICw/J4nhwHeDZsBxIIsOD+gHgZICL6SeJ0S9f/WZqemka9cjkTyMN5geId6e8U5WGFAn3cQ==}
1535 | engines: {node: '>=8'}
1536 |
1537 | strip-bom@5.0.0:
1538 | resolution: {integrity: sha512-p+byADHF7SzEcVnLvc/r3uognM1hUhObuHXxJcgLCfD194XAkaLbjq3Wzb0N5G2tgIjH0dgT708Z51QxMeu60A==}
1539 | engines: {node: '>=12'}
1540 |
1541 | strip-final-newline@2.0.0:
1542 | resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
1543 | engines: {node: '>=6'}
1544 |
1545 | strip-final-newline@3.0.0:
1546 | resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
1547 | engines: {node: '>=12'}
1548 |
1549 | strip-json-comments@2.0.1:
1550 | resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==}
1551 | engines: {node: '>=0.10.0'}
1552 |
1553 | strip-json-comments@3.1.1:
1554 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
1555 | engines: {node: '>=8'}
1556 |
1557 | strip-json-comments@5.0.1:
1558 | resolution: {integrity: sha512-0fk9zBqO67Nq5M/m45qHCJxylV/DhBlIOVExqgOMiCCrzrhU6tCibRXNqE3jwJLftzE9SNuZtYbpzcO+i9FiKw==}
1559 | engines: {node: '>=14.16'}
1560 |
1561 | stubborn-fs@1.2.5:
1562 | resolution: {integrity: sha512-H2N9c26eXjzL/S/K+i/RHHcFanE74dptvvjM8iwzwbVcWY/zjBbgRqF3K0DY4+OD+uTTASTBvDoxPDaPN02D7g==}
1563 |
1564 | styled-components@6.1.15:
1565 | resolution: {integrity: sha512-PpOTEztW87Ua2xbmLa7yssjNyUF9vE7wdldRfn1I2E6RTkqknkBYpj771OxM/xrvRGinLy2oysa7GOd7NcZZIA==}
1566 | engines: {node: '>= 16'}
1567 | peerDependencies:
1568 | react: '>= 16.8.0'
1569 | react-dom: '>= 16.8.0'
1570 |
1571 | styled-jsx@5.1.6:
1572 | resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==}
1573 | engines: {node: '>= 12.0.0'}
1574 | peerDependencies:
1575 | '@babel/core': '*'
1576 | babel-plugin-macros: '*'
1577 | react: '>= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0'
1578 | peerDependenciesMeta:
1579 | '@babel/core':
1580 | optional: true
1581 | babel-plugin-macros:
1582 | optional: true
1583 |
1584 | stylis@4.3.2:
1585 | resolution: {integrity: sha512-bhtUjWd/z6ltJiQwg0dUfxEJ+W+jdqQd8TbWLWyeIJHlnsqmGLRFFd8e5mA0AZi/zx90smXRlN66YMTcaSFifg==}
1586 |
1587 | supports-color@7.2.0:
1588 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
1589 | engines: {node: '>=8'}
1590 |
1591 | text-table@0.2.0:
1592 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
1593 |
1594 | thread-stream@2.7.0:
1595 | resolution: {integrity: sha512-qQiRWsU/wvNolI6tbbCKd9iKaTnCXsTwVxhhKM6nctPdujTyztjlbUkUTUymidWcMnZ5pWR0ej4a0tjsW021vw==}
1596 |
1597 | thread-stream@3.1.0:
1598 | resolution: {integrity: sha512-OqyPZ9u96VohAyMfJykzmivOrY2wfMSf3C5TtFJVgN+Hm6aj+voFhlK+kZEIv2FBh1X6Xp3DlnCOfEQ3B2J86A==}
1599 |
1600 | through@2.3.8:
1601 | resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
1602 |
1603 | titleize@3.0.0:
1604 | resolution: {integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==}
1605 | engines: {node: '>=12'}
1606 |
1607 | tmp@0.2.3:
1608 | resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==}
1609 | engines: {node: '>=14.14'}
1610 |
1611 | tslib@2.6.2:
1612 | resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
1613 |
1614 | tslib@2.8.1:
1615 | resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
1616 |
1617 | type-check@0.4.0:
1618 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
1619 | engines: {node: '>= 0.8.0'}
1620 |
1621 | type-fest@0.20.2:
1622 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
1623 | engines: {node: '>=10'}
1624 |
1625 | type-fest@3.13.1:
1626 | resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==}
1627 | engines: {node: '>=14.16'}
1628 |
1629 | type-fest@4.34.1:
1630 | resolution: {integrity: sha512-6kSc32kT0rbwxD6QL1CYe8IqdzN/J/ILMrNK+HMQCKH3insCDRY/3ITb0vcBss0a3t72fzh2YSzj8ko1HgwT3g==}
1631 | engines: {node: '>=16'}
1632 |
1633 | typedarray@0.0.6:
1634 | resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==}
1635 |
1636 | typescript@5.7.3:
1637 | resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==}
1638 | engines: {node: '>=14.17'}
1639 | hasBin: true
1640 |
1641 | undici-types@6.20.0:
1642 | resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==}
1643 |
1644 | universalify@2.0.1:
1645 | resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
1646 | engines: {node: '>= 10.0.0'}
1647 |
1648 | untildify@4.0.0:
1649 | resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==}
1650 | engines: {node: '>=8'}
1651 |
1652 | upath@2.0.1:
1653 | resolution: {integrity: sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==}
1654 | engines: {node: '>=4'}
1655 |
1656 | update-notifier@7.3.1:
1657 | resolution: {integrity: sha512-+dwUY4L35XFYEzE+OAL3sarJdUioVovq+8f7lcIJ7wnmnYQV5UD1Y/lcwaMSyaQ6Bj3JMj1XSTjZbNLHn/19yA==}
1658 | engines: {node: '>=18'}
1659 |
1660 | uri-js@4.4.1:
1661 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
1662 |
1663 | util-deprecate@1.0.2:
1664 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
1665 |
1666 | uuid@8.3.2:
1667 | resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==}
1668 | hasBin: true
1669 |
1670 | watchpack@2.4.2:
1671 | resolution: {integrity: sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==}
1672 | engines: {node: '>=10.13.0'}
1673 |
1674 | wcwidth@1.0.1:
1675 | resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==}
1676 |
1677 | web-ext@8.4.0:
1678 | resolution: {integrity: sha512-zO0GNacJeqw3fwbBvgHC2G8reieyN+oCKiMQepX3iv2fm9KEBqg1gdbcdEvi7edfj+gjgxyXhVlFcHIvcEM2Cg==}
1679 | engines: {node: '>=18.0.0', npm: '>=8.0.0'}
1680 | hasBin: true
1681 |
1682 | when-exit@2.1.4:
1683 | resolution: {integrity: sha512-4rnvd3A1t16PWzrBUcSDZqcAmsUIy4minDXT/CZ8F2mVDgd65i4Aalimgz1aQkRGU0iH5eT5+6Rx2TK8o443Pg==}
1684 |
1685 | when@3.7.7:
1686 | resolution: {integrity: sha512-9lFZp/KHoqH6bPKjbWqa+3Dg/K/r2v0X/3/G2x4DBGchVS2QX2VXL3cZV994WQVnTM1/PD71Az25nAzryEUugw==}
1687 |
1688 | which@1.2.4:
1689 | resolution: {integrity: sha512-zDRAqDSBudazdfM9zpiI30Fu9ve47htYXcGi3ln0wfKu2a7SmrT6F3VDoYONu//48V8Vz4TdCRNPjtvyRO3yBA==}
1690 | hasBin: true
1691 |
1692 | which@2.0.2:
1693 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
1694 | engines: {node: '>= 8'}
1695 | hasBin: true
1696 |
1697 | widest-line@5.0.0:
1698 | resolution: {integrity: sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==}
1699 | engines: {node: '>=18'}
1700 |
1701 | winreg@0.0.12:
1702 | resolution: {integrity: sha512-typ/+JRmi7RqP1NanzFULK36vczznSNN8kWVA9vIqXyv8GhghUlwhGp1Xj3Nms1FsPcNnsQrJOR10N58/nQ9hQ==}
1703 |
1704 | word-wrap@1.2.5:
1705 | resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
1706 | engines: {node: '>=0.10.0'}
1707 |
1708 | wrap-ansi@7.0.0:
1709 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
1710 | engines: {node: '>=10'}
1711 |
1712 | wrap-ansi@9.0.0:
1713 | resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==}
1714 | engines: {node: '>=18'}
1715 |
1716 | wrappy@1.0.2:
1717 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
1718 |
1719 | ws@8.18.0:
1720 | resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==}
1721 | engines: {node: '>=10.0.0'}
1722 | peerDependencies:
1723 | bufferutil: ^4.0.1
1724 | utf-8-validate: '>=5.0.2'
1725 | peerDependenciesMeta:
1726 | bufferutil:
1727 | optional: true
1728 | utf-8-validate:
1729 | optional: true
1730 |
1731 | xdg-basedir@5.1.0:
1732 | resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==}
1733 | engines: {node: '>=12'}
1734 |
1735 | xml2js@0.6.2:
1736 | resolution: {integrity: sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==}
1737 | engines: {node: '>=4.0.0'}
1738 |
1739 | xmlbuilder@11.0.1:
1740 | resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==}
1741 | engines: {node: '>=4.0'}
1742 |
1743 | y18n@5.0.8:
1744 | resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
1745 | engines: {node: '>=10'}
1746 |
1747 | yargs-parser@21.1.1:
1748 | resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
1749 | engines: {node: '>=12'}
1750 |
1751 | yargs@17.7.2:
1752 | resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
1753 | engines: {node: '>=12'}
1754 |
1755 | yauzl@2.10.0:
1756 | resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==}
1757 |
1758 | yocto-queue@0.1.0:
1759 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
1760 | engines: {node: '>=10'}
1761 |
1762 | zip-dir@2.0.0:
1763 | resolution: {integrity: sha512-uhlsJZWz26FLYXOD6WVuq+fIcZ3aBPGo/cFdiLlv3KNwpa52IF3ISV8fLhQLiqVu5No3VhlqlgthN6gehil1Dg==}
1764 |
1765 | snapshots:
1766 |
1767 | '@babel/code-frame@7.26.2':
1768 | dependencies:
1769 | '@babel/helper-validator-identifier': 7.25.9
1770 | js-tokens: 4.0.0
1771 | picocolors: 1.1.1
1772 |
1773 | '@babel/helper-validator-identifier@7.25.9': {}
1774 |
1775 | '@babel/runtime@7.26.7':
1776 | dependencies:
1777 | regenerator-runtime: 0.14.1
1778 |
1779 | '@devicefarmer/adbkit-logcat@2.1.3': {}
1780 |
1781 | '@devicefarmer/adbkit-monkey@1.2.1': {}
1782 |
1783 | '@devicefarmer/adbkit@3.3.8':
1784 | dependencies:
1785 | '@devicefarmer/adbkit-logcat': 2.1.3
1786 | '@devicefarmer/adbkit-monkey': 1.2.1
1787 | bluebird: 3.7.2
1788 | commander: 9.5.0
1789 | debug: 4.3.7
1790 | node-forge: 1.3.1
1791 | split: 1.0.1
1792 | transitivePeerDependencies:
1793 | - supports-color
1794 |
1795 | '@emnapi/runtime@1.3.1':
1796 | dependencies:
1797 | tslib: 2.8.1
1798 | optional: true
1799 |
1800 | '@emotion/is-prop-valid@1.2.2':
1801 | dependencies:
1802 | '@emotion/memoize': 0.8.1
1803 |
1804 | '@emotion/memoize@0.8.1': {}
1805 |
1806 | '@emotion/unitless@0.8.1': {}
1807 |
1808 | '@eslint-community/eslint-utils@4.4.1(eslint@8.57.1)':
1809 | dependencies:
1810 | eslint: 8.57.1
1811 | eslint-visitor-keys: 3.4.3
1812 |
1813 | '@eslint-community/regexpp@4.12.1': {}
1814 |
1815 | '@eslint/eslintrc@2.1.4':
1816 | dependencies:
1817 | ajv: 6.12.6
1818 | debug: 4.4.0
1819 | espree: 9.6.1
1820 | globals: 13.24.0
1821 | ignore: 5.3.2
1822 | import-fresh: 3.3.0
1823 | js-yaml: 4.1.0
1824 | minimatch: 3.1.2
1825 | strip-json-comments: 3.1.1
1826 | transitivePeerDependencies:
1827 | - supports-color
1828 |
1829 | '@eslint/js@8.57.1': {}
1830 |
1831 | '@fluent/syntax@0.19.0': {}
1832 |
1833 | '@fregante/relaxed-json@2.0.0': {}
1834 |
1835 | '@humanwhocodes/config-array@0.13.0':
1836 | dependencies:
1837 | '@humanwhocodes/object-schema': 2.0.3
1838 | debug: 4.4.0
1839 | minimatch: 3.1.2
1840 | transitivePeerDependencies:
1841 | - supports-color
1842 |
1843 | '@humanwhocodes/module-importer@1.0.1': {}
1844 |
1845 | '@humanwhocodes/object-schema@2.0.3': {}
1846 |
1847 | '@img/sharp-darwin-arm64@0.33.5':
1848 | optionalDependencies:
1849 | '@img/sharp-libvips-darwin-arm64': 1.0.4
1850 | optional: true
1851 |
1852 | '@img/sharp-darwin-x64@0.33.5':
1853 | optionalDependencies:
1854 | '@img/sharp-libvips-darwin-x64': 1.0.4
1855 | optional: true
1856 |
1857 | '@img/sharp-libvips-darwin-arm64@1.0.4':
1858 | optional: true
1859 |
1860 | '@img/sharp-libvips-darwin-x64@1.0.4':
1861 | optional: true
1862 |
1863 | '@img/sharp-libvips-linux-arm64@1.0.4':
1864 | optional: true
1865 |
1866 | '@img/sharp-libvips-linux-arm@1.0.5':
1867 | optional: true
1868 |
1869 | '@img/sharp-libvips-linux-s390x@1.0.4':
1870 | optional: true
1871 |
1872 | '@img/sharp-libvips-linux-x64@1.0.4':
1873 | optional: true
1874 |
1875 | '@img/sharp-libvips-linuxmusl-arm64@1.0.4':
1876 | optional: true
1877 |
1878 | '@img/sharp-libvips-linuxmusl-x64@1.0.4':
1879 | optional: true
1880 |
1881 | '@img/sharp-linux-arm64@0.33.5':
1882 | optionalDependencies:
1883 | '@img/sharp-libvips-linux-arm64': 1.0.4
1884 | optional: true
1885 |
1886 | '@img/sharp-linux-arm@0.33.5':
1887 | optionalDependencies:
1888 | '@img/sharp-libvips-linux-arm': 1.0.5
1889 | optional: true
1890 |
1891 | '@img/sharp-linux-s390x@0.33.5':
1892 | optionalDependencies:
1893 | '@img/sharp-libvips-linux-s390x': 1.0.4
1894 | optional: true
1895 |
1896 | '@img/sharp-linux-x64@0.33.5':
1897 | optionalDependencies:
1898 | '@img/sharp-libvips-linux-x64': 1.0.4
1899 | optional: true
1900 |
1901 | '@img/sharp-linuxmusl-arm64@0.33.5':
1902 | optionalDependencies:
1903 | '@img/sharp-libvips-linuxmusl-arm64': 1.0.4
1904 | optional: true
1905 |
1906 | '@img/sharp-linuxmusl-x64@0.33.5':
1907 | optionalDependencies:
1908 | '@img/sharp-libvips-linuxmusl-x64': 1.0.4
1909 | optional: true
1910 |
1911 | '@img/sharp-wasm32@0.33.5':
1912 | dependencies:
1913 | '@emnapi/runtime': 1.3.1
1914 | optional: true
1915 |
1916 | '@img/sharp-win32-ia32@0.33.5':
1917 | optional: true
1918 |
1919 | '@img/sharp-win32-x64@0.33.5':
1920 | optional: true
1921 |
1922 | '@mdn/browser-compat-data@5.6.31': {}
1923 |
1924 | '@next/env@15.1.7': {}
1925 |
1926 | '@next/swc-darwin-arm64@15.1.7':
1927 | optional: true
1928 |
1929 | '@next/swc-darwin-x64@15.1.7':
1930 | optional: true
1931 |
1932 | '@next/swc-linux-arm64-gnu@15.1.7':
1933 | optional: true
1934 |
1935 | '@next/swc-linux-arm64-musl@15.1.7':
1936 | optional: true
1937 |
1938 | '@next/swc-linux-x64-gnu@15.1.7':
1939 | optional: true
1940 |
1941 | '@next/swc-linux-x64-musl@15.1.7':
1942 | optional: true
1943 |
1944 | '@next/swc-win32-arm64-msvc@15.1.7':
1945 | optional: true
1946 |
1947 | '@next/swc-win32-x64-msvc@15.1.7':
1948 | optional: true
1949 |
1950 | '@nodelib/fs.scandir@2.1.5':
1951 | dependencies:
1952 | '@nodelib/fs.stat': 2.0.5
1953 | run-parallel: 1.2.0
1954 |
1955 | '@nodelib/fs.stat@2.0.5': {}
1956 |
1957 | '@nodelib/fs.walk@1.2.8':
1958 | dependencies:
1959 | '@nodelib/fs.scandir': 2.1.5
1960 | fastq: 1.19.0
1961 |
1962 | '@pnpm/config.env-replace@1.1.0': {}
1963 |
1964 | '@pnpm/network.ca-file@1.0.2':
1965 | dependencies:
1966 | graceful-fs: 4.2.10
1967 |
1968 | '@pnpm/npm-conf@2.3.1':
1969 | dependencies:
1970 | '@pnpm/config.env-replace': 1.1.0
1971 | '@pnpm/network.ca-file': 1.0.2
1972 | config-chain: 1.1.13
1973 |
1974 | '@swc/counter@0.1.3': {}
1975 |
1976 | '@swc/helpers@0.5.15':
1977 | dependencies:
1978 | tslib: 2.8.1
1979 |
1980 | '@types/hoist-non-react-statics@3.3.6':
1981 | dependencies:
1982 | '@types/react': 19.0.8
1983 | hoist-non-react-statics: 3.3.2
1984 |
1985 | '@types/lodash.debounce@4.0.9':
1986 | dependencies:
1987 | '@types/lodash': 4.17.15
1988 |
1989 | '@types/lodash@4.17.15': {}
1990 |
1991 | '@types/minimatch@3.0.5': {}
1992 |
1993 | '@types/node@22.13.4':
1994 | dependencies:
1995 | undici-types: 6.20.0
1996 |
1997 | '@types/react@19.0.8':
1998 | dependencies:
1999 | csstype: 3.1.3
2000 |
2001 | '@types/styled-components@5.1.34':
2002 | dependencies:
2003 | '@types/hoist-non-react-statics': 3.3.6
2004 | '@types/react': 19.0.8
2005 | csstype: 3.1.3
2006 |
2007 | '@types/stylis@4.2.5': {}
2008 |
2009 | '@types/yauzl@2.10.3':
2010 | dependencies:
2011 | '@types/node': 22.13.4
2012 |
2013 | '@ungap/structured-clone@1.3.0': {}
2014 |
2015 | abort-controller@3.0.0:
2016 | dependencies:
2017 | event-target-shim: 5.0.1
2018 |
2019 | acorn-jsx@5.3.2(acorn@8.14.0):
2020 | dependencies:
2021 | acorn: 8.14.0
2022 |
2023 | acorn@8.14.0: {}
2024 |
2025 | addons-linter@7.8.0(safe-compare@1.1.4):
2026 | dependencies:
2027 | '@fluent/syntax': 0.19.0
2028 | '@fregante/relaxed-json': 2.0.0
2029 | '@mdn/browser-compat-data': 5.6.31
2030 | addons-moz-compare: 1.3.0
2031 | addons-scanner-utils: 9.12.0(safe-compare@1.1.4)
2032 | ajv: 8.17.1
2033 | chalk: 4.1.2
2034 | cheerio: 1.0.0-rc.12
2035 | columnify: 1.6.0
2036 | common-tags: 1.8.2
2037 | deepmerge: 4.3.1
2038 | eslint: 8.57.1
2039 | eslint-plugin-no-unsanitized: 4.1.2(eslint@8.57.1)
2040 | eslint-visitor-keys: 4.2.0
2041 | espree: 10.3.0
2042 | esprima: 4.0.1
2043 | fast-json-patch: 3.1.1
2044 | image-size: 1.2.0
2045 | json-merge-patch: 1.0.2
2046 | pino: 8.20.0
2047 | semver: 7.6.3
2048 | source-map-support: 0.5.21
2049 | upath: 2.0.1
2050 | yargs: 17.7.2
2051 | yauzl: 2.10.0
2052 | transitivePeerDependencies:
2053 | - body-parser
2054 | - express
2055 | - node-fetch
2056 | - safe-compare
2057 | - supports-color
2058 |
2059 | addons-moz-compare@1.3.0: {}
2060 |
2061 | addons-scanner-utils@9.12.0(safe-compare@1.1.4):
2062 | dependencies:
2063 | '@types/yauzl': 2.10.3
2064 | common-tags: 1.8.2
2065 | first-chunk-stream: 3.0.0
2066 | strip-bom-stream: 4.0.0
2067 | upath: 2.0.1
2068 | yauzl: 2.10.0
2069 | optionalDependencies:
2070 | safe-compare: 1.1.4
2071 |
2072 | adm-zip@0.5.16: {}
2073 |
2074 | agent-base@7.1.3: {}
2075 |
2076 | ajv@6.12.6:
2077 | dependencies:
2078 | fast-deep-equal: 3.1.3
2079 | fast-json-stable-stringify: 2.1.0
2080 | json-schema-traverse: 0.4.1
2081 | uri-js: 4.4.1
2082 |
2083 | ajv@8.17.1:
2084 | dependencies:
2085 | fast-deep-equal: 3.1.3
2086 | fast-uri: 3.0.6
2087 | json-schema-traverse: 1.0.0
2088 | require-from-string: 2.0.2
2089 |
2090 | ansi-align@3.0.1:
2091 | dependencies:
2092 | string-width: 4.2.3
2093 |
2094 | ansi-regex@5.0.1: {}
2095 |
2096 | ansi-regex@6.1.0: {}
2097 |
2098 | ansi-styles@4.3.0:
2099 | dependencies:
2100 | color-convert: 2.0.1
2101 |
2102 | ansi-styles@6.2.1: {}
2103 |
2104 | argparse@2.0.1: {}
2105 |
2106 | array-differ@4.0.0: {}
2107 |
2108 | array-union@3.0.1: {}
2109 |
2110 | async@3.2.6: {}
2111 |
2112 | atomic-sleep@1.0.0: {}
2113 |
2114 | atomically@2.0.3:
2115 | dependencies:
2116 | stubborn-fs: 1.2.5
2117 | when-exit: 2.1.4
2118 |
2119 | balanced-match@1.0.2: {}
2120 |
2121 | base64-js@1.5.1: {}
2122 |
2123 | big-integer@1.6.52: {}
2124 |
2125 | bluebird@3.7.2: {}
2126 |
2127 | boolbase@1.0.0: {}
2128 |
2129 | boxen@8.0.1:
2130 | dependencies:
2131 | ansi-align: 3.0.1
2132 | camelcase: 8.0.0
2133 | chalk: 5.4.1
2134 | cli-boxes: 3.0.0
2135 | string-width: 7.2.0
2136 | type-fest: 4.34.1
2137 | widest-line: 5.0.0
2138 | wrap-ansi: 9.0.0
2139 |
2140 | bplist-parser@0.2.0:
2141 | dependencies:
2142 | big-integer: 1.6.52
2143 |
2144 | brace-expansion@1.1.11:
2145 | dependencies:
2146 | balanced-match: 1.0.2
2147 | concat-map: 0.0.1
2148 |
2149 | buffer-alloc-unsafe@1.1.0:
2150 | optional: true
2151 |
2152 | buffer-alloc@1.2.0:
2153 | dependencies:
2154 | buffer-alloc-unsafe: 1.1.0
2155 | buffer-fill: 1.0.0
2156 | optional: true
2157 |
2158 | buffer-crc32@0.2.13: {}
2159 |
2160 | buffer-fill@1.0.0:
2161 | optional: true
2162 |
2163 | buffer-from@1.1.2: {}
2164 |
2165 | buffer@6.0.3:
2166 | dependencies:
2167 | base64-js: 1.5.1
2168 | ieee754: 1.2.1
2169 |
2170 | bundle-name@3.0.0:
2171 | dependencies:
2172 | run-applescript: 5.0.0
2173 |
2174 | busboy@1.6.0:
2175 | dependencies:
2176 | streamsearch: 1.1.0
2177 |
2178 | callsites@3.1.0: {}
2179 |
2180 | camelcase@8.0.0: {}
2181 |
2182 | camelize@1.0.1: {}
2183 |
2184 | caniuse-lite@1.0.30001699: {}
2185 |
2186 | chalk@4.1.2:
2187 | dependencies:
2188 | ansi-styles: 4.3.0
2189 | supports-color: 7.2.0
2190 |
2191 | chalk@5.4.1: {}
2192 |
2193 | cheerio-select@2.1.0:
2194 | dependencies:
2195 | boolbase: 1.0.0
2196 | css-select: 5.1.0
2197 | css-what: 6.1.0
2198 | domelementtype: 2.3.0
2199 | domhandler: 5.0.3
2200 | domutils: 3.2.2
2201 |
2202 | cheerio@1.0.0-rc.12:
2203 | dependencies:
2204 | cheerio-select: 2.1.0
2205 | dom-serializer: 2.0.0
2206 | domhandler: 5.0.3
2207 | domutils: 3.2.2
2208 | htmlparser2: 8.0.2
2209 | parse5: 7.2.1
2210 | parse5-htmlparser2-tree-adapter: 7.1.0
2211 |
2212 | chrome-launcher@1.1.2:
2213 | dependencies:
2214 | '@types/node': 22.13.4
2215 | escape-string-regexp: 4.0.0
2216 | is-wsl: 2.2.0
2217 | lighthouse-logger: 2.0.1
2218 | transitivePeerDependencies:
2219 | - supports-color
2220 |
2221 | cli-boxes@3.0.0: {}
2222 |
2223 | client-only@0.0.1: {}
2224 |
2225 | cliui@8.0.1:
2226 | dependencies:
2227 | string-width: 4.2.3
2228 | strip-ansi: 6.0.1
2229 | wrap-ansi: 7.0.0
2230 |
2231 | clone@1.0.4: {}
2232 |
2233 | clsx@1.2.1: {}
2234 |
2235 | color-convert@2.0.1:
2236 | dependencies:
2237 | color-name: 1.1.4
2238 |
2239 | color-name@1.1.4: {}
2240 |
2241 | color-string@1.9.1:
2242 | dependencies:
2243 | color-name: 1.1.4
2244 | simple-swizzle: 0.2.2
2245 | optional: true
2246 |
2247 | color@4.2.3:
2248 | dependencies:
2249 | color-convert: 2.0.1
2250 | color-string: 1.9.1
2251 | optional: true
2252 |
2253 | columnify@1.6.0:
2254 | dependencies:
2255 | strip-ansi: 6.0.1
2256 | wcwidth: 1.0.1
2257 |
2258 | commander@2.9.0:
2259 | dependencies:
2260 | graceful-readlink: 1.0.1
2261 |
2262 | commander@9.5.0: {}
2263 |
2264 | common-tags@1.8.2: {}
2265 |
2266 | concat-map@0.0.1: {}
2267 |
2268 | concat-stream@1.6.2:
2269 | dependencies:
2270 | buffer-from: 1.1.2
2271 | inherits: 2.0.4
2272 | readable-stream: 2.3.8
2273 | typedarray: 0.0.6
2274 |
2275 | config-chain@1.1.13:
2276 | dependencies:
2277 | ini: 1.3.8
2278 | proto-list: 1.2.4
2279 |
2280 | configstore@7.0.0:
2281 | dependencies:
2282 | atomically: 2.0.3
2283 | dot-prop: 9.0.0
2284 | graceful-fs: 4.2.11
2285 | xdg-basedir: 5.1.0
2286 |
2287 | core-util-is@1.0.3: {}
2288 |
2289 | cross-spawn@7.0.6:
2290 | dependencies:
2291 | path-key: 3.1.1
2292 | shebang-command: 2.0.0
2293 | which: 2.0.2
2294 |
2295 | css-color-keywords@1.0.0: {}
2296 |
2297 | css-select@5.1.0:
2298 | dependencies:
2299 | boolbase: 1.0.0
2300 | css-what: 6.1.0
2301 | domhandler: 5.0.3
2302 | domutils: 3.2.2
2303 | nth-check: 2.1.1
2304 |
2305 | css-to-react-native@3.2.0:
2306 | dependencies:
2307 | camelize: 1.0.1
2308 | css-color-keywords: 1.0.0
2309 | postcss-value-parser: 4.2.0
2310 |
2311 | css-what@6.1.0: {}
2312 |
2313 | csstype@3.1.3: {}
2314 |
2315 | debounce@1.2.1: {}
2316 |
2317 | debug@2.6.9:
2318 | dependencies:
2319 | ms: 2.0.0
2320 |
2321 | debug@4.3.7:
2322 | dependencies:
2323 | ms: 2.1.3
2324 |
2325 | debug@4.4.0:
2326 | dependencies:
2327 | ms: 2.1.3
2328 |
2329 | decamelize@6.0.0: {}
2330 |
2331 | deep-extend@0.6.0: {}
2332 |
2333 | deep-is@0.1.4: {}
2334 |
2335 | deepmerge@4.3.1: {}
2336 |
2337 | default-browser-id@3.0.0:
2338 | dependencies:
2339 | bplist-parser: 0.2.0
2340 | untildify: 4.0.0
2341 |
2342 | default-browser@4.0.0:
2343 | dependencies:
2344 | bundle-name: 3.0.0
2345 | default-browser-id: 3.0.0
2346 | execa: 7.2.0
2347 | titleize: 3.0.0
2348 |
2349 | defaults@1.0.4:
2350 | dependencies:
2351 | clone: 1.0.4
2352 |
2353 | define-lazy-prop@3.0.0: {}
2354 |
2355 | detect-libc@2.0.3:
2356 | optional: true
2357 |
2358 | doctrine@3.0.0:
2359 | dependencies:
2360 | esutils: 2.0.3
2361 |
2362 | dom-serializer@2.0.0:
2363 | dependencies:
2364 | domelementtype: 2.3.0
2365 | domhandler: 5.0.3
2366 | entities: 4.5.0
2367 |
2368 | domelementtype@2.3.0: {}
2369 |
2370 | domhandler@5.0.3:
2371 | dependencies:
2372 | domelementtype: 2.3.0
2373 |
2374 | domutils@3.2.2:
2375 | dependencies:
2376 | dom-serializer: 2.0.0
2377 | domelementtype: 2.3.0
2378 | domhandler: 5.0.3
2379 |
2380 | dot-prop@9.0.0:
2381 | dependencies:
2382 | type-fest: 4.34.1
2383 |
2384 | emoji-regex@10.4.0: {}
2385 |
2386 | emoji-regex@8.0.0: {}
2387 |
2388 | entities@4.5.0: {}
2389 |
2390 | error-ex@1.3.2:
2391 | dependencies:
2392 | is-arrayish: 0.2.1
2393 |
2394 | es6-error@4.1.1: {}
2395 |
2396 | escalade@3.2.0: {}
2397 |
2398 | escape-goat@4.0.0: {}
2399 |
2400 | escape-string-regexp@4.0.0: {}
2401 |
2402 | eslint-plugin-no-unsanitized@4.1.2(eslint@8.57.1):
2403 | dependencies:
2404 | eslint: 8.57.1
2405 |
2406 | eslint-scope@7.2.2:
2407 | dependencies:
2408 | esrecurse: 4.3.0
2409 | estraverse: 5.3.0
2410 |
2411 | eslint-visitor-keys@3.4.3: {}
2412 |
2413 | eslint-visitor-keys@4.2.0: {}
2414 |
2415 | eslint@8.57.1:
2416 | dependencies:
2417 | '@eslint-community/eslint-utils': 4.4.1(eslint@8.57.1)
2418 | '@eslint-community/regexpp': 4.12.1
2419 | '@eslint/eslintrc': 2.1.4
2420 | '@eslint/js': 8.57.1
2421 | '@humanwhocodes/config-array': 0.13.0
2422 | '@humanwhocodes/module-importer': 1.0.1
2423 | '@nodelib/fs.walk': 1.2.8
2424 | '@ungap/structured-clone': 1.3.0
2425 | ajv: 6.12.6
2426 | chalk: 4.1.2
2427 | cross-spawn: 7.0.6
2428 | debug: 4.4.0
2429 | doctrine: 3.0.0
2430 | escape-string-regexp: 4.0.0
2431 | eslint-scope: 7.2.2
2432 | eslint-visitor-keys: 3.4.3
2433 | espree: 9.6.1
2434 | esquery: 1.6.0
2435 | esutils: 2.0.3
2436 | fast-deep-equal: 3.1.3
2437 | file-entry-cache: 6.0.1
2438 | find-up: 5.0.0
2439 | glob-parent: 6.0.2
2440 | globals: 13.24.0
2441 | graphemer: 1.4.0
2442 | ignore: 5.3.2
2443 | imurmurhash: 0.1.4
2444 | is-glob: 4.0.3
2445 | is-path-inside: 3.0.3
2446 | js-yaml: 4.1.0
2447 | json-stable-stringify-without-jsonify: 1.0.1
2448 | levn: 0.4.1
2449 | lodash.merge: 4.6.2
2450 | minimatch: 3.1.2
2451 | natural-compare: 1.4.0
2452 | optionator: 0.9.4
2453 | strip-ansi: 6.0.1
2454 | text-table: 0.2.0
2455 | transitivePeerDependencies:
2456 | - supports-color
2457 |
2458 | espree@10.3.0:
2459 | dependencies:
2460 | acorn: 8.14.0
2461 | acorn-jsx: 5.3.2(acorn@8.14.0)
2462 | eslint-visitor-keys: 4.2.0
2463 |
2464 | espree@9.6.1:
2465 | dependencies:
2466 | acorn: 8.14.0
2467 | acorn-jsx: 5.3.2(acorn@8.14.0)
2468 | eslint-visitor-keys: 3.4.3
2469 |
2470 | esprima@4.0.1: {}
2471 |
2472 | esquery@1.6.0:
2473 | dependencies:
2474 | estraverse: 5.3.0
2475 |
2476 | esrecurse@4.3.0:
2477 | dependencies:
2478 | estraverse: 5.3.0
2479 |
2480 | estraverse@5.3.0: {}
2481 |
2482 | esutils@2.0.3: {}
2483 |
2484 | event-target-shim@5.0.1: {}
2485 |
2486 | events@3.3.0: {}
2487 |
2488 | execa@5.1.1:
2489 | dependencies:
2490 | cross-spawn: 7.0.6
2491 | get-stream: 6.0.1
2492 | human-signals: 2.1.0
2493 | is-stream: 2.0.1
2494 | merge-stream: 2.0.0
2495 | npm-run-path: 4.0.1
2496 | onetime: 5.1.2
2497 | signal-exit: 3.0.7
2498 | strip-final-newline: 2.0.0
2499 |
2500 | execa@7.2.0:
2501 | dependencies:
2502 | cross-spawn: 7.0.6
2503 | get-stream: 6.0.1
2504 | human-signals: 4.3.1
2505 | is-stream: 3.0.0
2506 | merge-stream: 2.0.0
2507 | npm-run-path: 5.3.0
2508 | onetime: 6.0.0
2509 | signal-exit: 3.0.7
2510 | strip-final-newline: 3.0.0
2511 |
2512 | fast-deep-equal@3.1.3: {}
2513 |
2514 | fast-json-patch@3.1.1: {}
2515 |
2516 | fast-json-stable-stringify@2.1.0: {}
2517 |
2518 | fast-levenshtein@2.0.6: {}
2519 |
2520 | fast-redact@3.5.0: {}
2521 |
2522 | fast-uri@3.0.6: {}
2523 |
2524 | fastq@1.19.0:
2525 | dependencies:
2526 | reusify: 1.0.4
2527 |
2528 | fd-slicer@1.1.0:
2529 | dependencies:
2530 | pend: 1.2.0
2531 |
2532 | file-entry-cache@6.0.1:
2533 | dependencies:
2534 | flat-cache: 3.2.0
2535 |
2536 | find-up@5.0.0:
2537 | dependencies:
2538 | locate-path: 6.0.0
2539 | path-exists: 4.0.0
2540 |
2541 | firefox-profile@4.7.0:
2542 | dependencies:
2543 | adm-zip: 0.5.16
2544 | fs-extra: 11.3.0
2545 | ini: 4.1.3
2546 | minimist: 1.2.8
2547 | xml2js: 0.6.2
2548 |
2549 | first-chunk-stream@3.0.0: {}
2550 |
2551 | flat-cache@3.2.0:
2552 | dependencies:
2553 | flatted: 3.3.2
2554 | keyv: 4.5.4
2555 | rimraf: 3.0.2
2556 |
2557 | flatted@3.3.2: {}
2558 |
2559 | fs-extra@11.3.0:
2560 | dependencies:
2561 | graceful-fs: 4.2.11
2562 | jsonfile: 6.1.0
2563 | universalify: 2.0.1
2564 |
2565 | fs.realpath@1.0.0: {}
2566 |
2567 | fx-runner@1.4.0:
2568 | dependencies:
2569 | commander: 2.9.0
2570 | shell-quote: 1.7.3
2571 | spawn-sync: 1.0.15
2572 | when: 3.7.7
2573 | which: 1.2.4
2574 | winreg: 0.0.12
2575 |
2576 | get-caller-file@2.0.5: {}
2577 |
2578 | get-east-asian-width@1.3.0: {}
2579 |
2580 | get-stream@6.0.1: {}
2581 |
2582 | glob-parent@6.0.2:
2583 | dependencies:
2584 | is-glob: 4.0.3
2585 |
2586 | glob-to-regexp@0.4.1: {}
2587 |
2588 | glob@7.2.3:
2589 | dependencies:
2590 | fs.realpath: 1.0.0
2591 | inflight: 1.0.6
2592 | inherits: 2.0.4
2593 | minimatch: 3.1.2
2594 | once: 1.4.0
2595 | path-is-absolute: 1.0.1
2596 |
2597 | global-directory@4.0.1:
2598 | dependencies:
2599 | ini: 4.1.1
2600 |
2601 | globals@13.24.0:
2602 | dependencies:
2603 | type-fest: 0.20.2
2604 |
2605 | graceful-fs@4.2.10: {}
2606 |
2607 | graceful-fs@4.2.11: {}
2608 |
2609 | graceful-readlink@1.0.1: {}
2610 |
2611 | graphemer@1.4.0: {}
2612 |
2613 | growly@1.3.0: {}
2614 |
2615 | has-flag@4.0.0: {}
2616 |
2617 | hoist-non-react-statics@3.3.2:
2618 | dependencies:
2619 | react-is: 16.13.1
2620 |
2621 | htmlparser2@8.0.2:
2622 | dependencies:
2623 | domelementtype: 2.3.0
2624 | domhandler: 5.0.3
2625 | domutils: 3.2.2
2626 | entities: 4.5.0
2627 |
2628 | https-proxy-agent@7.0.6:
2629 | dependencies:
2630 | agent-base: 7.1.3
2631 | debug: 4.4.0
2632 | transitivePeerDependencies:
2633 | - supports-color
2634 |
2635 | human-signals@2.1.0: {}
2636 |
2637 | human-signals@4.3.1: {}
2638 |
2639 | ieee754@1.2.1: {}
2640 |
2641 | ignore@5.3.2: {}
2642 |
2643 | image-size@1.2.0:
2644 | dependencies:
2645 | queue: 6.0.2
2646 |
2647 | immediate@3.0.6: {}
2648 |
2649 | import-fresh@3.3.0:
2650 | dependencies:
2651 | parent-module: 1.0.1
2652 | resolve-from: 4.0.0
2653 |
2654 | imurmurhash@0.1.4: {}
2655 |
2656 | inflight@1.0.6:
2657 | dependencies:
2658 | once: 1.4.0
2659 | wrappy: 1.0.2
2660 |
2661 | inherits@2.0.4: {}
2662 |
2663 | ini@1.3.8: {}
2664 |
2665 | ini@4.1.1: {}
2666 |
2667 | ini@4.1.3: {}
2668 |
2669 | is-absolute@0.1.7:
2670 | dependencies:
2671 | is-relative: 0.1.3
2672 |
2673 | is-arrayish@0.2.1: {}
2674 |
2675 | is-arrayish@0.3.2:
2676 | optional: true
2677 |
2678 | is-docker@2.2.1: {}
2679 |
2680 | is-docker@3.0.0: {}
2681 |
2682 | is-extglob@2.1.1: {}
2683 |
2684 | is-fullwidth-code-point@3.0.0: {}
2685 |
2686 | is-glob@4.0.3:
2687 | dependencies:
2688 | is-extglob: 2.1.1
2689 |
2690 | is-in-ci@1.0.0: {}
2691 |
2692 | is-inside-container@1.0.0:
2693 | dependencies:
2694 | is-docker: 3.0.0
2695 |
2696 | is-installed-globally@1.0.0:
2697 | dependencies:
2698 | global-directory: 4.0.1
2699 | is-path-inside: 4.0.0
2700 |
2701 | is-npm@6.0.0: {}
2702 |
2703 | is-path-inside@3.0.3: {}
2704 |
2705 | is-path-inside@4.0.0: {}
2706 |
2707 | is-relative@0.1.3: {}
2708 |
2709 | is-stream@2.0.1: {}
2710 |
2711 | is-stream@3.0.0: {}
2712 |
2713 | is-utf8@0.2.1: {}
2714 |
2715 | is-wsl@2.2.0:
2716 | dependencies:
2717 | is-docker: 2.2.1
2718 |
2719 | isarray@1.0.0: {}
2720 |
2721 | isexe@1.1.2: {}
2722 |
2723 | isexe@2.0.0: {}
2724 |
2725 | jose@5.9.6: {}
2726 |
2727 | js-tokens@4.0.0: {}
2728 |
2729 | js-yaml@4.1.0:
2730 | dependencies:
2731 | argparse: 2.0.1
2732 |
2733 | json-buffer@3.0.1: {}
2734 |
2735 | json-merge-patch@1.0.2:
2736 | dependencies:
2737 | fast-deep-equal: 3.1.3
2738 |
2739 | json-parse-even-better-errors@3.0.2: {}
2740 |
2741 | json-schema-traverse@0.4.1: {}
2742 |
2743 | json-schema-traverse@1.0.0: {}
2744 |
2745 | json-stable-stringify-without-jsonify@1.0.1: {}
2746 |
2747 | jsonfile@6.1.0:
2748 | dependencies:
2749 | universalify: 2.0.1
2750 | optionalDependencies:
2751 | graceful-fs: 4.2.11
2752 |
2753 | jszip@3.10.1:
2754 | dependencies:
2755 | lie: 3.3.0
2756 | pako: 1.0.11
2757 | readable-stream: 2.3.8
2758 | setimmediate: 1.0.5
2759 |
2760 | keyv@4.5.4:
2761 | dependencies:
2762 | json-buffer: 3.0.1
2763 |
2764 | ky@1.7.5: {}
2765 |
2766 | latest-version@9.0.0:
2767 | dependencies:
2768 | package-json: 10.0.1
2769 |
2770 | levn@0.4.1:
2771 | dependencies:
2772 | prelude-ls: 1.2.1
2773 | type-check: 0.4.0
2774 |
2775 | lie@3.3.0:
2776 | dependencies:
2777 | immediate: 3.0.6
2778 |
2779 | lighthouse-logger@2.0.1:
2780 | dependencies:
2781 | debug: 2.6.9
2782 | marky: 1.2.5
2783 | transitivePeerDependencies:
2784 | - supports-color
2785 |
2786 | lines-and-columns@2.0.4: {}
2787 |
2788 | locate-path@6.0.0:
2789 | dependencies:
2790 | p-locate: 5.0.0
2791 |
2792 | lodash.debounce@4.0.8: {}
2793 |
2794 | lodash.merge@4.6.2: {}
2795 |
2796 | make-error@1.3.6: {}
2797 |
2798 | marky@1.2.5: {}
2799 |
2800 | merge-stream@2.0.0: {}
2801 |
2802 | mimic-fn@2.1.0: {}
2803 |
2804 | mimic-fn@4.0.0: {}
2805 |
2806 | minimatch@3.1.2:
2807 | dependencies:
2808 | brace-expansion: 1.1.11
2809 |
2810 | minimist@1.2.8: {}
2811 |
2812 | ms@2.0.0: {}
2813 |
2814 | ms@2.1.3: {}
2815 |
2816 | multimatch@6.0.0:
2817 | dependencies:
2818 | '@types/minimatch': 3.0.5
2819 | array-differ: 4.0.0
2820 | array-union: 3.0.1
2821 | minimatch: 3.1.2
2822 |
2823 | nanoid@3.3.8: {}
2824 |
2825 | natural-compare@1.4.0: {}
2826 |
2827 | next@15.1.7(react-dom@19.0.0(react@19.0.0))(react@19.0.0):
2828 | dependencies:
2829 | '@next/env': 15.1.7
2830 | '@swc/counter': 0.1.3
2831 | '@swc/helpers': 0.5.15
2832 | busboy: 1.6.0
2833 | caniuse-lite: 1.0.30001699
2834 | postcss: 8.4.31
2835 | react: 19.0.0
2836 | react-dom: 19.0.0(react@19.0.0)
2837 | styled-jsx: 5.1.6(react@19.0.0)
2838 | optionalDependencies:
2839 | '@next/swc-darwin-arm64': 15.1.7
2840 | '@next/swc-darwin-x64': 15.1.7
2841 | '@next/swc-linux-arm64-gnu': 15.1.7
2842 | '@next/swc-linux-arm64-musl': 15.1.7
2843 | '@next/swc-linux-x64-gnu': 15.1.7
2844 | '@next/swc-linux-x64-musl': 15.1.7
2845 | '@next/swc-win32-arm64-msvc': 15.1.7
2846 | '@next/swc-win32-x64-msvc': 15.1.7
2847 | sharp: 0.33.5
2848 | transitivePeerDependencies:
2849 | - '@babel/core'
2850 | - babel-plugin-macros
2851 |
2852 | node-forge@1.3.1: {}
2853 |
2854 | node-notifier@10.0.1:
2855 | dependencies:
2856 | growly: 1.3.0
2857 | is-wsl: 2.2.0
2858 | semver: 7.7.1
2859 | shellwords: 0.1.1
2860 | uuid: 8.3.2
2861 | which: 2.0.2
2862 |
2863 | npm-run-path@4.0.1:
2864 | dependencies:
2865 | path-key: 3.1.1
2866 |
2867 | npm-run-path@5.3.0:
2868 | dependencies:
2869 | path-key: 4.0.0
2870 |
2871 | nth-check@2.1.1:
2872 | dependencies:
2873 | boolbase: 1.0.0
2874 |
2875 | on-exit-leak-free@2.1.2: {}
2876 |
2877 | once@1.4.0:
2878 | dependencies:
2879 | wrappy: 1.0.2
2880 |
2881 | onetime@5.1.2:
2882 | dependencies:
2883 | mimic-fn: 2.1.0
2884 |
2885 | onetime@6.0.0:
2886 | dependencies:
2887 | mimic-fn: 4.0.0
2888 |
2889 | open@9.1.0:
2890 | dependencies:
2891 | default-browser: 4.0.0
2892 | define-lazy-prop: 3.0.0
2893 | is-inside-container: 1.0.0
2894 | is-wsl: 2.2.0
2895 |
2896 | optionator@0.9.4:
2897 | dependencies:
2898 | deep-is: 0.1.4
2899 | fast-levenshtein: 2.0.6
2900 | levn: 0.4.1
2901 | prelude-ls: 1.2.1
2902 | type-check: 0.4.0
2903 | word-wrap: 1.2.5
2904 |
2905 | os-shim@0.1.3: {}
2906 |
2907 | p-limit@3.1.0:
2908 | dependencies:
2909 | yocto-queue: 0.1.0
2910 |
2911 | p-locate@5.0.0:
2912 | dependencies:
2913 | p-limit: 3.1.0
2914 |
2915 | package-json@10.0.1:
2916 | dependencies:
2917 | ky: 1.7.5
2918 | registry-auth-token: 5.1.0
2919 | registry-url: 6.0.1
2920 | semver: 7.7.1
2921 |
2922 | pako@1.0.11: {}
2923 |
2924 | parent-module@1.0.1:
2925 | dependencies:
2926 | callsites: 3.1.0
2927 |
2928 | parse-json@7.1.1:
2929 | dependencies:
2930 | '@babel/code-frame': 7.26.2
2931 | error-ex: 1.3.2
2932 | json-parse-even-better-errors: 3.0.2
2933 | lines-and-columns: 2.0.4
2934 | type-fest: 3.13.1
2935 |
2936 | parse5-htmlparser2-tree-adapter@7.1.0:
2937 | dependencies:
2938 | domhandler: 5.0.3
2939 | parse5: 7.2.1
2940 |
2941 | parse5@7.2.1:
2942 | dependencies:
2943 | entities: 4.5.0
2944 |
2945 | path-exists@4.0.0: {}
2946 |
2947 | path-is-absolute@1.0.1: {}
2948 |
2949 | path-key@3.1.1: {}
2950 |
2951 | path-key@4.0.0: {}
2952 |
2953 | pend@1.2.0: {}
2954 |
2955 | picocolors@1.1.1: {}
2956 |
2957 | pino-abstract-transport@1.2.0:
2958 | dependencies:
2959 | readable-stream: 4.7.0
2960 | split2: 4.2.0
2961 |
2962 | pino-std-serializers@6.2.2: {}
2963 |
2964 | pino-std-serializers@7.0.0: {}
2965 |
2966 | pino@8.20.0:
2967 | dependencies:
2968 | atomic-sleep: 1.0.0
2969 | fast-redact: 3.5.0
2970 | on-exit-leak-free: 2.1.2
2971 | pino-abstract-transport: 1.2.0
2972 | pino-std-serializers: 6.2.2
2973 | process-warning: 3.0.0
2974 | quick-format-unescaped: 4.0.4
2975 | real-require: 0.2.0
2976 | safe-stable-stringify: 2.5.0
2977 | sonic-boom: 3.8.1
2978 | thread-stream: 2.7.0
2979 |
2980 | pino@9.4.0:
2981 | dependencies:
2982 | atomic-sleep: 1.0.0
2983 | fast-redact: 3.5.0
2984 | on-exit-leak-free: 2.1.2
2985 | pino-abstract-transport: 1.2.0
2986 | pino-std-serializers: 7.0.0
2987 | process-warning: 4.0.1
2988 | quick-format-unescaped: 4.0.4
2989 | real-require: 0.2.0
2990 | safe-stable-stringify: 2.5.0
2991 | sonic-boom: 4.2.0
2992 | thread-stream: 3.1.0
2993 |
2994 | postcss-value-parser@4.2.0: {}
2995 |
2996 | postcss@8.4.31:
2997 | dependencies:
2998 | nanoid: 3.3.8
2999 | picocolors: 1.1.1
3000 | source-map-js: 1.2.1
3001 |
3002 | postcss@8.4.49:
3003 | dependencies:
3004 | nanoid: 3.3.8
3005 | picocolors: 1.1.1
3006 | source-map-js: 1.2.1
3007 |
3008 | prelude-ls@1.2.1: {}
3009 |
3010 | process-nextick-args@2.0.1: {}
3011 |
3012 | process-warning@3.0.0: {}
3013 |
3014 | process-warning@4.0.1: {}
3015 |
3016 | process@0.11.10: {}
3017 |
3018 | promise-toolbox@0.21.0:
3019 | dependencies:
3020 | make-error: 1.3.6
3021 |
3022 | proto-list@1.2.4: {}
3023 |
3024 | punycode@2.3.1: {}
3025 |
3026 | pupa@3.1.0:
3027 | dependencies:
3028 | escape-goat: 4.0.0
3029 |
3030 | queue-microtask@1.2.3: {}
3031 |
3032 | queue@6.0.2:
3033 | dependencies:
3034 | inherits: 2.0.4
3035 |
3036 | quick-format-unescaped@4.0.4: {}
3037 |
3038 | rc@1.2.8:
3039 | dependencies:
3040 | deep-extend: 0.6.0
3041 | ini: 1.3.8
3042 | minimist: 1.2.8
3043 | strip-json-comments: 2.0.1
3044 |
3045 | react-contexify@6.0.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0):
3046 | dependencies:
3047 | clsx: 1.2.1
3048 | react: 19.0.0
3049 | react-dom: 19.0.0(react@19.0.0)
3050 |
3051 | react-dom@19.0.0(react@19.0.0):
3052 | dependencies:
3053 | react: 19.0.0
3054 | scheduler: 0.25.0
3055 |
3056 | react-is@16.13.1: {}
3057 |
3058 | react@19.0.0: {}
3059 |
3060 | readable-stream@2.3.8:
3061 | dependencies:
3062 | core-util-is: 1.0.3
3063 | inherits: 2.0.4
3064 | isarray: 1.0.0
3065 | process-nextick-args: 2.0.1
3066 | safe-buffer: 5.1.2
3067 | string_decoder: 1.1.1
3068 | util-deprecate: 1.0.2
3069 |
3070 | readable-stream@4.7.0:
3071 | dependencies:
3072 | abort-controller: 3.0.0
3073 | buffer: 6.0.3
3074 | events: 3.3.0
3075 | process: 0.11.10
3076 | string_decoder: 1.3.0
3077 |
3078 | real-require@0.2.0: {}
3079 |
3080 | regenerator-runtime@0.14.1: {}
3081 |
3082 | registry-auth-token@5.1.0:
3083 | dependencies:
3084 | '@pnpm/npm-conf': 2.3.1
3085 |
3086 | registry-url@6.0.1:
3087 | dependencies:
3088 | rc: 1.2.8
3089 |
3090 | require-directory@2.1.1: {}
3091 |
3092 | require-from-string@2.0.2: {}
3093 |
3094 | resolve-from@4.0.0: {}
3095 |
3096 | reusify@1.0.4: {}
3097 |
3098 | rimraf@3.0.2:
3099 | dependencies:
3100 | glob: 7.2.3
3101 |
3102 | run-applescript@5.0.0:
3103 | dependencies:
3104 | execa: 5.1.1
3105 |
3106 | run-parallel@1.2.0:
3107 | dependencies:
3108 | queue-microtask: 1.2.3
3109 |
3110 | safe-buffer@5.1.2: {}
3111 |
3112 | safe-buffer@5.2.1: {}
3113 |
3114 | safe-compare@1.1.4:
3115 | dependencies:
3116 | buffer-alloc: 1.2.0
3117 | optional: true
3118 |
3119 | safe-stable-stringify@2.5.0: {}
3120 |
3121 | sax@1.4.1: {}
3122 |
3123 | scheduler@0.25.0: {}
3124 |
3125 | semver@7.6.3: {}
3126 |
3127 | semver@7.7.1: {}
3128 |
3129 | setimmediate@1.0.5: {}
3130 |
3131 | shallowequal@1.1.0: {}
3132 |
3133 | sharp@0.33.5:
3134 | dependencies:
3135 | color: 4.2.3
3136 | detect-libc: 2.0.3
3137 | semver: 7.7.1
3138 | optionalDependencies:
3139 | '@img/sharp-darwin-arm64': 0.33.5
3140 | '@img/sharp-darwin-x64': 0.33.5
3141 | '@img/sharp-libvips-darwin-arm64': 1.0.4
3142 | '@img/sharp-libvips-darwin-x64': 1.0.4
3143 | '@img/sharp-libvips-linux-arm': 1.0.5
3144 | '@img/sharp-libvips-linux-arm64': 1.0.4
3145 | '@img/sharp-libvips-linux-s390x': 1.0.4
3146 | '@img/sharp-libvips-linux-x64': 1.0.4
3147 | '@img/sharp-libvips-linuxmusl-arm64': 1.0.4
3148 | '@img/sharp-libvips-linuxmusl-x64': 1.0.4
3149 | '@img/sharp-linux-arm': 0.33.5
3150 | '@img/sharp-linux-arm64': 0.33.5
3151 | '@img/sharp-linux-s390x': 0.33.5
3152 | '@img/sharp-linux-x64': 0.33.5
3153 | '@img/sharp-linuxmusl-arm64': 0.33.5
3154 | '@img/sharp-linuxmusl-x64': 0.33.5
3155 | '@img/sharp-wasm32': 0.33.5
3156 | '@img/sharp-win32-ia32': 0.33.5
3157 | '@img/sharp-win32-x64': 0.33.5
3158 | optional: true
3159 |
3160 | shebang-command@2.0.0:
3161 | dependencies:
3162 | shebang-regex: 3.0.0
3163 |
3164 | shebang-regex@3.0.0: {}
3165 |
3166 | shell-quote@1.7.3: {}
3167 |
3168 | shellwords@0.1.1: {}
3169 |
3170 | signal-exit@3.0.7: {}
3171 |
3172 | simple-swizzle@0.2.2:
3173 | dependencies:
3174 | is-arrayish: 0.3.2
3175 | optional: true
3176 |
3177 | sonic-boom@3.8.1:
3178 | dependencies:
3179 | atomic-sleep: 1.0.0
3180 |
3181 | sonic-boom@4.2.0:
3182 | dependencies:
3183 | atomic-sleep: 1.0.0
3184 |
3185 | source-map-js@1.2.1: {}
3186 |
3187 | source-map-support@0.5.21:
3188 | dependencies:
3189 | buffer-from: 1.1.2
3190 | source-map: 0.6.1
3191 |
3192 | source-map@0.6.1: {}
3193 |
3194 | spawn-sync@1.0.15:
3195 | dependencies:
3196 | concat-stream: 1.6.2
3197 | os-shim: 0.1.3
3198 |
3199 | split2@4.2.0: {}
3200 |
3201 | split@1.0.1:
3202 | dependencies:
3203 | through: 2.3.8
3204 |
3205 | streamsearch@1.1.0: {}
3206 |
3207 | string-width@4.2.3:
3208 | dependencies:
3209 | emoji-regex: 8.0.0
3210 | is-fullwidth-code-point: 3.0.0
3211 | strip-ansi: 6.0.1
3212 |
3213 | string-width@7.2.0:
3214 | dependencies:
3215 | emoji-regex: 10.4.0
3216 | get-east-asian-width: 1.3.0
3217 | strip-ansi: 7.1.0
3218 |
3219 | string_decoder@1.1.1:
3220 | dependencies:
3221 | safe-buffer: 5.1.2
3222 |
3223 | string_decoder@1.3.0:
3224 | dependencies:
3225 | safe-buffer: 5.2.1
3226 |
3227 | strip-ansi@6.0.1:
3228 | dependencies:
3229 | ansi-regex: 5.0.1
3230 |
3231 | strip-ansi@7.1.0:
3232 | dependencies:
3233 | ansi-regex: 6.1.0
3234 |
3235 | strip-bom-buf@2.0.0:
3236 | dependencies:
3237 | is-utf8: 0.2.1
3238 |
3239 | strip-bom-stream@4.0.0:
3240 | dependencies:
3241 | first-chunk-stream: 3.0.0
3242 | strip-bom-buf: 2.0.0
3243 |
3244 | strip-bom@5.0.0: {}
3245 |
3246 | strip-final-newline@2.0.0: {}
3247 |
3248 | strip-final-newline@3.0.0: {}
3249 |
3250 | strip-json-comments@2.0.1: {}
3251 |
3252 | strip-json-comments@3.1.1: {}
3253 |
3254 | strip-json-comments@5.0.1: {}
3255 |
3256 | stubborn-fs@1.2.5: {}
3257 |
3258 | styled-components@6.1.15(react-dom@19.0.0(react@19.0.0))(react@19.0.0):
3259 | dependencies:
3260 | '@emotion/is-prop-valid': 1.2.2
3261 | '@emotion/unitless': 0.8.1
3262 | '@types/stylis': 4.2.5
3263 | css-to-react-native: 3.2.0
3264 | csstype: 3.1.3
3265 | postcss: 8.4.49
3266 | react: 19.0.0
3267 | react-dom: 19.0.0(react@19.0.0)
3268 | shallowequal: 1.1.0
3269 | stylis: 4.3.2
3270 | tslib: 2.6.2
3271 |
3272 | styled-jsx@5.1.6(react@19.0.0):
3273 | dependencies:
3274 | client-only: 0.0.1
3275 | react: 19.0.0
3276 |
3277 | stylis@4.3.2: {}
3278 |
3279 | supports-color@7.2.0:
3280 | dependencies:
3281 | has-flag: 4.0.0
3282 |
3283 | text-table@0.2.0: {}
3284 |
3285 | thread-stream@2.7.0:
3286 | dependencies:
3287 | real-require: 0.2.0
3288 |
3289 | thread-stream@3.1.0:
3290 | dependencies:
3291 | real-require: 0.2.0
3292 |
3293 | through@2.3.8: {}
3294 |
3295 | titleize@3.0.0: {}
3296 |
3297 | tmp@0.2.3: {}
3298 |
3299 | tslib@2.6.2: {}
3300 |
3301 | tslib@2.8.1: {}
3302 |
3303 | type-check@0.4.0:
3304 | dependencies:
3305 | prelude-ls: 1.2.1
3306 |
3307 | type-fest@0.20.2: {}
3308 |
3309 | type-fest@3.13.1: {}
3310 |
3311 | type-fest@4.34.1: {}
3312 |
3313 | typedarray@0.0.6: {}
3314 |
3315 | typescript@5.7.3: {}
3316 |
3317 | undici-types@6.20.0: {}
3318 |
3319 | universalify@2.0.1: {}
3320 |
3321 | untildify@4.0.0: {}
3322 |
3323 | upath@2.0.1: {}
3324 |
3325 | update-notifier@7.3.1:
3326 | dependencies:
3327 | boxen: 8.0.1
3328 | chalk: 5.4.1
3329 | configstore: 7.0.0
3330 | is-in-ci: 1.0.0
3331 | is-installed-globally: 1.0.0
3332 | is-npm: 6.0.0
3333 | latest-version: 9.0.0
3334 | pupa: 3.1.0
3335 | semver: 7.7.1
3336 | xdg-basedir: 5.1.0
3337 |
3338 | uri-js@4.4.1:
3339 | dependencies:
3340 | punycode: 2.3.1
3341 |
3342 | util-deprecate@1.0.2: {}
3343 |
3344 | uuid@8.3.2: {}
3345 |
3346 | watchpack@2.4.2:
3347 | dependencies:
3348 | glob-to-regexp: 0.4.1
3349 | graceful-fs: 4.2.11
3350 |
3351 | wcwidth@1.0.1:
3352 | dependencies:
3353 | defaults: 1.0.4
3354 |
3355 | web-ext@8.4.0(safe-compare@1.1.4):
3356 | dependencies:
3357 | '@babel/runtime': 7.26.7
3358 | '@devicefarmer/adbkit': 3.3.8
3359 | addons-linter: 7.8.0(safe-compare@1.1.4)
3360 | camelcase: 8.0.0
3361 | chrome-launcher: 1.1.2
3362 | debounce: 1.2.1
3363 | decamelize: 6.0.0
3364 | es6-error: 4.1.1
3365 | firefox-profile: 4.7.0
3366 | fx-runner: 1.4.0
3367 | https-proxy-agent: 7.0.6
3368 | jose: 5.9.6
3369 | jszip: 3.10.1
3370 | multimatch: 6.0.0
3371 | node-notifier: 10.0.1
3372 | open: 9.1.0
3373 | parse-json: 7.1.1
3374 | pino: 9.4.0
3375 | promise-toolbox: 0.21.0
3376 | source-map-support: 0.5.21
3377 | strip-bom: 5.0.0
3378 | strip-json-comments: 5.0.1
3379 | tmp: 0.2.3
3380 | update-notifier: 7.3.1
3381 | watchpack: 2.4.2
3382 | ws: 8.18.0
3383 | yargs: 17.7.2
3384 | zip-dir: 2.0.0
3385 | transitivePeerDependencies:
3386 | - body-parser
3387 | - bufferutil
3388 | - express
3389 | - node-fetch
3390 | - safe-compare
3391 | - supports-color
3392 | - utf-8-validate
3393 |
3394 | when-exit@2.1.4: {}
3395 |
3396 | when@3.7.7: {}
3397 |
3398 | which@1.2.4:
3399 | dependencies:
3400 | is-absolute: 0.1.7
3401 | isexe: 1.1.2
3402 |
3403 | which@2.0.2:
3404 | dependencies:
3405 | isexe: 2.0.0
3406 |
3407 | widest-line@5.0.0:
3408 | dependencies:
3409 | string-width: 7.2.0
3410 |
3411 | winreg@0.0.12: {}
3412 |
3413 | word-wrap@1.2.5: {}
3414 |
3415 | wrap-ansi@7.0.0:
3416 | dependencies:
3417 | ansi-styles: 4.3.0
3418 | string-width: 4.2.3
3419 | strip-ansi: 6.0.1
3420 |
3421 | wrap-ansi@9.0.0:
3422 | dependencies:
3423 | ansi-styles: 6.2.1
3424 | string-width: 7.2.0
3425 | strip-ansi: 7.1.0
3426 |
3427 | wrappy@1.0.2: {}
3428 |
3429 | ws@8.18.0: {}
3430 |
3431 | xdg-basedir@5.1.0: {}
3432 |
3433 | xml2js@0.6.2:
3434 | dependencies:
3435 | sax: 1.4.1
3436 | xmlbuilder: 11.0.1
3437 |
3438 | xmlbuilder@11.0.1: {}
3439 |
3440 | y18n@5.0.8: {}
3441 |
3442 | yargs-parser@21.1.1: {}
3443 |
3444 | yargs@17.7.2:
3445 | dependencies:
3446 | cliui: 8.0.1
3447 | escalade: 3.2.0
3448 | get-caller-file: 2.0.5
3449 | require-directory: 2.1.1
3450 | string-width: 4.2.3
3451 | y18n: 5.0.8
3452 | yargs-parser: 21.1.1
3453 |
3454 | yauzl@2.10.0:
3455 | dependencies:
3456 | buffer-crc32: 0.2.13
3457 | fd-slicer: 1.1.0
3458 |
3459 | yocto-queue@0.1.0: {}
3460 |
3461 | zip-dir@2.0.0:
3462 | dependencies:
3463 | async: 3.2.6
3464 | jszip: 3.10.1
3465 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "lib": [
5 | "dom",
6 | "dom.iterable",
7 | "esnext"
8 | ],
9 | "allowJs": true,
10 | "skipLibCheck": true,
11 | "strict": false,
12 | "forceConsistentCasingInFileNames": true,
13 | "noEmit": true,
14 | "esModuleInterop": true,
15 | "module": "esnext",
16 | "moduleResolution": "node",
17 | "resolveJsonModule": true,
18 | "isolatedModules": true,
19 | "jsx": "preserve",
20 | "incremental": true
21 | },
22 | "include": [
23 | "next-env.d.ts",
24 | "**/*.ts",
25 | "**/*.tsx"
26 | ],
27 | "exclude": [
28 | "node_modules"
29 | ]
30 | }
31 |
--------------------------------------------------------------------------------
/types/Weather.ts:
--------------------------------------------------------------------------------
1 | export interface Weather {
2 | zip: string;
3 | city: string;
4 | temperature: Temperature;
5 | humidity: number;
6 | conditions: Condition[];
7 | }
8 |
9 | export interface Condition {
10 | code: string;
11 | description: string;
12 | }
13 |
14 | export interface Temperature {
15 | current: number;
16 | max: number;
17 | min: number;
18 | }
19 |
--------------------------------------------------------------------------------
/utils/geolocation.ts:
--------------------------------------------------------------------------------
1 | export async function getUsersGeolocation(): Promise<{ lat: number; lon: number }> {
2 | return new Promise((resolve, reject) => window.navigator.geolocation.getCurrentPosition((data) => {
3 | localStorage.setItem("tabatha_weather_coords", JSON.stringify({ lat: Number(data.coords.latitude.toFixed(6)), lon: Number(data.coords.longitude.toFixed(6)) }));
4 | resolve({ lat: Number(data.coords.latitude.toFixed(6)), lon: Number(data.coords.longitude.toFixed(6)) });
5 | }, (error) => {
6 | console.error(error, 'error');
7 | reject(error);
8 | }));
9 | }
--------------------------------------------------------------------------------