Compare commits

..

No commits in common. "main" and "main" have entirely different histories.
main ... main

10 changed files with 167 additions and 212 deletions

View file

@ -10,7 +10,6 @@ keys:
- &joachim B1A16011B86BACB56ADB713DB712039D23133661
- &jonasga FB44F0746DF25F0B24A2EAE586C8A257C3EC82AB
- &hendrik FBBFAC260D9283D1EF2397DD3CA65E9DD6EB319D
- &frieder age1x76ajqw8w4l5vlkwt5s3flz5a5jq5qlxv7uppmnf8ckj9egh9ekqjclzt6
- &quitte age1wvdnprpnq2rcc4se3zpx2p267n0apxg2jucvlm93e3pfj439ephqh2506t
- &tomate age18lwgjazaxujqgcc5j0gjllnykhtjn6p0q44jzrsk4au2a5k6nd9s77kd6d
@ -27,7 +26,6 @@ creation_rules:
- *jonasga
- *hendrik
age:
- *frieder
- *quitte
- path_regex: secrets/tomate\.yaml$
key_groups:
@ -41,7 +39,6 @@ creation_rules:
- *jonasga
- *hendrik
age:
- *frieder
- *tomate
- path_regex: secrets/admin\.yaml$
key_groups:
@ -54,4 +51,3 @@ creation_rules:
- *joachim
- *jonasga
- *hendrik
- *frieder

81
flake.lock generated
View file

@ -78,7 +78,7 @@
},
"flake-utils_3": {
"inputs": {
"systems": "systems_5"
"systems": "systems_4"
},
"locked": {
"lastModified": 1681202837,
@ -101,11 +101,11 @@
]
},
"locked": {
"lastModified": 1739371104,
"narHash": "sha256-k7RZrUCxPPV2htf5bSEGlailgMSXh0c5DTPY6uvB1QY=",
"lastModified": 1732530918,
"narHash": "sha256-O5cmb7xeIq1luKn9FbS3UP4aziP2UuBKARsq/w7CGqs=",
"owner": "fsr",
"repo": "kpp",
"rev": "c98d8003aaf7b8b085c674ce6d931cb6014a5c95",
"rev": "b867b6b3d4c604c177e1866d2babc7ae5c0f6a9d",
"type": "github"
},
"original": {
@ -143,11 +143,11 @@
]
},
"locked": {
"lastModified": 1738466368,
"narHash": "sha256-PZhUjtvQZOH3PO0EYdTpQvcqkgkq1NkP2A6w9SPHYsk=",
"lastModified": 1737861961,
"narHash": "sha256-LIRtMvAwLGb8pBoamzgEF67oKlNPz4LuXiRPVZf+TpE=",
"owner": "nix-community",
"repo": "nix-index-database",
"rev": "46a8f5fc9552b776bfc5c5c96ea3bede33f68f52",
"rev": "79b7b8eae3243fc5aa9aad34ba6b9bbb2266f523",
"type": "github"
},
"original": {
@ -174,11 +174,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1738574474,
"narHash": "sha256-rvyfF49e/k6vkrRTV4ILrWd92W+nmBDfRYZgctOyolQ=",
"lastModified": 1738023785,
"narHash": "sha256-BPHmb3fUwdHkonHyHi1+x89eXB3kA1jffIpwPVJIVys=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "fecfeb86328381268e29e998ddd3ebc70bbd7f7c",
"rev": "2b4230bf03deb33103947e2528cac2ed516c5c89",
"type": "github"
},
"original": {
@ -202,27 +202,6 @@
"type": "indirect"
}
},
"notenrechner": {
"inputs": {
"nixpkgs": [
"nixpkgs"
],
"utils": "utils"
},
"locked": {
"lastModified": 1738260727,
"narHash": "sha256-dqwlhg3L5SPoHSWbdI10EL0Vs/7BGW76h+q05laKyTA=",
"ref": "refs/heads/main",
"rev": "72c70b74f9216a3cb2913df91c8edf8516de1800",
"revCount": 9,
"type": "git",
"url": "https://git.ifsr.de/frieder.hannenheim/notenrechner.git"
},
"original": {
"type": "git",
"url": "https://git.ifsr.de/frieder.hannenheim/notenrechner.git"
}
},
"poetry2nix": {
"inputs": {
"flake-utils": "flake-utils_2",
@ -275,7 +254,6 @@
"kpp": "kpp",
"nix-index-database": "nix-index-database",
"nixpkgs": "nixpkgs_2",
"notenrechner": "notenrechner",
"print-interface": "print-interface",
"sops-nix": "sops-nix",
"vscode-server": "vscode-server"
@ -288,11 +266,11 @@
]
},
"locked": {
"lastModified": 1738291974,
"narHash": "sha256-wkwYJc8cKmmQWUloyS9KwttBnja2ONRuJQDEsmef320=",
"lastModified": 1737411508,
"narHash": "sha256-j9IdflJwRtqo9WpM0OfAZml47eBblUHGNQTe62OUqTw=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "4c1251904d8a08c86ac6bc0d72cc09975e89aef7",
"rev": "015d461c16678fc02a2f405eb453abb509d4e1d4",
"type": "github"
},
"original": {
@ -360,21 +338,6 @@
"type": "github"
}
},
"systems_5": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"treefmt-nix": {
"inputs": {
"nixpkgs": [
@ -397,24 +360,6 @@
"type": "github"
}
},
"utils": {
"inputs": {
"systems": "systems_4"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"vscode-server": {
"inputs": {
"flake-utils": "flake-utils_3",

View file

@ -14,9 +14,6 @@
ese-manual.url = "git+https://git.ifsr.de/ese/manual-website";
ese-manual.inputs.nixpkgs.follows = "nixpkgs";
vscode-server.url = "github:nix-community/nixos-vscode-server";
notenrechner.url = "git+https://git.ifsr.de/frieder.hannenheim/notenrechner.git";
notenrechner.inputs.nixpkgs.follows = "nixpkgs";
course-management = {
url = "github:fsr/course-management";

View file

@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH70IC7DaiGBYdftUhuOE9CatcdYj2L50eZfztQA+pVs fried@Frieders-Void-Laptop

View file

@ -1,4 +1,4 @@
{ config, ... }:
{ config, pkgs, ... }:
let
domain = "kanboard.${config.networking.domain}";
domain_short = "kb.${config.networking.domain}";

View file

@ -12,6 +12,5 @@
./userdir.nix
./ftp.nix
./hyperilo.nix
./notenrechner.nix
];
}

View file

@ -1,9 +0,0 @@
{ config, specialArgs, ... }:
let
domain = "notenrechner.${config.networking.domain}";
in
{
services.nginx.virtualHosts."${domain}" = {
root = specialArgs.notenrechner.packages."x86_64-linux".default;
};
}

View file

@ -1,14 +1,60 @@
{ pkgs, config, ... }:
{ pkgs, config, lib, ... }:
let
domain = "sharepic.${config.networking.domain}";
user = "sharepic";
group = "sharepic";
in
{
services.nginx.virtualHosts."${domain}" = {
root = pkgs.fetchFromGitHub {
owner = "jannikmenzel";
repo = "iFSR-Sharepicgenerator";
rev = "ac721d5fff2dba1f046939a6d6532b1a8cfceba8";
hash = "sha256-of+N58TDt2BcbDVEriKn6rjQVl0GdV4ZMEblrdUutZk=";
users.users.${user} = {
group = group;
isSystemUser = true;
};
users.groups.${group} = { };
services.phpfpm.pools.sharepic = {
user = "sharepic";
group = "sharepic";
settings = {
"listen.owner" = config.services.nginx.user;
"pm" = "dynamic";
"pm.max_children" = 32;
"pm.max_requests" = 500;
"pm.start_servers" = 2;
"pm.min_spare_servers" = 2;
"pm.max_spare_servers" = 5;
"php_admin_value[error_log]" = "stderr";
"php_admin_flag[log_errors]" = true;
"catch_workers_output" = true;
};
phpEnv."PATH" = lib.makeBinPath [ pkgs.php ];
};
services.nginx = {
enable = true;
virtualHosts."${domain}" = {
root = "/srv/web/sharepic";
extraConfig = ''
index index.php index.html;
'';
locations = {
"/" = {
tryFiles = "$uri $uri/ =404";
};
"~ \.php$" = {
extraConfig = ''
try_files $uri =404;
fastcgi_pass unix:${config.services.phpfpm.pools.sharepic.socket};
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
include ${pkgs.nginx}/conf/fastcgi_params;
include ${pkgs.nginx}/conf/fastcgi.conf;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
'';
};
"/data".return = "403";
};
};
};
}

View file

@ -1,7 +1,6 @@
_final: prev:
let
inherit (prev) fetchurl;
inherit (prev) fetchpatch;
inherit (prev) callPackage;
in
{
@ -41,14 +40,4 @@ in
./hedgedoc/0001-anonymous-uploads.patch
];
});
# patch to remove the nixspam blocklist. Remove after next rspamd release
rspamd = prev.rspamd.overrideAttrs ({ patches ? [ ], ... }: {
patches = patches ++ [
(fetchpatch {
url = "https://patch-diff.githubusercontent.com/raw/rspamd/rspamd/pull/5300.diff";
hash = "sha256-7zY+l5ADLWgPTTBNG/GxX23uX2OwQ33hyzSuokTLgqc=";
})
];
});
}

View file

@ -42,158 +42,151 @@ sops:
azure_kv: []
hc_vault: []
age:
- recipient: age1x76ajqw8w4l5vlkwt5s3flz5a5jq5qlxv7uppmnf8ckj9egh9ekqjclzt6
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBJME1QdHA5ODcrT2FSdWdy
aFJ6cmFURmRhcVRLN0FIYmdOeVJYZ2Z4K0hFCmxVZlpBaVBFMk9CUU44eWk1b3ZS
MXo4eWZiLzJoSVJ4SVI3WTBFZFpjbXcKLS0tIGpsTStUS3ZBMTFUdGNzUTZ2MWxh
Qlc0a0taMytXbVdJTHRONmNoVDMrbHMKU3K84N5vO6O7ruBjWylgzzvURvTLa3gR
ldzSOAnWLeZo4IwXM9ic1j3DcmQDXSC7XFwLx6xzuTCsHJMhDOdS5g==
-----END AGE ENCRYPTED FILE-----
- recipient: age1wvdnprpnq2rcc4se3zpx2p267n0apxg2jucvlm93e3pfj439ephqh2506t
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBmKzZveDZTOEtHWERHZlZP
cTdORFh2bFpMcmxQUzZ4ZmdNQ3NxWEt6NUgwClY2eXZxK1dkbVg3Z0NrOVZLeUM1
TXlGYmFMUjJZNlU2WlFxcklIaHptMnMKLS0tIDFTRmVZaEVZK3hLK1RWa08vcWZ0
d25xY3FKK2pJT01GcVo1bG9pYzJReGsKXNg/A0AVkk6YUuvxH4lPQGbSk2IdkeDG
OQ7H3HCdMYSyJ/pRIrJwY+Mq9SbbIVF/zmsxbg8pl0RwFalQpCV0JA==
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA2anFsRGRMaHNVaEhvUmsw
WnMzTU80Qyt2N0ZWaW5jTUVqM2owOXhLaWxJClMzQ0RPQktPRkFPWTYxTGY1T2xi
Z21McDNzdGxnSTl6RExBNitJTFlncDQKLS0tIEFsZkIwSDVhR0JuTlMycm93cEc3
c2lzVGV6WnVQT1pOTTVwRUxlMWZobWsK0CrDl2ELoYOTrMt3uN3mgBSyaYqOQY4I
vBK12PV9FR9GFpKN4kGB03PZ0gV0N1zlcCHpnPCUuHwbCvvF2+vCag==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2024-10-13T20:49:09Z"
mac: ENC[AES256_GCM,data:xU5qqNX9M4ouWfimodb27Xvvi1F7wDJ946fJcP1ADi181/FLQ+kbKPm8QgPw9bDEJfBG4KculfplErNqzGZIqiL+0EDZVeHktRFq+1ojtRBXkpyWDalqV1nOlWGZ0ov/BjW3z0TA23Wb2K5JFjnR7MBRIPPs/CRFB7ke7khD9Og=,iv:fYe82vVtQn/BATRRWDvPmZ9PCKx5f3Xk4uYHP9woY/s=,tag:ktvyedUk0wOJ0tDvmBS64A==,type:str]
pgp:
- created_at: "2025-01-30T16:59:31Z"
- created_at: "2024-02-29T15:23:23Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hF4DntlvaG5T7wcSAQdAc4V+guwi1dl8ELb8QNzotAu+SvIribVJ9I+JhzZvlkEw
7iHJltL6yj4IhVCYKMOmIDYUYVKw/kmZdW8cUnDTsaGjfDgLw1Uu6SZXYZwr7/u2
0lwBlW5gV0st8QPrpmFRVHPmtc7YcngIfQ8i0MPZPLxeD9O381qmD3AMG18SkgIF
nAiqxAdt9TmACJ41JRqOVGAfLzTjTLHG2HQLrwNmgby5TBXZgxvZhdqvLCCD4Q==
=k4X6
hF4DntlvaG5T7wcSAQdAq8HJ1VopKhShChQAnq9ETU308YAZqOojMA1Plpb2thMw
i/fon3Dt/odw8jj9sbIUVqImWy7K6FqEiAkIWN6Sq6F8raA1ohc+AmVHos1pHK5z
0lwBHKNB7pt1h8LIv3GYqPUaz+yPhYyCk5PQqVemJSvMlilOjfkaIHHDV7VNEsVx
kwZSaNij15cytLHY+iJGkChUqlTdwmxWRIW3Fa0FEe9OZzSj0fkS60m9TAug3w==
=EMPz
-----END PGP MESSAGE-----
fp: B8E1727497FC48AA14158BDF947F769D7B95EC2B
- created_at: "2025-01-30T16:59:31Z"
- created_at: "2024-02-29T15:23:23Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMA/YLzOYaRIJJARAAub2pfnT2qB/tPwKCwPhOnsfvOjYze76a/Kvwk7E0jo7T
xcq3Vci19gJPyYXO0gKMXQj0gEz3DuQiHoumqJHdg0oCNBeUYLk6XUSOfRiCqe/l
RNG06RpSk4r7pmqWuR6EOwt/w6RkH/PAka5C+yIXmjtqJq5VOKm26XKC4NJ6L73m
Xk2YJ5R0jajaZLy5pHLHj9HovemVfhHh3vnO9aaGRfGq0OpBsNND4rygg0IqxZpo
bh0lHnNnWLYZoJv4L5EhfdmqZzbATkn1+kb2V9/ZaGyRV84K6KxGoLKPjy5Qsz1p
+9p2BWKZRCOy6tH3qKsjYHyZa6tWU+dBaOZacSPh2tpum0+vWIVjRMBTaEhYdsNR
ChyhImIjoX7jXncMdxiSW9KSXpuKC0qqqBEXhankkPhE8ADcjk7Iya0WZE3OZrAy
YAUR3SOOf5aDDfx2T3XT5tc2VQOM5MFOgqkTqG5VXGzO40HJDET9eHqT3/GZxgZg
5GpMl0NXdn00dfsifPxs7g0mv3Z4T4hoIj3N1wde6XI0t+t3Bdx7KizlJpAPoB7c
r8orobQz2DUz7gq0ccqEXe9p3mB87Mbv7ln0sYp7jOMpv/0iC7zJvcqGXn19OTaw
OLhUuk/PF38DWBC8wshZ/yZmkLmg1MokuDUVwLA/QA32gszuaDDNWW/mTgOUCa3S
XAFezl/NfryxsrDi+ftzElun8hSUFvxYGkhihWiWvBfHudA5OHhRuDWvxOY5s9Xv
CEqvcgLxwm/7GrDE2LJ5ARMOyAeicKXO0iCJo4qzMb0FnphXVbt02Si4oIFv
=kfjO
hQIMA/YLzOYaRIJJAQ//RaAlgiR0nVZYWrN+aVgYIJsW8vz2ZMREcvONe++DF7XV
NOKkI7fua1jag6NWGQ9hzCEXQsoiQjL8CpaOSN9fJmnsmQoNv3vOLoeArLnPI6np
OBwOLQu2KgIcHCP48qfJ5idIV90UNoABro3MsbKDQAnXES+Eco7YflQVlesgEfau
oxKnZvGcOhxigQM3DobM1/keNnCuE3wyK5hVKV28VD/TNozZIj1MyoXpfzjzSgne
A80+/uLj1r5eg1l5nDAdEtOfvxf+eCCEom3oh2uRKK5HsRUySSE7tNRGNnn8QsWy
fUy+/95fOasyHRtr/cNfhZrly9VcavAhR4WYWU/LJ0pOYT1WtxMG3U4HGswiT2G2
4ElM1BvdV/TlTTd3G+XhzyLK182w7Lz0CpNfpI9tgA6iIDHFiWL+KjF9Cy/VbidB
B4h3bMOSw3YeESQFRG9y91QQreT8OOfkI58taiKM5J1yCNKGu7F3DEQxQm0/wHBP
xMNZGu3nZGL05QgqFw1lw4YeQlSQJC81bQZMSaBB+7KEcU2oXH8pKVHerKHwieZR
Kd7uD1ounFp5QD33Xc9Ebqin9dIOMyM8QtMsi6fD4ofwb7riRcBM82EF2slE8Q6o
u2VuTj0mlsG75EnLyrQ9AFLPAPtR+qS6R+/JaZqgRUxk0xswGet8GApA2oou38XS
XAE5sEQTEGD6SD34U0BHRNrPLbqKNcZXccwukZ9er90p2NzyE+hoxKfQFhocnpdv
j86MWn4nAcZYY75Vyg5AxaS60/R48WvzfEp0nVd6Zukd/05AV2kBMVJp9WZw
=Nzjo
-----END PGP MESSAGE-----
fp: 91EBE87016391323642A6803B966009D57E69CC6
- created_at: "2025-01-30T16:59:31Z"
- created_at: "2024-02-29T15:23:23Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMA8uqUsBLHj6XAQ//ekvxqmiiCP7ZmXEqudwlPrrmEDOTmq0SS1hHPHK0wTiz
N3hw4c/nr8WEMby5xpzUhmxxFSp8Uysta1m6DqU3Z67oVZobkdUOwkZO15lics2D
NqsU6UvmPdbJsAKJqTtrLjO65pN31UZhBEhnQj5IkGV+dl0Qgrazh3r8hr5t1oTp
HYAOGQLkn9GhQEXKh328ks5KK5glQJWC4v1WToxty//lz5JJn5WNWM8aER/fQV+j
QizCuDalgNixmg22Q/+c8uFEfsMpbU2MnrbHXAeZAWqKA9SfEBl5YOO8rce7PlA6
TS3R/MQ8zFck4BtLh8KjXMAxmgSuyKRlNjoRccjfGeruYrwt+Z4Sl9Ou+A9qdWmq
9Y9OLo6CIbSZ31fBekpyR6gZewta18tmLrn4U1WVaoP+SY9cfMx3DHyThIPah/ek
y+qt/ZN+ZIMIVy1M+YKrAgNitk7W27z6WKh0Ewb82K3GZOwHpfsieQfChbKNBBWo
u+Kk8gh/NHwcUS0GsPx98XlZe/Cf8k3JajRbuQ1PZ0j0wYz7DwAMGsjIZtHHJGub
DEPdowqw2cj9766sx+4orD1jhhlkVhoPWhIMbD3QAD3ckjy7t5L3MrSwxBHb0hWF
Nv5cIUIJY77SGQw+gtjWfWHpXASq4UkFJTqmHCLoGK+eHnHKoM27ocgNHhynSV/S
XAFvsambQ4r+lNCylsQQYjJBRnuoMRzx4Sb87nrmFq11WdRmqOko2oL++jQfZIes
bkcopFv+pQB1Nw5LF2XQFHh3QpbygSyjEt9Gk/8l9SNURIw9905T2DU+9Ois
=8So1
hQIMA8uqUsBLHj6XARAAiGzDHGIs1rA3EMCBHY8ajWMJ5XQeLJBU6iZHlCijLqLf
nnGUwVj1fWXj0Gh+cQV28YMaQL7KPUbKBswhqRgYu4uCFdyC+ipQ2aC5OwUz1t+y
cbX3jMifiVpDVanYwukb/gC4O3F6aY99ezEo7RJNkwBO730DsPadUZ3S5i7IlC5+
5dd6eIzlt72fBC9QceSi2cAiiP57WmKC1bHLyCR7LXNN3719QzXQsjxVBvwYpD4d
dF5lgdDMNi4xgjQ03UawHjp3TbsqXIw6F+/Wx6CEXo6XSCcOLIdrOVJNirocw3sO
lg1tjfvqOnZbVNjh51Txl6IFfdffx37qgQjx9O1dxNod3ORa7aO74gAnd3oZyOUq
FngRxTqu2yvzonbGGRNT5gMk9QZNqCHOHjp4NudpwPuLFnwrvt+jw8XVrGrMYMkA
P/gOc3EXrCKr25yKE+dA8l3ikzd8wnPago2Adm/Xt34J4bIL27QKml3+g/gVnW6i
In59tWMQ5lxnD9nXA1jY8RccwEZHvI74+AkQNa3t9miA4bDER7n/KyF+XbxePI3G
qta9fCpb2a4EmsBm8JGtFnD7/Dek5UVcOjnrPxG2yMMAxwv7ZjFT/IeqoEb5yL+D
opB002q0UJP01RVBeqoetLNhMX1R8TN55oetpyWkPECuwCKi0Pbqdqe+qWR0UKHU
ZgEJAhBHH/fM4ZUeqi5Z9B7WvAFj+95g7Jlgtw8nqm9C7JsvDGQ7LxkQ7OJr691U
jhO60x3CF8SOR9E0A4Y/iVAVQQleVES5+xC0KpVY3YacRHi4HR39v7Lg5cPYIOCT
c3NiN6iiTg==
=Af2X
-----END PGP MESSAGE-----
fp: F8634A1CFF7D61608503A70B24363525EA0E8A99
- created_at: "2025-01-30T16:59:31Z"
- created_at: "2024-02-29T15:23:23Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMAzUXo8ZPJwGLARAAjYSSQojpC9LhJGIm/YbtUotpqqhMvZbmudhuNYFrLR3i
eDwAmjcnMP1xDk8iK45Vln0tPTtrS4WZFtpRar3a2jsGcjrTfg9zMDGCDT3cGsCZ
2Dz1lU2tqa4r4LaaAzEU8Kg7K6jTR9tnFcsV3LYYUo/l6/xi1L9MYSq/BFGfPFTH
ywhn4oU7c+bFwFwZpUv09Ybot6UeGn42h1AUS4w5yCHPXO3SD+KhXnQ4hgD1kvBH
IN6WZq8TF8PC8H8cwgpkLMr9kZVnrE6y0Xq6q0D9U4co1K4dBZ8irCIanDzeS+0T
azlNOleCEw+TXmlWIvNULzFVwf/smzh7KmYULeNF3loboy0T8lcxkPJ16un4+ahW
YVTviGRyX2Tci8DIs+lZ6Ucwo9GHNtN0gsushsZ48jh14pt2Ct5BSP3ZauswJPU5
q3EV0l+ZSLEaFws7jT8A86CX9NoKmwX+v7DBf9TiGZj478mZBAo7RotcZAG4oV87
uq0oQUhRmhVq7ELUZK+0a6UoPKwa3RukXl9lOuOAui4IVhqREY9dR07L/NQxu/s/
zM53IjKWe4WiGm2TWJAZh5zvfBwB/RfV6glw+XVt/XoySoYFZ91Pb7kvTr9w+nR6
xcC9KxaBv91WRm46G+WWePnMQ2O953LmtF0eq3VTdXwK5zlIB3jC2aVpnLexXYXS
XAGn4ml/bRr8q9TFUiirpjY9P0sd7nZZtFQVUHCqdr4W+fuumuxRCoekEjh14PeA
rFCsW+GmZzH5S+aHiVxJuO8694KWO1QPBwr4EX1qooxTDzO+bUpyTSStg4Mm
=zNA+
hQIMAzUXo8ZPJwGLAQ//QLCUOMTptOAa+Ol+lB6ijB/iRzQoDs6LW/GvH2mbeV17
PBpFge3SYObBAZRZfF6x2PAuBNIAptckJxQ+bw/BoxQWDUI6Bsl0lSxu0eC+e5Z+
Zx7GOIqUYDuRXZ9NmFA3VeD/3PV4SuveazM6bOwMmlbfxeh+EBiSa7F79cl10pb4
ZbpOuxqvHb52/jZ0Lsny+MVycgh5YyWyLSl1nO9Uc9zVIWDyygA//UevEgFkr/fp
kUagX164Rmvaxc37fcvER+TxBKTm1SUFc82MB2sC4VEWb6RylpWWrbyEquJOW0/K
Jhw6kFnQ42THB6wSCuZw2HuHzZuXOzQLzJqq8l5p43sTUxiyCGQxtNDE47V32YqR
2sEZLltwPLpgmzmPSflDE4GgYOP7rhOJ50bpqBk9yArzCziB3g27/QSLhGak9u6y
b39NdyKA48tXP7TQIWkPFBLWlHWnjWHps2tbNPLaq6CM/tA811Nq+XKBs0/eDeZV
+DkX4BFmdvV2k3gq2juqWkeHLcHRyIIC8cHDVTVEL9TBP8GyzCIxhU+q3Dnkffnd
g60olZanFfsVNpg8kFqAN5OeLIHtCxqXzj+qs8QgD5YMUIOuwvkngbyHpWv8vBhi
GSIYB+bIBRxJPIc9ofmXv3S4R128NGIKq06K/P4Odnt+8iy/Q00CNYW75zobg3TS
XAHD6cnvUQILTDtFLsTZw8rcmHI9ls8L+yHmTilEo7jrsK7DUUjgQlLULZlBE5Hc
vGQ3KEop1AdG+K4try/OSaQPY2dYtLH3mqGlmmaID7fJQiTnWJNpTIgIHynO
=5/0t
-----END PGP MESSAGE-----
fp: 116987A8DD3F78FF8601BF4DB95E8FE6B11C4D09
- created_at: "2025-01-30T16:59:31Z"
- created_at: "2024-02-29T15:23:23Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMA30JDs8MiK29AQ/7B8fkSIuLnoYLnznZwUyyZnWJ4bmLRHpLQxKGzg8xBb+R
4RSA2NJNqJ0nMXfok57jyHhevv19Sst2yKhmMWdT4mRaPs4HfSf/WfQDEbTKR3sa
Xd0mytFd9UFgTb0iLwGnb5qW5WhDJZ2b0lHQaZTwmvCzDjv7WpIzxPlmla9dZfqx
vPBP6VRlr3Dc7nh/Aqbs7p3Q0kuIoEH/W8ne/hB8lxGTg9JpmTxp69hbSFuAZjTt
NFioUfL0dzmTBb0bP47UTTvdZnbZyL9+bEvluiNL0Yfygw3ZRUVRWMtoq5fpkaJ9
ygU/uXPiprWUcZDZPClIof5mnJlvQHoXg84RMfdeFjIZj6HultAJbxVYYr/XxyNh
5VGOE8o7+eFK/YYWi0p62CNoojON78ZG3egN98QNf+mZ8+F0JkyG7FB4KQG52Oav
94qvYn6pJVwQsDU9K6ADfd1TStiZGjFk4k+gBIq6w3uzdn/SFlCwge90Vp5528jX
fFtmJg4BjPmffDMVigz5s/J1+4NoJJdxfdIHKWt59yt1myBGj8HTYDsDJxkrcSO+
TzZZbQSvUZDBqZVdqTQs1R2D4Q/ig8u400v0KluJz2BV5h1mYt97yflaiQeceRRX
WJ6lOQmQq1M4GIXOybeKLRX7wJ7V8AU3FmyDfRhtA8sn38qhnqXYHxQnyYuxIyrS
XAFcNhhdEXGoTgHy8WmXVI0e2kU+/yjWrNKigZHGMuRBGgpd20CyfhPCH0NsB4dm
Mj6JuLN34Vg9oNyzKYSGBk2MBXCwr/dOkZONN+KQJaR4sYLDARt+9TkJTPXN
=acPX
hQIMA30JDs8MiK29ARAAjlskdt3CZzDk9JflbhgpSgGd+cad6SkaG449uPV+TLfL
lcAG066sYMbMgzZn2D4AZCXb2mcU/gz9Kdo/MBVL8G3TN+M1yMxqOJm8xLQ02HHz
VMuSTiwLyj1G+dr161O+PEiNQMqq9YNxGg7Oi8b0T3hylcHFGKQ8Ji37hUmOlvfc
EuYjd2j6udarLYLDcq5gxYhvlfCJm9WMljrLYC5IatgWF/KgLkFVpy4aa2aYtlxP
mwbea4PqUCznhvUEsD7ucc8fOOPiYD8aJypEG7NxyJSaytdL6yjMTDQAOWRq5dGP
0NcF61r2P8gGDfxk/iCf9vJR/IzM9JgCnlwbiAWx0HKCbkScf/j87Lb7DK2kmY/W
fJsjwyVpr5X/OHcDEW1Bc8dx2mU5Dc27tpVSuigv/uXLk+H6RQjfMwgE6eViX4ve
rmMw3J+Pnd/eRO7ELQa1D8ujkwOLjSSl/KEwV+BjtQvo1E5NuVxn39o3dblvBY4Y
Lkj9wG5G6N8sUZQt2nQkGR9mIP89CxOFFaiXrCH9VNSO7hyuVQXIb7xED5kWA6KT
eJPvTnx3kzKb7XXW3hOXV3dB7c3Dgjpkp6TyqpWoXxLoMYzeJE1MpnlABxG++oyP
AydJ7hRSErm6+3PsslObohW3cuNO7fhurkobd6lhUkOtTyN80n2RqYUWYJcG7uXS
XAGy4OMGwQJSy4g+2bmNiwCHvnZPSuuF616G9g2+TyYtcL9v2BNYZyt7LAe6MabH
IPthrl605mLgmC1Af6hJAXQkLuAWVxN4XIq8PGm4ss3vTqgVLLGMF2ODsHqP
=zFMG
-----END PGP MESSAGE-----
fp: BF37903AE6FD294C4C674EE24472A20091BFA792
- created_at: "2025-01-30T16:59:31Z"
- created_at: "2024-02-29T15:23:23Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hF4DNffZWjBmO5ASAQdAxsxPOk9ZxisW5ResmyYS/CEL5dbBvqGeqRDCnht403Mw
JLPggEsyb4JXQU/IEQKNuUHQkyoX1+1agn9TRtZ23YqqgtrDE5B/X21UVezSK86r
0lwByKvO6GBDcnWZ/z8aF3ELpFcoWjHS5ncev3Vw62FCKQj7TMuRPJPfjthstYC+
3maVwjfp0VaTKMF7lk7+Us/XbAnse7nFAjqqQqkrdFXgFrfEw+8arT8LEHTjpA==
=EL+l
hF4DNffZWjBmO5ASAQdA6hgR8rEHwDyrs8e89euwZL1J7Ul/1XKJVGSQHSgAAgEw
1shc8TrDXMt9NveygpzlbDJc9pYUg2bKn+rgpS853Cx+MqYQBeu5SMpxpiZrr8J6
1GYBCQIQeafELm9z2HZo0mwujkbcxPfrPX8vUzzE/EL6EDwfPGDL6HUAyHnQC7hc
dCK6qK5OZNkpFGYqwUuPeDQwwwmdd1qNSD1Fcg+SuJ64vw4BAlX5iT1JyVqgTRI4
Tz3Bpkdhphw=
=f1SN
-----END PGP MESSAGE-----
fp: B1A16011B86BACB56ADB713DB712039D23133661
- created_at: "2025-01-30T16:59:31Z"
- created_at: "2024-02-29T15:23:23Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMA1tId/HHLgxAAQ//bTyIxfNjxe65w5GM4Czgv07La7xT/ORscd1vhHc309Qc
oBPj7Vb0dhfNcc2z44WDlnLPoU3gUTLkE3oj+X21pMmIQuJvwHLxOV07JayTGeVB
s/880mFfMqSKnK9xnFkcXnu7aIiYOs4NxwwA+U5l009Mj96qjuX/3X47DRg3gWta
YYHUX3eqlEXSTpi+iYGK44izDsynJiFLaCIeGVGm6XGsBmIpLQQc2++QozjYYLI2
714aAyVOghZA0m/Egc83Yp+EsJq2WBolgTaXp954OBz8D6pRDj986p+LrHCDEQy2
U1htRnO5yLSk6nOwBtDiji4piCMki3VDlOZgMTyjJhLloQ5uou6q8uB53Zof8esk
42PQspqvvhI3DlmBIQnJCpk/mJEsOmq3bpTDsVKARIs+nnSpwJkb7K2Jq4cB0YkL
EjZNDUUCliDPxExrEyNANB5fV18fqSGUuLYAwreaV1mctXBYSPO3RX4cByt+Xvhb
cQ5ePevU25ZBTeXhvf8DjdlxONgl9vF14EyJgbcOA6lwYUZKVyP1OnzrcGprIUww
lYFsyLbiNo1qLSRy1IJh2OCN10B0+XSLyF7HeUPH+2nsf3LksArJ2C3PvhDGVhpn
08Zyf/90JOXeK8cAilW5HYvhgegVA7JtpUomYBgZE3kWGt6zRIRHH7NeiOIMXQ3S
XAFzrgrzDGUFUNd01Kl730ZvbxHvvkZcPf8jc6IL3vHvew3mMAwoZOXnlspwADA9
gH90i9J9ud12EZ3H+kGtVsz9wVH3hGoT9J//laoImkeT+Cx4o6Vi4sqFvSmm
=F/0J
hQIMA1tId/HHLgxAARAAkHey4n6G1FuZMQpZ6Jo/o27mzuqsRwj5+kS14+WVm8Xm
BZ+DEMIbV/mCBBsIZKHrkrM1ml+Mul3pUHkTfo92n0dHjKaRKNLplbhyXMAavQnY
MpcYv0OTR3/ZlbtQXsDT691rBGtAXoI5dwX9lRGUN7W0TzjZ91O+mLLloEYdmHuD
y2b36TsYmV0tq7e/T1xQn2cy7SAB0OUmAlL+W7/18P7NdJxMtBPoPDoRgcXZneZq
GxLRiTPgCeXaN6OzfsNxQrWv0kVh0ob95Grp1/J7CPqh+iEf6IROyHpD4/Yc41ih
FJLU3sameMn+PlelRqL2MhctYPjgqFnLB/2ILaG2yNMOM7MiMZY+WW+LjojYgAjS
/s0aBgxBVyR/r22fDsDISbwKkmSiubZcYStwP4WmlMCDYY6nLIxJC1Sel6IRqqGD
QzPiG0lwK4llx9vdDK5IKqFyu+Z89ctVHRntBtDBqWM1z8O/5R+HiDwy3VDkDfH/
tuF56xvhVsyEJSe85t89RUDpv9aTq0YxjWBKhCOcP1bWOLzwmaP/Lldo5QUZ3GnP
lDP3FjsRld3upKBQ4UntcChjDjjxWVTIbc07gIDbel4JnNvv/o4r+NpXhiisnXgl
siOLAtCdFudfRscSDxhmyBzRmmMe3sKbi+ezxOuepThXaXYvyUk2D8GZg0mLF1HS
XAGycxm5KP86z5gREvArW26HbIxNlfUpTIoIKgmX3nWhj62Og5VmBYLcMARxVzut
Fu8ukgtgmIQKx8O2OLnmiO3rLvY2xPS5DUOgmYjfPqcxFkI/q32L2OXH3ZJY
=KFx1
-----END PGP MESSAGE-----
fp: FB44F0746DF25F0B24A2EAE586C8A257C3EC82AB
- created_at: "2025-01-30T16:59:31Z"
- created_at: "2024-02-29T15:23:23Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hF4Da5T//DC6DJkSAQdAVIeAdew4oAcgVSZQppDTostppwh+tjE6IQMzOfDk5FAw
v0Tka35Ol3RdQ8cJGjQohtkxpPMFCeq556FusOxzVWV7blwFlIR1UOd8QlRG7rw8
0lwBUg97NdpoVdVDZrJfnZHQ+GAsfyOZrU8DbyEU8rcf83ShNiY9WvyFKfZJPo/N
8ZA/Iqt8JLhRYCIPAtKWuc501ziHjTh3mdWjE++DP4b9/IO1NbM1mtpnjhKIUg==
=aCH5
hF4Da5T//DC6DJkSAQdAyVvnKDj+KjtF0mEhf/QXb8dwIZPjPr5CAcvZvJhSThgw
J0bpP5IAu6LRp+D8C5SnMjaN1eNKX2McFcM3PVsGyCiAEihHKRD91J5xQ4Uc4Tea
0lwBkk7/c9S0KXiKM8pzqRMuimVOs9DMXqxbEKc2BvM7hmKJJfAYE/dvRxNayW4j
Qh7px98tsMsSJCeaj5zqa89aBl8UOQmBYdsjby3BRbOoHNE2ulKe4m4HcV3IpQ==
=Rdl0
-----END PGP MESSAGE-----
fp: FBBFAC260D9283D1EF2397DD3CA65E9DD6EB319D
unencrypted_suffix: _unencrypted