From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.2 required=5.0 tests=ALL_TRUSTED, DKIM_ADSP_NXDOMAIN,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.4 Received: (qmail 23998 invoked from network); 25 Jun 2023 16:24:34 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 25 Jun 2023 16:24:34 -0000 Content-Type: multipart/mixed; boundary="===============5447283235472741894==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_openjdk11=3A_update_to_11=2E0=2E20+7=2E?= To: ml@inbox.vuxu.org From: mhmdanas Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Sun, 25 Jun 2023 18:24:34 +0200 List-Id: Message-ID: <20230625162434.9LI8aewfA5N8FZALfHgrLSVGhJJk2wg5mpAvetXJv4Y@z> GitHub notification mails are now in MIME to allow UTF8. --===============5447283235472741894== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgbWhtZGFuYXMgYWdhaW5zdCBtYXN0 ZXIgb24gdGhlIHZvaWQtcGFja2FnZXMgcmVwb3NpdG9yeQoKaHR0cHM6Ly9naXRodWIuY29tL21o bWRhbmFzL3ZvaWQtcGFja2FnZXMgb3BlbmpkazExLTExLjAuMjArNwpodHRwczovL2dpdGh1Yi5j b20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwvNDQ2MjAKCm9wZW5qZGsxMTogdXBkYXRl IHRvIDExLjAuMjArNy4KQWxzbyBmaXggb3BlbmpkazExLWptb2RzIGRlcGVuZGluZyBvbiBpdHNl bGYgaW5zdGVhZCBvZiBvcGVuamRrMTEuCgo8IS0tIFVuY29tbWVudCByZWxldmFudCBzZWN0aW9u cyBhbmQgZGVsZXRlIG9wdGlvbnMgd2hpY2ggYXJlIG5vdCBhcHBsaWNhYmxlIC0tPgoKIyMjIyBU ZXN0aW5nIHRoZSBjaGFuZ2VzCi0gSSB0ZXN0ZWQgdGhlIGNoYW5nZXMgaW4gdGhpcyBQUjogKipO TyoqIChub3QgeWV0KQoKQGtudXNiYXVtCgo8IS0tCiMjIyMgTmV3IHBhY2thZ2UKLSBUaGlzIG5l dyBwYWNrYWdlIGNvbmZvcm1zIHRvIHRoZSBbcGFja2FnZSByZXF1aXJlbWVudHNdKGh0dHBzOi8v Z2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvYmxvYi9tYXN0ZXIvQ09OVFJJQlVU SU5HLm1kI3BhY2thZ2UtcmVxdWlyZW1lbnRzKTogKipZRVMqKnwqKk5PKioKLS0+Cgo8IS0tIE5v dGU6IElmIHRoZSBidWlsZCBpcyBsaWtlbHkgdG8gdGFrZSBtb3JlIHRoYW4gMiBob3VycywgcGxl YXNlIGFkZCBjaSBza2lwIHRhZyBhcyBkZXNjcmliZWQgaW4KaHR0cHM6Ly9naXRodWIuY29tL3Zv aWQtbGludXgvdm9pZC1wYWNrYWdlcy9ibG9iL21hc3Rlci9DT05UUklCVVRJTkcubWQjY29udGlu dW91cy1pbnRlZ3JhdGlvbgphbmQgdGVzdCBhdCBsZWFzdCBvbmUgbmF0aXZlIGJ1aWxkIGFuZCwg aWYgc3VwcG9ydGVkLCBhdCBsZWFzdCBvbmUgY3Jvc3MgYnVpbGQuCklnbm9yZSB0aGlzIHNlY3Rp b24gaWYgdGhpcyBQUiBpcyBub3Qgc2tpcHBpbmcgQ0kuCi0tPgo8IS0tCiMjIyMgTG9jYWwgYnVp bGQgdGVzdGluZwotIEkgYnVpbHQgdGhpcyBQUiBsb2NhbGx5IGZvciBteSBuYXRpdmUgYXJjaGl0 ZWN0dXJlLCAoQVJDSC1MSUJDKQotIEkgYnVpbHQgdGhpcyBQUiBsb2NhbGx5IGZvciB0aGVzZSBh cmNoaXRlY3R1cmVzIChpZiBzdXBwb3J0ZWQuIG1hcmsgY3Jvc3NidWlsZHMpOgogIC0gYWFyY2g2 NC1tdXNsCiAgLSBhcm12N2wKICAtIGFybXY2bC1tdXNsCi0tPgoKCkEgcGF0Y2ggZmlsZSBmcm9t IGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvcHVsbC80NDYyMC5w YXRjaCBpcyBhdHRhY2hlZA== --===============5447283235472741894== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-openjdk11-11.0.20+7-44620.patch" RnJvbSAwMTBhNDljNzQ4NzE1NmRhNGNhOGMxNmI0NDE0NTFiOTNhMGZlM2Y3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiB0cmlhbGxheCA8dHJpYWxsYXhAdHV0YW5vdGEuY29tPgpEYXRl OiBTdW4sIDI1IEp1biAyMDIzIDE3OjEyOjU0ICswMTAwClN1YmplY3Q6IFtQQVRDSF0gb3Blbmpk azExOiB1cGRhdGUgdG8gMTEuMC4yMCs3LgoKLS0tCiAuLi4vZmlsZXMvbXVzbF9wYXRjaGVzLzgy ODk0NzcucGF0Y2ggICAgICAgICAgfCAgMzUgLS0KIC4uLi9maWxlcy9tdXNsX3BhdGNoZXMvYWFy Y2g2NC5wYXRjaCAgICAgICAgICB8ICAxMSAtCiAuLi4vb3BlbmpkazExL2ZpbGVzL211c2xfcGF0 Y2hlcy9hcm0ucGF0Y2ggICAgfCAgMzAgLS0KIC4uLi9vcGVuamRrMTEvZmlsZXMvbXVzbF9wYXRj aGVzL2J1aWxkLnBhdGNoICB8IDM5OSAtLS0tLS0tLS0tLS0tLS0tLS0KIHNyY3BrZ3Mvb3Blbmpk azExL3RlbXBsYXRlICAgICAgICAgICAgICAgICAgICB8ICAgOCArLQogNSBmaWxlcyBjaGFuZ2Vk LCA0IGluc2VydGlvbnMoKyksIDQ3OSBkZWxldGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCBz cmNwa2dzL29wZW5qZGsxMS9maWxlcy9tdXNsX3BhdGNoZXMvODI4OTQ3Ny5wYXRjaAogZGVsZXRl IG1vZGUgMTAwNjQ0IHNyY3BrZ3Mvb3BlbmpkazExL2ZpbGVzL211c2xfcGF0Y2hlcy9hYXJjaDY0 LnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9vcGVuamRrMTEvZmlsZXMvbXVzbF9w YXRjaGVzL2FybS5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mvb3BlbmpkazExL2Zp bGVzL211c2xfcGF0Y2hlcy9idWlsZC5wYXRjaAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvb3Blbmpk azExL2ZpbGVzL211c2xfcGF0Y2hlcy84Mjg5NDc3LnBhdGNoIGIvc3JjcGtncy9vcGVuamRrMTEv ZmlsZXMvbXVzbF9wYXRjaGVzLzgyODk0NzcucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDU3YWM0ODY2YjU3OC4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3Mvb3BlbmpkazEx L2ZpbGVzL211c2xfcGF0Y2hlcy84Mjg5NDc3LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzUg KzAsMCBAQAotRnJvbSBkYTZkMWZjMGUwYWViMWZkYjUwNGFjZWQ0YjBkYmEwMjkwZWMyNDBmIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogVGhvbWFzIFN0dWVmZSA8c3R1ZWZlQG9wZW5q ZGsub3JnPgotRGF0ZTogVGh1LCAzMCBKdW4gMjAyMiAwNjoxOToyNSArMDAwMAotU3ViamVjdDog W1BBVENIXSA4Mjg5NDc3OiBNZW1vcnkgY29ycnVwdGlvbiB3aXRoIENQVV9BTExPQywgQ1BVX0ZS RUUgb24gbXVzbGMKLQotUmV2aWV3ZWQtYnk6IGRob2xtZXMsIGNsYW5nZXIKLS0tLQotIHNyYy9o b3RzcG90L29zL2xpbnV4L29zX2xpbnV4LmNwcCB8IDcgKysrKysrLQotIDEgZmlsZSBjaGFuZ2Vk LCA2IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9ob3Rz cG90L29zL2xpbnV4L29zX2xpbnV4LmNwcCBiL3NyYy9ob3RzcG90L29zL2xpbnV4L29zX2xpbnV4 LmNwcAotaW5kZXggNzI2OTI2MjE4OTA3Li44ZWUxMGUyMDFjNjkgMTAwNjQ0Ci0tLS0gYS9zcmMv aG90c3BvdC9vcy9saW51eC9vc19saW51eC5jcHAKLSsrKyBiL3NyYy9ob3RzcG90L29zL2xpbnV4 L29zX2xpbnV4LmNwcAotQEAgLTQ1OTEsNyArNDU5MSw4IEBAIHN0YXRpYyBpbnQgX2NwdV9jb3Vu dChjb25zdCBjcHVfc2V0X3QqIGNwdXMpIHsKLSAvLyBkeW5hbWljIGNoZWNrIC0gc2VlIDY1MTUx NzIgZm9yIGRldGFpbHMuCi0gLy8gSWYgYW55dGhpbmcgZ29lcyB3cm9uZyB3ZSBmYWxsYmFjayB0 byByZXR1cm5pbmcgdGhlIG51bWJlciBvZiBvbmxpbmUKLSAvLyBwcm9jZXNzb3JzIC0gd2hpY2gg Y2FuIGJlIGdyZWF0ZXIgdGhhbiB0aGUgbnVtYmVyIGF2YWlsYWJsZSB0byB0aGUgcHJvY2Vzcy4K LS1pbnQgb3M6OkxpbnV4OjphY3RpdmVfcHJvY2Vzc29yX2NvdW50KCkgewotK3N0YXRpYyBpbnQg Z2V0X2FjdGl2ZV9wcm9jZXNzb3JfY291bnQoKSB7Ci0rICAvLyBOb3RlOiBrZWVwIHRoaXMgZnVu Y3Rpb24sIHdpdGggaXRzIENQVV94eCBtYWNyb3MsICpvdXRzaWRlKiB0aGUgb3MgbmFtZXNwYWNl IChzZWUgSkRLLTgyODk0NzcpLgotICAgY3B1X3NldF90IGNwdXM7ICAvLyBjYW4gcmVwcmVzZW50 IGF0IG1vc3QgMTAyNCAoQ1BVX1NFVFNJWkUpIHByb2Nlc3NvcnMKLSAgIGNwdV9zZXRfdCogY3B1 c19wID0gJmNwdXM7Ci0gICBpbnQgY3B1c19zaXplID0gc2l6ZW9mKGNwdV9zZXRfdCk7Ci1AQCAt NDY2Myw2ICs0NjY0LDEwIEBAIGludCBvczo6TGludXg6OmFjdGl2ZV9wcm9jZXNzb3JfY291bnQo KSB7Ci0gICByZXR1cm4gY3B1X2NvdW50OwotIH0KLSAKLStpbnQgb3M6OkxpbnV4OjphY3RpdmVf cHJvY2Vzc29yX2NvdW50KCkgewotKyAgcmV0dXJuIGdldF9hY3RpdmVfcHJvY2Vzc29yX2NvdW50 KCk7Ci0rfQotKwotIC8vIERldGVybWluZSB0aGUgYWN0aXZlIHByb2Nlc3NvciBjb3VudCBmcm9t IG9uZSBvZgotIC8vIHRocmVlIGRpZmZlcmVudCBzb3VyY2VzOgotIC8vCmRpZmYgLS1naXQgYS9z cmNwa2dzL29wZW5qZGsxMS9maWxlcy9tdXNsX3BhdGNoZXMvYWFyY2g2NC5wYXRjaCBiL3NyY3Br Z3Mvb3BlbmpkazExL2ZpbGVzL211c2xfcGF0Y2hlcy9hYXJjaDY0LnBhdGNoCmRlbGV0ZWQgZmls ZSBtb2RlIDEwMDY0NAppbmRleCBiOTVmNDU1ZTkyNmQuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNw a2dzL29wZW5qZGsxMS9maWxlcy9tdXNsX3BhdGNoZXMvYWFyY2g2NC5wYXRjaAorKysgL2Rldi9u dWxsCkBAIC0xLDExICswLDAgQEAKLVBhdGNoZXMgZm9yIG11c2wgdGFrZW4gZnJvbSBBbHBpbmUg bGludXg6IGh0dHBzOi8vZ2l0LmFscGluZWxpbnV4Lm9yZy9hcG9ydHMvY29tbWl0Lz9pZD04YTFh ZTE3ZDRhOWFmNTQyODVjNzg5MWE2ODA2MjBlN2UyNGM2MjgwCi0tLS0gb2xkL3NyYy9ob3RzcG90 L29zX2NwdS9saW51eF9hYXJjaDY0L29zX2xpbnV4X2FhcmNoNjQuY3BwCi0rKysgbmV3L3NyYy9o b3RzcG90L29zX2NwdS9saW51eF9hYXJjaDY0L29zX2xpbnV4X2FhcmNoNjQuY3BwCi1AQCAtNzcs NyArNzcsNiBAQAotICMgaW5jbHVkZSA8cHdkLmg+Ci0gIyBpbmNsdWRlIDxwb2xsLmg+Ci0gIyBp bmNsdWRlIDx1Y29udGV4dC5oPgotLSMgaW5jbHVkZSA8ZnB1X2NvbnRyb2wuaD4KLQotICNpZmRl ZiBCVUlMVElOX1NJTQotICNkZWZpbmUgUkVHX1NQIFJFR19SU1AKZGlmZiAtLWdpdCBhL3NyY3Br Z3Mvb3BlbmpkazExL2ZpbGVzL211c2xfcGF0Y2hlcy9hcm0ucGF0Y2ggYi9zcmNwa2dzL29wZW5q ZGsxMS9maWxlcy9tdXNsX3BhdGNoZXMvYXJtLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAxMmQwMDIyYzE0OTEuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL29wZW5qZGsx MS9maWxlcy9tdXNsX3BhdGNoZXMvYXJtLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAs MCBAQAotUGF0Y2hlcyBmb3IgbXVzbCB0YWtlbiBmcm9tIEFscGluZSBsaW51eDogaHR0cHM6Ly9n aXQuYWxwaW5lbGludXgub3JnL2Fwb3J0cy9jb21taXQvP2lkPThhMWFlMTdkNGE5YWY1NDI4NWM3 ODkxYTY4MDYyMGU3ZTI0YzYyODAKLS0tLSBvbGQvc3JjL2hvdHNwb3Qvb3NfY3B1L2xpbnV4X2Fy bS9vc19saW51eF9hcm0uY3BwCi0rKysgbmV3L3NyYy9ob3RzcG90L29zX2NwdS9saW51eF9hcm0v b3NfbGludXhfYXJtLmNwcAotQEAgLTcxLDcgKzcxLDYgQEAKLSAjIGluY2x1ZGUgPHB3ZC5oPgot ICMgaW5jbHVkZSA8cG9sbC5oPgotICMgaW5jbHVkZSA8dWNvbnRleHQuaD4KLS0jIGluY2x1ZGUg PGZwdV9jb250cm9sLmg+Ci0gIyBpbmNsdWRlIDxhc20vcHRyYWNlLmg+Ci0KLSAjZGVmaW5lIFNQ RUxMX1JFR19TUCAgInNwIgotQEAgLTEwNCw2ICsxMDMsMTggQEAKLSAjZGVmaW5lIEFSTV9SRUdT X0lOX0NPTlRFWFQgIDMxCi0KLSAjZWxzZQotKwotKy8vIFN0dXBpZCBoYWNrIGFzIHRoZSBvcmln aW4gaWYgYmVsb3cgZG9lc250IGNvbXBpbGUgd2l0aCBnY2MgOC4yLjA6Ci0rLy8KLSsvLyBvc19s aW51eF9hcm0uY3BwOjExNDo1OiBlcnJvcjogbWlzc2luZyBiaW5hcnkgb3BlcmF0b3IgYmVmb3Jl IHRva2VuICIoIgotKy8vICAjaWYgTkdSRUcgPT0gMTYKLSsvLyAgICAgICBefn5+fgotKy8vCi0r Ly8gVGhlIE5HUkVHIGlzIDE4LCBzbyBmb3JjZSBpdCB0byB0aGF0IHZhbHVlLgotKyNpZmRlZiBO R1JFRwotKyMgIHVuZGVmIE5HUkVHCi0rI2VuZGlmCi0rI2RlZmluZSBOR1JFRyAxOAotCi0gI2lm IE5HUkVHID09IDE2Ci0gLy8gVGhlc2UgZGVmaW5pdGlvbnMgYXJlIGJhc2VkIG9uIHRoZSBvYnNl cnZhdGlvbiB0aGF0IHVudGlsCmRpZmYgLS1naXQgYS9zcmNwa2dzL29wZW5qZGsxMS9maWxlcy9t dXNsX3BhdGNoZXMvYnVpbGQucGF0Y2ggYi9zcmNwa2dzL29wZW5qZGsxMS9maWxlcy9tdXNsX3Bh dGNoZXMvYnVpbGQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVjOGEyNDhk MmFkMy4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3Mvb3BlbmpkazExL2ZpbGVzL211c2xfcGF0 Y2hlcy9idWlsZC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM5OSArMCwwIEBACi1TdWJqZWN0 OiBGaXggY29tcGlsYXRpb24gaXNzdWVzIHdpdGggbXVzbCBsaWJjCi1VcHN0cmVhbTogTm8KLUF1 dGhvcjogVGhlIHBvcnRvbGEgdGVhbSBhdCBodHRwczovL29wZW5qZGsuamF2YS5uZXQvcHJvamVj dHMvcG9ydG9sYS8KLSAgICAgICAgV2l0aCBtb2RpZmljYXRpb25zIGJ5IFNpbW9uIEZyYW5rZW5i ZXJnZXIgPHNpbW9uLWFscGluZUBmcmFoby5ldT4KLQotVGhpcyBnaWFudCBwYXRjaCBtYWtlcyBp dCBwb3NzaWJsZSB0byBjb21waWxlIG9wZW5qZGsgd2l0aCBtdXNsIGxpYmMuCi1UaGUgYmFzZSB3 YXMgdGFrZW4gZnJvbSBhIGRpZmYgd2l0aCB0aGUgcG9ydG9sYSBwcm9qZWN0IGFuZCBhZGp1c3Rl ZCBmb3IgbGF0ZXN0IG11c2wgbGliYy4KLQotLS0tIG9sZC9tYWtlL1JlbGVhc2VGaWxlLmdtawot KysrIG5ldy9tYWtlL1JlbGVhc2VGaWxlLmdtawotQEAgLTUzLDYgKzUzLDcgQEAKLSAgICQoY2Fs bCBpbmZvLWZpbGUtaXRlbSwgIkpBVkFfVkVSU0lPTl9EQVRFIiwgIiQoVkVSU0lPTl9EQVRFKSIp Ci0gICAkKGNhbGwgaW5mby1maWxlLWl0ZW0sICJPU19OQU1FIiwgIiQoUkVMRUFTRV9GSUxFX09T X05BTUUpIikKLSAgICQoY2FsbCBpbmZvLWZpbGUtaXRlbSwgIk9TX0FSQ0giLCAiJChSRUxFQVNF X0ZJTEVfT1NfQVJDSCkiKQotKyAgJChjYWxsIGluZm8tZmlsZS1pdGVtLCAiTElCQyIsICJtdXNs IikKLSBlbmRlZgotIAotICMgUGFyYW0gMSAtIFRoZSBmaWxlIGNvbnRhaW5pbmcgdGhlIE1PRFVM RVMgbGlzdAotLS0tIG9sZC9tYWtlL2F1dG9jb25mL2J1aWxkLWF1eC9jb25maWcuZ3Vlc3MKLSsr KyBuZXcvbWFrZS9hdXRvY29uZi9idWlsZC1hdXgvY29uZmlnLmd1ZXNzCi1AQCAtMzAsNiArMzAs MTcgQEAKLSBESVI9YGRpcm5hbWUgJDBgCi0gT1VUPWAuICRESVIvYXV0b2NvbmYtY29uZmlnLmd1 ZXNzYAotIAotKyMgY29uZmlnLmd1ZXNzIGRvZXNuJ3QgaWRlbnRpZnkgc3lzdGVtcyBydW5uaW5n IHRoZSBtdXNsIEMgbGlicmFyeSwgYW5kIHdpbGwKLSsjIGluc3RlYWQgcmV0dXJuIGEgc3RyaW5n IHdpdGggYSAtZ251IHN1ZmZpeC4gVGhpcyBibG9jayBkZXRlY3RzIG11c2wgYW5kCi0rIyBtb2Rp ZmllcyB0aGUgc3RyaW5nIHRvIGhhdmUgYSAtbXVzbCBzdWZmaXggaW5zdGVhZC4KLStlY2hvICRP VVQgfCBncmVwIC0tIC1saW51eC0gPiAvZGV2L251bGwgMj4gL2Rldi9udWxsCi0raWYgdGVzdCAk PyA9IDA7IHRoZW4KLSsgIGxkZF92ZXJzaW9uPWBsZGQgLS12ZXJzaW9uIDI+JjEgfCBoZWFkIC0x IHwgY3V0IC1mMSAtZCcgJ2AKLSsgIGlmIFsgeCIke2xkZF92ZXJzaW9ufSIgPSB4Im11c2wiIF07 IHRoZW4KLSsgICAgT1VUPWBlY2hvICRPVVQgfCBzZWQgJ3MvLWdudS8tbXVzbC8nYAotKyAgZmkK LStmaQotKwotICMgVGVzdCBhbmQgZml4IHNvbGFyaXMgb24geDg2XzY0Ci0gZWNobyAkT1VUIHwg Z3JlcCBpMzg2LXBjLXNvbGFyaXMgPiAvZGV2L251bGwgMj4gL2Rldi9udWxsCi0gaWYgdGVzdCAk PyA9IDA7IHRoZW4KLS0tLSBvbGQvbWFrZS9ob3RzcG90L2xpYi9Db21waWxlSnZtLmdtawotKysr IG5ldy9tYWtlL2hvdHNwb3QvbGliL0NvbXBpbGVKdm0uZ21rCi1AQCAtNzksNiArNzksNyBAQAot ICAgICAtREhPVFNQT1RfQlVJTERfVVNFUj0nIiQoVVNFUk5BTUUpIicgXAotICAgICAtREhPVFNQ T1RfVk1fRElTVFJPPSciJChIT1RTUE9UX1ZNX0RJU1RSTykiJyBcCi0gICAgIC1EQ1BVPSciJChP UEVOSkRLX1RBUkdFVF9DUFVfVk1fVkVSU0lPTikiJyBcCi0rICAgIC1ETElCQz0nIm11c2wiJyBc Ci0gICAgICMKLSAKLSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotLS0tIG9sZC9tYWtlL2xpYi9D b3JlTGlicmFyaWVzLmdtawotKysrIG5ldy9tYWtlL2xpYi9Db3JlTGlicmFyaWVzLmdtawotQEAg LTIxOSw2ICsyMTksNyBAQAotIGVuZGlmCi0gCi0gTElCSkxJX0NGTEFHUyArPSAkKExJQlpfQ0ZM QUdTKQotK0xJQkpMSV9DRkxBR1MgKz0gLURMSUJDPVwibXVzbFwiCi0gCi0gaWZuZXEgKCQoVVNF X0VYVEVSTkFMX0xJQlopLCB0cnVlKQotICAgTElCSkxJX0VYVFJBX0ZJTEVTICs9IFwKLS0tLSBv bGQvc3JjL2hvdHNwb3Qvb3MvbGludXgvb3NfbGludXguY3BwCi0rKysgbmV3L3NyYy9ob3RzcG90 L29zL2xpbnV4L29zX2xpbnV4LmNwcAotQEAgLTEwMSw3ICsxMDEsNiBAQAotICMgaW5jbHVkZSA8 c3RyaW5nLmg+Ci0gIyBpbmNsdWRlIDxzeXNjYWxsLmg+Ci0gIyBpbmNsdWRlIDxzeXMvc3lzaW5m by5oPgotLSMgaW5jbHVkZSA8Z251L2xpYmMtdmVyc2lvbi5oPgotICMgaW5jbHVkZSA8c3lzL2lw Yy5oPgotICMgaW5jbHVkZSA8c3lzL3NobS5oPgotICMgaW5jbHVkZSA8bGluay5oPgotQEAgLTU5 NCw2ICs1OTMsMTEgQEAKLSAvLyBkZXRlY3RpbmcgcHRocmVhZCBsaWJyYXJ5Ci0gCi0gdm9pZCBv czo6TGludXg6OmxpYnB0aHJlYWRfaW5pdCgpIHsKLSsjaWYgIWRlZmluZWQoX19HTElCQ19fKSAm JiAhZGVmaW5lZChfX1VDTElCQ19fKQotKyAgLy8gSGFyZCBjb2RlIEFscGluZSBMaW51eCBzdXBw b3J0ZWQgbXVzbCBjb21wYXRpYmxlIHNldHRpbmdzCi0rICBvczo6TGludXg6OnNldF9nbGliY192 ZXJzaW9uKCJnbGliYyAyLjkiKTsKLSsgIG9zOjpMaW51eDo6c2V0X2xpYnB0aHJlYWRfdmVyc2lv bigiTlBUTCIpOwotKyNlbHNlCi0gICAvLyBTYXZlIGdsaWJjIGFuZCBwdGhyZWFkIHZlcnNpb24g c3RyaW5ncy4KLSAjaWYgIWRlZmluZWQoX0NTX0dOVV9MSUJDX1ZFUlNJT04pIHx8IFwKLSAgICAg IWRlZmluZWQoX0NTX0dOVV9MSUJQVEhSRUFEX1ZFUlNJT04pCi1AQCAtNjExLDYgKzYxNSw3IEBA Ci0gICBzdHIgPSAoY2hhciAqKW1hbGxvYyhuLCBtdEludGVybmFsKTsKLSAgIGNvbmZzdHIoX0NT X0dOVV9MSUJQVEhSRUFEX1ZFUlNJT04sIHN0ciwgbik7Ci0gICBvczo6TGludXg6OnNldF9saWJw dGhyZWFkX3ZlcnNpb24oc3RyKTsKLSsjZW5kaWYKLSB9Ci0gCi0gLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8KLUBAIC0zMTA5LDIwICszMTE0LDM2IEBACi0gZXh0ZXJuICJDIiBKTklFWFBPUlQgdm9pZCBu dW1hX3dhcm4oaW50IG51bWJlciwgY2hhciAqd2hlcmUsIC4uLikgeyB9Ci0gZXh0ZXJuICJDIiBK TklFWFBPUlQgdm9pZCBudW1hX2Vycm9yKGNoYXIgKndoZXJlKSB7IH0KLSAKLStzdGF0aWMgdm9p ZCogZGx2c3ltX2lmX2F2YWlsYWJsZSh2b2lkKiBoYW5kbGUsIGNvbnN0IGNoYXIqIG5hbWUsIGNv bnN0IGNoYXIqIHZlcnNpb24pIHsKLSsgIHR5cGVkZWYgdm9pZCogKCpkbHZzeW1fZnVuY190eXBl KSh2b2lkKiBoYW5kbGUsIGNvbnN0IGNoYXIqIG5hbWUsIGNvbnN0IGNoYXIqIHZlcnNpb24pOwot KyAgc3RhdGljIGRsdnN5bV9mdW5jX3R5cGUgZGx2c3ltX2Z1bmM7Ci0rICBzdGF0aWMgYm9vbCBp bml0aWFsaXplZCA9IGZhbHNlOwotKwotKyAgaWYgKCFpbml0aWFsaXplZCkgewotKyAgICBkbHZz eW1fZnVuYyA9IChkbHZzeW1fZnVuY190eXBlKWRsc3ltKFJUTERfTkVYVCwgImRsdnN5bSIpOwot KyAgICBpbml0aWFsaXplZCA9IHRydWU7Ci0rICB9Ci0rCi0rICBpZiAoZGx2c3ltX2Z1bmMgIT0g TlVMTCkgewotKyAgICB2b2lkICpmID0gZGx2c3ltX2Z1bmMoaGFuZGxlLCBuYW1lLCB2ZXJzaW9u KTsKLSsgICAgaWYgKGYgIT0gTlVMTCkgewotKyAgICAgIHJldHVybiBmOwotKyAgICB9Ci0rICB9 Ci0rCi0rICByZXR1cm4gZGxzeW0oaGFuZGxlLCBuYW1lKTsKLSt9Ci0rCi0gLy8gSGFuZGxlIHJl cXVlc3QgdG8gbG9hZCBsaWJudW1hIHN5bWJvbCB2ZXJzaW9uIDEuMSAoQVBJIHYxKS4gSWYgaXQg ZmFpbHMKLSAvLyBsb2FkIHN5bWJvbCBmcm9tIGJhc2UgdmVyc2lvbiBpbnN0ZWFkLgotIHZvaWQq IG9zOjpMaW51eDo6bGlibnVtYV9kbHN5bSh2b2lkKiBoYW5kbGUsIGNvbnN0IGNoYXIgKm5hbWUp IHsKLS0gIHZvaWQgKmYgPSBkbHZzeW0oaGFuZGxlLCBuYW1lLCAibGlibnVtYV8xLjEiKTsKLS0g IGlmIChmID09IE5VTEwpIHsKLS0gICAgZiA9IGRsc3ltKGhhbmRsZSwgbmFtZSk7Ci0tICB9Ci0t ICByZXR1cm4gZjsKLSsgIHJldHVybiBkbHZzeW1faWZfYXZhaWxhYmxlKGhhbmRsZSwgbmFtZSwg ImxpYm51bWFfMS4xIik7Ci0gfQotIAotIC8vIEhhbmRsZSByZXF1ZXN0IHRvIGxvYWQgbGlibnVt YSBzeW1ib2wgdmVyc2lvbiAxLjIgKEFQSSB2Mikgb25seS4KLSAvLyBSZXR1cm4gTlVMTCBpZiB0 aGUgc3ltYm9sIGlzIG5vdCBkZWZpbmVkIGluIHRoaXMgcGFydGljdWxhciB2ZXJzaW9uLgotIHZv aWQqIG9zOjpMaW51eDo6bGlibnVtYV92Ml9kbHN5bSh2b2lkKiBoYW5kbGUsIGNvbnN0IGNoYXIq IG5hbWUpIHsKLS0gIHJldHVybiBkbHZzeW0oaGFuZGxlLCBuYW1lLCAibGlibnVtYV8xLjIiKTsK LSsgIHJldHVybiBkbHZzeW1faWZfYXZhaWxhYmxlKGhhbmRsZSwgbmFtZSwgImxpYm51bWFfMS4y Iik7Ci0gfQotIAotIGJvb2wgb3M6OkxpbnV4OjpsaWJudW1hX2luaXQoKSB7Ci0tLS0gb2xkL3Ny Yy9ob3RzcG90L29zX2NwdS9saW51eF94ODYvb3NfbGludXhfeDg2LmNwcAotKysrIG5ldy9zcmMv aG90c3BvdC9vc19jcHUvbGludXhfeDg2L29zX2xpbnV4X3g4Ni5jcHAKLUBAIC03NSw5ICs3NSw2 IEBACi0gIyBpbmNsdWRlIDxwd2QuaD4KLSAjIGluY2x1ZGUgPHBvbGwuaD4KLSAjIGluY2x1ZGUg PHVjb250ZXh0Lmg+Ci0tI2lmbmRlZiBBTUQ2NAotLSMgaW5jbHVkZSA8ZnB1X2NvbnRyb2wuaD4K LS0jZW5kaWYKLSAKLSAjaWZkZWYgQU1ENjQKLSAjZGVmaW5lIFJFR19TUCBSRUdfUlNQCi0tLS0g b2xkL3NyYy9ob3RzcG90L3NoYXJlL2djL3NoYXJlZC9nZW5Db2xsZWN0ZWRIZWFwLmNwcAotKysr IG5ldy9zcmMvaG90c3BvdC9zaGFyZS9nYy9zaGFyZWQvZ2VuQ29sbGVjdGVkSGVhcC5jcHAKLUBA IC0xMTQ0LDcgKzExNDQsNyBAQAotIHN0YXRpYyBTY3JhdGNoQmxvY2sgKnJlbW92ZVNtYWxsZXN0 U2NyYXRjaChTY3JhdGNoQmxvY2sgKipwcmV2X3B0cikgewotICAgYm9vbCBmaXJzdCA9IHRydWU7 Ci0gICBzaXplX3QgbWluX3NpemUgPSAwOyAgIC8vICJmaXJzdCIgbWFrZXMgdGhpcyBjb25jZXB0 dWFsbHkgaW5maW5pdGUuCi0tICBTY3JhdGNoQmxvY2sgKipzbWFsbGVzdF9wdHIsICpzbWFsbGVz dDsKLSsgIFNjcmF0Y2hCbG9jayAqKnNtYWxsZXN0X3B0ciA9IE5VTEwsICpzbWFsbGVzdDsKLSAg IFNjcmF0Y2hCbG9jayAgKmN1ciA9ICpwcmV2X3B0cjsKLSAgIHdoaWxlIChjdXIpIHsKLSAgICAg YXNzZXJ0KCpwcmV2X3B0ciA9PSBjdXIsICJqdXN0IGNoZWNraW5nIik7Ci0tLS0gb2xkL3NyYy9o b3RzcG90L3NoYXJlL3J1bnRpbWUvYWJzdHJhY3Rfdm1fdmVyc2lvbi5jcHAKLSsrKyBuZXcvc3Jj L2hvdHNwb3Qvc2hhcmUvcnVudGltZS9hYnN0cmFjdF92bV92ZXJzaW9uLmNwcAotQEAgLTI2Niw3 ICsyNjYsNyBAQAotICAgI2VuZGlmCi0gCi0gICAjZGVmaW5lIElOVEVSTkFMX1ZFUlNJT05fU1VG RklYIFZNX1JFTEVBU0UgIikiIFwKLS0gICAgICAgICAiIGZvciAiIE9TICItIiBDUFUgRkxPQVRf QVJDSF9TVFIgXAotKyAgICAgICAgICIgZm9yICIgT1MgIi0iIENQVSBGTE9BVF9BUkNIX1NUUiBM SUJDIFwKLSAgICAgICAgICAiIEpSRSAoIiBWRVJTSU9OX1NUUklORyAiKSwgYnVpbHQgb24gIiBf X0RBVEVfXyAiICIgX19USU1FX18gXAotICAgICAgICAgICIgYnkgIiBYU1RSKEhPVFNQT1RfQlVJ TERfVVNFUikgIiB3aXRoICIgSE9UU1BPVF9CVUlMRF9DT01QSUxFUgotIAotLS0tIG9sZC9zcmMv aG90c3BvdC9zaGFyZS91dGlsaXRpZXMvZ2xvYmFsRGVmaW5pdGlvbnNfZ2NjLmhwcAotKysrIG5l dy9zcmMvaG90c3BvdC9zaGFyZS91dGlsaXRpZXMvZ2xvYmFsRGVmaW5pdGlvbnNfZ2NjLmhwcAot QEAgLTIwNCw3ICsyMDQsNyBAQAotICNlbGlmIGRlZmluZWQoX19BUFBMRV9fKQotIGlubGluZSBp bnQgZ19pc25hbihkb3VibGUgZikgeyByZXR1cm4gaXNuYW4oZik7IH0KLSAjZWxpZiBkZWZpbmVk KExJTlVYKSB8fCBkZWZpbmVkKF9BTExCU0RfU09VUkNFKQotLWlubGluZSBpbnQgZ19pc25hbihm bG9hdCAgZikgeyByZXR1cm4gaXNuYW5mKGYpOyB9Ci0raW5saW5lIGludCBnX2lzbmFuKGZsb2F0 ICBmKSB7IHJldHVybiBpc25hbihmKTsgfQotIGlubGluZSBpbnQgZ19pc25hbihkb3VibGUgZikg eyByZXR1cm4gaXNuYW4oZik7IH0KLSAjZWxzZQotICNlcnJvciAibWlzc2luZyBwbGF0Zm9ybS1z cGVjaWZpYyBkZWZpbml0aW9uIGhlcmUiCi0tLS0gb2xkL3NyYy9qYXZhLmJhc2UvbGludXgvbmF0 aXZlL2xpYm5ldC9saW51eF9jbG9zZS5jCi0rKysgbmV3L3NyYy9qYXZhLmJhc2UvbGludXgvbmF0 aXZlL2xpYm5ldC9saW51eF9jbG9zZS5jCi1AQCAtNjAsNyArNjAsNyBAQAotIC8qCi0gICogU2ln bmFsIHRvIHVuYmxvY2sgdGhyZWFkCi0gICovCi0tc3RhdGljIGludCBzaWdXYWtldXAgPSAoX19T SUdSVE1BWCAtIDIpOwotK3N0YXRpYyBpbnQgc2lnV2FrZXVwOwotIAotIC8qCi0gICogZmRUYWJs ZSBob2xkcyBvbmUgZW50cnkgcGVyIGZpbGUgZGVzY3JpcHRvciwgdXAgdG8gYSBjZXJ0YWluCi1A QCAtMTQ5LDYgKzE0OSw3IEBACi0gICAgIC8qCi0gICAgICAqIFNldHVwIHRoZSBzaWduYWwgaGFu ZGxlcgotICAgICAgKi8KLSsgICAgc2lnV2FrZXVwID0gU0lHUlRNQVggLSAyOwotICAgICBzYS5z YV9oYW5kbGVyID0gc2lnX3dha2V1cDsKLSAgICAgc2Euc2FfZmxhZ3MgICA9IDA7Ci0gICAgIHNp Z2VtcHR5c2V0KCZzYS5zYV9tYXNrKTsKLS0tLSBvbGQvc3JjL2phdmEuYmFzZS91bml4L25hdGl2 ZS9saWJqYXZhL2NoaWxkcHJvYy5jCi0rKysgbmV3L3NyYy9qYXZhLmJhc2UvdW5peC9uYXRpdmUv bGliamF2YS9jaGlsZHByb2MuYwotQEAgLTIzOCw3ICsyMzgsMTMgQEAKLSB7Ci0gICAgIGlmIChl bnZwID09IE5VTEwgfHwgKGNoYXIgKiopIGVudnAgPT0gZW52aXJvbikgewotICAgICAgICAgZXhl Y3ZwKGZpbGUsIChjaGFyICoqKSBhcmd2KTsKLS0gICAgICAgIHJldHVybjsKLSsgICAgICAgIC8v IEVOT0VYRUMgaW5kaWNhdGVzIHRoYXQgdGhlIGZpbGUgaGVhZGVyIHdhcyBub3QgcmVjb2duaXpl ZC4gVGhlIG11c2wgQwotKyAgICAgICAgLy8gbGlicmFyeSBkb2VzIG5vdCBpbXBsZW1lbnQgdGhl IGZhbGxiYWNrIHRvIC9iaW4vc2ggZm9yIHRoYXQgY2FzZSwgc28gZmFsbAotKyAgICAgICAgLy8g dGhyb3VnaCB0byB0aGUgY29kZSBiZWxvdyB3aGljaCBpbXBsZW1lbnRzIHRoYXQgZmFsbGJhY2sg dXNpbmcKLSsgICAgICAgIC8vIGV4ZWN2ZV93aXRoX3NoZWxsX2ZhbGxiYWNrLgotKyAgICAgICAg aWYgKGVycm5vICE9IEVOT0VYRUMpIHsKLSsgICAgICAgICAgICByZXR1cm47Ci0rICAgICAgICB9 Ci0gICAgIH0KLSAKLSAgICAgaWYgKCpmaWxlID09ICdcMCcpIHsKLS0tLSBvbGQvc3JjL2phdmEu YmFzZS91bml4L25hdGl2ZS9saWJqYXZhL2pka191dGlsX21kLmgKLSsrKyBuZXcvc3JjL2phdmEu YmFzZS91bml4L25hdGl2ZS9saWJqYXZhL2pka191dGlsX21kLmgKLUBAIC0zNyw3ICszNyw3IEBA Ci0gI2RlZmluZSBJU05BTkQoZCkgaXNuYW4oZCkKLSAjZWxpZiBkZWZpbmVkKF9fbGludXhfXykg fHwgZGVmaW5lZChfQUxMQlNEX1NPVVJDRSkKLSAjaW5jbHVkZSA8bWF0aC5oPgotLSNkZWZpbmUg SVNOQU5GKGYpIGlzbmFuZihmKQotKyNkZWZpbmUgSVNOQU5GKGYpIGlzbmFuKGYpCi0gI2RlZmlu ZSBJU05BTkQoZCkgaXNuYW4oZCkKLSAjZWxpZiBkZWZpbmVkKF9BSVgpCi0gI2luY2x1ZGUgPG1h dGguaD4KLS0tLSBvbGQvc3JjL2phdmEuYmFzZS91bml4L25hdGl2ZS9saWJqbGkvamF2YV9tZF9z b2xpbnV4LmMKLSsrKyBuZXcvc3JjL2phdmEuYmFzZS91bml4L25hdGl2ZS9saWJqbGkvamF2YV9t ZF9zb2xpbnV4LmMKLUBAIC0yMzYsNiArMjM2LDM5IEBACi0gICAgIGNoYXIgKmRtbGxwID0gTlVM TDsKLSAgICAgY2hhciAqcDsgLyogYSB1dGlsaXR5IHBvaW50ZXIgKi8KLSAKLSsjaWZkZWYgX19s aW51eAotKyNpZm5kZWYgTElCQwotKyNlcnJvciAiTElCQyBub3Qgc2V0IgotKyNlbmRpZgotKwot KyAgICBpZiAoc3RyY21wKExJQkMsICJtdXNsIikgPT0gMCkgewotKyAgICAgIC8qCi0rICAgICAg ICogVGhlIG11c2wgbGlicmFyeSBsb2FkZXIgcmVxdWlyZXMgTERfTElCUkFSWV9QQVRIIHRvIGJl IHNldCBpbgotKyAgICAgICAqIG9yZGVyIHRvIGNvcnJlY3RseSByZXNvbHZlIHRoZSBkZXBlbmRl bmN5IGxpYmphdmEuc28gaGFzIG9uIGxpYmp2bS5zby4KLSsgICAgICAgKgotKyAgICAgICAqIFNw ZWNpZmljYWxseSwgaXQgZGlmZmVycyBmcm9tIGdsaWJjIGluIHRoZSBzZW5zZSB0aGF0IGV2ZW4g aWYKLSsgICAgICAgKiBsaWJqdm0uc28gaGFzIGFscmVhZHkgYmVlbiBsb2FkZWQgaXQgd2lsbCBu b3QgYmUgY29uc2lkZXJlZCBhCi0rICAgICAgICogY2FuZGlkYXRlIGZvciByZXNvbHZpbmcgdGhl IGRlcGVuZGVuY3kgdW5sZXNzIHRoZSAqZnVsbCogcGF0aAotKyAgICAgICAqIG9mIHRoZSBhbHJl YWR5IGxvYWRlZCBsaWJyYXJ5IG1hdGNoZXMgdGhlIGRlcGVuZGVuY3kgYmVpbmcgbG9hZGVkLgot KyAgICAgICAqCi0rICAgICAgICogbGlianZtLnNvIGlzIGJlaW5nIGxvYWRlZCBieSB0aGUgbGF1 bmNoZXIgdXNpbmcgYSBsb25nIHBhdGggdG8KLSsgICAgICAgKiBkbG9wZW4sIG5vdCBqdXN0IHRo ZSBiYXNlbmFtZSBvZiB0aGUgbGlicmFyeS4gVHlwaWNhbGx5IHRoaXMKLSsgICAgICAgKiBpcyBz b21ldGhpbmcgbGlrZSAiLi4vbGliL3NlcnZlci9saWJqdm0uc28iLiBIb3dldmVyLCBpZi93aGVu Ci0rICAgICAgICogbGlianZtLnNvIGxhdGVyIHRyaWVzIHRvIGRsb3BlbiBsaWJqYXZhLnNvICh3 aGljaCBpdCBkb2VzIGluCi0rICAgICAgICogb3JkZXIgdG8gZ2V0IGFjY2VzcyB0byBhIGZldyBm dW5jdGlvbnMgaW1wbGVtZW50ZWQgaW4KLSsgICAgICAgKiBsaWJqYXZhLnNvKSB0aGUgbXVzbCBs b2FkZXIgd2lsbCwgYXMgcGFydCBvZiBsb2FkaW5nCi0rICAgICAgICogZGVwZW5kZW50IGxpYnJh cmllcywgdHJ5IHRvIGxvYWQgbGlianZtLnNvIHVzaW5nIG9ubHkgaXRzCi0rICAgICAgICogYmFz ZW5hbWUgImxpYmp2bS5zbyIuIFNpbmNlIHRoaXMgZG9lcyBub3QgbWF0Y2ggdGhlIGxvbmdlcgot KyAgICAgICAqIHBhdGggcGF0aCBpdCB3YXMgZmlyc3QgbG9hZGVkIHdpdGgsIHRoZSBhbHJlYWR5 IGxvYWRlZAotKyAgICAgICAqIGxpYnJhcnkgaXMgbm90IGNvbnNpZGVyZWQgYSBjYW5kaWRhdGUs IGFuZCB0aGUgbG9hZGVyIHdpbGwKLSsgICAgICAgKiBpbnN0ZWFkIGxvb2sgZm9yIGxpYmp2bS5z byBlbHNld2hlcmUuIElmIGl0J3Mgbm90IGluCi0rICAgICAgICogTERfTElCUkFSWV9QQVRIIHRo ZSBkZXBlbmRlbmN5IGxvYWQgd2lsbCBmYWlsLCBhbmQgbGliamF2YS5zbwotKyAgICAgICAqIHdp bGwgdGhlcmVmb3JlIGZhaWwgYXMgd2VsbC4KLSsgICAgICAgKi8KLSsgICAgICByZXR1cm4gSk5J X1RSVUU7Ci0rICAgIH0KLSsjZW5kaWYKLSsKLSAjaWZkZWYgQUlYCi0gICAgIC8qIFdlIGFsd2F5 cyBoYXZlIHRvIHNldCB0aGUgTElCUEFUSCBvbiBBSVggYmVjYXVzZSBsZCBkb2Vzbid0IHN1cHBv cnQgJE9SSUdJTi4gKi8KLSAgICAgcmV0dXJuIEpOSV9UUlVFOwotLS0tIG9sZC9zcmMvamF2YS5i YXNlL3VuaXgvbmF0aXZlL2xpYm5pby9jaC9OYXRpdmVUaHJlYWQuYwotKysrIG5ldy9zcmMvamF2 YS5iYXNlL3VuaXgvbmF0aXZlL2xpYm5pby9jaC9OYXRpdmVUaHJlYWQuYwotQEAgLTM2LDcgKzM2 LDcgQEAKLSAjaWZkZWYgX19saW51eF9fCi0gICAjaW5jbHVkZSA8cHRocmVhZC5oPgotICAgLyog QWxzbyBkZWZpbmVkIGluIG5ldC9saW51eF9jbG9zZS5jICovCi0tICAjZGVmaW5lIElOVEVSUlVQ VF9TSUdOQUwgKF9fU0lHUlRNQVggLSAyKQotKyAgI2RlZmluZSBJTlRFUlJVUFRfU0lHTkFMIChT SUdSVE1BWCAtIDIpCi0gI2VsaWYgX0FJWAotICAgI2luY2x1ZGUgPHB0aHJlYWQuaD4KLSAgIC8q IEFsc28gZGVmaW5lZCBpbiBuZXQvYWl4X2Nsb3NlLmMgKi8KLS0tLSBvbGQvc3JjL2phdmEuZGVz a3RvcC91bml4L25hdGl2ZS9saWJhd3RfeGF3dC94YXd0L1hUb29sa2l0LmMKLSsrKyBuZXcvc3Jj L2phdmEuZGVza3RvcC91bml4L25hdGl2ZS9saWJhd3RfeGF3dC94YXd0L1hUb29sa2l0LmMKLUBA IC0yNyw5ICsyNyw2IEBACi0gI2luY2x1ZGUgPFgxMS9YdXRpbC5oPgotICNpbmNsdWRlIDxYMTEv WG9zLmg+Ci0gI2luY2x1ZGUgPFgxMS9YYXRvbS5oPgotLSNpZmRlZiBfX2xpbnV4X18KLS0jaW5j bHVkZSA8ZXhlY2luZm8uaD4KLS0jZW5kaWYKLSAKLSAjaW5jbHVkZSA8anZtLmg+Ci0gI2luY2x1 ZGUgPGpuaS5oPgotQEAgLTc4MywyNiArNzgwLDYgQEAKLSAgICAgfQotICAgICByZXR1cm4gcmV0 OwotIH0KLS0KLS0jaWZkZWYgX19saW51eF9fCi0tdm9pZCBwcmludF9zdGFjayh2b2lkKQotLXsK LS0gIHZvaWQgKmFycmF5WzEwXTsKLS0gIHNpemVfdCBzaXplOwotLSAgY2hhciAqKnN0cmluZ3M7 Ci0tICBzaXplX3QgaTsKLS0KLS0gIHNpemUgPSBiYWNrdHJhY2UgKGFycmF5LCAxMCk7Ci0tICBz dHJpbmdzID0gYmFja3RyYWNlX3N5bWJvbHMgKGFycmF5LCBzaXplKTsKLS0KLS0gIGZwcmludGYg KHN0ZGVyciwgIk9idGFpbmVkICV6ZCBzdGFjayBmcmFtZXMuXG4iLCBzaXplKTsKLS0KLS0gIGZv ciAoaSA9IDA7IGkgPCBzaXplOyBpKyspCi0tICAgICBmcHJpbnRmIChzdGRlcnIsICIlc1xuIiwg c3RyaW5nc1tpXSk7Ci0tCi0tICBmcmVlIChzdHJpbmdzKTsKLS19Ci0tI2VuZGlmCi0gCi0gV2lu ZG93IGdldF94YXd0X3Jvb3Rfc2hlbGwoSk5JRW52ICplbnYpIHsKLSAgIHN0YXRpYyBqY2xhc3Mg Y2xhc3NYUm9vdFdpbmRvdyA9IE5VTEw7Ci0tLS0gb2xkL3NyYy9qZGsuamR3cC5hZ2VudC9zaGFy ZS9uYXRpdmUvbGliamR3cC91dGlsLmgKLSsrKyBuZXcvc3JjL2pkay5qZHdwLmFnZW50L3NoYXJl L25hdGl2ZS9saWJqZHdwL3V0aWwuaAotQEAgLTM1LDE1ICszNSwxNSBAQAotICNpZmRlZiBERUJV RwotICAgICAvKiBKdXN0IHRvIG1ha2Ugc3VyZSB0aGVzZSBpbnRlcmZhY2VzIGFyZSBub3QgdXNl ZCBoZXJlLiAqLwotICAgICAjdW5kZWYgZnJlZQotLSAgICAjZGVmaW5lIGZyZWUocCkgRG8gbm90 IHVzZSB0aGlzIGludGVyZmFjZS4KLSsgICAgI2RlZmluZSBmcmVlIGRvX25vdF91c2VfdGhpc19p bnRlcmZhY2VfZnJlZQotICAgICAjdW5kZWYgbWFsbG9jCi0tICAgICNkZWZpbmUgbWFsbG9jKHAp IERvIG5vdCB1c2UgdGhpcyBpbnRlcmZhY2UuCi0rICAgICNkZWZpbmUgbWFsbG9jIGRvX25vdF91 c2VfdGhpc19pbnRlcmZhY2VfbWFsbG9jCi0gICAgICN1bmRlZiBjYWxsb2MKLS0gICAgI2RlZmlu ZSBjYWxsb2MocCkgRG8gbm90IHVzZSB0aGlzIGludGVyZmFjZS4KLSsgICAgI2RlZmluZSBjYWxs b2MgZG9fbm90X3VzZV90aGlzX2ludGVyZmFjZV9jYWxsb2MKLSAgICAgI3VuZGVmIHJlYWxsb2MK LS0gICAgI2RlZmluZSByZWFsbG9jKHApIERvIG5vdCB1c2UgdGhpcyBpbnRlcmZhY2UuCi0rICAg ICNkZWZpbmUgcmVhbGxvYyBkb19ub3RfdXNlX3RoaXNfaW50ZXJmYWNlX3JlYWxsb2MKLSAgICAg I3VuZGVmIHN0cmR1cAotLSAgICAjZGVmaW5lIHN0cmR1cChwKSBEbyBub3QgdXNlIHRoaXMgaW50 ZXJmYWNlLgotKyAgICAjZGVmaW5lIHN0cmR1cCBkb19ub3RfdXNlX3RoaXNfaW50ZXJmYWNlX3N0 cmR1cAotICNlbmRpZgotIAotICNpbmNsdWRlICJsb2dfbWVzc2FnZXMuaCIKLS0tLSBvbGQvdGVz dC9ob3RzcG90L2p0cmVnL3J1bnRpbWUvU3RhY2tHdWFyZFBhZ2VzL2V4ZWludm9rZS5jCi0rKysg bmV3L3Rlc3QvaG90c3BvdC9qdHJlZy9ydW50aW1lL1N0YWNrR3VhcmRQYWdlcy9leGVpbnZva2Uu YwotQEAgLTMzLDYgKzMzLDcgQEAKLSAKLSAjaW5jbHVkZSA8YXNzZXJ0Lmg+Ci0gI2luY2x1ZGUg PGpuaS5oPgotKyNpbmNsdWRlIDxqdm0uaD4KLSAjaW5jbHVkZSA8YWxsb2NhLmg+Ci0gI2luY2x1 ZGUgPHNpZ25hbC5oPgotICNpbmNsdWRlIDxzdHJpbmcuaD4KLUBAIC05MSw2ICs5MiwyMCBAQAot ICAgfQotIH0KLSAKLStpbnQgZ2V0X2phdmFfc3RhY2tzaXplICgpIHsKLSsgIHNpemVfdCBzdGFj a3NpemU7Ci0rICBwdGhyZWFkX2F0dHJfdCBhdHRyOwotKyAgSkRLMV8xSW5pdEFyZ3MgamRrX2Fy Z3M7Ci0rCi0rICBqZGtfYXJncy52ZXJzaW9uID0gSk5JX1ZFUlNJT05fMV8xOwotKyAgSk5JX0dl dERlZmF1bHRKYXZhVk1Jbml0QXJncygmamRrX2FyZ3MpOwotKyAgaWYgKGpka19hcmdzLmphdmFT dGFja1NpemUgPD0gMCkgewotKyAgICBmcHJpbnRmKHN0ZGVyciwgIlRlc3QgRVJST1IuIENhbid0 IGdldCBhIHZhbGlkIHZhbHVlIGZvciB0aGUgZGVmYXVsdCBzdGFja3NpemUuXG4iKTsKLSsgICAg ZXhpdCg3KTsKLSsgIH0KLSsgIHJldHVybiBqZGtfYXJncy5qYXZhU3RhY2tTaXplOwotK30KLSsK LSB2b2lkICpydW5famF2YV9vdmVyZmxvdyAodm9pZCAqcCkgewotICAgSk5JRW52ICplbnY7Ci0g ICBqY2xhc3MgY2xhc3NfaWQ7Ci1AQCAtMjU4LDEzICsyNzMsMTkgQEAKLSAgICAgZXhpdCg3KTsK LSAgIH0KLSAKLSsgIGludCBzdGFja19zaXplID0gZ2V0X2phdmFfc3RhY2tzaXplKCk7Ci0gICBw dGhyZWFkX3QgdGhyOwotKyAgcHRocmVhZF9hdHRyX3QgdGhyZWFkX2F0dHI7Ci0gCi0rICBwdGhy ZWFkX2F0dHJfaW5pdCgmdGhyZWFkX2F0dHIpOwotKyAgcHRocmVhZF9hdHRyX3NldHN0YWNrc2l6 ZSgmdGhyZWFkX2F0dHIsIHN0YWNrX3NpemUpOwotKwotICAgaWYgKGFyZ2MgPiAxICYmIHN0cmNt cChhcmd2WzFdLCAidGVzdF9qYXZhX292ZXJmbG93IikgPT0gMCkgewotICAgICBwcmludGYoIlxu VGVzdGluZyBKQVZBX09WRVJGTE9XXG4iKTsKLSAKLSAgICAgcHJpbnRmKCJUZXN0aW5nIHN0YWNr IGd1YXJkIHBhZ2UgYmVoYXZpb3VyIGZvciBvdGhlciB0aHJlYWRcbiIpOwotLSAgICBwdGhyZWFk X2NyZWF0ZSAoJnRociwgTlVMTCwgcnVuX2phdmFfb3ZlcmZsb3csIE5VTEwpOwotKwotKyAgICBw dGhyZWFkX2NyZWF0ZSAoJnRociwgJnRocmVhZF9hdHRyLCBydW5famF2YV9vdmVyZmxvdywgTlVM TCk7Ci0gICAgIHB0aHJlYWRfam9pbiAodGhyLCBOVUxMKTsKLSAKLSAgICAgcHJpbnRmKCJUZXN0 aW5nIHN0YWNrIGd1YXJkIHBhZ2UgYmVoYXZpb3VyIGZvciBpbml0aWFsIHRocmVhZFxuIik7Ci1A QCAtMjc3LDcgKzI5OCw3IEBACi0gICAgIHByaW50ZigiXG5UZXN0aW5nIE5BVElWRV9PVkVSRkxP V1xuIik7Ci0gCi0gICAgIHByaW50ZigiVGVzdGluZyBzdGFjayBndWFyZCBwYWdlIGJlaGF2aW91 ciBmb3Igb3RoZXIgdGhyZWFkXG4iKTsKLS0gICAgcHRocmVhZF9jcmVhdGUgKCZ0aHIsIE5VTEws IHJ1bl9uYXRpdmVfb3ZlcmZsb3csIE5VTEwpOwotKyAgICBwdGhyZWFkX2NyZWF0ZSAoJnRociwg JnRocmVhZF9hdHRyLCBydW5fbmF0aXZlX292ZXJmbG93LCBOVUxMKTsKLSAgICAgcHRocmVhZF9q b2luICh0aHIsIE5VTEwpOwotIAotICAgICBwcmludGYoIlRlc3Rpbmcgc3RhY2sgZ3VhcmQgcGFn ZSBiZWhhdmlvdXIgZm9yIGluaXRpYWwgdGhyZWFkXG4iKTsKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv b3BlbmpkazExL3RlbXBsYXRlIGIvc3JjcGtncy9vcGVuamRrMTEvdGVtcGxhdGUKaW5kZXggZTBk N2JhN2ZiNjMyLi45ZDdjMGVlNmJmMDMgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mvb3BlbmpkazExL3Rl bXBsYXRlCisrKyBiL3NyY3BrZ3Mvb3BlbmpkazExL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAog IyBUZW1wbGF0ZSBmaWxlIGZvciAnb3BlbmpkazExJwogcGtnbmFtZT1vcGVuamRrMTEKLXZlcnNp b249MTEuMC4xMis3Ci1yZXZpc2lvbj0zCit2ZXJzaW9uPTExLjAuMjArNworcmV2aXNpb249MQog X2phdmFfdmVyPSIke3ZlcnNpb24lJS4qfSIKIF9qZGtfaG9tZT0idXNyL2xpYi9qdm0vb3Blbmpk ayR7X2phdmFfdmVyfSIKIGFyY2hzPSJ4ODZfNjQqIGk2ODYqIGFhcmNoNjQqIGFybXY3KiBwcGM2 NCoiCkBAIC0zNyw3ICszNyw3IEBAIG1haW50YWluZXI9Ikt5bGUgTnVzYmF1bSA8a251c2JhdW0r dm9pZEBzZGYub3JnPiIKIGxpY2Vuc2U9IkdQTC0yLjAtb25seSBXSVRIIENsYXNzcGF0aC1leGNl cHRpb24tMi4wIgogaG9tZXBhZ2U9Imh0dHA6Ly9vcGVuamRrLmphdmEubmV0LyIKIGRpc3RmaWxl cz0iaHR0cHM6Ly9naXRodWIuY29tL29wZW5qZGsvamRrJHtfamF2YV92ZXJ9dS9hcmNoaXZlL2pk ay0ke3ZlcnNpb259LnRhci5neiIKLWNoZWNrc3VtPTlhMzdjOTY0MWI0NWY1YzUxZmUxOWMxY2Nh ZTE0MWRhZWI1ZGNkYmQ1OWZhMmY1NmU3ZGVhN2JmMDk0ODRiZWMKK2NoZWNrc3VtPTMzZjU1OWY0 MjIzYTQ0MDNmYWIzMTQ0ODQ3MzAwOWEyN2QwMzJkZDIwODVmYTY1NWM0OWI5YjZiY2ZmZTE3MjgK IHByb3ZpZGVzPSJqYXZhLWVudmlyb25tZW50LSR7dmVyc2lvbn1fMSIKIAogIyBCdWlsZCBpcyBz dGlsbCBwYXJhbGxlbCwgYnV0IGRvbid0IHVzZSAtak4uCkBAIC0yMjEsNyArMjIxLDcgQEAgb3Bl bmpkazExLXN0YXRpYy1saWJzX3BhY2thZ2UoKSB7CiAKIG9wZW5qZGsxMS1qbW9kc19wYWNrYWdl KCkgewogCXNob3J0X2Rlc2MrPSIgLSBKTU9EcyIKLQlkZXBlbmRzPSIke3BrZ25hbWV9LSR7dmVy c2lvbn1fJHtyZXZpc2lvbn0iCisJZGVwZW5kcz0iJHtzb3VyY2Vwa2d9LSR7dmVyc2lvbn1fJHty ZXZpc2lvbn0iCiAJcGtnX2luc3RhbGwoKSB7CiAJCXZtb3ZlICRfamRrX2hvbWUvam1vZHMKIAl9 Cg== --===============5447283235472741894==--