From df9863ef31be7d23e0394d89483f58404a851d91 Mon Sep 17 00:00:00 2001 From: Franziska Kunsmann Date: Fri, 13 Nov 2020 22:15:36 +0100 Subject: [PATCH] bundles/openvpn-client: add --- bundles/openvpn-client/items.py | 21 +++++++++++++++++++++ bundles/openvpn-client/metadata.py | 7 +++++++ data/openvpn-client/c3voc.conf.vault | 1 + 3 files changed, 29 insertions(+) create mode 100644 bundles/openvpn-client/items.py create mode 100644 bundles/openvpn-client/metadata.py create mode 100644 data/openvpn-client/c3voc.conf.vault diff --git a/bundles/openvpn-client/items.py b/bundles/openvpn-client/items.py new file mode 100644 index 0000000..ebb3cac --- /dev/null +++ b/bundles/openvpn-client/items.py @@ -0,0 +1,21 @@ +from os.path import join + +directories = { + '/etc/openvpn/client': { + 'purge': True, + }, +} + +for config in node.metadata.get('openvpn-client', {}).get('configs', set()): + files[f'/etc/openvpn/client/{config}.conf'] = { + 'content': repo.vault.decrypt_file(join('openvpn-client', f'{config}.conf.vault')), + 'triggers': { + f'svc_systemd:openvpn-client@{config}:restart', + }, + } + + svc_systemd[f'openvpn-client@{config}'] = { + 'needs': { + f'file:/etc/openvpn/client/{config}.conf', + }, + } diff --git a/bundles/openvpn-client/metadata.py b/bundles/openvpn-client/metadata.py new file mode 100644 index 0000000..56711b0 --- /dev/null +++ b/bundles/openvpn-client/metadata.py @@ -0,0 +1,7 @@ +defaults = { + 'apt': { + 'packages': { + 'openvpn': {}, + }, + }, +} diff --git a/data/openvpn-client/c3voc.conf.vault b/data/openvpn-client/c3voc.conf.vault new file mode 100644 index 0000000..172bcb8 --- /dev/null +++ b/data/openvpn-client/c3voc.conf.vault @@ -0,0 +1 @@ +encrypt$gAAAAABfrvR80G6MfyiUcplWctvtcT6DErtDTTxzSZvVGT0l2eIl6U0JQa0gAcml-d--xMHtKWKh0y_bIM_h-0xkTZfptg2SLCBbr4EYCnUZVp5tBsgMWBjtUIJYfbwNUljPMoHxbH2wpgXoFd2uuKAWL5ZN_jMQ2Z3Zu1sOsquKBcDrwIkcYQxMqovhI6RjqQX5QhI-CYUTGD7Hj_oXrqPUISTW_5Og7Oh6MIQOfKPVcgHvs3WYFkuo3cz1N470jHhbFUQnfmMeSGkro-BbNz6YmugT8ZKL0zxacpzNPElYXsZkNKUvwkLX9ILUcN8ejCqihP4nzoe_w3jygw7JRXqmPZvrIxL81iSGo3tpmR30kJ1gGp49SdD_Ok80nT5ON6z4zz1xN76F0ceLesE8rIiRpiDrX4V7q_3EFFfxmfmGZAnQlikrgQXQMI_rVkXwOLwS85EJqAU6lSQlG3VAdq8E682_0envHjUsI8TLIuwlLMIxWCFp5WAfIhlc4lUBM8_er0r8ZGIZy2ySVIdaFx9i2aOp9PLkJ21xYkD_8V2cb5C3TP9gJV-dB5MECnU5Y5JbJnhmxtZiNZIXQrJVeQCODWkFcdLxPn9Fn8qBiQ0JMky1oAjtR6UlmsivIId8kR8CnTmAMHUHuoLEB-eoVfM_WtavdogOry6JDcaXQJSVxfaQn7lLLHAmYJ0f4ZMzaB1YGtI6nHsFEQ5dBfFvx4gQRnm06cm7nFR-jyNpvLK18SMDB0OOMh8E2hd3T9oBJ8OTkbMvr2bn8X__yQ7lvIhMhaQxQoRFErjhnYV25Jaw0esPZAcIwYXBHwx_oBc0GRnlMZ9MgCpRrNBykouIVQuy47s8a61v1wp4xJXczHB88sOM0CtZHybNkDodrCrT9s3nCoIa-j3Bwb2jhuyqIMh7jluKgqlpcHlkZX-Zvb8FLZ9RD-74bBCsUyXHBv4KpHGJXTxW7nOebTs3O79T2d9o57VIlAf6YqqHwSCNWW2e6gDw-gR7mzfXpHVGWYq8I6pBxtWdaqqOFoYvpzWq_HR-R5p0CD-UusCcCAECOQ65hPoSaXAjCoO-HM3Og5JCkX_d9Nrjr17Bpic6ZN_0SmiKcYNIhSX2BtruWHk6ZSVhHe9b1_9xLU21IHOAbRBRVP5EXqeFDwYZIhArx2y7J-DFmoLWkjX4c_hLGUTW94i1qHf71p_Pu-Wy0oP025fJoSYaIOf3RmZu2cEFC5idQrY7jWBr9z9BGDWmGT6GhbSb03EYRkzCqp6mY5yIF6i55CVUnmJoHN0Ihr6pPu7A5y-596ot35lKrXgOvTa6u-xXTITiHFz0A4nB02FlEqQMZe0SRzDvQnI2vt9ZEbvIQ0VLnaNdd7br-wFCfErgU9oA_Psih5yd5W7joH7kv1UNQL5UOVg_T5ZY1UIe3yJYClEbseZdgfvCo1-IJF_R2PLdHLdCAf0MV-15xGGu1aiHxazMuzFc4ldWSEQRWVWz1ZHdL746z5zo5hvjIFmCWf4VVYd7yAWP-xQuc7UNe3FLOfZ-A3iBc9evmeVyjfsQF-K2RAiPmfjLO7WGyp28wUNpnkr4qSE22UJIjy6GMJ7pkwBfzADLXlOiBcps74y0b1BXsujLb272fk2xgPnC4qftdw3gzQkP8hyYJOjWqQamiVF2FrwqxFiCfFUoz2pzLkv1HLFMCQ3FNNmj4BEzZ-g6wA3zHma-6zBgBV-X1_CWETedzBvY-Uo-xzTVRaNyTk146xY6rAIbAaBBS_PmT982WnBMq3y_YRhLvtwz_NiTLKFK6njE2WQx5LS94QiwwXrkXKphLbmSD20bi_dGUNexnRvAwf3tkbjRR5XdqoyKXehTBc4s-Zn9DLkMDhGwyALsvN-Rygp9nXupU2JMsUt52qVZVIlz3QmFTy1E16LmDjpx1WEQvKM8JwDF09yr2p4b_gU6Kva9rENwG5aAQv0l9rqOvBmLYk-cbXbGkl0_zx0oeh7VahLli4FptiZi_rLYID2QswKBEdPdHUwoHdWxGWHyMQKWPEqT_kbuHXQItD5UTSZFJhFnjrw36LMTPhtqMpZKzAxWvbFtATse7GpSY-ztQ7o8JO1wydQcbmCdLExEwfw7TwLDooor6dp6lsgs63s-22vil1E16E3Wt6xqV-LUihzMYuGlxk0ov3FC0Xl-glbIhq6VtjOCYXluzqp1DVW3Y77URFAH-HybEo1ekQyrX89Kz3FYw0Bb2aepLl7geqxInZ7SNehr8vtRNvcqcqxGmCnceBhQBwk8K9m_SgzYO-71A4eT6VC8XKF_g-OJpPtA0jxh9cmtNyfGkUARlFWJ_2dDgQch27pG0iOOIgRsbCg_rolYS263IVl1Y1StFIoMBD1_JkUWeGS2_wsHYvPnPfhV0-6xDsXqV-kWkzl6bq2uXfjquckwDDV6zn2WMkS3PVxVNXQYYaHP7fnSNn04dVkTus863X47SMIIJhtVJBZ5U_Do11oYS9kQ5qvPFe9uKYTcRp4gRXw8UF9gUlCXcED68oenF8x2IGuQFl0AvNoE0tyzsSr1e2oxPUBSlbQHag-TxMyD62EqOmQbOPktGxiAguIXc-8VulHCy_fR9p6GIWWc0Zr0s1oHE5hftkMJnajgvG6D_Qv-__5CQw0mEd1WFxiDVCJgBILCFmh8LFalKbhpT6adFLT5f_0P99xqhsS4ODPNxpYnegpvUiyz5u5woXnO9LfzplR_ZDhmvTRYm9eIk2app90ijvudExsLtI3t495RmbRYmAvbWQi9FRDDP3flnsVgNGAGjYnUHMLEkM7R2RIuoFxRrHWJ8L3lUznjs2tGTZ70ZTew5H2mKbdH9SAjXdpGhds-X7mhYZKnuXRCxWvGTDaq4_IWgAp6YOJes7p_pzGqOv1Xu31lH8whQGFqdmjTQ9hrNBc3K16HwVw1EV5PLQt7OCml_gR60r9dqKjhWP2OZroNIcWOIN4avF_FDrtl2ua5auoKs7Qv4zMO9vEZ8qfSPaUG4TPKgD4WCMpGe8MNP1tWkNaHEODZpH8mCQWDSFDU4cN_vmQ8VGDeKpDJ1slWBcIJ7BoXc9HoVteFUf4pjpTvIrz8Ju6jvKZ338q4hEi_7rcl0quoeDemu4UtGMfqR-JohqFul7S_hbVr4y4XN01y55hDWoDZT9zTkcA07CB2VSQcQr0M8UN1_q1kZA9NWKTU9vEIBoLQ75ONBnw_bp2IudXfvxROIBcK8J0szkjWQPiDcGho0eMSfzRr0WelbPT8dpEB_bjt8n3SIqJeQCxCaN97lbwIFKsV-TZ1Nx7jqnaS6qJxVYZMIoFji77YTXSN_eRkUcia0CR8Qc0zUwbqoNdg-eV4AKF4HHftnxcnQMW9yY_10gczLQ3Bno9rA-GCoUFvGjDzuPt7Frm1_c04YOu7_wxgXYGcMdUa7gyfziCTabPFswYnautQJ9UkJDbhX-OOC59bHMkhfOlg79vxogVlpppYWC6vVwW56uEqPaP5txvbUYHiXE3HwDqddxZJG2A0lL-E5iXXG8Rnc48BQQq98Ot6-bR1VkcYpR-fzWp22Y6YDFJYOx7z8Im61h-nbVYryo44x1utd3-PTzzU7HUhInTvQD0FT5rsiK8Id1azP1hapSwHHRnvEa17wlYhK-64JCJD624jcPwTrytkTV1_TUSx_CfXL4qzTBskbcvv1AMDZu8UGd8WrsRwp-GjwGYf11oc62Ph6qQ__iYmCT6UUOugShIocfsiZPWvHNm2sPQIbRD5d_oz2X598yBQCU_zlUnMRCIxZA6v38O_PlwsSMLFrsyP2yNquF1vbijjgMi8fMcZiq9ezSzglWNlQcRBi0obPrpEjGNnC1JBn3am_eh7ZINz0lzRjBfQBIuj-BfkXFjyqRYAmkAbR0MT2pf69wKxkQ1bhscrI1k3gOCLhrQgd8ndNrWr2QYAW-mtBPHpG4KTWcG1Z9np1Z3GFnQS1SvOVkRWeywU1D2f-hwbp5OoDBQW9-zJbFK56g0dVLYlDHeI1bAacuzgz1AM2jLQhyTC3NxnyMQCwHWm9PaUjKhM7rmWAe5adGOiAjVzmLQPWqmAwlcqBjIKbwMVX3T66vk-as5rE6p_4ZFRreBT6FOQiX3fD1ckgDm0jymXq3cDz1XeM_vCanoabGkcerF-03A6IRrPibafk7OoSJ67LApKGm5o3WKnPRluykRyaoSYHvgjpxido5rtw4MdF54WBsWmMemH2amASE08q_F-YzZmYnJAKtoo6F1pzY7b4uSV9sSnILFz_s4GV2qHkAvY2cDwxneLWwlo8sHqlKAaSHWr_VHAlCWu9eRvjO29IqMBsbGFw8b0Pky95WyR8Vd1P_HG8wGnBbyU1QSYLCO2BMK3TODC5LwbpILMQhlI99mz82UzecsawKGJiHh4S6Y_mFVY_1QbXL4Y0hdEht1VSFdxl1gf_K1MXg8h_aVHCs87kVb_Ubn9osTlxrkGAorkUlk_zfsa90_DqO1mpZYXF8vnoEs7Pr6pRJn2dWQOoI-b3Dqb-RfQ3pjBKBOdqQw7RbpZpXOqx4Z7U6Lr4mF0demaSoubI3BuHcOkBmBLO_6KVqxQsJA3CUQ8Cckm6D0LZkhKfK1KDQQ1kztCHXTiDJpztf4dvyo2CAmhXgK6WraPiY-Uf-5wKBU0huKcc4Q1hWVUKzuu4Ko6sp88nGbIEB9jErs80G-qLPMqkpav2kRERNDvf3jvlG4NVjrsEZAy-Glx360iHIAG3v09m7RecN1cDT0mogaZ4NnRmQEjfdNSXTfB_MwW9Z30M_zx7H4sm3TXG27um6FhnjB5NkqsBWgbNQSxHuVcDl839OkDCpgBvF-ZdTK3WF19mR8lR6YxlxDSsNubQiDp1OU0k9K_5_IDl0wHTB1gYMZyVemq3mYIOFlQuxaCZm1OQv5clT0HJtnsYPvDEPdIJcT9K5LE4INxuKA9Y5Zthy5QNH6TkR75HELDo1sv8aeTxRou3qrheDl7OLYU-xjiD1rohXDhAzaKReLtaUjRC7LseQphtC9mBv0Kx4BaedkAvi5UQyxhNDG5o41erfu_7zWQF0EIY1LGlsMNnNv-_eRzUDrGyvXWjDxGCAOMRm4Shmvd5SnNMJX60CCjuZunKocoakcYhX8aZMycf7klMq16oP7pDD4CK6fCVgYBP7D32_x3q7i70EAPFC95ma8MVSYrXz_c5mR1s71ZJ8CsNsKkIO5b0G_nqnTXDaipvylKI7om-Jyt1MSss5hcJzIm1NLe-CfWoTW3PFrouyw7X7N7JcnyBtQhRR0bkQJ-p-fN6E6kEsuoEEYHehZ-1JJI3BRBAlHtNCmxVfmgLF0AzZyTjmPSPlWwrlkamr_1oetKqFtHWEEPg38jBqeghMin7f_58f3JSHH97VvXhhDAliJz1XSjdboI8b9aYjbcqzHLzbf8eIuMEjpFVMVsqcdmU496A3hXQg0fI39FMnA2uRl6NcdaCn9Uaov6ASvIVjwUvRMv7HTAwnXnrEb5vpeF8bJwnVCMpoOcVnT3j6jKTZdA3DfvK0NuhQWAVkzvY_17UQ1bEXi9xnoEBrYz-Nn8aqjIbcPj4tEG5plGiVhVdrAuisYZhDrCiQZWkwD17Kp7bo_GWZRDrzEDmz0wGFpeR1VSBY5pEkMAWaHBQbOiIRrS7wZnEB7SH2wDAuEDwzS0voE9tBHN0FZqluK2uEx6boacJ78wfi2SCAu7DRtDFGnPoFnUK0JwMsCJ-6zqIhssRTJoTp2plbMThevDT8v22RkWm_-mUVZtm--7mWHJDmyqRod2gIY4p4po8cQHC54ZC7OZ2l2LtPzjNzNO4DeYRG1MXZjFoVUS5S0mfzGnqQ7Z2l_QgnUVTQOvLEa6bRnrku_qckU23838L-kLw2jxe0xOsoxlYIjNsnZKsRLUl4yElzEXxFiQKdE9WZHUS3INBMcNnO17WGI7373ydA_X6pKfphxm_YnQP0jhc475vfi1tiE5NyCF4VpNrzM6uH04NmqZJGTCZg-fiVoy0eQd7jtxhwpUk07qbmdrhugU8IxlDyqk0geLBqQJtpeQpBCmTUIoi2X68tYFVokQhovMvFp5EQPmLKooMreT7HFis2h9877Max_1mvRWvgN7-mfQc_NlLEsEf25Q11uRYLibl0rqCMELM8HLVlI7VNJ_54OpV2HkZFVQPZ5J2BaAHxQ0lb4QSzFcp45I-6HTZ-eyV7xIosLDT1My3jvT5TZh3kNkK5Ot708N0LYFmHbgPHcqUGXEdUOgm4suyF1HrPRWAPV3KF9Ym48a9OKsPEQePx50D-Lyf4X_V-h-h6b3ur89P_r2emCBOLnNUjNA61Iy04QEaakUYIhwPO67n0_mUU_0FPGWkRlst_Kpdo8JZIl_vEjutsNObBfaB-hF0MHRrWjnRttn6-E4oX5BQ9AscbdU_VaZ2BnvHB2iK-rqrX8z3lMzMPTXiFAFS_ixy9bV0GZz_QsrUU-eQEsBJ9n0gi4RJ1-un-MHkVYNKu-SXnHPcdMQ3z2iYia0_jhFTFHlVH-CgleA0aEpafMqcrjEwnbg0if3MJGcNxvEfG6MTzRyULRL52nX4i-NsGuXkoiPpjYLFN1VTQAS90O2-HZSKjEW5nclzh_vD6gM0xilJpqmg_WyGG0WDWmMgmHXZ1Rfh644hQ1tJ9aJ1Gk7dL29OjUl_Y4o5gg3hlygLM3NZLt7gEaISdxEdE5slbwXwrWcFGEbOvQdU_6Cd4nYP7U4qgTU1_r15jTICZ1mMwJzpc2Ci5nqMaQxlpqSVKsxVWgRk2uyRe04e3FccaBZZwQK2eITfRpVHNhZ__VBG8p_5PZ3Uomc1fxW-fyTxgpejeKXO98e1_KVzblorxJnPh6FCM4GAsPHzAHx5b8RaQfjywN6CpuMWBktIOFwmP9YlG-EQLA3Iv5qIChJP7fmxMQmG-xxq4bNsB-E0k5yjRJHO-SHAAcAcMlc18SPOg7wafwX2PHmE1uNTixT9WcBS68ZdLJtK9uvlV_uc-bFmULQxM0rc2tZoai8t5rqlgl5Vm8zRSkR3Oo_4JK1sEJPd5k7CnEmYT7yR91__jze2Led-4VfD3NmNsqhTpA4_KdzBKOyYuJjKo36RG60m6WV0hA7Idp4F4kI9NwIVvtGpPYPWlcwOa4hfLY5QT-tmwQSL0W73x-4ieqTzxPP-yPSoGn3lnUJesCLDouAkursBoBNeIw6IDF2GgHYeYpsZF1oU5DwTapyDAMtiI-1nMnTXVNB5cuG64nfau5JOmVryyKI-aGPNaoJjuigI0OhzrBhuCqVr8-RQZBWzPf5PcLWa1pXdWaJVNXoyAUuEyqW3bzGM3ojvsHTL2Mmn0OLODGHayyz3tElZJBLuSxNFsXqynrjA3b2cFkDCxGQQFtE-uR907YxDLUlbMhQYHy7y6v690uwPkIoFtXIZ3vls2OOILQAfftoyghW9w2PVMnJopXwBeDojTwKfCYyXPacURs8ZmXDAhoVXLzvI57BLSZG1Z-pRLHm7jVXcjKqz1NuZkuRIXppuJu47w3L7elYBFxQ5BSx_svA1kYvGwwhbBhFaHFIgZ-wpMZEWQI8DJQq-N2UV_-xElFtHHpydLgl_sJZ1H0MuR4D4OhkSNJunL_QQyJQWRsuEHgpCen7R6pyLX0f0SbxVG_ZGGjmUHrMQe4wuwdw8cqxNd8zQEA9ZS01erHhWJINTFIscpPKkbQprQl3tN0TY3I9pnAsvnsYYelfA5ar5UBVkWX7nUWga8AZi2EqT4qdRufN0GIwLYT6LFHMuYs8Vki0jycTUrck705ptRpsaLI8DYMCbb-rYYjOLP0BUmxgfBA4E7JaGrujQe0HDGLd9qNk8iwelTQhOVtBES8UnIotNbbRpXqCmlj_86nV28S9q0uo1GjHSjs5GOVvCDtyI6syxbuYjFrVgBn3pZUgNB0gzNH105vC8WuQ1ez3pFEMW2pCtTWI5xkZGfH-1mAKQcUsyWY9jJuOPGblaTG_helRSNaEQtsTeEJOoaBrz3U5j_vHRJqY3r7cHcF3iriyM2zkksCx4ogn4sAAaOBZfS7H77IVb8gZhusJlZWCWhQCVKvauSGI4iIUOFAk_rpc142U8kWwocY8N1i73Q1L66a34ds8ODPwOtYDbLohMDLsl0VSPh-vaD239n5cs90t5oGKecH8xMpDe6rpOhAgB_2_nfs7gZOdGYtykvmxMR0cT4L79H3brILltldNthGaHGOmIqLCvsqE2qXhAqfRy2gD0F1DZWW8dUDaAeCEVsKFATdgVNGCjWro5NwinyZ_uV-HVxuZBEAQ8CmBDRml-Kuz_fNrArOFcv1SjO6o5J9ZpsZMFOVhjjAcfCw3gdNOl3Z0tli_uC82QCS_rFDWdFgMtBDJhViqH-k3GUijVHMA12qn5J41PaOJgF5rwPCpcCKaitrhDKmTh5Oy_JqB_5ogji2gjZ6qKMVeSf6wDee-kyqtI1T5Joj5C_hinH9UyswDHDXJCa7O1jM_GGydvb155xY6j_Ufvy6N-P9TH0gP9qSyqhTYsbHXs-Vluxn0t7BepatEVMht96h01ccJe5F4dNC-MpOnNYGaOml4gklUUBimoQd-6N8SxqkUASyXKtHehZrIYKbi8qmIrT3tp1-U85qDBAnWGxHbp4sHjazIdMb1jjlJT-yQrkYW7vg6aTk0bzS9KuKmtpV_ACWf7P5cPRbrkvrkUnnCT8jeM8Ali7Djze7lwfoiWRGRDZqC3KRfEMZxfuVIwS3ltLSzEpHaZZheIEHeWnKRfSLQjQh4GGX9V8_wCjNEq7V-yYyobihcWoEFQxM5Gl0HwVYcmJEFx61NfBl1ndAC_KlUo_VPMz0vKCqNEqrmHSTvQpEaDfvfeKB3bYg9cukNQY6SOp4SDlynmw5Mn0QMZOY-SBKkoYrjp2Q6pHw_7B1cHq-SU5IQ31xL6E3hJdwF8Qar26ToqeEpydgHRjNMD8DSLSc4-vhv7xbYlBCRQcRxhS0nVtFxsnf4gFh2Ysdu6YzM2ZJIK1jbG7xYn_Jcp1zyGPQlfqeCNRcSQesbwHIwHaERDazy56htW_c5eZewM8nlgMMAVUxEly1uzDTAiGoNobw4mP_6v0Z6rIpJ_TqblJw0qPBtLNFClXtZXMjCw8gLX5ZgUHfDwSfYo1Z9QC7G7HUyzxgOCATD9Rdb24sOMiIYWSYic8SUr6eLsSAOyv6-dNfLSJcTYu7Y7Hu-DLM3YzE-RG--3QTTIi0jmFGBm_pIhgJFlREK4ZlrdAgK1cBv62KS4EEYF-SFIwf_fjsHsmOWJIgrDtrk-vw7EtoxNlpdiFwi30fgChMzWc5h_abekXeir1pD0qsE48QSrcUqiMuwmWEMC_NKZx97hDdzA53dNpzNq0SJ_clHpHsZ22lnXGkfZyjsGAKfanMMv_YW6Pr1OUSRrFVsAOL3gJ-xr70kugYFamLF7pdhzbPf-VhDqrWuyU_8e1SKTA1vBWRjWmBFOUrHpQRPhj8VgIz6cBIIcfF3lkeJpH941WunsyzWWnE7R0tA7Xz7i4lqOmX4sZkVS-ldtLY2DMndkX4G6_5Vue7qVcnc2VSShQD2whk6f0oekw4_jE5xAqkVhvqm5-b6nadlDhPBH8IPTmONCcgnq49P725UhsXmCSjBNgV7i9Ag8RDBTa1M8AYXNF03iLIGO59-wvHwLX8xQjUdXY1Oy_cG2kzSqs9JCkD1xHvO1_bnShzwFh-1dKKwoupeE40SwC_vvW-nZQFnxsVFoyFi08htYAgx3ji7Qa-baItrerD0HAy1lUpGwQlGVrGkmhJ-m129pEmQrqJgV80mrolymtL4zl5vp7G8JHIWnrter_1rS78YiqseqrIFFM2c22Uk6LLrPxSOHAWy97_ns_8OBqLeExXmv-EKj5NDgv1LCd50InDV6piw4aWl9QBP3s6kPD1L2kqsQ8w1EBbDpVdMqm6rSK-UkIJeL3tX8b2eUxmCel46W0y21XqB5hrvy-GyluEmlGYiKwOjgrE3XRD0dR1ZNZ2nI1nEp5uoGd0bvOHYVPxxWVyNhtn72x8NnASD51WgZCvPSql9hypHTpgsb6Xbl4zPtyW9odx9Ad8f9W7O_-4o-9P-1oI1a9yYBptZ5MhJStWJEIDWE7tCjzpVBCHNVQRyr1nP0yr879DTk--fL6p1qssjChYpivCe0OKzZY4smibKlYg= \ No newline at end of file