Date: Thu, 19 Oct 2006 07:21:14 -0700 (PDT) From: Martin Voros <martin_voros@yahoo.com> To: trustedbsd-audit@FreeBSD.org Subject: praudit - xml output patches Message-ID: <20061019142114.30659.qmail@web55515.mail.re4.yahoo.com>
next in thread | raw e-mail | index | archive | help
--0-26714257-1161267674=:28910 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Hi all, finally I found some time and prepared patches which add XML output for OpenBSM praudit utility and improve audit.log.5 manual page. I made these patches against OpenBSM 1.0 alpha 12 release. Unfortunately, I can't test 64 bits tokens and also I couldn't test some other tokens so I call for testing. Of course all comments and suggestions are welcome. I also added some token descriptions to audit.log.5 manual page. Instructions: # cd DIR_WITH_OBSM_alpha12 # patch < xml.patch # patch < doc.patch Best regards MV --------------------------------- Get your email and more, right on the new Yahoo.com --0-26714257-1161267674=:28910 Content-Type: application/octet-stream; name="xml.patch" Content-Transfer-Encoding: base64 Content-Description: 2279654603-xml.patch Content-Disposition: attachment; filename="xml.patch" SW5kZXg6ICBiaW4vcHJhdWRpdC9wcmF1ZGl0LmMKPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0gYmluL3ByYXVkaXQvcHJhdWRpdC5jCVNhdCBTZXAgIDIg MTA6NDU6NTkgMjAwNgorKysgYmluL3ByYXVkaXQvcHJhdWRpdC5jCVdlZCBP Y3QgMTEgMTU6NTA6MjEgMjAwNgpAQCAtMzQsNyArMzQsNyBAQAogICovCiAK IC8qCi0gKiBwcmF1ZGl0IFstbHJzXSBbLWRkZWxdIFtmaWxlbmFtZXNdCisg KiBwcmF1ZGl0IFstbHJzeF0gWy1kZGVsXSBbZmlsZW5hbWVzXQogICovCiAK ICNpbmNsdWRlIDxic20vbGliYnNtLmg+CkBAIC01MSwxMiArNTEsMTMgQEAK IHN0YXRpYyBpbnQJIHJhdyA9IDA7CiBzdGF0aWMgaW50CSBzaG9ydGZybSA9 IDA7CiBzdGF0aWMgaW50CSBwYXJ0aWFsID0gMDsKK3N0YXRpYyBpbnQgCSB4 bWwgPSAwOwogCiBzdGF0aWMgdm9pZAogdXNhZ2UoKQogewogCi0JZnByaW50 ZihzdGRlcnIsICJVc2FnZTogcHJhdWRpdCBbLWxyc10gWy1kZGVsXSBbZmls ZW5hbWVzXVxuIik7CisJZnByaW50ZihzdGRlcnIsICJVc2FnZTogcHJhdWRp dCBbLWxyc3hdIFstZGRlbF0gW2ZpbGVuYW1lc11cbiIpOwogCWV4aXQoMSk7 CiB9CiAKQEAgLTg4LDcgKzg5LDcgQEAKIAkJCWlmICgtMSA9PSBhdV9mZXRj aF90b2soJnRvaywgYnVmICsgYnl0ZXNyZWFkLAogCQkJICAgIHJlY2xlbiAt IGJ5dGVzcmVhZCkpCiAJCQkJYnJlYWs7Ci0JCQlhdV9wcmludF90b2soc3Rk b3V0LCAmdG9rLCBkZWwsIHJhdywgc2hvcnRmcm0pOworCQkJYXVfcHJpbnRf dG9rKHN0ZG91dCwgJnRvaywgZGVsLCByYXcsIHNob3J0ZnJtLCB4bWwpOwog CQkJYnl0ZXNyZWFkICs9IHRvay5sZW47CiAJCQlpZiAob25lbGluZSkKIAkJ CQlwcmludGYoIiVzIiwgZGVsKTsKQEAgLTEwOSw3ICsxMTAsNyBAQAogCWlu dCBpOwogCUZJTEUgKmZwOwogCi0Jd2hpbGUgKChjaCA9IGdldG9wdChhcmdj LCBhcmd2LCAibHByc2Q6IikpICE9IC0xKSB7CisJd2hpbGUgKChjaCA9IGdl dG9wdChhcmdjLCBhcmd2LCAibHByc3hkOiIpKSAhPSAtMSkgewogCQlzd2l0 Y2goY2gpIHsKIAkJY2FzZSAnbCc6CiAJCQlvbmVsaW5lID0gMTsKQEAgLTEy Nyw2ICsxMjgsMTAgQEAKIAkJCXNob3J0ZnJtID0gMTsKIAkJCWJyZWFrOwog CisJCWNhc2UgJ3gnOgorCQkJeG1sID0gMTsKKwkJCWJyZWFrOworIAogCQlj YXNlICdkJzoKIAkJCWRlbCA9IG9wdGFyZzsKIAkJCWJyZWFrOwpAQCAtMTQx LDYgKzE0Niw5IEBACiAJCX0KIAl9CiAKKwlpZiAoeG1sKSAKKwkJcHJpbnRf eG1sX2hlYWRlcihzdGRvdXQpOworCiAJLyogRm9yIGVhY2ggb2YgdGhlIGZp bGVzIHBhc3NlZCBhcyBhcmd1bWVudHMgZHVtcCB0aGUgY29udGVudHMuICov CiAJaWYgKG9wdGluZCA9PSBhcmdjKSB7CiAJCXByaW50X3Rva2VucyhzdGRp bik7CkBAIC0xNTMsNSArMTYxLDkgQEAKIAkJaWYgKGZwICE9IE5VTEwpCiAJ CQlmY2xvc2UoZnApOwogCX0KKworCWlmICh4bWwpCisJCXByaW50X3htbF9m b290ZXIoc3Rkb3V0KTsKKwogCXJldHVybiAoMSk7CiB9CkluZGV4OiAgIGJz bS9saWJic20uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBic20vbGli YnNtLmgJVHVlIE9jdCAgMyAxMToyODozMSAyMDA2CisrKyBic20vbGliYnNt LmgJV2VkIE9jdCAxMSAxNTo0ODo1MyAyMDA2CkBAIC03NzAsNyArNzcwLDEz IEBACiBpbnQJCQkgYXVfZmV0Y2hfdG9rKHRva2Vuc3RyX3QgKnRvaywgdV9j aGFyICpidWYsIGludCBsZW4pOwogLy9YWFggVGhlIGZvbGxvd2luZyBpbnRl cmZhY2UgaGFzIGRpZmZlcmVudCBwcm90b3R5cGUgZnJvbSBCU00KIHZvaWQJ CQkgYXVfcHJpbnRfdG9rKEZJTEUgKm91dGZwLCB0b2tlbnN0cl90ICp0b2ss Ci0JCQkgICAgY2hhciAqZGVsLCBjaGFyIHJhdywgY2hhciBzZnJtKTsKKwkJ CSAgICBjaGFyICpkZWwsIGNoYXIgcmF3LCBjaGFyIHNmcm0sIGNoYXIgeG1s KTsKKworLyogCisgKiBGdW5jdG9pbnMgcmVsYXRpbmcgdG8gWE1MIG91dHB1 dAorICovCit2b2lkCQkJIHByaW50X3htbF9oZWFkZXIoRklMRSAqb3V0ZnAp Owordm9pZAkJCSBwcmludF94bWxfZm9vdGVyKEZJTEUgKm91dGZwKTsKIF9f RU5EX0RFQ0xTCiAKIC8qCgpJbmRleDogbGliYnNtL2JzbV9pby5jCj09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tIGxpYmJzbS9ic21faW8uYwlUdWUgT2N0 ICAzIDExOjI4OjM1IDIwMDYKKysrIGxpYmJzbS9ic21faW8uYwlXZWQgT2N0 IDExIDE2OjAxOjU2IDIwMDYKQEAgLTIwNywxNiArMjA3LDMzNCBAQAogfQog CiAvKgorICogUHJpbnRzIHRoZSBiZWdnaW5pbmcgb2YgYXR0cmlidXRlLgor ICovCitzdGF0aWMgdm9pZAorb3Blbl9hdHRyKEZJTEUgKmZwLCB1X2NoYXIg KnN0cikKK3sKKworCWZwcmludGYoZnAsIiVzPVwiIiwgc3RyKTsKK30KKwor LyoKKyAqIFByaW50cyB0aGUgZW5kIG9mIGF0dHJpYnV0ZS4KKyAqLworc3Rh dGljIHZvaWQKK2Nsb3NlX2F0dHIoRklMRSAqZnApCit7CisKKwlmcHJpbnRm KGZwLCJcIiAiKTsKK30KKworLyoKKyAqIFByaW50cyB0aGUgZW5kIG9mIHRh Zy4KKyAqLworc3RhdGljIHZvaWQKK2Nsb3NlX3RhZyhGSUxFICpmcCwgdV9j aGFyIHR5cGUpCit7CisKKwlzd2l0Y2godHlwZSkgeworCQljYXNlIEFVVF9I RUFERVIzMjoKKwkJCWZwcmludGYoZnAsICI+Iik7CisJCQlicmVhazsKKwor CQljYXNlIEFVVF9IRUFERVIzMl9FWDoKKwkJCWZwcmludGYoZnAsICI+Iik7 CisJCQlicmVhazsKKworCQljYXNlIEFVVF9IRUFERVI2NDoKKwkJCWZwcmlu dGYoZnAsICI+Iik7CisJCQlicmVhazsKKworCQljYXNlIEFVVF9IRUFERVI2 NF9FWDoKKwkJCWZwcmludGYoZnAsICI+Iik7CisJCQlicmVhazsKKworCQlj YXNlIEFVVF9BUkczMjoKKwkJCWZwcmludGYoZnAsICIvPiIpOworCQkJYnJl YWs7CisKKwkJY2FzZSBBVVRfQVJHNjQ6CisJCQlmcHJpbnRmKGZwLCAiLz4i KTsKKwkJCWJyZWFrOworCisJCWNhc2UgQVVUX0FUVFIzMjoKKwkJCWZwcmlu dGYoZnAsICIvPiIpOworCQkJYnJlYWs7CisKKwkJY2FzZSBBVVRfQVRUUjY0 OgorCQkJZnByaW50ZihmcCwgIi8+Iik7CisJCQlicmVhazsKKworCQljYXNl IEFVVF9FWElUOgorCQkJZnByaW50ZihmcCwgIi8+Iik7CisJCQlicmVhazsK KworCQljYXNlIEFVVF9FWEVDX0FSR1M6CisJCQlmcHJpbnRmKGZwLCAiPC9l eGVjX2FyZ3M+Iik7CisJCQlicmVhazsKKworCQljYXNlIEFVVF9FWEVDX0VO VjoKKwkJCWZwcmludGYoZnAsICI8L2V4ZWNfZW52PiIpOworCQkJYnJlYWs7 CisKKwkJY2FzZSBBVVRfT1RIRVJfRklMRTMyOgorCQkJZnByaW50ZihmcCwg IjwvZmlsZT4iKTsKKwkJCWJyZWFrOworCisJCWNhc2UgQVVUX05FV0dST1VQ UzoKKwkJCWZwcmludGYoZnAsICI8L2dyb3VwPiIpOworCQkJYnJlYWs7CisK KwkJY2FzZSBBVVRfSU5fQUREUjoKKwkJCWZwcmludGYoZnAsICI8L2lwX2Fk ZHJlc3M+Iik7CisJCQlicmVhazsKKworCQljYXNlIEFVVF9JTl9BRERSX0VY OgorCQkJZnByaW50ZihmcCwgIjwvaXBfYWRkcmVzcz4iKTsKKwkJCWJyZWFr OworCisJCWNhc2UgQVVUX0lQOgorCQkJZnByaW50ZihmcCwgIi8+Iik7CisJ CQlicmVhazsKKworCQljYXNlIEFVVF9JUEM6CisJCQlmcHJpbnRmKGZwLCAi Lz4iKTsKKwkJCWJyZWFrOworCisJCWNhc2UgQVVUX0lQQ19QRVJNOgorCQkJ ZnByaW50ZihmcCwgIi8+Iik7CisJCQlicmVhazsKKworCQljYXNlIEFVVF9J UE9SVDoKKwkJCWZwcmludGYoZnAsICI8L2lwX3BvcnQ+Iik7CisJCQlicmVh azsKKworCQljYXNlIEFVVF9PUEFRVUU6CisJCQlmcHJpbnRmKGZwLCAiPC9v cGFxdWU+Iik7CisJCQlicmVhazsKKworCQljYXNlIEFVVF9QQVRIOgorCQkJ ZnByaW50ZihmcCwgIjwvcGF0aD4iKTsKKwkJCWJyZWFrOworCisJCWNhc2Ug QVVUX1BST0NFU1MzMjoKKwkJCWZwcmludGYoZnAsICIvPiIpOworCQkJYnJl YWs7CisKKwkJY2FzZSBBVVRfUFJPQ0VTUzMyX0VYOgorCQkJZnByaW50Zihm cCwgIi8+Iik7CisJCQlicmVhazsKKworCQljYXNlIEFVVF9SRVRVUk4zMjoK KwkJCWZwcmludGYoZnAsICIvPiIpOworCQkJYnJlYWs7CisKKwkJY2FzZSBB VVRfUkVUVVJONjQ6CisJCQlmcHJpbnRmKGZwLCAiLz4iKTsKKwkJCWJyZWFr OworCisJCWNhc2UgQVVUX1NFUToKKwkJCWZwcmludGYoZnAsICIvPiIpOwor CQkJYnJlYWs7CisKKwkJY2FzZSBBVVRfU09DS0VUOgorCQkJZnByaW50Zihm cCwgIi8+Iik7CisJCQlicmVhazsKKworCQljYXNlIEFVVF9TT0NLSU5FVDMy OgorCQkJZnByaW50ZihmcCwgIi8+Iik7CisJCQlicmVhazsKKworCQljYXNl IEFVVF9TT0NLVU5JWDoKKwkJCWZwcmludGYoZnAsICIvPiIpOworCQkJYnJl YWs7CisKKwkJY2FzZSBBVVRfU1VCSkVDVDMyOgorCQkJZnByaW50ZihmcCwg Ii8+Iik7CisJCQlicmVhazsKKworCQljYXNlIEFVVF9TVUJKRUNUNjQ6CisJ CQlmcHJpbnRmKGZwLCAiLz4iKTsKKwkJCWJyZWFrOworCisJCWNhc2UgQVVU X1NVQkpFQ1QzMl9FWDoKKwkJCWZwcmludGYoZnAsICIvPiIpOworCQkJYnJl YWs7CisKKwkJY2FzZSBBVVRfVEVYVDoKKwkJCWZwcmludGYoZnAsICI8L3Rl eHQ+Iik7CisJCQlicmVhazsKKworCQljYXNlIEFVVF9TT0NLRVRfRVg6CisJ CQlmcHJpbnRmKGZwLCAiLz4iKTsKKwkJCWJyZWFrOworCisJCWNhc2UgQVVU X0RBVEE6CisJCQlmcHJpbnRmKGZwLCAiPC9hcmJpdHJhcnk+Iik7CisJCQli cmVhazsKKwl9Cit9CisKKy8qCiAgKiBQcmludHMgdGhlIHRva2VuIHR5cGUg aW4gZWl0aGVyIHRoZSByYXcgb3IgdGhlIGRlZmF1bHQgZm9ybS4KICAqLwog c3RhdGljIHZvaWQKLXByaW50X3Rva190eXBlKEZJTEUgKmZwLCB1X2NoYXIg dHlwZSwgY29uc3QgY2hhciAqdG9rbmFtZSwgY2hhciByYXcpCitwcmludF90 b2tfdHlwZShGSUxFICpmcCwgdV9jaGFyIHR5cGUsIGNvbnN0IGNoYXIgKnRv a25hbWUsIGNoYXIgcmF3LCBjaGFyIHhtbCkKIHsKIAotCWlmIChyYXcpCi0J CWZwcmludGYoZnAsICIldSIsIHR5cGUpOwotCWVsc2UKLQkJZnByaW50Zihm cCwgIiVzIiwgdG9rbmFtZSk7CisJaWYgKHhtbCkgeworCQlzd2l0Y2godHlw ZSkgeworCQkJY2FzZSBBVVRfSEVBREVSMzI6CisJCQkJZnByaW50ZihmcCwg IjxyZWNvcmQgIik7CisJCQkJYnJlYWs7CisKKwkJCWNhc2UgQVVUX0hFQURF UjMyX0VYOgorCQkJCWZwcmludGYoZnAsICI8cmVjb3JkICIpOworCQkJCWJy ZWFrOworCisJCQljYXNlIEFVVF9IRUFERVI2NDoKKwkJCQlmcHJpbnRmKGZw LCAiPHJlY29yZCAiKTsKKwkJCQlicmVhazsKKworCQkJY2FzZSBBVVRfSEVB REVSNjRfRVg6CisJCQkJZnByaW50ZihmcCwgIjxyZWNvcmQgIik7CisJCQkJ YnJlYWs7CisKKwkJCWNhc2UgQVVUX1RSQUlMRVI6CisJCQkJZnByaW50Zihm cCwgIjwvcmVjb3JkPiIpOworCQkJCWJyZWFrOworCisJCQljYXNlIEFVVF9B UkczMjoKKwkJCQlmcHJpbnRmKGZwLCAiPGFyZ3VtZW50ICIpOworCQkJCWJy ZWFrOworCisJCQljYXNlIEFVVF9BUkc2NDoKKwkJCQlmcHJpbnRmKGZwLCAi PGFyZ3VtZW50ICIpOworCQkJCWJyZWFrOworCisJCQljYXNlIEFVVF9BVFRS MzI6CisJCQkJZnByaW50ZihmcCwgIjxhdHRyaWJ1dGUgIik7CisJCQkJYnJl YWs7CisKKwkJCWNhc2UgQVVUX0FUVFI2NDoKKwkJCQlmcHJpbnRmKGZwLCAi PGF0dHJpYnV0ZSAiKTsKKwkJCQlicmVhazsKKworCQkJY2FzZSBBVVRfRVhJ VDoKKwkJCQlmcHJpbnRmKGZwLCAiPGV4aXQgIik7CisJCQkJYnJlYWs7CisK KwkJCWNhc2UgQVVUX0VYRUNfQVJHUzoKKwkJCQlmcHJpbnRmKGZwLCAiPGV4 ZWNfYXJncz4iKTsKKwkJCQlicmVhazsKKworCQkJY2FzZSBBVVRfRVhFQ19F TlY6CisJCQkJZnByaW50ZihmcCwgIjxleGVjX2Vudj4iKTsKKwkJCQlicmVh azsKKworCQkJY2FzZSBBVVRfT1RIRVJfRklMRTMyOgorCQkJCWZwcmludGYo ZnAsICI8ZmlsZSAiKTsKKwkJCQlicmVhazsKKworCQkJY2FzZSBBVVRfTkVX R1JPVVBTOgorCQkJCWZwcmludGYoZnAsICI8Z3JvdXA+Iik7CisJCQkJYnJl YWs7CisKKwkJCWNhc2UgQVVUX0lOX0FERFI6CisJCQkJZnByaW50ZihmcCwg IjxpcF9hZGRyZXNzPiIpOworCQkJCWJyZWFrOworCisJCQljYXNlIEFVVF9J Tl9BRERSX0VYOgorCQkJCWZwcmludGYoZnAsICI8aXBfYWRkcmVzcz4iKTsK KwkJCQlicmVhazsKKworCQkJY2FzZSBBVVRfSVA6CisJCQkJZnByaW50Zihm cCwgIjxpcCAiKTsKKwkJCQlicmVhazsKKworCQkJY2FzZSBBVVRfSVBDOgor CQkJCWZwcmludGYoZnAsICI8SVBDIik7CisJCQkJYnJlYWs7CisKKwkJCWNh c2UgQVVUX0lQQ19QRVJNOgorCQkJCWZwcmludGYoZnAsICI8SVBDX3Blcm0g Iik7CisJCQkJYnJlYWs7CisKKwkJCWNhc2UgQVVUX0lQT1JUOgorCQkJCWZw cmludGYoZnAsICI8aXBfcG9ydD4iKTsKKwkJCQlicmVhazsKKworCQkJY2Fz ZSBBVVRfT1BBUVVFOgorCQkJCWZwcmludGYoZnAsICI8b3BhcXVlPiIpOwor CQkJCWJyZWFrOworCisJCQljYXNlIEFVVF9QQVRIOgorCQkJCWZwcmludGYo ZnAsICI8cGF0aD4iKTsKKwkJCQlicmVhazsKKworCQkJY2FzZSBBVVRfUFJP Q0VTUzMyOgorCQkJCWZwcmludGYoZnAsICI8cHJvY2VzcyAiKTsKKwkJCQli cmVhazsKKworCQkJY2FzZSBBVVRfUFJPQ0VTUzMyX0VYOgorCQkJCWZwcmlu dGYoZnAsICI8cHJvY2VzcyAiKTsKKwkJCQlicmVhazsKKworCQkJY2FzZSBB VVRfUkVUVVJOMzI6CisJCQkJZnByaW50ZihmcCwgIjxyZXR1cm4gIik7CisJ CQkJYnJlYWs7CisKKwkJCWNhc2UgQVVUX1JFVFVSTjY0OgorCQkJCWZwcmlu dGYoZnAsICI8cmV0dXJuICIpOworCQkJCWJyZWFrOworCisJCQljYXNlIEFV VF9TRVE6CisJCQkJZnByaW50ZihmcCwgIjxzZXF1ZW5jZSAiKTsKKwkJCQli cmVhazsKKworCQkJY2FzZSBBVVRfU09DS0VUOgorCQkJCWZwcmludGYoZnAs ICI8c29ja2V0ICIpOworCQkJCWJyZWFrOworCisJCQljYXNlIEFVVF9TT0NL SU5FVDMyOgorCQkJCWZwcmludGYoZnAsICI8b2xkX3NvY2tldCIpOworCQkJ CWJyZWFrOworCisJCQljYXNlIEFVVF9TT0NLVU5JWDoKKwkJCQlmcHJpbnRm KGZwLCAiPG9sZF9zb2NrZXQiKTsKKwkJCQlicmVhazsKKworCQkJY2FzZSBB VVRfU1VCSkVDVDMyOgorCQkJCWZwcmludGYoZnAsICI8c3ViamVjdCAiKTsK KwkJCQlicmVhazsKKworCQkJY2FzZSBBVVRfU1VCSkVDVDY0OgorCQkJCWZw cmludGYoZnAsICI8c3ViamVjdCAiKTsKKwkJCQlicmVhazsKKworCQkJY2Fz ZSBBVVRfU1VCSkVDVDMyX0VYOgorCQkJCWZwcmludGYoZnAsICI8c3ViamVj dCAiKTsKKwkJCQlicmVhazsKKworCQkJY2FzZSBBVVRfVEVYVDoKKwkJCQlm cHJpbnRmKGZwLCAiPHRleHQ+Iik7CisJCQkJYnJlYWs7CisKKwkJCWNhc2Ug QVVUX1NPQ0tFVF9FWDoKKwkJCQlmcHJpbnRmKGZwLCAiPHNvY2tldCAiKTsK KwkJCQlicmVhazsKKworCQkJY2FzZSBBVVRfREFUQToKKwkJCQlmcHJpbnRm KGZwLCAiPGFyYml0cmFyeSAiKTsKKwkJCQlicmVhazsKKwkJfQorCX0gZWxz ZSB7CisJCWlmIChyYXcpCisJCQlmcHJpbnRmKGZwLCAiJXUiLCB0eXBlKTsK KwkJZWxzZQorCQkJZnByaW50ZihmcCwgIiVzIiwgdG9rbmFtZSk7CisJfQog fQogCiAvKgpAQCAtNDU1LDYgKzc3MywyNyBAQAogfQogCiAvKgorICogUHJp bnQgWE1MIGhlYWRlcgorICovCit2b2lkCitwcmludF94bWxfaGVhZGVyKEZJ TEUgKm91dGZwKQoreworCQorCWZwcmludGYob3V0ZnAsICI8P3htbCB2ZXJz aW9uPScxLjAnID8+XG4iKTsKKwlmcHJpbnRmKG91dGZwLCAiPGF1ZGl0Plxu Iik7Cit9CisKKy8qCisgKiBQcmludCBYTUwgZm9vdGVyCisgKi8KK3ZvaWQK K3ByaW50X3htbF9mb290ZXIoRklMRSAqb3V0ZnApCit7CisJCisJZnByaW50 ZihvdXRmcCwgIjwvYXVkaXQ+XG4iKTsKK30KKworLyoKICAqIHJlY29yZCBi eXRlIGNvdW50ICAgICAgIDQgYnl0ZXMKICAqIHZlcnNpb24gIyAgICAgICAg ICAgICAgIDEgYnl0ZSAgICBbMl0KICAqIGV2ZW50IHR5cGUgICAgICAgICAg ICAgIDIgYnl0ZXMKQEAgLTQ5NSwyMiArODM0LDQxIEBACiB9CiAKIHN0YXRp YyB2b2lkCi1wcmludF9oZWFkZXIzMl90b2soRklMRSAqZnAsIHRva2Vuc3Ry X3QgKnRvaywgY2hhciAqZGVsLCBjaGFyIHJhdywgY2hhciBzZnJtKQorcHJp bnRfaGVhZGVyMzJfdG9rKEZJTEUgKmZwLCB0b2tlbnN0cl90ICp0b2ssIGNo YXIgKmRlbCwgY2hhciByYXcsIGNoYXIgc2ZybSwgY2hhciB4bWwpCiB7CiAK LQlwcmludF90b2tfdHlwZShmcCwgdG9rLT5pZCwgImhlYWRlciIsIHJhdyk7 Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0JcHJpbnRfNF9ieXRlcyhmcCwg dG9rLT50dC5oZHIzMi5zaXplLCAiJXUiKTsKLQlwcmludF9kZWxpbShmcCwg ZGVsKTsKLQlwcmludF8xX2J5dGUoZnAsIHRvay0+dHQuaGRyMzIudmVyc2lv biwgIiV1Iik7Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0JcHJpbnRfZXZl bnQoZnAsIHRvay0+dHQuaGRyMzIuZV90eXBlLCByYXcsIHNmcm0pOwotCXBy aW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50X2V2bW9kKGZwLCB0b2stPnR0 LmhkcjMyLmVfbW9kLCByYXcpOwotCXByaW50X2RlbGltKGZwLCBkZWwpOwot CXByaW50X3NlYzMyKGZwLCB0b2stPnR0LmhkcjMyLnMsIHJhdyk7Ci0JcHJp bnRfZGVsaW0oZnAsIGRlbCk7Ci0JcHJpbnRfbXNlYzMyKGZwLCB0b2stPnR0 LmhkcjMyLm1zLCByYXcpOworCXByaW50X3Rva190eXBlKGZwLCB0b2stPmlk LCAiaGVhZGVyIiwgcmF3LCB4bWwpOworCWlmICh4bWwpIHsKKwkJb3Blbl9h dHRyKGZwLCAidmVyc2lvbiIpOworCQlwcmludF8xX2J5dGUoZnAsIHRvay0+ dHQuaGRyMzIudmVyc2lvbiwgIiV1Iik7CisJCWNsb3NlX2F0dHIoZnApOwor CQlvcGVuX2F0dHIoZnAsICJldmVudCIpOworCQlwcmludF9ldmVudChmcCwg dG9rLT50dC5oZHIzMi5lX3R5cGUsIHJhdywgc2ZybSk7CisJCWNsb3NlX2F0 dHIoZnApOworCQlvcGVuX2F0dHIoZnAsICJtb2RpZmllciIpOworCQlwcmlu dF9ldm1vZChmcCwgdG9rLT50dC5oZHIzMi5lX21vZCwgcmF3KTsKKwkJY2xv c2VfYXR0cihmcCk7CisJCW9wZW5fYXR0cihmcCwgInRpbWUiKTsKKwkJcHJp bnRfc2VjMzIoZnAsIHRvay0+dHQuaGRyMzIucywgcmF3KTsKKwkJY2xvc2Vf YXR0cihmcCk7CisJCW9wZW5fYXR0cihmcCwgIm1zZWMiKTsKKwkJcHJpbnRf bXNlYzMyKGZwLCB0b2stPnR0LmhkcjMyLm1zLCAxKTsKKwkJY2xvc2VfYXR0 cihmcCk7CisJCWNsb3NlX3RhZyhmcCx0b2stPmlkKTsKKwl9IGVsc2Ugewor CQlwcmludF9kZWxpbShmcCwgZGVsKTsKKwkJcHJpbnRfNF9ieXRlcyhmcCwg dG9rLT50dC5oZHIzMi5zaXplLCAiJXUiKTsKKwkJcHJpbnRfZGVsaW0oZnAs IGRlbCk7CisJCXByaW50XzFfYnl0ZShmcCwgdG9rLT50dC5oZHIzMi52ZXJz aW9uLCAiJXUiKTsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXByaW50 X2V2ZW50KGZwLCB0b2stPnR0LmhkcjMyLmVfdHlwZSwgcmF3LCBzZnJtKTsK KwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXByaW50X2V2bW9kKGZwLCB0 b2stPnR0LmhkcjMyLmVfbW9kLCByYXcpOworCQlwcmludF9kZWxpbShmcCwg ZGVsKTsKKwkJcHJpbnRfc2VjMzIoZnAsIHRvay0+dHQuaGRyMzIucywgcmF3 KTsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXByaW50X21zZWMzMihm cCwgdG9rLT50dC5oZHIzMi5tcywgcmF3KTsKKwl9CiB9CiAKIC8qCkBAIC01 ODQsMjUgKzk0Miw0OCBAQAogCiBzdGF0aWMgdm9pZAogcHJpbnRfaGVhZGVy MzJfZXhfdG9rKEZJTEUgKmZwLCB0b2tlbnN0cl90ICp0b2ssIGNoYXIgKmRl bCwgY2hhciByYXcsCi0gICAgY2hhciBzZnJtKQorICAgIGNoYXIgc2ZybSwg Y2hhciB4bWwpCiB7CiAKLQlwcmludF90b2tfdHlwZShmcCwgdG9rLT5pZCwg ImhlYWRlcl9leCIsIHJhdyk7Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0J cHJpbnRfNF9ieXRlcyhmcCwgdG9rLT50dC5oZHIzMl9leC5zaXplLCAiJXUi KTsKLQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQlwcmludF8xX2J5dGUoZnAs IHRvay0+dHQuaGRyMzJfZXgudmVyc2lvbiwgIiV1Iik7Ci0JcHJpbnRfZGVs aW0oZnAsIGRlbCk7Ci0JcHJpbnRfZXZlbnQoZnAsIHRvay0+dHQuaGRyMzJf ZXguZV90eXBlLCByYXcsIHNmcm0pOwotCXByaW50X2RlbGltKGZwLCBkZWwp OwotCXByaW50X2V2bW9kKGZwLCB0b2stPnR0LmhkcjMyX2V4LmVfbW9kLCBy YXcpOwotCXByaW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50X2lwX2V4X2Fk ZHJlc3MoZnAsIHRvay0+dHQuaGRyMzJfZXguYWRfdHlwZSwKLQkgICAgdG9r LT50dC5oZHIzMl9leC5hZGRyKTsKLQlwcmludF9kZWxpbShmcCwgZGVsKTsK LQlwcmludF9zZWMzMihmcCwgdG9rLT50dC5oZHIzMl9leC5zLCByYXcpOwot CXByaW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50X21zZWMzMihmcCwgdG9r LT50dC5oZHIzMl9leC5tcywgcmF3KTsKKwlwcmludF90b2tfdHlwZShmcCwg dG9rLT5pZCwgImhlYWRlcl9leCIsIHJhdywgeG1sKTsKKwlpZiAoeG1sKSB7 CisJCW9wZW5fYXR0cihmcCwgInZlcnNpb24iKTsKKwkJcHJpbnRfMV9ieXRl KGZwLCB0b2stPnR0LmhkcjMyX2V4LnZlcnNpb24sICIldSIpOworCQljbG9z ZV9hdHRyKGZwKTsKKwkJb3Blbl9hdHRyKGZwLCAiZXZlbnQiKTsKKwkJcHJp bnRfZXZlbnQoZnAsIHRvay0+dHQuaGRyMzJfZXguZV90eXBlLCByYXcsIHNm cm0pOworCQljbG9zZV9hdHRyKGZwKTsKKwkJb3Blbl9hdHRyKGZwLCAibW9k aWZpZXIiKTsKKwkJcHJpbnRfZXZtb2QoZnAsIHRvay0+dHQuaGRyMzJfZXgu ZV9tb2QsIHJhdyk7CisJCWNsb3NlX2F0dHIoZnApOworLyogTm8gYXR0cmli dXQgZm9yIGFkZC4gdHlwZQkJCisJCXByaW50X2lwX2V4X2FkZHJlc3MoZnAs IHRvay0+dHQuaGRyMzJfZXguYWRfdHlwZSwKKwkJCXRvay0+dHQuaGRyMzJf ZXguYWRkcik7CisqLworCQlvcGVuX2F0dHIoZnAsICJ0aW1lIik7CisJCXBy aW50X3NlYzMyKGZwLCB0b2stPnR0LmhkcjMyX2V4LnMsIHJhdyk7CisJCWNs b3NlX2F0dHIoZnApOworCQlvcGVuX2F0dHIoZnAsICJtc2VjIik7CisJCXBy aW50X21zZWMzMihmcCwgdG9rLT50dC5oZHIzMl9leC5tcywgcmF3KTsKKwkJ Y2xvc2VfYXR0cihmcCk7CisJCWNsb3NlX3RhZyhmcCwgdG9rLT5pZCk7CisJ fSBlbHNlIHsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXByaW50XzRf Ynl0ZXMoZnAsIHRvay0+dHQuaGRyMzJfZXguc2l6ZSwgIiV1Iik7CisJCXBy aW50X2RlbGltKGZwLCBkZWwpOworCQlwcmludF8xX2J5dGUoZnAsIHRvay0+ dHQuaGRyMzJfZXgudmVyc2lvbiwgIiV1Iik7CisJCXByaW50X2RlbGltKGZw LCBkZWwpOworCQlwcmludF9ldmVudChmcCwgdG9rLT50dC5oZHIzMl9leC5l X3R5cGUsIHJhdywgc2ZybSk7CisJCXByaW50X2RlbGltKGZwLCBkZWwpOwor CQlwcmludF9ldm1vZChmcCwgdG9rLT50dC5oZHIzMl9leC5lX21vZCwgcmF3 KTsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXByaW50X2lwX2V4X2Fk ZHJlc3MoZnAsIHRvay0+dHQuaGRyMzJfZXguYWRfdHlwZSwKKwkJCXRvay0+ dHQuaGRyMzJfZXguYWRkcik7CisJCXByaW50X2RlbGltKGZwLCBkZWwpOwor CQlwcmludF9zZWMzMihmcCwgdG9rLT50dC5oZHIzMl9leC5zLCByYXcpOwor CQlwcmludF9kZWxpbShmcCwgZGVsKTsKKwkJcHJpbnRfbXNlYzMyKGZwLCB0 b2stPnR0LmhkcjMyX2V4Lm1zLCByYXcpOworCX0KIH0KIAogLyoKQEAgLTY0 NiwyMiArMTAyNyw0MyBAQAogfQogCiBzdGF0aWMgdm9pZAotcHJpbnRfaGVh ZGVyNjRfdG9rKEZJTEUgKmZwLCB0b2tlbnN0cl90ICp0b2ssIGNoYXIgKmRl bCwgY2hhciByYXcsIGNoYXIgc2ZybSkKK3ByaW50X2hlYWRlcjY0X3RvayhG SUxFICpmcCwgdG9rZW5zdHJfdCAqdG9rLCBjaGFyICpkZWwsIGNoYXIgcmF3 LCBjaGFyIHNmcm0sIGNoYXIgeG1sKQogeworCQorCXByaW50X3Rva190eXBl KGZwLCB0b2stPmlkLCAiaGVhZGVyIiwgcmF3LCB4bWwpOyAKKwlpZiAoeG1s KSB7CisJCW9wZW5fYXR0cihmcCwgInZlcnNpb24iKTsKKwkJcHJpbnRfMV9i eXRlKGZwLCB0b2stPnR0LmhkcjY0LnZlcnNpb24sICIldSIpOworCQljbG9z ZV9hdHRyKGZwKTsKKwkJb3Blbl9hdHRyKGZwLCAiZXZlbnQiKTsKKwkJcHJp bnRfZXZlbnQoZnAsIHRvay0+dHQuaGRyNjQuZV90eXBlLCByYXcsIHNmcm0p OworCQljbG9zZV9hdHRyKGZwKTsKKwkJb3Blbl9hdHRyKGZwLCAibW9kaWZp ZXIiKTsKKwkJcHJpbnRfZXZtb2QoZnAsIHRvay0+dHQuaGRyNjQuZV9tb2Qs IHJhdyk7CisJCWNsb3NlX2F0dHIoZnApOworCQlvcGVuX2F0dHIoZnAsICJ0 aW1lIik7CisJCXByaW50X3NlYzY0KGZwLCB0b2stPnR0LmhkcjY0LnMsIHJh dyk7CisJCWNsb3NlX2F0dHIoZnApOworCQlvcGVuX2F0dHIoZnAsICJtc2Vj Iik7CisJCXByaW50X21zZWM2NChmcCwgdG9rLT50dC5oZHI2NC5tcywgcmF3 KTsKKwkJY2xvc2VfYXR0cihmcCk7CisJCWNsb3NlX3RhZyhmcCwgdG9rLT5p ZCk7CisJfSBlbHNlIHsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXBy aW50XzRfYnl0ZXMoZnAsIHRvay0+dHQuaGRyNjQuc2l6ZSwgIiV1Iik7CisJ CXByaW50X2RlbGltKGZwLCBkZWwpOworCQlwcmludF8xX2J5dGUoZnAsIHRv ay0+dHQuaGRyNjQudmVyc2lvbiwgIiV1Iik7CisJCXByaW50X2RlbGltKGZw LCBkZWwpOworCQlwcmludF9ldmVudChmcCwgdG9rLT50dC5oZHI2NC5lX3R5 cGUsIHJhdywgc2ZybSk7CisJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQlw cmludF9ldm1vZChmcCwgdG9rLT50dC5oZHI2NC5lX21vZCwgcmF3KTsKKwkJ cHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXByaW50X3NlYzY0KGZwLCB0b2st PnR0LmhkcjY0LnMsIHJhdyk7CisJCXByaW50X2RlbGltKGZwLCBkZWwpOwor CQlwcmludF9tc2VjNjQoZnAsIHRvay0+dHQuaGRyNjQubXMsIHJhdyk7CisJ fQorCiAKLQlwcmludF90b2tfdHlwZShmcCwgdG9rLT5pZCwgImhlYWRlciIs IHJhdyk7Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0JcHJpbnRfNF9ieXRl cyhmcCwgdG9rLT50dC5oZHI2NC5zaXplLCAiJXUiKTsKLQlwcmludF9kZWxp bShmcCwgZGVsKTsKLQlwcmludF8xX2J5dGUoZnAsIHRvay0+dHQuaGRyNjQu dmVyc2lvbiwgIiV1Iik7Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0JcHJp bnRfZXZlbnQoZnAsIHRvay0+dHQuaGRyNjQuZV90eXBlLCByYXcsIHNmcm0p OwotCXByaW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50X2V2bW9kKGZwLCB0 b2stPnR0LmhkcjY0LmVfbW9kLCByYXcpOwotCXByaW50X2RlbGltKGZwLCBk ZWwpOwotCXByaW50X3NlYzY0KGZwLCB0b2stPnR0LmhkcjY0LnMsIHJhdyk7 Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0JcHJpbnRfbXNlYzY0KGZwLCB0 b2stPnR0LmhkcjY0Lm1zLCByYXcpOwogfQogLyoKICAqIHJlY29yZCBieXRl IGNvdW50ICAgICAgIDQgYnl0ZXMKQEAgLTcyOSwyNSArMTEzMSw0OCBAQAog fQogCiBzdGF0aWMgdm9pZAotcHJpbnRfaGVhZGVyNjRfZXhfdG9rKEZJTEUg KmZwLCB0b2tlbnN0cl90ICp0b2ssIGNoYXIgKmRlbCwgY2hhciByYXcsIGNo YXIgc2ZybSkKK3ByaW50X2hlYWRlcjY0X2V4X3RvayhGSUxFICpmcCwgdG9r ZW5zdHJfdCAqdG9rLCBjaGFyICpkZWwsIGNoYXIgcmF3LCBjaGFyIHNmcm0s IGNoYXIgeG1sKQogewogCi0JcHJpbnRfdG9rX3R5cGUoZnAsIHRvay0+aWQs ICJoZWFkZXJfZXgiLCByYXcpOwotCXByaW50X2RlbGltKGZwLCBkZWwpOwot CXByaW50XzRfYnl0ZXMoZnAsIHRvay0+dHQuaGRyNjRfZXguc2l6ZSwgIiV1 Iik7Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0JcHJpbnRfMV9ieXRlKGZw LCB0b2stPnR0LmhkcjY0X2V4LnZlcnNpb24sICIldSIpOwotCXByaW50X2Rl bGltKGZwLCBkZWwpOwotCXByaW50X2V2ZW50KGZwLCB0b2stPnR0LmhkcjY0 X2V4LmVfdHlwZSwgcmF3LCBzZnJtKTsKLQlwcmludF9kZWxpbShmcCwgZGVs KTsKLQlwcmludF9ldm1vZChmcCwgdG9rLT50dC5oZHI2NF9leC5lX21vZCwg cmF3KTsKLQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQlwcmludF9pcF9leF9h ZGRyZXNzKGZwLCB0b2stPnR0LmhkcjY0X2V4LmFkX3R5cGUsCi0JICAgIHRv ay0+dHQuaGRyNjRfZXguYWRkcik7Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7 Ci0JcHJpbnRfc2VjNjQoZnAsIHRvay0+dHQuaGRyNjRfZXgucywgcmF3KTsK LQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQlwcmludF9tc2VjNjQoZnAsIHRv ay0+dHQuaGRyNjRfZXgubXMsIHJhdyk7CisJcHJpbnRfdG9rX3R5cGUoZnAs IHRvay0+aWQsICJoZWFkZXJfZXgiLCByYXcsIHhtbCk7CisJaWYgKHhtbCkg eworCQlvcGVuX2F0dHIoZnAsICJ2ZXJzaW9uIik7CisJCXByaW50XzFfYnl0 ZShmcCwgdG9rLT50dC5oZHI2NF9leC52ZXJzaW9uLCAiJXUiKTsKKwkJY2xv c2VfYXR0cihmcCk7CisJCW9wZW5fYXR0cihmcCwgImV2ZW50Iik7CisJCXBy aW50X2V2ZW50KGZwLCB0b2stPnR0LmhkcjY0X2V4LmVfdHlwZSwgcmF3LCBz ZnJtKTsKKwkJY2xvc2VfYXR0cihmcCk7CisJCW9wZW5fYXR0cihmcCwgIm1v ZGlmaWVyIik7CisJCXByaW50X2V2bW9kKGZwLCB0b2stPnR0LmhkcjY0X2V4 LmVfbW9kLCByYXcpOworCQljbG9zZV9hdHRyKGZwKTsKKy8qIE5vIGF0dHJp YnV0ZSBmb3IgYWRkLiB0eXBlCQkKKwkJcHJpbnRfaXBfZXhfYWRkcmVzcyhm cCwgdG9rLT50dC5oZHI2NF9leC5hZF90eXBlLAorCQkJdG9rLT50dC5oZHI2 NF9leC5hZGRyKTsKKyovCisJCW9wZW5fYXR0cihmcCwgInRpbWUiKTsKKwkJ cHJpbnRfc2VjNjQoZnAsIHRvay0+dHQuaGRyNjRfZXgucywgcmF3KTsKKwkJ Y2xvc2VfYXR0cihmcCk7CisJCW9wZW5fYXR0cihmcCwgIm1zZWMiKTsKKwkJ cHJpbnRfbXNlYzY0KGZwLCB0b2stPnR0LmhkcjY0X2V4Lm1zLCByYXcpOwor CQljbG9zZV9hdHRyKGZwKTsKKwkJY2xvc2VfdGFnKGZwLCB0b2stPmlkKTsK Kwl9IGVsc2UgeworCQlwcmludF9kZWxpbShmcCwgZGVsKTsKKwkJcHJpbnRf NF9ieXRlcyhmcCwgdG9rLT50dC5oZHI2NF9leC5zaXplLCAiJXUiKTsKKwkJ cHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXByaW50XzFfYnl0ZShmcCwgdG9r LT50dC5oZHI2NF9leC52ZXJzaW9uLCAiJXUiKTsKKwkJcHJpbnRfZGVsaW0o ZnAsIGRlbCk7CisJCXByaW50X2V2ZW50KGZwLCB0b2stPnR0LmhkcjY0X2V4 LmVfdHlwZSwgcmF3LCBzZnJtKTsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7 CisJCXByaW50X2V2bW9kKGZwLCB0b2stPnR0LmhkcjY0X2V4LmVfbW9kLCBy YXcpOworCQlwcmludF9kZWxpbShmcCwgZGVsKTsKKwkJcHJpbnRfaXBfZXhf YWRkcmVzcyhmcCwgdG9rLT50dC5oZHI2NF9leC5hZF90eXBlLAorCQkJdG9r LT50dC5oZHI2NF9leC5hZGRyKTsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7 CisJCXByaW50X3NlYzY0KGZwLCB0b2stPnR0LmhkcjY0X2V4LnMsIHJhdyk7 CisJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQlwcmludF9tc2VjNjQoZnAs IHRvay0+dHQuaGRyNjRfZXgubXMsIHJhdyk7CisJCX0KIH0KIAogLyoKQEAg LTc3MiwxMiArMTE5NywxNCBAQAogCiBzdGF0aWMgdm9pZAogcHJpbnRfdHJh aWxlcl90b2soRklMRSAqZnAsIHRva2Vuc3RyX3QgKnRvaywgY2hhciAqZGVs LCBjaGFyIHJhdywKLSAgICBfX3VudXNlZCBjaGFyIHNmcm0pCisgICAgX191 bnVzZWQgY2hhciBzZnJtLCBjaGFyIHhtbCkKIHsKIAotCXByaW50X3Rva190 eXBlKGZwLCB0b2stPmlkLCAidHJhaWxlciIsIHJhdyk7Ci0JcHJpbnRfZGVs aW0oZnAsIGRlbCk7Ci0JcHJpbnRfNF9ieXRlcyhmcCwgdG9rLT50dC50cmFp bC5jb3VudCwgIiV1Iik7CisJcHJpbnRfdG9rX3R5cGUoZnAsIHRvay0+aWQs ICJ0cmFpbGVyIiwgcmF3LCB4bWwpOworCWlmICgheG1sKSB7CisJCXByaW50 X2RlbGltKGZwLCBkZWwpOworCQlwcmludF80X2J5dGVzKGZwLCB0b2stPnR0 LnRyYWlsLmNvdW50LCAiJXUiKTsKKwl9CiB9CiAKIC8qCkBAIC04MTMsMTYg KzEyNDAsMjggQEAKIAogc3RhdGljIHZvaWQKIHByaW50X2FyZzMyX3RvayhG SUxFICpmcCwgdG9rZW5zdHJfdCAqdG9rLCBjaGFyICpkZWwsIGNoYXIgcmF3 LAotICAgIF9fdW51c2VkIGNoYXIgc2ZybSkKKyAgICBfX3VudXNlZCBjaGFy IHNmcm0sIGNoYXIgeG1sKQogewogCi0JcHJpbnRfdG9rX3R5cGUoZnAsIHRv ay0+aWQsICJhcmd1bWVudCIsIHJhdyk7Ci0JcHJpbnRfZGVsaW0oZnAsIGRl bCk7Ci0JcHJpbnRfMV9ieXRlKGZwLCB0b2stPnR0LmFyZzMyLm5vLCAiJXUi KTsKLQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQlwcmludF80X2J5dGVzKGZw LCB0b2stPnR0LmFyZzMyLnZhbCwgIjB4JXgiKTsKLQlwcmludF9kZWxpbShm cCwgZGVsKTsKLQlwcmludF9zdHJpbmcoZnAsIHRvay0+dHQuYXJnMzIudGV4 dCwgdG9rLT50dC5hcmczMi5sZW4pOworCXByaW50X3Rva190eXBlKGZwLCB0 b2stPmlkLCAiYXJndW1lbnQiLCByYXcsIHhtbCk7CisJaWYgKHhtbCkgewor CQlvcGVuX2F0dHIoZnAsICJhcmctbnVtIik7CisJCXByaW50XzFfYnl0ZShm cCwgdG9rLT50dC5hcmczMi5ubywgIiV1Iik7CisJCWNsb3NlX2F0dHIoZnAp OworCQlvcGVuX2F0dHIoZnAsICJ2YWx1ZSIpOworCQlwcmludF80X2J5dGVz KGZwLCB0b2stPnR0LmFyZzMyLnZhbCwgIjB4JXgiKTsKKwkJY2xvc2VfYXR0 cihmcCk7CisJCW9wZW5fYXR0cihmcCwgImRlc2MiKTsKKwkJcHJpbnRfc3Ry aW5nKGZwLCB0b2stPnR0LmFyZzMyLnRleHQsIHRvay0+dHQuYXJnMzIubGVu KTsKKwkJY2xvc2VfYXR0cihmcCk7CisJCWNsb3NlX3RhZyhmcCwgdG9rLT5p ZCk7CisJfSBlbHNlIHsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXBy aW50XzFfYnl0ZShmcCwgdG9rLT50dC5hcmczMi5ubywgIiV1Iik7CisJCXBy aW50X2RlbGltKGZwLCBkZWwpOworCQlwcmludF80X2J5dGVzKGZwLCB0b2st PnR0LmFyZzMyLnZhbCwgIjB4JXgiKTsKKwkJcHJpbnRfZGVsaW0oZnAsIGRl bCk7CisJfQogfQogCiBzdGF0aWMgaW50CkBAIC04NTIsMTYgKzEyOTEsMjkg QEAKIAogc3RhdGljIHZvaWQKIHByaW50X2FyZzY0X3RvayhGSUxFICpmcCwg dG9rZW5zdHJfdCAqdG9rLCBjaGFyICpkZWwsIGNoYXIgcmF3LAotICAgIF9f dW51c2VkIGNoYXIgc2ZybSkKKyAgICBfX3VudXNlZCBjaGFyIHNmcm0sIGNo YXIgeG1sKQogewogCi0JcHJpbnRfdG9rX3R5cGUoZnAsIHRvay0+aWQsICJh cmd1bWVudCIsIHJhdyk7Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0JcHJp bnRfMV9ieXRlKGZwLCB0b2stPnR0LmFyZzY0Lm5vLCAiJXUiKTsKLQlwcmlu dF9kZWxpbShmcCwgZGVsKTsKLQlwcmludF84X2J5dGVzKGZwLCB0b2stPnR0 LmFyZzY0LnZhbCwgIjB4JWxseCIpOwotCXByaW50X2RlbGltKGZwLCBkZWwp OwotCXByaW50X3N0cmluZyhmcCwgdG9rLT50dC5hcmc2NC50ZXh0LCB0b2st PnR0LmFyZzY0Lmxlbik7CisJcHJpbnRfdG9rX3R5cGUoZnAsIHRvay0+aWQs ICJhcmd1bWVudCIsIHJhdywgeG1sKTsKKwlpZiAoeG1sKSB7CisJCW9wZW5f YXR0cihmcCwgImFyZy1udW0iKTsKKwkJcHJpbnRfMV9ieXRlKGZwLCB0b2st PnR0LmFyZzY0Lm5vLCAiJXUiKTsKKwkJY2xvc2VfYXR0cihmcCk7CisJCW9w ZW5fYXR0cihmcCwgInZhbHVlIik7CisJCXByaW50XzhfYnl0ZXMoZnAsIHRv ay0+dHQuYXJnNjQudmFsLCAiMHglbGx4Iik7CisJCWNsb3NlX2F0dHIoZnAp OworCQlvcGVuX2F0dHIoZnAsICJkZXNjIik7CisJCXByaW50X3N0cmluZyhm cCwgdG9rLT50dC5hcmc2NC50ZXh0LCB0b2stPnR0LmFyZzY0Lmxlbik7CisJ CWNsb3NlX2F0dHIoZnApOworCQljbG9zZV90YWcoZnAsIHRvay0+aWQpOwor CX0gZWxzZSB7CisJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQlwcmludF8x X2J5dGUoZnAsIHRvay0+dHQuYXJnNjQubm8sICIldSIpOworCQlwcmludF9k ZWxpbShmcCwgZGVsKTsKKwkJcHJpbnRfOF9ieXRlcyhmcCwgdG9rLT50dC5h cmc2NC52YWwsICIweCVsbHgiKTsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7 CisJCXByaW50X3N0cmluZyhmcCwgdG9rLT50dC5hcmc2NC50ZXh0LCB0b2st PnR0LmFyZzY0Lmxlbik7CisJfQogfQogCiAvKgpAQCAtOTI0LDE1ICsxMzc2 LDE2IEBACiAKIHN0YXRpYyB2b2lkCiBwcmludF9hcmJfdG9rKEZJTEUgKmZw LCB0b2tlbnN0cl90ICp0b2ssIGNoYXIgKmRlbCwgY2hhciByYXcsCi0gICAg X191bnVzZWQgY2hhciBzZnJtKQorICAgIF9fdW51c2VkIGNoYXIgc2ZybSwg Y2hhciB4bWwpCiB7CiAJY2hhciAqc3RyOwogCWNoYXIgKmZvcm1hdDsKIAlz aXplX3Qgc2l6ZTsKIAlpbnQgaTsKIAotCXByaW50X3Rva190eXBlKGZwLCB0 b2stPmlkLCAiYXJiaXRyYXJ5IiwgcmF3KTsKLQlwcmludF9kZWxpbShmcCwg ZGVsKTsKKwlwcmludF90b2tfdHlwZShmcCwgdG9rLT5pZCwgImFyYml0cmFy eSIsIHJhdywgeG1sKTsgCisJaWYgKCF4bWwpCisJCXByaW50X2RlbGltKGZw LCBkZWwpOwogCiAJc3dpdGNoKHRvay0+dHQuYXJiLmhvd3RvcHIpIHsKIAlj YXNlIEFVUF9CSU5BUlk6CkBAIC05NjQsNTYgKzE0MTcsMTE3IEBACiAJCXJl dHVybjsKIAl9CiAKLQlwcmludF9zdHJpbmcoZnAsIHN0ciwgc3RybGVuKHN0 cikpOwotCXByaW50X2RlbGltKGZwLCBkZWwpOworCWlmICh4bWwpIHsKKwkJ b3Blbl9hdHRyKGZwLCAicHJpbnQiKTsKKwkJZnByaW50ZihmcCwgIiVzIixz dHIpOworCQljbG9zZV9hdHRyKGZwKTsKKwl9IGVsc2UgeworCQlwcmludF9z dHJpbmcoZnAsIHN0ciwgc3RybGVuKHN0cikpOworCQlwcmludF9kZWxpbShm cCwgZGVsKTsKKwl9CiAJc3dpdGNoKHRvay0+dHQuYXJiLmJ1KSB7CiAJY2Fz ZSBBVVJfQllURToKIAkvKiBjYXNlIEFVUl9DSEFSOiAqLwogCQlzdHIgPSAi Ynl0ZSI7CiAJCXNpemUgPSBBVVJfQllURV9TSVpFOwotCQlwcmludF9zdHJp bmcoZnAsIHN0ciwgc3RybGVuKHN0cikpOwotCQlwcmludF9kZWxpbShmcCwg ZGVsKTsKLQkJcHJpbnRfMV9ieXRlKGZwLCB0b2stPnR0LmFyYi51YywgIiV1 Iik7Ci0JCXByaW50X2RlbGltKGZwLCBkZWwpOwotCQlmb3IgKGkgPSAwOyBp PHRvay0+dHQuYXJiLnVjOyBpKyspCi0JCQlmcHJpbnRmKGZwLCBmb3JtYXQs ICoodG9rLT50dC5hcmIuZGF0YSArIChzaXplICogaSkpKTsKKwkJaWYgKHht bCkgeworCQkJb3Blbl9hdHRyKGZwLCAidHlwZSIpOworCQkJZnByaW50Zihm cCwgIiV1Iiwgc2l6ZSk7CisJCQljbG9zZV9hdHRyKGZwKTsKKwkJCW9wZW5f YXR0cihmcCwgImNvdW50Iik7CisJCQlwcmludF8xX2J5dGUoZnAsIHRvay0+ dHQuYXJiLnVjLCAiJXUiKTsKKwkJCWNsb3NlX2F0dHIoZnApOworCQkJZnBy aW50ZihmcCwgIj4iKTsKKwkJCWZvciAoaSA9IDA7IGk8dG9rLT50dC5hcmIu dWM7IGkrKykKKwkJCQlmcHJpbnRmKGZwLCBmb3JtYXQsICoodG9rLT50dC5h cmIuZGF0YSArIChzaXplICogaSkpKTsKKwkJCWNsb3NlX3RhZyhmcCwgdG9r LT5pZCk7CisJCX0gZWxzZSB7CisJCQlwcmludF9zdHJpbmcoZnAsIHN0ciwg c3RybGVuKHN0cikpOworCQkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCQlw cmludF8xX2J5dGUoZnAsIHRvay0+dHQuYXJiLnVjLCAiJXUiKTsKKwkJCXBy aW50X2RlbGltKGZwLCBkZWwpOworCQkJZm9yIChpID0gMDsgaTx0b2stPnR0 LmFyYi51YzsgaSsrKQorCQkJCWZwcmludGYoZnAsIGZvcm1hdCwgKih0b2st PnR0LmFyYi5kYXRhICsgKHNpemUgKiBpKSkpOworCQl9CiAJCWJyZWFrOwog CiAJY2FzZSBBVVJfU0hPUlQ6CiAJCXN0ciA9ICJzaG9ydCI7CiAJCXNpemUg PSBBVVJfU0hPUlRfU0laRTsKLQkJcHJpbnRfc3RyaW5nKGZwLCBzdHIsIHN0 cmxlbihzdHIpKTsKLQkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0JCXByaW50 XzFfYnl0ZShmcCwgdG9rLT50dC5hcmIudWMsICIldSIpOwotCQlwcmludF9k ZWxpbShmcCwgZGVsKTsKLQkJZm9yIChpID0gMDsgaSA8IHRvay0+dHQuYXJi LnVjOyBpKyspCi0JCQlmcHJpbnRmKGZwLCBmb3JtYXQsICooKHVfaW50MTZf dCAqKSh0b2stPnR0LmFyYi5kYXRhICsKLQkJCSAgICAoc2l6ZSAqIGkpKSkp OworCQlpZiAoeG1sKSB7CisJCQlvcGVuX2F0dHIoZnAsICJ0eXBlIik7CisJ CQlmcHJpbnRmKGZwLCAiJXUiLCBzaXplKTsKKwkJCWNsb3NlX2F0dHIoZnAp OworCQkJb3Blbl9hdHRyKGZwLCAiY291bnQiKTsKKwkJCXByaW50XzFfYnl0 ZShmcCwgdG9rLT50dC5hcmIudWMsICIldSIpOworCQkJY2xvc2VfYXR0cihm cCk7CisJCQlmcHJpbnRmKGZwLCAiPiIpOworCQkJZm9yIChpID0gMDsgaSA8 IHRvay0+dHQuYXJiLnVjOyBpKyspCisJCQkJZnByaW50ZihmcCwgZm9ybWF0 LCAqKCh1X2ludDE2X3QgKikodG9rLT50dC5hcmIuZGF0YSArCisJCQkJCShz aXplICogaSkpKSk7CisJCQljbG9zZV90YWcoZnAsIHRvay0+aWQpOworCQl9 IGVsc2UgeworCQkJcHJpbnRfc3RyaW5nKGZwLCBzdHIsIHN0cmxlbihzdHIp KTsKKwkJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQkJcHJpbnRfMV9ieXRl KGZwLCB0b2stPnR0LmFyYi51YywgIiV1Iik7CisJCQlwcmludF9kZWxpbShm cCwgZGVsKTsKKwkJCWZvciAoaSA9IDA7IGkgPCB0b2stPnR0LmFyYi51Yzsg aSsrKQorCQkJCWZwcmludGYoZnAsIGZvcm1hdCwgKigodV9pbnQxNl90ICop KHRvay0+dHQuYXJiLmRhdGEgKworCQkJCQkoc2l6ZSAqIGkpKSkpOworCQl9 CiAJCWJyZWFrOwogCiAJY2FzZSBBVVJfSU5UMzI6CiAJLyogY2FzZSBBVVJf SU5UOiAqLwogCQlzdHIgPSAiaW50IjsKIAkJc2l6ZSA9IEFVUl9JTlQzMl9T SVpFOwotCQlwcmludF9zdHJpbmcoZnAsIHN0ciwgc3RybGVuKHN0cikpOwot CQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQkJcHJpbnRfMV9ieXRlKGZwLCB0 b2stPnR0LmFyYi51YywgIiV1Iik7Ci0JCXByaW50X2RlbGltKGZwLCBkZWwp OwotCQlmb3IgKGkgPSAwOyBpIDwgdG9rLT50dC5hcmIudWM7IGkrKykKLQkJ CWZwcmludGYoZnAsIGZvcm1hdCwgKigodV9pbnQzMl90ICopKHRvay0+dHQu YXJiLmRhdGEgKwotCQkJICAgIChzaXplICogaSkpKSk7CisJCWlmICh4bWwp IHsKKwkJCW9wZW5fYXR0cihmcCwgInR5cGUiKTsKKwkJCWZwcmludGYoZnAs ICIldSIsIHNpemUpOworCQkJY2xvc2VfYXR0cihmcCk7CisJCQlvcGVuX2F0 dHIoZnAsICJjb3VudCIpOworCQkJcHJpbnRfMV9ieXRlKGZwLCB0b2stPnR0 LmFyYi51YywgIiV1Iik7CisJCQljbG9zZV9hdHRyKGZwKTsKKwkJCWZwcmlu dGYoZnAsICI+Iik7CisJCQlmb3IgKGkgPSAwOyBpIDwgdG9rLT50dC5hcmIu dWM7IGkrKykKKwkJCQlmcHJpbnRmKGZwLCBmb3JtYXQsICooKHVfaW50MzJf dCAqKSh0b2stPnR0LmFyYi5kYXRhICsKKwkJCQkJKHNpemUgKiBpKSkpKTsK KwkJCWNsb3NlX3RhZyhmcCwgdG9rLT5pZCk7CisJCX0gZWxzZSB7CisJCQlw cmludF9zdHJpbmcoZnAsIHN0ciwgc3RybGVuKHN0cikpOworCQkJcHJpbnRf ZGVsaW0oZnAsIGRlbCk7CisJCQlwcmludF8xX2J5dGUoZnAsIHRvay0+dHQu YXJiLnVjLCAiJXUiKTsKKwkJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQkJ Zm9yIChpID0gMDsgaSA8IHRvay0+dHQuYXJiLnVjOyBpKyspCisJCQkJZnBy aW50ZihmcCwgZm9ybWF0LCAqKCh1X2ludDMyX3QgKikodG9rLT50dC5hcmIu ZGF0YSArCisJCQkJCShzaXplICogaSkpKSk7CisJCX0KIAkJYnJlYWs7CiAK IAljYXNlIEFVUl9JTlQ2NDoKIAkJc3RyID0gImludDY0IjsKIAkJc2l6ZSA9 IEFVUl9JTlQ2NF9TSVpFOwotCQlwcmludF9zdHJpbmcoZnAsIHN0ciwgc3Ry bGVuKHN0cikpOwotCQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQkJcHJpbnRf MV9ieXRlKGZwLCB0b2stPnR0LmFyYi51YywgIiV1Iik7Ci0JCXByaW50X2Rl bGltKGZwLCBkZWwpOwotCQlmb3IgKGkgPSAwOyBpIDwgdG9rLT50dC5hcmIu dWM7IGkrKykKLQkJCWZwcmludGYoZnAsIGZvcm1hdCwgKigodV9pbnQ2NF90 ICopKHRvay0+dHQuYXJiLmRhdGEgKwotCQkJICAgIChzaXplICogaSkpKSk7 CisJCWlmICh4bWwpIHsKKwkJCW9wZW5fYXR0cihmcCwgInR5cGUiKTsKKwkJ CWZwcmludGYoZnAsICIldSIsIHNpemUpOworCQkJY2xvc2VfYXR0cihmcCk7 CisJCQlvcGVuX2F0dHIoZnAsICJjb3VudCIpOworCQkJcHJpbnRfMV9ieXRl KGZwLCB0b2stPnR0LmFyYi51YywgIiV1Iik7CisJCQljbG9zZV9hdHRyKGZw KTsKKwkJCWZwcmludGYoZnAsICI+Iik7CisJCQlmb3IgKGkgPSAwOyBpIDwg dG9rLT50dC5hcmIudWM7IGkrKykKKwkJCQlmcHJpbnRmKGZwLCBmb3JtYXQs ICooKHVfaW50NjRfdCAqKSh0b2stPnR0LmFyYi5kYXRhICsKKwkJCQkJKHNp emUgKiBpKSkpKTsKKwkJCWNsb3NlX3RhZyhmcCwgdG9rLT5pZCk7CisJCX0g ZWxzZSB7CisJCQlwcmludF9zdHJpbmcoZnAsIHN0ciwgc3RybGVuKHN0cikp OworCQkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCQlwcmludF8xX2J5dGUo ZnAsIHRvay0+dHQuYXJiLnVjLCAiJXUiKTsKKwkJCXByaW50X2RlbGltKGZw LCBkZWwpOworCQkJZm9yIChpID0gMDsgaSA8IHRvay0+dHQuYXJiLnVjOyBp KyspCisJCQkJZnByaW50ZihmcCwgZm9ybWF0LCAqKCh1X2ludDY0X3QgKiko dG9rLT50dC5hcmIuZGF0YSArCisJCQkJCShzaXplICogaSkpKSk7CisJCX0K IAkJYnJlYWs7CiAKIAlkZWZhdWx0OgpAQCAtMTA2MywyMiArMTU3Nyw0NCBA QAogCiBzdGF0aWMgdm9pZAogcHJpbnRfYXR0cjMyX3RvayhGSUxFICpmcCwg dG9rZW5zdHJfdCAqdG9rLCBjaGFyICpkZWwsIGNoYXIgcmF3LAotICAgIF9f dW51c2VkIGNoYXIgc2ZybSkKKyAgICBfX3VudXNlZCBjaGFyIHNmcm0sIGNo YXIgeG1sKQogewogCi0JcHJpbnRfdG9rX3R5cGUoZnAsIHRvay0+aWQsICJh dHRyaWJ1dGUiLCByYXcpOwotCXByaW50X2RlbGltKGZwLCBkZWwpOwotCXBy aW50XzRfYnl0ZXMoZnAsIHRvay0+dHQuYXR0cjMyLm1vZGUsICIlbyIpOwot CXByaW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50X3VzZXIoZnAsIHRvay0+ dHQuYXR0cjMyLnVpZCwgcmF3KTsKLQlwcmludF9kZWxpbShmcCwgZGVsKTsK LQlwcmludF9ncm91cChmcCwgdG9rLT50dC5hdHRyMzIuZ2lkLCByYXcpOwot CXByaW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50XzRfYnl0ZXMoZnAsIHRv ay0+dHQuYXR0cjMyLmZzaWQsICIldSIpOwotCXByaW50X2RlbGltKGZwLCBk ZWwpOwotCXByaW50XzhfYnl0ZXMoZnAsIHRvay0+dHQuYXR0cjMyLm5pZCwg IiVsbGQiKTsKLQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQlwcmludF80X2J5 dGVzKGZwLCB0b2stPnR0LmF0dHIzMi5kZXYsICIldSIpOworCXByaW50X3Rv a190eXBlKGZwLCB0b2stPmlkLCAiYXR0cmlidXRlIiwgcmF3LCB4bWwpOwor CWlmICh4bWwpIHsKKwkJb3Blbl9hdHRyKGZwLCAibW9kZSIpOworCQlwcmlu dF80X2J5dGVzKGZwLCB0b2stPnR0LmF0dHIzMi5tb2RlLCAiJW8iKTsKKwkJ Y2xvc2VfYXR0cihmcCk7CisJCW9wZW5fYXR0cihmcCwgInVpZCIpOworCQlw cmludF91c2VyKGZwLCB0b2stPnR0LmF0dHIzMi51aWQsIHJhdyk7CisJCWNs b3NlX2F0dHIoZnApOworCQlvcGVuX2F0dHIoZnAsICJnaWQiKTsKKwkJcHJp bnRfZ3JvdXAoZnAsIHRvay0+dHQuYXR0cjMyLmdpZCwgcmF3KTsKKwkJY2xv c2VfYXR0cihmcCk7CisJCW9wZW5fYXR0cihmcCwgImZzaWQiKTsKKwkJcHJp bnRfNF9ieXRlcyhmcCwgdG9rLT50dC5hdHRyMzIuZnNpZCwgIiV1Iik7CisJ CWNsb3NlX2F0dHIoZnApOworCQlvcGVuX2F0dHIoZnAsICJub2RlaWQiKTsK KwkJcHJpbnRfOF9ieXRlcyhmcCwgdG9rLT50dC5hdHRyMzIubmlkLCAiJWxs ZCIpOworCQljbG9zZV9hdHRyKGZwKTsKKwkJb3Blbl9hdHRyKGZwLCAiZGV2 aWNlIik7CisJCXByaW50XzRfYnl0ZXMoZnAsIHRvay0+dHQuYXR0cjMyLmRl diwgIiV1Iik7CisJCWNsb3NlX2F0dHIoZnApOworCQljbG9zZV90YWcoZnAs IHRvay0+aWQpOworCX0gZWxzZSB7CisJCXByaW50X2RlbGltKGZwLCBkZWwp OworCQlwcmludF80X2J5dGVzKGZwLCB0b2stPnR0LmF0dHIzMi5tb2RlLCAi JW8iKTsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXByaW50X3VzZXIo ZnAsIHRvay0+dHQuYXR0cjMyLnVpZCwgcmF3KTsKKwkJcHJpbnRfZGVsaW0o ZnAsIGRlbCk7CisJCXByaW50X2dyb3VwKGZwLCB0b2stPnR0LmF0dHIzMi5n aWQsIHJhdyk7CisJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQlwcmludF80 X2J5dGVzKGZwLCB0b2stPnR0LmF0dHIzMi5mc2lkLCAiJXUiKTsKKwkJcHJp bnRfZGVsaW0oZnAsIGRlbCk7CisJCXByaW50XzhfYnl0ZXMoZnAsIHRvay0+ dHQuYXR0cjMyLm5pZCwgIiVsbGQiKTsKKwkJcHJpbnRfZGVsaW0oZnAsIGRl bCk7CisJCXByaW50XzRfYnl0ZXMoZnAsIHRvay0+dHQuYXR0cjMyLmRldiwg IiV1Iik7CisJfQogfQogCiAvKgpAQCAtMTEyMywyMiArMTY1OSw0NCBAQAog CiBzdGF0aWMgdm9pZAogcHJpbnRfYXR0cjY0X3RvayhGSUxFICpmcCwgdG9r ZW5zdHJfdCAqdG9rLCBjaGFyICpkZWwsIGNoYXIgcmF3LAotICAgIF9fdW51 c2VkIGNoYXIgc2ZybSkKKyAgICBfX3VudXNlZCBjaGFyIHNmcm0sIGNoYXIg eG1sKQogewogCi0JcHJpbnRfdG9rX3R5cGUoZnAsIHRvay0+aWQsICJhdHRy aWJ1dGUiLCByYXcpOwotCXByaW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50 XzRfYnl0ZXMoZnAsIHRvay0+dHQuYXR0cjY0Lm1vZGUsICIlbyIpOwotCXBy aW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50X3VzZXIoZnAsIHRvay0+dHQu YXR0cjY0LnVpZCwgcmF3KTsKLQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQlw cmludF9ncm91cChmcCwgdG9rLT50dC5hdHRyNjQuZ2lkLCByYXcpOwotCXBy aW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50XzRfYnl0ZXMoZnAsIHRvay0+ dHQuYXR0cjY0LmZzaWQsICIldSIpOwotCXByaW50X2RlbGltKGZwLCBkZWwp OwotCXByaW50XzhfYnl0ZXMoZnAsIHRvay0+dHQuYXR0cjY0Lm5pZCwgIiVs bGQiKTsKLQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQlwcmludF84X2J5dGVz KGZwLCB0b2stPnR0LmF0dHI2NC5kZXYsICIlbGx1Iik7CisJcHJpbnRfdG9r X3R5cGUoZnAsIHRvay0+aWQsICJhdHRyaWJ1dGUiLCByYXcsIHhtbCk7CisJ aWYgKHhtbCkgeworCQlvcGVuX2F0dHIoZnAsICJtb2RlIik7CisJCXByaW50 XzRfYnl0ZXMoZnAsIHRvay0+dHQuYXR0cjY0Lm1vZGUsICIlbyIpOworCQlj bG9zZV9hdHRyKGZwKTsKKwkJb3Blbl9hdHRyKGZwLCAidWlkIik7CisJCXBy aW50X3VzZXIoZnAsIHRvay0+dHQuYXR0cjY0LnVpZCwgcmF3KTsKKwkJY2xv c2VfYXR0cihmcCk7CisJCW9wZW5fYXR0cihmcCwgImdpZCIpOworCQlwcmlu dF9ncm91cChmcCwgdG9rLT50dC5hdHRyNjQuZ2lkLCByYXcpOworCQljbG9z ZV9hdHRyKGZwKTsKKwkJb3Blbl9hdHRyKGZwLCAiZnNpZCIpOworCQlwcmlu dF80X2J5dGVzKGZwLCB0b2stPnR0LmF0dHI2NC5mc2lkLCAiJXUiKTsKKwkJ Y2xvc2VfYXR0cihmcCk7CisJCW9wZW5fYXR0cihmcCwgIm5vZGVpZCIpOwor CQlwcmludF84X2J5dGVzKGZwLCB0b2stPnR0LmF0dHI2NC5uaWQsICIlbGxk Iik7CisJCWNsb3NlX2F0dHIoZnApOworCQlvcGVuX2F0dHIoZnAsICJkZXZp Y2UiKTsKKwkJcHJpbnRfOF9ieXRlcyhmcCwgdG9rLT50dC5hdHRyNjQuZGV2 LCAiJWxsdSIpOworCQljbG9zZV9hdHRyKGZwKTsKKwkJY2xvc2VfdGFnKGZw LCB0b2stPmlkKTsKKwl9IGVsc2UgeworCQlwcmludF9kZWxpbShmcCwgZGVs KTsKKwkJcHJpbnRfNF9ieXRlcyhmcCwgdG9rLT50dC5hdHRyNjQubW9kZSwg IiVvIik7CisJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQlwcmludF91c2Vy KGZwLCB0b2stPnR0LmF0dHI2NC51aWQsIHJhdyk7CisJCXByaW50X2RlbGlt KGZwLCBkZWwpOworCQlwcmludF9ncm91cChmcCwgdG9rLT50dC5hdHRyNjQu Z2lkLCByYXcpOworCQlwcmludF9kZWxpbShmcCwgZGVsKTsKKwkJcHJpbnRf NF9ieXRlcyhmcCwgdG9rLT50dC5hdHRyNjQuZnNpZCwgIiV1Iik7CisJCXBy aW50X2RlbGltKGZwLCBkZWwpOworCQlwcmludF84X2J5dGVzKGZwLCB0b2st PnR0LmF0dHI2NC5uaWQsICIlbGxkIik7CisJCXByaW50X2RlbGltKGZwLCBk ZWwpOworCQlwcmludF84X2J5dGVzKGZwLCB0b2stPnR0LmF0dHI2NC5kZXYs ICIlbGx1Iik7CisJfQogfQogCiAvKgpAQCAtMTE2MywxNCArMTcyMSwyNCBA QAogCiBzdGF0aWMgdm9pZAogcHJpbnRfZXhpdF90b2soRklMRSAqZnAsIHRv a2Vuc3RyX3QgKnRvaywgY2hhciAqZGVsLCBjaGFyIHJhdywKLSAgICBfX3Vu dXNlZCBjaGFyIHNmcm0pCisgICAgX191bnVzZWQgY2hhciBzZnJtLCBjaGFy IHhtbCkKIHsKIAotCXByaW50X3Rva190eXBlKGZwLCB0b2stPmlkLCAiZXhp dCIsIHJhdyk7Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0JcHJpbnRfZXJy dmFsKGZwLCB0b2stPnR0LmV4aXQuc3RhdHVzKTsKLQlwcmludF9kZWxpbShm cCwgZGVsKTsKLQlwcmludF80X2J5dGVzKGZwLCB0b2stPnR0LmV4aXQucmV0 LCAiJXUiKTsKKwlwcmludF90b2tfdHlwZShmcCwgdG9rLT5pZCwgImV4aXQi LCByYXcsIHhtbCk7IAorCWlmICh4bWwpIHsKKwkJb3Blbl9hdHRyKGZwLCAi ZXJydmFsIik7CisJCXByaW50X2VycnZhbChmcCwgdG9rLT50dC5leGl0LnN0 YXR1cyk7CisJCWNsb3NlX2F0dHIoZnApOworCQlvcGVuX2F0dHIoZnAsICJy ZXR2YWwiKTsKKwkJcHJpbnRfNF9ieXRlcyhmcCwgdG9rLT50dC5leGl0LnJl dCwgIiV1Iik7CisJCWNsb3NlX2F0dHIoZnApOworCQljbG9zZV90YWcoZnAs IHRvay0+aWQpOworCX0gZWxzZSB7CisJCXByaW50X2RlbGltKGZwLCBkZWwp OworCQlwcmludF9lcnJ2YWwoZnAsIHRvay0+dHQuZXhpdC5zdGF0dXMpOwor CQlwcmludF9kZWxpbShmcCwgZGVsKTsKKwkJcHJpbnRfNF9ieXRlcyhmcCwg dG9rLT50dC5leGl0LnJldCwgIiV1Iik7CisJfQogfQogCiAvKgpAQCAtMTIx MSwxNiArMTc3OSwyNSBAQAogCiBzdGF0aWMgdm9pZAogcHJpbnRfZXhlY2Fy Z190b2soRklMRSAqZnAsIHRva2Vuc3RyX3QgKnRvaywgY2hhciAqZGVsLCBj aGFyIHJhdywKLSAgICBfX3VudXNlZCBjaGFyIHNmcm0pCisgICAgX191bnVz ZWQgY2hhciBzZnJtLCBjaGFyIHhtbCkKIHsKIAlpbnQgaTsKIAotCXByaW50 X3Rva190eXBlKGZwLCB0b2stPmlkLCAiZXhlYyBhcmciLCByYXcpOworCXBy aW50X3Rva190eXBlKGZwLCB0b2stPmlkLCAiZXhlYyBhcmciLCByYXcsIHht bCk7IAogCWZvciAoaSA9IDA7IGkgPCB0b2stPnR0LmV4ZWNhcmcuY291bnQ7 IGkrKykgewotCQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQkJcHJpbnRfc3Ry aW5nKGZwLCB0b2stPnR0LmV4ZWNhcmcudGV4dFtpXSwKLQkJICAgIHN0cmxl bih0b2stPnR0LmV4ZWNhcmcudGV4dFtpXSkpOworCQlpZiAoeG1sKSB7CisJ CQlmcHJpbnRmKGZwLCAiPGFyZz4iKTsKKwkJCXByaW50X3N0cmluZyhmcCwg dG9rLT50dC5leGVjYXJnLnRleHRbaV0sCisJCQkJc3RybGVuKHRvay0+dHQu ZXhlY2FyZy50ZXh0W2ldKSk7CisJCQlmcHJpbnRmKGZwLCAiPC9hcmc+Iik7 CisJCX0gZWxzZSB7CisJCQlwcmludF9kZWxpbShmcCwgZGVsKTsKKwkJCXBy aW50X3N0cmluZyhmcCwgdG9rLT50dC5leGVjYXJnLnRleHRbaV0sCisJCQkJ c3RybGVuKHRvay0+dHQuZXhlY2FyZy50ZXh0W2ldKSk7CisJCX0KIAl9CisJ aWYgKHhtbCkKKwkJY2xvc2VfdGFnKGZwLCB0b2stPmlkKTsKIH0KIAogLyoK QEAgLTEyNjEsMTYgKzE4MzgsMjUgQEAKIAogc3RhdGljIHZvaWQKIHByaW50 X2V4ZWNlbnZfdG9rKEZJTEUgKmZwLCB0b2tlbnN0cl90ICp0b2ssIGNoYXIg KmRlbCwgY2hhciByYXcsCi0gICAgX191bnVzZWQgY2hhciBzZnJtKQorICAg IF9fdW51c2VkIGNoYXIgc2ZybSwgY2hhciB4bWwpCiB7CiAJaW50IGk7CiAK LQlwcmludF90b2tfdHlwZShmcCwgdG9rLT5pZCwgImV4ZWMgZW52IiwgcmF3 KTsKKwlwcmludF90b2tfdHlwZShmcCwgdG9rLT5pZCwgImV4ZWMgZW52Iiwg cmF3LCB4bWwpOyAKIAlmb3IgKGkgPSAwOyBpPCB0b2stPnR0LmV4ZWNlbnYu Y291bnQ7IGkrKykgewotCQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQkJcHJp bnRfc3RyaW5nKGZwLCB0b2stPnR0LmV4ZWNlbnYudGV4dFtpXSwKLQkJICAg IHN0cmxlbih0b2stPnR0LmV4ZWNlbnYudGV4dFtpXSkpOworCQlpZiAoeG1s KSB7CisJCQlmcHJpbnRmKGZwLCAiPGVudj4iKTsKKwkJCXByaW50X3N0cmlu ZyhmcCwgdG9rLT50dC5leGVjZW52LnRleHRbaV0sCisJCQkJc3RybGVuKHRv ay0+dHQuZXhlY2Vudi50ZXh0W2ldKSk7CisJCQlmcHJpbnRmKGZwLCAiPC9l bnY+Iik7CisJCX0gZWxzZSB7CisJCQlwcmludF9kZWxpbShmcCwgZGVsKTsK KwkJCXByaW50X3N0cmluZyhmcCwgdG9rLT50dC5leGVjZW52LnRleHRbaV0s CisJCQkJc3RybGVuKHRvay0+dHQuZXhlY2Vudi50ZXh0W2ldKSk7CisJCX0K IAl9CisJaWYgKHhtbCkKKwkJY2xvc2VfdGFnKGZwLCB0b2stPmlkKTsKIH0K IAogLyoKQEAgLTEzMDUsMTYgKzE4OTEsMjggQEAKIAogc3RhdGljIHZvaWQK IHByaW50X2ZpbGVfdG9rKEZJTEUgKmZwLCB0b2tlbnN0cl90ICp0b2ssIGNo YXIgKmRlbCwgY2hhciByYXcsCi0gICAgX191bnVzZWQgY2hhciBzZnJtKQor ICAgIF9fdW51c2VkIGNoYXIgc2ZybSwgY2hhciB4bWwpCiB7CiAKLQlwcmlu dF90b2tfdHlwZShmcCwgdG9rLT5pZCwgImZpbGUiLCByYXcpOwotCXByaW50 X2RlbGltKGZwLCBkZWwpOwotCXByaW50X3NlYzMyKGZwLCB0b2stPnR0LmZp bGUucywgcmF3KTsKLQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQlwcmludF9t c2VjMzIoZnAsIHRvay0+dHQuZmlsZS5tcywgcmF3KTsKLQlwcmludF9kZWxp bShmcCwgZGVsKTsKLQlwcmludF9zdHJpbmcoZnAsIHRvay0+dHQuZmlsZS5u YW1lLCB0b2stPnR0LmZpbGUubGVuKTsKKwlwcmludF90b2tfdHlwZShmcCwg dG9rLT5pZCwgImZpbGUiLCByYXcsIHhtbCk7IAorCWlmICh4bWwpIHsKKwkJ b3Blbl9hdHRyKGZwLCAidGltZSIpOworCQlwcmludF9zZWMzMihmcCwgdG9r LT50dC5maWxlLnMsIHJhdyk7CisJCWNsb3NlX2F0dHIoZnApOworCQlvcGVu X2F0dHIoZnAsICJtc2VjIik7CisJCXByaW50X21zZWMzMihmcCwgdG9rLT50 dC5maWxlLm1zLCByYXcpOworCQljbG9zZV9hdHRyKGZwKTsKKwkJZnByaW50 ZihmcCwgIj4iKTsKKwkJcHJpbnRfc3RyaW5nKGZwLCB0b2stPnR0LmZpbGUu bmFtZSwgdG9rLT50dC5maWxlLmxlbik7CisJCWNsb3NlX3RhZyhmcCwgdG9r LT5pZCk7CisJfSBlbHNlIHsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJ CXByaW50X3NlYzMyKGZwLCB0b2stPnR0LmZpbGUucywgcmF3KTsKKwkJcHJp bnRfZGVsaW0oZnAsIGRlbCk7CisJCXByaW50X21zZWMzMihmcCwgdG9rLT50 dC5maWxlLm1zLCByYXcpOworCQlwcmludF9kZWxpbShmcCwgZGVsKTsKKwkJ cHJpbnRfc3RyaW5nKGZwLCB0b2stPnR0LmZpbGUubmFtZSwgdG9rLT50dC5m aWxlLmxlbik7CisJfQogfQogCiAvKgpAQCAtMTM0MywxNCArMTk0MSwyMSBA QAogCiBzdGF0aWMgdm9pZAogcHJpbnRfbmV3Z3JvdXBzX3RvayhGSUxFICpm cCwgdG9rZW5zdHJfdCAqdG9rLCBjaGFyICpkZWwsIGNoYXIgcmF3LAotICAg IF9fdW51c2VkIGNoYXIgc2ZybSkKKyAgICBfX3VudXNlZCBjaGFyIHNmcm0s IGNoYXIgeG1sKQogewogCWludCBpOwogCi0JcHJpbnRfdG9rX3R5cGUoZnAs IHRvay0+aWQsICJncm91cCIsIHJhdyk7CisJcHJpbnRfdG9rX3R5cGUoZnAs IHRvay0+aWQsICJncm91cCIsIHJhdywgeG1sKTsgCiAJZm9yIChpID0gMDsg aSA8IHRvay0+dHQuZ3Jwcy5ubzsgaSsrKSB7Ci0JCXByaW50X2RlbGltKGZw LCBkZWwpOwotCQlwcmludF9ncm91cChmcCwgdG9rLT50dC5ncnBzLmxpc3Rb aV0sIHJhdyk7CisJCWlmICh4bWwpIHsKKwkJCWZwcmludGYoZnAsICI8Z2lk PiIpOworCQkJcHJpbnRfZ3JvdXAoZnAsIHRvay0+dHQuZ3Jwcy5saXN0W2ld LCByYXcpOworCQkJZnByaW50ZihmcCwgIjwvZ2lkPiIpOworCQkJY2xvc2Vf dGFnKGZwLCB0b2stPmlkKTsKKwkJfSBlbHNlIHsKKwkJCXByaW50X2RlbGlt KGZwLCBkZWwpOworCQkJcHJpbnRfZ3JvdXAoZnAsIHRvay0+dHQuZ3Jwcy5s aXN0W2ldLCByYXcpOworCQl9CiAJfQogfQogCkBAIC0xMzczLDEyICsxOTc4 LDE3IEBACiAKIHN0YXRpYyB2b2lkCiBwcmludF9pbmFkZHJfdG9rKEZJTEUg KmZwLCB0b2tlbnN0cl90ICp0b2ssIGNoYXIgKmRlbCwgY2hhciByYXcsCi0g ICAgX191bnVzZWQgY2hhciBzZnJtKQorICAgIF9fdW51c2VkIGNoYXIgc2Zy bSwgY2hhciB4bWwpCiB7CiAKLQlwcmludF90b2tfdHlwZShmcCwgdG9rLT5p ZCwgImlwIGFkZHIiLCByYXcpOwotCXByaW50X2RlbGltKGZwLCBkZWwpOwot CXByaW50X2lwX2FkZHJlc3MoZnAsIHRvay0+dHQuaW5hZGRyLmFkZHIpOwor CXByaW50X3Rva190eXBlKGZwLCB0b2stPmlkLCAiaXAgYWRkciIsIHJhdywg eG1sKTsKKwlpZiAoeG1sKSB7CisJCXByaW50X2lwX2FkZHJlc3MoZnAsIHRv ay0+dHQuaW5hZGRyLmFkZHIpOworCQljbG9zZV90YWcoZnAsIHRvay0+aWQp OworCX0gZWxzZSB7CisJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQlwcmlu dF9pcF9hZGRyZXNzKGZwLCB0b2stPnR0LmluYWRkci5hZGRyKTsKKwl9CiB9 CiAKIC8qCkBAIC0xNDEyLDEzICsyMDIyLDE5IEBACiAKIHN0YXRpYyB2b2lk CiBwcmludF9pbmFkZHJfZXhfdG9rKEZJTEUgKmZwLCB0b2tlbnN0cl90ICp0 b2ssIGNoYXIgKmRlbCwgY2hhciByYXcsCi0gICAgX191bnVzZWQgY2hhciBz ZnJtKQorICAgIF9fdW51c2VkIGNoYXIgc2ZybSwgY2hhciB4bWwpCiB7CiAK LQlwcmludF90b2tfdHlwZShmcCwgdG9rLT5pZCwgImlwIGFkZHIgZXgiLCBy YXcpOwotCXByaW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50X2lwX2V4X2Fk ZHJlc3MoZnAsIHRvay0+dHQuaW5hZGRyX2V4LnR5cGUsCi0JICAgIHRvay0+ dHQuaW5hZGRyX2V4LmFkZHIpOworCXByaW50X3Rva190eXBlKGZwLCB0b2st PmlkLCAiaXAgYWRkciBleCIsIHJhdywgeG1sKTsgCisJaWYgKHhtbCkgewor CQlwcmludF9pcF9leF9hZGRyZXNzKGZwLCB0b2stPnR0LmluYWRkcl9leC50 eXBlLAorCQkJdG9rLT50dC5pbmFkZHJfZXguYWRkcik7CisJCWNsb3NlX3Rh ZyhmcCwgdG9rLT5pZCk7CisJfSBlbHNlIHsKKwkJcHJpbnRfZGVsaW0oZnAs IGRlbCk7CisJCXByaW50X2lwX2V4X2FkZHJlc3MoZnAsIHRvay0+dHQuaW5h ZGRyX2V4LnR5cGUsCisJCQl0b2stPnR0LmluYWRkcl9leC5hZGRyKTsKKwl9 CiB9CiAKIC8qCkBAIC0xNDgwLDMwICsyMDk2LDY0IEBACiAKIHN0YXRpYyB2 b2lkCiBwcmludF9pcF90b2soRklMRSAqZnAsIHRva2Vuc3RyX3QgKnRvaywg Y2hhciAqZGVsLCBjaGFyIHJhdywKLSAgICBfX3VudXNlZCBjaGFyIHNmcm0p CisgICAgX191bnVzZWQgY2hhciBzZnJtLCBjaGFyIHhtbCkKIHsKIAotCXBy aW50X3Rva190eXBlKGZwLCB0b2stPmlkLCAiaXAiLCByYXcpOwotCXByaW50 X2RlbGltKGZwLCBkZWwpOwotCXByaW50X21lbShmcCwgKHVfY2hhciAqKSgm dG9rLT50dC5pcC52ZXJzaW9uKSwgc2l6ZW9mKHVfY2hhcikpOwotCXByaW50 X2RlbGltKGZwLCBkZWwpOwotCXByaW50X21lbShmcCwgKHVfY2hhciAqKSgm dG9rLT50dC5pcC50b3MpLCBzaXplb2YodV9jaGFyKSk7Ci0JcHJpbnRfZGVs aW0oZnAsIGRlbCk7Ci0JcHJpbnRfMl9ieXRlcyhmcCwgbnRvaHModG9rLT50 dC5pcC5sZW4pLCAiJXUiKTsKLQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQlw cmludF8yX2J5dGVzKGZwLCBudG9ocyh0b2stPnR0LmlwLmlkKSwgIiV1Iik7 Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0JcHJpbnRfMl9ieXRlcyhmcCwg bnRvaHModG9rLT50dC5pcC5vZmZzZXQpLCAiJXUiKTsKLQlwcmludF9kZWxp bShmcCwgZGVsKTsKLQlwcmludF9tZW0oZnAsICh1X2NoYXIgKikoJnRvay0+ dHQuaXAudHRsKSwgc2l6ZW9mKHVfY2hhcikpOwotCXByaW50X2RlbGltKGZw LCBkZWwpOwotCXByaW50X21lbShmcCwgKHVfY2hhciAqKSgmdG9rLT50dC5p cC5wcm90KSwgc2l6ZW9mKHVfY2hhcikpOwotCXByaW50X2RlbGltKGZwLCBk ZWwpOwotCXByaW50XzJfYnl0ZXMoZnAsIG50b2hzKHRvay0+dHQuaXAuY2hr c20pLCAiJXUiKTsKLQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQlwcmludF9p cF9hZGRyZXNzKGZwLCB0b2stPnR0LmlwLnNyYyk7Ci0JcHJpbnRfZGVsaW0o ZnAsIGRlbCk7Ci0JcHJpbnRfaXBfYWRkcmVzcyhmcCwgdG9rLT50dC5pcC5k ZXN0KTsKKwlwcmludF90b2tfdHlwZShmcCwgdG9rLT5pZCwgImlwIiwgcmF3 LCB4bWwpOyAKKwlpZiAoeG1sKSB7CisJCW9wZW5fYXR0cihmcCwgInZlcnNp b24iKTsKKwkJcHJpbnRfbWVtKGZwLCAodV9jaGFyICopKCZ0b2stPnR0Lmlw LnZlcnNpb24pLCBzaXplb2YodV9jaGFyKSk7CisJCWNsb3NlX2F0dHIoZnAp OworCQlvcGVuX2F0dHIoZnAsICJzZXJ2aWNlX3R5cGUiKTsKKwkJcHJpbnRf bWVtKGZwLCAodV9jaGFyICopKCZ0b2stPnR0LmlwLnRvcyksIHNpemVvZih1 X2NoYXIpKTsKKwkJY2xvc2VfYXR0cihmcCk7CisJCW9wZW5fYXR0cihmcCwg ImxlbiIpOworCQlwcmludF8yX2J5dGVzKGZwLCBudG9ocyh0b2stPnR0Lmlw LmxlbiksICIldSIpOworCQljbG9zZV9hdHRyKGZwKTsKKwkJb3Blbl9hdHRy KGZwLCAiaWQiKTsKKwkJcHJpbnRfMl9ieXRlcyhmcCwgbnRvaHModG9rLT50 dC5pcC5pZCksICIldSIpOworCQljbG9zZV9hdHRyKGZwKTsKKwkJb3Blbl9h dHRyKGZwLCAib2Zmc2V0Iik7CisJCXByaW50XzJfYnl0ZXMoZnAsIG50b2hz KHRvay0+dHQuaXAub2Zmc2V0KSwgIiV1Iik7CisJCWNsb3NlX2F0dHIoZnAp OworCQlvcGVuX2F0dHIoZnAsICJ0aW1lX3RvX2xpdmUiKTsKKwkJcHJpbnRf bWVtKGZwLCAodV9jaGFyICopKCZ0b2stPnR0LmlwLnR0bCksIHNpemVvZih1 X2NoYXIpKTsKKwkJY2xvc2VfYXR0cihmcCk7CisJCW9wZW5fYXR0cihmcCwg InByb3RvY29sIik7CisJCXByaW50X21lbShmcCwgKHVfY2hhciAqKSgmdG9r LT50dC5pcC5wcm90KSwgc2l6ZW9mKHVfY2hhcikpOworCQljbG9zZV9hdHRy KGZwKTsKKwkJb3Blbl9hdHRyKGZwLCAiY2tzdW0iKTsKKwkJcHJpbnRfMl9i eXRlcyhmcCwgbnRvaHModG9rLT50dC5pcC5jaGtzbSksICIldSIpOworCQlj bG9zZV9hdHRyKGZwKTsKKwkJb3Blbl9hdHRyKGZwLCAic3JjX2FkZHIiKTsK KwkJcHJpbnRfaXBfYWRkcmVzcyhmcCwgdG9rLT50dC5pcC5zcmMpOworCQlj bG9zZV9hdHRyKGZwKTsKKwkJb3Blbl9hdHRyKGZwLCAiZGVzdF9hZGRyIik7 CisJCXByaW50X2lwX2FkZHJlc3MoZnAsIHRvay0+dHQuaXAuZGVzdCk7CisJ CWNsb3NlX2F0dHIoZnApOworCQljbG9zZV90YWcoZnAsIHRvay0+aWQpOwor CX0gZWxzZSB7CisJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQlwcmludF9t ZW0oZnAsICh1X2NoYXIgKikoJnRvay0+dHQuaXAudmVyc2lvbiksIHNpemVv Zih1X2NoYXIpKTsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXByaW50 X21lbShmcCwgKHVfY2hhciAqKSgmdG9rLT50dC5pcC50b3MpLCBzaXplb2Yo dV9jaGFyKSk7CisJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQlwcmludF8y X2J5dGVzKGZwLCBudG9ocyh0b2stPnR0LmlwLmxlbiksICIldSIpOworCQlw cmludF9kZWxpbShmcCwgZGVsKTsKKwkJcHJpbnRfMl9ieXRlcyhmcCwgbnRv aHModG9rLT50dC5pcC5pZCksICIldSIpOworCQlwcmludF9kZWxpbShmcCwg ZGVsKTsKKwkJcHJpbnRfMl9ieXRlcyhmcCwgbnRvaHModG9rLT50dC5pcC5v ZmZzZXQpLCAiJXUiKTsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXBy aW50X21lbShmcCwgKHVfY2hhciAqKSgmdG9rLT50dC5pcC50dGwpLCBzaXpl b2YodV9jaGFyKSk7CisJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQlwcmlu dF9tZW0oZnAsICh1X2NoYXIgKikoJnRvay0+dHQuaXAucHJvdCksIHNpemVv Zih1X2NoYXIpKTsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXByaW50 XzJfYnl0ZXMoZnAsIG50b2hzKHRvay0+dHQuaXAuY2hrc20pLCAiJXUiKTsK KwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXByaW50X2lwX2FkZHJlc3Mo ZnAsIHRvay0+dHQuaXAuc3JjKTsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7 CisJCXByaW50X2lwX2FkZHJlc3MoZnAsIHRvay0+dHQuaXAuZGVzdCk7CisJ fQogfQogCiAvKgpAQCAtMTUyOCwxNCArMjE3OCwyNCBAQAogCiBzdGF0aWMg dm9pZAogcHJpbnRfaXBjX3RvayhGSUxFICpmcCwgdG9rZW5zdHJfdCAqdG9r LCBjaGFyICpkZWwsIGNoYXIgcmF3LAotICAgIF9fdW51c2VkIGNoYXIgc2Zy bSkKKyAgICBfX3VudXNlZCBjaGFyIHNmcm0sIGNoYXIgeG1sKQogewogCi0J cHJpbnRfdG9rX3R5cGUoZnAsIHRvay0+aWQsICJJUEMiLCByYXcpOwotCXBy aW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50X2lwY3R5cGUoZnAsIHRvay0+ dHQuaXBjLnR5cGUsIHJhdyk7Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0J cHJpbnRfNF9ieXRlcyhmcCwgdG9rLT50dC5pcGMuaWQsICIldSIpOworCXBy aW50X3Rva190eXBlKGZwLCB0b2stPmlkLCAiSVBDIiwgcmF3LCB4bWwpOyAK KwlpZiAoeG1sKSB7CisJCW9wZW5fYXR0cihmcCwgImlwYy10eXBlIik7CisJ CXByaW50X2lwY3R5cGUoZnAsIHRvay0+dHQuaXBjLnR5cGUsIHJhdyk7CisJ CWNsb3NlX2F0dHIoZnApOworCQlvcGVuX2F0dHIoZnAsICJpcGMtaWQiKTsK KwkJcHJpbnRfNF9ieXRlcyhmcCwgdG9rLT50dC5pcGMuaWQsICIldSIpOwor CQljbG9zZV9hdHRyKGZwKTsKKwkJY2xvc2VfdGFnKGZwLCB0b2stPmlkKTsK Kwl9IGVsc2UgeworCQlwcmludF9kZWxpbShmcCwgZGVsKTsKKwkJcHJpbnRf aXBjdHlwZShmcCwgdG9rLT50dC5pcGMudHlwZSwgcmF3KTsKKwkJcHJpbnRf ZGVsaW0oZnAsIGRlbCk7CisJCXByaW50XzRfYnl0ZXMoZnAsIHRvay0+dHQu aXBjLmlkLCAiJXUiKTsKKwl9CiB9CiAKIC8qCkBAIC0xNTg1LDI0ICsyMjQ1 LDQ5IEBACiAKIHN0YXRpYyB2b2lkCiBwcmludF9pcGNwZXJtX3RvayhGSUxF ICpmcCwgdG9rZW5zdHJfdCAqdG9rLCBjaGFyICpkZWwsIGNoYXIgcmF3LAot ICAgIF9fdW51c2VkIGNoYXIgc2ZybSkKKyAgICBfX3VudXNlZCBjaGFyIHNm cm0sIGNoYXIgeG1sKQogewogCi0JcHJpbnRfdG9rX3R5cGUoZnAsIHRvay0+ aWQsICJJUEMgcGVybSIsIHJhdyk7Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7 Ci0JcHJpbnRfdXNlcihmcCwgdG9rLT50dC5pcGNwZXJtLnVpZCwgcmF3KTsK LQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQlwcmludF9ncm91cChmcCwgdG9r LT50dC5pcGNwZXJtLmdpZCwgcmF3KTsKLQlwcmludF9kZWxpbShmcCwgZGVs KTsKLQlwcmludF91c2VyKGZwLCB0b2stPnR0LmlwY3Blcm0ucHVpZCwgcmF3 KTsKLQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQlwcmludF9ncm91cChmcCwg dG9rLT50dC5pcGNwZXJtLnBnaWQsIHJhdyk7Ci0JcHJpbnRfZGVsaW0oZnAs IGRlbCk7Ci0JcHJpbnRfNF9ieXRlcyhmcCwgdG9rLT50dC5pcGNwZXJtLm1v ZGUsICIlbyIpOwotCXByaW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50XzRf Ynl0ZXMoZnAsIHRvay0+dHQuaXBjcGVybS5zZXEsICIldSIpOwotCXByaW50 X2RlbGltKGZwLCBkZWwpOwotCXByaW50XzRfYnl0ZXMoZnAsIHRvay0+dHQu aXBjcGVybS5rZXksICIldSIpOworCXByaW50X3Rva190eXBlKGZwLCB0b2st PmlkLCAiSVBDIHBlcm0iLCByYXcsIHhtbCk7IAorCWlmICh4bWwpIHsKKwkJ b3Blbl9hdHRyKGZwLCAidWlkIik7CisJCXByaW50X3VzZXIoZnAsIHRvay0+ dHQuaXBjcGVybS51aWQsIHJhdyk7CisJCWNsb3NlX2F0dHIoZnApOworCQlv cGVuX2F0dHIoZnAsICJnaWQiKTsKKwkJcHJpbnRfZ3JvdXAoZnAsIHRvay0+ dHQuaXBjcGVybS5naWQsIHJhdyk7CisJCWNsb3NlX2F0dHIoZnApOworCQlv cGVuX2F0dHIoZnAsICJjcmVhdG9yLXVpZCIpOworCQlwcmludF91c2VyKGZw LCB0b2stPnR0LmlwY3Blcm0ucHVpZCwgcmF3KTsKKwkJY2xvc2VfYXR0cihm cCk7CisJCW9wZW5fYXR0cihmcCwgImNyZWF0b3ItZ2lkIik7CisJCXByaW50 X2dyb3VwKGZwLCB0b2stPnR0LmlwY3Blcm0ucGdpZCwgcmF3KTsKKwkJY2xv c2VfYXR0cihmcCk7CisJCW9wZW5fYXR0cihmcCwgIm1vZGUiKTsKKwkJcHJp bnRfNF9ieXRlcyhmcCwgdG9rLT50dC5pcGNwZXJtLm1vZGUsICIlbyIpOwor CQljbG9zZV9hdHRyKGZwKTsKKwkJb3Blbl9hdHRyKGZwLCAic2VxIik7CisJ CXByaW50XzRfYnl0ZXMoZnAsIHRvay0+dHQuaXBjcGVybS5zZXEsICIldSIp OworCQljbG9zZV9hdHRyKGZwKTsKKwkJb3Blbl9hdHRyKGZwLCAia2V5Iik7 CisJCXByaW50XzRfYnl0ZXMoZnAsIHRvay0+dHQuaXBjcGVybS5rZXksICIl dSIpOworCQljbG9zZV9hdHRyKGZwKTsKKwkJY2xvc2VfdGFnKGZwLCB0b2st PmlkKTsKKwl9IGVsc2UgeworCQlwcmludF9kZWxpbShmcCwgZGVsKTsKKwkJ cHJpbnRfdXNlcihmcCwgdG9rLT50dC5pcGNwZXJtLnVpZCwgcmF3KTsKKwkJ cHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXByaW50X2dyb3VwKGZwLCB0b2st PnR0LmlwY3Blcm0uZ2lkLCByYXcpOworCQlwcmludF9kZWxpbShmcCwgZGVs KTsKKwkJcHJpbnRfdXNlcihmcCwgdG9rLT50dC5pcGNwZXJtLnB1aWQsIHJh dyk7CisJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQlwcmludF9ncm91cChm cCwgdG9rLT50dC5pcGNwZXJtLnBnaWQsIHJhdyk7CisJCXByaW50X2RlbGlt KGZwLCBkZWwpOworCQlwcmludF80X2J5dGVzKGZwLCB0b2stPnR0LmlwY3Bl cm0ubW9kZSwgIiVvIik7CisJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQlw cmludF80X2J5dGVzKGZwLCB0b2stPnR0LmlwY3Blcm0uc2VxLCAiJXUiKTsK KwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXByaW50XzRfYnl0ZXMoZnAs IHRvay0+dHQuaXBjcGVybS5rZXksICIldSIpOworCX0KIH0KIAogLyoKQEAg LTE2MjMsMTIgKzIzMDgsMTggQEAKIAogc3RhdGljIHZvaWQKIHByaW50X2lw b3J0X3RvayhGSUxFICpmcCwgdG9rZW5zdHJfdCAqdG9rLCBjaGFyICpkZWws IGNoYXIgcmF3LAotICAgIF9fdW51c2VkIGNoYXIgc2ZybSkKKyAgICBfX3Vu dXNlZCBjaGFyIHNmcm0sIGNoYXIgeG1sKQogewogCi0JcHJpbnRfdG9rX3R5 cGUoZnAsIHRvay0+aWQsICJpcCBwb3J0IiwgcmF3KTsKLQlwcmludF9kZWxp bShmcCwgZGVsKTsKLQlwcmludF8yX2J5dGVzKGZwLCBudG9ocyh0b2stPnR0 Lmlwb3J0LnBvcnQpLCAiJSN4Iik7CisJcHJpbnRfdG9rX3R5cGUoZnAsIHRv ay0+aWQsICJpcCBwb3J0IiwgcmF3LCB4bWwpOworCWlmICh4bWwpIHsKKwkJ cHJpbnRfMl9ieXRlcyhmcCwgbnRvaHModG9rLT50dC5pcG9ydC5wb3J0KSwg IiUjeCIpOworCQljbG9zZV90YWcoZnAsIHRvay0+aWQpOworCX0gZWxzZSB7 CisJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQlwcmludF8yX2J5dGVzKGZw LCBudG9ocyh0b2stPnR0Lmlwb3J0LnBvcnQpLCAiJSN4Iik7CisJfQorCiB9 CiAKIC8qCkBAIC0xNjU0LDE0ICsyMzQ1LDE5IEBACiAKIHN0YXRpYyB2b2lk CiBwcmludF9vcGFxdWVfdG9rKEZJTEUgKmZwLCB0b2tlbnN0cl90ICp0b2ss IGNoYXIgKmRlbCwgY2hhciByYXcsCi0gICAgX191bnVzZWQgY2hhciBzZnJt KQorICAgIF9fdW51c2VkIGNoYXIgc2ZybSwgY2hhciB4bWwpCiB7CiAKLQlw cmludF90b2tfdHlwZShmcCwgdG9rLT5pZCwgIm9wYXF1ZSIsIHJhdyk7Ci0J cHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0JcHJpbnRfMl9ieXRlcyhmcCwgdG9r LT50dC5vcGFxdWUuc2l6ZSwgIiV1Iik7Ci0JcHJpbnRfZGVsaW0oZnAsIGRl bCk7Ci0JcHJpbnRfbWVtKGZwLCB0b2stPnR0Lm9wYXF1ZS5kYXRhLCB0b2st PnR0Lm9wYXF1ZS5zaXplKTsKKwlwcmludF90b2tfdHlwZShmcCwgdG9rLT5p ZCwgIm9wYXF1ZSIsIHJhdywgeG1sKTsKKwlpZiAoeG1sKSB7CisJCXByaW50 X21lbShmcCwgdG9rLT50dC5vcGFxdWUuZGF0YSwgdG9rLT50dC5vcGFxdWUu c2l6ZSk7CisJCWNsb3NlX3RhZyhmcCwgdG9rLT5pZCk7CisJfSBlbHNlIHsK KwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXByaW50XzJfYnl0ZXMoZnAs IHRvay0+dHQub3BhcXVlLnNpemUsICIldSIpOworCQlwcmludF9kZWxpbShm cCwgZGVsKTsKKwkJcHJpbnRfbWVtKGZwLCB0b2stPnR0Lm9wYXF1ZS5kYXRh LCB0b2stPnR0Lm9wYXF1ZS5zaXplKTsKKwl9CiB9CiAKIC8qCkBAIC0xNjg2 LDEyICsyMzgyLDE3IEBACiAKIHN0YXRpYyB2b2lkCiBwcmludF9wYXRoX3Rv ayhGSUxFICpmcCwgdG9rZW5zdHJfdCAqdG9rLCBjaGFyICpkZWwsIGNoYXIg cmF3LAotICAgIF9fdW51c2VkIGNoYXIgc2ZybSkKKyAgICBfX3VudXNlZCBj aGFyIHNmcm0sIGNoYXIgeG1sKQogewogCi0JcHJpbnRfdG9rX3R5cGUoZnAs IHRvay0+aWQsICJwYXRoIiwgcmF3KTsKLQlwcmludF9kZWxpbShmcCwgZGVs KTsKLQlwcmludF9zdHJpbmcoZnAsIHRvay0+dHQucGF0aC5wYXRoLCB0b2st PnR0LnBhdGgubGVuKTsKKwlwcmludF90b2tfdHlwZShmcCwgdG9rLT5pZCwg InBhdGgiLCByYXcsIHhtbCk7IAorCWlmICh4bWwpIHsKKwkJcHJpbnRfc3Ry aW5nKGZwLCB0b2stPnR0LnBhdGgucGF0aCwgdG9rLT50dC5wYXRoLmxlbik7 CisJCWNsb3NlX3RhZyhmcCwgdG9rLT5pZCk7CisJfSBlbHNlIHsKKwkJcHJp bnRfZGVsaW0oZnAsIGRlbCk7CisJCXByaW50X3N0cmluZyhmcCwgdG9rLT50 dC5wYXRoLnBhdGgsIHRvay0+dHQucGF0aC5sZW4pOworCX0KIH0KIAogLyoK QEAgLTE3NTQsMjggKzI0NTUsNTcgQEAKIAogc3RhdGljIHZvaWQKIHByaW50 X3Byb2Nlc3MzMl90b2soRklMRSAqZnAsIHRva2Vuc3RyX3QgKnRvaywgY2hh ciAqZGVsLCBjaGFyIHJhdywKLSAgICBfX3VudXNlZCBjaGFyIHNmcm0pCisg ICAgX191bnVzZWQgY2hhciBzZnJtLCBjaGFyIHhtbCkKIHsKIAotCXByaW50 X3Rva190eXBlKGZwLCB0b2stPmlkLCAicHJvY2VzcyIsIHJhdyk7Ci0JcHJp bnRfZGVsaW0oZnAsIGRlbCk7Ci0JcHJpbnRfdXNlcihmcCwgdG9rLT50dC5w cm9jMzIuYXVpZCwgcmF3KTsKLQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQlw cmludF91c2VyKGZwLCB0b2stPnR0LnByb2MzMi5ldWlkLCByYXcpOwotCXBy aW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50X2dyb3VwKGZwLCB0b2stPnR0 LnByb2MzMi5lZ2lkLCByYXcpOwotCXByaW50X2RlbGltKGZwLCBkZWwpOwot CXByaW50X3VzZXIoZnAsIHRvay0+dHQucHJvYzMyLnJ1aWQsIHJhdyk7Ci0J cHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0JcHJpbnRfZ3JvdXAoZnAsIHRvay0+ dHQucHJvYzMyLnJnaWQsIHJhdyk7Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7 Ci0JcHJpbnRfNF9ieXRlcyhmcCwgdG9rLT50dC5wcm9jMzIucGlkLCAiJXUi KTsKLQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQlwcmludF80X2J5dGVzKGZw LCB0b2stPnR0LnByb2MzMi5zaWQsICIldSIpOwotCXByaW50X2RlbGltKGZw LCBkZWwpOwotCXByaW50XzRfYnl0ZXMoZnAsIHRvay0+dHQucHJvYzMyLnRp ZC5wb3J0LCAiJXUiKTsKLQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQlwcmlu dF9pcF9hZGRyZXNzKGZwLCB0b2stPnR0LnByb2MzMi50aWQuYWRkcik7CisJ cHJpbnRfdG9rX3R5cGUoZnAsIHRvay0+aWQsICJwcm9jZXNzIiwgcmF3LCB4 bWwpOyAKKwlpZiAoeG1sKSB7CisJCW9wZW5fYXR0cihmcCwgImF1ZGl0LXVp ZCIpOworCQlwcmludF91c2VyKGZwLCB0b2stPnR0LnByb2MzMi5hdWlkLCBy YXcpOworCQljbG9zZV9hdHRyKGZwKTsKKwkJb3Blbl9hdHRyKGZwLCAidWlk Iik7CisJCXByaW50X3VzZXIoZnAsIHRvay0+dHQucHJvYzMyLmV1aWQsIHJh dyk7CisJCWNsb3NlX2F0dHIoZnApOworCQlvcGVuX2F0dHIoZnAsICJnaWQi KTsKKwkJcHJpbnRfZ3JvdXAoZnAsIHRvay0+dHQucHJvYzMyLmVnaWQsIHJh dyk7CisJCWNsb3NlX2F0dHIoZnApOworCQlvcGVuX2F0dHIoZnAsICJydWlk Iik7CisJCXByaW50X3VzZXIoZnAsIHRvay0+dHQucHJvYzMyLnJ1aWQsIHJh dyk7CisJCWNsb3NlX2F0dHIoZnApOworCQlvcGVuX2F0dHIoZnAsICJyZ2lk Iik7CisJCXByaW50X2dyb3VwKGZwLCB0b2stPnR0LnByb2MzMi5yZ2lkLCBy YXcpOworCQljbG9zZV9hdHRyKGZwKTsKKwkJb3Blbl9hdHRyKGZwLCAicGlk Iik7CisJCXByaW50XzRfYnl0ZXMoZnAsIHRvay0+dHQucHJvYzMyLnBpZCwg IiV1Iik7CisJCWNsb3NlX2F0dHIoZnApOworCQlvcGVuX2F0dHIoZnAsICJz aWQiKTsKKwkJcHJpbnRfNF9ieXRlcyhmcCwgdG9rLT50dC5wcm9jMzIuc2lk LCAiJXUiKTsKKwkJY2xvc2VfYXR0cihmcCk7CisJCW9wZW5fYXR0cihmcCwg InRpZCIpOworCQlwcmludF80X2J5dGVzKGZwLCB0b2stPnR0LnByb2MzMi50 aWQucG9ydCwgIiV1Iik7CisJCXByaW50X2lwX2FkZHJlc3MoZnAsIHRvay0+ dHQucHJvYzMyLnRpZC5hZGRyKTsKKwkJY2xvc2VfYXR0cihmcCk7CisJCWNs b3NlX3RhZyhmcCwgdG9rLT5pZCk7CisJfSBlbHNlIHsKKwkJcHJpbnRfZGVs aW0oZnAsIGRlbCk7CisJCXByaW50X3VzZXIoZnAsIHRvay0+dHQucHJvYzMy LmF1aWQsIHJhdyk7CisJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQlwcmlu dF91c2VyKGZwLCB0b2stPnR0LnByb2MzMi5ldWlkLCByYXcpOworCQlwcmlu dF9kZWxpbShmcCwgZGVsKTsKKwkJcHJpbnRfZ3JvdXAoZnAsIHRvay0+dHQu cHJvYzMyLmVnaWQsIHJhdyk7CisJCXByaW50X2RlbGltKGZwLCBkZWwpOwor CQlwcmludF91c2VyKGZwLCB0b2stPnR0LnByb2MzMi5ydWlkLCByYXcpOwor CQlwcmludF9kZWxpbShmcCwgZGVsKTsKKwkJcHJpbnRfZ3JvdXAoZnAsIHRv ay0+dHQucHJvYzMyLnJnaWQsIHJhdyk7CisJCXByaW50X2RlbGltKGZwLCBk ZWwpOworCQlwcmludF80X2J5dGVzKGZwLCB0b2stPnR0LnByb2MzMi5waWQs ICIldSIpOworCQlwcmludF9kZWxpbShmcCwgZGVsKTsKKwkJcHJpbnRfNF9i eXRlcyhmcCwgdG9rLT50dC5wcm9jMzIuc2lkLCAiJXUiKTsKKwkJcHJpbnRf ZGVsaW0oZnAsIGRlbCk7CisJCXByaW50XzRfYnl0ZXMoZnAsIHRvay0+dHQu cHJvYzMyLnRpZC5wb3J0LCAiJXUiKTsKKwkJcHJpbnRfZGVsaW0oZnAsIGRl bCk7CisJCXByaW50X2lwX2FkZHJlc3MoZnAsIHRvay0+dHQucHJvYzMyLnRp ZC5hZGRyKTsKKwl9CiB9CiAKIHN0YXRpYyBpbnQKQEAgLTE4MzksMjkgKzI1 NjksNTkgQEAKIAogc3RhdGljIHZvaWQKIHByaW50X3Byb2Nlc3MzMmV4X3Rv ayhGSUxFICpmcCwgdG9rZW5zdHJfdCAqdG9rLCBjaGFyICpkZWwsIGNoYXIg cmF3LAotICAgIF9fdW51c2VkIGNoYXIgc2ZybSkKKyAgICBfX3VudXNlZCBj aGFyIHNmcm0sIGNoYXIgeG1sKQogewogCi0JcHJpbnRfdG9rX3R5cGUoZnAs IHRvay0+aWQsICJwcm9jZXNzX2V4IiwgcmF3KTsKLQlwcmludF9kZWxpbShm cCwgZGVsKTsKLQlwcmludF91c2VyKGZwLCB0b2stPnR0LnByb2MzMl9leC5h dWlkLCByYXcpOwotCXByaW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50X3Vz ZXIoZnAsIHRvay0+dHQucHJvYzMyX2V4LmV1aWQsIHJhdyk7Ci0JcHJpbnRf ZGVsaW0oZnAsIGRlbCk7Ci0JcHJpbnRfZ3JvdXAoZnAsIHRvay0+dHQucHJv YzMyX2V4LmVnaWQsIHJhdyk7Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0J cHJpbnRfdXNlcihmcCwgdG9rLT50dC5wcm9jMzJfZXgucnVpZCwgcmF3KTsK LQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQlwcmludF9ncm91cChmcCwgdG9r LT50dC5wcm9jMzJfZXgucmdpZCwgcmF3KTsKLQlwcmludF9kZWxpbShmcCwg ZGVsKTsKLQlwcmludF80X2J5dGVzKGZwLCB0b2stPnR0LnByb2MzMl9leC5w aWQsICIldSIpOwotCXByaW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50XzRf Ynl0ZXMoZnAsIHRvay0+dHQucHJvYzMyX2V4LnNpZCwgIiV1Iik7Ci0JcHJp bnRfZGVsaW0oZnAsIGRlbCk7Ci0JcHJpbnRfNF9ieXRlcyhmcCwgdG9rLT50 dC5wcm9jMzJfZXgudGlkLnBvcnQsICIldSIpOwotCXByaW50X2RlbGltKGZw LCBkZWwpOwotCXByaW50X2lwX2V4X2FkZHJlc3MoZnAsIHRvay0+dHQucHJv YzMyX2V4LnRpZC50eXBlLAotCSAgICB0b2stPnR0LnByb2MzMl9leC50aWQu YWRkcik7CisJcHJpbnRfdG9rX3R5cGUoZnAsIHRvay0+aWQsICJwcm9jZXNz X2V4IiwgcmF3LCB4bWwpOyAgCisJaWYgKHhtbCkgeworCQlvcGVuX2F0dHIo ZnAsICJhdWRpdC11aWQiKTsKKwkJcHJpbnRfdXNlcihmcCwgdG9rLT50dC5w cm9jMzJfZXguYXVpZCwgcmF3KTsKKwkJY2xvc2VfYXR0cihmcCk7CisJCW9w ZW5fYXR0cihmcCwgInVpZCIpOworCQlwcmludF91c2VyKGZwLCB0b2stPnR0 LnByb2MzMl9leC5ldWlkLCByYXcpOworCQljbG9zZV9hdHRyKGZwKTsKKwkJ b3Blbl9hdHRyKGZwLCAiZ2lkIik7CisJCXByaW50X2dyb3VwKGZwLCB0b2st PnR0LnByb2MzMl9leC5lZ2lkLCByYXcpOworCQljbG9zZV9hdHRyKGZwKTsK KwkJb3Blbl9hdHRyKGZwLCAicnVpZCIpOworCQlwcmludF91c2VyKGZwLCB0 b2stPnR0LnByb2MzMl9leC5ydWlkLCByYXcpOworCQljbG9zZV9hdHRyKGZw KTsKKwkJb3Blbl9hdHRyKGZwLCAicmdpZCIpOworCQlwcmludF9ncm91cChm cCwgdG9rLT50dC5wcm9jMzJfZXgucmdpZCwgcmF3KTsKKwkJY2xvc2VfYXR0 cihmcCk7CisJCW9wZW5fYXR0cihmcCwgInBpZCIpOworCQlwcmludF80X2J5 dGVzKGZwLCB0b2stPnR0LnByb2MzMl9leC5waWQsICIldSIpOworCQljbG9z ZV9hdHRyKGZwKTsKKwkJb3Blbl9hdHRyKGZwLCAic2lkIik7CisJCXByaW50 XzRfYnl0ZXMoZnAsIHRvay0+dHQucHJvYzMyX2V4LnNpZCwgIiV1Iik7CisJ CWNsb3NlX2F0dHIoZnApOworCQlvcGVuX2F0dHIoZnAsICJ0aWQiKTsKKwkJ cHJpbnRfNF9ieXRlcyhmcCwgdG9rLT50dC5wcm9jMzJfZXgudGlkLnBvcnQs ICIldSIpOworCQlwcmludF9pcF9leF9hZGRyZXNzKGZwLCB0b2stPnR0LnBy b2MzMl9leC50aWQudHlwZSwKKwkJCXRvay0+dHQucHJvYzMyX2V4LnRpZC5h ZGRyKTsKKwkJY2xvc2VfYXR0cihmcCk7CisJCWNsb3NlX3RhZyhmcCwgdG9r LT5pZCk7CisJfSBlbHNlIHsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJ CXByaW50X3VzZXIoZnAsIHRvay0+dHQucHJvYzMyX2V4LmF1aWQsIHJhdyk7 CisJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQlwcmludF91c2VyKGZwLCB0 b2stPnR0LnByb2MzMl9leC5ldWlkLCByYXcpOworCQlwcmludF9kZWxpbShm cCwgZGVsKTsKKwkJcHJpbnRfZ3JvdXAoZnAsIHRvay0+dHQucHJvYzMyX2V4 LmVnaWQsIHJhdyk7CisJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQlwcmlu dF91c2VyKGZwLCB0b2stPnR0LnByb2MzMl9leC5ydWlkLCByYXcpOworCQlw cmludF9kZWxpbShmcCwgZGVsKTsKKwkJcHJpbnRfZ3JvdXAoZnAsIHRvay0+ dHQucHJvYzMyX2V4LnJnaWQsIHJhdyk7CisJCXByaW50X2RlbGltKGZwLCBk ZWwpOworCQlwcmludF80X2J5dGVzKGZwLCB0b2stPnR0LnByb2MzMl9leC5w aWQsICIldSIpOworCQlwcmludF9kZWxpbShmcCwgZGVsKTsKKwkJcHJpbnRf NF9ieXRlcyhmcCwgdG9rLT50dC5wcm9jMzJfZXguc2lkLCAiJXUiKTsKKwkJ cHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXByaW50XzRfYnl0ZXMoZnAsIHRv ay0+dHQucHJvYzMyX2V4LnRpZC5wb3J0LCAiJXUiKTsKKwkJcHJpbnRfZGVs aW0oZnAsIGRlbCk7CisJCXByaW50X2lwX2V4X2FkZHJlc3MoZnAsIHRvay0+ dHQucHJvYzMyX2V4LnRpZC50eXBlLAorCQkJdG9rLT50dC5wcm9jMzJfZXgu dGlkLmFkZHIpOworCX0KIH0KIAogLyoKQEAgLTE4ODYsMTQgKzI2NDYsMjQg QEAKIAogc3RhdGljIHZvaWQKIHByaW50X3JldHVybjMyX3RvayhGSUxFICpm cCwgdG9rZW5zdHJfdCAqdG9rLCBjaGFyICpkZWwsIGNoYXIgcmF3LAotICAg IF9fdW51c2VkIGNoYXIgc2ZybSkKKyAgICBfX3VudXNlZCBjaGFyIHNmcm0s IGNoYXIgeG1sKQogewogCi0JcHJpbnRfdG9rX3R5cGUoZnAsIHRvay0+aWQs ICJyZXR1cm4iLCByYXcpOwotCXByaW50X2RlbGltKGZwLCBkZWwpOwotCXBy aW50X3JldHZhbChmcCwgdG9rLT50dC5yZXQzMi5zdGF0dXMsIHJhdyk7Ci0J cHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0JcHJpbnRfNF9ieXRlcyhmcCwgdG9r LT50dC5yZXQzMi5yZXQsICIldSIpOworCXByaW50X3Rva190eXBlKGZwLCB0 b2stPmlkLCAicmV0dXJuIiwgcmF3LCB4bWwpOyAKKwlpZiAoeG1sKSB7CisJ CW9wZW5fYXR0cihmcCAsImVycnZhbCIpOworCQlwcmludF9yZXR2YWwoZnAs IHRvay0+dHQucmV0MzIuc3RhdHVzLCByYXcpOworCQljbG9zZV9hdHRyKGZw KTsKKwkJb3Blbl9hdHRyKGZwLCAicmV0dmFsIik7CisJCXByaW50XzRfYnl0 ZXMoZnAsIHRvay0+dHQucmV0MzIucmV0LCAiJXUiKTsKKwkJY2xvc2VfYXR0 cihmcCk7CisJCWNsb3NlX3RhZyhmcCwgdG9rLT5pZCk7CisJfSBlbHNlIHsK KwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXByaW50X3JldHZhbChmcCwg dG9rLT50dC5yZXQzMi5zdGF0dXMsIHJhdyk7CisJCXByaW50X2RlbGltKGZw LCBkZWwpOworCQlwcmludF80X2J5dGVzKGZwLCB0b2stPnR0LnJldDMyLnJl dCwgIiV1Iik7CisJfQogfQogCiBzdGF0aWMgaW50CkBAIC0xOTE0LDE0ICsy Njg0LDI0IEBACiAKIHN0YXRpYyB2b2lkCiBwcmludF9yZXR1cm42NF90b2so RklMRSAqZnAsIHRva2Vuc3RyX3QgKnRvaywgY2hhciAqZGVsLCBjaGFyIHJh dywKLSAgICBfX3VudXNlZCBjaGFyIHNmcm0pCisgICAgX191bnVzZWQgY2hh ciBzZnJtLCBjaGFyIHhtbCkKIHsKIAotCXByaW50X3Rva190eXBlKGZwLCB0 b2stPmlkLCAicmV0dXJuIiwgcmF3KTsKLQlwcmludF9kZWxpbShmcCwgZGVs KTsKLQlwcmludF9yZXR2YWwoZnAsIHRvay0+dHQucmV0NjQuZXJyLCByYXcp OwotCXByaW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50XzhfYnl0ZXMoZnAs IHRvay0+dHQucmV0NjQudmFsLCAiJWxsZCIpOworCXByaW50X3Rva190eXBl KGZwLCB0b2stPmlkLCAicmV0dXJuIiwgcmF3LCB4bWwpOworCWlmICh4bWwp IHsKKwkJb3Blbl9hdHRyKGZwLCAiZXJydmFsIik7CisJCXByaW50X3JldHZh bChmcCwgdG9rLT50dC5yZXQ2NC5lcnIsIHJhdyk7CisJCWNsb3NlX2F0dHIo ZnApOworCQlvcGVuX2F0dHIoZnAsICJyZXR2YWwiKTsKKwkJcHJpbnRfOF9i eXRlcyhmcCwgdG9rLT50dC5yZXQ2NC52YWwsICIlbGxkIik7CisJCWNsb3Nl X2F0dHIoZnApOworCQljbG9zZV90YWcoZnAsIHRvay0+aWQpOworCX0gZWxz ZSB7CisJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQlwcmludF9yZXR2YWwo ZnAsIHRvay0+dHQucmV0NjQuZXJyLCByYXcpOworCQlwcmludF9kZWxpbShm cCwgZGVsKTsKKwkJcHJpbnRfOF9ieXRlcyhmcCwgdG9rLT50dC5yZXQ2NC52 YWwsICIlbGxkIik7CisJfQogfQogCiAvKgpAQCAtMTk0MSwxMiArMjcyMSwx OSBAQAogCiBzdGF0aWMgdm9pZAogcHJpbnRfc2VxX3RvayhGSUxFICpmcCwg dG9rZW5zdHJfdCAqdG9rLCBjaGFyICpkZWwsIGNoYXIgcmF3LAotICAgIF9f dW51c2VkIGNoYXIgc2ZybSkKKyAgICBfX3VudXNlZCBjaGFyIHNmcm0sIGNo YXIgeG1sKQogewogCi0JcHJpbnRfdG9rX3R5cGUoZnAsIHRvay0+aWQsICJz ZXF1ZW5jZSIsIHJhdyk7Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0JcHJp bnRfNF9ieXRlcyhmcCwgdG9rLT50dC5zZXEuc2Vxbm8sICIldSIpOworCXBy aW50X3Rva190eXBlKGZwLCB0b2stPmlkLCAic2VxdWVuY2UiLCByYXcsIHht bCk7IAorCWlmICh4bWwpIHsKKwkJb3Blbl9hdHRyKGZwLCAic2VxLW51bSIp OworCQlwcmludF80X2J5dGVzKGZwLCB0b2stPnR0LnNlcS5zZXFubywgIiV1 Iik7CisJCWNsb3NlX2F0dHIoZnApOworCQljbG9zZV90YWcoZnAsIHRvay0+ aWQpOworCX0gZWxzZSB7CisJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQlw cmludF80X2J5dGVzKGZwLCB0b2stPnR0LnNlcS5zZXFubywgIiV1Iik7CisJ fQogfQogCiAvKgpAQCAtMTk3OSwxNiArMjc2NiwyOSBAQAogCiBzdGF0aWMg dm9pZAogcHJpbnRfc29ja19pbmV0MzJfdG9rKEZJTEUgKmZwLCB0b2tlbnN0 cl90ICp0b2ssIGNoYXIgKmRlbCwgY2hhciByYXcsCi0gICAgX191bnVzZWQg Y2hhciBzZnJtKQorICAgIF9fdW51c2VkIGNoYXIgc2ZybSwgY2hhciB4bWwp CiB7CiAKLQlwcmludF90b2tfdHlwZShmcCwgdG9rLT5pZCwgInNvY2tldC1p bmV0IiwgcmF3KTsKLQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQlwcmludF8y X2J5dGVzKGZwLCB0b2stPnR0LnNvY2tpbmV0MzIuZmFtaWx5LCAiJXUiKTsK LQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQlwcmludF8yX2J5dGVzKGZwLCBu dG9ocyh0b2stPnR0LnNvY2tpbmV0MzIucG9ydCksICIldSIpOwotCXByaW50 X2RlbGltKGZwLCBkZWwpOwotCXByaW50X2lwX2FkZHJlc3MoZnAsIHRvay0+ dHQuc29ja2luZXQzMi5hZGRyKTsKKwlwcmludF90b2tfdHlwZShmcCwgdG9r LT5pZCwgInNvY2tldC1pbmV0IiwgcmF3LCB4bWwpOyAKKwlpZiAoeG1sKSB7 CisJCW9wZW5fYXR0cihmcCwgInR5cGUiKTsKKwkJcHJpbnRfMl9ieXRlcyhm cCwgdG9rLT50dC5zb2NraW5ldDMyLmZhbWlseSwgIiV1Iik7CisJCWNsb3Nl X2F0dHIoZnApOworCQlvcGVuX2F0dHIoZnAsICJwb3J0Iik7CisJCXByaW50 XzJfYnl0ZXMoZnAsIG50b2hzKHRvay0+dHQuc29ja2luZXQzMi5wb3J0KSwg IiV1Iik7CisJCWNsb3NlX2F0dHIoZnApOworCQlvcGVuX2F0dHIoZnAsICJh ZGRyIik7CisJCXByaW50X2lwX2FkZHJlc3MoZnAsIHRvay0+dHQuc29ja2lu ZXQzMi5hZGRyKTsKKwkJY2xvc2VfYXR0cihmcCk7CisJCWNsb3NlX3RhZyhm cCwgdG9rLT5pZCk7CisJfSBlbHNlIHsKKwkJcHJpbnRfZGVsaW0oZnAsIGRl bCk7CisJCXByaW50XzJfYnl0ZXMoZnAsIHRvay0+dHQuc29ja2luZXQzMi5m YW1pbHksICIldSIpOworCQlwcmludF9kZWxpbShmcCwgZGVsKTsKKwkJcHJp bnRfMl9ieXRlcyhmcCwgbnRvaHModG9rLT50dC5zb2NraW5ldDMyLnBvcnQp LCAiJXUiKTsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXByaW50X2lw X2FkZHJlc3MoZnAsIHRvay0+dHQuc29ja2luZXQzMi5hZGRyKTsKKwl9CiB9 CiAKIC8qCkBAIC0yMDE0LDE1ICsyODE0LDI4IEBACiAKIHN0YXRpYyB2b2lk CiBwcmludF9zb2NrX3VuaXhfdG9rKEZJTEUgKmZwLCB0b2tlbnN0cl90ICp0 b2ssIGNoYXIgKmRlbCwgY2hhciByYXcsCi0gICAgX191bnVzZWQgY2hhciBz ZnJtKQorICAgIF9fdW51c2VkIGNoYXIgc2ZybSwgY2hhciB4bWwpCiB7CiAK LQlwcmludF90b2tfdHlwZShmcCwgdG9rLT5pZCwgInNvY2tldC11bml4Iiwg cmF3KTsKLQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQlwcmludF8yX2J5dGVz KGZwLCB0b2stPnR0LnNvY2t1bml4LmZhbWlseSwgIiV1Iik7Ci0JcHJpbnRf ZGVsaW0oZnAsIGRlbCk7Ci0JcHJpbnRfc3RyaW5nKGZwLCB0b2stPnR0LnNv Y2t1bml4LnBhdGgsCi0JICAgIHN0cmxlbih0b2stPnR0LnNvY2t1bml4LnBh dGgpKTsKKwlwcmludF90b2tfdHlwZShmcCwgdG9rLT5pZCwgInNvY2tldC11 bml4IiwgcmF3LCB4bWwpOworCWlmICh4bWwpIHsKKwkJb3Blbl9hdHRyKGZw LCAidHlwZSIpOworCQlwcmludF8yX2J5dGVzKGZwLCB0b2stPnR0LnNvY2t1 bml4LmZhbWlseSwgIiV1Iik7CisJCWNsb3NlX2F0dHIoZnApOworCQlvcGVu X2F0dHIoZnAsICJwb3J0Iik7CisJCWNsb3NlX2F0dHIoZnApOworCQlvcGVu X2F0dHIoZnAsICJhZGRyIik7CisJCXByaW50X3N0cmluZyhmcCwgdG9rLT50 dC5zb2NrdW5peC5wYXRoLAorCQkJc3RybGVuKHRvay0+dHQuc29ja3VuaXgu cGF0aCkpOworCQljbG9zZV9hdHRyKGZwKTsKKwkJY2xvc2VfdGFnKGZwLCB0 b2stPmlkKTsKKwl9IGVsc2UgeworCQlwcmludF9kZWxpbShmcCwgZGVsKTsK KwkJcHJpbnRfMl9ieXRlcyhmcCwgdG9rLT50dC5zb2NrdW5peC5mYW1pbHks ICIldSIpOworCQlwcmludF9kZWxpbShmcCwgZGVsKTsKKwkJcHJpbnRfc3Ry aW5nKGZwLCB0b2stPnR0LnNvY2t1bml4LnBhdGgsCisJCQlzdHJsZW4odG9r LT50dC5zb2NrdW5peC5wYXRoKSk7CisJfQogfQogCiAvKgpAQCAtMjA2Niwy MCArMjg3OSwzOSBAQAogCiBzdGF0aWMgdm9pZAogcHJpbnRfc29ja2V0X3Rv ayhGSUxFICpmcCwgdG9rZW5zdHJfdCAqdG9rLCBjaGFyICpkZWwsIGNoYXIg cmF3LAotICAgIF9fdW51c2VkIGNoYXIgc2ZybSkKKyAgICBfX3VudXNlZCBj aGFyIHNmcm0sIGNoYXIgeG1sKQogewogCi0JcHJpbnRfdG9rX3R5cGUoZnAs IHRvay0+aWQsICJzb2NrZXQiLCByYXcpOwotCXByaW50X2RlbGltKGZwLCBk ZWwpOwotCXByaW50XzJfYnl0ZXMoZnAsIHRvay0+dHQuc29ja2V0LnR5cGUs ICIldSIpOwotCXByaW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50XzJfYnl0 ZXMoZnAsIG50b2hzKHRvay0+dHQuc29ja2V0LmxfcG9ydCksICIldSIpOwot CXByaW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50X2lwX2FkZHJlc3MoZnAs IHRvay0+dHQuc29ja2V0LmxfYWRkcik7Ci0JcHJpbnRfZGVsaW0oZnAsIGRl bCk7Ci0JcHJpbnRfMl9ieXRlcyhmcCwgbnRvaHModG9rLT50dC5zb2NrZXQu cl9wb3J0KSwgIiV1Iik7Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0JcHJp bnRfaXBfYWRkcmVzcyhmcCwgdG9rLT50dC5zb2NrZXQucl9hZGRyKTsKKwlw cmludF90b2tfdHlwZShmcCwgdG9rLT5pZCwgInNvY2tldCIsIHJhdywgeG1s KTsgCisJaWYgKHhtbCkgeworCQlvcGVuX2F0dHIoZnAsICJzb2NrX3R5cGUi KTsKKwkJcHJpbnRfMl9ieXRlcyhmcCwgdG9rLT50dC5zb2NrZXQudHlwZSwg IiV1Iik7CisJCWNsb3NlX2F0dHIoZnApOworCQlvcGVuX2F0dHIoZnAsICJs cG9ydCIpOworCQlwcmludF8yX2J5dGVzKGZwLCBudG9ocyh0b2stPnR0LnNv Y2tldC5sX3BvcnQpLCAiJXUiKTsKKwkJY2xvc2VfYXR0cihmcCk7CisJCW9w ZW5fYXR0cihmcCwgImxhZGRyIik7CisJCXByaW50X2lwX2FkZHJlc3MoZnAs IHRvay0+dHQuc29ja2V0LmxfYWRkcik7CisJCWNsb3NlX2F0dHIoZnApOwor CQlvcGVuX2F0dHIoZnAsICJmcG9ydCIpOworCQlwcmludF8yX2J5dGVzKGZw LCBudG9ocyh0b2stPnR0LnNvY2tldC5yX3BvcnQpLCAiJXUiKTsKKwkJY2xv c2VfYXR0cihmcCk7CisJCW9wZW5fYXR0cihmcCwgImZhZGRyIik7CisJCXBy aW50X2lwX2FkZHJlc3MoZnAsIHRvay0+dHQuc29ja2V0LnJfYWRkcik7CisJ CWNsb3NlX2F0dHIoZnApOworCQljbG9zZV90YWcoZnAsIHRvay0+aWQpOwor CX0gZWxzZSB7CisJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQlwcmludF8y X2J5dGVzKGZwLCB0b2stPnR0LnNvY2tldC50eXBlLCAiJXUiKTsKKwkJcHJp bnRfZGVsaW0oZnAsIGRlbCk7CisJCXByaW50XzJfYnl0ZXMoZnAsIG50b2hz KHRvay0+dHQuc29ja2V0LmxfcG9ydCksICIldSIpOworCQlwcmludF9kZWxp bShmcCwgZGVsKTsKKwkJcHJpbnRfaXBfYWRkcmVzcyhmcCwgdG9rLT50dC5z b2NrZXQubF9hZGRyKTsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXBy aW50XzJfYnl0ZXMoZnAsIG50b2hzKHRvay0+dHQuc29ja2V0LnJfcG9ydCks ICIldSIpOworCQlwcmludF9kZWxpbShmcCwgZGVsKTsKKwkJcHJpbnRfaXBf YWRkcmVzcyhmcCwgdG9rLT50dC5zb2NrZXQucl9hZGRyKTsKKwl9CiB9CiAK IC8qCkBAIC0yMTQxLDI4ICsyOTczLDU3IEBACiAKIHN0YXRpYyB2b2lkCiBw cmludF9zdWJqZWN0MzJfdG9rKEZJTEUgKmZwLCB0b2tlbnN0cl90ICp0b2ss IGNoYXIgKmRlbCwgY2hhciByYXcsCi0gICAgX191bnVzZWQgY2hhciBzZnJt KQorICAgIF9fdW51c2VkIGNoYXIgc2ZybSwgY2hhciB4bWwpCiB7CiAKLQlw cmludF90b2tfdHlwZShmcCwgdG9rLT5pZCwgInN1YmplY3QiLCByYXcpOwot CXByaW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50X3VzZXIoZnAsIHRvay0+ dHQuc3ViajMyLmF1aWQsIHJhdyk7Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7 Ci0JcHJpbnRfdXNlcihmcCwgdG9rLT50dC5zdWJqMzIuZXVpZCwgcmF3KTsK LQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQlwcmludF9ncm91cChmcCwgdG9r LT50dC5zdWJqMzIuZWdpZCwgcmF3KTsKLQlwcmludF9kZWxpbShmcCwgZGVs KTsKLQlwcmludF91c2VyKGZwLCB0b2stPnR0LnN1YmozMi5ydWlkLCByYXcp OwotCXByaW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50X2dyb3VwKGZwLCB0 b2stPnR0LnN1YmozMi5yZ2lkLCByYXcpOwotCXByaW50X2RlbGltKGZwLCBk ZWwpOwotCXByaW50XzRfYnl0ZXMoZnAsIHRvay0+dHQuc3ViajMyLnBpZCwg IiV1Iik7Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0JcHJpbnRfNF9ieXRl cyhmcCwgdG9rLT50dC5zdWJqMzIuc2lkLCAiJXUiKTsKLQlwcmludF9kZWxp bShmcCwgZGVsKTsKLQlwcmludF80X2J5dGVzKGZwLCB0b2stPnR0LnN1Ymoz Mi50aWQucG9ydCwgIiV1Iik7Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0J cHJpbnRfaXBfYWRkcmVzcyhmcCwgdG9rLT50dC5zdWJqMzIudGlkLmFkZHIp OworCXByaW50X3Rva190eXBlKGZwLCB0b2stPmlkLCAic3ViamVjdCIsIHJh dywgeG1sKTsgCisJaWYgKHhtbCkgeworCQlvcGVuX2F0dHIoZnAsICJhdWRp dC11aWQiKTsKKwkJcHJpbnRfdXNlcihmcCwgdG9rLT50dC5zdWJqMzIuYXVp ZCwgcmF3KTsKKwkJY2xvc2VfYXR0cihmcCk7CisJCW9wZW5fYXR0cihmcCwg InVpZCIpOworCQlwcmludF91c2VyKGZwLCB0b2stPnR0LnN1YmozMi5ldWlk LCByYXcpOworCQljbG9zZV9hdHRyKGZwKTsKKwkJb3Blbl9hdHRyKGZwLCAi Z2lkIik7CisJCXByaW50X2dyb3VwKGZwLCB0b2stPnR0LnN1YmozMi5lZ2lk LCByYXcpOworCQljbG9zZV9hdHRyKGZwKTsKKwkJb3Blbl9hdHRyKGZwLCAi cnVpZCIpOworCQlwcmludF91c2VyKGZwLCB0b2stPnR0LnN1YmozMi5ydWlk LCByYXcpOworCQljbG9zZV9hdHRyKGZwKTsKKwkJb3Blbl9hdHRyKGZwLCAi cmdpZCIpOworCQlwcmludF9ncm91cChmcCwgdG9rLT50dC5zdWJqMzIucmdp ZCwgcmF3KTsKKwkJY2xvc2VfYXR0cihmcCk7CisJCW9wZW5fYXR0cihmcCwi cGlkIik7CisJCXByaW50XzRfYnl0ZXMoZnAsIHRvay0+dHQuc3ViajMyLnBp ZCwgIiV1Iik7CisJCWNsb3NlX2F0dHIoZnApOworCQlvcGVuX2F0dHIoZnAs InNpZCIpOworCQlwcmludF80X2J5dGVzKGZwLCB0b2stPnR0LnN1YmozMi5z aWQsICIldSIpOworCQljbG9zZV9hdHRyKGZwKTsKKwkJb3Blbl9hdHRyKGZw LCJ0aWQiKTsKKwkJcHJpbnRfNF9ieXRlcyhmcCwgdG9rLT50dC5zdWJqMzIu dGlkLnBvcnQsICIldSAiKTsKKwkJcHJpbnRfaXBfYWRkcmVzcyhmcCwgdG9r LT50dC5zdWJqMzIudGlkLmFkZHIpOworCQljbG9zZV9hdHRyKGZwKTsKKwkJ Y2xvc2VfdGFnKGZwLCB0b2stPmlkKTsKKwl9IGVsc2UgeworCQlwcmludF9k ZWxpbShmcCwgZGVsKTsKKwkJcHJpbnRfdXNlcihmcCwgdG9rLT50dC5zdWJq MzIuYXVpZCwgcmF3KTsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXBy aW50X3VzZXIoZnAsIHRvay0+dHQuc3ViajMyLmV1aWQsIHJhdyk7CisJCXBy aW50X2RlbGltKGZwLCBkZWwpOworCQlwcmludF9ncm91cChmcCwgdG9rLT50 dC5zdWJqMzIuZWdpZCwgcmF3KTsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7 CisJCXByaW50X3VzZXIoZnAsIHRvay0+dHQuc3ViajMyLnJ1aWQsIHJhdyk7 CisJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQlwcmludF9ncm91cChmcCwg dG9rLT50dC5zdWJqMzIucmdpZCwgcmF3KTsKKwkJcHJpbnRfZGVsaW0oZnAs IGRlbCk7CisJCXByaW50XzRfYnl0ZXMoZnAsIHRvay0+dHQuc3ViajMyLnBp ZCwgIiV1Iik7CisJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQlwcmludF80 X2J5dGVzKGZwLCB0b2stPnR0LnN1YmozMi5zaWQsICIldSIpOworCQlwcmlu dF9kZWxpbShmcCwgZGVsKTsKKwkJcHJpbnRfNF9ieXRlcyhmcCwgdG9rLT50 dC5zdWJqMzIudGlkLnBvcnQsICIldSIpOworCQlwcmludF9kZWxpbShmcCwg ZGVsKTsKKwkJcHJpbnRfaXBfYWRkcmVzcyhmcCwgdG9rLT50dC5zdWJqMzIu dGlkLmFkZHIpOworCX0KIH0KIAogLyoKQEAgLTIyMjQsMjggKzMwODUsNTcg QEAKIAogc3RhdGljIHZvaWQKIHByaW50X3N1YmplY3Q2NF90b2soRklMRSAq ZnAsIHRva2Vuc3RyX3QgKnRvaywgY2hhciAqZGVsLCBjaGFyIHJhdywKLSAg ICBfX3VudXNlZCBjaGFyIHNmcm0pCisgICAgX191bnVzZWQgY2hhciBzZnJt LCBjaGFyIHhtbCkKIHsKIAotCXByaW50X3Rva190eXBlKGZwLCB0b2stPmlk LCAic3ViamVjdCIsIHJhdyk7Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0J cHJpbnRfdXNlcihmcCwgdG9rLT50dC5zdWJqNjQuYXVpZCwgcmF3KTsKLQlw cmludF9kZWxpbShmcCwgZGVsKTsKLQlwcmludF91c2VyKGZwLCB0b2stPnR0 LnN1Ymo2NC5ldWlkLCByYXcpOwotCXByaW50X2RlbGltKGZwLCBkZWwpOwot CXByaW50X2dyb3VwKGZwLCB0b2stPnR0LnN1Ymo2NC5lZ2lkLCByYXcpOwot CXByaW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50X3VzZXIoZnAsIHRvay0+ dHQuc3ViajY0LnJ1aWQsIHJhdyk7Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7 Ci0JcHJpbnRfZ3JvdXAoZnAsIHRvay0+dHQuc3ViajY0LnJnaWQsIHJhdyk7 Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0JcHJpbnRfNF9ieXRlcyhmcCwg dG9rLT50dC5zdWJqNjQucGlkLCAiJXUiKTsKLQlwcmludF9kZWxpbShmcCwg ZGVsKTsKLQlwcmludF80X2J5dGVzKGZwLCB0b2stPnR0LnN1Ymo2NC5zaWQs ICIldSIpOwotCXByaW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50XzhfYnl0 ZXMoZnAsIHRvay0+dHQuc3ViajY0LnRpZC5wb3J0LCAiJWxsdSIpOwotCXBy aW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50X2lwX2FkZHJlc3MoZnAsIHRv ay0+dHQuc3ViajY0LnRpZC5hZGRyKTsKKwlwcmludF90b2tfdHlwZShmcCwg dG9rLT5pZCwgInN1YmplY3QiLCByYXcsIHhtbCk7CisJaWYgKHhtbCkgewor CQlvcGVuX2F0dHIoZnAsICJhdWRpdC11aWQiKTsKKwkJcHJpbnRfdXNlcihm cCwgdG9rLT50dC5zdWJqNjQuYXVpZCwgcmF3KTsKKwkJY2xvc2VfYXR0cihm cCk7CisJCW9wZW5fYXR0cihmcCwgInVpZCIpOworCQlwcmludF91c2VyKGZw LCB0b2stPnR0LnN1Ymo2NC5ldWlkLCByYXcpOworCQljbG9zZV9hdHRyKGZw KTsKKwkJb3Blbl9hdHRyKGZwLCAiZ2lkIik7CisJCXByaW50X2dyb3VwKGZw LCB0b2stPnR0LnN1Ymo2NC5lZ2lkLCByYXcpOworCQljbG9zZV9hdHRyKGZw KTsKKwkJb3Blbl9hdHRyKGZwLCAicnVpZCIpOworCQlwcmludF91c2VyKGZw LCB0b2stPnR0LnN1Ymo2NC5ydWlkLCByYXcpOworCQljbG9zZV9hdHRyKGZw KTsKKwkJb3Blbl9hdHRyKGZwLCAicmdpZCIpOworCQlwcmludF9ncm91cChm cCwgdG9rLT50dC5zdWJqNjQucmdpZCwgcmF3KTsKKwkJY2xvc2VfYXR0cihm cCk7CisJCW9wZW5fYXR0cihmcCwgInBpZCIpOworCQlwcmludF80X2J5dGVz KGZwLCB0b2stPnR0LnN1Ymo2NC5waWQsICIldSIpOworCQljbG9zZV9hdHRy KGZwKTsKKwkJb3Blbl9hdHRyKGZwLCAic2lkIik7CisJCXByaW50XzRfYnl0 ZXMoZnAsIHRvay0+dHQuc3ViajY0LnNpZCwgIiV1Iik7CisJCWNsb3NlX2F0 dHIoZnApOworCQlvcGVuX2F0dHIoZnAsICJ0aWQiKTsKKwkJcHJpbnRfOF9i eXRlcyhmcCwgdG9rLT50dC5zdWJqNjQudGlkLnBvcnQsICIlbGx1Iik7CisJ CXByaW50X2lwX2FkZHJlc3MoZnAsIHRvay0+dHQuc3ViajY0LnRpZC5hZGRy KTsKKwkJY2xvc2VfYXR0cihmcCk7CisJCWNsb3NlX3RhZyhmcCwgdG9rLT5p ZCk7CisJfSBlbHNlIHsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXBy aW50X3VzZXIoZnAsIHRvay0+dHQuc3ViajY0LmF1aWQsIHJhdyk7CisJCXBy aW50X2RlbGltKGZwLCBkZWwpOworCQlwcmludF91c2VyKGZwLCB0b2stPnR0 LnN1Ymo2NC5ldWlkLCByYXcpOworCQlwcmludF9kZWxpbShmcCwgZGVsKTsK KwkJcHJpbnRfZ3JvdXAoZnAsIHRvay0+dHQuc3ViajY0LmVnaWQsIHJhdyk7 CisJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQlwcmludF91c2VyKGZwLCB0 b2stPnR0LnN1Ymo2NC5ydWlkLCByYXcpOworCQlwcmludF9kZWxpbShmcCwg ZGVsKTsKKwkJcHJpbnRfZ3JvdXAoZnAsIHRvay0+dHQuc3ViajY0LnJnaWQs IHJhdyk7CisJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQlwcmludF80X2J5 dGVzKGZwLCB0b2stPnR0LnN1Ymo2NC5waWQsICIldSIpOworCQlwcmludF9k ZWxpbShmcCwgZGVsKTsKKwkJcHJpbnRfNF9ieXRlcyhmcCwgdG9rLT50dC5z dWJqNjQuc2lkLCAiJXUiKTsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJ CXByaW50XzhfYnl0ZXMoZnAsIHRvay0+dHQuc3ViajY0LnRpZC5wb3J0LCAi JWxsdSIpOworCQlwcmludF9kZWxpbShmcCwgZGVsKTsKKwkJcHJpbnRfaXBf YWRkcmVzcyhmcCwgdG9rLT50dC5zdWJqNjQudGlkLmFkZHIpOworCX0KIH0K IAogLyoKQEAgLTIzMjIsMjkgKzMyMTIsNTkgQEAKIAogc3RhdGljIHZvaWQK IHByaW50X3N1YmplY3QzMmV4X3RvayhGSUxFICpmcCwgdG9rZW5zdHJfdCAq dG9rLCBjaGFyICpkZWwsIGNoYXIgcmF3LAotICAgIF9fdW51c2VkIGNoYXIg c2ZybSkKKyAgICBfX3VudXNlZCBjaGFyIHNmcm0sIGNoYXIgeG1sKQogewog Ci0JcHJpbnRfdG9rX3R5cGUoZnAsIHRvay0+aWQsICJzdWJqZWN0X2V4Iiwg cmF3KTsKLQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQlwcmludF91c2VyKGZw LCB0b2stPnR0LnN1YmozMl9leC5hdWlkLCByYXcpOwotCXByaW50X2RlbGlt KGZwLCBkZWwpOwotCXByaW50X3VzZXIoZnAsIHRvay0+dHQuc3ViajMyX2V4 LmV1aWQsIHJhdyk7Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0JcHJpbnRf Z3JvdXAoZnAsIHRvay0+dHQuc3ViajMyX2V4LmVnaWQsIHJhdyk7Ci0JcHJp bnRfZGVsaW0oZnAsIGRlbCk7Ci0JcHJpbnRfdXNlcihmcCwgdG9rLT50dC5z dWJqMzJfZXgucnVpZCwgcmF3KTsKLQlwcmludF9kZWxpbShmcCwgZGVsKTsK LQlwcmludF9ncm91cChmcCwgdG9rLT50dC5zdWJqMzJfZXgucmdpZCwgcmF3 KTsKLQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQlwcmludF80X2J5dGVzKGZw LCB0b2stPnR0LnN1YmozMl9leC5waWQsICIldSIpOwotCXByaW50X2RlbGlt KGZwLCBkZWwpOwotCXByaW50XzRfYnl0ZXMoZnAsIHRvay0+dHQuc3ViajMy X2V4LnNpZCwgIiV1Iik7Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0JcHJp bnRfNF9ieXRlcyhmcCwgdG9rLT50dC5zdWJqMzJfZXgudGlkLnBvcnQsICIl dSIpOwotCXByaW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50X2lwX2V4X2Fk ZHJlc3MoZnAsIHRvay0+dHQuc3ViajMyX2V4LnRpZC50eXBlLAotCSAgICB0 b2stPnR0LnN1YmozMl9leC50aWQuYWRkcik7CisJcHJpbnRfdG9rX3R5cGUo ZnAsIHRvay0+aWQsICJzdWJqZWN0X2V4IiwgcmF3LCB4bWwpOworCWlmICh4 bWwpIHsKKwkJb3Blbl9hdHRyKGZwLCAiYXVkaXQtdWlkIik7CisJCXByaW50 X3VzZXIoZnAsIHRvay0+dHQuc3ViajMyX2V4LmF1aWQsIHJhdyk7CisJCWNs b3NlX2F0dHIoZnApOworCQlvcGVuX2F0dHIoZnAsICJ1aWQiKTsKKwkJcHJp bnRfdXNlcihmcCwgdG9rLT50dC5zdWJqMzJfZXguZXVpZCwgcmF3KTsKKwkJ Y2xvc2VfYXR0cihmcCk7CisJCW9wZW5fYXR0cihmcCwgImdpZCIpOworCQlw cmludF9ncm91cChmcCwgdG9rLT50dC5zdWJqMzJfZXguZWdpZCwgcmF3KTsK KwkJY2xvc2VfYXR0cihmcCk7CisJCW9wZW5fYXR0cihmcCwgInJ1aWQiKTsK KwkJcHJpbnRfdXNlcihmcCwgdG9rLT50dC5zdWJqMzJfZXgucnVpZCwgcmF3 KTsKKwkJY2xvc2VfYXR0cihmcCk7CisJCW9wZW5fYXR0cihmcCwgInJnaWQi KTsKKwkJcHJpbnRfZ3JvdXAoZnAsIHRvay0+dHQuc3ViajMyX2V4LnJnaWQs IHJhdyk7CisJCWNsb3NlX2F0dHIoZnApOworCQlvcGVuX2F0dHIoZnAsICJw aWQiKTsKKwkJcHJpbnRfNF9ieXRlcyhmcCwgdG9rLT50dC5zdWJqMzJfZXgu cGlkLCAiJXUiKTsKKwkJY2xvc2VfYXR0cihmcCk7CisJCW9wZW5fYXR0cihm cCwgInNpZCIpOworCQlwcmludF80X2J5dGVzKGZwLCB0b2stPnR0LnN1Ymoz Ml9leC5zaWQsICIldSIpOworCQljbG9zZV9hdHRyKGZwKTsKKwkJb3Blbl9h dHRyKGZwLCAidGlkIik7CisJCXByaW50XzRfYnl0ZXMoZnAsIHRvay0+dHQu c3ViajMyX2V4LnRpZC5wb3J0LCAiJXUiKTsKKwkJcHJpbnRfaXBfZXhfYWRk cmVzcyhmcCwgdG9rLT50dC5zdWJqMzJfZXgudGlkLnR5cGUsCisJCQl0b2st PnR0LnN1YmozMl9leC50aWQuYWRkcik7CisJCWNsb3NlX2F0dHIoZnApOwor CQljbG9zZV90YWcoZnAsIHRvay0+aWQpOworCX0gZWxzZSB7CisJCXByaW50 X2RlbGltKGZwLCBkZWwpOworCQlwcmludF91c2VyKGZwLCB0b2stPnR0LnN1 YmozMl9leC5hdWlkLCByYXcpOworCQlwcmludF9kZWxpbShmcCwgZGVsKTsK KwkJcHJpbnRfdXNlcihmcCwgdG9rLT50dC5zdWJqMzJfZXguZXVpZCwgcmF3 KTsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXByaW50X2dyb3VwKGZw LCB0b2stPnR0LnN1YmozMl9leC5lZ2lkLCByYXcpOworCQlwcmludF9kZWxp bShmcCwgZGVsKTsKKwkJcHJpbnRfdXNlcihmcCwgdG9rLT50dC5zdWJqMzJf ZXgucnVpZCwgcmF3KTsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXBy aW50X2dyb3VwKGZwLCB0b2stPnR0LnN1YmozMl9leC5yZ2lkLCByYXcpOwor CQlwcmludF9kZWxpbShmcCwgZGVsKTsKKwkJcHJpbnRfNF9ieXRlcyhmcCwg dG9rLT50dC5zdWJqMzJfZXgucGlkLCAiJXUiKTsKKwkJcHJpbnRfZGVsaW0o ZnAsIGRlbCk7CisJCXByaW50XzRfYnl0ZXMoZnAsIHRvay0+dHQuc3ViajMy X2V4LnNpZCwgIiV1Iik7CisJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQlw cmludF80X2J5dGVzKGZwLCB0b2stPnR0LnN1YmozMl9leC50aWQucG9ydCwg IiV1Iik7CisJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQlwcmludF9pcF9l eF9hZGRyZXNzKGZwLCB0b2stPnR0LnN1YmozMl9leC50aWQudHlwZSwKKwkJ CXRvay0+dHQuc3ViajMyX2V4LnRpZC5hZGRyKTsKKwl9CiB9CiAKIC8qCkBA IC0yMzcwLDEyICszMjkwLDE3IEBACiAKIHN0YXRpYyB2b2lkCiBwcmludF90 ZXh0X3RvayhGSUxFICpmcCwgdG9rZW5zdHJfdCAqdG9rLCBjaGFyICpkZWws IGNoYXIgcmF3LAotICAgIF9fdW51c2VkIGNoYXIgc2ZybSkKKyAgICBfX3Vu dXNlZCBjaGFyIHNmcm0sIGNoYXIgeG1sKQogewogCi0JcHJpbnRfdG9rX3R5 cGUoZnAsIHRvay0+aWQsICJ0ZXh0IiwgcmF3KTsKLQlwcmludF9kZWxpbShm cCwgZGVsKTsKLQlwcmludF9zdHJpbmcoZnAsIHRvay0+dHQudGV4dC50ZXh0 LCB0b2stPnR0LnRleHQubGVuKTsKKwlwcmludF90b2tfdHlwZShmcCwgdG9r LT5pZCwgInRleHQiLCByYXcsIHhtbCk7IAorCWlmICh4bWwpIHsKKwkJcHJp bnRfc3RyaW5nKGZwLCB0b2stPnR0LnRleHQudGV4dCwgdG9rLT50dC50ZXh0 Lmxlbik7CisJCWNsb3NlX3RhZyhmcCwgdG9rLT5pZCk7CisJfSBlbHNlIHsK KwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXByaW50X3N0cmluZyhmcCwg dG9rLT50dC50ZXh0LnRleHQsIHRvay0+dHQudGV4dC5sZW4pOworCX0KIH0K IAogLyoKQEAgLTI0MzIsMjAgKzMzNTcsMzkgQEAKIAogc3RhdGljIHZvaWQK IHByaW50X3NvY2tldGV4MzJfdG9rKEZJTEUgKmZwLCB0b2tlbnN0cl90ICp0 b2ssIGNoYXIgKmRlbCwgY2hhciByYXcsCi0gICAgX191bnVzZWQgY2hhciBz ZnJtKQorICAgIF9fdW51c2VkIGNoYXIgc2ZybSwgY2hhciB4bWwpCiB7CiAK LQlwcmludF90b2tfdHlwZShmcCwgdG9rLT5pZCwgInNvY2tldCIsIHJhdyk7 Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0JcHJpbnRfMl9ieXRlcyhmcCwg dG9rLT50dC5zb2NrZXRfZXgzMi50eXBlLCAiJSN4Iik7Ci0JcHJpbnRfZGVs aW0oZnAsIGRlbCk7Ci0JcHJpbnRfMl9ieXRlcyhmcCwgbnRvaHModG9rLT50 dC5zb2NrZXRfZXgzMi5sX3BvcnQpLCAiJSN4Iik7Ci0JcHJpbnRfZGVsaW0o ZnAsIGRlbCk7Ci0JcHJpbnRfaXBfYWRkcmVzcyhmcCwgdG9rLT50dC5zb2Nr ZXRfZXgzMi5sX2FkZHIpOwotCXByaW50X2RlbGltKGZwLCBkZWwpOwotCXBy aW50XzRfYnl0ZXMoZnAsIG50b2hzKHRvay0+dHQuc29ja2V0X2V4MzIucl9w b3J0KSwgIiUjeCIpOwotCXByaW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50 X2lwX2FkZHJlc3MoZnAsIHRvay0+dHQuc29ja2V0X2V4MzIucl9hZGRyKTsK KwlwcmludF90b2tfdHlwZShmcCwgdG9rLT5pZCwgInNvY2tldCIsIHJhdywg eG1sKTsgCisJaWYgKHhtbCkgeworCQlvcGVuX2F0dHIoZnAsICJzb2NrX3R5 cGUiKTsKKwkJcHJpbnRfMl9ieXRlcyhmcCwgdG9rLT50dC5zb2NrZXRfZXgz Mi50eXBlLCAiJSN4Iik7CisJCWNsb3NlX2F0dHIoZnApOworCQlvcGVuX2F0 dHIoZnAsICJscG9ydCIpOworCQlwcmludF8yX2J5dGVzKGZwLCBudG9ocyh0 b2stPnR0LnNvY2tldF9leDMyLmxfcG9ydCksICIlI3giKTsKKwkJY2xvc2Vf YXR0cihmcCk7CisJCW9wZW5fYXR0cihmcCwgImxhZGRyIik7CisJCXByaW50 X2lwX2FkZHJlc3MoZnAsIHRvay0+dHQuc29ja2V0X2V4MzIubF9hZGRyKTsK KwkJY2xvc2VfYXR0cihmcCk7CisJCW9wZW5fYXR0cihmcCwgImZhZGRyIik7 CisJCXByaW50X2lwX2FkZHJlc3MoZnAsIHRvay0+dHQuc29ja2V0X2V4MzIu cl9hZGRyKTsKKwkJY2xvc2VfYXR0cihmcCk7CisJCW9wZW5fYXR0cihmcCwg ImZwb3J0Iik7CisJCXByaW50XzJfYnl0ZXMoZnAsIHRvay0+dHQuc29ja2V0 X2V4MzIudHlwZSwgIiUjeCIpOworCQljbG9zZV9hdHRyKGZwKTsKKwkJY2xv c2VfdGFnKGZwLCB0b2stPmlkKTsKKwl9IGVsc2UgeworCQlwcmludF9kZWxp bShmcCwgZGVsKTsKKwkJcHJpbnRfMl9ieXRlcyhmcCwgdG9rLT50dC5zb2Nr ZXRfZXgzMi50eXBlLCAiJSN4Iik7CisJCXByaW50X2RlbGltKGZwLCBkZWwp OworCQlwcmludF8yX2J5dGVzKGZwLCBudG9ocyh0b2stPnR0LnNvY2tldF9l eDMyLmxfcG9ydCksICIlI3giKTsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7 CisJCXByaW50X2lwX2FkZHJlc3MoZnAsIHRvay0+dHQuc29ja2V0X2V4MzIu bF9hZGRyKTsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXByaW50XzRf Ynl0ZXMoZnAsIG50b2hzKHRvay0+dHQuc29ja2V0X2V4MzIucl9wb3J0KSwg IiUjeCIpOworCQlwcmludF9kZWxpbShmcCwgZGVsKTsKKwkJcHJpbnRfaXBf YWRkcmVzcyhmcCwgdG9rLT50dC5zb2NrZXRfZXgzMi5yX2FkZHIpOworCX0K IH0KIAogc3RhdGljIGludApAQCAtMjQ2OSwxMiArMzQxMywxNCBAQAogCiBz dGF0aWMgdm9pZAogcHJpbnRfaW52YWxpZF90b2soRklMRSAqZnAsIHRva2Vu c3RyX3QgKnRvaywgY2hhciAqZGVsLCBjaGFyIHJhdywKLSAgICBfX3VudXNl ZCBjaGFyIHNmcm0pCisgICAgX191bnVzZWQgY2hhciBzZnJtLCBjaGFyIHht bCkKIHsKIAotCXByaW50X3Rva190eXBlKGZwLCB0b2stPmlkLCAidW5rbm93 biIsIHJhdyk7Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0JcHJpbnRfbWVt KGZwLCB0b2stPnR0LmludmFsaWQuZGF0YSwgdG9rLT50dC5pbnZhbGlkLmxl bmd0aCk7CisJaWYgKCF4bWwpIHsKKwkJcHJpbnRfdG9rX3R5cGUoZnAsIHRv ay0+aWQsICJ1bmtub3duIiwgcmF3LCAwKTsKKwkJcHJpbnRfZGVsaW0oZnAs IGRlbCk7CisJCXByaW50X21lbShmcCwgdG9rLT50dC5pbnZhbGlkLmRhdGEs IHRvay0+dHQuaW52YWxpZC5sZW5ndGgpOworCX0KIH0KIAogCkBAIC0yNjEw LDE1NiArMzU1NiwxNTYgQEAKICAqICdwcmludHMnIHRoZSB0b2tlbiBvdXQg dG8gb3V0ZnAKICAqLwogdm9pZAotYXVfcHJpbnRfdG9rKEZJTEUgKm91dGZw LCB0b2tlbnN0cl90ICp0b2ssIGNoYXIgKmRlbCwgY2hhciByYXcsIGNoYXIg c2ZybSkKK2F1X3ByaW50X3RvayhGSUxFICpvdXRmcCwgdG9rZW5zdHJfdCAq dG9rLCBjaGFyICpkZWwsIGNoYXIgcmF3LCBjaGFyIHNmcm0sIGNoYXIgeG1s KQogewogCiAJc3dpdGNoKHRvay0+aWQpIHsKIAljYXNlIEFVVF9IRUFERVIz MjoKLQkJcHJpbnRfaGVhZGVyMzJfdG9rKG91dGZwLCB0b2ssIGRlbCwgcmF3 LCBzZnJtKTsKKwkJcHJpbnRfaGVhZGVyMzJfdG9rKG91dGZwLCB0b2ssIGRl bCwgcmF3LCBzZnJtLCB4bWwpOwogCQlyZXR1cm47CiAKIAljYXNlIEFVVF9I RUFERVIzMl9FWDoKLQkJcHJpbnRfaGVhZGVyMzJfZXhfdG9rKG91dGZwLCB0 b2ssIGRlbCwgcmF3LCBzZnJtKTsKKwkJcHJpbnRfaGVhZGVyMzJfZXhfdG9r KG91dGZwLCB0b2ssIGRlbCwgcmF3LCBzZnJtLCB4bWwpOwogCQlyZXR1cm47 CiAKIAljYXNlIEFVVF9IRUFERVI2NDoKLQkJcHJpbnRfaGVhZGVyNjRfdG9r KG91dGZwLCB0b2ssIGRlbCwgcmF3LCBzZnJtKTsKKwkJcHJpbnRfaGVhZGVy NjRfdG9rKG91dGZwLCB0b2ssIGRlbCwgcmF3LCBzZnJtLCB4bWwpOwogCQly ZXR1cm47CiAKIAljYXNlIEFVVF9IRUFERVI2NF9FWDoKLQkJcHJpbnRfaGVh ZGVyNjRfZXhfdG9rKG91dGZwLCB0b2ssIGRlbCwgcmF3LCBzZnJtKTsKKwkJ cHJpbnRfaGVhZGVyNjRfZXhfdG9rKG91dGZwLCB0b2ssIGRlbCwgcmF3LCBz ZnJtLCB4bWwpOwogCQlyZXR1cm47CiAKIAljYXNlIEFVVF9UUkFJTEVSOgot CQlwcmludF90cmFpbGVyX3RvayhvdXRmcCwgdG9rLCBkZWwsIHJhdywgc2Zy bSk7CisJCXByaW50X3RyYWlsZXJfdG9rKG91dGZwLCB0b2ssIGRlbCwgcmF3 LCBzZnJtLCB4bWwpOwogCQlyZXR1cm47CiAKIAljYXNlIEFVVF9BUkczMjoK LQkJcHJpbnRfYXJnMzJfdG9rKG91dGZwLCB0b2ssIGRlbCwgcmF3LCBzZnJt KTsKKwkJcHJpbnRfYXJnMzJfdG9rKG91dGZwLCB0b2ssIGRlbCwgcmF3LCBz ZnJtLCB4bWwpOwogCQlyZXR1cm47CiAKIAljYXNlIEFVVF9BUkc2NDoKLQkJ cHJpbnRfYXJnNjRfdG9rKG91dGZwLCB0b2ssIGRlbCwgcmF3LCBzZnJtKTsK KwkJcHJpbnRfYXJnNjRfdG9rKG91dGZwLCB0b2ssIGRlbCwgcmF3LCBzZnJt LCB4bWwpOwogCQlyZXR1cm47CiAKIAljYXNlIEFVVF9EQVRBOgotCQlwcmlu dF9hcmJfdG9rKG91dGZwLCB0b2ssIGRlbCwgcmF3LCBzZnJtKTsKKwkJcHJp bnRfYXJiX3RvayhvdXRmcCwgdG9rLCBkZWwsIHJhdywgc2ZybSwgeG1sKTsK IAkJcmV0dXJuOwogCiAJY2FzZSBBVVRfQVRUUjMyOgotCQlwcmludF9hdHRy MzJfdG9rKG91dGZwLCB0b2ssIGRlbCwgcmF3LCBzZnJtKTsKKwkJcHJpbnRf YXR0cjMyX3RvayhvdXRmcCwgdG9rLCBkZWwsIHJhdywgc2ZybSwgeG1sKTsK IAkJcmV0dXJuOwogCiAJY2FzZSBBVVRfQVRUUjY0OgotCQlwcmludF9hdHRy NjRfdG9rKG91dGZwLCB0b2ssIGRlbCwgcmF3LCBzZnJtKTsKKwkJcHJpbnRf YXR0cjY0X3RvayhvdXRmcCwgdG9rLCBkZWwsIHJhdywgc2ZybSwgeG1sKTsK IAkJcmV0dXJuOwogCiAJY2FzZSBBVVRfRVhJVDoKLQkJcHJpbnRfZXhpdF90 b2sob3V0ZnAsIHRvaywgZGVsLCByYXcsIHNmcm0pOworCQlwcmludF9leGl0 X3RvayhvdXRmcCwgdG9rLCBkZWwsIHJhdywgc2ZybSwgeG1sKTsKIAkJcmV0 dXJuOwogCiAJY2FzZSBBVVRfRVhFQ19BUkdTOgotCQlwcmludF9leGVjYXJn X3RvayhvdXRmcCwgdG9rLCBkZWwsIHJhdywgc2ZybSk7CisJCXByaW50X2V4 ZWNhcmdfdG9rKG91dGZwLCB0b2ssIGRlbCwgcmF3LCBzZnJtLCB4bWwpOwog CQlyZXR1cm47CiAKIAljYXNlIEFVVF9FWEVDX0VOVjoKLQkJcHJpbnRfZXhl Y2Vudl90b2sob3V0ZnAsIHRvaywgZGVsLCByYXcsIHNmcm0pOworCQlwcmlu dF9leGVjZW52X3RvayhvdXRmcCwgdG9rLCBkZWwsIHJhdywgc2ZybSwgeG1s KTsKIAkJcmV0dXJuOwogCiAJY2FzZSBBVVRfT1RIRVJfRklMRTMyOgotCQlw cmludF9maWxlX3RvayhvdXRmcCwgdG9rLCBkZWwsIHJhdywgc2ZybSk7CisJ CXByaW50X2ZpbGVfdG9rKG91dGZwLCB0b2ssIGRlbCwgcmF3LCBzZnJtLCB4 bWwpOwogCQlyZXR1cm47CiAKIAljYXNlIEFVVF9ORVdHUk9VUFM6Ci0JCXBy aW50X25ld2dyb3Vwc190b2sob3V0ZnAsIHRvaywgZGVsLCByYXcsIHNmcm0p OworCQlwcmludF9uZXdncm91cHNfdG9rKG91dGZwLCB0b2ssIGRlbCwgcmF3 LCBzZnJtLCB4bWwpOwogCQlyZXR1cm47CiAKIAljYXNlIEFVVF9JTl9BRERS OgotCQlwcmludF9pbmFkZHJfdG9rKG91dGZwLCB0b2ssIGRlbCwgcmF3LCBz ZnJtKTsKKwkJcHJpbnRfaW5hZGRyX3RvayhvdXRmcCwgdG9rLCBkZWwsIHJh dywgc2ZybSwgeG1sKTsKIAkJcmV0dXJuOwogCiAJY2FzZSBBVVRfSU5fQURE Ul9FWDoKLQkJcHJpbnRfaW5hZGRyX2V4X3RvayhvdXRmcCwgdG9rLCBkZWws IHJhdywgc2ZybSk7CisJCXByaW50X2luYWRkcl9leF90b2sob3V0ZnAsIHRv aywgZGVsLCByYXcsIHNmcm0sIHhtbCk7CiAJCXJldHVybjsKIAogCWNhc2Ug QVVUX0lQOgotCQlwcmludF9pcF90b2sob3V0ZnAsIHRvaywgZGVsLCByYXcs IHNmcm0pOworCQlwcmludF9pcF90b2sob3V0ZnAsIHRvaywgZGVsLCByYXcs IHNmcm0sIHhtbCk7CiAJCXJldHVybjsKIAogCWNhc2UgQVVUX0lQQzoKLQkJ cHJpbnRfaXBjX3RvayhvdXRmcCwgdG9rLCBkZWwsIHJhdywgc2ZybSk7CisJ CXByaW50X2lwY190b2sob3V0ZnAsIHRvaywgZGVsLCByYXcsIHNmcm0sIHht bCk7CiAJCXJldHVybjsKIAogCWNhc2UgQVVUX0lQQ19QRVJNOgotCQlwcmlu dF9pcGNwZXJtX3RvayhvdXRmcCwgdG9rLCBkZWwsIHJhdywgc2ZybSk7CisJ CXByaW50X2lwY3Blcm1fdG9rKG91dGZwLCB0b2ssIGRlbCwgcmF3LCBzZnJt LCB4bWwpOwogCQlyZXR1cm47CiAKIAljYXNlIEFVVF9JUE9SVDoKLQkJcHJp bnRfaXBvcnRfdG9rKG91dGZwLCB0b2ssIGRlbCwgcmF3LCBzZnJtKTsKKwkJ cHJpbnRfaXBvcnRfdG9rKG91dGZwLCB0b2ssIGRlbCwgcmF3LCBzZnJtLCB4 bWwpOwogCQlyZXR1cm47CiAKIAljYXNlIEFVVF9PUEFRVUU6Ci0JCXByaW50 X29wYXF1ZV90b2sob3V0ZnAsIHRvaywgZGVsLCByYXcsIHNmcm0pOworCQlw cmludF9vcGFxdWVfdG9rKG91dGZwLCB0b2ssIGRlbCwgcmF3LCBzZnJtLCB4 bWwpOwogCQlyZXR1cm47CiAKIAljYXNlIEFVVF9QQVRIOgotCQlwcmludF9w YXRoX3RvayhvdXRmcCwgdG9rLCBkZWwsIHJhdywgc2ZybSk7CisJCXByaW50 X3BhdGhfdG9rKG91dGZwLCB0b2ssIGRlbCwgcmF3LCBzZnJtLCB4bWwpOwog CQlyZXR1cm47CiAKIAljYXNlIEFVVF9QUk9DRVNTMzI6Ci0JCXByaW50X3By b2Nlc3MzMl90b2sob3V0ZnAsIHRvaywgZGVsLCByYXcsIHNmcm0pOworCQlw cmludF9wcm9jZXNzMzJfdG9rKG91dGZwLCB0b2ssIGRlbCwgcmF3LCBzZnJt LCB4bWwpOwogCQlyZXR1cm47CiAKIAljYXNlIEFVVF9QUk9DRVNTMzJfRVg6 Ci0JCXByaW50X3Byb2Nlc3MzMmV4X3RvayhvdXRmcCwgdG9rLCBkZWwsIHJh dywgc2ZybSk7CisJCXByaW50X3Byb2Nlc3MzMmV4X3RvayhvdXRmcCwgdG9r LCBkZWwsIHJhdywgc2ZybSwgeG1sKTsKIAkJcmV0dXJuOwogCiAJY2FzZSBB VVRfUkVUVVJOMzI6Ci0JCXByaW50X3JldHVybjMyX3RvayhvdXRmcCwgdG9r LCBkZWwsIHJhdywgc2ZybSk7CisJCXByaW50X3JldHVybjMyX3RvayhvdXRm cCwgdG9rLCBkZWwsIHJhdywgc2ZybSwgeG1sKTsKIAkJcmV0dXJuOwogCiAJ Y2FzZSBBVVRfUkVUVVJONjQ6Ci0JCXByaW50X3JldHVybjY0X3RvayhvdXRm cCwgdG9rLCBkZWwsIHJhdywgc2ZybSk7CisJCXByaW50X3JldHVybjY0X3Rv ayhvdXRmcCwgdG9rLCBkZWwsIHJhdywgc2ZybSwgeG1sKTsKIAkJcmV0dXJu OwogCiAJY2FzZSBBVVRfU0VROgotCQlwcmludF9zZXFfdG9rKG91dGZwLCB0 b2ssIGRlbCwgcmF3LCBzZnJtKTsKKwkJcHJpbnRfc2VxX3RvayhvdXRmcCwg dG9rLCBkZWwsIHJhdywgc2ZybSwgeG1sKTsKIAkJcmV0dXJuOwogCiAJY2Fz ZSBBVVRfU09DS0VUOgotCQlwcmludF9zb2NrZXRfdG9rKG91dGZwLCB0b2ss IGRlbCwgcmF3LCBzZnJtKTsKKwkJcHJpbnRfc29ja2V0X3RvayhvdXRmcCwg dG9rLCBkZWwsIHJhdywgc2ZybSwgeG1sKTsKIAkJcmV0dXJuOwogCiAJY2Fz ZSBBVVRfU09DS0lORVQzMjoKLQkJcHJpbnRfc29ja19pbmV0MzJfdG9rKG91 dGZwLCB0b2ssIGRlbCwgcmF3LCBzZnJtKTsKKwkJcHJpbnRfc29ja19pbmV0 MzJfdG9rKG91dGZwLCB0b2ssIGRlbCwgcmF3LCBzZnJtLCB4bWwpOwogCQly ZXR1cm47CiAKIAljYXNlIEFVVF9TT0NLVU5JWDoKLQkJcHJpbnRfc29ja191 bml4X3RvayhvdXRmcCwgdG9rLCBkZWwsIHJhdywgc2ZybSk7CisJCXByaW50 X3NvY2tfdW5peF90b2sob3V0ZnAsIHRvaywgZGVsLCByYXcsIHNmcm0sIHht bCk7CiAJCXJldHVybjsKIAogCWNhc2UgQVVUX1NVQkpFQ1QzMjoKLQkJcHJp bnRfc3ViamVjdDMyX3RvayhvdXRmcCwgdG9rLCBkZWwsIHJhdywgc2ZybSk7 CisJCXByaW50X3N1YmplY3QzMl90b2sob3V0ZnAsIHRvaywgZGVsLCByYXcs IHNmcm0sIHhtbCk7CiAJCXJldHVybjsKIAogCWNhc2UgQVVUX1NVQkpFQ1Q2 NDoKLQkJcHJpbnRfc3ViamVjdDY0X3RvayhvdXRmcCwgdG9rLCBkZWwsIHJh dywgc2ZybSk7CisJCXByaW50X3N1YmplY3Q2NF90b2sob3V0ZnAsIHRvaywg ZGVsLCByYXcsIHNmcm0sIHhtbCk7CiAJCXJldHVybjsKIAogCWNhc2UgQVVU X1NVQkpFQ1QzMl9FWDoKLQkJcHJpbnRfc3ViamVjdDMyZXhfdG9rKG91dGZw LCB0b2ssIGRlbCwgcmF3LCBzZnJtKTsKKwkJcHJpbnRfc3ViamVjdDMyZXhf dG9rKG91dGZwLCB0b2ssIGRlbCwgcmF3LCBzZnJtLCB4bWwpOwogCQlyZXR1 cm47CiAKIAljYXNlIEFVVF9URVhUOgotCQlwcmludF90ZXh0X3RvayhvdXRm cCwgdG9rLCBkZWwsIHJhdywgc2ZybSk7CisJCXByaW50X3RleHRfdG9rKG91 dGZwLCB0b2ssIGRlbCwgcmF3LCBzZnJtLCB4bWwpOwogCQlyZXR1cm47CiAK IAljYXNlIEFVVF9TT0NLRVRfRVg6Ci0JCXByaW50X3NvY2tldGV4MzJfdG9r KG91dGZwLCB0b2ssIGRlbCwgcmF3LCBzZnJtKTsKKwkJcHJpbnRfc29ja2V0 ZXgzMl90b2sob3V0ZnAsIHRvaywgZGVsLCByYXcsIHNmcm0sIHhtbCk7CiAJ CXJldHVybjsKIAogCWRlZmF1bHQ6Ci0JCXByaW50X2ludmFsaWRfdG9rKG91 dGZwLCB0b2ssIGRlbCwgcmF3LCBzZnJtKTsKKwkJcHJpbnRfaW52YWxpZF90 b2sob3V0ZnAsIHRvaywgZGVsLCByYXcsIHNmcm0sIHhtbCk7CiAJfQogfQo= --0-26714257-1161267674=:28910 Content-Type: application/octet-stream; name="doc.patch" Content-Transfer-Encoding: base64 Content-Description: 3101188344-doc.patch Content-Disposition: attachment; filename="doc.patch" SW5kZXg6ICBtYW4vYXVkaXQubG9nLjUKPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0gbWFuL2F1ZGl0LmxvZy41CVRodSBPY3QgMTkgMTM6MzE6MTMgMjAw NgorKysgbWFuL2F1ZGl0LmxvZy41CVN1biBTZXAgMjQgMjA6MjA6MTEgMjAw NgpAQCAtNDE0LDggKzQxNCw3IEBACiAuU3MgU3lzdGVtIFYgSVBDIFRva2Vu CiBUaGUKIC5EdiBTeXN0ZW0gViBJUEMKLXRva2VuIGNvbnRhaW5zIHRoZSBT eXN0ZW0gViBJUEMgbWVzc2FnZSBoYW5kbGUsIHNlbWFwaG9yZSBoYW5kbGUg b3Igc2hhcmVkIG1lbW9yeSBoYW5kbGUuIEEgU3lzdGVtIFYgSVBDIHRva2Vu IG1heSBiZSBjcmVhdGVkIHVzaW5nIAotLlhyIGF1X3RvX2lwYyAzIC4gCit0 b2tlbiAuLi4KIC5CbCAtY29sdW1uIC1vZmZzZXQgaW5kICIuU3kgRmllbGQg TmFtZSBXaWR0aCBYWCIgIi5TeSBYWCBCeXRlcyBYWFhYIiAiLlN5IERlc2Ny aXB0aW9uIgogLkl0IFN5ICJGaWVsZCIgVGEgU3kgQnl0ZXMgVGEgU3kgRGVz Y3JpcHRpb24KIC5JdCBMaSAiVG9rZW4gSUQiIFRhICIxIGJ5dGUiIFRhICJU b2tlbiBJRCIKQEAgLTQ3OCw1NSArNDc3LDM4IEBACiAuU3MgU3lzdGVtIFYg SVBDIFBlcm1pc3Npb24gVG9rZW4KIFRoZQogLkR2IFN5c3RlbSBWIElQQyBw ZXJtaXNzaW9uCi10b2tlbiBjb250YWlucyBhIFN5c3RlbSBWIElQQyBhY2Nl c3MgcGVybWlzc2lvbnMuIEEgSVBDIHBlcm1pc3Npb24gdG9rZW4gbWF5IGJl IGNyZWF0ZWQgdXNpbmcKLS5YciBhdV90b19pcGNfcGVybSAzIC4gCit0b2tl biAuLi4KIC5CbCAtY29sdW1uIC1vZmZzZXQgaW5kICIuU3kgRmllbGQgTmFt ZSBXaWR0aCBYWCIgIi5TeSBYWCBCeXRlcyBYWFhYIiAiLlN5IERlc2NyaXB0 aW9uIgogLkl0IFN5ICJGaWVsZCIgVGEgU3kgQnl0ZXMgVGEgU3kgRGVzY3Jp cHRpb24KIC5JdCBMaSAiVG9rZW4gSUQiIFRhICIxIGJ5dGUiIFRhICJUb2tl biBJRCIKLS5JdCBMaSAiT3duZXIgdXNlciBJRCIgVGEgIjQgYnl0ZXMiIFRh ICJVc2VyIElEIG9mIElQQyBvd25lciIKLS5JdCBMaSAiT3duZXIgZ3JvdXAg SUQiIFRhICI0IGJ5dGVzIiBUYSAiR3JvdXAgSUQgb2YgSVBDIG93bmVyIgot Lkl0IExpICJDcmVhdG9yIHVzZXIgSUQiIFRhICI0IGJ5dGVzIiBUYSAiVXNl ciBJRCBvZiBJUEMgY3JlYXRvciIKLS5JdCBMaSAiQ3JlYXRvciBncm91cCBJ RCIgVGEgIjQgYnl0ZXMiIFRhICJHcm91cCBJRCBvZiBJUEMgY3JlYXRvciIK LS5JdCBMaSAiQWNjZXNzIG1vZGUiIFRhICI0IGJ5dGVzIiBUYSAiQWNjZXNz IG1vZGUiCi0uSXQgTGkgIlNlcXVuY2UgbnVtYmVyIiBUYSAiNCBieXRlcyIg VGEgIlNlcXVuY2UgbnVtYmVyIgotLkl0IExpICJLZXkiIFRhICI0IGJ5dGVz IiBUYSAiSVBDIGtleSIKKy5JdCBMaSBYWFhYWAogLkVsCiAuU3MgQXJnIFRv a2VuCiBUaGUKIC5EdiBhcmcKLXRva2VuIGNvbnRhaW5zIGluZm9ybWF0aW9u cyBhYm91dCBhcmd1bWVudHMgb2YgdGhlIHN5c3RlbSBjYWxsLiBEZXBlbmQg b24gc2l6ZSBvZiBhcmd1bWVudCB2YWx1ZSBhbiBBcmcgdG9rZW4gbWF5IGJl IGNyZWF0ZWQgdXNpbmcKLS5YciBhdV90b19hcmczMiAzIAotb3IKLS5YciBh dV90b19hcmc2NCAzIC4KK3Rva2VuIC4uLgogLkJsIC1jb2x1bW4gLW9mZnNl dCBpbmQgIi5TeSBGaWVsZCBOYW1lIFdpZHRoIFhYIiAiLlN5IFhYIEJ5dGVz IFhYWFgiICIuU3kgRGVzY3JpcHRpb24iCiAuSXQgU3kgIkZpZWxkIiBUYSBT eSBCeXRlcyBUYSBTeSBEZXNjcmlwdGlvbgogLkl0IExpICJUb2tlbiBJRCIg VGEgIjEgYnl0ZSIgVGEgIlRva2VuIElEIgotLkl0IExpICJBcmd1bWVudCBJ RCIgVGEgIjEgYnl0ZSIgVGEgIkFyZ3VtZW50IElEIgotLkl0IExpICJBcmd1 bWVudCB2YWx1ZSIgVGEgIjQvOCBieXRlcyIgVGEgIkFyZ3VtZW50IHZhbHVl IgotLkl0IExpICJMZW5ndGgiIFRhICIyIGJ5dGVzIiBUYSAiTGVuZ3RoIG9m IHRoZSB0ZXh0IgotLkl0IExpICJUZXh0IiBUYSAiTiBieXRlcyArIDEgbnVs IiBUYSAiVGhlIHN0cmluZyBpbmNsdWRpbmcgbnVsIgorLkl0IExpIFhYWFhY CiAuRWwKIC5TcyBleGVjX2FyZ3MgVG9rZW4KIFRoZQogLkR2IGV4ZWNfYXJn cwotdG9rZW4gY29udGFpbnMgaW5mb3JtYXRpb25zIGFib3V0IGFyZ3VlbWVu dHMgb2YgdGhlIGV4ZWMoKSBzeXN0ZW0gY2FsbC4gQSBleGVjX2FyZ3MgdG9r ZW4gbWF5IGJlIGNyZWF0ZWQgdXNpbmcKLS5YciBhdV90b19leGVjX2FyZ3Mg MyAuCit0b2tlbiAuLi4KIC5CbCAtY29sdW1uIC1vZmZzZXQgaW5kICIuU3kg RmllbGQgTmFtZSBXaWR0aCBYWCIgIi5TeSBYWCBCeXRlcyBYWFhYIiAiLlN5 IERlc2NyaXB0aW9uIgogLkl0IFN5ICJGaWVsZCIgVGEgU3kgQnl0ZXMgVGEg U3kgRGVzY3JpcHRpb24KIC5JdCBMaSAiVG9rZW4gSUQiIFRhICIxIGJ5dGUi IFRhICJUb2tlbiBJRCIKLS5JdCBMaSAiQ291bnQiIFRhICI0IGJ5dGVzIiBU YSAiTnVtYmVyIG9mIGFyZ3VtZW50cyIKLS5JdCBMaSAiVGV4dCIgVGEgIiog Ynl0ZXMiIFRhICJDb3VudCBudWxsLXRlcm1pbmF0ZWQgc3RyaW5ncyIKKy5J dCBMaSBYWFhYWAogLkVsCiAuU3MgZXhlY19lbnYgVG9rZW4KIFRoZQogLkR2 IGV4ZWNfZW52Ci10b2tlbiBjb250YWlucyBjdXJyZW50IGV2aXJvbWVudCB2 YXJpYWJsZXMgdG8gYW4gZXhlYygpIHN5c3RlbSBjYWxsLiBBIGV4ZWNfYXJn cyB0b2tlbiBtYXkgYmUgY3JlYXRlZCB1c2luZwotLlhyIGF1X3RvX2V4ZWNf ZW52IDMgLgordG9rZW4gLi4uCiAuQmwgLWNvbHVtbiAtb2Zmc2V0IGluZCAi LlN5IEZpZWxkIE5hbWUgV2lkdGggWFgiICIuU3kgWFggQnl0ZXMgWFhYWCIg Ii5TeSBEZXNjcmlwdGlvbiIKIC5JdCBTeSAiRmllbGQiIFRhIFN5IEJ5dGVz IFRhIFN5IERlc2NyaXB0aW9uCiAuSXQgTGkgIlRva2VuIElEIiBUYSAiMSBi eXRlIiBUYSAiVG9rZW4gSUQiCi0uSXQgTGkgIkNvdW50IElEIiBUYSAiNCBi eXRlcyIgVGEgIk51bWJlciBvZiB2YXJpYWJsZXMiCi0uSXQgTGkgIlRleHQi IFRhICIqIGJ5dGVzIiBUYSAiQ291bnQgbnVsbC10ZXJtaW5hdGVkIHN0cmlu Z3MiCisuSXQgTGkgWFhYWFgKIC5FbAogLlNzIEV4aXQgVG9rZW4KIFRoZQpA QCAtNTQ1LDI3ICs1MjcsMTEgQEAKIC5TcyBTb2NrZXQgVG9rZW4KIFRoZQog LkR2IHNvY2tldAotdG9rZW4gY29udGFpbnMgaW5mb3JtYXRpb25zIGFib3V0 IEludGVybmV0IHNvY2tldC4gVG9rZW4gaGFzIGZvdXIgZmllbGRzIG9yIGVp Z2h0IGZpZWxkcy4gRGVwZW5kIG9uIHR5cGUgb2Ygc29ja2V0IGEgc29ja2V0 IHRva2VuIG1heSBiZSBjcmVhdGVkIHVzaW5nICAgCi0uWHIgYXVfdG9fc29j a191bml4IDMgLAotLlhyIGF1X3RvX3NvY2tfaW5ldDMyIDMgb3IKLS5YciBh dV90b19zb2NrX2luZXQxMjggMyAuCi0uQmwgLWNvbHVtbiAtb2Zmc2V0IGlu ZCAiLlN5IEZpZWxkIE5hbWUgV2lkdGggWFgiICIuU3kgWFggQnl0ZXMgWFhY WCIgIi5TeSBEZXNjcmlwdGlvbiIKLS5JdCBTeSAiRmllbGQiIFRhIFN5IEJ5 dGVzIFRhIFN5IERlc2NyaXB0aW9uCi0uSXQgTGkgIlRva2VuIElEIiBUYSAi MSBieXRlIiBUYSAiVG9rZW4gSUQiCi0uSXQgTGkgIlNvY2tldCBmYW1pbHki IFRhICIyIGJ5dGVzIiBUYSAiU29ja2V0IGZhbWlseSIKLS5JdCBMaSAiTG9j YWwgcG9ydCIgVGEgIjIgYnl0ZXMiIFRhICJMb2NhbCBwb3J0IgotLkl0IExp ICJTb2NrZXQgYWRkcmVzcyIgVGEgIjQgYnl0ZXMiIFRhICJTb2NrZXQgYWRk cmVzcyIKLS5FbAordG9rZW4gLi4uCiAuQmwgLWNvbHVtbiAtb2Zmc2V0IGlu ZCAiLlN5IEZpZWxkIE5hbWUgV2lkdGggWFgiICIuU3kgWFggQnl0ZXMgWFhY WCIgIi5TeSBEZXNjcmlwdGlvbiIKIC5JdCBTeSAiRmllbGQiIFRhIFN5IEJ5 dGVzIFRhIFN5IERlc2NyaXB0aW9uCiAuSXQgTGkgIlRva2VuIElEIiBUYSAi MSBieXRlIiBUYSAiVG9rZW4gSUQiCi0uSXQgTGkgIlNvY2tldCBkb21haW4i IFRhICI0IGJ5dGVzIiBUYSAiU29ja2V0IGRvbWFpbiIKLS5JdCBMaSAiU29j a2V0IGZhbWlseSIgVGEgIjIgYnl0ZXMiIFRhICJTb2NrZXQgZmFtaWx5Igot Lkl0IExpICJBZGRyZXNzIHR5cGUiIFRhICIxIGJ5dGUiIFRhICJBZGRyZXNz IHR5cGUgKElQdjQvSVB2NikiCi0uSXQgTGkgIkxvY2FsIHBvcnQiIFRhICIy IGJ5dGVzIiBUYSAiTG9jYWwgcG9ydCIKLS5JdCBMaSAiTG9jYWwgSVAgYWRk cmVzcyIgVGEgIjQvMTYgYnl0ZXMiIFRhICJMb2NhbCBJUCBhZGRyZXNzIgot Lkl0IExpICJSZW1vdGUgcG9ydCIgVGEgIjIgYnl0ZXMiIFRhICJSZW1vdGUg cG9ydCIKLS5JdCBMaSAiUmVtb3RlIElQIGFkZHJlc3MiIFRhICI0LzE2IGJ5 dGVzIiBUYSAiUmVtb3RlIElQIGFkZHJlc3MiCisuSXQgTGkgWFhYWFgKIC5F bAogLlNzIEV4cGFuZGVkIFNvY2tldCBUb2tlbgogVGhlCg== --0-26714257-1161267674=:28910--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20061019142114.30659.qmail>