From 7ee63a44c546900a9f888480fd930a7a7fcac33a Mon Sep 17 00:00:00 2001 From: David Young Date: Wed, 28 Oct 2026 09:33:01 -0600 Subject: [PATCH] additional changes --- .gitignore | 20 ++++++++++++++++++++ content/_index.md | 6 ++++-- content/install.md | 2 +- content/software.md | 4 ++-- content/system.md | 4 ++-- content/utilities.md | 2 +- layouts/partials/footer.html | 2 +- layouts/partials/head.html | 6 +++--- static/apple-touch-icon.png | Bin 3633 -> 5093 bytes static/css/style.css | 8 ++++++++ static/favicon.ico | Bin 5430 -> 15086 bytes static/favicon.svg | 2 +- 12 files changed, 43 insertions(+), 13 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1c8cad2 --- /dev/null +++ b/.gitignore @@ -0,0 +1,20 @@ +# Hugo build output +/public/ +/resources/_gen/ +.hugo_build.lock +hugo_stats.json + +# Node (if a toolchain is ever added) +node_modules/ + +# Local environment +.env +.env.* + +# OS / editor +.DS_Store +Thumbs.db +*.swp +*~ +.idea/ +.vscode/ diff --git a/content/_index.md b/content/_index.md index 34a19e2..c7a76ec 100644 --- a/content/_index.md +++ b/content/_index.md @@ -18,7 +18,7 @@ sections: videoLabel: "A CoreDesktop screen on an ultrawide monitor: three tiled windows side by side, a zoom out to the GNOME overview with the dock, and back." - type: text - body: "CoreDesktop is *some scripts*, not a distribution, yet. Arch Linux does the heavy lifting, so you get upstream fixes as they land, and a *flexible tiling* desktop that makes the most of any screen, *ultrawides* included." + body: "CoreDesktop is *some scripts*, not a distribution, yet. [Arch Linux](https://archlinux.org) does the heavy lifting, so you get upstream fixes as they land, and a *flexible tiling* desktop that makes the most of any screen, *ultrawides* included." - type: features id: included @@ -27,7 +27,7 @@ sections: lede: "One install script, safe to run again. If something fails, run it again. It skips what's already done." items: - label: "A tiling desktop you drive from the keyboard" - body: "GNOME with the Tiling Shell extension: a flexible tiling system you can lay out however you like, Super + arrow keys to move windows, and the full mouse-friendly desktop when you want it." + body: "[GNOME](https://www.gnome.org) with the Tiling Shell extension: a flexible tiling system you can lay out however you like, Super + arrow keys to move windows, and the full mouse-friendly desktop when you want it." - label: "The software you'd install anyway" body: "From pacman, the AUR, Flathub and mise: browsers, messaging, office, media, notes, remote desktop, database clients and local AI, plus a full developer toolchain." - label: "Sandboxed AI agents" @@ -114,6 +114,8 @@ sections: a: "Run the command again. It skips what's already done and picks up where it stopped." - q: "Does it work on ultrawide monitors?" a: "That's what it's best at. The tiling system adapts to any screen: pick a layout from the tiling icon in the top-right corner, or make your own." + - q: "Can I use KDE or some other window manager?" + a: "Yes, but you won't be happy. CoreDesktop is meant to be an opinionated installation that leans into GNOME and everything it provides. In our opinion, GNOME offers the best combination of keyboard window management with the traditional mouse options for dragging things around, including windows. If you want another window manager like KDE, there are fantastic distributions such as [CachyOS](https://cachyos.org)." - q: "Can I add my own tools on top?" a: "Yes. A sibling project is any git repository with an optional `install.sh` and `update.sh`. Install it with `sibling`, and every `update` keeps it current." ctas: diff --git a/content/install.md b/content/install.md index c33bffc..cf20033 100644 --- a/content/install.md +++ b/content/install.md @@ -30,7 +30,7 @@ sections: - title: "Pick the right GPU driver" body: "**If you have an NVIDIA GPU, choose the proprietary NVIDIA option.** Choose the AMD option for AMD cards." - title: "Choose desktop and GNOME" - body: "When asked what type of system you want, choose **Desktop**, and **GNOME** as the desktop environment." + body: "When asked what type of system you want, choose **Desktop**, and [**GNOME**](https://www.gnome.org) as the desktop environment." - title: "Choose pipewire, then reboot" body: "Pipewire is strongly recommended for sound; it works well with Jitsi, Element and the other Federated Core apps. Reboot and log in." diff --git a/content/software.md b/content/software.md index e8e80c9..ddf2615 100644 --- a/content/software.md +++ b/content/software.md @@ -19,7 +19,7 @@ sections: lede: "Each source has its own list in the repository, so you can see exactly what's installed." headers: ["Source", "What it installs", "Where it's listed"] rows: - - ["pacman", "Arch's own packages: neovim, tmux, Go, Rust, Docker, Tailscale, Element, LibreOffice and more", "[packages.conf](https://gitea.federated.computer/Federated_Computer/coredesktop/src/branch/main/packages.conf)"] + - ["pacman", "[Arch's own packages](https://archlinux.org/packages/): neovim, tmux, Go, Rust, Docker, Tailscale, Element, LibreOffice and more", "[packages.conf](https://gitea.federated.computer/Federated_Computer/coredesktop/src/branch/main/packages.conf)"] - ["AUR", "Community packages, built and kept up to date with yay: Helium Browser, Winboat and more", "[packages.conf](https://gitea.federated.computer/Federated_Computer/coredesktop/src/branch/main/packages.conf)"] - ["Flathub", "48 desktop apps in their own sandboxes", "[install-flatpaks.sh](https://gitea.federated.computer/Federated_Computer/coredesktop/src/branch/main/install-flatpaks.sh)"] - ["mise", "Ruby and Rails", "[install-mise-ruby-rails.sh](https://gitea.federated.computer/Federated_Computer/coredesktop/src/branch/main/install-mise-ruby-rails.sh)"] @@ -53,7 +53,7 @@ sections: body: "Remmina and RustDesk for remote desktops, LocalSend to send files to nearby devices, and Trayscale for Tailscale." - label: "Utilities" title: "The useful little things" - body: "Boxes for virtual machines, Impression to write ISOs to USB sticks, Warehouse to manage Flatpaks, Extension Manager for GNOME, and Helvum for audio routing." + body: "Boxes for virtual machines, Impression to write ISOs to USB sticks, Warehouse to manage Flatpaks, Extension Manager for [GNOME](https://www.gnome.org), and Helvum for audio routing." - label: "And more" title: "Downtime included" body: "qBittorrent, RetroArch and others. See [install-flatpaks.sh](https://gitea.federated.computer/Federated_Computer/coredesktop/src/branch/main/install-flatpaks.sh) for the full list." diff --git a/content/system.md b/content/system.md index e450658..7cc80e6 100644 --- a/content/system.md +++ b/content/system.md @@ -13,7 +13,7 @@ sections: kicker: "Tiling" headline: "Flexible tiling, all from the keyboard." body: | - You end up with a GNOME system with a flexible tiling setup that works on any screen and really shines on widescreens. Hold Super (the Windows key or equivalent) and use the arrow keys to move windows around the screen. + You end up with a [GNOME](https://www.gnome.org) system with a flexible tiling setup that works on any screen and really shines on widescreens. Hold Super (the Windows key or equivalent) and use the arrow keys to move windows around the screen. To change the tiling, use the icon in the top right of your screen. You can set it up however you want. @@ -54,7 +54,7 @@ sections: body: | If `/` is btrfs (the archinstall default), Snapper takes a snapshot of `/` before every `update` and keeps the last 5. `/home` is a separate subvolume and isn't included, so rolling back never touches your files. `sudo snapper -c root list` shows the snapshots. - These snapshots can't be picked from the boot menu. To roll back, boot the Arch ISO and replace the `@` subvolume with a snapshot: + These snapshots can't be picked from the boot menu. To roll back, boot the [Arch ISO](https://archlinux.org/download/) and replace the `@` subvolume with a snapshot: ``` mount -o subvolid=5 /dev/{root partition} /mnt diff --git a/content/utilities.md b/content/utilities.md index 661bc7c..fa020c0 100644 --- a/content/utilities.md +++ b/content/utilities.md @@ -31,7 +31,7 @@ sections: items: - label: "update" title: "Keep everything current" - body: "Snapshots your system, then updates Arch, GNOME, AUR packages, Flatpaks, Ruby, extensions and firmware." + body: "Snapshots your system, then updates [Arch](https://archlinux.org), [GNOME](https://www.gnome.org), AUR packages, Flatpaks, Ruby, extensions and firmware." link: "/utilities/#update" linktext: "How update works" - label: "refresh" diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html index 878d217..3567b54 100644 --- a/layouts/partials/footer.html +++ b/layouts/partials/footer.html @@ -25,7 +25,7 @@ diff --git a/layouts/partials/head.html b/layouts/partials/head.html index 1e34f3c..fdf6ac6 100644 --- a/layouts/partials/head.html +++ b/layouts/partials/head.html @@ -3,9 +3,9 @@ {{ if .IsHome }}{{ .Site.Title }} — {{ .Site.Params.tagline }}{{ else }}{{ .Title }} · {{ .Site.Title }}{{ end }} - - - + + + diff --git a/static/apple-touch-icon.png b/static/apple-touch-icon.png index 11559aee95a035953f2cddb2cc0b9313ba58bfac..249a497ba3813d41020507725e74a7bc423573fc 100644 GIT binary patch literal 5093 zcmcgwcT^K^myUoS2tffs5fzl)1EE)`2^dOfLMT#2sz5;LA|Qq;CG-wbq<2CUFoYU< z4Mjnk5Rf8W{qoyAXV2NQ=R0Tr+5O|4J9F|*l%9?z9StiD005waLe$_S zTmR3vMoHQ#3{#4c47)7^4g&!ExB-ASVF186$@OLv0Pq$C0De3J0Ay1E0G5}TE&B4L z0Huw#rW(nz0tD1_?9xbk)Gr~XUH|~u)BhM5y&ZKVClwM3Q>Xet!$!|^gAufXC%L$g z>Q9k&)<}Co;NeY2Pg~X%{K@zfJqOu@K0Z~y|QPDxh>9+p{aCNtP;o$r4 z0WCUir1Js1|8)iA3s-wDq_ykIe~%#|be91DhH9wVW5d_;#6?pV^O->0{vKv<;SQb_ z>cPV`UT8d6+t!!RhD|1deav`ZHtfKkH#L z0~H)ZacajtG_5^GuL}d8cM`V9Um$8L%oZGE&VvCzta&}~?U!3ab5%CaGBmEKKK&*9 z=7s>2Oep$c2(w1K^7R5pZn!?@Xg4o|qcszCy=Wwb*=_az>+s5CE1(Q|MOYF#*rk#e z0>LGDD~HLWdek(i=8Yr~nQr&B=n{;n!Rh@aU$oZ@o@ikGSai$D3dpnI!t|Uo`zOS> zQRnBQjXqus!Z{3_Ea994+v16UQSTdDzMApN+9X}RWIYX#iIIE_qogtYw z47T%ZEPr9!l5t&Bdh~-KaM6d=#I$;p8kq!Z%IY=H2$o)~jix_(GZE#%l(I>3$!^sm3T++PRmm&1su9g{W10u5uJ+;i6HeAq1g?hq zkZ9WaaI9=G+P^IbKJdHmL_8Ts-v79T2p*4>jEWE0t%mRXq}*((d-|hbI5Np|Zmq(0 z)U8MCka?jt`qCAMA<8GSaoBPx9$z%V%e~Be*<~Opi}1ab$Xj;ixdg$uEL6h+@mJz$ zaBq5DGA>c*uIU~UGBe8Fd)2RfqRT+&E{g`pO)$@;k<0J3wC`ODpOz&ov%r@URt8oF9X=uzX;p<^B<;vpjjbuFR#8$IrLL z{<^9TqFv;1Ilz{zeT?{3drPjFu-)lK?B#jUppdQO{%wEKZ@$8=T|`wd@n*nyP%v0)rmxkbL{i64$XDi%bSgwWOF68LvlVjly^kP@#ce6HoNpUx| zJP3kXBU7T>d;Z${v`8(c2CF>+yW-;>DzhtrKFK`r?X##IU`Hk<5r)EV`{b45FZdIZ z2j3I$8cm_m=-m8A4y!a*^xNH|ny+9#H@pF!gIn51ap)BFa28UVP zp!Cv`zK#KPOWv&SF#}w93h^Xwy*&b_V&OM3qRrTz-Q12(4FQ2;Ed50y&V+SwGPt)5 z4!*JZe$YC$9ew?>B_MnG%r^77Ln>-;+|}iVH|>$Xds$xz#iCDo5YOQIx_AEVLHC~k zJzEK|GV~YYU(pA@Y``J0x36Ds+ls60^h~q;Bc0OCwyGbpRdSTa4J}BzoYt#TE@lP> zLit%tObe5=r?p0%xJ;in)$)z?8#hH%xJhOCT+gnpF~MZDv9ZERY_(*+dZwNVT>d=tF+Y4ZSgDH}Xly9#X`A@%uDDWO?l3@2M0<0F77aAD<}wZA8J z>y`}TP<5v#YDR!X=H`=xs4~)P^3HqV9rzmNWGqohnZ}nX@-|$3UTf5ii^RTts!}@n zY*y<;0+i5Ap{-zq?0fz6>wBf%sE>&|W#-=(c}EshK5SH}zD4NLF>KOLa3-lnpl#|1 z*o|?-YyJilog0;qasGNd3OO{@Jd`n|pDl2IV`lBp9JQVrRpw~J`6Z^{G5PN+CZYvO|~sac1g7_Rete03UkX$>^4`jE)cR5bci;-~>E%3>nJVs0-hJmK2V)@k6s zwxlY4^VV5aw|$}D3b78)=*`L zBu}UJH}}<@J-S5vxq%CXl3Cyu`OHG$(v2~z(#^4|4{I*B&7-Absk=XjMqevHd6KqT}&3tHFw8FxgY+%v|c*qxwb7$ZG&J&sl81$On^O7 zb-8`tX7%R{xkh(v4KaOcO1w@cHb=fETwu?0f1tH3@PHQUnZ|w%wc4A(=`^oQ{(Y5S zBxU47gZz9s=PPc%l(v~_CaSilvi%4qDy?k{t6$hO!==TY#of|7?{Q)$;nG`-%w}(^|q7~(O znrh`v35^$~+x5bJ3Jq0{mP*XOKX5oX&^jCH=7bV4u|1EM zAoIX-&EJda)O3p}T=t&Pha-jnrxW0x^O3*N&pVF5t-BqGm9ai-#Wjj*7P!1tFS@%C z5wo?{sU5q*2jLG5#7(HX&kZSN#2$_Uyjrv*fO83(`OEmFqubsb$7lNcynjulyB(9N zwC50YcNG7o;ZE^V9o^4!UWYXVD$M$f1L9xxT`T z4Gs-0K6pQ8Q^nof;|NU2^4!WP=fz%pMT!pp zlg3BW<9l}Qr>_FheT_*1_iQ6OfET&&M&4PPT&8p%~a_#1h;mDRwF);gG6%~|YP8snf6O1drLapwtoh19tL2gsHGbI;NBTz7Ng2j-e`$Ccw(W7(CEE8Rr$XFC<8oIZp(&wa zza%C;gc6H1Uw`>)F`Q9F=~{(`_&v1rH{JL+XE{{9U{p39cz?l{Ucn;kR|m9=KLdK$ z_xogwuxK>l5Rqm?aTt}NbDGH1pv&`MlELVnhis}fKmT;Vg<-e%T&+h~OcR|D=8?2` z#%kYwqIt`K@EE@k5Y9Wk#ViS=ul0EC2(?{>j;v<8Hcd=Sb!{E8n0(B9fSXmmko~R& z#;Fz4jPVo83bD48IA6c+BkFeGn%}DzZ zO*kBNJS|91Y@;GrE*zMP#6KhHSH&Fdn&(IEdupnL(Zd1RXW${LS7ENXwi-P${NA(S zE3?3Mi>$(gsGOT@_cEUC{ZVC8@=j*Iw$W1)X=Ub2nz>WvNX{}aPzn8G<>GF#>)28< zR(sMdb8%DI#JkVVkaO}uJ(~O;=nlGM+L|ZQm4K{#fzuXL9Az|^$m~Sg2jL)eFdeJ4 zqq8U`?KSnk2yMQE?5551Kp9$Kz2Dz9j597@)kbTcr?Q7EXb@hQa6h@>G;Yc1#*j!+ zl}DO4o56k{{}fi_dy`<)w9C6NM60Wk7w9~>jtoo5-C@4v?HS7CsCSz1W3^s&CO?W5Eo0}lHSkFvZ|B#&amK1Ro;pL;~ z<!l|;?5+#=28tGxqk@$|W#4DF7-zg$ys{KE z&ZDmo;pjfdpgy>5ht-dMKymtbRF6uil7bqU*c{j+8hk=@-ycpB5fljXD8G}DYO~zc zb9pZ1E+#2sZ&<=L3d?V;3*E)X-a0cqQ;Co8SyJ6d_X#?h$Poug80-xqKn$A*J;}uN zCAlVerLj!V4?#wQi*1X-TaU!Un|KM0vyHywk5rwVTL8fg&|G)x(n3vV$xxHkjmC0r z>LVf8H(6k#y$NAiXd!9sC&)HXO1F=%IS-7<0Og}Xq(qM+uu`><&9tD5vcsNtU(qm=^oZQRf-U`6d^Ee#2@SGGYI-EwRXHXTG`)$#r%q zedJa%U3Q!cOC%jZoMRpc{y7sib0$?%6EELYhhyV(ik5euIz~_v8+~gmuK=%0&A(l) z=`Y>ODc>5aABK=w2x!HNFr94;cCMV3)*Z&ZZbr>F{h?LmDB_d|p=|7mzZ)pgV=Ri3^57p9u7d;kCd literal 3633 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 b{6X-SGda*JcEhpDfeN6jiO?uhw+#6kLnp2; diff --git a/static/css/style.css b/static/css/style.css index b270a6f..f48fa38 100644 --- a/static/css/style.css +++ b/static/css/style.css @@ -898,3 +898,11 @@ pre.has-copy code { display: block; padding-right: 64px; } .video-window .log-bar { justify-content: flex-start; gap: 14px; } .video-screen { display: block; width: 100%; height: auto; aspect-ratio: 32 / 9; background: #000; } @media (max-width: 1000px) { .hero-video { margin-top: 48px; } } + +/* links in a statement: ink with a magenta underline, so they don't read as the magenta *phrases* */ +.section-text .wrap:not(:has(> .section-head)) .prose a { + color: inherit; font-weight: inherit; + text-decoration: underline; text-decoration-color: var(--magenta); + text-decoration-thickness: 2px; text-underline-offset: .16em; +} +.section-text .wrap:not(:has(> .section-head)) .prose a:hover { color: var(--magenta); } diff --git a/static/favicon.ico b/static/favicon.ico index 4d2817016c5c63c2263f9d30f9874f73115b0a13..36cdb3f60019a335b10de7081a224da2baccacc4 100644 GIT binary patch literal 15086 zcmeHOX>?W96}}8XEEQ6xLdKVg@yZbxgJl@M2a`W=Q-lq;yf--4(uTl)|ox60azVM$`QKCcl4`-$g~;dJa;Q%=;82g!6C`muP;^ zH$~xmnG>2Jp7~Fhhw@8C38R`pDshSPEoI!rK-n6G+OjfVEtf$ZRo2Re{8}MxZ;N$X z67Ch(3gKZ#rTX4?XRG$0U;)BlA#Hsx#7>#j+Cpkr$5mj zVn3uYL8BrKa|1npd+^!Ca{yeIFICZ;sblEj>?E3ylR^(9`P)^F zC9YC_Q&SV&ym6hbU%y5*H8<(Vd+&&OinVW}r8?X4-cWvBZ7tQ-)KEixy_jEMo+H1{ zj^ZKZ|8TjQ7R<<}DWeBcLEd077l9t=7YV^VDK@Z&&Fz7?SCnTDo`acwzjtkKZvV>j zXPfCSB% zg#T4nRZ>ny7=^N2j0phhE`RxXk$(NZ*JxZ;g6JEq$uvyYavcx&#na0PpHrG|u+jVn z`aSo|Oi_PBLxY$P?%BD8_Ex+mu>b8h=)(8sL^|fVgX4T`(tn0-DbM|ys6acDz(?|f z{sUt?>7!%s3mKOFK=);fiuL7Wd24sr9kOx)GHGj4CG8zRv^nt`8tR`Y=8tk72zx`X zHLIVdKONk|?Yv))4?oyXdw0G@Gaem5k-l!K$42;BocBGHA3TL#P5if*H~*36&X_;H zlJIvL+c%GW!JYMKZewr&B7M5@x4=!vf;{{V_v&mir?;dxbQ<6rL{CJlp>^?}(eBiG zy==&r94b<4s5I_lniIZStOukmEY+*_J?eqp4+Z54f8Ut!m5F?CSRa3yio>3vk%7ZZ z`h;3pmhyoE)=1J8&-U9T^oCrlKc0>%XPv!;Zy=wgdhGEY{)hF}OK~63JM4d}Vh#xV z*vsB(I6_CPo!(6OiADuxwR!ENMuxRK&^2A7r59okQxe<40lK$3|H7JabP)Gp&+d+B z@5|QomuU{r8@gbfwNJ`$!5wS8Y=$G&d#$w<)*rbHtiP5sTJ;0Y(^{QvNynN`u0yd_ z2M1@^0c#G(#+uh~4GcS=E#MFENqgD@bzz-_wI0@+kR@cND@x}QY!Nv5g3NT5jeQE< zB2^w?==UiCP4_7{+0a(x|IvK*ZcT>il*X7pg_^)UE-H~)TxQO|HRA6x5hU~Zck_b?1~fZf5})_R>? z4mudN!&H9m$aZgOAGAXe18v~X_>$2wPe*@7e?Xs}$LL6XRju8?8ROD1hT1Y6Eg!~K zRr9nCsw2J+=nD?DEA~7bwD;!l?`o9h4iU>6Jv4@LGjtT~=a9L+L+lTm7e6wbE>`}B ze!hBzE>&F+`?6NzqYmL=tAAm?Y}JzA8ExNeTDwB^eu=Ge?Ntu;Us*ESi2ugY|uNPT8i+tEJKYQ zTjs%@TdddJv@mib4f9Vkiai+S75o<)kN^07VVn_hAf6W)-Vvk3c#82!UWX6urG9pv zbAUhg^UIUIqsbwKR{1ZSHHrIbgQO#3x;R?|zZewjZ3M(SHm_Sr=+p8-+$X}$F=*_6 zkK{dP#2XewZV+dn4DBv|!?rlfb%EzU@`6tw_H^#MZ%lCh+!?C5c|&FudY8=qZJT3L zQof}-e0~x84q``TiC=SD1X|p`hV9nButfN>o|wuXC-@v!T4ZmF{lyYLYwuzE;Q>SF z_2lYXF_?Rm>5mM$9am&y68|WsOf;(!f1~&z+UV zeWH&aA$GPsBLwL^~vS^Z3EOq(-K_^XPq_bs3}yrv(w~>8+G&7JUe3NJj-`v)|n%ILm%uZ(g?4 z2VElhZ0e)h>H0ITx7(qKmiF7Bj~~0r-mU2cUKod_hb2`LiafR!=t62>ZL%5SeM@E_tAE#?r@!WO!0 ze6dvz@K5sbq_y#xb^|+!8V!e+uz#Zt$ zSjTV$7h7Z^){dCFPN9ncQ&rOz21sZXP?BF2t$0!DTh zXHblFfLp!l z(TYh46>ZRBWKo8i7DdzYx3WKF!E`$3>V3@e-prdB9WR`@%RArs&OLMPd*?D1!E`Jt zieYbH#gU99Fvbjqj`>AgKZI*zaSey4(XoylW4Nx=Bt2Vc(z9k1Ckprx(rHG_3bKV` zyB~d3dqzE5j@UQB;t|(`;?w7%!Wl5fHb%_{pIGwi?VHz7b*voHr6DjruD6;U)pf#) zwtJgh)-w;&$zxypC;Yinhao#T4lE=4!I~v=pkQ_isNtni{UL4FGTHXa`p0nZRt;=i znFpKf3*d|61Dveb4^nJ|tmDd`wsQ$wvjIr){rK~xc{XTmZh)_!KXQ5c=q_YV(0gGm z(~XdEd>6+Oo@Da+`Cy8R^wM?Z6XQg43|Kek%lK*46=2CWf}}A{!cOXn8Qg|RWq(4? zrFY8#X+&>GEt;jtXS6}s78hGuaYC=zG?c9h7Ek9Ek6;AaC_)=_j@1`zi~(gT3cZhbqZf~lW{PD===*8(!GZD@MZ_c2o@_bry;6xB;}u-c8DrUg z)X@^BP<~+jx2Jzj{68ijcNL1~v#`v0KIqw}p5jN| zuFms7;}-H6+p%FW)IGcd)fXyNzdhX<-|JV-^3Q1d?_ZFTFeuRdhpaF2xBrIxoQaT| zF_uf3F(zc&TH+@7MJ*xvh8J}`%HP!RJgoeG{2yNrj$$vY5|`(iCC4n+o>aRgSx0!;v5t#|6BYY_YT)|12X1n^_6n?Cl;ef* z&7kW=j4SMfZy$aZF+Jj&FR0+yi~5pEBHm9dAZ?doHqF^cnRy)(LEHH`h&K*M{1bz4Dq?47uKy8b+)Ax7P?ci?xu9=v~y z(=!Xd1L@g;aL0h|e8k<^bjVLW{0oC0&Q5NfAQwHw1NkW*C@1}&3+?wdk>^!(=M#L? VI~eO*f_GsOoQ9>9bn-cn`#-t6LKXl3 diff --git a/static/favicon.svg b/static/favicon.svg index f41d6db..b154bd2 100644 --- a/static/favicon.svg +++ b/static/favicon.svg @@ -3,5 +3,5 @@ - +