diff --git a/.sops.yaml b/.sops.yaml index c57056d..e1d781a 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -9,12 +9,13 @@ keys: - &forgejo age1vd33efsea2509hm0dwmhkuu7mm2kgw6tsss6lmzsqfg7gat06qyqys3qfh - &mastodon age19efecaur72d92g452zpe4uxjtwev2ktjtaezascxg9l2p8544s8s05d93r - &paperless age1zj3tzzcpyq5s66phlrf2g203am7vl6vxg2jlpr8vy6u385xljapqt0d2fr + - &vikunja age1h7yq7n8gcw35apr7jn8r66dwss4hfcdv0sf4ankfxquyavlrqukqhr0lrc creation_rules: - path_regex: secrets\/all\/* key_groups: - pgp: [*clara] - age: [*wireguard, *mcserver, *zammad, *forgejo, *mastodon, *paperless] + age: [*wireguard, *mcserver, *zammad, *forgejo, *mastodon, *paperless, *vikunja] - path_regex: secrets\/wireguard\/* key_groups: - pgp: [*clara] @@ -22,4 +23,8 @@ creation_rules: - path_regex: secrets\/paperless\/* key_groups: - pgp: [*clara] - age: [*paperless] \ No newline at end of file + age: [*paperless] + - path_regex: secrets\/vikunja\/* + key_groups: + - pgp: [*clara] + age: [*vikunja] diff --git a/configs/containers/vikunja_container.nix b/configs/containers/vikunja_container.nix new file mode 100644 index 0000000..ef4ab30 --- /dev/null +++ b/configs/containers/vikunja_container.nix @@ -0,0 +1,19 @@ +{ lib, pkgs, config, ... }: +{ + deployment = { + targetHost = "192.168.178.106"; + targetPort = 22; + targetUser = "root"; + }; + networking.hostName = "paperless"; + networking.interfaces.wgbr.ipv4.addresses = [ + { + address = "10.8.1.8"; + prefixLength = 24; + } + ]; + imports = [ + ../container_config.nix + ../services/vikunja.nix + ]; +} diff --git a/configs/services/vikunja.nix b/configs/services/vikunja.nix new file mode 100644 index 0000000..14f76c6 --- /dev/null +++ b/configs/services/vikunja.nix @@ -0,0 +1,66 @@ +{ lib, pkgs, config, ... }: +let + webPort = 3456; + dbname = "vikunja"; + dbuname = "vikunja"; + dbport = 5432; +in +{ + services = { + vikunja = { + enable = true; + frontendScheme = "http"; + frontendHostname = "tasks.cdaut.de"; + port = webPort; + settings = { + service = { + enableregistration = true; + timezone = "Europe/Berlin"; + sentry = false; + }; + redis = { + enabled = true; + + }; + }; + database = { + type = "postgres"; + user = dbuname; + host = "localhost"; + database = dbname; + }; + }; + + postgresql = { + enable = true; + ensureUsers = [ + { + name = dbuname; + ensureDBOwnership = true; + } + ]; + + ensureDatabases = [ + dbuname + ]; + + settings.port = dbport; + + authentication = pkgs.lib.mkOverride 10 '' + # TYPE DATABASE USER ADDRESS METHOD + host all all localhost trust + local all all trust + ''; + }; + + redis = { + servers."" = { + enable = true; + }; + }; + }; + + networking.firewall.allowedTCPPorts = [ + webPort + ]; +} diff --git a/flake.nix b/flake.nix index c11268c..47d2054 100644 --- a/flake.nix +++ b/flake.nix @@ -23,6 +23,8 @@ mastodon = import ./configs/containers/mastodon_container.nix; paperless = import ./configs/containers/paperless_container.nix; + + vikunja = import ./configs/containers/vikunja_container.nix; }; }; } diff --git a/secrets/all/secrets.yaml b/secrets/all/secrets.yaml index 2b269cb..5f82b31 100644 --- a/secrets/all/secrets.yaml +++ b/secrets/all/secrets.yaml @@ -1,81 +1,90 @@ -initial_password_clara: ENC[AES256_GCM,data:yKUXU0ZlNoH4nRjXFTZVJciJhjxNzgzwUn9BRbDhR3HDTrYMWnkkymXm/hOKPK6NoGH9iH163NWvUcaQgcEVq3koNgyx60KeP/bZ,iv:aTrsOnJbfMWgoPPjTqg9aiPaTmBGWi02WheUY+rFcEQ=,tag:5plWtF4fKCiY5UObvGf8Qw==,type:str] +initial_password_clara: ENC[AES256_GCM,data:qnz2ESb1vPUzJy8gx3dxl0Whpcv10/pniucP6rYNFVvV4ZnH2n3OWNb4L5ge4rdhZ1fF4PRrSvFxWwDT8sYNi6bpXr311sNmpXLF,iv:XktfnMcKhJE5DFoxUcG0S1oZQtHxW2Mc2bVxs2BncUk=,tag:KmJmJSCT/XySEpkWdyQufQ==,type:str] sops: age: - recipient: age12d8mxwnt0a7gl4uu0uwdqaxuqdf5j7zm50qy5qrhj0kd4ny7luaqv7rj4e enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBxbzVjSzdLd2V6K3ZVQjU5 - RU16aGRmUS9YczVxRTN3TVJmZGJHellEVGxvCks2WWY3SXVhOGM5RC9uSm1FZDhl - VlhNc0JTVVUvOXBleVNjTmhWdUVZbHMKLS0tIFpOWmtBSFVDVTZLZ3BURnFCZHN4 - TGdKNU9WekJrNzlOSkVnY2pZYjBWMTQKtObj+2bdYoiKV3IlY4QmyuLN0Ty3U3+U - v5IruIsk9a5OLpLsJNlWRtCt36Xx6hafA2As5m9w7krsqi4cE+JARQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBma1VoR3cySWFsUENLMnd2 + UEtKTEtwbEhSL0lMT3ZFTlVYS1FRTzc3Q2xZCjFrTmJaMUFRREpDRVNIeHIwTmFx + R1dLZ1FpTlgrcTUrRWZycVJzNVdGekUKLS0tIE1WTlh6YlJrZDI4MFpTV2RhRG81 + UWo1NGI3cGZmdWRBaGN2Y0N6NDNtcFkKbtxnjccJz2Ru6cInLpG05bvtJEvO2mfS + x283QrBHQnsvg/ph45xn8umptiZii7pSvPJoChjAb7BK+jq5elScZA== -----END AGE ENCRYPTED FILE----- - recipient: age1v98yggaarelrp7z8rljzpf3gm70up4q8460trejmptdpv7gjucrqssjz9h enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQck5RQmpsaERzdklkTG81 - S1BoczdOQkdaREQ3MDBSekdrK3psTGxRUGxVCkJqdDlQZUVsdnRqYU1RUUZLOWov - bXlSUDQ3RjNZZ3lLMnJJUWFTb3VSZUEKLS0tIFhCZmJGUGwxUHNmZ0RSbjJOdjVS - NDV2U0xuRHl6VWJscmVJblZidFFKVE0KHyUi/AqR3AXoBMTjycE2UIFTLKhIVJeu - OeDcwIrizHgRTgC78AqySGO3p9LTslW/VkVRehAVQ1JY8tuD9raBjQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwbExENjg4YzdEa1BscXVP + bnFFS2pTUHg0Rnc2ZUJKVTJ0QUtuZU40UzEwCllBMjQ1YTVTSytEMzFXNStmRkc2 + a1E5UEtQRUYrVmtZSUcvTmVKS2hUQ0UKLS0tIGhvaVhwbDh1MzFhak54RGMxdmw5 + QkpzWjVUaGRFdHVuR0FKQUZ3dUlZZ28K3imk+NDfKDkbEo9fs5okgbXMwjiXeJHi + 6pRZW9INVt0y8ovrT2n3MF1esOSpBN2Xsnb9EAHOHc0VjYZoaP6uOw== -----END AGE ENCRYPTED FILE----- - recipient: age14ukkn4plvnjacvjux929qwpeynxk4cfxw285vlwddqakm43kfyysfdg02c enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBmak5TSFFwaStsRVhqYWZQ - bDBsT2hka2Z4bnpKR1RwT0ZzVlAzUllxOFZVCk9mL3psbnk5aEFlRTRJMGFVc05S - MHphVGp3OEIydjdpZ3pOcndmbDZLWHMKLS0tIDhJSzdncE0yNlhCeWVrcDVROGI0 - QXNCYlhueldWd1JmV1JnalZzdVdOcE0KV09ErMuKEoCe0Myag9lymr1zYiTE60nv - cQmsUh1jCuOU55bmZ7NYH6BX41KufXN1i6/gh5mWhbSHbcFzeh7T9w== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBdjNqRmdlZFVaYkdwZFd4 + UUVwcy84OEtMU1dyam1KWUJEOVUzcVBKUFYwCk13VTFsakN5eUFNTW94dDRmRkVo + N0lPWUlEY0xJOFE5YmhHWFYreXUyUFUKLS0tIGxiWVBkbytXOWFIbm5EUVhZaDlp + NE1MOFNZSVF1am94N08xa0dHSzkvNDAK8qzdVj6XrNKaAoloxNmJSMmMtmBgtWLf + h+zmyphDxtgKhsxusKYTKNbv2SK3mta7ej8Lt9lJfQ1ZxY+2kLqT4Q== -----END AGE ENCRYPTED FILE----- - recipient: age1vd33efsea2509hm0dwmhkuu7mm2kgw6tsss6lmzsqfg7gat06qyqys3qfh enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBndTBTczlNZUxJSU9Pek1Z - MGl4Mm81R01lU1lrVWpSdDJWR3ZNL005YzI4CkluMUp1UFREdEl4Z3hrcUhmSm5i - by9YVlZxaTZCaW5FL0pKVDRMT29oL2sKLS0tIHYxZzY2R2REK2toTDJpNWxnVU1q - N0NnY2RvUU01T1hjRU52N3gwaytxL1EKKfTSY0sZjvcLAawsVhdqA6VybOqSw1UQ - j/NCk+lm3eemP4LYDLZX3inVivmAFp923mdlMDkxACN/Otpcym2fIg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQWHdNK3JjMlRYNTBPNFJ1 + cWpjc2VTNHVFcUQ0aER5QjQvdmNic1dyTTFRCjFPUHBEM3NxWEkxc1VHMlgrWWpB + THlIZm5TTjA3SWRhLy9EVTYxblJ2L2MKLS0tIDR4Qkxrd3RVcGxUTjQ5bGttMWxW + RHlHdU8zcTdja2RWZkMvWFFOUjlQVGsKlGrJrMn9WmG/CnzBVrB38UMKQZrJDlfW + CBjzcu2tyoTRI57yaSOPemp6Vsn7Rk+UlFDvlUnlACdRyaytZYKjXw== -----END AGE ENCRYPTED FILE----- - recipient: age19efecaur72d92g452zpe4uxjtwev2ktjtaezascxg9l2p8544s8s05d93r enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBqK0tjb3R3bjRiZTA1L0Zh - a0JJRXVLcE12VXRsKzJYOGdHdjBVTkZJVFNrCk5YS2d3Y3BFUm9DbFB1L3k0U05U - eENqbU9naGJKN2wwT0hSaU4zTVhVUEkKLS0tIFpHMW9hVFpWN0ZMK2lnUnA4UUxJ - blBaYVlwVWthYnZydHh4VEYwUVRMNXcKSyQMwpa6karvpGefWPnj4tFwUpQjUzcb - JS85fzcLajmzBR1MrexeybI/325xbnLRMN9NnW6KkGLiGgdSTlACxA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBzMU5jRWlPUlgxOXlSdUNp + WG5ENCtLbWIzMUZ1dm1pTVQxMS9vM3VET0hRCmZ3UlBmdkw2N1lkajcwRi9SeXVM + R3dKNlA2aW9hVW4wd0QvRTM1MmNDVFEKLS0tIFZIUnpDWnlPN3Fjb2pBcFNmaEtn + a1NlN2R1V1BSN0dURzlnaW03WkxEMkkKmstbS8+P6XABmRDngWBhd91HC1pXIm51 + XdiXj2018m1sRUTrJ/Ld1BDgKhKDV0W1in+jvJcmu72GtpXrdsGjSQ== -----END AGE ENCRYPTED FILE----- - recipient: age1zj3tzzcpyq5s66phlrf2g203am7vl6vxg2jlpr8vy6u385xljapqt0d2fr enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBhL1RjZE4rMkoyRnNlNVVO - YXlpanVLaEw2Wm1HY09WaGVQMXVicDVMWTJBCnZkVmtyL0F1M1I4OEdDWTVBY2Jq - MUlGRDdSZFlNallDeXNMNGYrV0UvNlUKLS0tIC9mR1d0d3A0K3oyejdweE1GZEZl - Z3pqYU8wR1NSZ3lMOTlabGs4TFdyancK5SwVpQCEqejeiBz30aLb5KVVMDPmRSfF - yqDyBo5imOeI8NEKN2QiV/X9Mg4JxC3y9546OB9m4rCZkPTedR51aQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2Q1o2TjBPYlovNVpQbzIz + bW02ZGtqY0UvM1dSN2tMbVNSSk1xQTBYSGlJCjd3MHdISTNEOUp6dTdWRG41RVFI + Yit0ZzJUWnNJSHh5ZGQ5cTI2U3lkR0EKLS0tIEJHQTBqYlhZR081Ky9oV2ZwV0ND + OFhGcDMyZUo3b3I5QUpQRmlobVc0SjQKWp5aX115M3h+r0Lk3TrfUUCWTbP2DGMs + zcuSu6S1mCsBZzMrXAnWIvH4Mzq+OnU2LmTv7YsYa9F0zS9DIPxucw== -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-08-04T12:13:32Z" - mac: ENC[AES256_GCM,data:UyZx882SK/UY1ONTETB0OP6LNbRg7VGygOJpnBKiOQBu1q9NU0pt9JSeEiHoEmTRA7WTvxWIYbeUt3BJs7ZRY1+tRCEa+HNAJHAFw5XOhk2wUKAtq7aw7IPf/9P+QxRZjf3UAg8BriiWhXPq9IPFAjwvwqXXwqG3PQViPAj+5Rk=,iv:EAhDdYc3XRIe/Fsty6Lo6pFqSK7VDC2Rqo53LGZkLI8=,tag:JfYe9jugBzUcOgv6CNebnA==,type:str] + - recipient: age1h7yq7n8gcw35apr7jn8r66dwss4hfcdv0sf4ankfxquyavlrqukqhr0lrc + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBmWWpNcmdZOGlNck5zbkNj + T2NpYzQzVmZDM3JpYTRIY0NOMTBZbUUzRDBJCjZqeXJ4UVJIOUJxY1AyZGFDcHQv + ajF6c0ZKT2laZmc4YXJzS3NRMDV0a3cKLS0tIGRXdWlJd1VMWlJlektqYkl0VDRy + Y2NSMytpVGZ3QnY4cDdSejBLbTkxWXcKqpqGZDGCntw1Y/T5JmWQcVUoNKeZeLno + DPYH/l4t0pO9f5d2alyJGj6GRHThwjbYJksbdbz5+zpVAkSZVsKV0w== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2025-08-08T15:38:19Z" + mac: ENC[AES256_GCM,data:IoqrJyCNad4/OFH6y24kYMwnkF3OWfsw77POg00btvw7FoPoaSJ76RySMs6hgWs202bDYSDi44OvbgCVeNPkhe9eyM0gwF0Gf0cE3wirc+qj2qfL9/lMOTZm02WymMglJf6xTcPo3BH00XryR7ptid9+WrB0S2aBVNlcXSBwpzY=,iv:aLI2SyUzWqp/4XFPhogq2vq/u47bs6Gmgc/PRMe+GmM=,tag:jVnW7EkqDRfQluGTiw0olA==,type:str] pgp: - - created_at: "2025-08-04T12:13:22Z" + - created_at: "2025-08-08T15:38:00Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAzwtBoBqH5ZOARAAwMb03CPIxD8A8DPKzbpLH4jVFlvjkxr7IvS8bhM6gAk+ - BQIW4CoxuY0zDZJ036kjY29jK3AuBXahopOfHVuGBkgZijuRGNs89MR0O+bGEm5U - RERT6PGgUzM1g6/X09mxH/Foo190RhGYDuoojsN2s5RIyAvnhr/v9v9h8EBxJ23K - 7zNOBgmEBHBfswYSgJ8WQo0k/2Xbu2gCfc5HRgq4yKPbTwNTN/Jhn7AgTt6xR7TG - S8UDKfSku7q8x7rEfsysKFRIlKeu/F411ANkEJ6yiJJ9XeMhefC9cZnpNPFROc+V - ffvvQ/lkG44iKR7a22JYFrSA9+F2raBdt/qX1QJqmq/ThLeDRZh0OwY0m/W98fO8 - JOjWrfxGpqaaL5JjOPyt0+QViporOBfwvI/8kT1f97ij/3kD7M8xmZVx8N4bfizb - T4Y4fFX6OOzEpAKJwqLTEWemMVjitQw1PIwRixA/+ehCg3QUBhw8VT6U1LpdWL+P - wP78djx2/yV43N/JiXXOL+lbL1HAgB92D0k4V1F4++tEjZUS0gfpxTz6VcjZMqR1 - hHLN2i1PIc8imqMYLXj8YRTbDXTSeoFvFgE8xO9mvMyxPB6AQnDeA3f501QIVm5i - fsscF7suegkmk+gNSqVCQp6e7cLPYEzxXPWYAu4ERwgGbbGvJpudZOX8WYqVpRvS - XgEyHQ8TqQUCjUZ9UN+Zez4ZEHJU8ueXDWdevcZ6qDid4Moh/bq2jN5UQ/NrVZDj - aS+RolRUFThN7/YX4TMk+uq8eBB4MhIpdTLu9M0XQpCa5g45aFl38Dj49l1UmYE= - =V/Re + hQIMAzwtBoBqH5ZOARAAgktfEzwTbSHa/jwfH7KC4mNlUJ4z1d8Q+uVyRckpHTKb + 3rHgepaVCEpp04fxSaR3f6tBLCQN5QwL49j1zBn6PQYfQ9EHFWc0YJ6VxgyExprV + vkQ4u3Z6GQGzJO9jdxUetRYGtHQXzj2SCfPrpS01Jkv2iGbDTPXShP4+R9VyI/UN + otMrRYzztfT2d+HWQyeX+j0+CPe8gWO4QH6N6qVcsayPgBLyotpzbCBP3EM6Q5Dq + OESDJmiDNL9chdwJi8SdlCLclTSzSTISR0zyXdda09EiWGBa5a+YAqpoBd5ui0RI + A6c2OPut2E9fHMvL02yNPQz2iXCfasJm+ggy3TF5jFDbrkN6Ypddftet3xarZGSD + Kopu0ipkh/YKydT0q/4LfB9TncXwrVLxiDjfzcvPwvYvWcKjQGXhk+R1ZQkEnZ7y + O60+Ar829cujk/MMAI3ctq9WYawQJ8B4qizU84HPLHHQFHokecjjxO9BgYyBiSvk + lS2b6vj6cOzEvvehmPE118b01Kz8mBWplVreyUM6bEd+whkZD1H8Q5cWV1tgbs8m + FqsIHE7V6NWF3Ky9vQCRKiP46IBFYcrnlnxKUgQ6wOE0N8qak6iVqMyl3/itPAwi + Hh0hzBxKjHY57ady5I3Cy4JQMn2ojBdTAu0Syf6XltlJfReay16AibWTiBwU/JvS + XgHhag7zrl1Hka8xzvFeOOtkgbHZ8Djx8njJiJVMM74BJ43dZbtLsaEYhpVdaMxy + 091M+tC5h2Gtfb3/wtI5VtybjeSl+bpEdUBleAuL3GkPt5siD9Q9C1QGte41stE= + =OBBl -----END PGP MESSAGE----- fp: 58EF8D71114EF548DEE3320DE6F04916B6EEBD83 unencrypted_suffix: _unencrypted diff --git a/secrets/vikunja/secrets.yaml b/secrets/vikunja/secrets.yaml new file mode 100644 index 0000000..fdf51f0 --- /dev/null +++ b/secrets/vikunja/secrets.yaml @@ -0,0 +1,37 @@ +db_pass: ENC[AES256_GCM,data:nFca+ylk589nh9xm0mZiptAJf9xYyyI2wX33NYJx57POxg==,iv:qChMVSnmzrVr/R6ija5FLzdVWjZT9LWuSd1fp1703uk=,tag:nRyGofS8G6o06jvTb5cOZA==,type:str] +sops: + age: + - recipient: age1h7yq7n8gcw35apr7jn8r66dwss4hfcdv0sf4ankfxquyavlrqukqhr0lrc + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBsdktGZWxkQUV1STQ0aHhD + R2hvZEJQRFlsY2FnTTVkMVAzOE1oeE0wNFdvClhlNGpRME9zYStLUTQycExOM0Q3 + dkN0c1h5d3lwcmpENnZtRFlJWk5pV1kKLS0tIEIxU1ZjVDA3a1ZhSUpDQmRMYVk1 + WWVwMzNPaFByK0dxblZEOW1vTmp2bXcKgVF7xqVYLfl6BY7RrJL5u1TRdsWCkF1v + akgi7MF5vUyP5Yii2v3uL2Uv5Xi2P/swDH7KGCz6NjWHgNu8/kcYig== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2025-08-08T22:35:52Z" + mac: ENC[AES256_GCM,data:CsTqsm6AJuGaNnJvnF+VF609lOibXn5KWNz6JGwmpZu+cewXsd/ijTEoSY5kVJ1yCMPauJpfgS0PUUzdBliWB16a4TLttnGNIyxFAjIQdOg/VyI+ECGr5X9tRSIGbEPGbdj4P9NvgctPGGBFfPbR+hkY3p983Wb+LFihxt1nKD4=,iv:9n1g9vNA+Q5iQwGjt7kYzhLEZeAx1mHZzM3HPFEYMa4=,tag:yzhomTsbfRloMdkqik7M1w==,type:str] + pgp: + - created_at: "2025-08-08T22:35:08Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAzwtBoBqH5ZOAQ/+IKJJvJg29VwVd0ZftNAlzKNmyLLw25BgljhIClfImKpw + 4wBOheKfG3AU1Yb4hTSY2NrBj5G8JrLCLNNyDCRZqwo3hNDdS/B4vbitoZfVSx3t + nmsLtmiIlk/UEJjQ/jDXHGuDYWM+xXJeqfo2fkj9fcT7CS8zYViCghspIwRQuS79 + qpIGDHNMd+Q+7vJcdHdSrR9/c49/z7GVyyzWJlfTLbu+6GLM3r06+TYLLdJ/8Xcf + fET7yfj7Crox6hQE+iEyG4hImRe9HCrSnEfrjBroNTwAe9vxQdHmRpRsDKysYDL2 + VS6tGQAwyBhq5hkHQHZLdtcVxOo5Xf868OWni6d2xcJCIZta2c+WFdCTJz+LbK2Q + v4oS8EOeuYDwkRoBLsYLYPIw7Tz9lnW5LJueXuhMFR6oMKX6jkQkhE6cNCekvOpc + xt7bvwtUB1GDzWTCbAJj64SiUHrUrPZGcvIs6s5FxzN8XVnWQljs5YUXtv1WouKi + T7vQccBPalfOPYmIgKf+rFcWzqGsaBB4e9ssmGj2VC73rbwdFaT50msXYU8yp6do + lHfXL4gwTFocHPUHC+guAjnNMhq/LVBByBDNptHv21lUP/TUPKIi3FxhECnI+RBw + gR8+FKZOrXc1pItob0GKKskCzYUw7CDLgA0F7E5czx/ti6ol1KyJSbDvVk9HtpPS + XgGqpVje3RnS/chBS0jzT514ZeAsspwA5KlLH1A8knToyXgt94ko4fw+57U0ITRA + ocu4EnuB2f2aBhCB194X1cDBOkmpkID8ZidsCPO17nvMYn41Vi0UhRXRuaPlvCI= + =UI6x + -----END PGP MESSAGE----- + fp: 58EF8D71114EF548DEE3320DE6F04916B6EEBD83 + unencrypted_suffix: _unencrypted + version: 3.10.2