From 857e0b65acb6ae5eeb546d6b8bb19a97033854d1 Mon Sep 17 00:00:00 2001 From: Never Gude Date: Wed, 11 Feb 2026 22:20:11 +0100 Subject: [PATCH 01/28] sort articles by date --- Makefile | 13 +-- build/articles/latex-endeavors | 2 +- build/articles/latex-endeavors.html | 3 +- build/articles/random-linux-utils | 2 +- build/articles/random-linux-utils.html | 3 +- build/articles/rsync-android | 2 +- build/articles/rsync-android.html | 3 +- build/index | 24 +++--- build/index.html | 26 +++--- public_ansi/index | 24 +++--- public_ansi/latex-endeavors | 2 +- public_ansi/random-linux-utils | 2 +- public_ansi/rsync-android | 2 +- public_html/eh/eh/eh/eh-eh/index.html | 26 +++--- .../eh/eh/eh/eh-eh/latex-endeavors.html | 3 +- .../eh/eh/eh/eh-eh/random-linux-utils.html | 3 +- public_html/eh/eh/eh/eh-eh/rsync-android.html | 3 +- src/articles.json | 22 ++--- src/articles/latex-endeavors.md | 2 +- src/articles/random-linux-utils | 18 ----- src/articles/random-linux-utils.html | 80 ------------------- src/articles/random-linux-utils.md | 2 +- src/articles/rsync-android | 18 ----- src/articles/rsync-android.html | 80 ------------------- src/articles/rsync-android.md | 2 +- 25 files changed, 89 insertions(+), 278 deletions(-) delete mode 100644 src/articles/random-linux-utils delete mode 100644 src/articles/random-linux-utils.html delete mode 100644 src/articles/rsync-android delete mode 100644 src/articles/rsync-android.html diff --git a/Makefile b/Makefile index 163ae5a..aa78efe 100644 --- a/Makefile +++ b/Makefile @@ -47,23 +47,24 @@ $(BUILDDIR): mkdir $(BUILDDIR) $(BUILDDIR)/$(ARTICLEDIR) $(BUILDDIR)/$(ARTICLEDIR)/%.html: $(SRCDIR)/$(ARTICLEDIR)/%.md | $(BUILDDIR) - jq 'del(.articles[] | select(.filename == "$(notdir $@)"))' $(article_list) > articles.json.tmp; \ + jq 'del(.articles[] | select(.filename == "$(patsubst %.html,%,$(notdir $@))"))' $(article_list) > articles.json.tmp; \ mv ./articles.json.tmp $(article_list); \ - # Build articles using pandoc pandoc $< --template $(template_html) --css $(style) --highlight-style zenburn --mathml --toc --output $@; \ - # Extract metadata from .md file, append filename field to the article object. # This is used to link to the article from index.html. Append article object to the article list. - jq '.articles += [$(shell pandoc $< --template $(list_template) | jq '. += {"filename": "$(patsubst %.html, %, $(notdir $@))"}')]' $(article_list) > articles.json.tmp; \ - mv ./articles.json.tmp $(article_list); \ + jq '.articles += [$(shell pandoc $< --template $(list_template) | jq '. += {"filename": "$(patsubst %.html,%,$(notdir $@))"}')]' $(article_list) > articles.json.tmp; \ + mv ./articles.json.tmp $(article_list); $(BUILDDIR)/$(ARTICLEDIR)/%: $(SRCDIR)/$(ARTICLEDIR)/%.md | $(BUILDDIR) pandoc $< --template $(template_ansi) --to ansi --output $@ $(BUILDDIR)/index.html: $(SRCDIR)/index.md $(articles_html) | $(BUILDDIR) + # Sort articles decending by date (date need to be in ISO 8601 format) + jq '.articles |= sort_by(.date) | .articles |= reverse' ${article_list} > articles.json.tmp; \ + mv ./articles.json.tmp ${article_list}; \ # Build index.html with metadata injected from articles_list - pandoc $< --template $(template_html) --include-after-body $(shark_js) --css $(style) --metadata-file $(article_list) --highlight-style zenburn --mathml --toc --output $@; \ + pandoc $< --template $(template_html) --include-after-body $(shark_js) --css $(style) --metadata-file $(article_list) --highlight-style zenburn --mathml --toc --output $@; $(BUILDDIR)/index: $(SRCDIR)/index.md $(articles_ansi) | $(BUILDDIR) pandoc $< --template $(template_ansi) --metadata-file $(article_list) --to ansi --output $@ diff --git a/build/articles/latex-endeavors b/build/articles/latex-endeavors index 27d3079..f6e4efd 100644 --- a/build/articles/latex-endeavors +++ b/build/articles/latex-endeavors @@ -3,7 +3,7 @@ Never - 9.1.2026 + 2026-01-09 ──────────────────── diff --git a/build/articles/latex-endeavors.html b/build/articles/latex-endeavors.html index 6e860b1..7ea5cbb 100644 --- a/build/articles/latex-endeavors.html +++ b/build/articles/latex-endeavors.html @@ -5,6 +5,7 @@ + Latex Endeavors - - - - - -
-

Latex Endeavors

-

Some unintuitive quirks of Latex

-

Never

-

9.1.2026

-
-
- -
-

BibLaTeX and Biber

-

Biber doesn’t run

-

Biber doens’t run if the (fedora) package -libxcrypt-compat is missing. It will fail with the error -message

-
biber: error while loading shared libraries: libcrypt.so.1: cannot open shared object file: No such file or directory
-
- -
- - - diff --git a/src/articles/random-linux-utils.md b/src/articles/random-linux-utils.md index 6b5c743..7355edf 100644 --- a/src/articles/random-linux-utils.md +++ b/src/articles/random-linux-utils.md @@ -2,7 +2,7 @@ title: Random linux utilities subtitle: Neat things I picked up along the way author: Never -date: 25.7.2025 +date: 2025-07-25 summary: Tricks and tools I learned about, while tweaking my Linux sytem or trying to do productive things. --- diff --git a/src/articles/rsync-android b/src/articles/rsync-android deleted file mode 100644 index 27d3079..0000000 --- a/src/articles/rsync-android +++ /dev/null @@ -1,18 +0,0 @@ - Latex Endeavors - Some unintuitive quirks of Latex - - Never - - 9.1.2026 - - ──────────────────── - -BIBLATEX AND BIBER - -Biber doesn’t run - -Biber doens’t run if the (fedora) package  libxcrypt-compat  is missing. -It will fail with the error message - - biber: error while loading shared libraries: libcrypt.so.1: cannot open shared object file: No such file or directory -]8;;\ \ No newline at end of file diff --git a/src/articles/rsync-android.html b/src/articles/rsync-android.html deleted file mode 100644 index df33063..0000000 --- a/src/articles/rsync-android.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - Latex Endeavors - - - - - - - -
-

Latex Endeavors

-

Some unintuitive quirks of Latex

-

Never

-

9.1.2026

-
-
- -
-

BibLaTeX and Biber

-

Biber doesn’t run

-

Biber doens’t run if the (fedora) package -libxcrypt-compat is missing. It will fail with the error -message

-
biber: error while loading shared libraries: libcrypt.so.1: cannot open shared object file: No such file or directory
-
- -
- - - diff --git a/src/articles/rsync-android.md b/src/articles/rsync-android.md index 97a63f4..c3e532e 100644 --- a/src/articles/rsync-android.md +++ b/src/articles/rsync-android.md @@ -1,7 +1,7 @@ --- title: Using rsync on Android to syncronise my Music library author: Never -date: 12.01.2026 +date: 2026-01-12 summary: As Spotify is getting enshittified by capitalism, keeping a music library is kind of essential. Here I use rsync to syncronise my library with my Android smartphone. --- From 46807b2ba6f205f856a92d6647cc0cfe62904594 Mon Sep 17 00:00:00 2001 From: Never Gude Date: Thu, 12 Feb 2026 00:43:19 +0100 Subject: [PATCH 02/28] Add rss feed --- Makefile | 18 ++++++++++----- build/rssfeed.xml | 41 +++++++++++++++++++++++++++++++++ pandoc/rss-template.xml | 51 +++++++++++++++++++++++++++++++++++++++++ src/articles.json | 9 +++++--- src/rssfeed.md | 9 ++++++++ 5 files changed, 119 insertions(+), 9 deletions(-) create mode 100644 build/rssfeed.xml create mode 100644 pandoc/rss-template.xml create mode 100644 src/rssfeed.md diff --git a/Makefile b/Makefile index aa78efe..cae9591 100644 --- a/Makefile +++ b/Makefile @@ -17,7 +17,7 @@ style := $(STYLEDIR)/style.css # Main html template that pandoc uses to generate .html from .md files template_html := $(PANDOCDIR)/template.html template_ansi := $(PANDOCDIR)/template - +template_rss := $(PANDOCDIR)/rss-template.xml # Template for extracting metadata of .md files in json format list_template := $(PANDOCDIR)/meta-json-template.txt @@ -33,7 +33,7 @@ articles_md := $(wildcard $(SRCDIR)/$(ARTICLEDIR)/*.md) articles_html := $(patsubst $(SRCDIR)/%.md, $(BUILDDIR)/%.html, $(articles_md)) articles_ansi := $(patsubst $(SRCDIR)/%.md, $(BUILDDIR)/%, $(articles_md)) -all: $(BUILDDIR)/index.html $(BUILDDIR)/index +all: $(BUILDDIR)/index.html $(BUILDDIR)/index $(BUILDDIR)/rssfeed.xml install: cp -r $(BUILDDIR)/index.html $(articles_html) $(STYLEDIR) $(IMAGEDIR) $(INSTALLDIR_HTML); \ @@ -48,13 +48,15 @@ $(BUILDDIR): $(BUILDDIR)/$(ARTICLEDIR)/%.html: $(SRCDIR)/$(ARTICLEDIR)/%.md | $(BUILDDIR) jq 'del(.articles[] | select(.filename == "$(patsubst %.html,%,$(notdir $@))"))' $(article_list) > articles.json.tmp; \ - mv ./articles.json.tmp $(article_list); \ + mv articles.json.tmp $(article_list); \ # Build articles using pandoc pandoc $< --template $(template_html) --css $(style) --highlight-style zenburn --mathml --toc --output $@; \ # Extract metadata from .md file, append filename field to the article object. # This is used to link to the article from index.html. Append article object to the article list. - jq '.articles += [$(shell pandoc $< --template $(list_template) | jq '. += {"filename": "$(patsubst %.html,%,$(notdir $@))"}')]' $(article_list) > articles.json.tmp; \ - mv ./articles.json.tmp $(article_list); + + jq '.articles += [$(shell pandoc $< --template $(list_template) | jq '. += {"filename": "$(patsubst %.html,%,$(notdir $@))", "pubdate": "$(shell date -d $(shell pandoc $< --template $(list_template) | jq '.date') --rfc-2822)"}')]' $(article_list) > articles.json.tmp; \ + mv articles.json.tmp $(article_list); + $(BUILDDIR)/$(ARTICLEDIR)/%: $(SRCDIR)/$(ARTICLEDIR)/%.md | $(BUILDDIR) pandoc $< --template $(template_ansi) --to ansi --output $@ @@ -62,9 +64,13 @@ $(BUILDDIR)/$(ARTICLEDIR)/%: $(SRCDIR)/$(ARTICLEDIR)/%.md | $(BUILDDIR) $(BUILDDIR)/index.html: $(SRCDIR)/index.md $(articles_html) | $(BUILDDIR) # Sort articles decending by date (date need to be in ISO 8601 format) jq '.articles |= sort_by(.date) | .articles |= reverse' ${article_list} > articles.json.tmp; \ - mv ./articles.json.tmp ${article_list}; \ + mv articles.json.tmp ${article_list}; \ # Build index.html with metadata injected from articles_list pandoc $< --template $(template_html) --include-after-body $(shark_js) --css $(style) --metadata-file $(article_list) --highlight-style zenburn --mathml --toc --output $@; $(BUILDDIR)/index: $(SRCDIR)/index.md $(articles_ansi) | $(BUILDDIR) pandoc $< --template $(template_ansi) --metadata-file $(article_list) --to ansi --output $@ + +$(BUILDDIR)/rssfeed.xml: $(SRCDIR)/rssfeed.md $(articles_html) | $(BUILDDIR) + + pandoc $< --template $(template_rss) --metadata-file $(article_list) --to html --output $@ diff --git a/build/rssfeed.xml b/build/rssfeed.xml new file mode 100644 index 0000000..c49db4e --- /dev/null +++ b/build/rssfeed.xml @@ -0,0 +1,41 @@ + + + +nevereverever.de RSS Feed +https://nevereverever.de/eh/eh/eh-eh +RSS of my published articles +en-us +Wed, 11 Feb 2026 23:26:41 +0100 +https://www.rssboard.org/rss-specification +pandoc +Never +Never + + +Using rsync on Android to syncronise my Music library +https://nevereverever.de/eh/eh/eh-eh/rsync-android.html +As Spotify is getting enshittified by capitalism, keeping a +music library is kind of essential. Here I use rsync to syncronise my +library with my Android smartphone. +Mon, 12 Jan 2026 00:00:00 +0100 +rsync-android + + +Latex Endeavors +https://nevereverever.de/eh/eh/eh-eh/latex-endeavors.html +Latex undoubtedly has some quirks. Some of them have a +rather unintuitive solution. In this article I cover some quirks and +solutions I have encountered. +Fri, 09 Jan 2026 00:00:00 +0100 +latex-endeavors + + +Random linux utilities +https://nevereverever.de/eh/eh/eh-eh/random-linux-utils.html +Tricks and tools I learned about, while tweaking my Linux +sytem or trying to do productive things. +Fri, 25 Jul 2025 00:00:00 +0200 +random-linux-utils + + + diff --git a/pandoc/rss-template.xml b/pandoc/rss-template.xml new file mode 100644 index 0000000..b097204 --- /dev/null +++ b/pandoc/rss-template.xml @@ -0,0 +1,51 @@ + + + +$if(title)$ +$title$ +$endif$ +$if(link)$ +$link$ +$endif$ +$if(description)$ +$description$ +$endif$ +$if(lang)$ +$lang$ +$endif$ +$if(pubdate)$ +$pubdate$ +$endif$ +$if(builddate)$ +$builddate$ +$endif$ +https://www.rssboard.org/rss-specification +pandoc +$if(editor)$ +$editor$ +$endif$ +$if(webmaster)$ +$webmaster$ +$endif$ + +$for(articles)$ + +$if(articles.title)$ +$articles.title$ +$endif$ +$if(articles.filename)$ +$link$/$articles.filename$.html +$endif$ +$if(articles.summary)$ +$articles.summary$ +$endif$ +$if(articles.date)$ +$articles.pubdate$ +$endif$ +$if(articles.filename)$ +$articles.filename$ +$endif$ + +$endfor$ + + diff --git a/src/articles.json b/src/articles.json index e543dd1..5cfcabc 100644 --- a/src/articles.json +++ b/src/articles.json @@ -5,7 +5,8 @@ "date": "2026-01-12", "summary": "As Spotify is getting enshittified by capitalism, keeping a music library is kind of essential. Here I use rsync to syncronise my library with my Android smartphone.", "title": "Using rsync on Android to syncronise my Music library", - "filename": "rsync-android" + "filename": "rsync-android", + "pubdate": "Mon, 12 Jan 2026 00:00:00 +0100" }, { "author": "Never", @@ -13,7 +14,8 @@ "subtitle": "Some unintuitive quirks of Latex", "summary": "Latex undoubtedly has some quirks. Some of them have a rather unintuitive solution. In this article I cover some quirks and solutions I have encountered.", "title": "Latex Endeavors", - "filename": "latex-endeavors" + "filename": "latex-endeavors", + "pubdate": "Fri, 09 Jan 2026 00:00:00 +0100" }, { "author": "Never", @@ -21,7 +23,8 @@ "subtitle": "Neat things I picked up along the way", "summary": "Tricks and tools I learned about, while tweaking my Linux sytem or trying to do productive things.", "title": "Random linux utilities", - "filename": "random-linux-utils" + "filename": "random-linux-utils", + "pubdate": "Fri, 25 Jul 2025 00:00:00 +0200" } ] } diff --git a/src/rssfeed.md b/src/rssfeed.md new file mode 100644 index 0000000..749006a --- /dev/null +++ b/src/rssfeed.md @@ -0,0 +1,9 @@ +--- +title: nevereverever.de RSS Feed +link: https://nevereverever.de/eh/eh/eh-eh +description: RSS of my published articles +lang: en-us +pubdate: Wed, 11 Feb 2026 23:26:41 +0100 +editor: Never +webmaster: Never +--- From 1ce7aa2e41cf0b99dd9b091dbb515e22f0aff8e7 Mon Sep 17 00:00:00 2001 From: Never Gude Date: Thu, 12 Feb 2026 00:44:53 +0100 Subject: [PATCH 03/28] add rss feed to install --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index cae9591..9b599b0 100644 --- a/Makefile +++ b/Makefile @@ -36,7 +36,7 @@ articles_ansi := $(patsubst $(SRCDIR)/%.md, $(BUILDDIR)/%, $(articles_md)) all: $(BUILDDIR)/index.html $(BUILDDIR)/index $(BUILDDIR)/rssfeed.xml install: - cp -r $(BUILDDIR)/index.html $(articles_html) $(STYLEDIR) $(IMAGEDIR) $(INSTALLDIR_HTML); \ + cp -r $(BUILDDIR)/index.html $(BUILDDIR)/rssfeed.xml $(articles_html) $(STYLEDIR) $(IMAGEDIR) $(INSTALLDIR_HTML); \ cp -r $(BUILDDIR)/index $(articles_ansi) $(INSTALLDIR_ANSI); clean: From e10f3cceaeab2f545e59b56e5345c44a5dacf07c Mon Sep 17 00:00:00 2001 From: Never Gude Date: Thu, 12 Feb 2026 00:53:59 +0100 Subject: [PATCH 04/28] fix url --- public_html/eh/eh/eh/eh-eh/rssfeed.xml | 41 ++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 public_html/eh/eh/eh/eh-eh/rssfeed.xml diff --git a/public_html/eh/eh/eh/eh-eh/rssfeed.xml b/public_html/eh/eh/eh/eh-eh/rssfeed.xml new file mode 100644 index 0000000..c49db4e --- /dev/null +++ b/public_html/eh/eh/eh/eh-eh/rssfeed.xml @@ -0,0 +1,41 @@ + + + +nevereverever.de RSS Feed +https://nevereverever.de/eh/eh/eh-eh +RSS of my published articles +en-us +Wed, 11 Feb 2026 23:26:41 +0100 +https://www.rssboard.org/rss-specification +pandoc +Never +Never + + +Using rsync on Android to syncronise my Music library +https://nevereverever.de/eh/eh/eh-eh/rsync-android.html +As Spotify is getting enshittified by capitalism, keeping a +music library is kind of essential. Here I use rsync to syncronise my +library with my Android smartphone. +Mon, 12 Jan 2026 00:00:00 +0100 +rsync-android + + +Latex Endeavors +https://nevereverever.de/eh/eh/eh-eh/latex-endeavors.html +Latex undoubtedly has some quirks. Some of them have a +rather unintuitive solution. In this article I cover some quirks and +solutions I have encountered. +Fri, 09 Jan 2026 00:00:00 +0100 +latex-endeavors + + +Random linux utilities +https://nevereverever.de/eh/eh/eh-eh/random-linux-utils.html +Tricks and tools I learned about, while tweaking my Linux +sytem or trying to do productive things. +Fri, 25 Jul 2025 00:00:00 +0200 +random-linux-utils + + + From abfc147c22b94c1253e3cf899eb17f054a471a7f Mon Sep 17 00:00:00 2001 From: Never Gude Date: Thu, 12 Feb 2026 00:58:39 +0100 Subject: [PATCH 05/28] fix url --- build/rssfeed.xml | 8 ++++---- public_html/eh/eh/eh/eh-eh/rssfeed.xml | 8 ++++---- src/rssfeed.md | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/build/rssfeed.xml b/build/rssfeed.xml index c49db4e..5e9f088 100644 --- a/build/rssfeed.xml +++ b/build/rssfeed.xml @@ -2,7 +2,7 @@ nevereverever.de RSS Feed -https://nevereverever.de/eh/eh/eh-eh +https://nevereverever.de/eh/eh/eh/eh-eh RSS of my published articles en-us Wed, 11 Feb 2026 23:26:41 +0100 @@ -13,7 +13,7 @@ Using rsync on Android to syncronise my Music library -https://nevereverever.de/eh/eh/eh-eh/rsync-android.html +https://nevereverever.de/eh/eh/eh/eh-eh/rsync-android.html As Spotify is getting enshittified by capitalism, keeping a music library is kind of essential. Here I use rsync to syncronise my library with my Android smartphone. @@ -22,7 +22,7 @@ library with my Android smartphone. Latex Endeavors -https://nevereverever.de/eh/eh/eh-eh/latex-endeavors.html +https://nevereverever.de/eh/eh/eh/eh-eh/latex-endeavors.html Latex undoubtedly has some quirks. Some of them have a rather unintuitive solution. In this article I cover some quirks and solutions I have encountered. @@ -31,7 +31,7 @@ solutions I have encountered. Random linux utilities -https://nevereverever.de/eh/eh/eh-eh/random-linux-utils.html +https://nevereverever.de/eh/eh/eh/eh-eh/random-linux-utils.html Tricks and tools I learned about, while tweaking my Linux sytem or trying to do productive things. Fri, 25 Jul 2025 00:00:00 +0200 diff --git a/public_html/eh/eh/eh/eh-eh/rssfeed.xml b/public_html/eh/eh/eh/eh-eh/rssfeed.xml index c49db4e..5e9f088 100644 --- a/public_html/eh/eh/eh/eh-eh/rssfeed.xml +++ b/public_html/eh/eh/eh/eh-eh/rssfeed.xml @@ -2,7 +2,7 @@ nevereverever.de RSS Feed -https://nevereverever.de/eh/eh/eh-eh +https://nevereverever.de/eh/eh/eh/eh-eh RSS of my published articles en-us Wed, 11 Feb 2026 23:26:41 +0100 @@ -13,7 +13,7 @@ Using rsync on Android to syncronise my Music library -https://nevereverever.de/eh/eh/eh-eh/rsync-android.html +https://nevereverever.de/eh/eh/eh/eh-eh/rsync-android.html As Spotify is getting enshittified by capitalism, keeping a music library is kind of essential. Here I use rsync to syncronise my library with my Android smartphone. @@ -22,7 +22,7 @@ library with my Android smartphone. Latex Endeavors -https://nevereverever.de/eh/eh/eh-eh/latex-endeavors.html +https://nevereverever.de/eh/eh/eh/eh-eh/latex-endeavors.html Latex undoubtedly has some quirks. Some of them have a rather unintuitive solution. In this article I cover some quirks and solutions I have encountered. @@ -31,7 +31,7 @@ solutions I have encountered. Random linux utilities -https://nevereverever.de/eh/eh/eh-eh/random-linux-utils.html +https://nevereverever.de/eh/eh/eh/eh-eh/random-linux-utils.html Tricks and tools I learned about, while tweaking my Linux sytem or trying to do productive things. Fri, 25 Jul 2025 00:00:00 +0200 diff --git a/src/rssfeed.md b/src/rssfeed.md index 749006a..ce6ef13 100644 --- a/src/rssfeed.md +++ b/src/rssfeed.md @@ -1,6 +1,6 @@ --- title: nevereverever.de RSS Feed -link: https://nevereverever.de/eh/eh/eh-eh +link: https://nevereverever.de/eh/eh/eh/eh-eh description: RSS of my published articles lang: en-us pubdate: Wed, 11 Feb 2026 23:26:41 +0100 From 5721fe56ac7fb077cb73047811964fd7a62cc58f Mon Sep 17 00:00:00 2001 From: Never Gude Date: Thu, 12 Feb 2026 01:54:19 +0100 Subject: [PATCH 06/28] add author to rssfeed --- build/rssfeed.xml | 3 +++ pandoc/rss-template.xml | 3 +++ public_html/eh/eh/eh/eh-eh/rssfeed.xml | 3 +++ src/articles.json | 3 +++ src/articles/latex-endeavors.md | 1 + src/articles/random-linux-utils.md | 1 + src/articles/rsync-android.md | 1 + 7 files changed, 15 insertions(+) diff --git a/build/rssfeed.xml b/build/rssfeed.xml index 5e9f088..ce1b277 100644 --- a/build/rssfeed.xml +++ b/build/rssfeed.xml @@ -13,6 +13,7 @@ Using rsync on Android to syncronise my Music library +n.gude@posteo.de https://nevereverever.de/eh/eh/eh/eh-eh/rsync-android.html As Spotify is getting enshittified by capitalism, keeping a music library is kind of essential. Here I use rsync to syncronise my @@ -22,6 +23,7 @@ library with my Android smartphone. Latex Endeavors +n.gude@posteo.de https://nevereverever.de/eh/eh/eh/eh-eh/latex-endeavors.html Latex undoubtedly has some quirks. Some of them have a rather unintuitive solution. In this article I cover some quirks and @@ -31,6 +33,7 @@ solutions I have encountered. Random linux utilities +n.gude@posteo.de https://nevereverever.de/eh/eh/eh/eh-eh/random-linux-utils.html Tricks and tools I learned about, while tweaking my Linux sytem or trying to do productive things. diff --git a/pandoc/rss-template.xml b/pandoc/rss-template.xml index b097204..2d53963 100644 --- a/pandoc/rss-template.xml +++ b/pandoc/rss-template.xml @@ -33,6 +33,9 @@ $for(articles)$ $if(articles.title)$ $articles.title$ $endif$ +$if(articles.email)$ +$articles.email$ +$endif$ $if(articles.filename)$ $link$/$articles.filename$.html $endif$ diff --git a/public_html/eh/eh/eh/eh-eh/rssfeed.xml b/public_html/eh/eh/eh/eh-eh/rssfeed.xml index 5e9f088..ce1b277 100644 --- a/public_html/eh/eh/eh/eh-eh/rssfeed.xml +++ b/public_html/eh/eh/eh/eh-eh/rssfeed.xml @@ -13,6 +13,7 @@ Using rsync on Android to syncronise my Music library +n.gude@posteo.de https://nevereverever.de/eh/eh/eh/eh-eh/rsync-android.html As Spotify is getting enshittified by capitalism, keeping a music library is kind of essential. Here I use rsync to syncronise my @@ -22,6 +23,7 @@ library with my Android smartphone. Latex Endeavors +n.gude@posteo.de https://nevereverever.de/eh/eh/eh/eh-eh/latex-endeavors.html Latex undoubtedly has some quirks. Some of them have a rather unintuitive solution. In this article I cover some quirks and @@ -31,6 +33,7 @@ solutions I have encountered. Random linux utilities +n.gude@posteo.de https://nevereverever.de/eh/eh/eh/eh-eh/random-linux-utils.html Tricks and tools I learned about, while tweaking my Linux sytem or trying to do productive things. diff --git a/src/articles.json b/src/articles.json index 5cfcabc..cb9c144 100644 --- a/src/articles.json +++ b/src/articles.json @@ -3,6 +3,7 @@ { "author": "Never", "date": "2026-01-12", + "email": "n.gude@posteo.de", "summary": "As Spotify is getting enshittified by capitalism, keeping a music library is kind of essential. Here I use rsync to syncronise my library with my Android smartphone.", "title": "Using rsync on Android to syncronise my Music library", "filename": "rsync-android", @@ -11,6 +12,7 @@ { "author": "Never", "date": "2026-01-09", + "email": "n.gude@posteo.de", "subtitle": "Some unintuitive quirks of Latex", "summary": "Latex undoubtedly has some quirks. Some of them have a rather unintuitive solution. In this article I cover some quirks and solutions I have encountered.", "title": "Latex Endeavors", @@ -20,6 +22,7 @@ { "author": "Never", "date": "2025-07-25", + "email": "n.gude@posteo.de", "subtitle": "Neat things I picked up along the way", "summary": "Tricks and tools I learned about, while tweaking my Linux sytem or trying to do productive things.", "title": "Random linux utilities", diff --git a/src/articles/latex-endeavors.md b/src/articles/latex-endeavors.md index c922511..ed823f1 100644 --- a/src/articles/latex-endeavors.md +++ b/src/articles/latex-endeavors.md @@ -2,6 +2,7 @@ title: Latex Endeavors subtitle: Some unintuitive quirks of Latex author: Never +email: n.gude@posteo.de date: 2026-01-09 summary: Latex undoubtedly has some quirks. Some of them have a rather unintuitive solution. In this article I cover some quirks and solutions I have encountered. diff --git a/src/articles/random-linux-utils.md b/src/articles/random-linux-utils.md index 7355edf..e2b8374 100644 --- a/src/articles/random-linux-utils.md +++ b/src/articles/random-linux-utils.md @@ -2,6 +2,7 @@ title: Random linux utilities subtitle: Neat things I picked up along the way author: Never +email: n.gude@posteo.de date: 2025-07-25 summary: Tricks and tools I learned about, while tweaking my Linux sytem or trying to do productive things. --- diff --git a/src/articles/rsync-android.md b/src/articles/rsync-android.md index c3e532e..bc184a6 100644 --- a/src/articles/rsync-android.md +++ b/src/articles/rsync-android.md @@ -1,6 +1,7 @@ --- title: Using rsync on Android to syncronise my Music library author: Never +email: n.gude@posteo.de date: 2026-01-12 summary: As Spotify is getting enshittified by capitalism, keeping a music library is kind of essential. Here I use rsync to syncronise my library with my Android smartphone. From 6218c3b0af99f495280595029a957eeac94e1f5f Mon Sep 17 00:00:00 2001 From: Never Gude Date: Thu, 12 Feb 2026 02:03:08 +0100 Subject: [PATCH 07/28] tweaks to author --- build/rssfeed.xml | 6 +++--- pandoc/rss-template.xml | 2 +- public_html/eh/eh/eh/eh-eh/rssfeed.xml | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/build/rssfeed.xml b/build/rssfeed.xml index ce1b277..8737d3f 100644 --- a/build/rssfeed.xml +++ b/build/rssfeed.xml @@ -13,7 +13,7 @@ Using rsync on Android to syncronise my Music library -n.gude@posteo.de +n.gude@posteo.de (Never) https://nevereverever.de/eh/eh/eh/eh-eh/rsync-android.html As Spotify is getting enshittified by capitalism, keeping a music library is kind of essential. Here I use rsync to syncronise my @@ -23,7 +23,7 @@ library with my Android smartphone. Latex Endeavors -n.gude@posteo.de +n.gude@posteo.de (Never) https://nevereverever.de/eh/eh/eh/eh-eh/latex-endeavors.html Latex undoubtedly has some quirks. Some of them have a rather unintuitive solution. In this article I cover some quirks and @@ -33,7 +33,7 @@ solutions I have encountered. Random linux utilities -n.gude@posteo.de +n.gude@posteo.de (Never) https://nevereverever.de/eh/eh/eh/eh-eh/random-linux-utils.html Tricks and tools I learned about, while tweaking my Linux sytem or trying to do productive things. diff --git a/pandoc/rss-template.xml b/pandoc/rss-template.xml index 2d53963..b7b6c66 100644 --- a/pandoc/rss-template.xml +++ b/pandoc/rss-template.xml @@ -34,7 +34,7 @@ $if(articles.title)$ $articles.title$ $endif$ $if(articles.email)$ -$articles.email$ +$articles.email$ $if(articles.author)$($articles.author$)$endif$ $endif$ $if(articles.filename)$ $link$/$articles.filename$.html diff --git a/public_html/eh/eh/eh/eh-eh/rssfeed.xml b/public_html/eh/eh/eh/eh-eh/rssfeed.xml index ce1b277..8737d3f 100644 --- a/public_html/eh/eh/eh/eh-eh/rssfeed.xml +++ b/public_html/eh/eh/eh/eh-eh/rssfeed.xml @@ -13,7 +13,7 @@ Using rsync on Android to syncronise my Music library -n.gude@posteo.de +n.gude@posteo.de (Never) https://nevereverever.de/eh/eh/eh/eh-eh/rsync-android.html As Spotify is getting enshittified by capitalism, keeping a music library is kind of essential. Here I use rsync to syncronise my @@ -23,7 +23,7 @@ library with my Android smartphone. Latex Endeavors -n.gude@posteo.de +n.gude@posteo.de (Never) https://nevereverever.de/eh/eh/eh/eh-eh/latex-endeavors.html Latex undoubtedly has some quirks. Some of them have a rather unintuitive solution. In this article I cover some quirks and @@ -33,7 +33,7 @@ solutions I have encountered. Random linux utilities -n.gude@posteo.de +n.gude@posteo.de (Never) https://nevereverever.de/eh/eh/eh/eh-eh/random-linux-utils.html Tricks and tools I learned about, while tweaking my Linux sytem or trying to do productive things. From ad5a1ca63616c344594cfc1fa191e9974951f4ce Mon Sep 17 00:00:00 2001 From: Never Gude Date: Thu, 12 Feb 2026 02:33:53 +0100 Subject: [PATCH 08/28] test --- Makefile | 3 +-- build/rssfeed.xml | 3 ++- pandoc/rss-template.xml | 4 +--- src/articles.json | 1 - src/articles/random-linux-utils.md | 1 - 5 files changed, 4 insertions(+), 8 deletions(-) diff --git a/Makefile b/Makefile index 9b599b0..027690d 100644 --- a/Makefile +++ b/Makefile @@ -72,5 +72,4 @@ $(BUILDDIR)/index: $(SRCDIR)/index.md $(articles_ansi) | $(BUILDDIR) pandoc $< --template $(template_ansi) --metadata-file $(article_list) --to ansi --output $@ $(BUILDDIR)/rssfeed.xml: $(SRCDIR)/rssfeed.md $(articles_html) | $(BUILDDIR) - - pandoc $< --template $(template_rss) --metadata-file $(article_list) --to html --output $@ + pandoc $< --template $(template_rss) --metadata-file $(article_list) --metadata=builddate:"$(shell date --rfc-2822)" --to html --output $@ diff --git a/build/rssfeed.xml b/build/rssfeed.xml index 8737d3f..8f70531 100644 --- a/build/rssfeed.xml +++ b/build/rssfeed.xml @@ -6,6 +6,7 @@ RSS of my published articles en-us Wed, 11 Feb 2026 23:26:41 +0100 +Thu, 12 Feb 2026 02:32:53 +0100 https://www.rssboard.org/rss-specification pandoc Never @@ -33,7 +34,7 @@ solutions I have encountered. Random linux utilities -n.gude@posteo.de (Never) + (Never) https://nevereverever.de/eh/eh/eh/eh-eh/random-linux-utils.html Tricks and tools I learned about, while tweaking my Linux sytem or trying to do productive things. diff --git a/pandoc/rss-template.xml b/pandoc/rss-template.xml index b7b6c66..0b40a92 100644 --- a/pandoc/rss-template.xml +++ b/pandoc/rss-template.xml @@ -33,9 +33,7 @@ $for(articles)$ $if(articles.title)$ $articles.title$ $endif$ -$if(articles.email)$ -$articles.email$ $if(articles.author)$($articles.author$)$endif$ -$endif$ +$if(articles.email)$$articles.email$$endif$$if(articles.author)$ ($articles.author$)$endif$ $if(articles.filename)$ $link$/$articles.filename$.html $endif$ diff --git a/src/articles.json b/src/articles.json index cb9c144..f90bf8a 100644 --- a/src/articles.json +++ b/src/articles.json @@ -22,7 +22,6 @@ { "author": "Never", "date": "2025-07-25", - "email": "n.gude@posteo.de", "subtitle": "Neat things I picked up along the way", "summary": "Tricks and tools I learned about, while tweaking my Linux sytem or trying to do productive things.", "title": "Random linux utilities", diff --git a/src/articles/random-linux-utils.md b/src/articles/random-linux-utils.md index e2b8374..7355edf 100644 --- a/src/articles/random-linux-utils.md +++ b/src/articles/random-linux-utils.md @@ -2,7 +2,6 @@ title: Random linux utilities subtitle: Neat things I picked up along the way author: Never -email: n.gude@posteo.de date: 2025-07-25 summary: Tricks and tools I learned about, while tweaking my Linux sytem or trying to do productive things. --- From dddf6082c78b439badaf2c88701a2c2d3821a8f5 Mon Sep 17 00:00:00 2001 From: Never Gude Date: Thu, 12 Feb 2026 02:34:58 +0100 Subject: [PATCH 09/28] test 2 --- public_html/eh/eh/eh/eh-eh/rssfeed.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public_html/eh/eh/eh/eh-eh/rssfeed.xml b/public_html/eh/eh/eh/eh-eh/rssfeed.xml index 8737d3f..8f70531 100644 --- a/public_html/eh/eh/eh/eh-eh/rssfeed.xml +++ b/public_html/eh/eh/eh/eh-eh/rssfeed.xml @@ -6,6 +6,7 @@ RSS of my published articles en-us Wed, 11 Feb 2026 23:26:41 +0100 +Thu, 12 Feb 2026 02:32:53 +0100 https://www.rssboard.org/rss-specification pandoc Never @@ -33,7 +34,7 @@ solutions I have encountered. Random linux utilities -n.gude@posteo.de (Never) + (Never) https://nevereverever.de/eh/eh/eh/eh-eh/random-linux-utils.html Tricks and tools I learned about, while tweaking my Linux sytem or trying to do productive things. From 3ca1685ec6658cad39c910bd363d6fdc18615a1f Mon Sep 17 00:00:00 2001 From: Never Gude Date: Thu, 12 Feb 2026 04:10:35 +0100 Subject: [PATCH 10/28] changes --- Makefile | 15 +++---- build/articles/latex-endeavors.html | 3 +- build/articles/random-linux-utils.html | 3 +- build/articles/rsync-android.html | 3 +- build/index.html | 3 +- build/{rssfeed.xml => rss.xml} | 15 +++---- pandoc/{template => ansi-template} | 0 pandoc/{template.html => html-template.html} | 3 +- ...on-template.txt => metadata-template.json} | 0 pandoc/rss-template.xml | 5 ++- public_html/eh/eh/eh/eh-eh/index.html | 3 +- .../eh/eh/eh/eh-eh/latex-endeavors.html | 3 +- .../eh/eh/eh/eh-eh/random-linux-utils.html | 3 +- public_html/eh/eh/eh/eh-eh/rss.xml | 44 +++++++++++++++++++ public_html/eh/eh/eh/eh-eh/rssfeed.xml | 7 ++- public_html/eh/eh/eh/eh-eh/rsync-android.html | 3 +- public_html/eh/eh/eh/eh-eh/styles/style.css | 25 ++++------- src/articles.json | 1 + src/articles/random-linux-utils.md | 1 + src/rss.md | 8 ++++ src/rssfeed.md | 9 ---- styles/style.css | 28 ++++-------- 22 files changed, 108 insertions(+), 77 deletions(-) rename build/{rssfeed.xml => rss.xml} (78%) rename pandoc/{template => ansi-template} (100%) rename pandoc/{template.html => html-template.html} (97%) rename pandoc/{meta-json-template.txt => metadata-template.json} (100%) create mode 100644 public_html/eh/eh/eh/eh-eh/rss.xml create mode 100644 src/rss.md delete mode 100644 src/rssfeed.md diff --git a/Makefile b/Makefile index 027690d..2a0208d 100644 --- a/Makefile +++ b/Makefile @@ -15,11 +15,11 @@ IMAGEDIR := images style := $(STYLEDIR)/style.css # Main html template that pandoc uses to generate .html from .md files -template_html := $(PANDOCDIR)/template.html -template_ansi := $(PANDOCDIR)/template +template_html := $(PANDOCDIR)/html-template.html +template_ansi := $(PANDOCDIR)/ansi-template template_rss := $(PANDOCDIR)/rss-template.xml # Template for extracting metadata of .md files in json format -list_template := $(PANDOCDIR)/meta-json-template.txt +list_template := $(PANDOCDIR)/metadata-template.json # Location of the shark.js shark_js := $(PANDOCDIR)/shark.js @@ -33,10 +33,10 @@ articles_md := $(wildcard $(SRCDIR)/$(ARTICLEDIR)/*.md) articles_html := $(patsubst $(SRCDIR)/%.md, $(BUILDDIR)/%.html, $(articles_md)) articles_ansi := $(patsubst $(SRCDIR)/%.md, $(BUILDDIR)/%, $(articles_md)) -all: $(BUILDDIR)/index.html $(BUILDDIR)/index $(BUILDDIR)/rssfeed.xml +all: $(BUILDDIR)/index.html $(BUILDDIR)/index $(BUILDDIR)/rss.xml install: - cp -r $(BUILDDIR)/index.html $(BUILDDIR)/rssfeed.xml $(articles_html) $(STYLEDIR) $(IMAGEDIR) $(INSTALLDIR_HTML); \ + cp -r $(BUILDDIR)/index.html $(BUILDDIR)/rss.xml $(articles_html) $(STYLEDIR) $(IMAGEDIR) $(INSTALLDIR_HTML); \ cp -r $(BUILDDIR)/index $(articles_ansi) $(INSTALLDIR_ANSI); clean: @@ -53,7 +53,6 @@ $(BUILDDIR)/$(ARTICLEDIR)/%.html: $(SRCDIR)/$(ARTICLEDIR)/%.md | $(BUILDDIR) pandoc $< --template $(template_html) --css $(style) --highlight-style zenburn --mathml --toc --output $@; \ # Extract metadata from .md file, append filename field to the article object. # This is used to link to the article from index.html. Append article object to the article list. - jq '.articles += [$(shell pandoc $< --template $(list_template) | jq '. += {"filename": "$(patsubst %.html,%,$(notdir $@))", "pubdate": "$(shell date -d $(shell pandoc $< --template $(list_template) | jq '.date') --rfc-2822)"}')]' $(article_list) > articles.json.tmp; \ mv articles.json.tmp $(article_list); @@ -71,5 +70,5 @@ $(BUILDDIR)/index.html: $(SRCDIR)/index.md $(articles_html) | $(BUILDDIR) $(BUILDDIR)/index: $(SRCDIR)/index.md $(articles_ansi) | $(BUILDDIR) pandoc $< --template $(template_ansi) --metadata-file $(article_list) --to ansi --output $@ -$(BUILDDIR)/rssfeed.xml: $(SRCDIR)/rssfeed.md $(articles_html) | $(BUILDDIR) - pandoc $< --template $(template_rss) --metadata-file $(article_list) --metadata=builddate:"$(shell date --rfc-2822)" --to html --output $@ +$(BUILDDIR)/rss.xml: $(SRCDIR)/rss.md $(articles_html) | $(BUILDDIR) + pandoc $< --template $(template_rss) --metadata-file $(article_list) --metadata=pubdate:"$(shell jq -r '.articles[0] | .pubdate' $(article_list))" --metadata=builddate:"$(shell date --rfc-2822)" --to html --output $@ diff --git a/build/articles/latex-endeavors.html b/build/articles/latex-endeavors.html index 7ea5cbb..ac7228b 100644 --- a/build/articles/latex-endeavors.html +++ b/build/articles/latex-endeavors.html @@ -29,7 +29,8 @@

Latex Endeavors

diff --git a/build/articles/random-linux-utils.html b/build/articles/random-linux-utils.html index a75d01a..f71ab4a 100644 --- a/build/articles/random-linux-utils.html +++ b/build/articles/random-linux-utils.html @@ -93,7 +93,8 @@

Random linux utilities

diff --git a/build/articles/rsync-android.html b/build/articles/rsync-android.html index acddd02..1da00bb 100644 --- a/build/articles/rsync-android.html +++ b/build/articles/rsync-android.html @@ -93,7 +93,8 @@

Using rsync on Android to syncronise my Music diff --git a/build/index.html b/build/index.html index 092af37..6f8f505 100644 --- a/build/index.html +++ b/build/index.html @@ -27,7 +27,8 @@

Home

diff --git a/build/rssfeed.xml b/build/rss.xml similarity index 78% rename from build/rssfeed.xml rename to build/rss.xml index 8f70531..730478d 100644 --- a/build/rssfeed.xml +++ b/build/rss.xml @@ -1,17 +1,16 @@ -nevereverever.de RSS Feed +nevereverever.de https://nevereverever.de/eh/eh/eh/eh-eh -RSS of my published articles +Here I post random stuff. en-us -Wed, 11 Feb 2026 23:26:41 +0100 -Thu, 12 Feb 2026 02:32:53 +0100 +Mon, 12 Jan 2026 00:00:00 +0100 +Thu, 12 Feb 2026 04:03:34 +0100 https://www.rssboard.org/rss-specification pandoc -Never -Never - +n.gude@posteo.de (Never) +n.gude@poster.de (Never) Using rsync on Android to syncronise my Music library n.gude@posteo.de (Never) @@ -34,7 +33,7 @@ solutions I have encountered. Random linux utilities - (Never) +n.gude@posteo.de (Never) https://nevereverever.de/eh/eh/eh/eh-eh/random-linux-utils.html Tricks and tools I learned about, while tweaking my Linux sytem or trying to do productive things. diff --git a/pandoc/template b/pandoc/ansi-template similarity index 100% rename from pandoc/template rename to pandoc/ansi-template diff --git a/pandoc/template.html b/pandoc/html-template.html similarity index 97% rename from pandoc/template.html rename to pandoc/html-template.html index 2b5e99c..79cf861 100644 --- a/pandoc/template.html +++ b/pandoc/html-template.html @@ -37,7 +37,8 @@ $endif$ $for(include-before)$ $include-before$ diff --git a/pandoc/meta-json-template.txt b/pandoc/metadata-template.json similarity index 100% rename from pandoc/meta-json-template.txt rename to pandoc/metadata-template.json diff --git a/pandoc/rss-template.xml b/pandoc/rss-template.xml index 0b40a92..fd99164 100644 --- a/pandoc/rss-template.xml +++ b/pandoc/rss-template.xml @@ -27,13 +27,14 @@ $endif$ $if(webmaster)$ $webmaster$ $endif$ - $for(articles)$ $if(articles.title)$ $articles.title$ $endif$ -$if(articles.email)$$articles.email$$endif$$if(articles.author)$ ($articles.author$)$endif$ +$if(articles.email)$ +$articles.email$$if(articles.author)$ ($articles.author$)$endif$ +$endif$ $if(articles.filename)$ $link$/$articles.filename$.html $endif$ diff --git a/public_html/eh/eh/eh/eh-eh/index.html b/public_html/eh/eh/eh/eh-eh/index.html index 092af37..6f8f505 100644 --- a/public_html/eh/eh/eh/eh-eh/index.html +++ b/public_html/eh/eh/eh/eh-eh/index.html @@ -27,7 +27,8 @@

Home

diff --git a/public_html/eh/eh/eh/eh-eh/latex-endeavors.html b/public_html/eh/eh/eh/eh-eh/latex-endeavors.html index 7ea5cbb..ac7228b 100644 --- a/public_html/eh/eh/eh/eh-eh/latex-endeavors.html +++ b/public_html/eh/eh/eh/eh-eh/latex-endeavors.html @@ -29,7 +29,8 @@

Latex Endeavors

diff --git a/public_html/eh/eh/eh/eh-eh/random-linux-utils.html b/public_html/eh/eh/eh/eh-eh/random-linux-utils.html index a75d01a..f71ab4a 100644 --- a/public_html/eh/eh/eh/eh-eh/random-linux-utils.html +++ b/public_html/eh/eh/eh/eh-eh/random-linux-utils.html @@ -93,7 +93,8 @@

Random linux utilities

diff --git a/public_html/eh/eh/eh/eh-eh/rss.xml b/public_html/eh/eh/eh/eh-eh/rss.xml new file mode 100644 index 0000000..730478d --- /dev/null +++ b/public_html/eh/eh/eh/eh-eh/rss.xml @@ -0,0 +1,44 @@ + + + +nevereverever.de +https://nevereverever.de/eh/eh/eh/eh-eh +Here I post random stuff. +en-us +Mon, 12 Jan 2026 00:00:00 +0100 +Thu, 12 Feb 2026 04:03:34 +0100 +https://www.rssboard.org/rss-specification +pandoc +n.gude@posteo.de (Never) +n.gude@poster.de (Never) + +Using rsync on Android to syncronise my Music library +n.gude@posteo.de (Never) +https://nevereverever.de/eh/eh/eh/eh-eh/rsync-android.html +As Spotify is getting enshittified by capitalism, keeping a +music library is kind of essential. Here I use rsync to syncronise my +library with my Android smartphone. +Mon, 12 Jan 2026 00:00:00 +0100 +rsync-android + + +Latex Endeavors +n.gude@posteo.de (Never) +https://nevereverever.de/eh/eh/eh/eh-eh/latex-endeavors.html +Latex undoubtedly has some quirks. Some of them have a +rather unintuitive solution. In this article I cover some quirks and +solutions I have encountered. +Fri, 09 Jan 2026 00:00:00 +0100 +latex-endeavors + + +Random linux utilities +n.gude@posteo.de (Never) +https://nevereverever.de/eh/eh/eh/eh-eh/random-linux-utils.html +Tricks and tools I learned about, while tweaking my Linux +sytem or trying to do productive things. +Fri, 25 Jul 2025 00:00:00 +0200 +random-linux-utils + + + diff --git a/public_html/eh/eh/eh/eh-eh/rssfeed.xml b/public_html/eh/eh/eh/eh-eh/rssfeed.xml index 8f70531..54077fc 100644 --- a/public_html/eh/eh/eh/eh-eh/rssfeed.xml +++ b/public_html/eh/eh/eh/eh-eh/rssfeed.xml @@ -5,13 +5,12 @@ https://nevereverever.de/eh/eh/eh/eh-eh RSS of my published articles en-us -Wed, 11 Feb 2026 23:26:41 +0100 -Thu, 12 Feb 2026 02:32:53 +0100 +Mon, 12 Jan 2026 00:00:00 +0100 +Thu, 12 Feb 2026 02:45:55 +0100 https://www.rssboard.org/rss-specification pandoc Never Never - Using rsync on Android to syncronise my Music library n.gude@posteo.de (Never) @@ -34,7 +33,7 @@ solutions I have encountered. Random linux utilities - (Never) +n.gude@posteo.de (Never) https://nevereverever.de/eh/eh/eh/eh-eh/random-linux-utils.html Tricks and tools I learned about, while tweaking my Linux sytem or trying to do productive things. diff --git a/public_html/eh/eh/eh/eh-eh/rsync-android.html b/public_html/eh/eh/eh/eh-eh/rsync-android.html index acddd02..1da00bb 100644 --- a/public_html/eh/eh/eh/eh-eh/rsync-android.html +++ b/public_html/eh/eh/eh/eh-eh/rsync-android.html @@ -93,7 +93,8 @@

Using rsync on Android to syncronise my Music diff --git a/public_html/eh/eh/eh/eh-eh/styles/style.css b/public_html/eh/eh/eh/eh-eh/styles/style.css index e6e14cc..2d2da1f 100644 --- a/public_html/eh/eh/eh/eh-eh/styles/style.css +++ b/public_html/eh/eh/eh/eh-eh/styles/style.css @@ -56,35 +56,26 @@ body { } #page-header { + padding: 4pt; display: flex; - flex-direction: row; - flex-wrap: nowrap; justify-content: space-between; - text-align: left; - border: 4pt ridge var(--border); background: url("images/shark-top-small.png"); background-size: contain; + border: 4pt ridge var(--border); } -#page-header li { - list-style: none; - display: inline-block; +#page-header a { + padding: 4pt; + color: var(--foreground); + background-color: var(--button-background); + border: 2pt outset var(--button-border); + text-decoration: none; } #page-header a:active { border: 2pt inset var(--button-border) } -#page-header a { - color: var(--foreground); - text-decoration: none; - margin: 4pt; - padding: 4pt; - border: 2pt outset var(--button-border); - background-color: var(--button-background) -} - -#page-header ul, #articles ul { padding-left: 0; } diff --git a/src/articles.json b/src/articles.json index f90bf8a..cb9c144 100644 --- a/src/articles.json +++ b/src/articles.json @@ -22,6 +22,7 @@ { "author": "Never", "date": "2025-07-25", + "email": "n.gude@posteo.de", "subtitle": "Neat things I picked up along the way", "summary": "Tricks and tools I learned about, while tweaking my Linux sytem or trying to do productive things.", "title": "Random linux utilities", diff --git a/src/articles/random-linux-utils.md b/src/articles/random-linux-utils.md index 7355edf..e2b8374 100644 --- a/src/articles/random-linux-utils.md +++ b/src/articles/random-linux-utils.md @@ -2,6 +2,7 @@ title: Random linux utilities subtitle: Neat things I picked up along the way author: Never +email: n.gude@posteo.de date: 2025-07-25 summary: Tricks and tools I learned about, while tweaking my Linux sytem or trying to do productive things. --- diff --git a/src/rss.md b/src/rss.md new file mode 100644 index 0000000..3f42adf --- /dev/null +++ b/src/rss.md @@ -0,0 +1,8 @@ +--- +title: nevereverever.de +link: https://nevereverever.de/eh/eh/eh/eh-eh +description: Here I post random stuff. +lang: en-us +editor: n.gude@posteo.de (Never) +webmaster: n.gude@poster.de (Never) +--- diff --git a/src/rssfeed.md b/src/rssfeed.md deleted file mode 100644 index ce6ef13..0000000 --- a/src/rssfeed.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: nevereverever.de RSS Feed -link: https://nevereverever.de/eh/eh/eh/eh-eh -description: RSS of my published articles -lang: en-us -pubdate: Wed, 11 Feb 2026 23:26:41 +0100 -editor: Never -webmaster: Never ---- diff --git a/styles/style.css b/styles/style.css index e6e14cc..a5813cf 100644 --- a/styles/style.css +++ b/styles/style.css @@ -25,10 +25,7 @@ html { color: var(--foreground); - /*background: url("recursion.gif");*/ background: var(--html-background); - background-repeat: repeat-y; - background-size: cover; font-family: serif; font-size: 14pt; } @@ -56,35 +53,26 @@ body { } #page-header { + padding: 4pt; display: flex; - flex-direction: row; - flex-wrap: nowrap; justify-content: space-between; - text-align: left; - border: 4pt ridge var(--border); background: url("images/shark-top-small.png"); background-size: contain; + border: 4pt ridge var(--border); } -#page-header li { - list-style: none; - display: inline-block; +#page-header a { + padding: 4pt; + color: var(--foreground); + background-color: var(--button-background); + border: 2pt outset var(--button-border); + text-decoration: none; } #page-header a:active { border: 2pt inset var(--button-border) } -#page-header a { - color: var(--foreground); - text-decoration: none; - margin: 4pt; - padding: 4pt; - border: 2pt outset var(--button-border); - background-color: var(--button-background) -} - -#page-header ul, #articles ul { padding-left: 0; } From 84787d014e682a58f341e5f347697a8ab1ee6295 Mon Sep 17 00:00:00 2001 From: Never Gude Date: Thu, 12 Feb 2026 18:04:08 +0100 Subject: [PATCH 11/28] new style --- build/articles/latex-endeavors.html | 4 +- build/articles/random-linux-utils.html | 4 +- build/articles/rsync-android.html | 4 +- build/index.html | 22 +++-- build/rss.xml | 2 +- pandoc/html-template.html | 16 ++-- public_html/eh/eh/eh/eh-eh/index.html | 22 +++-- .../eh/eh/eh/eh-eh/latex-endeavors.html | 4 +- .../eh/eh/eh/eh-eh/random-linux-utils.html | 4 +- public_html/eh/eh/eh/eh-eh/rss.xml | 2 +- public_html/eh/eh/eh/eh-eh/rsync-android.html | 4 +- .../eh-eh/styles/images/shark-top-small.png | Bin 26234 -> 29918 bytes .../eh-eh/styles/images/shark-top-small.xcf | Bin 43099 -> 43742 bytes public_html/eh/eh/eh/eh-eh/styles/style.css | 75 ++++++++---------- styles/images/shark-top-small.png | Bin 26234 -> 29918 bytes styles/images/shark-top-small.xcf | Bin 43099 -> 43742 bytes styles/style.css | 72 ++++++++--------- 17 files changed, 121 insertions(+), 114 deletions(-) diff --git a/build/articles/latex-endeavors.html b/build/articles/latex-endeavors.html index ac7228b..a261e38 100644 --- a/build/articles/latex-endeavors.html +++ b/build/articles/latex-endeavors.html @@ -29,8 +29,8 @@

Latex Endeavors

diff --git a/build/articles/random-linux-utils.html b/build/articles/random-linux-utils.html index f71ab4a..73b9a06 100644 --- a/build/articles/random-linux-utils.html +++ b/build/articles/random-linux-utils.html @@ -93,8 +93,8 @@

Random linux utilities

diff --git a/build/articles/rsync-android.html b/build/articles/rsync-android.html index 1da00bb..9106ad6 100644 --- a/build/articles/rsync-android.html +++ b/build/articles/rsync-android.html @@ -93,8 +93,8 @@

Using rsync on Android to syncronise my Music diff --git a/build/index.html b/build/index.html index 6f8f505..a08aeb5 100644 --- a/build/index.html +++ b/build/index.html @@ -27,8 +27,8 @@

Home

@@ -44,33 +44,39 @@

As Spotify is getting enshittified by capitalism, keeping a music library is kind of essential. Here I use rsync to syncronise my library with my Android smartphone.

-

2026-01-12

+
  • Latex undoubtedly has some quirks. Some of them have a rather unintuitive solution. In this article I cover some quirks and solutions I have encountered.

    -

    2026-01-09

    +
  • Tricks and tools I learned about, while tweaking my Linux sytem or trying to do productive things.

    -

    2025-07-25

    +
  • diff --git a/build/rss.xml b/build/rss.xml index 730478d..fd84a9a 100644 --- a/build/rss.xml +++ b/build/rss.xml @@ -6,7 +6,7 @@ Here I post random stuff. en-us Mon, 12 Jan 2026 00:00:00 +0100 -Thu, 12 Feb 2026 04:03:34 +0100 +Thu, 12 Feb 2026 17:20:07 +0100 https://www.rssboard.org/rss-specification pandoc n.gude@posteo.de (Never) diff --git a/pandoc/html-template.html b/pandoc/html-template.html index 79cf861..1a729f6 100644 --- a/pandoc/html-template.html +++ b/pandoc/html-template.html @@ -37,8 +37,8 @@ $endif$ $for(include-before)$ $include-before$ @@ -85,16 +85,18 @@ $for(articles)$ $if(articles.title)$ $articles.title$ $endif$ -$if(articles.author)$ -

    $articles.author$

    -$endif$ $if(articles.summary)$

    $articles.summary$

    $endif$ -$if(articles.date)$ -

    $articles.date$

    + $endfor$ diff --git a/public_html/eh/eh/eh/eh-eh/index.html b/public_html/eh/eh/eh/eh-eh/index.html index 6f8f505..a08aeb5 100644 --- a/public_html/eh/eh/eh/eh-eh/index.html +++ b/public_html/eh/eh/eh/eh-eh/index.html @@ -27,8 +27,8 @@

    Home

    @@ -44,33 +44,39 @@

    As Spotify is getting enshittified by capitalism, keeping a music library is kind of essential. Here I use rsync to syncronise my library with my Android smartphone.

    -

    2026-01-12

    +
  • Latex undoubtedly has some quirks. Some of them have a rather unintuitive solution. In this article I cover some quirks and solutions I have encountered.

    -

    2026-01-09

    +
  • Tricks and tools I learned about, while tweaking my Linux sytem or trying to do productive things.

    -

    2025-07-25

    +
  • diff --git a/public_html/eh/eh/eh/eh-eh/latex-endeavors.html b/public_html/eh/eh/eh/eh-eh/latex-endeavors.html index ac7228b..a261e38 100644 --- a/public_html/eh/eh/eh/eh-eh/latex-endeavors.html +++ b/public_html/eh/eh/eh/eh-eh/latex-endeavors.html @@ -29,8 +29,8 @@

    Latex Endeavors

    diff --git a/public_html/eh/eh/eh/eh-eh/random-linux-utils.html b/public_html/eh/eh/eh/eh-eh/random-linux-utils.html index f71ab4a..73b9a06 100644 --- a/public_html/eh/eh/eh/eh-eh/random-linux-utils.html +++ b/public_html/eh/eh/eh/eh-eh/random-linux-utils.html @@ -93,8 +93,8 @@

    Random linux utilities

    diff --git a/public_html/eh/eh/eh/eh-eh/rss.xml b/public_html/eh/eh/eh/eh-eh/rss.xml index 730478d..fd84a9a 100644 --- a/public_html/eh/eh/eh/eh-eh/rss.xml +++ b/public_html/eh/eh/eh/eh-eh/rss.xml @@ -6,7 +6,7 @@ Here I post random stuff. en-us Mon, 12 Jan 2026 00:00:00 +0100 -Thu, 12 Feb 2026 04:03:34 +0100 +Thu, 12 Feb 2026 17:20:07 +0100 https://www.rssboard.org/rss-specification pandoc n.gude@posteo.de (Never) diff --git a/public_html/eh/eh/eh/eh-eh/rsync-android.html b/public_html/eh/eh/eh/eh-eh/rsync-android.html index 1da00bb..9106ad6 100644 --- a/public_html/eh/eh/eh/eh-eh/rsync-android.html +++ b/public_html/eh/eh/eh/eh-eh/rsync-android.html @@ -93,8 +93,8 @@

    Using rsync on Android to syncronise my Music diff --git a/public_html/eh/eh/eh/eh-eh/styles/images/shark-top-small.png b/public_html/eh/eh/eh/eh-eh/styles/images/shark-top-small.png index 56e8624ce8590bf09a2372dc3b516cef08ea8ae5..a08fa2320a2da4c620bfca9f403a3319d066ebbc 100644 GIT binary patch literal 29918 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 z zubT~PzEn{3TVC<|!3N+@oI4M_0M4qYj`aBhkH5B~;Cgz`Vt^9FJm-y68?7+RdY~1I zYo4Bjip0D#dZzcEV^JzSi|wSl^J4Ml%DBumg6!2| zcK;u^6hjzbn>7g~8HwW5YGSs$RoP{2wzJOu7*X>^TH}g{Gq&P3y}}%h-FYn&E_7op zlr6et$BG)q7SEhDdrIJ7PQ+LNGc6HY?#2GS;u{t;q3xW~>!mOOID5)F8E|qt z={w;95z&8m{nRIew@%F;Br2#Zvw9dpcvPQ7_T1G1W1MwztQ6WBUL^0u3_iw7Qr)L! zql~hI6>DDcoFA}MMRHBdSc2?Y&tUi+UvSM0B^^7tg^+FQ7>{<$#A~H=X5j8SrWsCn z##1i2pyR-vMt0YrLY|0>x}~M&UI}D9QMF~p9M6r+Z3P{7)D$Y2`hp!PEA@nwEcp@V zOq7F=O8peuuM9LRAjfRTKA5eKFuB+RXw zFp{HhLPtu?mdAWY#fp@z9fIL-3mFF&q{KGY9XQfgfDToH7L9R5g4p+Gq-U#z7g`fsnDKeFXDe-tp> z$EHOBd7TL?9%fP=pSPBjPaHUtxw9Ko$b}nb%#2HMdtUMABU|p$lL9I)Nr)q*q+~%& zNr^-9_e?jiy1S+}D)PwDb z)~_4P4qksYQdUSO0z9;xx&b2C2Smi}U@YqFIT*1u*@8Fxs6V7y&HOzs<@ILiyTkvW zVxuuLraa}0oQ^ZbEQrYYo(XHA?>SfeNefb-n+j?1Yxxlxxo$UD zoULxd$2{e?bRwKbG)#zzSWBVP@QjojVh(KilHYJnrYb0`ZMpAZ_j(EY!Q_9O;fE+; zE3B_zK|{xTo~fiGh~%DeE4y7jm^0)J><`77j(7Tzh4puL54O|RVn+SoH}0#N`k0~) zbPGj%#}va{UW-6jV$UyL1O+EI6m)mX3}aJruD5Awo-0!-yxm zr6Z@|lNQn`8P9k_%RAskIYGan;~yv}xu;;wzvI92oL?zDwKc1Idy?_h4T`(F2ZE5+ zk`#`W&@DCBJhhid5bSJhm1F=T$JpPB*s`|;&)LBe8~fz#32K$J<<0QeX$Wz4G5UOg zTAd;N?D{9>{5>n~C^>M$H{9Zwb70DI&bd?~*#~yqYiq9XOi0;q$(SwQ@`i*ho^zZ6 zAdfOh26hOnv#jBJYyJrO;zyh-(R9NT$+=QuG9ot2+2N^q&zP326q6N89CKV*V8L(iYdLYkqCqJltuq6za zlul_|z5eaMugNI{kuoTCx#H(E#GLVh7kuK5d-kk|$oQ5!4&=OHA-dP|gc&;~thuo! zvTpEhj7|R%@XE~qUwgt!BBpFPBcWr%oQMVYazH@GOG>uv6yaRb@L2rXh?I<)l|r-n z&VV0rr}&309ZR7RXF@$-!;TwX60zYs4qWLqHs!s^Sx)zX_Q4?74Rpn=V!ALMx6=ug pvym+}n9)~EWr;Alwznlkam%*GofqOD{m_I|#*$Am(%kpQ{@} zOJ_o8Z59Y^1=Z)h4Z@E(0-E* zh*_X)Wf*(%gB2z$d(WIXJ9+Lh9mYeGPc2(w$_mjABbS#mFu;8RW-u@;Uks65;S8ny WK|bMH0rlVt@yVN)hfSWc$_oHo+&SI= diff --git a/public_html/eh/eh/eh/eh-eh/styles/style.css b/public_html/eh/eh/eh/eh-eh/styles/style.css index 2d2da1f..19b96ca 100644 --- a/public_html/eh/eh/eh/eh-eh/styles/style.css +++ b/public_html/eh/eh/eh/eh-eh/styles/style.css @@ -1,41 +1,38 @@ :root { --foreground: #1a1a1a; --background: #fdfdfdf0; - --border: #c9c9c9; + --html-border: #c9c9c9; --html-background: #e3e3e3; --blockquote-text: #606060; --blockquote-border: #e6e6e6; - --button-border: #e3e3e3; - --button-background: #d0d0d0; + --button-primary: #e3e3e3; + --button-secondary: #d0d0d0; } @media (prefers-color-scheme: dark) { :root { --foreground: #fdfdfd; --background: #1a1a1af0; - --border: #4c4c4c; - --html-background: #303030; + --html-border: #4c4c4c; + --html-background: #2b2a33; --blockquote-text: #e6e6e6; --blockquote-border: #606060; - --button-border: #4c4c4c; - --button-background: #404040; + --button-primary: #4c4c4c; + --button-secondary: #404040; } } html { color: var(--foreground); - /*background: url("recursion.gif");*/ background: var(--html-background); - background-repeat: repeat-y; - background-size: cover; font-family: serif; font-size: 14pt; } body { background-color: var(--background); - border: solid 1px var(--border); + border: solid 1px var(--html-border); margin: 0 auto; max-width: 48em; padding-left: 50pt; @@ -61,19 +58,33 @@ body { justify-content: space-between; background: url("images/shark-top-small.png"); background-size: contain; - border: 4pt ridge var(--border); + border: 1pt solid var(--html-border); } #page-header a { - padding: 4pt; color: var(--foreground); - background-color: var(--button-background); - border: 2pt outset var(--button-border); + padding: 4pt; text-decoration: none; } -#page-header a:active { - border: 2pt inset var(--button-border) +.page-header-button { + background: linear-gradient(to bottom, var(--button-primary) 0%, var(--button-secondary) 100%); + border: 1pt solid var(--blockquote-border); + border-radius: 4pt; +} + +.page-header-button:active { + background: linear-gradient(to bottom, var(--button-secondary) 0%, var(--button-primary) 100%); +} + +.rss-button { + background: linear-gradient(to bottom, #fb9d3a 0%, #d95c29 100%); + border: 1pt solid #f2994f; + border-radius: 4pt; +} + +.rss-button:active { + background: linear-gradient(to bottom, #d95c29 0%, #fb9d3a 100%); } #articles ul { @@ -82,24 +93,25 @@ body { #articles li { list-style: none; - display: block; } .articles-header { + margin: 8pt 0 4pt 0; +} + +.articles-footer { + margin-top: 4pt; display: flex; - flex-direction: row; - flex-wrap: nowrap; justify-content: space-between; } .articles-title { - margin: 8pt 0 4pt 0; font-size: 14pt; font-weight: bold; } .articles-author { - margin: 12pt 0 4pt 0; + font-style: italic; } .articles-summary { @@ -107,12 +119,11 @@ body { } .articles-date { - margin: 0; text-align: right; } #page-footer { - border: 4pt ridge var(--border); + border: 1pt solid var(--html-border); background: url("images/shark-top-small.png"); background-size: contain; display: flex; @@ -125,22 +136,6 @@ body { align-items: center; } -/* -#TOC { - padding: 24px; -} - -section { - display: flex; - flex-direction: row; -} - -article { - padding: 12px; - overflow: auto; -} -*/ - @media (max-width: 600px) { body { font-size: 0.9em; diff --git a/styles/images/shark-top-small.png b/styles/images/shark-top-small.png index 56e8624ce8590bf09a2372dc3b516cef08ea8ae5..a08fa2320a2da4c620bfca9f403a3319d066ebbc 100644 GIT binary patch literal 29918 zcmV)`Kz_f8P)z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUy32;bRa{vG?BLDy{BLR4&KXw2B00(qQO+^Rl0t^r=Dz&kHlmGxA z07*naRCwBqy+^Yo$$F;uxQ9-4ROxEnw{KqoWtf2xT#;Ci3$D4CUsHdJE7AzFv7wF8 z0CENZ2UoSY=&CMVM`T8Zbmzj~jEu<4#!SO-tLli%jBxi)yy6S<7h4lM3?4)H&*^VQ z|BCQ<44&P8Uf(x3{hY_*hwp&FVf3BwyLR;Z46kQKzcK#p-S_P9Y5eGC_J1D##_k=% zpG;oej6VDB-v&cOOgVYI-D?^QGd8-G-B$t(bmdMz1;kBt7xu zGfX$>dh(uT@~(%+BI3_k5|ML3iNoVbX)#zVhD)||&x=b{PJbgDtUt?fvcR4i^6~PBHo1`|aos zUNz<(a|(JkbUG9XEjH{J1mbG7Jt7Sb_hB9bK!|bC*B;S38O7zhS%Pug@`i>96bq3^5J{qOCK-j z@kOC6=z;zyfcr_*m@Ye`6y@m;mfj4X-HiSYkWG@y_>~jRdB80tH8Cv?Lk*NTGQhB* zA>o`gOBP&{jJDPOKrb^^l*`4D~@Q+yDF{J|Uwgq9w!7QL|DV&;va^Ej^daSu>}mCLNZ2TI;yc zHSI(8zCx&JM&GxSrJml2aT?y&HGbFz*5f7_yqo0bu(WPe%z51KVW*+WP0lGp7}^JX zhZ}NPPQm-pKK6JvToI2V(KzVZgUaDl!2YTK%%n^^KI!8#XeM>V^!)jQ7-L3vAmU>( z43}IHQ{$L(kD8p6f&~$dmI%0|!(ut7W;yx<`wC`yp2M}fN%D!5@cig(kGF^!{mp9C z_OI@S)Mc;?VR>99@3YM~81AFQbZPyt!2V?-(|Dtq6GbFP6@Wj8VCJA~^piMqYNL$P$#_%zNXDFm6&EZ>frJ?m31@W7Sz_2w zV(Ex57&5Y>Q#{^ScJ#S+TOu5wcT}S-Gc6n)c2b1z>!SS~i-sf+o5}g|!w#ELE_@X88@R6&HrSK zIBpq_ziW<4R}MC}s+sZidMP5z;llZ!woTB?eDbmx1+Aa zoWKRlWJB!kQ>0pMSM1r*#*IcG-}o*XAU4DKvZGzbuv_{`#%E|G><9-u1ahWX)J!UM z1I%~}z~_3U@a{8xg60STu%ksgRi`roq5My5ic|IfK7mBT#`XuH()=s2VSn#F=RP?x z9iE087AzI#W^Cz*=;$ao2Wqak;Es}W;?b+RQA(ZSq-Fv_jn`opzxVgikJ7a{aYbg7 zBn$@I5Bu01Wo|!N-0}9<14g@-wLfu2IM^D7O!@yQt5LA?wEErdAiSF+NO#)cn4>&> zD*pJBAkwZWawi+yL#X!@^our7OHYfX#4)GC(Wstr^lT{UuxzP`xKGBMid@ldnl`5i z%}k2x{fXZLx@Od+nIT2{37WA_a$`{3;jjiruN&ZqNsbD+eK;`(pv=BK;UFPli|rY zryv3xjk=bBp_*IZ+XNx2rRbgI-I7w1!MX55zB;fgKLlR9D_vus0T2kK+8$uXZ+hS=OiS|07J?-2{ncUNLi|_^<>QH*^;y6EghH4xDXU% zCTIS*Cpnec#^tdabqManeKDYeblO!-G0($-oKfFzM&aHJCqEhp zCbMS(_Y|%@f?pZIEq3T3{Xx+cjdH0wAX9d)7puXX^GL50<1qC64s@H$q`;Yy$~#cg zjY6V1qJODqbA3*CMBj~MM;Ar zCglSiPx!-d4SsY*oV==OcHg5h)ArB|yvVL#-y;NpHQBFhynESbIL~4EtWLO_Kru$Q zpc?@wc6eJif;0}>v~c4tc?%f6CefY@ALfQ1v;kg>LYWyU2@c}{2X*|IJvgRT{Sl+b z0k3eJB+LXS^b=NO|F4)ikT55q13CnB{-X8>dGbyGI z-`O4j)l-CE%*WUXmSIL)VOLy6#N++l6VVMB1^iG__=EFiMnVs#pXrZ4*29LyvB6=; zczV!?eFs27HGJUsfC3r^uqhohEqKg{5bsZ7f78fvc&j;)2B!)DBP`R>W2togIgXeM zKCr@26A@9fA?BV6z#KzF4|JRn^N{x=BF&8Gq2oklCe=+MV9lJQ(CuhDjaMzASCWZv z*g(+q!;(8m2BwhCnCWwqw#kh^B0s^*+!2p=L5;`rGx6ZN-F(M40Nms4@Cxl{S?nnM z?U1j{5;06P4O4dDlrUz-84;PH0IbP~hi2u~+G>5xG2BNdPv zH6GD~FL0AvKb4Ave+O;MCnK`M<9R_3L<1~hg@~C6(lD(J#)a9Kx;2wVZz>e?C!)$& z^kNRqy_xXvQ%+)cjSnz58Zu&9z*ACkM~`JgLPJYML&O~=j;HiIB*#%xbBhykG-dQo z;f;ROydB5c-KyDPp-+j$tkyRgVrc9~3KB0w%#3#0?&L*70c0jQ@KD$1MjzOYZnz<* z!~maDj9vw5{uvKE4 zW0C;OM7wlIOpW1Bf1oe&KM6LCm*QAav?rlGF*Of3Ct^i{BO%3;kQ1?B1#I!8Y_W9A zh$x8$yd|gRhJvSL2j}0P&_CLf&FVB#?AQc|R4Yv>yhvw%{|eR)GEhHS;JwnPKB_^d zVSb8SnG<@O@VAw2X#jwC8dZh{@Qn8pqGQ@_`AMQ;(k1UVlQ|JKPv5NQ1iZ~r-)~N& z95ZUxU`9@k!?7hL#*qRyv{YDTJYvBaPk2N^s;`!;`9MUAX93h?+#j)i$0{bHMYWT3 zv`fHd!u;6*wDXe#>khcn0c-RVet3M!c3r=l)Zx3AJ*0d6&}AO8_~ER)$7A`~@Ug<5 zFS!K_7XvpwRTFVUVD43h_DHm8N0IEX*c;Q={Q-6Aj|A`jK!jxuny*kr=akHukq+;8 zOG8Slil`DtkYcecBnByIC|Qs&C#B<@`-3d@u$Uf4B6lDfJ!EEg_a~Yxy&o$6@n#z6 zW-nDRqY}a&v=q}|xUUMPLCGET*keg)N{Yd7pL?Sq?CAL|23T-CTylD#H?RjPdGiy> z9y3|^XL^dZx9~=-w{-_!BCnLov zOUd|qF+T?$;)p4T)m?9BRBTmL)L0BDIX#w$EuIf-FeLQcP*GB|rs4dcBs~<}xFI&$ zp&9p5Z5)fk{YXl`#~I^64CaOg+wM-iJE^2GBMQ=tTqS-K^!=pR@{{niTev$su;Aga zEImDr-{CPVRQ_?0{mtaOn}a&tpTO=o0iR5{#8bepJqos*@D3dN3o7ob+P=WzNhz4q zQjn0ap%vV-#pB3HI3wo@C)Ys59hRCoF{|O;_@CIC2yXKu*{vCL8;m6GJESC@Y+8Fz zsX>AXY~W4?Hm;=mqei4xbKxhYh&j*!*@HUV0%x*B{VKfW5HW6e4#1o@N9CGVpz@6HhH(RUx*PB(-(|{Ce90xZvU)UlGCFQ)nd8_}(~$`9y zTY5Z}m>KVJTu~f3d`^8jf0Cdc|IG~?Za)I)81XcIqBsVX4R!+Y*a=EzNBP7aC~3_R zS?do{#taXnJRBtGAyWkac%e(*Yu0v2#GO3tQMG~~mPLFN-I zb217t&dGp|k~{9$kWaF?eb^QYxT0U?=T?DaK6Fpr2^D$JLlS z;Uo%;U_Z$I_pfXB0e4&g+9O#eD*DWU@N&#!nsG9 zEinx@#3U?8h)HR%6kIW5DM+@&k&v-e=gvsYI~Bj#gDk)2SmF^zXeXuOE=jjTCE+og z578pti;m2QfEZf~dS(B95?cKc9>)>z7?yFtEfDeftRSrC}>iQ%B1+Eru9F z&IUt9#5Hp=933$$a_(qINGLJ%)OakL&Nz9fENNI?%oG~LA zz?xIiw?n?;(6=y_eov#soR7KBXWWpnpx`y|CGUcs!O3V5jqs+iO=QX>pH|IH`{=PS zBjOz%!zao*y9;RfFL(@}@_KZd_cryONTVraVI0H^{y=50-%^~w06B6MgCXafgc)a4 zSQ-p55hV~&(O`+NWSo(3!37a9HRm|s10KUI3uivmP5q_|6d`!*?LqsdQ%+S!#C>8}^%5Y9Y$}KClWJ276?zX3; zC8HqWmJJmJ9X%->Z^%g{eKS}#SRT;xmUCiOG}>xswA?VGV@XCyf@3zZb-4o-)NxDe zCwJVi;2cBF3Qxlof23#2H64zQ3mO)*+;Ob~u-Qw(+z{Y*?0A3VOBpw0_GANcC_G5i z|KI0w;#q6?jns56Mkg~mFh3n8AtpD&ACa>hRWOH5+=55sWJF}NbfkE;%E}!b5iw^h zNCZx$%(}OYuU8qaYwM!Au2Gg@ZDq! zm=jjc`+Pz~M@q*XDTa=QPBxWR3coLD+2SdQftHwzJI*=hh8RmlO-Dh+SG2@fa-bEm znd0d*0jOk)q2-({hB+N;3SvAxEl|;sux7>w=2Td6avC}!Jaal~3VDqpAm)k{2_JaE z3u^Az4kYhm=G7Al$Zi10bNAP7KbAtq9x%AdOjoPnk@|} zZ%DbqQDHfk0^yF1TjnHKa$;&$lvLb^bn>LE@XSIH$WQ`Kd45AYIMRWPllzT!H`h`F$+mOLd1&sK*g7|T$19s#gmYVQH|)C10A<42kmr= zW672l!;CEnYf>WpTt-ey&w_@6i2IU^N6cB0^NtG%IZNi^7lJ+K0k;@tT;hmubX0f> zQaU=;vYgCtRNUwHG|VY@tF6?rrsR@1rqjna2eM>`9e_hS(h2ShEO+E-I~-;J1&{R# zz3Thl%Ng+cgmcFq^uCP7%}uEwJJJGLQaWK>hr?uYu7EX`UcI=%a|c*DI-tdnFvpQm za!W+Z2FFYus9S0t(o0YCJ&(De$8twagj09mu#_Ye#BAv(2L7%iVnc)_ zVMR?#MaB&^8zK^*=Drr$a6!z589gx>2@Mv*jEam0bW|)w{iJ+D!G@fI7RQE%I5HyU zL|7KUODtP@ENkAAV2Qht7bO}^mXm1s$d&FV>Y?d$n{l^&$y+>zpJ^1*u3EU|djKBs z{Q>)CMk-(?axy#e05h;+4A?-J^p}%Kg4qpQImYk-!-9fq99weL@hK5kv~)zAaR!_d zv!>=8%bc1I#GKJ{rk2T2Q3JgSx!?lYFejk}5;9s6wRjy3b5aRL-!Z3Go^R-66069W z@qvVnl1nPJzUR~ek$N&(3>A)oM4PZDVnqX_yyKkLT+z|<5eeV%ffY57(eNd&xh9uV z$x;FDSkTe2A)^XN;GXLXPJnSR_9srKnHa^#@XpwW+GB|MWKv@|zLA5@OlS!|;;8)u z!Jn3cW>QS<+r$#XjE^yteBiytPlWT9F(;-c8{}X!BEBZ(5fwLhwnR7@I$|nfo{;jI zJC?kc2tK3ZJrxNH)_loa9KbCp9WfC#mYNt(PDw{h$A)vZMAR%ONr^Nr3Mv{h3^f^! z1sz)&O0339wA>OA)6n6_G<9ePJ7r2;JvmEF8ocHK@0nql^PZFi5iuPZzocVJGE6;8 zX>?y~fWD3gA^DN2e`+1)XfkIsF^TOK=S-6~cMgEv5^wl+zy~?f_Kmm0Sjl$G$k`(c zq+`wZtXMF|QEDz%_)bhM&8{QnieD1ZvgC#uOD{=xhQSRBx}@O(_`n-(=rH6WST8B? zL|p54EJi~iBeo>;WRzsAXju#V^(^u9)U+fLkCbFM?&!H8#Zr=zk#S8Ubzw|GNyJ8a ziQNRX7Dp`e%zfT*M#mW)Jv}i!F)1|$mS<9XoF$18(s)UMxl#&f8Eh(2cW+XsKMamfksRS;bPOo0jQxOxh zAto7AzD9^)2SjA_I67*e9sux^H6@VpfC^aA6Vqv{q_pHi3A<&f0XgBl&)852Kd6Xk ziK)1vW5G2S+#{!~O?_?}_06b;Gxiai;c*TZq z_>2_G9S+A@Htw7)jycfMuq9^AJ1h|imV}a992cAs^MRU5dD-GMvrNOlHRFy1OG$)h&5V`>H!6qE znDcm{D`f+aX1^v@}E1%t7)FOHEBgj3*V; zzMH%d12rWXmI%j|?GV&gAQf>$!v>@67l}N#YVN!`4o`;Gh2EYk9@28bmX2CU zBO@aR94&^31v4TS+rdEW4k%r7AkN(P@{N%3XkuvIZIP4;kL3~PLt*)jm)zp9@&`O+ zO~n;|$v0Z+f1n+C*8JcN98)8aq5>m)z#oiM@*2GqjIM9_!0*Yq&w}q*an6d4h}RUP z%GDbzz2q(}AMo^~Y>7xouw;}hnXBr5M};SmFE1t{rJ*J#;#z%yrx2$QX<@y(gIFA4 zLI!NLq%&=|IVpFn$S|xZ@Vud>q!N0V>&l%>r(Se(=t5F*Jf50Qc%TEEaLbYgPsx^o z4K??uutel+!kj=iagm)u*`}A8pD9iQ=>?P#{$PR8VjhtV;IYQ@7bw`SnO%E6x9@*2Z?X8b9Z-|>i7tmwJX;D$~c zD&me_fUu)w%bbdi3tASeFcNoWIC2~bB^fn6J(iR;4IK$H5*j*s7I-R9J<>^*?eWYM zM}xE^;ucTGjGmO7TUM$YavoAq;&I%ND)|~>QW88LNLZ-YH6)}Y#N5&F8c!#r!C*+a zB4Il)l#h7Lf^)J^1n#B7(Sh;Gj%L-4b!x{``jY{f%LKmO!{KRoLy2Ln5Ebz0msmcd zcneqH!{!pm)XTlceY;|)OPCTP07TDn$BB>J2+2WLk z?{i7RzwnsPdBkg=U_nAAfHzXWjD%O7%hHjNQ?kU+4yCFQ*%Yel9w)TXiHPwUA8)j@ z0YHvO=rL4-rL|S#7Mw!~mY8<1<5bibQrSoy9WAB${@rLeuV%7Q`xuFPu~Hp|5f)B9 z?9lT>czPE*i9w?gs2lWg-N+u+Pvn>$Skh8WaDaj(1rKqoNJ-h?6n1J6D?RtPBPFKM z&8T?8h6^5%^DX~C!c#0uZj@}&p~6onsBv_>KbU*FgQVj@#FCKG&|*1bLoKcCjE0)G zykkqlU-AV7DgPHUEHio<9A`Kn36D}>Nrod+Zy%7lUd3QYFbxrgngw33l2WQB50N26 z)?S9u-K6k@N(w(qWadU9bg#-H#xfJP z(<*uenA>tgE`@TBCwlS>yR(8!QNJ-0XAgXJhEG`WZurTZD;{%2!9w`cf*d2^bfW&a zCL+e8sOwc*3uVc&TOI$({nd>yL&hd))Xn0gjrR@vBTvv#Yw#folwwj0b$h1sO30ONS-H zV0b_=Jaa4;avq#(t$>`so7H^JjL&$$1wUeW#8-UJJ8i~(fTrx^5ma84a~L(ZOJ6aL z&-oy%0up*)K`x)p4qn=_#( zmJjsOy#)+9z%zl_@)9)}aw05$$9rCL$M5+aA9&4k?tqv?NV*{=9-Iq)cn((~1LkfH zX-z|mrz0ES)1F3ACxqK`J|!XMj32mS#Sd6w-BOPwWllsY185L-)*@jm1z#fpNli>f zOe|#4kuay!9Dr=3Scr(|h{JX;r|=LDHys34P}OlB|?jZ;7%5+5_C&{8Z!w03H) zwz{Yo=&5m3WHdx%EVvaKl}Yx{lJlSWh#NBgoCjDQ@c;35I;*=!r7@JJhE9VQx2lgD z@!dPxC&((^(a~Y0vI(_LL&u-;B{2(b_*?!b-m)fRMM+5^X$X{@aZMt{P)g5I8@DGV zQO6!Ix|q9R`#4%M9EOF8)lA}$gbptOSS>MrE&ZWaR^BL)Z0JacSkO}I(RB%i63>bS zmP|V2o{CHvy;1ZH{a8;;LPASJsj8!5$$Q>VNN*55d}gd4P5a$7IZPhiXhuH0pk=vW z!HS#}3nH#4#CJQXUVBj1vvjI}TY2Xj;o}xhM<+>BP0u+G`4ykBBI5xIzSYCm%xDm8 zh)0*|ouQ}IoO}x;n%Q?jJwQDSTc{D0vgXg|sd>WRa!t;fISn-nau!;!NLXDuARX^C z5iG@%vB5JZ!?MAV(x~JNUZ3zZ!iWS%ORW$;lXjpLi;$>SsHsSXtE8Yuul8c3wiFph)={J=l*n){U8@fyd1m`1mt% zV!q~|aHNVd(NHWp65Z5@hE_#qFK>P&7or!o5p&Kf{tH`P@fmAw$(ZBWlF$;9(9^M! zl*CivB);%$F>J6@v{;o`mV!zlxZ;L{L<1ya!CnCbavCNXHf=fZ3gHnmmRNML0Wxk# zSqhnO)XcCHw89oT-M^ZilR> zN8W2g26Vo_(~+{`mQsCgr|l7|=MP7X+o)ly1YGbX|2q+1;JKy8u$Abt zrlMh?`Xb{V8MidLu7rvVBl(9P5Q&CPaVP^SsVusof(mG3M9Laeq_#pYJM|Ps@6ZvG z3dxJr%4KRl13S4CfoIra#P=D&$*`rT7~b2H0@q}MgHpx55%N7hV6LW>>n zlkhp8Q4q7>wH9gbZrhm`g6d_Z2f=kJ#X=F5>AcVN5tGr>(GJH0w$z+)$)90J`5ABd z4}8!P*7P_Gg|d7wIoQG7x7(}>N-8oUTHz028_n=k5>Nas|B*lAbGG~i_xKn7Bax`9 zj%3)}Jw2B=UQ&xG*x*U<020*;}?GvZm#1RY=Cv zBsem$e={;VI%zB#&RB~=4&`c3LZ)JM!5fxX9I3t%QIq26*r*l?3aJnUphr;f;Ui$p z=*fM%)1UH~D^dzJtjU<^R;+31s3_?uX|SqVYdyZe(GX$j1pjz_G*2fvvzOT_^x!Y4 z_&Fc5cJ84Hos16sy=1>VK;`p{B*qxajdS zZ_|UZ5WDIBW6M^=r+mQzL(7&koCwT2T4lFLoq9{lnp(Hr(aED?gtjHjR2C%~v=ET7 zjs-oI887(_ula#j{DF=OzSFeA@woc%jIL{S$Dsk6bIwOR=0~>F+=*i|5=)p#R}M9o zc$OqQC+7DGo&mg0#o!xKoO<$167WRAj(h4q5P=o8!;P5!QZ^1F*rz4aoIpd%hMJmM zr{1W8FO)=J%@wVzCZTceDcH&{P%@{Iw6h|^GbbV@(IzU%sfjUi0d0w?>6no*qamTh zQLrU)(UWJHZ4O+w_Fw?HWyL34aYhR)NJ%I-(?FtLOn0ZsHzA z!m@@3HyeJ%mUAj9JpYN8Li{V?35F##hC3F5xIzrfu+${9^77r%NmhGJ?yE?!prF5h7ICeJG*=NhrzBTx(CWHxHIMjQbwv<+|P08*%6rJu}|(11(D&zvDT-=9X7_7y|-l ztWwNOqRUQb*sgK?gc~d|C9iPIwMk}JDy57+qJ|vS??wyzomGnA+FUZxE#On8h&u1Z6IdoW^jA;wr zQqZx)$||;-xSXk@=tU$aLP62PE5f5X@3>DwtUJ)KaM9Ce#!e@G?BSM}6_0sJMueqc zCI`$$AZU+arSS?|H8&ecAuHAF(PSV~r>)T{8$024x%&6ux{sN0!3+MtZ`qRad*(F! zfdxxFcc;;FcrIw@uq?GDJ)hB%%6AuTNJlLACI~cpVU;zn`Fqazl8%avelOI|UM*UT zBc=iM;CIYOS;z<;#N(X`((pKpM9&WkXS)})yVWZ~t*u^D0HvIPnGn>TGj&m3#?GDQ z!ARV`JC>eWdLSoU(hY=jp>5RRNacFi=pN5_qfL|Hu`Xtq4m6$y94rz~I2WBzGQ-m| z$KzNG&k8U)zrhAsNUtB!k_u`x%9NP^m|7Z|e$cr()!doPX_;o_JmxpN;xUHL`3O@@fJ&uf;Ej24zR=lJqVa}R6KGpOQSWzm~*kPVuNI$y=)%`jD1BR9b8{V;Dp+wm0 zX{IF^5j8QEI}!{xESPb@hK+iffVsu8fLmH-bP|hLk-BKp_e2WrF?TA|B7HRw#kaIT zLrS64fP6-+21=zAqMky58wNs#L{Q6{Y{Za;!4;k@55&9lL{w^8p(c9z4C^MN*djgh z^aPp_BRfO5*B9X01lg z7g)383)XCS&xVE@oX*!{dMcjsmXeZKC16L-yMaHvAeTMs9z7+74K3%=*Li-;|H@}L z&T04=zg0#L%aLKpm;)6nnX!5zrJtCL8$AOcKrpEoz!s<4s8-+)KHy|{wu;eIj$XWk zC6=wE)>DL194l(J>Uo@K9!nwU$4hWil1suC>^5P5#Lk(pq7smlvZYZcVMSrp7&;d{ zedeqg{5890(cI$^_gJvtY;eZ~iAW*bu3}BknvJBN{UDz9wB$p>wKHKiVyzqcL7-sC zNwFAiloVPCv;$_94i8E{=dWma#fp1GlsGyNG-T=dg$6G|Bj_m->R&4)hZNJ}simX~ zmeG#iGvh5ihUd(cr+d{v4JjRl#~4-GB^?-hrzRqkNW)7a zj>bKNqY*IFEs274Dl1t;N-sNmhUG?iJ(fkZl{yGkv?|PJc(#f>kx2Jm_$8{!yv*TPoH6Tr+&wvKjsNn%*ZsuGg3uqh^VNkWrg;GUoF@iV_Hq!=oILaVf<98lBXY< zo|SHg6IQ-^WK1JKDNq(U&$;0pmS6K*D(1Y9+1xA7CaUmLW>j=o9?`Rq^Q9vure{u# z<%|f&1MVwy+MkGo+$V2vznF}XAVur)$HCxpXp5IfjV9pa-;1zfB9D(N^y-r;$tiMv9 zkWjM~gp$i*6|jNN1zoiiSb9ET&QreTE7m;WH7zS5^5LNiJsA-REjb$&at{UN@K*TT zR-LuckQhTES7M|pAr?Rr=&eX`Dbo0ugqV($govD+xhkTJmiH`4*y^5#?XlIJN=S&w zSPt`nV>y)VXzE%;MmtPlFQ{1ZjtATkQDa>6_?fl)XUg5<7u+YJ(2{iYz?GV#S~|Iy zmKa#mVA-m^onaNYdIjA(4NbPpF|?ycPBo+F5gWm-j)=9Ir4=0xOT`U;$tV2xT=G5N zsqmRe+%TgWP{b9M^#Hvz%De@C!uNuzW^B3U4hEfH#UuVlzT^Q zN}!)Z4S$QJq7>_DMTWIl8Y=k?jC2r*fcQ==Zm0=tkc1fhblZBMBBl?-zzI21$`!>H3+VM+p&$uav{4&a!MA4u6yG9UVHD{)50 zOr&=BdL_Nonv6SY;TK+Tu@OMzg$0B`RE?G}BcUMIaJpm|%h6z&NdXYEP$KAAb3r5N zdgvu)I3h}BG|Y6aV-jv8FR2t|0*jbv#sIX;C6!$d$0Kvm$IqPg7?%8k&xi%>CTe9; zJp?r)BPAx%JUui^$CCwV;fcd!2`UNy(Iz`n!=sZkVrOe@ zb%tvaViIcR)S5A#YAl7N))<&X)NYEA`FtyaKKy^D)V$DBOhSUSoU5oP;w)px7DLxdUe`0hK-uLW&m(v*29xO;=we! z(+U*o*9)O`5snRO3DlwiqK}B#=wXwdl9ZMeEi+=aQZ|OUrMZT12Mt8v3g(m)biCk_ zI{1lXT# zMMJ||9JeGm3St`mgCvp16Ns3fJMVWtG&q`^ux==w|yV`y2u zW|b#&tYvfWRNFk@1G9kPK7Ll%pYthmIarimtIq`qoJqo zrC3GckFD}_Bc+YeO+e&pD^jPTqLrezWk#)ns3YZn<^hj*&I^q?vBM;ze@n+3!LD08 z9rra1$+OVl=QD0t(TXAoW-v?42YNbQFyjj<8s73FDc7thIK$9Lcvj+wX^BX26q>qG zD}sd+JIBeGxtr3P2}JIsEAq0r^zt6I(jvoF2gMDC$VeELYPeLW<-;_=ih@R`yBnq* zglvDO16t6LvL(Z5D7T?vA+Rc;VHQ^0MPEMq+&&-|_~A4=Bb?AHNvm7Y4?(?q#gaJ< zj+|T}G9AT$f`*b}7;%VBbg#chdVp*+7$Ch&OW`?UhFIepJ81|@9`OLfhWkXk0It|l zFr(v&h#QtTTJCYi4I64486WXhr|L@P2$;)@XF21XQtaCk?(u)~jt_Lh^9#NFec_4U zr6N=;{Gl7bpU?};^k~QoM%bE%33H+du zu%jmCLVjszFf65AHmWT`WNeA3ltQ*rYSh%UI355s?_KoYJ^R!aEQr-r&bgMZKhrSP zTQ;OD=yBwnlaZ)>3joWRW@A~Q`8^ehP`VJlT1~97!;Fj`GYo_XMcs}pc4||+d^Hx& zr@Z4MzUS|`FKy&#SL#*Q*?{w;bQqg9eYMM@E@J#nDQ3=?qva-Xl z*;uWz6`^w_Wl^Nmy8-5M0=0VRgr(Ma+8MW`%t_R@_3}lm$p;z!IX`ki#XFw!!o?qx zv((3lsJT_&K9~2j5=itxl|j#3BVLy*$=OQyP}9&U{KZ(-;+~u`W+X7f6N?V<1L(P6 zO-CcJBIsdLGM@5=k`nj@_xOf)YsdU9Z`a~o>&UaVdiV%t!W%XE58Oe+2_6Sx#ad95bqMKqKuh=Qfb=+Zs2(L93in}!*7sExxz)wZ-G-0~M(FyoSc%QfHeM-4(; z;e?e3a^r58H<(F)-4b&~C26SD;HH4YJ037&gX4yO=8PGy_?q9c>gU}+iCVgafF;hQ2W})(Z*cMi?&_e>z_n~Kq$Ipk z{bS@Yw9*ge0^@IJD9G`8FpX2o9UAkFUcmG}YuZ8QY#3p1Ng>-(!dzrb5E9fHZ48cc zh3k?Y#|DMn*v|paOOHp&@-r$A9LA zg0D${SImh?S+eB;D?BS@A}nc2gbm@p9|=0YIOo6&=7|NpMuw8ygRywZHmKJ%R; zA|rCn;Ov#q)mhE!Y2iItKH;i_nP(asjiQiS-KmpYaxZtiT*p?}Y6qzKGOy&^t z9nU=UhrP~@oAw6*mYBhed(YYX9oBkQ$xbuMf{GRYH=ol86cw^y$5w_;yXlzF(y*nJ z$fa@%v!q-=d!aKT?GLJ5tS5<2YTVG7<9?f?FtNi=l{j&#Q2&p&zZ}Qeod^&mlc58 z4gM0tUBw=>a-kJEB5l=czsf+heWO$4Hqb0k$z$}0RJsOy4R?FtSL{b%EAW?W`8i*+ z;*xV(?vV1is%^{bgee<*W|aE74q|L*7*P_dnDf+(8D?HE^_?E9ZW62Y~$74l6 zORmP&m*At);3<&LpwWZexCL$`(*K~^v7e#Ey9U~RG>)FyiBV{Uv!#@omJ`%yUlCH% zkZEC*QYmMkqmpc-CSwHD>=?5nC15KmNl8qrC3wUQmt5@OcYD0f|LfDn1p1oClw<^4 zGNBenGht4^l8`YyQxYyUNgfkWYiC_kx?|f;0|Nym`EG)R(*f1mf*S{8X%yI0OD2Yj z$3RWf5%0(+_&a*;@dY~xPI4DT8)~>*kdo8m@h4Q0LpD-5{g4em<(L=xlAchqrDaae zjw$crb3{c(L@F#}D)2(7lF^QFcSN*u0(yE8T222N`TA;?lsXck8ol2LEHU`}t=Tpe zLc$8Yt-}8{$6=~-3yy@J>ougFsN!BaNwmhT8<(#WNYux{HaYkU%2j7H0$837(S5s@Zt_IItRL=Edyxf>0)j5eMl zT`rJ`vR3JZ=(W#pC4oaQZ`>qynEE#wLFbH!Sdo*mAsit8J`3LCgp>{6vm=lesA4N6@fx3oW9Hll$XL0(m?5U2PXyRxr-XtsR77}ufzNvqr9EN9_iSpC9^(K2AOJ~3K~!m(a?ML>eCDh$++{;e zModZpJSJqvv5wY`LtRvZld0iSq|lUKu;Ev%_+vid8yd!vv)g;w0`8~8Y}q;lRz>al z2&3(%{rg(MS|OE>ZB0W8auSTZ!-2%30kCxA+yq~)-$=W~h=vqTke3wLshutKiH%#Y|9iEPv8Z8Wa#9=3HYU(!-?&2vr|VfYfm z$jP8=uYJspCrs!SSM`9D3rbpf|)9Y1%JdVN_u|4nzfKn9UaEedv7Sk z?nXtTO#-muks&kGf*OX5g49LM<}{3%5K_@nW1Q8_e!;O?#!O|Sm3Z4qDyAW&BxFZV z!65~S<|an%;gUn8mT%>#jyCFQaOSV0CPblfneWQD}Xk0v!UeyZwP6*VoA?|fJ}y#r|fiHc^VXrMKe6-x4h5K$as&K z&xK#{lpoNrQ?IjCXVc@eaU{Q33dm9#MI*tyHKHdP@rJ4;j5I!_93sgK}$KX zr$b0ZML|SEsd$M_*X2aB{+5O%2Xv%t)y6`_3$7eE)6*4TZh_mK!4(pzCUrdpQ%M?U zY%$E_<~36FCGz3d(!xL^SVJNTPbj~Bq_m4#j(7t^nhG{|O>8bip0fH%McEk}ALZqEQAYa$^MJYFbk14&hDeL%MFm@#8S&BD#^ z?P@A#M@gve$f}z|RRtX}i5}XTgq%VIaF1)1iZwf6BnOjy5k`z1WTKEAWJFBC0b>FJ zM(oIR(sV4etXts=G-;U2Zf3Es31bXf)+|UdZ1|o_UBaz^Ti#y2t4B-VF_uBgz6UnV z@=E6FBRmQMi8O5!GbSfwPDnvQL8k8C>e;RCbzlt?>R1Ch$v)6QAGmX&7F<2hxTAN{ ztw7NXz7EFk`7tZrXT}$NL(38$!;DMa$(PQYcBP5C-RWi8$fsngIndwnKCdyvtYoYF z8zRPZJa+bpOp1Sxn4FrDi4by`Zf(maDVQiEu2&m6W33bt`@s)@2_v%ipp&v{Uc*F% zZ7R^!0WA|+jfiXxSj_=jnms3S#(}Ks9SdG!m{75x=W8zah-%(jY2uv&Zu$S=G%?nk zluMPjV#k6*8g>F9-6&VfNb@pcqD4r;bbz7K zMbJx*ZVglxjcPUU-*QaK5s$e~E3aTn?s|?ApF>J!ymq0ep~}COmQwKNV>Zla6y@AV zW@VWicPRKFpGxi?GZsa;*MfGU6%m3(SL!lCu}%ucAUvjVr&&x$qLEmn`De}6*~bH? z#^^{`GuOEsx$eY*w^E&5ku*LYGnRN{_!thTiCA&K8Q-#YoYkHI1ZdniOoH6b|Bt7> zu||(Z?`T6Rfm2D$RNZ?>LQKk7e>|oq=SIS73wg52;S7(|aYs6N1%3VEM(v1k?0`;Z zORr|A(F4=#f%K%QtH}A5j+!MY?^E-w%9<%HJ%?n{*JT(!VW~}eqqlCL87HKyIpLTa zP04N%^nbyJyyiWg(GtsV8#p?d-Pt4Dg`LhflFV2-qE90Jmo>U%l9$!0j9O+6*OqA@ zWFO904#$wvou*^$NL#ja)ar|dqu)N*R+K(t$sKa7s5`!L(CGdA*SBd;JlZN zGHO?NL`1}-#7elR@i?KPCzX|{5xeh3_K#X)lwQavPnvn7xmoB)!y`u&Fp5tYuoSIE zNxA$3nRbW6$JR(_@{m`o3HTcVMtrU3`H)N|k-*teGjeKe!hBj5j44Q1kkOE{rqKGx zbFr8K@AHt)sYtYz=?RtU-3rPy!4tu+!Pn%XQ%X{(QSZ>Z4B18{H6uK+P7zNe738jV zMzoGCDJ3Zxfwa>lJ~e1_DifiQL?d5tNid3WVaOx!T)-2jO8@hE96qKAu_1norlIV-F zOR!vhzWtgOppkILmPD46Ue>h6F`Pph3`e|Tj>j1<1eodnN%U{KhyHW951rZ4a)Xag zssVEDi#fCz(pou`Y|TaLv9DQ)8a-lt(<|NBI1XUZbXAb6^da86Gvy9WoBaTFBUV)scqWkuIG- zmPXLyfInwTN5Ys_q%@2j;31dvyHXqoHN5=+nSYb@+*HPPwKv6S3lEKzC- z(9$qhdiEeSO)yjvsf<)Wo>TFVl9+pBe5;K+yepF`95^;mN5sEX+h@aIJr!?(#A^p^ zH0bgKOvt!q!Iqz}Qu=QvoJ}L~Mz5)UFArnyc%e2>s&_>2t;*72$I(bT;W@7~4!Kj4 zkO}yNn4W>gJQ1-{gA6{YuAD&K(^$D8HkAANtq`yMJQbry&f5#$hzYu&Vd^X(V-i;S z8f#jn5;inklFQ&&DXeV62E$a^v|2LifJ){DPcy}KZ}{suDKieh5GbT+Ciz*<&e1tr zLTW8+?IL-~3rZ3WSa6RSSE?g^M8P#79@kp@wDcVDTXKmbdp80t=osUZGbN?s2>~xi z$bdP2M#|sP@l(FhGP%XmS1?rGu>drl<_@V81x7@}T5Ye#NF%cf!-SZEQqfLmfn2d6 zBxXY_t+K^Hrg((pjAdjs$|6kJ$pVu|2LwGEHoV^3!8BU-^seLgT)kx^#|G%C_ z#tMu>=}kR-Ofy=xOi9>sMo7X~&$F+I-5A40HM&uw6gbp;NJ1?IP$xBR<3>J4(=bnq z=uRKVK*5MKE*TciTlw<;ge!7#K4(G086%D;c*d4WjPFXdL`TY6=aYphJ*K9RKzv3f zK(j~3PAy}?8-B-@$M`I`aSEnFN?uQ_z*3n+wV*mJDIEnpHIar_Ry8!zLdSY5D#iqO zTK)7g+j$fc)T}i~kAYriNJ}C?i=D2NT2!S(;xJY`e>ebKQa4KyyqYG~&yO3KqE7YS84 zpfhZfSZEi}>bfiRFw|1`+htHB?cX4LwKdL;T=%#Yv?au}ykVo)=ItOa9N=?^1M%It zFrfAPe}C#34V$(V#CrMBG#Jq0^G4#xGs`-H7VAI%_KN-4O} zO>6XocCH+;Op;#p$H=*3L&4XE(QQe^&oDe<#B+W_C5KVRjDiIT8x3I&3D`2?kN6Ic zyWG%m$WvakR0K<-#xobDeMif4e#0dmC;TBRb~Mx!`rsN_tbF+vVz((ULP_+BdahI@ z86lY~M*&3MsbNGF(s9ilw$w~1H3GK!$yha1BcS9ZYc@hdeh{?%lNhuh!l{(PMRyKIFj3`C@we+1# z7TT#`jIAE?MofX7s{2eTrk%3GJzbhx5-J)}a$N^IEtWlU&0%VNjbpysqp;aIOzR#- zT$<7#%^#9SZv((gOvi{h2h7M>E83w4=8Py<(Q!!Y3X4S6rQ2$^CefU~SGvWJRS^=A z%4r+YvQSr#n~3#d>qP`g=JwPDTPNX4g6C8z-w6?aOv*bv<&0Mft2*X=4%DD|L|pM3 zJjNITeoe_S6M6zZBB$hBg_9@4#+(nGv(ezQW6O#k@Qg!x3jJL(Ez5fetzkkd>qShe zhZJJ5JNAcMp^oBGn3mW9d1vHA^lS)a_wp6NQAkp+BCq$#&`z94dqmg+g~ajxD-z#u8uNvQ7qxoq`G@&WXr0i%RH(h8(;7 zohPt~4UzElJa05W4)=npMVcjIgqx|idR~RKGxzE!G;S`0;Y^Gc--NT zD|#Zfjwje^&M*k@Tj#*+ohYoAzc~mcDhenRP;9+iGdA7>KEcp?PW5{eD$AmeWJO1`SV<%)&O^>TR_ z-s1w;kWxDS05Y$8>Zptx4Rt!pjkE#&e>$yA&y;}F?YlbNbqz3g)nu}lmz&UO zW4@Dfzm@%?bD4FqTAP4UEYU!-{!RvQ8+2-a>V_o^TYL;_6;vT5nXZP8@0oMWZ}?|C z;I+1holv z>&xm9X_6nRn-~*QGj)}Vt^X4>f30R8gFi3CsEuArh+9%frd{d?@AdDu6=WIT?Zo_wMOoM0V;7qsC=A`gjC&eCt0VC8^UTGV{Q2^HUQhdCKPsFb6 z4J|9qc|*^A#lsK#{Y$;=ji^lh-sBJcv)*3p-tbs-o&TRsb5rY!o4BKGFnO1>9O$dD zVNh#ndvSGU&z3O|OFU|;eoxz{PT0uCWd-&ExLWH(CpS*gIZ<$?`{97DRDy z@Oz}3@C`j9#salQijGg*tge+Ee5x1+#6OF5uScNv7Lmg|-O7z}Ks>3fkYJ=&h2Q9M zDQG3D>nVB7Ics{>Jkcd#>--U41C7v?p0W-^)L{%f42U~B2QU(8wQOlgIc7q_ z0*_-JV_36esX5hDu`jVCjR8Ayu7o0v)N}5%r)#ti@H7M4vQc7Pz=)EFF%!+r&RDZ# zM@h|6f6-P7<$)R0Q1dP!|D2!m`)oPawK05PRy(+sXXpo{bUXxV?lH$`w{PK!a{{S> zKIPculXk3mmml#75BQ0!owXv|I!E>{**GOb$C??DUJ-j~psyF!VgdK=3K@|SvZa)k z@V>HD1MLp2q0`f1ejqPzdCoNr35H%$n1LiP;(bjGBKK0ZZt`y&{&!yqU`0AUCKnOQ zYIR>H6cGN`0lt`r2~en-q0tJB^&ih}sUiTAc!|s{n>- z!T+mM-&jpt=)C$H3t%l5P z8QA%Md0H8}a;+uWK=H`AqK-XHuI$do~`xND`E_D=6K9BQOE@|@GoGDbh+4p+P))VG~1ErD{e$2x7D{#$;g>cOUC5V95gg+G$h(! z6bxUh77B&LiT2V$Iu~;>BKrS2L%fW6M*0kpocX1-*3I#;LG6w+LoW z8#E*}bcCJ%SEm@?(X2a{^|MtbX5>PY?0~VRkg?j{R=LP?JyTjH9J&lk<6J$ZN}r5| z33GC%+3&QG>nS+mh?RcPAsKt1`u3{DJ!&>o{4d<$5gV?#aT9`_e%*me;%V+}OWex+ z`bSJD>3GD3oScWel;hDjLHd->6bF?G!?cxJ5m5&#nY%)nzbvaW5gaCwO6tv16lgpT7;ZCV~f=KsCjK_kW9UD3#X0%N4Dfgt~mWmU)hR=T8 zrNpD2?xk1`xZ3u;MwFybv}0*3aWnFsA@Y9!h=DE9mMwP=<-839IM+ zT&G!YyGLn;z6(5-gv8WT;(ys)Kq%jio!r@}o5iorXxI{p=WRFOBYo5>QvKOp$izg# z38Q>~Lvn4kYN_LD;pcLC4iqS3^~jBGY){)otAv?z$=`CqmGJA{p4BPV6vL-x$p~M; z$|ae+zCJB0m9f9i8NVeY;7W+9j?Yxeb+W$>!s}WFPurMQ%+y}>YO3tpK31-H!-yTB zbW83d&LbGF6wa*cn+o8m<=sgTyt;ly}rX#K^VQu zO7+~B%-1~7ND$VkK==Rrv@;0hHcXFgm%7usXMi8{vPBJ$!(JQ1oQQ-GJ4qg5GHOAR z>~!8*PL`~tf%o*W`r3Ng$yuP4%8*5zsNwW-LSd{zPp<9OZ*%2cmvGQBBC^aJzmUu+0Iiq4hz>EWY8s?<3 zQN((WZ3|*O>ZM3~wICCNF**?192Jl=nXG-0g^l_JPmffG$1nLg@LPV%RBoa|EbblW zEQMo&wfubxJjVPUhMps8?h4|((VJ-Zn8OG2nE#WXbDssi+E&Km9`Z#=XYC1)k zSgTVgNkizukBwrVBkog)+hIxMwYFTIOk{xuK$Sf2k@FP#x>E~2;t3xU@sO{$R?j;a zpT^8svfzYk0zGKfOZ&N~eLEiUk~KbKkqzVY_jq?EYu6p3DT_J$inTiocQE0yY;F!d5s0J8fq-Q+UFTZ8Xp-_;uSa+3} zb~mzjdrpqH6%ca4cbtJf|Fmz0S3XXQ_JyBLwmMBbCLRdi#^3#PyiY4vdpH=B>g zjx&7VjR5K%PlaW-I-E5PpK(D?!&(YrD`g+4U`n}UN5y^YjwBHCpwz8tFRfvc88W3O z#v^Aei=EvBWD2hHNSP5c5r`|6x~M0{$7jts-}9aP5yr{6Jty7rB=s_`pevPVH zq78;e1aw?-Pbvm;d)V(ag8lv==r2!uv(v6W5xCecgVwTWhRVhBb)5LRDgs4DLMR4q zk0DX24s2vLYgprn0Mb#2U2mKs&@dvTk{7NM-lUVca@ebTdx0}COV05*Cg3|NJSOg+ z?6mJ+(-TQGS2)vI@9t4g^F@2&{79Ehi_d@LDbLvQiVb7EhdWB9RJ4k8AE59f+1Yy% z4Z~x#)7B0;!Dq}Gm{3rX($L^DV<%0;Gro0SqS-5Fy*)+mAmnt%Hi@jCJpo7hUpkH9 zFI6+#K0ZSaFzg7;?WfQM8FPiA#S}`U98iQPCe@dBrq;hGS0e3>f(eE~!pKm19!~__ zPBAVv{K;+{EzC4m;nr#s7m&&n>M2nmVob$Gvw&DFn0++=luubQC8p(=Qq5`W`uL7Z zdX1cW=NYuE?wp(vJu6atmb%D(%UITuj-CY*j`^SXOeu7P_L6#Kl*D5E44?~NbBchH zNH|ubLUcsIp=Jqz*!~@b;$Sbi$AJsqwlecTjb<ZYAeq9^>M(`$InFGb#e6T(O|0A;zQTgq7Z}H31(Ga_)lKdI>=-kZB-! zcH;5i@=uHu5|MmX4KqgSib8cowp6_$*Rbd6RnWv!LYZ$MU9o@&EP z9>~uqBY;+5(b#^~D_-GY&=5jO4~Cqyn(Tgor~z zm1QxNLT4wknuR)38bKa2u}>^P&8Cjnw567g1J;zpWW-$2a49ZH&zW1C`>GgjcXpj? z+-~)Jw^6cZ9CJ<2GoH#xWgmeLc>&Zs;N_nCdZ;aMs0iDG_zzC6ji=3&FAG+nxP>9- zqm19UkNJLb;@&*k3jqV8VhOGkhw}m{5^(hm331#1tGcX2*n_o(r8<_HFrh z^nAvO7ep)=X-4OX4?H9Rc#3qiD_H9u&X`D;J@CGLRZ0;{R~u|talv}8Iv?KAj{W>b z%T^j*D*{a^xne@X5g|9q%53xt zd-|Xd9wHK?F;X;5r>TUEMNddLdOZPSMl@8aNNNuF7u4M4@2GTmqfrbh7%O5Kx{V;xJvkc!BA!Xb zWc`NL6%{D9?Hy7&maI5n!c<0#Oq0CnUiho;dJ`KE5xX_)Ep{tlOGU?uo|=+Z+)%1o zz{NoIdp^Fv`5eq1SHbM9nme5i_Hl_7igUztFa0^;Oe>~h@85I_;lABFn9hH6+8Zlo zymYC3jdZ?^NTHedvneBdEl8|iuGS$H({V$FPst@I0THD{-9r{04zgTG{^4t2WYxrh zf>l~N#9}`SShT+xIMkqOpG+nsTnaM7X=aR`y*Ncat_&1(2|f-vF4g{$1?E# z$#@61wI9~B``Vp;Pt48UJ8VN@=TvyqJlgx;eGIR46}9kI)!)g%X%~Qf7uZ91&THU; zJDf9P#)^i8;6yeHcT1{4hK(O|FHiP#2_PAYIY0WxWE_6DW@8m=6iq zvLd!}0d{!gE-bpy8{ay}SSM)8ghNh9=s2dOcY((>up;1)PE3$OtzRG#c&ipPCSb=- zxtE?yl4!n|OIK`Xm52NT6>HwmFy%QN2?x}~jL4a?5rL>vU2PO>VY3TTau&>3QBtv{ zq#@T{-bUa>;+vLI_?3b&8>MiDieK&|>}bez<@nSRv{(|tiVbHJPQcl_!LjcW&ig&p zPUnU{y()EIzroPL?OzFoo}7s?g-)Dq!m^8AgSbxiYzUk}$cUxXVLD@V?MoUw-T|iE zCDqF2hK3R!kCc>*fxE0n*lL~olzXC#wOn&0b)F}as70qmqzZ6aQHy$C zicv7s!M>dNjbJSH&vL_^9lF$;k4{@B~;1= z_FZ{pH3fyn$DJ%)txC*J@mO}9lj#B5=|l;Xk6h!Cu;Y7PajiXT=g7%Jn6>I~y_ubx zPol@fb1rL7L#*yCMPI9*WdGZ51U#iF4u!UNr>uwW1;zdi;l{tx3o++~-3b zWhp&trg*COYeHr+E|eNNTCYwe=U>YOkg=wsWW`bkI%*nYInzt+`g-|+tR^_Cd%j)wPGk#o$9C1Z}c(l+u$ zC0fjagj7r3LDO8TB&)Q&OyzVoB7Q~^bu_Ng@^uHl(uO3FT?JS44Td=1F;YDT&q7~$ z>nel5C4r+(AaMMjUIAP7WIlE)V4JCWL&u1b3?n#qHn(R;=f8V;WNfb2?=f+!$AEw{ ziLg4sm0FF3LzXlGLs{IR&y}E%sYXMoYc!5E90~+xnu?qevZZ6HcF<;j9x;`R0I7*f z7d-E|`_8sw&$z>sOD@=HKY_Bc?N{**9XlR#MaKa>H7DFqQ*#YeT&c*4$dn3rz?49k zn@%*Z-bLOvdLJ8IN+W7!Du-)DzVB48-0+4e2V608u@}8t%ov?Z0~rn1n|BT!LPJFz&7 zc6Qc?+2WD&ir?da3+@teE<5R6e6~y|FeFsmVNJ)129JV{4IAwSEc(q84C90!(vqq6 z8Q^ht_HU(K8AiFuBl!ke;bn{-h=ruz4J*zm+=ANjRcM}$XF41@Svo#vtEcUn zoeH@_#*73#DcImqa3eUP9okML>FhK@X_N+>IbD6C;bloqC1<;J#`J=u8AZEz%!Oia zG9$+JX`oSL1|!V%VKCPqdfm_bS^>6Oj1YFM(Sr)I|;O$%(cKuIiY zZLJlk^~zb7K`(9Mic6*xblecKRG>VXR*rN^9pK4fpNdM>C`V`@X;g$<%L{qJObf9_ z=F)}{4HE+85-ynHQP2}nlM*RZ-mbd7rlDZLnkzo$nj3z}Yg%D!jXvGp<)Yo{a*Uh! z`z}m=SOx8~zS-Ln1P)S%UY9W?9$Ox{fG&F}y`*>cQ_o54g5h!N{70vqiTDGDM7C>* z-*K&)dJsb2D5%U1Lvv~-BpfgzqNgLH5}$X=M$fh-YD|>_>XC6lBb;%GhsPb6wMN>7 zHB{Q4RpMl%g0Bqba0`9B#|_Z%8pCr*ECy$TIB17(8i8{j1d!ICts+_uB8#2vgU$ca!${b6C43!))+0*}zIitj5My{mu-Zg_N0-v6G<^%4# zzk&^P{Cgl^%t{IzEBabf3L3RxO-3#e*oYCShQmf`o|O=dHZ{x!t@>hkT6uS*S>v1u z8+x`9UwBg5+nGTiv3l$%ojY=TKBDIb91!wKX(gUCzrMyfnF8ny5fuw+N+JSY0Pm3z z5y-L*cX`5?kOLCtnovf>j4(Pw?6H5Jm>nw#HpWaTsaO%PrDv^PeNE1S5g+h5AMgoZ zV0c$Zt=soD+~aoNzUe~=ZX8oI&==Rc6Tov4&)X$&&VguQ4={K-aeZQ5;p@`fM@MVc z(ggt_?`W7ZAe_Ha=@H%jgQ{Q)UgI$*mieM!3qrbEC+kK~xUmMp2^&&s77C!w*=ew} z;W;@O0dqn|?0C(Hgkw@l3MQoNm^vwl_5WrVTF!Vt%hznENEBSt6Y>ZAf20&tDmi{p>&A}V{SAd$tXGC6-&Nh zM#D$EU`x#--Z0{XG1vT~)>EG_rscoOJ?sfrGgR|NKB=K57-*iJ+R;vpqwoAw$b>dr zBfVg{8xF)V?dUlsA*W@mn!?CsX|$K|KRkVG9`5a?8Y=#t4#SkSG%>BKL@mnAn!HOk zaszK<2=~SHjW}RI#Y}phhLVKuDP`S0rs4%(vt&(6#x;k$$Ao7rsd>Z&cZ8iAG1sLt zV7kM21I9 zhQ}3KF%yQYKI`(2DOgi5;We-n>F*U!R4472g2)6V4IA$8A%_@FSn~_s=li=N)YOqQLrLr!!X^Au}UFXW1do~rw%wIBhWz0j$IeL!wF*w zX8NLYZWt*s5vJVH@4VC6yAp$J%$SrVZ@A$;6@SQgyr=qmO2ZpkKH^=T6H#-?T>}1q zhm48oSnCq#+#B9I-9Bz}=xg@ZYK`n^UEI6vfN|ro2?ae{o=Q_;>x?PSX=s^Hs;~2; zWrDEt|Mc{!iS{yOYW`lLg52@{Z*QJqmu1{qaYz*|T@%?WxMc{4iTPIe)CY1F2de2K zl}0IJPPoS>{D6-*kRzZXWF&%dE%m+~lD^9eMaW-~aiz*3b>gR95A2Y{m8rAnY4wh@ z`p=#jAMk{`+yU0CL^My_7Sd2saZXFcH4zb8HKaXPOqmk!0z)ZA&uc0+WUR>eF&8X3 z!DB(dh7*3m5h)QzbZp23f@s}?fHQRAC?B1h{lEQ%_s)-S>-7mmBs$Taq0>g;N|;LD z4a)7_#JeHF-pHlkxo!xiuHKPWh4&1=mZEy1+VL;Ma)i9C%~ zH0aCgbn1B0I^N?49JAm?s=f<+5=QjQ@OjOYmz#& z2ZX%hMtjmVJxg}vjDRnBk1L+?TB405cX-4Bsoc}gdCYHIi#Y5$aGQHi%Ut6W551Jp zy~Dr_1ENj`yA{+-nCnXKFvR4nq>k$MrjOutL8svgI@H#hzrWGss+XV{EhDVuAe6b$ zYRv=f@O;J3{T<+Q$cPzZ9x1T(fRrgd1z(eJh+#xT!E3%$psN*E`Yv1w?+NyrTF%>;u@Pt@fjuxMHctK0SjJ3Ko&#jr= zg0P|IOFbQ#O0eOF-}alec3ZdoL96{-CrReuQhB3%j!&73Ms9&I@A3{YHFpR&1df<% zp8qQC8f=I$~ETCA`OP=~+?nT>r!YOFrb+ z)O-$ntE80whn~NtpkhhE0e{JV<|+S$rD(!NGr~r1b-U;7A2P@rxtVSs1NICbHo>jp z6_2$??eLg#pYK%{G){1COU^x!@HN*mFJA1ir6Tu%8P{~Q#Hy@~hPIvJWsE%do~GK3 z96`0~H2#qT{xt{OP_W~iPdU?JJLU<;9J9iZ@RB7rD&DMQbHi&MlXA^(`86pQ_}s_i zU7kthX9eX(4}o!19y{Lp2N}Ci2Hz8orSG}qzVv%rLU#CEFlB{L&3B}87<@nQqjuTH8!mtuHd)kx%_g1^u;wAq>4J10GdaYo;yed zbIuh@HY^C(@fmNpWW%Q%QATo%Am~3l8|sEn`AH;6nmN zTyaE1&m}VgW-R4^fS&g#xDg`H;w&C0u03JPj+z73E|GTw{E~Cc;a<^kBJ;LZaC8T5)Q+wrWL2}ZLrlqrOOEv#26!B* h1RQuR_F^~9{|`-kt@7z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUy32;bRa{vG?BLDy{BLR4&KXw2B00(qQO+^Rl0UQkj40h+=XaE2p z07*naRCwCNy;qZE$$jnj%iR8$s_JSx1J1w@ATG!YlDd*^gdU^^Md(23>iCE9iCc>+x@4=U=D)nAd*y`}`A5d>USRWd_T5@6Qwr`m~34=+vKrC)CUdR6s$X z#}lZqSUSMa(J==G{vlnlfp@s>A8^af&V4<;yT?~(($m`cGv*;T`Tno9dp~H><%N51 zbl6)8cdy>PxNz@<{mcF_@33H|o4)@u!`|!6YZtTOBW74i&S>?y3r0K^gW;SGN1*45 zC#=bE?{(b{zjsyPo=>&AUE}Wxd)wJ!?cR^?{wt)%c=uQh0js~Ay3pxz!o3$4j@D&H z{uYnv-5&M3zMp^NPwnrX`(9}|r>4TQ)k6y8jCck{ay%7=hs-bx6lCvly#dJHaubD} zO*f{$+nul5{qPeGZlXCE?vM9^dCQMr4*pe>69{BfhneV)4E^tROT$~FiTIA$Jv$C8 z6-(B13}lRW3_Z{iC;-Ejk%BWe%xPGqPi)@e3idyleT&zdy}Mxcw&Y#X&JP2c*;_T{ z;5&C;+27sat%Cc0__UOCczt~YiWJ)3zhVgYKA_hxfVW8%25|Sj_mW4HI4lDN2FJi0 zDDZfN?GeX04I63(`ke?6-uRpM(~^75&zZgFvRkDczs8cXNqi9gL?Lnbu*1U>Q%4Xr-p}=z!~S{40swY=qV|vnPCYyEU;q4 zU|BFwzg5IK+*$$q+WQoCmW|nq??%ty?n&6)yniZNo1?Fuy4Y|cl!lWZ;BLwEy1)hJ z)cX30^S2D&<_%vr|3XXU{v~ilK|{fUB@G3TQr1JYVsdURk8N`~CJJ z@7M;u{ZGB_@z2!gZP;STS<(R|9@whYthgcYiUl5zC8Iz3eQ%fiZr_*&r-U6|`wEK< zJHx*4O z%^4kzhLVb!9z%y?#XteHcq}=Vo|kOMu{iDHyY_P@Grw2qdn#p^qyOFA=9ZnDuwVD@ zX6)mh-@N8h%o{GS&{rR^OusYZ12tsjJ9HJ_9~$s>rQ&^&$8t_Z!-6H3oU>%m!<+*> zBd}(qB5*;EVMP{i|IXEggSPZtKAAb#qGqpiyAS5$uJ zZ2)+-SE|&C3&UHy!yg;szi*uKAs19+0(n-$-wAesQ9te9GT5K~ z4dxwF25+4rUSFq=I7Tcjo<`6QRI~&|}-Wl}WUt3XOaSUV> zK*Xkj5rK|Th@4Pxy6!^bNj|Fz`Ox~H%D!@KWO{*UwI4++2e| z)9W($1pC&U?S(AQHvr68e-GK-oJeM`$I9RTk7Y(iP7N4JmgMvpa-d|UP30-5adcGl zyuxu#&GIM-ybF$c8k-46&u=#h96n2XjO+WIojLW4hq=TY1sU^}WKW?M<_A0P8VFqJ z!56geRJNJ-+}ZDk7o2|e1r6Y-F}T#^##V1hjRh8r49sb1$$>QkkNJ?xcVaf*Ty!6A zNVAt%&0h6p$oJQgc>}~^QVnT#9-c|~^yz(d_d6yGyX2v=RYt(z_)5Wad<)L)Z639G z$MA06Dj1)7&r9Z%1ZFq_feo1`--Z<>0~LWSIT<~3IywRw1=lz(dH&u}$Q%&#$M|hH zcttq)v>|o@CO!Ia!~ukp=(4|O{hhu|cYSW7`u_uRWvlqwHP=cEHz(Hj+m&eHonki@R4qPNRMA0K#V%!%v0|Nobd9=q%!Pklp!%jKs@8RpsTZG5&9~roB8P-@F zmR=xNi6^J#ngxcQjEs(!j0-%stf(-Gej^KV&e*;~yxP6)OvUBv+eLG5ug#wB!QN3c z(+m6&fUsXph7-V0c+KO#D^VH+_$QRJ-e!T7%vJm6 z%z!NwmW;V_#2<=a_q_Sg?AD^ykA5x@BNB144#pKToBflEo(fM zEja^D3V{tRo+o%NDGBrptnpeXZ*%S89Z`$0BVIE*Nq%=}lx!$j zQ3DMYPmkplB}-l&?a)8wbDI;3CEQb?SxzW|c7@3AI39uyxw7Pksm=6w zJm2Z-Hc>_9JqZv_qTm0Le=GwREU+xdRoe%0N-`Q2KnoOfSVk%`TCDyrmWC@T9`4-b z@ER~HyhCGa_BesNXL2avv*rYhyIVetCu?DIgh-hq@FDEAmzDk=0bo>eg4h19ck+Mu z9uPqDP60i zPOt&y0R9a-|20RQgSdcjue{Ujar$Ae_dlkH!pYWeD)+W(0Ie>^3IOiKrw?!aQQ!Pv z-}iyOTMb|+=%{HZQr)y>kPg@r=onQYSS&LvBN;6NElp}3&p6-VMBdZ_hI?uObEIE9 zr1Zjx$}Q&}Fd^(!lBdWab5h7~8iLJK=q$L{AweBp08qKp3ui(Z%#jS0canI&OJ5z{ zEA3<~B==lXs&!q^(vj2hK-AT1AoJj z#vttJg7d?|z#J8L;U0bIA#7w`qhf0W^gcU?DL4AqjesDtBN_>RL_&CX?%>@~0LxS0 z5>G~j#ghSBMhuQX2V__v$1-9GY$>>0V z4I`B#uOki^=?HjA3Ko={;b|H1^lY#UG^u2KUkUpzLgM!XKF7u3ZUi$C2s#ChhMku1 zJ}@+#(AAnFWf4@mO+O&t2~H-BHx-HxhgV=V}E>;8jg_v`;thw!(PlzXg+3*4uM~DGziAY zUwMa?#c7sHp^VdS`$pd_k4m_GWk7gK`sQDE9!E|Od)k0M7T69ahW4h&yC1LZU5J01A z2>y7W{C}M3j#Gj8S9;uU?j|fFD>}hHfip%1O3pO!bwS5S&cKRH^?pvlfTiY~iWyd& zf+wd)GZF9J#O{ko%>ft44!S!%xhCD?e7|zMf5z0{kCuu#NDlkhpGga#11!%HWgOr2 zn^c(idn(#fLF+W#9R4UU$4i;)83{C;QP6UOq1%f!Rt#pwNX3SNnw*i2no**#TSkd$ zO12nEGH%r%G0*i2yp+e@}hT*FR|UJ)nLKmN{NHe!&KdVI<>15>Kyr zz6D?KgqNJ-sCZ5Vv^*r|ikvHE(*GG1VHRk}X)&D9(c@GMkF=BwB8y?9l%TwR%>uZe zj(!{LAfx691+bu@Wyy?9i~#1fVh8r{fZYUOUNaE3yOYm&2^gO4O{RFB;{Zz`0{Rq% z8BQ=*r{@w+izdSxcK(uwbV;9Yg-tp<1J^*w1r;}(vBYvo#t)?WDOj=Q41*&FItEJS zbYyJkXf%$!<%|t2C7wb;k%1X486$;Q!3@JpD#AA-7WZZQ`$v2W9&pA7tSD)yc?mq@ z_hKcFM!>=eS)n;t1gD2c!@-gWSk?CrSnjRlQ2@{bZtfwO50~4qMTI%(Iq){gAg3m$ zWX6Eeq@JZul#an-$eEF|WJxA1PXJZ~3>z8-DrS^qT;u2&X=$m*n6YLi_M@fZB{gR_ zT6z|AcpL)-H7z+0=qPCDPsm}-Np$u8f^X`%q8KG8B3)AP7?@Mz*>b^_^E*Y*t{&(< zxp8=77UINklVQ#+V0d=0s9vb^U-IIfJ$wH=LU>Em@4gX^3kqg(1)01KymGizb2bC! zIC9p^=_s_wB7Nm>I0`Cq*0gj~IF)kOl;lD)4Tdc}mpHCjkWBhMYMb$CB^x478d{KBH&G$eLT0x|W?9!0hcU4%DQ_T9VzC@DNNj zJC!oPoU^?MG420LUL6US@6)q9MqA2QZI0VrcU; zN`JUGGUi-TvgRQpIe{$=BRxwlsCfufWE7O#VhJpH6(c}6+P(KljQ1s>?BUJkKtvXi zrWP>#$=IpKw7w`VY|N)LCf$F22YM-OOC;bs)@Wr6i9u@Ku@3} z14c4R*33C$MUJ7T$5Ybt5hEE!2!IpHAD7b{=;$zvENO)hZm7rzIGhH?3O3Z-($Hfm z$Z_g4V%IR~3}fXqry*m_170!GF{V$wq~eU4m(1|A)ZF438GtipEV$%50tGoE4LKvv zD7lR(U^l;;d)PsHv>3uk1a5Z-Va64PiVJm}@f@%<)uF5p*o=I#&6IgU5R)7&QluVKCbQFkm#FkTGLUuH`r*|>o;oO-jw6-c6)x{o3;C$8HP@fi&v!EN`d4RYceXlXxg|ZgT$SI zH9Ze;1S}cfaLF3SW56-Pj+}ywfefhWDR_XRXC~w!=POEDN|mGo=Xe?{4H35m)G2}`-0K*$`*r}oLbaxIR;pAv{c&}-iX&A{!0ZiKcLHj?ycL;Q!#x#3~KsXtl zA~9>(vD*)Zc)F`~qALr+FS%ZD@? z@>o&ev8o$-LBK7J3`fh7R)lX$k)UMg8KfgF@H99&MtT{?)Qqgj$QT$26l5AS^W+3d z4W0UgWdv3{;D!oI%`KT4LPyDuaCGE)qFXJgQP-0n*3sdB&o}qX`P`L_r`okjLa%88 zU|LRFUZnp2b*Q)5;{(lG2sAuB&uOTs2rBD*f}=(pL1BE(M_5K?tQfF3N-{=D**ZEh zEHeg{z=~_uIH1zwTT&6Q+%i(CK5u1q*HPdVi06!KXn}#ioRHiCGmVNDVhq<5SUPeF z3f4HR9(zuUrB%7?q~srDwv!Qfz%_F`b9ExIP|O*4%t*^es$j10Wb|w)q!!546A`3I zIYk4969~cmBVoHegA)Lh$r}q`;M*hy3vVd#%+ai`;n2*&q=}}u7+W=OnX-4Lkjak! zY0aN#7;D3br3T5lJA&ZYf|izok(?!-njB~)->fOvXhAzN#S~9ZM$VRuJl$lY;%-c^ zcP!SRPc}IPTY3To7xX}bC&Mw4k(1*zcH)3m8GriS3$}DpSN3F#Wb~ZjX}IN#3n~Up zEe&k3$$%r;^4U9|z;MDGDjdl@Lqg8XJ$OODP|^d22P%d}!6z**)NQv^oO7j}dVgxM zJKsO8Y(G>cjr#wLigVx*TNbpO)A2bs^n5L1dV|NaAqNTydOS5SGSHFHF<{8Zu;jFC z2rOBUb3-pYpu!T!bOnR9k`=0uu@x*^lF`d!&?fYtV*nf_o=U2Lni)Nvyam19w-$h& z<8j(RmWmA-R!d+@g`-it3M{C(7$^rUEd>um_H?w|=%G6X3_S%I8J?1noKE&Io{Su? zEk3Qd006Jm(m$dB`id1Rb(`Ryp3Ew4*#GdjeHL?IExN z)>Qlq!xvm|MT2K8;|7-`AsalSx|JyM=ovXQ&pjn06%Xm;GPEXFZDq*G$qC$&%bFsjujZ^7cuCMJ z7wRm|$>~^=G176#D;~0>*zE$$i8jj|h`!7L4j1-rd{9vnee*8x1V*mtcF`m73BTh(~^;~)+CVKv3ZNteT|hP7#jbGTz^JOM$b%pJ`<-H|K>z%!y5BPtAa%rlQBQp%&Cr(oq4oRJ0& zxk@$0X}v+F@@?O%LOk(CRG(_8tzY*n2$wEw%J9 z(X?sF$TvLX2Rz~xP*GD*lB?n_=_D128oEG9p+<3r(cIszvc8~7LtjRYVC=w32w^Pb zickm$n(7*-#?8_TpvlB4#_{<+_Ui(&M@CwLl7&wqm5MQ4o0WTrP3>u^;xXQrhyw<^ z&yV#!Q>VYn|NEU*E55SAD+J!jEh_vTEjqt*Si$7atg~-Eo52}W5VfT^`0rfR|&z0IeXB+*dR?oCahp&q$6XC z$J3CrrDDWVfoy2J0N|L~GNBMwgja;B)~P7b8woa^^hXf@joN9&pBr5BUkdl4Q{)M-sO;J9nr&_G#r;5^Ux4 z1X?UcL))=JxYB3(g8!D5KjBx&9J2u&wMNyh6R($R@pUv>x)pA$GX}p$HOU8_z67O?!G(KcbD9(=O zfTxTccYdZDK2wPE)OcQr@ydh+=AvQO80l!E5W`aNA9%=u2YkVrhm_*DjOJ*k?!+BE z{DNV}v@T=7bFEP873!Q!TBciHbB^OHp7L8Rsra0loS86(Qe#^2fvw26WiEJm&Mh-6 zHy9Rd$yh13XDMtKl&tU+tf&)?5jlw%gk!1LQ!vn|WgSGDH>`Bv)CjVanJC~Oeq+#) zGoFTkqo7fbVAWAXq_0TwvzW@ZI09=NIU5WkeO$6O?U!&;+jlAscr0hsDMMDN+!}>X zN1;^AV6oII7_k&IthJuwM2=yg3aO?E|t=`=$&}X`r zLEEEIQ&wPUg#yOdW91eQH3c13W^ z^JVnAB0Bg}JOfYoPux(krD0%TM#+o3wmz&hOh9HGC{7#F?`IvrLw(Kfq3_dxI;III`--R<1#m56r6geQJ=-hk0=O~>S*-y zMxSp?pU(lEpe3uqH(FN}GO8G;aTq*Z!~y&X9lhE4`W?^rh-Xw}%y~heWTrAKOGtbs zYlKP)AeX>YQXd_}zE?Xp5Di)PjLbRb=NJk;;);Kgzh?wkmH+@C07*naRLFE-s!1xN zh_f5*{JZNerM$V5iuiO?&8TJiD}KYrJf-6oJm5?IK56@-{4&bSJf3p`&o#K^r4^1d z&$({)q)PPKr4@zlW-Hm%MCBTx0S%>82eED`6e$KWrOASkl0Z$#h@+9VXwDXkS5H&o z$+X}s4Oh(41CN|vuTR~kxudlwEAKLgN}uZ z;lETZUXv+=W(tu`9@|koo$-Kg_?C~USmSxX1%dx(&$;MTqNZ}5@%heaN7HO>&r`0Y z5$Y3~03Gv`d;)X+dp7(nmt08UgA5x?0)3Zcn(^rvfm!kcyE{TRPW8p&Zy>|7WiH(v zD();99Ww?xNiu`#2uICUb%2vxZb*<%A+2!ybP@2i%IPJgqEhrE1;+y|r&g8!Mq?|3 zt{@~$;Z}@8_RCMO*-0a){ls9ow?dPq4oAHD{fRazsk!8wYl*FW>JUrVDU3Qz9p_pGhEc$GY}B?44C<1G zL^)L|d7)#8OTsp*6Nh?oEVZcWLCtgtDlT(v$yW7;s`i0<$IHkP;wfV3=&a{l3_ZHW>{(U0!~Isa6?YU zPk77&&KS8-AVt82<0Ed!lrMcsC6<+rqn(1T(~ZfL|1)Z}lpoNulzacLq*f{ww@S%E z4Qu8UVh9T!QDW%H8CjDPSc@F46a^-kXs>evLNdyY08*izycDjHD@w*b$ZIggve4bj zXs|fW8JV#qBa=aWsTky`D0FX~R0C0H9{Gf*E^s(1F^Qgmnk|;rXMg>Pv&XiKyN#e_ z!DB9IL~>;03Mjo~Pcz9DE%T|pP_Y!tmyBMnV6m;5fSECsO|fpxD7DvafRFfy51HZk zA(n5+6ns4up65Fqen=R>s9FCYI4Z}|@B!C~Mkv-qHsjy%5ufvnlJB^o#?xz3VA}sn zjgPft6sprJHDRSX?tDiH;l&1KiXKx^^6L3>4RCi1+Uv3CjB%k(5KaV%jL4)I>*5`Y z@Ke0f*j(m%@7SEibBkjsY4xcaHtNr;v*ji8US6vUlM$$=5i6Q1*rZ1@E=pEB|@zT@+qgV4jy zNyk(A8Im9~E|W`Ms^IxUvZ|gWAn^z%&p+~yWDGp!g*x#GaqK0VG{BmY4VDWQJg3m- zjwrlSf8#LH7WNXASq-8F?MJ5;ZL7y(HJVxpz?mqhc*d}iUU16Uakh8K6%7M(GFCJ? zfYRWpG=J#1RkZSokG&#f2dsFYL}fIPmi^@?#_pdox2v(KIp>jrO(nnooEAr^fVD`~ z_?Dn^F(Mm2=mYKIhogv{F*SEqA2#acM{(LU3tsXqpR%Ulb7}^@p`_HPrPEHDX;!Wh zOdNQqnO!HXe%L8dGgT{IuXxVysrdnpPLxSR+lI8vGQ5s}>Z!4;sVOvcv6OiHZZ5bL z3^q!e9PrF^hGQ1VmNhLhh zNTVXbgrZE8aTJV>qHL-}w>uTrUX~6egXG~6D9_a)7{SvUwaO6-7zp%S=qzKW6cFpQ zf$Xn7!R|}0t2Yk;SHP0M$T=GZ`g8!5$Foiq!Hj~QhLO2o=t1XrcQUU0 zpZF6T=M4Oie@;M3rXnpmZuF{b2Asqk(KX;!X8^=PHcv9Ips}q%BJhd1xWibpor$GU z!N12!9T*Gdh9Ql7c$JSv{9>QTWe98&GHc5#->X8pZth{K^Qa5g;eK{&A z6e<6$=zt}^pyh^&g$NX-GR%=m^?i)2_u|@C8&D-l!lj#z<1PQDW*DT zP;2!Vl>1voN^(jX#v~}qRJ+HjBnm`llp?>T>E+3l&nnjC3Fz*~$<--L$tV7d7mu=0 zI?YsbjLPz{A&v_$3PY;2-9}aY6T;x=#UvE0u|P3#0n?aL+(%0;)a;ciNbIHTqT*W?WRg6|lpbnf63 z03(ucjni=q0mG6lg`B&Lim;L%%Z!nM1=ko1ulSaq@HH<4nv9Ie_Bpn$TO4y*z9py8 zf{K!h4F!(1dV`q2CjKKzU!0oJP6MhWbj~TP53;3-$4j+}V@@S)On7mCrYC2ng%LFF zz9u6V@?gm^v;v-bk?2lzTpSO}saZ3lBWGa7I=Y^OMD7N`te4EF2~?bMh0zeR!$@$P zDQi_)k5lzM=wU{?!%6`$f*6B3X{$ZX4yP51z^Jg9F#@e%qQG;OoXctN1qHp_g$;qZ zY78&LAtZa15l^e)uT%vP6U<{)^sEKpc;GvJ!8r}T<^$IB%(Uz$XeXDjtYpQK3{T4~ zGjg^V9&oLGrd4GVmAi$2m|P2D)YZ&1urdlGSg=;XR%*9K;fRyEu$A;KQ!70sq9}2R zs>4dkiWnOP{dYoHJ8FisU1xMGx#AHw6l}5NVTYgzEck#KqlOeZef>;t+mSH`JS%-@ zL!qHWD-Yah_;{m(lw%dXNRaQO)6eCoX$4@!E@6emQn3(rU9;jBH2joT{F+X$%CU58 zGyoD8)eNuUM=zc%?#qw(tq7Hhmao-?OvhDr{DgCIW-R%ZzvOQfrTVIo5ik~3y(T^iX%M*$qO8YMwx$1 z9ZSIRSkzNwBL*q@%%K zl{yAST4`piTE9GytvKNMlWoxk6eYurz{}FR-lnh7FIYc`jk}4>dJ!@XXZb zk1A%J9$vJlopF^;;|S{C&j^fI9Iv=w&U1dxEiW0krXp7WT_`MP!s}wyKZwxsdL7L4 z`3glgpHMzaFO<`$=rv+Xg2XDhP(38+jL~$^Btp(0Lc0;8@6)`olf`YN3M77I62DDA zIHK8l8CXP$dqEp1JD*QH|5MJ%DQNLH8l7u7(8yiFCpCO4VPQe3EH@DznbffJw8vUK zu0rhpkPcADge64!X99;!vQ>{hy*(w@{5^9Xv*JeyPJx#qW)2`s4inE#|*mW%JN)nTvFIUqT$9!bkejOZv25hwhvm!ileCBBuV z%mf-|X_RfM!6Moh2frpMcXS?|)Ke2&m(i-*iej5lNjr|9<&wiV5zPoEaGF1irj{>Q zB&%8=;{zU3kkL~Ss4;ZpTnTN9ZZ(~HOsCl3qzN7g!sxQ31L&2*odlLX1!r_COcF^? z6U0WAZB~mcYGf|hvSiLBk2vR3IS+bnc2o>oHAok{5Ye<@tyU}0aLyNMULB4#L7B6} z;`oN2@{9ramY?z!S1cLj-ZjwB%S_I(JE0(&+B@{@XXHi6bE_S1B``oVP^-W>ou+N*8R(_j%Tmnn%1i8c zyr-=%f6^%wE`yH)NAmarP_uZ$*7oV0A!@s*?$q{a@1t3>DAc;!MO`sHq7Wm`5H|JM1wc0G0#DWA4xo$C7xgs z%UGd>qtphSZ0vd}rH@jY3Y(^xjSi{UN)lcX$fNLEbbF-lW3-=1{pfMzIge%JI6)YO zjU*fw+MQiG7^SCSNrB~-Ofad{ILOq6H?&G3ty)AcFcj7Pqn5$sG~g3l8zu*9Iox_2 zB`q)cA%=>7L(cCA%-B!}Nt>%57^um(;#Ru(GhS&|p(Yd6=|<<2+-jF@`Ho+UW4Po> z3(=C((IuUa5g^`^%fYABFYY{QQ zjV1&UX|yF{&Q{+aSaT+Qbgp|lq*T}gm1a1)%Hv1F1p zIR;j2DVX61l$@ypH7f6BEXn1nS1K!a>PWr9*O2r-MH;9!N)Z#59(JVL6L;ve&!2L| zGrr)TSn-Hn=j}8!Y+2FDSk38%=L)l4-L#V)J`Pdlsz@eFB|~7zl5-k5uIYKiHHCVW z=ZH->WejWSRpmzxzZXA0=@3G)d#RF?EeKDUM73ig%za81;5irGKd~4s zP~(MBW)h0_vZsy5Sj2M*rZM!0U6h)!Ff4e*f}R^*a_#dcRLq1nXY{PpXf;}iotl+v zA$?xzG{c+)6)h_=-GWimDH%q?*R|x{NG}vW;xzUV^y(;zn%sSiB1*v{uIT6q{FqBV zW5r7z@?&052#uUZLaw=B5X3WmtxSz#P(J|!PiPZUXT>4jaK?vpJmoX~FMiGgZsi^5 zMGjf98nK3+VI_o%;Ma|4uq6YA8`bAt=K+n<7&@V(CUNsoySGh~m~$Z~aTLvoNUHEO z7{%N{Wnq>qqbL7g)J4R@C>!wvTLwYiA)R7UVEC4G)DQp7Cxsn%n5|NPP(w!GM)`Ol zsv}m!o{DoCTGou@k{gV4nq(cd4=sa6u)|Jw95a5EWTc23GO9pGD&VaIrW=0FISmW` z4L5wnE7jwb;zl9Fu}{oqu4UjgtYXrv?Q|}HC$ONTC$Q!B)YLrZPx&1)p7Da3QGVWW z89VWonX+uotm)d;rFP4i$*O1&;E>5#-m}CrsKO82 z(rWnA%k(4&shY@_K{}a9W$TjWC)Wch#f%klxET}1KMitJJjC&9Zm9VQ1#nHNLTO;3 zK}wsBNGKAYIcQ?H)9`ALXU?6=aAe7iNUB@@Z+?TL)46|3wrqr&4HWVXb)s4siZ;b8Kk4*TSw*{zXjByss~8l-<1ooaGe0DSLxkW* zC2l8e@zi|R%oyo;$=8VvGi3kcC&rfAqZx)q6{2HgtE?XL*@8i1NEJ)DTvd$R$hF#} zvvMXi?4U|@;tMiW50e6SNRHiihRZ<-W1@QIEa-X8xulXGaL(64`UlSG1%4oN^|>C- z9mzD4aBWii&ZUv@ERy)cQSykE|47aSo@zhmykwZb1{yH zdJVdkQTSq)RL4G{rBR|fNOhbE8^}Q48I%0ON{#4~b>u8nTQL=6l9Uzn7|v9C4dire zG}0?z%x8b|$;?{qgC$E^W&AR^R1}gG4BTRQC`qCduGM3y(+KyVqtm?t-yj^@B!@hg z%p9!L{9eA7ljU)cOair$FX;FgUvSGSUf{SS=L^|28Cn%roq~Ol!Zm3!e;O9I$zjCE zPNCPi0q}y)c}2@5-vMitPPrhQK}w-XIqVa*5##_G(inU#(78-@jG4e3qq|h3DaA}3 zic4AA2y=Am4I-J_i9W6w1gCq+P%1`xDK9!|9a^(d+87kU0s}cKZspXT)So^-qbHZ# zxR#mN6$^UF9xOFIE774da$c!Roh#Ehp?zMwSdbRKNfWJ;WkW2EM$NrU446r5)-(ue zwU~mucLxT3#BZsn`GSvlM9o^1RoHR9i0Xqe8CCu%UvaIXFG@$B@`8^T_`M_{m#oz& zwcN7gLky4TW!4b$b(NesQ7|3EyHD<%QE)MNeyo!|H)wPgEefAp$tJ@XQn>e`aE? z&Y8RfY7tKH7@3V`8WD99$66yzR7fs5seqiin@nt+5v-o4;&3`b0^NyHgLPSw+}(oD0z$F%w7bI3#`A zpyH~8gvdJ$O+FZS ziJuP{*=m5h(*f=?Hrios2XL8uItQ7!#YFHIe3j7p48sc+EO?=XI`QvLqEWAS((4gV zN`yO4Q6pV~l@ehRY)y}8RB0V`#a6S@$bj0>B)!u@m_V79Xe}GPMznD*lwqV0C)lzS z#B6Y!sb`48w(em1(__GA|LZ5twzR5JCtsYvmKMjFij^o*uVJZzj(M7r$*6_MO}c-R z7%QiR71D6lAb2R~Bjut!Ix=R$#JrlpT;tu5n)wQ^Q+jGXpx_%#7p}P0KI$YKahi%B zF&-po@<3+U=dUUZ!ol&sWX2_JzYUOS8K!#)y zHHf|Q8pw{wVxe-_sW2_cFsuclkD`8RDf~vUj!|=2GU&+4OtXT6{6)O@f?C|_wS1Zl zfp59l8}hZuan<5r%Sg+D3Qx;MLrD?C+OVaQ=*j5AJ97Ez4H}1V z+M}7qLPL^zqTMoxY%YMBI(Y@$MS_q#1OlF~>FK!Ua~{&*`Ff|uowZLUqUaEIMlU)C+0DX+rJluB2gCF@zLW#e?$B?V z0`=Md{E4$Q6~&IHRVTk&&kYT|=JID^t6Rk4@Q$NrtG?8vu3$R5f^O3vS5qtYzacCXDftR#_F5 zprzjbhEI9QpVIOt6nsh{`fG9=XmuO62|~8AhUgUVb5+|eX{@ZyBr4RnI94nORBY1WP$Msr7UJa4pSO2xb)DR7JLYO_ z7IOBQ)O)!`qo+a1Nekn2qE;n3I2W=Q{r3h@Kz7I8$fgl4li=f+6!PRVG|CoX^3i+D z4>3HZ<1?-Ze8aV>h3MLImd4DR9k=m}PFlMhc$psmBqZOY{V+0TPR+7^q;r-wkDW~#kT9*j$U`q{|93@oUH6t=W#M}zd)8EY9( z#i6}UgL*X^$=Ek+nNwld@PhT8+j`hL@>gdEH!N{@Y3^^Saa@V%dmu1$lvPSBMLJQ! z9Tgody)eWgjV@S09bFPCdKEKBfRU%T;6$us`c6n--zF2d zTISRfKJRhd?9~1y0kB2F?t-9}Gj1fYh++L#{Du+ckd5~73!KgtnhSv}a8gUg7_z3I)i`;;v*0;~ zh8yO{7QzVD8bpWwLc|M;Y`gGkq?%3HBz$pwy9yw?pzRwZ!^t7fL$KC({bU!WH& z*ozY{gt%o%_{fgg`{ZbIhhk;Q_Yut=)xT#+=lYU4H5WYNAp=(mv=eMw4eyhb

    Z7siJYAlXqFCzoAkd{9z4h}X8Nkpr6f}}Q^%NMk3}iB3oWl_-K*omwzb z&<*y<-Z=iuf93;LR9y03;rUha(i!m7tZ}U6koOT^QPD}-N*eeIYRno+o-5+`q$T{X zne$(CA0l;JrBe^%!`cY37*cgo=v}PN|BdKKFRfBMB6dhlA#)5{odlMtk4N=Sqe;X@ zI76emc;`0I>k%$gggZ$==d5@T2fjg@<33C8{ZkfmDLkIBz=3qf`JRZW5rYcj-PRn z4s?tl$yPZ%qU_(O{Fyu?>!M0$*^3XRQ&^L5nd)qlJ!Rwn9pS zfZ^%j7Seq2WD6Awy*aSO>d?q2_H31$3Yox-w9N6;Y^k+admSg$QBiP(VJX2*WJ(6M zEO;SP7|V?BxY;>1?f86$!;{omfetUN)Br{?)QpYf9Sg0hnvs&4zzas{S9~&H9Hqw% zDRA3F4Q1(|qD;4QvUjz~ZPREM4f?%K#PQ_YF=Bbj$GqalwA`rAwOH1|&1yQ8LvY3` zaRpY*Vyk^SISBMAB#(*$@DF^&6&q%J$eK~Cz;xhK$tVb!B;5=e*N8H%>F|dbAqORo zLT-Zt4-+g6qm-0I@-`T#l$>%LXLvkI1~Rtt7l{TmMRGmsbjD%DlINTgc*XU>L7(>> z{vmpNjpqg{A%PKYzm+4sWy8pKVv)AgoQYV;m`jAPR?#x~Yg%Dpxwt;SWc&hm(+>UmNE7gT(~hdkvOKPKZ3>9O4na|iKzo)>8z5K1yF!HA(3$uA6Y zex7jihQC&0SMi)G9RwRBYI7o}a!oQ@nM65>GD>RoQne0svSL7cofFzAq`NdUN;pc!&W&6q21&s0$jN{U7Z%~HNZ-|9F%b9AzbKRVn;LxCNE2g&C<*BRCq)U4!6 z7e!Fh1Z>M~Lcd;en}A!JMjfIVe6D?6GMCanHczci)GSg5;01@qQB;ypq}nl^nyG}l z;qRF79drJS#|dxqJQRLmb-o75%72~oh3h@*>o~zYCouA9+7lao&4vXXkAa$sL3muy zwU24!H6r=bxnF}k3%X=j7ySc!eV$q=Zz_2+RTd6t0f0Ugo%f~S4xwU zim1~>v*&AZeRsRwyyi3r9WpaAOVjK#Djk|s$~-+9HjKQ|z+u5a&4!#cYb-PA-=^ab zGaZaHrctKI>bW!$=92=(B_B^O8-utrS~+B!bTWn!yaEm1F;H^Gl84l6R7CxdQR?GO za`6hx`BclnrVa#^uyOn{$MKkqD{=;4&Ru%Svp0A(S!S(GqMaS>vhcHJRykdRRPCGE?=_^PQT$Q)j%HgHrJB6&A1! zB{QvQue0dl9I59e4JDQ>4GYZ#SoO{eeb7=i(E&6j%h^-UZKPN&(jf(bCFcT%f?(rO z#n_-gx)P<4D=thYVT=-gWz-amtjPFFe#DP>%9aJtbIUR@0fYF4z?_1O3cWm8Pk21f zXf%%;^Z?dLoc@G=Pst5mvSp=FmnNML7ze$&MCSkiAOJ~3K~z8s$+^Pb@tIa7aBS5| z)fbaXpwr>-r3SSJ$z|-$n2FOakAk-%A+%op!JeG0YA36cKr2cduOwUN;KWtZVH;+L z3SzHHu(=-HoJLBuhKH1Lg=a3pNcc6thtxRQR-oUsjIj|MLT;s&ISdDmCofz2S$T?$VA%+3Dnh&&mLzkS;vovsK(!-zntlfiv?vB~A zj*J_fUOh;y+cKxd(Q*S^%cj6e!Q!BJS9LO0&k(?0Zlaj-DYyVx}AI z6)RyxNCpdoG={Mx`kcQN#QYPXa%evpt`lK$#!J>ooj6eQ|Fv~yO_F41T7J%P_t=+Q zYVT63nwB(TU`84lHe7UeWG6&Qx`Z|c`!UY>V zp~wqS;Yc1<$RwVqfG+ToxxR&l0~ISO#!U2H4gk|!w^ya#C5U02=%G{zqA?Y>3b{W% z-@^;u**H9`0Q9B^sEIQs7QMbE;UFVa!AKgIR2_DXHEUr~_c~a^5n4#O<_%Zt^mTgHb}SG+V+)sTG&e+A{f@P70W3~*^m}c= z!RXN{E^RDqKIX3(^MdDWbqgfSxwOpu(9-i(_6N^fYUb)JdPzmYUUF@8N=!0f*X{)^lV2=VGRVHx#+T#h)D6UBWd|+ zJD(P+erXiP;bs1sGUB&kL$9rLR zh*&+^y<)8-qgB|%L;#RiR&6}U`Oaw>GgsJoOU8zbgoS>Ok*H=z$A$^;-UR0@EpPc= z&t_-rU}@B6s9TJ5X`ZM=DTG^&C2Bch6(jyN7i`(GqgF|qSAc^PKayKfeJ7Lm!Ei^U z(1Tn%L!^xLu^Bzki`MC7=e6&QRrEO0BjXkF7)D0Nm<1zZoe5#`c_#8HHj(;p6?|B= z-C2A^_+#A1pxo0Ev6L?@gp@>Tnb_l53fW66_^4CiagZj3WUsIS#>QW_+78Bg1AArE z_ZJI$ig(fw6zp&kMcoT13c18#5+Cz_W!d~G6~8yK?`Sl)luA9XlsXPM6O}Qb4P(qfmXg|Z zJzG6#(=SMQJIV#2?f;w|IIKgHe5qmn|K&Ser0D2elJVX-C2T|(C z#P%L? zh_t1Z)vtx5iwn-=kE>|NEd(XjZrzYF*E}1%Gh?eiXslNN-T#RZA&s7iNHUF@F*&Ie z0I4oYsSuhTBb;%`Khcr!of`ClR&a$^%UHu$PhTX;_Kt{^p3*Tnf8;`_o8xzMe9bpB zLf}7gN5l{G`luCfRSvR@6Rpd&+&48-_ByOXjm$_w?I{%_$zB_M_EuZZM4{3nHHybt zC41tjGVN5Po3LU-N(pSprTGg}))U_8wOXHayFDa?x(C#-qrK+^$9%<) zdBQ7wFFn`M>E{Lj=7^@H%!n8Zfa(QceXyq2=-Cg5f#b~7`r)~hUMP|#DbcS@G!I48 z#AIB_dF+6XmVpo=y&sFIh)-5RXM&T5T7YB9iqEB03&O{Mq}}q4gJ7GzhMc+T)K*Mv z9`4JR5>`suPo)m71(0~FX0MouPe3`|tx^Dj^QNI@#2F2HD}Rb)$LiIB4G|xCM9dxk zk{|Qj)NLI(v%#XXmiNEI^NEOLUlZ9$4W! zI-bd-I{yq6Xf58W`%Dwu0nvYb9r;FRRk(`^4mj4t8toDp8%y=q93=NFwWLKdUlg*F z#>ApL#>%@LTdRHeRkejh^=n`li=JE7Kp~GopL*4E=5U}U=N&l-Gp?+ow_~DGg$T!< zhB*xdXTsXU+}&H%I^9wM(pdlg^XE+o^mhEPo-zk8-G^n&qlIN z=41kMr|j7eD$)Czxki%7K<2(!eB?a(v_5x{QZR4G7FpZJIUg^L+WIfgUJOIK01x!fIKUiCfPpSE-mv&T2UkE9_ z6INtQq?z0(5Cfes6OrbR?Ewnk_KjG@nqvb@_ZQRv!#TjW-dTfJtLTS-@`ViC+++zy z^tj+aWjTQ@l`!rl5lfy*Ylqk{uY~RJlBt>VSQCAr*G9rhAtxhc?M9kzk%4=ppA(C- z-11Yt;s@-Ms2@A>Iux6?5rRX#1hd;4|4okru(SLb8@>pKG%N;2dXUxRKKVwhB6%`qUNSxXNX{$l^P=CH4%|Op(I16;F z#D7ev*(W8Vg!oKz{VZ)dmAK49_{o`?7%YjhxXi$sWX|gG-TL}}X9*00b zzyTc4wXtKT#ibHG*~+`x=WzF#IK9Jtp~kF{{OyUl@I0_rLS6r*ck=4j$`~54rm))h zAfc*Nsuq}iXPvr@Hi=Rat4Jitls&)ZlC1$ha=HqI=%hNz)!Q3cPj(-Woa>nWiaXv* zR$6PY{a|Ayda_HCyaw#9k6Xt)1)Zv3BUx0(N*9iFF$#7}Bq z-L6iOkyfpg1qmaj5k*l@O=?e==*&V65VUCU2jiAs(=CsN_&`7~7P9xNuLcO6XSA|_Bm#y#OXd=Xwd&056Z)UB6YEj)ikzB^oiNFXVBKI6ol0nh3M~?idl3}{ zOWnSu{DvXdC(&RT(9%}n4Yj73PT9$cto5z&6#Y<_>g3D0XQS}D(=dnQUp34qfs#u- zSp8+)44RbPVCwe|N^^Gyd>C1hP%>N20!C#;CsGfrWaQ&Hoas=YEd(} zp5rMn;%gkRpkb-Plw4R^Uo(eNL;itRti-_eEk~VP2ote+EeSKd^2T~eCA3V4Nd@nQ zr7su6-O24cQmz;_pG+i`*>lB?gXMcWyNum~KKB_8*mIDiCY(=?#Rm*g4Q~r>_t}df zMDLR_w}#KYlDyXRT?woS(x%|fT_}vG)_op}s`ZLz3rhF7-0mnswvn~uf=ms1v2GBr zu`xJsC#qMdnW*2UFI{RSoGz*OTc-R!623Y4c&%aZBNi6t*e8SiPatAL%_ScMwe%Hq z*`U$qBe(nw3x3J>3b$(oEw!S#3+WyE*OL<_S>Y7p;*F}pN?Q76GpA1$2?TBwV{@<1 z=Z{*j`u7FH;Lyte-;*64pcv<2C-%k(AVKhEm2cpLm|gwWJSw;$Z8_7 z;zX9Ij45kkrUS!QMM+K0J*8d&{re^ZJX02YVl4$G1B5W*X-0<0zk@^4YvZ%KPPjY;rPx@fLcL&w*&9L$MXbF z$AR_9snMOx5~uxe(SLs3`AktrW7!ML?m3T8Ucy-6U$PFsrJ&CFI>X}gFebM{KIbe5=dOeM-l#MF1PRJ0Z@ z)A9>`$DX+mw>$g$&Zgf~9C>d@^VR|~QG`n_n@d;~-)UP3U)-7*7kqLe_amK<>fnIRZSqz=Cly)aIVWRG@z5?!= z7mNo_`BOg9kt(<0;q2fZcmz7)YsO5-ZIFsttLxHJvSlV=SEGEeDSKc;h9g&!exf|i z5nC2aloJvLtFeyzomQh61r-TrwCprIjRZrFX_=F;SM6a;Ng|%UeZxzrO3qOvRVSzu-sH@G2cE4}DZnQLBZVRUp%SaT;H zcbEp?{^I3__#-Wss)Py6R3XD=LLtpdXwaC51};>t*3ruGI>xh8s@1W4eQ#;mTe0au zP1KRFl#r^^UK~OYR)TY5b(EDt4}!?6Afu4&>R0?7F)KdtPPth|Zt76nnJJ^;1#h@! z#FUf`nQE8%PU?t+IWar^*hWuNqdxIc&N`Q^WBHj18pO*PSmoP~emeDAPRvQFwv9aq$sXcxq>)!r>L3*S5#D_EQz?4 zJiXSE6GAOl94NUURj_Kygb_I}c*(Vr1SeA79-qGjQwm;jN6MUpTq!Aq0w=v`{}BM> zwc<8{v7G61W2Q>;tfY|G33~1fu5p7)e%j)G3IQFtyx~8sm`Qm0#C}qU?7mfcNNt~v z2h@<}mQWrYVADGmiYZzsajQ2?Ok`6o6gFB597%MvW1gVkr`<~66gc;Uj+7}86A2vW zLcV5d;PfJh3u-wG0ymaWh;vWKXi4=mSNwwSIO8|0b=f>uVi)=hI$>t^g+AOXbj> z@O5r5ySTyL-hD;^b%T;A%skVPv*FR;60bDXwI>+BDLUAnFVW9lcRswec2@P)3hioa zCJ!6>R9)gzOZo2;f=6`RlM_*L$C#MJtfqbVD-w5w+^-%LpXsF&Yt8J7o_c%LNZ4d# zB~+dpeoD-bxFYBMAob1}eT4atJYHJI@a5&U6oO;MnmG+mX{cB+qvVE+8FThh|9VN> zopQ#;l8w}iHHpVUO1yl;5d|yphrtn?is&AG_3q(HX76!M`j0>N^dJAfW~$fl;|HAo zoy|lKUm)Jj8z0D^kW0S>?pd>8&YV3pD?zo$oi?EZR-kmcPO`^@iW@x{xvE-X#V3zA z$a3zK1Dr^^Qj2Yjg%CP@)t-z}TdtGL6eddP3nr5tzagRJYoIjx2Ej?O)U|~HTXzFu zw3X4SR`$V;1&%k&@GMxeXQGp*l6xUxI(Vg(14m<@@8yk>YDCCHY-uQ%aiC=@sYy4e zrgsB|-wll1esE}?&g-ZD?*}6z?AWok9CLWWdufdu8xGwAMSzl+{`Ph3y}q&~FNw5< zd3EGDaw-l~I>!1u;np&`8eqOX~jB8mgTeY2z#W8xbLO3;WJH;yo(M7KE`pOu|Mz=>IlSrli zzEWY#PV%lu1+4ve+)$`Q+FR^YK=V^F?hWB^pJ{R)PWhd&5~prnH}Lm%gY=(15FR?t z?S&FNmK(7$%?St4X{a?pNZ)hS0?&Xs7ZNjN+$)#HDN4SO73{z*2U1DC2cAqX9bB>#J4mYtDu( zshP-oW!`Y-a07T3YgRnoCPNCx4W8oTGT6@yw?=*S~;#EvV(3n?bCB=Tk znv6SEKuX7)j+hy_;N6LatwL|>kY|0zO!>c_J*n(tfleCfAaB%OHPY{R!1I(!%y&@8 z)rxfr{-VOFruxlfOhU$z126a?Z}}g3&MV6WZEVVIRACngoeTDA8O`x5I0)39;V2~M z?vwwWHhr(#4})yNg&1o_sVoMfvXLvSt{d4tS|ue6p;(5JjFTxKvfQB7Mm=W|89#W3 zA72)IrR;mY(mx6D@=y3EZg4-y1bGk@OZ0cI=ROd!uY}gOf;4Uf?zXavwOZGDJ9#4< zFvW96VwLiltej!TKhsSWDfn=1&V!VexmvYDR>zvT!cmZ>uM$8T8M4?Zz4wY4b2e-& zhX-r!3#4vK#W@Gvqzwz%yi%Z%d(c^yL1;>gthP4Ne$h`Xjky&2Jg=IWx{`v*r;$Bt z#GWl<=IkYh^>z}u2Z;Y^nolZInwksF^wbnaw|0zVZ=6t3Q0bq=!VtXZ&kz{dm!O0Q*@TLc2?Ym> zZ>u?|v+&-+l|$BGP~#@5LvpqaBz(yg-|~ru1*r^FjV@>3SJVs^pNdNk5@vP-Idv^* zOW-O;CT4Fn!Ho6njpWJ=#<>M>U`Zhyq?5cnbpO61B9~uxEH{z2OWTiqr=wYSf&^ft zcHL(>|IYN$#~Yy(B6-Ej!LOKb!6!*?T00qAOI6jx@o!$2z6HK!sUfM=5%!*nOckji zBDEoxQ7bG!0i7FbHpT>AQz79Ad$r~z%tZg>ib)wUqhZHLDMK-ygIWSB?H!TCptYjb z`Zw+kUo+>9a}w_K?pxrgl+_o?qjIH(JJBzN-tdXNDH9w^p3zV-W-V)GXZc+rC@xns zQpcE9Mwdj-X^4SXXj*8<*_m4ri>!0@WOf5lraRg7yTPyO23cuCtZ;a8cw-QtX0G0{ z$CA@D+KFydZQGt$$Fcq-*Tx}MG2zlAVc{#kGS|zF0~a*F1q&V5IXNXWIx6NObV9{S zske9lM@Ev1SFEhnwxwlG&YqTtJLXoO8VPcZbR$jhR@@exv$Za+Wc|^sI1$%8pH4|Ak=KAlN5iwE{TBZK5na;tA z4VMzHj%gH$AAXNU`aoxS9S=iW-5}7>4=mlBjETn;(48a{bt9d4~< zm=ky?4(#zWYtcj`?naLM6vsU!_rx4Xn6b7V-hxW+$4EPU0A81r8X#lS=EbsC1t2uE z+H_Q$<4M@+$PLvyD_nvJkq0FS#b;NBohNxoLCS!Q0%M z65%M*YzIie5z^@%IDWeaFApbUYG5YcaiQ@!#8W(CBY3?!Q5^JvU5>a^eY_itAT95W zNJM6dOjgHArOF)(JR?f=>0}1wv}`4&Yz&bOWOAV(wb;rL&Z*Qt+)6xhkUqYa$a-#h zhLSN$GFdqyDn9X7{GKffa^4a%Az`FX=B)vY!5cm@#}A)HJe=x! z{lHM)J;?p*orgJFE+j__qi_JRl0l*U5MvOE`9$G`&UWfs8Lo3<#L-|=N%|e$-xHOh z&8S7#j^z$)EFPt#V9Y^95n(?M;ZRFes*Jc7NbAIkdkbB6gHt4|R5^}{SM2zbOHxJ@ zRvsA-qTw554m+uiaynw(QsOw*(OBt!GtTjhSu!P&H8moU4qz;r$8$-=JqKZa6Xld2 zm|7IY6%$f&7Q|fg2Y$#`{1SM?UL0U&M(y@NlJDniy&Iejr_TQF0am!z)bmjYKrCbH zOMZ`6qu}wUw|4Wyo`~l*TLvict^OkuYnklt$%;EGk8xt@QJ+pAI#OypV}VHtBT~jR zEOFecnJ{GjWPFgna7N6CoGl{~R@xP&jLDb@6Z9GnbCEnd8s3m9maUQ)<12oz8OPJq=^-@w&zK)U3%lFk(!_jtoyiLB*0A4%{%N z zubT~PzEn{3TVC<|!3N+@oI4M_0M4qYj`aBhkH5B~;Cgz`Vt^9FJm-y68?7+RdY~1I zYo4Bjip0D#dZzcEV^JzSi|wSl^J4Ml%DBumg6!2| zcK;u^6hjzbn>7g~8HwW5YGSs$RoP{2wzJOu7*X>^TH}g{Gq&P3y}}%h-FYn&E_7op zlr6et$BG)q7SEhDdrIJ7PQ+LNGc6HY?#2GS;u{t;q3xW~>!mOOID5)F8E|qt z={w;95z&8m{nRIew@%F;Br2#Zvw9dpcvPQ7_T1G1W1MwztQ6WBUL^0u3_iw7Qr)L! zql~hI6>DDcoFA}MMRHBdSc2?Y&tUi+UvSM0B^^7tg^+FQ7>{<$#A~H=X5j8SrWsCn z##1i2pyR-vMt0YrLY|0>x}~M&UI}D9QMF~p9M6r+Z3P{7)D$Y2`hp!PEA@nwEcp@V zOq7F=O8peuuM9LRAjfRTKA5eKFuB+RXw zFp{HhLPtu?mdAWY#fp@z9fIL-3mFF&q{KGY9XQfgfDToH7L9R5g4p+Gq-U#z7g`fsnDKeFXDe-tp> z$EHOBd7TL?9%fP=pSPBjPaHUtxw9Ko$b}nb%#2HMdtUMABU|p$lL9I)Nr)q*q+~%& zNr^-9_e?jiy1S+}D)PwDb z)~_4P4qksYQdUSO0z9;xx&b2C2Smi}U@YqFIT*1u*@8Fxs6V7y&HOzs<@ILiyTkvW zVxuuLraa}0oQ^ZbEQrYYo(XHA?>SfeNefb-n+j?1Yxxlxxo$UD zoULxd$2{e?bRwKbG)#zzSWBVP@QjojVh(KilHYJnrYb0`ZMpAZ_j(EY!Q_9O;fE+; zE3B_zK|{xTo~fiGh~%DeE4y7jm^0)J><`77j(7Tzh4puL54O|RVn+SoH}0#N`k0~) zbPGj%#}va{UW-6jV$UyL1O+EI6m)mX3}aJruD5Awo-0!-yxm zr6Z@|lNQn`8P9k_%RAskIYGan;~yv}xu;;wzvI92oL?zDwKc1Idy?_h4T`(F2ZE5+ zk`#`W&@DCBJhhid5bSJhm1F=T$JpPB*s`|;&)LBe8~fz#32K$J<<0QeX$Wz4G5UOg zTAd;N?D{9>{5>n~C^>M$H{9Zwb70DI&bd?~*#~yqYiq9XOi0;q$(SwQ@`i*ho^zZ6 zAdfOh26hOnv#jBJYyJrO;zyh-(R9NT$+=QuG9ot2+2N^q&zP326q6N89CKV*V8L(iYdLYkqCqJltuq6za zlul_|z5eaMugNI{kuoTCx#H(E#GLVh7kuK5d-kk|$oQ5!4&=OHA-dP|gc&;~thuo! zvTpEhj7|R%@XE~qUwgt!BBpFPBcWr%oQMVYazH@GOG>uv6yaRb@L2rXh?I<)l|r-n z&VV0rr}&309ZR7RXF@$-!;TwX60zYs4qWLqHs!s^Sx)zX_Q4?74Rpn=V!ALMx6=ug pvym+}n9)~EWr;Alwznlkam%*GofqOD{m_I|#*$Am(%kpQ{@} zOJ_o8Z59Y^1=Z)h4Z@E(0-E* zh*_X)Wf*(%gB2z$d(WIXJ9+Lh9mYeGPc2(w$_mjABbS#mFu;8RW-u@;Uks65;S8ny WK|bMH0rlVt@yVN)hfSWc$_oHo+&SI= diff --git a/styles/style.css b/styles/style.css index a5813cf..19b96ca 100644 --- a/styles/style.css +++ b/styles/style.css @@ -1,24 +1,24 @@ :root { --foreground: #1a1a1a; --background: #fdfdfdf0; - --border: #c9c9c9; + --html-border: #c9c9c9; --html-background: #e3e3e3; --blockquote-text: #606060; --blockquote-border: #e6e6e6; - --button-border: #e3e3e3; - --button-background: #d0d0d0; + --button-primary: #e3e3e3; + --button-secondary: #d0d0d0; } @media (prefers-color-scheme: dark) { :root { --foreground: #fdfdfd; --background: #1a1a1af0; - --border: #4c4c4c; - --html-background: #303030; + --html-border: #4c4c4c; + --html-background: #2b2a33; --blockquote-text: #e6e6e6; --blockquote-border: #606060; - --button-border: #4c4c4c; - --button-background: #404040; + --button-primary: #4c4c4c; + --button-secondary: #404040; } } @@ -32,7 +32,7 @@ html { body { background-color: var(--background); - border: solid 1px var(--border); + border: solid 1px var(--html-border); margin: 0 auto; max-width: 48em; padding-left: 50pt; @@ -58,19 +58,33 @@ body { justify-content: space-between; background: url("images/shark-top-small.png"); background-size: contain; - border: 4pt ridge var(--border); + border: 1pt solid var(--html-border); } #page-header a { - padding: 4pt; color: var(--foreground); - background-color: var(--button-background); - border: 2pt outset var(--button-border); + padding: 4pt; text-decoration: none; } -#page-header a:active { - border: 2pt inset var(--button-border) +.page-header-button { + background: linear-gradient(to bottom, var(--button-primary) 0%, var(--button-secondary) 100%); + border: 1pt solid var(--blockquote-border); + border-radius: 4pt; +} + +.page-header-button:active { + background: linear-gradient(to bottom, var(--button-secondary) 0%, var(--button-primary) 100%); +} + +.rss-button { + background: linear-gradient(to bottom, #fb9d3a 0%, #d95c29 100%); + border: 1pt solid #f2994f; + border-radius: 4pt; +} + +.rss-button:active { + background: linear-gradient(to bottom, #d95c29 0%, #fb9d3a 100%); } #articles ul { @@ -79,24 +93,25 @@ body { #articles li { list-style: none; - display: block; } .articles-header { + margin: 8pt 0 4pt 0; +} + +.articles-footer { + margin-top: 4pt; display: flex; - flex-direction: row; - flex-wrap: nowrap; justify-content: space-between; } .articles-title { - margin: 8pt 0 4pt 0; font-size: 14pt; font-weight: bold; } .articles-author { - margin: 12pt 0 4pt 0; + font-style: italic; } .articles-summary { @@ -104,12 +119,11 @@ body { } .articles-date { - margin: 0; text-align: right; } #page-footer { - border: 4pt ridge var(--border); + border: 1pt solid var(--html-border); background: url("images/shark-top-small.png"); background-size: contain; display: flex; @@ -122,22 +136,6 @@ body { align-items: center; } -/* -#TOC { - padding: 24px; -} - -section { - display: flex; - flex-direction: row; -} - -article { - padding: 12px; - overflow: auto; -} -*/ - @media (max-width: 600px) { body { font-size: 0.9em; From 9809e146362b241d3393579d8c2b02b754e68e1c Mon Sep 17 00:00:00 2001 From: Never Gude Date: Thu, 12 Feb 2026 18:38:45 +0100 Subject: [PATCH 12/28] content of index --- build/index | 9 +++- build/index.html | 71 +++++++++++++++++++++++++- build/rss.xml | 2 +- public_ansi/index | 9 +++- public_html/eh/eh/eh/eh-eh/index.html | 71 +++++++++++++++++++++++++- public_html/eh/eh/eh/eh-eh/rss.xml | 2 +- public_html/eh/eh/eh/eh-eh/rssfeed.xml | 44 ---------------- src/index.md | 11 +++- 8 files changed, 168 insertions(+), 51 deletions(-) delete mode 100644 public_html/eh/eh/eh/eh-eh/rssfeed.xml diff --git a/build/index b/build/index index 74fc4e0..8e64745 100644 --- a/build/index +++ b/build/index @@ -2,7 +2,14 @@ ──────────────────── -Hello World +Hello! I am Never and this is my little place on the internet where I +post the stuff that I am currenty nerding out about. + +This Website itself is one of those projects, that I like to tweak. +Maybe I’ll write an article about its build system. It is also viewable +via  curl . Just run + + curl nevereverever.de ARTICLES diff --git a/build/index.html b/build/index.html index a08aeb5..95153cc 100644 --- a/build/index.html +++ b/build/index.html @@ -21,6 +21,70 @@ margin: 0 0.8em 0.2em -1.6em; vertical-align: middle; } + /* CSS for syntax highlighting */ + html { -webkit-text-size-adjust: 100%; } + pre > code.sourceCode { white-space: pre; position: relative; } + pre > code.sourceCode > span { display: inline-block; line-height: 1.25; } + pre > code.sourceCode > span:empty { height: 1.2em; } + .sourceCode { overflow: visible; } + code.sourceCode > span { color: inherit; text-decoration: inherit; } + div.sourceCode { margin: 1em 0; } + pre.sourceCode { margin: 0; } + @media screen { + div.sourceCode { overflow: auto; } + } + @media print { + pre > code.sourceCode { white-space: pre-wrap; } + pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; } + } + pre.numberSource code + { counter-reset: source-line 0; } + pre.numberSource code > span + { position: relative; left: -4em; counter-increment: source-line; } + pre.numberSource code > span > a:first-child::before + { content: counter(source-line); + position: relative; left: -1em; text-align: right; vertical-align: baseline; + border: none; display: inline-block; + -webkit-touch-callout: none; -webkit-user-select: none; + -khtml-user-select: none; -moz-user-select: none; + -ms-user-select: none; user-select: none; + padding: 0 4px; width: 4em; + } + pre.numberSource { margin-left: 3em; padding-left: 4px; } + div.sourceCode + { color: #cccccc; background-color: #303030; } + @media screen { + pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; } + } + code span.al { color: #ffcfaf; } /* Alert */ + code span.an { color: #7f9f7f; font-weight: bold; } /* Annotation */ + code span.at { } /* Attribute */ + code span.bn { color: #dca3a3; } /* BaseN */ + code span.bu { } /* BuiltIn */ + code span.cf { color: #f0dfaf; } /* ControlFlow */ + code span.ch { color: #dca3a3; } /* Char */ + code span.cn { color: #dca3a3; font-weight: bold; } /* Constant */ + code span.co { color: #7f9f7f; } /* Comment */ + code span.cv { color: #7f9f7f; font-weight: bold; } /* CommentVar */ + code span.do { color: #7f9f7f; } /* Documentation */ + code span.dt { color: #dfdfbf; } /* DataType */ + code span.dv { color: #dcdccc; } /* DecVal */ + code span.er { color: #c3bf9f; } /* Error */ + code span.ex { } /* Extension */ + code span.fl { color: #c0bed1; } /* Float */ + code span.fu { color: #efef8f; } /* Function */ + code span.im { } /* Import */ + code span.in { color: #7f9f7f; font-weight: bold; } /* Information */ + code span.kw { color: #f0dfaf; } /* Keyword */ + code span.op { color: #f0efd0; } /* Operator */ + code span.ot { color: #efef8f; } /* Other */ + code span.pp { color: #ffcfaf; font-weight: bold; } /* Preprocessor */ + code span.sc { color: #dca3a3; } /* SpecialChar */ + code span.ss { color: #cc9393; } /* SpecialString */ + code span.st { color: #cc9393; } /* String */ + code span.va { } /* Variable */ + code span.vs { color: #cc9393; } /* VerbatimString */ + code span.wa { color: #7f9f7f; font-weight: bold; } /* Warning */ @@ -35,7 +99,12 @@

    -

    Hello World

    +

    Hello! I am Never and this is my little place on the internet where I +post the stuff that I am currenty nerding out about.

    +

    This Website itself is one of those projects, that I like to tweak. +Maybe I’ll write an article about its build system. It is also viewable +via curl. Just run

    +
    curl nevereverever.de
    -

    Hello World

    +

    Hello! I am Never and this is my little place on the internet where I +post the stuff that I am currenty nerding out about.

    +

    This Website itself is one of those projects, that I like to tweak. +Maybe I’ll write an article about its build system. It is also viewable +via curl. Just run

    +
    curl nevereverever.de
    - -

    -Previous +

    Previous CUPS Next -

    +
    + diff --git a/build/articles/random-linux-utils.html b/build/articles/random-linux-utils.html index 73b9a06..c19872a 100644 --- a/build/articles/random-linux-utils.html +++ b/build/articles/random-linux-utils.html @@ -92,6 +92,7 @@ +
    diff --git a/build/articles/rsync-android.html b/build/articles/rsync-android.html index 9106ad6..ca302f5 100644 --- a/build/articles/rsync-android.html +++ b/build/articles/rsync-android.html @@ -92,6 +92,7 @@ +
    diff --git a/build/index b/build/index index 8e64745..eb7d975 100644 --- a/build/index +++ b/build/index @@ -3,14 +3,16 @@ ──────────────────── Hello! I am Never and this is my little place on the internet where I -post the stuff that I am currenty nerding out about. +post the stuff that I am currently nerding out about. -This Website itself is one of those projects, that I like to tweak. -Maybe I’ll write an article about its build system. It is also viewable -via  curl . Just run +This Website itself is one of those projects, that I like to tweak and +tinker with. Maybe I’ll write an article about its build system. It is +also viewable via  curl . Just run curl nevereverever.de +There also is an RSS Feed to stay updated about my doings. + ARTICLES Using rsync on Android to syncronise my Music diff --git a/build/index.html b/build/index.html index 95153cc..3e783e9 100644 --- a/build/index.html +++ b/build/index.html @@ -90,6 +90,7 @@ +
    diff --git a/build/rss.xml b/build/rss.xml index a224a76..990dec0 100644 --- a/build/rss.xml +++ b/build/rss.xml @@ -6,7 +6,7 @@ Here I post random stuff. en-us Mon, 12 Jan 2026 00:00:00 +0100 -Thu, 12 Feb 2026 18:35:27 +0100 +Fri, 13 Feb 2026 17:43:19 +0100 https://www.rssboard.org/rss-specification pandoc n.gude@posteo.de (Never) diff --git a/pandoc/html-template.html b/pandoc/html-template.html index 1a729f6..c0866d5 100644 --- a/pandoc/html-template.html +++ b/pandoc/html-template.html @@ -36,6 +36,7 @@ $endif$ +
    diff --git a/public_ansi/index b/public_ansi/index index 8e64745..eb7d975 100644 --- a/public_ansi/index +++ b/public_ansi/index @@ -3,14 +3,16 @@ ──────────────────── Hello! I am Never and this is my little place on the internet where I -post the stuff that I am currenty nerding out about. +post the stuff that I am currently nerding out about. -This Website itself is one of those projects, that I like to tweak. -Maybe I’ll write an article about its build system. It is also viewable -via  curl . Just run +This Website itself is one of those projects, that I like to tweak and +tinker with. Maybe I’ll write an article about its build system. It is +also viewable via  curl . Just run curl nevereverever.de +There also is an RSS Feed to stay updated about my doings. + ARTICLES Using rsync on Android to syncronise my Music diff --git a/public_html/eh/eh/eh/eh-eh/index.html b/public_html/eh/eh/eh/eh-eh/index.html index 95153cc..3e783e9 100644 --- a/public_html/eh/eh/eh/eh-eh/index.html +++ b/public_html/eh/eh/eh/eh-eh/index.html @@ -90,6 +90,7 @@ +
    diff --git a/public_html/eh/eh/eh/eh-eh/latex-endeavors.html b/public_html/eh/eh/eh/eh-eh/latex-endeavors.html index a261e38..43734aa 100644 --- a/public_html/eh/eh/eh/eh-eh/latex-endeavors.html +++ b/public_html/eh/eh/eh/eh-eh/latex-endeavors.html @@ -28,6 +28,7 @@ +
    diff --git a/public_html/eh/eh/eh/eh-eh/random-linux-utils.html b/public_html/eh/eh/eh/eh-eh/random-linux-utils.html index 73b9a06..c19872a 100644 --- a/public_html/eh/eh/eh/eh-eh/random-linux-utils.html +++ b/public_html/eh/eh/eh/eh-eh/random-linux-utils.html @@ -92,6 +92,7 @@ +
    diff --git a/public_html/eh/eh/eh/eh-eh/rss.xml b/public_html/eh/eh/eh/eh-eh/rss.xml index a224a76..990dec0 100644 --- a/public_html/eh/eh/eh/eh-eh/rss.xml +++ b/public_html/eh/eh/eh/eh-eh/rss.xml @@ -6,7 +6,7 @@ Here I post random stuff. en-us Mon, 12 Jan 2026 00:00:00 +0100 -Thu, 12 Feb 2026 18:35:27 +0100 +Fri, 13 Feb 2026 17:43:19 +0100 https://www.rssboard.org/rss-specification pandoc n.gude@posteo.de (Never) diff --git a/public_html/eh/eh/eh/eh-eh/rsync-android.html b/public_html/eh/eh/eh/eh-eh/rsync-android.html index 9106ad6..ca302f5 100644 --- a/public_html/eh/eh/eh/eh-eh/rsync-android.html +++ b/public_html/eh/eh/eh/eh-eh/rsync-android.html @@ -92,6 +92,7 @@ +
    diff --git a/public_html/eh/eh/eh/eh-eh/styles/style.css b/public_html/eh/eh/eh/eh-eh/styles/style.css index c2881c7..0aebb94 100644 --- a/public_html/eh/eh/eh/eh-eh/styles/style.css +++ b/public_html/eh/eh/eh/eh-eh/styles/style.css @@ -1,8 +1,9 @@ :root { --foreground: #1a1a1a; - --background: #fdfdfdf0; + --background: #fdfdfdc4; --html-border: #c9c9c9; - --html-background: linear-gradient(to bottom, #5a6fde 0%, #391d87 100%); + --html-background: #1d5087; + --body-background: linear-gradient(to bottom, #5ab9de, #1d5087); --blockquote-text: #606060; --blockquote-border: #e6e6e6; --button-primary: #e3e3e3; @@ -12,9 +13,10 @@ @media (prefers-color-scheme: dark) { :root { --foreground: #fdfdfd; - --background: #1a1a1af0; + --background: #1a1a1ac4; --html-border: #4c4c4c; - --html-background: linear-gradient(to bottom, #5a6fde 0%, #391d87 100%); + --html-background: #391d87; + --body-background: linear-gradient(to bottom, #5a6fde, #391d87); --blockquote-text: #e6e6e6; --blockquote-border: #606060; --button-primary: #4c4c4c; @@ -22,10 +24,6 @@ } } -. { - background: var(--html-background); -} - html { color: var(--foreground); @@ -35,8 +33,15 @@ html { } body { + margin: 0; + background: var(--body-background); + z-index: 0; +} + +#page { + position: relative; background-color: var(--background); - border: solid 1px var(--html-border); + border: solid 1pt var(--html-border); margin: 0 auto; max-width: 48em; padding-left: 50pt; @@ -47,13 +52,14 @@ body { overflow-wrap: break-word; text-rendering: optimizeLegibility; font-kerning: normal; + z-index: 2; } #tv-screen { position: fixed; top: 0; left: 0; - z-index: -1; + z-index: 1; } #page-header { @@ -127,6 +133,7 @@ body { } #page-footer { + padding: 4pt; border: 1pt solid var(--html-border); background: url("images/shark-top-small.png"); background-size: contain; @@ -134,7 +141,7 @@ body { justify-content: center; } -#page-footer p { +#page-footer div { display: flex; flex-direction: row; align-items: center; diff --git a/src/index.md b/src/index.md index 0834da6..f8fb289 100644 --- a/src/index.md +++ b/src/index.md @@ -3,11 +3,13 @@ title: Home --- Hello! I am Never and this is my little place on the internet where I post the -stuff that I am currenty nerding out about. +stuff that I am currently nerding out about. -This Website itself is one of those projects, that I like to tweak. Maybe I'll -write an article about its build system. It is also viewable via `curl`. Just -run +This Website itself is one of those projects, that I like to tweak and tinker +with. Maybe I'll write an article about its build system. It is also viewable +via `curl`. Just run ```sh curl nevereverever.de ``` + +There also is an RSS Feed to stay updated about my doings. diff --git a/styles/style.css b/styles/style.css index 227ebd0..0aebb94 100644 --- a/styles/style.css +++ b/styles/style.css @@ -1,8 +1,9 @@ :root { --foreground: #1a1a1a; - --background: #fdfdfdf0; + --background: #fdfdfdc4; --html-border: #c9c9c9; - --html-background: linear-gradient(to bottom, #5a6fde 0%, #391d87 100%); + --html-background: #1d5087; + --body-background: linear-gradient(to bottom, #5ab9de, #1d5087); --blockquote-text: #606060; --blockquote-border: #e6e6e6; --button-primary: #e3e3e3; @@ -12,9 +13,10 @@ @media (prefers-color-scheme: dark) { :root { --foreground: #fdfdfd; - --background: #1a1a1af0; + --background: #1a1a1ac4; --html-border: #4c4c4c; - --html-background: linear-gradient(to bottom, #5a6fde 0%, #391d87 100%); + --html-background: #391d87; + --body-background: linear-gradient(to bottom, #5a6fde, #391d87); --blockquote-text: #e6e6e6; --blockquote-border: #606060; --button-primary: #4c4c4c; @@ -22,6 +24,7 @@ } } + html { color: var(--foreground); background: var(--html-background); @@ -30,8 +33,15 @@ html { } body { + margin: 0; + background: var(--body-background); + z-index: 0; +} + +#page { + position: relative; background-color: var(--background); - border: solid 1px var(--html-border); + border: solid 1pt var(--html-border); margin: 0 auto; max-width: 48em; padding-left: 50pt; @@ -42,13 +52,14 @@ body { overflow-wrap: break-word; text-rendering: optimizeLegibility; font-kerning: normal; + z-index: 2; } #tv-screen { position: fixed; top: 0; left: 0; - z-index: -1; + z-index: 1; } #page-header { @@ -122,6 +133,7 @@ body { } #page-footer { + padding: 4pt; border: 1pt solid var(--html-border); background: url("images/shark-top-small.png"); background-size: contain; @@ -129,7 +141,7 @@ body { justify-content: center; } -#page-footer p { +#page-footer div { display: flex; flex-direction: row; align-items: center; From 2ef3d66533b7567c1f95f673158c82bacd83c4aa Mon Sep 17 00:00:00 2001 From: Never Gude Date: Fri, 13 Feb 2026 17:48:03 +0100 Subject: [PATCH 16/28] fix print layout --- public_html/eh/eh/eh/eh-eh/styles/style.css | 8 ++++++++ styles/style.css | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/public_html/eh/eh/eh/eh-eh/styles/style.css b/public_html/eh/eh/eh/eh-eh/styles/style.css index 0aebb94..858bc03 100644 --- a/public_html/eh/eh/eh/eh-eh/styles/style.css +++ b/public_html/eh/eh/eh/eh-eh/styles/style.css @@ -183,6 +183,14 @@ body { page-break-after: avoid; } + a { + color: black; + } + + #page { + border: none; + } + #page-header, #page-footer { display: none; diff --git a/styles/style.css b/styles/style.css index 0aebb94..858bc03 100644 --- a/styles/style.css +++ b/styles/style.css @@ -183,6 +183,14 @@ body { page-break-after: avoid; } + a { + color: black; + } + + #page { + border: none; + } + #page-header, #page-footer { display: none; From fe287b89b75b2ced23aa0ece405c12574acd13ce Mon Sep 17 00:00:00 2001 From: Never Gude Date: Fri, 13 Feb 2026 19:31:35 +0100 Subject: [PATCH 17/28] Fix mobile --- public_html/eh/eh/eh/eh-eh/styles/style.css | 2 +- styles/style.css | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/public_html/eh/eh/eh/eh-eh/styles/style.css b/public_html/eh/eh/eh/eh-eh/styles/style.css index 858bc03..4eda46e 100644 --- a/public_html/eh/eh/eh/eh-eh/styles/style.css +++ b/public_html/eh/eh/eh/eh-eh/styles/style.css @@ -148,7 +148,7 @@ body { } @media (max-width: 600px) { - body { + #page { font-size: 0.9em; padding: 12pt; } diff --git a/styles/style.css b/styles/style.css index 858bc03..4eda46e 100644 --- a/styles/style.css +++ b/styles/style.css @@ -148,7 +148,7 @@ body { } @media (max-width: 600px) { - body { + #page { font-size: 0.9em; padding: 12pt; } From 55adb103cc0689b767d278670afe310f2afb7afb Mon Sep 17 00:00:00 2001 From: Never Gude Date: Fri, 20 Feb 2026 18:55:08 +0100 Subject: [PATCH 18/28] new style --- build/articles/latex-endeavors.html | 11 ++- build/articles/random-linux-utils.html | 11 ++- build/articles/rsync-android.html | 11 ++- build/index.html | 45 +++++----- build/rss.xml | 2 +- pandoc/html-template.html | 35 ++++---- public_html/eh/eh/eh/eh-eh/index.html | 45 +++++----- .../eh/eh/eh/eh-eh/latex-endeavors.html | 11 ++- .../eh/eh/eh/eh-eh/random-linux-utils.html | 11 ++- public_html/eh/eh/eh/eh-eh/rss.xml | 2 +- public_html/eh/eh/eh/eh-eh/rsync-android.html | 11 ++- public_html/eh/eh/eh/eh-eh/styles/style.css | 84 +++++++++++-------- styles/style.css | 84 +++++++++++-------- 13 files changed, 193 insertions(+), 170 deletions(-) diff --git a/build/articles/latex-endeavors.html b/build/articles/latex-endeavors.html index 43734aa..1f482a5 100644 --- a/build/articles/latex-endeavors.html +++ b/build/articles/latex-endeavors.html @@ -28,18 +28,17 @@ -
    +

    Latex Endeavors

    Some unintuitive quirks of Latex

    Never

    2026-01-09

    -
    +
    -
    Previous +
    +
    -
    diff --git a/build/articles/random-linux-utils.html b/build/articles/random-linux-utils.html index c19872a..cc720d5 100644 --- a/build/articles/random-linux-utils.html +++ b/build/articles/random-linux-utils.html @@ -92,18 +92,17 @@ -
    +

    Random linux utilities

    Neat things I picked up along the way

    Never

    2025-07-25

    -
    - +
    -
    Previous +
    +
    - diff --git a/build/articles/rsync-android.html b/build/articles/rsync-android.html index ca302f5..07c9301 100644 --- a/build/articles/rsync-android.html +++ b/build/articles/rsync-android.html @@ -92,18 +92,17 @@ -
    +

    Using rsync on Android to syncronise my Music library

    Never

    2026-01-12

    -
    - +
    -
    Previous +
    +
    - diff --git a/build/index.html b/build/index.html index 3e783e9..6ecd442 100644 --- a/build/index.html +++ b/build/index.html @@ -90,15 +90,14 @@ -
    +

    Home

    -

    Hello! I am Never and this is my little place on the internet where I post the stuff that I am currently nerding out about.

    @@ -109,49 +108,56 @@ is also viewable via curl. Just run

    There also is an RSS Feed to stay updated about my doings.

    As Spotify is getting enshittified by capitalism, keeping a music library is kind of essential. Here I use rsync to syncronise my library with my Android smartphone.

    - +
  • - +
  • Latex undoubtedly has some quirks. Some of them have a rather unintuitive solution. In this article I cover some quirks and solutions I have encountered.

    - +
  • - +
  • Tricks and tools I learned about, while tweaking my Linux sytem or trying to do productive things.

    - + - + +
    + +
    -
    -
    Previous -CUPS -Next -
    -
    - diff --git a/build/rss.xml b/build/rss.xml index 990dec0..de63bd0 100644 --- a/build/rss.xml +++ b/build/rss.xml @@ -6,7 +6,7 @@ Here I post random stuff. en-us Mon, 12 Jan 2026 00:00:00 +0100 -Fri, 13 Feb 2026 17:43:19 +0100 +Fri, 20 Feb 2026 18:10:00 +0100 https://www.rssboard.org/rss-specification pandoc n.gude@posteo.de (Never) diff --git a/pandoc/html-template.html b/pandoc/html-template.html index c0866d5..9209431 100644 --- a/pandoc/html-template.html +++ b/pandoc/html-template.html @@ -35,15 +35,15 @@ $endif$ $endif$ +$for(include-before)$ +$include-before$ +$endfor$ -
    -$for(include-before)$ -$include-before$ -$endfor$ +
    $if(title)$

    $title$

    @@ -63,7 +63,6 @@ $abstract$
    $endif$

    -
    $endif$ $if(toc)$
    $if(articles.summary)$

    $articles.summary$

    $endif$ - + $endfor$ $endif$ - + +
    + +
    $for(include-after)$ $include-after$ $endfor$ -
    -
    Previous -CUPS -Next -
    -
    - diff --git a/public_html/eh/eh/eh/eh-eh/index.html b/public_html/eh/eh/eh/eh-eh/index.html index 3e783e9..6ecd442 100644 --- a/public_html/eh/eh/eh/eh-eh/index.html +++ b/public_html/eh/eh/eh/eh-eh/index.html @@ -90,15 +90,14 @@ -
    +

    Home

    -

    Hello! I am Never and this is my little place on the internet where I post the stuff that I am currently nerding out about.

    @@ -109,49 +108,56 @@ is also viewable via curl. Just run

    There also is an RSS Feed to stay updated about my doings.

    As Spotify is getting enshittified by capitalism, keeping a music library is kind of essential. Here I use rsync to syncronise my library with my Android smartphone.

    - +
  • - +
  • Latex undoubtedly has some quirks. Some of them have a rather unintuitive solution. In this article I cover some quirks and solutions I have encountered.

    - +
  • - +
  • Tricks and tools I learned about, while tweaking my Linux sytem or trying to do productive things.

    - + - + +
    + +
    -
    -
    Previous -CUPS -Next -
    -
    - diff --git a/public_html/eh/eh/eh/eh-eh/latex-endeavors.html b/public_html/eh/eh/eh/eh-eh/latex-endeavors.html index 43734aa..1f482a5 100644 --- a/public_html/eh/eh/eh/eh-eh/latex-endeavors.html +++ b/public_html/eh/eh/eh/eh-eh/latex-endeavors.html @@ -28,18 +28,17 @@ -
    +

    Latex Endeavors

    Some unintuitive quirks of Latex

    Never

    2026-01-09

    -
    +
    -
    Previous +
    +
    -
    diff --git a/public_html/eh/eh/eh/eh-eh/random-linux-utils.html b/public_html/eh/eh/eh/eh-eh/random-linux-utils.html index c19872a..cc720d5 100644 --- a/public_html/eh/eh/eh/eh-eh/random-linux-utils.html +++ b/public_html/eh/eh/eh/eh-eh/random-linux-utils.html @@ -92,18 +92,17 @@ -
    +

    Random linux utilities

    Neat things I picked up along the way

    Never

    2025-07-25

    -
    - +
    -
    Previous +
    +
    - diff --git a/public_html/eh/eh/eh/eh-eh/rss.xml b/public_html/eh/eh/eh/eh-eh/rss.xml index 990dec0..de63bd0 100644 --- a/public_html/eh/eh/eh/eh-eh/rss.xml +++ b/public_html/eh/eh/eh/eh-eh/rss.xml @@ -6,7 +6,7 @@ Here I post random stuff. en-us Mon, 12 Jan 2026 00:00:00 +0100 -Fri, 13 Feb 2026 17:43:19 +0100 +Fri, 20 Feb 2026 18:10:00 +0100 https://www.rssboard.org/rss-specification pandoc n.gude@posteo.de (Never) diff --git a/public_html/eh/eh/eh/eh-eh/rsync-android.html b/public_html/eh/eh/eh/eh-eh/rsync-android.html index ca302f5..07c9301 100644 --- a/public_html/eh/eh/eh/eh-eh/rsync-android.html +++ b/public_html/eh/eh/eh/eh-eh/rsync-android.html @@ -92,18 +92,17 @@ -
    +

    Using rsync on Android to syncronise my Music library

    Never

    2026-01-12

    -
    - +
    -
    Previous +
    +
    - diff --git a/public_html/eh/eh/eh/eh-eh/styles/style.css b/public_html/eh/eh/eh/eh-eh/styles/style.css index 4eda46e..b7756e5 100644 --- a/public_html/eh/eh/eh/eh-eh/styles/style.css +++ b/public_html/eh/eh/eh/eh-eh/styles/style.css @@ -1,26 +1,26 @@ :root { - --foreground: #1a1a1a; - --background: #fdfdfdc4; - --html-border: #c9c9c9; - --html-background: #1d5087; - --body-background: linear-gradient(to bottom, #5ab9de, #1d5087); - --blockquote-text: #606060; - --blockquote-border: #e6e6e6; - --button-primary: #e3e3e3; - --button-secondary: #d0d0d0; + --foreground: #586e75; + --background: #fdf6e3; + --html-border: #eee8d5; + --html-background: #268bd2; + --body-background: linear-gradient(to bottom, #2aa198, #268bd2); + --blockquote-text: #657b83; + --blockquote-border: #eee8d5; + --button-primary: #fdf6e3; + --button-secondary: #eee8d5; } @media (prefers-color-scheme: dark) { :root { - --foreground: #fdfdfd; - --background: #1a1a1ac4; - --html-border: #4c4c4c; - --html-background: #391d87; - --body-background: linear-gradient(to bottom, #5a6fde, #391d87); - --blockquote-text: #e6e6e6; - --blockquote-border: #606060; - --button-primary: #4c4c4c; - --button-secondary: #404040; + --foreground: #93a1a1; + --background: #002b36; + --html-border: #073642; + --html-background: #6c71c4; + --body-background: linear-gradient(to bottom, #268bd2, #6c71c4); + --blockquote-text: #839496; + --blockquote-border: #073642; + --button-primary: #073642; + --button-secondary: #002b36; } } @@ -35,24 +35,27 @@ html { body { margin: 0; background: var(--body-background); - z-index: 0; } -#page { +main { position: relative; - background-color: var(--background); - border: solid 1pt var(--html-border); - margin: 0 auto; + z-index: 2; max-width: 48em; + + margin: 0 auto; padding-left: 50pt; padding-right: 50pt; padding-top: 50pt; padding-bottom: 50pt; + hyphens: auto; overflow-wrap: break-word; text-rendering: optimizeLegibility; font-kerning: normal; - z-index: 2; + + background-color: var(--background); + border-left: solid 3pt var(--html-border); + border-right: solid 3pt var(--html-border); } #tv-screen { @@ -63,12 +66,18 @@ body { } #page-header { - padding: 4pt; + position: relative; + z-index: 2; display: flex; justify-content: space-between; + max-width: 60em; + + margin: 0 auto; + padding: 4pt; + background: url("images/shark-top-small.png"); background-size: contain; - border: 1pt solid var(--html-border); + border: solid 3pt var(--html-border); } #page-header a { @@ -88,6 +97,7 @@ body { } .rss-button { + color: #fdf6e3 !important; background: linear-gradient(to bottom, #fb9d3a 0%, #d95c29 100%); border: 1pt solid #f2994f; border-radius: 4pt; @@ -107,12 +117,13 @@ body { .articles-header { margin: 8pt 0 4pt 0; + text-align: left; } .articles-footer { - margin-top: 4pt; display: flex; justify-content: space-between; + margin-top: 4pt; } .articles-title { @@ -133,22 +144,27 @@ body { } #page-footer { - padding: 4pt; - border: 1pt solid var(--html-border); - background: url("images/shark-top-small.png"); - background-size: contain; + position: relative; + z-index: 2; display: flex; justify-content: center; + max-width: 60em; + + margin: 0 auto; + padding: 4pt; + + background: url("images/shark-top-small.png"); + background-size: contain; + border: solid 3pt var(--html-border); } -#page-footer div { +#page-footer nav { display: flex; - flex-direction: row; align-items: center; } @media (max-width: 600px) { - #page { + main { font-size: 0.9em; padding: 12pt; } diff --git a/styles/style.css b/styles/style.css index 4eda46e..b7756e5 100644 --- a/styles/style.css +++ b/styles/style.css @@ -1,26 +1,26 @@ :root { - --foreground: #1a1a1a; - --background: #fdfdfdc4; - --html-border: #c9c9c9; - --html-background: #1d5087; - --body-background: linear-gradient(to bottom, #5ab9de, #1d5087); - --blockquote-text: #606060; - --blockquote-border: #e6e6e6; - --button-primary: #e3e3e3; - --button-secondary: #d0d0d0; + --foreground: #586e75; + --background: #fdf6e3; + --html-border: #eee8d5; + --html-background: #268bd2; + --body-background: linear-gradient(to bottom, #2aa198, #268bd2); + --blockquote-text: #657b83; + --blockquote-border: #eee8d5; + --button-primary: #fdf6e3; + --button-secondary: #eee8d5; } @media (prefers-color-scheme: dark) { :root { - --foreground: #fdfdfd; - --background: #1a1a1ac4; - --html-border: #4c4c4c; - --html-background: #391d87; - --body-background: linear-gradient(to bottom, #5a6fde, #391d87); - --blockquote-text: #e6e6e6; - --blockquote-border: #606060; - --button-primary: #4c4c4c; - --button-secondary: #404040; + --foreground: #93a1a1; + --background: #002b36; + --html-border: #073642; + --html-background: #6c71c4; + --body-background: linear-gradient(to bottom, #268bd2, #6c71c4); + --blockquote-text: #839496; + --blockquote-border: #073642; + --button-primary: #073642; + --button-secondary: #002b36; } } @@ -35,24 +35,27 @@ html { body { margin: 0; background: var(--body-background); - z-index: 0; } -#page { +main { position: relative; - background-color: var(--background); - border: solid 1pt var(--html-border); - margin: 0 auto; + z-index: 2; max-width: 48em; + + margin: 0 auto; padding-left: 50pt; padding-right: 50pt; padding-top: 50pt; padding-bottom: 50pt; + hyphens: auto; overflow-wrap: break-word; text-rendering: optimizeLegibility; font-kerning: normal; - z-index: 2; + + background-color: var(--background); + border-left: solid 3pt var(--html-border); + border-right: solid 3pt var(--html-border); } #tv-screen { @@ -63,12 +66,18 @@ body { } #page-header { - padding: 4pt; + position: relative; + z-index: 2; display: flex; justify-content: space-between; + max-width: 60em; + + margin: 0 auto; + padding: 4pt; + background: url("images/shark-top-small.png"); background-size: contain; - border: 1pt solid var(--html-border); + border: solid 3pt var(--html-border); } #page-header a { @@ -88,6 +97,7 @@ body { } .rss-button { + color: #fdf6e3 !important; background: linear-gradient(to bottom, #fb9d3a 0%, #d95c29 100%); border: 1pt solid #f2994f; border-radius: 4pt; @@ -107,12 +117,13 @@ body { .articles-header { margin: 8pt 0 4pt 0; + text-align: left; } .articles-footer { - margin-top: 4pt; display: flex; justify-content: space-between; + margin-top: 4pt; } .articles-title { @@ -133,22 +144,27 @@ body { } #page-footer { - padding: 4pt; - border: 1pt solid var(--html-border); - background: url("images/shark-top-small.png"); - background-size: contain; + position: relative; + z-index: 2; display: flex; justify-content: center; + max-width: 60em; + + margin: 0 auto; + padding: 4pt; + + background: url("images/shark-top-small.png"); + background-size: contain; + border: solid 3pt var(--html-border); } -#page-footer div { +#page-footer nav { display: flex; - flex-direction: row; align-items: center; } @media (max-width: 600px) { - #page { + main { font-size: 0.9em; padding: 12pt; } From cf932791411a57af9ccdc4d21a139461a64c9e58 Mon Sep 17 00:00:00 2001 From: Never Gude Date: Fri, 20 Feb 2026 20:13:39 +0100 Subject: [PATCH 19/28] update syntax style --- Makefile | 5 +- build/articles/random-linux-utils.html | 65 ++--- build/articles/rsync-android.html | 65 ++--- build/index.html | 65 ++--- build/rss.xml | 2 +- pandoc/solarized.theme | 226 ++++++++++++++++++ public_html/eh/eh/eh/eh-eh/index.html | 65 ++--- .../eh/eh/eh/eh-eh/random-linux-utils.html | 65 ++--- public_html/eh/eh/eh/eh-eh/rss.xml | 2 +- public_html/eh/eh/eh/eh-eh/rsync-android.html | 65 ++--- 10 files changed, 435 insertions(+), 190 deletions(-) create mode 100644 pandoc/solarized.theme diff --git a/Makefile b/Makefile index 2a0208d..0df6def 100644 --- a/Makefile +++ b/Makefile @@ -13,6 +13,7 @@ IMAGEDIR := images # The name of the stylesheet. This needs to be copied to any directory containing html files that use it. style := $(STYLEDIR)/style.css +syntax_style := $(PANDOCDIR)/solarized.theme # Main html template that pandoc uses to generate .html from .md files template_html := $(PANDOCDIR)/html-template.html @@ -50,7 +51,7 @@ $(BUILDDIR)/$(ARTICLEDIR)/%.html: $(SRCDIR)/$(ARTICLEDIR)/%.md | $(BUILDDIR) jq 'del(.articles[] | select(.filename == "$(patsubst %.html,%,$(notdir $@))"))' $(article_list) > articles.json.tmp; \ mv articles.json.tmp $(article_list); \ # Build articles using pandoc - pandoc $< --template $(template_html) --css $(style) --highlight-style zenburn --mathml --toc --output $@; \ + pandoc $< --template $(template_html) --css $(style) --highlight-style $(syntax_style) --mathml --toc --output $@; \ # Extract metadata from .md file, append filename field to the article object. # This is used to link to the article from index.html. Append article object to the article list. jq '.articles += [$(shell pandoc $< --template $(list_template) | jq '. += {"filename": "$(patsubst %.html,%,$(notdir $@))", "pubdate": "$(shell date -d $(shell pandoc $< --template $(list_template) | jq '.date') --rfc-2822)"}')]' $(article_list) > articles.json.tmp; \ @@ -65,7 +66,7 @@ $(BUILDDIR)/index.html: $(SRCDIR)/index.md $(articles_html) | $(BUILDDIR) jq '.articles |= sort_by(.date) | .articles |= reverse' ${article_list} > articles.json.tmp; \ mv articles.json.tmp ${article_list}; \ # Build index.html with metadata injected from articles_list - pandoc $< --template $(template_html) --include-after-body $(shark_js) --css $(style) --metadata-file $(article_list) --highlight-style zenburn --mathml --toc --output $@; + pandoc $< --template $(template_html) --include-after-body $(shark_js) --css $(style) --metadata-file $(article_list) --highlight-style $(syntax_style) --mathml --toc --output $@; $(BUILDDIR)/index: $(SRCDIR)/index.md $(articles_ansi) | $(BUILDDIR) pandoc $< --template $(template_ansi) --metadata-file $(article_list) --to ansi --output $@ diff --git a/build/articles/random-linux-utils.html b/build/articles/random-linux-utils.html index cc720d5..3b528d9 100644 --- a/build/articles/random-linux-utils.html +++ b/build/articles/random-linux-utils.html @@ -51,42 +51,45 @@ -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; padding: 0 4px; width: 4em; + background-color: #073642; + color: #586e75; } - pre.numberSource { margin-left: 3em; padding-left: 4px; } + pre.numberSource { margin-left: 3em; border-left: 1px solid #586e75; padding-left: 4px; } div.sourceCode - { color: #cccccc; background-color: #303030; } + { color: #839496; background-color: #002b36; } @media screen { pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; } } - code span.al { color: #ffcfaf; } /* Alert */ - code span.an { color: #7f9f7f; font-weight: bold; } /* Annotation */ - code span.at { } /* Attribute */ - code span.bn { color: #dca3a3; } /* BaseN */ - code span.bu { } /* BuiltIn */ - code span.cf { color: #f0dfaf; } /* ControlFlow */ - code span.ch { color: #dca3a3; } /* Char */ - code span.cn { color: #dca3a3; font-weight: bold; } /* Constant */ - code span.co { color: #7f9f7f; } /* Comment */ - code span.cv { color: #7f9f7f; font-weight: bold; } /* CommentVar */ - code span.do { color: #7f9f7f; } /* Documentation */ - code span.dt { color: #dfdfbf; } /* DataType */ - code span.dv { color: #dcdccc; } /* DecVal */ - code span.er { color: #c3bf9f; } /* Error */ - code span.ex { } /* Extension */ - code span.fl { color: #c0bed1; } /* Float */ - code span.fu { color: #efef8f; } /* Function */ - code span.im { } /* Import */ - code span.in { color: #7f9f7f; font-weight: bold; } /* Information */ - code span.kw { color: #f0dfaf; } /* Keyword */ - code span.op { color: #f0efd0; } /* Operator */ - code span.ot { color: #efef8f; } /* Other */ - code span.pp { color: #ffcfaf; font-weight: bold; } /* Preprocessor */ - code span.sc { color: #dca3a3; } /* SpecialChar */ - code span.ss { color: #cc9393; } /* SpecialString */ - code span.st { color: #cc9393; } /* String */ - code span.va { } /* Variable */ - code span.vs { color: #cc9393; } /* VerbatimString */ - code span.wa { color: #7f9f7f; font-weight: bold; } /* Warning */ + code span.al { color: #d33682; } /* Alert */ + code span.an { color: #dc322f; } /* Annotation */ + code span.at { color: #dc322f; } /* Attribute */ + code span.bn { color: #2aa198; } /* BaseN */ + code span.bu { color: #b58900; } /* BuiltIn */ + code span.cf { color: #859900; } /* ControlFlow */ + code span.ch { color: #2aa198; } /* Char */ + code span.cn { color: #b58900; } /* Constant */ + code span.co { color: #586e75; font-style: italic; } /* Comment */ + code span.cv { color: #268bd2; } /* CommentVar */ + code span.do { color: #586e75; font-style: italic; } /* Documentation */ + code span.dt { color: #b58900; } /* DataType */ + code span.dv { color: #2aa198; } /* DecVal */ + code span.er { color: #dc322f; text-decoration: underline; } /* Error */ + code span.ex { color: #b58900; } /* Extension */ + code span.fl { color: #2aa198; } /* Float */ + code span.fu { } /* Function */ + code span.im { color: #cb4b16; } /* Import */ + code span.in { color: #268bd2; } /* Information */ + code span.kw { color: #93a1a1; font-weight: bold; } /* Keyword */ + code span.op { } /* Operator */ + code span.ot { } /* Other */ + code span.pp { color: #cb4b16; } /* Preprocessor */ + code span.re { color: #cb4b16; } /* RegionMarker */ + code span.sc { color: #dc322f; } /* SpecialChar */ + code span.ss { color: #b58900; } /* SpecialString */ + code span.st { color: #2aa198; } /* String */ + code span.va { color: #cb4b16; } /* Variable */ + code span.vs { color: #dc322f; } /* VerbatimString */ + code span.wa { color: #b58900; } /* Warning */ diff --git a/build/articles/rsync-android.html b/build/articles/rsync-android.html index 07c9301..167b7e5 100644 --- a/build/articles/rsync-android.html +++ b/build/articles/rsync-android.html @@ -51,42 +51,45 @@ -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; padding: 0 4px; width: 4em; + background-color: #073642; + color: #586e75; } - pre.numberSource { margin-left: 3em; padding-left: 4px; } + pre.numberSource { margin-left: 3em; border-left: 1px solid #586e75; padding-left: 4px; } div.sourceCode - { color: #cccccc; background-color: #303030; } + { color: #839496; background-color: #002b36; } @media screen { pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; } } - code span.al { color: #ffcfaf; } /* Alert */ - code span.an { color: #7f9f7f; font-weight: bold; } /* Annotation */ - code span.at { } /* Attribute */ - code span.bn { color: #dca3a3; } /* BaseN */ - code span.bu { } /* BuiltIn */ - code span.cf { color: #f0dfaf; } /* ControlFlow */ - code span.ch { color: #dca3a3; } /* Char */ - code span.cn { color: #dca3a3; font-weight: bold; } /* Constant */ - code span.co { color: #7f9f7f; } /* Comment */ - code span.cv { color: #7f9f7f; font-weight: bold; } /* CommentVar */ - code span.do { color: #7f9f7f; } /* Documentation */ - code span.dt { color: #dfdfbf; } /* DataType */ - code span.dv { color: #dcdccc; } /* DecVal */ - code span.er { color: #c3bf9f; } /* Error */ - code span.ex { } /* Extension */ - code span.fl { color: #c0bed1; } /* Float */ - code span.fu { color: #efef8f; } /* Function */ - code span.im { } /* Import */ - code span.in { color: #7f9f7f; font-weight: bold; } /* Information */ - code span.kw { color: #f0dfaf; } /* Keyword */ - code span.op { color: #f0efd0; } /* Operator */ - code span.ot { color: #efef8f; } /* Other */ - code span.pp { color: #ffcfaf; font-weight: bold; } /* Preprocessor */ - code span.sc { color: #dca3a3; } /* SpecialChar */ - code span.ss { color: #cc9393; } /* SpecialString */ - code span.st { color: #cc9393; } /* String */ - code span.va { } /* Variable */ - code span.vs { color: #cc9393; } /* VerbatimString */ - code span.wa { color: #7f9f7f; font-weight: bold; } /* Warning */ + code span.al { color: #d33682; } /* Alert */ + code span.an { color: #dc322f; } /* Annotation */ + code span.at { color: #dc322f; } /* Attribute */ + code span.bn { color: #2aa198; } /* BaseN */ + code span.bu { color: #b58900; } /* BuiltIn */ + code span.cf { color: #859900; } /* ControlFlow */ + code span.ch { color: #2aa198; } /* Char */ + code span.cn { color: #b58900; } /* Constant */ + code span.co { color: #586e75; font-style: italic; } /* Comment */ + code span.cv { color: #268bd2; } /* CommentVar */ + code span.do { color: #586e75; font-style: italic; } /* Documentation */ + code span.dt { color: #b58900; } /* DataType */ + code span.dv { color: #2aa198; } /* DecVal */ + code span.er { color: #dc322f; text-decoration: underline; } /* Error */ + code span.ex { color: #b58900; } /* Extension */ + code span.fl { color: #2aa198; } /* Float */ + code span.fu { } /* Function */ + code span.im { color: #cb4b16; } /* Import */ + code span.in { color: #268bd2; } /* Information */ + code span.kw { color: #93a1a1; font-weight: bold; } /* Keyword */ + code span.op { } /* Operator */ + code span.ot { } /* Other */ + code span.pp { color: #cb4b16; } /* Preprocessor */ + code span.re { color: #cb4b16; } /* RegionMarker */ + code span.sc { color: #dc322f; } /* SpecialChar */ + code span.ss { color: #b58900; } /* SpecialString */ + code span.st { color: #2aa198; } /* String */ + code span.va { color: #cb4b16; } /* Variable */ + code span.vs { color: #dc322f; } /* VerbatimString */ + code span.wa { color: #b58900; } /* Warning */ diff --git a/build/index.html b/build/index.html index 6ecd442..d85497d 100644 --- a/build/index.html +++ b/build/index.html @@ -49,42 +49,45 @@ -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; padding: 0 4px; width: 4em; + background-color: #073642; + color: #586e75; } - pre.numberSource { margin-left: 3em; padding-left: 4px; } + pre.numberSource { margin-left: 3em; border-left: 1px solid #586e75; padding-left: 4px; } div.sourceCode - { color: #cccccc; background-color: #303030; } + { color: #839496; background-color: #002b36; } @media screen { pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; } } - code span.al { color: #ffcfaf; } /* Alert */ - code span.an { color: #7f9f7f; font-weight: bold; } /* Annotation */ - code span.at { } /* Attribute */ - code span.bn { color: #dca3a3; } /* BaseN */ - code span.bu { } /* BuiltIn */ - code span.cf { color: #f0dfaf; } /* ControlFlow */ - code span.ch { color: #dca3a3; } /* Char */ - code span.cn { color: #dca3a3; font-weight: bold; } /* Constant */ - code span.co { color: #7f9f7f; } /* Comment */ - code span.cv { color: #7f9f7f; font-weight: bold; } /* CommentVar */ - code span.do { color: #7f9f7f; } /* Documentation */ - code span.dt { color: #dfdfbf; } /* DataType */ - code span.dv { color: #dcdccc; } /* DecVal */ - code span.er { color: #c3bf9f; } /* Error */ - code span.ex { } /* Extension */ - code span.fl { color: #c0bed1; } /* Float */ - code span.fu { color: #efef8f; } /* Function */ - code span.im { } /* Import */ - code span.in { color: #7f9f7f; font-weight: bold; } /* Information */ - code span.kw { color: #f0dfaf; } /* Keyword */ - code span.op { color: #f0efd0; } /* Operator */ - code span.ot { color: #efef8f; } /* Other */ - code span.pp { color: #ffcfaf; font-weight: bold; } /* Preprocessor */ - code span.sc { color: #dca3a3; } /* SpecialChar */ - code span.ss { color: #cc9393; } /* SpecialString */ - code span.st { color: #cc9393; } /* String */ - code span.va { } /* Variable */ - code span.vs { color: #cc9393; } /* VerbatimString */ - code span.wa { color: #7f9f7f; font-weight: bold; } /* Warning */ + code span.al { color: #d33682; } /* Alert */ + code span.an { color: #dc322f; } /* Annotation */ + code span.at { color: #dc322f; } /* Attribute */ + code span.bn { color: #2aa198; } /* BaseN */ + code span.bu { color: #b58900; } /* BuiltIn */ + code span.cf { color: #859900; } /* ControlFlow */ + code span.ch { color: #2aa198; } /* Char */ + code span.cn { color: #b58900; } /* Constant */ + code span.co { color: #586e75; font-style: italic; } /* Comment */ + code span.cv { color: #268bd2; } /* CommentVar */ + code span.do { color: #586e75; font-style: italic; } /* Documentation */ + code span.dt { color: #b58900; } /* DataType */ + code span.dv { color: #2aa198; } /* DecVal */ + code span.er { color: #dc322f; text-decoration: underline; } /* Error */ + code span.ex { color: #b58900; } /* Extension */ + code span.fl { color: #2aa198; } /* Float */ + code span.fu { } /* Function */ + code span.im { color: #cb4b16; } /* Import */ + code span.in { color: #268bd2; } /* Information */ + code span.kw { color: #93a1a1; font-weight: bold; } /* Keyword */ + code span.op { } /* Operator */ + code span.ot { } /* Other */ + code span.pp { color: #cb4b16; } /* Preprocessor */ + code span.re { color: #cb4b16; } /* RegionMarker */ + code span.sc { color: #dc322f; } /* SpecialChar */ + code span.ss { color: #b58900; } /* SpecialString */ + code span.st { color: #2aa198; } /* String */ + code span.va { color: #cb4b16; } /* Variable */ + code span.vs { color: #dc322f; } /* VerbatimString */ + code span.wa { color: #b58900; } /* Warning */ diff --git a/build/rss.xml b/build/rss.xml index de63bd0..7f44aef 100644 --- a/build/rss.xml +++ b/build/rss.xml @@ -6,7 +6,7 @@ Here I post random stuff. en-us Mon, 12 Jan 2026 00:00:00 +0100 -Fri, 20 Feb 2026 18:10:00 +0100 +Fri, 20 Feb 2026 20:09:52 +0100 https://www.rssboard.org/rss-specification pandoc n.gude@posteo.de (Never) diff --git a/pandoc/solarized.theme b/pandoc/solarized.theme new file mode 100644 index 0000000..e89db08 --- /dev/null +++ b/pandoc/solarized.theme @@ -0,0 +1,226 @@ +{ + "metadata": { + "author": "Never Gude ", + "license": "Unlicense", + "name": "solarized", + "revision": 1 + }, + + "text-color": "#839496", + "background-color": "#002b36", + "line-number-color": "#586e75", + "line-number-background-color": "#073642", + + "text-styles": { + "Alert": { + "text-color": "#d33682", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "Annotation": { + "text-color": "#dc322f", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "Attribute": { + "text-color": "#dc322f", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "BaseN": { + "text-color": "#2aa198", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "BuiltIn": { + "text-color": "#b58900", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "Char": { + "text-color": "#2aa198", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "Comment": { + "text-color": "#586e75", + "background-color": null, + "bold": false, + "italic": true, + "underline": false + }, + "CommentVar": { + "text-color": "#268bd2", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "Constant": { + "text-color": "#b58900", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "ControlFlow": { + "text-color": "#859900", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "DataType": { + "text-color": "#b58900", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "DecVal": { + "text-color": "#2aa198", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "Documentation": { + "text-color": "#586e75", + "background-color": null, + "bold": false, + "italic": true, + "underline": false + }, + "Error": { + "text-color": "#dc322f", + "background-color": null, + "bold": false, + "italic": false, + "underline": true + }, + "Extension": { + "text-color": "#b58900", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "Float": { + "text-color": "#2aa198", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "Function": { + "text-color": null, + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "Import": { + "text-color": "#cb4b16", + "background-color": null, + "bold": null, + "italic": false, + "underline": false + }, + "Information": { + "text-color": "#268bd2", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "Keyword": { + "text-color": "#93a1a1", + "background-color": null, + "bold": true, + "italic": false, + "underline": false + }, + "Operator": { + "text-color": null, + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "Others": { + "text-color": null, + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "Preprocessor": { + "text-color": "#cb4b16", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "RegionMarker": { + "text-color": "#cb4b16", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "SpecialChar": { + "text-color": "#dc322f", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "SpecialString": { + "text-color": "#b58900", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "String": { + "text-color": "#2aa198", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "Variable": { + "text-color": "#cb4b16", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "VerbatimString": { + "text-color": "#dc322f", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "Warning": { + "text-color": "#b58900", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + } + } +} diff --git a/public_html/eh/eh/eh/eh-eh/index.html b/public_html/eh/eh/eh/eh-eh/index.html index 6ecd442..d85497d 100644 --- a/public_html/eh/eh/eh/eh-eh/index.html +++ b/public_html/eh/eh/eh/eh-eh/index.html @@ -49,42 +49,45 @@ -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; padding: 0 4px; width: 4em; + background-color: #073642; + color: #586e75; } - pre.numberSource { margin-left: 3em; padding-left: 4px; } + pre.numberSource { margin-left: 3em; border-left: 1px solid #586e75; padding-left: 4px; } div.sourceCode - { color: #cccccc; background-color: #303030; } + { color: #839496; background-color: #002b36; } @media screen { pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; } } - code span.al { color: #ffcfaf; } /* Alert */ - code span.an { color: #7f9f7f; font-weight: bold; } /* Annotation */ - code span.at { } /* Attribute */ - code span.bn { color: #dca3a3; } /* BaseN */ - code span.bu { } /* BuiltIn */ - code span.cf { color: #f0dfaf; } /* ControlFlow */ - code span.ch { color: #dca3a3; } /* Char */ - code span.cn { color: #dca3a3; font-weight: bold; } /* Constant */ - code span.co { color: #7f9f7f; } /* Comment */ - code span.cv { color: #7f9f7f; font-weight: bold; } /* CommentVar */ - code span.do { color: #7f9f7f; } /* Documentation */ - code span.dt { color: #dfdfbf; } /* DataType */ - code span.dv { color: #dcdccc; } /* DecVal */ - code span.er { color: #c3bf9f; } /* Error */ - code span.ex { } /* Extension */ - code span.fl { color: #c0bed1; } /* Float */ - code span.fu { color: #efef8f; } /* Function */ - code span.im { } /* Import */ - code span.in { color: #7f9f7f; font-weight: bold; } /* Information */ - code span.kw { color: #f0dfaf; } /* Keyword */ - code span.op { color: #f0efd0; } /* Operator */ - code span.ot { color: #efef8f; } /* Other */ - code span.pp { color: #ffcfaf; font-weight: bold; } /* Preprocessor */ - code span.sc { color: #dca3a3; } /* SpecialChar */ - code span.ss { color: #cc9393; } /* SpecialString */ - code span.st { color: #cc9393; } /* String */ - code span.va { } /* Variable */ - code span.vs { color: #cc9393; } /* VerbatimString */ - code span.wa { color: #7f9f7f; font-weight: bold; } /* Warning */ + code span.al { color: #d33682; } /* Alert */ + code span.an { color: #dc322f; } /* Annotation */ + code span.at { color: #dc322f; } /* Attribute */ + code span.bn { color: #2aa198; } /* BaseN */ + code span.bu { color: #b58900; } /* BuiltIn */ + code span.cf { color: #859900; } /* ControlFlow */ + code span.ch { color: #2aa198; } /* Char */ + code span.cn { color: #b58900; } /* Constant */ + code span.co { color: #586e75; font-style: italic; } /* Comment */ + code span.cv { color: #268bd2; } /* CommentVar */ + code span.do { color: #586e75; font-style: italic; } /* Documentation */ + code span.dt { color: #b58900; } /* DataType */ + code span.dv { color: #2aa198; } /* DecVal */ + code span.er { color: #dc322f; text-decoration: underline; } /* Error */ + code span.ex { color: #b58900; } /* Extension */ + code span.fl { color: #2aa198; } /* Float */ + code span.fu { } /* Function */ + code span.im { color: #cb4b16; } /* Import */ + code span.in { color: #268bd2; } /* Information */ + code span.kw { color: #93a1a1; font-weight: bold; } /* Keyword */ + code span.op { } /* Operator */ + code span.ot { } /* Other */ + code span.pp { color: #cb4b16; } /* Preprocessor */ + code span.re { color: #cb4b16; } /* RegionMarker */ + code span.sc { color: #dc322f; } /* SpecialChar */ + code span.ss { color: #b58900; } /* SpecialString */ + code span.st { color: #2aa198; } /* String */ + code span.va { color: #cb4b16; } /* Variable */ + code span.vs { color: #dc322f; } /* VerbatimString */ + code span.wa { color: #b58900; } /* Warning */ diff --git a/public_html/eh/eh/eh/eh-eh/random-linux-utils.html b/public_html/eh/eh/eh/eh-eh/random-linux-utils.html index cc720d5..3b528d9 100644 --- a/public_html/eh/eh/eh/eh-eh/random-linux-utils.html +++ b/public_html/eh/eh/eh/eh-eh/random-linux-utils.html @@ -51,42 +51,45 @@ -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; padding: 0 4px; width: 4em; + background-color: #073642; + color: #586e75; } - pre.numberSource { margin-left: 3em; padding-left: 4px; } + pre.numberSource { margin-left: 3em; border-left: 1px solid #586e75; padding-left: 4px; } div.sourceCode - { color: #cccccc; background-color: #303030; } + { color: #839496; background-color: #002b36; } @media screen { pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; } } - code span.al { color: #ffcfaf; } /* Alert */ - code span.an { color: #7f9f7f; font-weight: bold; } /* Annotation */ - code span.at { } /* Attribute */ - code span.bn { color: #dca3a3; } /* BaseN */ - code span.bu { } /* BuiltIn */ - code span.cf { color: #f0dfaf; } /* ControlFlow */ - code span.ch { color: #dca3a3; } /* Char */ - code span.cn { color: #dca3a3; font-weight: bold; } /* Constant */ - code span.co { color: #7f9f7f; } /* Comment */ - code span.cv { color: #7f9f7f; font-weight: bold; } /* CommentVar */ - code span.do { color: #7f9f7f; } /* Documentation */ - code span.dt { color: #dfdfbf; } /* DataType */ - code span.dv { color: #dcdccc; } /* DecVal */ - code span.er { color: #c3bf9f; } /* Error */ - code span.ex { } /* Extension */ - code span.fl { color: #c0bed1; } /* Float */ - code span.fu { color: #efef8f; } /* Function */ - code span.im { } /* Import */ - code span.in { color: #7f9f7f; font-weight: bold; } /* Information */ - code span.kw { color: #f0dfaf; } /* Keyword */ - code span.op { color: #f0efd0; } /* Operator */ - code span.ot { color: #efef8f; } /* Other */ - code span.pp { color: #ffcfaf; font-weight: bold; } /* Preprocessor */ - code span.sc { color: #dca3a3; } /* SpecialChar */ - code span.ss { color: #cc9393; } /* SpecialString */ - code span.st { color: #cc9393; } /* String */ - code span.va { } /* Variable */ - code span.vs { color: #cc9393; } /* VerbatimString */ - code span.wa { color: #7f9f7f; font-weight: bold; } /* Warning */ + code span.al { color: #d33682; } /* Alert */ + code span.an { color: #dc322f; } /* Annotation */ + code span.at { color: #dc322f; } /* Attribute */ + code span.bn { color: #2aa198; } /* BaseN */ + code span.bu { color: #b58900; } /* BuiltIn */ + code span.cf { color: #859900; } /* ControlFlow */ + code span.ch { color: #2aa198; } /* Char */ + code span.cn { color: #b58900; } /* Constant */ + code span.co { color: #586e75; font-style: italic; } /* Comment */ + code span.cv { color: #268bd2; } /* CommentVar */ + code span.do { color: #586e75; font-style: italic; } /* Documentation */ + code span.dt { color: #b58900; } /* DataType */ + code span.dv { color: #2aa198; } /* DecVal */ + code span.er { color: #dc322f; text-decoration: underline; } /* Error */ + code span.ex { color: #b58900; } /* Extension */ + code span.fl { color: #2aa198; } /* Float */ + code span.fu { } /* Function */ + code span.im { color: #cb4b16; } /* Import */ + code span.in { color: #268bd2; } /* Information */ + code span.kw { color: #93a1a1; font-weight: bold; } /* Keyword */ + code span.op { } /* Operator */ + code span.ot { } /* Other */ + code span.pp { color: #cb4b16; } /* Preprocessor */ + code span.re { color: #cb4b16; } /* RegionMarker */ + code span.sc { color: #dc322f; } /* SpecialChar */ + code span.ss { color: #b58900; } /* SpecialString */ + code span.st { color: #2aa198; } /* String */ + code span.va { color: #cb4b16; } /* Variable */ + code span.vs { color: #dc322f; } /* VerbatimString */ + code span.wa { color: #b58900; } /* Warning */ diff --git a/public_html/eh/eh/eh/eh-eh/rss.xml b/public_html/eh/eh/eh/eh-eh/rss.xml index de63bd0..7f44aef 100644 --- a/public_html/eh/eh/eh/eh-eh/rss.xml +++ b/public_html/eh/eh/eh/eh-eh/rss.xml @@ -6,7 +6,7 @@ Here I post random stuff. en-us Mon, 12 Jan 2026 00:00:00 +0100 -Fri, 20 Feb 2026 18:10:00 +0100 +Fri, 20 Feb 2026 20:09:52 +0100 https://www.rssboard.org/rss-specification pandoc n.gude@posteo.de (Never) diff --git a/public_html/eh/eh/eh/eh-eh/rsync-android.html b/public_html/eh/eh/eh/eh-eh/rsync-android.html index 07c9301..167b7e5 100644 --- a/public_html/eh/eh/eh/eh-eh/rsync-android.html +++ b/public_html/eh/eh/eh/eh-eh/rsync-android.html @@ -51,42 +51,45 @@ -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; padding: 0 4px; width: 4em; + background-color: #073642; + color: #586e75; } - pre.numberSource { margin-left: 3em; padding-left: 4px; } + pre.numberSource { margin-left: 3em; border-left: 1px solid #586e75; padding-left: 4px; } div.sourceCode - { color: #cccccc; background-color: #303030; } + { color: #839496; background-color: #002b36; } @media screen { pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; } } - code span.al { color: #ffcfaf; } /* Alert */ - code span.an { color: #7f9f7f; font-weight: bold; } /* Annotation */ - code span.at { } /* Attribute */ - code span.bn { color: #dca3a3; } /* BaseN */ - code span.bu { } /* BuiltIn */ - code span.cf { color: #f0dfaf; } /* ControlFlow */ - code span.ch { color: #dca3a3; } /* Char */ - code span.cn { color: #dca3a3; font-weight: bold; } /* Constant */ - code span.co { color: #7f9f7f; } /* Comment */ - code span.cv { color: #7f9f7f; font-weight: bold; } /* CommentVar */ - code span.do { color: #7f9f7f; } /* Documentation */ - code span.dt { color: #dfdfbf; } /* DataType */ - code span.dv { color: #dcdccc; } /* DecVal */ - code span.er { color: #c3bf9f; } /* Error */ - code span.ex { } /* Extension */ - code span.fl { color: #c0bed1; } /* Float */ - code span.fu { color: #efef8f; } /* Function */ - code span.im { } /* Import */ - code span.in { color: #7f9f7f; font-weight: bold; } /* Information */ - code span.kw { color: #f0dfaf; } /* Keyword */ - code span.op { color: #f0efd0; } /* Operator */ - code span.ot { color: #efef8f; } /* Other */ - code span.pp { color: #ffcfaf; font-weight: bold; } /* Preprocessor */ - code span.sc { color: #dca3a3; } /* SpecialChar */ - code span.ss { color: #cc9393; } /* SpecialString */ - code span.st { color: #cc9393; } /* String */ - code span.va { } /* Variable */ - code span.vs { color: #cc9393; } /* VerbatimString */ - code span.wa { color: #7f9f7f; font-weight: bold; } /* Warning */ + code span.al { color: #d33682; } /* Alert */ + code span.an { color: #dc322f; } /* Annotation */ + code span.at { color: #dc322f; } /* Attribute */ + code span.bn { color: #2aa198; } /* BaseN */ + code span.bu { color: #b58900; } /* BuiltIn */ + code span.cf { color: #859900; } /* ControlFlow */ + code span.ch { color: #2aa198; } /* Char */ + code span.cn { color: #b58900; } /* Constant */ + code span.co { color: #586e75; font-style: italic; } /* Comment */ + code span.cv { color: #268bd2; } /* CommentVar */ + code span.do { color: #586e75; font-style: italic; } /* Documentation */ + code span.dt { color: #b58900; } /* DataType */ + code span.dv { color: #2aa198; } /* DecVal */ + code span.er { color: #dc322f; text-decoration: underline; } /* Error */ + code span.ex { color: #b58900; } /* Extension */ + code span.fl { color: #2aa198; } /* Float */ + code span.fu { } /* Function */ + code span.im { color: #cb4b16; } /* Import */ + code span.in { color: #268bd2; } /* Information */ + code span.kw { color: #93a1a1; font-weight: bold; } /* Keyword */ + code span.op { } /* Operator */ + code span.ot { } /* Other */ + code span.pp { color: #cb4b16; } /* Preprocessor */ + code span.re { color: #cb4b16; } /* RegionMarker */ + code span.sc { color: #dc322f; } /* SpecialChar */ + code span.ss { color: #b58900; } /* SpecialString */ + code span.st { color: #2aa198; } /* String */ + code span.va { color: #cb4b16; } /* Variable */ + code span.vs { color: #dc322f; } /* VerbatimString */ + code span.wa { color: #b58900; } /* Warning */ From 6096df6978509f1a523b66d077499c869643593f Mon Sep 17 00:00:00 2001 From: Never Gude Date: Sat, 21 Feb 2026 02:07:03 +0100 Subject: [PATCH 20/28] SHORK --- Makefile | 5 +- build/articles/latex-endeavors.html | 3 +- build/articles/random-linux-utils.html | 3 +- build/articles/rsync-android.html | 3 +- build/index.html | 71 +-------------- build/rss.xml | 2 +- images/shark.png | Bin 115365 -> 0 bytes images/shork.png | Bin 0 -> 99325 bytes images/shork.xcf | Bin 0 -> 222909 bytes pandoc/html-template.html | 3 +- public_html/eh/eh/eh/eh-eh/images/shork.png | Bin 0 -> 99325 bytes public_html/eh/eh/eh/eh-eh/images/shork.xcf | Bin 0 -> 222909 bytes public_html/eh/eh/eh/eh-eh/index.html | 71 +-------------- .../eh/eh/eh/eh-eh/latex-endeavors.html | 3 +- .../eh/eh/eh/eh-eh/random-linux-utils.html | 3 +- public_html/eh/eh/eh/eh-eh/rss.xml | 2 +- public_html/eh/eh/eh/eh-eh/rsync-android.html | 3 +- public_html/eh/eh/eh/eh-eh/scripts/shork.js | 84 ++++++++++++++++++ public_html/eh/eh/eh/eh-eh/styles/style.css | 13 ++- scripts/shork.js | 84 ++++++++++++++++++ styles/style.css | 13 ++- 21 files changed, 201 insertions(+), 165 deletions(-) delete mode 100644 images/shark.png create mode 100644 images/shork.png create mode 100644 images/shork.xcf create mode 100644 public_html/eh/eh/eh/eh-eh/images/shork.png create mode 100644 public_html/eh/eh/eh/eh-eh/images/shork.xcf create mode 100644 public_html/eh/eh/eh/eh-eh/scripts/shork.js create mode 100644 scripts/shork.js diff --git a/Makefile b/Makefile index 0df6def..c6c978d 100644 --- a/Makefile +++ b/Makefile @@ -9,6 +9,7 @@ INSTALLDIR_ANSI := public_ansi/ ARTICLEDIR := articles PANDOCDIR := pandoc STYLEDIR := styles +SCRIPTDIR := scripts IMAGEDIR := images # The name of the stylesheet. This needs to be copied to any directory containing html files that use it. @@ -37,7 +38,7 @@ articles_ansi := $(patsubst $(SRCDIR)/%.md, $(BUILDDIR)/%, $(articles_md)) all: $(BUILDDIR)/index.html $(BUILDDIR)/index $(BUILDDIR)/rss.xml install: - cp -r $(BUILDDIR)/index.html $(BUILDDIR)/rss.xml $(articles_html) $(STYLEDIR) $(IMAGEDIR) $(INSTALLDIR_HTML); \ + cp -r $(BUILDDIR)/index.html $(BUILDDIR)/rss.xml $(articles_html) $(STYLEDIR) $(SCRIPTDIR) $(IMAGEDIR) $(INSTALLDIR_HTML); \ cp -r $(BUILDDIR)/index $(articles_ansi) $(INSTALLDIR_ANSI); clean: @@ -66,7 +67,7 @@ $(BUILDDIR)/index.html: $(SRCDIR)/index.md $(articles_html) | $(BUILDDIR) jq '.articles |= sort_by(.date) | .articles |= reverse' ${article_list} > articles.json.tmp; \ mv articles.json.tmp ${article_list}; \ # Build index.html with metadata injected from articles_list - pandoc $< --template $(template_html) --include-after-body $(shark_js) --css $(style) --metadata-file $(article_list) --highlight-style $(syntax_style) --mathml --toc --output $@; + pandoc $< --template $(template_html) --css $(style) --metadata-file $(article_list) --highlight-style $(syntax_style) --mathml --toc --output $@; $(BUILDDIR)/index: $(SRCDIR)/index.md $(articles_ansi) | $(BUILDDIR) pandoc $< --template $(template_ansi) --metadata-file $(article_list) --to ansi --output $@ diff --git a/build/articles/latex-endeavors.html b/build/articles/latex-endeavors.html index 1f482a5..37f6c7c 100644 --- a/build/articles/latex-endeavors.html +++ b/build/articles/latex-endeavors.html @@ -27,7 +27,7 @@ - +