From 5b39f715302ca596ef85a68716edec4e9c8284ca Mon Sep 17 00:00:00 2001 From: ReeseHatfield Date: Tue, 13 Oct 2026 16:23:11 -0400 Subject: [PATCH 01/18] Add course: CS-3180-01-Introduction --- courses/CS-3180-01-Introduction/oseda-config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/courses/CS-3180-01-Introduction/oseda-config.json b/courses/CS-3180-01-Introduction/oseda-config.json index ba51739..b4b1493 100644 --- a/courses/CS-3180-01-Introduction/oseda-config.json +++ b/courses/CS-3180-01-Introduction/oseda-config.json @@ -6,7 +6,7 @@ "Engineering", "WSU-CS-3180" ], - "last_updated": "2026-09-15T14:26:33.518497881Z", + "last_updated": "2026-10-06T21:30:06.982344065Z", "color": "#000080", "description": "Introduction to CS-3180, discussion of potential definitions of what it means to be a programming language.", "license": "Apache-2.0" From 091bba8b20e09ff5629da94623abe1d4212a9a15 Mon Sep 17 00:00:00 2001 From: ReeseHatfield Date: Tue, 13 Oct 2026 16:23:33 -0400 Subject: [PATCH 02/18] Add course: CS-3180-02-Methods-of-Execution --- courses/CS-3180-02-Methods-of-Execution/oseda-config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/courses/CS-3180-02-Methods-of-Execution/oseda-config.json b/courses/CS-3180-02-Methods-of-Execution/oseda-config.json index 6fc7063..38e54e0 100644 --- a/courses/CS-3180-02-Methods-of-Execution/oseda-config.json +++ b/courses/CS-3180-02-Methods-of-Execution/oseda-config.json @@ -6,7 +6,7 @@ "Engineering", "WSU-CS-3180" ], - "last_updated": "2026-09-15T14:26:39.046275949Z", + "last_updated": "2026-10-06T21:30:29.919843186Z", "color": "#000080", "description": "A discussion of methods of how different programming langauges execute through compilers and interpreters.", "license": "Apache-2.0" From 0e30d2769a708a09a4043f2d448150c5b9f8afdd Mon Sep 17 00:00:00 2001 From: ReeseHatfield Date: Tue, 13 Oct 2026 16:23:56 -0400 Subject: [PATCH 03/18] Add course: CS-3180-03-Syntax-Language-Design --- courses/CS-3180-03-Syntax-Language-Design/oseda-config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/courses/CS-3180-03-Syntax-Language-Design/oseda-config.json b/courses/CS-3180-03-Syntax-Language-Design/oseda-config.json index 769a348..c5e790f 100644 --- a/courses/CS-3180-03-Syntax-Language-Design/oseda-config.json +++ b/courses/CS-3180-03-Syntax-Language-Design/oseda-config.json @@ -6,7 +6,7 @@ "Engineering", "WSU-CS-3180" ], - "last_updated": "2026-09-15T14:26:45.292072057Z", + "last_updated": "2026-10-06T21:30:53.063898883Z", "color": "#000080", "description": "A discussion of what goes into the design and syntax of different programming languages.", "license": "Apache-2.0" From e75399ca90e78e639752d750c55e2c68143b1934 Mon Sep 17 00:00:00 2001 From: ReeseHatfield Date: Tue, 13 Oct 2026 16:24:18 -0400 Subject: [PATCH 04/18] Add course: CS-3180-04-Intro-To-Types --- courses/CS-3180-04-Intro-To-Types/oseda-config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/courses/CS-3180-04-Intro-To-Types/oseda-config.json b/courses/CS-3180-04-Intro-To-Types/oseda-config.json index f0c53fd..4d71f20 100644 --- a/courses/CS-3180-04-Intro-To-Types/oseda-config.json +++ b/courses/CS-3180-04-Intro-To-Types/oseda-config.json @@ -6,7 +6,7 @@ "Engineering", "WSU-CS-3180" ], - "last_updated": "2026-09-15T14:26:49.491563717Z", + "last_updated": "2026-10-06T21:31:16.799519060Z", "color": "#000080", "description": "A brief introduction to type systems in different programming languages", "license": "Apache-2.0" From 950527dc1c58611a25775a0c507d8097cb8a9b9f Mon Sep 17 00:00:00 2001 From: ReeseHatfield Date: Tue, 13 Oct 2026 16:24:41 -0400 Subject: [PATCH 05/18] Add course: CS-3180-05-Type-System-Nuances --- courses/CS-3180-05-Type-System-Nuances/oseda-config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/courses/CS-3180-05-Type-System-Nuances/oseda-config.json b/courses/CS-3180-05-Type-System-Nuances/oseda-config.json index 9690f1b..b7be705 100644 --- a/courses/CS-3180-05-Type-System-Nuances/oseda-config.json +++ b/courses/CS-3180-05-Type-System-Nuances/oseda-config.json @@ -6,7 +6,7 @@ "Engineering", "WSU-CS-3180" ], - "last_updated": "2026-09-15T14:26:55.840532940Z", + "last_updated": "2026-10-06T21:31:40.065282563Z", "color": "#000080", "description": "A discussion of the many nuances included in a programming language's type system", "license": "Apache-2.0" From 5f5594e12697549d85747492e919b9d37cce50c5 Mon Sep 17 00:00:00 2001 From: ReeseHatfield Date: Tue, 13 Oct 2026 16:25:03 -0400 Subject: [PATCH 06/18] Add course: CS-3180-06-Dynamic-Typing-Project --- courses/CS-3180-06-Dynamic-Typing-Project/oseda-config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/courses/CS-3180-06-Dynamic-Typing-Project/oseda-config.json b/courses/CS-3180-06-Dynamic-Typing-Project/oseda-config.json index 9e85a78..32e2b51 100644 --- a/courses/CS-3180-06-Dynamic-Typing-Project/oseda-config.json +++ b/courses/CS-3180-06-Dynamic-Typing-Project/oseda-config.json @@ -6,7 +6,7 @@ "Engineering", "WSU-CS-3180" ], - "last_updated": "2026-09-15T14:27:00.362676410Z", + "last_updated": "2026-10-06T21:32:05.302083202Z", "color": "#000080", "description": "A simple guided exercise in dynamic typing in python. Details the creation and thought process behind a small calculator", "license": "Apache-2.0" From 5b7c68373deb8ff96005682c3a2926904d0a4709 Mon Sep 17 00:00:00 2001 From: ReeseHatfield Date: Tue, 13 Oct 2026 16:25:29 -0400 Subject: [PATCH 07/18] Add course: CS-3180-07-Evaluation-Optimization --- courses/CS-3180-07-Evaluation-Optimization/oseda-config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/courses/CS-3180-07-Evaluation-Optimization/oseda-config.json b/courses/CS-3180-07-Evaluation-Optimization/oseda-config.json index 98a4d2b..f5ba562 100644 --- a/courses/CS-3180-07-Evaluation-Optimization/oseda-config.json +++ b/courses/CS-3180-07-Evaluation-Optimization/oseda-config.json @@ -6,7 +6,7 @@ "Education", "WSU-CS-3180" ], - "last_updated": "2026-09-15T14:27:09.255594035Z", + "last_updated": "2026-10-06T21:32:28.446615723Z", "color": "#000080", "description": "A discussion of dynamic code execution with eval() and compiler optimizations.", "license": "Apache-2.0" From b1d9ac7282b9291d997063fd254988bf174857a8 Mon Sep 17 00:00:00 2001 From: ReeseHatfield Date: Tue, 13 Oct 2026 16:25:53 -0400 Subject: [PATCH 08/18] Add course: CS-3180-08-OOP-Intro --- courses/CS-3180-08-OOP-Intro/oseda-config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/courses/CS-3180-08-OOP-Intro/oseda-config.json b/courses/CS-3180-08-OOP-Intro/oseda-config.json index 5d59b3e..f9c053d 100644 --- a/courses/CS-3180-08-OOP-Intro/oseda-config.json +++ b/courses/CS-3180-08-OOP-Intro/oseda-config.json @@ -6,7 +6,7 @@ "Engineering", "WSU-CS-3180" ], - "last_updated": "2026-09-15T14:27:14.573694617Z", + "last_updated": "2026-10-06T21:32:52.911472002Z", "color": "#0000FF", "description": "An introduction to how different programming languages handle object-oriented programming and encapsulation", "license": "Apache-2.0" From 984974f45d5f59c036c63705cad2c493e0ea29fd Mon Sep 17 00:00:00 2001 From: ReeseHatfield Date: Tue, 13 Oct 2026 16:26:15 -0400 Subject: [PATCH 09/18] Add course: CS-3180-09-Interfaces-Dispatch --- courses/CS-3180-09-Interfaces-Dispatch/oseda-config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/courses/CS-3180-09-Interfaces-Dispatch/oseda-config.json b/courses/CS-3180-09-Interfaces-Dispatch/oseda-config.json index 3dcf065..0f255db 100644 --- a/courses/CS-3180-09-Interfaces-Dispatch/oseda-config.json +++ b/courses/CS-3180-09-Interfaces-Dispatch/oseda-config.json @@ -6,7 +6,7 @@ "Engineering", "WSU-CS-3180" ], - "last_updated": "2026-09-15T14:27:19.890520381Z", + "last_updated": "2026-10-06T21:33:16.983393808Z", "color": "#0000FF", "description": "A discussion of how different programming languages handle both static and dynamic dispatch", "license": "Apache-2.0" From 6e7488ad8593fabd63b7a560965d48c86b075d82 Mon Sep 17 00:00:00 2001 From: ReeseHatfield Date: Tue, 13 Oct 2026 16:26:38 -0400 Subject: [PATCH 10/18] Add course: CS-3180-10-Anonymous-Types-Lambdas --- courses/CS-3180-10-Anonymous-Types-Lambdas/oseda-config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/courses/CS-3180-10-Anonymous-Types-Lambdas/oseda-config.json b/courses/CS-3180-10-Anonymous-Types-Lambdas/oseda-config.json index be346f7..3c270f9 100644 --- a/courses/CS-3180-10-Anonymous-Types-Lambdas/oseda-config.json +++ b/courses/CS-3180-10-Anonymous-Types-Lambdas/oseda-config.json @@ -6,7 +6,7 @@ "Education", "WSU-CS-3180" ], - "last_updated": "2026-09-17T12:08:56.332477075Z", + "last_updated": "2026-10-06T21:33:40.404743502Z", "color": "#0000FF", "description": "A discussion of different languages implementation of first-class and non-first class anonymous functions", "license": "Apache-2.0" From 3301805050434d149bb9047d4cb4c0d79fd5e8d3 Mon Sep 17 00:00:00 2001 From: ReeseHatfield Date: Tue, 13 Oct 2026 16:27:04 -0400 Subject: [PATCH 11/18] Add course: CS-3180-11-Intro-To-Lisp --- courses/CS-3180-11-Intro-To-Lisp/lisp.sh | 44 +++++++++++++++++++ .../oseda-config.json | 2 +- 2 files changed, 45 insertions(+), 1 deletion(-) create mode 100755 courses/CS-3180-11-Intro-To-Lisp/lisp.sh diff --git a/courses/CS-3180-11-Intro-To-Lisp/lisp.sh b/courses/CS-3180-11-Intro-To-Lisp/lisp.sh new file mode 100755 index 0000000..51f1af1 --- /dev/null +++ b/courses/CS-3180-11-Intro-To-Lisp/lisp.sh @@ -0,0 +1,44 @@ +#!/bin/bash + +# LISP execution script based on AUR package: +# https://github.com/xyproto/lisp + + +# Goal with this is to sort of eliminate the REPL feel for students +# irl lisp programs are almost never ran as a REPL + +clear + +LISP_INTERPRETER=sbcl + +if ! command -v $LISP_INTERPRETER >/dev/null 2>&1; then + echo "sbcl could not be found" + echo "Please ensure it is installed before running" + exit 1 +fi + + +if [ -z $1 ]; then + echo "Please provide a filename as the first argument" + exit 1 +fi + +if [ ! -f $1 ]; then + echo "Could not find the file named \"$1\"" + exit 1 +fi + +# force sbcl to run in interpretter mode +# this is 100% slower, but more in line with traditional lisp + +$LISP_INTERPRETER \ +--noinform \ + --noprint \ + --no-userinit \ + --no-sysinit \ + --disable-debugger \ + --quit \ + --eval '(setf sb-ext:*evaluator-mode* :interpret)' \ + --load "$1" \ + --end-toplevel-options + # this is not in the help menu, but is documented at https://linux.die.net/man/1/sbcl \ No newline at end of file diff --git a/courses/CS-3180-11-Intro-To-Lisp/oseda-config.json b/courses/CS-3180-11-Intro-To-Lisp/oseda-config.json index 995cc54..4e0d175 100644 --- a/courses/CS-3180-11-Intro-To-Lisp/oseda-config.json +++ b/courses/CS-3180-11-Intro-To-Lisp/oseda-config.json @@ -5,7 +5,7 @@ "ComputerScience", "Engineering" ], - "last_updated": "2026-09-19T01:56:48.937739113Z", + "last_updated": "2026-10-06T21:34:04.084582973Z", "color": "#0000FF", "description": "A very gentle introduction to the Lisp programming language and language specifications in general.", "license": "Apache-2.0" From 63141bd84ee914e6225f064dab6909625c84de84 Mon Sep 17 00:00:00 2001 From: ReeseHatfield Date: Tue, 13 Oct 2026 16:27:27 -0400 Subject: [PATCH 12/18] Add course: CS-3180-12-S-Expressions-Cons --- courses/CS-3180-12-S-Expressions-Cons/oseda-config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/courses/CS-3180-12-S-Expressions-Cons/oseda-config.json b/courses/CS-3180-12-S-Expressions-Cons/oseda-config.json index 4a7a591..c41b59d 100644 --- a/courses/CS-3180-12-S-Expressions-Cons/oseda-config.json +++ b/courses/CS-3180-12-S-Expressions-Cons/oseda-config.json @@ -6,7 +6,7 @@ "Engineering", "WSU-CS-3180" ], - "last_updated": "2026-09-22T12:07:12.881743092Z", + "last_updated": "2026-10-06T21:34:27.634873731Z", "color": "#0000FF", "description": "Introduction to S-Expressions in Lisp, as well as common list processing functions", "license": "Apache-2.0" From fcb78508508496ff4dc92cd7ef55eae28f6f85e0 Mon Sep 17 00:00:00 2001 From: ReeseHatfield Date: Tue, 13 Oct 2026 16:27:50 -0400 Subject: [PATCH 13/18] Add course: CS-3180-13-Simple-Lisp-Programs --- courses/CS-3180-13-Simple-Lisp-Programs/oseda-config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/courses/CS-3180-13-Simple-Lisp-Programs/oseda-config.json b/courses/CS-3180-13-Simple-Lisp-Programs/oseda-config.json index 4e881a4..bf660bd 100644 --- a/courses/CS-3180-13-Simple-Lisp-Programs/oseda-config.json +++ b/courses/CS-3180-13-Simple-Lisp-Programs/oseda-config.json @@ -6,7 +6,7 @@ "Engineering", "WSU-CS-3180" ], - "last_updated": "2026-09-26T19:48:19.563191489Z", + "last_updated": "2026-10-06T21:34:51.094331919Z", "color": "#0000FF", "description": "A discussions of how simple functions in Common Lisp work and how they can be used to write basic Lisp programs", "license": "Apache-2.0" From 9f1f4df3ce889e5b12cf4f1d77915522cb2875ad Mon Sep 17 00:00:00 2001 From: ReeseHatfield Date: Tue, 13 Oct 2026 16:28:12 -0400 Subject: [PATCH 14/18] Add course: CS-3180-14-ProgN-Functions --- courses/CS-3180-14-ProgN-Functions/oseda-config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/courses/CS-3180-14-ProgN-Functions/oseda-config.json b/courses/CS-3180-14-ProgN-Functions/oseda-config.json index e702789..fe5fa5e 100644 --- a/courses/CS-3180-14-ProgN-Functions/oseda-config.json +++ b/courses/CS-3180-14-ProgN-Functions/oseda-config.json @@ -6,7 +6,7 @@ "Engineering", "WSU-CS-3180" ], - "last_updated": "2026-09-29T13:25:18.160302018Z", + "last_updated": "2026-10-06T21:35:14.756947129Z", "color": "#0000FF", "description": "A discussion of CommonLisp functions that implicitly use the progn function ", "license": "Apache-2.0" From 9b187f6c117146eb12a93e11934ee288239e0c75 Mon Sep 17 00:00:00 2001 From: ReeseHatfield Date: Tue, 13 Oct 2026 16:28:35 -0400 Subject: [PATCH 15/18] Add course: CS-3180-15-Lisp-Recursion --- courses/CS-3180-15-Lisp-Recursion/oseda-config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/courses/CS-3180-15-Lisp-Recursion/oseda-config.json b/courses/CS-3180-15-Lisp-Recursion/oseda-config.json index f83b3f7..261d241 100644 --- a/courses/CS-3180-15-Lisp-Recursion/oseda-config.json +++ b/courses/CS-3180-15-Lisp-Recursion/oseda-config.json @@ -6,7 +6,7 @@ "Engineering", "WSU-CS-3180" ], - "last_updated": "2026-09-30T19:55:38.859172653Z", + "last_updated": "2026-10-06T21:35:37.499163129Z", "color": "#0000FF", "description": "A discussion of scoped functions (both mutual and non-mutual) in Lisp, with a touch of Tail Call Optimization", "license": "Apache-2.0" From 932d5045bd345ce7d1cb6bbaf51caaa771341f4e Mon Sep 17 00:00:00 2001 From: ReeseHatfield Date: Tue, 13 Oct 2026 16:28:58 -0400 Subject: [PATCH 16/18] Add course: CS-3180-16-Higher-Order-Functions --- .../oseda-config.json | 2 +- .../review.lisp | 21 +++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 courses/CS-3180-16-Higher-Order-Functions/review.lisp diff --git a/courses/CS-3180-16-Higher-Order-Functions/oseda-config.json b/courses/CS-3180-16-Higher-Order-Functions/oseda-config.json index 2139330..18133f2 100644 --- a/courses/CS-3180-16-Higher-Order-Functions/oseda-config.json +++ b/courses/CS-3180-16-Higher-Order-Functions/oseda-config.json @@ -6,7 +6,7 @@ "Engineering", "WSU-CS-3180" ], - "last_updated": "2026-10-04T18:11:29.933157625Z", + "last_updated": "2026-10-06T21:35:59.934582613Z", "color": "#0000FF", "description": "A discussion of higher order functions in Lisp and some OOP implementations", "license": "Apache-2.0" diff --git a/courses/CS-3180-16-Higher-Order-Functions/review.lisp b/courses/CS-3180-16-Higher-Order-Functions/review.lisp new file mode 100644 index 0000000..baed77a --- /dev/null +++ b/courses/CS-3180-16-Higher-Order-Functions/review.lisp @@ -0,0 +1,21 @@ +; (format t "~S~%" +; (* (+ 1 3) 4)) +; (let (LIST OF BINDINGS) (progn SCOPE OF THOSE BIND)) + +(format t "the entire let was ~S~%" + (let* ((name1 "Reese") (name2 name1)) + (format t "hello ~S~%" name1) + (format t "hello ~S~%" name2) + name1)) + + +(defun foo (value) + (format t "value was ~S~%" value) + (foo (- value 1))) + +; (foo 3) + +(format t "cons cell was ~S~%" (cons 'ALICE '(BOB))) +(format t "cons cell was ~S~%" '(ALICE BOB)) +(format t "cons cell was ~S~%" '(ALICE BOB nil)) + From 7647624bb88c191e23a872dec6cc91b1e669377e Mon Sep 17 00:00:00 2001 From: ReeseHatfield Date: Tue, 13 Oct 2026 16:29:20 -0400 Subject: [PATCH 17/18] Add course: CS-3180-17-Grammars-ASTs --- courses/CS-3180-17-Grammars-ASTs/.gitignore | 137 + .../CS-3180-17-Grammars-ASTs/css/custom.css | 126 + courses/CS-3180-17-Grammars-ASTs/index.html | 15 + .../oseda-config.json | 13 + .../package-lock.json | 4084 +++++++++++++++++ courses/CS-3180-17-Grammars-ASTs/package.json | 22 + .../CS-3180-17-Grammars-ASTs/public/ast.png | Bin 0 -> 127666 bytes .../public/favicon.png | Bin 0 -> 76985 bytes .../public/ferris.png | Bin 0 -> 40445 bytes .../slides/slides.html | 247 + courses/CS-3180-17-Grammars-ASTs/src/main.js | 28 + .../CS-3180-17-Grammars-ASTs/vite.config.js | 11 + 12 files changed, 4683 insertions(+) create mode 100644 courses/CS-3180-17-Grammars-ASTs/.gitignore create mode 100644 courses/CS-3180-17-Grammars-ASTs/css/custom.css create mode 100644 courses/CS-3180-17-Grammars-ASTs/index.html create mode 100644 courses/CS-3180-17-Grammars-ASTs/oseda-config.json create mode 100644 courses/CS-3180-17-Grammars-ASTs/package-lock.json create mode 100644 courses/CS-3180-17-Grammars-ASTs/package.json create mode 100644 courses/CS-3180-17-Grammars-ASTs/public/ast.png create mode 100644 courses/CS-3180-17-Grammars-ASTs/public/favicon.png create mode 100644 courses/CS-3180-17-Grammars-ASTs/public/ferris.png create mode 100644 courses/CS-3180-17-Grammars-ASTs/slides/slides.html create mode 100644 courses/CS-3180-17-Grammars-ASTs/src/main.js create mode 100644 courses/CS-3180-17-Grammars-ASTs/vite.config.js diff --git a/courses/CS-3180-17-Grammars-ASTs/.gitignore b/courses/CS-3180-17-Grammars-ASTs/.gitignore new file mode 100644 index 0000000..1b22a45 --- /dev/null +++ b/courses/CS-3180-17-Grammars-ASTs/.gitignore @@ -0,0 +1,137 @@ +# Generated OSEDA gitignore +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* +.pnpm-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Snowpack dependency directory (https://snowpack.dev/) +web_modules/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional stylelint cache +.stylelintcache + +# Microbundle cache +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variable files +.env +.env.development.local +.env.test.local +.env.production.local +.env.local + +# parcel-bundler cache (https://parceljs.org/) +.cache +.parcel-cache + +# Next.js build output +.next +out + +# Nuxt.js build / generate output +.nuxt +dist + +# Gatsby files +.cache/ +# Comment in the public line in if your project uses Gatsby and not Next.js +# https://nextjs.org/blog/next-9-1#public-directory-support +# public + +# vuepress build output +.vuepress/dist + +# vuepress v2.x temp and cache directory +.temp +.cache + +# vitepress build output +**/.vitepress/dist + +# vitepress cache directory +**/.vitepress/cache + +# Docusaurus cache and generated files +.docusaurus + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# TernJS port file +.tern-port + +# Stores VSCode versions used for testing VSCode extensions +.vscode-test + +# yarn v2 +.yarn/cache +.yarn/unplugged +.yarn/build-state.yml +.yarn/install-state.gz +.pnp.* diff --git a/courses/CS-3180-17-Grammars-ASTs/css/custom.css b/courses/CS-3180-17-Grammars-ASTs/css/custom.css new file mode 100644 index 0000000..63b473a --- /dev/null +++ b/courses/CS-3180-17-Grammars-ASTs/css/custom.css @@ -0,0 +1,126 @@ + +/* sensible styles */ +.reveal section { + font-family: "Arial", sans-serif; +} + +.reveal h1 { + color: #f92672; + text-align: left; + margin: 0 0 0.5em 0; + line-height: 1.2; +} + +.reveal h2 { + text-align: left; +} + + +.left { + text-align: left; +} + + +.horizontal-container { + display: flex; + justify-content: space-between; + align-items: center; + gap: 2em; +} + +.vertical-container { + display: flex; + flex-direction: column; + justify-content: space-between; + align-items: flex-start; + gap: 20pt; +} + +.center-container { + display: flex; + justify-content: center; + align-items: center; +} + +.left { + text-align: left; +} + +/* general slide layout for all sections */ +.reveal .slides section { + display: flex !important; + flex-direction: column; + justify-content: flex-start; + align-items: stretch; + gap: 1em; + padding-top: 2em; + box-sizing: border-box; +} + +.horizontal-container .text { + flex: 1; +} + +.horizontal-container .image { + flex: 1; + max-width: 45%; + height: auto; + object-fit: contain; +} + +.reveal ul { + text-align: left; + margin: -1em 0 0 0; + padding-left: 1.2em; +} + +.reveal .slides section.center-slide { + display: flex !important; + flex-direction: column; + justify-content: center; + align-items: center; + min-height: 100vh; + text-align: center !important; + gap: 1em; +} + +.center-slide h1 { + margin: -1.7em 0 0 0; +} + +.reveal pre.full-code, +.reveal pre.full-code code { + max-height: none !important; + overflow: visible !important; + white-space: pre !important; +} + +.no-wrap { + white-space: nowrap; +} + +.move-up-1 { + margin: -1em 0 0 0 !important; +} + +.move-up-2 { + margin: -2em 0 0 0 !important; +} + +.move-up-3 { + margin: -3em 0 0 0 !important; +} +.move-up-4 { + margin: -4em 0 0 0 !important; +} + + +.reveal .footer { + position: relative; + bottom: 1em; + top: 1em; + left: 1em; + font-size: 0.4em; + color: rgba(255, 255, 255, 0.5); + z-index: 10; +} \ No newline at end of file diff --git a/courses/CS-3180-17-Grammars-ASTs/index.html b/courses/CS-3180-17-Grammars-ASTs/index.html new file mode 100644 index 0000000..af7f9e8 --- /dev/null +++ b/courses/CS-3180-17-Grammars-ASTs/index.html @@ -0,0 +1,15 @@ + + + + + CS-3180-17-Grammars-ASTs + + + + +
+
+
+ + + diff --git a/courses/CS-3180-17-Grammars-ASTs/oseda-config.json b/courses/CS-3180-17-Grammars-ASTs/oseda-config.json new file mode 100644 index 0000000..c083fe1 --- /dev/null +++ b/courses/CS-3180-17-Grammars-ASTs/oseda-config.json @@ -0,0 +1,13 @@ +{ + "title": "CS-3180-17-Grammars-ASTs", + "author": "ReeseHatfield", + "tags": [ + "ComputerScience", + "Engineering", + "WSU-CS-3180" + ], + "last_updated": "2026-10-11T17:46:02.343933547Z", + "color": "#0000FF", + "description": "A gentle introduction to language grammars and syntax trees.", + "license": "Apache-2.0" +} \ No newline at end of file diff --git a/courses/CS-3180-17-Grammars-ASTs/package-lock.json b/courses/CS-3180-17-Grammars-ASTs/package-lock.json new file mode 100644 index 0000000..7a03639 --- /dev/null +++ b/courses/CS-3180-17-Grammars-ASTs/package-lock.json @@ -0,0 +1,4084 @@ +{ + "name": "cs-3180-17-grammars-asts", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "cs-3180-17-grammars-asts", + "version": "1.0.0", + "dependencies": { + "decktape": "^3.15.0", + "highlight.js": "^11.12.0", + "patch-package": "^8.0.1", + "reveal.js": "^5.2.1", + "serve": "^14.2.6" + }, + "devDependencies": { + "http-server": "^14.1.1", + "vite": "^5.4.21" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", + "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.29.7", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@napi-rs/lzma-linux-x64-gnu": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@napi-rs/lzma-linux-x64-gnu/-/lzma-linux-x64-gnu-1.5.1.tgz", + "integrity": "sha512-oTXEIha4SsuXdTA4Iyskj0kpdx2yVXdhd75c2v3xGrHFfVMsbhTPZU/nMPL4sWKo4pBHm3aucLaqGlF696dTyQ==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^22.20 || ^24.12 || >=25" + } + }, + "node_modules/@pdf-lib/standard-fonts": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@pdf-lib/standard-fonts/-/standard-fonts-1.0.0.tgz", + "integrity": "sha512-hU30BK9IUN/su0Mn9VdlVKsWBS6GyhVfqjwl1FjZN4TxP6cCw0jP2w7V3Hf5uX7M0AZJ16vey9yE0ny7Sa59ZA==", + "license": "MIT", + "dependencies": { + "pako": "^1.0.6" + } + }, + "node_modules/@pdf-lib/upng": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@pdf-lib/upng/-/upng-1.0.1.tgz", + "integrity": "sha512-dQK2FUMQtowVP00mtIksrlZhdFXQZPC+taih1q4CvPZ5vqdxR/LKBaFg0oAfzd1GlHZXXSPdQfzQnt+ViGvEIQ==", + "license": "MIT", + "dependencies": { + "pako": "^1.0.10" + } + }, + "node_modules/@puppeteer/browsers": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.10.0.tgz", + "integrity": "sha512-HdHF4rny4JCvIcm7V1dpvpctIGqM3/Me255CB44vW7hDG1zYMmcBMjpNqZEDxdCfXGLkx5kP0+Jz5DUS+ukqtA==", + "license": "Apache-2.0", + "dependencies": { + "debug": "^4.4.0", + "extract-zip": "^2.0.1", + "progress": "^2.0.3", + "proxy-agent": "^6.5.0", + "semver": "^7.7.1", + "tar-fs": "^3.0.8", + "yargs": "^17.7.2" + }, + "bin": { + "browsers": "lib/cjs/main-cli.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.64.5.tgz", + "integrity": "sha512-MrfgRQSpD5hkkRg6XI16B6EDLb+6+xp8xje6bpdSwkYw+qxrBKbUVrRAQu9h82UT+QumSIVQ8HXsXjPd2dlhqw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.64.5.tgz", + "integrity": "sha512-+uu2p/R9Tzn8GpoQyX1pAo5dmKT1DhXevfaCzqzmPFhnLjHLWw7uWkaVGlxmhwYoRiYYhsGfRcD5cTBpL7rgSw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.64.5.tgz", + "integrity": "sha512-17dys+YEmzwzzFVHQAVDONg5FALXY9kd99HFEpfk4gJVHYxoh5bGea3D4t1fXXnwkTcOe25wPyd6nWS0I8IdLQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.64.5.tgz", + "integrity": "sha512-wg0zQEKkEvFZf1UaaX1UELOoPs//OSKUG7D+yITuqOsAvza7LvHTv5Wu4nmMfzNG7EYI2jp2PJC7Id6OETmsYQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.64.5.tgz", + "integrity": "sha512-CoJmWcpEMuwin+TZ/ev/H9uDyF/uxUKQSWXdmIPn/UBx/uGV9+4ebMp0FwnlhWR9PE1AdzYsKf3bZevhif38+A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.64.5.tgz", + "integrity": "sha512-PxZnLAaTUAL5xG0W2BXLeYPKrK2b3LIASV2/e/Kf7PZvSLI1iAQIm9B9aJD+YyFIT7hc6qaMV3+OOO35R28LfA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.64.5.tgz", + "integrity": "sha512-uPo3IvnONjhbFXwWgroBeFwOicuhT7ZwQrnzkzmOtBJzeQbkUJUE1SJDfDI31ijQ5+ZUIA6sPrdUMxTSnxUWAg==", + "cpu": [ + "arm" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.64.5.tgz", + "integrity": "sha512-ywI8Jyuc4LyHYTjC0mw4yA1ulvZBkHusdpWnoiEBsmBuHvSnt90btTBGCZ+s/2y+YNNfVAEKy33nPo5UI9zTmg==", + "cpu": [ + "arm" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.64.5.tgz", + "integrity": "sha512-tmuXJoQ/3ovSr637aykZMdQteU/CB2APAz2CrvsbibuoHZi1BS1Db13cVViBdEARGwXCLn1DSJ8wsjoThLJPGA==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.64.5.tgz", + "integrity": "sha512-5FMjSYNcUOHx7oW8Qu9KB6jGPpvF/8sG7+BDHwU/Ihh1/6FMJ9ySmsFG4tJ1qbNRuP8OLzCBDso4sF0mQaLuFQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.64.5.tgz", + "integrity": "sha512-K8ZJ+neLDbUkIrL8dqF/5LtuVCrKwo27kREgOlxjBEjlOXwHvDnHLU8Z/UKv/B49qi7e8hsSDOyoJwhwqhvX4w==", + "cpu": [ + "loong64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.64.5.tgz", + "integrity": "sha512-NlVxsq7PFPv0DBKGuNWRDKixQYQCjM53zl04mxEcKMBmJbCBIUm1JdPfIWDRHyOOFzzYPmLQzfeEwh4716ayQg==", + "cpu": [ + "loong64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.64.5.tgz", + "integrity": "sha512-ARhRHJYs5eCFet5azfrHD97vOkD8OzNW2RSMlvo5CcBqXaTOLfp0OHDtUQh7/K5AL5fUYoFp2fgC9KDg4vVYMQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.64.5.tgz", + "integrity": "sha512-atSgreM5C7jpxd9aEXN+6vJ5wTd05iYw+S3FiQpw7VsoEl8B90llbq35ARON+GOHj5QlVQEq2vOKWCHTob/BSQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.64.5.tgz", + "integrity": "sha512-vmlmwBFGnjVWxSRoVabNkyYuscSmg52Pd0fM8jEbNT3Jmka4A6HcB84x4uAmuumznWfBVaxKOqU6jbEgomWKCA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.64.5.tgz", + "integrity": "sha512-hhJrP6S9WkbsbcHgUkvCBS5Cn8IdsG8XjlLZyxjnv9+NdoYfbbZE4TWJYr8apdaj1M5t5Y1id2StnEslxpNFyA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.64.5.tgz", + "integrity": "sha512-NNVCyN9pGrwFmQa4bf+Cnf5aVH3g6ZpnlOg1Cs/H9swIHT9bRixijfzUqyEIWm1WtiAuR1LJ+rJH6zpBm8kgQA==", + "cpu": [ + "s390x" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.64.5.tgz", + "integrity": "sha512-dR9nd6OKnvSS60Ifz/L7Mj5zzYyoqyRn2NwTuaOONKaa3xsVGXyp8YusMbvFyEOR94DxnwgcbgsFqkHd29ZSzQ==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.64.5.tgz", + "integrity": "sha512-1tzsMjaqhsh3bAO6SJiJqh8hIr9sSPRd+i2vPPxJHod8/XYnf9TEnK0z/u3r1z1AkI347X0KbRSg9dWcxeGahw==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.64.5.tgz", + "integrity": "sha512-01mWMQblKoXXsmk28KXtpbA96w7g/aOWUoV3AC16fdHdqkykGalqyyM+5u8M7uP5/MEMiiPv69Hv7iv/hEH/dA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.64.5.tgz", + "integrity": "sha512-trdnMPb/DNm4V/CgsaoGgr90HfQQ071wfK0KoIs4YpLvjBgVQGXhGabg2Z6nK4EcYNilrb9ZZPcsP6+zpJIdxQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.64.5.tgz", + "integrity": "sha512-x2LxZlfdfsw99T6/qb9EqE/Qi84JWzibjyOJyhJsgFJy6CafaTiqIXCCnslCGrV5XWNh7fwrS3FbRENcuKnooA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.64.5.tgz", + "integrity": "sha512-/Qd/9aDQIo0+jmItgBmPIs8195YVbDxRRApn47GyufgbutCDOh7eP5vSKKlI4QNFeaI+wKQAkSMsPnF3EuMpaA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.64.5.tgz", + "integrity": "sha512-ngUJ/XvOWrqbd2IMsfXfh2xXFLTP3sY7sCKvxbGvYdBZ1KmXFd3ewDZ9n3/GNzAUgzRuhLT/UvJRivbNoAQRBw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.64.5.tgz", + "integrity": "sha512-IhV6ew/DuzUWwHaYmlh7MrPCV3lKFUq/amTEwysi4r/mwNPAEfAMh5dYWeTSPTeMy2pFHGMEWYtPkHzfX3tG5A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@tootallnate/quickjs-emscripten": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz", + "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==", + "license": "MIT" + }, + "node_modules/@types/estree": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "26.6.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-26.6.5.tgz", + "integrity": "sha512-uMzsv9stDdofIZBx4UGh4Z9ZgXnGC9seRDscilBcTHAeOFk67MZg/k9bWVfO+bk4qZmG+l52hRnLwUiH2LnJTg==", + "license": "MIT", + "optional": true, + "dependencies": { + "undici-types": "~8.9.0" + } + }, + "node_modules/@types/yauzl": { + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", + "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", + "license": "MIT", + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@xmldom/xmldom": { + "version": "0.8.15", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.15.tgz", + "integrity": "sha512-/5NV/vDALVFDXgLmfsy9TRCBlKwO2LNBFzpzvb9iIj+jR+eSc6DLYYvVOdivT/jm7MtU6TebYuRmzEOI7w40UA==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "license": "BSD-2-Clause" + }, + "node_modules/@zeit/schemas": { + "version": "2.36.0", + "resolved": "https://registry.npmjs.org/@zeit/schemas/-/schemas-2.36.0.tgz", + "integrity": "sha512-7kjMwcChYEzMKjeex9ZFXkt1AyNov9R5HZtjBKVsmVpw7pa7ZtlCGvCBC2vnnXctaYN+aRI61HjIqeetZW5ROg==", + "license": "MIT" + }, + "node_modules/agent-base": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/ajv": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "license": "ISC", + "dependencies": { + "string-width": "^4.1.0" + } + }, + "node_modules/ansi-align/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-align/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/ansi-align/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-align/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-regex": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.4.0.tgz", + "integrity": "sha512-KzTVk2tCWAHtYrvvvaP8bJKJq2pVinhLcGEQdtLIYPbmNGNyYe8QwNaTUYQp2J7/vIsUKt5QCqAfUkYyG9DkOw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "license": "MIT" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" + }, + "node_modules/ast-types": { + "version": "0.13.4", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", + "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ast-types/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "dev": true, + "license": "MIT" + }, + "node_modules/b4a": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.9.0.tgz", + "integrity": "sha512-dpfcF9fDNR6++cthXR67iyhgqWy9CBouAvIWhIntzBG6cvK/cnIPiZQjBwi/ZqjjBEDGfoNDtmB0kTjroOJ3pQ==", + "license": "Apache-2.0", + "peerDependencies": { + "react-native-b4a": "*" + }, + "peerDependenciesMeta": { + "react-native-b4a": { + "optional": true + } + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" + }, + "node_modules/bare-events": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.9.2.tgz", + "integrity": "sha512-AIPKioV7/Y/8KfZ3AAhjPJxLLbY49S64Ym5DakZlUg75qQiTgUq9hEJoEwa4eUezPUlXRy/i5NpsKvo9jgKmoA==", + "license": "Apache-2.0", + "peerDependencies": { + "bare-abort-controller": "*" + }, + "peerDependenciesMeta": { + "bare-abort-controller": { + "optional": true + } + } + }, + "node_modules/bare-fs": { + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.8.4.tgz", + "integrity": "sha512-MPC2eyrpbk3A873sK4y6rk+Iv4o2enxTjHZ8zH3HO0mjrpm5XjnguY2XmfidIsDV6vnjpbMBKUAJpV0ISD2SsQ==", + "license": "Apache-2.0", + "dependencies": { + "bare-events": "^2.5.4", + "bare-path": "^3.0.0", + "bare-stream": "^2.6.4", + "bare-url": "^2.2.2", + "fast-fifo": "^1.3.2" + }, + "engines": { + "bare": ">=1.28.0" + }, + "peerDependencies": { + "bare-buffer": "*" + }, + "peerDependenciesMeta": { + "bare-buffer": { + "optional": true + } + } + }, + "node_modules/bare-path": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.1.2.tgz", + "integrity": "sha512-ZyKbsuuqK6Ag0K8pX6V5Txq6XeJRvY+wXucnFGRjiyVYP9YWDpIQugk/b+enRYrEYBJaqLzghRQpXPMR7341Nw==", + "license": "Apache-2.0" + }, + "node_modules/bare-stream": { + "version": "2.13.4", + "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.13.4.tgz", + "integrity": "sha512-PcrQ8lVLbiJscNm1Kez+Yp4Gy4AHGcN1lzwjvf5NybWen7VvEgUfyfnXYJ2zNqWnzOfCb1Abq6lH8ti0syQszA==", + "license": "Apache-2.0", + "dependencies": { + "b4a": "^1.8.1", + "streamx": "^2.25.0", + "teex": "^1.0.1" + }, + "peerDependencies": { + "bare-abort-controller": "*", + "bare-buffer": "*", + "bare-events": "*" + }, + "peerDependenciesMeta": { + "bare-abort-controller": { + "optional": true + }, + "bare-buffer": { + "optional": true + }, + "bare-events": { + "optional": true + } + } + }, + "node_modules/bare-url": { + "version": "2.5.4", + "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.5.4.tgz", + "integrity": "sha512-Gxa7UVWBr0/edU1b+TJhn/AZvMQUj9OGspvYsaTYQrAbZA4BOTZGL3LiZxvD+CeMlDH4juwD84+eTAp/bLYW5g==", + "license": "Apache-2.0", + "dependencies": { + "bare-path": "^3.0.0" + } + }, + "node_modules/basic-auth": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "5.1.2" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/basic-ftp": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.3.1.tgz", + "integrity": "sha512-bopVNp6ugyA150DDuZfPFdt1KZ5a94ZDiwX4hMgZDzF+GttD80lEy8kj98kbyhLXnPvhtIo93mdnLIjpCAeeOw==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/boxen": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.0.0.tgz", + "integrity": "sha512-j//dBVuyacJbvW+tvZ9HuH03fZ46QcaKvvhZickZqtB271DxJ7SNRSNxrV/dZX0085m7hISRZWbzWlJvx/rHSg==", + "license": "MIT", + "dependencies": { + "ansi-align": "^3.0.1", + "camelcase": "^7.0.0", + "chalk": "^5.0.1", + "cli-boxes": "^3.0.0", + "string-width": "^5.1.2", + "type-fest": "^2.13.0", + "widest-line": "^4.0.1", + "wrap-ansi": "^8.0.1" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/node_modules/chalk": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.21", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.21.tgz", + "integrity": "sha512-9zeA+KLZNNzglF2TPKRQEDyx6Yby7daAkuy8MiPzpXPsYDWi/DRM8jmwUDxokQjYqBpv5DgPiwD4h4ZZSy1Ujw==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.9.tgz", + "integrity": "sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "get-intrinsic": "^1.3.0", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", + "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chalk-template": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", + "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", + "license": "MIT", + "dependencies": { + "chalk": "^4.1.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/chalk-template?sponsor=1" + } + }, + "node_modules/chromium-bidi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-3.0.0.tgz", + "integrity": "sha512-ZOGRDAhBMX1uxL2Cm2TDuhImbrsEz5A/tTcVU6RpXEWaTNUNwsHW6njUXizh51Ir6iqHbKAfhA2XK33uBcLo5A==", + "license": "Apache-2.0", + "dependencies": { + "mitt": "^3.0.1", + "zod": "^3.24.1" + }, + "peerDependencies": { + "devtools-protocol": "*" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-boxes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/clipboardy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-3.0.0.tgz", + "integrity": "sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==", + "license": "MIT", + "dependencies": { + "arch": "^2.2.0", + "execa": "^5.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "license": "MIT", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.1.tgz", + "integrity": "sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "compressible": "~2.0.18", + "debug": "2.6.9", + "negotiator": "~0.6.4", + "on-headers": "~1.1.0", + "safe-buffer": "5.2.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/compression/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "license": "MIT" + }, + "node_modules/content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/corser": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz", + "integrity": "sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/cosmiconfig": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.2.tgz", + "integrity": "sha512-gtTZxTDau1wL7Y7zifc2dd8jHSK/k6BTx/2Xp/BpdlAdnlYWFVt7qhJqgwi7637yRwRQ3qL4ZidbB4I8tA5VOg==", + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.1", + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/data-uri-to-buffer": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz", + "integrity": "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==", + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decktape": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/decktape/-/decktape-3.15.0.tgz", + "integrity": "sha512-txDuIJhrAgzSccPFnS5Pi1LtjyhBv/48+ejGiJenUGZDvnVB6Stzvk0+0IjiaeL8ufwARWjxXtoEfjs+n2xVQQ==", + "license": "MIT", + "dependencies": { + "chalk": "5.4.1", + "fonteditor-core": "2.4.1", + "pdf-lib": "1.17.1", + "puppeteer": "24.6.1", + "puppeteer-core": "24.6.1", + "urijs": "1.19.11" + }, + "bin": { + "decktape": "decktape.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/decktape/node_modules/chalk": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", + "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/degenerator": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz", + "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==", + "license": "MIT", + "dependencies": { + "ast-types": "^0.13.4", + "escodegen": "^2.1.0", + "esprima": "^4.0.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/devtools-protocol": { + "version": "0.0.1425554", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1425554.tgz", + "integrity": "sha512-uRfxR6Nlzdzt0ihVIkV+sLztKgs7rgquY/Mhcv1YNCWDh5IZgl5mnn2aeEnW5stYTE0wwiF4RYVz8eMEpV1SEw==", + "license": "BSD-3-Clause" + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "license": "MIT" + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "license": "MIT" + }, + "node_modules/end-of-stream": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/error-ex": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", + "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", + "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "license": "BSD-2-Clause", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true, + "license": "MIT" + }, + "node_modules/events-universal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/events-universal/-/events-universal-1.0.1.tgz", + "integrity": "sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==", + "license": "Apache-2.0", + "dependencies": { + "bare-events": "^2.7.0" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "license": "BSD-2-Clause", + "dependencies": { + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" + } + }, + "node_modules/extract-zip/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "license": "MIT", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT" + }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.8.tgz", + "integrity": "sha512-GZMtZUTNRpOVIECoXwLNZS5xUGE+mVNbTB8h/7Rwh2TFWcBQiPzTgyZi05BF9UMZKkLJv8XBRJTlU7zg8+ZfMg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "license": "MIT", + "dependencies": { + "pend": "~1.2.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-yarn-workspace-root": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz", + "integrity": "sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==", + "license": "Apache-2.0", + "dependencies": { + "micromatch": "^4.0.2" + } + }, + "node_modules/follow-redirects": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.1.tgz", + "integrity": "sha512-FNvFGzoMLWmE6Yj9spb/zjd7yiNCHiAW9/Tg9CXrQ8wuu32HtlJOwWO11OJafl5FfY3DxTdQ0vj42zU1kvv5jg==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/fonteditor-core": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/fonteditor-core/-/fonteditor-core-2.4.1.tgz", + "integrity": "sha512-nKDDt6kBQGq665tQO5tCRQUClJG/2MAF9YT1eKHl+I4NasdSb6DgXrv/gMjNxjo9NyaVEv9KU9VZxLHMstN1wg==", + "dependencies": { + "@xmldom/xmldom": "^0.8.3" + } + }, + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-uri": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.5.tgz", + "integrity": "sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg==", + "license": "MIT", + "dependencies": { + "basic-ftp": "^5.0.2", + "data-uri-to-buffer": "^6.0.2", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, + "node_modules/highlight.js": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.12.0.tgz", + "integrity": "sha512-nbfWpyRMcMrPMmDwJB+dhX/eiaPKtc2RB+0QZskqJ3WjRA/FDS0e9hZrx8EC/lbEv8gXy98FcDbNa/dspAaJMg==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-encoding": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/http-server": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/http-server/-/http-server-14.1.1.tgz", + "integrity": "sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "basic-auth": "^2.0.1", + "chalk": "^4.1.2", + "corser": "^2.0.1", + "he": "^1.2.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy": "^1.18.1", + "mime": "^1.6.0", + "minimist": "^1.2.6", + "opener": "^1.5.1", + "portfinder": "^1.0.28", + "secure-compare": "3.0.1", + "union": "~0.5.0", + "url-join": "^4.0.1" + }, + "bin": { + "http-server": "bin/http-server" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "license": "ISC" + }, + "node_modules/ip-address": { + "version": "10.7.4", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.7.4.tgz", + "integrity": "sha512-DWBMKyeM25D70nrIiTkgQth59/G+naKOTep6huF9j+GmeK3DMD60Zvxg5d5qQnz+38AHgou6ean2LECX+lrKDg==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "license": "MIT" + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-port-reachable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-port-reachable/-/is-port-reachable-4.0.0.tgz", + "integrity": "sha512-9UoipoxYmSk6Xy7QFgRv2HDyaysmgSG75TFQs6S+3pDM7ZhKTF/bskZV+0UlABHzKjNVhPjYCLfeZUEg1wXxig==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.2.tgz", + "integrity": "sha512-SFNOvSJ+Dgf/9An904Yx+CgSlIPCkIpao4qo51lpee25TIRejdH3rhR4EZMGoNx3/TP3O+wzWuiTFl4sqbltzA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, + "node_modules/json-stable-stringify": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.3.0.tgz", + "integrity": "sha512-qtYiSSFlwot9XHtF9bD9c7rwKjr+RecWT//ZnPvSmEjpV5mmPOCN4j8UjY5hbjNkOwZ/jQv3J6R1/pL7RwgMsg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "isarray": "^2.0.5", + "jsonify": "^0.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/jsonfile": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", + "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", + "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", + "license": "Public Domain", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/klaw-sync": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz", + "integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.11" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "license": "MIT" + }, + "node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "license": "MIT" + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "license": "MIT", + "dependencies": { + "mime-db": "~1.33.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types/node_modules/mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", + "license": "MIT" + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.20", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.20.tgz", + "integrity": "sha512-uKdg2G3GNCKQn9byYOpxbGqrT2fGO5KRt5J/8b3pok8rT6qxGWF6hxMyJiEYtAf+FVyYuD9hRaDqX5uPFYJ4ZQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/negotiator": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/netmask": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.1.1.tgz", + "integrity": "sha512-eonl3sLUha+S1GzTPxychyhnUzKyeQkZ7jLjKrBagJgPla13F+uQ71HgpFefyHgqrjEbCPkDArxYsjY8/+gLKA==", + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/on-headers": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz", + "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", + "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true, + "license": "(WTFPL OR MIT)", + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/pac-proxy-agent": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.2.0.tgz", + "integrity": "sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==", + "license": "MIT", + "dependencies": { + "@tootallnate/quickjs-emscripten": "^0.23.0", + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "get-uri": "^6.0.1", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.6", + "pac-resolver": "^7.0.1", + "socks-proxy-agent": "^8.0.5" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/pac-resolver": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz", + "integrity": "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==", + "license": "MIT", + "dependencies": { + "degenerator": "^5.0.0", + "netmask": "^2.0.2" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "license": "(MIT AND Zlib)" + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/patch-package": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/patch-package/-/patch-package-8.0.1.tgz", + "integrity": "sha512-VsKRIA8f5uqHQ7NGhwIna6Bx6D9s/1iXlA1hthBVBEbkq+t4kXD0HHt+rJhf/Z+Ci0F/HCB2hvn0qLdLG+Qxlw==", + "license": "MIT", + "dependencies": { + "@yarnpkg/lockfile": "^1.1.0", + "chalk": "^4.1.2", + "ci-info": "^3.7.0", + "cross-spawn": "^7.0.3", + "find-yarn-workspace-root": "^2.0.0", + "fs-extra": "^10.0.0", + "json-stable-stringify": "^1.0.2", + "klaw-sync": "^6.0.0", + "minimist": "^1.2.6", + "open": "^7.4.2", + "semver": "^7.5.3", + "slash": "^2.0.0", + "tmp": "^0.2.4", + "yaml": "^2.2.2" + }, + "bin": { + "patch-package": "index.js" + }, + "engines": { + "node": ">=14", + "npm": ">5" + } + }, + "node_modules/path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", + "license": "(WTFPL OR MIT)" + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-to-regexp": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.3.0.tgz", + "integrity": "sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==", + "license": "MIT" + }, + "node_modules/pdf-lib": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/pdf-lib/-/pdf-lib-1.17.1.tgz", + "integrity": "sha512-V/mpyJAoTsN4cnP31vc0wfNA1+p20evqqnap0KLoRUN0Yk/p3wN52DOEsL4oBFcLdb76hlpKPtzJIgo67j/XLw==", + "license": "MIT", + "dependencies": { + "@pdf-lib/standard-fonts": "^1.0.0", + "@pdf-lib/upng": "^1.0.1", + "pako": "^1.0.11", + "tslib": "^1.11.1" + } + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/portfinder": { + "version": "1.0.38", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.38.tgz", + "integrity": "sha512-rEwq/ZHlJIKw++XtLAO8PPuOQA/zaPJOZJ37BVuN97nLpMJeuDVLVGRwbFoBgLudgdTMP2hdRJP++H+8QOA3vg==", + "dev": true, + "license": "MIT", + "dependencies": { + "async": "^3.2.6", + "debug": "^4.3.6" + }, + "engines": { + "node": ">= 10.12" + } + }, + "node_modules/postcss": { + "version": "8.5.29", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.29.tgz", + "integrity": "sha512-49cGhUbXj8Qenv0iTMxA1cFBzxXoctpC9Ujd77t1WcbJIr6nF/eI7g/8MgxrYldFRuAXvja7xQRwavoW7kgrxQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.19", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/proxy-agent": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.5.0.tgz", + "integrity": "sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A==", + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "http-proxy-agent": "^7.0.1", + "https-proxy-agent": "^7.0.6", + "lru-cache": "^7.14.1", + "pac-proxy-agent": "^7.1.0", + "proxy-from-env": "^1.1.0", + "socks-proxy-agent": "^8.0.5" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" + }, + "node_modules/pump": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.4.tgz", + "integrity": "sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==", + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/puppeteer": { + "version": "24.6.1", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-24.6.1.tgz", + "integrity": "sha512-/4ocGfu8LNvDbWUqJZV2VmwEWpbOdJa69y2Jivd213tV0ekAtUh/bgT1hhW63SDN/CtrEucOPwoomZ+9M+eBEg==", + "deprecated": "< 24.15.0 is no longer supported", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "@puppeteer/browsers": "2.10.0", + "chromium-bidi": "3.0.0", + "cosmiconfig": "^9.0.0", + "devtools-protocol": "0.0.1425554", + "puppeteer-core": "24.6.1", + "typed-query-selector": "^2.12.0" + }, + "bin": { + "puppeteer": "lib/cjs/puppeteer/node/cli.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/puppeteer-core": { + "version": "24.6.1", + "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-24.6.1.tgz", + "integrity": "sha512-sMCxsY+OPWO2fecBrhIeCeJbWWXJ6UaN997sTid6whY0YT9XM0RnxEwLeUibluIS5/fRmuxe1efjb5RMBsky7g==", + "license": "Apache-2.0", + "dependencies": { + "@puppeteer/browsers": "2.10.0", + "chromium-bidi": "3.0.0", + "debug": "^4.4.0", + "devtools-protocol": "0.0.1425554", + "typed-query-selector": "^2.12.0", + "ws": "^8.18.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/qs": { + "version": "6.16.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.16.0.tgz", + "integrity": "sha512-h6fhOIaRrID2CbEY2fqs+7t+UXZo+MLAnU5gRIq85uFtdiUPCdsApMlHhXogKVM4HM2DVbIjGNTTYH2OcmP1vA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "es-define-property": "^1.0.1", + "side-channel": "^1.1.1" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/registry-auth-token": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", + "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", + "license": "MIT", + "dependencies": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/registry-url": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", + "integrity": "sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==", + "license": "MIT", + "dependencies": { + "rc": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/reveal.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/reveal.js/-/reveal.js-5.2.1.tgz", + "integrity": "sha512-r7//6mIM5p34hFiDMvYfXgyjXqGRta+/psd9YtytsgRlrpRzFv4RbH76TXd2qD+7ZPZEbpBDhdRhJaFgfQ7zNQ==", + "license": "MIT", + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/rollup": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.64.5.tgz", + "integrity": "sha512-EAP5ZHcz2ijbgCWwPkpI7zh6bfsri2Ez5FtCy2dCp1k62duXzfG7DLGGh7RU2QQXWwavT+u4qpvDF/TWOiiGTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.9" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@napi-rs/lzma-linux-x64-gnu": "1.5.1", + "@rollup/rollup-android-arm-eabi": "4.64.5", + "@rollup/rollup-android-arm64": "4.64.5", + "@rollup/rollup-darwin-arm64": "4.64.5", + "@rollup/rollup-darwin-x64": "4.64.5", + "@rollup/rollup-freebsd-arm64": "4.64.5", + "@rollup/rollup-freebsd-x64": "4.64.5", + "@rollup/rollup-linux-arm-gnueabihf": "4.64.5", + "@rollup/rollup-linux-arm-musleabihf": "4.64.5", + "@rollup/rollup-linux-arm64-gnu": "4.64.5", + "@rollup/rollup-linux-arm64-musl": "4.64.5", + "@rollup/rollup-linux-loong64-gnu": "4.64.5", + "@rollup/rollup-linux-loong64-musl": "4.64.5", + "@rollup/rollup-linux-ppc64-gnu": "4.64.5", + "@rollup/rollup-linux-ppc64-musl": "4.64.5", + "@rollup/rollup-linux-riscv64-gnu": "4.64.5", + "@rollup/rollup-linux-riscv64-musl": "4.64.5", + "@rollup/rollup-linux-s390x-gnu": "4.64.5", + "@rollup/rollup-linux-x64-gnu": "4.64.5", + "@rollup/rollup-linux-x64-musl": "4.64.5", + "@rollup/rollup-openbsd-x64": "4.64.5", + "@rollup/rollup-openharmony-arm64": "4.64.5", + "@rollup/rollup-win32-arm64-msvc": "4.64.5", + "@rollup/rollup-win32-ia32-msvc": "4.64.5", + "@rollup/rollup-win32-x64-gnu": "4.64.5", + "@rollup/rollup-win32-x64-msvc": "4.64.5", + "fsevents": "~2.3.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/secure-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz", + "integrity": "sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==", + "dev": true, + "license": "MIT" + }, + "node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/serve": { + "version": "14.2.6", + "resolved": "https://registry.npmjs.org/serve/-/serve-14.2.6.tgz", + "integrity": "sha512-QEjUSA+sD4Rotm1znR8s50YqA3kYpRGPmtd5GlFxbaL9n/FdUNbqMhxClqdditSk0LlZyA/dhud6XNRTOC9x2Q==", + "license": "MIT", + "dependencies": { + "@zeit/schemas": "2.36.0", + "ajv": "8.18.0", + "arg": "5.0.2", + "boxen": "7.0.0", + "chalk": "5.0.1", + "chalk-template": "0.4.0", + "clipboardy": "3.0.0", + "compression": "1.8.1", + "is-port-reachable": "4.0.0", + "serve-handler": "6.1.7", + "update-check": "1.5.4" + }, + "bin": { + "serve": "build/main.js" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/serve-handler": { + "version": "6.1.7", + "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.7.tgz", + "integrity": "sha512-CinAq1xWb0vR3twAv9evEU8cNWkXCb9kd5ePAHUKJBkOsUpR1wt/CvGdeca7vqumL1U5cSaeVQ6zZMxiJ3yWsg==", + "license": "MIT", + "dependencies": { + "bytes": "3.0.0", + "content-disposition": "0.5.2", + "mime-types": "2.1.18", + "minimatch": "3.1.5", + "path-is-inside": "1.0.2", + "path-to-regexp": "3.3.0", + "range-parser": "1.2.0" + } + }, + "node_modules/serve-handler/node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/serve/node_modules/chalk": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz", + "integrity": "sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.1.tgz", + "integrity": "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4", + "side-channel-list": "^1.0.1", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "license": "ISC" + }, + "node_modules/slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "license": "MIT", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks": { + "version": "2.8.10", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.10.tgz", + "integrity": "sha512-e0VyvkVTwVYViNovRkZ9aodhxVlyoMn7eJhVUPxZ+eK9P/7CBkxvvsBOHqFPEH416726W8tLXXXjKwqgTErrCQ==", + "license": "MIT", + "dependencies": { + "ip-address": "^10.1.1", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", + "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "socks": "^2.8.3" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.2.tgz", + "integrity": "sha512-KGj/8Y43x35aZVDtt+J4mK1hoLGHULMYfSkODJNQjNDC3oW1PqPoxMwo0pLUsWM/UEGzON/NxeHywEfNXNP3Vw==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/streamx": { + "version": "2.28.1", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.28.1.tgz", + "integrity": "sha512-zEzXb0s5Cds7tqMH6rhZ05lcJydCWiQPEwiNngVqzsxCc962vLY4Uw+mW7od8kDH258k2Uz/JrOkdIAAhSh9VA==", + "license": "MIT", + "dependencies": { + "events-universal": "^1.0.0", + "fast-fifo": "^1.3.2", + "text-decoder": "^1.1.0" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.2.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tar-fs": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.1.3.tgz", + "integrity": "sha512-/hU4AXnIdZu+Gvl1pk0oI5f5HxWsCJRtY2aFaJdk9VvyL48DWU6iU5WAIPG+wIi1YvWA6eTJvIviP/tMAZZNwQ==", + "license": "MIT", + "dependencies": { + "pump": "^3.0.0", + "tar-stream": "^3.1.5" + }, + "optionalDependencies": { + "bare-fs": "^4.0.1", + "bare-path": "^3.0.0" + } + }, + "node_modules/tar-stream": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.2.2.tgz", + "integrity": "sha512-+8NeqHRjQWH9nYlwo2gamAMImZCVzI4UoEgDpWorBt9OEfppiZn+uSkskzQKPWIZyji/C8fpWO7u69G0DX0tbg==", + "license": "MIT", + "dependencies": { + "b4a": "^1.9.0", + "bare-fs": "^4.8.2", + "fast-fifo": "^1.3.2", + "streamx": "^2.28.1" + } + }, + "node_modules/teex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/teex/-/teex-1.0.1.tgz", + "integrity": "sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==", + "license": "MIT", + "dependencies": { + "streamx": "^2.12.5" + } + }, + "node_modules/text-decoder": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.7.tgz", + "integrity": "sha512-vlLytXkeP4xvEq2otHeJfSQIRyWxo/oZGEbXrtEEF9Hnmrdly59sUbzZ/QgyWuLYHctCHxFF4tRQZNQ9k60ExQ==", + "license": "Apache-2.0", + "dependencies": { + "b4a": "^1.6.4" + } + }, + "node_modules/tmp": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.7.tgz", + "integrity": "sha512-e0votIpp4Uo2AJYSzVHV6xCcawuiez3DzqDAbrTc3YxBkplN6e+dM13ZeIcZnDg/QpSuU2zfZ3rzwY8ukEnaXw==", + "license": "MIT", + "engines": { + "node": ">=14.14" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" + }, + "node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typed-query-selector": { + "version": "2.12.3", + "resolved": "https://registry.npmjs.org/typed-query-selector/-/typed-query-selector-2.12.3.tgz", + "integrity": "sha512-/dtuMZyutHLlrxWhhC1uib00ELUr2dZ8C9B8YzZYsJmeE3V56OxRblrSM2UaF142pcMtak7ehZ6+poWGeehNIg==", + "license": "MIT" + }, + "node_modules/undici-types": { + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-8.9.0.tgz", + "integrity": "sha512-KTDyRTYX8sWmKXAikPHHSyc63CRPETMctyjKFupcC6OBLXT3xsN0e9aF7m+mIXutFWpUXuedtowG7iLOzp0kQg==", + "license": "MIT", + "optional": true + }, + "node_modules/union": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/union/-/union-0.5.0.tgz", + "integrity": "sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==", + "dev": true, + "dependencies": { + "qs": "^6.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/update-check": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/update-check/-/update-check-1.5.4.tgz", + "integrity": "sha512-5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ==", + "license": "MIT", + "dependencies": { + "registry-auth-token": "3.3.2", + "registry-url": "3.1.0" + } + }, + "node_modules/urijs": { + "version": "1.19.11", + "resolved": "https://registry.npmjs.org/urijs/-/urijs-1.19.11.tgz", + "integrity": "sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==", + "license": "MIT" + }, + "node_modules/url-join": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", + "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", + "dev": true, + "license": "MIT" + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vite": { + "version": "5.4.21", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.21.tgz", + "integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "deprecated": "Use @exodus/bytes instead for a more spec-conformant and faster implementation", + "dev": true, + "license": "MIT", + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/widest-line": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", + "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", + "license": "MIT", + "dependencies": { + "string-width": "^5.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" + }, + "node_modules/ws": { + "version": "8.22.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.22.0.tgz", + "integrity": "sha512-Ydggc987+RO0AnWtZ/7Wq9FtNvcrL1b/RO0ud9mWjUPgDrsAAwQSF51sm2hm1XofbU/4jkpGEsLFsZZxU+1DOg==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yaml": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.1.tgz", + "integrity": "sha512-3NxN8+78OdzbT7C/WjGsyfPAtJaN3FNDsWxv7Y7mcDsT/oOmgW8BpyQQFFBnvZE3j9Y2Sdz1ULFLezL7Eb2yFw==", + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" + } + }, + "node_modules/yargs": { + "version": "17.7.3", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.3.tgz", + "integrity": "sha512-GZtjxm/J/4TSxuL3FNYjCmLktBTnIw/rVmKSIyKeYAZpmJB2ig9VauCC5xsa82GNKVKDAqpOn3KVzNt0zmrU0g==", + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "license": "MIT", + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "node_modules/zod": { + "version": "3.25.76", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", + "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + } + } +} diff --git a/courses/CS-3180-17-Grammars-ASTs/package.json b/courses/CS-3180-17-Grammars-ASTs/package.json new file mode 100644 index 0000000..4fde6be --- /dev/null +++ b/courses/CS-3180-17-Grammars-ASTs/package.json @@ -0,0 +1,22 @@ +{ + "name": "cs-3180-17-grammars-asts", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "type": "commonjs", + "devDependencies": { + "http-server": "^14.1.1", + "vite": "^5.4.21" + }, + "dependencies": { + "decktape": "^3.15.0", + "highlight.js": "^11.12.0", + "patch-package": "^8.0.1", + "reveal.js": "^5.2.1", + "serve": "^14.2.6" + } +} diff --git a/courses/CS-3180-17-Grammars-ASTs/public/ast.png b/courses/CS-3180-17-Grammars-ASTs/public/ast.png new file mode 100644 index 0000000000000000000000000000000000000000..38d78e9c61ebeda5ee7855ec97d80e3bc84c45cd GIT binary patch literal 127666 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

3sue6hr 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�-_gi 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 IGUmbm2MjO;jsO4v literal 0 HcmV?d00001 diff --git a/courses/CS-3180-17-Grammars-ASTs/public/ferris.png b/courses/CS-3180-17-Grammars-ASTs/public/ferris.png new file mode 100644 index 0000000000000000000000000000000000000000..f4ba9553fcc1a10d5f3bf1c4a8e96e0cb352a891 GIT binary patch literal 40445 zcmeFZ`9GBX8$Nu^g0W?gjD)d7MHwlwWJXC8sk=qeJqAVYlr|ZXS;!JuD>OyYt&J!Z zYM3Ewk?6LxnaN%%Gsa|S%slT)pXdAi2c93FSJL1z*ZX=e=XspRah#>>+_6<%WvL1T zLF%3!Zht`#q8+RKyQ1>ZY0B)n=hQ>gT1__B*Gx2R}Ua z@!9`A!qN(^ZYwWXYisgz_H5NZF(pY(M|;Xo_3ZWiI}&`F-+uQX{4e~4Tx->zZ-Os4 z39tTl#ouDk!5jgFf4u104e#lKDVvmZ(uA$hf`iO5WR28~0x(%$BI6(O% zSjvqW;CFR5L$P)%J!Cnv1}o-lKFpO-e|y!%k*lvlTD{sissYa>dM@f*JY&}95O$Iz z2pX?q^vS}nalvMg`y@Yj`23q+IJ47u8VrRVkiLUf-%8WsEW06N3I(gF4=(ZVAbLGF zo26{}?_rX-)wi8?HDd-I-8xy0#9#$9XS1~Pkap~%qJ@W($^UGi(Wsjq>+ti7tZ+39 z#^!mGnQ?2}{G!G4xJz;haSnb_%)4}>$B>7qI9^K6_txCd@r1lPiIYAOp%r@eR|>kVBm6HCK$g82epOhE>e2@D8{xfymrv2 z_Y&uC9a)@siF9sib+o}euA|UzIAi^HJdO=bgaX(Olu#I~}KVF)nR1 zDmXMUC4kjQ-Qs>kQTZ06-rRg{hQpnapuSF*rAd_}Wt}B;;C;(@7jsWc_2og~*v>7K zn;nkdHcWk)?-Z%aNRH<%P2~vbqUkvsMGh+C?}w5bTUx?=-l}c6sWOoj-z$91BDNJS zEbvmW`f?Q5NHQZ^jA_cjT0Nc%OB6S;-twkNqfQygnxYlqBKM1{pCpwV1@n3Jc!=Q} z@y5DyRm3{8;+!|mH0C{xZ;lR5k!;B?pOb~&9%k}IaSo323dOwS310)6WBI2i1^W>? z#!&vF^7g(<7HR- zv~Ev9YSE5MC-;55Hv8|0zW_Uri{~*4Xef9;H1jnMnXW2KLgYwQ)hN$HSpPonw91y-LpVpO{(Op<=lcX;Jfi;7vp%>QVXo82rCD}4 za|iELD+-(t$v$(&tOi9}>uc0awe7O!)@+GmnB4{4tVY7bc%L@UQSRr`3bt_cpVN`} zvTC%BUQ+O10iiA2qbex4S3eusHBX_e`lrk+7G;nZRo z3O5{e6GTeHFJ9tNsr$i6joa@62rA*)|96C3Jd|>fqZ7f2-7cfnbPn~|8ggW+vKaBz z*u``Zi!^QzffG+oLuW>RJm5;uYveFpNq!l_&XTm3_CuRN*dAb{kBx<)xhEQ1Ivovb z3vi4EPP{93-Gj`db<60TC3=mgg$pB1tQtA|v9U9O8}fLi^r(Vsy!pT){)n8}g_jwC z$!3UypY-?(OI}y;t6p=5lF}{IW(0i`_Cvc7W>Z^v40v<*ZGyKOWM`Z;Q8oB(jxVw~ zbjlBd*>4{gZ8x-09DH4@)Gb`SE@e0XY_qP6F6q_qa($Z9183^zJg~V@DIvQ<5T@+U z-$Q3TIjGvWG)CyuLS}?ddp^f9sM57^rPN6|t<|qct?fl;+*PALvrILo;cwJk>56z2 zzwZL^hEiW?hevllO`nm9z0x-xcab;qy6dYoZr1+KF*k%u)qGH!M%_UJ%`ZXsuB;KsG-C6`Ld^xr+Vd7~1+J}_1F+I~z7 z;yt{P1?A!(4COQRhTlm2gc+FNEN@M(u!`A7#Z@Cc)4^byECDf}W+%2Ta6i$c+u>-Z zua?(9gW?IznQgk)&u@PwhA)Z%X_%O)e%`W}m;EF1OYYc(qrGh;@Ep1OEUSfQrTTiq zoh9E|aOndVS-BC-lhYdutB+G}q!owdgiSO*Ay<;8*|S~#!uJq+Az@75LC)l4x#B#B z=T=K<>I9<`SzWh=YFg7Ox8)|@6XsV2@I{bxA@!2oz^c8j8vZ?cB`P38&2FQ7(ct5- zCI2DT7?UG^**d2y;dqJm58JF4PGY>LT4j3N`l+VW!lB(%D1ILpO~*O%v5hwU(^4nT zCw@D7NAFcmP(9CEZe2*4&8gf%@19Uw#IicQh~;1nRh z%;R#^wDQ2Y>`VfvNbdfBvTf~aUb~70nH92|x@Pck+s-kA(yeiapLM*LNZK$4PJsUr ztv1!bOm3X+!@ms#8nqkN=U*)mOqxNqZycXT4z0|Jt+VX==-hfK7+wCc{;BqDZ-J2) zMfrW{Zs~#K7oRrhUuo&0-l-c}os?qi-ARKOh!BM`{RjtnbljUip(B7Fb+a$S1}f!U zwEp=eCmh#Kc_%_*mTlTC_(z}k(r6BbVsNG|%mCneJ}PD@Vx8hc*Ms(YkT4d9-IH?A z{zK`|rK`WCpQk#aqt07$>Z_PM#x0{_A(OrA3Wsv=hp0r9zI!68Z6}D1P*<6LS;Nci zol&M-5+jVM+-)xLpk;UT{2jRz$4J?v4$gYPNGooG821o8L zAPW13y;4d5wL?s2gp5ZAx}CkijNTwfx{jwegW-*t!t;w*wAJuHQ|wyn%Lvwq?lPt3 zEnl9yNW@~6P!FKIYsAcS-QmtKNM%4%RM=4Bl{t|Ww$bL{))H~+fB0iextk(_Z2uwV z&;k2qaqE*E*Sx5YV z@SeyIjW6Lr9Dvg37t`vtnPDS7cNfBO>SqC#QK1N)&|>7wghRcq%)#>1IPg3#T| zPl?YuGl!qHD3ZPq8Q!>6o}qUW|IwD}5?V{Z7fO3r4K(CtgY2+f)gc>(FF}%J%(20! zo3tC9A;|q4od9P`X}Iq7{TgY>Z}2h&MXU*fzY98ORs)8y6dnfeYmpf#)bJv=Sy5<0 z$laTA&?l|3z@A(tnE>(UIRGvx)1kZJEaH4ckMuA))vv|5NUxD*BI3QK&vu$Z!Dy}% zB+y78X1>9*1R&zH;G~N_RRciq!aBD5`4{7S?2TDpYy*XA24Z&zoEi%?;56;6hQvz7 zS4-Y+8Cl(nD&Eq$A3^pU`OWYDvpZAa-8qwmr%hDe z6Y4rI7EK1dEAK%6=hrz_KEU*4bwpdw<3f|FhDSbAU#bn5v|Bzj$1Z+27iEhXGFdXw zP;OYONBkHmJ@rGfaUS;?Ov{!^e$FwRxngR;Ft7Ot`p`qYMKzimI+c+};3T%D5!}!I zk#fqk(}|%|O}zHTdp7wX(wicZ8;47aAG#N~p76=@{boto@6(TeIH$2(P>M%-?6>f_ z>@e;`KE9sG%(`tWKa13+nh&msp6DnX3jKqcL1ZK9!Z>kqDjmbWdvdeJokX;P>r_Mt zq>U`wTH-?8iPkvaU16AyHrsQuhqf-h*RweAX1huTa=*_yWrwelsI?yE$~y%ZXa@y; zGb8xTba7}5DO0NS?pjjMq65VaE2T;V%-v$orHU7emSTP9Lm#ble&^`PwYwnqXvUaC zqak}rJbIK!cf}c75kQHpP`}r=7E6^(dEqXw z#m8Qnn_c52<{ntY4nSu#^$&Ko6ijx7iqH@Tr9g-4(SR?J03kynf)*hVOh^F!KQ(UT z1D!sE&sY?pGq7W~6Ldu<5aiIv`sOD|Lk*VY1e3Rt)kICCCP zzH~^q;?^pw5Ynj&)bnMtd18M-{B-QoxHOIeq1DKvrK%g<#sOvOJiq|iNr#Xo3(wM( zx3j4it$`?bliG?0h?z)9QM?W6lq3hEis#&!4V! z3FdtxoyfXxRD3C-c_Qjc#670Cm0&jHsF&1?3+nY9u;`O^Om)l_eJP9H!Vs6GF{hp0 zimaoRkn{#`l^x!SX&@ZYQnD!bbqE@RTc*dXx3)N8LG>_?J2tz-`Oy5nSmEQbljj8v z=TCfIhThyOfGcCn<0ausxr<|$FqIWqE;(;Jb3JoG z_*AA02;XE$+dx@j3xfv;AOi@1PFH851%_UnmDK4L>JbkQgW-xp;SH6!L<$)!PtznR zdX_`^FQe-hkE!bvbGmMaVCMXnoR|%DhWYL}q?6qaU&CXv!%cB6^#I0#*zJ9yN4^z= zv`9{835FdTYG_5h_XtrkRMVeOq{24DwIpn5@qfb%2&h%yfFgQ8i&WTQR-iVb8tGA%D4n3+I8uD zZ(Jj4|CyYy%2#g)Lwh0W*2cYZBX~pno?nJcUj8vLKl+PWHo#PQdEL{ZR})(7pHr(P z!S;1$g{sozMl>H}a>e$)J$SD)p|~avC6)kF3?mgvLxIXF!X=&fhY8+uvddThiq(sN5U7 zPhKh20S7QG;+1|C-}IKSQiW;#(q7A6<{S3- zbu<>&tF6r~o$5}G2(X^L-NO=Is!TER>!h~yTMN@sy2gp&q#W<1kz&Qi_u69>hvw25VP^=c-I-2D{(fd`7B| zQNzUN==jdl+(E5214?cDE&>A~oE*H3dKD9N!2W=y(}Y>yrM8kPWiT&1P|!XRx9*{w zTUV-Y$~YDi-_E(@>b%=_@V>kg<{IZ^2$WUKBH!&-jk(endgwiB>fsnXoaXUiDkR$_ z{M$oBIv0mHGic>IpZi!DN*U%DfrI;ba;ptwv0u4&kXQg0<20>!wLxNie^>Q44%l|z za*K03Qif@YV4B6Bu40VASnj{><|fp9BVGZ8hw`Sv4h(;0_`f-=@^$C*;`SDH9LnTM zXW%>kRz{8g-hfVrbFG|p0&^+kh=CF$T`_uJzSB+!4*4CU;;;UC^J}iV#B6stS>3w( zKk8~weDfG4GXI5WX4=uH19qaUFy|yO2xO=c0QZADf{@*l+)ES7jcPuOZPc}W=wB|h znstW?+@VWymp$+RK^$P9_dj``*1T74tTt#c4o9f zk}rulv<-*xkQ{>svQ`n~weT8L>S4HfSuo4Dmeuc^QvHqBK1o8n1<2cq$DAQgPUTm= z+8n+=LoM&kPMgxLCpsfgf*>aWfVFrM@$D>9os|! z*4~JwV6ko*2!%WbNJl4nL>0<3I~@`w9^_CCY6R4)K^WP_H2Cqx8Y>r%qJ5KT%j3fv zCP{#$1#kW*?0%8sKuPBIt>p-)XMgx^m&NUyt*{B)X!CyYW}VKE0?*9)0ED#Z^=^sA zl&JjK!VWn6Y40!WxNTHiJCxCd{t6fy)K_p(yrd5cDByYGm?DP0-qQUcL5_@%1Ncow zdQPM{I6^5PF#zfXu0wI)x4*U=fe9p;26$pTV0F79+I~%SNa_sZ!pYTP8`omg_K-92 z9^;KXi2Z4^r!1cR>Ges!d(PBn_07+P4v-XOm#mxqN{(MX%lfORA*o!+i_9!TvxJyDE-%6q^hl@Pg3IfvN#X_|L*xaF6LUL~L)G2ONH+ifwpGt?h@Iq(1 z81fqZ^4fz!%0Sw)B{ZkJ@(;3b*?_rOw)|fJjZzecr&d!xUzvRv-MM-qrSW#r*o90F zFF&9Cqix`jyGvWDJ&?DfBNe%^bl%m7cNxOmI3*QuH-+LUVts0s6nDG&^tB^6%kk&w z8EsiJ0d>m*DjnN=$6vfx00jqN>!n1%=#RG?iBmGHb7?7W4|Tq*h{2H9F3geTZ>)Jt zj*`qnpj7EV``2h_$Gn0m4UzmBUU-D47#HZmy44w?P8!NWXSRZ)Dc^1Gf&DZ-L)p!1 zDO#YdDB5h(!6t0smThK$h7UOL{wM2XkT&^x!-KT82g>AU4?gWdVz?v(Gk2!-oKHlD z(>5uHhxftRr0Ic;8JDI>0nj5xr%;zE<|f}we8p)Two1NIbM6_REJM9da1%MbEzf07 zAIaPMiZFGL`%#XQn=~#EG$83&`8wazZL!E<-n;0cQfhvDYwW;a=&T(?v%5m$f^t@_ zfitV%G2&`RJ43JJ;@s1%9JK<~=y%WK74Z1Lo@z)M&m=w=oKcd9E){+`Yskei(fjKZ zcupDv!8dLL46;|A0aF22+X7ZQ4*W%IGx$RVpuX4XS%lQTcANTVNqGoWXmb4fDqpkG zr7LiU!?mI0lS{06J=5E^ACn_#lYsB2%$Ed!a|y_80igWZIYtNDsSkP}rt;miSyf!0`I}wMSsk_O~Eu}Tyi13};$srTEvqu*+gP~cl?hJzOK}_|X zgqH}Dqw+hbDPr!c3gdW0 z<6)#mo7+na;$PJrSNZF)<*rkYvX+6!%1Is8*e3Y>uV7{_tRUu#*x{MY*qu;=@>)Yr z7+A{3!e2Rtr8c}Sb(cv69aP(S9PNw!;M~2bpp|4j;eBOmd+olvN@_cBTD_*)&6t%K z3j=!1rjmyi`zrNL_r|Uh$iTVupvaQIio%JY*E#&WF0pDnx;-Z7@`}8F$Y&I>nV(cB zSb6WaQ5EYe>pNZPxs+o!Nh|qzVAK*+HOlu?@TN?AUcP9 z(AJEc;Wgo|@3q-%rqzYTfFvfmzf6{Yff*^A#A5rgy@@GA)?UNP z0^Id8c7d`hS_sT>6yE^Dn2lPS9PuxrTIh(uUb^{2anZoQWW!T{*1_H#%it3;L43!` zmlS#sIOfo)g{tgtad=69{Q;$x&@1-W6+(MGANHk9G;i3n z^w5GNlHe-cu7$Y0;q2EP&m;j{052jAAFN#-v5z11yCEeqm^&@?*CAzIaDu2djkJU) zJo;-C|IkI>q}>-{*a8ppEU(32k4N1cli%tzhpvCx0W}Zun!%!dJ+>|WSply1Qrk|D{ zY)Cbxi@BDa@%p{$CA%EHE^)X_yD-1;9JC3mR)aecLUS1*BBEugp zEk|%ujlukJvW%%p0K-0sRUPQ8x9*I&rJ#Z2qd`G#5VsgLz5Qopb(O}>Y@lm3Oiwgp zgX&gD`5>dmLVx5*IWmwgTkPZNe3%R!fzO}(g>vw#f6$GED8VUd#?S&~EM4U6tWP9r z+tg$B$bvUO`GKZ2T-xQ%5@^|tF>$DY2HB#cMBt@ptc4hjgyOy%5js=(JT6`hD9oT< zRTec=S(s^OvXPLkXFPS6GD@KONq5jip+8TTfne3;hkb6HP4n@ub0DGtp)nP@dp2MP z1&AxBE(>PR`0RxlbLvFWL(j0B5%g3uc{~u4VQmhTD%K>vQ)=lA!GCS1UB|B5|Cmpg zuK+8#iEW8Yi#~3C1W#4qpyr)qxDI@Qc0DKCm5nk65>%VT8ppab>k$ORVxb4kZZ8}= zXbSOWTGi?Z#;h-4Pg*bP9eeCXZbaLp1oa+3V8G~0cs~s^Ny;)b0zhMc>St7U3aInY zxkP@8hb)PZY}5ojSkAL!3Hu|1E53HnN+GjfQK6-9<;96#pchv2@|Cu;-)}(dq>>MN zaGhhVqp^^?vjvk@rg0k}#h3n5Us4-#OD+B~VK^>_GWvfz86pL`);?dhm=PvP&^pl` zNK06LD6{C{*2L(M^|?_~ET9i8$f5>vRxJ*hoI>nWwsK4vh8+UD*EohgO@*uU7kZR- zF}HZz@KhO99^LYyOv&7|&+0x1H>kn(+CIleU#)kdXOP|m^@JC}lYy+9nH;Xqym0my!+Xj@&#HOM#~VE*7aD)qTv?8|u`&YoFVdWt-;W{KG z(qhtiBD&u(jPyleCA}y`2`+~^Q}|o>;M~9_hU;P4L#Rcjlm=A+eLm zKUWh-H%?Db4q!Zipl&xG6OO~6@_ldkKIA)QbpnWzuG$HQu%&IdA8jm}0HB6~BUwT}48Uu7&^$XT2(r1x~(Bbq=4H<_&qNua)fMsAqHq5P%*o zjhGr+2Ng8uC>Qi9;oD)K4d<8QFdNISSV107f^Y zk|-`o(2=%xvl$`Vw1-OHmYdh10P%JRE8p&M8;C(1%4LZ^lCa?S;iMipk7$24Hxca! z4RUx+SZIhPTv|&Ni<6Hz%2J=WN%a9Iuuwf!B}o3WVIObzAT26y@4%6b zUDzJ>2}Q(i-Y!$B)58_)yFWKUyQr%a6C@fzT+b>)y|F94ew^inNDy3RdBbSL+od!l ziL$U;%Y(e=jl6IE4r?(4c}LvuCM?O4y?qZUjV`e^>5|wJk~>Wh`?l8|>V0HepIIU> zis#Q(D9__w7IK#Tz1Rf>Whn}8VNHznC#4H0Cb&YGyjWKg8oh^ughs2A!;q{_fxn3G zzW}pD*Aohno;*tWt7BmmE+7)H>m=F`FdGo$m(*f_gfpe|I8YSg1uYf@vgd0G-YH#sSP=brynY2dn_CkolUoM z9(upkk*V-OL=y78Ta(jODxR}^e>Sb2Xariowo5?K2JixiRo*oZ>+LtxwByNV+$q&u zFq~MJy6=v~DW<6pZaIVvF(Hl4LlPVJcu8*T66LoupYkjG6@Z3t?dv|&9^vt%h}V|z zc4&|zkqg4jo5b1Fzo0xI34raH5Q>PeDc>hs%pVy*ig@2g$my1i6K;r`!T_sP@>O=g zmWAA}#H+n~-EgUCiJ&}Cjj}Z!MYnCf;LD2cXS1Z0xFoxe@5b!Tk#gnAjF2Gqd zf{Y%ks!kf!vB5Xe9u02^#liugZh4{81hqIa_{n&CDuA^ZkK;=G({SE69ewQKkqc3~ z5DGbxzDnhngo&;Lu^YG%9Nb_4zQP+?OkIiq56}+XdbkxsWdY$K2;eV}$7loq6DTlW zG9YX@qO~$>;lqQWuw*}l5eE#G+ilx0fF?f-XlcLFiSF9{pngi$?Qz0tMgLm;zS(&h3NK4t>7XF^ zNOxs}{11#M&M~J4!q&J1Zw&JK!rSbuL#N@XJN6iI&CSd?_9C&v00!FK&dK_ksA)FP zG0D}PsEoe&M=Ne%J1cl7`D~?o=(W?V;?eI)|7vOejWlZMG?t-Yw^+D2y~ls*?%nXS z+9knl7ZLoMV-RHmhe}%Z$aDOKpU?|=n!}->K}_O3zsnvZ*x+LRB!h1;LDwV0%eKZf zShu_ex+N7M)oia;Le1AVHt%bCkk#REInp>}yWPFyO^=&)PrqM=#F-J~*>^NaP8)|l zh%ZjG40E>R8SvL_b4j>i@+(o7JNaa<>yC9S;K9jxz5^PV5Uie!0j$H%KcoZG`SP$e zzUiGO2?T_sl*pHr4V(LBrao}3PcfmT@69jMtCcUMu(R4oNz_7CIY%_MI~ z1z+IpT&{8>aAOcc@lOape0Sn@N4)PH!M7XHvUVLseX}Eqs3mI3NL2eOjgqPL077rJ zi@TapPp5v_L7|T{UP@Id3zQ|wEOeNzgx%&HH=t*%nMQ6s)j);zr%I&XrMY|>-p4mGbt$v_EGLz@4CHE0v z=U+1I1+t=)JyAN=Pf>jN$y{x1>q5M|=xwtn^^IrfyWkkFh<6{S!(vk3+_GJ8;>y)F zd%yEPV^`}P0snOJ_UUfD``(^+^D2~CgjRe!p|%~J*`|aP_?cN>Y?MaX^e;n!N~HiK zn=2mk3PaQT*yp*Ezv@%OjYqojX-*8rCMLfR0mucBNj1;O1mY;Mm=gqfpjv|&F#H^j z)35`yxLv(!(d3Bpi91O2CApQWmwJQqS%99F@mm0fjG(;Da7FDDJcjJ*ISj;U7`xI! zxY7w+#rP3yed?@fp66{>X{Rp&4LpQ^Vuo#%Ku+7iFtWV$FsJR-5YO|ix#w16AFE~k5Lx}sLe5z98HP~v<6 z$EYX_HUqV5O}J0%PPP5Xa=aooawDH$R2zGm?DK~!nT_6x#*W^D%m#@muE}nA;eHsg zM&JoXZiwVpL_l1ER2$$0-P#3-_MA633W&u3!lm!;>6-EjXbSc^?ENcCLuy1cDXG`< z-Z&0WKI4{mm*mli3>$^`RYYYj@WHl=OsH#=v{y;T2$&z026fDLA-eg$E; z^}8V~xIdJp={ALt)ykN!oB5%=+Uj?a@RWo5bDCqisKb?hsTS>;lmE=Zpr9;@F%yiigr> zHA3!A9Lf_rQ!QurfqG(H@>sFm@zbcAD?DVCm_X<_nqL_v)dway+O)w6e_|7F#q6w~ z!c91ofWeRm9V(IQPyUWgGD7hyJ;`~xric&Me~16N2nEU}E?=eBM2oLV2i&JDMd`i= zGrV#&5>;f`5&SM|4bx^xp_N}HAq{u`aSK_yiy%_D%{PUWCAlZCdtSY zFrhZ+Po9Fp?Ts-Bn7V&vm#`lK_7k|6VHNZH@l(Evx<{dAX{crc_Qa=2k_Mnw-QoQD zQ&)23%B;xG*aY`ybNZNdZF^g$wCHu(P1x(2TsZ9{H~~z}M5Z1@yogAr+2@8A zFeK%F)hrSkfjUir8*7WSfGu)x0cX|xlo?-mO^)*ciXA9*~C)GXaPYo$eT8Ef&?uIf>2BI6PO;L1sucA5z*?lUgrN>Zl^XE=&d6meJz1pT4Y z7&^9UDxmS!Ney74aRW8koXwiUQ|Hku7HY!1a%J>8_NI8=S770^PmnRQbbA5_2&-Ia z(}zzzO4%MVjjUGWJmJygD_tZ|WhwBDsi0VRoB}HnjYj_=NkhbZZ=#o)sKK&qpR|O> zXnHMIF!edCm|4G@fNzjm*tk>rdw{hMj4@MP@+NSY;AN2oa~$yV#+riTCn(2*`t8(I zUya+8(<*#kqult`6&14pwj}I0Fth?TL6WQKoXY{xjD#k((~8#3#~j*N&Yt?GDPpcR ze*);wT<0t3G-Nw1k&C(f9f@nC0Ur-Ac;64;hv`Z8l+ium6@4H>DVO*aJ=FJM&nzaY z!a}O=+z-(1fgoO}-`OsYLz>`1U8}B3KFY>sgP^)ADZ1(a4A*cd$Z_D1URu@3T-7D9 zrsS1b0AlG%?wG`YquPgTw;bzh+qOw+fu-9Z>oZgcRK}rmjK$2217l%T#i9 z6;QlQ0R2HZc!oVVM<-6PggfUK(}GVHY2({z1VCWWtFOo@;ONBL#U&E2^Q%I1R{rnk zXyCh^Z>m~W{g!D2flMJ^(f|~qI@aH*g}1@co3!sZhwIRdA~sFJcMCTspFwwa5-Ie! z_=tn*pWdaC2|}=S{C(5_N=j_tl@46AZ~Al}M1fEY5;b}fNSUL=?$F(!__Bq}VY=_( zTn1&Cf{7%nqi|#m2*gIFv-a4$JDN~x`lO%6{#!X7vfON3$b~oup#|)0g(OzlGy~?? zX1Lv?`)kq$3(@jb(%j0geWt-0{>PRuF@{xy?*|A^ajY3}_E}Y05jlL`+wH*H0kGJ(nDsWu+Z75OCtSfQw&UX^K5*@}VfODoMSnejiEwRs;f258ye8cSj{JM& zip;Qm$$O_PDht2lLf{HuCfJJ3v~{_&JaZ3M8i8+qpLTq`ptiDbOmvLdX+B$JD#-Cev4hvm6zk?j7M4uC5S!zCl*K(J=< zd7gzGpup97BhT>0;L{zk_Ah{MejbOC+hFC}7GAy-^srrAy=MXlhihK zimm}yiYf)r^=wllzv*oRs$BHmiw!Lpz>Ytr=CwaCi%swf^BVZ;@2PUN*)~pVa zJaFkh!gPDSiTM^Ym>X(4u#MRK$DuDU(hyGmc_}fdKDl3*dcI{l&}ftY!OG*?(kk^n zSB%<*a=2qKdm3(T2>NRnNmcwS@7S!S?U07%L3_(-3^p@UIT(2>(2Bc>PCyd=H&`PhMZ@HK!A03(lEk+;;^-d|-8 z_gbII_(T4{Z8Z<<$AVw*EpI`JYQdW}1!-mFk((2&wiU z%jlZid2$VGk#&aAMrX)@It7hKv#DFYG{Q|+@-K>FQl0?ZRp`H`_rm*I-s zbcoWN(Ac`uW+MRKc<4_tL(FhZy!dssBa7J@xfWFUaPgiusyc8OEU7`~A#5k`n@u^r zwT?@_6J-!lv*Rk$Bui=mr(&1D{psx2-*qL znE87yJ)Z*LU{Yr5n!68Dem8pq)g#pm*ufS$+LR?;T2_jzfm^R{S1QLtYX3vf8`~@2 zClnn3%RC~&kRhYjgU z0)d?@5bke{Max}5lm!#<^!Jvy8gKT0rv}GD44#r&(*QxcI&2rIUiZ5cJGNkISgJAo zelfjxy>+l?d@qVs@CSe?t^JB=_DgDJ^eF<=yxE!V8f$=}H(DaG{dgH_CC{+!m0`otFh^h+5>Le@`wrJLt9(l#R24wV-B z?*R6gJF_t`UK~5Ci^Np!RsbcY+!l$(0B*MXty-AJ=B4mI1i7y=7N2$`aoufWb@-dt zj63$qw^pB2T%h$xlO)Xds^P;b>~{nNVEo-EDS_sWsMm~)!g;HRsL{~(GYj4nN%l0@WYRVex&ICDiTy1dlK>OoLZ@~O@IetXkDu4bC`?Hz%L&;H zjNU5{&5Q5$VGp}6Um1w^csVdfukDEruU^*>h(fIA?@?M#xfB0GWy@Q&%}jNzWVtum z?((s_7MV;Jja|u`BTgLuTz!5LIb&eZZ56JKaMCe+qI@Ux#4QwJB4J%Z^*5SwO5#eW zGCjA~M`*v`no?Y7ndDy;XSe7)dhh0_EHgkidsS{zswj|LeXr+ofY9*#^K^FO0uEA6QlQ@Ta6Z5e<_>y*P}-n;zV^X<2+~ z6ary3b8bjmu*9BwGytXXkr~as&p-pqsltcSJImB#%i}I`9x1z>;%MB0Y7U5GqV$d; zo9r`ErxiHHTFWyJQa&meIm#8{47m%2uVIevAScTnV0b^P&;Xq^=6Yr16Bmmkvd zxQj(bTPbuu*Q3%iGljPS@h%{~Xdy7)LH2FP4XfucS1zSYR=QZ{NU7yRSVk1Tsdet`_6caPu-Y_@(!yXy! z6oKx17zlO_XHZJYgEz7rjCvzu=YcHPfR|lCYwrx*SgKUu_9b|f_|h5)Q17&EnzWN4 zi5LWlE`WdpqD9MkqyB6k(3hU4-h60NYl$GjEHC83b34v@xgS{<=rh^6f56a*=_Tyf zCX)Kd?r;^~c_VzX!x5#=k=8%-X&IMtX_3%%b^Ugo>}1S=qp@Ff&00TI4!CG_d+$7AfD6Lo8R&VSoo^XtRWnwf!fSqaB}&Ll7T$>L{!DL&5diBmi1 z6kn{k1WG`5COJgG0)SIe;S0b_;4CCF>T> zFO%~ZX1;?1fFS5>1PyDGg;DH}F%(c5+?UrPuM=oES6iE!t7Qf=)L*<6m7Q3*E7<(z`;xob|IIfJHGH*izv z6PC`$>Gm5CJn1Pxruu$6_=rIuMRu3vSiIRG?4CQm4eXv?#DSBb-68p8z9ss*zATWQ6m{^|6i1a-shWxmlYP`%!L)mk(kaV7 zzb1ApO4ywdw|K*@dvxk?u=&D8kF9?{jveuhTOP$bZ*TwkjP{Hzg~V-2Xi*o8FN*tN z!XAuxxmzQUj0b7H!%VBoTlwE98JGnSAyd$Q&=!5ff9kX7)wweLj-9i<*?OTD9v_#^ z4~9mUfyTrraN<}1D`DE@UT8VW<2Edx0!1M1;_nauu{$gyKBUm-q%1?V<(HOpH0vfnDIrM(!$D+E=O0J7r-L$N|Rw{gS9@Na>zpnfK zdc(P2RvIAVJi267z^d8A-R(}@Ir7+kc5`*GawV9Cb9&EZ2kM483%R@ilYG89H$ z;d#g$ikR<>Q0MM0oZEBu>{%-Q^cKhm_vO*X>xKN6GOab~Zx!+$$o!Wd>#aXjclY*ucqn(Q@Hikr^>SRGA2-MZphbho+OsDB0b>McTo({ zXozyjpV|@O8U5dOB)u`U!48U$HboCGeYuo zsh_%-8nmUcUv}j<)v5B>Ro&^u_Ct5ZHcr-%ZL{I7gKZy5Q7N6@ zXxE4^$qB?`4ys;G0+lX@x>ONAI~9iXvd)rP!eZ>w=|QF3h^F5Y);P^ypnXJBxgF4S z@1MqgiWy8f|5nu;_}K1*-?XToyTU_uE}_IXrf$-LG@@HKQ!DMy*%rvA@0=EO*o&+^ z@pOwzg1d|AM)d@&nfg+C2h9PsH|UC>Hp(0-ms~7IlR`{VXenlEwduYzv9A)vj)lOd zj9oo=vaj_p@0{iLOFL1ZM{2}P^3uL{FiiSV3La0@u_Xo4p$Q z40z)~ck~-P84X^5%AWTsPkYkd9Cx1!_Hkm*?%L5oh3ffw>vSkw_SDYaKKg<$RRMxu z>@xHHZjpQb7m-_QIgaX<<~|PG$B(d1u|C(W3E2}R^-%xlmc#lB>j++6&^!^)u-Q`D z=qF+QJ&p>0IA?7}FnOVpA3ONnLgN3&uKK4w{JK-v;*DDk5vJ zvt-HyuCOZa>2n&5o(!KJ+lY4uOK3X!-`Nz7!lJ6P5NH+3u2AQi8VWJcfuqu+pL+N< z8>O?x(l>q>VZbYr=Cbvo_^9^4^Xa+Kt?~VzKA}lk)~h_B@MFgiCwS*)jFmq+6Gt!p zTl0NvGBI)!2CUiP_I0Yy#f=firN{sTxA5H`ifP1O#2051Z|IW4HdgF-CyKylk+Qh| z4^v+P4)xmpKbtZ3Jv(Eslo?AX%UGjQT25&ZBcVkhb&Qf3JC%?MDYSRmDCZn1nXyDd zXtA7P#u7TJnISb8GynTLI`8j)UGH_h@AY1qneX#`p8L7)&;9v)?(Clf0`0?4Z!iH4 z<1^*zBmgs=*gx8FBtXXX8cu9wFEt2+bx7_Gw6GrzBs(B7@Hc>+>5s#kpWI=}8qyTp zf8SWzCi}eYPp8dQjjLkpVtAACFEM5^g zjxDK>4xanI7FF!f@4@~lJh%o!J#nJg2LhI!zP@#FJ1qqF#jN0D-`l|-CWTT^o-i3+ z7t40}17@d$;sG$X68gmmjub}!6Ol%F-HoOpGE>h z*j~WzZUd`}?fwZL?qBzn7wSUQ`cS$lez0i=FLt7eTcXLRkEK!}S z_)2$67&FGu51%DIx_=z|ZD-wW7wuQ8_i&==rTZ@ldLApVZmug3Oi{$KsBQN&#OFr( z5~o}pFO}ipvus<=ob=b%p*#_2*Y+FM`LWyAa`?*yHwJ_>m1Boido?qYP>p2E?-NP4 zt^D~9k&J*Pf_0u{V3l( zm&}8H8$EU6Tx;UU?~c#XgK|eHyH$i=t*9|mf9?rASj?O$W`;Zo#88VhFC0RhJ$n{a z{rOh$z6VBG^p?X%`W)EkxCdpj5GeeOyJkJAbe=q5k9eY?y{E9Vb|rg@WpK@b&NeS_ z6si0}ZT{(_%ZGRuEuh~b@mgsT2jRr)5aTY8UwD7Z8p%%IOW*dHu$mtgk?ZYn3A(x` z2XD#>-+_uc1<+1=aEZVtL1)(IFCMHmdi-hvDE> z`*SGTKW|I$ZcEbW%h4%=qZt3dhOa&wp(AF1^{zO;n;WZ+Jdmx{{5z_eTRSJHdJ1_h zdVH=#^L<*X&+mah8c%}w{9v!yynwFHze0T${d%8{aYg(ljsqfas8^>Ybs- zaqn{YjtkB);(mfi6S0rLeuiX(?K2rZ(e%zU1L$Ts>$Uy`u8Hm;kQN#w9+_Dr?3#TL z9|!+Tl)T9pY|H5O?AAEUN!yZMJTB*PbWy&xAE6{3Y zf+;#E*<(9LWn*6CE3%;P+MKQv9l|JmrpuB~ujQfzlD{!d*4*la;`z|O`=I0-P>e%C z>UA1)rd+-|)V<5HKBD-SfCvse&)JE3c860?qKl2z-Stp}kU2Y~u?dZUNW@E2UrFM5 zf~Wv_HUO!BdUWAzkKwuf=Eoa}qIr1@HP6uP#g{dMo@8)$k!I$uSB0ATIpy=JiJ4686OTm%Ql?vGW;}J z95wpmL(~|1qEF3YGeAMO48}Jz+ibwa(**?gL z@7OB7p2n%wV9?0X6+u{@3wz3?*W9?GUGD8p6JuJFZAo1QU64_^eHrc5mJ$r(kZAdv zz#k)?+Z_n3QOe~czXHq|A?(2p}-W*RPsQ#kQAh| zBk?T#Wm7A(jE;17g_>uni(}rXdpQ*SZJ=$cz9;t3PLEG;8JX@&zio&vtktaQkC8@l zK*8Pe*`=`a5~Ubzrnd2kI}e`UT+!Y`pYOp&kG5$?nq<)}V_)1vzY*T992~mT+Ng1^ zdg`@Pd@sDxQqkwq$rZsux`r~i!@b(LHAz+6NXQ3nV>8+i|{LuLj?40<6%!os9po?pgwd@%DT0_tbFQ$;C# zsX%rWYseF#kL<{7{qgf>-@pK#^C?*LX{MbmT#s72#0#h5z9en4thBUr!ux=e8iqWy zA!~Wn$NIM=KkQJEQ%rBdS@Y`Y%+_r!m3z(4(I)dt+ZqghkX_-_6vdsWiW^oEag?e- z?AiM1+@~WgGgD(TSJ*T913wP2FG^mNN)8R@pE#MH1%+#Q$iu?6u%8cD40xPXSs~j# z2bjB{A|%R}c8J~=cO#pX-JK8ONYQ9bd@I}$Gq_@)tW8-KQ2_B`}4mkBuqfSxWE zEiW^Mx6*A3J6Anca-w?l(m}~Sf8KM##dT24HK{6bqH1(@qWt#6Dn%uw_#w5@mpzGJ zdnR?6d|l^pccr1fKOAnb7wfJ7ixO@q5o@w!4tyeD=MS_Swi&*f0Ea~}G*q7p zgUOS0%?o10tIbmY{!L2~+qw1Y9w-SO?r1JPqjp1!>=H1~G^u-9cg50bmqkIJx#X-m z#!s5=+O;d8ui&J1@Q<+Irm3ll43{&vDf6FuSF8R#lVi*;eVv|-QR+ke9-`tlJaZi4 zLVb#%kZO|;fr8F46b%|yvyuN}=RxP`Km5JnAN?c;_$iPB=9SFI;g_brPvo(y$K<0# zxe$pZDA^=k_kuVS*Akp7K~aBVqMm|ng6z~M1ZUT>egP~Cv4ZZXltE2h*lCnbL74fu z>gYkt+}zy9=mv#li{y}#0*M)twZQfM{JBfX?7Q1XC?AAAm$oWXr%KI}TsdAHVHY&N zb?=J0$vv^*$|~;%8jKjdCvf7mn^hok`+yaycq5Ql!;iM+l@1724&V`?C9oXCuCOH# zHwVd<=$Kpq?sN{@vZD$?!+EK!2&wt*ir?b2#&J#;TJO>n|3(+y%6j(g>FK%mJD&`n zbrN)##`JyGR)>XS)g0L|NzzSEni}hvDqRz}39C$fI9qBSt@OxX=0|qvFcxv+IcaYq zrYH*yfi#K+K@XB=kP~wH_TGX(^KcgZ!@1BU=J6?UiXsp#9bq-Z{OJ77Z-H^HoHFx%rh|`$0KzgwQC(pLp zGGv$Vr)@!h1xg0Wx_oG!cwIr6n;CW|8^eTuv5+vp{w;6C-o zr9Ta-uq9 zpYYofo}csgR0Ky?Rzo;yE-FPp*Y8LpoLB69kbVA`hR~ZunfI{GViY zk>&=tsp__h$JFbV4qn~G`;?QuyTN3YFHuk)R)#r|-5T`Ou28Ilxs^JspU~M*{pHfD zupwr5iluW*YLyd~6sLL%mvv91Ss~-OJ4e3qRl`nRGZ?cC(8Ru+uYpxQ})EC-1yWt+0!C_cryt8w7{6Wvjfv;_k(ns-4Scis!31$G|BH zk>LorK0GmEV@hd?2C+-c0pT}i#}%g7Yr}WNnx@-V(7qnz6bI>*IM-c2t{jjlc22WA z{DpIQa90opxnw`+wE!J6@@~}dX%1$6+#Nta@61rxd`V`h6!plV$V7T8g|n* z`;a@Zg~6-CQ`iJX#LEzwFYr$@#n0jW@_~Z0OZ(?Q+S@$gzctYftF$AJ!=q~sow~>? zQA+nep(SkBG5C;z!q(AiFm{|x`oabjH{PY@ZF}yh4L{gFd25P8tzzxG*3N1q^2);8j%4VcjQK3F`)Q?`D2Ke_mIYC!Il22saU1%x%4hVu(HqVGIL;2mXW<Z3>7F?nqap-U&$m-#J`<>31*SOZFr=;x#rDA+-{a(Fe68-E4Y4gG0Wrxt%=|> zY6BfDwSYp)voeRr;Y<`fXDjgfNO%V;Y9FytthK*TqngZ$n8zl({TjWS#m7|nNADAP zqd#t^-ec`H3A8DAK6i{~q?A$Mq`3Q6Cv~DROl@Ph%g(dHN1WZ7l;*d;47v4{#Tk-D zxDE@H-T9|Ws&+{HKGWn0fDrqQ+Q24MA3f!rG}q0`k7H#BT?!6id*Y&daMGi}rkqO* zHK`Kvn=OIhF4d^<(@u-_cR9_j=2JGWV!f8a7KlTS-fYC4;>4Ulo-=}yrrEcv zB)zKIAn3EYbEKTTth@~T(LIquTdXV*X9VJzp*~z{^)lc_l&ly2RJkAFQW-L|C4$nb zi7@hzc4CHr^3oh-dW05R`*dRF&UB;iW`!XpL&40A^<;(fpz+5T!W2enAYJ-U-6L&v z_jSIg6u5fY-w^AT5fwTdli4ffC_H&V`??xmSKew`!vyD(e|>f=q3$Uf!>5!!*<(P~ z`L?}&_$No^1h1-qy02690Bf~0sTQl$pPUg{-!9ktjmR(xu}O6coGuT;CL0sL^ux1$ zkTBL0-JzP^6lOGz4VU_RRqy?Z{<>=(hD3LrOX!qF`bw$cW#ir1>_V|#xe}G&4&99* zu~rHS7gW14*pVwZKm8J?4jfH$a_8EOIjd7=K+a+=oDc=nffuxc0z z?YYR&aIgVe#FGrhX%pxDhN2;3fQ1G3c01apNJp_ks|Np(az3DYcqeN*cKdI>4Y^d$ zOz~EE5LQ{05t>qs;uSHo44vHcmQHzlUoeI2d5m_qAXiZ82XO`XYCBe%MxYMWm*6&J zqpj<^QRh?{37(}$D)1R&OKk7rKzpbV>H1Q`en%%pWGW}(!GrcXVtQU_BvP`@j3a{4 z{`*~gekG^1TTOirp8dpsQi(n}U*gQ*k)(_v4CHkqrvE(f2cq z3suiq!mGOSCa_!TD0)8-Jysdvu2AoJX!z!)TVK^SRTj@_SGXs0;?1a740`A;eR*se zLxq9=JlO{4}eaW`4$`x0&+cY5lSmEC&Cod%=Dc~;|Dd2(WN@;g4 z29vOcKyXFaCo|T~`_rZRE2>*zmSLP*-G+}%OHStpzT0{P?KX5HTLF{n#z$G?N*D=2Raz)5K3A=8M`k6`(2RlFpDr^37M`5Or{+J3L*zu4l98R#8VWrB5DvQ9q zy}RWxK1#@Ak6anmF9_Gr)*-p+M2^cv{^rZ+b`kVH
%cGs5&@Jkk{pxh_@>~GYi>r`~P6X5TJ?M|8W-cMEL{CAM6lf^}V8Nj}z0`*linXqpVnVA}L@>p(2M9)m8jFF4epjq$L~ti~AZE(R?-G1BtV= z&rRNixt2NgM@0xt6@x8oy<0XxRERUIzam}HRd-A`de}VBHX~bB)z0%$gbGN1uGt1a z46H1)#N2^xU!5MI$2ue(y1^W(vt+m4q>`&za6I8x!hN`e`;Kkq`*=0S*iy0X3)B-x&yD7j_R7oM&am5KL@)Fqua>11)}zm1n7 z)+&p$Om{xWZHb5yVd#TEDTw+szANbLH+}KN+XbA{qv&*KtGn5z7LIDzuPRhM+@C_J z)=ivN6uhmBZZ^8F`EXW^ZB}x?{|_g&hi&bY@=JG898~(2 z6#Pt0B*N&ehiAX`%rr*Fd{`)C61|4$nGsaoQ^qF^dE zx(9hA_;D&)6?M>Gyn@E!<$<5qju7@b7P(mzYVmq7Du=xj3?8zfX4Zmyp zaigUVGM2>OwsIp*dB72UnleHf_-ZKF%uo`_nU`UD13gjMes_i_saJl(?GPMAII*Se zjbek}M5Gx#%*&lKhs_5x-Y)UAsH5L%x`&84OWVT`>N)ZaT>h9dKO-nvsVIxP)0_au zHo1jZEye%gQ|Hjs7+@uvQz&m@=XvWh?j6I5mA>v^bw#qpxB3mzJ%?CuTo2$+%Njv+ zm#4bHRmt63rbI|;kKLEPwfDW7m1+w1cc2iI5z z-Klz#)fx$yp*I!W)4Y|FmkieHd|Q?LL6I{AAsK7$WVLRpK5J9i(gPZL_9Zr_I^wIC zV{>SEKByfKC4y*STnlB^#`$->`1Y;IWrdoHt@}}XdDf_3V=N5UPHLh)CNo%TMWLAx z{R7k})zh)UyX%QM;%6IYm?M?@@t`J@+A-9z|E8WFmd1Jl5EGzV-@`@@d&3E%-P8VC~oSrS&=-I0>&J-Xcba zsMjJanruH1V>^EK+!B}?p>oJFvti`mz;M*eb1*jfcOt<)-w2>V#$vEOr=0P+cg;|z zKrg`t3{eQ?qPVM*^h_2|x}bA4I^2`pBR9SUakp zL4ChZG}(@4Ch!QR`Xnu^+2L5s!@*EwW>?s)ZeL){|72UjK&IkorsC@!dbmtMLwZK6|u^h zb!m|avrQe*&j7k8ZD)yHGsP)L$6c-oJm*3+^@ATB21G%m=8MqcKmjjYRvxCzU^%~y zI%z)*CfT1Y4BJf#E-;r>Ah#&#jFv;nH)Yqce$mAa(Lll8DHriYPX_YxTqrL-So1@S zg03rVH`6jl`B`U1s1jrP&XdhdJEiqX>xxzeRx;FVd+#V?bl>En@Qq=Rqxs_RQlnDi z=G6r6PxFq%I!129XBvGn>6vcLPX*pI345gsJ+u@Rn}(8+ zrBdH>ggW0`lbn6VGg- zmb6yY==Dp3o;>F{E^5!z>GocRyK@1`qFT*bDr)i}y_H07ZS6V;Cl!;AUHWh<3GA%q$DKM${ zBsKFgH^&$F4IEnJ{Frc2M&`O#ZmPSpCR$Z%pG>HS&Mc<+gkvS+ZLH%!L%8&A1|u92 zYkNq&(~^v}R9$Dw2c5p9X2kK%t6+RZ!!?caqQeToQ`-fd84ZO*5#1($usB)SuAvL3 z*&W@X^6^<}|BBvDjXQN3_$iW_RvyFhT|CR(=H|?2W%letdPh0m4=#>(J)+3Xxi!k^ z$|Fk8?UcetxTb$^wzEhZGjA#y?;ic!zdvYFpI(ghB%F(QERz*jt4*=t#y3wl0@4Eg z^6*RT2;5yJeO{mSjD9<#JWvKGTMJewFw5Q=GPf?*doV>32_oL z>ivKFq=1wEccUiP;<{gRtcq5dtisTG_B>Z`6K;UnIH5HjG*?OUhrisn;#cp89;U*8 z54LYOLLD6OUqorO#3G}WfOao-l#Jeq0b^qu9}#Vn<0E^MH4&m=Ut~hezJwMa@$6kl zh+=1c4Mv-1t&8>;jXEAPMKv#eHDy%cRV;lhY+!7+=qy+C>u>mh$iYIn0v{#*7Wd>D zgEw^_R>oVjwMM~0OyKGm1ms@=27oOhYri2r^t;?72#YHw~jj;xgn zFi7%^kWCy?+~6mAL90Q3o!V+;s^}Q5&{6_BrdPROgT;@d+vR~zE-VdW;bky{B;5Y( z4!ydZFS6fu*QaUR*8yP6n;5g>l4e%&>NoPo7I{H7WYfr9CHOY%BYaovn&yJ?1RLm0 zz#QC{JmPJ^LX?dB7~$7tv@giQJ;{RmT~U`kdsxhpMn>Erkwc=LLR=qXgQ9{2)5p#M znL3Y!*|9gXfJ?u~gfS3+^v?ZJK?djiwX&*r$a>c3 zwYEpDbHT5xvB@yeI>>0y-*hjusmDC`T*_Ki$c!Ijj)h6dfTe4OQQ}->mgImrzg1$I zmS4_}^W~enIENdMwYt|BUs}JU498C(xH+#g_e)=5gwxg7&;~(u!)uVVWXtY$BOvw1 zXkX)2rSs|8vh?S2q^T2b^`R$dLeyw*lqZj)XyCwd3d9Ca*+hSp--fK~9>}rK-pUxP zXG(*N)x*Irvagqi#4(m!#lK@H2WYjOUQPAFF5WnXz8*sMKQ_5#cZX8VaPU;m!j=1l z!if`DZ>EYaAbSGY67=t8@vUTvty}D7nw8P5rT-Rw+}XiXTtTQj<-2Ol&%lJ9H+B{nP=@c>i92RCFtuBh&Ygp3FjoeB$Y5$_ z)X9~v;6gR&_zpH#6qme!xZy))1Jx-R)992CUxGDyd#0)UkQ4%^00v~|Nf_1meU;&k{4=RBRgDpTXNtm!>3;E-UMiDoUe`jNIWM}kyT;1vuBUIL#mpjnW}vEWFcH8nwoXR_uJ3kn!LQZY{Ncs zlo0lCdBU%BU=l{t$VY!46;5B{ZJxN%r!G?1+qA={YOQE5zp}=L;f|R?7FlIsk*7y% zycH7v)|OWQf2&fjZJ8>stC~(n!MMl;Q;d#v5c0z+ zIv3SUH{w>5Wwy%q*1Yuav(H+L4qHTRu<29cKV$jpBo6Ktmz;>dg(QgiiHb;8g&t*p zMj(z97{b{ce5yeE9K~cwIxbmSS-v<;L>)TF{u-0;?pOAiH8v#KzKT&ztv3a>ZVceF zuDK?2%IJ1e>!Eqj2QGMKGtqqU8Hw)Lu||X2SNBt1COsUC>Vf{P@$?a2W4>dOzn}$y zh=7yfK~)uX7+)UyPKz<%Op-c;54%v)^K2f=o`W4MK1*q0G2i5Pteol_{}M4Am)c~j zJ>(N~F5t3GlrjH!a=~ugX%xPp(D8*j5wcuO4@P4cJ`%xRWV|~yd%tl6@@J<3>1>w; z1Y%=KYosqx0Z$GfG>Uiczk}Y&yKz$R`59+R39gXdwT{GTFi?y-;_|T?%GGcJpHhO> z#SsZaoGPJEH9fUK=7%(7XmSU8cQ@QkQZOr%^&rL+DU5pGh7>J%^ZFtw(+ZmcGLzld zaegIJXhm=O>YOhLdX=TwY!w}G45E*ZN0KE`0q0=V3m-jGlUu`R(_2CBjN&I}q*p0$KHhv=YxF~X?j8R$i(u+x&Mi5xh_hz z2j9D0g9CBJbZ44PUDBYLqy>W{erg@fIknhNh-2LK^7@vTQf5(Bad&v*QD@Dp{pSBt zMWa{5B?T&o(HQ$>nc)fPp|;akk#fg?BW=)Na&35pbyV*;#C&jy(L&a`v?dF;*Ca`P zC{39G;l%FG)Fn^+lD*T~Wu1^<@+{@6;;2-()G0R%c7H`3BVN=fK8z=~$pHjbz>6#3 zl*bMJF~>Wh8DjU5oKoO~2QglO3p!^Y>0m@I>nVux=!#P{IB22}W4FrJaDyL*k^R(f6aaa-5p-TbW+GA3`3`ES;3 zt7fM!MHPuLhT!51)^Rl`r2CJw<0-;DH6D1n=@xmgJw{;4(P>T&2!`br{7d_TeqZ$EH+S1J>2`k?qHy)l8qtJS1-VldV0C*h zH;dkJh&5joe?Q)Px1tZwJB@c7*%UO^UW?qZ_n~q@me>Vwcvm;pUdIE`couu}H+9@`F%`d>~jI$xgnV`%CtL-PoB0rCGn7yfCYD0|NHlazCmM%9WUIMd@V6y6daDo;3CG;J@WWgWno2sfYRt(>apwzJ!M&prKu;mdC=LV%3 zE$$OSZA8%xH$2~M&*iMcz9oT%t*4Rv6!8>Hl7LGns7~^eN6?9*n?6>2iBGdDPl?yy zJlb9HUQSg@%{=t}agS*k zID!455N%i2NlZckQh`Cf3(P2~@a;G=zt2+MWS#Do_$+4INY!1z^txElEJX0U2%GU; z!DnY*RlBEL(FH>3qnZPy*BQRm%luK{l*{XkneD_!|ejC9{wr z>)kQv-K^DV-XO`|r60MiFrfENr?do#2Z+{Q%Qxjoy%5@RE>ks)%+i?x8D$0$B?C!# zq?YQfRHMP@5sMxxz*flI& z=_`=VVp|UV41HZ%Gh7;@B&mL-XkRrdiJW zLGLL256zfN0CJLh!!F*~$-%Im7Dy9=-6i%ez)q&0byz`gqe|90Vqv{OYGFHfwqu8q zUnVTLzWRt?i! zokq5$ycU4Gm+I2(2#e7x%9IKNwySSn5W)wQDUHjuVb;2#j0iDBX!%ju*ffRFl|^Fx z#>y;9Q!6#FxTrRU7J0+o?JHougo2{Q_6@M9yKt>C-3qrPw}rC0yNWN7#ZVXxUT*e= znxt&JWb4L-?VXs(v=tU5vq?NnuAs{KiZpq=c_8Uq+vz+&upj`L>_$^JFHn(&3OhsQOiU=$~U=p4TIRnJofBwlH}vEEE6_Hq8AEG|tWQ;9HF`4`eTY^mvDSZSc8awWbC5dfbVeLh<{cw$~Mlw8DxQNBe8?E=Oyz1i_e zt=mMw$N~%@S#HJ0-d)d9`XF3c+qIy*PZNNRFTELNwAB?1y>RA_ZEe#9hf~`n`(B)v z`Tbcvgm!lH*niopI6NICcogRr5hQz zb7E0oH~`2pc$1yUa(9Z9iMj4Ighp&;gbI~~hg8NW$*wnW5k>~H785g?^VrHQuuCeHHM+xtSVF<>FY!*cJJS+|ZyI^L1UxSGrCW!r)lzLrwGQ#q zQUmHiNF?-^;WCj=CF0PjZWy#`M{8g>zy}%keOqua znfYz0e?l{pqbhkN$A1`-DR?ewkrr9ppoJsylxiI*&jk%5Zn;-WW}Tjq&Zg*Lq@1P?L<+Yfz!+ElPXyE zsz%mDr1@{pkpv1`BrHM!UujQry~xWJ87J4}^{u)8J6jj!jW);8Os);0|zWo1lO>s|2mQ6-jaQ9uk; zp+9%tIj1Es1c)?{h`Iqy!xnB`U+Ch&M*xz8#sd*Zd>p-@0u!p->ztpfCUcE&s!SGl zCf(=}xcO~aE*fZIcb{!Oq|d)mMN=K4S)~iQ3$CM}JJgA55vxjoL!^47EeYDBM#oTn ziI~fK{*iy`Ii9vYp1{f;Ll{VBiEYluB&h zxV2*tDFhTLt7U5v*VX<>N~mA36i`4co+ye5>%~(Ee=hi41p@}?^V6MPCuktG++NO^ zlB8IXO9-q7yh$#HvG7TCnf>xN>pe^X?4ltbFERv%15rD%pio)%##EK+AL~G`{)k&!m+Ta zgf-4e=%FIqkSv%z^GTIY+G_UUplRC6Q7)ot?;^Mni*=GQsbvJ*4WlF@ZAL6hKhq-D z*=SYCcFUY~)pPpd0DZ9N&wp z$CMA8Ar-d^1k=6^Fg3?gCNh_?sHT3jV{%NAd}e9ZLzX5KX%0)r$#Rc$YRS7m*0j2F zc|JS7hdK7wOmJHnn9l2SV7d_lsq4_2sX+|Gla3KbniRHt3O7^QHmNM_knyBz6wmoH zZ7x` zywL4bmXP%GKRljaFmmD6NKUakHAVf;J+E-j9&yarpE|1Ne--?Bn)Q-wdS-omr?T*n zijx||&eLuPT6OVYZOpKy09?y2blj3@6Q9hyS3)Xw+s=VWJvUEEVsb9HQ-Vpwg{KFE zuZPBHhk&s)Dv8I?7VAPRK;q^d={3rvsFkv1&)18s{ zMZfa}_#hezH0|6cJ%nx7drQv7M*cOFZr5{6t*5GfeOI;7i|OQvWoNO?))uo2lm{GJ zghB-OA{yist8cK7DaEnYnbN9MH|Gq$Mq6;D%GAt8qeuIU$sIXQ{HQ^M6f)WugGQ$k z8IW-3r~)s;FZ@u4mkdaLFKQw7~EZ}~;DU$ag>f06I_--`!eJS9Ab?IEOt~@x2@8Q#Hg!@R_*X)(Edg#7f1y_-IEllCBHxNk$mNWJv%rF^)t#5wkvlf z&ownY-#ut>?%AHE7cbDyS__7TpzO-ltS@7WB3}XEbcMF~slZN{M0Zz%J1XZtC{M&& z$4~DPTxjVfqUtJkj4SC-1OW9tgWkbLNdYM*uc}3z85OqFOrDa=kq;*36%y*yYk*77 z%lNOb7K)+cmiAaCRVs)n72F-*n&{F+4gtr9WEdu|@zI6ydfoVmmD~j%MGU&PSGv&sMsh4HQ(!0W=l$^F)9HPA8aO5Va$&Js@jtI zL!)6WeESMp^Iai-uY3Gfc2|*JzN2~XjYnUpTUvgvzjc*V5tdh|UshSs_IL7YbF<{V z&DXTrutmm%AT4X{Hd~p!wnjftIGZoJO{m*XZm?MBmVLbnF}~3)(Pd2!lXth7Nf#_r z)T-{i5*{~k_{YG=5_#}J&2y*xP=x6OMg|-N6JvlQ$QWde0_ot(!6m01b{4hVGHwbw zdi_cN(9MCb+-kw~jROEbVI-G}E<3$vX*SzH6|2=KXSC3=O6n*9bb5F}Y9p2d5@DW% z`PwdcoY>S{?t`!ckqYJ5_lc~iOX6jQv;Tn=-v8g#(=_+9u1eo*iItpG_6@DgLtz8c z+?fx*$OLKuE))#80J^Exokbn1QU0?lanVDhmy%ykWD26g$L#OqeC74eMJ~(PbldEq zoZZ9T@m0yvT0Wb@E!%%*=eK8$T{G>$YW{A&|GEmR+G}^SotY16Lh9)cW1k+q&{;VS z6u~B<`R~`2HG|KhXd}Bg@V;iOY0~6??ars4{40gD%@Cj*iSF-Zg^5RY$l^Msb~Y5( z&awIH{sY?oGa-`jekWZgl2p1t&>-nR}IxDHR1i=g7IHB88m4x3qHr4)QbuwxF2~>*Gj4O zSa`QrE#~!B@i#Ww!aa?LXQ3jO4SE1>8ZL^TrcR@+tF5sFiw(r#D98(( zQSY=i1xE>;NmyiIn8-Lr0RrGV$VD9iR5yr<_1;GansO0cWdDZ+0q?~EY#DL9P-4mF zwg?jg5*CF4GU{Cdm0nL$`bQ{L`+gyiiY=DHQ$Uxs*sU6zi4tk+ z3Xj2a+>qI;Rzr|K)?c_tpY%M@*7X>;5*mRg`#E|N@mCW3=Yy=cRjHIxshq$fmA6K> zHoW_Tzk@ZwgkClZ4OB}jymCR&*pEKp*c`C^f;sR^uDZvkl60?q$+Gr)@$Rpyq#8ED zbbwS4Sy0WS^}h0f{1Q`QYW!8i`pwWhanF>dU|VsnmOy-(bC<3GfL03NFT>4Q<%L^i z&CSkfUg&g8O6i#Vz~8qpzUDLs!E%w@Z=3&KX6e*6%h>H#E42>&yEMikh$|g@&S8-N zlE|}&+aKM|6CqB`j~|S_WyU>zp15V%t#-^N!S^chF44&Ua)S5Ln^16f6~uH- z!-VSW)WDvzWO|XIJj=;gL^rAaH+Vgm71o!DB4z}~hAkuXw}MZhH+73DVqm9~;DRb$ zKkWS-$wp5rMf~_duTxt^gO{!7>otLS%-@89Oy$hNq==m9P_CQQ_TZu24zjo9)vhh~ zilZj}ydu6xLJ3&RGQP27*y0_&t2)aM{3Qry2)J~mk26NEL0B~nbqVrg*j|*?4FsyF zG6Cdb7f$+n-+)Fa6?9Rzc6^#vWM5WV)C=}>r^kW+G`qm&ED6>+m&0C03@LUzu#uC^ z6u+RYNTSbGE1#U|QAu&C%VyMcS!s)1#@ipie4RtRyd0i=-p)3!I>LZAia?bY$FxpozP%v`Lv!-p; zlgLHNqbBUHeCL_}-WEL@d{tDrwiDxO_~QC0BfzMS9i2#G27heu!2;Va0IdvK2je{Z zkd5NX1R;5HN2Lck*HC)YD~xi+F88VfLV=SQ%RZb5bg0!L4S9*XiDTcnpRZ*YuYd-1 z{^&iKYhx#2-~(jTUPm-gpaeUtnw4h+CZuBo5!p5xN1U{vHY($b!@EpVVwi~8a?oc!5eyq`$(hfiVVx7f&36=9V-fu1xURt;pzr$c?JQ)fhA~&S4P4hIPi^%$6(>e$R&dR9Ap_30 zibI7zBGgcJL3F&sE$vn43pt6WEn>b&_)Xwo#!N>1$U=Ee6=nQEm>ecYw3YB@dK}=} zrC>;0;ItbqU_L{|l#)KLc)qV=(tFGBmI!@J?!FrGEx$cqvKE^&IXD5S8$Y(feJ!C{2gJ)C+o40WJ>7 z_e2eAOew4XX$1S#`Xw{xU)N<-BdHA6c~`118Ns9Sb0 z(%?yZ92Ruw@~WziZ>z-XS}VwF42nn_oVhI;%_lT&*EhA09>p=m3L0OY`rJyA%?>fvM55g;YT^?^jn>4ObO;HgFEECN^{wk?k49 z{|~1aCN*CVtsz%BqhRnLxz~^fg#n@lh#k-#PF_mz3 z!5MlhNght|XWVGzeo^EBv0TDLSEF>hECJ>P%#h1GcH|KGMTjQ{geE%ie=&tP@NVPJ zRY7XVq#4POqNMuNK5Lr+= zpjJ!9qDB4mEN8WIg%KaY6K}NyR9cn@WGkqaAqxncz6N4Ec9R6oy*!X! z)t*&KpxUTyY_F6dYDJ_SE)?AC>)_vl1XU7l@69hhAD4=2Vt-tFy-#jVNbLQm6q&3dPXp8>i z*QSAB!cLAm@5{uxNUoOyT!I2wybTQXd#hg-zqWLMu|gZ4l=^xeN`Eso0N$nmVXK13 zK?j0D)f+G>!+w5RI@F_AGg#<%a-+3LN4pklbgEP|&<2?RxV1|@G`Q3oQ_Vk|IdB_g*Sst~yPE!nnX+_5kV!rNhl?54t zcu@H5!uHqiv3oWuS^;y1O2%PNYvo%*dlemz%bV7r`&fDMRiY$p>1sOgv~8 z-G39ZIws8>m#4N^fP={#08d0pE_U&C3{b$2Zrjo8hes11wwmty6SjF_lwi-XP0uDky}Ze zkw=`r7#SK=g!2Q#g_{q}MR&ye!C}WR6g<-i$U=dS>{q25i0t_AfrRn<7-Eu&vHSnq z$=@-+G!L`~8hP8wT^NENF5UIOaWxx<|RfdpCxM56D}*W^%yNN2m*1&b(@%}(3HQbEdb2aOUfBMw8M=Mqvgx-^E zm=DPr=8}wSzU>hFyr6W_W~cprbvyq{?z^r~*8@BSV=*vt_X8IS0MEb#-hQ&q@3Y(C zBf{yey@gF4_pSgf0hZIi!Uz%;pFfE-?0P2XdWLo5yok#mCo%vpdc4?|bCXTh z{W|XeJa)kgn1X-_6?9Bs^Ys{io62pDvhHz$4f{biKK$DMA`@70sMxMiuS@;MU1Q2n z4>}nl5?DIKdjt2rmoK>gC-U8_+|N?0mCvyOue7W8gI?n{ZTkU+CUN;`2Hf|=f!P*# zMfktXz&8K>S-{i`Jex%R(Y?y^r?r06F+eVLw)bw`uTa7MSEn4barh>%N}CTl)PxgU zCvXC1k-;|^pWn<0I=wFkxO3?|@HEyso{Hn3r~syxcy(z{mGHmekSjgFH=_t?fp16w z5&K(CfiKDeC31c6ed-_;z{+a{D4M~_{*NlBamYNBXRN-bdn?em#F+sIJYD@<);T3K F0RWlq!kGX7 literal 0 HcmV?d00001 diff --git a/courses/CS-3180-17-Grammars-ASTs/slides/slides.html b/courses/CS-3180-17-Grammars-ASTs/slides/slides.html new file mode 100644 index 0000000..46672bc --- /dev/null +++ b/courses/CS-3180-17-Grammars-ASTs/slides/slides.html @@ -0,0 +1,247 @@ +

+

Grammars and ASTs

+

CS-3180

+
+ +
+

Lisp

+
+ +
    +
  • Lisp is a very simple language (to parse)
  • +
  • Complexity arises out of it
  • +
  • We'll spend today talking about how languages are parsed
  • +
  • Deeper knowledge of Lisp opens the door to more complex features
  • +
+
+
+
+ + 🖥️ + +
+
+
+
+ +
+

Language Parsing

+
    +
  • When an executor ingest a source
  • +
  • Its fundamentally just a string parser
  • +
  • How do you usually parse strings?
  • +
  • Sub-strings?
  • +
  • Split?
  • +
  • Regex!!!!!!
  • +
+
+ +
+

Regex

+
+ +
    +
  • Talk about regex in terms of "matches
  • +
  • This string is "accepted"
  • +
  • This string is "not accepted"
  • +
+
+ +
# \s: any lowercase
+# \S: any lowercase
+# +: 1 or more time (* for 0) 
+[\s\S]+@wright.edu
+
reese.hatfield@wright.edu
+
# random-non-email-fail
+
smith.2@wright.edu
+
+
+
+ +
+

Regex

+
    +
  • You can parse a LOT of complex things with regex
  • +
  • Infamous SO post
  • +
  • But it has its limitations
  • +
  • It's ugly
  • +
  • It's hard to maintain
  • +
  • There are simple strings it CANNOT parse
  • +
+ +
+ +
+

Regex Failures

+
    +
  • Programming languages often have nested components
  • +
  • < and > -> SGML languages +
  • ( and ) -> Lisp Languages
  • +
  • { and } -> C-style languages
  • +
  • Mix these, but they must ALWAYS match
  • +
+
+ +
+

Regex Parsing

+
+
    +
  • Consider a simplest possible example:
  • +
  • Detect matching parentheses
  • +
  • How would you do this with regex?
  • +
  • Regex can't "remember" how many parentheses came before
  • +
  • Limitation of state machines
  • +
+
+
((()())) # accept
+
(((() # fail
+
+
+
+ +
+

Better than Regex

+
    +
  • Syntax is more expressive than regular languages
  • +
  • We need something more advanced than Regex
  • +
  • (Preferably more than a PDA)
  • +
  • Enter the (Context-Free) Grammar
  • +
+
+ +
+

Context Free Grammars (CFGs)

+
    +
  • A CFG is defined as a 4-tuple
  • +
  • V: Variables (non-terminal placeholders)
  • +
  • T: Terminals (concrete strings)
  • +
  • P: Productions (replacement mappings from Variables to Variables/Terminals)
  • +
  • S: Start (A beginning for strings to start deriving)
  • +
+
+ +
+

CFGs

+
    +
  • Easier to see an example of
  • +
  • V = { S }
  • +
  • T = EMPTY_STRING
  • +
  • P = { S -> (S)S | EMPTY_STRING }
  • +
  • S = S
  • +
  • Start with S, replace S with production rules
  • +
+
+ + +
+

CFG Derivations

+
    +
  • Using that grammar let's test some things
  • +
  • P = { S -> (S)S | EMPTY_STRING }
  • +
  • (((()())))
  • +
  • (((()()
  • +
  • Proving this is much trickier
  • +
  • Many formal definitions of this (we're skipping)
  • +
  • Let's look at one more slightly bigger example
  • +
+
+ +
+

CFG Continued

+
    +
  • What "language" does this accept?
  • +
  • V = { S, P }
  • +
  • T = {0, 1}
  • +
  • P = S -> 0P | EMPTY_STRING
  • +
  •    P -> S11
  • +
  • S = S
  • +
  • Any amount of 0s, followed by twice that many 1s
  • +
+
+ +
+

Lisp's Grammar

+
    +
  • Very simple
  • +
  • "Backus-Naur Form" is a grammar "notation" that makes this easy to see
  • +
  • Mix of Regex (*, +, etc) with formal CFG
  • +
+
1. s-expr  ::= atom | list
+2. list   ::= "(" s-expr* ")"
+
    +
  • Procedural languages have more complex grammars
  • +
  • When you go on to parse Lisp, this will be useful
  • +
+
+ + +
+

Parsing

+
    +
  • Once the rules are defined
  • +
  • Source is "lexed" into tokens/symbols (!)
  • +
  • Symbols are then parsed into a tree
  • +
  • Production rules in the grammar
  • +
  • Map directly to nodes in the tree
  • +
  • Terminals map to leaf nodes
  • +
+
+ +
+

Syntax Trees

+
    +
  • Concrete Syntax Trees represent the raw source
  • +
  • Usually converted to an Abstract Syntax Tree
  • +
  • (dropping non-essential information like {, }, ;, etc)
  • +
  • Optimizations usually occur at the AST level
  • +
+
+ +
+

AST example

+ +
    +
  • Euclidean Algorithm
  • +
  • Straight from Wikipedia
  • +
+
+
while b != 0:
+    if a > b:
+        a := a - b
+    else:
+        b := b - a
+return a
+        
+ +
+
+ +
+

Execution

+
    +
  • Once you have a syntax tree, you can start parsing the code
  • +
  • Walk the AST (pre-order or post-order)
  • +
  • Simple AST walking is slow, but it IS how CommonLisp handles this
  • +
  • Each Node is a cons cell
  • +
  • You could compile into a lower representation
  • +
  • Or attempt to optimize AST walking
  • +
+
+ + +
+

Summary

+
    +
  • This is a generalized process
  • +
  • Most languages tweaks a few ideas about how parsing/execution works
  • +
  • ALL* of them at least need:
  • +
  • Lexed into tokens/symbols
  • +
  • Built into an AST
  • +
  • Executed (at some level)
  • +
  • "Symbols step" will be important for next time
  • +
+
+ +
+

Questions

+
\ No newline at end of file diff --git a/courses/CS-3180-17-Grammars-ASTs/src/main.js b/courses/CS-3180-17-Grammars-ASTs/src/main.js new file mode 100644 index 0000000..b94828b --- /dev/null +++ b/courses/CS-3180-17-Grammars-ASTs/src/main.js @@ -0,0 +1,28 @@ +import Reveal from "reveal.js"; +import Notes from "reveal.js/plugin/notes/notes.esm.js"; +import Highlight from "reveal.js/plugin/highlight/highlight.esm.js"; + +import "reveal.js/dist/reveal.css"; +import "reveal.js/dist/theme/dracula.css"; +import "highlight.js/styles/base16/dracula.css"; +import "../css/custom.css"; + +import slidesHTML from "../slides/slides.html?raw"; // raw loader, vite should support this + +document.addEventListener("DOMContentLoaded", () => { + const slidesContainer = document.querySelector(".slides"); + slidesContainer.innerHTML = slidesHTML; // directly inject the HTML slides + + const deck = new Reveal({ + hash: true, + plugins: [Highlight, Notes], + }); + + deck.initialize({ + center: false, + slideNumber: true, + }); + + // DeckTape needs access to window.Reveal for export to work + window.Reveal = deck +}); diff --git a/courses/CS-3180-17-Grammars-ASTs/vite.config.js b/courses/CS-3180-17-Grammars-ASTs/vite.config.js new file mode 100644 index 0000000..5458914 --- /dev/null +++ b/courses/CS-3180-17-Grammars-ASTs/vite.config.js @@ -0,0 +1,11 @@ +import { defineConfig } from "vite"; + +export default defineConfig({ + base: "./", + build: { + rollupOptions: { + input: "index.html", + }, + assetsInlineLimit: 100_000, // inline images/fonts up to ~100kb, save server space, enforce this? + }, +}); From 9043a9f3f4721b47faed1f2234f8d7a5e61d925f Mon Sep 17 00:00:00 2001 From: ReeseHatfield Date: Tue, 13 Oct 2026 16:29:43 -0400 Subject: [PATCH 18/18] Add course: CS-3180-18-Macros-Homoiconicity --- .../.gitignore | 137 + .../css/custom.css | 115 + .../index.html | 15 + .../CS-3180-18-Macros-Homoiconicity/lisp.sh | 44 + courses/CS-3180-18-Macros-Homoiconicity/main | Bin 0 -> 15992 bytes .../CS-3180-18-Macros-Homoiconicity/main.c | 12 + .../CS-3180-18-Macros-Homoiconicity/main.lisp | 49 + .../oseda-config.json | 13 + .../package-lock.json | 4084 +++++++++++++++++ .../package.json | 22 + .../public/ExecutorProcess.png | Bin 0 -> 20212 bytes .../public/favicon.png | Bin 0 -> 76985 bytes .../public/ferris.png | Bin 0 -> 40445 bytes .../slides/slides.html | 364 ++ .../src/main.js | 28 + .../vite.config.js | 11 + 16 files changed, 4894 insertions(+) create mode 100644 courses/CS-3180-18-Macros-Homoiconicity/.gitignore create mode 100644 courses/CS-3180-18-Macros-Homoiconicity/css/custom.css create mode 100644 courses/CS-3180-18-Macros-Homoiconicity/index.html create mode 100755 courses/CS-3180-18-Macros-Homoiconicity/lisp.sh create mode 100755 courses/CS-3180-18-Macros-Homoiconicity/main create mode 100644 courses/CS-3180-18-Macros-Homoiconicity/main.c create mode 100644 courses/CS-3180-18-Macros-Homoiconicity/main.lisp create mode 100644 courses/CS-3180-18-Macros-Homoiconicity/oseda-config.json create mode 100644 courses/CS-3180-18-Macros-Homoiconicity/package-lock.json create mode 100644 courses/CS-3180-18-Macros-Homoiconicity/package.json create mode 100644 courses/CS-3180-18-Macros-Homoiconicity/public/ExecutorProcess.png create mode 100644 courses/CS-3180-18-Macros-Homoiconicity/public/favicon.png create mode 100644 courses/CS-3180-18-Macros-Homoiconicity/public/ferris.png create mode 100644 courses/CS-3180-18-Macros-Homoiconicity/slides/slides.html create mode 100644 courses/CS-3180-18-Macros-Homoiconicity/src/main.js create mode 100644 courses/CS-3180-18-Macros-Homoiconicity/vite.config.js diff --git a/courses/CS-3180-18-Macros-Homoiconicity/.gitignore b/courses/CS-3180-18-Macros-Homoiconicity/.gitignore new file mode 100644 index 0000000..1b22a45 --- /dev/null +++ b/courses/CS-3180-18-Macros-Homoiconicity/.gitignore @@ -0,0 +1,137 @@ +# Generated OSEDA gitignore +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* +.pnpm-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Snowpack dependency directory (https://snowpack.dev/) +web_modules/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional stylelint cache +.stylelintcache + +# Microbundle cache +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variable files +.env +.env.development.local +.env.test.local +.env.production.local +.env.local + +# parcel-bundler cache (https://parceljs.org/) +.cache +.parcel-cache + +# Next.js build output +.next +out + +# Nuxt.js build / generate output +.nuxt +dist + +# Gatsby files +.cache/ +# Comment in the public line in if your project uses Gatsby and not Next.js +# https://nextjs.org/blog/next-9-1#public-directory-support +# public + +# vuepress build output +.vuepress/dist + +# vuepress v2.x temp and cache directory +.temp +.cache + +# vitepress build output +**/.vitepress/dist + +# vitepress cache directory +**/.vitepress/cache + +# Docusaurus cache and generated files +.docusaurus + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# TernJS port file +.tern-port + +# Stores VSCode versions used for testing VSCode extensions +.vscode-test + +# yarn v2 +.yarn/cache +.yarn/unplugged +.yarn/build-state.yml +.yarn/install-state.gz +.pnp.* diff --git a/courses/CS-3180-18-Macros-Homoiconicity/css/custom.css b/courses/CS-3180-18-Macros-Homoiconicity/css/custom.css new file mode 100644 index 0000000..5136329 --- /dev/null +++ b/courses/CS-3180-18-Macros-Homoiconicity/css/custom.css @@ -0,0 +1,115 @@ + +/* sensible styles */ +.reveal section { + font-family: "Arial", sans-serif; +} + +.reveal h1 { + color: #f92672; + text-align: left; + margin: 0 0 0.5em 0; + line-height: 1.2; +} + +.reveal h2 { + text-align: left; +} + + +.left { + text-align: left; +} + + +.horizontal-container { + display: flex; + justify-content: space-between; + align-items: center; + gap: 2em; +} + +.vertical-container { + display: flex; + flex-direction: column; + justify-content: space-between; + align-items: flex-start; + gap: 20pt; +} + +.center-container { + display: flex; + justify-content: center; + align-items: center; +} + +.left { + text-align: left; +} + +/* general slide layout for all sections */ +.reveal .slides section { + display: flex !important; + flex-direction: column; + justify-content: flex-start; + align-items: stretch; + gap: 1em; + padding-top: 2em; + box-sizing: border-box; +} + +.horizontal-container .text { + flex: 1; +} + +.horizontal-container .image { + flex: 1; + max-width: 45%; + height: auto; + object-fit: contain; +} + +.reveal ul { + text-align: left; + margin: -1em 0 0 0; + padding-left: 1.2em; +} + +.reveal .slides section.center-slide { + display: flex !important; + flex-direction: column; + justify-content: center; + align-items: center; + min-height: 100vh; + text-align: center !important; + gap: 1em; +} + +.center-slide h1 { + margin: -1.7em 0 0 0; +} + +.reveal pre.full-code, +.reveal pre.full-code code { + max-height: none !important; + overflow: visible !important; + white-space: pre !important; +} + +.no-wrap { + white-space: nowrap; +} + +.move-up-1 { + margin: -1em 0 0 0 !important; +} + +.move-up-2 { + margin: -2em 0 0 0 !important; +} + +.move-up-3 { + margin: -3em 0 0 0 !important; +} +.move-up-4 { + margin: -4em 0 0 0 !important; +} \ No newline at end of file diff --git a/courses/CS-3180-18-Macros-Homoiconicity/index.html b/courses/CS-3180-18-Macros-Homoiconicity/index.html new file mode 100644 index 0000000..7dce898 --- /dev/null +++ b/courses/CS-3180-18-Macros-Homoiconicity/index.html @@ -0,0 +1,15 @@ + + + + + CS-3180-18-Macros-Homoiconicity + + + + +
+
+
+ + + diff --git a/courses/CS-3180-18-Macros-Homoiconicity/lisp.sh b/courses/CS-3180-18-Macros-Homoiconicity/lisp.sh new file mode 100755 index 0000000..51f1af1 --- /dev/null +++ b/courses/CS-3180-18-Macros-Homoiconicity/lisp.sh @@ -0,0 +1,44 @@ +#!/bin/bash + +# LISP execution script based on AUR package: +# https://github.com/xyproto/lisp + + +# Goal with this is to sort of eliminate the REPL feel for students +# irl lisp programs are almost never ran as a REPL + +clear + +LISP_INTERPRETER=sbcl + +if ! command -v $LISP_INTERPRETER >/dev/null 2>&1; then + echo "sbcl could not be found" + echo "Please ensure it is installed before running" + exit 1 +fi + + +if [ -z $1 ]; then + echo "Please provide a filename as the first argument" + exit 1 +fi + +if [ ! -f $1 ]; then + echo "Could not find the file named \"$1\"" + exit 1 +fi + +# force sbcl to run in interpretter mode +# this is 100% slower, but more in line with traditional lisp + +$LISP_INTERPRETER \ +--noinform \ + --noprint \ + --no-userinit \ + --no-sysinit \ + --disable-debugger \ + --quit \ + --eval '(setf sb-ext:*evaluator-mode* :interpret)' \ + --load "$1" \ + --end-toplevel-options + # this is not in the help menu, but is documented at https://linux.die.net/man/1/sbcl \ No newline at end of file diff --git a/courses/CS-3180-18-Macros-Homoiconicity/main b/courses/CS-3180-18-Macros-Homoiconicity/main new file mode 100755 index 0000000000000000000000000000000000000000..93b2336669cb16a0f6c64f97b9e736cb3d647678 GIT binary patch literal 15992 zcmeHOU2Ggz6~4R9&!(y4Z5kIRfp~(_DnatZb`s;XO0$l=$+*fNwo?^BnXJ8Id(nE= z-5s}f3&Ien;)W=N2dWkx+7}c=r6R;b3NMa=(iVZ_J`sV0OrffafTn6eE<_p5xpThp zc(SIb5=cmMCC_)y&v);cGk3;!cJBR3_UPecBB4;~)cuO3Oxo9E#BixYDg+tTsT%0m zthT8&B(Kss-=6V-tbVcTmSalvtY+SeVvpj-#Se%G8JV|I>EwW@0F|5v^H#G#q`#G}d#hY;U_zSZcsJ1>U%n&9PpNf3d+hS` zI}e_Ix$lJ^ey`N{wffQTpV?h340i0@UCg%>3#Ez4mdVbJmX5t3I{)$tK-J~~X zo%wm{ias50-!Dk*-Tg~CHZ*6b#_}lJ-k$e7kNItX>79A~3)ajV)|o$EKRJ+Xn{9i| zI)C6dUy0w-_ShGj#mW9{}JuK z?~4q(ZdxHsXkA{cvl3UW*KfL;sDXNEAmz;uH#GMw@j1Tf11)4$6MIfsXAb{hBIu zz_OG#epk1;PA%#<`MZ@N`c}do>Vpe+%qJC=8$+^=k7WP*SzT%sYUwp~O-cIHmsWMD z^>x(D`X#T3Z53I#PyQ`{zuzXO)hz4yyBU{+N@yA1?vfFieK}6HGoK5e5B#+vKExS_ zGZ1GW&On@jI0JD8;ta$Yh%*ppAd~^DFT{F6yg%@oMJ~7d5G-J<7ul6{iJL{ny2Y&` zy{Mh@oltiwtRFYTf!7Du@^2=6l1A}(B<}5^e?Fq;-x}B- z_XCN#@cQP2+M=2=zKrYlpw>4kjBnqn)R(Ek?cn}`en$Im3fB2Te~~J+;(uuc{mZ(Y zw7O(aB~og&^9uPS)LkliUFS5nL1BG7n)-wGZwl@k=s%!Jt@Ye@Q9=wjg>XRYH>*@8 zq@-#)>CkUntoVRVS|~Cv>m}t5xC3W(C@4fRp4M2sO7A zEZ@?wJRDA?Qf75(%*_oFx)mQsQ7e^Q#~dk5n1d4q+6z+1E0cCaIF)gwwWGP}s50|Y zC2GM(x8hqKbt=_DxwK5M$yRZSIVMPLyy$X^6ou(JlXT>9K(?~Zqv?#wl^@L$7ZL@k z$AdD1@Ww0Uai`)=iK^>RZwn7s-LyYe{H9T-2y$bEAquZdozlV7k@&q*nw3dIc8o@1 z;ry<-o_?XvNq~kdW`p5hXc!6x;5{>^P8F}slKIS_>dh+Um z_~8e9n5;aPf{gi8fWnW)FKSh!3bzgZX_;>UXT=fyN6-IJ;U5w|%nyOc6Z5$qDDY3m^GchIk4_=j~Dca}hq~E5IGn93aZS7~y9O-xK&H5Cw7lp#Cvc-VcqxS;Myg zd3=RSl>bvQhMynN{gat6nd(vguOfWRe}P7XA3guylAZ4{yjS3T4f_tG{Xqu4McjrE zAM@R7vhNgrS4-NLMCVZaUmcjXB9Nr)^yMT}VZL_<5-cBEaBl-pM zmgO)X?}H1%Hv*<#0S|avgpc`Vs@3;LoM;9-$Z6uU4)J5Y*ChO?KgSv_jncok2PW`C z+pV + +#define SQUARE(x) ((x) * (x)) + +int main() { + int num = 5; + int squaredNum = SQUARE(num); + + printf("Square of 5: %d\n", squaredNum); // 25 + + return 0; +} \ No newline at end of file diff --git a/courses/CS-3180-18-Macros-Homoiconicity/main.lisp b/courses/CS-3180-18-Macros-Homoiconicity/main.lisp new file mode 100644 index 0000000..035328d --- /dev/null +++ b/courses/CS-3180-18-Macros-Homoiconicity/main.lisp @@ -0,0 +1,49 @@ +(let ((value '(2 3))) + `(1 ,value 4)) ; (1 (2 3) 4) + +(let ((value '(2 3))) + `(1 ,@value 4)) ; (1 2 3 4) + + +(defmacro greet (name) + `(format t "Hello, ~a!~%" ',name)) + +; (greet "Reese") + +; (format t "Macro expanded to ~S~%" +; (macroexpand-1 '(greet "Reese"))) + +; (defmacro with-logging (&body body) +; `(progn +; (format t "Starting code block...~%") +; ,@body ; unpack body, so we don't execute as a list +; (format t "Finished code block!~%"))) + +; (with-logging +; (let ((name "Reese")) +; (format t "Hi ~S~%" name))) + + +; (defmacro my-when (test &body body) +; `(if ,test +; (progn +; ,@body))) + +; (let ((input (read))) +; (my-when (eq input 'TRUE) +; (format t "You entered true"))) + + +(defmacro while (test &body body) + `(if ,test + (progn + ,@body + ; while expends body as list args + ; so we still need an unpack + (while ,test ,@body)) + nil)) ; when test fails, evaluate to nil ;-; + +(let ((i 0)) + (while (< i 10) + (format t "i was: ~S~%" i) + (setf i (+ i 1)))) \ No newline at end of file diff --git a/courses/CS-3180-18-Macros-Homoiconicity/oseda-config.json b/courses/CS-3180-18-Macros-Homoiconicity/oseda-config.json new file mode 100644 index 0000000..25adfdb --- /dev/null +++ b/courses/CS-3180-18-Macros-Homoiconicity/oseda-config.json @@ -0,0 +1,13 @@ +{ + "title": "CS-3180-18-Macros-Homoiconicity", + "author": "ReeseHatfield", + "tags": [ + "ComputerScience", + "Engineering", + "WSU-CS-3180" + ], + "last_updated": "2026-10-12T17:31:29.340102865Z", + "color": "#0000FF", + "description": "An introduction to macros, their different types, and their implementations in C and CommonLisp", + "license": "Apache-2.0" +} \ No newline at end of file diff --git a/courses/CS-3180-18-Macros-Homoiconicity/package-lock.json b/courses/CS-3180-18-Macros-Homoiconicity/package-lock.json new file mode 100644 index 0000000..7ce1115 --- /dev/null +++ b/courses/CS-3180-18-Macros-Homoiconicity/package-lock.json @@ -0,0 +1,4084 @@ +{ + "name": "cs-3180-18-macros-homoiconicity", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "cs-3180-18-macros-homoiconicity", + "version": "1.0.0", + "dependencies": { + "decktape": "^3.15.0", + "highlight.js": "^11.12.0", + "patch-package": "^8.0.1", + "reveal.js": "^5.2.1", + "serve": "^14.2.6" + }, + "devDependencies": { + "http-server": "^14.1.1", + "vite": "^5.4.21" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", + "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.29.7", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@napi-rs/lzma-linux-x64-gnu": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@napi-rs/lzma-linux-x64-gnu/-/lzma-linux-x64-gnu-1.5.1.tgz", + "integrity": "sha512-oTXEIha4SsuXdTA4Iyskj0kpdx2yVXdhd75c2v3xGrHFfVMsbhTPZU/nMPL4sWKo4pBHm3aucLaqGlF696dTyQ==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^22.20 || ^24.12 || >=25" + } + }, + "node_modules/@pdf-lib/standard-fonts": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@pdf-lib/standard-fonts/-/standard-fonts-1.0.0.tgz", + "integrity": "sha512-hU30BK9IUN/su0Mn9VdlVKsWBS6GyhVfqjwl1FjZN4TxP6cCw0jP2w7V3Hf5uX7M0AZJ16vey9yE0ny7Sa59ZA==", + "license": "MIT", + "dependencies": { + "pako": "^1.0.6" + } + }, + "node_modules/@pdf-lib/upng": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@pdf-lib/upng/-/upng-1.0.1.tgz", + "integrity": "sha512-dQK2FUMQtowVP00mtIksrlZhdFXQZPC+taih1q4CvPZ5vqdxR/LKBaFg0oAfzd1GlHZXXSPdQfzQnt+ViGvEIQ==", + "license": "MIT", + "dependencies": { + "pako": "^1.0.10" + } + }, + "node_modules/@puppeteer/browsers": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.10.0.tgz", + "integrity": "sha512-HdHF4rny4JCvIcm7V1dpvpctIGqM3/Me255CB44vW7hDG1zYMmcBMjpNqZEDxdCfXGLkx5kP0+Jz5DUS+ukqtA==", + "license": "Apache-2.0", + "dependencies": { + "debug": "^4.4.0", + "extract-zip": "^2.0.1", + "progress": "^2.0.3", + "proxy-agent": "^6.5.0", + "semver": "^7.7.1", + "tar-fs": "^3.0.8", + "yargs": "^17.7.2" + }, + "bin": { + "browsers": "lib/cjs/main-cli.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.64.5.tgz", + "integrity": "sha512-MrfgRQSpD5hkkRg6XI16B6EDLb+6+xp8xje6bpdSwkYw+qxrBKbUVrRAQu9h82UT+QumSIVQ8HXsXjPd2dlhqw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.64.5.tgz", + "integrity": "sha512-+uu2p/R9Tzn8GpoQyX1pAo5dmKT1DhXevfaCzqzmPFhnLjHLWw7uWkaVGlxmhwYoRiYYhsGfRcD5cTBpL7rgSw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.64.5.tgz", + "integrity": "sha512-17dys+YEmzwzzFVHQAVDONg5FALXY9kd99HFEpfk4gJVHYxoh5bGea3D4t1fXXnwkTcOe25wPyd6nWS0I8IdLQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.64.5.tgz", + "integrity": "sha512-wg0zQEKkEvFZf1UaaX1UELOoPs//OSKUG7D+yITuqOsAvza7LvHTv5Wu4nmMfzNG7EYI2jp2PJC7Id6OETmsYQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.64.5.tgz", + "integrity": "sha512-CoJmWcpEMuwin+TZ/ev/H9uDyF/uxUKQSWXdmIPn/UBx/uGV9+4ebMp0FwnlhWR9PE1AdzYsKf3bZevhif38+A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.64.5.tgz", + "integrity": "sha512-PxZnLAaTUAL5xG0W2BXLeYPKrK2b3LIASV2/e/Kf7PZvSLI1iAQIm9B9aJD+YyFIT7hc6qaMV3+OOO35R28LfA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.64.5.tgz", + "integrity": "sha512-uPo3IvnONjhbFXwWgroBeFwOicuhT7ZwQrnzkzmOtBJzeQbkUJUE1SJDfDI31ijQ5+ZUIA6sPrdUMxTSnxUWAg==", + "cpu": [ + "arm" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.64.5.tgz", + "integrity": "sha512-ywI8Jyuc4LyHYTjC0mw4yA1ulvZBkHusdpWnoiEBsmBuHvSnt90btTBGCZ+s/2y+YNNfVAEKy33nPo5UI9zTmg==", + "cpu": [ + "arm" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.64.5.tgz", + "integrity": "sha512-tmuXJoQ/3ovSr637aykZMdQteU/CB2APAz2CrvsbibuoHZi1BS1Db13cVViBdEARGwXCLn1DSJ8wsjoThLJPGA==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.64.5.tgz", + "integrity": "sha512-5FMjSYNcUOHx7oW8Qu9KB6jGPpvF/8sG7+BDHwU/Ihh1/6FMJ9ySmsFG4tJ1qbNRuP8OLzCBDso4sF0mQaLuFQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.64.5.tgz", + "integrity": "sha512-K8ZJ+neLDbUkIrL8dqF/5LtuVCrKwo27kREgOlxjBEjlOXwHvDnHLU8Z/UKv/B49qi7e8hsSDOyoJwhwqhvX4w==", + "cpu": [ + "loong64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.64.5.tgz", + "integrity": "sha512-NlVxsq7PFPv0DBKGuNWRDKixQYQCjM53zl04mxEcKMBmJbCBIUm1JdPfIWDRHyOOFzzYPmLQzfeEwh4716ayQg==", + "cpu": [ + "loong64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.64.5.tgz", + "integrity": "sha512-ARhRHJYs5eCFet5azfrHD97vOkD8OzNW2RSMlvo5CcBqXaTOLfp0OHDtUQh7/K5AL5fUYoFp2fgC9KDg4vVYMQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.64.5.tgz", + "integrity": "sha512-atSgreM5C7jpxd9aEXN+6vJ5wTd05iYw+S3FiQpw7VsoEl8B90llbq35ARON+GOHj5QlVQEq2vOKWCHTob/BSQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.64.5.tgz", + "integrity": "sha512-vmlmwBFGnjVWxSRoVabNkyYuscSmg52Pd0fM8jEbNT3Jmka4A6HcB84x4uAmuumznWfBVaxKOqU6jbEgomWKCA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.64.5.tgz", + "integrity": "sha512-hhJrP6S9WkbsbcHgUkvCBS5Cn8IdsG8XjlLZyxjnv9+NdoYfbbZE4TWJYr8apdaj1M5t5Y1id2StnEslxpNFyA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.64.5.tgz", + "integrity": "sha512-NNVCyN9pGrwFmQa4bf+Cnf5aVH3g6ZpnlOg1Cs/H9swIHT9bRixijfzUqyEIWm1WtiAuR1LJ+rJH6zpBm8kgQA==", + "cpu": [ + "s390x" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.64.5.tgz", + "integrity": "sha512-dR9nd6OKnvSS60Ifz/L7Mj5zzYyoqyRn2NwTuaOONKaa3xsVGXyp8YusMbvFyEOR94DxnwgcbgsFqkHd29ZSzQ==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.64.5.tgz", + "integrity": "sha512-1tzsMjaqhsh3bAO6SJiJqh8hIr9sSPRd+i2vPPxJHod8/XYnf9TEnK0z/u3r1z1AkI347X0KbRSg9dWcxeGahw==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.64.5.tgz", + "integrity": "sha512-01mWMQblKoXXsmk28KXtpbA96w7g/aOWUoV3AC16fdHdqkykGalqyyM+5u8M7uP5/MEMiiPv69Hv7iv/hEH/dA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.64.5.tgz", + "integrity": "sha512-trdnMPb/DNm4V/CgsaoGgr90HfQQ071wfK0KoIs4YpLvjBgVQGXhGabg2Z6nK4EcYNilrb9ZZPcsP6+zpJIdxQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.64.5.tgz", + "integrity": "sha512-x2LxZlfdfsw99T6/qb9EqE/Qi84JWzibjyOJyhJsgFJy6CafaTiqIXCCnslCGrV5XWNh7fwrS3FbRENcuKnooA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.64.5.tgz", + "integrity": "sha512-/Qd/9aDQIo0+jmItgBmPIs8195YVbDxRRApn47GyufgbutCDOh7eP5vSKKlI4QNFeaI+wKQAkSMsPnF3EuMpaA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.64.5.tgz", + "integrity": "sha512-ngUJ/XvOWrqbd2IMsfXfh2xXFLTP3sY7sCKvxbGvYdBZ1KmXFd3ewDZ9n3/GNzAUgzRuhLT/UvJRivbNoAQRBw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.64.5.tgz", + "integrity": "sha512-IhV6ew/DuzUWwHaYmlh7MrPCV3lKFUq/amTEwysi4r/mwNPAEfAMh5dYWeTSPTeMy2pFHGMEWYtPkHzfX3tG5A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@tootallnate/quickjs-emscripten": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz", + "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==", + "license": "MIT" + }, + "node_modules/@types/estree": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "26.6.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-26.6.5.tgz", + "integrity": "sha512-uMzsv9stDdofIZBx4UGh4Z9ZgXnGC9seRDscilBcTHAeOFk67MZg/k9bWVfO+bk4qZmG+l52hRnLwUiH2LnJTg==", + "license": "MIT", + "optional": true, + "dependencies": { + "undici-types": "~8.9.0" + } + }, + "node_modules/@types/yauzl": { + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", + "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", + "license": "MIT", + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@xmldom/xmldom": { + "version": "0.8.15", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.15.tgz", + "integrity": "sha512-/5NV/vDALVFDXgLmfsy9TRCBlKwO2LNBFzpzvb9iIj+jR+eSc6DLYYvVOdivT/jm7MtU6TebYuRmzEOI7w40UA==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "license": "BSD-2-Clause" + }, + "node_modules/@zeit/schemas": { + "version": "2.36.0", + "resolved": "https://registry.npmjs.org/@zeit/schemas/-/schemas-2.36.0.tgz", + "integrity": "sha512-7kjMwcChYEzMKjeex9ZFXkt1AyNov9R5HZtjBKVsmVpw7pa7ZtlCGvCBC2vnnXctaYN+aRI61HjIqeetZW5ROg==", + "license": "MIT" + }, + "node_modules/agent-base": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/ajv": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "license": "ISC", + "dependencies": { + "string-width": "^4.1.0" + } + }, + "node_modules/ansi-align/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-align/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/ansi-align/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-align/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-regex": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.4.0.tgz", + "integrity": "sha512-KzTVk2tCWAHtYrvvvaP8bJKJq2pVinhLcGEQdtLIYPbmNGNyYe8QwNaTUYQp2J7/vIsUKt5QCqAfUkYyG9DkOw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "license": "MIT" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" + }, + "node_modules/ast-types": { + "version": "0.13.4", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", + "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ast-types/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "dev": true, + "license": "MIT" + }, + "node_modules/b4a": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.9.0.tgz", + "integrity": "sha512-dpfcF9fDNR6++cthXR67iyhgqWy9CBouAvIWhIntzBG6cvK/cnIPiZQjBwi/ZqjjBEDGfoNDtmB0kTjroOJ3pQ==", + "license": "Apache-2.0", + "peerDependencies": { + "react-native-b4a": "*" + }, + "peerDependenciesMeta": { + "react-native-b4a": { + "optional": true + } + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" + }, + "node_modules/bare-events": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.9.2.tgz", + "integrity": "sha512-AIPKioV7/Y/8KfZ3AAhjPJxLLbY49S64Ym5DakZlUg75qQiTgUq9hEJoEwa4eUezPUlXRy/i5NpsKvo9jgKmoA==", + "license": "Apache-2.0", + "peerDependencies": { + "bare-abort-controller": "*" + }, + "peerDependenciesMeta": { + "bare-abort-controller": { + "optional": true + } + } + }, + "node_modules/bare-fs": { + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.8.4.tgz", + "integrity": "sha512-MPC2eyrpbk3A873sK4y6rk+Iv4o2enxTjHZ8zH3HO0mjrpm5XjnguY2XmfidIsDV6vnjpbMBKUAJpV0ISD2SsQ==", + "license": "Apache-2.0", + "dependencies": { + "bare-events": "^2.5.4", + "bare-path": "^3.0.0", + "bare-stream": "^2.6.4", + "bare-url": "^2.2.2", + "fast-fifo": "^1.3.2" + }, + "engines": { + "bare": ">=1.28.0" + }, + "peerDependencies": { + "bare-buffer": "*" + }, + "peerDependenciesMeta": { + "bare-buffer": { + "optional": true + } + } + }, + "node_modules/bare-path": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.1.2.tgz", + "integrity": "sha512-ZyKbsuuqK6Ag0K8pX6V5Txq6XeJRvY+wXucnFGRjiyVYP9YWDpIQugk/b+enRYrEYBJaqLzghRQpXPMR7341Nw==", + "license": "Apache-2.0" + }, + "node_modules/bare-stream": { + "version": "2.13.4", + "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.13.4.tgz", + "integrity": "sha512-PcrQ8lVLbiJscNm1Kez+Yp4Gy4AHGcN1lzwjvf5NybWen7VvEgUfyfnXYJ2zNqWnzOfCb1Abq6lH8ti0syQszA==", + "license": "Apache-2.0", + "dependencies": { + "b4a": "^1.8.1", + "streamx": "^2.25.0", + "teex": "^1.0.1" + }, + "peerDependencies": { + "bare-abort-controller": "*", + "bare-buffer": "*", + "bare-events": "*" + }, + "peerDependenciesMeta": { + "bare-abort-controller": { + "optional": true + }, + "bare-buffer": { + "optional": true + }, + "bare-events": { + "optional": true + } + } + }, + "node_modules/bare-url": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.5.5.tgz", + "integrity": "sha512-iM9qJCruvpt2rPaLsrumVDru9pogI7PHziHIa9kTNRFt8C8HuSa+kI9kFezK+NvHEFnnz71rKGZ1EAilq/3V/Q==", + "license": "Apache-2.0", + "dependencies": { + "bare-path": "^3.0.0" + } + }, + "node_modules/basic-auth": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "5.1.2" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/basic-ftp": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.3.1.tgz", + "integrity": "sha512-bopVNp6ugyA150DDuZfPFdt1KZ5a94ZDiwX4hMgZDzF+GttD80lEy8kj98kbyhLXnPvhtIo93mdnLIjpCAeeOw==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/boxen": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.0.0.tgz", + "integrity": "sha512-j//dBVuyacJbvW+tvZ9HuH03fZ46QcaKvvhZickZqtB271DxJ7SNRSNxrV/dZX0085m7hISRZWbzWlJvx/rHSg==", + "license": "MIT", + "dependencies": { + "ansi-align": "^3.0.1", + "camelcase": "^7.0.0", + "chalk": "^5.0.1", + "cli-boxes": "^3.0.0", + "string-width": "^5.1.2", + "type-fest": "^2.13.0", + "widest-line": "^4.0.1", + "wrap-ansi": "^8.0.1" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/node_modules/chalk": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.21", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.21.tgz", + "integrity": "sha512-9zeA+KLZNNzglF2TPKRQEDyx6Yby7daAkuy8MiPzpXPsYDWi/DRM8jmwUDxokQjYqBpv5DgPiwD4h4ZZSy1Ujw==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.9.tgz", + "integrity": "sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "get-intrinsic": "^1.3.0", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", + "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chalk-template": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", + "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", + "license": "MIT", + "dependencies": { + "chalk": "^4.1.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/chalk-template?sponsor=1" + } + }, + "node_modules/chromium-bidi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-3.0.0.tgz", + "integrity": "sha512-ZOGRDAhBMX1uxL2Cm2TDuhImbrsEz5A/tTcVU6RpXEWaTNUNwsHW6njUXizh51Ir6iqHbKAfhA2XK33uBcLo5A==", + "license": "Apache-2.0", + "dependencies": { + "mitt": "^3.0.1", + "zod": "^3.24.1" + }, + "peerDependencies": { + "devtools-protocol": "*" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-boxes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/clipboardy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-3.0.0.tgz", + "integrity": "sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==", + "license": "MIT", + "dependencies": { + "arch": "^2.2.0", + "execa": "^5.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "license": "MIT", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.1.tgz", + "integrity": "sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "compressible": "~2.0.18", + "debug": "2.6.9", + "negotiator": "~0.6.4", + "on-headers": "~1.1.0", + "safe-buffer": "5.2.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/compression/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "license": "MIT" + }, + "node_modules/content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/corser": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz", + "integrity": "sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/cosmiconfig": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.2.tgz", + "integrity": "sha512-gtTZxTDau1wL7Y7zifc2dd8jHSK/k6BTx/2Xp/BpdlAdnlYWFVt7qhJqgwi7637yRwRQ3qL4ZidbB4I8tA5VOg==", + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.1", + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/data-uri-to-buffer": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz", + "integrity": "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==", + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decktape": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/decktape/-/decktape-3.15.0.tgz", + "integrity": "sha512-txDuIJhrAgzSccPFnS5Pi1LtjyhBv/48+ejGiJenUGZDvnVB6Stzvk0+0IjiaeL8ufwARWjxXtoEfjs+n2xVQQ==", + "license": "MIT", + "dependencies": { + "chalk": "5.4.1", + "fonteditor-core": "2.4.1", + "pdf-lib": "1.17.1", + "puppeteer": "24.6.1", + "puppeteer-core": "24.6.1", + "urijs": "1.19.11" + }, + "bin": { + "decktape": "decktape.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/decktape/node_modules/chalk": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", + "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/degenerator": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz", + "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==", + "license": "MIT", + "dependencies": { + "ast-types": "^0.13.4", + "escodegen": "^2.1.0", + "esprima": "^4.0.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/devtools-protocol": { + "version": "0.0.1425554", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1425554.tgz", + "integrity": "sha512-uRfxR6Nlzdzt0ihVIkV+sLztKgs7rgquY/Mhcv1YNCWDh5IZgl5mnn2aeEnW5stYTE0wwiF4RYVz8eMEpV1SEw==", + "license": "BSD-3-Clause" + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "license": "MIT" + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "license": "MIT" + }, + "node_modules/end-of-stream": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/error-ex": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", + "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", + "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "license": "BSD-2-Clause", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true, + "license": "MIT" + }, + "node_modules/events-universal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/events-universal/-/events-universal-1.0.1.tgz", + "integrity": "sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==", + "license": "Apache-2.0", + "dependencies": { + "bare-events": "^2.7.0" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "license": "BSD-2-Clause", + "dependencies": { + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" + } + }, + "node_modules/extract-zip/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "license": "MIT", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT" + }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.8.tgz", + "integrity": "sha512-GZMtZUTNRpOVIECoXwLNZS5xUGE+mVNbTB8h/7Rwh2TFWcBQiPzTgyZi05BF9UMZKkLJv8XBRJTlU7zg8+ZfMg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "license": "MIT", + "dependencies": { + "pend": "~1.2.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-yarn-workspace-root": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz", + "integrity": "sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==", + "license": "Apache-2.0", + "dependencies": { + "micromatch": "^4.0.2" + } + }, + "node_modules/follow-redirects": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.1.tgz", + "integrity": "sha512-FNvFGzoMLWmE6Yj9spb/zjd7yiNCHiAW9/Tg9CXrQ8wuu32HtlJOwWO11OJafl5FfY3DxTdQ0vj42zU1kvv5jg==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/fonteditor-core": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/fonteditor-core/-/fonteditor-core-2.4.1.tgz", + "integrity": "sha512-nKDDt6kBQGq665tQO5tCRQUClJG/2MAF9YT1eKHl+I4NasdSb6DgXrv/gMjNxjo9NyaVEv9KU9VZxLHMstN1wg==", + "dependencies": { + "@xmldom/xmldom": "^0.8.3" + } + }, + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-uri": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.5.tgz", + "integrity": "sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg==", + "license": "MIT", + "dependencies": { + "basic-ftp": "^5.0.2", + "data-uri-to-buffer": "^6.0.2", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, + "node_modules/highlight.js": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.12.0.tgz", + "integrity": "sha512-nbfWpyRMcMrPMmDwJB+dhX/eiaPKtc2RB+0QZskqJ3WjRA/FDS0e9hZrx8EC/lbEv8gXy98FcDbNa/dspAaJMg==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-encoding": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/http-server": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/http-server/-/http-server-14.1.1.tgz", + "integrity": "sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "basic-auth": "^2.0.1", + "chalk": "^4.1.2", + "corser": "^2.0.1", + "he": "^1.2.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy": "^1.18.1", + "mime": "^1.6.0", + "minimist": "^1.2.6", + "opener": "^1.5.1", + "portfinder": "^1.0.28", + "secure-compare": "3.0.1", + "union": "~0.5.0", + "url-join": "^4.0.1" + }, + "bin": { + "http-server": "bin/http-server" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "license": "ISC" + }, + "node_modules/ip-address": { + "version": "10.7.4", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.7.4.tgz", + "integrity": "sha512-DWBMKyeM25D70nrIiTkgQth59/G+naKOTep6huF9j+GmeK3DMD60Zvxg5d5qQnz+38AHgou6ean2LECX+lrKDg==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "license": "MIT" + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-port-reachable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-port-reachable/-/is-port-reachable-4.0.0.tgz", + "integrity": "sha512-9UoipoxYmSk6Xy7QFgRv2HDyaysmgSG75TFQs6S+3pDM7ZhKTF/bskZV+0UlABHzKjNVhPjYCLfeZUEg1wXxig==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.2.tgz", + "integrity": "sha512-SFNOvSJ+Dgf/9An904Yx+CgSlIPCkIpao4qo51lpee25TIRejdH3rhR4EZMGoNx3/TP3O+wzWuiTFl4sqbltzA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, + "node_modules/json-stable-stringify": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.3.0.tgz", + "integrity": "sha512-qtYiSSFlwot9XHtF9bD9c7rwKjr+RecWT//ZnPvSmEjpV5mmPOCN4j8UjY5hbjNkOwZ/jQv3J6R1/pL7RwgMsg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "isarray": "^2.0.5", + "jsonify": "^0.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/jsonfile": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", + "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", + "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", + "license": "Public Domain", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/klaw-sync": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz", + "integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.11" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "license": "MIT" + }, + "node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "license": "MIT" + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "license": "MIT", + "dependencies": { + "mime-db": "~1.33.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types/node_modules/mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", + "license": "MIT" + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.20", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.20.tgz", + "integrity": "sha512-uKdg2G3GNCKQn9byYOpxbGqrT2fGO5KRt5J/8b3pok8rT6qxGWF6hxMyJiEYtAf+FVyYuD9hRaDqX5uPFYJ4ZQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/negotiator": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/netmask": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.1.1.tgz", + "integrity": "sha512-eonl3sLUha+S1GzTPxychyhnUzKyeQkZ7jLjKrBagJgPla13F+uQ71HgpFefyHgqrjEbCPkDArxYsjY8/+gLKA==", + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/on-headers": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz", + "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", + "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true, + "license": "(WTFPL OR MIT)", + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/pac-proxy-agent": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.2.0.tgz", + "integrity": "sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==", + "license": "MIT", + "dependencies": { + "@tootallnate/quickjs-emscripten": "^0.23.0", + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "get-uri": "^6.0.1", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.6", + "pac-resolver": "^7.0.1", + "socks-proxy-agent": "^8.0.5" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/pac-resolver": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz", + "integrity": "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==", + "license": "MIT", + "dependencies": { + "degenerator": "^5.0.0", + "netmask": "^2.0.2" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "license": "(MIT AND Zlib)" + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/patch-package": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/patch-package/-/patch-package-8.0.1.tgz", + "integrity": "sha512-VsKRIA8f5uqHQ7NGhwIna6Bx6D9s/1iXlA1hthBVBEbkq+t4kXD0HHt+rJhf/Z+Ci0F/HCB2hvn0qLdLG+Qxlw==", + "license": "MIT", + "dependencies": { + "@yarnpkg/lockfile": "^1.1.0", + "chalk": "^4.1.2", + "ci-info": "^3.7.0", + "cross-spawn": "^7.0.3", + "find-yarn-workspace-root": "^2.0.0", + "fs-extra": "^10.0.0", + "json-stable-stringify": "^1.0.2", + "klaw-sync": "^6.0.0", + "minimist": "^1.2.6", + "open": "^7.4.2", + "semver": "^7.5.3", + "slash": "^2.0.0", + "tmp": "^0.2.4", + "yaml": "^2.2.2" + }, + "bin": { + "patch-package": "index.js" + }, + "engines": { + "node": ">=14", + "npm": ">5" + } + }, + "node_modules/path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", + "license": "(WTFPL OR MIT)" + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-to-regexp": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.3.0.tgz", + "integrity": "sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==", + "license": "MIT" + }, + "node_modules/pdf-lib": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/pdf-lib/-/pdf-lib-1.17.1.tgz", + "integrity": "sha512-V/mpyJAoTsN4cnP31vc0wfNA1+p20evqqnap0KLoRUN0Yk/p3wN52DOEsL4oBFcLdb76hlpKPtzJIgo67j/XLw==", + "license": "MIT", + "dependencies": { + "@pdf-lib/standard-fonts": "^1.0.0", + "@pdf-lib/upng": "^1.0.1", + "pako": "^1.0.11", + "tslib": "^1.11.1" + } + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/portfinder": { + "version": "1.0.38", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.38.tgz", + "integrity": "sha512-rEwq/ZHlJIKw++XtLAO8PPuOQA/zaPJOZJ37BVuN97nLpMJeuDVLVGRwbFoBgLudgdTMP2hdRJP++H+8QOA3vg==", + "dev": true, + "license": "MIT", + "dependencies": { + "async": "^3.2.6", + "debug": "^4.3.6" + }, + "engines": { + "node": ">= 10.12" + } + }, + "node_modules/postcss": { + "version": "8.5.29", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.29.tgz", + "integrity": "sha512-49cGhUbXj8Qenv0iTMxA1cFBzxXoctpC9Ujd77t1WcbJIr6nF/eI7g/8MgxrYldFRuAXvja7xQRwavoW7kgrxQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.19", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/proxy-agent": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.5.0.tgz", + "integrity": "sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A==", + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "http-proxy-agent": "^7.0.1", + "https-proxy-agent": "^7.0.6", + "lru-cache": "^7.14.1", + "pac-proxy-agent": "^7.1.0", + "proxy-from-env": "^1.1.0", + "socks-proxy-agent": "^8.0.5" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" + }, + "node_modules/pump": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.4.tgz", + "integrity": "sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==", + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/puppeteer": { + "version": "24.6.1", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-24.6.1.tgz", + "integrity": "sha512-/4ocGfu8LNvDbWUqJZV2VmwEWpbOdJa69y2Jivd213tV0ekAtUh/bgT1hhW63SDN/CtrEucOPwoomZ+9M+eBEg==", + "deprecated": "< 24.15.0 is no longer supported", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "@puppeteer/browsers": "2.10.0", + "chromium-bidi": "3.0.0", + "cosmiconfig": "^9.0.0", + "devtools-protocol": "0.0.1425554", + "puppeteer-core": "24.6.1", + "typed-query-selector": "^2.12.0" + }, + "bin": { + "puppeteer": "lib/cjs/puppeteer/node/cli.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/puppeteer-core": { + "version": "24.6.1", + "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-24.6.1.tgz", + "integrity": "sha512-sMCxsY+OPWO2fecBrhIeCeJbWWXJ6UaN997sTid6whY0YT9XM0RnxEwLeUibluIS5/fRmuxe1efjb5RMBsky7g==", + "license": "Apache-2.0", + "dependencies": { + "@puppeteer/browsers": "2.10.0", + "chromium-bidi": "3.0.0", + "debug": "^4.4.0", + "devtools-protocol": "0.0.1425554", + "typed-query-selector": "^2.12.0", + "ws": "^8.18.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/qs": { + "version": "6.16.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.16.0.tgz", + "integrity": "sha512-h6fhOIaRrID2CbEY2fqs+7t+UXZo+MLAnU5gRIq85uFtdiUPCdsApMlHhXogKVM4HM2DVbIjGNTTYH2OcmP1vA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "es-define-property": "^1.0.1", + "side-channel": "^1.1.1" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/registry-auth-token": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", + "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", + "license": "MIT", + "dependencies": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/registry-url": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", + "integrity": "sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==", + "license": "MIT", + "dependencies": { + "rc": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/reveal.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/reveal.js/-/reveal.js-5.2.1.tgz", + "integrity": "sha512-r7//6mIM5p34hFiDMvYfXgyjXqGRta+/psd9YtytsgRlrpRzFv4RbH76TXd2qD+7ZPZEbpBDhdRhJaFgfQ7zNQ==", + "license": "MIT", + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/rollup": { + "version": "4.64.5", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.64.5.tgz", + "integrity": "sha512-EAP5ZHcz2ijbgCWwPkpI7zh6bfsri2Ez5FtCy2dCp1k62duXzfG7DLGGh7RU2QQXWwavT+u4qpvDF/TWOiiGTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.9" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@napi-rs/lzma-linux-x64-gnu": "1.5.1", + "@rollup/rollup-android-arm-eabi": "4.64.5", + "@rollup/rollup-android-arm64": "4.64.5", + "@rollup/rollup-darwin-arm64": "4.64.5", + "@rollup/rollup-darwin-x64": "4.64.5", + "@rollup/rollup-freebsd-arm64": "4.64.5", + "@rollup/rollup-freebsd-x64": "4.64.5", + "@rollup/rollup-linux-arm-gnueabihf": "4.64.5", + "@rollup/rollup-linux-arm-musleabihf": "4.64.5", + "@rollup/rollup-linux-arm64-gnu": "4.64.5", + "@rollup/rollup-linux-arm64-musl": "4.64.5", + "@rollup/rollup-linux-loong64-gnu": "4.64.5", + "@rollup/rollup-linux-loong64-musl": "4.64.5", + "@rollup/rollup-linux-ppc64-gnu": "4.64.5", + "@rollup/rollup-linux-ppc64-musl": "4.64.5", + "@rollup/rollup-linux-riscv64-gnu": "4.64.5", + "@rollup/rollup-linux-riscv64-musl": "4.64.5", + "@rollup/rollup-linux-s390x-gnu": "4.64.5", + "@rollup/rollup-linux-x64-gnu": "4.64.5", + "@rollup/rollup-linux-x64-musl": "4.64.5", + "@rollup/rollup-openbsd-x64": "4.64.5", + "@rollup/rollup-openharmony-arm64": "4.64.5", + "@rollup/rollup-win32-arm64-msvc": "4.64.5", + "@rollup/rollup-win32-ia32-msvc": "4.64.5", + "@rollup/rollup-win32-x64-gnu": "4.64.5", + "@rollup/rollup-win32-x64-msvc": "4.64.5", + "fsevents": "~2.3.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/secure-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz", + "integrity": "sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==", + "dev": true, + "license": "MIT" + }, + "node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/serve": { + "version": "14.2.6", + "resolved": "https://registry.npmjs.org/serve/-/serve-14.2.6.tgz", + "integrity": "sha512-QEjUSA+sD4Rotm1znR8s50YqA3kYpRGPmtd5GlFxbaL9n/FdUNbqMhxClqdditSk0LlZyA/dhud6XNRTOC9x2Q==", + "license": "MIT", + "dependencies": { + "@zeit/schemas": "2.36.0", + "ajv": "8.18.0", + "arg": "5.0.2", + "boxen": "7.0.0", + "chalk": "5.0.1", + "chalk-template": "0.4.0", + "clipboardy": "3.0.0", + "compression": "1.8.1", + "is-port-reachable": "4.0.0", + "serve-handler": "6.1.7", + "update-check": "1.5.4" + }, + "bin": { + "serve": "build/main.js" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/serve-handler": { + "version": "6.1.7", + "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.7.tgz", + "integrity": "sha512-CinAq1xWb0vR3twAv9evEU8cNWkXCb9kd5ePAHUKJBkOsUpR1wt/CvGdeca7vqumL1U5cSaeVQ6zZMxiJ3yWsg==", + "license": "MIT", + "dependencies": { + "bytes": "3.0.0", + "content-disposition": "0.5.2", + "mime-types": "2.1.18", + "minimatch": "3.1.5", + "path-is-inside": "1.0.2", + "path-to-regexp": "3.3.0", + "range-parser": "1.2.0" + } + }, + "node_modules/serve-handler/node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/serve/node_modules/chalk": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz", + "integrity": "sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.1.tgz", + "integrity": "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4", + "side-channel-list": "^1.0.1", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "license": "ISC" + }, + "node_modules/slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "license": "MIT", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks": { + "version": "2.8.10", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.10.tgz", + "integrity": "sha512-e0VyvkVTwVYViNovRkZ9aodhxVlyoMn7eJhVUPxZ+eK9P/7CBkxvvsBOHqFPEH416726W8tLXXXjKwqgTErrCQ==", + "license": "MIT", + "dependencies": { + "ip-address": "^10.1.1", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", + "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "socks": "^2.8.3" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.2.tgz", + "integrity": "sha512-KGj/8Y43x35aZVDtt+J4mK1hoLGHULMYfSkODJNQjNDC3oW1PqPoxMwo0pLUsWM/UEGzON/NxeHywEfNXNP3Vw==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/streamx": { + "version": "2.28.1", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.28.1.tgz", + "integrity": "sha512-zEzXb0s5Cds7tqMH6rhZ05lcJydCWiQPEwiNngVqzsxCc962vLY4Uw+mW7od8kDH258k2Uz/JrOkdIAAhSh9VA==", + "license": "MIT", + "dependencies": { + "events-universal": "^1.0.0", + "fast-fifo": "^1.3.2", + "text-decoder": "^1.1.0" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.2.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tar-fs": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.1.3.tgz", + "integrity": "sha512-/hU4AXnIdZu+Gvl1pk0oI5f5HxWsCJRtY2aFaJdk9VvyL48DWU6iU5WAIPG+wIi1YvWA6eTJvIviP/tMAZZNwQ==", + "license": "MIT", + "dependencies": { + "pump": "^3.0.0", + "tar-stream": "^3.1.5" + }, + "optionalDependencies": { + "bare-fs": "^4.0.1", + "bare-path": "^3.0.0" + } + }, + "node_modules/tar-stream": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.2.2.tgz", + "integrity": "sha512-+8NeqHRjQWH9nYlwo2gamAMImZCVzI4UoEgDpWorBt9OEfppiZn+uSkskzQKPWIZyji/C8fpWO7u69G0DX0tbg==", + "license": "MIT", + "dependencies": { + "b4a": "^1.9.0", + "bare-fs": "^4.8.2", + "fast-fifo": "^1.3.2", + "streamx": "^2.28.1" + } + }, + "node_modules/teex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/teex/-/teex-1.0.1.tgz", + "integrity": "sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==", + "license": "MIT", + "dependencies": { + "streamx": "^2.12.5" + } + }, + "node_modules/text-decoder": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.7.tgz", + "integrity": "sha512-vlLytXkeP4xvEq2otHeJfSQIRyWxo/oZGEbXrtEEF9Hnmrdly59sUbzZ/QgyWuLYHctCHxFF4tRQZNQ9k60ExQ==", + "license": "Apache-2.0", + "dependencies": { + "b4a": "^1.6.4" + } + }, + "node_modules/tmp": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.7.tgz", + "integrity": "sha512-e0votIpp4Uo2AJYSzVHV6xCcawuiez3DzqDAbrTc3YxBkplN6e+dM13ZeIcZnDg/QpSuU2zfZ3rzwY8ukEnaXw==", + "license": "MIT", + "engines": { + "node": ">=14.14" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" + }, + "node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typed-query-selector": { + "version": "2.12.3", + "resolved": "https://registry.npmjs.org/typed-query-selector/-/typed-query-selector-2.12.3.tgz", + "integrity": "sha512-/dtuMZyutHLlrxWhhC1uib00ELUr2dZ8C9B8YzZYsJmeE3V56OxRblrSM2UaF142pcMtak7ehZ6+poWGeehNIg==", + "license": "MIT" + }, + "node_modules/undici-types": { + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-8.9.0.tgz", + "integrity": "sha512-KTDyRTYX8sWmKXAikPHHSyc63CRPETMctyjKFupcC6OBLXT3xsN0e9aF7m+mIXutFWpUXuedtowG7iLOzp0kQg==", + "license": "MIT", + "optional": true + }, + "node_modules/union": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/union/-/union-0.5.0.tgz", + "integrity": "sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==", + "dev": true, + "dependencies": { + "qs": "^6.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/update-check": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/update-check/-/update-check-1.5.4.tgz", + "integrity": "sha512-5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ==", + "license": "MIT", + "dependencies": { + "registry-auth-token": "3.3.2", + "registry-url": "3.1.0" + } + }, + "node_modules/urijs": { + "version": "1.19.11", + "resolved": "https://registry.npmjs.org/urijs/-/urijs-1.19.11.tgz", + "integrity": "sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==", + "license": "MIT" + }, + "node_modules/url-join": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", + "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", + "dev": true, + "license": "MIT" + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vite": { + "version": "5.4.21", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.21.tgz", + "integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "deprecated": "Use @exodus/bytes instead for a more spec-conformant and faster implementation", + "dev": true, + "license": "MIT", + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/widest-line": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", + "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", + "license": "MIT", + "dependencies": { + "string-width": "^5.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" + }, + "node_modules/ws": { + "version": "8.22.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.22.0.tgz", + "integrity": "sha512-Ydggc987+RO0AnWtZ/7Wq9FtNvcrL1b/RO0ud9mWjUPgDrsAAwQSF51sm2hm1XofbU/4jkpGEsLFsZZxU+1DOg==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yaml": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.1.tgz", + "integrity": "sha512-3NxN8+78OdzbT7C/WjGsyfPAtJaN3FNDsWxv7Y7mcDsT/oOmgW8BpyQQFFBnvZE3j9Y2Sdz1ULFLezL7Eb2yFw==", + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" + } + }, + "node_modules/yargs": { + "version": "17.7.3", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.3.tgz", + "integrity": "sha512-GZtjxm/J/4TSxuL3FNYjCmLktBTnIw/rVmKSIyKeYAZpmJB2ig9VauCC5xsa82GNKVKDAqpOn3KVzNt0zmrU0g==", + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "license": "MIT", + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "node_modules/zod": { + "version": "3.25.76", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", + "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + } + } +} diff --git a/courses/CS-3180-18-Macros-Homoiconicity/package.json b/courses/CS-3180-18-Macros-Homoiconicity/package.json new file mode 100644 index 0000000..7202171 --- /dev/null +++ b/courses/CS-3180-18-Macros-Homoiconicity/package.json @@ -0,0 +1,22 @@ +{ + "name": "cs-3180-18-macros-homoiconicity", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "type": "commonjs", + "devDependencies": { + "http-server": "^14.1.1", + "vite": "^5.4.21" + }, + "dependencies": { + "decktape": "^3.15.0", + "highlight.js": "^11.12.0", + "patch-package": "^8.0.1", + "reveal.js": "^5.2.1", + "serve": "^14.2.6" + } +} diff --git a/courses/CS-3180-18-Macros-Homoiconicity/public/ExecutorProcess.png b/courses/CS-3180-18-Macros-Homoiconicity/public/ExecutorProcess.png new file mode 100644 index 0000000000000000000000000000000000000000..54f2adf39be38b97cf9acc908abf5ae48d1d1e75 GIT binary patch literal 20212 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�-_gi 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 IGUmbm2MjO;jsO4v literal 0 HcmV?d00001 diff --git a/courses/CS-3180-18-Macros-Homoiconicity/public/ferris.png b/courses/CS-3180-18-Macros-Homoiconicity/public/ferris.png new file mode 100644 index 0000000000000000000000000000000000000000..f4ba9553fcc1a10d5f3bf1c4a8e96e0cb352a891 GIT binary patch literal 40445 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
>Ro&^u_Ct5ZHcr-%ZL{I7gKZy5Q7N6@ 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 F0RWlq!kGX7 literal 0 HcmV?d00001 diff --git a/courses/CS-3180-18-Macros-Homoiconicity/slides/slides.html b/courses/CS-3180-18-Macros-Homoiconicity/slides/slides.html new file mode 100644 index 0000000..a6a5497 --- /dev/null +++ b/courses/CS-3180-18-Macros-Homoiconicity/slides/slides.html @@ -0,0 +1,364 @@ +
+

Macros + Homoiconicity

+

CS-3180

+
+ +
+

Macros

+
    +
  • Macros are just code that writes code
  • +
  • Usually we think about code compiling into a lower level
  • +
  • A type of metaprogramming
  • +
  • Where a program can treat programs as data
  • +
  • Supported in: Lisp, Rust, C/++, most ASM
  • +
  • Unsupported in: Java, Python, JS, etc
  • +
+
+ +
+

Expansion

+
    +
  • Macros are code that expand into other code
  • +
  • Expansions must be completed prior to execution
  • +
  • Call this "Macro Expansion Time"
  • +
+ +
+ +
+

Types of Macros

+
    +
  • Two* main types of macros:
  • +
  • Textual Macros
  • +
  • Much simpler
  • +
  • Procedural Macros
  • +
  • Much more rich
  • +
  • Take a look at both types today
  • +
+
+ +
+

Textual Macros

+
    +
  • Map a pattern to a predefined set of characters
  • +
  • Text expansion via copy-paste
  • +
  • Most commonly seen in C and C++
  • +
  • Define a simple constants via define
  • +
  • # for a preprocessor directive
  • +
+ +
#define NAME value
+ +
+ +
+

Textual Macros

+
    +
  • Every reference to PI gets 3.1415 copy-pasted into it
  • +
  • (C devs call this an object-like macro 🙄)
  • +
+
#include <stdio.h>
+#define PI 3.14159
+// pre-expansion main 
+int main() {
+    float radius = 5.0;
+    float area = PI * radius * radius;
+
+    printf("Area of the circle: %.2f\n", area);
+    return 0;
+}
+
+
+ +
+

Textual Macros

+
    +
  • PI has been replaced
  • +
  • Constant Propagation!
  • +
+
#include <stdio.h>
+#define PI 3.14159
+// post-expansion main 
+int main() {
+    float radius = 5.0;
+    float area = 3.1415 * radius * radius;
+
+    printf("Area of the circle: %.2f\n", area);
+    return 0;
+}
+
+
+ +
+

Textual Macro Arguments

+
    +
  • Textual macros can often take arguments
  • +
  • This allowed them to act like inline functions
  • +
  • But it is not actually a function
  • +
  • Just a macro with a parameter
  • +
  • Let's see that:
  • +
+
+ +
+

Function-Like Macro

+
    +
  • Still a copy-paste (no function calling)
  • +
  • (C devs call these function-like macros)
  • +
+
#include <stdio.h>
+
+#define SQUARE(x) ((x) * (x))
+//pre-expansion main
+int main() {
+    int num = 5;
+    int squaredNum = SQUARE(num);
+
+    printf("Square of 5: %d\n", squaredNum); // 25    
+    
+    return 0;
+}
+
+
+ +
+

Function-Like Macro

+
    +
  • Convention is to put everything in parentheses
  • +
  • Help reduce bugs in replacement
  • +
+
#include <stdio.h>
+
+#define SQUARE(x) ((x) * (x))
+//post-expansion main
+int main() {
+    int num = 5;
+    int squaredNum = ((num) * (num));
+
+    printf("Square of 5: %d\n", squaredNum); // 25    
+    
+    return 0;
+}
+
+
+ +
+

Limitations

+
    +
  • Find-Replace is a useful idea
  • +
  • Adds a layer of complexity to programs
  • +
  • Copy-Paste is a very limited process
  • +
  • Let's really dive into what macros can do beyond this
  • +
+
+ +
+

Procedural Macros

+
    +
  • Proc Macros: Operate directly on the AST
  • +
  • In Lisp, your code basically just is already an AST
  • +
  • Features comes for free
  • +
  • Enable much richer metaprogramming than simple replacement
  • +
  • Terrible name ("Procedural" comes from "Procedures/Subroutines")
  • +
+
+ +
+

Quasi-Quoting

+
    +
  • To write richer macros, we need a way of separating:
  • +
  • Code we want to take the value of
  • +
  • Code we want to replace directly
  • +
  • So we can properly mix them
  • +
  • Enter the quasiquote
  • +
+
+ +
+

Quasi-Quoting

+
    +
  • The regular quote ' expands to quote
  • +
  • Allowed us to prevent evaluation, mostly to pass literals around
  • +
  • The backtick ` expands quasiquote
  • +
  • Works like quote, but data be unquoted later if needed
  • +
+
+ +
+

Quasi-Quoting

+
    +
  • The backtick ` un-evaluates
  • +
  • The comma , re-evaluates
  • +
  • Turns evaluation back on for whatever its in front of
  • +
  • Return a literal list via `
  • +
  • But evaluate user (get its value)
  • +
+ +
(let ((user "Reese"))
+  `("hello" ,user)) ; ("hello" "Reese")
+
+ +
+

Splicing

+
    +
  • Data that you want to evaluate
  • +
  • is often given in list form
  • +
  • You can "unpack" it from a list form using ,@
  • +
+
(let ((value '(2 3)))
+    `(1 ,value 4)) ; (1 (2 3) 4)
+
+(let ((value '(2 3)))
+    `(1 ,@value 4)) ; (1 2 3 4)
+ +
+ + + +
+

Lisp Macros

+
    +
  • With that separation, we can start writing macros
  • +
  • defmacro function
  • +
  • (greet "Reese") gets expanded before evaluation
  • +
+ +
(defmacro greet (name)
+  `(format t "Hello, ~a!~%" ',name))
+
+(greet "Reese")
+    
+
+ + + +
+

Lisp Macros

+
    +
  • We can use the &body construct
  • +
  • Wraps all remaining arguments in a list
  • +
  • with-... is a very common macro pattern
  • +
+
(defmacro with-logging (&body body)
+  `(progn
+     (format t "Starting code block...~%")
+     ,@body ; unpack body, so we don't execute as a list
+     (format t "Finished code block!~%")))
+
+(with-logging 
+    (let ((name "Reese"))
+        (format t "Hi ~S~%" name)))
+
+
+
+ +
+

Macro Expansion

+
    +
  • macroexpand-1 function to see what a macro expands to
  • +
  • (macroexpand was already taken by std. lib.)
  • +
  • Useful for demo, not really for actual code
  • +
  • Need a quote so it doesn't evaluate it
  • +
+
(format t "Macro expanded to ~S~%"
+    (macroexpand-1 '(greet "Reese")))
+
+ +
+ + + + +
+

Macros Simplification

+
    +
  • That's cool
  • +
  • How would you do this with pure textual macros?
  • +
  • Wrap your code in a lambda?
  • +
  • Pass higher order functions, funcall later
  • +
  • Macros allow for native support for things without needing to do that
  • +
  • Let's see two more examples
  • +
+
+ +
+

My-When

+
    +
  • Many things in Lisp are secretly macros
  • +
  • Including when, lets write it!
  • +
+
; test is a specific arg
+; all other args are collected a (LIST ...) body
+(defmacro my-when (test &body body)
+  `(if ,test
+       (progn
+         ,@body)))
+
+(let ((input (read)))
+    (my-when (eq input 'TRUE)
+        (format t "You entered true")))
+
+
+ +
+ +
+

While

+
    +
  • Macros let you re-invent imperative paradigms
  • +
  • In a functional way, lets write a while
  • +
+ +
(defmacro while (test &body body)
+    `(if ,test
+        (progn
+            ,@body
+            ; while expends body as list args
+            ; so we still need an unpack
+            (while ,test ,@body))
+        nil)) ; when test fails, evaluate to nil ;-;
+
+(let ((i 0))
+    (while (< i 10)
+        (format t "i was: ~S~%" i)
+        (setf i (+ i 1))))
+
+ +
+

Homoiconicity

+
    +
  • Lisp can only get away this because code and data
  • +
  • share the same representation
  • +
  • Lisp Data = Cons Cells
  • +
  • Lisp Code = Cons Cells in the AST
  • +
  • This property is known as homoiconicity
  • +
  • Mostly unique to Lisp
  • +
  • Some languages can encode code as data via other methods
  • +
+
+ +
+

Lisp Executor

+
    +
  • Lisp specification doesn't state whether:
  • +
  • Lisp should be compiled
  • +
  • or Lisp should be interpreted
  • +
  • Just that it needs a macro-expansion time
  • +
  • Usually implemented via a compiler
  • +
+
+ +
+

Summary

+
    +
  • Macros are code that write code
  • +
  • Simple textual macros are mostly find+replace
  • +
  • Some can even take arguments
  • +
  • Procedural macros are much more powerful
  • +
  • Accomplish this by directly changing the AST
  • +
+
+ +
+

Questions?

+
\ No newline at end of file diff --git a/courses/CS-3180-18-Macros-Homoiconicity/src/main.js b/courses/CS-3180-18-Macros-Homoiconicity/src/main.js new file mode 100644 index 0000000..b94828b --- /dev/null +++ b/courses/CS-3180-18-Macros-Homoiconicity/src/main.js @@ -0,0 +1,28 @@ +import Reveal from "reveal.js"; +import Notes from "reveal.js/plugin/notes/notes.esm.js"; +import Highlight from "reveal.js/plugin/highlight/highlight.esm.js"; + +import "reveal.js/dist/reveal.css"; +import "reveal.js/dist/theme/dracula.css"; +import "highlight.js/styles/base16/dracula.css"; +import "../css/custom.css"; + +import slidesHTML from "../slides/slides.html?raw"; // raw loader, vite should support this + +document.addEventListener("DOMContentLoaded", () => { + const slidesContainer = document.querySelector(".slides"); + slidesContainer.innerHTML = slidesHTML; // directly inject the HTML slides + + const deck = new Reveal({ + hash: true, + plugins: [Highlight, Notes], + }); + + deck.initialize({ + center: false, + slideNumber: true, + }); + + // DeckTape needs access to window.Reveal for export to work + window.Reveal = deck +}); diff --git a/courses/CS-3180-18-Macros-Homoiconicity/vite.config.js b/courses/CS-3180-18-Macros-Homoiconicity/vite.config.js new file mode 100644 index 0000000..5458914 --- /dev/null +++ b/courses/CS-3180-18-Macros-Homoiconicity/vite.config.js @@ -0,0 +1,11 @@ +import { defineConfig } from "vite"; + +export default defineConfig({ + base: "./", + build: { + rollupOptions: { + input: "index.html", + }, + assetsInlineLimit: 100_000, // inline images/fonts up to ~100kb, save server space, enforce this? + }, +});