From 33d26822457edb54230f6b08f9ceba22edd291dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikodem=20Rabuli=C5=84ski?= Date: Tue, 4 Feb 2025 23:29:50 +0100 Subject: [PATCH 01/14] services/kanidm: init --- secrets/kanidm-admin-pass.age | 7 +++ secrets/kanidm-idm-admin-pass.age | 8 +++ secrets/secrets.nix | 8 +++ services/default.nix | 1 + services/kanidm.nix | 85 +++++++++++++++++++++++++++++++ 5 files changed, 109 insertions(+) create mode 100644 secrets/kanidm-admin-pass.age create mode 100644 secrets/kanidm-idm-admin-pass.age create mode 100644 services/kanidm.nix diff --git a/secrets/kanidm-admin-pass.age b/secrets/kanidm-admin-pass.age new file mode 100644 index 0000000..2b229b2 --- /dev/null +++ b/secrets/kanidm-admin-pass.age @@ -0,0 +1,7 @@ +age-encryption.org/v1 +-> ssh-ed25519 84j9mw W4+Z4WjOyUl4mWPqVykNWRhf2/8qfVOSM7QCFPNMZTA +0ndQjslMwjQqguN25nBQtCchpCLhoD/vrxh1yNVeTNw +-> ssh-ed25519 GKhvwg H8XcFJDZTA3IzxmK6wbB+PVM2gCZ4ysAPjL5j0LgeE0 +kehTMRIVOZ5ubtO7w8WF+gU3sjYXMQtd5hH+wcv3uSE +--- 72ntrRbWq8pdkk/GrsVupTttfY9t+w3l+2KQbQyNn/I +iyd$vVl TK$4G[MI[#tz:r9~ESA6}׵ \ No newline at end of file diff --git a/secrets/kanidm-idm-admin-pass.age b/secrets/kanidm-idm-admin-pass.age new file mode 100644 index 0000000..0eac321 --- /dev/null +++ b/secrets/kanidm-idm-admin-pass.age @@ -0,0 +1,8 @@ +age-encryption.org/v1 +-> ssh-ed25519 84j9mw 8zYeVXx36dpC8TxMdoM1GdERoNNj902KwTF4h/r4inM +n3mYra0BeM4gWsZ7Roilu14o/GajX1iWw0fcy0q31yc +-> ssh-ed25519 GKhvwg cqd7YmVpbxqZxaVluHDZ8Yw0gNfJCKMmoWa4mEoXym8 +Gbcj+PJaqyPRRGX4olr7mmJ5IoEGlQaogYbj7i9E/98 +--- LoQPWI+m8s3NjalUh0+xdW54c8lgddBmhPoIiPbmR8I +Җ܉Y +9!42DVP9N]G;?ЉS ' \ No newline at end of file diff --git a/secrets/secrets.nix b/secrets/secrets.nix index 57943fa..552e4e3 100644 --- a/secrets/secrets.nix +++ b/secrets/secrets.nix @@ -97,4 +97,12 @@ in keys.system.ude keys.other.bootstrap ]; + "kanidm-admin-pass.age".publicKeys = [ + keys.system.kazuki + keys.other.bootstrap + ]; + "kanidm-idm-admin-pass.age".publicKeys = [ + keys.system.kazuki + keys.other.bootstrap + ]; } diff --git a/services/default.nix b/services/default.nix index 1837462..8cf5ccf 100644 --- a/services/default.nix +++ b/services/default.nix @@ -2,5 +2,6 @@ imports = [ ./attic.nix ./forgejo-runner.nix + ./kanidm.nix ]; } diff --git a/services/kanidm.nix b/services/kanidm.nix new file mode 100644 index 0000000..b288e14 --- /dev/null +++ b/services/kanidm.nix @@ -0,0 +1,85 @@ +{ + services.kanidm = + let + port = 8443; + domain = "auth.rabulinski.com"; + in + { + host = "kazuki"; + ports = [ port ]; + config = + { config, pkgs, ... }: + let + cert = config.security.acme.certs.${domain}; + in + { + age.secrets.rabulinski-com-cf = { + file = ../secrets/rabulinski-com-cf.age; + owner = config.services.nginx.user; + }; + age.secrets.kanidm-admin-pass = { + file = ../secrets/kanidm-admin-pass.age; + owner = "kanidm"; + }; + age.secrets.kanidm-idm-admin-pass = { + file = ../secrets/kanidm-idm-admin-pass.age; + owner = "kanidm"; + }; + + services.kanidm = { + enableServer = true; + package = pkgs.kanidmWithSecretProvisioning; + serverSettings = { + bindaddress = "127.0.0.1:${toString port}"; + inherit domain; + origin = "https://${domain}"; + trust_x_forward_for = true; + tls_chain = "${cert.directory}/fullchain.pem"; + tls_key = "${cert.directory}/key.pem"; + }; + provision = { + enable = true; + idmAdminPasswordFile = config.age.secrets.kanidm-idm-admin-pass.path; + adminPasswordFile = config.age.secrets.kanidm-admin-pass.path; + }; + }; + + systemd.services.kanidm.serviceConfig = { + SupplementaryGroups = [ cert.group ]; + }; + + users.users.nginx.extraGroups = [ "acme" ]; + networking.firewall.allowedTCPPorts = [ + 80 + 443 + ]; + + services.nginx = { + enable = true; + recommendedProxySettings = true; + recommendedGzipSettings = true; + recommendedOptimisation = true; + recommendedTlsSettings = true; + virtualHosts."auth.rabulinski.com" = { + forceSSL = true; + enableACME = true; + acmeRoot = null; + locations."/" = { + proxyPass = "https://localhost:${toString port}"; + proxyWebsockets = true; + extraConfig = '' + proxy_ssl_verify off; + proxy_ssl_name ${domain}; + ''; + }; + }; + }; + + security.acme.certs.${domain} = { + dnsProvider = "cloudflare"; + credentialsFile = config.age.secrets.rabulinski-com-cf.path; + reloadServices = [ "kanidm" ]; + }; + }; + }; +} From 1a62c97de423f662850044c0cab7e7c1adcac375 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikodem=20Rabuli=C5=84ski?= Date: Wed, 5 Feb 2025 16:28:31 +0100 Subject: [PATCH 02/14] services/forgejo: move from hosts/kazuki --- hosts/kazuki/default.nix | 1 - hosts/kazuki/forgejo.nix | 62 ------------------------------------ services/default.nix | 1 + services/forgejo.nix | 69 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 70 insertions(+), 63 deletions(-) delete mode 100644 hosts/kazuki/forgejo.nix create mode 100644 services/forgejo.nix diff --git a/hosts/kazuki/default.nix b/hosts/kazuki/default.nix index df92f1c..8464cb5 100644 --- a/hosts/kazuki/default.nix +++ b/hosts/kazuki/default.nix @@ -15,7 +15,6 @@ ./storage.nix ./ntfy.nix ./zitadel.nix - ./forgejo.nix ./prometheus.nix ]; diff --git a/hosts/kazuki/forgejo.nix b/hosts/kazuki/forgejo.nix deleted file mode 100644 index 9f200e2..0000000 --- a/hosts/kazuki/forgejo.nix +++ /dev/null @@ -1,62 +0,0 @@ -{ config, ... }: -{ - age.secrets.rab-lol-cf = { - file = ../../secrets/rab-lol-cf.age; - owner = config.services.nginx.user; - }; - - services.forgejo = { - enable = true; - settings = { - server = { - DOMAIN = "git.rab.lol"; - ROOT_URL = "https://git.rab.lol/"; - }; - oauth2_client = { - REGISTER_EMAIL_CONFIRM = false; - ENABLE_AUTO_REGISTRATION = true; - ACCOUNT_LINKING = "auto"; - UPDATE_AVATAR = true; - }; - service = { - DISABLE_REGISTRATION = false; - ALLOW_ONLY_INTERNAL_REGISTRATION = false; - ALLOW_ONLY_EXTERNAL_REGISTRATION = true; - }; - federation.ENABLED = true; - }; - repositoryRoot = "/storage-box/forgejo/repos"; - lfs = { - enable = true; - contentDir = "/storage-box/forgejo/lfs"; - }; - }; - - services.nginx = { - enable = true; - recommendedProxySettings = true; - recommendedGzipSettings = true; - recommendedOptimisation = true; - recommendedTlsSettings = true; - virtualHosts."git.rab.lol" = { - forceSSL = true; - enableACME = true; - acmeRoot = null; - locations."/" = { - proxyPass = "http://127.0.0.1:3000"; - extraConfig = '' - proxy_set_header Connection $http_connection; - proxy_set_header Upgrade $http_upgrade; - ''; - }; - }; - }; - - users.users.nginx.extraGroups = [ "acme" ]; - security.acme.acceptTerms = true; - security.acme.certs."git.rab.lol" = { - dnsProvider = "cloudflare"; - credentialsFile = config.age.secrets.rab-lol-cf.path; - email = "nikodem@rabulinski.com"; - }; -} diff --git a/services/default.nix b/services/default.nix index 8cf5ccf..6da3b28 100644 --- a/services/default.nix +++ b/services/default.nix @@ -3,5 +3,6 @@ ./attic.nix ./forgejo-runner.nix ./kanidm.nix + ./forgejo.nix ]; } diff --git a/services/forgejo.nix b/services/forgejo.nix new file mode 100644 index 0000000..2f69a55 --- /dev/null +++ b/services/forgejo.nix @@ -0,0 +1,69 @@ +{ + services.forgejo = { + host = "kazuki"; + ports = [ 3000 ]; + config = + { config, ... }: + { + age.secrets.rab-lol-cf = { + file = ../secrets/rab-lol-cf.age; + owner = config.services.nginx.user; + }; + + services.forgejo = { + enable = true; + settings = { + server = { + DOMAIN = "git.rab.lol"; + ROOT_URL = "https://git.rab.lol/"; + }; + oauth2_client = { + REGISTER_EMAIL_CONFIRM = false; + ENABLE_AUTO_REGISTRATION = true; + ACCOUNT_LINKING = "auto"; + UPDATE_AVATAR = true; + }; + service = { + DISABLE_REGISTRATION = false; + ALLOW_ONLY_INTERNAL_REGISTRATION = false; + ALLOW_ONLY_EXTERNAL_REGISTRATION = true; + }; + federation.ENABLED = true; + }; + repositoryRoot = "/storage-box/forgejo/repos"; + lfs = { + enable = true; + contentDir = "/storage-box/forgejo/lfs"; + }; + }; + + services.nginx = { + enable = true; + recommendedProxySettings = true; + recommendedGzipSettings = true; + recommendedOptimisation = true; + recommendedTlsSettings = true; + virtualHosts."git.rab.lol" = { + forceSSL = true; + enableACME = true; + acmeRoot = null; + locations."/" = { + proxyPass = "http://127.0.0.1:3000"; + extraConfig = '' + proxy_set_header Connection $http_connection; + proxy_set_header Upgrade $http_upgrade; + ''; + }; + }; + }; + + users.users.nginx.extraGroups = [ "acme" ]; + security.acme.acceptTerms = true; + security.acme.certs."git.rab.lol" = { + dnsProvider = "cloudflare"; + credentialsFile = config.age.secrets.rab-lol-cf.path; + email = "nikodem@rabulinski.com"; + }; + }; + }; +} From ae66e9fd21f49e75ddbb120be62e34a965578a70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikodem=20Rabuli=C5=84ski?= Date: Tue, 4 Mar 2025 13:47:56 +0100 Subject: [PATCH 03/14] modules/system/containers: enable nat for container interfaces --- modules/system/containers.nix | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/modules/system/containers.nix b/modules/system/containers.nix index a0942f9..26e7e7e 100644 --- a/modules/system/containers.nix +++ b/modules/system/containers.nix @@ -85,6 +85,12 @@ let services.openssh.hostKeys = [ ]; system.stateVersion = lib.mkDefault config.system.stateVersion; + + networking.useHostResolvConf = false; + networking.nameservers = [ + "1.1.1.1" + "1.0.0.1" + ]; }; bindMounts = { @@ -95,6 +101,11 @@ let privateNetwork = lib.mkForce true; } ) config.settei.containers; + + networking.nat = lib.mkIf (config.settei.containers != { }) { + enable = true; + internalInterfaces = [ "ve-+" ]; + }; }; darwinConfig = lib.optionalAttrs (!isLinux) { From 9169f05ff54ca777d7fb9141ed5d7582b9767fdd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikodem=20Rabuli=C5=84ski?= Date: Sat, 22 Mar 2025 00:30:42 +0100 Subject: [PATCH 04/14] services/forgejo: forgejo but make it COOL --- assets/forgejo-favicon.png | Bin 0 -> 27835 bytes assets/forgejo-logo.png | Bin 0 -> 35755 bytes flake.nix | 3 +++ services/forgejo.nix | 13 +++++++++++++ 4 files changed, 16 insertions(+) create mode 100644 assets/forgejo-favicon.png create mode 100644 assets/forgejo-logo.png diff --git a/assets/forgejo-favicon.png b/assets/forgejo-favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..27d4f64369874322dafa88d26aed66f88d82fc81 GIT binary patch literal 27835 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

kMZIq%FIXdisWS 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 Date: Sat, 22 Mar 2025 00:31:15 +0100 Subject: [PATCH 05/14] services/forgejo: use latest instead of lts --- services/forgejo.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/services/forgejo.nix b/services/forgejo.nix index f9082f4..eb8e4d4 100644 --- a/services/forgejo.nix +++ b/services/forgejo.nix @@ -3,7 +3,7 @@ host = "kazuki"; ports = [ 3000 ]; config = - { config, ... }: + { config, pkgs, ... }: { age.secrets.rab-lol-cf = { file = ../secrets/rab-lol-cf.age; @@ -12,6 +12,7 @@ services.forgejo = { enable = true; + package = pkgs.forgejo; settings = { server = { DOMAIN = "git.rab.lol"; From 9b58ee55bcfafd301628a04fce769dcffadfb66a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikodem=20Rabuli=C5=84ski?= Date: Sat, 22 Mar 2025 00:31:30 +0100 Subject: [PATCH 06/14] services/forgejo: enable git hooks --- services/forgejo.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/services/forgejo.nix b/services/forgejo.nix index eb8e4d4..3c72738 100644 --- a/services/forgejo.nix +++ b/services/forgejo.nix @@ -18,6 +18,9 @@ DOMAIN = "git.rab.lol"; ROOT_URL = "https://git.rab.lol/"; }; + security = { + DISABLE_GIT_HOOKS = false; + }; oauth2_client = { REGISTER_EMAIL_CONFIRM = false; ENABLE_AUTO_REGISTRATION = true; From 21f781a55af394b4b2e04d10d0b3f7bee2275993 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikodem=20Rabuli=C5=84ski?= Date: Sat, 22 Mar 2025 00:53:16 +0100 Subject: [PATCH 07/14] fixup! services/forgejo: forgejo but make it COOL --- assets/forgejo-favicon.png | Bin 27835 -> 0 bytes assets/forgejo-logo.png | Bin 35755 -> 0 bytes assets/forgejo/apple-touch-icon.png | Bin 0 -> 8193 bytes assets/forgejo/avatar_default.png | Bin 0 -> 9082 bytes assets/forgejo/favicon.png | Bin 0 -> 8186 bytes assets/forgejo/favicon.svg | 1 + assets/forgejo/logo.png | Bin 0 -> 27336 bytes assets/forgejo/logo.svg | 1 + services/forgejo.nix | 8 ++++---- 9 files changed, 6 insertions(+), 4 deletions(-) delete mode 100644 assets/forgejo-favicon.png delete mode 100644 assets/forgejo-logo.png create mode 100644 assets/forgejo/apple-touch-icon.png create mode 100644 assets/forgejo/avatar_default.png create mode 100644 assets/forgejo/favicon.png create mode 100644 assets/forgejo/favicon.svg create mode 100644 assets/forgejo/logo.png create mode 100644 assets/forgejo/logo.svg diff --git a/assets/forgejo-favicon.png b/assets/forgejo-favicon.png deleted file mode 100644 index 27d4f64369874322dafa88d26aed66f88d82fc81..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27835 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

kMZIq%FIXdisWS zvfI{8AG-Axz2AO+*Pofe@Asd7c>lkgdu3(sbH1#5bN<=?^YB>nFs{ytga7x&tX+=&!02z?%H~B+JopuMvyh{b{M`85_phh?hq{5J0Y|1>C|)V ztF+YbSGLPrl{|Q`xc}OWhA9scs&wPeJ=j~V%Ev2SWB3gK(o>7 z_x)NGc=c$;=@pf8B|SAHe)z;!+)SOmvnn7>DmqW^=j-d?`XM5d-tT;V=zr+jGNbwR z^W?3|pIs34e^3y&_S=5@tc@3b=GQ--QdFP{a#KN0JW-*`ZPOJL$>)yVGzC`VeCnqMl zxVinZm~w0G-7P0quF)}`eD?0HjkzxZy6XPze73emv~|htyyOe>Y?qvwrFz?r<1%Qe z=%3f|{~x`%x%tVHCk0=xh6gXWExJXs!^68c&QnpNWqJ^X<<;hf8at z&C|}$%MCH*{BXz4imm4FdRvLy*YC2ry1P3+98SIP{oncj6MkO}Fa7W6s#y3c8(Psgr)lmj&umt&1^XEw|&O{g%LU` zcPrI%-|gRj@{2n6|L=#m^(|BvOqd{0WqN68x|A0ur{cd^*&W{xtkP**61h3;%v|f~ zo|DyHuKvaFoq2ur<6Zl5I7?ahUT}AJb^Y0-&9|W9cUf7FWbo@k$B7e{*!?vre0)sO zuS2-^_AJxvh^<+o!fHMVH#Q`uwFj&3+_`hfvSmR_ZVNp*$Sz-Es^w*p$k*N+xY%uD z+F7aEtCCwf*T~&}a%Q?`hI&Bmp5*0zb8qag-_P&7V)q^W{VI>oSqGM`eyerx;1T~h z9-nN#3*6gTy!YBf;eTiIwio~Xdj0czt?H{TuC5pN)mE$d&pUIs{J!s=`P(bpdn684 z-Q_s{;6Z|sv9YJ0pP8oC!}DeD@A*c}x;*RB0^NeD?aS9cU#)V5>BQ=?L{~*^?d~N@ zRODL&>c9P|@#2?Vq+~sN!i@+gAt4T5FQXWNK$bS+^m7JDM>y*Kehr^~JVHlo(&Wi6 zudWt1PCu8@BfT~)e%I@DyJy(f?+gBU+28)G@p+razZ+Z@8)jeA0nL!r7E0c#njblD z&$RWEF32Q=U2W><;OOe^t}UrlyaQUzzi!tnt>w=(ws!XPEOBn<1GSFslwObBvOZPU zIDeL5G8?y;PQfk9E#A}hmMmXxUNKul@W!XlpFKT2AI|xFWwL(bYG00(j+#MRf!E6BY^V&T4z$E33y9UJ{0oj-Xpu$@OT zNn-NRq`>XDx1UY6aCvN=f6r#|_ldF+FHW*N?4CB^veQyUMa7U8-<}H|@|ikys?U78 zx#jn3udn>dARs5_7ZM_}+;8rx>pw+Z7v|pHR`Tjf=j!$QW@WG6JMGGqD{XDHj-H;J zo72xf+xz`qu~f?kdHK2@ispAqCLdp?$rN2#X_=XsDPvO+5Wkg`UtKBxcAwsCzu9JI z->B#xVRi453H<%-?dwgUm)FHwm)_r3o0XcnwCceD#?p(6TwmSTm>k-D^wNTBL7+1j zw&%x}URvV$3Un;YzaNkLvnnfh-Y%SPRqFNk_x=Ct;tG$7ZryedGz6*tkGsoZYtBuh z#os40&v>ws<>A|D6D~KfbRPwsI~W)k7`JbWz*f*O<&N+7s$6Cr2kRFwn)tC1Gn+ph)YfQ(j))-j>zhbe8+i zS2H)izTs-v)T2oc|9-zeU2MXN>8DP4>Fs`FWM;WuZZmtqJ<}`vy{^+;7cW|L#_yfe z3RP8A(9lX&&RLsJCzP{XU0b7{7hA|=rKK&~Rq-+D>$2H-pH37nZQEy6{%*~(<;$yo z#s{(NlCS%5@M`rNv-8V&&fjj-`yd`yaqvxj@WXbqoEr;3>#Tb_I|GmR%dej{b!z3? zDDCidA-A{XzW#LD+Qud(c27lN^SZ>%H?Ms8Qu6hz`TdaNJ(7#r*x7&U{A_7$U8%qS z&!(uDm^TaS4KGfyl;JD=^W&r2`>oFNJcRDO>FZ`&^|g?Nm9_BQ9ZRR#7r3?_vR$}v z;Z?TPOO`F$lyz0hs{GxXjoB&b>BaYJzi%vg86>moUFz9creEcrJn(AgldX8MuzknJW7534`CC_j4ivh0xgvk*%Z7(S zciw$U6MEH_SAAo}3XOB~Y+oPs?mBiVX`_YheGWdpXE)R5r+#~LlZDmtZR3k=n>HE6 zRXk*ktN&Zd#myZnXI}iw=ii^__P=xZ&YqmCesg!ZK0BXG!tZZyLEG!@?k+EWc1Ci0 z-M-M(VW3WU;9@t>+%ssmsOz^CLUBc(&zgUJ*e?I7yPx5$bWvQs+CuThOR$w(D`}@WT-Er-P-e(d#APpH7pM0PD)BTasK@GOHW-CDnA|- zul)6L`NrFCA}nWQZFuY{q=}vLEPfXJyTnLG1`ag zzPPzr-MakUmrGAw7TnyPFVAoDfnjy{`gNsF%dBUaW*_U3G_H8F@i=I$DZ7%$qRgU= zSDU$boVUBow%%hps=^`wTDj0NxR?v}2duYINXd1(IDmS;@gLv$lHrEp%4EuTAGPn{{&&5aGT zdVO{HdNo_yyHAVdS6}t&m$L<(5_~%u0^o_!iLFTX8Ea(?Z%NZ;l&pBiuM znsYnaGlPHEM4@>VJ9JtE(uyr)bfUI&yu7^J`mK#s>8lXX@xqgpKF`^-$!J^t{d329 zrGGx^*1xeObMo%{57QfG?26Ie5hr-4Iu9S?jVZB{wc^*s$THa~sc2 zeu?*sFJwI_usCt@0 zpETj}nk%KRubqrhRCHN9aqir+@9Y0p->Z7Pb{5}eW_hM^(8eyN*NyKDW@x|Ub#--p z^8ESa*|WX<{P^7a<(^KDuT!+Oott}mo2BjMEC%Tf;<-kz>>KCXlqThy%Caxu-jscP z-J6@6k9$wgp3&9C)z#GnIwtnp{mJV7MNdu$o;rPc=eJwgk`@IDU5~!6%~f<^o-$<$ zXvd3O&4+`xqIlXHts6>1xkE#HS;}NA3Klr0rKu?@Dn_ggTN9?OsHn)o%9^+_VpXpH zqE%Xa?aZ^!w%yG;p0+tKF3vA95_ECLlV{H+O`Yl*7Iv+5+S!B6?3%i|Uys={I;h^d zl)d}nyw5spHq$Py`gF}a%V-y;ch@3NC&;Zw;^2WsW=~&VRWq|`GiFFETD;iSY~Q_y z1p!e}UYVJi&(F;T9XKc=E?)fZj^(G%pDoMYNVxaOC>k42K6A#WPsY+IZr){O9cN}X zo(H|=_Yw{?Fiz@e;V>xMJr|T&Yk!r1?)AC6F!jLf1I`(zuUcf@+w*hDqD70UbYEmn zD%!GSv-}Sx-IqJQAHCsl@0VI`+qVs;-mZKVwtDKdwb7I3%<+L%*Y57gTcbF6d5pN6X5E>@>hr*p1m%7ecYMZ=AiT2PJAduLTgPYcbiQ}VE&+ct9Wiz@BVLW`Tvx^I!G@__$Gho^`yy@E1%CT-|^*=Hzzl@ zv9*k%3vWoMsz^*RJ$$q6 zTGH*tgL8cAAHQWOl>ESTL8!y|^|H_AQ!{G!EX~N@aq08=$p;v>$R_18?g~7;KRhHv z0e%4JaXhp=A{h+hfd4zu~&b4^Kf4EJJ2T1t+ILUuNUp&T&o%w&Q+joAet*F zt$i!w$%4{`|0Uw^c@Pq6eYC}qE98)QC5+P-omG6r z*)qT0l-cS0eyKx!*VacC{tNA!mT>CgzZo;1$G2aQJ0RCF9w-x!$|W-mc<3 zDdJRd9dt#-_B`40dzI=pZ{FN0yKd3lDfb%9&b$BU*sr?q*b?RsoENw`R=$1k;zfqt zj|a?c{PKPwAyck53olxE>g379e}8_0dYA9k@GMy5t3I=F8*A?eLr*7O@$PMLmkRE@ z@Cy-XeR+BL=Qo?rPnt19!+B5Z2Zq^ak1cd=-|_q1ZqUx7yFUd*E!ggG*1SD?!{zJ~ z=?le&8ul-=J<(J0oc+<`$3H(D=9e@|;g~ov?{9~|qAt+cpq0;M=hb}jEDz@|Sm1kV z59g1As}FK+_YnGI!@5KEhj!_W@Z>`+oO^ygo4qCHX3#uY&cNnNmx4fhQQz(P>}O%Gp+h z$eQQPS*6i+d%pA*z3oW}yVl!1SoH6S+3oLa%&RZVlis;^TZoqzSN{ILX4B*AcIpVK zFipFgr*3OI_xHQq{qyTqea>T?no)hn$4$CKp=CuQ(;wEi&B4=m+n5>}2L1&dc6;iS z*XI1N)(nC6!wYY{Eh{}Y$13TRN-(!Q+p*9Xn6MaPaF zUCAw`6Y#cd_s#q2PCJf1ELag=_j760$D`t_#k!a7>vU)R*SIZWg}@=_rpAjI+=AC$ zGG}g#xN_k_z}JWE@?q!a*=B$H-XkC$5*D_~dzwyQJD=>Tww4wXlaDn_Di8MGR^bp7 z5ZO}cZoKkw0^7Om6Am3ZbS3d{+e&G(9E0E19wvtD{Bj}bXJ;){Q&U^DaN$B;Un{L! zDIZks$RujDe9+;(AXCAz_Wka2@=2?&t~z%7`09T9e>-MPpPv4$dv#Tg#_EY4j|30(vn=#&*ejp=@tRfr0a4dLWhJF6=jK|k2F;X4#l+-% z`#wG6iCNyA7oA5oGfFgW%h*`5mGdG8%fh>wes0l!x5vr~-Lizm*^v)yg?e(&Cl?l!drrMBH_UTr33eh)LG+5UBybucPOz2LK9kMXqq zzfG*Wb;SyesI6H?w`5+PVOML_+1WX-Ba&qWsEn`r@?sWW;Kgn3Kh!_)7Kr7#2PnEI zmvG;j=cRS)%m=3}tdjQ3Y76g%wlTkLRBw=xy5PG=qwCh5%HplLx3|5zvNHJURPFFn ze^df{@8*Te*L*n0{eI?^D1jOj zc5^l+A1``3HC#w2=yhGa(gsn+$)c{2sbva>>^+6DYPK!NHGIeU^m%+@#_i?RQ;sGr zbnO;9a_rcpjmhqA{c>kNJUsmJ`uh3H^;Q4OX8z$2IOX;kK9?Wzo=&~z=N^boW4|a6 zy8H8_$&)1wlUNS7^QS*J(0HkcE2p}Vv1^gYY}t+v@{?Mmu>XsC3<__ z)7$y`mo8d#XwC^Kk3f+{ix+oxcPpEjO*=Q&+PLCF!m&PC?{+@fGkpFP$1ERg?^^Vy z;oBY~nFx+ODOn*-9acA+^F(e-=kHm#YSpS+Ic8sPY)pRj?Ck8TJBy#MdVIV;Tv=J! z)^O&9E7$*izn}j}!r-Ci)2C1Q=1gDwYwdA6*+qd9rv*IzV*Oz1DppQTP8s{UI~%M| zKP)Kt^(E79j>W-;hub6f*V%%$?e72gOPjC#aJZp)L|K^`CnslGyQ0*J4I3uBc#%=N zv1^-M%(nN+LTQs!u2@7i#%$^RsCQ#Wp|W#3U+Hg^r%#{Gu`2BXHJyHZNCY)IudR*t z^!H!B;>7F|4Q$?)EmJ;xC|JBoMnN+7t;Izb5236**B0?^-1p$qY5nxK zx3==yZCthL$KYm+mR}dW2RgdzbG!YYgDYMYKd{;|ZDIzK3a4qDZKLdqe{I%fZ$OLe;`VM>wMs-x zY|{Ms{*I1}tgNhaY^$d=H8E}4y!qt0bI;DqG!}ow#m%j$skv~=mMNb;73FOEfA2+< zj#yJu69+f<;>gWuE$!{XqN1)PB_?NQo2y${&DvM{8`NDD7E|-?VdZK+?D+lN-IFIy z7_5@x*ZE%PaY$uSi`4eJ4%=6;CLixh{aN($57+74K z%R3+US#OAVBIo>L`;;jnpy=F|d;3eM?nSXzcOU#-(W38J9`o2-toh&Pe!E{CD}$HM z66g~sojzm6iIeG#uE$J=)wY;E)%#<6`qU|lx<3|^)qIWgwG{7M*;84Zl$`wY(`o&= zt1g)3l&lhHbc}Lpd@TE*toGp|*X|icsa@|E3oerT_3iEHZ*On+uKLC7$KU7jSlv^j zpk?9Lx$5D%pv%pEe|uZ<=ElW2D_T}GKYEn(=<#Ds{qkGv?|E(=>)E7R(J=90aN}a0 z9n87uSGl{oyJy-|8a+REGClmq{u3uW?$!UV6*>CypM~5H zYhC(EeQqgo_+Go$p z;h?6(pMT%?f3J0Mx)NAfX<1lU=%)K4XUoN+OI!E_E(vkjXx;Kybo)YX&Gx*zR-iQ% z_xIKMa{6$Tv$C^aUg|AAO($|u{55r<+}$5apSh^n_(nN3W;1P&Sh4NkgriA`A0Hi! zseZflnTx86ERVEVkMC?V$*Ur_Dvh;Lnd>gnWck=4LbDNu+LC48UnCH#04CH*c zY|KGyB4|2T~DRFFY*x@N)V5OS{YSca^=(@=I~r zp{SzLvSWuu*qVri>$5mhm|oiPdsR%?(lV>fwc&D4sB0kT06x&|roJ4W9N)jbyE}WX zb@{7qSqJGYOKV+}RX?}PYFjCxQ?zQ8*7mz)()xS92=TQaZrRXMa6UY~)-@wz#l9O% ze`J5kWnWohz3$}?iQJcy^?r4kW?!2yb?VU-fr~l#rs>AC{0AlG^mB6(KR-MBYgJxG z^j-OnwIPRumsqdM47{-GnVNKHT+vBYo!DJd!q!IpG}BVNGiB1GLmwX>|9W)Or7~r; zvp1Hxx>lQ+y#Mom-LrQ2x&`k2a(}*D_P68r;V9RM*)d^(!g9VjDhX|z4>|ZJyxXxX zlQn_8ZSihFOB@o~J7$EfjgmYo`-@?RXmi-U5Ah(?wOwZI z8mCu)7GHyg<1#KPEtb`9HE>NyQ87+GXR>OSWbVY^iya=`9tj5 zB-Kk=LUo6aDzwhcSnTk2U%$td_L3jm7wk5?XH-3~wBfSF+sDWIKfhYNUPwyH>;J#M zoSd8&<&|3eOW)j>=-MszvRn9KSm2GoVe4W%|Nr~D zF=B~(_zX}5m2-2GYy6!4Z~vw$-tKLvY3A5ln<4%9FY^XT*@9phs z9GGF4+_NfWn5h3`sdsB{a+&koI<{yRG%*(C$~)8xSA>sx}X|@qVriak}CV8fsPk?##hv_OGGx%;vKMCaq}Q($X@qEF-qSk5j|Q zXc99!AE*m|-(A&3SHx9OORGzN-w&twscbrIMK$tMS9ES^X^AtswJX~1w)K{ro0EEa zc%rssJp8?)rC{=^RVA;l_4f4e)Lw1R(9Y$ySJG7s4E0Vh7g)RA!_zbI{=Qllck58j zhv6cwib_g{R+wH9&aM7!yszJDhmx-1NBOfCgaWE-UEBF&Z|p2q7Zen<>yPrY)YQ?=#>1D!Ovz$~Sj*PCnsr_-uIV2k)*$0#Z_- z0i~~@wGHJBPWRnadpx{78qE5WX6-XjRc)PXT`nY?Y~d8mu|F&_((`zqtYy)Yj(xB6 z4=Ag(sPK4rd)RRP@r##`miDfyveJ#-W}>K~D0MDrV?bcwLG$}Hi`T#6-{Z*J{fX=T z#AyMS%S1Qu-1S?Pn3$Mzds}bb-CZ+D3uUd=Bxycs` zeY;sBc(<&Ik`NLCT`=O|=Vzv_rMPE}Yqwa<|G(eexM#a9SgWb-qja~>_w;26ACI}l z>3o@)nQAS{E${!lEB7-NWLW1KZ5TJhW!K|beIW_r0&!bEbZM_k`1jglPen zH%Mf}ZdK6L?Jd7o+5RA5=6dy6eHShSe0zWY{I|EazlH{8{O0A9pFAz#!EU)1%k}3N zr}HgbxDe!vo$vPluUq`+K7*zmpR0oB3e6wQ`x36K2<(x3e8pPbW%7mf@%F#I7VpyM zW?ME}z;Cj;r^bd}#;TXx^Xvar3OflNs^1ae|1K@%$cFPL?JE*)Gw`gA0v*u4IJaL~ zM_<3cr-#SL$mquQeED`hStWJ#cF-+>Z#JK=`cvg(;^OGYc=F^)x7R0Q`D$MO?wF-l zsU^E(7nAds*3IeX*Ihs9<>hta%$X+_7CM7&)&dQY$=RNIc(~oN=7&LLWo4WF_OiE8 zn>KBV*pT43cb#^N`H>?>3<@8)fJSR;ugZD|ebUV2WL?*KKsOY0j?>1b&w zX=}ee^!mrg$8#(So7Sw+>65iSc5$)$$&)8nmMd)BxbexeXV-o|Z~f2~x;m`zYH0Y& zZte@)EGP25uW^|akif;ZsWEGF!0~>0e^4$eeRZYvdZ)0uhK|mcEQ7bVw?F^z@NnGT zHi6R6$VkuKWp7WMI&~@hF4vxXCl4o-&DqsMXHOk-tGM!$KS5h^8CxYyR+Zj-MzW``@2;~ z6EhBP{h#L-;@iEYh3Rt5o%t2%&fW&gSMTv-aBn#CdA+kkrtWh|hCd-&7esDO6A=|X z$#wV8`oACh>z}M#KJSwFdggToigVQ5L1Do3ug%Q;h0KKVf2Bee>#FCvWxq7JqLmPG zwdvvE_RV#FtN7CBxT)8}0G6cU?+OnbXar|)IJUTSh}xovF0Qd6)7#2 ziop0E2blS11Pg}WXJBBt@9E+gBG4u9wfL;*bqUeb84D-#Y8%#sFg@lAooI7Wx zDWmwxKQvTGSh!d0wJcXnzLSSUd`?#VlA7Zsj9eHwHF->)QYqxcirOH@@}B{%F_Q2YDakt0XIR-|4KV#*EL z1~%R9-8FHaITjatELuM7sQdd%5Y$S@<6bgD!0*81cNT%+h6iqka*Mbo-rSVxCLg0H zCEI=U5UBq!?Sm!Xp9CilM&Br>MeBaO3Lt})XulG?2cku zzFI6|ZJ3w0_r{1Pac(U0il3hol$2blug5-%an*ZeE}u_t74JMPiN3KiSl!b>DZ$mn z<-+#-_}W5^TW;ltoS#U$>^Pmdc!8qxlg%1Tw?)Ha5<_gxT`y!Y@^m^B>-V`iZ~xyi z;X?w4%46W^#tx8|D zEIP46Oz=jG&37M1w$jQT6~%{rg1?#;I=9afXcO2cDkbH$zs~QpYSctM%l?TfDt8Ry z;tf)}E-Nc3GF|%c@NjPzue(miuE{DYS(6z;UQ6`%^h|l~xag#W!GTPE_X&x&Khm``&C$+fv1~qo9Vm*2Cq>H=zY>_^JXD{yW-yirC096 zpi7l57CNz*h~Kv2`Bo~^=rL)+iq6aG=a04rb~IdD*84DFM@sy0!44J9&RG^`TO}+n zWzK05U|b)%I?U~;-(pdhyC;9S9};D?aGuIPYmvs2r%wfig_Gk#oMwP}56{lde%;O8 zAg0zL9I!-HCC1aKeEIYlGc-6oOgtw}oanZ8VTQt;mI9_O6~%{M>a~uyw{2?Lo3X3v z%Zr8jK@2l@-gTJN(xNT47O+4j2IZ?Pk6dGhEy=VnZdX`DNx|} zYOdIIN+McZtN|?!UnQ9sn;1mD$}%xAdATfVSkt25vdTr;Ra?RP8El>fpwiOkJz7DSfp@xzF7Z*VNaaC2p6mC z(jdmeCl0oA+uQaz8Gg%u=qEVDO;8 z;(`C9lPb0On{RH2T6@6Y@IwK+`Tn1pX2ohv{k2y5`|sLUH>7&m7GLy;Tj;z{KvqYt z|FPur&yscf=Vvt?RCqh{ddlv*LDxf9UwzX2G2tbKEm=&B4K+^sV%)o2FGU#6 z^!Xrm`l(RZ>aQPr4A!&sF8%Vp^=6J5yN{Z1*HNXX_Z#Ah14UNuyO?o8xx{L2-JLDp zC3x5_yetWc*AO|dhwbxE8T*^2%zUlQ3SG=jE-#&@Fa>f>SS7;3$f6Y3pw;0bs3^e7 z)TH3x;KK5NV@ilf0E6p{&uq*Oc9or<`d9G6yMH&gZ#MpHCd2o6pR$p7x9hvEzb#dJ z&pl>pWH_=u{(|20ZgH7jw=cp4ULWhbk2@LhD!!qt zcg~Z%?cVRZ8QVGzKYXzFOV!><+N+a{W+vp7oLXT1v}xMp8yO}qL@)FmENxQzRbr)j zxVq44uEta^NA5lSFT4)C4CXarntisd^nt}{Q4=o9E%6gB=WLIzni{wMxO~@f--@QJ z3hoC2-tjjdf6TbQJICyF_Eay`txfMrtR6jBu_!>JV}8Be{Fnce99WJOv$2@`Ntkjs z&-@b4yeVCp&BvOw98U}HKbYXKs=`K2r2FU+qhqrt)VDL58~r+YL;cB_`k88r4otDB z-59Y#@Jrg}i8Y>Iot1aE=WU<;{CtX$zxZsnzk-+YwtxP|((HKaZP}OWOD<=|?Z29} zQm|zA-DjMOFRs|e@u0+tGkePE)L&`uc@$RtY|`LUVF?J)(CXk~6lHK)%Hrk1sQEF!Cty{NLKKls2 z;aL^?;KwQB3@v+|EBEi`Pi62_uV24wm(}aCl?E@K2di@$vD$3acDTGSDJGJQ_xcGZ zYisK;O^+Fe&Zf3|$VmqHg@uL|-k(_2rBuvzFQo;_!5 zl`@Yy?9rN$krJJoyEem8egT_cORlQ4iTK-)?cZL%UY+$TDDEiNGv^K4Se}0V{MoJM zWUYjR#Dddp)4kUIsONj+f9lZxW1P|_Pd|UYe6!)_FJHEFIwrAy;IwO(!P?DFNwKiRg(%$glB$+39jDUH}}`St78b-WdxIrsYY>*;HD@7*iw z8Ta$Yj|>Cnj{BjL`}dp6H-2$y?)Eaw=yXi5oRj-Ea5H1^ z*CZynsjrs_T8P~e)IVny86Tf-^scRqZSi4d{dmm{-YXtXnQ$Upq4&bO@JWt`)jZZc z*Z2|C&|_tGQRK6;iLdE97am>x-h*5-JsjNK+$6Xs{>Wf_D#yd|Nm59&(AHJj#C*PP z(8eXNpGNU8AGWiw*ihtXbe#LptP8E44NQW%|0jtQeEIh6(b>r_j1>1h&tIVVEiRky z_R*~$dTuaw8)c}uXw^NN9>cE4F5VF+FDo0l^Tmr72J7nU>+K7VJ$&@2X_}d&nPS`; z+p5i*H&5cv;F*42VgBX4i|iDd_14|tz5j|kLE1#T>E@NE4Vm_9Os%Z4rZU}|X_@!Q zPGv&st8kA1(^+OK)KV@kd;k9ZQOPYWcSZPWn4VUqe%!zrc<_k)+Tct_F{uyBmZ_b+ z+jjKfe`VDrZ{NN>W~CwS+*EQg!@A2TV^cvL#)mW>EmAMnT4`@)TeNMSp+1ZL zTs1j4xiuR%243!Z@%#6E@sICgo<3L*+im5N*xdHwdAnq^0F%b|uH|W`^``2F?b)__ zcXnnoTWW@_r=8}NCy$_be9XUEHD| zHQ()$N2>93F;`wmMd>g1?#0zLx4oJuCo$L2;lZO$XK%g#i;9>1?Y{3^_LA!Y^J`U6 zVdsY~GP?K8IYn)4ZI4!F*jeb8HLy!cc_@APsAO{QXx_;Uyo)YKbU)?#aLz`%wL@jS z*Ngv(#uapVpL=0X;;}88TE(@tE;=YDFF$?4e4FMaGZiNvS+jEWc?0UtNqWnzo0T&bHZO}$3-aFFYqheh6y9q3D9k=P)xD;^{<4I(_g=>9R+VC6Vovkpl?288H1<1s zU-4&?H44Z)7@=`-@tQO1S{l}LD9H@5Q61**@do!jueqxRdul()abW3OKR zeD3qscVBI?@9q4z_0`}xN4<{vUR(QT{r{s0g>#fs-Mbt%x|$y^Y{F827@w;X+eG}9k=nE@7`7gKK!{xy`yMjj&Tg*0fwC$8I63v*}`8e*-8ROop zZywFd26iJN3j;OL?C5rfV6^eV!o}7mpkEMc-30bxS0~RBJqbeW?j{Kd^$tm z_q-U>aMf))1KC$;ZPk4KTFrm%0(*(?w-1@zT5vY&o8#0?sSK&P+D1#gcFBHvy-DWQ zPtVUr2~U%B(|gJuJSaEL&|Y^wv)SqHo_D)muQ~Q>3Emv=?l0BTW%ehG`UPGwo z>eGN%Z>w+nDW$8qW#6f2=9{H5bFIsw<-F30b@ulb)M}&&stMV)I7MW%^qXfK(z08V zZ8h4lrB2Yn0nHU^~q!2Sy_Ae*GF$(=c!WFaY5GQyhQ#5 zf18gj{N~r=>uV>!P~PMvQ8Q--w=kP+oUHA{7vgMHae}9hNo@&CJLu-E@{7%B+M8fT zfn!o8OTWLE>g^V_D8EDE{j})3nP(Q9jCB=npSRm(k^hb#kGgNFeY%;##(R-v)n3(! zFStLXd@#SEmi1u?Tke6B_q%2Zck}^>f#3Gag#!tPT^9NO``l}O@5X^6 zY_hLBr38g-oy)2&Ys@*fz;sGmLNfoeP<5fSl`TBdzvrA=plB7&u}Vj(^GNOYyXFQ{ zbF!M_c9*Rc&d|vf>vVCNeKm9WTrp*hG^325|9%dCY9?xZ=wu1Id*H*enLM|m3r}e- zw-8)`4>Yl2|RQZpH?wH2qyUQBrc{T*t{w1)GY`+m=WEPCt^~lOOP^{_|P$wN864KVJOs zSjP4B@%@~c_qb2COcdf>C@y<@>wMMrv`yk)S1g}jcWae-!3Fm3k@k;UFWh{WekACT z7F&+q&a|vgd~q^XlCr!j`4fL-+{#P8z!KV2y~?*<@PqjcJxQ5=tKXjA;5v8zHjm)7 zJd8?Kd8tNBGrCqx?YeV7G(5)fcjRY%OQuaMOgveOy``P^$0cmy^vfos(vT@h_4RybX7p*4uriOZb@S6i*tPUVc+>RF?1eVJD)7q{jHU6HXff<`S@YG{I}gZ&HhcRV#`fcS-JGW zruzT?u1$`ezU$_sr!BEOD*cUbQ)F4eL@6o-ab=J4z>Z(%@ zWBy#0J1{No=`5D2U?y|BGUi1c#dE`+eJ`5%!F<6iM`xZ#Pnx%eGJOrI@Z3}C-X|kD zp`2^w+T7dQOfM@~+%e^U=gaR9w&v8=89z+97s(~+J+L{@x~0MB#RZM^c^7!jxPDyD zsuBBOUiG_=);ko8H*d(2vlY1Y(EZxY$|!-e`~Ls?-C;h9-~P{r({YY@Zao|MVrS&> zNU?FW%Uk?!WbQ>iNE2y<+O9U1FtW6n52-sb;_KE>q?nR`OaKjkof!CTd(rBllt#=e1WdBuakQY+Ac0H@%|g zz=3zOMW@HtRhBlJ1tlGH;9FJY>+wlfK*X>6mQV1BkV@Nh=WphDcRWfiCaENZMi}3B zS1o_>;L)#rw^(AWJ2|C#%J0{HKk(pe*v}_3EULfVOrKqR@eI>lgN2MrmkqU*oYqxF zbc*q){#$ijr8y)y;mHvDgL?64>ey2(^0yYq*^h(&bf%E~?|Sfc-7!L$3WtD^p~|4t4i4%~>N> zUapXM_t%7|&9&tDF*w@T@yCt-ZxydH<^Mt5Z7aQhWV^>SQ?f5rln#SVu zyH{%n3G~b=d4KkKHPTYd0q_46O;whk{!x7(G}Z#kO1e($rG zv##Q?CjQCS3ZHyG70iCS_{M_A{5>6UF1GF(<;TuWD_MVI)s=q_oFdOw88tc1x%6um z%NNmS%dMxU9K0iD`>#sESiUM}X~3h~`~hB@zMkj4Ge=>$#_DZHwb$@9_o3fm2t#d=$Pm%5<~g>C=~AywEJTkZQ~FSvhmj^ZE7rew;XU&z0S(e$V6? zUE0Eul6ooG+vZ9yP?6Ja&`O-nKO_E0`ORmkv0AG4UuOAapJ|Ein?2JgV|rJh7|R#d z)l$r1785VM;u4%QiG6kF+UV_W6Ma8iulaORz4YbcQ{8?tpZ;?wEPAUapuH-|N4Mtp z+wG?|Ki*>XD7*95$D?ywY_=TOaP8Fkvc~C&j@;$`I#+n*XI1rGm6~b)Yp>m}7mJsf z?J%2Y_2gR!%cZH6hBJ!2KhB+)^Q3Y)mrbZI>&6ntf|#)Nak{;#6_OSPm;3%c5Vo4y z#I4Ve!v0y|NB0EIeMeR;lil|$ORaYKlvjV6cCFjQ!W6q|w${vl|7NPN-udAPclrI;s^i+7O}4EwcdlMi@ju_K(qg8NwcTN{GkQlB zI2TMj@^VT3_50m*AM2;{eY~q`DsHaTr{B5r3sa}EYVpU9r=~KWf4*CF)`EI1y%+B$ z?fd-qzs9Cr`?tKfF^z*`Rb$e%J-oBzJEz!B>^k><`jk8JUbo(ttI9rpwD)Yij?ngc zEy>9S@9d@Xtq-pH*uO~l4zJMusc)`^s}^ruyF}M^GV@ZYAHSX0K7IYqXU1|Pa<=T! z#H-)`MVP$rd-X4mQ|6b)Y_FZ?t}ftA`TcbH{JLKr_b-NR-F)R??2q@{Z{HUPt}c7b zBropjd;j-sj#N+Wga4EYH>`bPclXVF@9KzHl{($XrRTi^o<+XV$h>9n;KzRFR2$bH zSJ}HSWlQ`GKl=7d{Z^*3%*!uypI$q6biv7$ZB{Q}ctN7xDA4`2NE@pMT8X<7?)h)JM3IDBr z@pT^>tKa9^=?QVhbp6+StlBrFXqR-woaX3dADotTxva5RT*~UR)Ue`$*N@Y(f+|Ve zZPn3N7vz>Io>`GICqknO zT5`+N|1+XaaxSeute0Bfbp33G;Jgz@cI7+YNtIy}w0);<$uTwDQK0$zR$0SaUuAdA z_4J&R;Lyn{bWC@$FbwPVR-03v+Ugc8Q+;yUb0`M2gwu{i1V14oa+>GJH)WCT;vZbII*f3wBCBoH0LO z^XBx;UY{A>FXv^i*tX+L-UUU+rDvbJFdx1)cjLMzM+y&4 zP5F7)MbTGxK|=ka=0Z!WwkxqOyjQoM$-5x9b^pI#uX$C31fy>rWyy9^&px|4=RlI# z*#lPfPUeQs`p)NFcrwpvt*lVy38wo3Qq#jGKb*PMdVbLL>i2uy7hON+Ug%(``imP> za!oM4z@ig2^X7uNDwo{+)D)ZoCOHNEle2o_$uDD}kn5_s@8|bJhd&s3?4PiEYTvGn z6ONyJcd1li-Mwm+7mXh3ZsFT@vE1%hrK&6}@p|o-|IY2{=W4H}9Zy)hPpR=~jQS%Kb2^HwlY1UJnIe$Id&X-cl)i(;) zZO{>#G<(XDVqu9%4=3K7$n|#4gZFPQ|92ISDsL3bc~Sdmt8=^k1+6u2UiXG+C@g#D zYnDKTsJ}jbThpCtCTB`4=AXwFyLz7g^BzI%JPp(1hd(6PC^&ab z=`Ci}7g(II-1f(VW+U#Rqt2hww@hO#ztj26sv`5kS_gHB^AQEF4z}3EE~)ik)V|8? z@$3 z!N|Qn+!5>Eb@d1(`f7&j*PoxrwswQD()E>9rWZdbtm{5F%SCKrk6G@mCG*d63%^|X zlx6BplNa-pj-_)HsXS4AHt}WXDvdkGweG$u;7b;t#$2GZ=fG_9e81**E8Pk;YUDO= z(_gvX`__g4<<}yuA6PYFm3C+x){=`@dfw`_PF@d#mfC;mu*D8nbeK8*B~957tHHag z|Ht)3E03+n-~08Nn&HnSv3fHnm7Sl!w)V2J%bBfaz3xee+juW7Zf~2wcGo<>t~b=Z z+AnF(87H2nme1!DhcI7W@SDxVng2xA+Nv26>pvGhY!yGYB4tXm$%}mt|NVa7@AtCA zUM={LQtaz_FRyzyzf%?wZknupciC>GLZ20j+8PAz`AC(>FPy91_DjNZ`C&D~vb^n6 zR9n}Wys%>mfB0;6{ zi@BMu6f9-3O5ep9h_l0|^W&pADcmn&mpgvf zQ9Zi%fYD`rb4ekM9X(N(U8G9xtue}*f7f1xlroMoYw8i zrrYcO{!$BEuF-1zcHX`}pH639=$COfuye!Q)sN|WTSbevaDX}=TxNucJX z$qP%tYt4z<)6PmU8A~O33VS$Se7B%TDrtf<`(ZzsYQ~O0fubvSm3gBs7eTctv+DQyDL2)V`fpQ-<^`nzO}qNE-y%avO!W`SkdvO=@b56 zM~-+mtF4gR>{L`bPfu5>b=unK?aLg$vtFE)>gAB6_2S3N$w8q~Tf!DA+!YA$KeKJO z;KnIhzRmAEKeqDEozZ(#f|udghoz4C5;KzJ+76x0@mLeP`Bx)YAgkHjlIY`j_UXB$j_0dcoO>#6@2xHmX79|Hc4KRHxYU3~M9S&0}CtcJy>{45?szJC}7ri2L<6 zY3_GAE)4=sJl(t5Z|`_;vYoAS_X0tkcYH@K?qE82SGDnhz@1p}yPx;Jk1t)dYg>Zk z&hlsH?$)iE_scG4lX3Cyd+#nUKX1sXATGnT{ow2chaYZO!P;@YazV_xn97l_^ zY))Fp@D*#>uq=(-oHofkKTcNVy=1%cMiE2CC$1WcbA=%&fk-0@A)rXrtip| zCF}=%EN-xL>?z=#!Y*GE;E|TL?8^H1c=i)=5mzl_{>9e&AG#Z$6Fsw`fM4X-dHeqz zo2tL(S$@A${IxxnrCTz;&|+QVe}{!zv#w6Eez(JU{m!`?7I88tFNi5VYdUG_&f@1@ z3!PfOu*;?FIrz|{IsTB3#`1Ypt9WEA0#1B;d;4eh-e+}&p3ijtD*pcZTK)K=)$8|d zlCSQUY**g5ciXc9?i2$Lx#~BD>#C2oH6PveEYHmIiLXXxW@gcY1B{k(Z*OnEF8@tn z&q0^|!-br4_*&y?zh1RkYOi)ZzJ9Om-t*~`92|Fup89;=UjJs{hX;=P6sv_lmOL(S zar69PXtT=vvHrdvP7)la`u6|-7hUxH+}i6g(UVzbIh~xUJzXb$UyR?8HeTr^H9tT7 zVm@yslW_BKfl2f11s{^0`=s37mMf&`JImza>s-+@`9f#n1M+q}Wb2%Ab91`)!6w$P z?eFqs`jUeg|8cg))qFf^lzYphb6P96xYsT)Q({Nu_q*j^S3b0?{{C+2BG>L$rPnUL-`g)65Lffj^<$HwbK8xHZFa{5%eoHN z1-y7VJzlR{TwiQ|=FLq@SF^`3v7Zyn0&%U)ad%69e#2I-qiP0VQi`!qFvv|xi)2eipioi0bLaX<$ zO;-2pJ9ysix6huo@=3S0X1|uc!J94N9$}QvAunj9Xh)#>G$W<==AI z{qZv2*+=+iOpRO{Wm+q&onSfnl*PKH*CmSoUM`>SW%Tm)_Vsg3qHjzumM?vEMbJKS zSINpLda<{pUTV(T{Ir5YuH{g3@#kk}C#P&qIVn^v8+7~i@h6EIwZFay?w2&roAc!S z{P_DP&KvZ5ipsDi#A|%{b~}H%taX`3zy`kHy*V~d95sG^dOCS+^mZ?$AMbX*e^c_* z-&gCw3XXK=ws%jbhR1!(%|G0HXU)cA&c_^fKAje=GI7t(XS2U4f2@4WVKn{F*ML(~ zG?fpx^G{d!^srt2)z>KxL%IH(oVD}x(L7lm)X zSG8KDyQha|nSJ!r7^Y3`kIeqxYjTR-p0{@QqsHZFXJ^d|{im~Pq17@4bzwI4HCEBt zlj1&~5Y7HA#`X5%;`Sv%z0&5_UT5qOFZN#OuES6BYS>mf4BaEIraa33W@A^7_urvv$pyF0ik0PPk5OvHhE&7aDc(nbzWEKv!T^j?o?K|nYVZz7hNd{u;?`ZCevW zXPBo*HylMqweakAB2S0v3pZ}J7 z+x-4e?H{|?O(sVwXG@#sJz41?XeF9*_1)>M6c_01vj!N-diOEkVL?zfv{aG1IB+VcpF zS6|(yYK5w_KHPKD&bG|Oyyel7Nz2N>8KTQoeg1*XmbC z@c2*Giu&AB?Pb}h8NBSq{F|0)PI?VaGX*5XEbgA#q*iHhZpmKW0J+L16A!Sc%?M0T zEqK?$>+^)?O4+I3-``J{VUTXP#r%XxSaI#wcPqLt81PPdc6RpdW|euo9?}k5v*LXr`yS3)TP{_dRzJ71n0X14$ST+UPIev^wwvsilqYda zG;4IK>@n^zNIe=gU8bSj@hN-m)47*#?5W)R^{)Fhk8f2PQ@Z!cFnyl;hX2)ViA(1D z+JhFkbRM|Zdb4Rw-rZegD|VZnVczZ{NficB1p;vb*&~NxUKvm(~{e=_uXBFm+Y;v^NO_2oZomV=v+%?*yP{p4>)`)w?Eyl z8NF@Ii}jUJZ#N#7OEzRs;~b;TIm&K57knCIj?Xg9e#2NaxwBzwK*c33 z^+RXv<}JALCZg)?*6XLP$JeiIJ|w6lrW=*QKjE|w%bTmsMwYpUJC@e$P+s>mH*fdb zZ4=zfWQ^0#ZDIG=>e1Dl%JzH4+V8TZyGvdwwQ`G#$x57^Wjgt2w|KYm7Xy}j{s~^s zSf(^MNgn3^&1bdT_vxvr!u#TT@0^`y8!cnm4r*#JtDK$FFeyMo**MXTc|mW*3s>=2 zm7XZeBDwqZ|7%0iFLgUF-2dlOcMGpu&W+a-BAKF+zxA5mOZc_>y}$Og_o=3Z?>25| zH9LHm-|oi(9yyzcN$rnM>+j#PnXAaPC?WoZzx`j8#NgVk(Jg?T%-+%fv z-Doau|NVbHoj$b8K!^MADRHg&YxbP@di_r2b4|N{vHxbL&#QF1wKZG)PRs63r?i*W z{QR`bxZdZy)oYzXmPNPU&hrS~-umgHu-gs2#?H<==Xbo@_4>w2ug~jiCQJ9}Ogdxy zn1^A5jaI+V2jgdKi>%U`$U)2}mw@s2eE-&{NXH(x%@&7?H|C03c^A26m zzx?oL$cb0X{5A*dm)|jev_G*s$F5dVHc{ow+qo<<*Mu)jS>&;LCP!+tZoBfEh@Tnz z-ELj_t|4;IRkm+K@yn&tUorf=;c}u+rr^#r3mKilCCp1UcTV`fV1w|a!-8oN_qIoU z-)bOeB+PZ*&_ZV6`6s;#pPc7->-nOfWoG8(WjC3Ztm>R_Fd%R5*RVp1Lv?#@-E!5> zQF;=rafh|c;*ihrKH1U+o&H_-bb?i6`V0>5>%RD=QNvfUf7Y(p1ossiXYqeE3M`Nm zIc0Z`&pjfWFM|7vwXet&uEJBh4=;4x`bUA%zq7OPWx$NJ zuL@cOSI;fGKchM&zUZXtBM#-fzlm3^SLY`!*ebRmjnSlC+2zBD&3t`_H|*$a{JbC_ z{LBGCqlmq3>?aC@m3KbaCa{gUY{$#cX*~CC{1iSVTYg88&po2z?bhoh1#jAq`pA?t z1+5BM8DMg$(4s;%d_{mGyNA56y6J)o`~Us&mgx(5emj5v*68|hQ@ITcT-p^+WbVXH zvo%)pou#7l=FBw?`#&F=H=N>qU4L==y(;ertCQ10W2H5g7`fc_5&F0dEKY2Ebtfv^Io@!aJb5HW|KG{RJ4*P6Qn8vc&=U(;u zy@#GzuDKn$r=l>no;~vA%+9ze|Rit$$>)yWF-5c)z zxVYH8x$fMoyPc8uy9GVw@jPwQzdlKQPsYwlx3AZyYKKod)+_ya<$;4oe#Nh8Ij?@q zaK6Ix`Str=yf&En=i_mC@qf|(czC{TIPdlK)z#Kkp&RS^E-vx6|7)T+QTz4Z?}l=l zO&m z-q^5k18?NosI5;Pb?ZM9Kf&GX?;GagvovVonvX}iKkpE?H?Lc~Qt9Wf*X!MFE#B{Z zF86T1ZomSD<(ZBv9<9%P_ChVM0I+m$S)DOaH;T*xg*- z#h=a{=6aJpuX5Q2NwwK`J~KTFX%H_sIZ1Wva(Aax`7aHJ&K;Sz?|Oun{oDKd<8QFd z{y$Gp*{*Uj=Y8jETgujJa`RWrxO=*FmRL#OX(iV#j@_G!4uq@@^R;M*`2X$M?EGt8 zmHSTU+ctbC{_v%?$WV@3J8aE`uRPZ+Jl}@p?d%VnhhDJ1zWr(C!nd93{`1aoa4Zj~>2jSSe@sr{9)F*M`JLyy zhcACWne}z!q0F`WKy3rni#?LY$Nt&09o%!webs@(ov&hdWL?#ID|%uZlMuK4|391a znOoxPF5K9h-hci5C+h% zme>AYyPd!P?QMoc{s|0a&%b`MtunNIB;p?5y}6;q3#<;y$1BER{f(f6LE){d>b?_k$+xA8I=tRSOsRTGdXBUCDH>$H?IQhLiK{>nEJfs8ZFp z^Ou@a#NWOCxUWlpg2sP=cwxDQ`G;4jIqX>?5Z$kACn;OwNF8kBR zzAOHh`~Pq8hq@aA*Dn8xhzsP*Yr1o=&-%;hyWxKYB;|U9ef>WB=DDzOzVomAZ)bb+ zN%F7Gwm3`Cp0a|CCrpf0t|jRjUzgY{+~vQ{T&~#i4!>mB)QSY7g>LKj+(_4q+OlFj zb4&TP206A*R~9+-L2GOw%-@7LX0dAIO(V`jjm?fLP~zTNzk zcKWl%6x(-SW4OPcT;kp@ck5}GY)Z`nIk95r53EPGN@QMHAz1IA_u>fmscE{eUo#|% zsCxYQ`F#GoefH~5pD*%nU4MN`W^iYlYq!|PL+KaVGXKQQ_kQ%?()U@6=M54pp6G`i zUircNhV(uj`L^=Is~^tXFriaG@FaizWQm9OnBv=PPwrh1wA5=KpTM#E%}1`R46d!5 zzlXb;vETc}H-~_P_!{lZZOdzW!WI?q$MC2hc>nPC2JRf*{O0KgE+^OtF0?-~Vb6-) z&*NklT%3}9|A~o#L&4)~)4$(bA8-GWNp9Yw*RdrRT^&!xKE5eeJAd;-&$b5jQa$s; zLoBC!)j*xNpF18ZD(!r`?Y71D#apih~*fRDX zv)-NaX;PS1b;Z|MU)Ct4qr!2y-`pQnJo~*jJ>>m)&ieh8?>qSCrR#WQsWgbLQ*P9h zw^?~SxGILHsPS-%t==Sy?N2oK6g@q4bNS65|8J@UDm7k}{(9eV)>FnmKWn5FbZTT= zzVy9VYIFD?rPp17)fn*9>$|Y{Wh|G&| zvaeI8oZQZM=%of{^{$gw!{c@14kqzeEwfi>eq3A3ly%U@mSw7sgx3}Mn&;={J`${% z^Snb~{oW5>GX5X`{KUyk{pTznH(xdz+04D$`4jYn8RuuRa;;-#DwuZgvdOP@`8taq zE8pEazkctjCtpqO_h`PXiA{@C7xMdEx#f0M{(Cno3lB$&IN_5!*3N&^)^)gzS9tw{ zs1vUlKi#W-?>XUN7JNxY8W7NuJulB zT3KFDmbhWUgX1OZ^X~4N$II8YH+X@m+2Y=dZO`9^@WprSER5HhnEO|vbgNfy+JR$g ze15I}UzKz(yu)&s`Cr|X&WC|M{$4zpi(*$9)ch!z_p<-lU&EO9(X5ju``gX@&)Zgg zG=D~ZYN$yhufDNdfKPSPg>P?fzjljvN|01Y=6S7Ic{i_7l)7WXvsY&h$<@VW$v5ewQ z3w>;VzTf}%8kLP#Zo_#J2L8W%ji-mJhcy&yMVw?Y?_;{f7sR_dHVm{P^he z>G3!A4kG=s_VZ{NR@jyR$+|iGaHTJOL$c4@XO}f!Io;S@_EyOK%LdE-P}@S~J+>TIeV#cjOeoYmnyo16?mgm_1G|OI%^q4XyY;l{9JMZedI~H37 z^)KdlsOKKY%EwdcczRlq&9y|~qM)Cj{#5Vbd&K)XYoX&V$uL94h5MH+UlX%4$nQv9 zi^O!hzgv9PMNE`GV|cfvv{!lSjegTRG9}M`{eLg8Gy3wXu&4j0|2%%bBbJ}V{NqYMOm9k9%DgD_ zx0wF4*x==_*u^eBp60(`E63HK!i)2lY~pn6)qL^q==(e=A&c$G2R5>Zy8U=v8OaqY z?{;|M&KH3zt{;dB+3;~v<>zOH4;D73*qlk9+{g23ibiEBv(H@o8^NG|_~r4F8b=nCujaAaDdU;Qx=HR!_1yMfJJ==p*ypHz z_--LF#kTnQDW5Ow58oF%K1<(l@z6;E5R z#$mcao&V;GvOWG4cA6ERAHP5A(2}n&#PL_f+kZxw+QB>Qtw#CkLf;f>pIj)6lKAlb z>*47CN5vP(96Xe5Yh`ivP^Q^lZ(lbq#{DAeQk%M)gYW;}ubH$s^txJ!qSrr}XO25q zE-Z58wr>8OG+Dvxpl_U+(?$Ntm(~1^mnF?_xV%Dh#jNG>Z+PBlu5tYy{cor8Cu0Gf zZPR$l5;tGr+vDTjk|}JIEzEIx&aK_AwS}+pE!_U@PgUrOD!H;#KNUX(+KR?@{PPN9@e+uh-*MCD&BFHJy2Xi{|1+$eT(Y+=SLs@d)6C!}9lEl!FN&%ey}CQMy~@JC*=-RYif^NW*o2Zk$?N+h`ts3;WPJF_(vE8 zN9^8n>C2arZw=coKc4yFB;%0>?%PtkEN1*j-K^kza+2!XY4wjN}TR`(jbtm>* zHoiOS_(aK|r-g}pTy=s$JBw2PR{Pw3F4D2k{rs}*z8RCGEP21~@jNGOrC!$I=C;JG zS4!QA<7fk$a$TJ0-hztw)j!=HGwyfzwn&Vd{lTLd&l4h!{PKDt`7wrx+xkO;i1^h$ z;r1oQLc84$U0$V=y@WYsoj9wkn^We=J9X`c7k5u7W&hEVdZBT-&flig;GJf#udS7? zURAtnb+dD?HE*g+N=>XxUxoCw4KrqoUVO|DxwGQqBV8eNodz%m^xUz@gxR%+=l;@Fg{E@q_6umvLcka2l)|+!QXYbvlYO?;caA@Bh zX7>Zr6Kx~TRQOC@V;U{V`M{=6PeJzu#{j{a*9NJnM>v z_$nTDowY|yrFQq-y#KZ6$AWK6AsgH`>h*O^pIM;#hr5nJzOD4ZOM`GFE|Zc5`vaDS zW(D_ouODPBQ2N7L$9lglRwe&5KD(!yoC~u$UeDrs~60 z;TwY6+P^;R{ZJDjCuYFdy!gLJgk)H|c=|@EH5}e42$?mD z&eUj-VfZ&a zwefrh+jZSFQtyHcZC-6Zck9rdFDWOk%(7bP{!rxxW0-N{;XqzH{^N(3BUf!K4(@1O zZpquRKyih2;|Uofv#ptTc5Dn;8+G-b{f1Z$`ApWhySH}|ID zHm*~GAAKyBXZuX$G`xKASfl?V#}6fsJt|*0F1&N{>@JSfzjXx5zqjTBz3ey;}>aaAu>tN(u8P`JcI^#RY@x~FF+`n88{ z{kY+qf`9HEg_$d>rEM-g>)>Xyi{K1mKgm|nH zJDkfMFHSHx-{sP`xc>jYZ~r`Mg{@?Czq%x?3|iVEdTa5agKqZULbT7eFu51r;O9!s zvT>eq@o~iVJlX5TRv!DzH2W8`#jH%XiK~9Q^#`A`<&3*I{#*0RG`kn`-C4S{+2*!z z;aZ-ENH_KqLNm@Uk?AX$!PuI6TB7wM-|;&;i{J7darg0hxMFR0;k}nN_kR~~_RdZ$ zoNTni^tj)Nv>A4MeC+;dQN3=}GY&k~V4MCj@Xp)Y+q>6W+&JLIexfeoAdA%T?NPac zb9+<_cO3hBjjuZYF-P4};WAw>8NO>@u8MISJaf6|No%*_?4R=6vqg=oBx@5_Dr{qT zeDTt@+}m8`?U8qn2v+ZnU-pj0T=ia|yhzpk+V3ZY{cRL;F3y=ZPcMf*d}ESpSnK(1 z??kiHkM=aXbA8!-hmBj({Xik?ml?^3RNb$$JM=9G!6SBmz{EnD~|=4r?LPGR+1 z{%@kxQVVx1Z~t#v_j}fqqlK&@r{WanJ$#VqE304~w0+d^P)ecVosyrRrIw z?Vg@@9b=K1J{;mMZQwD{Y=4}nkrQ+Ba^bwk4;GrpD*R3moE&74=A7tp z>EZ2p9kyq8-Ce@d_bRV&p2P)(5cU(Z)lv&e8bQ?VZ@5n2Ln<-4ak9{;setdX1NkRrRsICPoLg(i$&~sb-=2ywOXBr3x9k_Gz-1Tc47O+4j2IZ?4|=*dhEy=Voy)pGxcvID z_&axB=Vjdey4LY7Ykqh3-NNz}kKXy+o#0ehUcTGHb^X(t^Tzk*&20VdHR-Oe*~9;{ zE8CRJd*}Rl`l8l>FN*Hbs{$vEZxW0<;l}_ zaKe>Uq1~54t87CUxY(K%r9(tlF}Y4XbV1WYOeaENx&QoWv-9^w_Ewopkz_j@dm+eU zLC6b7jjTQFo=d%^y4>7RxL8Ch#G`kY;1n@7XTufqQ;!rqof^LCY)<1RXF+xDEsT>G znb|t#t_)uON$0Hkbe6l^l005vFJx~VPrP;RsCc}Lgn8Z^6*aY@#E`}Bm|f?%D{98< z*f7VYGU(j%z2EO$R^QI7#VE;R?)+KdR^Ne2P(0&xb2=bsm???g^o*!#ty|tPFO~O;Zyw)N7kmxh7(F z+1e%UPEJiRRWFx*%RN$%IFWS~m-S75X^qHDDG4twEEM8kQL*Kdu~1;;5($`HDb&R= z|CPC}v6z0GPUWX37u6%AjbbEXSbf`7qPOK-S`nyhS@mTF%VF{OnuXssF`QzmJZI&> z#xJLH&>-muM{QI3LhFS;j;%SxyHV@%T#W61Ia`(8`)=5#`a8@k;#c|k>FMP9 z|9``qSj8D?n|`lR_WqN&L*`eoeyx1{AH(-SLVWUdKNj9Py?(;-FIP__Xe?Q>#N+9y zsb4+MwH7&kY>u4zIx3UD=(O(k6Q`zXALX9@oye1n({t})^lE!HsD`f0y zBG&DCrDghxG2l(|4v}BJ;ZLuvjefoA%?$DQn!wzp#!oo&GeX+UuNExWeXOkeFGE)> z&-#Q=yF=$U#q2Dq3M=dV`1tthxo^HaDOz#=$TZ#PF5$YLPsQ*01ucBO;Krc>!7r1a z9^|;7eb8h6Z3FWa2?v|9u6(b0Snap)edXt8XCF&zhBP^6*?jf9xGb%SEgz{&qi?xG=<7eeImzS+TYI zq2pSW#94x@9yoN0Y&$Z=`5NCt+qNi!v}tEJgKcM4KUR<0 zlCjXtkc(?}_SYQ;ZF)QoZuljgzb8?DmJX}rp2x{&qu*UwIr+!Li;LY?+v>C)dKT;Z zq~9d{{Jg2{a#bGjN0Kf-KfGCIXWoP-r>1)UJ-sjG=BCtdCyK%}bpACgDSm!Vi1)?f zbpZ>T_Dy&hkaxn?r+9kZtCK(ee!qY8xWRg7?u?bE50~Cmaf&jR5RI5#@%QWX*W5F? zQrq_|V)~--g`-3}L~xhHDcSa8HZqfvj&`v|#xgC>8#qZX)pOQdR%D<&8%o4x|{UsCrEa*dF7Ppe>LoS9ab?ZQ+l` ztEC#zx1=VoIaB%T=~xIeXMT?OE>jm-UGm=Y%se zjnxmQ%*?&L?d1IWf0}!%zl(jFn9%2ZZjR;G%9YogY!|98m@`2>Bj1#rODA%ZOHyyy z+gq)7%|D8DEX?o~{KC8c?>Fh**Gck7W5j~z#TPu-Y&{8sNT*%Q30 zvdlxxJ$-$r?*IQU`d;1d+}{&5MQ5?x6>hx7)UNpQ!oubw2H#Yc9$q+ae*cTeOUE}{ z?ER${yue&>c?=Wlj~ON6RgBd$zr4LY{i*l2&);NT?3W9jd8U0v@S4`M8@cwz{;Fej z%4{y&Ja7Ka++Q-=K0P&C=k{0X$&{%Rc;xNweE#sS-~Qi;NoKnf|356MP37-ctGtCb zT<7rbIe+)=vRG2^z5f62_)ftWxfjG|ve^PO4B7yIUTzxcv}433kf z*JIuJU9TuD-hQ`iw(T3a9PLL+RV(M)RBk#V9UfEITDQ+JcG3Jx-Yz#khdTx_%M+>?9N??apUvYy{%J9*yz zzfK|3-z!;HRtD5+h`fqieEd&;!XjaG@<`Fvh=Q{2M*1{L={ znW&G_;eS3H=AUF;o@e^XPVqnNS@Y%aU!JOecewW&zBpC&uPZ$5 z+#Jv2d!)W@PzbUtb}n~NR;*Ke(kdSJVChU>wVB>RZ{HZRHGKJ+)3zk-?5tx8bfp|W z{dnB(Epu4!^P9!X-3+c8MXAbv(fJ~~g~_W;MYr&D`v0zs!@v8UwP&}O_a#1^ua%q&%;L^Iu3YmQjZ&uhwfDN0 zy}x(%k`}MB@yXW1{Yg6hHwu0}oxa-9o+tH0k%yY!9F31GywikzOYd3yt~R)FXi=E+ znS!g`^S3QzejoK*GoRj0h6#Hs1}>)B*O_D}U!sQh|0{Ajy`&y;}Ag)52z zmhEA__*|>*a6-iPyt#Xo!~8UYet$ggE=CcP*9y~)cl#Si%uqkvDU@}=+}ZJS^Ziw`c-th6({8k} zwwi6-&a1M1|G!;71ez`F`DULX>-Gj*od3zw@-_7_Q_gzt$knWcS11Vq3G?_>&L$S>^Ylm zv9EFAKhMc(g`%Hg?f1RBy!>*;QpaYtGc7673EO;5Y;bM<)_pCq`%mOH=j^+?On19` zZqK`G;qYIk@Px*H-TJn8j<9W?(<`P|ytmJyETYglhJ>!W-&`H!FT+1PMf;_j#BD{1&%Uzk1cx~Gt+`;My$)u zppADMLRJQ~em-@xt>G=ljcE zlPOkTbYWJb@|PQFPV@hZoG{&2oZVsFF7WZkp?wmjSyvVuJSpsNb5PX%ck+kkMJ8$Q zyD}J7CH%A1KVm!@Z&M|4Qpp;uV3ytSxtz~#{BbhOK}6H4;(9P zIhg}=PYAzjj5vLiyQ{)+bK2P-N);@HlUkq7s=1KS{@f$HOisNst({-~+V8eAvrJE) zj&hVUev`cBexuD(^$vH2Lg~0)U(TF)w_qWt;Tzt2Q{6aiNB7QeRTVpV#Miy6;rYh= zh2h8bj;p*z}=^2~T&PrX6^Iz&U zRYp>#pK*`-$NhJk4o|oH`9ye^c&X4$p%+maNi~cYr4MrS?QlKXCED8W{XN>kBwoR9UORpI{`Fl+% zlBY|m+}X3jXwK}nw^BcxHNQWl;9*D7blzEKFa0$*bo1)nW zt;O%|>=e>+XXu*}9~C)gzT@46j29|i@Mjoq;k-4e%`Cd!p8FT86#Liqs@D&Em#19p z+#DWPxm3oYz~NBiRfAj1E%W*eE=q4&{m4rsRpL?kSJR8lPmUeXW z~|OcuDrnK zMG;f6)enpHd%w+c5l;JmQ|Mo@L(H)JnUU6Vs<{G_yYR@k>&Wt*BJdrJV%7cxb&W~4KXwIt7{rczh zDHb)}!l@}j0?J-bPfeXHr0T`ebRx;SrR?GU=gyZW6j=yocCEbQ)zr8z@VR1WK9hF& zy~^c380N{wR{5T5Us?3eTE4wAIk2Hz?^(v{*O`CirI&84m!11va_YM`H#fIip6KB- zDr~vkXOeqs%HPE^wY~LOlm9-Ks0X!vjV+R+|J&|o@cZ%a_xo7$47ub#4CfcrdG1K6 zcu#R4BlaF%gpQgL(<|YRm zW;am3IraMCSNzL)WUZ$3tA4**9V959*GCD9E)>i%wM2rd1g!TQ|?nWe7eU!OUT7XhOS$ms9I8}@z?y>tF!ZN z*Dp!9sP%t;@G_sm!$+TXxiPI+Z%(~K z>w*aytDIlod^nNUQ;G5LqCBz0vbVRc{;#~i*QGE+|J-wloQ?YBcX_4FI-)a#B&t&@ zT+h$5eH&_3Yg!=0*She&f@ai~jD%NLRz5O)WBf2}mD=5&^1G$sH;(!2x2Z1qA@Xd& z<<|$#s~4_`2gPT#=by`TJ?$)3XQzrVj5+suxf68wMm%jGlK%Xz*y ze@=RF?bP`jte=f`EO?o2$a9Ln(#dg!y4{bIKd1bxjHGgF-H^F74<-Fz!MQ{x5tJXS<))w&x|B7N)VnJqka70lXGO~mEQ${6rPhIiO~M|DXiRL9rF{!tsceH_tWX$#Ay1#Qf*@25q_O z+q7HP=LN?G^XV&DT<5I0(37z1#hg~}Jl#8W#S=cC5kH^**=oyD9U<784GIjQl-efD$O91qS}@!LlJD1Uw7vtH}f`+O^d zm-orpmSwMVQ>m0siZD97S$X@apB;xkx9U6Jx_|KGvp>FM*Q~?GMMLd{%ZAwm!Z9N>^1lQ7;o2m zvu)L1)`>Z}0b*9nADyN=G_TY9rCpqQuT59AAa3)U;Mdnb`z~Dg%KXkduL;T;Phxn> zXRUkF{ebc2VIke??BbGrhfCd*WBZhvj6K+bD(s$B?-%Ec_dHSY*zffH^LyVIc}iGc zoBX7r$`*%PNo~@Z`MrSxrx0; z|9Wsxf=`Ucn+t~zo=;$H3jUm!@#nqjiAKAZvHcn6x)N{Y9k7!*;XTWN$KQ&pwRme> zz`j5K<1GRjYee47_IIsIv$d@2`+aV~RELR5iC;2eBU1Es{m6Iz{$E7p zRyB|G_1m`c-<{?K1nrfQ`T4XZ_{5)0`vZU7=N4?a(YU~C(chT73pL_wSw9>RTz`p`X|vqT-mv?Jrz>86F|TfY3bXTnnX;2zS!Z7_ zyJ+-qrLNxon)`2dp0=9MVP5s@-zHg>%l4LkI@r$te^z0odwqGt+cRN8;u1ccSHC|{ z2$3rCiF>iaOrx`WN71JpAI@37H&||Uc`-x3_^mHX0v0-5+FhP6XMM?Q-y`06zEK$m z*6dq0G5watq%#`B=KAX*=md|oXG-jV9sO;8pFyVE|k=PzLu>*xB2QJxc z=bce*CdRz^)AK$1I_sSijc?yudpCh+ruhA!rCu+etTO%}zWL8@7mKSu-(30n`~CjS zuKMM6-y)vmd~8^|Z-Up>KB?M;QhwUezgFGu5Iwp_pzxmY>dlh>?Bc&n&bzgxGf%s$ zYx>C(haXIDd?&tb_fqRuyej?npU)V-d3`|d&7*prH|$R3i^5W)O_$Yfoh)c$*q>DM zDf3!bk=*Z}kJ8Wat_rAMXOE2=RViIkOd90`*Da7x>@A%+m`uwSx zmzVuqKjX@QzI8kt7h6}f)m+LdER;-nzE9yzi~ady3#1qRym0DG+qAQf9uz#8( zbb&b__l5TgaT6Y?>1}OMiJ$r|91mb#Ar->9i+k6(sy&keinFx^yKYMyf4}Lz^Ou+w zwqN%nSDb14ZsvR^(|4^F*HU-86(=gScw<>bn>RU#vzUCTyQUJjP;cjxNe6zP`2OI9 z0h<=jy+d3TRhum2Se}QQCh_(EXRL}!e<$IjJbP>D*Q2w4u9q^8o@7{c+}MU$kgYss zQcl~634hO;-(RD>F-z_Wix%h37De+fGFRk}?L9B{fMdhOvTiZmAB`WH1)ZP0xv{ZX zyhO^N_LWt9boe8c*Fx7gcF7o3_=vqQTVc9|!K<<55&L2O6``xcc%)~G${4WN*ZryZ z`Q@_z%g6=mBYML{8^WAy*FJV()aa7nay;*}cMZQtOKy zSvpb1dEVih&9hdEFK0dS zy0Ep`wED}7i9MWq4_}P#k7JvktTDTD{p8S>>CGP+H;b1r_=?R;aZygNmEQc?;<|EP z-}wvP{}pqj-bM2iE5;Sg$U1q&TkSHpa_F0a^-~Y~9XbBsMyo}G;4R&2cNZHzapuv_ zYCm7{X@cau^ri+UGZrkI8_Fz^@a4jU%K81(?{>QPR_(I?Y{C<(aB`+``T-ex zBXvc^M)5?`SKlV^8=5pvDm|sSTKm$`0~)LPS~wieJK7!jFvHZ>bDiV*u3*_!hhM!h7OjrGRd!Q^KWVl-U(j2%?U`YVZYJ;l%Wv8=8M3bA zD#$0FU^G2!sN$F{VL9X9oPXEYo=wa4f0pt>?8I}4F2~s=1uF{Q|K-m~U$**-QN6m6 zx|T6 z=WHAk6S&q%ef6JkP~Eg+tN?| zoX)WxH+FT&&frNjuS-|gHhr}!K*S*AQq-Z1ed=?ietmhFEWdUdcb7ujn^&{4FDz)3 zm~*&ndw6{9R;f~1jV6g%uXSehSiLr8&Sz$;H`-uS^P}M9_4V<;{@-(WKSAotuM=~Z z@>VWj@wm|5#G4i&aQYfciQ~qvQ>W-gPh;Jh8P;@p1Mf?HhHZfYp$j+?R&aT;aVhNB zB)?y;ahcby#Bo0n7xz&#RjWrDm4NABsxps?nDw?F7pSPB+_D<2% zUyQ;vD*BuJby?8O4_FY?=Fcd$(iYp%3au{2Y@C+R`4luCJZ3P+$tj$zNYzAAQiX{eE3E z?=JR~jv#i`bvj7}eEL@}`i2>mw6w@h<~iq>Txt5^Zh(k^Py3zB)Px5HYEqk535YoI zL@s \ No newline at end of file diff --git a/assets/forgejo/logo.png b/assets/forgejo/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..0ee15c96e56a0e2cbc08da7760970a66c338ec2e GIT binary patch literal 27336 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 \ No newline at end of file diff --git a/services/forgejo.nix b/services/forgejo.nix index 3c72738..665550d 100644 --- a/services/forgejo.nix +++ b/services/forgejo.nix @@ -44,14 +44,14 @@ systemd.tmpfiles.rules = let cfg = config.services.forgejo; + imgDir = pkgs.runCommand "forgejo-img-dir" {} '' + cp -R ${../assets/forgejo} "$out" + ''; in [ "d '${cfg.customDir}/public' 0750 ${cfg.user} ${cfg.group} - -" "d '${cfg.customDir}/public/assets' 0750 ${cfg.user} ${cfg.group} - -" - "d '${cfg.customDir}/public/assets/img' 0750 ${cfg.user} ${cfg.group} - -" - - "L+ '${cfg.customDir}/public/assets/img/logo.png' - - - - ${../assets/forgejo-logo.png}" - "L+ '${cfg.customDir}/public/assets/img/favicon.png' - - - - ${../assets/forgejo-favicon.png}" + "L+ '${cfg.customDir}/public/assets/img' - - - - ${imgDir}" ]; services.nginx = { From a995167586ee28ecee222d43e17d038bdd2617b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikodem=20Rabuli=C5=84ski?= Date: Sat, 22 Mar 2025 21:18:43 +0100 Subject: [PATCH 08/14] flake.lock: update (attic fix) --- flake.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/flake.lock b/flake.lock index c260a9c..9623cd0 100644 --- a/flake.lock +++ b/flake.lock @@ -47,11 +47,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1742497754, - "narHash": "sha256-fCM/cnenyg+HQ3Ek7uXu04UX/aXrHBD6BW93/rYWZHE=", + "lastModified": 1742674578, + "narHash": "sha256-WnbRUpnUtd0UadC/zrwQjCWi2P0f/pBLv0HSknZ+0t8=", "ref": "refs/heads/main", - "rev": "af9d18efe24894a63c39d37bc0d2ddbea413aaa8", - "revCount": 366, + "rev": "faf973d3829e1b9b9e76ca2d0a09389c0c8233cb", + "revCount": 368, "type": "git", "url": "https://git.lix.systems/nrabulinski/attic.git" }, From 2d01257db9fe593bd1f0758c40570663c992960e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikodem=20Rabuli=C5=84ski?= Date: Tue, 4 Feb 2025 23:29:50 +0100 Subject: [PATCH 09/14] services/kanidm: init --- secrets/kanidm-admin-pass.age | 7 +++ secrets/kanidm-idm-admin-pass.age | 8 +++ secrets/secrets.nix | 8 +++ services/default.nix | 1 + services/kanidm.nix | 85 +++++++++++++++++++++++++++++++ 5 files changed, 109 insertions(+) create mode 100644 secrets/kanidm-admin-pass.age create mode 100644 secrets/kanidm-idm-admin-pass.age create mode 100644 services/kanidm.nix diff --git a/secrets/kanidm-admin-pass.age b/secrets/kanidm-admin-pass.age new file mode 100644 index 0000000..2b229b2 --- /dev/null +++ b/secrets/kanidm-admin-pass.age @@ -0,0 +1,7 @@ +age-encryption.org/v1 +-> ssh-ed25519 84j9mw W4+Z4WjOyUl4mWPqVykNWRhf2/8qfVOSM7QCFPNMZTA +0ndQjslMwjQqguN25nBQtCchpCLhoD/vrxh1yNVeTNw +-> ssh-ed25519 GKhvwg H8XcFJDZTA3IzxmK6wbB+PVM2gCZ4ysAPjL5j0LgeE0 +kehTMRIVOZ5ubtO7w8WF+gU3sjYXMQtd5hH+wcv3uSE +--- 72ntrRbWq8pdkk/GrsVupTttfY9t+w3l+2KQbQyNn/I +iyd$vVl TK$4G[MI[#tz:r9~ESA6}׵ \ No newline at end of file diff --git a/secrets/kanidm-idm-admin-pass.age b/secrets/kanidm-idm-admin-pass.age new file mode 100644 index 0000000..0eac321 --- /dev/null +++ b/secrets/kanidm-idm-admin-pass.age @@ -0,0 +1,8 @@ +age-encryption.org/v1 +-> ssh-ed25519 84j9mw 8zYeVXx36dpC8TxMdoM1GdERoNNj902KwTF4h/r4inM +n3mYra0BeM4gWsZ7Roilu14o/GajX1iWw0fcy0q31yc +-> ssh-ed25519 GKhvwg cqd7YmVpbxqZxaVluHDZ8Yw0gNfJCKMmoWa4mEoXym8 +Gbcj+PJaqyPRRGX4olr7mmJ5IoEGlQaogYbj7i9E/98 +--- LoQPWI+m8s3NjalUh0+xdW54c8lgddBmhPoIiPbmR8I +Җ܉Y +9!42DVP9N]G;?ЉS ' \ No newline at end of file diff --git a/secrets/secrets.nix b/secrets/secrets.nix index 57943fa..552e4e3 100644 --- a/secrets/secrets.nix +++ b/secrets/secrets.nix @@ -97,4 +97,12 @@ in keys.system.ude keys.other.bootstrap ]; + "kanidm-admin-pass.age".publicKeys = [ + keys.system.kazuki + keys.other.bootstrap + ]; + "kanidm-idm-admin-pass.age".publicKeys = [ + keys.system.kazuki + keys.other.bootstrap + ]; } diff --git a/services/default.nix b/services/default.nix index 1837462..8cf5ccf 100644 --- a/services/default.nix +++ b/services/default.nix @@ -2,5 +2,6 @@ imports = [ ./attic.nix ./forgejo-runner.nix + ./kanidm.nix ]; } diff --git a/services/kanidm.nix b/services/kanidm.nix new file mode 100644 index 0000000..b288e14 --- /dev/null +++ b/services/kanidm.nix @@ -0,0 +1,85 @@ +{ + services.kanidm = + let + port = 8443; + domain = "auth.rabulinski.com"; + in + { + host = "kazuki"; + ports = [ port ]; + config = + { config, pkgs, ... }: + let + cert = config.security.acme.certs.${domain}; + in + { + age.secrets.rabulinski-com-cf = { + file = ../secrets/rabulinski-com-cf.age; + owner = config.services.nginx.user; + }; + age.secrets.kanidm-admin-pass = { + file = ../secrets/kanidm-admin-pass.age; + owner = "kanidm"; + }; + age.secrets.kanidm-idm-admin-pass = { + file = ../secrets/kanidm-idm-admin-pass.age; + owner = "kanidm"; + }; + + services.kanidm = { + enableServer = true; + package = pkgs.kanidmWithSecretProvisioning; + serverSettings = { + bindaddress = "127.0.0.1:${toString port}"; + inherit domain; + origin = "https://${domain}"; + trust_x_forward_for = true; + tls_chain = "${cert.directory}/fullchain.pem"; + tls_key = "${cert.directory}/key.pem"; + }; + provision = { + enable = true; + idmAdminPasswordFile = config.age.secrets.kanidm-idm-admin-pass.path; + adminPasswordFile = config.age.secrets.kanidm-admin-pass.path; + }; + }; + + systemd.services.kanidm.serviceConfig = { + SupplementaryGroups = [ cert.group ]; + }; + + users.users.nginx.extraGroups = [ "acme" ]; + networking.firewall.allowedTCPPorts = [ + 80 + 443 + ]; + + services.nginx = { + enable = true; + recommendedProxySettings = true; + recommendedGzipSettings = true; + recommendedOptimisation = true; + recommendedTlsSettings = true; + virtualHosts."auth.rabulinski.com" = { + forceSSL = true; + enableACME = true; + acmeRoot = null; + locations."/" = { + proxyPass = "https://localhost:${toString port}"; + proxyWebsockets = true; + extraConfig = '' + proxy_ssl_verify off; + proxy_ssl_name ${domain}; + ''; + }; + }; + }; + + security.acme.certs.${domain} = { + dnsProvider = "cloudflare"; + credentialsFile = config.age.secrets.rabulinski-com-cf.path; + reloadServices = [ "kanidm" ]; + }; + }; + }; +} From 5e8eeb032e662327a31e9130d722bdce0822c16a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikodem=20Rabuli=C5=84ski?= Date: Wed, 5 Feb 2025 16:28:31 +0100 Subject: [PATCH 10/14] services/forgejo: move from hosts/kazuki --- hosts/kazuki/default.nix | 1 - hosts/kazuki/forgejo.nix | 62 ------------------------------------ services/default.nix | 1 + services/forgejo.nix | 69 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 70 insertions(+), 63 deletions(-) delete mode 100644 hosts/kazuki/forgejo.nix create mode 100644 services/forgejo.nix diff --git a/hosts/kazuki/default.nix b/hosts/kazuki/default.nix index df92f1c..8464cb5 100644 --- a/hosts/kazuki/default.nix +++ b/hosts/kazuki/default.nix @@ -15,7 +15,6 @@ ./storage.nix ./ntfy.nix ./zitadel.nix - ./forgejo.nix ./prometheus.nix ]; diff --git a/hosts/kazuki/forgejo.nix b/hosts/kazuki/forgejo.nix deleted file mode 100644 index 9f200e2..0000000 --- a/hosts/kazuki/forgejo.nix +++ /dev/null @@ -1,62 +0,0 @@ -{ config, ... }: -{ - age.secrets.rab-lol-cf = { - file = ../../secrets/rab-lol-cf.age; - owner = config.services.nginx.user; - }; - - services.forgejo = { - enable = true; - settings = { - server = { - DOMAIN = "git.rab.lol"; - ROOT_URL = "https://git.rab.lol/"; - }; - oauth2_client = { - REGISTER_EMAIL_CONFIRM = false; - ENABLE_AUTO_REGISTRATION = true; - ACCOUNT_LINKING = "auto"; - UPDATE_AVATAR = true; - }; - service = { - DISABLE_REGISTRATION = false; - ALLOW_ONLY_INTERNAL_REGISTRATION = false; - ALLOW_ONLY_EXTERNAL_REGISTRATION = true; - }; - federation.ENABLED = true; - }; - repositoryRoot = "/storage-box/forgejo/repos"; - lfs = { - enable = true; - contentDir = "/storage-box/forgejo/lfs"; - }; - }; - - services.nginx = { - enable = true; - recommendedProxySettings = true; - recommendedGzipSettings = true; - recommendedOptimisation = true; - recommendedTlsSettings = true; - virtualHosts."git.rab.lol" = { - forceSSL = true; - enableACME = true; - acmeRoot = null; - locations."/" = { - proxyPass = "http://127.0.0.1:3000"; - extraConfig = '' - proxy_set_header Connection $http_connection; - proxy_set_header Upgrade $http_upgrade; - ''; - }; - }; - }; - - users.users.nginx.extraGroups = [ "acme" ]; - security.acme.acceptTerms = true; - security.acme.certs."git.rab.lol" = { - dnsProvider = "cloudflare"; - credentialsFile = config.age.secrets.rab-lol-cf.path; - email = "nikodem@rabulinski.com"; - }; -} diff --git a/services/default.nix b/services/default.nix index 8cf5ccf..6da3b28 100644 --- a/services/default.nix +++ b/services/default.nix @@ -3,5 +3,6 @@ ./attic.nix ./forgejo-runner.nix ./kanidm.nix + ./forgejo.nix ]; } diff --git a/services/forgejo.nix b/services/forgejo.nix new file mode 100644 index 0000000..2f69a55 --- /dev/null +++ b/services/forgejo.nix @@ -0,0 +1,69 @@ +{ + services.forgejo = { + host = "kazuki"; + ports = [ 3000 ]; + config = + { config, ... }: + { + age.secrets.rab-lol-cf = { + file = ../secrets/rab-lol-cf.age; + owner = config.services.nginx.user; + }; + + services.forgejo = { + enable = true; + settings = { + server = { + DOMAIN = "git.rab.lol"; + ROOT_URL = "https://git.rab.lol/"; + }; + oauth2_client = { + REGISTER_EMAIL_CONFIRM = false; + ENABLE_AUTO_REGISTRATION = true; + ACCOUNT_LINKING = "auto"; + UPDATE_AVATAR = true; + }; + service = { + DISABLE_REGISTRATION = false; + ALLOW_ONLY_INTERNAL_REGISTRATION = false; + ALLOW_ONLY_EXTERNAL_REGISTRATION = true; + }; + federation.ENABLED = true; + }; + repositoryRoot = "/storage-box/forgejo/repos"; + lfs = { + enable = true; + contentDir = "/storage-box/forgejo/lfs"; + }; + }; + + services.nginx = { + enable = true; + recommendedProxySettings = true; + recommendedGzipSettings = true; + recommendedOptimisation = true; + recommendedTlsSettings = true; + virtualHosts."git.rab.lol" = { + forceSSL = true; + enableACME = true; + acmeRoot = null; + locations."/" = { + proxyPass = "http://127.0.0.1:3000"; + extraConfig = '' + proxy_set_header Connection $http_connection; + proxy_set_header Upgrade $http_upgrade; + ''; + }; + }; + }; + + users.users.nginx.extraGroups = [ "acme" ]; + security.acme.acceptTerms = true; + security.acme.certs."git.rab.lol" = { + dnsProvider = "cloudflare"; + credentialsFile = config.age.secrets.rab-lol-cf.path; + email = "nikodem@rabulinski.com"; + }; + }; + }; +} From 34ceff5b9dee965ddadba6dbab35a0ca23c6f0e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikodem=20Rabuli=C5=84ski?= Date: Tue, 4 Mar 2025 13:47:56 +0100 Subject: [PATCH 11/14] modules/system/containers: enable nat for container interfaces --- modules/system/containers.nix | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/modules/system/containers.nix b/modules/system/containers.nix index a0942f9..26e7e7e 100644 --- a/modules/system/containers.nix +++ b/modules/system/containers.nix @@ -85,6 +85,12 @@ let services.openssh.hostKeys = [ ]; system.stateVersion = lib.mkDefault config.system.stateVersion; + + networking.useHostResolvConf = false; + networking.nameservers = [ + "1.1.1.1" + "1.0.0.1" + ]; }; bindMounts = { @@ -95,6 +101,11 @@ let privateNetwork = lib.mkForce true; } ) config.settei.containers; + + networking.nat = lib.mkIf (config.settei.containers != { }) { + enable = true; + internalInterfaces = [ "ve-+" ]; + }; }; darwinConfig = lib.optionalAttrs (!isLinux) { From 755d759137ed5abbd574e4cbf279d20ca9b9d198 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikodem=20Rabuli=C5=84ski?= Date: Sat, 22 Mar 2025 00:30:42 +0100 Subject: [PATCH 12/14] services/forgejo: forgejo but make it COOL --- assets/forgejo/apple-touch-icon.png | Bin 0 -> 8193 bytes assets/forgejo/avatar_default.png | Bin 0 -> 9082 bytes assets/forgejo/favicon.png | Bin 0 -> 8186 bytes assets/forgejo/favicon.svg | 1 + assets/forgejo/logo.png | Bin 0 -> 27336 bytes assets/forgejo/logo.svg | 1 + flake.nix | 4 ++++ services/forgejo.nix | 13 +++++++++++++ 8 files changed, 19 insertions(+) create mode 100644 assets/forgejo/apple-touch-icon.png create mode 100644 assets/forgejo/avatar_default.png create mode 100644 assets/forgejo/favicon.png create mode 100644 assets/forgejo/favicon.svg create mode 100644 assets/forgejo/logo.png create mode 100644 assets/forgejo/logo.svg diff --git a/assets/forgejo/apple-touch-icon.png b/assets/forgejo/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f082d31578d19b35f5f794c814f7040a461662bc GIT binary patch literal 8193 zcmeAS@N?(olHy`uVBq!ia0y~yVAuk}9Bd2>47O+4j2IZ?Pk6dGhEy=VnZdX`DNx|} zYOdIIN+McZtN|?!UnQ9sn;1mD$}%xAdATfVSkt25vdTr;Ra?RP8El>fpwiOkJz7DSfp@xzF7Z*VNaaC2p6mC z(jdmeCl0oA+uQaz8Gg%u=qEVDO;8 z;(`C9lPb0On{RH2T6@6Y@IwK+`Tn1pX2ohv{k2y5`|sLUH>7&m7GLy;Tj;z{KvqYt z|FPur&yscf=Vvt?RCqh{ddlv*LDxf9UwzX2G2tbKEm=&B4K+^sV%)o2FGU#6 z^!Xrm`l(RZ>aQPr4A!&sF8%Vp^=6J5yN{Z1*HNXX_Z#Ah14UNuyO?o8xx{L2-JLDp zC3x5_yetWc*AO|dhwbxE8T*^2%zUlQ3SG=jE-#&@Fa>f>SS7;3$f6Y3pw;0bs3^e7 z)TH3x;KK5NV@ilf0E6p{&uq*Oc9or<`d9G6yMH&gZ#MpHCd2o6pR$p7x9hvEzb#dJ z&pl>pWH_=u{(|20ZgH7jw=cp4ULWhbk2@LhD!!qt zcg~Z%?cVRZ8QVGzKYXzFOV!><+N+a{W+vp7oLXT1v}xMp8yO}qL@)FmENxQzRbr)j zxVq44uEta^NA5lSFT4)C4CXarntisd^nt}{Q4=o9E%6gB=WLIzni{wMxO~@f--@QJ z3hoC2-tjjdf6TbQJICyF_Eay`txfMrtR6jBu_!>JV}8Be{Fnce99WJOv$2@`Ntkjs z&-@b4yeVCp&BvOw98U}HKbYXKs=`K2r2FU+qhqrt)VDL58~r+YL;cB_`k88r4otDB z-59Y#@Jrg}i8Y>Iot1aE=WU<;{CtX$zxZsnzk-+YwtxP|((HKaZP}OWOD<=|?Z29} zQm|zA-DjMOFRs|e@u0+tGkePE)L&`uc@$RtY|`LUVF?J)(CXk~6lHK)%Hrk1sQEF!Cty{NLKKls2 z;aL^?;KwQB3@v+|EBEi`Pi62_uV24wm(}aCl?E@K2di@$vD$3acDTGSDJGJQ_xcGZ zYisK;O^+Fe&Zf3|$VmqHg@uL|-k(_2rBuvzFQo;_!5 zl`@Yy?9rN$krJJoyEem8egT_cORlQ4iTK-)?cZL%UY+$TDDEiNGv^K4Se}0V{MoJM zWUYjR#Dddp)4kUIsONj+f9lZxW1P|_Pd|UYe6!)_FJHEFIwrAy;IwO(!P?DFNwKiRg(%$glB$+39jDUH}}`St78b-WdxIrsYY>*;HD@7*iw z8Ta$Yj|>Cnj{BjL`}dp6H-2$y?)Eaw=yXi5oRj-Ea5H1^ z*CZynsjrs_T8P~e)IVny86Tf-^scRqZSi4d{dmm{-YXtXnQ$Upq4&bO@JWt`)jZZc z*Z2|C&|_tGQRK6;iLdE97am>x-h*5-JsjNK+$6Xs{>Wf_D#yd|Nm59&(AHJj#C*PP z(8eXNpGNU8AGWiw*ihtXbe#LptP8E44NQW%|0jtQeEIh6(b>r_j1>1h&tIVVEiRky z_R*~$dTuaw8)c}uXw^NN9>cE4F5VF+FDo0l^Tmr72J7nU>+K7VJ$&@2X_}d&nPS`; z+p5i*H&5cv;F*42VgBX4i|iDd_14|tz5j|kLE1#T>E@NE4Vm_9Os%Z4rZU}|X_@!Q zPGv&st8kA1(^+OK)KV@kd;k9ZQOPYWcSZPWn4VUqe%!zrc<_k)+Tct_F{uyBmZ_b+ z+jjKfe`VDrZ{NN>W~CwS+*EQg!@A2TV^cvL#)mW>EmAMnT4`@)TeNMSp+1ZL zTs1j4xiuR%243!Z@%#6E@sICgo<3L*+im5N*xdHwdAnq^0F%b|uH|W`^``2F?b)__ zcXnnoTWW@_r=8}NCy$_be9XUEHD| zHQ()$N2>93F;`wmMd>g1?#0zLx4oJuCo$L2;lZO$XK%g#i;9>1?Y{3^_LA!Y^J`U6 zVdsY~GP?K8IYn)4ZI4!F*jeb8HLy!cc_@APsAO{QXx_;Uyo)YKbU)?#aLz`%wL@jS z*Ngv(#uapVpL=0X;;}88TE(@tE;=YDFF$?4e4FMaGZiNvS+jEWc?0UtNqWnzo0T&bHZO}$3-aFFYqheh6y9q3D9k=P)xD;^{<4I(_g=>9R+VC6Vovkpl?288H1<1s zU-4&?H44Z)7@=`-@tQO1S{l}LD9H@5Q61**@do!jueqxRdul()abW3OKR zeD3qscVBI?@9q4z_0`}xN4<{vUR(QT{r{s0g>#fs-Mbt%x|$y^Y{F827@w;X+eG}9k=nE@7`7gKK!{xy`yMjj&Tg*0fwC$8I63v*}`8e*-8ROop zZywFd26iJN3j;OL?C5rfV6^eV!o}7mpkEMc-30bxS0~RBJqbeW?j{Kd^$tm z_q-U>aMf))1KC$;ZPk4KTFrm%0(*(?w-1@zT5vY&o8#0?sSK&P+D1#gcFBHvy-DWQ zPtVUr2~U%B(|gJuJSaEL&|Y^wv)SqHo_D)muQ~Q>3Emv=?l0BTW%ehG`UPGwo z>eGN%Z>w+nDW$8qW#6f2=9{H5bFIsw<-F30b@ulb)M}&&stMV)I7MW%^qXfK(z08V zZ8h4lrB2Yn0nHU^~q!2Sy_Ae*GF$(=c!WFaY5GQyhQ#5 zf18gj{N~r=>uV>!P~PMvQ8Q--w=kP+oUHA{7vgMHae}9hNo@&CJLu-E@{7%B+M8fT zfn!o8OTWLE>g^V_D8EDE{j})3nP(Q9jCB=npSRm(k^hb#kGgNFeY%;##(R-v)n3(! zFStLXd@#SEmi1u?Tke6B_q%2Zck}^>f#3Gag#!tPT^9NO``l}O@5X^6 zY_hLBr38g-oy)2&Ys@*fz;sGmLNfoeP<5fSl`TBdzvrA=plB7&u}Vj(^GNOYyXFQ{ zbF!M_c9*Rc&d|vf>vVCNeKm9WTrp*hG^325|9%dCY9?xZ=wu1Id*H*enLM|m3r}e- zw-8)`4>Yl2|RQZpH?wH2qyUQBrc{T*t{w1)GY`+m=WEPCt^~lOOP^{_|P$wN864KVJOs zSjP4B@%@~c_qb2COcdf>C@y<@>wMMrv`yk)S1g}jcWae-!3Fm3k@k;UFWh{WekACT z7F&+q&a|vgd~q^XlCr!j`4fL-+{#P8z!KV2y~?*<@PqjcJxQ5=tKXjA;5v8zHjm)7 zJd8?Kd8tNBGrCqx?YeV7G(5)fcjRY%OQuaMOgveOy``P^$0cmy^vfos(vT@h_4RybX7p*4uriOZb@S6i*tPUVc+>RF?1eVJD)7q{jHU6HXff<`S@YG{I}gZ&HhcRV#`fcS-JGW zruzT?u1$`ezU$_sr!BEOD*cUbQ)F4eL@6o-ab=J4z>Z(%@ zWBy#0J1{No=`5D2U?y|BGUi1c#dE`+eJ`5%!F<6iM`xZ#Pnx%eGJOrI@Z3}C-X|kD zp`2^w+T7dQOfM@~+%e^U=gaR9w&v8=89z+97s(~+J+L{@x~0MB#RZM^c^7!jxPDyD zsuBBOUiG_=);ko8H*d(2vlY1Y(EZxY$|!-e`~Ls?-C;h9-~P{r({YY@Zao|MVrS&> zNU?FW%Uk?!WbQ>iNE2y<+O9U1FtW6n52-sb;_KE>q?nR`OaKjkof!CTd(rBllt#=e1WdBuakQY+Ac0H@%|g zz=3zOMW@HtRhBlJ1tlGH;9FJY>+wlfK*X>6mQV1BkV@Nh=WphDcRWfiCaENZMi}3B zS1o_>;L)#rw^(AWJ2|C#%J0{HKk(pe*v}_3EULfVOrKqR@eI>lgN2MrmkqU*oYqxF zbc*q){#$ijr8y)y;mHvDgL?64>ey2(^0yYq*^h(&bf%E~?|Sfc-7!L$3WtD^p~|4t4i4%~>N> zUapXM_t%7|&9&tDF*w@T@yCt-ZxydH<^Mt5Z7aQhWV^>SQ?f5rln#SVu zyH{%n3G~b=d4KkKHPTYd0q_46O;whk{!x7(G}Z#kO1e($rG zv##Q?CjQCS3ZHyG70iCS_{M_A{5>6UF1GF(<;TuWD_MVI)s=q_oFdOw88tc1x%6um z%NNmS%dMxU9K0iD`>#sESiUM}X~3h~`~hB@zMkj4Ge=>$#_DZHwb$@9_o3fm2t#d=$Pm%5<~g>C=~AywEJTkZQ~FSvhmj^ZE7rew;XU&z0S(e$V6? zUE0Eul6ooG+vZ9yP?6Ja&`O-nKO_E0`ORmkv0AG4UuOAapJ|Ein?2JgV|rJh7|R#d z)l$r1785VM;u4%QiG6kF+UV_W6Ma8iulaORz4YbcQ{8?tpZ;?wEPAUapuH-|N4Mtp z+wG?|Ki*>XD7*95$D?ywY_=TOaP8Fkvc~C&j@;$`I#+n*XI1rGm6~b)Yp>m}7mJsf z?J%2Y_2gR!%cZH6hBJ!2KhB+)^Q3Y)mrbZI>&6ntf|#)Nak{;#6_OSPm;3%c5Vo4y z#I4Ve!v0y|NB0EIeMeR;lil|$ORaYKlvjV6cCFjQ!W6q|w${vl|7NPN-udAPclrI;s^i+7O}4EwcdlMi@ju_K(qg8NwcTN{GkQlB zI2TMj@^VT3_50m*AM2;{eY~q`DsHaTr{B5r3sa}EYVpU9r=~KWf4*CF)`EI1y%+B$ z?fd-qzs9Cr`?tKfF^z*`Rb$e%J-oBzJEz!B>^k><`jk8JUbo(ttI9rpwD)Yij?ngc zEy>9S@9d@Xtq-pH*uO~l4zJMusc)`^s}^ruyF}M^GV@ZYAHSX0K7IYqXU1|Pa<=T! z#H-)`MVP$rd-X4mQ|6b)Y_FZ?t}ftA`TcbH{JLKr_b-NR-F)R??2q@{Z{HUPt}c7b zBropjd;j-sj#N+Wga4EYH>`bPclXVF@9KzHl{($XrRTi^o<+XV$h>9n;KzRFR2$bH zSJ}HSWlQ`GKl=7d{Z^*3%*!uypI$q6biv7$ZB{Q}ctN7xDA4`2NE@pMT8X<7?)h)JM3IDBr z@pT^>tKa9^=?QVhbp6+StlBrFXqR-woaX3dADotTxva5RT*~UR)Ue`$*N@Y(f+|Ve zZPn3N7vz>Io>`GICqknO zT5`+N|1+XaaxSeute0Bfbp33G;Jgz@cI7+YNtIy}w0);<$uTwDQK0$zR$0SaUuAdA z_4J&R;Lyn{bWC@$FbwPVR-03v+Ugc8Q+;yUb0`M2gwu{i1V14oa+>GJH)WCT;vZbII*f3wBCBoH0LO z^XBx;UY{A>FXv^i*tX+L-UUU+rDvbJFdx1)cjLMzM+y&4 zP5F7)MbTGxK|=ka=0Z!WwkxqOyjQoM$-5x9b^pI#uX$C31fy>rWyy9^&px|4=RlI# z*#lPfPUeQs`p)NFcrwpvt*lVy38wo3Qq#jGKb*PMdVbLL>i2uy7hON+Ug%(``imP> za!oM4z@ig2^X7uNDwo{+)D)ZoCOHNEle2o_$uDD}kn5_s@8|bJhd&s3?4PiEYTvGn z6ONyJcd1li-Mwm+7mXh3ZsFT@vE1%hrK&6}@p|o-|IY2{=W4H}9Zy)hPpR=~jQS%Kb2^HwlY1UJnIe$Id&X-cl)i(;) zZO{>#G<(XDVqu9%4=3K7$n|#4gZFPQ|92ISDsL3bc~Sdmt8=^k1+6u2UiXG+C@g#D zYnDKTsJ}jbThpCtCTB`4=AXwFyLz7g^BzI%JPp(1hd(6PC^&ab z=`Ci}7g(II-1f(VW+U#Rqt2hww@hO#ztj26sv`5kS_gHB^AQEF4z}3EE~)ik)V|8? z@$3 z!N|Qn+!5>Eb@d1(`f7&j*PoxrwswQD()E>9rWZdbtm{5F%SCKrk6G@mCG*d63%^|X zlx6BplNa-pj-_)HsXS4AHt}WXDvdkGweG$u;7b;t#$2GZ=fG_9e81**E8Pk;YUDO= z(_gvX`__g4<<}yuA6PYFm3C+x){=`@dfw`_PF@d#mfC;mu*D8nbeK8*B~957tHHag z|Ht)3E03+n-~08Nn&HnSv3fHnm7Sl!w)V2J%bBfaz3xee+juW7Zf~2wcGo<>t~b=Z z+AnF(87H2nme1!DhcI7W@SDxVng2xA+Nv26>pvGhY!yGYB4tXm$%}mt|NVa7@AtCA zUM={LQtaz_FRyzyzf%?wZknupciC>GLZ20j+8PAz`AC(>FPy91_DjNZ`C&D~vb^n6 zR9n}Wys%>mfB0;6{ zi@BMu6f9-3O5ep9h_l0|^W&pADcmn&mpgvf zQ9Zi%fYD`rb4ekM9X(N(U8G9xtue}*f7f1xlroMoYw8i zrrYcO{!$BEuF-1zcHX`}pH639=$COfuye!Q)sN|WTSbevaDX}=TxNucJX z$qP%tYt4z<)6PmU8A~O33VS$Se7B%TDrtf<`(ZzsYQ~O0fubvSm3gBs7eTctv+DQyDL2)V`fpQ-<^`nzO}qNE-y%avO!W`SkdvO=@b56 zM~-+mtF4gR>{L`bPfu5>b=unK?aLg$vtFE)>gAB6_2S3N$w8q~Tf!DA+!YA$KeKJO z;KnIhzRmAEKeqDEozZ(#f|udghoz4C5;KzJ+76x0@mLeP`Bx)YAgkHjlIY`j_UXB$j_0dcoO>#6@2xHmX79|Hc4KRHxYU3~M9S&0}CtcJy>{45?szJC}7ri2L<6 zY3_GAE)4=sJl(t5Z|`_;vYoAS_X0tkcYH@K?qE82SGDnhz@1p}yPx;Jk1t)dYg>Zk z&hlsH?$)iE_scG4lX3Cyd+#nUKX1sXATGnT{ow2chaYZO!P;@YazV_xn97l_^ zY))Fp@D*#>uq=(-oHofkKTcNVy=1%cMiE2CC$1WcbA=%&fk-0@A)rXrtip| zCF}=%EN-xL>?z=#!Y*GE;E|TL?8^H1c=i)=5mzl_{>9e&AG#Z$6Fsw`fM4X-dHeqz zo2tL(S$@A${IxxnrCTz;&|+QVe}{!zv#w6Eez(JU{m!`?7I88tFNi5VYdUG_&f@1@ z3!PfOu*;?FIrz|{IsTB3#`1Ypt9WEA0#1B;d;4eh-e+}&p3ijtD*pcZTK)K=)$8|d zlCSQUY**g5ciXc9?i2$Lx#~BD>#C2oH6PveEYHmIiLXXxW@gcY1B{k(Z*OnEF8@tn z&q0^|!-br4_*&y?zh1RkYOi)ZzJ9Om-t*~`92|Fup89;=UjJs{hX;=P6sv_lmOL(S zar69PXtT=vvHrdvP7)la`u6|-7hUxH+}i6g(UVzbIh~xUJzXb$UyR?8HeTr^H9tT7 zVm@yslW_BKfl2f11s{^0`=s37mMf&`JImza>s-+@`9f#n1M+q}Wb2%Ab91`)!6w$P z?eFqs`jUeg|8cg))qFf^lzYphb6P96xYsT)Q({Nu_q*j^S3b0?{{C+2BG>L$rPnUL-`g)65Lffj^<$HwbK8xHZFa{5%eoHN z1-y7VJzlR{TwiQ|=FLq@SF^`3v7Zyn0&%U)ad%69e#2I-qiP0VQi`!qFvv|xi)2eipioi0bLaX<$ zO;-2pJ9ysix6huo@=3S0X1|uc!J94N9$}QvAunj9Xh)#>G$W<==AI z{qZv2*+=+iOpRO{Wm+q&onSfnl*PKH*CmSoUM`>SW%Tm)_Vsg3qHjzumM?vEMbJKS zSINpLda<{pUTV(T{Ir5YuH{g3@#kk}C#P&qIVn^v8+7~i@h6EIwZFay?w2&roAc!S z{P_DP&KvZ5ipsDi#A|%{b~}H%taX`3zy`kHy*V~d95sG^dOCS+^mZ?$AMbX*e^c_* z-&gCw3XXK=ws%jbhR1!(%|G0HXU)cA&c_^fKAje=GI7t(XS2U4f2@4WVKn{F*ML(~ zG?fpx^G{d!^srt2)z>KxL%IH(oVD}x(L7lm)X zSG8KDyQha|nSJ!r7^Y3`kIeqxYjTR-p0{@QqsHZFXJ^d|{im~Pq17@4bzwI4HCEBt zlj1&~5Y7HA#`X5%;`Sv%z0&5_UT5qOFZN#OuES6BYS>mf4BaEIraa33W@A^7_urvv$pyF0ik0PPk5OvHhE&7aDc(nbzWEKv!T^j?o?K|nYVZz7hNd{u;?`ZCevW zXPBo*HylMqweakAB2S0v3pZ}J7 z+x-4e?H{|?O(sVwXG@#sJz41?XeF9*_1)>M6c_01vj!N-diOEkVL?zfv{aG1IB+VcpF zS6|(yYK5w_KHPKD&bG|Oyyel7Nz2N>8KTQoeg1*XmbC z@c2*Giu&AB?Pb}h8NBSq{F|0)PI?VaGX*5XEbgA#q*iHhZpmKW0J+L16A!Sc%?M0T zEqK?$>+^)?O4+I3-``J{VUTXP#r%XxSaI#wcPqLt81PPdc6RpdW|euo9?}k5v*LXr`yS3)TP{_dRzJ71n0X14$ST+UPIev^wwvsilqYda zG;4IK>@n^zNIe=gU8bSj@hN-m)47*#?5W)R^{)Fhk8f2PQ@Z!cFnyl;hX2)ViA(1D z+JhFkbRM|Zdb4Rw-rZegD|VZnVczZ{NficB1p;vb*&~NxUKvm(~{e=_uXBFm+Y;v^NO_2oZomV=v+%?*yP{p4>)`)w?Eyl z8NF@Ii}jUJZ#N#7OEzRs;~b;TIm&K57knCIj?Xg9e#2NaxwBzwK*c33 z^+RXv<}JALCZg)?*6XLP$JeiIJ|w6lrW=*QKjE|w%bTmsMwYpUJC@e$P+s>mH*fdb zZ4=zfWQ^0#ZDIG=>e1Dl%JzH4+V8TZyGvdwwQ`G#$x57^Wjgt2w|KYm7Xy}j{s~^s zSf(^MNgn3^&1bdT_vxvr!u#TT@0^`y8!cnm4r*#JtDK$FFeyMo**MXTc|mW*3s>=2 zm7XZeBDwqZ|7%0iFLgUF-2dlOcMGpu&W+a-BAKF+zxA5mOZc_>y}$Og_o=3Z?>25| zH9LHm-|oi(9yyzcN$rnM>+j#PnXAaPC?WoZzx`j8#NgVk(Jg?T%-+%fv z-Doau|NVbHoj$b8K!^MADRHg&YxbP@di_r2b4|N{vHxbL&#QF1wKZG)PRs63r?i*W z{QR`bxZdZy)oYzXmPNPU&hrS~-umgHu-gs2#?H<==Xbo@_4>w2ug~jiCQJ9}Ogdxy zn1^A5jaI+V2jgdKi>%U`$U)2}mw@s2eE-&{NXH(x%@&7?H|C03c^A26m zzx?oL$cb0X{5A*dm)|jev_G*s$F5dVHc{ow+qo<<*Mu)jS>&;LCP!+tZoBfEh@Tnz z-ELj_t|4;IRkm+K@yn&tUorf=;c}u+rr^#r3mKilCCp1UcTV`fV1w|a!-8oN_qIoU z-)bOeB+PZ*&_ZV6`6s;#pPc7->-nOfWoG8(WjC3Ztm>R_Fd%R5*RVp1Lv?#@-E!5> zQF;=rafh|c;*ihrKH1U+o&H_-bb?i6`V0>5>%RD=QNvfUf7Y(p1ossiXYqeE3M`Nm zIc0Z`&pjfWFM|7vwXet&uEJBh4=;4x`bUA%zq7OPWx$NJ zuL@cOSI;fGKchM&zUZXtBM#-fzlm3^SLY`!*ebRmjnSlC+2zBD&3t`_H|*$a{JbC_ z{LBGCqlmq3>?aC@m3KbaCa{gUY{$#cX*~CC{1iSVTYg88&po2z?bhoh1#jAq`pA?t z1+5BM8DMg$(4s;%d_{mGyNA56y6J)o`~Us&mgx(5emj5v*68|hQ@ITcT-p^+WbVXH zvo%)pou#7l=FBw?`#&F=H=N>qU4L==y(;ertCQ10W2H5g7`fc_5&F0dEKY2Ebtfv^Io@!aJb5HW|KG{RJ4*P6Qn8vc&=U(;u zy@#GzuDKn$r=l>no;~vA%+9ze|Rit$$>)yWF-5c)z zxVYH8x$fMoyPc8uy9GVw@jPwQzdlKQPsYwlx3AZyYKKod)+_ya<$;4oe#Nh8Ij?@q zaK6Ix`Str=yf&En=i_mC@qf|(czC{TIPdlK)z#Kkp&RS^E-vx6|7)T+QTz4Z?}l=l zO&m z-q^5k18?NosI5;Pb?ZM9Kf&GX?;GagvovVonvX}iKkpE?H?Lc~Qt9Wf*X!MFE#B{Z zF86T1ZomSD<(ZBv9<9%P_ChVM0I+m$S)DOaH;T*xg*- z#h=a{=6aJpuX5Q2NwwK`J~KTFX%H_sIZ1Wva(Aax`7aHJ&K;Sz?|Oun{oDKd<8QFd z{y$Gp*{*Uj=Y8jETgujJa`RWrxO=*FmRL#OX(iV#j@_G!4uq@@^R;M*`2X$M?EGt8 zmHSTU+ctbC{_v%?$WV@3J8aE`uRPZ+Jl}@p?d%VnhhDJ1zWr(C!nd93{`1aoa4Zj~>2jSSe@sr{9)F*M`JLyy zhcACWne}z!q0F`WKy3rni#?LY$Nt&09o%!webs@(ov&hdWL?#ID|%uZlMuK4|391a znOoxPF5K9h-hci5C+h% zme>AYyPd!P?QMoc{s|0a&%b`MtunNIB;p?5y}6;q3#<;y$1BER{f(f6LE){d>b?_k$+xA8I=tRSOsRTGdXBUCDH>$H?IQhLiK{>nEJfs8ZFp z^Ou@a#NWOCxUWlpg2sP=cwxDQ`G;4jIqX>?5Z$kACn;OwNF8kBR zzAOHh`~Pq8hq@aA*Dn8xhzsP*Yr1o=&-%;hyWxKYB;|U9ef>WB=DDzOzVomAZ)bb+ zN%F7Gwm3`Cp0a|CCrpf0t|jRjUzgY{+~vQ{T&~#i4!>mB)QSY7g>LKj+(_4q+OlFj zb4&TP206A*R~9+-L2GOw%-@7LX0dAIO(V`jjm?fLP~zTNzk zcKWl%6x(-SW4OPcT;kp@ck5}GY)Z`nIk95r53EPGN@QMHAz1IA_u>fmscE{eUo#|% zsCxYQ`F#GoefH~5pD*%nU4MN`W^iYlYq!|PL+KaVGXKQQ_kQ%?()U@6=M54pp6G`i zUircNhV(uj`L^=Is~^tXFriaG@FaizWQm9OnBv=PPwrh1wA5=KpTM#E%}1`R46d!5 zzlXb;vETc}H-~_P_!{lZZOdzW!WI?q$MC2hc>nPC2JRf*{O0KgE+^OtF0?-~Vb6-) z&*NklT%3}9|A~o#L&4)~)4$(bA8-GWNp9Yw*RdrRT^&!xKE5eeJAd;-&$b5jQa$s; zLoBC!)j*xNpF18ZD(!r`?Y71D#apih~*fRDX zv)-NaX;PS1b;Z|MU)Ct4qr!2y-`pQnJo~*jJ>>m)&ieh8?>qSCrR#WQsWgbLQ*P9h zw^?~SxGILHsPS-%t==Sy?N2oK6g@q4bNS65|8J@UDm7k}{(9eV)>FnmKWn5FbZTT= zzVy9VYIFD?rPp17)fn*9>$|Y{Wh|G&| zvaeI8oZQZM=%of{^{$gw!{c@14kqzeEwfi>eq3A3ly%U@mSw7sgx3}Mn&;={J`${% z^Snb~{oW5>GX5X`{KUyk{pTznH(xdz+04D$`4jYn8RuuRa;;-#DwuZgvdOP@`8taq zE8pEazkctjCtpqO_h`PXiA{@C7xMdEx#f0M{(Cno3lB$&IN_5!*3N&^)^)gzS9tw{ zs1vUlKi#W-?>XUN7JNxY8W7NuJulB zT3KFDmbhWUgX1OZ^X~4N$II8YH+X@m+2Y=dZO`9^@WprSER5HhnEO|vbgNfy+JR$g ze15I}UzKz(yu)&s`Cr|X&WC|M{$4zpi(*$9)ch!z_p<-lU&EO9(X5ju``gX@&)Zgg zG=D~ZYN$yhufDNdfKPSPg>P?fzjljvN|01Y=6S7Ic{i_7l)7WXvsY&h$<@VW$v5ewQ z3w>;VzTf}%8kLP#Zo_#J2L8W%ji-mJhcy&yMVw?Y?_;{f7sR_dHVm{P^he z>G3!A4kG=s_VZ{NR@jyR$+|iGaHTJOL$c4@XO}f!Io;S@_EyOK%LdE-P}@S~J+>TIeV#cjOeoYmnyo16?mgm_1G|OI%^q4XyY;l{9JMZedI~H37 z^)KdlsOKKY%EwdcczRlq&9y|~qM)Cj{#5Vbd&K)XYoX&V$uL94h5MH+UlX%4$nQv9 zi^O!hzgv9PMNE`GV|cfvv{!lSjegTRG9}M`{eLg8Gy3wXu&4j0|2%%bBbJ}V{NqYMOm9k9%DgD_ zx0wF4*x==_*u^eBp60(`E63HK!i)2lY~pn6)qL^q==(e=A&c$G2R5>Zy8U=v8OaqY z?{;|M&KH3zt{;dB+3;~v<>zOH4;D73*qlk9+{g23ibiEBv(H@o8^NG|_~r4F8b=nCujaAaDdU;Qx=HR!_1yMfJJ==p*ypHz z_--LF#kTnQDW5Ow58oF%K1<(l@z6;E5R z#$mcao&V;GvOWG4cA6ERAHP5A(2}n&#PL_f+kZxw+QB>Qtw#CkLf;f>pIj)6lKAlb z>*47CN5vP(96Xe5Yh`ivP^Q^lZ(lbq#{DAeQk%M)gYW;}ubH$s^txJ!qSrr}XO25q zE-Z58wr>8OG+Dvxpl_U+(?$Ntm(~1^mnF?_xV%Dh#jNG>Z+PBlu5tYy{cor8Cu0Gf zZPR$l5;tGr+vDTjk|}JIEzEIx&aK_AwS}+pE!_U@PgUrOD!H;#KNUX(+KR?@{PPN9@e+uh-*MCD&BFHJy2Xi{|1+$eT(Y+=SLs@d)6C!}9lEl!FN&%ey}CQMy~@JC*=-RYif^NW*o2Zk$?N+h`ts3;WPJF_(vE8 zN9^8n>C2arZw=coKc4yFB;%0>?%PtkEN1*j-K^kza+2!XY4wjN}TR`(jbtm>* zHoiOS_(aK|r-g}pTy=s$JBw2PR{Pw3F4D2k{rs}*z8RCGEP21~@jNGOrC!$I=C;JG zS4!QA<7fk$a$TJ0-hztw)j!=HGwyfzwn&Vd{lTLd&l4h!{PKDt`7wrx+xkO;i1^h$ z;r1oQLc84$U0$V=y@WYsoj9wkn^We=J9X`c7k5u7W&hEVdZBT-&flig;GJf#udS7? zURAtnb+dD?HE*g+N=>XxUxoCw4KrqoUVO|DxwGQqBV8eNodz%m^xUz@gxR%+=l;@Fg{E@q_6umvLcka2l)|+!QXYbvlYO?;caA@Bh zX7>Zr6Kx~TRQOC@V;U{V`M{=6PeJzu#{j{a*9NJnM>v z_$nTDowY|yrFQq-y#KZ6$AWK6AsgH`>h*O^pIM;#hr5nJzOD4ZOM`GFE|Zc5`vaDS zW(D_ouODPBQ2N7L$9lglRwe&5KD(!yoC~u$UeDrs~60 z;TwY6+P^;R{ZJDjCuYFdy!gLJgk)H|c=|@EH5}e42$?mD z&eUj-VfZ&a zwefrh+jZSFQtyHcZC-6Zck9rdFDWOk%(7bP{!rxxW0-N{;XqzH{^N(3BUf!K4(@1O zZpquRKyih2;|Uofv#ptTc5Dn;8+G-b{f1Z$`ApWhySH}|ID zHm*~GAAKyBXZuX$G`xKASfl?V#}6fsJt|*0F1&N{>@JSfzjXx5zqjTBz3ey;}>aaAu>tN(u8P`JcI^#RY@x~FF+`n88{ z{kY+qf`9HEg_$d>rEM-g>)>Xyi{K1mKgm|nH zJDkfMFHSHx-{sP`xc>jYZ~r`Mg{@?Czq%x?3|iVEdTa5agKqZULbT7eFu51r;O9!s zvT>eq@o~iVJlX5TRv!DzH2W8`#jH%XiK~9Q^#`A`<&3*I{#*0RG`kn`-C4S{+2*!z z;aZ-ENH_KqLNm@Uk?AX$!PuI6TB7wM-|;&;i{J7darg0hxMFR0;k}nN_kR~~_RdZ$ zoNTni^tj)Nv>A4MeC+;dQN3=}GY&k~V4MCj@Xp)Y+q>6W+&JLIexfeoAdA%T?NPac zb9+<_cO3hBjjuZYF-P4};WAw>8NO>@u8MISJaf6|No%*_?4R=6vqg=oBx@5_Dr{qT zeDTt@+}m8`?U8qn2v+ZnU-pj0T=ia|yhzpk+V3ZY{cRL;F3y=ZPcMf*d}ESpSnK(1 z??kiHkM=aXbA8!-hmBj({Xik?ml?^3RNb$$JM=9G!6SBmz{EnD~|=4r?LPGR+1 z{%@kxQVVx1Z~t#v_j}fqqlK&@r{WanJ$#VqE304~w0+d^P)ecVosyrRrIw z?Vg@@9b=K1J{;mMZQwD{Y=4}nkrQ+Ba^bwk4;GrpD*R3moE&74=A7tp z>EZ2p9kyq8-Ce@d_bRV&p2P)(5cU(Z)lv&e8bQ?VZ@5n2Ln<-4ak9{;setdX1NkRrRsICPoLg(i$&~sb-=2ywOXBr3x9k_Gz-1Tc47O+4j2IZ?4|=*dhEy=Voy)pGxcvID z_&axB=Vjdey4LY7Ykqh3-NNz}kKXy+o#0ehUcTGHb^X(t^Tzk*&20VdHR-Oe*~9;{ zE8CRJd*}Rl`l8l>FN*Hbs{$vEZxW0<;l}_ zaKe>Uq1~54t87CUxY(K%r9(tlF}Y4XbV1WYOeaENx&QoWv-9^w_Ewopkz_j@dm+eU zLC6b7jjTQFo=d%^y4>7RxL8Ch#G`kY;1n@7XTufqQ;!rqof^LCY)<1RXF+xDEsT>G znb|t#t_)uON$0Hkbe6l^l005vFJx~VPrP;RsCc}Lgn8Z^6*aY@#E`}Bm|f?%D{98< z*f7VYGU(j%z2EO$R^QI7#VE;R?)+KdR^Ne2P(0&xb2=bsm???g^o*!#ty|tPFO~O;Zyw)N7kmxh7(F z+1e%UPEJiRRWFx*%RN$%IFWS~m-S75X^qHDDG4twEEM8kQL*Kdu~1;;5($`HDb&R= z|CPC}v6z0GPUWX37u6%AjbbEXSbf`7qPOK-S`nyhS@mTF%VF{OnuXssF`QzmJZI&> z#xJLH&>-muM{QI3LhFS;j;%SxyHV@%T#W61Ia`(8`)=5#`a8@k;#c|k>FMP9 z|9``qSj8D?n|`lR_WqN&L*`eoeyx1{AH(-SLVWUdKNj9Py?(;-FIP__Xe?Q>#N+9y zsb4+MwH7&kY>u4zIx3UD=(O(k6Q`zXALX9@oye1n({t})^lE!HsD`f0y zBG&DCrDghxG2l(|4v}BJ;ZLuvjefoA%?$DQn!wzp#!oo&GeX+UuNExWeXOkeFGE)> z&-#Q=yF=$U#q2Dq3M=dV`1tthxo^HaDOz#=$TZ#PF5$YLPsQ*01ucBO;Krc>!7r1a z9^|;7eb8h6Z3FWa2?v|9u6(b0Snap)edXt8XCF&zhBP^6*?jf9xGb%SEgz{&qi?xG=<7eeImzS+TYI zq2pSW#94x@9yoN0Y&$Z=`5NCt+qNi!v}tEJgKcM4KUR<0 zlCjXtkc(?}_SYQ;ZF)QoZuljgzb8?DmJX}rp2x{&qu*UwIr+!Li;LY?+v>C)dKT;Z zq~9d{{Jg2{a#bGjN0Kf-KfGCIXWoP-r>1)UJ-sjG=BCtdCyK%}bpACgDSm!Vi1)?f zbpZ>T_Dy&hkaxn?r+9kZtCK(ee!qY8xWRg7?u?bE50~Cmaf&jR5RI5#@%QWX*W5F? zQrq_|V)~--g`-3}L~xhHDcSa8HZqfvj&`v|#xgC>8#qZX)pOQdR%D<&8%o4x|{UsCrEa*dF7Ppe>LoS9ab?ZQ+l` ztEC#zx1=VoIaB%T=~xIeXMT?OE>jm-UGm=Y%se zjnxmQ%*?&L?d1IWf0}!%zl(jFn9%2ZZjR;G%9YogY!|98m@`2>Bj1#rODA%ZOHyyy z+gq)7%|D8DEX?o~{KC8c?>Fh**Gck7W5j~z#TPu-Y&{8sNT*%Q30 zvdlxxJ$-$r?*IQU`d;1d+}{&5MQ5?x6>hx7)UNpQ!oubw2H#Yc9$q+ae*cTeOUE}{ z?ER${yue&>c?=Wlj~ON6RgBd$zr4LY{i*l2&);NT?3W9jd8U0v@S4`M8@cwz{;Fej z%4{y&Ja7Ka++Q-=K0P&C=k{0X$&{%Rc;xNweE#sS-~Qi;NoKnf|356MP37-ctGtCb zT<7rbIe+)=vRG2^z5f62_)ftWxfjG|ve^PO4B7yIUTzxcv}433kf z*JIuJU9TuD-hQ`iw(T3a9PLL+RV(M)RBk#V9UfEITDQ+JcG3Jx-Yz#khdTx_%M+>?9N??apUvYy{%J9*yz zzfK|3-z!;HRtD5+h`fqieEd&;!XjaG@<`Fvh=Q{2M*1{L={ znW&G_;eS3H=AUF;o@e^XPVqnNS@Y%aU!JOecewW&zBpC&uPZ$5 z+#Jv2d!)W@PzbUtb}n~NR;*Ke(kdSJVChU>wVB>RZ{HZRHGKJ+)3zk-?5tx8bfp|W z{dnB(Epu4!^P9!X-3+c8MXAbv(fJ~~g~_W;MYr&D`v0zs!@v8UwP&}O_a#1^ua%q&%;L^Iu3YmQjZ&uhwfDN0 zy}x(%k`}MB@yXW1{Yg6hHwu0}oxa-9o+tH0k%yY!9F31GywikzOYd3yt~R)FXi=E+ znS!g`^S3QzejoK*GoRj0h6#Hs1}>)B*O_D}U!sQh|0{Ajy`&y;}Ag)52z zmhEA__*|>*a6-iPyt#Xo!~8UYet$ggE=CcP*9y~)cl#Si%uqkvDU@}=+}ZJS^Ziw`c-th6({8k} zwwi6-&a1M1|G!;71ez`F`DULX>-Gj*od3zw@-_7_Q_gzt$knWcS11Vq3G?_>&L$S>^Ylm zv9EFAKhMc(g`%Hg?f1RBy!>*;QpaYtGc7673EO;5Y;bM<)_pCq`%mOH=j^+?On19` zZqK`G;qYIk@Px*H-TJn8j<9W?(<`P|ytmJyETYglhJ>!W-&`H!FT+1PMf;_j#BD{1&%Uzk1cx~Gt+`;My$)u zppADMLRJQ~em-@xt>G=ljcE zlPOkTbYWJb@|PQFPV@hZoG{&2oZVsFF7WZkp?wmjSyvVuJSpsNb5PX%ck+kkMJ8$Q zyD}J7CH%A1KVm!@Z&M|4Qpp;uV3ytSxtz~#{BbhOK}6H4;(9P zIhg}=PYAzjj5vLiyQ{)+bK2P-N);@HlUkq7s=1KS{@f$HOisNst({-~+V8eAvrJE) zj&hVUev`cBexuD(^$vH2Lg~0)U(TF)w_qWt;Tzt2Q{6aiNB7QeRTVpV#Miy6;rYh= zh2h8bj;p*z}=^2~T&PrX6^Iz&U zRYp>#pK*`-$NhJk4o|oH`9ye^c&X4$p%+maNi~cYr4MrS?QlKXCED8W{XN>kBwoR9UORpI{`Fl+% zlBY|m+}X3jXwK}nw^BcxHNQWl;9*D7blzEKFa0$*bo1)nW zt;O%|>=e>+XXu*}9~C)gzT@46j29|i@Mjoq;k-4e%`Cd!p8FT86#Liqs@D&Em#19p z+#DWPxm3oYz~NBiRfAj1E%W*eE=q4&{m4rsRpL?kSJR8lPmUeXW z~|OcuDrnK zMG;f6)enpHd%w+c5l;JmQ|Mo@L(H)JnUU6Vs<{G_yYR@k>&Wt*BJdrJV%7cxb&W~4KXwIt7{rczh zDHb)}!l@}j0?J-bPfeXHr0T`ebRx;SrR?GU=gyZW6j=yocCEbQ)zr8z@VR1WK9hF& zy~^c380N{wR{5T5Us?3eTE4wAIk2Hz?^(v{*O`CirI&84m!11va_YM`H#fIip6KB- zDr~vkXOeqs%HPE^wY~LOlm9-Ks0X!vjV+R+|J&|o@cZ%a_xo7$47ub#4CfcrdG1K6 zcu#R4BlaF%gpQgL(<|YRm zW;am3IraMCSNzL)WUZ$3tA4**9V959*GCD9E)>i%wM2rd1g!TQ|?nWe7eU!OUT7XhOS$ms9I8}@z?y>tF!ZN z*Dp!9sP%t;@G_sm!$+TXxiPI+Z%(~K z>w*aytDIlod^nNUQ;G5LqCBz0vbVRc{;#~i*QGE+|J-wloQ?YBcX_4FI-)a#B&t&@ zT+h$5eH&_3Yg!=0*She&f@ai~jD%NLRz5O)WBf2}mD=5&^1G$sH;(!2x2Z1qA@Xd& z<<|$#s~4_`2gPT#=by`TJ?$)3XQzrVj5+suxf68wMm%jGlK%Xz*y ze@=RF?bP`jte=f`EO?o2$a9Ln(#dg!y4{bIKd1bxjHGgF-H^F74<-Fz!MQ{x5tJXS<))w&x|B7N)VnJqka70lXGO~mEQ${6rPhIiO~M|DXiRL9rF{!tsceH_tWX$#Ay1#Qf*@25q_O z+q7HP=LN?G^XV&DT<5I0(37z1#hg~}Jl#8W#S=cC5kH^**=oyD9U<784GIjQl-efD$O91qS}@!LlJD1Uw7vtH}f`+O^d zm-orpmSwMVQ>m0siZD97S$X@apB;xkx9U6Jx_|KGvp>FM*Q~?GMMLd{%ZAwm!Z9N>^1lQ7;o2m zvu)L1)`>Z}0b*9nADyN=G_TY9rCpqQuT59AAa3)U;Mdnb`z~Dg%KXkduL;T;Phxn> zXRUkF{ebc2VIke??BbGrhfCd*WBZhvj6K+bD(s$B?-%Ec_dHSY*zffH^LyVIc}iGc zoBX7r$`*%PNo~@Z`MrSxrx0; z|9Wsxf=`Ucn+t~zo=;$H3jUm!@#nqjiAKAZvHcn6x)N{Y9k7!*;XTWN$KQ&pwRme> zz`j5K<1GRjYee47_IIsIv$d@2`+aV~RELR5iC;2eBU1Es{m6Iz{$E7p zRyB|G_1m`c-<{?K1nrfQ`T4XZ_{5)0`vZU7=N4?a(YU~C(chT73pL_wSw9>RTz`p`X|vqT-mv?Jrz>86F|TfY3bXTnnX;2zS!Z7_ zyJ+-qrLNxon)`2dp0=9MVP5s@-zHg>%l4LkI@r$te^z0odwqGt+cRN8;u1ccSHC|{ z2$3rCiF>iaOrx`WN71JpAI@37H&||Uc`-x3_^mHX0v0-5+FhP6XMM?Q-y`06zEK$m z*6dq0G5watq%#`B=KAX*=md|oXG-jV9sO;8pFyVE|k=PzLu>*xB2QJxc z=bce*CdRz^)AK$1I_sSijc?yudpCh+ruhA!rCu+etTO%}zWL8@7mKSu-(30n`~CjS zuKMM6-y)vmd~8^|Z-Up>KB?M;QhwUezgFGu5Iwp_pzxmY>dlh>?Bc&n&bzgxGf%s$ zYx>C(haXIDd?&tb_fqRuyej?npU)V-d3`|d&7*prH|$R3i^5W)O_$Yfoh)c$*q>DM zDf3!bk=*Z}kJ8Wat_rAMXOE2=RViIkOd90`*Da7x>@A%+m`uwSx zmzVuqKjX@QzI8kt7h6}f)m+LdER;-nzE9yzi~ady3#1qRym0DG+qAQf9uz#8( zbb&b__l5TgaT6Y?>1}OMiJ$r|91mb#Ar->9i+k6(sy&keinFx^yKYMyf4}Lz^Ou+w zwqN%nSDb14ZsvR^(|4^F*HU-86(=gScw<>bn>RU#vzUCTyQUJjP;cjxNe6zP`2OI9 z0h<=jy+d3TRhum2Se}QQCh_(EXRL}!e<$IjJbP>D*Q2w4u9q^8o@7{c+}MU$kgYss zQcl~634hO;-(RD>F-z_Wix%h37De+fGFRk}?L9B{fMdhOvTiZmAB`WH1)ZP0xv{ZX zyhO^N_LWt9boe8c*Fx7gcF7o3_=vqQTVc9|!K<<55&L2O6``xcc%)~G${4WN*ZryZ z`Q@_z%g6=mBYML{8^WAy*FJV()aa7nay;*}cMZQtOKy zSvpb1dEVih&9hdEFK0dS zy0Ep`wED}7i9MWq4_}P#k7JvktTDTD{p8S>>CGP+H;b1r_=?R;aZygNmEQc?;<|EP z-}wvP{}pqj-bM2iE5;Sg$U1q&TkSHpa_F0a^-~Y~9XbBsMyo}G;4R&2cNZHzapuv_ zYCm7{X@cau^ri+UGZrkI8_Fz^@a4jU%K81(?{>QPR_(I?Y{C<(aB`+``T-ex zBXvc^M)5?`SKlV^8=5pvDm|sSTKm$`0~)LPS~wieJK7!jFvHZ>bDiV*u3*_!hhM!h7OjrGRd!Q^KWVl-U(j2%?U`YVZYJ;l%Wv8=8M3bA zD#$0FU^G2!sN$F{VL9X9oPXEYo=wa4f0pt>?8I}4F2~s=1uF{Q|K-m~U$**-QN6m6 zx|T6 z=WHAk6S&q%ef6JkP~Eg+tN?| zoX)WxH+FT&&frNjuS-|gHhr}!K*S*AQq-Z1ed=?ietmhFEWdUdcb7ujn^&{4FDz)3 zm~*&ndw6{9R;f~1jV6g%uXSehSiLr8&Sz$;H`-uS^P}M9_4V<;{@-(WKSAotuM=~Z z@>VWj@wm|5#G4i&aQYfciQ~qvQ>W-gPh;Jh8P;@p1Mf?HhHZfYp$j+?R&aT;aVhNB zB)?y;ahcby#Bo0n7xz&#RjWrDm4NABsxps?nDw?F7pSPB+_D<2% zUyQ;vD*BuJby?8O4_FY?=Fcd$(iYp%3au{2Y@C+R`4luCJZ3P+$tj$zNYzAAQiX{eE3E z?=JR~jv#i`bvj7}eEL@}`i2>mw6w@h<~iq>Txt5^Zh(k^Py3zB)Px5HYEqk535YoI zL@s \ No newline at end of file diff --git a/assets/forgejo/logo.png b/assets/forgejo/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..0ee15c96e56a0e2cbc08da7760970a66c338ec2e GIT binary patch literal 27336 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 \ No newline at end of file diff --git a/flake.nix b/flake.nix index 217b7cc..a0ce7ed 100644 --- a/flake.nix +++ b/flake.nix @@ -65,6 +65,10 @@ # racket "*.rkt" "**/rashrc" + + # custom assets + "*.png" + "*.svg" ]; settings.on-unmatched = "fatal"; }; diff --git a/services/forgejo.nix b/services/forgejo.nix index 2f69a55..5e7be6f 100644 --- a/services/forgejo.nix +++ b/services/forgejo.nix @@ -37,6 +37,19 @@ }; }; + systemd.tmpfiles.rules = + let + cfg = config.services.forgejo; + imgDir = pkgs.runCommand "forgejo-img-dir" { } '' + cp -R ${../assets/forgejo} "$out" + ''; + in + [ + "d '${cfg.customDir}/public' 0750 ${cfg.user} ${cfg.group} - -" + "d '${cfg.customDir}/public/assets' 0750 ${cfg.user} ${cfg.group} - -" + "L+ '${cfg.customDir}/public/assets/img' - - - - ${imgDir}" + ]; + services.nginx = { enable = true; recommendedProxySettings = true; From 9dfdd8f49420c7533f86227794c34e16aa7daafc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikodem=20Rabuli=C5=84ski?= Date: Sat, 22 Mar 2025 00:31:15 +0100 Subject: [PATCH 13/14] services/forgejo: use latest instead of lts --- services/forgejo.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/services/forgejo.nix b/services/forgejo.nix index 5e7be6f..84c34ef 100644 --- a/services/forgejo.nix +++ b/services/forgejo.nix @@ -3,7 +3,7 @@ host = "kazuki"; ports = [ 3000 ]; config = - { config, ... }: + { config, pkgs, ... }: { age.secrets.rab-lol-cf = { file = ../secrets/rab-lol-cf.age; @@ -12,6 +12,7 @@ services.forgejo = { enable = true; + package = pkgs.forgejo; settings = { server = { DOMAIN = "git.rab.lol"; From 4ae04f6c6d89d1621d9281fbd3b9d98918c857da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikodem=20Rabuli=C5=84ski?= Date: Sat, 22 Mar 2025 00:31:30 +0100 Subject: [PATCH 14/14] services/forgejo: enable git hooks --- services/forgejo.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/services/forgejo.nix b/services/forgejo.nix index 84c34ef..afb7b7c 100644 --- a/services/forgejo.nix +++ b/services/forgejo.nix @@ -18,6 +18,9 @@ DOMAIN = "git.rab.lol"; ROOT_URL = "https://git.rab.lol/"; }; + security = { + DISABLE_GIT_HOOKS = false; + }; oauth2_client = { REGISTER_EMAIL_CONFIRM = false; ENABLE_AUTO_REGISTRATION = true;