From 60b2093a02c2b067e75b0ca2c82b096a2f8748a8 Mon Sep 17 00:00:00 2001
From: June <june@jsts.xyz>
Date: Sat, 3 May 2025 23:08:41 +0200
Subject: [PATCH] netbox(host): move secrets to SOPS

---
 .sops.yaml                                    |  15 ++
 inventories/chaosknoten/host_vars/netbox.yaml |   2 +-
 .../netbox/netbox/configuration.py.j2         |   6 +-
 resources/chaosknoten/netbox/secrets.yaml     | 238 ++++++++++++++++++
 4 files changed, 257 insertions(+), 4 deletions(-)
 create mode 100644 resources/chaosknoten/netbox/secrets.yaml

diff --git a/.sops.yaml b/.sops.yaml
index 98c8e21..21f0134 100644
--- a/.sops.yaml
+++ b/.sops.yaml
@@ -102,6 +102,21 @@ creation_rules:
           - *admin_gpg_c6ristian
           - *admin_gpg_lilly
           - *admin_gpg_langoor
+  - path_regex: resources/chaosknoten/netbox/.*
+    key_groups:
+      - pgp:
+          - *admin_gpg_djerun
+          - *admin_gpg_stb
+          - *admin_gpg_jtbx
+          - *admin_gpg_yuri
+          - *admin_gpg_june
+          - *admin_gpg_haegar
+          - *admin_gpg_dario
+          - *admin_gpg_echtnurich
+          - *admin_gpg_max
+          - *admin_gpg_c6ristian
+          - *admin_gpg_lilly
+          - *admin_gpg_langoor
   - key_groups:
       - pgp:
           - *admin_gpg_djerun
diff --git a/inventories/chaosknoten/host_vars/netbox.yaml b/inventories/chaosknoten/host_vars/netbox.yaml
index 2304112..7fcadaf 100644
--- a/inventories/chaosknoten/host_vars/netbox.yaml
+++ b/inventories/chaosknoten/host_vars/netbox.yaml
@@ -1,5 +1,5 @@
 netbox__version: "v4.1.7"
-netbox__db_password: "{{ lookup('community.general.passwordstore', 'noc/vm-secrets/chaosknoten/netbox/DATABASE_PASSWORD', create=false, missing='error') }}"
+netbox__db_password: "{{ lookup('community.sops.sops', 'resources/chaosknoten/netbox/secrets.yaml', extract='[\"DATABASE_PASSWORD\"]') }}"
 netbox__config: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/netbox/netbox/configuration.py.j2') }}"
 netbox__custom_pipeline_oidc_group_and_role_mapping: true
 
diff --git a/resources/chaosknoten/netbox/netbox/configuration.py.j2 b/resources/chaosknoten/netbox/netbox/configuration.py.j2
index 789a539..287786c 100644
--- a/resources/chaosknoten/netbox/netbox/configuration.py.j2
+++ b/resources/chaosknoten/netbox/netbox/configuration.py.j2
@@ -3,7 +3,7 @@ DATABASE = {
   "HOST": "localhost",
   "NAME": "netbox",
   "USER": "netbox",
-  "PASSWORD": "{{ lookup('community.general.passwordstore', 'noc/vm-secrets/chaosknoten/netbox/DATABASE_PASSWORD', create=false, missing='error') }}",
+  "PASSWORD": "{{ lookup('community.sops.sops', 'resources/chaosknoten/netbox/secrets.yaml', extract='[\"DATABASE_PASSWORD\"]') }}",
 }
 REDIS = {
     "tasks": {
@@ -23,7 +23,7 @@ REDIS = {
       "SSL": False,
     },
 }
-SECRET_KEY = "{{ lookup('community.general.passwordstore', 'noc/vm-secrets/chaosknoten/netbox/SECRET_KEY', create=false, missing='error') }}"
+SECRET_KEY = "{{ lookup('community.sops.sops', 'resources/chaosknoten/netbox/secrets.yaml', extract='[\"SECRET_KEY\"]') }}"
 SESSION_COOKIE_SECURE = True
 
 # CCCHH ID (Keycloak) integration.
@@ -38,7 +38,7 @@ SOCIAL_AUTH_KEYCLOAK_AUTHORIZATION_URL = (
 )
 SOCIAL_AUTH_KEYCLOAK_KEY = "netbox"
 SOCIAL_AUTH_KEYCLOAK_PUBLIC_KEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAi/Shi+b2OyYNGVFPsa6qf9SesEpRl5U5rpwgmt8H7NawMvwpPUYVW9o46QW0ulYcDmysT3BzpP3tagO/SFNoOjZdYe0D9nJ7vEp8KHbzR09KCfkyQIi0wLssKnDotVHL5JeUY+iKk+gjiwF9FSFSHPBqsST7hXVAut9LkOvs2aDod9AzbTH/uYbt4wfUm5l/1Ii8D+K7YcsFGUIqxv4XS/ylKqObqN4M2dac69iIwapoh6reaBQEm66vrOzJ+3yi4DZuPrkShJqi2hddtoyZihyCkF+eJJKEI5LrBf1KZB3Ec2YUrqk93ZGUGs/XY6R87QSfR3hJ82B1wnF+c2pw+QIDAQAB"
-SOCIAL_AUTH_KEYCLOAK_SECRET = "{{ lookup('community.general.passwordstore', 'noc/vm-secrets/chaosknoten/netbox/SOCIAL_AUTH_KEYCLOAK_SECRET', create=false, missing='error') }}"
+SOCIAL_AUTH_KEYCLOAK_SECRET = "{{ lookup('community.sops.sops', 'resources/chaosknoten/netbox/secrets.yaml', extract='[\"SOCIAL_AUTH_KEYCLOAK_SECRET\"]') }}"
 # Use custom OIDC group and role mapping pipeline functions added in via
 # netbox__custom_pipeline_oidc_group_and_role_mapping.
 # The default pipeline this is based on can be found here:
diff --git a/resources/chaosknoten/netbox/secrets.yaml b/resources/chaosknoten/netbox/secrets.yaml
new file mode 100644
index 0000000..7673b44
--- /dev/null
+++ b/resources/chaosknoten/netbox/secrets.yaml
@@ -0,0 +1,238 @@
+DATABASE_PASSWORD: ENC[AES256_GCM,data:PL+VW8UlAdZbL5CxneydeW7FiDWv0s76rRkdjRT6RfSjN6bHyL7wJfv20cc8QtE/7ACdVFoYe6uXnfygRRUCgQ==,iv:wQP9VzAH0eTDyDPQpYmsKeVThQCzdaHDvcX6eFgjUho=,tag:4jc7Wx4gY5r2XpEHhHSZ6Q==,type:str]
+SECRET_KEY: ENC[AES256_GCM,data:5jtW/ymn/k20bTvdx+fUMJZZBwxclqyZwpRF3+DRJiABZehUYByjwuLe+GXiCaKNjI8=,iv:fz85tWdSaEnmx67NUqoekcVB8meZnMahmeqw5bNRp/4=,tag:veo3Qc3dwGeSj4YTDDL/vg==,type:str]
+SOCIAL_AUTH_KEYCLOAK_SECRET: ENC[AES256_GCM,data:sUEvuYWlx4B/vjYdm8hZym/R3D4BIKVMTZuLZTsnL88=,iv:bbXbHY010ASasJE7oz1q585yg8KRTDcE1rFVk1lzfRs=,tag:7e7PWvwVtng1Azy5C9C3Gg==,type:str]
+sops:
+  kms: []
+  gcp_kms: []
+  azure_kv: []
+  hc_vault: []
+  age: []
+  lastmodified: "2025-05-03T21:07:10Z"
+  mac: ENC[AES256_GCM,data:PKLClihEdwtcTb20/b6ChsiqKDUesOevL5+5IEKi7D+KfCOVP7tNnjwxtsMrAUO8+ng2Vh560640pZLVMeLsO5CS2+5b6NkIJeFYyBQeOxCJ0ykuTI9d+pJ+X2EXVUAXLCpiEAywiJeWHunh3JsLAryObxn/eljDqvE5tPX0Yd4=,iv:X4FMyelmNAf37eozHjx1sO/hi6aqrcWjqGpM7kIoKL8=,tag:pMkCNAsMq0F3RPdOaZDjJw==,type:str]
+  pgp:
+    - created_at: "2025-05-03T21:06:24Z"
+      enc: |-
+        -----BEGIN PGP MESSAGE-----
+
+        hQIMAxK/JaB2/SdtAQ//e1l1vASGqewH6svL6zyKdVbar9z/r8lpSSVyWifmYD8P
+        zNTBR/sYUt3OyaoUry9oFl9XyfCKTlypLi+zTWlurMDgjres0gcCmHCTKermU1sU
+        U+dRFyZcRH5+4+GCKEM1Yr5SY5OZEwRwgJBI4vd8m4b3POa9ivsykCiIJVtPvNFf
+        Nd4ngfgIAkL6j4QXypFfDqbsKSrE4luPL7MVuw/FEdvO20PubKTLGyAo2TxLcq0e
+        A9n9S4rY0Ke4meLUrZsb3lq3SnBN9rOvIN3XbcmtmvO6jCmenLArzQaL8cjx2EKy
+        DmqhPqTrkbJgy0utMGvosyaRTGsjvvxk0fU1Olpl7MzhagX2U6nKP5s+Qk7PaBsK
+        TEH5CSrr8YbptDUIbJqao1A0z1hkv6kODITdlxxdK+iXsi6VKcvEzFs2PTDTqPIT
+        lnhlzlZLypdQhx/0/DMKsIOHrvT3BgQgMDj9Vt8cA/UXjnGK6rmX1VyXRC5MyBqE
+        NsytdKl2JUAFUJ1+PVcDefQYgo2ceQK86ZQ0Ol1yf9sOY/GW8fCIRw1TPy30U5sr
+        SOVGtBIj8Hj/Xwx2Sw0DzeBwyPNa2bth26+Sc5nWWXbMnBLaa79dOOVWs9A4kSEw
+        qT84xg5fLH+lgQkuKHZ6YJcXA5V0a8A9fI+9xnLK2totJxtMI34VdHEozTYmrL/U
+        aAEJAhDnZD6rDx2Wm3S2agGmCYVQBRYluLZCGVGPFIWRgooUZh8T+PJmDWKGfVN1
+        nSwyhGJptFrGP0d3nbnJ/ayK1f3HcqGuqG2WbQZAg0dR8oEFUwgHX/72sKK3mGq1
+        Gzq1z7TMgU90
+        =ZDXX
+        -----END PGP MESSAGE-----
+      fp: EF643F59E008414882232C78FFA8331EEB7D6B70
+    - created_at: "2025-05-03T21:06:24Z"
+      enc: |-
+        -----BEGIN PGP MESSAGE-----
+
+        hQIMA6EyPtWBEI+2AQ/+Lv5wak+JKDhr5XCCnc04KBPNFw0sb0NFfdLzwHXayHGY
+        chMo56UeX5UsmOCtlFqcEC+2QpXnvqNKhI+kjMa7ARcvs3ecDL0Z1cvhSn9nMKJK
+        Xi/IxJaGAEEDii/AL00G8M9LBXEg2eRXeuWvoxU1Lt8Id6oSmSgL1BbBPLWPLlQf
+        ddCCAzBajvnZ8tYDIHV3eY1iWKH2MbCqV9eH3hP48l+maR27DaT+z10s2AvtOucE
+        P1n3Q0QsfUrfM9XLldak4fhWq1ykmj1NyHrcLmV3ySdufkJ7amThlPiYl/2g2QNY
+        0TSs2/R/VvzpveTFGXxcVveS/1KuLNzOTEwSoRnkoAqxbXb2aFV/7H5SWUDQADvB
+        qAHTLlN9lH0fd4adN8Liq7SgWd29pGnHaGCmZBEPExrRnKLv3mjsb4Me9B6xzHiA
+        f6/4cI97mCHiin2T9gxcDBvOnO3rcjWalTlsA24aO+Z0nXorBcJzoWITH4ZsluNj
+        Zau73K3qe2GBPtYsRyHR7nUgxpTAOXeXeO64+DepYCC4czZ2iEmtlf+xWJ3Gy8FU
+        nlU5ysoVVvkAtX6LZCbelecyX853f8F1B5kjkycqERgIKEFAxSo3OJTCzDe/PbCc
+        Pk/Zs+5enAtN8+dD+jTrHLHX9gSOZPdT32/WlOua38ELsfoSCNqsj0HTLuM/ORjS
+        XgEEitd3eb9U1YcGYJ258/x2v+ELhTiEVY1hYqD0j1dabZiNEpd2+BJ8tJY44A1a
+        0ZOrevMWFLiu6aE5Th+xw1DgXpmrMuxtxSHBJPzs3kZaxWQ0hiTJEGs/RKjzZ8A=
+        =vc52
+        -----END PGP MESSAGE-----
+      fp: F155144FC925A1BEA1F8A2C59A2A4CD59BFDC5EC
+    - created_at: "2025-05-03T21:06:24Z"
+      enc: |-
+        -----BEGIN PGP MESSAGE-----
+
+        hQIMAz5uSgHG2iMJAQ//TPfUT/jQX6rf3QiAyQPq4tHghd4QUx6o3giRAANW4/Qw
+        EKB7/kTwPjfwXbsoLLcFf38kf6Nr7a+NkkgU6BUbRouTW+SFFKTQSVfslQfF2hyu
+        YlN7sQHL51e6s/geuKU9/4X9+wGECLXJ+bEBD8z2O57vvI3nHHx607EnTW7ZU6G4
+        H9QR8CfQvXdOreuxJHuSxReWgivbH+4JIZSQROUqeHbAsbdrtQkpFM2njPvknO8g
+        a8uklHLVyFlbJuCHVeGDSgqKIRg/wGHOBsPUR8BCow16TwfgEzFDE2EkqPkb9h03
+        DfpbMgYycgAp8MVCQfC1vvxG5ysQTbQ5fGTCJ48bMB78j8VxtvkfyczBmG7gw22t
+        gwg+t7eBhOuuVHkBBjuAd2Vzt7x3n+FrPIst3NO7UiGG3Ctf2tnSa69ZqTy3dVhh
+        j4USGTNetXzIdAb5ExiqLir1M1hFq/vSE+yg7q+ktt9afXrFLVgZ98zemDsVqhsj
+        vwsPTGBk+8gavChulmxnUCQgunpaQ8nokHVC/dbhtLM7ZIyV1QLMj40Fsg6J6X93
+        q5DWPX2DPi4zqCWvZCJF18YSWR45XcsOtqkzCJbAdJKs029Y6oP92Nq8k/gRf18g
+        j1EeYHm5nJLySsdTB+aQ2cKmA7eIQ6gadfGs4o/Ge4Sd2RwcX0ch+dzHvB6YK2HS
+        XgFpVWTm/z/XCK0nxo9eMPltPL0jEM0qMpk8flVcqQMVzba0hVq5MCzkQycFsfg/
+        xCzi40J2e/Feh02TPA2picple/C20CcB81Ib3m7CyKCnUf+evEmKr5scwdsdB0s=
+        =laDO
+        -----END PGP MESSAGE-----
+      fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5
+    - created_at: "2025-05-03T21:06:24Z"
+      enc: |-
+        -----BEGIN PGP MESSAGE-----
+
+        hQIMAw5vwmoEJHQ1AQ/+N9agBO50stdifyK81Gs/u9haLtSJvt+qVv6uMaP7i/yT
+        /p2KmJ40SdpmN890Wvqgz5SigWeyEnhzoJuymuTwRLzYcZiEl4pQpKF/FFBokO8i
+        6gDxMgXM75UkDQ0C1xv3US7zw4ePSshSaKC6t0q8gF16WIbVLGM8a9zWutTbbuYD
+        fMVfCLx/n+z1xGw40qGLI0NKvV/jMNRhcXc8bOmyi2A4CkTnBLwyrfOzkMQSC7Fn
+        yS3n4XCe/S1LAHNkN8us9iPlFzwjG3nwBeyS/vnPnF7Cy/1DvysZCmoCMAm+DN9g
+        jYdjO2kd8MxnYpueYzJ8+Hwka5q3yZjBAYXeaY1VIiI4AaQSo9W3qc9BPda/lunW
+        bW5hvVAGZ3NmjkrMSDoyUVjBJFan042jQhZjB0vU52TMv+MWpUbwqEHu+caO7N6e
+        5M9nyZ39Sauvk3mD/f3OtSgRZRWwQ1dgER34kMmvVCDBDECfwNBfk44jLzzUvkpp
+        oFjz5PaBzdmUW9qKhCGu+2v90C+EHje5yf9N71kgVj3x/MHPooeNzhfy8X9cZ0hf
+        TB/wa6AGwHGGQYZcO4qLWtFJV0XkSJ2tim6qR3q21mBkqtJqnjATiOEcYgDXXN8u
+        pv2B+DxK5fZIZH8X457HFmVzjLqsrLJtuLvVh07Qum2fLhqWbUb3oZM0I/S5333S
+        XgF+YaV/cViGp3a2lGd9Khh0yJmKaDgPX83sEpBmS32kXegvBaHeLSm4CcTwmrFZ
+        q82qJdZzGh9w+/Ah1C7dUp8tv4oiQmtnHQ4a86Ir30BFQdgVmcvDXTWN28k28Ss=
+        =D/lR
+        -----END PGP MESSAGE-----
+      fp: 87AB00D45D37C9E9167B5A5A333448678B60E505
+    - created_at: "2025-05-03T21:06:24Z"
+      enc: |-
+        -----BEGIN PGP MESSAGE-----
+
+        hQIMA4HMJd/cQYrVAQ/+JMHWk7uwJBuVpOTjD4YtwRAV/tKYBzBGJ+UqCcG/r9XK
+        VprIs0mXljcjdvbc9udV9tXSXI4JsrBEDpUs2yW3OVVpH6d1lPo05Rj4c8b/PIlU
+        8KoSvZldR679g9qocUHpCBRRNQEZJ2iZm5ISVJVCti2G8C2zrE1jin+GWlmJ2vjK
+        Nk0CHKb/c0GSBraAyh2JzInd6C4UJFW/ZaAhrbwYUhTo6wpJiEGTIIiV3hwEQ7Ao
+        Y1JVxlqIGdL9kJ0l7haLKqHLFgXQ4iItCsw5hRqeBLLzAN/NwAMQu0lqFe44v13G
+        RfcoO89XMn08QVAHkTT25TzT8viiKtaOS7fZhO3eAJkxWligHhpTosy0dBofqUqY
+        HGJh5dG7Hlm+MWUAWVQBJz8/UhkJ+CQcYWShVXFx8RqCTtxiFpLw/kTt45s7DPv6
+        kzkIFsRHXK302HlaEv8f/UvRuYNFRmrGrFpXOdF9ODCaeaxm5E6A/FeJXW4KonOn
+        /butppRe94MaFf/aYfZL+g3VeHo9eT9HXLcRcekm+oIeWEv5t15oZ+w54aqjYOno
+        8rIxC4a8eWjWdU9c6LjaHWRa5tEvGP+vlfsV4yH6wGiOK6xPlME+ikYrka5PDSOG
+        xEvcCIG+KrugQZYgfvH/6fUKsPRitDQHQjG6HNTSVfIHnHoqntlbtuvA3ptSnKzS
+        XgH5E6gSyOaJH4asmXKT98HX87iBTa4SmEYuwZqjRKipUPHu7ZBO8rHrCv3VEaM6
+        btDgJG9rePCSwg+WP5TaAhFvw/5QAekmydSz9SKgS3PenzeFa0tei9ylwGAaib4=
+        =Mbmt
+        -----END PGP MESSAGE-----
+      fp: 91213ABAA73B0B73D3C02B5B4E5F372D17BBE67C
+    - created_at: "2025-05-03T21:06:24Z"
+      enc: |-
+        -----BEGIN PGP MESSAGE-----
+
+        hQIMAxjNhCKPP69fAQ/8DCABJ4gv/PzVBW51rq41776U4UxAkt0u+VEZNlRsuQRk
+        Zl3osLjxVagOiTL0hjpsqUq+2DPwLmpSGK4Xm+u0lvXViZR5TNe9u7YHZ8oPCmUJ
+        6hCvMyeX9UwprQBAHh9TqeNu/ZxWaVJjYhDOWQOeRCNbQpav6JmUAw30BsFDpg5z
+        /HhSEPxOxfPsjwFmNJ0/eHFj5PtKuRP4Fq5459EaeqUokHiTNR6+1sWjOYjXydEq
+        /m9XKugXxrjDJ6LrockjFXldZqfgzIUfN5Y+mEo7z0aqg6IupDg4y23p1BSxF4zN
+        1wb7y2vAhAu3QZXRjF/QIjJXSgTwAsZ0d446sHGdXY+/RppQDU5eH+fmVlh4LZAf
+        BZnV/oFpaXuU7bxyUpyjvZuZpkq8pjtAj4sWfMGSte81KdJ2fIQwjUXJL0/2B+z9
+        phl8ZZ5ceVDgfzSf8RdJC0HFf/2oy6fEMRWG0B/8BONKBZIGtSoEJFrXChadZNlq
+        u9yTNm+HjXPjrq6jKTgxkYd0XLv3KWuzk0RIPKsnHaX2bVpJ7zu6KMna8tAJ5UZ+
+        Y04AJyCrILpGFWUrNYLNDqTxgY0wo3iPq3UJIiL3x2chKVr1kE//HtsqGq2Ebi8h
+        4O5GyaH+/CO+KI1PX11HrJYBDWcKblbu50/DgJ0ADNtJYvIpv/66MKRfvAhUf43S
+        XgGewkjx2jTiy9u77ywc9mzZNGgvvbAlHH+HjePNm1pNklHqY6AEeufadwuc9A4Q
+        lfj15OcLdrsno1Kx+JXY12X2UHeyY6fpLFaJDqmOCkDULhN5EmQT66eKw+Xuqh0=
+        =YHP1
+        -----END PGP MESSAGE-----
+      fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55
+    - created_at: "2025-05-03T21:06:24Z"
+      enc: |-
+        -----BEGIN PGP MESSAGE-----
+
+        hQIMA1Hthzn+T1OoARAAjQyI/TkO4z3Jrbcwl2YBm4OqeM8dVaBrhIwfkkKBodiz
+        uN98KGinIMs78a7SL1/7G5G2/xs9zG6kRJnhEdnsjbtQrg4Z3aifojiOvXItgf7L
+        JeBSh9D63UPiY7PcM1nL/7KDeq0CsA/DDQQKckpG9f55SsXhrwWjyprPlQDE8oqS
+        4QOJ4I5obLDfN/3MZtjde8t4ReLQ70QQDaHG7jPTiAwJJMkFosulFMrGCnW6sF7p
+        uj+505uFLmsW28lK+qqf8D1qh2RlbO0tTyjNdEl63eUqQ9a6MymVeEY+SpvgEXkg
+        bJyqqCC4iZfO8nATxWlx8lXhcPHFL/B3uuENM7+79z2draaCgvzGE/zIY4ebp+2S
+        fHt9g6t+kxY+W32+tj00nTE+L3k2OOp/lEEXiJXfdf7rrJb7Mc3u80Evlw1d49aX
+        MXWw0nk/yUpwnAD0Tq6zXBO+lst+CIqLGlrxPbWXb+iAovSHrSj2WbmCTH2P4KsA
+        lC1V0rwUddP9rmdIJjbjEChCQcYOAAIGJcPGVuMeTGm5B8fXl0SwnCeSZ36RWl58
+        QybH9ZUobIl0n1OnuiUncB0/bQG5wGLFj7Ett5dWBNW0er5x2eBTlQ+lEEPNVzxc
+        491jO+YNqWHwL8/wqZzoid5PVRfR9f+bEjIbcFfdd5Oq8Ocq4o/heemMNu9oNzTS
+        XgFicp6aTdkEbaHhi+Jw01DWEIltO2o5mlZcvXRTaZjwKRL4BMmwKxfGJAYUkF4K
+        /OlYm+rWtv/q4qHXsejLx4Wn+pzcZJxQcIlo1c/iup+m/tOmvWhWdWuI1G9+oa0=
+        =J/ki
+        -----END PGP MESSAGE-----
+      fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD
+    - created_at: "2025-05-03T21:06:24Z"
+      enc: |-
+        -----BEGIN PGP MESSAGE-----
+
+        hQIMA46L6MuPqfJqAQ//WVexFLcpNsUwSQAq7lN0M3aBVi2+V7kUcPF565ltzjNL
+        Q9QnEM9a8HtUkkxca6IlTFPsigCxeBxEFAvXcUydubo9xplbmDoKXas+6rjF8shF
+        rlvMfqsvrmb2slPdnf+/PsehWld7rHq9YjeHb9Boz1pBK+MrsIUblzEd3dDvXRWZ
+        7Qn658/pd1s7G8z4o13HhzhEHQlNSRhU7RJqjVLkJvnzLt/l1I135lw40upVQV/+
+        h8UUbkLr8pkhRoEeyGfWuI3Ut0d3/xFgYV//3NyYWewvp7CvKl7ITnKJI0dO0RsQ
+        Ci+Dp540CD292hxHTmeEE6oscOF2/RspDnu8xvQl8JXCrBIYXSJXYAjIpmFTnOXd
+        FddG2PuecH6lQD/U2QZjQwkfhGD86rBw6G9vtVxQY2vKs5/+0liSwMOpueCRwlxE
+        0uODApzFOHiK25jK0K7in2fYGDWjWK1YgPJX6zgXeIHIgbqjIju5d9XwPcjqOCqO
+        Yqr9JunLWRKjal2FJy0pOkQoJ/uu5czBic7k/fB1De3Rp84Lcf9iR3KNlTnXsHqP
+        XoPbGmtZycvXeovh4Gh8YVPMZir9vRwuAGmZJ6Ot85dqdgHxNhW3n2enrkrlX3c4
+        m+Z2xQn8fFVNWHepuFuZ5w1BoVa3I6G6p7K0AyaaBDXcxGnOrif4WYz0MQ5f8onS
+        XgG1DJaoidGPwCNhPsctxazcjulTONAGoLCquEidMtDSrRxLqxXL/cWjhnYphaXL
+        Khnio5A5Cpm+Jq+Hp4pBdMmRmy5upD3I+Gav13uT5lBf/9P+FHoWT4lzRvSIDZM=
+        =u9KE
+        -----END PGP MESSAGE-----
+      fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A
+    - created_at: "2025-05-03T21:06:24Z"
+      enc: |-
+        -----BEGIN PGP MESSAGE-----
+
+        hQIMA4EEKdYEzV0pAQ/+NP27FFnjzBNDhobG9wRZ/LxqhtNicRuamag/+Vq50l/X
+        KqRHJgf6B4mpgK26m3OmehBat/HNYi/A0ZReV1GlB2eTen7Fm8YmA0QeNuwSW5TC
+        fjlccV5uAwlwcCrjXFm3fngYA2gR6B1s4qesMmIycXto3KAGytWSSv2Fosj1ciEW
+        xPV/iY0X1A3dBmocBig+WMiLKl/3/J2+0DoibbnJd2BsxgWSVynHwHvVeud9zb7s
+        NpImqGOjIPEbCb/g0JqHoLcY5Wud9GkpBnMPzKDT0hGyAD/uLzsPQYKnxocLV3GS
+        8gIl2Mczz3DJ7/QpupEm/auP788q9802tvaeZL3J/zVYeUCI9AVjcirmO62lsWMa
+        dPCurVdSrGQtDjiMb0LEEXUJStMR4jg54iNjX3ZibiWwZCmcWSVb3rTdNQ3/ulf8
+        /tl3zcmz231BpuSFEL/FMqmQRyTWnhcxKdjbFQkhn1wj/zDpoWWQrJOEZPznfDaw
+        qmGUJtqH79aW9B/UjBT3o2F+hYTJT0C4M3o/FzWoL5c9N+BV3pkChwcu5Hpzp7w4
+        af6TA32+wOGN+clDCw1GdoY7nwnIuOXdr/RsJwaCEClfxxmv4jtaoeN/jw80ZkhG
+        EbEt6tmK52E5acaJ5+DkdQaCJgEqfuXEbDD3Ff18ogoCRPme97fA9bT6w4EsJL7S
+        XgGoza9GZ/6cY1qxbsDGLfSAsO1MZtF2Tdi6VYCQrmbPpu7xIoLkSpstUErefLPS
+        rlhIzHBJMuevAYE3nj64ZRZn0LJntYqUA6J9wqxjFKcRooeNG/ZzHWdrKoCdqfo=
+        =evpb
+        -----END PGP MESSAGE-----
+      fp: 9DFA033E3DAEBAD7FDD71B056C7AAA54BE05F7BA
+    - created_at: "2025-05-03T21:06:24Z"
+      enc: |-
+        -----BEGIN PGP MESSAGE-----
+
+        hF4DQrf1tCqiJxoSAQdAEnokPN5Twc4NuFqnxUUsz41bFJAvb6Yo35z0QSONZmUw
+        LrdW9IYb/VzENu2kyBZjus2WzVIPkZuPNTogekkvZEEbYEtgX8zhOzw8KJREWcru
+        0l4BVwK2WHhmfeLSuFg3C6bB+b25bPzagvpW2sQjkrJUStDneKwOEywgz4J6SGLj
+        F6Lyi085evOtfmt/Bwb4HT4geUKN2iRevWHSXTmnXYbI9eKR3peWzDmt3v1pFccD
+        =1hh1
+        -----END PGP MESSAGE-----
+      fp: B71138A6A8964A3C3B8899857B4F70C356765BAB
+    - created_at: "2025-05-03T21:06:24Z"
+      enc: |-
+        -----BEGIN PGP MESSAGE-----
+
+        hF4DzAGzViGx4qcSAQdATvO0hpZrB9DlwhBc9i7ewDgHxO7UZnerrmIMAtTcVwIw
+        VNtd22roiR/VPliu2owkEAirTkZ2SQdsWDm0+wfASiY7D9+ZT5D5etBOwqKriIHu
+        0lgBsoDwILXs93TKTIqjd0klQCoKm3XYSZpSkfg80p0gJqIT02gH+ME1bcXaOdEv
+        wnZyOI8apbwiRj5tx+OfrPenTwn9zBcrN7wm43RHnZNwVRIeeXvJUlj2
+        =eGBC
+        -----END PGP MESSAGE-----
+      fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD
+    - created_at: "2025-05-03T21:06:24Z"
+      enc: |-
+        -----BEGIN PGP MESSAGE-----
+
+        hQIMA2pVdGTIrZI+AQ/7BS2IddYDV/BRy+uMqpKDYNVfygxrjNmbQkmhcmXa5s4I
+        b04niRWP4JD0J+bu/B2gxQqPQYJym/fTKnw3PYiPsk6RmCbs0vp4KOL9aMFrtP3V
+        lAWxSOkt63e1MgDtyqmmmbkb9ZJBBsiCbkrSCDn4UQsjhwiTIEqqJyk9maY19+cl
+        XgMfY4IrLHy4LpmvGnYBrhNqEL5btCxYyBXhihf1DVePYEnCJoAxY+U4ToshUzUu
+        2HttOhoE8GrgN1wqsO0CEZwtS+PeBsI4Byk7TxFDRyNj9R2uUs/2312fVe2PD27Y
+        OrxpuvwbxkBH+RGYPpEHt9LvZOicaVOD9NJ/31kQO/I2MkRXrDan6mWMyl9vpdNF
+        zoVgm4kuqqe818GYKpQoU07fduOKmPK3LsKCPKvfUwHXDPyDJoTtiMhIna5ekTju
+        ceFi744cfQ1v7KJdXqUVEaNX5xfwFkFWonoyQ6Q/7qZjT5LAIIvAtEtDopdTVNdA
+        PIEh+XMxwLeXrBU0b/9dZL/s1Jz6RhAtjM2EsJX5ufpZ00SGwixv4sbVJgXvx2SU
+        oosDHcfVQ0gXwpPIekxQakAqfDJrrASasxA7DrHeU7ORGMBhTCDdVTmDXBOCGok9
+        pWABWZLtn3P2ituPXagrvOJ2LT+BP8t1W7yI3ifoXintcnWJxrAmH4g0DnYsoJbU
+        aAEJAhAw121YavqAps9R2CMrWi6DxP6kFuWfdioUS/wEyEg7oXR5OeF4FcTFqPge
+        4fT4um0hM4sXT24aNmRpjOmG4PFuXMegTC5YThjM6Qgd2MDzhqe3tXgaChKvMZQg
+        zOWvdN3wjYPb
+        =re5L
+        -----END PGP MESSAGE-----
+      fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533
+  unencrypted_suffix: _unencrypted
+  version: 3.9.4