From 28a5c567df11dc91138e0a75ddb0156f63c60a5b Mon Sep 17 00:00:00 2001 From: "R. S. Doiel" Date: Fri, 24 Jan 2025 12:13:51 -0800 Subject: [PATCH] prep v0.0.1 proof of concept --- CITATION.cff | 4 +- INSTALL.html | 73 ++ INSTALL.md | 64 + Makefile | 170 +++ README.md | 24 +- about.html | 52 + about.md | 10 +- codemeta-bash-installer.tmpl | 158 +++ codemeta-ps1-installer.tmpl | 62 + codemeta.json | 6 +- deno.json | 16 +- helptext.ts | 25 +- index.html | 96 ++ installer.ps1 | 62 + installer.sh | 158 +++ links-to-html.lua | 6 + page.tmpl | 23 + pagefind/fragment/en-US_2165315.pf_fragment | Bin 0 -> 193 bytes pagefind/fragment/en-US_2272b37.pf_fragment | Bin 0 -> 1184 bytes pagefind/fragment/en-US_27e1eba.pf_fragment | Bin 0 -> 1155 bytes pagefind/fragment/en-US_42d487c.pf_fragment | Bin 0 -> 533 bytes pagefind/fragment/en-US_5f3a5a1.pf_fragment | Bin 0 -> 186 bytes pagefind/fragment/en-US_67b0101.pf_fragment | Bin 0 -> 1137 bytes pagefind/fragment/en-US_9b6fcd6.pf_fragment | Bin 0 -> 177 bytes pagefind/fragment/en-US_9b8ecd1.pf_fragment | Bin 0 -> 537 bytes pagefind/fragment/en-US_a6ac311.pf_fragment | Bin 0 -> 1292 bytes pagefind/fragment/en-US_b12255e.pf_fragment | Bin 0 -> 1293 bytes pagefind/fragment/en-US_bc4f469.pf_fragment | Bin 0 -> 1292 bytes pagefind/fragment/en-US_c55558c.pf_fragment | Bin 0 -> 532 bytes pagefind/fragment/en-US_d190168.pf_fragment | Bin 0 -> 1288 bytes pagefind/fragment/en-US_d8941e8.pf_fragment | Bin 0 -> 1213 bytes pagefind/index/en-US_173188c.pf_index | Bin 0 -> 3438 bytes pagefind/index/en-US_1766fca.pf_index | Bin 0 -> 3434 bytes pagefind/index/en-US_578fa33.pf_index | Bin 0 -> 3434 bytes pagefind/index/en-US_67ac1f9.pf_index | Bin 0 -> 3432 bytes pagefind/index/en-US_7b63622.pf_index | Bin 0 -> 2288 bytes pagefind/index/en-US_89d919c.pf_index | Bin 0 -> 4496 bytes pagefind/index/en-US_8dae8de.pf_index | Bin 0 -> 3424 bytes pagefind/index/en-US_8fefc62.pf_index | Bin 0 -> 3435 bytes pagefind/index/en-US_9f4a87d.pf_index | Bin 0 -> 3431 bytes pagefind/index/en-US_be41ba7.pf_index | Bin 0 -> 2053 bytes pagefind/index/en-US_e090609.pf_index | Bin 0 -> 3432 bytes pagefind/index/en-US_e2f8992.pf_index | Bin 0 -> 3439 bytes pagefind/pagefind-entry.json | 1 + pagefind/pagefind-highlight.js | 1069 +++++++++++++++++ pagefind/pagefind-modular-ui.css | 214 ++++ pagefind/pagefind-modular-ui.js | 8 + pagefind/pagefind-ui.css | 1 + pagefind/pagefind-ui.js | 2 + pagefind/pagefind.en-US_1dde61ff90807.pf_meta | Bin 0 -> 133 bytes pagefind/pagefind.en-US_42949ea1f372f.pf_meta | Bin 0 -> 117 bytes pagefind/pagefind.en-US_5555177a506f4.pf_meta | Bin 0 -> 106 bytes pagefind/pagefind.en-US_5779edd598b41.pf_meta | Bin 0 -> 116 bytes pagefind/pagefind.en-US_7684bf9e7c6de.pf_meta | Bin 0 -> 107 bytes pagefind/pagefind.en-US_9abd7aa5be417.pf_meta | Bin 0 -> 117 bytes pagefind/pagefind.en-US_a1843a88be1b5.pf_meta | Bin 0 -> 116 bytes pagefind/pagefind.en-US_ac45949a7296d.pf_meta | Bin 0 -> 116 bytes pagefind/pagefind.en-US_b20cb442372ef.pf_meta | Bin 0 -> 116 bytes pagefind/pagefind.en-US_f08a8e3fb1bc6.pf_meta | Bin 0 -> 116 bytes pagefind/pagefind.en-US_f4254b28eb735.pf_meta | Bin 0 -> 115 bytes pagefind/pagefind.en-US_f8aeb57c8633e.pf_meta | Bin 0 -> 116 bytes pagefind/pagefind.js | 9 + pagefind/wasm.en-US.pagefind | Bin 0 -> 70873 bytes pagefind/wasm.unknown.pagefind | Bin 0 -> 67202 bytes presentations/Makefile | 22 + presentations/presentation1.html | 198 +++ presentations/presentation1.md | 82 ++ release.bash | 17 + testdata/badbots.yaml | 4 +- user_manual.html | 27 + user_manual.md | 6 + version.ts | 4 +- website.mak | 28 + 73 files changed, 2662 insertions(+), 39 deletions(-) create mode 100644 INSTALL.html create mode 100644 INSTALL.md create mode 100644 Makefile create mode 100644 about.html create mode 100644 codemeta-bash-installer.tmpl create mode 100644 codemeta-ps1-installer.tmpl create mode 100644 index.html create mode 100755 installer.ps1 create mode 100755 installer.sh create mode 100644 links-to-html.lua create mode 100644 page.tmpl create mode 100644 pagefind/fragment/en-US_2165315.pf_fragment create mode 100644 pagefind/fragment/en-US_2272b37.pf_fragment create mode 100644 pagefind/fragment/en-US_27e1eba.pf_fragment create mode 100644 pagefind/fragment/en-US_42d487c.pf_fragment create mode 100644 pagefind/fragment/en-US_5f3a5a1.pf_fragment create mode 100644 pagefind/fragment/en-US_67b0101.pf_fragment create mode 100644 pagefind/fragment/en-US_9b6fcd6.pf_fragment create mode 100644 pagefind/fragment/en-US_9b8ecd1.pf_fragment create mode 100644 pagefind/fragment/en-US_a6ac311.pf_fragment create mode 100644 pagefind/fragment/en-US_b12255e.pf_fragment create mode 100644 pagefind/fragment/en-US_bc4f469.pf_fragment create mode 100644 pagefind/fragment/en-US_c55558c.pf_fragment create mode 100644 pagefind/fragment/en-US_d190168.pf_fragment create mode 100644 pagefind/fragment/en-US_d8941e8.pf_fragment create mode 100644 pagefind/index/en-US_173188c.pf_index create mode 100644 pagefind/index/en-US_1766fca.pf_index create mode 100644 pagefind/index/en-US_578fa33.pf_index create mode 100644 pagefind/index/en-US_67ac1f9.pf_index create mode 100644 pagefind/index/en-US_7b63622.pf_index create mode 100644 pagefind/index/en-US_89d919c.pf_index create mode 100644 pagefind/index/en-US_8dae8de.pf_index create mode 100644 pagefind/index/en-US_8fefc62.pf_index create mode 100644 pagefind/index/en-US_9f4a87d.pf_index create mode 100644 pagefind/index/en-US_be41ba7.pf_index create mode 100644 pagefind/index/en-US_e090609.pf_index create mode 100644 pagefind/index/en-US_e2f8992.pf_index create mode 100644 pagefind/pagefind-entry.json create mode 100644 pagefind/pagefind-highlight.js create mode 100644 pagefind/pagefind-modular-ui.css create mode 100644 pagefind/pagefind-modular-ui.js create mode 100644 pagefind/pagefind-ui.css create mode 100644 pagefind/pagefind-ui.js create mode 100644 pagefind/pagefind.en-US_1dde61ff90807.pf_meta create mode 100644 pagefind/pagefind.en-US_42949ea1f372f.pf_meta create mode 100644 pagefind/pagefind.en-US_5555177a506f4.pf_meta create mode 100644 pagefind/pagefind.en-US_5779edd598b41.pf_meta create mode 100644 pagefind/pagefind.en-US_7684bf9e7c6de.pf_meta create mode 100644 pagefind/pagefind.en-US_9abd7aa5be417.pf_meta create mode 100644 pagefind/pagefind.en-US_a1843a88be1b5.pf_meta create mode 100644 pagefind/pagefind.en-US_ac45949a7296d.pf_meta create mode 100644 pagefind/pagefind.en-US_b20cb442372ef.pf_meta create mode 100644 pagefind/pagefind.en-US_f08a8e3fb1bc6.pf_meta create mode 100644 pagefind/pagefind.en-US_f4254b28eb735.pf_meta create mode 100644 pagefind/pagefind.en-US_f8aeb57c8633e.pf_meta create mode 100644 pagefind/pagefind.js create mode 100644 pagefind/wasm.en-US.pagefind create mode 100644 pagefind/wasm.unknown.pagefind create mode 100644 presentations/Makefile create mode 100644 presentations/presentation1.html create mode 100644 presentations/presentation1.md create mode 100755 release.bash create mode 100644 user_manual.html create mode 100644 user_manual.md create mode 100644 website.mak diff --git a/CITATION.cff b/CITATION.cff index fa724f4..21070fd 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -10,8 +10,8 @@ authors: given-names: R. S. orcid: 'https://orcid.org/0000-0003-0900-6903' repository-code: 'git+https://github.com/caltechlibrary/logagent' -version: 0.0.0 -license-url: 'https://spdx.org/licenses/BSD-3-Clause' +version: 0.0.1 +license-url: 'https://data.caltech.edu/license' keywords: - logging - agents diff --git a/INSTALL.html b/INSTALL.html new file mode 100644 index 0000000..bda256a --- /dev/null +++ b/INSTALL.html @@ -0,0 +1,73 @@ + + + logagent + + + + +
+

Installation for +development of Log Agent

+

Log Agent is an experimental, proof of concept, log +processor. Log Agent scans each line of a log file for an explicit +string, finds the IP address and in the log line and applies an +designated action.

+

It provides a logagent command line program.

+

Quick install with curl or +irm

+

There is an experimental installer.sh script that can be run with the +following command to install latest table release. This may work for +macOS, Linux and if you’re using Windows with the Unix subsystem. This +would be run from your shell (e.g. Terminal on macOS).

+
curl https://caltechlibrary.github.io/logagent/installer.sh | sh
+

This will install logagent in your +$HOME/bin directory.

+

If you are running Windows 10 or 11 use the Powershell command +below.

+
irm https://caltechlibrary.github.io/logagent/installer.ps1 | iex
+

Installing from source

+

Required software

+
    +
  1. Git (to clone the cold repository on GitHub)
  2. +
  3. Deno >= 2.1.7
  4. +
+

Compiling LogAgent

+

Deno is used to compile the TypeScript and dependent JavaScript files +into an executable.

+
    +
  1. Use Deno’s task to build project
  2. +
+
deno task build
+

This will provide the logagent command in the “bin” +folder in your repository directory.

+

You can check to make sure logagent works for your +system. The compiled version is self contain and can be copied someplace +in your path.

+

Manual install on POSIX

+
mkdir -p $HOME/bin
+export PATH="$HOME/bin:$PATH"
+cp bin/logagent $HOME/bin/
+export MANPATH="$MANPATH:$HOME/man"
+cp -vR man $HOME/
+

Manual install for +Windows via Powershell

+
mkdir $HOME/bin
+$PATH = [Environment]::GetEnvironmentVariable("PATH")
+[Environment]::SetEnvironmentVariable("PATH", "$PATH;$HOME/bin")
+copy ./bin/logagent.exe $HOME/bin/
+
+ + \ No newline at end of file diff --git a/INSTALL.md b/INSTALL.md new file mode 100644 index 0000000..d3f0470 --- /dev/null +++ b/INSTALL.md @@ -0,0 +1,64 @@ +Installation for development of **Log Agent** +=========================================== + +**Log Agent** is an experimental, proof of concept, log processor. Log Agent scans each line of a log file for an explicit string, finds the IP address and in the log line and applies an designated action. + +It provides a `logagent` command line program. + +Quick install with curl or irm +------------------------------ + +There is an experimental installer.sh script that can be run with the following command to install latest table release. This may work for macOS, Linux and if you’re using Windows with the Unix subsystem. This would be run from your shell (e.g. Terminal on macOS). + +~~~shell +curl https://caltechlibrary.github.io/logagent/installer.sh | sh +~~~ + +This will install `logagent` in your `$HOME/bin` directory. + +If you are running Windows 10 or 11 use the Powershell command below. + +~~~ps1 +irm https://caltechlibrary.github.io/logagent/installer.ps1 | iex +~~~ + +Installing from source +---------------------- + +### Required software + +1. Git (to clone the cold repository on GitHub) +2. Deno >= 2.1.7 + +### Compiling **LogAgent** + +Deno is used to compile the TypeScript and dependent JavaScript files into an executable. + +1. Use Deno's task to build project + +~~~shell +deno task build +~~~ + +This will provide the `logagent` command in the "bin" folder in your repository directory. + +You can check to make sure `logagent` works for your system. The compiled version is self contain and can be copied someplace in your path. + +### Manual install on POSIX + +~~~shell +mkdir -p $HOME/bin +export PATH="$HOME/bin:$PATH" +cp bin/logagent $HOME/bin/ +export MANPATH="$MANPATH:$HOME/man" +cp -vR man $HOME/ +~~~ + +### Manual install for Windows via Powershell + +~~~ps1 +mkdir $HOME/bin +$PATH = [Environment]::GetEnvironmentVariable("PATH") +[Environment]::SetEnvironmentVariable("PATH", "$PATH;$HOME/bin") +copy ./bin/logagent.exe $HOME/bin/ +~~~ diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..5633afe --- /dev/null +++ b/Makefile @@ -0,0 +1,170 @@ +# +# A Deno project makefile +# +PROJECT = LogAgent + +PROGRAMS = logagent + +TS_MODS = logagent.ts + +GIT_GROUP = caltechlibrary + +VERSION = $(shell grep '"version":' codemeta.json | cut -d\" -f 4) + +BRANCH = $(shell git branch | grep '* ' | cut -d\ -f 2) + +MAN_PAGES_1 = $(shell ls -1 *.1.md | sed -E 's/\.1.md/.1/g') + +MAN_PAGES_3 = $(shell ls -1 *.3.md | sed -E 's/\.3.md/.3/g') + +MAN_PAGES_7 = $(shell ls -1 *.7.md | sed -E 's/\.7.md/.7/g') + +RELEASE_DATE=$(shell date +'%Y-%m-%d') + +RELEASE_HASH=$(shell git log --pretty=format:%h -n 1) + +HTML_PAGES = $(shell ls -1 *.html) # $(shell ls -1 *.md | grep -v 'nav.md' | sed -E 's/.md/.html/g') + +OS = $(shell uname) + +EXT = +ifeq ($(OS), Windows) + EXT = .exe +endif + +PREFIX = $(HOME) + +TS_MODS = $(shell ls -1 *.ts | grep -v _test.ts | grep -v deps.ts | grep -v version.ts) + +build: version.ts CITATION.cff about.md bin compile installer.sh installer.ps1 + +bin: .FORCE + mkdir -p bin + +compile: .FORCE + deno task build + +check: .FORCE + deno task check + +version.ts: codemeta.json + deno task version.ts + +format: $(shell ls -1 *.ts | grep -v version.ts | grep -v deps.ts) + +$(shell ls -1 *.ts | grep -v version.ts): .FORCE + deno fmt $@ + +man: $(MAN_PAGES_1) # $(MAN_PAGES_3) $(MAN_PAGES_7) + +$(MAN_PAGES_1): .FORCE + mkdir -p man/man1 + pandoc $@.md --from markdown --to man -s >man/man1/$@ + +CITATION.cff: codemeta.json + deno task CITATION.cff + +about.md: codemeta.json + deno task about.md + +status: + git status + +save: + if [ "$(msg)" != "" ]; then git commit -am "$(msg)"; else git commit -am "Quick Save"; fi + git push origin $(BRANCH) + +website: $(HTML_PAGES) .FORCE + make -f website.mak + cd presentations && make || exit 1 + +presentations: .FORCE + cd presentations && make || exit 1 + +publish: website .FORCE + ./publish.bash + +htdocs: .FORCE + deno task htdocs + deno task transpile + +test: .FORCE + deno task test + deno task editor_test.ts + +install: compile .FORCE + mkdir -p "${HOME}/bin" + cp -v "./bin/logagent$(EXT)" "${HOME}/bin" + cp -vR "./man" "${HOME}/" + +uninstall: .FORCE + rm "${HOME}/bin/logagent$(EXT)" + rm man/man1/logagent.1 + +installer.sh: .FORCE + @echo '' | pandoc --metadata title="Installer" --metadata git_org_or_person="$(GIT_GROUP)" --metadata-file codemeta.json --template codemeta-bash-installer.tmpl >installer.sh + chmod 775 installer.sh + git add -f installer.sh + +installer.ps1: .FORCE + @echo '' | pandoc --metadata title="Installer" --metadata git_org_or_person="$(GIT_GROUP)" --metadata-file codemeta.json --template codemeta-ps1-installer.tmpl >installer.ps1 + chmod 775 installer.ps1 + git add -f installer.ps1 + +clean: + if [ -d bin ]; then rm -fR bin/*; fi + if [ -d dist ]; then rm -fR dist/*; fi + +release: clean build man website distribute_docs dist/Linux-x86_64 dist/Linux-aarch64 dist/macOS-x86_64 dist/macOS-arm64 dist/Windows-x86_64 + echo "Ready to do ./release.bash" + +setup_dist: .FORCE + @rm -fR dist + @mkdir -p dist + +distribute_docs: website man setup_dist + @cp README.md dist/ + @cp LICENSE dist/ + @cp codemeta.json dist/ + @cp CITATION.cff dist/ + @cp *.1.md dist/ + @cp INSTALL.md dist/ + @cp -vR man dist/ + +dist/Linux-x86_64: .FORCE + @mkdir -p dist/bin + deno task dist_linux_x86_64 + @cd dist && zip -r $(PROJECT)-v$(VERSION)-Linux-x86_64.zip LICENSE codemeta.json CITATION.cff *.md bin/* + @rm -fR dist/bin + +dist/Linux-aarch64: .FORCE + @mkdir -p dist/bin + deno task dist_linux_aarch64 + @cd dist && zip -r $(PROJECT)-v$(VERSION)-Linux-aarch64.zip LICENSE codemeta.json CITATION.cff *.md bin/* + @rm -fR dist/bin + +dist/macOS-x86_64: .FORCE + @mkdir -p dist/bin + deno task dist_macos_x86_64 + @cd dist && zip -r $(PROJECT)-v$(VERSION)-macOS-x86_64.zip LICENSE codemeta.json CITATION.cff *.md bin/* + @rm -fR dist/bin + +dist/macOS-arm64: .FORCE + @mkdir -p dist/bin + deno task dist_macos_aarch64 + @cd dist && zip -r $(PROJECT)-v$(VERSION)-macOS-arm64.zip LICENSE codemeta.json CITATION.cff *.md bin/* + @rm -fR dist/bin + +dist/Windows-x86_64: .FORCE + @mkdir -p dist/bin + deno task dist_windows_x86_64 + @cd dist && zip -r $(PROJECT)-v$(VERSION)-Windows-x86_64.zip LICENSE codemeta.json CITATION.cff *.md bin/* + @rm -fR dist/bin + +dist/Windows-aarch64: .FORCE + @mkdir -p dist/bin + deno task dist_windows_v86_64 #deno task dist_windows_aarch64 <-- switch to native when Deno supports Windows ARM64 + @cd dist && zip -r $(PROJECT)-v$(VERSION)-Windows-aarch64.zip LICENSE codemeta.json CITATION.cff *.md bin/* + @rm -fR dist/bin + +.FORCE: diff --git a/README.md b/README.md index 589d63a..d1d9d0f 100644 --- a/README.md +++ b/README.md @@ -1,27 +1,27 @@ # Log Agent -This is a simplified log processor that looks for explicit text on a line, parses the line for an IP address and then applies the action associted with the text. It is inspired by fail2ban but written in response to it's complexity. Caltech Library needed a simple tool to do a narrow task that was oddly challanging using fail2ban. +This is a simplified log processor that looks for explicit text on a line, parses the line for an IP address and then applies the associated action. It is inspired by fail2ban but is written in response fail2ban's complexity. Caltech Library needed a simple tool to do a narrow task that was oddly challenging using fail2ban. There is always a balancing act between a tool features and those that are simpler targeting a more specific issue. -## approach +## Approach -Log agent reads input line by line. If checks if a tag (explicit sub string) is contained in that line. If a match is found then the agent extracts any IP addresses identified before applying a rule associated with the tag. +Log agent reads input line by line. If checks if a tag (explicit sub-string) is contained in that line. If a match is found then the agent extracts any IP addresses identified before applying a rule associated with the tag. -The log agent requires a configuration file written in yaml. The configuration holds an array of object where each object is an agent configuration. The object has the following attributes. +The log agent requires a configuration file written in YAML. The configuration holds an array of objects. Each object has the following attributes. tag -: The explicit string to search for +: The explicit search string (i.e. not regular expressions) action : The command to execute if tag is found Here's an example configuration YAML file. -~~~yaml +~~~YAML - tag: BadBot action: | sudo iptables -A INPUT -p tcp -m multiport - --dports 80,443 -s {ipaddress} -j DROP + --dports 80,443 -s {ipaddress} -j DROP ~~~ If the text "BadBot" is found in the log line. and the IP address "156.59.198.136" was found in the log line then the following command would be executed. @@ -62,4 +62,12 @@ sudo logagent badbots.yaml /var/log/nginx/access.log --dry_run : display license -d, --dry_run -: don't take any actions, instead write each action to standard out. This lets you cature them in a bash or Powershell script. +: don't take any actions, instead write each action to standard out. This lets you capture them in a bash or Powershell script. + +For more information see the following documentation pages. + +- [User Manual](user_manual.md) +- [Installation](INSTALL.md) and compiling Log Agent from source +- [LICENSE](LICENSE) +- [About Log Agent](about.md) +- [Cite with CITATION.cff](CITATION.cff) diff --git a/about.html b/about.html new file mode 100644 index 0000000..92bbf66 --- /dev/null +++ b/about.html @@ -0,0 +1,52 @@ + + + logagent + + + + +
+

About this software

+

logagent 0.0.1

+

Authors

+ +

This software scans each line of a log file for an explicit string, +finds the IP address and in the log line and applies an designated +action.

+ +

Programming languages

+ +

Operating Systems

+ +

Software Requirements

+ +
+ + \ No newline at end of file diff --git a/about.md b/about.md index dd7cb4e..f47f7e3 100644 --- a/about.md +++ b/about.md @@ -12,8 +12,8 @@ authors: repository-code: "git+https://github.com/caltechlibrary/logagent" -version: 0.0.0 -license-url: https://spdx.org/licenses/BSD-3-Clause +version: 0.0.1 +license-url: https://data.caltech.edu/license operating-system: - Linux - Windows @@ -28,7 +28,7 @@ keywords: About this software =================== -## logagent 0.0.0 +## logagent 0.0.1 ### Authors @@ -40,9 +40,9 @@ About this software This software scans each line of a log file for an explicit string, finds the IP address and in the log line and applies an designated action. -- License: +- License: - GitHub: -- Issues: +- Issues: ### Programming languages diff --git a/codemeta-bash-installer.tmpl b/codemeta-bash-installer.tmpl new file mode 100644 index 0000000..cb21f5d --- /dev/null +++ b/codemeta-bash-installer.tmpl @@ -0,0 +1,158 @@ +#!/bin/sh + +# +# Set the package name and version to install +# +PACKAGE="$name$" +VERSION="$version$" +GIT_GROUP="$git_org_or_person$" +RELEASE="https://github.com/$$GIT_GROUP/$$PACKAGE/releases/tag/v$$VERSION" +if [ "$$PKG_VERSION" != "" ]; then + VERSION="$${PKG_VERSION}" + echo "$${PKG_VERSION} used for version v$${VERSION}" +fi + +# +# Get the name of this script. +# +INSTALLER="$$(basename "$$0")" + +# +# Figure out what the zip file is named +# +OS_NAME="$$(uname)" +MACHINE="$$(uname -m)" +case "$$OS_NAME" in + Darwin) + OS_NAME="macOS" + ;; + GNU/Linux) + OS_NAME="Linux" + ;; +esac + +if [ "$$1" != "" ]; then + VERSION="$$1" + echo "Version set to v$${VERSION}" +fi + +ZIPFILE="$$PACKAGE-v$$VERSION-$$OS_NAME-$$MACHINE.zip" + +# +# Check to see if this zip file has been downloaded. +# +DOWNLOAD_URL="https://github.com/$$GIT_GROUP/$$PACKAGE/releases/download/v$$VERSION/$$ZIPFILE" +if ! curl -L -o "$$HOME/Downloads/$$ZIPFILE" "$$DOWNLOAD_URL"; then + echo "Curl failed to get $$DOWNLOAD_URL" +fi +cat<.binfiles.tmp +while read -r APP; do + V=$$("./$$APP" --version) + if [ "$$V" = "" ]; then + EXPLAIN_OS_POLICY="yes" + fi + mv "$$APP" "$$HOME/bin/" +done <.binfiles.tmp +rm .binfiles.tmp + +# +# Make sure $$HOME/bin is in the path +# +case :$$PATH: in + *:$$HOME/bin:*) + ;; + *) + # shellcheck disable=SC2016 + echo 'export PATH="$$HOME/bin:$$PATH"' >>"$$HOME/.bashrc" + # shellcheck disable=SC2016 + echo 'export PATH="$$HOME/bin:$$PATH"' >>"$$HOME/.zshrc" + ;; +esac + +# shellcheck disable=SC2031 +if [ "$$EXPLAIN_OS_POLICY" = "no" ]; then + cat <= 2.1.7", - "version": "0.0.0", + "version": "0.0.1", "developmentStatus": "concept", - "issueTracker": "https://github.com/caltechlibrary/logagent" + "issueTracker": "https://github.com/caltechlibrary/logagent/issues" } \ No newline at end of file diff --git a/deno.json b/deno.json index 867ebf1..7af2e2f 100644 --- a/deno.json +++ b/deno.json @@ -4,11 +4,23 @@ "logagent.ts": "deno check logagent.ts ; deno check logagent_test.ts", "test": "deno task logagent_test.ts", "logagent_test.ts": "deno test --allow-read logagent_test.ts", - "build": "deno compile --allow-read --allow-write --allow-run --output ./bin/logagent main.ts" + "build": "deno task gen-code ; deno task compile ; deno task manpage", + "compile": "deno compile --allow-read --allow-write --allow-run --output ./bin/logagent main.ts", + "about.md": "cmt codemeta.json about.md", + "CITATION.cff": "cmt codemeta.json CITATION.cff", + "version.ts": "cmt codemeta.json version.ts", + "gen-code": "deno task about.md ; deno task CITATION.cff ; deno task version.ts", + "manpage": "deno run --allow-read --allow-write --allow-run main.ts --help >logagent.1.md", + "dist_linux_x86_64": "deno compile --allow-read --allow-write --allow-run --output dist/bin/logagent --target x86_64-unknown-linux-gnu main.ts", + "dist_linux_aarch64": "deno compile --allow-read --allow-write --allow-run --output dist/bin/logagent --target aarch64-unknown-linux-gnu main.ts", + "dist_macos_x86_64": "deno compile --allow-read --allow-write --allow-run --output dist/bin/logagent --target x86_64-apple-darwin main.ts", + "dist_macos_aarch64": "deno compile --allow-read --allow-write --allow-run --output dist/bin/logagent --target aarch64-apple-darwin main.ts", + "dist_windows_x86_64": "deno compile --allow-read --allow-write --allow-run --output dist/bin/logagent.exe --target x86_64-pc-windows-msvc main.ts", + "dist_windows_aarch64": "deno compile --allow-read --allow-write --allow-run --output dist/bin/logagent.exe --target aarch64-pc-windows-msvc main.ts" }, "imports": { "@std/assert": "jsr:@std/assert@^1.0.11", "@std/cli": "jsr:@std/cli@^1.0.11", "@std/yaml": "jsr:@std/yaml@^1.0.5" } -} +} \ No newline at end of file diff --git a/helptext.ts b/helptext.ts index 0ffbbcf..ba43968 100644 --- a/helptext.ts +++ b/helptext.ts @@ -48,21 +48,19 @@ Here's an example configuration YAML file. - tag: BadBot action: | sudo iptables - -I logagent_badbot - -p tcp -m multiport - --dports http,https - -J REJECT - --reject-with imcp-port-unreachable - -s {ipaddress} + -p tcp -m multiport + --dports http,https + -j DROP + -s {ipaddress} ~~~ If the text "BadBot" is found in the log line. and the IP address "156.59.198.136" was found in the log line then the following command would be executed. ~~~shell - sudo iptables -I logagent_badbot \ - -p tcp -m multiport \ - --dports http,https \ - -j REJECT --reject-with icmp-port-unreachable \ + sudo iptables \\ + -p tcp -m multiport \\ + --dports http,https \\ + -j DROP \\ -s 156.59.198.136 ~~~ @@ -94,11 +92,9 @@ Here's the YAML config called "badbots.yaml" - tag: BadBot action: | sudo iptables - -I logagent_badbot -p tcp -m multiport --dports http,https - -J REJECT - --reject-with imcp-port-unreachable + -j DROP -s {ipaddress} - tag: BadSpider action: | @@ -106,8 +102,7 @@ Here's the YAML config called "badbots.yaml" -I logagent_badbot -p tcp -m multiport --dports http,https - -J REJECT - --reject-with imcp-port-unreachable + -j DROP -s {ipaddress} ~~~ diff --git a/index.html b/index.html new file mode 100644 index 0000000..5bca2fe --- /dev/null +++ b/index.html @@ -0,0 +1,96 @@ + + + logagent + + + + +
+

Log Agent

+

This is a simplified log processor that looks for explicit text on a +line, parses the line for an IP address and then applies the associated +action. It is inspired by fail2ban but is written in response fail2ban’s +complexity. Caltech Library needed a simple tool to do a narrow task +that was oddly challenging using fail2ban. There is always a balancing +act between a tool features and those that are simpler targeting a more +specific issue.

+

Approach

+

Log agent reads input line by line. If checks if a tag (explicit +sub-string) is contained in that line. If a match is found then the +agent extracts any IP addresses identified before applying a rule +associated with the tag.

+

The log agent requires a configuration file written in YAML. The +configuration holds an array of objects. Each object has the following +attributes.

+
+
tag
+
+The explicit search string (i.e. not regular expressions) +
+
action
+
+The command to execute if tag is found +
+
+

Here’s an example configuration YAML file.

+
- tag: BadBot
+  action: |
+    sudo iptables -A INPUT -p tcp -m multiport
+    --dports 80,443 -s {ipaddress} -j DROP
+

If the text “BadBot” is found in the log line. and the IP address +“156.59.198.136” was found in the log line then the following command +would be executed.

+
    sudo iptables -A INPUT -p tcp -m multiport
+         --dports 80,443 -s 156.59.198.136 -j DROP
+

USAGE:

+
logagent CONFIG_FILE LOG_FILE [OPTIONS]
+

The CONFIG_FILE is the YAML file used to configure the logagent and +the log file is the fail to process. The LOG_FILE must be provided.

+
sudo logagent badbots.yaml /var/log/nginx/access.log
+

If you wanted to test the agent configuration then the two examples +below are helpful.

+
sudo logagent badbots.yaml /var/log/nginx/access.log --dry_run 
+

OPTIONS

+
+
-h, –help
+
+display help +
+
-v, –version
+
+display version +
+
-l, –license
+
+display license +
+
-d, –dry_run
+
+don’t take any actions, instead write each action to standard out. This +lets you capture them in a bash or Powershell script. +
+
+

For more information see the following documentation pages.

+ +
+ + \ No newline at end of file diff --git a/installer.ps1 b/installer.ps1 new file mode 100755 index 0000000..685d354 --- /dev/null +++ b/installer.ps1 @@ -0,0 +1,62 @@ +#!/usr/bin/env pwsh +# Generated with codemeta-ps1-installer.tmpl, see https://github.com/caltechlibrary/codemeta-pandoc-examples + +# +# Set the package name and version to install +# +param( + [Parameter()] + [String]$VERSION = "0.0.1" +) +[String]$PKG_VERSION = [Environment]::GetEnvironmentVariable("PKG_VERSION") +if ($PKG_VERSION) { + $VERSION = "${PKG_VERSION}" + Write-Output "Using '${PKG_VERSION}' for version value '${VERSION}'" +} + +$PACKAGE = "logagent" +$GIT_GROUP = "caltechlibrary" +$RELEASE = "https://github.com/${GIT_GROUP}/${PACKAGE}/releases/tag/v${VERSION}" +$SYSTEM_TYPE = Get-ComputerInfo -Property CsSystemType +if ($SYSTEM_TYPE.CsSystemType.Contains("ARM64")) { + $MACHINE = "arm64" +} else { + $MACHINE = "x86_64" +} + + +# FIGURE OUT Install directory +$BIN_DIR = "${Home}\bin" +Write-Output "${PACKAGE} v${VERSION} will be installed in ${BIN_DIR}" + +# +# Figure out what the zip file is named +# +$ZIPFILE = "${PACKAGE}-v${VERSION}-Windows-${MACHINE}.zip" +Write-Output "Fetching Zipfile ${ZIPFILE}" + +# +# Check to see if this zip file has been downloaded. +# +$DOWNLOAD_URL = "https://github.com/${GIT_GROUP}/${PACKAGE}/releases/download/v${VERSION}/${ZIPFILE}" +Write-Output "Download URL ${DOWNLOAD_URL}" + +if (!(Test-Path $BIN_DIR)) { + New-Item $BIN_DIR -ItemType Directory | Out-Null +} +curl.exe -Lo "${ZIPFILE}" "${DOWNLOAD_URL}" +#if ([System.IO.File]::Exists($ZIPFILE)) { +if (!(Test-Path $ZIPFILE)) { + Write-Output "Failed to download ${ZIPFILE} from ${DOWNLOAD_URL}" +} else { + tar.exe xf "${ZIPFILE}" -C "${Home}" + #Remove-Item $ZIPFILE + + $User = [System.EnvironmentVariableTarget]::User + $Path = [System.Environment]::GetEnvironmentVariable('Path', $User) + if (!(";${Path};".ToLower() -like "*;${BIN_DIR};*".ToLower())) { + [System.Environment]::SetEnvironmentVariable('Path', "${Path};${BIN_DIR}", $User) + $Env:Path += ";${BIN_DIR}" + } + Write-Output "${PACKAGE} was installed successfully to ${BIN_DIR}" +} diff --git a/installer.sh b/installer.sh new file mode 100755 index 0000000..eda65a3 --- /dev/null +++ b/installer.sh @@ -0,0 +1,158 @@ +#!/bin/sh + +# +# Set the package name and version to install +# +PACKAGE="logagent" +VERSION="0.0.1" +GIT_GROUP="caltechlibrary" +RELEASE="https://github.com/$GIT_GROUP/$PACKAGE/releases/tag/v$VERSION" +if [ "$PKG_VERSION" != "" ]; then + VERSION="${PKG_VERSION}" + echo "${PKG_VERSION} used for version v${VERSION}" +fi + +# +# Get the name of this script. +# +INSTALLER="$(basename "$0")" + +# +# Figure out what the zip file is named +# +OS_NAME="$(uname)" +MACHINE="$(uname -m)" +case "$OS_NAME" in + Darwin) + OS_NAME="macOS" + ;; + GNU/Linux) + OS_NAME="Linux" + ;; +esac + +if [ "$1" != "" ]; then + VERSION="$1" + echo "Version set to v${VERSION}" +fi + +ZIPFILE="$PACKAGE-v$VERSION-$OS_NAME-$MACHINE.zip" + +# +# Check to see if this zip file has been downloaded. +# +DOWNLOAD_URL="https://github.com/$GIT_GROUP/$PACKAGE/releases/download/v$VERSION/$ZIPFILE" +if ! curl -L -o "$HOME/Downloads/$ZIPFILE" "$DOWNLOAD_URL"; then + echo "Curl failed to get $DOWNLOAD_URL" +fi +cat<.binfiles.tmp +while read -r APP; do + V=$("./$APP" --version) + if [ "$V" = "" ]; then + EXPLAIN_OS_POLICY="yes" + fi + mv "$APP" "$HOME/bin/" +done <.binfiles.tmp +rm .binfiles.tmp + +# +# Make sure $HOME/bin is in the path +# +case :$PATH: in + *:$HOME/bin:*) + ;; + *) + # shellcheck disable=SC2016 + echo 'export PATH="$HOME/bin:$PATH"' >>"$HOME/.bashrc" + # shellcheck disable=SC2016 + echo 'export PATH="$HOME/bin:$PATH"' >>"$HOME/.zshrc" + ;; +esac + +# shellcheck disable=SC2031 +if [ "$EXPLAIN_OS_POLICY" = "no" ]; then + cat < + + logagent + + + + +
+${body} +
+ + \ No newline at end of file diff --git a/pagefind/fragment/en-US_2165315.pf_fragment b/pagefind/fragment/en-US_2165315.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..541c43d86cbe3308d15a03aff3ac689ea7b6bfc3 GIT binary patch literal 193 zcmV;y06za8iwFP!00002|8-A23&JoE{VU<-w(2I`+!Y*j5-B0MHi0B3=>>(-|L(P& zyFKoG+Yj0wgJw^uk(e)K+ZifL(z$}(2gW=?JIxhDWGx8TbHKevAVQstqs8@_ v00YLYmpe(mw}PZbz4oY=A@w#yNXFmp0HFh!wI{U4`91#uSYlC^836zQeUDf2 literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en-US_2272b37.pf_fragment b/pagefind/fragment/en-US_2272b37.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..8470998da35864eb657627bbefa2e4589942f75b GIT binary patch literal 1184 zcmV;R1Yi3fiwFP!00002|E*Q+Zre5#eU%HLKU%<&V`oV>4;c__MUo+DvL@XJnxdeo zYl{m-swCwPWC8LT1GbmTlkAeREZM1zrYqndG{t+)xtHf&7Ho_oq0$d2Pj92r$Y>CC zPhMYM9iE;hnagF=iMUn{m7^~w$~q<`b3!W^X#*)vQ0gM5&!9(es>g?8S|`gD2n$RB z&I&ZbA7iouh0%1FeuT`ia2>E1;+@vg2H>lCftTC}|M6!wVfFfA?lR)06Gz(Pj19|k zp~imwCvs;KIC1{ZM5IX6AoZ99AzbG5LI3<6)po#RqzDD(D$nh z4SphtIs{E(Gq6D&xQr1Gog5;VQdMv+L&``>J@qnc6;3Znshnsjm<=U`p+siU6BB99 z<}lUfCX^&+{QR;5r$Uu8@EBqQb6q~%|4j-@>(PIso77X=5WiJo2DTj9xpkN?P^Y?- zX{~W&bnamc*bGU{b4b6(xh4k-WN$#m(01s4!T{=q(h!bF*MA~lQ9vN!$jzA zUGMHnf&L=&1-X#2Nxi-tp(+i}j?d3tb%*pf6^5=;6E>WLJb{^@ShW-F?f9GO^(cP~ z318?bnktjJ)I)OUH1XH@Md}ONBl!YnB&6E(0z%m=N#=A{Z}4MDa#PwExhd&P;7B-l zPM6H3R+TcYsptj^ZG}(ESC$SPmqRM;PpCBfZ~*Gdj!^w5(cm5) z&Q#D%vjktHSfEOMS)0y*5goQvX9^8gMqUQTEwh4*VkHilu`m%V5GL@J>greIGD{Y< zH=cV~3d&{CaS8FM#?7k82Q8%VEyPtpjRzJz8WMQaq+|fU|8V~gdEw#yU*AC~nx#)# zb!-{s4|0ibKb|2ELUVS5WPj6Q@a>W;*Y1_LK*eBBbWwSTxwV>#XqiYyOY^F^d-}V*d!lerU&} zgr;A^y8Y2x;o4mzOU0yS!@3Fj{xhalV4)53x@3*yxyHA)$jeLJQ`8N&uXU*s~^tX5K@BRb7fIy;$3;+OU!%cAj literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en-US_27e1eba.pf_fragment b/pagefind/fragment/en-US_27e1eba.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..3cc126bac3497fc9b311ca503afa42590dda4ac8 GIT binary patch literal 1155 zcmV-}1bq7+iwFP!00002|Gie*Zrer>{gnZq5dTu3xTLHUnq?lWhqx^6G3$)ac_)D1hXhn3!6Dq^fQ9DxRAXV|EL6l zq8d875X(w4D^vjsfgrUO7IRLXuUIa<@=z{QG9?FrY0Xxk7NFvfJh4z`9Npp!<7-ZY zmveRpARf1o%9wG^E|iq2b`e?3W?WfrBA03s?y~JN4OW5SOrtT(24K?2H}7qpGfJ&O z9iAWx)r?@)S^pUweSG-GdB<;AUdqiNi99YN5rm|B0aT)mJ0@c8h_8+&~C zxAR$eo=_n@otURjk0zu!J~)gHj-&DMQ8eB=B!rr6f#}HBWxh>bttv@OYg3p;8}WYl z@MOqz{6y4r+yqWb14B2v#+;UvUh1Ko814OK#zM(7%em$Hg?S0eyWKkL^ATnvOu%0m zmnEdaloHA5HsOuCxZ&DRY1_MYA4+$P+5zOrtUh`t1De~+CBTmG0-)(BPLs# zHq{%XzeG$Yj2*%05XEC=uwOLHRE-Xy!xBuQG0({TvtLgyX6I*^mq|y|ny9O(jOv;I z2(K-v@$)8QH+&19P}uM1C5{x0M-jXuM6_FBxa$IA`^3yekw;y_5UA@79~mS}N*p){ z8M8E2=roNDGW1Q_rZeKh*=}dDei*L2r(bLO9W~ENRY0tGeE7SC$24{G7tcHH(2a8Z z1{`Cxph{<|b|5XCIMK<~(B1bMaHG!N1X3+}a++1fQE{VMiah93Qx* zj%c+;fmDfW&ERC`e)P1SSrw`@!gRXr$Hzc_cbk67eLIuX8lw08F+e#UqNL)cg-POZ zr#{db@9Yh=Ov#F#TG&$@H0A$8+3ir)O}2q>_&ma1hcIZ)4V0tjQTBV$eBQxBtntqC zSO-0<&pUquYyWwy!ycBO7#sRu$j|{lM+i$$-8fiUhp-G0lm}cl&T31LC|X~RpnFW>B@rH< zK^YSgQTusE)76e+2dBh-~d)8_8b zA>oUqukE6MkENw|eLKfhyO286`5%z8i>Trz?~is5k14g7h7teA!+etn>(o8Uw`&RC`AlKO-?h?Dtkb-|`V0PQZN!=< zan+y?aQ_KzSlSPg-LMMLyy?((hPa)L1ZzPUlPI>kk*JXrM}jOlylfc3ZOZG;BBJ=Q z73lV(xVf4zy)_)|?U!}1>%Z;HOl_VSv+yZ XKzq?R=XaRwe(rt)SJfO9XaoQNI9vxm literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en-US_5f3a5a1.pf_fragment b/pagefind/fragment/en-US_5f3a5a1.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..25d61a74162059e7fce6fa0c2c6ecb2a17c2d990 GIT binary patch literal 186 zcmV;r07d^FiwFP!00002|8eR6tL%jd(T0FI+>Ab>p24kj2p{% olK<{9 literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en-US_67b0101.pf_fragment b/pagefind/fragment/en-US_67b0101.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..4d29feb58968ef8c1b4dba03c7a92a0aff52285f GIT binary patch literal 1137 zcmV-%1djV3iwFP!00002|D{#iZrer>{gnZqT0o>N-)ig4Nt0B7Ya5O8Py~Uo;;zJv zS6p^?X<2X$_#gUIp#3?2NzW`vQFPlN7r?Mc&d!;cb7p2Mu~2he%4?a+`=oXznIt>O zD9LRZR2lGgW*2n2z;i}dh4zF$L0&H_qvu*lGO$<9=E{5PC=?>#lfCgY$E&)-v0MiV z>MoEi;c9fLMpOysmB(=vKg7eLr0FFIDIKuzCfN*^3K;EKkq6Bvhy_$cU+GXp3kS$( z8aO{)`bs-kXKR`ZZT4n>p4EX?P6w2Q1B4irEj=79>G1UUr>ESaD0Qd9I-{4u1eF(b zre{vLHI+(90JfF0mo@AvExwh)IlH1D{7pl^N_etTnlmL9Cu5W)KVdZbPrHXXJwe{`X7(t0&+kxza|G z4nxpV1Qe!Opt|EYavKu>jSeg`|LZL|z`vHTH=55B^ioloHPgM6D061)@0{oXCGA#-V24a6gcg^ z=;mCEI{;~L+f#*T+G}o&v8z~70GntT<+DgNAMV+XOtbu635Q^@dz;p5vRy7?`&#&@ z94M?A!)#dp35mw0Lw4#;#GV=!`RnP=XOWSNQudwD3n5?F&<2{&?@%4>r>h`l25hFM zG(Eq3cSUJMA+IQ1(y}%|SJnkeQ^~)cj(0}~2m6$Iy4O`J?gOPCS)YccAAh;HjIGj* z6+J!v)x>^!{JSqfH*LeZHr>@u?Di1Db9{J|9iC+4ljCf>f5Zqp9sdc@_hK(Z$K}e_ zh8wSARA%2;{xGk9F+lI$p1yfC=|8@_IDb8TbNzaH_KMCf+K2ZSmsit^^S2+O?%PLn z(@`50G5sobM5nUqN^jsh@|cTwz6IcQ!EWt}ZQ6Dde_8v$q`-QM`Rqv9pw5Jx+2Avt zB-*(ZZU?3vUPpI3B9DL^5Mr-w4PnaAB#FKcTT5ZsnH!bD%684`kp&dPL@Fwjsphr$ z%3L6oTVK1nq?TLse=$NQ{lT~-wXY0@KE9;4(QvDr=fpZ&_nw+)#?UI>^qskTPh~WB z;iN4wktkc-sJQ)_LGvTNPXhLGTutqIX{Vi6K!9|@NwRf!MH+=pV?uKgTA`QR>jE5j ztR_d7c7+^KgCU=mVKhM4>kzujst4Hm()%Bc zhX7LFb_n@w+&d4P#)pSPFJFmr%Prk<9PGj`L)qKPz1yMB5RN~Mu-_wm{_+`yINJSm zh=Z+Cziekei}S3Mz87i_pFT>n=LXJudRo@+l z&fQMF&v*AW9>mu0|ia86W6cj0!SFQ_UWwo!Ku>1?%&we fx!pEbO~LQ(Otp!vk-!Q1)B0L}6nf&I{{R30|4dlx literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en-US_9b8ecd1.pf_fragment b/pagefind/fragment/en-US_9b8ecd1.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..2cca4b31f10d49e0954e55b780dd04a1812180a7 GIT binary patch literal 537 zcmV+!0_Oc6iwFP!00002|AkV2Yuhjo{VIq4T`Z@~no+YAx)rviOU2K6Y zd6G;LLcaS>4vyn3VKxT&e!M%q_Zm^+N?Y}&q}s988&GyLOgbCUMvC93 zFvLm+2yPYE!XpRcN`kNvraZlH-^R-Mz~P0%g2RK;XrPL*2}PbeFSX*%m-&>QjJ{bm zy`|Iqb~@wmdI}9e3L5~0tiWiC;8q~gI9O?euyP)R1>7`7OC2FZuWdPjbeTX)B0N5W zP|9NnRH#7PE}8&3xD*o&bz{nd!k|klB2rXF?JS4yTA~eD9M=zx+H~8SLnh>(7Z2Gi z`(i{Jh>Nc}eruNnd@OZ**Ei9*YL{HPI+wykl$Fs-FZ?#|sk?*65Lyhwp#S%9c=oRJ zqOR%IV1zAOiWBXx+XffX>xN368uTKjg2gsOtV6n!Z8sc#5KC@N|Fw`$B-5fN{RMxw z+G9;4D67yqxcdax{EC0zWQMi#>P@;f`Qc_hVI)OFA6T*5Pgspn(1}GI4W9Q4qcUM- zatJGa?iiYG6ctxj1g{mHI`?I%EjzYNSj5c*4^q-NDUxQanC>Sd)axF#Cob!JIslIS zJHnd%g*7{Fc<}hiR>#25eRHY18HCG@!VOqwbsZtUzqpv|1<%4k@B#K8FN`7QmmqtV bGk@ZY0rsqM#yni@f9?MOiH}8_X9NHM#*zL- literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en-US_a6ac311.pf_fragment b/pagefind/fragment/en-US_a6ac311.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..c63e8d09d2da1a0e2358b95cbf71c251142c8feb GIT binary patch literal 1292 zcmV+n1@rnJiwFP!00002|D{&lZre5#ew71Xt$?M}Nt&j)bF;KFkS4*JUJOMMP$Ffs zr9_RS;uu+gzQe8tY%kX**>@<(va+pMHz0^5^89}1JLjktOI7Gf-pE|uPa0umY%0pbmgD5O2T3nHk(!mzqBws_NhK){Ez)7w}fM1aZZL5?PfkV=j zueHN*wxL33v!B6Q*2KHD(*emqhG4n2l~-GtFQ0$&lv`w@?sV9sbSg|x`HIeU=7if& zrIciEZOV#*wFdu4TAWqFIlHDH{HHeaweV!6G#koS!WdC4b+x3%^Z(u@Ih!m=P7$I;^5q zgc;F|r0i4txzQ0k4z$qA#t9}46&gl%sId{HX_d!vD{CYN2)LctkS)k&9~FX5=?rjo zZ?qCELknw+UB@^BFaiY?BpE+8JwT|0gK`TaeWz0ZR#`;5Y>bF~!$83QlaARI! zNQ+o19tdAP|K9rk^7)S;1>I7FYuGZW8wI=50h+UCN9nT{>FmXEIy*RG3*3EwYhvKt zP@W#kwQUTOtVdL)|1PcJWCEneTeTAZKJ`DOR;{_^U2ae49f zL#+F*h;Dhdts5%^B-eDsodtqH5GN(g8!>2nDi^#C8>RF(BSbUxs4aM%5e{F@A~(|#A~#&;$_lb z_wR{}*S$MwdCeeg@kzx=*EX7;^41C%!Ep?MfILpRZU>Bgyj zy11TmG19y!Qhax;t&=x7dKjM`2Z#I92`C$o(d6X*VLB;Q5O|sd9gN!jHksfO3v^{! z^8Nip8CABQFRK}>YKbRsAc=&*0Z*Ti{uI}F%xrS<^kF)(u-{t{-3lEH%!iXf|M~IQ zfYi6Wg*=-L$|I%O(a~7T*P_}{OLi1TWBc2z>iZk~+wj}IO`Jp2j9h8k>N3jhH9 C@<(va+pMHz0^5^89}1JLjktOI7Gf-pE|uPa0umY%0pbmgD5O2T3nHk(!mzqBws_NhK){Ez)7w}fM1aZZL5?PfkV=j zueHN*wxL33v!B6Q*2KHD(*emqhG4n2l~-GtFQ0$&lv`w@?sV9sbSg|x`HIeU=7if& zrIciEZOV#*wFdu4TAWqFIlHDH{HHeaweV!6G#koS!WdC4b+x3%^Z(u@Ih!m=P7$I;^5q zgc;F|r0i4txzQ0k4z$qA#t9}46&gl%sId{HX_d!vD{CYN2)LctkS)k&9~FX5=?rjo zZ?qCELknw+UB@^BFaiY?BpE+8JwT|0gK`TaeWz0ZR#^^r*%%QUhmk-4{z*smF1E6a zG_Vj+IjnPm*!&jbA3&~1Ys9SXL}cwarJv?+&SU;5C9HcwFNJ&w@2#T~`UNEh!F3%( zW`JEXr^Ut9yK72n3VBUQNo8Y#uB{7{B$9tU9Y38O9v)EQ>0Z}eDIX~L$kk|z@%@jN zSCJU8SUeKGeEz-l{pIr?LkhYj30JY@Qa22C=L0ln&yLb(FVfkI<8*d##1^>!{?^36 zyrDonmTTJ>rdf}uO#f&4f`9G+fYyjr}zd9^q{qw~w|;r->+_2Tm4 z?T1+RT@l?fZCgdm7Zn-NS6TI`x8{5B7>g+18Q_7$YTfj1$-nhqHl8OD-`=7ddr-Dk zGa)mJF5teQy<6e-aJ9z+?`}`z(I7iSu{X9sVXDvuiGBz>BVf$TZI!~>_T=@50u_tn zZlz3JH0D3Xf>OE7jcY3Eum%5DQ!wdQwo6j`+MvbbOL7}8Zk6LE+}`!?iHX-}X2t8I zzwX}?8LxYH(((ehf00!%C3oZ7H5mP-6epu*Xbylq^LzCB-@o?W~>!}iIL!&V4umeY-M z`*d+V=VGLJQKb0tSX(D=a`Z4hJ`N7|rxQ>%Afw62{lj!psvz(*2|5_H`*kwGC06Ll zvgG^wi888eKVVifSk)3w;6M@yg9DyEBmF6^^O)J>q-Xdkc9s8h)4S=k?~Y{&g03opKI;b5@v@8{&$#q-(M zT^#PD`fcmwk)KDY3|weDbOtZ&NFFKg@BgE+tz-KR>fJmU>mMIHe0ca1i%uN;VG95N DAt{6D literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en-US_bc4f469.pf_fragment b/pagefind/fragment/en-US_bc4f469.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..a2d3450291f7f2c696500d94274082d96bc388e1 GIT binary patch literal 1292 zcmV+n1@rnJiwFP!00002|D{$@ZrnByy~<#}5@01~ZO3u^w{e|x0mn8P=c5P$gA%D- zCX}d>l-CQ_KW#NoV|dGk0_Etaa#mAsL;yq`4AOim_y zlj$V4RZvyH+qqrRe2M3ju2nN;5z>@v!slcnc!?s)p z3hFM9t>9{OrKVI1=at8H6&K=WQPJXxgp>|gc#~{~OAU-}uRxGoi-5Qy5875KEdr;c zD_?7eyqwaLrq;x7wQ2C0^b>@WI zP^FaQXl==gg0%+!NLs8_!a2L9ApGaH^0n|}r8FDLSHc)oEp@e|#`FI^B=e}8ibR^V z*f5`&FrvzN7s{ecg|*_!+h~Onp+V*yB^K$&U;-d*R^VN@r3w*%O3Q{?;a=I1RC+C)-~7CQE#92=6KokxIb7h;I-lJ44VQ&SNse%h)8Eo1DU1LU4SnIHg zsK_(28%5dI_)DWBd7NmWmyHuF94a(GcBJw1{Ox(`Jl?mmMsk9n+ldX?f^7ClA?cLP zz-RYHE72;nu*TSR%rk%^NKj!X6Ufj5he|j&w=~idor18+a=OdLhc)681fzS3ug}kPuq_QzV*VY9}63M@wj-O2r4-Y8ubg%2Kl@FABq91;`yo!2= zJ>p65^~)b^$gf}i95UCfHn@4Mgt{59I~L$Mdw!HYf0@o+9;dT|BSzq3_qPy(;D)~R z6s~P!SY17lGX0-bkMrsar}yvXZ_Z9QrB;!rmlv-WZ*E>M&d=!lvU~V&d3C+Gym`C76$2&k*n4D$HwO8uVIgmDQO7Pj*Yj6uuy!W_F z-ioRbpnZXKaf`JZSXX>eYQxUkuL3HZEy>%);S2Mtk|s8+;=}f}&AvGked;(Ou0cSlzSc1y!U}+t~GDJ`w@U3%JTY^N<`g#KSGKq&oxPJs? zOvIG9(17*ZXeQXw<(TRijX4hnldZiXAIu!zP08?TiUI>4H{SG*L}AlOxv4fpyqlu{G*Qcx>P!uGwE) zv;BlSlOIgA4~*!mbLegquGkAVa-G!mi2425!NMSTk#>TQwEuYFnDY7@<*?-<9ynv9 WJ!zcdJzQ*lZhix0uR&>O1ONccM+++e literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en-US_d190168.pf_fragment b/pagefind/fragment/en-US_d190168.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..ae4d0f611947c904846638e720162ad73a7a6782 GIT binary patch literal 1288 zcmV+j1^4KSiE}@5IHOuDRG}+*C3ATJ zNp7p4s(`msyP(+u&naClwI}=u^17^zF0_(lAg`UxmG{M7RZ8=~De21B z+Tl1`Qz5k3%it|*qHN`KKrzrEc&=^b)kf#>;df8DMK$VHhjmKF!UUBs=~QPuZlOYm9;mb|sa1{+<%r`OmC~$6 zmqflyi90H|qkuz5#;yiXu?;|ve}QU&3RI3Z>VoqS3;J%;Oy6YWgF~?IxeDfrfR$u~ zTLSbxkc$XFQ!^c!zN4{|F#)i`p<*s=z14iwswLzt!!lKHLCk}7TcB&qhzlznmeDKn zjPOQQ_BH;}=!hOCTIfaN1T%*U4JTXNSc}rM#$&yuHIfqq-cGE^7G$%}3T;}&HY#A+ zpXgRE#vM6n{dQVQ(UQ5a#@JP?C;&~cRrxeR&B_DX5ozX}SHdA!yepCYUAAQznPFk0 za(LmMv6~I*KO)h{bY!P)MI`dL$e(BLP9q{IC2V^{uZ4VVLl@|Xenr>8d0hvQ8K9ZW zXnuC_;gXV?LS9o+QrVcGYwH3fiR52ThtH-52m6$Gy3=*n+?M5_C%&?rY1gZa!>}3|Q_ye~~_amF~VeOn3KRum`@9|L9`i;?Rg5 z%av^m6R$^9rr%ipIIq7UKp)=E-kux{hsWnYRt@|E4#v4tPefSvSyI+HT^PjpyOS(i_~*9+ZvOOvuaz zpYlzjog3kHAll&>c)KI==#T@V*=yUNF;!@j1nt<(i5*Y{CEK6ioV!{gTwaHn{ZhCAo=$8|6GF*30_$#6&SJt>O*Si~ILP zMsXibTHZYr@YDn=5icO-FWG4JCA^X)(I!cHvK|23QS`_^SCA$tCG3S zTg78EIl8bb_~Af>vn6@kxE%NPbbfqt_WlG5DMJk#C2U?UH%{{7`Q?n8 zk>*8_;$viGoxI9%hw(kKe{eXRfU*Gt!70@JT5H7a9+nAxb-vN5*^m|7vXOczp-+Zk~+o4`1DXy8jFPSja4N3jhFZB#iU` literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en-US_d8941e8.pf_fragment b/pagefind/fragment/en-US_d8941e8.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..399871e6d1a66b0e0763ac302cd956f2ef9e9e2c GIT binary patch literal 1213 zcmV;u1VZ~CiwFP!00002|E*Q+Zre5#eHB9Jj~1}x+WFY#Ap?S~Xfh;C)};GDQxr6H zZE=xEm89$hS%AF8fbHe-Bs-)mOLi8c=?3_ROx}C$x#xbc&PHM#_+OU*nlpV9xIK8Iex$vRJtC^VUJTm)@svrw}LCnh>MKnQjvG!!FnQd3M6XuTnY(m zXQZ0;n9s>Fmk~QWWjsv{aABA-slurT2yp(4m++=QGbJmhiaWxo@M$LO(0O7rnR*NF z$OA8-i^4kx6c|hmFB0}sCB-Fz1fAGix{L{^%0N>Z+@EJ;=wBphT*xFgL(WE)4n#TP zz;aB?RH}ya>?blZ&mD;@mt(`tbuvZ3YMe;jZ}jf32=oWg7r|wox2ZS9 zL6rlCX9p+8uli&BO{F2>G_cuW$dhps7^`lggO|Qig8}lVknpLVlc_Ulq#mQ==ZP=p z7qKtx0Q4nYfk=Jm2?W_JC=1l;Eq$s$H^srk&A~HauhHAjQDl*8RWlPBq8lo;l|C)6 zEQ}7SF{J&0lxE-Uv0*YuzDn5lx+rA`gRxr7XE1?&NHlbh2sSnJ`E^NWbqo50Qz}WN zUe+J^j4v+y^jYW(*U-u&s?c!>dk5(}IvNQR$nB+vA6F7|F($vG3JD+)J>1n7Z7CO{ z)(q+DtSyH3{_Zc7^#1N|KL{zAWw|?Ybn5*ZitVRJWF!Kaf?pE4*mNTJsjy)z>fT-U zH#N$nY=%zoiw{&SV-?DXX9@YjSD zm*C6dveU5G4%#?&x_^GKcM&bmN6-ApMZ`qO@ORl^t!KY+J>GxQcrQLjwGp(e0pi(P zh@lp~>-4-D&0x$V@619&xMdqyu|4+wm6}PTmEUR~Mx)o{ItM>0b}vE)JLD6MZf<)~L5|}q za?<7Wl$S1oGgl(h9_jr}gne7ok7YJMRGH#ScEDnQ#T~F%Phyac18X=qx_Z(}3zuAr zU>A*E-u6})3>yZY{Ie7|h9A^oZB4JDZ>>we)u5ZjGLM^O-U2_^^J|z} zk70^tp~p@BE$G8#zlyrO`xt5w#(&u*=vBW>uUhCw*4GODaPaao@%-7?2y&zb# zULKA3_(odgF#LK$Z|*$Oo5QW`O})9(?aj6I_cWZ&aD3s~T#L86Io?(q@Bdi0Yr((S b9DKVC{#k3f1HC=C{c!saeelT!p$q^3#EN78 literal 0 HcmV?d00001 diff --git a/pagefind/index/en-US_173188c.pf_index b/pagefind/index/en-US_173188c.pf_index new file mode 100644 index 0000000000000000000000000000000000000000..892ece955661701e8e88eac33d23805c1725e76e GIT binary patch literal 3438 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 MFJl}n6L}Z_07~QCasU7T literal 0 HcmV?d00001 diff --git a/pagefind/index/en-US_578fa33.pf_index b/pagefind/index/en-US_578fa33.pf_index new file mode 100644 index 0000000000000000000000000000000000000000..bc3040a7f9aad121fdff2ebae58c41e0b1a350e9 GIT binary patch literal 3434 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 K(CE*O7ytn3e5w-w literal 0 HcmV?d00001 diff --git a/pagefind/index/en-US_7b63622.pf_index b/pagefind/index/en-US_7b63622.pf_index new file mode 100644 index 0000000000000000000000000000000000000000..e027d4127d97beae701077a807f8eaba34c86034 GIT binary patch literal 2288 zcmVoV6ir|R7jiDg|=VQukM<l;UgtwU2V=(E78nfmuY^Lwbl`~3sk#<2(2z|S$H-^cenXuxAc8f-|z z^m}lqf2d{H_qG6z5!xq=0@oO5OaFFl8(=&7Tel7h+|(1 z7DEbOFr<^oVkA>#@t$7JZs6=z!d?rz;A!w&&K9++NJ4*#8X%8tk7@UnTozA z0!8bEhcKkyUZz+NP#R`&wwxp$f`@U~5Xvzzk{IQNtRxbV`d0Z9m9|s?>tIOH(&KyX zH{e&X?EWTTFoW8}$dRLaycoJ)qZpVsZHvZdZj z&iY;%=z@eb^t*}tG%`76O|F0&G4e%HNt;`M^_W^j5_^RxD2Z(EYFGzPKs60-b{PmhAPh`hBu}*QMVH}z6{4G3&y9{Dy7~2Qc*tWsy zU=I@RnXnh`gEzq6I6FxxO)C+*H`s}$aFoSO7z8rS?7SGnFpy;&r50X=Q4p7Tq6>AO z;-~&y$5}6WL1wk}VLQnDdW5>rDZLV9ki{}FT4s=mtV`@8VxAS1b^g8Z6Z8Z1XgbX+ zh`GpeOZ+hWiaaRBb{2K&s&@rvn=z2oTej`)=4_ibGzUZ35tKeFeUvj$DCyVE+AHC^ z*p?mYS$Z}zO=iIkIHKhjVI(_M(Va}g7=%Knc|Y|53@P&r+X}bEw97u#?TUn9D7&== z7m#F}NV0IZdbLO4G0vtE{#o!Q_%r-Rn_HlG(!eBX2`R`D(>Y4%3*eiaU4cHemYGv0 zEQAL*yI3gP~~RQd?Wf%Oo6a{RD8YE#hujzx2q~I)&I3e zh4z1KGnQnLi0s2t-5D-|_v`8<5tCJ$Lk*PF4MeO;m1K%M1AJZfLf_;t+imLV=MEZLtOOg zGA(6EV`iY~Q&LBbYC=VosCG;pQN>|woz2jTL)%t2!>!=MtKcJ?%^|efAqssuJQeo9 zC*jMSooiH{g7miZc+GoUiZV`fU5M&^uZMTQ4;4?D$F68j)o>-6ad0h03L(4gx|NLP zrfwI(2z=fc;~2-eU6EGT2S`_53D5Py+u-{os;Kw2U@|O+Rd6Oe1wyzNUIQP8Kfr&H zI=!sT>V~U~;`Josnqe7=T~^r#;TPETk_MZaqP2aU4)mg*$fn=VBC?yyJ?8O3^AKq3 zWdmm$IlGxkm1d^OCI(5Is^+<~1@jib4R8~9@EQ1;-otY#Pm<_$$G%=4naiTR*mKw% z7wW#CzrFA%^_;s2rolBZ2A_tn!oSr;q7s^HT5d0E; z1OMRc1kRQjl}%q9nyj<{-FZot+2t`4#fVk*Za9wqi11ByZNY$kyK%b(L)r(mNZi46 zjdo}<$`MgD`%RKe)*KI4aCQmCBXv^66Q<~U;K#&Omrd5EVVKf|;Wn`{oJ#5XZv)Dd zN~<&RA`3Hbm-JnI-U;`>^U%)%C$bH_EVR{eP`f{mFm|QP!63_}y-Z*e>B`ljw7P!R zqDj1xxSLIU0ZQGu?)s(PRBKX=0%9v&uKcWS0y+bQ+Y0Z5M=;3g?sK%O6j<2OpO2K7 zQCXC2*_7yo7|}WAH|@dMWa2Uy=hbx06BX*^bQl{jB*gBxX}%dKOo%WIsn=Xr!gUxH z@{T$#Y&Z1FRVQvDmgw89)@zrVDD6gjKm1IanT|o}3%iVGV_5nH zHMJ|2i*%MY5}IzwrdnQ#ekq>!ysH%|=wjjTmWAx{-4!wl$)ec2kKX3#(BbDILMH zD3F2H(MhBys|(-hy@@=dnd!22s zw`%fgxhIj*THh6FtGyMz$JtEIXp)v=Gz8tVY(~FQqeg!#+zzAgB6u~t8G}j;H(~c< zScxKXLkKQYv=W_#crpbR_$(8Tiv-+5lpjI&m;4lNRT`BG)J_Xy4j2qjaQL~uwPUMyWd;m@J9F(`eRw`Je|wg*%%(*bGUopZdULE%{Toq4K`nL5C0EM K8Osbw5C8ygBLpPETX0!auU+MY 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 literal 0 HcmV?d00001 diff --git a/pagefind/index/en-US_8dae8de.pf_index b/pagefind/index/en-US_8dae8de.pf_index new file mode 100644 index 0000000000000000000000000000000000000000..2aabcdf02318a61a0df8309fe938b330cea567f2 GIT binary patch literal 3424 zcmV-m4WIHKiwFP!00002|CLyGcpb$N_sKNVOMp2#SO{T+E#dY=?;#`*NFbHOxw7}( zN%!uKyL-}88fYXN0>N?O6d;gZl-_%rEuQs z(LOXtN7H-sDbJ!=dN23Q$k!o|J`D{O9ZUmsF1?d}qNU!OPNnbBQ?BzIO-uViND#-? zsN=4)1PA7M5?dV(GYc-|Mumg9h29g|hxF4f(TOXLs-^ik{$WVZ^e` zg8HO=LE7@Fs)+qgZRjgN)2Uinp)YWEYYu!bl(iw6;|Sk=CZy|zTxX%{?1de3^mQIL z3+0s8P7HIiEISe}4J`BHgRR-ZV5MzfO_EhME{9+U<#*x)_L7L8579?K+cWJU z&}qt={vbM!n}L^9DrlKVpu=JCej4D^qLbJ!yds8XGm9yri*Q-`aoLt|5Qq)6X-=T8 z(oZ=Gyu9iZwe41cB8s#`u5&)Of|i#gDs5UZRx_BZVBDJQYX^V zu-aG>nXe_L_tWF9v!mu%d2wp(@?&$-D@Cb1wjTXCJ;8pETj(xHltHIRtTz-QaV48@ z5wQn2486*mwvG)$m1b7IH_=;h?wpC|l^lgCS7~j!YXmOiW-ZF$hHNo6Lp6cho@=_f zK90kW9Y06+a1hFw`l=9!3z11Lewprt1jW>vqLbE{0KW)tg>+>S+8&1V zQrB6kkK2g@6?SSf`Kk^;j}dqiagoV&U)xWQ;ooN3%-usRS~O^?Y71xr5##xZ%Dt*( zxjgoC`tq6RH*=)A9&Ve}=zXrUD+KK7Yd(nZ$Fd5ffNApg8mf2F%{->Mxhi5~SMkU8 zbPTtEOk#wMP3HS*x9mVKrwv;9J%yjKu6E%asHsh03R4Va%i9G}74y|_jKj#&_j)Zd zCyfI2S8fUFD3f1jb+4LPm^aD~&g=YIb zT<3Vra}P#7@5tqMBr+m;H+>V)7e+FhA@CiGBW8zaJ?Jjs zzFB0OAykuYKUP{*m6!6j<0F4OEw4`5Oy6hHNo1%bI(4!Iay|F0)u~HYV6Ru2_F*K{ z+BKJP*iuPe#~PH{*LC(6WMR`JdV{c~)1roE1ZvA&x&oDmHlY@oN>taO-*Qt3Otq2} z)mvnx_1U5ztXsSY5u?*LF7qPpF8zOYmUWm!+;#Ov zNpW^Fq8L|QrKPp&0CxwU(Fel4EIW1!G}&Ko$%-Hjv!Xd{ewItWTsNg?yx;`wE>vAO zipAxvI22w{Y)zfAAJ3?Bbq4;;%)L8|$JGsIz>R+(LYH`I`Cdt3ZC zw<+jAE!m!w&<~6bF2`|h`(`WR7a?L^AvM}8_;I=wCKN4oM7|ypt_I7})U)kql-`E1 z#JRjd3+Vt_OvlhGNYT6K8}tbM8Dhc1w$C|B2k8=B*ZjCnqeqy<{n;C{Cw_^3!{L}W z;Z18VU&~_xltB^KRUbGnsdYbuo9Hx~9UIhL8saGNDpl6RXK;|HUQJs8a?@a0g_nR_ z-(9w`yx4UPb)DyHX$Qph942upxl_0LhoX!+NNv09PA{bM$)oSm&vie)GwiEC+38x< z&M`(F#`#%umKR*splx>Eb#Ll7qsLb4Y%~*(3_bWALOMn=-iDq}UHT6FjQ;34&vl)1 zP+pVM~} zH)Z!e4{PJ0#GV%MR(b@oWjZ|z49lLtal4aL@fJPKXVLwK?M_)&+<$SDVwB1zEe!oq zrRt=91f#u<)9%xT*EFj)zm=oRA5%fi{1UXvK^E4#SFxW(GdhlT+*5SX*mc^FyI?J~ zJ!3#uK=qsT@=hFPxw1nVEyV%3^y)U}JlL3X9T!^*TR$^%KSZCfCof<>FNJ6^60W+i z69?mZ%LbUzGv1o;93)So-UR@jB#!;aX<(2m6GkL7g%5Tx;zmdKqRN!CC z7>lemn_q3@Um;A(JWFc>VE8CHNnH#J4$z%j!<~dgUCGpB`*cqdpd9iAL|vaYQi$fj z&LX>O)Q%jPJS?|%h_0q z*9C4J(w8ZUEmq>^#1g*>U~IZ`0gvRS232jpGq|M@y*^-TP-Iax=^58|C9+W2cfi+j z8KPPxt{VoXz#i}m9FTR2fQ{p3t;lCXp&T=^9fpxsS}4eA=oP*4I|33srld_j^jGd5^Pat z)^CE1-eWKD_sj)Y#-XX*8u=U!Dk+P4;(ZxS(0aNSR~jVaJ&zpDQRNlQx09_FXG-7t_bIHmID-(HdZo(eHzJF)QovI*t8G3Zhv1bh;Ezlpn;)kZvEBAyzii-&|)q z*BJ)yEURnxQaTwnn9OP+cfsmZu1tq}wGF8;L7B+2a$ar9?U5XI(zxz#UjnG~%zMuq z28y6lDqBO&qbYhjz0aK4zyJkGRn%{>r|V+c$KFIO#sM5m=+xA!YfU>cODfW7on?qd z*P$z*dBg=&&;E7~a&?^5?-@U|YX`c{!QdZzHmyIz{zN@lqW7Eh=AR(8RjzX$R;C~`3j!g57ytmN Ch^A%$ literal 0 HcmV?d00001 diff --git a/pagefind/index/en-US_8fefc62.pf_index b/pagefind/index/en-US_8fefc62.pf_index new file mode 100644 index 0000000000000000000000000000000000000000..db5a6efa55e8733c751d8b249de84c8901348d61 GIT binary patch literal 3435 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 N^*_|dWSNZ^007Mk-5vk{ literal 0 HcmV?d00001 diff --git a/pagefind/index/en-US_9f4a87d.pf_index b/pagefind/index/en-US_9f4a87d.pf_index new file mode 100644 index 0000000000000000000000000000000000000000..9b321c70f05e515c000340f1f940a40a88e8e725 GIT binary patch literal 3431 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 J_Zx~B000Qm&CCD* literal 0 HcmV?d00001 diff --git a/pagefind/index/en-US_be41ba7.pf_index b/pagefind/index/en-US_be41ba7.pf_index new file mode 100644 index 0000000000000000000000000000000000000000..45d96e4701b7c98a741d33dd370a07a0f15a3bbf GIT binary patch literal 2053 zcmV+g2>SOQiwFP!00002|BY95m=)I*-$4Qd4FvcN0fJ>A$r6@by1VPSHcS5tA0Ny)_t-u6cjOg8ETbd~ z4}>B-dirJ(!^6Wz$)nDxc@z#?V(TLPJ=%VcwS2LAbl*`Lph0|%BK|&iv zm6DxdtHmZ1BM68FuIpglGVH=0+zSsyfJ1m0KI?nK+S3Y>K{sz|?RRE?qCf~)Rm#RT z{L}ZADNdc_85=szRxiPIc(Lzo@x4J4={AakFf3VzC8j%AgU922=4c(;j%8N!!8J_Y z5syZKr~2NU&WuNMNd4Oll;L9?T#On|!Sl(RQr}xh1X*YduEo3Y3(aTeo76#KZ}?c> z+srPCB2CC}d_2*(-b_8_mw6z1>IpihaC_D)r6%Bei&(ELgGoc9;agT!E)q)%zLchG z%UI9$>bgw2jpIzSN>lgpQfIC|pF}qZ)!7ivP{iNeT!|hZ!asa(DJz`8O?1fctI1$I zwUmXdGhK zqFaR;GZ^IW_8OP5gGuXPEAC3M2+~^GtN}xmSw@<4%b?^0c?^slxPqhz>ZWwQcT!LE zf;0`X*s9)!C3;dEvgAFOOoOIsV-WfHtg)D>aei_e$+PeY%_>saxB6F7B=RguVgvW@ z;1)V)7zd)nB~x*GhO0w6!MqeDo`%!-sqf8IMzcCdGHdh!WZq2OU;~Ar%yL_RdnpQK zmBg8)w^AG?Rgr4QOe^_SzPHx*E}?FiTWg~v!#t6xQCZ0L*qJkbDIXSjS=&fw@MRKV zsR1|Sd&^n4%nN(?Mtqaqm6Hd`CNnIS@V$)`N(QvW`lRn&rX4M%NcIEHmDPTM?=4U) zDH`YP6h1{g+2=xGNSm@+jQik()?ZDr?AIlixxL3@D2xJ~(`g1IGk!-s#TYRtRR*^y zpmN?N8#}39i?$8Q29TYPNsPr#P;cSP-LW- zKBnQu%Gs-zOt zOBmC261m3q1nMS{EsVS4o_GkZ$D8mk=BhrdxZCkSY(e;`%-*{Rn_Uq z4(4Jr?vID#$+!V;#Sics;v%dXd)3QX&>?&i=P@{FiPz)n6r?T`pJLUP8k_MxH#L#U zwlJ^cW7pesL^~-m$t7EQ>wIrLV~@L*ZkS=3WYWyEW#+TSYQ@O73XNoeOscsx`2MseRU6ou#GGmPN&tEL^ z?m;OWtS0az93hd1PGgL^c|_*>u#Ry#b8P2cN?~3|JA2u9lox7Av9`X~nen|9EZvT$ z5t6#R+}6egq=t{GR~D;WLPXxQxVW4G*NU=$EfSaNIds@O(wK2LaX0=e1?EP$fVf0lG2u=WmGbH)DQz|m8udLCa~&0V z=3MSzttNF{s!PI-k0Cof0*h$87GKqF7EoA;z>c^j6jh?+S|od=Jvu2|4HfT7EfP)= zk3}|+h#-ujjJ0w2n%#le6g`xd54a4Fux4BiF}V z;!%)@aW$R}!f`wkZ^k?D9()KN!}oCxKf^EaTl~@YJl~sdR$E|$GOKQ3++L;0%-$7v zBtGhU^At0&&p5~TuHd%B!&7h4waUx2sx4v!*W%gu34V|N`rdZd$#eH!yE)d0+&N*K z)suxhYG3-GA`A#@SJ+8mQw3(Fo58n8G?iONZ;KzRLsf*TVa%c6urs@w#9{URZK>Bx za`Vz1!2G~q%G%Ka@nJ3}Q^30AuJJukI1#x03I8E6p=Y#G>EQh&C(fJ5eTpV{(@?#~ zGq(&Uc=B5D4G390Z`zUlNhZsrZsEYcVH90Ux84jQqtGttC)y3Zzzgw15|epj#s2Mk jLlm7ma>MK*w^7kIw!i$&YO?)haMS+);RZ1&Zw>$eJt+l7 literal 0 HcmV?d00001 diff --git a/pagefind/index/en-US_e090609.pf_index b/pagefind/index/en-US_e090609.pf_index new file mode 100644 index 0000000000000000000000000000000000000000..955b62cfcee60c11dccb6c9caf2dc5fe8d260bbe GIT binary patch literal 3432 zcmV-u4VUsCiwFP!00002|CLy0oE=pa-`Nl#)X>j_8WNTOFJzZZd5cIXj{kG-owtjAP?P=b&N=to zbIv{Y)SG!t)rgXCc^HH%&vO=X(BI#`l6$$nZX*u+EiiAE{vPap4|VbW0KR&-PUPcz zz{ zK~arp83&6O4+=$%uBIQbzhr2NJX|`|Rn@QePf@9Qzug5Eg7Caa!`5Zz>^g0<71d~f zUQ373G4u`!=oETCeS@BKo!4lwvsrn5+AbN&*U5EG5bXLMZg@eUib5FAcb$!0$K}8a z%9Wao4w3aTN)v2b19%tu6kX&x3teZx9A-W@y)ewd0Tiq1v?GnuU1n(xBsNu2Ld`X` zne~I{wE9UKv2$k4b>8GUCxYU5ifF=hwydvrcm~UF<;COPgcW`e`(A?GV7m$R(TBBw z?P(Q#fqN(AYfq?}goXkqUrRS>Eq9{B=??mX>l~};XlL3(2qSB}5!b0fP?p6J8;nbt zQF$)6fX`DeXlWhR(VMX|SM~yz8}cJvXL~Tn^RA|=VWy%;gG$8CRDe@i=8@m7O!*Pe zw98hSYY*+r((fGt+elJJ#boBW9tP@J3_9+$_tE*h>P-{9xgh z2(W;LWG&gS;yeTH&7toV<~-O8qxy0lFzOpnW+A#FW}X`yqsGW)*m4JFhHQ2SKBu)pDJa zxfQg$7+2A>0+xZirGgP_w@VH7ZNNsQS9Z6JXb_QQc?su}IRsW!;9IaK_S!}F)Ippk z%G#<8+Em*>pmFGwj;`z;p$TXdu>mDkYkwS|7JbPW*^i)kQMtz zy*rELTD0y91d#+PD~+_xWqZAiqNRMK*oyYcSPC#_dWfMZ8_5uz=m84*}7OU^4 z6?6`rOP{9Cn9yFrjZkGOsVsK7z(v$dR+{yB+zizi96r+o>w7s0qg(}LnpgU~n=S@X zRAjLZ{8b`#H`m$Ib^6#3Q){h$ZiQ*k9))99s=a|#m_{l#qBe!1>D1!BSj^JAw066S zp5q`Cnc7k2fH)VO^y2lfNHfeQmgnuH$_8^>XCDp~QkKnTr@KzS7PKY%s*1QbF(Pd& z%2V;|)${3j{NF$uxU-ioPY>g~oh&z%O?ZD&5M@49+J-r7c-mc8BT3Q_P=Di=pbjvpRGe(CtZ<{DrV;?X z9vh=r+3I_yR5W<|Pv~WOMT$Iqg?>eU)@p4llu2l=eJ8L%z^dHZ=4%?BO0fM#;)m&B z*Exa%Bw|Q7y-r)xfpj&(^C_v1LbBO*u5+knxg8^4w?%*>Vcek4(Jgc@gy!j}P4UMd zN>b}-sAafe5kFrVlcw0QXH|_(1zo|ttB^WsuySWUR$67574o<3BN@CZV@}vi-fMD0 z!%#^o(PTbM=j*1Soxk91X`RA;S=48eX=jmMe6n-jS+_kXTQ!q)npKe%S=a#;!bl~BDo|7hyF~`<`fvmKGEsAJjVun)ib7Gd z5m`GY>_^oNoXbJft>2?qXs`*vgXul&NG5(Oy`6lzfNpS|O|UKvojB_|=*wtuZZkA{ z(Q-Ns`TjoFInd~_3nOw61EZD0ypC0rWV*_WU!O>q(o;fHWKk8EyK5M>gbE+i*I1(k zzz@>f=%aKVV(3nK67jG*CDQpCzQ^#$e_jA8o*>m!b=jZ8C@HNY(^)u(d|PMnqs(Na z9Vn(d%>i7FqRh6&R=;bYUsfVT+H80UeGk@?BkE8chHCS`t1wl0V_0P+-N4RSb(%rD z(L8z$y@wQimTsn>(_f%ZQM64rkL=!SdK*8oxpXJ9uq%7RR@$}5#^JCx=84|5ZRiXh z7N`jFD6@G}kX~FJ8LhpvHEru^9jb97_DWUQHh>m$5UXw-TMBa1QQ70}3v%scY$JFt z*V)^3jz^|JHzT*sVH_n@BHe`@$#&b)Tj*r+=yrNgckf%_S{2CJ9h)Z)GH30F@U*$= z)w9L9W`vO`20t|<TI!k^^wd-ZX5(_=>uG*74ZF4zW{5@g_ij=tjs z($+pyrCS>vfDa`B5%U(tz&H@l-ScM-b3Gq zZmG`90w3!-hjBF8j>~9Tb91GpY8PFn!TgzEkV?m`2plj`s!Hhlu}Tn#o$14=pHz+3 z$2mwc2_D$%e2(!wy`l)k`P@kTVHH&3*TTPpG_2S!Wj}40bhO!)a$1dDqfNav))Lzu zA4d}~&Ru$WOAgaa*%^-Zhk#6)c$<}eT3_!vJ7a5Zwr)oOf_hJT*w?bsN!pJ00n)H^ z>{4j3rTBLb2-0@fPK(*gtpDF@&T<(&&0&TDQjr`fU~Y5GYyq?%oF%>92C0WKoMGb~ zcsm%We8H4LVfzB7(~#48xCdBeX%U$m-@y|IE_7USrHXBj(FFQgtHr_G#QYpgCB1)u z-XN;UauZF`%)L?L-a8;mX>0DM7tDRh!jAMQ$j;NWVN{vL4M1a2Xv0G4zmeL@epU$4 zJY?fWHi0qQo@-lHr?jJBL__Nk@SeFl+L)1=tNczUa5GoUcI;KP}_ZbouTu;F~=d=gBF4auN2+zJ%@urb=?JB zY@uRnS-Mfy#O!DSHwb@U*TOZ(eWr$<#7b^Fw)AfV7@59az=hn@psLJw6t^^@+ceAs zMcOFGy_}7yaG%(df+$b`P)pmY{ zQY{qnB=qub*&YN5USX1^EtDVA=Gzh2wvPq7@!cE=Jb{WoYULjRL2W(LNd~x>o^YKR zuCt?H^D6&d0XBM%jm&GzwJ+k(6!{)AcLt?YP(1*@lg7}AT!`KuBqQCs*pC~fmp7|g zN=M6bF=E~P<8*;R4}w)tje?icGuWl_(QX948N1X}YTaDGj!k`AV8RYdJV{wq_todx zlorz);C4aTk}51Nw1{4hIbw`f(-$zvT+7aiznYg6P6ddPLQW>rc@Zxx$wj(VVw zMuqJamqE*u>9hJIy{@wa9RyOgelJ9%7gazV!G0+vQ!IS|l{878pvz2yxrolE-_YM( zXEWD9jVaSKHUhUY*4&?72P=%Hm8#o-W+GEMCC}C+LE>pxa3=7~-ORSt0&8JAiK;&M za6pA;9)#A*t5&;Eww4@<4vyi5T56qsEtD#+9%YZxWw)2Tu}TrVT#o6a)GdHbJ7-H0 z(z%^w@pJtmKk{q`x(?p^4EtkM{d|nWac}CS z0wrr)PiLb061oSgkVZ~{dKh`&_p~w4fDo50y99G1sP{0OO4m6F zt7$%BSq;%utj5!J99n&kH23=`u=%w2u|?bzxK#Engy!Q7E3_}AYp32(S76lmB?l8} z+eXxT=@M&!Ovy9==vYMQMM%51b7RAbbEjTn_7V7k?(_fM8tgvd-t;dN K*-+Ds7ytkUq^KnT literal 0 HcmV?d00001 diff --git a/pagefind/index/en-US_e2f8992.pf_index b/pagefind/index/en-US_e2f8992.pf_index new file mode 100644 index 0000000000000000000000000000000000000000..a2a9f1e6e6254491e7ff3338b5855497b85f4153 GIT binary patch literal 3439 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 R_TFs2{U2ilk>s5i006G(%`yN0 literal 0 HcmV?d00001 diff --git a/pagefind/pagefind-entry.json b/pagefind/pagefind-entry.json new file mode 100644 index 0000000..153508a --- /dev/null +++ b/pagefind/pagefind-entry.json @@ -0,0 +1 @@ +{"version":"1.3.0","languages":{"en-US":{"hash":"en-US_1dde61ff90807","wasm":"en-US","page_count":5}}} \ No newline at end of file diff --git a/pagefind/pagefind-highlight.js b/pagefind/pagefind-highlight.js new file mode 100644 index 0000000..c823fbf --- /dev/null +++ b/pagefind/pagefind-highlight.js @@ -0,0 +1,1069 @@ +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); + +// node_modules/mark.js/dist/mark.js +var require_mark = __commonJS({ + "node_modules/mark.js/dist/mark.js"(exports, module) { + (function(global, factory) { + typeof exports === "object" && typeof module !== "undefined" ? module.exports = factory() : typeof define === "function" && define.amd ? define(factory) : global.Mark = factory(); + })(exports, function() { + "use strict"; + var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function(obj) { + return typeof obj; + } : function(obj) { + return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; + }; + var classCallCheck = function(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } + }; + var createClass = function() { + function defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) + descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + return function(Constructor, protoProps, staticProps) { + if (protoProps) + defineProperties(Constructor.prototype, protoProps); + if (staticProps) + defineProperties(Constructor, staticProps); + return Constructor; + }; + }(); + var _extends = Object.assign || function(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + return target; + }; + var DOMIterator = function() { + function DOMIterator2(ctx) { + var iframes = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true; + var exclude = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : []; + var iframesTimeout = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 5e3; + classCallCheck(this, DOMIterator2); + this.ctx = ctx; + this.iframes = iframes; + this.exclude = exclude; + this.iframesTimeout = iframesTimeout; + } + createClass(DOMIterator2, [{ + key: "getContexts", + value: function getContexts() { + var ctx = void 0, filteredCtx = []; + if (typeof this.ctx === "undefined" || !this.ctx) { + ctx = []; + } else if (NodeList.prototype.isPrototypeOf(this.ctx)) { + ctx = Array.prototype.slice.call(this.ctx); + } else if (Array.isArray(this.ctx)) { + ctx = this.ctx; + } else if (typeof this.ctx === "string") { + ctx = Array.prototype.slice.call(document.querySelectorAll(this.ctx)); + } else { + ctx = [this.ctx]; + } + ctx.forEach(function(ctx2) { + var isDescendant = filteredCtx.filter(function(contexts) { + return contexts.contains(ctx2); + }).length > 0; + if (filteredCtx.indexOf(ctx2) === -1 && !isDescendant) { + filteredCtx.push(ctx2); + } + }); + return filteredCtx; + } + }, { + key: "getIframeContents", + value: function getIframeContents(ifr, successFn) { + var errorFn = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : function() { + }; + var doc = void 0; + try { + var ifrWin = ifr.contentWindow; + doc = ifrWin.document; + if (!ifrWin || !doc) { + throw new Error("iframe inaccessible"); + } + } catch (e) { + errorFn(); + } + if (doc) { + successFn(doc); + } + } + }, { + key: "isIframeBlank", + value: function isIframeBlank(ifr) { + var bl = "about:blank", src = ifr.getAttribute("src").trim(), href = ifr.contentWindow.location.href; + return href === bl && src !== bl && src; + } + }, { + key: "observeIframeLoad", + value: function observeIframeLoad(ifr, successFn, errorFn) { + var _this = this; + var called = false, tout = null; + var listener = function listener2() { + if (called) { + return; + } + called = true; + clearTimeout(tout); + try { + if (!_this.isIframeBlank(ifr)) { + ifr.removeEventListener("load", listener2); + _this.getIframeContents(ifr, successFn, errorFn); + } + } catch (e) { + errorFn(); + } + }; + ifr.addEventListener("load", listener); + tout = setTimeout(listener, this.iframesTimeout); + } + }, { + key: "onIframeReady", + value: function onIframeReady(ifr, successFn, errorFn) { + try { + if (ifr.contentWindow.document.readyState === "complete") { + if (this.isIframeBlank(ifr)) { + this.observeIframeLoad(ifr, successFn, errorFn); + } else { + this.getIframeContents(ifr, successFn, errorFn); + } + } else { + this.observeIframeLoad(ifr, successFn, errorFn); + } + } catch (e) { + errorFn(); + } + } + }, { + key: "waitForIframes", + value: function waitForIframes(ctx, done) { + var _this2 = this; + var eachCalled = 0; + this.forEachIframe(ctx, function() { + return true; + }, function(ifr) { + eachCalled++; + _this2.waitForIframes(ifr.querySelector("html"), function() { + if (!--eachCalled) { + done(); + } + }); + }, function(handled) { + if (!handled) { + done(); + } + }); + } + }, { + key: "forEachIframe", + value: function forEachIframe(ctx, filter, each) { + var _this3 = this; + var end = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : function() { + }; + var ifr = ctx.querySelectorAll("iframe"), open = ifr.length, handled = 0; + ifr = Array.prototype.slice.call(ifr); + var checkEnd = function checkEnd2() { + if (--open <= 0) { + end(handled); + } + }; + if (!open) { + checkEnd(); + } + ifr.forEach(function(ifr2) { + if (DOMIterator2.matches(ifr2, _this3.exclude)) { + checkEnd(); + } else { + _this3.onIframeReady(ifr2, function(con) { + if (filter(ifr2)) { + handled++; + each(con); + } + checkEnd(); + }, checkEnd); + } + }); + } + }, { + key: "createIterator", + value: function createIterator(ctx, whatToShow, filter) { + return document.createNodeIterator(ctx, whatToShow, filter, false); + } + }, { + key: "createInstanceOnIframe", + value: function createInstanceOnIframe(contents) { + return new DOMIterator2(contents.querySelector("html"), this.iframes); + } + }, { + key: "compareNodeIframe", + value: function compareNodeIframe(node, prevNode, ifr) { + var compCurr = node.compareDocumentPosition(ifr), prev = Node.DOCUMENT_POSITION_PRECEDING; + if (compCurr & prev) { + if (prevNode !== null) { + var compPrev = prevNode.compareDocumentPosition(ifr), after = Node.DOCUMENT_POSITION_FOLLOWING; + if (compPrev & after) { + return true; + } + } else { + return true; + } + } + return false; + } + }, { + key: "getIteratorNode", + value: function getIteratorNode(itr) { + var prevNode = itr.previousNode(); + var node = void 0; + if (prevNode === null) { + node = itr.nextNode(); + } else { + node = itr.nextNode() && itr.nextNode(); + } + return { + prevNode, + node + }; + } + }, { + key: "checkIframeFilter", + value: function checkIframeFilter(node, prevNode, currIfr, ifr) { + var key = false, handled = false; + ifr.forEach(function(ifrDict, i) { + if (ifrDict.val === currIfr) { + key = i; + handled = ifrDict.handled; + } + }); + if (this.compareNodeIframe(node, prevNode, currIfr)) { + if (key === false && !handled) { + ifr.push({ + val: currIfr, + handled: true + }); + } else if (key !== false && !handled) { + ifr[key].handled = true; + } + return true; + } + if (key === false) { + ifr.push({ + val: currIfr, + handled: false + }); + } + return false; + } + }, { + key: "handleOpenIframes", + value: function handleOpenIframes(ifr, whatToShow, eCb, fCb) { + var _this4 = this; + ifr.forEach(function(ifrDict) { + if (!ifrDict.handled) { + _this4.getIframeContents(ifrDict.val, function(con) { + _this4.createInstanceOnIframe(con).forEachNode(whatToShow, eCb, fCb); + }); + } + }); + } + }, { + key: "iterateThroughNodes", + value: function iterateThroughNodes(whatToShow, ctx, eachCb, filterCb, doneCb) { + var _this5 = this; + var itr = this.createIterator(ctx, whatToShow, filterCb); + var ifr = [], elements = [], node = void 0, prevNode = void 0, retrieveNodes = function retrieveNodes2() { + var _getIteratorNode = _this5.getIteratorNode(itr); + prevNode = _getIteratorNode.prevNode; + node = _getIteratorNode.node; + return node; + }; + while (retrieveNodes()) { + if (this.iframes) { + this.forEachIframe(ctx, function(currIfr) { + return _this5.checkIframeFilter(node, prevNode, currIfr, ifr); + }, function(con) { + _this5.createInstanceOnIframe(con).forEachNode(whatToShow, function(ifrNode) { + return elements.push(ifrNode); + }, filterCb); + }); + } + elements.push(node); + } + elements.forEach(function(node2) { + eachCb(node2); + }); + if (this.iframes) { + this.handleOpenIframes(ifr, whatToShow, eachCb, filterCb); + } + doneCb(); + } + }, { + key: "forEachNode", + value: function forEachNode(whatToShow, each, filter) { + var _this6 = this; + var done = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : function() { + }; + var contexts = this.getContexts(); + var open = contexts.length; + if (!open) { + done(); + } + contexts.forEach(function(ctx) { + var ready = function ready2() { + _this6.iterateThroughNodes(whatToShow, ctx, each, filter, function() { + if (--open <= 0) { + done(); + } + }); + }; + if (_this6.iframes) { + _this6.waitForIframes(ctx, ready); + } else { + ready(); + } + }); + } + }], [{ + key: "matches", + value: function matches(element, selector) { + var selectors = typeof selector === "string" ? [selector] : selector, fn = element.matches || element.matchesSelector || element.msMatchesSelector || element.mozMatchesSelector || element.oMatchesSelector || element.webkitMatchesSelector; + if (fn) { + var match = false; + selectors.every(function(sel) { + if (fn.call(element, sel)) { + match = true; + return false; + } + return true; + }); + return match; + } else { + return false; + } + } + }]); + return DOMIterator2; + }(); + var Mark$1 = function() { + function Mark3(ctx) { + classCallCheck(this, Mark3); + this.ctx = ctx; + this.ie = false; + var ua = window.navigator.userAgent; + if (ua.indexOf("MSIE") > -1 || ua.indexOf("Trident") > -1) { + this.ie = true; + } + } + createClass(Mark3, [{ + key: "log", + value: function log(msg) { + var level = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "debug"; + var log2 = this.opt.log; + if (!this.opt.debug) { + return; + } + if ((typeof log2 === "undefined" ? "undefined" : _typeof(log2)) === "object" && typeof log2[level] === "function") { + log2[level]("mark.js: " + msg); + } + } + }, { + key: "escapeStr", + value: function escapeStr(str) { + return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&"); + } + }, { + key: "createRegExp", + value: function createRegExp(str) { + if (this.opt.wildcards !== "disabled") { + str = this.setupWildcardsRegExp(str); + } + str = this.escapeStr(str); + if (Object.keys(this.opt.synonyms).length) { + str = this.createSynonymsRegExp(str); + } + if (this.opt.ignoreJoiners || this.opt.ignorePunctuation.length) { + str = this.setupIgnoreJoinersRegExp(str); + } + if (this.opt.diacritics) { + str = this.createDiacriticsRegExp(str); + } + str = this.createMergedBlanksRegExp(str); + if (this.opt.ignoreJoiners || this.opt.ignorePunctuation.length) { + str = this.createJoinersRegExp(str); + } + if (this.opt.wildcards !== "disabled") { + str = this.createWildcardsRegExp(str); + } + str = this.createAccuracyRegExp(str); + return str; + } + }, { + key: "createSynonymsRegExp", + value: function createSynonymsRegExp(str) { + var syn = this.opt.synonyms, sens = this.opt.caseSensitive ? "" : "i", joinerPlaceholder = this.opt.ignoreJoiners || this.opt.ignorePunctuation.length ? "\0" : ""; + for (var index in syn) { + if (syn.hasOwnProperty(index)) { + var value = syn[index], k1 = this.opt.wildcards !== "disabled" ? this.setupWildcardsRegExp(index) : this.escapeStr(index), k2 = this.opt.wildcards !== "disabled" ? this.setupWildcardsRegExp(value) : this.escapeStr(value); + if (k1 !== "" && k2 !== "") { + str = str.replace(new RegExp("(" + this.escapeStr(k1) + "|" + this.escapeStr(k2) + ")", "gm" + sens), joinerPlaceholder + ("(" + this.processSynomyms(k1) + "|") + (this.processSynomyms(k2) + ")") + joinerPlaceholder); + } + } + } + return str; + } + }, { + key: "processSynomyms", + value: function processSynomyms(str) { + if (this.opt.ignoreJoiners || this.opt.ignorePunctuation.length) { + str = this.setupIgnoreJoinersRegExp(str); + } + return str; + } + }, { + key: "setupWildcardsRegExp", + value: function setupWildcardsRegExp(str) { + str = str.replace(/(?:\\)*\?/g, function(val) { + return val.charAt(0) === "\\" ? "?" : ""; + }); + return str.replace(/(?:\\)*\*/g, function(val) { + return val.charAt(0) === "\\" ? "*" : ""; + }); + } + }, { + key: "createWildcardsRegExp", + value: function createWildcardsRegExp(str) { + var spaces = this.opt.wildcards === "withSpaces"; + return str.replace(/\u0001/g, spaces ? "[\\S\\s]?" : "\\S?").replace(/\u0002/g, spaces ? "[\\S\\s]*?" : "\\S*"); + } + }, { + key: "setupIgnoreJoinersRegExp", + value: function setupIgnoreJoinersRegExp(str) { + return str.replace(/[^(|)\\]/g, function(val, indx, original) { + var nextChar = original.charAt(indx + 1); + if (/[(|)\\]/.test(nextChar) || nextChar === "") { + return val; + } else { + return val + "\0"; + } + }); + } + }, { + key: "createJoinersRegExp", + value: function createJoinersRegExp(str) { + var joiner = []; + var ignorePunctuation = this.opt.ignorePunctuation; + if (Array.isArray(ignorePunctuation) && ignorePunctuation.length) { + joiner.push(this.escapeStr(ignorePunctuation.join(""))); + } + if (this.opt.ignoreJoiners) { + joiner.push("\\u00ad\\u200b\\u200c\\u200d"); + } + return joiner.length ? str.split(/\u0000+/).join("[" + joiner.join("") + "]*") : str; + } + }, { + key: "createDiacriticsRegExp", + value: function createDiacriticsRegExp(str) { + var sens = this.opt.caseSensitive ? "" : "i", dct = this.opt.caseSensitive ? ["a\xE0\xE1\u1EA3\xE3\u1EA1\u0103\u1EB1\u1EAF\u1EB3\u1EB5\u1EB7\xE2\u1EA7\u1EA5\u1EA9\u1EAB\u1EAD\xE4\xE5\u0101\u0105", "A\xC0\xC1\u1EA2\xC3\u1EA0\u0102\u1EB0\u1EAE\u1EB2\u1EB4\u1EB6\xC2\u1EA6\u1EA4\u1EA8\u1EAA\u1EAC\xC4\xC5\u0100\u0104", "c\xE7\u0107\u010D", "C\xC7\u0106\u010C", "d\u0111\u010F", "D\u0110\u010E", "e\xE8\xE9\u1EBB\u1EBD\u1EB9\xEA\u1EC1\u1EBF\u1EC3\u1EC5\u1EC7\xEB\u011B\u0113\u0119", "E\xC8\xC9\u1EBA\u1EBC\u1EB8\xCA\u1EC0\u1EBE\u1EC2\u1EC4\u1EC6\xCB\u011A\u0112\u0118", "i\xEC\xED\u1EC9\u0129\u1ECB\xEE\xEF\u012B", "I\xCC\xCD\u1EC8\u0128\u1ECA\xCE\xCF\u012A", "l\u0142", "L\u0141", "n\xF1\u0148\u0144", "N\xD1\u0147\u0143", "o\xF2\xF3\u1ECF\xF5\u1ECD\xF4\u1ED3\u1ED1\u1ED5\u1ED7\u1ED9\u01A1\u1EDF\u1EE1\u1EDB\u1EDD\u1EE3\xF6\xF8\u014D", "O\xD2\xD3\u1ECE\xD5\u1ECC\xD4\u1ED2\u1ED0\u1ED4\u1ED6\u1ED8\u01A0\u1EDE\u1EE0\u1EDA\u1EDC\u1EE2\xD6\xD8\u014C", "r\u0159", "R\u0158", "s\u0161\u015B\u0219\u015F", "S\u0160\u015A\u0218\u015E", "t\u0165\u021B\u0163", "T\u0164\u021A\u0162", "u\xF9\xFA\u1EE7\u0169\u1EE5\u01B0\u1EEB\u1EE9\u1EED\u1EEF\u1EF1\xFB\xFC\u016F\u016B", "U\xD9\xDA\u1EE6\u0168\u1EE4\u01AF\u1EEA\u1EE8\u1EEC\u1EEE\u1EF0\xDB\xDC\u016E\u016A", "y\xFD\u1EF3\u1EF7\u1EF9\u1EF5\xFF", "Y\xDD\u1EF2\u1EF6\u1EF8\u1EF4\u0178", "z\u017E\u017C\u017A", "Z\u017D\u017B\u0179"] : ["a\xE0\xE1\u1EA3\xE3\u1EA1\u0103\u1EB1\u1EAF\u1EB3\u1EB5\u1EB7\xE2\u1EA7\u1EA5\u1EA9\u1EAB\u1EAD\xE4\xE5\u0101\u0105A\xC0\xC1\u1EA2\xC3\u1EA0\u0102\u1EB0\u1EAE\u1EB2\u1EB4\u1EB6\xC2\u1EA6\u1EA4\u1EA8\u1EAA\u1EAC\xC4\xC5\u0100\u0104", "c\xE7\u0107\u010DC\xC7\u0106\u010C", "d\u0111\u010FD\u0110\u010E", "e\xE8\xE9\u1EBB\u1EBD\u1EB9\xEA\u1EC1\u1EBF\u1EC3\u1EC5\u1EC7\xEB\u011B\u0113\u0119E\xC8\xC9\u1EBA\u1EBC\u1EB8\xCA\u1EC0\u1EBE\u1EC2\u1EC4\u1EC6\xCB\u011A\u0112\u0118", "i\xEC\xED\u1EC9\u0129\u1ECB\xEE\xEF\u012BI\xCC\xCD\u1EC8\u0128\u1ECA\xCE\xCF\u012A", "l\u0142L\u0141", "n\xF1\u0148\u0144N\xD1\u0147\u0143", "o\xF2\xF3\u1ECF\xF5\u1ECD\xF4\u1ED3\u1ED1\u1ED5\u1ED7\u1ED9\u01A1\u1EDF\u1EE1\u1EDB\u1EDD\u1EE3\xF6\xF8\u014DO\xD2\xD3\u1ECE\xD5\u1ECC\xD4\u1ED2\u1ED0\u1ED4\u1ED6\u1ED8\u01A0\u1EDE\u1EE0\u1EDA\u1EDC\u1EE2\xD6\xD8\u014C", "r\u0159R\u0158", "s\u0161\u015B\u0219\u015FS\u0160\u015A\u0218\u015E", "t\u0165\u021B\u0163T\u0164\u021A\u0162", "u\xF9\xFA\u1EE7\u0169\u1EE5\u01B0\u1EEB\u1EE9\u1EED\u1EEF\u1EF1\xFB\xFC\u016F\u016BU\xD9\xDA\u1EE6\u0168\u1EE4\u01AF\u1EEA\u1EE8\u1EEC\u1EEE\u1EF0\xDB\xDC\u016E\u016A", "y\xFD\u1EF3\u1EF7\u1EF9\u1EF5\xFFY\xDD\u1EF2\u1EF6\u1EF8\u1EF4\u0178", "z\u017E\u017C\u017AZ\u017D\u017B\u0179"]; + var handled = []; + str.split("").forEach(function(ch) { + dct.every(function(dct2) { + if (dct2.indexOf(ch) !== -1) { + if (handled.indexOf(dct2) > -1) { + return false; + } + str = str.replace(new RegExp("[" + dct2 + "]", "gm" + sens), "[" + dct2 + "]"); + handled.push(dct2); + } + return true; + }); + }); + return str; + } + }, { + key: "createMergedBlanksRegExp", + value: function createMergedBlanksRegExp(str) { + return str.replace(/[\s]+/gmi, "[\\s]+"); + } + }, { + key: "createAccuracyRegExp", + value: function createAccuracyRegExp(str) { + var _this = this; + var chars = "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~\xA1\xBF"; + var acc = this.opt.accuracy, val = typeof acc === "string" ? acc : acc.value, ls = typeof acc === "string" ? [] : acc.limiters, lsJoin = ""; + ls.forEach(function(limiter) { + lsJoin += "|" + _this.escapeStr(limiter); + }); + switch (val) { + case "partially": + default: + return "()(" + str + ")"; + case "complementary": + lsJoin = "\\s" + (lsJoin ? lsJoin : this.escapeStr(chars)); + return "()([^" + lsJoin + "]*" + str + "[^" + lsJoin + "]*)"; + case "exactly": + return "(^|\\s" + lsJoin + ")(" + str + ")(?=$|\\s" + lsJoin + ")"; + } + } + }, { + key: "getSeparatedKeywords", + value: function getSeparatedKeywords(sv) { + var _this2 = this; + var stack = []; + sv.forEach(function(kw) { + if (!_this2.opt.separateWordSearch) { + if (kw.trim() && stack.indexOf(kw) === -1) { + stack.push(kw); + } + } else { + kw.split(" ").forEach(function(kwSplitted) { + if (kwSplitted.trim() && stack.indexOf(kwSplitted) === -1) { + stack.push(kwSplitted); + } + }); + } + }); + return { + "keywords": stack.sort(function(a, b) { + return b.length - a.length; + }), + "length": stack.length + }; + } + }, { + key: "isNumeric", + value: function isNumeric(value) { + return Number(parseFloat(value)) == value; + } + }, { + key: "checkRanges", + value: function checkRanges(array) { + var _this3 = this; + if (!Array.isArray(array) || Object.prototype.toString.call(array[0]) !== "[object Object]") { + this.log("markRanges() will only accept an array of objects"); + this.opt.noMatch(array); + return []; + } + var stack = []; + var last = 0; + array.sort(function(a, b) { + return a.start - b.start; + }).forEach(function(item) { + var _callNoMatchOnInvalid = _this3.callNoMatchOnInvalidRanges(item, last), start = _callNoMatchOnInvalid.start, end = _callNoMatchOnInvalid.end, valid = _callNoMatchOnInvalid.valid; + if (valid) { + item.start = start; + item.length = end - start; + stack.push(item); + last = end; + } + }); + return stack; + } + }, { + key: "callNoMatchOnInvalidRanges", + value: function callNoMatchOnInvalidRanges(range, last) { + var start = void 0, end = void 0, valid = false; + if (range && typeof range.start !== "undefined") { + start = parseInt(range.start, 10); + end = start + parseInt(range.length, 10); + if (this.isNumeric(range.start) && this.isNumeric(range.length) && end - last > 0 && end - start > 0) { + valid = true; + } else { + this.log("Ignoring invalid or overlapping range: " + ("" + JSON.stringify(range))); + this.opt.noMatch(range); + } + } else { + this.log("Ignoring invalid range: " + JSON.stringify(range)); + this.opt.noMatch(range); + } + return { + start, + end, + valid + }; + } + }, { + key: "checkWhitespaceRanges", + value: function checkWhitespaceRanges(range, originalLength, string) { + var end = void 0, valid = true, max = string.length, offset = originalLength - max, start = parseInt(range.start, 10) - offset; + start = start > max ? max : start; + end = start + parseInt(range.length, 10); + if (end > max) { + end = max; + this.log("End range automatically set to the max value of " + max); + } + if (start < 0 || end - start < 0 || start > max || end > max) { + valid = false; + this.log("Invalid range: " + JSON.stringify(range)); + this.opt.noMatch(range); + } else if (string.substring(start, end).replace(/\s+/g, "") === "") { + valid = false; + this.log("Skipping whitespace only range: " + JSON.stringify(range)); + this.opt.noMatch(range); + } + return { + start, + end, + valid + }; + } + }, { + key: "getTextNodes", + value: function getTextNodes(cb) { + var _this4 = this; + var val = "", nodes = []; + this.iterator.forEachNode(NodeFilter.SHOW_TEXT, function(node) { + nodes.push({ + start: val.length, + end: (val += node.textContent).length, + node + }); + }, function(node) { + if (_this4.matchesExclude(node.parentNode)) { + return NodeFilter.FILTER_REJECT; + } else { + return NodeFilter.FILTER_ACCEPT; + } + }, function() { + cb({ + value: val, + nodes + }); + }); + } + }, { + key: "matchesExclude", + value: function matchesExclude(el) { + return DOMIterator.matches(el, this.opt.exclude.concat(["script", "style", "title", "head", "html"])); + } + }, { + key: "wrapRangeInTextNode", + value: function wrapRangeInTextNode(node, start, end) { + var hEl = !this.opt.element ? "mark" : this.opt.element, startNode = node.splitText(start), ret = startNode.splitText(end - start); + var repl = document.createElement(hEl); + repl.setAttribute("data-markjs", "true"); + if (this.opt.className) { + repl.setAttribute("class", this.opt.className); + } + repl.textContent = startNode.textContent; + startNode.parentNode.replaceChild(repl, startNode); + return ret; + } + }, { + key: "wrapRangeInMappedTextNode", + value: function wrapRangeInMappedTextNode(dict, start, end, filterCb, eachCb) { + var _this5 = this; + dict.nodes.every(function(n, i) { + var sibl = dict.nodes[i + 1]; + if (typeof sibl === "undefined" || sibl.start > start) { + if (!filterCb(n.node)) { + return false; + } + var s = start - n.start, e = (end > n.end ? n.end : end) - n.start, startStr = dict.value.substr(0, n.start), endStr = dict.value.substr(e + n.start); + n.node = _this5.wrapRangeInTextNode(n.node, s, e); + dict.value = startStr + endStr; + dict.nodes.forEach(function(k, j) { + if (j >= i) { + if (dict.nodes[j].start > 0 && j !== i) { + dict.nodes[j].start -= e; + } + dict.nodes[j].end -= e; + } + }); + end -= e; + eachCb(n.node.previousSibling, n.start); + if (end > n.end) { + start = n.end; + } else { + return false; + } + } + return true; + }); + } + }, { + key: "wrapMatches", + value: function wrapMatches(regex, ignoreGroups, filterCb, eachCb, endCb) { + var _this6 = this; + var matchIdx = ignoreGroups === 0 ? 0 : ignoreGroups + 1; + this.getTextNodes(function(dict) { + dict.nodes.forEach(function(node) { + node = node.node; + var match = void 0; + while ((match = regex.exec(node.textContent)) !== null && match[matchIdx] !== "") { + if (!filterCb(match[matchIdx], node)) { + continue; + } + var pos = match.index; + if (matchIdx !== 0) { + for (var i = 1; i < matchIdx; i++) { + pos += match[i].length; + } + } + node = _this6.wrapRangeInTextNode(node, pos, pos + match[matchIdx].length); + eachCb(node.previousSibling); + regex.lastIndex = 0; + } + }); + endCb(); + }); + } + }, { + key: "wrapMatchesAcrossElements", + value: function wrapMatchesAcrossElements(regex, ignoreGroups, filterCb, eachCb, endCb) { + var _this7 = this; + var matchIdx = ignoreGroups === 0 ? 0 : ignoreGroups + 1; + this.getTextNodes(function(dict) { + var match = void 0; + while ((match = regex.exec(dict.value)) !== null && match[matchIdx] !== "") { + var start = match.index; + if (matchIdx !== 0) { + for (var i = 1; i < matchIdx; i++) { + start += match[i].length; + } + } + var end = start + match[matchIdx].length; + _this7.wrapRangeInMappedTextNode(dict, start, end, function(node) { + return filterCb(match[matchIdx], node); + }, function(node, lastIndex) { + regex.lastIndex = lastIndex; + eachCb(node); + }); + } + endCb(); + }); + } + }, { + key: "wrapRangeFromIndex", + value: function wrapRangeFromIndex(ranges, filterCb, eachCb, endCb) { + var _this8 = this; + this.getTextNodes(function(dict) { + var originalLength = dict.value.length; + ranges.forEach(function(range, counter) { + var _checkWhitespaceRange = _this8.checkWhitespaceRanges(range, originalLength, dict.value), start = _checkWhitespaceRange.start, end = _checkWhitespaceRange.end, valid = _checkWhitespaceRange.valid; + if (valid) { + _this8.wrapRangeInMappedTextNode(dict, start, end, function(node) { + return filterCb(node, range, dict.value.substring(start, end), counter); + }, function(node) { + eachCb(node, range); + }); + } + }); + endCb(); + }); + } + }, { + key: "unwrapMatches", + value: function unwrapMatches(node) { + var parent = node.parentNode; + var docFrag = document.createDocumentFragment(); + while (node.firstChild) { + docFrag.appendChild(node.removeChild(node.firstChild)); + } + parent.replaceChild(docFrag, node); + if (!this.ie) { + parent.normalize(); + } else { + this.normalizeTextNode(parent); + } + } + }, { + key: "normalizeTextNode", + value: function normalizeTextNode(node) { + if (!node) { + return; + } + if (node.nodeType === 3) { + while (node.nextSibling && node.nextSibling.nodeType === 3) { + node.nodeValue += node.nextSibling.nodeValue; + node.parentNode.removeChild(node.nextSibling); + } + } else { + this.normalizeTextNode(node.firstChild); + } + this.normalizeTextNode(node.nextSibling); + } + }, { + key: "markRegExp", + value: function markRegExp(regexp, opt) { + var _this9 = this; + this.opt = opt; + this.log('Searching with expression "' + regexp + '"'); + var totalMatches = 0, fn = "wrapMatches"; + var eachCb = function eachCb2(element) { + totalMatches++; + _this9.opt.each(element); + }; + if (this.opt.acrossElements) { + fn = "wrapMatchesAcrossElements"; + } + this[fn](regexp, this.opt.ignoreGroups, function(match, node) { + return _this9.opt.filter(node, match, totalMatches); + }, eachCb, function() { + if (totalMatches === 0) { + _this9.opt.noMatch(regexp); + } + _this9.opt.done(totalMatches); + }); + } + }, { + key: "mark", + value: function mark(sv, opt) { + var _this10 = this; + this.opt = opt; + var totalMatches = 0, fn = "wrapMatches"; + var _getSeparatedKeywords = this.getSeparatedKeywords(typeof sv === "string" ? [sv] : sv), kwArr = _getSeparatedKeywords.keywords, kwArrLen = _getSeparatedKeywords.length, sens = this.opt.caseSensitive ? "" : "i", handler = function handler2(kw) { + var regex = new RegExp(_this10.createRegExp(kw), "gm" + sens), matches = 0; + _this10.log('Searching with expression "' + regex + '"'); + _this10[fn](regex, 1, function(term, node) { + return _this10.opt.filter(node, kw, totalMatches, matches); + }, function(element) { + matches++; + totalMatches++; + _this10.opt.each(element); + }, function() { + if (matches === 0) { + _this10.opt.noMatch(kw); + } + if (kwArr[kwArrLen - 1] === kw) { + _this10.opt.done(totalMatches); + } else { + handler2(kwArr[kwArr.indexOf(kw) + 1]); + } + }); + }; + if (this.opt.acrossElements) { + fn = "wrapMatchesAcrossElements"; + } + if (kwArrLen === 0) { + this.opt.done(totalMatches); + } else { + handler(kwArr[0]); + } + } + }, { + key: "markRanges", + value: function markRanges(rawRanges, opt) { + var _this11 = this; + this.opt = opt; + var totalMatches = 0, ranges = this.checkRanges(rawRanges); + if (ranges && ranges.length) { + this.log("Starting to mark with the following ranges: " + JSON.stringify(ranges)); + this.wrapRangeFromIndex(ranges, function(node, range, match, counter) { + return _this11.opt.filter(node, range, match, counter); + }, function(element, range) { + totalMatches++; + _this11.opt.each(element, range); + }, function() { + _this11.opt.done(totalMatches); + }); + } else { + this.opt.done(totalMatches); + } + } + }, { + key: "unmark", + value: function unmark(opt) { + var _this12 = this; + this.opt = opt; + var sel = this.opt.element ? this.opt.element : "*"; + sel += "[data-markjs]"; + if (this.opt.className) { + sel += "." + this.opt.className; + } + this.log('Removal selector "' + sel + '"'); + this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT, function(node) { + _this12.unwrapMatches(node); + }, function(node) { + var matchesSel = DOMIterator.matches(node, sel), matchesExclude = _this12.matchesExclude(node); + if (!matchesSel || matchesExclude) { + return NodeFilter.FILTER_REJECT; + } else { + return NodeFilter.FILTER_ACCEPT; + } + }, this.opt.done); + } + }, { + key: "opt", + set: function set$$1(val) { + this._opt = _extends({}, { + "element": "", + "className": "", + "exclude": [], + "iframes": false, + "iframesTimeout": 5e3, + "separateWordSearch": true, + "diacritics": true, + "synonyms": {}, + "accuracy": "partially", + "acrossElements": false, + "caseSensitive": false, + "ignoreJoiners": false, + "ignoreGroups": 0, + "ignorePunctuation": [], + "wildcards": "disabled", + "each": function each() { + }, + "noMatch": function noMatch() { + }, + "filter": function filter() { + return true; + }, + "done": function done() { + }, + "debug": false, + "log": window.console + }, val); + }, + get: function get$$1() { + return this._opt; + } + }, { + key: "iterator", + get: function get$$1() { + return new DOMIterator(this.ctx, this.opt.iframes, this.opt.exclude, this.opt.iframesTimeout); + } + }]); + return Mark3; + }(); + function Mark2(ctx) { + var _this = this; + var instance = new Mark$1(ctx); + this.mark = function(sv, opt) { + instance.mark(sv, opt); + return _this; + }; + this.markRegExp = function(sv, opt) { + instance.markRegExp(sv, opt); + return _this; + }; + this.markRanges = function(sv, opt) { + instance.markRanges(sv, opt); + return _this; + }; + this.unmark = function(opt) { + instance.unmark(opt); + return _this; + }; + return this; + } + return Mark2; + }); + } +}); + +// lib/highlight.ts +var import_mark = __toESM(require_mark(), 1); +var PagefindHighlight = class { + constructor(options = { + markContext: null, + highlightParam: "pagefind-highlight", + markOptions: { + className: "pagefind-highlight", + exclude: ["[data-pagefind-ignore]", "[data-pagefind-ignore] *"] + }, + addStyles: true + }) { + var _a, _b; + const { highlightParam, markContext, markOptions, addStyles } = options; + this.highlightParam = highlightParam ?? "pagefind-highlight"; + this.addStyles = addStyles ?? true; + this.markContext = markContext !== void 0 ? markContext : null; + this.markOptions = markOptions !== void 0 ? markOptions : { + className: "pagefind-highlight", + exclude: ["[data-pagefind-ignore]", "[data-pagefind-ignore] *"] + }; + (_a = this.markOptions).className ?? (_a.className = "pagefind__highlight"); + (_b = this.markOptions).exclude ?? (_b.exclude = [ + "[data-pagefind-ignore]", + "[data-pagefind-ignore] *" + ]); + this.markOptions.separateWordSearch = false; + this.highlight(); + } + getHighlightParams(paramName) { + const urlParams = new URLSearchParams(window.location.search); + return urlParams.getAll(paramName); + } + // Inline styles might be too hard to override + addHighlightStyles(className) { + if (!className) + return; + const styleElement = document.createElement("style"); + styleElement.innerText = `:where(.${className}) { background-color: yellow; color: black; }`; + document.head.appendChild(styleElement); + } + createMarkInstance() { + if (this.markContext) { + return new import_mark.default(this.markContext); + } + const pagefindBody = document.querySelectorAll("[data-pagefind-body]"); + if (pagefindBody.length !== 0) { + return new import_mark.default(pagefindBody); + } else { + return new import_mark.default(document.body); + } + } + markText(instance, text) { + instance.mark(text, this.markOptions); + } + highlight() { + const params = this.getHighlightParams(this.highlightParam); + if (!params || params.length === 0) + return; + this.addStyles && this.addHighlightStyles(this.markOptions.className); + const markInstance = this.createMarkInstance(); + this.markText(markInstance, params); + } +}; +window.PagefindHighlight = PagefindHighlight; +export { + PagefindHighlight as default +}; +/*! Bundled license information: + +mark.js/dist/mark.js: + (*!*************************************************** + * mark.js v8.11.1 + * https://markjs.io/ + * Copyright (c) 2014–2018, Julian Kühnel + * Released under the MIT license https://git.io/vwTVl + *****************************************************) +*/ diff --git a/pagefind/pagefind-modular-ui.css b/pagefind/pagefind-modular-ui.css new file mode 100644 index 0000000..9c6793e --- /dev/null +++ b/pagefind/pagefind-modular-ui.css @@ -0,0 +1,214 @@ +:root { + --pagefind-ui-scale: 0.8; + --pagefind-ui-primary: #034AD8; + --pagefind-ui-fade: #707070; + --pagefind-ui-text: #393939; + --pagefind-ui-background: #ffffff; + --pagefind-ui-border: #eeeeee; + --pagefind-ui-tag: #eeeeee; + --pagefind-ui-border-width: 2px; + --pagefind-ui-border-radius: 8px; + --pagefind-ui-image-border-radius: 8px; + --pagefind-ui-image-box-ratio: 3 / 2; + --pagefind-ui-font: system, -apple-system, ".SFNSText-Regular", + "San Francisco", "Roboto", "Segoe UI", "Helvetica Neue", + "Lucida Grande", sans-serif; +} + +[data-pfmod-hidden] { + display: none !important; +} + +[data-pfmod-suppressed] { + opacity: 0 !important; + pointer-events: none !important; +} + +[data-pfmod-sr-hidden] { + -webkit-clip: rect(0 0 0 0) !important; + clip: rect(0 0 0 0) !important; + -webkit-clip-path: inset(100%) !important; + clip-path: inset(100%) !important; + height: 1px !important; + overflow: hidden !important; + overflow: clip !important; + position: absolute !important; + white-space: nowrap !important; + width: 1px !important; +} + +[data-pfmod-loading] { + color: var(--pagefind-ui-text); + background-color: var(--pagefind-ui-text); + border-radius: var(--pagefind-ui-border-radius); + opacity: 0.1; + pointer-events: none; +} + +/* Input */ + +.pagefind-modular-input-wrapper { + position: relative; +} + +.pagefind-modular-input-wrapper::before { + background-color: var(--pagefind-ui-text); + width: calc(18px * var(--pagefind-ui-scale)); + height: calc(18px * var(--pagefind-ui-scale)); + top: calc(23px * var(--pagefind-ui-scale)); + left: calc(20px * var(--pagefind-ui-scale)); + content: ""; + position: absolute; + display: block; + opacity: 0.7; + -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A"); + mask-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A"); + -webkit-mask-size: 100%; + mask-size: 100%; + z-index: 9; + pointer-events: none; +} + +.pagefind-modular-input { + height: calc(64px * var(--pagefind-ui-scale)); + padding: 0 calc(70px * var(--pagefind-ui-scale)) 0 calc(54px * var(--pagefind-ui-scale)); + background-color: var(--pagefind-ui-background); + border: var(--pagefind-ui-border-width) solid var(--pagefind-ui-border); + border-radius: var(--pagefind-ui-border-radius); + font-size: calc(21px * var(--pagefind-ui-scale)); + position: relative; + appearance: none; + -webkit-appearance: none; + display: flex; + width: 100%; + box-sizing: border-box; + font-weight: 700; +} + +.pagefind-modular-input::placeholder { + opacity: 0.2; +} + +.pagefind-modular-input-clear { + position: absolute; + top: calc(2px * var(--pagefind-ui-scale)); + right: calc(2px * var(--pagefind-ui-scale)); + height: calc(60px * var(--pagefind-ui-scale)); + border-radius: var(--pagefind-ui-border-radius); + padding: 0 calc(15px * var(--pagefind-ui-scale)) 0 calc(2px * var(--pagefind-ui-scale)); + color: var(--pagefind-ui-text); + font-size: calc(14px * var(--pagefind-ui-scale)); + cursor: pointer; + background-color: var(--pagefind-ui-background); + border: none; + appearance: none; +} + +/* ResultList */ + +.pagefind-modular-list-result { + list-style-type: none; + display: flex; + align-items: flex-start; + gap: min(calc(40px * var(--pagefind-ui-scale)), 3%); + padding: calc(30px * var(--pagefind-ui-scale)) 0 calc(40px * var(--pagefind-ui-scale)); + border-top: solid var(--pagefind-ui-border-width) var(--pagefind-ui-border); +} + +.pagefind-modular-list-result:last-of-type { + border-bottom: solid var(--pagefind-ui-border-width) var(--pagefind-ui-border); +} + +.pagefind-modular-list-thumb { + width: min(30%, + calc((30% - (100px * var(--pagefind-ui-scale))) * 100000)); + max-width: calc(120px * var(--pagefind-ui-scale)); + margin-top: calc(10px * var(--pagefind-ui-scale)); + aspect-ratio: var(--pagefind-ui-image-box-ratio); + position: relative; +} + +.pagefind-modular-list-image { + display: block; + position: absolute; + left: 50%; + transform: translateX(-50%); + font-size: 0; + width: auto; + height: auto; + max-width: 100%; + max-height: 100%; + border-radius: var(--pagefind-ui-image-border-radius); +} + +.pagefind-modular-list-inner { + flex: 1; + display: flex; + flex-direction: column; + align-items: flex-start; + margin-top: calc(10px * var(--pagefind-ui-scale)); +} + +.pagefind-modular-list-title { + display: inline-block; + font-weight: 700; + font-size: calc(21px * var(--pagefind-ui-scale)); + margin-top: 0; + margin-bottom: 0; +} + +.pagefind-modular-list-link { + color: var(--pagefind-ui-text); + text-decoration: none; +} + +.pagefind-modular-list-link:hover { + text-decoration: underline; +} + +.pagefind-modular-list-excerpt { + display: inline-block; + font-weight: 400; + font-size: calc(16px * var(--pagefind-ui-scale)); + margin-top: calc(4px * var(--pagefind-ui-scale)); + margin-bottom: 0; + min-width: calc(250px * var(--pagefind-ui-scale)); +} + +/* FilterPills */ + +.pagefind-modular-filter-pills-wrapper { + overflow-x: scroll; + padding: 15px 0; +} + +.pagefind-modular-filter-pills { + display: flex; + gap: 6px; +} + +.pagefind-modular-filter-pill { + display: flex; + justify-content: center; + align-items: center; + border: none; + appearance: none; + padding: 0 calc(24px * var(--pagefind-ui-scale)); + background-color: var(--pagefind-ui-background); + color: var(--pagefind-ui-fade); + border: var(--pagefind-ui-border-width) solid var(--pagefind-ui-border); + border-radius: calc(25px * var(--pagefind-ui-scale)); + font-size: calc(18px * var(--pagefind-ui-scale)); + height: calc(50px * var(--pagefind-ui-scale)); + cursor: pointer; + white-space: nowrap; +} + +.pagefind-modular-filter-pill:hover { + border-color: var(--pagefind-ui-primary); +} + +.pagefind-modular-filter-pill[aria-pressed="true"] { + border-color: var(--pagefind-ui-primary); + color: var(--pagefind-ui-primary); +} \ No newline at end of file diff --git a/pagefind/pagefind-modular-ui.js b/pagefind/pagefind-modular-ui.js new file mode 100644 index 0000000..43f738f --- /dev/null +++ b/pagefind/pagefind-modular-ui.js @@ -0,0 +1,8 @@ +(()=>{var b=Object.defineProperty;var w=(i,e)=>{for(var t in e)b(i,t,{get:e[t],enumerable:!0})};var f={};w(f,{FilterPills:()=>h,Input:()=>l,Instance:()=>p,ResultList:()=>a,Summary:()=>o});var r=class i{constructor(e){this.element=document.createElement(e)}id(e){return this.element.id=e,this}class(e){return this.element.classList.add(e),this}attrs(e){for(let[t,s]of Object.entries(e))this.element.setAttribute(t,s);return this}text(e){return this.element.innerText=e,this}html(e){return this.element.innerHTML=e,this}handle(e,t){return this.element.addEventListener(e,t),this}addTo(e){return e instanceof i?e.element.appendChild(this.element):e.appendChild(this.element),this.element}};var T=async(i=100)=>new Promise(e=>setTimeout(e,i)),l=class{constructor(e={}){if(this.inputEl=null,this.clearEl=null,this.instance=null,this.searchID=0,this.debounceTimeoutMs=e.debounceTimeoutMs??300,e.inputElement){if(e.containerElement){console.warn("[Pagefind Input component]: inputElement and containerElement both supplied. Ignoring the container option.");return}this.initExisting(e.inputElement)}else if(e.containerElement)this.initContainer(e.containerElement);else{console.error("[Pagefind Input component]: No selector supplied for containerElement or inputElement");return}this.inputEl.addEventListener("input",async t=>{if(this.instance&&typeof t?.target?.value=="string"){this.updateState(t.target.value);let s=++this.searchID;if(await T(this.debounceTimeoutMs),s!==this.searchID)return null;this.instance?.triggerSearch(t.target.value)}}),this.inputEl.addEventListener("keydown",t=>{t.key==="Escape"&&(++this.searchID,this.inputEl.value="",this.instance?.triggerSearch(""),this.updateState("")),t.key==="Enter"&&t.preventDefault()}),this.inputEl.addEventListener("focus",()=>{this.instance?.triggerLoad()})}initContainer(e){let t=document.querySelector(e);if(!t){console.error(`[Pagefind Input component]: No container found for ${e} selector`);return}if(t.tagName==="INPUT")console.warn(`[Pagefind Input component]: Encountered input element for ${e} when a container was expected`),console.warn("[Pagefind Input component]: Treating containerElement option as inputElement and proceeding"),this.initExisting(e);else{t.innerHTML="";let s=0;for(;document.querySelector(`#pfmod-input-${s}`);)s+=1;let n=new r("form").class("pagefind-modular-input-wrapper").attrs({role:"search","aria-label":"Search this site",action:"javascript:void(0);"});new r("label").attrs({for:`pfmod-input-${s}`,"data-pfmod-sr-hidden":"true"}).text("Search this site").addTo(n),this.inputEl=new r("input").id(`pfmod-input-${s}`).class("pagefind-modular-input").attrs({autocapitalize:"none",enterkeyhint:"search"}).addTo(n),this.clearEl=new r("button").class("pagefind-modular-input-clear").attrs({"data-pfmod-suppressed":"true"}).text("Clear").handle("click",()=>{this.inputEl.value="",this.instance.triggerSearch(""),this.updateState("")}).addTo(n),n.addTo(t)}}initExisting(e){let t=document.querySelector(e);if(!t){console.error(`[Pagefind Input component]: No input element found for ${e} selector`);return}if(t.tagName!=="INPUT"){console.error(`[Pagefind Input component]: Expected ${e} to be an element`);return}this.inputEl=t}updateState(e){this.clearEl&&(e&&e?.length?this.clearEl.removeAttribute("data-pfmod-suppressed"):this.clearEl.setAttribute("data-pfmod-suppressed","true"))}register(e){this.instance=e,this.instance.on("search",(t,s)=>{this.inputEl&&document.activeElement!==this.inputEl&&(this.inputEl.value=t,this.updateState(t))})}focus(){this.inputEl&&this.inputEl.focus()}};var g=i=>{if(i instanceof Element)return[i];if(Array.isArray(i)&&i.every(e=>e instanceof Element))return i;if(typeof i=="string"||i instanceof String){let e=document.createElement("div");return e.innerHTML=i,[...e.childNodes]}else return console.error(`[Pagefind ResultList component]: Expected template function to return an HTML element or string, got ${typeof i}`),[]},v=()=>{let i=(e=30)=>". ".repeat(Math.floor(10+Math.random()*e));return`
  • +
    +
    +

    ${i(30)}

    +

    ${i(40)}

    +
    +
  • `},y=i=>{let e=new r("li").class("pagefind-modular-list-result"),t=new r("div").class("pagefind-modular-list-thumb").addTo(e);i?.meta?.image&&new r("img").class("pagefind-modular-list-image").attrs({src:i.meta.image,alt:i.meta.image_alt||i.meta.title}).addTo(t);let s=new r("div").class("pagefind-modular-list-inner").addTo(e),n=new r("p").class("pagefind-modular-list-title").addTo(s);return new r("a").class("pagefind-modular-list-link").text(i.meta?.title).attrs({href:i.meta?.url||i.url}).addTo(n),new r("p").class("pagefind-modular-list-excerpt").html(i.excerpt).addTo(s),e.element},E=i=>{if(!(i instanceof HTMLElement))return null;let e=window.getComputedStyle(i).overflowY;return e!=="visible"&&e!=="hidden"?i:E(i.parentNode)},d=class{constructor(e={}){this.rawResult=e.result,this.placeholderNodes=e.placeholderNodes,this.resultFn=e.resultFn,this.intersectionEl=e.intersectionEl,this.result=null,this.waitForIntersection()}waitForIntersection(){if(!this.placeholderNodes?.length)return;let e={root:this.intersectionEl,rootMargin:"0px",threshold:.01};new IntersectionObserver((s,n)=>{this.result===null&&s?.[0]?.isIntersecting&&(this.load(),n.disconnect())},e).observe(this.placeholderNodes[0])}async load(){if(!this.placeholderNodes?.length)return;this.result=await this.rawResult.data();let e=this.resultFn(this.result),t=g(e);for(;this.placeholderNodes.length>1;)this.placeholderNodes.pop().remove();this.placeholderNodes[0].replaceWith(...t)}},a=class{constructor(e){if(this.intersectionEl=document.body,this.containerEl=null,this.results=[],this.placeholderTemplate=e.placeholderTemplate??v,this.resultTemplate=e.resultTemplate??y,e.containerElement)this.initContainer(e.containerElement);else{console.error("[Pagefind ResultList component]: No selector supplied for containerElement");return}}initContainer(e){let t=document.querySelector(e);if(!t){console.error(`[Pagefind ResultList component]: No container found for ${e} selector`);return}this.containerEl=t}append(e){for(let t of e)this.containerEl.appendChild(t)}register(e){e.on("results",t=>{this.containerEl&&(this.containerEl.innerHTML="",this.intersectionEl=E(this.containerEl),this.results=t.results.map(s=>{let n=g(this.placeholderTemplate());return this.append(n),new d({result:s,placeholderNodes:n,resultFn:this.resultTemplate,intersectionEl:this.intersectionEl})}))}),e.on("loading",()=>{this.containerEl&&(this.containerEl.innerHTML="")})}};var o=class{constructor(e={}){if(this.containerEl=null,this.defaultMessage=e.defaultMessage??"",this.term="",e.containerElement)this.initContainer(e.containerElement);else{console.error("[Pagefind Summary component]: No selector supplied for containerElement");return}}initContainer(e){let t=document.querySelector(e);if(!t){console.error(`[Pagefind Summary component]: No container found for ${e} selector`);return}this.containerEl=t,this.containerEl.innerText=this.defaultMessage}register(e){e.on("search",(t,s)=>{this.term=t}),e.on("results",t=>{if(!this.containerEl||!t)return;if(!this.term){this.containerEl.innerText=this.defaultMessage;return}let s=t?.results?.length??0;this.containerEl.innerText=`${s} result${s===1?"":"s"} for ${this.term}`}),e.on("loading",()=>{this.containerEl&&(this.containerEl.innerText=`Searching for ${this.term}...`)})}};var h=class{constructor(e={}){if(this.instance=null,this.wrapper=null,this.pillContainer=null,this.available={},this.selected=["All"],this.total=0,this.filterMemo="",this.filter=e.filter,this.ordering=e.ordering??null,this.alwaysShow=e.alwaysShow??!1,this.selectMultiple=e.selectMultiple??!1,!this.filter?.length){console.error("[Pagefind FilterPills component]: No filter option supplied, nothing to display");return}if(e.containerElement)this.initContainer(e.containerElement);else{console.error("[Pagefind FilterPills component]: No selector supplied for containerElement");return}}initContainer(e){let t=document.querySelector(e);if(!t){console.error(`[Pagefind FilterPills component]: No container found for ${e} selector`);return}t.innerHTML="";let s=`pagefind_modular_filter_pills_${this.filter}`,n=new r("div").class("pagefind-modular-filter-pills-wrapper").attrs({role:"group","aria-labelledby":s});this.alwaysShow||n.attrs({"data-pfmod-hidden":!0}),new r("div").id(s).class("pagefind-modular-filter-pills-label").attrs({"data-pfmod-sr-hidden":!0}).text(`Filter results by ${this.filter}`).addTo(n),this.pillContainer=new r("div").class("pagefind-modular-filter-pills").addTo(n),this.wrapper=n.addTo(t)}update(){let e=this.available.map(t=>t[0]).join("~");e==this.filterMemo?this.updateExisting():(this.renderNew(),this.filterMemo=e)}pushFilters(){let e=this.selected.filter(t=>t!=="All");this.instance.triggerFilter(this.filter,e)}pillInner(e,t){return this.total?`${e} (${t})`:`${e}`}renderNew(){this.available.forEach(([e,t])=>{new r("button").class("pagefind-modular-filter-pill").html(this.pillInner(e,t)).attrs({"aria-pressed":this.selected.includes(e),type:"button"}).handle("click",()=>{e==="All"?this.selected=["All"]:this.selected.includes(e)?this.selected=this.selected.filter(s=>s!==e):this.selectMultiple?this.selected.push(e):this.selected=[e],this.selected?.length?this.selected?.length>1&&(this.selected=this.selected.filter(s=>s!=="All")):this.selected=["All"],this.update(),this.pushFilters()}).addTo(this.pillContainer)})}updateExisting(){let e=[...this.pillContainer.childNodes];this.available.forEach(([t,s],n)=>{e[n].innerHTML=this.pillInner(t,s),e[n].setAttribute("aria-pressed",this.selected.includes(t))})}register(e){this.instance=e,this.instance.on("filters",t=>{if(!this.pillContainer)return;this.selectMultiple?t=t.available:t=t.total;let s=t[this.filter];if(!s){console.warn(`[Pagefind FilterPills component]: No possible values found for the ${this.filter} filter`);return}this.available=Object.entries(s),Array.isArray(this.ordering)?this.available.sort((n,c)=>{let m=this.ordering.indexOf(n[0]),_=this.ordering.indexOf(c[0]);return(m===-1?1/0:m)-(_===-1?1/0:_)}):this.available.sort((n,c)=>n[0].localeCompare(c[0])),this.available.unshift(["All",this.total]),this.update()}),e.on("results",t=>{this.pillContainer&&(this.total=t?.unfilteredResultCount||0,this.available?.[0]?.[0]==="All"&&(this.available[0][1]=this.total),this.total||this.alwaysShow?this.wrapper.removeAttribute("data-pfmod-hidden"):this.wrapper.setAttribute("data-pfmod-hidden","true"),this.update())})}};var P=async(i=50)=>await new Promise(e=>setTimeout(e,i)),u;try{document?.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"&&(u=new URL(document.currentScript.src).pathname.match(/^(.*\/)(?:pagefind-)?modular-ui.js.*$/)[1])}catch{u="/pagefind/"}var p=class{constructor(e={}){this.__pagefind__=null,this.__initializing__=null,this.__searchID__=0,this.__hooks__={search:[],filters:[],loading:[],results:[]},this.components=[],this.searchTerm="",this.searchFilters={},this.searchResult={},this.availableFilters=null,this.totalFilters=null,this.options={bundlePath:e.bundlePath??u,mergeIndex:e.mergeIndex??[]},delete e.bundlePath,delete e.resetStyles,delete e.processResult,delete e.processTerm,delete e.debounceTimeoutMs,delete e.mergeIndex,delete e.translations,this.pagefindOptions=e}add(e){e?.register?.(this),this.components.push(e)}on(e,t){if(!this.__hooks__[e]){let s=Object.keys(this.__hooks__).join(", ");console.error(`[Pagefind Composable]: Unknown event type ${e}. Supported events: [${s}]`);return}if(typeof t!="function"){console.error(`[Pagefind Composable]: Expected callback to be a function, received ${typeof t}`);return}this.__hooks__[e].push(t)}triggerLoad(){this.__load__()}triggerSearch(e){this.searchTerm=e,this.__dispatch__("search",e,this.searchFilters),this.__search__(e,this.searchFilters)}triggerSearchWithFilters(e,t){this.searchTerm=e,this.searchFilters=t,this.__dispatch__("search",e,t),this.__search__(e,t)}triggerFilters(e){this.searchFilters=e,this.__dispatch__("search",this.searchTerm,e),this.__search__(this.searchTerm,e)}triggerFilter(e,t){this.searchFilters=this.searchFilters||{},this.searchFilters[e]=t,this.__dispatch__("search",this.searchTerm,this.searchFilters),this.__search__(this.searchTerm,this.searchFilters)}__dispatch__(e,...t){this.__hooks__[e]?.forEach(s=>s?.(...t))}async __clear__(){this.__dispatch__("results",{results:[],unfilteredTotalCount:0}),this.availableFilters=await this.__pagefind__.filters(),this.totalFilters=this.availableFilters,this.__dispatch__("filters",{available:this.availableFilters,total:this.totalFilters})}async __search__(e,t){this.__dispatch__("loading"),await this.__load__();let s=++this.__searchID__;if(!e||!e.length)return this.__clear__();let n=await this.__pagefind__.search(e,{filters:t});n&&this.__searchID__===s&&(n.filters&&Object.keys(n.filters)?.length&&(this.availableFilters=n.filters,this.totalFilters=n.totalFilters,this.__dispatch__("filters",{available:this.availableFilters,total:this.totalFilters})),this.searchResult=n,this.__dispatch__("results",this.searchResult))}async __load__(){if(this.__initializing__){for(;!this.__pagefind__;)await P(50);return}if(this.__initializing__=!0,!this.__pagefind__){let e;try{e=await import(`${this.options.bundlePath}pagefind.js`)}catch(t){console.error(t),console.error([`Pagefind couldn't be loaded from ${this.options.bundlePath}pagefind.js`,"You can configure this by passing a bundlePath option to PagefindComposable Instance"].join(` +`)),document?.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"?console.error(`[DEBUG: Loaded from ${document.currentScript?.src??"bad script location"}]`):console.error("no known script location")}await e.options(this.pagefindOptions||{});for(let t of this.options.mergeIndex){if(!t.bundlePath)throw new Error("mergeIndex requires a bundlePath parameter");let s=t.bundlePath;delete t.bundlePath,await e.mergeIndex(s,t)}this.__pagefind__=e}this.availableFilters=await this.__pagefind__.filters(),this.totalFilters=this.availableFilters,this.__dispatch__("filters",{available:this.availableFilters,total:this.totalFilters})}};window.PagefindModularUI=f;})(); diff --git a/pagefind/pagefind-ui.css b/pagefind/pagefind-ui.css new file mode 100644 index 0000000..d7984a9 --- /dev/null +++ b/pagefind/pagefind-ui.css @@ -0,0 +1 @@ +.pagefind-ui__result.svelte-j9e30.svelte-j9e30{list-style-type:none;display:flex;align-items:flex-start;gap:min(calc(40px * var(--pagefind-ui-scale)),3%);padding:calc(30px * var(--pagefind-ui-scale)) 0 calc(40px * var(--pagefind-ui-scale));border-top:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result.svelte-j9e30.svelte-j9e30:last-of-type{border-bottom:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result-thumb.svelte-j9e30.svelte-j9e30{width:min(30%,calc((30% - (100px * var(--pagefind-ui-scale))) * 100000));max-width:calc(120px * var(--pagefind-ui-scale));margin-top:calc(10px * var(--pagefind-ui-scale));aspect-ratio:var(--pagefind-ui-image-box-ratio);position:relative}.pagefind-ui__result-image.svelte-j9e30.svelte-j9e30{display:block;position:absolute;left:50%;transform:translate(-50%);font-size:0;width:auto;height:auto;max-width:100%;max-height:100%;border-radius:var(--pagefind-ui-image-border-radius)}.pagefind-ui__result-inner.svelte-j9e30.svelte-j9e30{flex:1;display:flex;flex-direction:column;align-items:flex-start;margin-top:calc(10px * var(--pagefind-ui-scale))}.pagefind-ui__result-title.svelte-j9e30.svelte-j9e30{display:inline-block;font-weight:700;font-size:calc(21px * var(--pagefind-ui-scale));margin-top:0;margin-bottom:0}.pagefind-ui__result-title.svelte-j9e30 .pagefind-ui__result-link.svelte-j9e30{color:var(--pagefind-ui-text);text-decoration:none}.pagefind-ui__result-title.svelte-j9e30 .pagefind-ui__result-link.svelte-j9e30:hover{text-decoration:underline}.pagefind-ui__result-excerpt.svelte-j9e30.svelte-j9e30{display:inline-block;font-weight:400;font-size:calc(16px * var(--pagefind-ui-scale));margin-top:calc(4px * var(--pagefind-ui-scale));margin-bottom:0;min-width:calc(250px * var(--pagefind-ui-scale))}.pagefind-ui__loading.svelte-j9e30.svelte-j9e30{color:var(--pagefind-ui-text);background-color:var(--pagefind-ui-text);border-radius:var(--pagefind-ui-border-radius);opacity:.1;pointer-events:none}.pagefind-ui__result-tags.svelte-j9e30.svelte-j9e30{list-style-type:none;padding:0;display:flex;gap:calc(20px * var(--pagefind-ui-scale));flex-wrap:wrap;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__result-tag.svelte-j9e30.svelte-j9e30{padding:calc(4px * var(--pagefind-ui-scale)) calc(8px * var(--pagefind-ui-scale));font-size:calc(14px * var(--pagefind-ui-scale));border-radius:var(--pagefind-ui-border-radius);background-color:var(--pagefind-ui-tag)}.pagefind-ui__result.svelte-4xnkmf.svelte-4xnkmf{list-style-type:none;display:flex;align-items:flex-start;gap:min(calc(40px * var(--pagefind-ui-scale)),3%);padding:calc(30px * var(--pagefind-ui-scale)) 0 calc(40px * var(--pagefind-ui-scale));border-top:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result.svelte-4xnkmf.svelte-4xnkmf:last-of-type{border-bottom:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result-nested.svelte-4xnkmf.svelte-4xnkmf{display:flex;flex-direction:column;padding-left:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__result-nested.svelte-4xnkmf.svelte-4xnkmf:first-of-type{padding-top:calc(10px * var(--pagefind-ui-scale))}.pagefind-ui__result-nested.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf{font-size:.9em;position:relative}.pagefind-ui__result-nested.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf:before{content:"\2937 ";position:absolute;top:0;right:calc(100% + .1em)}.pagefind-ui__result-thumb.svelte-4xnkmf.svelte-4xnkmf{width:min(30%,calc((30% - (100px * var(--pagefind-ui-scale))) * 100000));max-width:calc(120px * var(--pagefind-ui-scale));margin-top:calc(10px * var(--pagefind-ui-scale));aspect-ratio:var(--pagefind-ui-image-box-ratio);position:relative}.pagefind-ui__result-image.svelte-4xnkmf.svelte-4xnkmf{display:block;position:absolute;left:50%;transform:translate(-50%);font-size:0;width:auto;height:auto;max-width:100%;max-height:100%;border-radius:var(--pagefind-ui-image-border-radius)}.pagefind-ui__result-inner.svelte-4xnkmf.svelte-4xnkmf{flex:1;display:flex;flex-direction:column;align-items:flex-start;margin-top:calc(10px * var(--pagefind-ui-scale))}.pagefind-ui__result-title.svelte-4xnkmf.svelte-4xnkmf{display:inline-block;font-weight:700;font-size:calc(21px * var(--pagefind-ui-scale));margin-top:0;margin-bottom:0}.pagefind-ui__result-title.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf{color:var(--pagefind-ui-text);text-decoration:none}.pagefind-ui__result-title.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf:hover{text-decoration:underline}.pagefind-ui__result-excerpt.svelte-4xnkmf.svelte-4xnkmf{display:inline-block;font-weight:400;font-size:calc(16px * var(--pagefind-ui-scale));margin-top:calc(4px * var(--pagefind-ui-scale));margin-bottom:0;min-width:calc(250px * var(--pagefind-ui-scale))}.pagefind-ui__loading.svelte-4xnkmf.svelte-4xnkmf{color:var(--pagefind-ui-text);background-color:var(--pagefind-ui-text);border-radius:var(--pagefind-ui-border-radius);opacity:.1;pointer-events:none}.pagefind-ui__result-tags.svelte-4xnkmf.svelte-4xnkmf{list-style-type:none;padding:0;display:flex;gap:calc(20px * var(--pagefind-ui-scale));flex-wrap:wrap;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__result-tag.svelte-4xnkmf.svelte-4xnkmf{padding:calc(4px * var(--pagefind-ui-scale)) calc(8px * var(--pagefind-ui-scale));font-size:calc(14px * var(--pagefind-ui-scale));border-radius:var(--pagefind-ui-border-radius);background-color:var(--pagefind-ui-tag)}legend.svelte-1v2r7ls.svelte-1v2r7ls{position:absolute;clip:rect(0 0 0 0)}.pagefind-ui__filter-panel.svelte-1v2r7ls.svelte-1v2r7ls{min-width:min(calc(260px * var(--pagefind-ui-scale)),100%);flex:1;display:flex;flex-direction:column;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__filter-group.svelte-1v2r7ls.svelte-1v2r7ls{border:0;padding:0}.pagefind-ui__filter-block.svelte-1v2r7ls.svelte-1v2r7ls{padding:0;display:block;border-bottom:solid calc(2px * var(--pagefind-ui-scale)) var(--pagefind-ui-border);padding:calc(20px * var(--pagefind-ui-scale)) 0}.pagefind-ui__filter-name.svelte-1v2r7ls.svelte-1v2r7ls{font-size:calc(16px * var(--pagefind-ui-scale));position:relative;display:flex;align-items:center;list-style:none;font-weight:700;cursor:pointer;height:calc(24px * var(--pagefind-ui-scale))}.pagefind-ui__filter-name.svelte-1v2r7ls.svelte-1v2r7ls::-webkit-details-marker{display:none}.pagefind-ui__filter-name.svelte-1v2r7ls.svelte-1v2r7ls:after{position:absolute;content:"";right:calc(6px * var(--pagefind-ui-scale));top:50%;width:calc(8px * var(--pagefind-ui-scale));height:calc(8px * var(--pagefind-ui-scale));border:solid calc(2px * var(--pagefind-ui-scale)) currentColor;border-right:0;border-top:0;transform:translateY(-70%) rotate(-45deg)}.pagefind-ui__filter-block[open].svelte-1v2r7ls .pagefind-ui__filter-name.svelte-1v2r7ls:after{transform:translateY(-70%) rotate(-225deg)}.pagefind-ui__filter-group.svelte-1v2r7ls.svelte-1v2r7ls{display:flex;flex-direction:column;gap:calc(20px * var(--pagefind-ui-scale));padding-top:calc(30px * var(--pagefind-ui-scale))}.pagefind-ui__filter-value.svelte-1v2r7ls.svelte-1v2r7ls{position:relative;display:flex;align-items:center;gap:calc(8px * var(--pagefind-ui-scale))}.pagefind-ui__filter-value.svelte-1v2r7ls.svelte-1v2r7ls:before{position:absolute;content:"";top:50%;left:calc(8px * var(--pagefind-ui-scale));width:0px;height:0px;border:solid 1px #fff;opacity:0;transform:translate(calc(4.5px * var(--pagefind-ui-scale) * -1),calc(.8px * var(--pagefind-ui-scale))) skew(-5deg) rotate(-45deg);transform-origin:top left;border-top:0;border-right:0;pointer-events:none}.pagefind-ui__filter-value.pagefind-ui__filter-value--checked.svelte-1v2r7ls.svelte-1v2r7ls:before{opacity:1;width:calc(9px * var(--pagefind-ui-scale));height:calc(4px * var(--pagefind-ui-scale));transition:width .1s ease-out .1s,height .1s ease-in}.pagefind-ui__filter-checkbox.svelte-1v2r7ls.svelte-1v2r7ls{margin:0;width:calc(16px * var(--pagefind-ui-scale));height:calc(16px * var(--pagefind-ui-scale));border:solid 1px var(--pagefind-ui-border);appearance:none;-webkit-appearance:none;border-radius:calc(var(--pagefind-ui-border-radius) / 2);background-color:var(--pagefind-ui-background);cursor:pointer}.pagefind-ui__filter-checkbox.svelte-1v2r7ls.svelte-1v2r7ls:checked{background-color:var(--pagefind-ui-primary);border:solid 1px var(--pagefind-ui-primary)}.pagefind-ui__filter-label.svelte-1v2r7ls.svelte-1v2r7ls{cursor:pointer;font-size:calc(16px * var(--pagefind-ui-scale));font-weight:400}.pagefind-ui--reset *:where(:not(html,iframe,canvas,img,svg,video):not(svg *,symbol *)){all:unset;display:revert;outline:revert}.pagefind-ui--reset *,.pagefind-ui--reset *:before,.pagefind-ui--reset *:after{box-sizing:border-box}.pagefind-ui--reset a,.pagefind-ui--reset button{cursor:revert}.pagefind-ui--reset ol,.pagefind-ui--reset ul,.pagefind-ui--reset menu{list-style:none}.pagefind-ui--reset img{max-width:100%}.pagefind-ui--reset table{border-collapse:collapse}.pagefind-ui--reset input,.pagefind-ui--reset textarea{-webkit-user-select:auto}.pagefind-ui--reset textarea{white-space:revert}.pagefind-ui--reset meter{-webkit-appearance:revert;appearance:revert}.pagefind-ui--reset ::placeholder{color:unset}.pagefind-ui--reset :where([hidden]){display:none}.pagefind-ui--reset :where([contenteditable]:not([contenteditable="false"])){-moz-user-modify:read-write;-webkit-user-modify:read-write;overflow-wrap:break-word;-webkit-line-break:after-white-space;-webkit-user-select:auto}.pagefind-ui--reset :where([draggable="true"]){-webkit-user-drag:element}.pagefind-ui--reset mark{all:revert}:root{--pagefind-ui-scale:.8;--pagefind-ui-primary:#393939;--pagefind-ui-text:#393939;--pagefind-ui-background:#ffffff;--pagefind-ui-border:#eeeeee;--pagefind-ui-tag:#eeeeee;--pagefind-ui-border-width:2px;--pagefind-ui-border-radius:8px;--pagefind-ui-image-border-radius:8px;--pagefind-ui-image-box-ratio:3 / 2;--pagefind-ui-font:system, -apple-system, "BlinkMacSystemFont", ".SFNSText-Regular", "San Francisco", "Roboto", "Segoe UI", "Helvetica Neue", "Lucida Grande", "Ubuntu", "arial", sans-serif}.pagefind-ui.svelte-e9gkc3{width:100%;color:var(--pagefind-ui-text);font-family:var(--pagefind-ui-font)}.pagefind-ui__hidden.svelte-e9gkc3{display:none!important}.pagefind-ui__suppressed.svelte-e9gkc3{opacity:0;pointer-events:none}.pagefind-ui__form.svelte-e9gkc3{position:relative}.pagefind-ui__form.svelte-e9gkc3:before{background-color:var(--pagefind-ui-text);width:calc(18px * var(--pagefind-ui-scale));height:calc(18px * var(--pagefind-ui-scale));top:calc(23px * var(--pagefind-ui-scale));left:calc(20px * var(--pagefind-ui-scale));content:"";position:absolute;display:block;opacity:.7;-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A");-webkit-mask-size:100%;mask-size:100%;z-index:9;pointer-events:none}.pagefind-ui__search-input.svelte-e9gkc3{height:calc(64px * var(--pagefind-ui-scale));padding:0 calc(70px * var(--pagefind-ui-scale)) 0 calc(54px * var(--pagefind-ui-scale));background-color:var(--pagefind-ui-background);border:var(--pagefind-ui-border-width) solid var(--pagefind-ui-border);border-radius:var(--pagefind-ui-border-radius);font-size:calc(21px * var(--pagefind-ui-scale));position:relative;appearance:none;-webkit-appearance:none;display:flex;width:100%;box-sizing:border-box;font-weight:700}.pagefind-ui__search-input.svelte-e9gkc3::placeholder{opacity:.2}.pagefind-ui__search-clear.svelte-e9gkc3{position:absolute;top:calc(3px * var(--pagefind-ui-scale));right:calc(3px * var(--pagefind-ui-scale));height:calc(58px * var(--pagefind-ui-scale));padding:0 calc(15px * var(--pagefind-ui-scale)) 0 calc(2px * var(--pagefind-ui-scale));color:var(--pagefind-ui-text);font-size:calc(14px * var(--pagefind-ui-scale));cursor:pointer;background-color:var(--pagefind-ui-background);border-radius:var(--pagefind-ui-border-radius)}.pagefind-ui__drawer.svelte-e9gkc3{gap:calc(60px * var(--pagefind-ui-scale));display:flex;flex-direction:row;flex-wrap:wrap}.pagefind-ui__results-area.svelte-e9gkc3{min-width:min(calc(400px * var(--pagefind-ui-scale)),100%);flex:1000;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__results.svelte-e9gkc3{padding:0}.pagefind-ui__message.svelte-e9gkc3{box-sizing:content-box;font-size:calc(16px * var(--pagefind-ui-scale));height:calc(24px * var(--pagefind-ui-scale));padding:calc(20px * var(--pagefind-ui-scale)) 0;display:flex;align-items:center;font-weight:700;margin-top:0}.pagefind-ui__button.svelte-e9gkc3{margin-top:calc(40px * var(--pagefind-ui-scale));border:var(--pagefind-ui-border-width) solid var(--pagefind-ui-border);border-radius:var(--pagefind-ui-border-radius);height:calc(48px * var(--pagefind-ui-scale));padding:0 calc(12px * var(--pagefind-ui-scale));font-size:calc(16px * var(--pagefind-ui-scale));color:var(--pagefind-ui-primary);background:var(--pagefind-ui-background);width:100%;text-align:center;font-weight:700;cursor:pointer}.pagefind-ui__button.svelte-e9gkc3:hover{border-color:var(--pagefind-ui-primary);color:var(--pagefind-ui-primary);background:var(--pagefind-ui-background)} diff --git a/pagefind/pagefind-ui.js b/pagefind/pagefind-ui.js new file mode 100644 index 0000000..d88ad59 --- /dev/null +++ b/pagefind/pagefind-ui.js @@ -0,0 +1,2 @@ +(()=>{var Ms=Object.defineProperty;var y=(n,e)=>{for(var t in e)Ms(n,t,{get:e[t],enumerable:!0})};function z(){}function mt(n){return n()}function gn(){return Object.create(null)}function G(n){n.forEach(mt)}function nt(n){return typeof n=="function"}function K(n,e){return n!=n?e==e:n!==e||n&&typeof n=="object"||typeof n=="function"}var et;function ie(n,e){return et||(et=document.createElement("a")),et.href=e,n===et.href}function En(n){return Object.keys(n).length===0}var Rn=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global,de=class{constructor(e){this.options=e,this._listeners="WeakMap"in Rn?new WeakMap:void 0}observe(e,t){return this._listeners.set(e,t),this._getObserver().observe(e,this.options),()=>{this._listeners.delete(e),this._observer.unobserve(e)}}_getObserver(){var e;return(e=this._observer)!==null&&e!==void 0?e:this._observer=new ResizeObserver(t=>{var s;for(let r of t)de.entries.set(r.target,r),(s=this._listeners.get(r.target))===null||s===void 0||s(r)})}};de.entries="WeakMap"in Rn?new WeakMap:void 0;var bn=!1;function As(){bn=!0}function vs(){bn=!1}function b(n,e){n.appendChild(e)}function S(n,e,t){n.insertBefore(e,t||null)}function k(n){n.parentNode&&n.parentNode.removeChild(n)}function Q(n,e){for(let t=0;tn.removeEventListener(e,t,s)}function g(n,e,t){t==null?n.removeAttribute(e):n.getAttribute(e)!==t&&n.setAttribute(e,t)}function Hs(n){return Array.from(n.childNodes)}function N(n,e){e=""+e,n.data!==e&&(n.data=e)}function pt(n,e){n.value=e??""}function B(n,e,t){n.classList[t?"add":"remove"](e)}var st=class{constructor(e=!1){this.is_svg=!1,this.is_svg=e,this.e=this.n=null}c(e){this.h(e)}m(e,t,s=null){this.e||(this.is_svg?this.e=ws(t.nodeName):this.e=C(t.nodeType===11?"TEMPLATE":t.nodeName),this.t=t.tagName!=="TEMPLATE"?t:t.content,this.c(e)),this.i(s)}h(e){this.e.innerHTML=e,this.n=Array.from(this.e.nodeName==="TEMPLATE"?this.e.content.childNodes:this.e.childNodes)}i(e){for(let t=0;tn.indexOf(s)===-1?e.push(s):t.push(s)),t.forEach(s=>s()),re=e}var tt=new Set,ee;function ae(){ee={r:0,c:[],p:ee}}function oe(){ee.r||G(ee.c),ee=ee.p}function U(n,e){n&&n.i&&(tt.delete(n),n.i(e))}function P(n,e,t,s){if(n&&n.o){if(tt.has(n))return;tt.add(n),ee.c.push(()=>{tt.delete(n),s&&(t&&n.d(1),s())}),n.o(e)}else s&&s()}function Sn(n,e){P(n,1,1,()=>{e.delete(n.key)})}function yn(n,e,t,s,r,l,i,a,o,f,u,m){let p=n.length,h=l.length,_=p,c={};for(;_--;)c[n[_].key]=_;let d=[],T=new Map,R=new Map,M=[];for(_=h;_--;){let v=m(r,l,_),H=t(v),O=i.get(H);O?s&&M.push(()=>O.p(v,e)):(O=f(H,v),O.c()),T.set(H,d[_]=O),H in c&&R.set(H,Math.abs(_-c[H]))}let D=new Set,X=new Set;function V(v){U(v,1),v.m(a,u),i.set(v.key,v),u=v.first,h--}for(;p&&h;){let v=d[h-1],H=n[p-1],O=v.key,W=H.key;v===H?(u=v.first,p--,h--):T.has(W)?!i.has(O)||D.has(O)?V(v):X.has(W)?p--:R.get(O)>R.get(W)?(X.add(O),V(v)):(D.add(W),p--):(o(H,i),p--)}for(;p--;){let v=n[p];T.has(v.key)||o(v,i)}for(;h;)V(d[h-1]);return G(M),d}var zs=["allowfullscreen","allowpaymentrequest","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","hidden","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"],Ua=new Set([...zs]);function Mn(n,e,t){let s=n.$$.props[e];s!==void 0&&(n.$$.bound[s]=t,t(n.$$.ctx[s]))}function rt(n){n&&n.c()}function me(n,e,t,s){let{fragment:r,after_update:l}=n.$$;r&&r.m(e,t),s||ht(()=>{let i=n.$$.on_mount.map(mt).filter(nt);n.$$.on_destroy?n.$$.on_destroy.push(...i):G(i),n.$$.on_mount=[]}),l.forEach(ht)}function ue(n,e){let t=n.$$;t.fragment!==null&&(js(t.after_update),G(t.on_destroy),t.fragment&&t.fragment.d(e),t.on_destroy=t.fragment=null,t.ctx=[])}function Us(n,e){n.$$.dirty[0]===-1&&(se.push(n),Ns(),n.$$.dirty.fill(0)),n.$$.dirty[e/31|0]|=1<{let _=h.length?h[0]:p;return f.ctx&&r(f.ctx[m],f.ctx[m]=_)&&(!f.skip_bound&&f.bound[m]&&f.bound[m](_),u&&Us(n,m)),p}):[],f.update(),u=!0,G(f.before_update),f.fragment=s?s(f.ctx):!1,e.target){if(e.hydrate){As();let m=Hs(e.target);f.fragment&&f.fragment.l(m),m.forEach(k)}else f.fragment&&f.fragment.c();e.intro&&U(n.$$.fragment),me(n,e.target,e.anchor,e.customElement),vs(),kn()}fe(o)}var Ds;typeof HTMLElement=="function"&&(Ds=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"})}connectedCallback(){let{on_mount:n}=this.$$;this.$$.on_disconnect=n.map(mt).filter(nt);for(let e in this.$$.slotted)this.appendChild(this.$$.slotted[e])}attributeChangedCallback(n,e,t){this[n]=t}disconnectedCallback(){G(this.$$.on_disconnect)}$destroy(){ue(this,1),this.$destroy=z}$on(n,e){if(!nt(e))return z;let t=this.$$.callbacks[n]||(this.$$.callbacks[n]=[]);return t.push(e),()=>{let s=t.indexOf(e);s!==-1&&t.splice(s,1)}}$set(n){this.$$set&&!En(n)&&(this.$$.skip_bound=!0,this.$$set(n),this.$$.skip_bound=!1)}});var q=class{$destroy(){ue(this,1),this.$destroy=z}$on(e,t){if(!nt(t))return z;let s=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return s.push(t),()=>{let r=s.indexOf(t);r!==-1&&s.splice(r,1)}}$set(e){this.$$set&&!En(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}};function I(n){let e=typeof n=="string"?n.charCodeAt(0):n;return e>=97&&e<=122||e>=65&&e<=90}function $(n){let e=typeof n=="string"?n.charCodeAt(0):n;return e>=48&&e<=57}function Z(n){return I(n)||$(n)}var An=["art-lojban","cel-gaulish","no-bok","no-nyn","zh-guoyu","zh-hakka","zh-min","zh-min-nan","zh-xiang"];var Rt={"en-gb-oed":"en-GB-oxendict","i-ami":"ami","i-bnn":"bnn","i-default":null,"i-enochian":null,"i-hak":"hak","i-klingon":"tlh","i-lux":"lb","i-mingo":null,"i-navajo":"nv","i-pwn":"pwn","i-tao":"tao","i-tay":"tay","i-tsu":"tsu","sgn-be-fr":"sfb","sgn-be-nl":"vgt","sgn-ch-de":"sgg","art-lojban":"jbo","cel-gaulish":null,"no-bok":"nb","no-nyn":"nn","zh-guoyu":"cmn","zh-hakka":"hak","zh-min":null,"zh-min-nan":"nan","zh-xiang":"hsn"};var Is={}.hasOwnProperty;function lt(n,e={}){let t=vn(),s=String(n),r=s.toLowerCase(),l=0;if(n==null)throw new Error("Expected string, got `"+n+"`");if(Is.call(Rt,r)){let a=Rt[r];return(e.normalize===void 0||e.normalize===null||e.normalize)&&typeof a=="string"?lt(a):(t[An.includes(r)?"regular":"irregular"]=s,t)}for(;I(r.charCodeAt(l))&&l<9;)l++;if(l>1&&l<9){if(t.language=s.slice(0,l),l<4){let a=0;for(;r.charCodeAt(l)===45&&I(r.charCodeAt(l+1))&&I(r.charCodeAt(l+2))&&I(r.charCodeAt(l+3))&&!I(r.charCodeAt(l+4));){if(a>2)return i(l,3,"Too many extended language subtags, expected at most 3 subtags");t.extendedLanguageSubtags.push(s.slice(l+1,l+4)),l+=4,a++}}for(r.charCodeAt(l)===45&&I(r.charCodeAt(l+1))&&I(r.charCodeAt(l+2))&&I(r.charCodeAt(l+3))&&I(r.charCodeAt(l+4))&&!I(r.charCodeAt(l+5))&&(t.script=s.slice(l+1,l+5),l+=5),r.charCodeAt(l)===45&&(I(r.charCodeAt(l+1))&&I(r.charCodeAt(l+2))&&!I(r.charCodeAt(l+3))?(t.region=s.slice(l+1,l+3),l+=3):$(r.charCodeAt(l+1))&&$(r.charCodeAt(l+2))&&$(r.charCodeAt(l+3))&&!$(r.charCodeAt(l+4))&&(t.region=s.slice(l+1,l+4),l+=4));r.charCodeAt(l)===45;){let a=l+1,o=a;for(;Z(r.charCodeAt(o));){if(o-a>7)return i(o,1,"Too long variant, expected at most 8 characters");o++}if(o-a>4||o-a>3&&$(r.charCodeAt(a)))t.variants.push(s.slice(a,o)),l=o;else break}for(;r.charCodeAt(l)===45&&!(r.charCodeAt(l+1)===120||!Z(r.charCodeAt(l+1))||r.charCodeAt(l+2)!==45||!Z(r.charCodeAt(l+3)));){let a=l+2,o=0;for(;r.charCodeAt(a)===45&&Z(r.charCodeAt(a+1))&&Z(r.charCodeAt(a+2));){let f=a+1;for(a=f+2,o++;Z(r.charCodeAt(a));){if(a-f>7)return i(a,2,"Too long extension, expected at most 8 characters");a++}}if(!o)return i(a,4,"Empty extension, extensions must have at least 2 characters of content");t.extensions.push({singleton:s.charAt(l+1),extensions:s.slice(l+3,a).split("-")}),l=a}}else l=0;if(l===0&&r.charCodeAt(l)===120||r.charCodeAt(l)===45&&r.charCodeAt(l+1)===120){l=l?l+2:1;let a=l;for(;r.charCodeAt(a)===45&&Z(r.charCodeAt(a+1));){let o=l+1;for(a=o;Z(r.charCodeAt(a));){if(a-o>7)return i(a,5,"Too long private-use area, expected at most 8 characters");a++}t.privateuse.push(s.slice(l+1,a)),l=a}}if(l!==s.length)return i(l,6,"Found superfluous content after tag");return t;function i(a,o,f){return e.warning&&e.warning(f,o,a),e.forgiving?t:vn()}}function vn(){return{language:null,extendedLanguageSubtags:[],script:null,region:null,variants:[],extensions:[],privateuse:[],irregular:null,regular:null}}function wn(n,e,t){let s=n.slice();return s[8]=e[t][0],s[9]=e[t][1],s}function Ps(n){let e,t,s,r,l,i=n[0]&&Hn(n);return{c(){i&&i.c(),e=A(),t=C("div"),s=C("p"),s.textContent=`${n[3](30)}`,r=A(),l=C("p"),l.textContent=`${n[3](40)}`,g(s,"class","pagefind-ui__result-title pagefind-ui__loading svelte-j9e30"),g(l,"class","pagefind-ui__result-excerpt pagefind-ui__loading svelte-j9e30"),g(t,"class","pagefind-ui__result-inner svelte-j9e30")},m(a,o){i&&i.m(a,o),S(a,e,o),S(a,t,o),b(t,s),b(t,r),b(t,l)},p(a,o){a[0]?i||(i=Hn(a),i.c(),i.m(e.parentNode,e)):i&&(i.d(1),i=null)},d(a){i&&i.d(a),a&&k(e),a&&k(t)}}}function Ls(n){let e,t,s,r,l=n[1].meta?.title+"",i,a,o,f,u=n[1].excerpt+"",m,p=n[0]&&Fn(n),h=n[2].length&&On(n);return{c(){p&&p.c(),e=A(),t=C("div"),s=C("p"),r=C("a"),i=w(l),o=A(),f=C("p"),m=A(),h&&h.c(),g(r,"class","pagefind-ui__result-link svelte-j9e30"),g(r,"href",a=n[1].meta?.url||n[1].url),g(s,"class","pagefind-ui__result-title svelte-j9e30"),g(f,"class","pagefind-ui__result-excerpt svelte-j9e30"),g(t,"class","pagefind-ui__result-inner svelte-j9e30")},m(_,c){p&&p.m(_,c),S(_,e,c),S(_,t,c),b(t,s),b(s,r),b(r,i),b(t,o),b(t,f),f.innerHTML=u,b(t,m),h&&h.m(t,null)},p(_,c){_[0]?p?p.p(_,c):(p=Fn(_),p.c(),p.m(e.parentNode,e)):p&&(p.d(1),p=null),c&2&&l!==(l=_[1].meta?.title+"")&&N(i,l),c&2&&a!==(a=_[1].meta?.url||_[1].url)&&g(r,"href",a),c&2&&u!==(u=_[1].excerpt+"")&&(f.innerHTML=u),_[2].length?h?h.p(_,c):(h=On(_),h.c(),h.m(t,null)):h&&(h.d(1),h=null)},d(_){p&&p.d(_),_&&k(e),_&&k(t),h&&h.d()}}}function Hn(n){let e;return{c(){e=C("div"),g(e,"class","pagefind-ui__result-thumb pagefind-ui__loading svelte-j9e30")},m(t,s){S(t,e,s)},d(t){t&&k(e)}}}function Fn(n){let e,t=n[1].meta.image&&Nn(n);return{c(){e=C("div"),t&&t.c(),g(e,"class","pagefind-ui__result-thumb svelte-j9e30")},m(s,r){S(s,e,r),t&&t.m(e,null)},p(s,r){s[1].meta.image?t?t.p(s,r):(t=Nn(s),t.c(),t.m(e,null)):t&&(t.d(1),t=null)},d(s){s&&k(e),t&&t.d()}}}function Nn(n){let e,t,s;return{c(){e=C("img"),g(e,"class","pagefind-ui__result-image svelte-j9e30"),ie(e.src,t=n[1].meta?.image)||g(e,"src",t),g(e,"alt",s=n[1].meta?.image_alt||n[1].meta?.title)},m(r,l){S(r,e,l)},p(r,l){l&2&&!ie(e.src,t=r[1].meta?.image)&&g(e,"src",t),l&2&&s!==(s=r[1].meta?.image_alt||r[1].meta?.title)&&g(e,"alt",s)},d(r){r&&k(e)}}}function On(n){let e,t=n[2],s=[];for(let r=0;rn.toLocaleUpperCase();function Bs(n,e,t){let{show_images:s=!0}=e,{process_result:r=null}=e,{result:l={data:async()=>{}}}=e,i=["title","image","image_alt","url"],a,o=[],f=async m=>{t(1,a=await m.data()),t(1,a=r?.(a)??a),t(2,o=Object.entries(a.meta).filter(([p])=>!i.includes(p)))},u=(m=30)=>". ".repeat(Math.floor(10+Math.random()*m));return n.$$set=m=>{"show_images"in m&&t(0,s=m.show_images),"process_result"in m&&t(4,r=m.process_result),"result"in m&&t(5,l=m.result)},n.$$.update=()=>{if(n.$$.dirty&32)e:f(l)},[s,a,o,u,r,l]}var bt=class extends q{constructor(e){super(),Y(this,e,Bs,qs,K,{show_images:0,process_result:4,result:5})}},Un=bt;function Dn(n,e,t){let s=n.slice();return s[11]=e[t][0],s[12]=e[t][1],s}function In(n,e,t){let s=n.slice();return s[15]=e[t],s}function Vs(n){let e,t,s,r,l,i=n[0]&&Pn(n);return{c(){i&&i.c(),e=A(),t=C("div"),s=C("p"),s.textContent=`${n[5](30)}`,r=A(),l=C("p"),l.textContent=`${n[5](40)}`,g(s,"class","pagefind-ui__result-title pagefind-ui__loading svelte-4xnkmf"),g(l,"class","pagefind-ui__result-excerpt pagefind-ui__loading svelte-4xnkmf"),g(t,"class","pagefind-ui__result-inner svelte-4xnkmf")},m(a,o){i&&i.m(a,o),S(a,e,o),S(a,t,o),b(t,s),b(t,r),b(t,l)},p(a,o){a[0]?i||(i=Pn(a),i.c(),i.m(e.parentNode,e)):i&&(i.d(1),i=null)},d(a){i&&i.d(a),a&&k(e),a&&k(t)}}}function Ws(n){let e,t,s,r,l=n[1].meta?.title+"",i,a,o,f,u,m=n[0]&&Ln(n),p=n[4]&&Bn(n),h=n[3],_=[];for(let d=0;dn.toLocaleUpperCase();function Ks(n,e,t){let{show_images:s=!0}=e,{process_result:r=null}=e,{result:l={data:async()=>{}}}=e,i=["title","image","image_alt","url"],a,o=[],f=[],u=!1,m=(_,c)=>{if(_.length<=c)return _;let d=[..._].sort((T,R)=>R.locations.length-T.locations.length).slice(0,3).map(T=>T.url);return _.filter(T=>d.includes(T.url))},p=async _=>{t(1,a=await _.data()),t(1,a=r?.(a)??a),t(2,o=Object.entries(a.meta).filter(([c])=>!i.includes(c))),Array.isArray(a.sub_results)&&(t(4,u=a.sub_results?.[0]?.url===(a.meta?.url||a.url)),u?t(3,f=m(a.sub_results.slice(1),3)):t(3,f=m([...a.sub_results],3)))},h=(_=30)=>". ".repeat(Math.floor(10+Math.random()*_));return n.$$set=_=>{"show_images"in _&&t(0,s=_.show_images),"process_result"in _&&t(6,r=_.process_result),"result"in _&&t(7,l=_.result)},n.$$.update=()=>{if(n.$$.dirty&128)e:p(l)},[s,a,o,f,u,h,r,l]}var Tt=class extends q{constructor(e){super(),Y(this,e,Ks,Gs,K,{show_images:0,process_result:6,result:7})}},Jn=Tt;function Yn(n,e,t){let s=n.slice();return s[10]=e[t][0],s[11]=e[t][1],s[12]=e,s[13]=t,s}function Zn(n,e,t){let s=n.slice();return s[14]=e[t][0],s[15]=e[t][1],s[16]=e,s[17]=t,s}function Xn(n){let e,t,s=n[4]("filters_label",n[5],n[6])+"",r,l,i=Object.entries(n[1]),a=[];for(let o=0;on.toLocaleUpperCase(),ts=n=>n.toLowerCase();function Ys(n,e,t){let{available_filters:s=null}=e,{show_empty_filters:r=!0}=e,{open_filters:l=[]}=e,{translate:i=()=>""}=e,{automatic_translations:a={}}=e,{translations:o={}}=e,{selected_filters:f={}}=e,u=!1,m=!1;function p(h,_){f[`${h}:${_}`]=this.checked,t(0,f)}return n.$$set=h=>{"available_filters"in h&&t(1,s=h.available_filters),"show_empty_filters"in h&&t(2,r=h.show_empty_filters),"open_filters"in h&&t(3,l=h.open_filters),"translate"in h&&t(4,i=h.translate),"automatic_translations"in h&&t(5,a=h.automatic_translations),"translations"in h&&t(6,o=h.translations),"selected_filters"in h&&t(0,f=h.selected_filters)},n.$$.update=()=>{if(n.$$.dirty&258){e:if(s&&!u){t(8,u=!0);let h=Object.entries(s||{});h.length===1&&Object.entries(h[0][1])?.length<=6&&t(7,m=!0)}}},[f,s,r,l,i,a,o,m,u,p]}var Ct=class extends q{constructor(e){super(),Y(this,e,Ys,Js,K,{available_filters:1,show_empty_filters:2,open_filters:3,translate:4,automatic_translations:5,translations:6,selected_filters:0})}},ns=Ct;var kt={};y(kt,{comments:()=>Xs,default:()=>$s,direction:()=>Qs,strings:()=>xs,thanks_to:()=>Zs});var Zs="Jan Claasen ",Xs="",Qs="ltr",xs={placeholder:"Soek",clear_search:"Opruim",load_more:"Laai nog resultate",search_label:"Soek hierdie webwerf",filters_label:"Filters",zero_results:"Geen resultate vir [SEARCH_TERM]",many_results:"[COUNT] resultate vir [SEARCH_TERM]",one_result:"[COUNT] resultate vir [SEARCH_TERM]",alt_search:"Geen resultate vir [SEARCH_TERM]. Toon resultate vir [DIFFERENT_TERM] in plaas daarvan",search_suggestion:"Geen resultate vir [SEARCH_TERM]. Probeer eerder een van die volgende terme:",searching:"Soek vir [SEARCH_TERM]"},$s={thanks_to:Zs,comments:Xs,direction:Qs,strings:xs};var St={};y(St,{comments:()=>tr,default:()=>rr,direction:()=>nr,strings:()=>sr,thanks_to:()=>er});var er="Jermanuts",tr="",nr="rtl",sr={placeholder:"\u0628\u062D\u062B",clear_search:"\u0627\u0645\u0633\u062D",load_more:"\u062D\u0645\u0651\u0650\u0644 \u0627\u0644\u0645\u0632\u064A\u062F \u0645\u0646 \u0627\u0644\u0646\u062A\u0627\u0626\u062C",search_label:"\u0627\u0628\u062D\u062B \u0641\u064A \u0647\u0630\u0627 \u0627\u0644\u0645\u0648\u0642\u0639",filters_label:"\u062A\u0635\u0641\u064A\u0627\u062A",zero_results:"\u0644\u0627 \u062A\u0648\u062C\u062F \u0646\u062A\u0627\u0626\u062C \u0644 [SEARCH_TERM]",many_results:"[COUNT] \u0646\u062A\u0627\u0626\u062C \u0644 [SEARCH_TERM]",one_result:"[COUNT] \u0646\u062A\u064A\u062C\u0629 \u0644 [SEARCH_TERM]",alt_search:"\u0644\u0627 \u062A\u0648\u062C\u062F \u0646\u062A\u0627\u0626\u062C \u0644 [SEARCH_TERM]. \u064A\u0639\u0631\u0636 \u0627\u0644\u0646\u062A\u0627\u0626\u062C \u0644 [DIFFERENT_TERM] \u0628\u062F\u0644\u0627\u064B \u0645\u0646 \u0630\u0644\u0643",search_suggestion:"\u0644\u0627 \u062A\u0648\u062C\u062F \u0646\u062A\u0627\u0626\u062C \u0644 [SEARCH_TERM]. \u062C\u0631\u0628 \u0623\u062D\u062F \u0639\u0645\u0644\u064A\u0627\u062A \u0627\u0644\u0628\u062D\u062B \u0627\u0644\u062A\u0627\u0644\u064A\u0629:",searching:"\u064A\u0628\u062D\u062B \u0639\u0646 [SEARCH_TERM]..."},rr={thanks_to:er,comments:tr,direction:nr,strings:sr};var yt={};y(yt,{comments:()=>ir,default:()=>ur,direction:()=>ar,strings:()=>or,thanks_to:()=>lr});var lr="Maruf Alom ",ir="",ar="ltr",or={placeholder:"\u0985\u09A8\u09C1\u09B8\u09A8\u09CD\u09A7\u09BE\u09A8 \u0995\u09B0\u09C1\u09A8",clear_search:"\u09AE\u09C1\u099B\u09C7 \u09AB\u09C7\u09B2\u09C1\u09A8",load_more:"\u0986\u09B0\u09CB \u09AB\u09B2\u09BE\u09AB\u09B2 \u09A6\u09C7\u0996\u09C1\u09A8",search_label:"\u098F\u0987 \u0993\u09DF\u09C7\u09AC\u09B8\u09BE\u0987\u099F\u09C7 \u0985\u09A8\u09C1\u09B8\u09A8\u09CD\u09A7\u09BE\u09A8 \u0995\u09B0\u09C1\u09A8",filters_label:"\u09AB\u09BF\u09B2\u09CD\u099F\u09BE\u09B0",zero_results:"[SEARCH_TERM] \u098F\u09B0 \u099C\u09A8\u09CD\u09AF \u0995\u09BF\u099B\u09C1 \u0996\u09C1\u0981\u099C\u09C7 \u09AA\u09BE\u0993\u09DF\u09BE \u09AF\u09BE\u09DF\u09A8\u09BF",many_results:"[COUNT]-\u099F\u09BF \u09AB\u09B2\u09BE\u09AB\u09B2 \u09AA\u09BE\u0993\u09DF\u09BE \u0997\u09BF\u09DF\u09C7\u099B\u09C7 [SEARCH_TERM] \u098F\u09B0 \u099C\u09A8\u09CD\u09AF",one_result:"[COUNT]-\u099F\u09BF \u09AB\u09B2\u09BE\u09AB\u09B2 \u09AA\u09BE\u0993\u09DF\u09BE \u0997\u09BF\u09DF\u09C7\u099B\u09C7 [SEARCH_TERM] \u098F\u09B0 \u099C\u09A8\u09CD\u09AF",alt_search:"\u0995\u09CB\u09A8 \u0995\u09BF\u099B\u09C1 \u0996\u09C1\u0981\u099C\u09C7 \u09AA\u09BE\u0993\u09DF\u09BE \u09AF\u09BE\u09DF\u09A8\u09BF [SEARCH_TERM] \u098F\u09B0 \u099C\u09A8\u09CD\u09AF. \u09AA\u09B0\u09BF\u09AC\u09B0\u09CD\u09A4\u09C7 [DIFFERENT_TERM] \u098F\u09B0 \u099C\u09A8\u09CD\u09AF \u09A6\u09C7\u0996\u09BE\u09A8\u09CB \u09B9\u099A\u09CD\u099B\u09C7",search_suggestion:"\u0995\u09CB\u09A8 \u0995\u09BF\u099B\u09C1 \u0996\u09C1\u0981\u099C\u09C7 \u09AA\u09BE\u0993\u09DF\u09BE \u09AF\u09BE\u09DF\u09A8\u09BF [SEARCH_TERM] \u098F\u09B0 \u09AC\u09BF\u09B7\u09DF\u09C7. \u09A8\u09BF\u09A8\u09CD\u09AE\u09C7\u09B0 \u09AC\u09BF\u09B7\u09DF\u09AC\u09B8\u09CD\u09A4\u09C1 \u0996\u09C1\u0981\u099C\u09C7 \u09A6\u09C7\u0996\u09C1\u09A8:",searching:"\u0985\u09A8\u09C1\u09B8\u09A8\u09CD\u09A7\u09BE\u09A8 \u099A\u09B2\u099B\u09C7 [SEARCH_TERM]..."},ur={thanks_to:lr,comments:ir,direction:ar,strings:or};var Mt={};y(Mt,{comments:()=>_r,default:()=>hr,direction:()=>fr,strings:()=>dr,thanks_to:()=>cr});var cr="Pablo Villaverde ",_r="",fr="ltr",dr={placeholder:"Cerca",clear_search:"Netejar",load_more:"Veure m\xE9s resultats",search_label:"Cerca en aquest lloc",filters_label:"Filtres",zero_results:"No es van trobar resultats per [SEARCH_TERM]",many_results:"[COUNT] resultats trobats per [SEARCH_TERM]",one_result:"[COUNT] resultat trobat per [SEARCH_TERM]",alt_search:"No es van trobar resultats per [SEARCH_TERM]. Mostrant al seu lloc resultats per [DIFFERENT_TERM]",search_suggestion:"No es van trobar resultats per [SEARCH_TERM]. Proveu una de les cerques seg\xFCents:",searching:"Cercant [SEARCH_TERM]..."},hr={thanks_to:cr,comments:_r,direction:fr,strings:dr};var At={};y(At,{comments:()=>pr,default:()=>Rr,direction:()=>gr,strings:()=>Er,thanks_to:()=>mr});var mr="Dalibor Hon ",pr="",gr="ltr",Er={placeholder:"Hledat",clear_search:"Smazat",load_more:"Na\u010D\xEDst dal\u0161\xED v\xFDsledky",search_label:"Prohledat tuto str\xE1nku",filters_label:"Filtry",zero_results:"\u017D\xE1dn\xE9 v\xFDsledky pro [SEARCH_TERM]",many_results:"[COUNT] v\xFDsledk\u016F pro [SEARCH_TERM]",one_result:"[COUNT] v\xFDsledek pro [SEARCH_TERM]",alt_search:"\u017D\xE1dn\xE9 v\xFDsledky pro [SEARCH_TERM]. Zobrazuj\xED se v\xFDsledky pro [DIFFERENT_TERM]",search_suggestion:"\u017D\xE1dn\xE9 v\xFDsledky pro [SEARCH_TERM]. Souvisej\xEDc\xED v\xFDsledky hled\xE1n\xED:",searching:"Hled\xE1m [SEARCH_TERM]..."},Rr={thanks_to:mr,comments:pr,direction:gr,strings:Er};var vt={};y(vt,{comments:()=>Tr,default:()=>Sr,direction:()=>Cr,strings:()=>kr,thanks_to:()=>br});var br="Jonas Smedegaard ",Tr="",Cr="ltr",kr={placeholder:"S\xF8g",clear_search:"Nulstil",load_more:"Indl\xE6s flere resultater",search_label:"S\xF8g p\xE5 dette website",filters_label:"Filtre",zero_results:"Ingen resultater for [SEARCH_TERM]",many_results:"[COUNT] resultater for [SEARCH_TERM]",one_result:"[COUNT] resultat for [SEARCH_TERM]",alt_search:"Ingen resultater for [SEARCH_TERM]. Viser resultater for [DIFFERENT_TERM] i stedet",search_suggestion:"Ingen resultater for [SEARCH_TERM]. Pr\xF8v et af disse s\xF8geord i stedet:",searching:"S\xF8ger efter [SEARCH_TERM]..."},Sr={thanks_to:br,comments:Tr,direction:Cr,strings:kr};var wt={};y(wt,{comments:()=>Mr,default:()=>wr,direction:()=>Ar,strings:()=>vr,thanks_to:()=>yr});var yr="Jan Claasen ",Mr="",Ar="ltr",vr={placeholder:"Suche",clear_search:"L\xF6schen",load_more:"Mehr Ergebnisse laden",search_label:"Suche diese Seite",filters_label:"Filter",zero_results:"Keine Ergebnisse f\xFCr [SEARCH_TERM]",many_results:"[COUNT] Ergebnisse f\xFCr [SEARCH_TERM]",one_result:"[COUNT] Ergebnis f\xFCr [SEARCH_TERM]",alt_search:"Keine Ergebnisse f\xFCr [SEARCH_TERM]. Stattdessen werden Ergebnisse f\xFCr [DIFFERENT_TERM] angezeigt",search_suggestion:"Keine Ergebnisse f\xFCr [SEARCH_TERM]. Versuchen Sie eine der folgenden Suchen:",searching:"Suche f\xFCr [SEARCH_TERM]"},wr={thanks_to:yr,comments:Mr,direction:Ar,strings:vr};var Ht={};y(Ht,{comments:()=>Fr,default:()=>jr,direction:()=>Nr,strings:()=>Or,thanks_to:()=>Hr});var Hr="Liam Bigelow ",Fr="",Nr="ltr",Or={placeholder:"Search",clear_search:"Clear",load_more:"Load more results",search_label:"Search this site",filters_label:"Filters",zero_results:"No results for [SEARCH_TERM]",many_results:"[COUNT] results for [SEARCH_TERM]",one_result:"[COUNT] result for [SEARCH_TERM]",alt_search:"No results for [SEARCH_TERM]. Showing results for [DIFFERENT_TERM] instead",search_suggestion:"No results for [SEARCH_TERM]. Try one of the following searches:",searching:"Searching for [SEARCH_TERM]..."},jr={thanks_to:Hr,comments:Fr,direction:Nr,strings:Or};var Ft={};y(Ft,{comments:()=>Ur,default:()=>Pr,direction:()=>Dr,strings:()=>Ir,thanks_to:()=>zr});var zr="Pablo Villaverde ",Ur="",Dr="ltr",Ir={placeholder:"Buscar",clear_search:"Limpiar",load_more:"Ver m\xE1s resultados",search_label:"Buscar en este sitio",filters_label:"Filtros",zero_results:"No se encontraron resultados para [SEARCH_TERM]",many_results:"[COUNT] resultados encontrados para [SEARCH_TERM]",one_result:"[COUNT] resultado encontrado para [SEARCH_TERM]",alt_search:"No se encontraron resultados para [SEARCH_TERM]. Mostrando en su lugar resultados para [DIFFERENT_TERM]",search_suggestion:"No se encontraron resultados para [SEARCH_TERM]. Prueba una de las siguientes b\xFAsquedas:",searching:"Buscando [SEARCH_TERM]..."},Pr={thanks_to:zr,comments:Ur,direction:Dr,strings:Ir};var Nt={};y(Nt,{comments:()=>qr,default:()=>Wr,direction:()=>Br,strings:()=>Vr,thanks_to:()=>Lr});var Lr="Ali Khaleqi Yekta ",qr="",Br="rtl",Vr={placeholder:"\u062C\u0633\u062A\u062C\u0648",clear_search:"\u067E\u0627\u06A9\u0633\u0627\u0632\u06CC",load_more:"\u0628\u0627\u0631\u06AF\u0630\u0627\u0631\u06CC \u0646\u062A\u0627\u06CC\u062C \u0628\u06CC\u0634\u062A\u0631",search_label:"\u062C\u0633\u062A\u062C\u0648 \u062F\u0631 \u0633\u0627\u06CC\u062A",filters_label:"\u0641\u06CC\u0644\u062A\u0631\u0647\u0627",zero_results:"\u0646\u062A\u06CC\u062C\u0647\u200C\u0627\u06CC \u0628\u0631\u0627\u06CC [SEARCH_TERM] \u06CC\u0627\u0641\u062A \u0646\u0634\u062F",many_results:"[COUNT] \u0646\u062A\u06CC\u062C\u0647 \u0628\u0631\u0627\u06CC [SEARCH_TERM] \u06CC\u0627\u0641\u062A \u0634\u062F",one_result:"[COUNT] \u0646\u062A\u06CC\u062C\u0647 \u0628\u0631\u0627\u06CC [SEARCH_TERM] \u06CC\u0627\u0641\u062A \u0634\u062F",alt_search:"\u0646\u062A\u06CC\u062C\u0647\u200C\u0627\u06CC \u0628\u0631\u0627\u06CC [SEARCH_TERM] \u06CC\u0627\u0641\u062A \u0646\u0634\u062F. \u062F\u0631 \u0639\u0648\u0636 \u0646\u062A\u0627\u06CC\u062C \u0628\u0631\u0627\u06CC [DIFFERENT_TERM] \u0646\u0645\u0627\u06CC\u0634 \u062F\u0627\u062F\u0647 \u0645\u06CC\u200C\u0634\u0648\u062F",search_suggestion:"\u0646\u062A\u06CC\u062C\u0647\u200C\u0627\u06CC \u0628\u0631\u0627\u06CC [SEARCH_TERM] \u06CC\u0627\u0641\u062A \u0646\u0634\u062F. \u06CC\u06A9\u06CC \u0627\u0632 \u062C\u0633\u062A\u062C\u0648\u0647\u0627\u06CC \u0632\u06CC\u0631 \u0631\u0627 \u0627\u0645\u062A\u062D\u0627\u0646 \u06A9\u0646\u06CC\u062F:",searching:"\u062F\u0631 \u062D\u0627\u0644 \u062C\u0633\u062A\u062C\u0648\u06CC [SEARCH_TERM]..."},Wr={thanks_to:Lr,comments:qr,direction:Br,strings:Vr};var Ot={};y(Ot,{comments:()=>Kr,default:()=>Zr,direction:()=>Jr,strings:()=>Yr,thanks_to:()=>Gr});var Gr="Valtteri Laitinen ",Kr="",Jr="ltr",Yr={placeholder:"Haku",clear_search:"Tyhjenn\xE4",load_more:"Lataa lis\xE4\xE4 tuloksia",search_label:"Hae t\xE4lt\xE4 sivustolta",filters_label:"Suodattimet",zero_results:"Ei tuloksia haulle [SEARCH_TERM]",many_results:"[COUNT] tulosta haulle [SEARCH_TERM]",one_result:"[COUNT] tulos haulle [SEARCH_TERM]",alt_search:"Ei tuloksia haulle [SEARCH_TERM]. N\xE4ytet\xE4\xE4n tulokset sen sijaan haulle [DIFFERENT_TERM]",search_suggestion:"Ei tuloksia haulle [SEARCH_TERM]. Kokeile jotain seuraavista:",searching:"Haetaan [SEARCH_TERM]..."},Zr={thanks_to:Gr,comments:Kr,direction:Jr,strings:Yr};var jt={};y(jt,{comments:()=>Qr,default:()=>el,direction:()=>xr,strings:()=>$r,thanks_to:()=>Xr});var Xr="Nicolas Friedli ",Qr="",xr="ltr",$r={placeholder:"Rechercher",clear_search:"Nettoyer",load_more:"Charger plus de r\xE9sultats",search_label:"Recherche sur ce site",filters_label:"Filtres",zero_results:"Pas de r\xE9sultat pour [SEARCH_TERM]",many_results:"[COUNT] r\xE9sultats pour [SEARCH_TERM]",one_result:"[COUNT] r\xE9sultat pour [SEARCH_TERM]",alt_search:"Pas de r\xE9sultat pour [SEARCH_TERM]. Montre les r\xE9sultats pour [DIFFERENT_TERM] \xE0 la place",search_suggestion:"Pas de r\xE9sultat pour [SEARCH_TERM]. Essayer une des recherches suivantes:",searching:"Recherche [SEARCH_TERM]..."},el={thanks_to:Xr,comments:Qr,direction:xr,strings:$r};var zt={};y(zt,{comments:()=>nl,default:()=>ll,direction:()=>sl,strings:()=>rl,thanks_to:()=>tl});var tl="Pablo Villaverde ",nl="",sl="ltr",rl={placeholder:"Buscar",clear_search:"Limpar",load_more:"Ver m\xE1is resultados",search_label:"Buscar neste sitio",filters_label:"Filtros",zero_results:"Non se atoparon resultados para [SEARCH_TERM]",many_results:"[COUNT] resultados atopados para [SEARCH_TERM]",one_result:"[COUNT] resultado atopado para [SEARCH_TERM]",alt_search:"Non se atoparon resultados para [SEARCH_TERM]. Amosando no seu lugar resultados para [DIFFERENT_TERM]",search_suggestion:"Non se atoparon resultados para [SEARCH_TERM]. Probe unha das seguintes pesquisas:",searching:"Buscando [SEARCH_TERM]..."},ll={thanks_to:tl,comments:nl,direction:sl,strings:rl};var Ut={};y(Ut,{comments:()=>al,default:()=>cl,direction:()=>ol,strings:()=>ul,thanks_to:()=>il});var il="Nir Tamir ",al="",ol="rtl",ul={placeholder:"\u05D7\u05D9\u05E4\u05D5\u05E9",clear_search:"\u05E0\u05D9\u05E7\u05D5\u05D9",load_more:"\u05E2\u05D5\u05D3 \u05EA\u05D5\u05E6\u05D0\u05D5\u05EA",search_label:"\u05D7\u05D9\u05E4\u05D5\u05E9 \u05D1\u05D0\u05EA\u05E8 \u05D6\u05D4",filters_label:"\u05DE\u05E1\u05E0\u05E0\u05D9\u05DD",zero_results:"\u05DC\u05D0 \u05E0\u05DE\u05E6\u05D0\u05D5 \u05EA\u05D5\u05E6\u05D0\u05D5\u05EA \u05E2\u05D1\u05D5\u05E8 [SEARCH_TERM]",many_results:"\u05E0\u05DE\u05E6\u05D0\u05D5 [COUNT] \u05EA\u05D5\u05E6\u05D0\u05D5\u05EA \u05E2\u05D1\u05D5\u05E8 [SEARCH_TERM]",one_result:"\u05E0\u05DE\u05E6\u05D0\u05D4 \u05EA\u05D5\u05E6\u05D0\u05D4 \u05D0\u05D7\u05EA \u05E2\u05D1\u05D5\u05E8 [SEARCH_TERM]",alt_search:"\u05DC\u05D0 \u05E0\u05DE\u05E6\u05D0\u05D5 \u05EA\u05D5\u05E6\u05D0\u05D5\u05EA \u05E2\u05D1\u05D5\u05E8 [SEARCH_TERM]. \u05DE\u05D5\u05E6\u05D2\u05D5\u05EA \u05EA\u05D5\u05E6\u05D0\u05D5\u05EA \u05E2\u05D1\u05D5\u05E8 [DIFFERENT_TERM]",search_suggestion:"\u05DC\u05D0 \u05E0\u05DE\u05E6\u05D0\u05D5 \u05EA\u05D5\u05E6\u05D0\u05D5\u05EA \u05E2\u05D1\u05D5\u05E8 [SEARCH_TERM]. \u05E0\u05E1\u05D5 \u05D0\u05D7\u05D3 \u05DE\u05D4\u05D7\u05D9\u05E4\u05D5\u05E9\u05D9\u05DD \u05D4\u05D1\u05D0\u05D9\u05DD:",searching:"\u05DE\u05D7\u05E4\u05E9 \u05D0\u05EA [SEARCH_TERM]..."},cl={thanks_to:il,comments:al,direction:ol,strings:ul};var Dt={};y(Dt,{comments:()=>fl,default:()=>ml,direction:()=>dl,strings:()=>hl,thanks_to:()=>_l});var _l="Amit Yadav ",fl="",dl="ltr",hl={placeholder:"\u0916\u094B\u091C\u0947\u0902",clear_search:"\u0938\u093E\u092B \u0915\u0930\u0947\u0902",load_more:"\u0914\u0930 \u0905\u0927\u093F\u0915 \u092A\u0930\u093F\u0923\u093E\u092E \u0932\u094B\u0921 \u0915\u0930\u0947\u0902",search_label:"\u0907\u0938 \u0938\u093E\u0907\u091F \u092E\u0947\u0902 \u0916\u094B\u091C\u0947\u0902",filters_label:"\u092B\u093C\u093F\u0932\u094D\u091F\u0930",zero_results:"\u0915\u094B\u0908 \u092A\u0930\u093F\u0923\u093E\u092E [SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u0928\u0939\u0940\u0902 \u092E\u093F\u0932\u093E",many_results:"[COUNT] \u092A\u0930\u093F\u0923\u093E\u092E [SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u092E\u093F\u0932\u0947",one_result:"[COUNT] \u092A\u0930\u093F\u0923\u093E\u092E [SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u092E\u093F\u0932\u093E",alt_search:"[SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u0915\u094B\u0908 \u092A\u0930\u093F\u0923\u093E\u092E \u0928\u0939\u0940\u0902 \u092E\u093F\u0932\u093E\u0964 \u0907\u0938\u0915\u0947 \u092C\u091C\u093E\u092F [DIFFERENT_TERM] \u0915\u0947 \u0932\u093F\u090F \u092A\u0930\u093F\u0923\u093E\u092E \u0926\u093F\u0916\u093E \u0930\u0939\u093E \u0939\u0948",search_suggestion:"[SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u0915\u094B\u0908 \u092A\u0930\u093F\u0923\u093E\u092E \u0928\u0939\u0940\u0902 \u092E\u093F\u0932\u093E\u0964 \u0928\u093F\u092E\u094D\u0928\u0932\u093F\u0916\u093F\u0924 \u0916\u094B\u091C\u094B\u0902 \u092E\u0947\u0902 \u0938\u0947 \u0915\u094B\u0908 \u090F\u0915 \u0906\u091C\u093C\u092E\u093E\u090F\u0902:",searching:"[SEARCH_TERM] \u0915\u0940 \u0916\u094B\u091C \u0915\u0940 \u091C\u093E \u0930\u0939\u0940 \u0939\u0948..."},ml={thanks_to:_l,comments:fl,direction:dl,strings:hl};var It={};y(It,{comments:()=>gl,default:()=>bl,direction:()=>El,strings:()=>Rl,thanks_to:()=>pl});var pl="Diomed ",gl="",El="ltr",Rl={placeholder:"Tra\u017Ei",clear_search:"O\u010Disti",load_more:"U\u010Ditaj vi\u0161e rezultata",search_label:"Pretra\u017Ei ovu stranicu",filters_label:"Filteri",zero_results:"Nema rezultata za [SEARCH_TERM]",many_results:"[COUNT] rezultata za [SEARCH_TERM]",one_result:"[COUNT] rezultat za [SEARCH_TERM]",alt_search:"Nema rezultata za [SEARCH_TERM]. Prikazujem rezultate za [DIFFERENT_TERM]",search_suggestion:"Nema rezultata za [SEARCH_TERM]. Poku\u0161aj s jednom od ovih pretraga:",searching:"Pretra\u017Eujem [SEARCH_TERM]..."},bl={thanks_to:pl,comments:gl,direction:El,strings:Rl};var Pt={};y(Pt,{comments:()=>Cl,default:()=>yl,direction:()=>kl,strings:()=>Sl,thanks_to:()=>Tl});var Tl="Adam Laki ",Cl="",kl="ltr",Sl={placeholder:"Keres\xE9s",clear_search:"T\xF6rl\xE9s",load_more:"Tov\xE1bbi tal\xE1latok bet\xF6lt\xE9se",search_label:"Keres\xE9s az oldalon",filters_label:"Sz\u0171r\xE9s",zero_results:"Nincs tal\xE1lat a(z) [SEARCH_TERM] kifejez\xE9sre",many_results:"[COUNT] db tal\xE1lat a(z) [SEARCH_TERM] kifejez\xE9sre",one_result:"[COUNT] db tal\xE1lat a(z) [SEARCH_TERM] kifejez\xE9sre",alt_search:"Nincs tal\xE1lat a(z) [SEARCH_TERM] kifejez\xE9sre. Tal\xE1latok mutat\xE1sa ink\xE1bb a(z) [DIFFERENT_TERM] kifejez\xE9sre",search_suggestion:"Nincs tal\xE1lat a(z) [SEARCH_TERM] kifejez\xE9sre. Pr\xF3b\xE1ld meg a k\xF6vetkez\u0151 keres\xE9sek egyik\xE9t:",searching:"Keres\xE9s a(z) [SEARCH_TERM] kifejez\xE9sre..."},yl={thanks_to:Tl,comments:Cl,direction:kl,strings:Sl};var Lt={};y(Lt,{comments:()=>Al,default:()=>Hl,direction:()=>vl,strings:()=>wl,thanks_to:()=>Ml});var Ml="Nixentric",Al="",vl="ltr",wl={placeholder:"Cari",clear_search:"Bersihkan",load_more:"Muat lebih banyak hasil",search_label:"Telusuri situs ini",filters_label:"Filter",zero_results:"[SEARCH_TERM] tidak ditemukan",many_results:"Ditemukan [COUNT] hasil untuk [SEARCH_TERM]",one_result:"Ditemukan [COUNT] hasil untuk [SEARCH_TERM]",alt_search:"[SEARCH_TERM] tidak ditemukan. Menampilkan hasil [DIFFERENT_TERM] sebagai gantinya",search_suggestion:"[SEARCH_TERM] tidak ditemukan. Coba salah satu pencarian berikut ini:",searching:"Mencari [SEARCH_TERM]..."},Hl={thanks_to:Ml,comments:Al,direction:vl,strings:wl};var qt={};y(qt,{comments:()=>Nl,default:()=>zl,direction:()=>Ol,strings:()=>jl,thanks_to:()=>Fl});var Fl="Cosette Bruhns Alonso, Andrew Janco ",Nl="",Ol="ltr",jl={placeholder:"Cerca",clear_search:"Cancella la cronologia",load_more:"Mostra pi\xF9 risultati",search_label:"Cerca nel sito",filters_label:"Filtri di ricerca",zero_results:"Nessun risultato per [SEARCH_TERM]",many_results:"[COUNT] risultati per [SEARCH_TERM]",one_result:"[COUNT] risultato per [SEARCH_TERM]",alt_search:"Nessun risultato per [SEARCH_TERM]. Mostrando risultati per [DIFFERENT_TERM] come alternativa.",search_suggestion:"Nessun risultato per [SEARCH_TERM]. Prova una delle seguenti ricerche:",searching:"Cercando [SEARCH_TERM]..."},zl={thanks_to:Fl,comments:Nl,direction:Ol,strings:jl};var Bt={};y(Bt,{comments:()=>Dl,default:()=>Ll,direction:()=>Il,strings:()=>Pl,thanks_to:()=>Ul});var Ul="Tate",Dl="",Il="ltr",Pl={placeholder:"\u691C\u7D22",clear_search:"\u30AF\u30EA\u30A2",load_more:"\u6B21\u3092\u8AAD\u307F\u8FBC\u3080",search_label:"\u3053\u306E\u30B5\u30A4\u30C8\u3092\u691C\u7D22",filters_label:"\u30D5\u30A3\u30EB\u30BF",zero_results:"[SEARCH_TERM]\u306E\u691C\u7D22\u306B\u4E00\u81F4\u3059\u308B\u60C5\u5831\u306F\u3042\u308A\u307E\u305B\u3093\u3067\u3057\u305F",many_results:"[SEARCH_TERM]\u306E[COUNT]\u4EF6\u306E\u691C\u7D22\u7D50\u679C",one_result:"[SEARCH_TERM]\u306E[COUNT]\u4EF6\u306E\u691C\u7D22\u7D50\u679C",alt_search:"[SEARCH_TERM]\u306E\u691C\u7D22\u306B\u4E00\u81F4\u3059\u308B\u60C5\u5831\u306F\u3042\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002[DIFFERENT_TERM]\u306E\u691C\u7D22\u7D50\u679C\u3092\u8868\u793A\u3057\u3066\u3044\u307E\u3059",search_suggestion:"[SEARCH_TERM]\u306E\u691C\u7D22\u306B\u4E00\u81F4\u3059\u308B\u60C5\u5831\u306F\u3042\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u6B21\u306E\u3044\u305A\u308C\u304B\u306E\u691C\u7D22\u3092\u8A66\u3057\u3066\u304F\u3060\u3055\u3044",searching:"[SEARCH_TERM]\u3092\u691C\u7D22\u3057\u3066\u3044\u307E\u3059"},Ll={thanks_to:Ul,comments:Dl,direction:Il,strings:Pl};var Vt={};y(Vt,{comments:()=>Bl,default:()=>Gl,direction:()=>Vl,strings:()=>Wl,thanks_to:()=>ql});var ql="Seokho Son ",Bl="",Vl="ltr",Wl={placeholder:"\uAC80\uC0C9\uC5B4",clear_search:"\uBE44\uC6B0\uAE30",load_more:"\uAC80\uC0C9 \uACB0\uACFC \uB354 \uBCF4\uAE30",search_label:"\uC0AC\uC774\uD2B8 \uAC80\uC0C9",filters_label:"\uD544\uD130",zero_results:"[SEARCH_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC \uC5C6\uC74C",many_results:"[SEARCH_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC [COUNT]\uAC74",one_result:"[SEARCH_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC [COUNT]\uAC74",alt_search:"[SEARCH_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC \uC5C6\uC74C. [DIFFERENT_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC",search_suggestion:"[SEARCH_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC \uC5C6\uC74C. \uCD94\uCC9C \uAC80\uC0C9\uC5B4: ",searching:"[SEARCH_TERM] \uAC80\uC0C9 \uC911..."},Gl={thanks_to:ql,comments:Bl,direction:Vl,strings:Wl};var Wt={};y(Wt,{comments:()=>Jl,default:()=>Xl,direction:()=>Yl,strings:()=>Zl,thanks_to:()=>Kl});var Kl="",Jl="",Yl="ltr",Zl={placeholder:"Rapu",clear_search:"Whakakore",load_more:"Whakauta \u0113tahi otinga k\u0113",search_label:"Rapu",filters_label:"T\u0101tari",zero_results:"Otinga kore ki [SEARCH_TERM]",many_results:"[COUNT] otinga ki [SEARCH_TERM]",one_result:"[COUNT] otinga ki [SEARCH_TERM]",alt_search:"Otinga kore ki [SEARCH_TERM]. Otinga k\u0113 ki [DIFFERENT_TERM]",search_suggestion:"Otinga kore ki [SEARCH_TERM]. whakam\u0101tau ki ng\u0101 mea atu:",searching:"Rapu ki [SEARCH_TERM]..."},Xl={thanks_to:Kl,comments:Jl,direction:Yl,strings:Zl};var Gt={};y(Gt,{comments:()=>xl,default:()=>ti,direction:()=>$l,strings:()=>ei,thanks_to:()=>Ql});var Ql="Paul van Brouwershaven",xl="",$l="ltr",ei={placeholder:"Zoeken",clear_search:"Reset",load_more:"Meer resultaten laden",search_label:"Doorzoek deze site",filters_label:"Filters",zero_results:"Geen resultaten voor [SEARCH_TERM]",many_results:"[COUNT] resultaten voor [SEARCH_TERM]",one_result:"[COUNT] resultaat voor [SEARCH_TERM]",alt_search:"Geen resultaten voor [SEARCH_TERM]. In plaats daarvan worden resultaten voor [DIFFERENT_TERM] weergegeven",search_suggestion:"Geen resultaten voor [SEARCH_TERM]. Probeer een van de volgende zoekopdrachten:",searching:"Zoeken naar [SEARCH_TERM]..."},ti={thanks_to:Ql,comments:xl,direction:$l,strings:ei};var Kt={};y(Kt,{comments:()=>si,default:()=>ii,direction:()=>ri,strings:()=>li,thanks_to:()=>ni});var ni="Christopher Wingate",si="",ri="ltr",li={placeholder:"S\xF8k",clear_search:"Fjern",load_more:"Last flere resultater",search_label:"S\xF8k p\xE5 denne siden",filters_label:"Filtre",zero_results:"Ingen resultater for [SEARCH_TERM]",many_results:"[COUNT] resultater for [SEARCH_TERM]",one_result:"[COUNT] resultat for [SEARCH_TERM]",alt_search:"Ingen resultater for [SEARCH_TERM]. Viser resultater for [DIFFERENT_TERM] i stedet",search_suggestion:"Ingen resultater for [SEARCH_TERM]. Pr\xF8v en av disse s\xF8keordene i stedet:",searching:"S\xF8ker etter [SEARCH_TERM]"},ii={thanks_to:ni,comments:si,direction:ri,strings:li};var Jt={};y(Jt,{comments:()=>oi,default:()=>_i,direction:()=>ui,strings:()=>ci,thanks_to:()=>ai});var ai="",oi="",ui="ltr",ci={placeholder:"Szukaj",clear_search:"Wyczy\u015B\u0107",load_more:"Za\u0142aduj wi\u0119cej",search_label:"Przeszukaj t\u0119 stron\u0119",filters_label:"Filtry",zero_results:"Brak wynik\xF3w dla [SEARCH_TERM]",many_results:"[COUNT] wynik\xF3w dla [SEARCH_TERM]",one_result:"[COUNT] wynik dla [SEARCH_TERM]",alt_search:"Brak wynik\xF3w dla [SEARCH_TERM]. Wy\u015Bwietlam wyniki dla [DIFFERENT_TERM]",search_suggestion:"Brak wynik\xF3w dla [SEARCH_TERM]. Pokrewne wyniki wyszukiwania:",searching:"Szukam [SEARCH_TERM]..."},_i={thanks_to:ai,comments:oi,direction:ui,strings:ci};var Yt={};y(Yt,{comments:()=>di,default:()=>pi,direction:()=>hi,strings:()=>mi,thanks_to:()=>fi});var fi="Jonatah",di="",hi="ltr",mi={placeholder:"Pesquisar",clear_search:"Limpar",load_more:"Ver mais resultados",search_label:"Pesquisar",filters_label:"Filtros",zero_results:"Nenhum resultado encontrado para [SEARCH_TERM]",many_results:"[COUNT] resultados encontrados para [SEARCH_TERM]",one_result:"[COUNT] resultado encontrado para [SEARCH_TERM]",alt_search:"Nenhum resultado encontrado para [SEARCH_TERM]. Exibindo resultados para [DIFFERENT_TERM]",search_suggestion:"Nenhum resultado encontrado para [SEARCH_TERM]. Tente uma das seguintes pesquisas:",searching:"Pesquisando por [SEARCH_TERM]..."},pi={thanks_to:fi,comments:di,direction:hi,strings:mi};var Zt={};y(Zt,{comments:()=>Ei,default:()=>Ti,direction:()=>Ri,strings:()=>bi,thanks_to:()=>gi});var gi="Bogdan Mateescu ",Ei="",Ri="ltr",bi={placeholder:"C\u0103utare",clear_search:"\u015Eterge\u0163i",load_more:"\xCEnc\u0103rca\u021Bi mai multe rezultate",search_label:"C\u0103uta\u021Bi \xEEn acest site",filters_label:"Filtre",zero_results:"Niciun rezultat pentru [SEARCH_TERM]",many_results:"[COUNT] rezultate pentru [SEARCH_TERM]",one_result:"[COUNT] rezultat pentru [SEARCH_TERM]",alt_search:"Niciun rezultat pentru [SEARCH_TERM]. Se afi\u0219eaz\u0103 \xEEn schimb rezultatele pentru [DIFFERENT_TERM]",search_suggestion:"Niciun rezultat pentru [SEARCH_TERM]. \xCEncerca\u021Bi una dintre urm\u0103toarele c\u0103ut\u0103ri:",searching:"Se caut\u0103 dup\u0103: [SEARCH_TERM]..."},Ti={thanks_to:gi,comments:Ei,direction:Ri,strings:bi};var Xt={};y(Xt,{comments:()=>ki,default:()=>Mi,direction:()=>Si,strings:()=>yi,thanks_to:()=>Ci});var Ci="Aleksandr Gordeev",ki="",Si="ltr",yi={placeholder:"\u041F\u043E\u0438\u0441\u043A",clear_search:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u043F\u043E\u043B\u0435",load_more:"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0435\u0449\u0435",search_label:"\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0441\u0430\u0439\u0442\u0443",filters_label:"\u0424\u0438\u043B\u044C\u0442\u0440\u044B",zero_results:"\u041D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]",many_results:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u043E\u0432 \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]",one_result:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442 \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]",alt_search:"\u041D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]. \u041F\u043E\u043A\u0430\u0437\u0430\u043D\u044B \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u044B \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [DIFFERENT_TERM]",search_suggestion:"\u041D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u043E\u0434\u0438\u043D \u0438\u0437 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0445 \u0432\u0430\u0440\u0438\u0430\u043D\u0442\u043E\u0432",searching:"\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]"},Mi={thanks_to:Ci,comments:ki,direction:Si,strings:yi};var Qt={};y(Qt,{comments:()=>vi,default:()=>Fi,direction:()=>wi,strings:()=>Hi,thanks_to:()=>Ai});var Ai="Andrija Sagicc",vi="",wi="ltr",Hi={placeholder:"\u041F\u0440\u0435\u0442\u0440\u0430\u0433\u0430",clear_search:"\u0411\u0440\u0438\u0441\u0430\u045A\u0435",load_more:"\u041F\u0440\u0438\u043A\u0430\u0437 \u0432\u0438\u0448\u0435 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430",search_label:"\u041F\u0440\u0435\u0442\u0440\u0430\u0433\u0430 \u0441\u0430\u0458\u0442\u0430",filters_label:"\u0424\u0438\u043B\u0442\u0435\u0440\u0438",zero_results:"\u041D\u0435\u043C\u0430 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]",many_results:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]",one_result:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]",alt_search:"\u041D\u0435\u043C\u0430 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]. \u041F\u0440\u0438\u043A\u0430\u0437 \u0434\u043E\u0434\u0430\u0442\u043D\u0438\u043A \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [DIFFERENT_TERM]",search_suggestion:"\u041D\u0435\u043C\u0430 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]. \u041F\u043E\u043A\u0443\u0448\u0430\u0458\u0442\u0435 \u0441\u0430 \u043D\u0435\u043A\u043E\u043C \u043E\u0434 \u0441\u043B\u0435\u0434\u0435\u045B\u0438\u0445 \u043F\u0440\u0435\u0442\u0440\u0430\u0433\u0430:",searching:"\u041F\u0440\u0435\u0442\u0440\u0430\u0433\u0430 \u0442\u0435\u0440\u043C\u0438\u043D\u0430 [SEARCH_TERM]..."},Fi={thanks_to:Ai,comments:vi,direction:wi,strings:Hi};var xt={};y(xt,{comments:()=>Oi,default:()=>Ui,direction:()=>ji,strings:()=>zi,thanks_to:()=>Ni});var Ni="Montazar Al-Jaber ",Oi="",ji="ltr",zi={placeholder:"S\xF6k",clear_search:"Rensa",load_more:"Visa fler tr\xE4ffar",search_label:"S\xF6k p\xE5 denna sida",filters_label:"Filter",zero_results:"[SEARCH_TERM] gav inga tr\xE4ffar",many_results:"[SEARCH_TERM] gav [COUNT] tr\xE4ffar",one_result:"[SEARCH_TERM] gav [COUNT] tr\xE4ff",alt_search:"[SEARCH_TERM] gav inga tr\xE4ffar. Visar resultat f\xF6r [DIFFERENT_TERM] ist\xE4llet",search_suggestion:"[SEARCH_TERM] gav inga tr\xE4ffar. F\xF6rs\xF6k igen med en av f\xF6ljande s\xF6kord:",searching:"S\xF6ker efter [SEARCH_TERM]..."},Ui={thanks_to:Ni,comments:Oi,direction:ji,strings:zi};var $t={};y($t,{comments:()=>Ii,default:()=>qi,direction:()=>Pi,strings:()=>Li,thanks_to:()=>Di});var Di="Anonymous",Ii="",Pi="ltr",Li={placeholder:"Tafuta",clear_search:"Futa",load_more:"Pakia matokeo zaidi",search_label:"Tafuta tovuti hii",filters_label:"Vichujio",zero_results:"Hakuna matokeo ya [SEARCH_TERM]",many_results:"Matokeo [COUNT] ya [SEARCH_TERM]",one_result:"Tokeo [COUNT] la [SEARCH_TERM]",alt_search:"Hakuna mayokeo ya [SEARCH_TERM]. Badala yake, inaonyesha matokeo ya [DIFFERENT_TERM]",search_suggestion:"Hakuna matokeo ya [SEARCH_TERM]. Jaribu mojawapo ya utafutaji ufuatao:",searching:"Kutafuta [SEARCH_TERM]..."},qi={thanks_to:Di,comments:Ii,direction:Pi,strings:Li};var en={};y(en,{comments:()=>Vi,default:()=>Ki,direction:()=>Wi,strings:()=>Gi,thanks_to:()=>Bi});var Bi="",Vi="",Wi="ltr",Gi={placeholder:"\u0BA4\u0BC7\u0B9F\u0BC1\u0B95",clear_search:"\u0B85\u0BB4\u0BBF\u0B95\u0BCD\u0B95\u0BC1\u0B95",load_more:"\u0BAE\u0BC7\u0BB2\u0BC1\u0BAE\u0BCD \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BC8\u0B95\u0BCD \u0B95\u0BBE\u0B9F\u0BCD\u0B9F\u0BC1\u0B95",search_label:"\u0B87\u0BA8\u0BCD\u0BA4 \u0BA4\u0BB3\u0BA4\u0BCD\u0BA4\u0BBF\u0BB2\u0BCD \u0BA4\u0BC7\u0B9F\u0BC1\u0B95",filters_label:"\u0BB5\u0B9F\u0BBF\u0B95\u0B9F\u0BCD\u0B9F\u0BB2\u0BCD\u0B95\u0BB3\u0BCD",zero_results:"[SEARCH_TERM] \u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8",many_results:"[SEARCH_TERM] \u0B95\u0BCD\u0B95\u0BBE\u0BA9 [COUNT] \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD",one_result:"[SEARCH_TERM] \u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1",alt_search:"[SEARCH_TERM] \u0B87\u0BA4\u0BCD\u0BA4\u0BC7\u0B9F\u0BB2\u0BC1\u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8, \u0B87\u0BA8\u0BCD\u0BA4 \u0BA4\u0BC7\u0B9F\u0BB2\u0BCD\u0B95\u0BB3\u0BC1\u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0B92\u0BA4\u0BCD\u0BA4 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD [DIFFERENT_TERM]",search_suggestion:"[SEARCH_TERM] \u0B87\u0BA4\u0BCD \u0BA4\u0BC7\u0B9F\u0BB2\u0BC1\u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8.\u0B87\u0BA4\u0BB1\u0BCD\u0B95\u0BC1 \u0BAA\u0BA4\u0BBF\u0BB2\u0BC0\u0B9F\u0BBE\u0BA9 \u0BA4\u0BC7\u0B9F\u0BB2\u0BCD\u0B95\u0BB3\u0BC8 \u0BA4\u0BC7\u0B9F\u0BC1\u0B95:",searching:"[SEARCH_TERM] \u0BA4\u0BC7\u0B9F\u0BAA\u0BCD\u0BAA\u0B9F\u0BC1\u0B95\u0BBF\u0BA9\u0BCD\u0BB1\u0BA4\u0BC1"},Ki={thanks_to:Bi,comments:Vi,direction:Wi,strings:Gi};var tn={};y(tn,{comments:()=>Yi,default:()=>Qi,direction:()=>Zi,strings:()=>Xi,thanks_to:()=>Ji});var Ji="Taylan \xD6zg\xFCr Bildik",Yi="",Zi="ltr",Xi={placeholder:"Ara\u015Ft\u0131r",clear_search:"Temizle",load_more:"Daha fazla sonu\xE7",search_label:"Site genelinde arama",filters_label:"Filtreler",zero_results:"[SEARCH_TERM] i\xE7in sonu\xE7 yok",many_results:"[SEARCH_TERM] i\xE7in [COUNT] sonu\xE7 bulundu",one_result:"[SEARCH_TERM] i\xE7in [COUNT] sonu\xE7 bulundu",alt_search:"[SEARCH_TERM] i\xE7in sonu\xE7 yok. Bunun yerine [DIFFERENT_TERM] i\xE7in sonu\xE7lar g\xF6steriliyor",search_suggestion:"[SEARCH_TERM] i\xE7in sonu\xE7 yok. Alternatif olarak a\u015Fa\u011F\u0131daki kelimelerden birini deneyebilirsiniz:",searching:"[SEARCH_TERM] ara\u015Ft\u0131r\u0131l\u0131yor..."},Qi={thanks_to:Ji,comments:Yi,direction:Zi,strings:Xi};var nn={};y(nn,{comments:()=>$i,default:()=>na,direction:()=>ea,strings:()=>ta,thanks_to:()=>xi});var xi="Vladyslav Lyshenko ",$i="",ea="ltr",ta={placeholder:"\u041F\u043E\u0448\u0443\u043A",clear_search:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u0438 \u043F\u043E\u043B\u0435",load_more:"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u0449\u0435",search_label:"\u041F\u043E\u0448\u0443\u043A \u043F\u043E \u0441\u0430\u0439\u0442\u0443",filters_label:"\u0424\u0456\u043B\u044C\u0442\u0440\u0438",zero_results:"\u041D\u0456\u0447\u043E\u0433\u043E \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E \u0437\u0430 \u0437\u0430\u043F\u0438\u0442\u043E\u043C: [SEARCH_TERM]",many_results:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u0456\u0432 \u043D\u0430 \u0437\u0430\u043F\u0438\u0442: [SEARCH_TERM]",one_result:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442 \u0437\u0430 \u0437\u0430\u043F\u0438\u0442\u043E\u043C: [SEARCH_TERM]",alt_search:"\u041D\u0456\u0447\u043E\u0433\u043E \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043D\u0430 \u0437\u0430\u043F\u0438\u0442: [SEARCH_TERM]. \u041F\u043E\u043A\u0430\u0437\u0430\u043D\u043E \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u0438 \u043D\u0430 \u0437\u0430\u043F\u0438\u0442: [DIFFERENT_TERM]",search_suggestion:"\u041D\u0456\u0447\u043E\u0433\u043E \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043D\u0430 \u0437\u0430\u043F\u0438\u0442: [SEARCH_TERM]. \u0421\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u043E\u0434\u0438\u043D \u0456\u0437 \u0442\u0430\u043A\u0438\u0445 \u0432\u0430\u0440\u0456\u0430\u043D\u0442\u0456\u0432",searching:"\u041F\u043E\u0448\u0443\u043A \u0437\u0430 \u0437\u0430\u043F\u0438\u0442\u043E\u043C: [SEARCH_TERM]"},na={thanks_to:xi,comments:$i,direction:ea,strings:ta};var sn={};y(sn,{comments:()=>ra,default:()=>aa,direction:()=>la,strings:()=>ia,thanks_to:()=>sa});var sa="Long Nhat Nguyen",ra="",la="ltr",ia={placeholder:"T\xECm ki\u1EBFm",clear_search:"X\xF3a",load_more:"Nhi\u1EC1u k\u1EBFt qu\u1EA3 h\u01A1n",search_label:"T\xECm ki\u1EBFm trong trang n\xE0y",filters_label:"B\u1ED9 l\u1ECDc",zero_results:"Kh\xF4ng t\xECm th\u1EA5y k\u1EBFt qu\u1EA3 cho [SEARCH_TERM]",many_results:"[COUNT] k\u1EBFt qu\u1EA3 cho [SEARCH_TERM]",one_result:"[COUNT] k\u1EBFt qu\u1EA3 cho [SEARCH_TERM]",alt_search:"Kh\xF4ng t\xECm th\u1EA5y k\u1EBFt qu\u1EA3 cho [SEARCH_TERM]. Ki\u1EC3m th\u1ECB k\u1EBFt qu\u1EA3 thay th\u1EBF v\u1EDBi [DIFFERENT_TERM]",search_suggestion:"Kh\xF4ng t\xECm th\u1EA5y k\u1EBFt qu\u1EA3 cho [SEARCH_TERM]. Th\u1EED m\u1ED9t trong c\xE1c t\xECm ki\u1EBFm:",searching:"\u0110ang t\xECm ki\u1EBFm cho [SEARCH_TERM]..."},aa={thanks_to:sa,comments:ra,direction:la,strings:ia};var rn={};y(rn,{comments:()=>ua,default:()=>fa,direction:()=>ca,strings:()=>_a,thanks_to:()=>oa});var oa="Amber Song",ua="",ca="ltr",_a={placeholder:"\u641C\u7D22",clear_search:"\u6E05\u9664",load_more:"\u52A0\u8F7D\u66F4\u591A\u7ED3\u679C",search_label:"\u7AD9\u5185\u641C\u7D22",filters_label:"\u7B5B\u9009",zero_results:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",many_results:"\u627E\u5230 [COUNT] \u4E2A [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",one_result:"\u627E\u5230 [COUNT] \u4E2A [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",alt_search:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C\u3002\u6539\u4E3A\u663E\u793A [DIFFERENT_TERM] \u7684\u76F8\u5173\u7ED3\u679C",search_suggestion:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C\u3002\u8BF7\u5C1D\u8BD5\u4EE5\u4E0B\u641C\u7D22\u3002",searching:"\u6B63\u5728\u641C\u7D22 [SEARCH_TERM]..."},fa={thanks_to:oa,comments:ua,direction:ca,strings:_a};var ln={};y(ln,{comments:()=>ha,default:()=>ga,direction:()=>ma,strings:()=>pa,thanks_to:()=>da});var da="Amber Song",ha="",ma="ltr",pa={placeholder:"\u641C\u7D22",clear_search:"\u6E05\u9664",load_more:"\u52A0\u8F09\u66F4\u591A\u7D50\u679C",search_label:"\u7AD9\u5167\u641C\u7D22",filters_label:"\u7BE9\u9078",zero_results:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C",many_results:"\u627E\u5230 [COUNT] \u500B [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C",one_result:"\u627E\u5230 [COUNT] \u500B [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C",alt_search:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C\u3002\u6539\u70BA\u986F\u793A [DIFFERENT_TERM] \u7684\u76F8\u95DC\u7D50\u679C",search_suggestion:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C\u3002\u8ACB\u5617\u8A66\u4EE5\u4E0B\u641C\u7D22\u3002",searching:"\u6B63\u5728\u641C\u7D22 [SEARCH_TERM]..."},ga={thanks_to:da,comments:ha,direction:ma,strings:pa};var an={};y(an,{comments:()=>Ra,default:()=>Ca,direction:()=>ba,strings:()=>Ta,thanks_to:()=>Ea});var Ea="Amber Song",Ra="",ba="ltr",Ta={placeholder:"\u641C\u7D22",clear_search:"\u6E05\u9664",load_more:"\u52A0\u8F7D\u66F4\u591A\u7ED3\u679C",search_label:"\u7AD9\u5185\u641C\u7D22",filters_label:"\u7B5B\u9009",zero_results:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",many_results:"\u627E\u5230 [COUNT] \u4E2A [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",one_result:"\u627E\u5230 [COUNT] \u4E2A [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",alt_search:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C\u3002\u6539\u4E3A\u663E\u793A [DIFFERENT_TERM] \u7684\u76F8\u5173\u7ED3\u679C",search_suggestion:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C\u3002\u8BF7\u5C1D\u8BD5\u4EE5\u4E0B\u641C\u7D22\u3002",searching:"\u6B63\u5728\u641C\u7D22 [SEARCH_TERM]..."},Ca={thanks_to:Ea,comments:Ra,direction:ba,strings:Ta};var ka=[kt,St,yt,Mt,At,vt,wt,Ht,Ft,Nt,Ot,jt,zt,Ut,Dt,It,Pt,Lt,qt,Bt,Vt,Wt,Gt,Kt,Jt,Yt,Zt,Xt,Qt,xt,$t,en,tn,nn,sn,rn,ln,an],ss=ka,rs=["../../translations/af.json","../../translations/ar.json","../../translations/bn.json","../../translations/ca.json","../../translations/cs.json","../../translations/da.json","../../translations/de.json","../../translations/en.json","../../translations/es.json","../../translations/fa.json","../../translations/fi.json","../../translations/fr.json","../../translations/gl.json","../../translations/he.json","../../translations/hi.json","../../translations/hr.json","../../translations/hu.json","../../translations/id.json","../../translations/it.json","../../translations/ja.json","../../translations/ko.json","../../translations/mi.json","../../translations/nl.json","../../translations/no.json","../../translations/pl.json","../../translations/pt.json","../../translations/ro.json","../../translations/ru.json","../../translations/sr.json","../../translations/sv.json","../../translations/sw.json","../../translations/ta.json","../../translations/tr.json","../../translations/uk.json","../../translations/vi.json","../../translations/zh-cn.json","../../translations/zh-tw.json","../../translations/zh.json"];function ls(n,e,t){let s=n.slice();return s[51]=e[t],s}function is(n){let e,t,s;function r(i){n[37](i)}let l={show_empty_filters:n[5],open_filters:n[6],available_filters:n[18],translate:n[20],automatic_translations:n[19],translations:n[7]};return n[0]!==void 0&&(l.selected_filters=n[0]),e=new ns({props:l}),le.push(()=>Mn(e,"selected_filters",r)),{c(){rt(e.$$.fragment)},m(i,a){me(e,i,a),s=!0},p(i,a){let o={};a[0]&32&&(o.show_empty_filters=i[5]),a[0]&64&&(o.open_filters=i[6]),a[0]&262144&&(o.available_filters=i[18]),a[0]&524288&&(o.automatic_translations=i[19]),a[0]&128&&(o.translations=i[7]),!t&&a[0]&1&&(t=!0,o.selected_filters=i[0],Cn(()=>t=!1)),e.$set(o)},i(i){s||(U(e.$$.fragment,i),s=!0)},o(i){P(e.$$.fragment,i),s=!1},d(i){ue(e,i)}}}function as(n){let e,t,s,r,l=[Ma,ya],i=[];function a(o,f){return o[14]?0:1}return t=a(n,[-1,-1]),s=i[t]=l[t](n),{c(){e=C("div"),s.c(),g(e,"class","pagefind-ui__results-area svelte-e9gkc3")},m(o,f){S(o,e,f),i[t].m(e,null),r=!0},p(o,f){let u=t;t=a(o,f),t===u?i[t].p(o,f):(ae(),P(i[u],1,1,()=>{i[u]=null}),oe(),s=i[t],s?s.p(o,f):(s=i[t]=l[t](o),s.c()),U(s,1),s.m(e,null))},i(o){r||(U(s),r=!0)},o(o){P(s),r=!1},d(o){o&&k(e),i[t].d()}}}function ya(n){let e,t,s,r=[],l=new Map,i,a,o;function f(c,d){return c[13].results.length===0?wa:c[13].results.length===1?va:Aa}let u=f(n,[-1,-1]),m=u(n),p=n[13].results.slice(0,n[17]),h=c=>c[51].id;for(let c=0;cn[17]&&us(n);return{c(){e=C("p"),m.c(),t=A(),s=C("ol");for(let c=0;cc[17]?_?_.p(c,d):(_=us(c),_.c(),_.m(a.parentNode,a)):_&&(_.d(1),_=null)},i(c){if(!o){for(let d=0;d{o[p]=null}),oe(),r=o[s],r?r.p(e,m):(r=o[s]=a[s](e),r.c()),U(r,1),r.m(l.parentNode,l))},i(u){i||(U(r),i=!0)},o(u){P(r),i=!1},d(u){u&&k(t),o[s].d(u),u&&k(l)}}}function us(n){let e,t=n[20]("load_more",n[19],n[7])+"",s,r,l;return{c(){e=C("button"),s=w(t),g(e,"type","button"),g(e,"class","pagefind-ui__button svelte-e9gkc3")},m(i,a){S(i,e,a),b(e,s),r||(l=J(e,"click",n[22]),r=!0)},p(i,a){a[0]&524416&&t!==(t=i[20]("load_more",i[19],i[7])+"")&&N(s,t)},d(i){i&&k(e),r=!1,l()}}}function cs(n){let e,t=n[20]("searching",n[19],n[7]).replace(/\[SEARCH_TERM\]/,n[16])+"",s;return{c(){e=C("p"),s=w(t),g(e,"class","pagefind-ui__message svelte-e9gkc3")},m(r,l){S(r,e,l),b(e,s)},p(r,l){l[0]&589952&&t!==(t=r[20]("searching",r[19],r[7]).replace(/\[SEARCH_TERM\]/,r[16])+"")&&N(s,t)},d(r){r&&k(e)}}}function Na(n){let e,t,s,r,l,i,a=n[20]("clear_search",n[19],n[7])+"",o,f,u,m,p,h,_,c,d=n[12]&&is(n),T=n[15]&&as(n);return{c(){e=C("div"),t=C("form"),s=C("input"),l=A(),i=C("button"),o=w(a),f=A(),u=C("div"),d&&d.c(),m=A(),T&&T.c(),g(s,"class","pagefind-ui__search-input svelte-e9gkc3"),g(s,"type","text"),g(s,"placeholder",r=n[20]("placeholder",n[19],n[7])),g(s,"autocapitalize","none"),g(s,"enterkeyhint","search"),s.autofocus=n[8],g(i,"class","pagefind-ui__search-clear svelte-e9gkc3"),B(i,"pagefind-ui__suppressed",!n[9]),g(u,"class","pagefind-ui__drawer svelte-e9gkc3"),B(u,"pagefind-ui__hidden",!n[15]),g(t,"class","pagefind-ui__form svelte-e9gkc3"),g(t,"role","search"),g(t,"aria-label",p=n[20]("search_label",n[19],n[7])),g(t,"action","javascript:void(0);"),g(e,"class","pagefind-ui svelte-e9gkc3"),B(e,"pagefind-ui--reset",n[1])},m(R,M){S(R,e,M),b(e,t),b(t,s),pt(s,n[9]),n[34](s),b(t,l),b(t,i),b(i,o),n[35](i),b(t,f),b(t,u),d&&d.m(u,null),b(u,m),T&&T.m(u,null),h=!0,n[8]&&s.focus(),_||(c=[J(s,"focus",n[21]),J(s,"keydown",n[32]),J(s,"input",n[33]),J(i,"click",n[36]),J(t,"submit",Oa)],_=!0)},p(R,M){(!h||M[0]&524416&&r!==(r=R[20]("placeholder",R[19],R[7])))&&g(s,"placeholder",r),(!h||M[0]&256)&&(s.autofocus=R[8]),M[0]&512&&s.value!==R[9]&&pt(s,R[9]),(!h||M[0]&524416)&&a!==(a=R[20]("clear_search",R[19],R[7])+"")&&N(o,a),(!h||M[0]&512)&&B(i,"pagefind-ui__suppressed",!R[9]),R[12]?d?(d.p(R,M),M[0]&4096&&U(d,1)):(d=is(R),d.c(),U(d,1),d.m(u,m)):d&&(ae(),P(d,1,1,()=>{d=null}),oe()),R[15]?T?(T.p(R,M),M[0]&32768&&U(T,1)):(T=as(R),T.c(),U(T,1),T.m(u,null)):T&&(ae(),P(T,1,1,()=>{T=null}),oe()),(!h||M[0]&32768)&&B(u,"pagefind-ui__hidden",!R[15]),(!h||M[0]&524416&&p!==(p=R[20]("search_label",R[19],R[7])))&&g(t,"aria-label",p),(!h||M[0]&2)&&B(e,"pagefind-ui--reset",R[1])},i(R){h||(U(d),U(T),h=!0)},o(R){P(d),P(T),h=!1},d(R){R&&k(e),n[34](null),n[35](null),d&&d.d(),T&&T.d(),_=!1,G(c)}}}var Oa=n=>n.preventDefault();function ja(n,e,t){let s={},r=rs.map(E=>E.match(/([^\/]+)\.json$/)[1]);for(let E=0;Ej[E]??F[E]??"";gt(()=>{let E=document?.querySelector?.("html")?.getAttribute?.("lang")||"en",F=lt(E.toLocaleLowerCase());t(19,hn=s[`${F.language}-${F.script}-${F.region}`]||s[`${F.language}-${F.region}`]||s[`${F.language}`]||s.en)}),Et(()=>{H?.destroy?.(),H=null});let mn=async()=>{if(!at&&(t(12,at=!0),!H)){let E;try{E=await import(`${l}pagefind.js`)}catch(j){console.error(j),console.error([`Pagefind couldn't be loaded from ${this.options.bundlePath}pagefind.js`,"You can configure this by passing a bundlePath option to PagefindUI"].join(` +`)),document?.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"?console.error(`[DEBUG: Loaded from ${document.currentScript.src??"bad script location"}]`):console.error("no known script location")}u||t(24,u=f?12:30);let F={...d||{},excerptLength:u};await E.options(F);for(let j of T){if(!j.bundlePath)throw new Error("mergeIndex requires a bundlePath parameter");let L=j.bundlePath;delete j.bundlePath,await E.mergeIndex(L,j)}H=E,hs()}},hs=async()=>{H&&(dn=await H.filters(),(!ce||!Object.keys(ce).length)&&t(18,ce=dn))},ms=E=>{let F={};return Object.entries(E).filter(([,j])=>j).forEach(([j])=>{let[L,te]=j.split(/:(.*)$/);F[L]=F[L]||[],F[L].push(te)}),F},_e,ps=async(E,F)=>{if(!E){t(15,ut=!1),_e&&clearTimeout(_e);return}let j=ms(F),L=()=>gs(E,j);c>0&&E?(_e&&clearTimeout(_e),_e=setTimeout(L,c),await pn(),H.preload(E,{filters:j})):L(),Es()},pn=async()=>{for(;!H;)mn(),await new Promise(E=>setTimeout(E,50))},gs=async(E,F)=>{t(16,fn=E||""),typeof p=="function"&&(E=p(E)),t(14,ot=!0),t(15,ut=!0),await pn();let j=++_n,L={filters:F};X&&typeof X=="object"&&(L.sort=X);let te=await H.search(E,L);_n===j&&(te.filters&&Object.keys(te.filters)?.length&&t(18,ce=te.filters),t(13,cn=te),t(14,ot=!1),t(17,ct=i))},Es=()=>{let E=W.offsetWidth;E!=fs&&t(10,O.style.paddingRight=`${E+2}px`,O)},Rs=E=>{E?.preventDefault(),t(17,ct+=i)},bs=E=>{E.key==="Escape"&&(t(9,v=""),O.blur()),E.key==="Enter"&&E.preventDefault()};function Ts(){v=this.value,t(9,v),t(23,R)}function Cs(E){le[E?"unshift":"push"](()=>{O=E,t(10,O)})}function ks(E){le[E?"unshift":"push"](()=>{W=E,t(11,W)})}let Ss=()=>{t(9,v=""),O.blur()};function ys(E){V=E,t(0,V)}return n.$$set=E=>{"base_path"in E&&t(25,l=E.base_path),"page_size"in E&&t(26,i=E.page_size),"reset_styles"in E&&t(1,a=E.reset_styles),"show_images"in E&&t(2,o=E.show_images),"show_sub_results"in E&&t(3,f=E.show_sub_results),"excerpt_length"in E&&t(24,u=E.excerpt_length),"process_result"in E&&t(4,m=E.process_result),"process_term"in E&&t(27,p=E.process_term),"show_empty_filters"in E&&t(5,h=E.show_empty_filters),"open_filters"in E&&t(6,_=E.open_filters),"debounce_timeout_ms"in E&&t(28,c=E.debounce_timeout_ms),"pagefind_options"in E&&t(29,d=E.pagefind_options),"merge_index"in E&&t(30,T=E.merge_index),"trigger_search_term"in E&&t(23,R=E.trigger_search_term),"translations"in E&&t(7,M=E.translations),"autofocus"in E&&t(8,D=E.autofocus),"sort"in E&&t(31,X=E.sort),"selected_filters"in E&&t(0,V=E.selected_filters)},n.$$.update=()=>{if(n.$$.dirty[0]&8388608)e:R&&(t(9,v=R),t(23,R=""));if(n.$$.dirty[0]&513)e:ps(v,V)},[V,a,o,f,m,h,_,M,D,v,O,W,at,cn,ot,ut,fn,ct,ce,hn,ds,mn,Rs,R,u,l,i,p,c,d,T,X,bs,Ts,Cs,ks,Ss,ys]}var on=class extends q{constructor(e){super(),Y(this,e,ja,Na,K,{base_path:25,page_size:26,reset_styles:1,show_images:2,show_sub_results:3,excerpt_length:24,process_result:4,process_term:27,show_empty_filters:5,open_filters:6,debounce_timeout_ms:28,pagefind_options:29,merge_index:30,trigger_search_term:23,translations:7,autofocus:8,sort:31,selected_filters:0},null,[-1,-1])}},_s=on;var un;try{document?.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"&&(un=new URL(document.currentScript.src).pathname.match(/^(.*\/)(?:pagefind-)?ui.js.*$/)[1])}catch{un="/pagefind/"}var it=class{constructor(e){this._pfs=null;let t=e.element??"[data-pagefind-ui]",s=e.bundlePath??un,r=e.pageSize??5,l=e.resetStyles??!0,i=e.showImages??!0,a=e.showSubResults??!1,o=e.excerptLength??0,f=e.processResult??null,u=e.processTerm??null,m=e.showEmptyFilters??!0,p=e.openFilters??[],h=e.debounceTimeoutMs??300,_=e.mergeIndex??[],c=e.translations??[],d=e.autofocus??!1,T=e.sort??null;delete e.element,delete e.bundlePath,delete e.pageSize,delete e.resetStyles,delete e.showImages,delete e.showSubResults,delete e.excerptLength,delete e.processResult,delete e.processTerm,delete e.showEmptyFilters,delete e.openFilters,delete e.debounceTimeoutMs,delete e.mergeIndex,delete e.translations,delete e.autofocus,delete e.sort;let R=t instanceof HTMLElement?t:document.querySelector(t);R?this._pfs=new _s({target:R,props:{base_path:s,page_size:r,reset_styles:l,show_images:i,show_sub_results:a,excerpt_length:o,process_result:f,process_term:u,show_empty_filters:m,open_filters:p,debounce_timeout_ms:h,merge_index:_,translations:c,autofocus:d,sort:T,pagefind_options:e}}):console.error(`Pagefind UI couldn't find the selector ${t}`)}triggerSearch(e){this._pfs.$$set({trigger_search_term:e})}triggerFilters(e){let t={};for(let[s,r]of Object.entries(e))if(Array.isArray(r))for(let l of r)t[`${s}:${l}`]=!0;else t[`${s}:${r}`]=!0;this._pfs.$$set({selected_filters:t})}destroy(){this._pfs.$destroy()}};window.PagefindUI=it;})(); diff --git a/pagefind/pagefind.en-US_1dde61ff90807.pf_meta b/pagefind/pagefind.en-US_1dde61ff90807.pf_meta new file mode 100644 index 0000000000000000000000000000000000000000..0b82552f3f435998e4312f18f9c7ec45eb229696 GIT binary patch literal 133 zcmV;00DAu)iwFP!00002|2@gE4TC@oKvB_U1Q;R+g8{qD3{ldeyR(TXLQ-Ua3y3Y4 zju{vL3XWgC|1~ddyIvY`GAX1*noYx7`|IQ02r+_EyauoiTdX*VokF nnk2fN0##W+dHIi$?RATvtr7eA9iLbj*m=JJbzh+fivR!s2i7&5 literal 0 HcmV?d00001 diff --git a/pagefind/pagefind.en-US_42949ea1f372f.pf_meta b/pagefind/pagefind.en-US_42949ea1f372f.pf_meta new file mode 100644 index 0000000000000000000000000000000000000000..8ae71b5438ab73e15e21a9f0490959a7e9b2297e GIT binary patch literal 117 zcmb2|=3oE;rvIiVck{Ly@HhnSeRh_?xj{&k(U`qSOw!s-M8SfUAn8jTz6Ca&N{_`MV(Fd)&E_SgS_4q Vd_D1TszQbjhknQs;e=A4WdO|nE}sAZ literal 0 HcmV?d00001 diff --git a/pagefind/pagefind.en-US_5555177a506f4.pf_meta b/pagefind/pagefind.en-US_5555177a506f4.pf_meta new file mode 100644 index 0000000000000000000000000000000000000000..61330de9b2a8121029b6e3547854e2075fd3e6d8 GIT binary patch literal 106 zcmV-w0G0nAiwFP!00002|3%3`4nQyv0Kho-1CJoPLDf6Nx#@Pd;-K+_()fkfd5H^g zo!RUxehF;Y@hMn0HKb#eP)(yzJplriS@+36S{!4ce^B1B%J<{|z~AvA%kPo2NVbph M0V5Wp%wzxn0Fys3xc~qF literal 0 HcmV?d00001 diff --git a/pagefind/pagefind.en-US_5779edd598b41.pf_meta b/pagefind/pagefind.en-US_5779edd598b41.pf_meta new file mode 100644 index 0000000000000000000000000000000000000000..0b3a48fba4de038b7d1b4874130f65cbabc7714d GIT binary patch literal 116 zcmb2|=3oE;rvIiV&k8yi2sk_}3}$jQi1dsol~~ty_lSjoSI2(6kmYQw1ry5u+`Ghk ztj~D6PmPpEs#agFQE^bXZt}_l312E+ct%d0UU;EG@o%fh!gih_UB~vfcBlG}zQy0g}K?h=W;fBTKh zqe&+wEH^Gtlbn*wyHc9nIfmK&YS?A&rC)JLbrL LJ8tZm0<;1EV7)6z literal 0 HcmV?d00001 diff --git a/pagefind/pagefind.en-US_9abd7aa5be417.pf_meta b/pagefind/pagefind.en-US_9abd7aa5be417.pf_meta new file mode 100644 index 0000000000000000000000000000000000000000..f96ab6dc18f0c3c4e5ba3b5292569eec72886886 GIT binary patch literal 117 zcmb2|=3oE;rvIiV&k8yi2sk_}3}$jQ5bE}oZCkCl+mO%5t7E@j$Z|H;f(hk+?p^B7 zQS+9~w2E9(IZO8T8MDk+eF2RLJ#zfbY|Kl$ny+ztFs&(Rkz1nC9V7B^SMaygymDUK Uzmu0bE?rWrFHkY*N*T~H0H$;;2><{9 literal 0 HcmV?d00001 diff --git a/pagefind/pagefind.en-US_a1843a88be1b5.pf_meta b/pagefind/pagefind.en-US_a1843a88be1b5.pf_meta new file mode 100644 index 0000000000000000000000000000000000000000..965ca974f2af72bf5562e049658470a43dc38ed5 GIT binary patch literal 116 zcmV-)0E_=0iwFP!00002|24_Y5kN2yK;d!F14S?qMATupW|G~kagb3${B@x^7j1Bm zcl_R>M@y4Kg@C6m@-k<~Hd~kVo#MRVrfiZYfPsoC(WcQ51nMsdi44#hL4YD&cVLXs W?JuM8f08VL;NHK39r8_e0000p8#Dm` literal 0 HcmV?d00001 diff --git a/pagefind/pagefind.en-US_ac45949a7296d.pf_meta b/pagefind/pagefind.en-US_ac45949a7296d.pf_meta new file mode 100644 index 0000000000000000000000000000000000000000..a87679405eb8e8756d32f49a5a499ca9d4b8edce GIT binary patch literal 116 zcmb2|=3oE;rvIiV&k8yi2sk_}yuj>gV5qct<>3O;lkbjMoX}AGw<}<-l*j?cdmpR2 zC2#u9V{@|Fsr5QY=JuI=FK#tDobFPrR*IP7r!`l-RwQR1gK@`#wM8CUvE?F8JFH`_ UUHIR?!(7Or-(%D!SPHZY0Kl0p^Z)<= literal 0 HcmV?d00001 diff --git a/pagefind/pagefind.en-US_b20cb442372ef.pf_meta b/pagefind/pagefind.en-US_b20cb442372ef.pf_meta new file mode 100644 index 0000000000000000000000000000000000000000..6080a1e711c57b132561217af0244697aa583447 GIT binary patch literal 116 zcmb2|=3oE;rvI)dck?zV2ryiT*wM_laOYu`0>0$*qz2|>#X^=pxerUs)-7y3@@;P< z@3r1}RYoNdI;(}gm2TRXF?*ij!4lO?)=Y`KCsOB?1ZL^3RXp>A|BmFNmzyLR3c@Y6 UE_xsE!90|MUowmNR4LFd0Finxi2wiq literal 0 HcmV?d00001 diff --git a/pagefind/pagefind.en-US_f08a8e3fb1bc6.pf_meta b/pagefind/pagefind.en-US_f08a8e3fb1bc6.pf_meta new file mode 100644 index 0000000000000000000000000000000000000000..79f2116a490b57ddd8e6b869702e1c70fc469f60 GIT binary patch literal 116 zcmb2|=3oE;rvI)dz4;sr1Q;$v>|kzJc-t|pm?JtfeOZ#D%)+|u1y<76H(b22Z~KhK zyB5Lz9_pv}oH)AC*CsvpGIPd;R=;@+VN6q0mj{Y3*(R!da>*}8OBK=e)?A8r-s)$+ UuwKgR6<+t<8 literal 0 HcmV?d00001 diff --git a/pagefind/pagefind.en-US_f4254b28eb735.pf_meta b/pagefind/pagefind.en-US_f4254b28eb735.pf_meta new file mode 100644 index 0000000000000000000000000000000000000000..d03329a0e0b75a7ca282d007a19f2274f8687ed5 GIT binary patch literal 115 zcmb2|=3oE;rvI)dz4;sr1Q;$v>|kzJxNN3r+rD9HS(=vE5y4mG+{-r?@=EunuG*yDbX9DsK;dx??e8-%n T?5eLSl@7>6lfIy*=a9U literal 0 HcmV?d00001 diff --git a/pagefind/pagefind.en-US_f8aeb57c8633e.pf_meta b/pagefind/pagefind.en-US_f8aeb57c8633e.pf_meta new file mode 100644 index 0000000000000000000000000000000000000000..c3c1dea450925a9209be958caaf42bed42b46c2b GIT binary patch literal 116 zcmb2|=3oE;rvIiV_wqI<2sk{9*wM_l@L({@bAww#JD8Id3t9f$KJ+pt##uV<=iX5N zYiH+)D8_EndOd0G@1$D8FI)}{D_y_28Hh4GH}gNHapJ#9nvqj_RQr`>w;Ov5zqj1Z U=sIs2#l`iIdEW<4%~GIU0QE~TumAu6 literal 0 HcmV?d00001 diff --git a/pagefind/pagefind.js b/pagefind/pagefind.js new file mode 100644 index 0000000..035a438 --- /dev/null +++ b/pagefind/pagefind.js @@ -0,0 +1,9 @@ +const pagefind_version="1.3.0";let wasm_bindgen;(function(){const __exports={};let script_src;if(typeof document!=='undefined'&&document.currentScript!==null){script_src=new URL("UNHANDLED",location.href).toString()}let wasm=undefined;let cachedUint8Memory0=null;function getUint8Memory0(){if(cachedUint8Memory0===null||cachedUint8Memory0.byteLength===0){cachedUint8Memory0=new Uint8Array(wasm.memory.buffer)}return cachedUint8Memory0}let WASM_VECTOR_LEN=0;function passArray8ToWasm0(arg,malloc){const ptr=malloc(arg.length*1,1)>>>0;getUint8Memory0().set(arg,ptr/1);WASM_VECTOR_LEN=arg.length;return ptr}__exports.init_pagefind=function(metadata_bytes){const ptr0=passArray8ToWasm0(metadata_bytes,wasm.__wbindgen_malloc);const len0=WASM_VECTOR_LEN;const ret=wasm.init_pagefind(ptr0,len0);return ret>>>0};const cachedTextEncoder=(typeof TextEncoder!=='undefined'?new TextEncoder('utf-8'):{encode:()=>{throw Error('TextEncoder not available')}});const encodeString=(typeof cachedTextEncoder.encodeInto==='function'?function(arg,view){return cachedTextEncoder.encodeInto(arg,view)}:function(arg,view){const buf=cachedTextEncoder.encode(arg);view.set(buf);return{read:arg.length,written:buf.length}});function passStringToWasm0(arg,malloc,realloc){if(realloc===undefined){const buf=cachedTextEncoder.encode(arg);const ptr=malloc(buf.length,1)>>>0;getUint8Memory0().subarray(ptr,ptr+buf.length).set(buf);WASM_VECTOR_LEN=buf.length;return ptr}let len=arg.length;let ptr=malloc(len,1)>>>0;const mem=getUint8Memory0();let offset=0;for(;offset0x7F)break;mem[ptr+offset]=code}if(offset!==len){if(offset!==0){arg=arg.slice(offset)}ptr=realloc(ptr,len,len=offset+arg.length*3,1)>>>0;const view=getUint8Memory0().subarray(ptr+offset,ptr+len);const ret=encodeString(arg,view);offset+=ret.written;ptr=realloc(ptr,len,offset,1)>>>0}WASM_VECTOR_LEN=offset;return ptr}__exports.set_ranking_weights=function(ptr,weights){const ptr0=passStringToWasm0(weights,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;const ret=wasm.set_ranking_weights(ptr,ptr0,len0);return ret>>>0};__exports.load_index_chunk=function(ptr,chunk_bytes){const ptr0=passArray8ToWasm0(chunk_bytes,wasm.__wbindgen_malloc);const len0=WASM_VECTOR_LEN;const ret=wasm.load_index_chunk(ptr,ptr0,len0);return ret>>>0};__exports.load_filter_chunk=function(ptr,chunk_bytes){const ptr0=passArray8ToWasm0(chunk_bytes,wasm.__wbindgen_malloc);const len0=WASM_VECTOR_LEN;const ret=wasm.load_filter_chunk(ptr,ptr0,len0);return ret>>>0};__exports.add_synthetic_filter=function(ptr,filter){const ptr0=passStringToWasm0(filter,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;const ret=wasm.add_synthetic_filter(ptr,ptr0,len0);return ret>>>0};let cachedInt32Memory0=null;function getInt32Memory0(){if(cachedInt32Memory0===null||cachedInt32Memory0.byteLength===0){cachedInt32Memory0=new Int32Array(wasm.memory.buffer)}return cachedInt32Memory0}const cachedTextDecoder=(typeof TextDecoder!=='undefined'?new TextDecoder('utf-8',{ignoreBOM:true,fatal:true}):{decode:()=>{throw Error('TextDecoder not available')}});if(typeof TextDecoder!=='undefined'){cachedTextDecoder.decode()};function getStringFromWasm0(ptr,len){ptr=ptr>>>0;return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr,ptr+len))}__exports.request_indexes=function(ptr,query){let deferred2_0;let deferred2_1;try{const retptr=wasm.__wbindgen_add_to_stack_pointer(-16);const ptr0=passStringToWasm0(query,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;wasm.request_indexes(retptr,ptr,ptr0,len0);var r0=getInt32Memory0()[retptr/4+0];var r1=getInt32Memory0()[retptr/4+1];deferred2_0=r0;deferred2_1=r1;return getStringFromWasm0(r0,r1)}finally{wasm.__wbindgen_add_to_stack_pointer(16);wasm.__wbindgen_free(deferred2_0,deferred2_1,1)}};__exports.request_filter_indexes=function(ptr,filters){let deferred2_0;let deferred2_1;try{const retptr=wasm.__wbindgen_add_to_stack_pointer(-16);const ptr0=passStringToWasm0(filters,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;wasm.request_filter_indexes(retptr,ptr,ptr0,len0);var r0=getInt32Memory0()[retptr/4+0];var r1=getInt32Memory0()[retptr/4+1];deferred2_0=r0;deferred2_1=r1;return getStringFromWasm0(r0,r1)}finally{wasm.__wbindgen_add_to_stack_pointer(16);wasm.__wbindgen_free(deferred2_0,deferred2_1,1)}};__exports.request_all_filter_indexes=function(ptr){let deferred1_0;let deferred1_1;try{const retptr=wasm.__wbindgen_add_to_stack_pointer(-16);wasm.request_all_filter_indexes(retptr,ptr);var r0=getInt32Memory0()[retptr/4+0];var r1=getInt32Memory0()[retptr/4+1];deferred1_0=r0;deferred1_1=r1;return getStringFromWasm0(r0,r1)}finally{wasm.__wbindgen_add_to_stack_pointer(16);wasm.__wbindgen_free(deferred1_0,deferred1_1,1)}};__exports.filters=function(ptr){let deferred1_0;let deferred1_1;try{const retptr=wasm.__wbindgen_add_to_stack_pointer(-16);wasm.filters(retptr,ptr);var r0=getInt32Memory0()[retptr/4+0];var r1=getInt32Memory0()[retptr/4+1];deferred1_0=r0;deferred1_1=r1;return getStringFromWasm0(r0,r1)}finally{wasm.__wbindgen_add_to_stack_pointer(16);wasm.__wbindgen_free(deferred1_0,deferred1_1,1)}};__exports.search=function(ptr,query,filter,sort,exact){let deferred4_0;let deferred4_1;try{const retptr=wasm.__wbindgen_add_to_stack_pointer(-16);const ptr0=passStringToWasm0(query,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;const ptr1=passStringToWasm0(filter,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len1=WASM_VECTOR_LEN;const ptr2=passStringToWasm0(sort,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len2=WASM_VECTOR_LEN;wasm.search(retptr,ptr,ptr0,len0,ptr1,len1,ptr2,len2,exact);var r0=getInt32Memory0()[retptr/4+0];var r1=getInt32Memory0()[retptr/4+1];deferred4_0=r0;deferred4_1=r1;return getStringFromWasm0(r0,r1)}finally{wasm.__wbindgen_add_to_stack_pointer(16);wasm.__wbindgen_free(deferred4_0,deferred4_1,1)}};async function __wbg_load(module,imports){if(typeof Response==='function'&&module instanceof Response){if(typeof WebAssembly.instantiateStreaming==='function'){try{return await WebAssembly.instantiateStreaming(module,imports)}catch(e){if(module.headers.get('Content-Type')!='application/wasm'){console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",e)}else{throw e}}}const bytes=await module.arrayBuffer();return await WebAssembly.instantiate(bytes,imports)}else{const instance=await WebAssembly.instantiate(module,imports);if(instance instanceof WebAssembly.Instance){return{instance,module}}else{return instance}}}function __wbg_get_imports(){const imports={};imports.wbg={};return imports}function __wbg_init_memory(imports,maybe_memory){}function __wbg_finalize_init(instance,module){wasm=instance.exports;__wbg_init.__wbindgen_wasm_module=module;cachedInt32Memory0=null;cachedUint8Memory0=null;return wasm}function initSync(module){if(wasm!==undefined)return wasm;const imports=__wbg_get_imports();__wbg_init_memory(imports);if(!(module instanceof WebAssembly.Module)){module=new WebAssembly.Module(module)}const instance=new WebAssembly.Instance(module,imports);return __wbg_finalize_init(instance,module)}async function __wbg_init(input){if(wasm!==undefined)return wasm;if(typeof input==='undefined'&&typeof script_src!=='undefined'){input=script_src.replace(/\.js$/,'_bg.wasm')}const imports=__wbg_get_imports();if(typeof input==='string'||(typeof Request==='function'&&input instanceof Request)||(typeof URL==='function'&&input instanceof URL)){input=fetch(input)}__wbg_init_memory(imports);const{instance,module}=await __wbg_load(await input,imports);return __wbg_finalize_init(instance,module)}wasm_bindgen=Object.assign(__wbg_init,{initSync},__exports)})();var u8=Uint8Array;var u16=Uint16Array;var u32=Uint32Array;var fleb=new u8([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]);var fdeb=new u8([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]);var clim=new u8([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);var freb=function(eb,start){var b=new u16(31);for(var i2=0;i2<31;++i2){b[i2]=start+=1<>>1|(i&21845)<<1;x=(x&52428)>>>2|(x&13107)<<2;x=(x&61680)>>>4|(x&3855)<<4;rev[i]=((x&65280)>>>8|(x&255)<<8)>>>1}var x;var i;var hMap=function(cd,mb,r){var s=cd.length;var i2=0;var l=new u16(mb);for(;i2>>rvb]=sv}}}}else{co=new u16(s);for(i2=0;i2>>15-cd[i2]}}}return co};var flt=new u8(288);for(i=0;i<144;++i)flt[i]=8;var i;for(i=144;i<256;++i)flt[i]=9;var i;for(i=256;i<280;++i)flt[i]=7;var i;for(i=280;i<288;++i)flt[i]=8;var i;var fdt=new u8(32);for(i=0;i<32;++i)fdt[i]=5;var i;var flrm=hMap(flt,9,1);var fdrm=hMap(fdt,5,1);var max=function(a){var m=a[0];for(var i2=1;i2m)m=a[i2]}return m};var bits=function(d,p,m){var o=p/8|0;return(d[o]|d[o+1]<<8)>>(p&7)&m};var bits16=function(d,p){var o=p/8|0;return(d[o]|d[o+1]<<8|d[o+2]<<16)>>(p&7)};var shft=function(p){return(p+7)/8|0};var slc=function(v,s,e){if(s==null||s<0)s=0;if(e==null||e>v.length)e=v.length;var n=new(v.BYTES_PER_ELEMENT==2?u16:v.BYTES_PER_ELEMENT==4?u32:u8)(e-s);n.set(v.subarray(s,e));return n};var ec=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"];var err=function(ind,msg,nt){var e=new Error(msg||ec[ind]);e.code=ind;if(Error.captureStackTrace)Error.captureStackTrace(e,err);if(!nt)throw e;return e};var inflt=function(dat,buf,st){var sl=dat.length;if(!sl||st&&st.f&&!st.l)return buf||new u8(0);var noBuf=!buf||st;var noSt=!st||st.i;if(!st)st={};if(!buf)buf=new u8(sl*3);var cbuf=function(l2){var bl=buf.length;if(l2>bl){var nbuf=new u8(Math.max(bl*2,l2));nbuf.set(buf);buf=nbuf}};var final=st.f||0,pos=st.p||0,bt=st.b||0,lm=st.l,dm=st.d,lbt=st.m,dbt=st.n;var tbts=sl*8;do{if(!lm){final=bits(dat,pos,1);var type=bits(dat,pos+1,3);pos+=3;if(!type){var s=shft(pos)+4,l=dat[s-4]|dat[s-3]<<8,t=s+l;if(t>sl){if(noSt)err(0);break}if(noBuf)cbuf(bt+l);buf.set(dat.subarray(s,t),bt);st.b=bt+=l,st.p=pos=t*8,st.f=final;continue}else if(type==1)lm=flrm,dm=fdrm,lbt=9,dbt=5;else if(type==2){var hLit=bits(dat,pos,31)+257,hcLen=bits(dat,pos+10,15)+4;var tl=hLit+bits(dat,pos+5,31)+1;pos+=14;var ldt=new u8(tl);var clt=new u8(19);for(var i2=0;i2>>4;if(s<16){ldt[i2++]=s}else{var c=0,n=0;if(s==16)n=3+bits(dat,pos,3),pos+=2,c=ldt[i2-1];else if(s==17)n=3+bits(dat,pos,7),pos+=3;else if(s==18)n=11+bits(dat,pos,127),pos+=7;while(n--)ldt[i2++]=c}}var lt=ldt.subarray(0,hLit),dt=ldt.subarray(hLit);lbt=max(lt);dbt=max(dt);lm=hMap(lt,lbt,1);dm=hMap(dt,dbt,1)}else err(1);if(pos>tbts){if(noSt)err(0);break}}if(noBuf)cbuf(bt+131072);var lms=(1<>>4;pos+=c&15;if(pos>tbts){if(noSt)err(0);break}if(!c)err(2);if(sym<256)buf[bt++]=sym;else if(sym==256){lpos=pos,lm=null;break}else{var add=sym-254;if(sym>264){var i2=sym-257,b=fleb[i2];add=bits(dat,pos,(1<>>4;if(!d)err(3);pos+=d&15;var dt=fd[dsym];if(dsym>3){var b=fdeb[dsym];dt+=bits16(dat,pos)&(1<tbts){if(noSt)err(0);break}if(noBuf)cbuf(bt+131072);var end=bt+add;for(;bt>3&1)+(flg>>4&1);zs>0;zs-=!d[st++]);return st+(flg&2)};var gzl=function(d){var l=d.length;return(d[l-4]|d[l-3]<<8|d[l-2]<<16|d[l-1]<<24)>>>0};function gunzipSync(data,out){return inflt(data.subarray(gzs(data),-8),out||new u8(gzl(data)))}var td=typeof TextDecoder!="undefined"&&new TextDecoder();var tds=0;try{td.decode(et,{stream:true});tds=1}catch(e){}var gz_default=gunzipSync;var calculate_excerpt_region=(word_positions,excerpt_length)=>{if(word_positions.length===0){return 0}let words=[];for(const word of word_positions){words[word.location]=words[word.location]||0;words[word.location]+=word.balanced_score}if(words.length<=excerpt_length){return 0}let densest=words.slice(0,excerpt_length).reduce((partialSum,a)=>partialSum+a,0);let working_sum=densest;let densest_at=[0];for(let i2=0;i2densest){densest=working_sum;densest_at=[i2]}else if(working_sum===densest&&densest_at[densest_at.length-1]===i2-1){densest_at.push(i2)}}let midpoint=densest_at[Math.floor(densest_at.length/2)];return midpoint};var build_excerpt=(content,start,length,locations,not_before,not_from)=>{let is_zws_delimited=content.includes("\u200B");let fragment_words=[];if(is_zws_delimited){fragment_words=content.split("\u200B")}else{fragment_words=content.split(/[\r\n\s]+/g)}for(let word of locations){if(fragment_words[word]?.startsWith(``)){continue}fragment_words[word]=`${fragment_words[word]}`}let endcap=not_from??fragment_words.length;let startcap=not_before??0;if(endcap-startcapendcap){start=endcap-length}if(start{const anchors=fragment.anchors.filter((a)=>/h\d/i.test(a.element)&&a.text?.length&&/\S/.test(a.text)).sort((a,b)=>a.location-b.location);const results=[];let current_anchor_position=0;let current_anchor={title:fragment.meta["title"],url:fragment.url,weighted_locations:[],locations:[],excerpt:""};const add_result=(end_range)=>{if(current_anchor.locations.length){const relative_weighted_locations=current_anchor.weighted_locations.map((l)=>{return{weight:l.weight,balanced_score:l.balanced_score,location:l.location-current_anchor_position}});const excerpt_start=calculate_excerpt_region(relative_weighted_locations,desired_excerpt_length)+current_anchor_position;const excerpt_length=end_range?Math.min(end_range-excerpt_start,desired_excerpt_length):desired_excerpt_length;current_anchor.excerpt=build_excerpt(fragment.raw_content??"",excerpt_start,excerpt_length,current_anchor.locations,current_anchor_position,end_range);results.push(current_anchor)}};for(let word of fragment.weighted_locations){if(!anchors.length||word.location=anchors[0].location){next_anchor=anchors.shift()}let anchored_url=fragment.url;try{const url_is_fq=/^((https?:)?\/\/)/.test(anchored_url);if(url_is_fq){let fq_url=new URL(anchored_url);fq_url.hash=next_anchor.id;anchored_url=fq_url.toString()}else{if(!/^\//.test(anchored_url)){anchored_url=`/${anchored_url}`}let fq_url=new URL(`https://example.com${anchored_url}`);fq_url.hash=next_anchor.id;anchored_url=fq_url.toString().replace(/^https:\/\/example.com/,"")}}catch(e){console.error(`Pagefind: Couldn't process ${anchored_url} for a search result`)}current_anchor_position=next_anchor.location;current_anchor={title:next_anchor.text,url:anchored_url,anchor:next_anchor,weighted_locations:[word],locations:[word.location],excerpt:""}}}add_result(anchors[0]?.location);return results};var asyncSleep=async(ms=100)=>{return new Promise((r)=>setTimeout(r,ms))};var PagefindInstance=class{constructor(opts={}){this.version=pagefind_version;this.backend=wasm_bindgen;this.decoder=new TextDecoder("utf-8");this.wasm=null;this.basePath=opts.basePath||"/pagefind/";this.primary=opts.primary||false;if(this.primary&&!opts.basePath){this.initPrimary()}if(/[^\/]$/.test(this.basePath)){this.basePath=`${this.basePath}/`}if(window?.location?.origin&&this.basePath.startsWith(window.location.origin)){this.basePath=this.basePath.replace(window.location.origin,"")}this.baseUrl=opts.baseUrl||this.defaultBaseUrl();if(!/^(\/|https?:\/\/)/.test(this.baseUrl)){this.baseUrl=`/${this.baseUrl}`}this.indexWeight=opts.indexWeight??1;this.excerptLength=opts.excerptLength??30;this.mergeFilter=opts.mergeFilter??{};this.ranking=opts.ranking;this.highlightParam=opts.highlightParam??null;this.loaded_chunks={};this.loaded_filters={};this.loaded_fragments={};this.raw_ptr=null;this.searchMeta=null;this.languages=null}initPrimary(){let derivedBasePath=import.meta.url.match(/^(.*\/)pagefind.js.*$/)?.[1];if(derivedBasePath){this.basePath=derivedBasePath}else{console.warn(["Pagefind couldn't determine the base of the bundle from the import path. Falling back to the default.","Set a basePath option when initialising Pagefind to ignore this message."].join("\n"))}}defaultBaseUrl(){let default_base=this.basePath.match(/^(.*\/)_?pagefind/)?.[1];return default_base||"/"}async options(options2){const opts=["basePath","baseUrl","indexWeight","excerptLength","mergeFilter","highlightParam","ranking"];for(const[k,v]of Object.entries(options2)){if(k==="mergeFilter"){let filters2=this.stringifyFilters(v);let ptr=await this.getPtr();this.raw_ptr=this.backend.add_synthetic_filter(ptr,filters2)}else if(k==="ranking"){await this.set_ranking(options2.ranking)}else if(opts.includes(k)){if(k==="basePath"&&typeof v==="string")this.basePath=v;if(k==="baseUrl"&&typeof v==="string")this.baseUrl=v;if(k==="indexWeight"&&typeof v==="number")this.indexWeight=v;if(k==="excerptLength"&&typeof v==="number")this.excerptLength=v;if(k==="mergeFilter"&&typeof v==="object")this.mergeFilter=v;if(k==="highlightParam"&&typeof v==="string")this.highlightParam=v}else{console.warn(`Unknown Pagefind option ${k}. Allowed options: [${opts.join(", ")}]`)}}}decompress(data,file="unknown file"){if(this.decoder.decode(data.slice(0,12))==="pagefind_dcd"){return data.slice(12)}data=gz_default(data);if(this.decoder.decode(data.slice(0,12))!=="pagefind_dcd"){console.error(`Decompressing ${file} appears to have failed: Missing signature`);return data}return data.slice(12)}async set_ranking(ranking){if(!ranking)return;let rankingWeights={term_similarity:ranking.termSimilarity??null,page_length:ranking.pageLength??null,term_saturation:ranking.termSaturation??null,term_frequency:ranking.termFrequency??null};let ptr=await this.getPtr();this.raw_ptr=this.backend.set_ranking_weights(ptr,JSON.stringify(rankingWeights))}async init(language,opts){await this.loadEntry();let index=this.findIndex(language);let lang_wasm=index.wasm?index.wasm:"unknown";let resources=[this.loadMeta(index.hash)];if(opts.load_wasm===true){resources.push(this.loadWasm(lang_wasm))}await Promise.all(resources);this.raw_ptr=this.backend.init_pagefind(new Uint8Array(this.searchMeta));if(Object.keys(this.mergeFilter)?.length){let filters2=this.stringifyFilters(this.mergeFilter);let ptr=await this.getPtr();this.raw_ptr=this.backend.add_synthetic_filter(ptr,filters2)}if(this.ranking){await this.set_ranking(this.ranking)}}async loadEntry(){try{let entry_response=await fetch(`${this.basePath}pagefind-entry.json?ts=${Date.now()}`);let entry_json=await entry_response.json();this.languages=entry_json.languages;if(entry_json.version!==this.version){if(this.primary){console.warn(["Pagefind JS version doesn't match the version in your search index.",`Pagefind JS: ${this.version}. Pagefind index: ${entry_json.version}`,"If you upgraded Pagefind recently, you likely have a cached pagefind.js file.","If you encounter any search errors, try clearing your cache."].join("\n"))}else{console.warn(["Merging a Pagefind index from a different version than the main Pagefind instance.",`Main Pagefind JS: ${this.version}. Merged index (${this.basePath}): ${entry_json.version}`,"If you encounter any search errors, make sure that both sites are running the same version of Pagefind."].join("\n"))}}}catch(e){console.error(`Failed to load Pagefind metadata: +${e?.toString()}`);throw new Error("Failed to load Pagefind metadata")}}findIndex(language){if(this.languages){let index=this.languages[language];if(index)return index;index=this.languages[language.split("-")[0]];if(index)return index;let topLang=Object.values(this.languages).sort((a,b)=>b.page_count-a.page_count);if(topLang[0])return topLang[0]}throw new Error("Pagefind Error: No language indexes found.")}async loadMeta(index){try{let compressed_resp=await fetch(`${this.basePath}pagefind.${index}.pf_meta`);let compressed_meta=await compressed_resp.arrayBuffer();this.searchMeta=this.decompress(new Uint8Array(compressed_meta),"Pagefind metadata")}catch(e){console.error(`Failed to load the meta index: +${e?.toString()}`)}}async loadWasm(language){try{const wasm_url=`${this.basePath}wasm.${language}.pagefind`;let compressed_resp=await fetch(wasm_url);let compressed_wasm=await compressed_resp.arrayBuffer();const final_wasm=this.decompress(new Uint8Array(compressed_wasm),"Pagefind WebAssembly");if(!final_wasm){throw new Error("No WASM after decompression")}this.wasm=await this.backend(final_wasm)}catch(e){console.error(`Failed to load the Pagefind WASM: +${e?.toString()}`);throw new Error(`Failed to load the Pagefind WASM: +${e?.toString()}`)}}async _loadGenericChunk(url,method){try{let compressed_resp=await fetch(url);let compressed_chunk=await compressed_resp.arrayBuffer();let chunk=this.decompress(new Uint8Array(compressed_chunk),url);let ptr=await this.getPtr();this.raw_ptr=this.backend[method](ptr,chunk)}catch(e){console.error(`Failed to load the index chunk ${url}: +${e?.toString()}`)}}async loadChunk(hash){if(!this.loaded_chunks[hash]){const url=`${this.basePath}index/${hash}.pf_index`;this.loaded_chunks[hash]=this._loadGenericChunk(url,"load_index_chunk")}return await this.loaded_chunks[hash]}async loadFilterChunk(hash){if(!this.loaded_filters[hash]){const url=`${this.basePath}filter/${hash}.pf_filter`;this.loaded_filters[hash]=this._loadGenericChunk(url,"load_filter_chunk")}return await this.loaded_filters[hash]}async _loadFragment(hash){let compressed_resp=await fetch(`${this.basePath}fragment/${hash}.pf_fragment`);let compressed_fragment=await compressed_resp.arrayBuffer();let fragment=this.decompress(new Uint8Array(compressed_fragment),`Fragment ${hash}`);return JSON.parse(new TextDecoder().decode(fragment))}async loadFragment(hash,weighted_locations=[],search_term){if(!this.loaded_fragments[hash]){this.loaded_fragments[hash]=this._loadFragment(hash)}let fragment=await this.loaded_fragments[hash];fragment.weighted_locations=weighted_locations;fragment.locations=weighted_locations.map((l)=>l.location);if(!fragment.raw_content){fragment.raw_content=fragment.content.replace(//g,">");fragment.content=fragment.content.replace(/\u200B/g,"")}if(!fragment.raw_url){fragment.raw_url=fragment.url}fragment.url=this.processedUrl(fragment.raw_url,search_term);const excerpt_start=calculate_excerpt_region(weighted_locations,this.excerptLength);fragment.excerpt=build_excerpt(fragment.raw_content,excerpt_start,this.excerptLength,fragment.locations);fragment.sub_results=calculate_sub_results(fragment,this.excerptLength);return fragment}fullUrl(raw){if(/^(https?:)?\/\//.test(raw)){return raw}return`${this.baseUrl}/${raw}`.replace(/\/+/g,"/").replace(/^(https?:\/)/,"$1/")}processedUrl(url,search_term){const normalized=this.fullUrl(url);if(this.highlightParam===null){return normalized}let individual_terms=search_term.split(/\s+/);try{let processed=new URL(normalized);for(const term of individual_terms){processed.searchParams.append(this.highlightParam,term)}return processed.toString()}catch(e){try{let processed=new URL(`https://example.com${normalized}`);for(const term of individual_terms){processed.searchParams.append(this.highlightParam,term)}return processed.toString().replace(/^https:\/\/example\.com/,"")}catch(e2){return normalized}}}async getPtr(){while(this.raw_ptr===null){await asyncSleep(50)}if(!this.raw_ptr){console.error("Pagefind: WASM Error (No pointer)");throw new Error("Pagefind: WASM Error (No pointer)")}return this.raw_ptr}parseFilters(str){let output={};if(!str)return output;for(const block of str.split("__PF_FILTER_DELIM__")){let[filter,values]=block.split(/:(.*)$/);output[filter]={};if(values){for(const valueBlock of values.split("__PF_VALUE_DELIM__")){if(valueBlock){let extract=valueBlock.match(/^(.*):(\d+)$/);if(extract){let[,value,count]=extract;output[filter][value]=parseInt(count)??count}}}}}return output}stringifyFilters(obj={}){return JSON.stringify(obj)}stringifySorts(obj={}){let sorts=Object.entries(obj);for(let[sort,direction]of sorts){if(sorts.length>1){console.warn(`Pagefind was provided multiple sort options in this search, but can only operate on one. Using the ${sort} sort.`)}if(direction!=="asc"&&direction!=="desc"){console.warn(`Pagefind was provided a sort with unknown direction ${direction}. Supported: [asc, desc]`)}return`${sort}:${direction}`}return``}async filters(){let ptr=await this.getPtr();let filters2=this.backend.request_all_filter_indexes(ptr);let filter_chunks=filters2.split(" ").filter((v)=>v).map((chunk)=>this.loadFilterChunk(chunk));await Promise.all([...filter_chunks]);ptr=await this.getPtr();let results=this.backend.filters(ptr);return this.parseFilters(results)}async preload(term,options2={}){await this.search(term,{...options2,preload:true})}async search(term,options2={}){options2={verbose:false,filters:{},sort:{},...options2};const log=(str)=>{if(options2.verbose)console.log(str)};log(`Starting search on ${this.basePath}`);let start=Date.now();let ptr=await this.getPtr();let filter_only=term===null;term=term??"";let exact_search=/^\s*".+"\s*$/.test(term);if(exact_search){log(`Running an exact search`)}term=term.toLowerCase().trim().replace(/[\.`~!@#\$%\^&\*\(\)\{\}\[\]\\\|:;'",<>\/\?\-]/g,"").replace(/\s{2,}/g," ").trim();log(`Normalized search term to ${term}`);if(!term?.length&&!filter_only){return{results:[],unfilteredResultCount:0,filters:{},totalFilters:{},timings:{preload:Date.now()-start,search:Date.now()-start,total:Date.now()-start}}}let sort_list=this.stringifySorts(options2.sort);log(`Stringified sort to ${sort_list}`);const filter_list=this.stringifyFilters(options2.filters);log(`Stringified filters to ${filter_list}`);let index_resp=this.backend.request_indexes(ptr,term);let filter_resp=this.backend.request_filter_indexes(ptr,filter_list);let chunks=index_resp.split(" ").filter((v)=>v).map((chunk)=>this.loadChunk(chunk));let filter_chunks=filter_resp.split(" ").filter((v)=>v).map((chunk)=>this.loadFilterChunk(chunk));await Promise.all([...chunks,...filter_chunks]);log(`Loaded necessary chunks to run search`);if(options2.preload){log(`Preload \u2014 bailing out of search operation now.`);return null}ptr=await this.getPtr();let searchStart=Date.now();let result=this.backend.search(ptr,term,filter_list,sort_list,exact_search);log(`Got the raw search result: ${result}`);let[unfilteredResultCount,all_results,filters2,totalFilters]=result.split(/:([^:]*):(.*)__PF_UNFILTERED_DELIM__(.*)$/);let filterObj=this.parseFilters(filters2);let totalFilterObj=this.parseFilters(totalFilters);log(`Remaining filters: ${JSON.stringify(result)}`);let results=all_results.length?all_results.split(" "):[];let resultsInterface=results.map((result2)=>{let[hash,score,all_locations]=result2.split("@");log(`Processing result: + hash:${hash} + score:${score} + locations:${all_locations}`);let weighted_locations=all_locations.length?all_locations.split(",").map((l)=>{let[weight,balanced_score,location]=l.split(">");return{weight:parseInt(weight)/24,balanced_score:parseFloat(balanced_score),location:parseInt(location)}}):[];let locations=weighted_locations.map((l)=>l.location);return{id:hash,score:parseFloat(score)*this.indexWeight,words:locations,data:async()=>await this.loadFragment(hash,weighted_locations,term)}});const searchTime=Date.now()-searchStart;const realTime=Date.now()-start;log(`Found ${results.length} result${results.length == 1 ? "" : "s"} for "${term}" in ${Date.now() - searchStart}ms (${Date.now() - start}ms realtime)`);return{results:resultsInterface,unfilteredResultCount:parseInt(unfilteredResultCount),filters:filterObj,totalFilters:totalFilterObj,timings:{preload:realTime-searchTime,search:searchTime,total:realTime}}}};var Pagefind=class{constructor(options2={}){this.backend=wasm_bindgen;this.primaryLanguage="unknown";this.searchID=0;this.primary=new PagefindInstance({...options2,primary:true});this.instances=[this.primary];this.init(options2?.language)}async options(options2){await this.primary.options(options2)}async init(overrideLanguage){if(document?.querySelector){const langCode=document.querySelector("html")?.getAttribute("lang")||"unknown";this.primaryLanguage=langCode.toLocaleLowerCase()}await this.primary.init(overrideLanguage?overrideLanguage:this.primaryLanguage,{load_wasm:true})}async mergeIndex(indexPath,options2={}){if(this.primary.basePath.startsWith(indexPath)){console.warn(`Skipping mergeIndex ${indexPath} that appears to be the same as the primary index (${this.primary.basePath})`);return}let newInstance=new PagefindInstance({primary:false,basePath:indexPath});this.instances.push(newInstance);while(this.primary.wasm===null){await asyncSleep(50)}await newInstance.init(options2.language||this.primaryLanguage,{load_wasm:false});delete options2["language"];await newInstance.options(options2)}mergeFilters(filters2){const merged={};for(const searchFilter of filters2){for(const[filterKey,values]of Object.entries(searchFilter)){if(!merged[filterKey]){merged[filterKey]=values;continue}else{const filter=merged[filterKey];for(const[valueKey,count]of Object.entries(values)){filter[valueKey]=(filter[valueKey]||0)+count}}}}return merged}async filters(){let filters2=await Promise.all(this.instances.map((i2)=>i2.filters()));return this.mergeFilters(filters2)}async preload(term,options2={}){await Promise.all(this.instances.map((i2)=>i2.preload(term,options2)))}async debouncedSearch(term,options2,debounceTimeoutMs){const thisSearchID=++this.searchID;this.preload(term,options2);await asyncSleep(debounceTimeoutMs);if(thisSearchID!==this.searchID){return null}const searchResult=await this.search(term,options2);if(thisSearchID!==this.searchID){return null}return searchResult}async search(term,options2={}){let search2=await Promise.all(this.instances.map((i2)=>i2.search(term,options2)));const filters2=this.mergeFilters(search2.map((s)=>s.filters));const totalFilters=this.mergeFilters(search2.map((s)=>s.totalFilters));const results=search2.map((s)=>s.results).flat().sort((a,b)=>b.score-a.score);const timings=search2.map((s)=>s.timings);const unfilteredResultCount=search2.reduce((sum,s)=>sum+s.unfilteredResultCount,0);return{results,unfilteredResultCount,filters:filters2,totalFilters,timings}}};var pagefind=void 0;var initial_options=void 0;var init_pagefind=()=>{if(!pagefind){pagefind=new Pagefind(initial_options??{})}};var options=async(new_options)=>{if(pagefind){await pagefind.options(new_options)}else{initial_options=new_options}};var init=async()=>{init_pagefind()};var destroy=async()=>{pagefind=void 0;initial_options=void 0};var mergeIndex=async(indexPath,options2)=>{init_pagefind();return await pagefind.mergeIndex(indexPath,options2)};var search=async(term,options2)=>{init_pagefind();return await pagefind.search(term,options2)};var debouncedSearch=async(term,options2,debounceTimeoutMs=300)=>{init_pagefind();return await pagefind.debouncedSearch(term,options2,debounceTimeoutMs)};var preload=async(term,options2)=>{init_pagefind();return await pagefind.preload(term,options2)};var filters=async()=>{init_pagefind();return await pagefind.filters()};export{debouncedSearch,destroy,filters,init,mergeIndex,options,preload,search} \ No newline at end of file diff --git a/pagefind/wasm.en-US.pagefind b/pagefind/wasm.en-US.pagefind new file mode 100644 index 0000000000000000000000000000000000000000..88311643a417b7a6a5c65f460bbf4f437fd42db0 GIT binary patch literal 70873 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 literal 0 HcmV?d00001 diff --git a/pagefind/wasm.unknown.pagefind b/pagefind/wasm.unknown.pagefind new file mode 100644 index 0000000000000000000000000000000000000000..9da76c2325b69f7adda704c59d5854a0f50f60e2 GIT binary patch literal 67202 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⪼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 + + + + + + + + + + Log Agent, rational and how it works + + + + + + +
    + +
    +
    +

    Log Agent, rational and usage

    +

    Why Log Agent?

    +
      +
    • fail2ban is very capable
    • +
    • fail2ban became challenging to do a simple things
    • +
    +
    +
    +

    Original Problem

    +
      +
    • Caltech Library gets pounded by unruly spiders and bots
    • +
    • They usually a easy to spot in the log using a unique string
    • +
    • Creating/updating fail2ban filters became a time sink
    • +
    +

    Solution, use something simpler along side fail2ban.

    +
    +
    +

    How does it work

    +
      +
    • A very simple YAML file, defines a list of objects with a “tag” and +“action”
    • +
    • Reads in a log and find tags then apply action
    • +
    +
    +
    +

    What does the configuration look like?

    +
      +
    • A list of objects
    • +
    • Each object contains a tag and action attribute
    • +
    • The tag is the string to search for
    • +
    • The action is the command to execute +
        +
      • {ipaddress} can be used for the IP address found in the +log line
      • +
    • +
    +
    +
    +

    A single “tag” and “action”

    +

    Search for “BadBot” and ban it with iptables.

    +
    - tag: BadBot
    +  action: |
    +    sudo iptables -A INPUT -p tcp -m multiport
    +    --dports 80,443 -s {ipaddress} -j DROP
    +
    +
    +

    Running log agent

    +
      +
    • YAML configuration badbot.yaml
    • +
    • Log file at /var/log/nginx/access.log
    • +
    +
    sudo logagent badbot.yaml /var/log/nginx/access.log
    +
    +
    +

    Explanation

    +

    For each IP address identified on a tagged log line the action will +be executed. Given the example action that means the IP address +associated with log lines containing “BadBot” are banned from connecting +to ports 80 and 443.

    +
    +
    +

    Reminder

    +

    Log Agent is an experimental “proof of concept” simple log processor +written in TypeScript and compiled with Deno into a stand alone +executable. It is a naive tool so take care with the action you assign +for a tag.

    +
    + + + diff --git a/presentations/presentation1.md b/presentations/presentation1.md new file mode 100644 index 0000000..77b7f8a --- /dev/null +++ b/presentations/presentation1.md @@ -0,0 +1,82 @@ +--- +title: "Log Agent, rational and how it works" +author: "R. S. Doiel, " +institute: | + Caltech Library, + Digital Library Development +description: Caltech Library Digital Development Group presentation +urlcolor: blue +linkstyle: bold +aspectratio: 169 +createDate: 2025-01-24 +updateDate: 2025-01-24 +pubDate: TBD +place: TBD +date: 2025-01-24 +section-titles: false +toc: true +keywords: [ "logs", "bots" ] +url: https://caltechlibrary.github.io/logagent/presentations/presentation1.html +--- + +# Log Agent, rational and usage + +Why Log Agent? + +- fail2ban is very capable +- fail2ban became challenging to do a simple things + +# Original Problem + +- Caltech Library gets pounded by unruly spiders and bots +- They usually a easy to spot in the log using a unique string +- Creating/updating fail2ban filters became a time sink + +Solution, use something simpler along side fail2ban. + +# How does it work + +- A very simple YAML file, defines a list of objects with a "tag" and "action" +- Reads in a log and find tags then apply action + +# What does the configuration look like? + +- A list of objects +- Each object contains a tag and action attribute +- The tag is the string to search for +- The action is the command to execute + - `{ipaddress}` can be used for the IP address found in the log line + +# A single "tag" and "action" + +Search for "BadBot" and ban it with iptables. + +~~~yaml +- tag: BadBot + action: | + sudo iptables -A INPUT -p tcp -m multiport + --dports 80,443 -s {ipaddress} -j DROP +~~~ + +# Running log agent + +- YAML configuration `badbot.yaml` +- Log file at `/var/log/nginx/access.log` + +~~~shell +sudo logagent badbot.yaml /var/log/nginx/access.log +~~~ + +# Explanation + +For each IP address identified on a tagged log line the action will be executed. Given the example action that means the IP address associated with log lines containing "BadBot" are banned from connecting to ports 80 and 443. + +# Reminder + +Log Agent is an experimental "proof of concept" simple log processor written in TypeScript and compiled with Deno into a stand alone executable. It is a naive tool so take care with the action you assign for a tag. + +# Reference + +- GitHub Repository, +- Website, +- This presentation, diff --git a/release.bash b/release.bash new file mode 100755 index 0000000..f2b2953 --- /dev/null +++ b/release.bash @@ -0,0 +1,17 @@ +#!/bin/bash + +# +# Generate a new draft release jq and gh +# +RELEASE_TAG="v$(jq -r .version codemeta.json)" +RELEASE_NOTES="$(jq -r .releaseNotes codemeta.json)" +read -r -p "Push release to GitHub with gh? (y/N) " YES_NO +if [ "$YES_NO" = "y" ]; then + make save msg="prep for ${RELEASE_TAG}, ${RELEASE_NOTES}" + # Now generate a draft releas + gh release create "${RELEASE_TAG}" \ + --draft \ + --notes="${RELEASE_NOTES}" \ + dist/*.zip + echo "Now goto repo release and finalize draft" +fi diff --git a/testdata/badbots.yaml b/testdata/badbots.yaml index 0a206eb..0d588a3 100644 --- a/testdata/badbots.yaml +++ b/testdata/badbots.yaml @@ -1,8 +1,8 @@ - tag: YandexBot action: | sudo iptables -A INPUT -p tcp -m multiport - --dports 80,443 -s {ipaddress} -j DROP + --dports 80,443 -s {ipaddress} -j logagent DROP - tag: Bytespider action: | sudo iptables -A INPUT -p tcp -m multiport - --dports 80,443 -s {ipaddress} -j DROP + --dports 80,443 -s {ipaddress} -j logagent DROP diff --git a/user_manual.html b/user_manual.html new file mode 100644 index 0000000..a124426 --- /dev/null +++ b/user_manual.html @@ -0,0 +1,27 @@ + + + logagent + + + + +
    +

    Log Agent User Manual

    + +
    + + \ No newline at end of file diff --git a/user_manual.md b/user_manual.md new file mode 100644 index 0000000..1113c3b --- /dev/null +++ b/user_manual.md @@ -0,0 +1,6 @@ + +# Log Agent User Manual + +- The [`logagent`](logagent.1.md) command +- [Presentation](presentations/presentation1.md) + diff --git a/version.ts b/version.ts index 45ec0b6..23738a5 100644 --- a/version.ts +++ b/version.ts @@ -1,8 +1,8 @@ // logagent version and license information. -export const version = '0.0.0', +export const version = '0.0.1', releaseDate = '', -releaseHash = '', +releaseHash = '0b671fd', licenseText = ` Copyright (c) 2025, Caltech diff --git a/website.mak b/website.mak new file mode 100644 index 0000000..4648f95 --- /dev/null +++ b/website.mak @@ -0,0 +1,28 @@ +# +# Makefile for running pandoc on all Markdown docs ending in .md +# +PROJECT = CMTools + +PANDOC = $(shell which pandoc) + +MD_PAGES = $(shell ls -1 *.md | grep -v 'nav.md') + +HTML_PAGES = $(shell ls -1 *.md | grep -v 'nav.md' | sed -E 's/.md/.html/g') + +build: $(HTML_PAGES) $(MD_PAGES) pagefind + +$(HTML_PAGES): $(MD_PAGES) .FORCE + if [ -f $(PANDOC) ]; then $(PANDOC) --metadata title=$(basename $@) -s --to html5 $(basename $@).md -o $(basename $@).html \ + --lua-filter=links-to-html.lua \ + --template=page.tmpl; fi + @if [ $@ = "README.html" ]; then mv README.html index.html; fi + +pagefind: .FORCE + # NOTE: I am not including most of the archive in PageFind index since it doesn't make sense in this case. + pagefind --verbose --glob="{*.html,docs/*.html}" --force-language en-US --exclude-selectors="nav,header,footer" --output-path ./pagefind --site . + git add pagefind + +clean: + @rm *.html + +.FORCE:
    +

    Log Agent, rational and how it works

    +

    +R. S. Doiel, rsdoiel@caltech.edu +

    +

    +

    Caltech Library, Digital Library Development

    +

    +

    2025-01-24

    +