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=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 11670 invoked from network); 12 Apr 2021 07:15:04 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 12 Apr 2021 07:15:04 -0000 Content-Type: multipart/mixed; boundary="===============3189530493026792580==" MIME-Version: 1.0 Subject: =?utf8?b?UmU6IFtQUiBQQVRDSF0gW1VwZGF0ZWRdIG1hcmlhZGI6IHVwZGF0ZSB0byAxMC41Ljku?= To: ml@inbox.vuxu.org From: Veganizer Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Mon, 12 Apr 2021 09:15:03 +0200 List-Id: Message-ID: <20210412071503.pFDtbv0jNgbrkPffdv-ivwrrrPcBd-Dicuon18-ymVU@z> GitHub notification mails are now in MIME to allow UTF8. --===============3189530493026792580== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgVmVnYW5pemVyIGFnYWluc3QgbWFz dGVyIG9uIHRoZSB2b2lkLXBhY2thZ2VzIHJlcG9zaXRvcnkKCmh0dHBzOi8vZ2l0aHViLmNvbS9W ZWdhbml6ZXIvdm9pZC1wYWNrYWdlcyBtYXJpYWRiLXNlcnZlcgpodHRwczovL2dpdGh1Yi5jb20v dm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwvMzAxNDMKCm1hcmlhZGI6IHVwZGF0ZSB0byAx MC41LjkuCjwhLS0gTWFyayBpdGVtcyB3aXRoIFt4XSB3aGVyZSBhcHBsaWNhYmxlIC0tPg0KDQoj IyMjIEdlbmVyYWwNCi0gWyBdIFRoaXMgaXMgYSBuZXcgcGFja2FnZSBhbmQgaXQgY29uZm9ybXMg dG8gdGhlIFtxdWFsaXR5IHJlcXVpcmVtZW50c10oaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGlu dXgvdm9pZC1wYWNrYWdlcy9ibG9iL21hc3Rlci9NYW51YWwubWQjcXVhbGl0eS1yZXF1aXJlbWVu dHMpDQoNCiMjIyMgSGF2ZSB0aGUgcmVzdWx0cyBvZiB0aGUgcHJvcG9zZWQgY2hhbmdlcyBiZWVu IHRlc3RlZD8NCi0gW3hdIEkgdXNlIHRoZSBwYWNrYWdlcyBhZmZlY3RlZCBieSB0aGUgcHJvcG9z ZWQgY2hhbmdlcyBvbiBhIHJlZ3VsYXIgYmFzaXMgYW5kIGNvbmZpcm0gdGhpcyBQUiB3b3JrcyBm b3IgbWUNCi0gWyBdIEkgZ2VuZXJhbGx5IGRvbid0IHVzZSB0aGUgYWZmZWN0ZWQgcGFja2FnZXMg YnV0IGJyaWVmbHkgdGVzdGVkIHRoaXMgUFINCg0KPCEtLQ0KSWYgR2l0SHViIENJIGNhbm5vdCBi ZSB1c2VkIHRvIHZhbGlkYXRlIHRoZSBidWlsZCByZXN1bHQgKGZvciBleGFtcGxlLCBpZiB0aGUN CmJ1aWxkIGlzIGxpa2VseSB0byB0YWtlIHNldmVyYWwgaG91cnMpLCBtYWtlIHN1cmUgdG8NCltz a2lwIENJXShodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL2Jsb2Iv bWFzdGVyL0NPTlRSSUJVVElORy5tZCNjb250aW51b3VzLWludGVncmF0aW9uKS4NCldoZW4gc2tp cHBpbmcgQ0ksIHVuY29tbWVudCBhbmQgZmlsbCBvdXQgdGhlIGZvbGxvd2luZyBzZWN0aW9uLg0K Tm90ZTogZm9yIGJ1aWxkcyB0aGF0IGFyZSBsaWtlbHkgdG8gY29tcGxldGUgaW4gbGVzcyB0aGFu IDIgaG91cnMsIGl0IGlzIG5vdA0KYWNjZXB0YWJsZSB0byBza2lwIENJLg0KLS0+DQojIyMjIERv ZXMgaXQgYnVpbGQgYW5kIHJ1biBzdWNjZXNzZnVsbHk/IA0KKFBsZWFzZSBjaG9vc2UgYXQgbGVh c3Qgb25lIG5hdGl2ZSBidWlsZCBhbmQsIGlmIHN1cHBvcnRlZCwgYXQgbGVhc3Qgb25lIGNyb3Nz IGJ1aWxkLiBNb3JlIGFyZSBiZXR0ZXIuKQ0KLSBbeF0gSSBidWlsdCB0aGlzIFBSIGxvY2FsbHkg Zm9yIG15IG5hdGl2ZSBhcmNoaXRlY3R1cmUsICh4ODZfNjQgeDg2XzY0LW11c2wpDQotIFt4XSBJ IGJ1aWx0IHRoaXMgUFIgbG9jYWxseSBmb3IgdGhlc2UgYXJjaGl0ZWN0dXJlcyAoaWYgc3VwcG9y dGVkLiBtYXJrIGNyb3NzYnVpbGRzKToNCiAgLSBbeF0gYWFyY2g2NC1tdXNsDQogIC0gW3hdIGFy bXY3bA0KICAtIFt4XSBhcm12NmwtbXVzbA0KDQoNCkNyb3NzIGNvbXBpbGluZyB3b3JrcyBub3ch CgpBIHBhdGNoIGZpbGUgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBh Y2thZ2VzL3B1bGwvMzAxNDMucGF0Y2ggaXMgYXR0YWNoZWQ= --===============3189530493026792580== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-mariadb-server-30143.patch" RnJvbSA3M2E5ZDBlMDU5ZTkwMjk4YTIyZjgwNjVmZTc4ZWJiMGQyZWMzMDcxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKdXN0aW4gSmFnaWVuaWFrIDxqdXN0aW5AamFnaWVuaWFrLm5l dD4KRGF0ZTogTW9uLCAxMiBBcHIgMjAyMSAwOToxMTo1MCArMDIwMApTdWJqZWN0OiBbUEFUQ0hd IG1hcmlhZGI6IHVwZGF0ZSB0byAxMC41LjkuCgotLS0KIGNvbW1vbi9zaGxpYnMgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8ICAgOCArLQogc3JjcGtncy9tYXJpYWRiL0lOU1RBTEwg ICAgICAgICAgICAgICAgICAgICAgIHwgICA5IC0KIHNyY3BrZ3MvbWFyaWFkYi9JTlNUQUxMLm1z ZyAgICAgICAgICAgICAgICAgICB8ICAgMyAtCiAuLi4vZmlsZXMvbXVzbC1kaXNhYmxlLWZhaWxp bmctdGVzdC5wYXRjaCAgICAgfCAgMjggKysKIC4uLi9tdXNsLWhhdmUtc3RhY2t0cmFjZS5wYXRj aH0gICAgICAgICAgICAgICB8ICAxMCArLQogLi4uL2ZpbGVzL211c2wtcHBjLXJlbW92ZS1nbGli Yy1kZXAucGF0Y2ggICAgIHwgIDQ3ICsrKysKIHNyY3BrZ3MvbWFyaWFkYi9wYXRjaGVzL2F0b21p Yy1maXgucGF0Y2ggICAgICB8IDEwOCArKysrKysrKwogc3JjcGtncy9tYXJpYWRiL3BhdGNoZXMv YzExX2F0b21pY3MucGF0Y2ggICAgIHwgMTI4IC0tLS0tLS0tLQogc3JjcGtncy9tYXJpYWRiL3Bh dGNoZXMvZml4LWNyb3NzLnBhdGNoICAgICAgIHwgMTM2ICsrKysrKystLQogLi4uL3BhdGNoZXMv bWlwcy1jb25uZWN0LXVuYWxpZ25lZC5wYXRjaCAgICAgIHwgMjU3IC0tLS0tLS0tLS0tLS0tLS0t LQogLi4uL3BhdGNoZXMvbWlwcy1pbm5vYmFzZS1hdG9taWMucGF0Y2ggICAgICAgIHwgIDIwIC0t CiBzcmNwa2dzL21hcmlhZGIvcGF0Y2hlcy9taXBzLW1hY2hpbmUucGF0Y2ggICAgfCAgMjMgLS0K IHNyY3BrZ3MvbWFyaWFkYi9wYXRjaGVzL211c2wtcHBjLnBhdGNoICAgICAgICB8ICAyNiAtLQog c3JjcGtncy9tYXJpYWRiL3BhdGNoZXMvbXVzbF91Y29udGV4dC1oLnBhdGNoIHwgIDExIC0KIHNy Y3BrZ3MvbWFyaWFkYi9wYXRjaGVzL3BwY2xlLnBhdGNoICAgICAgICAgICB8ICA1NyAtLS0tCiBz cmNwa2dzL21hcmlhZGIvdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgICAgfCAgOTAgKysrLS0t CiBzcmNwa2dzL21hcmlhZGIvdXBkYXRlICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgLQog MTcgZmlsZXMgY2hhbmdlZCwgMzQzIGluc2VydGlvbnMoKyksIDYyMCBkZWxldGlvbnMoLSkKIGRl bGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL21hcmlhZGIvSU5TVEFMTAogZGVsZXRlIG1vZGUgMTAw NjQ0IHNyY3BrZ3MvbWFyaWFkYi9JTlNUQUxMLm1zZwogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3Br Z3MvbWFyaWFkYi9maWxlcy9tdXNsLWRpc2FibGUtZmFpbGluZy10ZXN0LnBhdGNoCiByZW5hbWUg c3JjcGtncy9tYXJpYWRiL3twYXRjaGVzL2ZpeC10ZXN0LXN0YWNrdHJhY2UucGF0Y2ggPT4gZmls ZXMvbXVzbC1oYXZlLXN0YWNrdHJhY2UucGF0Y2h9ICg2MCUpCiBjcmVhdGUgbW9kZSAxMDA2NDQg c3JjcGtncy9tYXJpYWRiL2ZpbGVzL211c2wtcHBjLXJlbW92ZS1nbGliYy1kZXAucGF0Y2gKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL21hcmlhZGIvcGF0Y2hlcy9hdG9taWMtZml4LnBhdGNo CiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9tYXJpYWRiL3BhdGNoZXMvYzExX2F0b21pY3Mu cGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL21hcmlhZGIvcGF0Y2hlcy9taXBzLWNv bm5lY3QtdW5hbGlnbmVkLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9tYXJpYWRi L3BhdGNoZXMvbWlwcy1pbm5vYmFzZS1hdG9taWMucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBz cmNwa2dzL21hcmlhZGIvcGF0Y2hlcy9taXBzLW1hY2hpbmUucGF0Y2gKIGRlbGV0ZSBtb2RlIDEw MDY0NCBzcmNwa2dzL21hcmlhZGIvcGF0Y2hlcy9tdXNsLXBwYy5wYXRjaAogZGVsZXRlIG1vZGUg MTAwNjQ0IHNyY3BrZ3MvbWFyaWFkYi9wYXRjaGVzL211c2xfdWNvbnRleHQtaC5wYXRjaAogZGVs ZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbWFyaWFkYi9wYXRjaGVzL3BwY2xlLnBhdGNoCiBkZWxl dGUgbW9kZSAxMDA2NDQgc3JjcGtncy9tYXJpYWRiL3VwZGF0ZQoKZGlmZiAtLWdpdCBhL2NvbW1v bi9zaGxpYnMgYi9jb21tb24vc2hsaWJzCmluZGV4IDI5NmI5M2U1ZjIyYi4uNDU0NzBlNjE2NjFk IDEwMDY0NAotLS0gYS9jb21tb24vc2hsaWJzCisrKyBiL2NvbW1vbi9zaGxpYnMKQEAgLTU1Nyw4 ICs1NTcsNiBAQCBsaWJlY3BnLnNvLjYgcG9zdGdyZXNxbC1saWJzLTEzLjJfMgogbGlicGd0eXBl cy5zby4zIHBvc3RncmVzcWwtbGlicy0xMy4yXzIKIGxpYnBxLnNvLjUgcG9zdGdyZXNxbC1saWJz LTEzLjJfMgogbGlibXlwYWludC5zby4wIGxpYm15cGFpbnQtMS42LjFfMQotbGlibXlzcWxjbGll bnRfci5zby4xOCBsaWJtYXJpYWRiY2xpZW50LTEwLjEuNDhfMgotbGlibXlzcWxjbGllbnQuc28u MTggbGlibWFyaWFkYmNsaWVudC0xMC4xLjQ4XzIKIGxpYmdzc2FwaV9rcmI1LnNvLjIgbWl0LWty YjUtbGlicy0xLjhfMQogbGliZ3NzcnBjLnNvLjQgbWl0LWtyYjUtbGlicy0xLjhfMQogbGliazVj cnlwdG8uc28uMyBtaXQta3JiNS1saWJzLTEuOF8xCkBAIC01NzEsOCArNTY5LDYgQEAgbGlia3Ji NXN1cHBvcnQuc28uMCBtaXQta3JiNS1saWJzLTEuOF8xCiBsaWJrZGJfbGRhcC5zby4xIG1pdC1r cmI1LWxpYnMtMS4xNC4yXzIKIGxpYnZlcnRvLnNvLjAgbWl0LWtyYjUtbGlicy0xLjhfMQogbGli dmVydG8tazVldi5zby4wIG1pdC1rcmI1LWxpYnMtMS44XzEKLWxpYm15c3FsY2xpZW50X3Iuc28u MTggbGlibWFyaWFkYmNsaWVudC0xMC4xLjQ4XzIKLWxpYm15c3FsY2xpZW50LnNvLjE4IGxpYm1h cmlhZGJjbGllbnQtMTAuMS40OF8yCiBsaWJnc3NhcGlfa3JiNS5zby4yIG1pdC1rcmI1LWxpYnMt MS4xOC4zXzIKIGxpYmdzc3JwYy5zby40IG1pdC1rcmI1LWxpYnMtMS4xOC4zXzIKIGxpYms1Y3J5 cHRvLnNvLjMgbWl0LWtyYjUtbGlicy0xLjE4LjNfMgpAQCAtMTYwMywxNCArMTU5OSwxMiBAQCBs aWJkb3ZlY290LWNvbXByZXNzaW9uLnNvLjAgZG92ZWNvdC0yLjMuMTNfMwogbGliZG92ZWNvdC1z cWwuc28uMCBkb3ZlY290LTIuMy4xM18zCiBsaWJkb3ZlY290LXN0b3JhZ2Uuc28uMCBkb3ZlY290 LTIuMy4xM18zCiBsaWJkb3ZlY290LWxkYS5zby4wIGRvdmVjb3QtMi4zLjEzXzMKLWxpYm15c3Fs ZC5zby4xOCBsaWJtYXJpYWRiY2xpZW50LTUuNS4zNl8xCiBsaWJkb3ZlY290LnNvLjAgZG92ZWNv dC0yLjMuMTNfMwogbGliZG92ZWNvdC1sb2dpbi5zby4wIGRvdmVjb3QtMi4zLjEzXzMKIGxpYmRv dmVjb3QtY29tcHJlc3Npb24uc28uMCBkb3ZlY290LTIuMy4xM18zCiBsaWJkb3ZlY290LXNxbC5z by4wIGRvdmVjb3QtMi4zLjEzXzMKIGxpYmRvdmVjb3Qtc3RvcmFnZS5zby4wIGRvdmVjb3QtMi4z LjEzXzMKIGxpYmRvdmVjb3QtbGRhLnNvLjAgZG92ZWNvdC0yLjMuMTNfMwotbGlibXlzcWxkLnNv LjE4IGxpYm1hcmlhZGJjbGllbnQtMTAuMS40OF8yCiBsaWJ3aXJldGFwLnNvLjExIGxpYndpcmVz aGFyay0zLjQuMF8xCiBsaWJ3aXJlc2hhcmsuc28uMTQgbGlid2lyZXNoYXJrLTMuNC4wXzEKIGxp YndzdXRpbC5zby4xMiBsaWJ3aXJlc2hhcmstMy40LjBfMQpAQCAtMzk2NywzICszOTYxLDUgQEAg bGlibWQuc28uMCBsaWJtZC0xLjAuM18xCiBsaWJsZGFjQlRfYWJyLnNvLjIgbGRhY0JULTIuMC4y LjNfMQogbGlibGRhY0JUX2VuYy5zby4yIGxkYWNCVC0yLjAuMi4zXzEKIGxpYmd1bWJvLnNvLjEg Z3VtYm8tcGFyc2VyLTAuMTAuMV8yCitsaWJtYXJpYWRiLnNvLjMgbGlibWFyaWFkYmNsaWVudC0x MC41LjlfMQorbGlibWFyaWFkYmQuc28uMTkgbGlibWFyaWFkYmNsaWVudC0xMC41LjlfMQpkaWZm IC0tZ2l0IGEvc3JjcGtncy9tYXJpYWRiL0lOU1RBTEwgYi9zcmNwa2dzL21hcmlhZGIvSU5TVEFM TApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTcxZjNiYzRkN2UyLi4wMDAwMDAwMDAw MDAKLS0tIGEvc3JjcGtncy9tYXJpYWRiL0lOU1RBTEwKKysrIC9kZXYvbnVsbApAQCAtMSw5ICsw LDAgQEAKLSMgKi0qLXNoZWxsLSotKgotIwotY2FzZSAke0FDVElPTn0gaW4KLXBvc3QpCi0JaW5z dGFsbCAtZG0wNzAwIHZhci9saWIvbXlzcWwKLQl1c3IvYmluL215c3FsX2luc3RhbGxfZGIgLS11 c2VyPW15c3FsIC0tYmFzZWRpcj0vdXNyIC0tZGF0YWRpcj0vdmFyL2xpYi9teXNxbAotCWNob3du IC1SIG15c3FsOm15c3FsIHZhci9saWIvbXlzcWwKLQk7OwotZXNhYwpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9tYXJpYWRiL0lOU1RBTEwubXNnIGIvc3JjcGtncy9tYXJpYWRiL0lOU1RBTEwubXNnCmRl bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMmY3YmE4YjhiNTQuLjAwMDAwMDAwMDAwMAot LS0gYS9zcmNwa2dzL21hcmlhZGIvSU5TVEFMTC5tc2cKKysrIC9kZXYvbnVsbApAQCAtMSwzICsw LDAgQEAKLUlmIHlvdSBjb21lIGZyb20gYSBTeXN0ZW0gdGhhdCB1c2VkIHRoZSBNeVNRTCBwYWNr YWdlLAotdGhhbiByZXN0YXJ0IHlvdXIgbXlzcWwgc2VydmljZSBhbmQgdXBncmFkZSB5b3VyIGRh dGFiYXNlCi13dGloIG15c3FsX3VwZ3JhZGUoMSkKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbWFyaWFk Yi9maWxlcy9tdXNsLWRpc2FibGUtZmFpbGluZy10ZXN0LnBhdGNoIGIvc3JjcGtncy9tYXJpYWRi L2ZpbGVzL211c2wtZGlzYWJsZS1mYWlsaW5nLXRlc3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwMDAwLi40NTA4MTYxNTAzNzgKLS0tIC9kZXYvbnVsbAorKysgYi9z cmNwa2dzL21hcmlhZGIvZmlsZXMvbXVzbC1kaXNhYmxlLWZhaWxpbmctdGVzdC5wYXRjaApAQCAt MCwwICsxLDI4IEBACistLS0gLi9zdG9yYWdlL21hcmlhL3VuaXR0ZXN0L0NNYWtlTGlzdHMudHh0 CisrKysgLi9zdG9yYWdlL21hcmlhL3VuaXR0ZXN0L0NNYWtlTGlzdHMudHh0CitAQCAtNjAsMTAg KzYwLDEwIEBAIEFERF9FWEVDVVRBQkxFKG1hX3Rlc3RfbG9naGFuZGxlcl9yZWFkb25seS10Cisg ICAgICAgICBtYV90ZXN0X2xvZ2hhbmRsZXJfbXVsdGlncm91cC10LmMgbWFfbWFyaWFfbG9nX2Ns ZWFudXAuYyBtYV9sb2doYW5kbGVyX2V4YW1wbGVzLmMgIHNlcXVlbmNlX3N0b3JhZ2UuYykKKyBN WV9BRERfVEVTVChtYV90ZXN0X2xvZ2hhbmRsZXJfcmVhZG9ubHkpCisKKy1TRVRfVEFSR0VUX1BS T1BFUlRJRVMobWFfdGVzdF9sb2doYW5kbGVyX3JlYWRvbmx5LXQgIFBST1BFUlRJRVMgQ09NUElM RV9GTEFHUyAiLURSRUFET05MWV9URVNUIikKKy1BRERfRVhFQ1VUQUJMRShtYV90ZXN0X2xvZ2hh bmRsZXJfbm9sb2dzLXQKKy0gICAgICAgIG1hX3Rlc3RfbG9naGFuZGxlcl9ub2xvZ3MtdC5jIG1h X21hcmlhX2xvZ19jbGVhbnVwLmMgbWFfbG9naGFuZGxlcl9leGFtcGxlcy5jKQorLU1ZX0FERF9U RVNUKG1hX3Rlc3RfbG9naGFuZGxlcl9ub2xvZ3MpCisrI1NFVF9UQVJHRVRfUFJPUEVSVElFUyht YV90ZXN0X2xvZ2hhbmRsZXJfcmVhZG9ubHktdCAgUFJPUEVSVElFUyBDT01QSUxFX0ZMQUdTICIt RFJFQURPTkxZX1RFU1QiKQorKyNBRERfRVhFQ1VUQUJMRShtYV90ZXN0X2xvZ2hhbmRsZXJfbm9s b2dzLXQKKysjICAgICAgICBtYV90ZXN0X2xvZ2hhbmRsZXJfbm9sb2dzLXQuYyBtYV9tYXJpYV9s b2dfY2xlYW51cC5jIG1hX2xvZ2hhbmRsZXJfZXhhbXBsZXMuYykKKysjTVlfQUREX1RFU1QobWFf dGVzdF9sb2doYW5kbGVyX25vbG9ncykKKworIFNFVChtYV9wYWdlY2FjaGVfc2luZ2xlX3NyYyAg ICAgbWFfcGFnZWNhY2hlX3NpbmdsZS5jIHRlc3RfZmlsZS5jIHRlc3RfZmlsZS5oKQorIFNFVCht YV9wYWdlY2FjaGVfY29uc2lzdF9zcmMgbWFfcGFnZWNhY2hlX2NvbnNpc3QuYyB0ZXN0X2ZpbGUu YyB0ZXN0X2ZpbGUuaCkKKy0tLSAuL3VuaXR0ZXN0L215c3lzL0NNYWtlTGlzdHMudHh0CTIwMjAt MTEtMTAgMTQ6MTU6MDYuMDAwMDAwMDAwICswMTAwCisrKysgLi91bml0dGVzdC9teXN5cy9DTWFr ZUxpc3RzLnR4dAkyMDIwLTExLTI0IDIxOjA4OjQ2LjcyMTE4MzAwNCArMDEwMAorQEAgLTE1LDcg KzE1LDcgQEAKKworIE1ZX0FERF9URVNUUyhiaXRtYXAgYmFzZTY0IG15X2F0b21pYyBteV9yZHRz YyBsZiBteV9tYWxsb2MgbXlfZ2V0b3B0IGR5bnN0cmluZworICAgICAgICAgICAgICBieXRlX29y ZGVyCistICAgICAgICAgICAgIHF1ZXVlcyBzdGFja3RyYWNlIGNyYzMyIExJTktfTElCUkFSSUVT IG15c3lzKQorKyAgICAgICAgICAgICBxdWV1ZXMgY3JjMzIgTElOS19MSUJSQVJJRVMgbXlzeXMp CisgTVlfQUREX1RFU1RTKG15X3ZzbnByaW50ZiBMSU5LX0xJQlJBUklFUyBzdHJpbmdzIG15c3lz KQorIE1ZX0FERF9URVNUUyhhZXMgTElOS19MSUJSQVJJRVMgIG15c3lzIG15c3lzX3NzbCkKKyBB RERfREVGSU5JVElPTlMoJHtTU0xfREVGSU5FU30pCmRpZmYgLS1naXQgYS9zcmNwa2dzL21hcmlh ZGIvcGF0Y2hlcy9maXgtdGVzdC1zdGFja3RyYWNlLnBhdGNoIGIvc3JjcGtncy9tYXJpYWRiL2Zp bGVzL211c2wtaGF2ZS1zdGFja3RyYWNlLnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggNjAlCnJlbmFt ZSBmcm9tIHNyY3BrZ3MvbWFyaWFkYi9wYXRjaGVzL2ZpeC10ZXN0LXN0YWNrdHJhY2UucGF0Y2gK cmVuYW1lIHRvIHNyY3BrZ3MvbWFyaWFkYi9maWxlcy9tdXNsLWhhdmUtc3RhY2t0cmFjZS5wYXRj aAppbmRleCA1NGEwNjhiZjA2ZWUuLjRkODdmNTdkZGM5ZSAxMDA2NDQKLS0tIGEvc3JjcGtncy9t YXJpYWRiL3BhdGNoZXMvZml4LXRlc3Qtc3RhY2t0cmFjZS5wYXRjaAorKysgYi9zcmNwa2dzL21h cmlhZGIvZmlsZXMvbXVzbC1oYXZlLXN0YWNrdHJhY2UucGF0Y2gKQEAgLTEsMTMgKzEsMTEgQEAK IGh0dHBzOi8vamlyYS5tYXJpYWRiLm9yZy9icm93c2UvTURFVi0yNDEzMQogCi1kaWZmIC0tZ2l0 IGEvdW5pdHRlc3QvbXlzeXMvc3RhY2t0cmFjZS10LmMgYi91bml0dGVzdC9teXN5cy9zdGFja3Ry YWNlLXQuYwotaW5kZXggOGZhMGRiMTViMzYuLjY3ZWIwOTkwMjhlIDEwMDY0NAotLS0tIHVuaXR0 ZXN0L215c3lzL3N0YWNrdHJhY2UtdC5jCi0rKysgdW5pdHRlc3QvbXlzeXMvc3RhY2t0cmFjZS10 LmMKKy0tLSAuL3VuaXR0ZXN0L215c3lzL3N0YWNrdHJhY2UtdC5jCisrKysgLi91bml0dGVzdC9t eXN5cy9zdGFja3RyYWNlLXQuYwogQEAgLTIyLDYgKzIyLDE0IEBACi0gCisKICBjaGFyIGJfYnNz WzEwXTsKLSAKKwogKyNpZm5kZWYgSEFWRV9TVEFDS1RSQUNFCiAraW50ICBteV9zYWZlX3ByaW50 X3N0cihjb25zdCBjaGFyKiB2YWwsIHNpemVfdCBtYXhfbGVuKQogK3sKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvbWFyaWFkYi9maWxlcy9tdXNsLXBwYy1yZW1vdmUtZ2xpYmMtZGVwLnBhdGNoIGIvc3Jj cGtncy9tYXJpYWRiL2ZpbGVzL211c2wtcHBjLXJlbW92ZS1nbGliYy1kZXAucGF0Y2gKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4xMzQ2ZWRlYmZiOTYKLS0tIC9kZXYv bnVsbAorKysgYi9zcmNwa2dzL21hcmlhZGIvZmlsZXMvbXVzbC1wcGMtcmVtb3ZlLWdsaWJjLWRl cC5wYXRjaApAQCAtMCwwICsxLDQ3IEBACistLS0gLi9pbmNsdWRlL215X2NwdS5oCisrKysgLi9p bmNsdWRlL215X2NwdS5oCitAQCAtMjQsMTcgKzI0LDE2IEBACisgKi8KKyAKKyAjaWZkZWYgX0FS Q0hfUFdSOAorLSNpbmNsdWRlIDxzeXMvcGxhdGZvcm0vcHBjLmg+CisgLyogVmVyeSBsb3cgcHJp b3JpdHkgKi8KKy0jZGVmaW5lIEhNVF92ZXJ5X2xvdygpIF9fcHBjX3NldF9wcHJfdmVyeV9sb3co KQorKyNkZWZpbmUgSE1UX3ZlcnlfbG93KCkgYXNtIHZvbGF0aWxlKCJvciAzMSwzMSwzMSIpCisg LyogTG93IHByaW9yaXR5ICovCistI2RlZmluZSBITVRfbG93KCkgX19wcGNfc2V0X3Bwcl9sb3co KQorKyNkZWZpbmUgSE1UX2xvdygpIGFzbSB2b2xhdGlsZSAoIm9yIDEsMSwxIikKKyAvKiBNZWRp dW0gbG93IHByaW9yaXR5ICovCistI2RlZmluZSBITVRfbWVkaXVtX2xvdygpIF9fcHBjX3NldF9w cHJfbWVkX2xvdygpCisrI2RlZmluZSBITVRfbWVkaXVtX2xvdygpIGFzbSB2b2xhdGlsZSAoIm9y IDYsNiw2IikKKyAvKiBNZWRpdW0gcHJpb3JpdHkgKi8KKy0jZGVmaW5lIEhNVF9tZWRpdW0oKSBf X3BwY19zZXRfcHByX21lZCgpCisrI2RlZmluZSBITVRfbWVkaXVtKCkgYXNtIHZvbGF0aWxlICgi b3IgMiwyLDIiKQorIC8qIE1lZGl1bSBoaWdoIHByaW9yaXR5ICovCistI2RlZmluZSBITVRfbWVk aXVtX2hpZ2goKSBfX3BwY19zZXRfcHByX21lZF9oaWdoKCkKKysjZGVmaW5lIEhNVF9tZWRpdW1f aGlnaCgpIGFzbSB2b2xhdGlsZSgib3IgNSw1LDUiKQorIC8qIEhpZ2ggcHJpb3JpdHkgKi8KKyAj ZGVmaW5lIEhNVF9oaWdoKCkgYXNtIHZvbGF0aWxlKCJvciAzLDMsMyIpCisgI2Vsc2UKK0BAIC03 Miw3ICs3MSw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBNWV9SRUxBWF9DUFUodm9pZCkKKyAgIF9f YXNtX18gX192b2xhdGlsZV9fICgicGF1c2UiKTsKKyAjZW5kaWYKKyAjZWxpZiBkZWZpbmVkKF9B UkNIX1BXUjgpCistICBfX3BwY19nZXRfdGltZWJhc2UoKTsKKysgIF9fYnVpbHRpbl9wcGNfZ2V0 X3RpbWViYXNlKCk7CisgI2VsaWYgZGVmaW5lZCBfX0dOVUNfXyAmJiAoZGVmaW5lZCBfX2FybV9f IHx8IGRlZmluZWQgX19hYXJjaDY0X18pCisgICAvKiBNYWlubHksIHByZXZlbnQgdGhlIGNvbXBp bGVyIGZyb20gb3B0aW1pemluZyBhd2F5IGRlbGF5IGxvb3BzICovCisgICBfX2FzbV9fIF9fdm9s YXRpbGVfXyAoIiI6OjoibWVtb3J5Iik7CitkaWZmIC0tZ2l0IGEvc3RvcmFnZS90b2t1ZGIvUGVy Y29uYUZUL3BvcnRhYmlsaXR5L3Rva3VfdGltZS5oIGIvc3RvcmFnZS90b2t1ZGIvUGVyY29uYUZU L3BvcnRhYmlsaXR5L3Rva3VfdGltZS5oCitpbmRleCBjNGM0NWI4ZS4uMmY3YTA3ZjUgMTAwNjQ0 CistLS0gLi9zdG9yYWdlL3Rva3VkYi9QZXJjb25hRlQvcG9ydGFiaWxpdHkvdG9rdV90aW1lLmgK KysrKyAuL3N0b3JhZ2UvdG9rdWRiL1BlcmNvbmFGVC9wb3J0YWJpbGl0eS90b2t1X3RpbWUuaAor QEAgLTExMCw3ICsxMTAsNyBAQCBzdGF0aWMgaW5saW5lIHRva3V0aW1lX3QgdG9rdV90aW1lX25v dyh2b2lkKSB7CisgICAgIF9fYXNtIF9fdm9sYXRpbGVfXyAoIm1ycyAlW3J0XSwgY250dmN0X2Vs MCIgOiBbcnRdICI9ciIgKHJlc3VsdCkpOworICAgICByZXR1cm4gcmVzdWx0OworICNlbGlmIGRl ZmluZWQoX19wb3dlcnBjX18pCistICAgIHJldHVybiBfX3BwY19nZXRfdGltZWJhc2UoKTsKKysg ICAgcmV0dXJuIF9fYnVpbHRpbl9wcGNfZ2V0X3RpbWViYXNlKCk7CisgI2Vsc2UKKyAjZXJyb3Ig Tm8gdGltZXIgaW1wbGVtZW50YXRpb24gZm9yIHRoaXMgcGxhdGZvcm0KKyAjZW5kaWYKZGlmZiAt LWdpdCBhL3NyY3BrZ3MvbWFyaWFkYi9wYXRjaGVzL2F0b21pYy1maXgucGF0Y2ggYi9zcmNwa2dz L21hcmlhZGIvcGF0Y2hlcy9hdG9taWMtZml4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAwMC4uNGFkMDY3ODZmMTUwCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtn cy9tYXJpYWRiL3BhdGNoZXMvYXRvbWljLWZpeC5wYXRjaApAQCAtMCwwICsxLDEwOCBAQAorRm9y d2FyZGVkOiBodHRwczovL2dpdGh1Yi5jb20vTWFyaWFEQi9zZXJ2ZXIvcHVsbC8xNzE2CitBdXRo b3I6IFZpY2VuyJtpdSBDaW9yYmFydSA8dmljZW50aXVAbWFyaWFkYi5vcmc+CitEYXRlOiAgIEZy aSBEZWMgMjEgMTk6MTQ6MDQgMjAxOCArMDIwMAorCisgICBMaW5rIHdpdGggbGliYXRvbWljIHRv IGVuYWJsZSBDMTEgYXRvbWljcyBzdXBwb3J0CisKKyAgIFNvbWUgYXJjaGl0ZWN0dXJlcyAobWlw cykgcmVxdWlyZSBsaWJhdG9taWMgdG8gc3VwcG9ydCBwcm9wZXIKKyAgIGF0b21pYyBvcGVyYXRp b25zLiBDaGVjayBmaXJzdCBpZiBzdXBwb3J0IGlzIGF2YWlsYWJsZSB3aXRob3V0CisgICBsaW5r aW5nLCBvdGhlcndpc2UgdXNlIHRoZSBsaWJyYXJ5LgorCisgICBPcmlnaW5hbCBjb21taXQ6Cisg ICBEZXRlY3Qgd2hldGhlciBsaWJhdG9taWMgaXMgbmVlZGVkIHJhdGhlciB0aGFuIGhhcmQtY29k aW5nIGZvciBtaXBzCisKKyAgIEZpeGVzIEZUQkZTIG9uIHBvd2VycGMsIHNpbmNlIGl0IG5lZWRz IGxpYmF0b21pYyB0b28gZm9yIEMxMSBhdG9taWNzLAorICAgYW5kIHBvc3NpYmx5IG02OGsuCisK KyAgIENvbnRyaWJ1dG9yczoKKyAgIEphbWVzIENvd2dpbGwgPGpjb3dnaWxsQGRlYmlhbi5vcmc+ CisgICBKZXNzaWNhIENsYXJrZSA8anJ0YzI3QGRlYmlhbi5vcmc+CisKKy0tLSBjb25maWd1cmUu Y21ha2UKKysrKyBjb25maWd1cmUuY21ha2UKK0BAIC04NjIsNyArODYyLDI1IEBAIGludCBtYWlu KCkKKyAgIGxvbmcgbG9uZyBpbnQgKnB0cj0gJnZhcjsKKyAgIHJldHVybiAoaW50KV9fYXRvbWlj X2xvYWRfbihwdHIsIF9fQVRPTUlDX1NFUV9DU1QpOworIH0iCistSEFWRV9HQ0NfQzExX0FUT01J Q1MpCisrSEFWRV9HQ0NfQzExX0FUT01JQ1NfV0lUSE9VVF9MSUJBVE9NSUMpCisrSUYgKEhBVkVf R0NDX0MxMV9BVE9NSUNTX1dJVEhPVVRfTElCQVRPTUlDKQorKyAgU0VUKEhBVkVfR0NDX0MxMV9B VE9NSUNTIFRydWUpCisrRUxTRSgpCisrICBTRVQoT0xEX0NNQUtFX1JFUVVJUkVEX0xJQlJBUklF UyAke0NNQUtFX1JFUVVJUkVEX0xJQlJBUklFU30pCisrICBMSVNUKEFQUEVORCBDTUFLRV9SRVFV SVJFRF9MSUJSQVJJRVMgImF0b21pYyIpCisrICBDSEVDS19DWFhfU09VUkNFX0NPTVBJTEVTKCIK KysgIGludCBtYWluKCkKKysgIHsKKysgICAgbG9uZyBsb25nIGludCB2YXI9IDE7CisrICAgIGxv bmcgbG9uZyBpbnQgKnB0cj0gJnZhcjsKKysgICAgcmV0dXJuIChpbnQpX19hdG9taWNfbG9hZF9u KHB0ciwgX19BVE9NSUNfU0VRX0NTVCk7CisrICB9IgorKyAgSEFWRV9HQ0NfQzExX0FUT01JQ1Nf V0lUSF9MSUJBVE9NSUMpCisrICBJRihIQVZFX0dDQ19DMTFfQVRPTUlDU19XSVRIX0xJQkFUT01J QykKKysgICAgU0VUKEhBVkVfR0NDX0MxMV9BVE9NSUNTIFRydWUpCisrICBFTkRJRigpCisrICBT RVQoQ01BS0VfUkVRVUlSRURfTElCUkFSSUVTICR7T0xEX0NNQUtFX1JFUVVJUkVEX0xJQlJBUklF U30pCisrRU5ESUYoKQorCisgSUYoV0lUSF9WQUxHUklORCkKKyAgIFNFVChIQVZFX3ZhbGdyaW5k IDEpCistLS0gbXlzeXMvQ01ha2VMaXN0cy50eHQKKysrKyBteXN5cy9DTWFrZUxpc3RzLnR4dAor QEAgLTE1NCw2ICsxNTQsMTAgQEAgVEFSR0VUX0xJTktfTElCUkFSSUVTKG15c3lzIGRidWcgc3Ry aW5ncworICAke0xJQk5TTH0gJHtMSUJNfSAke0xJQlJUfSAke0NNQUtFX0RMX0xJQlN9ICR7TElC U09DS0VUfSAke0xJQkVYRUNJTkZPfSkKKyBEVFJBQ0VfSU5TVFJVTUVOVChteXN5cykKKworK0lG IChIQVZFX0dDQ19DMTFfQVRPTUlDU19XSVRIX0xJQkFUT01JQykKKysgIFRBUkdFVF9MSU5LX0xJ QlJBUklFUyhteXN5cyBhdG9taWMpCisrRU5ESUYoKQorKworIElGKEhBVkVfQkZEX0gpCisgICBU QVJHRVRfTElOS19MSUJSQVJJRVMobXlzeXMgYmZkKQorIEVORElGKEhBVkVfQkZEX0gpCistLS0g c3FsL0NNYWtlTGlzdHMudHh0CisrKysgc3FsL0NNYWtlTGlzdHMudHh0CitAQCAtMzE4LDYgKzMx OCwxMCBAQCBJRihXSVRIX01ZU1FMRF9MREZMQUdTKQorICAgICAgIiR7TVlTUUxEX0xJTktfRkxB R1N9ICR7V0lUSF9NWVNRTERfTERGTEFHU30iKQorIEVORElGKCkKKworK0lGIChIQVZFX0dDQ19D MTFfQVRPTUlDU19XSVRIX0xJQkFUT01JQykKKysgIFRBUkdFVF9MSU5LX0xJQlJBUklFUyhzcWwg YXRvbWljKQorK0VORElGKCkKKysKKworIEZJTkRfUEFDS0FHRShCSVNPTiAyLjApCisKK0Zyb20g ZjQ0N2FjYTUzNGQxYTEyODA5ZWViMTQ2ZTgyMjBkMzA1Y2MzODg0ZCBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKK0Zyb206IE1pbmdsaSBZdSA8bWluZ2xpLnl1QHdpbmRyaXZlci5jb20+CitEYXRl OiBUaHUsIDkgQXByIDIwMjAgMTQ6MDc6MTkgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gYnVpbGRf cm9ja3NkYi5jbWFrZTogZml4IGF0b21pYyBzdXBwb3J0IG9uIGFybQorCitDaGVjayB0byBsaW5r IHdpdGggbGliYXRvbWljIHRvIGVuYWJsZSBDMTEgYXRvbWljcyBzdXBwb3J0Cit0byBmaXggYmVs b3cgYnVpbGQgZXJyb3Igb24gYXJtOgorfCAvYnVpbGQvdG1wL3dvcmsvYXJtdjVlLXdycy1saW51 eC1nbnVlYWJpL21hcmlhZGIvMTAuMy4xMy1yMC9yZWNpcGUtc3lzcm9vdC1uYXRpdmUvdXNyL2Jp bi9hcm0td3JzLWxpbnV4LWdudWVhYmkvLi4vLi4vbGliZXhlYy9hcm0td3JzLWxpbnV4LWdudWVh YmkvZ2NjL2FybS13cnMtbGludXgtZ251ZWFiaS84LjMuMC9sZC5iZmQ6IGxpYnJvY2tzZGJsaWIu YShlbnZfcG9zaXguY2Mubyk6IGluIGZ1bmN0aW9uIGBzdGQ6Ol9fYXRvbWljX2Jhc2U8dW5zaWdu ZWQgbG9uZyBsb25nPjo6c3RvcmUodW5zaWduZWQgbG9uZyBsb25nLCBzdGQ6Om1lbW9yeV9vcmRl ciknOgorfCAvdXNyL2luY2x1ZGUvYysrLzguMy4wL2JpdHMvYXRvbWljX2Jhc2UuaDozNzQ6IHVu ZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9fYXRvbWljX3N0b3JlXzgnCisKK1Vwc3RyZWFtLVN0YXR1 czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBNaW5nbGkgWXUgPG1pbmdsaS55dUB3aW5kcml2 ZXIuY29tPgorLS0tCisgc3RvcmFnZS9yb2Nrc2RiL2J1aWxkX3JvY2tzZGIuY21ha2UgfCAzICsr KworIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL3N0b3Jh Z2Uvcm9ja3NkYi9idWlsZF9yb2Nrc2RiLmNtYWtlIGIvc3RvcmFnZS9yb2Nrc2RiL2J1aWxkX3Jv Y2tzZGIuY21ha2UKK2luZGV4IGQ3ODk1YjAuLjNiY2Q1MmEgMTAwNjQ0CistLS0gc3RvcmFnZS9y b2Nrc2RiL2J1aWxkX3JvY2tzZGIuY21ha2UKKysrKyBzdG9yYWdlL3JvY2tzZGIvYnVpbGRfcm9j a3NkYi5jbWFrZQorQEAgLTQ3MCw2ICs0NzAsOSBAQCBsaXN0KEFQUEVORCBTT1VSQ0VTICR7Q01B S0VfQ1VSUkVOVF9CSU5BUllfRElSfS9idWlsZF92ZXJzaW9uLmNjKQorCisgQUREX0NPTlZFTklF TkNFX0xJQlJBUlkocm9ja3NkYmxpYiAke1NPVVJDRVN9KQorIHRhcmdldF9saW5rX2xpYnJhcmll cyhyb2Nrc2RibGliICR7VEhJUkRQQVJUWV9MSUJTfSAke1NZU1RFTV9MSUJTfSkKKytJRiAoSEFW RV9HQ0NfQzExX0FUT01JQ1NfV0lUSF9MSUJBVE9NSUMpCisrICBUQVJHRVRfTElOS19MSUJSQVJJ RVMocm9ja3NkYmxpYiBhdG9taWMpCisrRU5ESUYoKQorIElGKENNQUtFX0NYWF9DT01QSUxFUl9J RCBNQVRDSEVTICJHTlUiIE9SIENNQUtFX0NYWF9DT01QSUxFUl9JRCBNQVRDSEVTICJDbGFuZyIp CisgICBzZXRfdGFyZ2V0X3Byb3BlcnRpZXMocm9ja3NkYmxpYiBQUk9QRVJUSUVTIENPTVBJTEVf RkxBR1MgIi1mUElDIC1mbm8tYnVpbHRpbi1tZW1jbXAgLVduby1lcnJvciIpCisgZW5kaWYoKQor LS0KKzIuNy40CmRpZmYgLS1naXQgYS9zcmNwa2dzL21hcmlhZGIvcGF0Y2hlcy9jMTFfYXRvbWlj cy5wYXRjaCBiL3NyY3BrZ3MvbWFyaWFkYi9wYXRjaGVzL2MxMV9hdG9taWNzLnBhdGNoCmRlbGV0 ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkYTg0YzEyYTBlMTQuLjAwMDAwMDAwMDAwMAotLS0g YS9zcmNwa2dzL21hcmlhZGIvcGF0Y2hlcy9jMTFfYXRvbWljcy5wYXRjaAorKysgL2Rldi9udWxs CkBAIC0xLDEyOCArMCwwIEBACi1Gcm9tOiBEZWJpYW4gTXlTUUwgTWFpbnRhaW5lcnMgPHBrZy1t eXNxbC1tYWludEBsaXN0cy5hbGlvdGguZGViaWFuLm9yZz4KLURhdGU6IFRodSwgMTAgQXVnIDIw MTcgMjA6NDA6MjkgKzAyMDAKLVN1YmplY3Q6IGMxMV9hdG9taWNzCi0KLS0tLQotIGNvbmZpZ3Vy ZS5jbWFrZSAgICAgICAgICAgICAgIHwgMjMgKysrKysrKysrKysrKysrKysrKysrLS0KLSBpbmNs dWRlL2F0b21pYy9nY2NfYnVpbHRpbnMuaCB8IDE1ICsrKysrKysrKysrKysrKwotIGluY2x1ZGUv YXRvbWljL25vbG9jay5oICAgICAgIHwgIDQgKystLQotIG15c3lzL0NNYWtlTGlzdHMudHh0ICAg ICAgICAgIHwgIDQgKysrKwotIHNxbC9DTWFrZUxpc3RzLnR4dCAgICAgICAgICAgIHwgIDQgKysr KwotIDUgZmlsZXMgY2hhbmdlZCwgNDYgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKLQot LS0tIGNvbmZpZ3VyZS5jbWFrZQotKysrIGNvbmZpZ3VyZS5jbWFrZQotQEAgLTEyOCw3ICsxMjgs NyBAQCBJRihVTklYKQotICAgRU5ESUYoKQotICAgRklORF9QQUNLQUdFKFRocmVhZHMpCi0gCi0t ICBTRVQoQ01BS0VfUkVRVUlSRURfTElCUkFSSUVTIAotKyAgTElTVChBUFBFTkQgQ01BS0VfUkVR VUlSRURfTElCUkFSSUVTCi0gICAgICR7TElCTX0gJHtMSUJOU0x9ICR7TElCQklORH0gJHtMSUJD UllQVH0gJHtMSUJTT0NLRVR9ICR7TElCREx9ICR7Q01BS0VfVEhSRUFEX0xJQlNfSU5JVH0gJHtM SUJSVH0gJHtMSUJFWEVDSU5GT30pCi0gICAjIE5lZWQgZXhwbGljaXQgcHRocmVhZCBmb3IgZ2Nj IC1mc2FuaXRpemU9YWRkcmVzcwotICAgSUYoQ01BS0VfVVNFX1BUSFJFQURTX0lOSVQgQU5EIENN QUtFX0NfRkxBR1MgTUFUQ0hFUyAiLWZzYW5pdGl6ZT0iKQotQEAgLTEwMzgsNyArMTAzOCwyNiBA QCBFTFNFSUYoTk9UIFdJVEhfQVRPTUlDX09QUykKLSAgICAgbG9uZyBsb25nIGludCAqcHRyPSAm dmFyOwotICAgICByZXR1cm4gKGludClfX2F0b21pY19sb2FkX24ocHRyLCBfX0FUT01JQ19TRVFf Q1NUKTsKLSAgIH0iCi0tICBIQVZFX0dDQ19DMTFfQVRPTUlDUykKLSsgIEhBVkVfR0NDX0MxMV9B VE9NSUNTX1dJVEhPVVRfTElCQVRPTUlDKQotKyAgSUYoSEFWRV9HQ0NfQzExX0FUT01JQ1NfV0lU SE9VVF9MSUJBVE9NSUMpCi0rICAgIFNFVChIQVZFX0dDQ19DMTFfQVRPTUlDUyBUcnVlKQotKyAg RUxTRSgpCi0rICAgIFNFVChPTERfQ01BS0VfUkVRVUlSRURfTElCUkFSSUVTICR7Q01BS0VfUkVR VUlSRURfTElCUkFSSUVTfSkKLSsgICAgTElTVChBUFBFTkQgQ01BS0VfUkVRVUlSRURfTElCUkFS SUVTICJhdG9taWMiKQotKyAgICBDSEVDS19DWFhfU09VUkNFX0NPTVBJTEVTKCIKLSsgICAgaW50 IG1haW4oKQotKyAgICB7Ci0rICAgICAgbG9uZyBsb25nIGludCB2YXI9IDE7Ci0rICAgICAgbG9u ZyBsb25nIGludCAqcHRyPSAmdmFyOwotKyAgICAgIHJldHVybiAoaW50KV9fYXRvbWljX2xvYWRf bihwdHIsIF9fQVRPTUlDX1NFUV9DU1QpOwotKyAgICB9IgotKyAgICBIQVZFX0dDQ19DMTFfQVRP TUlDU19XSVRIX0xJQkFUT01JQykKLSsgICAgSUYoSEFWRV9HQ0NfQzExX0FUT01JQ1NfV0lUSF9M SUJBVE9NSUMpCi0rICAgICAgU0VUKEhBVkVfR0NDX0MxMV9BVE9NSUNTIFRydWUpCi0rICAgIEVM U0UoKQotKyAgICAgIFNFVChDTUFLRV9SRVFVSVJFRF9MSUJSQVJJRVMgJHtPTERfQ01BS0VfUkVR VUlSRURfTElCUkFSSUVTfSkKLSsgICAgRU5ESUYoKQotKyAgRU5ESUYoKQotIEVMU0UoKQotICAg TUVTU0FHRShGQVRBTF9FUlJPUiAiJHtXSVRIX0FUT01JQ19PUFN9IGlzIG5vdCBhIHZhbGlkIHZh bHVlIGZvciBXSVRIX0FUT01JQ19PUFMhIikKLSBFTkRJRigpCi0tLS0gaW5jbHVkZS9hdG9taWMv Z2NjX2J1aWx0aW5zLmgKLSsrKyBpbmNsdWRlL2F0b21pYy9nY2NfYnVpbHRpbnMuaAotQEAgLTE2 LDYgKzE2LDcgQEAKLSAgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0 byB0aGUgRnJlZSBTb2Z0d2FyZQotICAgIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0 LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzM1ICBVU0EgKi8KLSAKLSsjaWYgZGVm aW5lZCAoSEFWRV9HQ0NfQVRPTUlDX0JVSUxUSU5TKQotICNkZWZpbmUgbWFrZV9hdG9taWNfYWRk X2JvZHkoUykgICAgICAgICAgICAgICAgICAgICBcCi0gICB2PSBfX3N5bmNfZmV0Y2hfYW5kX2Fk ZChhLCB2KTsKLSAjZGVmaW5lIG1ha2VfYXRvbWljX2Zhc19ib2R5KFMpICAgICAgICAgICAgICAg ICAgICAgXAotQEAgLTI2LDYgKzI3LDIwIEBACi0gICBzYXY9IF9fc3luY192YWxfY29tcGFyZV9h bmRfc3dhcChhLCBjbXBfdmFsLCBzZXQpO1wKLSAgIGlmICghKHJldD0gKHNhdiA9PSBjbXBfdmFs KSkpICpjbXA9IHNhdgotIAotKyNlbGlmIGRlZmluZWQoSEFWRV9HQ0NfQzExX0FUT01JQ1MpCi0r Ci0rI2RlZmluZSBtYWtlX2F0b21pY19hZGRfYm9keShTKSAgICAgICAgICAgICAgICAgICAgIFwK LSsgIHY9IF9fYXRvbWljX2ZldGNoX2FkZChhLCB2LCBfX0FUT01JQ19TRVFfQ1NUKQotKyNkZWZp bmUgbWFrZV9hdG9taWNfZmFzX2JvZHkoUykgICAgICAgICAgICAgICAgICAgICBcCi0rICB2PSBf X2F0b21pY19leGNoYW5nZV9uKGEsIHYsIF9fQVRPTUlDX1NFUV9DU1QpCi0rI2RlZmluZSBtYWtl X2F0b21pY19jYXNfYm9keShTKSAgICAgICAgICAgICAgICAgICAgIFwKLSsgIGludCAjIyBTIHNh djsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotKyAgcmV0PSBfX2F0b21p Y19jb21wYXJlX2V4Y2hhbmdlX24oYSwgY21wLCBzZXQsICAgICBcCi0rICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAwLCAgICAgICAgICAgICAgIFwKLSsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF9fQVRPTUlDX1NFUV9DU1QsXAotKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgX19BVE9NSUNfU0VRX0NTVCk7Ci0rI2VuZGlmCi0rCi0gI2lmZGVm IE1ZX0FUT01JQ19NT0RFX0RVTU1ZCi0gI2RlZmluZSBtYWtlX2F0b21pY19sb2FkX2JvZHkoUykg ICByZXQ9ICphCi0gI2RlZmluZSBtYWtlX2F0b21pY19zdG9yZV9ib2R5KFMpICAqYT0gdgotLS0t IGluY2x1ZGUvYXRvbWljL25vbG9jay5oCi0rKysgaW5jbHVkZS9hdG9taWMvbm9sb2NrLmgKLUBA IC0xNyw3ICsxNyw3IEBACi0gICAgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZp ZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMzUgIFVTQSAqLwotIAotICNpZiBkZWZpbmVk KF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9NU0NfVkVSKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pICAg XAotLSAgICB8fCBkZWZpbmVkKEhBVkVfR0NDX0FUT01JQ19CVUlMVElOUykgXAotKyAgICB8fCBk ZWZpbmVkKEhBVkVfR0NDX0FUT01JQ19CVUlMVElOUykgfHwgZGVmaW5lZChIQVZFX0dDQ19DMTFf QVRPTUlDUykgXAotICAgICB8fCBkZWZpbmVkKEhBVkVfU09MQVJJU19BVE9NSUMpCi0gCi0gIyAg aWZkZWYgTVlfQVRPTUlDX01PREVfRFVNTVkKLUBAIC00MSw3ICs0MSw3IEBACi0gIyAgZWxpZiBf X0dOVUNfXwotICMgICAgaWYgZGVmaW5lZChIQVZFX1NPTEFSSVNfQVRPTUlDKQotICMgICAgICBp bmNsdWRlICJzb2xhcmlzLmgiCi0tIyAgICBlbGlmIGRlZmluZWQoSEFWRV9HQ0NfQVRPTUlDX0JV SUxUSU5TKQotKyMgICAgZWxpZiBkZWZpbmVkKEhBVkVfR0NDX0FUT01JQ19CVUlMVElOUykgfHwg ZGVmaW5lZChIQVZFX0dDQ19DMTFfQVRPTUlDUykKLSAjICAgICAgaW5jbHVkZSAiZ2NjX2J1aWx0 aW5zLmgiCi0gIyAgICBlbGlmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRf XykKLSAjICAgICAgaW5jbHVkZSAieDg2LWdjYy5oIgotLS0tIG15c3lzL0NNYWtlTGlzdHMudHh0 Ci0rKysgbXlzeXMvQ01ha2VMaXN0cy50eHQKLUBAIC03OSw2ICs3OSwxMCBAQCBJRihIQVZFX0JG RF9IKQotICAgVEFSR0VUX0xJTktfTElCUkFSSUVTKG15c3lzIGJmZCkgIAotIEVORElGKEhBVkVf QkZEX0gpCi0gCi0rSUYoSEFWRV9HQ0NfQzExX0FUT01JQ1NfV0lUSF9MSUJBVE9NSUMpCi0rICBU QVJHRVRfTElOS19MSUJSQVJJRVMobXlzeXMgYXRvbWljKQotK0VORElGKCkKLSsKLSBJRiAoV0lO MzIpCi0gICBUQVJHRVRfTElOS19MSUJSQVJJRVMobXlzeXMgSVBITFBBUEkpICAKLSBFTkRJRihX SU4zMikKLS0tLSBzcWwvQ01ha2VMaXN0cy50eHQKLSsrKyBzcWwvQ01ha2VMaXN0cy50eHQKLUBA IC0xNjUsNiArMTY1LDEwIEBAIFRBUkdFVF9MSU5LX0xJQlJBUklFUyhzcWwgJHtNWVNRTERfU1RB VEkKLSAgICR7U1NMX0xJQlJBUklFU30KLSAgICR7TElCU1lTVEVNRH0pCi0gCi0rSUYoSEFWRV9H Q0NfQzExX0FUT01JQ1NfV0lUSF9MSUJBVE9NSUMpCi0rICBUQVJHRVRfTElOS19MSUJSQVJJRVMo c3FsIGF0b21pYykKLStFTkRJRigpCi0rCi0gSUYoV0lOMzIpCi0gICBTRVQoTVlTUUxEX1NPVVJD RSBtYWluLmNjIG50X3NlcnZjLmNjIG1lc3NhZ2UucmMpCi0gICBUQVJHRVRfTElOS19MSUJSQVJJ RVMoc3FsIHBzYXBpKQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9tYXJpYWRiL3BhdGNoZXMvZml4LWNy b3NzLnBhdGNoIGIvc3JjcGtncy9tYXJpYWRiL3BhdGNoZXMvZml4LWNyb3NzLnBhdGNoCmluZGV4 IDI0NjA1ZGFlODg1MS4uMGY4MzZmZTVjMzI4IDEwMDY0NAotLS0gYS9zcmNwa2dzL21hcmlhZGIv cGF0Y2hlcy9maXgtY3Jvc3MucGF0Y2gKKysrIGIvc3JjcGtncy9tYXJpYWRiL3BhdGNoZXMvZml4 LWNyb3NzLnBhdGNoCkBAIC0xLDE3ICsxLDEyMSBAQAotLS0tIC4vQ01ha2VMaXN0cy50eHQub3Jp ZwkyMDE1LTA5LTE3IDE1OjQ3OjU5Ljc5NDc4NDExMSAtMDQwMAotKysrIC4vQ01ha2VMaXN0cy50 eHQJMjAxNS0wOS0xOSAxOTo0MjoxNi43NTEzNDg0NzMgLTA0MDAKLUBAIC0zNjIsMTAgKzM3Niwx MCBAQAotIAotIENIRUNLX1BDUkUoKQotIAorLS0tIENNYWtlTGlzdHMudHh0Lm9yaWcJMjAyMS0w NC0xMSAxMjozNzo0Mi43NjY0ODM4NjAgKzAyMDAKKysrKyBDTWFrZUxpc3RzLnR4dAkyMDIxLTA0 LTExIDEzOjA1OjQ5LjQ5MTk3NjM3NCArMDIwMAorQEAgLTM5Nyw3ICszOTcsNyBAQAorCisgQ0hF Q0tfU1lTVEVNRCgpCisKIC1JRihDTUFLRV9DUk9TU0NPTVBJTElORykKLS0gIFNFVChJTVBPUlRf RVhFQ1VUQUJMRVMgIklNUE9SVEZJTEUtTk9URk9VTkQiIENBQ0hFIEZJTEVQQVRIICJQYXRoIHRv IGltcG9ydF9leGVjdXRhYmxlcy5jbWFrZSBmcm9tIGEgbmF0aXZlIGJ1aWxkIikKLS0gIElOQ0xV REUoJHtJTVBPUlRfRVhFQ1VUQUJMRVN9KQotLUVORElGKCkKLSsjIElGKENNQUtFX0NST1NTQ09N UElMSU5HKQotKyMgICBTRVQoSU1QT1JUX0VYRUNVVEFCTEVTICJJTVBPUlRGSUxFLU5PVEZPVU5E IiBDQUNIRSBGSUxFUEFUSCAiUGF0aCB0byBpbXBvcnRfZXhlY3V0YWJsZXMuY21ha2UgZnJvbSBh IG5hdGl2ZSBidWlsZCIpCi0rIyAgIElOQ0xVREUoJHtJTVBPUlRfRVhFQ1VUQUJMRVN9KQotKyMg RU5ESUYoKQotIAotICMKLSAjIFNldHVwIG1haW50YWluZXIgbW9kZSBvcHRpb25zLiBQbGF0Zm9y bSBjaGVja3MgYXJlCisrSUYoQ01BS0VfQ1JPU1NDT01QSUxJTkcgQU5EIE5PVCBERUZJTkVEIENN QUtFX0NST1NTQ09NUElMSU5HX0VNVUxBVE9SKQorICAgU0VUKElNUE9SVF9FWEVDVVRBQkxFUyAi SU1QT1JURklMRS1OT1RGT1VORCIgQ0FDSEUgRklMRVBBVEggIlBhdGggdG8gaW1wb3J0X2V4ZWN1 dGFibGVzLmNtYWtlIGZyb20gYSBuYXRpdmUgYnVpbGQiKQorICAgSU5DTFVERSgke0lNUE9SVF9F WEVDVVRBQkxFU30pCisgRU5ESUYoKQorQEAgLTQ3OSw3ICs0NzksNyBAQAorIEFERF9TVUJESVJF Q1RPUlkoc3VwcG9ydC1maWxlcykKKyBBRERfU1VCRElSRUNUT1JZKGV4dHJhL2F3c19zZGspCisK Ky1JRihOT1QgQ01BS0VfQ1JPU1NDT01QSUxJTkcpCisrSUYoTk9UIENNQUtFX0NST1NTQ09NUElM SU5HIE9SIERFRklORUQgQ01BS0VfQ1JPU1NDT01QSUxJTkdfRU1VTEFUT1IpCisgICBTRVQoRVhQ T1JURUQgY29tcF9lcnIgY29tcF9zcWwgZmFjdG9yaWFsKQorICAgSUYoTk9UIFdJVEhPVVRfU0VS VkVSKQorICAgICBTRVQoRVhQT1JURUQgJHtFWFBPUlRFRH0gZ2VuX2xleF9oYXNoIGdlbl9sZXhf dG9rZW4pCisKKy0tLSBjb25maWd1cmUuY21ha2Uub3JpZwkyMDIxLTA0LTExIDEzOjQ1OjM5LjE0 MzczMzA4OSArMDIwMAorKysrIGNvbmZpZ3VyZS5jbWFrZQkyMDIxLTA0LTExIDEzOjQ2OjA2LjM3 ODczMDMxNiArMDIwMAorQEAgLTY2OCw3ICs2NjgsNyBAQAorICIgSEFWRV9QVEhSRUFEX1lJRUxE X1pFUk9fQVJHKQorCisgSUYoTk9UIFNUQUNLX0RJUkVDVElPTikKKy0gIElGKENNQUtFX0NST1NT Q09NUElMSU5HKQorKyAgSUYoQ01BS0VfQ1JPU1NDT01QSUxJTkcgQU5EIE5PVCBERUZJTkVEIENN QUtFX0NST1NTQ09NUElMSU5HX0VNVUxBVE9SKQorICAgIE1FU1NBR0UoRkFUQUxfRVJST1IKKyAg ICAiU1RBQ0tfRElSRUNUSU9OIGlzIG5vdCBkZWZpbmVkLiAgUGxlYXNlIHNwZWNpZnkgLURTVEFD S19ESVJFQ1RJT049MSAiCisgICAgIm9yIC1EU1RBQ0tfRElSRUNUSU9OPS0xIHdoZW4gY2FsbGlu ZyBjbWFrZS4iKQorCistLS0gc3RvcmFnZS9tcm9vbmdhL3ZlbmRvci9ncm9vbmdhL0NNYWtlTGlz dHMudHh0Lm9yaWcJMjAyMS0wNC0xMSAxMzo0ODoyMi4yNDk3MTY0ODQgKzAyMDAKKysrKyBzdG9y YWdlL21yb29uZ2EvdmVuZG9yL2dyb29uZ2EvQ01ha2VMaXN0cy50eHQJMjAyMS0wNC0xMSAxMzo0 OTo0NC4wNTA3MDgxNTYgKzAyMDAKK0BAIC00MDUsNyArNDA1LDcgQEAKKyAgICAgc2V0KE1FQ0FC X0xJQlJBUklFUyBsaWJtZWNhYikKKyAgIGVsc2UoKQorICAgICBzZXQoR1JOX01FQ0FCX0NPTkZJ RyAibWVjYWItY29uZmlnIiBDQUNIRSBGSUxFUEFUSCAibWVjYWItY29uZmlnIHBhdGgiKQorLSAg ICBpZihOT1QgQ01BS0VfQ1JPU1NDT01QSUxJTkcpCisrICAgIGlmKE5PVCBDTUFLRV9DUk9TU0NP TVBJTElORyBPUiBERUZJTkVEIENNQUtFX0NST1NTQ09NUElMSU5HX0VNVUxBVE9SKQorICAgICAg IGZpbmRfcHJvZ3JhbShHUk5fTUVDQUJfQ09ORklHX0FCU09MVVRFX1BBVEggIiR7R1JOX01FQ0FC X0NPTkZJR30iKQorICAgICBlbmRpZigpCisgICAgIGlmKEVYSVNUUyAiJHtHUk5fTUVDQUJfQ09O RklHX0FCU09MVVRFX1BBVEh9IikKKworLS0tIHN0b3JhZ2UvaW5ub2Jhc2UvaW5ub2RiLmNtYWtl Lm9yaWcJMjAyMS0wNC0xMSAxMzo1MjozOS4xMjk2OTAzMzEgKzAyMDAKKysrKyBzdG9yYWdlL2lu bm9iYXNlL2lubm9kYi5jbWFrZQkyMDIxLTA0LTExIDEzOjUzOjAzLjY1NjY4NzgzNCArMDIwMAor QEAgLTM2LDcgKzM2LDcgQEAKKworIElOQ0xVREUoJHtNWVNRTF9DTUFLRV9TQ1JJUFRfRElSfS9j b21waWxlX2ZsYWdzLmNtYWtlKQorCistSUYoQ01BS0VfQ1JPU1NDT01QSUxJTkcpCisrSUYoQ01B S0VfQ1JPU1NDT01QSUxJTkcgQU5EIE5PVCBERUZJTkVEIENNQUtFX0NST1NTQ09NUElMSU5HX0VN VUxBVE9SKQorICAgIyBVc2UgQ0hFQ0tfQ19TT1VSQ0VfQ09NUElMRVMgaW5zdGVhZCBvZiBDSEVD S19DX1NPVVJDRV9SVU5TIHdoZW4KKyAgICMgY3Jvc3MtY29tcGlsaW5nLiBOb3QgYXMgcHJlY2lz ZSwgYnV0IHVzdWFsbHkgZ29vZCBlbm91Z2guCisgICAjIFRoaXMgb25seSBtYWtlIHNlbnNlIGZv ciBhdG9taWMgdGVzdHMgaW4gdGhpcyBmaWxlLCB0aGlzIHRyaWNrIGRvZXNuJ3QKKworLS0tIHNx bC9DTWFrZUxpc3RzLnR4dC5vcmlnCTIwMjEtMDQtMTEgMTM6NTQ6NDMuNDY5Njc3NjczICswMjAw CisrKysgc3FsL0NNYWtlTGlzdHMudHh0CTIwMjEtMDQtMTEgMTM6NTU6NDYuMzM3NjcxMjcyICsw MjAwCitAQCAtMzU2LDcgKzM1Niw3IEBACisgICAgICAgICAgICAgIENPTVBJTEVfRkxBR1MgIi1w IE9SQSIpCisgRU5ESUYoKQorCistSUYoTk9UIENNQUtFX0NST1NTQ09NUElMSU5HKQorK0lGKE5P VCBDTUFLRV9DUk9TU0NPTVBJTElORyBPUiBERUZJTkVEIENNQUtFX0NST1NTQ09NUElMSU5HX0VN VUxBVE9SKQorICAgQUREX0VYRUNVVEFCTEUoZ2VuX2xleF90b2tlbiBnZW5fbGV4X3Rva2VuLmNj CisgICAgJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9L3NxbF95YWNjLmhoKQorICAgQUREX0VY RUNVVEFCTEUoZ2VuX2xleF9oYXNoIGdlbl9sZXhfaGFzaC5jYykKK0BAIC00MDYsNyArNDA2LDcg QEAKKyAgICkKKworICMgSW5zdGFsbCBpbml0aWFsIGRhdGFiYXNlIChkZWZhdWx0IG9uIHdpbmRv d3MsIG9wdGlvbmFsIHRhcmdldCBlbHNld2hlcmUpCistSUYoVEFSR0VUIG1hcmlhZGJkIEFORCBO T1QgQ01BS0VfQ1JPU1NDT01QSUxJTkcpCisrSUYoVEFSR0VUIG1hcmlhZGJkIEFORCAoTk9UIENN QUtFX0NST1NTQ09NUElMSU5HIE9SIERFRklORUQgQ01BS0VfQ1JPU1NDT01QSUxJTkdfRU1VTEFU T1IpKQorICAgSUYoR0VORVJBVE9SX0lTX01VTFRJX0NPTkZJRykKKyAgICAgU0VUIChDT05GSUdf UEFSQU0gLURDT05GSUc9JHtDTUFLRV9DRkdfSU5URElSfSkKKyAgIEVORElGKCkKKworLS0tIHNj cmlwdHMvQ01ha2VMaXN0cy50eHQub3JpZwkyMDIxLTA0LTExIDEzOjU3OjMwLjA4ODY2MDcxMCAr MDIwMAorKysrIHNjcmlwdHMvQ01ha2VMaXN0cy50eHQJMjAyMS0wNC0xMSAxMzo1ODoxMi40ODY2 NTYzOTMgKzAyMDAKK0BAIC0yOCwxNCArMjgsMTQgQEAKKyAgICkKKyBFTkRNQUNSTygpCisKKy1J RihOT1QgQ01BS0VfQ1JPU1NDT01QSUxJTkcpCisrSUYoTk9UIENNQUtFX0NST1NTQ09NUElMSU5H IE9SIERFRklORUQgQ01BS0VfQ1JPU1NDT01QSUxJTkdfRU1VTEFUT1IpCisgIElOQ0xVREVfRElS RUNUT1JJRVMoJHtDTUFLRV9TT1VSQ0VfRElSfS9pbmNsdWRlKQorICBBRERfRVhFQ1VUQUJMRShj b21wX3NxbCBjb21wX3NxbC5jKQorICBUQVJHRVRfTElOS19MSUJSQVJJRVMoY29tcF9zcWwpCisg RU5ESUYoKQorCisgIyBCdWlsZCBteXNxbF9maXhfcHJpdmlsZWdlX3RhYmxlcy5zcWwgKGNvbmNh dGVuYXRlIDMgc3FsIHNjcmlwdHMpCistSUYoTk9UIFdJTjMyIE9SIENNQUtFX0NST1NTQ09NUElM SU5HKQorK0lGKE5PVCBXSU4zMiBPUiAoQ01BS0VfQ1JPU1NDT01QSUxJTkcgQU5EIE5PVCBERUZJ TkVEIENNQUtFX0NST1NTQ09NUElMSU5HX0VNVUxBVE9SKSkKKyAgIEZJTkRfUFJPR1JBTShDQVRf RVhFQ1VUQUJMRSBjYXQgRE9DICJwYXRoIHRvIHRoZSBleGVjdXRhYmxlIikKKyAgIE1BUktfQVNf QURWQU5DRUQoQ0FUX0VYRUNVVEFCTEUpCisgRU5ESUYoKQorCistLS0gZXh0cmEvQ01ha2VMaXN0 cy50eHQub3JpZwkyMDIxLTA0LTExIDE0OjAyOjU1LjA0ODYyNzYyNiArMDIwMAorKysrIGV4dHJh L0NNYWtlTGlzdHMudHh0CTIwMjEtMDQtMTEgMTQ6MDM6MjQuMTM2NjI0NjY1ICswMjAwCitAQCAt MTgsNyArMTgsNyBAQAorICMgRGVmYXVsdCBpbnN0YWxsIGNvbXBvbmVudCBmb3IgdGhlIGZpbGVz IGlzIFNlcnZlciBoZXJlCisgU0VUKE1ZU1FMX0lOU1RBTExfQ09NUE9ORU5UIFNlcnZlcikKKwor LUlGKE5PVCBDTUFLRV9DUk9TU0NPTVBJTElORykKKytJRihOT1QgQ01BS0VfQ1JPU1NDT01QSUxJ TkcgT1IgREVGSU5FRCBDTUFLRV9DUk9TU0NPTVBJTElOR19FTVVMQVRPUikKKyAgQUREX0VYRUNV VEFCTEUoY29tcF9lcnIgY29tcF9lcnIuYykKKyAgVEFSR0VUX0xJTktfTElCUkFSSUVTKGNvbXBf ZXJyIG15c3lzKQorIEVORElGKCkKKworLS0tIGRidWcvQ01ha2VMaXN0cy50eHQub3JpZwkyMDIx LTA0LTExIDE0OjEyOjM5Ljc0NDU2ODEwMCArMDIwMAorKysrIGRidWcvQ01ha2VMaXN0cy50eHQJ MjAyMS0wNC0xMSAxNDoxMzowMi41ODg1NjU3NzQgKzAyMDAKK0BAIC0yNSw3ICsyNSw3IEBACisg QUREX0VYRUNVVEFCTEUodGVzdHMgdGVzdHMuYykKKyBUQVJHRVRfTElOS19MSUJSQVJJRVModGVz dHMgZGJ1ZykKKworLUlGKE5PVCBDTUFLRV9DUk9TU0NPTVBJTElORykKKytJRihOT1QgQ01BS0Vf Q1JPU1NDT01QSUxJTkcgT1IgREVGSU5FRCBDTUFLRV9DUk9TU0NPTVBJTElOR19FTVVMQVRPUikK KyAgIEFERF9FWEVDVVRBQkxFKGZhY3RvcmlhbCBteV9tYWluLmMgZmFjdG9yaWFsLmMpCisgICBU QVJHRVRfTElOS19MSUJSQVJJRVMoZmFjdG9yaWFsIGRidWcpCisgRU5ESUYoKQpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9tYXJpYWRiL3BhdGNoZXMvbWlwcy1jb25uZWN0LXVuYWxpZ25lZC5wYXRjaCBi L3NyY3BrZ3MvbWFyaWFkYi9wYXRjaGVzL21pcHMtY29ubmVjdC11bmFsaWduZWQucGF0Y2gKZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFlMmY2ZTAzZDJlYy4uMDAwMDAwMDAwMDAwCi0t LSBhL3NyY3BrZ3MvbWFyaWFkYi9wYXRjaGVzL21pcHMtY29ubmVjdC11bmFsaWduZWQucGF0Y2gK KysrIC9kZXYvbnVsbApAQCAtMSwyNTcgKzAsMCBAQAotRnJvbTogRGViaWFuIE15U1FMIE1haW50 YWluZXJzIDxwa2ctbXlzcWwtbWFpbnRAbGlzdHMuYWxpb3RoLmRlYmlhbi5vcmc+Ci1EYXRlOiBU aHUsIDEwIEF1ZyAyMDE3IDIwOjQwOjI4ICswMjAwCi1TdWJqZWN0OiBtaXBzLWNvbm5lY3QtdW5h bGlnbmVkCi0KLS0tLQotIHN0b3JhZ2UvY29ubmVjdC92YWxibGsuY3BwIHwgNDEgKysrKysrKysr KysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLQotIHN0b3JhZ2UvY29ubmVjdC92YWxibGsuaCAg IHwgNTEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLQotIDIg ZmlsZXMgY2hhbmdlZCwgNTIgaW5zZXJ0aW9ucygrKSwgNDAgZGVsZXRpb25zKC0pCi0KLS0tLSBz dG9yYWdlL2Nvbm5lY3QvdmFsYmxrLmNwcAotKysrIHN0b3JhZ2UvY29ubmVjdC92YWxibGsuY3Bw Ci1AQCAtMjY4LDE0ICsyNjgsMTQgQEAgYm9vbCBUWVBCTEs8VFlQRT46OkluaXQoUEdMT0JBTCBn LCBib29sCi0gdGVtcGxhdGUgPGNsYXNzIFRZUEU+Ci0gY2hhciAqVFlQQkxLPFRZUEU+OjpHZXRD aGFyU3RyaW5nKGNoYXIgKnAsIGludCBuKQotICAgewotLSAgc3ByaW50ZihwLCBGbXQsIFR5cHBb bl0pOwotKyAgc3ByaW50ZihwLCBGbXQsIFVuYWxpZ25lZFJlYWQobikpOwotICAgcmV0dXJuIHA7 Ci0gICB9IC8vIGVuZCBvZiBHZXRDaGFyU3RyaW5nCi0gCi0gdGVtcGxhdGUgPD4KLSBjaGFyICpU WVBCTEs8ZG91YmxlPjo6R2V0Q2hhclN0cmluZyhjaGFyICpwLCBpbnQgbikKLSAgIHsKLS0gIHNw cmludGYocCwgRm10LCBQcmVjLCBUeXBwW25dKTsKLSsgIHNwcmludGYocCwgRm10LCBQcmVjLCBV bmFsaWduZWRSZWFkKG4pKTsKLSAgIHJldHVybiBwOwotICAgfSAvLyBlbmQgb2YgR2V0Q2hhclN0 cmluZwotIAotQEAgLTI5MSw3ICsyOTEsNyBAQCB2b2lkIFRZUEJMSzxUWVBFPjo6U2V0VmFsdWUo UFZBTCB2YWxwLCBpCi0gICBDaGtUeXAodmFscCk7Ci0gCi0gICBpZiAoIShiID0gdmFscC0+SXNO dWxsKCkpKQotLSAgICBUeXBwW25dID0gR2V0VHlwZWRWYWx1ZSh2YWxwKTsKLSsgICAgVW5hbGln bmVkV3JpdGUobiwgR2V0VHlwZWRWYWx1ZSh2YWxwKSk7Ci0gICBlbHNlCi0gICAgIFJlc2V0KG4p OwotIAotQEAgLTM1Myw5ICszNTMsOSBAQCB2b2lkIFRZUEJMSzxUWVBFPjo6U2V0VmFsdWUoUENT WiBwLCBpbnQKLSAgIHVsb25nbG9uZyB2YWwgPSBDaGFyVG9OdW1iZXIocCwgc3RybGVuKHApLCBt YXh2YWwsIFVuc2lnbmVkLCAmbWludXMpOyAKLSAgICAgCi0gICBpZiAobWludXMgJiYgdmFsIDwg bWF4dmFsKQotLSAgICBUeXBwW25dID0gKFRZUEUpKC0oc2lnbmVkKXZhbCk7Ci0rICAgIFVuYWxp Z25lZFdyaXRlKG4sIChUWVBFKSgtKHNpZ25lZCl2YWwpKTsKLSAgIGVsc2UKLS0gICAgVHlwcFtu XSA9IChUWVBFKXZhbDsKLSsgICAgVW5hbGlnbmVkV3JpdGUobiwgKFRZUEUpdmFsKTsKLSAKLSAg IFNldE51bGwobiwgZmFsc2UpOwotICAgfSAvLyBlbmQgb2YgU2V0VmFsdWUKLUBAIC0zOTgsNyAr Mzk4LDcgQEAgdm9pZCBUWVBCTEs8ZG91YmxlPjo6U2V0VmFsdWUoUENTWiBwLCBpbgotIAkJdGhy b3cgVHlwZTsKLSAJfSAvLyBlbmRpZiBDaGVjawotIAotLSAgVHlwcFtuXSA9IGF0b2YocCk7Ci0r ICBVbmFsaWduZWRXcml0ZShuLCBhdG9mKHApKTsKLSAgIFNldE51bGwobiwgZmFsc2UpOwotICAg fSAvLyBlbmQgb2YgU2V0VmFsdWUKLSAKLUBAIC00MzAsNyArNDMwLDcgQEAgdm9pZCBUWVBCTEs8 VFlQRT46OlNldFZhbHVlKFBWQkxLIHB2LCBpbgotICAgQ2hrVHlwKHB2KTsKLSAKLSAgIGlmICgh KGIgPSBwdi0+SXNOdWxsKG4yKSAmJiBOdWxsYWJsZSkpCi0tICAgIFR5cHBbbjFdID0gR2V0VHlw ZWRWYWx1ZShwdiwgbjIpOwotKyAgICBVbmFsaWduZWRXcml0ZShuMSwgR2V0VHlwZWRWYWx1ZShw diwgbjIpKTsKLSAgIGVsc2UKLSAgICAgUmVzZXQobjEpOwotIAotQEAgLTQ4MSwxMCArNDgxLDEw IEBAIHZvaWQgVFlQQkxLPFRZUEU+OjpTZXRNaW4oUFZBTCB2YWxwLCBpbnQKLSAgIHsKLSAgIENo ZWNrUGFybXModmFscCwgbikKLSAgIFRZUEUgIHR2YWwgPSBHZXRUeXBlZFZhbHVlKHZhbHApOwot LSAgVFlQRSYgdG1pbiA9IFR5cHBbbl07Ci0rICBUWVBFICB0bWluID0gVW5hbGlnbmVkUmVhZChu KTsKLSAKLSAgIGlmICh0dmFsIDwgdG1pbikKLS0gICAgdG1pbiA9IHR2YWw7Ci0rICAgIFVuYWxp Z25lZFdyaXRlKG4sIHR2YWwpOwotIAotICAgfSAvLyBlbmQgb2YgU2V0TWluCi0gCi1AQCAtNDk2 LDEwICs0OTYsMTAgQEAgdm9pZCBUWVBCTEs8VFlQRT46OlNldE1heChQVkFMIHZhbHAsIGludAot ICAgewotICAgQ2hlY2tQYXJtcyh2YWxwLCBuKQotICAgVFlQRSAgdHZhbCA9IEdldFR5cGVkVmFs dWUodmFscCk7Ci0tICBUWVBFJiB0bWluID0gVHlwcFtuXTsKLSsgIFRZUEUgIHRtaW4gPSBVbmFs aWduZWRSZWFkKG4pOwotIAotICAgaWYgKHR2YWwgPiB0bWluKQotLSAgICB0bWluID0gdHZhbDsK LSsgICAgVW5hbGlnbmVkV3JpdGUobiwgdHZhbCk7Ci0gCi0gICB9IC8vIGVuZCBvZiBTZXRNYXgK LSAKLUBAIC01MTMsOCArNTEzLDcgQEAgdm9pZCBUWVBCTEs8VFlQRT46OlNldFZhbHVlcyhQVkJM SyBwdiwgaQotICAgQ2hlY2tUeXBlKHB2KQotICAgVFlQRSAqbHAgPSAoKFRZUEJMSyopcHYpLT5U eXBwOwotIAotLSAgZm9yIChpbnQgaSA9IGs7IGkgPCBuOyBpKyspICAgICAgICAgIC8vIFRPRE8K LS0gICAgVHlwcFtpXSA9IGxwW2ldOwotKyAgbWVtY3B5KFR5cHAgKyBrLCBscCArIGssIHNpemVv ZihUWVBFKSAqIG4pOwotIAotICAgfSAvLyBlbmQgb2YgU2V0VmFsdWVzCi0gI2VuZGlmIC8vIDAK LUBAIC01MjUsNyArNTI0LDcgQEAgdm9pZCBUWVBCTEs8VFlQRT46OlNldFZhbHVlcyhQVkJMSyBw diwgaQotIHRlbXBsYXRlIDxjbGFzcyBUWVBFPgotIHZvaWQgVFlQQkxLPFRZUEU+OjpNb3ZlKGlu dCBpLCBpbnQgaikKLSAgIHsKLS0gIFR5cHBbal0gPSBUeXBwW2ldOwotKyAgVW5hbGlnbmVkV3Jp dGUoaiwgVW5hbGlnbmVkUmVhZChpKSk7Ci0gICBNb3ZlTnVsbChpLCBqKTsKLSAgIH0gLy8gZW5k IG9mIE1vdmUKLSAKLUBAIC01MzksNyArNTM4LDcgQEAgaW50IFRZUEJMSzxUWVBFPjo6Q29tcFZh bChQVkFMIHZwLCBpbnQgbgotICAgQ2hrSW5keChuKTsKLSAgIENoa1R5cCh2cCk7Ci0gI2VuZGlm ICAgLy8gX0RFQlVHCi0tICBUWVBFIG1sdiA9IFR5cHBbbl07Ci0rICBUWVBFIG1sdiA9IFVuYWxp Z25lZFJlYWQobik7Ci0gICBUWVBFIHZsdiA9IEdldFR5cGVkVmFsdWUodnApOwotIAotICAgcmV0 dXJuICh2bHYgPiBtbHYpID8gMSA6ICh2bHYgPCBtbHYpID8gKC0xKSA6IDA7Ci1AQCAtNTUxLDgg KzU1MCw4IEBAIGludCBUWVBCTEs8VFlQRT46OkNvbXBWYWwoUFZBTCB2cCwgaW50IG4KLSB0ZW1w bGF0ZSA8Y2xhc3MgVFlQRT4KLSBpbnQgVFlQQkxLPFRZUEU+OjpDb21wVmFsKGludCBpMSwgaW50 IGkyKQotICAgewotLSAgVFlQRSBsdjEgPSBUeXBwW2kxXTsKLS0gIFRZUEUgbHYyID0gVHlwcFtp Ml07Ci0rICBUWVBFIGx2MSA9IFVuYWxpZ25lZFJlYWQoaTEpOwotKyAgVFlQRSBsdjIgPSBVbmFs aWduZWRSZWFkKGkyKTsKLSAKLSAgIHJldHVybiAobHYxID4gbHYyKSA/IDEgOiAobHYxIDwgbHYy KSA/ICgtMSkgOiAwOwotICAgfSAvLyBlbmQgb2YgQ29tcFZhbAotQEAgLTU4OSw3ICs1ODgsNyBA QCBpbnQgVFlQQkxLPFRZUEU+OjpGaW5kKFBWQUwgdnApCi0gICBUWVBFIG4gPSBHZXRUeXBlZFZh bHVlKHZwKTsKLSAKLSAgIGZvciAoaSA9IDA7IGkgPCBOdmFsOyBpKyspCi0tICAgIGlmIChuID09 IFR5cHBbaV0pCi0rICAgIGlmIChuID09IFVuYWxpZ25lZFJlYWQoaSkpCi0gICAgICAgYnJlYWs7 Ci0gCi0gICByZXR1cm4gKGkgPCBOdmFsKSA/IGkgOiAoLTEpOwotQEAgLTYwNSw3ICs2MDQsNyBA QCBpbnQgVFlQQkxLPFRZUEU+OjpHZXRNYXhMZW5ndGgodm9pZCkKLSAgIGludCBpLCBuLCBtOwot IAotICAgZm9yIChpID0gbiA9IDA7IGkgPCBOdmFsOyBpKyspIHsKLS0gICAgbSA9IHNwcmludGYo YnVmLCBGbXQsIFR5cHBbaV0pOwotKyAgICBtID0gc3ByaW50ZihidWYsIEZtdCwgVW5hbGlnbmVk UmVhZChpKSk7Ci0gICAgIG4gPSBNWV9NQVgobiwgbSk7Ci0gICAgIH0gLy8gZW5kZm9yIGkKLSAK LUBAIC0xMzM1LDcgKzEzMzQsNyBAQCBjaGFyICpEQVRCTEs6OkdldENoYXJTdHJpbmcoY2hhciAq cCwgaW50Ci0gICBjaGFyICp2cDsKLSAKLSAgIGlmIChEdmFscCkgewotLSAgICBEdmFscC0+U2V0 VmFsdWUoVHlwcFtuXSk7Ci0rICAgIER2YWxwLT5TZXRWYWx1ZShVbmFsaWduZWRSZWFkKG4pKTsK LSAgICAgdnAgPSBEdmFscC0+R2V0Q2hhclN0cmluZyhwKTsKLSAgIH0gZWxzZQotICAgICB2cCA9 IFRZUEJMSzxpbnQ+OjpHZXRDaGFyU3RyaW5nKHAsIG4pOwotQEAgLTEzNTEsNyArMTM1MCw3IEBA IHZvaWQgREFUQkxLOjpTZXRWYWx1ZShQQ1NaIHAsIGludCBuKQotICAgaWYgKER2YWxwKSB7Ci0g ICAgIC8vIERlY29kZSB0aGUgc3RyaW5nIGFjY29yZGluZyB0byBmb3JtYXQKLSAgICAgRHZhbHAt PlNldFZhbHVlX3BzeihwKTsKLS0gICAgVHlwcFtuXSA9IER2YWxwLT5HZXRJbnRWYWx1ZSgpOwot KyAgICBVbmFsaWduZWRXcml0ZShuLCBEdmFscC0+R2V0SW50VmFsdWUoKSk7Ci0gICB9IGVsc2UK LSAgICAgVFlQQkxLPGludD46OlNldFZhbHVlKHAsIG4pOwotIAotLS0tIHN0b3JhZ2UvY29ubmVj dC92YWxibGsuaAotKysrIHN0b3JhZ2UvY29ubmVjdC92YWxibGsuaAotQEAgLTEzOSw2ICsxMzks NyBAQCBjbGFzcyBWQUxCTEsgOiBwdWJsaWMgQkxPQ0sgewotICAgaW50ICAgICBQcmVjOyAgICAg ICAgICAgICAvLyBQcmVjaXNpb24gb2YgZmxvYXQgdmFsdWVzCi0gICB9OyAvLyBlbmQgb2YgY2xh c3MgVkFMQkxLCi0gCi0rCi0gLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotIC8qICBDbGFzcyBUWVBCTEs6IHJl cHJlc2VudHMgYSBibG9jayBvZiB0eXBlZCB2YWx1ZXMuICAgICAgICAgICAgICAgICAgKi8KLSAv KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKiovCi1AQCAtMTUxLDQwICsxNTIsNDEgQEAgY2xhc3MgVFlQQkxLIDogcHVi bGljIFZBTEJMSyB7Ci0gICAvLyBJbXBsZW1lbnRhdGlvbgotICAgdmlydHVhbCBib29sICAgSW5p dChQR0xPQkFMIGcsIGJvb2wgY2hlY2spOwotICAgdmlydHVhbCBpbnQgICAgR2V0Vmxlbih2b2lk KSB7cmV0dXJuIHNpemVvZihUWVBFKTt9Ci0tICB2aXJ0dWFsIGNoYXIgICBHZXRUaW55VmFsdWUo aW50IG4pIHtyZXR1cm4gKGNoYXIpVHlwcFtuXTt9Ci0tICB2aXJ0dWFsIHVjaGFyICBHZXRVVGlu eVZhbHVlKGludCBuKSB7cmV0dXJuICh1Y2hhcilUeXBwW25dO30KLS0gIHZpcnR1YWwgc2hvcnQg IEdldFNob3J0VmFsdWUoaW50IG4pIHtyZXR1cm4gKHNob3J0KVR5cHBbbl07fQotLSAgdmlydHVh bCB1c2hvcnQgR2V0VVNob3J0VmFsdWUoaW50IG4pIHtyZXR1cm4gKHVzaG9ydClUeXBwW25dO30K LS0gIHZpcnR1YWwgaW50ICAgIEdldEludFZhbHVlKGludCBuKSB7cmV0dXJuIChpbnQpVHlwcFtu XTt9Ci0tICB2aXJ0dWFsIHVpbnQgICBHZXRVSW50VmFsdWUoaW50IG4pIHtyZXR1cm4gKHVpbnQp VHlwcFtuXTt9Ci0tICB2aXJ0dWFsIGxvbmdsb25nIEdldEJpZ2ludFZhbHVlKGludCBuKSB7cmV0 dXJuIChsb25nbG9uZylUeXBwW25dO30KLS0gIHZpcnR1YWwgdWxvbmdsb25nIEdldFVCaWdpbnRW YWx1ZShpbnQgbikge3JldHVybiAodWxvbmdsb25nKVR5cHBbbl07fQotLSAgdmlydHVhbCBkb3Vi bGUgR2V0RmxvYXRWYWx1ZShpbnQgbikge3JldHVybiAoZG91YmxlKVR5cHBbbl07fQotKwotKyAg dmlydHVhbCBjaGFyICAgR2V0VGlueVZhbHVlKGludCBuKSB7cmV0dXJuIChjaGFyKVVuYWxpZ25l ZFJlYWQobik7fQotKyAgdmlydHVhbCB1Y2hhciAgR2V0VVRpbnlWYWx1ZShpbnQgbikge3JldHVy biAodWNoYXIpVW5hbGlnbmVkUmVhZChuKTt9Ci0rICB2aXJ0dWFsIHNob3J0ICBHZXRTaG9ydFZh bHVlKGludCBuKSB7cmV0dXJuIChzaG9ydClVbmFsaWduZWRSZWFkKG4pO30KLSsgIHZpcnR1YWwg dXNob3J0IEdldFVTaG9ydFZhbHVlKGludCBuKSB7cmV0dXJuICh1c2hvcnQpVW5hbGlnbmVkUmVh ZChuKTt9Ci0rICB2aXJ0dWFsIGludCAgICBHZXRJbnRWYWx1ZShpbnQgbikge3JldHVybiAoaW50 KVVuYWxpZ25lZFJlYWQobik7fQotKyAgdmlydHVhbCB1aW50ICAgR2V0VUludFZhbHVlKGludCBu KSB7cmV0dXJuICh1aW50KVVuYWxpZ25lZFJlYWQobik7fQotKyAgdmlydHVhbCBsb25nbG9uZyBH ZXRCaWdpbnRWYWx1ZShpbnQgbikge3JldHVybiAobG9uZ2xvbmcpVW5hbGlnbmVkUmVhZChuKTt9 Ci0rICB2aXJ0dWFsIHVsb25nbG9uZyBHZXRVQmlnaW50VmFsdWUoaW50IG4pIHtyZXR1cm4gKHVs b25nbG9uZylVbmFsaWduZWRSZWFkKG4pO30KLSsgIHZpcnR1YWwgZG91YmxlIEdldEZsb2F0VmFs dWUoaW50IG4pIHtyZXR1cm4gKGRvdWJsZSlVbmFsaWduZWRSZWFkKG4pO30KLSAgIHZpcnR1YWwg Y2hhciAgKkdldENoYXJTdHJpbmcoY2hhciAqcCwgaW50IG4pOwotLSAgdmlydHVhbCB2b2lkICAg UmVzZXQoaW50IG4pIHtUeXBwW25dID0gMDt9Ci0rICB2aXJ0dWFsIHZvaWQgICBSZXNldChpbnQg bikge1VuYWxpZ25lZFdyaXRlKG4sIDApO30KLSAKLSAgIC8vIE1ldGhvZHMKLSAgIHVzaW5nIFZB TEJMSzo6U2V0VmFsdWU7Ci0gICB2aXJ0dWFsIHZvaWQgICBTZXRWYWx1ZShQQ1NaIHNwLCBpbnQg bik7Ci0gICB2aXJ0dWFsIHZvaWQgICBTZXRWYWx1ZShjb25zdCBjaGFyICpzcCwgdWludCBsZW4s IGludCBuKTsKLSAgIHZpcnR1YWwgdm9pZCAgIFNldFZhbHVlKHNob3J0IHN2YWwsIGludCBuKQot LSAgICAgICAgICAgICAgICAgIHtUeXBwW25dID0gKFRZUEUpc3ZhbDsgU2V0TnVsbChuLCBmYWxz ZSk7fQotKyAgICAgICAgICAgICAgICAgIHtVbmFsaWduZWRXcml0ZShuLCAoVFlQRSlzdmFsKTsg U2V0TnVsbChuLCBmYWxzZSk7fQotICAgdmlydHVhbCB2b2lkICAgU2V0VmFsdWUodXNob3J0IHN2 YWwsIGludCBuKQotLSAgICAgICAgICAgICAgICAgIHtUeXBwW25dID0gKFRZUEUpc3ZhbDsgU2V0 TnVsbChuLCBmYWxzZSk7fQotKyAgICAgICAgICAgICAgICAgIHtVbmFsaWduZWRXcml0ZShuLCAo VFlQRSlzdmFsKTsgU2V0TnVsbChuLCBmYWxzZSk7fQotICAgdmlydHVhbCB2b2lkICAgU2V0VmFs dWUoaW50IGx2YWwsIGludCBuKQotLSAgICAgICAgICAgICAgICAgIHtUeXBwW25dID0gKFRZUEUp bHZhbDsgU2V0TnVsbChuLCBmYWxzZSk7fQotKyAgICAgICAgICAgICAgICAgIHtVbmFsaWduZWRX cml0ZShuLCAoVFlQRSlsdmFsKTsgU2V0TnVsbChuLCBmYWxzZSk7fQotICAgdmlydHVhbCB2b2lk ICAgU2V0VmFsdWUodWludCBsdmFsLCBpbnQgbikKLS0gICAgICAgICAgICAgICAgICB7VHlwcFtu XSA9IChUWVBFKWx2YWw7IFNldE51bGwobiwgZmFsc2UpO30KLSsgICAgICAgICAgICAgICAgICB7 VW5hbGlnbmVkV3JpdGUobiwgKFRZUEUpbHZhbCk7IFNldE51bGwobiwgZmFsc2UpO30KLSAgIHZp cnR1YWwgdm9pZCAgIFNldFZhbHVlKGxvbmdsb25nIGx2YWwsIGludCBuKQotLSAgICAgICAgICAg ICAgICAgIHtUeXBwW25dID0gKFRZUEUpbHZhbDsgU2V0TnVsbChuLCBmYWxzZSk7fQotKyAgICAg ICAgICAgICAgICAgIHtVbmFsaWduZWRXcml0ZShuLCAoVFlQRSlsdmFsKTsgU2V0TnVsbChuLCBm YWxzZSk7fQotICAgdmlydHVhbCB2b2lkICAgU2V0VmFsdWUodWxvbmdsb25nIGx2YWwsIGludCBu KQotLSAgICAgICAgICAgICAgICAgIHtUeXBwW25dID0gKFRZUEUpbHZhbDsgU2V0TnVsbChuLCBm YWxzZSk7fQotKyAgICAgICAgICAgICAgICAgIHtVbmFsaWduZWRXcml0ZShuLCAoVFlQRSlsdmFs KTsgU2V0TnVsbChuLCBmYWxzZSk7fQotICAgdmlydHVhbCB2b2lkICAgU2V0VmFsdWUoZG91Ymxl IGZ2YWwsIGludCBuKQotLSAgICAgICAgICAgICAgICAgIHtUeXBwW25dID0gKFRZUEUpZnZhbDsg U2V0TnVsbChuLCBmYWxzZSk7fQotKyAgICAgICAgICAgICAgICAgIHtVbmFsaWduZWRXcml0ZShu LCAoVFlQRSlmdmFsKTsgU2V0TnVsbChuLCBmYWxzZSk7fQotICAgdmlydHVhbCB2b2lkICAgU2V0 VmFsdWUoY2hhciBjdmFsLCBpbnQgbikKLS0gICAgICAgICAgICAgICAgICB7VHlwcFtuXSA9IChU WVBFKWN2YWw7IFNldE51bGwobiwgZmFsc2UpO30KLSsgICAgICAgICAgICAgICAgICB7VW5hbGln bmVkV3JpdGUobiwgKFRZUEUpY3ZhbCk7IFNldE51bGwobiwgZmFsc2UpO30KLSAgIHZpcnR1YWwg dm9pZCAgIFNldFZhbHVlKHVjaGFyIGN2YWwsIGludCBuKQotLSAgICAgICAgICAgICAgICAgIHtU eXBwW25dID0gKFRZUEUpY3ZhbDsgU2V0TnVsbChuLCBmYWxzZSk7fQotKyAgICAgICAgICAgICAg ICAgIHtVbmFsaWduZWRXcml0ZShuLCAoVFlQRSljdmFsKTsgU2V0TnVsbChuLCBmYWxzZSk7fQot ICAgdmlydHVhbCB2b2lkICAgU2V0VmFsdWUoUFZBTCB2YWxwLCBpbnQgbik7Ci0gICB2aXJ0dWFs IHZvaWQgICBTZXRWYWx1ZShQVkJMSyBwdiwgaW50IG4xLCBpbnQgbjIpOwotICAgdmlydHVhbCB2 b2lkICAgU2V0TWluKFBWQUwgdmFscCwgaW50IG4pOwotQEAgLTIwNiw2ICsyMDgsMTcgQEAgY2xh c3MgVFlQQkxLIDogcHVibGljIFZBTEJMSyB7Ci0gICAvLyBNZW1iZXJzCi0gICBUWVBFKiBjb25z dCAmVHlwcDsKLSAgIGNvbnN0IGNoYXIgICpGbXQ7Ci0rCi0rICAvLyBVbmFsaWduZWQgYWNjZXNz Ci0rICBUWVBFIFVuYWxpZ25lZFJlYWQoaW50IG4pIGNvbnN0IHsKLSsgICAgVFlQRSByZXN1bHQ7 Ci0rICAgIG1lbWNweSgmcmVzdWx0LCBUeXBwICsgbiwgc2l6ZW9mKFRZUEUpKTsKLSsgICAgcmV0 dXJuIHJlc3VsdDsKLSsgIH0KLSsKLSsgIHZvaWQgVW5hbGlnbmVkV3JpdGUoaW50IG4sIFRZUEUg dmFsdWUpIHsKLSsgICAgbWVtY3B5KFR5cHAgKyBuLCAmdmFsdWUsIHNpemVvZihUWVBFKSk7Ci0r ICB9Ci0gICB9OyAvLyBlbmQgb2YgY2xhc3MgVFlQQkxLCi0gCi0gLyoqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpk aWZmIC0tZ2l0IGEvc3JjcGtncy9tYXJpYWRiL3BhdGNoZXMvbWlwcy1pbm5vYmFzZS1hdG9taWMu cGF0Y2ggYi9zcmNwa2dzL21hcmlhZGIvcGF0Y2hlcy9taXBzLWlubm9iYXNlLWF0b21pYy5wYXRj aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTk1ZmU0MWE0MjI2Li4wMDAwMDAwMDAw MDAKLS0tIGEvc3JjcGtncy9tYXJpYWRiL3BhdGNoZXMvbWlwcy1pbm5vYmFzZS1hdG9taWMucGF0 Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi1Gcm9tOiBEZWJpYW4gTXlTUUwgTWFp bnRhaW5lcnMgPHBrZy1teXNxbC1tYWludEBsaXN0cy5hbGlvdGguZGViaWFuLm9yZz4KLURhdGU6 IFRodSwgMTAgQXVnIDIwMTcgMjA6NDA6MjkgKzAyMDAKLVN1YmplY3Q6IG1pcHMtaW5ub2Jhc2Ut YXRvbWljCi0KLS0tLQotIHN0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9vczBzeW5jLmggfCAxICsK LSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKLQotZGlmZiAtLWdpdCBzdG9yYWdlL2lu bm9iYXNlL2luY2x1ZGUvb3Mwc3luYy5oIHN0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9vczBzeW5j LmgKLWluZGV4IGJiMjI1YzUuLjY1MjAyMzcgMTAwNjQ0Ci0tLS0gc3RvcmFnZS9pbm5vYmFzZS9p bmNsdWRlL29zMHN5bmMuaAotKysrIHN0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9vczBzeW5jLmgK LUBAIC0zNyw2ICszNyw3IEBAIENyZWF0ZWQgOS82LzE5OTUgSGVpa2tpIFR1dXJpCi0gCi0gI2lu Y2x1ZGUgInVuaXYuaSIKLSAjaW5jbHVkZSAidXQwbHN0LmgiCi0rI2luY2x1ZGUgInN5bmMwdHlw ZXMuaCIKLSAKLSAvKiogQ1BVIGNhY2hlIGxpbmUgc2l6ZSAqLwotICNpZmRlZiBfX3Bvd2VycGNf XwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9tYXJpYWRiL3BhdGNoZXMvbWlwcy1tYWNoaW5lLnBhdGNo IGIvc3JjcGtncy9tYXJpYWRiL3BhdGNoZXMvbWlwcy1tYWNoaW5lLnBhdGNoCmRlbGV0ZWQgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAzZGJiYmFhYTUzODQuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNw a2dzL21hcmlhZGIvcGF0Y2hlcy9taXBzLW1hY2hpbmUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAt MSwyMyArMCwwIEBACi1Gcm9tOiBEZWJpYW4gTXlTUUwgTWFpbnRhaW5lcnMgPHBrZy1teXNxbC1t YWludEBsaXN0cy5hbGlvdGguZGViaWFuLm9yZz4KLURhdGU6IFRodSwgMTAgQXVnIDIwMTcgMjA6 NDA6MjkgKzAyMDAKLVN1YmplY3Q6IG1pcHMtbWFjaGluZQotCi0tLS0KLSBjbWFrZS9wYWNrYWdl X25hbWUuY21ha2UgfCA0ICsrKysKLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCi0K LWRpZmYgLS1naXQgY21ha2UvcGFja2FnZV9uYW1lLmNtYWtlIGNtYWtlL3BhY2thZ2VfbmFtZS5j bWFrZQotaW5kZXggNDkzMGE2Yi4uNzY4MWY3OCAxMDA2NDQKLS0tLSBjbWFrZS9wYWNrYWdlX25h bWUuY21ha2UKLSsrKyBjbWFrZS9wYWNrYWdlX25hbWUuY21ha2UKLUBAIC0zNCw2ICszNCwxMCBA QCBJRihOT1QgVkVSU0lPTikKLSAgICAgICBTRVQoREVGQVVMVF9NQUNISU5FICJtaXBzIikKLSAg ICAgRU5ESUYoKQotIAotKyAgICBJRihOT1QgNjRCSVQgQU5EIENNQUtFX1NZU1RFTV9QUk9DRVNT T1IgTUFUQ0hFUyAiXm1pcHM2NCIpCi0rICAgICAgU0VUKERFRkFVTFRfTUFDSElORSAibWlwcyIp Ci0rICAgIEVORElGKCkKLSsKLSAgICAgSUYoQ01BS0VfU1lTVEVNX05BTUUgTUFUQ0hFUyAiV2lu ZG93cyIpCi0gICAgICAgU0VUKE5FRURfREFTSF9CRVRXRUVOX1BMQVRGT1JNX0FORF9NQUNISU5F IDApCi0gICAgICAgU0VUKERFRkFVTFRfUExBVEZPUk0gIndpbiIpCmRpZmYgLS1naXQgYS9zcmNw a2dzL21hcmlhZGIvcGF0Y2hlcy9tdXNsLXBwYy5wYXRjaCBiL3NyY3BrZ3MvbWFyaWFkYi9wYXRj aGVzL211c2wtcHBjLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1N2M3ZjRi ZjE1YjIuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL21hcmlhZGIvcGF0Y2hlcy9tdXNsLXBw Yy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLVRoaXMgaGVhZGVyIGRvZXMg bm90IGV4aXN0IG9uIG11c2wsIGJ1dCB0aGVyZSBoYXMgYmVlbiBhCi1idWlsdGluIGZvciB0aGlz IGluIGdjYyBmb3IgYWdlcywgc28ganVzdCB1c2UgdGhhdCBpbnN0ZWFkLgotCi0tLS0gc3RvcmFn ZS9pbm5vYmFzZS9pbmNsdWRlL3V0MHV0LmgKLSsrKyBzdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUv dXQwdXQuaAotQEAgLTg5LDggKzg5LDcgQEAgc3RydWN0IHV0X3doZW5fZHRvciB7Ci0gICAgaW5k ZXBlbmRlbnQgd2F5IGJ5IHVzaW5nIFlpZWxkUHJvY2Vzc29yLiAqLwotICMgIGRlZmluZSBVVF9S RUxBWF9DUFUoKSBZaWVsZFByb2Nlc3NvcigpCi0gIyBlbGlmIGRlZmluZWQoX19wb3dlcnBjX18p Ci0tI2luY2x1ZGUgPHN5cy9wbGF0Zm9ybS9wcGMuaD4KLS0jICBkZWZpbmUgVVRfUkVMQVhfQ1BV KCkgX19wcGNfZ2V0X3RpbWViYXNlKCkKLSsjICBkZWZpbmUgVVRfUkVMQVhfQ1BVKCkgX19idWls dGluX3BwY19nZXRfdGltZWJhc2UoKQotICMgZWxzZQotICMgIGRlZmluZSBVVF9SRUxBWF9DUFUo KSAoKHZvaWQpMCkgLyogYXZvaWQgd2FybmluZyBmb3IgYW4gZW1wdHkgc3RhdGVtZW50ICovCi0g IyBlbmRpZgotLS0tIHN0b3JhZ2UveHRyYWRiL2luY2x1ZGUvdXQwdXQuaAotKysrIHN0b3JhZ2Uv eHRyYWRiL2luY2x1ZGUvdXQwdXQuaAotQEAgLTg2LDYgKzg2LDggQEAKLSAjIGVsaWYgZGVmaW5l ZChfX3Bvd2VycGNfXykgJiYgZGVmaW5lZCBfX0dMSUJDX18KLSAjaW5jbHVkZSA8c3lzL3BsYXRm b3JtL3BwYy5oPgotICMgIGRlZmluZSBVVF9SRUxBWF9DUFUoKSBfX3BwY19nZXRfdGltZWJhc2Uo KQotKyMgZWxpZiBkZWZpbmVkKF9fcG93ZXJwY19fKQotKyMgIGRlZmluZSBVVF9SRUxBWF9DUFUo KSBfX2J1aWx0aW5fcHBjX2dldF90aW1lYmFzZSgpCi0gIyBlbHNlCi0gIyAgZGVmaW5lIFVUX1JF TEFYX0NQVSgpICgodm9pZCkwKSAvKiBhdm9pZCB3YXJuaW5nIGZvciBhbiBlbXB0eSBzdGF0ZW1l bnQgKi8KLSAjIGVuZGlmCmRpZmYgLS1naXQgYS9zcmNwa2dzL21hcmlhZGIvcGF0Y2hlcy9tdXNs X3Vjb250ZXh0LWgucGF0Y2ggYi9zcmNwa2dzL21hcmlhZGIvcGF0Y2hlcy9tdXNsX3Vjb250ZXh0 LWgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk5YWMwYTZjZDc1MS4uMDAw MDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvbWFyaWFkYi9wYXRjaGVzL211c2xfdWNvbnRleHQtaC5w YXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLS0tLSAuL2luY2x1ZGUvbXlfY29u dGV4dC5oLm9yaWcJMjAxNi0wMi0yNCAwOToyNToyMS4wMDAwMDAwMDAgLTA1MDAKLSsrKyAuL2lu Y2x1ZGUvbXlfY29udGV4dC5oCTIwMTYtMDItMjggMTU6MTQ6MjkuMDk4MTgwMzA4IC0wNTAwCi1A QCAtMzEsNyArMzEsNyBAQAotICNkZWZpbmUgTVlfQ09OVEVYVF9VU0VfWDg2XzY0X0dDQ19BU00K LSAjZWxpZiBkZWZpbmVkKF9fR05VQ19fKSAmJiBfX0dOVUNfXyA+PSAzICYmIGRlZmluZWQoX19p Mzg2X18pCi0gI2RlZmluZSBNWV9DT05URVhUX1VTRV9JMzg2X0dDQ19BU00KLS0jZWxpZiBkZWZp bmVkKEhBVkVfVUNPTlRFWFRfSCkKLSsjZWxpZiBkZWZpbmVkIChfX0dMSUJDX18pICYmIGRlZmlu ZWQoSEFWRV9VQ09OVEVYVF9IKQotICNkZWZpbmUgTVlfQ09OVEVYVF9VU0VfVUNPTlRFWFQKLSAj ZWxzZQotICNkZWZpbmUgTVlfQ09OVEVYVF9ESVNBQkxFCmRpZmYgLS1naXQgYS9zcmNwa2dzL21h cmlhZGIvcGF0Y2hlcy9wcGNsZS5wYXRjaCBiL3NyY3BrZ3MvbWFyaWFkYi9wYXRjaGVzL3BwY2xl LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNmY2OTA0NGZlZDQuLjAwMDAw MDAwMDAwMAotLS0gYS9zcmNwa2dzL21hcmlhZGIvcGF0Y2hlcy9wcGNsZS5wYXRjaAorKysgL2Rl di9udWxsCkBAIC0xLDU3ICswLDAgQEAKLUZyb20gOWVlODJjNDc2ZmNkNTAwNWQzZWMxYjYyODI0 NjRkOWNjOThkMzcyNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IHE2NiA8ZGFuaWVs QG9jdGFmb3JnZS5vcmc+Ci1EYXRlOiBUaHUsIDExIEZlYiAyMDIxIDE0OjI0OjQ0ICswMTAwCi1T dWJqZWN0OiBbUEFUQ0hdIGZpeCBidWlsZCBvbiBwcGNsZQotCi0tLS0KLSBzdG9yYWdlL2lubm9i YXNlL3V0L3V0MGNyYzMyLmNjIHwgNCArKy0tCi0gc3RvcmFnZS94dHJhZGIvdXQvdXQwY3JjMzIu Y2MgICB8IDQgKystLQotIDIgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0 aW9ucygtKQotCi1kaWZmIC0tZ2l0IHN0b3JhZ2UvaW5ub2Jhc2UvdXQvdXQwY3JjMzIuY2Mgc3Rv cmFnZS9pbm5vYmFzZS91dC91dDBjcmMzMi5jYwotaW5kZXggNGQyZDMxMS4uODk3YzIzZSAxMDA2 NDQKLS0tLSBzdG9yYWdlL2lubm9iYXNlL3V0L3V0MGNyYzMyLmNjCi0rKysgc3RvcmFnZS9pbm5v YmFzZS91dC91dDBjcmMzMi5jYwotQEAgLTE5NCw3ICsxOTQsNyBAQCB1dF9jcmMzMl9wb3dlcjgo Ci0gCQkgY29uc3QgYnl0ZSoJCSBidWYsCQkgLyohPCBpbjogZGF0YSBvdmVyIHdoaWNoIHRvIGNh bGN1bGF0ZSBDUkMzMiAqLwotIAkJIHVsaW50CQkgCQkgbGVuKQkJIC8qITwgaW46IGRhdGEgbGVu Z3RoICovCi0gewotLSNpZiBkZWZpbmVkKF9fcG93ZXJwY19fKSAmJiAhZGVmaW5lZChXT1JEU19C SUdFTkRJQU4pCi0rI2lmIGRlZmluZWQoX19wb3dlcnBjNjRfXykgJiYgIWRlZmluZWQoV09SRFNf QklHRU5ESUFOKQotICAgcmV0dXJuIGNyYzMyX3ZwbXN1bSgwLCBidWYsIGxlbik7Ci0gI2Vsc2UK LSAJCSB1dF9lcnJvcjsKLUBAIC0zMTksNyArMzE5LDcgQEAgdXRfY3JjMzJfaW5pdCgpCi0gCXV0 X2NyYzMyX3NzZTJfZW5hYmxlZCA9IChmZWF0dXJlc19lY3ggPj4gMjApICYgMTsKLSAjZW5kaWYg LyogZGVmaW5lZChfX0dOVUNfXykgJiYgZGVmaW5lZChfX3g4Nl82NF9fKSAqLwotIAotLSNpZiBk ZWZpbmVkKF9fbGludXhfXykgJiYgZGVmaW5lZChfX3Bvd2VycGNfXykgJiYgZGVmaW5lZChBVF9I V0NBUDIpIFwKLSsjaWYgZGVmaW5lZChfX2xpbnV4X18pICYmIGRlZmluZWQoX19wb3dlcnBjNjRf XykgJiYgZGVmaW5lZChBVF9IV0NBUDIpIFwKLSAgICAgICAgICYmICFkZWZpbmVkKFdPUkRTX0JJ R0VORElBTikKLSAJaWYgKGdldGF1eHZhbChBVF9IV0NBUDIpICYgUFBDX0ZFQVRVUkUyX0FSQ0hf Ml8wNykKLSAJCSB1dF9jcmMzMl9wb3dlcjhfZW5hYmxlZCA9IHRydWU7Ci1kaWZmIC0tZ2l0IHN0 b3JhZ2UveHRyYWRiL3V0L3V0MGNyYzMyLmNjIHN0b3JhZ2UveHRyYWRiL3V0L3V0MGNyYzMyLmNj Ci1pbmRleCA0YWNlOTEzLi5lMzUyNmU0IDEwMDY0NAotLS0tIHN0b3JhZ2UveHRyYWRiL3V0L3V0 MGNyYzMyLmNjCi0rKysgc3RvcmFnZS94dHJhZGIvdXQvdXQwY3JjMzIuY2MKLUBAIC0xOTQsNyAr MTk0LDcgQEAgdXRfY3JjMzJfcG93ZXI4KAotIAkJIGNvbnN0IGJ5dGUqCQkgYnVmLAkJIC8qITwg aW46IGRhdGEgb3ZlciB3aGljaCB0byBjYWxjdWxhdGUgQ1JDMzIgKi8KLSAJCSB1bGludAkJIAkJ IGxlbikJCSAvKiE8IGluOiBkYXRhIGxlbmd0aCAqLwotIHsKLS0jaWYgZGVmaW5lZChfX3Bvd2Vy cGNfXykgJiYgIWRlZmluZWQoV09SRFNfQklHRU5ESUFOKQotKyNpZiBkZWZpbmVkKF9fcG93ZXJw YzY0X18pICYmICFkZWZpbmVkKFdPUkRTX0JJR0VORElBTikKLSAgIHJldHVybiBjcmMzMl92cG1z dW0oMCwgYnVmLCBsZW4pOwotICNlbHNlCi0gCQkgdXRfZXJyb3I7Ci1AQCAtMzE5LDcgKzMxOSw3 IEBAIHV0X2NyYzMyX2luaXQoKQotIAl1dF9jcmMzMl9zc2UyX2VuYWJsZWQgPSAoZmVhdHVyZXNf ZWN4ID4+IDIwKSAmIDE7Ci0gI2VuZGlmIC8qIGRlZmluZWQoX19HTlVDX18pICYmIGRlZmluZWQo X194ODZfNjRfXykgKi8KLSAKLS0jaWYgZGVmaW5lZChfX2xpbnV4X18pICYmIGRlZmluZWQoX19w b3dlcnBjX18pICYmIGRlZmluZWQoQVRfSFdDQVAyKSBcCi0rI2lmIGRlZmluZWQoX19saW51eF9f KSAmJiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pICYmIGRlZmluZWQoQVRfSFdDQVAyKSBcCi0gICAg ICAgICAmJiAhZGVmaW5lZChXT1JEU19CSUdFTkRJQU4pCi0gCWlmIChnZXRhdXh2YWwoQVRfSFdD QVAyKSAmIFBQQ19GRUFUVVJFMl9BUkNIXzJfMDcpCi0gCQkgdXRfY3JjMzJfcG93ZXI4X2VuYWJs ZWQgPSB0cnVlOwotLS0gCi0yLjMwLjAKLQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9tYXJpYWRiL3Rl bXBsYXRlIGIvc3JjcGtncy9tYXJpYWRiL3RlbXBsYXRlCmluZGV4IDc4ZDVlMmRiZGJlOC4uNTVh N2NjODZlYjY3IDEwMDY0NAotLS0gYS9zcmNwa2dzL21hcmlhZGIvdGVtcGxhdGUKKysrIGIvc3Jj cGtncy9tYXJpYWRiL3RlbXBsYXRlCkBAIC0xLDY5ICsxLDQ4IEBACiAjIFRlbXBsYXRlIGZpbGUg Zm9yICdtYXJpYWRiJwogcGtnbmFtZT1tYXJpYWRiCi12ZXJzaW9uPTEwLjEuNDgKLXJldmlzaW9u PTIKK3ZlcnNpb249MTAuNS45CityZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1jbWFrZQotY29uZmln dXJlX2FyZ3M9Ii1ETVlTUUxfREFUQURJUj0vdmFyL2xpYi9teXNxbAotIC1ETVlTUUxfVU5JWF9B RERSPS9ydW4vbXlzcWxkL215c3FsZC5zb2NrIC1EREVGQVVMVF9DSEFSU0VUPXV0ZjgKLSAtRERF RkFVTFRfQ09MTEFUSU9OPXV0ZjhfZ2VuZXJhbF9jaSAtREVOQUJMRURfTE9DQUxfSU5GSUxFPU9O Ci0gLURJTlNUQUxMX0lORk9ESVI9c2hhcmUvbXlzcWwvZG9jcyAtRElOU1RBTExfTUFORElSPXNo YXJlL21hbgotIC1ESU5TVEFMTF9QTFVHSU5ESVI9bGliL215c3FsL3BsdWdpbiAtRElOU1RBTExf U0NSSVBURElSPWJpbgotIC1ESU5TVEFMTF9JTkNMVURFRElSPWluY2x1ZGUvbXlzcWwgLURJTlNU QUxMX0RPQ1JFQURNRURJUj1zaGFyZS9teXNxbAotIC1ESU5TVEFMTF9TVVBQT1JURklMRVNESVI9 c2hhcmUvbXlzcWwgLURJTlNUQUxMX01ZU1FMU0hBUkVESVI9c2hhcmUvbXlzcWwKLSAtRElOU1RB TExfRE9DRElSPXNoYXJlL215c3FsL2RvY3MgLURJTlNUQUxMX1NIQVJFRElSPXNoYXJlL215c3Fs Ci0gLURXSVRIX1pMSUI9c3lzdGVtIC1EV0lUSF9SRUFETElORT1PTiAtRFdJVEhfU1NMPWJ1bmRs ZWQKLSAtRFdJVEhfRU1CRURERURfU0VSVkVSPU9OIC1EV0lUSF9BUkNISVZFX1NUT1JBR0VfRU5H SU5FPTEgLURQTFVHSU5fVE9LVURCPU5PCi0gLURXSVRIX0JMQUNLSE9MRV9TVE9SQUdFX0VOR0lO RT0xIC1EV0lUSF9QQVJUSVRJT05fU1RPUkFHRV9FTkdJTkU9MQotIC1EV0lUSE9VVF9FWEFNUExF X1NUT1JBR0VfRU5HSU5FPTEgLURXSVRIT1VUX0ZFREVSQVRFRF9TVE9SQUdFX0VOR0lORT0xCi0g LURXSVRIX0VYVFJBX0NIQVJTRVRTPWNvbXBsZXggLURXSVRIX0xJQldSQVA9T0ZGIC1EU1RBQ0tf RElSRUNUSU9OPTEKLSAtRFdJVEhPVVRfUEJYVF9TVE9SQUdFX0VOR0lORT0xIC1EV0lUSF9JTk5P QkFTRV9TVE9SQUdFX0VOR0lORT0xIgotaG9zdG1ha2VkZXBlbmRzPSJwZXJsIGJpc29uIG5jdXJz ZXMtZGV2ZWwgb3BlbnNzbC1kZXZlbCBsaWJhdG9taWMtZGV2ZWwKLSBwa2ctY29uZmlnIgotbWFr ZWRlcGVuZHM9InpsaWItZGV2ZWwgbmN1cnNlcy1kZXZlbCBvcGVuc3NsLWRldmVsIHJlYWRsaW5l LWRldmVsIHBjcmUtZGV2ZWwKK2J1aWxkX2hlbHBlcj1xZW11Citjb25maWd1cmVfYXJncz0iLURC VUlMRF9DT05GSUc9bXlzcWxfcmVsZWFzZQorIC1ETVlTUUxfREFUQURJUj0vdmFyL2xpYi9teXNx bCAtRE1ZU1FMX1VOSVhfQUREUj0vcnVuL215c3FsZC9teXNxbGQuc29jaworIC1EREVGQVVMVF9D SEFSU0VUPXV0ZjggLURERUZBVUxUX0NPTExBVElPTj11dGY4X2dlbmVyYWxfY2kKKyAtREVOQUJM RURfTE9DQUxfSU5GSUxFPU9OIC1ESU5TVEFMTF9JTkZPRElSPXNoYXJlL215c3FsL2RvY3MKKyAt RElOU1RBTExfTUFORElSPXNoYXJlL21hbiAtRElOU1RBTExfUExVR0lORElSPWxpYi9teXNxbC9w bHVnaW4KKyAtRElOU1RBTExfU0NSSVBURElSPWJpbiAtRElOU1RBTExfSU5DTFVERURJUj1pbmNs dWRlL215c3FsCisgLURJTlNUQUxMX0RPQ1JFQURNRURJUj1zaGFyZS9teXNxbCAtRElOU1RBTExf U1VQUE9SVEZJTEVTRElSPXNoYXJlL215c3FsCisgLURJTlNUQUxMX01ZU1FMU0hBUkVESVI9c2hh cmUvbXlzcWwgLURJTlNUQUxMX0RPQ0RJUj1zaGFyZS9teXNxbC9kb2NzCisgLURJTlNUQUxMX1NI QVJFRElSPXNoYXJlL215c3FsIC1EU1RBQ0tfRElSRUNUSU9OPTEKKyAtRFdJVEhfWkxJQj1zeXN0 ZW0gLURXSVRIX1NTTD1zeXN0ZW0gIC1EV0lUSF9MSUJBUkNISVZFPXN5c3RlbQorIC1EV0lUSF9F TUJFRERFRF9TRVJWRVI9T04gLURQTFVHSU5fVE9LVURCPU5PIC1EUExVR0lOX0JMQUNLSE9MRT1Z RVMKKyAtRFBMVUdJTl9QQVJUSVRJT049WUVTIC1EV0lUSF9FWFRSQV9DSEFSU0VUUz1jb21wbGV4 IC1EV0lUSF9MSUJXUkFQPU9GRgorIC1EV0lUSF9SRUFETElORT1PTiAtRFdJVEhfU1lTVEVNRD1u byAtRFNLSVBfVEVTVFM9T04iCitob3N0bWFrZWRlcGVuZHM9ImJpc29uIHBlcmwgZmxleCBwa2ct Y29uZmlnIGdpdCIKK21ha2VkZXBlbmRzPSJuY3Vyc2VzLWRldmVsIGdudXRscy1kZXZlbCBsaWJh aW8tZGV2ZWwgYm9vc3QtZGV2ZWwgcGFtLWRldmVsIHpsaWItZGV2ZWwKICBsaWJhdG9taWMtZGV2 ZWwiCiBkZXBlbmRzPSJtYXJpYWRiLWNsaWVudCIKIHNob3J0X2Rlc2M9IkZhc3QgU1FMIGRhdGFi YXNlIHNlcnZlciwgZHJvcC1pbiByZXBsYWNlbWVudCBmb3IgTXlTUUwiCi1tYWludGFpbmVyPSJP cnBoYW5lZCA8b3JwaGFuQHZvaWRsaW51eC5vcmc+IgorbWFpbnRhaW5lcj0iSnVzdGluIEphZ2ll bmlhayA8anVzdGluQGphZ2llbmlhay5uZXQ+IgogbGljZW5zZT0iR1BMLTIuMC1vbmx5IgotaG9t ZXBhZ2U9Imh0dHBzOi8vbWFyaWFkYi5vcmcvIgotZGlzdGZpbGVzPSJodHRwOi8vYXJjaGl2ZS5t YXJpYWRiLm9yZy8kcGtnbmFtZS0kdmVyc2lvbi9zb3VyY2UvJHBrZ25hbWUtJHZlcnNpb24udGFy Lmd6IgotY2hlY2tzdW09MDY5ZDU4YjFlMmMwNmJiMWU2YzMxMjQ5ZWRhMzQxMzhmNDFmYjhhZTNk ZWM3ZWNhZWJhODAzNTgxMmM4N2NmOQoraG9tZXBhZ2U9Imh0dHBzOi8vbWFyaWFkYi5jb20iCitk aXN0ZmlsZXM9Imh0dHA6Ly9hcmNoaXZlLm1hcmlhZGIub3JnLyRwa2duYW1lLSR2ZXJzaW9uL3Nv dXJjZS8ke3BrZ25hbWV9LSR7dmVyc2lvbn0udGFyLmd6IgorY2hlY2tzdW09NDBhYjE5YWViOGRl MTQxZmRjMTg4Y2YyMjUxMjEzYzllNzM1MWJlZTRkMGNkMjlkYjcwNGZhZTY4ZDEwNjhjZgogbGli MzJkaXNhYmxlZD15ZXMKIHByb3ZpZGVzPSJteXNxbC0ke3ZlcnNpb259XyR7cmV2aXNpb259Igog cmVwbGFjZXM9Im15c3FsPj0wIgotY29uZl9maWxlcz0iL2V0Yy9teXNxbC9teS5jbmYiCiBzeXN0 ZW1fYWNjb3VudHM9Im15c3FsIgogbXlzcWxfaG9tZWRpcj0iL3Zhci9saWIvbXlzcWwiCi1DRkxB R1M9Ii13IC1mY29tbW9uIC1EREJVR19PRkY9MSIKLUNYWEZMQUdTPSItRERCVUdfT0ZGPTEiCitp Z25vcmVfZWxmX2RpcnM9Ii91c3Ivc2hhcmUiCittYWtlX2NoZWNrPWV4dGVuZGVkCiAKIHByZV9j b25maWd1cmUoKSB7Ci0JIyBXZSBuZWVkIHNvbWUgaG9zdCBiaW5hcmllcyBiZWZvcmUgc3RhcnRp bmcgY3Jvc3MgY29tcGlsYXRpb24uCi0JaWYgWyAiJENST1NTX0JVSUxEIiBdOyB0aGVuCi0JCW1r ZGlyIC1wIGJ1aWxkLm5hdGl2ZQotCQkjIFhYWCBzdGlsbCBicm9rZW46IGplbWFsbG9jIGNvbmZp Z3VyZSBleGVjcyBob3N0IGJpbnMuCi0JCUNDPSBDWFg9IENQUD0gTEQ9IEFSPSBBUz0gUkFOTElC PSBDRkxBR1M9IENYWEZMQUdTPSBMREZMQUdTPSBcCi0JCQljbWFrZSAtUyAuIC1CIGJ1aWxkLm5h dGl2ZQotCQltYWtlIC1DIGJ1aWxkLm5hdGl2ZSBjb21wX2VyciBjb21wX3NxbCBnZW5fbGV4X2hh c2ggZ2VuX2xleF90b2tlbgotCWZpCi19Ci0KLXByZV9idWlsZCgpIHsKLQlpZiBbICIkQ1JPU1Nf QlVJTEQiIF07IHRoZW4KLQkJIyBDTWFrZSBjb21wbGFpbnMgaWYgdGhvc2UgYmluYXJpZXMgYWlu J3QgaW4gYnVpbGQKLQkJY3AgYnVpbGQubmF0aXZlL2V4dHJhL2NvbXBfZXJyICR7d3Jrc3JjfS9l eHRyYQotCQljcCBidWlsZC5uYXRpdmUvZXh0cmEvY29tcF9lcnIgJHt3cmtzcmN9L2J1aWxkL2V4 dHJhCi0JCWNwIGJ1aWxkLm5hdGl2ZS9zY3JpcHRzL2NvbXBfc3FsICR7d3Jrc3JjfS9zY3JpcHRz Ci0JCWNwIGJ1aWxkLm5hdGl2ZS9zY3JpcHRzL2NvbXBfc3FsICR7d3Jrc3JjfS9idWlsZC9zY3Jp cHRzCi0JCWNwIGJ1aWxkLm5hdGl2ZS9zcWwvZ2VuX2xleF9oYXNoICR7d3Jrc3JjfS9zcWwKLQkJ Y3AgYnVpbGQubmF0aXZlL3NxbC9nZW5fbGV4X2hhc2ggJHt3cmtzcmN9L2J1aWxkL3NxbAotCQlj cCBidWlsZC5uYXRpdmUvc3FsL2dlbl9sZXhfdG9rZW4gJHt3cmtzcmN9L3NxbAotCQljcCBidWls ZC5uYXRpdmUvc3FsL2dlbl9sZXhfdG9rZW4gJHt3cmtzcmN9L2J1aWxkL3NxbAotCQlleHBvcnQg UEFUSD0ke1BBVEh9OiR7d3Jrc3JjfS9leHRyYToke3dya3NyY30vc2NyaXB0czoke3dya3NyY30v c3FsCi0JZmkKLQlleHBvcnQgTERfTElCUkFSWV9QQVRIPSR7d3Jrc3JjfS9idWlsZC9zdG9yYWdl L3Rva3VkYi9mdC1pbmRleC9wb3J0YWJpbGl0eQotCSMgSXQgc2VlbXMgdGhhdCB0aGVyZSBpcyBu byBkZXBlbmRlbmN5IGxpc3RlZCBpbiBjbWFrZSBvbiB0aGVtLCBidXQgdGhleSBhcmUgc3RpbGwg bmVlZGVkCi0JbmluamEgLUMgYnVpbGQgc3FsL3NxbF95YWNjLmNjIHNxbC9sZXhfaGFzaC5oCisJ Y2FzZSAiJFhCUFNfVEFSR0VUX01BQ0hJTkUiIGluCisJCSotbXVzbCkKKwkJCXBhdGNoIC1wMCAt aSAke0ZJTEVTRElSfS9tdXNsLWhhdmUtc3RhY2t0cmFjZS5wYXRjaAorCQkJcGF0Y2ggLXAwIC1p ICR7RklMRVNESVJ9L211c2wtZGlzYWJsZS1mYWlsaW5nLXRlc3QucGF0Y2gKKwkJCXBhdGNoIC1w MCAtaSAke0ZJTEVTRElSfS9tdXNsLXBwYy1yZW1vdmUtZ2xpYmMtZGVwLnBhdGNoCisJCQk7Owor CWVzYWMKIH0KIAogcG9zdF9pbnN0YWxsKCkgewpAQCAtNzIsOCArNTEsOCBAQCBwb3N0X2luc3Rh bGwoKSB7CiAJcm0gLWYgJHtERVNURElSfS91c3Ivc2hhcmUvbWFuL21hbjEvbXlzcWwtdGVzdC1y dW4ucGwuMQogCXJtIC1mICR7REVTVERJUn0vdXNyL2Jpbi9teXRvcAogCi0JIyBDb25maWd1cmF0 aW9uIGZpbGUuCi0JaW5zdGFsbCAtRG02NDQgJHtERVNURElSfS91c3Ivc2hhcmUvbXlzcWwvbXkt bWVkaXVtLmNuZiAke0RFU1RESVJ9L2V0Yy9teXNxbC9teS5jbmYKKwl2bWtkaXIgdXNyL2xpYi9z ZWN1cml0eQorCW12ICR7REVTVERJUn0vdXNyL3NoYXJlL3BhbV91c2VyX21hcC5zbyAke0RFU1RE SVJ9L3Vzci9saWIvc2VjdXJpdHkvCiAKIAl2c3YgbXlzcWxkCiB9CkBAIC04Myw4ICs2Miw3IEBA IGxpYm1hcmlhZGJjbGllbnRfcGFja2FnZSgpIHsKIAlwcm92aWRlcz0ibGlibXlzcWxjbGllbnQt JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKIAlyZXBsYWNlcz0ibGlibXlzcWxjbGllbnQ+PTAiCiAJ cGtnX2luc3RhbGwoKSB7Ci0JCXZtb3ZlICJ1c3IvbGliL2xpYm15c3FsZC5zby4qIgotCQl2bW92 ZSAidXNyL2xpYi9saWJteXNxbGNsaWVudCouc28uKiIKKwkJdm1vdmUgInVzci9saWIvbGlibWFy aWFkYiouc28uKiIKIAl9CiB9CiBsaWJtYXJpYWRiY2xpZW50LWRldmVsX3BhY2thZ2UoKSB7CmRp ZmYgLS1naXQgYS9zcmNwa2dzL21hcmlhZGIvdXBkYXRlIGIvc3JjcGtncy9tYXJpYWRiL3VwZGF0 ZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTc5ZWIyN2M1ZThhLi4wMDAwMDAwMDAw MDAKLS0tIGEvc3JjcGtncy9tYXJpYWRiL3VwZGF0ZQorKysgL2Rldi9udWxsCkBAIC0xLDIgKzAs MCBAQAotc2l0ZT0iaHR0cHM6Ly9kb3dubG9hZHMubWFyaWFkYi5vcmcvbWFyaWFkYi8iCi1wYXR0 ZXJuPSIvbWFyaWFkYi9cS1tcZC5dKyg/PS8pIgo= --===============3189530493026792580==--