├── .gitignore
├── docs
├── .observablehq
│ └── deploy.json
├── data
│ ├── caltrans-districts.json.sh
│ ├── diamonds.jpeg.exe
│ ├── magic.json.js
│ ├── penguin.csv.sh
│ ├── penguin-kmeans.csv.R
│ ├── birth-statistics.png.py
│ ├── alt-fuel-stations.parquet.sh
│ ├── penguin-logistic.csv.py
│ ├── penguin-mlr.zip.R
│ ├── raven.txt.exe
│ ├── us-electricity.tsv.js
│ ├── tolstoy.json.R
│ └── earthquakes.zip.py
├── components
│ └── showCode.js
├── index.md
├── js.md
├── exe.md
├── shell.md
├── python.md
├── r.md
└── data-files
│ └── penguins.csv
├── package.json
├── README.md
├── observablehq.config.js
└── yarn.lock
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | dist/
3 | docs/.observablehq/cache/
4 | node_modules/
5 | yarn-error.log
6 | .Rhistory
7 | .Rdata
8 |
--------------------------------------------------------------------------------
/docs/.observablehq/deploy.json:
--------------------------------------------------------------------------------
1 | {
2 | "projectId": "3d09e5ec21a81243",
3 | "projectSlug": "data-loader-examples",
4 | "workspaceLogin": "observablehq"
5 | }
6 |
--------------------------------------------------------------------------------
/docs/data/caltrans-districts.json.sh:
--------------------------------------------------------------------------------
1 | curl 'https://gis.data.ca.gov/datasets/0144574f750f4ccc88749004aca6eb0c_0.geojson?outSR=%7B%22latestWkid%22%3A3857%2C%22wkid%22%3A102100%7D' \
2 | --compressed
--------------------------------------------------------------------------------
/docs/data/diamonds.jpeg.exe:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env Rscript
2 |
3 | # Load ggplot2
4 | library(ggplot2)
5 |
6 | # Create a scatterplot with built-in diamonds dataset
7 | my_plot <- ggplot(diamonds, aes(x = carat, y = price, color = cut)) +
8 | geom_point(alpha = 0.6) +
9 | labs(
10 | title = "Diamonds Dataset: Carat vs Price by Cut",
11 | x = "Carat",
12 | y = "Price",
13 | color = "Cut"
14 | )
15 |
16 | # Save jpeg and write to standard output
17 | ggsave(plot = my_plot, filename = "/dev/stdout", device = "jpeg")
18 |
--------------------------------------------------------------------------------
/docs/data/magic.json.js:
--------------------------------------------------------------------------------
1 | // Import d3 functions:
2 | import * as d3 from "d3";
3 |
4 | // Access and wrangle data
5 | const url = "https://api.scryfall.com/cards/search?order=cmc&q=c:red%20pow=3";
6 |
7 | const magicCards = await d3.json(url);
8 |
9 | const magicCardsData = magicCards.data.map((d) => ({
10 | name: d.name,
11 | release: d.released_at,
12 | mana_cost: d.mana_cost,
13 | type: d.type_line,
14 | set: d.set_name,
15 | rarity: d.rarity
16 | }));
17 |
18 | // Write as JSON to standard output:
19 | process.stdout.write(JSON.stringify(magicCardsData));
20 |
--------------------------------------------------------------------------------
/docs/data/penguin.csv.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # Start a Python script
4 | python3 << END_PYTHON
5 |
6 | # Import libraries
7 | import sys
8 | import pandas as pd
9 | from sklearn.linear_model import LinearRegression
10 |
11 | # Data access and wrangling
12 | penguins = pd.read_csv("docs/data-files/penguins.csv")
13 | penguins_size = penguins[["species", "body_mass_g", "flipper_length_mm", "sex"]]
14 | penguins_complete = penguins_size.dropna(subset=["flipper_length_mm","body_mass_g"])
15 |
16 | # Write pandas df as a CSV to standard output
17 | penguins_complete.to_csv(sys.stdout)
18 | END_PYTHON
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "module",
3 | "private": true,
4 | "scripts": {
5 | "clean": "rimraf docs/.observablehq/cache",
6 | "build": "rimraf dist && observable build",
7 | "dev": "observable preview",
8 | "deploy": "observable deploy",
9 | "observable": "observable"
10 | },
11 | "dependencies": {
12 | "@observablehq/framework": "latest",
13 | "d3": "^7.9.0",
14 | "d3-dsv": "^3.0.1",
15 | "d3-time-format": "^4.1.0"
16 | },
17 | "devDependencies": {
18 | "rimraf": "^5.0.5"
19 | },
20 | "engines": {
21 | "node": ">=18"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/docs/data/penguin-kmeans.csv.R:
--------------------------------------------------------------------------------
1 | # Attach libraries (must be installed)
2 | library(readr)
3 | library(dplyr)
4 | library(tidyr)
5 |
6 | # Data access, wrangling and analysis
7 | penguins <- read_csv("docs/data-files/penguins.csv") |>
8 | drop_na(culmen_depth_mm, culmen_length_mm)
9 |
10 | penguin_kmeans <- penguins |>
11 | select(culmen_depth_mm, culmen_length_mm) |>
12 | scale() |>
13 | kmeans(centers = 3)
14 |
15 | penguin_clusters <- penguins |>
16 | mutate(cluster = penguin_kmeans$cluster)
17 |
18 | # Convert data frame to delimited string, then write to standard output
19 | cat(format_csv(penguin_clusters))
20 |
--------------------------------------------------------------------------------
/docs/data/birth-statistics.png.py:
--------------------------------------------------------------------------------
1 | # Import libraries (must be installed and available in environment)
2 | import geopandas as gpd
3 | import matplotlib.pyplot as plt
4 | import io
5 | import sys
6 |
7 | # Read in data:
8 | birth_statistics = gpd.read_file("docs/data-files/birth_statistics.geojson")
9 |
10 | # Create a basic choropleth map
11 | birth_statistics.plot(column="Birth_Rate", legend=True)
12 | plt.axis("off")
13 |
14 | # Save plot to a virtual file, then write binary PNG data to stdout
15 | img_buffer = io.BytesIO()
16 | plt.savefig(img_buffer, format="png")
17 | img_buffer.seek(0)
18 |
19 | sys.stdout.buffer.write(img_buffer.getvalue())
20 |
--------------------------------------------------------------------------------
/docs/data/alt-fuel-stations.parquet.sh:
--------------------------------------------------------------------------------
1 | duckdb -csv :memory: << EOF
2 |
3 | CREATE TABLE allp AS (
4 | FROM 'https://data.openei.org/files/106/alt_fuel_stations%20%28Jul%2029%202021%29.csv'
5 | );
6 |
7 | CREATE TABLE cafuelstations AS (
8 | SELECT "Fuel Type Code" as Type,
9 | State,
10 | ZIP,
11 | Latitude,
12 | Longitude
13 | FROM allp
14 | WHERE State = 'CA'
15 | );
16 |
17 | COPY cafuelstations TO '$TMPDIR/cafuelstations.parquet' (FORMAT 'parquet', COMPRESSION 'GZIP');
18 |
19 | EOF
20 |
21 | # isatty
22 | if [ -t 1 ]; then
23 | echo parquet file output at: $TMPDIR/cafuelstations.parquet
24 | echo "duckdb -csv :memory: \"SELECT * FROM '$TMPDIR/cafuelstations.parquet'\""
25 | else
26 | cat $TMPDIR/cafuelstations.parquet
27 | rm $TMPDIR/cafuelstations.parquet
28 | fi
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Data loader examples
2 |
3 | This repo contains example data loaders in an Observable Framework project, highlighting a variety of data loader types (*e.g.* Python, R, .exe, JavaScript, etc.) and payloads (*e.g.* CSV, text, images, and more).
4 |
5 | Data loaders are stored in [`docs/data/`](https://github.com/observablehq/data-loader-examples/tree/main/docs/data). Files generated by data loaders are accessed in individual pages named by loader type (*e.g.* `python.md`), each in the [`docs`](https://github.com/observablehq/data-loader-examples/tree/main/docs) directory.
6 |
7 | See copyable code for each data loader, and live outputs, deployed on Observable: https://observablehq.observablehq.cloud/data-loader-examples/
8 |
9 | This is an [Observable Framework](https://observablehq.com/framework) project.
--------------------------------------------------------------------------------
/docs/data/penguin-logistic.csv.py:
--------------------------------------------------------------------------------
1 | # Import libraries (must be installed)
2 | import pandas as pd
3 | from sklearn.linear_model import LogisticRegression
4 | import sys
5 |
6 | # Data access, wrangling and analysis
7 | df = pd.read_csv("docs/data-files/penguins.csv")
8 | df_complete = df.dropna(
9 | subset=["culmen_length_mm", "culmen_depth_mm", "flipper_length_mm", "body_mass_g"]
10 | )
11 |
12 | X = df_complete.iloc[:, [2, 3, 4, 5]]
13 | Y = df_complete.iloc[:, 0]
14 |
15 | logreg = LogisticRegression()
16 | logreg.fit(X, Y)
17 |
18 | results = df_complete.copy()
19 | results["predicted_species"] = logreg.predict(X)
20 |
21 | df_out = df.merge(
22 | results[["predicted_species"]], how="left", left_index=True, right_index=True
23 | )
24 |
25 | # Write the data frame to CSV, and to standard output
26 | df_out.to_csv(sys.stdout)
27 |
--------------------------------------------------------------------------------
/docs/data/penguin-mlr.zip.R:
--------------------------------------------------------------------------------
1 | # Attach required packages (must be installed)
2 | library(readr)
3 | library(tidyr)
4 | library(dplyr)
5 | library(broom)
6 |
7 | # Data access, wrangling and analysis
8 | penguins <- read_csv("docs/data-files/penguins.csv") |>
9 | drop_na(body_mass_g, species, sex, flipper_length_mm, culmen_depth_mm)
10 |
11 | penguins_mlr <- lm(body_mass_g ~ species + sex + flipper_length_mm + culmen_depth_mm, data = penguins)
12 |
13 | mlr_est <- tidy(penguins_mlr)
14 |
15 | mlr_fit <- penguins |>
16 | mutate(
17 | body_mass_g_predict = penguins_mlr$fitted.values,
18 | body_mass_g_residual = penguins_mlr$residuals
19 | )
20 |
21 | # Write the data frames as CSVs to a temporary directory
22 | setwd(tempdir())
23 | write_csv(mlr_est, "estimates.csv")
24 | write_csv(mlr_fit, "predictions.csv")
25 |
26 | # Zip the contents of the temporary directory
27 | system("zip - -r .")
28 |
--------------------------------------------------------------------------------
/docs/data/raven.txt.exe:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env julia
2 |
3 | # Load Julia packages (must be installed)
4 | using HTTP
5 | using Gumbo
6 | using TextAnalysis
7 |
8 | # Function to fetch text
9 | function fetch_text_from_url(url::String)
10 | response = HTTP.get(url)
11 | text = String(response.body)
12 | text = replace(text, "\r" => "")
13 | return text
14 | end
15 |
16 | # Split into paragraphs
17 | function split_into_paragraphs(text::String)
18 | paragraphs = split(text, "\n\n")
19 | return paragraphs
20 | end
21 |
22 | # Return a paragraph by number
23 | function get_paragraph_by_number(text::String, paragraph_number::Int)
24 | paragraphs = split_into_paragraphs(text)
25 | return paragraphs[paragraph_number]
26 | end
27 |
28 | # Text URL
29 | url = "https://www.gutenberg.org/cache/epub/1065/pg1065.txt"
30 |
31 | # Fetch text and access a paragraph by number
32 | text = fetch_text_from_url(url)
33 | paragraph_number = 29
34 | result_paragraph = get_paragraph_by_number(text, paragraph_number)
35 |
36 | # Print text to standard output
37 | println(result_paragraph)
--------------------------------------------------------------------------------
/docs/data/us-electricity.tsv.js:
--------------------------------------------------------------------------------
1 | // Import d3 functions:
2 | import * as d3 from "d3";
3 |
4 | // Time endpoints and conversion to EIA API expected format
5 | const end = d3.timeDay.offset(d3.timeHour(new Date()), 1);
6 | const start = d3.timeHour(d3.utcDay.offset(end, -7));
7 | const convertDate = d3.timeFormat("%m%d%Y %H:%M:%S");
8 |
9 | // Access and wrangle data
10 | const url = `https://www.eia.gov/electricity/930-api/region_data/series_data?type[0]=D&type[1]=DF&type[2]=NG&type[3]=TI&start=${convertDate(
11 | start
12 | )}&end=${convertDate(end)}&frequency=hourly&timezone=Eastern&limit=10000&respondent[0]=US48`;
13 |
14 | const tidySeries = (response, id, name) => {
15 | let series = response[0].data;
16 | return series.flatMap((s) => {
17 | return s.VALUES.DATES.map((d, i) => {
18 | return {
19 | id: s[id],
20 | name: s[name],
21 | date: d,
22 | value: s.VALUES.DATA[i]
23 | };
24 | });
25 | });
26 | };
27 |
28 | const usElectricity = await d3.json(url).then((response) => {
29 | return tidySeries(response, "TYPE_ID", "TYPE_NAME");
30 | });
31 |
32 | // Write to stdout as TSV
33 | process.stdout.write(d3.tsvFormat(usElectricity));
34 |
--------------------------------------------------------------------------------
/observablehq.config.js:
--------------------------------------------------------------------------------
1 | // See https://observablehq.com/framework/config for documentation.
2 | export default {
3 | // The project’s title; used in the sidebar and webpage titles.
4 | title: "Data Loader Examples",
5 |
6 | // The pages and sections in the sidebar. If you don’t specify this option,
7 | // all pages will be listed in alphabetical order. Listing pages explicitly
8 | // lets you organize them into sections and have unlisted pages.
9 | // pages: [
10 | // {
11 | // name: "Examples",
12 | // pages: [
13 | // {name: "Dashboard", path: "/example-dashboard"},
14 | // {name: "Report", path: "/example-report"}
15 | // ]
16 | // }
17 | // ],
18 |
19 | // Some additional configuration options and their defaults:
20 | // theme: "default", // try "light", "dark", "slate", etc.
21 | // header: "", // what to show in the header (HTML)
22 | // footer: "Built with Observable.", // what to show in the footer (HTML)
23 | // toc: true, // whether to show the table of contents
24 | // pager: true, // whether to show previous & next links in the footer
25 | // root: "docs", // path to the source root for preview
26 | // output: "dist", // path to the output root for build
27 | // search: true, // activate search
28 | };
29 |
--------------------------------------------------------------------------------
/docs/data/tolstoy.json.R:
--------------------------------------------------------------------------------
1 | # Attach libraries (must be installed)
2 | library(tidytext)
3 | library(readr)
4 | library(dplyr)
5 | library(stringr)
6 | library(jsonlite)
7 |
8 | # Access and wrangle data
9 | tolstoy <- read_csv("https://www.gutenberg.org/cache/epub/2600/pg2600.txt") |>
10 | rename(text = 1)
11 | booktext <- tolstoy[-(1:400), ]
12 | booktext <- booktext[-(51477:51770), ]
13 |
14 | tidy_tolstoy <- booktext |>
15 | mutate(book = cumsum(str_detect(text, "BOOK | EPILOGUE"))) |>
16 | mutate(book = case_when(
17 | book < 16 ~ paste("Book", book),
18 | book == 16 ~ "Epilogue 1",
19 | book == 17 ~ "Epilogue 2"
20 | )) |>
21 | group_by(book) |>
22 | mutate(chapter = cumsum(str_detect(text, regex("CHAPTER", ignore_case = FALSE)))) |>
23 | ungroup() |>
24 | filter(!str_detect(text, regex("BOOK", ignore_case = FALSE))) |>
25 | filter(!str_detect(text, regex("CHAPTER", ignore_case = FALSE))) |>
26 | unnest_tokens(word, text) |>
27 | anti_join(stop_words)
28 |
29 | # Find top 10 words (by count) for each chapter
30 | tolstoy_word_counts <- tidy_tolstoy |>
31 | group_by(book, chapter) |>
32 | count(word) |>
33 | top_n(10, n) |>
34 | arrange(desc(n), .by_group = TRUE)
35 |
36 | # Create JSON and write to standard output
37 | cat(toJSON(tolstoy_word_counts, pretty = TRUE))
38 |
--------------------------------------------------------------------------------
/docs/data/earthquakes.zip.py:
--------------------------------------------------------------------------------
1 | # Import libraries (must be installed)
2 | import requests
3 | import pandas as pd
4 | import json
5 | import zipfile
6 | import io
7 | import sys
8 |
9 | # Access earthquake data as JSON from URL:
10 | url = "https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_day.geojson"
11 | response = requests.get(url)
12 | geojson_data = response.json()
13 |
14 | # Get quakes metadata in JSON format:
15 | earthquake_metadata = geojson_data["metadata"]
16 | earthquake_meta_json = json.dumps(earthquake_metadata)
17 |
18 | # Create a pandas data frame with only earthquake magnitude, longitude, and latitude:
19 | earthquakes = []
20 |
21 | for i in geojson_data["features"]:
22 | mag = i["properties"]["mag"]
23 | longitude = i["geometry"]["coordinates"][0]
24 | latitude = i["geometry"]["coordinates"][1]
25 | earthquakes.append({"mag": mag, "longitude": longitude, "latitude": latitude})
26 |
27 | earthquakes_df = pd.DataFrame(earthquakes)
28 |
29 | # Create a buffer
30 | zip_buffer = io.BytesIO()
31 |
32 | # Write JSON string to the zip file
33 | with zipfile.ZipFile(zip_buffer, "w") as zip_file:
34 | zip_file.writestr("quakes_metadata.json", earthquake_meta_json)
35 |
36 | # Write DataFrame to a CSV file in the zip file
37 | with zipfile.ZipFile(zip_buffer, "a") as zip_file:
38 | df_csv_string = earthquakes_df.to_csv(index=False)
39 | zip_file.writestr("quakes.csv", df_csv_string)
40 |
41 | # Write the zip file to standard output
42 | sys.stdout.buffer.write(zip_buffer.getvalue())
43 |
--------------------------------------------------------------------------------
/docs/components/showCode.js:
--------------------------------------------------------------------------------
1 | import hljs from "https://cdn.jsdelivr.net/npm/highlight.js/+esm";
2 |
3 | export function showCode(file, {language = file.name.match(/\.(\w+)$/)?.[1], copy = true, open = true} = {}) {
4 | const div = document.createElement("details");
5 | if (open) div.setAttribute("open", "open");
6 | div.innerHTML = `
7 |
loading file…10 |
The file attachment name does not include the .js extension. We rely on Framework’s routing to run the appropriate data loader. 24 | 25 | We can now display the attached dataset: 26 | 27 | ```js echo 28 | Inputs.table(usElectricity) 29 | ``` 30 | 31 | ## JSON 32 | 33 | The data loader below accesses Magic the Gathering card data from the [Scryfall API](https://scryfall.com/docs/api), does some basic wrangling, and returns a JSON. 34 | 35 | Create a file in your project source root with the .json.js double extension (for example, `docs/data/my-data.json.js`), then paste the JavaScript code below to get started. 36 | 37 | ```js 38 | showCode(FileAttachment("data/magic.json.js")) 39 | ``` 40 | 41 | Access the output of the data loader from the client using [`FileAttachment`](https://observablehq.com/framework/javascript/files): 42 | 43 | ```js echo 44 | const magicCards = FileAttachment("data/magic.json").json(); 45 | ``` 46 | 47 |
The file attachment name does not include the .js extension. We rely on Framework’s routing to run the appropriate data loader. 48 | 49 | We can now display the attached dataset: 50 | 51 | ```js echo 52 | Inputs.table(magicCards) 53 | ``` 54 | 55 | ```js 56 | import {showCode} from "./components/showCode.js"; 57 | ``` 58 | -------------------------------------------------------------------------------- /docs/exe.md: -------------------------------------------------------------------------------- 1 | # Executable data loader examples 2 | 3 | Observable Framework supports arbitrary executable (.exe) data loaders, which _can_ be any arbitrary executable (_e.g._ compiled from C) but often specify another interpreter using a shebang as shown in the examples below. Unlike interpreted data loaders (_e.g._ Python, R), executable data loaders require that you make the loader executable, typically done via `chmod`. For example: 4 | 5 | ```sh 6 | chmod +x docs/quakes.csv.exe 7 | ``` 8 | 9 | ## JPEG 10 | 11 | The data loader below specifies the R interpreter, `Rscript`, to execute the file (`#!/usr/bin/env Rscript`). A scatterplot chart built with [`ggplot2`](https://ggplot2.tidyverse.org/) using the built-in diamonds dataset is returned as a JPEG to standard output. 12 | 13 | Create a file in your project source root with the .jpeg.exe double extension (for example, `docs/data/my-chart.jpeg.exe`). Remember to make the script executable, for example using: 14 | 15 | ```sh 16 | chmod +x docs/data/my-chart.jpeg.exe 17 | ``` 18 | 19 | Then, paste the code below to get started. 20 | 21 | ```js 22 | showCode(FileAttachment("data/diamonds.jpeg.exe"), {language: "R"}) 23 | ``` 24 | 25 | Access the output of the data loader from the client using [`FileAttachment`](https://observablehq.com/framework/javascript/files): 26 | 27 | ```js echo 28 | const diamonds = FileAttachment("data/diamonds.jpeg").image({width: 500}); 29 | ``` 30 | 31 |
The file attachment name does not include the .exe extension. We rely on Framework’s routing to run the appropriate data loader. 32 | 33 | We can now view the image: 34 | 35 | ```js echo 36 | diamonds 37 | ``` 38 | 39 | ## TXT 40 | 41 | The data loader below specifies the Julia language interpreter using the shebang (`#!/usr/bin/env julia`). Text of Edgar Allen Poe's _The Raven_ is accessed from [Project Gutenberg](https://www.gutenberg.org/cache/epub/1065/pg1065.txt). The text is parsed and single paragraph (specified by number) is returned as text. 42 | 43 | Create a file in your project source root with the .txt.exe double extension (for example, `docs/data/my-chart.txt.exe`). Remember to make the script executable, for example using: 44 | 45 | ```sh 46 | chmod +x docs/data/my-chart.txt.exe 47 | ``` 48 | 49 | Then, paste the code below to get started. 50 | 51 | ```js 52 | showCode(FileAttachment("data/raven.txt.exe"), {language: "Julia"}) 53 | ``` 54 | 55 | Access the output of the data loader from the client using [`FileAttachment`](https://observablehq.com/framework/javascript/files): 56 | 57 | ```js echo 58 | const ravenParagraph = FileAttachment("data/raven.txt").text(); 59 | ``` 60 | 61 |
The file attachment name does not include the .exe extension. We rely on Framework’s routing to run the appropriate data loader. 62 | 63 | We can now view the paragraph text: 64 | 65 | ```js echo 66 | ravenParagraph 67 | ``` 68 | 69 | ```js 70 | import {showCode} from "./components/showCode.js"; 71 | ``` 72 | -------------------------------------------------------------------------------- /docs/shell.md: -------------------------------------------------------------------------------- 1 | # Shell script data loader examples 2 | 3 | In Observable Framework, [data loaders](../loaders) can be created in shell scripts — they will be called with the system shell "sh". 4 | 5 | ## Parquet 6 | 7 | The data loader below accesses data on alternative fuel stations from the [U.S. Department of Energy](https://catalog.data.gov/dataset/alternative-fueling-station-locations-422f2), simplifies to only California stations in SQL, then returns an Apache Parquet file. 8 | 9 | Create a file in your project source root with the .parquet.sh double extension (for example, `docs/data/my-data.parquet.sh`), then paste the code below to get started. 10 | 11 | 12 | 13 | ```js 14 | showCode(FileAttachment("data/alt-fuel-stations.parquet.sh")) 15 | ``` 16 | 17 | Then, to access the output (`data/alt-fuel-stations.parquet`) in a page, we create a helper function: 18 | 19 | ```js echo 20 | function absoluteFA(FA) { 21 | const {url} = FA; 22 | FA.url = async function() { 23 | return new URL(await url.apply(FA), document.location.href).href; 24 | } 25 | return FA; 26 | } 27 | ``` 28 | 29 | And read in the file using `FileAttachment`: 30 | 31 | ```js echo 32 | const caAltFuel = await DuckDBClient.of({ 33 | fuelstations: absoluteFA(FileAttachment("data/alt-fuel-stations.parquet")) 34 | }); 35 | ``` 36 | 37 | ```js echo 38 | caAltFuel 39 | ``` 40 | 41 | ```js echo 42 | const fuelTable = caAltFuel.query("SELECT * FROM fuelstations"); 43 | ``` 44 | 45 | ```js echo 46 | Inputs.table(fuelTable) 47 | ``` 48 | 49 | ## JSON 50 | 51 | Sometimes, all you need is `curl`! 52 | 53 | The data loader below accesses geojson of CalTrans districts from the [California Open Data Portal](https://data.ca.gov/dataset/caltrans-districts/resource/668dacf7-e927-4ced-98aa-b495e79d40d2). 54 | 55 | Create a file in your project source root with the .json.sh double extension (for example, `docs/data/my-data.json.sh`), then paste the code below to get started. 56 | 57 | ```js 58 | showCode(FileAttachment("data/caltrans-districts.json.sh")) 59 | ``` 60 | 61 | Access the output of the data loader from the client using [`FileAttachment`](https://observablehq.com/framework/javascript/files): 62 | 63 | ```js echo 64 | const caltrans = FileAttachment("data/caltrans-districts.json").json() 65 | ``` 66 | 67 |
The file attachment name does not include the .sh extension. We rely on Framework’s routing to run the appropriate data loader. 68 | 69 | We can now explore the JSON output: 70 | 71 | ```js echo 72 | caltrans 73 | ``` 74 | 75 | ## CSV 76 | 77 | Working in a shell script is flexible. Within the shell script, work in whatever you language you like to access and prep your data, then write to standard output. 78 | 79 | The data loader example below starts a Python script, accesses the [penguins data](https://journal.r-project.org/articles/RJ-2022-020/) data from a local file and does some basic wrangling, then writes a CSV to standard output. 80 | 81 | Create a file in your project source root with the .csv.sh double extension (for example, `docs/data/my-data.csv.sh`), then paste the code below to get started. 82 | 83 | ```js 84 | showCode(FileAttachment("data/penguin.csv.sh")) 85 | ``` 86 | 87 | Access the output of the data loader from the client using [`FileAttachment`](https://observablehq.com/framework/javascript/files): 88 | 89 | ```js echo 90 | const penguins = FileAttachment("data/penguin.csv").csv({typed: true}) 91 | ``` 92 | 93 |
The file attachment name does not include the .sh extension. We rely on Framework’s routing to run the appropriate data loader. 94 | 95 | ```js echo 96 | Inputs.table(penguins) 97 | ``` 98 | 99 | ```js 100 | import {showCode} from "./components/showCode.js"; 101 | ``` 102 | -------------------------------------------------------------------------------- /docs/python.md: -------------------------------------------------------------------------------- 1 | # Python data loaders 2 | 3 | Observable Framework supports [data loaders](https://observablehq.com/framework/loaders) written in Python by passing them to the [python3](https://www.python.org/) command. The latter must be available on your `$PATH`. Any library used by your scripts must also be installed. 4 | 5 | ## CSV 6 | 7 | The data loader below reads in the penguins data from a local file, performs [logistic regression](https://en.wikipedia.org/wiki/Logistic_regression), then outputs a single CSV with the original penguin data enriched with species classifications. 8 | 9 | Create a file in your project source root with the .csv.py double extension (for example, `docs/data/my-data.csv.py`), then paste the Python code below to get started. 10 | 11 | 12 | 13 | ```js 14 | showCode(FileAttachment("data/penguin-logistic.csv.py")) 15 | ``` 16 | 17 | Access the output of the data loader from the client using [`FileAttachment`](https://observablehq.com/framework/javascript/files): 18 | 19 | ```js echo 20 | const penguinClassification = FileAttachment("data/penguin-logistic.csv").csv({typed: true}); 21 | ``` 22 | 23 |
The file attachment name does not include the .py extension. We rely on Framework’s routing to run the appropriate data loader. 24 | 25 | We can now display the dataset with the predictions: 26 | 27 | ```js echo 28 | Inputs.table(penguinClassification) 29 | ``` 30 | 31 | 32 | 33 | ## PNG 34 | 35 | The data loader below accesses [birth data for Lake County, Illinois](https://data-lakecountyil.opendata.arcgis.com/datasets/lakecountyil::birth-statistics/explore) from a local geoJSON file. A simple choropleth of birth rates is created using `matplotlib`, and output as a PNG file. 36 | 37 | Create a file in your project source root with the .png.py double extension (for example, `docs/data/my-png.png.py`), then paste the Python code below to get started. 38 | 39 | ```js 40 | showCode(FileAttachment("data/birth-statistics.png.py")) 41 | ``` 42 | 43 | Access the output of the data loader from the client using [`FileAttachment`](https://observablehq.com/framework/javascript/files): 44 | 45 | ```js echo 46 | const birthRateMap = FileAttachment("data/birth-statistics.png").image(); 47 | ``` 48 | 49 |
The file attachment name does not include the .py extension. We rely on Framework’s routing to run the appropriate data loader. 50 | 51 | ```js echo 52 | birthRateMap 53 | ``` 54 | 55 | ## Zip 56 | 57 | The data loader below accesses data on [earthquakes from the USGS](https://www.usgs.gov/programs/earthquake-hazards/earthquakes), then combines metadata (as JSON) and selected earthquake magnitude and location (as a CSV) in a zip archive. 58 | 59 | Create a file in your project source root with the .zip.py double extension (for example, `docs/data/my-data.zip.py`), then paste the Python code below to get started. 60 | 61 | ```js 62 | showCode(FileAttachment("data/earthquakes.zip.py")) 63 | ``` 64 | 65 | Access the output of the data loader from the client using [`FileAttachment`](https://observablehq.com/framework/javascript/files): 66 | 67 | ```js echo 68 | const quakeMetadata = FileAttachment("data/earthquakes/quakes_metadata.json").json() 69 | ``` 70 | 71 | ```js echo 72 | const quakeData = FileAttachment("data/earthquakes/quakes.csv").csv({typed: true}) 73 | ``` 74 | 75 |
The file attachment name does not include the .py extension. We rely on Framework’s routing to run the appropriate data loader. 76 | 77 | ```js echo 78 | quakeData 79 | ``` 80 | 81 | You can alternatively access the zip archive as a whole: 82 | 83 | ```js echo 84 | const quakeZip = FileAttachment("data/earthquakes.zip").zip() 85 | ``` 86 | 87 | ```js echo 88 | quakeZip 89 | ``` 90 | 91 | ```js 92 | import {showCode} from "./components/showCode.js"; 93 | ``` 94 | -------------------------------------------------------------------------------- /docs/r.md: -------------------------------------------------------------------------------- 1 | # R data loader examples 2 | 3 | Observable Framework supports [data loaders](../loaders) written in R, by passing them to the [Rscript](https://www.r-project.org/) command. The latter must be available on your `$PATH`. Any library used by your scripts must also be installed. 4 | 5 | ## CSV 6 | 7 | The data loader below reads in the [penguins data](https://journal.r-project.org/articles/RJ-2022-020/) from a local file, performs [k-means clustering](https://en.wikipedia.org/wiki/K-means_clustering) based on culmen (bill) length and depth, then outputs a CSV file the original penguins data enriched with cluster assignments. 8 | 9 | Create a file in your project source root with the .csv.R double extension (for example, `docs/data/my-data.csv.R`), then paste the R code below to get started. 10 | 11 | ```js 12 | showCode(FileAttachment("data/penguin-kmeans.csv.R")) 13 | ``` 14 | 15 | Access the output of the data loader from the client using [`FileAttachment`](https://observablehq.com/framework/javascript/files): 16 | 17 | ```js echo 18 | const penguinKmeans = FileAttachment("data/penguin-kmeans.csv").csv({typed: true}); 19 | ``` 20 | 21 |
The file attachment name does not include the .R extension. We rely on Framework’s routing to run the appropriate data loader. 22 | 23 | We can now display the dataset with the assigned clusters: 24 | 25 | ```js 26 | Inputs.table(penguinKmeans) 27 | ``` 28 | 29 | ## JSON 30 | 31 | The data loader below accesses the text of _War and Peace_ from the [Gutenberg Project](https://www.gutenberg.org/ebooks/2600), finds the most common words by chapter, and returns a JSON. 32 | 33 | Create a file in your project source root with the .json.R double extension (for example, `docs/data/my-data.json.R`), then paste the R code below to get started. 34 | 35 | ```js 36 | showCode(FileAttachment("data/tolstoy.json.R")) 37 | ``` 38 | 39 | Access the output of the data loader from the client using [`FileAttachment`](https://observablehq.com/framework/javascript/files): 40 | 41 | ```js echo 42 | const text = FileAttachment("data/tolstoy.json").json() 43 | ``` 44 | 45 |
The file attachment name does not include the .R extension. We rely on Framework’s routing to run the appropriate data loader. 46 | 47 | ```js echo 48 | text 49 | ``` 50 | 51 | ## ZIP 52 | 53 | The data loader below reads in the [penguins data](https://journal.r-project.org/articles/RJ-2022-020/) from a local file, performs multiple linear regression, then outputs multiple files (with model estimates and predictions) as a ZIP archive. 54 | 55 | Create a file in your project source root with the .zip.R double extension (for example, `docs/data/my-data.zip.R`), then paste the R code below to get started. 56 | 57 | ```js 58 | showCode(FileAttachment("data/penguin-mlr.zip.R")) 59 | ``` 60 | 61 | The `system` function invokes the system command `"zip - -r ."`, where: 62 | 63 | - `zip` is the command for zipping files 64 | - `-` means the archive is output to standard output (required for data loaders) 65 | - `-r`, the recursive option, means all files are added to the zip archive 66 | - `.` compresses the current working directory 67 | 68 | Access the output of the data loader from the client using [`FileAttachment`](https://observablehq.com/framework/javascript/files): 69 | 70 | ```js echo 71 | const modelZip = FileAttachment("data/penguin-mlr.zip").zip(); 72 | ``` 73 | 74 |
The file attachment name does not include the .R extension. We rely on Framework’s routing to run the appropriate data loader. 75 | 76 | You can then access individual files from the ZIP archive: 77 | 78 | ```js echo 79 | const modelEstimates = modelZip.file("estimates.csv").csv({typed: true}); 80 | ``` 81 | 82 | ```js echo 83 | modelEstimates 84 | ``` 85 | 86 | Alternatively, access individual files from the ZIP archive straightaway: 87 | 88 | ```js echo 89 | const modelPredictions = FileAttachment("data/penguin-mlr/predictions.csv").csv({typed: true}) 90 | ``` 91 | 92 | ```js echo 93 | modelPredictions 94 | ``` 95 | 96 | ```js 97 | import {showCode} from "./components/showCode.js"; 98 | ``` 99 | -------------------------------------------------------------------------------- /docs/data-files/penguins.csv: -------------------------------------------------------------------------------- 1 | species,island,culmen_length_mm,culmen_depth_mm,flipper_length_mm,body_mass_g,sex 2 | Adelie,Torgersen,39.1,18.7,181,3750,MALE 3 | Adelie,Torgersen,39.5,17.4,186,3800,FEMALE 4 | Adelie,Torgersen,40.3,18,195,3250,FEMALE 5 | Adelie,Torgersen,NaN,NaN,NaN,NaN, 6 | Adelie,Torgersen,36.7,19.3,193,3450,FEMALE 7 | Adelie,Torgersen,39.3,20.6,190,3650,MALE 8 | Adelie,Torgersen,38.9,17.8,181,3625,FEMALE 9 | Adelie,Torgersen,39.2,19.6,195,4675,MALE 10 | Adelie,Torgersen,34.1,18.1,193,3475, 11 | Adelie,Torgersen,42,20.2,190,4250, 12 | Adelie,Torgersen,37.8,17.1,186,3300, 13 | Adelie,Torgersen,37.8,17.3,180,3700, 14 | Adelie,Torgersen,41.1,17.6,182,3200,FEMALE 15 | Adelie,Torgersen,38.6,21.2,191,3800,MALE 16 | Adelie,Torgersen,34.6,21.1,198,4400,MALE 17 | Adelie,Torgersen,36.6,17.8,185,3700,FEMALE 18 | Adelie,Torgersen,38.7,19,195,3450,FEMALE 19 | Adelie,Torgersen,42.5,20.7,197,4500,MALE 20 | Adelie,Torgersen,34.4,18.4,184,3325,FEMALE 21 | Adelie,Torgersen,46,21.5,194,4200,MALE 22 | Adelie,Biscoe,37.8,18.3,174,3400,FEMALE 23 | Adelie,Biscoe,37.7,18.7,180,3600,MALE 24 | Adelie,Biscoe,35.9,19.2,189,3800,FEMALE 25 | Adelie,Biscoe,38.2,18.1,185,3950,MALE 26 | Adelie,Biscoe,38.8,17.2,180,3800,MALE 27 | Adelie,Biscoe,35.3,18.9,187,3800,FEMALE 28 | Adelie,Biscoe,40.6,18.6,183,3550,MALE 29 | Adelie,Biscoe,40.5,17.9,187,3200,FEMALE 30 | Adelie,Biscoe,37.9,18.6,172,3150,FEMALE 31 | Adelie,Biscoe,40.5,18.9,180,3950,MALE 32 | Adelie,Dream,39.5,16.7,178,3250,FEMALE 33 | Adelie,Dream,37.2,18.1,178,3900,MALE 34 | Adelie,Dream,39.5,17.8,188,3300,FEMALE 35 | Adelie,Dream,40.9,18.9,184,3900,MALE 36 | Adelie,Dream,36.4,17,195,3325,FEMALE 37 | Adelie,Dream,39.2,21.1,196,4150,MALE 38 | Adelie,Dream,38.8,20,190,3950,MALE 39 | Adelie,Dream,42.2,18.5,180,3550,FEMALE 40 | Adelie,Dream,37.6,19.3,181,3300,FEMALE 41 | Adelie,Dream,39.8,19.1,184,4650,MALE 42 | Adelie,Dream,36.5,18,182,3150,FEMALE 43 | Adelie,Dream,40.8,18.4,195,3900,MALE 44 | Adelie,Dream,36,18.5,186,3100,FEMALE 45 | Adelie,Dream,44.1,19.7,196,4400,MALE 46 | Adelie,Dream,37,16.9,185,3000,FEMALE 47 | Adelie,Dream,39.6,18.8,190,4600,MALE 48 | Adelie,Dream,41.1,19,182,3425,MALE 49 | Adelie,Dream,37.5,18.9,179,2975, 50 | Adelie,Dream,36,17.9,190,3450,FEMALE 51 | Adelie,Dream,42.3,21.2,191,4150,MALE 52 | Adelie,Biscoe,39.6,17.7,186,3500,FEMALE 53 | Adelie,Biscoe,40.1,18.9,188,4300,MALE 54 | Adelie,Biscoe,35,17.9,190,3450,FEMALE 55 | Adelie,Biscoe,42,19.5,200,4050,MALE 56 | Adelie,Biscoe,34.5,18.1,187,2900,FEMALE 57 | Adelie,Biscoe,41.4,18.6,191,3700,MALE 58 | Adelie,Biscoe,39,17.5,186,3550,FEMALE 59 | Adelie,Biscoe,40.6,18.8,193,3800,MALE 60 | Adelie,Biscoe,36.5,16.6,181,2850,FEMALE 61 | Adelie,Biscoe,37.6,19.1,194,3750,MALE 62 | Adelie,Biscoe,35.7,16.9,185,3150,FEMALE 63 | Adelie,Biscoe,41.3,21.1,195,4400,MALE 64 | Adelie,Biscoe,37.6,17,185,3600,FEMALE 65 | Adelie,Biscoe,41.1,18.2,192,4050,MALE 66 | Adelie,Biscoe,36.4,17.1,184,2850,FEMALE 67 | Adelie,Biscoe,41.6,18,192,3950,MALE 68 | Adelie,Biscoe,35.5,16.2,195,3350,FEMALE 69 | Adelie,Biscoe,41.1,19.1,188,4100,MALE 70 | Adelie,Torgersen,35.9,16.6,190,3050,FEMALE 71 | Adelie,Torgersen,41.8,19.4,198,4450,MALE 72 | Adelie,Torgersen,33.5,19,190,3600,FEMALE 73 | Adelie,Torgersen,39.7,18.4,190,3900,MALE 74 | Adelie,Torgersen,39.6,17.2,196,3550,FEMALE 75 | Adelie,Torgersen,45.8,18.9,197,4150,MALE 76 | Adelie,Torgersen,35.5,17.5,190,3700,FEMALE 77 | Adelie,Torgersen,42.8,18.5,195,4250,MALE 78 | Adelie,Torgersen,40.9,16.8,191,3700,FEMALE 79 | Adelie,Torgersen,37.2,19.4,184,3900,MALE 80 | Adelie,Torgersen,36.2,16.1,187,3550,FEMALE 81 | Adelie,Torgersen,42.1,19.1,195,4000,MALE 82 | Adelie,Torgersen,34.6,17.2,189,3200,FEMALE 83 | Adelie,Torgersen,42.9,17.6,196,4700,MALE 84 | Adelie,Torgersen,36.7,18.8,187,3800,FEMALE 85 | Adelie,Torgersen,35.1,19.4,193,4200,MALE 86 | Adelie,Dream,37.3,17.8,191,3350,FEMALE 87 | Adelie,Dream,41.3,20.3,194,3550,MALE 88 | Adelie,Dream,36.3,19.5,190,3800,MALE 89 | Adelie,Dream,36.9,18.6,189,3500,FEMALE 90 | Adelie,Dream,38.3,19.2,189,3950,MALE 91 | Adelie,Dream,38.9,18.8,190,3600,FEMALE 92 | Adelie,Dream,35.7,18,202,3550,FEMALE 93 | Adelie,Dream,41.1,18.1,205,4300,MALE 94 | Adelie,Dream,34,17.1,185,3400,FEMALE 95 | Adelie,Dream,39.6,18.1,186,4450,MALE 96 | Adelie,Dream,36.2,17.3,187,3300,FEMALE 97 | Adelie,Dream,40.8,18.9,208,4300,MALE 98 | Adelie,Dream,38.1,18.6,190,3700,FEMALE 99 | Adelie,Dream,40.3,18.5,196,4350,MALE 100 | Adelie,Dream,33.1,16.1,178,2900,FEMALE 101 | Adelie,Dream,43.2,18.5,192,4100,MALE 102 | Adelie,Biscoe,35,17.9,192,3725,FEMALE 103 | Adelie,Biscoe,41,20,203,4725,MALE 104 | Adelie,Biscoe,37.7,16,183,3075,FEMALE 105 | Adelie,Biscoe,37.8,20,190,4250,MALE 106 | Adelie,Biscoe,37.9,18.6,193,2925,FEMALE 107 | Adelie,Biscoe,39.7,18.9,184,3550,MALE 108 | Adelie,Biscoe,38.6,17.2,199,3750,FEMALE 109 | Adelie,Biscoe,38.2,20,190,3900,MALE 110 | Adelie,Biscoe,38.1,17,181,3175,FEMALE 111 | Adelie,Biscoe,43.2,19,197,4775,MALE 112 | Adelie,Biscoe,38.1,16.5,198,3825,FEMALE 113 | Adelie,Biscoe,45.6,20.3,191,4600,MALE 114 | Adelie,Biscoe,39.7,17.7,193,3200,FEMALE 115 | Adelie,Biscoe,42.2,19.5,197,4275,MALE 116 | Adelie,Biscoe,39.6,20.7,191,3900,FEMALE 117 | Adelie,Biscoe,42.7,18.3,196,4075,MALE 118 | Adelie,Torgersen,38.6,17,188,2900,FEMALE 119 | Adelie,Torgersen,37.3,20.5,199,3775,MALE 120 | Adelie,Torgersen,35.7,17,189,3350,FEMALE 121 | Adelie,Torgersen,41.1,18.6,189,3325,MALE 122 | Adelie,Torgersen,36.2,17.2,187,3150,FEMALE 123 | Adelie,Torgersen,37.7,19.8,198,3500,MALE 124 | Adelie,Torgersen,40.2,17,176,3450,FEMALE 125 | Adelie,Torgersen,41.4,18.5,202,3875,MALE 126 | Adelie,Torgersen,35.2,15.9,186,3050,FEMALE 127 | Adelie,Torgersen,40.6,19,199,4000,MALE 128 | Adelie,Torgersen,38.8,17.6,191,3275,FEMALE 129 | Adelie,Torgersen,41.5,18.3,195,4300,MALE 130 | Adelie,Torgersen,39,17.1,191,3050,FEMALE 131 | Adelie,Torgersen,44.1,18,210,4000,MALE 132 | Adelie,Torgersen,38.5,17.9,190,3325,FEMALE 133 | Adelie,Torgersen,43.1,19.2,197,3500,MALE 134 | Adelie,Dream,36.8,18.5,193,3500,FEMALE 135 | Adelie,Dream,37.5,18.5,199,4475,MALE 136 | Adelie,Dream,38.1,17.6,187,3425,FEMALE 137 | Adelie,Dream,41.1,17.5,190,3900,MALE 138 | Adelie,Dream,35.6,17.5,191,3175,FEMALE 139 | Adelie,Dream,40.2,20.1,200,3975,MALE 140 | Adelie,Dream,37,16.5,185,3400,FEMALE 141 | Adelie,Dream,39.7,17.9,193,4250,MALE 142 | Adelie,Dream,40.2,17.1,193,3400,FEMALE 143 | Adelie,Dream,40.6,17.2,187,3475,MALE 144 | Adelie,Dream,32.1,15.5,188,3050,FEMALE 145 | Adelie,Dream,40.7,17,190,3725,MALE 146 | Adelie,Dream,37.3,16.8,192,3000,FEMALE 147 | Adelie,Dream,39,18.7,185,3650,MALE 148 | Adelie,Dream,39.2,18.6,190,4250,MALE 149 | Adelie,Dream,36.6,18.4,184,3475,FEMALE 150 | Adelie,Dream,36,17.8,195,3450,FEMALE 151 | Adelie,Dream,37.8,18.1,193,3750,MALE 152 | Adelie,Dream,36,17.1,187,3700,FEMALE 153 | Adelie,Dream,41.5,18.5,201,4000,MALE 154 | Chinstrap,Dream,46.5,17.9,192,3500,FEMALE 155 | Chinstrap,Dream,50,19.5,196,3900,MALE 156 | Chinstrap,Dream,51.3,19.2,193,3650,MALE 157 | Chinstrap,Dream,45.4,18.7,188,3525,FEMALE 158 | Chinstrap,Dream,52.7,19.8,197,3725,MALE 159 | Chinstrap,Dream,45.2,17.8,198,3950,FEMALE 160 | Chinstrap,Dream,46.1,18.2,178,3250,FEMALE 161 | Chinstrap,Dream,51.3,18.2,197,3750,MALE 162 | Chinstrap,Dream,46,18.9,195,4150,FEMALE 163 | Chinstrap,Dream,51.3,19.9,198,3700,MALE 164 | Chinstrap,Dream,46.6,17.8,193,3800,FEMALE 165 | Chinstrap,Dream,51.7,20.3,194,3775,MALE 166 | Chinstrap,Dream,47,17.3,185,3700,FEMALE 167 | Chinstrap,Dream,52,18.1,201,4050,MALE 168 | Chinstrap,Dream,45.9,17.1,190,3575,FEMALE 169 | Chinstrap,Dream,50.5,19.6,201,4050,MALE 170 | Chinstrap,Dream,50.3,20,197,3300,MALE 171 | Chinstrap,Dream,58,17.8,181,3700,FEMALE 172 | Chinstrap,Dream,46.4,18.6,190,3450,FEMALE 173 | Chinstrap,Dream,49.2,18.2,195,4400,MALE 174 | Chinstrap,Dream,42.4,17.3,181,3600,FEMALE 175 | Chinstrap,Dream,48.5,17.5,191,3400,MALE 176 | Chinstrap,Dream,43.2,16.6,187,2900,FEMALE 177 | Chinstrap,Dream,50.6,19.4,193,3800,MALE 178 | Chinstrap,Dream,46.7,17.9,195,3300,FEMALE 179 | Chinstrap,Dream,52,19,197,4150,MALE 180 | Chinstrap,Dream,50.5,18.4,200,3400,FEMALE 181 | Chinstrap,Dream,49.5,19,200,3800,MALE 182 | Chinstrap,Dream,46.4,17.8,191,3700,FEMALE 183 | Chinstrap,Dream,52.8,20,205,4550,MALE 184 | Chinstrap,Dream,40.9,16.6,187,3200,FEMALE 185 | Chinstrap,Dream,54.2,20.8,201,4300,MALE 186 | Chinstrap,Dream,42.5,16.7,187,3350,FEMALE 187 | Chinstrap,Dream,51,18.8,203,4100,MALE 188 | Chinstrap,Dream,49.7,18.6,195,3600,MALE 189 | Chinstrap,Dream,47.5,16.8,199,3900,FEMALE 190 | Chinstrap,Dream,47.6,18.3,195,3850,FEMALE 191 | Chinstrap,Dream,52,20.7,210,4800,MALE 192 | Chinstrap,Dream,46.9,16.6,192,2700,FEMALE 193 | Chinstrap,Dream,53.5,19.9,205,4500,MALE 194 | Chinstrap,Dream,49,19.5,210,3950,MALE 195 | Chinstrap,Dream,46.2,17.5,187,3650,FEMALE 196 | Chinstrap,Dream,50.9,19.1,196,3550,MALE 197 | Chinstrap,Dream,45.5,17,196,3500,FEMALE 198 | Chinstrap,Dream,50.9,17.9,196,3675,FEMALE 199 | Chinstrap,Dream,50.8,18.5,201,4450,MALE 200 | Chinstrap,Dream,50.1,17.9,190,3400,FEMALE 201 | Chinstrap,Dream,49,19.6,212,4300,MALE 202 | Chinstrap,Dream,51.5,18.7,187,3250,MALE 203 | Chinstrap,Dream,49.8,17.3,198,3675,FEMALE 204 | Chinstrap,Dream,48.1,16.4,199,3325,FEMALE 205 | Chinstrap,Dream,51.4,19,201,3950,MALE 206 | Chinstrap,Dream,45.7,17.3,193,3600,FEMALE 207 | Chinstrap,Dream,50.7,19.7,203,4050,MALE 208 | Chinstrap,Dream,42.5,17.3,187,3350,FEMALE 209 | Chinstrap,Dream,52.2,18.8,197,3450,MALE 210 | Chinstrap,Dream,45.2,16.6,191,3250,FEMALE 211 | Chinstrap,Dream,49.3,19.9,203,4050,MALE 212 | Chinstrap,Dream,50.2,18.8,202,3800,MALE 213 | Chinstrap,Dream,45.6,19.4,194,3525,FEMALE 214 | Chinstrap,Dream,51.9,19.5,206,3950,MALE 215 | Chinstrap,Dream,46.8,16.5,189,3650,FEMALE 216 | Chinstrap,Dream,45.7,17,195,3650,FEMALE 217 | Chinstrap,Dream,55.8,19.8,207,4000,MALE 218 | Chinstrap,Dream,43.5,18.1,202,3400,FEMALE 219 | Chinstrap,Dream,49.6,18.2,193,3775,MALE 220 | Chinstrap,Dream,50.8,19,210,4100,MALE 221 | Chinstrap,Dream,50.2,18.7,198,3775,FEMALE 222 | Gentoo,Biscoe,46.1,13.2,211,4500,FEMALE 223 | Gentoo,Biscoe,50,16.3,230,5700,MALE 224 | Gentoo,Biscoe,48.7,14.1,210,4450,FEMALE 225 | Gentoo,Biscoe,50,15.2,218,5700,MALE 226 | Gentoo,Biscoe,47.6,14.5,215,5400,MALE 227 | Gentoo,Biscoe,46.5,13.5,210,4550,FEMALE 228 | Gentoo,Biscoe,45.4,14.6,211,4800,FEMALE 229 | Gentoo,Biscoe,46.7,15.3,219,5200,MALE 230 | Gentoo,Biscoe,43.3,13.4,209,4400,FEMALE 231 | Gentoo,Biscoe,46.8,15.4,215,5150,MALE 232 | Gentoo,Biscoe,40.9,13.7,214,4650,FEMALE 233 | Gentoo,Biscoe,49,16.1,216,5550,MALE 234 | Gentoo,Biscoe,45.5,13.7,214,4650,FEMALE 235 | Gentoo,Biscoe,48.4,14.6,213,5850,MALE 236 | Gentoo,Biscoe,45.8,14.6,210,4200,FEMALE 237 | Gentoo,Biscoe,49.3,15.7,217,5850,MALE 238 | Gentoo,Biscoe,42,13.5,210,4150,FEMALE 239 | Gentoo,Biscoe,49.2,15.2,221,6300,MALE 240 | Gentoo,Biscoe,46.2,14.5,209,4800,FEMALE 241 | Gentoo,Biscoe,48.7,15.1,222,5350,MALE 242 | Gentoo,Biscoe,50.2,14.3,218,5700,MALE 243 | Gentoo,Biscoe,45.1,14.5,215,5000,FEMALE 244 | Gentoo,Biscoe,46.5,14.5,213,4400,FEMALE 245 | Gentoo,Biscoe,46.3,15.8,215,5050,MALE 246 | Gentoo,Biscoe,42.9,13.1,215,5000,FEMALE 247 | Gentoo,Biscoe,46.1,15.1,215,5100,MALE 248 | Gentoo,Biscoe,44.5,14.3,216,4100, 249 | Gentoo,Biscoe,47.8,15,215,5650,MALE 250 | Gentoo,Biscoe,48.2,14.3,210,4600,FEMALE 251 | Gentoo,Biscoe,50,15.3,220,5550,MALE 252 | Gentoo,Biscoe,47.3,15.3,222,5250,MALE 253 | Gentoo,Biscoe,42.8,14.2,209,4700,FEMALE 254 | Gentoo,Biscoe,45.1,14.5,207,5050,FEMALE 255 | Gentoo,Biscoe,59.6,17,230,6050,MALE 256 | Gentoo,Biscoe,49.1,14.8,220,5150,FEMALE 257 | Gentoo,Biscoe,48.4,16.3,220,5400,MALE 258 | Gentoo,Biscoe,42.6,13.7,213,4950,FEMALE 259 | Gentoo,Biscoe,44.4,17.3,219,5250,MALE 260 | Gentoo,Biscoe,44,13.6,208,4350,FEMALE 261 | Gentoo,Biscoe,48.7,15.7,208,5350,MALE 262 | Gentoo,Biscoe,42.7,13.7,208,3950,FEMALE 263 | Gentoo,Biscoe,49.6,16,225,5700,MALE 264 | Gentoo,Biscoe,45.3,13.7,210,4300,FEMALE 265 | Gentoo,Biscoe,49.6,15,216,4750,MALE 266 | Gentoo,Biscoe,50.5,15.9,222,5550,MALE 267 | Gentoo,Biscoe,43.6,13.9,217,4900,FEMALE 268 | Gentoo,Biscoe,45.5,13.9,210,4200,FEMALE 269 | Gentoo,Biscoe,50.5,15.9,225,5400,MALE 270 | Gentoo,Biscoe,44.9,13.3,213,5100,FEMALE 271 | Gentoo,Biscoe,45.2,15.8,215,5300,MALE 272 | Gentoo,Biscoe,46.6,14.2,210,4850,FEMALE 273 | Gentoo,Biscoe,48.5,14.1,220,5300,MALE 274 | Gentoo,Biscoe,45.1,14.4,210,4400,FEMALE 275 | Gentoo,Biscoe,50.1,15,225,5000,MALE 276 | Gentoo,Biscoe,46.5,14.4,217,4900,FEMALE 277 | Gentoo,Biscoe,45,15.4,220,5050,MALE 278 | Gentoo,Biscoe,43.8,13.9,208,4300,FEMALE 279 | Gentoo,Biscoe,45.5,15,220,5000,MALE 280 | Gentoo,Biscoe,43.2,14.5,208,4450,FEMALE 281 | Gentoo,Biscoe,50.4,15.3,224,5550,MALE 282 | Gentoo,Biscoe,45.3,13.8,208,4200,FEMALE 283 | Gentoo,Biscoe,46.2,14.9,221,5300,MALE 284 | Gentoo,Biscoe,45.7,13.9,214,4400,FEMALE 285 | Gentoo,Biscoe,54.3,15.7,231,5650,MALE 286 | Gentoo,Biscoe,45.8,14.2,219,4700,FEMALE 287 | Gentoo,Biscoe,49.8,16.8,230,5700,MALE 288 | Gentoo,Biscoe,46.2,14.4,214,4650, 289 | Gentoo,Biscoe,49.5,16.2,229,5800,MALE 290 | Gentoo,Biscoe,43.5,14.2,220,4700,FEMALE 291 | Gentoo,Biscoe,50.7,15,223,5550,MALE 292 | Gentoo,Biscoe,47.7,15,216,4750,FEMALE 293 | Gentoo,Biscoe,46.4,15.6,221,5000,MALE 294 | Gentoo,Biscoe,48.2,15.6,221,5100,MALE 295 | Gentoo,Biscoe,46.5,14.8,217,5200,FEMALE 296 | Gentoo,Biscoe,46.4,15,216,4700,FEMALE 297 | Gentoo,Biscoe,48.6,16,230,5800,MALE 298 | Gentoo,Biscoe,47.5,14.2,209,4600,FEMALE 299 | Gentoo,Biscoe,51.1,16.3,220,6000,MALE 300 | Gentoo,Biscoe,45.2,13.8,215,4750,FEMALE 301 | Gentoo,Biscoe,45.2,16.4,223,5950,MALE 302 | Gentoo,Biscoe,49.1,14.5,212,4625,FEMALE 303 | Gentoo,Biscoe,52.5,15.6,221,5450,MALE 304 | Gentoo,Biscoe,47.4,14.6,212,4725,FEMALE 305 | Gentoo,Biscoe,50,15.9,224,5350,MALE 306 | Gentoo,Biscoe,44.9,13.8,212,4750,FEMALE 307 | Gentoo,Biscoe,50.8,17.3,228,5600,MALE 308 | Gentoo,Biscoe,43.4,14.4,218,4600,FEMALE 309 | Gentoo,Biscoe,51.3,14.2,218,5300,MALE 310 | Gentoo,Biscoe,47.5,14,212,4875,FEMALE 311 | Gentoo,Biscoe,52.1,17,230,5550,MALE 312 | Gentoo,Biscoe,47.5,15,218,4950,FEMALE 313 | Gentoo,Biscoe,52.2,17.1,228,5400,MALE 314 | Gentoo,Biscoe,45.5,14.5,212,4750,FEMALE 315 | Gentoo,Biscoe,49.5,16.1,224,5650,MALE 316 | Gentoo,Biscoe,44.5,14.7,214,4850,FEMALE 317 | Gentoo,Biscoe,50.8,15.7,226,5200,MALE 318 | Gentoo,Biscoe,49.4,15.8,216,4925,MALE 319 | Gentoo,Biscoe,46.9,14.6,222,4875,FEMALE 320 | Gentoo,Biscoe,48.4,14.4,203,4625,FEMALE 321 | Gentoo,Biscoe,51.1,16.5,225,5250,MALE 322 | Gentoo,Biscoe,48.5,15,219,4850,FEMALE 323 | Gentoo,Biscoe,55.9,17,228,5600,MALE 324 | Gentoo,Biscoe,47.2,15.5,215,4975,FEMALE 325 | Gentoo,Biscoe,49.1,15,228,5500,MALE 326 | Gentoo,Biscoe,47.3,13.8,216,4725, 327 | Gentoo,Biscoe,46.8,16.1,215,5500,MALE 328 | Gentoo,Biscoe,41.7,14.7,210,4700,FEMALE 329 | Gentoo,Biscoe,53.4,15.8,219,5500,MALE 330 | Gentoo,Biscoe,43.3,14,208,4575,FEMALE 331 | Gentoo,Biscoe,48.1,15.1,209,5500,MALE 332 | Gentoo,Biscoe,50.5,15.2,216,5000,FEMALE 333 | Gentoo,Biscoe,49.8,15.9,229,5950,MALE 334 | Gentoo,Biscoe,43.5,15.2,213,4650,FEMALE 335 | Gentoo,Biscoe,51.5,16.3,230,5500,MALE 336 | Gentoo,Biscoe,46.2,14.1,217,4375,FEMALE 337 | Gentoo,Biscoe,55.1,16,230,5850,MALE 338 | Gentoo,Biscoe,44.5,15.7,217,4875, 339 | Gentoo,Biscoe,48.8,16.2,222,6000,MALE 340 | Gentoo,Biscoe,47.2,13.7,214,4925,FEMALE 341 | Gentoo,Biscoe,NaN,NaN,NaN,NaN, 342 | Gentoo,Biscoe,46.8,14.3,215,4850,FEMALE 343 | Gentoo,Biscoe,50.4,15.7,222,5750,MALE 344 | Gentoo,Biscoe,45.2,14.8,212,5200,FEMALE 345 | Gentoo,Biscoe,49.9,16.1,213,5400,MALE -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@clack/core@^0.3.3": 6 | version "0.3.4" 7 | resolved "https://registry.npmjs.org/@clack/core/-/core-0.3.4.tgz" 8 | integrity sha512-H4hxZDXgHtWTwV3RAVenqcC4VbJZNegbBjlPvzOzCouXtS2y3sDvlO3IsbrPNWuLWPPlYVYPghQdSF64683Ldw== 9 | dependencies: 10 | picocolors "^1.0.0" 11 | sisteransi "^1.0.5" 12 | 13 | "@clack/prompts@^0.7.0": 14 | version "0.7.0" 15 | resolved "https://registry.npmjs.org/@clack/prompts/-/prompts-0.7.0.tgz" 16 | integrity sha512-0MhX9/B4iL6Re04jPrttDm+BsP8y6mS7byuv0BvXgdXhbV5PdlsHt55dvNsuBCPZ7xq1oTAOOuotR9NFbQyMSA== 17 | dependencies: 18 | "@clack/core" "^0.3.3" 19 | picocolors "^1.0.0" 20 | sisteransi "^1.0.5" 21 | 22 | "@esbuild/aix-ppc64@0.19.12": 23 | version "0.19.12" 24 | resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz#d1bc06aedb6936b3b6d313bf809a5a40387d2b7f" 25 | integrity sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA== 26 | 27 | "@esbuild/aix-ppc64@0.20.2": 28 | version "0.20.2" 29 | resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz#a70f4ac11c6a1dfc18b8bbb13284155d933b9537" 30 | integrity sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g== 31 | 32 | "@esbuild/android-arm64@0.19.12": 33 | version "0.19.12" 34 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz#7ad65a36cfdb7e0d429c353e00f680d737c2aed4" 35 | integrity sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA== 36 | 37 | "@esbuild/android-arm64@0.20.2": 38 | version "0.20.2" 39 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz#db1c9202a5bc92ea04c7b6840f1bbe09ebf9e6b9" 40 | integrity sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg== 41 | 42 | "@esbuild/android-arm@0.19.12": 43 | version "0.19.12" 44 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.19.12.tgz#b0c26536f37776162ca8bde25e42040c203f2824" 45 | integrity sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w== 46 | 47 | "@esbuild/android-arm@0.20.2": 48 | version "0.20.2" 49 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.20.2.tgz#3b488c49aee9d491c2c8f98a909b785870d6e995" 50 | integrity sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w== 51 | 52 | "@esbuild/android-x64@0.19.12": 53 | version "0.19.12" 54 | resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.19.12.tgz#cb13e2211282012194d89bf3bfe7721273473b3d" 55 | integrity sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew== 56 | 57 | "@esbuild/android-x64@0.20.2": 58 | version "0.20.2" 59 | resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.20.2.tgz#3b1628029e5576249d2b2d766696e50768449f98" 60 | integrity sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg== 61 | 62 | "@esbuild/darwin-arm64@0.19.12": 63 | version "0.19.12" 64 | resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz" 65 | integrity sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g== 66 | 67 | "@esbuild/darwin-arm64@0.20.2": 68 | version "0.20.2" 69 | resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz" 70 | integrity sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA== 71 | 72 | "@esbuild/darwin-x64@0.19.12": 73 | version "0.19.12" 74 | resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz#e37d9633246d52aecf491ee916ece709f9d5f4cd" 75 | integrity sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A== 76 | 77 | "@esbuild/darwin-x64@0.20.2": 78 | version "0.20.2" 79 | resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz#90ed098e1f9dd8a9381695b207e1cff45540a0d0" 80 | integrity sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA== 81 | 82 | "@esbuild/freebsd-arm64@0.19.12": 83 | version "0.19.12" 84 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz#1ee4d8b682ed363b08af74d1ea2b2b4dbba76487" 85 | integrity sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA== 86 | 87 | "@esbuild/freebsd-arm64@0.20.2": 88 | version "0.20.2" 89 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz#d71502d1ee89a1130327e890364666c760a2a911" 90 | integrity sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw== 91 | 92 | "@esbuild/freebsd-x64@0.19.12": 93 | version "0.19.12" 94 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz#37a693553d42ff77cd7126764b535fb6cc28a11c" 95 | integrity sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg== 96 | 97 | "@esbuild/freebsd-x64@0.20.2": 98 | version "0.20.2" 99 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz#aa5ea58d9c1dd9af688b8b6f63ef0d3d60cea53c" 100 | integrity sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw== 101 | 102 | "@esbuild/linux-arm64@0.19.12": 103 | version "0.19.12" 104 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz#be9b145985ec6c57470e0e051d887b09dddb2d4b" 105 | integrity sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA== 106 | 107 | "@esbuild/linux-arm64@0.20.2": 108 | version "0.20.2" 109 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz#055b63725df678379b0f6db9d0fa85463755b2e5" 110 | integrity sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A== 111 | 112 | "@esbuild/linux-arm@0.19.12": 113 | version "0.19.12" 114 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz#207ecd982a8db95f7b5279207d0ff2331acf5eef" 115 | integrity sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w== 116 | 117 | "@esbuild/linux-arm@0.20.2": 118 | version "0.20.2" 119 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz#76b3b98cb1f87936fbc37f073efabad49dcd889c" 120 | integrity sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg== 121 | 122 | "@esbuild/linux-ia32@0.19.12": 123 | version "0.19.12" 124 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz#d0d86b5ca1562523dc284a6723293a52d5860601" 125 | integrity sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA== 126 | 127 | "@esbuild/linux-ia32@0.20.2": 128 | version "0.20.2" 129 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz#c0e5e787c285264e5dfc7a79f04b8b4eefdad7fa" 130 | integrity sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig== 131 | 132 | "@esbuild/linux-loong64@0.19.12": 133 | version "0.19.12" 134 | resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz#9a37f87fec4b8408e682b528391fa22afd952299" 135 | integrity sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA== 136 | 137 | "@esbuild/linux-loong64@0.20.2": 138 | version "0.20.2" 139 | resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz#a6184e62bd7cdc63e0c0448b83801001653219c5" 140 | integrity sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ== 141 | 142 | "@esbuild/linux-mips64el@0.19.12": 143 | version "0.19.12" 144 | resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz#4ddebd4e6eeba20b509d8e74c8e30d8ace0b89ec" 145 | integrity sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w== 146 | 147 | "@esbuild/linux-mips64el@0.20.2": 148 | version "0.20.2" 149 | resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz#d08e39ce86f45ef8fc88549d29c62b8acf5649aa" 150 | integrity sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA== 151 | 152 | "@esbuild/linux-ppc64@0.19.12": 153 | version "0.19.12" 154 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz#adb67dadb73656849f63cd522f5ecb351dd8dee8" 155 | integrity sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg== 156 | 157 | "@esbuild/linux-ppc64@0.20.2": 158 | version "0.20.2" 159 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz#8d252f0b7756ffd6d1cbde5ea67ff8fd20437f20" 160 | integrity sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg== 161 | 162 | "@esbuild/linux-riscv64@0.19.12": 163 | version "0.19.12" 164 | resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz#11bc0698bf0a2abf8727f1c7ace2112612c15adf" 165 | integrity sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg== 166 | 167 | "@esbuild/linux-riscv64@0.20.2": 168 | version "0.20.2" 169 | resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz#19f6dcdb14409dae607f66ca1181dd4e9db81300" 170 | integrity sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg== 171 | 172 | "@esbuild/linux-s390x@0.19.12": 173 | version "0.19.12" 174 | resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz#e86fb8ffba7c5c92ba91fc3b27ed5a70196c3cc8" 175 | integrity sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg== 176 | 177 | "@esbuild/linux-s390x@0.20.2": 178 | version "0.20.2" 179 | resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz#3c830c90f1a5d7dd1473d5595ea4ebb920988685" 180 | integrity sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ== 181 | 182 | "@esbuild/linux-x64@0.19.12": 183 | version "0.19.12" 184 | resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz#5f37cfdc705aea687dfe5dfbec086a05acfe9c78" 185 | integrity sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg== 186 | 187 | "@esbuild/linux-x64@0.20.2": 188 | version "0.20.2" 189 | resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz#86eca35203afc0d9de0694c64ec0ab0a378f6fff" 190 | integrity sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw== 191 | 192 | "@esbuild/netbsd-x64@0.19.12": 193 | version "0.19.12" 194 | resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz#29da566a75324e0d0dd7e47519ba2f7ef168657b" 195 | integrity sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA== 196 | 197 | "@esbuild/netbsd-x64@0.20.2": 198 | version "0.20.2" 199 | resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz#e771c8eb0e0f6e1877ffd4220036b98aed5915e6" 200 | integrity sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ== 201 | 202 | "@esbuild/openbsd-x64@0.19.12": 203 | version "0.19.12" 204 | resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz#306c0acbdb5a99c95be98bdd1d47c916e7dc3ff0" 205 | integrity sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw== 206 | 207 | "@esbuild/openbsd-x64@0.20.2": 208 | version "0.20.2" 209 | resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz#9a795ae4b4e37e674f0f4d716f3e226dd7c39baf" 210 | integrity sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ== 211 | 212 | "@esbuild/sunos-x64@0.19.12": 213 | version "0.19.12" 214 | resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz#0933eaab9af8b9b2c930236f62aae3fc593faf30" 215 | integrity sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA== 216 | 217 | "@esbuild/sunos-x64@0.20.2": 218 | version "0.20.2" 219 | resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz#7df23b61a497b8ac189def6e25a95673caedb03f" 220 | integrity sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w== 221 | 222 | "@esbuild/win32-arm64@0.19.12": 223 | version "0.19.12" 224 | resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz#773bdbaa1971b36db2f6560088639ccd1e6773ae" 225 | integrity sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A== 226 | 227 | "@esbuild/win32-arm64@0.20.2": 228 | version "0.20.2" 229 | resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz#f1ae5abf9ca052ae11c1bc806fb4c0f519bacf90" 230 | integrity sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ== 231 | 232 | "@esbuild/win32-ia32@0.19.12": 233 | version "0.19.12" 234 | resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz#000516cad06354cc84a73f0943a4aa690ef6fd67" 235 | integrity sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ== 236 | 237 | "@esbuild/win32-ia32@0.20.2": 238 | version "0.20.2" 239 | resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz#241fe62c34d8e8461cd708277813e1d0ba55ce23" 240 | integrity sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ== 241 | 242 | "@esbuild/win32-x64@0.19.12": 243 | version "0.19.12" 244 | resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz#c57c8afbb4054a3ab8317591a0b7320360b444ae" 245 | integrity sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA== 246 | 247 | "@esbuild/win32-x64@0.20.2": 248 | version "0.20.2" 249 | resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz#9c907b21e30a52db959ba4f80bb01a0cc403d5cc" 250 | integrity sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ== 251 | 252 | "@isaacs/cliui@^8.0.2": 253 | version "8.0.2" 254 | resolved "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz" 255 | integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== 256 | dependencies: 257 | string-width "^5.1.2" 258 | string-width-cjs "npm:string-width@^4.2.0" 259 | strip-ansi "^7.0.1" 260 | strip-ansi-cjs "npm:strip-ansi@^6.0.1" 261 | wrap-ansi "^8.1.0" 262 | wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" 263 | 264 | "@jridgewell/sourcemap-codec@^1.4.15": 265 | version "1.4.15" 266 | resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" 267 | integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== 268 | 269 | "@observablehq/framework@latest": 270 | version "1.6.0" 271 | resolved "https://registry.npmjs.org/@observablehq/framework/-/framework-1.6.0.tgz" 272 | integrity sha512-Uak5dm2guoEe2zwz3zG8rCn3Z5Kb2ql9j+Lo3xKiJYH0epYdfNpdyoUeghkN3HO4DgMu8bUxtgGLPWBiUF0rzg== 273 | dependencies: 274 | "@clack/prompts" "^0.7.0" 275 | "@observablehq/inputs" "^0.10.6" 276 | "@observablehq/runtime" "^5.9.4" 277 | "@rollup/plugin-commonjs" "^25.0.7" 278 | "@rollup/plugin-node-resolve" "^15.2.3" 279 | "@rollup/plugin-virtual" "^3.0.2" 280 | acorn "^8.11.2" 281 | acorn-walk "^8.3.0" 282 | ci-info "^4.0.0" 283 | cross-env "^7.0.3" 284 | cross-spawn "^7.0.3" 285 | d3-array "^3.2.4" 286 | esbuild "^0.20.1" 287 | fast-array-diff "^1.1.0" 288 | gray-matter "^4.0.3" 289 | he "^1.2.0" 290 | highlight.js "^11.8.0" 291 | is-docker "^3.0.0" 292 | is-wsl "^3.1.0" 293 | jsdom "^24.0.0" 294 | jszip "^3.10.1" 295 | markdown-it "^14.0.0" 296 | markdown-it-anchor "^8.6.7" 297 | mime "^4.0.0" 298 | minisearch "^6.3.0" 299 | open "^10.1.0" 300 | pkg-dir "^8.0.0" 301 | rollup "^4.6.0" 302 | rollup-plugin-esbuild "^6.1.0" 303 | semver "^7.5.4" 304 | send "^0.18.0" 305 | tar-stream "^3.1.6" 306 | tsx "^4.7.1" 307 | untildify "^5.0.0" 308 | wrap-ansi "^9.0.0" 309 | ws "^8.14.2" 310 | 311 | "@observablehq/inputs@^0.10.6": 312 | version "0.10.6" 313 | resolved "https://registry.npmjs.org/@observablehq/inputs/-/inputs-0.10.6.tgz" 314 | integrity sha512-fOcpJvyBwPqr9I1QdW55J5x36nxRbfyqRQXVT3li9AvMpy6m14WPo5K0m4cPCxr4IlLIDtM/lq6z1GL3ElA14g== 315 | dependencies: 316 | htl "0.3" 317 | isoformat "^0.2.0" 318 | 319 | "@observablehq/inspector@^5.0.0": 320 | version "5.0.0" 321 | resolved "https://registry.npmjs.org/@observablehq/inspector/-/inspector-5.0.0.tgz" 322 | integrity sha512-Vvg/TQdsZTUaeYbH0IKxYEz37FbRO6kdowoz2PrHLQif54NC1CjEihEjg+ZMSBn587GQxTFABu0CGkFZgtR1UQ== 323 | dependencies: 324 | isoformat "^0.2.0" 325 | 326 | "@observablehq/runtime@^5.9.4": 327 | version "5.9.8" 328 | resolved "https://registry.npmjs.org/@observablehq/runtime/-/runtime-5.9.8.tgz" 329 | integrity sha512-RZZWfibLWX1xOEtNF0/Ajy1LZVNu3thDB9q1jSYTg9jLFYnIFK9BF2+CBpK2Rz0W9zmowWfJsaHHRjctFeV+7A== 330 | dependencies: 331 | "@observablehq/inspector" "^5.0.0" 332 | "@observablehq/stdlib" "^5.0.0" 333 | 334 | "@observablehq/stdlib@^5.0.0": 335 | version "5.8.7" 336 | resolved "https://registry.npmjs.org/@observablehq/stdlib/-/stdlib-5.8.7.tgz" 337 | integrity sha512-XU/lwtjZBAXTZstnBULrpr0v7jbTZqfZPLNeq54H3E9IGFQyjiwFSXDNUNv1PtS6Scts0x6toj47CB4075EmeA== 338 | dependencies: 339 | d3-array "^3.2.0" 340 | d3-dsv "^3.0.1" 341 | d3-require "^1.3.0" 342 | 343 | "@pkgjs/parseargs@^0.11.0": 344 | version "0.11.0" 345 | resolved "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz" 346 | integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== 347 | 348 | "@rollup/plugin-commonjs@^25.0.7": 349 | version "25.0.7" 350 | resolved "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-25.0.7.tgz" 351 | integrity sha512-nEvcR+LRjEjsaSsc4x3XZfCCvZIaSMenZu/OiwOKGN2UhQpAYI7ru7czFvyWbErlpoGjnSX3D5Ch5FcMA3kRWQ== 352 | dependencies: 353 | "@rollup/pluginutils" "^5.0.1" 354 | commondir "^1.0.1" 355 | estree-walker "^2.0.2" 356 | glob "^8.0.3" 357 | is-reference "1.2.1" 358 | magic-string "^0.30.3" 359 | 360 | "@rollup/plugin-node-resolve@^15.2.3": 361 | version "15.2.3" 362 | resolved "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.2.3.tgz" 363 | integrity sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ== 364 | dependencies: 365 | "@rollup/pluginutils" "^5.0.1" 366 | "@types/resolve" "1.20.2" 367 | deepmerge "^4.2.2" 368 | is-builtin-module "^3.2.1" 369 | is-module "^1.0.0" 370 | resolve "^1.22.1" 371 | 372 | "@rollup/plugin-virtual@^3.0.2": 373 | version "3.0.2" 374 | resolved "https://registry.npmjs.org/@rollup/plugin-virtual/-/plugin-virtual-3.0.2.tgz" 375 | integrity sha512-10monEYsBp3scM4/ND4LNH5Rxvh3e/cVeL3jWTgZ2SrQ+BmUoQcopVQvnaMcOnykb1VkxUFuDAN+0FnpTFRy2A== 376 | 377 | "@rollup/pluginutils@^5.0.1", "@rollup/pluginutils@^5.0.5": 378 | version "5.1.0" 379 | resolved "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz" 380 | integrity sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g== 381 | dependencies: 382 | "@types/estree" "^1.0.0" 383 | estree-walker "^2.0.2" 384 | picomatch "^2.3.1" 385 | 386 | "@rollup/rollup-android-arm-eabi@4.16.4": 387 | version "4.16.4" 388 | resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.16.4.tgz#5e8930291f1e5ead7fb1171d53ba5c87718de062" 389 | integrity sha512-GkhjAaQ8oUTOKE4g4gsZ0u8K/IHU1+2WQSgS1TwTcYvL+sjbaQjNHFXbOJ6kgqGHIO1DfUhI/Sphi9GkRT9K+Q== 390 | 391 | "@rollup/rollup-android-arm64@4.16.4": 392 | version "4.16.4" 393 | resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.16.4.tgz#ffb84f1359c04ec8a022a97110e18a5600f5f638" 394 | integrity sha512-Bvm6D+NPbGMQOcxvS1zUl8H7DWlywSXsphAeOnVeiZLQ+0J6Is8T7SrjGTH29KtYkiY9vld8ZnpV3G2EPbom+w== 395 | 396 | "@rollup/rollup-darwin-arm64@4.16.4": 397 | version "4.16.4" 398 | resolved "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.16.4.tgz" 399 | integrity sha512-i5d64MlnYBO9EkCOGe5vPR/EeDwjnKOGGdd7zKFhU5y8haKhQZTN2DgVtpODDMxUr4t2K90wTUJg7ilgND6bXw== 400 | 401 | "@rollup/rollup-darwin-x64@4.16.4": 402 | version "4.16.4" 403 | resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.16.4.tgz#fcb25ccbaa3dd33a6490e9d1c64bab2e0e16b932" 404 | integrity sha512-WZupV1+CdUYehaZqjaFTClJI72fjJEgTXdf4NbW69I9XyvdmztUExBtcI2yIIU6hJtYvtwS6pkTkHJz+k08mAQ== 405 | 406 | "@rollup/rollup-linux-arm-gnueabihf@4.16.4": 407 | version "4.16.4" 408 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.16.4.tgz#40d46bdfe667e5eca31bf40047460e326d2e26bb" 409 | integrity sha512-ADm/xt86JUnmAfA9mBqFcRp//RVRt1ohGOYF6yL+IFCYqOBNwy5lbEK05xTsEoJq+/tJzg8ICUtS82WinJRuIw== 410 | 411 | "@rollup/rollup-linux-arm-musleabihf@4.16.4": 412 | version "4.16.4" 413 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.16.4.tgz#7741df2448c11c56588b50835dbfe91b1a10b375" 414 | integrity sha512-tJfJaXPiFAG+Jn3cutp7mCs1ePltuAgRqdDZrzb1aeE3TktWWJ+g7xK9SNlaSUFw6IU4QgOxAY4rA+wZUT5Wfg== 415 | 416 | "@rollup/rollup-linux-arm64-gnu@4.16.4": 417 | version "4.16.4" 418 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.16.4.tgz#0a23b02d2933e4c4872ad18d879890b6a4a295df" 419 | integrity sha512-7dy1BzQkgYlUTapDTvK997cgi0Orh5Iu7JlZVBy1MBURk7/HSbHkzRnXZa19ozy+wwD8/SlpJnOOckuNZtJR9w== 420 | 421 | "@rollup/rollup-linux-arm64-musl@4.16.4": 422 | version "4.16.4" 423 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.16.4.tgz#e37ef259358aa886cc07d782220a4fb83c1e6970" 424 | integrity sha512-zsFwdUw5XLD1gQe0aoU2HVceI6NEW7q7m05wA46eUAyrkeNYExObfRFQcvA6zw8lfRc5BHtan3tBpo+kqEOxmg== 425 | 426 | "@rollup/rollup-linux-powerpc64le-gnu@4.16.4": 427 | version "4.16.4" 428 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.16.4.tgz#8c69218b6de05ee2ba211664a2d2ac1e54e43f94" 429 | integrity sha512-p8C3NnxXooRdNrdv6dBmRTddEapfESEUflpICDNKXpHvTjRRq1J82CbU5G3XfebIZyI3B0s074JHMWD36qOW6w== 430 | 431 | "@rollup/rollup-linux-riscv64-gnu@4.16.4": 432 | version "4.16.4" 433 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.16.4.tgz#d32727dab8f538d9a4a7c03bcf58c436aecd0139" 434 | integrity sha512-Lh/8ckoar4s4Id2foY7jNgitTOUQczwMWNYi+Mjt0eQ9LKhr6sK477REqQkmy8YHY3Ca3A2JJVdXnfb3Rrwkng== 435 | 436 | "@rollup/rollup-linux-s390x-gnu@4.16.4": 437 | version "4.16.4" 438 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.16.4.tgz#d46097246a187d99fc9451fe8393b7155b47c5ec" 439 | integrity sha512-1xwwn9ZCQYuqGmulGsTZoKrrn0z2fAur2ujE60QgyDpHmBbXbxLaQiEvzJWDrscRq43c8DnuHx3QorhMTZgisQ== 440 | 441 | "@rollup/rollup-linux-x64-gnu@4.16.4": 442 | version "4.16.4" 443 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.16.4.tgz#6356c5a03a4afb1c3057490fc51b4764e109dbc7" 444 | integrity sha512-LuOGGKAJ7dfRtxVnO1i3qWc6N9sh0Em/8aZ3CezixSTM+E9Oq3OvTsvC4sm6wWjzpsIlOCnZjdluINKESflJLA== 445 | 446 | "@rollup/rollup-linux-x64-musl@4.16.4": 447 | version "4.16.4" 448 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.16.4.tgz#03a5831a9c0d05877b94653b5ddd3020d3c6fb06" 449 | integrity sha512-ch86i7KkJKkLybDP2AtySFTRi5fM3KXp0PnHocHuJMdZwu7BuyIKi35BE9guMlmTpwwBTB3ljHj9IQXnTCD0vA== 450 | 451 | "@rollup/rollup-win32-arm64-msvc@4.16.4": 452 | version "4.16.4" 453 | resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.16.4.tgz#6cc0db57750376b9303bdb6f5482af8974fcae35" 454 | integrity sha512-Ma4PwyLfOWZWayfEsNQzTDBVW8PZ6TUUN1uFTBQbF2Chv/+sjenE86lpiEwj2FiviSmSZ4Ap4MaAfl1ciF4aSA== 455 | 456 | "@rollup/rollup-win32-ia32-msvc@4.16.4": 457 | version "4.16.4" 458 | resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.16.4.tgz#aea0b7e492bd9ed46971cb80bc34f1eb14e07789" 459 | integrity sha512-9m/ZDrQsdo/c06uOlP3W9G2ENRVzgzbSXmXHT4hwVaDQhYcRpi9bgBT0FTG9OhESxwK0WjQxYOSfv40cU+T69w== 460 | 461 | "@rollup/rollup-win32-x64-msvc@4.16.4": 462 | version "4.16.4" 463 | resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.16.4.tgz#c09ad9a132ccb5a67c4f211d909323ab1294f95f" 464 | integrity sha512-YunpoOAyGLDseanENHmbFvQSfVL5BxW3k7hhy0eN4rb3gS/ct75dVD0EXOWIqFT/nE8XYW6LP6vz6ctKRi0k9A== 465 | 466 | "@types/estree@*", "@types/estree@1.0.5", "@types/estree@^1.0.0": 467 | version "1.0.5" 468 | resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz" 469 | integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== 470 | 471 | "@types/resolve@1.20.2": 472 | version "1.20.2" 473 | resolved "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz" 474 | integrity sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q== 475 | 476 | acorn-walk@^8.3.0: 477 | version "8.3.2" 478 | resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz" 479 | integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A== 480 | 481 | acorn@^8.11.2: 482 | version "8.11.3" 483 | resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz" 484 | integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== 485 | 486 | agent-base@^7.0.2, agent-base@^7.1.0: 487 | version "7.1.1" 488 | resolved "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz" 489 | integrity sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA== 490 | dependencies: 491 | debug "^4.3.4" 492 | 493 | ansi-regex@^5.0.1: 494 | version "5.0.1" 495 | resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" 496 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== 497 | 498 | ansi-regex@^6.0.1: 499 | version "6.0.1" 500 | resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz" 501 | integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== 502 | 503 | ansi-styles@^4.0.0: 504 | version "4.3.0" 505 | resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" 506 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 507 | dependencies: 508 | color-convert "^2.0.1" 509 | 510 | ansi-styles@^6.1.0, ansi-styles@^6.2.1: 511 | version "6.2.1" 512 | resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz" 513 | integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== 514 | 515 | argparse@^1.0.7: 516 | version "1.0.10" 517 | resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" 518 | integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== 519 | dependencies: 520 | sprintf-js "~1.0.2" 521 | 522 | argparse@^2.0.1: 523 | version "2.0.1" 524 | resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" 525 | integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== 526 | 527 | asynckit@^0.4.0: 528 | version "0.4.0" 529 | resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" 530 | integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== 531 | 532 | b4a@^1.6.4: 533 | version "1.6.6" 534 | resolved "https://registry.npmjs.org/b4a/-/b4a-1.6.6.tgz" 535 | integrity sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg== 536 | 537 | balanced-match@^1.0.0: 538 | version "1.0.2" 539 | resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" 540 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 541 | 542 | bare-events@^2.2.0: 543 | version "2.2.2" 544 | resolved "https://registry.npmjs.org/bare-events/-/bare-events-2.2.2.tgz" 545 | integrity sha512-h7z00dWdG0PYOQEvChhOSWvOfkIKsdZGkWr083FgN/HyoQuebSew/cgirYqh9SCuy/hRvxc5Vy6Fw8xAmYHLkQ== 546 | 547 | brace-expansion@^2.0.1: 548 | version "2.0.1" 549 | resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz" 550 | integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== 551 | dependencies: 552 | balanced-match "^1.0.0" 553 | 554 | builtin-modules@^3.3.0: 555 | version "3.3.0" 556 | resolved "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz" 557 | integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== 558 | 559 | bundle-name@^4.1.0: 560 | version "4.1.0" 561 | resolved "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz" 562 | integrity sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q== 563 | dependencies: 564 | run-applescript "^7.0.0" 565 | 566 | ci-info@^4.0.0: 567 | version "4.0.0" 568 | resolved "https://registry.npmjs.org/ci-info/-/ci-info-4.0.0.tgz" 569 | integrity sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg== 570 | 571 | color-convert@^2.0.1: 572 | version "2.0.1" 573 | resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" 574 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 575 | dependencies: 576 | color-name "~1.1.4" 577 | 578 | color-name@~1.1.4: 579 | version "1.1.4" 580 | resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" 581 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 582 | 583 | combined-stream@^1.0.8: 584 | version "1.0.8" 585 | resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" 586 | integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== 587 | dependencies: 588 | delayed-stream "~1.0.0" 589 | 590 | commander@7: 591 | version "7.2.0" 592 | resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" 593 | integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== 594 | 595 | commondir@^1.0.1: 596 | version "1.0.1" 597 | resolved "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz" 598 | integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== 599 | 600 | core-util-is@~1.0.0: 601 | version "1.0.3" 602 | resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" 603 | integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== 604 | 605 | cross-env@^7.0.3: 606 | version "7.0.3" 607 | resolved "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz" 608 | integrity sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw== 609 | dependencies: 610 | cross-spawn "^7.0.1" 611 | 612 | cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.3: 613 | version "7.0.3" 614 | resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" 615 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== 616 | dependencies: 617 | path-key "^3.1.0" 618 | shebang-command "^2.0.0" 619 | which "^2.0.1" 620 | 621 | cssstyle@^4.0.1: 622 | version "4.0.1" 623 | resolved "https://registry.npmjs.org/cssstyle/-/cssstyle-4.0.1.tgz" 624 | integrity sha512-8ZYiJ3A/3OkDd093CBT/0UKDWry7ak4BdPTFP2+QEP7cmhouyq/Up709ASSj2cK02BbZiMgk7kYjZNS4QP5qrQ== 625 | dependencies: 626 | rrweb-cssom "^0.6.0" 627 | 628 | "d3-array@2 - 3", "d3-array@2.10.0 - 3", "d3-array@2.5.0 - 3", d3-array@3, d3-array@^3.2.0, d3-array@^3.2.4: 629 | version "3.2.4" 630 | resolved "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz" 631 | integrity sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg== 632 | dependencies: 633 | internmap "1 - 2" 634 | 635 | d3-axis@3: 636 | version "3.0.0" 637 | resolved "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz" 638 | integrity sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw== 639 | 640 | d3-brush@3: 641 | version "3.0.0" 642 | resolved "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz" 643 | integrity sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ== 644 | dependencies: 645 | d3-dispatch "1 - 3" 646 | d3-drag "2 - 3" 647 | d3-interpolate "1 - 3" 648 | d3-selection "3" 649 | d3-transition "3" 650 | 651 | d3-chord@3: 652 | version "3.0.1" 653 | resolved "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz" 654 | integrity sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g== 655 | dependencies: 656 | d3-path "1 - 3" 657 | 658 | "d3-color@1 - 3", d3-color@3: 659 | version "3.1.0" 660 | resolved "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz" 661 | integrity sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA== 662 | 663 | d3-contour@4: 664 | version "4.0.2" 665 | resolved "https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz" 666 | integrity sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA== 667 | dependencies: 668 | d3-array "^3.2.0" 669 | 670 | d3-delaunay@6: 671 | version "6.0.4" 672 | resolved "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz" 673 | integrity sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A== 674 | dependencies: 675 | delaunator "5" 676 | 677 | "d3-dispatch@1 - 3", d3-dispatch@3: 678 | version "3.0.1" 679 | resolved "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz" 680 | integrity sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg== 681 | 682 | "d3-drag@2 - 3", d3-drag@3: 683 | version "3.0.0" 684 | resolved "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz" 685 | integrity sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg== 686 | dependencies: 687 | d3-dispatch "1 - 3" 688 | d3-selection "3" 689 | 690 | "d3-dsv@1 - 3", d3-dsv@3, d3-dsv@^3.0.1: 691 | version "3.0.1" 692 | resolved "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz" 693 | integrity sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q== 694 | dependencies: 695 | commander "7" 696 | iconv-lite "0.6" 697 | rw "1" 698 | 699 | "d3-ease@1 - 3", d3-ease@3: 700 | version "3.0.1" 701 | resolved "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz" 702 | integrity sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w== 703 | 704 | d3-fetch@3: 705 | version "3.0.1" 706 | resolved "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz" 707 | integrity sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw== 708 | dependencies: 709 | d3-dsv "1 - 3" 710 | 711 | d3-force@3: 712 | version "3.0.0" 713 | resolved "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz" 714 | integrity sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg== 715 | dependencies: 716 | d3-dispatch "1 - 3" 717 | d3-quadtree "1 - 3" 718 | d3-timer "1 - 3" 719 | 720 | "d3-format@1 - 3", d3-format@3: 721 | version "3.1.0" 722 | resolved "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz" 723 | integrity sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA== 724 | 725 | d3-geo@3: 726 | version "3.1.1" 727 | resolved "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.1.tgz" 728 | integrity sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q== 729 | dependencies: 730 | d3-array "2.5.0 - 3" 731 | 732 | d3-hierarchy@3: 733 | version "3.1.2" 734 | resolved "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz" 735 | integrity sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA== 736 | 737 | "d3-interpolate@1 - 3", "d3-interpolate@1.2.0 - 3", d3-interpolate@3: 738 | version "3.0.1" 739 | resolved "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz" 740 | integrity sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g== 741 | dependencies: 742 | d3-color "1 - 3" 743 | 744 | "d3-path@1 - 3", d3-path@3, d3-path@^3.1.0: 745 | version "3.1.0" 746 | resolved "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz" 747 | integrity sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ== 748 | 749 | d3-polygon@3: 750 | version "3.0.1" 751 | resolved "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz" 752 | integrity sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg== 753 | 754 | "d3-quadtree@1 - 3", d3-quadtree@3: 755 | version "3.0.1" 756 | resolved "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz" 757 | integrity sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw== 758 | 759 | d3-random@3: 760 | version "3.0.1" 761 | resolved "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz" 762 | integrity sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ== 763 | 764 | d3-require@^1.3.0: 765 | version "1.3.0" 766 | resolved "https://registry.npmjs.org/d3-require/-/d3-require-1.3.0.tgz" 767 | integrity sha512-XaNc2azaAwXhGjmCMtxlD+AowpMfLimVsAoTMpqrvb8CWoA4QqyV12mc4Ue6KSoDvfuS831tsumfhDYxGd4FGA== 768 | 769 | d3-scale-chromatic@3: 770 | version "3.1.0" 771 | resolved "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz" 772 | integrity sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ== 773 | dependencies: 774 | d3-color "1 - 3" 775 | d3-interpolate "1 - 3" 776 | 777 | d3-scale@4: 778 | version "4.0.2" 779 | resolved "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz" 780 | integrity sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ== 781 | dependencies: 782 | d3-array "2.10.0 - 3" 783 | d3-format "1 - 3" 784 | d3-interpolate "1.2.0 - 3" 785 | d3-time "2.1.1 - 3" 786 | d3-time-format "2 - 4" 787 | 788 | "d3-selection@2 - 3", d3-selection@3: 789 | version "3.0.0" 790 | resolved "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz" 791 | integrity sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ== 792 | 793 | d3-shape@3: 794 | version "3.2.0" 795 | resolved "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz" 796 | integrity sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA== 797 | dependencies: 798 | d3-path "^3.1.0" 799 | 800 | "d3-time-format@2 - 4", d3-time-format@4, d3-time-format@^4.1.0: 801 | version "4.1.0" 802 | resolved "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz" 803 | integrity sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg== 804 | dependencies: 805 | d3-time "1 - 3" 806 | 807 | "d3-time@1 - 3", "d3-time@2.1.1 - 3", d3-time@3: 808 | version "3.1.0" 809 | resolved "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz" 810 | integrity sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q== 811 | dependencies: 812 | d3-array "2 - 3" 813 | 814 | "d3-timer@1 - 3", d3-timer@3: 815 | version "3.0.1" 816 | resolved "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz" 817 | integrity sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA== 818 | 819 | "d3-transition@2 - 3", d3-transition@3: 820 | version "3.0.1" 821 | resolved "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz" 822 | integrity sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w== 823 | dependencies: 824 | d3-color "1 - 3" 825 | d3-dispatch "1 - 3" 826 | d3-ease "1 - 3" 827 | d3-interpolate "1 - 3" 828 | d3-timer "1 - 3" 829 | 830 | d3-zoom@3: 831 | version "3.0.0" 832 | resolved "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz" 833 | integrity sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw== 834 | dependencies: 835 | d3-dispatch "1 - 3" 836 | d3-drag "2 - 3" 837 | d3-interpolate "1 - 3" 838 | d3-selection "2 - 3" 839 | d3-transition "2 - 3" 840 | 841 | d3@^7.9.0: 842 | version "7.9.0" 843 | resolved "https://registry.npmjs.org/d3/-/d3-7.9.0.tgz" 844 | integrity sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA== 845 | dependencies: 846 | d3-array "3" 847 | d3-axis "3" 848 | d3-brush "3" 849 | d3-chord "3" 850 | d3-color "3" 851 | d3-contour "4" 852 | d3-delaunay "6" 853 | d3-dispatch "3" 854 | d3-drag "3" 855 | d3-dsv "3" 856 | d3-ease "3" 857 | d3-fetch "3" 858 | d3-force "3" 859 | d3-format "3" 860 | d3-geo "3" 861 | d3-hierarchy "3" 862 | d3-interpolate "3" 863 | d3-path "3" 864 | d3-polygon "3" 865 | d3-quadtree "3" 866 | d3-random "3" 867 | d3-scale "4" 868 | d3-scale-chromatic "3" 869 | d3-selection "3" 870 | d3-shape "3" 871 | d3-time "3" 872 | d3-time-format "4" 873 | d3-timer "3" 874 | d3-transition "3" 875 | d3-zoom "3" 876 | 877 | data-urls@^5.0.0: 878 | version "5.0.0" 879 | resolved "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz" 880 | integrity sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg== 881 | dependencies: 882 | whatwg-mimetype "^4.0.0" 883 | whatwg-url "^14.0.0" 884 | 885 | debug@2.6.9: 886 | version "2.6.9" 887 | resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" 888 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== 889 | dependencies: 890 | ms "2.0.0" 891 | 892 | debug@4, debug@^4.3.4: 893 | version "4.3.4" 894 | resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" 895 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== 896 | dependencies: 897 | ms "2.1.2" 898 | 899 | decimal.js@^10.4.3: 900 | version "10.4.3" 901 | resolved "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz" 902 | integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== 903 | 904 | deepmerge@^4.2.2: 905 | version "4.3.1" 906 | resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz" 907 | integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== 908 | 909 | default-browser-id@^5.0.0: 910 | version "5.0.0" 911 | resolved "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz" 912 | integrity sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA== 913 | 914 | default-browser@^5.2.1: 915 | version "5.2.1" 916 | resolved "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz" 917 | integrity sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg== 918 | dependencies: 919 | bundle-name "^4.1.0" 920 | default-browser-id "^5.0.0" 921 | 922 | define-lazy-prop@^3.0.0: 923 | version "3.0.0" 924 | resolved "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz" 925 | integrity sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg== 926 | 927 | delaunator@5: 928 | version "5.0.1" 929 | resolved "https://registry.npmjs.org/delaunator/-/delaunator-5.0.1.tgz" 930 | integrity sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw== 931 | dependencies: 932 | robust-predicates "^3.0.2" 933 | 934 | delayed-stream@~1.0.0: 935 | version "1.0.0" 936 | resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" 937 | integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== 938 | 939 | depd@2.0.0: 940 | version "2.0.0" 941 | resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" 942 | integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== 943 | 944 | destroy@1.2.0: 945 | version "1.2.0" 946 | resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz" 947 | integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== 948 | 949 | eastasianwidth@^0.2.0: 950 | version "0.2.0" 951 | resolved "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz" 952 | integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== 953 | 954 | ee-first@1.1.1: 955 | version "1.1.1" 956 | resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" 957 | integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== 958 | 959 | emoji-regex@^10.3.0: 960 | version "10.3.0" 961 | resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz" 962 | integrity sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw== 963 | 964 | emoji-regex@^8.0.0: 965 | version "8.0.0" 966 | resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" 967 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== 968 | 969 | emoji-regex@^9.2.2: 970 | version "9.2.2" 971 | resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" 972 | integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== 973 | 974 | encodeurl@~1.0.2: 975 | version "1.0.2" 976 | resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" 977 | integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== 978 | 979 | entities@^4.4.0: 980 | version "4.5.0" 981 | resolved "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz" 982 | integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== 983 | 984 | es-module-lexer@^1.3.1: 985 | version "1.5.0" 986 | resolved "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.0.tgz" 987 | integrity sha512-pqrTKmwEIgafsYZAGw9kszYzmagcE/n4dbgwGWLEXg7J4QFJVQRBld8j3Q3GNez79jzxZshq0bcT962QHOghjw== 988 | 989 | esbuild@^0.20.1: 990 | version "0.20.2" 991 | resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz" 992 | integrity sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g== 993 | optionalDependencies: 994 | "@esbuild/aix-ppc64" "0.20.2" 995 | "@esbuild/android-arm" "0.20.2" 996 | "@esbuild/android-arm64" "0.20.2" 997 | "@esbuild/android-x64" "0.20.2" 998 | "@esbuild/darwin-arm64" "0.20.2" 999 | "@esbuild/darwin-x64" "0.20.2" 1000 | "@esbuild/freebsd-arm64" "0.20.2" 1001 | "@esbuild/freebsd-x64" "0.20.2" 1002 | "@esbuild/linux-arm" "0.20.2" 1003 | "@esbuild/linux-arm64" "0.20.2" 1004 | "@esbuild/linux-ia32" "0.20.2" 1005 | "@esbuild/linux-loong64" "0.20.2" 1006 | "@esbuild/linux-mips64el" "0.20.2" 1007 | "@esbuild/linux-ppc64" "0.20.2" 1008 | "@esbuild/linux-riscv64" "0.20.2" 1009 | "@esbuild/linux-s390x" "0.20.2" 1010 | "@esbuild/linux-x64" "0.20.2" 1011 | "@esbuild/netbsd-x64" "0.20.2" 1012 | "@esbuild/openbsd-x64" "0.20.2" 1013 | "@esbuild/sunos-x64" "0.20.2" 1014 | "@esbuild/win32-arm64" "0.20.2" 1015 | "@esbuild/win32-ia32" "0.20.2" 1016 | "@esbuild/win32-x64" "0.20.2" 1017 | 1018 | esbuild@~0.19.10: 1019 | version "0.19.12" 1020 | resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz" 1021 | integrity sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg== 1022 | optionalDependencies: 1023 | "@esbuild/aix-ppc64" "0.19.12" 1024 | "@esbuild/android-arm" "0.19.12" 1025 | "@esbuild/android-arm64" "0.19.12" 1026 | "@esbuild/android-x64" "0.19.12" 1027 | "@esbuild/darwin-arm64" "0.19.12" 1028 | "@esbuild/darwin-x64" "0.19.12" 1029 | "@esbuild/freebsd-arm64" "0.19.12" 1030 | "@esbuild/freebsd-x64" "0.19.12" 1031 | "@esbuild/linux-arm" "0.19.12" 1032 | "@esbuild/linux-arm64" "0.19.12" 1033 | "@esbuild/linux-ia32" "0.19.12" 1034 | "@esbuild/linux-loong64" "0.19.12" 1035 | "@esbuild/linux-mips64el" "0.19.12" 1036 | "@esbuild/linux-ppc64" "0.19.12" 1037 | "@esbuild/linux-riscv64" "0.19.12" 1038 | "@esbuild/linux-s390x" "0.19.12" 1039 | "@esbuild/linux-x64" "0.19.12" 1040 | "@esbuild/netbsd-x64" "0.19.12" 1041 | "@esbuild/openbsd-x64" "0.19.12" 1042 | "@esbuild/sunos-x64" "0.19.12" 1043 | "@esbuild/win32-arm64" "0.19.12" 1044 | "@esbuild/win32-ia32" "0.19.12" 1045 | "@esbuild/win32-x64" "0.19.12" 1046 | 1047 | escape-html@~1.0.3: 1048 | version "1.0.3" 1049 | resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" 1050 | integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== 1051 | 1052 | esprima@^4.0.0: 1053 | version "4.0.1" 1054 | resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" 1055 | integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== 1056 | 1057 | estree-walker@^2.0.2: 1058 | version "2.0.2" 1059 | resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz" 1060 | integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== 1061 | 1062 | etag@~1.8.1: 1063 | version "1.8.1" 1064 | resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" 1065 | integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== 1066 | 1067 | extend-shallow@^2.0.1: 1068 | version "2.0.1" 1069 | resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz" 1070 | integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug== 1071 | dependencies: 1072 | is-extendable "^0.1.0" 1073 | 1074 | fast-array-diff@^1.1.0: 1075 | version "1.1.0" 1076 | resolved "https://registry.npmjs.org/fast-array-diff/-/fast-array-diff-1.1.0.tgz" 1077 | integrity sha512-muSPyZa/yHCoDQhah9th57AmLENB1nekbrUoLAqOpQXdl1Kw8VbH24Syl5XLscaQJlx7KRU95bfTDPvVB5BJvw== 1078 | 1079 | fast-fifo@^1.1.0, fast-fifo@^1.2.0: 1080 | version "1.3.2" 1081 | resolved "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz" 1082 | integrity sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ== 1083 | 1084 | find-up-simple@^1.0.0: 1085 | version "1.0.0" 1086 | resolved "https://registry.npmjs.org/find-up-simple/-/find-up-simple-1.0.0.tgz" 1087 | integrity sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw== 1088 | 1089 | foreground-child@^3.1.0: 1090 | version "3.1.1" 1091 | resolved "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz" 1092 | integrity sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== 1093 | dependencies: 1094 | cross-spawn "^7.0.0" 1095 | signal-exit "^4.0.1" 1096 | 1097 | form-data@^4.0.0: 1098 | version "4.0.0" 1099 | resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz" 1100 | integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== 1101 | dependencies: 1102 | asynckit "^0.4.0" 1103 | combined-stream "^1.0.8" 1104 | mime-types "^2.1.12" 1105 | 1106 | fresh@0.5.2: 1107 | version "0.5.2" 1108 | resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz" 1109 | integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== 1110 | 1111 | fs.realpath@^1.0.0: 1112 | version "1.0.0" 1113 | resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" 1114 | integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== 1115 | 1116 | fsevents@~2.3.2, fsevents@~2.3.3: 1117 | version "2.3.3" 1118 | resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" 1119 | integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== 1120 | 1121 | function-bind@^1.1.2: 1122 | version "1.1.2" 1123 | resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" 1124 | integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== 1125 | 1126 | get-east-asian-width@^1.0.0: 1127 | version "1.2.0" 1128 | resolved "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz" 1129 | integrity sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA== 1130 | 1131 | get-tsconfig@^4.7.2: 1132 | version "4.7.3" 1133 | resolved "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.3.tgz" 1134 | integrity sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg== 1135 | dependencies: 1136 | resolve-pkg-maps "^1.0.0" 1137 | 1138 | glob@^10.3.7: 1139 | version "10.3.12" 1140 | resolved "https://registry.npmjs.org/glob/-/glob-10.3.12.tgz" 1141 | integrity sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg== 1142 | dependencies: 1143 | foreground-child "^3.1.0" 1144 | jackspeak "^2.3.6" 1145 | minimatch "^9.0.1" 1146 | minipass "^7.0.4" 1147 | path-scurry "^1.10.2" 1148 | 1149 | glob@^8.0.3: 1150 | version "8.1.0" 1151 | resolved "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz" 1152 | integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== 1153 | dependencies: 1154 | fs.realpath "^1.0.0" 1155 | inflight "^1.0.4" 1156 | inherits "2" 1157 | minimatch "^5.0.1" 1158 | once "^1.3.0" 1159 | 1160 | gray-matter@^4.0.3: 1161 | version "4.0.3" 1162 | resolved "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz" 1163 | integrity sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q== 1164 | dependencies: 1165 | js-yaml "^3.13.1" 1166 | kind-of "^6.0.2" 1167 | section-matter "^1.0.0" 1168 | strip-bom-string "^1.0.0" 1169 | 1170 | hasown@^2.0.0: 1171 | version "2.0.2" 1172 | resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz" 1173 | integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== 1174 | dependencies: 1175 | function-bind "^1.1.2" 1176 | 1177 | he@^1.2.0: 1178 | version "1.2.0" 1179 | resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz" 1180 | integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== 1181 | 1182 | highlight.js@^11.8.0: 1183 | version "11.9.0" 1184 | resolved "https://registry.npmjs.org/highlight.js/-/highlight.js-11.9.0.tgz" 1185 | integrity sha512-fJ7cW7fQGCYAkgv4CPfwFHrfd/cLS4Hau96JuJ+ZTOWhjnhoeN1ub1tFmALm/+lW5z4WCAuAV9bm05AP0mS6Gw== 1186 | 1187 | htl@0.3: 1188 | version "0.3.1" 1189 | resolved "https://registry.npmjs.org/htl/-/htl-0.3.1.tgz" 1190 | integrity sha512-1LBtd+XhSc+++jpOOt0lCcEycXs/zTQSupOISnVAUmvGBpV7DH+C2M6hwV7zWYfpTMMg9ch4NO0lHiOTAMHdVA== 1191 | 1192 | html-encoding-sniffer@^4.0.0: 1193 | version "4.0.0" 1194 | resolved "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz" 1195 | integrity sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ== 1196 | dependencies: 1197 | whatwg-encoding "^3.1.1" 1198 | 1199 | http-errors@2.0.0: 1200 | version "2.0.0" 1201 | resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz" 1202 | integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== 1203 | dependencies: 1204 | depd "2.0.0" 1205 | inherits "2.0.4" 1206 | setprototypeof "1.2.0" 1207 | statuses "2.0.1" 1208 | toidentifier "1.0.1" 1209 | 1210 | http-proxy-agent@^7.0.0: 1211 | version "7.0.2" 1212 | resolved "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz" 1213 | integrity sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig== 1214 | dependencies: 1215 | agent-base "^7.1.0" 1216 | debug "^4.3.4" 1217 | 1218 | https-proxy-agent@^7.0.2: 1219 | version "7.0.4" 1220 | resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz" 1221 | integrity sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg== 1222 | dependencies: 1223 | agent-base "^7.0.2" 1224 | debug "4" 1225 | 1226 | iconv-lite@0.6, iconv-lite@0.6.3: 1227 | version "0.6.3" 1228 | resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" 1229 | integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== 1230 | dependencies: 1231 | safer-buffer ">= 2.1.2 < 3.0.0" 1232 | 1233 | immediate@~3.0.5: 1234 | version "3.0.6" 1235 | resolved "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz" 1236 | integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ== 1237 | 1238 | inflight@^1.0.4: 1239 | version "1.0.6" 1240 | resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" 1241 | integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== 1242 | dependencies: 1243 | once "^1.3.0" 1244 | wrappy "1" 1245 | 1246 | inherits@2, inherits@2.0.4, inherits@~2.0.3: 1247 | version "2.0.4" 1248 | resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" 1249 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 1250 | 1251 | "internmap@1 - 2": 1252 | version "2.0.3" 1253 | resolved "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz" 1254 | integrity sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg== 1255 | 1256 | is-builtin-module@^3.2.1: 1257 | version "3.2.1" 1258 | resolved "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz" 1259 | integrity sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A== 1260 | dependencies: 1261 | builtin-modules "^3.3.0" 1262 | 1263 | is-core-module@^2.13.0: 1264 | version "2.13.1" 1265 | resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz" 1266 | integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== 1267 | dependencies: 1268 | hasown "^2.0.0" 1269 | 1270 | is-docker@^3.0.0: 1271 | version "3.0.0" 1272 | resolved "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz" 1273 | integrity sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ== 1274 | 1275 | is-extendable@^0.1.0: 1276 | version "0.1.1" 1277 | resolved "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" 1278 | integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== 1279 | 1280 | is-fullwidth-code-point@^3.0.0: 1281 | version "3.0.0" 1282 | resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" 1283 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== 1284 | 1285 | is-inside-container@^1.0.0: 1286 | version "1.0.0" 1287 | resolved "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz" 1288 | integrity sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA== 1289 | dependencies: 1290 | is-docker "^3.0.0" 1291 | 1292 | is-module@^1.0.0: 1293 | version "1.0.0" 1294 | resolved "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz" 1295 | integrity sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g== 1296 | 1297 | is-potential-custom-element-name@^1.0.1: 1298 | version "1.0.1" 1299 | resolved "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz" 1300 | integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== 1301 | 1302 | is-reference@1.2.1: 1303 | version "1.2.1" 1304 | resolved "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz" 1305 | integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== 1306 | dependencies: 1307 | "@types/estree" "*" 1308 | 1309 | is-unicode-supported@*: 1310 | version "2.0.0" 1311 | resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-2.0.0.tgz#fdf32df9ae98ff6ab2cedc155a5a6e895701c451" 1312 | integrity sha512-FRdAyx5lusK1iHG0TWpVtk9+1i+GjrzRffhDg4ovQ7mcidMQ6mj+MhKPmvh7Xwyv5gIS06ns49CA7Sqg7lC22Q== 1313 | 1314 | is-wsl@^3.1.0: 1315 | version "3.1.0" 1316 | resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz" 1317 | integrity sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw== 1318 | dependencies: 1319 | is-inside-container "^1.0.0" 1320 | 1321 | isarray@~1.0.0: 1322 | version "1.0.0" 1323 | resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" 1324 | integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== 1325 | 1326 | isexe@^2.0.0: 1327 | version "2.0.0" 1328 | resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" 1329 | integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== 1330 | 1331 | isoformat@^0.2.0: 1332 | version "0.2.1" 1333 | resolved "https://registry.npmjs.org/isoformat/-/isoformat-0.2.1.tgz" 1334 | integrity sha512-tFLRAygk9NqrRPhJSnNGh7g7oaVWDwR0wKh/GM2LgmPa50Eg4UfyaCO4I8k6EqJHl1/uh2RAD6g06n5ygEnrjQ== 1335 | 1336 | jackspeak@^2.3.6: 1337 | version "2.3.6" 1338 | resolved "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz" 1339 | integrity sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ== 1340 | dependencies: 1341 | "@isaacs/cliui" "^8.0.2" 1342 | optionalDependencies: 1343 | "@pkgjs/parseargs" "^0.11.0" 1344 | 1345 | js-yaml@^3.13.1: 1346 | version "3.14.1" 1347 | resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" 1348 | integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== 1349 | dependencies: 1350 | argparse "^1.0.7" 1351 | esprima "^4.0.0" 1352 | 1353 | jsdom@^24.0.0: 1354 | version "24.0.0" 1355 | resolved "https://registry.npmjs.org/jsdom/-/jsdom-24.0.0.tgz" 1356 | integrity sha512-UDS2NayCvmXSXVP6mpTj+73JnNQadZlr9N68189xib2tx5Mls7swlTNao26IoHv46BZJFvXygyRtyXd1feAk1A== 1357 | dependencies: 1358 | cssstyle "^4.0.1" 1359 | data-urls "^5.0.0" 1360 | decimal.js "^10.4.3" 1361 | form-data "^4.0.0" 1362 | html-encoding-sniffer "^4.0.0" 1363 | http-proxy-agent "^7.0.0" 1364 | https-proxy-agent "^7.0.2" 1365 | is-potential-custom-element-name "^1.0.1" 1366 | nwsapi "^2.2.7" 1367 | parse5 "^7.1.2" 1368 | rrweb-cssom "^0.6.0" 1369 | saxes "^6.0.0" 1370 | symbol-tree "^3.2.4" 1371 | tough-cookie "^4.1.3" 1372 | w3c-xmlserializer "^5.0.0" 1373 | webidl-conversions "^7.0.0" 1374 | whatwg-encoding "^3.1.1" 1375 | whatwg-mimetype "^4.0.0" 1376 | whatwg-url "^14.0.0" 1377 | ws "^8.16.0" 1378 | xml-name-validator "^5.0.0" 1379 | 1380 | jszip@^3.10.1: 1381 | version "3.10.1" 1382 | resolved "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz" 1383 | integrity sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g== 1384 | dependencies: 1385 | lie "~3.3.0" 1386 | pako "~1.0.2" 1387 | readable-stream "~2.3.6" 1388 | setimmediate "^1.0.5" 1389 | 1390 | kind-of@^6.0.0, kind-of@^6.0.2: 1391 | version "6.0.3" 1392 | resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" 1393 | integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== 1394 | 1395 | lie@~3.3.0: 1396 | version "3.3.0" 1397 | resolved "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz" 1398 | integrity sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ== 1399 | dependencies: 1400 | immediate "~3.0.5" 1401 | 1402 | linkify-it@^5.0.0: 1403 | version "5.0.0" 1404 | resolved "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz" 1405 | integrity sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ== 1406 | dependencies: 1407 | uc.micro "^2.0.0" 1408 | 1409 | lru-cache@^10.2.0: 1410 | version "10.2.0" 1411 | resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz" 1412 | integrity sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q== 1413 | 1414 | lru-cache@^6.0.0: 1415 | version "6.0.0" 1416 | resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" 1417 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== 1418 | dependencies: 1419 | yallist "^4.0.0" 1420 | 1421 | magic-string@^0.30.3: 1422 | version "0.30.10" 1423 | resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz" 1424 | integrity sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ== 1425 | dependencies: 1426 | "@jridgewell/sourcemap-codec" "^1.4.15" 1427 | 1428 | markdown-it-anchor@^8.6.7: 1429 | version "8.6.7" 1430 | resolved "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.7.tgz" 1431 | integrity sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA== 1432 | 1433 | markdown-it@^14.0.0: 1434 | version "14.1.0" 1435 | resolved "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz" 1436 | integrity sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg== 1437 | dependencies: 1438 | argparse "^2.0.1" 1439 | entities "^4.4.0" 1440 | linkify-it "^5.0.0" 1441 | mdurl "^2.0.0" 1442 | punycode.js "^2.3.1" 1443 | uc.micro "^2.1.0" 1444 | 1445 | mdurl@^2.0.0: 1446 | version "2.0.0" 1447 | resolved "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz" 1448 | integrity sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w== 1449 | 1450 | mime-db@1.52.0: 1451 | version "1.52.0" 1452 | resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" 1453 | integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== 1454 | 1455 | mime-types@^2.1.12: 1456 | version "2.1.35" 1457 | resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" 1458 | integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== 1459 | dependencies: 1460 | mime-db "1.52.0" 1461 | 1462 | mime@1.6.0: 1463 | version "1.6.0" 1464 | resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" 1465 | integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== 1466 | 1467 | mime@^4.0.0: 1468 | version "4.0.2" 1469 | resolved "https://registry.npmjs.org/mime/-/mime-4.0.2.tgz" 1470 | integrity sha512-rSR2L7RhEm0ifwn6lZAa+CcLy7EEl6POovp3QcnFHb/C5P4B+h6u+yCQPQaWzNdecHL8p85zRowrAjpF9F46Og== 1471 | 1472 | minimatch@^5.0.1: 1473 | version "5.1.6" 1474 | resolved "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz" 1475 | integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== 1476 | dependencies: 1477 | brace-expansion "^2.0.1" 1478 | 1479 | minimatch@^9.0.1: 1480 | version "9.0.4" 1481 | resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz" 1482 | integrity sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw== 1483 | dependencies: 1484 | brace-expansion "^2.0.1" 1485 | 1486 | "minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.0.4: 1487 | version "7.0.4" 1488 | resolved "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz" 1489 | integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ== 1490 | 1491 | minisearch@^6.3.0: 1492 | version "6.3.0" 1493 | resolved "https://registry.npmjs.org/minisearch/-/minisearch-6.3.0.tgz" 1494 | integrity sha512-ihFnidEeU8iXzcVHy74dhkxh/dn8Dc08ERl0xwoMMGqp4+LvRSCgicb+zGqWthVokQKvCSxITlh3P08OzdTYCQ== 1495 | 1496 | ms@2.0.0: 1497 | version "2.0.0" 1498 | resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" 1499 | integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== 1500 | 1501 | ms@2.1.2: 1502 | version "2.1.2" 1503 | resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" 1504 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 1505 | 1506 | ms@2.1.3: 1507 | version "2.1.3" 1508 | resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" 1509 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== 1510 | 1511 | nwsapi@^2.2.7: 1512 | version "2.2.9" 1513 | resolved "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.9.tgz" 1514 | integrity sha512-2f3F0SEEer8bBu0dsNCFF50N0cTThV1nWFYcEYFZttdW0lDAoybv9cQoK7X7/68Z89S7FoRrVjP1LPX4XRf9vg== 1515 | 1516 | on-finished@2.4.1: 1517 | version "2.4.1" 1518 | resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz" 1519 | integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== 1520 | dependencies: 1521 | ee-first "1.1.1" 1522 | 1523 | once@^1.3.0: 1524 | version "1.4.0" 1525 | resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" 1526 | integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== 1527 | dependencies: 1528 | wrappy "1" 1529 | 1530 | open@^10.1.0: 1531 | version "10.1.0" 1532 | resolved "https://registry.npmjs.org/open/-/open-10.1.0.tgz" 1533 | integrity sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw== 1534 | dependencies: 1535 | default-browser "^5.2.1" 1536 | define-lazy-prop "^3.0.0" 1537 | is-inside-container "^1.0.0" 1538 | is-wsl "^3.1.0" 1539 | 1540 | pako@~1.0.2: 1541 | version "1.0.11" 1542 | resolved "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz" 1543 | integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== 1544 | 1545 | parse5@^7.1.2: 1546 | version "7.1.2" 1547 | resolved "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz" 1548 | integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== 1549 | dependencies: 1550 | entities "^4.4.0" 1551 | 1552 | path-key@^3.1.0: 1553 | version "3.1.1" 1554 | resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" 1555 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== 1556 | 1557 | path-parse@^1.0.7: 1558 | version "1.0.7" 1559 | resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" 1560 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 1561 | 1562 | path-scurry@^1.10.2: 1563 | version "1.10.2" 1564 | resolved "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.2.tgz" 1565 | integrity sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA== 1566 | dependencies: 1567 | lru-cache "^10.2.0" 1568 | minipass "^5.0.0 || ^6.0.2 || ^7.0.0" 1569 | 1570 | picocolors@^1.0.0: 1571 | version "1.0.0" 1572 | resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" 1573 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== 1574 | 1575 | picomatch@^2.3.1: 1576 | version "2.3.1" 1577 | resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" 1578 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 1579 | 1580 | pkg-dir@^8.0.0: 1581 | version "8.0.0" 1582 | resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-8.0.0.tgz" 1583 | integrity sha512-4peoBq4Wks0riS0z8741NVv+/8IiTvqnZAr8QGgtdifrtpdXbNw/FxRS1l6NFqm4EMzuS0EDqNNx4XGaz8cuyQ== 1584 | dependencies: 1585 | find-up-simple "^1.0.0" 1586 | 1587 | process-nextick-args@~2.0.0: 1588 | version "2.0.1" 1589 | resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" 1590 | integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== 1591 | 1592 | psl@^1.1.33: 1593 | version "1.9.0" 1594 | resolved "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz" 1595 | integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== 1596 | 1597 | punycode.js@^2.3.1: 1598 | version "2.3.1" 1599 | resolved "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz" 1600 | integrity sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA== 1601 | 1602 | punycode@^2.1.1, punycode@^2.3.1: 1603 | version "2.3.1" 1604 | resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz" 1605 | integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== 1606 | 1607 | querystringify@^2.1.1: 1608 | version "2.2.0" 1609 | resolved "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz" 1610 | integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== 1611 | 1612 | queue-tick@^1.0.1: 1613 | version "1.0.1" 1614 | resolved "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz" 1615 | integrity sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag== 1616 | 1617 | range-parser@~1.2.1: 1618 | version "1.2.1" 1619 | resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" 1620 | integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== 1621 | 1622 | readable-stream@~2.3.6: 1623 | version "2.3.8" 1624 | resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" 1625 | integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== 1626 | dependencies: 1627 | core-util-is "~1.0.0" 1628 | inherits "~2.0.3" 1629 | isarray "~1.0.0" 1630 | process-nextick-args "~2.0.0" 1631 | safe-buffer "~5.1.1" 1632 | string_decoder "~1.1.1" 1633 | util-deprecate "~1.0.1" 1634 | 1635 | requires-port@^1.0.0: 1636 | version "1.0.0" 1637 | resolved "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz" 1638 | integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== 1639 | 1640 | resolve-pkg-maps@^1.0.0: 1641 | version "1.0.0" 1642 | resolved "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz" 1643 | integrity sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw== 1644 | 1645 | resolve@^1.22.1: 1646 | version "1.22.8" 1647 | resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz" 1648 | integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== 1649 | dependencies: 1650 | is-core-module "^2.13.0" 1651 | path-parse "^1.0.7" 1652 | supports-preserve-symlinks-flag "^1.0.0" 1653 | 1654 | rimraf@^5.0.5: 1655 | version "5.0.5" 1656 | resolved "https://registry.npmjs.org/rimraf/-/rimraf-5.0.5.tgz" 1657 | integrity sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A== 1658 | dependencies: 1659 | glob "^10.3.7" 1660 | 1661 | robust-predicates@^3.0.2: 1662 | version "3.0.2" 1663 | resolved "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz" 1664 | integrity sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg== 1665 | 1666 | rollup-plugin-esbuild@^6.1.0: 1667 | version "6.1.1" 1668 | resolved "https://registry.npmjs.org/rollup-plugin-esbuild/-/rollup-plugin-esbuild-6.1.1.tgz" 1669 | integrity sha512-CehMY9FAqJD5OUaE/Mi1r5z0kNeYxItmRO2zG4Qnv2qWKF09J2lTy5GUzjJR354ZPrLkCj4fiBN41lo8PzBUhw== 1670 | dependencies: 1671 | "@rollup/pluginutils" "^5.0.5" 1672 | debug "^4.3.4" 1673 | es-module-lexer "^1.3.1" 1674 | get-tsconfig "^4.7.2" 1675 | 1676 | rollup@^4.6.0: 1677 | version "4.16.4" 1678 | resolved "https://registry.npmjs.org/rollup/-/rollup-4.16.4.tgz" 1679 | integrity sha512-kuaTJSUbz+Wsb2ATGvEknkI12XV40vIiHmLuFlejoo7HtDok/O5eDDD0UpCVY5bBX5U5RYo8wWP83H7ZsqVEnA== 1680 | dependencies: 1681 | "@types/estree" "1.0.5" 1682 | optionalDependencies: 1683 | "@rollup/rollup-android-arm-eabi" "4.16.4" 1684 | "@rollup/rollup-android-arm64" "4.16.4" 1685 | "@rollup/rollup-darwin-arm64" "4.16.4" 1686 | "@rollup/rollup-darwin-x64" "4.16.4" 1687 | "@rollup/rollup-linux-arm-gnueabihf" "4.16.4" 1688 | "@rollup/rollup-linux-arm-musleabihf" "4.16.4" 1689 | "@rollup/rollup-linux-arm64-gnu" "4.16.4" 1690 | "@rollup/rollup-linux-arm64-musl" "4.16.4" 1691 | "@rollup/rollup-linux-powerpc64le-gnu" "4.16.4" 1692 | "@rollup/rollup-linux-riscv64-gnu" "4.16.4" 1693 | "@rollup/rollup-linux-s390x-gnu" "4.16.4" 1694 | "@rollup/rollup-linux-x64-gnu" "4.16.4" 1695 | "@rollup/rollup-linux-x64-musl" "4.16.4" 1696 | "@rollup/rollup-win32-arm64-msvc" "4.16.4" 1697 | "@rollup/rollup-win32-ia32-msvc" "4.16.4" 1698 | "@rollup/rollup-win32-x64-msvc" "4.16.4" 1699 | fsevents "~2.3.2" 1700 | 1701 | rrweb-cssom@^0.6.0: 1702 | version "0.6.0" 1703 | resolved "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz" 1704 | integrity sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw== 1705 | 1706 | run-applescript@^7.0.0: 1707 | version "7.0.0" 1708 | resolved "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz" 1709 | integrity sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A== 1710 | 1711 | rw@1: 1712 | version "1.3.3" 1713 | resolved "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz" 1714 | integrity sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ== 1715 | 1716 | safe-buffer@~5.1.0, safe-buffer@~5.1.1: 1717 | version "5.1.2" 1718 | resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" 1719 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 1720 | 1721 | "safer-buffer@>= 2.1.2 < 3.0.0": 1722 | version "2.1.2" 1723 | resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" 1724 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 1725 | 1726 | saxes@^6.0.0: 1727 | version "6.0.0" 1728 | resolved "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz" 1729 | integrity sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA== 1730 | dependencies: 1731 | xmlchars "^2.2.0" 1732 | 1733 | section-matter@^1.0.0: 1734 | version "1.0.0" 1735 | resolved "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz" 1736 | integrity sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA== 1737 | dependencies: 1738 | extend-shallow "^2.0.1" 1739 | kind-of "^6.0.0" 1740 | 1741 | semver@^7.5.4: 1742 | version "7.6.0" 1743 | resolved "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz" 1744 | integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== 1745 | dependencies: 1746 | lru-cache "^6.0.0" 1747 | 1748 | send@^0.18.0: 1749 | version "0.18.0" 1750 | resolved "https://registry.npmjs.org/send/-/send-0.18.0.tgz" 1751 | integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== 1752 | dependencies: 1753 | debug "2.6.9" 1754 | depd "2.0.0" 1755 | destroy "1.2.0" 1756 | encodeurl "~1.0.2" 1757 | escape-html "~1.0.3" 1758 | etag "~1.8.1" 1759 | fresh "0.5.2" 1760 | http-errors "2.0.0" 1761 | mime "1.6.0" 1762 | ms "2.1.3" 1763 | on-finished "2.4.1" 1764 | range-parser "~1.2.1" 1765 | statuses "2.0.1" 1766 | 1767 | setimmediate@^1.0.5: 1768 | version "1.0.5" 1769 | resolved "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz" 1770 | integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== 1771 | 1772 | setprototypeof@1.2.0: 1773 | version "1.2.0" 1774 | resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz" 1775 | integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== 1776 | 1777 | shebang-command@^2.0.0: 1778 | version "2.0.0" 1779 | resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" 1780 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== 1781 | dependencies: 1782 | shebang-regex "^3.0.0" 1783 | 1784 | shebang-regex@^3.0.0: 1785 | version "3.0.0" 1786 | resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" 1787 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== 1788 | 1789 | signal-exit@^4.0.1: 1790 | version "4.1.0" 1791 | resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz" 1792 | integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== 1793 | 1794 | sisteransi@^1.0.5: 1795 | version "1.0.5" 1796 | resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" 1797 | integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== 1798 | 1799 | sprintf-js@~1.0.2: 1800 | version "1.0.3" 1801 | resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" 1802 | integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== 1803 | 1804 | statuses@2.0.1: 1805 | version "2.0.1" 1806 | resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" 1807 | integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== 1808 | 1809 | streamx@^2.15.0: 1810 | version "2.16.1" 1811 | resolved "https://registry.npmjs.org/streamx/-/streamx-2.16.1.tgz" 1812 | integrity sha512-m9QYj6WygWyWa3H1YY69amr4nVgy61xfjys7xO7kviL5rfIEc2naf+ewFiOA+aEJD7y0JO3h2GoiUv4TDwEGzQ== 1813 | dependencies: 1814 | fast-fifo "^1.1.0" 1815 | queue-tick "^1.0.1" 1816 | optionalDependencies: 1817 | bare-events "^2.2.0" 1818 | 1819 | "string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0: 1820 | version "4.2.3" 1821 | resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" 1822 | integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== 1823 | dependencies: 1824 | emoji-regex "^8.0.0" 1825 | is-fullwidth-code-point "^3.0.0" 1826 | strip-ansi "^6.0.1" 1827 | 1828 | string-width@^5.0.1, string-width@^5.1.2: 1829 | version "5.1.2" 1830 | resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz" 1831 | integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== 1832 | dependencies: 1833 | eastasianwidth "^0.2.0" 1834 | emoji-regex "^9.2.2" 1835 | strip-ansi "^7.0.1" 1836 | 1837 | string-width@^7.0.0: 1838 | version "7.1.0" 1839 | resolved "https://registry.npmjs.org/string-width/-/string-width-7.1.0.tgz" 1840 | integrity sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw== 1841 | dependencies: 1842 | emoji-regex "^10.3.0" 1843 | get-east-asian-width "^1.0.0" 1844 | strip-ansi "^7.1.0" 1845 | 1846 | string_decoder@~1.1.1: 1847 | version "1.1.1" 1848 | resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" 1849 | integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== 1850 | dependencies: 1851 | safe-buffer "~5.1.0" 1852 | 1853 | "strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: 1854 | version "6.0.1" 1855 | resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" 1856 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== 1857 | dependencies: 1858 | ansi-regex "^5.0.1" 1859 | 1860 | strip-ansi@^7.0.1, strip-ansi@^7.1.0: 1861 | version "7.1.0" 1862 | resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz" 1863 | integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== 1864 | dependencies: 1865 | ansi-regex "^6.0.1" 1866 | 1867 | strip-bom-string@^1.0.0: 1868 | version "1.0.0" 1869 | resolved "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz" 1870 | integrity sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g== 1871 | 1872 | supports-preserve-symlinks-flag@^1.0.0: 1873 | version "1.0.0" 1874 | resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" 1875 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== 1876 | 1877 | symbol-tree@^3.2.4: 1878 | version "3.2.4" 1879 | resolved "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz" 1880 | integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== 1881 | 1882 | tar-stream@^3.1.6: 1883 | version "3.1.7" 1884 | resolved "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz" 1885 | integrity sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ== 1886 | dependencies: 1887 | b4a "^1.6.4" 1888 | fast-fifo "^1.2.0" 1889 | streamx "^2.15.0" 1890 | 1891 | toidentifier@1.0.1: 1892 | version "1.0.1" 1893 | resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz" 1894 | integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== 1895 | 1896 | tough-cookie@^4.1.3: 1897 | version "4.1.3" 1898 | resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz" 1899 | integrity sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw== 1900 | dependencies: 1901 | psl "^1.1.33" 1902 | punycode "^2.1.1" 1903 | universalify "^0.2.0" 1904 | url-parse "^1.5.3" 1905 | 1906 | tr46@^5.0.0: 1907 | version "5.0.0" 1908 | resolved "https://registry.npmjs.org/tr46/-/tr46-5.0.0.tgz" 1909 | integrity sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g== 1910 | dependencies: 1911 | punycode "^2.3.1" 1912 | 1913 | tsx@^4.7.1: 1914 | version "4.7.2" 1915 | resolved "https://registry.npmjs.org/tsx/-/tsx-4.7.2.tgz" 1916 | integrity sha512-BCNd4kz6fz12fyrgCTEdZHGJ9fWTGeUzXmQysh0RVocDY3h4frk05ZNCXSy4kIenF7y/QnrdiVpTsyNRn6vlAw== 1917 | dependencies: 1918 | esbuild "~0.19.10" 1919 | get-tsconfig "^4.7.2" 1920 | optionalDependencies: 1921 | fsevents "~2.3.3" 1922 | 1923 | uc.micro@^2.0.0, uc.micro@^2.1.0: 1924 | version "2.1.0" 1925 | resolved "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz" 1926 | integrity sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A== 1927 | 1928 | universalify@^0.2.0: 1929 | version "0.2.0" 1930 | resolved "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz" 1931 | integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== 1932 | 1933 | untildify@^5.0.0: 1934 | version "5.0.0" 1935 | resolved "https://registry.npmjs.org/untildify/-/untildify-5.0.0.tgz" 1936 | integrity sha512-bOgQLUnd2G5rhzaTvh1VCI9Fo6bC5cLTpH17T5aFfamyXFYDbbdzN6IXdeoc3jBS7T9hNTmJtYUzJCJ2Xlc9gA== 1937 | 1938 | url-parse@^1.5.3: 1939 | version "1.5.10" 1940 | resolved "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz" 1941 | integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== 1942 | dependencies: 1943 | querystringify "^2.1.1" 1944 | requires-port "^1.0.0" 1945 | 1946 | util-deprecate@~1.0.1: 1947 | version "1.0.2" 1948 | resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" 1949 | integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== 1950 | 1951 | w3c-xmlserializer@^5.0.0: 1952 | version "5.0.0" 1953 | resolved "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz" 1954 | integrity sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA== 1955 | dependencies: 1956 | xml-name-validator "^5.0.0" 1957 | 1958 | webidl-conversions@^7.0.0: 1959 | version "7.0.0" 1960 | resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz" 1961 | integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g== 1962 | 1963 | whatwg-encoding@^3.1.1: 1964 | version "3.1.1" 1965 | resolved "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz" 1966 | integrity sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ== 1967 | dependencies: 1968 | iconv-lite "0.6.3" 1969 | 1970 | whatwg-mimetype@^4.0.0: 1971 | version "4.0.0" 1972 | resolved "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz" 1973 | integrity sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg== 1974 | 1975 | whatwg-url@^14.0.0: 1976 | version "14.0.0" 1977 | resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.0.0.tgz" 1978 | integrity sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw== 1979 | dependencies: 1980 | tr46 "^5.0.0" 1981 | webidl-conversions "^7.0.0" 1982 | 1983 | which@^2.0.1: 1984 | version "2.0.2" 1985 | resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" 1986 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 1987 | dependencies: 1988 | isexe "^2.0.0" 1989 | 1990 | "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": 1991 | version "7.0.0" 1992 | resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" 1993 | integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== 1994 | dependencies: 1995 | ansi-styles "^4.0.0" 1996 | string-width "^4.1.0" 1997 | strip-ansi "^6.0.0" 1998 | 1999 | wrap-ansi@^8.1.0: 2000 | version "8.1.0" 2001 | resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz" 2002 | integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== 2003 | dependencies: 2004 | ansi-styles "^6.1.0" 2005 | string-width "^5.0.1" 2006 | strip-ansi "^7.0.1" 2007 | 2008 | wrap-ansi@^9.0.0: 2009 | version "9.0.0" 2010 | resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz" 2011 | integrity sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q== 2012 | dependencies: 2013 | ansi-styles "^6.2.1" 2014 | string-width "^7.0.0" 2015 | strip-ansi "^7.1.0" 2016 | 2017 | wrappy@1: 2018 | version "1.0.2" 2019 | resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" 2020 | integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== 2021 | 2022 | ws@^8.14.2, ws@^8.16.0: 2023 | version "8.16.0" 2024 | resolved "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz" 2025 | integrity sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ== 2026 | 2027 | xml-name-validator@^5.0.0: 2028 | version "5.0.0" 2029 | resolved "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz" 2030 | integrity sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg== 2031 | 2032 | xmlchars@^2.2.0: 2033 | version "2.2.0" 2034 | resolved "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz" 2035 | integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== 2036 | 2037 | yallist@^4.0.0: 2038 | version "4.0.0" 2039 | resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" 2040 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 2041 | --------------------------------------------------------------------------------