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 autolearn=no autolearn_force=no version=3.4.4 Received: (qmail 6767 invoked from network); 19 Dec 2021 20:57:30 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 19 Dec 2021 20:57:30 -0000 Content-Type: multipart/mixed; boundary="===============0238361670996530021==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_bubblewrap=3A_update_to_0=2E5=2E0=2E?= To: ml@inbox.vuxu.org From: UsernameRandomlyGenerated Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Sun, 19 Dec 2021 21:57:29 +0100 List-Id: Message-ID: <20211219205729.IZx7e2D4YGRLyrQDzbYFVx3IMhUTmo4mutAY1uujUoU@z> GitHub notification mails are now in MIME to allow UTF8. --===============0238361670996530021== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgVXNlcm5hbWVSYW5kb21seUdlbmVy YXRlZCBhZ2FpbnN0IG1hc3RlciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRw czovL2dpdGh1Yi5jb20vVXNlcm5hbWVSYW5kb21seUdlbmVyYXRlZC92b2lkLXBhY2thZ2VzIGJ3 cmFwMDUwCmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvcHVsbC8z MzM3MgoKYnViYmxld3JhcDogdXBkYXRlIHRvIDAuNS4wLgpNdXNsIHByb2JsZW0gc2VlbXMgdG8g YmUgcmVzb2x2ZWQsIHRlc3RlZCBmbGF0cGFrIHN0ZWFtLCBydW5zIGZpbmUuDQoNCg0KPCEtLSBN YXJrIGl0ZW1zIHdpdGggW3hdIHdoZXJlIGFwcGxpY2FibGUgLS0+DQoNCiMjIyMgR2VuZXJhbA0K LSBbIF0gVGhpcyBpcyBhIG5ldyBwYWNrYWdlIGFuZCBpdCBjb25mb3JtcyB0byB0aGUgW3F1YWxp dHkgcmVxdWlyZW1lbnRzXShodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2th Z2VzL2Jsb2IvbWFzdGVyL01hbnVhbC5tZCNxdWFsaXR5LXJlcXVpcmVtZW50cykNCg0KIyMjIyBI YXZlIHRoZSByZXN1bHRzIG9mIHRoZSBwcm9wb3NlZCBjaGFuZ2VzIGJlZW4gdGVzdGVkPw0KLSBb eF0gSSB1c2UgdGhlIHBhY2thZ2VzIGFmZmVjdGVkIGJ5IHRoZSBwcm9wb3NlZCBjaGFuZ2VzIG9u IGEgcmVndWxhciBiYXNpcyBhbmQgY29uZmlybSB0aGlzIFBSIHdvcmtzIGZvciBtZQ0KLSBbIF0g SSBnZW5lcmFsbHkgZG9uJ3QgdXNlIHRoZSBhZmZlY3RlZCBwYWNrYWdlcyBidXQgYnJpZWZseSB0 ZXN0ZWQgdGhpcyBQUg0KDQo8IS0tDQpJZiBHaXRIdWIgQ0kgY2Fubm90IGJlIHVzZWQgdG8gdmFs aWRhdGUgdGhlIGJ1aWxkIHJlc3VsdCAoZm9yIGV4YW1wbGUsIGlmIHRoZQ0KYnVpbGQgaXMgbGlr ZWx5IHRvIHRha2Ugc2V2ZXJhbCBob3VycyksIG1ha2Ugc3VyZSB0bw0KW3NraXAgQ0ldKGh0dHBz Oi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvYmxvYi9tYXN0ZXIvQ09OVFJJ QlVUSU5HLm1kI2NvbnRpbnVvdXMtaW50ZWdyYXRpb24pLg0KV2hlbiBza2lwcGluZyBDSSwgdW5j b21tZW50IGFuZCBmaWxsIG91dCB0aGUgZm9sbG93aW5nIHNlY3Rpb24uDQpOb3RlOiBmb3IgYnVp bGRzIHRoYXQgYXJlIGxpa2VseSB0byBjb21wbGV0ZSBpbiBsZXNzIHRoYW4gMiBob3VycywgaXQg aXMgbm90DQphY2NlcHRhYmxlIHRvIHNraXAgQ0kuDQotLT4NCjwhLS0gDQojIyMjIERvZXMgaXQg YnVpbGQgYW5kIHJ1biBzdWNjZXNzZnVsbHk/IA0KKFBsZWFzZSBjaG9vc2UgYXQgbGVhc3Qgb25l IG5hdGl2ZSBidWlsZCBhbmQsIGlmIHN1cHBvcnRlZCwgYXQgbGVhc3Qgb25lIGNyb3NzIGJ1aWxk LiBNb3JlIGFyZSBiZXR0ZXIuKQ0KLSBbIF0gSSBidWlsdCB0aGlzIFBSIGxvY2FsbHkgZm9yIG15 IG5hdGl2ZSBhcmNoaXRlY3R1cmUsIChBUkNILUxJQkMpDQotIFsgXSBJIGJ1aWx0IHRoaXMgUFIg bG9jYWxseSBmb3IgdGhlc2UgYXJjaGl0ZWN0dXJlcyAoaWYgc3VwcG9ydGVkLiBtYXJrIGNyb3Nz YnVpbGRzKToNCiAgLSBbIF0gYWFyY2g2NC1tdXNsDQogIC0gWyBdIGFybXY3bA0KICAtIFsgXSBh cm12NmwtbXVzbA0KLS0+DQoNCgoKQSBwYXRjaCBmaWxlIGZyb20gaHR0cHM6Ly9naXRodWIuY29t L3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzMzMzcyLnBhdGNoIGlzIGF0dGFjaGVk --===============0238361670996530021== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-bwrap050-33372.patch" RnJvbSBjNTQyM2U4NTdlZTUxNTIyMTRjZDc5NjA4MGY3ZGVhNTc2ZjQyOTk3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBVc2VybmFtZVJhbmRvbWx5R2VuZXJhdGVkIDxvdmVydHdpc3Rf d3RAYWxlZWFzLmNvbT4KRGF0ZTogU3VuLCAxOSBEZWMgMjAyMSAyMjo1Njo0NCArMDEwMApTdWJq ZWN0OiBbUEFUQ0ggMS8yXSBtdXNsOiBhZGQgcmVhZGxpbmsgYW5kIHJlYWxwYXRoIHBhdGNoZXMK Ck5lZWRlZCB0byB1cGRhdGUgYnViYmxld3JhcCB0byAwLjUuMC4KLS0tCiBzcmNwa2dzL211c2wv cGF0Y2hlcy9yZWFkbGluay5wYXRjaCB8ICA0MSArKysrKysrCiBzcmNwa2dzL211c2wvcGF0Y2hl cy9yZWFscGF0aC5wYXRjaCB8IDE4NCArKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBzcmNw a2dzL211c2wvdGVtcGxhdGUgICAgICAgICAgICAgICB8ICAgMiArLQogMyBmaWxlcyBjaGFuZ2Vk LCAyMjYgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNy Y3BrZ3MvbXVzbC9wYXRjaGVzL3JlYWRsaW5rLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3Jj cGtncy9tdXNsL3BhdGNoZXMvcmVhbHBhdGgucGF0Y2gKCmRpZmYgLS1naXQgYS9zcmNwa2dzL211 c2wvcGF0Y2hlcy9yZWFkbGluay5wYXRjaCBiL3NyY3BrZ3MvbXVzbC9wYXRjaGVzL3JlYWRsaW5r LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMDZmMzU5MTY4 YTJkCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9tdXNsL3BhdGNoZXMvcmVhZGxpbmsucGF0 Y2gKQEAgLTAsMCArMSw0MSBAQAorZGlmZiAtLWdpdCBhL3NyYy91bmlzdGQvcmVhZGxpbmsuYyBi L3NyYy91bmlzdGQvcmVhZGxpbmsuYworaW5kZXggYTE1MmQ1MjQuLjMyZjQ1MzdmIDEwMDY0NAor LS0tIGEvc3JjL3VuaXN0ZC9yZWFkbGluay5jCisrKysgYi9zcmMvdW5pc3RkL3JlYWRsaW5rLmMK K0BAIC00LDkgKzQsMTYgQEAKKyAKKyBzc2l6ZV90IHJlYWRsaW5rKGNvbnN0IGNoYXIgKnJlc3Ry aWN0IHBhdGgsIGNoYXIgKnJlc3RyaWN0IGJ1Ziwgc2l6ZV90IGJ1ZnNpemUpCisgeworKwljaGFy IGR1bW15WzFdOworKwlpZiAoIWJ1ZnNpemUpIHsKKysJCWJ1ZiA9IGR1bW15OworKwkJYnVmc2l6 ZSA9IDE7CisrCX0KKyAjaWZkZWYgU1lTX3JlYWRsaW5rCistCXJldHVybiBzeXNjYWxsKFNZU19y ZWFkbGluaywgcGF0aCwgYnVmLCBidWZzaXplKTsKKysJaW50IHIgPSBfX3N5c2NhbGwoU1lTX3Jl YWRsaW5rLCBwYXRoLCBidWYsIGJ1ZnNpemUpOworICNlbHNlCistCXJldHVybiBzeXNjYWxsKFNZ U19yZWFkbGlua2F0LCBBVF9GRENXRCwgcGF0aCwgYnVmLCBidWZzaXplKTsKKysJaW50IHIgPSBf X3N5c2NhbGwoU1lTX3JlYWRsaW5rYXQsIEFUX0ZEQ1dELCBwYXRoLCBidWYsIGJ1ZnNpemUpOwor ICNlbmRpZgorKwlpZiAoYnVmID09IGR1bW15ICYmIHIgPiAwKSByID0gMDsKKysJcmV0dXJuIF9f c3lzY2FsbF9yZXQocik7CisgfQorZGlmZiAtLWdpdCBhL3NyYy91bmlzdGQvcmVhZGxpbmthdC5j IGIvc3JjL3VuaXN0ZC9yZWFkbGlua2F0LmMKK2luZGV4IDlhZjQ1Y2Q1Li5mNzlkM2QxNCAxMDA2 NDQKKy0tLSBhL3NyYy91bmlzdGQvcmVhZGxpbmthdC5jCisrKysgYi9zcmMvdW5pc3RkL3JlYWRs aW5rYXQuYworQEAgLTMsNSArMywxMiBAQAorIAorIHNzaXplX3QgcmVhZGxpbmthdChpbnQgZmQs IGNvbnN0IGNoYXIgKnJlc3RyaWN0IHBhdGgsIGNoYXIgKnJlc3RyaWN0IGJ1Ziwgc2l6ZV90IGJ1 ZnNpemUpCisgeworLQlyZXR1cm4gc3lzY2FsbChTWVNfcmVhZGxpbmthdCwgZmQsIHBhdGgsIGJ1 ZiwgYnVmc2l6ZSk7CisrCWNoYXIgZHVtbXlbMV07CisrCWlmICghYnVmc2l6ZSkgeworKwkJYnVm ID0gZHVtbXk7CisrCQlidWZzaXplID0gMTsKKysJfQorKwlpbnQgciA9IF9fc3lzY2FsbChTWVNf cmVhZGxpbmthdCwgZmQsIHBhdGgsIGJ1ZiwgYnVmc2l6ZSk7CisrCWlmIChidWYgPT0gZHVtbXkg JiYgciA+IDApIHIgPSAwOworKwlyZXR1cm4gX19zeXNjYWxsX3JldChyKTsKKyB9CmRpZmYgLS1n aXQgYS9zcmNwa2dzL211c2wvcGF0Y2hlcy9yZWFscGF0aC5wYXRjaCBiL3NyY3BrZ3MvbXVzbC9w YXRjaGVzL3JlYWxwYXRoLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAwMC4uM2Q0YmM5YWUwNzlkCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9tdXNsL3BhdGNo ZXMvcmVhbHBhdGgucGF0Y2gKQEAgLTAsMCArMSwxODQgQEAKK2RpZmYgLS1naXQgYS9zcmMvbWlz Yy9yZWFscGF0aC5jIGIvc3JjL21pc2MvcmVhbHBhdGguYworaW5kZXggZDI3MDhlNTkuLmRiOGI3 NGRjIDEwMDY0NAorLS0tIGEvc3JjL21pc2MvcmVhbHBhdGguYworKysrIGIvc3JjL21pc2MvcmVh bHBhdGguYworQEAgLTEsNDMgKzEsMTU2IEBACisgI2luY2x1ZGUgPHN0ZGxpYi5oPgorICNpbmNs dWRlIDxsaW1pdHMuaD4KKy0jaW5jbHVkZSA8c3lzL3N0YXQuaD4KKy0jaW5jbHVkZSA8ZmNudGwu aD4KKyAjaW5jbHVkZSA8ZXJybm8uaD4KKyAjaW5jbHVkZSA8dW5pc3RkLmg+CisgI2luY2x1ZGUg PHN0cmluZy5oPgorLSNpbmNsdWRlICJzeXNjYWxsLmgiCisrCisrc3RhdGljIHNpemVfdCBzbGFz aF9sZW4oY29uc3QgY2hhciAqcykKKyt7CisrCWNvbnN0IGNoYXIgKnMwID0gczsKKysJd2hpbGUg KCpzID09ICcvJykgcysrOworKwlyZXR1cm4gcy1zMDsKKyt9CisgCisgY2hhciAqcmVhbHBhdGgo Y29uc3QgY2hhciAqcmVzdHJpY3QgZmlsZW5hbWUsIGNoYXIgKnJlc3RyaWN0IHJlc29sdmVkKQor IHsKKy0JaW50IGZkOworLQlzc2l6ZV90IHI7CistCXN0cnVjdCBzdGF0IHN0MSwgc3QyOworLQlj aGFyIGJ1ZlsxNSszKnNpemVvZihpbnQpXTsKKy0JY2hhciB0bXBbUEFUSF9NQVhdOworKwljaGFy IHN0YWNrW1BBVEhfTUFYKzFdOworKwljaGFyIG91dHB1dFtQQVRIX01BWF07CisrCXNpemVfdCBw LCBxLCBsLCBsMCwgY250PTAsIG51cD0wOworKwlpbnQgY2hlY2tfZGlyPTA7CisgCisgCWlmICgh ZmlsZW5hbWUpIHsKKyAJCWVycm5vID0gRUlOVkFMOworIAkJcmV0dXJuIDA7CisgCX0KKysJbCA9 IHN0cm5sZW4oZmlsZW5hbWUsIHNpemVvZiBzdGFjayk7CisrCWlmICghbCkgeworKwkJZXJybm8g PSBFTk9FTlQ7CisrCQlyZXR1cm4gMDsKKysJfQorKwlpZiAobCA+PSBQQVRIX01BWCkgZ290byB0 b29sb25nOworKwlwID0gc2l6ZW9mIHN0YWNrIC0gbCAtIDE7CisrCXEgPSAwOworKwltZW1jcHko c3RhY2srcCwgZmlsZW5hbWUsIGwrMSk7CisrCisrCS8qIE1haW4gbG9vcC4gRWFjaCBpdGVyYXRp b24gcG9wcyB0aGUgbmV4dCBwYXJ0IGZyb20gc3RhY2sgb2YKKysJICogcmVtYWluaW5nIHBhdGgg Y29tcG9uZW50cyBhbmQgY29uc3VtZXMgYW55IHNsYXNoZXMgdGhhdCBmb2xsb3cuCisrCSAqIElm IG5vdCBhIGxpbmssIGl0J3MgbW92ZWQgdG8gb3V0cHV0OyBpZiBhIGxpbmssIGNvbnRlbnRzIGFy ZQorKwkgKiBwdXNoZWQgdG8gdGhlIHN0YWNrLiAqLworK3Jlc3RhcnQ6CisrCWZvciAoOyA7IHAr PXNsYXNoX2xlbihzdGFjaytwKSkgeworKwkJLyogSWYgc3RhY2sgc3RhcnRzIHdpdGggLywgdGhl IHdob2xlIGNvbXBvbmVudCBpcyAvIG9yIC8vCisrCQkgKiBhbmQgdGhlIG91dHB1dCBzdGF0ZSBt dXN0IGJlIHJlc2V0LiAqLworKwkJaWYgKHN0YWNrW3BdID09ICcvJykgeworKwkJCWNoZWNrX2Rp cj0wOworKwkJCW51cD0wOworKwkJCXE9MDsKKysJCQlvdXRwdXRbcSsrXSA9ICcvJzsKKysJCQlw Kys7CisrCQkJLyogSW5pdGlhbCAvLyBpcyBzcGVjaWFsLiAqLworKwkJCWlmIChzdGFja1twXSA9 PSAnLycgJiYgc3RhY2tbcCsxXSAhPSAnLycpCisrCQkJCW91dHB1dFtxKytdID0gJy8nOworKwkJ CWNvbnRpbnVlOworKwkJfQorKworKwkJY2hhciAqeiA9IF9fc3RyY2hybnVsKHN0YWNrK3AsICcv Jyk7CisrCQlsMCA9IGwgPSB6LShzdGFjaytwKTsKKyAKKy0JZmQgPSBzeXNfb3BlbihmaWxlbmFt ZSwgT19QQVRIfE9fTk9OQkxPQ0t8T19DTE9FWEVDKTsKKy0JaWYgKGZkIDwgMCkgcmV0dXJuIDA7 CistCV9fcHJvY2ZkbmFtZShidWYsIGZkKTsKKysJCWlmICghbCAmJiAhY2hlY2tfZGlyKSBicmVh azsKKyAKKy0JciA9IHJlYWRsaW5rKGJ1ZiwgdG1wLCBzaXplb2YgdG1wIC0gMSk7CistCWlmIChy IDwgMCkgZ290byBlcnI7CistCXRtcFtyXSA9IDA7CisrCQkvKiBTa2lwIGFueSAuIGNvbXBvbmVu dCBidXQgcHJlc2VydmUgY2hlY2tfZGlyIHN0YXR1cy4gKi8KKysJCWlmIChsPT0xICYmIHN0YWNr W3BdPT0nLicpIHsKKysJCQlwICs9IGw7CisrCQkJY29udGludWU7CisrCQl9CisgCistCWZzdGF0 KGZkLCAmc3QxKTsKKy0JciA9IHN0YXQodG1wLCAmc3QyKTsKKy0JaWYgKHI8MCB8fCBzdDEuc3Rf ZGV2ICE9IHN0Mi5zdF9kZXYgfHwgc3QxLnN0X2lubyAhPSBzdDIuc3RfaW5vKSB7CistCQlpZiAo IXIpIGVycm5vID0gRUxPT1A7CistCQlnb3RvIGVycjsKKysJCS8qIENvcHkgbmV4dCBjb21wb25l bnQgb250byBvdXRwdXQgYXQgbGVhc3QgdGVtcG9yYXJpbHksIHRvCisrCQkgKiBjYWxsIHJlYWRs aW5rLCBidXQgd2FpdCB0byBhZHZhbmNlIG91dHB1dCBwb3NpdGlvbiB1bnRpbAorKwkJICogZGV0 ZXJtaW5pbmcgaXQncyBub3QgYSBsaW5rLiAqLworKwkJaWYgKHEgJiYgb3V0cHV0W3EtMV0gIT0g Jy8nKSB7CisrCQkJaWYgKCFwKSBnb3RvIHRvb2xvbmc7CisrCQkJc3RhY2tbLS1wXSA9ICcvJzsK KysJCQlsKys7CisrCQl9CisrCQlpZiAocStsID49IFBBVEhfTUFYKSBnb3RvIHRvb2xvbmc7Cisr CQltZW1jcHkob3V0cHV0K3EsIHN0YWNrK3AsIGwpOworKwkJb3V0cHV0W3ErbF0gPSAwOworKwkJ cCArPSBsOworKworKwkJaW50IHVwID0gMDsKKysJCWlmIChsMD09MiAmJiBzdGFja1twLTJdPT0n LicgJiYgc3RhY2tbcC0xXT09Jy4nKSB7CisrCQkJdXAgPSAxOworKwkJCS8qIEFueSBub24tLi4g cGF0aCBjb21wb25lbnRzIHdlIGNvdWxkIGNhbmNlbCBzdGFydAorKwkJCSAqIGFmdGVyIG51cCBy ZXBldGl0aW9ucyBvZiB0aGUgMy1ieXRlIHN0cmluZyAiLi4vIjsKKysJCQkgKiBpZiB0aGVyZSBh cmUgbm9uZSwgYWNjdW11bGF0ZSAuLiBjb21wb25lbnRzIHRvCisrCQkJICogbGF0ZXIgYXBwbHkg dG8gY3dkLCBpZiBuZWVkZWQuICovCisrCQkJaWYgKHEgPD0gMypudXApIHsKKysJCQkJbnVwKys7 CisrCQkJCXEgKz0gbDsKKysJCQkJY29udGludWU7CisrCQkJfQorKwkJCS8qIFdoZW4gcHJldmlv dXMgY29tcG9uZW50cyBhcmUgYWxyZWFkeSBrbm93biB0byBiZQorKwkJCSAqIGRpcmVjdG9yaWVz LCBwcm9jZXNzaW5nIC4uIGNhbiBza2lwIHJlYWRsaW5rLiAqLworKwkJCWlmICghY2hlY2tfZGly KSBnb3RvIHNraXBfcmVhZGxpbms7CisrCQl9CisrCQlzc2l6ZV90IGsgPSByZWFkbGluayhvdXRw dXQsIHN0YWNrLCBwKTsKKysJCWlmIChrPT1wKSBnb3RvIHRvb2xvbmc7CisrCQlpZiAoIWspIHsK KysJCQllcnJubyA9IEVOT0VOVDsKKysJCQlyZXR1cm4gMDsKKysJCX0KKysJCWlmIChrPDApIHsK KysJCQlpZiAoZXJybm8gIT0gRUlOVkFMKSByZXR1cm4gMDsKKytza2lwX3JlYWRsaW5rOgorKwkJ CWNoZWNrX2RpciA9IDA7CisrCQkJaWYgKHVwKSB7CisrCQkJCXdoaWxlKHEgJiYgb3V0cHV0W3Et MV0hPScvJykgcS0tOworKwkJCQlpZiAocT4xICYmIChxPjIgfHwgb3V0cHV0WzBdIT0nLycpKSBx LS07CisrCQkJCWNvbnRpbnVlOworKwkJCX0KKysJCQlpZiAobDApIHEgKz0gbDsKKysJCQljaGVj a19kaXIgPSBzdGFja1twXTsKKysJCQljb250aW51ZTsKKysJCX0KKysJCWlmICgrK2NudCA9PSBT WU1MT09QX01BWCkgeworKwkJCWVycm5vID0gRUxPT1A7CisrCQkJcmV0dXJuIDA7CisrCQl9Cisr CisrCQkvKiBJZiBsaW5rIGNvbnRlbnRzIGVuZCBpbiAvLCBzdHJpcCBhbnkgc2xhc2hlcyBhbHJl YWR5IG9uCisrCQkgKiBzdGFjayB0byBhdm9pZCAvLT4vLyBvciAvLy0+Ly8vIG9yIHNwdXJpb3Vz IHRvb2xvbmcuICovCisrCQlpZiAoc3RhY2tbay0xXT09Jy8nKSB3aGlsZSAoc3RhY2tbcF09PScv JykgcCsrOworKwkJcCAtPSBrOworKwkJbWVtbW92ZShzdGFjaytwLCBzdGFjaywgayk7CisrCisr CQkvKiBTa2lwIHRoZSBzdGFjayBhZHZhbmNlbWVudCBpbiBjYXNlIHdlIGhhdmUgYSBuZXcKKysJ CSAqIGFic29sdXRlIGJhc2UgcGF0aC4gKi8KKysJCWdvdG8gcmVzdGFydDsKKyAJfQorIAorLQlf X3N5c2NhbGwoU1lTX2Nsb3NlLCBmZCk7CistCXJldHVybiByZXNvbHZlZCA/IHN0cmNweShyZXNv bHZlZCwgdG1wKSA6IHN0cmR1cCh0bXApOworLWVycjoKKy0JX19zeXNjYWxsKFNZU19jbG9zZSwg ZmQpOworKyAJb3V0cHV0W3FdID0gMDsKKysKKysJaWYgKG91dHB1dFswXSAhPSAnLycpIHsKKysJ CWlmICghZ2V0Y3dkKHN0YWNrLCBzaXplb2Ygc3RhY2spKSByZXR1cm4gMDsKKysJCWwgPSBzdHJs ZW4oc3RhY2spOworKwkJLyogQ2FuY2VsIGFueSBpbml0aWFsIC4uIGNvbXBvbmVudHMuICovCisr CQlwID0gMDsKKysJCXdoaWxlIChudXAtLSkgeworKwkJCXdoaWxlKGw+MSAmJiBzdGFja1tsLTFd IT0nLycpIGwtLTsKKysJCQlpZiAobD4xKSBsLS07CisrCQkJcCArPSAyOworKwkJCWlmIChwPHEp IHArKzsKKysJCX0KKysJCWlmIChxLXAgJiYgc3RhY2tbbC0xXSE9Jy8nKSBzdGFja1tsKytdID0g Jy8nOworKwkJaWYgKGwgKyAocS1wKSArIDEgPj0gUEFUSF9NQVgpIGdvdG8gdG9vbG9uZzsKKysJ CW1lbW1vdmUob3V0cHV0ICsgbCwgb3V0cHV0ICsgcCwgcSAtIHAgKyAxKTsKKysJCW1lbWNweShv dXRwdXQsIHN0YWNrLCBsKTsKKysJCXEgPSBsICsgcS1wOworKwl9CisrCisrCWlmIChyZXNvbHZl ZCkgcmV0dXJuIG1lbWNweShyZXNvbHZlZCwgb3V0cHV0LCBxKzEpOworKwllbHNlIHJldHVybiBz dHJkdXAob3V0cHV0KTsKKysKKyt0b29sb25nOgorKwllcnJubyA9IEVOQU1FVE9PTE9ORzsKKyAJ cmV0dXJuIDA7CisgfQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9tdXNsL3RlbXBsYXRlIGIvc3JjcGtn cy9tdXNsL3RlbXBsYXRlCmluZGV4IGQzMGM5OWE1NjNhMC4uNWJkYzVjNDhlNjIzIDEwMDY0NAot LS0gYS9zcmNwa2dzL211c2wvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9tdXNsL3RlbXBsYXRlCkBA IC0yLDcgKzIsNyBAQAogcGtnbmFtZT1tdXNsCiByZXZlcnRzPSIxLjIuMF8xIgogdmVyc2lvbj0x LjEuMjQKLXJldmlzaW9uPTkKK3JldmlzaW9uPTEwCiBhcmNocz0iKi1tdXNsIgogYm9vdHN0cmFw PXllcwogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQoKRnJvbSBiYmQ2MmE3MDZlMGE5M2MzNDlj YmZhZWI4NGMxZGJjYTYwMzI3ODBkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBVc2Vy bmFtZVJhbmRvbWx5R2VuZXJhdGVkIDxvdmVydHdpc3Rfd3RAYWxlZWFzLmNvbT4KRGF0ZTogU3Vu LCAxOSBEZWMgMjAyMSAyMjo1NzoxNSArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMi8yXSBidWJibGV3 cmFwOiB1cGRhdGUgdG8gMC41LjAuCgotLS0KIC4uLi9maXgtVEVNUF9GQUlMVFVSRV9SRVRSWS1t dXNsLnBhdGNoICAgICAgICB8ICAxOSAtLQogLi4uL3BhdGNoZXMvcmVhbHBhdGgtd29ya2Fyb3Vu ZC5wYXRjaCAgICAgICAgIHwgMjQ5IC0tLS0tLS0tLS0tLS0tLS0tLQogc3JjcGtncy9idWJibGV3 cmFwL3RlbXBsYXRlICAgICAgICAgICAgICAgICAgIHwgIDEyICstCiAzIGZpbGVzIGNoYW5nZWQs IDMgaW5zZXJ0aW9ucygrKSwgMjc3IGRlbGV0aW9ucygtKQogZGVsZXRlIG1vZGUgMTAwNjQ0IHNy Y3BrZ3MvYnViYmxld3JhcC9wYXRjaGVzL2ZpeC1URU1QX0ZBSUxUVVJFX1JFVFJZLW11c2wucGF0 Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2J1YmJsZXdyYXAvcGF0Y2hlcy9yZWFscGF0 aC13b3JrYXJvdW5kLnBhdGNoCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9idWJibGV3cmFwL3BhdGNo ZXMvZml4LVRFTVBfRkFJTFRVUkVfUkVUUlktbXVzbC5wYXRjaCBiL3NyY3BrZ3MvYnViYmxld3Jh cC9wYXRjaGVzL2ZpeC1URU1QX0ZBSUxUVVJFX1JFVFJZLW11c2wucGF0Y2gKZGVsZXRlZCBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDFhZmE5ZTRmOTgzMi4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3Br Z3MvYnViYmxld3JhcC9wYXRjaGVzL2ZpeC1URU1QX0ZBSUxUVVJFX1JFVFJZLW11c2wucGF0Y2gK KysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi0tLS0gYS9idWJibGV3cmFwLmMKLSsrKyBi L2J1YmJsZXdyYXAuYwotQEAgLTQyLDYgKzQyLDE2IEBACi0gI2RlZmluZSBDTE9ORV9ORVdDR1JP VVAgMHgwMjAwMDAwMCAvKiBOZXcgY2dyb3VwIG5hbWVzcGFjZSAqLwotICNlbmRpZgotIAotKy8q IHRha2VuIGZyb20gZ2xpYmMgdW5pc3RkLmggYW5kIGZpeGVzIG11c2wgKi8KLSsjaWZuZGVmIFRF TVBfRkFJTFVSRV9SRVRSWQotKyNkZWZpbmUgVEVNUF9GQUlMVVJFX1JFVFJZKGV4cHJlc3Npb24p IFwKLSsgIChfX2V4dGVuc2lvbl9fICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0rICAgICh7IGxvbmcgaW50IF9fcmVzdWx0OyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotKyAg ICAgICBkbyBfX3Jlc3VsdCA9IChsb25nIGludCkgKGV4cHJlc3Npb24pOyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFwKLSsgICAgICAgd2hpbGUgKF9fcmVzdWx0ID09IC0xTCAmJiBl cnJubyA9PSBFSU5UUik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0rICAgICAgIF9f cmVzdWx0OyB9KSkKLSsjZW5kaWYKLSsKLSAvKiBHbG9iYWxzIHRvIGF2b2lkIGhhdmluZyB0byB1 c2UgZ2V0dWlkKCksIHNpbmNlIHRoZSB1aWQvZ2lkIGNoYW5nZXMgZHVyaW5nIHJ1bnRpbWUgKi8K LSBzdGF0aWMgdWlkX3QgcmVhbF91aWQ7Ci0gc3RhdGljIGdpZF90IHJlYWxfZ2lkOwpkaWZmIC0t Z2l0IGEvc3JjcGtncy9idWJibGV3cmFwL3BhdGNoZXMvcmVhbHBhdGgtd29ya2Fyb3VuZC5wYXRj aCBiL3NyY3BrZ3MvYnViYmxld3JhcC9wYXRjaGVzL3JlYWxwYXRoLXdvcmthcm91bmQucGF0Y2gK ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ1ZDFmZDYyMzFiNi4uMDAwMDAwMDAwMDAw Ci0tLSBhL3NyY3BrZ3MvYnViYmxld3JhcC9wYXRjaGVzL3JlYWxwYXRoLXdvcmthcm91bmQucGF0 Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNDkgKzAsMCBAQAotLS0tIC9kZXYvbnVsbAkyMDIwLTEw LTE4IDA5OjI2OjMyLjMxMjc0NTc1NSArMDIwMAotKysrIGIvTElDRU5TRS5yZWFscGF0aAkyMDIw LTEwLTE4IDExOjA5OjE0LjExOTkyOTA3NiArMDIwMAotQEAgLTAsMCArMSwyOSBAQAotK0NvcHly aWdodCAoYykgMTk4OSwgMTk5MSwgMTk5MywgMTk5NQotKyAgICAgVGhlIFJlZ2VudHMgb2YgdGhl IFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0rCi0rVGhp cyBjb2RlIGlzIGRlcml2ZWQgZnJvbSBzb2Z0d2FyZSBjb250cmlidXRlZCB0byBCZXJrZWxleSBi eQotK0phbi1TaW1vbiBQZW5kcnkuCi0rCi0rUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0rbW9kaWZpY2F0aW9uLCBhcmUg cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0rYXJlIG1l dDoKLSsxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi b3ZlIGNvcHlyaWdodAotKyAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSsyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotKyAgIG5vdGljZSwgdGhpcyBs aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSsg ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg ZGlzdHJpYnV0aW9uLgotKzMuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFVuaXZlcnNpdHkgbm9y IHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCi0rICAgbWF5IGJlIHVzZWQgdG8gZW5kb3Jz ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCi0rICAgd2l0 aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0rCi0rVEhJUyBTT0ZUV0FS RSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBB TkQKLStBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P VCBMSU1JVEVEIFRPLCBUSEUKLStJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQotK0FSRSBESVNDTEFJTUVELiAg SU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQot K0ZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ LCBPUiBDT05TRVFVRU5USUFMCi0rREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKLStPUiBTRVJWSUNFUzsgTE9TUyBP RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKLStIT1dF VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O VFJBQ1QsIFNUUklDVAotK0xJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKLStPVVQgT0YgVEhFIFVTRSBPRiBUSElT IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCi0rU1VDSCBE QU1BR0UuCi0tLS0gYS9iaW5kLW1vdW50LmMJMjAxOC0wOS0yNiAxNDo1NToxNy4wMDAwMDAwMDAg KzAyMDAKLSsrKyBiL2JpbmQtbW91bnQuYwkyMDIwLTEwLTE4IDExOjA4OjM3LjgyMjkzMTQ1MiAr MDIwMAotQEAgLTIyLDYgKzIyLDE5OCBAQAotIAotICNpbmNsdWRlICJ1dGlscy5oIgotICNpbmNs dWRlICJiaW5kLW1vdW50LmgiCi0rI2luY2x1ZGUgPHN0ZGxpYi5oPgotKyNpbmNsdWRlIDxzdHJp bmcuaD4KLSsjaW5jbHVkZSA8bGltaXRzLmg+Ci0rI2luY2x1ZGUgPHVuaXN0ZC5oPgotKyNpbmNs dWRlIDxzeXMvc3RhdC5oPgotKyNpbmNsdWRlIDxlcnJuby5oPgotKyNpbmNsdWRlIDxmY250bC5o PgotKyNpbmNsdWRlIDxzeXMvcGFyYW0uaD4KLSsKLSsjaWZuZGVmIF9fR0xJQkNfXwotKy8qCi0r ICogQ29weXJpZ2h0IChjKSAxOTg5LCAxOTkxLCAxOTkzLCAxOTk1Ci0rICogICAgICBUaGUgUmVn ZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLiAgQWxsIHJpZ2h0cyByZXNlcnZl ZC4KLSsgKgotKyAqIFRoaXMgY29kZSBpcyBkZXJpdmVkIGZyb20gc29mdHdhcmUgY29udHJpYnV0 ZWQgdG8gQmVya2VsZXkgYnkKLSsgKiBKYW4tU2ltb24gUGVuZHJ5LgotKyAqCi0rICogUmVkaXN0 cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo b3V0Ci0rICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv bGxvd2luZyBjb25kaXRpb25zCi0rICogYXJlIG1ldDoKLSsgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotKyAqICAgIG5v dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l ci4KLSsgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug dGhlIGFib3ZlIGNvcHlyaWdodAotKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSsgKiAgICBkb2N1bWVudGF0 aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u LgotKyAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFVuaXZlcnNpdHkgbm9yIHRoZSBuYW1l cyBvZiBpdHMgY29udHJpYnV0b3JzCi0rICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCi0rICogICAgd2l0aG91 dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0rICoKLSsgKiBUSElTIFNPRlRX QVJFIElTIFBST1ZJREVEIEJZIFRIRSBSRUdFTlRTIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycn IEFORAotKyAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC VVQgTk9UIExJTUlURUQgVE8sIFRIRQotKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCi0rICogQVJFIERJ U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgUkVHRU5UUyBPUiBDT05UUklCVVRPUlMg QkUgTElBQkxFCi0rICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSsgKiBEQU1BR0VTIChJTkNMVURJTkcs IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUwotKyAq IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg SU5URVJSVVBUSU9OKQotKyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCi0rICogTElBQklMSVRZLCBPUiBU T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB WQotKyAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP RiBUSEUgUE9TU0lCSUxJVFkgT0YKLSsgKiBTVUNIIERBTUFHRS4KLSsgKi8KLStjaGFyICpyZWFs cGF0aF9pbnQoY29uc3QgY2hhciAqLCBjaGFyKik7Ci0rY2hhciAqCi0rcmVhbHBhdGhfaW50KGNv bnN0IGNoYXIgKiBwYXRoLCBjaGFyICogcmVzb2x2ZWQpCi0rewotKyAgICAgICAgc3RydWN0IHN0 YXQgc2I7Ci0rICAgICAgICBpbnQgaWR4ID0gMCwgbmxuayA9IDA7Ci0rICAgICAgICBjb25zdCBj aGFyICpxOwotKyAgICAgICAgY2hhciAqcCwgd2J1ZlsyXVtNQVhQQVRITEVOXSwgKmZyZXM7Ci0r ICAgICAgICBzaXplX3QgbGVuOwotKyAgICAgICAgc3NpemVfdCBuOwotKwotKyAgICAgICAgLyog UE9TSVggc2V6IHdlIG11c3QgdGVzdCBmb3IgdGhpcyAqLwotKyAgICAgICAgaWYgKHBhdGggPT0g TlVMTCkgewotKyAgICAgICAgICAgICAgICBlcnJubyA9IEVJTlZBTDsKLSsgICAgICAgICAgICAg ICAgcmV0dXJuIE5VTEw7Ci0rICAgICAgICB9Ci0rCi0rICAgICAgICBpZiAocmVzb2x2ZWQgPT0g TlVMTCkgewotKyAgICAgICAgICAgICAgICBmcmVzID0gcmVzb2x2ZWQgPSBtYWxsb2MoTUFYUEFU SExFTik7Ci0rICAgICAgICAgICAgICAgIGlmIChyZXNvbHZlZCA9PSBOVUxMKQotKyAgICAgICAg ICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOwotKyAgICAgICAgfSBlbHNlCi0rICAgICAgICAg ICAgICAgIGZyZXMgPSBOVUxMOwotKwotKwotKyAgICAgICAgLyoKLSsgICAgICAgICAqIEJ1aWxk IHJlYWwgcGF0aCBvbmUgYnkgb25lIHdpdGggcGF5aW5nIGFuIGF0dGVudGlvbiB0byAuLAotKyAg ICAgICAgICogLi4gYW5kIHN5bWJvbGljIGxpbmsuCi0rICAgICAgICAgKi8KLSsKLSsgICAgICAg IC8qCi0rICAgICAgICAgKiBgcCcgaXMgd2hlcmUgd2UnbGwgcHV0IGEgbmV3IGNvbXBvbmVudCB3 aXRoIHByZXBlbmRpbmcKLSsgICAgICAgICAqIGEgZGVsaW1pdGVyLgotKyAgICAgICAgICovCi0r ICAgICAgICBwID0gcmVzb2x2ZWQ7Ci0rCi0rICAgICAgICBpZiAoKnBhdGggPT0gJ1wwJykgewot KyAgICAgICAgICAgICAgICAqcCA9ICdcMCc7Ci0rICAgICAgICAgICAgICAgIGVycm5vID0gRU5P RU5UOwotKyAgICAgICAgICAgICAgICBnb3RvIG91dDsKLSsgICAgICAgIH0KLSsKLSsgICAgICAg IC8qIElmIHJlbGF0aXZlIHBhdGgsIHN0YXJ0IGZyb20gY3VycmVudCB3b3JraW5nIGRpcmVjdG9y eS4gKi8KLSsgICAgICAgIGlmICgqcGF0aCAhPSAnLycpIHsKLSsgICAgICAgICAgICAgICAgLyog Y2hlY2sgZm9yIHJlc29sdmVkIHBvaW50ZXIgdG8gYXBwZWFzZSBjb3Zlcml0eSAqLwotKyAgICAg ICAgICAgICAgICBpZiAocmVzb2x2ZWQgJiYgZ2V0Y3dkKHJlc29sdmVkLCBNQVhQQVRITEVOKSA9 PSBOVUxMKSB7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgcFswXSA9ICcuJzsKLSsgICAgICAg ICAgICAgICAgICAgICAgICBwWzFdID0gJ1wwJzsKLSsgICAgICAgICAgICAgICAgICAgICAgICBn b3RvIG91dDsKLSsgICAgICAgICAgICAgICAgfQotKyAgICAgICAgICAgICAgICBsZW4gPSBzdHJs ZW4ocmVzb2x2ZWQpOwotKyAgICAgICAgICAgICAgICBpZiAobGVuID4gMSkKLSsgICAgICAgICAg ICAgICAgICAgICAgICBwICs9IGxlbjsKLSsgICAgICAgIH0KLSsKLStsb29wOgotKyAgICAgICAg LyogU2tpcCBhbnkgc2xhc2guICovCi0rICAgICAgICB3aGlsZSAoKnBhdGggPT0gJy8nKQotKyAg ICAgICAgICAgICAgICBwYXRoKys7Ci0rCi0rICAgICAgICBpZiAoKnBhdGggPT0gJ1wwJykgewot KyAgICAgICAgICAgICAgICBpZiAocCA9PSByZXNvbHZlZCkKLSsgICAgICAgICAgICAgICAgICAg ICAgICAqcCsrID0gJy8nOwotKyAgICAgICAgICAgICAgICAqcCA9ICdcMCc7Ci0rICAgICAgICAg ICAgICAgIHJldHVybiByZXNvbHZlZDsKLSsgICAgICAgIH0KLSsKLSsgICAgICAgIC8qIEZpbmQg dGhlIGVuZCBvZiB0aGlzIGNvbXBvbmVudC4gKi8KLSsgICAgICAgIHEgPSBwYXRoOwotKyAgICAg ICAgZG8KLSsgICAgICAgICAgICAgICAgcSsrOwotKyAgICAgICAgd2hpbGUgKCpxICE9ICcvJyAm JiAqcSAhPSAnXDAnKTsKLSsKLSsgICAgICAgIC8qIFRlc3QgLiBvciAuLiAqLwotKyAgICAgICAg aWYgKHBhdGhbMF0gPT0gJy4nKSB7Ci0rICAgICAgICAgICAgICAgIGlmIChxIC0gcGF0aCA9PSAx KSB7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgcGF0aCA9IHE7Ci0rICAgICAgICAgICAgICAg ICAgICAgICAgZ290byBsb29wOwotKyAgICAgICAgICAgICAgICB9Ci0rICAgICAgICAgICAgICAg IGlmIChwYXRoWzFdID09ICcuJyAmJiBxIC0gcGF0aCA9PSAyKSB7Ci0rICAgICAgICAgICAgICAg ICAgICAgICAgLyogVHJpbSB0aGUgbGFzdCBjb21wb25lbnQuICovCi0rICAgICAgICAgICAgICAg ICAgICAgICAgaWYgKHAgIT0gcmVzb2x2ZWQpCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB3aGlsZSAoKi0tcCAhPSAnLycpCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbnRpbnVlOwotKyAgICAgICAgICAgICAgICAgICAgICAgIHBhdGggPSBxOwot KyAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gbG9vcDsKLSsgICAgICAgICAgICAgICAgfQot KyAgICAgICAgfQotKwotKyAgICAgICAgLyogQXBwZW5kIHRoaXMgY29tcG9uZW50LiAqLwotKyAg ICAgICAgaWYgKHAgLSByZXNvbHZlZCArIDEgKyBxIC0gcGF0aCArIDEgPiBNQVhQQVRITEVOKSB7 Ci0rICAgICAgICAgICAgICAgIGVycm5vID0gRU5BTUVUT09MT05HOwotKyAgICAgICAgICAgICAg ICBpZiAocCA9PSByZXNvbHZlZCkKLSsgICAgICAgICAgICAgICAgICAgICAgICAqcCsrID0gJy8n OwotKyAgICAgICAgICAgICAgICAqcCA9ICdcMCc7Ci0rICAgICAgICAgICAgICAgIGdvdG8gb3V0 OwotKyAgICAgICAgfQotKyAgICAgICAgcFswXSA9ICcvJzsKLSsgICAgICAgIG1lbWNweSgmcFsx XSwgcGF0aCwKLSsgICAgICAgICAgICAvKiBMSU5URUQgV2Uga25vdyBxID4gcGF0aC4gKi8KLSsg ICAgICAgICAgICBxIC0gcGF0aCk7Ci0rICAgICAgICBwWzEgKyBxIC0gcGF0aF0gPSAnXDAnOwot KwotKyAgICAgICAgLyoKLSsgICAgICAgICAqIElmIHRoaXMgY29tcG9uZW50IGlzIGEgc3ltbGlu aywgdG9zcyBpdCBhbmQgcHJlcGVuZCBsaW5rCi0rICAgICAgICAgKiB0YXJnZXQgdG8gdW5yZXNv bHZlZCBwYXRoLgotKyAgICAgICAgICovCi0rICAgICAgICBpZiAobHN0YXQocmVzb2x2ZWQsICZz YikgPT0gLTEpCi0rICAgICAgICAgICAgICAgIGdvdG8gb3V0OwotKwotKyAgICAgICAgaWYgKFNf SVNMTksoc2Iuc3RfbW9kZSkpIHsKLSsgICAgICAgICAgICAgICAgaWYgKG5sbmsrKyA+PSBNQVhT WU1MSU5LUykgewotKyAgICAgICAgICAgICAgICAgICAgICAgIGVycm5vID0gRUxPT1A7Ci0rICAg ICAgICAgICAgICAgICAgICAgICAgZ290byBvdXQ7Ci0rICAgICAgICAgICAgICAgIH0KLSsgICAg ICAgICAgICAgICAgbiA9IHJlYWRsaW5rKHJlc29sdmVkLCB3YnVmW2lkeF0sIHNpemVvZih3YnVm WzBdKSAtIDEpOwotKyAgICAgICAgICAgICAgICBpZiAobiA8IDApCi0rICAgICAgICAgICAgICAg ICAgICAgICAgZ290byBvdXQ7Ci0rICAgICAgICAgICAgICAgIGlmIChuID09IDApIHsKLSsgICAg ICAgICAgICAgICAgICAgICAgICBlcnJubyA9IEVOT0VOVDsKLSsgICAgICAgICAgICAgICAgICAg ICAgICBnb3RvIG91dDsKLSsgICAgICAgICAgICAgICAgfQotKwotKyAgICAgICAgICAgICAgICAv KiBBcHBlbmQgdW5yZXNvbHZlZCBwYXRoIHRvIGxpbmsgdGFyZ2V0IGFuZCBzd2l0Y2ggdG8gaXQu ICovCi0rICAgICAgICAgICAgICAgIGlmIChuICsgKGxlbiA9IHN0cmxlbihxKSkgKyAxID4gc2l6 ZW9mKHdidWZbMF0pKSB7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgZXJybm8gPSBFTkFNRVRP T0xPTkc7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgZ290byBvdXQ7Ci0rICAgICAgICAgICAg ICAgIH0KLSsgICAgICAgICAgICAgICAgbWVtY3B5KCZ3YnVmW2lkeF1bbl0sIHEsIGxlbiArIDEp OwotKyAgICAgICAgICAgICAgICBwYXRoID0gd2J1ZltpZHhdOwotKyAgICAgICAgICAgICAgICBp ZHggXj0gMTsKLSsKLSsgICAgICAgICAgICAgICAgLyogSWYgYWJzb2x1dGUgc3ltbGluaywgc3Rh cnQgZnJvbSByb290LiAqLwotKyAgICAgICAgICAgICAgICBpZiAoKnBhdGggPT0gJy8nKQotKyAg ICAgICAgICAgICAgICAgICAgICAgIHAgPSByZXNvbHZlZDsKLSsgICAgICAgICAgICAgICAgZ290 byBsb29wOwotKyAgICAgICAgfQotKyAgICAgICAgaWYgKCpxID09ICcvJyAmJiAhU19JU0RJUihz Yi5zdF9tb2RlKSkgewotKyAgICAgICAgICAgICAgICBlcnJubyA9IEVOT1RESVI7Ci0rICAgICAg ICAgICAgICAgIGdvdG8gb3V0OwotKyAgICAgICAgfQotKwotKyAgICAgICAgLyogQWR2YW5jZSBi b3RoIHJlc29sdmVkIGFuZCB1bnJlc29sdmVkIHBhdGguICovCi0rICAgICAgICBwICs9IDEgKyBx IC0gcGF0aDsKLSsgICAgICAgIHBhdGggPSBxOwotKyAgICAgICAgZ290byBsb29wOwotK291dDoK LSsgICAgICAgIGZyZWUoZnJlcyk7Ci0rICAgICAgICByZXR1cm4gTlVMTDsKLSt9Ci0rI2VuZGlm Ci0gCi0gc3RhdGljIGNoYXIgKgotIHNraXBfdG9rZW4gKGNoYXIgKmxpbmUsIGJvb2wgZWF0X3do aXRlc3BhY2UpCi1AQCAtMzk1LDkgKzU4NywxNCBAQAotIAotICAgLyogVGhlIG1vdW50IG9wZXJh dGlvbiB3aWxsIHJlc29sdmUgYW55IHN5bWxpbmtzIGluIHRoZSBkZXN0aW5hdGlvbgotICAgICAg cGF0aCwgc28gdG8gZmluZCBpdCBpbiB0aGUgbW91bnQgdGFibGUgd2UgbmVlZCB0byBkbyB0aGF0 IHRvby4gKi8KLSsjaWZkZWYgX19HTElCQ19fCi0gICByZXNvbHZlZF9kZXN0ID0gcmVhbHBhdGgg KGRlc3QsIE5VTEwpOwotLSAgaWYgKHJlc29sdmVkX2Rlc3QgPT0gTlVMTCkKLSsjZWxzZQotKyAg cmVzb2x2ZWRfZGVzdCA9IHJlYWxwYXRoX2ludCAoZGVzdCwgTlVMTCk7Ci0rI2VuZGlmCi0rICBp ZiAocmVzb2x2ZWRfZGVzdCA9PSBOVUxMKSB7Ci0gICAgIHJldHVybiAyOwotKyAgfQotIAotICAg bW91bnRfdGFiID0gcGFyc2VfbW91bnRpbmZvIChwcm9jX2ZkLCByZXNvbHZlZF9kZXN0KTsKLSAg IGlmIChtb3VudF90YWJbMF0ubW91bnRwb2ludCA9PSBOVUxMKQpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9idWJibGV3cmFwL3RlbXBsYXRlIGIvc3JjcGtncy9idWJibGV3cmFwL3RlbXBsYXRlCmluZGV4 IDRkZjFkYWM1OTM5NS4uMzJhN2FhZDUwNDU3IDEwMDY0NAotLS0gYS9zcmNwa2dzL2J1YmJsZXdy YXAvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9idWJibGV3cmFwL3RlbXBsYXRlCkBAIC0xLDcgKzEs NyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnYnViYmxld3JhcCcKIHBrZ25hbWU9YnViYmxld3Jh cAotdmVyc2lvbj0wLjQuMQotcmV2aXNpb249MgordmVyc2lvbj0wLjUuMAorcmV2aXNpb249MQog YnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogaG9zdG1ha2VkZXBlbmRzPSJsaWJ4c2x0IGRvY2Jv b2steHNsIHBrZy1jb25maWciCiBtYWtlZGVwZW5kcz0ibGliY2FwLWRldmVsIgpAQCAtMTAsMTAg KzEwLDQgQEAgbWFpbnRhaW5lcj0iRHVuY2FlbiA8ZHVuY2FlbkB2b2lkbGludXgub3JnPiIKIGxp Y2Vuc2U9IkxHUEwtMi4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8vZ2l0aHViLmNvbS9j b250YWluZXJzL2J1YmJsZXdyYXAiCiBkaXN0ZmlsZXM9IiR7aG9tZXBhZ2V9L3JlbGVhc2VzL2Rv d25sb2FkL3Yke3ZlcnNpb259LyR7cGtnbmFtZX0tJHt2ZXJzaW9ufS50YXIueHoiCi1jaGVja3N1 bT1iOWM2OWI5YjFjNjFhNjA4ZjM0MzI1YzhlMWE0OTUyMjliYWNmNmU0YTA3Y2JiMGM4MGNmN2E4 MTRkN2NjYzAzCi0KLXBvc3RfaW5zdGFsbCgpIHsKLQlpZiBbICIkWEJQU19UQVJHRVRfTElCQyIg PSAibXVzbCIgXTsgdGhlbgotCQl2bGljZW5zZSBMSUNFTlNFLnJlYWxwYXRoCi0JZmkKLX0KK2No ZWNrc3VtPTE2ZmRhZjMzNzk5ZDYzMTA0ZTM0N2UwMTMzZjkwOTE5NmZlOTBkMGM1MDUxNWQwMTBi Y2I0MjJlYjVhMDA4MTgK --===============0238361670996530021==--