From b56fe21a2b246ac54650f65f763b30011ecb05a9 Mon Sep 17 00:00:00 2001
From: Adrian Victor
Date: Tue, 21 Apr 2026 20:32:49 -0300
Subject: [PATCH] Added new box style for page headers, support for hint when
hovering interactible elements, add support for expanding 88x31 pictures on
click, updated index look and feel/text, switch to macros for reusable
elements, fix ccd path, rename main.js to music to better reflect it's
purpose and update i18n.js export global strings.
---
.eleventy.js | 4 +-
_data/i18n.js | 47 +-
_includes/base.njk | 3 +-
_includes/macros.njk | 35 +
_includes/post.njk | 15 +-
index.njk | 118 ++--
maintenance/edit-i18n.js | 191 ++++++
misc/88x31/index.njk | 5 +-
misc/bookmarks/en.json | 2 +-
misc/bookmarks/index.njk | 5 +-
package-lock.json | 912 ++++++++++++++++++++++++-
package.json | 7 +-
static/images/88x31/botao08.gif | Bin 0 -> 62212 bytes
static/images/88x31/c88_01.gif | Bin 0 -> 3497 bytes
static/images/88x31/caldera.gif | Bin 0 -> 2954 bytes
static/images/88x31/cardsbutton.gif | Bin 0 -> 2668 bytes
static/images/88x31/cd.gif | Bin 0 -> 2028 bytes
static/images/thumbnails/velkommen.jpg | Bin 0 -> 618858 bytes
static/main.css | 15 +-
static/scripts/ccd.js | 2 +-
static/scripts/{main.js => music.js} | 0
static/scripts/tips.js | 15 +
22 files changed, 1246 insertions(+), 130 deletions(-)
create mode 100644 _includes/macros.njk
create mode 100644 maintenance/edit-i18n.js
create mode 100644 static/images/88x31/botao08.gif
create mode 100644 static/images/88x31/c88_01.gif
create mode 100644 static/images/88x31/caldera.gif
create mode 100644 static/images/88x31/cardsbutton.gif
create mode 100644 static/images/88x31/cd.gif
create mode 100644 static/images/thumbnails/velkommen.jpg
rename static/scripts/{main.js => music.js} (100%)
create mode 100644 static/scripts/tips.js
diff --git a/.eleventy.js b/.eleventy.js
index 325798e..d12cf45 100644
--- a/.eleventy.js
+++ b/.eleventy.js
@@ -1,5 +1,6 @@
const fs = require("fs");
const path = require("path");
+const i18n = require('./_data/i18n.js');
module.exports = function(eleventyConfig) {
eleventyConfig.addCollection("post", function(collectionApi) {
@@ -21,7 +22,8 @@ module.exports = function(eleventyConfig) {
eleventyConfig.addCollection("88x31", () => {
return fs.readdirSync("static/images/88x31")
.map(file => ({
- url: `/static/images/88x31/${file}`
+ url: `/static/images/88x31/${file}`,
+ fileSlug: file
}));
});
diff --git a/_data/i18n.js b/_data/i18n.js
index e416a57..c3d665f 100644
--- a/_data/i18n.js
+++ b/_data/i18n.js
@@ -9,11 +9,21 @@ const globalValues = {
xmpp: { url: "xmpp:adrianvictor@disroot.org", username: "adrianvictor@disroot.org" },
email: "adrianvictor@disroot.org",
margarinaRecordsWebsite: "https://margarina-records.rf.gd",
- genius: { url: "https://genius.com/tenkuma", username: "tenkuma" }
+ genius: { url: "https://genius.com/tenkuma", username: "tenkuma" },
+ homeVideoLink: "https://www.youtube.com/watch?v=6bnNAnSY9Uo",
+ homeVideoImage: "/thumbnails/fl_studio_linux.png",
+ homeVideoWebsite: "YouTube",
+ homeVideoDuration: "5:53",
+ homeSongTitle: "Velkommen",
+ homeSongLink: "https://margarina.bandcamp.com/album/velkommen",
+ homeSongImage: "/songs/velkommen.jpg",
+ homeSongWebsite: "Bandcamp",
+ homeSongDuration: "5:39",
+ homeSongAccent: "#482948"
};
module.exports = {
- // global: globalValues,
+ global: globalValues,
en: {
language: "english",
availableInOtherLanguages: "Also available in other languages",
@@ -23,9 +33,14 @@ module.exports = {
welcome: "welcome",
homeWelcomeParagraph: "It seems that you have found my website! Hi, I am Adrian Victor (or tenkuma ), a Brazilian guy who likes to mess around with computers, computer programs and enimatpyrtlyhtemids .",
socialsAndContact: "socials and contact",
+ aboutMe: "about me",
myMusic: "my music",
myVideos: "my videos",
mySoftware: "my software",
+ homeAboutMeParagraph: `
+ My name is Adrian Victor, but I go by tenkuma on-line. I'm in high school's last year, also studying computing. My hobbies are music and music production, programming, selfhosting, Linux, and a lot more.
+ `,
+ homeAboutMeParagraphTwo: `Tenkuma, or 天くま in japanese, means celestial bear and was given by a friend of mine that I lost contact a long time ago. Sakata is gone, but the name stayed and turned into an integral part of my digital self.`,
homeSocialsAndContactParagraph: `
I'm publicly available at Mastodon (${globalValues.mastodon.username}) ,
GitHub (${globalValues.github.username}) ,
@@ -38,9 +53,9 @@ module.exports = {
`,
homeSocialsAndContactParagraphTwo: `You can message me on my E-mail (${globalValues.email}) or feel free to get in touch through any of the other places mentioned above. For project-specific subjects, check for the project's contact field or if there's no such field add +projectname to my E-mail address (example: adrianvictor+coolproject@disroot.org).
Please, avoid reaching me through ways not mentioned above :) `,
- homeMyMusicParagraph: `Me and my friends have an amateur record label called Margarina Records , things usually move slowly with my musical works, usually because of college and the lack of proper music production knowledge, but I'm working my way through it.`,
- homeMyMusicParagraphTwo: `You can follow my latest songs at the label website and on Genius . You'd probably also like the other member's works as well, so take a look at all songs from MGR.`,
- homeMyVideoParagraph: "I have a YouTube channel where I post mostly Minecraft videos, but I want to have other types of content in the future. There's no scedule for my videos because it takes a lot of editing time to put a video together, and I have little time to work on my own projects, you should subscribe if you want to know when I post something!",
+ homeMyMusicParagraph: `I've always loved music, and lately I've been finding music production very interesting. I publish my songs as tenkuma , and have founded an amateur label called Margarina Records with my friends.`,
+ homeMyMusicParagraphTwo: `You can find my latest on songs Genius .`,
+ homeMyVideoParagraph: "I make videos for my YouTube channel . Videos do not come regularly, there's no schedule—just a guy wanting to show something.",
homeMyVideoRandomVideoParagraph: "Here's a random video I'm proud of:",
homeVideoTitle: "Installing FL Studio on linux.",
homeMySoftwareParagraph: `I am studying computing at IFC (SC, Brazil) but in my free time I have some projects like computer applications, Minecraft plugins, Minecraft servers, etc... Anything that is public should be in my GitHub profile .`,
@@ -57,7 +72,8 @@ module.exports = {
options: "Options",
alsoAvailableAsVideo: "Also available as video",
websiteDescription: "Personal website/blog of Adrian Victor.",
- miscellaneous: "Miscellaneous"
+ miscellaneous: "Miscellaneous",
+ i88x31hover: "Click to expand"
},
pt: {
language: "português",
@@ -68,9 +84,14 @@ module.exports = {
welcome: "bem-vindo",
homeWelcomeParagraph: "Parece que você encontrou meu website! Olá, sou Adrian Victor (ou tenkuma ), um cara brasileiro que gosta de mexer com computadores, programas de computadores e enimatpirtlitemídios .",
socialsAndContact: "redes sociais e contato",
+ aboutMe: "sobre mim",
myMusic: "música",
myVideos: "vídeos",
mySoftware: "software",
+ homeAboutMeParagraph: `
+ Meu nome é Adrian Victor, mas on-line eu uso o nickname tenkuma. Estou no último ano do ensino médio e estudo informática. Meus hobbies são escutar e produzir música, programação, selfhosting, Linux, e muito mais.
+ `,
+ homeAboutMeParagraphTwo: `Tenkuma, ou 天くま em japonês, significa urso celestial e foi um nome dado a mim por um amigo que eu já perdi contato há muito tempo. Sakata se foi, mas o nome ficou e se tornou parte integral da personalidade do meu eu digital até hoje.`,
homeSocialsAndContactParagraph: `
Estou publicamente disponível no Mastodon (${globalValues.mastodon.username}) ,
GitHub (${globalValues.github.username}) ,
@@ -81,11 +102,10 @@ module.exports = {
Modrinth (${globalValues.modrinth.username})
e XMPP (${globalValues.xmpp.username}) .
`,
- homeSocialsAndContactParagraphTwo: `Você pode enviar um correio eletrônico para (${globalValues.email}) ou me contactar por qualquer outro meio citado acima. Para assuntos relativos a projetos específicos, verifique o campo de contato do projeto, caso não haja um adicione +nomedoprojeto ao meu endereço de E-mail (exemplo: adrianvictor+projetolegal@disroot.org).
- Por favor, evite me contactar por meios não citados acima :) `,
- homeMyMusicParagraph: `Eu e meus amigos temos uma gravadora de música amadora chamada Margarina Records , as coisas andam devagar com meus projetos musicais, geralmente por causa da escola ou falta de conhecimento no campo, mas eu estou dando um jeito.`,
- homeMyMusicParagraphTwo: `Você pode conferir minhas músicas mais recentes no site da gravadora e no Genius . Você provavelmente vai gostar do trabalho dos outros membros, então dê uma olhada nas outras tracks da MGR.`,
- homeMyVideoParagraph: "Eu tenho um canal no YouTube em que na maioria das vezes eu posto vídeos de Minecraft, mas pretendo expandir a variedade de conteúdos no futuro. Não tenho nenhuma previsão de publicação no meu canal, pois editar os vídeos leva tempo e eu tenho pouco tempo para trabalhar nos meus projetos, você deveria se inscrever se quiser saber quando eu posto meus vídeos!",
+ homeSocialsAndContactParagraphTwo: `Você pode enviar um correio eletrônico para (${globalValues.email}) ou me contactar por qualquer outro meio citado acima. Para assuntos relativos a projetos específicos, verifique o campo de contato do projeto, caso não haja um adicione +nomedoprojeto ao meu endereço de E-mail (exemplo: adrianvictor+projetolegal@disroot.org).`,
+ homeMyMusicParagraph: `Sempre amei música, e tenho achado produção musical algo muito interessante ultimamente. Publico minhas músicas como tenkuma , junto com meus amigos formei a Margarina Records —uma label amadora.`,
+ homeMyMusicParagraphTwo: `Você pode conferir minhas músicas mais recentes no meu perfil do Genius .`,
+ homeMyVideoParagraph: "Eu faço vídeos para o meu canal do YouTube . Não posto regularmente; não tem calendário—apenas eu mostrando alguma coisa em vídeo.",
homeMyVideoRandomVideoParagraph: "Aqui está um vídeo aleatório que eu me orgulho de ter postado:",
homeVideoTitle: "Como instalar o FL Studio no Linux?",
homeMySoftwareParagraph: `Estou estudando informática no IFC (SC, Brazil) mas no meu tempo livre tenho projetos como programas de computador, plugins para Minecraft, servidores Minecraft, etc... Todos meus projetos públicos estão disponíveis no meu perfil do GitHub .`,
@@ -102,6 +122,7 @@ module.exports = {
options: "Opções",
alsoAvailableAsVideo: "Também disponível em vídeo",
websiteDescription: "Website/blog pessoal de Adrian Victor.",
- miscellaneous: "Miscelâneo"
+ miscellaneous: "Miscelâneo",
+ i88x31hover: "Clique para expandir"
}
-};
+};
\ No newline at end of file
diff --git a/_includes/base.njk b/_includes/base.njk
index 85fb25a..a5e0a0e 100644
--- a/_includes/base.njk
+++ b/_includes/base.njk
@@ -6,8 +6,9 @@
-
+
+
diff --git a/_includes/macros.njk b/_includes/macros.njk
new file mode 100644
index 0000000..60bf451
--- /dev/null
+++ b/_includes/macros.njk
@@ -0,0 +1,35 @@
+{% macro i88x31(link) %}
+
+{% endmacro %}
+
+{% macro videoCard(videoLink, videoTitle, videoImage, videoWebsite, videoDuration, videoAccent) %}
+
+{% endmacro %}
+
+{% macro projectCard(projectName, projectDescription, projectLink, projectImage, projectImageAlt) %}
+
+
+
+
{{ projectDescription }}
+
+
+{% endmacro %}
\ No newline at end of file
diff --git a/_includes/post.njk b/_includes/post.njk
index 2d636ce..2edd540 100644
--- a/_includes/post.njk
+++ b/_includes/post.njk
@@ -3,6 +3,8 @@ layout: base.njk
title: Adrian Victor:Blog
---
{% set altLanguages = collections.post | alternateLanguages(postId, langKey) %}
+{% from "macros.njk" import videoCard with context %}
+
{% if postVideoLink and postVideoImage and postVideoTitle and postVideoWebsite %}
-
-
-
-
-
-
-
+ {{ videoCard(postVideoLink, postVideoTitle, postVideoImage, postVideoWebsite, postVideoDuration) }}
{% endif %}
+
{{ content | safe }}
\ No newline at end of file
diff --git a/index.njk b/index.njk
index e639ac7..993a6ba 100644
--- a/index.njk
+++ b/index.njk
@@ -6,6 +6,9 @@ pagination:
permalink: "/{{ langKey }}/index.html"
layout: base.njk
---
+{% from "macros.njk" import i88x31 with context %}
+{% from "macros.njk" import videoCard with context %}
+{% from "macros.njk" import projectCard %}
@@ -19,90 +22,79 @@ layout: base.njk
display: none;
}
+
+
+
+
{{ i18n[langKey].aboutMe | smartTitle }}
+
{{ i18n[langKey].homeAboutMeParagraph | safe }}
+
{{ i18n[langKey].homeAboutMeParagraphTwo | safe }}
{{ i18n[langKey].socialsAndContact | smartTitle }}
{{ i18n[langKey].homeSocialsAndContactParagraph | safe }}
{{ i18n[langKey].homeSocialsAndContactParagraphTwo | safe }}
+
+
+
+
+ {{
+ videoCard(
+ i18n["global"].homeSongLink,
+ i18n["global"].homeSongTitle,
+ i18n["global"].homeSongImage,
+ i18n["global"].homeSongWebsite,
+ i18n["global"].homeSongDuration,
+ i18n["global"].homeSongAccent
+ )
+ }}
+
+
+
+
+ {{
+ videoCard(
+ i18n["global"].homeVideoLink,
+ i18n[langKey].homeVideoTitle,
+ i18n["global"].homeVideoImage,
+ i18n["global"].homeVideoWebsite,
+ i18n["global"].homeVideoDuration
+ )
+ }}
+
+
+
-
-
-
-
{{ i18n[langKey].jamfishProjectDesctiption | safe }}
-
-
-
-
-
-
{{ i18n[langKey].eyeofnemesisProjectDesctiption | safe }}
-
-
-
-
-
-
-
{{ i18n[langKey].itemeconomyProjectDesctiption | safe }}
-
-
-
-
-
-
{{ i18n[langKey].pestoProjectDesctiption | safe }}
-
-
+ {{ projectCard("Jamfish", i18n[langKey].jamfishProjectDesctiption, "https://github.com/adrianvic/jamfish", "/static/images/jamfish-wide.png") }}
+ {{ projectCard("ItemEconomy", i18n[langKey].itemeconomyProjectDesctiption, "https://github.com/adrianvic/ItemEconomy", "/static/images/itemeconomy2-wide.png") }}
+ {{ projectCard("Eye of Nemesis", i18n[langKey].eyeofnemesisProjectDesctiption, "https://github.com/adrianvic/NemesisEye", "/static/images/eye_of_nemesis.png") }}
+ {{ projectCard("PestoWiki", i18n[langKey].pestoProjectDesctiption, "https://github.com/Margarina-not-butter/PestoWiki", "/static/images/pestowikifullwhite.png") }}
diff --git a/maintenance/edit-i18n.js b/maintenance/edit-i18n.js
new file mode 100644
index 0000000..216820b
--- /dev/null
+++ b/maintenance/edit-i18n.js
@@ -0,0 +1,191 @@
+// Coded entirely by ChatGPT
+// :(
+
+const express = require("express");
+const fs = require("fs");
+const parser = require("@babel/parser");
+const traverse = require("@babel/traverse").default;
+const generate = require("@babel/generator").default;
+const t = require("@babel/types");
+
+const app = express();
+app.use(express.json());
+
+const FILE = "../_data/i18n.js";
+
+function loadAST() {
+ const code = fs.readFileSync(FILE, "utf8");
+ return parser.parse(code, { sourceType: "module" });
+}
+
+function extract(ast) {
+ const out = {};
+
+ traverse(ast, {
+ AssignmentExpression(path) {
+ if (
+ path.node.left.object?.name === "module" &&
+ path.node.left.property?.name === "exports"
+ ) {
+ path.node.right.properties.forEach(langProp => {
+ const lang = langProp.key.name || langProp.key.value;
+ out[lang] = {};
+
+ langProp.value.properties.forEach(p => {
+ const key = p.key.name || p.key.value;
+ out[lang][key] = p.value.extra?.raw || generate(p.value).code;
+ });
+ });
+ }
+ }
+ });
+
+ return out;
+}
+
+function write(ast, newData) {
+ traverse(ast, {
+ AssignmentExpression(path) {
+ if (
+ path.node.left.object?.name === "module" &&
+ path.node.left.property?.name === "exports"
+ ) {
+ path.node.right.properties.forEach(langProp => {
+ const lang = langProp.key.name || langProp.key.value;
+
+ const existingKeys = new Set(
+ langProp.value.properties.map(p => p.key.name || p.key.value)
+ );
+
+ // update existing
+ langProp.value.properties.forEach(p => {
+ const key = p.key.name || p.key.value;
+
+ if (key in (newData[lang] || {})) {
+ p.value = parser.parseExpression(newData[lang][key]);
+ }
+ });
+
+ // add new keys
+ Object.keys(newData[lang] || {}).forEach(key => {
+ if (!existingKeys.has(key)) {
+ langProp.value.properties.push(
+ t.objectProperty(
+ t.identifier(key),
+ parser.parseExpression(newData[lang][key])
+ )
+ );
+ }
+ });
+ });
+ }
+ }
+ });
+
+ const output = generate(ast, { retainLines: true }).code;
+ fs.writeFileSync(FILE, output);
+}
+
+app.get("/data", (req, res) => {
+ const ast = loadAST();
+ res.json(extract(ast));
+});
+
+app.post("/save", (req, res) => {
+ const ast = loadAST();
+ write(ast, req.body);
+ res.send("ok");
+});
+
+app.get("/", (req, res) => {
+ res.send(`
+
+
+
+i18n Editor
+
+Add
+Save
+
+
+
+
+ `);
+ });
+
+ app.listen(3000,()=>console.log('http://localhost:3000'));
+
\ No newline at end of file
diff --git a/misc/88x31/index.njk b/misc/88x31/index.njk
index 4a2aa6f..8b5098f 100644
--- a/misc/88x31/index.njk
+++ b/misc/88x31/index.njk
@@ -8,6 +8,7 @@ pagination:
pageTitle: 88x31
tags: misc
---
+{% from "macros.njk" import i88x31 with context %}
{{ t.me }}
-
+ {{ i88x31("tenkuma.gif") }}
{{ t.others }}
{% for image in collections.88x31 %}
-
+ {{ i88x31(image.fileSlug) }}
{% endfor %}
\ No newline at end of file
diff --git a/misc/bookmarks/en.json b/misc/bookmarks/en.json
index d56715a..87d6d78 100644
--- a/misc/bookmarks/en.json
+++ b/misc/bookmarks/en.json
@@ -1,6 +1,6 @@
{
"pageTitle": "Bookmarks",
- "pageDescription": "Minha coleção de sites e páginas interessantes.",
+ "pageDescription": "My collection of interesting websites/pages.",
"profiles": "Profiles",
"downloads": "Downloads"
}
\ No newline at end of file
diff --git a/misc/bookmarks/index.njk b/misc/bookmarks/index.njk
index 4faa014..b49c0d0 100644
--- a/misc/bookmarks/index.njk
+++ b/misc/bookmarks/index.njk
@@ -8,12 +8,13 @@ tags: misc
background: towers.jpg
backgroundOpacity: .2
---
+{% from "macros.njk" import i88x31 with context %}
{% for sectionName, section in c.links %}
@@ -24,7 +25,7 @@ backgroundOpacity: .2
{% if link.88x31 %}
{% for 88x31 in link.88x31 %}
-
+ {{ i88x31(88x31) }}
{% endfor %}
{% endif %}
diff --git a/package-lock.json b/package-lock.json
index ee3287d..affb8b5 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9,7 +9,12 @@
"version": "1.0.0",
"license": "ISC",
"devDependencies": {
- "eleventy-plugin-citations": "^0.1.10"
+ "@babel/generator": "^7.29.1",
+ "@babel/parser": "^7.29.2",
+ "@babel/traverse": "^7.29.0",
+ "eleventy-plugin-citations": "^0.1.10",
+ "express": "^5.2.1",
+ "readline-sync": "^1.4.10"
}
},
"node_modules/@11ty/dependency-tree": {
@@ -206,6 +211,84 @@
"node": ">=18"
}
},
+ "node_modules/@babel/code-frame": {
+ "version": "7.29.0",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz",
+ "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.28.5",
+ "js-tokens": "^4.0.0",
+ "picocolors": "^1.1.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/generator": {
+ "version": "7.29.1",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz",
+ "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/parser": "^7.29.0",
+ "@babel/types": "^7.29.0",
+ "@jridgewell/gen-mapping": "^0.3.12",
+ "@jridgewell/trace-mapping": "^0.3.28",
+ "jsesc": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-globals": {
+ "version": "7.28.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz",
+ "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-string-parser": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz",
+ "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-identifier": {
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz",
+ "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/parser": {
+ "version": "7.29.2",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz",
+ "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.29.0"
+ },
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
"node_modules/@babel/runtime-corejs3": {
"version": "7.28.4",
"resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.28.4.tgz",
@@ -219,6 +302,93 @@
"node": ">=6.9.0"
}
},
+ "node_modules/@babel/template": {
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz",
+ "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.28.6",
+ "@babel/parser": "^7.28.6",
+ "@babel/types": "^7.28.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/traverse": {
+ "version": "7.29.0",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz",
+ "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.29.0",
+ "@babel/generator": "^7.29.0",
+ "@babel/helper-globals": "^7.28.0",
+ "@babel/parser": "^7.29.0",
+ "@babel/template": "^7.28.6",
+ "@babel/types": "^7.29.0",
+ "debug": "^4.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/types": {
+ "version": "7.29.0",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz",
+ "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.27.1",
+ "@babel/helper-validator-identifier": "^7.28.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.13",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
+ "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.5.0",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ }
+ },
+ "node_modules/@jridgewell/resolve-uri": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.5.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
+ "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.31",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz",
+ "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
+ }
+ },
"node_modules/@sindresorhus/slugify": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/@sindresorhus/slugify/-/slugify-2.2.1.tgz",
@@ -262,6 +432,20 @@
"license": "MIT",
"peer": true
},
+ "node_modules/accepts": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz",
+ "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "mime-types": "^3.0.0",
+ "negotiator": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
"node_modules/acorn": {
"version": "8.15.0",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
@@ -461,6 +645,31 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/body-parser": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.2.tgz",
+ "integrity": "sha512-oP5VkATKlNwcgvxi0vM0p/D3n2C3EReYVX+DNYs5TjZFn/oQt2j+4sVJtSMr18pdRr8wjTcBl6LoV+FUwzPmNA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "bytes": "^3.1.2",
+ "content-type": "^1.0.5",
+ "debug": "^4.4.3",
+ "http-errors": "^2.0.0",
+ "iconv-lite": "^0.7.0",
+ "on-finished": "^2.4.1",
+ "qs": "^6.14.1",
+ "raw-body": "^3.0.1",
+ "type-is": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
+ }
+ },
"node_modules/brace-expansion": {
"version": "1.1.12",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
@@ -487,6 +696,47 @@
"node": ">=8"
}
},
+ "node_modules/bytes": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
+ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/call-bind-apply-helpers": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
+ "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/call-bound": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz",
+ "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.2",
+ "get-intrinsic": "^1.3.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/chokidar": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
@@ -539,6 +789,50 @@
"license": "MIT",
"peer": true
},
+ "node_modules/content-disposition": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.1.0.tgz",
+ "integrity": "sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
+ }
+ },
+ "node_modules/content-type": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
+ "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/cookie": {
+ "version": "0.7.2",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz",
+ "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/cookie-signature": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz",
+ "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.6.0"
+ }
+ },
"node_modules/core-js-pure": {
"version": "3.46.0",
"resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.46.0.tgz",
@@ -557,7 +851,6 @@
"integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"ms": "^2.1.3"
},
@@ -576,7 +869,6 @@
"integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
"dev": true,
"license": "MIT",
- "peer": true,
"engines": {
"node": ">= 0.8"
}
@@ -666,13 +958,27 @@
"url": "https://github.com/fb55/domutils?sponsor=1"
}
},
+ "node_modules/dunder-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
+ "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.2.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/ee-first": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
"integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
"dev": true,
- "license": "MIT",
- "peer": true
+ "license": "MIT"
},
"node_modules/eleventy-plugin-citations": {
"version": "0.1.10",
@@ -697,7 +1003,6 @@
"integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
"dev": true,
"license": "MIT",
- "peer": true,
"engines": {
"node": ">= 0.8"
}
@@ -730,13 +1035,45 @@
"errno": "cli.js"
}
},
+ "node_modules/es-define-property": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
+ "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-errors": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
+ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-object-atoms": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
+ "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/escape-html": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
"integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
"dev": true,
- "license": "MIT",
- "peer": true
+ "license": "MIT"
},
"node_modules/escape-string-regexp": {
"version": "5.0.0",
@@ -784,7 +1121,6 @@
"integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
"dev": true,
"license": "MIT",
- "peer": true,
"engines": {
"node": ">= 0.6"
}
@@ -800,6 +1136,72 @@
"node": ">= 8"
}
},
+ "node_modules/express": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/express/-/express-5.2.1.tgz",
+ "integrity": "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "accepts": "^2.0.0",
+ "body-parser": "^2.2.1",
+ "content-disposition": "^1.0.0",
+ "content-type": "^1.0.5",
+ "cookie": "^0.7.1",
+ "cookie-signature": "^1.2.1",
+ "debug": "^4.4.0",
+ "depd": "^2.0.0",
+ "encodeurl": "^2.0.0",
+ "escape-html": "^1.0.3",
+ "etag": "^1.8.1",
+ "finalhandler": "^2.1.0",
+ "fresh": "^2.0.0",
+ "http-errors": "^2.0.0",
+ "merge-descriptors": "^2.0.0",
+ "mime-types": "^3.0.0",
+ "on-finished": "^2.4.1",
+ "once": "^1.4.0",
+ "parseurl": "^1.3.3",
+ "proxy-addr": "^2.0.7",
+ "qs": "^6.14.0",
+ "range-parser": "^1.2.1",
+ "router": "^2.2.0",
+ "send": "^1.1.0",
+ "serve-static": "^2.2.0",
+ "statuses": "^2.0.1",
+ "type-is": "^2.0.1",
+ "vary": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 18"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
+ }
+ },
+ "node_modules/express/node_modules/finalhandler": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.1.tgz",
+ "integrity": "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^4.4.0",
+ "encodeurl": "^2.0.0",
+ "escape-html": "^1.0.3",
+ "on-finished": "^2.4.1",
+ "parseurl": "^1.3.3",
+ "statuses": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 18.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
+ }
+ },
"node_modules/extend-shallow": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
@@ -897,13 +1299,22 @@
"license": "MIT",
"peer": true
},
+ "node_modules/forwarded": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
+ "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
"node_modules/fresh": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz",
"integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==",
"dev": true,
"license": "MIT",
- "peer": true,
"engines": {
"node": ">= 0.8"
}
@@ -924,6 +1335,55 @@
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
}
},
+ "node_modules/function-bind": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/get-intrinsic": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
+ "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.2",
+ "es-define-property": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.1.1",
+ "function-bind": "^1.1.2",
+ "get-proto": "^1.0.1",
+ "gopd": "^1.2.0",
+ "has-symbols": "^1.1.0",
+ "hasown": "^2.0.2",
+ "math-intrinsics": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/get-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
+ "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "dunder-proto": "^1.0.1",
+ "es-object-atoms": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/glob-parent": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
@@ -938,6 +1398,19 @@
"node": ">= 6"
}
},
+ "node_modules/gopd": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
+ "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/gray-matter": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz",
@@ -981,6 +1454,32 @@
"js-yaml": "bin/js-yaml.js"
}
},
+ "node_modules/has-symbols": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
+ "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/hasown": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.3.tgz",
+ "integrity": "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/htmlparser2": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz",
@@ -1028,21 +1527,51 @@
}
},
"node_modules/http-errors": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
- "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz",
+ "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
- "depd": "2.0.0",
- "inherits": "2.0.4",
- "setprototypeof": "1.2.0",
- "statuses": "2.0.1",
- "toidentifier": "1.0.1"
+ "depd": "~2.0.0",
+ "inherits": "~2.0.4",
+ "setprototypeof": "~1.2.0",
+ "statuses": "~2.0.2",
+ "toidentifier": "~1.0.1"
},
"engines": {
"node": ">= 0.8"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
+ }
+ },
+ "node_modules/http-errors/node_modules/statuses": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz",
+ "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/iconv-lite": {
+ "version": "0.7.2",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz",
+ "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
}
},
"node_modules/inherits": {
@@ -1050,8 +1579,17 @@
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
"dev": true,
- "license": "ISC",
- "peer": true
+ "license": "ISC"
+ },
+ "node_modules/ipaddr.js": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
+ "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.10"
+ }
},
"node_modules/is-alphabetical": {
"version": "2.0.1",
@@ -1162,6 +1700,13 @@
"node": ">=0.12.0"
}
},
+ "node_modules/is-promise": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz",
+ "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/iso-639-1": {
"version": "3.1.5",
"resolved": "https://registry.npmjs.org/iso-639-1/-/iso-639-1-3.1.5.tgz",
@@ -1173,6 +1718,13 @@
"node": ">=6.0"
}
},
+ "node_modules/js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/js-yaml": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
@@ -1187,6 +1739,19 @@
"js-yaml": "bin/js-yaml.js"
}
},
+ "node_modules/jsesc": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
+ "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "jsesc": "bin/jsesc"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/junk": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz",
@@ -1312,6 +1877,16 @@
"url": "https://github.com/fb55/entities?sponsor=1"
}
},
+ "node_modules/math-intrinsics": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
+ "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/maximatch": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/maximatch/-/maximatch-0.1.0.tgz",
@@ -1337,6 +1912,29 @@
"license": "MIT",
"peer": true
},
+ "node_modules/media-typer": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz",
+ "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/merge-descriptors": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz",
+ "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/mime": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz",
@@ -1357,7 +1955,6 @@
"integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==",
"dev": true,
"license": "MIT",
- "peer": true,
"engines": {
"node": ">= 0.6"
}
@@ -1368,7 +1965,6 @@
"integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"mime-db": "^1.54.0"
},
@@ -1433,8 +2029,17 @@
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"dev": true,
+ "license": "MIT"
+ },
+ "node_modules/negotiator": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz",
+ "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==",
+ "dev": true,
"license": "MIT",
- "peer": true
+ "engines": {
+ "node": ">= 0.6"
+ }
},
"node_modules/node-retrieve-globals": {
"version": "6.0.1",
@@ -1498,13 +2103,25 @@
"node": ">= 6"
}
},
+ "node_modules/object-inspect": {
+ "version": "1.13.4",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",
+ "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/on-finished": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
"integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"ee-first": "1.1.1"
},
@@ -1512,6 +2129,16 @@
"node": ">= 0.8"
}
},
+ "node_modules/once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "wrappy": "1"
+ }
+ },
"node_modules/parse-srcset": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/parse-srcset/-/parse-srcset-1.0.2.tgz",
@@ -1526,11 +2153,28 @@
"integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
"dev": true,
"license": "MIT",
- "peer": true,
"engines": {
"node": ">= 0.8"
}
},
+ "node_modules/path-to-regexp": {
+ "version": "8.4.2",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.4.2.tgz",
+ "integrity": "sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
+ }
+ },
+ "node_modules/picocolors": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
+ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
+ "dev": true,
+ "license": "ISC"
+ },
"node_modules/picomatch": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
@@ -1613,6 +2257,20 @@
"node": ">=12"
}
},
+ "node_modules/proxy-addr": {
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
+ "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "forwarded": "0.2.0",
+ "ipaddr.js": "1.9.1"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
"node_modules/prr": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
@@ -1632,17 +2290,48 @@
"node": ">=6"
}
},
+ "node_modules/qs": {
+ "version": "6.15.1",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.1.tgz",
+ "integrity": "sha512-6YHEFRL9mfgcAvql/XhwTvf5jKcOiiupt2FiJxHkiX1z4j7WL8J/jRHYLluORvc1XxB5rV20KoeK00gVJamspg==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "side-channel": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=0.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/range-parser": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
"integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
"dev": true,
"license": "MIT",
- "peer": true,
"engines": {
"node": ">= 0.6"
}
},
+ "node_modules/raw-body": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.2.tgz",
+ "integrity": "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "bytes": "~3.1.2",
+ "http-errors": "~2.0.1",
+ "iconv-lite": "~0.7.0",
+ "unpipe": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
"node_modules/readdirp": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
@@ -1671,6 +2360,40 @@
"url": "https://github.com/sponsors/jonschlinkert"
}
},
+ "node_modules/readline-sync": {
+ "version": "1.4.10",
+ "resolved": "https://registry.npmjs.org/readline-sync/-/readline-sync-1.4.10.tgz",
+ "integrity": "sha512-gNva8/6UAe8QYepIQH/jQ2qn91Qj0B9sYjMBBs3QOB8F2CXcKgLxQaJRP76sWVRQt+QU+8fAkCbCvjjMFu7Ycw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/router": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz",
+ "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^4.4.0",
+ "depd": "^2.0.0",
+ "is-promise": "^4.0.0",
+ "parseurl": "^1.3.3",
+ "path-to-regexp": "^8.0.0"
+ },
+ "engines": {
+ "node": ">= 18"
+ }
+ },
+ "node_modules/safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/section-matter": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz",
@@ -1714,7 +2437,6 @@
"integrity": "sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"debug": "^4.3.5",
"encodeurl": "^2.0.0",
@@ -1732,13 +2454,108 @@
"node": ">= 18"
}
},
+ "node_modules/serve-static": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.1.tgz",
+ "integrity": "sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "encodeurl": "^2.0.0",
+ "escape-html": "^1.0.3",
+ "parseurl": "^1.3.3",
+ "send": "^1.2.0"
+ },
+ "engines": {
+ "node": ">= 18"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
+ }
+ },
"node_modules/setprototypeof": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
"integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
"dev": true,
- "license": "ISC",
- "peer": true
+ "license": "ISC"
+ },
+ "node_modules/side-channel": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz",
+ "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "object-inspect": "^1.13.3",
+ "side-channel-list": "^1.0.0",
+ "side-channel-map": "^1.0.1",
+ "side-channel-weakmap": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/side-channel-list": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz",
+ "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "object-inspect": "^1.13.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/side-channel-map": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz",
+ "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.5",
+ "object-inspect": "^1.13.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/side-channel-weakmap": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz",
+ "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.5",
+ "object-inspect": "^1.13.3",
+ "side-channel-map": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
},
"node_modules/slash": {
"version": "3.0.0",
@@ -1790,7 +2607,6 @@
"integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
"dev": true,
"license": "MIT",
- "peer": true,
"engines": {
"node": ">= 0.8"
}
@@ -1851,11 +2667,25 @@
"integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
"dev": true,
"license": "MIT",
- "peer": true,
"engines": {
"node": ">=0.6"
}
},
+ "node_modules/type-is": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz",
+ "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "content-type": "^1.0.5",
+ "media-typer": "^1.1.0",
+ "mime-types": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
"node_modules/uc.micro": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz",
@@ -1870,7 +2700,6 @@
"integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
"dev": true,
"license": "MIT",
- "peer": true,
"engines": {
"node": ">= 0.8"
}
@@ -1883,6 +2712,23 @@
"license": "MIT",
"peer": true
},
+ "node_modules/vary": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
+ "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
+ "dev": true,
+ "license": "ISC"
+ },
"node_modules/ws": {
"version": "8.18.3",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz",
diff --git a/package.json b/package.json
index d629599..f22f0e1 100644
--- a/package.json
+++ b/package.json
@@ -13,6 +13,11 @@
"license": "ISC",
"type": "commonjs",
"devDependencies": {
- "eleventy-plugin-citations": "^0.1.10"
+ "@babel/generator": "^7.29.1",
+ "@babel/parser": "^7.29.2",
+ "@babel/traverse": "^7.29.0",
+ "eleventy-plugin-citations": "^0.1.10",
+ "express": "^5.2.1",
+ "readline-sync": "^1.4.10"
}
}
diff --git a/static/images/88x31/botao08.gif b/static/images/88x31/botao08.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0d939de98b1ce96c4b98dbf644e2649a3923155e
GIT binary patch
literal 62212
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