From 9cfa71ff597944feb5ed73e80b223eb2a4a990d0 Mon Sep 17 00:00:00 2001 From: a Date: Thu, 26 Sep 2024 17:54:41 -0500 Subject: [PATCH] consolidate offshoot projects into main domain --- .gitignore | 4 + deploy | 4 +- hugo/.gitignore | 3 - {hugo => profile.hugo}/archetypes/comments.md | 0 {hugo => profile.hugo}/archetypes/notes.md | 0 {hugo => profile.hugo}/assets/scripts/main.js | 0 .../assets/scripts/search.js | 0 .../assets/styles/common/base.scss | 0 .../assets/styles/common/colors.scss | 0 .../assets/styles/common/content.scss | 0 .../assets/styles/common/reset.scss | 0 .../assets/styles/features/headings.scss | 0 .../assets/styles/features/links.scss | 0 .../assets/styles/features/search.scss | 0 .../styles/features/syntax-highlighting.scss | 0 .../assets/styles/layouts/index.scss | 0 .../assets/styles/mixins/fab-unit.scss | 0 .../assets/styles/mixins/shadow.scss | 0 .../assets/styles/partials/h-card.scss | 0 .../assets/styles/print.scss | 0 .../assets/styles/screen.scss | 0 {hugo => profile.hugo}/content/_index.md | 0 .../content/comments/_index.md | 0 .../index.md | 0 .../comments/status-as-a-service/index.md | 0 .../content/notes/100040916509633482/index.md | 0 .../notes/108588546793521204/image.png | Bin .../content/notes/108588546793521204/index.md | 0 .../content/notes/99865201213509948/index.md | 0 .../content/notes/99918136079992108/index.md | 0 .../content/notes/99963583159619719/index.md | 0 .../content/notes/99987017261137486/index.md | 0 .../content/notes/99999893512052394/index.md | 0 .../content/notes/_index.md | 0 .../content/shares/99985686693364517/index.md | 0 {hugo => profile.hugo}/hugo.toml | 0 {hugo => profile.hugo}/index.html | 0 .../_default/_markup/render-heading.html | 0 .../layouts/_default/baseof.html | 0 .../layouts/_default/list.html | 0 .../layouts/_default/single.html | 0 .../layouts/comments/single.html | 0 {hugo => profile.hugo}/layouts/index.html | 0 {hugo => profile.hugo}/layouts/index.json | 0 .../layouts/notes/single.html | 0 .../layouts/partials/h-card.html | 0 .../layouts/partials/seo.html | 0 .../partials/styles/external-links.html | 0 .../layouts/search/list.html | 0 {hugo => profile.hugo}/static/avatar.png | Bin {hugo => profile.hugo}/static/avatar2.png | Bin {hugo => profile.hugo}/static/header.jpg | Bin public/unstable/fedi-vs-web.html | 4 +- threads.hugo/archetypes/default.md | 6 + threads.hugo/assets/scripts/main.js | 15 + threads.hugo/assets/scripts/search.js | 225 ++++++++ threads.hugo/assets/styles/common.scss | 16 + threads.hugo/assets/styles/common/reset.scss | 5 + .../assets/styles/common/variables.scss | 0 .../styles/layouts/_default/baseof.scss | 24 + .../assets/styles/layouts/_default/list.scss | 15 + .../styles/layouts/_default/single.scss | 57 ++ threads.hugo/assets/styles/layouts/index.scss | 5 + .../styles/layouts/partials/nav-header.scss | 0 .../styles/layouts/partials/paginator.scss | 74 +++ .../layouts/partials/search/search-form.scss | 0 .../styles/layouts/partials/site-footer.scss | 5 + .../styles/layouts/partials/site-header.scss | 26 + .../assets/styles/layouts/search/list.scss | 0 threads.hugo/assets/styles/print.scss | 1 + threads.hugo/assets/styles/screen.scss | 1 + threads.hugo/content/search/_index.md | 3 + threads.hugo/content/threads/_index.md | 4 + .../threads/art-not-commodity/index.md | 22 + threads.hugo/content/threads/blocked/index.md | 16 + .../content/threads/boktai-3/index.md | 10 + .../content/threads/camera-gear/index.md | 23 + .../content/threads/crossposters/index.md | 27 + .../threads/deactivating-twitter/index.md | 18 + .../threads/gun-culture-in-america/index.md | 16 + .../threads/liberalism-and-trump/index.md | 63 +++ .../mastodon-as-twitter-do-over/index.md | 112 ++++ threads.hugo/content/threads/misc.md | 126 +++++ .../threads/multiple-accounts/index.md | 26 + .../content/threads/necromancy/index.md | 14 + .../content/threads/neoliberalism/index.md | 18 + .../threads/net-neutrality-repealed/index.md | 37 ++ .../content/threads/physical-bodies/index.md | 6 + .../threads/product-vs-profit/index.md | 12 + .../content/threads/reading-theory/index.md | 10 + .../threads/responsive-web-design/index.md | 12 + .../smartphones-and-capitalism/index.md | 26 + .../threads/syndicalism-is-dead/index.md | 18 + .../the-web-not-only-for-profit/index.md | 15 + threads.hugo/content/threads/ubi/index.md | 10 + .../content/threads/voluntarism/index.md | 12 + threads.hugo/deploy | 4 + threads.hugo/hugo.toml | 6 + threads.hugo/layouts/_default/baseof.html | 60 +++ threads.hugo/layouts/_default/list.html | 14 + threads.hugo/layouts/_default/single.html | 24 + threads.hugo/layouts/index.html | 9 + threads.hugo/layouts/index.json | 8 + threads.hugo/layouts/partials/nav-header.html | 15 + threads.hugo/layouts/partials/paginator.html | 16 + .../layouts/partials/search/search-form.html | 5 + .../layouts/partials/search/search-index.html | 3 + threads.hugo/layouts/partials/seo.html | 132 +++++ .../layouts/partials/site-footer.html | 6 + .../layouts/partials/site-header.html | 25 + threads.hugo/layouts/search/list.html | 22 + wiki.hugo/.gitignore | 3 + wiki.hugo/archetypes/default.md | 6 + wiki.hugo/assets/scripts/main.js | 15 + wiki.hugo/assets/scripts/search.js | 225 ++++++++ wiki.hugo/assets/styles/common/base.scss | 48 ++ wiki.hugo/assets/styles/common/colors.scss | 35 ++ wiki.hugo/assets/styles/common/content.scss | 207 ++++++++ wiki.hugo/assets/styles/common/reset.scss | 60 +++ .../assets/styles/components/breadcrumbs.scss | 27 + .../assets/styles/components/site-footer.scss | 41 ++ .../assets/styles/components/site-header.scss | 55 ++ .../styles/components/table-of-contents.scss | 30 ++ .../assets/styles/features/headings.scss | 94 ++++ wiki.hugo/assets/styles/features/search.scss | 71 +++ .../styles/features/syntax-highlighting.scss | 110 ++++ wiki.hugo/assets/styles/layouts/list.scss | 27 + wiki.hugo/assets/styles/layouts/single.scss | 3 + wiki.hugo/assets/styles/print.scss | 35 ++ wiki.hugo/assets/styles/screen.scss | 20 + wiki.hugo/assets/styles/screen/layout.scss | 0 wiki.hugo/assets/styles/screen/links.scss | 37 ++ wiki.hugo/content/_dump/_index.md | 2 + wiki.hugo/content/_dump/activitypub-2.md | 35 ++ .../content/_dump/activitypub-proglang.md | 20 + .../_dump/concepts/stores-and-transports.md | 13 + wiki.hugo/content/_dump/copyright-is-theft.md | 15 + wiki.hugo/content/_dump/defining-quotes.md | 74 +++ .../content/_dump/documentation-first.md | 5 + .../content/_dump/domain-number-system.md | 40 ++ .../content/_dump/drowning-in-awareness.md | 9 + wiki.hugo/content/_dump/email.md | 27 + .../_dump/fedi-critiques/blocklists-as-hoa.md | 31 ++ .../_dump/fedi-critiques/context-unaware.md | 29 + .../fedi-critiques/default-server-paradigm.md | 13 + .../fedi-as-reformist-option.md | 51 ++ .../fedi-critiques/implicit-vs-explicit.md | 35 ++ .../fedi-critiques/mainstreaming-mastodon.md | 41 ++ .../fedi-critiques/nation-stateificiation.md | 5 + .../_dump.md | 0 ...rcles-audiences-vs-lists-vs-collections.md | 23 + .../deactivating-twitter.md | 21 + .../fcc-repeals-net-neutrality.md | 27 + .../making-better-stuff-is-unprofitable.md | 5 + .../stop-using-crossposters.md | 21 + .../why-read-theory.md | 5 + wiki.hugo/content/_dump/hackerwars.38.md | 221 ++++++++ wiki.hugo/content/_dump/mastodon-api-value.md | 12 + wiki.hugo/content/_dump/plaintext-xml-json.md | 8 + .../content/_dump/services-vs-communities.md | 13 + .../content/_dump/shorts-are-too-long.md | 1 + .../content/_dump/social-media-failure.md | 7 + wiki.hugo/content/_dump/social.md | 83 +++ .../content/_dump/socialhub-threads/_index.md | 2 + .../dereferencing-non-https.md | 127 +++++ .../exposing-edit-history.md | 24 + .../follow-arbitrary-collections.md | 436 +++++++++++++++ .../note-vs-article-distinction.md | 159 ++++++ .../notification-to-refetch-object.md | 60 +++ .../signaling-side-effects-async.md | 82 +++ .../stricter-spec-for-collections.md | 114 ++++ wiki.hugo/content/_dump/w3c-http-supremacy.md | 16 + wiki.hugo/content/_dump/webfinger-as-dns.md | 53 ++ wiki.hugo/content/_index.md | 2 + wiki.hugo/content/foobar2000.md | 19 + wiki.hugo/content/gaming/_index.md | 2 + wiki.hugo/content/gaming/gc.md | 11 + wiki.hugo/content/gaming/minecraft/_index.md | 2 + .../content/gaming/minecraft/server/_index.md | 2 + .../gaming/minecraft/server/multiverse.md | 83 +++ wiki.hugo/content/gaming/n64.md | 114 ++++ wiki.hugo/content/gaming/retroarch.md | 11 + wiki.hugo/content/gaming/wii.md | 97 ++++ wiki.hugo/content/links/_dump.md | 53 ++ wiki.hugo/content/links/_index.md | 2 + wiki.hugo/content/links/essays.md | 62 +++ wiki.hugo/content/links/quotes.md | 21 + wiki.hugo/content/optics/_index.md | 2 + .../optics/how-to-order-glasses-online.md | 64 +++ wiki.hugo/content/photography.md | 19 + wiki.hugo/content/politics/_index.md | 2 + wiki.hugo/content/politics/fascism.md | 52 ++ wiki.hugo/content/politics/neoliberalism.md | 7 + wiki.hugo/content/politics/policy.md | 15 + wiki.hugo/content/politics/radicalization.md | 22 + wiki.hugo/content/politics/voluntarism.md | 11 + wiki.hugo/content/search/_index.md | 3 + wiki.hugo/content/sitemap/_index.md | 3 + wiki.hugo/content/tech/!misc.md | 1 + wiki.hugo/content/tech/_index.md | 2 + wiki.hugo/content/tech/communication.md | 36 ++ wiki.hugo/content/tech/computers/_index.md | 2 + .../content/tech/computers/build-notes.md | 61 +++ wiki.hugo/content/tech/computers/graphviz.md | 192 +++++++ .../content/tech/computers/linux-laptop.md | 35 ++ wiki.hugo/content/tech/computers/obs.md | 18 + wiki.hugo/content/tech/computers/zfs.md | 7 + wiki.hugo/content/tech/gorillaglass.md | 13 + wiki.hugo/content/tech/mastodon/_index.md | 2 + .../content/tech/mastodon/issue-tracker.md | 498 ++++++++++++++++++ wiki.hugo/content/tech/openweb.md | 26 + wiki.hugo/content/tech/social.md | 57 ++ wiki.hugo/content/tech/speakers.md | 68 +++ wiki.hugo/content/tech/spec/_index.md | 2 + .../content/tech/spec/activitypub/Activity.md | 420 +++++++++++++++ .../tech/spec/activitypub/Collection.md | 20 + .../content/tech/spec/activitypub/Create.md | 14 + .../content/tech/spec/activitypub/Follow.md | 46 ++ .../content/tech/spec/activitypub/_index.md | 18 + .../content/tech/spec/activitypub/_json-ld.md | 366 +++++++++++++ .../tech/spec/activitypub/_requirements.md | 272 ++++++++++ .../content/tech/spec/activitypub/actor.md | 101 ++++ .../content/tech/spec/activitypub/audience.md | 81 +++ .../Link-as-qualified-indirect-reference.md | 6 + .../tech/spec/activitypub/confusion/_index.md | 2 + .../confusion/accept-content-type.md | 137 +++++ .../confusion/audience-and-addressing.md | 84 +++ ...disambiguating-activity-by-shape-not-id.md | 21 + .../activitypub/confusion/note-vs-article.md | 109 ++++ .../preferredUsername-format-not-specified.md | 1 + .../confusion/public-addressing.md | 14 + .../confusion/server-managed-collections.md | 17 + .../confusion/tag-for-actual-taxonomy.md | 1 + .../content/tech/spec/activitypub/context.md | 75 +++ .../spec/activitypub/extensions/_index.md | 2 + .../extensions/as2-unofficial/Hashtag.md | 33 ++ .../extensions/as2-unofficial/_index.md | 2 + .../manuallyApprovesFollowers.md | 1 + .../extensions/as2-unofficial/movedTo.md | 3 + .../extensions/as2-unofficial/sensitive.md | 3 + .../spec/activitypub/extensions/as2/Flag.md | 35 ++ .../spec/activitypub/extensions/as2/Move.md | 24 + .../spec/activitypub/extensions/as2/_index.md | 2 + .../activitypub/extensions/http-signatures.md | 5 + .../spec/activitypub/extensions/toot/Emoji.md | 85 +++ .../activitypub/extensions/toot/_index.md | 2 + .../tech/spec/activitypub/gotchas/_index.md | 2 + .../spec/activitypub/gotchas/orderedItems.md | 21 + .../activitypub/gotchas/retroactive-Update.md | 1 + .../gotchas/validating-@context.md | 3 + .../spec/activitypub/gotchas/validating-id.md | 22 + .../activitypub/gotchas/validating-type.md | 32 ++ .../spec/activitypub/ideas/MAX_FOLLOWERS.md | 3 + .../tech/spec/activitypub/ideas/Message.md | 45 ++ .../tech/spec/activitypub/ideas/_index.md | 2 + .../tech/spec/activitypub/ideas/closedBy.md | 20 + .../spec/activitypub/ideas/do-not-inline.md | 9 + .../activitypub/ideas/exclude-followers.md | 13 + .../tech/spec/activitypub/ideas/jokes/Poke.md | 1 + .../spec/activitypub/ideas/jokes/_index.md | 2 + .../ideas/jokes/forum-signature.md | 5 + .../ideas/jokes/s2s-Block-reminder.md | 7 + .../activitypub/ideas/jokes/s2s-Ignore.md | 3 + .../map-Collection-onto-ldp-Container.md | 1 + .../ideas/map-Follow-onto-WebSub.md | 3 + .../activitypub/ideas/orderedAttachment.md | 45 ++ .../ideas/s2s-Add-instead-of-Create.md | 7 + .../tech/spec/activitypub/ideas/short-bio.md | 1 + .../shortcomings/Article-not-html-article.md | 15 + .../shortcomings/Invite-extending-Offer.md | 5 + .../Mention-not-usefully-defined.md | 5 + .../shortcomings/Service-type-ambiguous.md | 20 + .../spec/activitypub/shortcomings/_index.md | 2 + .../shortcomings/attributedTo-ambiguous.md | 57 ++ .../shortcomings/collections-underspecced.md | 34 ++ .../extensibility-in-plain-json.md | 8 + .../replies-have-no-side-effect.md | 4 + .../resource-vs-procedure-call.md | 8 + .../shortcomings/vcard-not-reused.md | 3 + .../content/tech/spec/activitypub/tag.md | 301 +++++++++++ wiki.hugo/content/tech/spec/email/_index.md | 2 + .../tech/spec/email/case-sensitivity.md | 30 ++ .../content/tech/spec/openid/!overview.md | 163 ++++++ wiki.hugo/content/tech/spec/openid/!scopes.md | 9 + wiki.hugo/content/tech/spec/openid/_index.md | 2 + wiki.hugo/content/tech/spec/webfinger.md | 3 + wiki.hugo/content/tech/tutorials/_index.md | 2 + .../content/tech/tutorials/att-bgw320-ipv6.md | 8 + .../content/tech/tutorials/onhub-openwrt.md | 166 ++++++ .../tech/tutorials/postgres-upgrade.md | 114 ++++ wiki.hugo/content/tech/tutorials/sveltekit.md | 93 ++++ .../content/tech/tutorials/woodpecker-ci.md | 126 +++++ wiki.hugo/content/tech/uri.md | 99 ++++ wiki.hugo/content/tech/websites.md | 58 ++ wiki.hugo/content/wrong/_index.md | 2 + wiki.hugo/content/wrong/address-books.md | 25 + .../content/wrong/incognito-is-not-private.md | 4 + wiki.hugo/content/wrong/personal-websites.md | 34 ++ wiki.hugo/content/wrong/social-media.md | 13 + wiki.hugo/content/wrong/tagging-too-basic.md | 38 ++ wiki.hugo/content/wrong/todo-apps.md | 21 + wiki.hugo/deploy | 4 + wiki.hugo/hugo.toml | 32 ++ .../_default/_markup/render-heading.html | 6 + .../layouts/_default/_markup/render-link.html | 20 + wiki.hugo/layouts/_default/baseof.html | 35 ++ wiki.hugo/layouts/_default/list.html | 52 ++ wiki.hugo/layouts/_default/single.html | 28 + wiki.hugo/layouts/index.json | 8 + wiki.hugo/layouts/partials/breadcrumbs.html | 27 + wiki.hugo/layouts/partials/lastmod.html | 3 + wiki.hugo/layouts/partials/name.html | 16 + .../layouts/partials/search/search-form.html | 5 + .../layouts/partials/search/search-index.html | 3 + wiki.hugo/layouts/partials/seo.html | 154 ++++++ wiki.hugo/layouts/partials/site-footer.html | 7 + wiki.hugo/layouts/partials/site-header.html | 11 + .../partials/styles/external-links.html | 12 + wiki.hugo/layouts/search/list.html | 22 + wiki.hugo/layouts/shortcodes/toc.html | 6 + wiki.hugo/layouts/sitemap/list.html | 41 ++ wiki.hugo/static/communication-diagram.png | Bin 0 -> 399595 bytes wiki.hugo/static/mastoFE-4.png | Bin 0 -> 729059 bytes wiki.hugo/static/scanlines-mask-640x480.png | Bin 0 -> 2546 bytes 324 files changed, 10521 insertions(+), 5 deletions(-) create mode 100644 .gitignore delete mode 100644 hugo/.gitignore rename {hugo => profile.hugo}/archetypes/comments.md (100%) rename {hugo => profile.hugo}/archetypes/notes.md (100%) rename {hugo => profile.hugo}/assets/scripts/main.js (100%) rename {hugo => profile.hugo}/assets/scripts/search.js (100%) rename {hugo => profile.hugo}/assets/styles/common/base.scss (100%) rename {hugo => profile.hugo}/assets/styles/common/colors.scss (100%) rename {hugo => profile.hugo}/assets/styles/common/content.scss (100%) rename {hugo => profile.hugo}/assets/styles/common/reset.scss (100%) rename {hugo => profile.hugo}/assets/styles/features/headings.scss (100%) rename {hugo => profile.hugo}/assets/styles/features/links.scss (100%) rename {hugo => profile.hugo}/assets/styles/features/search.scss (100%) rename {hugo => profile.hugo}/assets/styles/features/syntax-highlighting.scss (100%) rename {hugo => profile.hugo}/assets/styles/layouts/index.scss (100%) rename {hugo => profile.hugo}/assets/styles/mixins/fab-unit.scss (100%) rename {hugo => profile.hugo}/assets/styles/mixins/shadow.scss (100%) rename {hugo => profile.hugo}/assets/styles/partials/h-card.scss (100%) rename {hugo => profile.hugo}/assets/styles/print.scss (100%) rename {hugo => profile.hugo}/assets/styles/screen.scss (100%) rename {hugo => profile.hugo}/content/_index.md (100%) rename {hugo => profile.hugo}/content/comments/_index.md (100%) rename {hugo => profile.hugo}/content/comments/smartphones-arent-as-exciting-as-they-used-to-be/index.md (100%) rename {hugo => profile.hugo}/content/comments/status-as-a-service/index.md (100%) rename {hugo => profile.hugo}/content/notes/100040916509633482/index.md (100%) rename {hugo => profile.hugo}/content/notes/108588546793521204/image.png (100%) rename {hugo => profile.hugo}/content/notes/108588546793521204/index.md (100%) rename {hugo => profile.hugo}/content/notes/99865201213509948/index.md (100%) rename {hugo => profile.hugo}/content/notes/99918136079992108/index.md (100%) rename {hugo => profile.hugo}/content/notes/99963583159619719/index.md (100%) rename {hugo => profile.hugo}/content/notes/99987017261137486/index.md (100%) rename {hugo => profile.hugo}/content/notes/99999893512052394/index.md (100%) rename {hugo => profile.hugo}/content/notes/_index.md (100%) rename {hugo => profile.hugo}/content/shares/99985686693364517/index.md (100%) rename {hugo => profile.hugo}/hugo.toml (100%) rename {hugo => profile.hugo}/index.html (100%) rename {hugo => profile.hugo}/layouts/_default/_markup/render-heading.html (100%) rename {hugo => profile.hugo}/layouts/_default/baseof.html (100%) rename {hugo => profile.hugo}/layouts/_default/list.html (100%) rename {hugo => profile.hugo}/layouts/_default/single.html (100%) rename {hugo => profile.hugo}/layouts/comments/single.html (100%) rename {hugo => profile.hugo}/layouts/index.html (100%) rename {hugo => profile.hugo}/layouts/index.json (100%) rename {hugo => profile.hugo}/layouts/notes/single.html (100%) rename {hugo => profile.hugo}/layouts/partials/h-card.html (100%) rename {hugo => profile.hugo}/layouts/partials/seo.html (100%) rename {hugo => profile.hugo}/layouts/partials/styles/external-links.html (100%) rename {hugo => profile.hugo}/layouts/search/list.html (100%) rename {hugo => profile.hugo}/static/avatar.png (100%) rename {hugo => profile.hugo}/static/avatar2.png (100%) rename {hugo => profile.hugo}/static/header.jpg (100%) create mode 100644 threads.hugo/archetypes/default.md create mode 100644 threads.hugo/assets/scripts/main.js create mode 100644 threads.hugo/assets/scripts/search.js create mode 100644 threads.hugo/assets/styles/common.scss create mode 100644 threads.hugo/assets/styles/common/reset.scss create mode 100644 threads.hugo/assets/styles/common/variables.scss create mode 100644 threads.hugo/assets/styles/layouts/_default/baseof.scss create mode 100644 threads.hugo/assets/styles/layouts/_default/list.scss create mode 100644 threads.hugo/assets/styles/layouts/_default/single.scss create mode 100644 threads.hugo/assets/styles/layouts/index.scss create mode 100644 threads.hugo/assets/styles/layouts/partials/nav-header.scss create mode 100644 threads.hugo/assets/styles/layouts/partials/paginator.scss create mode 100644 threads.hugo/assets/styles/layouts/partials/search/search-form.scss create mode 100644 threads.hugo/assets/styles/layouts/partials/site-footer.scss create mode 100644 threads.hugo/assets/styles/layouts/partials/site-header.scss create mode 100644 threads.hugo/assets/styles/layouts/search/list.scss create mode 100644 threads.hugo/assets/styles/print.scss create mode 100644 threads.hugo/assets/styles/screen.scss create mode 100644 threads.hugo/content/search/_index.md create mode 100644 threads.hugo/content/threads/_index.md create mode 100644 threads.hugo/content/threads/art-not-commodity/index.md create mode 100644 threads.hugo/content/threads/blocked/index.md create mode 100644 threads.hugo/content/threads/boktai-3/index.md create mode 100644 threads.hugo/content/threads/camera-gear/index.md create mode 100644 threads.hugo/content/threads/crossposters/index.md create mode 100644 threads.hugo/content/threads/deactivating-twitter/index.md create mode 100644 threads.hugo/content/threads/gun-culture-in-america/index.md create mode 100644 threads.hugo/content/threads/liberalism-and-trump/index.md create mode 100644 threads.hugo/content/threads/mastodon-as-twitter-do-over/index.md create mode 100644 threads.hugo/content/threads/misc.md create mode 100644 threads.hugo/content/threads/multiple-accounts/index.md create mode 100644 threads.hugo/content/threads/necromancy/index.md create mode 100644 threads.hugo/content/threads/neoliberalism/index.md create mode 100644 threads.hugo/content/threads/net-neutrality-repealed/index.md create mode 100644 threads.hugo/content/threads/physical-bodies/index.md create mode 100644 threads.hugo/content/threads/product-vs-profit/index.md create mode 100644 threads.hugo/content/threads/reading-theory/index.md create mode 100644 threads.hugo/content/threads/responsive-web-design/index.md create mode 100644 threads.hugo/content/threads/smartphones-and-capitalism/index.md create mode 100644 threads.hugo/content/threads/syndicalism-is-dead/index.md create mode 100644 threads.hugo/content/threads/the-web-not-only-for-profit/index.md create mode 100644 threads.hugo/content/threads/ubi/index.md create mode 100644 threads.hugo/content/threads/voluntarism/index.md create mode 100755 threads.hugo/deploy create mode 100644 threads.hugo/hugo.toml create mode 100644 threads.hugo/layouts/_default/baseof.html create mode 100644 threads.hugo/layouts/_default/list.html create mode 100644 threads.hugo/layouts/_default/single.html create mode 100644 threads.hugo/layouts/index.html create mode 100644 threads.hugo/layouts/index.json create mode 100644 threads.hugo/layouts/partials/nav-header.html create mode 100644 threads.hugo/layouts/partials/paginator.html create mode 100644 threads.hugo/layouts/partials/search/search-form.html create mode 100644 threads.hugo/layouts/partials/search/search-index.html create mode 100644 threads.hugo/layouts/partials/seo.html create mode 100644 threads.hugo/layouts/partials/site-footer.html create mode 100644 threads.hugo/layouts/partials/site-header.html create mode 100644 threads.hugo/layouts/search/list.html create mode 100644 wiki.hugo/.gitignore create mode 100644 wiki.hugo/archetypes/default.md create mode 100644 wiki.hugo/assets/scripts/main.js create mode 100644 wiki.hugo/assets/scripts/search.js create mode 100644 wiki.hugo/assets/styles/common/base.scss create mode 100644 wiki.hugo/assets/styles/common/colors.scss create mode 100644 wiki.hugo/assets/styles/common/content.scss create mode 100644 wiki.hugo/assets/styles/common/reset.scss create mode 100644 wiki.hugo/assets/styles/components/breadcrumbs.scss create mode 100644 wiki.hugo/assets/styles/components/site-footer.scss create mode 100644 wiki.hugo/assets/styles/components/site-header.scss create mode 100644 wiki.hugo/assets/styles/components/table-of-contents.scss create mode 100644 wiki.hugo/assets/styles/features/headings.scss create mode 100644 wiki.hugo/assets/styles/features/search.scss create mode 100644 wiki.hugo/assets/styles/features/syntax-highlighting.scss create mode 100644 wiki.hugo/assets/styles/layouts/list.scss create mode 100644 wiki.hugo/assets/styles/layouts/single.scss create mode 100644 wiki.hugo/assets/styles/print.scss create mode 100644 wiki.hugo/assets/styles/screen.scss create mode 100644 wiki.hugo/assets/styles/screen/layout.scss create mode 100644 wiki.hugo/assets/styles/screen/links.scss create mode 100644 wiki.hugo/content/_dump/_index.md create mode 100644 wiki.hugo/content/_dump/activitypub-2.md create mode 100644 wiki.hugo/content/_dump/activitypub-proglang.md create mode 100644 wiki.hugo/content/_dump/concepts/stores-and-transports.md create mode 100644 wiki.hugo/content/_dump/copyright-is-theft.md create mode 100644 wiki.hugo/content/_dump/defining-quotes.md create mode 100644 wiki.hugo/content/_dump/documentation-first.md create mode 100644 wiki.hugo/content/_dump/domain-number-system.md create mode 100644 wiki.hugo/content/_dump/drowning-in-awareness.md create mode 100644 wiki.hugo/content/_dump/email.md create mode 100644 wiki.hugo/content/_dump/fedi-critiques/blocklists-as-hoa.md create mode 100644 wiki.hugo/content/_dump/fedi-critiques/context-unaware.md create mode 100644 wiki.hugo/content/_dump/fedi-critiques/default-server-paradigm.md create mode 100644 wiki.hugo/content/_dump/fedi-critiques/fedi-as-reformist-option.md create mode 100644 wiki.hugo/content/_dump/fedi-critiques/implicit-vs-explicit.md create mode 100644 wiki.hugo/content/_dump/fedi-critiques/mainstreaming-mastodon.md create mode 100644 wiki.hugo/content/_dump/fedi-critiques/nation-stateificiation.md create mode 100644 wiki.hugo/content/_dump/fedi-threads-to-republish-as-articles/_dump.md create mode 100644 wiki.hugo/content/_dump/fedi-threads-to-republish-as-articles/aspects-circles-audiences-vs-lists-vs-collections.md create mode 100644 wiki.hugo/content/_dump/fedi-threads-to-republish-as-articles/deactivating-twitter.md create mode 100644 wiki.hugo/content/_dump/fedi-threads-to-republish-as-articles/fcc-repeals-net-neutrality.md create mode 100644 wiki.hugo/content/_dump/fedi-threads-to-republish-as-articles/making-better-stuff-is-unprofitable.md create mode 100644 wiki.hugo/content/_dump/fedi-threads-to-republish-as-articles/stop-using-crossposters.md create mode 100644 wiki.hugo/content/_dump/fedi-threads-to-republish-as-articles/why-read-theory.md create mode 100644 wiki.hugo/content/_dump/hackerwars.38.md create mode 100644 wiki.hugo/content/_dump/mastodon-api-value.md create mode 100644 wiki.hugo/content/_dump/plaintext-xml-json.md create mode 100644 wiki.hugo/content/_dump/services-vs-communities.md create mode 100644 wiki.hugo/content/_dump/shorts-are-too-long.md create mode 100644 wiki.hugo/content/_dump/social-media-failure.md create mode 100644 wiki.hugo/content/_dump/social.md create mode 100644 wiki.hugo/content/_dump/socialhub-threads/_index.md create mode 100644 wiki.hugo/content/_dump/socialhub-threads/dereferencing-non-https.md create mode 100644 wiki.hugo/content/_dump/socialhub-threads/exposing-edit-history.md create mode 100644 wiki.hugo/content/_dump/socialhub-threads/follow-arbitrary-collections.md create mode 100644 wiki.hugo/content/_dump/socialhub-threads/note-vs-article-distinction.md create mode 100644 wiki.hugo/content/_dump/socialhub-threads/notification-to-refetch-object.md create mode 100644 wiki.hugo/content/_dump/socialhub-threads/signaling-side-effects-async.md create mode 100644 wiki.hugo/content/_dump/socialhub-threads/stricter-spec-for-collections.md create mode 100644 wiki.hugo/content/_dump/w3c-http-supremacy.md create mode 100644 wiki.hugo/content/_dump/webfinger-as-dns.md create mode 100644 wiki.hugo/content/_index.md create mode 100644 wiki.hugo/content/foobar2000.md create mode 100644 wiki.hugo/content/gaming/_index.md create mode 100644 wiki.hugo/content/gaming/gc.md create mode 100644 wiki.hugo/content/gaming/minecraft/_index.md create mode 100644 wiki.hugo/content/gaming/minecraft/server/_index.md create mode 100644 wiki.hugo/content/gaming/minecraft/server/multiverse.md create mode 100644 wiki.hugo/content/gaming/n64.md create mode 100644 wiki.hugo/content/gaming/retroarch.md create mode 100644 wiki.hugo/content/gaming/wii.md create mode 100644 wiki.hugo/content/links/_dump.md create mode 100644 wiki.hugo/content/links/_index.md create mode 100644 wiki.hugo/content/links/essays.md create mode 100644 wiki.hugo/content/links/quotes.md create mode 100644 wiki.hugo/content/optics/_index.md create mode 100644 wiki.hugo/content/optics/how-to-order-glasses-online.md create mode 100644 wiki.hugo/content/photography.md create mode 100644 wiki.hugo/content/politics/_index.md create mode 100644 wiki.hugo/content/politics/fascism.md create mode 100644 wiki.hugo/content/politics/neoliberalism.md create mode 100644 wiki.hugo/content/politics/policy.md create mode 100644 wiki.hugo/content/politics/radicalization.md create mode 100644 wiki.hugo/content/politics/voluntarism.md create mode 100644 wiki.hugo/content/search/_index.md create mode 100644 wiki.hugo/content/sitemap/_index.md create mode 100644 wiki.hugo/content/tech/!misc.md create mode 100644 wiki.hugo/content/tech/_index.md create mode 100644 wiki.hugo/content/tech/communication.md create mode 100644 wiki.hugo/content/tech/computers/_index.md create mode 100644 wiki.hugo/content/tech/computers/build-notes.md create mode 100644 wiki.hugo/content/tech/computers/graphviz.md create mode 100644 wiki.hugo/content/tech/computers/linux-laptop.md create mode 100644 wiki.hugo/content/tech/computers/obs.md create mode 100644 wiki.hugo/content/tech/computers/zfs.md create mode 100644 wiki.hugo/content/tech/gorillaglass.md create mode 100644 wiki.hugo/content/tech/mastodon/_index.md create mode 100644 wiki.hugo/content/tech/mastodon/issue-tracker.md create mode 100644 wiki.hugo/content/tech/openweb.md create mode 100644 wiki.hugo/content/tech/social.md create mode 100644 wiki.hugo/content/tech/speakers.md create mode 100644 wiki.hugo/content/tech/spec/_index.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/Activity.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/Collection.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/Create.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/Follow.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/_index.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/_json-ld.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/_requirements.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/actor.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/audience.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/confusion/Link-as-qualified-indirect-reference.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/confusion/_index.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/confusion/accept-content-type.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/confusion/audience-and-addressing.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/confusion/disambiguating-activity-by-shape-not-id.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/confusion/note-vs-article.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/confusion/preferredUsername-format-not-specified.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/confusion/public-addressing.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/confusion/server-managed-collections.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/confusion/tag-for-actual-taxonomy.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/context.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/extensions/_index.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/extensions/as2-unofficial/Hashtag.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/extensions/as2-unofficial/_index.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/extensions/as2-unofficial/manuallyApprovesFollowers.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/extensions/as2-unofficial/movedTo.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/extensions/as2-unofficial/sensitive.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/extensions/as2/Flag.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/extensions/as2/Move.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/extensions/as2/_index.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/extensions/http-signatures.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/extensions/toot/Emoji.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/extensions/toot/_index.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/gotchas/_index.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/gotchas/orderedItems.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/gotchas/retroactive-Update.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/gotchas/validating-@context.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/gotchas/validating-id.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/gotchas/validating-type.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/ideas/MAX_FOLLOWERS.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/ideas/Message.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/ideas/_index.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/ideas/closedBy.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/ideas/do-not-inline.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/ideas/exclude-followers.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/ideas/jokes/Poke.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/ideas/jokes/_index.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/ideas/jokes/forum-signature.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/ideas/jokes/s2s-Block-reminder.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/ideas/jokes/s2s-Ignore.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/ideas/map-Collection-onto-ldp-Container.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/ideas/map-Follow-onto-WebSub.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/ideas/orderedAttachment.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/ideas/s2s-Add-instead-of-Create.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/ideas/short-bio.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/shortcomings/Article-not-html-article.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/shortcomings/Invite-extending-Offer.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/shortcomings/Mention-not-usefully-defined.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/shortcomings/Service-type-ambiguous.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/shortcomings/_index.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/shortcomings/attributedTo-ambiguous.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/shortcomings/collections-underspecced.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/shortcomings/extensibility-in-plain-json.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/shortcomings/replies-have-no-side-effect.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/shortcomings/resource-vs-procedure-call.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/shortcomings/vcard-not-reused.md create mode 100644 wiki.hugo/content/tech/spec/activitypub/tag.md create mode 100644 wiki.hugo/content/tech/spec/email/_index.md create mode 100644 wiki.hugo/content/tech/spec/email/case-sensitivity.md create mode 100644 wiki.hugo/content/tech/spec/openid/!overview.md create mode 100644 wiki.hugo/content/tech/spec/openid/!scopes.md create mode 100644 wiki.hugo/content/tech/spec/openid/_index.md create mode 100644 wiki.hugo/content/tech/spec/webfinger.md create mode 100644 wiki.hugo/content/tech/tutorials/_index.md create mode 100644 wiki.hugo/content/tech/tutorials/att-bgw320-ipv6.md create mode 100644 wiki.hugo/content/tech/tutorials/onhub-openwrt.md create mode 100644 wiki.hugo/content/tech/tutorials/postgres-upgrade.md create mode 100644 wiki.hugo/content/tech/tutorials/sveltekit.md create mode 100644 wiki.hugo/content/tech/tutorials/woodpecker-ci.md create mode 100644 wiki.hugo/content/tech/uri.md create mode 100644 wiki.hugo/content/tech/websites.md create mode 100644 wiki.hugo/content/wrong/_index.md create mode 100644 wiki.hugo/content/wrong/address-books.md create mode 100644 wiki.hugo/content/wrong/incognito-is-not-private.md create mode 100644 wiki.hugo/content/wrong/personal-websites.md create mode 100644 wiki.hugo/content/wrong/social-media.md create mode 100644 wiki.hugo/content/wrong/tagging-too-basic.md create mode 100644 wiki.hugo/content/wrong/todo-apps.md create mode 100755 wiki.hugo/deploy create mode 100644 wiki.hugo/hugo.toml create mode 100644 wiki.hugo/layouts/_default/_markup/render-heading.html create mode 100644 wiki.hugo/layouts/_default/_markup/render-link.html create mode 100644 wiki.hugo/layouts/_default/baseof.html create mode 100644 wiki.hugo/layouts/_default/list.html create mode 100644 wiki.hugo/layouts/_default/single.html create mode 100644 wiki.hugo/layouts/index.json create mode 100644 wiki.hugo/layouts/partials/breadcrumbs.html create mode 100644 wiki.hugo/layouts/partials/lastmod.html create mode 100644 wiki.hugo/layouts/partials/name.html create mode 100644 wiki.hugo/layouts/partials/search/search-form.html create mode 100644 wiki.hugo/layouts/partials/search/search-index.html create mode 100644 wiki.hugo/layouts/partials/seo.html create mode 100644 wiki.hugo/layouts/partials/site-footer.html create mode 100644 wiki.hugo/layouts/partials/site-header.html create mode 100644 wiki.hugo/layouts/partials/styles/external-links.html create mode 100644 wiki.hugo/layouts/search/list.html create mode 100644 wiki.hugo/layouts/shortcodes/toc.html create mode 100644 wiki.hugo/layouts/sitemap/list.html create mode 100644 wiki.hugo/static/communication-diagram.png create mode 100644 wiki.hugo/static/mastoFE-4.png create mode 100644 wiki.hugo/static/scanlines-mask-640x480.png diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5ac33f9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +# Hugo artifacts +.hugo_build.lock +**/*.hugo/public +**/_gen \ No newline at end of file diff --git a/deploy b/deploy index e7e6bac..d26136b 100755 --- a/deploy +++ b/deploy @@ -1,2 +1,4 @@ #!/bin/bash -rsync -avz --delete public/ a@trwnh.com:/srv/http/trwnh.com +rsync -avz --delete public/ a@trwnh.com:/srv/http/trwnh.com \ +--exclude=wiki \ +--exclude=blog diff --git a/hugo/.gitignore b/hugo/.gitignore deleted file mode 100644 index fc795e5..0000000 --- a/hugo/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -**/public -**/_gen -.hugo_build.lock \ No newline at end of file diff --git a/hugo/archetypes/comments.md b/profile.hugo/archetypes/comments.md similarity index 100% rename from hugo/archetypes/comments.md rename to profile.hugo/archetypes/comments.md diff --git a/hugo/archetypes/notes.md b/profile.hugo/archetypes/notes.md similarity index 100% rename from hugo/archetypes/notes.md rename to profile.hugo/archetypes/notes.md diff --git a/hugo/assets/scripts/main.js b/profile.hugo/assets/scripts/main.js similarity index 100% rename from hugo/assets/scripts/main.js rename to profile.hugo/assets/scripts/main.js diff --git a/hugo/assets/scripts/search.js b/profile.hugo/assets/scripts/search.js similarity index 100% rename from hugo/assets/scripts/search.js rename to profile.hugo/assets/scripts/search.js diff --git a/hugo/assets/styles/common/base.scss b/profile.hugo/assets/styles/common/base.scss similarity index 100% rename from hugo/assets/styles/common/base.scss rename to profile.hugo/assets/styles/common/base.scss diff --git a/hugo/assets/styles/common/colors.scss b/profile.hugo/assets/styles/common/colors.scss similarity index 100% rename from hugo/assets/styles/common/colors.scss rename to profile.hugo/assets/styles/common/colors.scss diff --git a/hugo/assets/styles/common/content.scss b/profile.hugo/assets/styles/common/content.scss similarity index 100% rename from hugo/assets/styles/common/content.scss rename to profile.hugo/assets/styles/common/content.scss diff --git a/hugo/assets/styles/common/reset.scss b/profile.hugo/assets/styles/common/reset.scss similarity index 100% rename from hugo/assets/styles/common/reset.scss rename to profile.hugo/assets/styles/common/reset.scss diff --git a/hugo/assets/styles/features/headings.scss b/profile.hugo/assets/styles/features/headings.scss similarity index 100% rename from hugo/assets/styles/features/headings.scss rename to profile.hugo/assets/styles/features/headings.scss diff --git a/hugo/assets/styles/features/links.scss b/profile.hugo/assets/styles/features/links.scss similarity index 100% rename from hugo/assets/styles/features/links.scss rename to profile.hugo/assets/styles/features/links.scss diff --git a/hugo/assets/styles/features/search.scss b/profile.hugo/assets/styles/features/search.scss similarity index 100% rename from hugo/assets/styles/features/search.scss rename to profile.hugo/assets/styles/features/search.scss diff --git a/hugo/assets/styles/features/syntax-highlighting.scss b/profile.hugo/assets/styles/features/syntax-highlighting.scss similarity index 100% rename from hugo/assets/styles/features/syntax-highlighting.scss rename to profile.hugo/assets/styles/features/syntax-highlighting.scss diff --git a/hugo/assets/styles/layouts/index.scss b/profile.hugo/assets/styles/layouts/index.scss similarity index 100% rename from hugo/assets/styles/layouts/index.scss rename to profile.hugo/assets/styles/layouts/index.scss diff --git a/hugo/assets/styles/mixins/fab-unit.scss b/profile.hugo/assets/styles/mixins/fab-unit.scss similarity index 100% rename from hugo/assets/styles/mixins/fab-unit.scss rename to profile.hugo/assets/styles/mixins/fab-unit.scss diff --git a/hugo/assets/styles/mixins/shadow.scss b/profile.hugo/assets/styles/mixins/shadow.scss similarity index 100% rename from hugo/assets/styles/mixins/shadow.scss rename to profile.hugo/assets/styles/mixins/shadow.scss diff --git a/hugo/assets/styles/partials/h-card.scss b/profile.hugo/assets/styles/partials/h-card.scss similarity index 100% rename from hugo/assets/styles/partials/h-card.scss rename to profile.hugo/assets/styles/partials/h-card.scss diff --git a/hugo/assets/styles/print.scss b/profile.hugo/assets/styles/print.scss similarity index 100% rename from hugo/assets/styles/print.scss rename to profile.hugo/assets/styles/print.scss diff --git a/hugo/assets/styles/screen.scss b/profile.hugo/assets/styles/screen.scss similarity index 100% rename from hugo/assets/styles/screen.scss rename to profile.hugo/assets/styles/screen.scss diff --git a/hugo/content/_index.md b/profile.hugo/content/_index.md similarity index 100% rename from hugo/content/_index.md rename to profile.hugo/content/_index.md diff --git a/hugo/content/comments/_index.md b/profile.hugo/content/comments/_index.md similarity index 100% rename from hugo/content/comments/_index.md rename to profile.hugo/content/comments/_index.md diff --git a/hugo/content/comments/smartphones-arent-as-exciting-as-they-used-to-be/index.md b/profile.hugo/content/comments/smartphones-arent-as-exciting-as-they-used-to-be/index.md similarity index 100% rename from hugo/content/comments/smartphones-arent-as-exciting-as-they-used-to-be/index.md rename to profile.hugo/content/comments/smartphones-arent-as-exciting-as-they-used-to-be/index.md diff --git a/hugo/content/comments/status-as-a-service/index.md b/profile.hugo/content/comments/status-as-a-service/index.md similarity index 100% rename from hugo/content/comments/status-as-a-service/index.md rename to profile.hugo/content/comments/status-as-a-service/index.md diff --git a/hugo/content/notes/100040916509633482/index.md b/profile.hugo/content/notes/100040916509633482/index.md similarity index 100% rename from hugo/content/notes/100040916509633482/index.md rename to profile.hugo/content/notes/100040916509633482/index.md diff --git a/hugo/content/notes/108588546793521204/image.png b/profile.hugo/content/notes/108588546793521204/image.png similarity index 100% rename from hugo/content/notes/108588546793521204/image.png rename to profile.hugo/content/notes/108588546793521204/image.png diff --git a/hugo/content/notes/108588546793521204/index.md b/profile.hugo/content/notes/108588546793521204/index.md similarity index 100% rename from hugo/content/notes/108588546793521204/index.md rename to profile.hugo/content/notes/108588546793521204/index.md diff --git a/hugo/content/notes/99865201213509948/index.md b/profile.hugo/content/notes/99865201213509948/index.md similarity index 100% rename from hugo/content/notes/99865201213509948/index.md rename to profile.hugo/content/notes/99865201213509948/index.md diff --git a/hugo/content/notes/99918136079992108/index.md b/profile.hugo/content/notes/99918136079992108/index.md similarity index 100% rename from hugo/content/notes/99918136079992108/index.md rename to profile.hugo/content/notes/99918136079992108/index.md diff --git a/hugo/content/notes/99963583159619719/index.md b/profile.hugo/content/notes/99963583159619719/index.md similarity index 100% rename from hugo/content/notes/99963583159619719/index.md rename to profile.hugo/content/notes/99963583159619719/index.md diff --git a/hugo/content/notes/99987017261137486/index.md b/profile.hugo/content/notes/99987017261137486/index.md similarity index 100% rename from hugo/content/notes/99987017261137486/index.md rename to profile.hugo/content/notes/99987017261137486/index.md diff --git a/hugo/content/notes/99999893512052394/index.md b/profile.hugo/content/notes/99999893512052394/index.md similarity index 100% rename from hugo/content/notes/99999893512052394/index.md rename to profile.hugo/content/notes/99999893512052394/index.md diff --git a/hugo/content/notes/_index.md b/profile.hugo/content/notes/_index.md similarity index 100% rename from hugo/content/notes/_index.md rename to profile.hugo/content/notes/_index.md diff --git a/hugo/content/shares/99985686693364517/index.md b/profile.hugo/content/shares/99985686693364517/index.md similarity index 100% rename from hugo/content/shares/99985686693364517/index.md rename to profile.hugo/content/shares/99985686693364517/index.md diff --git a/hugo/hugo.toml b/profile.hugo/hugo.toml similarity index 100% rename from hugo/hugo.toml rename to profile.hugo/hugo.toml diff --git a/hugo/index.html b/profile.hugo/index.html similarity index 100% rename from hugo/index.html rename to profile.hugo/index.html diff --git a/hugo/layouts/_default/_markup/render-heading.html b/profile.hugo/layouts/_default/_markup/render-heading.html similarity index 100% rename from hugo/layouts/_default/_markup/render-heading.html rename to profile.hugo/layouts/_default/_markup/render-heading.html diff --git a/hugo/layouts/_default/baseof.html b/profile.hugo/layouts/_default/baseof.html similarity index 100% rename from hugo/layouts/_default/baseof.html rename to profile.hugo/layouts/_default/baseof.html diff --git a/hugo/layouts/_default/list.html b/profile.hugo/layouts/_default/list.html similarity index 100% rename from hugo/layouts/_default/list.html rename to profile.hugo/layouts/_default/list.html diff --git a/hugo/layouts/_default/single.html b/profile.hugo/layouts/_default/single.html similarity index 100% rename from hugo/layouts/_default/single.html rename to profile.hugo/layouts/_default/single.html diff --git a/hugo/layouts/comments/single.html b/profile.hugo/layouts/comments/single.html similarity index 100% rename from hugo/layouts/comments/single.html rename to profile.hugo/layouts/comments/single.html diff --git a/hugo/layouts/index.html b/profile.hugo/layouts/index.html similarity index 100% rename from hugo/layouts/index.html rename to profile.hugo/layouts/index.html diff --git a/hugo/layouts/index.json b/profile.hugo/layouts/index.json similarity index 100% rename from hugo/layouts/index.json rename to profile.hugo/layouts/index.json diff --git a/hugo/layouts/notes/single.html b/profile.hugo/layouts/notes/single.html similarity index 100% rename from hugo/layouts/notes/single.html rename to profile.hugo/layouts/notes/single.html diff --git a/hugo/layouts/partials/h-card.html b/profile.hugo/layouts/partials/h-card.html similarity index 100% rename from hugo/layouts/partials/h-card.html rename to profile.hugo/layouts/partials/h-card.html diff --git a/hugo/layouts/partials/seo.html b/profile.hugo/layouts/partials/seo.html similarity index 100% rename from hugo/layouts/partials/seo.html rename to profile.hugo/layouts/partials/seo.html diff --git a/hugo/layouts/partials/styles/external-links.html b/profile.hugo/layouts/partials/styles/external-links.html similarity index 100% rename from hugo/layouts/partials/styles/external-links.html rename to profile.hugo/layouts/partials/styles/external-links.html diff --git a/hugo/layouts/search/list.html b/profile.hugo/layouts/search/list.html similarity index 100% rename from hugo/layouts/search/list.html rename to profile.hugo/layouts/search/list.html diff --git a/hugo/static/avatar.png b/profile.hugo/static/avatar.png similarity index 100% rename from hugo/static/avatar.png rename to profile.hugo/static/avatar.png diff --git a/hugo/static/avatar2.png b/profile.hugo/static/avatar2.png similarity index 100% rename from hugo/static/avatar2.png rename to profile.hugo/static/avatar2.png diff --git a/hugo/static/header.jpg b/profile.hugo/static/header.jpg similarity index 100% rename from hugo/static/header.jpg rename to profile.hugo/static/header.jpg diff --git a/public/unstable/fedi-vs-web.html b/public/unstable/fedi-vs-web.html index 8c6284c..db7420a 100644 --- a/public/unstable/fedi-vs-web.html +++ b/public/unstable/fedi-vs-web.html @@ -35,9 +35,11 @@
-
+

fedi vs web

+

on the distinction between social network and social web, where activitypub straddles both

+

published around

the disconnect between activitypub and the fediverse

diff --git a/threads.hugo/archetypes/default.md b/threads.hugo/archetypes/default.md new file mode 100644 index 0000000..00e77bd --- /dev/null +++ b/threads.hugo/archetypes/default.md @@ -0,0 +1,6 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +date: {{ .Date }} +draft: true +--- + diff --git a/threads.hugo/assets/scripts/main.js b/threads.hugo/assets/scripts/main.js new file mode 100644 index 0000000..b336f2a --- /dev/null +++ b/threads.hugo/assets/scripts/main.js @@ -0,0 +1,15 @@ +/* +Use a window's inner dimensions for viewport units. +This fixes some mobile bugs +*/ + +var root = document.documentElement; +let vh = window.innerHeight * 0.01; +root.style.setProperty('--vh', `${vh}px`); + +// We listen to the resize event +window.addEventListener('resize', () => { + // We execute the same script as before + let vh = window.innerHeight * 0.01; + root.style.setProperty('--vh', `${vh}px`); +}); \ No newline at end of file diff --git a/threads.hugo/assets/scripts/search.js b/threads.hugo/assets/scripts/search.js new file mode 100644 index 0000000..e8dc3ef --- /dev/null +++ b/threads.hugo/assets/scripts/search.js @@ -0,0 +1,225 @@ +/* +tutorials used: +- https://aaronluna.dev/blog/add-search-to-static-site-lunrjs-hugo-vanillajs/#codepen-with-final-code +- https://victoria.dev/blog/add-search-to-hugo-static-sites-with-lunr/ +*/ + +let pagesIndex, searchIndex +const MAX_SUMMARY_LENGTH = 30 +const SENTENCE_BOUNDARY_REGEX = /\b\.\s/gm +const WORD_REGEX = /\b(\w*)[\W|\s|\b]?/gm + +async function initSearch() { + try { + const response = await fetch("/index.json"); + pagesIndex = await response.json(); + searchIndex = lunr(function () { + this.field("title"); + this.field("content"); + this.ref("href"); + pagesIndex.forEach((page) => this.add(page)); + }); + } catch (e) { + console.log(e); + } + console.log("Search index initialized") + // Get the query parameter(s) + const params = new URLSearchParams(window.location.search) + const query = params.get('query') + + // Perform a search if there is a query + if (query) { + // Retain the search input in the form when displaying results + document.getElementById('search-input').setAttribute('value', query) + + // Update the list with results + console.log("search performed") + let results = searchSite(query) + renderSearchResults(query, results) + } +} + +initSearch(); + +function searchSite(query) { + const originalQuery = query; + query = getLunrSearchQuery(query); + let results = getSearchResults(query); + return results.length + ? results + : query !== originalQuery + ? getSearchResults(originalQuery) + : []; +} + +function getLunrSearchQuery(query) { + const searchTerms = query.split(" "); + if (searchTerms.length === 1) { + return query; + } + query = ""; + for (const term of searchTerms) { + query += `+${term} `; + } + return query.trim(); +} + +function getSearchResults(query) { + return searchIndex.search(query).flatMap((hit) => { + if (hit.ref == "undefined") return []; + let pageMatch = pagesIndex.filter((page) => page.href === hit.ref)[0]; + pageMatch.score = hit.score; + return [pageMatch]; + }); +} + +function renderSearchResults(query, results) { + clearSearchResults(); + updateSearchResults(query, results); +} + +function clearSearchResults() { + const results = document.querySelector("#search-results"); + while (results.firstChild) results.removeChild(results.firstChild); +} + +function updateSearchResults(query, results) { + document.getElementById("results-query").innerHTML = query; + document.querySelector("#search-results").innerHTML = results + .map( + (hit) => ` +
  • + ${createTitleBlurb(query, hit.title)} +

    ${createSearchResultBlurb(query, hit.content)}

    +
  • + ` + ) + .join(""); + const searchResultListItems = document.querySelectorAll("#search-results li"); + document.getElementById("results-count").innerHTML = searchResultListItems.length; + document.getElementById("results-count-text").innerHTML = searchResultListItems.length === 1 ? "result" : "results"; + // searchResultListItems.forEach( + // (li) => (li.firstElementChild.style.color = getColorForSearchResult(li.dataset.score)) + // ); +} + +function createTitleBlurb(query, title) { + const searchQueryRegex = new RegExp(createQueryStringRegex(query), "gmi"); + return title.replace( + searchQueryRegex, + "$&" + ) +} + +function createSearchResultBlurb(query, pageContent) { + const searchQueryRegex = new RegExp(createQueryStringRegex(query), "gmi"); + const searchQueryHits = Array.from( + pageContent.matchAll(searchQueryRegex), + (m) => m.index + ); + const sentenceBoundaries = Array.from( + pageContent.matchAll(SENTENCE_BOUNDARY_REGEX), + (m) => m.index + ); + let searchResultText = ""; + let lastEndOfSentence = 0; + for (const hitLocation of searchQueryHits) { + if (hitLocation > lastEndOfSentence) { + for (let i = 0; i < sentenceBoundaries.length; i++) { + if (sentenceBoundaries[i] > hitLocation) { + const startOfSentence = i > 0 ? sentenceBoundaries[i - 1] + 1 : 0; + const endOfSentence = sentenceBoundaries[i]; + lastEndOfSentence = endOfSentence; + parsedSentence = pageContent.slice(startOfSentence, endOfSentence).trim(); + searchResultText += `${parsedSentence} ... `; + break; + } + } + } + const searchResultWords = tokenize(searchResultText); + const pageBreakers = searchResultWords.filter((word) => word.length > 50); + if (pageBreakers.length > 0) { + searchResultText = fixPageBreakers(searchResultText, pageBreakers); + } + if (searchResultWords.length >= MAX_SUMMARY_LENGTH) break; + } + return ellipsize(searchResultText, MAX_SUMMARY_LENGTH).replace( + searchQueryRegex, + "$&" + ); +} + +function createQueryStringRegex(query) { + const searchTerms = query.split(" "); + if (searchTerms.length == 1) { + return query; + } + query = ""; + for (const term of searchTerms) { + query += `${term}|`; + } + query = query.slice(0, -1); + return `(${query})`; +} + +function tokenize(input) { + const wordMatches = Array.from(input.matchAll(WORD_REGEX), (m) => m); + return wordMatches.map((m) => ({ + word: m[0], + start: m.index, + end: m.index + m[0].length, + length: m[0].length, + })); +} + +function fixPageBreakers(input, largeWords) { + largeWords.forEach((word) => { + const chunked = chunkify(word.word, 20); + input = input.replace(word.word, chunked); + }); + return input; +} + +function chunkify(input, chunkSize) { + let output = ""; + let totalChunks = (input.length / chunkSize) | 0; + let lastChunkIsUneven = input.length % chunkSize > 0; + if (lastChunkIsUneven) { + totalChunks += 1; + } + for (let i = 0; i < totalChunks; i++) { + let start = i * chunkSize; + let end = start + chunkSize; + if (lastChunkIsUneven && i === totalChunks - 1) { + end = input.length; + } + output += input.slice(start, end) + " "; + } + return output; +} + +function ellipsize(input, maxLength) { + const words = tokenize(input); + if (words.length <= maxLength) { + return input; + } + return input.slice(0, words[maxLength].end) + "..."; +} + +if (!String.prototype.matchAll) { + String.prototype.matchAll = function (regex) { + "use strict"; + function ensureFlag(flags, flag) { + return flags.includes(flag) ? flags : flags + flag; + } + function* matchAll(str, regex) { + const localCopy = new RegExp(regex, ensureFlag(regex.flags, "g")); + let match; + while ((match = localCopy.exec(str))) { + match.index = localCopy.lastIndex - match[0].length; + yield match; + } + } + return matchAll(this, regex); + }; +} \ No newline at end of file diff --git a/threads.hugo/assets/styles/common.scss b/threads.hugo/assets/styles/common.scss new file mode 100644 index 0000000..dc1362c --- /dev/null +++ b/threads.hugo/assets/styles/common.scss @@ -0,0 +1,16 @@ +@import 'common/reset.scss'; +@import 'common/variables.scss'; + +@import 'layouts/_default/baseof.scss'; +@import 'layouts/partials/site-header.scss'; +@import 'layouts/partials/nav-header.scss'; +@import 'layouts/partials/site-footer.scss'; + +@import 'layouts/index.scss'; +@import 'layouts/_default/list.scss'; +@import 'layouts/partials/paginator.scss'; + +@import 'layouts/_default/single.scss'; + +@import 'layouts/search/list.scss'; +@import 'layouts/partials/search/search-form.scss'; \ No newline at end of file diff --git a/threads.hugo/assets/styles/common/reset.scss b/threads.hugo/assets/styles/common/reset.scss new file mode 100644 index 0000000..4721693 --- /dev/null +++ b/threads.hugo/assets/styles/common/reset.scss @@ -0,0 +1,5 @@ +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} \ No newline at end of file diff --git a/threads.hugo/assets/styles/common/variables.scss b/threads.hugo/assets/styles/common/variables.scss new file mode 100644 index 0000000..e69de29 diff --git a/threads.hugo/assets/styles/layouts/_default/baseof.scss b/threads.hugo/assets/styles/layouts/_default/baseof.scss new file mode 100644 index 0000000..9894048 --- /dev/null +++ b/threads.hugo/assets/styles/layouts/_default/baseof.scss @@ -0,0 +1,24 @@ +html { + font-family: sans-serif; + --container-width: 75rem; + --pad-x: 1rem; + @media (min-width: 30rem) { + --pad-x: 2rem; + } +} +body { + min-height: 100vh; + display: flex; + flex-flow: column; +} +main { + flex-grow: 1; +} +.section { + padding-inline: var(--pad-x, 1rem); + padding-block: var(--pad-y, 0rem); +} +.container { + max-width: var(--container-width, 60rem); + margin: 0 auto; +} \ No newline at end of file diff --git a/threads.hugo/assets/styles/layouts/_default/list.scss b/threads.hugo/assets/styles/layouts/_default/list.scss new file mode 100644 index 0000000..6bbb71d --- /dev/null +++ b/threads.hugo/assets/styles/layouts/_default/list.scss @@ -0,0 +1,15 @@ +main._default-list { + display: flex; + flex-flow: column; + .pages { + flex-grow: 1; + display: flex; + padding-inline: var(--pad-x, 1rem); + .container { + flex-grow: 1; + .paginator { + height: 100%; + } + } + } +} \ No newline at end of file diff --git a/threads.hugo/assets/styles/layouts/_default/single.scss b/threads.hugo/assets/styles/layouts/_default/single.scss new file mode 100644 index 0000000..6a6e0c7 --- /dev/null +++ b/threads.hugo/assets/styles/layouts/_default/single.scss @@ -0,0 +1,57 @@ +main._default-single { + .container { + display: grid; + gap: 1em; + @media (min-width: 40rem) { + grid-template-columns: 1fr minmax(auto, 80ch) 1fr; + > * { + grid-column: 2; + } + } + } + .page { + @media (min-width: 40rem) { + font-size: 1.25em; + } + } + .page-header { + hr {display: none;} + padding-block: 2em; + } + .page-title { + font-weight: bold; + font-size: 1.953em; + line-height: 1; + } + .page-summary { + max-inline-size: 65ch; + font-size: 1.25em; + line-height: 1.4; + font-style: italic; + } + .page-date { + font-size: 1em; + line-height: 1; + } + .page-author { + display: none; + } + .page-content { + padding-block: 2em; + blockquote { + padding-block: 1rem; + padding-inline-start: 1rem; + border-inline-start: 4px solid black; + background: #eee; + font-style: italic; + } + h1 {font-size: 1.953em} + h2 {font-size: 1.563em} + h3 {font-size: 1.25em} + h4 {font-size: 1em} + h1, h2, h3, h4 {margin-block-start: 1em} + ul, ol { + margin-inline-start: 1em; + } + } +} \ No newline at end of file diff --git a/threads.hugo/assets/styles/layouts/index.scss b/threads.hugo/assets/styles/layouts/index.scss new file mode 100644 index 0000000..4400cae --- /dev/null +++ b/threads.hugo/assets/styles/layouts/index.scss @@ -0,0 +1,5 @@ +main.index { + .pages { + padding-inline: var(--pad-x, 1rem); + } +} \ No newline at end of file diff --git a/threads.hugo/assets/styles/layouts/partials/nav-header.scss b/threads.hugo/assets/styles/layouts/partials/nav-header.scss new file mode 100644 index 0000000..e69de29 diff --git a/threads.hugo/assets/styles/layouts/partials/paginator.scss b/threads.hugo/assets/styles/layouts/partials/paginator.scss new file mode 100644 index 0000000..5bdcf2c --- /dev/null +++ b/threads.hugo/assets/styles/layouts/partials/paginator.scss @@ -0,0 +1,74 @@ +.paginator { + display: flex; + flex-flow: column; + .list { + flex-grow: 1; + padding-block: 1em; + display: flex; + flex-flow: column; + gap: 1em; + .page { + width: 100%; + max-inline-size: 75ch; + a { + font-weight: bold; + } + span { + font-style: italic; + } + } + } + /* _internal/pagination.html */ + .pagination { + list-style: none; + display: flex; + justify-content: space-between; + gap: 1em; + inline-size: fit-content; + max-inline-size: 100%; + } + .page-item { + &.disabled { + + } + &.active { + font-weight: bold; + } + } + .page-link { + display: grid; + place-items: center; + font-size: 1em; + line-height: 1; + width: 3em; + height: 3em; + border-radius: 100em; + background: #eee; + text-decoration: none; + color: inherit; + transition: all 0.2s ease-in-out; + &:hover, &:active, &:focus { + background: #ace; + } + &[aria-label="First"], + &[aria-label="Previous"], + &[aria-label="Next"], + &[aria-label="Last"] + { + background: none; + &:hover, &:active, &:focus { + background: #ace; + } + } + } + .active .page-link { + background: #06f; + color: white; + } + .disabled .page-link { + background: none; + &:hover, &:active, &:focus { + background: none; + } + } +} \ No newline at end of file diff --git a/threads.hugo/assets/styles/layouts/partials/search/search-form.scss b/threads.hugo/assets/styles/layouts/partials/search/search-form.scss new file mode 100644 index 0000000..e69de29 diff --git a/threads.hugo/assets/styles/layouts/partials/site-footer.scss b/threads.hugo/assets/styles/layouts/partials/site-footer.scss new file mode 100644 index 0000000..abd3879 --- /dev/null +++ b/threads.hugo/assets/styles/layouts/partials/site-footer.scss @@ -0,0 +1,5 @@ +.site-footer { + hr {display: none;} + padding-inline: var(--pad-x, 1rem); + padding-block: var(--pad-y, 1rem); +} \ No newline at end of file diff --git a/threads.hugo/assets/styles/layouts/partials/site-header.scss b/threads.hugo/assets/styles/layouts/partials/site-header.scss new file mode 100644 index 0000000..8e9ad8e --- /dev/null +++ b/threads.hugo/assets/styles/layouts/partials/site-header.scss @@ -0,0 +1,26 @@ +.site-header { + padding-inline: var(--pad-x, 1rem); + padding-block: 1rem; + .container { + + } + .hang-left { + + } +} +.site-masthead { + text-decoration: none; + color: inherit; + &__image { + + } +} +.site-title { + +} +.scroll-margin { + +} +#top { + --header-height: 4rem; +} \ No newline at end of file diff --git a/threads.hugo/assets/styles/layouts/search/list.scss b/threads.hugo/assets/styles/layouts/search/list.scss new file mode 100644 index 0000000..e69de29 diff --git a/threads.hugo/assets/styles/print.scss b/threads.hugo/assets/styles/print.scss new file mode 100644 index 0000000..fc8bd5a --- /dev/null +++ b/threads.hugo/assets/styles/print.scss @@ -0,0 +1 @@ +@import 'common.scss'; \ No newline at end of file diff --git a/threads.hugo/assets/styles/screen.scss b/threads.hugo/assets/styles/screen.scss new file mode 100644 index 0000000..fc8bd5a --- /dev/null +++ b/threads.hugo/assets/styles/screen.scss @@ -0,0 +1 @@ +@import 'common.scss'; \ No newline at end of file diff --git a/threads.hugo/content/search/_index.md b/threads.hugo/content/search/_index.md new file mode 100644 index 0000000..a7f481a --- /dev/null +++ b/threads.hugo/content/search/_index.md @@ -0,0 +1,3 @@ ++++ +title = "Search" ++++ \ No newline at end of file diff --git a/threads.hugo/content/threads/_index.md b/threads.hugo/content/threads/_index.md new file mode 100644 index 0000000..7fda3a3 --- /dev/null +++ b/threads.hugo/content/threads/_index.md @@ -0,0 +1,4 @@ ++++ +title = "threads" +summary = "originally posted as threads on social media" ++++ \ No newline at end of file diff --git a/threads.hugo/content/threads/art-not-commodity/index.md b/threads.hugo/content/threads/art-not-commodity/index.md new file mode 100644 index 0000000..b3bb94d --- /dev/null +++ b/threads.hugo/content/threads/art-not-commodity/index.md @@ -0,0 +1,22 @@ ++++ +title = "art is not a commodity" +summary = "the real answer to making sure artists get paid is to actually pay them for the work they do, not to commodify what they produce" +date = "2023-01-02T21:00:00-06:00" +source = "https://mastodon.social/@trwnh/109623038871646811" ++++ + +well opposing copyright isn't thievery, for a start. theft is the act of taking something without returning it, removing the original. digital information can be infinitely and perfectly copied. + +copyright enforcement is instead about giving certain parties exclusive monopolies on the spread of information. this gatekeeps culture and stifles free expression. in return for what? trying to sell access? + +note also this monopoly is only enforced via the threat of state violence. + +tangentially, there's also the fundamental inversion of value that occurs when artists try to fund themselves by selling art as if it were a commodity. the value in art is not necessarily in the final product alone but moreso in the creation of it. + +copyright asks us to perform creative labour for free, and hope to recoup our losses via the market (in which you must differentiate yourself from millions of functionally equivalent forms of art and entertainment -- good luck!) + +when you recognize this inversion of value, you recognize that the real answer to making sure artists get paid is to actually pay them for the work they do, not to commodify what they produce. things like commissions, patronage, public works funds, etc. all get to the root and heart of the issue. + +copyright is in effect more akin to theft -- theft from the public, from the commons, from culture. it benefits no one except those who "own" a lot of art -- the disneys of the world. + +in short: if you want artists to get paid, copyright is a really poor and ineffective way to do that. it just leads to big monopolies on art, at the expense of everyone else. \ No newline at end of file diff --git a/threads.hugo/content/threads/blocked/index.md b/threads.hugo/content/threads/blocked/index.md new file mode 100644 index 0000000..4a347b0 --- /dev/null +++ b/threads.hugo/content/threads/blocked/index.md @@ -0,0 +1,16 @@ ++++ +title = "blocked" +summary = "it's the finality of such a situation that bothers me the most; the knowledge that no amount of apology will matter, nor will any attempt at reconciliation even be seen" +date = "2018-02-27T21:23:00-00:00" +source = "https://mastodon.social/@trwnh/99599426061591957" ++++ + +i wish i wasn't autistic because i'm really bad at reading social situations and here i am thinking i'm making light banter when instead i'm one post away from being blocked, before i can even apologize for misreading intent. end result is i just feel extremely shitty and like i'm terrible at being a human. i don't know how to vent my frustrations without it seeming personal, apparently + +also it's the finality of such a situation that bothers me the most; the knowledge that no amount of apology will matter, nor will any attempt at reconciliation even be seen. i've never been able to properly handle irreversibility. even though a block is technically reversible, it isn't practically. one mistake and it's over. and i *will* make those mistakes, because not only am i not perfect, but i'm hopelessly broken beyond repair, no matter how hard i try to learn how to socialize. + +and yet... i've not really been blocked much in my life (bar some democrats on birdsite who refuse to listen to left-poc) so i'm not totally insufferable or an absolute troll or a toxic personality. but of the more "misunderstood" blocks, one particular one comes to mind, because it was the only case where that person actually unblocked me years later. but that was much worse and what i said then was extremely insensitive. i wish i knew why they unblocked me. i'm too afraid to ask. + +sometimes i wonder why i care what total strangers think of me, and i don't know if it's better or worse to not care. it's not "shame" or "approval-seeking"; it's more of an intense urge to not be hated or begrudged. + +i guess that's a part of life, but it's not a part i'm comfortable with and i don't know if i ever will be. \ No newline at end of file diff --git a/threads.hugo/content/threads/boktai-3/index.md b/threads.hugo/content/threads/boktai-3/index.md new file mode 100644 index 0000000..b09ca22 --- /dev/null +++ b/threads.hugo/content/threads/boktai-3/index.md @@ -0,0 +1,10 @@ ++++ +title = "boktai deserved better" +summary = "where do you go to find quirky existentialist video games based on norse mythology and spaghetti westerns in the year of your lord 2018, you ask? you don't ;_;" +date = "2018-04-15T19:54:00-00:00" +source = "https://mastodon.social/@trwnh/99865201213509948" ++++ + +i'm so emo that boktai 3 never launched outside of japan and also that boktai as a series is super dead and konami will never continue it and kojima probably can't/won't either due to copyright and the fact that it's been over 10 years since boktai ds and also kojima doesn't work for konami anymore UGH + +where do you go to find quirky existentialist video games based on norse mythology and spaghetti westerns in the year of your lord 2018, you ask? you don't ;_; #boktai \ No newline at end of file diff --git a/threads.hugo/content/threads/camera-gear/index.md b/threads.hugo/content/threads/camera-gear/index.md new file mode 100644 index 0000000..5793393 --- /dev/null +++ b/threads.hugo/content/threads/camera-gear/index.md @@ -0,0 +1,23 @@ ++++ +title = "don't worry about camera gear" +summary = "I wouldn't recommend going for ILCs unless you have a dedicated use case [...] Once you've picked a niche, then the gear choices will result naturally." +date = "2018-04-09T22:28:00-00:00" +source = "https://mastodon.social/@trwnh/99831836537266861" ++++ + +> On a less cranky note, I really want to get myself a nice digital camera. Any photographers out there with strong opinions on the matter? + +* What type of photos do you want to take? +* What's your budget? +* Do you want to deal with carrying multiple lenses / heavy bodies / etc? +* What's the destination / use case for your photos? + +> all kinds. Budget isn't too much of an issue I can just save up longer. Multiple lenses are fun and I'll probably get a couple solid bags so not too put out about weight. Destination unknown. + +Well, I'm just going to say that if you don't have any idea at all, then that also means you can't really get a good answer. I wouldn't recommend going for ILCs unless you have a dedicated use case -- a compact or even a smartphone will do fine in most general cases. (I picked up a Sony RX100 M2 used for a few hundred bucks for my general shots.) + +Once you've picked a niche, then the gear choices will result naturally. As a general rule, spend more on glass than on bodies. Probably pick two telephoto lenses, one below ~70mm (down to 35mm or 24mm) and one above (up to about 200mm). Get a body with a sensor that's at least APS-C, and at least 12MP. A Sony a6000 or a6300 will be most versatile in the $750-1000 range (body only). You'll be spending an additional $400-$1000 for each quality lens you also pick up. + +> fair enough! I'm just doing my research right now so I appreciate the honesty. + +you're welcome :) it's really important to know what you're getting yourself into. a lot of people buy in way too early and stick with a kit lens because they didn't budget for lens -- and at that point, you might as well get a 1" compact, maybe even a Micro Four-Thirds like the Fujifilm X100 series if you can afford it. \ No newline at end of file diff --git a/threads.hugo/content/threads/crossposters/index.md b/threads.hugo/content/threads/crossposters/index.md new file mode 100644 index 0000000..b3d4fa1 --- /dev/null +++ b/threads.hugo/content/threads/crossposters/index.md @@ -0,0 +1,27 @@ ++++ +title = "stop using crossposters" +summary = "crossposts really don't engender organic engagement. They feel robotic and distant, largely because they're just that" +date = "2017-11-26T02:20:00-06:00" +source = [ + "https://mastodon.social/@trwnh/99069749589979672", + "https://mastodon.social/@trwnh/99093644445157168", +] ++++ + +Stop using crossposters. + +Not to, like, force y'all to do something, but crossposters are self-defeating. + +It's far better to commit to a network rather than just make a carbon copy of yourself, because if you're posting exactly the same things, then what even is the point of having two networks? + +That's just unnecessarily redundant. + +I've been through this kinda rigmarole before when I tried using diaspora*, and the end result was that I completely abandoned it because I wasn't getting any meaningful interactions out of it compared to Twitter. Which was a shame, because I really liked diaspora*. + +The problem, of course, is that you will inevitably gravitate to whichever platform nets you more interaction. And crossposts really don't engender organic engagement. They feel robotic and distant, largely because they're just that + +## followup + +ugh i really hope crossposters don't slowly choke mastodon like they did to diaspora* + +if you're just crossposting everything you tweet on birdsite then what even is the point of making a mastodon account? that's glorified spam at worst, and a recipe for abandonment. \ No newline at end of file diff --git a/threads.hugo/content/threads/deactivating-twitter/index.md b/threads.hugo/content/threads/deactivating-twitter/index.md new file mode 100644 index 0000000..267ac3d --- /dev/null +++ b/threads.hugo/content/threads/deactivating-twitter/index.md @@ -0,0 +1,18 @@ ++++ +title = "nothing is truly forever" +summary = "At some point, the final copy of any given data will be deleted. Or it will lose relevance. Or it will slip into obscurity." +date = "2017-12-20T04:53:00-06:00" +source = "https://mastodon.social/@trwnh/99206247716252048" ++++ + +I just deactivated some really old accounts I had on birdsite, ones I'd stopped using years ago, but had left up as a sort of archive... The last relics of a bygone era, of a personality long dead... A mark of my former selves. + +Makes me think about the fact that nothing is truly forever, not even the internet and the data we think will last forever. At some point, the final copy of any given data will be deleted. Or it will lose relevance. Or it will slip into obscurity. + +Of course, it was already not as I had left it. Accounts I had once conversed with, deleted. Maybe some of those people met the same fate as their accounts. Who knows? A lot changes in three years. + +I can't back up the DMs that have been deleted, and the only copy of the replies are in the notification emails sent out to an inbox of a Gmail I'd long forgotten I had. + +Kind of a heavy feeling. + +The pictures will be gone in 30 days, but I can't help but think of the pictures lost forever from Twitpic or Yfrog or all of those other image hosts we all used before image hosting became a standard part of any web app. \ No newline at end of file diff --git a/threads.hugo/content/threads/gun-culture-in-america/index.md b/threads.hugo/content/threads/gun-culture-in-america/index.md new file mode 100644 index 0000000..24df00c --- /dev/null +++ b/threads.hugo/content/threads/gun-culture-in-america/index.md @@ -0,0 +1,16 @@ ++++ +title = "gun culture in america" +summary = "a reactionary gun culture that perceives any attempt to curb it as an assault on their very identity" +date = "2018-02-18T01:48:00-00:00" +source = "https://mastodon.social/@trwnh/99543874314017409" ++++ + +[...] although in fact, having a permanent standing army is less legally supported than gun ownership. constitutionally, the longest that congress can raise/fund an army is 2 years... + +the larger problem is that the culture around violence in america is absolutely toxic. the war of 1812 eroded the resistance to standing armies, the fugitive slave act of 1850 let the army act as a police force (only on the president's orders post-1878), in 1904 then-sec of war decided to station foreign troops, and in 1947 the dept of defense was formed to integrate the army into the govt. so militias aren't really a modern application of civilian defense, since the govt "took over" it. + +the biggest strain was actually when the black panthers decided to arm themselves for community self-defense; white supremacists were scared and started to push for gun control. not really the first gun-scare about black people; one of the arguments used during the dred scott case was that freed slaves couldn't be citizens because then they would legally be allowed to have guns. + +anyway, the NRA got taken over in the 1970s and converted from a marksmanship club to a political advocacy group. most of the people involved in this takeover decided to try another approach: take a hardline stance against any gun licensing (to better form white militias), and to strip the black community of its guns by criminalizing them, usually in conjunction with something else...that thing was the introduction of drugs and crack into black communities, which was criminalized once people got addicted to it. furthermore, gun possession drastically increased sentencing if convicted for drug offenses. + +the end result of all that is a reactionary gun culture that perceives any attempt to curb it as an assault on their very identity. and when you call them out on this, they deflect to something else like "mental illness" instead. in other words, the whole of american gun culture revolves around a false sense of freedom and safety, directly descended from white supremacy and toxic masculinity. people commit shootings out of a desire for fame or notoriety, or out of some perceived slight or grievance, largely based on ideological assumptions or entitlement. \ No newline at end of file diff --git a/threads.hugo/content/threads/liberalism-and-trump/index.md b/threads.hugo/content/threads/liberalism-and-trump/index.md new file mode 100644 index 0000000..fb9f0c8 --- /dev/null +++ b/threads.hugo/content/threads/liberalism-and-trump/index.md @@ -0,0 +1,63 @@ ++++ +title = "liberalism and the rise of trump" +summary = "there's some broad historical revisionism going on" +date = "2018-01-14T10:35:00-00:00" +source = [ + "https://mastodon.social/@trwnh/99347736716090638", + "https://mastodon.social/@trwnh/99355650165263881", + "https://mastodon.social/@trwnh/99359516579847229", +] ++++ + +> some vox article about trump and liberalism + +eh, the article and its analysis has many issues with it + +- liberals aren't leftist +- "reforms" were gained by strikes and protests, and it was anarchists and communists that led the struggle, not liberals +- presents japanese internment as a "flaw" and not a great injustice +- "whether the state has a responsibility to ensure a moral and socially desirable distribution of wealth" is irrelevant; welfare capitalism is still capitalism +- you can't "correct" inequities by using the institutions that exist to propagate them; they are working as intended +- "appealing to national pride" is fascist +- anticommunism and mccarthyism WAS a major reactionary force, not a "purity test" by the left +- the "strategy" you quoted has mostly been adopted by modern democrats in reaction to the rise of the "religious right" and other ratfucking attempts +- the left was sabotaged by the fbi/cia +- academia and technocracy aren't hallmarks of the left, either +- "the hard work of liberal democratic politics" is, again, fruitless; the real issue is the complete defanging of the left by COINTELPRO and other initiatives; we need more haymarket squares and more may days, not endlessly begging politicians to not murder us +- in short: yes a revolt is justified because america was founded on a fascist mythos of expansionism and exceptionalism + +i guess in conclusion i'd say that the "make america great again" point is really close to being on the money + +- the right = "make america great again" by national rebirth (one of the 3 main tenets of fascism) + +- the liberals = "america is already great" because we just need a bit of reform (and all horrors are simply aberrations) + +- the left = "america was never great" because it was explicitly founded as colonialist/imperialist/white-supremacist + +> [...] + +no, the extreme right wants a reactionary / openly fascist state that broadly uses violence to liquidate "degenerates" and other "undesirables". the state would be an even stronger force of national supremacy and authority than it already is. + +I guess the larger point I'm trying to make is that there's some broad historical revisionism going on, as an attempt to maintain authority. the idea of the nonviolent reformist solution to everything is not how most social revolutions work. this wasn't new to the 1960s; a much longer history of struggle against state violence exists, going back through all of america's colonial history + +i.e. as a nation, we've never "reformed" anything. radical abolitionists like john brown and the free soil party did more to end slavery than abraham lincoln ever did. the black panther party's community policing and radical housing and food programs were effective despite the fbi assassinating almost every single one of their leaders. fdr proclaimed to businesses that the new deal would "save capitalism" from the labor insurgency. + +the original article kind of glosses over all this in an attempt to paint trump as a new phenomenon and not the natural result of weak reformism utterly failing to uplift anyone. the central thesis is that the left failed because of a lack of bourgeois democracy, not because of pervasive sabotage efforts by the state like cointelpro + +> [...] + +i can see that. i grew up in alabama, and there's a rich history of communism down here. (Hammer and Hoe is a good book to read about this) + +the big switch from dem to GOP was an orchestrated effort to create an "identitarian" base of support. that is, by building up whiteness, by having politicians speak at churches and then funding preachers to spread political messages, etc... political parties hope to become functions of identity + +the alt-right is, in fact, the most modern outgrowth of the "identitarian" movement -- their politics are descended directly from the cynical traditionalism employed by the political right for over half a century. the people who grew up with this stuff eventually realized that the GOP was in the same boat as the dems; that military contracts and tax subsidies was their only real aim. + +but the real problem was that there was no opposition to this idea -- the fbi destroyed it with cointelpro and by assassinating anyone who became too influential. + +in this void, the liberals decided that they would try to minimize racial tensions rather than approach them head-on. the outgrowth of this was the dlc, which argued that the democrats had gone "too far to the left" with the new deal and great society legislation. + +if i had to pick a reason why much of the south doesn't like democrats, it would be that they just don't trust them. and their visible options have been restricted to the democrats and republicans, which is barely a choice at all. so some people vote gop because they think it'll trickle down or their taxes will go down. democrats are stuck in this perception that taxes and welfare are the only way forward, which doesn't really net much + +but way more people around me are nonpolitical. most people don't vote. they're too busy working at jobs that don't pay enough, and either voting hasn't done anything for them, or they CAN'T vote. the conversation is dominated by republicans who promise lower taxes, and by democrats who insult them. every time alabama comes up in national news it's always derisively, and people notice that stuff. + +i very much believe that if were any legitimate opposition to the established order, it would gain supporters in droves... but the state has prevented that from being viable by neutralizing opposition wherever it finds it. the FBI and CIA, as part of the "national security" apparatus, take the view that any subversion is harmful to national security. and i mean, they're kinda right. but that's the whole problem... \ No newline at end of file diff --git a/threads.hugo/content/threads/mastodon-as-twitter-do-over/index.md b/threads.hugo/content/threads/mastodon-as-twitter-do-over/index.md new file mode 100644 index 0000000..2d76cb6 --- /dev/null +++ b/threads.hugo/content/threads/mastodon-as-twitter-do-over/index.md @@ -0,0 +1,112 @@ ++++ +title = "mastodon as a twitter do-over" +summary = "it would probably behoove us all to consider what mistakes twitter did and how we can avoid them." +date = "2018-01-12T06:20:00-06:00" +source = "https://mastodon.social/@trwnh/99336824877757248" ++++ + +i wonder if it would be a good idea or a bad idea for mastodon to adopt a way to view popular hashtags + +pros: better discovery +cons: going down the same road twitter did + +actually it's kind of interesting to think of mastodon as a twitter do-over, because it would probably behoove us all to consider what mistakes twitter did and how we can avoid them. + +## hashtags + +we're obviously past the age of posting toots via sms, so let's start with hashtags. + +* aug 2007: hashtags proposed by users as irc-channel metaphor +* july 2009: twitter starts hyperlinking hashtags +* 2010: twitter starts tracking "trending topics" + +but of course the mistakes that twitter did were to attempt to apply an algorithm to trends, meaning words and phrases could trend, and some hashtags could be filtered out or censored. + +## external media + +i think we're also past the point of external media hosting on twitpic/yfrog/etc, since internal media hosting has become far more widespread. + +## replying + +so the next thing is to look at replying and boosting statuses. starting with replies, because boosting is a bit more involved in analysis. + +* nov 2006: @ reply first used +* may 2007: @replies adopted by twitter + +not much to say here. i guess i'd note that it makes a service more conversation than status-oriented, but that's about it? conversation is good + +## boosting + +now, about boosts... + +* apr 2007: "ReTweet" first used +* jan 2008: "RT @user" first used +* nov 2009: twitter adds retweet button + +so far so good. no need to clog up feeds with multiples of the same stuff. now here's the problem: + +* ~2009: people add comments to manual RTs +* apr 2015: twitter adds quote tweets + +the biggest problems with quotes? they break context, and they lead to dogpiling. mastodon hasn't adopted quote toots, and probably never should. + +## conversation vs content + +just about the last thing to add at this point is twitter's attempt to transition from a conversational platform to a curated content provider, especially since 2015. that's bad. + +--- + +## further discussion + +### replying to boosts + +> who replying to boosts mentions (on twitter, the reply tags both the person who retweeted and the person who posted, whereas on masto only the person who posted it gets the reply) +> +> the 2nd is more nebulous on how it _should_ work and i go back and forth on it tbh. like there's a lot of confusion on who someone is replying to on twitter +> +> but also i have had someone point out that by automatically tagging in the person who boosted it, it takes some responsibility off of the original poster to reply, which helps when you have posts getting more attention than you can handle + +when someone boosts a status, and you reply to that boosted status: are you replying to the original poster, or to the person who boosted it? that's the primary consideration there. + +twitter steamrolls everyone into the conversation, mastodon doesn't. i like the current behavior. if it's relevant to the person who boosted, i'll manually tag them in, perhaps as a sort of cc. + +### replies in home feeds + +> how replies to multiple people show up in your feed (generally this has worked by "if you follow one person who is mentioned in the reply it shows up") +> +> i think the 1st is annoying as fuck personally since i'm missing pieces of conversations, especially on mastodon with private posts (and this in turn can affect social ettiquette as people go "my friends are talking, i'll join in" without acknowledging the extra party privately posting) + +maybe break it down to decide who's relevant to each new status? + +if it's two people you both follow, then i guess it's not too bad to show you their conversation. but social etiquette might mean you shouldn't butt in, if it doesn't involve you. so there's a potential argument to be made to NOT show other people's conversations. + +on the other hand, it's generally more useful to follow your friend's conversations, because there is a high chance you'll be interested in them. this is what both twitter and mastodon do right now, and it's kind of taken for granted. + +when multiple people get involved, it gets a bit more tricky. + +possibility 1: only show the conversation if you follow everyone mentioned +* still shows you friends, and allows friends to join in +* if an external person joins the convo, the convo will continue in their mentions, but will not reach your timeline? it's debatable whether you would want to see ALL of the posts in the convo, or just the ones with your friends. could lead to abrupt disappearance of convos from your timeline. + +twitter's behavior is to show you the conversation if you follow the poster + the *first* mention. the assumption is that the post is targeted primarily at the first person mentioned. this may or may not be actually true, though. for completeness, it's assumed to be true. + +the only possible extension is to show ANY post from people you follow that mention ANYONE you also follow, which balloons pretty fast. + +i don't really have any thoughts about private accounts, because this isn't really an issue on mastodon. mastodon's idea of a locked account revolves around approving followers, but locked users can still post publicly. it's just impossible to see their followers-only toots without them approving you. so, post-level privacy sidesteps this issue; private accounts can still post publicly. much better than twitter's all-or-nothing approach. + +### private posts on mastodon + +> where private post issues arise is like: +A posts privately, B replies, C replies to B +> +> I follow B and C so I see C's reply to B in my timeline, despite not being able to see the original context AT ALL because it's private + +so does C follow A? I would say that ideally, if the original post is privated to A-followers, then all replies are also privated to A-followers. I'm not entirely sure if this is indeed the case; I assume not, since you're asking about it. + +It seems easier to handle this for post-comment systems rather than post-reply systems, though the distinction between the two is rather arbitrary. Privacy in the first is encompassing; the second cascades. + +Due to specifics of how post-reply systems are implemented differently than post-comment systems (namely, in treating follow-ups as linked nodes rather than as children), I don't really know how best to propagate privacy attributes. It seems a bit strange, protocol-wise, to say that D's reply to C should be limited to A's followers. Perhaps this meshes back with the "multiple reply" issue above. + +So I guess the two-birds-one-stone solution is to only show you toots where you follow EVERYONE mentioned. But this has downsides, again as mentioned above... it stifles expansion of social circles. You'd have to go to someone's profile to see all their toots. + +Tweetdeck, before being bought out, used to have an option to show ALL replies from people you followed. Maybe bad for social etiquette to jump in with strangers, but it had a use case. \ No newline at end of file diff --git a/threads.hugo/content/threads/misc.md b/threads.hugo/content/threads/misc.md new file mode 100644 index 0000000..d9890da --- /dev/null +++ b/threads.hugo/content/threads/misc.md @@ -0,0 +1,126 @@ ++++ +title = "miscellaneous" +summary = "stuff that didn't get its own post" +draft = true ++++ + +## https://mastodon.social/@trwnh/2264242 [i disagree with my past self somewhat] + +the profile model itself is dead [...] streams are the future and also they make way more sense + +## https://mastodon.social/@trwnh/99346993416792417 + +not trying to sell ya, just fawning over how much i'm in love with xfce lol. it's just wild how microsoft decided everything would be 96dpi forever + +## https://mastodon.social/@trwnh/99557570047763492 + +I wish there was a way to search up the title of old children's novels published before 2000 by plot summary or keywords... there are two different books that are on the tip of my mind, but whose titles I've long since forgotten. I doubt they've been digitized or republished, so they may be lost to time forever. + +## https://mastodon.social/@trwnh/99793615497112400 + +hot take: mastodon should be more like email than it already is + +## https://mastodon.social/@trwnh/99899695933102322 + +idk, the thing about e.g. python or ruby is that they focus a lot more on having clean syntax and being easy to understand. + +## https://mastodon.social/@trwnh/99937186098244775 + +> I was under the impression that including "cisgender" in straight was controversial? + +I mean... the "controversy" is in how being transgender intersects with heterosexual / heteroromantic. some might argue that "trans people aren't straight" is transphobic because it denies their association with a binary gender. others disagree because being trans is inherently queer and deviates from the "norm" of society. + +## https://mastodon.social/@trwnh/99992566429566674 + +In a way, it's like saying paper should never have been invented, and we should all have continued chiseling stone. That doesn't mean we should forget how to chisel stone; it just means that we shouldn't chisel new stones for *everything* -- paper will do fine in most cases. + +## https://mastodon.social/@trwnh/99997039233920487 + +Hmm... I wouldn't say it's "security by obscurity" in a pejorative way -- there is a very real and very bad habit on Twitter of people "namesearching", or tracking specific terms so that they can jump into conversations. + +## https://mastodon.social/@trwnh/100009272925737468 + +until maybe as late as 2016, twitter thought of itself as a "real time update news network and discussion platform" but now it thinks of itself as "consuming interests and topics" + +## https://mastodon.social/@trwnh/100053713095158984 + +"anarchists are real enemies of marxism" is a self-fulfilling prophecy, fuck. treat someone as an enemy and they become your enemy. + +[...] + +concept: parody of that old relacore ad ("stress induces cortisol. relacore reduces cortisol.") but replace stress with twitter and relacore with mastodon + +## https://mastodon.social/@trwnh/100063071127017012 + +people aren't always paid to disrupt, they may be doing it for personal reasons, ideology, etc. call them "trolls", it's accurate re: the practice of trolling for attention. + +## https://mastodon.social/@trwnh/100072299035734958 + +it's a false assumption that crypto is trustless + +## https://mastodon.social/@trwnh/100085567120616255 + +hard to say; what makes for a good discourse platform? + +## https://mastodon.social/@trwnh/100087757497941062 + +there's a sort of fetishism around commodity goods from america throughout much of the middle east + +## https://mastodon.social/@trwnh/100097247421492501 + +how to pick a mastodon server + +https://mastodon.social/@trwnh/100097303707813337 + +servers shut down + +## https://mastodon.social/@trwnh/100103662264850023 + +on some level i understand the ignorant desire for change, simply for change's sake [...] + +## https://mastodon.social/@trwnh/100105279502219193 + +by "contradictions" of liberalism I mean things like +- "job creation" when we have the technology to reduce work +- "violence is bad" in the face of endless wars +- "competition is good" when the natural end result is a monopoly + +https://mastodon.social/@trwnh/100105523140235220 + +in general, the liberal/neoliberal split isn't very useful + +https://mastodon.social/@trwnh/100109839779411064 + +"conservative" and "liberal" is a meaningless dichotomy + +## https://mastodon.social/@trwnh/100128470703676020 + +all my friends are cute + +## https://mastodon.social/@trwnh/100131913998697452 + +yeah, idk how i would have gotten off twitter if they hadn't made it extremely easy for me by breaking 3rd-party apps, shadowbanning me being blocked by too many TERFs, and refusing to ban fascists + +## https://mastodon.social/@trwnh/100141167073699878 + +the chronological stuff was like 20% why i left twitter but the other 80% was the "reactionary sensationalist culture" as you put it + +## https://mastodon.social/@trwnh/100164745640244312 + +i don't think it can ever be said that the state is acting in "self-defense". self-preservation? maybe. but self-defense is the domain of the oppressed. at the very least, merely surviving is a radical act. the long-term solution is to defang power and build alternative power. + +## some holodomor stuff in 4 subchains + +https://mastodon.social/@trwnh/100206391621628088 +https://mastodon.social/@trwnh/100206500940583286 +https://mastodon.social/@trwnh/100206609835191626 +https://mastodon.social/@trwnh/100206657397747867 + +## https://mastodon.social/@trwnh/100234428636106449 + +To use Twitter as the perennial example of bad design: say you want to indicate that something is bad. You could previously .@ to make it show up to your followers. Now, you quote tweet it, which exclusively shows it to your followers and not the participants of the old thread. But the third and harder option is to not do a public callout at all. + +## actor types idk not rly important + +https://mastodon.social/@trwnh/100240521462320522 +https://mastodon.social/@trwnh/100240555863529471 diff --git a/threads.hugo/content/threads/multiple-accounts/index.md b/threads.hugo/content/threads/multiple-accounts/index.md new file mode 100644 index 0000000..afaaaa0 --- /dev/null +++ b/threads.hugo/content/threads/multiple-accounts/index.md @@ -0,0 +1,26 @@ ++++ +title = "multiple accounts" +summary = "why/when do people use multiple accounts, and what features can be implemented to reduce the friction in using just one account?" +date = "2017-12-17T03:55:00-06:00" +source = "https://mastodon.social/@trwnh/99189033326279405" ++++ + +unrelated thought: been trying to hash out a solution to the "multiple accounts" issue with social media. namely: why/when do people use multiple accounts, and what features can be implemented to reduce the friction in using just one account? would appreciate feedback. + +off the top of my head: + +- private vs public accounts for trusted people (answered by privacy options on toots) +- multiple interests (not really solved currently; perhaps implementing a tag system and letting people mute certain tags? Diaspora*-style aspects can get complicated) +- separate identity (unsolvable and would be insecure to attempt with one account) + +wrt multiple interests, this really is my biggest pain point with ANY social media (coming from someone who has had like 15 birdsite accounts at once) + +perhaps not exactly tags, but having a category system like google+ would be nice and perhaps easiest to manage when considering tootboosts. but this also might complicate the issue? nevertheless, it could be optional (default behavior would be to boost to your profile, no categorization involved) + +the tag approach would be easiest for your own toots, but the categories wouldn't be too bad and would also allow for separating different boosts + +--- + +## further discussion + +problem with diaspora*'s aspects (and by extension, Google+ circles which aped it) is that it's a bidirectional metaphor for a unidirectional relationship. you're supposed to pick who can see a post, but they might not even follow you. I would understand if instead it functioned and was advertised as a way to split your timeline into multiple timelines. As is, sharing to aspects/circles/etc. is needlessly confusing. \ No newline at end of file diff --git a/threads.hugo/content/threads/necromancy/index.md b/threads.hugo/content/threads/necromancy/index.md new file mode 100644 index 0000000..6451247 --- /dev/null +++ b/threads.hugo/content/threads/necromancy/index.md @@ -0,0 +1,14 @@ ++++ +title = "necromancy" +summary = "\"i saw the soul of my grandpa and he told me to keep working hard\" is almost mystic and folkloric, not really like \"i summoned the soul of my grandpa to give me encouragement\" and still one step removed from \"i inserted my grandpa's soul into a corpse / some bones to give him physical form\"" +date = "2018-04-12T07:31:00-00:00" +source = "https://mastodon.social/@trwnh/99845293118930539" ++++ + +i always have to stop and realize people don't mean actual necromancy (learning from the dead) and instead they mean some kinda pseudo-resurrection/reanimation thing in pop culture, haha + +> honestly, is divination through dead people's spirits any better? + +there's not as much stigma against it, compared to the physical. "i saw the soul of my grandpa and he told me to keep working hard" is almost mystic and folkloric, not really like "i summoned the soul of my grandpa to give me encouragement" and still one step removed from "i inserted my grandpa's soul into a corpse / some bones to give him physical form" + +it seems like souls are free to either stay in heaven or roam the land of the living, but giving them physical form is like playing god \ No newline at end of file diff --git a/threads.hugo/content/threads/neoliberalism/index.md b/threads.hugo/content/threads/neoliberalism/index.md new file mode 100644 index 0000000..6e86462 --- /dev/null +++ b/threads.hugo/content/threads/neoliberalism/index.md @@ -0,0 +1,18 @@ ++++ +title = "what is neoliberalism" +summary = "in short, everything is a market and the experts should decide the best policies to help the market" +date = "2018-03-14T08:10:00-00:00" +source = "https://mastodon.social/@trwnh/99681239150233207" ++++ + +> What is #neoliberalism? Is it a set defined thing or a term just like liberalism that could mean lots of different things to different people? + +kinda both? liberalism and neoliberalism have academic meanings, but get used differently by different people + +ie neoliberalism is just largely a return to liberalism; the idea that govt's role is to help business, that markets can be used as a force for good https://en.wikipedia.org/wiki/Neoliberalism + +maybe best exemplified by thatcher, reagan, greenspan, clinton; the support of "free trade" agreements like NAFTA and TPP or organizations like the IMF or WTO; opposition to people like ralph nader in the 1970s; concepts like "the marketplace of ideas" or "soft power"; in short, everything is a market and the experts should decide the best policies to help the market + +> [...] + +Neoliberalism seems like a big tent, but that's really only because it's ideologically sparse and lacks substance. Most of the Western world holds a neoliberal economic and domestic policy, and a neoconservative foreign policy. \ No newline at end of file diff --git a/threads.hugo/content/threads/net-neutrality-repealed/index.md b/threads.hugo/content/threads/net-neutrality-repealed/index.md new file mode 100644 index 0000000..fe3e583 --- /dev/null +++ b/threads.hugo/content/threads/net-neutrality-repealed/index.md @@ -0,0 +1,37 @@ ++++ +title = "the day net neutrality was repealed" +summary = "The Open Internet Order of 2015 which was just repealed was not too much. It was not enough." +date = "2017-12-15T01:35:00-00:00" +source = [ + "https://mastodon.social/@trwnh/99175742733649566", + "https://mastodon.social/@trwnh/99175781630692764", +] ++++ + +> [...] + +Hey, remember when Comcast filtered P2P traffic including BitTorrent, Skype, and Spotify? + +Remember when AT&T blocked FaceTime and Google Voice on their network? + +Remember when Verizon throttled all video except mysteriously for their subsidiary go90? + +Because I remember. + +[Is it] a GOOD thing to have no legal authority to challenge ISPs when they pull the shit they clearly already did? + +Because that's literally all that happened in 2015, w/ forbearance + +In fact, Wheeler ONLY pursued the clauses of Title II that dealt with nondiscrimination (common carrier status), and didn't apply rate regulation or taxes or last-mile unbundling. + +He did this because Verizon successfully sued to prevent the FCC from using S706, and the judge told Wheeler he needed to reclassify as Title II. + +It should be obvious that the "free market" will not solve a problem created by the market. This is market failure, plain and simple. + +> [...] + +Which rules "allow" ISPs to monopolize regions? ISPs collude to not enter markets, renege on coverage expansion contracts, and prevent competition by claiming ownership of the backbone. + +In fact, I would support taking it out of the FCC's hands entirely, so that people like Pai can't take us backwards at their whims as the political winds change. The Open Internet Order of 2015 which was just repealed was not too much. It was not enough. There needs to be an act specifically protecting the free and open internet, and repealing the Telecommunications Act of 1996. Among other acts... + +So pardon me for thinking the decision today was not great. There's an overwhelming pile of evidence that Pai ignored wholesale in order to push an agenda that benefits the ISPs who simply want to profit more, users be damned. \ No newline at end of file diff --git a/threads.hugo/content/threads/physical-bodies/index.md b/threads.hugo/content/threads/physical-bodies/index.md new file mode 100644 index 0000000..9715b61 --- /dev/null +++ b/threads.hugo/content/threads/physical-bodies/index.md @@ -0,0 +1,6 @@ ++++ +title = "physical bodies are so encumbering" +summary = "it would be great to never again have to feel pain from a stomach too empty, or perhaps too full; to never have crusty eyes after sleeping too much, or perhaps too little; to never suffer from physiology that at best will decay, and at worst will actively punish us." +date = "2018-05-09T14:42:00-00:00" +source = "https://mastodon.social/@trwnh/99999872996282760" ++++ \ No newline at end of file diff --git a/threads.hugo/content/threads/product-vs-profit/index.md b/threads.hugo/content/threads/product-vs-profit/index.md new file mode 100644 index 0000000..d99fe9d --- /dev/null +++ b/threads.hugo/content/threads/product-vs-profit/index.md @@ -0,0 +1,12 @@ ++++ +title = "product vs profit" +summary = "There will inevitably be a point where it is unprofitable to improve a product any further." +date = "2017-12-22T12:06:00-00:00" +source = "https://mastodon.social/@trwnh/99217860566004390" ++++ + +> maybe providing useful products turns a profit hmmm... + +Only to a certain extent. There will inevitably be a point where it is unprofitable to improve a product any further. + +i.e., if Apple's primary goal was to make useful products, it would make choices that result in a better product even if it was slightly more expensive. But their primary goal is profit, as it is for every corporation under capitalism. Making better stuff is unprofitable. \ No newline at end of file diff --git a/threads.hugo/content/threads/reading-theory/index.md b/threads.hugo/content/threads/reading-theory/index.md new file mode 100644 index 0000000..09a9c67 --- /dev/null +++ b/threads.hugo/content/threads/reading-theory/index.md @@ -0,0 +1,10 @@ ++++ +title = "reading theory" +summary = "the point of reading theory is to see what ideas other people already came up with, so you don't have to spend time formulating them yourselves." +date = "2018-01-27T08:44:00-00:00" +source = "https://mastodon.social/@trwnh/99420908783601966" ++++ + +the point of reading theory is to see what ideas other people already came up with, so you don't have to spend time formulating them yourselves. like... you start out with political beliefs and experiences, but they can always be solidified if you have a framework to contextualize them. + +and that doesn't really require discussion unless you want to or need more understanding, and it doesn't require organizing if you're not capable of it, and it really doesn't require voting since many people can't vote and many voting systems are designed to minimize choice. it feels wrong to say one *can't* be politically engaged unless one does these things \ No newline at end of file diff --git a/threads.hugo/content/threads/responsive-web-design/index.md b/threads.hugo/content/threads/responsive-web-design/index.md new file mode 100644 index 0000000..6f7ace5 --- /dev/null +++ b/threads.hugo/content/threads/responsive-web-design/index.md @@ -0,0 +1,12 @@ ++++ +title = "fully responsive web design" +summary = "my pipe dream is to redesign my website to be fully responsive -- not across mere pixel widths, but by aspect ratio and overall size" +date = "2018-04-22T15:42:00-00:00" +source = "https://mastodon.social/@trwnh/99903847448978099" ++++ + +my pipe dream is to redesign my website to be fully responsive -- not across mere pixel widths, but by aspect ratio and overall size. + +does anyone consider what their website looks like when it's fullscreened across one of those samsung 3840x1080 monitors? probably not, and why would you? + +but i do \ No newline at end of file diff --git a/threads.hugo/content/threads/smartphones-and-capitalism/index.md b/threads.hugo/content/threads/smartphones-and-capitalism/index.md new file mode 100644 index 0000000..e8a0a0c --- /dev/null +++ b/threads.hugo/content/threads/smartphones-and-capitalism/index.md @@ -0,0 +1,26 @@ ++++ +title = "i hate the smartphone market" +summary = "profit motives means that the entire market has abandoned me" +date = "2018-05-07T08:13:00-00:00" +source = "https://mastodon.social/@trwnh/99987017261137486" ++++ + +tbh like 90% of my day-to-day angst against capitalism is from how shit the smartphone market has become. if capitalism is so great then where the fuck is my <70mm-wide phone with a removable battery? fucking profit motives means that the entire market has abandoned me. I haven't been satisfied with any phone since 2010. hell, I'd buy an updated Nexus One with newer, more efficient internals. + +"capitalism brought you your smartphone!" yeah, and that phone /fucking sucks/. + +I wish I could build my own phone or have one built to spec, but alas, I do not own a machining and assembly factory, and I don't have the requisite circuitry knowledge... if only I could, I dunno, *cooperate* with some like-minded people, and we had *public ownership of those factories*... :thaenkin: + +> do you know about this company? https://www.fairphone.com/en/ . They do their best to source all their components ethically, and work with worker's organisations in the countries they are producing phones in. The fair phone also comes with root access by default, so you can install your own ROM if you want. + +yeah; they're well-intentioned but still restricted to operating within the confines of capitalism. and it's still too big of a phone for my liking, personally + +like, i'm using a sony xperia x compact right now because it's 4.6" and fits in one hand. the snapdragon 650 means the battery is *decent*, but for how long? i got it lightly used in september, and now it's may and the battery is starting to heat up and degrade after 8 months of heavy usage and all those recharge cycles. + +> my fair phone 1 is still working nicely after 3 years or so [...] + +I feel like the same could be said about several more devices from 2013 than could be said today. my mom is still using a Nexus 7 2013 tablet just fine. our Nexus 5 could have lasted until now, if she hadn't broken it accidentally in a fit of rage. my htc one m7 is still close to the "ideal" device for me, except its battery has long gone to shit and is a nightmare to replace. + +I wish there were like 400 more fairphones, because just 1 is too limited to accomplish much for my case. and part of why there's only 1, I imagine, is because they can't be profiting too much; they still rely on profit, don't they? It's not "sustainable" for companies to provide services at-cost under capitalism. + +[...] it's extremely hard to "build it yourself" at sufficient scale to make a difference... and even then, you're bound by the laws of capital. you need to make money to survive, so at-cost operation is not viable without external funding \ No newline at end of file diff --git a/threads.hugo/content/threads/syndicalism-is-dead/index.md b/threads.hugo/content/threads/syndicalism-is-dead/index.md new file mode 100644 index 0000000..1cb87c8 --- /dev/null +++ b/threads.hugo/content/threads/syndicalism-is-dead/index.md @@ -0,0 +1,18 @@ ++++ +title = "syndicalism in the 21st century" +summary = "syndicalism is dead because the labor industry is dead. it's been replaced by the service industry today" +date = "2018-01-03T19:42:00-06:00" +source = "https://mastodon.social/@trwnh/99289017794408922" ++++ + +> Is syndicalism relevant in the 21st century? + +there's a reason why crimethinc call themselves an "ex"-worker collective. syndicalism is dead because the labor industry is dead. it's been replaced by the service industry today. factories are either on the decline or they're being exported. so i guess in that sense, syndicalism can still live in china, or wherever else production is a significant part of the economy so that a general strike can bring it to its knees + +or, alternatively, i suppose all food servers and retail employees could go on strike but the capitalist powers have created an abundance of unemployed people ready to bust that strike + +i see it as much more likely that the masses will revolt wholesale, before any trade-unionist path could ever make itself viable again + +very likely within the next 20 years, and almost certainly by the end of the century. too many crises are coming to a head "by 2040, 2050, 2080, 2100" etc. natural and anthropogenic conflicts will arise more easily than ever before + +to be clear: organizing workers is still the most effective way forward; unionism can help but isn't an effective avenue for change anymore compared to agitation. but there's only so much we can gain by lobbying for labor standards; we need to push for fundamental transformation of the entirety of class relations \ No newline at end of file diff --git a/threads.hugo/content/threads/the-web-not-only-for-profit/index.md b/threads.hugo/content/threads/the-web-not-only-for-profit/index.md new file mode 100644 index 0000000..af3772f --- /dev/null +++ b/threads.hugo/content/threads/the-web-not-only-for-profit/index.md @@ -0,0 +1,15 @@ ++++ +title = "the web is not only for profit" +summary = "i just want to find some inspiration on how to express myself, not market myself" +date = "2023-01-03T01:58:00-06:00" +source = "https://mastodon.social/@trwnh/109624210338690804" ++++ + +it's funny how a lot of help articles can be boiled down to one of + +a) it's really easy, just give us money +b) it's really hard, so give us money + +people act like the only worthwhile use case of the web is financial gain. no one has any tips or hints on how to make a personal website, it's always "build your brand" or "showcase your portfolio" or some other transparently profit-motivated initiative. everyone is always talking about the sales funnel or the call to action or whatever. it's just *assumed* you are also like this. + +i just want to find some inspiration on how to express myself, not market myself \ No newline at end of file diff --git a/threads.hugo/content/threads/ubi/index.md b/threads.hugo/content/threads/ubi/index.md new file mode 100644 index 0000000..0024f8a --- /dev/null +++ b/threads.hugo/content/threads/ubi/index.md @@ -0,0 +1,10 @@ ++++ +title = "the problem with universal basic income" +summary = "market forces on basic needs need to be abolished" +date = "2018-03-16T02:00:00-00:00" +source = "https://mastodon.social/@trwnh/99691112300163044" ++++ + +my only problem with UBI is if you're going to guarantee a basic income then why not just guarantee the basics and cut down on the bureacracy? also you can't just give everyone a lump sum of money and not expect a market to react to that flood of monetary supply -- market forces on basic needs need to be abolished + +tldr UBI is a bandage on capitalism in the same way the New Deal was, but even less accountable \ No newline at end of file diff --git a/threads.hugo/content/threads/voluntarism/index.md b/threads.hugo/content/threads/voluntarism/index.md new file mode 100644 index 0000000..aeb6003 --- /dev/null +++ b/threads.hugo/content/threads/voluntarism/index.md @@ -0,0 +1,12 @@ ++++ +title = "voluntarism vs socialism" +summary = "If two people are inequal, then they can never come to a voluntary agreement -- the power of one will coerce the other" +date = "2018-04-06T23:19:00-00:00" +source = "https://mastodon.social/@trwnh/99815047195372515" ++++ + +My point is that pursuing pure voluntarism as an ideology (and not simply an ideal) tends to ignore the realities of power imbalances. If two people are inequal, then they can never come to a voluntary agreement -- the power of one will coerce the other, even if subconsciously. + +Consider whether one can "voluntarily" become a slave. Or, more relevant today, consider the wage labor system. Is it truly "voluntary" if your food, shelter, and very survival depends on such a "voluntary" arrangement? + +The cold reality is that voluntarism is merely idealism so long as any social class or hierarchy exists. Maybe some prefigurative politics are necessary, but you have to push for progress without 100% support or you'll wait forever. \ No newline at end of file diff --git a/threads.hugo/deploy b/threads.hugo/deploy new file mode 100755 index 0000000..19054ac --- /dev/null +++ b/threads.hugo/deploy @@ -0,0 +1,4 @@ +#!/bin/bash +rm -r public/ +hugo +rsync -avz --delete public/ a@trwnh.com:/srv/http/trwnh.com/blog diff --git a/threads.hugo/hugo.toml b/threads.hugo/hugo.toml new file mode 100644 index 0000000..f409f7e --- /dev/null +++ b/threads.hugo/hugo.toml @@ -0,0 +1,6 @@ +baseURL = 'https://trwnh.com/blog/' +languageCode = 'en-us' +title = 'a blog' + +[pagination] +pagerSize = 100 diff --git a/threads.hugo/layouts/_default/baseof.html b/threads.hugo/layouts/_default/baseof.html new file mode 100644 index 0000000..70df867 --- /dev/null +++ b/threads.hugo/layouts/_default/baseof.html @@ -0,0 +1,60 @@ + + + + + + + + +{{- /* print layout */ -}} +{{- $print := resources.Get "styles/print.scss" | toCSS | minify | fingerprint }} + + +{{- /* web layout */ -}} +{{- $theme := resources.Get "styles/screen.scss" | toCSS }} +{{- with resources.Get "styles/custom.scss" }} +{{- $custom := . | toCSS }} +{{- $screen := slice $theme $custom | resources.Concat "assets/screen.css" | minify | fingerprint }} + +{{- else }} +{{- $screen := $theme | minify | fingerprint }} + +{{- end }} + +{{- /* scripts */ -}} +{{- $theme := resources.Get "scripts/main.js" | js.Build "script.js" | minify | fingerprint }} +{{ with resources.Get "scripts/custom.js" }} +{{ $custom := . }} +{{ $script := slice $theme $custom | resources.Concat "assets/main.js" | js.Build "script.js" | minify | fingerprint}} + +{{ else }} +{{ $script := $theme | js.Build "script.js" | minify | fingerprint}} + +{{ end }} + +{{ partial "seo.html" . -}} +{{- block "head" . -}} +{{ end }} + + +{{ partial "site-header.html" . }} +{{ block "main" . }} +{{ end }} +{{ partial "site-footer.html" . }} + + \ No newline at end of file diff --git a/threads.hugo/layouts/_default/list.html b/threads.hugo/layouts/_default/list.html new file mode 100644 index 0000000..9b91749 --- /dev/null +++ b/threads.hugo/layouts/_default/list.html @@ -0,0 +1,14 @@ +{{ define "main" }} +
    + +
    +
    + {{ partial "paginator.html" . }} +
    +
    +
    +{{ end }} diff --git a/threads.hugo/layouts/_default/single.html b/threads.hugo/layouts/_default/single.html new file mode 100644 index 0000000..46b1477 --- /dev/null +++ b/threads.hugo/layouts/_default/single.html @@ -0,0 +1,24 @@ +{{ define "main" }} +
    +
    + +
    +
    + {{ .Content }} +
    +
    +
    +
    +{{ end }} diff --git a/threads.hugo/layouts/index.html b/threads.hugo/layouts/index.html new file mode 100644 index 0000000..920d1fd --- /dev/null +++ b/threads.hugo/layouts/index.html @@ -0,0 +1,9 @@ +{{ define "main" }} +
    +
    +
    + {{ partial "paginator.html" . }} +
    +
    +
    +{{ end }} diff --git a/threads.hugo/layouts/index.json b/threads.hugo/layouts/index.json new file mode 100644 index 0000000..d423a62 --- /dev/null +++ b/threads.hugo/layouts/index.json @@ -0,0 +1,8 @@ +{{- $.Scratch.Add "pagesIndex" slice -}} +{{- range $index, $page := .Site.RegularPages -}} + {{- if gt (len $page.Content) 0 -}} + {{- $pageData := (dict "title" $page.Title "href" $page.Permalink "content" $page.Plain) -}} + {{- $.Scratch.Add "pagesIndex" $pageData -}} + {{- end -}} +{{- end -}} +{{- $.Scratch.Get "pagesIndex" | jsonify -}} \ No newline at end of file diff --git a/threads.hugo/layouts/partials/nav-header.html b/threads.hugo/layouts/partials/nav-header.html new file mode 100644 index 0000000..557a7a3 --- /dev/null +++ b/threads.hugo/layouts/partials/nav-header.html @@ -0,0 +1,15 @@ + \ No newline at end of file diff --git a/threads.hugo/layouts/partials/paginator.html b/threads.hugo/layouts/partials/paginator.html new file mode 100644 index 0000000..01f6691 --- /dev/null +++ b/threads.hugo/layouts/partials/paginator.html @@ -0,0 +1,16 @@ +
    +
    + {{ $paginator := .Paginate .Site.RegularPages }} + {{ range $paginator.Pages }} +
    +

    + {{.Date.Format "2006-01-02"}}: + {{.Title}}
    + {{.Summary}} +

    +
    + {{ end }} +
    + + {{ template "_internal/pagination.html" . }} +
    \ No newline at end of file diff --git a/threads.hugo/layouts/partials/search/search-form.html b/threads.hugo/layouts/partials/search/search-form.html new file mode 100644 index 0000000..47c788e --- /dev/null +++ b/threads.hugo/layouts/partials/search/search-form.html @@ -0,0 +1,5 @@ +
    + + + +
    diff --git a/threads.hugo/layouts/partials/search/search-index.html b/threads.hugo/layouts/partials/search/search-index.html new file mode 100644 index 0000000..c86a7b0 --- /dev/null +++ b/threads.hugo/layouts/partials/search/search-index.html @@ -0,0 +1,3 @@ + +{{ $js := resources.Get "scripts/search.js" | minify | fingerprint }} + \ No newline at end of file diff --git a/threads.hugo/layouts/partials/seo.html b/threads.hugo/layouts/partials/seo.html new file mode 100644 index 0000000..e455bf3 --- /dev/null +++ b/threads.hugo/layouts/partials/seo.html @@ -0,0 +1,132 @@ +{{ "" | safeHTML }} +{{ .Title }} • {{ .Site.Title }} + + + + + +{{- with or .Description .Summary .Site.Params.description }} +{{ "" | safeHTML }} + + + + +{{ end -}} +{{ "" | safeHTML }} + + + + + + +{{- $cover := ($.Resources.ByType "image").GetMatch "{*cover*,*thumbnail*,*featured*}" -}} +{{ $icon := resources.GetMatch (default "" .Site.Params.icon) -}} +{{- $staticIcon := "icon.png" | absURL -}} +{{- with or .Params.cover $cover $icon }} +{{ "" | safeHTML }} + + +{{- with .Width }} + +{{- end }} +{{- with .Height }} + +{{- end }} + + +{{- else }}{{/* no image found */}} +{{ "" | safeHTML }} + + + + +{{- end -}} + +{{/*=== author ===*/}} +{{ with or .Params.author .Site.Params.author -}} +{{ "" | safeHTML }} + + + + +{{- end -}} + +{{/*=== published and updated ===*/}} +{{ "" | safeHTML }} +{{- with .Date }} + + +{{ end -}} +{{ with .Lastmod -}} + +{{ end -}} + +{{/*=== section and keywords ===*/}} +{{- with.Params.category -}} + + +{{- end -}} +{{- with .Params.tags }} + +{{- end -}} + +{{- if isset .Params "date" -}} +{{ "" | safeHTML }} + + +{{- else -}} +{{ "" | safeHTML }} + + +{{- end -}} + +{{/* auxiliary info */}} +{{ "" | safeHTML }} +{{- with $icon }} + +{{- else }} + +{{- end }} + + + +{{ with .OutputFormats.Get "RSS" -}} + +{{- end }} + + diff --git a/threads.hugo/layouts/partials/site-footer.html b/threads.hugo/layouts/partials/site-footer.html new file mode 100644 index 0000000..3304216 --- /dev/null +++ b/threads.hugo/layouts/partials/site-footer.html @@ -0,0 +1,6 @@ + \ No newline at end of file diff --git a/threads.hugo/layouts/partials/site-header.html b/threads.hugo/layouts/partials/site-header.html new file mode 100644 index 0000000..44c5ee4 --- /dev/null +++ b/threads.hugo/layouts/partials/site-header.html @@ -0,0 +1,25 @@ + +
    +
    +
    \ No newline at end of file diff --git a/threads.hugo/layouts/search/list.html b/threads.hugo/layouts/search/list.html new file mode 100644 index 0000000..0207e80 --- /dev/null +++ b/threads.hugo/layouts/search/list.html @@ -0,0 +1,22 @@ +{{ define "main" }} +
    +
    +
    +
    +

    for ""

    +
    +
    +
    +
    +
      + +
    +
    +
    +
    +
    + +{{ partial "search/search-index.html" . }} +{{ end }} \ No newline at end of file diff --git a/wiki.hugo/.gitignore b/wiki.hugo/.gitignore new file mode 100644 index 0000000..668c455 --- /dev/null +++ b/wiki.hugo/.gitignore @@ -0,0 +1,3 @@ +resources/_gen/** +.hugo_build.lock +public \ No newline at end of file diff --git a/wiki.hugo/archetypes/default.md b/wiki.hugo/archetypes/default.md new file mode 100644 index 0000000..00e77bd --- /dev/null +++ b/wiki.hugo/archetypes/default.md @@ -0,0 +1,6 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +date: {{ .Date }} +draft: true +--- + diff --git a/wiki.hugo/assets/scripts/main.js b/wiki.hugo/assets/scripts/main.js new file mode 100644 index 0000000..b336f2a --- /dev/null +++ b/wiki.hugo/assets/scripts/main.js @@ -0,0 +1,15 @@ +/* +Use a window's inner dimensions for viewport units. +This fixes some mobile bugs +*/ + +var root = document.documentElement; +let vh = window.innerHeight * 0.01; +root.style.setProperty('--vh', `${vh}px`); + +// We listen to the resize event +window.addEventListener('resize', () => { + // We execute the same script as before + let vh = window.innerHeight * 0.01; + root.style.setProperty('--vh', `${vh}px`); +}); \ No newline at end of file diff --git a/wiki.hugo/assets/scripts/search.js b/wiki.hugo/assets/scripts/search.js new file mode 100644 index 0000000..e8dc3ef --- /dev/null +++ b/wiki.hugo/assets/scripts/search.js @@ -0,0 +1,225 @@ +/* +tutorials used: +- https://aaronluna.dev/blog/add-search-to-static-site-lunrjs-hugo-vanillajs/#codepen-with-final-code +- https://victoria.dev/blog/add-search-to-hugo-static-sites-with-lunr/ +*/ + +let pagesIndex, searchIndex +const MAX_SUMMARY_LENGTH = 30 +const SENTENCE_BOUNDARY_REGEX = /\b\.\s/gm +const WORD_REGEX = /\b(\w*)[\W|\s|\b]?/gm + +async function initSearch() { + try { + const response = await fetch("/index.json"); + pagesIndex = await response.json(); + searchIndex = lunr(function () { + this.field("title"); + this.field("content"); + this.ref("href"); + pagesIndex.forEach((page) => this.add(page)); + }); + } catch (e) { + console.log(e); + } + console.log("Search index initialized") + // Get the query parameter(s) + const params = new URLSearchParams(window.location.search) + const query = params.get('query') + + // Perform a search if there is a query + if (query) { + // Retain the search input in the form when displaying results + document.getElementById('search-input').setAttribute('value', query) + + // Update the list with results + console.log("search performed") + let results = searchSite(query) + renderSearchResults(query, results) + } +} + +initSearch(); + +function searchSite(query) { + const originalQuery = query; + query = getLunrSearchQuery(query); + let results = getSearchResults(query); + return results.length + ? results + : query !== originalQuery + ? getSearchResults(originalQuery) + : []; +} + +function getLunrSearchQuery(query) { + const searchTerms = query.split(" "); + if (searchTerms.length === 1) { + return query; + } + query = ""; + for (const term of searchTerms) { + query += `+${term} `; + } + return query.trim(); +} + +function getSearchResults(query) { + return searchIndex.search(query).flatMap((hit) => { + if (hit.ref == "undefined") return []; + let pageMatch = pagesIndex.filter((page) => page.href === hit.ref)[0]; + pageMatch.score = hit.score; + return [pageMatch]; + }); +} + +function renderSearchResults(query, results) { + clearSearchResults(); + updateSearchResults(query, results); +} + +function clearSearchResults() { + const results = document.querySelector("#search-results"); + while (results.firstChild) results.removeChild(results.firstChild); +} + +function updateSearchResults(query, results) { + document.getElementById("results-query").innerHTML = query; + document.querySelector("#search-results").innerHTML = results + .map( + (hit) => ` +
  • + ${createTitleBlurb(query, hit.title)} +

    ${createSearchResultBlurb(query, hit.content)}

    +
  • + ` + ) + .join(""); + const searchResultListItems = document.querySelectorAll("#search-results li"); + document.getElementById("results-count").innerHTML = searchResultListItems.length; + document.getElementById("results-count-text").innerHTML = searchResultListItems.length === 1 ? "result" : "results"; + // searchResultListItems.forEach( + // (li) => (li.firstElementChild.style.color = getColorForSearchResult(li.dataset.score)) + // ); +} + +function createTitleBlurb(query, title) { + const searchQueryRegex = new RegExp(createQueryStringRegex(query), "gmi"); + return title.replace( + searchQueryRegex, + "$&" + ) +} + +function createSearchResultBlurb(query, pageContent) { + const searchQueryRegex = new RegExp(createQueryStringRegex(query), "gmi"); + const searchQueryHits = Array.from( + pageContent.matchAll(searchQueryRegex), + (m) => m.index + ); + const sentenceBoundaries = Array.from( + pageContent.matchAll(SENTENCE_BOUNDARY_REGEX), + (m) => m.index + ); + let searchResultText = ""; + let lastEndOfSentence = 0; + for (const hitLocation of searchQueryHits) { + if (hitLocation > lastEndOfSentence) { + for (let i = 0; i < sentenceBoundaries.length; i++) { + if (sentenceBoundaries[i] > hitLocation) { + const startOfSentence = i > 0 ? sentenceBoundaries[i - 1] + 1 : 0; + const endOfSentence = sentenceBoundaries[i]; + lastEndOfSentence = endOfSentence; + parsedSentence = pageContent.slice(startOfSentence, endOfSentence).trim(); + searchResultText += `${parsedSentence} ... `; + break; + } + } + } + const searchResultWords = tokenize(searchResultText); + const pageBreakers = searchResultWords.filter((word) => word.length > 50); + if (pageBreakers.length > 0) { + searchResultText = fixPageBreakers(searchResultText, pageBreakers); + } + if (searchResultWords.length >= MAX_SUMMARY_LENGTH) break; + } + return ellipsize(searchResultText, MAX_SUMMARY_LENGTH).replace( + searchQueryRegex, + "$&" + ); +} + +function createQueryStringRegex(query) { + const searchTerms = query.split(" "); + if (searchTerms.length == 1) { + return query; + } + query = ""; + for (const term of searchTerms) { + query += `${term}|`; + } + query = query.slice(0, -1); + return `(${query})`; +} + +function tokenize(input) { + const wordMatches = Array.from(input.matchAll(WORD_REGEX), (m) => m); + return wordMatches.map((m) => ({ + word: m[0], + start: m.index, + end: m.index + m[0].length, + length: m[0].length, + })); +} + +function fixPageBreakers(input, largeWords) { + largeWords.forEach((word) => { + const chunked = chunkify(word.word, 20); + input = input.replace(word.word, chunked); + }); + return input; +} + +function chunkify(input, chunkSize) { + let output = ""; + let totalChunks = (input.length / chunkSize) | 0; + let lastChunkIsUneven = input.length % chunkSize > 0; + if (lastChunkIsUneven) { + totalChunks += 1; + } + for (let i = 0; i < totalChunks; i++) { + let start = i * chunkSize; + let end = start + chunkSize; + if (lastChunkIsUneven && i === totalChunks - 1) { + end = input.length; + } + output += input.slice(start, end) + " "; + } + return output; +} + +function ellipsize(input, maxLength) { + const words = tokenize(input); + if (words.length <= maxLength) { + return input; + } + return input.slice(0, words[maxLength].end) + "..."; +} + +if (!String.prototype.matchAll) { + String.prototype.matchAll = function (regex) { + "use strict"; + function ensureFlag(flags, flag) { + return flags.includes(flag) ? flags : flags + flag; + } + function* matchAll(str, regex) { + const localCopy = new RegExp(regex, ensureFlag(regex.flags, "g")); + let match; + while ((match = localCopy.exec(str))) { + match.index = localCopy.lastIndex - match[0].length; + yield match; + } + } + return matchAll(this, regex); + }; +} \ No newline at end of file diff --git a/wiki.hugo/assets/styles/common/base.scss b/wiki.hugo/assets/styles/common/base.scss new file mode 100644 index 0000000..a389f4b --- /dev/null +++ b/wiki.hugo/assets/styles/common/base.scss @@ -0,0 +1,48 @@ +:root { + --site-max-width: 120ch; +} + +html { + font-family: sans-serif; + background: var(--ui-background); + color: var(--ui-text); +} + +/* Single column layout, where main content stretches to fill. */ +body { + display: flex; + flex-flow: column; + min-height: calc(var(--vh, 1vh) * 100); + max-width: 100vw; + margin: auto; +} +main {flex-grow: 1;} + +/* +Sections are primary block units, usually of type
    . +Containers are an immediate child
    , purely for constraining width. +*/ +.section { + padding: 2em 0; /* we apply a vertical padding only to sections */ + box-sizing: border-box; +} +.container { + box-sizing: border-box; + width: 100%; + max-width: var(--site-max-width); + margin: 0 auto; + padding: 0 1em; /* and we apply a horizontal padding only to containers */ +} + +/* Ensure consistent colors for text selection and element focus */ +::selection { + background: var(--primary-accent); + color: var(--primary-accent-text); +} + +*:focus { + border-radius: 2px; + text-decoration: none; + outline: 1px dashed var(--ui-text); + outline-offset: 4px; +} \ No newline at end of file diff --git a/wiki.hugo/assets/styles/common/colors.scss b/wiki.hugo/assets/styles/common/colors.scss new file mode 100644 index 0000000..1b6a213 --- /dev/null +++ b/wiki.hugo/assets/styles/common/colors.scss @@ -0,0 +1,35 @@ +:root { + --link-color: #3371cf; + --link-visited: #594288; + + --primary-accent: rgb(0, 123, 255); + --primary-accent-transparent: rgba(0, 123, 255,0.25); + --primary-accent-text: #fff; + + --ui-background: #fff; + --ui-text: #111; + --ui-text-muted: #666; + --ui-text-bold: #000; + + --ui-overlay: #ddd; + --ui-overlay-text: var(--ui-text); +} + +@media (prefers-color-scheme: dark) { + :root { + --link-color: #8fb1df; + --link-visited: #a089d4; + + --primary-accent: rgb(0, 123, 255); + --primary-accent-transparent: rgba(64, 156, 255, 0.45); + --primary-accent-text: #fff; + + --ui-background: #212121; + --ui-text: #eee; + --ui-text-muted: #999; + --ui-text-bold: #fff; + + --ui-overlay: #333; + --ui-overlay-text: var(--ui-text); + } +} \ No newline at end of file diff --git a/wiki.hugo/assets/styles/common/content.scss b/wiki.hugo/assets/styles/common/content.scss new file mode 100644 index 0000000..55f43f7 --- /dev/null +++ b/wiki.hugo/assets/styles/common/content.scss @@ -0,0 +1,207 @@ +.content { + /* text */ + p, li {max-inline-size: 80ch;} + h1 {font-size: 1.8em} + h2 {font-size: 1.6em} + h3 {font-size: 1.423em} + h4 {font-size: 1.265em} + h5 {font-size: 1.125em} + h6 {font-size: 1em} + h1, h2, h3, h4, h5, h6 { + line-height: 1.2; + margin-block-start: 2rem; + margin-block-end: 1rem; + font-weight: 700; + } + p { + line-height: 2; + margin-block-end: 1em; + } + a { + word-wrap: break-word; + } + /* semantics */ + em {font-style: italic} + strong {font-weight: 700} + /* text formatting */ + --script-size: 0.65em; + sup { + position: relative; + font-size: var(--script-size); + inset-block-start: -1em; + } + sub { + position: relative; + font-size: var(--script-size); + } + @supports #{'selector\(:has(kbd))'} { + /* style individual keys only (for the innermost element) */ + kbd kbd, + kbd:not(:has(kbd)) { + font-family: monospace; + padding: 0.25em; + background: var(--ui-overlay); + color: var(--ui-overlay-text); + } + } + @supports not #{'selector\(:has(kbd))'} { + /* style the entire key sequence */ + kbd { + font-family: monospace; + padding: 0.25em; + background: var(--ui-overlay); + color: var(--ui-overlay-text); + } + /* and prevent double-styling for nested keys */ + kbd kbd { + background: none; + } + } + mark { + background: var(--primary-accent-transparent); + color: var(--ui-text); + --pad-x-highlight: 0.125em; + padding-inline-start: var(--pad-x-highlight); + padding-inline-end: var(--pad-x-highlight); + } + abbr[title]:after { + content: '?'; + font-size: var(--script-size); + color: var(--ui-text-muted); + } + /* lists */ + ul, ol { + padding-inline-start: 0; + margin-block: 1em; + position: relative; + } + ul {list-style: disc;} + ol {list-style: decimal;} + li {margin-block-end: 1em; line-height: 1.4; margin-inline-start: 1em;} + dl {margin-block: 1em; line-height: 1.4;} + dt {font-weight: 700;} + dd {margin-inline-start: 1em;} + /* block elements */ + img { + width: 100%; + margin-block-end: 1em; + } + blockquote { + font-style: italic; + font-size: 1em; + margin: 1em 0; + border-inline-start: 0.25rem solid var(--ui-text-bold); + padding-inline-start: 0.75em; + line-height: 1.4; + } + pre { + font-family: monospace; + background: var(--ui-overlay); + color: var(--ui-overlay-text); + padding: 1em; + line-height: 1.4; + overflow-inline: auto; + white-space: pre; + display: grid; + tab-size: 3; + margin-block-end: 1em; + } + code { + font-family: monospace; + background: var(--ui-overlay); + color: var(--ui-overlay-text); + padding: 0.25rem; + } + :not(.highlight) > pre { + line-height: 1.5; + background: var(--ui-overlay); + padding: 1em; + } + pre code { + background: inherit; + padding: 0; + } + .highlight pre { + padding-block: 1em; + } + /* figures */ + figure { + margin-block-end: 1em; + } + figure img { + width: 100%; + margin-block-end: -0.125em; + } + figcaption { + background: #212121; + color: white; + font-style: italic; + padding: 1em; + font-size: 0.8em; + line-height: 1.2; + } + /* tables */ + table {text-align: center;} + thead { + font-weight: 700; + background: var(--ui-overlay); + color: var(--ui-overlay-text); + } + th, td { + border: 1px solid var(--ui-text); + padding: 0.5em; + } + /* {{}} shortcode */ + .hint, .callout { + padding: 1em; + line-height: 2; + &.info, &.tip + { + background: rgba(142, 226, 142, 0.2); + border-inline-start: 4px solid rgb(142, 226, 142); + } + &.warning { + background: rgba(218, 226, 142, 0.2); + border-inline-start: 4px solid rgb(218, 226, 142); + } + &.danger { + background: rgba(226, 142, 142, 0.2); + border-inline-start: 4px solid rgb(226, 142, 142); + } + } + /* hugo-specific citation footnote */ + cite sup { + position: inherit; + font-size: inherit; + a { + padding: 0.25em; + } + &:before { + content: ' ['; + } + &:after { + content: ']'; + } + } + /* the actual footnotes section */ + .footnotes { + hr { + display: flex; + align-items: center; + border: 0; + &:before { + content: 'Footnotes'; + color: var(--ui-text); + text-transform: uppercase; + font-weight: 900; + font-size: 0.8em; + } + &:after { + content: ''; + width: 100%; + margin-inline-start: 1rem; + border-block-end: 1px solid var(--ui-text-muted); + } + } + } +} \ No newline at end of file diff --git a/wiki.hugo/assets/styles/common/reset.scss b/wiki.hugo/assets/styles/common/reset.scss new file mode 100644 index 0000000..9e2f07f --- /dev/null +++ b/wiki.hugo/assets/styles/common/reset.scss @@ -0,0 +1,60 @@ +*, *::before, *::after { + box-sizing: border-box; + margin: 0; + padding: 0; +} + +body { + line-height: 1.5; + -webkit-font-smoothing: antialiased; +} + +p, h1, h2, h3, h4, h5, h6 { + overflow-wrap: break-word; +} + +article, aside, details, figcaption, figure, +footer, header, hgroup, menu, nav, section { + display: block; +} + +input, button, textarea, select { + font: inherit; +} + +ol, ul { + list-style: none; +} + +table { + border-collapse: collapse; + border-spacing: 0; +} + +blockquote, q { + quotes: none; +} +blockquote:before, blockquote:after, +q:before, q:after { + content: ''; + content: none; +} + +html:focus-within { + scroll-behavior: smooth; +} + +@media (prefers-reduced-motion: reduce) { + html:focus-within { + scroll-behavior: auto; + } + + *, + *::before, + *::after { + animation-duration: 0.01ms !important; + animation-iteration-count: 1 !important; + transition-duration: 0.01ms !important; + scroll-behavior: auto !important; + } +} \ No newline at end of file diff --git a/wiki.hugo/assets/styles/components/breadcrumbs.scss b/wiki.hugo/assets/styles/components/breadcrumbs.scss new file mode 100644 index 0000000..2eb7645 --- /dev/null +++ b/wiki.hugo/assets/styles/components/breadcrumbs.scss @@ -0,0 +1,27 @@ +.breadcrumbs { + display: flex; + flex-flow: row wrap; + padding: 0; + li:not(:first-child) { + margin-inline-start: 1.5rem; + margin-block-end: 1rem; + } + li::marker { + content: "/ "; + } + li:first-child::marker { + content: ""; + } + li:first-child { + margin-inline-start: 0; + } + font-family: monospace; +} +.breadcrumb-nav { + .title { + margin-block-end: 0.5em; + color: var(--ui-text-muted); + text-transform: uppercase; + font-weight: 900; + } +} \ No newline at end of file diff --git a/wiki.hugo/assets/styles/components/site-footer.scss b/wiki.hugo/assets/styles/components/site-footer.scss new file mode 100644 index 0000000..8e32d8e --- /dev/null +++ b/wiki.hugo/assets/styles/components/site-footer.scss @@ -0,0 +1,41 @@ +.site-footer { + display: flex; + align-items: center; + padding-block: 1em; + + hr {display: none;} + + .container { + display: flex; + flex-flow: row wrap; + gap: 1em; + } + + .footer-nav .menu { + display: flex; + flex-flow: row wrap; + gap: 1em; + a:after {display: none;} + } + + .social-nav { + .menu { + display: flex; + gap: 1rem; + a:after { + display: none; + } + } + } + + a[href='#top'] { + margin-inline-start: auto; + } + + .lastmod { + .edit-link { + margin-inline-start: 1em; + } + } + +} diff --git a/wiki.hugo/assets/styles/components/site-header.scss b/wiki.hugo/assets/styles/components/site-header.scss new file mode 100644 index 0000000..cf44217 --- /dev/null +++ b/wiki.hugo/assets/styles/components/site-header.scss @@ -0,0 +1,55 @@ +.site-masthead { + display: inline-flex; + flex-flow: row; + align-items: center; + gap: 1em; + text-decoration: none; +} +.site-icon { + block-size: 2em; +} +.site-title { + font-weight: 900; + letter-spacing: -0.5px; + font-size: 1.25em; + margin: 0; +} +.site-masthead, .site-masthead:visited { + color: inherit +} + +.site-masthead:focus { + color: var(--primary-accent-text); +} + +.site-header {padding: 1em 0;} + +.site-header a { + font-weight: 500; +} +.site-header .container { + display: flex; + flex-flow: row wrap; + justify-content: space-between; + gap: 1em; +} + +.header-nav { + display: flex; + flex-flow: row wrap; + justify-content: center; + align-items: center; + .menu { + display: flex; + flex-flow: row wrap; + gap: 1em; + a { + display: flex; + align-items: center; + gap: 0.5em; + &:after { + display: none; + } + } + } +} \ No newline at end of file diff --git a/wiki.hugo/assets/styles/components/table-of-contents.scss b/wiki.hugo/assets/styles/components/table-of-contents.scss new file mode 100644 index 0000000..010b607 --- /dev/null +++ b/wiki.hugo/assets/styles/components/table-of-contents.scss @@ -0,0 +1,30 @@ +.toc-title { + margin-block-end: 0.5em; + font-weight: 900; + text-transform: uppercase; + color: var(--ui-text-muted); +} +#TableOfContents { + ul, ol { + list-style: none; + margin: 0; + padding: 0; + } + li { + margin-block: 0.5em; + margin-inline: 0; + } + a { + display: inline-block; + line-height: 1.5; + } + li > ul, li > ol { /* indent subheadings */ + margin-inline-start: 1em; + } +} +.toc details { + max-width: 45ch; + background: rgba(0,0,0,0.2); + padding: 1em; + border-radius: 0.5em; +} \ No newline at end of file diff --git a/wiki.hugo/assets/styles/features/headings.scss b/wiki.hugo/assets/styles/features/headings.scss new file mode 100644 index 0000000..6781a45 --- /dev/null +++ b/wiki.hugo/assets/styles/features/headings.scss @@ -0,0 +1,94 @@ +h2.heading { + border-block-end: 1px solid var(--ui-text-muted); + padding-block-end: 1rem; +} + +/* headings with no numbers */ + +article:not([autonumbering]) .heading { + position: relative; + margin-inline-end: 2.5rem; + &__anchor-link { + display: inline-flex; + align-content: center; + margin-inline-start: 0.25em; + position: absolute; + inset-inline-end: -2.5rem; + inset-block-start: 3px; + font-size: 1rem; + } +} + +/* headings with autonumbering support */ + +body {counter-reset: h2} +h2 {counter-reset: h3} +h3 {counter-reset: h4} +h4 {counter-reset: h5} + +article[autonumbering] { + h2:before { + counter-increment: h2; + content: counter(h2) " "; + } + h3:before { + counter-increment: h3; + content: counter(h2) "." counter(h3) " "; + } + h4:before { + counter-increment: h4; + content: counter(h2) "." counter(h3) "." counter(h4) " "; + } + h2:before, + h3:before, + h4:before + { + margin-inline-end: 1em; + font-family: monospace; + font-size: 1rem; + } + + .heading { + display: grid; + grid-template-columns: 1fr auto; + grid-template-rows: auto auto; + grid-gap: 0.5rem; + &__text { + grid-column: span 2; + } + &__anchor-link { + font-size: 1rem; + grid-column: 2; + grid-row: 1; + justify-self: end; + } + } + + #TableOfContents :is(ol, ul) { + /* + each list gets a new counter + */ + counter-reset: item; + margin-inline-start: 0; + } + #TableOfContents li:before { + /* + the counter is added as a pseudo-element, + and nested counters are joined by a dot + */ + content: counters(item, ".") " "; + counter-increment: item; + /* ensure the counters align visually */ + font-family: monospace; + font-weight: bold; + margin-inline-end: 1em; + } + #TableOfContents > ul > li { + /* + top-level items wrap after the number, + in order to add some visual separation + */ + display: flex; + flex-flow: column; + } +} \ No newline at end of file diff --git a/wiki.hugo/assets/styles/features/search.scss b/wiki.hugo/assets/styles/features/search.scss new file mode 100644 index 0000000..a8080e3 --- /dev/null +++ b/wiki.hugo/assets/styles/features/search.scss @@ -0,0 +1,71 @@ +.search-results__title { + display: block; + font-size: 2em; + line-height: 1; + margin-block-end: 1em; +} + +.search-results strong { + font-weight: 900; + background: var(--primary-accent-transparent); + color: var(--ui-text-bold); +} + +#search-results { + display: flex; + flex-flow: column; + max-inline-size: 80ch; +} + +#search-results li:not(:first-child) { + border-block-start: 1px solid var(--ui-text-muted); +} + +#search-results li { + padding-block: 1em; +} + +.search-result-page-title { + font-size: 1.25em; + display: block; + margin-block-end: 1rem; +} + +.search-result-item p { + line-height: 1.5; +} + +#search-form { + width: 100%; + max-width: 18rem; + display: grid; + grid-template-columns: 20ch 8ch; + gap: 1rem; +} + +#search-input { + background: var(--ui-overlay); + color: var(--ui-overlay-text); + border-radius: 100rem; + border: 0; + padding: 0.5rem 1rem; + box-sizing: border-box; + resize: horizontal; + width: 100%; + grid-column: 1; + block-size: 2rem; + line-height: 1rem; + font-size: 0.75rem; +} + +#search-submit { + padding: 0.5rem 1rem; + border: 0; + background: var(--primary-accent); + color: var(--primary-accent-text); + border-radius: 4px; + grid-column: 2; + block-size: 2rem; + line-height: 1rem; + font-size: 0.75rem; +} \ No newline at end of file diff --git a/wiki.hugo/assets/styles/features/syntax-highlighting.scss b/wiki.hugo/assets/styles/features/syntax-highlighting.scss new file mode 100644 index 0000000..b544de6 --- /dev/null +++ b/wiki.hugo/assets/styles/features/syntax-highlighting.scss @@ -0,0 +1,110 @@ +/* syntax highlighting */ + +.highlight { + + --error: #cc0000; + --keyword: #3361a7; + --class: #f57900; + --variable: #c049dd; + --number: #53ca24; + --operator: #5400c2; + --highlight: rgb(196, 196, 196); + + @media (prefers-color-scheme: dark) { + + --error: #cc0000; + --keyword: #e0d56e; + --class: #8700f5; + --variable: #008eb9; + --number: #53ca24; + --operator: #fffd6f; + --highlight: #555; + } + +} + +/* Background */ .bg { background-color: #f8f8f8; } +/* PreWrapper */ .chroma { background-color: #f8f8f8; } +/* Other */ .chroma .x { color: var(--ui-text-bold) } +/* Error */ .chroma .err { color: var(--error) } +/* CodeLine */ .chroma .cl { color: var(--ui-text) } +/* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } +/* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; } +/* LineHighlight */ .chroma .hl { background-color: var(--highlight) } +/* LineNumbersTable */ .chroma .lnt { white-space: pre; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } +/* LineNumbers */ .chroma .ln { white-space: pre; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } +/* Line */ .chroma .line { display: flex; white-space: pre } +/* Keyword */ .chroma .k { color: var(--keyword); font-weight: bold } +/* KeywordConstant */ .chroma .kc { color: var(--keyword); font-weight: bold } +/* KeywordDeclaration */ .chroma .kd { color: var(--keyword); font-weight: bold } +/* KeywordNamespace */ .chroma .kn { color: var(--keyword); font-weight: bold } +/* KeywordPseudo */ .chroma .kp { color: var(--keyword); font-weight: bold } +/* KeywordReserved */ .chroma .kr { color: var(--keyword); font-weight: bold } +/* KeywordType */ .chroma .kt { color: var(--keyword); font-weight: bold } +/* Name */ .chroma .n { color: var(--ui-text-bold) } +/* NameAttribute */ .chroma .na { color: var(--ui-text-bold) } +/* NameBuiltin */ .chroma .nb { color: var(--name) } +/* NameBuiltinPseudo */ .chroma .bp { color: #3465a4 } +/* NameClass */ .chroma .nc { color: var(--ui-text-bold) } +/* NameConstant */ .chroma .no { color: var(--ui-text-bold) } +/* NameDecorator */ .chroma .nd { color: var(--class); font-weight: bold } +/* NameEntity */ .chroma .ni { color: var(--name) } +/* NameException */ .chroma .ne { color: var(--error); font-weight: bold } +/* NameFunction */ .chroma .nf { color: var(--ui-text-bold) } +/* NameFunctionMagic */ .chroma .fm { color: var(--ui-text-bold) } +/* NameLabel */ .chroma .nl { color: var(--name) } +/* NameNamespace */ .chroma .nn { color: var(--ui-text-bold) } +/* NameOther */ .chroma .nx { color: var(--ui-text-bold)} +/* NameProperty */ .chroma .py { color: var(--ui-text-bold) } +/* NameTag */ .chroma .nt { color: var(--keyword); font-weight: bold } +/* NameVariable */ .chroma .nv { color: var(--variable) } +/* NameVariableClass */ .chroma .vc { color: var(--ui-text-bold)} +/* NameVariableGlobal */ .chroma .vg { color: var(--ui-text-bold) } +/* NameVariableInstance */ .chroma .vi { color: var(--ui-text-bold) } +/* NameVariableMagic */ .chroma .vm { color: var(--ui-text-bold) } +/* Literal */ .chroma .l { color: var(--ui-text-bold) } +/* LiteralDate */ .chroma .ld { color: var(--ui-text-bold) } +/* LiteralString */ .chroma .s { color: var(--variable) } +/* LiteralStringAffix */ .chroma .sa { color: var(--variable) } +/* LiteralStringBacktick */ .chroma .sb { color: var(--variable) } +/* LiteralStringChar */ .chroma .sc { color: var(--variable) } +/* LiteralStringDelimiter */ .chroma .dl { color: var(--variable) } +/* LiteralStringDoc */ .chroma .sd { color: var(--keyword); font-style: italic } +/* LiteralStringDouble */ .chroma .s2 { color: var(--variable) } +/* LiteralStringEscape */ .chroma .se { color: var(--variable) } +/* LiteralStringHeredoc */ .chroma .sh { color: var(--variable) } +/* LiteralStringInterpol */ .chroma .si { color: var(--variable) } +/* LiteralStringOther */ .chroma .sx { color: var(--variable) } +/* LiteralStringRegex */ .chroma .sr { color: var(--variable) } +/* LiteralStringSingle */ .chroma .s1 { color: var(--variable) } +/* LiteralStringSymbol */ .chroma .ss { color: var(--variable) } +/* LiteralNumber */ .chroma .m { color: var(--number); font-weight: bold } +/* LiteralNumberBin */ .chroma .mb { color: var(--number); font-weight: bold } +/* LiteralNumberFloat */ .chroma .mf { color: var(--number); font-weight: bold } +/* LiteralNumberHex */ .chroma .mh { color: var(--number); font-weight: bold } +/* LiteralNumberInteger */ .chroma .mi { color: var(--number); font-weight: bold } +/* LiteralNumberIntegerLong */ .chroma .il { color: var(--number); font-weight: bold } +/* LiteralNumberOct */ .chroma .mo { color: var(--number); font-weight: bold } +/* Operator */ .chroma .o { color: var(--operator); font-weight: bold } +/* OperatorWord */ .chroma .ow { color: var(--keyword); font-weight: bold } +/* Punctuation */ .chroma .p { color: var(--ui-text-bold); font-weight: bold } +/* Comment */ .chroma .c { color: var(--ui-text-muted); font-style: italic } +/* CommentHashbang */ .chroma .ch { color: var(--ui-text-muted); font-style: italic } +/* CommentMultiline */ .chroma .cm { color: var(--ui-text-muted); font-style: italic } +/* CommentSingle */ .chroma .c1 { color: var(--ui-text-muted); font-style: italic } +/* CommentSpecial */ .chroma .cs { color: var(--ui-text-muted); font-style: italic } +/* CommentPreproc */ .chroma .cp { color: var(--ui-text-muted); font-style: italic } +/* CommentPreprocFile */ .chroma .cpf { color: var(--ui-text-muted); font-style: italic } +/* Generic */ .chroma .g { color: var(--ui-text-bold) } +/* GenericDeleted */ .chroma .gd { color: var(--error) } +/* GenericEmph */ .chroma .ge { color: var(--ui-text-bold); font-style: italic } +/* GenericError */ .chroma .gr { color: var(--error) } +/* GenericHeading */ .chroma .gh { color: var(--ui-text-bold); font-weight: bold } +/* GenericInserted */ .chroma .gi { color: var(--ui-text) } +/* GenericOutput */ .chroma .go { color: var(--ui-text-bold); font-style: italic } +/* GenericPrompt */ .chroma .gp { color: var(--ui-text) } +/* GenericStrong */ .chroma .gs { color: var(--ui-text-bold); font-weight: bold } +/* GenericSubheading */ .chroma .gu { color: var(--ui-text-bold); font-weight: bold } +/* GenericTraceback */ .chroma .gt { color: var(--error); font-weight: bold } +/* GenericUnderline */ .chroma .gl { color: var(--ui-text-bold); text-decoration: underline } +/* TextWhitespace */ .chroma .w { color: var(--ui-text-muted); text-decoration: underline } \ No newline at end of file diff --git a/wiki.hugo/assets/styles/layouts/list.scss b/wiki.hugo/assets/styles/layouts/list.scss new file mode 100644 index 0000000..cc71b48 --- /dev/null +++ b/wiki.hugo/assets/styles/layouts/list.scss @@ -0,0 +1,27 @@ +.subsections, +.subpages { + list-style: disc; + padding: 0; + margin-block-start: 1em; + margin-block-end: 2em; + li { + margin-inline-start: 1em; + margin-block-end: 1em; + } + a { + + } +} +.section-title { + font-size: 2em; + border-block-end: 1px solid var(--ui-text-muted); + padding-block-end: 0.5em; + margin-block-start: 0; + margin-block-end: 1em; +} +.subsections-title, +.subpages-title { + margin-block-start: 1em; + font-weight: 500; + text-decoration: underline; +} \ No newline at end of file diff --git a/wiki.hugo/assets/styles/layouts/single.scss b/wiki.hugo/assets/styles/layouts/single.scss new file mode 100644 index 0000000..5f9e4b9 --- /dev/null +++ b/wiki.hugo/assets/styles/layouts/single.scss @@ -0,0 +1,3 @@ +.content { + padding-top: 0; +} \ No newline at end of file diff --git a/wiki.hugo/assets/styles/print.scss b/wiki.hugo/assets/styles/print.scss new file mode 100644 index 0000000..75fe89c --- /dev/null +++ b/wiki.hugo/assets/styles/print.scss @@ -0,0 +1,35 @@ +@import "common/reset"; +@import "common/colors"; +@import "common/base"; +@import "common/content"; + +@import "layouts/list.scss"; +@import "layouts/single.scss"; + +@import "components/site-header"; +@import "components/site-footer"; + +@import "components/breadcrumbs"; +@import "components/table-of-contents"; +@import "features/headings"; + +#search-form, +.header-nav, +.docs-nav, +.site-footer, +.edit-link, +.footnote-backref, +.heading__anchor-link, +.section-nav +{ + display: none; +} +.page-header {padding: 0;} + +.page abbr[title]::after { + content: " (" attr(title) ") "; +} + +a[href^="http"]:after { + content: " (" attr(href) ") "; +} \ No newline at end of file diff --git a/wiki.hugo/assets/styles/screen.scss b/wiki.hugo/assets/styles/screen.scss new file mode 100644 index 0000000..687a291 --- /dev/null +++ b/wiki.hugo/assets/styles/screen.scss @@ -0,0 +1,20 @@ +@import "common/reset"; +@import "common/colors"; +@import "common/base"; +@import "common/content"; + +@import "components/site-header"; +@import "components/site-footer"; + +@import "components/breadcrumbs"; +@import "components/table-of-contents"; + +@import "layouts/list.scss"; +@import "layouts/single.scss"; + +@import "features/headings"; +@import "features/syntax-highlighting"; +@import "features/search"; + +@import "screen/layout"; +@import "screen/links"; diff --git a/wiki.hugo/assets/styles/screen/layout.scss b/wiki.hugo/assets/styles/screen/layout.scss new file mode 100644 index 0000000..e69de29 diff --git a/wiki.hugo/assets/styles/screen/links.scss b/wiki.hugo/assets/styles/screen/links.scss new file mode 100644 index 0000000..d9da7bd --- /dev/null +++ b/wiki.hugo/assets/styles/screen/links.scss @@ -0,0 +1,37 @@ +a:link { + transition: all 0.1s ease-out; + color: var(--link-color); + text-decoration-thickness: .0625rem; + text-underline-offset: 0.125em; + text-decoration-skip-ink: none; +} + +a:visited { + color: var(--link-visited); +} + +a:focus { + +} + +a:hover { + text-decoration-thickness: 0.125em; + text-underline-offset: 0.25em; +} + +@media (prefers-reduced-motion) { + a:link {transition: none} +} + +a:link[target=_blank] { + svg { + margin-inline-start: 0.35em; + margin-inline-end: 0.15em; + vertical-align: baseline; + font-size: 0.65em; + } +} + +a:link[title] { + text-decoration-style: dotted; +} \ No newline at end of file diff --git a/wiki.hugo/content/_dump/_index.md b/wiki.hugo/content/_dump/_index.md new file mode 100644 index 0000000..f7ba421 --- /dev/null +++ b/wiki.hugo/content/_dump/_index.md @@ -0,0 +1,2 @@ ++++ ++++ \ No newline at end of file diff --git a/wiki.hugo/content/_dump/activitypub-2.md b/wiki.hugo/content/_dump/activitypub-2.md new file mode 100644 index 0000000..e3e9c07 --- /dev/null +++ b/wiki.hugo/content/_dump/activitypub-2.md @@ -0,0 +1,35 @@ +https://mastodon.social/@trwnh/109979200684979970 + +@ people who keep saying we should rewrite the activitypub spec to ensure better interoperability with existing fedi projects + +[](specs-are-enough.jpg) + +idk how else to say that if you want to be compatible with a project then you need to have a shared worldview and conceptual space, and this necessarily involves communicating with that project on some level (by reading their documentation, asking their devs questions, etc) in order to know what their expectations and requirements are + +the question of "interoperability" makes no sense on its own. you must always ask, interoperability with what? and on which conditions? + +like, we all use activitypub more or less according to the spec, and that's because the spec is simple, it's basically just "HTTP POST to inbox". we could theoretically construct any as2 payload we wanted, but we largely limit ourselves to Create Note... why? because you want to be compatible with mastodon, right? and that's the real issue. + +there are things that mastodon et al do that are within some spec -- webfinger for translating usernames to actors, for example. then there are things that are technically a spec but outdated, like http signatures (cavage draft) and ld signatures (obsoleted entirely). and then there are things that are not specced -- quirks of the implementation that must be respected, things like using Note, how to structure a Mention, the use of specific algorithms for signatures. maybe these can be negotiated + +crucially, sometimes the assumptions you make, the quirks your software has, these will not line up with the assumptions that others make, the quirks that their software has. you might even disagree entirely, and without the possibility of reconciling those opposing assumptions. + +consider the assumption that every actor has a username, and that this username identifies them more canonically than their own activitypub identifier. what if you disagree? well, that's an incompatibility. + +how do you handle the root of identity being the activitypub id, versus the root of identity being the username, versus the root of identity being some cryptographic key? what is one to do, if one wants to be "compatible" and "interoperate" with three different softwares each following a different one of the above assumptions about identity? are these softwares even meaningfully part of the same network? and which of these three networks is the "true" "fediverse"? + +and even within those identity schemes, we might still have to consider further parameters, like the expectation of only supporting HTTPS URIs. or, let's imagine that we choose to use or support DIDs -- now, which DID methods do we support? + +all of these are decisions that each project has to either make for itself, or vest authority in some other entity to make those decisions in a binding way -- by publishing some meta-spec, some conformance profile, basically a bundle of specs that should be followed and their particulars. + +and even *then*, you will find some quirks remain, some projects are coded in a way which has implicit expectations. the more you try to eliminate these, the narrower the scope or conceptual space becomes. + +with enough limitations, you end up with what is basically the same software, just with different implementations. if mastodon, pleroma, and misskey all were overspecced like this, you may as well view them as "fedi implemented in rails", "fedi implemented in elixir", and "fedi implemented in nodejs". + +so, in closing, i leave with this to consider: + +is your view of the "fediverse" limited only to the conceptual space of existing projects? and, if so, then which ones? + +or will you allow yourself to dream a little bigger? + +https://www.youtube.com/watch?v=WcGbnX8Ay38 \ No newline at end of file diff --git a/wiki.hugo/content/_dump/activitypub-proglang.md b/wiki.hugo/content/_dump/activitypub-proglang.md new file mode 100644 index 0000000..30bb62b --- /dev/null +++ b/wiki.hugo/content/_dump/activitypub-proglang.md @@ -0,0 +1,20 @@ +people think activitypub is a network protocol when it's really more like a programming language. you don't say "compatible with c++" you say "written in/with c++". similarly, we might say that fedi is "written with activitypub" or "implemented using activitypub", not "compatible with activitypub" or anything suggesting a network. + +analogously: + +ap = inter-process communication (e.g. d-bus) +as2 = data interchange format (e.g. protobuf) +json-ld = media type +rdf = facts and logic + +if we're being honest the majority of "fedi" is part of the "network" that is "compatible with mastodon". mastodon *is* the network protocol. we just express it in terms of "mastodon-flavoured activitypub" + +put another way, there is no such thing as "fedi", but rather, multiple different and distinct "fedis" that only partially overlap. + +it occurs to me that activitypub may be best thought of as a cms with an optional distributed storage backend + +similarly: no one in fedi is doing real activitypub. it is probably more appropriate to say we are doing AS2 + Linked Data Notifications + +side effects are more accurately defined by the mastodon documentation than by the activitypub spec + +we're kind of in the situation where someone has invented the C Programming Language, maybe D-Bus, but we still don't have a FreeDesktop.org or XDG equivalent. \ No newline at end of file diff --git a/wiki.hugo/content/_dump/concepts/stores-and-transports.md b/wiki.hugo/content/_dump/concepts/stores-and-transports.md new file mode 100644 index 0000000..680e9c2 --- /dev/null +++ b/wiki.hugo/content/_dump/concepts/stores-and-transports.md @@ -0,0 +1,13 @@ +data flows into the application from "stores", and flows out via "transports" + +### stores + +IMAP +AP C2S GET? +XMPP C2S??? + +### transports + +SMTP +XMPP +AP C2S POST? \ No newline at end of file diff --git a/wiki.hugo/content/_dump/copyright-is-theft.md b/wiki.hugo/content/_dump/copyright-is-theft.md new file mode 100644 index 0000000..6fddb98 --- /dev/null +++ b/wiki.hugo/content/_dump/copyright-is-theft.md @@ -0,0 +1,15 @@ +well opposing copyright isn't thievery, for a start. theft is the act of taking something without returning it, removing the original. digital information can be infinitely and perfectly copied. + +copyright enforcement is instead about giving certain parties exclusive monopolies on the spread of information. this gatekeeps culture and stifles free expression. in return for what? trying to sell access? + +note also this monopoly is only enforced via the threat of state violence. + +tangentially, there's also the fundamental inversion of value that occurs when artists try to fund themselves by selling art as if it were a commodity. the value in art is not necessarily in the final product alone but moreso in the creation of it. + +copyright asks us to perform creative labour for free, and hope to recoup our losses via the market (in which you must differentiate yourself from millions of functionally equivalent forms of art and entertainment -- good luck!) + +when you recognize this inversion of value, you recognize that the real answer to making sure artists get paid is to actually pay them for the work they do, not to commodify what they produce. things like commissions, patronage, public works funds, etc. all get to the root and heart of the issue. + +copyright is in effect more akin to theft -- theft from the public, from the commons, from culture. it benefits no one except those who "own" a lot of art -- the disneys of the world. + +in short: if you want artists to get paid, copyright is a really poor and ineffective way to do that. it just leads to big monopolies on art, at the expense of everyone else. \ No newline at end of file diff --git a/wiki.hugo/content/_dump/defining-quotes.md b/wiki.hugo/content/_dump/defining-quotes.md new file mode 100644 index 0000000..c715e5e --- /dev/null +++ b/wiki.hugo/content/_dump/defining-quotes.md @@ -0,0 +1,74 @@ ++++ +date = 2023-05-02 ++++ + +fwiw my take about quotes is that either + +- they're just links with special tag markup that lets them be identifiable as activitypub objects +- they're supported more at the protocol level a la Announce with content, or possibly a "quotes" collection a la "likes" and "shares" +- they represent a new context (assuming mastodon ever adopts a first-class concept of conversations or threads, instead of relying solely on inReplyTo chains for logical grouping) + +my further idea was to decide if it notifies based on whether the type is Link or Mention (a la webmentions) + +in an alternate timeline we could have had generic rendering of activities based on name/summary/content and maybe actor/type/object + +such a generic renderer would be something like... + +> +> +> + +filling in the last two lines for summary and content + +> Darius boosted a post: "The problem with this is..." +> "I disagree with this analysis." + +also this just highlights what i think a "quote post" should really be: more like a "loud reply". in a more ideal world it would use `inReplyTo` + a new `context`. + +yes, a regular "reply" is in effect a "quote" the second you embed the post you are replying to. look at the IndieWeb for example. what is the functional difference? + +the problem of course is that mastodon doesnt show replies in timelines, and doesn't have a proper concept of contexts aside from reply-chains. but at least half of that is a matter of policy, so it could be changed. + +imagine a property `toot:quoteReply` that is a boolean. if true, it embeds the `inReplyTo`post above your post. it also sends such posts to follower timelines. + +fundamentally there's the intent and the interpretation, intent can be seen as how you author the activity, interpretation is the processing rules applied by the receiver. if this were a proper spec, the two would be the same and there'd be no ambiguity, but... well, y'know. + +there's also the rest of the ecosystem of course, there's the "tag a substring of your content" as Foundkey does, in the past there was even "attach the post you're quoting" which Hubzilla and/or Zap did, there was also the proposal to "add content on Announce" which gargron and lain favored but never implemented. and then there's the two new ones -- "just make it a special type of reply" as i propose, and "just make it a new Activity" as you expressed just now + +we should focus on generic data modeling, describing resources and how they are related. mastodon doesn't do a good job of that, sure... and that's how we end up with leaky abstractions. it's a good idea to leave as much of the app-specific stuff out of the data model as we can. otherwise we just end up with The Mastodon Protocol which is built to interop with the mastodon app specifically + +like we have tag, attachment, inReplyTo, Announce... + +- tag = describing entities within the natural language properties (often microsyntaxes) + +- attachment = sidecar entities (not necessarily media) + +- inReplyTo = referencing a prior object (or objects) for which your current object can be considered a response + +- Announce = add to `shares` collection if present (this is the weakest one, to be fair) + +> I do agree with you that quotes are basically a form of loud reply + +semantics aside, i think functionally the difference is really the fallback + +- an Announce with content is basically "reshare with additional content" semantically, but it falls back to being a regular boost, and to control quotes you'd need to similarly be able to control boosts + +- a Note with inReplyTo + quoteReply=true would fall back to a regular reply. this means that when reply controls get added, you get quote control "for free" + +the other functional difference between those two is whether the "quote" gets added to `shares` or to `replies` + +--- + +also tangentially i've thought about what people think a quote is vs what it actually is, the dimensions, its primary function, etc + +to me, the way i see quotes is essentially as a "loud reply" or as a "breakout thread". + +the former use-case could be handled by reply+boost. this is actually very easy in the API: just make a button that fires off 2 API calls. + +the latter could be handled by copypasting a link into a new post. this is much harder to detect and display. optinally mention + +really the problem with twitter "quote tweets" is that they conflated the two use-cases + +you were *always* notified, regardless of whether someone was talking "about" you or "to" you (no consideration for replies) + +plus the fact it was a new thread was stripping context, you could no longer see all the posts in one thread ("breaking out" isn't always wanted) \ No newline at end of file diff --git a/wiki.hugo/content/_dump/documentation-first.md b/wiki.hugo/content/_dump/documentation-first.md new file mode 100644 index 0000000..a91be69 --- /dev/null +++ b/wiki.hugo/content/_dump/documentation-first.md @@ -0,0 +1,5 @@ +https://mastodon.social/@trwnh/109826683171183861 + +if/when i get around to building [untitled social app] i want to set some hard design expectations for it before even thinking about if/when/how to release it (and which parts of it). there's a lot of expectations i want to challenge, i don't want to take anything for granted. if anything, whatever i build will simply be the practical application of my grand unified communication theory. it's as much an experiment and learning process as it is a tool or utility. + +which is to say: any code i write or software i build, it will not be the primary product. the primary product will be the documentation and reasoning behind it. it will be in researching existing protocols and ecosystems, then identifying how they map onto the theoretical patterns and structures. nail the recipe before baking the cake. \ No newline at end of file diff --git a/wiki.hugo/content/_dump/domain-number-system.md b/wiki.hugo/content/_dump/domain-number-system.md new file mode 100644 index 0000000..58d3c15 --- /dev/null +++ b/wiki.hugo/content/_dump/domain-number-system.md @@ -0,0 +1,40 @@ +https://mastodon.social/@trwnh/109965906891374818 + +we have a domain name system but why don't we have a domain number system + +just like we can register human-friendly names, we should be able to register persistent machine-friendly numbers to websites and domains. the name and number are aliased together, or we map name => number => ip address + +yes this idea is copied from xri i-names and i-numbers, it's one of the best ideas to come out of that effort (aside from delegation of authority at any point in the identifier) + +the world if xri took off + +future.jpg + +i've talked/thought about doing something similar with webfinger, but the "authority delegation" bit is really hard without a persistent unchanging identifier in some common authoritative namespace. you can defer to some other DNS domain's webfinger endpoint, but that doesn't get rid of the fragility in expiring or reassigning domain names. + +it's interesting that bluesky comes to a similar conclusion with its "placeholder" DID scheme, did:plc: -- identifiers are centralized around a single "PLC server". the DNS stuff maps to a did:plc: that gets resolved by the centralized resolution server. + +we could do something similar with a centralized server/domain that did nothing but assign identifiers and map to current location... of course, that doesn't solve the problem, it just shifts the burden. + +so here's a crackpot idea that requires "minimal" changes to the way the world works + +1. register a TLD with the IANA/ICANN -- let's call it something like .uuid +2. allow anyone to register UUIDs on this TLD -- this should be as easy as registering any other domain name, but instead of getting to pick the name, it's auto-assigned to you +3. CNAME your desired public-facing domain name to the .uuid domain you registered +4. optionally: run some software to "reverse map" your .uuid URIs (Webfinger) + +you could also use plain old HTTP redirects instead of Webfinger, if you trusted the thing at the other end to stay online + +but the main thing would be being able to use + +trwnh.com/some-resource => 05517367-0a6a-42c1-9810-9fcf264a505b.uuid/some-resource + +and then later change trwnh.com to some other domain + +any software/application dealing with identifiers SHOULD support using the "canonical" identifier, so you can signal that the .uuid-assigned URI is the canonical one + +crucially, the .uuid registry would never expire, and probably it should be free. the goal is to never let the .uuid registration lapse, ever + +maybe your domain name registrar could even host a reverse-mapping server for you, if they wanted to expand their services? + +also something to consider: under what circumstances might an entire TLD lapse? like this is super unlikely, sure, but what happens if the entity behind some TLD in the IANA root zone database goes insolvent? \ No newline at end of file diff --git a/wiki.hugo/content/_dump/drowning-in-awareness.md b/wiki.hugo/content/_dump/drowning-in-awareness.md new file mode 100644 index 0000000..88fb8c0 --- /dev/null +++ b/wiki.hugo/content/_dump/drowning-in-awareness.md @@ -0,0 +1,9 @@ ++++ +date = "2023-01-20" ++++ + +i am reminded of an essay i read once called "avoid news" which might sound extreme to some people but it actually has a simple premise: most of what you encounter in media suffers from context collapse and/or is not actionable. therefore it can never truly be relevant. what is far more valuable is filtering through the news for anything actionable worth educating people about, and presenting it in a more relevant and digestible way. not everyone should have to do this. + +i'd really go further and say that these days, if you don't have a material call to action, you have nothing. what do you expect to accomplish by sharing what you're sharing? "awareness" on its own is not enough; it can even be an actively bad thing if you end up paralyzed by inaction and despairing over it. far better to actively educate people that need educating, instead of simply "raising awareness". + +like, ok, i'm aware. now what? \ No newline at end of file diff --git a/wiki.hugo/content/_dump/email.md b/wiki.hugo/content/_dump/email.md new file mode 100644 index 0000000..b83e485 --- /dev/null +++ b/wiki.hugo/content/_dump/email.md @@ -0,0 +1,27 @@ ++++ +updated = "2021" ++++ +### Mailpile +- selfhosted mail archive? +- more of a webmail client? +- demo seems kinda slow :( +- uses imap/pop3 to download mail, optionally delete it from server +- uses its own http api instead of re-exposing imap UGH +- https://github.com/mailpile/Mailpile/wiki/Synchronizing-Mailpile-with-Thunderbird +- https://github.com/mailpile/Mailpile/wiki/Configuring-Linux-to-download-your-email +- https://github.com/mailpile/Mailpile/wiki/Mail-sources + +### Notmuch +- https://notmuchmail.org/ +- seems to be an email client with search caps +- idk if this is what i want +- https://github.com/johnnyutahh/search-based-email + +### OfflineIMAP +- http://www.offlineimap.org/ +- combine with notmuch? +- could also combine with mailpile? +- it seems like it just downloads to a folder idk + +### Just download it with thunderbird or something? +- idk \ No newline at end of file diff --git a/wiki.hugo/content/_dump/fedi-critiques/blocklists-as-hoa.md b/wiki.hugo/content/_dump/fedi-critiques/blocklists-as-hoa.md new file mode 100644 index 0000000..1f8e79e --- /dev/null +++ b/wiki.hugo/content/_dump/fedi-critiques/blocklists-as-hoa.md @@ -0,0 +1,31 @@ +it's a bit weird that some fedi blocklists use language like "fence" because whenever i see that, i don't think "safety", i think "homeowners association", and i think the HOA characterization of certain blocklist efforts is actually not wrong. it is reminiscent of the abstract desire for "safety" rather than any sort of concrete safety or just treatment. "freedom of association" only goes so far to justify punitive and destructive actions at an instance-state level + +of course, what is to be done? what is a more appropriate solution? i think whenever such blocklists are circulated, it usually represents a failure mode at an institutional level. the rise of blocktogether on twitter was due to the systemic failure of their moderation. earlier fedi users may or may not remember the infamous "wil wheaton blocklist" that imported from infamous terf randi harper, who billed her list as "99% gaters and mras" (and i guess 1% trans ppl?) + +so i think the "question of the day" now, is, what is the failure of fedi and how could we have avoided it and how can we proceed to mitigate it. + +for my part i think it comes down to the "instance" model. no one cares if you have to ban someone from a building, but evicting them from their house or expelling them from their country is disproportionate. so naturally, it becomes an issue when the "community" and "living space" are the same thing. + +every day more and more it becomes clear we need to restructure around actual communities at a separate layer. + +similar to the dynamics of a cliquey community instance, but without the expanded audience that federation brings. imagine just turning off federation. + +maybe in some ways that's exactly what is going on -- clique communities are feeling threatened by the inherent lack of control. overblocking is in that vein similar to defensive centralization; after all, what is centralization if not simply blocking *all* remotes? and the balance is set by how much control they want to wrest back. + +i think the "objectionable" part to me is that clique mentality. especially as it tries to assert itself over others. the other day i had someone ask me which instance to join and i realized for the first time in 6 or 7 years that i didn't have an answer. they just wanted to exist. they didn't want to have to care about border controls and digital embargoes. and they didn't really have *any* good options. + +there isn't really any well-connected generalist instance that isn't overly blocked or doesn't overly block. much less an art-focused one. or a fandom-based one. so they stayed on tumblr and discord even though they *want* to join fedi. there just isn't anywhere for them to find a home in an area that is both good to live in *and* free of HOA type behavior. they don't want a gated community and they don't want a place with drive-by harassment. and they want to actually reach people. + +> [I] suspect that the reaching people, the lack of harassment, and lack of blocking are kind of corners of a triangle. + +yeah it certainly does seem like a trilemma + +instance moderation is absolutely a huge job if you want to stay on top of it. it can be easier if you take a reactive rather than proactive stance. but the problem with proactive stances is that you now need to judge someone *before* they have harassed you. and the way people approach recommended blocks, they might not have been harassed either. you'll never know the difference unless you investigate for yourself... and that's hard rn. + +now, if people just said "hey we dont like them, they failed the vibe check and we're not gonna spill any tears", that's more respectable than making something up. i can't count how many times i've seen people blocked for reasons that are patently absurd if you know the people. you use a reclaimed slur, you get blocked for using slurs. somewhere along the line that becomes "hate speech". a while ago it was "federates with the usual suspects". guilt by association morphed into "alt fedi" + +the hard part is... they're not always wrong! a lot of blocks make sense when you look into them. but it's a mix, and the false positive rate is a bit too high imo. and there's no indication when you lose friends over your admin's decisions. and the policies aren't always visible, bc some admins are hiding them now to prevent scrapers tracking them. it just becomes this whole uncertain mess where you never know who blocks who and why. + +--- + +my problem with oliphant is that there really should be a "tier negative one", given that the "tier 0" list doesn't have 100% consensus. my problem with thebadspace is that every single entry has the same tags, even where it makes no sense. my problem with blocklist culture in general is that there's zero accountability, review, or forgiveness built into them; often, they lack any sort of context, and if there is any reason given, the reasons are laughably flat-out ridiculous, incorrect, or inaccurate. i've seen blocks for being "channers" or "edgelord" being levelled against people who couldn't be any further than that. i've seen blocks for "no moderation" when no reports were filed. i've seen blocks for reasons such as "underage" or "reclaimed slurs" or vague unspecified "accusations". there's no differentiation between "hosts twitter crosspost bots" and "contains literal nazis that will send you death threats". fundamentally, i do not think that it is healthy to conflate safety with mere annoyance or a misalignment of "our" values. this is before you even get into the subjectivity of all such judgements... it is, of course, everyone's freedom of association to do whatever they want for themselves, but it is the point at which people start recommending or expecting that you do the same, that it then becomes a problem. and the real problem is not who you do or do not block. the problem is that there are no clear boundaries or clearly-established spaces or contexts for people's communications. you talk to someone that happens to be on someone else's shitlist, and you just might end up on that same shitlist for "federating with the usual suspects", where "the usual suspects" is an unbounded and growing set of people that seems to propagate further every time you look at it. it very frequently leads into policing who any given person mentions offhand or boosts in passing. \ No newline at end of file diff --git a/wiki.hugo/content/_dump/fedi-critiques/context-unaware.md b/wiki.hugo/content/_dump/fedi-critiques/context-unaware.md new file mode 100644 index 0000000..c19ad1e --- /dev/null +++ b/wiki.hugo/content/_dump/fedi-critiques/context-unaware.md @@ -0,0 +1,29 @@ +i am more and more taking the position that we should have forums, and we should have blogs, and nothing in between. "social media" carries inherently poor ergonomics and a lack of clarity of purpose. you're never clearly "publishing" anything when you post on social media, unlike when you post on your own blog or website. you're never clearly "discussing" anything either, because threads aren't actual topics or conversations. + +so my ideal flow is kinda like + +- you make a "post" to your website/profile +- it may or may not be "in reply to" some other post. this is just metadata +- it may or may not be part of some "context". this is a moderated conversation or logical grouping owned by someone +- the "audience" is up to you, completely arbitrary. it might be only visible from within the context of some other webpage, or it might be given a permalink on your website/profile + +fedi dropped the ball hard on those last two... + +we could realistically move toward something more context-and-audience-aware but it's gonna be a bit rough for the existing "instance" model because of structural limitations. you'd basically be building a new fediverse in the shell of the old. but i think it can be done... + +one prong is to support actual "publishing" with articles and a more fleshed-out web profile as a website. add webmentions as an optional thing. + +the other prong is to support "discussing" within walls/forums/rooms "context" + +eventually this kind of "posting" we have today would be split up and merged into the two new things. the UI would give you an option: do you want to publish a Post, or do you want to start a Discussion? + +--- + +in my mental model. i have the following areas mapped out: + +- Publishing (posts) +- Reading (feeds/timelines) +- Discussing (forums) +- Messaging (chats) + +all of these are types of communication, and naturally some apps are going to expand to cover more areas. but it's all dependent on context and presentation. a "chat room" and a "forum topic" and a "social media wall" are all just collections of objects, really. \ No newline at end of file diff --git a/wiki.hugo/content/_dump/fedi-critiques/default-server-paradigm.md b/wiki.hugo/content/_dump/fedi-critiques/default-server-paradigm.md new file mode 100644 index 0000000..bf6aed0 --- /dev/null +++ b/wiki.hugo/content/_dump/fedi-critiques/default-server-paradigm.md @@ -0,0 +1,13 @@ +https://mastodon.social/@trwnh/110310774875374491 + +re: mastodon and matrix having "default servers" that end up being too big: i feel like if they were easier to selfhost it would be less of a problem. the "default server" paradigm is more effective when you can't easily set up other servers. + +you ever try to host matrix? it's awful. like 2GB memory usage just for a single user in a big room. + +mastodon is getting to be pretty similar, not because of the base software per se, but because of how many moving parts it has and how much resource usage accrues as a result. rails, postgres, redis, optional elasticsearch if you want working search, a nodejs streaming server and frontend... that's before you even get to the network traffic due to architectural decisions + +sure, but you can at least block entire bad servers with little-to-no collateral damage. and you can also use allowlist federation or some other restriction mechanism to avoid fully open federation. just like avoiding fully open registrations. + +i've oft thought about an opt-in federation of instances that require human approval for registrations. or a closed "federation" in the irc distributed sense. + +it'll never happen because gargron wants more users, and approval-based signup makes a lot of disinterested people bounce before actually trying the software. but it's worth considering imo at least as a thought experiment \ No newline at end of file diff --git a/wiki.hugo/content/_dump/fedi-critiques/fedi-as-reformist-option.md b/wiki.hugo/content/_dump/fedi-critiques/fedi-as-reformist-option.md new file mode 100644 index 0000000..7c30ff8 --- /dev/null +++ b/wiki.hugo/content/_dump/fedi-critiques/fedi-as-reformist-option.md @@ -0,0 +1,51 @@ ++++ +date = 2023-04-30 ++++ + +https://mastodon.social/@trwnh/110290827199480228 + +nobody asked but i think fedi as a whole is actually kinda "bad" in the sense that it's holding us back from better things. it's like the "reform" option when we need radical change. and it keeps getting "worse". somewhere along the way we seem to have dropped the "blogging" from "microblogging", and what remains is incredibly muddled. contextual and ergonomic failure. we're copying "social media" and inheriting its flaws. ad-free and chronological ain't enough. + +see, we're all mostly here to just hang out and spill a stream of consciousness, right? but there are problems inherent to the structure. context collapse (or no context at all), misuse of the medium (doing a "thread" instead of writing an article), and so on. everything just goes into the square hole. + +i posit we can do better. but it's gonna require going back to basics and building out communication paradigms from the ground up. with thought given to effective communication, not profitability + +but. (and this is where i am afraid of shit-stirring) + +no one wants to do that + +the people working on fedi past and present seem mostly invested in mass adoption, and the way to do that is to keep building on broken foundations. and it feels kinda cultish at this point, like the goal is "success" defined by "growth", and it's a branding game, it's lip service. + +"mastodon", even "activitypub" itself, is seemingly about mindshare more than anything tangible. + +i don't particularly want to call out specific people for this, because it's not just a few people, it seems to be a cultural issue. the framing is that we can replace those social media platforms instead of tearing them down as we ought to. mastodon wants to become the next twitter. pixelfed wants to become the next instagram. and so on. + +on some level i think the people are just looking for validation of their work. but this leads to a kind of conservative outlook toward actually improving... + +yes, this thread could have been a blog post. that's part of the problem + +--- + +i mean we stop doing "social media" as twitter and facebook made, and go (go back?) to clearly publishing and clearly discussing, as two separate things. remember blogs and forums? on blogs, you publish. on forums, you discuss. on "social media", this distinction gets collapsed. a "post" and its "replies" are all in this one big global context by default. who is the audience? what is the purpose? these questions don't have clear answers on "social media". corpos profit from this ambiguity. + +in "social media", the audience is "whoever we put this in front of" and the purpose is "an endless feed of posts for you to graze from". contrast this with the intentionality of cultivating your own audience, and of communicating with them. fedi gets us halfway. we move away from the profit-oriented mindset, but we keep the trappings and mechanisms that were created in service of them. + +tldr we're on the Web and we should remember that. death to "platforms". empower actual people to set up their own spaces and domains. + +--- + +there is an argument to be made that the right thing would not have been made clear if we hadn't kept making mistakes like chasing the big corporate players. i'd be open to this argument 10 or 15 years ago around the time of identica or diaspora, but since then it's just become more apparent that this whole space will never be anything more than a transitional holding-place for people who leave the walled gardens for... fenced gardens, i gues? and the better thing hasn't been built yet. + +--- + +here on the World Wide Web you have two threats: capitalist enclosure, and toxic community. and honestly the latter is probably less bad, because at least you have the self-determination to make your own community with your valued friends if the current one gets too bad. with the former, you have no escape. + +in short, "social media" is a failed model invented by capitalists. what we need is a "social web". focus on people, not "content". + +want to entertain yourself? that's fine, there can be media hubs and curators for that. but your communications and your media consumption should be separate. + +--- + +honestly as much as meta gets tiring, at least these are conversations that can actually be had with a nonzero chance at actually shaping things. + +you think twitter or instagram gives a shit what its users want or think? nope, it's all about driving ad revenue \ No newline at end of file diff --git a/wiki.hugo/content/_dump/fedi-critiques/implicit-vs-explicit.md b/wiki.hugo/content/_dump/fedi-critiques/implicit-vs-explicit.md new file mode 100644 index 0000000..8991c4f --- /dev/null +++ b/wiki.hugo/content/_dump/fedi-critiques/implicit-vs-explicit.md @@ -0,0 +1,35 @@ +the way to maintain an authoritative collection is to send out Add/Remove, not to have everyone send out Create and then expect everyone else to reconstruct the collection for themselves + +i can't say i blame developers for taking the lazy route and doing the bare minimum to be compatible with what already exists, but that is so limiting and i'm not here for it + +the bigger problem is that there's so many assumptions being made with zero basis or foundation in anything. we're just replicating stuff around and then every server assembles it however it *thinks* it should be put together. + +we're getting to the point that the contradictions and shortcomings are starting to become more apparent... + +- things like moderated conversations are impossible if you don't actually have a concept of a "conversation". + +- there's so many different ways to do "groups" that it's a running joke at this point, because everyone has a different idea of what a "group" is. it's the "blind men feeling an elephant" problem. + +- things like forums and subforums, chat rooms, etc are not easily possible rn. + +the "trick" is that there isn't actually any difference between all these different presentations. if you understand "objects" and "collections" you can construct whatever you want: forums, walls, chat rooms, conversations, aggregators, whatever. it's all just objects in collections. + +right now, no one understands "collections". we just pass around objects with Create and Announce and leave it up to the consumer to figure out how they should be grouped. + +it's not even a new idea. Dennis Schubert raised a similar criticism of "replies" distribution back in 2018: https://overengineer.dev/blog/2018/02/01/activitypub-one-protocol-to-rule-them-all.html#replies-and-interactions + +> As per the ActivityStreams spec, all objects [can] have a replies property. So, a more sensible, reliable, and even more AcitivityStream’y way of handling replies would probably be adding the interaction to the replies collection + +this is not always optimal of course -- it was proposed 5 years ago. but something similar could be done. + +i think the key disagreement, misunderstanding, lack of shared reality, etc, is this: + +are we just creating a bunch of "posts"? microblogging or regular blogging, we have our own websites or web profiles, and we only care about what we ourselves are sharing? + +or are we trying to collaborate across domains? are we building a Web, a Social Web, a Linked Data Web, a Semantic Web? where our actions have side effects, and there exists some state that we care about? + +we lack that clarity of purpose + +basically we're not doing one or the other, we're kind of mishmashing them together. when you post on most fedi projects, you are publishing to your profile locally, *but* you are also sending out an activity to notify your followers. and typically, that has side-effects on remote servers. usually that side-effect is "keep a locally cached archive of that post and show it to followers." + +i think we should be clearer about the separate use-cases and concerns. \ No newline at end of file diff --git a/wiki.hugo/content/_dump/fedi-critiques/mainstreaming-mastodon.md b/wiki.hugo/content/_dump/fedi-critiques/mainstreaming-mastodon.md new file mode 100644 index 0000000..d5380ee --- /dev/null +++ b/wiki.hugo/content/_dump/fedi-critiques/mainstreaming-mastodon.md @@ -0,0 +1,41 @@ ++++ +date = "2023-02-02" ++++ + +the shit i see on the mastodon issue tracker is driving me to just build my own thing because i honestly think whatever good culture mastodon has is quite possibly not long for this world + +some people literally just walk in and ask "why is this not like twitter" and demand that it be changed to suit their whims. and i feel like gargron is starting to take their side because gargron just wants More. old users be damned, they're just a vocal minority now. + +i mean, i wanna be wrong, but i don't actually think there are any guiding principles behind mastodon except "whatever gargron wants", so it is at the very least a possibility, if not a credible threat + +there was a post i saw earlier yesterday about something like, idk, i think biz stone said he was advising gargron, and one of the replies was something along the lines of how we should be "turning Mastodon from a small platform for the fringes and oppressed minorities to a platform that welcomes more mainstream members" and i legit shuddered while reading that. what a terrifying thought. + +on some level, sure, it's probably cool for "mainstream" people to have something healthier than corporate social media. but i'm really concerned that they'll ruin it for the rest of us, exactly those "fringe and oppressed minorities" who were here for years. years ago we talked about the sort of "detoxification cycle" that new users would go through, and with every new wave, people acclimate less and less. they import more of their old behaviors uncritically. + +ultimately? i think things will probably settle in at a point that's better than others but worse than it could have been. + +this exact kind of mentality by newcomers who feel entitled to influence + +> you don't owe the top of the pyramid jack squat. The early movers *need* you more than you need them. + +if i may be so frank, can i just say: we don't "need" you *at all*. our experiences are rich and valuable and span over half a decade. you're certainly welcome to be around here, and you're welcome to use this software, but you have no right to demand we center you above ourselves. + +also the idea that there's some sort of "secret mastodon development cabal" is ridiculous. for better or worse, there's gargron, and i guess in some ways there's claire, and that's about it. everyone else is simply acting independently in their own interests and on their own agendas. the entire reason i worry can be summed up by the fact that gargron has unilateral decision-making power and final say. but, to his credit, he does consider the consequences. + +anyway, anything i say is with the disclaimer that i am not a representative of anyone else, but perhaps i should be more overt and assertive about it. when i say something "without 100% certainty" i am not implying a vague recollection of events, i am only indicating that i have no decision power. + +tangentially, the real problem with these design decisions in mastodon is that they're inconsistent, precisely because it's all on gargron, and gargron is not strongly in favour of these decisions. it all depends on the feedback and advocacy of community members to convince him to do anything, and then he'll do it however he wants to or ends up doing it. + +real consistency? we'd not have numbers in explore/trending either, nor on detailed status views, nor in api. no "1+". it'd probably be some boolean like `has_replies` or something, which translates to an icon indicator to show the thread. + +but doing it that way takes commitment. it takes decisiveness. and that's simply not there. + +there's a lot of these scattered around the project codebase -- places where gargron wanted to do something one way, a lot of the community had to vocally disagree, and we ended up with a half-measure + +there was a similar case around hiding your follower counts, where gargron decided to only allow hiding the contents because he thought follower counts were important signals of account quality. even though the counts can be faked (and they have been!) + +once again, though... you have to give the guy credit for not rejecting all this outright. it's the only reason we ended up with anything better than twitter instead of Yet Another Twitter Clone. + +to quote someone anonymously: + +> i don't like a lot of the decisions mastodon makes but i god damn respect "we have a philosophy and that's why we are doing it that way" in particular if the philosophy is thinking carefully about how decisions affect the minority \ No newline at end of file diff --git a/wiki.hugo/content/_dump/fedi-critiques/nation-stateificiation.md b/wiki.hugo/content/_dump/fedi-critiques/nation-stateificiation.md new file mode 100644 index 0000000..f870d4d --- /dev/null +++ b/wiki.hugo/content/_dump/fedi-critiques/nation-stateificiation.md @@ -0,0 +1,5 @@ +oh right i forgot we live in a geopolitical climate of tens of thousands of digital nation-states each with their own culture and borders. for a second there i thought i was using a general communication service + +anarchist, but against fediverse "instances" + +the dilemma of fedi is that i don't want to host my own service using current software, but i don't want to be judged by whose service i use or by who else uses that service \ No newline at end of file diff --git a/wiki.hugo/content/_dump/fedi-threads-to-republish-as-articles/_dump.md b/wiki.hugo/content/_dump/fedi-threads-to-republish-as-articles/_dump.md new file mode 100644 index 0000000..e69de29 diff --git a/wiki.hugo/content/_dump/fedi-threads-to-republish-as-articles/aspects-circles-audiences-vs-lists-vs-collections.md b/wiki.hugo/content/_dump/fedi-threads-to-republish-as-articles/aspects-circles-audiences-vs-lists-vs-collections.md new file mode 100644 index 0000000..a56a5d6 --- /dev/null +++ b/wiki.hugo/content/_dump/fedi-threads-to-republish-as-articles/aspects-circles-audiences-vs-lists-vs-collections.md @@ -0,0 +1,23 @@ +2017-11-12 13:43 | https://mastodon.social/@trwnh/98991746572627131 + +problem with diaspora*'s aspects (and by extension, Google+ circles which aped it) is that it's a bidirectional metaphor for a unidirectional relationship. you're supposed to pick who can see a post, but they might not even follow you. I would understand if instead it functioned and was advertised as a way to split your timeline into multiple timelines. As is, sharing to aspects/circles/etc. is needlessly confusing. + +although having a way to tag/categorize your own toots could come in handy as well, if you post about multiple disparate topics. it's a nightmare to maintain one Twitter account per interest/community. + +--- + +2017-12-17 09:55 | https://mastodon.social/@trwnh/99189033326279405 + +unrelated thought: been trying to hash out a solution to the "multiple accounts" issue with social media. namely: why/when do people use multiple accounts, and what features can be implemented to reduce the friction in using just one account? would appreciate feedback. + +off the top of my head: + +- private vs public accounts for trusted people (answered by privacy options on toots) +- multiple interests (not really solved currently; perhaps implementing a tag system and letting people mute certain tags? Diaspora*-style aspects can get complicated) +- separate identity (unsolvable and would be insecure to attempt with one account) + +wrt multiple interests, this really is my biggest pain point with ANY social media (coming from someone who has had like 15 birdsite accounts at once) + +perhaps not exactly tags, but having a category system like google+ would be nice and perhaps easiest to manage when considering tootboosts. but this also might complicate the issue? nevertheless, it could be optional (default behavior would be to boost to your profile, no categorization involved) + +the tag approach would be easiest for your own toots, but the categories wouldn't be too bad and would also allow for separating different boosts \ No newline at end of file diff --git a/wiki.hugo/content/_dump/fedi-threads-to-republish-as-articles/deactivating-twitter.md b/wiki.hugo/content/_dump/fedi-threads-to-republish-as-articles/deactivating-twitter.md new file mode 100644 index 0000000..7de3d77 --- /dev/null +++ b/wiki.hugo/content/_dump/fedi-threads-to-republish-as-articles/deactivating-twitter.md @@ -0,0 +1,21 @@ +2017-12-20 10:53 | https://mastodon.social/@trwnh/99206247716252048 + +I just deactivated some really old accounts I had on birdsite, ones I'd stopped using years ago, but had left up as a sort of archive... The last relics of a bygone era, of a personality long dead... A mark of my former selves. + +Makes me think about the fact that nothing is truly forever, not even the internet and the data we think will last forever. At some point, the final copy of any given data will be deleted. Or it will lose relevance. Or it will slip into obscurity. + +Of course, it was already not as I had left it. Accounts I had once conversed with, deleted. Maybe some of those people met the same fate as their accounts. Who knows? A lot changes in three years. + +I can't back up the DMs that have been deleted, and the only copy of the replies are in the notification emails sent out to an inbox of a Gmail I'd long forgotten I had. + +Kind of a heavy feeling. + +The pictures will be gone in 30 days, but I can't help but think of the pictures lost forever from Twitpic or Yfrog or all of those other image hosts we all used before image hosting became a standard part of any web app. + +--- + +2018-03-07 04:05 | https://mastodon.social/@trwnh/99640641359436224 + +twitter's culture since 2014 has been so machine-oriented, they probably trust machines more than actual people. like "i don't want to hear what's wrong, i want to know what The Algorithm says is wrong" + +essentially, right around the time twitter decided it wanted to be a media company instead of a conversational platform. it cracked down on third party API usage, put in absurd 100,000-user limits, and started breaking everything that was good pre-2014. \ No newline at end of file diff --git a/wiki.hugo/content/_dump/fedi-threads-to-republish-as-articles/fcc-repeals-net-neutrality.md b/wiki.hugo/content/_dump/fedi-threads-to-republish-as-articles/fcc-repeals-net-neutrality.md new file mode 100644 index 0000000..ae0e101 --- /dev/null +++ b/wiki.hugo/content/_dump/fedi-threads-to-republish-as-articles/fcc-repeals-net-neutrality.md @@ -0,0 +1,27 @@ +2017-12-15 01:35 + +Hey, remember when Comcast filtered P2P traffic including BitTorrent, Skype, and Spotify? + +Remember when AT&T blocked FaceTime and Google Voice on their network? + +Remember when Verizon throttled all video except mysteriously for their subsidiary go90? + +Because I remember. + +If you're celebrating today, then what you're saying is, it's a GOOD thing to have no legal authority to challenge ISPs when they pull the shit they clearly already did. + +Because that's literally all that happened in 2015, w/ forbearance + +In fact, Wheeler ONLY pursued the clauses of Title II that dealt with nondiscrimination (common carrier status), and didn't apply rate regulation or taxes or last-mile unbundling. + +He did this because Verizon successfully sued to prevent the FCC from using Section 706, and the judge told Wheeler he needed to reclassify as Title II. + +It should be obvious that the "free market" will not solve a problem created by the market. This is market failure, plain and simple. + +--- + +Which rules "allow" ISPs to monopolize regions? ISPs collude to not enter markets, renege on coverage expansion contracts, and prevent competition by claiming ownership of the backbone. + +In fact, I would support taking it out of the FCC's hands entirely, so that people like Pai can't take us backwards at their whims as the political winds change. The Open Internet Order of 2015 which was just repealed was not too much. It was not enough. There needs to be an act specifically protecting the free and open internet, and repealing the Telecommunications Act of 1996. Among other acts... + +So pardon me for thinking the decision today was not great. There's an overwhelming pile of evidence that Pai ignored wholesale in order to push an agenda that benefits the ISPs who simply want to profit more, users be damned. \ No newline at end of file diff --git a/wiki.hugo/content/_dump/fedi-threads-to-republish-as-articles/making-better-stuff-is-unprofitable.md b/wiki.hugo/content/_dump/fedi-threads-to-republish-as-articles/making-better-stuff-is-unprofitable.md new file mode 100644 index 0000000..c975e25 --- /dev/null +++ b/wiki.hugo/content/_dump/fedi-threads-to-republish-as-articles/making-better-stuff-is-unprofitable.md @@ -0,0 +1,5 @@ +2017-12-22 12:06 | https://mastodon.social/@trwnh/99217860566004390 + +Only to a certain extent. There will inevitably be a point where it is unprofitable to improve a product any further. + +i.e., if Apple's primary goal was to make useful products, it would make choices that result in a better product even if it was slightly more expensive. But their primary goal is profit, as it is for every corporation under capitalism. Making better stuff is unprofitable. \ No newline at end of file diff --git a/wiki.hugo/content/_dump/fedi-threads-to-republish-as-articles/stop-using-crossposters.md b/wiki.hugo/content/_dump/fedi-threads-to-republish-as-articles/stop-using-crossposters.md new file mode 100644 index 0000000..e22d2e6 --- /dev/null +++ b/wiki.hugo/content/_dump/fedi-threads-to-republish-as-articles/stop-using-crossposters.md @@ -0,0 +1,21 @@ +2017-11-26 08:20 | https://mastodon.social/@trwnh/99069749589979672 + +Stop using crossposters. + +Not to, like, force y'all to do something, but crossposters are self-defeating. + +It's far better to commit to a network rather than just make a carbon copy of yourself, because if you're posting exactly the same things, then what even is the point of having two networks? + +That's just unnecessarily redundant. + +I've been through this kinda rigmarole before when I tried using diaspora*, and the end result was that I completely abandoned it because I wasn't getting any meaningful interactions out of it compared to Twitter. Which was a shame, because I really liked diaspora*. + +The problem, of course, is that you will inevitably gravitate to whichever platform nets you more interaction. And crossposts really don't engender organic engagement. They feel robotic and distant, largely because they're just that + +--- + +2017-11-30 13:36 | https://mastodon.social/@trwnh/99093644445157168 + +ugh i really hope crossposters don't slowly choke mastodon like they did to diaspora* + +if you're just crossposting everything you tweet on birdsite then what even is the point of making a mastodon account? that's glorified spam at worst, and a recipe for abandonment. \ No newline at end of file diff --git a/wiki.hugo/content/_dump/fedi-threads-to-republish-as-articles/why-read-theory.md b/wiki.hugo/content/_dump/fedi-threads-to-republish-as-articles/why-read-theory.md new file mode 100644 index 0000000..0edb2e7 --- /dev/null +++ b/wiki.hugo/content/_dump/fedi-threads-to-republish-as-articles/why-read-theory.md @@ -0,0 +1,5 @@ +2018-01-27 08:44 | https://mastodon.social/@trwnh/99420908783601966 + +the point of reading theory is to see what ideas other people already came up with, so you don't have to spend time formulating them yourselves. like... you start out with political beliefs and experiences, but they can always be solidified if you have a framework to contextualize them. + +and that doesn't really require discussion unless you want to or need more understanding, and it doesn't require organizing if you're not capable of it, and it really doesn't require voting since many people can't vote and many voting systems are designed to minimize choice. it feels wrong to say one *can't* be politically engaged unless one does these things \ No newline at end of file diff --git a/wiki.hugo/content/_dump/hackerwars.38.md b/wiki.hugo/content/_dump/hackerwars.38.md new file mode 100644 index 0000000..67a1cd3 --- /dev/null +++ b/wiki.hugo/content/_dump/hackerwars.38.md @@ -0,0 +1,221 @@ ++++ +draft = true ++++ + +## puzzles + +The First Puzzle: +98.151.11.252 - Tic Tac Toe +99.13.31.189 - `3` +131.209.236.188 - `Eyjafjallajökull` +38.184.207.244 - `12, 4` +134.202.106.252 - `24` +179.60.148.182 - `Area 51` +47.72.72.190 - `4` +177.222.33.107 - `Hacker Wars` +205.117.130.137 - `Too Many Secrets` +12.198.127.243 - Sudoku +[sends you to WHOIS 1] + +1.2.3.4 [WHOIS 1] - 2048 + +``` +$.ajax({ +type: "POST", +url: 'gotcha.php', +dataType: "json", +data: { +func: '2048', +type: 6 +}, +success: function(data){ +if(data.status == 'OK') { +result = $.parseJSON(data.msg); +$('#puzzle-header').html(result[0].header); +$('#puzzle-status').html(result[0].result); +$('#puzzle-next').html(result[0].next); +$('#puzzle-isSolved').attr('value', result +​ +[0].isSolved); +$('#puzzle-solve').hide(); +} +} +}) +``` +sends you to WHOIS 2 + +219.253.106.3 [Too Many Secrets] - `Stay Hungry, Stay Foolish` +175.136.25.16 - `Aramis` +101.33.53.239 - `62.5` +12.8.92.181 - `50` +190.177.124.74 [Lorem ipsum] - `5, 1, 94` +213.207.2.12 - Minesweeper +162.92.240.86 - `Phoebe, Milena, Naomy` +78.77.189.202 - `4, 3` +65.106.189.164 - `a, d, c` +164.36.19.95 - `3, 3, 9` +44.184.200.40 - `5, 2` +156.9.137.74 [Hangman] - `99+99/99` +186.43.119.219 - `49, 35` +143.114.166.104 - `Every player who buys premium is awesome` +185.42.143.179 - `9, 18` +179.196.168.131 - `To be or not to be` +188.85.245.142 - `Phoebe` +200.11.13.159 [WHOIS 2] - Turn the switches on + +``` +$.ajax({ +type: "POST", +url: 'gotcha.php', +dataType: "json", +data: { +func: 'lightsout' +}, +success: function(data){ +if(data.status == 'OK') { +result = $.parseJSON(data.msg); +$('#puzzle-header').html(result[0].header); +$('#puzzle-status').html(result[0].result); +$('#puzzle-next').html(result[0].next); +$('#puzzle-isSolved').attr('value', result + +[0].isSolved); +$('#puzzle-solve').hide(); +} +} +}) +``` + +8.22.72.164 - `penny` +94.236.84.16 - `Nishiyama Onsen Keiunkan` +53.83.66.249 - `Hack The Planet` +82.212.91.122 - `password123` +200.28.37.47 - `47` +127.73.175.172 - `SHOW NO REMORSE` +61.170.113.240 [WHOIS 3] - `1, 2, 3` +87.75.25.103 - `diamond, ruby, sapphire` +207.0.9.101 - `Kung Fury` +40.204.6.239 - `Morpheus` +240.93.247.103 [WHOIS 4] - The End... for now + +191.169.88.208 [Fsck you] - placeholder puzzle + +### ??? hidden puzzles + +[hasher 11, need cracker 11.1 to get in] +158.79.69.167 - `hacker` +25.25.200.137 - `LCM+L` +37.0.237.238 - `Burj Khalifa` +158.79.69.167 - `Satoshi Nakamoto` +13.14.243.214 - `SHA256` +54.215.105.98 - `10/11/2019` +[takes you back to WHOIS 4] + +### alt paths + +86.24.54.79 [WHOIS 3 -> Eduard Khil -> WHOIS 3] - `Despacito` + +52.6.13.235 [WHOIS 3 -> Gnirut -> WHOIS 2] - Turn the switches on (again) + +``` +$.ajax({ +type: "POST", +url: 'gotcha.php', +dataType: "json", +data: { +func: 'lightsout' +}, +success: function(data){ +if(data.status == 'OK') { +result = $.parseJSON(data.msg); +$('#puzzle-header').html(result[0].header); +$('#puzzle-status').html(result[0].result); +$('#puzzle-next').html(result[0].next); +$('#puzzle-isSolved').attr('value', result + +[0].isSolved); +$('#puzzle-solve').hide(); +} +} +}) +``` + + + +## cool shit + +44.133.241.160 - torrent 1,2,3 +61.170.113.240 - analyzer 3.0 +200.11.13.159 - spam 5.0, warez 5.0, miner 5.0 +188.85.245.142 - collector 5.0 +94.236.84.16 - collector 7.0 +86.24.54.79 - collector 10.0 +156.62.156.183 - hasher/firewall 10.0 +87.75.25.103 - hidder 10.0, antivirus 10.0, cracker 9.0, ssh 7.0 +207.0.9.101 - seeker 10.0, ddos 10.0 +40.204.6.239 - breaker 10.0, cracker 10.0 +240.93.247.103 - cracker 11.0, warez 10.0, miner 10.0 +130.216.37.220 - cracker 12.0 +78.192.143.228 - cracker 12.0, hasher 11.0, hidder 11.0, antivirus 12.0 + +37.0.237.238 - warez 14 +158.79.69.167 - hidder 15, antivirus 14 +13.14.243.214 - seeker 15 +54.215.105.98 - ftp 13, ssh 13, cracker 17, firewall 12 + +## me + +bank #757385614 +123.40.218.38 + +1wXjdkDA9V4kKtRQ1LCbCpiTHTLviAmbxd +X2ke7k3RB05YKa4zRIl5SlPFLykl4eIa1KGSdOwcc38um0igvBdWiUnewQScoUBA + +## banks + +bank #203344377 at 123.40.218.38 + +686206684 at 123.40.218.38 + + #485880455 on bank [123.40.218.38] + +## bitcoin + +1tKr4CjHeCMv0X69bxZG8j0BWfyOqKiiRs +iARby4xdWxXlOH7VdmRF3vVlu82hcnLzHi0NC8YqMKhd0vdJWtuMJgyAZXOvo95T + +1P8vEmxyBhldcmjjlgdYvg4MT908dQu +AUICn2EfwcjbSR4kwY3AgzCydsxO2UamqN2z7iyNeOp7sGgL5O6XQNyXlaKXLzn + +165PrvvXaznPBoRRXjwKQssIiOA2VopOhY +sNCi2fDCDf4lI3YBwKLVdJlUC26mgfg7X9pNuZHDYyQOLfWDZ5d0mFvQEWxVbvo3 + +## ips to hack? + +187.219.92.196 + +45.197.80.78 + +## meta caps + +cracker 50.7 +hasher 44.9 +firewall 30.5 + + + + + +``` +ips = document.getElementById("list").children; +output = "" + +for (var i = 0; i < ips.length; i++) { + ipElement = ips[i] + ip = ipElement.children[0].children[0].children[0].children[1].innerText + virus = ipElement.children[1].innerText + output += ip + "\n" +} + +console.log(output) +``` \ No newline at end of file diff --git a/wiki.hugo/content/_dump/mastodon-api-value.md b/wiki.hugo/content/_dump/mastodon-api-value.md new file mode 100644 index 0000000..91b9673 --- /dev/null +++ b/wiki.hugo/content/_dump/mastodon-api-value.md @@ -0,0 +1,12 @@ ++++ +date = 2023-02-06 +published = 2023-02-06T00:56:00Z ++++ + +https://mastodon.social/@trwnh/109815069913581608 + +to what extent can it be said that the primary value of mastodon is in its api + +mastodon isn't really all that special in the fediverse or as a software, because you have so many options and differing implementations of the activitypub protocol. but the second you try to have a mobile app, you immediately recognize the value of the mastodon api. it's a pseudo-standard at this point because it mostly just works, and pleroma/pixelfed/gotosocial copied it for compatibility with existing clients. it's a shame it isn't a real standard... + +or, rather, what would a real standardized microblogging api look like? the nearest thing is probably micropub/microsub which doesn't quite do as much \ No newline at end of file diff --git a/wiki.hugo/content/_dump/plaintext-xml-json.md b/wiki.hugo/content/_dump/plaintext-xml-json.md new file mode 100644 index 0000000..15fb627 --- /dev/null +++ b/wiki.hugo/content/_dump/plaintext-xml-json.md @@ -0,0 +1,8 @@ +actually it's kinda interesting how every single spec largely breaks down along one of three ideological lines: plaintext, xml, or json + +i'm seeing a general analogy between DNS, XRI, and Webfinger resolution + +- DNS returns a plaintext answer +- XRI returns an XRD +- Webfinger returns a JRD + diff --git a/wiki.hugo/content/_dump/services-vs-communities.md b/wiki.hugo/content/_dump/services-vs-communities.md new file mode 100644 index 0000000..3fa5ee0 --- /dev/null +++ b/wiki.hugo/content/_dump/services-vs-communities.md @@ -0,0 +1,13 @@ +https://mastodon.social/@trwnh/110329802576726213 + +services aren't communities + +the gmail community + +imo the biggest mistake of fedi is tying together the social and technical layers. local timelines should have been group chats all along + +it's a huge misunderstanding because some people want services and some people want communities and they are not the same thing. some people can run a community but offer bad service. some people offer great service but can't run a community + +instances shouldn't exist as the only model. the service layer and the community layer should be separate. combining the two makes both of them worse -- as can be seen if you violate the rules of your community, you lose access not just to the community, but to the service entirely. and if the community cannot continue to provide service, you again lose both. + +i do think there is some value in being both, because then people feel more likely to donate as they are personally invested. but you could have incentives to donate even while keeping them separate. \ No newline at end of file diff --git a/wiki.hugo/content/_dump/shorts-are-too-long.md b/wiki.hugo/content/_dump/shorts-are-too-long.md new file mode 100644 index 0000000..e7b53a9 --- /dev/null +++ b/wiki.hugo/content/_dump/shorts-are-too-long.md @@ -0,0 +1 @@ +i fucking hate the "shorts" format. vine was okay purely because it was limited to 6 or 7 seconds -- if you're going to take away the video controls, prevent me from seeking, maybe autoloop? then i am NOT sitting there for a whole minute while you fail to get to the point. i'm not doing more than 10 seconds, maybe 15 seconds at the most. anything over that should let me seek through the video!!!! videos should always be seekable but if you're not going to make them seekable then at least limit them to one coherent logical "moment" \ No newline at end of file diff --git a/wiki.hugo/content/_dump/social-media-failure.md b/wiki.hugo/content/_dump/social-media-failure.md new file mode 100644 index 0000000..81af6f1 --- /dev/null +++ b/wiki.hugo/content/_dump/social-media-failure.md @@ -0,0 +1,7 @@ +the more i think about and research communication paradigms, i'm starting to think more and more that this whole "social network" thing is just fundamentally flawed. in pure terms you might send a message or publish a resource. but with these social networks it's not that clear cut. you're never unambiguously sending a message or publishing a resource, but instead, some weird hybrid that we call a "post". not quite message, not quite resource. it exists in part or in whole exclusively on-network + +and i guess that makes it easier to put in a silo which is how companies maintain their profit motive. + +but in replicating the design of these social networks we replicate their properties too. fedi hasn't entirely moved past silos because it's embedded in the design level. thankfully not the protocol level, but still. it's going to persist in implementations as long as we limit ourselves to "twitter but better", "instagram but better", etc. we're not building the commons that we could build. + +and the lack of clarity in our metaphors and associated abstractions leads to subtle violations of what people expect. there should be a clearer split. consider the duality of tumblr as both a social network and a publishing platform. they're making this split more apparent than it used to be. in addition to username.tumblr.com for blogs they now have tumblr.com/username for network profiles. \ No newline at end of file diff --git a/wiki.hugo/content/_dump/social.md b/wiki.hugo/content/_dump/social.md new file mode 100644 index 0000000..6b83b34 --- /dev/null +++ b/wiki.hugo/content/_dump/social.md @@ -0,0 +1,83 @@ +is2g ifwhen i make my thing i am going to put a lot of effort into a filter system that actually makes sense. i will not be supporting "mute" or "block" as binary features, but rather, everything flows through the filter system. mastodon filter v2 system is an improvement but doesn't go far enough + +--- + +in any case yes it would be better to encrypt everything or just not peer/replicate at all. fedi has a problem with this because for some unknown reason we all decided it would be a convoluted distributed state machine which is a bad idea when you don't trust all participants, and also worse when those participants are explicitly redistributing it while attributed to you. at that point you might as well go all-in on syndication rather than federation. put another way: federation makes sense for message passing but not for publishing (and fedi is an awkward and unclear hybrid between messaging and publishing) + +--- + +idle thought: idk if i care so much about "fedi" as much as it is "people who are on fedi". either in the abstract or in the concrete, i just wanna make friends and talk to cool people. fedi is little more than a place for fateful encounters based on the streams of consciousness we put out there. the important thing is that no one meddles with this for profit or otherwise. the second fedi stops providing that, i'm out. + +it's a big part of why i don't really relate or sympathize with people who just want fedi to grow. i think any growth has to be sustainable. the values are valuable. if the values are compromised then fedi isn't valuable to me anymore. + +note that there's a big distinction between this and communicating with people you know. if some people are only on fedi then that has a different type of value. network value is not the same as the value of the network. + +it's always the people, i'm only here for the people. i do not want to keep track of the diplomatic politics of tens of thousands of nation-states. no one should! we made a wrong turn somewhere back in 2017 when people started making "community" instances, and arguably we were on the wrong path from the very beginning. maybe the whole thing is wrong tbh. we need to go back to actual forums. the ergonomics are all wrong. the model is wrong. we're just trying to mash everything roughly into the shape of twitter. and worse, every twitter has its own culture and community and is assumed to be homogeneous! how do you atomize all this? + +--- + +[asking natalie what should be removed or what is missing from misskey](https://mastodon.social/@trwnh/109958119755489250) + +
    + +i like that it's an outsider take on fedi and is not afraid to push boundaries and go beyond what mastodong has envisioned + +what's missing is muting/blocking actually being functional. i'd also like to see Room come back lol + +what should be removed: basically nothing. maybe proxy accounts. if i wanted minimal i'd go use some useless software like honk, misskey maximalism is actually really fun + +
    + +--- + +the general objection is "that's not how we currently federate", as if the way we currently federate should be preserved forever + +--- + +"relays" on fedi are like the worst possible interpretation of relays. imagine one big irc room that has no topic whatsoever. just thousands of people posting whatever they want. why + +also imagine your irc client had autologging turned on, and didn't have an easy way to clear specific logs + +--- + +this shit should be generic and it can be browsed by a social web browser or a linked data renderer + +i think it makes the most sense to lean into the Web and just focus on making the publishing as easy and straightforward as possible. i think most people (ideologues aside) don't actually want "federation" as commonly thought of. in absolute terms they want their posts to show up in a reader. + +there still is a place for federation, the "federation" i'm interested in is more like replication in a distributed database. and i'd like to link it all up across domains like "nomadic identity". + +example: imagine a network of generic servers + +your server shuts down, you walk up to any server that has your posts already, prove your identity, pick up like nothing happened + +basically you should be able to "claim" your federated profile on other domains, kind of like how on a centralized site you can claim your profile page if you're a celebrity or whatever + +nomadic identity is literally just doing this process yourself beforehand by setting up mirrors/replicas of your key + +--- + +i forget who it was that said "a single timeline is unsustainable" (aaron parecki?) but i'm feeling more like the real cardinal sin is publishing to a single profile. i don't mind *reading* everything in a single view, although making lists certainly helps. it's the *publishing* that annoys me. i almost *never* want to send a post to *all* of my followers. and this goes doubly for replies. i often want to reply within a specific context and only *optionally* tell my followers about it. + +"one account per feed" is a goddamn travesty. an account should be able to have multiple profiles, and a profile should be able to have multiple feeds, and you should be able to follow individual feeds instead of being forced to follow an entire profile. + +yeah, i was thinking similarly. except i was going to make Collections into actors that could be followed. which would be incompatible with mastodon, because mastodon assumes wrongly that actors must be exactly one of The Five Types. but then again, i am somewhat losing interest in this whole "social media" thing and would prefer to focus on a purer model of publishing web resources and managing them with collections. so maybe "mastodon compatibility" is not all it's cracked up to be... + +if anything, i was thinking of treating "mastodon compatibility" similar to a crossposter up until such point that mastodon relaxes or removes its unnecessary type-checking. you'd have an actor that you can send your activities to, and it will translate them into mastodon-flavoured activitypub and deliver out that translated copy. this actor would have its preferredUsername and all that compat stuff. + +--- + +btw i think that deletes being so costly is something that is entirely a consequence of having essentially replicated the data with a ttl of forever. that's the default mode of every "fedi" software. it makes no sense for most people and it stems from the ideological decisions of over a decade ago + +by which i mean: there's a word for having your published content be replicated to other sites, and it's "syndication". we had this technology for really simple syndication... rss. it later evolved into atom. the "fediverse" was founded on ostatus built on atom feeds. when we say we're "federating" we're really more accurately "syndicating". you just don't have control over the accounts being created on other domains, on your behalf. + +i keep talking about how the metaphors are wrong, like how we merged the concepts of publishing and messaging to the detriment of both. we're sending messages that contain the entirety of a resource that we meant to be published. of course it's going to lead to outcomes that don't make sense. maybe one day people will understand this + +also... authorized fetch won't solve this. if you have a password protected blog, and someone is saving every new post and republishing it, and you let this happen continually, then what's the point of the password? + +--- + +i think it's very important that users be able to understand and reason about the software that they are using! when it "does the thing", it should do so predictably. + +the argument for generic AP is that generic AP allows you to manage resources predictably, without having to care what others will do. it's a standardized storage layer. without it, you need a mastodon account, a pixelfed account, etc... every "platform" owns your data separately. + +imagine if switching from outlook to thunderbird necessitated losing all your emails and maybe even your contacts. \ No newline at end of file diff --git a/wiki.hugo/content/_dump/socialhub-threads/_index.md b/wiki.hugo/content/_dump/socialhub-threads/_index.md new file mode 100644 index 0000000..f7ba421 --- /dev/null +++ b/wiki.hugo/content/_dump/socialhub-threads/_index.md @@ -0,0 +1,2 @@ ++++ ++++ \ No newline at end of file diff --git a/wiki.hugo/content/_dump/socialhub-threads/dereferencing-non-https.md b/wiki.hugo/content/_dump/socialhub-threads/dereferencing-non-https.md new file mode 100644 index 0000000..a597fa7 --- /dev/null +++ b/wiki.hugo/content/_dump/socialhub-threads/dereferencing-non-https.md @@ -0,0 +1,127 @@ ++++ +title = "Dereferencing non-HTTPS URIs as `id`" +date = "2019-10-11" ++++ + +{{toc}} + +## Preserved text + + + +--- + +@trwnh: + +> 3.1 Object Identifiers +> +> All Objects in [ActivityStreams] should have unique global identifiers. ActivityPub extends this requirement; all objects distributed by the ActivityPub protocol MUST have unique global identifiers, unless they are intentionally transient […] These identifiers must fall into one of the following groups: +> +> 1. Publicly dereferencable URIs, such as HTTPS URIs, with their authority belonging to that of their originating server. (Publicly facing content SHOULD use HTTPS URIs). +> 2. An ID explicitly specified as the JSON null object, which implies an anonymous object (a part of its parent context) +> +> Identifiers MUST be provided for activities posted in server to server communication, unless the activity is intentionally transient. However, for client to server communication, a server receiving an object posted to the outbox with no specified id SHOULD allocate an object ID in the actor’s namespace and attach it to the posted object. +> +> All objects have the following properties: +> +> id +> +> The object’s unique global identifier (unless the object is transient, in which case the id MAY be omitted). +> +> type +> +> The type of the object. + +One thing I've wondered about is point 1 under 3.1 -- the id MUST be publicly dereferencable, with its authority belonging to the origin server... but it only SHOULD be https. + +So, does this mean that there are other possible choices for a publicly dereferencable id with proper authority, that *isn't* HTTPS? I assume that the intention was to suggest using HTTPS over HTTP (e.g. section 3.2 assumes HTTP GET and content negotiation, as well as headers and 403/404 error codes; section 5.1/5.2 specifies HTTP POST to outbox/inbox; Section 6 uses MUST for making an HTTP POST to actor outboxes and 201 codes), but my curiosity is with other URI schemes entirely. + +Perhaps one practical consideration (as there are various impractical ones, such as file://, ftp://, ftps://, sftp://, and so on) is to not use a URL but instead use a URN (such as doi, isbn, and other urn: URIs). Of course, this requires us to do a little more work to treat them as "dereferencable", such as by including a HTTPS proxy or some other resolver service. I wonder how that might be done, and whether this is at all worth pursuing. It could be used for deduplication, for example, by assigning a network-wide URN, with the authority deferred to the lookup service/proxy used as an instrument. + +--- + +@cwebber: + +> So, does this mean that there are other possible choices for a publicly dereferencable id with proper authority, that isn’t HTTPS? + +Yes and the [Golem demo](https://gitlab.com/spritely/golem/blob/master/README.org) shows exactly an example of this, using a (very-cut-down demo) of using [Datashards](https://datashards.net/) with ActivityPub (it was called “magenc” back then) to distribute activities. A similar example could be done with IPFS, for instance (though that doesn’t provide the privacy/security properties that Datashards does). + +Similarly, [bearcaps](https://github.com/cwebber/rwot9-prague/blob/bearcaps/topics-and-advance-readings/bearcaps.md) are a possible non-https URI scheme that we might use. + +[...] Wanting to support Tor Onion Services is a reason I explicitly pushed back against pressure to make the spec https-only, which some people wanted. + +--- + +@trwnh: + +I guess what I’m trying to comprehend the most would be, how would compatibility work between the HTTPS linked-data web, and the non-HTTPS documents? If we start passing around AP JSON-LD documents with non-HTTPS `id` then it would obviously break due to basically all implementations assuming that all they need to do is HTTP GET `id`. + +I remember reading the [RWoT paper about DIDs in ActivityPub](https://github.com/WebOfTrustInfo/rwot5-boston/blob/master/final-documents/activitypub-decentralized-distributed.pdf) and having the same confusion at the time about how it would work practically. The closest thing I could find was [`instrument`](https://www.w3.org/TR/activitystreams-vocabulary/#dfn-instrument) in the AS2 Vocab, but that has a domain of `Activity` only, and is described as "Identifies one or more objects used (or to be used) in the completion of an `Activity`", so it would have to be redefined to work on `Object` as well. + +--- + +@rinpatch: + +Wouldn't an array of `id` work? + +--- + +@trwnh: + +Actually, multiple `id` seems interesting to me for a different thing: nomadic identity. Consider a case where an Object has multiple HTTPS URIs. + +That might not be the best way to do it, though. In fact, one shortcoming that is immediately apparent to me is the question of what to do if the document retrieved from one `id` is different from that retrieved from another `id`. So it would be better to have one canonical `id` only, where possible. But technically, the problem of differing documents can still happen, due to something as simple as a desync. + +[[future errata: this is what `alsoKnownAs` could be used for?]] + +I’d really like to focus on modeling how to dereference non-HTTPS in a way that is still roughly compatible with the HTTPS Web-based network. So far the following options have been mentioned: + +* `id` as Array; pick whichever one you understand. +* `url` as Array; pick whichever one you understand but leave `id` as HTTPS. +* just break compat and let implementations figure out how to resolve `id` (if they can) +* use a local proxy directly as `id` (technically still globally unique but represents change of authority) +* use a proxy Service as `instrument` (and extend `instrument` to be applied to `Object` and not just `Activity`) + +--- + +@how: + +I’m a bit concerned about extending to objects what could be done with creating an object-specifc actor acting as a proxy. The `instrument` service seems to be adapted to this use-case: you get a representation of the object’s metadata but must use the out of band service to retrieve the actual object. Best of both worlds? + +--- + +@nightpool: + +The ActivityPub standard does not define that any given server must support any one scheme. I don’t understand what the purpose of having it do so would be? it would just limit the flexibility of the protocol for no practical benefit (If two servers don’t support the same schemes, then they’re obviously not going to be able to talk to each other, MUST or no MUST) + +--- + +@trwnh: + +I think there’s probably mixing of concerns to treat non-HTTPS as primarily an issue of nomadic content; while there is *potential* application toward this, I think the incompatibility issue is probably more pressing in the long run. You can claim that a software is “compatible with ActivityPub”, but this is a statement that needs clarification and qualification. And this is also something that would become even more of an issue if ActivityPub is implemented via networks other than HTTP(S). + +In that sense, there is no “ActivityPub network” – there is only currently an “ActivityPub over HTTPS network” (using HTTPS ids), as well as a sub-network of “ActivityPub over HTTPS network, with WebFinger” (perhaps more colloquially referred to as “the Mastodon network”). + +Even if every (or the majority of) software implementation(s) moves to adopt `bear:` URIs as `id`, there is now still the question of which URI schemes are supported with the `u` parameter of the bearcap. The draft for bearcaps defines `u` as “The stable URL that the bearer capability URI is associated with for requests”, which is, again, not specifically HTTP(S). But even then, specifying a “stable URL” means that we are precluding URNs as a form of reference. + +As nightpool mentions: + +> If two servers don’t support the same schemes, then they’re obviously not going to be able to talk to each other + +So I guess my main concern is that so-called “ActivityPub” software will settle around the lowest common denominator or the most restrictive set of requirements for interoperability. I’d like to lessen that if possible, so that individual implementations have the option to explore alternative lookup strategies for other “publicly dereferencable” schemes without that implying a choice between “hard break in network compatibility” or “stuck using HTTPS for `id` because everyone else is”. Although a hard break might be desirable in some cases, e.g. “if you don’t understand bearcaps then you can’t interact with this object”. + +--- + +## current thoughts + +we've well and truly collapsed into the "https only" world by now. any attempt to use a different scheme represents a sort of netsplit. this is not all good or bad though; it just means that the only network we have is the World Wide Web. + +`alsoKnownAs` may be useful here as well: + +> i see a few possible approaches: +> +> 1. defer `alsoKnownAs` to mastodon's usage (concept 2, controlling the listed actor). define a new term `aliases` (pending name) to represent concept 1, different identifiers for the same subject. we might also define `subject` or some similar term to identify a "canonical" identifier? +> +> 1. defer `alsoKnownAs` to the DID core definition (concept 1, different identifiers for the same subject). implement a transitional period in which mastodon and other projects switch to a different mechanism more along the lines of rel-me. eventually deprecate the use of `alsoKnownAs` for determining rel-me. + +aside from that, the `instrument` idea still has some potential \ No newline at end of file diff --git a/wiki.hugo/content/_dump/socialhub-threads/exposing-edit-history.md b/wiki.hugo/content/_dump/socialhub-threads/exposing-edit-history.md new file mode 100644 index 0000000..1690d2e --- /dev/null +++ b/wiki.hugo/content/_dump/socialhub-threads/exposing-edit-history.md @@ -0,0 +1,24 @@ ++++ +title = "Notifying remote servers that they should refetch an object" +date = "2019-11-01" ++++ + +{{toc}} + +## Preserved text + + + +@trwnh: + +Per [expose edit history in ActivityPub representation · Issue #23292 · mastodon/mastodon · GitHub ](https://github.com/mastodon/mastodon/issues/23292) + +@Johann150 raises a feature request for being able to view earlier versions of an activity or object before an Update was received. In the case where an object is Created and then Updated, someone receiving the Update who didn’t receive the Create first would have no way of knowing what was contained in the original version. Someone fetching the object without having received either of the activities would be able to know that it was edited based on the presence of the `updated` property, but likewise would not be able to retrieve any additional information about previous versions. + +Looking at the existing Activity Vocabulary we see that the only existing way to do this would be in the case that `context` was published, although this requires that the context MUST be a Collection, and you would have to dig through all the items to filter for Update activities (plus the initial Create). Additional issues arise from the ordering of Collections not always being consistent, but in general you will still have to traverse the entire context collection. + +Therefore it likely makes sense to propose a new property called something like `history` or `revisions`. If there is any prior art or some existing specifications that could apply here, it would be helpful to know about them. + +## current thoughts + +idk \ No newline at end of file diff --git a/wiki.hugo/content/_dump/socialhub-threads/follow-arbitrary-collections.md b/wiki.hugo/content/_dump/socialhub-threads/follow-arbitrary-collections.md new file mode 100644 index 0000000..1840bd0 --- /dev/null +++ b/wiki.hugo/content/_dump/socialhub-threads/follow-arbitrary-collections.md @@ -0,0 +1,436 @@ ++++ +title = "Unresolved issues surrounding Follow activities" +date = "2019-10-10" ++++ + +{{}} + +## Preserved text + + + +
    +# First, some context… + +What the C2S spec says: + +> 6.5 Follow Activity +> +> +> +> The Follow activity is used to subscribe to the activities of another actor. +> +> +> +> The side effect of receiving this in an outbox is that the server SHOULD add the object to the actor’s following Collection when and only if an Accept activity is subsequently received with this Follow activity as its object. + +What the S2S spec says: + +> 7.5 Follow Activity +> +> +> +> The side effect of receiving this in an **inbox** is that the server *SHOULD* generate either an `Accept` or `Reject` activity with the Follow as the `object` and deliver it to the `actor` of the Follow. The `Accept` or `Reject` *MAY* be generated automatically, or *MAY* be the result of user input (possibly after some delay in which the user reviews). Servers *MAY* choose to not explicitly send a `Reject` in response to a `Follow` , though implementors ought to be aware that the server sending the request could be left in an intermediate state. For example, a server might not send a `Reject` to protect a user’s privacy. +> +> +> +> In the case of receiving an `Accept` referencing this `Follow` as the object, the server *SHOULD* add the `actor` to the object actor’s [Followers Collection ](https://www.w3.org/TR/activitypub/#followers). In the case of a `Reject` , the server *MUST NOT* add the actor to the object actor’s [Followers Collection ](https://www.w3.org/TR/activitypub/#followers). +> > Note +> > +> > +> > +> > Sometimes a successful `Follow` subscription may occur but at some future point delivery to the follower fails for an extended period of time. Implementations should be aware that there is no guarantee that actors on the network will remain reachable and should implement accordingly. For instance, if attempting to deliver to an actor for perhaps six months while the follower remains unreachable, it is reasonable that the delivering server remove the subscriber from the `followers` list. Timeframes and behavior for dealing with unreachable actors are left to the discretion of the delivering server. + +Special collections: + +> 5.3 Followers Collection +> +> +> +> Every [actor ](https://www.w3.org/TR/activitypub/#actors) *SHOULD* have a `followers` collection. This is a list of everyone who has sent a [Follow](https://www.w3.org/TR/activitystreams-vocabulary/#dfn-follow) activity for the actor, added as a [side effect](https://www.w3.org/TR/activitypub/#follow-activity-outbox). This is where one would find a list of all the actors that are following the actor. The `followers` collection *MUST* be either an [ `OrderedCollection` ](https://www.w3.org/TR/activitystreams-vocabulary/#dfn-orderedcollection) or a [ `Collection` ](https://www.w3.org/TR/activitystreams-vocabulary/#dfn-collection) and *MAY* be filtered on privileges of an authenticated user or as appropriate when no authentication is given. +> > Note: Default for notification targeting +> > +> > +> > +> > The follow activity generally is a request to see the objects an actor creates. This makes the Followers collection an appropriate default target for [delivery](https://www.w3.org/TR/activitypub/#delivery) of notifications. +> +> +> 5.4 Following Collection +> +> +> +> Every actor *SHOULD* have a `following` collection. This is a list of everybody that the actor has followed, added as a [side effect](https://www.w3.org/TR/activitypub/#follow-activity-outbox). The `following` collection *MUST* be either an [ `OrderedCollection` ](https://www.w3.org/TR/activitystreams-vocabulary/#dfn-orderedcollection) or a [ `Collection` ](https://www.w3.org/TR/activitystreams-vocabulary/#dfn-collection) and *MAY* be filtered on privileges of an authenticated user or as appropriate when no authentication is given. + +In summary… C2S Follow puts a Follow activity in your outbox, your server waits for an Accept, then adds that actor to following. S2S Follow takes a Follow activity in your inbox, your server wraps it in Accept/Reject and delivers that. S2S Accept Follow adds that actor to followers. (All of this is SHOULD language.) + +However, this leaves some things too ambiguous… + +# Following only a *subset* of activities + +By default, when you Follow an Actor, most implementations interpret that as a sign of interest in every single activity that the actor publishes, similar to the note in 5.3 (“The follow activity generally is a request to see the objects an actor creates.”). But there is no way to signal an interest in receiving only *some* of the activities. Perhaps the only possible concession here is the `streams` property of an actor, but there is basically nothing to guide implementations aside from a passing mention that is only 10 words long: + +> **streams** +> A list of supplementary Collections which may be of interest. + +This suggests a pull-based approach, where you can GET the `streams` of an actor… but you cannot have the actor deliver any activities from those streams. Nor is it explicitly defined whether these collections contain activities or objects, or what the collections are actually for (aside from heuristically guessing based on the name of the collection?) Perhaps there could be a way to consistently understand these collections and maybe follow just those streams instead of the actors, but that would require… + +# Following non-actor objects + +Per 6.5, “The Follow activity is used to subscribe to the activities of another actor.” But sometimes you don’t necessarily care what a single actor does with multiple objects, you care about what multiple actors are doing with a single object. + +AFAIK some implementations interpret Follow Object to generally mean that the software will deliver any activities targeting that object to any actor that has expressed interest through the Follow Object activity. Perhaps this should be formalized, as the following are currently not agreed upon: + +* Who should you send the Follow Object to? The `attributedTo` actor? Does following that object imply also following the actor? +* How should you keep track of followed objects? Should they be added to the `following` collection like actors? Should individual objects define a `followers` collection? +* How do you know if an object is followable? If you send a Follow Object to remote software, it may not understand it. Is the presence of a `followers` collection enough for this? Does it also need `attributedTo`? Some other method? + +# Practical applications + +As prior art, Google+ Collections come to mind. For each post made to Google+, a user could choose to address it to Public, or to selected users (like actors), or to a Circle (like a collection of actors), or to a Community (like a group), or to a Collection (like a category/stream). This could be seen as confusing since it wasn’t really well-explained to users what any of these concepts meant, and Google+ also used Circles both for addressing those users *and* for viewing posts from those users, whereas most other services have a separate Lists feature for viewing posts from a subset of users. In essence, users can categorize their posts at the same time as they choose who to address them to. Consider the following hypothetical documents: + +``` +{ +"id": "https://social.example/actors/1", +"type": "Person", +"inbox": "https://social.example/inboxes/1", +"outbox": "https://social.example/outboxes/1", +"followers": "https://social.example/actors/1/followers", +"streams": ["https://social.example/collections/1"] +} +``` + +``` +{ +"id": "https://social.example/objects/1", +"type": "Note", +"content": "a simple note", +"attributedTo": "https://social.example/actors/1", +"followers": "https://social.example/objects/1/followers" +} +``` + +``` +{ +"id": "https://social.example/collections/1", +"type": "OrderedCollection", +"items": ["https://social.example/objects/1"], +"followers": "https://social.example/collections/1/followers" +} +``` + +``` +{ +"id": "https://social.example/activities/1", +"type": ["Create", "Add"], +"actor": "https://social.example/actors/1", +"object": "https://social.example/objects/1", +"target": "https://social.example/collections/1", +"to": + [ + "https://social.example/actors/1/followers", + "https://social.example/objects/1/followers", + "https://social.example/collections/1/followers" + ] +, +"cc": ["as:Public"] +} +``` + +# Etc + +Any comments, additions, etc. about this? + +
    + +--- + +@trwnh: + +I should also add some discarded approaches that I considered at one point while thinking about this but determined to be too problematic: + +* interpreting a Follow as subscribing to multiple actors instead of just one +* multiple outboxes (although this might still be applicable to other problems, just not this one for now) +* using Profiles instead of Actors (though this could still be done, it would be unsupported in current implementations; it would however become possible to Follow Profile instead of Follow Actor) +* having objects just be made into actors, a la the concept of message passing in computer science (although this adds a lot of complexity because objects generally only need a small part of what Actor provides) +* hackily having multiple actors representing the same Person, but using them to create objects, then Announcing those from a more “central” actor (too complicated and unwieldy) + +--- + +@trwnh: + +Sure, but how should we discover this? + +As stated above I went with `attributedTo` and the presence of a `followers` property, but perhaps it may be better to use an explicit endpoint like `inbox`? + +--- + +@trwnh: + +It’s almost 3 years later and I think I’ve come around on this a bit – + +> As stated above I went with `attributedTo` and the presence of a `followers` property, but perhaps it may be better to use an explicit endpoint like `inbox`? + +I think explicit is better than implicit. All that’s required for an Object to be an Actor is to have `inbox` and `outbox`. The only issue with current language in the spec is that + +> The outbox stream contains activities the user has published, + +and semantically speaking actors are not equivalent to users, nor is the attribution required to match the same actor (or even *be* an actor – `attributedTo` can include another activity, for example). + +Where the previous approach fails is that the `followers` collection may not be included or published. The `followers` property is only a SHOULD and not a MUST. + +For delivery of the Follow activity, we can refer to the guidance on delivery: + +> The [inbox](https://www.w3.org/TR/activitypub/#inbox) is determined by first [ retrieving the target actor’s JSON-LD representation](https://www.w3.org/TR/activitypub/#retrieving-objects) and then looking up the `inbox` property. If a recipient is a `Collection` or `OrderedCollection`, then the server *MUST* dereference the collection (with the user’s credentials) and discover inboxes for each item in the collection. Servers *MUST* limit the number of layers of indirections through collections which will be performed, which *MAY* be one. + +Which, again, implies that we should just attach `inbox` on anything followable. And if we do that, then we should/must attach `outbox` as well to make it an actor (although in practice this may not be strictly required – it is possible to model having an inbox but no outbox, and some implementations might do this already in apparent violation of the spec). + +--- + +@macgirvin: + +I do recall when Mastodon first implemented ActivityPub and some folks were still using OStatus. In this case the inbox was set to NULL. We implemented AP at exactly the same time and this threw exceptions in my code. Was going to file a bug, but technically speaking I think it’s spec compliant. The language states that an actor must have the “following properties” and these records had the required properties, except they weren’t de-reference-able. In any case I consider this to be a legal interpretation and have code to handle it appropriately. + +A more serious issue is that we implement access permissions to several collections and these are not de-reference-able unless the requestor has permission to access the collection. The spec is incredibly weak where it comes to dealing with permissions, but I have every right to restrict access of a resource to anybody I desire - even if it means my software isn’t technically compliant. This makes the quoted section in your reply contentious. These are deliverable through the forward-to-owner sections referenced elsewhere in the spec so everything still works; but not all collections are de-reference-able by every actor that receives an activity — nor should they be. + +--- + +@trwnh: + +[quote="macgirvin, post:8, topic:114"] +In this case the inbox was set to NULL. +[/quote] + +Hmm. My interpretation is that `inbox` and `outbox` properties MUST be provided, but not necessarily be public. I’m not sure whether it makes sense to set `inbox` to `null` explicitly; is that not the same as excluding it? In any case, the practical implication of the current network (“ActivityPub over HTTPS”, or as I’ve taken to calling it recently, “ActivityPub over HTTPS with Webfinger and HTTP Signatures” :stuck_out_tongue: ) is that one can simply POST to an inbox IRI and have it either return successfully or error out with a 405 Not Allowed (if federation is not implemented). I’d be curious to hear any objections or concerns regarding this. + +[quote="macgirvin, post:8, topic:114"] +I have every right to restrict access of a resource to anybody I desire - even if it means my software isn’t technically compliant. +[/quote] + +I’m not sure if it’s technically “incompliant” to do so, but for what it’s worth, Pixelfed for example provides `inbox` for actors (currently equivalent to users, but under this proposal, it doesn’t have to be), and this `inbox` only supports POST and not GET, for obvious reasons – federation works by POSTing to the `inbox` and GET is only needed for C2S fetching your own inbox with authorization. That doesn’t seem like a problem to me; if anything, it seems natural since the inbox is only for delivery. Setting `inbox: null` or leaving it out implies that the object is not an actor, since it does not have both `inbox` and `outbox` (the only two required properties for actors). Aside from this heuristic, there doesn’t seem to be any other meaning to being an actor. So I would agree that yes, access to resources may be restricted without authorization. This doesn’t seem like an issue, although I may be misunderstanding or overlooking something. + +[quote="macgirvin, post:8, topic:114"] +This makes the quoted section in your reply contentious. These are deliverable through the forward-to-owner sections referenced elsewhere in the spec so everything still works; but not all collections are de-reference-able by every actor that receives an activity — nor should they be. +[/quote] + +Inbox forwarding could perhaps be applicable, but not any more so than it already is. + +To clarify, the assumed / proposed flow is something like this: + +1. I GET an actor at `https://example.social/actors/1` and see that their `streams` advertises `https://example.social/collections/1`: + +``` +GET https://example.social/actors/1 HTTP/1.1 +Accept: application/ld+json; profile="https://www.w3.org/ns/activitystreams" + +{ +"@context": [...], +"id": "https://example.social/actors/1", +"type": "Person", +"inbox": "https://example.social/inboxes/1", +"outbox": "https://example.social/outboxes/1", +"streams": ["https://example.social/collections/1"], +... +} +``` + +2. I want to `Follow` the `Collection` at `https://example.social/collections/1` for updates. (Let’s say this `Collection` is advertised within `streams` and represents some categorization of posts, similar to Wordpress categories or Google+ Collections. Its items contain some arbitrary objects like `Note`s that have been published within the category/stream.) +3. I perform `GET https://example.social/collections/1`, optionally with an HTTP Signature for my actor `https://ap.trwnh.com/actors/1`. The server responds with a `Collection` containing only the items I am authorized to see, based on the HTTP Signature attached. If no signature is attached, then only items with `audience: as:Public` will be returned (likewise for `to`/`cc`/etc if the server software uses those for addressing instead of `audience`). + +``` +GET https://example.social/collections/1 HTTP/1.1 +Accept: application/ld+json; profile="https://www.w3.org/ns/activitystreams" +Signature: keyId="https://ap.trwnh.com/actors/1/publicKey",... + +{ +"@context": [...], +"id": "https://example.social/collections/1", +"type": "OrderedCollection", +"totalItems": 1312, +"first": "https://example.social/collections/1?page=1", +"last": "https://example.social/collections/1?page=132", +"inbox": "https://example.social/inboxes/1", +"outbox": "https://example.social/outboxes/2" +} +``` + +4. From this response, I parse for the `Collection`’s `inbox` property. If it does not have one, I assume it cannot be followed. If it does have one, then I assume I can send a `Follow` there. In this example, `https://example.social/collections/1` has `inbox: https://example.social/inboxes/1`. (This happens to be the inbox for `https://example.social/actors/1`, but it doesn’t have to be. This is an implementation detail.) To follow the stream for updates: + +``` +POST https://example.social/inboxes/1 HTTP/1.1 +Content-Type: application/ld+json; profile="https://www.w3.org/ns/activitystreams" + +{ +"@context": [...], +"type": "Follow", +"actor": "https://ap.trwnh.com/actors/1", +"object": "https://example.social/collections/1" +} +``` + +5. The remote server then responds as per the individual implementation’s logic, e.g. with an `Accept Follow` + +This is of course open to different methods of access control, object capability delegation, etc. – the key point is that the followable object has an `inbox` to `POST` a `Follow`, which I prefer over heuristics like dereferencing `attributedTo` and looking for an `inbox` there. It is simpler to just provide the `inbox` directly. And you might as well provide an `outbox` too and make it a full-fledged actor, since being an actor doesn’t actually imply much. Neither `inbox` nor `outbox` has to be public, anyway – they just have to be there. + +One other addendum is that, last I looked into this, I saw some discussion around Friendica and Zap having or planning support for `Follow Note`, but I was not able to find how this support was implemented, if it was. + +--- + +@macgirvin: + +Interesting. Yeah, that all make sense. + +As I recall the rationale for inbox = null was a hint that an actor exists at this address, but it is only useful by some other protocol from ActivityPub. If you perform some alternate or broader scoped discovery (outside of AP) you might find that you can actually communicate with it. + +We perform Follow Note and if I recall Ignore Note as internal activities to indicate you want to see (or not see) notifications for this thread in the future. We currently don’t federate these activities - they’re strictly for internal use. The object is always the top-level post in a thread as these platforms default to conversation/threaded display. + +Oh and the comment about permissions wasn’t really about inbox/outbox but about recipient collections. We permit people to hide who is in their followers/following and circles/aspects collections if they don’t feel like sharing these with the world. These will return 403 if the owner doesn’t want anybody to see their contents. This affects the address de-duplication sections of the spec since these collections can only be expanded/iterated by their origin server. We do filter outbox contents based on the request http-signature but I think this is common practice. + +--- + +@trwnh: + +This may be off-topic but it’s worth pointing out that most projects I’m familiar with tend to respond with some valid JSON(-LD), but intentionally leaving out any details the author does not want visible. + +* Mastodon’s “Hide your network” option will return an `OrderedCollection` with the only useful property being `totalItems`. This is because Mastodon’s philosophy is to hide only the contents of the collection while still revealing metadata (presumably out of some concern for signaling “trustworthiness”, which to me seems flawed, but I digress): + +``` +GET https://mastodon.social/users/trwnh/followers HTTP/1.1 +Accept: application/activity+json + +{ + "@context": "https://www.w3.org/ns/activitystreams", + "id": "https://mastodon.social/users/trwnh/followers", + "type": "OrderedCollection", + "totalItems": 2482 +} +``` + +* Pixelfed currently does something similar, but intentionally “lies” and claims that there are 0 items while explicitly returning an empty array as the value: + +``` +GET https://pixelfed.social/users/trwnh/followers HTTP/1.1 +Accept: application/activity+json + +{ + "@context": "https://www.w3.org/ns/activitystreams", + "id": "https://pixelfed.social/users/trwnh/followers", + "type": "OrderedCollectionPage", + "totalItems": 0, + "orderedItems": [] +} +``` + +* Pleroma has separate toggles for hiding either the items or the count (or both). If the items are hidden, the `orderedItems` will simply not be present. If the count is hidden, the `totalItems` will simply not be present. If both are hidden, both properties will simply not be present. On a UX level, hiding the counts requires hiding the items, because hiding only the count leaves you open to manually counting the items yourself. + +``` +GET https://letsallovela.in/users/at/followers HTTP/1.1 +Accept: application/activity+json + +{ + "@context": [...], + "first": "https://letsalllovela.in/users/at/followers?page=1", + "id": "https://letsalllovela.in/users/at/followers", + "type": "OrderedCollection" +} +``` + +* Misskey does the same thing as what you described: 403 Forbidden. + +--- + +@trwnh: + +In any case, I don’t think that the spec necessarily intended to have the *sender* dereference follower collections for other actors – rather, that role falls on the *receiver*, and the logic/rationale is as described in the Inbox Forwarding section, “avoiding ghost replies”: + +> When Activities are received in the [inbox](https://www.w3.org/TR/activitypub/#inbox), the server needs to forward these to recipients that the origin was unable to deliver them to. To do this, the server *MUST* target and [deliver](https://www.w3.org/TR/activitypub/#delivery) to the values of `to`, `cc`, and/or `audience` if and only if all of the following are true: +> +> * This is the first time the server has seen this Activity. +> * The values of `to`, `cc`, and/or `audience` contain a Collection **owned by the server**. +> * The values of `inReplyTo`, `object`, `target` and/or `tag` are objects **owned by the server**. The server *SHOULD* recurse through these values to look for linked objects **owned by the server**, and *SHOULD* set a maximum limit for recursion (ie. the point at which the thread is so deep the recipients followers may not mind if they are no longer getting updates that don’t directly involve the recipient). The server *MUST* **only target the values of `to`, `cc`, and/or `audience` on the original object** being forwarded, and **not pick up any new addressees** whilst recursing through the linked objects (in case these addressees were purposefully amended by or via the client). +> +> The server *MAY* filter its delivery targets according to implementation-specific rules (for example, spam filtering). + +Essentially, inbox forwarding is a failsafe that allows a sender to say “look, here’s the Activity, I don’t know what this collection contains, so you deal with it, since it’s ostensibly under your authority.” This is why the “owned by the server” language is used multiple times in the above quoted section. Replying to, tagging, or performing an activity with the (locally owned) actor should trigger some discovery behavior. I must admit I find this recursive discovery behavior a bit problematic, although it is easier to swallow if you take it to mean “remote server implementations may notify / deliver to local actors that you reply to, tag, or act upon”. Perhaps it makes sense to notify someone if they were tagged or replied to, even if they were not explicitly addressed. Perhaps the implication is that they should be careful while doing so to not expand the scope of delivery. Perhaps the language in this third bullet point is simply bad language or bad guidance. + +With that said, what matters for the purpose of inbox forwarding is that, if you are delivering to someone else’s followers collection, then the sender needs to know how to refer to the `followers` IRI. But `followers` as a property is only a SHOULD and not a MUST. And I guess the “spam filtering” clause above also opens the door to implementations simply choosing *not* to forward to someone else’s followers. (I think Mastodon does indeed filter out activities delivered to someone else’s followers collection, based on a friend’s testing, but I can’t remember for sure.) Anyway, a server that only implements S2S and not C2S might as well leave out the `followers` and `following` entirely, for privacy purposes. I don’t think this would break anything – if it does, that points to bugs in existing implementations. (Okay, it might break sharedInbox.) + +One other tangent about inbox forwarding and addressing in general, that I might follow up on in another topic: I wish implementations would use `audience` more. It should be standard behavior to comment on someone’s post and address them, plus the value of `audience` (plus any other arbitrarily mentioned/added people, plus maybe your own followers). The audience of a post should be used even above `to`/`cc`, because to me `audience` carries human semantics while `to`/`cc`/`bto`/`bcc` are for server communication. For S2S purposes, the server implementation is actually free to deliver several slightly different activities to different inboxes, and in the case of `bto` and `bcc` this differing behavior is actually required. This, combined with the previous paragraph, leads to an issue where one may target their own `followers` collection without actually advertising it as their `followers` collection. I’m not sure what kind of undefined behavior that would lead to… it’s things like this that make me think sharedInbox was a mistake. + +--- + +@macgirvin: + +This whole clause is about “conversational delivery” ; which is completely different from microblog use. We use conversational delivery so I understand it very well. This is the two fediverses problem I speak about quite often. + +I’ll put it in very simple terms. We have the Twitter fediverse and the Facebook fediverse. The protocol supports the Facebook fediverse through inbox forwarding but Twitter-like projects don’t understand it and do things that break the Facebook fediverse. We can get along together but the first step is acknowledging that both models exist and learning how to implement both. The Facebook fediverse is important for things like private groups (ok “restricted”) and circles (restricted collections), so Twitter-like projects can get some benefit from supporting both. + +And we can implement both. In the Facebook fediverse all comments to a restricted (not public) post go back to the sender of the top-level post and to nobody else. The actor that sent the top-level post delivers the comments downstream to all of the original recipients of the top-level post - and to nobody else. If it’s a public conversation commenters can send to whoever they want. This is the secret sauce that makes restricted conversations work. + +In this model the sender of the top-level post is the only delivery authority for the entire threaded conversation. Now realise that this section was added to ActivityPub so that Facebook-like projects such as Friendica, Diaspora, and Hubzilla could exist in an ActivityPub fediverse, but the people writing the spec were nearly all from the Twitter side of the fediverse and to this day the Twitter side doesn’t recognise that the Facebook side exists and has a different addressing/delivery model than they do. + +It seems from your reply that conversational delivery is a bit alien to you as well. No worries. I’ve proposed a mechanism to let everybody know for any given conversation which model to use. It’s pretty simple and uses ‘replyTo’ and works the same as email’s reply-to. If it’s set, that’s who you reply to - and you don’t cc or deliver to anybody else; and you also copy that replyTo to your own comment before sending. If it isn’t set, send your comment to whoever you want. Twitter-like projects will never set it except maybe in circles/aspects or private/restricted groups. Facebook-like projects will probably always set it except maybe in public conversations when their posts benefit from exponentially widening reach. And everybody lives happily ever after in the same fediverse. We support this today. + +--- + +@trwnh: + +Small point of contention: “Twitter fedi” projects like Mastodon implement inbox forwarding, but they don’t make it the main mechanism of delivering replies in the same way that “Facebook fedi” projects expect to redistribute comments. + +I am familiar with that model, and in fact Dennis Schubert proposed it some years back in criticism of the “twitter fedi” approach – [ActivityPub - one protocol to rule them all? - Dennis Schubert ](https://overengineer.dev/blog/2018/02/01/activitypub-one-protocol-to-rule-them-all.html#replies-and-interactions) proposed back in 2018 that “Alice’s host is the one who delivered the shareable, so it feels somewhat natural to also ask Alice’s host to distribute the interactions […] a more sensible, reliable, and even more AcitivityStream’y way of handling replies would probably be adding the interaction to the replies collection and sending an `update`”. Whether the original activity is forwarded or whether an Update is sent doesn’t particularly matter to me, since the model works the same either way – your interaction exists in context of some top-level object. + +In fact, we could be more explicit with this model by using the `context` property (which sadly goes largely unused on “twitter fedi”). If a post has a `context` of another post, it is a comment (Facebook-style). Otherwise, it is just a post (Twitter-style). These (Twitter-style) posts can exist in context of a Collection representing a conversation, or they can exist in a null context. + +> I’ve proposed a mechanism to let everybody know for any given conversation which model to use. It’s pretty simple and uses ‘replyTo’ and works the same as email’s reply-to. If it’s set, that’s who you reply to - and you don’t cc or deliver to anybody else; and you also copy that replyTo to your own comment before sending. If it isn’t set, send your comment to whoever you want. + +Hmm, I guess this makes sense as a mechanism – it’s like a more explicit version of `context`. Prior to this conversation I would have probably proposed something like the following algorithm: + +1. Try to resolve `context` and check for `attributedTo`. +2. Resolve everything in `attributedTo` and deliver to any `inbox` found. +3. If there was no `context.attributedTo` or no actors/inboxes could be found, or if there was no `context`, then deliver your reply to whomever (your followers, as:Public, etc). + +Again, though, I’m not sure if `context.attributedTo.inbox` is the best approach here. At least `replyTo.inbox` saves a lookup step, and allows delivering to different actors, which would allow modeling anonymous objects. + +As far as `context` goes, though, it would probably be a good idea to assign `context` = the top-level post (Facebook-style) or `context` = some Collection representing the conversation or thread, and then copy the `context` as-is when replying/commenting. + +Perhaps an algorithm which supports both `context` and `replyTo` would look like this in pseudocode: + +``` +# Determine to/cc addressing +if "replyTo" in activity: + to = [ + actor["inbox"] + for actor in activity["replyTo"] + if "inbox" in actor + ] + +elif ( +"context" in activity +and "attributedTo" in activity["context"] +): + to = [ + actor["inbox"] + for actor in activity["context"]["attributedTo"] + if "inbox" in actor + ] + +else: + to = ACTOR["followers"] + PUBLIC + +# Copy any values that should be copied +if "replyTo" in activity: + replyTo = activity["replyTo"] +if "context" in activity: + context = activity["context"] +``` + +--- + +@macgirvin: + +We also use context as you’ve described - but recently a number of new projects have started using context for other things than conversation ids. Fetching our context in fact returns a collection of the entire threaded conversation as seen by the root node - which is something I also wish more projects supported. But now that folks are doing other things with context and we also still have folks using them with OStatus semantics (which aren’t de-reference-able) I suppose we’ll eventually have to come up with a different cross-platform way of fetching the entire conversation. Oh well. + +Cheers. + +## current thoughts + +i plan to synthesize several things here -- a collection that could also be an actor, and maybe set as context. see FEP-7888 and a future FEP for that i guess \ No newline at end of file diff --git a/wiki.hugo/content/_dump/socialhub-threads/note-vs-article-distinction.md b/wiki.hugo/content/_dump/socialhub-threads/note-vs-article-distinction.md new file mode 100644 index 0000000..710ac50 --- /dev/null +++ b/wiki.hugo/content/_dump/socialhub-threads/note-vs-article-distinction.md @@ -0,0 +1,159 @@ ++++ +title = "Resolving the Note vs. Article distinction" +date = "2019-11-01" ++++ + +## preserved text + +
    + +# Background + +[Activity Vocabulary - 3.3 Object Types ](https://www.w3.org/TR/activitystreams-vocabulary/#object-types): + +> **Note**: Represents a short written work typically less than a single paragraph in length. +> **Article**: represents any kind of multi-paragraph written work. + +Example 48 (Article): + +``` +{ + "@context": "https://www.w3.org/ns/activitystreams", + "type": "Article", + "name": "What a Crazy Day I Had", + "content": "
    ... you will never believe ...
    ", + "attributedTo": "http://sally.example.org" +} +``` + +Example 53 (Note): + +``` +{ + "@context": "https://www.w3.org/ns/activitystreams", + "type": "Note", + "name": "A Word of Warning", + "content": "Looks like it is going to rain today. Bring an umbrella!" +} +``` + +Semantically, the difference is never explicitly defined (how do you define a “paragraph”?), so the current fediverse has sort of assumed Article should be viewed natively on the remote website, while Note can be displayed as an inline status. Thus, Note is used to represent a status update, and a lot of the network just defaults to Note. The distinction is assumed to be formatting, but once again this is not an explicit definition (how do you define “formatting”?) + +# Disambiguation + +Going purely from the Activity Vocabulary descriptions and examples, I would possibly assume one or both of the following: + +* Note SHOULD be plain text, Article SHOULD use HTML (or should these be a MUST?) +* Note SHOULD NOT use newlines (but are technically allowed to do so) + +However, there is [ActivityPub 3.3 ](https://www.w3.org/TR/activitypub/#source-property), Example 8: + +``` +{ + "@context": ["https://www.w3.org/ns/activitystreams", + {"@language": "en"}], + "type": "Note", + "id": "http://postparty.example/p/2415", + "content": "

    I really like strawberries!

    ", + "source": { + "content": "I *really* like strawberries!", + "mediaType": "text/markdown"} +} +``` + +This example Note uses HTML for its `content`, in order to demonstrate the `source` property. + +Also, ActivityPub Example 4: + +``` +{"@context": "https://www.w3.org/ns/activitystreams", + "type": "Create", + "id": "https://chatty.example/ben/p/51086", + "to": ["https://social.example/alyssa/"], + "actor": "https://chatty.example/ben/", + "object": {"type": "Note", + "id": "https://chatty.example/ben/p/51085", + "attributedTo": "https://chatty.example/ben/", + "to": ["https://social.example/alyssa/"], + "inReplyTo": "https://social.example/alyssa/posts/49e2d03d-b53a-4c4c-a95c-94a6abf45a19", + "content": "

    Argh, yeah, sorry, I'll get it back to you tomorrow.

    +

    I was reviewing the section on register machines, + since it's been a while since I wrote one.

    "}} +``` + +This example Note uses two `

    ` elements, representing two short paragraphs (once again not “less than a single paragraph”). + +So even the specs themselves are inconsistent on any distinction. + +# How much does this actually matter? + +Arguably not much, since implementations often convert Note and Article into their own internal schema for statuses anyway. But it could still be beneficial to set a clearer distinction going forward on how these types should be assigned, ideally. + +

    + +--- + +@lanodan: + +The distinction I make between Article and Note isn’t related directly to it’s content but on how it’s supposed to be presented and used, Articles are more things for blogs where you have about a post per day and so articles should be easy to find back with a list of articles/tags and maybe a bit of search features, Notes are more stuff like microblogging where you can easily have hundreds in a day and aren’t that easy to find back even with good keywords in full text search. + +Also I find that formatting is actually very useful for notes because it allows to express more/equivalent with less (like a word-list vs a paragraph). + +This question goes a lot in the fediverse because they are the two mainly used activity types but one could also ask about the actor distinction between Organisation and Group, Application and Service. And so far I’ve only seen ActivityPub Document be used in the wild for Images with textual description (like if Image couldn’t have it in the first place), but Document has no inherent meaning either. + +Note: Pleroma keeps the distinction between Articles and Notes internally, no real differencies for the Mastodon API though but there could be a query filter. + +--- + +@trwnh: + +For prior art, I can think of semantic HTML’s `
    ` being a section of HTML that can be reproduced elsewhere in its entirety. + +W3Schools: "independent, self-contained content. An article should make sense on its own and it should be possible to distribute it independently from the rest of the site." + +MDN: "a self-contained composition in a document, page, application, or site, which is intended to be independently distributable or reusable e.g. in syndication." + +This could be a distinction worth making, maybe? that an Article should roughly map to an `
    `, whereas a Note is just arbitrary text? + +--- + +@nightpool: + +I think using `Article` is a perfectly fine solution for when the desired semantics are “I think it’s better in a short-form microblogging context to display a link to this thing rather then the full content itself”. + +When considering that some clients (especially native clients) often won’t support increasingly rich text formatting, I think using Article vs Note for content where you think plain-text fallback is unacceptable is a totally fine decision to make. (But you shouldn’t ignore the fact that it’s probably likely that people are going to write long-form clients that *do* support Articles but don’t support every possible type of rich text formatting, like the way RSS readers restrict allowed formatting for readability) + +--- + +@trwnh: + +I can’t remember where this was said to me, but I think someone (maybe nightpool?) suggested that Note could be used for message passing a la Discord, which would be a third distinction and perhaps better than length/newlines or plaintext (as explained previously why those are inconsistent). So in that case, we could say Note vs. Article is one of *formality*. IMO this could complement the Article-to-`
    ` suggestion above. + +Taken together: + +* Note = for informal message-passing +* Article = for publication or syndication + +The only thing unresolved with this distinction would be the blurry line that is microblogging. Microblogs are often both informal *and* intended for republishing in feeds. It’d be pretty clear-cut to use Note for a messaging application and Article for a blogging platform, but… perhaps this implies top-level microblogging posts should be an `Article` and replies should be `Note`? Or that they should all be `Article` regardless of the fact that they are informal? There’s still room for discussion there. + +--- + +@darius: + +I think this is right on the money. My main use case for Article is that it’s a way to say that “this is a publication” – I’ve often talked about how this might actually help solve the “quote-tweet” design problem in Mastodon (and presumably other software). If an Article is something that is formal and published then it’s also something that can reasonably be commented upon. Articles can be quoted-commented, and Notes cannot. So I can dunk on a New York Times article, but not on a random thing someone posted as a note. + +Edited to add: for composing posts on a microblogging service, I wonder if a “people can quote-comment on this post” checkbox or whatnot could be, at its most basic, a switch that underneath it all changes type for your post from Note to Article. + +--- + +@trwnh: + +quoting and commenting is kind of out-of-scope and it’s up to each platform to decide how they want to handle it, tbh. from a data view, it doesn’t really matter because you can put whatever you want in `content`, and `inReplyTo` is just metadata (like `tag`). You can have an Article inReplyTo another Article, just as you can have a Note inReplyTo another Note (or a Note inReplyTo an Article, or even vice-versa, etc etc.) + +the thing is, though, that it’s really seeming like if we use “syndication” as the distinction, then that would imply a lot of things that are currently Note might be better conceived of as Article. + +--- + +## current thoughts + +i wrote a whole thing abt this [here]({{< relref "note-vs-article" >}}) \ No newline at end of file diff --git a/wiki.hugo/content/_dump/socialhub-threads/notification-to-refetch-object.md b/wiki.hugo/content/_dump/socialhub-threads/notification-to-refetch-object.md new file mode 100644 index 0000000..8bffb3b --- /dev/null +++ b/wiki.hugo/content/_dump/socialhub-threads/notification-to-refetch-object.md @@ -0,0 +1,60 @@ ++++ +title = "Notifying remote servers that they should refetch an object" +date = "2019-11-01" ++++ + +{{toc}} + +## Preserved text + + + +@trwnh: + +[quote="trwnh, post:1, topic:259, full:true"] +S2S Update: + +> 7.3 Update Activity +> +> For server to server interactions, an `Update` activity means that the receiving server *SHOULD* update its copy of the `object` of the same `id` to the copy supplied in the `Update` activity. Unlike the [ client to server handling of the Update activity ](https://www.w3.org/TR/activitypub/#update-activity-outbox), this is not a partial update but a complete replacement of the object. +> +> The receiving server *MUST* take care to be sure that the `Update` is authorized to modify its `object` . At minimum, this may be done by ensuring that the `Update` and its `object` are of same origin. + +Presumably sending something like this over S2S would just get the object replaced by an empty copy: + +``` +{ + "@context": "https://www.w3.org/ns/activitystreams", + "id": "https://example.com/activities/1", + "type": "Update", + "actor": "https://example.com/actors/1", + "object": "https://example.com/objects/1" +} +``` + +So how would this update/refetch notification be done properly? +[/quote] + +--- + +@nightpool: + +wait, what? why would the example posted not be compliant? The two representations (including an IRI to dereference vs including an embedded object) should be identical on the JSON-LD level. + +I agree that the spec might expect you to inline the object, but I absolutely disagree that it requires it. + +--- + +@kaniini: + +I agree with nightpool, a bare IRI is completely fine here. + +--- + +@trwnh: + +OK, then. If a bare IRI is fine, then the next question would probably be how this would be handled in existing implementations. If an ActivityPub implementation were to hypothetically use Update in this manner, would it be received and handled properly? + +## Current thoughts + +needs testing or review, but should be possible imo. and if it's possible then maybe it could be expected? \ No newline at end of file diff --git a/wiki.hugo/content/_dump/socialhub-threads/signaling-side-effects-async.md b/wiki.hugo/content/_dump/socialhub-threads/signaling-side-effects-async.md new file mode 100644 index 0000000..5398236 --- /dev/null +++ b/wiki.hugo/content/_dump/socialhub-threads/signaling-side-effects-async.md @@ -0,0 +1,82 @@ ++++ +title = "Signaling side effects asynchronously by generalizing Accept/Reject" +date = "2019-10-11" ++++ + +{{toc}} + +## Preserved text + + + +
    + +# Background + +Per S2S (since Accept/Reject are not described in C2S): + +> 7.6 Accept Activity +> +> The side effect of receiving this in an **inbox** is determined by the type of the `object` received, and it is possible to accept types not described in this document (for example, an `Offer` ). +> +> If the `object` of an `Accept` received to an **inbox** is a `Follow` activity previously sent by the receiver, the server *SHOULD* add the `actor` to the receiver’s [Following Collection](https://www.w3.org/TR/activitypub/#following). +> +> 7.7 Reject Activity +> +> The side effect of receiving this in an **inbox** is determined by the type of the `object` received, and it is possible to reject types not described in this document (for example, an `Offer` ). +> +> +> +> If the `object` of a `Reject` received to an **inbox** is a `Follow` activity previously sent by the receiver, this means the recipient did not approve the `Follow` request. The server *MUST NOT* add the `actor` to the receiver’s [Following Collection](https://www.w3.org/TR/activitypub/#following). + +Note that for S2S purposes, Accept/Reject is only really defined for Follow activities. Per the Activity Vocabulary, it is also implicitly appropriate for `Offer` and `Invite`, but also [Example 10](https://www.w3.org/TR/activitystreams-vocabulary/#dfn-accept) shows a much more ambiguous Accept Person targeting Group, which seems semantically awkward. + +# Possible generalizations + +Currently, the majority of the network uses Accept/Reject only for Follow on an Actor, and thus Accept/Reject is used only in that narrow definition. But there are other Activities that might require these semantics… + +## Accept/Reject Join + +Closed-membership `Group` semantics is maybe the most obvious benefit of generalizing Accept/Reject. It is of course possible to both Follow and Join a Group; Follow Group would semantically translate to being interested in what the Group posts to its outbox, as per the base AP spec. Some softwares handle Group membership based on its `followers`, but this is a bit of a hacky way to do things that is motivated by compatibility with the existing “Follow Actor” network. A much more semantic way to handle things would be to allow Join/Leave Group, but then Join would need Accept/Reject to allow modeling closed groups (at least, in a way different than just using the `Group` `followers` with `manuallyRequiresApproval` + `Announce` any activities received at `inbox` – which is still a valid way of doing things for “mailing list” use cases). This would be clearer than Accepting a Person into a Group. + +## Accept/Reject Create + +When sending a Create to a remote server, there will generally be side effects interpreted by that remote server’s software. One common example is that sending Create Note with `inReplyTo` may attach your Note as a reply to another Note. But this is not guaranteed to happen, e.g. if the remote software has a concept of “disabled comments” or “approved comments”. In that case, the remote software may want to signal that the use of `inReplyTo` will not automatically cause side effects to be processed, in the same way Follow must first be Accepted or Rejected. It might not make sense to explicitly *require* Accept/Reject semantics for such a case (as they are for Follow), but they can still be used for hinting the result. + +## Accept/Reject Update/Add/Remove/Delete + +In cases where an actor is performing actions on an object other than creating it, these actions may require approval from another actor who “owns” or “manages” that object. You may want to Accept an Offer of an Update, but it would be simpler to just Accept the Update. Per the AP spec, the only considerations made are as follows: + +7.3 Update: + +> The receiving server *MUST* take care to be sure that the `Update` is authorized to modify its `object` . At minimum, this may be done by ensuring that the `Update` and its `object` are of same origin. + +7.4 Delete: + +> (assuming the `object` is owned by the sending actor / server) + +7.8 / 7.9, Add/Remove: + +> * the `target` is not owned by the receiving server, and thus they can’t update it. +> * the `object` is not allowed to be added/removed to the `target` collection for some other reason, at the receiver’s discretion. + +So we have some guidance toward the “receiver’s discretion”, but no formal way of signaling that discretion back to the author of the received activity. + +# But why not just use HTTP status codes? + +HTTP status codes are synchronously returned at the time of the request, even if the request is handled asynchronously. You may send out a `202 Accepted` to indicate that the document was successfully received, but later send out a `Reject` Activity after some manual action was taken by an actor. This manual action may be performed long after the initial delivery to the remote server. +[/quote] + +
    + +--- + +@nightpool: + +I think this is a good idea, but i would like to see some implementor support before defining it further. + +--- + +## current thoughts + +yeah, actually. let's do it \ No newline at end of file diff --git a/wiki.hugo/content/_dump/socialhub-threads/stricter-spec-for-collections.md b/wiki.hugo/content/_dump/socialhub-threads/stricter-spec-for-collections.md new file mode 100644 index 0000000..fc4f4da --- /dev/null +++ b/wiki.hugo/content/_dump/socialhub-threads/stricter-spec-for-collections.md @@ -0,0 +1,114 @@ ++++ +title = "Stricter specifications for pagination of Collections and OrderedCollections" +date = "2022-11-05" ++++ + +## Preserved text + + + +@trwnh: + +
    + +## Overview + +ActivityPub primarily depends on direct delivery of activities, but many implementations expose old post history via the `outbox`. In theory, you could fetch the outbox to discover old posts that weren’t delivered to you but should still be visible to you (e.g. Public posts that persist in the outbox). However, there is one big problem: pagination. + +Specifically, pagination is an issue because you will have to fetch multiple pages, and you don’t know exactly when to stop, or how to discover gaps. You may be able to fetch up until you see a post that you already have, but there may be other unseen posts beyond that one. The only way to be sure is to fetch every single page of the outbox, which can be a costly operation. + +## Recommendations + +Arguably, this situation can be improved by making some specific recommendations: + +### Construct chronologically, but present in reverse order + +Because an OrderedCollection is mandated to be “reverse chronological” specifically, extra care needs to be taken to allow stable page references. Perhaps pages should be built chronologically and simply presented in reverse order, crucially with the `first` page containing less than than the max page size. + +Example: A page size of 10 and a collection of 23 items should be split into pages of 3, 10, 10. These pages would be presented as such: + +``` +[ +[23 22 21] +[20 19 18 17 16 15 14 13 12 11] +[10 9 8 7 6 5 4 3 2 1] +] +``` + +### Stable page references should also be reversed + +Furthermore, in order to maintain stable page references, such that if you’ve fetched a page before you don’t have to fetch it again, page counters should be assigned in reverse order as well. + +Taking the example from above, the pages would be identified as 3, 2, 1: + +``` +[ +[23 22 21] // page 3 +[20 19 18 17 16 15 14 13 12 11] // page 2 +[10 9 8 7 6 5 4 3 2 1] // page 1 +] +``` + +### Deleted items should either be Tombstoned or change the page size + +All this work is useless if the pages have to be recalculated or the items get shifted to a different page. To prevent this, either serve a Tombstone in place of deleted items, or otherwise freeze the upper and lower bound of a page while allowing variable page sizes. + +For example, let’s say we delete post 17. The result might look like this: + +``` +[ +[23 22 21] // page 3 (3 items) +[20 19 18 T 16 15 14 13 12 11] // page 2 (10 items, 1 Tombstone) +[10 9 8 7 6 5 4 3 2 1] // page 1 (10 items) +] +``` + +Or, it might look like this: + +``` +[ +[23 22 21] // page 3 (3 items) +[20 19 18 16 15 14 12 11] // page 2 (9 items) +[10 9 8 6 5 4 3 2 1] // page 1 (10 items) +] +``` + +Notice that page 3 remains unchanged, rather than item 21 becoming part of the 2nd page. + +### Accessing pages should be done in a consistent way + +The final piece of the puzzle is a way to consistently load specific pages. For example, consider a collection at `/collection/id`. You might be able to attach a query parameter `?page=N` to access the Nth page via `/collection/id?page=N`. Or you might have some route such as `/collection/id/page/N`. Whatever the case, there should be a way of getting pages that can be expected to work across all implementations. Or, at the very least, a way that may be inferred easily, but a standard pagination technique would be better. + +My thinking is that `/page/N` would be better, because it would allow for static pages as an option more easily, + +Also for consistency: Tombstone is preferable to exclusion, because it allows dynamic page sizing on-the-fly in dynamic servers that use query parameters. + +
    + +--- + +@silverpill: + +Perhaps a timestamp filter could solve this problem? +For example, `/collection/id?after=1667766000` can return a paginated subset of the collection, and if the client knows the time of the last sync, it can retrieve missing objects with fewer requests. +This way implementations can continue to use their preferred pagination mechanism. + +--- + +@trwnh: + +Having a timestamp filter might work for dynamic server implementations but not for static server implementations. I took care in making sure, while writing the above post, that the recommendations would be applicable to both static and dynamic servers. + +--- + +@trwnh: + +in writing this up i seem to have overlooked the `startIndex` property of OrderedCollectionPage, which is basically just a positive offset for how far into the OrderedCollection you are with the first item. unfortunately this is less useful due to reverse chronology being mandated by ActivityPub; it would be far more useful in a forward-chronological collection. it also doesn’t apply to regular CollectionPage sadly. + +there is still the option of having a regular Collection contain OrderedCollectionPage, though, or otherwise simply disregarding the “MUST be reverse chronological” bit and committing a spec violation. + +--- + +## current thoughts + +idk. really wish the OrderedCollection wasn't mandated to be reverse-chron and it was instead forward-chron at least. this carries over to OrderedCollectionPage too... \ No newline at end of file diff --git a/wiki.hugo/content/_dump/w3c-http-supremacy.md b/wiki.hugo/content/_dump/w3c-http-supremacy.md new file mode 100644 index 0000000..05ba8ac --- /dev/null +++ b/wiki.hugo/content/_dump/w3c-http-supremacy.md @@ -0,0 +1,16 @@ +https://mastodon.social/@trwnh/109886416964217719 + +reading a lot of old w3 literature and while there's a lot of good stuff in there, it is *infuriating* how they are so blindly in support of using http for everything, including identifiers. they probably just failed to predict the future, but they keep stopping just short of admitting http's biggest problem: when the server goes down, your uri can't be dereferenced anymore! + +(specifically i was reading https://www.w3.org/2001/tag/doc/URNsAndRegistries-50.xml which argues against urns because you can't dereference them) + +am i being too harsh on an editorial from 2001, sure, yeah, probably no one was seriously thinking of decentralized systems back then. if you just wanna obtain a resource from a given organization or whatever, it is generally a given that the org has its own domain name and can assign ids on that domain. but the whole thing falls apart when you need a global namespace that can be requested from multiple domains. this is *exactly* where urns are useful! like, naming things is in some way id! + +if we follow the logic of http maximalists from 2001, then we would not need the isbn or doi namespaces, we could just assign identifiers on an http hostname. a doi can be resolved using an http url so why not just use the url directly? + +well, that assumes persistence that simply isn't guaranteed. the doi foundation will tell you itself: https://www.doi.org/the-identifier/resources/factsheets/doi-system-and-persistent-urls + +> PURLs are all http and inherit both the strength and weakness of that approach + +it's those weaknesses that kept being ignored + diff --git a/wiki.hugo/content/_dump/webfinger-as-dns.md b/wiki.hugo/content/_dump/webfinger-as-dns.md new file mode 100644 index 0000000..fa53c11 --- /dev/null +++ b/wiki.hugo/content/_dump/webfinger-as-dns.md @@ -0,0 +1,53 @@ +https://mastodon.social/@trwnh/110361352685140966 + +so we might reasonably recreate bluesky's "placeholder" nameserver by having a well-known endpoint for resolving identifiers to as2 documents (with possibly a layer of indirection, in which case webfinger would probably work) + +this basically replaces DNS for resolution. you'd just have to figure out how to assign ids in a distributed way without conflicts + +for that matter: why isn't xrpc a .well-known endpoint? it absolutely should have been + +i'm thinking if we wanted to reify webfinger and identity providers, we could just have identifiers assigned under the authority of webfinger subjects. where is the data? idk, check the current links via webfinger. + +problem with that is, your IdP better be long-lived... in fact, it makes sense for a persistent IdP to last basically "forever" and just point to your current data stores. and then i guess you'd want IdP federation to ease migration between IdPs? or otherwise conflict-free id minting + +tldr the open problems: + +- how to assign ids without conflict? (preferably without dns or key based authority, so you can change those later) + +- how to resolve those ids across multiple servers without tampering? (see also: dns poisoning and authoritative nameservers) + +there's a lot of prior art in DNS and you'd be moving it all down to the HTTP level over webfinger and oidc and related stuff + +basically instead of resolving names -> authoritative DNS nameservers -> IP addresses, you have to resolve uh... names -> authoritative Webfinger servers -> http(s) links + +so i guess we need an equivalent to DNSSEC but for WebFinger + +--- + +erincandescent writes: + +
    + +hash of public key; hash of first version of document (in chain), like they did. many decent options! + +the did:plc approach allows you to rotate keys because your current identity document will eventually chain back to the original one which hashes to the value of your account ID + +the bit the central server is doing in this system is - basically - ordering things & letting you use your recovery key to oblitterate any updates from your primary key from the last 72 hours (for if your primary key was compromised) + +the key difficulty without any central server is timestamping things to ensure & validate ordering + +
    + +cobaltvelvet writes: + +
    + +i think i just like the idea of a minimal relay as this resolver, that would keep the least state possible inside it, so it can be swapped in and out easily, maybe even transparently so by your instance. but it would always need A Way to validate the 'latest location', either the keypairs that arent very securely held atm but instances already have, or a third secret thing (a dedicated channel, like making the resolver email you to confirm a migration, or another layer of signatures) + +if i had to point to an inspiration, i think bittorrent trackers are great, easily replceable by a DHT, but also easy to just use two for redundency . ofc they don't really have to bother with any validation, but your instance can + +
    + +--- + +i'd just need to think through how to get consistency between different webfinger services, so that they agree on the response and serve you up the same JRD from some decentralized/distributed data store \ No newline at end of file diff --git a/wiki.hugo/content/_index.md b/wiki.hugo/content/_index.md new file mode 100644 index 0000000..f7ba421 --- /dev/null +++ b/wiki.hugo/content/_index.md @@ -0,0 +1,2 @@ ++++ ++++ \ No newline at end of file diff --git a/wiki.hugo/content/foobar2000.md b/wiki.hugo/content/foobar2000.md new file mode 100644 index 0000000..1560c32 --- /dev/null +++ b/wiki.hugo/content/foobar2000.md @@ -0,0 +1,19 @@ ++++ +updated = "2024-08-04" ++++ + +## "copy of repositories maintained by kode54" + +according to https://hydrogenaud.io/index.php/topic,123394.0.html you can go to https://foobar2000.xrea.jp/?Input+64bit#aada4e80 and get 64-bit compatible builds of some old 32-bit only plugins/decoders like USF support for N64 music. also supports dark mode + +### fixing foo_snesapu + + + +foobar >v2.0 before v2.2 preview 2024-06-24 has a bug where it will remove any dll that doesn't match plugin architecture, so it when installing the fb2k-component it will copy over the foo_snesapu.dll plugin but not its dependency snesapu.dll -- you will have to copy it manually to the install directory for foobar2000 (for windows this will be either `\AppData\Roaming\foobar2000-v2\user-components-x64\foo_snesapu\` for standard install, or `\profile\user-components-x64\foo_snesapu\` for portable install -- get the files out of the fb2k-component using an archive viewer) + +## recompiled plugins for x64 and dark mode support + +https://foobar.hyv.fi/ \ No newline at end of file diff --git a/wiki.hugo/content/gaming/_index.md b/wiki.hugo/content/gaming/_index.md new file mode 100644 index 0000000..f7ba421 --- /dev/null +++ b/wiki.hugo/content/gaming/_index.md @@ -0,0 +1,2 @@ ++++ ++++ \ No newline at end of file diff --git a/wiki.hugo/content/gaming/gc.md b/wiki.hugo/content/gaming/gc.md new file mode 100644 index 0000000..f1a7801 --- /dev/null +++ b/wiki.hugo/content/gaming/gc.md @@ -0,0 +1,11 @@ ++++ +updated = "2024-08-03" ++++ + +tbh just play gamecube games on the [wii](../wii). it's easier to softmod and cheaper overall (have you seen the price of 480p component cables for the gamecube vs for the wii??????). nintendont + usb loader gx is a great experience too + +the only reason i can think of to invest in gamecube as a platform is if you want to use the game boy player? which... it would probably be better to use a gba consoleizer instead + +i guess the gamecube produces a (imo negligibly) better image (subjectively / to some people) but really it isn't anywhere near the difference between a wii and wii u (where the wii u produces a noticeably darker and muddier image for wii/vc games) -- and also the issue pretty much entirely stems from the filtering that the wii does + the aspect ratio it's rendering at. just disable deflicker + enable framebuffer rendering in usb loader gx to close any gaps between the two systems (and hardmodding the wii for hdmi output should be even less of a difference) + +so yeah unless you wanna use a gameboy player specifically then skip the gc and go straight for a wii \ No newline at end of file diff --git a/wiki.hugo/content/gaming/minecraft/_index.md b/wiki.hugo/content/gaming/minecraft/_index.md new file mode 100644 index 0000000..f7ba421 --- /dev/null +++ b/wiki.hugo/content/gaming/minecraft/_index.md @@ -0,0 +1,2 @@ ++++ ++++ \ No newline at end of file diff --git a/wiki.hugo/content/gaming/minecraft/server/_index.md b/wiki.hugo/content/gaming/minecraft/server/_index.md new file mode 100644 index 0000000..f7ba421 --- /dev/null +++ b/wiki.hugo/content/gaming/minecraft/server/_index.md @@ -0,0 +1,2 @@ ++++ ++++ \ No newline at end of file diff --git a/wiki.hugo/content/gaming/minecraft/server/multiverse.md b/wiki.hugo/content/gaming/minecraft/server/multiverse.md new file mode 100644 index 0000000..f9f9a5c --- /dev/null +++ b/wiki.hugo/content/gaming/minecraft/server/multiverse.md @@ -0,0 +1,83 @@ +# multiverse + +## skyblock in bukkit/spigot/paper + +prerequisites: +- multiverse-core +- multiverse-inventories +- multiverse-netherportals +- voidgen + +``` +/mvcreate world_skyblock NORMAL -g VoidGen:{structures:true,decoration:true,mobs:true} +/mvcreate world_skyblock_nether NORMAL -g VoidGen:{structures:true,decoration:true,mobs:true} +/mvcreate world_skyblock_the_end NORMAL -g VoidGen:{structures:true,decoration:true,mobs:true} +``` + +create a multiverse-inventories group to share player data + +``` +/mvinv group +create +# name the group something like "world_skyblock" +world_skyblock # add world +world_skyblock_nether # add world +world_skyblock_the_end # add world +@ # continue after adding all worlds +all # share all player data +@ # finish +``` + +go to the world and change settings + +``` +/mvtp world_skyblock +/gm c # go into creative, make a starter island +/mvsetspawn # set a reasonable spawn point +/mvmset respawnWorld world_skyblock # respawn in overworld +/mvmset diff hard +/mvmset allowflight false +/mvmset alias Skyblock +/mvmset color AQUA + +/mvtp world_skyblock_nether +/gm c # go into creative, make a starter island +/mvsetspawn # set a reasonable spawn point +/mvmset respawnWorld world_skyblock # respawn in overworld +/mvmset hidden true # hide non-overworld from mvlist +/mvmset diff hard +/mvmset allowflight false +/mvmset alias Skyblock +/mvmset color AQUA + +/mvtp world_skyblock_the_end +/gm c # go into creative, make a starter island +/mvsetspawn # set a reasonable spawn point +/mvmset respawnWorld world_skyblock # respawn in overworld +/mvmset hidden true # hide non-overworld from mvlist +/mvmset diff hard +/mvmset allowflight false +/mvmset alias Skyblock +/mvmset color AQUA +``` + +if you use essentialsx-chat: go to `plugins/Essentials/config.yml` and `chat.world-aliases` and define your aliases + +if you use essentialsx-spawn: set `respawn-listener-priority: lowest` so multiverse can handle respawns + +### caveats + +voidgen will generate water in ocean ruins, so if you want to play without water (ie getting rain in cauldrons) then this will be an easier way to get water + +voidgen will also not let you control which structures spawn, only all or nothing. you can get golden apples and regular apples from certain loot chests + +### todo + +- apples are dropping from spruce trees in skyblock +- /spawn in test world takes you to survival +- per-world warps (so you dont pollute the whole list) +- check /weather permissions in skyblock +- check /time permissions in skyblock +- check /seed permissions in skyblock + +i think a lot of perms are owner only but skyblock should remove them bc higher weight \ No newline at end of file diff --git a/wiki.hugo/content/gaming/n64.md b/wiki.hugo/content/gaming/n64.md new file mode 100644 index 0000000..7e02a61 --- /dev/null +++ b/wiki.hugo/content/gaming/n64.md @@ -0,0 +1,114 @@ ++++ +updated = "2024-07-31" ++++ + +## video output + +currently using an s-video cable from insurrection industries: https://insurrectionindustries.com/product/nintendo-s-video/ + +was previously using https://amzn.to/3SuywUe which is cheaper (only $10 instead of $25 plus shipping) and also worked just as well. i can't vouch for any specific cable because i've read reports of even the insurrection industries one possibly being bad, but you'll know if it's bad or not pretty soon. an earlier cable i was using which had both composite and s-video on the same cable would display a checkerboarding pattern over the signal + +### s-video distribution amplifier + +tried some passive splitters for s-video and they produced the checkerboarding pattern over the signal + +radioshack distribution amplifier https://amzn.to/3YyldWy - this works well and also allows for composite output at the same time as s-video. (my magnavox 20mt1331/17 crt tv only takes composite in). amazon has them out of stock but search for a RadioShack 1500320 1 in 4 out, maybe you can find elsewhere + +## display + +currently using the aforementioned magnavox 20mt1331/17 which works okay i guess. mine has some bowing at the bottom and used to have pretty bad overscan before i fiddled with the service menu and geometry. to get into the service menu, power the tv on and quickly press 062596 then MENU before it has a chance to load an RF channel + + + +### best display + +n64 outputs 15khz 240p and some games do 480i so whatever you use needs to support that which means a tv and not a monitor will be best. (crt monitors often do 31khz and do not support 480i so you will get an "out of sync range" error if you try to hook up to one of those via adapters to vga) + +cream of the crop is probably sony pvm 14l5 or 20l5? this even supports 480p so stuff like the wii might work on it as well with component output (which enables 480p) + +really anything will work fine, n64 was made with composite blurring in mind so even composite output looks *fine* from the n64. although s-video is a decent upgrade for clarity. this means you should probably be looking for a crt tv that at least takes in s-video if you want extra clarity. otherwise use s-video at least for capture... + +### best capture + +so yeah use a good s-video capture card. i have tried three + +- io-data gv-usb2: https://amzn.to/46KhFTz this one is good (probably best) usb capture card for gaming/240p but drivers are windows only. there are reverse engineered drivers for linux though! https://github.com/Isaac-Lozano/GV-USB2-Driver -- bit annoying to setup and enable/load every time you want to use it, also i have not gotten audio capture to work reliably, but it technically exists. + +- hauppauge usb-live2 610 (old version): https://amzn.to/3WI2K8S this one is also good (maybe not as good as the gvusb2 but good *enough*) usb capture card and supports 240p. it has coxenant cx23100 internals which are apparently also used in the diamond vc500 but i haven't tried that one specifically (same for avermedia c039 and august vgb100). the good thing about this usb capture card is that it works out of the box on linux for me. + +- blackmagic intensity pro / pro 4k: really good pcie capture that works in windows and linux, with a few issues in linux, mainly that getting it to work with obs studio is annoying because it doesn't work in the flatpak version, you need the native version. but the native version of obs studio in arch doesn't support browser sources. the solution i have is to use `obs-studio-tytan652` from the AUR. still a good device i guess, supports component as well via a breakout cable, and two rca pins (green/blue, so i think Y/Pb) can be adapted to s-video (Y/C). the quality is actually too good, as it's meant to be used with uncompressed capture of all kinds of tv signals. also because of it being a thing for tv, it doesn't support 480p. i got this as an upgrade over the hauppauge and it honestly is a sidegrade over the gvusb2 but the better option if you use linux (just install `decklink` from AUR and use a native obs studio build) + +people also say good things about the pinnacle 710 (and dazzle dvc100?) but i can't really vouch for either + +#### gvusb2 software setup + +https://iotku.pw/gvusb2-guide/ is a good resource but basically + +- go to https://www.iodata.jp/lib/software/g/1780.htm and download drivers -- some people recommend v1.11 but i am running the latest v1.14 and it's fine (edit: just checked while writing this and there's already a v1.15 that released today lol) + +ok so in obs or amarec or whatever open your video settings, this is what i use for "device setting" in windows + +- video input = "2/s-video" +- deinterlace = "weave ( off )" -- + +if you have a newer driver version keep the stuff in "advanced driver property" off except maybe "skype support (pls replug)" + +under "video decoder": + +- video standard = NTSC_M_J (even if you're recording NTSC, this brightens the image up and makes it look more like what you'd get on a CRT -- 7.5 IRE) + +under "video proc amp": + +- brightness = 128 +- contrast = 90 +- hue = 128 +- saturation = 128 +- sharpness = 40 + +then make sure to capture in 720x480 at 59.94fps (on older driver versions like 1.11 pick 29.97fps instead, then deinterlace with Retro in either amarec or obs) + +on arch linux i just install `gv-usb2-driver-dkms-git` from the AUR and it just works in obs studio after that + +in obs studio regardless of OS you want to apply retro deinterlacing and add a scaling filter to scale it from 720x480 to 640x480 bicubic (or bilinear if you want a slightly blurrier look that suits the n64 better) + +## flash carts + +summercart64 is what i have and it's cool. way cheaper than everdrive x7. + +- check the firmware on it by booting it up, if it's out of date then update it using the instructions at https://github.com/Polprzewodnikowy/SummerCart64 -- i didn't need to do this (yet) but the process is basically downloading sc64deployer and sc64-firmware + +- install the cr2032 battery into the holder such that the small pins bend upward and make contact with the top (positive side). the springy pins should be on the bottom (negative side) https://github.com/Polprzewodnikowy/SummerCart64/discussions/83 + +you will want to set up your microsd card with https://github.com/Polprzewodnikowy/N64FlashcartMenu + +when done your sd layout should look something like this: + +- /sc64menu.n64 +- /menu/config.ini +- /menu/boxart/* +- /menu/64ddipl/ + - /menu/64ddipl/NDDE0.n64 + - /menu/64ddipl/NDDJ2.n64 + - /menu/64ddipl/NDXJ0.n64 +- /menu/emulators/ + - /menu/emulators/neon64bu.rom + - /menu/emulators/sodium64.z64 + - /menu/emulators/gb.v64 + - /menu/emulators/gbc.v64 + +now load your roms and maybe saves on there. i've currently got mine in a `/roms/` folder but they can be loaded from anywhere. anything outside the above list is fair game. + +## hardmodding + +pixelfx n64digital obsoletes the old ultrahdmi? + +looks like there's a "pixelfx retro gem" which replaces the n64digital but doesn't support rgb output, only hdmi + +supposedly there's also the "n64advanced v2" which is open source on github but doesn't seem to be readily available + +- https://github.com/borti4938/n64adv2_pcb +- https://github.com/borti4938/n64adv2_fw + +https://www.reddit.com/r/n64/comments/1d6pzdm/n64_hdmi_2024_guide/ \ No newline at end of file diff --git a/wiki.hugo/content/gaming/retroarch.md b/wiki.hugo/content/gaming/retroarch.md new file mode 100644 index 0000000..1e67290 --- /dev/null +++ b/wiki.hugo/content/gaming/retroarch.md @@ -0,0 +1,11 @@ +## n64 + +### shaders + +retro crisis n64 + +Slot Mask Height: 2x1 or 4x1... +: 1.00 + +LUT Colors: Trin.1 | Trin.2 | Nec Mult. | NTSC +: 1.00 (Trin.1) \ No newline at end of file diff --git a/wiki.hugo/content/gaming/wii.md b/wiki.hugo/content/gaming/wii.md new file mode 100644 index 0000000..dfa5aef --- /dev/null +++ b/wiki.hugo/content/gaming/wii.md @@ -0,0 +1,97 @@ ++++ +updated = "2024-08-03" ++++ + +## video output + +assuming no hard mods, the best you can get is to go through the component (YPbPr) signal chain in order to unlock 480p output. this is THE primary consideration when playing off of a wii, imo. there are a few games that only support 480i as well so that is another consideration. + +### display + +the "best you can do" is going to vary based on goals + +there's basically two "happy paths" here: + +- SD CRT TV that supports both 480i and 480p over component. This pretty much locks you into something high-end like a Sony PVM 14L5 or 20L5, but you get a setup that's not finicky and you also get lagfree gaming. + +- finding a 1440p IPS screen with HDMI input, and using something like an ElectronWarp https://electron-shepherd.com/collections/all/products/electronwarp or Mayflash Wii to HDMI https://amzn.to/4ft7Ddm -- this plugs right into the back and converts analog component into an hdmi output. couple that with a 1440p (300% or 3x integer scale) monitor that has a good upscaler/deinterlacer and low input lag, and you can get a way better experience than the LCD or plasma TVs of the era. + +things that don't work as well: + +- HD CRT TVs have horrible upscalers with lots of lag + +and then there's a finicky option: + +- PC CRT monitors. this locks you out of 480i which can be really annoying because not only do some games only run in 480i (and vc titles can run in 240p), the system menu will not show you anything until you blindly manage to switch it to 480p output. without doing this, you will just get an error like "out of sync range". so it's not enough to go from component to vga. + + + +i guess for upscaling/deinterlacing you could use something like an ossc or ossc pro or retrotink or whatever, to at least eliminate the 480i out of your analog chain and also have something easier to work with for any modern monitor/tv. + +### capture + +if doing component and nothing else, then get a component distribution amplifier like a calrad 937b. you can run it into a component capture card afterward, which... your only option pretty much ends up being the magewell pro capture hdmi and its breakout cable. yes that thing is $300 but it supports 240p over component so you won't have any issues with getting a signal out of the wii -- 240p/480i/480p should all work. + + + +if you convert from component YPbPr directly to VGA then you can look into VGA capture cards or also anything that accepts DVI-A should work too. i am told that the startech USB3HDCAP should work (but maybe not on linux?). a VGA splitter should also allow you to go into a PC CRT. + +if you convert from component YPbPr to HDMI or otherwise throw an ossc/etc at it, then you can easily capture HDMI these days using just about anything under the sun. (the avermedia bu113 live streamer cap 4k is like $99 at https://amzn.to/4fDLRn0 and does a great job from my experience -- only about 40ms latency in obs studio, no real quality loss, can handle 720x480@59.94Hz input just fine) you still have the option of going into a PC CRT with an HDMI to VGA adapter which is supposed to be lagless as well (as long as it doesn't scale content) + +### my setup + +wii -> component hd retrovision cables -> calrad 937b component distribution amp -> \[ magewell pro capture hdmi | sony vaio trinitron hmd-a100 via a YPbPr-to-VGA transcoder | mg16xu via an rca audio 1in4out switch \] + +alternatively: + +wii -> electronwarp wii2hdmi -> ezcoo splitter 1in2out -> \[ sony hmd-a100 via moread hdmi-to-vga dongle | avermedia bu113 capture card \] + +component costs: $423 ($123 without capture) +- retrovision $30 https://amzn.to/4dBenEd +- calrad ~$30 https://www.ebay.com/sch/i.html?_nkw=calrad+937b +- magewell pro capture $300 https://amzn.to/3YFfePY +- YPbPr to VGA transcoder $27 https://amzn.to/3WCh3up +- 2x component cable sets for interconnect $36 https://amzn.to/3WCV9qN or https://amzn.to/4cfCebz / https://amzn.to/3YDnzDB + +hdmi costs: $190 ($90 without capture) +- wii2hdmi $24 https://electron-shepherd.com/products/electronwarp +- ezcoo hdmi splitter $30 https://amzn.to/4diVNRr +- avermedia bu113 $100 https://amzn.to/3Acbb3l +- tendak adapter + gender changer $20 https://amzn.to/3SHpLq5 + https://amzn.to/46CqcI5 +- 2x hdmi cables ~$16 https://amzn.to/4fCdtsR + +so it would be overall cheaper to go through hdmi and probably more convenient paradoxically lol. even if your ultimate output is a pc crt. somehow a2d2a doesn't take a noticeable toll + +the last thing to mention is if you really want to avoid any 480i/240p signal hassles you probably should get an ossc or retrotink to deinterlace / linedouble to 640x480 progressive signal. yes this is like another hundred or three. such is the price of pc crt i guess. really makes you think if it would be worth just going for a high-end pvm that accepts 480p/480i/240p over component... \*glances at ebay prices\* nvm + +## softmodding + +https://wii.guide + +once you're homebrewed and installed your ios stuff then usb loader gx is a far superior way to play your games for both wii and gamecube. just make sure to use 480p patches, turn off the deflicker filter if you're not using a CRT, and highly consider using the framebuffer output instead of the stretched output. + +## hardmodding + +electronAVE obsoletes a lot of other things except maybe the Wii Dual? https://electron-shepherd.com/collections/all/products/electronave-kit + +personally idk if it's worth it though, if you want pure digital output you might as well emulate. also having hdmi out could make it harder to route your signal around -- for example i have an issue where my blackmagic intensity pro 4k doesn't support 480p at all. component only supports 480i and hdmi doesn't support less than 720p. + +## wifi + +wii only supports wifi b/g on 2.4ghz with wpa2 at most + +i knew about the wpa2 thing (not really an issue since wpa3 is so new) and i figured out the 2.4ghz thing (i guess 5ghz was also too new but also the wii u doesn't do 5ghz wifi either -- probably bc 5ghz is reserved for the gamepad communication) + +the thing i did not know about until i went searching for it is that apparently wifi n is also too new? i had my router in "n only" mode for efficiency reasons but had to change it back to auto b/g/n/(ax) -- that stopped the error 51330 from happening and i could connect to wifi again + +it will prompt you to check for an update (phrased as "perform an update") but if you do this you will softlock the wii since the nintendo servers seem to be down? + +## etc + +### hardware revisions + +supposedly the RVL40 is better for 480p but i have an older wii and it isn't bad so i wouldn't replace a wii i already have. i might spend more effort looking for a rvl40 though if i didn't already have one. also if you softmod (which you should) then you can enable "480p bug fix" in usb loader gx to get corrected output on older wiis \ No newline at end of file diff --git a/wiki.hugo/content/links/_dump.md b/wiki.hugo/content/links/_dump.md new file mode 100644 index 0000000..0971c90 --- /dev/null +++ b/wiki.hugo/content/links/_dump.md @@ -0,0 +1,53 @@ +### web + +minimum common web platform + +webfinger redirect in nginx config + +```nginx +location /.well-known/webfinger { + if ( $arg_resource = "acct:hello@yaakov.online" ) { + return 302 'https://cloudisland.nz/.well-known/webfinger/?resource=acct:yaakov@cloudisland.nz'; + } + + return 404; +} +``` + +mast logo + +openxri project + + + +indiekit, a nodejs server that helps static websites do indieweb stuff (is it like a cms?) + +### demetrification + +What Do Metrics Want? + +The quest to create a world without likes, retweets, and follower counts + +Will hiding likes on Instagram and Facebook improve mental health? + +### concert recording + + + + + +### varia + +V7MLIZ392DXQ4UC5GEMF + +### merch + + + + + +### music + + + + \ No newline at end of file diff --git a/wiki.hugo/content/links/_index.md b/wiki.hugo/content/links/_index.md new file mode 100644 index 0000000..f7ba421 --- /dev/null +++ b/wiki.hugo/content/links/_index.md @@ -0,0 +1,2 @@ ++++ ++++ \ No newline at end of file diff --git a/wiki.hugo/content/links/essays.md b/wiki.hugo/content/links/essays.md new file mode 100644 index 0000000..5c7deab --- /dev/null +++ b/wiki.hugo/content/links/essays.md @@ -0,0 +1,62 @@ ++++ +updated = "2018" ++++ + +# Essays + +## Have you considered the alternative? +https://homebrewserver.club/have-you-considered-the-alternative.html + +> There is a reason why we’re falling into this pattern of needing alternatives to the alternatives. And that is because… There are no alternatives. [...] what these alternatives all have in common is that they share the same model. A model that revolves around centralized services, vendor lock-in and marketing related surveillance, and all of that within a neoliberal context of the free market [...] The reason is that they have no choice within the economic system they choose to operate in. + +--- + +> In short, both Whatsapp and FacebookMessenger can afford to deploy end-to-end encryption for your messages because it won’t hurt their bottom line, which is making money based on the surveillance of your behavior and your social graph. Adding crypto thus merely patches your privacy worries, but not the threat to it. + +--- + +> the problem is not that federation doesn’t adapt, but rather that there are problems with its implementation for a very significant reason: software developers working on federated systems mostly work for free in their spare time or with little means [...] while Marlinspike seems to defend his product from a technological perspective, Gultsch’s counter argument moves back the discussion to the context of political economy. + +## Avoid News + + 1) News does not represent the real world [...] the highly visible misleads us. + + 2) News is irrelevant [...] It’s very difficult for us to recognize what’s relevant. It’s much easier to recognize what’s new [...] if something really important happens, you will hear about it, even if you try to live protected from the news in a cocoon + + 3) News limits understanding [...] It’s not “news facts” that are important, but the threads that connect them + + 4-5) News is toxic for your body/society [...] News consumers risk impairing their physical health [...] News leads to collective neurosis [...] **Psychological scars do not heal easily** + + 6) News massively increases cognitive errors [...] Our brains crave stories that “make sense” – even if they don’t correspond to reality + + 7) News inhibits thinking [...] **The passageway from working memory to long-term memory forms a bottleneck in our brain** [...] Because news disrupts concentration, it actively weakens comprehension + + 8) News changes the structure of your brain [...] The more news we consume, the more we are exercising the neural circuits devoted to skimming and multitasking while ignoring those used for reading and thinking deeply [...] Your attention is set on fast-breaking events, so you hunger for more data about them [...] [this] feeds compulsive information-seeking behavior (CISB) [and long term potentiation (LTP)] + + 9) News is a waste of time [...] Information is no longer a scarce commodity. But attention is. + + 10) News separates reputation from achievement [...] people become famous for reasons that have little relevance to our lives + + 11) News is produced by journalists [...] Fewer than ten percent of the news stories are original. Fewer than one percent are truly investigative + + 12) Reports and forecasts can be or are wrong [...] Incorrect forecast are not only useless, they are harmful + + 13) News is manipulative [...] News is the perfect Trojan horse. Few bits of news arrive without a hidden + agenda [...] It sets the public agenda + + 14) News makes us passive [...] **News stories are overwhelmingly about things you cannot influence** [...] it can lead to passivity and a sense of victimhood. The scientific term is learned helplessness + + 15) News gives us the illusion of caring [...] [it] delivers the illusion of care but doesn’t get us anywhere [...] we are not connected because we consume news + + 16) News kills creativity [...] Things we already know severely impact creativity [...] If you want to come up with old solutions, read news + + //Isn’t it inhumane not to care about Haiti? Your shtick feels pretty cold.// + + Is it inhumane not to care about horrific things happening on other planets? The point is: You can’t care about everything in the universe, on the earth, in your country, not even in your city. Nor should you. + + //Where is the compassion?// + + Let me state this even stronger: Caring without action is inhumane. It gives us the illusion of making the world a better place. Truth is, we do it for us. We revel in the marinade of caring. What does it change? It makes us feel good (humane if you like) but doesn’t help a thing. [...] Empathy – if it remains empathy – is useless. + +http://www.dobelli.com/en/essays/news-diet/ +https://web.archive.org/web/20180106154431/http://www.dobelli.com/en/essays/news-diet/ \ No newline at end of file diff --git a/wiki.hugo/content/links/quotes.md b/wiki.hugo/content/links/quotes.md new file mode 100644 index 0000000..7590952 --- /dev/null +++ b/wiki.hugo/content/links/quotes.md @@ -0,0 +1,21 @@ ++++ +updated = "2018" ++++ + +# Quotes + +## Managers need private offices for "productivity" but put their workers in open offices + +https://arstechnica.com/science/2018/07/in-open-offices-workers-chat-70-less-are-less-productive-and-email-more/?comments=1&post=35658503#comment-35658503 + +> When they went to open office one of my friends said in the announcement meeting it was asked why managers and higher ups needed offices. Productivity was the answer. Didn't seem to phase them that the people actually doing the producing were going to be producing less. + +## "I watched an entire Flat Earth Convention for my research – here’s what I learnt" + +https://theconversation.com/i-watched-an-entire-flat-earth-convention-for-my-research-heres-what-i-learnt-95887 + +> While flat earthers seem to trust [...] scientific methods, what they don’t trust is scientists [...] those in power control what is considered to be correct [...] According to Foucault, there is therefore an intimate [...] relationship between power and knowledge. + +> With the increased voice afforded by social media, knowledge has been increasingly decentralised, and competing narratives have emerged. + +> one of the physicists pleaded with the audience to avoid trusting YouTube and bloggers. The audience and the panel of flat earthers took exception to this, noting that “now we’ve got the internet and mass communication … we’re not reliant on what the mainstream are telling us in newspapers, we can decide for ourselves”. \ No newline at end of file diff --git a/wiki.hugo/content/optics/_index.md b/wiki.hugo/content/optics/_index.md new file mode 100644 index 0000000..f7ba421 --- /dev/null +++ b/wiki.hugo/content/optics/_index.md @@ -0,0 +1,2 @@ ++++ ++++ \ No newline at end of file diff --git a/wiki.hugo/content/optics/how-to-order-glasses-online.md b/wiki.hugo/content/optics/how-to-order-glasses-online.md new file mode 100644 index 0000000..13de196 --- /dev/null +++ b/wiki.hugo/content/optics/how-to-order-glasses-online.md @@ -0,0 +1,64 @@ ++++ +updated = "2018" ++++ +# How to order glasses online + +## My measurements + +SIZE = +- frame width: medium (135mm-139mm -- ~136mm) // 141mm? +- bridge width: small (17-18mm -- ~17mm) // 18mm +- lens width: medium (52-54mm -- ~53mm) // 52mm +- lens height: medium (33-40mm -- ~35mm) // 32mm?? +- temple arm: medium (135-144mm -- ~140mm) // 145mm? + +PD = +- Single: 65mm (64.5mm) +- Dual: ~32.5mm right / ~32.5mm left? 33/32? 32/33? + +PRESCRIPTION = Single Vision +``` + SPH CYL AXIS +OD -6.50 -0.75 30 +OS -5.75 -0.75 170 +``` +------------------------------ + +## NOTES: + +### Abbe numbers +- Abbe value measures color dispersion. +- Higher Abbe means less chromatic aberration. +- glass is the best, low-index plastics are close, polycarbonates suck +- Crown glass = 59 +- CR-39 Plastic = 58 +- Trivex = 43 +- Polycarbonate = 30 + +### Clarity, peripheral vision, chromatic aberration +- look for a high abbe value if you want + - more clarity, + - better peripheral vision, + - and less chroma aberration. +- consequently, the index actually doesn't matter for clarity; it only really matters for thickness! a high-index lens will typically lower the abbe value and therefore reduce clarity. + +### Aspheric lens +- aspheric designs will change curvature gradually, leading to flatter lens and better peripheral clarity. many high-index plastics might have aspheric designs to counteract the thicker edges. + +### Distortion +- i ordered one trivex and one 1.67 high-index from zenni but both glasses had distortion at edges. +- i think that's normal but i personally can't live with it, so i returned them and will be saving money to buy something with a better material. + - lenscrafters advertises this as "hd lenses", which is also a manufacturing process-based technique. if that's anything like what i did in amman, then an eye scan will be required. the digital scan of your eyes is used to carve out much more precise lenses up to 0.01D instead of 0.25D increments. + +### UV / Blue Light +- UV protection coating is kinda bullshit, the lens material will typically block <380nm anyway +- Blue light filters are even more bullshit, and can actively cause color shifts! + +------------------------------ + +## RESOURCES: + +- https://www.visioncareproducts.com/high-index-lens-materials-past-present-future/ +- http://www.mastereyeassociates.com/eyeglass-lens-materials +- http://www.trivexspecialist.com/blog/slimming-down-are-high-index-lenses-always-the-answer/ +- https://www.allaboutvision.com/lenses/how-to-choose.htm \ No newline at end of file diff --git a/wiki.hugo/content/photography.md b/wiki.hugo/content/photography.md new file mode 100644 index 0000000..fa60d43 --- /dev/null +++ b/wiki.hugo/content/photography.md @@ -0,0 +1,19 @@ ++++ +title = "Photography" +updated = "2019" ++++ +## "Beginner" vs "expert" is a false dichotomy + +There is no camera for "beginners". It doesn't make any sense to recommend a camera based on skill level at all. Instead, getting into photography should go something like this: + +### Self-discovery +Identify the area / subject matter you're interested in, and just start taking pictures! It doesn't matter if you only have a smartphone that only does auto. The important thing is to start taking pictures. Start gaining experience and get that sense of when something is photo-worthy, and how you want it to look. Start learning about framing and focus and other stuff like that. + +### Theory +Once you've got those basics understood, it's time to learn about how photography works. Get a camera with manual mode. Teach yourself about aperture, shutter speed, and sensitivity, then teach yourself how each of those settings affects the output of your camera. Internalize the effects that each parameter will have on the picture -- how will it affect brightness? noise? blur? etc. Start learning to tune your camera's settings for each scene. + +### Development +Find a camera that can take RAW photos. Learn how to develop those photos. Familiarize yourself with all the factors that go into outputting a finalized image -- exposure levels, color balance, sharpening and denoising filters, and so on. Pick a software and learn it. + +### Optional: Going pro / specializing +By this point you should have a thorough understanding of the types of pictures you want to take, how to actually take those pictures with your camera of choice, and how to develop the raw output into a pleasing image. This is the point where you can start looking into specialized equipment and gear that suits the niche you're most interested in -- landscape? architecture? street? still-life? portrait? event? If you have enough money or you can start making money from photography, then you can start looking at picking out gear that will help you take the photos you want. Pick out a good body (sensor size? ISO? resolution? autofocus?) then pick out some lenses (focal length? aperture?) and you should be able to take all the photos you want. diff --git a/wiki.hugo/content/politics/_index.md b/wiki.hugo/content/politics/_index.md new file mode 100644 index 0000000..f7ba421 --- /dev/null +++ b/wiki.hugo/content/politics/_index.md @@ -0,0 +1,2 @@ ++++ ++++ \ No newline at end of file diff --git a/wiki.hugo/content/politics/fascism.md b/wiki.hugo/content/politics/fascism.md new file mode 100644 index 0000000..ee4904e --- /dev/null +++ b/wiki.hugo/content/politics/fascism.md @@ -0,0 +1,52 @@ ++++ +title = "Fascism" +updated = "2019" ++++ + + +## Definition +**Fascism** is a political ideology defined by the following: + +1. The myth of the **great nation**, meant to elicit pride in the Nation and its former accomplishments. +2. The myth of **degeneracy**, which is a scapegoat for all of the Nation's failings and the cause of its supposed decline. +3. The myth of **national rebirth**, i.e. returning the Nation to greatness, typically by "cleansing" the Nation of the aforementioned "degeneracy". + +# Related fundamental concepts you should be aware of + +**What is a nation?** A *nation* is a shared cultural or political identity. It is not strictly the same as a *government* (legal body), a *country* (geography), or an *ethnicity* (culture), although it may be defined along those lines. It is also not to be confused with a *state* (monopoly on power). + +**Social radix:** For fascists, national identity is the root of all society. + +## Characteristics + +### Third Positionism against liberalism and against socialism +Fascism positions itself as *against democracy* and *against Marxism*. It is anti-liberal and anti-socialist (especially anti-communist), and instead occupies the "Third Position". + +### Fetishization of order +Fascism is more dedicated to *order* rather than *justice*. All individuals are expected to have a duty to protect the Nation-State and uphold its interests and values. Any concept of "the greater good" beyond the national interest is mostly nonexistent. All that matters is preserving "law and order", i.e. preserving the superiority of your own nation above others. This focus on stability, discipline, hierarchy, and national pride permeates all of society. + +>Individuals simply [cannot] be relied on voluntarily to 'obey the law, pay their taxes and serve in war'. **No well-ordered society could want the people to be sovereign.** +> +>*Benito Mussolini* + +## Things that are fascism + +* Wanting to establish a national empire +* Wanting to conquer or subjugate other nations, or to make them subservient to your nation +* Believing that some nations are inferior to others +* Believing that certain peoples/cultures/lifestyles are bringing your nation down +* Eliminating rights of a targeted subgroup for above reasons +* Restricting entry or physically expelling a targeted subgroup for above reasons +* Murdering a targeted subgroup for above reasons + +## Things that are not fascism + +* A willingness to use violence +* A willingness to use violence in self-defense +* Defending a community against violence +* Having a government +* Having a government that does things +* Anything a government does +* Not letting someone give a speech +* Not letting someone organize in your community +* Not listening to someone trying to speak \ No newline at end of file diff --git a/wiki.hugo/content/politics/neoliberalism.md b/wiki.hugo/content/politics/neoliberalism.md new file mode 100644 index 0000000..c392d75 --- /dev/null +++ b/wiki.hugo/content/politics/neoliberalism.md @@ -0,0 +1,7 @@ ++++ +title = "Neoliberalism" ++++ + +neoliberalism is just largely a return to liberalism; the idea that govt's role is to help business, that markets can be used as a force for good https://en.wikipedia.org/wiki/Neoliberalism + +maybe best exemplified by thatcher, reagan, greenspan, clinton; the support of "free trade" agreements like NAFTA and TPP or organizations like the IMF or WTO; opposition to people like ralph nader in the 1970s; concepts like "the marketplace of ideas" or "soft power"; in short, everything is a market and the experts should decide the best policies to help the market \ No newline at end of file diff --git a/wiki.hugo/content/politics/policy.md b/wiki.hugo/content/politics/policy.md new file mode 100644 index 0000000..93e9ad7 --- /dev/null +++ b/wiki.hugo/content/politics/policy.md @@ -0,0 +1,15 @@ ++++ +updated = "2019" ++++ + +# Policy + +## 'It’s a miracle': Helsinki's radical solution to homelessness +Finland is the only EU country where homelessness is falling. Its secret? Giving people homes as soon as they need them – unconditionally + + +> “We had to get rid of the night shelters and short-term hostels we still had back then. They had a very long history in Finland, and everyone could see they were not getting people out of homelessness. We decided to reverse the assumptions.” + +> As in many countries, homelessness in Finland had long been tackled using a staircase model: you were supposed to move through different stages of temporary accommodation as you got your life back on track, with an apartment as the ultimate reward. + +> “We decided to make the housing unconditional,” says Kaakinen. “To say, look, you don’t need to solve your problems before you get a home. Instead, a home should be the secure foundation that makes it easier to solve your problems.” \ No newline at end of file diff --git a/wiki.hugo/content/politics/radicalization.md b/wiki.hugo/content/politics/radicalization.md new file mode 100644 index 0000000..72355c8 --- /dev/null +++ b/wiki.hugo/content/politics/radicalization.md @@ -0,0 +1,22 @@ ++++ +title = "Radicalization" +updated = "2018" ++++ + +## The three factors of radicalization + +>For radicalization to occur, there are three necessary ingredients, according to Kruglanski’s research. The first is the universal need to live a worthwhile life — to have significance. People usually satisfy this need through socially accepted means, “like working hard, having families, other kinds of achievements,” Kruglanski said. Radicals instead tend to place significance on their gender, religion or race. +> +>The second is “the narrative,” which gives someone permission to use violence. Kruglanski said the narrative is usually that there is an enemy attacking your group, and the radical must fight to gain or maintain respect, honor or glory. +> +>The third necessary component is the community, or the network of people who validate the narrative and the violence. + +-- ["The psychology of how someone becomes radicalized" (Angela Fritz, The Washington Post, 2018 Nov 1)](https://www.washingtonpost.com/science/2018/11/01/psychology-how-someone-becomes-radicalized/?noredirect=on&utm_term=.bb1c34780f0b) + +## Deradicalization tactics + +>Weilnboeck says one lesson successful facilitators have learned is to avoid engaging in debates about politics or religious doctrine with those they are trying to deradicalize. +> +>He says such debates usually fail to alter the belief system of a violent extremist, especially in the early stages of a deradicalization program, but will almost certainly foster distrust. + +-- ["The Dos And Don'ts Of Deradicalizing Violent Extremists" (Ron Synovitz, Radio Free Europe / Radio Liberty, 2015 Sep 6)](https://www.rferl.org/a/deradicalizing-violent-extremists-what-works-what-does-not-work/27229417.html) \ No newline at end of file diff --git a/wiki.hugo/content/politics/voluntarism.md b/wiki.hugo/content/politics/voluntarism.md new file mode 100644 index 0000000..a894440 --- /dev/null +++ b/wiki.hugo/content/politics/voluntarism.md @@ -0,0 +1,11 @@ ++++ +title = "Voluntarism" ++++ + +## criticisms + +pursuing pure voluntarism as an ideology (and not simply an ideal) tends to ignore the realities of power imbalances. If two people are inequal, then they can never come to a voluntary agreement -- the power of one will coerce the other, even if subconsciously. + +Consider whether one can "voluntarily" become a slave. Or, more relevant today, consider the wage labor system. Is it truly "voluntary" if your food, shelter, and very survival depends on such a "voluntary" arrangement? + +The cold reality is that voluntarism is merely idealism so long as any social class or hierarchy exists. Maybe some prefigurative politics are necessary, but you have to push for progress without 100% support or you'll wait forever. \ No newline at end of file diff --git a/wiki.hugo/content/search/_index.md b/wiki.hugo/content/search/_index.md new file mode 100644 index 0000000..a7f481a --- /dev/null +++ b/wiki.hugo/content/search/_index.md @@ -0,0 +1,3 @@ ++++ +title = "Search" ++++ \ No newline at end of file diff --git a/wiki.hugo/content/sitemap/_index.md b/wiki.hugo/content/sitemap/_index.md new file mode 100644 index 0000000..437bee0 --- /dev/null +++ b/wiki.hugo/content/sitemap/_index.md @@ -0,0 +1,3 @@ ++++ +title = "sitemap" ++++ \ No newline at end of file diff --git a/wiki.hugo/content/tech/!misc.md b/wiki.hugo/content/tech/!misc.md new file mode 100644 index 0000000..a6ff085 --- /dev/null +++ b/wiki.hugo/content/tech/!misc.md @@ -0,0 +1 @@ +prefer xml for trees, json(ld) for graphs? \ No newline at end of file diff --git a/wiki.hugo/content/tech/_index.md b/wiki.hugo/content/tech/_index.md new file mode 100644 index 0000000..f7ba421 --- /dev/null +++ b/wiki.hugo/content/tech/_index.md @@ -0,0 +1,2 @@ ++++ ++++ \ No newline at end of file diff --git a/wiki.hugo/content/tech/communication.md b/wiki.hugo/content/tech/communication.md new file mode 100644 index 0000000..82f0e8f --- /dev/null +++ b/wiki.hugo/content/tech/communication.md @@ -0,0 +1,36 @@ ++++ ++++ + +## Paradigms + +### 1-1 or 1-n + +### push or pull + +### relaying aka intermediaries + +## Separation of concerns + +### Publishing + +> "I want to share this with the world." + +For a resource to be visible to other people, it must first be published. Typically, resources are published at a location or with a specific identifier; people who wish to view that resource can then go to that location or search for that identifier using a lookup service in order to view the resource. Most commonly, resources are published on the World Wide Web, and they are found via their uniform resource location (URL). When you type, paste, or click a link in your Web browser, your browser will make a request to fetch that resource on your behalf, and the server responsible for that resource will respond with the resource. + +### Subscribing + +> "I want to see the things I am interested in." + +OK, so there are resources that we can access if they are published at a known location or with a known identifier. How do we know when there are new or updated resources? At the most basic level, you can manually check a resource to see if it has been updated; for example, you can check a website to see if there are any new pages. To make this manual checking process easier, publishers can generate a feed or stream of resources that can be subscribed to. When you subscribe to that feed, your feed reader will periodically check the feed for any changes; for example, a feed may be updated with the latest articles from a Web site, which your reader will then pull and show to you as an update. + +### Messaging + +> "I want to communicate directly with people." + +In some ways, messaging can be covered by having a publisher and a subscriber on each end of a conversation, but it usually makes more sense to deliver messages to your conversational partners directly rather than having them check for new messages on their own schedule. + +### Discussing + +> "I want to gather in a community or around a topic." + +Traditionally, this has been handled by forums, bulletin board systems, and groups. \ No newline at end of file diff --git a/wiki.hugo/content/tech/computers/_index.md b/wiki.hugo/content/tech/computers/_index.md new file mode 100644 index 0000000..f7ba421 --- /dev/null +++ b/wiki.hugo/content/tech/computers/_index.md @@ -0,0 +1,2 @@ ++++ ++++ \ No newline at end of file diff --git a/wiki.hugo/content/tech/computers/build-notes.md b/wiki.hugo/content/tech/computers/build-notes.md new file mode 100644 index 0000000..699eb89 --- /dev/null +++ b/wiki.hugo/content/tech/computers/build-notes.md @@ -0,0 +1,61 @@ ++++ +updated = "2018" ++++ +# Build Notes + +## ASUS Z170I Gaming +a mini-itx z170 board combo'd with an i5-6600k. + +### what to do with this board +- should i use it as a windows gaming machine? +- should i use it as a home server? + +right now i installed windows on a cheap nvme drive and have it powered by the evga 500bq; i bought a bitfenix prodigy for it so i guess it can be spec'd out for either use case thanks to that case's spaciousness. (whereas if i had gotten a ds380b it would've had some cooling issues, would've required me to buy an sfx psu, and wouldn't make for a good desktop at all -- so an expensive waste of money) + +## ASUS MAXIMUS VIII HERO +z170 atx motherboard that i bought as part of a combo with an i7-6700k. + +### observations +- one POST issue has been narrowed down to a weird interaction between thunderbolt support and igpu? specifically it seems to freeze (q code 60, as of latest testing) when both "igpu multi monitor" and "thunderbolt boot support" are enabled... and maybe some other thunderbolt options like usb or just thunderbolt in general, but i can't remember and i don't wanna retest, so i just disabled thunderbolt entirely. +- another POST issue (q code 22 / 55 / occasionally cc?) was happening when a certain stick of g.skill trident z rgb ddr4-3200 was inserted. i sent that kit off for rma, but i've read that perhaps asus motherboards can silently corrupt some earlier gskill trident z revisions. not sure about the validity of that statement but i guess i might wanna take it as an opportunity to sell them off and upgrade to 4x16gb idk + +## Supermicro X9DAE + +boy do i kinda hate this motherboard after all the problems it's given me and how meh supermicro's rma process has been + +### gotchas + +#### uefi boot usb must use usb2. +booting from uefi usb seemingly doesn't work, until you put the usb key into a **usb2** port. +the two rear usb3 ports **do not work** for this! + +#### lpddr3 is gaslighting me. +16x8gb samsung pc3L-12800R (lpddr3-1600 equivalent) would not work reliably... +...until it suddenly does, and then again suddenly doesn't. +i thought i had a dead stick because it wouldn't boot with all 16 filled. +then i thought it was misaligned cpu2 pins +then i thought it was cpu2 power delivery +then shuffling the sticks around made it somehow work... temporarily +clearing cmos made ALL the samsung ecc ram stop working +...but some standard corsair / kingston ddr3 ram works perfectly fine! +i still don't know if the ecc ram i bought is working, +or if the motherboard is incompatible, or what. +supermicro advertises 1.35v / 1.5v compatibility but +1.35v has not worked consistently for me at all + +#### hangs on BIOS if any connected drive has corrupted boot +i had an ssd connected with a windows 10 install that borked itself, +and that inadvertently caused the BIOS to become completely inaccessible +until i figured out that i needed to disconnect the disk... +the same thing happened when i left an install usb key plugged in??? + +### so many RMAs ughhhh + +1st rma was for not powering on when shorting the power pins, replaced. 2nd rma supposedly repaired a black screen issue / phantom overheat, and, well... it no longer trips the JOH1 header but it still has the black screen issue. after some amount of time the system hangs and the video output goes to "no signal". it seems to work for a few hours, then it doesn't work for like a full day, then it starts working again after you leave it alone for a while, ad nauseum. + +- is it the psu? +- is it the cpu1 pins? +- is it the ethernet? +- is it the ssd? + +~who even knows~ seems to be that evga nex750g power supply, because it's not happening with a new evga 500bq... also apparently you can test supermicro mobos without the cpu1/2 pins -- those are just used for delivering more power when needed. thanks to being told this by a rep, i was able to test more psus and discover this. so i guess now i need to buy a new/working psu with dual eps. ugh. also presumably the ram actually works, but i haven't tested all 16 sticks with a working psu. diff --git a/wiki.hugo/content/tech/computers/graphviz.md b/wiki.hugo/content/tech/computers/graphviz.md new file mode 100644 index 0000000..8ee9d14 --- /dev/null +++ b/wiki.hugo/content/tech/computers/graphviz.md @@ -0,0 +1,192 @@ +``` +graph desktop { + label = "desktop" + rankdir = LR + + subgraph legend { + label = "Legend" + + legend_label [label = ""; xlabel = "Legend"; width = 0; height = 0] + unavailable [label = ""; xlabel = "unavailable"; width = 0.25; height = 0.25; shape = box; color = grey] + unused [label = ""; xlabel = "unused slot"; width = 0.25; height = 0.25; shape = box] + used [label = ""; xlabel = "used slot"; width = 0.25; height = 0.25; shape = box; color = "#333"; style = filled] + component [label = ""; xlabel = "component"; width = 0.25; height = 0.25; shape = box; color = grey; style = filled] + warning [label = ""; xlabel = "warning"; width = 0.25; height = 0.25; shape = box; color = orange; style = filled] + + legend_label -- unavailable [style = invis] + legend_label -- unused [style = invis] + legend_label -- used [style = invis] + legend_label -- component [style = invis] + legend_label -- warning [style = invis] + } + + node [ + shape = box + height = 0.5 + width = 1 + ] + + edge [ + penwidth = 1.25 + ] + + subgraph cluster_motherboard { + label = "Motherboard: Aorus MASTER rev1.2 (X570)" + + subgraph cluster_usb3 { + label = "USB headers" + + usb2_1 + usb2_2 + + usb3_1 + usb3_2 + + usbc_1 + } + + subgraph cluster_sata { + label = "SATA 3.0\nheaders" + + sata_1 + sata_2 + sata_3 + sata_4 + sata_5 + sata_6 + } + + subgraph cluster_nvme { + label = "3x PCIe 4.0 M.2 NVME" + + # The Aorus Master 1.2 has 3x NVME slots + nvme_1 + nvme_2 + nvme_3 + + # My NVME drives + nvme_drive_1 [label = "WD SN850 2TB PCIe 4.0"; width = 2.5; color = grey; style = filled] + nvme_drive_2 [label = "WD SN850 2TB PCIe 4.0"; width = 2.5; color = grey; style = filled] + nvme_drive_3 [label = "WD SN850 2TB PCIe 4.0"; width = 2.5; color = grey; style = filled] + + nvme_1 -- nvme_drive_1; nvme_1 [color = "#333"; style = filled; fontcolor = white] + nvme_2 -- nvme_drive_2; nvme_2 [color = "#333"; style = filled; fontcolor = white] + nvme_3 -- nvme_drive_3; nvme_3 [color = "#333"; style = filled; fontcolor = white] + + # Filling the 3rd NVME slot disables two SATA slots + sata_5 [color = grey; fontcolor = grey] + sata_6 [color = grey; fontcolor = grey] + sata_5 -- nvme_3 [color = orange] + sata_6 -- nvme_3 [color = orange] + } + + subgraph cluster_pcie { + label = "PCIe slots" + + subgraph pcie_cpu_lanes { + label = "PCIe slots from CPU lanes are linked." + rank = same + + pcie_x16_1 [label = "PCIe 4.0 x16 (running x16)"; width = 3] + pcie_x16_2 [label = "PCIe 4.0 x16 (running x8)"; width = 3; color = grey; fontcolor = grey] + # using the 8x slot reduces the 16x to 8x + pcie_x16_2 -- pcie_x16_1 [color = orange; tailport = n; headport = s] + } + pcie_x1 [label = "PCIe 4.0 x1 (running x1)"; width = 3] + pcie_x16_3 [label = "PCIe 4.0 x16 (running x4)"; width = 3] + + # graphics card 16x + asrock_5700xt [label = "AMD RX 5700 XT\n(AsROCK Challenger D OC 8GB)"; color = grey; style = filled] + pcie_x16_1 -- asrock_5700xt; pcie_x16_1 [color = "#333"; style = filled; fontcolor = white] + + # capture card 4x + bm_ip4k [label = "Blackmagic Intensity Pro 4K"; width = 3; color = grey; style = filled] + pcie_x16_3 -- bm_ip4k; pcie_x16_3 [color = "#333"; style = filled; fontcolor = white] + } + + subgraph cluster_cpu { + label = "AM4 socket" + + cpu [label = "AMD Ryzen 5950x"; width = 2; color = grey; style = filled] + } + + subgraph cluster_ram { + label = "DDR4 RAM slots" + + ram_1 + ram_2 + ram_3 + ram_4 + + # 128gb kit + vengeance_128gb [label = "128GB (4x32GB) DDR4-3600 C18\nCorsair Vengeance LPX"; width = 3.5; height = 2.75; color = grey; style = filled] + ram_1 -- vengeance_128gb; ram_1 [color = "#333"; style = filled; fontcolor = white] + ram_2 -- vengeance_128gb; ram_2 [color = "#333"; style = filled; fontcolor = white] + ram_3 -- vengeance_128gb; ram_3 [color = "#333"; style = filled; fontcolor = white] + ram_4 -- vengeance_128gb; ram_4 [color = "#333"; style = filled; fontcolor = white] + } + + } + + subgraph cluster_case { + label = "Case: CM HAF 932" + + subgraph cluster_front_bays { + label="5.25\" Front bays" + + # 6x front bays + bay_1 + bay_2 + bay_3 + bay_4 + bay_5 + bay_6 + + # Bay 1: USB 3.0 card reader + kingwin_bay_adapter [label = "Kingwin 5.25\" to 3.5\" adapter"; width = 3] + vantec_card_reader [label = "3.5\" USB 3.0 Card Reader\n(Vantec UGT-CR935)"; width = 3; color = grey; style = filled] + bay_1 -- kingwin_bay_adapter -- vantec_card_reader; bay_1 [color = "#333"; style = filled; fontcolor = white] + vantec_card_reader -- usb3_1 [tailport = n; headport = w]; usb3_1 [color = "#333"; style = filled; fontcolor = white] + + # Bay 2: SATA hotswap bays + syba_hotswap [label = "Syba 5.25\" Hotswap Bay"; width = 3; color = grey; style = filled] + bay_2 -- syba_hotswap; bay_2 [color = "#333"; style = filled; fontcolor = white] + syba_hotswap -- sata_1 [tailport = e; headport = w]; sata_1 [color = "#333"; style = filled; fontcolor = white] + syba_hotswap -- sata_2 [tailport = e; headport = w]; sata_2 [color = "#333"; style = filled; fontcolor = white] + syba_hotswap -- usb3_2 [tailport = e; headport = w]; usb3_2 [color = "#333"; style = filled; fontcolor = white] + + # Bay 3: DVD drive + asus_dvd [label = "ASUS DVD Drive 24x"; width = 3; color = grey; style = filled] + bay_3 -- asus_dvd; bay_3 [color = "#333"; style = filled; fontcolor = white] + asus_dvd -- sata_3 [tailport = e; headport = w]; sata_3 [color = "#333"; style = filled; fontcolor = white] + + # Bay 4: Kloud City drawer + kloud_city_1 [label = "Kloud City 5.25\" drawer"; width = 3; color = grey; style = filled] + bay_4 -- kloud_city_1; bay_4 [color = "#333"; style = filled; fontcolor = white] + + # Bays 5-6: Evercool Dual + evercool_dual [label = "Evercool Dual\n5.25\" to 3x 3.5 drives"; height = 1.25; width = 3] + bay_5 -- evercool_dual; bay_5 [color = "#333"; style = filled; fontcolor = white] + bay_6 -- evercool_dual; bay_6 [color = "#333"; style = filled; fontcolor = white] + } + + subgraph cluster_drive_sleds { + label = "Drive sleds" + + sled_1 + sled_2 + sled_3 + sled_4 + sled_5 + } + + subgraph cluster_cpu_clearance { + label = "CPU cooler\nclearance: 172mm" + + cpu_cooler [label = "Noctua NH-D15S"; width = 1.75 color = grey; style = filled] + } + + } + +} +``` \ No newline at end of file diff --git a/wiki.hugo/content/tech/computers/linux-laptop.md b/wiki.hugo/content/tech/computers/linux-laptop.md new file mode 100644 index 0000000..8486ad0 --- /dev/null +++ b/wiki.hugo/content/tech/computers/linux-laptop.md @@ -0,0 +1,35 @@ ++++ +updated = "2019" ++++ +# Linux laptop +i'm using an asus zenbook infinity (ux301la-dh71t) for this. main challenges of laptops are being limited to 1 monitor, needing to set up hotkeys, and other such stuff. + +## WM/DE experiences/ratings + +### Good? +- Sway (pure Wayland, no big dependencies, but need to figure out how to supplement it with DE stuff like notification area, easily-configurable panel, notifications, audio settings, and a better menu than dmenu) (i ended up going with sway as my main environment, paired with waybar / mako / pavucontrol / rofi, and also screenshots with grim+slurp) +- XFCE + xfwm (no-nonsense traditionalism but bad tiling, so you need to use a different workflow based around a dockbar/panel instead of tiling and workspaces.) +- XFCE + i3-gaps (a good compromise between DE and WM, at least for X11) +- Deepin (pretty but idk if it's functional yet -- play around more with it) + +### Interesting +- Qtile (need to learn how to use it bc it seems decent, similar to sway/i3 but no idea how to open menus yet, unfortunately doesn't seem to be mouse-driven at all) + +### IDK +- bspwm / herbsluftwm (need config before opening?) + +### Not-so-good? +- Budgie (scaling a bit weird, and idk why but i don't really like the styling of it even though it's clean and makes sense) +- awesome (haven't been able to configure it how i want to with the title bars, but otherwise *seems* solid) + +### Eh... +- GNOME (too limited and boring) +- KDE (bad design) + +### Not good +- Openbox/Fluxbox (too much hardcoded stuff) +- Notion (too bare/ugly) + +### Broken +- way-cooler (failed to compile) +- liri-desktop (no input from mouse/keyboard) \ No newline at end of file diff --git a/wiki.hugo/content/tech/computers/obs.md b/wiki.hugo/content/tech/computers/obs.md new file mode 100644 index 0000000..a0090e4 --- /dev/null +++ b/wiki.hugo/content/tech/computers/obs.md @@ -0,0 +1,18 @@ +## crt filter pipeline in obs studio + +source: 640x480 progressive signal (so deinterlaced with obs Retro or through amarectv plus automatic line-doubling) + +- [if capturing through amarec] Crop/Pad "Crop off Amarec window border" + - relative crop, 4px in each direction +- Scaling/Aspect ratio "Scale up for high-res effects" + - Point scale 3840x2880 (6x 480p) +- User-defined shader "Shader: TV CRT subpixel" [from obs-shaderfilter] + - width 1, height 3, horizontal/vertical gaps 1 +- Scaling/Aspect ratio "Scale back down to 4x (1280x960)" + - Bilinear scale 1280x960 +- User-defined shader "Shader: Bloom" [from obs-shaderfilter] + - amp factor 2.00, angle/radius steps at least 6 (but 20 is better) +- Image Mask/Blend "Scanlines mask" + - alpha mask (alpha channel) [image](/scanlines-mask-640x480.png) +- [Optional] User-defined shader "Shader: CRT curvature" [from obs-shaderfilter] + - adjust to taste. i was toying around with strength 16 and feathering 16 before turning it off \ No newline at end of file diff --git a/wiki.hugo/content/tech/computers/zfs.md b/wiki.hugo/content/tech/computers/zfs.md new file mode 100644 index 0000000..f237617 --- /dev/null +++ b/wiki.hugo/content/tech/computers/zfs.md @@ -0,0 +1,7 @@ +## test dedup performance + +generally not a good idea to enable dedup unless you have a lot of similar vms or database backups or whatever, and have more RAM to spare than hard disk space + +``` +zdb -S poolName +``` \ No newline at end of file diff --git a/wiki.hugo/content/tech/gorillaglass.md b/wiki.hugo/content/tech/gorillaglass.md new file mode 100644 index 0000000..5fb2d65 --- /dev/null +++ b/wiki.hugo/content/tech/gorillaglass.md @@ -0,0 +1,13 @@ ++++ +updated = "2018" ++++ +# Gorilla Glass + +Gorilla Glass is a brand of glass made by Corning and frequently used to manufacture smartphones. This page lists some of the details of each generation, such as chemical makeup, durability, scratch resistance, shatter resistance, and changes to these between generations. + +## Gorilla Glass 1 +## Gorilla Glass 2 +## Gorilla Glass 3 +## Gorilla Glass 4 +## Gorilla Glass 5 +## Gorilla Glass 6 \ No newline at end of file diff --git a/wiki.hugo/content/tech/mastodon/_index.md b/wiki.hugo/content/tech/mastodon/_index.md new file mode 100644 index 0000000..f7ba421 --- /dev/null +++ b/wiki.hugo/content/tech/mastodon/_index.md @@ -0,0 +1,2 @@ ++++ ++++ \ No newline at end of file diff --git a/wiki.hugo/content/tech/mastodon/issue-tracker.md b/wiki.hugo/content/tech/mastodon/issue-tracker.md new file mode 100644 index 0000000..d8b5a62 --- /dev/null +++ b/wiki.hugo/content/tech/mastodon/issue-tracker.md @@ -0,0 +1,498 @@ ++++ +toc = true +autonumbering = true ++++ + +## (closeable) + +### (duplicates) + +### (maybe closeable?) + +- #813 split docker-compose deployment into "web" and "streaming" [i.e. separate image for streaming API -- is this relevant to current docker strategy?] +- #1298 add custom entries to Getting Started [the motivation was adding a link to code of conduct, although this could be more generally useful outside that context] +- #1306 timeline scroll jumps when new posts come in [addressed by slow mode?] + - #1774 timeline scroll jumps when posts are deleted +- #3283 composing a long post with overflow will cause jumping on typing +- #3369 ctrl+z after posting used to restore the text to the compose box, but now it does not +- #3858 allow pinning favourites column and user profile columns [half-fixed -- you can pin favs but you still can't pin user profiles] +- #4701 show private posts in hashtag search if you are authorized to see them [closed as "intentional" in #2440 but idk maybe it could be reconsidered] +- #4869 filters should apply to emoji [this was filed back when regex filters were a thing, and seems to have been shown to work even back then, so was not reproducable] [small caveat: could extract a feature request out of this for allowing filtering an emoji by its shortcode? but probably not needed] +- #5403 reblog `url` is sometimes null when it marked non-nullable [i think this isn't happening anymore] +- #5737 store metadata about relationship changes (when/why) [we have profile notes now so that probably works] +- #5896 allow mods to force hide all media from an account [is this the same as "force-mark as sensitive" or is it more like "reject media"?] +- #6033 postgres 10 has a long-running query on public timelines? [is this still relevant] +- #6064 remote suspensions do not always reach you for followers? [has this been fixed now? issue is from 2017] +- #6073 hashtag cloud on landing/about page [is this addressed by trending tags on explore page?] +- #6250 don't send email notifications if a notification is seen in an active session [isn't this done by default now? there's a setting to "always send"] +- #6321 "quiet hours" mode where notifications are not shown [this is done at the OS level] + +--- + +## (uncategorized) + +- #482 [retry limit for failed authentication] +- #1910 `/#hashtag` is not parsed as a hashtag (also `)#hashtag` and `_#test`) [because it could be a url fragment] +- #3166 boost/fav counts out of sync (due to being async) +- #3794 [someone is confused why replies are not fetched] +- #3964 filter out private posts if you can't see the full context + +### (needs verification) + +- #2650 disabling a notification type will cause that notification to be missed; re-enabling the notification type does not bring back the missing notifications during that period in which it was disabled +- #2777 browser notifications do not correctly handle mixed LTR + RTL +- #2826 drag and drop images from othe browser tab +- #2865 empty favourite notification +- #3040 registering an app and getting a user token might return data of previous user token? calling `/api/v1/accounts/verify_credentials` returned wrong user [they seem to be using the password grant, possibly this is related to that?] +- #3061 on post with multiple GIF attachments, going to next one will cause it to not animate +- #3473 hard refresh needed to see multiple pages of new posts? +- #3638 check if post is deleted when clicking reply button; if it is, then remove the post instead of allowing you to compose a reply +- #3680 support 3gpp media upload for conversion [seems to have started working at some point? or maybe reproduced?] +- #3703 if a mention cannot be processed, the whole job fails. maybe it shouldn't? +- #3742 opening a timeline with videos in it can be slow +- #3809 long-press to boost without confirmation (when confirmation modal is enabled for boosting) +- #3930 wrong import order for SCSS [maybe closeable? idk, needs clarification as well, what triggers this scss and so on] +- #3959 rake task `media:remove_remote` should not apply to posts that have been boosted locally +- #3996 sidekiq deadlocks when `:concurrency` > 1 +- #4118 repeatedly faving/unfaving will generate a ton of notifications +- #4236 Detect if desktop notifications are supported (hide settings for them if not) +- #4434 nonbreaking spaces in config/locales are not preserved when rendering HTML [where is this relevant?] +- #4573 some posts show up on profiles but not on home timeline [possibly related to #2614] +- #4755 more gender neutral language in i18n german translation +- #4809 browser notification for favourites does not show text of favourited post if an image is attached. but it does for mentions. so that should be consistent +- #4838 settings routes / uris are inconsistent with the parts that they link to +- #4887 Accept-Language header only supports en, not en-US +- #5468 unicode directional formatting sometimes messes with url linking, causing broken links +- #5476 importing following.csv sometimes leads to stuck follow requests for unlocked accounts (workaround: a manual unfollow/refollow fixes it) +- #5527 2fa code should show keypad 0-9 on mobile devices +- #5528 shortcode gets converted to emoji even without breaking whitespace +- #5583 skin color emoji sequence not getting emojified +- #5646 2-frame gifs do not respect delay on final frame +- #5658 remote gif avatar gets corrupted on docker instances +- #5707 wrong localization for zh-TW on relative short timestamp +- #5960 status creation fails on id collision in transaction +- #6070 discovering a post that wasn't federated can cause the counter to +1 mistakenly +- #6083 a certain video got stuck on the first frame +- #6113 favorite/boost counts take a while to update/refresh +- #6139 old accounts deleted manually should be cleaned up [do we have this as a rake task or tootctl cleanup command?] +- #6156 hide boosts from someone you follow, and you will not receive boost notifications from them +- #6208 if the timeline is full of filtered posts, it doesn't load more +- #6329 atom feeds have a CORS issue +- #6338 zwsp is wrongly included in URL parser but correctly removed by hashtag parser +- #6426 audit log breaks when statuses are deleted +- #6432 custom emojis with long shortcodes can break the emoji list in /admin/custom_emojis +- #6554 preview opengraph thumbnail for instance +- #6681 [can't change email more than once?] +- #6923 admin view of statuses doesn't show privacy scope [idk if this was ever fixed in a redesign] +- #6938 welcome email has poorly styled username@domain handle +- #6991 Net::LDAP simple method not supported +- #7025 german translation of 2fa challenge is unclear +- #7145 overscroll? [idk what this means] +- #7170 allow resolving a report "with note" even when no note is included +- #7174 bad ssl on websockets causes entire application to not render + +### (feature requests) + +- #34 backfill statuses on follow +- #116 communal blocklists +- #139 groups +- #208 custom nicknames +- #281 geotagging posts +- #309 quote + boost +- #512 stories [really more like twitter moments? or generic collections] +- #861 local-only posting +- #928 cryptographic verification of posts (specifically GPG signatures? it should be user-facing like github) +- #979 timelines/columns for selected instances [bubble timeline?] + - #3812 custom timeline with user-defined domains (also apply filters to public timelines) + - #3917 let admins define additional timelines including certain domains +- #983 custom audiences / arbitrary addressing (specifically, decide which servers to send your post to) + - #7135 mutuals-only posts +- #1133 Drafts +- #1162 Insert picture from URL [assuming this means download and reupload? although it would be more interesting to allow remote storage and simply embed it / use the remote url directly...] +- #1208 post to category / topic [like google+ collections] +- #1307 mods should be able to edit posts to add a cw +- #1353 option to show replies in public timelines +- #1405 Local account delegation [i.e. posting on behalf of another account? like tweetdeck team accounts?] +- #1539 mark posts as read (then clear the column) +- #1593 temporary block (expiring blocks just like expiring mutes) +- #1608 show timestamp of when post was favourited (in favourites column and in API) [same for bookmarks?] +- #1685 show status of filed reports or notify them when a report is actioned +- #1800 browse or show posts within a certain date range +- #2089 "Daily Digest" feature that shows only a selection or highlight of posts from certain users (instead of overloading your home timeline) + - #4451 Discovery / Catch-up timeline that shows posts you may have missed, or perhaps most boosted/faved, etc +- #2317 keep track of media attachments and allow re-using them in new posts [like misskey drive?] +- #3265 attach images to reports (in case users delete their statuses or set abusive avatars?) +- #3546 language filters should use a dropdown instead of checkboxes? should also support more languages +- #3664 Delete all your posts (or some subsets of your data) without deleting your entire account +- #3890 users should be able to override silences [perhaps like disabling twitter's "quality filter"?] +- #3945 mark undelivered mentions / provide feedback when posts are not delivered +- #4106 Support emoji reacts (reactions) on posts [keywords: EmojiReact, EmojiReaction] +- #4207 allow admins to set allowed languages in public timeline for logged-out users + - #5691 allow users to select their language on the landing page while logged out +- #4983 [original issue was about making posts unboostable, but was misunderstood to be about filtering out notifications for when a certain post is boosted] +- #5787 separate preference for "autoplay media" and "animate emoji" +- #6094 embed profiles or timelines +- #6122 tell the user when they are impacted by instance domain blocks +- #6332 show which local users follow a remote user in the moderation UI +- #6353 admin-configured limits on invites +- #6379 saved searches +- #6387 admin panel diagnostics page +- #6403 option to not convert GIF to video +- #6603 `media_only` on home timeline +- #6635 domain mute without hiding notifications +- #6912 downscale images on upload if they exceed the limit +- #6942 follow local public timelines from other instances [conceptually should be handled by groups instead?] +- #6958 tag avatar and/or header as sensitive/nsfw +- #6982 add accounts to lists without following them [bad idea imo] +- #7042 "View profile as" someone else +- #7066 "Force-unlisted" option for moderating profiles +- #7132 "Bunker mode" to make an account look deleted when it is really not [or possibly just hide the public profile?] +- #7169 upload subtitles with videos + +#### (more niche) + +- #547 "secure evidence" when admins ban users (instead of wiping all data) +- #4108 Notify me when someone I interact with changes their profile picture +- #5239 Licensing and attribution for custom emoji +- #5444 "emergency instructions" for when a user dies so they can tell admins what to do with their account +- #5657 option to show acct above your display name instead of below it +- #5675 choose the default tab for your profile +- #5714 maybe your posts should be cached offline in the web app's local storage so that if your instance goes offline you have a backup +- #5867 Support 360 panaroma photos +- #6067 notify when a hashtag is used +- #6084 user analytics +- #6090 RSS feed for all interactions on a post? +- #6350 choose the date format localization for timestamps +- #6569 SVG avatar support +- #6726 activity graph and/or calendar for browsing profiles' post history +- #6920 write your own translation of other people's posts +- #7014 add CSS classes based on hashtags, so admins can style certain tagged posts differently from others +- #7082 admin-configured hints for avatar/header image policies +- #7201 show which lists an account is in (from the timeline) + +### (meta) + +#### (clearly actionable) + +- #1404 OpenAPI documentation [but how to generate it?] +- #1487 show out-of-date warning for old servers [how can you tell?] +- #2222 require comments/reason on reports [worth mentioning we have categories now which seems partially relevant] +- #2668 let users point DNS at existing instance, allow multi-tenancy with custom domains +- #3618 reply filtering should hide posts starting with @mentions (even if it's first post in the thread) [basically mirroring twitter and the `.@reply` notation that was necessary in the past] +- #3785 silenced users should be able to DM admins and mods +- #4883 "embed" feature should support informed consent and opt-in to having your posts embedded +- #5781 refetch avatars (and other media?) after remove instance domain block with "reject media" checked +- #5797 prevent replying to someone without mentioning them +- #5883 allow pagination from oldest to newest [or discover the oldest post id somehow] +- #6136 API request limit should be higher -- 100 statuses? +- #6412 external "share" service at share.joinmastodon.org that redirects to your existing instance +- #6474 disable storage of IP addresses +- #6812 rename "local" timeline to something that makes it clear it is not geographically local +- #6828 separate "pinned posts" into separate tab on profiles + - #19657 combine pinned/featured {posts, hashtags, profiles} into one tab on profiles +- #6884 media usage numbers should be publicly shown? [or possibly to logged-in users, i would assume?] +- #6895 domain blocks with "reject media" should be explained clearly to users, because it looks like a bug currently +- #6899 a way to obtain media attachment cdn links again +- #6970 sensitive content toggle should be per-timeline instead of all-or-nothing. opting into sensitive content from followed users is not the same as opting into sensitive content from *everyone* +- #6976 allow logging in with username instead of email +- #7122 reason should be required on reports +- #7127 notify users when they are affected by moderation actions or decisions +- #10743 author and show hashtags outside of `content` + - #7250 [alternatively to above:] hide hashtags at the end of a post's `content` [though this can change meaning] +- #7274 show "post unavailable" placeholders whenever a status exists but is not visible (due to privacy or being deleted) + +#### (vague or inactionable) + +- #967 unique visual identity for niche instances (better customization or theming) +- #1049 better handling for unicode urls (punycode, idn, and so on) as well as schemes/protocols (steam: specifically?) and other encoding issues +- #3782 alternative sorting and aggregation algorithms for timelines (for example, epochs weighted by log(likes) + followers boosting) +- #3796 account aliases (particularly webfinger redirect?) +- #3819 better DM system +- #4870 new user experience +- #5380 make financial supporters visible [manually? integration with patreon/etc?] +- #5515 interest separation + account grouping [seems to be a split between "categories" and "unified timeline"?] +- #5553 urls should not be assumed 23 characters +- #5686 two stages of following -- unapproved and approved. send public posts to unapproved followers [could be handled with audiences instead?] +- #5723 granular post privacy (control whether post goes to public timelines, is available unauthenticated, local-only, etc) +- #5774 ability to change your instance domain (LOCAL_DOMAIN) +- #6192 scss stylesheets should have more color variables +- #6892 reserve usage of `#admin` tag for users who are actually admins [i don't think this is feasible, but if it were, you might want to have it be variable and admin-defined? but remote users exist, so...] +- #6945 disable DMs on an instance level [this makes no sense as-is, unless you have a "public only" mode that rejects anything not addressed to public?] +- #6957 default to not sending sensitive field when adding a status [idk what this means] +- #6992 rich preview cards don't have enough options? [idk what this issue is really about] +- #7114 admins/mods should be able to have a second email for moderation notifications +- #7155 temporarily cache following/follower lists +- #7164 `noindex` should apply to statuses even when boosted [but there's no way to apply it to only part of a page...] +- #7254 some kind of opt-in or out of "bot interactions" [this needs to be more meaningful imo] + +--- + +## Single-category issues + +### Admin UI + +- #146 admin ui for manually creating user accounts + +--- + +### Backend + +- #701 assume http? for bare domains [link `example.com` to `http://example.com`] +- #981 import posts (from csv, specifically?) [but could be from activitypub archive] +- #1781 customizable character limit / status max length (instead of hardcoding 500) +- #2478 allow setting multiple contact/representative accounts for your instance +- #3139 keep track of which users and domains are being widely blocked by local users +- #3811 automatically rake/prune inactive accounts and delete them +- #4296 greylist federation. instances are silenced by default until approved by the admin. +- #5972 Rename "always mark media as sensitive" to "Mark media as sensitive by default" [TODO: Low hanging fruit] +- #6007 button to generate archive exports on behalf of the user, then email them with a link to that archive +- #6031 Full-width japanese period gets included as part of path query in URLs (after the slash). this can break links +- #6351 URL renderer / linkifier adds empty span.invisible to the end of many links +- #6701 URL ending with period does not linkify the period, leading to a broken link +- #6825 empty status with CW should not convert CW to status +- #7056 automatically rake/prune old account headers + +#### specific to media + +- #5204 indicate the file size on failed uploads so that you can better tell why something went wrong +- #5619 Suport Alibaba Object Storage as an alternative to S3 +- #5729 Replace Paperclip with Shrine +- #6352 invalid PNG upload returns 500 Server Error instead of 400 Bad Request +- #6377 hfr video (240fps) transcoded to normal video (60fps), maybe there should be an option + +#### specific to search + +- #6287 search for multiple hashtags + +#### specific to signups and new accounts + +- #877 captcha, honeypot, ip limit, and other antispam measures for registering new accounts +- #951 max capacity for registered users (block registration when cap is reached) +- #2045 autogenerate default avatars per-user (specifically foxes?) +- #5647 add warning to registration form that username cannot be changed + +#### ActivityPub + +- #4640 activitypub property to signal when you opt out of search indexing (similar to robots.txt or robots meta tag in html) +- #4964 use a versioned json-ld @context [currently mastodon just uses the unversioned activitystreams context, but i'm not entirely sure what issues this may cause if any and why] +- #5500 human-readable errors on trying to post to activitypub inbox endpoint +- #6262 converted statuses should append Hashtags to the end of the status_content maybe? +- #6849 deletes are not retried after failure? +- #6878 do not fetch only the first `attributedTo` + +#### REST API + +- #2048 support Android Intent URIs when registering a client app [currently failing due to use of `#` in uri; workaround is to register custom scheme in android?] +- #5273 API response should include Relationship on each Notification, so that you can tell when a notification came from a follower/following/mutual [arguably you could embed the Relationship on the Account but that might be expensive] +- #5492 API for a client app to update its own registered information (such as `redirect_uris`) using an app token generated from the stored `client_id`+`client_secret` +- #6040 errors should have a non-localized string key to identify which specific error occurred (can be matched exactly) +- #6360 get only ids of accounts from followers/following? +- #6549 API to get ids of deleted statuses without streaming +- #7020 PATCH update_credentials should be replaced with PATCH settings/profile for more intuitive way of updating profile settings like display name, avatar, header image, etc. +- #7021 PUT api/v1/preferences to save new preferences, not just GET existing ones +- #7108 get all admins/mods + +#### Streaming API + +- #3049 websocket streaming api sometimes encodes payload sometimes doesn't [unlikely to be fixed, due to being a breaking change] +- #5971 add event for new PreviewCard? + +#### Security + +- #1149 automatically log you out, add checkbox to "stay logged in" +- #1181 do not set a cookie on logged-out users + +#### Standards and spec compliance + +- #673 RSS feed for your notifications +- #1384 support receiving Webmentions +- #2234 Support Micropub for authoring posts (as an alternative to `POST /api/v1/statuses`) +- #3165 Support Mastodon as an OAuth consumer (login by oauth to some other service / single sign-on / SSO?) ["Mastodon includes the omniauth gem ... it should be possible to support sign up through any OAuth service"] +- #4569 OAuth authorization code OOB flow should allow using an easier-to-type PIN code instead of a 64 digit hex code. twitter and imgur do this apparently +- #4800 Support Mastodon as an OpenID provider (OpenID Connect / OIDC? RFC 6749? IndieAuth is also mentioned) +- #5227 Support Atom feeds [previously supported only profiles, but even that was removed in favor of RSS only] + +--- + +### Deployment + +- #1068 offer a Snap/snapcraft package +- #1118 support Terraform from Hashicorp (or chef, or ansible, or puppet, or salt caps) +- #1328 Scalingo setup form should use human-friendly strings instead of plain AWS region names (e.g. `EU (Frankfurt)` instead of `eu-central-1`) +- #1528 /tmp directory fills up over time +- #3576 offer a Debian package + +--- + +### Filters + +- #18955 Revamp filters to cover more use cases + - #6078 Filters ignore username + - #6596 filter yourself in home timeline + +--- + +### Lists + +- #5938 backfill lists when adding new accounts to them +- #5978 Muting a user does not remove old posts from lists + +--- + +### Profiles + +- #609 hidden profiles [require auth? "bunker mode"?] +- #1040 custom backgrounds +- #2295 Forward chronological mode / sorting +- #3205 disable or opt out of having a media tab +- #4823 some languages like persian use different words for countable form and plural form, but only one string is used for both the count and for the "all posts" tab on profiles. + +--- + +### Web app + +- #380 multiple account management / account switcher (for tootdeck layout / advanced ui, this implies supporting columns per-account) +- #873 font size for larger text +- #1471 show account preview on hover +- #1955 hash acct/url and pick a distinct color to allow more easily identifying when an account is different or is a homograph and possibly impersonation +- #4647 when you hide media that isn't marked nsfw, it should stay hidden persistently (currently it is reshown on refresh) +- #6028 poor contrast on the CW and privacy toggles in the compose form +- #6034 clarify the difference between "desktop notifications" and "push notifications" toggles +- #6035 notification settings are messy and poorly laid out +- #6210 show when a boost was made, not just the original post timestamp +- #6407 show when there are unresolved reports +- #7860 show confirmation dialog before more things + - #3702 show confirmation dialog before posting + +#### specific to advanced UI + +- #2054 switching to advanced web UI should load "getting started" instead of a duplicate home/notifications/compose column [this seems to be done only sometimes?] +- #3771 customize the tab bar in the upper-left corner of advanced ui on desktop layout (currently hardcoded to getting started / local / federated / settings / log out) +- #4305 allow moving context column instead of having it on the far right +- #6440 Pin multiple columns of the same type +- #7017 columns should be drag-and-drop instead of rearranged by left/right buttons +- #7050 add workspaces to advanced ui, choose sets of columns to be visible together + +#### specific to authoring a post + +- #1174 empty CW in compose form should prompt for CW or use default text "content warning", instead of silently dropping the cw and posting a normal post +- #1765 allow replying inline within a column (like tweetdeck or twitter) +- #1860 Preview your post + - #4848 specifically, it is unclear which characters will be included / parsed as a hashtag or mention or URL +- #2365 copy hashtags on reply +- #3567 mention the booster when replying to a boost +- #3903 suggest a CW based on keywords in your post +- #5108 add a secondary publish button with a different scope (port from glitch-soc) + +#### specific to emoji + +- #717 option to use system emoji instead of EmojiOne +- #5592 option to not show emoji + +##### specific to authoring emoji + +- #1908 disambiguate emoji for country flags (maybe sort flags by continent region or geography?) [nightpool: "this is an upstream issue w/ emoji-data"] +- #5445 prevent suggesting emoji when typing emoticons (for example, typing `:-)` should not suggest `:slightly_smiling_face:` in emoji-mart) +- #5498 emoji shortcodes should inherit preferred skin color from emoji-mart +- #5808 shortcodes should always be converted to emoji, or perhaps only when selected manually + +#### specific to media + +- #921 `rich` OEmbed (e.g. for soundcloud) +- #1255 allow wider aspect ratios instead of zoom-cropping thumbnail [auto height instead of `object-fit: cover`?] +- #2034 when a modal is open, pause all animations in the background +- #6254 "reduce motion" should disable side-scrolling animation for preview of multiple images +- #6983 better handling of PeerTube embed/preview +- #7031 embed remote videos + +##### specific to authoring media + +- #3860 basic image editing (cropping, rotating, etc) in the web app before posting +- #6879 focal point is misleading. circled area is not in the center, nor is it fully inside the thumbnail crop. [possibly calculation or rendering of focal point may be bugged?] + +#### specific to notifications + +- #1483 group similar notifications (consecutive notifications of same type should be collapsed) +- #1868 collapse boost/fav notifications to one line only (and `text-overflow: ellipsis` for the rest) [TODO: low hanging fruit for trwnh/mastomods? or is the current "max height" mod good enough for this?] + +#### specific to onboarding + +- #2019 relaunch the onboarding tutorial at any time +- #3264 show instance info in onboarding tutorial (so that users are aware of rules/etc) +- #6867 choose your language filters after signup + +#### nonspecific + +##### accessibility + +- #1680 line height should be relative to font size, not absolute [TODO: low hanging fruit?] +- #3660 better contrast and visibility on button for closing image modals +- #3875 "edit profile" link should be easier to tap on mobile [TODO: low hanging fruit] +- #4508 better focus contrast / visibility for status action buttons [currently, there is a slight transparent background on focus but no prominent outline like other focused elements] [TODO: low hanging fruit] [side note: the video player has even worse contrast on focus, i legit could not tell it was focused] +- #4510 when you focus on a post and expand it, the focus should shift to the detailed status view instead of staying in the column +- #6152 larger click/touch target for adding account to list +- #6185 error toast notifications should show up closer to the source of the error, not in the lower left corner + +##### performance + +- #787 garbage collection for open webUI tabs (react redux / state management) +- #1379 switching columns on mobile should be optimized +- #1469 use SVG icons instead of web fonts +- #5504 components are re-rendered whenever redux state changes, due to `mapStateToProps` +- #6438 memory usage continues to grow as new items are loaded into timelines + +##### architecture + +- #4478 reload a single column or conversation without reloading the whole tab +- #7113 minimize the compose box on mobile + +##### bugs + +- #5160 fullscreen video on desktop safari doesn't work right [seemingly last reproduced in june 2022 on macos 12.4 + safari 15.5] + +##### unimplemented API features + +- #1900 clear one notification [i.e. implement `/api/v1/notifications/:id/dismiss`] +- #6702 role badges + +##### staying in-app + +- #739 edit profile in webUI instead of settings page +- #946 "back" button in header should not take you out of the web app (you should remain in-app) +- #1399 links to activitypub objects (posts/profiles) should stay in-app [i think this specifically calls out links in profile bios? that might be harder] + - #2136 links in posts (to other posts) should open those posts in-app + - #3185 links in bios (to other profiles) should open those profiles in-app + - #3982 links in bios (to hashtags) should open those hashtags in-app +- #3201 indicate that a language filter is active and allow temporarily activating language filters in-app (without going to settings) + +##### meta + +- #1249 use an icon for CW instead of literally `CW` +- #1850 Rename "Getting started" to something else (OP suggested "Home" but gargron instead suggests "menu" or "main menu") +- #1856 UI mockups for easier switching of columns? +- #2210 UI mockup for pre-rendering mentions as links, instead of showing the entire address in the compose box +- #3872 combine Getting Started + Compose into one column, since they're both always open? +- #4399 CW toggle and sensitive media toggle should be linked such that expanding a post expands the media with it, and collapsing a post should rehide the media + - #4689 CW and sensitive media should not be linked at all + - #6141 show a media indicator in the CW "show more" toggle +- #5727 UI mockup for two-column layout on tablets +- #5736 more layout adjustments. variable column width, variable font size, variable media thumbnail size +- #5958 quickly switch between lists in a pinned column, or allow pinning the main "Lists" list +- #6267 use typescript + +--- + + \ No newline at end of file diff --git a/wiki.hugo/content/tech/openweb.md b/wiki.hugo/content/tech/openweb.md new file mode 100644 index 0000000..6d26f66 --- /dev/null +++ b/wiki.hugo/content/tech/openweb.md @@ -0,0 +1,26 @@ ++++ +updated = "2020" ++++ +# Open Web + +The open web is built on multiple technologies recommended by the W3C. This page is dedicated to taking notes about protocols and standards, and basic details of their implementation. + +{{}} + +## Static content + +Technologies that can be included in static HTML files, no backend server needed. Static site generators can generate these if the template supports them. + +### Microformats + +Microformats are used to define the Semantic Web, which aims to make machine-readable meta-content. http://microformats.org + +## Dynamic content + +### IndieWeb + +The goal of the IndieWeb project is to allow websites to be used as full-fledged substitutes for other services. The ideal indiewebsite would be able to self-host media content in multiple post types, serve as an authentication for logging into other services, and be used as a person's identity. Indieweb strategies include using your domain name as your identity, self-hosting your own data on that domain, syndicating copies of your content to silo services, and maintaining actually permanent permalinks. http://indieweb.org + +### ActivityPub + +ActivityPub is a federated social networking protocol that defines server-to-server and client-to-server interactions via ActivityStreams 2.0 and the Activity Vocab. It's basically email over JSON. Actors act on Objects that are sent and delivered via an Inbox and Outbox in various Collections. https://www.w3.org/TR/activitypub/ \ No newline at end of file diff --git a/wiki.hugo/content/tech/social.md b/wiki.hugo/content/tech/social.md new file mode 100644 index 0000000..4bcf80d --- /dev/null +++ b/wiki.hugo/content/tech/social.md @@ -0,0 +1,57 @@ ++++ +updated = "2021" ++++ +## foundational concepts +- regular grammars, subject-verb-object, and the actor system +- addressing and identity +- centralization, authority, and the open-world system +- fetching vs delivery, and dealing with state +- authentication and authorization + +## real life and prior art +- physical building/mailing addresses and email +- phone numbers and sms +- the many im apps, attempted unification, and current fragmentation +- spec talk: smtp, irc, xmpp, activitypub, matrix, proprietary ReST APIs, and so on + +## introduction to activitypub +- activitystreams vocabulary +- web uri +- as2 serialization and json-ld +- inbox and outbox GET and POST +- cryptography, signatures, tokens for validation and access control + +## let's design a social network +- what's wrong with what we have now? +- what we can do better +- types of communication: 1-1 (chat or publish), closed/open group (room or wall) + +## my ideas +- mapping resources by uri, not just by https url, but also possibly by a urn resolving service? +- publish only what the user consents to. assume everything is private by default. including uris, in some cases. +- contact manager to map addresses to *people*. keep track of not only who has which address, but also *when* they had the address (in case the address changes!) + - id assignment should be on its own namespace and you should leave human-readable stuff for the url. url should resolve to id. +- Join a Group (for arbitrary delivery ingroup or serverside validation) vs Follow a Group (for its public postings, both Announce from group members but also directly authored by the Group actor itself) + - Follow a Service that will send you messages like a mailing list? + - maybe delivery-by-default isn't the best model for everything? maybe all you really need is cross-domain auth? + - n-way delivery is a nightmare anyway. better to deliver to Service then it redistributes to all participants (can use "context" to model rooms). this works like irc but with federated id and richer as2 vocab +- open registrations are a mistake. you are responsible for everyone that you provide service to, and every page published on your website +- Accept or Reject more things. let em know when side effects were processed. or use a signed Accept token during validation. or simply have both actors sign off on it. + +### other ideas + +- no-cost push messages = spam. being able to send you stuff is not something to be taken lightly. generally on the web, you pull stuff you're interested in (sub) that other people have made available (pub). assuming that everyone should be able to push stuff into your inbox is not a good idea. ultimate control for what you receive should be given to you, the recipient -- you should be able to refuse delivery of anything you don't want. with that said... push should be a permission or *capability* that you can grant to others, if you *trust* them. + +- related to push, is the ceding of the replies/comments section as out of your ultimate control. twitter for example fucked up when they made @ mentions deliver directly to someone. imo it would have been better to only see @mentions when you explicitly go searching for them (like hashtags). + +- another thing twitter did: full-text search. oh god it sucks so much when harassment mobs search for a specific term and then descend on anyone who uses it. rethink the boundaries of what should be considered "public" or "searchable". + +- assuming public by default. no. let the user determine what they want to *opt in* to publishing, not what they want to *opt out* of having visible. by default, nothing should be known about the user. + +> Copying and pasting made people look at what they shared, and think about it, at least for a moment. When the retweet button debuted, that friction diminished. Impulse superseded the at-least-minimal degree of thoughtfulness once baked into sharing. Before the retweet, Twitter was largely a convivial place. After, all hell broke loose — and spread. + +--[The Man Who Built The Retweet: “We Handed A Loaded Weapon To 4-Year-Olds”](https://www.buzzfeednews.com/article/alexkantrowitz/how-the-retweet-ruined-the-internet) + +> [S]ocial media has been overtaken by metrics, which are driven in large part by the vicious cycle of advertisers wanting to know which influencers are worth paying; and by toxic fan battles to make your favorite social media accounts gain followers and likes, and to downrank your favorites' rivals. + +--[Demetrification: improving social media by removing public like/follower/repost counts](https://boingboing.net/2019/09/12/flickrs-glory-days.html) \ No newline at end of file diff --git a/wiki.hugo/content/tech/speakers.md b/wiki.hugo/content/tech/speakers.md new file mode 100644 index 0000000..e9baeed --- /dev/null +++ b/wiki.hugo/content/tech/speakers.md @@ -0,0 +1,68 @@ ++++ +updated = "2024-09-22" ++++ + +idk if "tech" is the right place to put this but + +i was researching affordable-ish upgrades to my current desktop speakers (edifier r1280t which aren't amazing by any stretch but they were decent when i got them) + +hard requirement max 6 inches wide. preferably lower, closer to 5.5" or so, this would allow me to lower my pc display height a tiny bit when i place them sideways + +## frontrunners + +- neumi silk 4 ($150/pair) (5.5" wide) https://amzn.to/4e9iCaE +- micca rb42 ($149/pair) (4.9" wide) https://amzn.to/3TDztdI +- nht superzero 2.1 ($125/single so $250/pair?) (also 5.5" wide) https://amzn.to/3zx679R + + has good compiled objective data and comparisons sourced from high quality sources (audiosciencereview and erin's audio corner, mainly) + +neumi silk 4 vs micca rb42: https://www.spinorama.org/compare.html?speaker0=Neumi+Silk+4&origin0=ErinsAudioCorner&version0=eac&measurement=CEA2034&speaker1=Micca+RB42&origin1=ASR&version1=asr + +neumi silk 4 vs nht superzero 2.1: https://www.spinorama.org/compare.html?speaker0=Neumi+Silk+4&origin0=ErinsAudioCorner&version0=eac&measurement=CEA2034&speaker1=NHT+Super+Zero+2.1&origin1=ASR&version1=asr + +neumi silk 4: + +- pretty flat, 2.8db deviation +- (+) 4.7 tonality on a scale from -10 to +10 + - can be EQ'd to 5.87, add a subwoofer to get 7.39, sub+EQ = 8.28 +- (~) "neutral" response, less "flavorful" or "fun" +- (-) response drops pretty sharply after about 14k -- can get as low as -6db at 20k + +micca rb42: +- (~) "fun" due to more bass even if it is less clear than neumi silk 4 it generally extends further +- 4.49 tonality on a scale from -10 to +10 + - can be eq'd to 6.77 or add a sub for 6.49, or both for 8.63 + - (+) eq'd it gets better than the neumi silk 4 by almost a whole point +- also 2.8db deviation but not as flat or neutral throughout + - (+) but it also doesn't have the rolloff on the high end? + - (-~) somewhat scooped mids but it's like 2db or less once eq'd so not very apparent + - sharp highs and bright, will also distort if you go too loud + +nht superzero 2.1: + +- 3.4db deviation + - (+) less flat on average but seems to stay closer to within +-3db once you extend past 5khz +- 3.37 tonality, 5.0 eq, 6.7 sub, 8.1 eq+sub +- (-) price. $250/pair compared to neumi silk 4 $150/pair + +## other considerations + +- micca mb42x g2 has been described as "warm and rich" vs the original mb42x which was "bright and lean". anyway it's 5.8" wide and $100/pair. no data. https://amzn.to/3TykDor +- kanto yu passive 4" -- $180/pair and about 5.5" wide. https://amzn.to/47yAw4h + - 2.9db deviation, 3.37 tonality (5.58 eq, 6.29 sub, 8.2 eq+sub) + - wide dip at ~500hz, doesn't look pretty... even when eq'd it has a dip at 4k + - in general seems to have boosted mids but that can be eq'd out for something kinda "clear and neutral" +- psb alpha p3 -- $249/pair, 5.125" wide https://amzn.to/4eaLW0E + - supposedly better options for the price. could be good speakers but bad value + - (~) somewhat "dark" due to wide scoop in mids between 3.7k and 7.7k? + - (-) also SHARP dropoff after 16.5k (like -18db at 20k even when eq'd) + - 4.2db deviation, 3.29 tonality, 5.81 sub, 5.34 eq, 7.71 sub+eq + - really does seem like other speakers are better in same price range but idk it might have better response if you're into that sort of thing ("dark") +- dali spektor 1 -- https://amzn.to/3Bi5ba4 $350/pair idk the exact size but it seems to be not worth the price. even eq'd it dips around 4k and can't stay within +-3db very well. big treble boost when not eq'd (like +4.5db) +- dayton audio b40 -- https://amzn.to/4ewMv4B $50/pair, 5.5" wide, seems like a bargain if it's good but no data available to suggest it actually *is* good. no reviews on amazon, just a reddit post https://www.reddit.com/r/BudgetAudiophile/comments/1e5wjfl/a_quickish_review_of_the_dayton_b40s/ which describes them as "they definitely sound like $50, but like a really good $50". idk, skip. +- audioengine p4 https://amzn.to/4eQFlZh $249/pair 5.5" wide. random commenters describe it as dull and muddy, others say it's not that bad, the only thing that really stands out to me is that the proper reviews seem to be from 2009/2010 so it's very possible that better stuff has come out since. +- edifier p17 https://amzn.to/4eccDBV $140/pair 5" wide. no data. + +## conclusion + +idk i think it comes down to neumi silk 4 or micca rb42. rb42 seems like it could be better with eq+sub, and probably the "fun" sound would possibly be more enjoyable than the "flat"/"neutral" of the silk 4, but the neumi also doesn't distort like the micca. so even with that high-end rolloff i'm still leaning neumi. \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/_index.md b/wiki.hugo/content/tech/spec/_index.md new file mode 100644 index 0000000..f7ba421 --- /dev/null +++ b/wiki.hugo/content/tech/spec/_index.md @@ -0,0 +1,2 @@ ++++ ++++ \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/Activity.md b/wiki.hugo/content/tech/spec/activitypub/Activity.md new file mode 100644 index 0000000..1e8aa4c --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/Activity.md @@ -0,0 +1,420 @@ +# Activity + +an Activity is just an object that has an `actor`. it represents an action that was performed. + +{{}} + +## activities in activitypub + +activities are meant to be POSTed to the outbox in C2S (by the Client), then if the Server is also a Federated Server, they get delivered to recipients' inboxes via POST to inbox (by the Federated Server) + +for C2S: if it has `actor` then do not wrap it in a Create when it gets POSTed to outbox. otherwise, per [[AP § 6.2.1 "Object creation without a Create Activity"](https://www.w3.org/TR/activitypub/#object-without-create)]: +- make a new `Create` to wrap the object in `object` +- copy over `to`/`cc`/`bto`/`bcc`/`audience` from the object to the activity. +- [not explicitly stated:] set `actor` on the activity equal to the current authorized user, then copy that over to `object.attributedTo` +- generate an `id` for both the `Create` and the `object`, unless it is transient [[how do we determine this? perhaps a client explicitly specifies `id=null`?]] +- return the `id` of the activity via the `Location` header + +for S2S: check `to`/`cc`/`bto`/`bcc`/`audience` on the activity. dereference any collections with a recursion limit (possibly n=1). add all discovered inboxes to a list. remove `bto`/`bcc`. POST to the list of discovered inboxes. + +some activity types have side-effects defined in the activitypub spec, sections 6 (c2S) and 7 (s2s) + +### (any Activity) + +if it has `actor` then do not wrap it in a Create when it gets POSTed to outbox + +- C2S: MUST assign `id` to the activity, ignoring anything that might be set by the Client, unless it is transient [[how to determine this?]] +- C2S: add it to the current actor's outbox [[if not transient?]] +- C2S: Return HTTP `201 Created`, `Location: ` +- S2S: warning, if it's an extension activity type then its side effects may not be understood. there may be fallback strategies to display `name`/`summary`/`content` + +### Create + +### Update + +### Delete + +### Add + +### Remove + +### Follow + +### Like + +### Block (C2S only) + +### Announce (S2S only) + +### Accept (S2S only) + +### Reject (S2S only) + +### Undo + +## activities in the fediverse + +in practice and in actuality, the "fediverse" largely does not conform to any of the 3 activitypub profiles. because c2s is not used, there are basically no Clients or Servers. and even on the s2s side, the side effects described by activitypub are not applied in any meaningful way. the *real* side effects vary per project. it can be argued that the fediverse is actually not built on activitypub, but rather, it is built on activitystreams 2.0 + linked data notifications. (it is a little-known fact that the `inbox` property in activitypub is actually `ldp:inbox` as defined by the linked data platform.) + +### mastodon + +supported activity types + +- Accept (accept a follow request) +- Add (adds hashtag or status to featured collection) +- Announce (reblog a status) +- Block (block an account) +- Create (create a message or status) +- Delete (delete account or status) +- Flag (report accounts and/or statuses) +- Follow (request to follow a local account) +- Like (favourite a status) +- Move (migrate an account's followers) +- Reject (reject follow request or remove follower) +- Remove (removes hashtag or status from featured collection) +- Undo (undoes some activities if possible) +- Update (update account info or edit a status) + +#### extended logic + +- **Accept** + - **Accept Follow** -- authorize a follow request + - (when relay is findable by `object` as follow_activity_id) + - (when `object` is uri of existing follow request) + - (when `object` is embedded Follow) + - **Accept Follow ``** +- **Add** + - (must have `target`) + - (`target` must be a `toot:featured` collection) + - (`object` must be inlined?) + - **Add Hashtag to `target`** -- feature a hashtag + - (takes `object.name` and removes prefix `#`) + - (creates FeaturedTag entity for the `actor`'s account) + - **Add `object` to `target`** -- pin a status + - (`object` must be transformable to status) + - (status must be authored by `actor`) + - (status must not already be pinned) +- **Announce** + - (must be related to local activity) + - (i.e. `actor` followed by local accounts) + - (or requested through relay) + - (or `object` refers to a status whose account is local) + - (`object` resolves to a status) + - **Announce `object`** -- creates a reblog of a status + - (stop if:) + - (no status) + - (status not boostable) + - (requested through relay) + - (find existing reblog or create) +- **Block** + - (`object` resolves to an account) + - (the resolved account exists and is local) + - **Block `object`** -- block an account + - (unfollow the `object`) + - (force `object` to unfollow you) + - (reject any follow requests from `object`) + - (create a block asynchronously) +- **Create** + - (dereference the `object`) + - **Create EncryptedMessage** -- creates an encrypted message + - (tries to find a device id) + - (extracts `messageType`, `cipherText`, `digest`, `messageFranking`) + - **Create `object`** -- creates a status + - (rejected if) + - (unsupported object type) + - (`object` is a string) + - (not in supported types) + - Note + - Question + - (not in converted types) + - Image + - Audio + - Video + - Article + - Page + - Event + - (or invalid origin) + - (or tombstone exists for `object` uri) + - (or not related to local activity) +- **Delete** + - (if `actor` matches `object`) + - **Delete `object`** -- delete your own account + - **Delete `object`** -- delete a status + - (create tombstone unless origin is invalid) + - (forward deletion if forwardable) + - (remove status from database and timelines) +- **Flag** + - (`object` array is resolved as accounts and statuses) + - (then filtered for local) + - **Flag `object`** -- report an account and/or statuses + - (foreach account get reported statuses) + - (create a report against the account w/ optional status ids and content) +- **Follow** + - (`object` must be a local account that exists) + - **Follow `object`** -- request to follow a local account + - (create or update follow request) + - (auto-reject if:) + - (`object` is blocking `actor`) + - (`object` is domain-blocking `actor`'s domain) + - (`object` has moved/redirected) + - (`object` is the instance actor) + - (send an Accept Follow if a follow already exists) + - (otherwise create a follow request) + - (if you are silenced or they are locked, send frq notification) + - (otherwise send Accept Follow and follow notification) +- **Like** + - (resolve status from `object`) + - **Like `object`** -- favourite a status + - (stop if:) + - (no status resolved) + - (status is not from a local account) + - (delete arrived first) + - (you already favourited this status) + - (create a favourite by `actor` for `object`) +- **Move** + - (`actor` must match `object` and resolve to account) + - (resolve `target` as account) + - **Move `object` to `target`** -- migrate your followers + - (stop if:) + - (no `target`) + - (`target` is suspended) + - (`target.alsoKnownAs` doesn't include `object`) + - (set a redirect) + - (async move followers from `object` to `target`) +- **Reject** + - **Reject Follow** -- reject a follow request or remove follower + - (when relay is findable by `object` as follow_activity_id) + - (when `object` is uri of existing follow request) + - (when `object` is uri of existing follow) + - (call UnfollowService for `actor`) + - (when `object` is embedded Follow) + - **Reject Follow `Follow.object`** +- **Remove** + - (must have `target`) + - (`target` must be a `toot:featured` collection) + - (`object` must be inlined?) + - **Remove Hashtag from `target`** -- unfeature a hashtag + - (takes `object.name` and removes prefix `#`) + - (deletes FeaturedTag entity for the `actor`'s account) + - **Remove `object` from `target`** -- unpin a status + - (`object` must be transformable to status) + - (status must be authored by `actor`) + - (destroy pin if existing pin found) +- **Undo** + - (`object` should be inlined or else it may not be handled) + - **Undo Announce** -- unreblog a status + - (stop if no `Announce.id`) + - (resolve `Announce.id` as status reblog) + - (call RemoveStatusService on status) + - **Undo Accept** -- unfollow an account [yes this is the assumption] + - (find follow by `object.object.id` and revoke it) + - **Undo Follow** + - (resolve `object.object` as account) + - (stop if not exists or not local) + - **Undo Follow ``** -- unfollow an account + - (`Undo.actor` unfollows `Follow.object` if following) + - **Undo Like** + - (resolve `object.object` as status) + - (stop if no status or if status is not local) + - **Undo Like ``** -- unfavourite a status + - (if `actor` has favourited the status:) + - (find a favourite on that status by that account) + - (destroy it) + - **Undo Block** + - (resolve `object.object` as account) + - (stop if not exists or not local) + - **Undo Block ``** --unblock an account + - (call UnblockService if `actor` is blocking `Block.object`) + - **Undo `object`** + - (try_undo_announce) + - (find reblogged status by `object` uri and `actor`) + - (if found, remove reblog and stop, else continue) + - (try_undo_accept) + - (do nothing, continue) [because Accept uri is not stored] + - (try_undo_follow) + - (find `actor` follow request/relation by `object` uri) + - (if found, destroy it and stop, else continue) + - (try_undo_like) + - (do nothing, continue) ["too costly", no index by Like uri] + - (try_undo_block) + - (find `actor` block by `object` uri) + - (if found, call UnblockService and stop, else continue) +- **Update** + - (dereference `object`) + - (if `object.type` in `Application Group Organization Person Service`) + - **Update `object`** -- update an account's info + - (stop if `actor.id` does not match `object.id`) + - (call ProcessAccountService) + - (else if `object.type` in `Note Question`) + - **Update `object`** -- edit a status + - (stop if invalid origin) + - (resolve `object` as status) + - (stop if no status) + - (call ProcessStatusUpdateService) + +### pixelfed + + + +(seems to require inlining in a lot of places? not 100% sure but that's what it looks like to me) + +- Add + - (must be inlined?) + - Add Story (not final) +- Create + - (requires `to` for some reason, so `cc` only will break) + - Create Question + - (a single `to` item will create a DM if no `cc`) + - Create Note.inReplyTo + - Create Note.attachment +- Follow + - Follow `object` +- Announce + - Announce `object` +- Accept + - Accept Follow (anything else will return immediately) +- Delete + - Delete `object` (if `object` == `actor` and is valid string uri) + - Delete [Person, Tombstone, Story] (???) + - Delete Person + - Delete Tombstone (???) + - Delete Story (not final) +- Like + - Like `object` +- Reject + - (does nothing) +- Undo + - (must be inlined) + - Undo Accept + - (does nothing) + - Undo Announce + - Undo Block + - (does nothing) + - Undo Follow + - Undo Like +- View + - View Story (not final) + - (also seems to get story id by whatever is after the last slash?) +- Story:Reaction (not final; undocumented extension) + - (`id` and `actor` must be valid urls) + - (`inReplyTo` and `to` must be local) + - (`object` must not resolve to Status) + - (seems to get story id by whatever is after the last slash?) +- Story:Reply (not final; undocumented extension) + - (`id` and `actor` must be valid urls) + - (`inReplyTo` and `to` must be local) + - (`object` must not resolve to Status) + - (seems to get story id by whatever is after the last slash?) +- Update (commented out) + +### misskey + + + +- Create +- Delete +- Update +- Read +- Undo +- Follow +- Accept +- Reject +- Add +- Remove +- Like | EmojiReaction | EmojiReact +- Announce +- Block +- Flag + + + +### pleroma + +ObjectValidator + +validate() + +- Block +- Undo +- Delete +- Create ChatMessage +- Create [Question Answer Audio Video Event Article Note Page] +- [Event Question Audio Video Article Note Page] + - Event + - Question + - Audio + - Video + - Article + - Note + - Page +- Update [Question Answer Audio Video Event Article Note Page] +- [Accept Reject Follow Update Like EmojiReact Announce] + - Accept + - Reject + - Follow + - Update + - Like + - EmojiReact + - Announce + - ChatMessage + - Answer +- [Add Remove] + +SideEffects + +handle() + +- Accept + - Accept Follow +- Reject + - Reject Follow +- Follow +- Block +- Update + - Update `object` + - Update `object` +- Like +- Create + - Create ChatMessage + - Create Question + - Create Answer + - Create [Audio Video Event Article Note Page] +- Announce +- Undo + - Undo Like + - Undo EmojiReact + - Undo Announce + - Undo Block +- EmojiReact +- Delete +- Add +- Remove + +Transmogrifier + +handle_incoming() + +- Flag +- Listen Audio +- Like._misskey_reaction +- Create [Question Answer ChatMessage Audio Video Event Article Note Page] +- [Like EmojiReact Announce Add Remove] + - (fetch `actor` and `object`) +- [Update Block Follow Accept Reject] + - (fetch `actor`) +- Delete + - (check if Create exists) +- Undo Follow +- Undo + - (get `object` by `id` and expand it) +- Move + +prepare_outgoing() + +- [Create Listen] +- Update `object` + - [Note Question Audio Video Event Article Page] +- Announce +- Accept -> Accept Follow +- Reject -> Reject Follow +- Answer -> Note \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/Collection.md b/wiki.hugo/content/tech/spec/activitypub/Collection.md new file mode 100644 index 0000000..94f2ba4 --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/Collection.md @@ -0,0 +1,20 @@ ++++ ++++ + +A Collection is an Object that has `items` or `orderedItems` + +however, `orderedItems` is valid on both Collection and OrderedCollection! it is defined like this in the as2 context: + +```json +"orderedItems": { + "@id": "as:items", + "@type": "@id", + "@container": "@list" +} +``` + +so it is basically just an alias for `items` where it MUST be an array, and the array's order matters. (if it were `@container: set`, then it MUST be an array, but the array's order does not matter.) + +### tangent: a Collection may be ordered without being an OrderedCollection + +OrderedCollection is defined as strictly reverse chronological by ActivityPub. however, other orderings are valid on regular Collections. the use of the `orderedItems` term allows plain-JSON implementations to do exactly this. \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/Create.md b/wiki.hugo/content/tech/spec/activitypub/Create.md new file mode 100644 index 0000000..d0add69 --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/Create.md @@ -0,0 +1,14 @@ ++++ ++++ + +i have a hard time deciding what ought to be the correct behavior here. maybe activitypub should have just assumed everything is deliverable as-is, but only activities get side-effects? of course there's still a problem with id generation not being fully specified... https://github.com/w3c/activitypub/issues/438 + +something like "generate an id for the outermost object, overriding any pre-included id"? + +which is basically the current behavior and imo where the implicit-create is meant to be applied... basically normalizing everything to an activity (assuming Create by default) + +so without the implicit-create behavior, you would basically POST a note or whatever to your outbox in order to assign it an id, and it would be delivered as-is without the Create. the outbox wouldn't contain only activities, it would also contain objects. this kind of makes the Create itself redundant and unnecessary, i guess? or in other words, you need to define what Create means in terms other than id assignment. this is kind of a problem because right now, Create has "surprisingly few side effects" (read: basically none) + +otherwise you explicitly format every POST as a Create but you have unspecified behavior for id generation of the inner object + +maybe sending a Create C2S does nothing with the inner object, but the side effect should be to assign/register the object on the receiving S2S server? \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/Follow.md b/wiki.hugo/content/tech/spec/activitypub/Follow.md new file mode 100644 index 0000000..3476e80 --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/Follow.md @@ -0,0 +1,46 @@ ++++ ++++ + +## what Follow is ideally like in theory + +- you send a Follow +- they send you an Accept Follow as a courtesy, and Add you to their `followers` +- you receive the Accept Follow and take it as a signal to Add them to your `following` (perhaps you can even show the Accept Follow as proof of this, if it was signed!) + +## what Follow is actually like in practice + +sharedInbox exists, and known follow relationships are used to calculate visibility on the receiving end (instead of relying on direct delivery). so now that Accept Follow actually matters... it's not just a courtesy anymore. + +because of this, Follows are realistically transient requests to update state. it is therefore enough to keep track of local state, then mutate state based on activities. + +### removing followers + +ideally, it should be possible to remove a follower without notifying them. notifying them could still be done as a courtesy, perhaps with Remove targeting your followers collection. + +in practice, mastodon first decided that they would send Undo Accept Follow, to undo the original acceptance of the follow request. this was soon after deemed to be too complex, and so mastodon settled upon sending a Reject Follow at any point after the original Accept Follow, which would be handled the same regardless of whether the Follow was ever accepted or not. the side effects of a Reject Follow in mastodon protocol are to destroy the follow request or follow relationship, with no regard to which one it actually is. + +## business logic + +if you receive an Accept/Reject Follow, check ONLY for the following: + +- actor +- type == Accept/Reject +- object.actor == (you) +- object.type == Follow +- object.object == actor + +in case of an Accept Follow, check that you have a local pending follow request. if you do not have a pending follow, then DO NOT process an incoming Accept Follow. + +in case of a Reject Follow at any time, destroy any existing follow relationship, regardless of whether it was previously Accepted or not. note that you may also receive an Undo Accept Follow by some implementations. this is discouraged but should be handled as well + +in either case, this is an idempotent action. the only id that matters is the outermost activity. if object is inlined, you don't need to check that object.id is local. the above is enough information to handle the activity. + +### resyncing follow state + +if you receive a Follow from someone you already Accepted, then send another Accept Follow to remind them. in practice, this usually means a state desync or database loss. + +### what happens if you ignore this guidance + +state desync, you think you removed a follower but you didn't. you send a post to sharedInbox and the remote server might end up showing it to someone you thought you removed successfully! and indeed, on your end, they were removed successfully. but the remote server doesn't know or care what your local state is -- it only cares for its own state. + + \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/_index.md b/wiki.hugo/content/tech/spec/activitypub/_index.md new file mode 100644 index 0000000..f448667 --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/_index.md @@ -0,0 +1,18 @@ ++++ +title = "activitypub" ++++ + +shortcomings +: things that suck about the spec. could be improved by a new spec. + +confusion +: things that need clarification. could be improved by a rewrite. + +gotchas +: mistakes that implementations have made. could be improved by more guidance. + +ideas +: things that could reasonably be implemented + +extensions +: things not defined in activitypub proper \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/_json-ld.md b/wiki.hugo/content/tech/spec/activitypub/_json-ld.md new file mode 100644 index 0000000..42d30b1 --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/_json-ld.md @@ -0,0 +1,366 @@ ++++ +autonumbering = true ++++ + +# everything you need to know about JSON-LD as far as activitypub is concerned + +{{}} + +## IRIs + +basically just URI+. the i stands for "internationalized" + +## the playground + + is a good way to get a better understanding of stuff + +## json-ld keywords + +there are [a lot](https://www.w3.org/TR/json-ld11/#syntax-tokens-and-keywords "no, seriously") but we only really care about @id and @context really (and sometimes @type) + +### @id + +the identifier for a json-ld node. by "node" we mean like a node on a graph. typically this is an iri, and dereferencing the iri should give us that node. + +### @context + +basically a way to map shorthand names ("terms") to a full iri, or sometimes to a keyword. you can also define iris or compact iris using a json object that represents the expanded definition. + +in short: +- terms (`foo`) map to iris (`https://example.com/foo`), compact iris (`ex:foo`), or keywords (`@foo`) +- iris (whether full like `https://example.com/foo` or compact like `ex:foo`) map to expanded definitions (a json object with only keywords inside) + +#### namespacing + +the benefit of the context definition is that we can namespace different json-ld terms based on which vocabulary they came from + +the activitystreams namespace (or base iri, if you will) is `https://www.w3.org/ns/activitystreams#` because this is what all activitystreams vocab terms begin with + +- consider the `actor` property, whose full iri is actually `https://www.w3.org/ns/activitystreams#actor` +- similarly, consider the `Public` collection, whose full iri is `https://www.w3.org/ns/activitystreams#Public` +- ...and so on + +we can also map some arbitrary string ("term") to the base iri. the activitystreams context by default uses `as` => `https://www.w3.org/ns/activitystreams#`. so instead of typing out the base iri every single time, we can instead type the *shorthand* prefix `as:`, or in other words, `as:actor` or `as:Public`, to get what is known as a "compact IRI" + +note once again the equivalencies: + +- `actor` == `as:actor` == `https://www.w3.org/ns/activitystreams#actor` +- `Public` == `as:Public` == `https://www.w3.org/ns/activitystreams#Public` +- ...and so on + +## the three ways to normalize you should be familiar with + +let's do expansion, compaction, flattening of the following example document: + +```json +{ + "@context": [ + "https://www.w3.org/ns/activitystreams", + { + "Hashtag": "as:Hashtag", + "toot": "https://joinmastodon.org/ns#", + "Emoji": "toot:Emoji" + } + ], + "id": "https://social.example/~alice/notes/1", + "type": "Note", + "content": "#HelloWorld :blobcatHug:", + "tag": [ + { + "type": "Hashtag", + "name": "#HelloWorld", + "href": "https://social.example/tags/HelloWorld" + }, + { + "type": "Emoji", + "name": "blobcatHug", + "icon": { + "type": "Image", + "mediaType": "image/png", + "url": "https://social.example/emojos/blobcatHug.png" + } + } + ] +} +``` + +and let's assume we only understand the following context: + +```json +{ + "@context": "https://www.w3.org/ns/activitystreams" +} +``` + +### expansion + +expansion works by taking the context and expanding every single term to its full iri form, and every single value into an array of objects with either a single @value (if the value before was a literal) or a single @id (if the value before was an iri) + +so if we expand the example document, we get this: + +```json +[ + { + "https://www.w3.org/ns/activitystreams#content": [ + { + "@value": "#HelloWorld :blobcatHug:" + } + ], + "@id": "https://social.example/~alice/notes/1", + "https://www.w3.org/ns/activitystreams#tag": [ + { + "https://www.w3.org/ns/activitystreams#href": [ + { + "@id": "https://social.example/tags/HelloWorld" + } + ], + "https://www.w3.org/ns/activitystreams#name": [ + { + "@value": "#HelloWorld" + } + ], + "@type": [ + "https://www.w3.org/ns/activitystreams#Hashtag" + ] + }, + { + "https://www.w3.org/ns/activitystreams#icon": [ + { + "https://www.w3.org/ns/activitystreams#mediaType": [ + { + "@value": "image/png" + } + ], + "@type": [ + "https://www.w3.org/ns/activitystreams#Image" + ], + "https://www.w3.org/ns/activitystreams#url": [ + { + "@id": "https://social.example/emojos/blobcatHug.png" + } + ] + } + ], + "https://www.w3.org/ns/activitystreams#name": [ + { + "@value": "blobcatHug" + } + ], + "@type": [ + "https://joinmastodon.org/ns#Emoji" + ] + } + ], + "@type": [ + "https://www.w3.org/ns/activitystreams#Note" + ] + } +] +``` + +the point of expansion is to end up with a document that is **completely unambiguous** and doesn't need a @context -- see how everything is expressed purely in terms of keywords, literals, and iris? no shorthands are used, so you know exactly what each term represents. + +note that some nodes have an `@id` and some have a `@value`. if you see a value then that is just a raw value (often just a string, but could be a boolean or a number). if you see an id then that is a link to some other document or resource. + +### compaction + +compaction is similar to expansion but it keeps values collapsed. so again, you end up with full iris, but you don't have to deal with keywords everywhere other than @id (which sticks around bc any iri represents a node and not just a value) + +note that you can compact against a blank @context or supply your own @context. + +if you compact against a blank @context, you'll get everything as a full iri: + +```json +{ + "@id": "https://social.example/~alice/notes/1", + "@type": "https://www.w3.org/ns/activitystreams#Note", + "https://www.w3.org/ns/activitystreams#content": "#HelloWorld :blobcatHug:", + "https://www.w3.org/ns/activitystreams#tag": [ + { + "@type": "https://www.w3.org/ns/activitystreams#Hashtag", + "https://www.w3.org/ns/activitystreams#href": { + "@id": "https://social.example/tags/HelloWorld" + }, + "https://www.w3.org/ns/activitystreams#name": "#HelloWorld" + }, + { + "@type": "https://joinmastodon.org/ns#Emoji", + "https://www.w3.org/ns/activitystreams#icon": { + "@type": "https://www.w3.org/ns/activitystreams#Image", + "https://www.w3.org/ns/activitystreams#mediaType": "image/png", + "https://www.w3.org/ns/activitystreams#url": { + "@id": "https://social.example/emojos/blobcatHug.png" + } + }, + "https://www.w3.org/ns/activitystreams#name": "blobcatHug" + } + ] +} +``` + +but if you compact against whatever @context you understand, you will end up with shorthands for everything you understand and leave the full iris only for the stuff you *don't* understand. so again assuming we only understand the activitystreams context: + +```json +{ + "@context": "https://www.w3.org/ns/activitystreams", + "id": "https://social.example/~alice/notes/1", + "type": "Note", + "content": "#HelloWorld :blobcatHug:", + "tag": [ + { + "type": "as:Hashtag", + "href": "https://social.example/tags/HelloWorld", + "name": "#HelloWorld" + }, + { + "type": "https://joinmastodon.org/ns#Emoji", + "icon": { + "type": "Image", + "mediaType": "image/png", + "url": "https://social.example/emojos/blobcatHug.png" + }, + "name": "blobcatHug" + } + ] +} +``` + +note that this basically matches the input, **except** because we didn't compact against the extension vocab terms, we have a few namespaced terms to grapple with: + +- `as:Hashtag` is left in there because it's not actually part of the activitystreams namespace. it was a proposed extension, but the context document was never updated to include it. this is why pretty much all existing impls currently include it as an extension term in their supplied @context. + - note the `as:` namespace was maintained here because `as:` is defined within the activitystreams context document as a convenient shorthand for `https://www.w3.org/ns/activitystreams#` as discussed in [above sections](#namespacing) +- `https://joinmastodon.org/ns#Emoji` was left completely uncompacted because we didn't pass in the joinmastodon namespace at all when compacting +- note that `as:id` is just an alias for json-ld's @id keyword, and `as:type` is likewise just an alias for json-ld's @type keyword + +in summary, compaction is good for **simplifying the document based on what you know** -- worst case scenario, you have no @context and you can just parse for full iris (in a manner somewhat more efficient than parsing the expanded form). best case scenario, you have a @context that lets you parse for shorthand terms of your own choosing, and everything else is shortened only as much as possible (so you can generally ignore anything you don't understand, right?) + +### flattening + +similar to compaction, except you can flatten the document into a single @graph which contains a flat list of nodes. + +flattening against no @context: + +```json +{ + "@graph": [ + { + "@id": "_:b0", + "@type": "https://www.w3.org/ns/activitystreams#Hashtag", + "https://www.w3.org/ns/activitystreams#href": { + "@id": "https://social.example/tags/HelloWorld" + }, + "https://www.w3.org/ns/activitystreams#name": "#HelloWorld" + }, + { + "@id": "_:b1", + "@type": "https://joinmastodon.org/ns#Emoji", + "https://www.w3.org/ns/activitystreams#icon": { + "@id": "_:b2" + }, + "https://www.w3.org/ns/activitystreams#name": "blobcatHug" + }, + { + "@id": "_:b2", + "@type": "https://www.w3.org/ns/activitystreams#Image", + "https://www.w3.org/ns/activitystreams#mediaType": "image/png", + "https://www.w3.org/ns/activitystreams#url": { + "@id": "https://social.example/emojos/blobcatHug.png" + } + }, + { + "@id": "https://social.example/~alice/notes/1", + "@type": "https://www.w3.org/ns/activitystreams#Note", + "https://www.w3.org/ns/activitystreams#content": "#HelloWorld :blobcatHug:", + "https://www.w3.org/ns/activitystreams#tag": [ + { + "@id": "_:b0" + }, + { + "@id": "_:b1" + } + ] + } + ] +} +``` + +flattening against our understood @context of only activitystreams: + +```json +{ + "@context": "https://www.w3.org/ns/activitystreams", + "@graph": [ + { + "id": "_:b0", + "type": "as:Hashtag", + "href": "https://social.example/tags/HelloWorld", + "name": "#HelloWorld" + }, + { + "id": "_:b1", + "type": "https://joinmastodon.org/ns#Emoji", + "icon": "_:b2", + "name": "blobcatHug" + }, + { + "id": "_:b2", + "type": "Image", + "mediaType": "image/png", + "url": "https://social.example/emojos/blobcatHug.png" + }, + { + "id": "https://social.example/~alice/notes/1", + "type": "Note", + "content": "#HelloWorld :blobcatHug:", + "tag": [ + "_:b0", + "_:b1" + ] + } + ] +} +``` + +notice that the nodes that didn't have an id previously have now been assigned what is called a *blank node identifier* -- essentially an @id without a namespace and with a randomly generated identifier. + +the idea is that you can **parse the @graph and then filter that list by @id to obtain any relevant node** -- no worrying about nesting or otherwise having to deal with structure. for example, we receive `https://social.example/~alice/notes/1` and flatten it against our @context to get a list of nodes, which we filter for the given @id `https://social.example/~alice/notes/1`, and we can see that this node refers to `_:b0` and `_:b1` within the tag property + +## conclusion + +that's pretty much it tbh + +NOTE: activitystreams-core requires that for any serialized as2 document, + +- you MUST compact against the activitystreams @context +- you MAY compact against additional contexts +- you MUST NOT override the activitystreams context + +additionally if you encounter a document with `application/activity+json` mime-type then you MUST assume the activitystreams context if it is missing + +## further reading + +[JSON-LD 1.1 -- § 3.2 IRIs](https://www.w3.org/TR/json-ld11/#iris) + +> An IRI is defined in [RFC3987] as containing a scheme along with path and optional query and fragment segments. A relative IRI reference is an IRI that is relative to some other IRI. In JSON-LD, with exceptions that are as described below, all relative IRI references are resolved relative to the base IRI. + +> While it is a good practice for resource identifiers to be dereferenceable, sometimes this is not practical. In particular, note the [URN] scheme for Uniform Resource Names, such as UUID. An example UUID is urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6. + +[JSON-LD 1.1 -- § 3.1 The Context](https://www.w3.org/TR/json-ld11/#the-context) + +> Simply speaking, a context is used to map terms to IRIs. Terms are case sensitive and most valid strings that are not reserved JSON-LD keywords can be used as a term. Exceptions are the empty string "" and strings that have the form of a keyword (i.e., starting with "@" + +> Contexts can either be directly embedded into the document (an embedded context) or be referenced using a URL. Assuming the context document in the previous example can be retrieved at https://json-ld.org/contexts/person.jsonld, it can be referenced by adding a single line and allows a JSON-LD document to be expressed much more concisely + +[JSON-LD 1.1 -- § 5.1 Expanded Document Form](https://www.w3.org/TR/json-ld11/#expanded-document-form) + +> Expansion is the process of taking a JSON-LD document and applying a context such that all IRIs, types, and values are expanded so that the @context is no longer necessary. + +[JSON-LD 1.1 -- § 5.2 Compacted Document Form](https://www.w3.org/TR/json-ld11/#compacted-document-form) + +> Compaction is the process of applying a developer-supplied context to shorten IRIs to terms or compact IRIs and JSON-LD values expressed in expanded form to simple values such as strings or numbers. Often this makes it simpler to work with document as the data is expressed in application-specific terms. Compacted documents are also typically easier to read for humans. + +> The purpose of compaction is to apply the term definitions, vocabulary mapping, default language, and base IRI to an existing JSON-LD document to cause it to be represented in a form that is tailored to the use of the JSON-LD document directly as JSON. + +[JSON-LD 1.1 -- § 5.3 Flattened Document Form](https://www.w3.org/TR/json-ld11/#flattened-document-form) + +> Flattening collects all properties of a node in a single map and labels all blank nodes with blank node identifiers. This ensures a shape of the data and consequently may drastically simplify the code required to process JSON-LD in certain applications. \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/_requirements.md b/wiki.hugo/content/tech/spec/activitypub/_requirements.md new file mode 100644 index 0000000..d48e110 --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/_requirements.md @@ -0,0 +1,272 @@ ++++ +title = "understanding activitypub as a set of normative requirements and recommendations" +toc = true +autonumbering = true ++++ + +## what is activitypub + +in the simplest terms? "email for websites". you POST to inbox or outbox. the serialization of messages is activitystreams 2.0 (as2), and certain activities have defined side-effects when received in the inbox or outbox. client-to-server (c2s) uses the outbox, and server-to-server (s2s) uses the inbox. + +### theoretical foundation for activitypub + +- actor model. an actor is something that is programmed to behave in a certain way. +- message passing. the way actors communicate is to pass messages around, which are handled according to local procedures programmed into the actor. +- ontology. the nature of being. this is done with a resource description framework (RDF) where you have a set of statements (facts) about each resource. +- open world assumption. in logic systems, facts are not necessarily known by everyone. + +## activitystreams 2.0 as a foundation for activitypub + +AS2 documents represent resources and are described with properties. JSON-LD is used as a serialization of RDF. + +### requirements + +technical: + +- 2: empty arrays are explicitly set to `null` or excluded entirely +- 2: use UTF-8 +- 2.1: equivalent to JSON-LD compaction against `{"@context": "https://www.w3.org/ns/activitystreams"}` +- 2.1: do not override definitions from `https://www.w3.org/ns/activitystreams` +- 2.1: if `@context` is missing, assume or inject `https://www.w3.org/ns/activitystreams` +- 2.2: any international links (IRIs) should be converted to ascii (URIs) unless used as an `id` +- 2.3: datetimes use RFC3339, and use a "Z" if there is no timezone offset +- 4.1, 4.3, 4.4: if you use an extension type that overlaps with a core vocab type, do not exclude the core type from the `type` array [e.g. a vcard `Individual` should also explicitly be an as2 `Person`] +- 4.1: prefer as2 vocab when properties overlap [e.g. use as2 `name` instead of schema.org `name`] +- 4.2: Link `rel` must be valid in both RFC5988 and in HTML5 (registered or unregistered) +- 4.7: for language maps (`nameMap` /`summaryMap` / `contentMap`), every key is a well-formed BCP47 language tag, and every value is a string +- 4.7.2: properly handle bidirectional text +- 5: if you encounter something you don't understand, ignore it and continue processing as normal. do not stop or error. +- 5.1: if you want to support extensions, support compact iri expansion [i.e. `prefix:term` should be expanded according to the definition for `prefix`] for properties and `@id` values. +- 8.1: if using `application/activity+json; profile=""` then the list of profiles must be quoted [inside the double quotes]. `application/json` also still applies. +- 9.1: do not use deprecated as1 vocab. use as2 vocab. if you use other vocabs then also use as2 still. do not use json-ld algorithms other than compaction. use json-ld for extensions. + +non-technical / restatements: + +- 6, 7: tell your users when and why their personal info is needed/published. do not re-emit malicious input you consume [xss, etc] +- 9.2.1: conforming publishers make as2 documents following as2 serialization. consider privacy. consider security. +- 9.2.2: conforming consumers tolerate deprecated or obsolete as1 props. ignore props or types that aren't applicable to you. faithfully translate info when presenting on screen, in print, in audio, etc. consider privacy and security. +- B.2: `application/stream+json` or generic `application/json` is processed with old as1 rules. as2 only applies when using `application/activity+json` + + +### recommendations + +technical: + +- 1.2: do not use `displayName`, `verb`, `title`, or `objectType`. if encountered, process them using the deprecated AS1 syntax +- 2.1: include a `@context` property even if you don't process JSON-LD +- 2.2: do not use relative IRIs; plain json parsers have trouble with this +- 4.1, 4.3, 4.4: take care not to overlap or duplicate existing types +- 4.1.1: `name` is derived from user input. if not present, then `summary` should be plaintext and derived from user input, as well as being short enough to use as a reasonable text representation of the object +- 4.1.1: have a fallback strategy in case `name` and `summary` are missing or not available in your user's language or are too long +- 4.3: use vcard for describing Person, Group, Organization +- 4.6: if you wanna reconstruct a paged OrderedCollection, go to the first/last page and follow the next/prev links until all pages have been processed +- 4.6: OrderedCollection should use OrderedCollectionPage to maintain relative ordering +- 4.7.2: publishing bidirectional text should use explicit unicode control character or HTML +- 4.7.2: consumers should identify base direction of text +- 4.8: explicitly mark the language for natural language properties if the language is known (using either maps or default `@language` tag) +- 5: if you want to support extensions, use JSON-LD. define all extension term in `@context` +- 5.1: avoid compact IRIs except for property names and for types +- 5.2: if you use LD and reserialize an as2 document, preserve any properties/extensions you don't understand (by compacting against the original `@context` instead of your own) +- 8: consider `application/ld+json; profile="https://www.w3.org/ns/activitystreams"` as being equivalent to `application/activity+json` + +non-technical: + +- 6: limit sensitive personal info unless users "opt in" +- 6: do not store or share personal info unless users "opt in" +- 7: prevent spam and malicious content +- 7: do not publish malicious input from users +- 7: use rel=nofollow or convert links to plaintext to avoid SEO loopholes +- 7: be aware of spoofing attacks +- B: don't output AS1 unless you want to remain back-compatible +- B.9: avoid using `upstreamDuplicates` and `downstreamDuplicates` from AS1 +- B.10: if converting as1 to as2, treat `post` as `Create`, or if `target` is used, then treat it as `Add` + + +### optional + +- 2.1: @context extensions are allowed before compacting +- 2.1: using properties and values not defined in @context is fine but will likely be ignored by LD consumers +- 2.1: using http instead of https for the activitystreams uri +- 2.2: using uris instead of iris (since uris are valid iris) +- 2.3: omitting seconds from datetimes +- 4.1.1: not including `name` and `summary`, or having no explicit value in your current language, or being longer than appropriate for text representations +- 4.2: using Link `rel` that is not registered +- 4.6: using `OrderedCollection` to identify Collections whose items are ordered (since Collections may or may not be ordered) +- 4.6.1: using `OrderedCollectionPage` for collection pages whose items are ordered. using `startIndex` on these. +- 4.7.1: using `@language` inside `@context` to define default language. (this might not be understood by non-LD-aware consumers) +- 4.7.2: using bidirectional text. having the base direction change. wrapping additional control characters before display. +- 7: consider spam and malicious content +- 7: convert untrusted links to plaintext or add `rel=nofollow` +- 9.2.2: republish or present any consumed document in another format or presentation mechanism +- B.9: using `upstreamDuplicates` and `downstreamDuplicates` from AS1 + +## as2 vocab + +### requirements + +- 1: be able to serialize and deserialize all extended properties even if you don't understand them +- 1.1: all `xsd:datetime` MUST conform to rules in AS2 (RFC3339) +- 3: avoid using extensions that heavily overlap with or duplicate the as2 vocab +- Question: MUST NOT have both `anyOf` and `oneOf` +- name: MUST NOT include HTML markup +- duration: MUST be xsd:duration as defined by xmlschema (e.g. `P15D`, `PT2H`, etc) +- hreflang: MUST be a BCP47 language tag +- rel: MUST conform to both RFC5988 and HTML5 (cannot contain space, tab, LF, FF, CR, or comma) +- 5.1: remove `bto` and `bcc` before redistributing. they are part of the primary/secondary audience, but not disclosed to anyone else. +- Place: (non-normative) MUST support `name` `longitude` `latitude` `radius` `altitude` `accuracy` even if other mechanisms are used. [you don't have to use all of them but you have to support all of them] + +### recommendations + +- icon: has a square (1:1) aspect ratio and is suitable for presentation at small sizes +- 5.1: leave `to` and `cc` intact if redistributing an object +- 5.6: (non-normative) don't require parsing `name`/`summary`/`content` to determine notification, categorization, or linking. use vocab explicitly for this purpose [e.g. use `to` or `tag` instead of depending on text containing `@sally` or `#givingthanks`] +- 5.6: the primary audience in `to` receives notifications + +### optional + +- Question: use `anyOf` or `oneOf` to express possible answers +- type: multiple values can be specified +- actor: could be an indirect Link, could have multiple values +- content, name, summary: can use multiple language-tagged values in a map (`contentMap`, etc) +- 5.1: use `to`, `cc`, `bto`, `bcc` as explicit primary and secondary audiences. use `bto` and `bcc` for privately targeting. +- 5.2: reuse existing vocabularies for describing relationships, such as FOAF or Relationship vocabs, or create your own +- 5.3: (non-normative) using other mechanisms for describing locations other than `Place` +- 5.6: (non-normative) using microsyntaxes within `content`, `name`, `summary` +- 5.2.1: (non-normative) using `result` to include side effects of `Accept` +- 5.2.1: (non-normative) using `context` to relate activities back to a common reference point and efficiently group related activities together for display or analysis + + +## activitypub + +2.1 describes profiles for c2s "social API" and s2s "federation protocol". a conformant Client does all c2s, a conformant Server does all c2s, a conformant Federated Server does s2s + +activitypub follows as2-core and as2-vocab "core classes" of Object/Link/Activity/Collection/etc + +### requirements + +- 3.1: persistent distributed objects have unique global `id` +- 3.1: use `id` in s2s for persistent distributed objects +- 3.2: c2s Servers present AS2 in response to `application/ld+json; profile="https://www.w3.org/ns/activitystreams"` +- 3.3: Clients specify `Accept: application/ld+json; profile="https://www.w3.org/ns/activitystreams"` +- 4.1: actors have `inbox` and `outbox` +- 4.1: dereferencing `sharedInbox` only includes Public activities +- 5: OrderedCollection is reverse chronological (newer items first) +- 5.1: `outbox` is an `OrderedCollection` +- 5.2: `inbox` is an `OrderedCollection` +- 5.2: Server deduplicates activities in inbox. (duplication might happen when an activity is addressed to a follower both implicitly via collection and explicitly via direct id.) dedupe by `id` and drop any existing activities +- 5.3: `followers` is `OrderedCollection` or `Collection` (if present) +- 5.4: `following` is `OrderedCollection` or `Collection` (if present) +- 5.5: `liked` is `OrderedCollection` or `Collection` (if present) +- 5.6: do not attempt to POST to `Public` +- 5.7: `likes` is `OrderedCollection` or `Collection` (if present) +- 5.8: `shares` is `OrderedCollection` or `Collection` (if present) +- 6: Clients discover your `outbox` and HTTP POST with `Content-Type: application/ld+json; profile="https://www.w3.org/ns/activitystreams"` using authentication with your credentials. the body is a single Activity or a single non-Activity object that will be wrapped in a Create +- 6: c2s Servers ignore any Client-provided `id` and generate their own +- 6: c2s Servers return 201 Created with `Location: ` header +- 6: c2s Servers remove `bto`/`bcc` before delivery but after calculating recipients for delivery +- 6: c2s Servers must add this Activity to the `outbox` collection [at least until side effects are processed] +- 6.1, 7.1.1: Clients be aware that Servers will only deliver to `to`, `cc`, `bto`, `bcc`, `audience` +- 6.1: Clients provide `object` for Create, Update, Delete, Follow, Add, Remove, Like, Block, Undo. provide `target` for Add, Remove. +- 6.2.1: wrap valid objects that aren't Activities in a Create. assign `id` to both the Object and the Create (unless transient). copy over `to`, `cc`, `bto`, `bcc`, `audience` from the wrapped object into the wrapping Create. return the id of the Create, not the object. [the object id is available via `object.id`] +- 6.3: c2s Update modifies the `object` if the actor has permission +- 6.10: c2s Undo has `Undo.actor` == `Undo.object.actor` +- 6.11: c2s Server that is also s2s Federated Server follows 7.1.1 outbox delivery +- 7: POST inbox has `Content-Type: application/ld+json; profile="https://www.w3.org/ns/activitystreams"` +- 7: GET has `Accept: application/ld+json; profile="https://www.w3.org/ns/activitystreams"` +- 7: s2s Servers provide `object` for Create, Update, Delete, Follow, Add, Remove, Like, Block, Undo. provide `target` for Add, Remove. +- 7.1: s2s Servers that deliver to Collection MUST dereference the collection with the user's credentials [[how do they have this???]] and discover inboxes for each item in the collection. limit layers of indirection through additional Collections inside Collections +- 7.1: dedupe the final recipient list +- 7.1: exclude `actor` from the final list (i.e. don't deliver to yourself) +- 7.1.2: inbox forward to `to`, `cc`, `audience` iff first time seeing + value of `to`, `cc`, `audience` is a Collection owned by the server + `inReplyTo`, `object`, `target`, `tag` are owned by the server. don't pick up any new addressees outside of `to`, `cc`, `audience` +- 7.1.3: delivery to `sharedInbox` still delivers to `inbox` for actors that don't have a `sharedInbox` +- 7.3: ensure s2s Update is authorized to modify `object` (at minimum by applying same-origin check) +- 7.5, 7.7: Reject Follow MUST NOT add actor to followers collection + +### recommendations + +- 3: include activitystreams @context +- 3: validate anything you receive to avoid spoofing (exact mechanism is out-of-scope, but if it is resolvable then you can fetch the `id`) +- 3.1: use HTTPS `id` for public content +- 3.1: allocate `id` in actor's namespace +- 3.2: present AS2 in response to `application/activity+json` +- 3.2: authorization checks fail with an appropriate HTTP error code (at least 403 if private) +- 3.3: Clients warn users if editing will overwrite `source` +- 4: normalize `id` when entered in ui or login form. URIs are used directly, and if normalization fails, consider it invalid. dereference the actor URI once identified +- 4.1, 5.3, 5.4: actors have `following`, `followers` +- 4.1: `sharedInbox` is a publicly readable `OrderedCollection` containing Public addressed activities +- 5: don't use "last updated" timestamp to order items in an OrderedCollection (bc it changes too much) +- 5.1: unauthenticated requests to `outbox` return all Public posts +- 5.2: filter `inbox` according to requester permissions +- 5.2: if you don't support s2s Federated Server profile, then respond to POST inbox with 405 Not Allowed +- 5.6: plain JSON consumers, be aware of equivalence of Public, as:Public, etc +- 6: POST to outbox which doesn't support c2s Server should respond with 405 Not Allowed +- 6: respect HTTP caching for Clients and Servers +- 6.1: consider `actor`/`attributedTo` of `object`/`target`/`inReplyTo`/`tag[*]` for additional recipients. if you recurse through these, set a limit for recursion (without necessarily unpacking collections) +- 6.2: Create should copy `actor` to `object.attributedTo` +- 6.2: reconcile audiences on object and Create for initial distribution [although the object can be updated to have a different audience later] +- 6.2.1: return `Location: ` instead of id of object +- 6.3.1: c2s partial Update removes any property set to `null`. s2s Update is complete. +- 6.4: respond with 410 Gone if a Tombstone is presented, otherwise 404 +- 6.5: c2s Follow adds `Follow.object` to `Follow.actor.following` iff/when an Accept Follow is received +- 6.6, 6.7: c2s Add/Remove inserts/removes `object` to/from `target` unless `target` is not owned/authorized, or unless `object` is not allowed to be added/removed to `target` (at discretion of the c2s Server) +- 6.8: c2s Like adds `object` to `actor.liked` if present +- 6.9: c2s Block prevents `object` from interacting with any `object.attributedTo == Block.actor` or `actor == Block.actor` +- 6.9: c2s Block is not delivered to `object` +- 6.10: c2s Undo will undo any side effects (e.g. Like, Follow, Block) to the extent possible [e.g. Undo Like will remove the Like from the `likes` collection and decrement the `totalItems` counter] +- 6.10: don't use c2s Undo where an "inverse activity" exists, e.g. Create->Delete or Add->Remove +- 7: any persistent distributed activity SHOULD have an `id` +- 7: s2s Federated Servers interpret a `Content-Type` or `Accept` header of `application/activity+json` as equivalent to `application/ld+json; profile="https://www.w3.org/ns/activitystreams"` +- 7: respect HTTP caching for Federated Servers +- 7.1: s2s POST to inbox returns 405 Not Allowed if not an s2s Federated Server +- 7.1: use async for delivery +- 7.1: retry delivery after network failure +- 7.1: in inbox forwarding, recurse through `inReplyTo`, `object`, `target`, `tag` (with a max recursion limit) to look for "linked objects owned by the server" [this is presented in context of "getting updates that ... involve the recipient", but i can't see this being useful when we have explicit audience/addressing, except maybe for notification policies?] +- 7.2: s2s Create appears in `inbox` +- 7.3: s2s Update replaces copy of `id == object.id` with new repr +- 7.4: s2s Delete removes copy of `id == object.id` +- 7.5: s2s Follow generates either Accept/Reject Follow delivered to `actor`. upon [sending] Accept, add the `Follow.actor` to `actor.followers` collection +- 7.6: s2s Accept Follow (where the `Follow` is one you previously sent) adds `Accept.actor` to `Follow.actor.following` +- 7.8, 7.9: s2s Add/Remove adds/removes the `object` to/from `target` unless `target` isn't owned by you(r server) or unless `object` cannot be added/removed to `target` for some other reason (at receiver's discretion) +- 7.10: s2s Like gets added to `object.likes` if present +- 7.11: s2s Announce gets added to `object.shares` if present +- A: use internationalization tooling whenever possible [i.e. setting `@language` or using map properties if a language is defined or detected] +- B.2: (non-normative) Servers do not trust Client content, and Federated Servers do not trust other Federated Servers without verification or same-origin policy. be careful to verify attribution and write permissions. +- B.4: (non-normative) check how your URI handling library handles things like `file://` and consider whitelisting only `http`/`https`/etc as needed +- B.5: (non-normative) set a limit on recursion to avoid DoS +- B.7: (non-normative) implement protections against DoS from other Federated Servers, such as rate limiting. be especially careful whenever there are side effects to activities. do not overload other Federates Servers with activities (e.g. use exponential backoff strategy) +- B.8: (non-normative) rate limit Client submissions in order to prevent DoS of Server and also to ensure it does not propagate a DoS to Federated Servers +- B.9: (non-normative) limit the size of Collection pages when requested by Clients. Clients should also prepare to self-limit by e.g. timing out or erroring if they connect to a malicious Server that serves oversized collections +- B.11: (non-normative) omit `bto` and `bcc` when displaying objects even if not delivered + +### optional + +- 2.1: servers may implement either c2s or s2s individually +- 3: include additional `@context` other than activitystreams +- 3.1: omit `id` from transient objects +- 3.2: dereference `id` with HTTP GET +- 3.2: servers MAY use content negotiation +- 3.2: support other behaviors such as additional protocols or HTML response +- 3.2: require authorization, and implement your own rules on top of B.1 +- 3.2: use 404 Not Found to not leak existence of private objects without authorization +- 4: clients normalize provided `id` by assuming a default scheme, preferably `https` +- 4.1, 5.5: actors have `liked` +- 4.1: actors have `streams`, `preferredUsername`, `endpoints`, `endpoints.proxyUrl`, `endpoints.oauthAuthorizationEndpoint`, `endpoints.oauthTokenEndpoint`, `endpoints.provideClientKey`, `endpoints.signClientKey`, `endpoints.sharedInbox` +- 5.3, 5.4, 5.5, 5.7: filter `followers`, `following`, `liked`, `likes`, `shares` based on authenticated user or unauthenticated request +- 5.6: `sharedInbox` is for public and followers-only posts +- 5.7: objects have `likes` +- 5.8: objects have `shares` +- 6: interpret C2S `application/activity+json` as equivalent to C2S `application/ld+json; profile="https://www.w3.org/ns/activitystreams"` when used as `Accept` or `Content-Type` +- 6: activities POSTed to c2s outbox can contain embedded objects +- 6: c2s Servers carry out side effects, and the activity might appear later or disappear at any time from outbox +- 6.1: Clients MAY get inbox from additional recipients, MAY recurse through attached objects, MAY allow users to amend their addressing to include these recipients +- 6.4: c2s Server MAY take a `Delete` and replace the `object` with a `Tombstone` +- 6.12: (non-normative) support uploading media using some out-of-scope mechanism +- 7: s2s transient activities can omit `id` +- 7.1: limit indirection of Collection -> Actor to one layer +- 7.1.2: filter inbox forwarding delivery targets according to impl-specific rules like spam filtering +- 7.1.3: use `sharedInbox` to dedupe deliveries of Public activities or activities whose delivery will be determined by the receiving server +- 7.1.3: deliver Public activities to all known `sharedInbox` endpoints +- 7.3: apply same-origin check to `Update.id` and `Update.object.id` +- 7.4: replace `Delete.object` repr with a `Tombstone` +- 7.5: auto-generate Accept/Reject Follow, or require user input +- 7.5: do not send Reject Follow (though this might leave the server in an intermediate state) \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/actor.md b/wiki.hugo/content/tech/spec/activitypub/actor.md new file mode 100644 index 0000000..dab6697 --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/actor.md @@ -0,0 +1,101 @@ ++++ ++++ +# Actor + +an actor is just something that has `inbox` and `outbox`. it represents an entity that can perform activities. + +{{}} + +## implementations + +### mastodon + +mastodon only understands Person / Group / Organization / Application / Service due to being overly strict -- [mastodon/mastodon#22322](https://github.com/mastodon/mastodon/issues/22322) + +### pleroma + +ostensibly pleroma is also limited in the same way? https://git.pleroma.social/pleroma/pleroma/-/blob/develop/lib/pleroma/constants.ex#L57 + +other references in code: + +- admin api param `actor_types` only takes Person Service Application https://git.pleroma.social/pleroma/pleroma/-/blob/develop/docs/development/API/admin_api.md#L25 + +- Pleroma.Object.Containment#get_actor filters against Person Service Application https://git.pleroma.social/pleroma/pleroma/-/blob/develop/lib/pleroma/object/containment.ex#L22 + +- Pleroma.Web.ActivityPub.ActivityPub#maybe_update_follow_information checks that user type against Person Service https://git.pleroma.social/pleroma/pleroma/-/blob/develop/lib/pleroma/web/activity_pub/activity_pub.ex#L1608 + +- SimplePolicy checks for Application Group Organization Person Service https://git.pleroma.social/pleroma/pleroma/-/blob/develop/lib/pleroma/web/activity_pub/mrf/simple_policy.ex#L230 + +- openapi spec schema defines enum Application Group Organization Person Service https://git.pleroma.social/pleroma/pleroma/-/blob/develop/lib/pleroma/web/api_spec/schemas/actor_type.ex#L11 + +### misskey + +the isActor check only validates if one of the five types + +the interface requires `inbox`, `outbox` so that's fine, it should just drop the `type` hardcoded check + +https://github.com/misskey-dev/misskey/blob/22ccb0fa716a84560c8599781647baaaeb8e80bd/packages/backend/src/core/activitypub/type.ts#L150-L176 + +```js +export const validActor = ['Person', 'Service', 'Group', 'Organization', 'Application']; + + +export const isActor = (object: IObject): object is IActor => + validActor.includes(getApType(object)); + + +export interface IActor extends IObject { + type: 'Person' | 'Service' | 'Organization' | 'Group' | 'Application'; + name?: string; + preferredUsername?: string; + manuallyApprovesFollowers?: boolean; + discoverable?: boolean; + inbox: string; + sharedInbox?: string; // 後方互換性のため + publicKey?: { + id: string; + publicKeyPem: string; + }; + followers?: string | ICollection | IOrderedCollection; + following?: string | ICollection | IOrderedCollection; + featured?: string | IOrderedCollection; + outbox: string | IOrderedCollection; + endpoints?: { + sharedInbox?: string; + }; + 'vcard:bday'?: string; + 'vcard:Address'?: string; +} +``` + +### gotosocial + +https://github.com/superseriousbusiness/gotosocial/blob/d445c60a26e7f51f6d742e992d15cb5fabe2100c/internal/federation/dereferencing/account.go#L412-L478 + +seems to have a switch-case for Application Group Organization Person Service, but the comment above dereferenceAccountable() says this only (currently?) works for Person Application Service + +### peertube + +https://github.com/Chocobozzz/PeerTube/blob/develop/shared/models/activitypub/activitypub-actor.ts + +seems to have required fields `type` `id` `following` `followers` `inbox` `outbox` `preferredUsername` `url` `name` `endpoints.sharedInbox` `summary` `attributedTo` `publicKey` `publicKey.id` `publicKey.owner` `publicKey.publicKeyPem` [whew that's a lot!] + +other code spots: + +https://github.com/Chocobozzz/PeerTube/blob/5070a9956052ed494077bb5e308eedd13e964799/server/helpers/custom-validators/activitypub/actor.ts + +sanitizeAndCheckActorObject() does the following: + +- actor exists +- id is valid AP url +- inbox is valid AP url +- preferredUsername is valid +- url is valid AP url +- publicKey is valid public key object +- endpoints is valid endpoints object +- either no outbox, or outbox is valid AP url +- either no following, or following is valid AP url +- either no followers, or followers is valid AP url +- set valid attributedTo +- set valid description [summary???] +- either type is not Group, or [if type is Group] then attributedTo has at least 1 item \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/audience.md b/wiki.hugo/content/tech/spec/activitypub/audience.md new file mode 100644 index 0000000..696db09 --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/audience.md @@ -0,0 +1,81 @@ ++++ ++++ + +## what is an "audience" generally + +https://github.com/w3c/activitystreams/issues/18 + +> elf-pavlik: what we consider an audience? other people, groups, circles, lists of contacts … + +> jasnell: Any of these. This is intentionally left open. + +## `audience` used to be `scope` + +https://github.com/w3c/activitystreams/issues/300 + +> The `scope` indicates that the audience for the note is only members of the Organization. +> The `to` indicates specific people who should be actively notified. +> The `context` indicates a larger context within which the note exists. + +so at the very least we can surmise the following points: + +- “to” should actively notify specific actors + - implying that “cc” should passively notify specific actors? or not notify them, just deliver to them? +- “context” is as we already understand it, a purposeful grouping within which the object exists +- “scope” (later “audience”) is some kind of indication of something + +> To be clear: `scope` is not access control… it is closely related to `to`/`bto`/`cc`/`bcc` in that **a consuming implementation can use it to determine who it ought to display the content to**. So, for instance, given the note example above, a consuming implementation may include the note on the activity timeline of anyone associated with the ‘My Employer’ organization, but it would only activity notify two individuals listed by the to property. The `context` property, on the other hand, has absolutely nothing to do with audience targeting. The above note is essentially saying, “This is a note that was created in relation to A Project. Make the note available to anyone in the My Employer organization but specifically notify John and Sally” + +> `scope` is **advisory as to the publishers intent of whose attention they want to draw to the object**. A consuming application may use the scope/to/bto/cc/bcc to determine it’s access control policy if it wishes, but is not required to do so. + +> In the example, a consuming provider could still choose to allow `anyone` to see the note, but only **actively include the note on the activity streams of** people in the company. + +> `scope` could be renamed to `audience` + +https://github.com/w3c/activitystreams/issues/238#issuecomment-153408442 + +> In the AS2 vocabulary, there is a `scope` property that is used generally to identify the audience. **The targeting properties `to`, `bto`, `cc` and `bcc` indicate the audience subsets** within that identified scope. The `context` is really intended to allow objects and activities to be logically grouped. For instance, in an enterprise setting, the context may group activities by project while the scope would identify one or more teams for which the activity is considered relevant, while **the to/cc fields are used to indicate specific individuals to notify**. + +## synthesis time + +https://socialhub.activitypub.rocks/t/overlapping-taxonomies-and-the-audience-property/4229/11 + +i think the use of `audience` is basically “here’s everybody that can/should see this in a feed”. whereas `to` and `cc` are for notification policies (with `to` being intended to actively generate a notification). delivery happens for all of them, but after delivery, the consuming application needs to reconstruct possible intentions. + +BUT + +this doesn’t chime with the current usage by mastodon et al. with mastodon, [audience is generally ignored, only to and cc are considered](https://github.com/mastodon/mastodon/blob/1959365c2f410aa82874c5c05ab92c4eca4c4055/app/lib/activitypub/activity/create.rb#L139), and notifications are instead determined by the presence of a Mention in the tag array. (which imo shouldn’t generate a notification at all? you should be able to mention someone passively if desired.) + +so we have the intended ideal of audience being used for delivering to, well, audience… and to/cc for generating active/passive notifications. but instead, we have a situation where to/cc are used for delivering to an audience, and Mention tags are used for generating notifications (and audience is ignored). + +If we want to have a compatible migration path forward, then for now: + +- `to` should include anyone you want to notify +- `cc` should include everyone else you want to deliver to +- `audience` should include the sum total of both of these? (but if you want to support bto/bcc, then it realistically needs to be a private Collection) + - alternatively, `audience` should include any actors whose feeds / activity-streams should include this activity/object. (this still works out in practice to anyone mentioned, plus your followers, plus probably as:Public – which is likely the union of to and cc anyway) + +sample object/activity targeting for a basic (read: microblogging) use case: + +```yaml +content: "So here's what I have to say..." +inReplyTo: + - attributedTo: + content: "I said something." +to: [] # this should be interpreted as notifying john +cc: [as:Public, ] # this is interpreted as an "unlisted" post in mastodon parlance, and is necessary for delivery to mastodon currently +audience: [, as:Public, ] # this is interpreted as showing in john's home timeline, as well as your follower's home timelines, and also being accessible to anyone without authentication +``` + +so maybe the use of `audience` can address mastodon’s fears of showing “group” posts in home timelines? i know this is a big concern that mastodon brought up with their current groups PR, they very explicitly do not want group posts showing up in home timelines… perhaps some heuristic can be designed so that newer versions of mastodon can filter out posts from home timelines if someone is not included in `audience`? + +sample object/activity targeting for a more complex (read: forum/discussion) use case: + +```yaml +content: "synthesis time. i think the use of audience..." +context: +cc: [as:Public, ] +audience: [as:Public, , , ] +``` + +in this case because `` are not in `audience`, an updated/newer mastodon et al can know not to display this post in my followers’ home feeds. there’s still the sticking issue for mastodon in how they can get older, non-updated mastodon servers to drop the post, although i really think this is foolish, personally… you could still do it by using *only* `audience` and then older mastodon will drop the activity because it doesn’t understand the recipients. \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/confusion/Link-as-qualified-indirect-reference.md b/wiki.hugo/content/tech/spec/activitypub/confusion/Link-as-qualified-indirect-reference.md new file mode 100644 index 0000000..e8f59c7 --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/confusion/Link-as-qualified-indirect-reference.md @@ -0,0 +1,6 @@ ++++ ++++ + + + +what does it mean to address a Link? why are Link nodes allowed for collection paging properties...? \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/confusion/_index.md b/wiki.hugo/content/tech/spec/activitypub/confusion/_index.md new file mode 100644 index 0000000..f7ba421 --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/confusion/_index.md @@ -0,0 +1,2 @@ ++++ ++++ \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/confusion/accept-content-type.md b/wiki.hugo/content/tech/spec/activitypub/confusion/accept-content-type.md new file mode 100644 index 0000000..6b83a5d --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/confusion/accept-content-type.md @@ -0,0 +1,137 @@ ++++ +autonumbering = true ++++ + +# interpretation of request/response media types in as2/ap + +AS2-Core says + +> An Activity Streams Document is a JSON document whose root value is an Activity Streams Object of any type [...] and whose MIME media type is `application/activity+json` [...] Implementations SHOULD consider the `application/ld+json; profile="https://www.w3.org/ns/activitystreams"` media type as being equivalent to `application/activity+json`. + +AP says + +> POST requests (eg. to the inbox) MUST be made with a Content-Type of `application/ld+json; profile="https://www.w3.org/ns/activitystreams"` and GET requests with an Accept header of `application/ld+json; profile="https://www.w3.org/ns/activitystreams"`. Servers SHOULD interpret a Content-Type or Accept header of `application/activity+json` as equivalent + +> MUST present the ActivityStreams object representation in response to `application/ld+json; profile="https://www.w3.org/ns/activitystreams"`, and SHOULD also present the ActivityStreams representation in response to `application/activity+json` as well. The client MUST specify an Accept header with the `application/ld+json; profile="https://www.w3.org/ns/activitystreams"` media type in order to retrieve the activity + +basically as2 prefers activity+json while ap prefers ld+json with the activitystreams profile. ap is an extension to as2 so i guess ap takes precedence here... + +{{}} + +## conclusion A: request ld+json, respond activity+json? + +taken literally and strictly, i interpret it like so: + +- ap must request ld+json +- old as2 may request activity+json + +and on the response side: + +- return activity+json regardless of request type? since as2-core specifies that type for an "activity streams document" + - alternatively, return whatever type was requested. this is less likely to break expectations or otherwise false assumptions. + +## conclusion B: the semantics of json-ld profiles + +you could also interpret a semantic difference between the two? + +ld+json registration has 6 defined profiles: + +4 of these are the different forms of json-ld + +- `http://www.w3.org/ns/json-ld#expanded` to request or respond with data that has been expanded +- `http://www.w3.org/ns/json-ld#compacted` to request or respond with data that has been compacted +- `http://www.w3.org/ns/json-ld#flattened` to request or respond with data that has been flattened +- `http://www.w3.org/ns/json-ld#framed` to request or respond with data that has been framed + +there are also 2 utility profiles + +- `http://www.w3.org/ns/json-ld#frame` to request or respond with a frame (that can be applied to data) +- `http://www.w3.org/ns/json-ld#context` to request or respond with a context document + +so then, what is the activitystreams profile? it's not explicitly defined in either as2-core or in ap. but we can assume it has something to do with the extra restrictions and requirements that as2 adds on top of json-ld -- that the document must be compacted against the activitystreams context at minimum. + +### @context may be missing in activity+json? + +there's also this bit from as2-core: + +> When a JSON-LD enabled Activity Streams 2.0 implementation encounters a JSON document identified using the `application/activity+json` MIME media type, and that document does not contain a @context property whose value includes a reference to the normative Activity Streams 2.0 JSON-LD @context definition, the implementation MUST assume that the normative @context definition still applies. + +so basically ld-aware as2 implementations MUST inject the as2 context if it is missing from activity+json. but the reverse implication is what's interesting here -- activity+json means that context isn't required! + +also from as2-core: + +> Implementations producing Activity Streams 2.0 documents SHOULD include a @context property with a value that includes a reference to the normative Activity Streams 2.0 JSON-LD @context definition using the URL `https://www.w3.org/ns/activitystreams`. + +note that this is only a SHOULD. + +as2 author james snell explains further: + +> You can still use `application/ld+json` if you wish. The `application/activity+json` media type implies a very specific profile of JSON-LD -- that is, JSON-LD in compacted form using the normative context definition. When using `application/activity+json`, the context can be implicit if you're not using any extensions. + +further comments from the issue: + +> AS2 is not just JSON-LD, it's JSON-LD plus a number of additional constraints. The `application/activity+json` media type is used to indicate that those additional constraints are in effect. Yes, you can still treat it as straightforward JSON-LD, and yes, it's best if implementers make the @context explicit in order to maximize interoperability with existing JSON-LD stacks as well as performance, but when the document is served up as `application/activity+json`, there are certain assumptions that can be made. + +markus lanthaler concludes: + +>> Yes, you can still treat it as straightforward JSON-LD +> +> No, you can't if there's no explicit context. + +### supporting generic json-ld consumers is a choice + +it can be said that plain-json as2-native software may generate activity+json documents that are not compatible with json-ld. this gives as2 the dubious ability to be "json only". + +it can also be said that generic json-ld consumers may not recognize the activity+json type and may strictly require ld+json... although they shouldn't. but they might. + +so, the real problem is for generic json-ld software which has no idea what activitystreams is. to play nice with this kind of software, as2-core says you SHOULD include the as2 context. but this ends up being a choice because it's only a SHOULD and not a MUST. + +aside from that, the whole type debate is largely irrelevant for software which is activity-aware or activity-native (since you are recommended to treat the two as equivalent). + +## both are equivalent (and used in practice!) + +HOWEVER: in practice, you will probably need to be able to handle both types in both request+response + +impls that GET with activity+json: + +- ... + +impls that GET with ld+json: + +- ... + +impls that POST with activity+json: + +- mastodon + +impls that POST with ld+json: + +- pixelfed + +impls that return activity+json: + +- mastodon +- pleroma + +impls that return ld+json: + +- misskey +- pixelfed + +### QUIRK: multiple types + +ALSO NOTE: you may encounter multiple accept/content-type values. mastodon for example makes GET requests with `Accept: application/activity+json, application/ld+json` (in violation of the activitypub spec) or `Accept: application/activity+json, application/ld+json; profile="https://www.w3.org/ns/activitystreams", text/html;q=0.1` (also in violation of activitypub). these are still valid by RFC 9110 "HTTP Semantics" `Accept:` header parsing rules. note that multiple types are separated by a comma (`,`) but you must not parse them in order; *you parse them by most specific type first*. + +> for example: +> `Accept: text/*, text/plain, text/plain;format=flowed, */*` +> [has] the following precedence: +> 1. text/plain;format=flowed +> 2. text/plain +> 3. text/* +> 4. \*/\* + +fwiw mastodon doesn't seem interested in changing this so you will have to Deal With It if you care about mastodon compat + +## see also + +- SocialWG: Media type for AS2 -- a discussion from when AS2 was being written. \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/confusion/audience-and-addressing.md b/wiki.hugo/content/tech/spec/activitypub/confusion/audience-and-addressing.md new file mode 100644 index 0000000..8583f8c --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/confusion/audience-and-addressing.md @@ -0,0 +1,84 @@ +AS2-Vocab provides three properties for addressing certain audiences, and AP specifies that servers deliver to all three of these properties: + +to +: Identifies an entity considered to be part of the public primary audience of an Object + +cc +: Identifies an Object that is part of the public secondary audience of this Object. + +audience +: Identifies one or more entities that represent the total population of entities for which the object can considered to be relevant. + +There are also two properties for "private addressing", which are used for delivery but will be stripped before delivery. Consequently, they are not visible to consumers, and thus do not have to be interpreted. + +bto +: Identifies an Object that is part of the private primary audience of this Object. + +bcc +: Identifies one or more Objects that are part of the private secondary audience of this Object. + +## Spec guidance + +Per [AS2-Vocab 5.1 Audience Targeting](https://www.w3.org/TR/activitystreams-vocabulary/#audienceTargeting): + +
    + +Conceptually, every Object has both a Primary and Secondary audience. The Primary audience consists of those entities directly involved or owning the object. The Secondary audience consists of the collection of entities sharing an interest in the object but who might not be directly involved (e.g."followers"). + +For instance, suppose a social network of three individuals: Bob, Joe and Jane. Bob and Joe are each friends with Jane but are not friends with one another. Bob has chosen to "follow" activities for which Jane is directly involved. Jane shares a file with Joe. + +In this example, Jane and Joe are each directly involved in the file sharing activity and together make up the Primary Audience for that event. Bob, having an interest in activities involving Jane, is the Secondary Audience. Knowing this, a system that produces or consumes the activity can intelligently notify each person of the event. + +While there are means (based on the action type, actor, object and target of the activity) to infer the primary audience for many types of activities, heuristics do not work in every case and do not provide a means of identifying the secondary audience. The to, cc, bto and bcc properties MAY be used within an Object to explicitly identify the Primary and Secondary audiences. + +[...] + +Audience targeting information included within an Object only describes the intent of the object creator. With clear exception given to the appropriate handling of bto and bcc, this specification leaves it up to implementations to determine how the audience targeting information is used. + +
    + +There is also 5.1.1 about `audience` and `context` which is non-normative, but says this: + +
    + +Activities are rarely isolated events. Often, multiple individual activities will be performed around a similar context or audience. For instance, a collaborators working on a shared project might perform multiple related activities in the process of achieving some goal. Such activities can be logically grouped together using the context property, and scoped to a particular audience using the audience property. + +For instance, the following shows two related activities that share a common context and audience: + +
    + +## Issues and interpretations + +It is unclear what distinguishes "primary audience" from "secondary audience" from "audience". Delivery according to AP aside: When should a producer use to/cc/audience? What should a consumer do with to/cc/audience? + +The only wording used, normatively or not, is that: + +- [normative] the primary audience (`to`) is "directly involved" +- [non-normative] an object using `audience` is "scoped to a particular audience" + +Per Evan: [Audience is not for addressing; it's for defining the people it might be interesting to [...] The fact that it's called out in AP is a bug](https://github.com/evanp/onepage.pub/issues/91#issuecomment-1656844202). + +### My thoughts + +None of the wording above is clear or precise enough to establish a distinction, nor is there any practical difference between using to/cc/audience aside from implementation-specific rules and heuristics, such as: + +- Mastodon treating `cc: [Public, ...]` as "unlisted", a visibility scope which excludes the post from public timelines (which is itself a mastodon-specific UX abstraction). +- Many implementations ignoring `audience` entirely. + +For a compliant Server implementing C2S, there is no issue in delivering activities where the activity or the object contains an `audience`, although producing Clients should be aware that this will likely not be understood widely by consumers which generally expect only to/cc. + +#### Idea: Use `audience` to signal who can fetch an object via cross-domain authentication/authorization? + +Based on the (non-normative) wording for `audience` as being "scoped to a particular audience", we may interpret this as deciding who can fetch an object, even if it was not delivered to them with to/cc/bto/bcc? + +#### Idea: Use `to`/`cc` on activities, and `audience` on objects? + +Maybe prefer `to`/`cc` on activities since this will be used for delivery, and `audience` on the object? Caveats: the activity may need to be fetchable; the object may benefit from having primary/secondary audiences; + +#### Idea: Use `to` to signal intent to generate a notification, `cc` or `audience` to signal intent to not generate a notification? + +It is possible to notify someone differently based on whether they were in the primary or secondary audience. Primary audience may be interpreted as intent to generate a notification, whereas secondary audience may be interpreted as purely intent to deliver. + +#### Idea: AP Errata to remove requirement to deliver to `audience` + +This would drop `audience` to being optional metadata like `tag` or `inReplyTo`, and further enshrine only to/cc/bto/bcc as valid addressing properties. [Why, though?] \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/confusion/disambiguating-activity-by-shape-not-id.md b/wiki.hugo/content/tech/spec/activitypub/confusion/disambiguating-activity-by-shape-not-id.md new file mode 100644 index 0000000..8690872 --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/confusion/disambiguating-activity-by-shape-not-id.md @@ -0,0 +1,21 @@ ++++ ++++ + +## what this affects + +whenever you embed a Follow, Block, Like, or some other activity where the original id isn't easily on hand, you can embed it as the `object` without an id. in such a case, the shape of the activity becomes semantically significant. + +for example, say you want to remove a follower. you typically do this with Reject Follow. but what do you do if you never stored the original Follow id? you embed it like so + +```yaml +id: +actor: +type: Reject +object: + - type: Follow # this has no id + object: +``` + +now ideally you probably *should* be storing the ids for everything... but eh, what can ya do. + + \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/confusion/note-vs-article.md b/wiki.hugo/content/tech/spec/activitypub/confusion/note-vs-article.md new file mode 100644 index 0000000..be2a863 --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/confusion/note-vs-article.md @@ -0,0 +1,109 @@ ++++ ++++ + +# Note vs Article + +Discussion: + +in summary: + +> Note: Represents a short written work typically less than a single paragraph in length. + +> Article: represents any kind of multi-paragraph written work. + +but this is contradicted by as2/ap examples + +## the practical difference + +a Note will be displayed inline in Mastodon, but an Article will be converted to name/summary + url/id + +further recommendations for microblog compatibility: + +- a Note SHOULD still work with a plaintext fallback, as most html could be stripped +- a Note SHOULD NOT have a name/title, as this will be ignored + +if you don't care about Mastodon or similar microblogging impls then do whatever. some guidelines/thoughts below... + +## failed ideas for distinction + +### a "paragraph" + +perhaps a note could have no line breaks or only a single `

    ` tag, while an article does? well there's an example that directly contradicts this! ActivityPub example 4 uses two `

    ` tags inside a Note's content + +### titles + +some say a Note has no title but an Article does -- this is not strictly true in all cases, a Note can have a `name` (and AS2-Vocab example 43 does so) + +### formatting + +some say a Note has no formatting but an Article does -- this is not true at all, as Note can be HTML and is in fact assumed to be HTML by default (per AS2-Vocab definition of `mediaType`) + +### length + +perhaps a Note has some character limit and an Article doesn't -- but what is the limit? completely arbitrary. not worth making this distinction + +## what's left for distinction? + +### syndication + +an Article might be expected to be syndicated (think HTML `

    `) since it is a self-contained piece of content. whereas a Note might not be + + + +> The article element represents a complete, or self-contained, composition in a document, page, application, or site and that is, in principle, independently distributable or reusable, e.g. in syndication. This could be a forum post, a magazine or newspaper article, a blog entry, a user-submitted comment, an interactive widget or gadget, or any other independent item of content. +> +> Note: When used specifically with content to be redistributed in syndication, the article element is similar in purpose to the entry element in Atom. + +however this may imply that microblog posts should be sent out as Article? requires further thought + +### formality + +an Article is "published" in a formal context whereas a Note is presented in an informal context + +definitions for "article often stress that it is an independent unit of writing, and is often published. + +dictionary.com: + +> a written composition [...] forming an independent part of a [...] publication + +merriam-webster: + +> a distinct section of writing [...] often numbered + +> [a] composition [...] usually forming an independent part of a publication + +in other words a Note may be viewed in passing, while an Article is more persistent + +## indieweb perspective + +indieweb seems to take this view + +> post name/title [though discounted above] + +> non-trivial structure [akin to formality -- headings?] + +> plain text vs markup [basically the p-content vs e-content argument] + +## takeaway thoughts + +i would tend to assume everything is an article by default, with certain characteristics making it tend toward being a note instead + +for content: + +- no headings? +- no formatting? + +for metadata: + +- no `name`? +- no `id` (transient or anonymous objects)? + +but it's really that last one that seems most salient to me. consider an Article to be a top-level text container that can be referred to later since it forms an independent published unit of writing. consider a Note to be an anonymous text container to be embedded in other objects. in practical terms, a Note might be used for actor metadata, in which case it would have a `name` but still be a Note + +```yaml +type: Note +name: "Pronouns" +content: "they/them" +``` + +note that Note might still have an id, though... so really it's just a vague ill-defined "intention". for example, maybe use a Note for a "status update" in a chat/presence sense? like XMPP PEP. \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/confusion/preferredUsername-format-not-specified.md b/wiki.hugo/content/tech/spec/activitypub/confusion/preferredUsername-format-not-specified.md new file mode 100644 index 0000000..be93473 --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/confusion/preferredUsername-format-not-specified.md @@ -0,0 +1 @@ +`preferredUsername` is expected to map back into webfinger but there are additional length and character restrictions placed on top of it, and these vary between projects \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/confusion/public-addressing.md b/wiki.hugo/content/tech/spec/activitypub/confusion/public-addressing.md new file mode 100644 index 0000000..b4b283e --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/confusion/public-addressing.md @@ -0,0 +1,14 @@ ++++ ++++ + + + +the Public == as:Public thing doesn't actually work unless you redefine all the addressing properties from `@type: @id` to `@type: @vocab` (which may have other consequences?) but in any case, `Public` is defined in a way that it does nothing + +furthermore because `as` is defined as a prefix, you will NEVER encounter `https://www.w3.org/ns/activitystreams#Public` in a properly compacted document + +so the only correct way to do public addressing currently is `as:Public` + +## tangent: why are we doing pseudo-addressing anyway? + +why isn't this some other property or flag somewhere on the object? what is *really* being signaled by the public addressing? spec-wise, it's just that it's available to anyone without auth. so why not have some kinda `accessControl` property or `scope` or whatever, and have that explicitly be type:vocab, and define your scopes in there? \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/confusion/server-managed-collections.md b/wiki.hugo/content/tech/spec/activitypub/confusion/server-managed-collections.md new file mode 100644 index 0000000..0cc6dda --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/confusion/server-managed-collections.md @@ -0,0 +1,17 @@ +There are special collections that are managed by server side-effects, such as `followers` `following` `liked` on actors and possibly ~~`replies`~~, `likes`, `shares` on objects. In most cases, the side-effects are the only intended way of interacting with these collections; for example, a Follow results in an Accept Follow, which has the side effect of adding them to `followers` and them adding you to `following`; a Like has the side effect of you adding the object to `liked` and them adding your Like to `likes`; an Announce has the side effect of them adding the Announce to `shares`, and a small exception for `replies` which may be managed manually. + +But there's nothing in ActivityPub explicitly preventing a user from targeting their followers/following with an Add/Remove. In the case of a Remove, you can say that there is a legitimate use-case for this; perhaps you no longer wish to follow or be followed by a certain actor. However, for Add, it's a bit weirder -- you can Add an actor to your `followers` despite never receiving a Follow from them. You can add an actor to your `following` despite never receiving an Accept Follow from them. + +There is some language that can be interpreted along these lines, in 6.5 Follow + +> The Follow activity is used to subscribe to the activities of another actor. [...] The side effect of receiving this in an outbox is that the server SHOULD add the object to the actor's [following Collection](https://www.w3.org/TR/activitypub/#following) when and only if an Accept activity is subsequently received with this Follow activity as its object. + +and in 6.6/6.7 for Add/Remove: + +> the server SHOULD add the object to the collection specified in the target property, unless: [...] the object is not allowed to be added to the target collection for some other reason, at the receiving server's discretion. + +Taken together, we conclude that the logical `iff` regarding Accept Follow is the only way to add the other actor to your following. A C2S Add/Remove would not be allowed due to "discretion". + +Given this: how do we signal server management instead of actor management of these collections? My initial leaning would be to exclude `attributedTo` from the representation of these collections; in the absence of any attribution, it is assumed that the collection is owned by the server running at that origin / domain / hostname. (For S2S follower removal, this would have to be a special case handled similarly to Reject Follow being sent at any time after an Accept Follow, but that's a separate topic.) + +https://github.com/w3c/activitypub/issues/377 \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/confusion/tag-for-actual-taxonomy.md b/wiki.hugo/content/tech/spec/activitypub/confusion/tag-for-actual-taxonomy.md new file mode 100644 index 0000000..0a0e32b --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/confusion/tag-for-actual-taxonomy.md @@ -0,0 +1 @@ +in theory `tag` is for "association by reference". you reference other nodes, which can be either objects or links. but what's the best way to reference an arbitrary string? there is the unofficial extension of a `Hashtag` but this ends up getting used as a signal to show your tag alongside other posts that share the same tag. also the format of hashtags is a little weird -- no one can really agree on it. does it contain the hash sign? is it allowed to contain spaces? is it a subtype of Link, or a subtype of Object? should it or should it not appear in the content, since `tag` seems to be used to markup microsyntaxes? \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/context.md b/wiki.hugo/content/tech/spec/activitypub/context.md new file mode 100644 index 0000000..1c47622 --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/context.md @@ -0,0 +1,75 @@ ++++ ++++ + +FEP-7888: Demystifying the context property + +## conceptual overview + +ActivityStreams Vocabulary defines the context property, but it is "intentionally vague". Unfortunately, this makes the definition so vague as to be practically useless. + +Aside from being "intentionally vague", the definition is also somewhat circular; it requires knowing what a context is and having some conceptual understanding of the notion of "context". However, we are given some guidance towards its "intended function", which is to group objects by some common purpose or origin. + +We might similarly use a `tag` for grouping objects and activities. Current fediverse projects often include a `Hashtag` (defined as an extension within the ActivityStreams namespace, but not actually adopted or defined formally). This `Hashtag` signals an intent to be included or discovered through a collection of objects bearing the same `Hashtag`, uniquely identified by its `name`. The maintenance of such collections is assumed to be the responsibility of the receiving server, although an `href` is provided for convenience, in order to browse the collection of tagged objects at the source. (This also makes the `Hashtag` a sub-type of `Link`.) + +The key property of such a tag is to signal a general, implicit association by reference. We might then consider a context to be an explicit association, but such an explicit association requires an explicit definition. + +Various dictionaries define context generally as something that helps you understand the situation. Following from this, the context should be something that helps you process the activity or object. Ignoring the context may lead to misunderstanding the activity or object; the object or activity exists *within* that context. + +Specific contexts can be thought of in several applications: + +- the "authoritative context" is a context in which some authority can be applied; +- the "conversational context" is a context which represents some conversation and possibly its history; +- the "originating context" is a context which represents some intended starting point that you might look at first. + +We might continue to articulate further types of contexts, but the general pattern that emerges is that a context exists to form a purposeful grouping, regardless of the specific purpose. For example, if we had the notion of a conversation, then we might reasonably say that someone owns this conversation and can apply their authority to it. Looking at some object or activity within this context is generally not recommended on its own; it is better to view the entire conversation or some page of it rather than viewing a singular message. + +The context may be presented using the following abstractions: + +- A "topic" in a forum presentation +- A "conversation" in a social networking presentation +- A "room" in a chatting or messaging presentation +- A "thread" in any of the above contexts (forum thread, social media thread, chat thread) + +Contexts may be nested within other contexts: + +- A forum topic/thread may be nested in a "forum" or "forum category", and may be nested in another parent forum as a sub-forum. +- A "wall" on a profile or group may contain conversations, which in turn may contain the top-level object and its comments +- A "guild" or "space" may contain multiple chat rooms with a common audience + +It is also possible to *not* have a context. Such objects exist only in the general context of their author (via `attributedTo`) and are otherwise self-sufficient. This can include: + +- An article published on a web site, particularly one meant to be accessible directly via a permalink + - A post in a blogging or microblogging environment, particularly one that does not represent a conversation, or where `inReplyTo` is meant only as a loose reference. +- An activity intended for or acting upon an object without a context + +## normative language + +The use of `context` SHOULD adhere to the following guidelines: + +- The `context` SHOULD have a purpose. Consider tags for looser references. +- The `context` SHOULD be resolvable. The resolved object or link should describe the context with at least the additional information needed to fully process the activity or object. + - The resolved `context` SHOULD be a Collection or a subtype. This Collection SHOULD contain the related items. + - The `context` MAY require authorization to resolve properly or fully, but SHOULD include an `attributedTo` property at minimum. + +When encountering an object with a `context`: + +- You MAY copy the `context` as-is, if you wish for your object to be included in the same context. +- You MAY set your own `context`, if you wish for your object to be in a separate context owned by you. +- You MAY remove the `context` entirely, if you wish for your object to exist on its own. + +In cases where you copy a context owned by someone else, you SHOULD send your activity to the owner of that context, defined via `context.attributedTo` if resolvable. You SHOULD NOT send your activity to anyone else, unless you implement a mechanism to allow third-party observers to verify that your object or activity is indeed a valid member of the referenced context. (A further FEP may follow up on this topic.) + +Upon receipt of such an activity referencing a context owned by you, you SHOULD distribute the object to the audience of the context, specified by `context.audience`, and possibly including `context.followers` if the context is itself an actor. This may be done with inbox forwarding or by delivering an Add activity. An Announce activity SHOULD NOT be used, as this would be interpreted as a reshare. (Verification mechanisms for inbox forwarding or Adding private objects is out-of-scope for this FEP.) You MAY drop certain activities not matching specific policies; for example, you might filter out spam, or implement a policy such that only certain actors (members, participants, etc.) are allowed to be included in the context. (Signaling which actors can participate is out-of-scope for this FEP and may be covered in a further FEP.) + +In cases where you copy an unresolvable context, or a context without an owner, you may deliver to an arbitrary audience as if there were no context. However, this is not recommended. Actors that receive such an activity or object with an unverifiable context SHOULD ignore this context, and SHOULD NOT associate the object with the declared context. + +### c2s + +The following algorithm may be used to create an object within a context collection: + +1. Create the `Collection` representing the context. Save the generated Collection `id` to be used in the next step. +2. Create the `Object` and specify the `context` as the `id` obtained in step 1. Set an appropriate `audience` or use `to`/`cc` to deliver the Create activity as-is. Save the returned Object or its `id` to be used in the next step. +3. Add the `Object` to the context `Collection`, using the response from step 2. You may wish to deliver this Add activity `to`/`cc` your intended recipients, especially if you did not deliver the Create Object from step 2. + + +## future directions: contexts as actors that can be followed and addressed \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/extensions/_index.md b/wiki.hugo/content/tech/spec/activitypub/extensions/_index.md new file mode 100644 index 0000000..f7ba421 --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/extensions/_index.md @@ -0,0 +1,2 @@ ++++ ++++ \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/extensions/as2-unofficial/Hashtag.md b/wiki.hugo/content/tech/spec/activitypub/extensions/as2-unofficial/Hashtag.md new file mode 100644 index 0000000..6ab6e41 --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/extensions/as2-unofficial/Hashtag.md @@ -0,0 +1,33 @@ +### Hashtag {#hashtag} + +A sub-type of Link that refers to a `#topic`, typically used for associating the object with a collection of other objects sharing the same topic. + +#### Implementation details {#hashtag-implementation} + +

    Not officially part of the ActivityPub context definition, but still assumed to be included in the ActivityStreams `as:` namespace by most implementations (for historical reasons). Implementations should manually define `as:Hashtag` in their JSON-LD `@context`.

    + +The `href` typically links to a collection of all objects tagged with the same Hashtag. + +Consider the following Note: + +```json +{ + "@context": [ + "https://www.w3.org/ns/activitystreams", + { + "Hashtag": "as:Hashtag" + } + ], + + "id": "https://example.com/@alice/hello-world", + "type": "Note", + "content": "

    I am talking about a #topic

    ", + "tag": [ + { + "type": "Hashtag", + "name": "#topic", + "href": "https://example.com/tagged/topic" + } + ] +} +``` \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/extensions/as2-unofficial/_index.md b/wiki.hugo/content/tech/spec/activitypub/extensions/as2-unofficial/_index.md new file mode 100644 index 0000000..f7ba421 --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/extensions/as2-unofficial/_index.md @@ -0,0 +1,2 @@ ++++ ++++ \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/extensions/as2-unofficial/manuallyApprovesFollowers.md b/wiki.hugo/content/tech/spec/activitypub/extensions/as2-unofficial/manuallyApprovesFollowers.md new file mode 100644 index 0000000..97ea620 --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/extensions/as2-unofficial/manuallyApprovesFollowers.md @@ -0,0 +1 @@ +boolean. if true, can be used as a hint that the actor will not immediately or automatically Accept your Follow. \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/extensions/as2-unofficial/movedTo.md b/wiki.hugo/content/tech/spec/activitypub/extensions/as2-unofficial/movedTo.md new file mode 100644 index 0000000..361eaf4 --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/extensions/as2-unofficial/movedTo.md @@ -0,0 +1,3 @@ +when using mastodon's definition of Move, indicates that the current account has migrated to the linked account. + +see [Move]({{}}) for more \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/extensions/as2-unofficial/sensitive.md b/wiki.hugo/content/tech/spec/activitypub/extensions/as2-unofficial/sensitive.md new file mode 100644 index 0000000..ed14d3e --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/extensions/as2-unofficial/sensitive.md @@ -0,0 +1,3 @@ +boolean. if true, indicates that the information contained within the object (content, etc) is considered "sensitive", in the sense that viewer discretion may be advised, e.g. "NSFW" material. + +when encountered, usually the assumption is that the object's content will be hidden or collapsed behind a warning of some sort. in mastodon, the `summary` will be used as the text of the warning, and the `content` will be hidden below it; furthermore, anything in `attachment` will be hidden behind a sensitive content click-through instead of being directly previewable. \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/extensions/as2/Flag.md b/wiki.hugo/content/tech/spec/activitypub/extensions/as2/Flag.md new file mode 100644 index 0000000..b8b70a4 --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/extensions/as2/Flag.md @@ -0,0 +1,35 @@ ++++ ++++ + +# Flag + +used for reports + +## sample payload + +### mastodon + +```http +POST /users/1/inbox HTTP/1.1 +Host: friends.grishka.me +Content-Type: application/activity+json + +{ + "@context": "https://www.w3.org/ns/activitystreams", + "id": "https://mastodon.social/ccb4f39a-506a-490e-9a8c-71831c7713a4", + "actor": "https://mastodon.social/actor", + "content": "Please disregard this report. I'm just testing report federation.", + "object": [ + "https://friends.grishka.me/users/1", + "https://friends.grishka.me/posts/380590" + ] +} +``` + +notes: +- it is sent to the reported account's `inbox` -- [ReportService#forward_to_origin!](https://github.com/mastodon/mastodon/blob/c4a429ed47e85a6bbf0d470a41cc2f64cf120c19/app/services/report_service.rb#L51) + - [arguably this should be sent to a `sharedInbox` if available? or an instance actor if detected somehow? idk] + - [mastodon uses the wrong content-type currently -- [mastodon/mastodon#22720](https://github.com/mastodon/mastodon/issues/22720)] +- the first item in `object` is the user +- additional items in `object` are attached statuses + - [shouldn't these be in `attachment` instead?] \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/extensions/as2/Move.md b/wiki.hugo/content/tech/spec/activitypub/extensions/as2/Move.md new file mode 100644 index 0000000..eb94a20 --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/extensions/as2/Move.md @@ -0,0 +1,24 @@ ++++ ++++ + +# Move + +used for account migrations + +## sample payload + +### mastodon + + + +```json +{ + "@context": "https://www.w3.org/ns/activitystreams", + "id": "https://mastodon.example/users/username#moves/1", + "actor": "https://mastodon.example/users/username", + "type": "Move", + "object": "https://mastodon.example/users/username", + "target": "https://social.example/users/new_user" +} +``` + diff --git a/wiki.hugo/content/tech/spec/activitypub/extensions/as2/_index.md b/wiki.hugo/content/tech/spec/activitypub/extensions/as2/_index.md new file mode 100644 index 0000000..f7ba421 --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/extensions/as2/_index.md @@ -0,0 +1,2 @@ ++++ ++++ \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/extensions/http-signatures.md b/wiki.hugo/content/tech/spec/activitypub/extensions/http-signatures.md new file mode 100644 index 0000000..7b86bcf --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/extensions/http-signatures.md @@ -0,0 +1,5 @@ +draft 8 cavage + +even in the updated HTTP Message Signatures which supercedes the old HTTP Signatures, the `keyId` resolution to get the actual key material is unspecced, it's up to app logic + +so you need to clearly specify somewhere such rules. like "keyId must point to a json-ld object with type sec:Key and must have sec:owner pointing to an activitypub actor" or something like that \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/extensions/toot/Emoji.md b/wiki.hugo/content/tech/spec/activitypub/extensions/toot/Emoji.md new file mode 100644 index 0000000..825175f --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/extensions/toot/Emoji.md @@ -0,0 +1,85 @@ +### Emoji {#emoji} + +See for more: + +A sub-type of Link that refers to a `:custom_emoji:`, typically used for replacing a plain-text substring with an inline image (by implementations that do not otherwise support arbitrary inline images). + +#### Implementation details {#emoji-implementation} + +Handling an Emoji is typically done by matching for the Emoji's `name` and replacing with an `` element where `src` is the `url` of the Emoji's `icon`. + +

    Note that this extension uses `icon` instead of `href`, but the same "search-and-replace" semantics apply, as with any microsyntax.

    + +Consider the following Note: + +```json +{ + "@context": [ + "https://www.w3.org/ns/activitystreams", + { + "toot": "http://joinmastodon.org/ns#", + "Emoji": "toot:Emoji" + } + ], + + "id": "https://example.com/@alice/hello-world", + "type": "Note", + "content": "

    Hello world :kappa:

    ", + "tag": [ + { + "id": "https://example.com/emoji/123", + "type": "Emoji", + "name": ":kappa:", + "icon": { + "type": "Image", + "mediaType": "image/png", + "url": "https://example.com/files/kappa.png" + } + } + ] +} +``` + +- We extract the natural-language properties of `name`, `summary`, and `content`. In this case, we have only `content` of `Hello world :kappa:`. +- We extract any elements from `tag` with a type of `Emoji`. In this case, we have only one, for `:kappa:`. +- We search for `Emoji.name` (`:kappa:`) within the identified `content` (`Hello world :kappa:`) and replace it with an inline image sourced from `Emoji.icon.url` (`https://example.com/files/kappa.png`), resulting in the final value for content being `

    Hello world

    `. + +Pseudocode might look something like this: + +```py +# Extract custom emojis from tag array +tags = Object.tag +Emojis = [tag for tag in tags where tag.type == "Emoji"] + +for Emoji in Emojis: + + # replace :emoji: microsyntax with an inline image (within name) + name = Object.name # may need to extract `name` from `nameMap` instead + name_matches = regex.match(substring = Emoji.name, text = name) + for match in name_matches: + search_and_replace( + text = name, + search = Emoji.name, + replace = f'' + ) + + # replace :emoji: microsyntax with an inline image (within summary) + summary = Object.summary # may need to extract `summary` from `summaryMap` instead + summary_matches = regex.match(substring = Emoji.name, text = summary) + for match in summary_matches: + search_and_replace( + text = summary, + search = Emoji.name, + replace = f'' + ) + + # replace :emoji: microsyntax with an inline image (within content) + content = Object.content # may need to extract `content` from `contentMap` instead + content_matches = regex.match(substring = Emoji.name, text = content) + for match in content_matches: + search_and_replace( + text = content, + search = Emoji.name, + replace = f'' + ) +``` \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/extensions/toot/_index.md b/wiki.hugo/content/tech/spec/activitypub/extensions/toot/_index.md new file mode 100644 index 0000000..f7ba421 --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/extensions/toot/_index.md @@ -0,0 +1,2 @@ ++++ ++++ \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/gotchas/_index.md b/wiki.hugo/content/tech/spec/activitypub/gotchas/_index.md new file mode 100644 index 0000000..f7ba421 --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/gotchas/_index.md @@ -0,0 +1,2 @@ ++++ ++++ \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/gotchas/orderedItems.md b/wiki.hugo/content/tech/spec/activitypub/gotchas/orderedItems.md new file mode 100644 index 0000000..412d653 --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/gotchas/orderedItems.md @@ -0,0 +1,21 @@ +## DO NOT CONFUSE ITEMS AND ORDEREDITEMS + +`items` indicates that this is a Collection + +however, `orderedItems` is valid on both Collection and OrderedCollection! it is defined like this in the as2 context: + +```json +{ + "orderedItems": { + "@id": "as:items", + "@type": "@id", + "@container": "@list" + } +} +``` + +so it is basically just an alias for `items` where it MUST be an array, and the array's order matters. (if it were `@container: set`, then it MUST be an array, but the array's order does not matter.) + +### tangent: a Collection may be ordered without being an OrderedCollection + +OrderedCollection is defined as strictly reverse chronological by ActivityPub. however, other orderings are valid on regular Collections. the use of the `orderedItems` term allows plain-JSON implementations to do exactly this. \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/gotchas/retroactive-Update.md b/wiki.hugo/content/tech/spec/activitypub/gotchas/retroactive-Update.md new file mode 100644 index 0000000..510f603 --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/gotchas/retroactive-Update.md @@ -0,0 +1 @@ +mastodon, when editing a post, does not generate an Update activity in the outbox, but instead will silently and retroactively change the object of the Create \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/gotchas/validating-@context.md b/wiki.hugo/content/tech/spec/activitypub/gotchas/validating-@context.md new file mode 100644 index 0000000..d8db9de --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/gotchas/validating-@context.md @@ -0,0 +1,3 @@ +## DO NOT VALIDATE @CONTEXT IF YOU DO NOT UNDERSTAND JSON-LD + +you CANNOT check for the presence of `https://www.w3.org/ns/activitystreams` AT ALL -- the activitystreams context may be included within another context hosted elsewhere. or it may be excluded (although it SHOULD NOT). just ignore this property entirely if you don't understand it \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/gotchas/validating-id.md b/wiki.hugo/content/tech/spec/activitypub/gotchas/validating-id.md new file mode 100644 index 0000000..0a5f2a0 --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/gotchas/validating-id.md @@ -0,0 +1,22 @@ +## DON'T BE STRICT ABOUT VALIDATING ID + +do NOT try to be overly strict about dereferencing IDs. some IDs may not be on your domain, or otherwise they may not be present at all, or they may be explicitly null. null or missing id indicates a transient activity. + +### example: Follow semantics + +Follows are realistically transient. it is therefore enough to: + +- keep track of local state +- mutate state based on activities + +if you receive an Accept/Reject Follow, check ONLY for the following: + +- actor +- type == Accept/Reject +- object.actor +- object.type == Follow +- object.object == actor + +if object is inlined, you don't need to check that object.id is local. the above is enough information, PROVIDED THAT you have a local pending follow request. if you do not have a pending follow, then DO NOT process an incoming Accept Follow. however, you may receive a Reject Follow at any time, indicating that you should destroy that follow relationship. note that you may also receive an Undo Accept Follow by some implementations. this is discouraged but should be handled as well + + \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/gotchas/validating-type.md b/wiki.hugo/content/tech/spec/activitypub/gotchas/validating-type.md new file mode 100644 index 0000000..690284a --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/gotchas/validating-type.md @@ -0,0 +1,32 @@ +## DO NOT CHECK TYPES DURING VALIDATION + +an Actor has an `inbox` and `outbox`. that's it. + +an Activity has an `actor`. that's it. + +a Collection has `items` or `orderedItems`. that's it. + +etc + +## DON'T PANIC WHEN YOU SEE A TYPE YOU DON'T UNDERSTAND + +say you understand tags of type Mention and Hashtag and Emoji. someone sends you a `tag` array with a raw Link. DON'T PANIC. the document is still valid. just filter out anything you don't understand, something like + +```python +UNDERSTOOD_TAG_TYPES = set("Mention", "Hashtag", "Emoji") +document = json.loads(...) +tags = document.get('tag', []) +tags = [ + tag + for tag in tags + if tag['type'] in UNDERSTOOD_TAG_TYPES +] +# do whatever you need to now +``` + +```javascript +const UNDERSTOOD_TAG_TYPES = new Set(["Mention", "Hashtag", "Emoji"]) +let document = ... +tags = document.tag.filter(tag => tag.type in UNDERSTOOD_TAG_TYPES) +// do whatever you need to now +``` \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/ideas/MAX_FOLLOWERS.md b/wiki.hugo/content/tech/spec/activitypub/ideas/MAX_FOLLOWERS.md new file mode 100644 index 0000000..e52d898 --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/ideas/MAX_FOLLOWERS.md @@ -0,0 +1,3 @@ +https://github.com/mastodon/mastodon/issues/20089 + +max followers? mastodon has a MAX_FOLLOWS and MAX_FOLLOW_RATIO so why not MAX_FOLLOWERS? \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/ideas/Message.md b/wiki.hugo/content/tech/spec/activitypub/ideas/Message.md new file mode 100644 index 0000000..4170c4d --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/ideas/Message.md @@ -0,0 +1,45 @@ +# what if we had a Message type + +Message is an IntransitiveActivity? + +```yaml +id: https://alice.social/activities/1 +actor: https://alice.social +type: Message +to: https://bob.social +content: "hello bob" +``` + +representing rooms with context: + +```yaml +id: https://alice.social/activities/1 +actor: https://alice.social +type: Message +to: https://rooms.social/rooms/1/audience # inbox forwarding, probably +content: "hello room" +context: https://rooms.social/rooms/1 # verify inclusion how? +``` + +making the context into an actor: + +```yaml +id: https://alice.social/activities/1 +actor: https://alice.social +type: Message +to: # inbox forwarding, definitely + - https://rooms.social/rooms/1 # we need to deliver to the room actor + - https://rooms.social/rooms/1/followers # rooms.social or the room actor's client will forward to participants +content: "hello room" +context: https://rooms.social/rooms/1 +``` + +use of bto/bcc? + +```yaml +id: https://alice.social/activities/1 +actor: https://alice.social +type: Message +content: "hello room" # arguably only the content needs to be signed? no need for canonicalization +context: https://rooms.social/rooms/1 +``` \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/ideas/_index.md b/wiki.hugo/content/tech/spec/activitypub/ideas/_index.md new file mode 100644 index 0000000..f7ba421 --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/ideas/_index.md @@ -0,0 +1,2 @@ ++++ ++++ \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/ideas/closedBy.md b/wiki.hugo/content/tech/spec/activitypub/ideas/closedBy.md new file mode 100644 index 0000000..ef4f109 --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/ideas/closedBy.md @@ -0,0 +1,20 @@ ++++ ++++ + + + +as:closed is defined as Object | Link | xsd:boolean | xsd:datetime + +the normative context explicitly types the value to a datetime + +solution: define `closedBy` as a term definition for as:closed but with `@type: @id` + +```json + "as": "https://www.w3.org/ns/activitystreams#", + // ... + "closedBy": { + "@id": "as:closed", + "@type": "@id" + }, + // ... +``` \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/ideas/do-not-inline.md b/wiki.hugo/content/tech/spec/activitypub/ideas/do-not-inline.md new file mode 100644 index 0000000..67a5c1c --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/ideas/do-not-inline.md @@ -0,0 +1,9 @@ +maybe objects shouldn't be inlined tho? spritely magenc golem ocappub etc etc etc + +```yaml +id: alice.example/54078934249073290847321094/activity/1 +actor: alice.example +type: Create +object: alice.example/54078934249073290847321094 # how to fetch this? +cc: [alice.example/followers, Public] +``` \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/ideas/exclude-followers.md b/wiki.hugo/content/tech/spec/activitypub/ideas/exclude-followers.md new file mode 100644 index 0000000..09df4c2 --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/ideas/exclude-followers.md @@ -0,0 +1,13 @@ +## exclude your own followers? send to someone else's followers? send to a room? + +[tldr i should choose if i want my reply to go to my followers, or their followers, or just them, or all of the above, or whatever] + +1. alice makes a post and sends it to her followers or whatever. optionally it can be made available to the public? + +1. bob replies to alice, they send that to alice only, and *maybe* optionally to bob's followers. **this should be up to the user (bob).** + +1. alice can then choose to redistribute that reply. **this should be up to the recipient (alice)** and also **this should be made clear to the replier (bob)**. + +note that alice might allow bob's replies to be automatically redistributed, if alice trusts bob. + +- bob may not want his reply to be redistributed though? so there should be a way for bob to signal that bob is okay with alice forwarding bob's message to alice's followers. perhaps by explicitly addressing alice's followers? bob might also make his reply explicitly anonymous and transient by using id: null or not providing id. either way, **this should be an explicit decision** \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/ideas/jokes/Poke.md b/wiki.hugo/content/tech/spec/activitypub/ideas/jokes/Poke.md new file mode 100644 index 0000000..b2db37f --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/ideas/jokes/Poke.md @@ -0,0 +1 @@ +inspired by facebook pokes or by Yo. just sends a notification. transient, no id. \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/ideas/jokes/_index.md b/wiki.hugo/content/tech/spec/activitypub/ideas/jokes/_index.md new file mode 100644 index 0000000..f7ba421 --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/ideas/jokes/_index.md @@ -0,0 +1,2 @@ ++++ ++++ \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/ideas/jokes/forum-signature.md b/wiki.hugo/content/tech/spec/activitypub/ideas/jokes/forum-signature.md new file mode 100644 index 0000000..a8e0ef1 --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/ideas/jokes/forum-signature.md @@ -0,0 +1,5 @@ +https://mastodon.social/@trwnh/110252106080079481 + +maybe ive said this before but fedi should have forum signatures + +`signature` shouldn't mean proof of authorship by a keypair. it should mean a 460x120 image and about 1-3 lines of text \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/ideas/jokes/s2s-Block-reminder.md b/wiki.hugo/content/tech/spec/activitypub/ideas/jokes/s2s-Block-reminder.md new file mode 100644 index 0000000..90c12fc --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/ideas/jokes/s2s-Block-reminder.md @@ -0,0 +1,7 @@ +## Block/Mute reminders + +anytime someone muted tries to reply, you respond with an Ignore + +anytime someone blocked tries to interact, you respond with a Block + +what if you do this *every single time* they try to reply/interact \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/ideas/jokes/s2s-Ignore.md b/wiki.hugo/content/tech/spec/activitypub/ideas/jokes/s2s-Ignore.md new file mode 100644 index 0000000..d4dc60e --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/ideas/jokes/s2s-Ignore.md @@ -0,0 +1,3 @@ +## Federated mutes + +as2 has an Ignore type so you could theoretically federate out mutes in the same way that blocks are currently federated \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/ideas/map-Collection-onto-ldp-Container.md b/wiki.hugo/content/tech/spec/activitypub/ideas/map-Collection-onto-ldp-Container.md new file mode 100644 index 0000000..3351fb8 --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/ideas/map-Collection-onto-ldp-Container.md @@ -0,0 +1 @@ +Collection mechanism is very similar to ldp:Container and i guess solid as well? can be backed by filesystem directory/folder and files. \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/ideas/map-Follow-onto-WebSub.md b/wiki.hugo/content/tech/spec/activitypub/ideas/map-Follow-onto-WebSub.md new file mode 100644 index 0000000..a3d4791 --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/ideas/map-Follow-onto-WebSub.md @@ -0,0 +1,3 @@ +if you turn everything into an actor, then Following that actor is like subscribing to a topic for that actor + +the actor's role is to programmatically forward or announce activities/objects related to that topic? \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/ideas/orderedAttachment.md b/wiki.hugo/content/tech/spec/activitypub/ideas/orderedAttachment.md new file mode 100644 index 0000000..1494f9d --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/ideas/orderedAttachment.md @@ -0,0 +1,45 @@ ++++ ++++ + + + +problem: sometimes you want to have attachments in a certain order, but `attachment` is an unordered set by default + +solution: define `orderedAttachment` similar to `orderedItems` + +```json +{ + "@context": [ + { + "orderedAttachment": { + "@id": "https://www.w3.org/ns/activitystreams#attachment", + "@type": "@id", + "@container": "@list" + } + }, + "https://www.w3.org/ns/activitystreams" + ] +} +``` + +you could maybe do the same for `orderedTag` but idk if that makes full sense bc `tag` is not really used for categorization so much... but if tumblr or a tumblr-like implementation wanted to order their tags then they have no way of doing so + +if you don't do this, you can technically do this instead + +```json +{ + "@context": "https://www.w3.org/ns/activitystreams", + "id": "https://example.com/object", + "type": "Note", + "content": "hello world, see attached in order", + "attachment": { + "@list": [ + "https://example.com/1", + "https://example.com/2", + "https://example.com/3" + ] + } +} +``` + +this is basically just having the expanded jsonld left as-is \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/ideas/s2s-Add-instead-of-Create.md b/wiki.hugo/content/tech/spec/activitypub/ideas/s2s-Add-instead-of-Create.md new file mode 100644 index 0000000..11ef072 --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/ideas/s2s-Add-instead-of-Create.md @@ -0,0 +1,7 @@ +# federating a raw Create is not the same as properly managing a profile + +consider an unlisted youtube video, which doesn't appear in the uploads tab. how would you do the same on fedi? possibly by inventing some extension property that hides objects from "profiles"? but the real problem is that there actually isn't a profile at all -- the recipient is expected to keep track of and reconstruct your "profile" based on all known objects! + +instead: have an explicit profile Collection. Add stuff into it. when we federate social data we should explicitly be managing the expected presentation of that social data, in as generic a way as possible. + +related problem: constructing conversations based on a chain of `inReplyTo` instead of having an explicit collection (likely being used as `context`) -- actually the activitypub spec [doesn't specify side effects for inReplyTo]({{< relref "replies-have-no-side-effect" >}}) and for that matter neither does it specify use of context or a context-collection. these are both cases where the Add makes sense to send out explicitly. \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/ideas/short-bio.md b/wiki.hugo/content/tech/spec/activitypub/ideas/short-bio.md new file mode 100644 index 0000000..b8e2c3b --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/ideas/short-bio.md @@ -0,0 +1 @@ +on actors that get converted to profiles/accounts, mastodon uses `summary` for bio, but we could use `content` for a "long bio" and reserve `summary` for a "short bio" \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/shortcomings/Article-not-html-article.md b/wiki.hugo/content/tech/spec/activitypub/shortcomings/Article-not-html-article.md new file mode 100644 index 0000000..3459381 --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/shortcomings/Article-not-html-article.md @@ -0,0 +1,15 @@ +see [Note vs Article]({{}}) for more. but basically: + +in summary: + +> Note: Represents a short written work typically less than a single paragraph in length. + +> Article: represents any kind of multi-paragraph written work. + +but this is contradicted by as2/ap examples. + +the messy general consensus post-spec seems to be about "intention", but this is never defined. it is unclear what a `Note` is intended to be, and what an `Article` is intended to be, beyond very loosely and very vaguely tying such notions to app-specific abstractions or behavior. for example, Mastodon will show a Note more or less in full, but convert an Article to a title and url. + +it would have been better to define it similarly to HTML `
    ` perhaps? an independent unit of writing? one that is published and therefore might reasonably be syndicated? + +and maybe Note should have been forced plaintext. idk. at the very least the distinction should be better explained. \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/shortcomings/Invite-extending-Offer.md b/wiki.hugo/content/tech/spec/activitypub/shortcomings/Invite-extending-Offer.md new file mode 100644 index 0000000..fb509bd --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/shortcomings/Invite-extending-Offer.md @@ -0,0 +1,5 @@ +Invite is a subtype of Offer, despite the grammar being inverted -- `John Offer Object to Sally` vs `John Invite Sally to Object` + +because Invite extends Offer, examples given for Invite therefore take the form `John Invite Object to Sally` which doesn't make sense. + +conclusion: Invite should not extend Offer. \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/shortcomings/Mention-not-usefully-defined.md b/wiki.hugo/content/tech/spec/activitypub/shortcomings/Mention-not-usefully-defined.md new file mode 100644 index 0000000..2068a2f --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/shortcomings/Mention-not-usefully-defined.md @@ -0,0 +1,5 @@ +> Mention: A specialized Link that represents an @mention. + +this is an incredibly narrow definition and also one that is often useless. what's so special about an @mention? + +it would have been better to define it in terms of, idk, generating a notification or something? like a webmention? \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/shortcomings/Service-type-ambiguous.md b/wiki.hugo/content/tech/spec/activitypub/shortcomings/Service-type-ambiguous.md new file mode 100644 index 0000000..dbff542 --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/shortcomings/Service-type-ambiguous.md @@ -0,0 +1,20 @@ +> Service: Represents a service of any kind. + +ok so... what are we supposed to do with this + +this is such an ambiguous definition and it doesn't deserve to exist. definitions of "service" according to dictionaries: + +- helping or doing work for someone +- routine maintenance +- the function of serving +- help, use, benefit +- religious ceremony or worship +- administrative division of govt/business +- articles with a particular use +- utility or facility +- material for a rope +- legal summons +- copulation +- ...and more + +so is as:Service supposed to cover any/all of these? that seems extremely unlikely. \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/shortcomings/_index.md b/wiki.hugo/content/tech/spec/activitypub/shortcomings/_index.md new file mode 100644 index 0000000..f7ba421 --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/shortcomings/_index.md @@ -0,0 +1,2 @@ ++++ ++++ \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/shortcomings/attributedTo-ambiguous.md b/wiki.hugo/content/tech/spec/activitypub/shortcomings/attributedTo-ambiguous.md new file mode 100644 index 0000000..dbe5cfb --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/shortcomings/attributedTo-ambiguous.md @@ -0,0 +1,57 @@ +## the problem + +from https://www.w3.org/TR/activitystreams-vocabulary/#dfn-attributedto we have + +`attributedTo` +: Identifies one or more entities to which this object is attributed. The attributed entities might not be Actors. For instance, an object might be attributed to the completion of another activity. + +this definition is circular and therefore left ambiguous. + +from the oxford pocket dictionary of current english: + +**attributed** (verb) +: regard something as being caused by (someone or something).
    - ascribe a work or remark to (a particular author) + +in current usage, objects have `attributedTo` pointing to the actor that authored them or to the actor that "owns" the object (per https://w3id.org/fep/c7d3 which tries to describe this usage) + +a more useful usage would be to point from an Object to the Create activity that created it, or in the case of an Activity, to point from that Activity to some other Activity that caused it. current usage re: authorship should probably be migrated to a more appropriate property with better-fitting semantics, such as `creator` from dublin core or `author` from schema.org. + +http://purl.org/dc/terms/creator +: Creator. An entity responsible for making the resource. Recommended practice is to identify the creator with a URI. If this is not possible or feasible, a literal value that identifies the creator may be provided. + +http://purl.org/dc/elements/1.1/creator +: Creator. An entity primarily responsible for making the resource. Examples of a Creator include a person, an organization, or a service. Typically, the name of a Creator should be used to indicate the entity. + +https://schema.org/author +: The author of this content or rating. Please note that author is special in that HTML 5 provides a special mechanism for indicating authorship via the rel tag. That is equivalent to this and may be used interchangeably. Values expected to be one of these types: Organization, Person. Used on these types: CreativeWork, Rating + +so either reuse existing properties or come up with a new property/ies that encompass the sub-meanings of "attribution" better. + +## discussion + +erincandescent writes: https://socialhub.activitypub.rocks/t/fep-0391-special-collection-proofs/4165/15 + +> Ahh, attributedTo, my behated… +> +> We started with the author property from AS1.0. Somewhere along the way that got lost, then reintroduced as attributedTo, and the scope got widened so now anything can be attributedTo anything. attributedTo in what sense? Well right now everyone means what AS1.0 called “author” - what we started with - though they probably mean “publisher”, +> +> (What did AS1 implementations mean? That’s actually simultaneously more and less clear. What we today call Create(Note), AS1 would call post(note); there, publisher as the actor of the post activity as distinct from the author of the note makes more sense than it does with Create’s actor vs the note’s attributedTo) +> +> - +> +> Anyway, what I’m trying to get at is that in the road to the creation of AS2.0, there was an awful lot of semantic generalisation. Create is the result of squishing create, post and author together (yes there was also an author activity! no I don’t think anyone had a concrete use case for it or ever used it!). attributedTo is a generalisation of author +> +> Some of this makes sense: if we’re using attributedTo to strictly mean author, we’re probably using it wrong (if you imagine a properly rich implementation of AP by a news site, probably people would want to stuff the publication’s name into the attributedTo property for backwards compatibility, and add a new author property for the actual authors of the article); but you have to wonder how this useful generalisation got extended further to the point the Range of the property is now Link | Object. +> +> The result of this applied to the entirety of AS2 is a deeply, deeply unhelpful and implementer hostile situation where nearly every property applies to any object and can point at any object. + +starting from first principles i would honestly think it makes sense for an object to be "attributed to" the Create activity that created it, but no one uses it this way in practice. i respond: https://socialhub.activitypub.rocks/t/fep-0391-special-collection-proofs/4165/17 + +> We are definitely missing a “follow your nose” way of going from a `replies` or `followers` or `following` or `likes` or `shares` back to the object or actor they belong to. Less so for context, because you’d have to keep track of context URIs anyway. +> +> Maybe we can do this with attributedTo? Assuming that we say a Collection is “attributed” to an object, that is to say, the object resulted in the creation of the special collection, in the same way that the Create activity resulted in the creation of the object. It’s attributedTo all the way down. (I’m only half-joking!) +> +> If there’s anything to blame here, I’d point squarely toward the circular definition of the `attributedTo` property. At least with this thought experiment I’m being consistent with my interpretation of “attribution” == “resulting in creation of”. It’s simple causality. If you look up the definition of the word, that’s the sense you get: +> +> > **attributed** (verb) +> > regard something as being caused by (someone or something). diff --git a/wiki.hugo/content/tech/spec/activitypub/shortcomings/collections-underspecced.md b/wiki.hugo/content/tech/spec/activitypub/shortcomings/collections-underspecced.md new file mode 100644 index 0000000..d1c534b --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/shortcomings/collections-underspecced.md @@ -0,0 +1,34 @@ +# collections are kinda underspecced tbh + +loosely inspired by the submission of FEP-5bf0 Collection sorting and filtering + +## filtering + +you could pre-create collections that contain a subset of items, but there's no way to dynamically do server-side filtering; this has to be done client-side by downloading the entire collection and creating any useful indices + +## sorting + +OrderedCollection is mandated reverse-chronological but it should have been possible to specify the ordering + +taking schema.org/ItemList and schema.org/ListItem as prior art: + +- `ListItem.position` is the index +- `ItemList.itemListOrder` is the type of ordering + - `itemListOrderAscending` + - `itemListOrderDescending` + - `itemListUnordered` + +what might this imply is needed for activitypub? + +- `orderedBy`? + - what about multiple ordering criteria? SQL has `ORDER BY` + - actually, is a query language a good fit here? +- `reversed`? more like `order: Ascending` or `order: Descending`? + +## querying + +how do you tell if an arbitrary object is included in a collection or not? without iterating over the entire collection, that is. + +## constraining range + +how do you know what a collection contains? \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/shortcomings/extensibility-in-plain-json.md b/wiki.hugo/content/tech/spec/activitypub/shortcomings/extensibility-in-plain-json.md new file mode 100644 index 0000000..1eedaee --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/shortcomings/extensibility-in-plain-json.md @@ -0,0 +1,8 @@ +# extensibility for plain-json consumers is underconstrained + +the recommendation in the spec is to use JSON-LD for extensions, which leaves open the "best practices" on how might one expect to serialize and parse those extensions. + +my thoughts: + +- if you consider the mastodon protocol/profile, then you basically have to compact against the same context as them, because mastodon only understands shorthand terms that match their own definitions. +- a full IRI is the only unambiguous way to refer to the same thing. namespaces / prefixes are bad because you could have infinitely many ways of expressing the same thing \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/shortcomings/replies-have-no-side-effect.md b/wiki.hugo/content/tech/spec/activitypub/shortcomings/replies-have-no-side-effect.md new file mode 100644 index 0000000..d4bbe57 --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/shortcomings/replies-have-no-side-effect.md @@ -0,0 +1,4 @@ + +`likes` and `shares` are defined in terms of side effects of `Like` and `Announce`, but there is no specified side effect for `Create` with `inReplyTo`. this implies manual management of the replies collection? + +https://github.com/w3c/activitypub/issues/374 \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/shortcomings/resource-vs-procedure-call.md b/wiki.hugo/content/tech/spec/activitypub/shortcomings/resource-vs-procedure-call.md new file mode 100644 index 0000000..eac7656 --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/shortcomings/resource-vs-procedure-call.md @@ -0,0 +1,8 @@ ++++ ++++ + +> is there any idempotency in processing activities, either from a C2S or S2S perspective? I have seen it proposed (albeit semi-unseriously) that you could send multiple Follow or Like activities in order to represent a “super follow” or a “super like”. The only explicitly idempotent bit is the side effect of adding the object to an unordered Collection, which is technically a set and therefore theoretically can’t contain duplicates. A more “common usage” interpretation would hold that follows and likes should be idempotent, but there’s nothing actually establishing this one way or the other. The most naive implementation of, say, C2S or S2S Like, is to handle each Like separately if each activity uses a different id. It then follows that you could post 10 likes of the same object and subsequently undo 3 of those specific activities. And for what it’s worth, adding each activity to either a Collection or an OrderedCollection will not be deduplicated, because each of those activities has a different id. You’ll effectively need to add an implementation quirk that tries to dedupe activities by their shape rather than by their id, in which case… of what purpose is the id? Why bother looking up the original id at all? + +> I bring the previous paragraph/point as an example because I assume blocks are idempotent in “common usage”. If this is indeed the case, then perhaps this should be stated as explicit guidance, and all such “idempotent activities” should be identified clearly. But I can also foresee challenges in trying to establish a conclusive judgement on this. Look no further than Announce – on Twitter and Twitter-like systems, the “retweet” can only be performed once, but on Tumblr and Tumblr-like systems, the “reblog” can be performed any number of times, including in direct succession. Similar reasoning can be extended to pretty much any other activity type. In fact, if you treat all activities as generic posts or items in the “activity stream”, you might not care if someone does a Follow of the same person multiple times in a row. **There is a disconnect between each activity as a resource and each activity as a procedure call. I’m not entirely sure that this disconnect can be fully reconciled.** + +basically you are sending a resource and expecting it to be interpreted in such a way that it has side effects... but the side effects are underspecified. kinda makes you appreciate XRPC from atproto, huh \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/shortcomings/vcard-not-reused.md b/wiki.hugo/content/tech/spec/activitypub/shortcomings/vcard-not-reused.md new file mode 100644 index 0000000..62b4b2a --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/shortcomings/vcard-not-reused.md @@ -0,0 +1,3 @@ +activitystreams 2.0 defines some actor types like Person, Group, Organization + +these types should not have been defined at all. they should have reused the vcard properties. the semantics of the types have led to mistakes such as people looking at Group and assuming that it's a facebook-style group, when that's not the definition at all. \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/activitypub/tag.md b/wiki.hugo/content/tech/spec/activitypub/tag.md new file mode 100644 index 0000000..fe3654d --- /dev/null +++ b/wiki.hugo/content/tech/spec/activitypub/tag.md @@ -0,0 +1,301 @@ ++++ ++++ + +# Tags + +Tags are a property of Objects, stored in the `tag` array. + +From + +**URI:** https://www.w3.org/ns/activitystreams#tag +**Notes:** One or more "tags" that have been associated with an objects. A tag can be any kind of Object. The key difference between attachment and tag is that the former implies association by inclusion, while the latter implies associated by reference. +**Domain:** Object +**Range:** Object | Link + +{{}} + +## Tagging Links {#links} + +In practice, The primary usage of `tag` in most current implementations is to establish a microsyntax. Microsyntaxes are substrings of `name`, `summary`, and `content` that should be linked to or replaced by some rich entity. + +### Link {#link} + +Tagging a Link is not currently widely used, as most use-cases are covered by a more specific sub-type. + +#### Implementation details {#link-implementation} + +In theory, the `name` of a Link could be used to represent the inner text of an anchor link, and the other properties of the Link (`href`, `rel`, etc) would likewise map onto the anchor link. + +Consider the following Article: + +```json +{ + "@context": [ + "https://www.w3.org/ns/activitystreams" + ], + + "id": "https://social.trwnh.com/about", + "type": "Article", + "content": "

    My homepage is trwnh.com

    ", + "tag": [ + { + "type": "Link", + "name": "trwnh.com", + "href": "https://trwnh.com", + "rel": ["me"] + } + ] +} +``` + +For example, the Link in `tag` could be translated into `trwnh.com"`. A plain-text implementation could strip all HTML tags, resulting in a plain-text `content` (`My homepage is trwnh.com`). It could then safely reconstruct only the marked-up links within the tag metadata. In doing so, the plain-text implementation has removed the use of any element that is not supported, such as ``. + +##### FEP-e232: Object Links {object-links} + +FEP-e232 is an extension that proposes using `mediaType` to indicate when a Link refers specifically to an Object that can be fetched using ActivityPub. These Links to Objects are referred to as "object links". The `mediaType` is specified to be the Content-Type that MUST be used to fetch ActivityPub objects, per the ActivityPub spec. + +In Misskey, a quote is a post that embeds a copy of another post below it. Using FEP-e232, a Misskey quote may be represented like so: + +```json +{ + "@context": [ + "https://www.w3.org/ns/activitystreams" + ], + + "id": "https://example.com/@alice/statuses/1578798374936652608", + "type": "Note", + "content": "

    This post is pretty cool RE: https://trwnh.com/objects/e9c427d8-cef1-48bd-ab89-59a6df29673b

    ", + "tag": [ + { + "type": "Link", + "name": "RE: https://trwnh.com/objects/e9c427d8-cef1-48bd-ab89-59a6df29673b", + "href": "https://trwnh.com/objects/e9c427d8-cef1-48bd-ab89-59a6df29673b", + "mediaType": "application/ld+json; profile=\"https://www.w3.org/ns/activitystreams\"", + "rel": ["https://misskey-hub.net/ns#_misskey_quote"] + } + ] +} +``` + +(It has also been proposed that Misskey quotes be defined by a different extension that specifies a Quote type (as a sub-type of Link) and a `quotes` collection to keep track of related activities in the same vein as the `likes` and `shares` collections. See for more details.) + +Other example microsyntaxes that could be represented by FEP-e232 include: + +- Wiki (`link to [[article]]`, where `[[article]]` is an object link to another Article in the wiki) +- Imageboard (`>>6513 reply to post`, where `>>6513` is an object link to another Note in the thread) +- Issue tracker (`Merge request #123 fixes bug #13 `, where `#123` and `#13` are object links to other entities in the project) + +General pseudocode may look something like this: + +```py +# Extract custom emojis from tag array +tags = Object.tag +REQUEST_TYPE = 'application/ld+json; profile="https://www.w3.org/ns/activitystreams"' +RESPONSE_TYPE = 'application/activity+json' +ObjectLinks = [ + tag + for tag in tags + where tag.mediaType in set(REQUEST_TYPE, RESPONSE_TYPE) +] + +for Link in ObjectLinks: + + # The purpose of object links is to know that you can fetch an object with ActivityPub: + Object = http.GET( + Link.href, + headers={ + 'Accept': REQUEST_TYPE + } + ) + + # You can now process the object link in some way, + # for example by creating deep links to be resolved within the local application +``` + +The text of FEP-e232 may be found at + +### Mention {#mention} + +A sub-type of Link that refers to an `@mention`, typically used for Actors. In practice, the Mention may begin with other characters depending on the sub-type of the Actor. For example, some implementations [TODO: which?] may use `@person` for Person actors and `!group` for Group actors. + +#### Implementation details {#mention-implementation} + +The `href` typically links to the `id` of the actor being mentioned. + +Consider the following Note: + +```json +{ + "@context": [ + "https://www.w3.org/ns/activitystreams" + ], + + "id": "https://example.com/@alice/hello-world", + "type": "Note", + "content": "

    Hello @bob

    ", + "tag": [ + { + "type": "Mention", + "name": "@bob", + "href": "https://example.com/@bob" + } + ] +} +``` + +

    The following paragraph describes behavior necessary for Mastodon compatibility.

    + +In theory, this Mention tag is optional. In practice, Mastodon uses the presence of a Mention tag to determine when to send notifications, so it is not enough to include your primary recipients in the `to` field of your activity. You must also generate a Mention tag for them, *even if they are not actually mentioned anywhere in the text of `content`!* See for more information: (and other related issues) + +Mastodon also has other weird behavior regarding Mention tags. [TODO: figure out and compile a list of this implementation-specific behavior] + +### Hashtag {#hashtag} + +A sub-type of Link that refers to a `#topic`, typically used for associating the object with a collection of other objects sharing the same topic. + +#### Implementation details {#hashtag-implementation} + +

    Not officially part of the ActivityPub context definition, but still assumed to be included in the ActivityStreams `as:` namespace by most implementations (for historical reasons). Implementations should manually define `as:Hashtag` in their JSON-LD `@context`.

    + +The `href` typically links to a collection of all objects tagged with the same Hashtag. + +Consider the following Note: + +```json +{ + "@context": [ + "https://www.w3.org/ns/activitystreams", + { + "Hashtag": "as:Hashtag" + } + ], + + "id": "https://example.com/@alice/hello-world", + "type": "Note", + "content": "

    I am talking about a #topic

    ", + "tag": [ + { + "type": "Hashtag", + "name": "#topic", + "href": "https://example.com/tagged/topic" + } + ] +} +``` + +## Tagging Objects {#objects} + +In theory, you could tag an Object to show that it is somehow referentially associated with the current Object. + +An example application would be the Instagram or Facebook "tag a person in this image" feature, which might be implemented something like this: + +```json +{ + "id": "https://social.example/objects/e9c427d8-cef1-48bd-ab89-59a6df29673b", + "type": "Image", + "url": "https://cdn.social.example/1578798509203652608.jpg", + "tag": [ + "https://facebook.com/users/1" + ] +} +``` + +```json +{ + "id": "https://facebook.com/users/1", + "type": "Person", + "name": "Mark Zuckerberg" +} +``` + +However, it might be better to stick to using [Mentions](#mention) as defined above. + +Another example would be tagging a Note or an Article, but the semantic meaning of this is unclear, at least for most current social use-cases. + +### Emoji {#emoji} + +

    This is an extension type.

    + +See for more: + +An object node that refers to a `:custom_emoji:`, typically used for replacing a plain-text substring with an inline image (by implementations that do not otherwise support arbitrary inline images). + +#### Implementation details {#emoji-implementation} + +Handling an Emoji is typically done by matching for the Emoji's `name` and replacing with an `` element where `src` is the `url` of the Emoji's `icon`. + +

    Note that this extension uses `icon` instead of `href`, but the same "search-and-replace" semantics apply, as with any microsyntax.

    + +Consider the following Note: + +```json +{ + "@context": [ + "https://www.w3.org/ns/activitystreams", + { + "toot": "http://joinmastodon.org/ns#", + "Emoji": "toot:Emoji" + } + ], + + "id": "https://example.com/@alice/hello-world", + "type": "Note", + "content": "

    Hello world :kappa:

    ", + "tag": [ + { + "id": "https://example.com/emoji/123", + "type": "Emoji", + "name": ":kappa:", + "icon": { + "type": "Image", + "mediaType": "image/png", + "url": "https://example.com/files/kappa.png" + } + } + ] +} +``` + +- We extract the natural-language properties of `name`, `summary`, and `content`. In this case, we have only `content` of `Hello world :kappa:`. +- We extract any elements from `tag` with a type of `Emoji`. In this case, we have only one, for `:kappa:`. +- We search for `Emoji.name` (`:kappa:`) within the identified `content` (`Hello world :kappa:`) and replace it with an inline image sourced from `Emoji.icon.url` (`https://example.com/files/kappa.png`), resulting in the final value for content being `

    Hello world

    `. + +Pseudocode might look something like this: + +```py +# Extract custom emojis from tag array +tags = Object.tag +Emojis = [tag for tag in tags where tag.type == "Emoji"] + +for Emoji in Emojis: + + # replace :emoji: microsyntax with an inline image (within name) + name = Object.name # may need to extract `name` from `nameMap` instead + name_matches = regex.match(substring = Emoji.name, text = name) + for match in name_matches: + search_and_replace( + text = name, + search = Emoji.name, + replace = f'' + ) + + # replace :emoji: microsyntax with an inline image (within summary) + summary = Object.summary # may need to extract `summary` from `summaryMap` instead + summary_matches = regex.match(substring = Emoji.name, text = summary) + for match in summary_matches: + search_and_replace( + text = summary, + search = Emoji.name, + replace = f'' + ) + + # replace :emoji: microsyntax with an inline image (within content) + content = Object.content # may need to extract `content` from `contentMap` instead + content_matches = regex.match(substring = Emoji.name, text = content) + for match in content_matches: + search_and_replace( + text = content, + search = Emoji.name, + replace = f'' + ) +``` \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/email/_index.md b/wiki.hugo/content/tech/spec/email/_index.md new file mode 100644 index 0000000..f7ba421 --- /dev/null +++ b/wiki.hugo/content/tech/spec/email/_index.md @@ -0,0 +1,2 @@ ++++ ++++ \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/email/case-sensitivity.md b/wiki.hugo/content/tech/spec/email/case-sensitivity.md new file mode 100644 index 0000000..13f68a2 --- /dev/null +++ b/wiki.hugo/content/tech/spec/email/case-sensitivity.md @@ -0,0 +1,30 @@ ++++ +title = "case sensitivity in email addresses" ++++ + +domain names are case-insensitive, but the local part of an email MAY be case sensitive, though it SHOULD NOT be case sensitive. + +https://www.reddit.com/r/todayilearned/comments/2r264r/comment/cnbuk7w/ + +> Way back when Compuserve and AOL were top-tier ISPs, maybe. Each of the RFCs supercedes the old ones. Even your source acknowledges this isn't the practice: +> +>> Interpretation of the local-part of an email address is dependent on the conventions and policies implemented in the mail server. For example, case sensitivity may distinguish mailboxes differing only in capitalization of characters of the local-part, although this is not very common.[6] +> +> Your source also goes on to talk about updates, like Google making their own additions with the extra dots and plus sign. +>> Gmail ignores all dots in the local-part for the purposes of determining account identity.[7] This prevents the creation of user accounts your.user.name or yourusername when the account your.username already exists. +> +> This may be misleading because the information about the email protocols has been updated, and the old protocols are no longer valid. +> - RFC 821 was the original (1982) email protocol, sure +case sensitive. +> - RFC 2821 (2001) makes 821 & others obsolete - still +case-sensitive. +> - RFC 5321 (2008) RFC 2821 is obsolete - perhaps, but no longer considered common +> +>> Mailbox = Local-part "@" ( Domain / address-literal ) +>> +>> Local-part = Dot-string / Quoted-string ; MAY be case-sensitive +> +> RFC 6530 (2012)- acknowledges this is a bad idea. +>> 10.1. Choices of Mailbox Names and Unicode Normalization +>> +>> It has long been the case that the email syntax permits choices about mailbox names that are unwise in practice, if one actually intends the mailboxes to be accessible to a broad range of senders. The most often cited examples involve the use of case-sensitivity and tricky quoting of embedded characters in mailbox local parts. These deliberately unusual constructions are permitted by the protocols, and servers are expected to support them. Although they can provide value in special cases, taking advantage of them is almost always bad practice unless the intent is to create some form of security by obscurity +> +> e-mail addresses WERE supposed to be case sensitive, but it was always a bad idea \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/openid/!overview.md b/wiki.hugo/content/tech/spec/openid/!overview.md new file mode 100644 index 0000000..42a8487 --- /dev/null +++ b/wiki.hugo/content/tech/spec/openid/!overview.md @@ -0,0 +1,163 @@ ++++ ++++ + +ok let's dive in i guess + + + +here's what i could grasp + +## spec summary + +### openid connect core (OIDC-CORE) + +main points: + +- use oauth 2 to issue an **ID Token** +- use jwt to construct specific claims + - the `iss`uer is the url of the IdP host + - the `sub`ject is some unique identifier (uuid? etc) + - the `aud`ience MUST contain the `client_id` and MAY be an array with other values + - the `exp`iry is some unix timestamp (integer seconds since jan 1970) + - the `iat` (issued at) is also a unix timestamp + - the `auth_time` is a timestamp of when the user was authenticated + - required for `max_age` or when `auth_time` is marked as "essential claim" + - the `nonce` is a string that mitigates replay attacks. + - clients add this and you pass it back so they can verify + - required only if the client gives it to you, MUST be passed back as-is with no processing + - OPTIONAL: the `acr` (authentication class reference) indicates the "level"?? of the authentication. similar to `nist_auth_level` in openid 2.0? + - > Parties using this claim will need to agree upon the meanings of the values used, which may be context-specific + - so this is gonna require more in-depth investigation later + - OPTIONAL: the `amr` (authentication method reference) is an array of identifiers for which methods were used to authenticate -- password/otp/etc + - > The definition of particular values to be used in the amr Claim is beyond the scope of this specification + - so this is also gonna need investigation later + - OPTIONAL: the `azp` is the authorized party, this MUST contain the `client_id`. only needed when the `aud` is a single value that is *different*, but may be inclued even if it's the same. + - OPTIONAL: you MAY include other claims other than the standardized ones above, or per other standards +- use jws to sign the token (required) and jwe to encrypt the token (optional) + - sign, THEN encrypt, to produce a nested jwt as defined in the jwt spec + +example: client `s6BhdRkqt3` makes an authentication request `n-0S6_WzA2Mj`, and gets a response that user `24400320` on `https://server.example.com` was authenticated at `1311280970` and this claim expires in 1000 seconds + +```json +{ + // the authority + "iss": "https://server.example.com", + "sub": "24400320", + // the request + "aud": "s6BhdRkqt3", + "nonce": "n-0S6_WzA2Mj", + // timestamps and ranges + "auth_time": 1311280969, + "iat": 1311280970, + "exp": 1311281970, + // some extra info about the authn level + "acr": "urn:mace:incommon:iap:silver" +} +``` + +three flows defined as part of oauth 2: `response_type` == +- `code` for authorization code flow. code is returned from authorization endpoint, exchanged for token from token endpoint [best practice is to use this with PKCE] +- `id_token` or both `id_token token` for implicit flow. allows one round-trip, but inherently insecure [deprecated in oauth 2.1 even] +- hybrid flow? ask for some combo of `code` and at least one of `id_token` or `token`. + +also note that `token` is defined in oauth 2 but not? used for oidc? since no IdT is returned + +## putting it all together? + +per OIDC-DISCOVERY: webfinger? look for or query `rel` link `http://openid.net/specs/connect/1.0/issuer` and you obtain the host + +```json +{ + "subject": "acct:joe@example.com", // or the url "https://example.com/joe" could work. more than one way to get to this point, in theory. + "links": + [ + { + "rel": "http://openid.net/specs/connect/1.0/issuer", + "href": "https://server.example.com" // bingo. + } + ] +} +``` + +also per OIDC-DISCOVERY: obtain the openid configuration to get endpoints and relevant info + +```http +GET /.well-known/openid-configuration HTTP/1.1 +Host: server.example.com + +{ + "issuer": + "https://server.example.com", + "authorization_endpoint": + "https://server.example.com/connect/authorize", + "token_endpoint": + "https://server.example.com/connect/token", + "registration_endpoint": + "https://server.example.com/connect/register", + // ... +} +``` + +register your client with Dynamic Client Registration (OIDC-DCR) + +```http +POST /connect/register HTTP/1.1 +Content-Type: application/json +Accept: application/json +Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJ ... # may be obtained out-of-band or otherwise dropped if you want anyone to be able to register + +{ + // ... +} +``` + +make a GET request following the authcode flow. scopes defined in OIDC-CORE, along with their associated claims: + +- the `openid` scope grants standard claims like `sub` and must be present to validate the auth request +- the `profile` scope grants claims for + - `name` + - `family_name` + - `given_name` + - `middle_name` + - `nickname` + - `preferred_username` + - `profile` + - `picture` + - `website` + - `gender` + - `birthdate` + - `zoneinfo` + - `locale` + - `updated_at` +- the `email` scope grants claims for + - `email` + - `email_verified` +- the `address` scope grants claims for + - `address` +- the `phone` scope grants claims for + - `phone_number` + - `phone_number_verified` + +[TODO: are there any standards for granular scopes or for information not in this list? i see FHIR for health information registries, like `patient/*.* sens/ETH sens/PSY btg` to request access to all patient data with all methods, plus substance abuse and psychiatry data, while "breaking the glass" (the patient is unavailable, so log this in an audit log somewhere). so i'm guessing that i'm going to be firmly in extension territory here...] + +also per OIDC-PROMPT-CREATE you may add `prompt=create` to initiate a user registration? + +```http +GET /authorize? + response_type=code + &scope=openid%20profile%20email + &client_id=s6BhdRkqt3 + &state=af0ifjsldkj + &redirect_uri=https%3A%2F%2Fclient.example.org%2Fcb HTTP/1.1 +``` + +exchange your code for a user token + +```http +POST /token? + // ... +``` + +## drafts to consider (and their implications) + +per OID4VP (verifiable presentations, related to verifiable credentials): you may have client_id == redirect_uri or you may have iss == aud. this indicates a self-issued token. maybe the value is a DID? \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/openid/!scopes.md b/wiki.hugo/content/tech/spec/openid/!scopes.md new file mode 100644 index 0000000..2d32573 --- /dev/null +++ b/wiki.hugo/content/tech/spec/openid/!scopes.md @@ -0,0 +1,9 @@ +https://mastodon.social/@trwnh/109799253222783029 + +diving back into openid specs to wrap my head around how this whole "identity provider" thing might work + +i have a webfinger server which is like step 1 for the intended flow -- ask webfinger for an account's link rel oidc issuer, then `GET /.well-known/openid-configuration` to find endpoints and other such info. the only real gap seems to be a major one: scope. there's no standardized definition for scope except for `profile` `email` `phone` and `address` as defined by OIDC-CORE... + +this is obviously not good enough for resource control, so it seems i might be firmly in extension territory + +i am not an expert here but my naive concept would be to replicate unix acls for directories and subdirectories? you can read this https uri and all children, or you can get write access. but i'd really like to do things in a more ocappy way if feasible \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/openid/_index.md b/wiki.hugo/content/tech/spec/openid/_index.md new file mode 100644 index 0000000..f7ba421 --- /dev/null +++ b/wiki.hugo/content/tech/spec/openid/_index.md @@ -0,0 +1,2 @@ ++++ ++++ \ No newline at end of file diff --git a/wiki.hugo/content/tech/spec/webfinger.md b/wiki.hugo/content/tech/spec/webfinger.md new file mode 100644 index 0000000..b3f542f --- /dev/null +++ b/wiki.hugo/content/tech/spec/webfinger.md @@ -0,0 +1,3 @@ ++++ ++++ + diff --git a/wiki.hugo/content/tech/tutorials/_index.md b/wiki.hugo/content/tech/tutorials/_index.md new file mode 100644 index 0000000..f7ba421 --- /dev/null +++ b/wiki.hugo/content/tech/tutorials/_index.md @@ -0,0 +1,2 @@ ++++ ++++ \ No newline at end of file diff --git a/wiki.hugo/content/tech/tutorials/att-bgw320-ipv6.md b/wiki.hugo/content/tech/tutorials/att-bgw320-ipv6.md new file mode 100644 index 0000000..0965502 --- /dev/null +++ b/wiki.hugo/content/tech/tutorials/att-bgw320-ipv6.md @@ -0,0 +1,8 @@ +# How to get IPv6 routing working for incoming traffic to your home servers behind an AT&T BGW320 modem + +Firewall > Firewall Advanced: + +- turn OFF "drop incoming ICMP Echo request to LAN" +- turn OFF "Reflexive ACL" + +more???? \ No newline at end of file diff --git a/wiki.hugo/content/tech/tutorials/onhub-openwrt.md b/wiki.hugo/content/tech/tutorials/onhub-openwrt.md new file mode 100644 index 0000000..46948ec --- /dev/null +++ b/wiki.hugo/content/tech/tutorials/onhub-openwrt.md @@ -0,0 +1,166 @@ +# installing openwrt on a tp-link google onhub + +was tracking this thread as it developed: + +anyway it happened, and it's at a point where it's basically usable and ~stable, will be officially supported in 23.05 i think + +## flashing + +wiki page: + +### steps i took + +prepare the install usb: + +- download the firmware and rename it openwrt.bin, and plug in a spare usb drive which showed up as /dev/sdg +- `sudo dd if=openwrt.bin of=/dev/sdg` + +prepare the hardware: + +- peel off the soft circular pad on the base of the router, unscrew the hex nut (1.5) and there will be a "developer mode" button somewhere below it (you can't see it but trust me it's there sorta). you'll need this in a bit + +boot sequence: + +- plug in the usb +- hold the reset button on the back (next to the ethernet and power) as you plug the power in. wait until the led ring blinks red (not orange), then you can let go. +- press the developer mode button you uncovered from behind the hex nut. fumble around a bit til you hear/feel it press down. the leds should blink purple for a bit and the speaker should beep twice, then the leds go blank as the device boots. press the developer mode button again after the beeps. you'll know it's done when the led ring lights up with multiple colors (rgb). + +flash: + +- connect ethernet to the lan port and to some other device like a laptop +- ping 192.168.1.1 to make sure it's online +- copy and write the firmware with scp and ssh + +```sh +scp -O openwrt.bin root@192.168.1.1:/tmp/ + +ssh root@192.168.1.1 -C "dd if=/dev/zero bs=512 seek=7552991 of=/dev/mmcblk0 count=33 && dd if=/tmp/openwrt.bin of=/dev/mmcblk0 bs=1M" +``` + +take out the usb because we're done, openwrt is installed. unplug power and put it back in. it should boot to the onboard storage (after blinking purple and beeping and then going multicolor rgb). brace yourself, because that was the easy part + +## configuring + +took me a hot minute to find this: + +### install web gui (if not already installed) + +what you specifically probably want to do is to get internet access and install the web gui. this should already be installed once 23.05 releases but on the snapshot i installed, it wasn't. so: + +```sh +ssh root@192.168.1.1 + +uci set network.lan.ipaddr="192.168.1.1" # if it's different than default +uci set network.lan.gateway="192.168.0.1" # whatever you use +uci set network.lan.dns="9.9.9.9" # or whatever you prefer + +uci commit +/etc/init.d/network restart +``` + +ssh will disconnect. reconnect at the new ip. + +now install luci: + +```sh +ssh root@192.168.1.1 + +opkg update +opkg install luci-ssl # for https. install `luci` if http is fine +``` + +### gui time + +the basics first: password, ssh limits, yknow. + +- system > system > general settings: set a hostname and some metadata and timezone +- system > administration: + - router password: set a good password + - ssh access: change the interface from "unspecified" (any) to `lan`. maybe also the port if you want. consider turning off password auth. + - ssh-keys: add ssh keys that you want to be able to login + - https access: optionally redirect http to https if you installed that earlier + +#### network + +network > interfaces: + +- i went to edit `lan` > dhcp server > general setup, and i changed the limit to 100 instead of 150. i *think* this maps the dhcp range to 101-200 if i understand correctly. + +network > wireless: + +- you can add the same ssid and security (wpa3/wpa2 mixed mode, most likely) to radio0 (2.4gz) and radio1 (5ghz). this doesn't actually seem to be enough for smart connection switching ("band steering"?) and i noticed pretty much all devices just stuck with 2.4ghz and never connected to 5ghz. + +- you could also say fuckit and use different ssids like "network-2g" and "network-5g". this seems less appealing, i'd rather properly figure out how to use the same ssid and get devices to prefer 5g + +- idk what radio2 is supposed to be for on the onhub. on the forum, there was some talk about some linksys router having a "third radio" for monitoring DFS, it wasn't meant to be connected to. but idk if this is the same kinda thing. i thought some routers had tri-band to use one of the bands as wireless backhaul in mesh situations. + +- set radio0 and radio1 to auto channel +- set radio1 width to 80mhz + +network > dhcp and dns > general settings: + +- change local server and local domain from `lan` to `local` (better browser support i think) + +network > dhcp and dns > advanced settings: + +- DNSSEC: turn it on + +network > dhcp and dns > hostnames + +- add mappings for stuff like `home.trwnh.com => 192.168.1.2` -- one mapping per hostname you want to resolve locally + +network > firewall > port forwards: + +- set up your port forwarding for home server apps that need it. stuff like `https = wan:443 => 192.168.1.2` + +#### some apps? + +this heavily depends on what you wanna do, if you wanna run homeserver stuff or whatnot. + +system > software + +stuff you might want: + +wpad-openssl +: fully featured wireless support. the default package (wpad-mbedtls) is stripped down and doesn't fully support roaming or mesh or other stuff you might want. + +dnmasq-full +: DNSSEC support? + +cli tools for easier ssh times: + +nano +: i don't really care for vi + +luci apps (gui stuff basically): + +luci-app-upnp +: configure upnp + +luci-app-attendedsysupgrade +: update openwrt from the web gui + +## problems left unsolved + +- same ssid for 2g/5g but preferring 5g, i.e. without getting stuck on 2g. (again: "band steering"?) + - it sort of works but idk if it actually works. stuff connects to 2g more often than i'd expect. what i did was set 2g power to 15db, leave it at 20mhz + +## mesh + +prereqs to install: ath10k (non-CT) qca988x firmware and driver + +- ath10k-firmware-qca988x +- kmod-ath10k + +you can now uninstall the old stuff (idk if you *have* to, but you can and i did) + +- ath10k-firmware-qca988x-ct +- kmod-ath10k-ct + +reboot. + +you should now be able to get your 802.11s interface working. i used radio2 in ac mode on channel 48 with 80mhz width. ymmv, but make sure the settings you choose are the same on all devices. + +same with the client wifi networks. use the same channels and everything + +for the wifi client stuff i had to use the lower channels bc the higher channels were giving me a driver error. `readlog -n 20 -f` \ No newline at end of file diff --git a/wiki.hugo/content/tech/tutorials/postgres-upgrade.md b/wiki.hugo/content/tech/tutorials/postgres-upgrade.md new file mode 100644 index 0000000..a05d1d0 --- /dev/null +++ b/wiki.hugo/content/tech/tutorials/postgres-upgrade.md @@ -0,0 +1,114 @@ +# upgrading postgresql on arch (in case you fucked up) + +```sh +stop postgresql +stop akkoma # make sure nothing is trying to hit the database +``` + +## pg_upgrade will fail if you initdb with different params + +so i'd made a file-level backup at least + +```sh +sudo mv /var/lib/postgres/data /var/lib/postgres/olddata +``` + +i tried to + +``` +sudo mkdir /var/lib/postgres/data /var/lib/postgres/tmp +sudo chown postgres:postgres /var/lib/postgres/data /var/lib/postgres/tmp + +sudo -iu postgres +cd /var/lib/postgres/tmp +initdb -D /var/lib/postgres/data --locale=en_US.UTF-8 --encoding=UTF8 --data-checksums +``` + +this caused pg_upgrade to fail because the old data didn't have `--data-checksums` enabled + +## pg_dumpall will fail with extensions like rum + +ok so that didn't work, let's try the manual dump and reload. exit out of the postgres session and back to your user + +```sh +yay -S postgresql-old-upgrade +sudo rm -r /var/lib/postgres/data +sudo mkdir /var/lib/postgres/data +sudo chown -R postgres:postgres /var/lib/postgres/data + +sudo -iu postgres +initdb -D /var/lib/postgres/data +/opt/pgsql-14/bin/pg_ctl -D /var/lib/postgres/olddata/ start +``` + +the old version should be running now + +```sh +pg_dumpall -h /tmp -f /tmp/old_backup.sql +``` + +aaaaand this failed because of something to do with pg_rum + +## downgrading to get a good dump + +ok let's kill the old postgres + +```sh +sudo killall postgres +``` + +copy the old data over and set permissions + +```sh +sudo rm -r /var/lib/postgres/data +sudo cp -r /var/lib/postgres/olddata /var/lib/postgres/data +sudo chown -R postgres:postgres /var/lib/postgres/data +``` + +downgrade to the last version of postgres + +```sh +yay -S downgrade +sudo downgrade postgresql +start postgresql +``` + +dump + +```sh +pg_dumpall > /tmp/dumpall.sql +``` + +now we can upgrade again? + +```sh +stop postgresql +yay -S postgresql +yay -S pg_rum # do a clean build? +``` + +now we try to restore data + +``` +sudo rm -r /var/lib/postgres/data +sudo mkdir /var/lib/postgres/data +sudo chown -R postgres:postgres /var/lib/postgres/data + +sudo -Hu postgres initdb -D /var/lib/postgres/data --locale=en_US.UTF-8 --encoding=UTF8 --data-checksums + +start postgresql + +sudo -Hu postgres psql -f /tmp/dumpall.sql template1 +``` + +this worked for me + +## etc + +while you're here you might as well update and migrate akkoma if you're still running that? + +```sh +sudo -Hu akkoma MIX_ENV=prod mix deps.get +sudo -Hu akkoma MIX_ENV=prod mix ecto.migrate +start akkoma +``` \ No newline at end of file diff --git a/wiki.hugo/content/tech/tutorials/sveltekit.md b/wiki.hugo/content/tech/tutorials/sveltekit.md new file mode 100644 index 0000000..8cf84b2 --- /dev/null +++ b/wiki.hugo/content/tech/tutorials/sveltekit.md @@ -0,0 +1,93 @@ ++++ ++++ + +# stuff i learned by me fucking around with sveltekit for a bit + +{{}} + +## prerequisites + +```sh +npm i -D @sveltejs/adapter-static # for static file output +npm i -D svelte-preprocess # to allow for \ No newline at end of file diff --git a/wiki.hugo/layouts/search/list.html b/wiki.hugo/layouts/search/list.html new file mode 100644 index 0000000..0207e80 --- /dev/null +++ b/wiki.hugo/layouts/search/list.html @@ -0,0 +1,22 @@ +{{ define "main" }} +
    +
    +
    +
    +

    for ""

    +
    +
    +
    +
    +
      + +
    +
    +
    +
    +
    + +{{ partial "search/search-index.html" . }} +{{ end }} \ No newline at end of file diff --git a/wiki.hugo/layouts/shortcodes/toc.html b/wiki.hugo/layouts/shortcodes/toc.html new file mode 100644 index 0000000..caa85a2 --- /dev/null +++ b/wiki.hugo/layouts/shortcodes/toc.html @@ -0,0 +1,6 @@ + \ No newline at end of file diff --git a/wiki.hugo/layouts/sitemap/list.html b/wiki.hugo/layouts/sitemap/list.html new file mode 100644 index 0000000..3c6b028 --- /dev/null +++ b/wiki.hugo/layouts/sitemap/list.html @@ -0,0 +1,41 @@ +{{ define "main" }} +
    +
    +
    +

    {{.Title}}

    +

    alternate formats: [XML]

    +
    +
    +
    +
    +
    +
    +

    most recently updated

    +
    +
      + {{ range sort .Site.RegularPages ".Lastmod.UTC" "desc" }} +
    • + + {{.File.Path}} + +
      + {{ .Lastmod.UTC.Format "2006-01-02" }} +
    • + {{ end }} +
    +
    +
    +
    + +{{ end }} \ No newline at end of file diff --git a/wiki.hugo/static/communication-diagram.png b/wiki.hugo/static/communication-diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..4c9658f13851e2d1aec9f3a9da7dcdc168e6ea8a GIT binary patch literal 399595 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

    !xrk|A1?N{WC4pr}AH?OE7MOLQ7n)*qs>ucg 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�-paMN$%H`TBxxFS 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

    $C?AAK*S-b6*ekH9J+`JC` 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 z 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

    +tkR7!Kb^^Pn+ov> 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

    GMweR>t)yb_ zPelWLW#tLWZL;j{o&@_WCsSwTl4Ymj1Dwl%MD|!pDh?YXfk?#rL(vzRI8rB3%(fR2 zxw!y3)Xv8z>JZ+Ole&S^1kvRn#YQ7w1P95=>FO7=7n@N5dO&fiL>?d3WGh=Ei@I-c ziBF$g8OPC9zgI4p=E*cpKCIwK`f3$Bb0}miuDBK*a+G#lE?(mvh9Tu@C|@2CQnjw`r80&TtSfqK+ji_ z=%o{ECjJnGsca5Vc)6mi}d}p7SnrfvStx`EJvF*w7z)(Kx zT2A(ok$8k(H;YU$qGp4Z(=Y3<_phYT0AA8KF*<+2iA@eh zOcq2f*PB#xWX2nXW?C`Tb`t`Fb%`k>`b)>s(p!c~mJf-Cv13(XLm#|g%kMPRN84U5 z*Fme{>PNj!1%<#Iv58>~&X-Zzg13Mhgn%+2J%0AoR2orIr|1|YvL^v!NcL)t5fNC# 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

  • ~_5)oLrk8uC<{o*R))}0I6HW|*g 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 ^ye;W$*l*OYpEO7onnv(mAR2b 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 N002ovPDHLkV1jfC2aNy# literal 0 HcmV?d00001 diff --git a/wiki.hugo/static/scanlines-mask-640x480.png b/wiki.hugo/static/scanlines-mask-640x480.png new file mode 100644 index 0000000000000000000000000000000000000000..5eae14de125b5579af6079cd780f019d788a1dd1 GIT binary patch literal 2546 zcmeAS@N?(olHy`uVBq!ia0y~yU}|7sV0^&A3>0DF*SQ9ySkfJR9T^xl_H+M9WMyDr zW(e>JaRrKxg3%Bdu_3V8;7bQEqcD^N`33(U*?=MVJG&|{A#fIWL>4nJ@ErnSMo|r~ z1_lP!8c!F;kczmsmkb#h40u=;{xH9*_x_>Sg#)%6vP;ASg|ay&y0#pVa!L_Y+}I`% w>Ef|Q(PdP4G)zVl#At39Eea?p9s_p#eh_==PtT&~wV+zs)78&qol`;+0Bx+u@Bjb+ literal 0 HcmV?d00001

    -=7OD)lCUD(9EI}Ns&)DpJ_Xa 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
    S$w@M9YK}^x>6LNE$2@bZy_h2~?mt*$K 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°XN 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 S~Vd&tR za2(F78cl~~5U>Mr>S3QuBfss)uS1(hycJEeH@-^pUiP>~}g>zG=LY-dx z4k_GPy}lLh_d^b~`H%}A7w{`^!ddD2-JBXY+I)M>@jdT(I_P<5vD&n(1|G3ihbOkH zVJy1jBjoJ?w*~X}{)#nRDb-DO3f-;IaFc=EpHi4~2#j(4qN5OzlBj>&?_QCeLWxUx z=IrqiiyI$Z5l&GepI^+wjUkn%sY$0)ewdqkJa$uab9)gFkrXroO#K;psVEY(h;|XU zU5o#K%P1+q>`NfQmY*c6mX_@gS<;bAn7y{zMpp9SVD7E^nwSsPXCwqKzPf>p2Z=79 zmxunjE|;DO#r6B1_|JAl{4(WXiJ$ngU0?=~v-=dZ1eF4^h8wcCrzPofKL}$5d11!h z-4c=zYC(4Ga$n9iWy%h%y^rP$wy6c45#^@jSO{)qBU(GZR9r91zQ4JBy!Zk4WcuZ# z8$QeHhVvd+;vH>V9Ozv(4bsg5(hU+K-Hp=SlG5EBOLs_jcPXHBgMc(Bd7sbscW3V0nVr$U z*xlLPC(iqv*YQi@j%oF{Q8M^@k^597LG8wRwRfK zis02LB9{<%lvTj4rAs-pW3Al0{ASz0H?v4?ie0(YX&24D`JbDZL`!11|yXi^81vN^kEZ2^Y>yy2MhmCNb*6F0DG8nF}2 zWM$+no+Q8+iy36M(wdrhbWV7Ky4uM>LFU+If7s8ppPM~j5IP<%#z8J!^W#SxacqWI zJbGo2xwp>XoVBWVF$xFve{5+gHKssHc({+%2E97t*QARAE`PB>4J2^I#P1S=7fpR7 zvDF)J60NjHNH9Yna`t2?;Jo+NZnb4<<%-(~wGhoSL(M9hl{-i*_e~fU7l*)T)e+yp zwbx(2ckQdjc79)C{jL(B7YC+SVW`<_anhY~b}QG|p>U4fVNDTU4MQu(@Y=*-^+Wn4 zo}5Lpp(uE76k`T97?I6K<`FBY&LkS+X*?r9w>m;wKO7;O;a*>|t<@$Mgif#3522_? zKmc{lv|?3?^veRlrl%|$C5laD6&aO6n3<>Y3PlRd4vAdC`zp;D!Ht3Q?c zi@|^pczyS$3_&Yp;{JjdbJTdWr~D?eNE?GzM!G2xmX<){M122nDc|qPn)R(dn1YLt z@RU9@Y*3(|AT^~_quk{lp`P2dPZ2wbIwAHH`8(+pDw$^acP5WT)vVIB-elal^2^(2nXjz`00UUsp_?e(=Np`RFG;A%_1-R&9)3$nuhWj?UO zaKlWyu*5lMJA^L}g9hUti1Ql_A9$jx4|(4bmPw-pCr=SqT&JxtDlBT}qet{n!$|Ow zWrFuT_f`D65e2)dt2 zDu17cs~zE7t)RAbFOob~x;=xMkE>w3BKm>xJ=!5drkb3SdK|3PS@o{)c3Hy9uFh66 zhBZPBBeB|Fg%Fmu3AvGq2gk#Z(KzyvQZ!r)5?ge%&nW#bjNj%vnS7!|Yn;qd|6VMM z;I~QrQ%wur@Lk>rdZeiKFsanvFE+54{q_AUe^0UYbxZ7F7bH}|n)Qtp81u@?%3#ud z?eb@5(?>zPd3DJqG%@ToI-2BJ`&*a+uIQ?JO;a0CUbLSOcGn<~xb~n@q4;=gn~Y6X z1=5p$a`^i$y7Il9ki=bD-;DC>TNRZ=LeIkoW{P2*D9DelhaWLGRoW{^Hgfa$wUt#> zPCI9+UY&5wymk(zkDQrRM~(No7#9Ss#70tZbF}Y+U7Xcuv-9`^^P;vZ-kg7rx%FT1 zZLhT1_;!DH61aAvvvJTM;G`6}ob|PEomhB5c4_5ye;rf5Rl)!w8py=QAz!Ijw(0ME zd~;)KjaZUUsFb$+2f4TsXC{Pd9PMHv?iJMx9wf^@LPqp~dpI_y2MY>(Y&)2t=5_uj z)!nC-9-?T-bq%dk`_CJE{xr%X(aeOcj=Ni{&j0NZ{{`X}*)O>1#&JV|bY;|&x17KH z83!vAUt8K3jqnZ2y{ya6R5N+B@+$-;CKq8vgRe=f^(ndv##C}ErzEB;!9@-seZ~ip zVSAF&86ZD(b8wqIV^!(;UF>t5dDf&h;`m#+&5@A%NB=^y!P%RV%ugdu@Fh({m+%kl zX5X|;{p`q1Uv*&z8%yGQnVE-o;EJdTehlXYN*`lL9J%~Ik1ph#9<;%&2MFH$JQ4E@ ziksWFvyK4Rt~o%2d7ltG8erMJ^uylrg!^Tt(T^t15E>M$+&#JWj{r=dCnnk83E0j` zzuUMhzg-jbPpMk{Ozw3C2Ux8E=0MROD^s8!i3~(O^^Oy*@(oWl6o@YI0WO24a=;8m zBh;LBcDTlVe#m`v&hgwM{v+U*kiEd_nbWZR6DD*}>vl$|E$80hbBz`m8Hry^DTlYf zw-7#`25xD3tuEpG3aze}1YH!^Qm?BGyJPlW0^a1KhAq#9Vnh2pb%c0*Bjq@cc8W8Y zuYCLV?LR7tpC4e=c}22g$X4*gKm@kvf^_EXn!^*#AbdhCZgI#I9s$j3f)bsxM&^#; z&C^+%tFfY^b6cENK|CoLK3&tPwEF!FomtG!f$vhTJ&=gfwC zBjE1ws~zLcm%Q~^gvog1%RkyaN+XaF;9K*_Hijk7#*`B&!eyvm0dPL0PJu7H z?22l@=ygde*B!0IWuqEU!=qgiG^)-*@>+KP>l|#mxMQl5-K=JH7kF9w(l6~B7F7;+ zNrEUR^=N7{t-%R}vlM%n0~mb0I!6sE24~+4^EY~ZjU)t9Q5#N5Iq+pAzq~}x;&+Rp zL^)_&{#0$xDI_dG&kkiD+OJh| z?P||WSSm1o;s}bD^*COXq^dl;3549Zk+3 zyRb=`As0{vy!y$JQwZzC`5jbiBvN48U#(LFjk&-DfUZi8OTpL){x$noE*DMgmpEK_ zT;G{qf78_mVjC*LU?+X76K9l_qS$+__arLT%}rD^;;l%)X6YeN-;uAR%-eD@k=QEjuH0Q2WBEuh2aQY%CY+8Y5BuD{3@x`I^F48 z1)WOoPt%EipGvW?3u@)@8Rl4E>{G4jhoJRUr!3IbQ59=u!Bs?lSF)|cfx55+UlqHB z=yYlFVC9!|#%wuR<^IUE+WUh*U-+|9w()S!zRQ^wkMj5AP3+XfSL|)?>E|<` zq9K*E_ zaZ~0tjars{9RJEJ9wk+R^NJS@u`_>DrE7L?6-$d;fJdg7R_wj8xBZJv3_LugP{*3! zpsyE#&cXrfvBc-dPImT3lrE%Fd8_ zLSf!?^Hd4sFwf;9cmwuZ{U*%nZk;9E1*fq6Gvzwf6}LEC`HiovaH{6^xg}Y(HMBph z0t?u$yb&{jKvoFTDl@*`9JyL!(hEPuF$ngQ@f%Y+#?_+t`bh7C9>La@k`>Rk#0 zTyg5^DSw{Cl`o?mzhu}wh@0zA&5MK_GVT@AX=mkbt`*97Ts?W0%3(`|vQ}boG z;+g)=XLU*{(NnCXp}p@zfE)XWDE1Xn{OQke0;yPofLMYV@QgZ?+uF*s?C0!zo?P>J98GAuHS@mDnWpgH!}?d2`@l%NRi@%4h`LzAc@_D|fTpw_oQKIG;Px#8bFLeIO-Qz>~K zx_(fT5cP!}qt&s$bpzZJfHjVqe8^0D%zOQwoDf+>y|}o9offOzHFNTtS#u>fhmOFAz(bU=4`1jcFQ})A~KMn zyzZM@9HD_n{Pu7xUMST(7uVIjaE{l794{}Qb(7A-bZ2G-A=_m>mQUQR$Unp&zgz%a zQ>&1&VzKXdqN8~JE7J-*1b?q6p5RomsU6`5f%Mfw;?~S}h=qg#cX`?H*Kb7lcBMZ| z^kQ4%NXhFFPLpAaf0$afA#gyp=%VcIbukIv-!CdUT8(36A1eOlgt2jlu$=|RrtV|> z`m7NT#uAG0L9AJ6lpxd%Mx};j4Xs^+A9MZV_q+d52hsFa@W{SGOlFeeC_o%W*@R2b z@l7a8Cr(P5_(vXwMPXLcGz`YwO*%b;;~#6a7BH(hcmyW*_UNQkK?=Hz@3*3|Vnat` zFh}SmVOMYOo3M0Ut&LyTqzo$guAw#Z{1SikRE>$)MMY%_wF?_QZiK;QF6%Zf>npGN zi&|$iwE9LWmrNh`K|Bq>4RVxI=F4@*3l&c=`@8wW3T!$$O=CZf7OhUdeNCj|nx9|s zK4lDKH)4mdD~1B|`nTrh5&1=fjeqzdKyDoNEl5mM-|?K9xN;$8Npb zY4ag?6a_w(`iGfy#6>4=@Rm^R*VzEa&Zv|Ge4U8Yh1K~GNbCE7mKtn@f4&=fZ`J-0 zZ9;aV2qIza(%@{bIh5^eonShO`tV{M(BOh5Q3jWU4Cm2P&JBp&b znhjyP$42jP>izAFcF0)7yCYbl@#j3LM@udr-N_bP4M!?Il3TaA_d}B1oH!wkwb;fz z;+(2y2&^bjd_!O#wvZu@Z&F1&%IU+X?_yB$9~sYLv;do#R$6|`I5lr==ioOk*1CH{ zG@IY+Al;GS^SH?>*S)>H(w84TdcQ|=`*WSTsD4Q8y6R_+REH0hVnmEygJ+cSoL|l- z+`|mpSUo4Cs5W%OZ*^PDWMo`j^^%q>{BCfbteBo&OF#Wx2+x#$_uyPFeO$uaCW|~_9+6Pi zzoR+t0YAj_^T&BqL)`shJ&DA(M{`J~w zTQ7!hMyeH##y*lGmfYQiRXSGA^R-uwxa=2t-vWldq_R+MCDk07GqTqP|Ek?6&k&F+ z)T&E(#?_G=?bn+aZnJ|5Iz$HizvRxh!*Bdgo%-+Q@rJ89M^p(iY^9zurXXj`67qWB zQKX-H5KRsn5iwr|ra2sIGf*~2koW1U1}t1#4~qEsn500SHMcgQSov0Uq6c zt9`en5=WcHI>h|qg*2LR&H{!PEY=z9kiAABvb$AQ&-i@TKX;jCtxG@5!{RA680Cnh zHTtm)wdj7kS`=rnOienvd=B}SF6Wb-9|yPwJZL}`S*kx4=CXq`EYs+@E3LPrA;04I zmDh>LR*w4}%r;|VeD?M&7#l%&s8*W_g_^h7{Y+QH*}1_(yuP_vs$!8&Ijht-zdUQCmxAtM6YVK&D|JqjJq( zeyTh@`>w8XK9tUP7K9Ch7kU22=Janxs(`WpSMsXeckQ<8HvY9hwqL4d$s{oC%QLk- zis&xu5>;9AW?lhxCPsOlY_>!;WA|A- z{$*Fv&gjgbA3`k4q80jyL2OIyril%680bD#Jwkp;cWCGO?+6RLMgN#Mc)h};6zkpQZsLC2d=jmsnvj?@!3eVs4Z{x zcWrIU$nPe=APLo=FVWH!8rd;RoSb~c%g2|V zp=06eo2{eaEUuUpx9=(UH?(mC%(wvHJtmXSj$JWf4rX3w9;;`J;fF1l7s|MFiP}U_57z^HW%$ClU{?OLe+vw?oaN*%iC@H^>gzuBxRET6%OWIG|XJq&? zdZLxa*jQN3yaM>icZ#hqT(L1|v)XIfLv)?w4|zp`S5J*xBLXW#^BnAA>rLMu1?mx^ zz|IiUSe$pCrwr(Z^QK2$!Ox+unsAL{&ut-_vr&{I>bAbD+>dlh>>d2l#QM%_KwC^R zZSJIN{U!5@MyjhMA#z&mH#1?u7|rjLE-?zLoUx^Ga`sJ|oULs(2Na`W>_fA@Rdg5n zC&A8I;wf|t>k`yJ3*Eg>`<_tDxHf>O9iM2P(Gxo|p9Y-<=pD+}ZR|i-A-el+`?|g| zkD;-muhs~9mQ4E=7kY?O{z7-)dj=lM)YKM2NHPjS`qW{g?x(f3!H4fGKjbAgk@%ykN+@&U-GQyG3!pI1>u zhEyyyU7h2mier{4;Xu#@v^#W-xuF%%r@83uN{{U|xEmslaTq`3YUjbE#3 zxc3*UYkU-^IhW!5vwa!f%h!lG@S9YUjqA;~F>CF0wOR(~H$u>o9{TdX+bFfm{Hg1Y z86*@>Cv`^mpVn{` z+W&X$h@CjNzNejh9|t3LOlc>wFqTWePm<|0aDSBXj8RnY$cw-YY>|~Sk<%#SAI?6F zFXmX*&9qXdjFJu&QQe5QUHnX_=>ue_e*s6%q*usSUSw`=?lWza7(QTPtcnlJeF+il z>?{+LZLFQ##SEMgEVSg90LtO9L*E|NIw|kH;p{Vrz{H2DEoZvC; z?XnhZ<_nDqxK%kP(w&$nlcQO`JIbP&uKo57HE7?H!JMH!ZGoMxTxmWnJ%6Dx(IU{V zQtmQ~x>iwT8i0xT?5nwWX2I|7OZuU}jiB&1_iu9QK@>=oh{mv?WZVDQvW8>GHhad< zn3KxJqeC?IUH|Clm9yS4N>ynV{;=T?5|V-8#?zsuvgvPqL8br@gUx#puw_M9mEIDEE3$_5vE7&j7v52OE-p6 zMo_O^=G?L$V*x(%6_RfZxq#rBKy3MIfRF_Ku8&|%GGQmGZEhZKU%O^q(8PKlDISas zy%_1QB-f(Ccmsv~9ZT&Nhv`tA32&K=Tu$p70Vi~!Ol-a15mJevZ?ZhC*+~zYHHq`? z1#JSqv4urKf7pV@)@X^Aj)9r^zZddeAZ8U$`sGUeVnwY=g}U>_XUfGCX$jQ|5IIe9 zD*?AF?jLzycwZV5Z6TANOtJDFs((-p#vHTdP-s(T`R$r*yKvd+@JP4MYOvRuYFH?& zn4V*pFQ`k!%-w06>%&e{uJJW7n0tJ6Kv#|+HTB@u`^pPUFwhbwkvwxagt#I(QozVZ zt!x41A&z;m20U+z&o202Nm;8I#Ta_OUvYzr3>BJ02YcQRYYr|hrA`B?2&Stx{fk3u zDDBU+wXLPuH!LhHwe9Wwl3XShZZX`G+S)=rKbSuXxc`Ajm{0!#QD)(bVC=T-+rvft_{+ zKCZ<;ka1-woVES1$Z574Iz1fOta@yF>>*YVEY7&zD_R-p6@Ad5iN<~}9MsCner}|P zN-rEfAb=^nON9{5_PPzx9^Z3|dUDPc*=x*sN?>#4E5TS=fw;$?JLmGify)oAac<1k z)3^Hny69_%TE9wn>byY;Va~oqg+E+5X(54Mztvwq{*11rk8e&EQc(~$*2*FCsHZmS ztJ>2*bRuwD5x3)Jh!LlT8w!_GGU6;g!U^)Ve#!JL9)@d;%u`^f`)@G5r? zIz4WQF4Q4o)PpXEdzh>Y?t0N=6WLUG=YB%X^RygZYPtNRx8`3G=iu&>i)-|=AEdGh zS{y^CAAWUjTRzSDs}$kOL1Il?tsz{(Lj9f7eh~_}&#x>j=>+_pGYiKX6g8MXHF8v z%dJ{}B0gol|G>9?*!l#YOLiYK{MUf2c^w^Ns4Hmeeroe3_bT@sazRF2@JQ;e(gG@x z{u@~QH@6VwEEH9o9hy0feFrh`=tVEpur>4CWQe!cl*UC0pe$b~Lqc0eh)7zYoBDy{ zh4N;Ui}1eu$L}j-;UoZBL(`52w)U~34Q~^?xAJwb$Jeca@WuMsr z{MJgVY9HmmM|fLqDM;c0JS;d9C3B^fz*)iAi|8mnM8$vzEm75Wid~j+^sNCl&P%wl zpgiLDHH*YI-XOIA=mehT>HRXX1sY!|5C?w7+0}$mAOiTF8qs7$O;_jzjf%)QzYHdY zQ{!$Y*&@e*x1x&5Wpd3L*eO!n+WS9tUx0!f0s+_G27fwl{mA_v9E&c}(zCa>lE;I; z4Ex@$_aBu^Z+Ma;YkvH9=REEB`^$ZtJg9G(S64UF=5;e=Sl_>1G#tJK2l%V|zsI>g z1XMI2UXM)f5n$6a1`3806e2-m%+?k)mgp5Wh!i*nt4bEm=8fV|wdGqaMVhMj|>_xEom(VJ~iY1(ol zcF>^+nt{g$b}+2%Mk3+-HYCfZ3{po&88Z?Sr&=vpnsmt6P|kt^j3Ic4BF69Y*$LR9 z0C_qu7gI|=O(Hzl&Nkp&LX9$2WR+$cX5Tr&XLv_o$+jl0V5O*pM<}2s8!9&jNKtZv zpy#Ht2_p<4LR`Iqr^WA)WJ7+Esz|eP4*Z4eNiU0qW|BpnfjeI4dCF z-#<^AWWn1UL8${|mbWYbv^^% z0NXbqh@eYwjqiyq&0!pP<_PFMNcCLZ`4*j0%Sox`HPNb|&#_p#x#bivfX!H=kZJ4^ z^g3IzA2ig~zJsadFCK9aVYGN%GnFI8VQf=*#&6$Ksi7p$N+ z%fVs+7c?iD%Q*4L)YB1lX(-&D3DGp0OVyK=m-mm$TgLV` zn+mcr)7KgSr^uKi1^URj`<_HuTIL~dTF2|h%h{1WXAy;Kn0F^R`+IcBU?Y0ud}K{~ z>9>(+4&)1tA<7WEo208A*>^%D?Of5xCRI!!VgdwLz&MHHx}X}@8>Po$Zn@6T#{>&Z zfI_K#)!Uw;T&o>m_yr6QU#<48iUNkA@8-0@&gaQ7w5Aw2Nu`{jC9WJ#U7chDTWuE% zVge+#roj$dC1-j*cHblS@1Oqq;uQ9{5*tomX0eRFDAnk@sH^m5nPv`=M}EgB-&;Ks zYDQG}BfuK{3&o%A{V^HO2t7ga65u_->E!Xik!`NkBogm@Q_a_cx!|)?ejoS zbR+2VcJ?_i!Bnix_LWnFw4vC)jMx61AE-HG>!?w@h}>2r#G z%}(-wymvT=$nPGh4P0D5m}~BJrr+-UTRXkIZ*}nsIkZVf)rP(aaUm@A&$Ip03&u@j-`fp?Y zr4BUsH=I6e+CS_1+R5D4ef6LiN_mF0)p!zEK3xZ7tlI}Z*S+w74m~(3dSPh~sQL9QY z=Xf;8ElU?j0N5ImcncDlcU5Y%7(VhPDmX|YF#&cp(P|sstUJW#r83;a)WLabn2yPk zjB<=;Rtu#3xX{IZXR_d0j#QfPgOe%_;#cQn*7{$i^rmj{10f&1P%!#l%cjR$atKa~ z+3J~-v0CGDkzb9@H6BQ*GVl#xL7Z^wtwsjoJ^X?gCesu{Wrv4}#2~u3C4|9$jb$^6 zFp%Cf5?JAe_EX(wBLv4)W@!x(^&?aG^!)k5%hvf93Koa#?6-YA<}*jLhpwCP#q%dl zdlLd8ZRa?k`pl+vK&*XyyM&a8>a$9A06+0%x=Q!t&>n%1&~nGWz0Bj&X3xzK!gucy zXduTYTtpb4rA)}FT!ZPgLgR!pxv-aHmEPu6t2#K9+O6Gv4GDRvoCED$SRhczt#)*9 z0O|>br=7l}`{_!rtKQxoVOp+Xks4zIi1?YAc(3%;N|xc*H#JE$FYk^f()&DJ=I-BQ z3jxs2+{rcIvuIX?Bt?K@=*&r@fa?X~we)K$BU|TayXO9}G0vkSm7nYDgD46qq*(M5 z)00l8H=tp&`(4G)9cIHP&YW%BXzA}HA8u~ZIA+`(AyOs6G%WvCT79#tCY5s9UBYdu z#yW-EvBfW7Y(8H?S_OVj60mh#QQv3tF1NQ+zHVO@`eb+FBvOh~LM-nY3`0Bl^P-A2 zk-@mJRiT_GW`E9#CvFHEkyek5@(1IXBZ@@sAFFp&KdFnPEk30#^G}Y%fq8Wuc%#kT zw{U#+>r_AT5ONi5F{Mq%=BS8el9D+;+50cDV(#so2~wZU>p}$`zo8|IN9Tvlq7t~nfZwb6QTc3kGE=YfhAN$dg^g8> zDY?aYKj!7#jsPL3Q!oFqrMvz>N1vk19{y%wkr!p$JjeTw=bx2!707VMSs!r@)Kk7@ zky$Xd();bSGXcTABU!3nw+c2A$XtTWvwv!juG*69^N-)$05d2l3pO`Fwr+p`&Hy1U zzf>q!QXiAIw|7fS&^~hGGO}6v-b6ZA$Jq)xs0b2yIFoR5zx}%P)!Y44`%JDIOAR}i zs&MuzjWS9coF8`7qDekS&}9}S zMr;}$={b}iNEgjWi6I~^NK}P0x6$%a`{VLRB`=A!q!=&Xz&5IE<&iQpvOvx{vI|41 zrlO9+Og)Yz1p9zn7AZ4JjxuTfI%9?oBV_H_P-lw0v%({DcQA}Jiff}8`*!lGJlAa*VUc;kfey?|dT=ZcM03Xy*q#yRY7N}m` z)du~%u^~@?^$dfb%imDRIiJ-@Re8K;V~-i46rp<}bCV;{zLF>JX7%etxy=l>d{!^` z_5A(hxk+-W@b}#-$&}WSt7EWEpyy1-tJad7Zgl$@}4DTbjuQ;%<0i#;{{w$LARZPRFC{`wVU7^YSRfESMX zsmpw)wYAXc)UGSq1R4`y40_Cdi}_39<|Y*Cd69PWL_V&7?&9UEx48Q~ool7b6@B=c zIJRB#{=VaO&6`Fpc-u>(;`Nq?cn+=4?eEungqlRr!w-r67b+en*NYwx2OQb|n?#PP zmoTJ)`d6SR1IKK*o-N3T#ZrhC|FCfcNV2<5xOVUMmg@d8^%4L$=Y^@smdtO?7KQ<3 zA#Pv5awy`#STXen@Shr03OPJ zR#+vvEdKV9v2b(V1wN099UN8ey{1J&03;8x1KmS+0eA`u9e2oGBUVfM=iBrh*9)ZJ zI(ObW?T0yi?EsC>G3d4_d z7t@l^7B3n9u@;^aO=DFR^043~`9ibfVv#|V&&mIDP>F3UkTc%=>V(VGT?SBL8u=OV z4Tcb;xs?bKarvP{4*RZird|1vc`V!KY0#!WE$3#6 zt!fsa76W{DorJ;H(%%2~XE6H}SXv);*Zac|w(Ne2orJLFv;At!cx37i>q!s->B}mO z1Gn~v-yi*xy_&uh`XtcoPW)_$l76$0Q^`Rbt2$=v>l+jlgs{awbP1J*#SJE#>kU)M zsgsK|*3_{19-;$L>*7yM=eQOB&eiCLDMS9S5=hsLZTFD#w6ILWk1ay~%~S_HDSS&5 z+L1^f!P6@ybdTb zrmw7qY3DO!beHoW$Pzw@UsnMko4JLnTGI#)4QzpzPzC>o$x54knVe>9E~#O=Vm$5zTIbawu}PQ&qj zz^rK@Zht}Pwoa;)L6Z0A4<3rO`O9I)GoRD@U@mo(blgu-O$USn0Zv(`iOeoyj%>I? z(}=H3rO+@&w(9U7Jmy%w^ga6Ep902q>+ILYIAqxFXYy99sFMyZ&)HaW3=#!+q@ewu zth~Omy2(gEK@(M=UK|-#DKQ^mCNN4fcn#Iqj8IccF#q;oh^CJcdGnMb@FZEsmOHE8 z!189A+cTxGNWJ6fGsaRPX0_?|T-Ze>BX!p=qNEaR>G`8?0#+37D}FfWHET@~E}y^W zd_DcGi-QD>@V9a7vay+#t$K^c+k?SA@tsoznHl>`hJo9DO_A#`zlhvt-DjQ(*H}W$ zeJgj~1ATvo@9T7M)2`Z8DGsYlw|qBCR<~Li<<8!p!z^HuRrp!~(fAZWa`*-{v5Y=~ z<6jFl&7N(K zIN(I2>N9f*%}p#(nHAwT(zr6Q&faW8gCXXe;-=`8e+V0;p^m{znurfUNf`jEQD$qa z0Ei%%o}eb%q&u|+2T_I7M-`w%Nq-na>{7s&!G86XUV?6$>L96169^1_-!Gulq=nmX zJ0vOrh4|F5GoJD(yV%Hm|B~J)qCAVpg#m(-w#iKEkgML@M4P%A z)o21@71t5V739cm)?ulbEtu{M+K~{st)Pb3Z}s&^GrS;5tXskcLgy&2Rn1AREmp39 zX06;*`rTHM4o6y+E)fO0GDlCUm37rGR|huG>FrJ&gT#IGVasd+Xd_*xb0@dpmkRay zo5r{9ll^hsBfG}$y5f_)-G9^F>~?q5Al%5v%PbMsgf)kNS>kJ*AamYSU2bK$4K z)b0sTPR@`lA4SiLBn*heQ&X6#W`j|98;k}qCVm&Hkg<< zrHe=4_f)g^pNCX!G{KU7Hn`VFwn}q7Jo#A8oN~e3O zdWi}b1cNwMMz6yoo<NK_({yRk?H8gOsuuRQVF19#4v2@@4sJWQCoIan6WOI1D9C)lW=~!@kfrKWiR0^jRId2RBAJ8R z=NO)l#PYJ_Sf{?SbfXp27^|{=cp+CKYT;2UgBGzwPjbeorZBF1-} z(&=M!vFSO$fAl1(G`EAWM2$E}fJ*&^wASCjXtXVVylR=EuCexA^D-!uP9HT>#Fx_h zcSaI(R9D*}$%q1Q-Yk>hiJ9E84Iiw3yqCwJ#%mnskqeVp&n-ey;dV&lFQcp zmlK3&Di&)J%u&H0MbN(M35lq`sp8|owYOfkUv{sRY?CIN>F@=UI>RxJ)5V&JpEnjG;FPG-WdU_sc|MlMi8n{EoZ z(y?`^ep{!dBZkROeU0{xQNeIgu%9Sequ}f8ufK2Lng8x0End&G(oN>LD$6m(4utnB zzttW=|8_c&@HQz)7BOa@Abvq2&>`lHzM?ozHrtjGEYMtZR)cgB$r;PQDA_|D3DOQ!~W48#|yK%V#ZS(Hx`FZx&#%TG%}&+E0nnn zt@i*!g$aI9j7TX17H4??l|hLv!LLsE3Z;^#PT-d&QBN9{NO+Cz#dse0LKGt|<}>eD zG%Zp4Sg$iQX`8wz)+BD(m(v(Qtg0h;Igq66l^S(5X;m0^NKWn<`JE zqNC4$v7X?N@9()uL5=;QzyYMTvps0vTXDz~blG`!e4EUDYN&V^PgZLIx%iM zVv*-X=g(S!;obOLAN9CGq+a_4mHf}8-@xbrbCNC7*t*ySd%-wZkYg;L4N_>+^b+WB zkZu0GtHb$~Hs4Hc zIezCmZpW;dL${^XWhw<+1MlnCI+Kjm`rTiYxyqB#>^rYf@4d4zcjePZ`7J)1zM8(q znM0eZK1#44_QNLc6^6iC9Jj&rcDqfplq6a@iVkmrMuy=-%S7$4#5Apv8ha>z24!%O z8Y`HNd;aHf#-VQTXP!iPz!lrzI=~7~qLx!<+6A`M=$l?RdS%dJuqE|p-M{D85K^HZ z7TcBMN`Rv64JKxq-S_aVq*K3B@0E7vu-#Sx`D&F;5~ssCCQw>K&5$au0iWxHO&Qt6 zx9i29BiA2}Ldd|ZfvtSvS? ztn!FYNnLW&0eU=`7$c6_?C?rHSnVa%oSN@vEW;QP8Y#aCeFidZ$*|9ei}*2Ai>{wm zG|R<1#%2Y@DTGBlcetVWg0MzRF@BdBa~YG>e4}Jb0cl3aVqLWk75ZPLb10TKLX*Jn zzj%ES;ev!#p9=>s7)Y!K6|sgwzE5^hGa6h0Fs}VyNnI)m5+EbU1X>>xVwy>?*uW1Oq za`u+WL)bIpy7%qJr4Hxl%FZxuViGtz*_o{UWBRqNL9Zav=i}!{Y;1bsCZ~55I@IGl zju~W+^Y1_zv32&|yy%T7sMagwQF8XmXbq7fU+*6N_$>NN->!mw7R%nv(Pc{(99Kf@ z*DCd%DIRuyyBnI@Nr2e>@@e24GJP7M`a|c^|5^9npnQ{ON7MhEs{LXo9cCUscXm^< zJZEMn6-gWEyLO%8%HS0CzQ`_ViIGG(`WB~yM~^pDNF_&tLyzZF=$K4><^w5vw{P^R zIk(5?B1&yzvvo|6*(H#Trz?1dr-gHv%G9x3u7W`A91wWL1ua&DD6=tS=@IH_`qVdM z5wuP2@9`P9J-Nl=B&tyh`A^#6b>lgH0(iIyPY%=d5RWiD8WW9!)|I z_DPSO&&pJvv3h?~fHjALGCA^9vo>Mm`)}^=37$WUQBA&*qhjCD0Yx9+tR)WPb%3cOLl|>!3?r2ZZkZ=kADAHq1Eat!>UoBa-D@@8;Kb^I1E=w8*7RX;jR@nb7 zj1yNZH63?Mi!}ysB24_QE^~qU>3q8;Twv8_2DN~OA7Bk58mCkIi>JufV|9Lh@+F6Q z1RS;T%by6TWhHqWU+%X3?zX+ZTy9oH+y6dVkj1CE8beuc2Es z;Liga$M~Q^DzK#~10K93prO`vcTWf1-+BPf$EGJH7Wqn{24*;&X#&GgT2|yf8#|xS zIAATOrRPwcLI13DDmDBlT0gls>-8nMCYcs?$0>9Msc_;e@5T&QAf=C{bCrOwYNfFL z_S572m6wD(jPu$8VfaIo%y!|{!&9D$bNS%K1sa8~OCnhLAm(HSK=k2OI*gSef)gXk zODdZEH1|nqvn>VbZHSSjZK4;CnVnk(eJuHw2PX3Bw`g_dSeix2a5{OeEt<{mqo5he z;Y;@9TbBgD#z>1A0!$K4ausmT0d~^6Av(Ve(?ajPuMn@jD{C->wgzvvvvV@BiC&}p z!@|O%fK~IM>)jPnP+?4yQ|p8owAT^xFw-3DP{!~7#L_>Tc5UB*L3tHpQp&%&dvH5bj*L{2F6$t#MvKbcZRDs<0f2JaNMx9Bz z`6>dT_Vz4M{}is0DIgmGr3z%cUXonX2?=>?Fnu`6xbOk8lC@^X;$>8k!%B#8_&%V{ zCstJO$MjET@)1W%OR5H+-h)qzLs&RkEkO>-2uZx@3)ydv)7>n`51p8tq72{;k7Z~c z+F@WEQHq((a4M6;ANCmQC2FrZYC@~BNK8&P2U(1zr6nVG`$fT(qSZA&qws-in-Iz~ zZM`f@Kf4qim~xYv)V{!Y1#>VgK&Mc-Os~+u9ydjS0rqtsf7r2Z2}5ziyUZ>rBs@A{`y5#ssOw!2a5J_ewD_JE78^ z*cyy&i8w<(zIL1oe5XjY!T7Qd9Qr(Mmz~n!5CX76(7H^xUTVT>j4JQ4$weDE=d@iuCzMf$NWOE z#Nd}fNS#e3XEMi9x4d|smZNXvTr!FLv6?Guz=~>=N0!!+EEYN*1KGNkMv!SEm@xX3 zb5+ZB{vJDNPz3+wi=Fquk1Yr8R}BT3@A2bznfdIVNPTm{3(xHjZ~gA3pAOe0&^B&^ zUIX}ub>OL|p2rjIRObZ&mu0Ty&BSGv-!+-RT|V2z?-KtsE<)D4rp<-sb=aPejBvE} z=9Eh^^_4z=MK-9>y`RzQoS=9Z6&+kThRk!#dsGKaafLpL#MbzQd5!j&O$-mL#*X_J zV~21!_}5Is7DdE}kYpT4d$~9+TL>;Z{P-rG&)lEZz{`pu3;4fLJ>~VfQx5Qte%p;Gs%tzZ(WC|Ac0yWq% zll&KjCJkB?gt0I7i^)IZN=0c@=nq&15AYS0587oH#S};r=UStwz10flQD@BpX9eU@ zK+nO8WT%jNiWf-PmNa$xX9|dF@N)s*0=V*Z}3<6D?4kO`s6-hz3 z{ZB7GG6FT&N~tL>##V}KF@OE^ayOd{q=HX7F0GYwp@TP5yiGRQR-Bs;>GRMQ_tc(S z4mx@aUu7@`b<_hfVh-ucpVNLR-nV~n>2Z?fiDCGB_Nyiq7Aaw|IdQg=^D?nzi$@dF ziiwhV1|H{9dW*)Kqz(R-Z#$6$)XC8B&m* zZ?<3iPqhyU624i!_oxPcH3K;I&JH#uG*bu<-2_2V2RPb;!`|ei61j+%V!|H7Fbu56 zhb~pRGH7;d9aG0E!1oOXS;8Xc3nitR8z4zuA$021)LiQdxM%gls`9W6px?aA& z>vmn&?{oY7@wvHulJxd^KVOgM<8gmXFQiDrp8{D2tF26O{&?R^@s~z~Yrj+-s2E|3 zWCmB&0EVSB&cb>NFH8Ih$I1CQG*xi6p~1?ZoEi2z=*o6Lv8VySjC!Z8$VsFEWQJ7E z6xdOCiY$wPcU0z4M+ZI`4T(Z&HcYB`PL3dC?d`Gtj6)cFsYs zNsfJmN+ML~trmAhsngj%>tJ#~R8sYc4Z3`G4DL#8m*?+y{*tGvK)^q3#J-2NMp!^7 zz3~G9X<0BsR*3H2w>me_`hqR16t{- z2!u-|%6&TW9S0uv%!-kQg~Kr!G*Zep6k1iod)me!is*L3OANu$hRiyeU^V;Shvy2Q-7Vrp>iT1 zkeYmBYY5v2{<`-zXT_{tlm`6`CvX!68pnk2%%ip=Ri2HHSX4ERtFgPp4%6kZt;1{V zWlQ*`<7tV7MWMU&gxn$SC4$7C`SnmCvPwOP$uX^5o+9_+*Ggh;sRZz6#PAl=b}v5> z($yiT32X8Jh}u-{gu3NPJ_){0a$+{j5vPPG?R{!OH^n8i+f}^q zVP1@c(;A`eyv(DZA>wqBK&8YbLYjN{(V;=i3SXIlZ938sem>3HX>jg)ntox)o%7Z< zW)ojE>siY_=8E5MA9IagXq{_`H*5NP$K7}5=l^RC(fWe7oMAy3!>3D%$BN|_tus(j z*9_!EcRD@**FSSYQG7`PK3#bM+C|QX8UaI;&_GAO7j$yT?YADvup?G89~5N@+oW(( z_ErZAMf4@%RxB61iscuP)@>W%Clsx5Al1=l6hh|VewR|DneK{TdyyKe z1cXHmr7@CVG_F`|9P?xH)$qTcYAt{hCmJ9t+7aQKCorUJ1CarDe=rrh^~2Z79-SEm ztsdo;jZP3n0j>-@L&fMPL+^0=?Ny+$%sd;D*19h{+y_GrEF)0C_7zbtfItw=;10g6 zMRfQ6&NcR6*~n<)LV@JoGS961j#ttx<2l&m9k-l|UjZoUga2y%8LokkM=SS&YDP>< zaRMbt117XLhPviLbXq#}wKgfBnu+UTS>p=YyyFaP9)JJxf^(Zq1L^SJFAm?+G(TDn zs8ZrBs()|p$zwg}I~M(gex_$+FcSFucgX6PTwPZaq%JrFtjWnm-kWcYEL{(wz~dfL zxv&T$P3jB&{reS3CQ!5iIh2+ZFI(J;8guYcdE_zah=+R1yiEVA!ek*EVJe5~#XAzG zeHsE8(X?@4K;t08Bm^U)m|2u4_l}DHSbX%%tY|r>f7)_Ew9|Y}FL_pv+50mwzjArp z($l^KuK;cj$z$Rce`b;oKlVgNt@Lg-#|NoGKdSmVdNf2}>xlAS{CW=8f9`xvp~G6q zCU*h}J;Sp`spdHttN9@@@yb)js<#DzE)Nd&KcD!8e?Q5D1|wB!G}-!`ZE87{GHd*X zEd(-lM-I8X4{VJVQC#yfo9SICcc(Aun;*VOL&tY2DKB^wYId%k0pH~S0ZPQ}2ohwN z2BNIs6$btwiJeDpKQ`**efjl2563EV!hE+9R{Nxh95Rq?}pA<6X!`3AMAJ)>pcFtCo5okHdt{oBq7e zm^d!rOOyrd$?_a`861;cV-Xq_dg4DL-JB43|sd?^-Vn$eNMvNvJR-?z)FQzWPBc^@% z%i%QyyDipgd!alI&A@#{}mn?^&E0U~{7)=gCJQn!_Q80-nmJ73|?18m6 zbk_*+yc;+=CN=GaB&v~}6Wm)C4I_EqJWbUUK&mb^^n04BM}Cu6xci7}diztCK`~|Z(vQ%po+Fus2>D4;gM9LCQL(Xta$^B{(5*(?HWC?C z;PC!&qEBr+fvFtA`P1funZLt}9yGfb&Eb_W>RWz|vaK?ihxraUoqK|^>Wtrs7pncKP{MuQ0MPQV;@8B0xeh7!*{8IQDW31IM zHLk!+=~xbl-7G`aBkKJ(7h?ZEEqngIe`1X<$sO)IoUvmODEt+|{NjnK%|mCpYFLf9 zWk48nYXXi!`=<$cq99pB`D^Qx{`FbZ?@}#}6suofv~d_*IZuc8zI&t< zBw@8G#BF`>D41AE7`X8h%=we7q*KuZIarZE#KKH-3y`HeI|k)bW0&}zEv>@*hr8N4 z;)`gL`Un`I=)~RS3mgClX!l5b0pKJJr_GB5}iu=gArfI+)J2}LOO_U+cr-|DKXWN3tLrV%tU z6j-j?+HQl518}#^iPdqWK$J})KKN}mUIZ|l^A8z(@5NjUN*2uhv2@${pX0e$_;-OA zO~FMx{O5Py?dg%g4`9{?LaXoJHQ!jttDb8ZFpsT*;~u65)X24=+{L49F&f+^Lx!?@ z#p=0cj@AKeamY8vnH5%bWGCxq_dr=+XGs#S$%{s>*4oY2B|5f0&i>>2asIav_`QQL zzDG3x9ly62#;~t&)yuFL^ZZZV$frAe^fBa=1y+M&wZebgv99!UEgJRutCz>~mO|_K z(Aj#osInNI0@%BcABixUokZhWgF zRAxcgq1?`MNa-Th!a9{A$@#Y2M(Qm-xZ%$qTkY(CPf^i)M0bo0RxchHt1T|AD66Te zk}~`r<~?7xv&a1{&=?{pDF)WH`afI}lxx+Cge`sI0Q?PXAwf{;odBIPcG|Uoy+E7e z!0eJ^b8{0|C%D)Nx}eIRv~A4lLHg=o|4W7A^&jzlA?yeW0M^HH7yGbmptQkZul+7w z$L;y&BAI%93qQZy+|!I) zj-|HSQsi$08itf=g4c}P17c$C9UUKm3gW2^+M+BTfSc2N+R~mvCIO9Pt`;(d(=rF= zO<7g*wY;cBn0WX`*w?ABuv3IefHKL!pXvu)PrZ@&ar90r{SV3w8Uv|um}Mzmr;wZn zF|X+Y4xAoVlyvlPog~y)sChG~ICGJm$*Z9+=_il!$}RI-N&Is*PBzvNAyc$^F?2O$ z)B$UO@!!j3GFhotwSUnpdxT=^pEY<8c#>1oGk$$RM-~886K-(OYV4O2`SzB77fv4Q zDoGcB^<36ZoqRn8YFz9{j@jG;xkd;`yxT&;DQBZMV0j5 z^%71;gpBN!Yy_wTuta9WAin6n{CD>q>SsH}x1^ny-^FlJmvuTv$2V4C-=6XhAolf{ zlUs$uTG>rY`W=2bT88L^mHNAfOOx05_!D7{f$0>Y09Ep&YC4AJLi-fQ*4cGzqow-e z2qi<~x+;l3g$AY{ss6DxbX{vv?W&b?xW!st!xvaIdhLaFG)=}I%$3y!;HOb z!?w41Kx<)Nb?{uyW728-o7m=;R~flk*n`|_xHIU!V!a>z>?9yezNV^K3D}O?Lx{ni z5R_YOd~F1|h`lr0ilibD)Ly#L+1hoWj%_9wjmEZ*VODh`^{XJBY5c)04McAK{N)9j z#Lc>|w4&l*eNR+sVeva@z}m>RD`6ld=&>wCzF{Q5!I8`x+jvR&8PuWa~c@8fqi_U!eAwDZWY|26~v`}dd9Tn#f@jC8F^+X*SB{?rJekB zYl#|nING9pR`<<)CFS*}@lCMJ!<~2qjqowx;pSeTCjA1qCqPCAWt)l{@lX+(u3x{n z`}Y(RlLwb&m7?QGSM*|XE`8*&gi_R1`&8g{#u*$O z4a66m;q7l5E~0V|(F(QtZF>;F835xhhzccGil7$BB}u?~*uvL0fULq>Q78hK*-gD{ zi5YQ$&28hO(kO13Fi_7kGH9#eY)>J|u~;C74XAK!ZM{EOOyRoO_&Ndm)E`hkgRk?; z=RoaiUw8pOK0ZE>m9MTOJdpQs89})m#1fNjZfEz{w3PVpaKg|Mh)oFc(d}=i`@r>M z1zTM%N&2b>T#+LGO=V|hGLhW8?!ep(YB3q`zRuWH|Dp`7;YR86j%~Prkmoy3&ohE_ zaEY?ctZuAPvHjfFzb^px&nL}sL&8cBtZ3>xvAIkO6O#ao8l_CAtfnla%iqM)GZPlM z@vTu+9>v@yq(%u=-jkA(Y$P)KgC9lD(3FQ3K|(*nmuNVk$eko}+E`P$+7b8QeR!Z# zxP1I7EdhSdVFr{#33*?K(;XeJnO#{`--iEMV!4A%!VLJ)VUgi%sikGXt(wnpw$AUm z1TMYto9sHSvMRdk>ObBtA6Ruhci>Z49cwe;D5dO@I`voKRlHq@REg!w*tq$f{7sEb zNbp_X!jQ>rPF)zkE2BcXj2vOoCNuv~cY@mOb#~cqCS)m58#l(;B^4DT-`BqKUMLnp zLsDMd1K%vDt`qFSYANdyP(vte?T(*(TAB^#AI~`Pq0(}OI{a5)q(=Q$*7P66tI0qO zX!GWxr$p@L0{cXJc_BP70+JIK7c8-ffW&kw#Am@V+j5mM_>Gm~{&;F=MEik$cM{>K zE1|M5eVLupHcCu&DOy_#w#LKP<%?H|snh?qQ}%?QtYa8r;vWa`{y0xBVH?B_soOU- z@DGdI*meK7&fes--Q6;>mNB39*uUj2|L#P`8`9$pCo1)qi~rTlqiFT4q7zA#KU-c0 zgJL4GiDwzjyCGthWw&nm-%^s5(x!Xba;h{cbShy})5=#{Iq24M@R;WKQ))*6UaO&* zOLFx)pVX0!qwh7p7iY!%;u+3Ho`NL^#_&3!TaIm4Au#1r~qwDctJ4iw^hFTu36Gw*8ZFlqIE)X%P{}$U`ANAhu z!`|q?Q$Yxsh}T~sv6&gGBqkHfdiFIZolyF5kgFkRBa_gU)1lhdHIXU9ST3+jfGldjVep z_^2`7XMz`#ahK^aCeP`FGS$Ft5cGR0a)3=OyPA^oqq|?mZP;H^#IOM;xy9Nl%x{m< zcL94Q0lX{9we420r9CWu$jhm^rby+*@AN?30jk4|6c6cQUjcuTH|aSY$M6@s7Y9#= zZED^3{}DDeHUcPJW)YyX!7c0Gz>D9|bA#pPz9Vry zg%PN$Y<2l^s{m}6Q6t7ekWqU#hh!PFe*T<9-pt=TSNYVUPEBy~n+-oA@49a`;`N3z zrLQJ?yUea1O$jnuOliFO?>rkqb{e7;WbA!il45Fwqbt=L6f|1qU$fQn>5TXd|A4NKm#f z_dwoZg+5#5YoO#U7E9SfNFbFtDIr}#^c)4>TB=#n6{5v{=S8l) zB@(21_^s4dK&b{t{@q+?$4Kvycj$wUq@wyQ9%)L6Nz6*lcKP&(CC*o^`a%H=VBfAm zliE8*66+#)-j%;qLVWvyi9uG&pOhojylN)w;^sz&?L^$&)_Gd<-SBbomhZt6dJC)D zGbDK8p(qM4yp6cay1^{`l1Ed_bqvqBjV_LTmvp0ZECcP4=D+Cf4K@E`)gU_q&F{lI zhqN(0Bw?ncXEH~j9O4v|NcULGWoIt7%Kq9AG_fJ4Rnb8ClFK>9V`^XF>h?%K*a;ZHPpzRN5xkMxRuhHSPE z>qaN{Hyj1CMzGQ3Obd8m0`!wCGP#wIUDbt!`b3)f8VjG9Mkm-}nf;k@%oiHn^W&0J z3qQqF?Fr>a-p%fG6$dePE&8H7{^=o(m~kb|m)r5Qjl;>K@n{MUB=zgAs`lLRLM1b= zYIem?WobjIDHXLuG?-B28x0)b$@eSak{Y#orf{0-`q~&2&QP|YnV(bIQnv6__zTaDj^L0wq3y~!14Od zP>$q)S-U^=O9bPw)Or!|8wz<2=oJZ56Cngw4Ki{ z5*wW`aYYHbOdEhF-*KnSN4)|mo0ZM2^xfy2dS*uKCdtUn^Aw1`E$WG^CoFMJwS)Wn zOmP#){e`wWACHd03(}1)e;d`#X---dqNwIC|K13rG&y_4*Mqr>0N@VJ@?ooIQnx8N zYw3U_o-N{&+303J_V?q-#hPF6_&=fNSF5gcKUq^MgAu&bia(y@&1`FyCr{1IEY`2x zbYhKe)37G-*V;TN6CN8Idv8~E(5KNPL(S&WXa{nDG4gkEEcF}QZ=;;sD?0(Jg_fj8 zzy63ZDvAx}ya=(jkMB1T%6MrzxQNgA+a_qLUIe%{z0S`&llZ?3Z~+a|bDPw+KAIue zy%}>Q71ri3IJVZiZ$krUE5-Co-L*vv)=6c6N&VC9rYx&f*Uz@doNLwr6 zM=lKpND1G5ccG=(kb`VJgCfItl_UC_|cQSwCJ%zhvSfJWc$Ry3YY@_Upqt;;AlFq3rX}P9; zesM8BdBDQCB(*>N*8=CmoVT7QOYLw#zYJ>fQO?(3A&7A4o?XJZVLCQBXbL?qTV z58Awz0FDS-BDo@Ga&lZoP%`NplZf}qpFR=B6oH7Qa<{*iV*x9drjf~(|Avr~xPSex z$McXhZ8%YyuwyTpK3T$AHvCWc)dWrotZ#-6X(~rmO+{zm%Eg=8@>}H7b%)A zzA^4q4IQD>4ELs@xcIUDQb-;JEzDqjPS>+X9$Wd&nxbWBKN}X&>l#Z*gmHCvEQbj9 zO3&t2(~MOqSvDny_49NJooAOuk&OyF+?#(yu@DMD2CU&dd$Z~b$> z;@R~3mQKOJGUDDDRnaswrGlwytnI3tH=o=|w4_BVhirtHTdY#Er{S<-M-sdaUjCBs zzGl^w1z?=G>wiXO;F_KjBYc+gOgHhR{jZE1qXH3OnOZ$YmHYA?iys_9=rMa2hB^N? z9^-4w+UJzKNj);!`Z0LrS-)KQ-s6Zw{~?YLiRl9?ojXJ2+*lEuq&00$mf=v?ID66y zsV(95F7}8KDs!wHChnO+thA|9HIyxi=j)wTS1R;y4~@#pU)HLPrl_$0!hNlBBBV6k zdC^ZW_Z%%AQpvOT*An&D8WV7^#A<)MUGh^?1pcDj?nC0H$BWqUk{Ciu+E{HXlkk09 z)Hc)5D+x5h>Y=qRQFnvI(x4&j(-i5|RSWm(-$fIfj{p7Q?xq>fg|jMCa;}J)p!?6p zgze{k$frW}CHw*qwW{S>a0R|trZe&LY)eZ^+Bmj6=$GOlVD8JvHCX!n+OX$X92{Vv zzSa4_nWl7;c|hxr*UqDhMalgzkF^}P?;v0}_c0D6G4@xpDjbjhiXVOa$N}uEoaXe+ zUh|@xNO+amXj1VcVV%d}N}5$|=KF_vH`PGjzSUXRHQw}R{5uohOmykLkw}+*5ni;e z0bodJS;a`YO}=wS7{d>;dJ}VxyBxR&&Ibe}Pn&jex?2bTQEeabO4IbO2-M2QU@m*t z-2d)Jl}h@w|Gko^^~{-=cfZ49d~KZTRAP31UOXjWk7%K1qxUW zA=_NFpbGczt|1a&R5vyJ^0U&}M2J~0-e1A4d2Ce8go z<@(MIEw+q|OpEOe=HV}Jw>?VIKzI1!zmg;%jL9iVd0qQseq54nK6(@^1*-1;HHurT zSxnB%o7sA8Is}bo8RbTei5S~|lLJkf zAKY>cKfLf8W>fP7zkAK+4T#I+AMqD!p$N3J&*!dwFu@G7#W0UTS$Fl5sS4{^l@Q*N zUsDJ`p_4x}rqAWwoVUDx@-oQ4I0=a;pMX^Qv=tmP&TFO{nAqQKMjX)N2&o=CdfQO` zpz$kjL9HB=%A|3b^lqSG3qH<&DV)*|myH=gE9pcCO8w0uCQ$1AN>DuBqM}!VJb{XE z*Hw(FZ6U&ndANwYq*tkS`|1~-zUj=y5|mL*aCC5iz)p;=ifR$6(z_ohl*?*1E&41; zNZxqYfFZzjauY729KsCw8VZf;&HwIi(xr$wAjcW~5gy`2U!DkyjpF@uEKTrMQ}cyr zGIptfK6Yous_w`^|G1YheT^1Dl)O)LoF_vw{pN=@PD!NQQ(SrF=vy(Yg0x7--k9y< ztWJtcsWjEMx1UqcsxR(~Q7Mo;jt~1Q%Sal+6e~)$jajC6a0EL)6%#8W*T1XtBZ~FD zK8vonYkz}gRI^$%D+VzNHGczZCd+9IBTu((`4fL-!nL@X;>E7h@gY1+JTs0z%N` zl|SD_7{DOb#Nx$1*DK&hHPtzI!GQczj(sl+r~yAeNgtnHwWZI7_R$rjZJ-G zewL|0HXbZh_5gPQu({o=EN@al6@HhXGqpPlc$Y!hY&bUEvq>Fj81oE#kQjg|Cz(FK zaT;-DCxo0<&h4yjk1Xh9ICjNe1uhNPn{{Rx5l`F35s^EqBDian*@DkrIk7SyfU zpp`*{5S#8)-+ngT5L2YX3AF~WEj$p!w{W(td6Q=iGV@Urxgm33$);gQl~i->esh5O z-G#?-y)NgAc=wg!$H9AKXFCwkp-SmUB3lVvn6}B-`3ISKi;ipxH8ev(Qw#aRftw#cA5y3H}t-` z%bG-Ss2qYQ8T@{WPydHQ!uc^n{0c|Vh<}^$3nXiDVEmqY^ybvbmKmH$WofBBm=Vk> zm-K+6g}tZ;yAHpwp1AQ(!ZzAA!VP!4F1-J_$MldPK~?#8-wa4s2iqe+4RhE&Q{WyP ztoD2t5fY+{$S3a?J?=jg-Gj0!-w$jxj0Om)Dhhoxq_GlHMs69=7TRZK)kZ6-P*1r+ z#sALqJy~AzJpLujDeD2w0wZ+UA^0VL{3b%dV^PO8kq5v9ldBwkYE1 zPY=EoVvU`gp*ri}uaTO!AjTD+i_t+pOx03uODEAhV|zSl^doKqFOs>J=tV?DABeP$$X*Uf~AKRD2k2T4K ztGq;DIRc;^$5bhZ7k$SsN%ORb*TR{jdBbBp)Kg^(b))${-dkn;j)k* zZi%w(LfZNA^m*^&N-YYpGnsd_BdDTYP8{s|Fl^{CnWvg76yV;i8gb2L<}BnSh@mVU zPVA&fdKjlfwbx$y=DjjRLDwyOJba1BGZXzp>QRWM1WY2On`C90s(nup(KyVVRu=x8 zhGcS9-_oL?Z)ujqBlVrCe3MSTJ}0yP)ReB?PwL;wA$;ul$sM4c)Dn}kGCSp5T3Y(% z`OA@>F&i}y-JYEPaNq)dY(KOD#}$~eK?T{ttTP4+i#$9OR?n5_8cz+O&lYjU<6yzG z?EaY3QBqBWdhbOUnF-NVH8-oLTFy55rL{SLaR@xodqXq1MPt_gLvPBdbr}bdz*n}> z3Z|UDi5R?380YNM^lH0D+i{wA_9C9oFAdE#mWulTFwhFX`GAGy-ufOhFe`Tf5_TG| zk%gyCD5&Fc-9BFd^Zp|E`oOgtfTbhl3PDUGv53}rOc0=nnoqi(^3lhgPERy3Bel+izbz${N_>-0KC=x3VvnoSwWvwIUMry`u=E3ReD3L~9Q8x$)6s{`icKR6 zdt=2Qtj#a>yazBqKm#M_r~@iUCwLESe@p|fv#zLzafVNU1soO&-Z%g+LVh9vASp~h z1GG&ig$U_ zbaizXJAiZn4t4Gt*&S%Dan#flEjhUy1z71DUG1lB9G@pEGnQ{wfB!05GnHrf0V4G@ z5o&I08wDSTSPBQ{B)~Q*n|cOG0PG7$&Ill*Jx+FSTc?^to7h@rL1X(uOj^cPyUViP z?`$VpWIWK16t=I|f49A%1=uAeI-j$}odJ!}=fV6jP%h)_|15NHF%;;>AvmD_WQsC* z9=nYsa?G`j78Jl22}+``!_3b;e6n;JjJmBAz$o`CV1 zCXS7OF`_0K+|tjwN#8b}&;IaA%c}d!pB-H?{s@>E^g3XXgn{u-b|VU^w!hxl=YC3F z6UHwc(g_rHq&0k=W7Yy^;xInM;UhZ)a6g?y2pA%3ZpXk7UOH)rM`Vy)gEkX2OT+zh-* z(<0#mFV+;AP&h%9f$XuncUs7)w=anpO9y7H;1e~w_pQ%~r1JO+l~hw%6#kh8wbDe4 zX$g8i?#@hY*_SC{5L!^s=0bm zx0#{{45WnrNm)TfVujdE`l4g`@<8dc^cugOWu8{Fy4|nmwR^@GR|0W{c{lFcuncky zd8jq6hfXq&Zh)F@V_r-op%hh@nXbKQG15z0z`pYDgFCWSERL(=>ES4SI7Ui@X!D?k zSLUn4*;~r<0R#OiZl3W#9@`AvMHaTdgN?$ zlH3W8f>6-yk6B;~MjnHws_{I5Mjpjzo%xb8ZTC(tqFy#}O0F=*pC~o;^&34siw5Bi zFme9&Oo3y7mDbqQGzsv}ipS7C!zLdsV!=tl9}0k(NC^XG?iBaG^(xT%n0@d=GrV~S zCM#T$TALW)cfg7y=FAyDdTuOn#&+8r<;9>&Xfdkzgo1KMAp4VK{ps7q~b{E=wM&afj<{|KjA7}kvzzZQ2{A7l>&HJQ5l};AH z1cj9F>HqgnNK8!Zq!|MsqTmZ#6q`RKC5|E<zJFSodjDUtozg%f(sOvd02ka_p8-#{Wi=Q`_oh4V_s@#)IbYs#6KEMUsxTX%CbAj`1@o94m|ZtPN5)GhE@NmvsB z3qGg%=!Yi+_ZrW=-19N+LQo9os4bqe22;FRnNAOlOx=vhBm=-p)5hHp>xj8|%J?K( zT7e&Ba&mULKjjOMgt&k%F^((;>2qLVSp#yrr4YTKWQ+gK`AM@z@r)F~ru^f$p094l zir8R=vn@;TH+O?)1;NGV&3pICjhaGHRG{A+jL$T|z-yjrQ`-$lYT$$xdOHT$`U_UI z;@v3Fh#~mzY}|T!=XlpAR~g+7?qWd;o&OPmAQI_sn~<_HwE}igrdwoTGQsgTKdBWH zJRx4g#XiFp;OLb{^{uF+mHf5|MpKqqL>;VQ1jQs3N)U^AV~a;QSwF6ub{vN#z^CIZ z+u*RDtN)4W(O7r!q9Fl?dQ*_k+2w7(w9449_TugrxN1#n20l$T&Ht(P09ObNBwUU- zC^-@q$)3h_L--moZatd@IdjSzk5a9ki`ZlEezsP74n!uj-WTJq7BD(WIk1GjA8Za; ziQmYE4!n2-_^$#H4j2AVrS)UL@6Jddpe0AsZoZwF_1N`~v!A!HZ238Kbz7eEb1lff z=LZAQJsh+981tVnjyEuvQ%x_25cAa83*JW1m@RfEA*h>NF|v%hzeETadsSn3&q#AA z0)&;7;5~udoGEn8n?~!w#rHyG1S%ioxs;b_4I=~L?`mf zZ25tiT9YGW?d(}B*S1HOvv@GIA|tov$5sfqn1<2SnHOa zgLA|!cb$(QMMnbBGcv{Q^8 z(JNs-ZV^f$Wo30O23qb??=G@K6y6D_Er`MTrA7H@5ybkhDMcBJs1i3xa`bv~#*chm zEKD`^dd7bSxIO`NJpBn~(P;I@yn+(rJSa#&F(h!fM{~3rk%((T(qGlJrA*XYHrAGo zLs0ND;S(yk{Z%A4#vw%pS?tny-y6eBAd{TDtSgT!K9PFCTUXx`=UnWZ(YY|VL3(VYq=75- zvvMpbj5InMeRx`HBv#2=|M9$6Sm$#vIQT*jW9}hLBZfd3WWmTMt+Mg5C`4=C1ap)Y z7`NXxie~K~;*n_Zc{HKv(qQL;JecOH&>Jlu2fYOV zf(B+*7Lq%Ee2#6s53=T$yJNs3Uk^YZ;5wNrquBSQqNyKbMnM#K&%JYWloCM%F4co8 z18ETj1U;@9Iaw=vz|re|NL0~uMkiI$301cGR%G?-GuYVyX9n{>z(5hCk^8Yb%4Jq> z;bWSmUf0w2TMOFFXON4t2%?D_W0vb=cX-o5W^hP+O;tWZO`( z5N==k0E_OMH~M+{Nqb`=Oq0KXA+B=rav49f+sL;L+WO@I7Bb+=ZGN!9SRGzKk)s|1mA-w zzatI5RG^9=&4bb8Wx`D(qyD2|!TDRT7m7w11 zn3ut@UOKbu$Lu z#IIt5oV;-)VL0~5{pN|V+Zq(XjBFUBsjYJw+oQM1oZrr0vA2!Q`LODSs&C2V1Kq;X z(KjXZ70$`NH#%v`EUj0?Teqh*uc^Z)%LKu6ONF4T2Bf#EnEbgRUe9zCQ>St8 z4hAz^*ngQ%Lki3Zaa3mh9*em&h|3S9BT7K*oqeL=*S-)(Fz3vMjcX6n8Ru3#C+AX2 z*gG^S0d?ub{=lh!9&A}E;A?PrwS$>J5aJj(m_XGPBo zxj*d_txzqStt6(C1o`~cO=XPn`M`klrCO*~ya^fQV#obF0&5wk;mng+q>y38#&tUCE8V8l+Pt7;R?1 zWVh~;Vga1dB@rUb9_YE_`?u#a!7B^F@2MhA(JND@IeCNmQ}Zcu+qXK3Wui7=v6YOk zz2Pzu#v04~C@%3M1zSj4Lf&Eif>lYRs2WG+2O|7X10f4*>C8?76E8fnfvqH{lxVC0 z32|5+LgxGJ`UG%KXDSRrkX{;s40F28?-AYZp&@EbO2A6)8Xtd#cA_O8#PB%0JEZ!p zcc?`w#!C-WV7_s_I&Ltb{Dg&C%Bvo zh>P;&&W66H=0Jb#o^rPA9ZjzAJ{_Pjb>BdzWgs(6EI))zo$7v0;RNhwtE9#6ys_Fk zE{X>@2=HNm>K!qb6;S##{)jvGjR_y!{_hIkkTgTjHXMfP>^eigocdD{a4~PE z>F%KDcLgN*ubEn&pL9d8#0yhjE>5eiUbfv}m3ie*YfZh|P{cZWTue#hO8`0;;K zid>o6o34RRI`2udVrlZTnTkG@=-3GT=Xwha{^&|s5fZDqV_Fgr5bJk`%TqgcfGaQu z2}c;C-VCxai@{*+zu#QTy3${!UT{cdcLoP&p!FFsf&fN?)gtB;mT`xbm0P)%3s$C8g`~v6@ z33x4it8g~&>ZoP1_r6+UspiI(Y4|1zDV5#%b)3*nY5nL>G!`K{0_+MysGhibzhnB9 zyx<+L!J)y?onycYKo)~-@$?O+j~|SJeB7vm?2sv4o!1&*lAFI+eNKBX?CXpd2vg1% zAvl2Zq~7hC9yIWDIt~KEWRklyO4HKbJ{DwCj*gDN#b*g*_be^CKR!+6Vhni5Cn*-T za~D|NRFNY)hk(7xp_I)>tMTcTEyz~Wi+jknOw`00p$P)x;VK!b-G#bWRg_*T_G+wv zO-HTXC4o@(oa5c`+woCGQ-Tnv8KnleXSBH*fE>(oi3U;}iNo=?HH63vg-9toz9=HaFj{>4rnns=Ee8pS z5A1_Uvp=+R^6a>cg|;8dIGMh$Gtb^%-@6a|lRe`@^o@=9(X50BjzaS9<+i92-9SD{ zQy~)$sM?a{kf?dwv9cciACp%dnwB}0O)k1NUhjT0KKSR5#WYOdk{T4MZwa~rT-x+{ z+#p?0CB0T|Zl$z1ITExsjpV}!Uc9?2To%VI{1qh+G-iW#+|BKD z{YXY$Gd3Yn)pnFyJhGQ-1tM1#6CmHz2d0^VJnk=n7q)WZGeulvaxa*hF}o~iZpB_I zVLCj`R#gf3$6LUw0Qf@%rv{6+E_$waKR7$Nt~~d?mb@D93#srvobXj(7+|=PF)m+qGWBslk z0psKFBKSC4th&12Rq?gY)q31D%}yXJ#Avg@1=S=R$b*H1wa&05RZ zrXRNMa_1`Ty6c*Hh5hQ_da2@4Y{rivSMpHHFIw_!=aNQpPs?u+e>H{|z1(xv8n@4O zHOcVquv5UJ96aZYe#bkPGR=EGcdkN@XWB0yx!0o_V8!Fx;d41SfBiOF%qtS({kMmf zRN-1ZccQ%=B6(fo7sqgIdQCh&{yZ*jy(P}Vqrn1&@QCeY3;)GIt<+78B@97OMz?BG zw&>$9hih%-wV5sJ+9;(V<2LJQO3zK;832xKNHcvLM@~@Imq>`Yx*$?=w$Hh5kCimh)~u8D2vy!lh~x+_&dL z#sU@9;1{j2O)Gf1QHeXlv1IK?d54M^v!Bqx7s=E(2MKvLEqdELGRZO-j_)0&gOYcH z<lDjb$VA5w?NxvPyweq%kF;C?(m( zF_g}|wt%_I$H7$5XUu_o&`2iEl$&~c{U*%YV^b>$qwJ%@TXcQ{Jvegmt_fOLR*V86NzYlR-48FY^ zW5wXPkW=m&R84|o2=&uIP&a8W{OC&Jr%qDLp)kGVH{92a>?xovyCOGF^9!i90SdOx z9Hmhb)C5EzIlviy%B6`Wn;_FN=aE|U=>1X?}OzXw~Ad@Zs5?B zgeJuK-QmrMSV^@|&uhv^b1!V28%>2*7~!L4soOocPt>s(-_?a?HW9?sdF(F}R_BEx z!TJr@5rXi^_(D`bC?pi%F7|SEyu)nJ(lt|NFq%pGmYz6WLqiLo;RA>ixKfnw)YR9< zta$*Vo&BGS@Y60ipqc{;KQndO!;*=tf1;1UJ7=KHH>=IK*A`qyuKqr2@=a5&Ri?qc z=}@qF#&MS=us%LyO2iw3(&qrVq0nN8iu||;kPKEjBVHMLtUM@SXVq{zYBbn~nt%9^ zyJ!VEYw(mH;BSc|Z2+_?Fhp27La<&EUuCdKyt8btj8gmDLiUAc0AkY9L3sLrx zQ~~aDk*vR_{l$D=2sFv0Li=ukfTv{GninAChCf7l1%P7$z^UKg>~6Di{*sQk2lBmf z2*xfn@H#@6Q*appUHW^uLb)>lbp=ueB4`9?NI-PQ%-kcy=%UMLd11kSRXeI~9{l1t zyQ@XXGllFHhk%t8^Ba2L#VmYmObf)3(*3S5*LU^Se*7C90J;ZPc+Y(h1K7Ka2WD&V zWLm1{vQE%yJb(6bw96R+qSU+auz|FvRdsb36#j9^xZW?D2ki*|aoR?FF%o%Zr~3jl zk1P4aduC@TJEY=FY$oCBg3($6D3MwizVzaGbBOh=<~53*y@Zp(n0!dGQsjCmA`p(r zP+dZW^Q<#J&%S$S*RR z!y*4DwrU;9hi5{vXBIf*^yt-)0GE#PoqlO4l8=6$a5@*mSVjX$-XAMCiawQ9Yt(>> z)~$s@5HrmsTbV_$g3rH&6NP`m6poDZYBHbl@0BHdM0Ric5VF+>Ph5?bT zA?I%2d+-0}gWx@S6^69v80umvB zOy8vUmPQ8DzDuK{h{o?0LQ|2zVJGfw#WEXuf;Zt=#Kx*aHmt7^F4`oZ=5Vb`&aI`d zUU<+T^;cl5o}iR%xg#(uO6q}bnv>kG%S`%;vvB`a>#^1MId{5V zCPm3drmx6Hs3wTyaK5g6q1&esMLQ)((-s^pHmce1L+x9SRui>yu~~MNQkiG*Lw8U8 zY&!wkT^e77NsPbD2kX@@>M?L^i5d+tYOt9Z8eAY|uSVZ`xCfs z0=J;e+@)6Uxa|3gBJ`hC(l6q6B+a_fX(JfA5G} zvHh+0&xm1bUX%A^xLx~aP0>B3bd6fMtzRP|pyTG#<~lZN%T#<(_=&Azg+b57SA0Pn z=}&J3X&=!f+#o{xZU$*Vw#mO-Z$AEi(I>!dSpygPdj*VzfXNYR6V$kUQ!w={Xr-ff&xqLqbJPvN2g1&$K-~n$3wBKv0u5!WAQ;wow8o&h!TYTF1MepsGtHWfsJz_w%?CJ3X`n2fI$)-wt zF)pb0ip|0fr29^&mI`*1+!R#w7J&y(#l*xAm(5+{r5aQ~aoU-vmLdp17ktT|sWuZn zzxQn7KN*cKaS&?tZ&baxk?gR@OrK2yH8vzSsDV;}l+z+lBlcTBggLCWiTD#5Zc?V@;A!Yum7#>ZE^xOJ4&zRXG}T;m`jXn zl|ha{)!lB=1J3I0%GGeH{P0(Ul+i&2qDPOCNrCO)ONPd;970tQ>%7ms$-fQqzy|VQ zu^C{gnvG>#hLzz~F~DQip}T%M5C`-;9$h+{_%|+rxfU&v-w>#vr*dud zpR!cjldYy;gnWQ=4HlzzI?yjjs*SXh4pnh z=kBrU)xmGMO7SH0tj&WshO+3m+0{<22uzyIQI*_3$v+_H1CRXXCt6pK9XGFL9H2iB z@6Yqo7*d~y6X)Q~JtrZdz~=!?-X_F#8?*aLb(RBIv6v+aj;N&5+S=Mj4p*J!(661p zkCGe?)U46AEPnAmTwYyB);2g?zP&ZwHig2k$xZh#|NBvhQ_NzeHRw)|pY?M3X@nro z2`=-V4gsqb(uub7=ps?&!xwcOYdS=TTUX8g#bpO(74Ce4DhrVfi3f!WY7Wm_MF@G} z+e#eDlYs{c)4`+?3rnss;pyMk8XucCxO$t~=9AjmW0!^q*Fg(mg`YDJh?Do z`e_qtu{ijCvC(|7kr3qp+proqZG9g0n^2oAA`2=X{ax+D&qvZ(oXE)a&U;d!0?7cc z%~$ITef0`22dLm7a8^XMa?OTv ztRxV`e}=CSpYX^{9N}}{b@0iWk!|uRjTUU`X@Vc`v3$yjd`dKk=t=S~=OGP9^`O4N z^<;_P`@V?VfGQ2+Ojl1E?cZ$;Eu$Ish~LNlE@j@XcuK)(p||HnYl{gZ#OY(Q(!e3s zO#Qs#Jb56dR<393`Ai4|rHh&$u&V?#B^-ER_J!dnq4uKm{SqW3Q%c3z6ih*QpP=jf zRe%k2tEG~zyDe!vH1d%d&hEA{q&&%@Zgu@!B_E4PJV0V@jBumLNVFRr#$zLAc7`eF z+tT5J=ZL!`y@3+-po+U@!?M-Yp}D5ck!?_r`UkuGq%zDBeN!YJOx04nt6(tN`?Xg!FJf4`|EetInslHcGkkvaz7Wu)6>_w78( zJF@lgNJYnf^d7Jxmj{a~owdU!n?v($z5>`p3?++u!qU<|@2`SG>7~k@8YSbkG(A8H zT>ZCi{dG1&prQ~jBfYoI<&tr3tdB_M=g-+OKK{cZ5DvSQ^A6F^DLZkvjLBwd@9vZ` z{ztM5xHx@O%k@=LHJLLV{JK=dEX+*@h|G6(;3lsvi!ExI)r3Ni3P-Uji(Ve`ejXwA zdsKHMB+4bdy;PGRBs|(T#876&ZkO8%iJbl2&2U;fBcU!8eTSaq&lSZ=fZ-dW$RTO5K|(Pg3tSgW5bU?cTXJrS;>r3 z@1%m^69cU>6Fv|gqEy87hn+^?$rE8w(ReHB_{8|4KfNVguc{mB>r+3V3+E*!><94i zSHIsnw$dvb=)FtD$sH-xH6$EUuWPUGUs#~UCZgY18aO*AGU)FdqjAvhi0>B zEY6GIA|QuJrl6}p>hMP%h(>K&F4L{GF{K0y_J7X;GlBzs+?N|w{1H9aEr7+Gud~6< zthLzIFL)5mshD>1c3*fTzTzd4`#4u--oA92v&PrZ=IF2k1OzsC!bO8iS*ZB`Q_$E- zzGicOCGO?gy2k+yR!>h)+XmAbi&ldA{?IUN(|ll4n#TvAtKBQE%6KR0zsn7oVDKYV z5gG$N-`eW;d()W8%F5IX4EE3(dc{KM-=7q%d6a>^N7gJSg$8z*riP~G=7k_y_8G@q zPSgHnNzQ-9FBsu?R6&%94|bv7_~+(O2ZdYr*zR#`oi7Z2N2OQ%@aTm&A z_ietqqwr)>DQuBEj?-Xr(-*J{3#JH^=^!>WHgq?cD^?-&q)+__^^x%QWNiF`Q7-b4 zzSyE@hgNcuDEA~SN-XBq8vHRFr5+J!GnmfvO4pp5Vba*+kDshHmv;}0 z1v|!VQ+Zg<6*dGFjlwUK_%wELZ$;DVanLL^O|D%x-0?jKUNCiwtEH!Wlu*m3BD2h? zDI6h<<=MQoM$;TlAWXIuHCJ1BZbE);J5aAleI2gLw7^XH5XbVKodZYVBbU6Pt(m1D zk(Szv^u5whja@`&5*U#b&YTn9~k_ zEiT5U0twm=u0v|M*_yQg_Xzc92tCITV}cW`gT2*boX*Bh6-;q>37=w**<88>y1cW%)| z(Ov#mZ9hEhB4q-7tQN&qZ|`dZM>o4RO`APVre`@(1W}G|%ZWU0UBqRo#SoEFuG^!t z^9+b)L*(59(HRVKjZN_AyrI7JvgE?zVl?xFe)V#kJkEb2ziqe{xr5x8-mXHi^jr)o zrKP9YfUn#IB+|)tkB;&j-4u6i=@(o}qwIOb7Tm=!ZaiCkFICUy3EtIdRo97JpvTO9 zjZ81Js3pWkg_YGo1 zfm!;7H{bo$v8I+po<1a;0eq;Fw3ZF{8sLm>pFfZ7cth4LeBVU ziU_XgrZk0zo2Z-6)qf?9z>QOw(S6$Ec6^6I zI+FdB%Q1i@BG#stizN{ge@OU=sMb)URKG>Mvm%0?N(mbM$*Q}4`bVNdu_0%oU1Ve= zHI4o=zhfqD-f=)QhL`9zn3$3=SQQr+do3LFFV-ehs)8=I_t(?xmw)GZu^N~8n^$fK zKsIBWQ{yW|_a%*zY9sOMzYenFPhsYn1U&3U#>U{`%but0xiw4z>^@$$AY-c!NM73> z5%P7;G2mgUnjaiMfTsxl`M;?e?eI1r}EVo2-K>xF%<`~8U zm1xpu+07!N62l9lcz~(hD-HH(GY5_@1%ElINj6bvD|J>kr3SO|CO zqAKCiPL`-gheKy(mw#I`^eh>dYsSG(%AI`1wR!iu)TdE)GpLP?P1t@-8)%sWmm5v7 zzWk0rU}qwArvnLEVKt9|NH+7faaX{2*K3jByy|Op_0*o%?h)hXcfNC9XKCnZicJnx zQZY6M>)O1Wa|0Sl&v)6>}6*`>?3gzvY0sgF(hQsN4_&hRN-T;*!apn7@<));p+b~+Cl#mDF$k5P0_w&<151@ zw;Gl5MY~l5_3YbpaD1jg;ijhM>;!115oqHBN-T1_Lf`NP&@$4kS64bTwKdlQ__=3_ z%(xZkL!+EFak&W2n~5XC@At6LHCnHphY+GN6$ zNONKgnF4uceWUQ;a8083v)=TEh9@osf>w1S_5X#dVa5Pi+cmmVkN^!$2O+|uw(HT0 zrTNi-O{q^%kE;@~qVb@tMp^G+IFn+B3#IBVD8svSSDmz(zwXpoyH!m^!KZkFdTBso z_!OsIn+WIp4n-z$%7AcLG=+kY4UP+kua*gGu5^Y^tT7z5QOjvhv|R+A zyh3JKa^M=fKfYV6IasJcUfNV6E3tjvAQ?ignpX#-WKVG|F3oG#iy3dpyKWcVY~Fg@ zIk|1NS)RBAZP^rT1a=|4zt*@Md%6V>e7W7W3?Ku?AmjCv_{r_jjc5M#&)kA?)`%XCpbP z-0Z_Bhwj;-r#sn;yAIgy=lF*S0v_pgPas&b-<6a<;guuH8s*3*Z&F z-k~}kUq!T+&l;gbJv!LblDidqIP5^4m)y%C{a3qH* zCvNcFr&0NS9U#B%*Qqsq93Rm1aDw){aRZ}W1I>Eh>^FYDiP zyj~H$s>aImN$bA)z(&rJ&XGG_^he%;y{flr_$>Hqe1w&0mQhZpy4?0C%Dg-YYr3+C zK37gmWwv80<`=&Z9ImVizIp2uFOIPE(PRN~?sRo|(goKkC$T-B9E`%K3SL`1?&*xs znhM1is^rQD*XPYPGY50SsUK@{ds*?)hm&x^a15u&V!nmCg2OSsa^JSzUwEGG+Bsj7 zKPg>33sPdB$Faa3ZW2Emz-7Qkd~VG1J@*L?%gR;f zRbBgcAfNV5ib_L^m*2XNr@Z5$h>a&C5|NeFZdicW%!gJHu9ZEp*sdjBlK*Lesa|UsY3DQG@De;8jG? zB?dm!$7-(*0VZ8=|5FCTYWN`x8~hX6ks$iCPf5WC_yG$Gf}K zz!3SLq<;<*`OoZ&gr{_E3Tthkex3+9?OwzKOaB^_{zQL_&` zB)H(F;J+Sc(VqY_hpu%q0r$1DtE-@-MB2vo$SxRV^eas9I-Y3q3TKhCf^Fo-l6{Bw$T>8Tskv zM&kV%N^4n49rzCiMD@=v(rM`Ec7{{l{WxshC&fq0tP(N)0;{6Vcv0QNy|6Ng6N5{V z`V&8szrLJ_vF*vf39VTN($ z^*Ojd&U?aDOZDia-zRHIDpecxdDAh3Y)KH&Nhw!PZB5TsNuLf2Nkca;7v11sn%gK9 z2*K5(_T1iJC(wegJ>36YY$h_*^8y|_Bsq#f zQduk)K3T|G((vq69{=oH!XbBRdWIff>EFi2+&dnhVwDU`m06T$L|LrOR*N@pCF&nza^cj7l{N$xvbP;$X^~Gs&87qsc72lbi%W zY}W1Fr7(s(l{?Qd zzL15SZx(E1LbjXz2Yf?#3y{6{cjK!MtSFF^!z+)i;};g!%c~QMD-Uw{znfOiRv`bo z37|l(@*x{nA@Bp$)c)OFLGhLMpN;~yi98SQ*ijy?EIXqZZ$ghy6;XOT^Mj?Jf$L*) zb6?Spn~$zJEspQt$2!PUW|W6@Mr3-REV8ur2V_im&+DKz;J?G0dxs2od#d^#)cq`D>>T}o-C^ZuW9-> zjJV_f&EVD{uCs(N%f5n#7S$X7`R1-HouzwI1{wDpaMJ75iU$hF#*oo>u5U9&kI;QZd|uW?r{=*ijC7n_8G|f`sVp;dS(&jYFug zn3z1B5||k*i8v=S1w-% zo&T%O!tFa*?A*>ptb+d?2!XRiSpzD<)pfU=%%Ira+kHssJINI>kB8Puqw*(n?8$3H4$>7V$8JGLCRLrIfWib<{JY|M0e2yL{#a%v-%wmd)^m zZg{(@uHlAiueXae`PWZMlDUJwG^ORbPv{7i+48jUIX(gPS16TFFS0|BDUoG^3r&qh z8_OcHtf*4hig@zSC)p;(OET;Tn=6%?09D35stgpyq0&b5f1%D$CVvqhZosiE)t8YM!nXQNuB_-9~0t4^6eU_)Pv8ky zaqb!LScPDK$rX=?*VNw5KViA;>P;3$;->Jkr&`VLW}F(cEloC98Lx4mfrsXR44N`# z_&jqk?JPFertv|yB`9${g*k(gN{Aq>FN&y`i?+!{M98AVWcWmY5#dn8^roR{WMYqQ!RS`RO?uWK^8K~ef_W4WlfyuTxrT`mo~hoCfNkMOC(>|c zU{%sQ%CdLyP9NB|D-zt=ohqga+@ij{Jm@eHvUz0%GfqFEp3reEf~MK zE-wlnOInd9i-ngL!u_{Al`0?Sesp5haIUE(8zSKz>%X8AHCIS2e91R`=mn4#mQS|9 zc`7>jZ#-?n(g&1it0UhKlcYgyaak-?gBxh*V1qswf=v=#&s&7ML7uf^a|F^F`9=WOuZSnH}!&y~=d4u7a zhL&OH^rs;QXBnt$?(YVlMJ$W^^{C<7aSr%Iz6~^gS$e1vVb!6v6z?XBIPi2H=3k{O0mT6!r7YwKjR#**#~$sPSAZeqRj!?3aQh zhNF%jO$z)4>}eCv>4e0^<0`rQY7}_#O7~lUYfS(3>gQLr#b5By@9&p_&Yld{_b>gV z%X5ta6EVL<>+p^}A?!-kPXGHW7m$dSZ4k>9t6Dw-xY!KJ%;=41Gufn?$MK0f73an# zS(b{rhNmrb*_t`m^QN+wCrO?&THAhDnW?lI1@z!Nuyq#&O1oW4enBKR3-!G2(!nN*uAn>{~qa zN+Iv5q>S00vcc`Z-EA27OGzNvBaz04O^NqX{o7@c1nFLHZ0L8)41alxue55&t(ZWE zF*zOekEPQUqA84%2R`oRI>RBG)aJ7<$xoJ&>~KqlN-8V)P-;|JPH+hVhQ71EOJrdt zSqZ3JL=&JNQrjBbxJlDQH`SjaPZvBs&NC5wY{<;6Ldo=&+Mla3mVZo!@wt)_4sMDa zMlLCd2}{sJxK1tG7J}x14E>;DI;AEaCL>K_41}jMa-yzaA)DT{HSHtO5M(jI zGOIIB=4z<~*amc@UhkfKg(IUKrjec~#~nxanVjJtoKY#-d=J*pk;+&Iuo0Dp&o|2* zxZvBk=r$d&jX3gb+OWzbJ5_yT+P!agxYA}*+dxO&8Fw6!D_J$X3S2sUFkbG0$DOy= z8g(9>of=CEVc6Pv(|@RO0dh+I_lb=D`ZIE;8s4gRK~P@^_Ud_p@02C?m86_GtaGR7 zTD=kcn}b8j*BfvK^f6KMeblVSj}0wu`)YS+nwOpzGFdzrlhXV_%;8Y+TZHs>eqf3HH}iMd zxV7x;At~gO_`|Pv^IZ@kqRf2CYEIad+*jte$PVS@4R%`zo8&QX6O-f zSEYgaf0Dt6+)%jjYh;!AOg`N0O5IW=y`B$EuKSEW+IoGS908h%j^- zHf5SC%!=kqtLn2)?9Yv&ah;l5KaLm<7d!S^s?Kyg6}4k*Y-RL|0=PuKE*F+uDzzwTzZDBS zmSmre;Hly4OK&pJDDv{@Iu-R0=oSuHi|xrQAs!HV!6cn2uSSaAM12Q9)E?FNV|D{; zau)8AnJ+9+Le$Urw2Db?Y&}hVj^@XvH>A(bJb_b-OinG6%}=2P6R#M^KtnN6Ppyp|Ma1Bo5Db; zbly>(T9=11o0{Ii%P)F!h_UCw%zme)zP|ORBG16hAWv8rI@nZtnZtiCx^Dm4BlB8# z!n9Kub?5*E=W)F$b8aKS4kg^FF=xs5sAD&WVTNSt&Oz-|H(>Uq0cYc^Gbsjh=l~3yicUuP${TLU@Y0ms0`sF+m`#6Yk^^As^&f3a7#=hf4i&>#w#hb-Pz)5E9 z@irA8n}dUc)C@H1ch{cO8HtruV8xtenFTa>Nf#ltmw)zcTzwMj>U7!OczWl(t9{mc z0A#=xk#cuus%MFyABj9TnEesmoJ#Ye^-!WyMrLM9(6w;l0nU4m_rzM_K)VHO6+~d< zI`XmWo8VyjK0&qe;7AoLF5}U!)qMZf@oW`Zl4)Q)36uj+U$u8i!NJM-<8s%#M8pZ? zFM~?Ye-IVes+ZyVJJy*DifVz6(i9p%`GQ(l&NF>QejNb-)-((@G_l7GLe%;_ z6;rFKF1+#c!;!-QI(>;Sjn5Hx@ar( zkg_3V)lxp^Rn~cZhQ zQP#A>m09Pp8`P#ox(0;LPI0ZL?3vi#l;0^vGN$@nvOh#6Io!*npi*CTcMcJKk7$4G zhZSpABCvnd2`D4;#S4SAf_@tj0(ZLN(bR7ND0g4PYfnU*sUY*+MG$<_5OcH-mi!p~ z8ea~R1YS_V9?U1EjnNyWk48S59lIsMt7fOCd7wYGBRPX1yKAzpttYP@{z8y0z>eX; z3{C zD@SZwULSAoFI5vXnbSv zd=!>4J)@)u&O_!H;AW@l^pjgfe3W|TeM1Kjg(!xQPw$c#4xg0o(?SrpT?7AiuOTPZ zT}o{;>-1eGaXOCWjCU#G?-7$Bu5A|_AOt4lKGfoFQHl& zp02)$$sEfv1%pKu(Q@U4mavET>j}4f9_=44nQqCCpE?7kLS%CvWrWs>4p;7lnv!@b#ul|TORoe+Mv1MAB3CS*0-Y5#i@8v&jkT>cO;Pv2!B-n@ z(r3KTSCa$348W4QUDq2^AoWCnxm?-9sX2#$kf4yO9tB(McZ%J5#Ge~fP#<9r zJ6u++|5-yn15PQ-8}zF%^*8|I%IKHaeW zASEfOJvu5ZB?3J@=Gxqp%F46sB`Oq_7~MN_aBTeZqh@?~4W(+oO0+UpGckb_gXCH> zvUGqQJc_=ES1#Sp>v)(q^wcZ|Qd3idbZ9!5)%*7!bXGe+dnilIyO~wXqTh3hzinen zSvaBpt(|A<&$&h!HEUJPe>UOKuOwhbkE(6SPb+7zvuRMSaslD`{^Uw!wbTDp#(9%k zkK;+J8*FToTGv$Wt-!xkn?!OykB4z=Y{*LVoy3g91T_>gP;b%vi~U`a-nnZ0bc4l;I#s*W z5oE=@P^~bKk1d?~k~U(SQj}FX;D6de5P0=>=jXhqm&{|e^kGnZK@(ew1|Fm~wze2r zGobgA9BhgS5|$L>e-7YhhM)f;WcqlLB9tf>@ZTThg!uI0d1sQy_q%H^>>YM!7<1ov zc*G`Lc!Pcs5V`;$q|G06vR=`8ElFd>0^l@8Pme{J`YjHqHqw>u*pHQe2nZfonf}X) z)0$B&*Q0~%GRH=sg<3VVn%Du#3!uSdoQYs$1q0g_z7rPKC`-7le+1w*-ybx>^!P68 zAjpu9Ot#Q`z_k4YM~N~R{frjYPPci%&ZMBPfxf+)vj95nP2YMT))JH-S{O2Igcp4r z9Mui`Vk{0em#M1c#^laWrBt@c1fIQayP%+O*K#Ft<*dli8b=_L-`vnvcxCV!W4wFs z;X$i3Gev;Dc&PVItbZ$_a=jH*BW?`j{s85;jE0_}u=eE^Seotp8qo*9c1{JozHP%Z zh5&>W__z&f1cfE#LG=_!C25>Bl!o^CI_tG+x9APl>-{GenCQu=<1s$gmDWup;k7H6 zxCv@$lt7@BR@L&x!n?$2S8T!otD=EFOFmywTH5MjJ;z6Tc~L z9vAWFX`<)fBiQf@S_B^@QxIwyVNjDRc}W*2JJ5HSDi|Ajv^aZo99r9Xr*CrVq-vB3 z=~G(KO(mkso^`WI2c7cW`W|f!Kgj%DZHz18$of^uW8#v^H{~vEU^=KtJzU90R>>0z zFZ?1bMB+imf}UCuJ5r2O^itj^HS`r1sY9t?FHr<$M9sS|m8aBSsFfu0qf)=kXpOVs z$-l&y`+?c-Ai`Z_((7%`hD*Y*@nb_qZ^qFZgVzY=-7EO~V@ck}a1zdM!ptKu(gHQ6 z3_${tnoX=nssv=AMCybAZp(?P04KI2Eb51-3K{nwCx-Xw|fP(UwhTDrZf{mAn z6WxAK=(>hwq+fRl-N4XLA%om`h&h^-+>|{TjfqWrF3(+HOF^AFe5%X8VCj?qBbg*T z#Q!$JxeW}2`9`>bI8Jd`(S@qN{>zGd%t|s-kowZLLi|PDQ~xtRK{sC0`xB&_mW0a_ z-Z7*sv=mv-%#>OC^F87?Gm*(75m5gy;u}=Npn5!efPD|8EiCrIHjOgTFN>z zC0UZ}p8N36*{X)!R%MQ~Lrg!M)nsJD&P^}X5j?O9ZufWL*}#B?ao}p#UnvWD=7PXi zi-^DQ&S4_tT9rhQBa&?E^S|}x`}N*!i{!q|{lUjI+YJS6nP*h|?0K!%N56qK3zX7L zOlY7OXroXYEttEaMDgAvRJp#kydeZfW`UQPrzgJjQH!tip8ZXd1O%`k!IlBZu!qSi zLBcR>#-J@EqTRAZcnsh~p_N=RZ~g$86BwK?=6sNsh^vFe@w>ZeW0$IO&rau|0a3z* zyho(H&uQMg`8>VYgPbLG zTxgAbRI~_MtQObhzc_h-+;aged0hsA6bSmWi5%_;yOns@DOV_5 zt(A?HlZ3MV>*rCt6awuv(8w0)R8%1e1k@qYGN;0~9CaldQ9^Z$MKs)^%jB}kvAf^w z)HtH$i(V4Y^35n_Fddusc2jY;giH8PLF;hQ1)eeBn}!KKO0iaAbydx+i=TxAuy%S+w9 zbVZYW!UP=3Dj>46vC(itqGaU@cyxlt?tm;llt{w!QgrrhUQkUET=uHvtD8|vkX=Sk zAv55bX?7Vwl5-AFk31?g`7;Mj%=Ea)+V+zLc1B7XME?-dCQt&@>F4+pK~Ygn$+XR> zv~moIs+g^xbD%QDq}+gS@~!A3dAeEWhy4Hou+|h7?!DHaGBGplmk5jvDopC^l(nVV zq1yRkC=SLj>)_yoAlV@h%amcab|dD`s!}{#IOF8LcgoIO{Un2$v0w|V&m6@bo9q#U zDX==bIv=ko5CP1%vS=d!wPrI#y*xWBr)c)@o9?phn>Qbn8wdB&IH$Z5tUEv0;MYD| z{^qxiZ}D^V6fNN`#aKO95MpOLzslNtjP;_pXGEWKWaliNfT(yMi%efXt5VTYR)ZP? zxa;fp`0mq5D=ViD=0GT3eKy~`X5__1!b-T|g1QwAR!R-2BJ+hZJ#TuE9=E>RtRMmX z5XG8rhXruNgGoeTH}KcnrvT!S0>^BeWqYQV756HtpuNS zgmqeHZaq)Z({B)K=~C1E0V!0#TNL-TckPW_Rn?gEad%kB zSMvKXR`6y92RT$rr@^jrWZQ!rAG5NN2LuwNq*ztX@({_~F@pcJ2~@d13Q zf8+I(?(!R+I|96?u6!E_Ufaf)|z)lP`Z~(iqT1o^TC(?V3MZGg2^iB>iTJB6|#94{!E1upxE0%gqX z8`?4nemf1Z$Lvg2s<2DujF;pj!^{@VY+gz)rk*}$PoH>GQg2(2xsaGtGoV`eqG}Pt zP)Uf7jeF3u^+#tC%Yb5Nvc5`;jurVpR_d=dstt+3CYPy+7twHkFDdi8VODt-{lBc{ zT!j^ql{{ai$(6M49TbJ?{E>zS*}FGa%O)d#pad;#(3nA@aa;YwtH?elMZx zAs4bX@4GbU+j&boS2#bN*@Z_89vi z1L&U5{vQ^#By)B8xa$&s$!oLm@5HO;!rTlxsX3tGRn8&_|>)*!l87rNT zMj-B9q$DkC5r?2&!=?{GJgpJoC1y)(DKm zppO+#@bnL#O6@a6$-Iq!b|2P}#xsCE`^cV*K&7{Du7VykK;CGAINi1auSy+hrk8Hlb-#%dYv;SGxiR_6LAr}vIS?t@&&(HZ(!rh}8F)?&iiB&N4REd=w z%hU>MKf0F0uwl-svQ}Y*5XaiSQDV;h7lsAG`Ahi7^kI{R6bgnf$)n{9B=B@?amyFW z7G14x+S?p+lKUzdg{8IsqlIVw?uLbhDd+;PR7lH`#RwNkAjRj=Rf!n@IE#~moE zWL8YCA5`Q?sb`$UfNtgG@_5nPvGEljKfj=yxPpsK*uo$d=v|ZW$#mvW;!hhC7A03> ziA6V1>J|0!(h__ZCdd@sF9-A9^^*Ki6E@=ts4mf}$NjEUPaok(KCxcynIyMm869A` zPsb~BB8fzucgCCfB}A~E%RVN29mLQl2%dtPn%bZ)6O{f9Udc@4OASpP6X(NEyU~e+ zrKH9{*lqL5DZydTr6)Bloh^V-|1Pwob+lax%gRptv*yEv07^4CNnBZ3?|bC>8)mFa zo((?N`p%Zn<%3j3iRlBcz3);$3bgkoQxMj)H%RfeJXnu8?E5xW& zx@x^5ol<;4;@X_KQAQ?s%@{8}?E7zdJk#3~1(q2z<|MWeP=VRsFVSLF#wqgKn||mj zd#NQ&ue3mgQ3kW_2j!oO998@aGd5Fe*o4fN*ib9lIql4V;?RBnk{KGn7;~lH0RM!+ zXpu#2!#fy1xENraw(t!l(vzVIyyynZkExlNCUvV&o~sH9G=fe;BhLA2ZJL;tGB)=7 z(iaxgY=a!GcyPFX$x#-|1l5@hP4%M#XH+=Sj3Vh9f40XA)a?LVWb)da9Z$aX;E`uT zgISALc3~*$CHQfoE^^D>B?Ep`tr+ems0dxPqF_WBc zlEV1Lz=L*r)siJsEp2>TtyBp|O|}5Oo5HH8qdf&P-k4l}2Y$Q>cBUoM&(yc^j2-Nq ze&-t8jDmiTRPYC!xb}qmA=YiAZ-#LXAAXf1emcnZ0n9SC2%zt=MIPf%Rj79vpU)aZ zszl9qAyEJeZ|mt#pwA|_>akd@sSO-;0octe0gt78G=cOF=vc6`SWokXd>sFSrIN&8 zg?tG1%MWvPwDsh!>9{1Gca8cm#nQ zj)ECfN&Lxqd_;=2Rhfv%9$%|fArEa%QK1u7Bs1UBBH%`K36ksg4t5?w=hhwj!ZOgZ z=sM#n<|v-)l}el{L4YYmQUPBsXZv7I&YBhEzVz73&0plEa~1vAR_!HvzsJ-j=u#pg zUP_(E-K#yvm|uo)pn$b0*`fdhTn~_h&!6`UCtm;5?0#;ssf2y&H!gxTC-RC(H15+a z9$0~aa3!Dn{~|Ns0}386~6pz!WS|Cp9b;Jr{9w_e0Ka{qK{IOvbenCpY4E@=4hj+0c*_$o<-o-{NaXq;~Vz?ZZjfl6%zc z_hzI<*WII)%ijg-tjHT*AUvL~DI~pzZ+2%|2JO3@mWe-5cU`r)smO2OTecU--K6=- zZ8uHt{nD@hiUNq-uF)jqF46J3u2WCy$ez+MWB=uSNTNz&K@i%@bHCMR#0<{jOCD4x zZpg;f^{1;ybqi!GW0A>E&+AhHxodqnD6rEaxUa4`feDC!@ZwDB2w`Vr^cw-Tc2P%x z7rwgunfa+g2*`q%Wk$Na)ZOm>%Fo;tgw5T7?p< zt2^h}XLsub?YY41iw~Z`uCN_KKt#J;&%@3-R?mdB|C8cjzZ(%cU3Ku*6NJPUf;C<(b7>eAqGIUzc_ zMfo@2cfEa06Zv4cc=M0JN_1H1MJHm|gxo(AobYztiL?U=qgMbqD&^Ow)0vS3K^*yS zO{LvU3m|{%*DzwB{Ax)irV+~c>{>p|u8K&D4qM(29O=7>20q_23U0jU68`)NZC4GLo4R~3JL8;a zzQigM`~SdQD;xGmjpbp_`-+1i0L1oX-*{$;|nzw9BFw0rek!V88}6QdXfOHR7D;k?q*H;p*pAL#UC|i)XABGYN`aI z#j0}@{rz0AvE;biw??F;MO@b3?0s=b=j+PeegP*BU{UxqzSJke+W_PJb$CwfM@<4B z?}u3X;_U>(0fTM!pOUKK>^xV|c*)g9sV^Gb#yCA3BL|Nh#|j zHD(>X8%3%^9eZWD-}vJG4^ihGPWAu)e}t^Ej=ecJ_BvVFd&ZGt?=2(hkXiOP_Ff^I zBjm`A?2+t*@XpFevQkF$d-{C;_+3|jbal~{(>c%A<9UDF@3(tj}f; z(ZcdF^nZCAwJsZ1XXj|J$LyPO1Q45}M#N`HlPEna#Lky>M$jwE51bP*^iSIHS~e&( z#m+-;MGoC13qE=HeLuw<%1c~M`6UIFDf2r|H+L>r7qBNT3)H)i4r@vu@D(2CPWH{IZSZZW;xp_gZU+Xp4H zyRSyX!9yKF)GlD;r+^n0Gp7#< zrKavg#^t({q3hkF?6tZ~KzXZp9vQk+Tv5t^r_jL@6$K(u>zAxtWvZKR$>uC*__Ez3 zE#2}Tv|HIf_op>Cl0h9(Bs-F3R~&F@<4M0Z=Ku5vIZ-5|tB|vOu~)yneBNZ$Ex0)W zuECzN341|S?N73 zKuDS}#@S_>ZEkK;X;TL>uONnUfn`9q3(~o4HC~0S+~Qhbw~-GK(0G-S zFbHYN7JH(o6S29Gax%d}W%WX`>U^VewxQph;obG12!i$7xLCp8pne)5o@|JuiBq@m zfndKO_Ab2FU3n>Qg|iX;>xQYMIg{!C@(4fR;)~xhiDAFH+a_!e+DX50B=2_I?Qo_X z1Vqvqe=D+wyeNXUYK-=wmLQJ+NO*}tzIG-j@C%gdQLCHmw6W&bP-t){(@!xp`*sbcy z9~!^G;l6H?P`W;}e(?cNSb`50{t8}jXtf;;0{s-kd1WMQYKNHX7uQpg1^PXD-LL>Vh zF1h~U``&Xc4?IeLX+_S44web&TWU>PzxqoYoF&<=Z!OszvSF{RgvV}n%m1TV2$;IG zGW`|!1Y%C&-l0QDe^*o9*>{Q+m6~MNUw3+o*uDNL+Eiff^xO5E|o?M6Jci&3gt1IFsA*)%9sUK3~L zc}gRDtpy0XF26F4hsPa8>y#Fel8UF&B?CHjLvw(W!{nzC6Prpgnm4GD21^7`BhC(C zr+Q_GgruYff0lz^XyJJUw`?JRnHKKVzYnh&b%#1h*7{Xe`cHY@161kC72h{31vNG9 z;5Y)~L@zi*7ur3f$mP#O$yx5l*jEM&3AG+#OhZLhlE;U(WT~k)-fhbt0Ef^+;{re6 z2-+EQHM6XLdU7YWeQ)A%&!1br4`fCTN9avm>yOt`LUW@l0_#6omDseluXT8|oqk>d zsT?iefq3fSz|FJ`s~1lvf}cBLVO#f4XuL?sPgc0P zeF!SCvC-F9zhYrNmW?o=Uh{=>SjC|F7A;-gOZuvY2DREnr{Q{Q!TQ%!gt%8%SDy;* z!1c>gCo{&JM$8DCErf6_m_Z(Q(KCBI>CT65RQq6S@D$hn`mqHM6{iw+2KB3n58p|) zMQqCVP%9&qbe&EA)IDIA(ykKf@W1`_ zkDFw^)w__itU08huGz?fb{355v+F-XiygrNiePE32=*DU zu3f}}TRN(PMI$Cg+nkRi8V~d-d=&XO>-ouWGY&XryMI-P06NvzTSOAz5h=KFu2AVr zb;(iaUEshm3B)%3E1KUwSH|eN57k{Lt@|YYTUG zJqf>_vZEK@Ka&DT$0@&s#$dXY2RRkr)Cq52iam6v?6a@9abf*!f6A`>!j_?RsaG6s zY_7Mt9I$WipG-cJGnw9^hc~I5g|shB9l+?K58Fv2D4ZD75l5j0TCG%uRN8y`Obw_YQz^3$<3<6RHT+{!!u`cS_>TIwvm6qj%J^~~)H9^Y;)Q%$n5#{Y{ zXiN>*9Ja7E>AQ1Z2(#TC9?1eeq=grY%rOx&6LR{E9`&#vaYPunzd@ovd7?LcKue_K z()uN=eEN0TM7htcSa$UEYk2fEWlYtd%Wo*)^WCdvb>xby>09bvJzPzntWTd%nRPWqtkD%` zDVsV$kXm6#8*aGBebR2Bca-m+rUpzTdwvsB>u=Y`DHSIKF)UXYX%s=e1Pv#YZ|H=2&nIsV|&m z4tBD9@CFICvVSigU;pQ?8d7N7xVPj&Aydu!#`iGW1VP-yv1k zr__*bgd&7ZMg0mbx?;8i>0QvUWOZIrC-Iu7eL9C{1q+3=^&6|Qto0k{H$_f%PLKFa zgcI!ZDKr+m!NCIrxz&!lE8cY4=~`6)f1sHSb<%!d6h$E2HhA~by(AbFhn&g;FBR7Y zG)e41G9vpMbVrpVod(=qBBit`Yeu@s)yyjYBjucN%Iopnz3^H$Q<=SI{E#=1(}7QA z9*#otkm0@bE`Z^WWokR?Y6az2?uj+M(b!om*Jn}GQl)or7K9^v{W?Z}ls({gUX!&k z(6NU7wy%(QDf2A+Q5{-PK<=>O5&?|{&l!?)xgyt$Nf!d8>7S{i&W$sC7rIhn^77+A zr98DLOru;IZfWW6z51gFq6GL~&-A}Wz19ML(dFaB0yn?>k1O{LzKDa-y{1MvVyf)F z>J07eoiCC_2kVy{T>WL>U|4Gxw#Uh@PaksySCCB!2GIBC4rf%#)QZZv@g9MA6A*aE zT{6a#WFJyufLHCiFr2oc6ss~E8$5OFY56bQTg>lu6jZrqrH0j)7~BM zj!lE+$p`-d$0n;2vDH$A)lU%TzB_p$?e`s;heBUJi3XGcM9r_J#zv43WYuWZldMGo z3#Feb;n>xWMWF~bDAL)_nOJ{5kDg(BvxfS|%Up+ppM_f3#64NCpa+4@I>7L0MutpQ znZaIp$c~$k&QAGS7kCC`dh&p}3rDw+azq1(zjxL6mJ5yk>`@5$tf-l_d5KMfDl@nk zAwTMYcQ(G6b48qEo}Ta+02~i?D|iQQ?E_s5ASh0vM#Forao449TG7FC;$A^6->u1K zc?E@z&z~28Cy~{BnX&M+;*l3gaUjd^s4-b!9%NMY5Y;0_t zI6v7Q-F^yWmkjNyH(og)z3SgtVAW5;PHOPUtj~Q3a!CRdP>}oqH%HJ#Cv4lUH{aq8 z|IYm47eZrrXyG-I@6?o@p3$kPMf(HR$Mg2QpE-&)ub=?X8L&^cg>@>#cRgdGqXR$B zOD!x{Q&B(Nnc@HqA2pvJMSRP9a|PE|ML0u{rE@plE%s!Y=j+modbGrAEY^HCZ^bfH zp|Gy5E(EQfUndFL=s4mWI;@#GJGFQ+D*tnz_G+%l6hQq9O`U5d24Uxg_pVaWR>b<~ zX`m$F;*^=Gq(PiyI3Ms>vTGn{)UVOqM_2lYC-R+S0}s%!;IN%8e$6G`$|gx7BXwMqfZktAH`N;*Ed#;!TAnVS0+&r zBjt(dGDtnpF(T78`)Fc&flu7{r8mPT(!OfJMQ>|29mI_su?MU10F zW%N$^r%(foq@$iUQAsT36N=?tnuoGr@;&sCJh}etl%F+OUmu0){FI-n8zq!MJq;|M zmfTmz#PczwI${|6^sy@U`wCv~lUBeg$-@nUcHbp)0jUY43>w*ZxG@L^N;}xwhpUu~ zEG*CiEy$C{p5kV<1cVu9AD>k3r7hr0dzhwc85s`&lKaWlGJ&vd_s4I#bkxNXU{3q-wKYf6fYsHnE_x&2SI!04 z1?bmVxITK44?F`{aWh3xP#ctv8zuWOe0zW z^}1a)2Y3D>XO<4DWB>s|pWnX(L9?HekB`}znyh5~z7cGTxG$_*g>v54kVYM!N=v-% z0o^QCR4@|s4}6yVJo@b^z{gBKk^(^i#X~Sw0`G=V4Fo|1jl5QA)GC{H^7p4569?K3 z%fk&dd#!dW7soOkh&qS?It>4U?wdrOx0{!;gAT+ylP3#JuH*pa&^V1S$u@QSv=>lx z_aXkTvG3l2_}Kd2XwoQOwK|isrG2Bq zl~+sqGp3MvbB>&<7jM`UNz_XPRs%Vq+!_IGD=+?Coh571M*~|-DGVS8Ni|G)W=~T8 z&V>F67yP5-yVTMsm;ks3=s`|!B1$LIv#^vb?ar7AzUj6BaBk`-`y22faeo-NU4ZvX zUtgbGy5Q5bKJNT+mvyFGXHUuX zwD5yQUT?|s{BfRI4giJnZI$}InIRsQd1rUO=;J)O1dn@n ze=H5!HEQwYfayMM>t_cHld0vw-3L=cKm=Ey$ky&Y(K)#@JH~Bl_@e>pzU^OBIa^x=Lds z=<3#(eapJ@<5Hn}kAshd56R7=hNO`bfsze=r5h+c`2-&Y!hQC!MsL@S8cd30WPewM^( z1F-@&Ly&sUx$fV5|BrU+VzKpIDAO4r;Yd2?G4x3*J-h?aA0$^@OR4(4dCZ+TU?-Oi z;dF4)?)}3N7lP^^xHG^`7De_U^-ifF^ll6y3_2Lqjf2}yag1BANcm`280A*-88MVei@`x{6@~s><43qX1Qe_U>GcZP3a|a) zAY|{bw{vHVO0$#WC&{lQ?lDML`_EU9&;oj`j=?yXS86GyI65)Fk$c*?PUbu$%E{ai zq$+nGxs{yhTm4sR()*GMBgRIjkJD42IHNq=k0g<$pr92Aa*m*9SUJNP4ufpJiw z-l`q#o|iesExUjBIlZW;sFGxH)q*LcC$HY#jS&P=$LNID7p#rV@vLtY_*=n$?3|ml z#H!Olu?k34pPmxludD>xrBkS5p@tW=Oc7@Rw#{da85E4=j5uN6F0tr6bOfl-;GgZW z(`ks9m{9HNPr zA(_Vf{XISG6*@BZxqcx;%I7nmk8)G;Rccg6;{F}4A!3| zrGk`rumc~L1#1Na7FvYT4apopthl&z z)OO%Ut8Nur8^O+ZZwFRa*)RX>SEY`nY3G4${v+)t2j`@807S-(j@GmTCuK+XL^8|$ zLkV-ZxyCeH+yrgKqe~xA;tu{n^)}X2tTD~N#4tn}(y=1hZk4Pj8(D8@d~q2(`MQ2( zt;Kcu3BlgMK}jpf$X&KDIpA(I$8B=v%@5zkLULsLWMH5=JvR{?=w&O|#nuCy=M>n+?ul)MVDe~(@NNe{ z0hWF;j!>L)@S&e83wDWgiN_-Wj&e_s6ObRd>ogtIj2_rys@m1lAK7RYuG01lOryU zP#(NlJ?;`N`^QwSW4AxR$MM;zJ$;6K4gG}dSu_UFQI!}i-$W+$fyNyP=3&a2=d(Sh zR^YkJcy)2eSSeJ*jzPJyE=c?7U{x;t)B0f#_XTRDaLz zmk}*`Ow7LQNPYwc-NOxG=ob%GW@D$k@J+uEq)Ol-hN$zPRrO{EM8{cI_d12^1%60x z3gH+cdlP`L$sSkSGm()REdC$(qwMIqm{J|iQ5kpASHl#`7w2N4sjP+<#VmN(|I2L^ zo9jrL0``cxXoiq?>*pIHi5DwQNKOexhEi46sjZL?mHiY;4u zDPojO5|7GX$Lw(vSXR{s~RdXvHCsW zWti_Vm>l9;#rjUU;T+1+P6wb2#Nq(RDjmMuJiSphs%Qz!HNZY18m(pdXcS^EJW^ zn9r3GD{JtyBv9)xo=j**vS#gU$^IouF1CJ;dO*CeULO*Z8?UCHjZd-3-5tqQMxFVA zMs9NWL{8Q^)}?dK(d4yYL+ZE-0~=G>jIA;f!aNL01zQ{?#AQLu@je4HqlyXSM}1Q1 zBe(pRy}}C#b zZ4oBj#8KtZmHant0HK$^n;e7k$wLoS<$~4`AE9w2CXZ7eR4gSNtoEm2=soYWm09MWrQ_>Rx<#0+aq zfX4BQCIP4$WU9m18M8`d;hd^juZOiJKrZO}6P@_h3^uioYLsV#63jo1k6*0ze&XjJ zGj5RuY|K@1u~+fz`)l$09GjGM$4V2wy%3mvq-iu#1 zv2Mm55O5;JUSz-@M_SZPY;Ey$A58DQZAYDwKzEnG*Rqp|k=;^9fD%Y{w1ZA4H&{J_ zNa@l~2YMb|fiW%Yz`z+jaOU9y%Jd?b&{K_Nld^OgpUw*d+k2xCpHck5^6|0w)03w^ zRyuRQE7P%3Z->h}|KY1A zgn+hKYuaGgAO-B|07{+APS*Gu(oz3(cgFei=g$EC33}G|f;LZNihTDZ42@}4reLNz zeYcGfI}Kz2orZtNImT%&>4o5@5kp0uY)`DqTHj@p0o)eAQU_!XYPJr!eD780XW}G{ zBx&@nKsG%C^U&@Bcr<%1(c-*!7gdmqfeLuOehfI)l(ae7=OdbmAJ^A8v9G5+TMqki z=KZJ-AMfRHG_^NQYz^`38k2ne19s7lK5j&_Z-FEaLmy6)sdBIt<>rEV6d-bSV6csi z;n1r=~28oC+`d)&rq^6OrQa8War-80ZD97RveFnI^Og8gp{ zA^N|plLcl_Wki!dXS`Yw4#ddpH%7Adn;Vz7=+e?hj5<_CRD>MgH|XOkolD#qiw=M_ z`%SGOlJZr>qugEQc89#^tUD9d?{u0r)(JQop_GH54VW_8X1$fW45M94OS+c?$~W4L ze~uP{A4S&#c*& z4C-v7!ZqJ<=iD=fBRLL3!Kf0HK9e`3vIckD_kJaG=PMVj-cJ`rISwc|l` z@pNjh>*~|6dL+>f;&0}BtWw4wC5a~H<>yx#1Ay$UK51>H-|z6ljk$>|iTa4pUL!xatG{O^8DW!jk28@)pRDs_(H z3Y#S-_dr~v$rLhcG+x^%dvsw0)`8iOzMH2fdoR;q!cKJM{x+egkzA$Uk@~J316ZgPcCR3M-pu9)t^7?BC7zPW@m8Lw^|3 z5W*!Jc(vl|nd+c16vM#8)O#ATsaD$EZeC$5C?+POz4Y_f=2rwg=NJ`0aHC|sz$)#H zUVxKqI?dMeE=+Ss$LjGI8BMdqK297jSW_RH-ZyzgyWv5FS$Bd7B3P|%j zn&a0cC51Eku|splK)Wi?Y@8&_Kby>h{h8IXeMG65)$BJ1Ty@%+VL+9Wo76-=k8dEb zvDU%|!bZfn-=O!e)9iIl2AbH!KC+%cJm0t%2pa8ic;5_XKO1lem>vQxwR=n{B z?h!=*`%OO>Wu?A`NNj9ue5$=C_x0PCy?SS`m~&{1#p|1Q=PM}ub-E~%7G-!Pf{0@u~woCfPquScl76!lEugp zbSjF$+cToa)!&5>Nln(}U#nWS=+I5RP%5derPAUmViivo%EM3*q7rlZIc9sNc9$ zDDf4xCr*>rwoi8GeKQ9+`k006ZKHlq5td$xIkOLY<87D`&%ic+ zGJtQAvd^*+s6x2M%Nka{7l9vBZ~vXJeuMIiBfo?yno^m9Cqtq1g%}yNK)cO7{a7b) zBEFxvVF(Csd>dk>xLOMlx3XV4Le=3CcbYnd0-+|2bQ%ZkA>D`?tKp$t|M*A>{fE9@ z1+d?#P(EDY(8hXus#^$V``j2D9p^O``a!Xl6?Oe07A*9&FltQAzXWGKHMjtsZ-R8dC+ z9Hwcu;`V@}bRUSa|0fQ#crfAoO~Jz{ZdHsf-Hq}M+vosDioJ7u;!dSmxKRyRHXqeJ z8V1iLAW~6AEBHbt%pLm~)oW?9ld>4-456SUd;wIrD zTTw~}-9kX;p7o39p<9iwci8DjJ-xt9-T-BGpm$392{5UO2N+b$g1nX97@oOuHWYp; z<`Tm>8fBj;DuEJ%8Qr6lPJ_}8H6G&PQ|%U_ONoC+(T5QP6bUF9LE);yq9`b_)#M;~ zXd?^MXS@+^0uj(s%=h=W;mgcQwXIm7k0rh0Dy5ODgq6Tnms{6v9n z6u#u024i57TfQ6&K9tL`Eb`SgAf#2NOfrcK4gL*|9$*gy8@ONqW0`e-`fY~$85G4?oiRTIZaf2LfbjyC>!32(>NNLgxW0h@Z%15;6&0wCE5)aGUnPOU1f zxAM$r8Zaw9c<}=4)cQ62ZmG^kyLxru_Ix-7i37u(G19Q+_r)mw=+cq5jQZepj;YBQ zcdGU>$t%n&`7}Sgvj9tW1anAesJb!I(ZxHvWX=9Vh4?UQVARR>JiS0N(cXB##EMINHiPdbxNjUH>8>6gEGUz zm4U4yWjhF*YXbmQd@MFmB(K`KH0aA5!TxH_(`bZ_ftA4pPz%<2Ik3BAe^#CqAG*!@ zO%y5`{8LhlR8xi>nqNtw{^#V;(llgI(l;b*wS};K&FO zz~kLe&hJ};Hk*Y;kK3Bb%r1fMc^YNPHO3A;Zn?X=?qvOTetyw4yV^sVnhdOrDi6Ws ziks+`rz!MpkwR!p*4#Y^vdpBGl-69_-hojzgF1u0L!-{Z`H4eB+B7BeaOE-pBR&$7 zHng{M3%d?~4oD1nd4;_#H`yXQt=ut-Q7J zw^VM#x%kD;+9+Ec;M$%tM~L=_3p%NXc|M|gw0^G8ZUsR6J}l%;3@bX6WBe|aBQ9Oz ziwUM~&*Yay*;S%m;uooAo-qw+Rbz_YzzFP2g-v%Fhzv|9KXB*vJGcn`M{-S*II!7t z=$;rHTAL}y$rro`aeHnSrO0}@fc?gKJjD`Bg@tvMf3D&JyN8E;k^t) zBe(ks)=T}Qj2dD;nZoE|lYV|Ft?sMzcTvx0%hv8)Vo z99Rm2I#-AZ0ZSy1djLoTkeida!D1E=D8S6Qx5or%#c!}JX#P>X#1yblCYCGid4_Oi z(0}N5j|m*fxbwjIjlWm@-U=5wldVz6(dCzBZh&o)zOENUJcd*G zV{{cv0Ujw1tR}!{CDy0*Rj0z2h0c0zS0Hl=o^<^Ir_7N{x+uZxJ|uw~*waEo2})s{ zSuJtIpkv^zg+5##e-)nZH&a7a#G5OH<(zHogj)*rGK%Z1A*(S1h{WyNsQX?}^U_bI zrL()M(s-*Nxq0I}zp!c#$^t4Q-~>i7l-r0ZHS>Sb4M9C98-lKNQld+P{aUJG{7R>z)Wo0{@8%i1UQAQgog(JX_*$$FMu7P8eDT_{bJL!AA|_{ieOKw=tG& zYx$g1-VPWNz-uce6bbqjc!qAOWCl-E)4^N~vRDZyGi^ZQV)^l3SHh#Zm`Zox5dlpW zz}HU?e6ipQcm**KEVTRrfGEeXsoVr(SfEXJIc>8af)tCAJ`ZC{$SR0qYl(xU(Fj&g z7W7Ksfmxo5OVwDa)~Y?^rgPB8?|C>7&B_+bXMZ05Yy9)|D7!w;ocC|&6N|vQ!e`N4 z0;YwZc>T(i%W=OV(sFR~5SlDe_9$aD*Tl%gII@U{^{@?1MEY^}>MJ$(otOs;p&bSa zRTDLDYW*Jw#PY@lU$+&1(SP5KTf&g`>}sM)0qMHm{MqK*{EwgQ{GSilzln(N2Cm@# z;dAvJ32>)@$ML)Y-$!{theB5u%S9w>+)J0HQC*SuBUg1o#>fhg2k&Z1s^6O#t=xrb zYd|ywh5f7NxmCsEIe-85r&M{<**Uh>i>u8q74!X+5Zv6einE?m*jXCEg-ICZ>)Kgc zoW)pwoBu%3r^HnEd>hxt3UcU5(9+Sh1+2-n>|@_y`#zFuokW^PrHA!bpr(zwc zq?A8;>EXr`!;u$f6s5b_s2t{OA)a5rEIi6Hoc1Xd|Er+_bk0qfq=Gl4R==aYR7R zqnSonRug>-Ott4d>)xM{t3NwmQ$TBj2jdqjoR^a!TM~3QivRFdGYpp3U;Mj1Sa&Qw zgS_|`{7gk$WfhKV1(Kr50GMZ^h?jqzygQW%pgT2*7dn zpXCEG$wIbz!&lI}{rrILpN-Y9x|ASszA1#CCZ%+QL7zu1B%oNMNxgP)tMDL*F4+-L zhjeTH;+C)cLex&Y$SzxGzOp{&Nc#3;##2uwypOiZ)?WByZGYa zj8Ia3Jhgo~Z|f+{+VrL^>|hc+%zzS`?joa|FP^8@$P#e{brV-2k8(-h5Bt1YV1Cz zsdM5bP|C5u893k`Q@^L?Yi08vkI3fJ(nll)a=+=vT_P7zeV(%4{$4OnD*lmkhk!PU z0Vg?5vRhy3Bz+;G%)da}y;OHv(8jPs6CFG{?(QHV^Hi`WrkLx6zjg_`e_Gj$~X9ZKggBO>B7=b<5_#PC?6 zqd7%Ux5nSPqi7dpz8?)O{mCN~(=K{QG(w`BKD3#a$VIB2oo7~gXJnjz7spCESihD# z#{@wWV2myg@&5Z~`aDxJxmWzU)}2x0-Pwo#f36mvfC1RF?b$z$ug7&?M|a&*A|tsJ zPHX7Sb-(^~J=?6Z+1xC@Wb+G6u_y+gh;wji{0k%rGhNv*GL)EXdsehP?e^)zknL{B z8$s$>apJPDQB)M?6SQ1ET<`mwY_?Y!`-pB10;0JC=m_m#y!%*MQ(m)quB}m|lFmcl zA-u$-o?Kd;eq~I=lR-SY7}bVSq3=+>X@0Pdq5ztG(N~SxUz5V0P(YEJ*2M`yWO@^E zOp&#xW)`O5ArZ!I-(V-ic1IPoHG%ZxG@58bMX9HYMZ6ZTnq zjHl^mJ?v|Ct#a5d@;ihi3ZZAB#LNpc-&gD_D(3katn<*%iC(=)kTXg#9Dal0^l7A{28p+W?1;}&%QgV(a*@P)S09s8_pvMczHGq}=>Bt*zff_pbVIHu^y z43T%fl8>Mx9#wo88ce`f?hz2_GDEW&9`V1OGe;b-_z$Fd)V^K-|b$$llxHN z{bwL*W52OZIENX&{>l3IyJt@IJaMwuZ{jOkFwaKR86Sogk9tO6+yM{oc*bZn zJhN^_;_LS2PVT!AdQ`C7@^h{1A^eg_H#i}|gN`aSdoxKt-FnB)MJIRr_yVbh6Ls4& zbx*}iZUMT9VpnNauCV9tCw;`X{=2&T!S-`(9A915;;Lu(Ept$p0(r|bt=X4M^N)R= zhq6r8J=qw#1M0E?0z+@e(PfqokniyoK#kup$I|`#;JIQoKZq5&h{WC7^C;)OJW7)K z&u;2~npf;HxD$BOaQTOahaoDm!Tm7M)iUK~ytv#pa(ql>pm+)~ZLsQ{x);>NT6{Lp zu-10BIVkJ5N`g*vpR3JZc*};*b)U@c_X+M3FA!D*CI${Q<<-eUtJv|RgeWis=KZ=1 zb!p-Q4E_o&eDHuJiY^}!({Eo)D;G~D12yOrr9FNua;8s2tj7S5IntylKBBL;7dKFt zRH_uFGLMQWnsCx*J+x=*DtfEo%MwK>fUBo=@oY_NiT)PsemwD=AEYe z$_R`@=iU4g@KLL*pWQ`)$B`0!C=aEFBZkr zruFrzRO*^Xe)jS`?hY+Br_b0b_Ip@qu9wC`R1!uK!=d;dd;+FWqo+RvOLLgq@eJYL zK3@ER-4O&8nu*-7j3wvu*h*b7qq(zB2_lmOJvXQ2Q{2Ood)dy%^Z!2BuHL>LB|kb` zn^@e<*iD3LOUucwZ5oq=9RzJl{OvlpunYk_aKisier^Yz{AP*ir%ZM{>1(*UFE{_~ z@%7{j0A@{g&ilKncy0sN|JM2b#PU2w@pO3St>yC9FI#MXuO4qVTz>=k`p{iE-|e5D z7f)^9`6NHSw0x2E@4VrKgzd?kt#b4FQ662z{-wy@^MA<=*BHf-hXx8m&q6M3w>{o( z3FPTjF1L3M&OaY#TW5QI@O4e|`48TSsNomqT>o;Ln`snI`*crC=WnK?cAPUdnaPHj zw))U5g(teSxhQL5V$1n^GioXa8`7Y2!^+a8(xk@G@~(S&+7N>}kEl?AMqRRdKGa-= zK6X<@qv;ox#Z)|9N2<6cqaqJQ>B5jP8kMKWCGrHK&Y?@iI7d?F!a@?Rc%pq`EPIdH zRFbAD{i@u3MmuerKxI@+uL-5TIdf&odLI-tOzDsMe{jBRq!52pi6N-0-;j}1FQPuf z+DqtD8LRgSat-@3eM>dSK10?^;2 z-H7_^VjLGgs<0{Q8Q#f&jm6JKu#>%EiIqze8Z;VtOHZaj7UQ@Z_Dc?wLg|j_(#H&q zj*9VW4m1Bam}Wz@Kiig6PxDz@m-(K=Zx0dAPt3befPvpp4v3Mrv@R|w_KPs2;!lTjKjER3Enc zZt(c7ZUjn7)!X)e@=H!3m)S3}%awI}frr)sDf`CAJpuRc%X zIaX@oE2e)79kCmr!c4e>2J^O(fMczD{=?0PQO_YeX(!pjnY}*&m;0@88&Qj%8rjZg z-!3aGvR;miYdS1C^<7^p6m8ox@N`}V<0~tH)g5Sn5rrl@g0#YpzrpAU*%+MoFGFN+ z7(AZ%Rx#9oxHJ{mAH0|dve1?#>m9EJg&lUWP`6O8LbPdrvlqWjbpKDjS@zY>8wOO| zVvoD7Xs>!xbxj-C4c+}@jro!Pbw5ox3W&h$f;}rR-kOn+Hqk<@mRF`Vs{u5!`vhdO znPR5k#c&D?3`g&!^H8p2P}_v=(~zldf3CB<$*{x6+pd0lb#zhxT<%h>UEzDITl}A0 zj}IKUbL^IAV=r&t00=L;e~bYkqV3rq;nSe3?c(5Mu)R91HCbNxtY7FXP$wzf6 z|KqB%%y!<)^CUHmP7Hi7$x6?M5}O2k}h6b5*e#2OQEoG>M%U@ zS!E>nJj#BiSq$=!`Q|l7ihajEW(4dT<~)Vo+JTmOV-B<*-!Lcqns(962Zjj1fEvU_ zW9*mi`lhoR#+B0R&mw5}TH2EZWP*L8>b1LHSME8vCs#7Lb;LMZ77O*lAc9N1Z#?1S zP?7S;`VprMU*@yim}K`ILn6H~r8%X!@+nt(&=kr^a^AL+k0yco!U*Q=OdNzr#7Xp) z)Lx~QrPGq+gLZLSyMyXsrq%S8msh24-nMCV zE~=T{gX@!J7)%9<{?9#^&pg)in2l@)*Ot>nXoLfs>yujGL zYnxJ@HBL@8xQ;BoI$^swYIov>Q{=LWV2HCFj6$cdm7Cqh;=>DEk zT)2HS{P^cM{nM~9g(`u`?LE z{`&Iq*~Z`T_eXT+7{$MS)tC=|{*@hUZWITEH(Y#I9KE>Ue{s-xP1n-mf3_;}j~~bO z?E2Y>$n&$|^T+=_ff~;4zX|6aFF=>m$ndrN`(Gs~hdJHn1}Di?tlNV*HWjnpzWd*~ zuYW%anf#k|?|)Z__YAnxlDhxdnuzZ^K@c5*dNXjY2hQ5D?u^E@U}+!Dc^i`6)>C|E z^q6_+cXclJ3!+gAs^|!38R_Ks(w)t~2h6;NL{<&xdXK~*$92)t5vN<*Wyh55s~_F{ zz7Qcqi_RhKo^;Ln)cR88JDem+z3@8m7#KsS&aRO`dKBkaqaNwXl zTQC+gm>WY3DUAha1n0TN#D!mWYCRLRd()KSEfa7`Nc}Gg8t?vT&uV$0r&$R6#bu+p zi%uF8_-EINHnzND;>pR$3(E^m;;b11#0jKhQHX)wUIha=-;7$RdV6!pSy4`E{^1pc z{-daj429?PMw<+HS*BkD66kDSBs53!6wsOM!ac0o1B#gDfh?nth1P7CAFlgs2+2)! zcH9G_^hi^t#tAb58u$$8%0GVo1eb;^^e{^D8>nUg(mN$SB~Ebg?EvrSZ_c9x_vLr7 zSgZ~Q$wilNj+6+cp36(-LZ5Fl$YU#?*|%*0->7Wn`WxlJXYbkLl$9=d|KGpQK9P!W zK$0GHDK~MfSYS8<4xSo34QbQdyj*VcPjUsv$fA=DGp}_0`0xHpJzlOabv#KHNe?`5 z6%$3tGRiW9wRxm>@4`rwYgbBb9*Z*=)O=<%=4V~`NsL(h<9hK3KW=WA@_+unXNrnpx4lWM(;9Pbltv%Az-`MgX2HGBOG-SIhjv znwraBJB9<~Dotve-nK=FF|K;xf;qPVIdv~hF&p)!9I!0r77=k`~TzV&BLK!-}nC#*<~49$gaVVWfGdmGWL;OgveMX zlx2t#vhT~-cg9ZkD0|4hg@k0u5b_`+S>tzmf4;}>@8@`qLu1_cb)VOHzE1k@&7M)? zj-OVCOf@ExtlszKDSniq1uDmow9e2c3Dj(4c9BJkSBy!4<`VeK{Ia1`8wba&e~&r7 zFTM;Y+eDiM>cP#kWfae;J3h9(dhywl>;1Ci^_c$pK)CMu!BsH66A|i4;E$X!O!C#M zlZhr7&gAckqiKGcxOgGSsHmuiDFd!w`f6Zxd^d+Y=;-LcJ#JDkB3j+rThTfST!3Q= z=ZK)rc+u2bskt|e;VNs}Z7r($I+Z5C7(`a(#Pu*_#pGuxeJURMK74#!~*Kv5^jF+$*K8_yT-oBCT6&2!@IZ*n5K2+zX z?ccvIgmGyLw$nb_=`U(NKePG8(riP2Xvo>ehr-qUGwIYbCgS7q_<)xUS~(8G#nLpW zo0_p%@&^!P;{q!QirjKi65h6QHZa1IPoY<6YM_6EIj__~{QltP1e}={0zt}? z3;&F$yLf?g++9;lzfv=a*}Z+fYWllC@o!>uZ{m5}+KI<`_w?S^>{q8t9fzhmLWT-Q zK=;{c|IzWIVfs1Hm3KY;i5)+m`wqSMJy`LaF_eLIw0ckQ@hREq`^V>~KjbQ4q!?pu zKfebG{HlLn+z1;7VVvB##G7Y_(?k`;)AKxfvRiF`u3vn8haC|=e*aFpd7~p@t@-p@ z$2ok*Z@S(wqxbO%hd+>0K8aShciuTIQ|wh&{Hu9G;rnWONp7J@1<~pJY|?jwygl5> z^w#dR_MP0}$7UBI|5<(7B8KkcLDqxMa1@n&B%soZrK8=)Q-y#U1YEkMQ%{Mlnp&J; zhkh3wlFh=l)p5(l7_|%`XgP!l$PSuJcs-WuX`vCt8^QTwuChWXYAjNm#%RBOITsI| zX++}e(a6~Hr)eo6HrJt02mL24SpGmSFS$z6-4aZs&GipeVdWY#AM!Wr%<7>1lcaAx z!hygGD&UBS#MnYvHGMmNr#IO6LbFheIediN^vk(XW zBs`U_PF4vj(u|R$;ae6+ap{TdJ^R6%VLxvEP(ar}s2($0{4xjpjn=oeV!zH*IGI!a zdCV ze;%mk*qHH-gZ8*hA#o$AyWonhZmg2N_wmMyJdr%7>pr|}4}=8VbgC6Ux>-6KrX)oR zF{u?uIyr5UDrs109K;Yl0Hd6aiWI>l#qPi9&$Ofx>AJ$f)_}vmkQasNU-Onvulu|a zUo2PQG$k|KJIh3YsMLW~7zRMdiaHM8hb^lkMiSme1v3m95n0pBE8`+#H{9o=6*X8`rL8AS$q zHRxeC7f)u3ncf z|L2Mks%H<;Tfn^$1{)Dsx0T-@<^zIg*!9XIb( z0r>>Lqds|Bf}-0$f06+Ek4=?${L2$yi0!VF_ezf;0LkZ^45Sz%fF!2yyNH`-OgeBj zI(we0OJZfVBo}B&q20VzJ%sN^d*HE=`F?R_`b>(9(CDCrxk5g3|_8GRnCUXzxGjlV;7q%AW~guW?=tHPX)f#JiqlJ zY=2%_w7G+{NzeS<7nHsmx(zVuJ})*}^@oj`IcSI+{F|7nKE0Zx`M?ZEj2f5?;K=-0 zN9#u{W*Kh2*kFvgMSGoQ&mQPgE$HUQ3lu{weUmcblN&VCwHmmzwOs$3v0L#%49XNY zoSze#>Gstudy%)%yvg+I%?K+91!*8+q!twgOJ2^)-&C~$!jgj+5tD&0E62u*M8Y&h zNSlQTt)b;iHz}KovwsNbOez}+lIw{+n7$qH9va+w3-s)4M~e9PGzxN+`-sO;7eC`s zRbo4agycaXMyS5ZFBAlb@iba43{Q{b)u-1w4Xv`BO?sWeG( z*3_*+?_mz#M3dgcC}*scHY?Rn+1vP#%~jU5`S(|Vw*V|!7=1rg0JYki)jy`HG+!fu zqP9$)iEUUlmfw6f^if2X-;OL4>p{=fS^c@*x^?HMO z^cHq&w>R^7Ds}mP9#xMhW}odl2J*!Frl@z^jU27IdA(27ZFuo$&OZh`LI@vZ8trzU z`yDT4XZy=%XaBpaX%MLlcpaCxPm3O}J~-R0UTrx)JJ@SKXivQM`p|aIbm~HJIyx0n zmsu7u5^0cX7ve%Ry4aer00Ln}Z~CO*kjH@f#BHpl->j)I=q1p^CB22BH}k8mxc@MM z;Hn)`qPhmqFTGxC;_#bS8#nVs^F-tu__7d}cNPn;+DSjjLc1*u#4DYnUhh02`jpX|)uhzuB_n;=y6I*s)*b6jAX z<#Sn|{fdfy1dh!(byO1&?BUGFDfB0puAXr=Jelu){j9)N-1-(5u2`5!k!O@Dw&iti zB73>L#Gb={TilYnub+K?nbpVrie{`)NgsU1R2;106FUb$Rrl+ND}HL!N)@9P)OX_* zuBeC1>h-Fp8iCSBzvi>q$9H1DH$X`UHo7kk!RB#~rrZ zEMgb+E!TquuF=Qec}5t)A?9;EUnFoVti=vXzx*~nmU%>Ah`KjXGI5q>L;@{(+ZEKk zfoOc1?oFEGd)xCZDx88)jnG1477%>Z%or@qTYZ>T{AOniT1V2OCqbjqzE~ICwsnOF z=hb!rTH2ef&E4LBA9D|F+>+g$Q2WghOVAAdx{Yw{Pk{LD!O8!PRHiXUeYu>dg zvt6Z8=jWUTx;Q~zTv=ap4>Gr}cRPD}p%qjsp=C2_-us7R*l5VF;AOkucJ*)9z$L`( zy7lcgFpX5V9beB`1K^HM5Dlts1>^d?15U7?B?lK<=o_a;(J$}C(p`h9j(+2ieg#4>@0=|js$yeL~;-8eY}VtLi{ad(|v1gfE&@!Hiwv(X76 zRrh!rtJNU{Tq57wJi;Vsnm#l|a36;At$mHjTy;RJCa|K@myXtQRz~MrICH(&QN^Tg zI$7vow@A#d!t|wgH)j)op`uy(+ZG+)(CqANw+yFR+hwp=>&x-Q!RaD!@$a84{^ajC zW~j1ic~gY}AOa7|<8BPF=vTIoMjX(x0$%LvBWvo-5>C@yvV zygEP0zrD4+oFSAUG{3r*lIl2h&nQ2BEzn|Q#qCp_p0*MWZw+AZ-{_jfvMcK5*+23` z@F(F2H!~YOfcPhou(f8E!%H>0%+V(qYLg@=fQ*QYFVaVD{E7AAlTfP}jNknwQu{0{8 z3C!;Ef>CmXnPbp9jG)zpUe1kEpQlEL!+6RrOMYm4(Dqf%THU(}>}4wbNFNcs-?N10 zO`XM0MS#yXY4t`NTMMpCbS|EGMY0h}S}rmlfRDGcj^q2B>q+u6_=iPn=KpirR8MXV z+!AILf4lc>^F2FFsP7i{(bY@sn|IHDngua^>^R*$4>~85_-%WLE3(BZ+$#lGNFBoiLs;GEq?{u$#qGgaE^I{l0b71{yF% zOkEMzl-`s(t&^yAQzp(r6e%JI!68N0wY5e6+vcu&EKkz0^lxWPyW>yPQ3CgwL+hU% zMJ0WK)0GEj0_Xdt{>-emvifqb8d-1{PuHR{Cli^R=Y+DzE&?Rge2*O(NA4~jiAP#w zHK9{dQz!#3Stdp~p^Wvhl);b9&6n5zuPh z|DLoek%Fur{|Fbe7%N)bA^y_7#Y?4>g^n&!C|<=0$i?=Yb}#QDCw*F@-{mB~}}%H(z(@>+-aF6KiL7_$JQf5zX-xP<&qF zl9~OFs}9B=O=4teOPIL&=*3QbP0dH_X=#IO*B$~$#wXGZ&zj*q+JlGPn&LdYBs;06Gr!lOrzzBli)ji@Eg&vX6#dthc|W)Ix`e%0Fb z`h9y}A3lD()-Y|wKL!|d@%t~auU-ogDDf+8Q%`ThhI;onfqAl`q5=%?K>Yx1H><16 zSKBTpYR3I=)ub3@w}~v~z#Pz?gk3LJ_LF0!;j>L z$&Zhi@e*h^w*=Pn`CELD5NcNOn);5oHDf3hSzlfFMDWZtJ?v~i&L_&rjijdyftU=P z5<|Fgk$ENYyT{n)dvf+KUZuuFvCb~c*&qB+$?-jPi$s7zgOkFLQ`ig6IKaW8L9H&W z2h2TR{P|;4g@yHQ-W=zFApYY)$!X3l?`z0~{9oT>Q{MEu!%=!rncom_EM5onIqGgL$SA&WrYmrNYHMx)Ej60J}CQ z-LzXoVPx67+a-}wePu|^^mZLWFxKEc|Clt^5?EJ+Z1}X_2J=1Y@XT(7O1P-pF!iLp zoYshvptj30p%}QTN{^nftcKRvu=0#Z(Njg18&rI)X`?dB8RBCyZssfC>2h%toHS`y zV@6WB$6ZfhkdLHyK($8(qG8{@nXyOXeH#x|pjr`Uq9LCq=FiQ(Tykx<|f*)bDw{@dGxFLIOueE%r72sYi42g3i`^A0v|9P^!8ALxicsGXEU7= z{j%)e=SN=7&n&F-Cx5E@{kfTbq!19T5F^x)KNQ!?Waa%su>EMvpTC{^H@F(ss>?6b zrM)ARuKr4qwGdhO%QmH)wZrzf^1*&*0Qff(;#U)75+2(#_+&Wr^NXrf$|a=X*m9RX zgdvny6PLH?p05wdlFKI|z>2AVf&?`+mZ4gds4M66+t`y9LLah1DIDqESR;d~k5()L z|2}#$%`AN0a#l|(ACXTillwM=xem^&%S10Fm24-MnEt?OMYcHPk>{$56zaa<0Pqb! zP&Wqzu8nw!u4lxaY3L0XXr#?CeqwbIV|$0}scN^%QLrbXurN zft@60OpQwvJeH!ENi_#o#1K0#fRe&NKY4QE=?y0H%*udeux#qrC$~t`%6umw<%G(# zs!gf%0q@FaSWxj`h$C2AdUzy?npW>gEADv!_gVF8BAJZ1<&X5WT-yWdRPuuzy?q+5 zowl9_=fh*WBmQS&29?IOCo;vAt}oq{I~1+$?8rPY5ioH*3Qa=N5Jx7MSNuPh^pgrx zy*d*o3?~H(BcCaWQ{Q|Sa$!hTNSAlnS;uJaw{MuA2sEk-Qncs-ZOr@ zpS&L1$20o7<%+#h|MG;CoRG9);hnVKGl^qM4~5j#Em>}~3}W67J*l9AK1_*mxyzZI zGnGqoTAA+sDSo8Ro50 z2e5-%cb?b(&w;0GXbc;|=UJaG1@zq&vzQj5vimc)hnOYh3^5W(p3uAk;GkMXf!v4i z3|btt5R_MkUVh%OFEd?jv0C|l0pITq!26)lO(0@+aZ#P3vte`kgU5-?mVHp9)8t*b z-p}x20s}b3Kg4P_nAjn1>t zU7Rav_-rGUURP5So}Wo-6Bw%1_O)=lbn@wK*?V$5o)#JVS7X$oyz0BrQuaT?uq-U4 zcYdMG2EFBN9G<6w$ZU*&CWx?KtOr7h$Qo~aUmGaN&08qnC00}eTr1Ll3^pR1N8CZ+&! z3(pk08l<4O%XEG{|D!WYfS&A&XIztTN_+r;UAOMvdSpJb=56mqJl_}>0Hv$FEUqUjxFz|P49CAs*{I1y0>GfA+J=g*w3Gxs#B}ga*X`?NElSNO%{vo{{gsl0QUQ$9WT)76!SGq)4`)Q1xkVrAM2EMh17Wnkg}Y4Q0@VytlqquvR{R8uomN z(}&Q`dHNjw=AGPN8}sxz9=Pes6$g(5HbIbCZ(At*)g+*)1(GTT6_-IsPJ)eY_j~zD zYLhr7L+VDHp!B%R_-Xinvk;eHu~N$K>=IuCXn=5zCD+8QC%(i9JeIzF8r&o7SH zz6V^+rh$KV9)OEan&}Q|c=|y|u$Aj7Vc_nFqJKEEp$3Y7J{BpG_l|hL|j(WzYJSYX# ztbBIyMIl3Fwa3ZG9g6O7*;ol|5MoS{Hb||d+f}yf;L3zRXQNB|?|+ZO6*GT)lOjG` zA!}FUry+rmeVsNL*oz)_{dh#Zrm;+6Y*==C(|X-`=f9~G8A1iSX_svb>n#>SZ@vf4F-}cCt7;6Nh=dw)I|49+9N4Lk4_yD~G}0 zg@%?FjIjM`Iwr}E(lZJX1vQtMBjJQJr|Bv;kUlHk09T^4h_KBei4f{ovZYxD36_pN+3qdMj0<`CS;6C_3YacSK)akF36&i=hZoAm;_UA?6Rr&{hkccxQRTf81{+cyA=|eP>d(!`h~#XN zG(i~ZRlS}^kPK>6L8)-EU3JcNFhMGnjb|_h&OG{*({71qElH#PhqrpFqyADgH5Iey zrM!S3WAmU~hgr;c4W(;3-Lfsu<2YY0|Ho#bv9Oqaa?L2I4x%b|SGS_bP$8DzzSH?E z#Q8!kvAA^VJGQWJ+5dF&jMIO6%$G~?_v^(7n{|YDP4|m)pbjjaMWcVu`)!K*A65Ht z_#bnelRiH8^iKjUsqK3$?QzfEpZmC7idC~cJAUs=zW8UYJ*WCK@|*+I6j$%^EBj5vd(w5#!7DcwwNpW!e#qVXH0rIlV#`4TCysW(}Cu6eU^%OgPRjb|_&Z85f5co*{9*yC9 zyJ)c?20WIcR3sxmL5K_^lz;4#Vz{DAjY*i^%im$Xi;7%5ywV)(xFYlUo%q4I)VL^wTFu?_uAN*{3v7{_#tK9=hZUx+r6 z{}xp+N%ONj$Bf|m)YRKpF5}Xfs<8XKx`yt)L;-umbtyKT&;N;FlJYiqfgS-()35%@ z7I$^HSS2OZRPv9A8BT(oPLHAVqbpES?{QA!=eVrdWVER(N+WxJ7KyeV|JwX-hYN`G zX69Sg=0Yzai6aI=i3}OV_|5Ab#PK+{nim0&$`Y8_k-Rgrejgv4t(+&8AE-MvZ~%&l zP#Xnu`T}Y+Sagw+i1Dgd@l%puqXB%?ut(QEV2?z=A9eap{ri?6DCy?rTAFSN`1a&) z!o*+(l}4pTBG^~|q!u1oXUgo`Qx9Equmzs&WeqqE-c;Ci1Muc9;sm1&TRd70nNnZ( zL1X7IDOGWg46+i0*x~ zs7K{O-n^9n#R|#sL=g%nP-0M)zj?I@8lFgsng;!h0vP26?8HWfNT%1Or}@ZLWCDYO zu(V>H;(9_c2ufrE$Niem!xSaR(HAG?2?0C#?AqpLW!$GfeJVh=LD>=!SE#lZTOL4y zhkFg{U?r1gg(hXYhlDuZ;H9ni&j}A@GQ^R8KA@+|%DcLrWP*={q9B0$S|ix7{uUAU zqj&fAR?T6?mRQ~gNEhkraYr*Z6=L%X+{*$P zQ+=R1wE(}4S^)!adKllKz=!t~A?f8xN=iUw1TgG<0`5?t(13>xaga)%p0NiQw4%JN zl5hQ+xCKtK)eApwJ-gayTTpHgUS_hXIvx-dWUDjT)#&_nG?%d4 zM4ff_y)I`D#HV+>lOZ&JvUD0`LtpSbT!-ax$iD!g|7p9UKEOwplb6R&?+}OUcb0(i zmNDSn6%xgIp{2-jPHcI}$;t6X+O}%N=sH|3LX-XU5%2@<~MviLxqkr+b|+^$M1T?-x=FNOz*(1WJSg1ikWUk5pZCZ8j*w&l+3j9 zceh`3M47h@p8XZa_eUt_j=O4DM4H(^hyxG&aUN@9iDgt&RBhwoIuumKWR|NR7K;{~ z=>^8w=cXiRiFh7O^qbH%dEy5KHPD2Vur^br4bh73-Z}s0A7El+37$#Nr>$nKucW&I*of91?v%G9-Mu0OqaOxCBU2B%`%Wj zHmcL!O#G2w6bK1{F!Dy=BsQ@Xc83wEWl~raf33VcA1ViYS~n@B{Yk*TL8Xi5Ve*@qJ>uAZ5XB{J5jUxw6cKO;Y^Qnb&Z4*xl2Rjz8zwO$Ygp zkJz}6lh11`_-Xia{LZu$*51XvK22=heBH6*p?h-t{4^?e?;O;Xz8+mw`12!n#*aO)*5WcaH4h_sI@G^UT%6u zHl5t1#a39F0eo|$`VZ@(j9|dwR_MV;^8^Z3P&g^Sw|Um<)=8kYw^7A7Ira+geSOkM zdI;6J9fF-l*Omyo>ml{Y&0_f$1U8g!P%%K3is4f|N-M34R#K~%f?GBgi)6&&G2yK| z>b$ISDOGrOd8$AG)BujcF!fX@SedaXoKJmmN00L($#yrn4SYI_uXr@Y~!NA7N z=FQy~i$4z!gDc)wN&QtBXsdI^cHbZ214Fv>!%*d-U${>Up%|PHWoZ8Hf0GYzYYbFm zF=|&5f_2nY=wf4mS_#@)X~8Y|wbZa;ss_c>R{;)}{-8=RJoJ-?CD_VmP^Dl#?|5#& zU?{gytbJ8F`E6r10O=Y(i4oD)x{W4 z4>nRbzy0|s98AhZMPw6jpaJ|nIM8DzLz!Y49_f@YrKGSly*{Bm{s%PdY#1vL}AQ-54FF~AV2yaj!!5LkPGCQmP@B!@A zR}R^x~S8p%K zTe8lDiE>$fL`(6qes-3Tpt+(lRcc&5V>heG*q4>X2@sN7Db6GNuXFXY zByPk|1O*JBb)J9j@v_5cmQ40uD+b@usxnd=9y0w!dz)I6{tDVmE5V^qe|U784rFtO ziw!~A4762kIIGcLT|th5QrF%JlQfhs@JU73;^0MA)l7nvFFEU*d?JE^u8=75XbSK* zF3YRhgxgO2eku;4(u&dOPrfn);1n*+h~y4I?8cTH{V7rCIqPHq9)w46iUZ@j4BTLL z(KCvT(Nz&!hRU4+FU$`JO&4Xxjwk%K1wPPvy3MkEN+m5681)0 z#zQ9dO_XgoTq=K%g}`@Hn=ukmGVZt}C!`6%@zu~K;`>2xmG+IxBea=#dRuv9F?7XD zi4zGe4=vu95DUlNDy|K*U!Q4wV^a#)B{_Cz&FFq==>2iQp`8Tj8hYfwAEwpXM(1r~ zV{EtTtwa)o->?20J+xxc3z2oYpP@Z+yNkKs-$Xjo&#zH9^pcV*mBgaRyvGZsX9OT&phI^^XvprJ>7=KTvGNpmLy3Y2EWw$t5`8H} z&kYSVh!tFx zcjy7)J(}LSr3za?p_DT~hSrBb%ds{Tyabcx{6ssscJ6pIyBj0Zp+bs_O&ZH2&lCBm z`^mIvXV^$vc9@u#Y)89tk7qBbm;@L$=9!C$z6|9sQXD359$?%zWx*Y`qfnKeS2s=Fm0>R-_!|J zf$0DK{UZe;N)rT+aN~^f*c3(VeMw}K4@bO#^>{dk23-beFf$9QpTDLmfCn#-heTf@ zTL=Aa94<_iHVV-1Xhe?nBi*B%ad1&F>aTplXhFh2UKyB5G!jZaX+{Tvd$kT>2MmW7 z2a*&j%(N2sNzw+w*ux+~g~8R-)bz)2OoIbf47fZU-#>aQR*hRVh~|z{14g2$a`cf; zPFR)Ge>*!KFMTiaq~$`aN0{p#t~J;C4+3n~*_wU6_P+M^9Y+5IX5hqPInXJiK6Tr^ z9sPGBlsD=YE^Pp-MIVAaxu@G=2@)LIjEHIAM4x!7x%)sq1X3(LVCU43ftAm$KlEss ze}c%?;O)Sgmz58mE!=R!xo!*sR?YQDyek%~iW9K-;QB^35+p*ymGvs7y?^VmJOj(s z2^dlzYxb3?VQ5GJ*dP9?wU{Vo% zlfRK$VFg5Jm%2izEo3`JJAd%%L%?C)-PzfhPOa7a>Cc3w$>-8LHLy%XVl?VfUjmW~ z>`I@#&aM<2`1#1n${ul}wxxb(V}P=h>R@|u6+A-#MqE}_c4OSnqvU4+!cIGyiE7^z(?|>kf!)DDDmPBa^k_44i$a4sSP=9Qsb*HqKRv2>GyTt7 z2ePt=ytz$&s)632y1@DQ*TvGgvYLZe*EhendL|}MB}+FJ7i)#0Imy?H2Y|@L7OVEX zGvJk0OFB1KI}A#?+f|FT9)a%z-PZL5R&gKT$<-$t-Jr}nhH_pOgtj0rk2Z;c%}zF6ToI;FZkq@ zC(;pn8LG9gSkU-bn6o@G@);Wlb>(kBsfO*D=&l`rXOfWCr{^0dI-Db!!E3-YI863& z(YU_7aq!x|r2{wrP2R=*`Ew4l0pE;^CFw9vj;73}ONWZ+iR1y?tk>L4*y95fkSd}6JVL4@kOEo%= zB3bY}L+&&~Y7~@`w<5D-BgV1JDt7=hY*J>hF8=htMhH@T2sL<^bU#V5^ldaL*z2j+ zPxZRp17reCcc_`K<2N(kp?6}OLkXj}Rvy%(bV;0PnT8}>Q`mg~^Ad7d2DJw}3l5OQ zjmq?SYI(QxOiV~MJPmnEPiiv=i)N25p~!b7{4y5LdR$~&@fjmig9;L$Oea&AjDU>{ zQnS}K`yNrn*k}Ixr}FY2Z!7`8WyA9~9v1iHDWc^$z>vuW(_Z7+@y^&qD_hm&(u3Tz zgiZ`RLK7G8bc#?0B3)b$?u9y)kxufi2&aG|pug+;$6y-CVE*2^&(S5$}snoLg}3J1H4BCPy@41J;a$6oN`67mf^M*numt@FBDb~gDj zRZz#sK&N!J$U)$~3sdjA_&L^YS=_%(L*z@XRhlb?0`oGjE+ZXXoOYGvo2pH=&``{E z$51L|!M*OK)12z z@Qc~?9?m{Fpl^!D8#n0IkE@C9RVuk)AR=*S$2)2yup0d7bc59 zsFEGc-dt*!eoSD>J(RtBcka*2*E)tN?3fI-Hmg1<+6nmT?#-N~-jP0VJ`NX8N(=qM z$^!?u``%C5oR`0Zb6#!B8C}jcp*Ch%3Hey@GP=+9>sV#|ySl;cQJ}lA0ETyod6~re zewjD(Xl14JjhLAat~mf8&QFY z8$i-$i%|zDyxjp|!fvoyeFWiUbcrDjt|EyQnUXgjNOtunM{Bv= z9-NWzqVZCYZw*sd*C~+}x0(^ql!kTlP?1bPKgnR74NLSrBM1~pV~wM~GD6Es1>^MV zc(`kAX}e`#oo^H)>4PCh{PuZ%U*&VbLpq{j(2O^x7&Bbl4#8>vwX8Jnk)W-Et4-cU zO!LR8(92bcJs8_FqO!>l;#j#24qiPt0H;gPa*Z|i5!DNH0W9tYoNJ0BZ;;uGM;GZYs1?;3N__e-z799Q6zt5iXAvmPKbeA?M>#x2VI zm-w@zA@BSD50>#y1^d0O%OV#cZKORbD8OWZDz$ zrb?;0b8sB2#B<~zI7xMX+H<4s^Pt9qj6wIfiE#iNRn~ZsW5b5aEX1T0huCN}=D2-@ zLVN09WAsTqJWmIvMJ?%YM-IUDPok8tCg27;LY2GsN-|P(L3tvTBl)@|u)sFuW@$0U zuWNvVB8_QvCY6$OrICi(qxo-a04qujS4=$9RN+n$EWqO&Zt4X)e`$a*jYtfJq(sXJ z2b4n{qN>&73{#2<-L%+x(T-_W0Ob=NNHN{eSQA(8v%y&DRRRl?WWN>$-e;JH zMXvwpt;hk7VT>AWiSLMzW}w~0pk%KE%8g*vmAIdB**$jOwL;dvLzx0Qhf7ZG!E-!C=@?{98;4u272jY_1p< zcwZtj7W2hvJwt@rtt);&CsL`+FLf5+SjxbkC#aWCM?4j1fPEqEvd8relg$3L*cS=N zn|xO9<94Ob?PxeEw>NhL)FuL6nLBXE6fM`*%mAWSO-F~QZC3t+90xEhs&(_07XvJ0 z>C`W1xh{P$$otPVx&RkB2ty{neb=zxAf5UI(kFODvTKjC9BfGS*kaU%Psh$~G(qDS zD3%3^%`5A`g=nm1!)z=g8P{hER&!`rGsIHd>U-YgHozx?5twjc%R?CgOu#rKCiSsT z`oDj`x_trZ0l==sk6sq#$;av12j8YLAEv03wDo`cR{s4hlnRULZiHQLke}QD^{{4- zEbS247pm@-Cp(S$AM)1_-gU1QVCQp02;7n?pVAVh8XW61Z;Qo4zdQvxP%#Jyd3y&x zCa!@+o%iC&!qD)-czOW|irC!aOc!h%3* zbzwo=&+H={9B*-IM7M3vru`W)_QZwRZcnanTV%)oE`yAo6ga*L&456`U<2`Zv3Z%W z3z?SyYgpI_@Sr$G0!MYH6e{QSv00T>^KfFEA|2lP`Kz#lwu82rMnN(jkLdLy=dFZo=MRyup$5++?|YP?!NAW+ntw{d8qA)S^c?BHbt2Glm#e#5|VV} z2LhN^9Y~d}zcscl7CFkWY4|;`k43s_-4;ip!U=_G@{F zZNd5;E2|^K z1e9wp;m{+S0DSqwSmPACaQ6fwjrRf1H1x$a!wcR)+zJy18(n}+=yQzJjlz`Qe%Uaw zaD18oN`mGDW?u4C#ErAS=_z{?;P;@d>>z^Z$5Rl1CDR5Xj%4D%TiDd|G z8ga+YCoMmrynTme;L;Z{rb!9AVY%2bwh$lj&$qA4!v&(mqCdke)ou;((Kc8(>&tUO z$Y3f8&zke`<&luH2~z!)aAoURx@Qd$t46ZF{!(<&8$;ku%oc|H5m#8|T)-iv)bXHt zt`AO&6DXMG)~lQv>Z=6^sI(N69u+7ojne9|lVX=nk6xz@1>xNr{>yG~6&aD6X39N# zrADBx5mjZ`H2iCjam1b$$#7VpVBb_TKfmx}Vg3ZTk8O!g?#9fbwtJ0>Q^Ik>T zuzh(-d$n63pSz~@LxAlZh-;K5Q>EA~lV1+C$xmhY0P1@6m_K7dhm)k(BYAar&=&bz z>+xX4cb^j%`AQ*uwk2;C;J*f(X@a^!aa93EgiKDfLe$yn+Y*3qysfPM@r`9@Xb6gY zlP{v9#(!)nJOPB*g%h%!J}=If|HMP9ew;|_#y(itd9+CEQ7nxK~j zN^C%my&Y)n_0zY~xT5vnSC<THJo%Ms0 zFHX00AH;5Wy;?ETdjCp`{_1*psL3-m=jS^B#~QRc1D0K4y@`~f6%`h3eq6?ewU)wX zVfx`1cC0)#V|Kg)shjHixx`#sw?XUAsfYo!Y~Y9nk{Rf=?fWK$8sTBwENbo&-*gW7ZyL=2z%Hj~k>;zSYC~E3LP2~a; zTbXR&l?ijWt5a+U?wU_~7UGYaE$XZcb%yfH%d~?#oz*HA&=^lLWU^R|9~&+Owcc$1 z`R*1|ALXXgrXDn{cwo7Uq|$_%s`KBggPB>M`<3R&BJKlYhs`^@16w4C{A7-8< z_E91k@jr!gTnNSp93mkTRj#Jj%p%rzc|~ZddTqj3WQw?`Om(7R^LX;hgv-sN7j9X4 zD^h-$LXt{s*5-}a&dbJQiIrbK4VY4neK;O)$D`}Q2Xj%{FY@2;89|Iwbu8xdpev6) z!f7F-5IM8I{hn_%$y>{Fm@_V77_t`O%FWw@=SIeAfy|IDiTF%AyCVZD2s9&hYpPbn z_{KBt-@S7$l%y%T!p-R83pLqUSscqlZNUGmlE4aX!mp;&rN&PkeD9-@M}3fqefOY- zm&>iF{HgHt9lDnwIzqNUh1u|WQ1nq`xapGY|EkRioQ#od2!Xp@JCP|Jc5Ckm^(( zbl#`A3J8Tr{rKYDY9|W78GDoOB=wggM7Hrwd0C;pPC|(kF|)tFy11O!SW0E{usKbq ziLLUhNLoq^loVrfKOg_JuD<|UID-ZSo@y3|0c#h)Oo2jM$7aa65we+-+O7BY5HX9S=>w_2-oWQ^EbW{dLn*1vryrdP z*LD_5rb^wnh(bBGKTZr0V?|cat!HsjGu(g1J+sy7M@zBKev;I+-XDj9d^C6j7EYRd ztOe8zyvcJwOQIyiS5}e(KHkwj^}9zX;b<1X?h9P|2Fyl{E|TfG{S!%ix}S}*1qNnc z)(rjK=EaBuCuRA-laP^-D7cd`Bq8w=Z{h}|uR&5LC~^(34Y9q#4i$>n`HyZzhjtk( zl_umPaHZ+8=}ZvNV_aQv>)j6G+Wy`Sv`&5sW!RhzBHP9o0a&+IQ&)=etSSw5ML<3a zynmlEE^n#4mOveqxhd0#R+IiOisLmu-3pqrmh3PIZ9<8P0XjO(uAp4`K=mv zeeA0+fs%shofA1BR?x3eYcACejJirolRNuEj&cu+H6=2Wb-x3~)`t&nZ>Txe(xOWo zo3*mE+|IZEozNV=#!miRc{haqHMtE-iZ!o*{94`FhKajRY)Pd@ml;(+BVpw3&KnaR zpgMaGRPa2jR!^~a%!nm?U@PuH%Lqm=g(fmUshpggAj+<;-j|dC!4IIZWF$SW7=?u0 zy*3UpJCouVlR!lsbnN^Ct!Ncs=wSk^xE=3f%trB^MdSMy-kV$RKY0DSZkA#*C&PM2 zT)+Abd(2JmWPt0?t9bAIGkvYeZ;K^m1EfyhR=(A%Fk-+jftA!*o;q9K#htdj&@qMv zr`ByS!~v^$_PiwyZs+NlTzPWv!GGt*1+sPiY3&!Qq^@tS{a7iaFezb|v>yAlscNVw zhW3|TLa<#12$0v*)pa%PdthH#5?if(d_o*@d{~fgOs#xEg1WCPt4i_q5fYpOMx{8X zixwPRH-CzO3s#`TL$=VQddMJsoE|cOpVSEg&wU}Z=-VyXhq0O|cEhLap%`m6d1M0M zj+T9`5ODjHTww~vY2ddHlAu6)yaQ#DLqOgxnP*b79q`>p#0_{4gR>C~oqf;l=~kK) znN)%~o>e@HaPWGT-0{wJ#QqnArS!}jgplY~ia*bK^yA6l7zlz|hCp83r*2DzB8XevWSOHB|u z-PSUDf>$Qt`VeNrM4D*{3ccIxmNEEv!~<97R2WJUYes@wlWYF}m^$mQCg1<{*@CGCKLG$lMI<&&Bun{qYSQ>-B<@({b$vSjI!8dW#! zil0N*^r}Dn`fbO;6vop3f{>P*<>zz;>e z|G-LNiw$&m_Mb-fnhklYGNsv6O<~4UqDaX?y?qL~dS0W>+pJ`AWX7FUus}gD9UWQ8 z9Wsn}5HS|jRAogc1eIsd6@fHE2+w*b@BN4rqqj6&#~6xuE8@r^a|SBf9B7Ff8j=T* zl;le;jmER#{lH*o62Dpp6CN&bh4spin%#qZz%KukS`;PDrBb8}3nK(a|DyQqdjp>| zovkFwUOGD&6$k$(pU^##6!;zPwg@+aGYe&^gPs-0ion{d6xC-fjmi{a*7%^e3FEI2 zOjnCo44!gq>K|SZ0ihb4wmB}qeib>7{l{$JQibZXFF2#la=-Lc;IUW=>cH> zJoG4U?D}eab*=^qsx4=35hU* zfqAUa>^H!JOiXNI4QOih8sr;h6d-lc`m6MsOn@Z|oW!t)H5=~0*gOyv_Oih6C#sg) zqPND_h5jB72~V(}3=p68^hCmb4eP*-xx+aaKIwU1RQ-CI(qr)Dg*`YTi;JZ&@Q!^x zpsV{*B_xIvITvJ&wD{A{H9DDO^o;+vm!N`d^DJfHf^GY&iPV^BvvxOOi=|es2dZV$ z0ZR|{^#21q=iaIhV~n6=7os}^gInp%%}r26#_U=~qFw-SUE}dcuVs4c>8ZD5t$IV# zcMGrvUtP5VDp>$N!moaNc7#jh5(?qri45$v40K=s@@6L0VK>RF_%$HFK>C)*Gj&Q% z_;k5RLP%8f6lnaApd#$OWLW3bu*+faHx0^2vc;yd{S3?Ak!)oMWM_lOE*8k z4^|2w_oRs*jXT^189){Wz&^N7wzQjeap7+?PVoJ!v2`MEQLgLK??<%vo(MZQ(tS(m z03+Vv*X$%AK=Q@ZDI1=t@>QvJ9Oy6q^gp@y@z%)lFAFn(Cl}c->Ae9d3sucvZ&PN8 zl4B~qR;!n4^N`e=4M|8XwEiaPCAB{hkBQ_FhN-rFeF$rVs#5RCRgusr{UQ+052^@hCek z?z7zp7`wW7a2$3uj{|DlJpuH1z`cvWqo%N&tGb-UGxU5;UrXARDLlohs@63XeddTx z`QdadE_3!Z4xJVhB){z_b=-K-JQurpo+T!8HhRT?9QWS(I*#s~Rr0^w%lY5B>*QQL zorkQuij2SzOyv59bdr6(`p_bDT#{cD2BOk1#3|MWDM$)@jC?_v&Ze#cTNE*{aYSN7 zequ~ql0e-K*VXk8?nml(b26pN@LrqsC-vn)6z$G({3NJZ>XpIXaGR9gvxIhD;Pu8@ zpLFK&Xa%y~)=hla7Wq`0XUe$HH;7$XpQR&+Ww&72e#AWs#tYaj{V}9p?%ne~yYw%T z4c-*jDP^v)NRHwoHWz&u^lyv?pU;`SE?6}xs=e<0)3xI-oo!oE&*2W!UePbUzFSh^ z3HbD4Evn`CmQnMU?l9>CRW}XwO&2aj@PYU77~IsYm;8MfrN}75^|;gpgYl002JD z@JcQ&#y*`IJHNE! zs=s_`?;yQL5n|~xS<_}KX$Gfr#eMQ^JQ#^$`pfb;V4Df&Kj%9!-58$N>h{DM{#Pig z@3}ior!aj?=Lc-}rLE4OA~`QQ)JI4ha0_d{^D5?QZfm9SQjQkAlqB9k(qEOp@D$mby`H?~hn zu*?#Sq`O0yDT5~07Pb9v6L@uDqwQbRf+?7o?(glqg9r?QNG?5yZRn4}-c+x%f&0%b z{|c*^?@7w%0#WZQdpI>>Y zOBCEeR6#T?fgyO-Zy&kGz7~ZZ#4Y^!3QmX3hqGQwNDyG-j0I`Kb)N%bHPC+uik5hB zerwghu(rFJ;kZ~&p33jQniRNO;I>Fhz?i|PpedIi55)50?!YqM(9lpN*|q--q$dRZ znEzOl~hT=0%>`+>0t_OD$sy1OL~QuGlHuOz?jN6 zG1dfzCOd~yM`GezmCZH4yvz8jRM%~0et8)XPi=L=rqSONn@raBR;@4wHK|i6h>GzQ zCv;p)|DEiBJp@-GeKlZywaN34{9KBFJ!K&GzW6r|mON{uvq#bZrFF7Qnj<&r281jh zbjyHh?ET!zkHg1xrMt`88h||3y0Jl=fO5x){*x68%d8-=+?isf2r(S(VYI>V*{Kww9PT6h~h zw)FjnQoC?ZkR>NZ{ZC20d*EX#Ol5-!0zsIN1dTMM*@!dX^~YD5A(I*1O8G?DtG=*C zSX9AfAxQ)**l9Iw$cBeL#AsZ0^q^`%Uwo?FcX=D#&T?T#93F4WpmeObVTP6z~IgapgVB za+!Ef6x+xewkR}A;DXC4o$6Hupc`Llvk~l2S99zHKpFTnpo)>SE4olLaIS_W>?U3Dv z(WZkc0k!aizs5c{)vvAFGP=B1D?zfC0vlM=E$@ddYIlwMlkHx2wYFvd z?`zRucKS?JVpHN@e7SYx)8{&|7d*(1uN;*R)-`Y5l#TOg4-J3IYVe$*pff(6Vq|g> z;eqr0^XK2z%2DV3_RUx-*jgsbAHRwR`j~XXH%*(y|LStinq@L&e3>K2+5{2Z;TR(b zxqO}=`1wg<gkoi8F2O+fuJ#!B)GBvSEd(dcGnP4kbRziBfzGwA9EKmv<*k9JPa!sgxl5Aj7p z2r3H+@+OlU>Nw`&@y!J>a*$=0mdzDuF^za@HTg|eA@>y(J|I5dFdVH^dw^^0p}TYY zcpHE4-?PM|jdYY+8*4b8S}zDUUY>EXR{uz=p0R5g2#d<@6^jH*A+V|1iv2q5)wjBe z4gd9qD=|W~c*ZQiAr?Hyii-bSN121iw&Yx~5r6fU#y*hjlCH+ZO04{{LZ3=7#yAQ> zsu;-1+ACaxMXDr|l&%dk9`MpeEk3GvO&5CY_l7frptD`6yKPm^M(D=>B`k;kcm;gO z>sa+4&O`7Rl|mpK3rx$fDq$VK-k$LwYyfFiYR=@YP8y%|Easa1fm&f8M<(Z%q1@k0 zl8-1nh}&X2v7Wv@D1VAsnar#59OUmG{+0TEJ`EUUB24NZ^vcwJ-g;p#d*8&+#M*s} z9rzziDtZ9~1B4oD+o%gM#3jTNVZvX0`Wa!-3FdU%v*-BMHrCHABW8RLU)es{wv>Y? zg4E%+!5M()$o3nKb*Kfp)?Mj-5ZbX(rfSWoK#l<1XIn>e{aVF!G6n2#Ct- z8yKjntL(O&E}Gf`DINwUCab_V$hDdA#uC-Dw?`s6?UV-o0eS+))~*&o$}HYV(8&1s zZ(h52u@)i>cZTbY|HRxDmD!CT3zgq)J~NR%&TYwmQ6elQ)z+QJZD`!0fGv{Th|sVc zY`!4lrWRIQvD;QC(JMP{)?gy7sxRLJ++9r=ga^V@RLuAcqgFi1txg3Jqu1M%OLSC$ zl)B1s(1ckkfXXtNCw!xx&B~RbOlxJiE(*Bk-SY8L-dTNkRu#Qj59C``5(Un3*g$sD z)c2)t0Vf(Em*V&vDt=QR!y19_*Cu$U6-uj1R};e$Oji?9{wA+jPfOu`ND(z58v-_~ zzu3jyCz|JG%%T2Nj|MhHnG=Uq!A1=7w^8_eJG0*aYEeoh;sRdkLFMs|HB@F$$+FSg zhCTWZC5xAsqx~N5`-)85c&FrDkxEqDbdj)nZL4$`GD1E_kmA79P^)`S`sE`WbH6bD zq*xraDkeB7Vpg`R~1{ zY9HU*aP@a<+H>yK`S#1p8x$qMju$ESE@Up4xe!!wl6yQdC)zScgQsVv=uyY2y2 z3lnce$mNmPRi?$&FpD?m(X8*4e$EY$Gd`ai#(XKmcf-UR={MMGx)+E49d~@_IJr%J zRoi#)3nFu&Epy27;zp8ZN`^$W$o0qmm~bR4w~Q~eDEAo^3PN0(%dX9z5-%Ly2H?2E z|CpjFLjX}BkMBchsM!Qh)lVm}g7Hn_BUS8*6Cvr$=g(?{ieuqR_y{dQBqKtLsEuf< zhL={=7ORA5FF;jYaKa+lF*-@*fV8?+Uq|sCZ=JUjZ%ybR=^^lCF_4wF#wnQ8Ad2Cy0cGbN7Vr)C&SKyZo~c%WlE3{zurnod0V6SbM8#`=lk@nB!1tu}fZ?rV7f1WLFynxrIZUZYO_@J@=Yh`~-5Ew?^Gw z+_xK*>wyC5l2=b+PT#oXrnuzEDtEQ7l|XN=?}zcC&&V*B+(3IVo!&>}#;)=5gm;}s zmzW3djNiBRcBY)F`s|YDg0-@fDNeh^r1;es;U#35OETa0_jUz_J1xqlEXFE>dnrC%P-^Ct7{jYS48pt*8fYgP-n zx#@L~u;jNM#ImSyd8~0R6Gd(R=(+S*oOkqHAPl=yd*1f@8FTV;sm>rgTj?`aUnxa ziWA%ae7v#+>f5T4;0OSw1#nNYwuxA)Q`xs>SYUbsLCn@Z482v)s20}mligmgSFauI z&ri#XMvsqB^{T3_*Mk(e0`JbWqLKnbK(+&UWUCG)=~^WUP5(VjpaHIj9S*fNE`%^d zm%AT|{Y1_>YOAJM_GsO${@{$Gk=0U+Nk~Mb_wO&57N3xaM3999aBCZluYh9zCmacW z^L2M$H>|zU_)=fGNT!r;3Lt$)ByxKnFN970{@n^E11Hxyfv!$wU=YhO$njaMXRcX# z|MK=sKu&&~bZgVmbd;Il^v*ZNN!#-MU5x<9U$nWZ9T={W| zmEl1^QU#QBt+Fb|E8T(;1&HFonbbh0Oy@0S=|TB8rj_h7+|qLTDBQZJl9Zf!E?N*WWLct_HTIfp4>mz|-FyTviU&*{jxx(0;G!C5OchfdEizIUoM@e*CzGPQyqT z@xxi=@091;7ZxPN&)LZ=n2)|?cnwE2r>FlU>yP0&n(=3u@kl*M_a^@<@qPM$sqCIU z5ZvoLc*Jk~t$mHf>urnw6=8TF-RPHLoggLu$OWfhZ8xv&ap|}=(b=xA<8yCOFTY6G zGY1^dVW8FDzI0{#`=$c|(R9duT1`jxjISX$Zn}m!{I<6Tg?d6p;K-c|;&@FM?J!(d zK_LOeih|t1$?CNYk24V4@yVo95XMEF15VVI)3TPu@`ml@(@pY9^p%O`WIV}^PW9;0 zLSpeo9p$a@Vi^V@=D7V!{hRiPQOKZYL>@&1MDez6LVRHooSdG_=Xh4(t%Ic^MOF8X z|2;)&bq8WLpKi=Cx)+`h&q}Re%9dW)bkhLe57MD*s#vJ)93Sx}ugD3~=mVl0f+TS2XzfS)se`QEsv&Gs=VkwN;{@aYlLisy_;tKG+ z{lA^y5+=6)Y#kAP+lJ!k`)bVCuLQVyg%`rrsJhyn9j?&Q*wQ_$=?N#ZxDU(Gj4R=w z|3Gyuy0)>g-So1fLEQC^ne@NzmbF#x=>v_~f$W(F=VPXkEoXi9Ip~f7)jIWZ z%T)Q-sTB5g>~n(xrL_tcu+;B3-(JZvy6nGW-JGQQ(EI~FphJr&1(#{;)0y0N)0jENPXP{lPbZGdu#DqTBKOb;xp&x~dx$Q9M31nHnF0Fj{oEf}Uz;A)H zdATa*>~HZ2)K)Mh5VyL;F9bXjxuvPNbi;GAVs=y+~z))%+- z`^{aK`R}@>d;6(P2Ms4-FCEV?ITxw-{5g*NwmsCdyuw>fHjkre30Rz@JamWY4(qs$woGk4JKE=R$HfLgP3xZhxU|+`i@U?5VP2t^v%iTj+eJ zEFhk6`wSK*y>|nBuH2&BWJ0L$kpQHJ}&f-bo2{BzaUNnPY_IM z`Flxfwx09p##?#6Omi~!l!%4kzjGozmIhxi>=m3>^6L*sUN01-V?_v8ySj>nu%oyZ zeAoa++N45&Nmw)3iK}bsO*Fi>23HMxkQNFShd?7$Kf??He;97BsD#Mnh8LmUQgB!q z66NY|$Dy!1r7BFv?1#w$dl1D*54v^lKGkuZYh#q~xgfw-V8kfN=?nqrZ{&l%A?OSo zd?F|A8kjbAz2iFt@POY;q4{Y|oaLdH3NuGI2UX%wk}*Kz@hTnAxrIe#+NP)R5Evm3!(i*-nu(a|H0YyobuazjcQ|@c{wf0MHJI5`dH2fI` zeg3N!b6ckv6%jE=L6nUxZu@R8{--h5Gn}ssR$^eME-CXW!1Nuy$fXIL9-5v)ssj3@;owjGNM`?K%9@%Qfbbj@e6|=4RR>XdA00osj*St1+ue<8 za}A-ORJ@sDrS(ZKz>6IPAZ3EjcSIR{W;TeeLeRwA$A{kiYRHmEV}FHn+(yFqVFDpI2`%uAK3l?HthZI)omqzPH51A_@ii9oV8iXl90F`nAT zH4~{vOX4a0|Hh5OK7t3ZTJ03&?zouJD4gGsr>9Gt!X3EK>21Hyh4%mU6J#6X^2D*Em6bkqB%NVY5x{Aa20(5S*0?l{zMaGC7Q z2!OIIzzUGZC74>J_Gf4#gZ!}A7MDQNcI~wSo>B%Kw$@Ip+P@b zak@w_Jp!p(c|2mV@~&mwfBx{Lj_Xz4=jQ(QK&Q+-_P)eV8;6!Gtse`eO}@?~1etO- z$K0ISk~lgwTo(U&=RrI8lbnL$FJA=%(M_omgp)lmTVmVNkPAuWHz=EFg^`%b{u$5XPZ*Dla4Rv6UJqG~Hqn>ao=!(I zM=t%jox3Tu=WOWHVsz5cw*WH`8Rn1kzjs&qm}1-nO)c|pv|{yZ#f4S&<(Fc=g~#Q; zJLAsRHFj^w9CMhu7>>fdI;ZA(I%O_-!CP!JUO7sC2Zx6Lq=o+isp)setAUr`#?>$@ zn_T8b%NfnZU96XRosMR=j%M!~WgkYbxhyR?%=?<|?sYcKg~+{=Ic=L;SwktQPRi|I4`QKHDFT^ADWy)tg9+N-zZ! zxxJmXIG5c;&e`M8aX}H0e(LOFH=$2K$NewR3mUVR0|MeT z;38eLcf9bQJ!fp`&)sxb^v9h&xLou{b9F7~4>X{5z6u<3WrJa>Q~x9VeGVCzLj84H zymHojwBpxW>wgara`(X#kiq0ce(p$v`7Bk!ky|5s@%N^KIhQEHJ@=-%oB^sWP#A! zoW`xY%?bur#U|rdwKm*%jsKe^REwBCq6X}1)JhaHrE*eyf(SiAGu%Qp0Zt}+(eHw_ zr{m0fDL~V3i7k@lq7}pNv00J0sIN9vd1>j~G1QBvS-?zq{PSjR#^s`Z*L?F(6a=0v zRx&3N^3qbE<7f)Vfg*TQB5g}=K!VNMp=lJIvds-FB6N4bdC*>nZ+vgpykD@^QGZmy z^aayT@6=b(Rxi>{=4`Qtilq0P`O9IiklN=+NJpK8T6&*uOg^w^I zKTM-3FVeh<>>Lgt6wh=Xa5~SJb-fa1k6^EYvm-<>;O_78bmq(x`x!^2607LA4BE;N zZCK^lA7N+z!0*K~4v9td*=zgh61e5%jZv`F0S|q(N5T1Td_2e%DW4OyfkQE^qy)vc z!oK7jCwRb$ocR5lJ(gn`YBj+^5z4-|MR?O@Akz%D$KETVZHdBfw~dT8r?*4}=a%4` zJf#bR^m2A-EpR;|YlU{?s13Q~Rj<_@0QFf55^|d?%-<)AUt8O~0BY&rLn5zVLUUga zfEf-$8NYq@Nndb!+9LB_t4xze_eO+y35bTW@vtUGj?>46+C8cTOHjYdu3OXogKL6! z64N)tF;KJD*0&WkC(&bLNj)@1<861@GtG&MpHuO(>JC*uLU#VT^NgAdDWAxxbRo^S zx#?A|`lE7~lt67XP-h_p{VhZ+qHguiEilLoZ@^tLMY4mG2Ox*L0fe$Gb2f9$7kM_S z2^(&|<>vRL2C}7sEDYozvTlObC>5&C=-bz+-!rl~-R)M^9t7RBfC~ zom$JBG6o8?-I4g7)4TLK{qOYv?cC#oUT>e;qjit^^-}dZqoNrHku2rBv!EX}22P68 z<9p+dAUQHyxzeEBnd!jjFIB=c8$j78$>r$*4D2H@_dQ5hxpV|m(k(~M~}4VyRo z!TEfGBU9X+$#_%~BwXNJPk-^2i@QApuLpLtvcs+7c`-7dTOg#R6GR=j61JK_5$0la zBP`@Zt#3~{i~%r&-?*{;=TF-F-0-#fW@QTHH0MAIYyqa-R@mCiBX)AqkR$|e>^1Ux zazV65v3&8EHHei2_8YsY)$^16Bo$7+WRkVPoVftCvN1j|y|;`2TxCnc)#>zV+p1P- zhh}h48v;?_JprTnatWLzuG#-@uf^huR)lqRNNFjYVU$VQFD=8NK0+g4FA-n1JzMI5 ziI%ZqqFYAAxJx#}ZDC^05!759nPY;j~W&SmY(P}@C^ zt;N=keX>xFLu2!6g@~`PI6Pd(q zX@ar5KqyK1N`6z6a&38RLBJ3ixhB)h!J)+&ErWmidw28GDsK z70`-|QyzU3u!g>1MqvRe>f+X2nZ5N?ssCC|GVZ!8cWK^mI0@6(H*Hy(x^Z0Aa>;mk z-h^hG<#-EZDC&o}xuc0W;w3{6Q!^h&!*CTWbQx?~Ue*spgO=hlZdjhcmJp zEf*3kogB)zsnDDLyB868;o#DuZC+q($)3BIk(mz>@Vm)!JRkNM7Ug&;FxS4{vaM*| zW)5G(U2fw}PAkyTM>0FCH*f)iX9jZ<$I6|D_vbDj`kmHHf&H{J!FSX1m9vup+_{Iz z0a9T3KF&|{2FulPak#~9*0#OlnYPKl9+qYF<$qUTQg*36d)n!^)=Hq+xzh!_4I6 z6wBGL{w`z7iG<&L5X&lK%fhDjTElGHe$JJVw0rNTsrR2N;MbLdrK>CH+p}%-TM+(t zRm~hEKvRI6-7P=b@nktx4cPkU*y?UK9|ve?ZqK)& zuQV?^1uiAu9y5O|`S=m$ifcOB52`q?6mYh=bY)o+u^9kj_LhHBj%)}j>D}&^Vuy+q zx%bfHo_qh*HfJSrYuw!FZP|Om?0@{u{%A4P*O*ZD+yB?>$2v2GK@m0gp`m8WHV`t8)l;LRY$@_M=>a5L-rcfST~9USJpIl*$Zz9{$2 z6XA58XnhFOFjtFLh)F|GH+fO*)*y|Wfv)z%SFu4`Nw!#RsBYfW*5~FLm0SaWuhRmO zy1XSdC4LaV2v%n2eXwR0VI8idC{D5_6<1g4xqmz~Osn^3zkRFuxuTjHPF)#}JMsYz zMy^?W@u+9)cMY|kKO*2&1;ftZL}D`vis+xez*wEY&rvQi*sesOIm!?wd|>=v#{F2C zQ=)B4g|em)5bk^{B*USR*;vJyEbDb;xD~w)Qf_WX3rw;|ZtC`ZS zp`;*tqNe7jt*|UcSkkdCJ6UQybfAMYRp_Crn1OE0*w;syCOI!Yg<9Q1!5P3tSZ$Ow zT8?XpE%GB~^6@kJ7qg5?DWHhyKiOYfzjF#!&t?W(xh!BfAsr-vJ0??(Wm+gLJKX&j#FR?hDWo%w z#m0GDxX>k{H}$_7S*d2=4f^*SlBHfecqdM#Z*sr5lH`$3ll0wyOQL2Opv=ne0^GE- zih2@VO}e;KBiDZcRZzub8nCVb<1CBL*aZj^2vr4;zYULYm)t$Dd}fmJN#anBjYm*j zR~ovHivHYTh~f2{TN^12DYMU)iv^j;I-K#@ zdV3$VJGXC0NVmO$z9IvSAgkz{p9m1_O@o@yb?jYP z0@U!A;Kxt93oTc^AV$LXu>7;2Oy{2!RS1dVpGUGE_;o>Im-}!b);dYW>i1Uc4Z;!< z@YaF{yZ-tLRx~tiNgIl6hAAVj-8DJWRqEvC&%R(^GD&!Vh05XkQma65kmYyxW=CC0oa%XvOid_=WqWPy@f0px(jsY zhLkh49a<4$$o4n-m`e9s#=6dk_^M#CXPm^A1csU}NBLoS3`sq-wzQU1vXES!7tD!3 z&Hd9Bu;B0Q__54<;nn+N8L5H^_5zv{yb=X2#x5*HyE{T&lST{Cn34}|bK!%c)G!^E z2$iIQw7OA24gv%h(XHG0Y??3!7Q_J|L;bsQMxZT#DB6~)e|<5Scr))zAX%1+o3@xf z9k#+4QMV+3++V9xz((@D^Joac`I@(JM6#*YcC=QcbT_YiVc`9u4|Qp2S4+lTXG*x* zogGE8J1U!1^!@FFrwUZ~BR(FthN$}WSLdA2IQqUW{jvHp#S3;R-g&CHy8%Z$*Chb> zu-3trQ=999UTF*tusb>DzaGYU8-pkZ)0WMZ^PRg_tSvjFS21BM0ZF1wC+Mo0nt|3< z$wBm`t2p|QG*A`XWfzV|7f~VI`rsRRolVVkXy@!f16FO&*&yl)j$E=}IhjA4>#k}K zySlV6-3=J%>$4;E(!Z7`{Qdp)SmW~IKfNgM(i`A6IY~CX#GS{Po)SF$TkG*;2EFHU zh1owe7z`^Z;pI1daiK4D^`GeD^q#njAoP)0z-lo%6Wo2^$JzI4V?;0ITuEN$ttnxM zlyNNwLV|8t)ZFSWe%@Qe>*1-dQcsv~aSNzBsT{zBD6-_&OkHGm$rk^(iV zL-iZy1tHV%&;Q@?huM{kk3!Hbcs+%}nveu5xuo7I ze3|giWTb6F`|F7mx5;LnrVwO}yWjFN6@x{Fn3GdcT&R_n+8tr)%2nw|1OfQg+s#11 zJBSsEIB(Q`-YVz@N7_hcQ{X2!5xyp&UzR8oMqt1)5p)F!tE(5v3}1ahF#JU2ct)6r zbsZ`y#mkyRjZyeQQdjtwq_jW^iw*nL{i zTJo=E1ucjv8n#p@G0NBCrR3z*WN`Jih>@#o|FA(-%&T7ctahq%$PK&oxFI#Q?z2zC zk4g)pCbUe$5sXzsxF?wpJX=6C15|hIc%yo%vPv-S#L7@^9{D^1k$*#XtP21plA$|- zNSe+{L3aYQa4TPu;G<;0?j5dMTK(TgAS2M_);jG>Depjh`Y8d{TPWJxQj)^!MKVva z>IbaK>-A^ly{oIVATaoK(}27(i@C6Ky4OujCT)KG{pN0VteGHlTm;9>%*ly~S11&* zp=KI3E7z!WXzSpAA@U_jz2*xVq3pc{n&E|;m+-xe|g2QO%WQUy%8BJoz&)lirLC>) zcUaz#mX4)5z`f40E{=k#etGdQbA=PkLPfOi^sG=hQw?u{?^z#cm(@A_U`05ze00+T zxPcvNGoqd~uYcFkc|G=;e=%zIaW7oclHOBt@lRQWxiCWlRA@zoSe)<<*pguTA2P%+ zfUU|$6BAB#t?YwkZdV|0B5SjRGYQGa3~r1T?@He7UHV6+)Y3&TQqoVn3?y%oWm0IoY6`g1EyjcU}FFx zO0UNq#l^&J@qh>m))ZR0Rd5TGb3zc|U17RtI`Z2_o)_-;x6N-75DJ5htI zd$F+Ib{Aksy6~uev5+9P);ZQa(dXYP`1q{$(6|?e+gU_qd@=9D!_V~2_Jt;K5sr%m$JPSH7qmGDX z=S{PICrC_menVH6F0NxO+FqiLS_(Qq1q0*@5glWBZCyDTs#hg&&P0(B_)UZzc}Zz- zHp(D2Q362i5Q?HO_^8tGL$mDOjRP|}yoibD-yZKDe3K0qW=gPT?PfsnnN4uY$*@Kn z73kbn!q==g@ePP>U*jO4^-_QwFsMel}(ykTmP9O8}+)_3`m9|k53(sX+c!( zqn1Ztu}Rb&o@Rg!aQOnge>31uvFXKN{l%0+ zOVHfOmgxSixhs}EmPO_SoMR&+ z?EU9{j&^o?MWPq9=!?si3mKnT=FJm9QPJMLy}gz{l^Ho1g~=>uC;RujmWM4sOxrn6 zwaDnS&t~xza&Y0(r%&i%3#X7j7qOnr89B$hEV)___wUyFVf*_(ZQAUP~sx9Fb;UNt&EtuWo(^+z-!yL;lOt3p7|tEhAelpUj>YjqgiU9RENMFE!SU z6(o3`UL+1CdPC9tsgn#UOO;0R=9U7XV?;8 zy#eX41e&QMOJR3(DIN>5_@Xhqph|*e zhT%-MmPKe3yR7z8@ySu7aP)|d_BJjC74@wsDJipRIu5JRu+SAumHik^+qX=^L; zHYMe5QjzXgt0_rA*`eZWWd5)zg;7XK%DwdT9M0sYkKEj*pak%l0)uk%-;Xh+^CxWi z-NF0!1ctUe!d-iu>x|ghIHK_j@^tvwRH+hoi9F%0p2o{C#Q`d&-uJK4#fsi>srJG7 z)W-R`PzviYnuYkd znvj3DvbnC~^|o5lbD=vK;1R2rlA4~LZ4L6G2KR~NhZ|}=j{+8Xtd4q2Kzx!jB$1OU z*7&_nsTO}KuNZj;CJ2D^OCysM=&;eb4|uec7zm;}ri;nSE6AC*=YS^#H%XqcV=R|X1O{qArlyt}u|ElsICzEP9W>Ysv;+_fG?)Y%N0G_StN1~M-~ z1l2+`p8@T=O_x8v5P+6Uegj{7qMtLhY!ThlAczF^>vX#E_lC z?n#)m2A|b4DvXG#_Y|N)QR3@ZF82H`p3>OTKhLV(S{k8e%!~$Cv~%hS;=PU& z!mf44OT%fO`rVnPepK2|@1~ixboTv%SC5Jqxz4|aAlM?bhO@Bkwxxmg>+4uHg$C$S z`-Vunb1QH%iTiFdA+RH_zs6gpi>wXo&CA~%W{l=Z;nR7ot=8X1*-7k-SC8U&z|f(U zu2mOkHAR;a;z0K{*ov4)1sl1ZVMb?Z2~B6MD2r6*dzbe*+9-~dNQjJP=6M1XU?;^8 z;dzbQY_vx=SqC^OLb)6s5I}VaKrvxusVgsPM^Z?VqTSA)l$LF3`PzrJUvStxO0efy z0(d})73AXGeiU^dJYv?W4y36{_%Z|<$j=yS+O+nCdnvKjRecjYX?_kfi zmGtHCU6%{@ajH(CEj{kJ>0VIH$h3=sU82{2A~~^O$M4kkukms`;9swaK2zuQ5O{?f zy{HUcCXG)Nwg9@f{KmsaS3zK80M3_U^q)@ekwk~f$fLE2t5Zj>fpN(w8>vltp2*f( zzkN~Xt=u=qLt!m97*A>(FRWDx+4o&t&xh^?uz*yN&YRbh-*pf^7m~$;nV>9;JHI+@ zu3Wk?ot`y${ZWDCO;)LE6S#MoM?p_BBluir*msRk8ik1%8))hdYXgssGXo_za8g?^+{PAhuo=-Vb>sKKDI1lD+FnUC zXV^VXfP&$Q8u*>7)G$!RQ8<~%6`ck()KFHF27>H}^Gni^6D89zBq*5X1r85-2cSG? z?KXc|v+kv04mX}Np({j0+E4P725$O5&7RQ~+eWtbj0kULFn-I9tMF});OS?H>7+}E zd2ImL*}8)3Uwxld4b0A{elz)Q`|5qE%j|ecrI<|A3S`**zNaL<1PC9xIlliv|Fzqx z6jwgw+2Iyl>){NtCn?SVre~Z=pIMquOjQya;2YiSt|L)lJ z7U{UyI@l+05j!wBds}4r6vjdkp#Oxm**H7j%L<4C&JQn1fLg2eJ#u(41MGZ8?Ui;+ z#ozz4PIM`hqX2kmM4^!xZua8K%ZHM479%X?Q(OUXxro1;G5J-ptY4FmNJHq1Q z^usT2Q1@b&h~E9aTenp0=`?ri=oS^Ah-|v=N(pdVab2ryBri5J*068N7lxJNKnqq_ z^)~QBY5j$fC%1)lkxk7^erc)s)Z-e|LOu0=|NYnX)>u{5&Gl&*ibS*m=NoMHEPwbt zSXQR1eHeQUmUvHzCIM@q4QSWNiY-TRM*s@h=}bpXX!l6e^@l!eXY=3bP`!|B%$T^fTj;j zW`M0DR=eQErv)GWIA)2T?`{!(I|C|R(bNV>7q;dXpIlb^P&&HB&v}No-N1QcT^&*K zvaesjW&1CEX)?pMZR;<$pr!`>&vrpk_XLE;(pJBZ5vHZ5D-O&=f)%}1NxQA&qzAw8 z1_(q0YH(^ytY6$!-UoH_7K4@r#Ixa{D|P4c^#5{ag}S{^dSZ1E7PT5~v*3 z;un%>0W~%ImL6$u&2``}w?Ok6SESCdS2$tS5_w@9YLqblN@6|qv}Ok`D2m@~$- zPYsdl>MABZj_ejj#CuvTcqQs4^AHiVb0CIv?&wnDHmk@qmlF%~Mk$~=x*XA3Pk(xl z*cKs^RH(W zuGsMz1}rkkmcmeBh%n-Yrlsz;*@W+L?2BU5Ey{AbZfc`S36FLS3pdOYl{KGr1H>;U zwL85QKZ%LqkZOrsAS;WhGv4iYs>P#bVifnAwNfa#DG{*O)W3{)j$gCP-Syg4HTkh= za`fO@eo8dB?{&RDD;v91&M2F^!07M%6m3k=zZ^Oep(FF!cf1_%sF<`s(uFoIo&|)@ zdF?YEFX&&~0IPmOAPPJdkp6GHc{}F(@XC)`nfaXQuGE2G?MwinYjt&;H^A&)vYG7H zivq3DrT^=%eE0ZG775Yo%H37}kEl0~hkA|Q{}F|hZS0a|FqmW+Sxc6|U@#0Jlzn&X zYnJTBK9(3u3-+w*MqvMP@Gxz&`U9anUUTHvE z{QC0pUxugyt~(PCAHiFDdV2Yy|0rHQ{Q39Cf2SFzKTB3#>8k%o*?IV9sSea;oqRlf zb*XJ7wqg6;=lt6zIc?9^rQSVk-FWpcwuYl`h$%g3FUpGKiL))o~8qZ<& z^HZwy@REO>F28#(Gq!x~TKQv#OQ6~Na~J}8;leh{lTJ=f|BjuK4}Vne9m~Jl|9QvR z-oA9@=g!KXmdPZGx{0fQXFNfSqbD6c*8b;*sz9sfZh2D1SHy8M&=bp1h8DRbne$ekZwqYoZLPuxD;4*_8H_lwUDMKi;sPZcsX_=lfuOs)+7 zyFeT-ZS0=tK93$&UFpA|$p5K9^*`rG#~kK+@3m|KCa8gd%scw)MWBhb?@%7zG{*}3 z{>>V-JNume1=t+?Tel9@pYF@{Y(zxGsO~=7mc6{O_vhWMuSL&KbfSK^M#oaBU-_=C zRqZ%}cEoV?kNzn~e@|3vXUV`^68Y?RMAZA!qoWJ%KK7I9V`HkS&m&x&JO4L{blL0L z+~n!y?jHZ3&ntl^cS5b7{c%K|UCQIv_py z!XQdol)&lK5W2PdX`9V#AJ_Fh2;aq@)@$N*LQ5Zp?4mkSbZzMA+)}td4JgySibt+`t3Esn@97v8!Ud=$mwU6KU<%Y9l z+U`sw>Vb6(ATYMT!N&_Hxqj{js<=#&mtg;)JC-fqofSFFHJv>ehJ`fmv++6@<_@j3 zug60av=DGGfs+`esN{ zpSRi5FJFZDMl#osn*UdX>(zQp!yCbr8tx|7@>dPvDY50Ijacx*fGrqo4{-O8Zs}Q& z^ziNs`?pY@<80Xcq*2?&|aL{y)SSd7PAJ$_Rr+Hj@3lItdC5Ka&A~D zAlHo?jmS*}m85R`8<`i{TrYb*nDfd*x^=FhY6M8q|zAT3rL)+}tr|K%7l* zxG$K@oqiU?an5RGhC33h>kV5w5^A@he#vCerR+=QO+>Qj1a@Bkv9mbYVA~bC|1RRN z;BH?i+@Yieo>~yyoUB?1>Ik0RsTh+QD^>|(n=qMIcz(04V{oA4{X88t&lEUFKdcQZ zK#@9%aPT!g=%zwtAOFr40TQK2{hQ-&-fb0RUOXUqT?6P_o6ct%6|xCC5EJK;Vf9rP z_~NH89l)97{HjDbeIuhibQd8t*42J6)PGz$7RUU~n19$1ZEPl;S5R82GmW*b2Uo}V ziF!1cj=8Qj%JMV$dKI0Vgb^mh4&~2-dAsj1Q)%cS`{ws9z@Z^kyDCL~hHUc{fxV`N z6EgWA&pO?rE`bO;wtEq(rlS}i)B4|@-R|)hS4?1ftxc16+u~xzR`;(Tt3RbPcA7lr zq(2zO!q@*!s^9FI1x2Ym%QE|s4`aOpjuZK&gVO)`h`?Z*qLd-=z+imbh_V~F@YVyL z%{nZb?<}jRI$W-m1e?Fed?QqyLZJX{RoX^n@-BjvXbOL~&Vh0Xb~$T>2h}>%T|i`{ynbDPHXH)b{wBVrKQ&f;weO(-%RvF2CO|uajlrlhC=i z1A>i<{^*aq?l z-jFR3CYJ@(vohpQ8fZR#cKDli<-FCqNDhnI`EV*8VY zBYq6xWve(~p)?7i4kB4=GuOFo6`wMU;fVCIn0y)d`4mXBoUnmI3n=DQ2&4?bZ`E9d zA7(G^zJCzCGm#dj&613PSt381U4V}X894&I>D)ydWUv1emQI3B`3y2Y+Z;6XjyfH5 zh#D|j#kNOk4a+cvcV7cr@b%vdl+aQG$O+*8^CvC#*_Zd6u6&DhnezOTbkcBKb>M#d z<Xv72m=S4vD6EFDyj9h6M*Y*jupL-l7A-Ul<4a5fe-9HTKq@o+j6l$-b{U*kfOaGie!8G|dq=HRmoc z^^dRHIq1rx*oaCm$KIJaSyfp|g8Vy~oUHVCL!LL?&o*i$!sRA|Dh=7GQQ;Xj9B*87iP55-FMPngX>3y0BnKM(Xr~iXr;~ zF$~0!M+~qQ3OZkbPRafCc!%7`D3Hz1oJdCtT>k;b_s8< zCB(A)V)_?ImDxP6>(Dq?LGb`3Kl?+DYtXxLymxPlk?g136}JMd)5Jt#1z$X73Zy`q zZ!_G8{stQsxUPdw1XAH%ryBv+PzM72I{Iy>;M!fKg+nvsKzK%}apN zg3;n-w6i$~^;e((lP$I`OA>;W0D2FKbJ@Bx>SLI6DRZZf3~%~VThA6a03`xntss+@ z6S9J`#WpMi{-PG;Ad;Cf19+By@5Vq!Lwk(52M3y2nz~16MbEwdVr_Fb45i)hAV1$- zp=j~dU7#ia6o&>l~GsQ{mC>Irh$!Nmf z>KY#(-)lZ_46Gd=tYbYDZfa7PfQ1zpB&w@#<;`g6L6Y`_9Qu5!N@PcLgDkPubY|H$?y>Y+>P=zK|2PtU8LpH&*Ri6e|9^B^y2Qh%BKx(je8AWs5uZZ!ZGJM_pqN0SKN4j>AocIlv~=Z2>v})I$1pKPopU zH=RSi0-rZdE*IGgLTh!(X2s&IL(w$`o)6zS z{RoVqsn$*4_WhunTWQ;-&1g>0b8#tS_*^UNK zEF|m27l@E$BQf^JzvVUOf($7m700rPwd+P=1^ECNJCMR6EqXIM0cnx%3)P%y04 zE4NoI^Pk_=j3@|iV<0SptSCa(rx*@2#bhFS@vY+i@~O-U$I9ug=vROuVRdKa zy=u>&+b4-!Ju!2C-ZrjxzI(;Bbya@lsQc>1kIALc!q$zyTFZ^5wIg-F|6hC~DAD-d z*Zh)mKUY@2Xvh5jTO`A-m`9+bJ&|iLiz@7yt|BChH3K0hmr_gxr%%Dtx(nNL^OEe@ z#6iJH@@@reiL-1#6M2RKz{K();IjcW@(+nY=2yl0>9JL>g?=?6A|~|Y8LYBRf-Y$( z(uK*Oo4xsf{`ETsD*kh**3u9Jz1OOMcB3^UTddZS=@V9WEck1W zI;;Gv76_Um0T~E7?lEp$(Zx6cZ&JQ{jh}6-ms<+@X~E63vgK5EIG4YR6{-%r;UH}X1)?>CL@tU9 zjnYpR-L>Mx3(I~vYAO-#bY~NlAk&he>~um$*F)7Mc+XuFa5?(Q#y4@%kDD!#y1zI1 zq$3QA6n$x`QX=pqyky#`@AWq(V1zMv02153;5&9gOlNQja(Vh33YnN6NoQ1+1^WMT zD<(N^5_*BGQkyHKXF7CuUYzkBoKm^y1NgPR{6Kq1MYwSBWG33EMGIJ2fC2@;p5Ea4RHFT#91_XwL>_XIy&Y-GknD*Fx(12o9E6(L$ zajyT^)?mcDR$mBr%9h=mpS7gfTUNSj)?zg^2cVaRM{R?y0INshKhp{b<~bd`l>2U- z-nG}mXO+Fhd=~NS?3``LrD5Y@!Q|Ly6cYzeGi~D8b=K1D78!M8M-QAJy_MBF^b?DU zS#Q9-m`29|*d%}haHDB2g!s*=<@?A9WYB|705*ryoYHUFz`|H<{LtlSm&5Ms4AlBX3vt0K5r#vV5TAW!)DDkH8A3OgK}t=C$n8Yu#JItES^+rC?@U1 zR=VL>AV6{loSxKwxd8UzOp4oUKgNqk%ORJ;$#VRe$&@tH+PDM;z=X@Ej4HA>-4CJ6znrw+QMsc8XUJplukAJlJFB{;ZHxl+F0ZJvFm;tY= ztS$S+SuEV?qM0u&bifEq(z zCHd4jd-tB`VrkpogT=7^?K@+@d;sdLK14h}HGjNVQo?@t(Dz2joOkh!$i#nY%5HI5 zbam_h+eVxitKIRw_@a8}${HPm9gEPIB<|7LxpFG!4-Lvt9xDt6%Yn2ofgJpYvS`|& zA-S_vGoax7;qHtiA^vdOqnm_}%Q|v+I7lb?;fY&k$z*nMcY*J8C=0zALrAeJ&xm9p z^gf(bTmr=_A|;tvo8t^pnK5Zh3eUS`jA%zRDO3J!ck)w=F0C9f&}1Ue1Cb`V-mb(Q zrCb~m5ASEzT7!zA*ck_DKKiqo=fwx;y|lC`-k9o*gO5+-I2Xo*4X~QN<5DN& zOo$0+juX_18YKqGij-c7fdBfVGMFaq_di)OxMo8>w7lME>Kh8Ag?6MV5Xh-HRlqx~ ziC>!s4GN|(4p=@THz^}G#Ua=nKLtr>v30Vy*JzjO&$51!W;kRX5h8Ef*xb>h(Fnu` z=%)>r`PK+Uquz3B35+DiR`6THAuXu+;Gx#p3Rd6|39lNT`OQ=^VNTfQi`T$8djd?1 z>`Dz$j|az;UoIo?14E6@na1*1 z@JI!)SzR;pmxFA;IGyn|>bh3{(;z3)m(F}G1<;FAK_Ed_7%H$nO^cd^<&ozH*`m0o zYbIl$U|}rau=AA{!!O5w@g}|&E2V7@tC`6@J_3|4po?o`4BO@^rrk`g+}ive?$+6f zPPG8>U?=nvj=M32qX1e#bp0h<*;FnQb>IMVBv*MlL{ymS6 zV2zvd$sz~T$2?Iz?uq&9WJ*vqjHLeAoUr)%kS12Ja%E3sjIEVIfuiCai5)BdfBMrOKqU;)FR942XIM)}rx{Yxyex^=K@ z4vBFhe`FhsO_v-Cw7&AHSUHZ17C61iZ5)&YR&|9Yj8a!a4fS=pEx5Wp2tyzv&3!RZ zDeQFZ$(%r?U1LtA)kUO!N>2Rw2hwuE;-NjdxdXtip*H#PI7Jss0s|Psu32IFGfq}6 zK>=~SZX*r029LXJp-Ajia4ZHK27toPEM%Gz%8WeAsIe(qn#Pl!gymD<47qZ5fs;MN zFnY>$Y7Z=aTwFIy0Fme^?12>46I=$WEj*hdoD=NZCaVItcrN~2@?Eyi=LCQHl{+R1 ztn&ru1VUqAXjq;$T`XC06BpayiPi5bS=xC5%6|giUa`J?8$gL`v3&?b>xpZC+phl2 zZ`n`4b`~u6)pm?h|J>Sf4f>9+iKB`&F?qADBt%c6PnV>0k>TFMUwh9LpPwo?nU^o@ zwk&wHJabI|^Lvf@z*GLDj+17)2s&%jM6?ir8fl?LvkDh9kfDCs`6Rs-ZI&S{*_>%u z=#}HJA3n=PVm&3*z5rmod^RhsbpAEH=AR#yb>}6z6B9*HY*PGJ2^^W|A^cUH`&)bH7R_?hdG-D5s$4iq5QULT@Gl=( zTcU~FTM?uFtLslydOf66J>ux$VgAZ5t#^M)kNi%)etyNZ*(mehDJA4jQot!SkoAAd z0;PR#`0!83xiH=TZ)tpqdVhtR`kgnvQdos6k(EGpuoA;VfdJX*Q|2D#YD*w)5zkCc z1+i94(E5s`B;2g3;qCPKaIkWhPa0n-kzqD~sDE}O&YDVqi|j}CX)FDaV`)pb)Qk6v zcemD-0IkK@A^W1J0Vg$*MIF&y1r%ZrvgW%x&WrJ|;h=^`pdst>(6#I@`iN`vTCBZA z1mQHt#0tM%|6CX+qY_;a+yJ$fY}%2VBjZ^^&|wp;MCo(KE9Y?&m2@yzFrFWbNkv8# z##{$XU%b;I-C?IswhN06&45E84GZYeK|wy2#PaA1T!6+QjIy9S@*!F-R4tZGWI~3p zr=WyoqA0D5Rkbb+&Zh>^2be;O4hCw8gZ9gKNpD-;-FIEYT z46vIU0WKl>I4Wg>!iOcAx1cKZSDZxq<(%PT_C6lCT4I8jYfTt)t~XB&4zK%3`vE`w zMoNRk0H}TWGX0rpGw4^0cC!u9w7%tWdpwlEEgf#abS}~f)i)Ky7)*_NgHc$umU=J- zv^vrzt;UO=Z&j-F3qg^hu*ftBYhoqk+nQdCe_^_HCo)T?TccM3Y-(HJAm9SyZ=1ZxozR4S5 zK)i-BsI7?O5B%*0 zm-DFrTw%x>5KUv#Vx>61lg}YI zJW&Rx7ndyl?w-7H)J%>nHa)7b&9?K#Ci4^`uMS*=6Arn+sOT8(!Z_S={C4AdX5p3u z=$%WiRdFW>8?epUMO^9cjRCf2>T1-BpzB5tm9K=Go9BV$IAF8`utjj!;Ff%~1ShVB z+y??XEo2sPi9~lfc?D$GvKX2@Pzw++0|4MgYL|DmPW_sCbgcIO1~w zkjV5laq*;)O)`#f%Ls~(udK->U&s>Lzdi%knua{PnY;#0IG9S$RY^WTy+9$Oee%1) zD+FI0USGAir9E6%>se{vZd7oBxK|Ud2|At9@%%iL1@#AGX zE6_>K9w=wg6`gJ@a^~p-ldvIuKMRWONaS0jSdJ{NSg1-?kiOfA%}s@DkEuZ@MXbsJ ziNhz0Lk~c_s3cRn$4soIe0S=9{{?dsq9oyF@JJcIr*@E*eVh`#;83+86)p#3@-|r8><#AG7td;+u*$ zj;_d~Dt9>EpQgNFBVLoW_KDYRB}fcx|L|QoBBU2N(5wwf1bQ~W%QjmIg1xUjZw=wq zKoBx1n*^Mk4SVZ!)FgKRvK0(JA;Mn%I`sN2I3Mh^)hS)aiQvZ+rwC}VcBApMESHR)dZ$WPLwgU^h)O`s0U(>0Tqu_+*p>pX`C73kQI`QF zwy#Bm4K(o!Igk3=y_5dPsx9=!23#ShgD#B8$ugB7xVX}veOZyaa_>%HaBWMPa}jr9 z^A$Ec$_d~u&z03caA2UQP~~4uVj%diYZq?%nIeeL@;3#2GFP&kc+D;htup|b)K!j$ zofhz9G4;8H9)=ocfmO&HBf-H~kZAOLrF_Lx1XWfihXR%s###LoohSO$v%+JhUKB`Q zk-cd%`Z2)9O4@G{ECqEL*g+}W6>1zc6a^1$g^Qrr-d+ChGq03D!@~o>Q3Otsvl%=OgD5e2ZrnvV=L9VL4I77>6`B4&maGI+ zezF{?hpOWUM-k2pR28dPa5O_)On8OS6H}5pfFqt4a+E8S2^Oy*5B2rY@J(ERSS@5^ z&v__7koHr1^6HAZ1SoLUG{2wn36Wtc>FBV+0-_6;#@UD6|8fs(5?(DW@i&N5(SYcl z5(@NY0yTrn+eBI#&dKB78_Pq-@$?$%Jxrh-cyR^5y2GT2n z832XF$D8}bNJn$@H9YK`ZE@`-Y`)svQ>A;b;x(j4jZ8wo`>*&|` zxM4GJXT6!T0Q?CAiM07WVto7+AW?=%+qB1!M{MkDD@@?Ro{a31?Amt7Dr?R?aRQ0K zw1Kn^(T~NIR)Sk}XNdsGn|)Z*jbLcgC!?w35EVr|_kG`%S$QnEKPJ}Oo{uq+Odmpa zFLNX27+WY1l{7Gjmw9X`$lAFZB=<6yTeJJvlU|FI{+gM#iA^>bEo1u|K75Y~7ohN z!f>g_!@U_)?f+w(pn3nl%(how=wnXXXm1{Ub0>X1+r{bX2S3ALV(xq!kppEw&&nE} zH=m{N*9+Vfm2H8h-e`geqbN(x;`vk<>1S3J(qEiScLj0T&Q=3{6?!+-40E6;K>q@E zs1|s?43iV!5tybm)&lFeLvyk{H@HmsDgn%VAO&0%`($Xe#VH&ctHH*YU6Kieqrd5E zY}iKwT3s~7ml2835<$h^_Hc1Y)Tt;vZy?L&A9Y)(Vwyh2v;$AUTwuLAu~ki$Bo=9~ zWRVJ4B)`%Jvd{t}?F?cf^@n`;vOt^$^T^l1=e~r^#Ef-FlNaAIB!;2Y5*)FtVfhM7 z6fqrprLVsIF{ASpb9|rHD#qVfmUV9K2K?@guhWYHz*PlE7Jp$t=C138~ADbK;K#X)tBf{2$# zVqmw(l@i*1z!Rj22#(ZT>1RFzJberxz)tf-GQlAmq$0X+h!WSyIvv)?SCPRt({$3G4b8>MxI}?9y_c<5Z%(oaE;>my+7?*UhrTIyUJ-4A6^BjBC zFAWxxI*WtI%Sa1L8=Fd-dXVbT1?bgTaIt*?AlGa>Jl%g|1eq3==I^R;_KkxFf<5<| z(nYDUF`J&iLjR6&V6rEWS37PTEk!Vc_1-2SV=oMRDr5Cxt^wi01jcfFLxbhhh7^z` z023RmMVaPo0xr1c`+a^bfiQQL3obOY0pX1n?Y}p~njb#~$!%>KmHKNRO?g(1I!=3j zEzB=f&h2FnFn|}Yn|WD;NfQX>v?sUnB_IGdFjPpXE+i0$?;%PNyKu8~2@)>_xKFUQ z&VGLP0k)e|?XnrH0(mL=iR;t9o^?y*^9Wu$ziP4Bx!E169f-oyCQC&(vM)DlBF1NOp%=47 z3uC>3Z0iRRxob&c`4yP+^PAeRammLYs(ZpZeZh?L7SvXpfj>Q-fOR1g+npGfs*YoU zk3pQbRQ_u_9c^f*V(;v}$hXbc{?4*Jh8<%p1gKEp3`8YvgwvMK_hzmq%P=PAINgRD zQVi+u;bPa7Xa=$e3~iVvnX{aDTGF5y(}9=9E;s)EmJ25Qgnh#&z-Qg!NR&~gwXzC{&HY#<0TC} zu=fb=Zyj}NW3nE~uM!H{ecmCt*H3zq)o5^}Z2j0bn@Xbkvu6q5+BIvUP~=~g=rdng zNR{HHPy|J#*;{XR4lNZ6`bd%uS&l1F(Bx`@ujaMS7oc+2-pskTwb5%bukcZ}0opN+ z=-m=^K-2Yr3v*w-+9+#4c0FaROnpd#v!E`opmCwS|3(Y&?c`@WUr=Y7RxnGBPHevP zUrtLdh^C!+XxCWOPlo_s3ouGnn-FDHQ=wxcxWw|*G3)#*#gc5m0X_19`JT<3GosW4 zmT#gEXIf=cjwQ}+m2Zhvr05b*?LIMN56BoY5Y$PT1!`$oINLJ~)^YZ3e#HjxNFZ zhWO2+qz)K)+M|u3f*!5-wY~N6pSPSD>$F;mzW$q&ZvRA_dn>MU4gVI$w{PEuwZu0_ zLQ*ecxSMB}J^*AS7{_sB|Fr=>X`9X$z6cj3ey^^uAX`@%etabZD6yT-0EBD670FMZ zxFT0(0s}X<5}yatp=qj|@!m)bP&Po+qH|d~PU9i_urZaDkrQX`JD3r0ZcWsSWjH$) zi2=D7RAI6WgD~)C1)-5Ii(On+_~Z(Zg0L#MeK*)8Q6u_Ay5iCZI4oT!i=EX7ph;}m z=o|`bHKsRoVB|5O)8pWqBi_2iUSkjxeKv8Ty7@kVV1b+bc<*U!cY7>tcM$;Fo& zSJ{+P+|6K|2XR>-#|xmB2vF~5CuU?ylv%4aj+E?vHYqnDmun*<}E9p7(P#LBx(cU%6Y1*1*uf3-X`E_HN9=UG<{f=SoQGA+1ngV0S<3JVP@Uo=maSDXgzv@ITa zv}+L{pBbhL76H!~8-Z+7T3U>^+fy-~fq?s+nF-9*WX1SAbYS z)4E{x*IXKMxy|!x33%|FzV3 zp8XzvrvI@XJL~myBKWsa0ih|$_U^#-N|afW{_=cH8*zahZN3$(8u~8Yp;^1zy8rN= z&O6$#O3fRfZX!7{N@-f1zCtSzv(zp#Leh4mq9NYxwrkq`8rfM{o$ zxZ}_|YYW^V;E8?$?5hld4xP>YO|^!cVF(oN$244Kw`4En1bZfXd(_Br69xdc{l(0M zp$b{i#mZ$5&CLqDuqZ=`Pf-RBrY_$XG`5Htnf?63+T!uyV8G@X+6;o!x#ipf9g@AU zlwtr$2(4fZZjRltti+6b`NG5_IpM;Nq{yO+092=iOxX(5%YlY0AhnxW5&(Q@j}29B z`cPBR(1Ucm-Zd#+0$Tcge^ zuc#_soNTJ|dhcMtcxCYOTYz}V){%9RCBs>11-7>xnQV2
    n^64#xJsyB?toR^i{n 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