Re: SELinux + FUSE + Podman + rclone +gdrive = ???
Lukas Vrabec <[email protected]>
| Newsgroups | gmane.linux.redhat.fedora.selinux |
|---|---|
| Organization | Red Hat, Inc. |
| Message-ID | <[email protected]> |
On 10/28/20 10:46 AM, Chris S wrote:
> Howdy folks!
>
> Have an interesting concoction of technologies mixed together and have
> found myself in a pickle.
>
> Currently I have a host that has pods with containers. From the host I
> am using rclone hooked up to Google Drive (and fuse mounted).
>
> When looking at the directory I have mounted with rclone you see the
> following SELinux label:
>
> system_u:object_r:fusefs_t:s0
>
>
> Trying to relabel this with chcon does not work (probably expected)
> getting permission denied.
>
>
> When mounting the volume into the container with :z exhibits similar
> behavior:
>
> Error: relabel failed "/gdrive": operation not supported
>
>
> I then bash into a test CentOS container with the volume mapped in
> (without the labeling :z) and attempt to touch a file to generate an
> audit alert:
>
> sudo grep touch /var/log/audit/audit.log
>
> type=AVC msg=audit(1603873529.524:951948): avc: denied { write }
> for pid=2226162 comm="touch" name="gdrive" dev="dm-0" ino=2359297
> scontext=system_u:system_r:container_t:s0:c296,c525
> tcontext=system_u:object_r:container_file_t:s0:c332,c605 tclass=dir
> permissive=0
>
>
> After finding the event, I attempt to pipe this into audit2allow:
>
> grep touch /var/log/audit/audit.log | audit2allow -R -M gdrive_allow
>
>
> I then ran into this error:
>
> could not open interface info [/var/lib/sepolgen/interface_info]
>
>
> At which point I installed sepolgen-ifge - I then re-ran the
> audit2allow command.
>
>
> This is where I get some interesting behavior:
>
> compilation failed:
> find: ‘thinclient_drives’: Permission denied
> /usr/share/selinux/devel/include/services/container.if:13: Error:
> duplicate definition of container_runtime_domtrans(). Original
> definition on 13.
> /usr/share/selinux/devel/include/services/container.if:40: Error:
> duplicate definition of container_runtime_run(). Original definition
> on 40.
> /usr/share/selinux/devel/include/services/container.if:60: Error:
> duplicate definition of container_runtime_exec(). Original
> definition on 60.
> /usr/share/selinux/devel/include/services/container.if:79: Error:
> duplicate definition of container_read_state(). Original definition
> on 79.
> /usr/share/selinux/devel/include/services/container.if:97: Error:
> duplicate definition of container_search_lib(). Original definition
> on 97.
> /usr/share/selinux/devel/include/services/container.if:116: Error:
> duplicate definition of container_exec_lib(). Original definition on
> 116.
> /usr/share/selinux/devel/include/services/container.if:135: Error:
> duplicate definition of container_read_lib_files(). Original
> definition on 135.
> /usr/share/selinux/devel/include/services/container.if:154: Error:
> duplicate definition of container_read_share_files(). Original
> definition on 154.
> /usr/share/selinux/devel/include/services/container.if:175: Error:
> duplicate definition of container_runtime_read_tmpfs_files().
> Original definition on 175.
> /usr/share/selinux/devel/include/services/container.if:196: Error:
> duplicate definition of container_manage_share_files(). Original
> definition on 196.
> /usr/share/selinux/devel/include/services/container.if:217: Error:
> duplicate definition of container_manage_share_dirs(). Original
> definition on 217.
> /usr/share/selinux/devel/include/services/container.if:237: Error:
> duplicate definition of container_exec_share_files(). Original
> definition on 237.
> /usr/share/selinux/devel/include/services/container.if:255: Error:
> duplicate definition of container_manage_config_files(). Original
> definition on 255.
> /usr/share/selinux/devel/include/services/container.if:274: Error:
> duplicate definition of container_manage_lib_files(). Original
> definition on 274.
> /usr/share/selinux/devel/include/services/container.if:294: Error:
> duplicate definition of container_manage_files(). Original
> definition on 294.
> /usr/share/selinux/devel/include/services/container.if:313: Error:
> duplicate definition of container_manage_dirs(). Original definition
> on 313.
> /usr/share/selinux/devel/include/services/container.if:331: Error:
> duplicate definition of container_manage_lib_dirs(). Original
> definition on 331.
> /usr/share/selinux/devel/include/services/container.if:367: Error:
> duplicate definition of container_lib_filetrans(). Original
> definition on 367.
> /usr/share/selinux/devel/include/services/container.if:385: Error:
> duplicate definition of container_read_pid_files(). Original
> definition on 385.
> /usr/share/selinux/devel/include/services/container.if:404: Error:
> duplicate definition of container_systemctl(). Original definition
> on 404.
> /usr/share/selinux/devel/include/services/container.if:429: Error:
> duplicate definition of container_rw_sem(). Original definition on 429.
> /usr/share/selinux/devel/include/services/container.if:448: Error:
> duplicate definition of container_append_file(). Original definition
> on 448.
> /usr/share/selinux/devel/include/services/container.if:466: Error:
> duplicate definition of container_use_ptys(). Original definition on
> 466.
> /usr/share/selinux/devel/include/services/container.if:484: Error:
> duplicate definition of container_filetrans_named_content().
> Original definition on 484.
> /usr/share/selinux/devel/include/services/container.if:537: Error:
> duplicate definition of container_stream_connect(). Original
> definition on 546.
> /usr/share/selinux/devel/include/services/container.if:558: Error:
> duplicate definition of container_spc_stream_connect(). Original
> definition on 567.
> /usr/share/selinux/devel/include/services/container.if:579: Error:
> duplicate definition of container_admin(). Original definition on 588.
> /usr/share/selinux/devel/include/services/container.if:626: Error:
> duplicate definition of container_auth_domtrans(). Original
> definition on 635.
> /usr/share/selinux/devel/include/services/container.if:645: Error:
> duplicate definition of container_auth_exec(). Original definition
> on 654.
> /usr/share/selinux/devel/include/services/container.if:664: Error:
> duplicate definition of container_auth_stream_connect(). Original
> definition on 673.
> /usr/share/selinux/devel/include/services/container.if:683: Error:
> duplicate definition of container_runtime_typebounds(). Original
> definition on 692.
> /usr/share/selinux/devel/include/services/container.if:702: Error:
> duplicate definition of container_runtime_entrypoint(). Original
> definition on 711.
> /usr/share/selinux/devel/include/services/container.if:709: Error:
> duplicate definition of docker_exec_lib(). Original definition on 718.
> /usr/share/selinux/devel/include/services/container.if:713: Error:
> duplicate definition of docker_read_share_files(). Original
> definition on 722.
> /usr/share/selinux/devel/include/services/container.if:717: Error:
> duplicate definition of docker_exec_share_files(). Original
> definition on 726.
> /usr/share/selinux/devel/include/services/container.if:721: Error:
> duplicate definition of docker_manage_lib_files(). Original
> definition on 730.
> /usr/share/selinux/devel/include/services/container.if:726: Error:
> duplicate definition of docker_manage_lib_dirs(). Original
> definition on 735.
> /usr/share/selinux/devel/include/services/container.if:730: Error:
> duplicate definition of docker_lib_filetrans(). Original definition
> on 739.
> /usr/share/selinux/devel/include/services/container.if:734: Error:
> duplicate definition of docker_read_pid_files(). Original definition
> on 743.
> /usr/share/selinux/devel/include/services/container.if:738: Error:
> duplicate definition of docker_systemctl(). Original definition on 747.
> /usr/share/selinux/devel/include/services/container.if:742: Error:
> duplicate definition of docker_use_ptys(). Original definition on 751.
> /usr/share/selinux/devel/include/services/container.if:746: Error:
> duplicate definition of docker_stream_connect(). Original definition
> on 755.
> /usr/share/selinux/devel/include/services/container.if:750: Error:
> duplicate definition of docker_spc_stream_connect(). Original
> definition on 759.
> /usr/share/selinux/devel/include/services/container.if:764: Error:
> duplicate definition of container_spc_read_state(). Original
> definition on 773.
> /usr/share/selinux/devel/include/services/container.if:783: Error:
> duplicate definition of container_runtime_domain_template().
> Original definition on 792.
> /usr/share/selinux/devel/include/services/container.if:819: Error:
> duplicate definition of container_domain_template(). Original
> definition on 828.
> /usr/share/selinux/devel/include/services/container.if:847: Error:
> duplicate definition of container_spc_rw_pipes(). Original
> definition on 856.
> Compiling targeted gdrive_allow module
> gdrive_allow.te:15:ERROR 'syntax error' at token 'mlsconstrain' on
> line 3339:
> # mlsconstrain dir { ioctl read lock search } ((h1 dom h2 -Fail-)
> or (t1 != mcs_constrained_type -Fail-) ); Constraint DENIED
> mlsconstrain dir { write setattr append unlink link rename add_name
> remove_name } ((h1 dom h2 -Fail-) or (t1 != mcs_constrained_type
> -Fail-) ); Constraint DENIED
> /usr/bin/checkmodule: error(s) encountered while parsing configuration
> make: *** [/usr/share/selinux/devel/include/Makefile:157:
> tmp/gdrive_allow.mod] Error 1
>
>
> What stands out here is *gdrive_allow.te:15:ERROR 'syntax error' at
> token 'mlsconstrain' on line 3339*
> This leads me to believe that audit2allow is not equip to handle this
> kind of rule - specifically:
>
> policy_module(gdrive_allow, 1.0)
>
>
> require {
>
> type container_file_t;
>
> type container_t;
>
> class dir write;
>
> }
>
>
> #============= container_t ==============
>
>
> #!!!! This avc is a constraint violation. You would need to modify
> the attributes of either the source or target types to allow this
> access.
>
> #Constraint rule:
>
> #mlsconstrain dir { ioctl read lock search } ((h1 dom h2 -Fail-) or
> (t1 != mcs_constrained_type -Fail-) ); Constraint DENIED
>
> mlsconstrain dir { write setattr append unlink link rename add_name
> remove_name } ((h1 dom h2 -Fail-) or (t1 != mcs_constrained_type
> -Fail-) ); Constraint DENIED
>
> mlsconstrain dir { relabelfrom } ((h1 dom h2 -Fail-) or (t1 !=
> mcs_constrained_type -Fail-) ); Constraint DENIED
>
> mlsconstrain dir { create relabelto } ((h1 dom h2 -Fail-) or (t1 !=
> mcs_constrained_type -Fail-) ); Constraint DENIED
>
>
> #Possible cause is the source level (s0:c296,c525) and target level
> (s0:c332,c605) are different.
>
> allow container_t container_file_t:dir write;
>
> *
> *
> At the current point in time, I am at a stand still as I cannot relabel
> the source. Any help would be extremely appreciated - I refuse to turn
> SELinux off hehe :)
>
> CentOS Linux release 8.2.2004 (Core)
>
> 4.18.0-193.19.1.el8_2.x86_64
>
> podman version 1.6.4
>
> container-selinux-2.124.0-1.module_el8.2.0+305+5e198a41.noarch
>
> policycoreutils-devel-2.9-9.el8.x86_64
>
> selinux-policy-devel-3.14.3-41.el8_2.6.noarch
>
>
Hello,
Did you mount /gdrive to some previous container? Because it was
relabeled to correct SELinux type: container_file_t but it gets also
concrete MCS categories "c332,c605", now, you're trying to access the
volume but with different container with different unique categories
"c296,c525".
It's expected that each container has same type "container_t" but unique
categories.
To make it working, you need to label /gdrive as container_file_t but
with *NO* category. You can use restorecon and chcon commands, problem
is that you see permission denied. Do you execute these commands with
root privileges?
Thanks,
Lukas.
>
> Regards,
>
> Christopher
>
>
>
>
>
>
>
> _______________________________________________
> selinux mailing list -- [email protected]
> To unsubscribe send an email to [email protected]
> Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
> List Archives: https://lists.fedoraproject.org/archives/list/[email protected]
>
--
Lukas Vrabec
SELinux Evangelist,
Senior Software Engineer, Security Technologies
Red Hat, Inc.
_______________________________________________
selinux mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/[email protected]
OpenPGP_0x8CDA63AD633F6955_and_old_rev.asc
(application/pgp-keys, 7.4 KB)
-----BEGIN PGP PUBLIC KEY BLOCK----- xsFNBFqX9fsBEACvMZuLfMn8Fj1XFIir6sXAec5zg1ND0GqmcQM6CnvIPPtD9CDS8W4ppywBw/Qo FHLH9XrrqNONXu/MfxerGvRu1SRtxDkQGphtR1saTZ+0WFn6b8JwrQRzn1zL3bEB55AB5APHcxJ+ 0MLJSCczbWnZ4DymuPBiEigI5yogYx7XTnbCqgsiECEWId4epatX8fyIEfensCjqGc613QCppKkC ABzjvR0ivu5csHvN3ZZB56h4EXiZupqzJXric4NnyqO2kDnErKzzzpB1ILiRUWbOogO0prR9jgeI TWA3baACcjg/+byTCClp19PE5eu6e9LSlJAC0qsTFJC+XbMhDLuieCmBkso3uLV8Icka3IOspTp/ jXwJY+jZ4vLvVWbBmNM6vBZ8sZIOXBT9L4SieYyvPb/fy5SukV/0LzXIKoCNC757AG51TiBLFML8 7qbys7+5ug5J6lAvYVbmCxSmTPTcB20MJWwUsRlXMG9l55mWkDs5VlPm7brq28FCebh+l5K+IKt+ D3PkQlrQKa3YYgL/2QPnd65nUHBL4UfX+1vO3yBqUE7Ohz5RZ7e5MlxirTPea9GMTfv6/QWyLF+s zlFgbdqF5yICa0sn0kjHFjD5NQlmIEdmXD44RACPVMTnQhJ4trZ7cCiFnDtliAa9Glqedn8nmWQz S+AiMYLnrJ91fQARAQABzSFMdWthcyBWcmFiZWMgPGx2cmFiZWNAcmVkaGF0LmNvbT7CwY4EEwEI ADgWIQTHh3QCUBS0Ag7mUIaM2mOtYz9pVQUCWpf1+wIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIX gAAKCRCM2mOtYz9pVclWD/9ijfuaXSv8CndLbMJWzmOvfjkQPBM9txIK81KgP7pj3bCQg+toQndm sNRp6KSr4hSBz33qqMZ2i7IV20FWxxSgvNatjs+YGSRBEmrsTmWc2fJkU8tYSL6ksEaFt0Te7N2Q hpflSp72oVXM4v05vuGQP2rMFibDXaP7bUk61+vUkD1N3Rwc/Kmhubk3smYXuA0PEJqs9XFEn4nF 4ps4FKmsdGcSrbjJRO/QMjYGQcWjynnBlneOugTY7dPkxti8yVKVE5O7zd69E6yQoqc1ydEuX78H qtbhiJGZRV1ZsEVBhJQX6mAVPMNyEAW56Tc3TH4w9WPcOyWUpYDfGyzcCcxeh/kcL5qDlf9nIjze uzM9x75mmZ8Cp2LmN6IFEgeetnoHWmozg6+juZIIxs18fkLqWcnSUO/Eh9Yfk9U5wfQuUy4nb7aL u5f0vfllo7ViPXxXu6mMHhda4xKAlVbQtZU1tP/mS4H/pNXSzW5stpQzb2Ohw5G+0rslH6hSbm85 WKWYLahSq1kETfAgsv/z+QqrDNEHXa0OSKtS4JGS1A/D4+nAComd2SwlfR34TqcyAPaB/21czpeE /JoN5jGdA6UHHHXGPk495ke25rjokAK8LvEz00fpNpuaQf8W7YAjc1AJUiZ6EJBOqgpqF/K8WQ+G 2So7c6E9J4xO8ZpfDMh+RM7ATQRal/bsAQgAzOxD4ZICqWi+OTf2luLCHk76yShxNRj6+DOJJUo3 1xoFRhgThqAKrSrVdTZT9ZOPyRWcN0hvzrbywOcSXBQE8B76vJipXtG2sGslEfwWUmAObYPxLDtb I5FTZ8tdduDfuk8QMbCJptWHTS01tJKnClSdfApL27qSxOLmsRNxhP4ht0Q19bBGHdYaKiZenUc+ MmPR/zSLgz4IxzMVBS9VNF069NVDKEOsrDeRNnYAbEf52X/sgDl1CFmG1GSEVamteKni3i2o4TT6 uLVzSpOq45MjIx1ALCxqKZjrpt+Rv7FnBFi3HLHz978DF9vQiJ0n1jero77zt+3vLVtZ/f97kQAR AQABwsKsBBgBCAAgFiEEx4d0AlAUtAIO5lCGjNpjrWM/aVUFAlqX9uwCGwIBQAkQjNpjrWM/aVXA dCAEGQEIAB0WIQTfCs/cCtejJiABLstHIBrELynOBgUCWpf27AAKCRBHIBrELynOBsUoB/9lookA kdhDRhqv3I2tECBBszKt7Fo1d8vhHC7NGGfm3yDAUO4hXB4sobrhDPfpv6lL7QtdlhgTRku6TruT 1qLtjaV+IrGB1A+Y1B5w6WO0RXi197gh5TlufeRWFOimK+xV2lJt5HXJRO/6Oh+54kdhE/49mx7o Ly8flOvxRNC4RXTUZMKKT5ptsuYfwYXpmCcqEzPhejhyZnmY9+UTMEENjsV72l+B6BGfPY8lUZdR dumqAF5tWkh5vHT+aH+hpPOYYUz7ne7ueyVFoCH9fwNA3o7r5/AGDroMpr+2uu94c/YF04+kZJ/H 6dsnekJA9JgeoxyNVTUXBrsOJ8DcINucr64P/09kfT9VePExSWppVLt7zM0yt/35WodBpJayoS6l Q/BFip3u7BZwz4y4gzTfovKOj1ktwJyxeaPaIbJnCtgDRF8drkfrTTDwFy9RnJz76WKOyGNARVtr 9OStI14wGQKoRaAePn8uhkbv7zvzvYkse6Gr2uhoFL0/UeWbT48huZhAlzf81yT46nErrT03h+CD DuWaF/sdqHNeSNNr2OPE22A1mFLtkYaylpv+l8NUy4TDTPKyK2O3yQCqurJx/2jKVSFojnmpYNmA mVciYMiL8dF5wzr2RJUqsVx3X007Tbx4F0x7KD4+9Q9XI2Mw+yHCMZ0HpCZc9QUzE5oSdUCd2N53 qStoziLp3kJlrCeXEKIE7lV6aoN/BOSEN1NFU0jtR8pHpvZoyZA/3Dm1vKqHjBDoGNr33Yk537Rx 8lnkoF513us3FxtWQDzxteQDq24SqfrOOir6dSLHatCOV8cX2Yw1+PHuIx5utLXaLMXHvbkaa2Qf 3sUY0hvGT2quw+fACkQ+4FA0yLP969E4tfenlQVX1wt8QH5VY4KixL4ReDoCS5Y07cO0wkzI1EYP S4iS4QTcQLNP7EKh3NreV9/hszggrdXnj5p6T2uK1AMCy6wftJBwUx1XoJjodxEY08huxMYJtbY8 gIK+Tg2/4eDp3bSWzHU8nTumbUbpf5VcMkvYzsBNBFqX9wsBCADIMwnyvUHLXR+CRcCW93/8zMrt RRNxRVyMuMVWrmBEArSun3sAw+lpmN8FKSkmpD8SO2SYdE0jiAU47OJ7mHL4A1YAqXh3EOjf+GaC lcjie46Vb61kR4N7tCymk9wVLxNlrPDb2cxQ9xm8t186z/e9RuUfaH/RIBhWUUBAWxdfTuwqX5Rb foOl8+2I5q+C06r56VvgT/fzC3tNtl/fB4+8Cc0iKXi9pRGKTEQOfbhxTSogbm4GD4rPs9q4v3CQ T3czjSyhrL4uboYGUf82UjQ2ae+XLclDnaUnYfjpVrregsW12c5KPN0uuc3Fepvn0G4eQfNhwqqG A9zZqCVJMkDjABEBAAHCwXYEGAEIACAWIQTHh3QCUBS0Ag7mUIaM2mOtYz9pVQUCWpf3CwIbDAAK CRCM2mOtYz9pVYeoD/sH++dZ8QLMb3JNQiW6mEIKoEmZH5FrOP7t7UWuUmpAlTcUJ87n1221pLcd r/56uFBRIdvpp0YC5rB9ACaqD6gxoiNQmR0MkLzN25GWSeD8+bs2thO2SZecO0r+/dAvwgnU3rs+ LdVqLcUGPfFwebRH94ZQiPjgY/Ci6LkV6CNDP/rg9odtfYQnL5EHs9yWZdi5f/kLewdrYOAen+i5 Sw0oZOiM6tSNOTt59yd3LPi6NKDb3rVnul7UU9KkvV7NxZykvs+hyYmUbwnS5UAvFyC40B/dgK9u YongPlzVb4MQmaB0rimSlHMMsHRBMnPxNr/F9kpFkYnbIqQwAYIf3FoQ0QuwCn3YljTEJYdbMM3i vl5woclVI6M1JytwpFGq6VX3sRhctk+Xe3JOk8Rxt6cvjKeoSmaaxg+kVt4a50LYysh0n3VoETg8 d1Gq9NnWfhEFtJ0rNy01aZLO28gyDy4sSJiudkSFo17UtabrhcP/hv5ocvaGSzTfXEyYaw4Su23A 0RC8ska1wAtlZpTYmZ6Mumw2vAkc6bOeh7npcrAfduWSaXtHrUxjuxy6sVCl58IOo2+2AMJaFdMq ktne5U1i8Lrrt8r507w4sBasTReQXL5i/AhqOnHt+FkhpVT5J1sE79VM5gwszP3AvBqOREcSfhCm Gay+X9lHV3XhGE8GWM7ATQRal/cgAQgAmDkYFhMR4AWJSu7WudEePeRbddpraaUOd+6jV7XxhqZz AB6aIdj+0JVoNv44FkYLwvA7EDeTXpKI78MmQmkRH6l9x4Z8/XhgsddkMwpHv6Q1EnUZSv25m7w7 /lZI/q13NbgaMHWvXRs3R7/fskAGQyHojcVFBqcgapQE66RMNMYKfM+twt25KNEFA9gYqg+oWLsj AOoYsIhOmysH42qGZZGR08g5h19qgfQ215zT0nLRPU7p2CFDpHzFgxOTMhjkfByqfddErxEsb60n j73dVSUjQRhbosxDQdnJWTpNgk+8hg4pMUV8/jY3MaYGVWm+pG2VzDkeZl8w3TfL7xVkFQARAQAB wsF2BBgBCAAgFiEEx4d0AlAUtAIO5lCGjNpjrWM/aVUFAlqX9yACGyAACgkQjNpjrWM/aVVmQA// WuDuZ2U04eL2qDkja76qlfwASeYffDGcABYO7ZGVpuHTZ+Mv0fGvj9zDiwn1AjjUkhtPSo7QSqGe AJH4v4MPKDtY/prrs0l+I2znRAoCNBb9Hn7bkFWucFiuavCgxc9l/eztdpexFbjK/RKd0YBLbuYm B9ihdPDsH8tyrpPrSlmw90b0690QUpwFDmbgZaI+DZ2vaQU3U7FRtJ46mriopxyGV9c+5eUCS6bj fy40ViYBw7WC7mt0DDrq1bKYfhpBWaFaDiBOSfbVmRpldJ/jRbjOfUX0+RMS619rRfzRaQIXIL1m rT127C9f5xnNUdlvXQaYhRqGyXiAO+bbA2VyrFL/2WJY6dCilJsFBfBqAPkF6pXJGHAEYLCrFGE1 5Z7CETg+ZUCuACyyF1cIBIyhnhMOt3hUImIV+/ASDWjolAHrdjgLuKGb0DFK3gXQ2Jw75ikX7gyY TshmPCDw4b10S/mMbZUvAiV1zLR5WK357eZxfh4d6CiCSUvogFZffNpVrxG93upnQoPc26H61wSH 4N4xv0W4B5p4iHN12gCJkyKlBkTslbqy3X+N+LonAGmJ0IRoDbO8kmYvXmiikIdCfsRMIBAOpNol k5IOAuvHfotk8p/rMx4DdPZQ4Bcoy5Nzochh/99bpx83PFk5jNtR0A/Kc7zB0QvWUwxSaUxUdfXG wE0EWw5QMAEIANRWKPJACRAdG0cmr9zBhMR5XinhyL2gKX9Z+2bl5s0DBKAlBAyZPyGBDuvK8ax7 OnepDwLMh8jKx/78FLQZrPuGxCqe5fPTEQrGAEcsar2uHyl343htKwVUxO//8AGM85XFb442wnf8 t1VOXJqHHSn7L7i9b7phuvxKQpbVe2HhyNoH3Jswu+0xksomJTHdaUzzPEDFC+B1pnnmG+GO/ej5 CmoCbBtBN6TEd4y6FudiJvcyvzHHmzYpwsNPA4jjdAEQp2Ow9SC/qMLQEHXZF6A+XGhgkmAaXJg/ RsdJvK23X4z0J0hE1mTwSOiFFjgx2Jud3TEscin+SkgwPwx9pfUAEQEAAcLAdgQgAQgAIBYhBKLu qJfheMIARXHw/oV15Hok0DMYBQJbTHXOAh0AAAoJEIV15Hok0DMYonMIAJq1zS1gJWbcverXgJY7 0Vp+rcAjur125mO6p5x2v0RzBld4g+dyM89fWupoV1q/LgUs2nf2dZABvyoESOGEoMdeKvucNNVp ZWbriRJ+FcUO7s1xfS9Cdc5v2os3u1d+XE0jxSEl8ifaf0k36G/8Wyac+wuzltdvYe/o9FTIc/zC wQc0X8cJClPwOCmeP4/Zt7Bm/uhatedtjEIOWVEHPwrliaRbmIjNcdbIPswLzW/Eah2gRyju1CEQ 7M2WgsfSwUU1Lw+NUu5jevFz+TyW/kwLbyxkw7/5Z1phhLPPTrvXK3lZTspQUHwFXqgGIjiiqUmQ yqi9Kx4CUsNBZGfLsPXNIUx1a2FzIFZyYWJlYyA8bHZyYWJlY0ByZWRoYXQuY29tPsLAlAQTAQgA PhYhBKLuqJfheMIARXHw/oV15Hok0DMYBQJbDlAwAhsDBQkB4TOABQsJCAcCBhUKCQgLAgQWAgMB Ah4BAheAAAoJEIV15Hok0DMY8bAH+wXWHOIvHMQBfWRMaRfGaQnuqx6+X/OxGXIX+BKUDV+zClAj 6b8CAkntAM18ot/b5tnwzKrjBVMZowUqa9kY+1ZSwy6SGFTtf6tV6k6uT9vKZB8ODFiA5PzEs8Qt yBJtkzAC2MDSpjtD/yJMy5oNwwTWKbS238L10gcpsq1XdsjzM2eLnSLaSSuX/rD89GpU9LOQ7bXv vV1CqxDM6u1MXVilcvpOrVFEUi1WR5hvbL921HPn9okaoyuvG8MvptcCUQ3B5QB/1ktvVJ/qgjRu 0e/PZpUD7O7v5C24cxRzTlnq0HhDbRZRX1XLvNu2DHX5V8hwRDf4kxBIH6EsYQQnTYbOwE0EWw5Q MAEIAM+8/S4PqLtBK/E1MflhjtwstOEYcBOL5e8VxicpKiq5GMREXr7eD4+uoXylTMs9fe75aczT ZovQE+OB3ypp3D1A7E0MG52/lNZ2eWE2yTHXaCbi474PZNRczWtQSkSHtTwJZR1tdkcHqrtw8xSr MtK7TvoOV1iH/9RDdc4V/WvXoDcXtjGz+G6LuLjiEclf+a2rqwdpmgfEsdxqH61Dc0+RP3TjqgwV LJvsRcMvm1ICWrHe8BNZ+7wwyZSy/et1o/WDdbNOXynSQkhfZvTL+uOyxLdOmYzn+TEBPvH7FQc9 p29rVNmo7ltxrrH7hU1TctwLiahaUmYH6WjbsPiUvS8AEQEAAcLAfAQYAQgAJhYhBKLuqJfheMIA RXHw/oV15Hok0DMYBQJbDlAwAhsMBQkB4TOAAAoJEIV15Hok0DMYZTwH/ia1oOWiFg7zCfyDlEJC +ODppDDJLSkrz5pzWOIJWvkZA5ju6G17lkKe+0FlVV27lbKB+HqXiJ7gWI6+5MsG9qCqngxoQ/3V i6ldoSuLWTIjwcABiOHN6Tjf6ctgfy0wJmiaqXRWkGxtyKzDa5EMxFDF/T1ogcYVbcFiIMFKw1x9 2il8tAIfo5T/sm25t4s0jBk8OspL78U1g62uNZPNKrS4G9FkcJVd52Jtg3yyi+XDcChN2gZtn1bY jgvLoKRAHH9w5Peh7hzVn9Ch7WXAAQMnbMJlV3O0CP9Qtx1ZWDzHJAposYeb7s0OHpRNZWwzcZC8 eXgksq/ZweRzD5tHhNg= =ELQp -----END PGP PUBLIC KEY BLOCK-----
OpenPGP_signature
(application/pgp-signature, 488 B) - not displayed