[OpenAFS] Uninstall OpenAFS after make install
ladanyi@ira.uka.de
ladanyi@ira.uka.de
Mon, 22 Jun 2015 15:15:48 +0200
This message is in MIME format.
--=_FDbUEDiAoGHbe9w9GlDjuA1
Content-Type: text/plain; charset=UTF-8; format=flowed; DelSp=Yes
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Hi Stephan,
>>
>> I used this now, but an yum-builddep of this srpm package tells me that
>> the package: kernel-devel-x86_64 =3D 2.6.18-404.el5 is needed but not
>> found on centos 7. centos 7 ist working with 3.10.
>
> yum-builddep is looking at the wrong info when used on srpms. Install or
> unpack the srpm and run "yum-builddep openafs.spec" instead.
On Centos 7:
yum-builddep openafs.spec works.
rpmbuild -ba openafs.spec exits with 0. I got my rpm packages.
On Fedora 20:
I add a yum repository file which points to the 1.6.10 rpm Fedora 20
packages at openafs.org
yum install produce the following output with some errors and bad exit:
Running transaction
Installing : openafs-1.6.10-2.fc20.x86_64
1/5
Installing : openafs-client-1.6.10-2.fc20.x86_64
2/5
Installing : dkms-openafs-1.6.10-2.fc20.x86_64
3/5
Error! DKMS tree already contains: openafs-1.6.10-2.fc20
You cannot add the same module/version combo more than once.
Kernel preparation unnecessary for this kernel. Skipping...
Building module:
cleaning build area...(bad exit status: 2)
./configure
--with-linux-kernel-headers=3D/lib/modules/3.19.8-100.fc20.x86_64/build
--with-linux-kernel-packaging && make && case 3.19.8-100.fc20.x86_64
in 2.4.*) mv src/libafs/MODLOAD-*/libafs-* openafs.o ;; *) mv
src/libafs/MODLOAD-*/openafs.ko . ;;
esac....................................................(bad exit
status: 2)
Error! Bad return status for module build on kernel:
3.19.8-100.fc20.x86_64 (x86_64)
Consult /var/lib/dkms/openafs/1.6.10-2.fc20/build/make.log for more
information.
Kernel preparation unnecessary for this kernel. Skipping...
Building module:
cleaning build area...(bad exit status: 2)
./configure
--with-linux-kernel-headers=3D/lib/modules/3.19.8-100.fc20.x86_64/build
--with-linux-kernel-packaging && make && case 3.19.8-100.fc20.x86_64
in 2.4.*) mv src/libafs/MODLOAD-*/libafs-* openafs.o ;; *) mv
src/libafs/MODLOAD-*/openafs.ko . ;;
esac.....................................................(bad exit
status: 2)
Error! Bad return status for module build on kernel:
3.19.8-100.fc20.x86_64 (x86_64)
Consult /var/lib/dkms/openafs/1.6.10-2.fc20/build/make.log for more
information.
warning: %post(dkms-openafs-1.6.10-2.fc20.x86_64) scriptlet failed,
exit status 10
Non-fatal POSTIN scriptlet failure in rpm package
dkms-openafs-1.6.10-2.fc20.x86_64
Installing : openafs-docs-1.6.10-2.fc20.x86_64
4/5
Installing : openafs-krb5-1.6.10-2.fc20.x86_64
5/5
Verifying : openafs-docs-1.6.10-2.fc20.x86_64
1/5
Verifying : dkms-openafs-1.6.10-2.fc20.x86_64
2/5
Verifying : openafs-krb5-1.6.10-2.fc20.x86_64
3/5
Verifying : openafs-client-1.6.10-2.fc20.x86_64
4/5
Verifying : openafs-1.6.10-2.fc20.x86_64
5/5
Installed:
dkms-openafs.x86_64 0:1.6.10-2.fc20 openafs.x86_64 0:1.6.10-2.fc20
openafs-client.x86_64 0:1.6.10-2.fc20 openafs-docs.x86_64
0:1.6.10-2.fc20 openafs-krb5.x86_64 0:1.6.10-2.fc20
Complete!
The Consult /var/lib/dkms/openafs/1.6.10-2.fc20/build/make.log for
more information:
CC [M]
/var/lib/dkms/openafs/1.6.10-2.fc20/build/src/libafs/MODLOAD-3.19.8-100.fc2=
0.x86_64-SP/afs_cbqueue.o
CC [M]
/var/lib/dkms/openafs/1.6.10-2.fc20/build/src/libafs/MODLOAD-3.19.8-100.fc2=
0.x86_64-SP/afs_cell.o
CC [M]
/var/lib/dkms/openafs/1.6.10-2.fc20/build/src/libafs/MODLOAD-3.19.8-100.fc2=
0.x86_64-SP/afs_chunk.o
CC [M]
/var/lib/dkms/openafs/1.6.10-2.fc20/build/src/libafs/MODLOAD-3.19.8-100.fc2=
0.x86_64-SP/afs_conn.o
CC [M]
/var/lib/dkms/openafs/1.6.10-2.fc20/build/src/libafs/MODLOAD-3.19.8-100.fc2=
0.x86_64-SP/afs_daemons.o
/var/lib/dkms/openafs/1.6.10-2.fc20/build/src/libafs/MODLOAD-3.19.8-100.fc2=
0.x86_64-SP/afs_daemons.c: In function
=E2=80=98afs_CheckRootVolume=E2=80=99:
/var/lib/dkms/openafs/1.6.10-2.fc20/build/src/libafs/MODLOAD-3.19.8-100.fc2=
0.x86_64-SP/afs_daemons.c:403:24: error: =E2=80=98struct dentry=E2=80=99 ha=
s no member named
=E2=80=98d_alias=E2=80=99
list_del_init(&dp->d_alias);
^
/var/lib/dkms/openafs/1.6.10-2.fc20/build/src/libafs/MODLOAD-3.19.8-100.fc2=
0.x86_64-SP/afs_daemons.c:404:19: error: =E2=80=98struct dentry=E2=80=99 ha=
s no member named
=E2=80=98d_alias=E2=80=99
list_add(&dp->d_alias, &(AFSTOV(vcp)->i_dentry));
^
/var/lib/dkms/openafs/1.6.10-2.fc20/build/src/libafs/MODLOAD-3.19.8-100.fc2=
0.x86_64-SP/afs_daemons.c:404:7: warning: passing argument 2 of =E2=80=98li=
st_add=E2=80=99 from incompatible pointer type [enabled by
default]
list_add(&dp->d_alias, &(AFSTOV(vcp)->i_dentry));
^
In file included from include/linux/wait.h:6:0,
from
/var/lib/dkms/openafs/1.6.10-2.fc20/build/src/afs/sysincludes.h:124,
from
/var/lib/dkms/openafs/1.6.10-2.fc20/build/src/libafs/MODLOAD-3.19.8-100.fc2=
0.x86_64-SP/afs_daemons.c:19:
include/linux/list.h:61:20: note: expected =E2=80=98struct list_head *=E2=
=80=99 but
argument is of type =E2=80=98struct hlist_head *=E2=80=99
static inline void list_add(struct list_head *new, struct list_head *head=
)
^
make[4]: ***
[/var/lib/dkms/openafs/1.6.10-2.fc20/build/src/libafs/MODLOAD-3.19.8-100.fc=
20.x86_64-SP/afs_daemons.o] Error
1
make[3]: ***
[_module_/var/lib/dkms/openafs/1.6.10-2.fc20/build/src/libafs/MODLOAD-3.19.=
8-100.fc20.x86_64-SP] Error
2
make[3]: Leaving directory `/usr/src/kernels/3.19.8-100.fc20.x86_64'
FAILURE: make exit code 2
make[2]: *** [openafs.ko] Error 1
make[2]: Leaving directory
`/var/lib/dkms/openafs/1.6.10-2.fc20/build/src/libafs/MODLOAD-3.19.8-100.fc=
20.x86_64-SP'
make[1]: *** [linux_compdirs] Error 2
make[1]: Leaving directory
`/var/lib/dkms/openafs/1.6.10-2.fc20/build/src/libafs'
make: *** [all] Error 2
> Best, Stephan
regards,
Andreas
--=_FDbUEDiAoGHbe9w9GlDjuA1
Content-Type: application/pkcs7-signature; name=smime.p7s
Content-Disposition: attachment; size=5306; filename=smime.p7s
Content-Transfer-Encoding: base64
MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIP+jCCBNUw
ggO9oAMCAQICCFBOxvU9EbRkMA0GCSqGSIb3DQEBCwUAMHExCzAJBgNVBAYTAkRFMRwwGgYDVQQK
ExNEZXV0c2NoZSBUZWxla29tIEFHMR8wHQYDVQQLExZULVRlbGVTZWMgVHJ1c3QgQ2VudGVyMSMw
IQYDVQQDExpEZXV0c2NoZSBUZWxla29tIFJvb3QgQ0EgMjAeFw0xNDA3MjIxMjA4MjZaFw0xOTA3
MDkyMzU5MDBaMFoxCzAJBgNVBAYTAkRFMRMwEQYDVQQKEwpERk4tVmVyZWluMRAwDgYDVQQLEwdE
Rk4tUEtJMSQwIgYDVQQDExtERk4tVmVyZWluIFBDQSBHbG9iYWwgLSBHMDEwggEiMA0GCSqGSIb3
DQEBAQUAA4IBDwAwggEKAoIBAQDpm8NnhfkNrvWNVMOWUDU9YuluTO2U1wBblSJ01CDrNI/W7MAx
BAuZgeKmFNJSoCgjhIt0iQReW+DieMF4yxbLKDU5ey2QRdDtoAB6fL9KDhsAw4bpXCsxEXsM84Ik
Q4wcOItqaACa7txPeKvSxhObdq3u3ibo7wGvdA/BCaL2a869080UME/15eOkyGKbghoDJzANAmVg
Te3RCSMqljVYJ9N2xnG2kB3E7f81hn1vM7PbD8URwoqDoZRdQWvY0hD1TP3KUazZve+Sg7va64sW
VlZDz+HVEz2mHycwzUlU28kTNJpxdcVs6qcLmPkhnSevPqM5OUhqjK3JmfvDEvK9AgMBAAGjggGG
MIIBgjAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFEm3xs/oPR9/6kR7Eyn38QpwPt5kMB8GA1Ud
IwQYMBaAFDHDeRu69VPXF+CJei0XbAqzK50zMBIGA1UdEwEB/wQIMAYBAf8CAQIwYgYDVR0gBFsw
WTARBg8rBgEEAYGtIYIsAQEEAgIwEQYPKwYBBAGBrSGCLAEBBAMAMBEGDysGAQQBga0hgiwBAQQD
ATAPBg0rBgEEAYGtIYIsAQEEMA0GCysGAQQBga0hgiweMD4GA1UdHwQ3MDUwM6AxoC+GLWh0dHA6
Ly9wa2kwMzM2LnRlbGVzZWMuZGUvcmwvRFRfUk9PVF9DQV8yLmNybDB4BggrBgEFBQcBAQRsMGow
LAYIKwYBBQUHMAGGIGh0dHA6Ly9vY3NwMDMzNi50ZWxlc2VjLmRlL29jc3ByMDoGCCsGAQUFBzAC
hi5odHRwOi8vcGtpMDMzNi50ZWxlc2VjLmRlL2NydC9EVF9ST09UX0NBXzIuY2VyMA0GCSqGSIb3
DQEBCwUAA4IBAQBjICj9nCGGcr45Rlk5MiW8qQGbDczKfUGchm0KbiyzE1l1sTOSG2EnFv/DstU1
gvuEKgFJvWa7Zi+ywgZdbj9u4wFaW8pDY1yVtuExpx/VB19N5mWCTjL5w3x6S81NXHTuIfJ1AuxS
PtLJatOQI25JZzW+f01WpOzML8+3oZeocj7JvEDWWqQIPda8gsO3tzKOsSyOam23NQIZz/U5RFhj
pyQAELC7/E6vbi84u6VXST/YblBvLJeW3B1GmmWJz67M8uXZn1OzPqEvkqnYC8aEHwTG6x7on321
e6UC8STFJGMRNMxakyAqeYg6JUKQqWU7fIbTEhUjKfws2sw5W1QXMIIFhTCCBG2gAwIBAgIHGG3J
fo2QSjANBgkqhkiG9w0BAQsFADCBvzELMAkGA1UEBhMCREUxGzAZBgNVBAgTEkJhZGVuLVd1ZXJ0
dGVtYmVyZzESMBAGA1UEBxMJS2FybHNydWhlMSowKAYDVQQKEyFLYXJsc3J1aGUgSW5zdGl0dXRl
IG9mIFRlY2hub2xvZ3kxJzAlBgNVBAsTHlN0ZWluYnVjaCBDZW50cmUgZm9yIENvbXB1dGluZzEP
MA0GA1UEAxMGS0lULUNBMRkwFwYJKoZIhvcNAQkBFgpjYUBraXQuZWR1MB4XDTE0MTAyNzEzNDMx
MFoXDTE3MTAyNjEzNDMxMFowUzELMAkGA1UEBhMCREUxKjAoBgNVBAoTIUthcmxzcnVoZSBJbnN0
aXR1dGUgb2YgVGVjaG5vbG9neTEYMBYGA1UEAxMPQW5kcmVhcyBMYWRhbnlpMIIBIjANBgkqhkiG
9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtL0UuEE0MQWYP5MZOt+SBBDmGHZDf99xUzsFwyxvBaoS3TBZ
C/hul8ylNsOTrOvNbdJFOPTBizqfYQGf+JIxAgPomyG4jomQvMXhKXcf/obhf5lj2eBN0np/wLkt
MvFvj+HIEBh38/1o3ZXESV4aMhvNW9VO116K0fh3/7TElksZ95zNj77js/JoEMQB8mGw27hw5u8V
OKrDEWuzTBu4M7VgMdzNrYi+m3AiYv1m110i6rJ4otbThGRfcEbDHwqfONfminidzyS4aHpNyO7U
98xmn360m8qsq3smEn7XRGRgVlpzu7lNuJ8AvKZGPrM4OJ1Rhgxo5enuS1XVw29IBwIDAQABo4IB
7zCCAeswQAYDVR0gBDkwNzARBg8rBgEEAYGtIYIsAQEEAwIwEQYPKwYBBAGBrSGCLAIBBAMBMA8G
DSsGAQQBga0hgiwBAQQwCQYDVR0TBAIwADALBgNVHQ8EBAMCBeAwHQYDVR0lBBYwFAYIKwYBBQUH
AwIGCCsGAQUFBwMEMB0GA1UdDgQWBBRSBxcWWTqn7d35eE0sUlWSXfPOizAfBgNVHSMEGDAWgBQf
dGX0mh169jHp32EbcysNbdAzSTAiBgNVHREEGzAZgRdhbmRyZWFzLmxhZGFueWlAa2l0LmVkdTB3
BgNVHR8EcDBuMDWgM6Axhi9odHRwOi8vY2RwMS5wY2EuZGZuLmRlL2tpdC1jYS9wdWIvY3JsL2Nh
Y3JsLmNybDA1oDOgMYYvaHR0cDovL2NkcDIucGNhLmRmbi5kZS9raXQtY2EvcHViL2NybC9jYWNy
bC5jcmwwgZIGCCsGAQUFBwEBBIGFMIGCMD8GCCsGAQUFBzAChjNodHRwOi8vY2RwMS5wY2EuZGZu
LmRlL2tpdC1jYS9wdWIvY2FjZXJ0L2NhY2VydC5jcnQwPwYIKwYBBQUHMAKGM2h0dHA6Ly9jZHAy
LnBjYS5kZm4uZGUva2l0LWNhL3B1Yi9jYWNlcnQvY2FjZXJ0LmNydDANBgkqhkiG9w0BAQsFAAOC
AQEALmsJ+qKYuD1TTYxYAYcOUc7Pw3SBI+PX941ze1n2coAeuXY2Ldd2lrjyirS8eHuPCZihmbVl
Me/26WqBwDLN/vk7FC5c0aatidQz6MoquWJWnHSj1XlB/AOv9aD4tKLHURw7ejFvY3imott/vrLJ
rt2WjYvPaMvwAoZKgTY2bXEZQjWYnGJRthuK1OG4CFJlQphREiewuqzjCxABnC3Rmo7BWy/yGeMG
SkMsTg+uhOwv8568KtJE3z4uTWtN1w0dT1uI1/uJ5jrsyoodUg/q31lGGgtrmElCwrHJSk+6Hp6K
CXilzY9d/N/CQXkHnNLu6aDgc8gXn9Y/cLepRKKZvzCCBZQwggR8oAMCAQICBxev928jIukwDQYJ
KoZIhvcNAQELBQAwWjELMAkGA1UEBhMCREUxEzARBgNVBAoTCkRGTi1WZXJlaW4xEDAOBgNVBAsT
B0RGTi1QS0kxJDAiBgNVBAMTG0RGTi1WZXJlaW4gUENBIEdsb2JhbCAtIEcwMTAeFw0xNDA2MDUx
NDA4MzFaFw0xOTA3MDkyMzU5MDBaMIG/MQswCQYDVQQGEwJERTEbMBkGA1UECBMSQmFkZW4tV3Vl
cnR0ZW1iZXJnMRIwEAYDVQQHEwlLYXJsc3J1aGUxKjAoBgNVBAoTIUthcmxzcnVoZSBJbnN0aXR1
dGUgb2YgVGVjaG5vbG9neTEnMCUGA1UECxMeU3RlaW5idWNoIENlbnRyZSBmb3IgQ29tcHV0aW5n
MQ8wDQYDVQQDEwZLSVQtQ0ExGTAXBgkqhkiG9w0BCQEWCmNhQGtpdC5lZHUwggEiMA0GCSqGSIb3
DQEBAQUAA4IBDwAwggEKAoIBAQDMsqiKiaKAQVEpL20dPB0IejTRPrajRK7mwwXpqBo/APNN8IPt
cb16pITtb5wQAaeVPvu8YA+bi5U3Dm/xeFBayQQcvUAp04cwm/nqhvveCMOpvC41qgiqK/ZSsDQl
Ire78zQDgndK9IjQmFdv8XCvLR0h8N5hl4L8H2NBfY9eJ1BIPZ3eZD6tAMPYkBw7mJzs9wPDVU6V
6Uws4kEwmSUGBEw7Avp8p0DdrLwJgFd1dRyUXvwA+oncv+hzdBLQCDj5RNacdeDRUuEmalJPxeLw
/KcUs/2FMGwhiuCB9+1fW3G0JgPDTTSgbRS6l9faL7kJ99pUcElvws9x4/s0kT9zAgMBAAGjggH3
MIIB8zASBgNVHRMBAf8ECDAGAQH/AgEBMA4GA1UdDwEB/wQEAwIBBjARBgNVHSAECjAIMAYGBFUd
IAAwHQYDVR0OBBYEFB90ZfSaHXr2MenfYRtzKw1t0DNJMB8GA1UdIwQYMBaAFEm3xs/oPR9/6kR7
Eyn38QpwPt5kMBUGA1UdEQQOMAyBCmNhQGtpdC5lZHUwgYgGA1UdHwSBgDB+MD2gO6A5hjdodHRw
Oi8vY2RwMS5wY2EuZGZuLmRlL2dsb2JhbC1yb290LWNhL3B1Yi9jcmwvY2FjcmwuY3JsMD2gO6A5
hjdodHRwOi8vY2RwMi5wY2EuZGZuLmRlL2dsb2JhbC1yb290LWNhL3B1Yi9jcmwvY2FjcmwuY3Js
MIHXBggrBgEFBQcBAQSByjCBxzAzBggrBgEFBQcwAYYnaHR0cDovL29jc3AucGNhLmRmbi5kZS9P
Q1NQLVNlcnZlci9PQ1NQMEcGCCsGAQUFBzAChjtodHRwOi8vY2RwMS5wY2EuZGZuLmRlL2dsb2Jh
bC1yb290LWNhL3B1Yi9jYWNlcnQvY2FjZXJ0LmNydDBHBggrBgEFBQcwAoY7aHR0cDovL2NkcDIu
cGNhLmRmbi5kZS9nbG9iYWwtcm9vdC1jYS9wdWIvY2FjZXJ0L2NhY2VydC5jcnQwDQYJKoZIhvcN
AQELBQADggEBADoWJv/UVyB9nfsoym9xKp8a7sOLa4XSPU/xrKF4Dp3UdlKdzDK2JvzCziF50SiH
54ZuKbsKUa6YXwHiWHO7tsUW2+r6cnbf6FGcvylyeOtetQsoKvB2bMhEG0fn1B4+9k5IuXJpcQSH
iKZhRa/lqNWO95hKHvhtUO8dlTYtlTaSEmv6RAcfw2JcYKiB2GC97h3YpwimDC15sfzwYdnhTdSX
F54CVPgwHPL85cR/YI7KlQtjvI6yz14mma7ffYN6W7UBDPPc/5emiYIgxbwEBFZ5orfkvPtfeJUu
T3FI7RBmE8mPl/betefdZzqF1F357emrpuGH9gZbJp98SgruQqgxggSCMIIEfgIBATCByzCBvzEL
MAkGA1UEBhMCREUxGzAZBgNVBAgTEkJhZGVuLVd1ZXJ0dGVtYmVyZzESMBAGA1UEBxMJS2FybHNy
dWhlMSowKAYDVQQKEyFLYXJsc3J1aGUgSW5zdGl0dXRlIG9mIFRlY2hub2xvZ3kxJzAlBgNVBAsT
HlN0ZWluYnVjaCBDZW50cmUgZm9yIENvbXB1dGluZzEPMA0GA1UEAxMGS0lULUNBMRkwFwYJKoZI
hvcNAQkBFgpjYUBraXQuZWR1AgcYbcl+jZBKMAkGBSsOAwIaBQCgggKLMBgGCSqGSIb3DQEJAzEL
BgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTE1MDYyMjEyNTgyN1owIwYJKoZIhvcNAQkEMRYE
FMgAQbdZR67/gwbxa89DhhxcaQ/EMGwGCSqGSIb3DQEJDzFfMF0wCwYJYIZIAWUDBAEqMAsGCWCG
SAFlAwQBAjAKBggqhkiG9w0DBzAOBggqhkiG9w0DAgICAIAwDQYIKoZIhvcNAwICAUAwBwYFKw4D
AgcwDQYIKoZIhvcNAwICASgwgdwGCSsGAQQBgjcQBDGBzjCByzCBvzELMAkGA1UEBhMCREUxGzAZ
BgNVBAgTEkJhZGVuLVd1ZXJ0dGVtYmVyZzESMBAGA1UEBxMJS2FybHNydWhlMSowKAYDVQQKEyFL
YXJsc3J1aGUgSW5zdGl0dXRlIG9mIFRlY2hub2xvZ3kxJzAlBgNVBAsTHlN0ZWluYnVjaCBDZW50
cmUgZm9yIENvbXB1dGluZzEPMA0GA1UEAxMGS0lULUNBMRkwFwYJKoZIhvcNAQkBFgpjYUBraXQu
ZWR1AgcYbcl+jZBKMIHeBgsqhkiG9w0BCRACCzGBzqCByzCBvzELMAkGA1UEBhMCREUxGzAZBgNV
BAgTEkJhZGVuLVd1ZXJ0dGVtYmVyZzESMBAGA1UEBxMJS2FybHNydWhlMSowKAYDVQQKEyFLYXJs
c3J1aGUgSW5zdGl0dXRlIG9mIFRlY2hub2xvZ3kxJzAlBgNVBAsTHlN0ZWluYnVjaCBDZW50cmUg
Zm9yIENvbXB1dGluZzEPMA0GA1UEAxMGS0lULUNBMRkwFwYJKoZIhvcNAQkBFgpjYUBraXQuZWR1
AgcYbcl+jZBKMA0GCSqGSIb3DQEBAQUABIIBAHBQL58jUjGSAf5oKYL8EPrab6agtSz5Q38SvrvE
isR3ndjoemEeqbDdwFgBuKDB7PRw+BxxGVw36W4XRe13E/fEpQF18HyqwxjdN8NLiPOIIN7Bohfy
dwuzqqtokNNlQGL75HeM/QP+TYlk6OkWfZlbi3Cu9L4SwCdWZ+d/g+2wHCsFLnT5zciaz41VUx8u
POrB6UE1tqxTZtg73PShz3hrtG/6F9A2v1tcj4BZfp98S2GS+PbmHLe7237AWmsHpPxYRvSsKPNJ
mo/3QD6wxdv2tbKoQP4bsdTa6qBSztgxE4j40fQyGJVKuz8YeJtoX92AWu6cbUv7FOMiAVzKV9gA
AAAAAAA=
--=_FDbUEDiAoGHbe9w9GlDjuA1--