From owner-svn-src-all@FreeBSD.ORG Sat Sep 15 01:55:50 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id AD22A106566B for ; Sat, 15 Sep 2012 01:55:50 +0000 (UTC) (envelope-from wsakir@columbus.rr.com) Received: from hrndva-omtalb.mail.rr.com (hrndva-omtalb.mail.rr.com [71.74.56.122]) by mx1.freebsd.org (Postfix) with ESMTP id 6835C8FC0C for ; Sat, 15 Sep 2012 01:55:50 +0000 (UTC) Authentication-Results: hrndva-omtalb.mail.rr.com smtp.user=wsakir@columbus.rr.com; auth=pass (LOGIN) X-Authority-Analysis: v=2.0 cv=VPlfbqzX c=1 sm=0 a=801U5a4lxFEdElq8EHofNg==:17 a=o8wAijMSiSQA:10 a=BOr_cMkuy-YA:10 a=05ChyHeVI94A:10 a=jPJDawAOAc8A:10 a=ayC55rCoAAAA:8 a=-sXcb8JJSV0A:10 a=6I5d2MoRAAAA:8 a=HiWkEfo4AAAA:8 a=NmGDKX74S48mesZGVG0A:9 a=QEXdDO2ut3YA:10 a=pXWTgTArvbYA:10 a=SV7veod9ZcQA:10 a=vwAOBwmnKgUA:10 a=OKizr8LreaevfG08-G0A:9 a=801U5a4lxFEdElq8EHofNg==:117 X-Cloudmark-Score: 0 X-Originating-IP: 70.194.4.101 Received: from [70.194.4.101] ([70.194.4.101:13521] helo=[10.160.35.178]) by hrndva-oedge01.mail.rr.com (envelope-from ) (ecelerity 2.2.3.46 r()) with ESMTPA id 00/76-01394-020E3505; Sat, 15 Sep 2012 01:55:45 +0000 To: svn-src-all@freebsd.org Message-ID: <00.76.01394.020E3505@hrndva-omtalb.mail.rr.com> From: "=?utf-8?B?d3Nha2lyQGNvbHVtYnVzLnJyLmNvbQ==?=" Date: Fri, 14 Sep 2012 21:55:43 -0400 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 Content-Disposition: inline X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Subject: Re: svn-src-all Digest, Vol 103, Issue 42 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 15 Sep 2012 01:55:50 -0000 SGVscAoKU2VudCBmcm9tIG15IFZlcml6b24gV2lyZWxlc3MgNEcgTFRFIFNtYXJ0cGhvbmUKCi0t LS0tIFJlcGx5IG1lc3NhZ2UgLS0tLS0KRnJvbTogc3ZuLXNyYy1hbGwtcmVxdWVzdEBmcmVlYnNk Lm9yZwpUbzogPHN2bi1zcmMtYWxsQGZyZWVic2Qub3JnPgpTdWJqZWN0OiBzdm4tc3JjLWFsbCBE aWdlc3QsIFZvbCAxMDMsIElzc3VlIDQyCkRhdGU6IEZyaSwgU2VwIDE0LCAyMDEyIDY6NTMgcG0K CgpTZW5kIHN2bi1zcmMtYWxsIG1haWxpbmcgbGlzdCBzdWJtaXNzaW9ucyB0bwoJc3ZuLXNyYy1h bGxAZnJlZWJzZC5vcmcKClRvIHN1YnNjcmliZSBvciB1bnN1YnNjcmliZSB2aWEgdGhlIFdvcmxk IFdpZGUgV2ViLCB2aXNpdAoJaHR0cDovL2xpc3RzLmZyZWVic2Qub3JnL21haWxtYW4vbGlzdGlu Zm8vc3ZuLXNyYy1hbGwKb3IsIHZpYSBlbWFpbCwgc2VuZCBhIG1lc3NhZ2Ugd2l0aCBzdWJqZWN0 IG9yIGJvZHkgJ2hlbHAnIHRvCglzdm4tc3JjLWFsbC1yZXF1ZXN0QGZyZWVic2Qub3JnCgpZb3Ug Y2FuIHJlYWNoIHRoZSBwZXJzb24gbWFuYWdpbmcgdGhlIGxpc3QgYXQKCXN2bi1zcmMtYWxsLW93 bmVyQGZyZWVic2Qub3JnCgpXaGVuIHJlcGx5aW5nLCBwbGVhc2UgZWRpdCB5b3VyIFN1YmplY3Qg bGluZSBzbyBpdCBpcyBtb3JlIHNwZWNpZmljCnRoYW4gIlJlOiBDb250ZW50cyBvZiBzdm4tc3Jj LWFsbCBkaWdlc3QuLi4iCgoKVG9kYXkncyBUb3BpY3M6CgogICAxLiBzdm4gY29tbWl0OiByMjQw NTE3IC0gaW4gaGVhZC9jb250cmliL2J5YWNjOiAuIHBhY2thZ2UKICAgICAgcGFja2FnZS9kZWJp YW4gKEJhcHRpc3RlIERhcm91c3NpbikKICAgMi4gc3ZuIGNvbW1pdDogcjI0MDUxOCAtIGluIGhl YWQ6IGxpYi9saWJjL3N0ZGlvCiAgICAgIHNoYXJlL2V4YW1wbGVzL2Rpc2tsZXNzIHN5cy9hcm0v dGkgc3lzL2Rldi9hbHRlcmEvanRhZ191YXJ0CiAgICAgIHN5cy9kZXYvYnVzbG9naWMgc3lzL2Rl di9lMTAwMCBzeXMvZGV2L2lzY2kvc2NpbCBzeXMvZGV2L2lzcAogICAgICBzeXMvZGV2L21wcyBz eXMva2VybiBzeXMvc3BhcmMuLi4gKEVpdGFuIEFkbGVyKQogICAzLiBzdm4gY29tbWl0OiByMjQw NTE5IC0gaW4gaGVhZC9yZWxlYXNlL2RvYy9mcl9GUi5JU084ODU5LTE6CiAgICAgIGVhcmx5LWFk b3B0ZXIgZXJyYXRhIGhhcmR3YXJlL2FscGhhIGhhcmR3YXJlL2NvbW1vbgloYXJkd2FyZS9pMzg2 CiAgICAgIGhhcmR3YXJlL2lhNjQgaGFyZHdhcmUvcGM5OCBoYXJkd2FyZS9zcGFyYzY0CWluc3Rh bGxhdGlvbi9hbHBoYQogICAgICBpbnN0YWxsYS4uLiAoR2Fib3IgS292ZXNkYW4pCiAgIDQuIHN2 biBjb21taXQ6IHIyNDA1MjAgLSBpbiBoZWFkL3N5czogZGV2L2lzY2kvc2NpbAogICAgICBkZXYv dnhnZS9pbmNsdWRlCWkzODYvaW5jbHVkZS94ZW4gbmV0aW5ldCAoRWl0YW4gQWRsZXIpCiAgIDUu IHN2biBjb21taXQ6IHIyNDA1MjEgLSBpbiBoZWFkL3N5czogY2FtL3Njc2kgZGV2L2lzY2kvc2Np bAogICAgICBkZXYveGVuL25ldGJhY2sgbGlia2VybiBuZXQ4MDIxMSAoRWl0YW4gQWRsZXIpCiAg IDYuIHN2biBjb21taXQ6IHIyNDA1MjIgLSBoZWFkL3NoYXJlL21hbi9tYW4zIChKaWxsZXMgVGpv ZWxrZXIpCiAgIDcuIHN2biBjb21taXQ6IHIyNDA1MjMgLSBoZWFkL3NoYXJlL21hbi9tYW4zIChK aWxsZXMgVGpvZWxrZXIpCiAgIDguIHN2biBjb21taXQ6IHIyNDA1MjQgLSBoZWFkL3NoYXJlL21h bi9tYW4zIChKaWxsZXMgVGpvZWxrZXIpCiAgIDkuIFJlOiBzdm4gY29tbWl0OiByMjM4NTYzIC0g aGVhZC9nbnUvdXNyLmJpbi9ncm9mZi90bWFjCiAgICAgIChKaWxsZXMgVGpvZWxrZXIpCiAgMTAu IHN2biBjb21taXQ6IHIyNDA1MjUgLSBpbiB2ZW5kb3Itc3lzL2FjcGljYS9kaXN0OiAuCiAgICAg IGdlbmVyYXRlL3VuaXgJc291cmNlL2NvbW1vbiBzb3VyY2UvY29tcGlsZXIKICAgICAgc291cmNl L2NvbXBvbmVudHMvZGVidWdnZXIJc291cmNlL2NvbXBvbmVudHMvZGlzYXNzZW1ibGVyCiAgICAg IHNvdXJjZS9jb21wb25lbnRzL3RhYmxlcwlzb3VyY2UvaW5jbHVkZSBzb3VyLi4uIChKdW5nLXVr IEtpbSkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpNZXNzYWdlOiAxCkRhdGU6IEZyaSwgMTQgU2VwIDIwMTIg MjE6MTc6NTMgKzAwMDAgKFVUQykKRnJvbTogQmFwdGlzdGUgRGFyb3Vzc2luIDxiYXB0QEZyZWVC U0Qub3JnPgpTdWJqZWN0OiBzdm4gY29tbWl0OiByMjQwNTE3IC0gaW4gaGVhZC9jb250cmliL2J5 YWNjOiAuIHBhY2thZ2UKCXBhY2thZ2UvZGViaWFuClRvOiBzcmMtY29tbWl0dGVyc0BmcmVlYnNk Lm9yZywgc3ZuLXNyYy1hbGxAZnJlZWJzZC5vcmcsCglzdm4tc3JjLWhlYWRAZnJlZWJzZC5vcmcK TWVzc2FnZS1JRDogPDIwMTIwOTE0MjExNy5xOEVMSHJmbTAxMDU3OUBzdm4uZnJlZWJzZC5vcmc+ CkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAoKQXV0aG9yOiBiYXB0CkRh dGU6IEZyaSBTZXAgMTQgMjE6MTc6NTMgMjAxMgpOZXcgUmV2aXNpb246IDI0MDUxNwpVUkw6IGh0 dHA6Ly9zdm4uZnJlZWJzZC5vcmcvY2hhbmdlc2V0L2Jhc2UvMjQwNTE3CgpMb2c6CiAgdXBkYXRl IHRvIHZlcnNpb24gMjAxMjA1MjYKCk1vZGlmaWVkOgogIGhlYWQvY29udHJpYi9ieWFjYy9DSEFO R0VTCiAgaGVhZC9jb250cmliL2J5YWNjL1ZFUlNJT04KICBoZWFkL2NvbnRyaWIvYnlhY2MvZGVm cy5oCiAgaGVhZC9jb250cmliL2J5YWNjL2xyMC5jCiAgaGVhZC9jb250cmliL2J5YWNjL21haW4u YwogIGhlYWQvY29udHJpYi9ieWFjYy9ta3Bhci5jCiAgaGVhZC9jb250cmliL2J5YWNjL291dHB1 dC5jCiAgaGVhZC9jb250cmliL2J5YWNjL3BhY2thZ2UvYnlhY2Muc3BlYwogIGhlYWQvY29udHJp Yi9ieWFjYy9wYWNrYWdlL2RlYmlhbi9jaGFuZ2Vsb2cKICBoZWFkL2NvbnRyaWIvYnlhY2MvcmVh ZGVyLmMKICBoZWFkL2NvbnRyaWIvYnlhY2Mvc3ltdGFiLmMKICBoZWFkL2NvbnRyaWIvYnlhY2Mv dmVyYm9zZS5jCkRpcmVjdG9yeSBQcm9wZXJ0aWVzOgogIGhlYWQvY29udHJpYi9ieWFjYy8gICAo cHJvcHMgY2hhbmdlZCkKCk1vZGlmaWVkOiBoZWFkL2NvbnRyaWIvYnlhY2MvQ0hBTkdFUwo9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tIGhlYWQvY29udHJpYi9ieWFjYy9DSEFOR0VTCUZyaSBTZXAg MTQgMjE6MTI6NDEgMjAxMgkocjI0MDUxNikKKysrIGhlYWQvY29udHJpYi9ieWFjYy9DSEFOR0VT CUZyaSBTZXAgMTQgMjE6MTc6NTMgMjAxMgkocjI0MDUxNykKQEAgLTEsMyArMSwzNyBAQAorMjAx Mi0wNS0yNiAgVGhvbWFzIEUuIERpY2tleSAgPHRvbUBpbnZpc2libGUtaXNsYW5kLm5ldD4KKwor CSogcGFja2FnZS9kZWJpYW4vY2hhbmdlbG9nLCBwYWNrYWdlL2J5YWNjLnNwZWMsIFZFUlNJT046 IGJ1bXAKKworCSogcmVhZGVyLmM6CisJc29tZSB2ZXJzaW9ucyBvZiBnY2MgbWF5IHdhcm4gdGhh dCBicCBpcyBub3Qgc2V0IGluIG1hcmtfc3ltYm9sLCBlLmcuLAorCWlmIEdDQ19OT1JFVFVSTiBp cyBub3QgaGFuZGxlZDsgYXBwZWFzZSB0aGUgY29tcGlsZXIuCisKKwkqIHJlYWRlci5jOgorCXVz ZSB0aGUgZGVjbGFyZWQgdHlwZXMgQXNzb2NfdCBhbmQgVmFsdWVfdCBpbiBzb21lIHBsYWNlcyB3 aGVyZSBjb21waWxlciBvbmx5CisJY2FyZWQgYWJvdXQgY2hhciB2ZXJzdXMgc2hvcnQuCisKKwkq IHJlYWRlci5jOgorCXVzZSBUTUFMTE9DKCkgYW5kIFRSRUFMTE9DKCkgbWFjcm9zIHRvIHNpbXBs aWZ5IGFsbG9jYXRpb24vcmVhbGxvY2F0aW9uCisJKG5vIG9iamVjdCBjaGFuZ2UpCisKKwkqIGRl ZnMuaDoKKwlhZGQgZmFsbGJhY2tzIGZvciBHQ0NfTk9SRVRVUk4gYW5kIEdDQ19VTlVTRUQgdG8g bWFrZSBpdCBzaW1wbGVyIGZvciAqQlNECisJcGFja2FnZXJzIHRvIGJ1aWxkIHdpdGhvdXQgY29u ZmlndXJlIHNjcmlwdC4gIEFsc28gcmVtb3ZlIGR1cGxpY2F0ZSBkZWNsYXJhdGlvbgorCW9mIHB1 cmVfcGFyc2VyIHZhcmlhYmxlIChwcm9tcHRlZCBieSBwYXRjaCBieSBCYXB0aXN0ZSBEYXJvdXNz aW4pLgorCisJQWxzbyBkZWZpbmUgbmV3IFRNQUxMT0MgYW5kIFRSRUFMTE9DIG1hY3JvcyB0byBz aW1wbGlmeS9yZXBsYWNlIE1BTExPQyBhbmQKKwlSRUFMTE9DIG1hY3Jvcy4KKworCSogc3ltdGFi LmM6CisJdXNlIFRNQUxMT0MoKSBhbmQgVFJFQUxMT0MoKSBtYWNyb3MgdG8gc2ltcGxpZnkgYWxs b2NhdGlvbi9yZWFsbG9jYXRpb24KKwkobm8gb2JqZWN0IGNoYW5nZSkKKworMjAxMi0wNS0yNSAg VGhvbWFzIEUuIERpY2tleSAgPHRvbUBpbnZpc2libGUtaXNsYW5kLm5ldD4KKworCSogb3V0cHV0 LmMsIG1haW4uYywgdmVyYm9zZS5jLCBta3Bhci5jLCBscjAuYzoKKwl1c2UgVE1BTExPQygpIGFu ZCBUUkVBTExPQygpIG1hY3JvcyB0byBzaW1wbGlmeSBhbGxvY2F0aW9uL3JlYWxsb2NhdGlvbgor CShubyBvYmplY3QgY2hhbmdlKQorCiAyMDEyLTAxLTE1ICBUaG9tYXMgRS4gRGlja2V5ICA8dG9t QGludmlzaWJsZS1pc2xhbmQubmV0PgogCiAJKiBwYWNrYWdlL2RlYmlhbi9jb3B5cmlnaHQ6IGJ1 bXAKCk1vZGlmaWVkOiBoZWFkL2NvbnRyaWIvYnlhY2MvVkVSU0lPTgo9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tIGhlYWQvY29udHJpYi9ieWFjYy9WRVJTSU9OCUZyaSBTZXAgMTQgMjE6MTI6NDEg MjAxMgkocjI0MDUxNikKKysrIGhlYWQvY29udHJpYi9ieWFjYy9WRVJTSU9OCUZyaSBTZXAgMTQg MjE6MTc6NTMgMjAxMgkocjI0MDUxNykKQEAgLTEgKzEgQEAKLTIwMTIwMTE1CisyMDEyMDUyNgoK TW9kaWZpZWQ6IGhlYWQvY29udHJpYi9ieWFjYy9kZWZzLmgKPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLSBoZWFkL2NvbnRyaWIvYnlhY2MvZGVmcy5oCUZyaSBTZXAgMTQgMjE6MTI6NDEgMjAxMgko cjI0MDUxNikKKysrIGhlYWQvY29udHJpYi9ieWFjYy9kZWZzLmgJRnJpIFNlcCAxNCAyMToxNzo1 MyAyMDEyCShyMjQwNTE3KQpAQCAtMSw0ICsxLDQgQEAKLS8qICRJZDogZGVmcy5oLHYgMS4zNiAy MDExLzEyLzIwIDAxOjMxOjE2IHRvbSBFeHAgJCAqLworLyogJElkOiBkZWZzLmgsdiAxLjM3IDIw MTIvMDUvMjYgMTU6MjM6MDAgdG9tIEV4cCAkICovCiAKICNpZmRlZiBIQVZFX0NPTkZJR19ICiAj aW5jbHVkZSA8Y29uZmlnLmg+CkBAIC0xMSw2ICsxMSwxMCBAQAogI2luY2x1ZGUgPGN0eXBlLmg+ CiAjaW5jbHVkZSA8c3RkaW8uaD4KIAorI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCS8qIF9fY3Bs dXNwbHVzLCBldGMuICovCisjZGVmaW5lIGNsYXNzIG15Q2xhc3MKKyNlbmRpZgorCiAjZGVmaW5l IFlZTUFKT1IgMQogI2RlZmluZSBZWU1JTk9SIDkKIApAQCAtMTMyLDkgKzEzNiwxMSBAQAogI2Rl ZmluZSBDQUxMT0MoayxuKQkoY2FsbG9jKChzaXplX3QpKGspLChzaXplX3QpKG4pKSkKICNkZWZp bmUJRlJFRSh4KQkJKGZyZWUoKGNoYXIqKSh4KSkpCiAjZGVmaW5lIE1BTExPQyhuKQkobWFsbG9j KChzaXplX3QpKG4pKSkKKyNkZWZpbmUgVE1BTExPQyh0LG4pCSgodCopIG1hbGxvYygoc2l6ZV90 KShuKSAqIHNpemVvZih0KSkpCiAjZGVmaW5lCU5FVyh0KQkJKCh0KilhbGxvY2F0ZShzaXplb2Yo dCkpKQogI2RlZmluZQlORVcyKG4sdCkJKCh0KilhbGxvY2F0ZSgoKHNpemVfdCkobikqc2l6ZW9m KHQpKSkpCiAjZGVmaW5lIFJFQUxMT0MocCxuKQkocmVhbGxvYygoY2hhciopKHApLChzaXplX3Qp KG4pKSkKKyNkZWZpbmUgVFJFQUxMT0ModCxwLG4pCSgodCopcmVhbGxvYygoY2hhciopKHApLCAo c2l6ZV90KShuKSAqIHNpemVvZih0KSkpCiAKICNkZWZpbmUgRE9fRlJFRSh4KQlpZiAoeCkgeyBG UkVFKHgpOyB4ID0gMDsgfQogCkBAIC0yNDEsNiArMjQ3LDcgQEAgZXh0ZXJuIGNoYXIgKmxpbmU7 CiBleHRlcm4gaW50IGxpbmVubzsKIGV4dGVybiBpbnQgb3V0bGluZTsKIGV4dGVybiBpbnQgZXhp dF9jb2RlOworZXh0ZXJuIGludCBwdXJlX3BhcnNlcjsKIAogZXh0ZXJuIGNvbnN0IGNoYXIgKmNv bnN0IGJhbm5lcltdOwogZXh0ZXJuIGNvbnN0IGNoYXIgKmNvbnN0IHhkZWNsc1tdOwpAQCAtMzAx LDcgKzMwOCw2IEBAIGV4dGVybiBjaGFyICpudWxsYWJsZTsKIGV4dGVybiBidWNrZXQgKmZpcnN0 X3N5bWJvbDsKIGV4dGVybiBidWNrZXQgKmxhc3Rfc3ltYm9sOwogCi1leHRlcm4gaW50IHB1cmVf cGFyc2VyOwogZXh0ZXJuIGludCBuc3RhdGVzOwogZXh0ZXJuIGNvcmUgKmZpcnN0X3N0YXRlOwog ZXh0ZXJuIHNoaWZ0cyAqZmlyc3Rfc2hpZnQ7CkBAIC0zNDIsMTIgKzM0OCwyMiBAQCBleHRlcm4g YnVja2V0ICpsb29rdXAoY29uc3QgY2hhciAqKTsKIGV4dGVybiBidWNrZXQgKm1ha2VfYnVja2V0 KGNvbnN0IGNoYXIgKik7CiAKICNpZm5kZWYgR0NDX05PUkVUVVJOCisjaWYgZGVmaW5lZChfX2Rl YWQyKQorI2RlZmluZSBHQ0NfTk9SRVRVUk4JCV9fZGVhZDIKKyNlbGlmIGRlZmluZWQoX19kZWFk KQorI2RlZmluZSBHQ0NfTk9SRVRVUk4JCV9fZGVhZAorI2Vsc2UKICNkZWZpbmUgR0NDX05PUkVU VVJOCQkvKiBub3RoaW5nICovCiAjZW5kaWYKKyNlbmRpZgogCiAjaWZuZGVmIEdDQ19VTlVTRUQK KyNpZiBkZWZpbmVkKF9fdW51c2VkKQorI2RlZmluZSBHQ0NfVU5VU0VECQlfX3VudXNlZAorI2Vs c2UKICNkZWZpbmUgR0NDX1VOVVNFRAkJLyogbm90aGluZyAqLwogI2VuZGlmCisjZW5kaWYKIAog LyogY2xvc3VyZS5jICovCiBleHRlcm4gdm9pZCBjbG9zdXJlKFZhbHVlX3QgKiBudWNsZXVzLCBp bnQgbik7CkBAIC00MjEsNyArNDM3LDcgQEAgZXh0ZXJuIHZvaWQgb3V0cHV0KHZvaWQpOwogZXh0 ZXJuIHZvaWQgcmVhZGVyKHZvaWQpOwogCiAvKiBza2VsZXRvbi5jICovCi1leHRlcm4gdm9pZCB3 cml0ZV9zZWN0aW9uKEZJTEUgKmZwLCBjb25zdCBjaGFyICpjb25zdCBzZWN0aW9uW10pOworZXh0 ZXJuIHZvaWQgd3JpdGVfc2VjdGlvbihGSUxFICogZnAsIGNvbnN0IGNoYXIgKmNvbnN0IHNlY3Rp b25bXSk7CiAKIC8qIHZlcmJvc2UuYyAqLwogZXh0ZXJuIHZvaWQgdmVyYm9zZSh2b2lkKTsKCk1v ZGlmaWVkOiBoZWFkL2NvbnRyaWIvYnlhY2MvbHIwLmMKPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LSBoZWFkL2NvbnRyaWIvYnlhY2MvbHIwLmMJRnJpIFNlcCAxNCAyMToxMjo0MSAyMDEyCShyMjQw NTE2KQorKysgaGVhZC9jb250cmliL2J5YWNjL2xyMC5jCUZyaSBTZXAgMTQgMjE6MTc6NTMgMjAx MgkocjI0MDUxNykKQEAgLTEsNCArMSw0IEBACi0vKiAkSWQ6IGxyMC5jLHYgMS4xMiAyMDEwLzA2 LzA5IDA4OjUzOjE3IHRvbSBFeHAgJCAqLworLyogJElkOiBscjAuYyx2IDEuMTMgMjAxMi8wNS8y NiAwMDo0MDo0NyB0b20gRXhwICQgKi8KIAogI2luY2x1ZGUgImRlZnMuaCIKIApAQCAtNTM4LDcg KzUzOCw3IEBAIHNldF9udWxsYWJsZSh2b2lkKQogICAgIGludCBlbXB0eTsKICAgICBpbnQgZG9u ZV9mbGFnOwogCi0gICAgbnVsbGFibGUgPSBNQUxMT0MobnN5bXMpOworICAgIG51bGxhYmxlID0g VE1BTExPQyhjaGFyLCBuc3ltcyk7CiAgICAgTk9fU1BBQ0UobnVsbGFibGUpOwogCiAgICAgZm9y IChpID0gMDsgaSA8IG5zeW1zOyArK2kpCgpNb2RpZmllZDogaGVhZC9jb250cmliL2J5YWNjL21h aW4uYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGhlYWQvY29udHJpYi9ieWFjYy9tYWluLmMJ RnJpIFNlcCAxNCAyMToxMjo0MSAyMDEyCShyMjQwNTE2KQorKysgaGVhZC9jb250cmliL2J5YWNj L21haW4uYwlGcmkgU2VwIDE0IDIxOjE3OjUzIDIwMTIJKHIyNDA1MTcpCkBAIC0xLDQgKzEsNCBA QAotLyogJElkOiBtYWluLmMsdiAxLjM4IDIwMTIvMDEvMTQgMDE6MDE6MTUgdG9tIEV4cCAkICov CisvKiAkSWQ6IG1haW4uYyx2IDEuMzkgMjAxMi8wNS8yNiAwMDo1MDoyMCB0b20gRXhwICQgKi8K IAogI2luY2x1ZGUgPHNpZ25hbC5oPgogI2luY2x1ZGUgPHVuaXN0ZC5oPgkJLyogZm9yIF9leGl0 KCkgKi8KQEAgLTE2Myw3ICsxNjMsNyBAQCBkb25lKGludCBrKQogfQogCiBzdGF0aWMgdm9pZAot b25pbnRyKF9fdW51c2VkIGludCBzaWcpCitvbmludHIoaW50IHNpZyBHQ0NfVU5VU0VEKQogewog ICAgIGdvdF9pbnRyID0gMTsKICAgICBkb25lKEVYSVRfRkFJTFVSRSk7CkBAIC0zNjcsNyArMzY3 LDcgQEAgYWxsb2NhdGUoc2l6ZV90IG4pCiB9CiAKICNkZWZpbmUgQ1JFQVRFX0ZJTEVfTkFNRShk ZXN0LCBzdWZmaXgpIFwKLQlkZXN0ID0gTUFMTE9DKGxlbiArIHN0cmxlbihzdWZmaXgpICsgMSk7 IFwKKwlkZXN0ID0gVE1BTExPQyhjaGFyLCBsZW4gKyBzdHJsZW4oc3VmZml4KSArIDEpOyBcCiAJ Tk9fU1BBQ0UoZGVzdCk7IFwKIAlzdHJjcHkoZGVzdCwgZmlsZV9wcmVmaXgpOyBcCiAJc3RyY3B5 KGRlc3QgKyBsZW4sIHN1ZmZpeCkKQEAgLTM5OCw3ICszOTgsNyBAQCBjcmVhdGVfZmlsZV9uYW1l cyh2b2lkKQogICAgIGlmIChwcmVmaXggIT0gTlVMTCkKICAgICB7CiAJbGVuID0gKHNpemVfdCkg KHByZWZpeCAtIG91dHB1dF9maWxlX25hbWUpOwotCWZpbGVfcHJlZml4ID0gKGNoYXIgKilNQUxM T0MobGVuICsgMSk7CisJZmlsZV9wcmVmaXggPSBUTUFMTE9DKGNoYXIsIGxlbiArIDEpOwogCU5P X1NQQUNFKGZpbGVfcHJlZml4KTsKIAlzdHJuY3B5KGZpbGVfcHJlZml4LCBvdXRwdXRfZmlsZV9u YW1lLCBsZW4pW2xlbl0gPSAwOwogICAgIH0KCk1vZGlmaWVkOiBoZWFkL2NvbnRyaWIvYnlhY2Mv bWtwYXIuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGhlYWQvY29udHJpYi9ieWFjYy9ta3Bh ci5jCUZyaSBTZXAgMTQgMjE6MTI6NDEgMjAxMgkocjI0MDUxNikKKysrIGhlYWQvY29udHJpYi9i eWFjYy9ta3Bhci5jCUZyaSBTZXAgMTQgMjE6MTc6NTMgMjAxMgkocjI0MDUxNykKQEAgLTEsNCAr MSw0IEBACi0vKiAkSWQ6IG1rcGFyLmMsdiAxLjExIDIwMTAvMDYvMDkgMDg6NTM6MTcgdG9tIEV4 cCAkICovCisvKiAkSWQ6IG1rcGFyLmMsdiAxLjEyIDIwMTIvMDUvMjYgMDA6NDI6MTggdG9tIEV4 cCAkICovCiAKICNpbmNsdWRlICJkZWZzLmgiCiAKQEAgLTE4MCw3ICsxODAsNyBAQCB1bnVzZWRf cnVsZXModm9pZCkKICAgICBpbnQgaTsKICAgICBhY3Rpb24gKnA7CiAKLSAgICBydWxlc191c2Vk ID0gKFZhbHVlX3QgKikgTUFMTE9DKCh1bnNpZ25lZClucnVsZXMgKiBzaXplb2YoVmFsdWVfdCkp OworICAgIHJ1bGVzX3VzZWQgPSBUTUFMTE9DKFZhbHVlX3QsIG5ydWxlcyk7CiAgICAgTk9fU1BB Q0UocnVsZXNfdXNlZCk7CiAKICAgICBmb3IgKGkgPSAwOyBpIDwgbnJ1bGVzOyArK2kpCgpNb2Rp ZmllZDogaGVhZC9jb250cmliL2J5YWNjL291dHB1dC5jCj09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0gaGVhZC9jb250cmliL2J5YWNjL291dHB1dC5jCUZyaSBTZXAgMTQgMjE6MTI6NDEgMjAxMgko cjI0MDUxNikKKysrIGhlYWQvY29udHJpYi9ieWFjYy9vdXRwdXQuYwlGcmkgU2VwIDE0IDIxOjE3 OjUzIDIwMTIJKHIyNDA1MTcpCkBAIC0xLDQgKzEsNCBAQAotLyogJElkOiBvdXRwdXQuYyx2IDEu NDMgMjAxMi8wMS8xNCAxNzowMzo1MiB0b20gRXhwICQgKi8KKy8qICRJZDogb3V0cHV0LmMsdiAx LjQ0IDIwMTIvMDUvMjYgMDE6MTM6MDIgdG9tIEV4cCAkICovCiAKICNpbmNsdWRlICJkZWZzLmgi CiAKQEAgLTU1NywxMCArNTU3LDEwIEBAIHBhY2tfdmVjdG9yKGludCB2ZWN0b3IpCiAJCX0KIAkJ d2hpbGUgKG5ld21heCA8PSBsb2MpOwogCi0JCXRhYmxlID0gKFZhbHVlX3QgKikgUkVBTExPQyh0 YWJsZSwgKHVuc2lnbmVkKW5ld21heCAqIHNpemVvZihWYWx1ZV90KSk7CisJCXRhYmxlID0gVFJF QUxMT0MoVmFsdWVfdCwgdGFibGUsIG5ld21heCk7CiAJCU5PX1NQQUNFKHRhYmxlKTsKIAotCQlj aGVjayA9IChWYWx1ZV90ICopIFJFQUxMT0MoY2hlY2ssICh1bnNpZ25lZCluZXdtYXggKiBzaXpl b2YoVmFsdWVfdCkpOworCQljaGVjayA9IFRSRUFMTE9DKFZhbHVlX3QsIGNoZWNrLCBuZXdtYXgp OwogCQlOT19TUEFDRShjaGVjayk7CiAKIAkJZm9yIChsID0gbWF4dGFibGU7IGwgPCBuZXdtYXg7 ICsrbCkKQEAgLTkxOSw3ICs5MTksNyBAQCBvdXRwdXRfZGVidWcodm9pZCkKICAgICArK291dGxp bmU7CiAgICAgZnByaW50Zihjb2RlX2ZpbGUsICIjZGVmaW5lIFlZTUFYVE9LRU4gJWRcbiIsIG1h eCk7CiAKLSAgICBzeW1uYW0gPSAoY29uc3QgY2hhciAqKilNQUxMT0MoKHVuc2lnbmVkKShtYXgg KyAxKSAqIHNpemVvZihjaGFyICopKTsKKyAgICBzeW1uYW0gPSBUTUFMTE9DKGNvbnN0IGNoYXIg KiwgbWF4ICsgMSk7CiAgICAgTk9fU1BBQ0Uoc3ltbmFtKTsKIAogICAgIC8qIE5vdGUgdGhhdCBp dCBpcyAgbm90IG5lY2Vzc2FyeSB0byBpbml0aWFsaXplIHRoZSBlbGVtZW50ICAgICAgICAgKi8K Ck1vZGlmaWVkOiBoZWFkL2NvbnRyaWIvYnlhY2MvcGFja2FnZS9ieWFjYy5zcGVjCj09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0gaGVhZC9jb250cmliL2J5YWNjL3BhY2thZ2UvYnlhY2Muc3BlYwlG cmkgU2VwIDE0IDIxOjEyOjQxIDIwMTIJKHIyNDA1MTYpCisrKyBoZWFkL2NvbnRyaWIvYnlhY2Mv cGFja2FnZS9ieWFjYy5zcGVjCUZyaSBTZXAgMTQgMjE6MTc6NTMgMjAxMgkocjI0MDUxNykKQEAg LTEsOCArMSw4IEBACiBTdW1tYXJ5OiBieWFjYyAtIHB1YmxpYyBkb21haW4gQmVya2VsZXkgTEFM UiBZYWNjIHBhcnNlciBnZW5lcmF0b3IKICVkZWZpbmUgQXBwUHJvZ3JhbSBieWFjYwotJWRlZmlu ZSBBcHBWZXJzaW9uIDIwMTIwMTE1CislZGVmaW5lIEFwcFZlcnNpb24gMjAxMjA1MjYKICVkZWZp bmUgVXNlUHJvZ3JhbSB5YWNjCi0jICRYVGVybUlkOiBieWFjYy5zcGVjLHYgMS4xMyAyMDEyLzAx LzE1IDE5OjMwOjI5IHRvbSBFeHAgJAorIyAkWFRlcm1JZDogYnlhY2Muc3BlYyx2IDEuMTQgMjAx Mi8wNS8yNiAxNjoxMzo0NSB0b20gRXhwICQKIE5hbWU6ICV7QXBwUHJvZ3JhbX0KIFZlcnNpb246 ICV7QXBwVmVyc2lvbn0KIFJlbGVhc2U6IDEKCk1vZGlmaWVkOiBoZWFkL2NvbnRyaWIvYnlhY2Mv cGFja2FnZS9kZWJpYW4vY2hhbmdlbG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gaGVhZC9j b250cmliL2J5YWNjL3BhY2thZ2UvZGViaWFuL2NoYW5nZWxvZwlGcmkgU2VwIDE0IDIxOjEyOjQx IDIwMTIJKHIyNDA1MTYpCisrKyBoZWFkL2NvbnRyaWIvYnlhY2MvcGFja2FnZS9kZWJpYW4vY2hh bmdlbG9nCUZyaSBTZXAgMTQgMjE6MTc6NTMgMjAxMgkocjI0MDUxNykKQEAgLTEsMyArMSw5IEBA CitieWFjYyAoMjAxMjA1MjYpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdworCisgICogbWlub3IgY29k ZS1jbGVhbnVwLgorCisgLS0gVGhvbWFzIEUuIERpY2tleSA8ZGlja2V5QGludmlzaWJsZS1pc2xh bmQubmV0PiAgU2F0LCAyNiBNYXkgMjAxMiAxMjoxNDoxNyAtMDQwMAorCiBieWFjYyAoMjAxMjAx MTUpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdwogCiAgICogYWRkIHRlc3RjYXNlcywgaW1wcm92ZSBk b2N1bWVudGF0aW9uIGZvciAiLXMiIG9wdGlvbi4KCk1vZGlmaWVkOiBoZWFkL2NvbnRyaWIvYnlh Y2MvcmVhZGVyLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBoZWFkL2NvbnRyaWIvYnlhY2Mv cmVhZGVyLmMJRnJpIFNlcCAxNCAyMToxMjo0MSAyMDEyCShyMjQwNTE2KQorKysgaGVhZC9jb250 cmliL2J5YWNjL3JlYWRlci5jCUZyaSBTZXAgMTQgMjE6MTc6NTMgMjAxMgkocjI0MDUxNykKQEAg LTEsNCArMSw0IEBACi0vKiAkSWQ6IHJlYWRlci5jLHYgMS4zMyAyMDExLzA5LzA2IDIyOjU2OjUz IHRvbSBFeHAgJCAqLworLyogJElkOiByZWFkZXIuYyx2IDEuMzYgMjAxMi8wNS8yNiAxNjowNTo0 MSB0b20gRXhwICQgKi8KIAogI2luY2x1ZGUgImRlZnMuaCIKIApAQCAtNTIsNyArNTIsNyBAQCBj YWNoZWMoaW50IGMpCiAgICAgaWYgKGNpbmMgPj0gY2FjaGVfc2l6ZSkKICAgICB7CiAJY2FjaGVf c2l6ZSArPSAyNTY7Ci0JY2FjaGUgPSBSRUFMTE9DKGNhY2hlLCBjYWNoZV9zaXplKTsKKwljYWNo ZSA9IFRSRUFMTE9DKGNoYXIsIGNhY2hlLCBjYWNoZV9zaXplKTsKIAlOT19TUEFDRShjYWNoZSk7 CiAgICAgfQogICAgIGNhY2hlW2NpbmNdID0gKGNoYXIpYzsKQEAgLTgzLDcgKzgzLDcgQEAgZ2V0 X2xpbmUodm9pZCkKIAlpZiAobGluZSkKIAkgICAgRlJFRShsaW5lKTsKIAlsaW5lc2l6ZSA9IExJ TkVTSVpFICsgMTsKLQlsaW5lID0gTUFMTE9DKGxpbmVzaXplKTsKKwlsaW5lID0gVE1BTExPQyhj aGFyLCBsaW5lc2l6ZSk7CiAJTk9fU1BBQ0UobGluZSk7CiAgICAgfQogCkBAIC0xMDAsNyArMTAw LDcgQEAgZ2V0X2xpbmUodm9pZCkKIAlpZiAoKytpID49IGxpbmVzaXplKQogCXsKIAkgICAgbGlu ZXNpemUgKz0gTElORVNJWkU7Ci0JICAgIGxpbmUgPSBSRUFMTE9DKGxpbmUsIGxpbmVzaXplKTsK KwkgICAgbGluZSA9IFRSRUFMTE9DKGNoYXIsIGxpbmUsIGxpbmVzaXplKTsKIAkgICAgTk9fU1BB Q0UobGluZSk7CiAJfQogCWMgPSBnZXRjKGYpOwpAQCAtMTI0LDcgKzEyNCw3IEBAIGR1cF9saW5l KHZvaWQpCiAgICAgcyA9IGxpbmU7CiAgICAgd2hpbGUgKCpzICE9ICdcbicpCiAJKytzOwotICAg IHAgPSBNQUxMT0MocyAtIGxpbmUgKyAxKTsKKyAgICBwID0gVE1BTExPQyhjaGFyLCBzIC0gbGlu ZSArIDEpOwogICAgIE5PX1NQQUNFKHApOwogCiAgICAgcyA9IGxpbmU7CkBAIC02ODUsNyArNjg1 LDcgQEAgY29weV9wYXJhbShpbnQgaykKICAgICBpZiAoYyA9PSAnfScpCiAJZ290byBvdXQ7CiAK LSAgICBidWYgPSBNQUxMT0MobGluZXNpemUpOworICAgIGJ1ZiA9IFRNQUxMT0MoY2hhciwgbGlu ZXNpemUpOwogICAgIE5PX1NQQUNFKGJ1Zik7CiAKICAgICBmb3IgKGkgPSAwOyAoYyA9ICpjcHRy KyspICE9ICd9JzsgaSsrKQpAQCAtNzMzLDcgKzczMyw3IEBAIGNvcHlfcGFyYW0oaW50IGspCiAK ICAgICBuYW1lID0gaSArIDE7CiAKLSAgICBwID0gTUFMTE9DKHNpemVvZigqcCkpOworICAgIHAg PSBUTUFMTE9DKHBhcmFtLCAxKTsKICAgICBOT19TUEFDRShwKTsKIAogICAgIHAtPnR5cGUyID0g c3RyZHVwKGJ1ZiArIHR5cGUyKTsKQEAgLTg5MCw3ICs4OTAsNyBAQCBnZXRfbGl0ZXJhbCh2b2lk KQogICAgIEZSRUUoc19saW5lKTsKIAogICAgIG4gPSBjaW5jOwotICAgIHMgPSBNQUxMT0Mobik7 CisgICAgcyA9IFRNQUxMT0MoY2hhciwgbik7CiAgICAgTk9fU1BBQ0Uocyk7CiAKICAgICBmb3Ig KGkgPSAwOyBpIDwgbjsgKytpKQpAQCAtMTA1OCwxNCArMTA1OCwxNCBAQCBnZXRfdGFnKHZvaWQp CiAgICAgaWYgKG50YWdzID49IHRhZ21heCkKICAgICB7CiAJdGFnbWF4ICs9IDE2OwotCXRhZ190 YWJsZSA9IChjaGFyICoqKQorCXRhZ190YWJsZSA9CiAJICAgICh0YWdfdGFibGUKLQkgICAgID8g UkVBTExPQyh0YWdfdGFibGUsICh1bnNpZ25lZCl0YWdtYXggKiBzaXplb2YoY2hhciAqKSkKLQkg ICAgIDogTUFMTE9DKCh1bnNpZ25lZCl0YWdtYXggKiBzaXplb2YoY2hhciAqKSkpOworCSAgICAg PyBUUkVBTExPQyhjaGFyICosIHRhZ190YWJsZSwgdGFnbWF4KQorCSAgICAgOiBUTUFMTE9DKGNo YXIgKiwgdGFnbWF4KSk7CiAJTk9fU1BBQ0UodGFnX3RhYmxlKTsKICAgICB9CiAKLSAgICBzID0g TUFMTE9DKGNpbmMpOworICAgIHMgPSBUTUFMTE9DKGNoYXIsIGNpbmMpOwogICAgIE5PX1NQQUNF KHMpOwogCiAgICAgc3RyY3B5KHMsIGNhY2hlKTsKQEAgLTEyNDYsNyArMTI0Niw3IEBAIHJlYWRf ZGVjbGFyYXRpb25zKHZvaWQpCiAgICAgaW50IGMsIGs7CiAKICAgICBjYWNoZV9zaXplID0gMjU2 OwotICAgIGNhY2hlID0gTUFMTE9DKGNhY2hlX3NpemUpOworICAgIGNhY2hlID0gVE1BTExPQyhj aGFyLCBjYWNoZV9zaXplKTsKICAgICBOT19TUEFDRShjYWNoZSk7CiAKICAgICBmb3IgKDs7KQpA QCAtMTMxNiw3ICsxMzE2LDcgQEAgaW5pdGlhbGl6ZV9ncmFtbWFyKHZvaWQpCiAgICAgbml0ZW1z ID0gNDsKICAgICBtYXhpdGVtcyA9IDMwMDsKIAotICAgIHBpdGVtID0gKGJ1Y2tldCAqKilNQUxM T0MoKHVuc2lnbmVkKW1heGl0ZW1zICogc2l6ZW9mKGJ1Y2tldCAqKSk7CisgICAgcGl0ZW0gPSBU TUFMTE9DKGJ1Y2tldCAqLCBtYXhpdGVtcyk7CiAgICAgTk9fU1BBQ0UocGl0ZW0pOwogCiAgICAg cGl0ZW1bMF0gPSAwOwpAQCAtMTMyNywyMSArMTMyNywyMSBAQCBpbml0aWFsaXplX2dyYW1tYXIo dm9pZCkKICAgICBucnVsZXMgPSAzOwogICAgIG1heHJ1bGVzID0gMTAwOwogCi0gICAgcGxocyA9 IChidWNrZXQgKiopTUFMTE9DKCh1bnNpZ25lZCltYXhydWxlcyAqIHNpemVvZihidWNrZXQgKikp OworICAgIHBsaHMgPSBUTUFMTE9DKGJ1Y2tldCAqLCBtYXhydWxlcyk7CiAgICAgTk9fU1BBQ0Uo cGxocyk7CiAKICAgICBwbGhzWzBdID0gMDsKICAgICBwbGhzWzFdID0gMDsKICAgICBwbGhzWzJd ID0gMDsKIAotICAgIHJwcmVjID0gKHNob3J0ICopTUFMTE9DKCh1bnNpZ25lZCltYXhydWxlcyAq IHNpemVvZihzaG9ydCkpOworICAgIHJwcmVjID0gVE1BTExPQyhWYWx1ZV90LCBtYXhydWxlcyk7 CiAgICAgTk9fU1BBQ0UocnByZWMpOwogCiAgICAgcnByZWNbMF0gPSAwOwogICAgIHJwcmVjWzFd ID0gMDsKICAgICBycHJlY1syXSA9IDA7CiAKLSAgICByYXNzb2MgPSAoY2hhciAqKU1BTExPQygo dW5zaWduZWQpbWF4cnVsZXMgKiBzaXplb2YoY2hhcikpOworICAgIHJhc3NvYyA9IFRNQUxMT0Mo QXNzb2NfdCwgbWF4cnVsZXMpOwogICAgIE5PX1NQQUNFKHJhc3NvYyk7CiAKICAgICByYXNzb2Nb MF0gPSBUT0tFTjsKQEAgLTEzNTMsNyArMTM1Myw3IEBAIHN0YXRpYyB2b2lkCiBleHBhbmRfaXRl bXModm9pZCkKIHsKICAgICBtYXhpdGVtcyArPSAzMDA7Ci0gICAgcGl0ZW0gPSAoYnVja2V0ICoq KVJFQUxMT0MocGl0ZW0sICh1bnNpZ25lZCltYXhpdGVtcyAqIHNpemVvZihidWNrZXQgKikpOwor ICAgIHBpdGVtID0gVFJFQUxMT0MoYnVja2V0ICosIHBpdGVtLCBtYXhpdGVtcyk7CiAgICAgTk9f U1BBQ0UocGl0ZW0pOwogfQogCkBAIC0xMzYyLDEzICsxMzYyLDEzIEBAIGV4cGFuZF9ydWxlcyh2 b2lkKQogewogICAgIG1heHJ1bGVzICs9IDEwMDsKIAotICAgIHBsaHMgPSAoYnVja2V0ICoqKVJF QUxMT0MocGxocywgKHVuc2lnbmVkKW1heHJ1bGVzICogc2l6ZW9mKGJ1Y2tldCAqKSk7CisgICAg cGxocyA9IFRSRUFMTE9DKGJ1Y2tldCAqLCBwbGhzLCBtYXhydWxlcyk7CiAgICAgTk9fU1BBQ0Uo cGxocyk7CiAKLSAgICBycHJlYyA9IChzaG9ydCAqKVJFQUxMT0MocnByZWMsICh1bnNpZ25lZClt YXhydWxlcyAqIHNpemVvZihzaG9ydCkpOworICAgIHJwcmVjID0gVFJFQUxMT0MoVmFsdWVfdCwg cnByZWMsIG1heHJ1bGVzKTsKICAgICBOT19TUEFDRShycHJlYyk7CiAKLSAgICByYXNzb2MgPSAo Y2hhciAqKVJFQUxMT0MocmFzc29jLCAodW5zaWduZWQpbWF4cnVsZXMgKiBzaXplb2YoY2hhcikp OworICAgIHJhc3NvYyA9IFRSRUFMTE9DKEFzc29jX3QsIHJhc3NvYywgbWF4cnVsZXMpOwogICAg IE5PX1NQQUNFKHJhc3NvYyk7CiB9CiAKQEAgLTE3ODAsOSArMTc4MCw3IEBAIHN0YXRpYyBpbnQK IG1hcmtfc3ltYm9sKHZvaWQpCiB7CiAgICAgaW50IGM7Ci0gICAgYnVja2V0ICpicDsKLQotICAg IGJwID0gTlVMTDsKKyAgICBidWNrZXQgKmJwID0gTlVMTDsKIAogICAgIGMgPSBjcHRyWzFdOwog ICAgIGlmIChjID09ICclJyB8fCBjID09ICdcXCcpCkBAIC0xODg2LDcgKzE4ODQsNyBAQCBwYWNr X25hbWVzKHZvaWQpCiAgICAgZm9yIChicCA9IGZpcnN0X3N5bWJvbDsgYnA7IGJwID0gYnAtPm5l eHQpCiAJbmFtZV9wb29sX3NpemUgKz0gc3RybGVuKGJwLT5uYW1lKSArIDE7CiAKLSAgICBuYW1l X3Bvb2wgPSBNQUxMT0MobmFtZV9wb29sX3NpemUpOworICAgIG5hbWVfcG9vbCA9IFRNQUxMT0Mo Y2hhciwgbmFtZV9wb29sX3NpemUpOwogICAgIE5PX1NQQUNFKG5hbWVfcG9vbCk7CiAKICAgICBz dHJjcHkobmFtZV9wb29sLCAiJGFjY2VwdCIpOwpAQCAtMTk0MSw3ICsxOTM5LDcgQEAgcHJvdGVj dF9zdHJpbmcoY2hhciAqc3JjLCBjaGFyICoqZGVzKQogCSAgICBsZW4rKzsKIAl9CiAKLQkqZGVz ID0gZCA9IChjaGFyICopTUFMTE9DKGxlbik7CisJKmRlcyA9IGQgPSBUTUFMTE9DKGNoYXIsIGxl bik7CiAJTk9fU1BBQ0UoZCk7CiAKIAlzID0gc3JjOwpAQCAtMTk3MywxOSArMTk3MSwxOSBAQCBw YWNrX3N5bWJvbHModm9pZCkKICAgICBzdGFydF9zeW1ib2wgPSAoVmFsdWVfdCkgbnRva2VuczsK ICAgICBudmFycyA9IG5zeW1zIC0gbnRva2VuczsKIAotICAgIHN5bWJvbF9uYW1lID0gKGNoYXIg KiopTUFMTE9DKCh1bnNpZ25lZCluc3ltcyAqIHNpemVvZihjaGFyICopKTsKKyAgICBzeW1ib2xf bmFtZSA9IFRNQUxMT0MoY2hhciAqLCBuc3ltcyk7CiAgICAgTk9fU1BBQ0Uoc3ltYm9sX25hbWUp OwogCi0gICAgc3ltYm9sX3ZhbHVlID0gKHNob3J0ICopTUFMTE9DKCh1bnNpZ25lZCluc3ltcyAq IHNpemVvZihzaG9ydCkpOworICAgIHN5bWJvbF92YWx1ZSA9IFRNQUxMT0MoVmFsdWVfdCwgbnN5 bXMpOwogICAgIE5PX1NQQUNFKHN5bWJvbF92YWx1ZSk7CiAKLSAgICBzeW1ib2xfcHJlYyA9IChz aG9ydCAqKU1BTExPQygodW5zaWduZWQpbnN5bXMgKiBzaXplb2Yoc2hvcnQpKTsKKyAgICBzeW1i b2xfcHJlYyA9IFRNQUxMT0Moc2hvcnQsIG5zeW1zKTsKICAgICBOT19TUEFDRShzeW1ib2xfcHJl Yyk7CiAKLSAgICBzeW1ib2xfYXNzb2MgPSBNQUxMT0MobnN5bXMpOworICAgIHN5bWJvbF9hc3Nv YyA9IFRNQUxMT0MoY2hhciwgbnN5bXMpOwogICAgIE5PX1NQQUNFKHN5bWJvbF9hc3NvYyk7CiAK LSAgICB2ID0gKGJ1Y2tldCAqKilNQUxMT0MoKHVuc2lnbmVkKW5zeW1zICogc2l6ZW9mKGJ1Y2tl dCAqKSk7CisgICAgdiA9IFRNQUxMT0MoYnVja2V0ICosIG5zeW1zKTsKICAgICBOT19TUEFDRSh2 KTsKIAogICAgIHZbMF0gPSAwOwpAQCAtMjA4NSw3ICsyMDgzLDcgQEAgcGFja19zeW1ib2xzKHZv aWQpCiAKICAgICBpZiAoZ2ZsYWcpCiAgICAgewotCXN5bWJvbF9wbmFtZSA9IChjaGFyICoqKU1B TExPQygodW5zaWduZWQpbnN5bXMgKiBzaXplb2YoY2hhciAqKSk7CisJc3ltYm9sX3BuYW1lID0g VE1BTExPQyhjaGFyICosIG5zeW1zKTsKIAlOT19TUEFDRShzeW1ib2xfcG5hbWUpOwogCiAJZm9y IChpID0gMDsgaSA8IG5zeW1zOyArK2kpCkBAIC0yMTAzLDE5ICsyMTAxLDE5IEBAIHBhY2tfZ3Jh bW1hcih2b2lkKQogICAgIEFzc29jX3QgYXNzb2M7CiAgICAgVmFsdWVfdCBwcmVjMjsKIAotICAg IHJpdGVtID0gKHNob3J0ICopTUFMTE9DKCh1bnNpZ25lZCluaXRlbXMgKiBzaXplb2Yoc2hvcnQp KTsKKyAgICByaXRlbSA9IFRNQUxMT0MoVmFsdWVfdCwgbml0ZW1zKTsKICAgICBOT19TUEFDRShy aXRlbSk7CiAKLSAgICBybGhzID0gKHNob3J0ICopTUFMTE9DKCh1bnNpZ25lZClucnVsZXMgKiBz aXplb2Yoc2hvcnQpKTsKKyAgICBybGhzID0gVE1BTExPQyhWYWx1ZV90LCBucnVsZXMpOwogICAg IE5PX1NQQUNFKHJsaHMpOwogCi0gICAgcnJocyA9IChzaG9ydCAqKU1BTExPQygodW5zaWduZWQp KG5ydWxlcyArIDEpICogc2l6ZW9mKHNob3J0KSk7CisgICAgcnJocyA9IFRNQUxMT0MoVmFsdWVf dCwgbnJ1bGVzICsgMSk7CiAgICAgTk9fU1BBQ0UocnJocyk7CiAKLSAgICBycHJlYyA9IChzaG9y dCAqKVJFQUxMT0MocnByZWMsICh1bnNpZ25lZClucnVsZXMgKiBzaXplb2Yoc2hvcnQpKTsKKyAg ICBycHJlYyA9IFRSRUFMTE9DKFZhbHVlX3QsIHJwcmVjLCBucnVsZXMpOwogICAgIE5PX1NQQUNF KHJwcmVjKTsKIAotICAgIHJhc3NvYyA9IFJFQUxMT0MocmFzc29jLCBucnVsZXMpOworICAgIHJh c3NvYyA9IFRSRUFMTE9DKEFzc29jX3QsIHJhc3NvYywgbnJ1bGVzKTsKICAgICBOT19TUEFDRShy YXNzb2MpOwogCiAgICAgcml0ZW1bMF0gPSAtMTsKCk1vZGlmaWVkOiBoZWFkL2NvbnRyaWIvYnlh Y2Mvc3ltdGFiLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBoZWFkL2NvbnRyaWIvYnlhY2Mv c3ltdGFiLmMJRnJpIFNlcCAxNCAyMToxMjo0MSAyMDEyCShyMjQwNTE2KQorKysgaGVhZC9jb250 cmliL2J5YWNjL3N5bXRhYi5jCUZyaSBTZXAgMTQgMjE6MTc6NTMgMjAxMgkocjI0MDUxNykKQEAg LTEsNCArMSw0IEBACi0vKiAkSWQ6IHN5bXRhYi5jLHYgMS45IDIwMTAvMTEvMjQgMTU6MTI6Mjkg dG9tIEV4cCAkICovCisvKiAkSWQ6IHN5bXRhYi5jLHYgMS4xMCAyMDEyLzA1LzI2IDE1OjE2OjEy IHRvbSBFeHAgJCAqLwogCiAjaW5jbHVkZSAiZGVmcy5oIgogCkBAIC0zMywxMyArMzMsMTMgQEAg bWFrZV9idWNrZXQoY29uc3QgY2hhciAqbmFtZSkKIAogICAgIGFzc2VydChuYW1lICE9IDApOwog Ci0gICAgYnAgPSAoYnVja2V0ICopTUFMTE9DKHNpemVvZihidWNrZXQpKTsKKyAgICBicCA9IFRN QUxMT0MoYnVja2V0LCAxKTsKICAgICBOT19TUEFDRShicCk7CiAKICAgICBicC0+bGluayA9IDA7 CiAgICAgYnAtPm5leHQgPSAwOwogCi0gICAgYnAtPm5hbWUgPSBNQUxMT0Moc3RybGVuKG5hbWUp ICsgMSk7CisgICAgYnAtPm5hbWUgPSBUTUFMTE9DKGNoYXIsIHN0cmxlbihuYW1lKSArIDEpOwog ICAgIE5PX1NQQUNFKGJwLT5uYW1lKTsKIAogICAgIGJwLT50YWcgPSAwOwpAQCAtODIsNyArODIs NyBAQCBjcmVhdGVfc3ltYm9sX3RhYmxlKHZvaWQpCiAgICAgaW50IGk7CiAgICAgYnVja2V0ICpi cDsKIAotICAgIHN5bWJvbF90YWJsZSA9IChidWNrZXQgKiopTUFMTE9DKFRBQkxFX1NJWkUgKiBz aXplb2YoYnVja2V0ICopKTsKKyAgICBzeW1ib2xfdGFibGUgPSBUTUFMTE9DKGJ1Y2tldCAqLCBU QUJMRV9TSVpFKTsKICAgICBOT19TUEFDRShzeW1ib2xfdGFibGUpOwogCiAgICAgZm9yIChpID0g MDsgaSA8IFRBQkxFX1NJWkU7IGkrKykKCk1vZGlmaWVkOiBoZWFkL2NvbnRyaWIvYnlhY2MvdmVy Ym9zZS5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gaGVhZC9jb250cmliL2J5YWNjL3ZlcmJv c2UuYwlGcmkgU2VwIDE0IDIxOjEyOjQxIDIwMTIJKHIyNDA1MTYpCisrKyBoZWFkL2NvbnRyaWIv YnlhY2MvdmVyYm9zZS5jCUZyaSBTZXAgMTQgMjE6MTc6NTMgMjAxMgkocjI0MDUxNykKQEAgLTEs NCArMSw0IEBACi0vKiAkSWQ6IHZlcmJvc2UuYyx2IDEuOSAyMDEwLzA2LzA5IDA4OjU4OjI5IHRv bSBFeHAgJCAqLworLyogJElkOiB2ZXJib3NlLmMsdiAxLjEwIDIwMTIvMDUvMjYgMDA6NDU6MTcg dG9tIEV4cCAkICovCiAKICNpbmNsdWRlICJkZWZzLmgiCiAKQEAgLTIzLDcgKzIzLDcgQEAgdmVy Ym9zZSh2b2lkKQogICAgIGlmICghdmZsYWcpCiAJcmV0dXJuOwogCi0gICAgbnVsbF9ydWxlcyA9 IChzaG9ydCAqKU1BTExPQygodW5zaWduZWQpbnJ1bGVzICogc2l6ZW9mKHNob3J0KSk7CisgICAg bnVsbF9ydWxlcyA9IFRNQUxMT0Moc2hvcnQsIG5ydWxlcyk7CiAgICAgTk9fU1BBQ0UobnVsbF9y dWxlcyk7CiAKICAgICBmcHJpbnRmKHZlcmJvc2VfZmlsZSwgIlxmXG4iKTsKCgotLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KCk1lc3NhZ2U6IDIKRGF0ZTogRnJpLCAxNCBTZXAgMjAxMiAy MToyODo1NiArMDAwMCAoVVRDKQpGcm9tOiBFaXRhbiBBZGxlciA8ZWFkbGVyQEZyZWVCU0Qub3Jn PgpTdWJqZWN0OiBzdm4gY29tbWl0OiByMjQwNTE4IC0gaW4gaGVhZDogbGliL2xpYmMvc3RkaW8K CXNoYXJlL2V4YW1wbGVzL2Rpc2tsZXNzIHN5cy9hcm0vdGkgc3lzL2Rldi9hbHRlcmEvanRhZ191 YXJ0CglzeXMvZGV2L2J1c2xvZ2ljIHN5cy9kZXYvZTEwMDAgc3lzL2Rldi9pc2NpL3NjaWwgc3lz L2Rldi9pc3AKCXN5cy9kZXYvbXBzIHN5cy9rZXJuIHN5cy9zcGFyYy4uLgpUbzogc3JjLWNvbW1p dHRlcnNAZnJlZWJzZC5vcmcsIHN2bi1zcmMtYWxsQGZyZWVic2Qub3JnLAoJc3ZuLXNyYy1oZWFk QGZyZWVic2Qub3JnCk1lc3NhZ2UtSUQ6IDwyMDEyMDkxNDIxMjgucThFTFN1WkQwMTIzOTRAc3Zu LmZyZWVic2Qub3JnPgpDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgK