Spaces:
Runtime error
Runtime error
bump version and use Docker
Browse files- .gitignore +2 -1
- Dockerfile +32 -0
- Makefile +0 -2
- README.md +3 -4
- app.py +48 -31
- client/.eslintrc.cjs +0 -15
- client/.gitignore +0 -8
- client/.npmrc +0 -1
- client/.prettierrc +0 -6
- client/README.md +0 -40
- client/jsconfig.json +0 -10
- client/package-lock.json +0 -0
- client/package.json +0 -27
- client/src/routes/__layout.svelte +0 -5
- client/static/favicon.png +0 -0
- client/svelte.config.js +0 -23
- frontend/.gitignore +24 -0
- frontend/README.md +47 -0
- client/src/app.html → frontend/index.html +6 -7
- frontend/jsconfig.json +32 -0
- frontend/package-lock.json +2520 -0
- frontend/package.json +20 -0
- client/postcss.config.cjs → frontend/postcss.config.js +1 -1
- {client/static → frontend/public}/test.json +0 -0
- frontend/public/vite.svg +1 -0
- client/src/routes/index.svelte → frontend/src/App.svelte +8 -7
- {client → frontend}/src/app.css +1 -1
- frontend/src/assets/svelte.svg +1 -0
- {client → frontend}/src/components/NewsBlock.svelte +0 -0
- frontend/src/lib/Counter.svelte +10 -0
- frontend/src/main.js +8 -0
- frontend/src/vite-env.d.ts +2 -0
- frontend/svelte.config.js +7 -0
- client/tailwind.config.cjs → frontend/tailwind.config.js +7 -3
- frontend/vite.config.js +12 -0
- install-node.sh +0 -10
- main.py +0 -3
- packages.txt +0 -0
- requirements.txt +6 -6
- static/_app/assets/pages/__layout.svelte-298a4fd5.css +0 -1
- static/_app/chunks/vendor-528a52ee.js +0 -1
- static/_app/error.svelte-41f1b9b8.js +0 -1
- static/_app/manifest.json +0 -48
- static/_app/pages/__layout.svelte-483b60b6.js +0 -1
- static/_app/pages/index.svelte-a06f0dfd.js +0 -43
- static/_app/start-ad0dbeae.js +0 -1
- static/_app/version.json +0 -1
- static/favicon.png +0 -0
- static/index.html +0 -91
- static/test.json +0 -0
.gitignore
CHANGED
@@ -24,4 +24,5 @@ htmlcov/
|
|
24 |
.coverage.*
|
25 |
*,cover
|
26 |
venv
|
27 |
-
*_cache.json
|
|
|
|
24 |
.coverage.*
|
25 |
*,cover
|
26 |
venv
|
27 |
+
*_cache.json
|
28 |
+
dist/
|
Dockerfile
ADDED
@@ -0,0 +1,32 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
FROM node:20-slim as builder
|
2 |
+
|
3 |
+
RUN apt-get update && apt-get install -y \
|
4 |
+
&& rm -rf /var/lib/apt/lists/*
|
5 |
+
|
6 |
+
WORKDIR /code
|
7 |
+
COPY ./frontend /code/frontend
|
8 |
+
WORKDIR /code/frontend
|
9 |
+
RUN npm ci
|
10 |
+
RUN npm run build
|
11 |
+
|
12 |
+
FROM python:3.11
|
13 |
+
|
14 |
+
WORKDIR /code
|
15 |
+
|
16 |
+
COPY ./requirements.txt /code/requirements.txt
|
17 |
+
|
18 |
+
RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt
|
19 |
+
|
20 |
+
RUN useradd -m -u 1000 user
|
21 |
+
USER user
|
22 |
+
ENV HOME=/home/user \
|
23 |
+
PATH=/home/user/.local/bin:$PATH \
|
24 |
+
PYTHONPATH=$HOME/app \
|
25 |
+
PYTHONUNBUFFERED=1
|
26 |
+
|
27 |
+
WORKDIR $HOME/app
|
28 |
+
|
29 |
+
COPY --chown=user . $HOME/app
|
30 |
+
COPY --chown=user --from=builder /code/frontend/dist $HOME/app/dist
|
31 |
+
|
32 |
+
CMD ["python", "app.py"]
|
Makefile
CHANGED
@@ -1,5 +1,3 @@
|
|
1 |
-
install-node:
|
2 |
-
./install-node.sh
|
3 |
build-client:
|
4 |
cd client && npm install && npm run build && pwd && rm -r ../static && cp -r dist/ ../static/
|
5 |
build-client-dev:
|
|
|
|
|
|
|
1 |
build-client:
|
2 |
cd client && npm install && npm run build && pwd && rm -r ../static && cp -r dist/ ../static/
|
3 |
build-client-dev:
|
README.md
CHANGED
@@ -1,10 +1,10 @@
|
|
1 |
---
|
2 |
-
title: NYTimes Homepage Sentiment Analysis
|
3 |
emoji: 📰
|
4 |
colorFrom: red
|
5 |
colorTo: green
|
6 |
-
sdk:
|
7 |
-
|
8 |
pinned: false
|
9 |
---
|
10 |
|
@@ -25,4 +25,3 @@ Because the Spaces run a python application, see [`app_file`](https://huggingfa
|
|
25 |
#### SvelteKit Node Adapter?
|
26 |
|
27 |
SvelteKit eventually can be used as our primary web application with [`@sveltejs/adapter-node`](https://github.com/sveltejs/kit/tree/master/packages/adapter-node) adaptor and Flask the API application with your ML project. However, there is an unsolved issue to enable [dynamic basepath](https://github.com/sveltejs/kit/issues/595), which blocks the possibility to embedded deployment or using a relative path.
|
28 |
-
|
|
|
1 |
---
|
2 |
+
title: NYTimes Homepage Sentiment Analysis
|
3 |
emoji: 📰
|
4 |
colorFrom: red
|
5 |
colorTo: green
|
6 |
+
sdk: docker
|
7 |
+
app_port: 7860
|
8 |
pinned: false
|
9 |
---
|
10 |
|
|
|
25 |
#### SvelteKit Node Adapter?
|
26 |
|
27 |
SvelteKit eventually can be used as our primary web application with [`@sveltejs/adapter-node`](https://github.com/sveltejs/kit/tree/master/packages/adapter-node) adaptor and Flask the API application with your ML project. However, there is an unsolved issue to enable [dynamic basepath](https://github.com/sveltejs/kit/issues/595), which blocks the possibility to embedded deployment or using a relative path.
|
|
app.py
CHANGED
@@ -7,23 +7,25 @@ import feedparser
|
|
7 |
import json
|
8 |
from dateutil import parser
|
9 |
import re
|
|
|
10 |
load_dotenv()
|
11 |
# Load Setiment Classifier
|
12 |
sentiment_analysis = pipeline(
|
13 |
-
"sentiment-analysis", model="siebert/sentiment-roberta-large-english"
|
14 |
-
|
|
|
15 |
|
16 |
CORS(app)
|
17 |
|
18 |
|
19 |
-
@app.route(
|
20 |
def index():
|
21 |
-
return app.send_static_file(
|
22 |
|
23 |
|
24 |
-
@app.route(
|
25 |
def get_news():
|
26 |
-
feed_url = request.args.get(
|
27 |
# check if string is a valid
|
28 |
|
29 |
# file name for cache
|
@@ -32,30 +34,39 @@ def get_news():
|
|
32 |
feed_entries = get_feed(feed_url)
|
33 |
# filter only titles for sentiment analysis
|
34 |
try:
|
35 |
-
with open(f
|
36 |
cache = json.load(file)
|
37 |
except:
|
38 |
cache = {}
|
39 |
|
40 |
# if new homepage is newer than cache, update cache and return
|
41 |
-
print("new date", feed_entries[
|
42 |
-
print("old date", cache[
|
43 |
-
|
44 |
-
|
|
|
45 |
print("Updating cache with new preditions")
|
46 |
-
titles = [entry[
|
47 |
# run sentiment analysis on titles
|
48 |
predictions = [sentiment_analysis(sentence) for sentence in titles]
|
49 |
# parse Negative and Positive, normalize to -1 to 1
|
50 |
-
predictions = [
|
51 |
-
|
|
|
|
|
|
|
|
|
52 |
# merge rss data with predictions
|
53 |
-
entries_predicitons = [
|
54 |
-
|
55 |
-
|
56 |
-
|
|
|
|
|
|
|
|
|
57 |
# update last precitions cache
|
58 |
-
with open(f
|
59 |
json.dump(output, file)
|
60 |
# send back json
|
61 |
return jsonify(output)
|
@@ -64,32 +75,38 @@ def get_news():
|
|
64 |
return jsonify(cache)
|
65 |
|
66 |
|
67 |
-
@
|
68 |
def predict():
|
69 |
# get data from POST
|
70 |
-
if request.method ==
|
71 |
# get current news
|
72 |
# get post body data
|
73 |
data = request.get_json()
|
74 |
-
if data.get(
|
75 |
-
return jsonify({
|
76 |
# get post expeceted to be under {'sentences': ['text': '...']}
|
77 |
-
sentences = data.get(
|
78 |
# prencit sentiments
|
79 |
predictions = [sentiment_analysis(sentence) for sentence in sentences]
|
80 |
# parse Negative and Positive, normalize to -1 to 1
|
81 |
-
predictions = [
|
82 |
-
|
83 |
-
|
84 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
85 |
# send back json
|
86 |
return jsonify(output)
|
87 |
|
88 |
|
89 |
def get_feed(feed_url):
|
90 |
feed = feedparser.parse(feed_url)
|
91 |
-
return {
|
92 |
|
93 |
|
94 |
-
if __name__ ==
|
95 |
-
app.run(host=
|
|
|
7 |
import json
|
8 |
from dateutil import parser
|
9 |
import re
|
10 |
+
|
11 |
load_dotenv()
|
12 |
# Load Setiment Classifier
|
13 |
sentiment_analysis = pipeline(
|
14 |
+
"sentiment-analysis", model="siebert/sentiment-roberta-large-english"
|
15 |
+
)
|
16 |
+
app = Flask(__name__, static_url_path="", static_folder="dist")
|
17 |
|
18 |
CORS(app)
|
19 |
|
20 |
|
21 |
+
@app.route("/")
|
22 |
def index():
|
23 |
+
return app.send_static_file("index.html")
|
24 |
|
25 |
|
26 |
+
@app.route("/api/news")
|
27 |
def get_news():
|
28 |
+
feed_url = request.args.get("feed_url")
|
29 |
# check if string is a valid
|
30 |
|
31 |
# file name for cache
|
|
|
34 |
feed_entries = get_feed(feed_url)
|
35 |
# filter only titles for sentiment analysis
|
36 |
try:
|
37 |
+
with open(f"{file_name}_cache.json") as file:
|
38 |
cache = json.load(file)
|
39 |
except:
|
40 |
cache = {}
|
41 |
|
42 |
# if new homepage is newer than cache, update cache and return
|
43 |
+
print("new date", feed_entries["last_update"])
|
44 |
+
print("old date", cache["last_update"] if "last_update" in cache else "None")
|
45 |
+
if not cache or parser.parse(feed_entries["last_update"]) > parser.parse(
|
46 |
+
cache["last_update"]
|
47 |
+
):
|
48 |
print("Updating cache with new preditions")
|
49 |
+
titles = [entry["title"] for entry in feed_entries["entries"]]
|
50 |
# run sentiment analysis on titles
|
51 |
predictions = [sentiment_analysis(sentence) for sentence in titles]
|
52 |
# parse Negative and Positive, normalize to -1 to 1
|
53 |
+
predictions = [
|
54 |
+
-prediction[0]["score"]
|
55 |
+
if prediction[0]["label"] == "NEGATIVE"
|
56 |
+
else prediction[0]["score"]
|
57 |
+
for prediction in predictions
|
58 |
+
]
|
59 |
# merge rss data with predictions
|
60 |
+
entries_predicitons = [
|
61 |
+
{**entry, "sentiment": prediction}
|
62 |
+
for entry, prediction in zip(feed_entries["entries"], predictions)
|
63 |
+
]
|
64 |
+
output = {
|
65 |
+
"entries": entries_predicitons,
|
66 |
+
"last_update": feed_entries["last_update"],
|
67 |
+
}
|
68 |
# update last precitions cache
|
69 |
+
with open(f"{file_name}_cache.json", "w") as file:
|
70 |
json.dump(output, file)
|
71 |
# send back json
|
72 |
return jsonify(output)
|
|
|
75 |
return jsonify(cache)
|
76 |
|
77 |
|
78 |
+
@app.route("/api/predict", methods=["POST"])
|
79 |
def predict():
|
80 |
# get data from POST
|
81 |
+
if request.method == "POST":
|
82 |
# get current news
|
83 |
# get post body data
|
84 |
data = request.get_json()
|
85 |
+
if data.get("sentences") is None:
|
86 |
+
return jsonify({"error": "No text provided"})
|
87 |
# get post expeceted to be under {'sentences': ['text': '...']}
|
88 |
+
sentences = data.get("sentences")
|
89 |
# prencit sentiments
|
90 |
predictions = [sentiment_analysis(sentence) for sentence in sentences]
|
91 |
# parse Negative and Positive, normalize to -1 to 1
|
92 |
+
predictions = [
|
93 |
+
-prediction[0]["score"]
|
94 |
+
if prediction[0]["label"] == "NEGATIVE"
|
95 |
+
else prediction[0]["score"]
|
96 |
+
for prediction in predictions
|
97 |
+
]
|
98 |
+
output = [
|
99 |
+
dict(sentence=sentence, sentiment=prediction)
|
100 |
+
for sentence, prediction in zip(sentences, predictions)
|
101 |
+
]
|
102 |
# send back json
|
103 |
return jsonify(output)
|
104 |
|
105 |
|
106 |
def get_feed(feed_url):
|
107 |
feed = feedparser.parse(feed_url)
|
108 |
+
return {"entries": feed["entries"], "last_update": feed["feed"]["updated"]}
|
109 |
|
110 |
|
111 |
+
if __name__ == "__main__":
|
112 |
+
app.run(host="0.0.0.0", port=int(os.environ.get("PORT", 7860)))
|
client/.eslintrc.cjs
DELETED
@@ -1,15 +0,0 @@
|
|
1 |
-
module.exports = {
|
2 |
-
root: true,
|
3 |
-
extends: ['eslint:recommended', 'prettier'],
|
4 |
-
plugins: ['svelte3'],
|
5 |
-
overrides: [{ files: ['*.svelte'], processor: 'svelte3/svelte3' }],
|
6 |
-
parserOptions: {
|
7 |
-
sourceType: 'module',
|
8 |
-
ecmaVersion: 2020
|
9 |
-
},
|
10 |
-
env: {
|
11 |
-
browser: true,
|
12 |
-
es2017: true,
|
13 |
-
node: true
|
14 |
-
}
|
15 |
-
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
client/.gitignore
DELETED
@@ -1,8 +0,0 @@
|
|
1 |
-
.DS_Store
|
2 |
-
node_modules
|
3 |
-
/build
|
4 |
-
/.svelte-kit
|
5 |
-
/package
|
6 |
-
.env
|
7 |
-
.env.*
|
8 |
-
!.env.example
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
client/.npmrc
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
engine-strict=true
|
|
|
|
client/.prettierrc
DELETED
@@ -1,6 +0,0 @@
|
|
1 |
-
{
|
2 |
-
"useTabs": true,
|
3 |
-
"singleQuote": true,
|
4 |
-
"trailingComma": "none",
|
5 |
-
"printWidth": 100
|
6 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
client/README.md
DELETED
@@ -1,40 +0,0 @@
|
|
1 |
-
# create-svelte
|
2 |
-
|
3 |
-
Everything you need to build a Svelte project, powered by [`create-svelte`](https://github.com/sveltejs/kit/tree/master/packages/create-svelte).
|
4 |
-
|
5 |
-
## Creating a project
|
6 |
-
|
7 |
-
If you're seeing this, you've probably already done this step. Congrats!
|
8 |
-
|
9 |
-
```bash
|
10 |
-
# create a new project in the current directory
|
11 |
-
npm init svelte@next
|
12 |
-
|
13 |
-
# create a new project in my-app
|
14 |
-
npm init svelte@next my-app
|
15 |
-
```
|
16 |
-
|
17 |
-
> Note: the `@next` is temporary
|
18 |
-
|
19 |
-
## Developing
|
20 |
-
|
21 |
-
Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server:
|
22 |
-
|
23 |
-
```bash
|
24 |
-
npm run dev
|
25 |
-
|
26 |
-
# or start the server and open the app in a new browser tab
|
27 |
-
npm run dev -- --open
|
28 |
-
```
|
29 |
-
|
30 |
-
## Building
|
31 |
-
|
32 |
-
To create a production version of your app:
|
33 |
-
|
34 |
-
```bash
|
35 |
-
npm run build
|
36 |
-
```
|
37 |
-
|
38 |
-
You can preview the production build with `npm run preview`.
|
39 |
-
|
40 |
-
> To deploy your app, you may need to install an [adapter](https://kit.svelte.dev/docs/adapters) for your target environment.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
client/jsconfig.json
DELETED
@@ -1,10 +0,0 @@
|
|
1 |
-
{
|
2 |
-
"compilerOptions": {
|
3 |
-
"baseUrl": ".",
|
4 |
-
"paths": {
|
5 |
-
"$lib": ["src/lib"],
|
6 |
-
"$lib/*": ["src/lib/*"]
|
7 |
-
}
|
8 |
-
},
|
9 |
-
"include": ["src/**/*.d.ts", "src/**/*.js", "src/**/*.svelte"]
|
10 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
client/package-lock.json
DELETED
The diff for this file is too large to render.
See raw diff
|
|
client/package.json
DELETED
@@ -1,27 +0,0 @@
|
|
1 |
-
{
|
2 |
-
"name": "client",
|
3 |
-
"version": "0.0.1",
|
4 |
-
"scripts": {
|
5 |
-
"dev": "svelte-kit dev",
|
6 |
-
"build": "svelte-kit build",
|
7 |
-
"package": "svelte-kit package",
|
8 |
-
"preview": "svelte-kit preview",
|
9 |
-
"lint": "prettier --ignore-path .gitignore --check --plugin-search-dir=. . && eslint --ignore-path .gitignore .",
|
10 |
-
"format": "prettier --ignore-path .gitignore --write --plugin-search-dir=. ."
|
11 |
-
},
|
12 |
-
"devDependencies": {
|
13 |
-
"@sveltejs/adapter-static": "^1.0.0-next.28",
|
14 |
-
"@sveltejs/kit": "next",
|
15 |
-
"@tailwindcss/typography": "^0.5.2",
|
16 |
-
"autoprefixer": "^10.4.2",
|
17 |
-
"eslint": "^7.32.0",
|
18 |
-
"eslint-config-prettier": "^8.3.0",
|
19 |
-
"eslint-plugin-svelte3": "^3.2.1",
|
20 |
-
"postcss": "^8.4.6",
|
21 |
-
"prettier": "^2.4.1",
|
22 |
-
"prettier-plugin-svelte": "^2.4.0",
|
23 |
-
"svelte": "^3.44.0",
|
24 |
-
"tailwindcss": "^3.0.22"
|
25 |
-
},
|
26 |
-
"type": "module"
|
27 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
client/src/routes/__layout.svelte
DELETED
@@ -1,5 +0,0 @@
|
|
1 |
-
<script>
|
2 |
-
import "../app.css";
|
3 |
-
</script>
|
4 |
-
|
5 |
-
<slot />
|
|
|
|
|
|
|
|
|
|
|
|
client/static/favicon.png
DELETED
Binary file (1.57 kB)
|
|
client/svelte.config.js
DELETED
@@ -1,23 +0,0 @@
|
|
1 |
-
import adapter from '@sveltejs/adapter-static'
|
2 |
-
const dev = process.env.NODE_ENV === 'development';
|
3 |
-
|
4 |
-
/** @type {import('@sveltejs/kit').Config} */
|
5 |
-
const config = {
|
6 |
-
kit: {
|
7 |
-
vite: {
|
8 |
-
server: { fs: "allow" },
|
9 |
-
},
|
10 |
-
paths: {
|
11 |
-
base: '/static'
|
12 |
-
},
|
13 |
-
appDir: '_app',
|
14 |
-
adapter: adapter({
|
15 |
-
pages: 'dist',
|
16 |
-
assets: 'dist',
|
17 |
-
fallback: null,
|
18 |
-
precompress: false
|
19 |
-
})
|
20 |
-
}
|
21 |
-
};
|
22 |
-
|
23 |
-
export default config;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
frontend/.gitignore
ADDED
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Logs
|
2 |
+
logs
|
3 |
+
*.log
|
4 |
+
npm-debug.log*
|
5 |
+
yarn-debug.log*
|
6 |
+
yarn-error.log*
|
7 |
+
pnpm-debug.log*
|
8 |
+
lerna-debug.log*
|
9 |
+
|
10 |
+
node_modules
|
11 |
+
dist
|
12 |
+
dist-ssr
|
13 |
+
*.local
|
14 |
+
|
15 |
+
# Editor directories and files
|
16 |
+
.vscode/*
|
17 |
+
!.vscode/extensions.json
|
18 |
+
.idea
|
19 |
+
.DS_Store
|
20 |
+
*.suo
|
21 |
+
*.ntvs*
|
22 |
+
*.njsproj
|
23 |
+
*.sln
|
24 |
+
*.sw?
|
frontend/README.md
ADDED
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Svelte + Vite
|
2 |
+
|
3 |
+
This template should help get you started developing with Svelte in Vite.
|
4 |
+
|
5 |
+
## Recommended IDE Setup
|
6 |
+
|
7 |
+
[VS Code](https://code.visualstudio.com/) + [Svelte](https://marketplace.visualstudio.com/items?itemName=svelte.svelte-vscode).
|
8 |
+
|
9 |
+
## Need an official Svelte framework?
|
10 |
+
|
11 |
+
Check out [SvelteKit](https://github.com/sveltejs/kit#readme), which is also powered by Vite. Deploy anywhere with its serverless-first approach and adapt to various platforms, with out of the box support for TypeScript, SCSS, and Less, and easily-added support for mdsvex, GraphQL, PostCSS, Tailwind CSS, and more.
|
12 |
+
|
13 |
+
## Technical considerations
|
14 |
+
|
15 |
+
**Why use this over SvelteKit?**
|
16 |
+
|
17 |
+
- It brings its own routing solution which might not be preferable for some users.
|
18 |
+
- It is first and foremost a framework that just happens to use Vite under the hood, not a Vite app.
|
19 |
+
|
20 |
+
This template contains as little as possible to get started with Vite + Svelte, while taking into account the developer experience with regards to HMR and intellisense. It demonstrates capabilities on par with the other `create-vite` templates and is a good starting point for beginners dipping their toes into a Vite + Svelte project.
|
21 |
+
|
22 |
+
Should you later need the extended capabilities and extensibility provided by SvelteKit, the template has been structured similarly to SvelteKit so that it is easy to migrate.
|
23 |
+
|
24 |
+
**Why `global.d.ts` instead of `compilerOptions.types` inside `jsconfig.json` or `tsconfig.json`?**
|
25 |
+
|
26 |
+
Setting `compilerOptions.types` shuts out all other types not explicitly listed in the configuration. Using triple-slash references keeps the default TypeScript setting of accepting type information from the entire workspace, while also adding `svelte` and `vite/client` type information.
|
27 |
+
|
28 |
+
**Why include `.vscode/extensions.json`?**
|
29 |
+
|
30 |
+
Other templates indirectly recommend extensions via the README, but this file allows VS Code to prompt the user to install the recommended extension upon opening the project.
|
31 |
+
|
32 |
+
**Why enable `checkJs` in the JS template?**
|
33 |
+
|
34 |
+
It is likely that most cases of changing variable types in runtime are likely to be accidental, rather than deliberate. This provides advanced typechecking out of the box. Should you like to take advantage of the dynamically-typed nature of JavaScript, it is trivial to change the configuration.
|
35 |
+
|
36 |
+
**Why is HMR not preserving my local component state?**
|
37 |
+
|
38 |
+
HMR state preservation comes with a number of gotchas! It has been disabled by default in both `svelte-hmr` and `@sveltejs/vite-plugin-svelte` due to its often surprising behavior. You can read the details [here](https://github.com/sveltejs/svelte-hmr/tree/master/packages/svelte-hmr#preservation-of-local-state).
|
39 |
+
|
40 |
+
If you have state that's important to retain within a component, consider creating an external store which would not be replaced by HMR.
|
41 |
+
|
42 |
+
```js
|
43 |
+
// store.js
|
44 |
+
// An extremely simple external store
|
45 |
+
import { writable } from 'svelte/store'
|
46 |
+
export default writable(0)
|
47 |
+
```
|
client/src/app.html → frontend/index.html
RENAMED
@@ -1,15 +1,14 @@
|
|
1 |
<!DOCTYPE html>
|
2 |
<html lang="en">
|
3 |
<head>
|
4 |
-
<
|
5 |
-
<
|
6 |
-
<meta name="
|
7 |
-
<link rel="icon" href="%svelte.assets%/favicon.png" />
|
8 |
-
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
9 |
-
%svelte.head%
|
10 |
<script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.3.1/iframeResizer.contentWindow.min.js"></script>
|
|
|
11 |
</head>
|
12 |
<body>
|
13 |
-
<div
|
|
|
14 |
</body>
|
15 |
</html>
|
|
|
1 |
<!DOCTYPE html>
|
2 |
<html lang="en">
|
3 |
<head>
|
4 |
+
<meta charset="UTF-8" />
|
5 |
+
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
|
6 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
|
|
|
|
|
7 |
<script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.3.1/iframeResizer.contentWindow.min.js"></script>
|
8 |
+
<title>New York Times Sentiment Analysis</title>
|
9 |
</head>
|
10 |
<body>
|
11 |
+
<div id="app"></div>
|
12 |
+
<script type="module" src="/src/main.js"></script>
|
13 |
</body>
|
14 |
</html>
|
frontend/jsconfig.json
ADDED
@@ -0,0 +1,32 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"compilerOptions": {
|
3 |
+
"moduleResolution": "bundler",
|
4 |
+
"target": "ESNext",
|
5 |
+
"module": "ESNext",
|
6 |
+
/**
|
7 |
+
* svelte-preprocess cannot figure out whether you have
|
8 |
+
* a value or a type, so tell TypeScript to enforce using
|
9 |
+
* `import type` instead of `import` for Types.
|
10 |
+
*/
|
11 |
+
"verbatimModuleSyntax": true,
|
12 |
+
"isolatedModules": true,
|
13 |
+
"resolveJsonModule": true,
|
14 |
+
/**
|
15 |
+
* To have warnings / errors of the Svelte compiler at the
|
16 |
+
* correct position, enable source maps by default.
|
17 |
+
*/
|
18 |
+
"sourceMap": true,
|
19 |
+
"esModuleInterop": true,
|
20 |
+
"skipLibCheck": true,
|
21 |
+
/**
|
22 |
+
* Typecheck JS in `.svelte` and `.js` files by default.
|
23 |
+
* Disable this if you'd like to use dynamic types.
|
24 |
+
*/
|
25 |
+
"checkJs": true
|
26 |
+
},
|
27 |
+
/**
|
28 |
+
* Use global.d.ts instead of compilerOptions.types
|
29 |
+
* to avoid limiting type declarations.
|
30 |
+
*/
|
31 |
+
"include": ["src/**/*.d.ts", "src/**/*.js", "src/**/*.svelte"]
|
32 |
+
}
|
frontend/package-lock.json
ADDED
@@ -0,0 +1,2520 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"name": "frontend",
|
3 |
+
"version": "0.0.0",
|
4 |
+
"lockfileVersion": 3,
|
5 |
+
"requires": true,
|
6 |
+
"packages": {
|
7 |
+
"": {
|
8 |
+
"name": "frontend",
|
9 |
+
"version": "0.0.0",
|
10 |
+
"devDependencies": {
|
11 |
+
"@sveltejs/vite-plugin-svelte": "^3.0.2",
|
12 |
+
"@tailwindcss/typography": "^0.5.10",
|
13 |
+
"autoprefixer": "^10.4.17",
|
14 |
+
"postcss": "^8.4.35",
|
15 |
+
"svelte": "^4.2.10",
|
16 |
+
"tailwindcss": "^3.4.1",
|
17 |
+
"vite": "^5.1.0"
|
18 |
+
}
|
19 |
+
},
|
20 |
+
"node_modules/@alloc/quick-lru": {
|
21 |
+
"version": "5.2.0",
|
22 |
+
"resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz",
|
23 |
+
"integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==",
|
24 |
+
"dev": true,
|
25 |
+
"engines": {
|
26 |
+
"node": ">=10"
|
27 |
+
},
|
28 |
+
"funding": {
|
29 |
+
"url": "https://github.com/sponsors/sindresorhus"
|
30 |
+
}
|
31 |
+
},
|
32 |
+
"node_modules/@ampproject/remapping": {
|
33 |
+
"version": "2.2.1",
|
34 |
+
"resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz",
|
35 |
+
"integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==",
|
36 |
+
"dev": true,
|
37 |
+
"dependencies": {
|
38 |
+
"@jridgewell/gen-mapping": "^0.3.0",
|
39 |
+
"@jridgewell/trace-mapping": "^0.3.9"
|
40 |
+
},
|
41 |
+
"engines": {
|
42 |
+
"node": ">=6.0.0"
|
43 |
+
}
|
44 |
+
},
|
45 |
+
"node_modules/@esbuild/aix-ppc64": {
|
46 |
+
"version": "0.19.12",
|
47 |
+
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz",
|
48 |
+
"integrity": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==",
|
49 |
+
"cpu": [
|
50 |
+
"ppc64"
|
51 |
+
],
|
52 |
+
"dev": true,
|
53 |
+
"optional": true,
|
54 |
+
"os": [
|
55 |
+
"aix"
|
56 |
+
],
|
57 |
+
"engines": {
|
58 |
+
"node": ">=12"
|
59 |
+
}
|
60 |
+
},
|
61 |
+
"node_modules/@esbuild/android-arm": {
|
62 |
+
"version": "0.19.12",
|
63 |
+
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.12.tgz",
|
64 |
+
"integrity": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==",
|
65 |
+
"cpu": [
|
66 |
+
"arm"
|
67 |
+
],
|
68 |
+
"dev": true,
|
69 |
+
"optional": true,
|
70 |
+
"os": [
|
71 |
+
"android"
|
72 |
+
],
|
73 |
+
"engines": {
|
74 |
+
"node": ">=12"
|
75 |
+
}
|
76 |
+
},
|
77 |
+
"node_modules/@esbuild/android-arm64": {
|
78 |
+
"version": "0.19.12",
|
79 |
+
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz",
|
80 |
+
"integrity": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==",
|
81 |
+
"cpu": [
|
82 |
+
"arm64"
|
83 |
+
],
|
84 |
+
"dev": true,
|
85 |
+
"optional": true,
|
86 |
+
"os": [
|
87 |
+
"android"
|
88 |
+
],
|
89 |
+
"engines": {
|
90 |
+
"node": ">=12"
|
91 |
+
}
|
92 |
+
},
|
93 |
+
"node_modules/@esbuild/android-x64": {
|
94 |
+
"version": "0.19.12",
|
95 |
+
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.12.tgz",
|
96 |
+
"integrity": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==",
|
97 |
+
"cpu": [
|
98 |
+
"x64"
|
99 |
+
],
|
100 |
+
"dev": true,
|
101 |
+
"optional": true,
|
102 |
+
"os": [
|
103 |
+
"android"
|
104 |
+
],
|
105 |
+
"engines": {
|
106 |
+
"node": ">=12"
|
107 |
+
}
|
108 |
+
},
|
109 |
+
"node_modules/@esbuild/darwin-arm64": {
|
110 |
+
"version": "0.19.12",
|
111 |
+
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz",
|
112 |
+
"integrity": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==",
|
113 |
+
"cpu": [
|
114 |
+
"arm64"
|
115 |
+
],
|
116 |
+
"dev": true,
|
117 |
+
"optional": true,
|
118 |
+
"os": [
|
119 |
+
"darwin"
|
120 |
+
],
|
121 |
+
"engines": {
|
122 |
+
"node": ">=12"
|
123 |
+
}
|
124 |
+
},
|
125 |
+
"node_modules/@esbuild/darwin-x64": {
|
126 |
+
"version": "0.19.12",
|
127 |
+
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz",
|
128 |
+
"integrity": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==",
|
129 |
+
"cpu": [
|
130 |
+
"x64"
|
131 |
+
],
|
132 |
+
"dev": true,
|
133 |
+
"optional": true,
|
134 |
+
"os": [
|
135 |
+
"darwin"
|
136 |
+
],
|
137 |
+
"engines": {
|
138 |
+
"node": ">=12"
|
139 |
+
}
|
140 |
+
},
|
141 |
+
"node_modules/@esbuild/freebsd-arm64": {
|
142 |
+
"version": "0.19.12",
|
143 |
+
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz",
|
144 |
+
"integrity": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==",
|
145 |
+
"cpu": [
|
146 |
+
"arm64"
|
147 |
+
],
|
148 |
+
"dev": true,
|
149 |
+
"optional": true,
|
150 |
+
"os": [
|
151 |
+
"freebsd"
|
152 |
+
],
|
153 |
+
"engines": {
|
154 |
+
"node": ">=12"
|
155 |
+
}
|
156 |
+
},
|
157 |
+
"node_modules/@esbuild/freebsd-x64": {
|
158 |
+
"version": "0.19.12",
|
159 |
+
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz",
|
160 |
+
"integrity": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==",
|
161 |
+
"cpu": [
|
162 |
+
"x64"
|
163 |
+
],
|
164 |
+
"dev": true,
|
165 |
+
"optional": true,
|
166 |
+
"os": [
|
167 |
+
"freebsd"
|
168 |
+
],
|
169 |
+
"engines": {
|
170 |
+
"node": ">=12"
|
171 |
+
}
|
172 |
+
},
|
173 |
+
"node_modules/@esbuild/linux-arm": {
|
174 |
+
"version": "0.19.12",
|
175 |
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz",
|
176 |
+
"integrity": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==",
|
177 |
+
"cpu": [
|
178 |
+
"arm"
|
179 |
+
],
|
180 |
+
"dev": true,
|
181 |
+
"optional": true,
|
182 |
+
"os": [
|
183 |
+
"linux"
|
184 |
+
],
|
185 |
+
"engines": {
|
186 |
+
"node": ">=12"
|
187 |
+
}
|
188 |
+
},
|
189 |
+
"node_modules/@esbuild/linux-arm64": {
|
190 |
+
"version": "0.19.12",
|
191 |
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz",
|
192 |
+
"integrity": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==",
|
193 |
+
"cpu": [
|
194 |
+
"arm64"
|
195 |
+
],
|
196 |
+
"dev": true,
|
197 |
+
"optional": true,
|
198 |
+
"os": [
|
199 |
+
"linux"
|
200 |
+
],
|
201 |
+
"engines": {
|
202 |
+
"node": ">=12"
|
203 |
+
}
|
204 |
+
},
|
205 |
+
"node_modules/@esbuild/linux-ia32": {
|
206 |
+
"version": "0.19.12",
|
207 |
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz",
|
208 |
+
"integrity": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==",
|
209 |
+
"cpu": [
|
210 |
+
"ia32"
|
211 |
+
],
|
212 |
+
"dev": true,
|
213 |
+
"optional": true,
|
214 |
+
"os": [
|
215 |
+
"linux"
|
216 |
+
],
|
217 |
+
"engines": {
|
218 |
+
"node": ">=12"
|
219 |
+
}
|
220 |
+
},
|
221 |
+
"node_modules/@esbuild/linux-loong64": {
|
222 |
+
"version": "0.19.12",
|
223 |
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz",
|
224 |
+
"integrity": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==",
|
225 |
+
"cpu": [
|
226 |
+
"loong64"
|
227 |
+
],
|
228 |
+
"dev": true,
|
229 |
+
"optional": true,
|
230 |
+
"os": [
|
231 |
+
"linux"
|
232 |
+
],
|
233 |
+
"engines": {
|
234 |
+
"node": ">=12"
|
235 |
+
}
|
236 |
+
},
|
237 |
+
"node_modules/@esbuild/linux-mips64el": {
|
238 |
+
"version": "0.19.12",
|
239 |
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz",
|
240 |
+
"integrity": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==",
|
241 |
+
"cpu": [
|
242 |
+
"mips64el"
|
243 |
+
],
|
244 |
+
"dev": true,
|
245 |
+
"optional": true,
|
246 |
+
"os": [
|
247 |
+
"linux"
|
248 |
+
],
|
249 |
+
"engines": {
|
250 |
+
"node": ">=12"
|
251 |
+
}
|
252 |
+
},
|
253 |
+
"node_modules/@esbuild/linux-ppc64": {
|
254 |
+
"version": "0.19.12",
|
255 |
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz",
|
256 |
+
"integrity": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==",
|
257 |
+
"cpu": [
|
258 |
+
"ppc64"
|
259 |
+
],
|
260 |
+
"dev": true,
|
261 |
+
"optional": true,
|
262 |
+
"os": [
|
263 |
+
"linux"
|
264 |
+
],
|
265 |
+
"engines": {
|
266 |
+
"node": ">=12"
|
267 |
+
}
|
268 |
+
},
|
269 |
+
"node_modules/@esbuild/linux-riscv64": {
|
270 |
+
"version": "0.19.12",
|
271 |
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz",
|
272 |
+
"integrity": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==",
|
273 |
+
"cpu": [
|
274 |
+
"riscv64"
|
275 |
+
],
|
276 |
+
"dev": true,
|
277 |
+
"optional": true,
|
278 |
+
"os": [
|
279 |
+
"linux"
|
280 |
+
],
|
281 |
+
"engines": {
|
282 |
+
"node": ">=12"
|
283 |
+
}
|
284 |
+
},
|
285 |
+
"node_modules/@esbuild/linux-s390x": {
|
286 |
+
"version": "0.19.12",
|
287 |
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz",
|
288 |
+
"integrity": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==",
|
289 |
+
"cpu": [
|
290 |
+
"s390x"
|
291 |
+
],
|
292 |
+
"dev": true,
|
293 |
+
"optional": true,
|
294 |
+
"os": [
|
295 |
+
"linux"
|
296 |
+
],
|
297 |
+
"engines": {
|
298 |
+
"node": ">=12"
|
299 |
+
}
|
300 |
+
},
|
301 |
+
"node_modules/@esbuild/linux-x64": {
|
302 |
+
"version": "0.19.12",
|
303 |
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz",
|
304 |
+
"integrity": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==",
|
305 |
+
"cpu": [
|
306 |
+
"x64"
|
307 |
+
],
|
308 |
+
"dev": true,
|
309 |
+
"optional": true,
|
310 |
+
"os": [
|
311 |
+
"linux"
|
312 |
+
],
|
313 |
+
"engines": {
|
314 |
+
"node": ">=12"
|
315 |
+
}
|
316 |
+
},
|
317 |
+
"node_modules/@esbuild/netbsd-x64": {
|
318 |
+
"version": "0.19.12",
|
319 |
+
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz",
|
320 |
+
"integrity": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==",
|
321 |
+
"cpu": [
|
322 |
+
"x64"
|
323 |
+
],
|
324 |
+
"dev": true,
|
325 |
+
"optional": true,
|
326 |
+
"os": [
|
327 |
+
"netbsd"
|
328 |
+
],
|
329 |
+
"engines": {
|
330 |
+
"node": ">=12"
|
331 |
+
}
|
332 |
+
},
|
333 |
+
"node_modules/@esbuild/openbsd-x64": {
|
334 |
+
"version": "0.19.12",
|
335 |
+
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz",
|
336 |
+
"integrity": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==",
|
337 |
+
"cpu": [
|
338 |
+
"x64"
|
339 |
+
],
|
340 |
+
"dev": true,
|
341 |
+
"optional": true,
|
342 |
+
"os": [
|
343 |
+
"openbsd"
|
344 |
+
],
|
345 |
+
"engines": {
|
346 |
+
"node": ">=12"
|
347 |
+
}
|
348 |
+
},
|
349 |
+
"node_modules/@esbuild/sunos-x64": {
|
350 |
+
"version": "0.19.12",
|
351 |
+
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz",
|
352 |
+
"integrity": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==",
|
353 |
+
"cpu": [
|
354 |
+
"x64"
|
355 |
+
],
|
356 |
+
"dev": true,
|
357 |
+
"optional": true,
|
358 |
+
"os": [
|
359 |
+
"sunos"
|
360 |
+
],
|
361 |
+
"engines": {
|
362 |
+
"node": ">=12"
|
363 |
+
}
|
364 |
+
},
|
365 |
+
"node_modules/@esbuild/win32-arm64": {
|
366 |
+
"version": "0.19.12",
|
367 |
+
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz",
|
368 |
+
"integrity": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==",
|
369 |
+
"cpu": [
|
370 |
+
"arm64"
|
371 |
+
],
|
372 |
+
"dev": true,
|
373 |
+
"optional": true,
|
374 |
+
"os": [
|
375 |
+
"win32"
|
376 |
+
],
|
377 |
+
"engines": {
|
378 |
+
"node": ">=12"
|
379 |
+
}
|
380 |
+
},
|
381 |
+
"node_modules/@esbuild/win32-ia32": {
|
382 |
+
"version": "0.19.12",
|
383 |
+
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz",
|
384 |
+
"integrity": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==",
|
385 |
+
"cpu": [
|
386 |
+
"ia32"
|
387 |
+
],
|
388 |
+
"dev": true,
|
389 |
+
"optional": true,
|
390 |
+
"os": [
|
391 |
+
"win32"
|
392 |
+
],
|
393 |
+
"engines": {
|
394 |
+
"node": ">=12"
|
395 |
+
}
|
396 |
+
},
|
397 |
+
"node_modules/@esbuild/win32-x64": {
|
398 |
+
"version": "0.19.12",
|
399 |
+
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz",
|
400 |
+
"integrity": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==",
|
401 |
+
"cpu": [
|
402 |
+
"x64"
|
403 |
+
],
|
404 |
+
"dev": true,
|
405 |
+
"optional": true,
|
406 |
+
"os": [
|
407 |
+
"win32"
|
408 |
+
],
|
409 |
+
"engines": {
|
410 |
+
"node": ">=12"
|
411 |
+
}
|
412 |
+
},
|
413 |
+
"node_modules/@isaacs/cliui": {
|
414 |
+
"version": "8.0.2",
|
415 |
+
"resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
|
416 |
+
"integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
|
417 |
+
"dev": true,
|
418 |
+
"dependencies": {
|
419 |
+
"string-width": "^5.1.2",
|
420 |
+
"string-width-cjs": "npm:string-width@^4.2.0",
|
421 |
+
"strip-ansi": "^7.0.1",
|
422 |
+
"strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
|
423 |
+
"wrap-ansi": "^8.1.0",
|
424 |
+
"wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
|
425 |
+
},
|
426 |
+
"engines": {
|
427 |
+
"node": ">=12"
|
428 |
+
}
|
429 |
+
},
|
430 |
+
"node_modules/@jridgewell/gen-mapping": {
|
431 |
+
"version": "0.3.3",
|
432 |
+
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
|
433 |
+
"integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==",
|
434 |
+
"dev": true,
|
435 |
+
"dependencies": {
|
436 |
+
"@jridgewell/set-array": "^1.0.1",
|
437 |
+
"@jridgewell/sourcemap-codec": "^1.4.10",
|
438 |
+
"@jridgewell/trace-mapping": "^0.3.9"
|
439 |
+
},
|
440 |
+
"engines": {
|
441 |
+
"node": ">=6.0.0"
|
442 |
+
}
|
443 |
+
},
|
444 |
+
"node_modules/@jridgewell/resolve-uri": {
|
445 |
+
"version": "3.1.2",
|
446 |
+
"resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
|
447 |
+
"integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
|
448 |
+
"dev": true,
|
449 |
+
"engines": {
|
450 |
+
"node": ">=6.0.0"
|
451 |
+
}
|
452 |
+
},
|
453 |
+
"node_modules/@jridgewell/set-array": {
|
454 |
+
"version": "1.1.2",
|
455 |
+
"resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
|
456 |
+
"integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
|
457 |
+
"dev": true,
|
458 |
+
"engines": {
|
459 |
+
"node": ">=6.0.0"
|
460 |
+
}
|
461 |
+
},
|
462 |
+
"node_modules/@jridgewell/sourcemap-codec": {
|
463 |
+
"version": "1.4.15",
|
464 |
+
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
|
465 |
+
"integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
|
466 |
+
"dev": true
|
467 |
+
},
|
468 |
+
"node_modules/@jridgewell/trace-mapping": {
|
469 |
+
"version": "0.3.22",
|
470 |
+
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz",
|
471 |
+
"integrity": "sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==",
|
472 |
+
"dev": true,
|
473 |
+
"dependencies": {
|
474 |
+
"@jridgewell/resolve-uri": "^3.1.0",
|
475 |
+
"@jridgewell/sourcemap-codec": "^1.4.14"
|
476 |
+
}
|
477 |
+
},
|
478 |
+
"node_modules/@nodelib/fs.scandir": {
|
479 |
+
"version": "2.1.5",
|
480 |
+
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
|
481 |
+
"integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
|
482 |
+
"dev": true,
|
483 |
+
"dependencies": {
|
484 |
+
"@nodelib/fs.stat": "2.0.5",
|
485 |
+
"run-parallel": "^1.1.9"
|
486 |
+
},
|
487 |
+
"engines": {
|
488 |
+
"node": ">= 8"
|
489 |
+
}
|
490 |
+
},
|
491 |
+
"node_modules/@nodelib/fs.stat": {
|
492 |
+
"version": "2.0.5",
|
493 |
+
"resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
|
494 |
+
"integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
|
495 |
+
"dev": true,
|
496 |
+
"engines": {
|
497 |
+
"node": ">= 8"
|
498 |
+
}
|
499 |
+
},
|
500 |
+
"node_modules/@nodelib/fs.walk": {
|
501 |
+
"version": "1.2.8",
|
502 |
+
"resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
|
503 |
+
"integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
|
504 |
+
"dev": true,
|
505 |
+
"dependencies": {
|
506 |
+
"@nodelib/fs.scandir": "2.1.5",
|
507 |
+
"fastq": "^1.6.0"
|
508 |
+
},
|
509 |
+
"engines": {
|
510 |
+
"node": ">= 8"
|
511 |
+
}
|
512 |
+
},
|
513 |
+
"node_modules/@pkgjs/parseargs": {
|
514 |
+
"version": "0.11.0",
|
515 |
+
"resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
|
516 |
+
"integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
|
517 |
+
"dev": true,
|
518 |
+
"optional": true,
|
519 |
+
"engines": {
|
520 |
+
"node": ">=14"
|
521 |
+
}
|
522 |
+
},
|
523 |
+
"node_modules/@rollup/rollup-android-arm-eabi": {
|
524 |
+
"version": "4.12.0",
|
525 |
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.12.0.tgz",
|
526 |
+
"integrity": "sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==",
|
527 |
+
"cpu": [
|
528 |
+
"arm"
|
529 |
+
],
|
530 |
+
"dev": true,
|
531 |
+
"optional": true,
|
532 |
+
"os": [
|
533 |
+
"android"
|
534 |
+
]
|
535 |
+
},
|
536 |
+
"node_modules/@rollup/rollup-android-arm64": {
|
537 |
+
"version": "4.12.0",
|
538 |
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.12.0.tgz",
|
539 |
+
"integrity": "sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==",
|
540 |
+
"cpu": [
|
541 |
+
"arm64"
|
542 |
+
],
|
543 |
+
"dev": true,
|
544 |
+
"optional": true,
|
545 |
+
"os": [
|
546 |
+
"android"
|
547 |
+
]
|
548 |
+
},
|
549 |
+
"node_modules/@rollup/rollup-darwin-arm64": {
|
550 |
+
"version": "4.12.0",
|
551 |
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.12.0.tgz",
|
552 |
+
"integrity": "sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==",
|
553 |
+
"cpu": [
|
554 |
+
"arm64"
|
555 |
+
],
|
556 |
+
"dev": true,
|
557 |
+
"optional": true,
|
558 |
+
"os": [
|
559 |
+
"darwin"
|
560 |
+
]
|
561 |
+
},
|
562 |
+
"node_modules/@rollup/rollup-darwin-x64": {
|
563 |
+
"version": "4.12.0",
|
564 |
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.12.0.tgz",
|
565 |
+
"integrity": "sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==",
|
566 |
+
"cpu": [
|
567 |
+
"x64"
|
568 |
+
],
|
569 |
+
"dev": true,
|
570 |
+
"optional": true,
|
571 |
+
"os": [
|
572 |
+
"darwin"
|
573 |
+
]
|
574 |
+
},
|
575 |
+
"node_modules/@rollup/rollup-linux-arm-gnueabihf": {
|
576 |
+
"version": "4.12.0",
|
577 |
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.12.0.tgz",
|
578 |
+
"integrity": "sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==",
|
579 |
+
"cpu": [
|
580 |
+
"arm"
|
581 |
+
],
|
582 |
+
"dev": true,
|
583 |
+
"optional": true,
|
584 |
+
"os": [
|
585 |
+
"linux"
|
586 |
+
]
|
587 |
+
},
|
588 |
+
"node_modules/@rollup/rollup-linux-arm64-gnu": {
|
589 |
+
"version": "4.12.0",
|
590 |
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.12.0.tgz",
|
591 |
+
"integrity": "sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==",
|
592 |
+
"cpu": [
|
593 |
+
"arm64"
|
594 |
+
],
|
595 |
+
"dev": true,
|
596 |
+
"optional": true,
|
597 |
+
"os": [
|
598 |
+
"linux"
|
599 |
+
]
|
600 |
+
},
|
601 |
+
"node_modules/@rollup/rollup-linux-arm64-musl": {
|
602 |
+
"version": "4.12.0",
|
603 |
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.12.0.tgz",
|
604 |
+
"integrity": "sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==",
|
605 |
+
"cpu": [
|
606 |
+
"arm64"
|
607 |
+
],
|
608 |
+
"dev": true,
|
609 |
+
"optional": true,
|
610 |
+
"os": [
|
611 |
+
"linux"
|
612 |
+
]
|
613 |
+
},
|
614 |
+
"node_modules/@rollup/rollup-linux-riscv64-gnu": {
|
615 |
+
"version": "4.12.0",
|
616 |
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.12.0.tgz",
|
617 |
+
"integrity": "sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==",
|
618 |
+
"cpu": [
|
619 |
+
"riscv64"
|
620 |
+
],
|
621 |
+
"dev": true,
|
622 |
+
"optional": true,
|
623 |
+
"os": [
|
624 |
+
"linux"
|
625 |
+
]
|
626 |
+
},
|
627 |
+
"node_modules/@rollup/rollup-linux-x64-gnu": {
|
628 |
+
"version": "4.12.0",
|
629 |
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.12.0.tgz",
|
630 |
+
"integrity": "sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==",
|
631 |
+
"cpu": [
|
632 |
+
"x64"
|
633 |
+
],
|
634 |
+
"dev": true,
|
635 |
+
"optional": true,
|
636 |
+
"os": [
|
637 |
+
"linux"
|
638 |
+
]
|
639 |
+
},
|
640 |
+
"node_modules/@rollup/rollup-linux-x64-musl": {
|
641 |
+
"version": "4.12.0",
|
642 |
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.12.0.tgz",
|
643 |
+
"integrity": "sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==",
|
644 |
+
"cpu": [
|
645 |
+
"x64"
|
646 |
+
],
|
647 |
+
"dev": true,
|
648 |
+
"optional": true,
|
649 |
+
"os": [
|
650 |
+
"linux"
|
651 |
+
]
|
652 |
+
},
|
653 |
+
"node_modules/@rollup/rollup-win32-arm64-msvc": {
|
654 |
+
"version": "4.12.0",
|
655 |
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.12.0.tgz",
|
656 |
+
"integrity": "sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==",
|
657 |
+
"cpu": [
|
658 |
+
"arm64"
|
659 |
+
],
|
660 |
+
"dev": true,
|
661 |
+
"optional": true,
|
662 |
+
"os": [
|
663 |
+
"win32"
|
664 |
+
]
|
665 |
+
},
|
666 |
+
"node_modules/@rollup/rollup-win32-ia32-msvc": {
|
667 |
+
"version": "4.12.0",
|
668 |
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.12.0.tgz",
|
669 |
+
"integrity": "sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==",
|
670 |
+
"cpu": [
|
671 |
+
"ia32"
|
672 |
+
],
|
673 |
+
"dev": true,
|
674 |
+
"optional": true,
|
675 |
+
"os": [
|
676 |
+
"win32"
|
677 |
+
]
|
678 |
+
},
|
679 |
+
"node_modules/@rollup/rollup-win32-x64-msvc": {
|
680 |
+
"version": "4.12.0",
|
681 |
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.12.0.tgz",
|
682 |
+
"integrity": "sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==",
|
683 |
+
"cpu": [
|
684 |
+
"x64"
|
685 |
+
],
|
686 |
+
"dev": true,
|
687 |
+
"optional": true,
|
688 |
+
"os": [
|
689 |
+
"win32"
|
690 |
+
]
|
691 |
+
},
|
692 |
+
"node_modules/@sveltejs/vite-plugin-svelte": {
|
693 |
+
"version": "3.0.2",
|
694 |
+
"resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-3.0.2.tgz",
|
695 |
+
"integrity": "sha512-MpmF/cju2HqUls50WyTHQBZUV3ovV/Uk8k66AN2gwHogNAG8wnW8xtZDhzNBsFJJuvmq1qnzA5kE7YfMJNFv2Q==",
|
696 |
+
"dev": true,
|
697 |
+
"dependencies": {
|
698 |
+
"@sveltejs/vite-plugin-svelte-inspector": "^2.0.0",
|
699 |
+
"debug": "^4.3.4",
|
700 |
+
"deepmerge": "^4.3.1",
|
701 |
+
"kleur": "^4.1.5",
|
702 |
+
"magic-string": "^0.30.5",
|
703 |
+
"svelte-hmr": "^0.15.3",
|
704 |
+
"vitefu": "^0.2.5"
|
705 |
+
},
|
706 |
+
"engines": {
|
707 |
+
"node": "^18.0.0 || >=20"
|
708 |
+
},
|
709 |
+
"peerDependencies": {
|
710 |
+
"svelte": "^4.0.0 || ^5.0.0-next.0",
|
711 |
+
"vite": "^5.0.0"
|
712 |
+
}
|
713 |
+
},
|
714 |
+
"node_modules/@sveltejs/vite-plugin-svelte-inspector": {
|
715 |
+
"version": "2.0.0",
|
716 |
+
"resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-2.0.0.tgz",
|
717 |
+
"integrity": "sha512-gjr9ZFg1BSlIpfZ4PRewigrvYmHWbDrq2uvvPB1AmTWKuM+dI1JXQSUu2pIrYLb/QncyiIGkFDFKTwJ0XqQZZg==",
|
718 |
+
"dev": true,
|
719 |
+
"dependencies": {
|
720 |
+
"debug": "^4.3.4"
|
721 |
+
},
|
722 |
+
"engines": {
|
723 |
+
"node": "^18.0.0 || >=20"
|
724 |
+
},
|
725 |
+
"peerDependencies": {
|
726 |
+
"@sveltejs/vite-plugin-svelte": "^3.0.0",
|
727 |
+
"svelte": "^4.0.0 || ^5.0.0-next.0",
|
728 |
+
"vite": "^5.0.0"
|
729 |
+
}
|
730 |
+
},
|
731 |
+
"node_modules/@tailwindcss/typography": {
|
732 |
+
"version": "0.5.10",
|
733 |
+
"resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.10.tgz",
|
734 |
+
"integrity": "sha512-Pe8BuPJQJd3FfRnm6H0ulKIGoMEQS+Vq01R6M5aCrFB/ccR/shT+0kXLjouGC1gFLm9hopTFN+DMP0pfwRWzPw==",
|
735 |
+
"dev": true,
|
736 |
+
"dependencies": {
|
737 |
+
"lodash.castarray": "^4.4.0",
|
738 |
+
"lodash.isplainobject": "^4.0.6",
|
739 |
+
"lodash.merge": "^4.6.2",
|
740 |
+
"postcss-selector-parser": "6.0.10"
|
741 |
+
},
|
742 |
+
"peerDependencies": {
|
743 |
+
"tailwindcss": ">=3.0.0 || insiders"
|
744 |
+
}
|
745 |
+
},
|
746 |
+
"node_modules/@tailwindcss/typography/node_modules/postcss-selector-parser": {
|
747 |
+
"version": "6.0.10",
|
748 |
+
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz",
|
749 |
+
"integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==",
|
750 |
+
"dev": true,
|
751 |
+
"dependencies": {
|
752 |
+
"cssesc": "^3.0.0",
|
753 |
+
"util-deprecate": "^1.0.2"
|
754 |
+
},
|
755 |
+
"engines": {
|
756 |
+
"node": ">=4"
|
757 |
+
}
|
758 |
+
},
|
759 |
+
"node_modules/@types/estree": {
|
760 |
+
"version": "1.0.5",
|
761 |
+
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
|
762 |
+
"integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
|
763 |
+
"dev": true
|
764 |
+
},
|
765 |
+
"node_modules/acorn": {
|
766 |
+
"version": "8.11.3",
|
767 |
+
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
|
768 |
+
"integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
|
769 |
+
"dev": true,
|
770 |
+
"bin": {
|
771 |
+
"acorn": "bin/acorn"
|
772 |
+
},
|
773 |
+
"engines": {
|
774 |
+
"node": ">=0.4.0"
|
775 |
+
}
|
776 |
+
},
|
777 |
+
"node_modules/ansi-regex": {
|
778 |
+
"version": "6.0.1",
|
779 |
+
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
|
780 |
+
"integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
|
781 |
+
"dev": true,
|
782 |
+
"engines": {
|
783 |
+
"node": ">=12"
|
784 |
+
},
|
785 |
+
"funding": {
|
786 |
+
"url": "https://github.com/chalk/ansi-regex?sponsor=1"
|
787 |
+
}
|
788 |
+
},
|
789 |
+
"node_modules/ansi-styles": {
|
790 |
+
"version": "6.2.1",
|
791 |
+
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
|
792 |
+
"integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
|
793 |
+
"dev": true,
|
794 |
+
"engines": {
|
795 |
+
"node": ">=12"
|
796 |
+
},
|
797 |
+
"funding": {
|
798 |
+
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
|
799 |
+
}
|
800 |
+
},
|
801 |
+
"node_modules/any-promise": {
|
802 |
+
"version": "1.3.0",
|
803 |
+
"resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
|
804 |
+
"integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==",
|
805 |
+
"dev": true
|
806 |
+
},
|
807 |
+
"node_modules/anymatch": {
|
808 |
+
"version": "3.1.3",
|
809 |
+
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
|
810 |
+
"integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
|
811 |
+
"dev": true,
|
812 |
+
"dependencies": {
|
813 |
+
"normalize-path": "^3.0.0",
|
814 |
+
"picomatch": "^2.0.4"
|
815 |
+
},
|
816 |
+
"engines": {
|
817 |
+
"node": ">= 8"
|
818 |
+
}
|
819 |
+
},
|
820 |
+
"node_modules/arg": {
|
821 |
+
"version": "5.0.2",
|
822 |
+
"resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz",
|
823 |
+
"integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==",
|
824 |
+
"dev": true
|
825 |
+
},
|
826 |
+
"node_modules/aria-query": {
|
827 |
+
"version": "5.3.0",
|
828 |
+
"resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz",
|
829 |
+
"integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==",
|
830 |
+
"dev": true,
|
831 |
+
"dependencies": {
|
832 |
+
"dequal": "^2.0.3"
|
833 |
+
}
|
834 |
+
},
|
835 |
+
"node_modules/autoprefixer": {
|
836 |
+
"version": "10.4.17",
|
837 |
+
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.17.tgz",
|
838 |
+
"integrity": "sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==",
|
839 |
+
"dev": true,
|
840 |
+
"funding": [
|
841 |
+
{
|
842 |
+
"type": "opencollective",
|
843 |
+
"url": "https://opencollective.com/postcss/"
|
844 |
+
},
|
845 |
+
{
|
846 |
+
"type": "tidelift",
|
847 |
+
"url": "https://tidelift.com/funding/github/npm/autoprefixer"
|
848 |
+
},
|
849 |
+
{
|
850 |
+
"type": "github",
|
851 |
+
"url": "https://github.com/sponsors/ai"
|
852 |
+
}
|
853 |
+
],
|
854 |
+
"dependencies": {
|
855 |
+
"browserslist": "^4.22.2",
|
856 |
+
"caniuse-lite": "^1.0.30001578",
|
857 |
+
"fraction.js": "^4.3.7",
|
858 |
+
"normalize-range": "^0.1.2",
|
859 |
+
"picocolors": "^1.0.0",
|
860 |
+
"postcss-value-parser": "^4.2.0"
|
861 |
+
},
|
862 |
+
"bin": {
|
863 |
+
"autoprefixer": "bin/autoprefixer"
|
864 |
+
},
|
865 |
+
"engines": {
|
866 |
+
"node": "^10 || ^12 || >=14"
|
867 |
+
},
|
868 |
+
"peerDependencies": {
|
869 |
+
"postcss": "^8.1.0"
|
870 |
+
}
|
871 |
+
},
|
872 |
+
"node_modules/axobject-query": {
|
873 |
+
"version": "4.0.0",
|
874 |
+
"resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.0.0.tgz",
|
875 |
+
"integrity": "sha512-+60uv1hiVFhHZeO+Lz0RYzsVHy5Wr1ayX0mwda9KPDVLNJgZ1T9Ny7VmFbLDzxsH0D87I86vgj3gFrjTJUYznw==",
|
876 |
+
"dev": true,
|
877 |
+
"dependencies": {
|
878 |
+
"dequal": "^2.0.3"
|
879 |
+
}
|
880 |
+
},
|
881 |
+
"node_modules/balanced-match": {
|
882 |
+
"version": "1.0.2",
|
883 |
+
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
|
884 |
+
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
|
885 |
+
"dev": true
|
886 |
+
},
|
887 |
+
"node_modules/binary-extensions": {
|
888 |
+
"version": "2.2.0",
|
889 |
+
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
|
890 |
+
"integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
|
891 |
+
"dev": true,
|
892 |
+
"engines": {
|
893 |
+
"node": ">=8"
|
894 |
+
}
|
895 |
+
},
|
896 |
+
"node_modules/brace-expansion": {
|
897 |
+
"version": "2.0.1",
|
898 |
+
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
|
899 |
+
"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
|
900 |
+
"dev": true,
|
901 |
+
"dependencies": {
|
902 |
+
"balanced-match": "^1.0.0"
|
903 |
+
}
|
904 |
+
},
|
905 |
+
"node_modules/braces": {
|
906 |
+
"version": "3.0.2",
|
907 |
+
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
|
908 |
+
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
|
909 |
+
"dev": true,
|
910 |
+
"dependencies": {
|
911 |
+
"fill-range": "^7.0.1"
|
912 |
+
},
|
913 |
+
"engines": {
|
914 |
+
"node": ">=8"
|
915 |
+
}
|
916 |
+
},
|
917 |
+
"node_modules/browserslist": {
|
918 |
+
"version": "4.23.0",
|
919 |
+
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz",
|
920 |
+
"integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==",
|
921 |
+
"dev": true,
|
922 |
+
"funding": [
|
923 |
+
{
|
924 |
+
"type": "opencollective",
|
925 |
+
"url": "https://opencollective.com/browserslist"
|
926 |
+
},
|
927 |
+
{
|
928 |
+
"type": "tidelift",
|
929 |
+
"url": "https://tidelift.com/funding/github/npm/browserslist"
|
930 |
+
},
|
931 |
+
{
|
932 |
+
"type": "github",
|
933 |
+
"url": "https://github.com/sponsors/ai"
|
934 |
+
}
|
935 |
+
],
|
936 |
+
"dependencies": {
|
937 |
+
"caniuse-lite": "^1.0.30001587",
|
938 |
+
"electron-to-chromium": "^1.4.668",
|
939 |
+
"node-releases": "^2.0.14",
|
940 |
+
"update-browserslist-db": "^1.0.13"
|
941 |
+
},
|
942 |
+
"bin": {
|
943 |
+
"browserslist": "cli.js"
|
944 |
+
},
|
945 |
+
"engines": {
|
946 |
+
"node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
|
947 |
+
}
|
948 |
+
},
|
949 |
+
"node_modules/camelcase-css": {
|
950 |
+
"version": "2.0.1",
|
951 |
+
"resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
|
952 |
+
"integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==",
|
953 |
+
"dev": true,
|
954 |
+
"engines": {
|
955 |
+
"node": ">= 6"
|
956 |
+
}
|
957 |
+
},
|
958 |
+
"node_modules/caniuse-lite": {
|
959 |
+
"version": "1.0.30001588",
|
960 |
+
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001588.tgz",
|
961 |
+
"integrity": "sha512-+hVY9jE44uKLkH0SrUTqxjxqNTOWHsbnQDIKjwkZ3lNTzUUVdBLBGXtj/q5Mp5u98r3droaZAewQuEDzjQdZlQ==",
|
962 |
+
"dev": true,
|
963 |
+
"funding": [
|
964 |
+
{
|
965 |
+
"type": "opencollective",
|
966 |
+
"url": "https://opencollective.com/browserslist"
|
967 |
+
},
|
968 |
+
{
|
969 |
+
"type": "tidelift",
|
970 |
+
"url": "https://tidelift.com/funding/github/npm/caniuse-lite"
|
971 |
+
},
|
972 |
+
{
|
973 |
+
"type": "github",
|
974 |
+
"url": "https://github.com/sponsors/ai"
|
975 |
+
}
|
976 |
+
]
|
977 |
+
},
|
978 |
+
"node_modules/chokidar": {
|
979 |
+
"version": "3.6.0",
|
980 |
+
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
|
981 |
+
"integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
|
982 |
+
"dev": true,
|
983 |
+
"dependencies": {
|
984 |
+
"anymatch": "~3.1.2",
|
985 |
+
"braces": "~3.0.2",
|
986 |
+
"glob-parent": "~5.1.2",
|
987 |
+
"is-binary-path": "~2.1.0",
|
988 |
+
"is-glob": "~4.0.1",
|
989 |
+
"normalize-path": "~3.0.0",
|
990 |
+
"readdirp": "~3.6.0"
|
991 |
+
},
|
992 |
+
"engines": {
|
993 |
+
"node": ">= 8.10.0"
|
994 |
+
},
|
995 |
+
"funding": {
|
996 |
+
"url": "https://paulmillr.com/funding/"
|
997 |
+
},
|
998 |
+
"optionalDependencies": {
|
999 |
+
"fsevents": "~2.3.2"
|
1000 |
+
}
|
1001 |
+
},
|
1002 |
+
"node_modules/chokidar/node_modules/glob-parent": {
|
1003 |
+
"version": "5.1.2",
|
1004 |
+
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
|
1005 |
+
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
|
1006 |
+
"dev": true,
|
1007 |
+
"dependencies": {
|
1008 |
+
"is-glob": "^4.0.1"
|
1009 |
+
},
|
1010 |
+
"engines": {
|
1011 |
+
"node": ">= 6"
|
1012 |
+
}
|
1013 |
+
},
|
1014 |
+
"node_modules/code-red": {
|
1015 |
+
"version": "1.0.4",
|
1016 |
+
"resolved": "https://registry.npmjs.org/code-red/-/code-red-1.0.4.tgz",
|
1017 |
+
"integrity": "sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==",
|
1018 |
+
"dev": true,
|
1019 |
+
"dependencies": {
|
1020 |
+
"@jridgewell/sourcemap-codec": "^1.4.15",
|
1021 |
+
"@types/estree": "^1.0.1",
|
1022 |
+
"acorn": "^8.10.0",
|
1023 |
+
"estree-walker": "^3.0.3",
|
1024 |
+
"periscopic": "^3.1.0"
|
1025 |
+
}
|
1026 |
+
},
|
1027 |
+
"node_modules/color-convert": {
|
1028 |
+
"version": "2.0.1",
|
1029 |
+
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
|
1030 |
+
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
|
1031 |
+
"dev": true,
|
1032 |
+
"dependencies": {
|
1033 |
+
"color-name": "~1.1.4"
|
1034 |
+
},
|
1035 |
+
"engines": {
|
1036 |
+
"node": ">=7.0.0"
|
1037 |
+
}
|
1038 |
+
},
|
1039 |
+
"node_modules/color-name": {
|
1040 |
+
"version": "1.1.4",
|
1041 |
+
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
|
1042 |
+
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
|
1043 |
+
"dev": true
|
1044 |
+
},
|
1045 |
+
"node_modules/commander": {
|
1046 |
+
"version": "4.1.1",
|
1047 |
+
"resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
|
1048 |
+
"integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
|
1049 |
+
"dev": true,
|
1050 |
+
"engines": {
|
1051 |
+
"node": ">= 6"
|
1052 |
+
}
|
1053 |
+
},
|
1054 |
+
"node_modules/cross-spawn": {
|
1055 |
+
"version": "7.0.3",
|
1056 |
+
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
|
1057 |
+
"integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
|
1058 |
+
"dev": true,
|
1059 |
+
"dependencies": {
|
1060 |
+
"path-key": "^3.1.0",
|
1061 |
+
"shebang-command": "^2.0.0",
|
1062 |
+
"which": "^2.0.1"
|
1063 |
+
},
|
1064 |
+
"engines": {
|
1065 |
+
"node": ">= 8"
|
1066 |
+
}
|
1067 |
+
},
|
1068 |
+
"node_modules/css-tree": {
|
1069 |
+
"version": "2.3.1",
|
1070 |
+
"resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz",
|
1071 |
+
"integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==",
|
1072 |
+
"dev": true,
|
1073 |
+
"dependencies": {
|
1074 |
+
"mdn-data": "2.0.30",
|
1075 |
+
"source-map-js": "^1.0.1"
|
1076 |
+
},
|
1077 |
+
"engines": {
|
1078 |
+
"node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0"
|
1079 |
+
}
|
1080 |
+
},
|
1081 |
+
"node_modules/cssesc": {
|
1082 |
+
"version": "3.0.0",
|
1083 |
+
"resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
|
1084 |
+
"integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
|
1085 |
+
"dev": true,
|
1086 |
+
"bin": {
|
1087 |
+
"cssesc": "bin/cssesc"
|
1088 |
+
},
|
1089 |
+
"engines": {
|
1090 |
+
"node": ">=4"
|
1091 |
+
}
|
1092 |
+
},
|
1093 |
+
"node_modules/debug": {
|
1094 |
+
"version": "4.3.4",
|
1095 |
+
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
|
1096 |
+
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
|
1097 |
+
"dev": true,
|
1098 |
+
"dependencies": {
|
1099 |
+
"ms": "2.1.2"
|
1100 |
+
},
|
1101 |
+
"engines": {
|
1102 |
+
"node": ">=6.0"
|
1103 |
+
},
|
1104 |
+
"peerDependenciesMeta": {
|
1105 |
+
"supports-color": {
|
1106 |
+
"optional": true
|
1107 |
+
}
|
1108 |
+
}
|
1109 |
+
},
|
1110 |
+
"node_modules/deepmerge": {
|
1111 |
+
"version": "4.3.1",
|
1112 |
+
"resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz",
|
1113 |
+
"integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==",
|
1114 |
+
"dev": true,
|
1115 |
+
"engines": {
|
1116 |
+
"node": ">=0.10.0"
|
1117 |
+
}
|
1118 |
+
},
|
1119 |
+
"node_modules/dequal": {
|
1120 |
+
"version": "2.0.3",
|
1121 |
+
"resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
|
1122 |
+
"integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
|
1123 |
+
"dev": true,
|
1124 |
+
"engines": {
|
1125 |
+
"node": ">=6"
|
1126 |
+
}
|
1127 |
+
},
|
1128 |
+
"node_modules/didyoumean": {
|
1129 |
+
"version": "1.2.2",
|
1130 |
+
"resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
|
1131 |
+
"integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==",
|
1132 |
+
"dev": true
|
1133 |
+
},
|
1134 |
+
"node_modules/dlv": {
|
1135 |
+
"version": "1.1.3",
|
1136 |
+
"resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz",
|
1137 |
+
"integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==",
|
1138 |
+
"dev": true
|
1139 |
+
},
|
1140 |
+
"node_modules/eastasianwidth": {
|
1141 |
+
"version": "0.2.0",
|
1142 |
+
"resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
|
1143 |
+
"integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
|
1144 |
+
"dev": true
|
1145 |
+
},
|
1146 |
+
"node_modules/electron-to-chromium": {
|
1147 |
+
"version": "1.4.675",
|
1148 |
+
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.675.tgz",
|
1149 |
+
"integrity": "sha512-+1u3F/XPNIdUwv8i1lDxHAxCvNNU0QIqgb1Ycn+Jnng8ITzWSvUqixRSM7NOazJuwhf65IV17f/VbKj8DmL26A==",
|
1150 |
+
"dev": true
|
1151 |
+
},
|
1152 |
+
"node_modules/emoji-regex": {
|
1153 |
+
"version": "9.2.2",
|
1154 |
+
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
|
1155 |
+
"integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
|
1156 |
+
"dev": true
|
1157 |
+
},
|
1158 |
+
"node_modules/esbuild": {
|
1159 |
+
"version": "0.19.12",
|
1160 |
+
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz",
|
1161 |
+
"integrity": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==",
|
1162 |
+
"dev": true,
|
1163 |
+
"hasInstallScript": true,
|
1164 |
+
"bin": {
|
1165 |
+
"esbuild": "bin/esbuild"
|
1166 |
+
},
|
1167 |
+
"engines": {
|
1168 |
+
"node": ">=12"
|
1169 |
+
},
|
1170 |
+
"optionalDependencies": {
|
1171 |
+
"@esbuild/aix-ppc64": "0.19.12",
|
1172 |
+
"@esbuild/android-arm": "0.19.12",
|
1173 |
+
"@esbuild/android-arm64": "0.19.12",
|
1174 |
+
"@esbuild/android-x64": "0.19.12",
|
1175 |
+
"@esbuild/darwin-arm64": "0.19.12",
|
1176 |
+
"@esbuild/darwin-x64": "0.19.12",
|
1177 |
+
"@esbuild/freebsd-arm64": "0.19.12",
|
1178 |
+
"@esbuild/freebsd-x64": "0.19.12",
|
1179 |
+
"@esbuild/linux-arm": "0.19.12",
|
1180 |
+
"@esbuild/linux-arm64": "0.19.12",
|
1181 |
+
"@esbuild/linux-ia32": "0.19.12",
|
1182 |
+
"@esbuild/linux-loong64": "0.19.12",
|
1183 |
+
"@esbuild/linux-mips64el": "0.19.12",
|
1184 |
+
"@esbuild/linux-ppc64": "0.19.12",
|
1185 |
+
"@esbuild/linux-riscv64": "0.19.12",
|
1186 |
+
"@esbuild/linux-s390x": "0.19.12",
|
1187 |
+
"@esbuild/linux-x64": "0.19.12",
|
1188 |
+
"@esbuild/netbsd-x64": "0.19.12",
|
1189 |
+
"@esbuild/openbsd-x64": "0.19.12",
|
1190 |
+
"@esbuild/sunos-x64": "0.19.12",
|
1191 |
+
"@esbuild/win32-arm64": "0.19.12",
|
1192 |
+
"@esbuild/win32-ia32": "0.19.12",
|
1193 |
+
"@esbuild/win32-x64": "0.19.12"
|
1194 |
+
}
|
1195 |
+
},
|
1196 |
+
"node_modules/escalade": {
|
1197 |
+
"version": "3.1.2",
|
1198 |
+
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz",
|
1199 |
+
"integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==",
|
1200 |
+
"dev": true,
|
1201 |
+
"engines": {
|
1202 |
+
"node": ">=6"
|
1203 |
+
}
|
1204 |
+
},
|
1205 |
+
"node_modules/estree-walker": {
|
1206 |
+
"version": "3.0.3",
|
1207 |
+
"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz",
|
1208 |
+
"integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==",
|
1209 |
+
"dev": true,
|
1210 |
+
"dependencies": {
|
1211 |
+
"@types/estree": "^1.0.0"
|
1212 |
+
}
|
1213 |
+
},
|
1214 |
+
"node_modules/fast-glob": {
|
1215 |
+
"version": "3.3.2",
|
1216 |
+
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz",
|
1217 |
+
"integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==",
|
1218 |
+
"dev": true,
|
1219 |
+
"dependencies": {
|
1220 |
+
"@nodelib/fs.stat": "^2.0.2",
|
1221 |
+
"@nodelib/fs.walk": "^1.2.3",
|
1222 |
+
"glob-parent": "^5.1.2",
|
1223 |
+
"merge2": "^1.3.0",
|
1224 |
+
"micromatch": "^4.0.4"
|
1225 |
+
},
|
1226 |
+
"engines": {
|
1227 |
+
"node": ">=8.6.0"
|
1228 |
+
}
|
1229 |
+
},
|
1230 |
+
"node_modules/fast-glob/node_modules/glob-parent": {
|
1231 |
+
"version": "5.1.2",
|
1232 |
+
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
|
1233 |
+
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
|
1234 |
+
"dev": true,
|
1235 |
+
"dependencies": {
|
1236 |
+
"is-glob": "^4.0.1"
|
1237 |
+
},
|
1238 |
+
"engines": {
|
1239 |
+
"node": ">= 6"
|
1240 |
+
}
|
1241 |
+
},
|
1242 |
+
"node_modules/fastq": {
|
1243 |
+
"version": "1.17.1",
|
1244 |
+
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
|
1245 |
+
"integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==",
|
1246 |
+
"dev": true,
|
1247 |
+
"dependencies": {
|
1248 |
+
"reusify": "^1.0.4"
|
1249 |
+
}
|
1250 |
+
},
|
1251 |
+
"node_modules/fill-range": {
|
1252 |
+
"version": "7.0.1",
|
1253 |
+
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
|
1254 |
+
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
|
1255 |
+
"dev": true,
|
1256 |
+
"dependencies": {
|
1257 |
+
"to-regex-range": "^5.0.1"
|
1258 |
+
},
|
1259 |
+
"engines": {
|
1260 |
+
"node": ">=8"
|
1261 |
+
}
|
1262 |
+
},
|
1263 |
+
"node_modules/foreground-child": {
|
1264 |
+
"version": "3.1.1",
|
1265 |
+
"resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz",
|
1266 |
+
"integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==",
|
1267 |
+
"dev": true,
|
1268 |
+
"dependencies": {
|
1269 |
+
"cross-spawn": "^7.0.0",
|
1270 |
+
"signal-exit": "^4.0.1"
|
1271 |
+
},
|
1272 |
+
"engines": {
|
1273 |
+
"node": ">=14"
|
1274 |
+
},
|
1275 |
+
"funding": {
|
1276 |
+
"url": "https://github.com/sponsors/isaacs"
|
1277 |
+
}
|
1278 |
+
},
|
1279 |
+
"node_modules/fraction.js": {
|
1280 |
+
"version": "4.3.7",
|
1281 |
+
"resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz",
|
1282 |
+
"integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==",
|
1283 |
+
"dev": true,
|
1284 |
+
"engines": {
|
1285 |
+
"node": "*"
|
1286 |
+
},
|
1287 |
+
"funding": {
|
1288 |
+
"type": "patreon",
|
1289 |
+
"url": "https://github.com/sponsors/rawify"
|
1290 |
+
}
|
1291 |
+
},
|
1292 |
+
"node_modules/fsevents": {
|
1293 |
+
"version": "2.3.3",
|
1294 |
+
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
|
1295 |
+
"integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
|
1296 |
+
"dev": true,
|
1297 |
+
"hasInstallScript": true,
|
1298 |
+
"optional": true,
|
1299 |
+
"os": [
|
1300 |
+
"darwin"
|
1301 |
+
],
|
1302 |
+
"engines": {
|
1303 |
+
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
|
1304 |
+
}
|
1305 |
+
},
|
1306 |
+
"node_modules/function-bind": {
|
1307 |
+
"version": "1.1.2",
|
1308 |
+
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
|
1309 |
+
"integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
|
1310 |
+
"dev": true,
|
1311 |
+
"funding": {
|
1312 |
+
"url": "https://github.com/sponsors/ljharb"
|
1313 |
+
}
|
1314 |
+
},
|
1315 |
+
"node_modules/glob": {
|
1316 |
+
"version": "10.3.10",
|
1317 |
+
"resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz",
|
1318 |
+
"integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==",
|
1319 |
+
"dev": true,
|
1320 |
+
"dependencies": {
|
1321 |
+
"foreground-child": "^3.1.0",
|
1322 |
+
"jackspeak": "^2.3.5",
|
1323 |
+
"minimatch": "^9.0.1",
|
1324 |
+
"minipass": "^5.0.0 || ^6.0.2 || ^7.0.0",
|
1325 |
+
"path-scurry": "^1.10.1"
|
1326 |
+
},
|
1327 |
+
"bin": {
|
1328 |
+
"glob": "dist/esm/bin.mjs"
|
1329 |
+
},
|
1330 |
+
"engines": {
|
1331 |
+
"node": ">=16 || 14 >=14.17"
|
1332 |
+
},
|
1333 |
+
"funding": {
|
1334 |
+
"url": "https://github.com/sponsors/isaacs"
|
1335 |
+
}
|
1336 |
+
},
|
1337 |
+
"node_modules/glob-parent": {
|
1338 |
+
"version": "6.0.2",
|
1339 |
+
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
|
1340 |
+
"integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
|
1341 |
+
"dev": true,
|
1342 |
+
"dependencies": {
|
1343 |
+
"is-glob": "^4.0.3"
|
1344 |
+
},
|
1345 |
+
"engines": {
|
1346 |
+
"node": ">=10.13.0"
|
1347 |
+
}
|
1348 |
+
},
|
1349 |
+
"node_modules/hasown": {
|
1350 |
+
"version": "2.0.1",
|
1351 |
+
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz",
|
1352 |
+
"integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==",
|
1353 |
+
"dev": true,
|
1354 |
+
"dependencies": {
|
1355 |
+
"function-bind": "^1.1.2"
|
1356 |
+
},
|
1357 |
+
"engines": {
|
1358 |
+
"node": ">= 0.4"
|
1359 |
+
}
|
1360 |
+
},
|
1361 |
+
"node_modules/is-binary-path": {
|
1362 |
+
"version": "2.1.0",
|
1363 |
+
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
|
1364 |
+
"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
|
1365 |
+
"dev": true,
|
1366 |
+
"dependencies": {
|
1367 |
+
"binary-extensions": "^2.0.0"
|
1368 |
+
},
|
1369 |
+
"engines": {
|
1370 |
+
"node": ">=8"
|
1371 |
+
}
|
1372 |
+
},
|
1373 |
+
"node_modules/is-core-module": {
|
1374 |
+
"version": "2.13.1",
|
1375 |
+
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz",
|
1376 |
+
"integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==",
|
1377 |
+
"dev": true,
|
1378 |
+
"dependencies": {
|
1379 |
+
"hasown": "^2.0.0"
|
1380 |
+
},
|
1381 |
+
"funding": {
|
1382 |
+
"url": "https://github.com/sponsors/ljharb"
|
1383 |
+
}
|
1384 |
+
},
|
1385 |
+
"node_modules/is-extglob": {
|
1386 |
+
"version": "2.1.1",
|
1387 |
+
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
|
1388 |
+
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
|
1389 |
+
"dev": true,
|
1390 |
+
"engines": {
|
1391 |
+
"node": ">=0.10.0"
|
1392 |
+
}
|
1393 |
+
},
|
1394 |
+
"node_modules/is-fullwidth-code-point": {
|
1395 |
+
"version": "3.0.0",
|
1396 |
+
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
|
1397 |
+
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
|
1398 |
+
"dev": true,
|
1399 |
+
"engines": {
|
1400 |
+
"node": ">=8"
|
1401 |
+
}
|
1402 |
+
},
|
1403 |
+
"node_modules/is-glob": {
|
1404 |
+
"version": "4.0.3",
|
1405 |
+
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
|
1406 |
+
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
|
1407 |
+
"dev": true,
|
1408 |
+
"dependencies": {
|
1409 |
+
"is-extglob": "^2.1.1"
|
1410 |
+
},
|
1411 |
+
"engines": {
|
1412 |
+
"node": ">=0.10.0"
|
1413 |
+
}
|
1414 |
+
},
|
1415 |
+
"node_modules/is-number": {
|
1416 |
+
"version": "7.0.0",
|
1417 |
+
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
|
1418 |
+
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
|
1419 |
+
"dev": true,
|
1420 |
+
"engines": {
|
1421 |
+
"node": ">=0.12.0"
|
1422 |
+
}
|
1423 |
+
},
|
1424 |
+
"node_modules/is-reference": {
|
1425 |
+
"version": "3.0.2",
|
1426 |
+
"resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz",
|
1427 |
+
"integrity": "sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==",
|
1428 |
+
"dev": true,
|
1429 |
+
"dependencies": {
|
1430 |
+
"@types/estree": "*"
|
1431 |
+
}
|
1432 |
+
},
|
1433 |
+
"node_modules/isexe": {
|
1434 |
+
"version": "2.0.0",
|
1435 |
+
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
|
1436 |
+
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
|
1437 |
+
"dev": true
|
1438 |
+
},
|
1439 |
+
"node_modules/jackspeak": {
|
1440 |
+
"version": "2.3.6",
|
1441 |
+
"resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz",
|
1442 |
+
"integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==",
|
1443 |
+
"dev": true,
|
1444 |
+
"dependencies": {
|
1445 |
+
"@isaacs/cliui": "^8.0.2"
|
1446 |
+
},
|
1447 |
+
"engines": {
|
1448 |
+
"node": ">=14"
|
1449 |
+
},
|
1450 |
+
"funding": {
|
1451 |
+
"url": "https://github.com/sponsors/isaacs"
|
1452 |
+
},
|
1453 |
+
"optionalDependencies": {
|
1454 |
+
"@pkgjs/parseargs": "^0.11.0"
|
1455 |
+
}
|
1456 |
+
},
|
1457 |
+
"node_modules/jiti": {
|
1458 |
+
"version": "1.21.0",
|
1459 |
+
"resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz",
|
1460 |
+
"integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==",
|
1461 |
+
"dev": true,
|
1462 |
+
"bin": {
|
1463 |
+
"jiti": "bin/jiti.js"
|
1464 |
+
}
|
1465 |
+
},
|
1466 |
+
"node_modules/kleur": {
|
1467 |
+
"version": "4.1.5",
|
1468 |
+
"resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz",
|
1469 |
+
"integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==",
|
1470 |
+
"dev": true,
|
1471 |
+
"engines": {
|
1472 |
+
"node": ">=6"
|
1473 |
+
}
|
1474 |
+
},
|
1475 |
+
"node_modules/lilconfig": {
|
1476 |
+
"version": "2.1.0",
|
1477 |
+
"resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz",
|
1478 |
+
"integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==",
|
1479 |
+
"dev": true,
|
1480 |
+
"engines": {
|
1481 |
+
"node": ">=10"
|
1482 |
+
}
|
1483 |
+
},
|
1484 |
+
"node_modules/lines-and-columns": {
|
1485 |
+
"version": "1.2.4",
|
1486 |
+
"resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
|
1487 |
+
"integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
|
1488 |
+
"dev": true
|
1489 |
+
},
|
1490 |
+
"node_modules/locate-character": {
|
1491 |
+
"version": "3.0.0",
|
1492 |
+
"resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz",
|
1493 |
+
"integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==",
|
1494 |
+
"dev": true
|
1495 |
+
},
|
1496 |
+
"node_modules/lodash.castarray": {
|
1497 |
+
"version": "4.4.0",
|
1498 |
+
"resolved": "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz",
|
1499 |
+
"integrity": "sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==",
|
1500 |
+
"dev": true
|
1501 |
+
},
|
1502 |
+
"node_modules/lodash.isplainobject": {
|
1503 |
+
"version": "4.0.6",
|
1504 |
+
"resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
|
1505 |
+
"integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==",
|
1506 |
+
"dev": true
|
1507 |
+
},
|
1508 |
+
"node_modules/lodash.merge": {
|
1509 |
+
"version": "4.6.2",
|
1510 |
+
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
|
1511 |
+
"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
|
1512 |
+
"dev": true
|
1513 |
+
},
|
1514 |
+
"node_modules/lru-cache": {
|
1515 |
+
"version": "10.2.0",
|
1516 |
+
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz",
|
1517 |
+
"integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==",
|
1518 |
+
"dev": true,
|
1519 |
+
"engines": {
|
1520 |
+
"node": "14 || >=16.14"
|
1521 |
+
}
|
1522 |
+
},
|
1523 |
+
"node_modules/magic-string": {
|
1524 |
+
"version": "0.30.7",
|
1525 |
+
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.7.tgz",
|
1526 |
+
"integrity": "sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==",
|
1527 |
+
"dev": true,
|
1528 |
+
"dependencies": {
|
1529 |
+
"@jridgewell/sourcemap-codec": "^1.4.15"
|
1530 |
+
},
|
1531 |
+
"engines": {
|
1532 |
+
"node": ">=12"
|
1533 |
+
}
|
1534 |
+
},
|
1535 |
+
"node_modules/mdn-data": {
|
1536 |
+
"version": "2.0.30",
|
1537 |
+
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz",
|
1538 |
+
"integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==",
|
1539 |
+
"dev": true
|
1540 |
+
},
|
1541 |
+
"node_modules/merge2": {
|
1542 |
+
"version": "1.4.1",
|
1543 |
+
"resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
|
1544 |
+
"integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
|
1545 |
+
"dev": true,
|
1546 |
+
"engines": {
|
1547 |
+
"node": ">= 8"
|
1548 |
+
}
|
1549 |
+
},
|
1550 |
+
"node_modules/micromatch": {
|
1551 |
+
"version": "4.0.5",
|
1552 |
+
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
|
1553 |
+
"integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
|
1554 |
+
"dev": true,
|
1555 |
+
"dependencies": {
|
1556 |
+
"braces": "^3.0.2",
|
1557 |
+
"picomatch": "^2.3.1"
|
1558 |
+
},
|
1559 |
+
"engines": {
|
1560 |
+
"node": ">=8.6"
|
1561 |
+
}
|
1562 |
+
},
|
1563 |
+
"node_modules/minimatch": {
|
1564 |
+
"version": "9.0.3",
|
1565 |
+
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
|
1566 |
+
"integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
|
1567 |
+
"dev": true,
|
1568 |
+
"dependencies": {
|
1569 |
+
"brace-expansion": "^2.0.1"
|
1570 |
+
},
|
1571 |
+
"engines": {
|
1572 |
+
"node": ">=16 || 14 >=14.17"
|
1573 |
+
},
|
1574 |
+
"funding": {
|
1575 |
+
"url": "https://github.com/sponsors/isaacs"
|
1576 |
+
}
|
1577 |
+
},
|
1578 |
+
"node_modules/minipass": {
|
1579 |
+
"version": "7.0.4",
|
1580 |
+
"resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz",
|
1581 |
+
"integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==",
|
1582 |
+
"dev": true,
|
1583 |
+
"engines": {
|
1584 |
+
"node": ">=16 || 14 >=14.17"
|
1585 |
+
}
|
1586 |
+
},
|
1587 |
+
"node_modules/ms": {
|
1588 |
+
"version": "2.1.2",
|
1589 |
+
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
1590 |
+
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
|
1591 |
+
"dev": true
|
1592 |
+
},
|
1593 |
+
"node_modules/mz": {
|
1594 |
+
"version": "2.7.0",
|
1595 |
+
"resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
|
1596 |
+
"integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
|
1597 |
+
"dev": true,
|
1598 |
+
"dependencies": {
|
1599 |
+
"any-promise": "^1.0.0",
|
1600 |
+
"object-assign": "^4.0.1",
|
1601 |
+
"thenify-all": "^1.0.0"
|
1602 |
+
}
|
1603 |
+
},
|
1604 |
+
"node_modules/nanoid": {
|
1605 |
+
"version": "3.3.7",
|
1606 |
+
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
|
1607 |
+
"integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
|
1608 |
+
"dev": true,
|
1609 |
+
"funding": [
|
1610 |
+
{
|
1611 |
+
"type": "github",
|
1612 |
+
"url": "https://github.com/sponsors/ai"
|
1613 |
+
}
|
1614 |
+
],
|
1615 |
+
"bin": {
|
1616 |
+
"nanoid": "bin/nanoid.cjs"
|
1617 |
+
},
|
1618 |
+
"engines": {
|
1619 |
+
"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
|
1620 |
+
}
|
1621 |
+
},
|
1622 |
+
"node_modules/node-releases": {
|
1623 |
+
"version": "2.0.14",
|
1624 |
+
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz",
|
1625 |
+
"integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==",
|
1626 |
+
"dev": true
|
1627 |
+
},
|
1628 |
+
"node_modules/normalize-path": {
|
1629 |
+
"version": "3.0.0",
|
1630 |
+
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
|
1631 |
+
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
|
1632 |
+
"dev": true,
|
1633 |
+
"engines": {
|
1634 |
+
"node": ">=0.10.0"
|
1635 |
+
}
|
1636 |
+
},
|
1637 |
+
"node_modules/normalize-range": {
|
1638 |
+
"version": "0.1.2",
|
1639 |
+
"resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
|
1640 |
+
"integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==",
|
1641 |
+
"dev": true,
|
1642 |
+
"engines": {
|
1643 |
+
"node": ">=0.10.0"
|
1644 |
+
}
|
1645 |
+
},
|
1646 |
+
"node_modules/object-assign": {
|
1647 |
+
"version": "4.1.1",
|
1648 |
+
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
|
1649 |
+
"integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
|
1650 |
+
"dev": true,
|
1651 |
+
"engines": {
|
1652 |
+
"node": ">=0.10.0"
|
1653 |
+
}
|
1654 |
+
},
|
1655 |
+
"node_modules/object-hash": {
|
1656 |
+
"version": "3.0.0",
|
1657 |
+
"resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
|
1658 |
+
"integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==",
|
1659 |
+
"dev": true,
|
1660 |
+
"engines": {
|
1661 |
+
"node": ">= 6"
|
1662 |
+
}
|
1663 |
+
},
|
1664 |
+
"node_modules/path-key": {
|
1665 |
+
"version": "3.1.1",
|
1666 |
+
"resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
|
1667 |
+
"integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
|
1668 |
+
"dev": true,
|
1669 |
+
"engines": {
|
1670 |
+
"node": ">=8"
|
1671 |
+
}
|
1672 |
+
},
|
1673 |
+
"node_modules/path-parse": {
|
1674 |
+
"version": "1.0.7",
|
1675 |
+
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
|
1676 |
+
"integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
|
1677 |
+
"dev": true
|
1678 |
+
},
|
1679 |
+
"node_modules/path-scurry": {
|
1680 |
+
"version": "1.10.1",
|
1681 |
+
"resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz",
|
1682 |
+
"integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==",
|
1683 |
+
"dev": true,
|
1684 |
+
"dependencies": {
|
1685 |
+
"lru-cache": "^9.1.1 || ^10.0.0",
|
1686 |
+
"minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
|
1687 |
+
},
|
1688 |
+
"engines": {
|
1689 |
+
"node": ">=16 || 14 >=14.17"
|
1690 |
+
},
|
1691 |
+
"funding": {
|
1692 |
+
"url": "https://github.com/sponsors/isaacs"
|
1693 |
+
}
|
1694 |
+
},
|
1695 |
+
"node_modules/periscopic": {
|
1696 |
+
"version": "3.1.0",
|
1697 |
+
"resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz",
|
1698 |
+
"integrity": "sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==",
|
1699 |
+
"dev": true,
|
1700 |
+
"dependencies": {
|
1701 |
+
"@types/estree": "^1.0.0",
|
1702 |
+
"estree-walker": "^3.0.0",
|
1703 |
+
"is-reference": "^3.0.0"
|
1704 |
+
}
|
1705 |
+
},
|
1706 |
+
"node_modules/picocolors": {
|
1707 |
+
"version": "1.0.0",
|
1708 |
+
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
|
1709 |
+
"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
|
1710 |
+
"dev": true
|
1711 |
+
},
|
1712 |
+
"node_modules/picomatch": {
|
1713 |
+
"version": "2.3.1",
|
1714 |
+
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
|
1715 |
+
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
|
1716 |
+
"dev": true,
|
1717 |
+
"engines": {
|
1718 |
+
"node": ">=8.6"
|
1719 |
+
},
|
1720 |
+
"funding": {
|
1721 |
+
"url": "https://github.com/sponsors/jonschlinkert"
|
1722 |
+
}
|
1723 |
+
},
|
1724 |
+
"node_modules/pify": {
|
1725 |
+
"version": "2.3.0",
|
1726 |
+
"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
|
1727 |
+
"integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
|
1728 |
+
"dev": true,
|
1729 |
+
"engines": {
|
1730 |
+
"node": ">=0.10.0"
|
1731 |
+
}
|
1732 |
+
},
|
1733 |
+
"node_modules/pirates": {
|
1734 |
+
"version": "4.0.6",
|
1735 |
+
"resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz",
|
1736 |
+
"integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==",
|
1737 |
+
"dev": true,
|
1738 |
+
"engines": {
|
1739 |
+
"node": ">= 6"
|
1740 |
+
}
|
1741 |
+
},
|
1742 |
+
"node_modules/postcss": {
|
1743 |
+
"version": "8.4.35",
|
1744 |
+
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz",
|
1745 |
+
"integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==",
|
1746 |
+
"dev": true,
|
1747 |
+
"funding": [
|
1748 |
+
{
|
1749 |
+
"type": "opencollective",
|
1750 |
+
"url": "https://opencollective.com/postcss/"
|
1751 |
+
},
|
1752 |
+
{
|
1753 |
+
"type": "tidelift",
|
1754 |
+
"url": "https://tidelift.com/funding/github/npm/postcss"
|
1755 |
+
},
|
1756 |
+
{
|
1757 |
+
"type": "github",
|
1758 |
+
"url": "https://github.com/sponsors/ai"
|
1759 |
+
}
|
1760 |
+
],
|
1761 |
+
"dependencies": {
|
1762 |
+
"nanoid": "^3.3.7",
|
1763 |
+
"picocolors": "^1.0.0",
|
1764 |
+
"source-map-js": "^1.0.2"
|
1765 |
+
},
|
1766 |
+
"engines": {
|
1767 |
+
"node": "^10 || ^12 || >=14"
|
1768 |
+
}
|
1769 |
+
},
|
1770 |
+
"node_modules/postcss-import": {
|
1771 |
+
"version": "15.1.0",
|
1772 |
+
"resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz",
|
1773 |
+
"integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==",
|
1774 |
+
"dev": true,
|
1775 |
+
"dependencies": {
|
1776 |
+
"postcss-value-parser": "^4.0.0",
|
1777 |
+
"read-cache": "^1.0.0",
|
1778 |
+
"resolve": "^1.1.7"
|
1779 |
+
},
|
1780 |
+
"engines": {
|
1781 |
+
"node": ">=14.0.0"
|
1782 |
+
},
|
1783 |
+
"peerDependencies": {
|
1784 |
+
"postcss": "^8.0.0"
|
1785 |
+
}
|
1786 |
+
},
|
1787 |
+
"node_modules/postcss-js": {
|
1788 |
+
"version": "4.0.1",
|
1789 |
+
"resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz",
|
1790 |
+
"integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==",
|
1791 |
+
"dev": true,
|
1792 |
+
"dependencies": {
|
1793 |
+
"camelcase-css": "^2.0.1"
|
1794 |
+
},
|
1795 |
+
"engines": {
|
1796 |
+
"node": "^12 || ^14 || >= 16"
|
1797 |
+
},
|
1798 |
+
"funding": {
|
1799 |
+
"type": "opencollective",
|
1800 |
+
"url": "https://opencollective.com/postcss/"
|
1801 |
+
},
|
1802 |
+
"peerDependencies": {
|
1803 |
+
"postcss": "^8.4.21"
|
1804 |
+
}
|
1805 |
+
},
|
1806 |
+
"node_modules/postcss-load-config": {
|
1807 |
+
"version": "4.0.2",
|
1808 |
+
"resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz",
|
1809 |
+
"integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==",
|
1810 |
+
"dev": true,
|
1811 |
+
"funding": [
|
1812 |
+
{
|
1813 |
+
"type": "opencollective",
|
1814 |
+
"url": "https://opencollective.com/postcss/"
|
1815 |
+
},
|
1816 |
+
{
|
1817 |
+
"type": "github",
|
1818 |
+
"url": "https://github.com/sponsors/ai"
|
1819 |
+
}
|
1820 |
+
],
|
1821 |
+
"dependencies": {
|
1822 |
+
"lilconfig": "^3.0.0",
|
1823 |
+
"yaml": "^2.3.4"
|
1824 |
+
},
|
1825 |
+
"engines": {
|
1826 |
+
"node": ">= 14"
|
1827 |
+
},
|
1828 |
+
"peerDependencies": {
|
1829 |
+
"postcss": ">=8.0.9",
|
1830 |
+
"ts-node": ">=9.0.0"
|
1831 |
+
},
|
1832 |
+
"peerDependenciesMeta": {
|
1833 |
+
"postcss": {
|
1834 |
+
"optional": true
|
1835 |
+
},
|
1836 |
+
"ts-node": {
|
1837 |
+
"optional": true
|
1838 |
+
}
|
1839 |
+
}
|
1840 |
+
},
|
1841 |
+
"node_modules/postcss-load-config/node_modules/lilconfig": {
|
1842 |
+
"version": "3.1.1",
|
1843 |
+
"resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz",
|
1844 |
+
"integrity": "sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==",
|
1845 |
+
"dev": true,
|
1846 |
+
"engines": {
|
1847 |
+
"node": ">=14"
|
1848 |
+
},
|
1849 |
+
"funding": {
|
1850 |
+
"url": "https://github.com/sponsors/antonk52"
|
1851 |
+
}
|
1852 |
+
},
|
1853 |
+
"node_modules/postcss-nested": {
|
1854 |
+
"version": "6.0.1",
|
1855 |
+
"resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz",
|
1856 |
+
"integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==",
|
1857 |
+
"dev": true,
|
1858 |
+
"dependencies": {
|
1859 |
+
"postcss-selector-parser": "^6.0.11"
|
1860 |
+
},
|
1861 |
+
"engines": {
|
1862 |
+
"node": ">=12.0"
|
1863 |
+
},
|
1864 |
+
"funding": {
|
1865 |
+
"type": "opencollective",
|
1866 |
+
"url": "https://opencollective.com/postcss/"
|
1867 |
+
},
|
1868 |
+
"peerDependencies": {
|
1869 |
+
"postcss": "^8.2.14"
|
1870 |
+
}
|
1871 |
+
},
|
1872 |
+
"node_modules/postcss-selector-parser": {
|
1873 |
+
"version": "6.0.15",
|
1874 |
+
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz",
|
1875 |
+
"integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==",
|
1876 |
+
"dev": true,
|
1877 |
+
"dependencies": {
|
1878 |
+
"cssesc": "^3.0.0",
|
1879 |
+
"util-deprecate": "^1.0.2"
|
1880 |
+
},
|
1881 |
+
"engines": {
|
1882 |
+
"node": ">=4"
|
1883 |
+
}
|
1884 |
+
},
|
1885 |
+
"node_modules/postcss-value-parser": {
|
1886 |
+
"version": "4.2.0",
|
1887 |
+
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
|
1888 |
+
"integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
|
1889 |
+
"dev": true
|
1890 |
+
},
|
1891 |
+
"node_modules/queue-microtask": {
|
1892 |
+
"version": "1.2.3",
|
1893 |
+
"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
|
1894 |
+
"integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
|
1895 |
+
"dev": true,
|
1896 |
+
"funding": [
|
1897 |
+
{
|
1898 |
+
"type": "github",
|
1899 |
+
"url": "https://github.com/sponsors/feross"
|
1900 |
+
},
|
1901 |
+
{
|
1902 |
+
"type": "patreon",
|
1903 |
+
"url": "https://www.patreon.com/feross"
|
1904 |
+
},
|
1905 |
+
{
|
1906 |
+
"type": "consulting",
|
1907 |
+
"url": "https://feross.org/support"
|
1908 |
+
}
|
1909 |
+
]
|
1910 |
+
},
|
1911 |
+
"node_modules/read-cache": {
|
1912 |
+
"version": "1.0.0",
|
1913 |
+
"resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
|
1914 |
+
"integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
|
1915 |
+
"dev": true,
|
1916 |
+
"dependencies": {
|
1917 |
+
"pify": "^2.3.0"
|
1918 |
+
}
|
1919 |
+
},
|
1920 |
+
"node_modules/readdirp": {
|
1921 |
+
"version": "3.6.0",
|
1922 |
+
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
|
1923 |
+
"integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
|
1924 |
+
"dev": true,
|
1925 |
+
"dependencies": {
|
1926 |
+
"picomatch": "^2.2.1"
|
1927 |
+
},
|
1928 |
+
"engines": {
|
1929 |
+
"node": ">=8.10.0"
|
1930 |
+
}
|
1931 |
+
},
|
1932 |
+
"node_modules/resolve": {
|
1933 |
+
"version": "1.22.8",
|
1934 |
+
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
|
1935 |
+
"integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==",
|
1936 |
+
"dev": true,
|
1937 |
+
"dependencies": {
|
1938 |
+
"is-core-module": "^2.13.0",
|
1939 |
+
"path-parse": "^1.0.7",
|
1940 |
+
"supports-preserve-symlinks-flag": "^1.0.0"
|
1941 |
+
},
|
1942 |
+
"bin": {
|
1943 |
+
"resolve": "bin/resolve"
|
1944 |
+
},
|
1945 |
+
"funding": {
|
1946 |
+
"url": "https://github.com/sponsors/ljharb"
|
1947 |
+
}
|
1948 |
+
},
|
1949 |
+
"node_modules/reusify": {
|
1950 |
+
"version": "1.0.4",
|
1951 |
+
"resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
|
1952 |
+
"integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
|
1953 |
+
"dev": true,
|
1954 |
+
"engines": {
|
1955 |
+
"iojs": ">=1.0.0",
|
1956 |
+
"node": ">=0.10.0"
|
1957 |
+
}
|
1958 |
+
},
|
1959 |
+
"node_modules/rollup": {
|
1960 |
+
"version": "4.12.0",
|
1961 |
+
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.12.0.tgz",
|
1962 |
+
"integrity": "sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==",
|
1963 |
+
"dev": true,
|
1964 |
+
"dependencies": {
|
1965 |
+
"@types/estree": "1.0.5"
|
1966 |
+
},
|
1967 |
+
"bin": {
|
1968 |
+
"rollup": "dist/bin/rollup"
|
1969 |
+
},
|
1970 |
+
"engines": {
|
1971 |
+
"node": ">=18.0.0",
|
1972 |
+
"npm": ">=8.0.0"
|
1973 |
+
},
|
1974 |
+
"optionalDependencies": {
|
1975 |
+
"@rollup/rollup-android-arm-eabi": "4.12.0",
|
1976 |
+
"@rollup/rollup-android-arm64": "4.12.0",
|
1977 |
+
"@rollup/rollup-darwin-arm64": "4.12.0",
|
1978 |
+
"@rollup/rollup-darwin-x64": "4.12.0",
|
1979 |
+
"@rollup/rollup-linux-arm-gnueabihf": "4.12.0",
|
1980 |
+
"@rollup/rollup-linux-arm64-gnu": "4.12.0",
|
1981 |
+
"@rollup/rollup-linux-arm64-musl": "4.12.0",
|
1982 |
+
"@rollup/rollup-linux-riscv64-gnu": "4.12.0",
|
1983 |
+
"@rollup/rollup-linux-x64-gnu": "4.12.0",
|
1984 |
+
"@rollup/rollup-linux-x64-musl": "4.12.0",
|
1985 |
+
"@rollup/rollup-win32-arm64-msvc": "4.12.0",
|
1986 |
+
"@rollup/rollup-win32-ia32-msvc": "4.12.0",
|
1987 |
+
"@rollup/rollup-win32-x64-msvc": "4.12.0",
|
1988 |
+
"fsevents": "~2.3.2"
|
1989 |
+
}
|
1990 |
+
},
|
1991 |
+
"node_modules/run-parallel": {
|
1992 |
+
"version": "1.2.0",
|
1993 |
+
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
|
1994 |
+
"integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
|
1995 |
+
"dev": true,
|
1996 |
+
"funding": [
|
1997 |
+
{
|
1998 |
+
"type": "github",
|
1999 |
+
"url": "https://github.com/sponsors/feross"
|
2000 |
+
},
|
2001 |
+
{
|
2002 |
+
"type": "patreon",
|
2003 |
+
"url": "https://www.patreon.com/feross"
|
2004 |
+
},
|
2005 |
+
{
|
2006 |
+
"type": "consulting",
|
2007 |
+
"url": "https://feross.org/support"
|
2008 |
+
}
|
2009 |
+
],
|
2010 |
+
"dependencies": {
|
2011 |
+
"queue-microtask": "^1.2.2"
|
2012 |
+
}
|
2013 |
+
},
|
2014 |
+
"node_modules/shebang-command": {
|
2015 |
+
"version": "2.0.0",
|
2016 |
+
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
|
2017 |
+
"integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
|
2018 |
+
"dev": true,
|
2019 |
+
"dependencies": {
|
2020 |
+
"shebang-regex": "^3.0.0"
|
2021 |
+
},
|
2022 |
+
"engines": {
|
2023 |
+
"node": ">=8"
|
2024 |
+
}
|
2025 |
+
},
|
2026 |
+
"node_modules/shebang-regex": {
|
2027 |
+
"version": "3.0.0",
|
2028 |
+
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
|
2029 |
+
"integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
|
2030 |
+
"dev": true,
|
2031 |
+
"engines": {
|
2032 |
+
"node": ">=8"
|
2033 |
+
}
|
2034 |
+
},
|
2035 |
+
"node_modules/signal-exit": {
|
2036 |
+
"version": "4.1.0",
|
2037 |
+
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
|
2038 |
+
"integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
|
2039 |
+
"dev": true,
|
2040 |
+
"engines": {
|
2041 |
+
"node": ">=14"
|
2042 |
+
},
|
2043 |
+
"funding": {
|
2044 |
+
"url": "https://github.com/sponsors/isaacs"
|
2045 |
+
}
|
2046 |
+
},
|
2047 |
+
"node_modules/source-map-js": {
|
2048 |
+
"version": "1.0.2",
|
2049 |
+
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
|
2050 |
+
"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
|
2051 |
+
"dev": true,
|
2052 |
+
"engines": {
|
2053 |
+
"node": ">=0.10.0"
|
2054 |
+
}
|
2055 |
+
},
|
2056 |
+
"node_modules/string-width": {
|
2057 |
+
"version": "5.1.2",
|
2058 |
+
"resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
|
2059 |
+
"integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
|
2060 |
+
"dev": true,
|
2061 |
+
"dependencies": {
|
2062 |
+
"eastasianwidth": "^0.2.0",
|
2063 |
+
"emoji-regex": "^9.2.2",
|
2064 |
+
"strip-ansi": "^7.0.1"
|
2065 |
+
},
|
2066 |
+
"engines": {
|
2067 |
+
"node": ">=12"
|
2068 |
+
},
|
2069 |
+
"funding": {
|
2070 |
+
"url": "https://github.com/sponsors/sindresorhus"
|
2071 |
+
}
|
2072 |
+
},
|
2073 |
+
"node_modules/string-width-cjs": {
|
2074 |
+
"name": "string-width",
|
2075 |
+
"version": "4.2.3",
|
2076 |
+
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
|
2077 |
+
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
|
2078 |
+
"dev": true,
|
2079 |
+
"dependencies": {
|
2080 |
+
"emoji-regex": "^8.0.0",
|
2081 |
+
"is-fullwidth-code-point": "^3.0.0",
|
2082 |
+
"strip-ansi": "^6.0.1"
|
2083 |
+
},
|
2084 |
+
"engines": {
|
2085 |
+
"node": ">=8"
|
2086 |
+
}
|
2087 |
+
},
|
2088 |
+
"node_modules/string-width-cjs/node_modules/ansi-regex": {
|
2089 |
+
"version": "5.0.1",
|
2090 |
+
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
2091 |
+
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
|
2092 |
+
"dev": true,
|
2093 |
+
"engines": {
|
2094 |
+
"node": ">=8"
|
2095 |
+
}
|
2096 |
+
},
|
2097 |
+
"node_modules/string-width-cjs/node_modules/emoji-regex": {
|
2098 |
+
"version": "8.0.0",
|
2099 |
+
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
|
2100 |
+
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
|
2101 |
+
"dev": true
|
2102 |
+
},
|
2103 |
+
"node_modules/string-width-cjs/node_modules/strip-ansi": {
|
2104 |
+
"version": "6.0.1",
|
2105 |
+
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
2106 |
+
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
|
2107 |
+
"dev": true,
|
2108 |
+
"dependencies": {
|
2109 |
+
"ansi-regex": "^5.0.1"
|
2110 |
+
},
|
2111 |
+
"engines": {
|
2112 |
+
"node": ">=8"
|
2113 |
+
}
|
2114 |
+
},
|
2115 |
+
"node_modules/strip-ansi": {
|
2116 |
+
"version": "7.1.0",
|
2117 |
+
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
|
2118 |
+
"integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
|
2119 |
+
"dev": true,
|
2120 |
+
"dependencies": {
|
2121 |
+
"ansi-regex": "^6.0.1"
|
2122 |
+
},
|
2123 |
+
"engines": {
|
2124 |
+
"node": ">=12"
|
2125 |
+
},
|
2126 |
+
"funding": {
|
2127 |
+
"url": "https://github.com/chalk/strip-ansi?sponsor=1"
|
2128 |
+
}
|
2129 |
+
},
|
2130 |
+
"node_modules/strip-ansi-cjs": {
|
2131 |
+
"name": "strip-ansi",
|
2132 |
+
"version": "6.0.1",
|
2133 |
+
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
2134 |
+
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
|
2135 |
+
"dev": true,
|
2136 |
+
"dependencies": {
|
2137 |
+
"ansi-regex": "^5.0.1"
|
2138 |
+
},
|
2139 |
+
"engines": {
|
2140 |
+
"node": ">=8"
|
2141 |
+
}
|
2142 |
+
},
|
2143 |
+
"node_modules/strip-ansi-cjs/node_modules/ansi-regex": {
|
2144 |
+
"version": "5.0.1",
|
2145 |
+
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
2146 |
+
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
|
2147 |
+
"dev": true,
|
2148 |
+
"engines": {
|
2149 |
+
"node": ">=8"
|
2150 |
+
}
|
2151 |
+
},
|
2152 |
+
"node_modules/sucrase": {
|
2153 |
+
"version": "3.35.0",
|
2154 |
+
"resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz",
|
2155 |
+
"integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==",
|
2156 |
+
"dev": true,
|
2157 |
+
"dependencies": {
|
2158 |
+
"@jridgewell/gen-mapping": "^0.3.2",
|
2159 |
+
"commander": "^4.0.0",
|
2160 |
+
"glob": "^10.3.10",
|
2161 |
+
"lines-and-columns": "^1.1.6",
|
2162 |
+
"mz": "^2.7.0",
|
2163 |
+
"pirates": "^4.0.1",
|
2164 |
+
"ts-interface-checker": "^0.1.9"
|
2165 |
+
},
|
2166 |
+
"bin": {
|
2167 |
+
"sucrase": "bin/sucrase",
|
2168 |
+
"sucrase-node": "bin/sucrase-node"
|
2169 |
+
},
|
2170 |
+
"engines": {
|
2171 |
+
"node": ">=16 || 14 >=14.17"
|
2172 |
+
}
|
2173 |
+
},
|
2174 |
+
"node_modules/supports-preserve-symlinks-flag": {
|
2175 |
+
"version": "1.0.0",
|
2176 |
+
"resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
|
2177 |
+
"integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
|
2178 |
+
"dev": true,
|
2179 |
+
"engines": {
|
2180 |
+
"node": ">= 0.4"
|
2181 |
+
},
|
2182 |
+
"funding": {
|
2183 |
+
"url": "https://github.com/sponsors/ljharb"
|
2184 |
+
}
|
2185 |
+
},
|
2186 |
+
"node_modules/svelte": {
|
2187 |
+
"version": "4.2.11",
|
2188 |
+
"resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.11.tgz",
|
2189 |
+
"integrity": "sha512-YIQk3J4X89wOLhjsqIW8tqY3JHPuBdtdOIkASP2PZeAMcSW9RsIjQzMesCrxOF3gdWYC0mKknlKF7OqmLM+Zqg==",
|
2190 |
+
"dev": true,
|
2191 |
+
"dependencies": {
|
2192 |
+
"@ampproject/remapping": "^2.2.1",
|
2193 |
+
"@jridgewell/sourcemap-codec": "^1.4.15",
|
2194 |
+
"@jridgewell/trace-mapping": "^0.3.18",
|
2195 |
+
"@types/estree": "^1.0.1",
|
2196 |
+
"acorn": "^8.9.0",
|
2197 |
+
"aria-query": "^5.3.0",
|
2198 |
+
"axobject-query": "^4.0.0",
|
2199 |
+
"code-red": "^1.0.3",
|
2200 |
+
"css-tree": "^2.3.1",
|
2201 |
+
"estree-walker": "^3.0.3",
|
2202 |
+
"is-reference": "^3.0.1",
|
2203 |
+
"locate-character": "^3.0.0",
|
2204 |
+
"magic-string": "^0.30.4",
|
2205 |
+
"periscopic": "^3.1.0"
|
2206 |
+
},
|
2207 |
+
"engines": {
|
2208 |
+
"node": ">=16"
|
2209 |
+
}
|
2210 |
+
},
|
2211 |
+
"node_modules/svelte-hmr": {
|
2212 |
+
"version": "0.15.3",
|
2213 |
+
"resolved": "https://registry.npmjs.org/svelte-hmr/-/svelte-hmr-0.15.3.tgz",
|
2214 |
+
"integrity": "sha512-41snaPswvSf8TJUhlkoJBekRrABDXDMdpNpT2tfHIv4JuhgvHqLMhEPGtaQn0BmbNSTkuz2Ed20DF2eHw0SmBQ==",
|
2215 |
+
"dev": true,
|
2216 |
+
"engines": {
|
2217 |
+
"node": "^12.20 || ^14.13.1 || >= 16"
|
2218 |
+
},
|
2219 |
+
"peerDependencies": {
|
2220 |
+
"svelte": "^3.19.0 || ^4.0.0"
|
2221 |
+
}
|
2222 |
+
},
|
2223 |
+
"node_modules/tailwindcss": {
|
2224 |
+
"version": "3.4.1",
|
2225 |
+
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.1.tgz",
|
2226 |
+
"integrity": "sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==",
|
2227 |
+
"dev": true,
|
2228 |
+
"dependencies": {
|
2229 |
+
"@alloc/quick-lru": "^5.2.0",
|
2230 |
+
"arg": "^5.0.2",
|
2231 |
+
"chokidar": "^3.5.3",
|
2232 |
+
"didyoumean": "^1.2.2",
|
2233 |
+
"dlv": "^1.1.3",
|
2234 |
+
"fast-glob": "^3.3.0",
|
2235 |
+
"glob-parent": "^6.0.2",
|
2236 |
+
"is-glob": "^4.0.3",
|
2237 |
+
"jiti": "^1.19.1",
|
2238 |
+
"lilconfig": "^2.1.0",
|
2239 |
+
"micromatch": "^4.0.5",
|
2240 |
+
"normalize-path": "^3.0.0",
|
2241 |
+
"object-hash": "^3.0.0",
|
2242 |
+
"picocolors": "^1.0.0",
|
2243 |
+
"postcss": "^8.4.23",
|
2244 |
+
"postcss-import": "^15.1.0",
|
2245 |
+
"postcss-js": "^4.0.1",
|
2246 |
+
"postcss-load-config": "^4.0.1",
|
2247 |
+
"postcss-nested": "^6.0.1",
|
2248 |
+
"postcss-selector-parser": "^6.0.11",
|
2249 |
+
"resolve": "^1.22.2",
|
2250 |
+
"sucrase": "^3.32.0"
|
2251 |
+
},
|
2252 |
+
"bin": {
|
2253 |
+
"tailwind": "lib/cli.js",
|
2254 |
+
"tailwindcss": "lib/cli.js"
|
2255 |
+
},
|
2256 |
+
"engines": {
|
2257 |
+
"node": ">=14.0.0"
|
2258 |
+
}
|
2259 |
+
},
|
2260 |
+
"node_modules/thenify": {
|
2261 |
+
"version": "3.3.1",
|
2262 |
+
"resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
|
2263 |
+
"integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==",
|
2264 |
+
"dev": true,
|
2265 |
+
"dependencies": {
|
2266 |
+
"any-promise": "^1.0.0"
|
2267 |
+
}
|
2268 |
+
},
|
2269 |
+
"node_modules/thenify-all": {
|
2270 |
+
"version": "1.6.0",
|
2271 |
+
"resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
|
2272 |
+
"integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==",
|
2273 |
+
"dev": true,
|
2274 |
+
"dependencies": {
|
2275 |
+
"thenify": ">= 3.1.0 < 4"
|
2276 |
+
},
|
2277 |
+
"engines": {
|
2278 |
+
"node": ">=0.8"
|
2279 |
+
}
|
2280 |
+
},
|
2281 |
+
"node_modules/to-regex-range": {
|
2282 |
+
"version": "5.0.1",
|
2283 |
+
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
|
2284 |
+
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
|
2285 |
+
"dev": true,
|
2286 |
+
"dependencies": {
|
2287 |
+
"is-number": "^7.0.0"
|
2288 |
+
},
|
2289 |
+
"engines": {
|
2290 |
+
"node": ">=8.0"
|
2291 |
+
}
|
2292 |
+
},
|
2293 |
+
"node_modules/ts-interface-checker": {
|
2294 |
+
"version": "0.1.13",
|
2295 |
+
"resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz",
|
2296 |
+
"integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==",
|
2297 |
+
"dev": true
|
2298 |
+
},
|
2299 |
+
"node_modules/update-browserslist-db": {
|
2300 |
+
"version": "1.0.13",
|
2301 |
+
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz",
|
2302 |
+
"integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==",
|
2303 |
+
"dev": true,
|
2304 |
+
"funding": [
|
2305 |
+
{
|
2306 |
+
"type": "opencollective",
|
2307 |
+
"url": "https://opencollective.com/browserslist"
|
2308 |
+
},
|
2309 |
+
{
|
2310 |
+
"type": "tidelift",
|
2311 |
+
"url": "https://tidelift.com/funding/github/npm/browserslist"
|
2312 |
+
},
|
2313 |
+
{
|
2314 |
+
"type": "github",
|
2315 |
+
"url": "https://github.com/sponsors/ai"
|
2316 |
+
}
|
2317 |
+
],
|
2318 |
+
"dependencies": {
|
2319 |
+
"escalade": "^3.1.1",
|
2320 |
+
"picocolors": "^1.0.0"
|
2321 |
+
},
|
2322 |
+
"bin": {
|
2323 |
+
"update-browserslist-db": "cli.js"
|
2324 |
+
},
|
2325 |
+
"peerDependencies": {
|
2326 |
+
"browserslist": ">= 4.21.0"
|
2327 |
+
}
|
2328 |
+
},
|
2329 |
+
"node_modules/util-deprecate": {
|
2330 |
+
"version": "1.0.2",
|
2331 |
+
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
|
2332 |
+
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
|
2333 |
+
"dev": true
|
2334 |
+
},
|
2335 |
+
"node_modules/vite": {
|
2336 |
+
"version": "5.1.3",
|
2337 |
+
"resolved": "https://registry.npmjs.org/vite/-/vite-5.1.3.tgz",
|
2338 |
+
"integrity": "sha512-UfmUD36DKkqhi/F75RrxvPpry+9+tTkrXfMNZD+SboZqBCMsxKtO52XeGzzuh7ioz+Eo/SYDBbdb0Z7vgcDJew==",
|
2339 |
+
"dev": true,
|
2340 |
+
"dependencies": {
|
2341 |
+
"esbuild": "^0.19.3",
|
2342 |
+
"postcss": "^8.4.35",
|
2343 |
+
"rollup": "^4.2.0"
|
2344 |
+
},
|
2345 |
+
"bin": {
|
2346 |
+
"vite": "bin/vite.js"
|
2347 |
+
},
|
2348 |
+
"engines": {
|
2349 |
+
"node": "^18.0.0 || >=20.0.0"
|
2350 |
+
},
|
2351 |
+
"funding": {
|
2352 |
+
"url": "https://github.com/vitejs/vite?sponsor=1"
|
2353 |
+
},
|
2354 |
+
"optionalDependencies": {
|
2355 |
+
"fsevents": "~2.3.3"
|
2356 |
+
},
|
2357 |
+
"peerDependencies": {
|
2358 |
+
"@types/node": "^18.0.0 || >=20.0.0",
|
2359 |
+
"less": "*",
|
2360 |
+
"lightningcss": "^1.21.0",
|
2361 |
+
"sass": "*",
|
2362 |
+
"stylus": "*",
|
2363 |
+
"sugarss": "*",
|
2364 |
+
"terser": "^5.4.0"
|
2365 |
+
},
|
2366 |
+
"peerDependenciesMeta": {
|
2367 |
+
"@types/node": {
|
2368 |
+
"optional": true
|
2369 |
+
},
|
2370 |
+
"less": {
|
2371 |
+
"optional": true
|
2372 |
+
},
|
2373 |
+
"lightningcss": {
|
2374 |
+
"optional": true
|
2375 |
+
},
|
2376 |
+
"sass": {
|
2377 |
+
"optional": true
|
2378 |
+
},
|
2379 |
+
"stylus": {
|
2380 |
+
"optional": true
|
2381 |
+
},
|
2382 |
+
"sugarss": {
|
2383 |
+
"optional": true
|
2384 |
+
},
|
2385 |
+
"terser": {
|
2386 |
+
"optional": true
|
2387 |
+
}
|
2388 |
+
}
|
2389 |
+
},
|
2390 |
+
"node_modules/vitefu": {
|
2391 |
+
"version": "0.2.5",
|
2392 |
+
"resolved": "https://registry.npmjs.org/vitefu/-/vitefu-0.2.5.tgz",
|
2393 |
+
"integrity": "sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==",
|
2394 |
+
"dev": true,
|
2395 |
+
"peerDependencies": {
|
2396 |
+
"vite": "^3.0.0 || ^4.0.0 || ^5.0.0"
|
2397 |
+
},
|
2398 |
+
"peerDependenciesMeta": {
|
2399 |
+
"vite": {
|
2400 |
+
"optional": true
|
2401 |
+
}
|
2402 |
+
}
|
2403 |
+
},
|
2404 |
+
"node_modules/which": {
|
2405 |
+
"version": "2.0.2",
|
2406 |
+
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
|
2407 |
+
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
|
2408 |
+
"dev": true,
|
2409 |
+
"dependencies": {
|
2410 |
+
"isexe": "^2.0.0"
|
2411 |
+
},
|
2412 |
+
"bin": {
|
2413 |
+
"node-which": "bin/node-which"
|
2414 |
+
},
|
2415 |
+
"engines": {
|
2416 |
+
"node": ">= 8"
|
2417 |
+
}
|
2418 |
+
},
|
2419 |
+
"node_modules/wrap-ansi": {
|
2420 |
+
"version": "8.1.0",
|
2421 |
+
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
|
2422 |
+
"integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
|
2423 |
+
"dev": true,
|
2424 |
+
"dependencies": {
|
2425 |
+
"ansi-styles": "^6.1.0",
|
2426 |
+
"string-width": "^5.0.1",
|
2427 |
+
"strip-ansi": "^7.0.1"
|
2428 |
+
},
|
2429 |
+
"engines": {
|
2430 |
+
"node": ">=12"
|
2431 |
+
},
|
2432 |
+
"funding": {
|
2433 |
+
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
|
2434 |
+
}
|
2435 |
+
},
|
2436 |
+
"node_modules/wrap-ansi-cjs": {
|
2437 |
+
"name": "wrap-ansi",
|
2438 |
+
"version": "7.0.0",
|
2439 |
+
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
|
2440 |
+
"integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
|
2441 |
+
"dev": true,
|
2442 |
+
"dependencies": {
|
2443 |
+
"ansi-styles": "^4.0.0",
|
2444 |
+
"string-width": "^4.1.0",
|
2445 |
+
"strip-ansi": "^6.0.0"
|
2446 |
+
},
|
2447 |
+
"engines": {
|
2448 |
+
"node": ">=10"
|
2449 |
+
},
|
2450 |
+
"funding": {
|
2451 |
+
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
|
2452 |
+
}
|
2453 |
+
},
|
2454 |
+
"node_modules/wrap-ansi-cjs/node_modules/ansi-regex": {
|
2455 |
+
"version": "5.0.1",
|
2456 |
+
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
2457 |
+
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
|
2458 |
+
"dev": true,
|
2459 |
+
"engines": {
|
2460 |
+
"node": ">=8"
|
2461 |
+
}
|
2462 |
+
},
|
2463 |
+
"node_modules/wrap-ansi-cjs/node_modules/ansi-styles": {
|
2464 |
+
"version": "4.3.0",
|
2465 |
+
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
|
2466 |
+
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
|
2467 |
+
"dev": true,
|
2468 |
+
"dependencies": {
|
2469 |
+
"color-convert": "^2.0.1"
|
2470 |
+
},
|
2471 |
+
"engines": {
|
2472 |
+
"node": ">=8"
|
2473 |
+
},
|
2474 |
+
"funding": {
|
2475 |
+
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
|
2476 |
+
}
|
2477 |
+
},
|
2478 |
+
"node_modules/wrap-ansi-cjs/node_modules/emoji-regex": {
|
2479 |
+
"version": "8.0.0",
|
2480 |
+
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
|
2481 |
+
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
|
2482 |
+
"dev": true
|
2483 |
+
},
|
2484 |
+
"node_modules/wrap-ansi-cjs/node_modules/string-width": {
|
2485 |
+
"version": "4.2.3",
|
2486 |
+
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
|
2487 |
+
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
|
2488 |
+
"dev": true,
|
2489 |
+
"dependencies": {
|
2490 |
+
"emoji-regex": "^8.0.0",
|
2491 |
+
"is-fullwidth-code-point": "^3.0.0",
|
2492 |
+
"strip-ansi": "^6.0.1"
|
2493 |
+
},
|
2494 |
+
"engines": {
|
2495 |
+
"node": ">=8"
|
2496 |
+
}
|
2497 |
+
},
|
2498 |
+
"node_modules/wrap-ansi-cjs/node_modules/strip-ansi": {
|
2499 |
+
"version": "6.0.1",
|
2500 |
+
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
2501 |
+
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
|
2502 |
+
"dev": true,
|
2503 |
+
"dependencies": {
|
2504 |
+
"ansi-regex": "^5.0.1"
|
2505 |
+
},
|
2506 |
+
"engines": {
|
2507 |
+
"node": ">=8"
|
2508 |
+
}
|
2509 |
+
},
|
2510 |
+
"node_modules/yaml": {
|
2511 |
+
"version": "2.3.4",
|
2512 |
+
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz",
|
2513 |
+
"integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==",
|
2514 |
+
"dev": true,
|
2515 |
+
"engines": {
|
2516 |
+
"node": ">= 14"
|
2517 |
+
}
|
2518 |
+
}
|
2519 |
+
}
|
2520 |
+
}
|
frontend/package.json
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"name": "frontend",
|
3 |
+
"private": true,
|
4 |
+
"version": "0.0.0",
|
5 |
+
"type": "module",
|
6 |
+
"scripts": {
|
7 |
+
"dev": "vite",
|
8 |
+
"build": "vite build",
|
9 |
+
"preview": "vite preview"
|
10 |
+
},
|
11 |
+
"devDependencies": {
|
12 |
+
"@sveltejs/vite-plugin-svelte": "^3.0.2",
|
13 |
+
"@tailwindcss/typography": "^0.5.10",
|
14 |
+
"autoprefixer": "^10.4.17",
|
15 |
+
"postcss": "^8.4.35",
|
16 |
+
"svelte": "^4.2.10",
|
17 |
+
"tailwindcss": "^3.4.1",
|
18 |
+
"vite": "^5.1.0"
|
19 |
+
}
|
20 |
+
}
|
client/postcss.config.cjs → frontend/postcss.config.js
RENAMED
@@ -1,4 +1,4 @@
|
|
1 |
-
|
2 |
plugins: {
|
3 |
tailwindcss: {},
|
4 |
autoprefixer: {},
|
|
|
1 |
+
export default {
|
2 |
plugins: {
|
3 |
tailwindcss: {},
|
4 |
autoprefixer: {},
|
{client/static → frontend/public}/test.json
RENAMED
File without changes
|
frontend/public/vite.svg
ADDED
client/src/routes/index.svelte → frontend/src/App.svelte
RENAMED
@@ -1,5 +1,5 @@
|
|
1 |
<script>
|
2 |
-
import NewsBlock from '
|
3 |
let feeds = [
|
4 |
{
|
5 |
label: 'NYTimes',
|
@@ -37,10 +37,10 @@
|
|
37 |
async function fecthPredictions(feedUrl) {
|
38 |
console.log(feedUrl);
|
39 |
try {
|
40 |
-
predictions = await fetch(
|
41 |
} catch (e) {
|
42 |
// hack to develop locally without having to run the server
|
43 |
-
predictions = await fetch('
|
44 |
}
|
45 |
lastUpdate = new Date(predictions.last_update);
|
46 |
predictions = predictions.entries.sort((a, b) => b.sentiment - a.sentiment);
|
@@ -108,8 +108,8 @@
|
|
108 |
>Node script</a
|
109 |
>
|
110 |
|
111 |
-
install node LTS and create symbolic links to <code>/home/user/.local/bin/</code> as it seems
|
112 |
-
we don't have permission to update <code>$PATH</code> env
|
113 |
</p>
|
114 |
<h4>main.py</h4>
|
115 |
<p class="max-w-prose leading-normal">
|
@@ -141,8 +141,9 @@
|
|
141 |
href="https://github.com/sveltejs/kit/tree/master/packages/adapter-node"
|
142 |
>
|
143 |
<code>@sveltejs/adapter-node</code></a
|
144 |
-
>
|
145 |
-
|
|
|
146 |
<a
|
147 |
href="https://github.com/sveltejs/kit/issues/595"
|
148 |
class="text-blue-500 underline hover:no-underline"
|
|
|
1 |
<script>
|
2 |
+
import NewsBlock from './components/NewsBlock.svelte';
|
3 |
let feeds = [
|
4 |
{
|
5 |
label: 'NYTimes',
|
|
|
37 |
async function fecthPredictions(feedUrl) {
|
38 |
console.log(feedUrl);
|
39 |
try {
|
40 |
+
predictions = await fetch(`/api/news?feed_url=${feedUrl}`).then((d) => d.json());
|
41 |
} catch (e) {
|
42 |
// hack to develop locally without having to run the server
|
43 |
+
predictions = await fetch('test.json').then((d) => d.json());
|
44 |
}
|
45 |
lastUpdate = new Date(predictions.last_update);
|
46 |
predictions = predictions.entries.sort((a, b) => b.sentiment - a.sentiment);
|
|
|
108 |
>Node script</a
|
109 |
>
|
110 |
|
111 |
+
install node LTS and create symbolic links to <code>/home/user/.local/bin/</code> as it seems
|
112 |
+
like we don't have permission to update <code>$PATH</code> env
|
113 |
</p>
|
114 |
<h4>main.py</h4>
|
115 |
<p class="max-w-prose leading-normal">
|
|
|
141 |
href="https://github.com/sveltejs/kit/tree/master/packages/adapter-node"
|
142 |
>
|
143 |
<code>@sveltejs/adapter-node</code></a
|
144 |
+
>
|
145 |
+
adaptor and Flask the API application with your ML project. However, there is an unsolved issue
|
146 |
+
to enable
|
147 |
<a
|
148 |
href="https://github.com/sveltejs/kit/issues/595"
|
149 |
class="text-blue-500 underline hover:no-underline"
|
{client → frontend}/src/app.css
RENAMED
@@ -1,3 +1,3 @@
|
|
1 |
@tailwind base;
|
2 |
@tailwind components;
|
3 |
-
@tailwind utilities;
|
|
|
1 |
@tailwind base;
|
2 |
@tailwind components;
|
3 |
+
@tailwind utilities;
|
frontend/src/assets/svelte.svg
ADDED
{client → frontend}/src/components/NewsBlock.svelte
RENAMED
File without changes
|
frontend/src/lib/Counter.svelte
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<script>
|
2 |
+
let count = 0
|
3 |
+
const increment = () => {
|
4 |
+
count += 1
|
5 |
+
}
|
6 |
+
</script>
|
7 |
+
|
8 |
+
<button on:click={increment}>
|
9 |
+
count is {count}
|
10 |
+
</button>
|
frontend/src/main.js
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import './app.css'
|
2 |
+
import App from './App.svelte'
|
3 |
+
|
4 |
+
const app = new App({
|
5 |
+
target: document.getElementById('app'),
|
6 |
+
})
|
7 |
+
|
8 |
+
export default app
|
frontend/src/vite-env.d.ts
ADDED
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
1 |
+
/// <reference types="svelte" />
|
2 |
+
/// <reference types="vite/client" />
|
frontend/svelte.config.js
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import { vitePreprocess } from '@sveltejs/vite-plugin-svelte'
|
2 |
+
|
3 |
+
export default {
|
4 |
+
// Consult https://svelte.dev/docs#compile-time-svelte-preprocess
|
5 |
+
// for more information about preprocessors
|
6 |
+
preprocess: vitePreprocess(),
|
7 |
+
}
|
client/tailwind.config.cjs → frontend/tailwind.config.js
RENAMED
@@ -1,5 +1,9 @@
|
|
1 |
-
|
2 |
-
|
|
|
|
|
|
|
|
|
3 |
theme: {
|
4 |
extend: {
|
5 |
typography: {
|
@@ -17,4 +21,4 @@ module.exports = {
|
|
17 |
},
|
18 |
},
|
19 |
plugins: [require('@tailwindcss/typography')]
|
20 |
-
}
|
|
|
1 |
+
/** @type {import('tailwindcss').Config} */
|
2 |
+
export default {
|
3 |
+
content: [
|
4 |
+
"./index.html",
|
5 |
+
"./src/**/*.{svelte,js,ts,jsx,tsx}",
|
6 |
+
],
|
7 |
theme: {
|
8 |
extend: {
|
9 |
typography: {
|
|
|
21 |
},
|
22 |
},
|
23 |
plugins: [require('@tailwindcss/typography')]
|
24 |
+
}
|
frontend/vite.config.js
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import { defineConfig } from 'vite'
|
2 |
+
import { svelte } from '@sveltejs/vite-plugin-svelte'
|
3 |
+
|
4 |
+
// https://vitejs.dev/config/
|
5 |
+
export default defineConfig({
|
6 |
+
plugins: [svelte()],
|
7 |
+
server: {
|
8 |
+
proxy: {
|
9 |
+
'/api': 'http://127.0.0.1:7860',
|
10 |
+
}
|
11 |
+
}
|
12 |
+
})
|
install-node.sh
DELETED
@@ -1,10 +0,0 @@
|
|
1 |
-
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
|
2 |
-
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
|
3 |
-
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
|
4 |
-
nvm install --lts
|
5 |
-
node --version
|
6 |
-
npm --version
|
7 |
-
which node
|
8 |
-
which npm
|
9 |
-
command ln -s "$NVM_BIN/node" /home/user/.local/bin/node
|
10 |
-
command ln -s "$NVM_BIN/npm" /home/user/.local/bin/npm
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
main.py
DELETED
@@ -1,3 +0,0 @@
|
|
1 |
-
import subprocess
|
2 |
-
|
3 |
-
subprocess.run(["make", "build-all"], shell=False)
|
|
|
|
|
|
|
|
packages.txt
DELETED
File without changes
|
requirements.txt
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
-
feedparser==6.0.
|
2 |
-
Flask==
|
3 |
-
flask_cors==
|
4 |
-
python-dotenv==0.
|
5 |
python_dateutil==2.8.2
|
6 |
-
transformers==4.
|
7 |
-
torch
|
|
|
1 |
+
feedparser==6.0.11
|
2 |
+
Flask==3.0.2
|
3 |
+
flask_cors==4.0.0
|
4 |
+
python-dotenv==1.0.1
|
5 |
python_dateutil==2.8.2
|
6 |
+
transformers==4.37.2
|
7 |
+
torch==2.2.0
|
static/_app/assets/pages/__layout.svelte-298a4fd5.css
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input:-ms-input-placeholder,textarea:-ms-input-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where([class~="lead"]):not(:where([class~="not-prose"] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~="not-prose"] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~="not-prose"] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(ol):not(:where([class~="not-prose"] *)){list-style-type:decimal;padding-left:1.625em}.prose :where(ol[type="A"]):not(:where([class~="not-prose"] *)){list-style-type:upper-alpha}.prose :where(ol[type="a"]):not(:where([class~="not-prose"] *)){list-style-type:lower-alpha}.prose :where(ol[type="A" s]):not(:where([class~="not-prose"] *)){list-style-type:upper-alpha}.prose :where(ol[type="a" s]):not(:where([class~="not-prose"] *)){list-style-type:lower-alpha}.prose :where(ol[type="I"]):not(:where([class~="not-prose"] *)){list-style-type:upper-roman}.prose :where(ol[type="i"]):not(:where([class~="not-prose"] *)){list-style-type:lower-roman}.prose :where(ol[type="I" s]):not(:where([class~="not-prose"] *)){list-style-type:upper-roman}.prose :where(ol[type="i" s]):not(:where([class~="not-prose"] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~="not-prose"] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~="not-prose"] *)){list-style-type:disc;padding-left:1.625em}.prose :where(ol > li):not(:where([class~="not-prose"] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul > li):not(:where([class~="not-prose"] *))::marker{color:var(--tw-prose-bullets)}.prose :where(hr):not(:where([class~="not-prose"] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~="not-prose"] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-left-width:.25rem;border-left-color:var(--tw-prose-quote-borders);quotes:"\201c""\201d""\2018""\2019";margin-top:1.6em;margin-bottom:1.6em;padding-left:1em}.prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"] *)):after{content:close-quote}.prose :where(h1):not(:where([class~="not-prose"] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~="not-prose"] *)){font-weight:900}.prose :where(h2):not(:where([class~="not-prose"] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~="not-prose"] *)){font-weight:800}.prose :where(h3):not(:where([class~="not-prose"] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~="not-prose"] *)){font-weight:700}.prose :where(h4):not(:where([class~="not-prose"] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~="not-prose"] *)){font-weight:700}.prose :where(figure > *):not(:where([class~="not-prose"] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~="not-prose"] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose :where(code):not(:where([class~="not-prose"] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~="not-prose"] *)):before{content:""}.prose :where(code):not(:where([class~="not-prose"] *)):after{content:""}.prose :where(a code):not(:where([class~="not-prose"] *)){color:var(--tw-prose-links)}.prose :where(pre):not(:where([class~="not-prose"] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding:.8571429em 1.1428571em}.prose :where(pre code):not(:where([class~="not-prose"] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~="not-prose"] *)):before{content:none}.prose :where(pre code):not(:where([class~="not-prose"] *)):after{content:none}.prose :where(table):not(:where([class~="not-prose"] *)){width:100%;table-layout:auto;text-align:left;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~="not-prose"] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~="not-prose"] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-right:.5714286em;padding-bottom:.5714286em;padding-left:.5714286em}.prose :where(tbody tr):not(:where([class~="not-prose"] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~="not-prose"] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~="not-prose"] *)){vertical-align:baseline;padding:.5714286em}.prose{--tw-prose-body: #374151;--tw-prose-headings: #111827;--tw-prose-lead: #4b5563;--tw-prose-links: #111827;--tw-prose-bold: #111827;--tw-prose-counters: #6b7280;--tw-prose-bullets: #d1d5db;--tw-prose-hr: #e5e7eb;--tw-prose-quotes: #111827;--tw-prose-quote-borders: #e5e7eb;--tw-prose-captions: #6b7280;--tw-prose-code: #111827;--tw-prose-pre-code: #e5e7eb;--tw-prose-pre-bg: #1f2937;--tw-prose-th-borders: #d1d5db;--tw-prose-td-borders: #e5e7eb;--tw-prose-invert-body: #d1d5db;--tw-prose-invert-headings: #fff;--tw-prose-invert-lead: #9ca3af;--tw-prose-invert-links: #fff;--tw-prose-invert-bold: #fff;--tw-prose-invert-counters: #9ca3af;--tw-prose-invert-bullets: #4b5563;--tw-prose-invert-hr: #374151;--tw-prose-invert-quotes: #f3f4f6;--tw-prose-invert-quote-borders: #374151;--tw-prose-invert-captions: #9ca3af;--tw-prose-invert-code: #fff;--tw-prose-invert-pre-code: #d1d5db;--tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);--tw-prose-invert-th-borders: #4b5563;--tw-prose-invert-td-borders: #374151;font-size:1rem;line-height:1.75}.prose :where(p):not(:where([class~="not-prose"] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(img):not(:where([class~="not-prose"] *)){margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~="not-prose"] *)){margin-top:2em;margin-bottom:2em}.prose :where(figure):not(:where([class~="not-prose"] *)){margin-top:2em;margin-bottom:2em}.prose :where(h2 code):not(:where([class~="not-prose"] *)){font-size:.875em}.prose :where(h3 code):not(:where([class~="not-prose"] *)){font-size:.9em}.prose :where(li):not(:where([class~="not-prose"] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol > li):not(:where([class~="not-prose"] *)){padding-left:.375em}.prose :where(ul > li):not(:where([class~="not-prose"] *)){padding-left:.375em}.prose>:where(ul > li p):not(:where([class~="not-prose"] *)){margin-top:.75em;margin-bottom:.75em}.prose>:where(ul > li > *:first-child):not(:where([class~="not-prose"] *)){margin-top:1.25em}.prose>:where(ul > li > *:last-child):not(:where([class~="not-prose"] *)){margin-bottom:1.25em}.prose>:where(ol > li > *:first-child):not(:where([class~="not-prose"] *)){margin-top:1.25em}.prose>:where(ol > li > *:last-child):not(:where([class~="not-prose"] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~="not-prose"] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(hr + *):not(:where([class~="not-prose"] *)){margin-top:0}.prose :where(h2 + *):not(:where([class~="not-prose"] *)){margin-top:0}.prose :where(h3 + *):not(:where([class~="not-prose"] *)){margin-top:0}.prose :where(h4 + *):not(:where([class~="not-prose"] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~="not-prose"] *)){padding-left:0}.prose :where(thead th:last-child):not(:where([class~="not-prose"] *)){padding-right:0}.prose :where(tbody td:first-child):not(:where([class~="not-prose"] *)){padding-left:0}.prose :where(tbody td:last-child):not(:where([class~="not-prose"] *)){padding-right:0}.prose>:where(:first-child):not(:where([class~="not-prose"] *)){margin-top:0}.prose>:where(:last-child):not(:where([class~="not-prose"] *)){margin-bottom:0}.prose-gray{--tw-prose-body: #374151;--tw-prose-headings: #111827;--tw-prose-lead: #4b5563;--tw-prose-links: #111827;--tw-prose-bold: #111827;--tw-prose-counters: #6b7280;--tw-prose-bullets: #d1d5db;--tw-prose-hr: #e5e7eb;--tw-prose-quotes: #111827;--tw-prose-quote-borders: #e5e7eb;--tw-prose-captions: #6b7280;--tw-prose-code: #111827;--tw-prose-pre-code: #e5e7eb;--tw-prose-pre-bg: #1f2937;--tw-prose-th-borders: #d1d5db;--tw-prose-td-borders: #e5e7eb;--tw-prose-invert-body: #d1d5db;--tw-prose-invert-headings: #fff;--tw-prose-invert-lead: #9ca3af;--tw-prose-invert-links: #fff;--tw-prose-invert-bold: #fff;--tw-prose-invert-counters: #9ca3af;--tw-prose-invert-bullets: #4b5563;--tw-prose-invert-hr: #374151;--tw-prose-invert-quotes: #f3f4f6;--tw-prose-invert-quote-borders: #374151;--tw-prose-invert-captions: #9ca3af;--tw-prose-invert-code: #fff;--tw-prose-invert-pre-code: #d1d5db;--tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);--tw-prose-invert-th-borders: #4b5563;--tw-prose-invert-td-borders: #374151}.invisible{visibility:hidden}.relative{position:relative}.col-span-2{grid-column:span 2 / span 2}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.mt-1{margin-top:.25rem}.mb-0{margin-bottom:0}.mt-0{margin-top:0}.inline-block{display:inline-block}.grid{display:grid}.aspect-\[4\/3\]{aspect-ratio:4 / 3}.h-full{height:100%}.w-full{width:100%}.max-w-\[15rem\]{max-width:15rem}.max-w-prose{max-width:65ch}.max-w-4xl{max-width:56rem}@-webkit-keyframes spin{to{transform:rotate(360deg)}}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.rounded{border-radius:.25rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity))}.bg-emerald-600{--tw-bg-opacity: 1;background-color:rgb(5 150 105 / var(--tw-bg-opacity))}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity))}.object-cover{-o-object-fit:cover;object-fit:cover}.object-top{-o-object-position:top;object-position:top}.p-0{padding:0}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.px-0{padding-left:0;padding-right:0}.py-0{padding-top:0;padding-bottom:0}.py-4{padding-top:1rem;padding-bottom:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.font-serif{font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.leading-tight{line-height:1.25}.leading-normal{line-height:1.5}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.underline{-webkit-text-decoration-line:underline;text-decoration-line:underline}.no-underline{-webkit-text-decoration-line:none;text-decoration-line:none}.hover\:bg-zinc-300:hover{--tw-bg-opacity: 1;background-color:rgb(212 212 216 / var(--tw-bg-opacity))}.hover\:no-underline:hover{-webkit-text-decoration-line:none;text-decoration-line:none}.hover\:opacity-60:hover{opacity:.6}.hover\:opacity-50:hover{opacity:.5}.focus\:border-gray-500:focus{--tw-border-opacity: 1;border-color:rgb(107 114 128 / var(--tw-border-opacity))}.focus\:bg-white:focus{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}@media (min-width: 640px){.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:pl-4{padding-left:1rem}}@media (min-width: 768px){.md\:max-w-md{max-width:28rem}}
|
|
|
|
static/_app/chunks/vendor-528a52ee.js
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
function k(){}function tt(t,e){for(const n in e)t[n]=e[n];return t}function et(t){return t&&typeof t=="object"&&typeof t.then=="function"}function R(t){return t()}function J(){return Object.create(null)}function v(t){t.forEach(R)}function nt(t){return typeof t=="function"}function ct(t,e){return t!=t?e==e:t!==e||t&&typeof t=="object"||typeof t=="function"}let j;function $t(t,e){return j||(j=document.createElement("a")),j.href=e,t===j.href}function it(t){return Object.keys(t).length===0}function vt(t,e,n,c){if(t){const i=U(t,e,n,c);return t[0](i)}}function U(t,e,n,c){return t[1]&&c?tt(n.ctx.slice(),t[1](c(e))):n.ctx}function Et(t,e,n,c){if(t[2]&&c){const i=t[2](c(n));if(e.dirty===void 0)return i;if(typeof i=="object"){const u=[],l=Math.max(e.dirty.length,i.length);for(let o=0;o<l;o+=1)u[o]=e.dirty[o]|i[o];return u}return e.dirty|i}return e.dirty}function St(t,e,n,c,i,u){if(i){const l=U(e,n,c,u);t.p(l,i)}}function jt(t){if(t.ctx.length>32){const e=[],n=t.ctx.length/32;for(let c=0;c<n;c++)e[c]=-1;return e}return-1}let C=!1;function rt(){C=!0}function lt(){C=!1}function st(t,e,n,c){for(;t<e;){const i=t+(e-t>>1);n(i)<=c?t=i+1:e=i}return t}function ot(t){if(t.hydrate_init)return;t.hydrate_init=!0;let e=t.childNodes;if(t.nodeName==="HEAD"){const r=[];for(let s=0;s<e.length;s++){const d=e[s];d.claim_order!==void 0&&r.push(d)}e=r}const n=new Int32Array(e.length+1),c=new Int32Array(e.length);n[0]=-1;let i=0;for(let r=0;r<e.length;r++){const s=e[r].claim_order,d=(i>0&&e[n[i]].claim_order<=s?i+1:st(1,i,a=>e[n[a]].claim_order,s))-1;c[r]=n[d]+1;const _=d+1;n[_]=r,i=Math.max(_,i)}const u=[],l=[];let o=e.length-1;for(let r=n[i]+1;r!=0;r=c[r-1]){for(u.push(e[r-1]);o>=r;o--)l.push(e[o]);o--}for(;o>=0;o--)l.push(e[o]);u.reverse(),l.sort((r,s)=>r.claim_order-s.claim_order);for(let r=0,s=0;r<l.length;r++){for(;s<u.length&&l[r].claim_order>=u[s].claim_order;)s++;const d=s<u.length?u[s]:null;t.insertBefore(l[r],d)}}function ut(t,e){if(C){for(ot(t),(t.actual_end_child===void 0||t.actual_end_child!==null&&t.actual_end_child.parentElement!==t)&&(t.actual_end_child=t.firstChild);t.actual_end_child!==null&&t.actual_end_child.claim_order===void 0;)t.actual_end_child=t.actual_end_child.nextSibling;e!==t.actual_end_child?(e.claim_order!==void 0||e.parentNode!==t)&&t.insertBefore(e,t.actual_end_child):t.actual_end_child=e.nextSibling}else(e.parentNode!==t||e.nextSibling!==null)&&t.appendChild(e)}function Nt(t,e,n){C&&!n?ut(t,e):(e.parentNode!==t||e.nextSibling!=n)&&t.insertBefore(e,n||null)}function at(t){t.parentNode.removeChild(t)}function At(t,e){for(let n=0;n<t.length;n+=1)t[n]&&t[n].d(e)}function ft(t){return document.createElement(t)}function dt(t){return document.createElementNS("http://www.w3.org/2000/svg",t)}function D(t){return document.createTextNode(t)}function Mt(){return D(" ")}function Ct(){return D("")}function qt(t,e,n,c){return t.addEventListener(e,n,c),()=>t.removeEventListener(e,n,c)}function Tt(t,e,n){n==null?t.removeAttribute(e):t.getAttribute(e)!==n&&t.setAttribute(e,n)}function _t(t){return Array.from(t.childNodes)}function ht(t){t.claim_info===void 0&&(t.claim_info={last_index:0,total_claimed:0})}function V(t,e,n,c,i=!1){ht(t);const u=(()=>{for(let l=t.claim_info.last_index;l<t.length;l++){const o=t[l];if(e(o)){const r=n(o);return r===void 0?t.splice(l,1):t[l]=r,i||(t.claim_info.last_index=l),o}}for(let l=t.claim_info.last_index-1;l>=0;l--){const o=t[l];if(e(o)){const r=n(o);return r===void 0?t.splice(l,1):t[l]=r,i?r===void 0&&t.claim_info.last_index--:t.claim_info.last_index=l,o}}return c()})();return u.claim_order=t.claim_info.total_claimed,t.claim_info.total_claimed+=1,u}function X(t,e,n,c){return V(t,i=>i.nodeName===e,i=>{const u=[];for(let l=0;l<i.attributes.length;l++){const o=i.attributes[l];n[o.name]||u.push(o.name)}u.forEach(l=>i.removeAttribute(l))},()=>c(e))}function zt(t,e,n){return X(t,e,n,ft)}function Bt(t,e,n){return X(t,e,n,dt)}function mt(t,e){return V(t,n=>n.nodeType===3,n=>{const c=""+e;if(n.data.startsWith(c)){if(n.data.length!==c.length)return n.splitText(c.length)}else n.data=c},()=>D(e),!0)}function Lt(t){return mt(t," ")}function Ot(t,e){e=""+e,t.wholeText!==e&&(t.data=e)}function Pt(t,e,n,c){n===null?t.style.removeProperty(e):t.style.setProperty(e,n,c?"important":"")}function It(t,e){for(let n=0;n<t.options.length;n+=1){const c=t.options[n];if(c.__value===e){c.selected=!0;return}}t.selectedIndex=-1}function Dt(t){const e=t.querySelector(":checked")||t.options[0];return e&&e.__value}let $;function g(t){$=t}function q(){if(!$)throw new Error("Function called outside component initialization");return $}function Ft(t){q().$$.on_mount.push(t)}function Ht(t){q().$$.after_update.push(t)}function Wt(t,e){q().$$.context.set(t,e)}const w=[],K=[],A=[],Q=[],Y=Promise.resolve();let P=!1;function Z(){P||(P=!0,Y.then(F))}function Gt(){return Z(),Y}function I(t){A.push(t)}const O=new Set;let N=0;function F(){const t=$;do{for(;N<w.length;){const e=w[N];N++,g(e),pt(e.$$)}for(g(null),w.length=0,N=0;K.length;)K.pop()();for(let e=0;e<A.length;e+=1){const n=A[e];O.has(n)||(O.add(n),n())}A.length=0}while(w.length);for(;Q.length;)Q.pop()();P=!1,O.clear(),g(t)}function pt(t){if(t.fragment!==null){t.update(),v(t.before_update);const e=t.dirty;t.dirty=[-1],t.fragment&&t.fragment.p(t.ctx,e),t.after_update.forEach(I)}}const M=new Set;let b;function yt(){b={r:0,c:[],p:b}}function gt(){b.r||v(b.c),b=b.p}function H(t,e){t&&t.i&&(M.delete(t),t.i(e))}function bt(t,e,n,c){if(t&&t.o){if(M.has(t))return;M.add(t),b.c.push(()=>{M.delete(t),c&&(n&&t.d(1),c())}),t.o(e)}}function Jt(t,e){const n=e.token={};function c(i,u,l,o){if(e.token!==n)return;e.resolved=o;let r=e.ctx;l!==void 0&&(r=r.slice(),r[l]=o);const s=i&&(e.current=i)(r);let d=!1;e.block&&(e.blocks?e.blocks.forEach((_,a)=>{a!==u&&_&&(yt(),bt(_,1,1,()=>{e.blocks[a]===_&&(e.blocks[a]=null)}),gt())}):e.block.d(1),s.c(),H(s,1),s.m(e.mount(),e.anchor),d=!0),e.block=s,e.blocks&&(e.blocks[u]=s),d&&F()}if(et(t)){const i=q();if(t.then(u=>{g(i),c(e.then,1,e.value,u),g(null)},u=>{if(g(i),c(e.catch,2,e.error,u),g(null),!e.hasCatch)throw u}),e.current!==e.pending)return c(e.pending,0),!0}else{if(e.current!==e.then)return c(e.then,1,e.value,t),!0;e.resolved=t}}function Kt(t,e,n){const c=e.slice(),{resolved:i}=t;t.current===t.then&&(c[t.value]=i),t.current===t.catch&&(c[t.error]=i),t.block.p(c,n)}function Qt(t,e){t.d(1),e.delete(t.key)}function Rt(t,e,n,c,i,u,l,o,r,s,d,_){let a=t.length,m=u.length,h=a;const T={};for(;h--;)T[t[h].key]=h;const E=[],z=new Map,B=new Map;for(h=m;h--;){const f=_(i,u,h),p=n(f);let y=l.get(p);y?c&&y.p(f,e):(y=s(p,f),y.c()),z.set(p,E[h]=y),p in T&&B.set(p,Math.abs(h-T[p]))}const W=new Set,G=new Set;function L(f){H(f,1),f.m(o,d),l.set(f.key,f),d=f.first,m--}for(;a&&m;){const f=E[m-1],p=t[a-1],y=f.key,S=p.key;f===p?(d=f.first,a--,m--):z.has(S)?!l.has(y)||W.has(y)?L(f):G.has(S)?a--:B.get(y)>B.get(S)?(G.add(y),L(f)):(W.add(S),a--):(r(p,l),a--)}for(;a--;){const f=t[a];z.has(f.key)||r(f,l)}for(;m;)L(E[m-1]);return E}function Ut(t,e){const n={},c={},i={$$scope:1};let u=t.length;for(;u--;){const l=t[u],o=e[u];if(o){for(const r in l)r in o||(c[r]=1);for(const r in o)i[r]||(n[r]=o[r],i[r]=1);t[u]=o}else for(const r in l)i[r]=1}for(const l in c)l in n||(n[l]=void 0);return n}function Vt(t){return typeof t=="object"&&t!==null?t:{}}function Xt(t){t&&t.c()}function Yt(t,e){t&&t.l(e)}function xt(t,e,n,c){const{fragment:i,on_mount:u,on_destroy:l,after_update:o}=t.$$;i&&i.m(e,n),c||I(()=>{const r=u.map(R).filter(nt);l?l.push(...r):v(r),t.$$.on_mount=[]}),o.forEach(I)}function wt(t,e){const n=t.$$;n.fragment!==null&&(v(n.on_destroy),n.fragment&&n.fragment.d(e),n.on_destroy=n.fragment=null,n.ctx=[])}function kt(t,e){t.$$.dirty[0]===-1&&(w.push(t),Z(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<<e%31}function Zt(t,e,n,c,i,u,l,o=[-1]){const r=$;g(t);const s=t.$$={fragment:null,ctx:null,props:u,update:k,not_equal:i,bound:J(),on_mount:[],on_destroy:[],on_disconnect:[],before_update:[],after_update:[],context:new Map(e.context||(r?r.$$.context:[])),callbacks:J(),dirty:o,skip_bound:!1,root:e.target||r.$$.root};l&&l(s.root);let d=!1;if(s.ctx=n?n(t,e.props||{},(_,a,...m)=>{const h=m.length?m[0]:a;return s.ctx&&i(s.ctx[_],s.ctx[_]=h)&&(!s.skip_bound&&s.bound[_]&&s.bound[_](h),d&&kt(t,_)),a}):[],s.update(),d=!0,v(s.before_update),s.fragment=c?c(s.ctx):!1,e.target){if(e.hydrate){rt();const _=_t(e.target);s.fragment&&s.fragment.l(_),_.forEach(at)}else s.fragment&&s.fragment.c();e.intro&&H(t.$$.fragment),xt(t,e.target,e.anchor,e.customElement),lt(),F()}g(r)}class te{$destroy(){wt(this,1),this.$destroy=k}$on(e,n){const c=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return c.push(n),()=>{const i=c.indexOf(n);i!==-1&&c.splice(i,1)}}$set(e){this.$$set&&!it(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}const x=[];function ee(t,e=k){let n;const c=new Set;function i(o){if(ct(t,o)&&(t=o,n)){const r=!x.length;for(const s of c)s[1](),x.push(s,t);if(r){for(let s=0;s<x.length;s+=2)x[s][0](x[s+1]);x.length=0}}}function u(o){i(o(t))}function l(o,r=k){const s=[o,r];return c.add(s),c.size===1&&(n=e(i)||k),o(t),()=>{c.delete(s),c.size===0&&(n(),n=null)}}return{set:i,update:u,subscribe:l}}export{Vt as A,wt as B,tt as C,ee as D,Gt as E,vt as F,St as G,jt as H,Et as I,ut as J,k as K,$t as L,Jt as M,I as N,It as O,qt as P,Rt as Q,Kt as R,te as S,v as T,Qt as U,Dt as V,At as W,dt as X,Bt as Y,_t as a,Tt as b,zt as c,at as d,ft as e,Pt as f,Nt as g,mt as h,Zt as i,Ot as j,Mt as k,Ct as l,Lt as m,yt as n,bt as o,gt as p,H as q,Wt as r,ct as s,D as t,Ht as u,Ft as v,Xt as w,Yt as x,xt as y,Ut as z};
|
|
|
|
static/_app/error.svelte-41f1b9b8.js
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
import{S as h,i as w,s as y,e as E,t as v,c as d,a as b,h as P,d as o,g as u,J as R,j as N,k as S,l as C,m as j,K as H}from"./chunks/vendor-528a52ee.js";function J(r){let l,t=r[1].frame+"",a;return{c(){l=E("pre"),a=v(t)},l(f){l=d(f,"PRE",{});var s=b(l);a=P(s,t),s.forEach(o)},m(f,s){u(f,l,s),R(l,a)},p(f,s){s&2&&t!==(t=f[1].frame+"")&&N(a,t)},d(f){f&&o(l)}}}function K(r){let l,t=r[1].stack+"",a;return{c(){l=E("pre"),a=v(t)},l(f){l=d(f,"PRE",{});var s=b(l);a=P(s,t),s.forEach(o)},m(f,s){u(f,l,s),R(l,a)},p(f,s){s&2&&t!==(t=f[1].stack+"")&&N(a,t)},d(f){f&&o(l)}}}function z(r){let l,t,a,f,s=r[1].message+"",c,k,n,p,i=r[1].frame&&J(r),_=r[1].stack&&K(r);return{c(){l=E("h1"),t=v(r[0]),a=S(),f=E("pre"),c=v(s),k=S(),i&&i.c(),n=S(),_&&_.c(),p=C()},l(e){l=d(e,"H1",{});var m=b(l);t=P(m,r[0]),m.forEach(o),a=j(e),f=d(e,"PRE",{});var q=b(f);c=P(q,s),q.forEach(o),k=j(e),i&&i.l(e),n=j(e),_&&_.l(e),p=C()},m(e,m){u(e,l,m),R(l,t),u(e,a,m),u(e,f,m),R(f,c),u(e,k,m),i&&i.m(e,m),u(e,n,m),_&&_.m(e,m),u(e,p,m)},p(e,[m]){m&1&&N(t,e[0]),m&2&&s!==(s=e[1].message+"")&&N(c,s),e[1].frame?i?i.p(e,m):(i=J(e),i.c(),i.m(n.parentNode,n)):i&&(i.d(1),i=null),e[1].stack?_?_.p(e,m):(_=K(e),_.c(),_.m(p.parentNode,p)):_&&(_.d(1),_=null)},i:H,o:H,d(e){e&&o(l),e&&o(a),e&&o(f),e&&o(k),i&&i.d(e),e&&o(n),_&&_.d(e),e&&o(p)}}}function D({error:r,status:l}){return{props:{error:r,status:l}}}function A(r,l,t){let{status:a}=l,{error:f}=l;return r.$$set=s=>{"status"in s&&t(0,a=s.status),"error"in s&&t(1,f=s.error)},[a,f]}class F extends h{constructor(l){super();w(this,l,A,z,y,{status:0,error:1})}}export{F as default,D as load};
|
|
|
|
static/_app/manifest.json
DELETED
@@ -1,48 +0,0 @@
|
|
1 |
-
{
|
2 |
-
".svelte-kit/runtime/client/start.js": {
|
3 |
-
"file": "start-ad0dbeae.js",
|
4 |
-
"src": ".svelte-kit/runtime/client/start.js",
|
5 |
-
"isEntry": true,
|
6 |
-
"imports": [
|
7 |
-
"_vendor-528a52ee.js"
|
8 |
-
],
|
9 |
-
"dynamicImports": [
|
10 |
-
"src/routes/__layout.svelte",
|
11 |
-
".svelte-kit/runtime/components/error.svelte",
|
12 |
-
"src/routes/index.svelte"
|
13 |
-
]
|
14 |
-
},
|
15 |
-
"src/routes/__layout.svelte": {
|
16 |
-
"file": "pages/__layout.svelte-483b60b6.js",
|
17 |
-
"src": "src/routes/__layout.svelte",
|
18 |
-
"isEntry": true,
|
19 |
-
"isDynamicEntry": true,
|
20 |
-
"imports": [
|
21 |
-
"_vendor-528a52ee.js"
|
22 |
-
],
|
23 |
-
"css": [
|
24 |
-
"assets/pages/__layout.svelte-298a4fd5.css"
|
25 |
-
]
|
26 |
-
},
|
27 |
-
".svelte-kit/runtime/components/error.svelte": {
|
28 |
-
"file": "error.svelte-41f1b9b8.js",
|
29 |
-
"src": ".svelte-kit/runtime/components/error.svelte",
|
30 |
-
"isEntry": true,
|
31 |
-
"isDynamicEntry": true,
|
32 |
-
"imports": [
|
33 |
-
"_vendor-528a52ee.js"
|
34 |
-
]
|
35 |
-
},
|
36 |
-
"src/routes/index.svelte": {
|
37 |
-
"file": "pages/index.svelte-a06f0dfd.js",
|
38 |
-
"src": "src/routes/index.svelte",
|
39 |
-
"isEntry": true,
|
40 |
-
"isDynamicEntry": true,
|
41 |
-
"imports": [
|
42 |
-
"_vendor-528a52ee.js"
|
43 |
-
]
|
44 |
-
},
|
45 |
-
"_vendor-528a52ee.js": {
|
46 |
-
"file": "chunks/vendor-528a52ee.js"
|
47 |
-
}
|
48 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static/_app/pages/__layout.svelte-483b60b6.js
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
import{S as o,i,s as r,F as u,G as f,H as _,I as c,q as p,o as d}from"../chunks/vendor-528a52ee.js";function m(l){let s;const n=l[1].default,e=u(n,l,l[0],null);return{c(){e&&e.c()},l(t){e&&e.l(t)},m(t,a){e&&e.m(t,a),s=!0},p(t,[a]){e&&e.p&&(!s||a&1)&&f(e,n,t,t[0],s?c(n,t[0],a,null):_(t[0]),null)},i(t){s||(p(e,t),s=!0)},o(t){d(e,t),s=!1},d(t){e&&e.d(t)}}}function $(l,s,n){let{$$slots:e={},$$scope:t}=s;return l.$$set=a=>{"$$scope"in a&&n(0,t=a.$$scope)},[t,e]}class h extends o{constructor(s){super();i(this,s,$,m,r,{})}}export{h as default};
|
|
|
|
static/_app/pages/index.svelte-a06f0dfd.js
DELETED
@@ -1,43 +0,0 @@
|
|
1 |
-
import{S as Zt,i as ea,s as ta,e as d,k as E,t as p,c as f,a as u,d as i,m as S,h as m,b as l,g as Q,J as e,j as ge,K as ce,L as Kt,M as Rt,N as aa,O as Ut,P as qt,Q as la,R as sa,q as Pe,o as Ce,T as ra,U as na,V as oa,w as ia,x as ca,y as ha,B as ua,n as da,p as fa,W as pa,X as Wt,Y as Gt}from"../chunks/vendor-528a52ee.js";function ma(n){let t,a,c;return{c(){t=d("a"),a=d("div"),this.h()},l(s){t=f(s,"A",{target:!0,href:!0});var h=u(t);a=f(h,"DIV",{class:!0}),u(a).forEach(i),h.forEach(i),this.h()},h(){l(a,"class","hover:opacity-60 bg-gray-200 h-full w-full max-w-[15rem] md:max-w-md object-cover object-top aspect-[4/3]"),l(t,"target","_blank"),l(t,"href",c=n[0].link)},m(s,h){Q(s,t,h),e(t,a)},p(s,h){h&1&&c!==(c=s[0].link)&&l(t,"href",c)},d(s){s&&i(t)}}}function _a(n){let t,a,c,s,h;return{c(){t=d("a"),a=d("img"),this.h()},l(r){t=f(r,"A",{target:!0,href:!0});var o=u(t);a=f(o,"IMG",{class:!0,src:!0,alt:!0,loading:!0}),o.forEach(i),this.h()},h(){l(a,"class","hover:opacity-60 m-0 w-full max-w-[15rem] md:max-w-md object-cover object-top aspect-[4/3]"),Kt(a.src,c=n[0].media_content[0].url)||l(a,"src",c),l(a,"alt",s=n[0].title),l(a,"loading","lazy"),l(t,"target","_blank"),l(t,"href",h=n[0].link)},m(r,o){Q(r,t,o),e(t,a)},p(r,o){o&1&&!Kt(a.src,c=r[0].media_content[0].url)&&l(a,"src",c),o&1&&s!==(s=r[0].title)&&l(a,"alt",s),o&1&&h!==(h=r[0].link)&&l(t,"href",h)},d(r){r&&i(t)}}}function ga(n){let t,a,c,s,h,r,o,_=n[0].sentiment.toFixed(4)+"",A,C,j,w,b,q=n[0].title+"",L,he,Y,W,K=n[0].author+"",X,B,ue,x,D=n[0].summary+"",Z;function pe(k,v){return k[0].media_content?_a:ma}let H=pe(n),T=H(n);return{c(){t=d("div"),a=d("div"),T.c(),c=E(),s=d("div"),h=d("div"),r=p(`Score:
|
2 |
-
`),o=d("span"),A=p(_),j=E(),w=d("a"),b=d("h2"),L=p(q),he=E(),Y=d("h5"),W=p("By "),X=p(K),ue=E(),x=d("p"),this.h()},l(k){t=f(k,"DIV",{class:!0});var v=u(t);a=f(v,"DIV",{});var G=u(a);T.l(G),G.forEach(i),c=S(v),s=f(v,"DIV",{class:!0});var ee=u(s);h=f(ee,"DIV",{class:!0});var de=u(h);r=m(de,`Score:
|
3 |
-
`),o=f(de,"SPAN",{class:!0});var te=u(o);A=m(te,_),te.forEach(i),de.forEach(i),j=S(ee),w=f(ee,"A",{target:!0,class:!0,href:!0});var R=u(w);b=f(R,"H2",{class:!0});var me=u(b);L=m(me,q),me.forEach(i),he=S(R),Y=f(R,"H5",{class:!0});var N=u(Y);W=m(N,"By "),X=m(N,K),N.forEach(i),ue=S(R),x=f(R,"P",{class:!0});var ve=u(x);ve.forEach(i),R.forEach(i),ee.forEach(i),v.forEach(i),this.h()},h(){l(o,"class",C="font-bold "+(n[0].sentiment>0?"text-emerald-600":"text-red-600")),l(h,"class","text-sm"),l(b,"class","m-0 font-serif leading-tight hover:opacity-50"),l(Y,"class",B="mt-1 leading-tight "+(n[0].author?"visibile":"invisible")),l(x,"class","prose max-w-prose leading-normal prose-gray"),l(w,"target","_blank"),l(w,"class","no-underline"),l(w,"href",Z=n[0].link),l(s,"class","col-span-2 sm:pl-4"),l(t,"class","group grid grid-cols-1 sm:grid-cols-3")},m(k,v){Q(k,t,v),e(t,a),T.m(a,null),e(t,c),e(t,s),e(s,h),e(h,r),e(h,o),e(o,A),e(s,j),e(s,w),e(w,b),e(b,L),e(w,he),e(w,Y),e(Y,W),e(Y,X),e(w,ue),e(w,x),x.innerHTML=D},p(k,[v]){H===(H=pe(k))&&T?T.p(k,v):(T.d(1),T=H(k),T&&(T.c(),T.m(a,null))),v&1&&_!==(_=k[0].sentiment.toFixed(4)+"")&&ge(A,_),v&1&&C!==(C="font-bold "+(k[0].sentiment>0?"text-emerald-600":"text-red-600"))&&l(o,"class",C),v&1&&q!==(q=k[0].title+"")&&ge(L,q),v&1&&K!==(K=k[0].author+"")&&ge(X,K),v&1&&B!==(B="mt-1 leading-tight "+(k[0].author?"visibile":"invisible"))&&l(Y,"class",B),v&1&&D!==(D=k[0].summary+"")&&(x.innerHTML=D),v&1&&Z!==(Z=k[0].link)&&l(w,"href",Z)},i:ce,o:ce,d(k){k&&i(t),T.d()}}}function va(n,t,a){let{feedEntry:c}=t;return n.$$set=s=>{"feedEntry"in s&&a(0,c=s.feedEntry)},[c]}class ba extends Zt{constructor(t){super();ea(this,t,va,ga,ta,{feedEntry:0})}}function Jt(n,t,a){const c=n.slice();return c[9]=t[a],c[11]=a,c}function $t(n,t,a){const c=n.slice();return c[13]=t[a],c}function Qt(n,t){let a,c=t[13].label+"",s,h;return{key:n,first:null,c(){a=d("option"),s=p(c),this.h()},l(r){a=f(r,"OPTION",{});var o=u(a);s=m(o,c),o.forEach(i),this.h()},h(){a.__value=h=t[13].value,a.value=a.__value,this.first=a},m(r,o){Q(r,a,o),e(a,s)},p(r,o){t=r},d(r){r&&i(a)}}}function wa(n){let t,a;return{c(){t=d("p"),a=p("An error occurred!")},l(c){t=f(c,"P",{});var s=u(t);a=m(s,"An error occurred!"),s.forEach(i)},m(c,s){Q(c,t,s),e(t,a)},p:ce,i:ce,o:ce,d(c){c&&i(t)}}}function ka(n){let t,a,c=n[1],s=[];for(let r=0;r<c.length;r+=1)s[r]=Xt(Jt(n,c,r));const h=r=>Ce(s[r],1,1,()=>{s[r]=null});return{c(){t=d("ul");for(let r=0;r<s.length;r+=1)s[r].c();this.h()},l(r){t=f(r,"UL",{class:!0});var o=u(t);for(let _=0;_<s.length;_+=1)s[_].l(o);o.forEach(i),this.h()},h(){l(t,"class","m-0 p-0")},m(r,o){Q(r,t,o);for(let _=0;_<s.length;_+=1)s[_].m(t,null);a=!0},p(r,o){if(o&2){c=r[1];let _;for(_=0;_<c.length;_+=1){const A=Jt(r,c,_);s[_]?(s[_].p(A,o),Pe(s[_],1)):(s[_]=Xt(A),s[_].c(),Pe(s[_],1),s[_].m(t,null))}for(da(),_=c.length;_<s.length;_+=1)h(_);fa()}},i(r){if(!a){for(let o=0;o<c.length;o+=1)Pe(s[o]);a=!0}},o(r){s=s.filter(Boolean);for(let o=0;o<s.length;o+=1)Ce(s[o]);a=!1},d(r){r&&i(t),pa(s,r)}}}function Xt(n){let t,a,c,s,h,r;return a=new ba({props:{feedEntry:n[9]}}),{c(){t=d("li"),ia(a.$$.fragment),c=E(),s=d("div"),h=E(),this.h()},l(o){t=f(o,"LI",{class:!0});var _=u(t);ca(a.$$.fragment,_),c=S(_),s=f(_,"DIV",{class:!0}),u(s).forEach(i),h=S(_),_.forEach(i),this.h()},h(){l(s,"class","border-b border-gray-200 py-2"),l(t,"class","py-5")},m(o,_){Q(o,t,_),ha(a,t,null),e(t,c),e(t,s),e(t,h),r=!0},p(o,_){const A={};_&2&&(A.feedEntry=o[9]),a.$set(A)},i(o){r||(Pe(a.$$.fragment,o),r=!0)},o(o){Ce(a.$$.fragment,o),r=!1},d(o){o&&i(t),ua(a)}}}function ya(n){let t,a,c,s;return{c(){t=d("div"),a=Wt("svg"),c=Wt("path"),s=p(`
|
4 |
-
Loading feed and running sentiment analysis on headlines...`),this.h()},l(h){t=f(h,"DIV",{class:!0});var r=u(t);a=Gt(r,"svg",{class:!0,width:!0,height:!0,viewBox:!0});var o=u(a);c=Gt(o,"path",{d:!0,fill:!0}),u(c).forEach(i),o.forEach(i),s=m(r,`
|
5 |
-
Loading feed and running sentiment analysis on headlines...`),r.forEach(i),this.h()},h(){l(c,"d","M0,50 a1,1 0 0,0 100,0"),l(c,"fill","lightgrey"),l(a,"class","animate-spin inline-block"),l(a,"width","25"),l(a,"height","25"),l(a,"viewBox","0 0 100 100"),l(t,"class","py-4")},m(h,r){Q(h,t,r),e(t,a),e(a,c),e(t,s)},p:ce,i:ce,o:ce,d(h){h&&i(t)}}}function Ea(n){let t,a,c,s,h,r,o,_,A=(n[2]?n[2].toLocaleString():"")+"",C,j,w,b,q,L,he,Y,W=n[3]?"good and bad news":"bad and good news",K,X,B,ue,x,D,Z,pe,H,T,k,v,G,ee,de,te,R,me,N,ve,ae,xe,Oe,be,Ve,Fe,we,ze,Ke,Re,ke,Ue,qe,M,We,le,ye,Ge,Je,Ee,$e,Qe,Se,Xe,Ze,se,Ae,et,tt,Ne,at,lt,U,st,re,Te,rt,nt,fe,ot,it,ct,ne,ht,O,V=[],gt=new Map,ut,dt,Ie,ft,oe,je=n[3]?"Sorted by positive scores":"Sorted by negative scores",Le,Be,pt,De,J,mt,vt,He=n[4];const bt=y=>y[13].value;for(let y=0;y<He.length;y+=1){let g=$t(n,He,y),F=bt(g);gt.set(F,V[y]=Qt(F,g))}let I={ctx:n,current:null,token:null,hasCatch:!0,pending:ya,then:ka,catch:wa,value:8,error:12,blocks:[,,,]};return Rt(De=n[5](n[0]),I),{c(){t=d("article"),a=d("h1"),c=p("The New York Times Sentiment Analysis"),s=E(),h=d("h5"),r=d("b"),o=p("Last Updated:"),_=E(),C=p(A),w=E(),b=d("p"),q=p(`This project is an experiment running sentiment analysis on the current
|
6 |
-
`),L=d("a"),he=p("New York Times"),Y=p(`
|
7 |
-
homepage headlines RSS. It also provides a sorting button to toggle between `),K=p(W),X=p(` first\u{1F61B} . It's built with a
|
8 |
-
`),B=d("a"),ue=p("custom SvelveKit front-end"),x=p(`
|
9 |
-
, served by a
|
10 |
-
`),D=d("a"),Z=p("Flask application"),pe=p(`
|
11 |
-
and using
|
12 |
-
`),H=d("a"),T=p("transformers pipeline for the sentiment analysis."),k=E(),v=d("details"),G=d("summary"),ee=p("Notes"),de=E(),te=d("h4"),R=p("Install Node with NVM"),me=E(),N=d("p"),ve=p("This "),ae=d("a"),xe=p("Node script"),Oe=p(`
|
13 |
-
|
14 |
-
install node LTS and create symbolic links to `),be=d("code"),Ve=p("/home/user/.local/bin/"),Fe=p(` as it seems like
|
15 |
-
we don't have permission to update `),we=d("code"),ze=p("$PATH"),Ke=p(" env"),Re=E(),ke=d("h4"),Ue=p("main.py"),qe=E(),M=d("p"),We=p(`Because the Spaces run a python application, see
|
16 |
-
`),le=d("a"),ye=d("code"),Ge=p("app_file"),Je=p(`
|
17 |
-
on docs. `),Ee=d("b"),$e=p("main.py"),Qe=p(` is just a simple python subprocess to run
|
18 |
-
`),Se=d("code"),Xe=p("make build-all"),Ze=p(`
|
19 |
-
See
|
20 |
-
`),se=d("a"),Ae=d("code"),et=p("Makefile"),tt=E(),Ne=d("h4"),at=p("SvelteKit Node Adapter?"),lt=E(),U=d("p"),st=p(`SvelteKit eventually can be used as our primary web application with
|
21 |
-
`),re=d("a"),Te=d("code"),rt=p("@sveltejs/adapter-node"),nt=p(` adaptor and Flask the API application with your ML project. However, there is an unsolved
|
22 |
-
issue to enable
|
23 |
-
`),fe=d("a"),ot=p("dynamic basepath"),it=p(", which blocks the possibility to embedded deployment or using a relative path."),ct=E(),ne=d("p"),ht=p("You can try other news feeds "),O=d("select");for(let y=0;y<V.length;y+=1)V[y].c();ut=p(`; however the NYTimes feed comes with more information than the other feeds, such as
|
24 |
-
the thumbnail image, author, and more.`),dt=E(),Ie=d("div"),ft=E(),oe=d("button"),Le=p(je),pt=E(),I.block.c(),this.h()},l(y){t=f(y,"ARTICLE",{class:!0});var g=u(t);a=f(g,"H1",{class:!0});var F=u(a);c=m(F,"The New York Times Sentiment Analysis"),F.forEach(i),s=S(g),h=f(g,"H5",{class:!0});var Me=u(h);r=f(Me,"B",{});var wt=u(r);o=m(wt,"Last Updated:"),wt.forEach(i),_=S(Me),C=m(Me,A),Me.forEach(i),w=S(g),b=f(g,"P",{class:!0});var z=u(b);q=m(z,`This project is an experiment running sentiment analysis on the current
|
25 |
-
`),L=f(z,"A",{class:!0,target:!0,href:!0});var kt=u(L);he=m(kt,"New York Times"),kt.forEach(i),Y=m(z,`
|
26 |
-
homepage headlines RSS. It also provides a sorting button to toggle between `),K=m(z,W),X=m(z,` first\u{1F61B} . It's built with a
|
27 |
-
`),B=f(z,"A",{class:!0,target:!0,href:!0});var yt=u(B);ue=m(yt,"custom SvelveKit front-end"),yt.forEach(i),x=m(z,`
|
28 |
-
, served by a
|
29 |
-
`),D=f(z,"A",{class:!0,target:!0,href:!0});var Et=u(D);Z=m(Et,"Flask application"),Et.forEach(i),pe=m(z,`
|
30 |
-
and using
|
31 |
-
`),H=f(z,"A",{class:!0,target:!0,href:!0});var St=u(H);T=m(St,"transformers pipeline for the sentiment analysis."),St.forEach(i),z.forEach(i),k=S(g),v=f(g,"DETAILS",{});var P=u(v);G=f(P,"SUMMARY",{class:!0});var At=u(G);ee=m(At,"Notes"),At.forEach(i),de=S(P),te=f(P,"H4",{});var Nt=u(te);R=m(Nt,"Install Node with NVM"),Nt.forEach(i),me=S(P),N=f(P,"P",{class:!0});var ie=u(N);ve=m(ie,"This "),ae=f(ie,"A",{class:!0,target:!0,href:!0});var Tt=u(ae);xe=m(Tt,"Node script"),Tt.forEach(i),Oe=m(ie,`
|
32 |
-
|
33 |
-
install node LTS and create symbolic links to `),be=f(ie,"CODE",{});var It=u(be);Ve=m(It,"/home/user/.local/bin/"),It.forEach(i),Fe=m(ie,` as it seems like
|
34 |
-
we don't have permission to update `),we=f(ie,"CODE",{});var jt=u(we);ze=m(jt,"$PATH"),jt.forEach(i),Ke=m(ie," env"),ie.forEach(i),Re=S(P),ke=f(P,"H4",{});var Pt=u(ke);Ue=m(Pt,"main.py"),Pt.forEach(i),qe=S(P),M=f(P,"P",{class:!0});var $=u(M);We=m($,`Because the Spaces run a python application, see
|
35 |
-
`),le=f($,"A",{class:!0,target:!0,href:!0});var Lt=u(le);ye=f(Lt,"CODE",{});var Bt=u(ye);Ge=m(Bt,"app_file"),Bt.forEach(i),Lt.forEach(i),Je=m($,`
|
36 |
-
on docs. `),Ee=f($,"B",{});var Dt=u(Ee);$e=m(Dt,"main.py"),Dt.forEach(i),Qe=m($,` is just a simple python subprocess to run
|
37 |
-
`),Se=f($,"CODE",{});var Ht=u(Se);Xe=m(Ht,"make build-all"),Ht.forEach(i),Ze=m($,`
|
38 |
-
See
|
39 |
-
`),se=f($,"A",{class:!0,target:!0,href:!0});var Mt=u(se);Ae=f(Mt,"CODE",{});var Yt=u(Ae);et=m(Yt,"Makefile"),Yt.forEach(i),Mt.forEach(i),$.forEach(i),tt=S(P),Ne=f(P,"H4",{});var Ct=u(Ne);at=m(Ct,"SvelteKit Node Adapter?"),Ct.forEach(i),lt=S(P),U=f(P,"P",{class:!0});var _e=u(U);st=m(_e,`SvelteKit eventually can be used as our primary web application with
|
40 |
-
`),re=f(_e,"A",{class:!0,target:!0,href:!0});var xt=u(re);Te=f(xt,"CODE",{});var Ot=u(Te);rt=m(Ot,"@sveltejs/adapter-node"),Ot.forEach(i),xt.forEach(i),nt=m(_e,` adaptor and Flask the API application with your ML project. However, there is an unsolved
|
41 |
-
issue to enable
|
42 |
-
`),fe=f(_e,"A",{href:!0,class:!0});var Vt=u(fe);ot=m(Vt,"dynamic basepath"),Vt.forEach(i),it=m(_e,", which blocks the possibility to embedded deployment or using a relative path."),_e.forEach(i),P.forEach(i),ct=S(g),ne=f(g,"P",{class:!0});var Ye=u(ne);ht=m(Ye,"You can try other news feeds "),O=f(Ye,"SELECT",{class:!0});var Ft=u(O);for(let _t=0;_t<V.length;_t+=1)V[_t].l(Ft);Ft.forEach(i),ut=m(Ye,`; however the NYTimes feed comes with more information than the other feeds, such as
|
43 |
-
the thumbnail image, author, and more.`),Ye.forEach(i),dt=S(g),Ie=f(g,"DIV",{class:!0}),u(Ie).forEach(i),ft=S(g),oe=f(g,"BUTTON",{class:!0});var zt=u(oe);Le=m(zt,je),zt.forEach(i),pt=S(g),I.block.l(g),g.forEach(i),this.h()},h(){l(a,"class","font-serif mb-0"),l(h,"class",j="mt-0 "+(n[2]?"visibile":"invisible")),l(L,"class","text-blue-500 underline hover:no-underline"),l(L,"target","_blank"),l(L,"href","https://rss.nytimes.com/services/xml/rss/nyt/HomePage.xml"),l(B,"class","text-blue-500 underline hover:no-underline"),l(B,"target","_blank"),l(B,"href","https://huggingface.co/spaces/radames/NYTimes-homepage-rearranged/tree/main/client"),l(D,"class","text-blue-500 underline hover:no-underline"),l(D,"target","_blank"),l(D,"href","https://huggingface.co/spaces/radames/NYTimes-homepage-rearranged/blob/main/app.py"),l(H,"class","text-blue-500 underline hover:no-underline"),l(H,"target","_blank"),l(H,"href","https://huggingface.co/siebert/sentiment-roberta-large-english"),l(b,"class","py-3 max-w-prose leading-normal"),l(G,"class","cursor-pointer"),l(ae,"class","text-blue-500 underline hover:no-underline"),l(ae,"target","_blank"),l(ae,"href","https://huggingface.co/spaces/radames/NYTimes-homepage-rearranged/blob/main/install-node.sh"),l(N,"class","max-w-prose leading-normal"),l(le,"class","text-blue-500 underline hover:no-underline"),l(le,"target","_blank"),l(le,"href","https://huggingface.co/docs/hub/spaces#:~:text=0.88.0%2C%200.89.0%2C%201.0.0.-,app_file,-%3A%20string%0APath%20to"),l(se,"class","text-blue-500 underline hover:no-underline"),l(se,"target","_blank"),l(se,"href","https://huggingface.co/spaces/radames/NYTimes-homepage-rearranged/blob/main/Makefile"),l(M,"class","max-w-prose leading-normal"),l(re,"class","text-blue-500 underline hover:no-underline"),l(re,"target","_blank"),l(re,"href","https://github.com/sveltejs/kit/tree/master/packages/adapter-node"),l(fe,"href","https://github.com/sveltejs/kit/issues/595"),l(fe,"class","text-blue-500 underline hover:no-underline"),l(U,"class","max-w-prose leading-normal"),l(O,"class","inline-block text-xs bg-gray-200 border border-gray-200 text-gray-700 px-0 py-0 rounded leading-tight focus:outline-none focus:bg-white focus:border-gray-500"),n[0]===void 0&&aa(()=>n[7].call(O)),l(ne,"class","max-w-prose leading-normal"),l(Ie,"class","py-4"),l(oe,"class",Be=(n[3]?"bg-emerald-600":"bg-red-600")+" hover:bg-zinc-300 text-white font-bold py-2 px-4 rounded"),l(t,"class","prose px-6 py-3 max-w-4xl mx-auto")},m(y,g){Q(y,t,g),e(t,a),e(a,c),e(t,s),e(t,h),e(h,r),e(r,o),e(h,_),e(h,C),e(t,w),e(t,b),e(b,q),e(b,L),e(L,he),e(b,Y),e(b,K),e(b,X),e(b,B),e(B,ue),e(b,x),e(b,D),e(D,Z),e(b,pe),e(b,H),e(H,T),e(t,k),e(t,v),e(v,G),e(G,ee),e(v,de),e(v,te),e(te,R),e(v,me),e(v,N),e(N,ve),e(N,ae),e(ae,xe),e(N,Oe),e(N,be),e(be,Ve),e(N,Fe),e(N,we),e(we,ze),e(N,Ke),e(v,Re),e(v,ke),e(ke,Ue),e(v,qe),e(v,M),e(M,We),e(M,le),e(le,ye),e(ye,Ge),e(M,Je),e(M,Ee),e(Ee,$e),e(M,Qe),e(M,Se),e(Se,Xe),e(M,Ze),e(M,se),e(se,Ae),e(Ae,et),e(v,tt),e(v,Ne),e(Ne,at),e(v,lt),e(v,U),e(U,st),e(U,re),e(re,Te),e(Te,rt),e(U,nt),e(U,fe),e(fe,ot),e(U,it),e(t,ct),e(t,ne),e(ne,ht),e(ne,O);for(let F=0;F<V.length;F+=1)V[F].m(O,null);Ut(O,n[0]),e(ne,ut),e(t,dt),e(t,Ie),e(t,ft),e(t,oe),e(oe,Le),e(t,pt),I.block.m(t,I.anchor=null),I.mount=()=>t,I.anchor=null,J=!0,mt||(vt=[qt(O,"change",n[7]),qt(oe,"click",n[6])],mt=!0)},p(y,[g]){n=y,(!J||g&4)&&A!==(A=(n[2]?n[2].toLocaleString():"")+"")&&ge(C,A),(!J||g&4&&j!==(j="mt-0 "+(n[2]?"visibile":"invisible")))&&l(h,"class",j),(!J||g&8)&&W!==(W=n[3]?"good and bad news":"bad and good news")&&ge(K,W),g&16&&(He=n[4],V=la(V,g,bt,1,n,He,gt,O,na,Qt,null,$t)),g&17&&Ut(O,n[0]),(!J||g&8)&&je!==(je=n[3]?"Sorted by positive scores":"Sorted by negative scores")&&ge(Le,je),(!J||g&8&&Be!==(Be=(n[3]?"bg-emerald-600":"bg-red-600")+" hover:bg-zinc-300 text-white font-bold py-2 px-4 rounded"))&&l(oe,"class",Be),I.ctx=n,g&1&&De!==(De=n[5](n[0]))&&Rt(De,I)||sa(I,n,g)},i(y){J||(Pe(I.block),J=!0)},o(y){for(let g=0;g<3;g+=1){const F=I.blocks[g];Ce(F)}J=!1},d(y){y&&i(t);for(let g=0;g<V.length;g+=1)V[g].d();I.block.d(),I.token=null,I=null,mt=!1,ra(vt)}}}function Sa(n,t,a){let c=[{label:"NYTimes",value:"https://rss.nytimes.com/services/xml/rss/nyt/HomePage.xml"},{label:"SF Gate Bay Area",value:"https://www.sfgate.com/bayarea/feed/Bay-Area-News-429.php"},{label:"BBC News",value:"https://feeds.bbci.co.uk/news/rss.xml"},{label:"Buzz Feed World",value:"https://www.buzzfeed.com/world.xml"},{label:"Al Jazeera",value:"https://aljazeera.com/xml/rss/all.xml"},{label:"Hacker News Front Page",value:"https://hnrss.org/frontpage"},{label:"Reddit World News",value:"https://www.reddit.com/r/worldnews/.rss"}],s=c[0].value,h,r,o=!0;async function _(j){console.log(j);try{a(1,h=await fetch(`news?feed_url=${j}`).then(w=>w.json()))}catch{a(1,h=await fetch("static/test.json").then(b=>b.json()))}a(2,r=new Date(h.last_update)),a(1,h=h.entries.sort((w,b)=>b.sentiment-w.sentiment)),a(3,o=!0),console.log(r,h)}function A(){a(3,o=!o),a(1,h=h.slice().sort((j,w)=>o?w.sentiment-j.sentiment:j.sentiment-w.sentiment))}function C(){s=oa(this),a(0,s),a(4,c)}return[s,h,r,o,c,_,A,C]}class Na extends Zt{constructor(t){super();ea(this,t,Sa,Ea,ta,{})}}export{Na as default};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static/_app/start-ad0dbeae.js
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
var fe=Object.defineProperty,ue=Object.defineProperties;var he=Object.getOwnPropertyDescriptors;var B=Object.getOwnPropertySymbols;var Q=Object.prototype.hasOwnProperty,Z=Object.prototype.propertyIsEnumerable;var H=(o,e,t)=>e in o?fe(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t,y=(o,e)=>{for(var t in e||(e={}))Q.call(e,t)&&H(o,t,e[t]);if(B)for(var t of B(e))Z.call(e,t)&&H(o,t,e[t]);return o},K=(o,e)=>ue(o,he(e));var ee=(o,e)=>{var t={};for(var r in o)Q.call(o,r)&&e.indexOf(r)<0&&(t[r]=o[r]);if(o!=null&&B)for(var r of B(o))e.indexOf(r)<0&&Z.call(o,r)&&(t[r]=o[r]);return t};import{S as de,i as _e,s as pe,e as ge,c as me,a as we,d as $,b as z,f as N,g as S,t as be,h as ve,j as ye,k as ke,l as w,m as $e,n as P,o as b,p as x,q as v,r as Ee,u as Re,v as Y,w as L,x as j,y as U,z as V,A as I,B as A,C as D,D as J,E as te}from"./chunks/vendor-528a52ee.js";function Se(o){let e,t,r;const l=[o[1]||{}];var i=o[0][0];function a(s){let n={};for(let c=0;c<l.length;c+=1)n=D(n,l[c]);return{props:n}}return i&&(e=new i(a())),{c(){e&&L(e.$$.fragment),t=w()},l(s){e&&j(e.$$.fragment,s),t=w()},m(s,n){e&&U(e,s,n),S(s,t,n),r=!0},p(s,n){const c=n&2?V(l,[I(s[1]||{})]):{};if(i!==(i=s[0][0])){if(e){P();const f=e;b(f.$$.fragment,1,0,()=>{A(f,1)}),x()}i?(e=new i(a()),L(e.$$.fragment),v(e.$$.fragment,1),U(e,t.parentNode,t)):e=null}else i&&e.$set(c)},i(s){r||(e&&v(e.$$.fragment,s),r=!0)},o(s){e&&b(e.$$.fragment,s),r=!1},d(s){s&&$(t),e&&A(e,s)}}}function Le(o){let e,t,r;const l=[o[1]||{}];var i=o[0][0];function a(s){let n={$$slots:{default:[Te]},$$scope:{ctx:s}};for(let c=0;c<l.length;c+=1)n=D(n,l[c]);return{props:n}}return i&&(e=new i(a(o))),{c(){e&&L(e.$$.fragment),t=w()},l(s){e&&j(e.$$.fragment,s),t=w()},m(s,n){e&&U(e,s,n),S(s,t,n),r=!0},p(s,n){const c=n&2?V(l,[I(s[1]||{})]):{};if(n&525&&(c.$$scope={dirty:n,ctx:s}),i!==(i=s[0][0])){if(e){P();const f=e;b(f.$$.fragment,1,0,()=>{A(f,1)}),x()}i?(e=new i(a(s)),L(e.$$.fragment),v(e.$$.fragment,1),U(e,t.parentNode,t)):e=null}else i&&e.$set(c)},i(s){r||(e&&v(e.$$.fragment,s),r=!0)},o(s){e&&b(e.$$.fragment,s),r=!1},d(s){s&&$(t),e&&A(e,s)}}}function Ue(o){let e,t,r;const l=[o[2]||{}];var i=o[0][1];function a(s){let n={};for(let c=0;c<l.length;c+=1)n=D(n,l[c]);return{props:n}}return i&&(e=new i(a())),{c(){e&&L(e.$$.fragment),t=w()},l(s){e&&j(e.$$.fragment,s),t=w()},m(s,n){e&&U(e,s,n),S(s,t,n),r=!0},p(s,n){const c=n&4?V(l,[I(s[2]||{})]):{};if(i!==(i=s[0][1])){if(e){P();const f=e;b(f.$$.fragment,1,0,()=>{A(f,1)}),x()}i?(e=new i(a()),L(e.$$.fragment),v(e.$$.fragment,1),U(e,t.parentNode,t)):e=null}else i&&e.$set(c)},i(s){r||(e&&v(e.$$.fragment,s),r=!0)},o(s){e&&b(e.$$.fragment,s),r=!1},d(s){s&&$(t),e&&A(e,s)}}}function Ae(o){let e,t,r;const l=[o[2]||{}];var i=o[0][1];function a(s){let n={$$slots:{default:[Ne]},$$scope:{ctx:s}};for(let c=0;c<l.length;c+=1)n=D(n,l[c]);return{props:n}}return i&&(e=new i(a(o))),{c(){e&&L(e.$$.fragment),t=w()},l(s){e&&j(e.$$.fragment,s),t=w()},m(s,n){e&&U(e,s,n),S(s,t,n),r=!0},p(s,n){const c=n&4?V(l,[I(s[2]||{})]):{};if(n&521&&(c.$$scope={dirty:n,ctx:s}),i!==(i=s[0][1])){if(e){P();const f=e;b(f.$$.fragment,1,0,()=>{A(f,1)}),x()}i?(e=new i(a(s)),L(e.$$.fragment),v(e.$$.fragment,1),U(e,t.parentNode,t)):e=null}else i&&e.$set(c)},i(s){r||(e&&v(e.$$.fragment,s),r=!0)},o(s){e&&b(e.$$.fragment,s),r=!1},d(s){s&&$(t),e&&A(e,s)}}}function Ne(o){let e,t,r;const l=[o[3]||{}];var i=o[0][2];function a(s){let n={};for(let c=0;c<l.length;c+=1)n=D(n,l[c]);return{props:n}}return i&&(e=new i(a())),{c(){e&&L(e.$$.fragment),t=w()},l(s){e&&j(e.$$.fragment,s),t=w()},m(s,n){e&&U(e,s,n),S(s,t,n),r=!0},p(s,n){const c=n&8?V(l,[I(s[3]||{})]):{};if(i!==(i=s[0][2])){if(e){P();const f=e;b(f.$$.fragment,1,0,()=>{A(f,1)}),x()}i?(e=new i(a()),L(e.$$.fragment),v(e.$$.fragment,1),U(e,t.parentNode,t)):e=null}else i&&e.$set(c)},i(s){r||(e&&v(e.$$.fragment,s),r=!0)},o(s){e&&b(e.$$.fragment,s),r=!1},d(s){s&&$(t),e&&A(e,s)}}}function Te(o){let e,t,r,l;const i=[Ae,Ue],a=[];function s(n,c){return n[0][2]?0:1}return e=s(o),t=a[e]=i[e](o),{c(){t.c(),r=w()},l(n){t.l(n),r=w()},m(n,c){a[e].m(n,c),S(n,r,c),l=!0},p(n,c){let f=e;e=s(n),e===f?a[e].p(n,c):(P(),b(a[f],1,1,()=>{a[f]=null}),x(),t=a[e],t?t.p(n,c):(t=a[e]=i[e](n),t.c()),v(t,1),t.m(r.parentNode,r))},i(n){l||(v(t),l=!0)},o(n){b(t),l=!1},d(n){a[e].d(n),n&&$(r)}}}function se(o){let e,t=o[5]&&re(o);return{c(){e=ge("div"),t&&t.c(),this.h()},l(r){e=me(r,"DIV",{id:!0,"aria-live":!0,"aria-atomic":!0,style:!0});var l=we(e);t&&t.l(l),l.forEach($),this.h()},h(){z(e,"id","svelte-announcer"),z(e,"aria-live","assertive"),z(e,"aria-atomic","true"),N(e,"position","absolute"),N(e,"left","0"),N(e,"top","0"),N(e,"clip","rect(0 0 0 0)"),N(e,"clip-path","inset(50%)"),N(e,"overflow","hidden"),N(e,"white-space","nowrap"),N(e,"width","1px"),N(e,"height","1px")},m(r,l){S(r,e,l),t&&t.m(e,null)},p(r,l){r[5]?t?t.p(r,l):(t=re(r),t.c(),t.m(e,null)):t&&(t.d(1),t=null)},d(r){r&&$(e),t&&t.d()}}}function re(o){let e;return{c(){e=be(o[6])},l(t){e=ve(t,o[6])},m(t,r){S(t,e,r)},p(t,r){r&64&&ye(e,t[6])},d(t){t&&$(e)}}}function Oe(o){let e,t,r,l,i;const a=[Le,Se],s=[];function n(f,h){return f[0][1]?0:1}e=n(o),t=s[e]=a[e](o);let c=o[4]&&se(o);return{c(){t.c(),r=ke(),c&&c.c(),l=w()},l(f){t.l(f),r=$e(f),c&&c.l(f),l=w()},m(f,h){s[e].m(f,h),S(f,r,h),c&&c.m(f,h),S(f,l,h),i=!0},p(f,[h]){let u=e;e=n(f),e===u?s[e].p(f,h):(P(),b(s[u],1,1,()=>{s[u]=null}),x(),t=s[e],t?t.p(f,h):(t=s[e]=a[e](f),t.c()),v(t,1),t.m(r.parentNode,r)),f[4]?c?c.p(f,h):(c=se(f),c.c(),c.m(l.parentNode,l)):c&&(c.d(1),c=null)},i(f){i||(v(t),i=!0)},o(f){b(t),i=!1},d(f){s[e].d(f),f&&$(r),c&&c.d(f),f&&$(l)}}}function Pe(o,e,t){let{stores:r}=e,{page:l}=e,{components:i}=e,{props_0:a=null}=e,{props_1:s=null}=e,{props_2:n=null}=e;Ee("__svelte__",r),Re(r.page.notify);let c=!1,f=!1,h=null;return Y(()=>{const u=r.page.subscribe(()=>{c&&(t(5,f=!0),t(6,h=document.title||"untitled page"))});return t(4,c=!0),u}),o.$$set=u=>{"stores"in u&&t(7,r=u.stores),"page"in u&&t(8,l=u.page),"components"in u&&t(0,i=u.components),"props_0"in u&&t(1,a=u.props_0),"props_1"in u&&t(2,s=u.props_1),"props_2"in u&&t(3,n=u.props_2)},o.$$.update=()=>{o.$$.dirty&384&&r.page.set(l)},[i,a,s,n,c,f,h,r,l]}class xe extends de{constructor(e){super();_e(this,e,Pe,Oe,pe,{stores:7,page:8,components:0,props_0:1,props_1:2,props_2:3})}}const Ce="modulepreload",ie={},je="/static/_app/",G=function(e,t){return!t||t.length===0?e():Promise.all(t.map(r=>{if(r=`${je}${r}`,r in ie)return;ie[r]=!0;const l=r.endsWith(".css"),i=l?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${r}"]${i}`))return;const a=document.createElement("link");if(a.rel=l?"stylesheet":Ce,l||(a.as="script",a.crossOrigin=""),a.href=r,document.head.appendChild(a),l)return new Promise((s,n)=>{a.addEventListener("load",s),a.addEventListener("error",n)})})).then(()=>e())},C=[()=>G(()=>import("./pages/__layout.svelte-483b60b6.js"),["pages/__layout.svelte-483b60b6.js","assets/pages/__layout.svelte-298a4fd5.css","chunks/vendor-528a52ee.js"]),()=>G(()=>import("./error.svelte-41f1b9b8.js"),["error.svelte-41f1b9b8.js","chunks/vendor-528a52ee.js"]),()=>G(()=>import("./pages/index.svelte-a06f0dfd.js"),["pages/index.svelte-a06f0dfd.js","chunks/vendor-528a52ee.js"])],Ve=[[/^\/$/,[C[0],C[2]],[C[1]]]],Ie=[C[0](),C[1]()];function De(o){let e=o.baseURI;if(!e){const t=o.getElementsByTagName("base");e=t.length?t[0].href:o.URL}return e}let F="";function qe(o){F=o.base,o.assets}function M(){return{x:pageXOffset,y:pageYOffset}}function ne(o){return o.composedPath().find(t=>t instanceof Node&&t.nodeName.toUpperCase()==="A")}function ae(o){return o instanceof SVGAElement?new URL(o.href.baseVal,document.baseURI):new URL(o.href)}class We{constructor({base:e,routes:t,trailing_slash:r,renderer:l}){var i,a;this.base=e,this.routes=t,this.trailing_slash=r,this.navigating=0,this.renderer=l,l.router=this,this.enabled=!0,document.body.setAttribute("tabindex","-1"),this.current_history_index=(a=(i=history.state)==null?void 0:i["sveltekit:index"])!=null?a:0,this.current_history_index===0&&history.replaceState(K(y({},history.state),{"sveltekit:index":0}),"",location.href),this.callbacks={before_navigate:[],after_navigate:[]}}init_listeners(){"scrollRestoration"in history&&(history.scrollRestoration="manual"),addEventListener("beforeunload",i=>{let a=!1;const s={from:this.renderer.current.url,to:null,cancel:()=>a=!0};this.callbacks.before_navigate.forEach(n=>n(s)),a?(i.preventDefault(),i.returnValue=""):history.scrollRestoration="auto"}),addEventListener("load",()=>{history.scrollRestoration="manual"});let e;addEventListener("scroll",()=>{clearTimeout(e),e=setTimeout(()=>{const i=K(y({},history.state||{}),{"sveltekit:scroll":M()});history.replaceState(i,document.title,window.location.href)},200)});const t=i=>{const a=ne(i);a&&a.href&&a.hasAttribute("sveltekit:prefetch")&&this.prefetch(ae(a))};let r;const l=i=>{clearTimeout(r),r=setTimeout(()=>{var a;(a=i.target)==null||a.dispatchEvent(new CustomEvent("sveltekit:trigger_prefetch",{bubbles:!0}))},20)};addEventListener("touchstart",t),addEventListener("mousemove",l),addEventListener("sveltekit:trigger_prefetch",t),addEventListener("click",i=>{if(!this.enabled||i.button||i.which!==1||i.metaKey||i.ctrlKey||i.shiftKey||i.altKey||i.defaultPrevented)return;const a=ne(i);if(!a||!a.href)return;const s=ae(a);if(s.toString()===location.href){location.hash||i.preventDefault();return}const c=(a.getAttribute("rel")||"").split(/\s+/);if(a.hasAttribute("download")||c&&c.includes("external")||(a instanceof SVGAElement?a.target.baseVal:a.target))return;const[f,h]=s.href.split("#");if(h!==void 0&&f===location.href.split("#")[0]){setTimeout(()=>history.pushState({},"",s.href));const u=this.parse(s);return u?this.renderer.update(u,[],!1):void 0}this._navigate({url:s,scroll:a.hasAttribute("sveltekit:noscroll")?M():null,keepfocus:!1,chain:[],details:{state:{},replaceState:!1},accepted:()=>i.preventDefault(),blocked:()=>i.preventDefault()})}),addEventListener("popstate",i=>{if(i.state&&this.enabled){if(i.state["sveltekit:index"]===this.current_history_index)return;this._navigate({url:new URL(location.href),scroll:i.state["sveltekit:scroll"],keepfocus:!1,chain:[],details:null,accepted:()=>{this.current_history_index=i.state["sveltekit:index"]},blocked:()=>{const a=this.current_history_index-i.state["sveltekit:index"];history.go(a)}})}})}owns(e){return e.origin===location.origin&&e.pathname.startsWith(this.base)}parse(e){if(this.owns(e)){const t=decodeURI(e.pathname.slice(this.base.length)||"/");return{id:e.pathname+e.search,routes:this.routes.filter(([r])=>r.test(t)),url:e,path:t}}}async goto(e,{noscroll:t=!1,replaceState:r=!1,keepfocus:l=!1,state:i={}}={},a){const s=new URL(e,De(document));return this.enabled?this._navigate({url:s,scroll:t?M():null,keepfocus:l,chain:a,details:{state:i,replaceState:r},accepted:()=>{},blocked:()=>{}}):(location.href=s.href,new Promise(()=>{}))}enable(){this.enabled=!0}disable(){this.enabled=!1}async prefetch(e){const t=this.parse(e);if(!t)throw new Error("Attempted to prefetch a URL that does not belong to this app");return this.renderer.load(t)}after_navigate(e){Y(()=>(this.callbacks.after_navigate.push(e),()=>{const t=this.callbacks.after_navigate.indexOf(e);this.callbacks.after_navigate.splice(t,1)}))}before_navigate(e){Y(()=>(this.callbacks.before_navigate.push(e),()=>{const t=this.callbacks.before_navigate.indexOf(e);this.callbacks.before_navigate.splice(t,1)}))}async _navigate({url:e,scroll:t,keepfocus:r,chain:l,details:i,accepted:a,blocked:s}){const n=this.renderer.current.url;let c=!1;const f={from:n,to:e,cancel:()=>c=!0};if(this.callbacks.before_navigate.forEach(d=>d(f)),c){s();return}const h=this.parse(e);if(!h)return location.href=e.href,new Promise(()=>{});a(),this.navigating||dispatchEvent(new CustomEvent("sveltekit:navigation-start")),this.navigating++;let{pathname:u}=e;if(this.trailing_slash==="never"?u!=="/"&&u.endsWith("/")&&(u=u.slice(0,-1)):this.trailing_slash==="always"&&!e.pathname.split("/").pop().includes(".")&&!u.endsWith("/")&&(u+="/"),h.url=new URL(e.origin+u+e.search+e.hash),i){const d=i.replaceState?0:1;i.state["sveltekit:index"]=this.current_history_index+=d,history[i.replaceState?"replaceState":"pushState"](i.state,"",h.url)}if(await this.renderer.handle_navigation(h,l,!1,{scroll:t,keepfocus:r}),this.navigating--,!this.navigating){dispatchEvent(new CustomEvent("sveltekit:navigation-end"));const d={from:n,to:e};this.callbacks.after_navigate.forEach(_=>_(d))}}}function oe(o){return o instanceof Error||o&&o.name&&o.message?o:new Error(JSON.stringify(o))}function Be(o){let e=5381,t=o.length;if(typeof o=="string")for(;t;)e=e*33^o.charCodeAt(--t);else for(;t;)e=e*33^o[--t];return(e>>>0).toString(36)}function le(o){const e=o.status&&o.status>=400&&o.status<=599&&!o.redirect;if(o.error||e){const t=o.status;if(!o.error&&e)return{status:t||500,error:new Error};const r=typeof o.error=="string"?new Error(o.error):o.error;return r instanceof Error?!t||t<400||t>599?(console.warn('"error" returned from load() without a valid status code \u2014 defaulting to 500'),{status:500,error:r}):{status:t,error:r}:{status:500,error:new Error(`"error" property returned from load() must be a string or instance of Error, received type "${typeof r}"`)}}if(o.redirect){if(!o.status||Math.floor(o.status/100)!==3)return{status:500,error:new Error('"redirect" property returned from load() must be accompanied by a 3xx status code')};if(typeof o.redirect!="string")return{status:500,error:new Error('"redirect" property returned from load() must be a string')}}if(o.context)throw new Error('You are returning "context" from a load function. "context" was renamed to "stuff", please adjust your code accordingly.');return o}function ce(o){const e=J(o);let t=!0;function r(){t=!0,e.update(a=>a)}function l(a){t=!1,e.set(a)}function i(a){let s;return e.subscribe(n=>{(s===void 0||t&&n!==s)&&a(s=n)})}return{notify:r,set:l,subscribe:i}}function Je(){const{set:o,subscribe:e}=J(!1),t="1666722492919";let r;async function l(){clearTimeout(r);const a=await fetch(`${F}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(a.ok){const{version:s}=await a.json(),n=s!==t;return n&&(o(!0),clearTimeout(r)),n}else throw new Error(`Version check failed: ${a.status}`)}return{subscribe:e,check:l}}function Ke(o,e){const t=typeof o=="string"?o:o.url;let r=`script[data-type="svelte-data"][data-url=${JSON.stringify(t)}]`;e&&typeof e.body=="string"&&(r+=`[data-body="${Be(e.body)}"]`);const l=document.querySelector(r);if(l&&l.textContent){const i=JSON.parse(l.textContent),{body:a}=i,s=ee(i,["body"]);return Promise.resolve(new Response(a,s))}return fetch(o,e)}class ze{constructor({Root:e,fallback:t,target:r,session:l}){this.Root=e,this.fallback=t,this.router,this.target=r,this.started=!1,this.session_id=1,this.invalid=new Set,this.invalidating=null,this.autoscroll=!0,this.updating=!1,this.current={url:null,session_id:0,branch:[]},this.cache=new Map,this.loading={id:null,promise:null},this.stores={url:ce({}),page:ce({}),navigating:J(null),session:J(l),updated:Je()},this.$session=null,this.root=null;let i=!1;this.stores.session.subscribe(async a=>{if(this.$session=a,!i||!this.router)return;this.session_id+=1;const s=this.router.parse(new URL(location.href));s&&this.update(s,[],!0)}),i=!0}disable_scroll_handling(){(this.updating||!this.started)&&(this.autoscroll=!1)}async start({status:e,error:t,nodes:r,url:l,params:i}){const a=[];let s={},n,c;l.hash=window.location.hash;try{for(let f=0;f<r.length;f+=1){const h=f===r.length-1;let u;if(h){const _=document.querySelector('[data-type="svelte-props"]');_&&(u=JSON.parse(_.textContent))}const d=await this._load_node({module:await r[f],url:l,params:i,stuff:s,status:h?e:void 0,error:h?t:void 0,props:u});if(u&&d.uses.dependencies.add(l.href),a.push(d),d&&d.loaded)if(d.loaded.error){if(t)throw d.loaded.error;c={status:d.loaded.status,error:d.loaded.error,url:l}}else d.loaded.stuff&&(s=y(y({},s),d.loaded.stuff))}n=c?await this._load_error(c):await this._get_navigation_result_from_branch({url:l,params:i,stuff:s,branch:a,status:e,error:t})}catch(f){if(t)throw f;n=await this._load_error({status:500,error:oe(f),url:l})}if(n.redirect){location.href=new URL(n.redirect,location.href).href;return}this._init(n)}async handle_navigation(e,t,r,l){this.started&&this.stores.navigating.set({from:this.current.url,to:e.url}),await this.update(e,t,r,l)}async update(e,t,r,l){var n,c,f;const i=this.token={};let a=await this._get_navigation_result(e,r);if(i!==this.token)return;if(this.invalid.clear(),a.redirect)if(t.length>10||t.includes(e.url.pathname))a=await this._load_error({status:500,error:new Error("Redirect loop"),url:e.url});else{this.router?this.router.goto(new URL(a.redirect,e.url).href,{replaceState:!0},[...t,e.url.pathname]):location.href=new URL(a.redirect,location.href).href;return}else if(((c=(n=a.props)==null?void 0:n.page)==null?void 0:c.status)>=400&&await this.stores.updated.check()){location.href=e.url.href;return}if(this.updating=!0,this.started?(this.current=a.state,this.root.$set(a.props),this.stores.navigating.set(null)):this._init(a),l){const{scroll:h,keepfocus:u}=l;if(u||((f=getSelection())==null||f.removeAllRanges(),document.body.focus()),await te(),this.autoscroll){const d=e.url.hash&&document.getElementById(e.url.hash.slice(1));h?scrollTo(h.x,h.y):d?d.scrollIntoView():scrollTo(0,0)}}else await te();if(this.loading.promise=null,this.loading.id=null,this.autoscroll=!0,this.updating=!1,!this.router)return;const s=a.state.branch[a.state.branch.length-1];s&&s.module.router===!1?this.router.disable():this.router.enable()}load(e){return this.loading.promise=this._get_navigation_result(e,!1),this.loading.id=e.id,this.loading.promise}invalidate(e){return this.invalid.add(e),this.invalidating||(this.invalidating=Promise.resolve().then(async()=>{const t=this.router&&this.router.parse(new URL(location.href));t&&await this.update(t,[],!0),this.invalidating=null})),this.invalidating}_init(e){this.current=e.state;const t=document.querySelector("style[data-svelte]");if(t&&t.remove(),this.root=new this.Root({target:this.target,props:y({stores:this.stores},e.props),hydrate:!0}),this.started=!0,this.router){const r={from:null,to:new URL(location.href)};this.router.callbacks.after_navigate.forEach(l=>l(r))}}async _get_navigation_result(e,t){if(this.loading.id===e.id&&this.loading.promise)return this.loading.promise;for(let r=0;r<e.routes.length;r+=1){const l=e.routes[r];let i=r+1;for(;i<e.routes.length;){const s=e.routes[i];if(s[0].toString()===l[0].toString())s[1].forEach(n=>n()),i+=1;else break}const a=await this._load({route:l,info:e},t);if(a)return a}return await this._load_error({status:404,error:new Error(`Not found: ${e.url.pathname}`),url:e.url})}async _get_navigation_result_from_branch({url:e,params:t,stuff:r,branch:l,status:i,error:a}){const s=l.filter(Boolean),n=s.find(u=>u.loaded&&u.loaded.redirect),c={redirect:n&&n.loaded?n.loaded.redirect:void 0,state:{url:e,params:t,branch:l,session_id:this.session_id},props:{components:s.map(u=>u.module.default)}};for(let u=0;u<s.length;u+=1){const d=s[u].loaded;c.props[`props_${u}`]=d?await d.props:null}if(!this.current.url||e.href!==this.current.url.href){c.props.page={url:e,params:t,status:i,error:a,stuff:r};const u=(d,_)=>{Object.defineProperty(c.props.page,d,{get:()=>{throw new Error(`$page.${d} has been replaced by $page.url.${_}`)}})};u("origin","origin"),u("path","pathname"),u("query","searchParams")}const f=s[s.length-1],h=f.loaded&&f.loaded.maxage;if(h){const u=e.pathname+e.search;let d=!1;const _=()=>{this.cache.get(u)===c&&this.cache.delete(u),E(),clearTimeout(T)},T=setTimeout(_,h*1e3),E=this.stores.session.subscribe(()=>{d&&_()});d=!0,this.cache.set(u,c)}return c}async _load_node({status:e,error:t,module:r,url:l,params:i,stuff:a,props:s}){const n={module:r,uses:{params:new Set,url:!1,session:!1,stuff:!1,dependencies:new Set},loaded:null,stuff:a};s&&n.uses.dependencies.add(l.href);const c={};for(const h in i)Object.defineProperty(c,h,{get(){return n.uses.params.add(h),i[h]},enumerable:!0});const f=this.$session;if(r.load){const{started:h}=this,u={params:c,props:s||{},get url(){return n.uses.url=!0,l},get session(){return n.uses.session=!0,f},get stuff(){return n.uses.stuff=!0,y({},a)},fetch(_,T){const E=typeof _=="string"?_:_.url,{href:R}=new URL(E,l);return n.uses.dependencies.add(R),h?fetch(_,T):Ke(_,T)}};t&&(u.status=e,u.error=t);const d=await r.load.call(null,u);if(!d)throw new Error("load function must return a value");n.loaded=le(d),n.loaded.stuff&&(n.stuff=n.loaded.stuff)}else s&&(n.loaded=le({props:s}));return n}async _load({route:e,info:{url:t,path:r}},l){const i=t.pathname+t.search;if(!l){const p=this.cache.get(i);if(p)return p}const[a,s,n,c,f]=e,h=c?c(a.exec(r)):{},u=this.current.url&&{url:i!==this.current.url.pathname+this.current.url.search,params:Object.keys(h).filter(p=>this.current.params[p]!==h[p]),session:this.session_id!==this.current.session_id};let d=[],_={},T=!1,E=200,R;s.forEach(p=>p());e:for(let p=0;p<s.length;p+=1){let g;try{if(!s[p])continue;const m=await s[p](),k=this.current.branch[p];if(!k||m!==k.module||u.url&&k.uses.url||u.params.some(O=>k.uses.params.has(O))||u.session&&k.uses.session||Array.from(k.uses.dependencies).some(O=>this.invalid.has(O))||T&&k.uses.stuff){let O={};if(f&&p===s.length-1){const W=await fetch(`${t.pathname}${t.pathname.endsWith("/")?"":"/"}__data.json`,{headers:{"x-sveltekit-noredirect":"true"}});if(W.ok){const X=W.headers.get("x-sveltekit-location");if(X)return{redirect:X,props:{},state:this.current};O=await W.json()}else E=W.status,R=new Error("Failed to load data")}if(R||(g=await this._load_node({module:m,url:t,params:h,props:O,stuff:_})),g&&g.loaded){if(g.loaded.fallthrough)return;if(g.loaded.error&&(E=g.loaded.status,R=g.loaded.error),g.loaded.redirect)return{redirect:g.loaded.redirect,props:{},state:this.current};g.loaded.stuff&&(T=!0)}}else g=k}catch(m){E=500,R=oe(m)}if(R){for(;p--;)if(n[p]){let m,k,q=p;for(;!(k=d[q]);)q-=1;try{if(m=await this._load_node({status:E,error:R,module:await n[p](),url:t,params:h,stuff:k.stuff}),m&&m.loaded&&m.loaded.error)continue;m&&m.loaded&&m.loaded.stuff&&(_=y(y({},_),m.loaded.stuff)),d=d.slice(0,q+1).concat(m);break e}catch{continue}}return await this._load_error({status:E,error:R,url:t})}else g&&g.loaded&&g.loaded.stuff&&(_=y(y({},_),g.loaded.stuff)),d.push(g)}return await this._get_navigation_result_from_branch({url:t,params:h,stuff:_,branch:d,status:E,error:R})}async _load_error({status:e,error:t,url:r}){var c,f;const l={},i=await this._load_node({module:await this.fallback[0],url:r,params:l,stuff:{}}),a=await this._load_node({status:e,error:t,module:await this.fallback[1],url:r,params:l,stuff:i&&i.loaded&&i.loaded.stuff||{}}),s=[i,a],n=y(y({},(c=i==null?void 0:i.loaded)==null?void 0:c.stuff),(f=a==null?void 0:a.loaded)==null?void 0:f.stuff);return await this._get_navigation_result_from_branch({url:r,params:l,stuff:n,branch:s,status:e,error:t})}}async function Ye({paths:o,target:e,session:t,route:r,spa:l,trailing_slash:i,hydrate:a}){const s=new ze({Root:xe,fallback:Ie,target:e,session:t}),n=r?new We({base:o.base,routes:Ve,trailing_slash:i,renderer:s}):null;qe(o),a&&await s.start(a),n&&(l&&n.goto(location.href,{replaceState:!0},[]),n.init_listeners()),dispatchEvent(new CustomEvent("sveltekit:start"))}export{Ye as start};
|
|
|
|
static/_app/version.json
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
{"version":"1666722492919"}
|
|
|
|
static/favicon.png
DELETED
Binary file (1.57 kB)
|
|
static/index.html
DELETED
@@ -1,91 +0,0 @@
|
|
1 |
-
<!DOCTYPE html>
|
2 |
-
<html lang="en">
|
3 |
-
<head>
|
4 |
-
<base href="" />
|
5 |
-
<meta charset="utf-8" />
|
6 |
-
<meta name="description" content="" />
|
7 |
-
<link rel="icon" href="/static/favicon.png" />
|
8 |
-
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
9 |
-
<meta http-equiv="content-security-policy" content="">
|
10 |
-
<link rel="stylesheet" href="/static/_app/assets/pages/__layout.svelte-298a4fd5.css">
|
11 |
-
<link rel="modulepreload" href="/static/_app/start-ad0dbeae.js">
|
12 |
-
<link rel="modulepreload" href="/static/_app/chunks/vendor-528a52ee.js">
|
13 |
-
<link rel="modulepreload" href="/static/_app/pages/__layout.svelte-483b60b6.js">
|
14 |
-
<link rel="modulepreload" href="/static/_app/pages/index.svelte-a06f0dfd.js">
|
15 |
-
<script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.3.1/iframeResizer.contentWindow.min.js"></script>
|
16 |
-
</head>
|
17 |
-
<body>
|
18 |
-
<div>
|
19 |
-
|
20 |
-
|
21 |
-
<article class="prose px-6 py-3 max-w-4xl mx-auto"><h1 class="font-serif mb-0">The New York Times Sentiment Analysis</h1>
|
22 |
-
<h5 class="mt-0 invisible"><b>Last Updated:</b>
|
23 |
-
</h5>
|
24 |
-
|
25 |
-
<p class="py-3 max-w-prose leading-normal">This project is an experiment running sentiment analysis on the current
|
26 |
-
<a class="text-blue-500 underline hover:no-underline" target="_blank" href="https://rss.nytimes.com/services/xml/rss/nyt/HomePage.xml">New York Times</a>
|
27 |
-
homepage headlines RSS. It also provides a sorting button to toggle between good and bad news first😛 . It's built with a
|
28 |
-
<a class="text-blue-500 underline hover:no-underline" target="_blank" href="https://huggingface.co/spaces/radames/NYTimes-homepage-rearranged/tree/main/client">custom SvelveKit front-end
|
29 |
-
</a>
|
30 |
-
, served by a
|
31 |
-
<a class="text-blue-500 underline hover:no-underline" target="_blank" href="https://huggingface.co/spaces/radames/NYTimes-homepage-rearranged/blob/main/app.py">Flask application
|
32 |
-
</a>
|
33 |
-
and using
|
34 |
-
<a class="text-blue-500 underline hover:no-underline" target="_blank" href="https://huggingface.co/siebert/sentiment-roberta-large-english">transformers pipeline for the sentiment analysis.
|
35 |
-
</a></p>
|
36 |
-
<details><summary class="cursor-pointer">Notes</summary>
|
37 |
-
<h4>Install Node with NVM</h4>
|
38 |
-
<p class="max-w-prose leading-normal">This <a class="text-blue-500 underline hover:no-underline" target="_blank" href="https://huggingface.co/spaces/radames/NYTimes-homepage-rearranged/blob/main/install-node.sh">Node script</a>
|
39 |
-
|
40 |
-
install node LTS and create symbolic links to <code>/home/user/.local/bin/</code> as it seems like
|
41 |
-
we don't have permission to update <code>$PATH</code> env
|
42 |
-
</p>
|
43 |
-
<h4>main.py</h4>
|
44 |
-
<p class="max-w-prose leading-normal">Because the Spaces run a python application, see
|
45 |
-
<a class="text-blue-500 underline hover:no-underline" target="_blank" href="https://huggingface.co/docs/hub/spaces#:~:text=0.88.0%2C%200.89.0%2C%201.0.0.-,app_file,-%3A%20string%0APath%20to"><code>app_file </code></a>
|
46 |
-
on docs. <b>main.py</b> is just a simple python subprocess to run
|
47 |
-
<code>make build-all </code>
|
48 |
-
See
|
49 |
-
<a class="text-blue-500 underline hover:no-underline" target="_blank" href="https://huggingface.co/spaces/radames/NYTimes-homepage-rearranged/blob/main/Makefile"><code>Makefile</code></a></p>
|
50 |
-
<h4>SvelteKit Node Adapter?</h4>
|
51 |
-
<p class="max-w-prose leading-normal">SvelteKit eventually can be used as our primary web application with
|
52 |
-
<a class="text-blue-500 underline hover:no-underline" target="_blank" href="https://github.com/sveltejs/kit/tree/master/packages/adapter-node"><code>@sveltejs/adapter-node</code></a> adaptor and Flask the API application with your ML project. However, there is an unsolved
|
53 |
-
issue to enable
|
54 |
-
<a href="https://github.com/sveltejs/kit/issues/595" class="text-blue-500 underline hover:no-underline">dynamic basepath</a>, which blocks the possibility to embedded deployment or using a relative path.
|
55 |
-
</p></details>
|
56 |
-
|
57 |
-
<p class="max-w-prose leading-normal">You can try other news feeds <select class="inline-block text-xs bg-gray-200 border border-gray-200 text-gray-700 px-0 py-0 rounded leading-tight focus:outline-none focus:bg-white focus:border-gray-500"><option value="https://rss.nytimes.com/services/xml/rss/nyt/HomePage.xml">NYTimes</option><option value="https://www.sfgate.com/bayarea/feed/Bay-Area-News-429.php">SF Gate Bay Area</option><option value="https://feeds.bbci.co.uk/news/rss.xml">BBC News</option><option value="https://www.buzzfeed.com/world.xml">Buzz Feed World</option><option value="https://aljazeera.com/xml/rss/all.xml">Al Jazeera</option><option value="https://hnrss.org/frontpage">Hacker News Front Page</option><option value="https://www.reddit.com/r/worldnews/.rss">Reddit World News</option></select>; however the NYTimes feed comes with more information than the other feeds, such as
|
58 |
-
the thumbnail image, author, and more.
|
59 |
-
</p>
|
60 |
-
<div class="py-4"></div>
|
61 |
-
<button class="bg-emerald-600 hover:bg-zinc-300 text-white font-bold py-2 px-4 rounded">Sorted by positive scores</button>
|
62 |
-
|
63 |
-
<div class="py-4"><svg class="animate-spin inline-block" width="25" height="25" viewBox="0 0 100 100"><path d="M0,50 a1,1 0 0,0 100,0" fill="lightgrey"></path></svg>
|
64 |
-
Loading feed and running sentiment analysis on headlines...
|
65 |
-
</div>
|
66 |
-
</article>
|
67 |
-
|
68 |
-
|
69 |
-
<script type="module" data-hydrate="15446j3">
|
70 |
-
import { start } from "/static/_app/start-ad0dbeae.js";
|
71 |
-
start({
|
72 |
-
target: document.querySelector('[data-hydrate="15446j3"]').parentNode,
|
73 |
-
paths: {"base":"/static","assets":"/static"},
|
74 |
-
session: {},
|
75 |
-
route: true,
|
76 |
-
spa: false,
|
77 |
-
trailing_slash: "never",
|
78 |
-
hydrate: {
|
79 |
-
status: 200,
|
80 |
-
error: null,
|
81 |
-
nodes: [
|
82 |
-
import("/static/_app/pages/__layout.svelte-483b60b6.js"),
|
83 |
-
import("/static/_app/pages/index.svelte-a06f0dfd.js")
|
84 |
-
],
|
85 |
-
url: new URL("http://sveltekit-prerender/static"),
|
86 |
-
params: {}
|
87 |
-
}
|
88 |
-
});
|
89 |
-
</script></div>
|
90 |
-
</body>
|
91 |
-
</html>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static/test.json
DELETED
The diff for this file is too large to render.
See raw diff
|
|