patch for vanilla kernel 2.6.26

Lino Sanfilippo <[email protected]> Tue, 07 Jul 2009 17:07:09 +0200
Newsgroups gmane.linux.dazuko.devel
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--------------080504000605060906090201
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



Geschäftsführender Gesellschafter: Tjark Auerbach
Sitz der Gesellschaft: Tettnang
Handelsregister: Amtsgericht Ulm, HRB 630992
ALLGEMEINE GESCHÄFTSBEDINGUNGEN
Es gelten unsere Allgemeinen Geschäftsbedingungen
(AGB). Sie finden sie in der jeweils gültigen Fassung
im Internet unter http://www.avira.de/agb
***************************************************
--------------080504000605060906090201
Content-Type: text/plain;
 name="patch_2.6.26"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
 filename="patch_2.6.26"

ZGlmZiAteCBDVlMgLXJ1cCBkYXp1a29mcy0zLjAuMC9DSEFOR0VMT0cgZGF6dWtvZnMtMy4w
LjAtcmM0XzIuNi4yNi9DSEFOR0VMT0cKLS0tIGRhenVrb2ZzLTMuMC4wL0NIQU5HRUxPRwky
MDA5LTAyLTIyIDE3OjUxOjIyLjAwMDAwMDAwMCArMDEwMAorKysgZGF6dWtvZnMtMy4wLjAt
cmM0XzIuNi4yNi9DSEFOR0VMT0cJMjAwOC0xMi0xMiAxNjozMToyMC4wMDAwMDAwMDAgKzAx
MDAKQEAgLTIsMTEgKzIsNiBAQAogIERhenVrb0ZTIENIQU5HRUxPRwogPT09PT09PT09PT09
PT09PT09PT0KIAotMy4wLjAgKDIwMDktMDItMjIpCi0tIGFkZGVkIGRlZmluZSBmb3IgdmVy
c2lvbiBudW1iZXIgb3V0cHV0Ci0tIGFkZGVkIHBhdGNoZXMgZm9yIHZhcmlvdXMgb3RoZXIg
a2VybmVscwotCi0KIDMuMC4wLXJjNCAoMjAwOC0xMS0zMCkKIC0gZml4IGluY29ycmVjdCBk
ZW50cnkvdmZzbW50IHJlZmVyZW5jaW5nIHdoZW4gYWNjZXNzIGRlbmllZAogLSBmaXggaW1w
cm9wZXIgY2xlYW51cCBpbiBzZXZlcmFsIGVycm9yIGhhbmRsaW5nIGNvbmRpdGlvbnMKZGlm
ZiAteCBDVlMgLXJ1cCBkYXp1a29mcy0zLjAuMC9jdHJsX2Rldi5jIGRhenVrb2ZzLTMuMC4w
LXJjNF8yLjYuMjYvY3RybF9kZXYuYwotLS0gZGF6dWtvZnMtMy4wLjAvY3RybF9kZXYuYwky
MDA5LTAyLTIyIDE3OjQ1OjIwLjAwMDAwMDAwMCArMDEwMAorKysgZGF6dWtvZnMtMy4wLjAt
cmM0XzIuNi4yNi9jdHJsX2Rldi5jCTIwMDgtMTItMTIgMTY6MzI6MjYuMDAwMDAwMDAwICsw
MTAwCkBAIC0xODMsNyArMTgzLDcgQEAgaW50IGRhenVrb2ZzX2N0cmxfZGV2X2luaXQoaW50
IGRldl9tYWpvcgogCiAJLyogY3JlYXRlIGNvbnRyb2wgZGV2aWNlICovCiAJZGV2ID0gZGV2
aWNlX2NyZWF0ZShkYXp1a29mc19jbGFzcywgTlVMTCwgTUtERVYoZGV2X21ham9yLCBkZXZf
bWlub3IpLAotCQkJICAgIE5VTEwsICIlcy5jdHJsIiwgREVWSUNFX05BTUUpOworCQkJICAg
ICIlcy5jdHJsIiwgREVWSUNFX05BTUUpOwogCWlmIChJU19FUlIoZGV2KSkgewogCQllcnIg
PSBQVFJfRVJSKGRldik7CiAJCWdvdG8gZXJyb3Jfb3V0MjsKZGlmZiAteCBDVlMgLXJ1cCBk
YXp1a29mcy0zLjAuMC9kYXp1a29mc19mcy5oIGRhenVrb2ZzLTMuMC4wLXJjNF8yLjYuMjYv
ZGF6dWtvZnNfZnMuaAotLS0gZGF6dWtvZnMtMy4wLjAvZGF6dWtvZnNfZnMuaAkyMDA5LTAy
LTIyIDE3OjQzOjExLjAwMDAwMDAwMCArMDEwMAorKysgZGF6dWtvZnMtMy4wLjAtcmM0XzIu
Ni4yNi9kYXp1a29mc19mcy5oCTIwMDktMDctMDMgMTg6MDA6MjQuMDAwMDAwMDAwICswMjAw
CkBAIC0zLDcgKzMsNyBAQAogICAgQ29weXJpZ2h0IChDKSAxOTk3LTIwMDQgRXJleiBaYWRv
awogICAgQ29weXJpZ2h0IChDKSAyMDAxLTIwMDQgU3RvbnkgQnJvb2sgVW5pdmVyc2l0eQog
ICAgQ29weXJpZ2h0IChDKSAyMDA0LTIwMDcgSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNo
aW5lcyBDb3JwLgotICAgQ29weXJpZ2h0IChDKSAyMDA4LTIwMDkgSm9obiBPZ25lc3MKKyAg
IENvcHlyaWdodCAoQykgMjAwOCBKb2huIE9nbmVzcwogICAgICBBdXRob3I6IEpvaG4gT2du
ZXNzIDxkYXp1a29jb2RlQG9nbmVzcy5uZXQ+CiAKICAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVl
IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKQEAgLTI0LDggKzI0
LDYgQEAKICNpZm5kZWYgX19EQVpVS09GU19GU19ICiAjZGVmaW5lIF9fREFaVUtPRlNfRlNf
SAogCi0jZGVmaW5lIERBWlVLT0ZTX1ZFUlNJT04gIjMuMC4wIgotCiBleHRlcm4gc3RydWN0
IGttZW1fY2FjaGUgKmRhenVrb2ZzX2RlbnRyeV9pbmZvX2NhY2hlcDsKIGV4dGVybiBzdHJ1
Y3Qga21lbV9jYWNoZSAqZGF6dWtvZnNfZmlsZV9pbmZvX2NhY2hlcDsKIGV4dGVybiBzdHJ1
Y3QgZmlsZV9vcGVyYXRpb25zIGRhenVrb2ZzX21haW5fZm9wczsKZGlmZiAteCBDVlMgLXJ1
cCBkYXp1a29mcy0zLjAuMC9ldmVudC5jIGRhenVrb2ZzLTMuMC4wLXJjNF8yLjYuMjYvZXZl
bnQuYwotLS0gZGF6dWtvZnMtMy4wLjAvZXZlbnQuYwkyMDA5LTAyLTIyIDE3OjQ0OjAzLjAw
MDAwMDAwMCArMDEwMAorKysgZGF6dWtvZnMtMy4wLjAtcmM0XzIuNi4yNi9ldmVudC5jCTIw
MDktMDctMDMgMTg6NTM6NTIuMDAwMDAwMDAwICswMjAwCkBAIC0yMyw3ICsyMyw2IEBACiAj
aW5jbHVkZSA8bGludXgvZmlsZS5oPgogI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CiAjaW5jbHVk
ZSA8bGludXgvbW91bnQuaD4KLSNpbmNsdWRlIDxsaW51eC9mcmVlemVyLmg+CiAKICNpbmNs
dWRlICJkZXYuaCIKICNpbmNsdWRlICJkYXp1a29mc19mcy5oIgpAQCAtMTYyLDE2ICsxNjEs
MjMgQEAgc3RhdGljIGludCBjYXB0dXJlX2dyb3VwX2NvdW50KGludCAqY2FjaAogCXJldHVy
biBlcnI7CiB9CiAKLXN0YXRpYyBpbnQgZ2V0X2dyb3VwX2NvdW50KHZvaWQpCitzdGF0aWMg
aW50IGdldF9ncm91cF9jb3VudF9pbnRlcnJ1cHRpYmxlKHZvaWQpCiB7CiAJaW50IGNhY2hl
ID0gMDsKLQlpbnQgcmV0ID0gd2FpdF9ldmVudF9mcmVlemFibGUoX19ncm91cF9jb3VudF9x
dWV1ZSwKLQkJCQkgICAgICAgY2FwdHVyZV9ncm91cF9jb3VudCgmY2FjaGUpID09IDApOwor
CWludCByZXQgPSB3YWl0X2V2ZW50X2ludGVycnVwdGlibGUoX19ncm91cF9jb3VudF9xdWV1
ZSwKKwkJCQkgICAgICAgICAgIGNhcHR1cmVfZ3JvdXBfY291bnQoJmNhY2hlKSA9PSAwKTsK
IAlpZiAocmV0ID09IDApCiAJCXJldCA9IF9fZ3JvdXBfY291bnQ7CiAJcmV0dXJuIHJldDsK
IH0KIAorc3RhdGljIGludCBnZXRfZ3JvdXBfY291bnQodm9pZCkKK3sKKwlpbnQgY2FjaGUg
PSAwOworCXdhaXRfZXZlbnQoX19ncm91cF9jb3VudF9xdWV1ZSwgY2FwdHVyZV9ncm91cF9j
b3VudCgmY2FjaGUpID09IDApOworCXJldHVybiBfX2dyb3VwX2NvdW50OworfQorCiBzdGF0
aWMgdm9pZCBwdXRfZ3JvdXBfY291bnQodm9pZCkKIHsKIAltdXRleF9sb2NrKCZncm91cF9j
b3VudF9tdXRleCk7CkBAIC0zOTksNyArNDA1LDcgQEAgaW50IGRhenVrb2ZzX2FkZF9ncm91
cChjb25zdCBjaGFyICpuYW1lLAogCWludCBhbHJlYWR5X2V4aXN0czsKIAlpbnQgYXZhaWxh
YmxlX2lkID0gMDsKIAlzdHJ1Y3QgZGF6dWtvZnNfZ3JvdXAgKmdycDsKLQlpbnQgZ3JwX2Nv
dW50ID0gZ2V0X2dyb3VwX2NvdW50KCk7CisJaW50IGdycF9jb3VudCA9IGdldF9ncm91cF9j
b3VudF9pbnRlcnJ1cHRpYmxlKCk7CiAKIAlpZiAoZ3JwX2NvdW50IDwgMCkgewogCQlyZXQg
PSBncnBfY291bnQ7CkBAIC00NDcsNyArNDUzLDcgQEAgaW50IGRhenVrb2ZzX3JlbW92ZV9n
cm91cChjb25zdCBjaGFyICpuYQogCWludCByZXQgPSAwOwogCXN0cnVjdCBkYXp1a29mc19n
cm91cCAqZ3JwOwogCXN0cnVjdCBsaXN0X2hlYWQgKnBvczsKLQlpbnQgZ3JwX2NvdW50ID0g
Z2V0X2dyb3VwX2NvdW50KCk7CisJaW50IGdycF9jb3VudCA9IGdldF9ncm91cF9jb3VudF9p
bnRlcnJ1cHRpYmxlKCk7CiAKIAlpZiAoZ3JwX2NvdW50IDwgMCkgewogCQlyZXQgPSBncnBf
Y291bnQ7CkBAIC03MDEsMTEgKzcwNywxMCBAQCBpbnQgZGF6dWtvZnNfY2hlY2tfYWNjZXNz
KHN0cnVjdCBkZW50cnkgCiB7CiAJc3RydWN0IGRhenVrb2ZzX2V2ZW50X2NvbnRhaW5lciAq
ZWNfYXJyYXlbR1JPVVBfQ09VTlRdOwogCXN0cnVjdCBkYXp1a29mc19ldmVudCAqZXZ0Owot
CWludCBncnBfY291bnQgPSBnZXRfZ3JvdXBfY291bnQoKTsKLQlpbnQgZXJyOworCWludCBn
cnBfY291bnQ7CisJaW50IGVyciA9IDA7CiAKLQlpZiAoZ3JwX2NvdW50IDwgMCkKLQkJcmV0
dXJuIGdycF9jb3VudDsKKwlncnBfY291bnQgPSBnZXRfZ3JvdXBfY291bnQoKTsKIAogCWlm
IChjaGVja19hY2Nlc3NfcHJlY2hlY2soZ3JwX2NvdW50KSkgewogCQlwdXRfZ3JvdXBfY291
bnQoKTsKQEAgLTcxMywzMiArNzE4LDI5IEBAIGludCBkYXp1a29mc19jaGVja19hY2Nlc3Mo
c3RydWN0IGRlbnRyeSAKIAl9CiAKIAkvKiBhdCB0aGlzIHBvaW50LCB0aGUgYWNjZXNzIHNo
b3VsZCBiZSBoYW5kbGVkICovCi0KIAlpZiAoYWxsb2NhdGVfZXZlbnRfYW5kX2NvbnRhaW5l
cnMoJmV2dCwgZWNfYXJyYXksIGdycF9jb3VudCkpIHsKIAkJcHV0X2dyb3VwX2NvdW50KCk7
Ci0JCWVyciA9IC1FTk9NRU07Ci0JCWdvdG8gb3V0OworCQlyZXR1cm4gLUVOT01FTTsKIAl9
Ci0KIAlldnQtPmRlbnRyeSA9IGRnZXQoZGVudHJ5KTsKIAlldnQtPm1udCA9IG1udGdldCht
bnQpOwogCWV2dC0+cGlkID0gY3VycmVudC0+cGlkOwotCiAJYXNzaWduX2V2ZW50X3RvX2dy
b3VwcyhldnQsIGVjX2FycmF5KTsKIAogCXB1dF9ncm91cF9jb3VudCgpOwogCi0JLyogd2Fp
dCB1bnRpbCBldmVudCBjb21wbGV0ZWx5IHByb2Nlc3NlZCBvciBzaWduYWwgKi8KLQllcnIg
PSB3YWl0X2V2ZW50X2ZyZWV6YWJsZShldnQtPnF1ZXVlLCBldmVudF9hc3NpZ25lZChldnQp
ID09IDApOworCS8qIHdhaXQgdW50aWwgZXZlbnQgY29tcGxldGVseSBwcm9jZXNzZWQgKi8K
Kwl3YWl0X2V2ZW50KGV2dC0+cXVldWUsIGV2ZW50X2Fzc2lnbmVkKGV2dCkgPT0gMCk7CiAK
IAlpZiAoZXZ0LT5kZW55KQogCQllcnIgPSAtRVBFUk07CiAKIAlyZWxlYXNlX2V2ZW50KGV2
dCwgMCwgMCk7Ci1vdXQ6CisJCiAJcmV0dXJuIGVycjsKIH0KIAorCiBpbnQgZGF6dWtvZnNf
Z3JvdXBfb3Blbl90cmFja2luZyh1bnNpZ25lZCBsb25nIGdyb3VwX2lkKQogewogCXN0cnVj
dCBkYXp1a29mc19ncm91cCAqZ3JwOwpAQCAtOTI4LDcgKzkzMCw4IEBAIHN0YXRpYyBpbnQg
b3Blbl9maWxlKHN0cnVjdCBkYXp1a29mc19ldmUKIAkvKiBhZGQgbXlzZWxmIHRvIGJlIGln
bm9yZWQgb24gZmlsZSBvcGVuICh0byBhdm9pZCByZWN1cnNpb24pICovCiAJbWFza19wcm9j
KCZwcm9jKTsKIAotCWVjLT5maWxlID0gZGVudHJ5X29wZW4oZGdldChldnQtPmRlbnRyeSks
IG1udGdldChldnQtPm1udCksIE9fUkRPTkxZKTsKKwllYy0+ZmlsZSA9IGRlbnRyeV9vcGVu
KGRnZXQoZXZ0LT5kZW50cnkpLCBtbnRnZXQoZXZ0LT5tbnQpLCAKKwkJCSAgICAgICBPX1JE
T05MWSB8IE9fTEFSR0VGSUxFKTsKIAlpZiAoSVNfRVJSKGVjLT5maWxlKSkgewogCQljaGVj
a19yZWN1cnNpb24oKTsgIC8qIHJlbW92ZSBteXNlbGYgZnJvbSBwcm9jX2xpc3QgKi8KIAkJ
cmV0ID0gUFRSX0VSUihlYy0+ZmlsZSk7CkBAIC0xMDA0LDkgKzEwMDcsOSBAQCBpbnQgZGF6
dWtvZnNfZ2V0X2V2ZW50KHVuc2lnbmVkIGxvbmcgZ3JvCiAJfQogCiAJd2hpbGUgKDEpIHsK
LQkJcmV0ID0gd2FpdF9ldmVudF9mcmVlemFibGUoZ3JwLT5xdWV1ZSwKLQkJCQkJICAgaXNf
ZXZlbnRfYXZhaWxhYmxlKGdycCkgfHwKLQkJCQkJICAgZ3JwLT5kZXByZWNhdGVkKTsKKwkJ
cmV0ID0gd2FpdF9ldmVudF9pbnRlcnJ1cHRpYmxlKGdycC0+cXVldWUsCisJCQkJCSAgICAg
ICBpc19ldmVudF9hdmFpbGFibGUoZ3JwKSB8fAorCQkJCQkgICAgICAgZ3JwLT5kZXByZWNh
dGVkKTsKIAkJaWYgKHJldCAhPSAwKQogCQkJYnJlYWs7CiAKZGlmZiAteCBDVlMgLXJ1cCBk
YXp1a29mcy0zLjAuMC9maWxlLmMgZGF6dWtvZnMtMy4wLjAtcmM0XzIuNi4yNi9maWxlLmMK
LS0tIGRhenVrb2ZzLTMuMC4wL2ZpbGUuYwkyMDA5LTAyLTIyIDE3OjQzOjExLjAwMDAwMDAw
MCArMDEwMAorKysgZGF6dWtvZnMtMy4wLjAtcmM0XzIuNi4yNi9maWxlLmMJMjAwOS0wNy0w
MyAxODo0NzozMC4wMDAwMDAwMDAgKzAyMDAKQEAgLTE3NywxMCArMTc3LDExIEBAIHN0YXRp
YyBpbnQgZGF6dWtvZnNfb3BlbihzdHJ1Y3QgaW5vZGUgKmkKIAlzdHJ1Y3QgZmlsZSAqbG93
ZXJfZmlsZTsKIAlpbnQgZXJyOwogCi0JZXJyID0gZGF6dWtvZnNfY2hlY2tfYWNjZXNzKGZp
bGUtPmZfZGVudHJ5LCBmaWxlLT5mX3Zmc21udCk7Ci0JaWYgKGVycikKLQkJZ290byBlcnJv
cl9vdXQxOwotCisJaWYgKFNfSVNSRUcoaW5vZGUtPmlfbW9kZSkpIHsKKwkJZXJyID0gZGF6
dWtvZnNfY2hlY2tfYWNjZXNzKGZpbGUtPmZfZGVudHJ5LCBmaWxlLT5mX3Zmc21udCk7CisJ
CWlmIChlcnIpCisJCQlnb3RvIGVycm9yX291dDE7CisJfQogCVNFVF9GSUxFX0lORk8oZmls
ZSwga21lbV9jYWNoZV96YWxsb2MoZGF6dWtvZnNfZmlsZV9pbmZvX2NhY2hlcCwKIAkJICAg
ICAgR0ZQX0tFUk5FTCkpOwogCWlmICghR0VUX0ZJTEVfSU5GTyhmaWxlKSkgewpAQCAtMjcy
LDYgKzI3MywyMiBAQCBvdXQ6CiAJcmV0dXJuIGVycjsKIH0KIAorc3RhdGljIGludCBkYXp1
a29mc19tbWFwIChzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2
bSkKK3sKKworCXN0cnVjdCBmaWxlICpsb3dlcl9maWxlID0gR0VUX0xPV0VSX0ZJTEUoZmls
ZSk7CisKKwkvKiBpZiBsb3dlciBmcyBkb2VzIG5vdCBzdXBwb3J0IG1tYXAoKSwgd2UgZG9u
dCBjYWxsIGdlbmVyaWNfZmlsZV9yZWFkb25seV9tbWFwKCksIAorCSAqIHNpbmNlIHRoaXMg
d291bGQgcmVzdWx0IGluIGNhbGxpbmcgbG93ZXIgcmVhZHBhZ2UoKSwgd2hpY2ggbWlnaHQg
bm90IGJlIAorCSAqIGRlZmluZWQgYnkgbG93ZXIgZnMgaWYgbW1hcCgpIGlzIG5vdCBzdXBw
b3J0ZWQqLworCWlmICghbG93ZXJfZmlsZS0+Zl9vcCB8fCAhbG93ZXJfZmlsZS0+Zl9vcC0+
bW1hcCkgCisJCXJldHVybiAtRU5PREVWOworCQorCisJcmV0dXJuIGdlbmVyaWNfZmlsZV9y
ZWFkb25seV9tbWFwKGZpbGUsIHZtKTsKK30KKworCiAvKioKICAqIFVudXNlZCBvcGVyYXRp
b25zOgogICogICAtIG93bmVyCkBAIC0yOTUsMTggKzMxMiwxNSBAQCBvdXQ6CiBzdHJ1Y3Qg
ZmlsZV9vcGVyYXRpb25zIGRhenVrb2ZzX21haW5fZm9wcyA9IHsKIAkubGxzZWVrCQk9IGRh
enVrb2ZzX2xsc2VlaywKIAkucmVhZAkJPSBkYXp1a29mc19yZWFkLAotCS5haW9fcmVhZAk9
IGdlbmVyaWNfZmlsZV9haW9fcmVhZCwKIAkud3JpdGUJCT0gZGF6dWtvZnNfd3JpdGUsCi0J
LmFpb193cml0ZQk9IGdlbmVyaWNfZmlsZV9haW9fd3JpdGUsCiAJLnJlYWRkaXIJPSBkYXp1
a29mc19yZWFkZGlyLAogCS5pb2N0bAkJPSBkYXp1a29mc19pb2N0bCwKLQkubW1hcAkJPSBn
ZW5lcmljX2ZpbGVfbW1hcCwKKwkubW1hcAkJPSBkYXp1a29mc19tbWFwLAkKIAkub3BlbgkJ
PSBkYXp1a29mc19vcGVuLAogCS5mbHVzaAkJPSBkYXp1a29mc19mbHVzaCwKIAkucmVsZWFz
ZQk9IGRhenVrb2ZzX3JlbGVhc2UsCiAJLmZzeW5jCQk9IGRhenVrb2ZzX2ZzeW5jLAogCS5m
YXN5bmMJCT0gZGF6dWtvZnNfZmFzeW5jLAotCS5zcGxpY2VfcmVhZAk9IGdlbmVyaWNfZmls
ZV9zcGxpY2VfcmVhZCwKIH07CiAKIC8qKgpAQCAtMzM1LDExICszNDksMTAgQEAgc3RydWN0
IGZpbGVfb3BlcmF0aW9ucyBkYXp1a29mc19tYWluX2ZvcAogY29uc3Qgc3RydWN0IGZpbGVf
b3BlcmF0aW9ucyBkYXp1a29mc19kaXJfZm9wcyA9IHsKIAkucmVhZGRpcgk9IGRhenVrb2Zz
X3JlYWRkaXIsCiAJLmlvY3RsCQk9IGRhenVrb2ZzX2lvY3RsLAotCS5tbWFwCQk9IGdlbmVy
aWNfZmlsZV9tbWFwLAorCS5tbWFwCQk9IGRhenVrb2ZzX21tYXAsCQogCS5vcGVuCQk9IGRh
enVrb2ZzX29wZW4sCiAJLmZsdXNoCQk9IGRhenVrb2ZzX2ZsdXNoLAogCS5yZWxlYXNlCT0g
ZGF6dWtvZnNfcmVsZWFzZSwKIAkuZnN5bmMJCT0gZGF6dWtvZnNfZnN5bmMsCiAJLmZhc3lu
YwkJPSBkYXp1a29mc19mYXN5bmMsCi0JLnNwbGljZV9yZWFkCT0gZ2VuZXJpY19maWxlX3Nw
bGljZV9yZWFkLAogfTsKZGlmZiAteCBDVlMgLXJ1cCBkYXp1a29mcy0zLjAuMC9ncm91cF9k
ZXYuYyBkYXp1a29mcy0zLjAuMC1yYzRfMi42LjI2L2dyb3VwX2Rldi5jCi0tLSBkYXp1a29m
cy0zLjAuMC9ncm91cF9kZXYuYwkyMDA5LTAyLTIyIDE3OjQ1OjIwLjAwMDAwMDAwMCArMDEw
MAorKysgZGF6dWtvZnMtMy4wLjAtcmM0XzIuNi4yNi9ncm91cF9kZXYuYwkyMDA4LTEyLTEy
IDE2OjMyOjI2LjAwMDAwMDAwMCArMDEwMApAQCAtMjEwLDcgKzIxMCw3IEBAIGludCBkYXp1
a29mc19ncm91cF9kZXZfaW5pdChpbnQgZGV2X21ham8KIAkvKiBjcmVhdGUgZ3JvdXAgZGV2
aWNlcyAqLwogCWZvciAoaSA9IDA7IGkgPCBHUk9VUF9DT1VOVDsgaSsrKSB7CiAJCWRldiA9
IGRldmljZV9jcmVhdGUoZGF6dWtvZnNfY2xhc3MsIE5VTEwsCi0JCQkJICAgIE1LREVWKGRl
dl9tYWpvciwgZGV2X21pbm9yX2VuZCksIE5VTEwsCisJCQkJICAgIE1LREVWKGRldl9tYWpv
ciwgZGV2X21pbm9yX2VuZCksCiAJCQkJICAgICIlcy4lZCIsIERFVklDRV9OQU1FLCBpKTsK
IAkJaWYgKElTX0VSUihkZXYpKSB7CiAJCQllcnIgPSBQVFJfRVJSKGRldik7CmRpZmYgLXgg
Q1ZTIC1ydXAgZGF6dWtvZnMtMy4wLjAvaWduX2Rldi5jIGRhenVrb2ZzLTMuMC4wLXJjNF8y
LjYuMjYvaWduX2Rldi5jCi0tLSBkYXp1a29mcy0zLjAuMC9pZ25fZGV2LmMJMjAwOS0wMi0y
MiAxNzo0NToyMC4wMDAwMDAwMDAgKzAxMDAKKysrIGRhenVrb2ZzLTMuMC4wLXJjNF8yLjYu
MjYvaWduX2Rldi5jCTIwMDgtMTItMTIgMTY6MzI6MjYuMDAwMDAwMDAwICswMTAwCkBAIC0x
NTksNyArMTU5LDcgQEAgaW50IGRhenVrb2ZzX2lnbl9kZXZfaW5pdChpbnQgZGV2X21ham9y
LAogCiAJLyogY3JlYXRlIGlnbm9yZSBkZXZpY2UgKi8KIAlkZXYgPSBkZXZpY2VfY3JlYXRl
KGRhenVrb2ZzX2NsYXNzLCBOVUxMLCBNS0RFVihkZXZfbWFqb3IsIGRldl9taW5vciksCi0J
CQkgICAgTlVMTCwgIiVzLmlnbiIsIERFVklDRV9OQU1FKTsKKwkJCSAgICAiJXMuaWduIiwg
REVWSUNFX05BTUUpOwogCWlmIChJU19FUlIoZGV2KSkgewogCQllcnIgPSBQVFJfRVJSKGRl
dik7CiAJCWdvdG8gZXJyb3Jfb3V0MzsKZGlmZiAteCBDVlMgLXJ1cCBkYXp1a29mcy0zLjAu
MC9pbm9kZS5jIGRhenVrb2ZzLTMuMC4wLXJjNF8yLjYuMjYvaW5vZGUuYwotLS0gZGF6dWtv
ZnMtMy4wLjAvaW5vZGUuYwkyMDA5LTAyLTIyIDE3OjQ2OjAyLjAwMDAwMDAwMCArMDEwMAor
KysgZGF6dWtvZnMtMy4wLjAtcmM0XzIuNi4yNi9pbm9kZS5jCTIwMDktMDctMDMgMTg6Mzg6
MDcuMDAwMDAwMDAwICswMjAwCkBAIC00NywxMiArNDcsMjUgQEAgc3RhdGljIGludCBkYXp1
a29mc19pbm9kZV90ZXN0KHN0cnVjdCBpbgogCiBzdGF0aWMgdm9pZCBkYXp1a29mc19pbml0
X2lub2RlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBpbm9kZSAqbG93ZXJfaW5vZGUp
CiB7Ci0JU0VUX0xPV0VSX0lOT0RFKGlub2RlLCBsb3dlcl9pbm9kZSk7Ci0JaW5vZGUtPmlf
aW5vID0gbG93ZXJfaW5vZGUtPmlfaW5vOwotCWlub2RlLT5pX3ZlcnNpb24rKzsKLQlpbm9k
ZS0+aV9vcCA9ICZkYXp1a29mc19tYWluX2lvcHM7Ci0JaW5vZGUtPmlfZm9wID0gJmRhenVr
b2ZzX21haW5fZm9wczsKLQlpbm9kZS0+aV9tYXBwaW5nLT5hX29wcyA9ICZkYXp1a29mc19h
b3BzOworICAgICAgICBTRVRfTE9XRVJfSU5PREUoaW5vZGUsIGxvd2VyX2lub2RlKTsKKyAg
ICAgICAgaW5vZGUtPmlfaW5vID0gbG93ZXJfaW5vZGUtPmlfaW5vOworICAgICAgICBpbm9k
ZS0+aV92ZXJzaW9uKys7CisKKyAgICAgICAgaWYgKFNfSVNESVIobG93ZXJfaW5vZGUtPmlf
bW9kZSkpIHsKKyAgICAgICAgICAgICAgICBpbm9kZS0+aV9vcCA9ICZkYXp1a29mc19kaXJf
aW9wczsKKyAgICAgICAgICAgICAgICBpbm9kZS0+aV9mb3AgPSAmZGF6dWtvZnNfZGlyX2Zv
cHM7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgaW5vZGUtPmlfb3AgPSAm
ZGF6dWtvZnNfbWFpbl9pb3BzOworICAgICAgICAgICAgICAgIGlub2RlLT5pX2ZvcCA9ICZk
YXp1a29mc19tYWluX2ZvcHM7CisKKyAgICAgICAgICAgICAgICBpZiAoU19JU0xOSyhsb3dl
cl9pbm9kZS0+aV9tb2RlKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGlub2RlLT5pX29w
ID0gJmRhenVrb2ZzX3N5bWxpbmtfaW9wczsKKyAgICAgICAgICAgICAgICBlbHNlICBpZiAo
c3BlY2lhbF9maWxlKGxvd2VyX2lub2RlLT5pX21vZGUpKSB7CisgICAgICAgICAgICAgICAg
ICAgICAgICBpbml0X3NwZWNpYWxfaW5vZGUoaW5vZGUsIGxvd2VyX2lub2RlLT5pX21vZGUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG93ZXJfaW5v
ZGUtPmlfcmRldik7CisgICAgICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGlu
b2RlLT5pX21hcHBpbmctPmFfb3BzID0gJmRhenVrb2ZzX2FvcHM7CiB9CiAKIHN0YXRpYyBp
bnQgZGF6dWtvZnNfaW5vZGVfc2V0KHN0cnVjdCBpbm9kZSAqaW5vZGUsIHZvaWQgKmxvd2Vy
X2lub2RlKQpAQCAtNjEsNzMgKzc0LDExOSBAQCBzdGF0aWMgaW50IGRhenVrb2ZzX2lub2Rl
X3NldChzdHJ1Y3QgaW5vCiAJcmV0dXJuIDA7CiB9CiAKKwogaW50IGRhenVrb2ZzX2ludGVy
cG9zZShzdHJ1Y3QgZGVudHJ5ICpsb3dlcl9kZW50cnksIHN0cnVjdCBkZW50cnkgKmRlbnRy
eSwKLQkJICAgICBzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLCBpbnQgZmxhZykKKwkJICAgICBz
dHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLCBpbnQgaGFzaCkKIHsKIAlzdHJ1Y3QgaW5vZGUgKmlu
b2RlOwotCXN0cnVjdCBpbm9kZSAqbG93ZXJfaW5vZGUgPSBpZ3JhYihsb3dlcl9kZW50cnkt
PmRfaW5vZGUpOwotCWludCBlcnIgPSAwOworCXN0cnVjdCBpbm9kZSAqbG93ZXJfaW5vZGU7
CisJaW50IGVycjsKIAotCWlmICghbG93ZXJfaW5vZGUpIHsKLQkJZXJyID0gLUVTVEFMRTsK
LQkJZ290byBvdXQ7Ci0JfQorCWxvd2VyX2lub2RlID0gaWdyYWIobG93ZXJfZGVudHJ5LT5k
X2lub2RlKTsKIAotCWlmIChsb3dlcl9pbm9kZS0+aV9zYiAhPSBHRVRfTE9XRVJfU0Ioc2Ip
KSB7Ci0JCWlwdXQobG93ZXJfaW5vZGUpOwotCQllcnIgPSAtRVhERVY7Ci0JCWdvdG8gb3V0
OwotCX0KKwlpZiAoIWxvd2VyX2lub2RlKSAKKwkJcmV0dXJuIC1FU1RBTEU7CiAKIAlpbm9k
ZSA9IGlnZXQ1X2xvY2tlZChzYiwgKHVuc2lnbmVkIGxvbmcpbG93ZXJfaW5vZGUsCiAJCQkg
ICAgIGRhenVrb2ZzX2lub2RlX3Rlc3QsIGRhenVrb2ZzX2lub2RlX3NldCwKIAkJCSAgICAg
bG93ZXJfaW5vZGUpOwotCiAJaWYgKCFpbm9kZSkgewotCQlpcHV0KGxvd2VyX2lub2RlKTsK
IAkJZXJyID0gLUVBQ0NFUzsKLQkJZ290byBvdXQ7CisJCWdvdG8gZXJyOwogCX0KIAotCWlm
IChpbm9kZS0+aV9zdGF0ZSAmIElfTkVXKSB7CisJaWYgKGlub2RlLT5pX3N0YXRlICYgSV9O
RVcpIAogCQl1bmxvY2tfbmV3X2lub2RlKGlub2RlKTsKIAkJLyoKIAkJICogVGhpcyBpcyBh
IG5ldyBub2RlIHNvIHdlIGxlYXZlIHRoZSBsb3dlcl9ub2RlICJpbiB1c2UiCiAJCSAqIGFu
ZCBkbyBub3QgY2FsbCBpcHV0KCkuCiAJCSAqLwotCX0gZWxzZSB7CisJZWxzZSAKIAkJLyoK
IAkJICogVGhpcyBpcyBub3QgYSBuZXcgbm9kZSBzbyB3ZSBkZWNyZW1lbnQgdGhlIHVzYWdl
IGNvdW50LgogCQkgKi8KIAkJaXB1dChsb3dlcl9pbm9kZSk7Ci0JfQogCi0JaWYgKFNfSVNM
TksobG93ZXJfaW5vZGUtPmlfbW9kZSkpCi0JCWlub2RlLT5pX29wID0gJmRhenVrb2ZzX3N5
bWxpbmtfaW9wczsKLQllbHNlIGlmIChTX0lTRElSKGxvd2VyX2lub2RlLT5pX21vZGUpKQot
CQlpbm9kZS0+aV9vcCA9ICZkYXp1a29mc19kaXJfaW9wczsKLQotCWlmIChTX0lTRElSKGxv
d2VyX2lub2RlLT5pX21vZGUpKQotCQlpbm9kZS0+aV9mb3AgPSAmZGF6dWtvZnNfZGlyX2Zv
cHM7Ci0KLQlpZiAoc3BlY2lhbF9maWxlKGxvd2VyX2lub2RlLT5pX21vZGUpKSB7Ci0JCWlu
aXRfc3BlY2lhbF9pbm9kZShpbm9kZSwgbG93ZXJfaW5vZGUtPmlfbW9kZSwKLQkJCQkgICBs
b3dlcl9pbm9kZS0+aV9yZGV2KTsKLQl9Ci0KLQlkZW50cnktPmRfb3AgPSAmZGF6dWtvZnNf
ZG9wczsKIAotCWlmIChmbGFnKQorCWlmIChoYXNoKQogCQlkX2FkZChkZW50cnksIGlub2Rl
KTsKIAllbHNlCiAJCWRfaW5zdGFudGlhdGUoZGVudHJ5LCBpbm9kZSk7CiAKIAlmc3N0YWNr
X2NvcHlfYXR0cl9hbGwoaW5vZGUsIGxvd2VyX2lub2RlLCBOVUxMKTsKIAlmc3N0YWNrX2Nv
cHlfaW5vZGVfc2l6ZShpbm9kZSwgbG93ZXJfaW5vZGUpOwotb3V0OgorCisJcmV0dXJuIDA7
CitlcnI6CisJaXB1dChsb3dlcl9pbm9kZSk7CiAJcmV0dXJuIGVycjsKIH0KIAorLyogY3Jl
YXRlcyBhIG5ldyBsb3dlciBkZW50cnkgKi8KK3N0YXRpYyBzdHJ1Y3QgZGVudHJ5ICpkYXp1
a29mc19uZXdfbG93ZXJfZGVudHJ5KHN0cnVjdCBxc3RyICpuYW1lLAorCQkJCQkJc3RydWN0
IGRlbnRyeSAqbG93ZXJfYmFzZSwgCisJCQkJCQlzdHJ1Y3QgbmFtZWlkYXRhICpuZCkKK3sK
KwlzdHJ1Y3QgZGVudHJ5ICpuZXdfZGVudHJ5OworCXN0cnVjdCBkZW50cnkgKnRtcDsKKwlz
dHJ1Y3QgaW5vZGUgKmxvd2VyX2lub2RlOworCisJbG93ZXJfaW5vZGUgPSBsb3dlcl9iYXNl
LT5kX2lub2RlOworCS8qIFhYWDogaXMgdGhpcyBjaGVjayBzdGlsbCBuZWNlc3Nhcnk/IChz
ZWUgX19sb29rdXBfaGFzaCgpKQorCSAgIFRoaXMgaXMgKGhvcGVseSkgcHJvdGVjdGVkIGJ5
IGxvY2tlZCB1cHBlciBpbm9kZSAqLworCWlmIChJU19ERUFERElSKGxvd2VyX2lub2RlKSkg
eworCQluZXdfZGVudHJ5ID0gRVJSX1BUUigtRU5PRU5UKTsKKwkJZ290byBvdXQ7CisJfQor
CXRtcCA9IGRfYWxsb2MobG93ZXJfYmFzZSwgbmFtZSk7CisJaWYgKCF0bXApIHsKKwkJbmV3
X2RlbnRyeSA9IEVSUl9QVFIoLUVOT01FTSk7CisJCWdvdG8gb3V0OworCX0KKwluZXdfZGVu
dHJ5ID0gbG93ZXJfaW5vZGUtPmlfb3AtPmxvb2t1cChsb3dlcl9pbm9kZSwgdG1wLCBuZCk7
CisJLyogbG9va3VwKCkgc2VlbWluZ2x5IGlzIGFsbG93ZWQgdG8gcmV0dXJuIGl0cyBvd24g
ZGVudHJ5ICh3aGljaCAKKwkgKiBtYXkgaW5kZWVkIGJlIGEgZGVudHJ5IG9yIG9ubHkgYW4g
ZXJyb3IpLiBJZiBzbworCSAqIHdlIHVzZSBpdCBhbmQgZGlzY2FyZCBvdXJzLiBPdGhlcndp
c2Ugd2UgdXNlIG91cnMgKi8gCisJaWYgKCFuZXdfZGVudHJ5KSAKKwkJbmV3X2RlbnRyeSA9
IHRtcDsKKwllbHNlIAorCQlkcHV0KHRtcCk7CisJCQorb3V0OgkJCisJcmV0dXJuIG5ld19k
ZW50cnk7Cit9CisKKworLyogZ2V0IGxvd2VyIGRlbnRyeSBmb3IgZ2l2ZW4gbmFtZSAqLwor
c3RhdGljIHN0cnVjdCBkZW50cnkgKmRhenVrb2ZzX2xvb2t1cF9vbmVfbG93ZXIoc3RydWN0
IHFzdHIgKm5hbWUsIAorCQkJCQkJc3RydWN0IGRlbnRyeSAqbG93ZXJfYmFzZSwKKwkJCQkJ
CXN0cnVjdCB2ZnNtb3VudCAqbG93ZXJfbW50KQoreworCXN0cnVjdCBkZW50cnkgKnJlc3Vs
dDsKKwlzdHJ1Y3QgbmFtZWlkYXRhIG5kOworCWludCBlcnI7CisKKwllcnIgPSB2ZnNfcGF0
aF9sb29rdXAobG93ZXJfYmFzZSwgbG93ZXJfbW50LCBuYW1lLT5uYW1lLCAwLCAmbmQpOwor
CisJaWYgKCFlcnIpIHsKKwkJLyogaW5vZGUgYWxyZWFkeSBleGlzdHMgb24gZGlzayAqLwor
CQlyZXN1bHQgPSBuZC5wYXRoLmRlbnRyeTsKKwkJLyogd2UgZG9udCBuZWVkIHRoZSBtb3Vu
dCAqLworCQltbnRwdXQobmQucGF0aC5tbnQpOworCQlnb3RvIG91dDsKKwl9CisJaWYgKGVy
ciAhPSAtRU5PRU5UKSB7IC8qIHRoaXMgaXMgYSBSRUFMIGVycm9yICovCQorCQlyZXN1bHQg
PSBFUlJfUFRSKGVycik7CisJCWdvdG8gb3V0OworCX0JCisJLyogY3JlYXRlIGEgbmV3IChs
b3dlcikgZGVudHJ5ICovCisJcmVzdWx0ID0gZGF6dWtvZnNfbmV3X2xvd2VyX2RlbnRyeShu
YW1lLCBsb3dlcl9iYXNlLCAmbmQpOworb3V0OgorCXJldHVybiByZXN1bHQ7CisKK30KKwor
CiAvKioKICAqIERlc2NyaXB0aW9uOiBDYWxsZWQgd2hlbiB0aGUgVkZTIG5lZWRzIHRvIGxv
b2sgdXAgYW4gaW5vZGUgaW4gYSBwYXJlbnQKICAqIGRpcmVjdG9yeS4gVGhlIG5hbWUgdG8g
bG9vayBmb3IgaXMgZm91bmQgaW4gdGhlIGRlbnRyeS4gVGhpcyBtZXRob2QKQEAgLTE0OCw2
MiArMjA3LDQ4IEBAIHN0YXRpYyBzdHJ1Y3QgZGVudHJ5ICpkYXp1a29mc19sb29rdXAoc3QK
IAlzdHJ1Y3QgZGVudHJ5ICpsb3dlcl9kZW50cnk7CiAJc3RydWN0IGRlbnRyeSAqbG93ZXJf
ZGVudHJ5X3BhcmVudDsKIAlzdHJ1Y3QgdmZzbW91bnQgKmxvd2VyX21udDsKLQlpbnQgZXJy
ID0gMDsKLQotCWlmICgoZGVudHJ5LT5kX25hbWUubGVuID09IDEgJiYgIXN0cmNtcChkZW50
cnktPmRfbmFtZS5uYW1lLCAiLiIpKQotCSAgICB8fCAoZGVudHJ5LT5kX25hbWUubGVuID09
IDIgJiYKLQkJIXN0cmNtcChkZW50cnktPmRfbmFtZS5uYW1lLCAiLi4iKSkpIHsKLQkJZF9k
cm9wKGRlbnRyeSk7Ci0JCWdvdG8gb3V0OwotCX0KLQotCWRlbnRyeS0+ZF9vcCA9ICZkYXp1
a29mc19kb3BzOworCWludCBlcnI7CiAKIAlsb3dlcl9kZW50cnlfcGFyZW50ID0gR0VUX0xP
V0VSX0RFTlRSWShkZW50cnktPmRfcGFyZW50KTsKLQlsb3dlcl9kZW50cnkgPSBsb29rdXBf
b25lX2xlbihkZW50cnktPmRfbmFtZS5uYW1lLCBsb3dlcl9kZW50cnlfcGFyZW50LAotCQkJ
CSAgICAgIGRlbnRyeS0+ZF9uYW1lLmxlbik7CisJLyogc2hvdWxkIGJlIHJlbGVhc2VkIGlu
IGRfcmVsZWFzZSgpICovCisJbG93ZXJfbW50ID0gbW50Z2V0KEdFVF9MT1dFUl9NTlQoZGVu
dHJ5LT5kX3BhcmVudCkpOwogCisJbG93ZXJfZGVudHJ5ID0gZGF6dWtvZnNfbG9va3VwX29u
ZV9sb3dlcigmZGVudHJ5LT5kX25hbWUsIAorCQkJCQkJIGxvd2VyX2RlbnRyeV9wYXJlbnQs
IAorCQkJCQkJIGxvd2VyX21udCk7IAogCWlmIChJU19FUlIobG93ZXJfZGVudHJ5KSkgewot
CQllcnIgPSBQVFJfRVJSKGxvd2VyX2RlbnRyeSk7Ci0JCWRfZHJvcChkZW50cnkpOwotCQln
b3RvIG91dDsKKwkJbW50cHV0KGxvd2VyX21udCk7CisJCXJldHVybiBsb3dlcl9kZW50cnk7
CiAJfQotCiAJQlVHX09OKCFhdG9taWNfcmVhZCgmbG93ZXJfZGVudHJ5LT5kX2NvdW50KSk7
CiAKKwlkZW50cnktPmRfb3AgPSAmZGF6dWtvZnNfZG9wczsKIAlTRVRfREVOVFJZX0lORk8o
ZGVudHJ5LCBrbWVtX2NhY2hlX3phbGxvYyhkYXp1a29mc19kZW50cnlfaW5mb19jYWNoZXAs
CiAJCQlHRlBfS0VSTkVMKSk7CiAKIAlpZiAoIUdFVF9ERU5UUllfSU5GTyhkZW50cnkpKSB7
Ci0JCWVyciA9IC1FTk9NRU07Ci0JCWdvdG8gb3V0X2RwdXQ7CisJCW1udHB1dChsb3dlcl9t
bnQpOworCQlkcHV0KGxvd2VyX2RlbnRyeSk7CisJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0p
OwogCX0KLQotCWxvd2VyX21udCA9IG1udGdldChHRVRfTE9XRVJfTU5UKGRlbnRyeS0+ZF9w
YXJlbnQpKTsKLQotCWZzc3RhY2tfY29weV9hdHRyX2F0aW1lKGRpciwgbG93ZXJfZGVudHJ5
X3BhcmVudC0+ZF9pbm9kZSk7Ci0KIAlTRVRfTE9XRVJfREVOVFJZKGRlbnRyeSwgbG93ZXJf
ZGVudHJ5LCBsb3dlcl9tbnQpOwotCisJLyogZnJvbSBub3cgbG93ZXIgZGVudHJ5IGFuZCBs
b3dlciBtb3VudCBhcmUgcmVsZWFzZWQgaW4gCisJICBkX3JlbGVhc2Ugb2YgdXBwZXIgZGVu
dHJ5ICovCisJZnNzdGFja19jb3B5X2F0dHJfYXRpbWUoZGlyLCBsb3dlcl9kZW50cnlfcGFy
ZW50LT5kX2lub2RlKTsKIAlpZiAoIWxvd2VyX2RlbnRyeS0+ZF9pbm9kZSkgewogCQkvKgog
CQkgKiBXZSB3YW50IHRvIGFkZCBiZWNhdXNlIHdlIGNvdWxkIG5vdCBmaW5kIGluIGxvd2Vy
LgogCQkgKi8KIAkJZF9hZGQoZGVudHJ5LCBOVUxMKTsKLQkJZ290byBvdXQ7CisJCWdvdG8g
b2s7CiAJfQogCiAJZXJyID0gZGF6dWtvZnNfaW50ZXJwb3NlKGxvd2VyX2RlbnRyeSwgZGVu
dHJ5LCBkaXItPmlfc2IsIDEpOwotCWlmIChlcnIpCi0JCWdvdG8gb3V0X2RwdXQ7Ci0JZ290
byBvdXQ7Ci0KLW91dF9kcHV0OgotCWRwdXQobG93ZXJfZGVudHJ5KTsKLQlkX2Ryb3AoZGVu
dHJ5KTsKKwlpZiAoZXJyKSAKKwkJcmV0dXJuIEVSUl9QVFIoZXJyKTsKIAotb3V0OgotCXJl
dHVybiBFUlJfUFRSKGVycik7CitvazoKKwlyZXR1cm4gTlVMTDsgLyogdGVsbCBjYWxsZXIg
dG8gdXNlIGl0cyBvd24sIHBhc3NlZCBkZW50cnksIG5vdCBvdXJzICovCiB9CiAKIC8qKgpA
QCAtMzQwLDcgKzM4NSw4IEBAIHN0YXRpYyBpbnQgZGF6dWtvZnNfc3ltbGluayhzdHJ1Y3Qg
aW5vZGUKIAltdXRleF9sb2NrX25lc3RlZCgmKGxvd2VyX2RlbnRyeV9wYXJlbnRfaW5vZGUt
PmlfbXV0ZXgpLAogCQkJICBJX01VVEVYX1BBUkVOVCk7CiAKLQllcnIgPSB2ZnNfc3ltbGlu
ayhsb3dlcl9kZW50cnlfcGFyZW50X2lub2RlLCBsb3dlcl9kZW50cnksIHN5bW5hbWUpOwor
CWVyciA9IHZmc19zeW1saW5rKGxvd2VyX2RlbnRyeV9wYXJlbnRfaW5vZGUsIGxvd2VyX2Rl
bnRyeSwgc3ltbmFtZSwKKwkJCSAgU19JQUxMVUdPKTsKIAlpZiAoZXJyKQogCQlnb3RvIG91
dDsKIApAQCAtNDUyLDkgKzQ5OCwzNyBAQCBzdGF0aWMgdm9pZCBkYXp1a29mc19wdXRfbGlu
ayhzdHJ1Y3QgZGVuCiAgKiBEZXNjcmlwdGlvbjogQ2FsbGVkIGJ5IHRoZSBWRlMgdG8gY2hl
Y2sgZm9yIGFjY2VzcyByaWdodHMgb24gYQogICogUE9TSVgtbGlrZSBmaWxlc3lzdGVtLgog
ICovCi1zdGF0aWMgaW50IGRhenVrb2ZzX3Blcm1pc3Npb24oc3RydWN0IGlub2RlICppbm9k
ZSwgaW50IG1hc2spCitzdGF0aWMgaW50IGRhenVrb2ZzX3Blcm1pc3Npb24oc3RydWN0IGlu
b2RlICppbm9kZSwgaW50IG1hc2ssCisJCQkgICAgICAgc3RydWN0IG5hbWVpZGF0YSAqbmQp
CiB7Ci0JcmV0dXJuIGlub2RlX3Blcm1pc3Npb24oR0VUX0xPV0VSX0lOT0RFKGlub2RlKSwg
bWFzayk7CisJc3RydWN0IHZmc21vdW50ICpsb3dlcl9tbnQgPSBOVUxMOworCXN0cnVjdCBk
ZW50cnkgKmxvd2VyX2RlbnRyeSA9IE5VTEw7CisJc3RydWN0IHZmc21vdW50ICp2ZnNtbnRf
c2F2ZSA9IE5VTEw7CisJc3RydWN0IGRlbnRyeSAqZGVudHJ5X3NhdmUgPSBOVUxMOworCWlu
dCBlcnI7CisKKwlpZiAobmQpIHsKKwkJbG93ZXJfbW50ID0gR0VUX0xPV0VSX01OVChuZC0+
cGF0aC5kZW50cnkpOworCQlsb3dlcl9kZW50cnkgPSBHRVRfTE9XRVJfREVOVFJZKG5kLT5w
YXRoLmRlbnRyeSk7CisKKwkJdmZzbW50X3NhdmUgPSBuZC0+cGF0aC5tbnQ7CisJCWRlbnRy
eV9zYXZlID0gbmQtPnBhdGguZGVudHJ5OworCisJCW5kLT5wYXRoLm1udCA9IG1udGdldChs
b3dlcl9tbnQpOworCQluZC0+cGF0aC5kZW50cnkgPSBkZ2V0KGxvd2VyX2RlbnRyeSk7CisJ
fQorCisJZXJyID0gcGVybWlzc2lvbihHRVRfTE9XRVJfSU5PREUoaW5vZGUpLCBtYXNrLCBu
ZCk7CisKKwlpZiAobmQpIHsKKwkJbW50cHV0KGxvd2VyX21udCk7CisJCWRwdXQobG93ZXJf
ZGVudHJ5KTsKKworCQluZC0+cGF0aC5tbnQgPSB2ZnNtbnRfc2F2ZTsKKwkJbmQtPnBhdGgu
ZGVudHJ5ID0gZGVudHJ5X3NhdmU7CisJfQorCisgICAgICAgIHJldHVybiBlcnI7CiB9CiAK
IC8qKgpAQCAtNDY4LDE0ICs1NDIsMjcgQEAgc3RhdGljIGludCBkYXp1a29mc19zZXRhdHRy
KHN0cnVjdCBkZW50cgogCXN0cnVjdCBpbm9kZSAqbG93ZXJfaW5vZGUgPSBHRVRfTE9XRVJf
SU5PREUoaW5vZGUpOwogCWludCBlcnI7CiAKLQllcnIgPSBub3RpZnlfY2hhbmdlKGxvd2Vy
X2RlbnRyeSwgaWEpOwogCi0JZnNzdGFja19jb3B5X2F0dHJfYWxsKGlub2RlLCBsb3dlcl9p
bm9kZSwgTlVMTCk7Ci0JZnNzdGFja19jb3B5X2lub2RlX3NpemUoaW5vZGUsIGxvd2VyX2lu
b2RlKTsKKwlpZiAoIWxvd2VyX2lub2RlLT5pX29wIHx8ICFsb3dlcl9pbm9kZS0+aV9vcC0+
c2V0YXR0cikgCisJCS8qIFhYWDogYXQgdGhpcyBwb2ludCBpdCBpcyB0b28gbGF0ZSB0byBo
YW5kbGUgaW5vZGVzIHByb3Blcmx5IHRoYXQgZG8gTk9UCisJCXNwZWNpZnkgc2V0YXR0cigp
LiBWRlMgd291bGQgbm9ybWFsbHkgY2FsbCBpbm9kZV9zZXRhdHRyKCkgaW4gCisJCXRoaXMg
Y2FzZS4gU28gdG8gZm9yY2UgdGhpcyB3ZSBqdW1wIGJhY2sgdG8gbm90aWZ5X2NoYW5nZSB3
aGljaCB3aWxsCisJCWhhbmRsZSB0aGlzIGZvciB1cy4gQnV0IHRoaXMgaXMgZGFuZ2Vyb3Vz
OgorCQlUaGUgYXR0cmlidXRlcyBtaWdodCBiZSBtb2RpZmllZCBieSBub3RpZnlfY2hhbmdl
KCkgaW4gYSB3YXkKKwkJdGhhdCByZXN1bHRzIGluIGludmFsaWQgYXR0cmlidXRlcy4gVGhp
cyBzZWVtcyB0byBiZSB0aGUgY2FzZQorCQlpZiB0aGUgaW5vZGUgZm9yIHdoaWNoIHRoaXMg
ZnVuY3Rpb24gaXMgY2FsbGVkIGhhcyB0aGUgc2V0dWlkCisJCW9yIHNldGdpZCBiaXQgc2V0
ICovIAorCQllcnIgPSBub3RpZnlfY2hhbmdlKGxvd2VyX2RlbnRyeSwgaWEpOworCWVsc2Ug
CisJCWVyciA9IGxvd2VyX2lub2RlLT5pX29wLT5zZXRhdHRyKGxvd2VyX2RlbnRyeSwgaWEp
OworCQorCWlmICghZXJyKSB7CisJCWZzc3RhY2tfY29weV9hdHRyX2FsbChpbm9kZSwgbG93
ZXJfaW5vZGUsIE5VTEwpOworCQlmc3N0YWNrX2NvcHlfaW5vZGVfc2l6ZShpbm9kZSwgbG93
ZXJfaW5vZGUpOworCX0gCiAKIAlyZXR1cm4gZXJyOwogfQotCiAvKioKICAqIERlc2NyaXB0
aW9uOiBDYWxsZWQgYnkgdGhlIFZGUyB0byBzZXQgYW4gZXh0ZW5kZWQgYXR0cmlidXRlIGZv
ciBhIGZpbGUuCiAgKiBFeHRlbmRlZCBhdHRyaWJ1dGUgaXMgYSBuYW1lOnZhbHVlIHBhaXIg
YXNzb2NpYXRlZCB3aXRoIGFuIGlub2RlLiBUaGlzCkBAIC00OTYsNyArNTgzLDcgQEAgc3Rh
dGljIGludCBkYXp1a29mc19zZXR4YXR0cihzdHJ1Y3QgZGVudAogCiAJaWYgKCFsb3dlcl9k
ZW50cnlfaW5vZGUtPmlfb3AgfHwKIAkgICAgIWxvd2VyX2RlbnRyeV9pbm9kZS0+aV9vcC0+
c2V0eGF0dHIpIHsKLQkJZXJyID0gLUVOT1NZUzsKKwkJZXJyID0gLUVPUE5PVFNVUFA7CiAJ
CWdvdG8gb3V0OwogCX0KIApAQCAtNTI4LDcgKzYxNSw3IEBAIHN0YXRpYyBzc2l6ZV90IGRh
enVrb2ZzX2dldHhhdHRyKHN0cnVjdCAKIAogCWlmICghbG93ZXJfZGVudHJ5X2lub2RlLT5p
X29wIHx8CiAJICAgICFsb3dlcl9kZW50cnlfaW5vZGUtPmlfb3AtPmdldHhhdHRyKSB7Ci0J
CWVyciA9IC1FTk9TWVM7CisJCWVyciA9IC1FT1BOT1RTVVBQOwogCQlnb3RvIG91dDsKIAl9
CiAKQEAgLTU1Nyw3ICs2NDQsNyBAQCBzdGF0aWMgc3NpemVfdCBkYXp1a29mc19saXN0eGF0
dHIoc3RydWN0CiAKIAlpZiAoIWxvd2VyX2RlbnRyeV9pbm9kZS0+aV9vcCB8fAogCSAgICAh
bG93ZXJfZGVudHJ5X2lub2RlLT5pX29wLT5saXN0eGF0dHIpIHsKLQkJZXJyID0gLUVOT1NZ
UzsKKwkJZXJyID0gLUVPUE5PVFNVUFA7CiAJCWdvdG8gb3V0OwogCX0KIApAQCAtNTg0LDcg
KzY3MSw3IEBAIHN0YXRpYyBpbnQgZGF6dWtvZnNfcmVtb3ZleGF0dHIoc3RydWN0IGQKIAog
CWlmICghbG93ZXJfZGVudHJ5X2lub2RlLT5pX29wIHx8CiAJICAgICFsb3dlcl9kZW50cnlf
aW5vZGUtPmlfb3AtPnJlbW92ZXhhdHRyKSB7Ci0JCWVyciA9IC1FTk9TWVM7CisJCWVyciA9
IC1FT1BOT1RTVVBQOwogCQlnb3RvIG91dDsKIAl9CiAKZGlmZiAteCBDVlMgLXJ1cCBkYXp1
a29mcy0zLjAuMC9NYWtlZmlsZSBkYXp1a29mcy0zLjAuMC1yYzRfMi42LjI2L01ha2VmaWxl
Ci0tLSBkYXp1a29mcy0zLjAuMC9NYWtlZmlsZQkyMDA5LTAyLTIyIDE3OjQ2OjAyLjAwMDAw
MDAwMCArMDEwMAorKysgZGF6dWtvZnMtMy4wLjAtcmM0XzIuNi4yNi9NYWtlZmlsZQkyMDA5
LTA1LTExIDE5OjQ5OjIzLjAwMDAwMDAwMCArMDIwMApAQCAtMTksNiArMTksNyBAQCBkYXp1
a29mc19pbnN0YWxsOiBkYXp1a29mc19tb2R1bGVzCiAKIGNsZWFuOgogCXJtIC1mIE1vZHVs
ZS5zeW12ZXJzCisJcm0gLWYgbW9kdWxlcy5vcmRlcgogCW1ha2UgLUMgJChEQVpVS09GU19L
RVJORUxfU1JDKSBTVUJESVJTPSJgcHdkYCIgY2xlYW4KIAogLlBIT05ZOiBkYXp1a29mc19t
b2R1bGVzIGRhenVrb2ZzX2luc3RhbGwgY2xlYW4KZGlmZiAteCBDVlMgLXJ1cCBkYXp1a29m
cy0zLjAuMC9SRUFETUUgZGF6dWtvZnMtMy4wLjAtcmM0XzIuNi4yNi9SRUFETUUKLS0tIGRh
enVrb2ZzLTMuMC4wL1JFQURNRQkyMDA5LTAyLTIyIDE3OjM4OjIxLjAwMDAwMDAwMCArMDEw
MAorKysgZGF6dWtvZnMtMy4wLjAtcmM0XzIuNi4yNi9SRUFETUUJMjAwOC0xMi0xMiAxNjoz
MToyMC4wMDAwMDAwMDAgKzAxMDAKQEAgLTIxLDEwICsyMSwxMCBAQCBOT1RFOiBEYXp1a29G
UyBpcyBjb21wbGV0ZWx5IHNlcGFyYXRlIGZyCiA9PT09PT09PT09PT09PT09PQogCiBCZWxv
dyBhcmUgYnJpZWYgaW5zdHJ1Y3Rpb25zIHRvIGdldCBEYXp1a29GUyBjb21waWxlZCBhbmQg
cnVubmluZyBvbiBhCi1zeXN0ZW0gd2l0aCBhIExpbnV4IDIuNi4yOCBrZXJuZWwuIFlvdSBt
YXkgbmVlZCB0byBtYW51YWxseSBhZGp1c3QgdGhlCitzeXN0ZW0gd2l0aCBhIExpbnV4IDIu
Ni4yNyBrZXJuZWwuIFlvdSBtYXkgbmVlZCB0byBtYW51YWxseSBhZGp1c3QgdGhlCiBNYWtl
ZmlsZSBpZiB5b3Uga2VybmVsIHNvdXJjZXMgYXJlIG5vdCBpbiB0aGUgZGVmYXVsdCBsb2Nh
dGlvbi4KLShQYXRjaGVzIGFyZSBwcm92aWRlZCBmb3IgdmFyaW91cyBvdGhlciBrZXJuZWxz
LiBTZWUgdGhlIHNlY3Rpb24gYmVsb3cKLXRpdGxlZCAiUEFUQ0hJTkciIGZvciBtb3JlIGlu
Zm9ybWF0aW9uLikKKyhBIHBhdGNoIGlzIHByb3ZpZGVkIHRvIGNvbnZlcnQgdGhlIERhenVr
b0ZTIGNvZGUgdG8gc3VwcG9ydCBMaW51eAorMi42LjI2LikKIAogY29tcGlsZSB0aGUga2Vy
bmVsIG1vZHVsZQogICAjIG1ha2UKQEAgLTUyLDI1ICs1Miw2IEBAIHVubW91bnQgRGF6dWtv
RlMKIAogCiAKLT09PT09PT09PT0KLSBQQVRDSElORwotPT09PT09PT09PQotCi1JbiB0aGUg
InBhdGNoZXMiIGRpcmVjdG9yeSB0aGVyZSBhcmUgcGF0Y2hlcyBhdmFpbGFibGUgdG8gbW9k
aWZ5IHRoZQotRGF6dWtvRlMgY29kZSB0byBmaXQgdmFyaW91cyBvdGhlciBrZXJuZWxzLiBG
b3IgZXhhbXBsZSwgaWYgeW91IGFyZQotcnVubmluZyBvcGVuU1VTRSAxMS4xIHlvdSBjYW4g
cGF0Y2ggdGhlIGNvZGUgd2l0aCB0aGUgZm9sbG93aW5nCi1jb21tYW5kOgotCi0kIHBhdGNo
IC1wMSA8IHBhdGNoZXMvcGF0Y2gtb3BlbnN1c2UtMTEuMQotCi1UaGVyZSBzaG91bGQgbm90
IGJlIGFueSBlcnJvcnMuIElmIHRoZXJlIGFyZSBlcnJvcnMsIHRoZW4gdGhlIHBhdGNoCi1p
cyBicm9rZW4gYW5kIHNob3VsZCBiZSByZXBvcnRlZCBvbiB0aGUgZGF6dWtvLWRldmVsIG1h
aWxpbmcgbGlzdC4KLQotT25jZSB0aGUgY29kZSBoYXMgYmVlbiBwYXRjaGVkIHlvdSBjYW4g
YnVpbGQgdGhlIGtlcm5lbCBtb2R1bGUgYXMKLWRlc2NyaWJlZCBpbiB0aGUgc2VjdGlvbiAi
QlVJTEQgLyBJTlNUQUxMIiBhYm92ZS4KLQotCi0KID09PT09PT09PQogIFRFU1RJTkcKID09
PT09PT09PQpAQCAtMTU0LDkgKzEzNSw2IEBAIGFueSBwcm9ibGVtcy4KICBLTk9XTiBJU1NV
RVMKID09PT09PT09PT09PT09CiAKLS0gVGhlIGtlcm5lbCB3aWxsIGNyYXNoIGlmIHlvdSBh
dHRlbXB0IHRvIG1vdW50IERhenVrb0ZTIHRvIGEgZmlsZSBpbnN0ZWFkCi0gIG9mIGEgZGly
ZWN0b3J5LiAoVGhlIHZhcmlvdXMga2VybmVsIHBhdGNoZXMgaGFuZGxlIHRoaXMgZXJyb3Iu
KQotCiAtIERhenVrb0ZTIGRvZXMgbm90IHN1cHBvcnQgd3JpdGluZyB0byBtZW1vcnkgbWFw
cGVkIGZpbGVzLiBUaGlzIHNob3VsZCBub3QKICAgY2F1c2UgdGhlIGtlcm5lbCB0byBjcmFz
aCwgYnV0IHdpbGwgaW5zdGVhZCByZXN1bHQgaW4gdGhlIGFwcGxpY2F0aW9uCiAgIGZhaWxp
bmcgdG8gcGVyZm9ybSB0aGUgd3JpdGVzIChhbHRob3VnaCBtbWFwKCkgd2lsbCBhcHBlYXIg
dG8gYmUKZGlmZiAteCBDVlMgLXJ1cCBkYXp1a29mcy0zLjAuMC9zdXBlci5jIGRhenVrb2Zz
LTMuMC4wLXJjNF8yLjYuMjYvc3VwZXIuYwotLS0gZGF6dWtvZnMtMy4wLjAvc3VwZXIuYwky
MDA5LTAyLTIyIDE3OjQ2OjAyLjAwMDAwMDAwMCArMDEwMAorKysgZGF6dWtvZnMtMy4wLjAt
cmM0XzIuNi4yNi9zdXBlci5jCTIwMDktMDctMDMgMTg6MTE6MzUuMDAwMDAwMDAwICswMjAw
CkBAIC0zNSw2ICszNSwxMCBAQCBzdGF0aWMgc3RydWN0IGttZW1fY2FjaGUgKmRhenVrb2Zz
X3NiX2luCiBzdHJ1Y3Qga21lbV9jYWNoZSAqZGF6dWtvZnNfZGVudHJ5X2luZm9fY2FjaGVw
Owogc3RydWN0IGttZW1fY2FjaGUgKmRhenVrb2ZzX2ZpbGVfaW5mb19jYWNoZXA7CiAKKwor
I2RlZmluZSBEQVpVS09GU19WRVJTSU9OICIzLjAuMC1yYzQtYXZpcmEtYjIuNiIKKworCiBz
dGF0aWMgc3RydWN0IGlub2RlICpkYXp1a29mc19hbGxvY19pbm9kZShzdHJ1Y3Qgc3VwZXJf
YmxvY2sgKnNiKQogewogCXN0cnVjdCBkYXp1a29mc19pbm9kZV9pbmZvICppbm9kZWk7CkBA
IC0xNzAsNiArMTc0LDEwIEBAIHN0YXRpYyBpbnQgZGF6dWtvZnNfcmVhZF9zdXBlcihzdHJ1
Y3Qgc3UKIAkJZXJyID0gLUVOT0VOVDsKIAkJZ290byBvdXRfcHV0OwogCX0KKwlpZiAoIVNf
SVNESVIobG93ZXJfcm9vdC0+ZF9pbm9kZS0+aV9tb2RlKSkgeworCQllcnIgPSAtRU5PRU5U
OworCQlnb3RvIG91dF9wdXQ7CisJfQogCiAJU0VUX0xPV0VSX1NCKHNiLCBsb3dlcl9yb290
LT5kX3NiKTsKIAlzYi0+c19tYXhieXRlcyA9IGxvd2VyX3Jvb3QtPmRfc2ItPnNfbWF4Ynl0
ZXM7CkBAIC0yMTMsMTUgKzIyMSwxNiBAQCBzdGF0aWMgaW50IGRhenVrb2ZzX2dldF9zYihz
dHJ1Y3QgZmlsZV9zCiAKIG91dF9hYm9ydDoKIAl1cF93cml0ZSgmc2ItPnNfdW1vdW50KTsK
KwlkcHV0KHNiLT5zX3Jvb3QpOwogCWRlYWN0aXZhdGVfc3VwZXIoc2IpOwogb3V0OgogCXJl
dHVybiBlcnI7CiB9CiAKLXN0YXRpYyB2b2lkIGluaXRfb25jZSh2b2lkICpkYXRhKQorc3Rh
dGljIHZvaWQgaW5pdF9vbmNlKHN0cnVjdCBrbWVtX2NhY2hlICpjYWNoZXAsIHZvaWQgKnZw
dHIpCiB7CiAJc3RydWN0IGRhenVrb2ZzX2lub2RlX2luZm8gKmlub2RlX2luZm8gPQotCQko
c3RydWN0IGRhenVrb2ZzX2lub2RlX2luZm8gKilkYXRhOworCQkoc3RydWN0IGRhenVrb2Zz
X2lub2RlX2luZm8gKil2cHRyOwogCiAJbWVtc2V0KGlub2RlX2luZm8sIDAsIHNpemVvZihz
dHJ1Y3QgZGF6dWtvZnNfaW5vZGVfaW5mbykpOwogCWlub2RlX2luaXRfb25jZSgmKGlub2Rl
X2luZm8tPnZmc19pbm9kZSkpOwpAQCAtMzA1LDcgKzMxNCw3IEBAIHN0YXRpYyBzdHJ1Y3Qg
ZmlsZV9zeXN0ZW1fdHlwZSBkYXp1a29mc18KIAogc3RhdGljIGludCBfX2luaXQgaW5pdF9k
YXp1a29mc19mcyh2b2lkKQogewotCWludCBlcnIgPSAwOworCWludCBlcnI7CiAKIAllcnIg
PSBkYXp1a29mc19kZXZfaW5pdCgpOwogCWlmIChlcnIpCkBAIC0zMTksNyArMzI4LDcgQEAg
c3RhdGljIGludCBfX2luaXQgaW5pdF9kYXp1a29mc19mcyh2b2lkKQogCWlmIChlcnIpCiAJ
CWdvdG8gZXJyb3Jfb3V0MzsKIAotCXByaW50ayhLRVJOX0lORk8gImRhenVrb2ZzOiBsb2Fk
ZWQsIHZlcnNpb249JXNcbiIsIERBWlVLT0ZTX1ZFUlNJT04pOworCXByaW50ayhLRVJOX0lO
Rk8gImRhenVrb2ZzOiBsb2FkZWQsIHZlcnNpb249IiBEQVpVS09GU19WRVJTSU9OICJcbiIp
OwogCXJldHVybiAwOwogCiBlcnJvcl9vdXQzOgpAQCAtMzM1LDcgKzM0NCw3IEBAIHN0YXRp
YyB2b2lkIF9fZXhpdCBleGl0X2RhenVrb2ZzX2ZzKHZvaWQKIAl1bnJlZ2lzdGVyX2ZpbGVz
eXN0ZW0oJmRhenVrb2ZzX2ZzX3R5cGUpOwogCWRlc3Ryb3lfY2FjaGVzKCk7CiAJZGF6dWtv
ZnNfZGV2X2Rlc3Ryb3koKTsKLQlwcmludGsoS0VSTl9JTkZPICJkYXp1a29mczogdW5sb2Fk
ZWQsIHZlcnNpb249JXNcbiIsIERBWlVLT0ZTX1ZFUlNJT04pOworCXByaW50ayhLRVJOX0lO
Rk8gImRhenVrb2ZzOiB1bmxvYWRlZCwgdmVyc2lvbj0iIERBWlVLT0ZTX1ZFUlNJT04gIlxu
Iik7CiB9CiAKIE1PRFVMRV9BVVRIT1IoIkpvaG4gT2duZXNzIik7Cg==
--------------080504000605060906090201
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Dazuko-devel mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/dazuko-devel

--------------080504000605060906090201--