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 8918 invoked from network); 16 Feb 2021 17:25:52 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 16 Feb 2021 17:25:52 -0000 Content-Type: multipart/mixed; boundary="===============8872422623923977307==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_New_package=3A_libgccjit-10=2E2=2E1=5Fpre1?= To: ml@inbox.vuxu.org From: lane-brain Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Tue, 16 Feb 2021 18:25:52 +0100 List-Id: Message-ID: <20210216172552.wZ9dZcbMdPRcC0JOrouuNLdTmjiWvPqex2J3zKYu5bk@z> GitHub notification mails are now in MIME to allow UTF8. --===============8872422623923977307== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgbGFuZS1icmFpbiBhZ2FpbnN0IG1h c3RlciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20v bGFuZS1icmFpbi92b2lkLXBhY2thZ2VzIGxpYmdjY2ppdC12b2lkCmh0dHBzOi8vZ2l0aHViLmNv bS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvcHVsbC8yODc4NQoKTmV3IHBhY2thZ2U6IGxpYmdj Y2ppdC0xMC4yLjFfcHJlMQo8IS0tIE1hcmsgaXRlbXMgd2l0aCBbeF0gd2hlcmUgYXBwbGljYWJs ZSAtLT4NCg0KIyMjIyBHZW5lcmFsDQotIFt4XSBUaGlzIGlzIGEgbmV3IHBhY2thZ2UgYW5kIGl0 IGNvbmZvcm1zIHRvIHRoZSBbcXVhbGl0eSByZXF1aXJlbWVudHNdKGh0dHBzOi8vZ2l0aHViLmNv bS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvYmxvYi9tYXN0ZXIvTWFudWFsLm1kI3F1YWxpdHkt cmVxdWlyZW1lbnRzKQ0KDQojIyMjIEhhdmUgdGhlIHJlc3VsdHMgb2YgdGhlIHByb3Bvc2VkIGNo YW5nZXMgYmVlbiB0ZXN0ZWQ/DQotIFt4XSBJIHVzZSB0aGUgcGFja2FnZXMgYWZmZWN0ZWQgYnkg dGhlIHByb3Bvc2VkIGNoYW5nZXMgb24gYSByZWd1bGFyIGJhc2lzIGFuZCBjb25maXJtIHRoaXMg UFIgd29ya3MgZm9yIG1lDQotIFsgXSBJIGdlbmVyYWxseSBkb24ndCB1c2UgdGhlIGFmZmVjdGVk IHBhY2thZ2VzIGJ1dCBicmllZmx5IHRlc3RlZCB0aGlzIFBSDQoNCjwhLS0NCklmIEdpdEh1YiBD SSBjYW5ub3QgYmUgdXNlZCB0byB2YWxpZGF0ZSB0aGUgYnVpbGQgcmVzdWx0IChmb3IgZXhhbXBs ZSwgaWYgdGhlDQpidWlsZCBpcyBsaWtlbHkgdG8gdGFrZSBzZXZlcmFsIGhvdXJzKSwgbWFrZSBz dXJlIHRvDQpbc2tpcCBDSV0oaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNr YWdlcy9ibG9iL21hc3Rlci9DT05UUklCVVRJTkcubWQjY29udGludW91cy1pbnRlZ3JhdGlvbiku DQpXaGVuIHNraXBwaW5nIENJLCB1bmNvbW1lbnQgYW5kIGZpbGwgb3V0IHRoZSBmb2xsb3dpbmcg c2VjdGlvbi4NCk5vdGU6IGZvciBidWlsZHMgdGhhdCBhcmUgbGlrZWx5IHRvIGNvbXBsZXRlIGlu IGxlc3MgdGhhbiAyIGhvdXJzLCBpdCBpcyBub3QNCmFjY2VwdGFibGUgdG8gc2tpcCBDSS4NCi0t Pg0KPCEtLSANCiMjIyMgRG9lcyBpdCBidWlsZCBhbmQgcnVuIHN1Y2Nlc3NmdWxseT8gDQooUGxl YXNlIGNob29zZSBhdCBsZWFzdCBvbmUgbmF0aXZlIGJ1aWxkIGFuZCwgaWYgc3VwcG9ydGVkLCBh dCBsZWFzdCBvbmUgY3Jvc3MgYnVpbGQuIE1vcmUgYXJlIGJldHRlci4pDQotIFt4XSBJIGJ1aWx0 IHRoaXMgUFIgbG9jYWxseSBmb3IgbXkgbmF0aXZlIGFyY2hpdGVjdHVyZSwgKHg4Nl82NC1nbGli YykNCi0gWyBdIEkgYnVpbHQgdGhpcyBQUiBsb2NhbGx5IGZvciB0aGVzZSBhcmNoaXRlY3R1cmVz IChpZiBzdXBwb3J0ZWQuIG1hcmsgY3Jvc3NidWlsZHMpOg0KICAtIFsgXSBhYXJjaDY0LW11c2wN CiAgLSBbIF0gYXJtdjdsDQogIC0gWyBdIGFybXY2bC1tdXNsDQotLT4KCkEgcGF0Y2ggZmlsZSBm cm9tIGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvcHVsbC8yODc4 NS5wYXRjaCBpcyBhdHRhY2hlZA== --===============8872422623923977307== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-libgccjit-void-28785.patch" RnJvbSA0MTFkOTkyOWI0ZWQyNTk1NmFmMjE2YzY0M2U5YzE2NWE4ZmMyNmE2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBsYW5lLWJyYWluIDxsYW5lQG1haWxib3gub3JnPgpEYXRlOiBN b24sIDE1IEZlYiAyMDIxIDIwOjMyOjUxIC0wNTAwClN1YmplY3Q6IFtQQVRDSCAxLzNdIE5ldyBw YWNrYWdlOiBsaWJnY2NqaXQtMTAuMi4xX3ByZTEKCi0tLQogc3JjcGtncy9saWJnY2NqaXQvZmls ZXMvYzg5LjEgICAgICAgICAgICAgICAgIHwgIDgwICsrKysrKwogc3JjcGtncy9saWJnY2NqaXQv ZmlsZXMvYzg5LnNoICAgICAgICAgICAgICAgIHwgICAyICsKIHNyY3BrZ3MvbGliZ2Njaml0L2Zp bGVzL2M5OS4xICAgICAgICAgICAgICAgICB8ICA4MSArKysrKysKIHNyY3BrZ3MvbGliZ2Njaml0 L2ZpbGVzL2M5OS5zaCAgICAgICAgICAgICAgICB8ICAgMiArCiBzcmNwa2dzL2xpYmdjY2ppdC9m aWxlcy9nY2Nnby1tdXNsLnBhdGNoICAgICAgfCAyMjIgKysrKysrKysrKysrKysrKwogc3JjcGtn cy9saWJnY2NqaXQvZmlsZXMvbGliZ25hcmwtbXVzbC5wYXRjaCAgIHwgMTI1ICsrKysrKysrKwog c3JjcGtncy9saWJnY2NqaXQvZmlsZXMvbGlic3NwLW11c2wucGF0Y2ggICAgIHwgIDcwICsrKysr CiBzcmNwa2dzL2xpYmdjY2ppdC9wYXRjaGVzL2FkYS1zaGFyZWQucGF0Y2ggICAgfCAgMjggKysK IC4uLi9wYXRjaGVzL2NvbnNpc3RlbnQtbGlicmFyeS1wYXRocy5wYXRjaCAgICB8IDExMCArKysr KysrKwogLi4uL3BhdGNoZXMvZml4LWN4eGZsYWdzLXBhc3NpbmcucGF0Y2ggICAgICAgIHwgIDEw ICsKIC4uLi9saWJnY2NqaXQvcGF0Y2hlcy9maXgtbXVzbC1leGVjaW5mby5wYXRjaCB8ICAzMyAr KysKIC4uLi9wYXRjaGVzL2ZpeC12dHYtbGluay1vcmRlci5wYXRjaCAgICAgICAgICB8ICAyMCAr KwogLi4uL2xpYmdjY2ppdC9wYXRjaGVzL2xpYmZmaV9nbnVsaW51eC5wYXRjaCAgIHwgIDExICsK IC4uLi9wYXRjaGVzL2xpYmdjYy1pYm0xMjgtbm8tdGFnLnBhdGNoICAgICAgICB8ICAzOCArKysK IC4uLi9saWJnY2NqaXQvcGF0Y2hlcy9taXBzLXNnaWRlZnNfaC5wYXRjaCAgICB8ICAxMSArCiAu Li4vbGliZ2Njaml0L3BhdGNoZXMvbWlwcy1zb2Z0LWZsb2F0LnBhdGNoICAgfCAgMTggKysKIHNy Y3BrZ3MvbGliZ2Njaml0L3BhdGNoZXMvbXVzbC1hZGEucGF0Y2ggICAgICB8IDIwNCArKysrKysr KysrKysrKysKIHNyY3BrZ3MvbGliZ2Njaml0L3RlbXBsYXRlICAgICAgICAgICAgICAgICAgICB8 IDI0MSArKysrKysrKysrKysrKysrKysKIHNyY3BrZ3MvbGliZ2Njaml0L3VwZGF0ZSAgICAgICAg ICAgICAgICAgICAgICB8ICAgMiArCiAxOSBmaWxlcyBjaGFuZ2VkLCAxMzA4IGluc2VydGlvbnMo KykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2xpYmdjY2ppdC9maWxlcy9jODkuMQogY3Jl YXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbGliZ2Njaml0L2ZpbGVzL2M4OS5zaAogY3JlYXRlIG1v ZGUgMTAwNjQ0IHNyY3BrZ3MvbGliZ2Njaml0L2ZpbGVzL2M5OS4xCiBjcmVhdGUgbW9kZSAxMDA2 NDQgc3JjcGtncy9saWJnY2NqaXQvZmlsZXMvYzk5LnNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3Jj cGtncy9saWJnY2NqaXQvZmlsZXMvZ2NjZ28tbXVzbC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0 IHNyY3BrZ3MvbGliZ2Njaml0L2ZpbGVzL2xpYmduYXJsLW11c2wucGF0Y2gKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBzcmNwa2dzL2xpYmdjY2ppdC9maWxlcy9saWJzc3AtbXVzbC5wYXRjaAogY3JlYXRl IG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbGliZ2Njaml0L3BhdGNoZXMvYWRhLXNoYXJlZC5wYXRjaAog Y3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbGliZ2Njaml0L3BhdGNoZXMvY29uc2lzdGVudC1s aWJyYXJ5LXBhdGhzLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9saWJnY2NqaXQv cGF0Y2hlcy9maXgtY3h4ZmxhZ3MtcGFzc2luZy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNy Y3BrZ3MvbGliZ2Njaml0L3BhdGNoZXMvZml4LW11c2wtZXhlY2luZm8ucGF0Y2gKIGNyZWF0ZSBt b2RlIDEwMDY0NCBzcmNwa2dzL2xpYmdjY2ppdC9wYXRjaGVzL2ZpeC12dHYtbGluay1vcmRlci5w YXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbGliZ2Njaml0L3BhdGNoZXMvbGliZmZp X2dudWxpbnV4LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9saWJnY2NqaXQvcGF0 Y2hlcy9saWJnY2MtaWJtMTI4LW5vLXRhZy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3Br Z3MvbGliZ2Njaml0L3BhdGNoZXMvbWlwcy1zZ2lkZWZzX2gucGF0Y2gKIGNyZWF0ZSBtb2RlIDEw MDY0NCBzcmNwa2dzL2xpYmdjY2ppdC9wYXRjaGVzL21pcHMtc29mdC1mbG9hdC5wYXRjaAogY3Jl YXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbGliZ2Njaml0L3BhdGNoZXMvbXVzbC1hZGEucGF0Y2gK IGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2xpYmdjY2ppdC90ZW1wbGF0ZQogY3JlYXRlIG1v ZGUgMTAwNjQ0IHNyY3BrZ3MvbGliZ2Njaml0L3VwZGF0ZQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv bGliZ2Njaml0L2ZpbGVzL2M4OS4xIGIvc3JjcGtncy9saWJnY2NqaXQvZmlsZXMvYzg5LjEKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjNlZDk4NGRhMzNmCi0tLSAvZGV2 L251bGwKKysrIGIvc3JjcGtncy9saWJnY2NqaXQvZmlsZXMvYzg5LjEKQEAgLTAsMCArMSw4MCBA QAorLlwiCSROZXRCU0Q6IGM4OS4xLHYgMS4yIDIwMDgvMDQvMzAgMTM6MTA6NTAgbWFydGluIEV4 cCAkCisuXCIKKy5cIiBDb3B5cmlnaHQgKGMpIDE5OTkgVGhlIE5ldEJTRCBGb3VuZGF0aW9uLCBJ bmMuCisuXCIgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy5cIgorLlwiIFJlZGlzdHJpYnV0aW9uIGFu ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorLlwiIG1v ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u ZGl0aW9ucworLlwiIGFyZSBtZXQ6CisuXCIgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy5cIiAgICBub3RpY2UsIHRoaXMg bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisuXCIgMi4g UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj b3B5cmlnaHQKKy5cIiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisuXCIgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKy5cIgorLlwi IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIE5FVEJTRCBGT1VOREFUSU9OLCBJTkMu IEFORCBDT05UUklCVVRPUlMKKy5cIiBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQKKy5cIiBUTywgVEhFIElN UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS VElDVUxBUgorLlwiIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBU SEUgRk9VTkRBVElPTiBPUiBDT05UUklCVVRPUlMKKy5cIiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisuXCIgQ09O U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS RU1FTlQgT0YKKy5cIiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy5cIiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorLlwiIENP TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP UiBPVEhFUldJU0UpCisuXCIgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUKKy5cIiBQT1NTSUJJTElUWSBPRiBT VUNIIERBTUFHRS4KKy5cIgorLkRkIEphbnVhcnkgNSwgMTk5OQorLkR0IEM4OSAxCisuT3MKKy5T aCBOQU1FCisuTm0gYzg5CisuTmQgQU5TSSAoMTk4OSkgQyBjb21waWxlcgorLlNoIFNZTk9QU0lT CisuTm0KKy5PcCBGbCBwZWRhbnRpYworLk9wIEZsIHBlZGFudGljLWVycm9ycworLk9wIEZsIERf QU5TSV9TT1VSQ0UKKy5PcCBvcHRpb25zIC4uLgorLlNoIERFU0NSSVBUSU9OCitDYWxscyB0aGUg QyBjb21waWxlciAoY2MpIHdpdGggdGhlIGdpdmVuCisuQXIgb3B0aW9ucyAsCit1c2luZyBhIEMg bGFuZ3VhZ2UgZW52aXJvbm1lbnQgY29tcGF0aWJsZSB3aXRoIHRoZQorLlN0IC1hbnNpQworc3Bl Y2lmaWNhdGlvbi4KKy5QcAorVGhpcyBpbmNsdWRlcyBwcm9wZXIgaGFuZGxpbmcgb2YgdHJpZ3Jh cGhzLAorZGlzYWJsaW5nIG5vbi1BTlNJIGNvbXBpbGVyIGZlYXR1cmVzIChzdWNoIGFzCisuQXIg YXNtICwKKy5BciBpbmxpbmUgLAorLkFyIHR5cGVvZiAsCithbmQgdGhlICQgY2hhcmFjdGVyIGlu IGlkZW50aWZpZXJzKSwKK2FuZCBkZWZpbml0aW9uIG9mIHRoZSBwcmVwcm9jZXNzb3Igc3ltYm9s CisuRXYgX19TVFJJQ1RfQU5TSV9fIC4KKy5QcAorVGhlIGZvbGxvd2luZyBvcHRpb25zIGFyZSBh dmFpbGFibGU6CisuQmwgLXRhZyAtd2lkdGggLXBlZGFudGljLWVycm9yc3h4CisuSXQgRmwgcGVk YW50aWMKK0lzc3VlIGV4dHJhIHdhcm5pbmdzIGRlZmluZWQgYnkgQU5TSSBmb3IgdXNlIG9mIG5v bi1BTlNJIGZlYXR1cmVzLgorLkl0IEZsIHBlZGFudGljLWVycm9ycworSXNzdWUgZXJyb3JzIGlu c3RlYWQgb2Ygd2FybmluZ3MgdGhhdCBub3JtYWxseSB3b3VsZCBiZSBwcmVzZW50ZWQgYnkKKy5G bCBwZWRhbnRpYyAuCisuSXQgRmwgRF9BTlNJX1NPVVJDRQorVGVsbCB0aGUgc3lzdGVtIGhlYWRl ciBmaWxlIHNldCB0byB1c2UgYW4gQU5TSS1jb25mb3JtYW50ICJjbGVhbiIgbmFtZXNwYWNlLgor LkVsCisuU2ggU0VFIEFMU08KKy5YciBjYyAxCisuU2ggU1RBTkRBUkRTCisuTm0KK2NvbmZvcm1z IHRvCisuU3QgLXAxMDAzLjItOTIgLgorLlNoIEhJU1RPUlkKKy5ObQorYXBwZWFyZWQgaW4KKy5O eCAxLjQgLgorLlNoIEJVR1MKK1NpbmNlCisuTm0KK2lzIGEgc2hlbGwgd3JhcHBlciBzY3JpcHQg dG8KKy5BciBjYyAsCitjb21waWxlIGVycm9ycyBhcmUgcHJlZml4ZWQgYnkgImNjOiIuCmRpZmYg LS1naXQgYS9zcmNwa2dzL2xpYmdjY2ppdC9maWxlcy9jODkuc2ggYi9zcmNwa2dzL2xpYmdjY2pp dC9maWxlcy9jODkuc2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjUy ZDZkNDU0MzFiCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9saWJnY2NqaXQvZmlsZXMvYzg5 LnNoCkBAIC0wLDAgKzEsMiBAQAorIyEvYmluL3NoCitleGVjIC91c3IvYmluL2NjIC1zdGQ9Yzg5 ICIkQCIKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbGliZ2Njaml0L2ZpbGVzL2M5OS4xIGIvc3JjcGtn cy9saWJnY2NqaXQvZmlsZXMvYzk5LjEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwMDAuLmQzNjhmMWE4NzRiCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9saWJnY2NqaXQv ZmlsZXMvYzk5LjEKQEAgLTAsMCArMSw4MSBAQAorLlwiCSROZXRCU0Q6IGM5OS4xLHYgMS4zIDIw MTAvMDUvMTQgMDE6NTM6Mjggam9lcmcgRXhwICQKKy5cIgorLlwiIENvcHlyaWdodCAoYykgMTk5 OS0yMDA4IFRoZSBOZXRCU0QgRm91bmRhdGlvbiwgSW5jLgorLlwiIEFsbCByaWdodHMgcmVzZXJ2 ZWQuCisuXCIKKy5cIiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5 IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKy5cIiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKy5cIiBhcmUgbWV0OgorLlwi IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg Y29weXJpZ2h0CisuXCIgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorLlwiIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisuXCIgICAgbm90aWNlLCB0 aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo ZQorLlwiICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3 aXRoIHRoZSBkaXN0cmlidXRpb24uCisuXCIKKy5cIiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE IEJZIFRIRSBORVRCU0QgRk9VTkRBVElPTiwgSU5DLiBBTkQgQ09OVFJJQlVUT1JTCisuXCIgYGBB UyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg QlVUIE5PVCBMSU1JVEVECisuXCIgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKy5cIiBQVVJQT1NFIEFSRSBE SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEZPVU5EQVRJT04gT1IgQ09OVFJJQlVU T1JTCisuXCIgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorLlwiIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisuXCIgU1VCU1RJVFVURSBH T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO RVNTCisuXCIgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKy5cIiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorLlwiIEFSSVNJTkcg SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT RUQgT0YgVEhFCisuXCIgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisuXCIKKy5EZCBTZXB0 ZW1iZXIgMjQsIDIwMDgKKy5EdCBDOTkgMQorLk9zCisuU2ggTkFNRQorLk5tIGM5OQorLk5kIEFO U0kgKDE5OTkpIEMgY29tcGlsZXIKKy5TaCBTWU5PUFNJUworLk5tCisuT3AgRmwgcGVkYW50aWMK Ky5PcCBGbCBwZWRhbnRpYy1lcnJvcnMKKy5PcCBGbCBEX0FOU0lfU09VUkNFCisuT3Agb3B0aW9u cyAuLi4KKy5TaCBERVNDUklQVElPTgorQ2FsbHMgdGhlIEMgY29tcGlsZXIgKGNjKSB3aXRoIHRo ZSBnaXZlbgorLkFyIG9wdGlvbnMgLAordXNpbmcgYSBDIGxhbmd1YWdlIGVudmlyb25tZW50IGNv bXBhdGlibGUgd2l0aCB0aGUKKy5TdCAtaXNvQy05OQorc3BlY2lmaWNhdGlvbi4KKy5QcAorVGhp cyBpbmNsdWRlcworaW5saW5lIGZ1bmN0aW9ucywgdmFyaWFibGUtbGVuZ3RoIGFycmF5cywgc3Vw cG9ydCBmb3Igb25lLWxpbmUKK2NvbW1lbnRzIGJlZ2lubmluZyB3aXRoIC8vLAorZGlzYWJsaW5n IG5vbi1BTlNJIGNvbXBpbGVyIGZlYXR1cmVzIChzdWNoIGFzCisuQXIgYXNtICwKKy5BciB0eXBl b2YgLAorYW5kIHRoZSAkIGNoYXJhY3RlciBpbiBpZGVudGlmaWVycyksCithbmQgZGVmaW5pdGlv biBvZiB0aGUgcHJlcHJvY2Vzc29yIHN5bWJvbAorLkV2IF9fU1RSSUNUX0FOU0lfXyAuCisuUHAK K1RoZSBmb2xsb3dpbmcgb3B0aW9ucyBhcmUgYXZhaWxhYmxlOgorLkJsIC10YWcgLXdpZHRoIC1w ZWRhbnRpYy1lcnJvcnN4eAorLkl0IEZsIHBlZGFudGljCitJc3N1ZSBleHRyYSB3YXJuaW5ncyBk ZWZpbmVkIGJ5IEFOU0kgZm9yIHVzZSBvZiBub24tQU5TSSBmZWF0dXJlcy4KKy5JdCBGbCBwZWRh bnRpYy1lcnJvcnMKK0lzc3VlIGVycm9ycyBpbnN0ZWFkIG9mIHdhcm5pbmdzIHRoYXQgbm9ybWFs bHkgd291bGQgYmUgcHJlc2VudGVkIGJ5CisuRmwgcGVkYW50aWMgLgorLkl0IEZsIERfQU5TSV9T T1VSQ0UKK1RlbGwgdGhlIHN5c3RlbSBoZWFkZXIgZmlsZSBzZXQgdG8gdXNlIGFuIEFOU0ktY29u Zm9ybWFudCAiY2xlYW4iIG5hbWVzcGFjZS4KKy5FbAorLlNoIFNFRSBBTFNPCisuWHIgY2MgMQor LlNoIFNUQU5EQVJEUworLk5tCitjb25mb3JtcyB0bworLlN0IC1wMTAwMy4yLTkyIC4KKy5TaCBI SVNUT1JZCisuTm0KK2ZpcnN0IGFwcGVhcmVkIGluCisuTnggNS4wIC4KKy5TaCBCVUdTCitTaW5j ZQorLk5tCitpcyBhIHNoZWxsIHdyYXBwZXIgc2NyaXB0IHRvCisuQXIgY2MgLAorY29tcGlsZSBl cnJvcnMgYXJlIHByZWZpeGVkIGJ5ICJjYzoiLgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9saWJnY2Nq aXQvZmlsZXMvYzk5LnNoIGIvc3JjcGtncy9saWJnY2NqaXQvZmlsZXMvYzk5LnNoCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4xNWNhYjQ3Yzc0OAotLS0gL2Rldi9udWxs CisrKyBiL3NyY3BrZ3MvbGliZ2Njaml0L2ZpbGVzL2M5OS5zaApAQCAtMCwwICsxLDIgQEAKKyMh L2Jpbi9zaAorZXhlYyAvdXNyL2Jpbi9jYyAtc3RkPWM5OSAiJEAiCmRpZmYgLS1naXQgYS9zcmNw a2dzL2xpYmdjY2ppdC9maWxlcy9nY2Nnby1tdXNsLnBhdGNoIGIvc3JjcGtncy9saWJnY2NqaXQv ZmlsZXMvZ2NjZ28tbXVzbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMC4uYTJjZTRiMmIwNDYKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2xpYmdjY2ppdC9m aWxlcy9nY2Nnby1tdXNsLnBhdGNoCkBAIC0wLDAgKzEsMjIyIEBACitUaGlzIGlzIG5vdCBhbW9u ZyB0aGUgbm9ybWFsIHBhdGNoZXMgYXMgdGhlc2UgY2hhbmdlcyBhcmUgbXVzbCBzcGVjaWZpYyBh bmQKK3RoZXJlIGlzIG5vIHdheSB0byBlYXNpbHkgY29uZGl0aW9uYWxpemUgaXQgaW4gc291cmNl IGZvciBzb21lIG9mIHRoZSBjaGFuZ2VzLgorCitBZGRlZCBieSBxNjY6IHJ1bnRpbWUuaCBub3cg dXNlcyBsaWJ1Y29udGV4dF8gcHJlZml4ZWQgQVBJcyB0byBhbGxvdyBidWlsZAord2l0aCBmcmVl c3RhbmRpbmcgdmVyc2lvbnMgb2YgbGlidWNvbnRleHQKKworU291dXJjZTogQWTDqWxpZSBMaW51 eCwgcTY2CitVUkw6IGh0dHBzOi8vY29kZS5mb3hraXQudXMvYWRlbGllL3BhY2thZ2VzL3RyZWUv bWFzdGVyL3N5c3RlbS9nY2MKKworLS0tIE1ha2VmaWxlLmluCisrKysgTWFrZWZpbGUuaW4KK0BA IC00NjMyNSw3ICs0NjMyNSw3IEBAIGNvbmZpZ3VyZS10YXJnZXQtbGliZ286CisgCWVzYWM7IFwK KyAJbW9kdWxlX3NyY2Rpcj1saWJnbzsgXAorIAlybSAtZiBuby1zdWNoLWZpbGUgfHwgOiA7IFwK Ky0JQ09ORklHX1NJVEU9bm8tc3VjaC1maWxlICQoU0hFTEwpIFwKKysJQ09ORklHX1NJVEU9bm8t c3VjaC1maWxlIExJQlM9Ii1sdWNvbnRleHQgJCRMSUJTIiAkKFNIRUxMKSBcCisgCSAgJCRzLyQk bW9kdWxlX3NyY2Rpci9jb25maWd1cmUgXAorIAkgIC0tc3JjZGlyPSQke3RvcGRpcn0vJCRtb2R1 bGVfc3JjZGlyIFwKKyAJICAkKFRBUkdFVF9DT05GSUdBUkdTKSAtLWJ1aWxkPSR7YnVpbGRfYWxp YXN9IC0taG9zdD0ke3RhcmdldF9hbGlhc30gXAorLS0tIGxpYmdvL21rc3lzaW5mby5zaAorKysr IGxpYmdvL21rc3lzaW5mby5zaAorQEAgLTM3OSwxMSArMzc5LDcgQEAgZmkKKyAjIFNvbWUgYmFz aWMgdHlwZXMuCisgZWNobyAndHlwZSBTaXplX3QgX3NpemVfdCcgPj4gJHtPVVR9CisgZWNobyAi dHlwZSBTc2l6ZV90IF9zc2l6ZV90IiA+PiAke09VVH0KKy1pZiBncmVwICdeY29uc3QgX0hBVkVf T0ZGNjRfVCA9ICcgZ2VuLXN5c2luZm8uZ28gPiAvZGV2L251bGwgMj4mMTsgdGhlbgorLSAgZWNo byAidHlwZSBPZmZzZXRfdCBfb2ZmNjRfdCIgPj4gJHtPVVR9CistZWxzZQorLSAgZWNobyAidHlw ZSBPZmZzZXRfdCBfb2ZmX3QiID4+ICR7T1VUfQorLWZpCisrZWNobyAidHlwZSBPZmZzZXRfdCBf b2ZmX3QiID4+ICR7T1VUfQorIGVjaG8gInR5cGUgTW9kZV90IF9tb2RlX3QiID4+ICR7T1VUfQor IGVjaG8gInR5cGUgUGlkX3QgX3BpZF90IiA+PiAke09VVH0KKyBlY2hvICJ0eXBlIFVpZF90IF91 aWRfdCIgPj4gJHtPVVR9CistLS0gbGliZ28vZ28vcnVudGltZS9tZW1fZ2NjZ28uZ28KKysrKyBs aWJnby9nby9ydW50aW1lL21lbV9nY2Nnby5nbworQEAgLTE2LDcgKzE2LDcgQEAgaW1wb3J0ICgK KyAvL2dvOmxpbmtuYW1lIHN5c0ZyZWUgcnVudGltZS5zeXNGcmVlCisgCisgLy9leHRlcm4gbW1h cAorLWZ1bmMgc3lzTW1hcChhZGRyIHVuc2FmZS5Qb2ludGVyLCBuIHVpbnRwdHIsIHByb3QsIGZs YWdzLCBmZCBpbnQzMiwgb2ZmIHVpbnRwdHIpIHVuc2FmZS5Qb2ludGVyCisrZnVuYyBzeXNNbWFw KGFkZHIgdW5zYWZlLlBvaW50ZXIsIG4gdWludHB0ciwgcHJvdCwgZmxhZ3MsIGZkIGludDMyLCBv ZmYgaW50NjQpIHVuc2FmZS5Qb2ludGVyCisgCisgLy9leHRlcm4gbXVubWFwCisgZnVuYyBtdW5t YXAoYWRkciB1bnNhZmUuUG9pbnRlciwgbGVuZ3RoIHVpbnRwdHIpIGludDMyCitAQCAtMzgsNyAr MzgsNyBAQCBmdW5jIGluaXQoKSB7CisgCX0KKyB9CisgCistZnVuYyBtbWFwKGFkZHIgdW5zYWZl LlBvaW50ZXIsIG4gdWludHB0ciwgcHJvdCwgZmxhZ3MsIGZkIGludDMyLCBvZmYgdWludHB0cikg KHVuc2FmZS5Qb2ludGVyLCBpbnQpIHsKKytmdW5jIG1tYXAoYWRkciB1bnNhZmUuUG9pbnRlciwg biB1aW50cHRyLCBwcm90LCBmbGFncywgZmQgaW50MzIsIG9mZiBpbnQ2NCkgKHVuc2FmZS5Qb2lu dGVyLCBpbnQpIHsKKyAJcCA6PSBzeXNNbWFwKGFkZHIsIG4sIHByb3QsIGZsYWdzLCBmZCwgb2Zm KQorIAlpZiB1aW50cHRyKHApID09IF9NQVBfRkFJTEVEIHsKKyAJCXJldHVybiBuaWwsIGVycm5v KCkKKy0tLSBsaWJnby9nby9ydW50aW1lL3NpZ25hbF9nY2Nnby5nbworKysrIGxpYmdvL2dvL3J1 bnRpbWUvc2lnbmFsX2djY2dvLmdvCitAQCAtMTExLDcgKzExMSw3IEBAIGZ1bmMgZ2V0c2lnKGkg dWludDMyKSB1aW50cHRyIHsKKyAJaWYgc2lnYWN0aW9uKGksIG5pbCwgJnNhKSA8IDAgeworIAkJ Ly8gT24gR05VL0xpbnV4IGdsaWJjIHJlamVjdHMgYXR0ZW1wdHMgdG8gY2FsbAorIAkJLy8gc2ln YWN0aW9uIHdpdGggc2lnbmFsIDMyIChTSUdDQU5DRUwpIG9yIDMzIChTSUdTRVRYSUQpLgorLQkJ aWYgR09PUyA9PSAibGludXgiICYmIChpID09IDMyIHx8IGkgPT0gMzMpIHsKKysJCWlmIEdPT1Mg PT0gImxpbnV4IiAmJiAoaSA9PSAzMiB8fCBpID09IDMzIHx8IGkgPT0gMzQpIHsKKyAJCQlyZXR1 cm4gX1NJR19ERkwKKyAJCX0KKyAJCXRocm93KCJzaWdhY3Rpb24gcmVhZCBmYWlsdXJlIikKKy0t LSBsaWJnby9nby9zeXNjYWxsL2VycnN0ci5nbworKysrIGxpYmdvL2dvL3N5c2NhbGwvZXJyc3Ry LmdvCitAQCAtNSw3ICs1LDYgQEAKKyAvLyBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRo ZSBMSUNFTlNFIGZpbGUuCisgCisgLy8gK2J1aWxkICFodXJkCistLy8gK2J1aWxkICFsaW51eAor IAorIHBhY2thZ2Ugc3lzY2FsbAorIAorLS0tIGxpYmdvL2dvL3N5c2NhbGwvZXJyc3RyX2dsaWJj LmdvCisrKysgL2Rldi9udWxsCitAQCAtMSwzMyArMCwwIEBACistLy8gZXJyc3RyX2dsaWJjLmdv IC0tIEdOVS9MaW51eCBhbmQgR05VL0h1cmQgc3BlY2lmaWMgZXJyb3Igc3RyaW5ncy4KKy0KKy0v LyBDb3B5cmlnaHQgMjAxMCBUaGUgR28gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy0v LyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZQorLS8v IGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy0KKy0vLyBX ZSB1c2UgdGhpcyByYXRoZXIgdGhhbiBlcnJzdHIuZ28gYmVjYXVzZSBvbiBHTlUvTGludXggc3Rl cnJvcl9yCistLy8gcmV0dXJucyBhIHBvaW50ZXIgdG8gdGhlIGVycm9yIG1lc3NhZ2UsIGFuZCBt YXkgbm90IHVzZSBidWYgYXQgYWxsLgorLQorLS8vICtidWlsZCBodXJkIGxpbnV4CistCistcGFj a2FnZSBzeXNjYWxsCistCistaW1wb3J0ICJ1bnNhZmUiCistCistLy9zeXNuYglzdHJlcnJvcl9y KGVycm51bSBpbnQsIGIgW11ieXRlKSAoZXJyc3RyICpieXRlKQorLS8vc3RyZXJyb3JfcihlcnJu dW0gX0NfaW50LCBiICpieXRlLCBsZW4gU2l6ZV90KSAqYnl0ZQorLQorLWZ1bmMgRXJyc3RyKGVy cm51bSBpbnQpIHN0cmluZyB7CistCWEgOj0gbWFrZShbXWJ5dGUsIDEyOCkKKy0JcCA6PSBzdHJl cnJvcl9yKGVycm51bSwgYSkKKy0JYiA6PSAoKlsxMDAwXWJ5dGUpKHVuc2FmZS5Qb2ludGVyKHAp KQorLQlpIDo9IDAKKy0JZm9yIGJbaV0gIT0gMCB7CistCQlpKysKKy0JfQorLQkvLyBMb3dlcmNh c2UgZmlyc3QgbGV0dGVyOiBCYWQgLT4gYmFkLCBidXQgU1RSRUFNIC0+IFNUUkVBTS4KKy0JaWYg aSA+IDEgJiYgJ0EnIDw9IGJbMF0gJiYgYlswXSA8PSAnWicgJiYgJ2EnIDw9IGJbMV0gJiYgYlsx XSA8PSAneicgeworLQkJYyA6PSBiWzBdICsgJ2EnIC0gJ0EnCistCQlyZXR1cm4gc3RyaW5nKGMp ICsgc3RyaW5nKGJbMTppXSkKKy0JfQorLQlyZXR1cm4gc3RyaW5nKGJbOmldKQorLX0KKy0tLSBs aWJnby9nby9zeXNjYWxsL2xpYmNhbGxfbGludXguZ28KKysrKyBsaWJnby9nby9zeXNjYWxsL2xp YmNhbGxfbGludXguZ28KK0BAIC0yMDYsMTkgKzIwNiwxOSBAQCBmdW5jIEdldHRpZCgpICh0aWQg aW50KSB7CisgLy9zeXMJU2V0eGF0dHIocGF0aCBzdHJpbmcsIGF0dHIgc3RyaW5nLCBkYXRhIFtd Ynl0ZSwgZmxhZ3MgaW50KSAoZXJyIGVycm9yKQorIC8vc2V0eGF0dHIocGF0aCAqYnl0ZSwgbmFt ZSAqYnl0ZSwgdmFsdWUgKmJ5dGUsIHNpemUgU2l6ZV90LCBmbGFncyBfQ19pbnQpIF9DX2ludAor IAorLS8vc3lzCXNwbGljZShyZmQgaW50LCByb2ZmICpfbG9mZl90LCB3ZmQgaW50LCB3b2ZmICpf bG9mZl90LCBsZW4gaW50LCBmbGFncyBpbnQpIChuIGludDY0LCBlcnIgZXJyb3IpCistLy9zcGxp Y2UocmZkIF9DX2ludCwgcm9mZiAqX2xvZmZfdCwgd2ZkIF9DX2ludCwgd29mZiAqX2xvZmZfdCwg bGVuIFNpemVfdCwgZmxhZ3MgX0NfdWludCkgU3NpemVfdAorKy8vc3lzCXNwbGljZShyZmQgaW50 LCByb2ZmICpfb2ZmX3QsIHdmZCBpbnQsIHdvZmYgKl9vZmZfdCwgbGVuIGludCwgZmxhZ3MgaW50 KSAobiBpbnQ2NCwgZXJyIGVycm9yKQorKy8vc3BsaWNlKHJmZCBfQ19pbnQsIHJvZmYgKl9vZmZf dCwgd2ZkIF9DX2ludCwgd29mZiAqX29mZl90LCBsZW4gU2l6ZV90LCBmbGFncyBfQ191aW50KSBT c2l6ZV90CisgZnVuYyBTcGxpY2UocmZkIGludCwgcm9mZiAqaW50NjQsIHdmZCBpbnQsIHdvZmYg KmludDY0LCBsZW4gaW50LCBmbGFncyBpbnQpIChuIGludDY0LCBlcnIgZXJyb3IpIHsKKy0JdmFy IGxyb2ZmIF9sb2ZmX3QKKy0JdmFyIHBscm9mZiAqX2xvZmZfdAorKwl2YXIgbHJvZmYgX29mZl90 CisrCXZhciBwbHJvZmYgKl9vZmZfdAorIAlpZiByb2ZmICE9IG5pbCB7CistCQlscm9mZiA9IF9s b2ZmX3QoKnJvZmYpCisrCQlscm9mZiA9IF9vZmZfdCgqcm9mZikKKyAJCXBscm9mZiA9ICZscm9m ZgorIAl9CistCXZhciBsd29mZiBfbG9mZl90CistCXZhciBwbHdvZmYgKl9sb2ZmX3QKKysJdmFy IGx3b2ZmIF9vZmZfdAorKwl2YXIgcGx3b2ZmICpfb2ZmX3QKKyAJaWYgd29mZiAhPSBuaWwgewor LQkJbHdvZmYgPSBfbG9mZl90KCp3b2ZmKQorKwkJbHdvZmYgPSBfb2ZmX3QoKndvZmYpCisgCQlw bHdvZmYgPSAmbHdvZmYKKyAJfQorIAluLCBlcnIgPSBzcGxpY2UocmZkLCBwbHJvZmYsIHdmZCwg cGx3b2ZmLCBsZW4sIGZsYWdzKQorLS0tIGxpYmdvL21rc2lndGFiLnNoCisrKysgbGliZ28vbWtz aWd0YWIuc2gKK0BAIC04Miw3ICs4Miw3IEBAIGNoZWNrc2lnIF9TSUdQV1IgICAgICd7X1NpZ05v dGlmeSwgIlNJR1BXUjogcG93ZXIgZmFpbHVyZSByZXN0YXJ0In0nCisgY2hlY2tzaWcgX1NJR0VN VCAgICAgJ3tfU2lnVGhyb3csICJTSUdFTVQ6IGVtdWxhdGUgaW5zdHJ1Y3Rpb24gZXhlY3V0ZWQi fScKKyBjaGVja3NpZyBfU0lHSU5GTyAgICAne19TaWdOb3RpZnksICJTSUdJTkZPOiBzdGF0dXMg cmVxdWVzdCBmcm9tIGtleWJvYXJkIn0nCisgY2hlY2tzaWcgX1NJR1RIUiAgICAgJ3tfU2lnTm90 aWZ5LCAiU0lHVEhSOiByZXNlcnZlZCJ9JworLWNoZWNrc2lnIF9TSUdQT0xMICAgICd7X1NpZ05v dGlmeSwgIlNJR1BPTEw6IHBvbGxhYmxlIGV2ZW50IG9jY3VycmVkIn0nCisrI2NoZWNrc2lnIF9T SUdQT0xMICAgICd7X1NpZ05vdGlmeSwgIlNJR1BPTEw6IHBvbGxhYmxlIGV2ZW50IG9jY3VycmVk In0nCisgY2hlY2tzaWcgX1NJR1dBSVRJTkcgJ3tfU2lnTm90aWZ5LCAiU0lHV0FJVElORzogcmVz ZXJ2ZWQgc2lnbmFsIG5vIGxvbmdlciB1c2VkIGJ5In0nCisgY2hlY2tzaWcgX1NJR0xXUCAgICAg J3tfU2lnTm90aWZ5LCAiU0lHTFdQOiByZXNlcnZlZCBzaWduYWwgbm8gbG9uZ2VyIHVzZWQgYnki fScKKyBjaGVja3NpZyBfU0lHRlJFRVpFICAne19TaWdOb3RpZnksICJTSUdGUkVFWkU6IHNwZWNp YWwgc2lnbmFsIHVzZWQgYnkgQ1BSIn0nCitAQCAtOTUsMTAgKzk1LDEyIEBAIGNoZWNrc2lnIF9T SUdMT1NUICcgICB7X1NpZ05vdGlmeSwgIlNJR0xPU1Q6IHJlc291cmNlIGxvc3QgKFN1bik7IHNl cnZlciBkaWVkIChHCisgCisgIyBTcGVjaWFsIGhhbmRsaW5nIG9mIHNpZ25hbHMgMzIgYW5kIDMz IG9uIEdOVS9MaW51eCBzeXN0ZW1zLAorICMgYmVjYXVzZSB0aGV5IGFyZSBzcGVjaWFsIHRvIGds aWJjLgorKyMgU2lnbmFsIDM0IGlzIGFkZGl0aW9uYWxseSBzcGVjaWFsIHRvIExpbnV4IHN5c3Rl bXMgd2l0aCBtdXNsLgorIGlmIHRlc3QgIiR7R09PU30iID0gImxpbnV4IjsgdGhlbgorLSAgICBT SUdMSVNUPSRTSUdMSVNUIl8zMl9fMzNfIgorKyAgICBTSUdMSVNUPSRTSUdMSVNUIl8zMl9fMzNf XzM0XyIKKyAgICAgZWNobyAnCTMyOiB7X1NpZ1NldFN0YWNrICsgX1NpZ1VuYmxvY2ssICJzaWdu YWwgMzIifSwgLyogU0lHQ0FOQ0VMOyBzZWUgaXNzdWUgNjk5NyAqLycKKyAgICAgZWNobyAnCTMz OiB7X1NpZ1NldFN0YWNrICsgX1NpZ1VuYmxvY2ssICJzaWduYWwgMzMifSwgLyogU0lHU0VUWElE OyBzZWUgaXNzdWVzIDM4NzEsIDk0MDAsIDEyNDk4ICovJworKyAgICBlY2hvICcJMzQ6IHtfU2ln U2V0U3RhY2sgKyBfU2lnVW5ibG9jaywgInNpZ25hbCAzNCJ9LCAvKiBzZWUgaXNzdWUgMzAwNjIg Ki8nCisgZmkKKyAKKyBpZiB0ZXN0ICIke0dPT1N9IiA9ICJhaXgiOyB0aGVuCistLS0gbGliZ28v cnVudGltZS9nby1zaWduYWwuYwkyMDIwLTA3LTIzIDA4OjM1OjE5LjAwNDQwMjg0MCArMDIwMAor KysrIC0JMjAyMC0wOC0wOSAyMTozNTo1NC4zNTI4ODYyMzIgKzAyMDAKK0BAIC0yMjQsNyArMjI0 LDExIEBACisgI2VsaWYgZGVmaW5lZChfX2FscGhhX18pICYmIGRlZmluZWQoX19saW51eF9fKQor IAlyZXQuc2lncGMgPSAoKHVjb250ZXh0X3QqKShjb250ZXh0KSktPnVjX21jb250ZXh0LnNjX3Bj OworICNlbGlmIGRlZmluZWQoX19QUENfXykgJiYgZGVmaW5lZChfX2xpbnV4X18pCistCXJldC5z aWdwYyA9ICgodWNvbnRleHRfdCopKGNvbnRleHQpKS0+dWNfbWNvbnRleHQucmVncy0+bmlwOwor KwkjaWZkZWYgX19QUEM2NF9fCisrCQlyZXQuc2lncGMgPSAoKHVjb250ZXh0X3QqKShjb250ZXh0 KSktPnVjX21jb250ZXh0LmdwX3JlZ3NbMzJdOworKwkjZWxzZQorKwkJcmV0LnNpZ3BjID0gKCh1 Y29udGV4dF90KikoY29udGV4dCkpLT51Y19tY29udGV4dC5ncmVnc1szMl07CisrCSNlbmRpZgor ICNlbGlmIGRlZmluZWQoX19QUENfXykgJiYgZGVmaW5lZChfQUlYKQorIAlyZXQuc2lncGMgPSAo KHVjb250ZXh0X3QqKShjb250ZXh0KSktPnVjX21jb250ZXh0LmptcF9jb250ZXh0LmlhcjsKKyAj ZWxpZiBkZWZpbmVkKF9fYWFyY2g2NF9fKSAmJiBkZWZpbmVkKF9fbGludXhfXykKK0BAIC0zMzMs NyArMzM3LDcgQEAKKyAJCXJ1bnRpbWVfcHJpbnRmKCJzcCAgJVhcbiIsIG0tPnNjX3JlZ3NbMzBd KTsKKyAJCXJ1bnRpbWVfcHJpbnRmKCJwYyAgJVhcbiIsIG0tPnNjX3BjKTsKKyAJICB9CistI2Vs aWYgZGVmaW5lZChfX1BQQ19fKSAmJiBkZWZpbmVkKF9fTElUVExFX0VORElBTl9fKSAmJiBkZWZp bmVkKF9fbGludXhfXykKKysjZWxpZiBkZWZpbmVkKF9fUFBDX18pICYmIGRlZmluZWQoX19MSVRU TEVfRU5ESUFOX18pICYmIGRlZmluZWQoX19saW51eF9fKSAmJiBkZWZpbmVkKF9fR0xJQkNfXykK KyAJICB7CisgCQltY29udGV4dF90ICptID0gJigodWNvbnRleHRfdCopKGNvbnRleHQpKS0+dWNf bWNvbnRleHQ7CisgCQlpbnQgaTsKKy0tLSBsaWJnby9ydW50aW1lL3J1bnRpbWUuaAorKysrIGxp YmdvL3J1bnRpbWUvcnVudGltZS5oCitAQCAtNTAwLDEwICs1MDAsMTMgQEAgaW50IF9fZ29fc2V0 Y29udGV4dChfX2dvX2NvbnRleHRfdCopOworIHZvaWQgX19nb19tYWtlY29udGV4dChfX2dvX2Nv bnRleHRfdCosIHZvaWQgKCopKCksIHZvaWQqLCBzaXplX3QpOworICNlbHNlCisgI2RlZmluZSBf X2dvX2NvbnRleHRfdAl1Y29udGV4dF90CistI2RlZmluZSBfX2dvX2dldGNvbnRleHQoYykJZ2V0 Y29udGV4dChjKQorLSNkZWZpbmUgX19nb19zZXRjb250ZXh0KGMpCXNldGNvbnRleHQoYykKKytp bnQgIGxpYnVjb250ZXh0X2dldGNvbnRleHQoX19nb19jb250ZXh0X3QgKik7Cisrdm9pZCBsaWJ1 Y29udGV4dF9tYWtlY29udGV4dChfX2dvX2NvbnRleHRfdCAqLCB2b2lkICgqKSgpLCBpbnQsIC4u Lik7CisraW50ICBsaWJ1Y29udGV4dF9zZXRjb250ZXh0KGNvbnN0IF9fZ29fY29udGV4dF90ICop OworKyNkZWZpbmUgX19nb19nZXRjb250ZXh0KGMpCWxpYnVjb250ZXh0X2dldGNvbnRleHQoYykK KysjZGVmaW5lIF9fZ29fc2V0Y29udGV4dChjKQlsaWJ1Y29udGV4dF9zZXRjb250ZXh0KGMpCisg I2RlZmluZSBfX2dvX21ha2Vjb250ZXh0KGMsIGZuLCBzcCwgc2l6ZSkgXAorLQkoKGMpLT51Y19z dGFjay5zc19zcCA9IHNwLCAoYyktPnVjX3N0YWNrLnNzX3NpemUgPSBzaXplLCBtYWtlY29udGV4 dChjLCBmbiwgMCkpCisrCSgoYyktPnVjX3N0YWNrLnNzX3NwID0gc3AsIChjKS0+dWNfc3RhY2su c3Nfc2l6ZSA9IHNpemUsIGxpYnVjb250ZXh0X21ha2Vjb250ZXh0KGMsIGZuLCAwKSkKKyAjZW5k aWYKKyAKKyAvLyBTeW1ib2xzIGRlZmluZWQgYnkgdGhlIGxpbmtlci4KKy0tLSBsaWJnby9zeXNp bmZvLmMKKysrKyBsaWJnby9zeXNpbmZvLmMKK0BAIC03Myw5ICs3Myw2IEBACisgI2luY2x1ZGUg PHN5cy90aW1lcy5oPgorICNpbmNsdWRlIDxzeXMvd2FpdC5oPgorICNpbmNsdWRlIDxzeXMvdW4u aD4KKy0jaWYgZGVmaW5lZChIQVZFX1NZU19VU0VSX0gpCistI2luY2x1ZGUgPHN5cy91c2VyLmg+ CistI2VuZGlmCisgI2lmIGRlZmluZWQoSEFWRV9TWVNfVVRTTkFNRV9IKQorICNpbmNsdWRlIDxz eXMvdXRzbmFtZS5oPgorICNlbmRpZgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9saWJnY2NqaXQvZmls ZXMvbGliZ25hcmwtbXVzbC5wYXRjaCBiL3NyY3BrZ3MvbGliZ2Njaml0L2ZpbGVzL2xpYmduYXJs LW11c2wucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjVlZDlm MTZmNTU4Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9saWJnY2NqaXQvZmlsZXMvbGliZ25h cmwtbXVzbC5wYXRjaApAQCAtMCwwICsxLDEyNSBAQAorU291cmNlOiBBbHBpbmUgTGludXgKK1Vw c3RyZWFtOiBVbmtub3duCitSZWFzb246IFBhdGNoIGxpYmduYXJsIHRvIG5vdCB1c2UgZnVuY3Rp b24gbWlzc2luZyBmcm9tIG11c2wuCisKK2RpZmYgLXJ1cCBnY2MtOC4yLjAvZ2NjL2FkYS9saWJn bmFybC9zLW9zaW50ZV9fbGludXguYWRzIGdjYy04LjIuMC1uZXcvZ2NjL2FkYS9saWJnbmFybC9z LW9zaW50ZV9fbGludXguYWRzCistLS0gZ2NjL2FkYS9saWJnbmFybC9zLW9zaW50ZV9fbGludXgu YWRzCTIwMTgtMDEtMTEgMDA6NTU6MjUuMDAwMDAwMDAwIC0wODAwCisrKysgZ2NjL2FkYS9saWJn bmFybC9zLW9zaW50ZV9fbGludXguYWRzCTIwMTgtMTEtMDEgMTY6MTY6MjMuMzcyNDUyOTUxIC0w NzAwCitAQCAtMzk0LDEyICszOTQsNiBAQCBwYWNrYWdlIFN5c3RlbS5PU19JbnRlcmZhY2UgaXMK KyAgICBQVEhSRUFEX1JXTE9DS19QUkVGRVJfV1JJVEVSX05QICAgICAgICAgICAgICA6IGNvbnN0 YW50IDo9IDE7CisgICAgUFRIUkVBRF9SV0xPQ0tfUFJFRkVSX1dSSVRFUl9OT05SRUNVUlNJVkVf TlAgOiBjb25zdGFudCA6PSAyOworIAorLSAgIGZ1bmN0aW9uIHB0aHJlYWRfcndsb2NrYXR0cl9z ZXRraW5kX25wCistICAgICAoYXR0ciA6IGFjY2VzcyBwdGhyZWFkX3J3bG9ja2F0dHJfdDsKKy0g ICAgICBwcmVmIDogaW50KSByZXR1cm4gaW50OworLSAgIHByYWdtYSBJbXBvcnQKKy0gICAgIChD LCBwdGhyZWFkX3J3bG9ja2F0dHJfc2V0a2luZF9ucCwgInB0aHJlYWRfcndsb2NrYXR0cl9zZXRr aW5kX25wIik7CistCisgICAgZnVuY3Rpb24gcHRocmVhZF9yd2xvY2tfaW5pdAorICAgICAgKG11 dGV4IDogYWNjZXNzIHB0aHJlYWRfcndsb2NrX3Q7CisgICAgICAgYXR0ciAgOiBhY2Nlc3MgcHRo cmVhZF9yd2xvY2thdHRyX3QpIHJldHVybiBpbnQ7CitAQCAtNDY0LDExICs0NTgsNiBAQCBwYWNr YWdlIFN5c3RlbS5PU19JbnRlcmZhY2UgaXMKKyAgICAgICBwcm90b2NvbCA6IGludCkgcmV0dXJu IGludDsKKyAgICBwcmFnbWEgSW1wb3J0IChDLCBwdGhyZWFkX211dGV4YXR0cl9zZXRwcm90b2Nv bCk7CisgCistICAgZnVuY3Rpb24gcHRocmVhZF9tdXRleGF0dHJfc2V0cHJpb2NlaWxpbmcKKy0g ICAgIChhdHRyICAgICAgICA6IGFjY2VzcyBwdGhyZWFkX211dGV4YXR0cl90OworLSAgICAgIHBy aW9jZWlsaW5nIDogaW50KSByZXR1cm4gaW50OworLSAgIHByYWdtYSBJbXBvcnQgKEMsIHB0aHJl YWRfbXV0ZXhhdHRyX3NldHByaW9jZWlsaW5nKTsKKy0KKyAgICB0eXBlIHN0cnVjdF9zY2hlZF9w YXJhbSBpcyByZWNvcmQKKyAgICAgICBzY2hlZF9wcmlvcml0eSA6IGludDsgIC0tICBzY2hlZHVs aW5nIHByaW9yaXR5CisgICAgZW5kIHJlY29yZDsKK2RpZmYgLXJ1cCBnY2MtOC4yLjAvZ2NjL2Fk YS9saWJnbmFybC9zLXRhcHJvcF9fbGludXguYWRiIGdjYy04LjIuMC1uZXcvZ2NjL2FkYS9saWJn bmFybC9zLXRhcHJvcF9fbGludXguYWRiCistLS0gZ2NjL2FkYS9saWJnbmFybC9zLXRhcHJvcF9f bGludXguYWRiCTIwMTgtMDEtMTEgMDA6NTU6MjUuMDAwMDAwMDAwIC0wODAwCisrKysgZ2NjL2Fk YS9saWJnbmFybC9zLXRhcHJvcF9fbGludXguYWRiCTIwMTgtMTEtMTMgMTE6Mjg6MzYuNDMzOTY0 NDQ5IC0wODAwCitAQCAtMjAyLDkgKzIwMiw2IEBAIHBhY2thZ2UgYm9keSBTeXN0ZW0uVGFza19Q cmltaXRpdmVzLk9wZXIKKyAgICBwcmFnbWEgSW1wb3J0CisgICAgICAoQywgR05BVF9wdGhyZWFk X2NvbmRhdHRyX3NldHVwLCAiX19nbmF0X3B0aHJlYWRfY29uZGF0dHJfc2V0dXAiKTsKKyAKKy0g ICBmdW5jdGlvbiBHTkFUX2hhc19jYXBfc3lzX25pY2UgcmV0dXJuIEMuaW50OworLSAgIHByYWdt YSBJbXBvcnQKKy0gICAgIChDLCBHTkFUX2hhc19jYXBfc3lzX25pY2UsICJfX2duYXRfaGFzX2Nh cF9zeXNfbmljZSIpOworICAgIC0tICBXZSBkbyBub3QgaGF2ZSBwcmFnbWEgTGlua2VyX09wdGlv bnMgKCItbGNhcCIpOyBoZXJlLCBiZWNhdXNlIHRoaXMKKyAgICAtLSAgbGlicmFyeSBpcyBub3Qg cHJlc2VudCBvbiBtYW55IExpbnV4IHN5c3RlbXMuICdsaWJjYXAnIGlzIHRoZSBMaW51eAorICAg IC0tICAiY2FwYWJpbGl0aWVzIiBsaWJyYXJ5LCBjYWxsZWQgYnkgX19nbmF0X2hhc19jYXBfc3lz X25pY2UuCitAQCAtMjE0LDM4ICsyMTEsNiBAQCBwYWNrYWdlIGJvZHkgU3lzdGVtLlRhc2tfUHJp bWl0aXZlcy5PcGVyCisgICAgLS0gIENvbnZlcnQgQWRhIHByaW9yaXR5IHRvIExpbnV4IHByaW9y aXR5LiBQcmlvcml0aWVzIGFyZSAxIC4uIDk5IG9uCisgICAgLS0gIEdOVS9MaW51eCwgc28gd2Ug bWFwIDAgLi4gOTggdG8gMSAuLiA5OS4KKyAKKy0gICBmdW5jdGlvbiBHZXRfQ2VpbGluZ19TdXBw b3J0IHJldHVybiBCb29sZWFuOworLSAgIC0tICBHZXQgdGhlIHZhbHVlIG9mIHRoZSBDZWlsaW5n X1N1cHBvcnQgY29uc3RhbnQgKHNlZSBiZWxvdykuCistICAgLS0gIE5vdGUgd2VsbDogSWYgdGhp cyBmdW5jdGlvbiBvciByZWxhdGVkIGNvZGUgaXMgbW9kaWZpZWQsIGl0IHNob3VsZCBiZQorLSAg IC0tICB0ZXN0ZWQgYnkgaGFuZCwgYmVjYXVzZSBhdXRvbWF0ZWQgdGVzdGluZyBkb2Vzbid0IGV4 ZXJjaXNlIGl0LgorLQorLSAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0gICAtLSBHZXRf Q2VpbGluZ19TdXBwb3J0IC0tCistICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLQorLSAg IGZ1bmN0aW9uIEdldF9DZWlsaW5nX1N1cHBvcnQgcmV0dXJuIEJvb2xlYW4gaXMKKy0gICAgICBD ZWlsaW5nX1N1cHBvcnQgOiBCb29sZWFuIDo9IEZhbHNlOworLSAgIGJlZ2luCistICAgICAgaWYg TG9ja2luZ19Qb2xpY3kgLz0gJ0MnIHRoZW4KKy0gICAgICAgICByZXR1cm4gRmFsc2U7CistICAg ICAgZW5kIGlmOworLQorLSAgICAgIGRlY2xhcmUKKy0gICAgICAgICBmdW5jdGlvbiBnZXRldWlk IHJldHVybiBJbnRlZ2VyOworLSAgICAgICAgIHByYWdtYSBJbXBvcnQgKEMsIGdldGV1aWQsICJn ZXRldWlkIik7CistICAgICAgICAgU3VwZXJ1c2VyIDogY29uc3RhbnQgQm9vbGVhbiA6PSBnZXRl dWlkID0gMDsKKy0gICAgICAgICBIYXNfQ2FwIDogY29uc3RhbnQgQy5pbnQgOj0gR05BVF9oYXNf Y2FwX3N5c19uaWNlOworLSAgICAgICAgIHByYWdtYSBBc3NlcnQgKEhhc19DYXAgaW4gMCB8IDEp OworLSAgICAgIGJlZ2luCistICAgICAgICAgQ2VpbGluZ19TdXBwb3J0IDo9IFN1cGVydXNlciBv ciBlbHNlIEhhc19DYXAgPSAxOworLSAgICAgIGVuZDsKKy0KKy0gICAgICByZXR1cm4gQ2VpbGlu Z19TdXBwb3J0OworLSAgIGVuZCBHZXRfQ2VpbGluZ19TdXBwb3J0OworLQorLSAgIHByYWdtYSBX YXJuaW5ncyAoT2ZmLCAibm9uLXN0YXRpYyBjYWxsIG5vdCBhbGxvd2VkIGluIHByZWVsYWJvcmF0 ZWQgdW5pdCIpOworLSAgIENlaWxpbmdfU3VwcG9ydCA6IGNvbnN0YW50IEJvb2xlYW4gOj0gR2V0 X0NlaWxpbmdfU3VwcG9ydDsKKy0gICBwcmFnbWEgV2FybmluZ3MgKE9uLCAibm9uLXN0YXRpYyBj YWxsIG5vdCBhbGxvd2VkIGluIHByZWVsYWJvcmF0ZWQgdW5pdCIpOworICAgIC0tICBUcnVlIGlm IHRoZSBsb2NraW5nIHBvbGljeSBpcyBDZWlsaW5nX0xvY2tpbmcsIGFuZCB0aGUgY3VycmVudCBw cm9jZXNzCisgICAgLS0gIGhhcyBwZXJtaXNzaW9uIHRvIHVzZSB0aGlzIHBvbGljeS4gVGhlIHBy b2Nlc3MgaGFzIHBlcm1pc3Npb24gaWYgaXQgaXMKKyAgICAtLSAgcnVubmluZyBhcyAncm9vdCcs IG9yIGlmIHRoZSBjYXBhYmlsaXR5IHdhcyBzZXQgYnkgdGhlIHNldGNhcCBjb21tYW5kLAorQEAg LTM0OCw3ICszMTMsOSBAQCBwYWNrYWdlIGJvZHkgU3lzdGVtLlRhc2tfUHJpbWl0aXZlcy5PcGVy CisgICAgLS0gSW5pdF9NdXRleCAtLQorICAgIC0tLS0tLS0tLS0tLS0tLS0KKyAKKysgICBwcmFn bWEgV2FybmluZ3MgKE9mZiwgImZvcm1hbCBwYXJhbWV0ZXIgKiBpcyBub3QgcmVmZXJlbmNlZCIp OworICAgIGZ1bmN0aW9uIEluaXRfTXV0ZXggKEwgOiBSVFNfTG9ja19QdHI7IFByaW8gOiBBbnlf UHJpb3JpdHkpIHJldHVybiBDLmludCBpcworKyAgIHByYWdtYSBXYXJuaW5ncyAoT24sICJmb3Jt YWwgcGFyYW1ldGVyICogaXMgbm90IHJlZmVyZW5jZWQiKTsKKyAgICAgICBNdXRleF9BdHRyIDog YWxpYXNlZCBwdGhyZWFkX211dGV4YXR0cl90OworICAgICAgIFJlc3VsdCwgUmVzdWx0XzIgOiBD LmludDsKKyAKK0BAIC0zNjAsMTYgKzMyNyw3IEBAIHBhY2thZ2UgYm9keSBTeXN0ZW0uVGFza19Q cmltaXRpdmVzLk9wZXIKKyAgICAgICAgICByZXR1cm4gUmVzdWx0OworICAgICAgIGVuZCBpZjsK KyAKKy0gICAgICBpZiBDZWlsaW5nX1N1cHBvcnQgdGhlbgorLSAgICAgICAgIFJlc3VsdCA6PSBw dGhyZWFkX211dGV4YXR0cl9zZXRwcm90b2NvbAorLSAgICAgICAgICAgKE11dGV4X0F0dHInQWNj ZXNzLCBQVEhSRUFEX1BSSU9fUFJPVEVDVCk7CistICAgICAgICAgcHJhZ21hIEFzc2VydCAoUmVz dWx0ID0gMCk7CistCistICAgICAgICAgUmVzdWx0IDo9IHB0aHJlYWRfbXV0ZXhhdHRyX3NldHBy aW9jZWlsaW5nCistICAgICAgICAgICAoTXV0ZXhfQXR0cidBY2Nlc3MsIFByaW9fVG9fTGludXhf UHJpbyAoUHJpbykpOworLSAgICAgICAgIHByYWdtYSBBc3NlcnQgKFJlc3VsdCA9IDApOworLQor LSAgICAgIGVsc2lmIExvY2tpbmdfUG9saWN5ID0gJ0knIHRoZW4KKysgICAgICBpZiBMb2NraW5n X1BvbGljeSA9ICdJJyB0aGVuCisgICAgICAgICAgUmVzdWx0IDo9IHB0aHJlYWRfbXV0ZXhhdHRy X3NldHByb3RvY29sCisgICAgICAgICAgICAoTXV0ZXhfQXR0cidBY2Nlc3MsIFBUSFJFQURfUFJJ T19JTkhFUklUKTsKKyAgICAgICAgICBwcmFnbWEgQXNzZXJ0IChSZXN1bHQgPSAwKTsKK0BAIC00 MDksMTEgKzM2Nyw2IEBAIHBhY2thZ2UgYm9keSBTeXN0ZW0uVGFza19QcmltaXRpdmVzLk9wZXIK KyAgICAgICAgICAgICBSZXN1bHQgOj0gcHRocmVhZF9yd2xvY2thdHRyX2luaXQgKFJXbG9ja19B dHRyJ0FjY2Vzcyk7CisgICAgICAgICAgICAgcHJhZ21hIEFzc2VydCAoUmVzdWx0ID0gMCk7Cisg CistICAgICAgICAgICAgUmVzdWx0IDo9IHB0aHJlYWRfcndsb2NrYXR0cl9zZXRraW5kX25wCist ICAgICAgICAgICAgICAoUldsb2NrX0F0dHInQWNjZXNzLAorLSAgICAgICAgICAgICAgIFBUSFJF QURfUldMT0NLX1BSRUZFUl9XUklURVJfTk9OUkVDVVJTSVZFX05QKTsKKy0gICAgICAgICAgICBw cmFnbWEgQXNzZXJ0IChSZXN1bHQgPSAwKTsKKy0KKyAgICAgICAgICAgICBSZXN1bHQgOj0gcHRo cmVhZF9yd2xvY2tfaW5pdCAoTC5SVydBY2Nlc3MsIFJXbG9ja19BdHRyJ0FjY2Vzcyk7CisgCisg ICAgICAgICAgICAgcHJhZ21hIEFzc2VydCAoUmVzdWx0IGluIDAgfCBFTk9NRU0pOworCmRpZmYg LS1naXQgYS9zcmNwa2dzL2xpYmdjY2ppdC9maWxlcy9saWJzc3AtbXVzbC5wYXRjaCBiL3NyY3Br Z3MvbGliZ2Njaml0L2ZpbGVzL2xpYnNzcC1tdXNsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMDAwLi5lMGI4NGY5YWNjOQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3Br Z3MvbGliZ2Njaml0L2ZpbGVzL2xpYnNzcC1tdXNsLnBhdGNoCkBAIC0wLDAgKzEsNzAgQEAKK0Zp cnN0IHBhcnQgdGFrZW4gZnJvbSBBbHBpbmUuCisKK1NlY29uZCBwYXJ0IGFkZGVkIHRvIHByZXZl bnQgZ2NjZ28gZnJvbSB0aGlua2luZyBpdCBjYW4gLWZzcGxpdC1zdGFjayBvbiBtdXNsLgorCist LS0gZ2NjL2djYy5jCisrKysgZ2NjL2djYy5jCitAQCAtODc0LDEwICs4NzQsMTUgQEAgcHJvcGVy IHBvc2l0aW9uIGFtb25nIHRoZSBvdGhlciBvdXRwdXQgZmlsZXMuICAqLworICNkZWZpbmUgTElO S19HQ0NfQ19TRVFVRU5DRV9TUEVDICIlRyAleyFub2xpYmM6JUwgJUd9IgorICNlbmRpZgorIAor KyNpZmRlZiBFTkFCTEVfREVGQVVMVF9TU1AKKysjZGVmaW5lIE5PX1NTUF9TUEVDICIle25vc3Rk bGlifG5vZGVmYXVsdGxpYnN8ZmZyZWVzdGFuZGluZzotZm5vLXN0YWNrLXByb3RlY3Rvcn0gIgor KyNlbHNlCisrI2RlZmluZSBOT19TU1BfU1BFQyAiIgorKyNlbmRpZgorKworICNpZm5kZWYgTElO S19TU1BfU1BFQworICNpZmRlZiBUQVJHRVRfTElCQ19QUk9WSURFU19TU1AKKy0jZGVmaW5lIExJ TktfU1NQX1NQRUMgIiV7ZnN0YWNrLXByb3RlY3Rvcnxmc3RhY2stcHJvdGVjdG9yLWFsbCIgXAor LQkJICAgICAgICJ8ZnN0YWNrLXByb3RlY3Rvci1zdHJvbmd8ZnN0YWNrLXByb3RlY3Rvci1leHBs aWNpdDp9IgorKyNkZWZpbmUgTElOS19TU1BfU1BFQyAiLWxzc3Bfbm9uc2hhcmVkIgorICNlbHNl CisgI2RlZmluZSBMSU5LX1NTUF9TUEVDICIle2ZzdGFjay1wcm90ZWN0b3J8ZnN0YWNrLXByb3Rl Y3Rvci1hbGwiIFwKKyAJCSAgICAgICAifGZzdGFjay1wcm90ZWN0b3Itc3Ryb25nfGZzdGFjay1w cm90ZWN0b3ItZXhwbGljaXQiIFwKK0BAIC0xMTU1LDcgKzExNjAsNyBAQCBzdGF0aWMgY29uc3Qg Y2hhciAqY2MxX29wdGlvbnMgPQorICAley12ZXJzaW9uOi0tdmVyc2lvbn1cCisgICV7LWhlbHA9 KjotLWhlbHA9JSp9XAorICAleyFmc3ludGF4LW9ubHk6JXtTOiVXe28qfSV7IW8qOi1vICViLnN9 fX1cCistICV7ZnN5bnRheC1vbmx5Oi1vICVqfSAley1wYXJhbSp9XAorKyAle2ZzeW50YXgtb25s eTotbyAlan0gJXstcGFyYW0qfSAiIE5PX1NTUF9TUEVDICJcCisgICV7Y292ZXJhZ2U6LWZwcm9m aWxlLWFyY3MgLWZ0ZXN0LWNvdmVyYWdlfVwKKyAgJXtmcHJvZmlsZS1hcmNzfGZwcm9maWxlLWdl bmVyYXRlKnxjb3ZlcmFnZTpcCisgICAgJXshZnByb2ZpbGUtdXBkYXRlPXNpbmdsZTpcCistLS0g Z2NjL3BhcmFtcy5vcHQKKysrKyBnY2MvcGFyYW1zLm9wdAorQEAgLTg1Myw3ICs4NTMsNyBAQCBD b21tb24gSm9pbmVkIFVJbnRlZ2VyIFZhcihwYXJhbV9zc2FfbmFtZV9kZWZfY2hhaW5fbGltaXQp IEluaXQoNTEyKSBQYXJhbSBPcHRpbQorIFRoZSBtYXhpbXVtIG51bWJlciBvZiBTU0FfTkFNRSBh c3NpZ25tZW50cyB0byBmb2xsb3cgaW4gZGV0ZXJtaW5pbmcgYSB2YWx1ZS4KKyAKKyAtcGFyYW09 c3NwLWJ1ZmZlci1zaXplPQorLUNvbW1vbiBKb2luZWQgVUludGVnZXIgVmFyKHBhcmFtX3NzcF9i dWZmZXJfc2l6ZSkgSW5pdCg4KSBJbnRlZ2VyUmFuZ2UoMSwgNjU1MzYpIFBhcmFtIE9wdGltaXph dGlvbgorK0NvbW1vbiBKb2luZWQgVUludGVnZXIgVmFyKHBhcmFtX3NzcF9idWZmZXJfc2l6ZSkg SW5pdCg0KSBJbnRlZ2VyUmFuZ2UoMSwgNjU1MzYpIFBhcmFtIE9wdGltaXphdGlvbgorIFRoZSBs b3dlciBib3VuZCBmb3IgYSBidWZmZXIgdG8gYmUgY29uc2lkZXJlZCBmb3Igc3RhY2sgc21hc2hp bmcgcHJvdGVjdGlvbi4KKyAKKyAtcGFyYW09c3RhY2stY2xhc2gtcHJvdGVjdGlvbi1ndWFyZC1z aXplPQorLS0tIGdjYy9jb25maWcvaTM4Ni9nbnUtdXNlci1jb21tb24uaAorKysrIGdjYy9jb25m aWcvaTM4Ni9nbnUtdXNlci1jb21tb24uaAorQEAgLTY0LDkgKzY0LDMgQEAgYWxvbmcgd2l0aCBH Q0M7IHNlZSB0aGUgZmlsZSBDT1BZSU5HMy4gIElmIG5vdCBzZWUKKyAKKyAvKiBTdGF0aWMgc3Rh Y2sgY2hlY2tpbmcgaXMgc3VwcG9ydGVkIGJ5IG1lYW5zIG9mIHByb2Jlcy4gICovCisgI2RlZmlu ZSBTVEFDS19DSEVDS19TVEFUSUNfQlVJTFRJTiAxCistCistLyogV2Ugb25seSBidWlsZCB0aGUg LWZzcGxpdC1zdGFjayBzdXBwb3J0IGluIGxpYmdjYyBpZiB0aGUKKy0gICBhc3NlbWJsZXIgaGFz IGZ1bGwgc3VwcG9ydCBmb3IgdGhlIENGSSBkaXJlY3RpdmVzLiAgKi8KKy0jaWYgSEFWRV9HQVNf Q0ZJX1BFUlNPTkFMSVRZX0RJUkVDVElWRQorLSNkZWZpbmUgVEFSR0VUX0NBTl9TUExJVF9TVEFD SworLSNlbmRpZgorLS0tIGdjYy9jb25maWcvaTM4Ni9nbnUuaAorKysrIGdjYy9jb25maWcvaTM4 Ni9nbnUuaAorQEAgLTQwLDExICs0MCw2IEBAIGFsb25nIHdpdGggR0NDLiAgSWYgbm90LCBzZWUg PGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorIC8qIGkzODYgZ2xpYmMgcHJvdmlkZXMg X19zdGFja19jaGtfZ3VhcmQgaW4gJWdzOjB4MTQuICAqLworICNkZWZpbmUgVEFSR0VUX1RIUkVB RF9TU1BfT0ZGU0VUICAgICAgICAweDE0CisgCistLyogV2Ugb25seSBidWlsZCB0aGUgLWZzcGxp dC1zdGFjayBzdXBwb3J0IGluIGxpYmdjYyBpZiB0aGUKKy0gICBhc3NlbWJsZXIgaGFzIGZ1bGwg c3VwcG9ydCBmb3IgdGhlIENGSSBkaXJlY3RpdmVzLiAgKi8KKy0jaWYgSEFWRV9HQVNfQ0ZJX1BF UlNPTkFMSVRZX0RJUkVDVElWRQorLSNkZWZpbmUgVEFSR0VUX0NBTl9TUExJVF9TVEFDSworLSNl bmRpZgorIC8qIFdlIHN0ZWFsIHRoZSBsYXN0IHRyYW5zYWN0aW9uYWwgbWVtb3J5IHdvcmQuICAq LworICNkZWZpbmUgVEFSR0VUX1RIUkVBRF9TUExJVF9TVEFDS19PRkZTRVQgMHgzMAorICNlbmRp ZgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9saWJnY2NqaXQvcGF0Y2hlcy9hZGEtc2hhcmVkLnBhdGNo IGIvc3JjcGtncy9saWJnY2NqaXQvcGF0Y2hlcy9hZGEtc2hhcmVkLnBhdGNoCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi43YjQyODA2MjBmZQotLS0gL2Rldi9udWxsCisr KyBiL3NyY3BrZ3MvbGliZ2Njaml0L3BhdGNoZXMvYWRhLXNoYXJlZC5wYXRjaApAQCAtMCwwICsx LDI4IEBACistLS0gZ2NjL2FkYS9saW5rLmMKKysrKyBnY2MvYWRhL2xpbmsuYworQEAgLTEwNSw5 ICsxMDUsOSBAQAorIAorICNlbGlmIGRlZmluZWQgKF9fRnJlZUJTRF9fKQorIGNvbnN0IGNoYXIg Kl9fZ25hdF9vYmplY3RfZmlsZV9vcHRpb24gPSAiLVdsLEAiOworLWNvbnN0IGNoYXIgKl9fZ25h dF9ydW5fcGF0aF9vcHRpb24gPSAiLVdsLC1ycGF0aCwiOworLWNoYXIgX19nbmF0X3NoYXJlZF9s aWJnbmF0X2RlZmF1bHQgPSBTVEFUSUM7CistY2hhciBfX2duYXRfc2hhcmVkX2xpYmdjY19kZWZh dWx0ID0gU1RBVElDOworK2NvbnN0IGNoYXIgKl9fZ25hdF9ydW5fcGF0aF9vcHRpb24gPSAiIjsK KytjaGFyIF9fZ25hdF9zaGFyZWRfbGliZ25hdF9kZWZhdWx0ID0gU0hBUkVEOworK2NoYXIgX19n bmF0X3NoYXJlZF9saWJnY2NfZGVmYXVsdCA9IFNIQVJFRDsKKyBpbnQgX19nbmF0X2xpbmtfbWF4 ID0gODE5MjsKKyB1bnNpZ25lZCBjaGFyIF9fZ25hdF9vYmpsaXN0X2ZpbGVfc3VwcG9ydGVkID0g MTsKKyBjb25zdCBjaGFyICpfX2duYXRfb2JqZWN0X2xpYnJhcnlfZXh0ZW5zaW9uID0gIi5hIjsK K0BAIC0xMjcsOSArMTI3LDkgQEAKKyAKKyAjZWxpZiBkZWZpbmVkIChsaW51eCkgfHwgZGVmaW5l ZChfX0dMSUJDX18pCisgY29uc3QgY2hhciAqX19nbmF0X29iamVjdF9maWxlX29wdGlvbiA9ICIt V2wsQCI7CistY29uc3QgY2hhciAqX19nbmF0X3J1bl9wYXRoX29wdGlvbiA9ICItV2wsLXJwYXRo LCI7CistY2hhciBfX2duYXRfc2hhcmVkX2xpYmduYXRfZGVmYXVsdCA9IFNUQVRJQzsKKy1jaGFy IF9fZ25hdF9zaGFyZWRfbGliZ2NjX2RlZmF1bHQgPSBTVEFUSUM7CisrY29uc3QgY2hhciAqX19n bmF0X3J1bl9wYXRoX29wdGlvbiA9ICIiOworK2NoYXIgX19nbmF0X3NoYXJlZF9saWJnbmF0X2Rl ZmF1bHQgPSBTSEFSRUQ7CisrY2hhciBfX2duYXRfc2hhcmVkX2xpYmdjY19kZWZhdWx0ID0gU0hB UkVEOworIGludCBfX2duYXRfbGlua19tYXggPSA4MTkyOworIHVuc2lnbmVkIGNoYXIgX19nbmF0 X29iamxpc3RfZmlsZV9zdXBwb3J0ZWQgPSAxOworIGNvbnN0IGNoYXIgKl9fZ25hdF9vYmplY3Rf bGlicmFyeV9leHRlbnNpb24gPSAiLmEiOwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9saWJnY2NqaXQv cGF0Y2hlcy9jb25zaXN0ZW50LWxpYnJhcnktcGF0aHMucGF0Y2ggYi9zcmNwa2dzL2xpYmdjY2pp dC9wYXRjaGVzL2NvbnNpc3RlbnQtbGlicmFyeS1wYXRocy5wYXRjaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMWVjMGUyNTg1MjYKLS0tIC9kZXYvbnVsbAorKysgYi9z cmNwa2dzL2xpYmdjY2ppdC9wYXRjaGVzL2NvbnNpc3RlbnQtbGlicmFyeS1wYXRocy5wYXRjaApA QCAtMCwwICsxLDExMCBAQAorQWx3YXlzIHVzZSBsaWI2NCBmb3IgNjQtYml0IGFuZCBsaWIzMiBm b3IgMzItYml0LgorCitEbyBub3QgY2hhbmdlIHRoZSBkeW5hbWljIGxpbmtlcnMgaW4gYW55IHdh eSwgdGhvdWdoLgorCitXaGVuIGFkZGluZyBhIG5ldyBwbGF0Zm9ybSwgZml4IHRoaXMgdXAgdG9v LgorCistLS0gZ2NjL2NvbmZpZy9hYXJjaDY0L3QtYWFyY2g2NC1saW51eAorKysrIGdjYy9jb25m aWcvYWFyY2g2NC90LWFhcmNoNjQtbGludXgKK0BAIC0yMiw3ICsyMiw3IEBAIExJQjFBU01TUkMg ICA9IGFhcmNoNjQvbGliMWZ1bmNzLmFzbQorIExJQjFBU01GVU5DUyA9IF9hYXJjaDY0X3N5bmNf Y2FjaGVfcmFuZ2UKKyAKKyBBQVJDSF9CRSA9ICQoaWYgJChmaW5kc3RyaW5nIFRBUkdFVF9CSUdf RU5ESUFOX0RFRkFVTFQ9MSwgJCh0bV9kZWZpbmVzKSksX2JlKQorLU1VTFRJTElCX09TRElSTkFN RVMgPSBtYWJpLmxwNjQ9Li4vbGliNjQkKGNhbGwgaWZfbXVsdGlhcmNoLDphYXJjaDY0JChBQVJD SF9CRSktbGludXgtZ251KQorK01VTFRJTElCX09TRElSTkFNRVMgPSBtYWJpLmxwNjQ9Li4vbGli NjQKKyBNVUxUSUFSQ0hfRElSTkFNRSA9ICQoY2FsbCBpZl9tdWx0aWFyY2gsYWFyY2g2NCQoQUFS Q0hfQkUpLWxpbnV4LWdudSkKKyAKKyBNVUxUSUxJQl9PU0RJUk5BTUVTICs9IG1hYmkuaWxwMzI9 Li4vbGliaWxwMzIkKGNhbGwgaWZfbXVsdGlhcmNoLDphYXJjaDY0JChBQVJDSF9CRSktbGludXgt Z251X2lscDMyKQorLS0tIGdjYy9jb25maWcvaTM4Ni90LWxpbnV4NjQKKysrKyBnY2MvY29uZmln L2kzODYvdC1saW51eDY0CitAQCAtMzMsNiArMzMsNiBAQAorIGNvbW1hPSwKKyBNVUxUSUxJQl9P UFRJT05TICAgID0gJChzdWJzdCAkKGNvbW1hKSwvLCQoVE1fTVVMVElMSUJfQ09ORklHKSkKKyBN VUxUSUxJQl9ESVJOQU1FUyAgID0gJChwYXRzdWJzdCBtJSwgJSwgJChzdWJzdCAvLCAsJChNVUxU SUxJQl9PUFRJT05TKSkpCistTVVMVElMSUJfT1NESVJOQU1FUyA9IG02ND0uLi9saWI2NCQoY2Fs bCBpZl9tdWx0aWFyY2gsOng4Nl82NC1saW51eC1nbnUpCistTVVMVElMSUJfT1NESVJOQU1FUys9 IG0zMj0kKGlmICQod2lsZGNhcmQgJChzaGVsbCBlY2hvICQoU1lTVEVNX0hFQURFUl9ESVIpKS8u Li8uLi91c3IvbGliMzIpLC4uL2xpYjMyLC4uL2xpYikkKGNhbGwgaWZfbXVsdGlhcmNoLDppMzg2 LWxpbnV4LWdudSkKKytNVUxUSUxJQl9PU0RJUk5BTUVTID0gbTY0PS4uL2xpYjY0CisrTVVMVElM SUJfT1NESVJOQU1FUys9IG0zMj0uLi9saWIzMgorIE1VTFRJTElCX09TRElSTkFNRVMrPSBteDMy PS4uL2xpYngzMiQoY2FsbCBpZl9tdWx0aWFyY2gsOng4Nl82NC1saW51eC1nbnV4MzIpCistLS0g Z2NjL2NvbmZpZy9taXBzL3QtbGludXg2NAorKysrIGdjYy9jb25maWcvbWlwcy90LWxpbnV4NjQK K0BAIC0yMSw2ICsyMSw2IEBAIE1VTFRJTElCX0RJUk5BTUVTID0gbjMyIDMyIDY0CisgTUlQU19F TCA9ICQoaWYgJChmaWx0ZXIgJWVsLCAkKGZpcnN0d29yZCAkKHN1YnN0IC0sICwkKHRhcmdldCkp KSksZWwpCisgTUlQU19TT0ZUID0gJChpZiAkKHN0cmlwICQoZmlsdGVyIE1BU0tfU09GVF9GTE9B VF9BQkksICQodGFyZ2V0X2NwdV9kZWZhdWx0KSkgJChmaWx0ZXIgc29mdCwgJCh3aXRoX2Zsb2F0 KSkpLHNvZnQpCisgTVVMVElMSUJfT1NESVJOQU1FUyA9IFwKKy0JLi4vbGliMzIkKGNhbGwgaWZf bXVsdGlhcmNoLDptaXBzNjQkKE1JUFNfRUwpLWxpbnV4LWdudWFiaW4zMiQoTUlQU19TT0ZUKSkg XAorLQkuLi9saWIkKGNhbGwgaWZfbXVsdGlhcmNoLDptaXBzJChNSVBTX0VMKS1saW51eC1nbnUk KE1JUFNfU09GVCkpIFwKKy0JLi4vbGliNjQkKGNhbGwgaWZfbXVsdGlhcmNoLDptaXBzNjQkKE1J UFNfRUwpLWxpbnV4LWdudWFiaTY0JChNSVBTX1NPRlQpKQorKwkuLi9saWIzMiBcCisrCS4uL2xp YiBcCisrCS4uL2xpYjY0CistLS0gZ2NjL2NvbmZpZy9yczYwMDAvdC1saW51eAorKysrIGdjYy9j b25maWcvcnM2MDAwL3QtbGludXgKK0BAIC0yLDcgKzIsOCBAQAorICMgb3Igc29mdC1mbG9hdC4K KyBpZmVxICgsJChmaWx0ZXIgJCh3aXRoX2NwdSksJChTT0ZUX0ZMT0FUX0NQVVMpKSQoZmluZHN0 cmluZyBzb2Z0LCQod2l0aF9mbG9hdCkpKQorIGlmbmVxICgsJChmaW5kc3RyaW5nIHBvd2VycGM2 NCwkKHRhcmdldCkpKQorLU1VTFRJTElCX09TRElSTkFNRVMgOj0gLj0uLi9saWI2NCQoY2FsbCBp Zl9tdWx0aWFyY2gsOnBvd2VycGM2NC1saW51eC1nbnUpCisrTVVMVElMSUJfT1NESVJOQU1FUyA6 PSBtNjQ9Li4vbGliNjQKKytNVUxUSUxJQl9PU0RJUk5BTUVTICs9IG0zMj0uLi9saWIzMgorIGVs c2UKKyBNVUxUSUFSQ0hfRElSTkFNRSA6PSAkKGNhbGwgaWZfbXVsdGlhcmNoLHBvd2VycGMtbGlu dXgtZ251KQorIGVuZGlmCitAQCAtMTAsNyArMTEsOCBAQCBpZm5lcSAoLCQoZmluZHN0cmluZyBw b3dlcnBjbGUsJCh0YXJnZXQpKSkKKyBNVUxUSUFSQ0hfRElSTkFNRSA6PSAkKHN1YnN0IC1saW51 eCxsZS1saW51eCwkKE1VTFRJQVJDSF9ESVJOQU1FKSkKKyBlbmRpZgorIGlmbmVxICgsJChmaW5k c3RyaW5nIHBvd2VycGM2NGxlLCQodGFyZ2V0KSkpCistTVVMVElMSUJfT1NESVJOQU1FUyA6PSAk KHN1YnN0IC1saW51eCxsZS1saW51eCwkKE1VTFRJTElCX09TRElSTkFNRVMpKQorK01VTFRJTElC X09TRElSTkFNRVMgOj0gbTY0PS4uL2xpYjY0CisrTVVMVElMSUJfT1NESVJOQU1FUyArPSBtMzI9 Li4vbGliMzIKKyBlbmRpZgorIGVuZGlmCisgCistLS0gZ2NjL2NvbmZpZy9yczYwMDAvdC1saW51 eDY0CisrKysgZ2NjL2NvbmZpZy9yczYwMDAvdC1saW51eDY0CitAQCAtMjgsOCArMjgsOCBAQAor IE1VTFRJTElCX09QVElPTlMgICAgOj0gbTY0L20zMgorIE1VTFRJTElCX0RJUk5BTUVTICAgOj0g NjQgMzIKKyBNVUxUSUxJQl9FWFRSQV9PUFRTIDo9IAorLU1VTFRJTElCX09TRElSTkFNRVMgOj0g bTY0PS4uL2xpYjY0JChjYWxsIGlmX211bHRpYXJjaCw6cG93ZXJwYzY0LWxpbnV4LWdudSkKKy1N VUxUSUxJQl9PU0RJUk5BTUVTICs9IG0zMj0kKGlmICQod2lsZGNhcmQgJChzaGVsbCBlY2hvICQo U1lTVEVNX0hFQURFUl9ESVIpKS8uLi8uLi91c3IvbGliMzIpLC4uL2xpYjMyLC4uL2xpYikkKGNh bGwgaWZfbXVsdGlhcmNoLDpwb3dlcnBjLWxpbnV4LWdudSkKKytNVUxUSUxJQl9PU0RJUk5BTUVT IDo9IG02ND0uLi9saWI2NAorK01VTFRJTElCX09TRElSTkFNRVMgKz0gbTMyPS4uL2xpYjMyCisg CisgcnM2MDAwLWxpbnV4Lm86ICQoc3JjZGlyKS9jb25maWcvcnM2MDAwL3JzNjAwMC1saW51eC5j CisgCSQoQ09NUElMRSkgJDwKKy0tLSBnY2MvY29uZmlnL3JzNjAwMC90LWxpbnV4NjRiZWxlCisr KysgZ2NjL2NvbmZpZy9yczYwMDAvdC1saW51eDY0YmVsZQorQEAgLTIsNiArMiw2IEBACisgCisg TVVMVElMSUJfT1BUSU9OUyAgICArPSBtbGl0dGxlCisgTVVMVElMSUJfRElSTkFNRVMgICArPSBs ZQorLU1VTFRJTElCX09TRElSTkFNRVMgKz0gJChzdWJzdCA9LC5tbGl0dGxlPSwkKHN1YnN0IGxp YmxlMzIsbGliMzJsZSwkKHN1YnN0IGxpYmxlNjQsbGliNjRsZSwkKHN1YnN0IGxpYixsaWJsZSwk KHN1YnN0IC1saW51eCxsZS1saW51eCwkKE1VTFRJTElCX09TRElSTkFNRVMpKSkpKSkKKy1NVUxU SUxJQl9PU0RJUk5BTUVTICs9ICQoc3Vic3QgJChpZiAkKGZpbmRzdHJpbmcgNjQsJCh0YXJnZXQp KSxtNjQsbTMyKS4sLCQoZmlsdGVyICQoaWYgJChmaW5kc3RyaW5nIDY0LCQodGFyZ2V0KSksbTY0 LG0zMikubWxpdHRsZSUsJChNVUxUSUxJQl9PU0RJUk5BTUVTKSkpCisrTVVMVElMSUJfT1NESVJO QU1FUyA9IG02ND0uLi9saWI2NAorK01VTFRJTElCX09TRElSTkFNRVMrPSBtMzI9Li4vbGliMzIK KyBNVUxUSUxJQl9NQVRDSEVTICAgIDo9ICR7TVVMVElMSUJfTUFUQ0hFU19FTkRJQU59CistLS0g Z2NjL2NvbmZpZy9yczYwMDAvdC1saW51eDY0bGViZQorKysrIGdjYy9jb25maWcvcnM2MDAwL3Qt bGludXg2NGxlYmUKK0BAIC0yLDYgKzIsNiBAQAorIAorIE1VTFRJTElCX09QVElPTlMgICAgKz0g bWJpZworIE1VTFRJTElCX0RJUk5BTUVTICAgKz0gYmUKKy1NVUxUSUxJQl9PU0RJUk5BTUVTICs9 ICQoc3Vic3QgPSwubWJpZz0sJChzdWJzdCBsaWJiZTMyLGxpYjMyYmUsJChzdWJzdCBsaWJiZTY0 LGxpYjY0YmUsJChzdWJzdCBsaWIsbGliYmUsJChzdWJzdCBsZS1saW51eCwtbGludXgsJChNVUxU SUxJQl9PU0RJUk5BTUVTKSkpKSkpCistTVVMVElMSUJfT1NESVJOQU1FUyArPSAkKHN1YnN0ICQo aWYgJChmaW5kc3RyaW5nIDY0LCQodGFyZ2V0KSksbTY0LG0zMikuLCwkKGZpbHRlciAkKGlmICQo ZmluZHN0cmluZyA2NCwkKHRhcmdldCkpLG02NCxtMzIpLm1iaWclLCQoTVVMVElMSUJfT1NESVJO QU1FUykpKQorK01VTFRJTElCX09TRElSTkFNRVMgOj0gbTY0PS4uL2xpYjY0CisrTVVMVElMSUJf T1NESVJOQU1FUyArPSBtMzI9Li4vbGliMzIKKyBNVUxUSUxJQl9NQVRDSEVTICAgIDo9ICR7TVVM VElMSUJfTUFUQ0hFU19FTkRJQU59CistLS0gZ2NjL2NvbmZpZy9zMzkwL3QtbGludXg2NAorKysr IGdjYy9jb25maWcvczM5MC90LWxpbnV4NjQKK0BAIC03LDUgKzcsNSBAQAorIAorIE1VTFRJTElC X09QVElPTlMgPSBtNjQvbTMxCisgTVVMVElMSUJfRElSTkFNRVMgPSA2NCAzMgorLU1VTFRJTElC X09TRElSTkFNRVMgPSAuLi9saWI2NCQoY2FsbCBpZl9tdWx0aWFyY2gsOnMzOTB4LWxpbnV4LWdu dSkKKy1NVUxUSUxJQl9PU0RJUk5BTUVTICs9ICQoaWYgJCh3aWxkY2FyZCAkKHNoZWxsIGVjaG8g JChTWVNURU1fSEVBREVSX0RJUikpLy4uLy4uL3Vzci9saWIzMiksLi4vbGliMzIsLi4vbGliKSQo Y2FsbCBpZl9tdWx0aWFyY2gsOnMzOTAtbGludXgtZ251KQorK01VTFRJTElCX09TRElSTkFNRVMg PSBtNjQ9Li4vbGliNjQKKytNVUxUSUxJQl9PU0RJUk5BTUVTKz0gbTMyPS4uL2xpYjMyCistLSAK KzIuMjkuMgorCmRpZmYgLS1naXQgYS9zcmNwa2dzL2xpYmdjY2ppdC9wYXRjaGVzL2ZpeC1jeHhm bGFncy1wYXNzaW5nLnBhdGNoIGIvc3JjcGtncy9saWJnY2NqaXQvcGF0Y2hlcy9maXgtY3h4Zmxh Z3MtcGFzc2luZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4u ZGRhMmE1MDQ2MGIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2xpYmdjY2ppdC9wYXRjaGVz L2ZpeC1jeHhmbGFncy1wYXNzaW5nLnBhdGNoCkBAIC0wLDAgKzEsMTAgQEAKKy0tLSBNYWtlZmls ZS5pbi5vcmlnCisrKysgTWFrZWZpbGUuaW4KK0BAIC0xNjksNiArMTY5LDcgQEAKKyAjIGJ1aWx0 IGZvciB0aGUgYnVpbGQgc3lzdGVtIHRvIG92ZXJyaWRlIHRob3NlIGluIEJBU0VfRkxBR1NfVE9f UEFTU1MuCisgRVhUUkFfQlVJTERfRkxBR1MgPSBcCisgCUNGTEFHUz0iJChDRkxBR1NfRk9SX0JV SUxEKSIgXAorKwlDWFhGTEFHUz0iJChDWFhGTEFHU19GT1JfQlVJTEQpIiBcCisgCUxERkxBR1M9 IiQoTERGTEFHU19GT1JfQlVJTEQpIgorIAorICMgVGhpcyBpcyB0aGUgbGlzdCBvZiBkaXJlY3Rv cmllcyB0byBidWlsdCBmb3IgdGhlIGhvc3Qgc3lzdGVtLgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9s aWJnY2NqaXQvcGF0Y2hlcy9maXgtbXVzbC1leGVjaW5mby5wYXRjaCBiL3NyY3BrZ3MvbGliZ2Nj aml0L3BhdGNoZXMvZml4LW11c2wtZXhlY2luZm8ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMDAwMDAuLjU4M2VhYzdiMGRjCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtn cy9saWJnY2NqaXQvcGF0Y2hlcy9maXgtbXVzbC1leGVjaW5mby5wYXRjaApAQCAtMCwwICsxLDMz IEBACitUaGVyZSBpcyBubyA8ZXhlY2luZm8uaD4gaW4gbXVzbCBsaWJjCisKKy0tLSBsaWJ2dHYv dnR2X3J0cy5jYwkyMDE2LTA5LTIzIDE2OjE3OjExLjAwMDAwMDAwMCArMDIwMAorKysrIGxpYnZ0 Yy92dHZfcnRzLmNjCTIwMTYtMDktMjUgMTU6MDg6NTcuODk2MDAwMDAwICswMjAwCitAQCAtMTI0 LDcgKzEyNCw3IEBACisgI2luY2x1ZGUgPHdpbmRvd3MuaD4KKyAjaW5jbHVkZSA8d2ludGVybmwu aD4KKyAjaW5jbHVkZSA8cHNhcGkuaD4KKy0jZWxzZQorKyNlbGlmIGRlZmluZWQgKF9fR0xJQkNf XykKKyAjaW5jbHVkZSA8ZXhlY2luZm8uaD4KKyAjZW5kaWYKKyAKKy0tLSBsaWJ2dHYvdnR2X3V0 aWxzLmNjCTIwMTYtMDktMjMgMTY6MTc6MTEuMDAwMDAwMDAwICswMjAwCisrKysgbGlidnR2L3Z0 dl91dGlscy5jYwkyMDE2LTA5LTI1IDE1OjE1OjM1LjUyOTAwMDAwMCArMDIwMAorQEAgLTM0LDcg KzM0LDcgQEAKKyAjaW5jbHVkZSA8c3RyaW5nLmg+CisgI2lmIGRlZmluZWQgKF9fQ1lHV0lOX18p IHx8IGRlZmluZWQgKF9fTUlOR1czMl9fKQorICNpbmNsdWRlIDx3aW5kb3dzLmg+CistI2Vsc2UK KysjZWxpZiBkZWZpbmVkIChfX0dMSUJDX18pCisgI2luY2x1ZGUgPGV4ZWNpbmZvLmg+CisgI2Vu ZGlmCisgCitAQCAtMTc4LDcgKzE3OCw3IEBACisgCisgICBfX3Z0dl9hZGRfdG9fbG9nICh2dHZf ZmFpbHVyZXNfbG9nX2ZkLCAiJXMiLCBsb2dfbXNnKTsKKyAKKy0jaWYgIWRlZmluZWQgKF9fQ1lH V0lOX18pICYmICFkZWZpbmVkIChfX01JTkdXMzJfXykKKysjaWYgIWRlZmluZWQgKF9fQ1lHV0lO X18pICYmICFkZWZpbmVkIChfX01JTkdXMzJfXykgJiYgZGVmaW5lZChfX0dMSUJDX18pCisgICBp ZiAoZ2VuZXJhdGVfYmFja3RyYWNlKQorICAgICB7CisgI2RlZmluZSBTVEFDS19ERVBUSCAyMApk aWZmIC0tZ2l0IGEvc3JjcGtncy9saWJnY2NqaXQvcGF0Y2hlcy9maXgtdnR2LWxpbmstb3JkZXIu cGF0Y2ggYi9zcmNwa2dzL2xpYmdjY2ppdC9wYXRjaGVzL2ZpeC12dHYtbGluay1vcmRlci5wYXRj aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMzMxNWMzZTk5MGIKLS0t IC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2xpYmdjY2ppdC9wYXRjaGVzL2ZpeC12dHYtbGluay1v cmRlci5wYXRjaApAQCAtMCwwICsxLDIwIEBACitwdXQgdnR2X2VuZC5vIGluIGZyb250IG9mIHBv c3RkZXBfb2JqZWN0c19DWFgKK2hhdmluZyBpdCBhZnRlciBjcnRlbmRTLm8gbGVhZHMgdG8gbWlz c2luZyB6ZXJvIHRlcm1pbmF0aW9uIGluIGVoX2ZyYW1lIHNlY3Rpb24KKworVGhpcyBpcyBpbiBs aW5lIHdpdGggY29tbWVudCBpbiBsaWJnY2MvdnR2X2VuZC5jOgorCisgICBXaGVuIHRoZSBHQ0Mg ZHJpdmVyIGluc2VydHMgdnR2X3N0YXJ0Lm8gaW50byB0aGUgbGluayBsaW5lIChqdXN0CisgICBh ZnRlciBjcnRiZWdpbi5vKSBpdCBhbHNvIGluc2VydHMgdnR2X2VuZC5vIGludG8gdGhlIGxpbmsg bGluZSwKKyAgIGp1c3QgYmVmb3JlIGNydGVuZC5vLgorCistLS0gbGlic3RkYysrLXYzL2NvbmZp Z3VyZQorKysrIGxpYnN0ZGMrKy12My9jb25maWd1cmUKK0BAIC0xNTQ0Myw3ICsxNTQ0Myw3IEBA CisgCisgaWYgdGVzdCAiJGVuYWJsZV92dGFibGVfdmVyaWZ5IiA9IHllczsgdGhlbgorICAgcHJl ZGVwX29iamVjdHNfQ1hYPSIke3ByZWRlcF9vYmplY3RzX0NYWH0gJHtnbGliY3h4X2J1aWxkZGly fS8uLi9saWJnY2MvdnR2X3N0YXJ0Lm8iCistICBwb3N0ZGVwX29iamVjdHNfQ1hYPSIke3Bvc3Rk ZXBfb2JqZWN0c19DWFh9ICR7Z2xpYmN4eF9idWlsZGRpcn0vLi4vbGliZ2NjL3Z0dl9lbmQubyIK KysgIHBvc3RkZXBfb2JqZWN0c19DWFg9IiR7Z2xpYmN4eF9idWlsZGRpcn0vLi4vbGliZ2NjL3Z0 dl9lbmQubyAke3Bvc3RkZXBfb2JqZWN0c19DWFh9IiAKKyBmaQorIAorIApkaWZmIC0tZ2l0IGEv c3JjcGtncy9saWJnY2NqaXQvcGF0Y2hlcy9saWJmZmlfZ251bGludXgucGF0Y2ggYi9zcmNwa2dz L2xpYmdjY2ppdC9wYXRjaGVzL2xpYmZmaV9nbnVsaW51eC5wYXRjaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNDEzYjRhZWY1YWYKLS0tIC9kZXYvbnVsbAorKysgYi9z cmNwa2dzL2xpYmdjY2ppdC9wYXRjaGVzL2xpYmZmaV9nbnVsaW51eC5wYXRjaApAQCAtMCwwICsx LDExIEBACistLS0gbGliZmZpL3NyYy9jbG9zdXJlcy5jLm9yaWcKKysrKyBsaWJmZmkvc3JjL2Ns b3N1cmVzLmMKK0BAIC0zNCw3ICszNCw3IEBACisgI2luY2x1ZGUgPGZmaV9jb21tb24uaD4KKwor ICNpZiAhRkZJX01NQVBfRVhFQ19XUklUICYmICFGRklfRVhFQ19UUkFNUE9MSU5FX1RBQkxFCist IyBpZiBfX2dudV9saW51eF9fICYmICFkZWZpbmVkKF9fQU5EUk9JRF9fKQorKyMgaWYgX19saW51 eF9fICYmICFkZWZpbmVkKF9fQU5EUk9JRF9fKQorIC8qIFRoaXMgbWFjcm8gaW5kaWNhdGVzIGl0 IG1heSBiZSBmb3JiaWRkZW4gdG8gbWFwIGFub255bW91cyBtZW1vcnkKKyAgICB3aXRoIGJvdGgg d3JpdGUgYW5kIGV4ZWN1dGUgcGVybWlzc2lvbi4gIENvZGUgY29tcGlsZWQgd2hlbiB0aGlzCisg ICAgb3B0aW9uIGlzIGRlZmluZWQgd2lsbCBhdHRlbXB0IHRvIG1hcCBzdWNoIHBhZ2VzIG9uY2Us IGJ1dCBpZiBpdApkaWZmIC0tZ2l0IGEvc3JjcGtncy9saWJnY2NqaXQvcGF0Y2hlcy9saWJnY2Mt aWJtMTI4LW5vLXRhZy5wYXRjaCBiL3NyY3BrZ3MvbGliZ2Njaml0L3BhdGNoZXMvbGliZ2NjLWli bTEyOC1uby10YWcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAu Ljg1NWY4ZjFiMDM1Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9saWJnY2NqaXQvcGF0Y2hl cy9saWJnY2MtaWJtMTI4LW5vLXRhZy5wYXRjaApAQCAtMCwwICsxLDM4IEBACitGcm9tIDIzNjYz NGVlZDU4ZmE2ZTAwY2M1MGYxOWU3MjAyOTAzYTlkOGZhZTYgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCitGcm9tOiBxNjYgPGRhbmllbEBvY3RhZm9yZ2Uub3JnPgorRGF0ZTogVGh1LCAxMiBEZWMg MjAxOSAwNDowMzo1NiArMDEwMAorU3ViamVjdDogW1BBVENIXSBsaWJnY2M6IHVzZSAtbW5vLWdu dS1hdHRyaWJ1dGUgZm9yIDEyOC1iaXQgSUJNIGxkb3VibGUKKyBzdXBwb3J0IGNvZGUKKworRG9p bmcgdGhpcyB3aWxsIGFsbG93IGxpYmdjYyB0byBlbWl0IHRoZSBhcHByb3ByaWF0ZSBzeW1ib2xz IHdpdGhvdXQgYWN0dWFsbHkKK2VtaXR0aW5nIHRoZSBGUCBBQkkgdGFnIGZvciB0aGVtLCB3aGlj aCBhbGxvd3MgNjQtYml0IGxvbmcgZG91YmxlIGVudmlyb25tZW50cwordG8gZnVuY3Rpb24gYW5k IGV2ZW4gbGluayBzdGF0aWNhbGx5IHdoaWxlIHN0aWxsIGFsbG93aW5nIHVzYWdlIG9mCitleHBs aWNpdCBfX2libTEyOC4KKy0tLQorIGxpYmdjYy9jb25maWcvcnM2MDAwL3QtaWJtLWxkb3VibGUg fCAyICstCisgbGliZ2NjL2NvbmZpZy9yczYwMDAvdC1saW51eCAgICAgICB8IDIgKy0KKyAyIGZp bGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdp dCBhL2xpYmdjYy9jb25maWcvcnM2MDAwL3QtaWJtLWxkb3VibGUgYi9saWJnY2MvY29uZmlnL3Jz NjAwMC90LWlibS1sZG91YmxlCitpbmRleCBiMTMyNzg0Li5mYjVlY2E4IDEwMDY0NAorLS0tIGxp YmdjYy9jb25maWcvcnM2MDAwL3QtaWJtLWxkb3VibGUKKysrKyBsaWJnY2MvY29uZmlnL3JzNjAw MC90LWlibS1sZG91YmxlCitAQCAtMSw2ICsxLDYgQEAKKyAjIEdDQyAxMjgtYml0IGxvbmcgZG91 YmxlIHN1cHBvcnQgcm91dGluZXMuCisgTElCMkFERCArPSAkKHNyY2RpcikvY29uZmlnL3JzNjAw MC9pYm0tbGRvdWJsZS5jCisgCistSE9TVF9MSUJHQ0MyX0NGTEFHUyArPSAtbWxvbmctZG91Ymxl LTEyOAorK0hPU1RfTElCR0NDMl9DRkxBR1MgKz0gLW1sb25nLWRvdWJsZS0xMjggLW1uby1nbnUt YXR0cmlidXRlCisgCisgU0hMSUJfTUFQRklMRVMgKz0gJChzcmNkaXIpL2NvbmZpZy9yczYwMDAv bGliZ2NjLWlibS1sZG91YmxlLnZlcgorZGlmZiAtLWdpdCBhL2xpYmdjYy9jb25maWcvcnM2MDAw L3QtbGludXggYi9saWJnY2MvY29uZmlnL3JzNjAwMC90LWxpbnV4CitpbmRleCA0ZjZkNGM0Li5m YTkzYmI2IDEwMDY0NAorLS0tIGxpYmdjYy9jb25maWcvcnM2MDAwL3QtbGludXgKKysrKyBsaWJn Y2MvY29uZmlnL3JzNjAwMC90LWxpbnV4CitAQCAtMSwzICsxLDMgQEAKKyBTSExJQl9NQVBGSUxF UyArPSAkKHNyY2RpcikvY29uZmlnL3JzNjAwMC9saWJnY2MtZ2xpYmMudmVyCisgCistSE9TVF9M SUJHQ0MyX0NGTEFHUyArPSAtbWxvbmctZG91YmxlLTEyOCAtbW5vLW1pbmltYWwtdG9jCisrSE9T VF9MSUJHQ0MyX0NGTEFHUyArPSAtbWxvbmctZG91YmxlLTEyOCAtbW5vLWdudS1hdHRyaWJ1dGUg LW1uby1taW5pbWFsLXRvYworLS0gCisyLjI0LjAKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbGliZ2Nj aml0L3BhdGNoZXMvbWlwcy1zZ2lkZWZzX2gucGF0Y2ggYi9zcmNwa2dzL2xpYmdjY2ppdC9wYXRj aGVzL21pcHMtc2dpZGVmc19oLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwLi5lNWZkYmY5Zjk2ZgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvbGliZ2Njaml0 L3BhdGNoZXMvbWlwcy1zZ2lkZWZzX2gucGF0Y2gKQEAgLTAsMCArMSwxMSBAQAorLS0tIGxpYmZm aS9zcmMvbWlwcy9mZml0YXJnZXQuaAkyMDE0LTExLTA4IDEzOjQ3OjI0LjAwMDAwMDAwMCArMDEw MAorKysrIGxpYmZmaS9zcmMvbWlwcy9mZml0YXJnZXQuaAkyMDE3LTExLTA5IDE2OjUxOjExLjg2 Njg0ODQ0NCArMDEwMAorQEAgLTQyLDcgKzQyLDcgQEAKKyAjZGVmaW5lIF9NSVBTX1NJTV9OQUJJ MzIJMgorICNkZWZpbmUgX01JUFNfU0lNX0FCSTY0CQkzCisgI2VsaWYgIWRlZmluZWQoX19PcGVu QlNEX18pCistIyBpbmNsdWRlIDxzZ2lkZWZzLmg+CisrIyBpbmNsdWRlIDxhc20vc2dpZGVmcy5o PgorICNlbmRpZgorIAorICMgIGlmbmRlZiBfQUJJTjMyCmRpZmYgLS1naXQgYS9zcmNwa2dzL2xp YmdjY2ppdC9wYXRjaGVzL21pcHMtc29mdC1mbG9hdC5wYXRjaCBiL3NyY3BrZ3MvbGliZ2Njaml0 L3BhdGNoZXMvbWlwcy1zb2Z0LWZsb2F0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMDAwLi40ZGIwZTJmYjA3YQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvbGli Z2Njaml0L3BhdGNoZXMvbWlwcy1zb2Z0LWZsb2F0LnBhdGNoCkBAIC0wLDAgKzEsMTggQEAKKy0t LSBsaWJmZmkvc3JjL21pcHMvbzMyLlMJMjAyMC0wMy0xMiAxMjowNzoyMy4wMDAwMDAwMDAgKzAx MDAKKysrKyBsaWJmZmkvc3JjL21pcHMvbzMyLlMJMjAyMC0wNS0xNCAyMDo1Mjo0NS43MDE4MDkw NTQgKzAyMDAKK0BAIC0yNzgsNiArMjc4LDcgQEAKKyAJbGkJJDksIEZGSV9UWVBFX1ZPSUQKKyAJ YmVxCSQ4LCAkOSwgY2xvc3VyZV9kb25lCisgCisrI2lmbmRlZiBfX21pcHNfc29mdF9mbG9hdAor IAlsaQkkMTMsIDEJCSMgRkZJX08zMgorIAlibmUJJDE2LCAkMTMsIDFmCSMgU2tpcCBmcCByZXN0 b3JlIGlmIEZGSV9PMzJfU09GVF9GTE9BVAorIAorQEAgLTI4OSw2ICsyOTAsNyBAQAorIAlsLmQJ JGYwLCBWMF9PRkYyKCRmcCkKKyAJYmVxCSQ4LCAkOSwgY2xvc3VyZV9kb25lCisgMToJCisrI2Vu ZGlmCisgCVJFR19MCSQzLCBWMV9PRkYyKCRmcCkKKyAJUkVHX0wJJDIsIFYwX09GRjIoJGZwKQor IApkaWZmIC0tZ2l0IGEvc3JjcGtncy9saWJnY2NqaXQvcGF0Y2hlcy9tdXNsLWFkYS5wYXRjaCBi L3NyY3BrZ3MvbGliZ2Njaml0L3BhdGNoZXMvbXVzbC1hZGEucGF0Y2gKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjYxODIzNjg0ZGE1Ci0tLSAvZGV2L251bGwKKysrIGIv c3JjcGtncy9saWJnY2NqaXQvcGF0Y2hlcy9tdXNsLWFkYS5wYXRjaApAQCAtMCwwICsxLDIwNCBA QAorZGlmZiAtLWdpdCBhL2djYy9hZGEvYWRhaW50LmMgYi9nY2MvYWRhL2FkYWludC5jCitpbmRl eCAzYjBhZWE5Li5lZTBiYjY5IDEwMDY0NAorLS0tIGdjYy9hZGEvYWRhaW50LmMKKysrKyBnY2Mv YWRhL2FkYWludC5jCitAQCAtNzYsNiArNzYsMTEgQEAKKyAjaW5jbHVkZSA8c3lzL3BhcmFtLmg+ CisgI2luY2x1ZGUgPHN5cy9wc3RhdC5oPgorICNlbmRpZgorKyAKKysjaWYgZGVmaW5lZCAobGlu dXgpCisrI2RlZmluZSBfR05VX1NPVVJDRSAxCisrI2luY2x1ZGUgPHNjaGVkLmg+CisrI2VuZGlm CisgCisgI2lmZGVmIF9fUGlrZU9TX18KKyAjZGVmaW5lIF9fQlNEX1ZJU0lCTEUgMQorQEAgLTMy NTUsNyArMzI2MCw2IEBAIF9fZ25hdF9sd3Bfc2VsZiAodm9pZCkKKyAjZW5kaWYKKyAKKyAjaWYg ZGVmaW5lZCAoX19saW51eF9fKQorLSNpbmNsdWRlIDxzY2hlZC5oPgorIAorIC8qIGdsaWJjIHZl cnNpb25zIGVhcmxpZXIgdGhhbiAyLjcgZG8gbm90IGRlZmluZSB0aGUgcm91dGluZXMgdG8gaGFu ZGxlCisgICAgZHluYW1pY2FsbHkgYWxsb2NhdGVkIENQVSBzZXRzLiBGb3IgdGhlc2UgdGFyZ2V0 cywgd2UgdXNlIHRoZSBzdGF0aWMKK0BAIC0zMjY1LDcgKzMyNjksNyBAQCBfX2duYXRfbHdwX3Nl bGYgKHZvaWQpCisgCisgLyogRHluYW1pYyBjcHUgc2V0cyAqLworIAorLWNwdV9zZXRfdCAqCisr dm9pZCAqCisgX19nbmF0X2NwdV9hbGxvYyAoc2l6ZV90IGNvdW50KQorIHsKKyAgIHJldHVybiBD UFVfQUxMT0MgKGNvdW50KTsKK0BAIC0zMjc4LDMzICszMjgyLDMzIEBAIF9fZ25hdF9jcHVfYWxs b2Nfc2l6ZSAoc2l6ZV90IGNvdW50KQorIH0KKyAKKyB2b2lkCistX19nbmF0X2NwdV9mcmVlIChj cHVfc2V0X3QgKnNldCkKKytfX2duYXRfY3B1X2ZyZWUgKHZvaWQgKnNldCkKKyB7CistICBDUFVf RlJFRSAoc2V0KTsKKysgIENQVV9GUkVFICgoY3B1X3NldF90ICopIHNldCk7CisgfQorIAorIHZv aWQKKy1fX2duYXRfY3B1X3plcm8gKHNpemVfdCBjb3VudCwgY3B1X3NldF90ICpzZXQpCisrX19n bmF0X2NwdV96ZXJvIChzaXplX3QgY291bnQsIHZvaWQgKnNldCkKKyB7CistICBDUFVfWkVST19T IChjb3VudCwgc2V0KTsKKysgIENQVV9aRVJPX1MgKGNvdW50LCAoY3B1X3NldF90ICopIHNldCk7 CisgfQorIAorIHZvaWQKKy1fX2duYXRfY3B1X3NldCAoaW50IGNwdSwgc2l6ZV90IGNvdW50LCBj cHVfc2V0X3QgKnNldCkKKytfX2duYXRfY3B1X3NldCAoaW50IGNwdSwgc2l6ZV90IGNvdW50LCB2 b2lkICpzZXQpCisgeworICAgLyogQWRhIGhhbmRsZXMgQ1BVIG51bWJlcnMgc3RhcnRpbmcgZnJv bSAxLCB3aGlsZSBDIGlkZW50aWZpZXMgdGhlIGZpcnN0CisgICAgICBDUFUgYnkgYSAwLCBzbyB3 ZSBuZWVkIHRvIGFkanVzdC4gKi8KKy0gIENQVV9TRVRfUyAoY3B1IC0gMSwgY291bnQsIHNldCk7 CisrICBDUFVfU0VUX1MgKGNwdSAtIDEsIGNvdW50LCAoY3B1X3NldF90ICopIHNldCk7CisgfQor IAorICNlbHNlIC8qICFDUFVfQUxMT0MgKi8KKyAKKyAvKiBTdGF0aWMgY3B1IHNldHMgKi8KKyAK Ky1jcHVfc2V0X3QgKgorK3ZvaWQgKgorIF9fZ25hdF9jcHVfYWxsb2MgKHNpemVfdCBjb3VudCBB VFRSSUJVVEVfVU5VU0VEKQorIHsKKy0gIHJldHVybiAoY3B1X3NldF90ICopIHhtYWxsb2MgKHNp emVvZiAoY3B1X3NldF90KSk7CisrICByZXR1cm4geG1hbGxvYyAoc2l6ZW9mIChjcHVfc2V0X3Qp KTsKKyB9CisgCisgc2l6ZV90CitAQCAtMzMxNCwyMyArMzMxOCwyMyBAQCBfX2duYXRfY3B1X2Fs bG9jX3NpemUgKHNpemVfdCBjb3VudCBBVFRSSUJVVEVfVU5VU0VEKQorIH0KKyAKKyB2b2lkCist X19nbmF0X2NwdV9mcmVlIChjcHVfc2V0X3QgKnNldCkKKytfX2duYXRfY3B1X2ZyZWUgKHZvaWQg KnNldCkKKyB7CisgICBmcmVlIChzZXQpOworIH0KKyAKKyB2b2lkCistX19nbmF0X2NwdV96ZXJv IChzaXplX3QgY291bnQgQVRUUklCVVRFX1VOVVNFRCwgY3B1X3NldF90ICpzZXQpCisrX19nbmF0 X2NwdV96ZXJvIChzaXplX3QgY291bnQgQVRUUklCVVRFX1VOVVNFRCwgdm9pZCAqc2V0KQorIHsK Ky0gIENQVV9aRVJPIChzZXQpOworKyAgQ1BVX1pFUk8gKChjcHVfc2V0X3QgKikgc2V0KTsKKyB9 CisgCisgdm9pZAorLV9fZ25hdF9jcHVfc2V0IChpbnQgY3B1LCBzaXplX3QgY291bnQgQVRUUklC VVRFX1VOVVNFRCwgY3B1X3NldF90ICpzZXQpCisrX19nbmF0X2NwdV9zZXQgKGludCBjcHUsIHNp emVfdCBjb3VudCBBVFRSSUJVVEVfVU5VU0VELCB2b2lkICpzZXQpCisgeworICAgLyogQWRhIGhh bmRsZXMgQ1BVIG51bWJlcnMgc3RhcnRpbmcgZnJvbSAxLCB3aGlsZSBDIGlkZW50aWZpZXMgdGhl IGZpcnN0CisgICAgICBDUFUgYnkgYSAwLCBzbyB3ZSBuZWVkIHRvIGFkanVzdC4gKi8KKy0gIENQ VV9TRVQgKGNwdSAtIDEsIHNldCk7CisrICBDUFVfU0VUIChjcHUgLSAxLCAoY3B1X3NldF90ICop IHNldCk7CisgfQorICNlbmRpZiAvKiAhQ1BVX0FMTE9DICovCisgI2VuZGlmIC8qIF9fbGludXhf XyAqLworZGlmZiAtLWdpdCBhL2djYy9hZGEvYWRhaW50LmggYi9nY2MvYWRhL2FkYWludC5oCitp bmRleCAwZDEyZjdlLi5hMDYzYjQ3IDEwMDY0NAorLS0tIGdjYy9hZGEvYWRhaW50LmgKKysrKyBn Y2MvYWRhL2FkYWludC5oCitAQCAtMzE2LDEzICszMTYsMTEgQEAgZXh0ZXJuIHZvaWQgICAqX19n bmF0X2x3cF9zZWxmCQkJICAgKHZvaWQpOworIAorIC8qIFJvdXRpbmVzIGZvciBpbnRlcmZhY2Ug dG8gcmVxdWlyZWQgQ1BVIHNldCBwcmltaXRpdmVzICovCisgCistI2luY2x1ZGUgPHNjaGVkLmg+ CistCistZXh0ZXJuIGNwdV9zZXRfdCAqX19nbmF0X2NwdV9hbGxvYyAgICAgICAgICAgICAgICAg KHNpemVfdCk7CisrZXh0ZXJuIHZvaWQgKiBfX2duYXRfY3B1X2FsbG9jICAgICAgICAgICAgICAg ICAoc2l6ZV90KTsKKyBleHRlcm4gc2l6ZV90IF9fZ25hdF9jcHVfYWxsb2Nfc2l6ZSAgICAgICAg ICAgICAgICAoc2l6ZV90KTsKKy1leHRlcm4gdm9pZCAgIF9fZ25hdF9jcHVfZnJlZSAgICAgICAg ICAgICAgICAgIChjcHVfc2V0X3QgKik7CistZXh0ZXJuIHZvaWQgICBfX2duYXRfY3B1X3plcm8g ICAgICAgICAgICAgICAgICAgICAgKHNpemVfdCwgY3B1X3NldF90ICopOworLWV4dGVybiB2b2lk ICAgX19nbmF0X2NwdV9zZXQgICAgICAgICAgICAgICAgICAgICAgIChpbnQsIHNpemVfdCwgY3B1 X3NldF90ICopOworK2V4dGVybiB2b2lkICAgX19nbmF0X2NwdV9mcmVlICAgICAgICAgICAgICAg ICAgKHZvaWQgKik7CisrZXh0ZXJuIHZvaWQgICBfX2duYXRfY3B1X3plcm8gICAgICAgICAgICAg ICAgICAgICAgKHNpemVfdCwgdm9pZCAqKTsKKytleHRlcm4gdm9pZCAgIF9fZ25hdF9jcHVfc2V0 ICAgICAgICAgICAgICAgICAgICAgICAoaW50LCBzaXplX3QsIHZvaWQgKik7CisgI2VuZGlmCisg CisgI2lmIGRlZmluZWQgKF9XSU4zMikKKy0tLSBnY2MvYWRhL01ha2VmaWxlLnJ0bAkyMDIwLTA3 LTIzIDA4OjM1OjE3LjA1MjM4MTMzNiArMDIwMAorKysrIC0JMjAyMC0wOC0wOSAxOTozODoyNC4y MzAzNTE0MDYgKzAyMDAKK0BAIC0xNTMzLDcgKzE1MzMsNyBAQAorICAgcy1pbnRtYW4uYWRiPGxp YmduYXJsL3MtaW50bWFuX19wb3NpeC5hZGIgXAorICAgcy10cG9wc3AuYWRiPGxpYmduYXJsL3Mt dHBvcHNwX190bHMuYWRiIFwKKyAgICQoVFJBU1lNX0RXQVJGX1VOSVhfUEFJUlMpIFwKKy0gIHMt dHNtb25hLmFkYjxsaWJnbmF0L3MtdHNtb25hX19saW51eC5hZGIgXAorKyAgcy10c21vbmEuYWRi PGxpYmduYXQvcy10c21vbmEuYWRiIFwKKyAgIGEtZXhldGltLmFkYjxsaWJnbmFybC9hLWV4ZXRp bV9fcG9zaXguYWRiIFwKKyAgIGEtZXhldGltLmFkczxsaWJnbmFybC9hLWV4ZXRpbV9fZGVmYXVs dC5hZHMgXAorICAgcy1saW51eC5hZHM8bGliZ25hcmwvcy1saW51eC5hZHMgXAorQEAgLTIwODMs NyArMjA4Myw3IEBACisgICBzLW9zaW50ZS5hZGI8bGliZ25hcmwvcy1vc2ludGVfX3Bvc2l4LmFk YiBcCisgICBzLXRwb3BzcC5hZGI8bGliZ25hcmwvcy10cG9wc3BfX3Rscy5hZGIgXAorICAgJChU UkFTWU1fRFdBUkZfVU5JWF9QQUlSUykgXAorLSAgcy10c21vbmEuYWRiPGxpYmduYXQvcy10c21v bmFfX2xpbnV4LmFkYiBcCisrICBzLXRzbW9uYS5hZGI8bGliZ25hdC9zLXRzbW9uYS5hZGIgXAor ICAgJChBVE9NSUNTX1RBUkdFVF9QQUlSUykgXAorICAgJChBVE9NSUNTX0JVSUxUSU5TX1RBUkdF VF9QQUlSUykgXAorICAgc3lzdGVtLmFkczxsaWJnbmF0L3N5c3RlbS1saW51eC1wcGMuYWRzCitA QCAtMjExMiw3ICsyMTEyLDcgQEAKKyBlbmRpZgorIAorICMgQVJNIGxpbnV4LCBHTlUgZWFiaQor LWlmZXEgKCQoc3RyaXAgJChmaWx0ZXItb3V0IGFybSUgbGludXgtZ251ZWFiaSUsJCh0YXJnZXRf Y3B1KSAkKHRhcmdldF9vcykpKSwpCisraWZlcSAoJChzdHJpcCAkKGZpbHRlci1vdXQgYXJtJSBs aW51eC1nbnVlYWJpJSBsaW51eC1tdXNsZWFiaSUgbGludXgtbXVzbGdudWVhYmklLCQodGFyZ2V0 X2NwdSkgJCh0YXJnZXRfb3MpKSksKQorICAgTElCR05BVF9UQVJHRVRfUEFJUlMgPSBcCisgICBh LWludG5hbS5hZHM8bGliZ25hcmwvYS1pbnRuYW1fX2xpbnV4LmFkcyBcCisgICBzLWlubWFvcC5h ZGI8bGliZ25hcmwvcy1pbm1hb3BfX3Bvc2l4LmFkYiBcCitAQCAtMjMwNSw3ICsyMzA1LDcgQEAK KyAgIHMtdHBvcHNwLmFkYjxsaWJnbmFybC9zLXRwb3BzcF9fdGxzLmFkYiBcCisgICBzLXRhc3By aS5hZHM8bGliZ25hcmwvcy10YXNwcmlfX3Bvc2l4LW5vYWx0c3RhY2suYWRzIFwKKyAgICQoVFJB U1lNX0RXQVJGX1VOSVhfUEFJUlMpIFwKKy0gIHMtdHNtb25hLmFkYjxsaWJnbmF0L3MtdHNtb25h X19saW51eC5hZGIgXAorKyAgcy10c21vbmEuYWRiPGxpYmduYXQvcy10c21vbmEuYWRiIFwKKyAg ICQoQVRPTUlDU19UQVJHRVRfUEFJUlMpIFwKKyAgICQoQVRPTUlDU19CVUlMVElOU19UQVJHRVRf UEFJUlMpIFwKKyAgIHN5c3RlbS5hZHM8bGliZ25hdC9zeXN0ZW0tbGludXgtaWE2NC5hZHMKK0BA IC0yNDAxLDcgKzI0MDEsNyBAQAorICAgcy10cG9wc3AuYWRiPGxpYmduYXJsL3MtdHBvcHNwX190 bHMuYWRiIFwKKyAgIHMtdGFzcHJpLmFkczxsaWJnbmFybC9zLXRhc3ByaV9fcG9zaXguYWRzIFwK KyAgICQoVFJBU1lNX0RXQVJGX1VOSVhfUEFJUlMpIFwKKy0gIHMtdHNtb25hLmFkYjxsaWJnbmF0 L3MtdHNtb25hX19saW51eC5hZGIgXAorKyAgcy10c21vbmEuYWRiPGxpYmduYXQvcy10c21vbmEu YWRiIFwKKyAgICQoQVRPTUlDU19UQVJHRVRfUEFJUlMpIFwKKyAgICQoWDg2XzY0X1RBUkdFVF9Q QUlSUykgXAorICAgc3lzdGVtLmFkczxsaWJnbmF0L3N5c3RlbS1saW51eC14ODYuYWRzCistLS0g Z2NjL2FkYS90ZXJtaW5hbHMuYwkyMDE5LTAxLTA4IDEwOjU0OjA0LjAwMDAwMDAwMCArMDEwMAor KysrIGdjYy9hZGEvdGVybWluYWxzLmMJMjAxOS0wNS0xNSAxMzoxNDowOS45MzU3NDI1MjYgKzAy MDAKK0BAIC0xMTM2LDcgKzExMzYsNyBAQAorIC8qIFBPU0lYIGRvZXMgbm90IHNwZWNpZnkgaG93 IHRvIG9wZW4gdGhlIG1hc3RlciBzaWRlIG9mIGEgdGVybWluYWwuU2V2ZXJhbAorICAgIG1ldGhv ZHMgYXJlIGF2YWlsYWJsZSAoc3lzdGVtIHNwZWNpZmljKToKKyAgICAgICAxLSB1c2luZyBhIGNs b25pbmcgZGV2aWNlIChVU0VfQ0xPTkVfREVWSUNFKQorLSAgICAgIDItIGdldHB0ICAgICAgICAg ICAgICAgICAgKFVTRV9HRVRQVCkKKysgICAgICAyLSBwb3NpeF9vcGVucHQgICAgICAgICAgIChV U0VfUE9TSVhfT1BFTlBUKQorICAgICAgIDMtIG9wZW5wdHkgICAgICAgICAgICAgICAgKFVTRV9P UEVOUFRZKQorIAorICAgIFdoZW4gdXNpbmcgdGhlIGNsb25pbmcgZGV2aWNlIG1ldGhvZCwgdGhl IG1hY3JvIFVTRV9DTE9ORV9ERVZJQ0Ugc2hvdWxkCitAQCAtMTE1MCw3ICsxMTUwLDcgQEAKKyAj aWYgZGVmaW5lZCAoX19BUFBMRV9fKSB8fCBkZWZpbmVkIChCU0QpCisgI2RlZmluZSBVU0VfT1BF TlBUWQorICNlbGlmIGRlZmluZWQgKF9fbGludXhfXykKKy0jZGVmaW5lIFVTRV9HRVRQVAorKyNk ZWZpbmUgVVNFX1BPU0lYX09QRU5QVAorICNlbGlmIGRlZmluZWQgKF9fc3VuX18pCisgI2RlZmlu ZSBVU0VfQ0xPTkVfREVWSUNFICIvZGV2L3B0bXgiCisgI2VsaWYgZGVmaW5lZCAoX0FJWCkKK0BA IC0xMTk5LDggKzExOTksOCBAQAorICAgIGludCAgbWFzdGVyX2ZkICAgPSAtMTsKKyAgICBjaGFy ICpzbGF2ZV9uYW1lID0gTlVMTDsKKyAKKy0jaWZkZWYgVVNFX0dFVFBUCistICBtYXN0ZXJfZmQg PSBnZXRwdCAoKTsKKysjaWYgZGVmaW5lZChVU0VfUE9TSVhfT1BFTlBUKQorKyAgbWFzdGVyX2Zk ID0gcG9zaXhfb3BlbnB0KE9fUkRXUiB8IE9fTk9DVFRZKTsKKyAjZWxpZiBkZWZpbmVkIChVU0Vf T1BFTlBUWSkKKyAgIHN0YXR1cyA9IG9wZW5wdHkgKCZtYXN0ZXJfZmQsICZzbGF2ZV9mZCwgTlVM TCwgTlVMTCwgTlVMTCk7CisgI2VsaWYgZGVmaW5lZCAoVVNFX0NMT05FX0RFVklDRSkKZGlmZiAt LWdpdCBhL3NyY3BrZ3MvbGliZ2Njaml0L3RlbXBsYXRlIGIvc3JjcGtncy9saWJnY2NqaXQvdGVt cGxhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjBlODU1MWQwNjJj Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9saWJnY2NqaXQvdGVtcGxhdGUKQEAgLTAsMCAr MSwyNDEgQEAKKyMgVGVtcGxhdGUgZmlsZSBmb3IgJ2xpYmdjY2ppdCcKK19tYWpvcnZlcj0xMAor X21pbm9ydmVyPSR7X21ham9ydmVyfS4yCitfcGF0Y2h2ZXI9JHtfbWlub3J2ZXJ9LjEKKworcGtn bmFtZT1saWJnY2NqaXQKKyMgd2UgYXJlIHVzaW5nIGEgMTAtc3RhYmxlIGdpdCBzbmFwc2hvdCBh bHBpbmUgaXMgdXNpbmcgaW4gb3JkZXIKKyMgdG8gZ2V0IHJlZ3Jlc3Npb24gZml4ZXMgbm90IHll dCBpbmNvcnBvcmF0ZSBpbnRvIGEgc3RhYmxlIHJlbGVhc2UKKyMgaXQgc2hvdWxkIGJlIHBvc3Np YmxlIHRvIHN3aXRjaCBiYWNrIHRvIHN0YWJsZSB3aXRoIDEwLjMgb3IgMTEKK3ZlcnNpb249JHtf cGF0Y2h2ZXJ9cHJlMQord3Jrc3JjPWdjYy0ke3ZlcnNpb24vcHJlL19wcmV9CityZXZpc2lvbj0y CitzaG9ydF9kZXNjPSJHTlUgQ29tcGlsZXIgQ29sbGVjdGlvbiIKK21haW50YWluZXI9IkVubm8g Qm9sYW5kIDxnb3R0b3hAdm9pZGxpbnV4Lm9yZz4iCitob21lcGFnZT0iaHR0cDovL2djYy5nbnUu b3JnIgorbGljZW5zZT0iR0ZETC0xLjItb3ItbGF0ZXIsIEdQTC0zLjAtb3ItbGF0ZXIsIExHUEwt Mi4xLW9yLWxhdGVyIgorIyAqLW11c2wgYnVpbGRlcnMgaGF2ZSBpc3N1ZXMgZmV0Y2hpbmcgaHR0 cHM6Ly9mdHAuZ251Lm9yZy9nbnUvbXBjL21wYy0xLjEuMC50YXIuZ3oKK2Rpc3RmaWxlcz0iaHR0 cHM6Ly9kZXYuYWxwaW5lbGludXgub3JnL35uZW5vbG9kL2djYy0ke3ZlcnNpb24vcHJlL19wcmV9 LnRhci54eiIKK2NoZWNrc3VtPSI3NzJjZmQ1ZDMwZWI5Y2M1YTk5NmZlYzliYThjZGNiNDVkMzdk ZjFjOWI1NzcwNjEwMTAzYjgxNGI3MzJjNTkwIgorbm9waWU9eWVzCitsaWIzMmRpc2FibGVkPXll cworCisjIE1JUFMgaXMgdW50ZXN0ZWQgYW5kIGRvZXMgbm90IGhhdmUgZ28gaW4gY3Jvc3N0b29s Y2hhaW5zCisjIDMyLWJpdCBQb3dlclBDIHNlZW1zIHdlaXJkbHkgYnJva2VuIHNpbmNlIHRoZSAx MC54IHJlbGVhc2UKKyMgMzItYml0IGxpdHRsZSBlbmRpYW4gUG93ZXJQQyBoYXMgbm8gc3VwcG9y dCBhdCBhbGwgKG5vIEdPQVJDSCkKK2Nhc2UgIiRYQlBTX1RBUkdFVF9NQUNISU5FIiBpbgorCXBw YzY0KikgOzsKKwltaXBzKi1tdXNsfHBwYyopIF9oYXZlX2djY2dvPW5vIDs7Citlc2FjCisKK2lm IFsgIiRDSFJPT1RfUkVBRFkiIF07IHRoZW4KKwlob3N0bWFrZWRlcGVuZHM9InRhciB0ZXhpbmZv IHBlcmwgZmxleCIKK2ZpCisKK21ha2VkZXBlbmRzPSJ6bGliLWRldmVsIGdtcC1kZXZlbCBtcGZy LWRldmVsIGxpYm1wYy1kZXZlbCAKKyAgbGlic3RkYysrLWRldmVsLSR7dmVyc2lvbn1fJHtyZXZp c2lvbn0gbGlic3NwLWRldmVsLSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCitkZXBlbmRzPSJnY2M+ PSR7X21pbm9ydmVyfSIKK2NoZWNrZGVwZW5kcz0iZGVqYWdudSIKKworY2FzZSAiJFhCUFNfVEFS R0VUX01BQ0hJTkUiIGluCisJaTY4NikgX3RyaXBsZXQ9Imk2ODYtcGMtbGludXgtZ251Ijs7CisJ aTY4Ni1tdXNsKSBfdHJpcGxldD0iaTY4Ni1saW51eC1tdXNsIjs7CisJeDg2XzY0KSBfdHJpcGxl dD0ieDg2XzY0LXVua25vd24tbGludXgtZ251Ijs7CisJeDg2XzY0LW11c2wpIF90cmlwbGV0PSJ4 ODZfNjQtbGludXgtbXVzbCI7OworCWFybXY1dGVsKSBfdHJpcGxldD0iYXJtLWxpbnV4LWdudWVh YmkiOzsKKwlhcm12NXRlbC1tdXNsKSBfdHJpcGxldD0iYXJtLWxpbnV4LW11c2xlYWJpIjs7CisJ YXJtdjZsKSBfdHJpcGxldD0iYXJtLWxpbnV4LWdudWVhYmloZiI7OworCWFybXY3bCkgX3RyaXBs ZXQ9ImFybXY3bC1saW51eC1nbnVlYWJpaGYiOzsKKwlhcm12NmwtbXVzbCkgX3RyaXBsZXQ9ImFy bS1saW51eC1tdXNsZWFiaWhmIjs7CisJYXJtdjdsLW11c2wpIF90cmlwbGV0PSJhcm12N2wtbGlu dXgtbXVzbGVhYmloZiI7OworCWFhcmNoNjQpIF90cmlwbGV0PSJhYXJjaDY0LWxpbnV4LWdudSI7 OworCWFhcmNoNjQtbXVzbCkgX3RyaXBsZXQ9ImFhcmNoNjQtbGludXgtbXVzbCI7OworCXBwYykg X3RyaXBsZXQ9InBvd2VycGMtbGludXgtZ251Ijs7CisJcHBjLW11c2wpIF90cmlwbGV0PSJwb3dl cnBjLWxpbnV4LW11c2wiOzsKKwlwcGNsZSkgX3RyaXBsZXQ9InBvd2VycGNsZS1saW51eC1nbnUi OzsKKwlwcGNsZS1tdXNsKSBfdHJpcGxldD0icG93ZXJwY2xlLWxpbnV4LW11c2wiOzsKKwlwcGM2 NGxlKSBfdHJpcGxldD0icG93ZXJwYzY0bGUtbGludXgtZ251Ijs7CisJcHBjNjRsZS1tdXNsKSBf dHJpcGxldD0icG93ZXJwYzY0bGUtbGludXgtbXVzbCI7OworCXBwYzY0KSBfdHJpcGxldD0icG93 ZXJwYzY0LWxpbnV4LWdudSI7OworCXBwYzY0LW11c2wpIF90cmlwbGV0PSJwb3dlcnBjNjQtbGlu dXgtbXVzbCI7OworCW1pcHMtbXVzbCkgX3RyaXBsZXQ9Im1pcHMtbGludXgtbXVzbCI7OworCW1p cHNoZi1tdXNsKSBfdHJpcGxldD0ibWlwcy1saW51eC1tdXNsaGYiOzsKKwltaXBzZWwtbXVzbCkg X3RyaXBsZXQ9Im1pcHNlbC1saW51eC1tdXNsIjs7CisJbWlwc2VsaGYtbXVzbCkgX3RyaXBsZXQ9 Im1pcHNlbC1saW51eC1tdXNsaGYiOzsKK2VzYWMKK2Nhc2UgIiRYQlBTX1RBUkdFVF9NQUNISU5F IiBpbgorCSotbXVzbCkJIGRlcGVuZHMrPSIgbXVzbC1kZXZlbCI7OworCSopIAkgZGVwZW5kcys9 IiBnbGliYy1kZXZlbCIKKwkJIDs7Citlc2FjCisKK3ByZV9jb25maWd1cmUoKSB7CisJIyBfRk9S VElGWV9TT1VSQ0UgbmVlZHMgYW4gb3B0aW1pemF0aW9uIGxldmVsLgorCXNlZCAtaSAiL2FjX2Nw cD0vcy9cJENQUEZMQUdTL1wkQ1BQRkxBR1MgLU8yLyIge2djYyxsaWJpYmVydHl9L2NvbmZpZ3Vy ZQorCisJIyBEbyBub3QgcnVuIGZpeGluY2x1ZGVzCisJc2VkIC1pICdzQFwuL2ZpeGluY1wuc2hA LWMgdHJ1ZUAnIGdjYy9NYWtlZmlsZS5pbgorCisJY2FzZSAiJFhCUFNfVEFSR0VUX01BQ0hJTkUi IGluCisJCSotbXVzbCkKKwkJCXBhdGNoIC1wMCAtaSAke0ZJTEVTRElSfS9saWJnbmFybC1tdXNs LnBhdGNoCisJCQlwYXRjaCAtcDAgLWkgJHtGSUxFU0RJUn0vbGlic3NwLW11c2wucGF0Y2gKKwkJ CXBhdGNoIC1wMCAtaSAke0ZJTEVTRElSfS9nY2Nnby1tdXNsLnBhdGNoCisJCQk7OworCWVzYWMK K30KK2RvX2NvbmZpZ3VyZSgpIHsKKwlsb2NhbCBfbGFuZ3MgX2FyZ3MgX2hhc2gKKworCV9oYXNo PWdudQorCWNhc2UgIiRYQlBTX1RBUkdFVF9NQUNISU5FIiBpbgorCQltaXBzZWxoZi1tdXNsKSBf YXJncys9IiAtLXdpdGgtYXJjaD1taXBzMzJyMiAtLXdpdGgtZmxvYXQ9aGFyZCI7IF9oYXNoPXN5 c3Y7OworCQltaXBzZWwtbXVzbCkgX2FyZ3MrPSIgLS13aXRoLWFyY2g9bWlwczMycjIgLS13aXRo LWZsb2F0PXNvZnQiOyBfaGFzaD1zeXN2OzsKKwkJbWlwc2hmLW11c2wpIF9hcmdzKz0iIC0td2l0 aC1hcmNoPW1pcHMzMnIyIC0td2l0aC1mbG9hdD1oYXJkIjs7CisJCW1pcHMtbXVzbCkgX2FyZ3Mr PSIgLS13aXRoLWFyY2g9bWlwczMycjIgLS13aXRoLWZsb2F0PXNvZnQiOzsKKwkJYXJtdjUqKSBf YXJncys9IiAtLXdpdGgtYXJjaD1hcm12NXRlIC0td2l0aC1mbG9hdD1zb2Z0Ijs7CisJCWFybXY2 bCopIF9hcmdzKz0iIC0td2l0aC1hcmNoPWFybXY2IC0td2l0aC1mcHU9dmZwIC0td2l0aC1mbG9h dD1oYXJkIjs7CisJCWFybXY3bCopIF9hcmdzKz0iIC0td2l0aC1hcmNoPWFybXY3LWEgLS13aXRo LWZwdT12ZnB2MyAtLXdpdGgtZmxvYXQ9aGFyZCI7OworCQlhYXJjaDY0KikgX2FyZ3MrPSIgLS13 aXRoLWFyY2g9YXJtdjgtYSI7OworCQlwcGM2NGxlKikgX2FyZ3MrPSIgLS13aXRoLWFiaT1lbGZ2 MiAtLWVuYWJsZS1zZWN1cmVwbHQgLS1lbmFibGUtdGFyZ2V0cz1wb3dlcnBjbGUtbGludXgiOzsK KwkJcHBjNjQqKSBfYXJncys9IiAtLXdpdGgtYWJpPWVsZnYyIC0tZW5hYmxlLXNlY3VyZXBsdCAt LWVuYWJsZS10YXJnZXRzPXBvd2VycGMtbGludXgiOzsKKwkJcHBjKikgX2FyZ3MrPSIgLS1lbmFi bGUtc2VjdXJlcGx0Ijs7CisJZXNhYworCisJIyBmaXg6IHVua25vd24gbG9uZyBkb3VibGUgc2l6 ZSwgY2Fubm90IGRlZmluZSBCRlBfRk1UCisJY2FzZSAiJFhCUFNfVEFSR0VUX01BQ0hJTkUiIGlu CisJCXBwYyotbXVzbCkgX2FyZ3MrPSIgLS1kaXNhYmxlLWRlY2ltYWwtZmxvYXQiOzsKKwllc2Fj CisKKworCWlmIFsgIiRDUk9TU19CVUlMRCIgXTsgdGhlbgorCQlleHBvcnQgQ0NfRk9SX1RBUkdF VD0iJENDIgorCQlleHBvcnQgR0NDX0ZPUl9UQVJHRVQ9IiRDQyIKKwkJZXhwb3J0IENYWF9GT1Jf VEFSR0VUPSIkQ1hYIgorCisJCV9hcmdzKz0iIC0taG9zdD0kWEJQU19DUk9TU19UUklQTEVUIgor CQlfYXJncys9IiAtLXdpdGgtYnVpbGQtc3lzcm9vdD0ke1hCUFNfQ1JPU1NfQkFTRX0iCisJZWxp ZiBbIC16ICIkQ0hST09UX1JFQURZIiBdOyB0aGVuCisJCWV4cG9ydCBMRF9MSUJSQVJZX1BBVEg9 IiR7WEJQU19NQVNURVJESVJ9L3Vzci9saWIke1hCUFNfVEFSR0VUX1dPUkRTSVpFfSIKKwkJX2Fy Z3MrPSIgLS1idWlsZD0ke190cmlwbGV0fSIKKwllbHNlCisJCV9sYW5ncz0iaml0LGx0byIKKwkJ X2FyZ3MrPSIgLS1idWlsZD0ke190cmlwbGV0fSIKKwlmaQorCisJaWYgWyAiJFhCUFNfVEFSR0VU X0xJQkMiID0gIm11c2wiIF07IHRoZW4KKwkJX2FyZ3MrPSIgLS1kaXNhYmxlLWdudS11bmlxdWUt b2JqZWN0IgorCQlfYXJncys9IiAtLWRpc2FibGUtc3ltdmVycyIKKwkJX2FyZ3MrPSIgbGliYXRf Y3ZfaGF2ZV9pZnVuYz1ubyIKKwllbHNlCisJCV9hcmdzKz0iIC0tZW5hYmxlLWdudS11bmlxdWUt b2JqZWN0IgorCWZpCisKKwljYXNlICIkWEJQU19UQVJHRVRfTUFDSElORSIgaW4KKwkJcHBjKikg X2FyZ3MrPSIgLS1kaXNhYmxlLXZ0YWJsZS12ZXJpZnkiOzsKKwkJKikgX2FyZ3MrPSIgLS1lbmFi bGUtdnRhYmxlLXZlcmlmeSI7OworCWVzYWMKKworCWV4cG9ydCBDRkxBR1M9IiR7Q0ZMQUdTLy1E X0ZPUlRJRllfU09VUkNFPTIvfSIKKwlleHBvcnQgQ1hYRkxBR1M9IiR7Q1hYRkxBR1MvLURfRk9S VElGWV9TT1VSQ0U9Mi99IgorCisJIyBEaXNhYmxlIGV4cGxpY2l0IC1mbm8tUElFLCBnY2Mgd2ls bCBmaWd1cmUgdGhpcyBvdXQgaXRzZWxmLgorCWV4cG9ydCBDRkxBR1M9IiR7Q0ZMQUdTLy8tZm5v LVBJRS99IgorCWV4cG9ydCBDWFhGTEFHUz0iJHtDWFhGTEFHUy8vLWZuby1QSUUvfSIKKwlleHBv cnQgTERGTEFHUz0iJHtMREZMQUdTLy8tbm8tcGllL30iCisKKwlfYXJncys9IiAtLXByZWZpeD0v dXNyIgorCV9hcmdzKz0iIC0tbWFuZGlyPS91c3Ivc2hhcmUvbWFuIgorCV9hcmdzKz0iIC0taW5m b2Rpcj0vdXNyL3NoYXJlL2luZm8iCisgICAgX2FyZ3MrPSIgLS13aXRoLWJ1Z3VybD0naHR0cHM6 Ly9naXRodWIuY29tL2phc2hhbmRlZXAtc29oaS9saWJnY2NqaXQtcGtnL2lzc3VlcyciIFwKKwlf YXJncys9IiAtLWxpYmV4ZWNkaXI9L3Vzci9saWIke1hCUFNfVEFSR0VUX1dPUkRTSVpFfSIKKwlf YXJncys9IiAtLWxpYmRpcj0vdXNyL2xpYiR7WEJQU19UQVJHRVRfV09SRFNJWkV9IgorCV9hcmdz Kz0iIC0td2l0aC1zeXN0ZW0temxpYiIKKwlfYXJncys9IiAtLXdpdGgtbGlua2VyLWhhc2gtc3R5 bGU9JF9oYXNoIgorCV9hcmdzKz0iIC0tZW5hYmxlLWxpbmtlci1idWlsZC1pZCIKKwlfYXJncys9 IiAtLWVuYWJsZS10aHJlYWRzPXBvc2l4IgorCV9hcmdzKz0iIC0tZW5hYmxlLWx0byIKKwlfYXJn cys9IiAtLWVuYWJsZS1zaGFyZWQiCisgICAgX2FyZ3MrPSIgLS1lbmFibGUtaG9zdC1zaGFyZWQi CisJX2FyZ3MrPSIgLS1lbmFibGUtY2hlY2tpbmc9cmVsZWFzZSIKKwlfYXJncys9IiAtLWVuYWJs ZS1wbHVnaW5zIgorCV9hcmdzKz0iIC0tZW5hYmxlLWRlZmF1bHQtc3NwIgorCV9hcmdzKz0iIC0t ZW5hYmxlLWRlZmF1bHQtcGllIgorCV9hcmdzKz0iIC0tZGlzYWJsZS1tdWx0aWxpYiIKKwlfYXJn cys9IiAtLWRpc2FibGUtYm9vdHN0cmFwIgorCV9hcmdzKz0iIC0tZW5hYmxlLV9fY3hhX2F0ZXhp dCIKKyAgICBfYXJncys9IiAtLWRpc2FibGUtbGlicXVhZG1hdGgiCisgICAgX2FyZ3MrPSIgLS1k aXNhYmxlLWxpYnF1YWRtYXRoLXN1cHBvcnQiCisgICAgX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYmdv bXAiIAorICAgIF9hcmdzKz0iIC0tZGlzYWJsZS1saWJvZmZsb2FkbWljIiAKKyAgICBfYXJncys9 IiAtLWRpc2FibGUtbGliYWRhIgorICAgIF9hcmdzKz0iIC0tZGlzYWJsZS1saWJ2dHYiCisgICAg X2FyZ3MrPSIgLS1kaXNhYmxlLWxpYnNhbml0aXplciIKKwlfYXJncys9IiAtLWRpc2FibGUtd2Vy cm9yIgorCV9hcmdzKz0iIC0tZGlzYWJsZS1ubHMiCisJX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYnN0 ZGN4eC1wY2giCisJX2FyZ3MrPSIgLS1kaXNhYmxlLXNqbGotZXhjZXB0aW9ucyIKKwlfYXJncys9 IiAtLWRpc2FibGUtdGFyZ2V0LWxpYmliZXJ0eSIKKworCW1rZGlyIC1wIGJ1aWxkCisJY2QgYnVp bGQKKworICAgICMgSWYgd2UgYXJlIGNoZWNraW5nIHBhY2thZ2VzLCB3ZSBuZWVkIHRvIGhhdmUg YysrIGNvbXBpbGVkCisgICAgWyAteiAiJFhCUFNfQ0hFQ0tfUEtHUyIgXSAmJiBfbGFuZ3M9Impp dCIgfHwgX2xhbmdzPSJqaXQsYysrIgorICAgIF9hcmdzKz0iIC0tZW5hYmxlLWxhbmd1YWdlcz0k e19sYW5nc30iCisgICAgQ09ORklHX1NIRUxMPS9iaW4vYmFzaCBcCisJICAgICR7d3Jrc3JjfS9j b25maWd1cmUgJHtfYXJnc30KKworfQorCitkb19idWlsZCgpIHsKKwlpZiBbIC16ICIkQ0hST09U X1JFQURZIiBdOyB0aGVuCisJCWV4cG9ydCBMRF9MSUJSQVJZX1BBVEg9IiR7WEJQU19NQVNURVJE SVJ9L3Vzci9saWIke1hCUFNfVEFSR0VUX1dPUkRTSVpFfSIKKwlmaQorICAgIGNkIGJ1aWxkCisg ICAgbWFrZSAke21ha2Vqb2JzfQorfQorCitwb3N0X2J1aWxkKCkgeworICAgICMgTGV0cyBjcmVh dGUgYSBzdGFnaW5nIGZvbGRlciB0byBpbnN0YWxsIGludG8KKyAgICBta2RpciAtcCAiJHt3cmtz cmN9L2luc3RhbGwiCisgICAgY2QgIiR7d3Jrc3JjfS9idWlsZCIKKyAgICBtYWtlIERFU1RESVI9 IiR7d3Jrc3JjfS9pbnN0YWxsIiAtQyBnY2MgaW5zdGFsbAorCit9CisKK2RvX2NoZWNrKCkgewor ICAgIGNkICIke3dya3NyY30vYnVpbGQvZ2NjIgorICAgIG1ha2UgY2hlY2staml0IFJVTlRFU1RG TEFHUz0iLXYgLXYgLXYiCit9CisKK3ByZV9pbnN0YWxsKCkgeworCWlmIFsgIiRDUk9TU19CVUlM RCIgXTsgdGhlbgorCQkjIFhYWCBvdGhlcndpc2UgbGlua3MgdG8gaG9zdCBsaWJwdGhyZWFkCisJ CWZvciBmIGluICQoZmluZCAke3dya3NyY30vYnVpbGQvJHtYQlBTX0NST1NTX1RSSVBMRVR9IC10 eXBlIGYgLW5hbWUgbGlidG9vbCk7IGRvCisJCQlzZWQgLWUgInMsYWRkX2Rpcj1cIi1MXCRsaWJk aXJcIixhZGRfZGlyPVwiLUwke1hCUFNfQ1JPU1NfQkFTRX1cJGxpYmRpclwiLGciIC1pICRmCisJ CWRvbmUKKwlmaQorfQorCitkb19pbnN0YWxsKCkgeworICAgIF9pbmNsdWRlaG9zdGRpcj0idXNy L2xpYi9nY2MvJHtfdHJpcGxldH0vJHtfbWlub3J2ZXJ9L2luY2x1ZGUiCisgICAgCisgICAgIyBH ZXQgdGhlIHNobGlicyBvdmVyCisgICAgY2QgIiR7d3Jrc3JjfS9pbnN0YWxsIgorCisgICAgdmlu c3RhbGwgIiR7d3Jrc3JjfS9pbnN0YWxsL3Vzci9saWI2NC9saWJnY2NqaXQuc28uMC4wLjEiIDA3 NTUgdXNyL2xpYgorICAgIGxuIC1zZiBsaWJnY2NqaXQuc28uMC4wLjEgIiR7REVTVERJUn0iL3Vz ci9saWIvbGliZ2Njaml0LnNvLjAKKyAgICBsbiAtc2YgbGliZ2Njaml0LnNvLjAuMC4xICIke0RF U1RESVJ9Ii91c3IvbGliL2xpYmdjY2ppdC5zbworCisgICAgIyBHZXQgdGhlIGhlYWRlciBmaWxl cyBpbiBwbGFjZQorICAgIHZpbnN0YWxsIHVzci9pbmNsdWRlL2xpYmdjY2ppdC5oIDA2NDQgIiR7 X2luY2x1ZGVob3N0ZGlyfSIKKyAgICB2aW5zdGFsbCB1c3IvaW5jbHVkZS9saWJnY2NqaXQrKy5o IDA2NDQgIiR7X2luY2x1ZGVob3N0ZGlyfSIKKworICAgICMgVGhlIG1vc3QgaW1wb3J0YW50IHBh cnQsIHRoZSBpbmZvIGZpbGUKKyAgICB2aW5zdGFsbCB1c3Ivc2hhcmUvaW5mby9saWJnY2NqaXQu aW5mbyAwNzU1ICJ1c3Ivc2hhcmUvaW5mbyIKK30KKworcG9zdF9pbnN0YWxsKCkgeworICAgIHZs aWNlbnNlICR7d3Jrc3JjfS9DT1BZSU5HLlJVTlRJTUUgUlVOVElNRS5MSUJSQVJZLkVYQ0VQVElP TgorfQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9saWJnY2NqaXQvdXBkYXRlIGIvc3JjcGtncy9saWJn Y2NqaXQvdXBkYXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5mYjhk ZDU4ZjIwNAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvbGliZ2Njaml0L3VwZGF0ZQpAQCAt MCwwICsxLDIgQEAKK3NpdGU9Imh0dHBzOi8vZ2NjLmdudS5vcmcvcmVsZWFzZXMuaHRtbCIKK3Bh dHRlcm49IkdDQyBcS1tcZC5dKyg/PVw8KSIKCkZyb20gNTBjN2FiZjIwODNiZDZjMjljMDBkN2U1 NDM3ZGU1OWI4ZjkzMzM5NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogbGFuZS1icmFp biA8bGFuZUBtYWlsYm94Lm9yZz4KRGF0ZTogVHVlLCAxNiBGZWIgMjAyMSAxMjoxOToxMyAtMDUw MApTdWJqZWN0OiBbUEFUQ0ggMi8zXSBOZXcgcGFja2FnZTogTmV3IHBhY2thZ2U6IGxpYmdjY2pp dC0xMC4yLjFfcHJlMQoKLS0tCiBzcmNwa2dzL2xpYmdjY2ppdC9maWxlcy9saWJnY2NqaXQtbXVz bC5wYXRjaCAgfCAgNjMgKysrKysrCiBzcmNwa2dzL2xpYmdjY2ppdC9maWxlcy9saWJnbmFybC1t dXNsLnBhdGNoICAgfCAxMjYgKy0tLS0tLS0tLS0KIHNyY3BrZ3MvbGliZ2Njaml0L2ZpbGVzL2xp YnNzcC1tdXNsLnBhdGNoICAgICB8ICA3MSArLS0tLS0KIHNyY3BrZ3MvbGliZ2Njaml0L3BhdGNo ZXMgICAgICAgICAgICAgICAgICAgICB8ICAgMSArCiBzcmNwa2dzL2xpYmdjY2ppdC9wYXRjaGVz L2FkYS1zaGFyZWQucGF0Y2ggICAgfCAgMjggLS0tCiAuLi4vcGF0Y2hlcy9jb25zaXN0ZW50LWxp YnJhcnktcGF0aHMucGF0Y2ggICAgfCAxMTAgLS0tLS0tLS0tLQogLi4uL3BhdGNoZXMvZml4LWN4 eGZsYWdzLXBhc3NpbmcucGF0Y2ggICAgICAgIHwgIDEwIC0KIC4uLi9saWJnY2NqaXQvcGF0Y2hl cy9maXgtbXVzbC1leGVjaW5mby5wYXRjaCB8ICAzMyAtLS0KIC4uLi9wYXRjaGVzL2ZpeC12dHYt bGluay1vcmRlci5wYXRjaCAgICAgICAgICB8ICAyMCAtLQogLi4uL2xpYmdjY2ppdC9wYXRjaGVz L2xpYmZmaV9nbnVsaW51eC5wYXRjaCAgIHwgIDExIC0KIC4uLi9wYXRjaGVzL2xpYmdjYy1pYm0x Mjgtbm8tdGFnLnBhdGNoICAgICAgICB8ICAzOCAtLS0tCiAuLi4vbGliZ2Njaml0L3BhdGNoZXMv bWlwcy1zZ2lkZWZzX2gucGF0Y2ggICAgfCAgMTEgLQogLi4uL2xpYmdjY2ppdC9wYXRjaGVzL21p cHMtc29mdC1mbG9hdC5wYXRjaCAgIHwgIDE4IC0tCiBzcmNwa2dzL2xpYmdjY2ppdC9wYXRjaGVz L211c2wtYWRhLnBhdGNoICAgICAgfCAyMDQgLS0tLS0tLS0tLS0tLS0tLS0tCiBzcmNwa2dzL2xp YmdjY2ppdC90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAgfCAxNDggKysrKysrKy0tLS0tLQog MTUgZmlsZXMgY2hhbmdlZCwgMTQ3IGluc2VydGlvbnMoKyksIDc0NSBkZWxldGlvbnMoLSkKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2xpYmdjY2ppdC9maWxlcy9saWJnY2NqaXQtbXVzbC5w YXRjaAogbW9kZSBjaGFuZ2UgMTAwNjQ0ID0+IDEyMDAwMCBzcmNwa2dzL2xpYmdjY2ppdC9maWxl cy9saWJnbmFybC1tdXNsLnBhdGNoCiBtb2RlIGNoYW5nZSAxMDA2NDQgPT4gMTIwMDAwIHNyY3Br Z3MvbGliZ2Njaml0L2ZpbGVzL2xpYnNzcC1tdXNsLnBhdGNoCiBjcmVhdGUgbW9kZSAxMjAwMDAg c3JjcGtncy9saWJnY2NqaXQvcGF0Y2hlcwogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbGli Z2Njaml0L3BhdGNoZXMvYWRhLXNoYXJlZC5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3Br Z3MvbGliZ2Njaml0L3BhdGNoZXMvY29uc2lzdGVudC1saWJyYXJ5LXBhdGhzLnBhdGNoCiBkZWxl dGUgbW9kZSAxMDA2NDQgc3JjcGtncy9saWJnY2NqaXQvcGF0Y2hlcy9maXgtY3h4ZmxhZ3MtcGFz c2luZy5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbGliZ2Njaml0L3BhdGNoZXMv Zml4LW11c2wtZXhlY2luZm8ucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2xpYmdj Y2ppdC9wYXRjaGVzL2ZpeC12dHYtbGluay1vcmRlci5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0 IHNyY3BrZ3MvbGliZ2Njaml0L3BhdGNoZXMvbGliZmZpX2dudWxpbnV4LnBhdGNoCiBkZWxldGUg bW9kZSAxMDA2NDQgc3JjcGtncy9saWJnY2NqaXQvcGF0Y2hlcy9saWJnY2MtaWJtMTI4LW5vLXRh Zy5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbGliZ2Njaml0L3BhdGNoZXMvbWlw cy1zZ2lkZWZzX2gucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2xpYmdjY2ppdC9w YXRjaGVzL21pcHMtc29mdC1mbG9hdC5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mv bGliZ2Njaml0L3BhdGNoZXMvbXVzbC1hZGEucGF0Y2gKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2xp YmdjY2ppdC9maWxlcy9saWJnY2NqaXQtbXVzbC5wYXRjaCBiL3NyY3BrZ3MvbGliZ2Njaml0L2Zp bGVzL2xpYmdjY2ppdC1tdXNsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwLi5kMmVkMTY5MjhjOAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvbGliZ2Njaml0 L2ZpbGVzL2xpYmdjY2ppdC1tdXNsLnBhdGNoCkBAIC0wLDAgKzEsNjMgQEAKK2RpZmYgLS1naXQg YS9nY2Mvaml0L2ppdC1wbGF5YmFjay5jIGIvZ2NjL2ppdC9qaXQtcGxheWJhY2suYworaW5kZXgg NWJjY2Y1OTFhLi4zNWY1ZTM1ZWYgMTAwNjQ0CistLS0gYS9nY2Mvaml0L2ppdC1wbGF5YmFjay5j CisrKysgYi9nY2Mvaml0L2ppdC1wbGF5YmFjay5jCitAQCAtMTgsNiArMTgsOCBAQCBZb3Ugc2hv dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZQorIGFsb25nIHdpdGggR0NDOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuICBJZiBub3Qgc2VlCisg PGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KKyAKKysjaW5jbHVkZSA8cHRocmVh ZC5oPgorKworICNpbmNsdWRlICJjb25maWcuaCIKKyAjaW5jbHVkZSAic3lzdGVtLmgiCisgI2lu Y2x1ZGUgImNvcmV0eXBlcy5oIgorQEAgLTQxLDggKzQzLDYgQEAgYWxvbmcgd2l0aCBHQ0M7IHNl ZSB0aGUgZmlsZSBDT1BZSU5HMy4gIElmIG5vdCBzZWUKKyAjaW5jbHVkZSAiZGlhZ25vc3RpYy5o IgorICNpbmNsdWRlICJzdG10LmgiCisgCistI2luY2x1ZGUgPHB0aHJlYWQuaD4KKy0KKyAjaW5j bHVkZSAiaml0LXBsYXliYWNrLmgiCisgI2luY2x1ZGUgImppdC1yZXN1bHQuaCIKKyAjaW5jbHVk ZSAiaml0LWJ1aWx0aW5zLmgiCitkaWZmIC0tZ2l0IGEvZ2NjL2ppdC9qaXQtcmVjb3JkaW5nLmMg Yi9nY2Mvaml0L2ppdC1yZWNvcmRpbmcuYworaW5kZXggYTIzN2Q1NzRmLi41Nzg1ZTMyNjkgMTAw NjQ0CistLS0gYS9nY2Mvaml0L2ppdC1yZWNvcmRpbmcuYworKysrIGIvZ2NjL2ppdC9qaXQtcmVj b3JkaW5nLmMKK0BAIC0xOCw2ICsxOCw4IEBAIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNv cHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgYWxvbmcgd2l0aCBHQ0M7IHNl ZSB0aGUgZmlsZSBDT1BZSU5HMy4gIElmIG5vdCBzZWUKKyA8aHR0cDovL3d3dy5nbnUub3JnL2xp Y2Vuc2VzLz4uICAqLworIAorKyNpbmNsdWRlIDxwdGhyZWFkLmg+CisrCisgI2luY2x1ZGUgImNv bmZpZy5oIgorICNpbmNsdWRlICJzeXN0ZW0uaCIKKyAjaW5jbHVkZSAiY29yZXR5cGVzLmgiCitA QCAtMjUsOCArMjcsNiBAQCBhbG9uZyB3aXRoIEdDQzsgc2VlIHRoZSBmaWxlIENPUFlJTkczLiAg SWYgbm90IHNlZQorICNpbmNsdWRlICJwcmV0dHktcHJpbnQuaCIKKyAjaW5jbHVkZSAidG9wbGV2 LmgiCisgCistI2luY2x1ZGUgPHB0aHJlYWQuaD4KKy0KKyAjaW5jbHVkZSAiaml0LWJ1aWx0aW5z LmgiCisgI2luY2x1ZGUgImppdC1yZWNvcmRpbmcuaCIKKyAjaW5jbHVkZSAiaml0LXBsYXliYWNr LmgiCitkaWZmIC0tZ2l0IGEvZ2NjL2ppdC9saWJnY2NqaXQuYyBiL2djYy9qaXQvbGliZ2Njaml0 LmMKK2luZGV4IGY5YzMzYzYzYy4uNzVmMjFkMjc1IDEwMDY0NAorLS0tIGEvZ2NjL2ppdC9saWJn Y2NqaXQuYworKysrIGIvZ2NjL2ppdC9saWJnY2NqaXQuYworQEAgLTE4LDEzICsxOCwxMyBAQCBZ b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZQorIGFsb25nIHdpdGggR0NDOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuICBJZiBub3Qg c2VlCisgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KKyAKKysjaW5jbHVkZSA8 cHRocmVhZC5oPgorICNpbmNsdWRlICJjb25maWcuaCIKKyAjaW5jbHVkZSAic3lzdGVtLmgiCisg I2luY2x1ZGUgImNvcmV0eXBlcy5oIgorICNpbmNsdWRlICJ0aW1ldmFyLmgiCisgI2luY2x1ZGUg InR5cGVkLXNwbGF5LXRyZWUuaCIKKyAjaW5jbHVkZSAiY3BwYnVpbHRpbi5oIgorLSNpbmNsdWRl IDxwdGhyZWFkLmg+CisgCisgI2luY2x1ZGUgImxpYmdjY2ppdC5oIgorICNpbmNsdWRlICJqaXQt cmVjb3JkaW5nLmgiCmRpZmYgLS1naXQgYS9zcmNwa2dzL2xpYmdjY2ppdC9maWxlcy9saWJnbmFy bC1tdXNsLnBhdGNoIGIvc3JjcGtncy9saWJnY2NqaXQvZmlsZXMvbGliZ25hcmwtbXVzbC5wYXRj aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWVkOWYxNmY1NTguLjAwMDAwMDAwMDAw Ci0tLSBhL3NyY3BrZ3MvbGliZ2Njaml0L2ZpbGVzL2xpYmduYXJsLW11c2wucGF0Y2gKKysrIC9k ZXYvbnVsbApAQCAtMSwxMjUgKzAsMCBAQAotU291cmNlOiBBbHBpbmUgTGludXgKLVVwc3RyZWFt OiBVbmtub3duCi1SZWFzb246IFBhdGNoIGxpYmduYXJsIHRvIG5vdCB1c2UgZnVuY3Rpb24gbWlz c2luZyBmcm9tIG11c2wuCi0KLWRpZmYgLXJ1cCBnY2MtOC4yLjAvZ2NjL2FkYS9saWJnbmFybC9z LW9zaW50ZV9fbGludXguYWRzIGdjYy04LjIuMC1uZXcvZ2NjL2FkYS9saWJnbmFybC9zLW9zaW50 ZV9fbGludXguYWRzCi0tLS0gZ2NjL2FkYS9saWJnbmFybC9zLW9zaW50ZV9fbGludXguYWRzCTIw MTgtMDEtMTEgMDA6NTU6MjUuMDAwMDAwMDAwIC0wODAwCi0rKysgZ2NjL2FkYS9saWJnbmFybC9z LW9zaW50ZV9fbGludXguYWRzCTIwMTgtMTEtMDEgMTY6MTY6MjMuMzcyNDUyOTUxIC0wNzAwCi1A QCAtMzk0LDEyICszOTQsNiBAQCBwYWNrYWdlIFN5c3RlbS5PU19JbnRlcmZhY2UgaXMKLSAgICBQ VEhSRUFEX1JXTE9DS19QUkVGRVJfV1JJVEVSX05QICAgICAgICAgICAgICA6IGNvbnN0YW50IDo9 IDE7Ci0gICAgUFRIUkVBRF9SV0xPQ0tfUFJFRkVSX1dSSVRFUl9OT05SRUNVUlNJVkVfTlAgOiBj b25zdGFudCA6PSAyOwotIAotLSAgIGZ1bmN0aW9uIHB0aHJlYWRfcndsb2NrYXR0cl9zZXRraW5k X25wCi0tICAgICAoYXR0ciA6IGFjY2VzcyBwdGhyZWFkX3J3bG9ja2F0dHJfdDsKLS0gICAgICBw cmVmIDogaW50KSByZXR1cm4gaW50OwotLSAgIHByYWdtYSBJbXBvcnQKLS0gICAgIChDLCBwdGhy ZWFkX3J3bG9ja2F0dHJfc2V0a2luZF9ucCwgInB0aHJlYWRfcndsb2NrYXR0cl9zZXRraW5kX25w Iik7Ci0tCi0gICAgZnVuY3Rpb24gcHRocmVhZF9yd2xvY2tfaW5pdAotICAgICAgKG11dGV4IDog YWNjZXNzIHB0aHJlYWRfcndsb2NrX3Q7Ci0gICAgICAgYXR0ciAgOiBhY2Nlc3MgcHRocmVhZF9y d2xvY2thdHRyX3QpIHJldHVybiBpbnQ7Ci1AQCAtNDY0LDExICs0NTgsNiBAQCBwYWNrYWdlIFN5 c3RlbS5PU19JbnRlcmZhY2UgaXMKLSAgICAgICBwcm90b2NvbCA6IGludCkgcmV0dXJuIGludDsK LSAgICBwcmFnbWEgSW1wb3J0IChDLCBwdGhyZWFkX211dGV4YXR0cl9zZXRwcm90b2NvbCk7Ci0g Ci0tICAgZnVuY3Rpb24gcHRocmVhZF9tdXRleGF0dHJfc2V0cHJpb2NlaWxpbmcKLS0gICAgIChh dHRyICAgICAgICA6IGFjY2VzcyBwdGhyZWFkX211dGV4YXR0cl90OwotLSAgICAgIHByaW9jZWls aW5nIDogaW50KSByZXR1cm4gaW50OwotLSAgIHByYWdtYSBJbXBvcnQgKEMsIHB0aHJlYWRfbXV0 ZXhhdHRyX3NldHByaW9jZWlsaW5nKTsKLS0KLSAgICB0eXBlIHN0cnVjdF9zY2hlZF9wYXJhbSBp cyByZWNvcmQKLSAgICAgICBzY2hlZF9wcmlvcml0eSA6IGludDsgIC0tICBzY2hlZHVsaW5nIHBy aW9yaXR5Ci0gICAgZW5kIHJlY29yZDsKLWRpZmYgLXJ1cCBnY2MtOC4yLjAvZ2NjL2FkYS9saWJn bmFybC9zLXRhcHJvcF9fbGludXguYWRiIGdjYy04LjIuMC1uZXcvZ2NjL2FkYS9saWJnbmFybC9z LXRhcHJvcF9fbGludXguYWRiCi0tLS0gZ2NjL2FkYS9saWJnbmFybC9zLXRhcHJvcF9fbGludXgu YWRiCTIwMTgtMDEtMTEgMDA6NTU6MjUuMDAwMDAwMDAwIC0wODAwCi0rKysgZ2NjL2FkYS9saWJn bmFybC9zLXRhcHJvcF9fbGludXguYWRiCTIwMTgtMTEtMTMgMTE6Mjg6MzYuNDMzOTY0NDQ5IC0w ODAwCi1AQCAtMjAyLDkgKzIwMiw2IEBAIHBhY2thZ2UgYm9keSBTeXN0ZW0uVGFza19QcmltaXRp dmVzLk9wZXIKLSAgICBwcmFnbWEgSW1wb3J0Ci0gICAgICAoQywgR05BVF9wdGhyZWFkX2NvbmRh dHRyX3NldHVwLCAiX19nbmF0X3B0aHJlYWRfY29uZGF0dHJfc2V0dXAiKTsKLSAKLS0gICBmdW5j dGlvbiBHTkFUX2hhc19jYXBfc3lzX25pY2UgcmV0dXJuIEMuaW50OwotLSAgIHByYWdtYSBJbXBv cnQKLS0gICAgIChDLCBHTkFUX2hhc19jYXBfc3lzX25pY2UsICJfX2duYXRfaGFzX2NhcF9zeXNf bmljZSIpOwotICAgIC0tICBXZSBkbyBub3QgaGF2ZSBwcmFnbWEgTGlua2VyX09wdGlvbnMgKCIt bGNhcCIpOyBoZXJlLCBiZWNhdXNlIHRoaXMKLSAgICAtLSAgbGlicmFyeSBpcyBub3QgcHJlc2Vu dCBvbiBtYW55IExpbnV4IHN5c3RlbXMuICdsaWJjYXAnIGlzIHRoZSBMaW51eAotICAgIC0tICAi Y2FwYWJpbGl0aWVzIiBsaWJyYXJ5LCBjYWxsZWQgYnkgX19nbmF0X2hhc19jYXBfc3lzX25pY2Uu Ci1AQCAtMjE0LDM4ICsyMTEsNiBAQCBwYWNrYWdlIGJvZHkgU3lzdGVtLlRhc2tfUHJpbWl0aXZl cy5PcGVyCi0gICAgLS0gIENvbnZlcnQgQWRhIHByaW9yaXR5IHRvIExpbnV4IHByaW9yaXR5LiBQ cmlvcml0aWVzIGFyZSAxIC4uIDk5IG9uCi0gICAgLS0gIEdOVS9MaW51eCwgc28gd2UgbWFwIDAg Li4gOTggdG8gMSAuLiA5OS4KLSAKLS0gICBmdW5jdGlvbiBHZXRfQ2VpbGluZ19TdXBwb3J0IHJl dHVybiBCb29sZWFuOwotLSAgIC0tICBHZXQgdGhlIHZhbHVlIG9mIHRoZSBDZWlsaW5nX1N1cHBv cnQgY29uc3RhbnQgKHNlZSBiZWxvdykuCi0tICAgLS0gIE5vdGUgd2VsbDogSWYgdGhpcyBmdW5j dGlvbiBvciByZWxhdGVkIGNvZGUgaXMgbW9kaWZpZWQsIGl0IHNob3VsZCBiZQotLSAgIC0tICB0 ZXN0ZWQgYnkgaGFuZCwgYmVjYXVzZSBhdXRvbWF0ZWQgdGVzdGluZyBkb2Vzbid0IGV4ZXJjaXNl IGl0LgotLQotLSAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLS0gICAtLSBHZXRfQ2VpbGlu Z19TdXBwb3J0IC0tCi0tICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotLQotLSAgIGZ1bmN0 aW9uIEdldF9DZWlsaW5nX1N1cHBvcnQgcmV0dXJuIEJvb2xlYW4gaXMKLS0gICAgICBDZWlsaW5n X1N1cHBvcnQgOiBCb29sZWFuIDo9IEZhbHNlOwotLSAgIGJlZ2luCi0tICAgICAgaWYgTG9ja2lu Z19Qb2xpY3kgLz0gJ0MnIHRoZW4KLS0gICAgICAgICByZXR1cm4gRmFsc2U7Ci0tICAgICAgZW5k IGlmOwotLQotLSAgICAgIGRlY2xhcmUKLS0gICAgICAgICBmdW5jdGlvbiBnZXRldWlkIHJldHVy biBJbnRlZ2VyOwotLSAgICAgICAgIHByYWdtYSBJbXBvcnQgKEMsIGdldGV1aWQsICJnZXRldWlk Iik7Ci0tICAgICAgICAgU3VwZXJ1c2VyIDogY29uc3RhbnQgQm9vbGVhbiA6PSBnZXRldWlkID0g MDsKLS0gICAgICAgICBIYXNfQ2FwIDogY29uc3RhbnQgQy5pbnQgOj0gR05BVF9oYXNfY2FwX3N5 c19uaWNlOwotLSAgICAgICAgIHByYWdtYSBBc3NlcnQgKEhhc19DYXAgaW4gMCB8IDEpOwotLSAg ICAgIGJlZ2luCi0tICAgICAgICAgQ2VpbGluZ19TdXBwb3J0IDo9IFN1cGVydXNlciBvciBlbHNl IEhhc19DYXAgPSAxOwotLSAgICAgIGVuZDsKLS0KLS0gICAgICByZXR1cm4gQ2VpbGluZ19TdXBw b3J0OwotLSAgIGVuZCBHZXRfQ2VpbGluZ19TdXBwb3J0OwotLQotLSAgIHByYWdtYSBXYXJuaW5n cyAoT2ZmLCAibm9uLXN0YXRpYyBjYWxsIG5vdCBhbGxvd2VkIGluIHByZWVsYWJvcmF0ZWQgdW5p dCIpOwotLSAgIENlaWxpbmdfU3VwcG9ydCA6IGNvbnN0YW50IEJvb2xlYW4gOj0gR2V0X0NlaWxp bmdfU3VwcG9ydDsKLS0gICBwcmFnbWEgV2FybmluZ3MgKE9uLCAibm9uLXN0YXRpYyBjYWxsIG5v dCBhbGxvd2VkIGluIHByZWVsYWJvcmF0ZWQgdW5pdCIpOwotICAgIC0tICBUcnVlIGlmIHRoZSBs b2NraW5nIHBvbGljeSBpcyBDZWlsaW5nX0xvY2tpbmcsIGFuZCB0aGUgY3VycmVudCBwcm9jZXNz Ci0gICAgLS0gIGhhcyBwZXJtaXNzaW9uIHRvIHVzZSB0aGlzIHBvbGljeS4gVGhlIHByb2Nlc3Mg aGFzIHBlcm1pc3Npb24gaWYgaXQgaXMKLSAgICAtLSAgcnVubmluZyBhcyAncm9vdCcsIG9yIGlm IHRoZSBjYXBhYmlsaXR5IHdhcyBzZXQgYnkgdGhlIHNldGNhcCBjb21tYW5kLAotQEAgLTM0OCw3 ICszMTMsOSBAQCBwYWNrYWdlIGJvZHkgU3lzdGVtLlRhc2tfUHJpbWl0aXZlcy5PcGVyCi0gICAg LS0gSW5pdF9NdXRleCAtLQotICAgIC0tLS0tLS0tLS0tLS0tLS0KLSAKLSsgICBwcmFnbWEgV2Fy bmluZ3MgKE9mZiwgImZvcm1hbCBwYXJhbWV0ZXIgKiBpcyBub3QgcmVmZXJlbmNlZCIpOwotICAg IGZ1bmN0aW9uIEluaXRfTXV0ZXggKEwgOiBSVFNfTG9ja19QdHI7IFByaW8gOiBBbnlfUHJpb3Jp dHkpIHJldHVybiBDLmludCBpcwotKyAgIHByYWdtYSBXYXJuaW5ncyAoT24sICJmb3JtYWwgcGFy YW1ldGVyICogaXMgbm90IHJlZmVyZW5jZWQiKTsKLSAgICAgICBNdXRleF9BdHRyIDogYWxpYXNl ZCBwdGhyZWFkX211dGV4YXR0cl90OwotICAgICAgIFJlc3VsdCwgUmVzdWx0XzIgOiBDLmludDsK LSAKLUBAIC0zNjAsMTYgKzMyNyw3IEBAIHBhY2thZ2UgYm9keSBTeXN0ZW0uVGFza19QcmltaXRp dmVzLk9wZXIKLSAgICAgICAgICByZXR1cm4gUmVzdWx0OwotICAgICAgIGVuZCBpZjsKLSAKLS0g ICAgICBpZiBDZWlsaW5nX1N1cHBvcnQgdGhlbgotLSAgICAgICAgIFJlc3VsdCA6PSBwdGhyZWFk X211dGV4YXR0cl9zZXRwcm90b2NvbAotLSAgICAgICAgICAgKE11dGV4X0F0dHInQWNjZXNzLCBQ VEhSRUFEX1BSSU9fUFJPVEVDVCk7Ci0tICAgICAgICAgcHJhZ21hIEFzc2VydCAoUmVzdWx0ID0g MCk7Ci0tCi0tICAgICAgICAgUmVzdWx0IDo9IHB0aHJlYWRfbXV0ZXhhdHRyX3NldHByaW9jZWls aW5nCi0tICAgICAgICAgICAoTXV0ZXhfQXR0cidBY2Nlc3MsIFByaW9fVG9fTGludXhfUHJpbyAo UHJpbykpOwotLSAgICAgICAgIHByYWdtYSBBc3NlcnQgKFJlc3VsdCA9IDApOwotLQotLSAgICAg IGVsc2lmIExvY2tpbmdfUG9saWN5ID0gJ0knIHRoZW4KLSsgICAgICBpZiBMb2NraW5nX1BvbGlj eSA9ICdJJyB0aGVuCi0gICAgICAgICAgUmVzdWx0IDo9IHB0aHJlYWRfbXV0ZXhhdHRyX3NldHBy b3RvY29sCi0gICAgICAgICAgICAoTXV0ZXhfQXR0cidBY2Nlc3MsIFBUSFJFQURfUFJJT19JTkhF UklUKTsKLSAgICAgICAgICBwcmFnbWEgQXNzZXJ0IChSZXN1bHQgPSAwKTsKLUBAIC00MDksMTEg KzM2Nyw2IEBAIHBhY2thZ2UgYm9keSBTeXN0ZW0uVGFza19QcmltaXRpdmVzLk9wZXIKLSAgICAg ICAgICAgICBSZXN1bHQgOj0gcHRocmVhZF9yd2xvY2thdHRyX2luaXQgKFJXbG9ja19BdHRyJ0Fj Y2Vzcyk7Ci0gICAgICAgICAgICAgcHJhZ21hIEFzc2VydCAoUmVzdWx0ID0gMCk7Ci0gCi0tICAg ICAgICAgICAgUmVzdWx0IDo9IHB0aHJlYWRfcndsb2NrYXR0cl9zZXRraW5kX25wCi0tICAgICAg ICAgICAgICAoUldsb2NrX0F0dHInQWNjZXNzLAotLSAgICAgICAgICAgICAgIFBUSFJFQURfUldM T0NLX1BSRUZFUl9XUklURVJfTk9OUkVDVVJTSVZFX05QKTsKLS0gICAgICAgICAgICBwcmFnbWEg QXNzZXJ0IChSZXN1bHQgPSAwKTsKLS0KLSAgICAgICAgICAgICBSZXN1bHQgOj0gcHRocmVhZF9y d2xvY2tfaW5pdCAoTC5SVydBY2Nlc3MsIFJXbG9ja19BdHRyJ0FjY2Vzcyk7Ci0gCi0gICAgICAg ICAgICAgcHJhZ21hIEFzc2VydCAoUmVzdWx0IGluIDAgfCBFTk9NRU0pOwotCmRpZmYgLS1naXQg YS9zcmNwa2dzL2xpYmdjY2ppdC9maWxlcy9saWJnbmFybC1tdXNsLnBhdGNoIGIvc3JjcGtncy9s aWJnY2NqaXQvZmlsZXMvbGliZ25hcmwtbXVzbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEyMDAwMApp bmRleCAwMDAwMDAwMDAwMC4uY2FiMjkxZTg5M2MKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dz L2xpYmdjY2ppdC9maWxlcy9saWJnbmFybC1tdXNsLnBhdGNoCkBAIC0wLDAgKzEgQEAKKy4uL2dj Yy9maWxlcy9saWJnbmFybC1tdXNsLnBhdGNoClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk aWZmIC0tZ2l0IGEvc3JjcGtncy9saWJnY2NqaXQvZmlsZXMvbGlic3NwLW11c2wucGF0Y2ggYi9z cmNwa2dzL2xpYmdjY2ppdC9maWxlcy9saWJzc3AtbXVzbC5wYXRjaApkZWxldGVkIGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggZTBiODRmOWFjYzkuLjAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvbGli Z2Njaml0L2ZpbGVzL2xpYnNzcC1tdXNsLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNzAgKzAs MCBAQAotRmlyc3QgcGFydCB0YWtlbiBmcm9tIEFscGluZS4KLQotU2Vjb25kIHBhcnQgYWRkZWQg dG8gcHJldmVudCBnY2NnbyBmcm9tIHRoaW5raW5nIGl0IGNhbiAtZnNwbGl0LXN0YWNrIG9uIG11 c2wuCi0KLS0tLSBnY2MvZ2NjLmMKLSsrKyBnY2MvZ2NjLmMKLUBAIC04NzQsMTAgKzg3NCwxNSBA QCBwcm9wZXIgcG9zaXRpb24gYW1vbmcgdGhlIG90aGVyIG91dHB1dCBmaWxlcy4gICovCi0gI2Rl ZmluZSBMSU5LX0dDQ19DX1NFUVVFTkNFX1NQRUMgIiVHICV7IW5vbGliYzolTCAlR30iCi0gI2Vu ZGlmCi0gCi0rI2lmZGVmIEVOQUJMRV9ERUZBVUxUX1NTUAotKyNkZWZpbmUgTk9fU1NQX1NQRUMg IiV7bm9zdGRsaWJ8bm9kZWZhdWx0bGlic3xmZnJlZXN0YW5kaW5nOi1mbm8tc3RhY2stcHJvdGVj dG9yfSAiCi0rI2Vsc2UKLSsjZGVmaW5lIE5PX1NTUF9TUEVDICIiCi0rI2VuZGlmCi0rCi0gI2lm bmRlZiBMSU5LX1NTUF9TUEVDCi0gI2lmZGVmIFRBUkdFVF9MSUJDX1BST1ZJREVTX1NTUAotLSNk ZWZpbmUgTElOS19TU1BfU1BFQyAiJXtmc3RhY2stcHJvdGVjdG9yfGZzdGFjay1wcm90ZWN0b3It YWxsIiBcCi0tCQkgICAgICAgInxmc3RhY2stcHJvdGVjdG9yLXN0cm9uZ3xmc3RhY2stcHJvdGVj dG9yLWV4cGxpY2l0On0iCi0rI2RlZmluZSBMSU5LX1NTUF9TUEVDICItbHNzcF9ub25zaGFyZWQi Ci0gI2Vsc2UKLSAjZGVmaW5lIExJTktfU1NQX1NQRUMgIiV7ZnN0YWNrLXByb3RlY3Rvcnxmc3Rh Y2stcHJvdGVjdG9yLWFsbCIgXAotIAkJICAgICAgICJ8ZnN0YWNrLXByb3RlY3Rvci1zdHJvbmd8 ZnN0YWNrLXByb3RlY3Rvci1leHBsaWNpdCIgXAotQEAgLTExNTUsNyArMTE2MCw3IEBAIHN0YXRp YyBjb25zdCBjaGFyICpjYzFfb3B0aW9ucyA9Ci0gICV7LXZlcnNpb246LS12ZXJzaW9ufVwKLSAg JXstaGVscD0qOi0taGVscD0lKn1cCi0gICV7IWZzeW50YXgtb25seTole1M6JVd7byp9JXshbyo6 LW8gJWIuc319fVwKLS0gJXtmc3ludGF4LW9ubHk6LW8gJWp9ICV7LXBhcmFtKn1cCi0rICV7ZnN5 bnRheC1vbmx5Oi1vICVqfSAley1wYXJhbSp9ICIgTk9fU1NQX1NQRUMgIlwKLSAgJXtjb3ZlcmFn ZTotZnByb2ZpbGUtYXJjcyAtZnRlc3QtY292ZXJhZ2V9XAotICAle2Zwcm9maWxlLWFyY3N8ZnBy b2ZpbGUtZ2VuZXJhdGUqfGNvdmVyYWdlOlwKLSAgICAleyFmcHJvZmlsZS11cGRhdGU9c2luZ2xl OlwKLS0tLSBnY2MvcGFyYW1zLm9wdAotKysrIGdjYy9wYXJhbXMub3B0Ci1AQCAtODUzLDcgKzg1 Myw3IEBAIENvbW1vbiBKb2luZWQgVUludGVnZXIgVmFyKHBhcmFtX3NzYV9uYW1lX2RlZl9jaGFp bl9saW1pdCkgSW5pdCg1MTIpIFBhcmFtIE9wdGltCi0gVGhlIG1heGltdW0gbnVtYmVyIG9mIFNT QV9OQU1FIGFzc2lnbm1lbnRzIHRvIGZvbGxvdyBpbiBkZXRlcm1pbmluZyBhIHZhbHVlLgotIAot IC1wYXJhbT1zc3AtYnVmZmVyLXNpemU9Ci0tQ29tbW9uIEpvaW5lZCBVSW50ZWdlciBWYXIocGFy YW1fc3NwX2J1ZmZlcl9zaXplKSBJbml0KDgpIEludGVnZXJSYW5nZSgxLCA2NTUzNikgUGFyYW0g T3B0aW1pemF0aW9uCi0rQ29tbW9uIEpvaW5lZCBVSW50ZWdlciBWYXIocGFyYW1fc3NwX2J1ZmZl cl9zaXplKSBJbml0KDQpIEludGVnZXJSYW5nZSgxLCA2NTUzNikgUGFyYW0gT3B0aW1pemF0aW9u Ci0gVGhlIGxvd2VyIGJvdW5kIGZvciBhIGJ1ZmZlciB0byBiZSBjb25zaWRlcmVkIGZvciBzdGFj ayBzbWFzaGluZyBwcm90ZWN0aW9uLgotIAotIC1wYXJhbT1zdGFjay1jbGFzaC1wcm90ZWN0aW9u LWd1YXJkLXNpemU9Ci0tLS0gZ2NjL2NvbmZpZy9pMzg2L2dudS11c2VyLWNvbW1vbi5oCi0rKysg Z2NjL2NvbmZpZy9pMzg2L2dudS11c2VyLWNvbW1vbi5oCi1AQCAtNjQsOSArNjQsMyBAQCBhbG9u ZyB3aXRoIEdDQzsgc2VlIHRoZSBmaWxlIENPUFlJTkczLiAgSWYgbm90IHNlZQotIAotIC8qIFN0 YXRpYyBzdGFjayBjaGVja2luZyBpcyBzdXBwb3J0ZWQgYnkgbWVhbnMgb2YgcHJvYmVzLiAgKi8K LSAjZGVmaW5lIFNUQUNLX0NIRUNLX1NUQVRJQ19CVUlMVElOIDEKLS0KLS0vKiBXZSBvbmx5IGJ1 aWxkIHRoZSAtZnNwbGl0LXN0YWNrIHN1cHBvcnQgaW4gbGliZ2NjIGlmIHRoZQotLSAgIGFzc2Vt YmxlciBoYXMgZnVsbCBzdXBwb3J0IGZvciB0aGUgQ0ZJIGRpcmVjdGl2ZXMuICAqLwotLSNpZiBI QVZFX0dBU19DRklfUEVSU09OQUxJVFlfRElSRUNUSVZFCi0tI2RlZmluZSBUQVJHRVRfQ0FOX1NQ TElUX1NUQUNLCi0tI2VuZGlmCi0tLS0gZ2NjL2NvbmZpZy9pMzg2L2dudS5oCi0rKysgZ2NjL2Nv bmZpZy9pMzg2L2dudS5oCi1AQCAtNDAsMTEgKzQwLDYgQEAgYWxvbmcgd2l0aCBHQ0MuICBJZiBu b3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi0gLyogaTM4NiBnbGliYyBw cm92aWRlcyBfX3N0YWNrX2Noa19ndWFyZCBpbiAlZ3M6MHgxNC4gICovCi0gI2RlZmluZSBUQVJH RVRfVEhSRUFEX1NTUF9PRkZTRVQgICAgICAgIDB4MTQKLSAKLS0vKiBXZSBvbmx5IGJ1aWxkIHRo ZSAtZnNwbGl0LXN0YWNrIHN1cHBvcnQgaW4gbGliZ2NjIGlmIHRoZQotLSAgIGFzc2VtYmxlciBo YXMgZnVsbCBzdXBwb3J0IGZvciB0aGUgQ0ZJIGRpcmVjdGl2ZXMuICAqLwotLSNpZiBIQVZFX0dB U19DRklfUEVSU09OQUxJVFlfRElSRUNUSVZFCi0tI2RlZmluZSBUQVJHRVRfQ0FOX1NQTElUX1NU QUNLCi0tI2VuZGlmCi0gLyogV2Ugc3RlYWwgdGhlIGxhc3QgdHJhbnNhY3Rpb25hbCBtZW1vcnkg d29yZC4gICovCi0gI2RlZmluZSBUQVJHRVRfVEhSRUFEX1NQTElUX1NUQUNLX09GRlNFVCAweDMw Ci0gI2VuZGlmCmRpZmYgLS1naXQgYS9zcmNwa2dzL2xpYmdjY2ppdC9maWxlcy9saWJzc3AtbXVz bC5wYXRjaCBiL3NyY3BrZ3MvbGliZ2Njaml0L2ZpbGVzL2xpYnNzcC1tdXNsLnBhdGNoCm5ldyBm aWxlIG1vZGUgMTIwMDAwCmluZGV4IDAwMDAwMDAwMDAwLi5iZjQzYjA5NmU4YgotLS0gL2Rldi9u dWxsCisrKyBiL3NyY3BrZ3MvbGliZ2Njaml0L2ZpbGVzL2xpYnNzcC1tdXNsLnBhdGNoCkBAIC0w LDAgKzEgQEAKKy4uL2djYy9maWxlcy9saWJzc3AtbXVzbC5wYXRjaApcIE5vIG5ld2xpbmUgYXQg ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbGliZ2Njaml0L3BhdGNoZXMgYi9zcmNw a2dzL2xpYmdjY2ppdC9wYXRjaGVzCm5ldyBmaWxlIG1vZGUgMTIwMDAwCmluZGV4IDAwMDAwMDAw MDAwLi5jNDIyMThlZjA5ZAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvbGliZ2Njaml0L3Bh dGNoZXMKQEAgLTAsMCArMSBAQAorLi4vZ2NjL3BhdGNoZXMKXCBObyBuZXdsaW5lIGF0IGVuZCBv ZiBmaWxlCmRpZmYgLS1naXQgYS9zcmNwa2dzL2xpYmdjY2ppdC9wYXRjaGVzL2FkYS1zaGFyZWQu cGF0Y2ggYi9zcmNwa2dzL2xpYmdjY2ppdC9wYXRjaGVzL2FkYS1zaGFyZWQucGF0Y2gKZGVsZXRl ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdiNDI4MDYyMGZlLi4wMDAwMDAwMDAwMAotLS0gYS9z cmNwa2dzL2xpYmdjY2ppdC9wYXRjaGVzL2FkYS1zaGFyZWQucGF0Y2gKKysrIC9kZXYvbnVsbApA QCAtMSwyOCArMCwwIEBACi0tLS0gZ2NjL2FkYS9saW5rLmMKLSsrKyBnY2MvYWRhL2xpbmsuYwot QEAgLTEwNSw5ICsxMDUsOSBAQAotIAotICNlbGlmIGRlZmluZWQgKF9fRnJlZUJTRF9fKQotIGNv bnN0IGNoYXIgKl9fZ25hdF9vYmplY3RfZmlsZV9vcHRpb24gPSAiLVdsLEAiOwotLWNvbnN0IGNo YXIgKl9fZ25hdF9ydW5fcGF0aF9vcHRpb24gPSAiLVdsLC1ycGF0aCwiOwotLWNoYXIgX19nbmF0 X3NoYXJlZF9saWJnbmF0X2RlZmF1bHQgPSBTVEFUSUM7Ci0tY2hhciBfX2duYXRfc2hhcmVkX2xp YmdjY19kZWZhdWx0ID0gU1RBVElDOwotK2NvbnN0IGNoYXIgKl9fZ25hdF9ydW5fcGF0aF9vcHRp b24gPSAiIjsKLStjaGFyIF9fZ25hdF9zaGFyZWRfbGliZ25hdF9kZWZhdWx0ID0gU0hBUkVEOwot K2NoYXIgX19nbmF0X3NoYXJlZF9saWJnY2NfZGVmYXVsdCA9IFNIQVJFRDsKLSBpbnQgX19nbmF0 X2xpbmtfbWF4ID0gODE5MjsKLSB1bnNpZ25lZCBjaGFyIF9fZ25hdF9vYmpsaXN0X2ZpbGVfc3Vw cG9ydGVkID0gMTsKLSBjb25zdCBjaGFyICpfX2duYXRfb2JqZWN0X2xpYnJhcnlfZXh0ZW5zaW9u ID0gIi5hIjsKLUBAIC0xMjcsOSArMTI3LDkgQEAKLSAKLSAjZWxpZiBkZWZpbmVkIChsaW51eCkg fHwgZGVmaW5lZChfX0dMSUJDX18pCi0gY29uc3QgY2hhciAqX19nbmF0X29iamVjdF9maWxlX29w dGlvbiA9ICItV2wsQCI7Ci0tY29uc3QgY2hhciAqX19nbmF0X3J1bl9wYXRoX29wdGlvbiA9ICIt V2wsLXJwYXRoLCI7Ci0tY2hhciBfX2duYXRfc2hhcmVkX2xpYmduYXRfZGVmYXVsdCA9IFNUQVRJ QzsKLS1jaGFyIF9fZ25hdF9zaGFyZWRfbGliZ2NjX2RlZmF1bHQgPSBTVEFUSUM7Ci0rY29uc3Qg Y2hhciAqX19nbmF0X3J1bl9wYXRoX29wdGlvbiA9ICIiOwotK2NoYXIgX19nbmF0X3NoYXJlZF9s aWJnbmF0X2RlZmF1bHQgPSBTSEFSRUQ7Ci0rY2hhciBfX2duYXRfc2hhcmVkX2xpYmdjY19kZWZh dWx0ID0gU0hBUkVEOwotIGludCBfX2duYXRfbGlua19tYXggPSA4MTkyOwotIHVuc2lnbmVkIGNo YXIgX19nbmF0X29iamxpc3RfZmlsZV9zdXBwb3J0ZWQgPSAxOwotIGNvbnN0IGNoYXIgKl9fZ25h dF9vYmplY3RfbGlicmFyeV9leHRlbnNpb24gPSAiLmEiOwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9s aWJnY2NqaXQvcGF0Y2hlcy9jb25zaXN0ZW50LWxpYnJhcnktcGF0aHMucGF0Y2ggYi9zcmNwa2dz L2xpYmdjY2ppdC9wYXRjaGVzL2NvbnNpc3RlbnQtbGlicmFyeS1wYXRocy5wYXRjaApkZWxldGVk IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWVjMGUyNTg1MjYuLjAwMDAwMDAwMDAwCi0tLSBhL3Ny Y3BrZ3MvbGliZ2Njaml0L3BhdGNoZXMvY29uc2lzdGVudC1saWJyYXJ5LXBhdGhzLnBhdGNoCisr KyAvZGV2L251bGwKQEAgLTEsMTEwICswLDAgQEAKLUFsd2F5cyB1c2UgbGliNjQgZm9yIDY0LWJp dCBhbmQgbGliMzIgZm9yIDMyLWJpdC4KLQotRG8gbm90IGNoYW5nZSB0aGUgZHluYW1pYyBsaW5r ZXJzIGluIGFueSB3YXksIHRob3VnaC4KLQotV2hlbiBhZGRpbmcgYSBuZXcgcGxhdGZvcm0sIGZp eCB0aGlzIHVwIHRvby4KLQotLS0tIGdjYy9jb25maWcvYWFyY2g2NC90LWFhcmNoNjQtbGludXgK LSsrKyBnY2MvY29uZmlnL2FhcmNoNjQvdC1hYXJjaDY0LWxpbnV4Ci1AQCAtMjIsNyArMjIsNyBA QCBMSUIxQVNNU1JDICAgPSBhYXJjaDY0L2xpYjFmdW5jcy5hc20KLSBMSUIxQVNNRlVOQ1MgPSBf YWFyY2g2NF9zeW5jX2NhY2hlX3JhbmdlCi0gCi0gQUFSQ0hfQkUgPSAkKGlmICQoZmluZHN0cmlu ZyBUQVJHRVRfQklHX0VORElBTl9ERUZBVUxUPTEsICQodG1fZGVmaW5lcykpLF9iZSkKLS1NVUxU SUxJQl9PU0RJUk5BTUVTID0gbWFiaS5scDY0PS4uL2xpYjY0JChjYWxsIGlmX211bHRpYXJjaCw6 YWFyY2g2NCQoQUFSQ0hfQkUpLWxpbnV4LWdudSkKLStNVUxUSUxJQl9PU0RJUk5BTUVTID0gbWFi aS5scDY0PS4uL2xpYjY0Ci0gTVVMVElBUkNIX0RJUk5BTUUgPSAkKGNhbGwgaWZfbXVsdGlhcmNo LGFhcmNoNjQkKEFBUkNIX0JFKS1saW51eC1nbnUpCi0gCi0gTVVMVElMSUJfT1NESVJOQU1FUyAr PSBtYWJpLmlscDMyPS4uL2xpYmlscDMyJChjYWxsIGlmX211bHRpYXJjaCw6YWFyY2g2NCQoQUFS Q0hfQkUpLWxpbnV4LWdudV9pbHAzMikKLS0tLSBnY2MvY29uZmlnL2kzODYvdC1saW51eDY0Ci0r KysgZ2NjL2NvbmZpZy9pMzg2L3QtbGludXg2NAotQEAgLTMzLDYgKzMzLDYgQEAKLSBjb21tYT0s Ci0gTVVMVElMSUJfT1BUSU9OUyAgICA9ICQoc3Vic3QgJChjb21tYSksLywkKFRNX01VTFRJTElC X0NPTkZJRykpCi0gTVVMVElMSUJfRElSTkFNRVMgICA9ICQocGF0c3Vic3QgbSUsICUsICQoc3Vi c3QgLywgLCQoTVVMVElMSUJfT1BUSU9OUykpKQotLU1VTFRJTElCX09TRElSTkFNRVMgPSBtNjQ9 Li4vbGliNjQkKGNhbGwgaWZfbXVsdGlhcmNoLDp4ODZfNjQtbGludXgtZ251KQotLU1VTFRJTElC X09TRElSTkFNRVMrPSBtMzI9JChpZiAkKHdpbGRjYXJkICQoc2hlbGwgZWNobyAkKFNZU1RFTV9I RUFERVJfRElSKSkvLi4vLi4vdXNyL2xpYjMyKSwuLi9saWIzMiwuLi9saWIpJChjYWxsIGlmX211 bHRpYXJjaCw6aTM4Ni1saW51eC1nbnUpCi0rTVVMVElMSUJfT1NESVJOQU1FUyA9IG02ND0uLi9s aWI2NAotK01VTFRJTElCX09TRElSTkFNRVMrPSBtMzI9Li4vbGliMzIKLSBNVUxUSUxJQl9PU0RJ Uk5BTUVTKz0gbXgzMj0uLi9saWJ4MzIkKGNhbGwgaWZfbXVsdGlhcmNoLDp4ODZfNjQtbGludXgt Z251eDMyKQotLS0tIGdjYy9jb25maWcvbWlwcy90LWxpbnV4NjQKLSsrKyBnY2MvY29uZmlnL21p cHMvdC1saW51eDY0Ci1AQCAtMjEsNiArMjEsNiBAQCBNVUxUSUxJQl9ESVJOQU1FUyA9IG4zMiAz MiA2NAotIE1JUFNfRUwgPSAkKGlmICQoZmlsdGVyICVlbCwgJChmaXJzdHdvcmQgJChzdWJzdCAt LCAsJCh0YXJnZXQpKSkpLGVsKQotIE1JUFNfU09GVCA9ICQoaWYgJChzdHJpcCAkKGZpbHRlciBN QVNLX1NPRlRfRkxPQVRfQUJJLCAkKHRhcmdldF9jcHVfZGVmYXVsdCkpICQoZmlsdGVyIHNvZnQs ICQod2l0aF9mbG9hdCkpKSxzb2Z0KQotIE1VTFRJTElCX09TRElSTkFNRVMgPSBcCi0tCS4uL2xp YjMyJChjYWxsIGlmX211bHRpYXJjaCw6bWlwczY0JChNSVBTX0VMKS1saW51eC1nbnVhYmluMzIk KE1JUFNfU09GVCkpIFwKLS0JLi4vbGliJChjYWxsIGlmX211bHRpYXJjaCw6bWlwcyQoTUlQU19F TCktbGludXgtZ251JChNSVBTX1NPRlQpKSBcCi0tCS4uL2xpYjY0JChjYWxsIGlmX211bHRpYXJj aCw6bWlwczY0JChNSVBTX0VMKS1saW51eC1nbnVhYmk2NCQoTUlQU19TT0ZUKSkKLSsJLi4vbGli MzIgXAotKwkuLi9saWIgXAotKwkuLi9saWI2NAotLS0tIGdjYy9jb25maWcvcnM2MDAwL3QtbGlu dXgKLSsrKyBnY2MvY29uZmlnL3JzNjAwMC90LWxpbnV4Ci1AQCAtMiw3ICsyLDggQEAKLSAjIG9y IHNvZnQtZmxvYXQuCi0gaWZlcSAoLCQoZmlsdGVyICQod2l0aF9jcHUpLCQoU09GVF9GTE9BVF9D UFVTKSkkKGZpbmRzdHJpbmcgc29mdCwkKHdpdGhfZmxvYXQpKSkKLSBpZm5lcSAoLCQoZmluZHN0 cmluZyBwb3dlcnBjNjQsJCh0YXJnZXQpKSkKLS1NVUxUSUxJQl9PU0RJUk5BTUVTIDo9IC49Li4v bGliNjQkKGNhbGwgaWZfbXVsdGlhcmNoLDpwb3dlcnBjNjQtbGludXgtZ251KQotK01VTFRJTElC X09TRElSTkFNRVMgOj0gbTY0PS4uL2xpYjY0Ci0rTVVMVElMSUJfT1NESVJOQU1FUyArPSBtMzI9 Li4vbGliMzIKLSBlbHNlCi0gTVVMVElBUkNIX0RJUk5BTUUgOj0gJChjYWxsIGlmX211bHRpYXJj aCxwb3dlcnBjLWxpbnV4LWdudSkKLSBlbmRpZgotQEAgLTEwLDcgKzExLDggQEAgaWZuZXEgKCwk KGZpbmRzdHJpbmcgcG93ZXJwY2xlLCQodGFyZ2V0KSkpCi0gTVVMVElBUkNIX0RJUk5BTUUgOj0g JChzdWJzdCAtbGludXgsbGUtbGludXgsJChNVUxUSUFSQ0hfRElSTkFNRSkpCi0gZW5kaWYKLSBp Zm5lcSAoLCQoZmluZHN0cmluZyBwb3dlcnBjNjRsZSwkKHRhcmdldCkpKQotLU1VTFRJTElCX09T RElSTkFNRVMgOj0gJChzdWJzdCAtbGludXgsbGUtbGludXgsJChNVUxUSUxJQl9PU0RJUk5BTUVT KSkKLStNVUxUSUxJQl9PU0RJUk5BTUVTIDo9IG02ND0uLi9saWI2NAotK01VTFRJTElCX09TRElS TkFNRVMgKz0gbTMyPS4uL2xpYjMyCi0gZW5kaWYKLSBlbmRpZgotIAotLS0tIGdjYy9jb25maWcv cnM2MDAwL3QtbGludXg2NAotKysrIGdjYy9jb25maWcvcnM2MDAwL3QtbGludXg2NAotQEAgLTI4 LDggKzI4LDggQEAKLSBNVUxUSUxJQl9PUFRJT05TICAgIDo9IG02NC9tMzIKLSBNVUxUSUxJQl9E SVJOQU1FUyAgIDo9IDY0IDMyCi0gTVVMVElMSUJfRVhUUkFfT1BUUyA6PSAKLS1NVUxUSUxJQl9P U0RJUk5BTUVTIDo9IG02ND0uLi9saWI2NCQoY2FsbCBpZl9tdWx0aWFyY2gsOnBvd2VycGM2NC1s aW51eC1nbnUpCi0tTVVMVElMSUJfT1NESVJOQU1FUyArPSBtMzI9JChpZiAkKHdpbGRjYXJkICQo c2hlbGwgZWNobyAkKFNZU1RFTV9IRUFERVJfRElSKSkvLi4vLi4vdXNyL2xpYjMyKSwuLi9saWIz MiwuLi9saWIpJChjYWxsIGlmX211bHRpYXJjaCw6cG93ZXJwYy1saW51eC1nbnUpCi0rTVVMVElM SUJfT1NESVJOQU1FUyA6PSBtNjQ9Li4vbGliNjQKLStNVUxUSUxJQl9PU0RJUk5BTUVTICs9IG0z Mj0uLi9saWIzMgotIAotIHJzNjAwMC1saW51eC5vOiAkKHNyY2RpcikvY29uZmlnL3JzNjAwMC9y czYwMDAtbGludXguYwotIAkkKENPTVBJTEUpICQ8Ci0tLS0gZ2NjL2NvbmZpZy9yczYwMDAvdC1s aW51eDY0YmVsZQotKysrIGdjYy9jb25maWcvcnM2MDAwL3QtbGludXg2NGJlbGUKLUBAIC0yLDYg KzIsNiBAQAotIAotIE1VTFRJTElCX09QVElPTlMgICAgKz0gbWxpdHRsZQotIE1VTFRJTElCX0RJ Uk5BTUVTICAgKz0gbGUKLS1NVUxUSUxJQl9PU0RJUk5BTUVTICs9ICQoc3Vic3QgPSwubWxpdHRs ZT0sJChzdWJzdCBsaWJsZTMyLGxpYjMybGUsJChzdWJzdCBsaWJsZTY0LGxpYjY0bGUsJChzdWJz dCBsaWIsbGlibGUsJChzdWJzdCAtbGludXgsbGUtbGludXgsJChNVUxUSUxJQl9PU0RJUk5BTUVT KSkpKSkpCi0tTVVMVElMSUJfT1NESVJOQU1FUyArPSAkKHN1YnN0ICQoaWYgJChmaW5kc3RyaW5n IDY0LCQodGFyZ2V0KSksbTY0LG0zMikuLCwkKGZpbHRlciAkKGlmICQoZmluZHN0cmluZyA2NCwk KHRhcmdldCkpLG02NCxtMzIpLm1saXR0bGUlLCQoTVVMVElMSUJfT1NESVJOQU1FUykpKQotK01V TFRJTElCX09TRElSTkFNRVMgPSBtNjQ9Li4vbGliNjQKLStNVUxUSUxJQl9PU0RJUk5BTUVTKz0g bTMyPS4uL2xpYjMyCi0gTVVMVElMSUJfTUFUQ0hFUyAgICA6PSAke01VTFRJTElCX01BVENIRVNf RU5ESUFOfQotLS0tIGdjYy9jb25maWcvcnM2MDAwL3QtbGludXg2NGxlYmUKLSsrKyBnY2MvY29u ZmlnL3JzNjAwMC90LWxpbnV4NjRsZWJlCi1AQCAtMiw2ICsyLDYgQEAKLSAKLSBNVUxUSUxJQl9P UFRJT05TICAgICs9IG1iaWcKLSBNVUxUSUxJQl9ESVJOQU1FUyAgICs9IGJlCi0tTVVMVElMSUJf T1NESVJOQU1FUyArPSAkKHN1YnN0ID0sLm1iaWc9LCQoc3Vic3QgbGliYmUzMixsaWIzMmJlLCQo c3Vic3QgbGliYmU2NCxsaWI2NGJlLCQoc3Vic3QgbGliLGxpYmJlLCQoc3Vic3QgbGUtbGludXgs LWxpbnV4LCQoTVVMVElMSUJfT1NESVJOQU1FUykpKSkpKQotLU1VTFRJTElCX09TRElSTkFNRVMg Kz0gJChzdWJzdCAkKGlmICQoZmluZHN0cmluZyA2NCwkKHRhcmdldCkpLG02NCxtMzIpLiwsJChm aWx0ZXIgJChpZiAkKGZpbmRzdHJpbmcgNjQsJCh0YXJnZXQpKSxtNjQsbTMyKS5tYmlnJSwkKE1V TFRJTElCX09TRElSTkFNRVMpKSkKLStNVUxUSUxJQl9PU0RJUk5BTUVTIDo9IG02ND0uLi9saWI2 NAotK01VTFRJTElCX09TRElSTkFNRVMgKz0gbTMyPS4uL2xpYjMyCi0gTVVMVElMSUJfTUFUQ0hF UyAgICA6PSAke01VTFRJTElCX01BVENIRVNfRU5ESUFOfQotLS0tIGdjYy9jb25maWcvczM5MC90 LWxpbnV4NjQKLSsrKyBnY2MvY29uZmlnL3MzOTAvdC1saW51eDY0Ci1AQCAtNyw1ICs3LDUgQEAK LSAKLSBNVUxUSUxJQl9PUFRJT05TID0gbTY0L20zMQotIE1VTFRJTElCX0RJUk5BTUVTID0gNjQg MzIKLS1NVUxUSUxJQl9PU0RJUk5BTUVTID0gLi4vbGliNjQkKGNhbGwgaWZfbXVsdGlhcmNoLDpz MzkweC1saW51eC1nbnUpCi0tTVVMVElMSUJfT1NESVJOQU1FUyArPSAkKGlmICQod2lsZGNhcmQg JChzaGVsbCBlY2hvICQoU1lTVEVNX0hFQURFUl9ESVIpKS8uLi8uLi91c3IvbGliMzIpLC4uL2xp YjMyLC4uL2xpYikkKGNhbGwgaWZfbXVsdGlhcmNoLDpzMzkwLWxpbnV4LWdudSkKLStNVUxUSUxJ Ql9PU0RJUk5BTUVTID0gbTY0PS4uL2xpYjY0Ci0rTVVMVElMSUJfT1NESVJOQU1FUys9IG0zMj0u Li9saWIzMgotLS0gCi0yLjI5LjIKLQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9saWJnY2NqaXQvcGF0 Y2hlcy9maXgtY3h4ZmxhZ3MtcGFzc2luZy5wYXRjaCBiL3NyY3BrZ3MvbGliZ2Njaml0L3BhdGNo ZXMvZml4LWN4eGZsYWdzLXBhc3NpbmcucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IGRkYTJhNTA0NjBiLi4wMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2xpYmdjY2ppdC9wYXRj aGVzL2ZpeC1jeHhmbGFncy1wYXNzaW5nLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAs MCBAQAotLS0tIE1ha2VmaWxlLmluLm9yaWcKLSsrKyBNYWtlZmlsZS5pbgotQEAgLTE2OSw2ICsx NjksNyBAQAotICMgYnVpbHQgZm9yIHRoZSBidWlsZCBzeXN0ZW0gdG8gb3ZlcnJpZGUgdGhvc2Ug aW4gQkFTRV9GTEFHU19UT19QQVNTUy4KLSBFWFRSQV9CVUlMRF9GTEFHUyA9IFwKLSAJQ0ZMQUdT PSIkKENGTEFHU19GT1JfQlVJTEQpIiBcCi0rCUNYWEZMQUdTPSIkKENYWEZMQUdTX0ZPUl9CVUlM RCkiIFwKLSAJTERGTEFHUz0iJChMREZMQUdTX0ZPUl9CVUlMRCkiCi0gCi0gIyBUaGlzIGlzIHRo ZSBsaXN0IG9mIGRpcmVjdG9yaWVzIHRvIGJ1aWx0IGZvciB0aGUgaG9zdCBzeXN0ZW0uCmRpZmYg LS1naXQgYS9zcmNwa2dzL2xpYmdjY2ppdC9wYXRjaGVzL2ZpeC1tdXNsLWV4ZWNpbmZvLnBhdGNo IGIvc3JjcGtncy9saWJnY2NqaXQvcGF0Y2hlcy9maXgtbXVzbC1leGVjaW5mby5wYXRjaApkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTgzZWFjN2IwZGMuLjAwMDAwMDAwMDAwCi0tLSBh L3NyY3BrZ3MvbGliZ2Njaml0L3BhdGNoZXMvZml4LW11c2wtZXhlY2luZm8ucGF0Y2gKKysrIC9k ZXYvbnVsbApAQCAtMSwzMyArMCwwIEBACi1UaGVyZSBpcyBubyA8ZXhlY2luZm8uaD4gaW4gbXVz bCBsaWJjCi0KLS0tLSBsaWJ2dHYvdnR2X3J0cy5jYwkyMDE2LTA5LTIzIDE2OjE3OjExLjAwMDAw MDAwMCArMDIwMAotKysrIGxpYnZ0Yy92dHZfcnRzLmNjCTIwMTYtMDktMjUgMTU6MDg6NTcuODk2 MDAwMDAwICswMjAwCi1AQCAtMTI0LDcgKzEyNCw3IEBACi0gI2luY2x1ZGUgPHdpbmRvd3MuaD4K LSAjaW5jbHVkZSA8d2ludGVybmwuaD4KLSAjaW5jbHVkZSA8cHNhcGkuaD4KLS0jZWxzZQotKyNl bGlmIGRlZmluZWQgKF9fR0xJQkNfXykKLSAjaW5jbHVkZSA8ZXhlY2luZm8uaD4KLSAjZW5kaWYK LSAKLS0tLSBsaWJ2dHYvdnR2X3V0aWxzLmNjCTIwMTYtMDktMjMgMTY6MTc6MTEuMDAwMDAwMDAw ICswMjAwCi0rKysgbGlidnR2L3Z0dl91dGlscy5jYwkyMDE2LTA5LTI1IDE1OjE1OjM1LjUyOTAw MDAwMCArMDIwMAotQEAgLTM0LDcgKzM0LDcgQEAKLSAjaW5jbHVkZSA8c3RyaW5nLmg+Ci0gI2lm IGRlZmluZWQgKF9fQ1lHV0lOX18pIHx8IGRlZmluZWQgKF9fTUlOR1czMl9fKQotICNpbmNsdWRl IDx3aW5kb3dzLmg+Ci0tI2Vsc2UKLSsjZWxpZiBkZWZpbmVkIChfX0dMSUJDX18pCi0gI2luY2x1 ZGUgPGV4ZWNpbmZvLmg+Ci0gI2VuZGlmCi0gCi1AQCAtMTc4LDcgKzE3OCw3IEBACi0gCi0gICBf X3Z0dl9hZGRfdG9fbG9nICh2dHZfZmFpbHVyZXNfbG9nX2ZkLCAiJXMiLCBsb2dfbXNnKTsKLSAK LS0jaWYgIWRlZmluZWQgKF9fQ1lHV0lOX18pICYmICFkZWZpbmVkIChfX01JTkdXMzJfXykKLSsj aWYgIWRlZmluZWQgKF9fQ1lHV0lOX18pICYmICFkZWZpbmVkIChfX01JTkdXMzJfXykgJiYgZGVm aW5lZChfX0dMSUJDX18pCi0gICBpZiAoZ2VuZXJhdGVfYmFja3RyYWNlKQotICAgICB7Ci0gI2Rl ZmluZSBTVEFDS19ERVBUSCAyMApkaWZmIC0tZ2l0IGEvc3JjcGtncy9saWJnY2NqaXQvcGF0Y2hl cy9maXgtdnR2LWxpbmstb3JkZXIucGF0Y2ggYi9zcmNwa2dzL2xpYmdjY2ppdC9wYXRjaGVzL2Zp eC12dHYtbGluay1vcmRlci5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzMx NWMzZTk5MGIuLjAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvbGliZ2Njaml0L3BhdGNoZXMvZml4 LXZ0di1saW5rLW9yZGVyLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotcHV0 IHZ0dl9lbmQubyBpbiBmcm9udCBvZiBwb3N0ZGVwX29iamVjdHNfQ1hYCi1oYXZpbmcgaXQgYWZ0 ZXIgY3J0ZW5kUy5vIGxlYWRzIHRvIG1pc3NpbmcgemVybyB0ZXJtaW5hdGlvbiBpbiBlaF9mcmFt ZSBzZWN0aW9uCi0KLVRoaXMgaXMgaW4gbGluZSB3aXRoIGNvbW1lbnQgaW4gbGliZ2NjL3Z0dl9l bmQuYzoKLQotICAgV2hlbiB0aGUgR0NDIGRyaXZlciBpbnNlcnRzIHZ0dl9zdGFydC5vIGludG8g dGhlIGxpbmsgbGluZSAoanVzdAotICAgYWZ0ZXIgY3J0YmVnaW4ubykgaXQgYWxzbyBpbnNlcnRz IHZ0dl9lbmQubyBpbnRvIHRoZSBsaW5rIGxpbmUsCi0gICBqdXN0IGJlZm9yZSBjcnRlbmQuby4K LQotLS0tIGxpYnN0ZGMrKy12My9jb25maWd1cmUKLSsrKyBsaWJzdGRjKystdjMvY29uZmlndXJl Ci1AQCAtMTU0NDMsNyArMTU0NDMsNyBAQAotIAotIGlmIHRlc3QgIiRlbmFibGVfdnRhYmxlX3Zl cmlmeSIgPSB5ZXM7IHRoZW4KLSAgIHByZWRlcF9vYmplY3RzX0NYWD0iJHtwcmVkZXBfb2JqZWN0 c19DWFh9ICR7Z2xpYmN4eF9idWlsZGRpcn0vLi4vbGliZ2NjL3Z0dl9zdGFydC5vIgotLSAgcG9z dGRlcF9vYmplY3RzX0NYWD0iJHtwb3N0ZGVwX29iamVjdHNfQ1hYfSAke2dsaWJjeHhfYnVpbGRk aXJ9Ly4uL2xpYmdjYy92dHZfZW5kLm8iCi0rICBwb3N0ZGVwX29iamVjdHNfQ1hYPSIke2dsaWJj eHhfYnVpbGRkaXJ9Ly4uL2xpYmdjYy92dHZfZW5kLm8gJHtwb3N0ZGVwX29iamVjdHNfQ1hYfSIg Ci0gZmkKLSAKLSAKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbGliZ2Njaml0L3BhdGNoZXMvbGliZmZp X2dudWxpbnV4LnBhdGNoIGIvc3JjcGtncy9saWJnY2NqaXQvcGF0Y2hlcy9saWJmZmlfZ251bGlu dXgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQxM2I0YWVmNWFmLi4wMDAw MDAwMDAwMAotLS0gYS9zcmNwa2dzL2xpYmdjY2ppdC9wYXRjaGVzL2xpYmZmaV9nbnVsaW51eC5w YXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLS0tLSBsaWJmZmkvc3JjL2Nsb3N1 cmVzLmMub3JpZwotKysrIGxpYmZmaS9zcmMvY2xvc3VyZXMuYwotQEAgLTM0LDcgKzM0LDcgQEAK LSAjaW5jbHVkZSA8ZmZpX2NvbW1vbi5oPgotCi0gI2lmICFGRklfTU1BUF9FWEVDX1dSSVQgJiYg IUZGSV9FWEVDX1RSQU1QT0xJTkVfVEFCTEUKLS0jIGlmIF9fZ251X2xpbnV4X18gJiYgIWRlZmlu ZWQoX19BTkRST0lEX18pCi0rIyBpZiBfX2xpbnV4X18gJiYgIWRlZmluZWQoX19BTkRST0lEX18p Ci0gLyogVGhpcyBtYWNybyBpbmRpY2F0ZXMgaXQgbWF5IGJlIGZvcmJpZGRlbiB0byBtYXAgYW5v bnltb3VzIG1lbW9yeQotICAgIHdpdGggYm90aCB3cml0ZSBhbmQgZXhlY3V0ZSBwZXJtaXNzaW9u LiAgQ29kZSBjb21waWxlZCB3aGVuIHRoaXMKLSAgICBvcHRpb24gaXMgZGVmaW5lZCB3aWxsIGF0 dGVtcHQgdG8gbWFwIHN1Y2ggcGFnZXMgb25jZSwgYnV0IGlmIGl0CmRpZmYgLS1naXQgYS9zcmNw a2dzL2xpYmdjY2ppdC9wYXRjaGVzL2xpYmdjYy1pYm0xMjgtbm8tdGFnLnBhdGNoIGIvc3JjcGtn cy9saWJnY2NqaXQvcGF0Y2hlcy9saWJnY2MtaWJtMTI4LW5vLXRhZy5wYXRjaApkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggODU1ZjhmMWIwMzUuLjAwMDAwMDAwMDAwCi0tLSBhL3NyY3Br Z3MvbGliZ2Njaml0L3BhdGNoZXMvbGliZ2NjLWlibTEyOC1uby10YWcucGF0Y2gKKysrIC9kZXYv bnVsbApAQCAtMSwzOCArMCwwIEBACi1Gcm9tIDIzNjYzNGVlZDU4ZmE2ZTAwY2M1MGYxOWU3MjAy OTAzYTlkOGZhZTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBxNjYgPGRhbmllbEBv Y3RhZm9yZ2Uub3JnPgotRGF0ZTogVGh1LCAxMiBEZWMgMjAxOSAwNDowMzo1NiArMDEwMAotU3Vi amVjdDogW1BBVENIXSBsaWJnY2M6IHVzZSAtbW5vLWdudS1hdHRyaWJ1dGUgZm9yIDEyOC1iaXQg SUJNIGxkb3VibGUKLSBzdXBwb3J0IGNvZGUKLQotRG9pbmcgdGhpcyB3aWxsIGFsbG93IGxpYmdj YyB0byBlbWl0IHRoZSBhcHByb3ByaWF0ZSBzeW1ib2xzIHdpdGhvdXQgYWN0dWFsbHkKLWVtaXR0 aW5nIHRoZSBGUCBBQkkgdGFnIGZvciB0aGVtLCB3aGljaCBhbGxvd3MgNjQtYml0IGxvbmcgZG91 YmxlIGVudmlyb25tZW50cwotdG8gZnVuY3Rpb24gYW5kIGV2ZW4gbGluayBzdGF0aWNhbGx5IHdo aWxlIHN0aWxsIGFsbG93aW5nIHVzYWdlIG9mCi1leHBsaWNpdCBfX2libTEyOC4KLS0tLQotIGxp YmdjYy9jb25maWcvcnM2MDAwL3QtaWJtLWxkb3VibGUgfCAyICstCi0gbGliZ2NjL2NvbmZpZy9y czYwMDAvdC1saW51eCAgICAgICB8IDIgKy0KLSAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9u cygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2xpYmdjYy9jb25maWcvcnM2MDAw L3QtaWJtLWxkb3VibGUgYi9saWJnY2MvY29uZmlnL3JzNjAwMC90LWlibS1sZG91YmxlCi1pbmRl eCBiMTMyNzg0Li5mYjVlY2E4IDEwMDY0NAotLS0tIGxpYmdjYy9jb25maWcvcnM2MDAwL3QtaWJt LWxkb3VibGUKLSsrKyBsaWJnY2MvY29uZmlnL3JzNjAwMC90LWlibS1sZG91YmxlCi1AQCAtMSw2 ICsxLDYgQEAKLSAjIEdDQyAxMjgtYml0IGxvbmcgZG91YmxlIHN1cHBvcnQgcm91dGluZXMuCi0g TElCMkFERCArPSAkKHNyY2RpcikvY29uZmlnL3JzNjAwMC9pYm0tbGRvdWJsZS5jCi0gCi0tSE9T VF9MSUJHQ0MyX0NGTEFHUyArPSAtbWxvbmctZG91YmxlLTEyOAotK0hPU1RfTElCR0NDMl9DRkxB R1MgKz0gLW1sb25nLWRvdWJsZS0xMjggLW1uby1nbnUtYXR0cmlidXRlCi0gCi0gU0hMSUJfTUFQ RklMRVMgKz0gJChzcmNkaXIpL2NvbmZpZy9yczYwMDAvbGliZ2NjLWlibS1sZG91YmxlLnZlcgot ZGlmZiAtLWdpdCBhL2xpYmdjYy9jb25maWcvcnM2MDAwL3QtbGludXggYi9saWJnY2MvY29uZmln L3JzNjAwMC90LWxpbnV4Ci1pbmRleCA0ZjZkNGM0Li5mYTkzYmI2IDEwMDY0NAotLS0tIGxpYmdj Yy9jb25maWcvcnM2MDAwL3QtbGludXgKLSsrKyBsaWJnY2MvY29uZmlnL3JzNjAwMC90LWxpbnV4 Ci1AQCAtMSwzICsxLDMgQEAKLSBTSExJQl9NQVBGSUxFUyArPSAkKHNyY2RpcikvY29uZmlnL3Jz NjAwMC9saWJnY2MtZ2xpYmMudmVyCi0gCi0tSE9TVF9MSUJHQ0MyX0NGTEFHUyArPSAtbWxvbmct ZG91YmxlLTEyOCAtbW5vLW1pbmltYWwtdG9jCi0rSE9TVF9MSUJHQ0MyX0NGTEFHUyArPSAtbWxv bmctZG91YmxlLTEyOCAtbW5vLWdudS1hdHRyaWJ1dGUgLW1uby1taW5pbWFsLXRvYwotLS0gCi0y LjI0LjAKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbGliZ2Njaml0L3BhdGNoZXMvbWlwcy1zZ2lkZWZz X2gucGF0Y2ggYi9zcmNwa2dzL2xpYmdjY2ppdC9wYXRjaGVzL21pcHMtc2dpZGVmc19oLnBhdGNo CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlNWZkYmY5Zjk2Zi4uMDAwMDAwMDAwMDAK LS0tIGEvc3JjcGtncy9saWJnY2NqaXQvcGF0Y2hlcy9taXBzLXNnaWRlZnNfaC5wYXRjaAorKysg L2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLS0tLSBsaWJmZmkvc3JjL21pcHMvZmZpdGFyZ2V0 LmgJMjAxNC0xMS0wOCAxMzo0NzoyNC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBsaWJmZmkvc3JjL21p cHMvZmZpdGFyZ2V0LmgJMjAxNy0xMS0wOSAxNjo1MToxMS44NjY4NDg0NDQgKzAxMDAKLUBAIC00 Miw3ICs0Miw3IEBACi0gI2RlZmluZSBfTUlQU19TSU1fTkFCSTMyCTIKLSAjZGVmaW5lIF9NSVBT X1NJTV9BQkk2NAkJMwotICNlbGlmICFkZWZpbmVkKF9fT3BlbkJTRF9fKQotLSMgaW5jbHVkZSA8 c2dpZGVmcy5oPgotKyMgaW5jbHVkZSA8YXNtL3NnaWRlZnMuaD4KLSAjZW5kaWYKLSAKLSAjICBp Zm5kZWYgX0FCSU4zMgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9saWJnY2NqaXQvcGF0Y2hlcy9taXBz LXNvZnQtZmxvYXQucGF0Y2ggYi9zcmNwa2dzL2xpYmdjY2ppdC9wYXRjaGVzL21pcHMtc29mdC1m bG9hdC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGRiMGUyZmIwN2EuLjAw MDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvbGliZ2Njaml0L3BhdGNoZXMvbWlwcy1zb2Z0LWZsb2F0 LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotLS0tIGxpYmZmaS9zcmMvbWlw cy9vMzIuUwkyMDIwLTAzLTEyIDEyOjA3OjIzLjAwMDAwMDAwMCArMDEwMAotKysrIGxpYmZmaS9z cmMvbWlwcy9vMzIuUwkyMDIwLTA1LTE0IDIwOjUyOjQ1LjcwMTgwOTA1NCArMDIwMAotQEAgLTI3 OCw2ICsyNzgsNyBAQAotIAlsaQkkOSwgRkZJX1RZUEVfVk9JRAotIAliZXEJJDgsICQ5LCBjbG9z dXJlX2RvbmUKLSAKLSsjaWZuZGVmIF9fbWlwc19zb2Z0X2Zsb2F0Ci0gCWxpCSQxMywgMQkJIyBG RklfTzMyCi0gCWJuZQkkMTYsICQxMywgMWYJIyBTa2lwIGZwIHJlc3RvcmUgaWYgRkZJX08zMl9T T0ZUX0ZMT0FUCi0gCi1AQCAtMjg5LDYgKzI5MCw3IEBACi0gCWwuZAkkZjAsIFYwX09GRjIoJGZw KQotIAliZXEJJDgsICQ5LCBjbG9zdXJlX2RvbmUKLSAxOgkKLSsjZW5kaWYKLSAJUkVHX0wJJDMs IFYxX09GRjIoJGZwKQotIAlSRUdfTAkkMiwgVjBfT0ZGMigkZnApCi0gCmRpZmYgLS1naXQgYS9z cmNwa2dzL2xpYmdjY2ppdC9wYXRjaGVzL211c2wtYWRhLnBhdGNoIGIvc3JjcGtncy9saWJnY2Nq aXQvcGF0Y2hlcy9tdXNsLWFkYS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg NjE4MjM2ODRkYTUuLjAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvbGliZ2Njaml0L3BhdGNoZXMv bXVzbC1hZGEucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyMDQgKzAsMCBAQAotZGlmZiAtLWdp dCBhL2djYy9hZGEvYWRhaW50LmMgYi9nY2MvYWRhL2FkYWludC5jCi1pbmRleCAzYjBhZWE5Li5l ZTBiYjY5IDEwMDY0NAotLS0tIGdjYy9hZGEvYWRhaW50LmMKLSsrKyBnY2MvYWRhL2FkYWludC5j Ci1AQCAtNzYsNiArNzYsMTEgQEAKLSAjaW5jbHVkZSA8c3lzL3BhcmFtLmg+Ci0gI2luY2x1ZGUg PHN5cy9wc3RhdC5oPgotICNlbmRpZgotKyAKLSsjaWYgZGVmaW5lZCAobGludXgpCi0rI2RlZmlu ZSBfR05VX1NPVVJDRSAxCi0rI2luY2x1ZGUgPHNjaGVkLmg+Ci0rI2VuZGlmCi0gCi0gI2lmZGVm IF9fUGlrZU9TX18KLSAjZGVmaW5lIF9fQlNEX1ZJU0lCTEUgMQotQEAgLTMyNTUsNyArMzI2MCw2 IEBAIF9fZ25hdF9sd3Bfc2VsZiAodm9pZCkKLSAjZW5kaWYKLSAKLSAjaWYgZGVmaW5lZCAoX19s aW51eF9fKQotLSNpbmNsdWRlIDxzY2hlZC5oPgotIAotIC8qIGdsaWJjIHZlcnNpb25zIGVhcmxp ZXIgdGhhbiAyLjcgZG8gbm90IGRlZmluZSB0aGUgcm91dGluZXMgdG8gaGFuZGxlCi0gICAgZHlu YW1pY2FsbHkgYWxsb2NhdGVkIENQVSBzZXRzLiBGb3IgdGhlc2UgdGFyZ2V0cywgd2UgdXNlIHRo ZSBzdGF0aWMKLUBAIC0zMjY1LDcgKzMyNjksNyBAQCBfX2duYXRfbHdwX3NlbGYgKHZvaWQpCi0g Ci0gLyogRHluYW1pYyBjcHUgc2V0cyAqLwotIAotLWNwdV9zZXRfdCAqCi0rdm9pZCAqCi0gX19n bmF0X2NwdV9hbGxvYyAoc2l6ZV90IGNvdW50KQotIHsKLSAgIHJldHVybiBDUFVfQUxMT0MgKGNv dW50KTsKLUBAIC0zMjc4LDMzICszMjgyLDMzIEBAIF9fZ25hdF9jcHVfYWxsb2Nfc2l6ZSAoc2l6 ZV90IGNvdW50KQotIH0KLSAKLSB2b2lkCi0tX19nbmF0X2NwdV9mcmVlIChjcHVfc2V0X3QgKnNl dCkKLStfX2duYXRfY3B1X2ZyZWUgKHZvaWQgKnNldCkKLSB7Ci0tICBDUFVfRlJFRSAoc2V0KTsK LSsgIENQVV9GUkVFICgoY3B1X3NldF90ICopIHNldCk7Ci0gfQotIAotIHZvaWQKLS1fX2duYXRf Y3B1X3plcm8gKHNpemVfdCBjb3VudCwgY3B1X3NldF90ICpzZXQpCi0rX19nbmF0X2NwdV96ZXJv IChzaXplX3QgY291bnQsIHZvaWQgKnNldCkKLSB7Ci0tICBDUFVfWkVST19TIChjb3VudCwgc2V0 KTsKLSsgIENQVV9aRVJPX1MgKGNvdW50LCAoY3B1X3NldF90ICopIHNldCk7Ci0gfQotIAotIHZv aWQKLS1fX2duYXRfY3B1X3NldCAoaW50IGNwdSwgc2l6ZV90IGNvdW50LCBjcHVfc2V0X3QgKnNl dCkKLStfX2duYXRfY3B1X3NldCAoaW50IGNwdSwgc2l6ZV90IGNvdW50LCB2b2lkICpzZXQpCi0g ewotICAgLyogQWRhIGhhbmRsZXMgQ1BVIG51bWJlcnMgc3RhcnRpbmcgZnJvbSAxLCB3aGlsZSBD IGlkZW50aWZpZXMgdGhlIGZpcnN0Ci0gICAgICBDUFUgYnkgYSAwLCBzbyB3ZSBuZWVkIHRvIGFk anVzdC4gKi8KLS0gIENQVV9TRVRfUyAoY3B1IC0gMSwgY291bnQsIHNldCk7Ci0rICBDUFVfU0VU X1MgKGNwdSAtIDEsIGNvdW50LCAoY3B1X3NldF90ICopIHNldCk7Ci0gfQotIAotICNlbHNlIC8q ICFDUFVfQUxMT0MgKi8KLSAKLSAvKiBTdGF0aWMgY3B1IHNldHMgKi8KLSAKLS1jcHVfc2V0X3Qg KgotK3ZvaWQgKgotIF9fZ25hdF9jcHVfYWxsb2MgKHNpemVfdCBjb3VudCBBVFRSSUJVVEVfVU5V U0VEKQotIHsKLS0gIHJldHVybiAoY3B1X3NldF90ICopIHhtYWxsb2MgKHNpemVvZiAoY3B1X3Nl dF90KSk7Ci0rICByZXR1cm4geG1hbGxvYyAoc2l6ZW9mIChjcHVfc2V0X3QpKTsKLSB9Ci0gCi0g c2l6ZV90Ci1AQCAtMzMxNCwyMyArMzMxOCwyMyBAQCBfX2duYXRfY3B1X2FsbG9jX3NpemUgKHNp emVfdCBjb3VudCBBVFRSSUJVVEVfVU5VU0VEKQotIH0KLSAKLSB2b2lkCi0tX19nbmF0X2NwdV9m cmVlIChjcHVfc2V0X3QgKnNldCkKLStfX2duYXRfY3B1X2ZyZWUgKHZvaWQgKnNldCkKLSB7Ci0g ICBmcmVlIChzZXQpOwotIH0KLSAKLSB2b2lkCi0tX19nbmF0X2NwdV96ZXJvIChzaXplX3QgY291 bnQgQVRUUklCVVRFX1VOVVNFRCwgY3B1X3NldF90ICpzZXQpCi0rX19nbmF0X2NwdV96ZXJvIChz aXplX3QgY291bnQgQVRUUklCVVRFX1VOVVNFRCwgdm9pZCAqc2V0KQotIHsKLS0gIENQVV9aRVJP IChzZXQpOwotKyAgQ1BVX1pFUk8gKChjcHVfc2V0X3QgKikgc2V0KTsKLSB9Ci0gCi0gdm9pZAot LV9fZ25hdF9jcHVfc2V0IChpbnQgY3B1LCBzaXplX3QgY291bnQgQVRUUklCVVRFX1VOVVNFRCwg Y3B1X3NldF90ICpzZXQpCi0rX19nbmF0X2NwdV9zZXQgKGludCBjcHUsIHNpemVfdCBjb3VudCBB VFRSSUJVVEVfVU5VU0VELCB2b2lkICpzZXQpCi0gewotICAgLyogQWRhIGhhbmRsZXMgQ1BVIG51 bWJlcnMgc3RhcnRpbmcgZnJvbSAxLCB3aGlsZSBDIGlkZW50aWZpZXMgdGhlIGZpcnN0Ci0gICAg ICBDUFUgYnkgYSAwLCBzbyB3ZSBuZWVkIHRvIGFkanVzdC4gKi8KLS0gIENQVV9TRVQgKGNwdSAt IDEsIHNldCk7Ci0rICBDUFVfU0VUIChjcHUgLSAxLCAoY3B1X3NldF90ICopIHNldCk7Ci0gfQot ICNlbmRpZiAvKiAhQ1BVX0FMTE9DICovCi0gI2VuZGlmIC8qIF9fbGludXhfXyAqLwotZGlmZiAt LWdpdCBhL2djYy9hZGEvYWRhaW50LmggYi9nY2MvYWRhL2FkYWludC5oCi1pbmRleCAwZDEyZjdl Li5hMDYzYjQ3IDEwMDY0NAotLS0tIGdjYy9hZGEvYWRhaW50LmgKLSsrKyBnY2MvYWRhL2FkYWlu dC5oCi1AQCAtMzE2LDEzICszMTYsMTEgQEAgZXh0ZXJuIHZvaWQgICAqX19nbmF0X2x3cF9zZWxm CQkJICAgKHZvaWQpOwotIAotIC8qIFJvdXRpbmVzIGZvciBpbnRlcmZhY2UgdG8gcmVxdWlyZWQg Q1BVIHNldCBwcmltaXRpdmVzICovCi0gCi0tI2luY2x1ZGUgPHNjaGVkLmg+Ci0tCi0tZXh0ZXJu IGNwdV9zZXRfdCAqX19nbmF0X2NwdV9hbGxvYyAgICAgICAgICAgICAgICAgKHNpemVfdCk7Ci0r ZXh0ZXJuIHZvaWQgKiBfX2duYXRfY3B1X2FsbG9jICAgICAgICAgICAgICAgICAoc2l6ZV90KTsK LSBleHRlcm4gc2l6ZV90IF9fZ25hdF9jcHVfYWxsb2Nfc2l6ZSAgICAgICAgICAgICAgICAoc2l6 ZV90KTsKLS1leHRlcm4gdm9pZCAgIF9fZ25hdF9jcHVfZnJlZSAgICAgICAgICAgICAgICAgIChj cHVfc2V0X3QgKik7Ci0tZXh0ZXJuIHZvaWQgICBfX2duYXRfY3B1X3plcm8gICAgICAgICAgICAg ICAgICAgICAgKHNpemVfdCwgY3B1X3NldF90ICopOwotLWV4dGVybiB2b2lkICAgX19nbmF0X2Nw dV9zZXQgICAgICAgICAgICAgICAgICAgICAgIChpbnQsIHNpemVfdCwgY3B1X3NldF90ICopOwot K2V4dGVybiB2b2lkICAgX19nbmF0X2NwdV9mcmVlICAgICAgICAgICAgICAgICAgKHZvaWQgKik7 Ci0rZXh0ZXJuIHZvaWQgICBfX2duYXRfY3B1X3plcm8gICAgICAgICAgICAgICAgICAgICAgKHNp emVfdCwgdm9pZCAqKTsKLStleHRlcm4gdm9pZCAgIF9fZ25hdF9jcHVfc2V0ICAgICAgICAgICAg ICAgICAgICAgICAoaW50LCBzaXplX3QsIHZvaWQgKik7Ci0gI2VuZGlmCi0gCi0gI2lmIGRlZmlu ZWQgKF9XSU4zMikKLS0tLSBnY2MvYWRhL01ha2VmaWxlLnJ0bAkyMDIwLTA3LTIzIDA4OjM1OjE3 LjA1MjM4MTMzNiArMDIwMAotKysrIC0JMjAyMC0wOC0wOSAxOTozODoyNC4yMzAzNTE0MDYgKzAy MDAKLUBAIC0xNTMzLDcgKzE1MzMsNyBAQAotICAgcy1pbnRtYW4uYWRiPGxpYmduYXJsL3MtaW50 bWFuX19wb3NpeC5hZGIgXAotICAgcy10cG9wc3AuYWRiPGxpYmduYXJsL3MtdHBvcHNwX190bHMu YWRiIFwKLSAgICQoVFJBU1lNX0RXQVJGX1VOSVhfUEFJUlMpIFwKLS0gIHMtdHNtb25hLmFkYjxs aWJnbmF0L3MtdHNtb25hX19saW51eC5hZGIgXAotKyAgcy10c21vbmEuYWRiPGxpYmduYXQvcy10 c21vbmEuYWRiIFwKLSAgIGEtZXhldGltLmFkYjxsaWJnbmFybC9hLWV4ZXRpbV9fcG9zaXguYWRi IFwKLSAgIGEtZXhldGltLmFkczxsaWJnbmFybC9hLWV4ZXRpbV9fZGVmYXVsdC5hZHMgXAotICAg cy1saW51eC5hZHM8bGliZ25hcmwvcy1saW51eC5hZHMgXAotQEAgLTIwODMsNyArMjA4Myw3IEBA Ci0gICBzLW9zaW50ZS5hZGI8bGliZ25hcmwvcy1vc2ludGVfX3Bvc2l4LmFkYiBcCi0gICBzLXRw b3BzcC5hZGI8bGliZ25hcmwvcy10cG9wc3BfX3Rscy5hZGIgXAotICAgJChUUkFTWU1fRFdBUkZf VU5JWF9QQUlSUykgXAotLSAgcy10c21vbmEuYWRiPGxpYmduYXQvcy10c21vbmFfX2xpbnV4LmFk YiBcCi0rICBzLXRzbW9uYS5hZGI8bGliZ25hdC9zLXRzbW9uYS5hZGIgXAotICAgJChBVE9NSUNT X1RBUkdFVF9QQUlSUykgXAotICAgJChBVE9NSUNTX0JVSUxUSU5TX1RBUkdFVF9QQUlSUykgXAot ICAgc3lzdGVtLmFkczxsaWJnbmF0L3N5c3RlbS1saW51eC1wcGMuYWRzCi1AQCAtMjExMiw3ICsy MTEyLDcgQEAKLSBlbmRpZgotIAotICMgQVJNIGxpbnV4LCBHTlUgZWFiaQotLWlmZXEgKCQoc3Ry aXAgJChmaWx0ZXItb3V0IGFybSUgbGludXgtZ251ZWFiaSUsJCh0YXJnZXRfY3B1KSAkKHRhcmdl dF9vcykpKSwpCi0raWZlcSAoJChzdHJpcCAkKGZpbHRlci1vdXQgYXJtJSBsaW51eC1nbnVlYWJp JSBsaW51eC1tdXNsZWFiaSUgbGludXgtbXVzbGdudWVhYmklLCQodGFyZ2V0X2NwdSkgJCh0YXJn ZXRfb3MpKSksKQotICAgTElCR05BVF9UQVJHRVRfUEFJUlMgPSBcCi0gICBhLWludG5hbS5hZHM8 bGliZ25hcmwvYS1pbnRuYW1fX2xpbnV4LmFkcyBcCi0gICBzLWlubWFvcC5hZGI8bGliZ25hcmwv cy1pbm1hb3BfX3Bvc2l4LmFkYiBcCi1AQCAtMjMwNSw3ICsyMzA1LDcgQEAKLSAgIHMtdHBvcHNw LmFkYjxsaWJnbmFybC9zLXRwb3BzcF9fdGxzLmFkYiBcCi0gICBzLXRhc3ByaS5hZHM8bGliZ25h cmwvcy10YXNwcmlfX3Bvc2l4LW5vYWx0c3RhY2suYWRzIFwKLSAgICQoVFJBU1lNX0RXQVJGX1VO SVhfUEFJUlMpIFwKLS0gIHMtdHNtb25hLmFkYjxsaWJnbmF0L3MtdHNtb25hX19saW51eC5hZGIg XAotKyAgcy10c21vbmEuYWRiPGxpYmduYXQvcy10c21vbmEuYWRiIFwKLSAgICQoQVRPTUlDU19U QVJHRVRfUEFJUlMpIFwKLSAgICQoQVRPTUlDU19CVUlMVElOU19UQVJHRVRfUEFJUlMpIFwKLSAg IHN5c3RlbS5hZHM8bGliZ25hdC9zeXN0ZW0tbGludXgtaWE2NC5hZHMKLUBAIC0yNDAxLDcgKzI0 MDEsNyBAQAotICAgcy10cG9wc3AuYWRiPGxpYmduYXJsL3MtdHBvcHNwX190bHMuYWRiIFwKLSAg IHMtdGFzcHJpLmFkczxsaWJnbmFybC9zLXRhc3ByaV9fcG9zaXguYWRzIFwKLSAgICQoVFJBU1lN X0RXQVJGX1VOSVhfUEFJUlMpIFwKLS0gIHMtdHNtb25hLmFkYjxsaWJnbmF0L3MtdHNtb25hX19s aW51eC5hZGIgXAotKyAgcy10c21vbmEuYWRiPGxpYmduYXQvcy10c21vbmEuYWRiIFwKLSAgICQo QVRPTUlDU19UQVJHRVRfUEFJUlMpIFwKLSAgICQoWDg2XzY0X1RBUkdFVF9QQUlSUykgXAotICAg c3lzdGVtLmFkczxsaWJnbmF0L3N5c3RlbS1saW51eC14ODYuYWRzCi0tLS0gZ2NjL2FkYS90ZXJt aW5hbHMuYwkyMDE5LTAxLTA4IDEwOjU0OjA0LjAwMDAwMDAwMCArMDEwMAotKysrIGdjYy9hZGEv dGVybWluYWxzLmMJMjAxOS0wNS0xNSAxMzoxNDowOS45MzU3NDI1MjYgKzAyMDAKLUBAIC0xMTM2 LDcgKzExMzYsNyBAQAotIC8qIFBPU0lYIGRvZXMgbm90IHNwZWNpZnkgaG93IHRvIG9wZW4gdGhl IG1hc3RlciBzaWRlIG9mIGEgdGVybWluYWwuU2V2ZXJhbAotICAgIG1ldGhvZHMgYXJlIGF2YWls YWJsZSAoc3lzdGVtIHNwZWNpZmljKToKLSAgICAgICAxLSB1c2luZyBhIGNsb25pbmcgZGV2aWNl IChVU0VfQ0xPTkVfREVWSUNFKQotLSAgICAgIDItIGdldHB0ICAgICAgICAgICAgICAgICAgKFVT RV9HRVRQVCkKLSsgICAgICAyLSBwb3NpeF9vcGVucHQgICAgICAgICAgIChVU0VfUE9TSVhfT1BF TlBUKQotICAgICAgIDMtIG9wZW5wdHkgICAgICAgICAgICAgICAgKFVTRV9PUEVOUFRZKQotIAot ICAgIFdoZW4gdXNpbmcgdGhlIGNsb25pbmcgZGV2aWNlIG1ldGhvZCwgdGhlIG1hY3JvIFVTRV9D TE9ORV9ERVZJQ0Ugc2hvdWxkCi1AQCAtMTE1MCw3ICsxMTUwLDcgQEAKLSAjaWYgZGVmaW5lZCAo X19BUFBMRV9fKSB8fCBkZWZpbmVkIChCU0QpCi0gI2RlZmluZSBVU0VfT1BFTlBUWQotICNlbGlm IGRlZmluZWQgKF9fbGludXhfXykKLS0jZGVmaW5lIFVTRV9HRVRQVAotKyNkZWZpbmUgVVNFX1BP U0lYX09QRU5QVAotICNlbGlmIGRlZmluZWQgKF9fc3VuX18pCi0gI2RlZmluZSBVU0VfQ0xPTkVf REVWSUNFICIvZGV2L3B0bXgiCi0gI2VsaWYgZGVmaW5lZCAoX0FJWCkKLUBAIC0xMTk5LDggKzEx OTksOCBAQAotICAgIGludCAgbWFzdGVyX2ZkICAgPSAtMTsKLSAgICBjaGFyICpzbGF2ZV9uYW1l ID0gTlVMTDsKLSAKLS0jaWZkZWYgVVNFX0dFVFBUCi0tICBtYXN0ZXJfZmQgPSBnZXRwdCAoKTsK LSsjaWYgZGVmaW5lZChVU0VfUE9TSVhfT1BFTlBUKQotKyAgbWFzdGVyX2ZkID0gcG9zaXhfb3Bl bnB0KE9fUkRXUiB8IE9fTk9DVFRZKTsKLSAjZWxpZiBkZWZpbmVkIChVU0VfT1BFTlBUWSkKLSAg IHN0YXR1cyA9IG9wZW5wdHkgKCZtYXN0ZXJfZmQsICZzbGF2ZV9mZCwgTlVMTCwgTlVMTCwgTlVM TCk7Ci0gI2VsaWYgZGVmaW5lZCAoVVNFX0NMT05FX0RFVklDRSkKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvbGliZ2Njaml0L3RlbXBsYXRlIGIvc3JjcGtncy9saWJnY2NqaXQvdGVtcGxhdGUKaW5kZXgg MGU4NTUxZDA2MmMuLmI4MGFmNThhODM3IDEwMDY0NAotLS0gYS9zcmNwa2dzL2xpYmdjY2ppdC90 ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2xpYmdjY2ppdC90ZW1wbGF0ZQpAQCAtMiw0MSArMiw0MyBA QAogX21ham9ydmVyPTEwCiBfbWlub3J2ZXI9JHtfbWFqb3J2ZXJ9LjIKIF9wYXRjaHZlcj0ke19t aW5vcnZlcn0uMQorX2dtcF92ZXJzaW9uPTYuMi4wCitfbXBmcl92ZXJzaW9uPTQuMS4wCitfbXBj X3ZlcnNpb249MS4xLjAKK19pc2xfdmVyc2lvbj0wLjIxCiAKIHBrZ25hbWU9bGliZ2Njaml0CiAj IHdlIGFyZSB1c2luZyBhIDEwLXN0YWJsZSBnaXQgc25hcHNob3QgYWxwaW5lIGlzIHVzaW5nIGlu IG9yZGVyCiAjIHRvIGdldCByZWdyZXNzaW9uIGZpeGVzIG5vdCB5ZXQgaW5jb3Jwb3JhdGUgaW50 byBhIHN0YWJsZSByZWxlYXNlCiAjIGl0IHNob3VsZCBiZSBwb3NzaWJsZSB0byBzd2l0Y2ggYmFj ayB0byBzdGFibGUgd2l0aCAxMC4zIG9yIDExCiB2ZXJzaW9uPSR7X3BhdGNodmVyfXByZTEKK3Jl dmlzaW9uPTEKIHdya3NyYz1nY2MtJHt2ZXJzaW9uL3ByZS9fcHJlfQotcmV2aXNpb249Mgogc2hv cnRfZGVzYz0iR05VIENvbXBpbGVyIENvbGxlY3Rpb24iCi1tYWludGFpbmVyPSJFbm5vIEJvbGFu ZCA8Z290dG94QHZvaWRsaW51eC5vcmc+IgorbWFpbnRhaW5lcj0iTGFuZSBCaW9jaW5pIDxsYW5l QG1haWxib3gub3JnPiIKIGhvbWVwYWdlPSJodHRwOi8vZ2NjLmdudS5vcmciCiBsaWNlbnNlPSJH RkRMLTEuMi1vci1sYXRlciwgR1BMLTMuMC1vci1sYXRlciwgTEdQTC0yLjEtb3ItbGF0ZXIiCiAj ICotbXVzbCBidWlsZGVycyBoYXZlIGlzc3VlcyBmZXRjaGluZyBodHRwczovL2Z0cC5nbnUub3Jn L2dudS9tcGMvbXBjLTEuMS4wLnRhci5negotZGlzdGZpbGVzPSJodHRwczovL2Rldi5hbHBpbmVs aW51eC5vcmcvfm5lbm9sb2QvZ2NjLSR7dmVyc2lvbi9wcmUvX3ByZX0udGFyLnh6IgotY2hlY2tz dW09Ijc3MmNmZDVkMzBlYjljYzVhOTk2ZmVjOWJhOGNkY2I0NWQzN2RmMWM5YjU3NzA2MTAxMDNi ODE0YjczMmM1OTAiCitkaXN0ZmlsZXM9IgorIGh0dHBzOi8vZGV2LmFscGluZWxpbnV4Lm9yZy9+ bmVub2xvZC9nY2MtJHt2ZXJzaW9uL3ByZS9fcHJlfS50YXIueHoKKyBodHRwczovL2dtcGxpYi5v cmcvZG93bmxvYWQvZ21wL2dtcC0ke19nbXBfdmVyc2lvbn0udGFyLnh6CisgJHtHTlVfU0lURX0v bXBmci9tcGZyLSR7X21wZnJfdmVyc2lvbn0udGFyLnh6CisgJHtHTlVfU0lURX0vbXBjL21wYy0k e19tcGNfdmVyc2lvbn0udGFyLmd6CisgaHR0cDovL2lzbC5nZm9yZ2UuaW5yaWEuZnIvaXNsLSR7 X2lzbF92ZXJzaW9ufS50YXIuYnoyIgorY2hlY2tzdW09Ijc3MmNmZDVkMzBlYjljYzVhOTk2ZmVj OWJhOGNkY2I0NWQzN2RmMWM5YjU3NzA2MTAxMDNiODE0YjczMmM1OTAKKyAyNThlNmNkNTFiM2Zi ZGZjMTg1YzcxNmQ1NWY4MmMwOGFmZjU3ZGYwYzZmYmQxNDNjZjZlZDU2MTI2N2ExNTI2CisgMGM5 OGEzZjE3MzJmZjZjYTRlYTY5MDU1MjA3OWRhOWM1OTc4NzJkMzBlOTZlYzI4NDE0ZWUyM2M5NTU1 OGE3ZgorIDY5ODVjNTM4MTQzYzEyMDhkY2IxYWM0MmNlZGFkNmZmNTJlMjY3YjQ3ZTVmOTcwMTgz YTNlNzUxMjViNDNjMmUKKyBkMThjYTExZjhhZDFhMzlhYjZkMDNkM2RjYjMzNjVhYjQxNjcyMGZj YjY1YjQyZDY5ZjM0ZjUxYmYwYTBlODU5IgorCiBub3BpZT15ZXMKIGxpYjMyZGlzYWJsZWQ9eWVz Ci0KLSMgTUlQUyBpcyB1bnRlc3RlZCBhbmQgZG9lcyBub3QgaGF2ZSBnbyBpbiBjcm9zc3Rvb2xj aGFpbnMKLSMgMzItYml0IFBvd2VyUEMgc2VlbXMgd2VpcmRseSBicm9rZW4gc2luY2UgdGhlIDEw LnggcmVsZWFzZQotIyAzMi1iaXQgbGl0dGxlIGVuZGlhbiBQb3dlclBDIGhhcyBubyBzdXBwb3J0 IGF0IGFsbCAobm8gR09BUkNIKQotY2FzZSAiJFhCUFNfVEFSR0VUX01BQ0hJTkUiIGluCi0JcHBj NjQqKSA7OwotCW1pcHMqLW11c2x8cHBjKikgX2hhdmVfZ2NjZ289bm8gOzsKLWVzYWMKLQotaWYg WyAiJENIUk9PVF9SRUFEWSIgXTsgdGhlbgotCWhvc3RtYWtlZGVwZW5kcz0idGFyIHRleGluZm8g cGVybCBmbGV4IgotZmkKLQotbWFrZWRlcGVuZHM9InpsaWItZGV2ZWwgZ21wLWRldmVsIG1wZnIt ZGV2ZWwgbGlibXBjLWRldmVsIAotICBsaWJzdGRjKystZGV2ZWwtJHt2ZXJzaW9ufV8ke3Jldmlz aW9ufSBsaWJzc3AtZGV2ZWwtJHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKLWRlcGVuZHM9ImdjYz49 JHtfbWlub3J2ZXJ9IgorbWFrZWRlcGVuZHM9InpsaWItZGV2ZWwiCitob3N0bWFrZWRlcGVuZHM9 InRhciB0ZXhpbmZvIHBlcmwgZmxleCIgI2dtcC1kZXZlbCBtcGZyLWRldmVsIGxpYm1wYy1kZXZl bCBpc2wtZGV2ZWwgbGlic3NwLWRldmVsIgorZGVwZW5kcz0iZ2NjIgogY2hlY2tkZXBlbmRzPSJk ZWphZ251IgogCisjIG5lZWRlZCBmb3IgY3Jvc3MgYnVpbGRzCiBjYXNlICIkWEJQU19UQVJHRVRf TUFDSElORSIgaW4KIAlpNjg2KSBfdHJpcGxldD0iaTY4Ni1wYy1saW51eC1nbnUiOzsKIAlpNjg2 LW11c2wpIF90cmlwbGV0PSJpNjg2LWxpbnV4LW11c2wiOzsKQEAgLTYzLDExICs2NSwxNyBAQCBj YXNlICIkWEJQU19UQVJHRVRfTUFDSElORSIgaW4KIAltaXBzZWwtbXVzbCkgX3RyaXBsZXQ9Im1p cHNlbC1saW51eC1tdXNsIjs7CiAJbWlwc2VsaGYtbXVzbCkgX3RyaXBsZXQ9Im1pcHNlbC1saW51 eC1tdXNsaGYiOzsKIGVzYWMKLWNhc2UgIiRYQlBTX1RBUkdFVF9NQUNISU5FIiBpbgotCSotbXVz bCkJIGRlcGVuZHMrPSIgbXVzbC1kZXZlbCI7OwotCSopIAkgZGVwZW5kcys9IiBnbGliYy1kZXZl bCIKLQkJIDs7Ci1lc2FjCisjaWYgWyAiJENST1NTX0JVSUxEIiBdOyB0aGVuCisjCWhvc3RtYWtl ZGVwZW5kcys9IiBjcm9zcy0ke190cmlwbGV0fSIKKyNmaQorCitwb3N0X2V4dHJhY3QoKSB7CisJ bWtkaXIgLXAgJHt3cmtzcmN9L3tnbXAsbXBmcixtcGMsaXNsfQorCWNwIC1hciAke1hCUFNfQlVJ TERESVJ9L2dtcC0ke19nbXBfdmVyc2lvbn0vKiAke3dya3NyY30vZ21wLworCWNwIC1hciAke1hC UFNfQlVJTERESVJ9L21wZnItJHtfbXBmcl92ZXJzaW9ufS8qICR7d3Jrc3JjfS9tcGZyLworCWNw IC1hciAke1hCUFNfQlVJTERESVJ9L21wYy0ke19tcGNfdmVyc2lvbn0vKiAke3dya3NyY30vbXBj LworCWNwIC1hciAke1hCUFNfQlVJTERESVJ9L2lzbC0ke19pc2xfdmVyc2lvbn0vKiAke3dya3Ny Y30vaXNsLworfQogCiBwcmVfY29uZmlndXJlKCkgewogCSMgX0ZPUlRJRllfU09VUkNFIG5lZWRz IGFuIG9wdGltaXphdGlvbiBsZXZlbC4KQEAgLTgwLDcgKzg4LDcgQEAgcHJlX2NvbmZpZ3VyZSgp IHsKIAkJKi1tdXNsKQogCQkJcGF0Y2ggLXAwIC1pICR7RklMRVNESVJ9L2xpYmduYXJsLW11c2wu cGF0Y2gKIAkJCXBhdGNoIC1wMCAtaSAke0ZJTEVTRElSfS9saWJzc3AtbXVzbC5wYXRjaAotCQkJ cGF0Y2ggLXAwIC1pICR7RklMRVNESVJ9L2djY2dvLW11c2wucGF0Y2gKKwkJCXBhdGNoIC1wMSAt aSAke0ZJTEVTRElSfS9saWJnY2NqaXQtbXVzbC5wYXRjaAogCQkJOzsKIAllc2FjCiB9CkBAIC0x MDcsNyArMTE1LDYgQEAgZG9fY29uZmlndXJlKCkgewogCQlwcGMqLW11c2wpIF9hcmdzKz0iIC0t ZGlzYWJsZS1kZWNpbWFsLWZsb2F0Ijs7CiAJZXNhYwogCi0KIAlpZiBbICIkQ1JPU1NfQlVJTEQi IF07IHRoZW4KIAkJZXhwb3J0IENDX0ZPUl9UQVJHRVQ9IiRDQyIKIAkJZXhwb3J0IEdDQ19GT1Jf VEFSR0VUPSIkQ0MiCkBAIC0xMTksNyArMTI2LDYgQEAgZG9fY29uZmlndXJlKCkgewogCQlleHBv cnQgTERfTElCUkFSWV9QQVRIPSIke1hCUFNfTUFTVEVSRElSfS91c3IvbGliJHtYQlBTX1RBUkdF VF9XT1JEU0laRX0iCiAJCV9hcmdzKz0iIC0tYnVpbGQ9JHtfdHJpcGxldH0iCiAJZWxzZQotCQlf bGFuZ3M9ImppdCxsdG8iCiAJCV9hcmdzKz0iIC0tYnVpbGQ9JHtfdHJpcGxldH0iCiAJZmkKIApA QCAtMTQ0LDEwICsxNTAsMTUgQEAgZG9fY29uZmlndXJlKCkgewogCWV4cG9ydCBDWFhGTEFHUz0i JHtDWFhGTEFHUy8vLWZuby1QSUUvfSIKIAlleHBvcnQgTERGTEFHUz0iJHtMREZMQUdTLy8tbm8t cGllL30iCiAKKwkjIE5lZWRzIGV4cGxpY2l0IC1mUElDCisJZXhwb3J0IENGTEFHUys9IiAtZlBJ QyIKKwlleHBvcnQgQ1hYRkxBR1MrPSIgLWZQSUMiCisJZXhwb3J0IExERkxBR1MrPSIgLWZQSUMi CisKIAlfYXJncys9IiAtLXByZWZpeD0vdXNyIgogCV9hcmdzKz0iIC0tbWFuZGlyPS91c3Ivc2hh cmUvbWFuIgogCV9hcmdzKz0iIC0taW5mb2Rpcj0vdXNyL3NoYXJlL2luZm8iCi0gICAgX2FyZ3Mr PSIgLS13aXRoLWJ1Z3VybD0naHR0cHM6Ly9naXRodWIuY29tL2phc2hhbmRlZXAtc29oaS9saWJn Y2NqaXQtcGtnL2lzc3VlcyciIFwKKwlfYXJncys9IiAtLXdpdGgtYnVndXJsPSdodHRwczovL2dp dGh1Yi5jb20vamFzaGFuZGVlcC1zb2hpL2xpYmdjY2ppdC1wa2cvaXNzdWVzJyIgXAogCV9hcmdz Kz0iIC0tbGliZXhlY2Rpcj0vdXNyL2xpYiR7WEJQU19UQVJHRVRfV09SRFNJWkV9IgogCV9hcmdz Kz0iIC0tbGliZGlyPS91c3IvbGliJHtYQlBTX1RBUkdFVF9XT1JEU0laRX0iCiAJX2FyZ3MrPSIg LS13aXRoLXN5c3RlbS16bGliIgpAQCAtMTU2LDcgKzE2Nyw3IEBAIGRvX2NvbmZpZ3VyZSgpIHsK IAlfYXJncys9IiAtLWVuYWJsZS10aHJlYWRzPXBvc2l4IgogCV9hcmdzKz0iIC0tZW5hYmxlLWx0 byIKIAlfYXJncys9IiAtLWVuYWJsZS1zaGFyZWQiCi0gICAgX2FyZ3MrPSIgLS1lbmFibGUtaG9z dC1zaGFyZWQiCisJX2FyZ3MrPSIgLS1lbmFibGUtaG9zdC1zaGFyZWQiCiAJX2FyZ3MrPSIgLS1l bmFibGUtY2hlY2tpbmc9cmVsZWFzZSIKIAlfYXJncys9IiAtLWVuYWJsZS1wbHVnaW5zIgogCV9h cmdzKz0iIC0tZW5hYmxlLWRlZmF1bHQtc3NwIgpAQCAtMTY0LDEzICsxNzUsMTMgQEAgZG9fY29u ZmlndXJlKCkgewogCV9hcmdzKz0iIC0tZGlzYWJsZS1tdWx0aWxpYiIKIAlfYXJncys9IiAtLWRp c2FibGUtYm9vdHN0cmFwIgogCV9hcmdzKz0iIC0tZW5hYmxlLV9fY3hhX2F0ZXhpdCIKLSAgICBf YXJncys9IiAtLWRpc2FibGUtbGlicXVhZG1hdGgiCi0gICAgX2FyZ3MrPSIgLS1kaXNhYmxlLWxp YnF1YWRtYXRoLXN1cHBvcnQiCi0gICAgX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYmdvbXAiIAotICAg IF9hcmdzKz0iIC0tZGlzYWJsZS1saWJvZmZsb2FkbWljIiAKLSAgICBfYXJncys9IiAtLWRpc2Fi bGUtbGliYWRhIgotICAgIF9hcmdzKz0iIC0tZGlzYWJsZS1saWJ2dHYiCi0gICAgX2FyZ3MrPSIg LS1kaXNhYmxlLWxpYnNhbml0aXplciIKKwlfYXJncys9IiAtLWRpc2FibGUtbGlicXVhZG1hdGgi CisJX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYnF1YWRtYXRoLXN1cHBvcnQiCisJX2FyZ3MrPSIgLS1k aXNhYmxlLWxpYmdvbXAiCisJX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYm9mZmxvYWRtaWMiCisJX2Fy Z3MrPSIgLS1kaXNhYmxlLWxpYmFkYSIKKwlfYXJncys9IiAtLWRpc2FibGUtbGlidnR2IgorCV9h cmdzKz0iIC0tZGlzYWJsZS1saWJzYW5pdGl6ZXIiCiAJX2FyZ3MrPSIgLS1kaXNhYmxlLXdlcnJv ciIKIAlfYXJncys9IiAtLWRpc2FibGUtbmxzIgogCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJzdGRj eHgtcGNoIgpAQCAtMTgwLDMzICsxOTEsMzIgQEAgZG9fY29uZmlndXJlKCkgewogCW1rZGlyIC1w IGJ1aWxkCiAJY2QgYnVpbGQKIAotICAgICMgSWYgd2UgYXJlIGNoZWNraW5nIHBhY2thZ2VzLCB3 ZSBuZWVkIHRvIGhhdmUgYysrIGNvbXBpbGVkCi0gICAgWyAteiAiJFhCUFNfQ0hFQ0tfUEtHUyIg XSAmJiBfbGFuZ3M9ImppdCIgfHwgX2xhbmdzPSJqaXQsYysrIgotICAgIF9hcmdzKz0iIC0tZW5h YmxlLWxhbmd1YWdlcz0ke19sYW5nc30iCi0gICAgQ09ORklHX1NIRUxMPS9iaW4vYmFzaCBcCi0J ICAgICR7d3Jrc3JjfS9jb25maWd1cmUgJHtfYXJnc30KLQorCSMgSWYgd2UgYXJlIGNoZWNraW5n IHBhY2thZ2VzLCB3ZSBuZWVkIHRvIGhhdmUgYysrIGNvbXBpbGVkCisJWyAteiAiJFhCUFNfQ0hF Q0tfUEtHUyIgXSAmJiBfbGFuZ3M9ImppdCIgfHwgX2xhbmdzPSJqaXQsYysrIgorCV9hcmdzKz0i IC0tZW5hYmxlLWxhbmd1YWdlcz0ke19sYW5nc30iCisJQ09ORklHX1NIRUxMPS9iaW4vYmFzaCBc CisJCSR7d3Jrc3JjfS9jb25maWd1cmUgJHtfYXJnc30KIH0KIAogZG9fYnVpbGQoKSB7Ci0JaWYg WyAteiAiJENIUk9PVF9SRUFEWSIgXTsgdGhlbgotCQlleHBvcnQgTERfTElCUkFSWV9QQVRIPSIk e1hCUFNfTUFTVEVSRElSfS91c3IvbGliJHtYQlBTX1RBUkdFVF9XT1JEU0laRX0iCi0JZmkKLSAg ICBjZCBidWlsZAotICAgIG1ha2UgJHttYWtlam9ic30KKyMJaWYgWyAteiAiJENIUk9PVF9SRUFE WSIgXTsgdGhlbgorIwkJZXhwb3J0IExEX0xJQlJBUllfUEFUSD0iJHtYQlBTX01BU1RFUkRJUn0v dXNyL2xpYiR7WEJQU19UQVJHRVRfV09SRFNJWkV9IgorIwlmaQorCWNkIGJ1aWxkCisJbWFrZSAk e21ha2Vqb2JzfQogfQogCiBwb3N0X2J1aWxkKCkgewotICAgICMgTGV0cyBjcmVhdGUgYSBzdGFn aW5nIGZvbGRlciB0byBpbnN0YWxsIGludG8KLSAgICBta2RpciAtcCAiJHt3cmtzcmN9L2luc3Rh bGwiCi0gICAgY2QgIiR7d3Jrc3JjfS9idWlsZCIKLSAgICBtYWtlIERFU1RESVI9IiR7d3Jrc3Jj fS9pbnN0YWxsIiAtQyBnY2MgaW5zdGFsbAorCSMgTGV0cyBjcmVhdGUgYSBzdGFnaW5nIGZvbGRl ciB0byBpbnN0YWxsIGludG8KKwlta2RpciAtcCAiJHt3cmtzcmN9L2luc3RhbGwiCisJY2QgIiR7 d3Jrc3JjfS9idWlsZCIKKwltYWtlIERFU1RESVI9IiR7d3Jrc3JjfS9pbnN0YWxsIiAtQyBnY2Mg aW5zdGFsbAogCiB9CiAKIGRvX2NoZWNrKCkgewotICAgIGNkICIke3dya3NyY30vYnVpbGQvZ2Nj IgotICAgIG1ha2UgY2hlY2staml0IFJVTlRFU1RGTEFHUz0iLXYgLXYgLXYiCisJY2QgIiR7d3Jr c3JjfS9idWlsZC9nY2MiCisJbWFrZSBjaGVjay1qaXQgUlVOVEVTVEZMQUdTPSItdiAtdiAtdiIK IH0KIAogcHJlX2luc3RhbGwoKSB7CkBAIC0yMTksMjMgKzIyOSwyNyBAQCBwcmVfaW5zdGFsbCgp IHsKIH0KIAogZG9faW5zdGFsbCgpIHsKLSAgICBfaW5jbHVkZWhvc3RkaXI9InVzci9saWIvZ2Nj LyR7X3RyaXBsZXR9LyR7X21pbm9ydmVyfS9pbmNsdWRlIgotICAgIAotICAgICMgR2V0IHRoZSBz aGxpYnMgb3ZlcgotICAgIGNkICIke3dya3NyY30vaW5zdGFsbCIKKwlpZiBbICIkQ1JPU1NfQlVJ TEQiIF07IHRoZW4KKwkJX2luY2x1ZGVob3N0ZGlyPSJ1c3IvbGliL2djYy8ke1hCUFNfQ1JPU1Nf VFJJUExFVH0vJHtfbWlub3J2ZXJ9L2luY2x1ZGUiCisJZWxzZQorCQlfaW5jbHVkZWhvc3RkaXI9 InVzci9saWIvZ2NjLyR7X3RyaXBsZXR9LyR7X21pbm9ydmVyfS9pbmNsdWRlIgorCWZpCisKKwkj IEdldCB0aGUgc2hsaWJzIG92ZXIKKwljZCAiJHt3cmtzcmN9L2luc3RhbGwiCiAKLSAgICB2aW5z dGFsbCAiJHt3cmtzcmN9L2luc3RhbGwvdXNyL2xpYjY0L2xpYmdjY2ppdC5zby4wLjAuMSIgMDc1 NSB1c3IvbGliCi0gICAgbG4gLXNmIGxpYmdjY2ppdC5zby4wLjAuMSAiJHtERVNURElSfSIvdXNy L2xpYi9saWJnY2NqaXQuc28uMAotICAgIGxuIC1zZiBsaWJnY2NqaXQuc28uMC4wLjEgIiR7REVT VERJUn0iL3Vzci9saWIvbGliZ2Njaml0LnNvCisJdmluc3RhbGwgIiR7d3Jrc3JjfS9pbnN0YWxs L3Vzci9saWIke1hCUFNfVEFSR0VUX1dPUkRTSVpFfS9saWJnY2NqaXQuc28uMC4wLjEiIDA3NTUg dXNyL2xpYgorCWxuIC1zZiBsaWJnY2NqaXQuc28uMC4wLjEgIiR7REVTVERJUn0iL3Vzci9saWIv bGliZ2Njaml0LnNvLjAKKwlsbiAtc2YgbGliZ2Njaml0LnNvLjAuMC4xICIke0RFU1RESVJ9Ii91 c3IvbGliL2xpYmdjY2ppdC5zbwogCi0gICAgIyBHZXQgdGhlIGhlYWRlciBmaWxlcyBpbiBwbGFj ZQotICAgIHZpbnN0YWxsIHVzci9pbmNsdWRlL2xpYmdjY2ppdC5oIDA2NDQgIiR7X2luY2x1ZGVo b3N0ZGlyfSIKLSAgICB2aW5zdGFsbCB1c3IvaW5jbHVkZS9saWJnY2NqaXQrKy5oIDA2NDQgIiR7 X2luY2x1ZGVob3N0ZGlyfSIKKwkjIEdldCB0aGUgaGVhZGVyIGZpbGVzIGluIHBsYWNlCisJdmlu c3RhbGwgdXNyL2luY2x1ZGUvbGliZ2Njaml0LmggMDY0NCAiJHtfaW5jbHVkZWhvc3RkaXJ9Igor CXZpbnN0YWxsIHVzci9pbmNsdWRlL2xpYmdjY2ppdCsrLmggMDY0NCAiJHtfaW5jbHVkZWhvc3Rk aXJ9IgogCi0gICAgIyBUaGUgbW9zdCBpbXBvcnRhbnQgcGFydCwgdGhlIGluZm8gZmlsZQotICAg IHZpbnN0YWxsIHVzci9zaGFyZS9pbmZvL2xpYmdjY2ppdC5pbmZvIDA3NTUgInVzci9zaGFyZS9p bmZvIgorCSMgVGhlIG1vc3QgaW1wb3J0YW50IHBhcnQsIHRoZSBpbmZvIGZpbGUKKwl2aW5zdGFs bCB1c3Ivc2hhcmUvaW5mby9saWJnY2NqaXQuaW5mbyAwNzU1ICJ1c3Ivc2hhcmUvaW5mbyIKIH0K IAogcG9zdF9pbnN0YWxsKCkgewotICAgIHZsaWNlbnNlICR7d3Jrc3JjfS9DT1BZSU5HLlJVTlRJ TUUgUlVOVElNRS5MSUJSQVJZLkVYQ0VQVElPTgorCXZsaWNlbnNlICR7d3Jrc3JjfS9DT1BZSU5H LlJVTlRJTUUgUlVOVElNRS5MSUJSQVJZLkVYQ0VQVElPTgogfQoKRnJvbSBhODk5MTA0YzhlYWFk MmQ5YTA4YTY0OTRjYzcwYTM0MzBlMWQ5ZTEzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9t OiBsYW5lLWJyYWluIDxsYW5lQG1haWxib3gub3JnPgpEYXRlOiBUdWUsIDE2IEZlYiAyMDIxIDEy OjI1OjM3IC0wNTAwClN1YmplY3Q6IFtQQVRDSCAzLzNdIE5ldyBwYWNrYWdlOiBsaWJnY2NqaXQt MTAuMi4xX3ByZTEKCi0tLQogc3JjcGtncy9saWJnY2NqaXQvZmlsZXMvYzg5LjEgICAgICAgICAg ICAgICB8ICA4MCAtLS0tLS0tCiBzcmNwa2dzL2xpYmdjY2ppdC9maWxlcy9jODkuc2ggICAgICAg ICAgICAgIHwgICAyIC0KIHNyY3BrZ3MvbGliZ2Njaml0L2ZpbGVzL2M5OS4xICAgICAgICAgICAg ICAgfCAgODEgLS0tLS0tLQogc3JjcGtncy9saWJnY2NqaXQvZmlsZXMvYzk5LnNoICAgICAgICAg ICAgICB8ICAgMiAtCiBzcmNwa2dzL2xpYmdjY2ppdC9maWxlcy9nY2Nnby1tdXNsLnBhdGNoICAg IHwgMjIyIC0tLS0tLS0tLS0tLS0tLS0tLS0tCiBzcmNwa2dzL2xpYmdjY2ppdC9maWxlcy9saWJn bmFybC1tdXNsLnBhdGNoIHwgICAyICstCiBzcmNwa2dzL2xpYmdjY2ppdC9maWxlcy9saWJzc3At bXVzbC5wYXRjaCAgIHwgICAyICstCiA3IGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwg Mzg5IGRlbGV0aW9ucygtKQogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbGliZ2Njaml0L2Zp bGVzL2M4OS4xCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9saWJnY2NqaXQvZmlsZXMvYzg5 LnNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9saWJnY2NqaXQvZmlsZXMvYzk5LjEKIGRl bGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2xpYmdjY2ppdC9maWxlcy9jOTkuc2gKIGRlbGV0ZSBt b2RlIDEwMDY0NCBzcmNwa2dzL2xpYmdjY2ppdC9maWxlcy9nY2Nnby1tdXNsLnBhdGNoCgpkaWZm IC0tZ2l0IGEvc3JjcGtncy9saWJnY2NqaXQvZmlsZXMvYzg5LjEgYi9zcmNwa2dzL2xpYmdjY2pp dC9maWxlcy9jODkuMQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2VkOTg0ZGEzM2Yu LjAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvbGliZ2Njaml0L2ZpbGVzL2M4OS4xCisrKyAvZGV2 L251bGwKQEAgLTEsODAgKzAsMCBAQAotLlwiCSROZXRCU0Q6IGM4OS4xLHYgMS4yIDIwMDgvMDQv MzAgMTM6MTA6NTAgbWFydGluIEV4cCAkCi0uXCIKLS5cIiBDb3B5cmlnaHQgKGMpIDE5OTkgVGhl IE5ldEJTRCBGb3VuZGF0aW9uLCBJbmMuCi0uXCIgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS5cIgot LlwiIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp dGggb3Igd2l0aG91dAotLlwiIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0 aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotLlwiIGFyZSBtZXQ6Ci0uXCIgMS4gUmVkaXN0 cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK LS5cIiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n IGRpc2NsYWltZXIuCi0uXCIgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLS5cIiAgICBub3RpY2UsIHRoaXMgbGlzdCBv ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0uXCIgICAg ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp c3RyaWJ1dGlvbi4KLS5cIgotLlwiIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIE5F VEJTRCBGT1VOREFUSU9OLCBJTkMuIEFORCBDT05UUklCVVRPUlMKLS5cIiBgYEFTIElTJycgQU5E IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ TUlURUQKLS5cIiBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotLlwiIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu ICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgRk9VTkRBVElPTiBPUiBDT05UUklCVVRPUlMKLS5cIiBC RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF WEVNUExBUlksIE9SCi0uXCIgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLS5cIiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLS5cIiBJ TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU WSwgV0hFVEhFUiBJTgotLlwiIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0uXCIgQVJJU0lORyBJTiBBTlkgV0FZ IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUK LS5cIiBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLS5cIgotLkRkIEphbnVhcnkgNSwgMTk5 OQotLkR0IEM4OSAxCi0uT3MKLS5TaCBOQU1FCi0uTm0gYzg5Ci0uTmQgQU5TSSAoMTk4OSkgQyBj b21waWxlcgotLlNoIFNZTk9QU0lTCi0uTm0KLS5PcCBGbCBwZWRhbnRpYwotLk9wIEZsIHBlZGFu dGljLWVycm9ycwotLk9wIEZsIERfQU5TSV9TT1VSQ0UKLS5PcCBvcHRpb25zIC4uLgotLlNoIERF U0NSSVBUSU9OCi1DYWxscyB0aGUgQyBjb21waWxlciAoY2MpIHdpdGggdGhlIGdpdmVuCi0uQXIg b3B0aW9ucyAsCi11c2luZyBhIEMgbGFuZ3VhZ2UgZW52aXJvbm1lbnQgY29tcGF0aWJsZSB3aXRo IHRoZQotLlN0IC1hbnNpQwotc3BlY2lmaWNhdGlvbi4KLS5QcAotVGhpcyBpbmNsdWRlcyBwcm9w ZXIgaGFuZGxpbmcgb2YgdHJpZ3JhcGhzLAotZGlzYWJsaW5nIG5vbi1BTlNJIGNvbXBpbGVyIGZl YXR1cmVzIChzdWNoIGFzCi0uQXIgYXNtICwKLS5BciBpbmxpbmUgLAotLkFyIHR5cGVvZiAsCi1h bmQgdGhlICQgY2hhcmFjdGVyIGluIGlkZW50aWZpZXJzKSwKLWFuZCBkZWZpbml0aW9uIG9mIHRo ZSBwcmVwcm9jZXNzb3Igc3ltYm9sCi0uRXYgX19TVFJJQ1RfQU5TSV9fIC4KLS5QcAotVGhlIGZv bGxvd2luZyBvcHRpb25zIGFyZSBhdmFpbGFibGU6Ci0uQmwgLXRhZyAtd2lkdGggLXBlZGFudGlj LWVycm9yc3h4Ci0uSXQgRmwgcGVkYW50aWMKLUlzc3VlIGV4dHJhIHdhcm5pbmdzIGRlZmluZWQg YnkgQU5TSSBmb3IgdXNlIG9mIG5vbi1BTlNJIGZlYXR1cmVzLgotLkl0IEZsIHBlZGFudGljLWVy cm9ycwotSXNzdWUgZXJyb3JzIGluc3RlYWQgb2Ygd2FybmluZ3MgdGhhdCBub3JtYWxseSB3b3Vs ZCBiZSBwcmVzZW50ZWQgYnkKLS5GbCBwZWRhbnRpYyAuCi0uSXQgRmwgRF9BTlNJX1NPVVJDRQot VGVsbCB0aGUgc3lzdGVtIGhlYWRlciBmaWxlIHNldCB0byB1c2UgYW4gQU5TSS1jb25mb3JtYW50 ICJjbGVhbiIgbmFtZXNwYWNlLgotLkVsCi0uU2ggU0VFIEFMU08KLS5YciBjYyAxCi0uU2ggU1RB TkRBUkRTCi0uTm0KLWNvbmZvcm1zIHRvCi0uU3QgLXAxMDAzLjItOTIgLgotLlNoIEhJU1RPUlkK LS5ObQotYXBwZWFyZWQgaW4KLS5OeCAxLjQgLgotLlNoIEJVR1MKLVNpbmNlCi0uTm0KLWlzIGEg c2hlbGwgd3JhcHBlciBzY3JpcHQgdG8KLS5BciBjYyAsCi1jb21waWxlIGVycm9ycyBhcmUgcHJl Zml4ZWQgYnkgImNjOiIuCmRpZmYgLS1naXQgYS9zcmNwa2dzL2xpYmdjY2ppdC9maWxlcy9jODku c2ggYi9zcmNwa2dzL2xpYmdjY2ppdC9maWxlcy9jODkuc2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDUyZDZkNDU0MzFiLi4wMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2xpYmdjY2pp dC9maWxlcy9jODkuc2gKKysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLSMhL2Jpbi9zaAot ZXhlYyAvdXNyL2Jpbi9jYyAtc3RkPWM4OSAiJEAiCmRpZmYgLS1naXQgYS9zcmNwa2dzL2xpYmdj Y2ppdC9maWxlcy9jOTkuMSBiL3NyY3BrZ3MvbGliZ2Njaml0L2ZpbGVzL2M5OS4xCmRlbGV0ZWQg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMzY4ZjFhODc0Yi4uMDAwMDAwMDAwMDAKLS0tIGEvc3Jj cGtncy9saWJnY2NqaXQvZmlsZXMvYzk5LjEKKysrIC9kZXYvbnVsbApAQCAtMSw4MSArMCwwIEBA Ci0uXCIJJE5ldEJTRDogYzk5LjEsdiAxLjMgMjAxMC8wNS8xNCAwMTo1MzoyOCBqb2VyZyBFeHAg JAotLlwiCi0uXCIgQ29weXJpZ2h0IChjKSAxOTk5LTIwMDggVGhlIE5ldEJTRCBGb3VuZGF0aW9u LCBJbmMuCi0uXCIgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS5cIgotLlwiIFJlZGlzdHJpYnV0aW9u IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotLlwi IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg Y29uZGl0aW9ucwotLlwiIGFyZSBtZXQ6Ci0uXCIgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLS5cIiAgICBub3RpY2UsIHRo aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0uXCIg Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92 ZSBjb3B5cmlnaHQKLS5cIiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0 aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0uXCIgICAgZG9jdW1lbnRhdGlvbiBhbmQv b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLS5cIgot LlwiIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIE5FVEJTRCBGT1VOREFUSU9OLCBJ TkMuIEFORCBDT05UUklCVVRPUlMKLS5cIiBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SIElN UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQKLS5cIiBUTywgVEhF IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg UEFSVElDVUxBUgotLlwiIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM TCBUSEUgRk9VTkRBVElPTiBPUiBDT05UUklCVVRPUlMKLS5cIiBCRSBMSUFCTEUgRk9SIEFOWSBE SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0uXCIg Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP Q1VSRU1FTlQgT0YKLS5cIiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLS5cIiBJTlRFUlJVUFRJT04pIEhPV0VW RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotLlwi IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D RSBPUiBPVEhFUldJU0UpCi0uXCIgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUKLS5cIiBQT1NTSUJJTElUWSBP RiBTVUNIIERBTUFHRS4KLS5cIgotLkRkIFNlcHRlbWJlciAyNCwgMjAwOAotLkR0IEM5OSAxCi0u T3MKLS5TaCBOQU1FCi0uTm0gYzk5Ci0uTmQgQU5TSSAoMTk5OSkgQyBjb21waWxlcgotLlNoIFNZ Tk9QU0lTCi0uTm0KLS5PcCBGbCBwZWRhbnRpYwotLk9wIEZsIHBlZGFudGljLWVycm9ycwotLk9w IEZsIERfQU5TSV9TT1VSQ0UKLS5PcCBvcHRpb25zIC4uLgotLlNoIERFU0NSSVBUSU9OCi1DYWxs cyB0aGUgQyBjb21waWxlciAoY2MpIHdpdGggdGhlIGdpdmVuCi0uQXIgb3B0aW9ucyAsCi11c2lu ZyBhIEMgbGFuZ3VhZ2UgZW52aXJvbm1lbnQgY29tcGF0aWJsZSB3aXRoIHRoZQotLlN0IC1pc29D LTk5Ci1zcGVjaWZpY2F0aW9uLgotLlBwCi1UaGlzIGluY2x1ZGVzCi1pbmxpbmUgZnVuY3Rpb25z LCB2YXJpYWJsZS1sZW5ndGggYXJyYXlzLCBzdXBwb3J0IGZvciBvbmUtbGluZQotY29tbWVudHMg YmVnaW5uaW5nIHdpdGggLy8sCi1kaXNhYmxpbmcgbm9uLUFOU0kgY29tcGlsZXIgZmVhdHVyZXMg KHN1Y2ggYXMKLS5BciBhc20gLAotLkFyIHR5cGVvZiAsCi1hbmQgdGhlICQgY2hhcmFjdGVyIGlu IGlkZW50aWZpZXJzKSwKLWFuZCBkZWZpbml0aW9uIG9mIHRoZSBwcmVwcm9jZXNzb3Igc3ltYm9s Ci0uRXYgX19TVFJJQ1RfQU5TSV9fIC4KLS5QcAotVGhlIGZvbGxvd2luZyBvcHRpb25zIGFyZSBh dmFpbGFibGU6Ci0uQmwgLXRhZyAtd2lkdGggLXBlZGFudGljLWVycm9yc3h4Ci0uSXQgRmwgcGVk YW50aWMKLUlzc3VlIGV4dHJhIHdhcm5pbmdzIGRlZmluZWQgYnkgQU5TSSBmb3IgdXNlIG9mIG5v bi1BTlNJIGZlYXR1cmVzLgotLkl0IEZsIHBlZGFudGljLWVycm9ycwotSXNzdWUgZXJyb3JzIGlu c3RlYWQgb2Ygd2FybmluZ3MgdGhhdCBub3JtYWxseSB3b3VsZCBiZSBwcmVzZW50ZWQgYnkKLS5G bCBwZWRhbnRpYyAuCi0uSXQgRmwgRF9BTlNJX1NPVVJDRQotVGVsbCB0aGUgc3lzdGVtIGhlYWRl ciBmaWxlIHNldCB0byB1c2UgYW4gQU5TSS1jb25mb3JtYW50ICJjbGVhbiIgbmFtZXNwYWNlLgot LkVsCi0uU2ggU0VFIEFMU08KLS5YciBjYyAxCi0uU2ggU1RBTkRBUkRTCi0uTm0KLWNvbmZvcm1z IHRvCi0uU3QgLXAxMDAzLjItOTIgLgotLlNoIEhJU1RPUlkKLS5ObQotZmlyc3QgYXBwZWFyZWQg aW4KLS5OeCA1LjAgLgotLlNoIEJVR1MKLVNpbmNlCi0uTm0KLWlzIGEgc2hlbGwgd3JhcHBlciBz Y3JpcHQgdG8KLS5BciBjYyAsCi1jb21waWxlIGVycm9ycyBhcmUgcHJlZml4ZWQgYnkgImNjOiIu CmRpZmYgLS1naXQgYS9zcmNwa2dzL2xpYmdjY2ppdC9maWxlcy9jOTkuc2ggYi9zcmNwa2dzL2xp YmdjY2ppdC9maWxlcy9jOTkuc2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE1Y2Fi NDdjNzQ4Li4wMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2xpYmdjY2ppdC9maWxlcy9jOTkuc2gK KysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLSMhL2Jpbi9zaAotZXhlYyAvdXNyL2Jpbi9j YyAtc3RkPWM5OSAiJEAiCmRpZmYgLS1naXQgYS9zcmNwa2dzL2xpYmdjY2ppdC9maWxlcy9nY2Nn by1tdXNsLnBhdGNoIGIvc3JjcGtncy9saWJnY2NqaXQvZmlsZXMvZ2NjZ28tbXVzbC5wYXRjaApk ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTJjZTRiMmIwNDYuLjAwMDAwMDAwMDAwCi0t LSBhL3NyY3BrZ3MvbGliZ2Njaml0L2ZpbGVzL2djY2dvLW11c2wucGF0Y2gKKysrIC9kZXYvbnVs bApAQCAtMSwyMjIgKzAsMCBAQAotVGhpcyBpcyBub3QgYW1vbmcgdGhlIG5vcm1hbCBwYXRjaGVz IGFzIHRoZXNlIGNoYW5nZXMgYXJlIG11c2wgc3BlY2lmaWMgYW5kCi10aGVyZSBpcyBubyB3YXkg dG8gZWFzaWx5IGNvbmRpdGlvbmFsaXplIGl0IGluIHNvdXJjZSBmb3Igc29tZSBvZiB0aGUgY2hh bmdlcy4KLQotQWRkZWQgYnkgcTY2OiBydW50aW1lLmggbm93IHVzZXMgbGlidWNvbnRleHRfIHBy ZWZpeGVkIEFQSXMgdG8gYWxsb3cgYnVpbGQKLXdpdGggZnJlZXN0YW5kaW5nIHZlcnNpb25zIG9m IGxpYnVjb250ZXh0Ci0KLVNvdXVyY2U6IEFkw6lsaWUgTGludXgsIHE2NgotVVJMOiBodHRwczov L2NvZGUuZm94a2l0LnVzL2FkZWxpZS9wYWNrYWdlcy90cmVlL21hc3Rlci9zeXN0ZW0vZ2NjCi0K LS0tLSBNYWtlZmlsZS5pbgotKysrIE1ha2VmaWxlLmluCi1AQCAtNDYzMjUsNyArNDYzMjUsNyBA QCBjb25maWd1cmUtdGFyZ2V0LWxpYmdvOgotIAllc2FjOyBcCi0gCW1vZHVsZV9zcmNkaXI9bGli Z287IFwKLSAJcm0gLWYgbm8tc3VjaC1maWxlIHx8IDogOyBcCi0tCUNPTkZJR19TSVRFPW5vLXN1 Y2gtZmlsZSAkKFNIRUxMKSBcCi0rCUNPTkZJR19TSVRFPW5vLXN1Y2gtZmlsZSBMSUJTPSItbHVj b250ZXh0ICQkTElCUyIgJChTSEVMTCkgXAotIAkgICQkcy8kJG1vZHVsZV9zcmNkaXIvY29uZmln dXJlIFwKLSAJICAtLXNyY2Rpcj0kJHt0b3BkaXJ9LyQkbW9kdWxlX3NyY2RpciBcCi0gCSAgJChU QVJHRVRfQ09ORklHQVJHUykgLS1idWlsZD0ke2J1aWxkX2FsaWFzfSAtLWhvc3Q9JHt0YXJnZXRf YWxpYXN9IFwKLS0tLSBsaWJnby9ta3N5c2luZm8uc2gKLSsrKyBsaWJnby9ta3N5c2luZm8uc2gK LUBAIC0zNzksMTEgKzM3OSw3IEBAIGZpCi0gIyBTb21lIGJhc2ljIHR5cGVzLgotIGVjaG8gJ3R5 cGUgU2l6ZV90IF9zaXplX3QnID4+ICR7T1VUfQotIGVjaG8gInR5cGUgU3NpemVfdCBfc3NpemVf dCIgPj4gJHtPVVR9Ci0taWYgZ3JlcCAnXmNvbnN0IF9IQVZFX09GRjY0X1QgPSAnIGdlbi1zeXNp bmZvLmdvID4gL2Rldi9udWxsIDI+JjE7IHRoZW4KLS0gIGVjaG8gInR5cGUgT2Zmc2V0X3QgX29m ZjY0X3QiID4+ICR7T1VUfQotLWVsc2UKLS0gIGVjaG8gInR5cGUgT2Zmc2V0X3QgX29mZl90IiA+ PiAke09VVH0KLS1maQotK2VjaG8gInR5cGUgT2Zmc2V0X3QgX29mZl90IiA+PiAke09VVH0KLSBl Y2hvICJ0eXBlIE1vZGVfdCBfbW9kZV90IiA+PiAke09VVH0KLSBlY2hvICJ0eXBlIFBpZF90IF9w aWRfdCIgPj4gJHtPVVR9Ci0gZWNobyAidHlwZSBVaWRfdCBfdWlkX3QiID4+ICR7T1VUfQotLS0t IGxpYmdvL2dvL3J1bnRpbWUvbWVtX2djY2dvLmdvCi0rKysgbGliZ28vZ28vcnVudGltZS9tZW1f Z2NjZ28uZ28KLUBAIC0xNiw3ICsxNiw3IEBAIGltcG9ydCAoCi0gLy9nbzpsaW5rbmFtZSBzeXNG cmVlIHJ1bnRpbWUuc3lzRnJlZQotIAotIC8vZXh0ZXJuIG1tYXAKLS1mdW5jIHN5c01tYXAoYWRk ciB1bnNhZmUuUG9pbnRlciwgbiB1aW50cHRyLCBwcm90LCBmbGFncywgZmQgaW50MzIsIG9mZiB1 aW50cHRyKSB1bnNhZmUuUG9pbnRlcgotK2Z1bmMgc3lzTW1hcChhZGRyIHVuc2FmZS5Qb2ludGVy LCBuIHVpbnRwdHIsIHByb3QsIGZsYWdzLCBmZCBpbnQzMiwgb2ZmIGludDY0KSB1bnNhZmUuUG9p bnRlcgotIAotIC8vZXh0ZXJuIG11bm1hcAotIGZ1bmMgbXVubWFwKGFkZHIgdW5zYWZlLlBvaW50 ZXIsIGxlbmd0aCB1aW50cHRyKSBpbnQzMgotQEAgLTM4LDcgKzM4LDcgQEAgZnVuYyBpbml0KCkg ewotIAl9Ci0gfQotIAotLWZ1bmMgbW1hcChhZGRyIHVuc2FmZS5Qb2ludGVyLCBuIHVpbnRwdHIs IHByb3QsIGZsYWdzLCBmZCBpbnQzMiwgb2ZmIHVpbnRwdHIpICh1bnNhZmUuUG9pbnRlciwgaW50 KSB7Ci0rZnVuYyBtbWFwKGFkZHIgdW5zYWZlLlBvaW50ZXIsIG4gdWludHB0ciwgcHJvdCwgZmxh Z3MsIGZkIGludDMyLCBvZmYgaW50NjQpICh1bnNhZmUuUG9pbnRlciwgaW50KSB7Ci0gCXAgOj0g c3lzTW1hcChhZGRyLCBuLCBwcm90LCBmbGFncywgZmQsIG9mZikKLSAJaWYgdWludHB0cihwKSA9 PSBfTUFQX0ZBSUxFRCB7Ci0gCQlyZXR1cm4gbmlsLCBlcnJubygpCi0tLS0gbGliZ28vZ28vcnVu dGltZS9zaWduYWxfZ2NjZ28uZ28KLSsrKyBsaWJnby9nby9ydW50aW1lL3NpZ25hbF9nY2Nnby5n bwotQEAgLTExMSw3ICsxMTEsNyBAQCBmdW5jIGdldHNpZyhpIHVpbnQzMikgdWludHB0ciB7Ci0g CWlmIHNpZ2FjdGlvbihpLCBuaWwsICZzYSkgPCAwIHsKLSAJCS8vIE9uIEdOVS9MaW51eCBnbGli YyByZWplY3RzIGF0dGVtcHRzIHRvIGNhbGwKLSAJCS8vIHNpZ2FjdGlvbiB3aXRoIHNpZ25hbCAz MiAoU0lHQ0FOQ0VMKSBvciAzMyAoU0lHU0VUWElEKS4KLS0JCWlmIEdPT1MgPT0gImxpbnV4IiAm JiAoaSA9PSAzMiB8fCBpID09IDMzKSB7Ci0rCQlpZiBHT09TID09ICJsaW51eCIgJiYgKGkgPT0g MzIgfHwgaSA9PSAzMyB8fCBpID09IDM0KSB7Ci0gCQkJcmV0dXJuIF9TSUdfREZMCi0gCQl9Ci0g CQl0aHJvdygic2lnYWN0aW9uIHJlYWQgZmFpbHVyZSIpCi0tLS0gbGliZ28vZ28vc3lzY2FsbC9l cnJzdHIuZ28KLSsrKyBsaWJnby9nby9zeXNjYWxsL2VycnN0ci5nbwotQEAgLTUsNyArNSw2IEBA Ci0gLy8gbGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotIAot IC8vICtidWlsZCAhaHVyZAotLS8vICtidWlsZCAhbGludXgKLSAKLSBwYWNrYWdlIHN5c2NhbGwK LSAKLS0tLSBsaWJnby9nby9zeXNjYWxsL2VycnN0cl9nbGliYy5nbwotKysrIC9kZXYvbnVsbAot QEAgLTEsMzMgKzAsMCBAQAotLS8vIGVycnN0cl9nbGliYy5nbyAtLSBHTlUvTGludXggYW5kIEdO VS9IdXJkIHNwZWNpZmljIGVycm9yIHN0cmluZ3MuCi0tCi0tLy8gQ29weXJpZ2h0IDIwMTAgVGhl IEdvIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0tLy8gVXNlIG9mIHRoaXMgc291cmNl IGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUKLS0vLyBsaWNlbnNlIHRoYXQgY2FuIGJl IGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0tCi0tLy8gV2UgdXNlIHRoaXMgcmF0aGVyIHRo YW4gZXJyc3RyLmdvIGJlY2F1c2Ugb24gR05VL0xpbnV4IHN0ZXJyb3JfcgotLS8vIHJldHVybnMg YSBwb2ludGVyIHRvIHRoZSBlcnJvciBtZXNzYWdlLCBhbmQgbWF5IG5vdCB1c2UgYnVmIGF0IGFs bC4KLS0KLS0vLyArYnVpbGQgaHVyZCBsaW51eAotLQotLXBhY2thZ2Ugc3lzY2FsbAotLQotLWlt cG9ydCAidW5zYWZlIgotLQotLS8vc3lzbmIJc3RyZXJyb3JfcihlcnJudW0gaW50LCBiIFtdYnl0 ZSkgKGVycnN0ciAqYnl0ZSkKLS0vL3N0cmVycm9yX3IoZXJybnVtIF9DX2ludCwgYiAqYnl0ZSwg bGVuIFNpemVfdCkgKmJ5dGUKLS0KLS1mdW5jIEVycnN0cihlcnJudW0gaW50KSBzdHJpbmcgewot LQlhIDo9IG1ha2UoW11ieXRlLCAxMjgpCi0tCXAgOj0gc3RyZXJyb3JfcihlcnJudW0sIGEpCi0t CWIgOj0gKCpbMTAwMF1ieXRlKSh1bnNhZmUuUG9pbnRlcihwKSkKLS0JaSA6PSAwCi0tCWZvciBi W2ldICE9IDAgewotLQkJaSsrCi0tCX0KLS0JLy8gTG93ZXJjYXNlIGZpcnN0IGxldHRlcjogQmFk IC0+IGJhZCwgYnV0IFNUUkVBTSAtPiBTVFJFQU0uCi0tCWlmIGkgPiAxICYmICdBJyA8PSBiWzBd ICYmIGJbMF0gPD0gJ1onICYmICdhJyA8PSBiWzFdICYmIGJbMV0gPD0gJ3onIHsKLS0JCWMgOj0g YlswXSArICdhJyAtICdBJwotLQkJcmV0dXJuIHN0cmluZyhjKSArIHN0cmluZyhiWzE6aV0pCi0t CX0KLS0JcmV0dXJuIHN0cmluZyhiWzppXSkKLS19Ci0tLS0gbGliZ28vZ28vc3lzY2FsbC9saWJj YWxsX2xpbnV4LmdvCi0rKysgbGliZ28vZ28vc3lzY2FsbC9saWJjYWxsX2xpbnV4LmdvCi1AQCAt MjA2LDE5ICsyMDYsMTkgQEAgZnVuYyBHZXR0aWQoKSAodGlkIGludCkgewotIC8vc3lzCVNldHhh dHRyKHBhdGggc3RyaW5nLCBhdHRyIHN0cmluZywgZGF0YSBbXWJ5dGUsIGZsYWdzIGludCkgKGVy ciBlcnJvcikKLSAvL3NldHhhdHRyKHBhdGggKmJ5dGUsIG5hbWUgKmJ5dGUsIHZhbHVlICpieXRl LCBzaXplIFNpemVfdCwgZmxhZ3MgX0NfaW50KSBfQ19pbnQKLSAKLS0vL3N5cwlzcGxpY2UocmZk IGludCwgcm9mZiAqX2xvZmZfdCwgd2ZkIGludCwgd29mZiAqX2xvZmZfdCwgbGVuIGludCwgZmxh Z3MgaW50KSAobiBpbnQ2NCwgZXJyIGVycm9yKQotLS8vc3BsaWNlKHJmZCBfQ19pbnQsIHJvZmYg Kl9sb2ZmX3QsIHdmZCBfQ19pbnQsIHdvZmYgKl9sb2ZmX3QsIGxlbiBTaXplX3QsIGZsYWdzIF9D X3VpbnQpIFNzaXplX3QKLSsvL3N5cwlzcGxpY2UocmZkIGludCwgcm9mZiAqX29mZl90LCB3ZmQg aW50LCB3b2ZmICpfb2ZmX3QsIGxlbiBpbnQsIGZsYWdzIGludCkgKG4gaW50NjQsIGVyciBlcnJv cikKLSsvL3NwbGljZShyZmQgX0NfaW50LCByb2ZmICpfb2ZmX3QsIHdmZCBfQ19pbnQsIHdvZmYg Kl9vZmZfdCwgbGVuIFNpemVfdCwgZmxhZ3MgX0NfdWludCkgU3NpemVfdAotIGZ1bmMgU3BsaWNl KHJmZCBpbnQsIHJvZmYgKmludDY0LCB3ZmQgaW50LCB3b2ZmICppbnQ2NCwgbGVuIGludCwgZmxh Z3MgaW50KSAobiBpbnQ2NCwgZXJyIGVycm9yKSB7Ci0tCXZhciBscm9mZiBfbG9mZl90Ci0tCXZh ciBwbHJvZmYgKl9sb2ZmX3QKLSsJdmFyIGxyb2ZmIF9vZmZfdAotKwl2YXIgcGxyb2ZmICpfb2Zm X3QKLSAJaWYgcm9mZiAhPSBuaWwgewotLQkJbHJvZmYgPSBfbG9mZl90KCpyb2ZmKQotKwkJbHJv ZmYgPSBfb2ZmX3QoKnJvZmYpCi0gCQlwbHJvZmYgPSAmbHJvZmYKLSAJfQotLQl2YXIgbHdvZmYg X2xvZmZfdAotLQl2YXIgcGx3b2ZmICpfbG9mZl90Ci0rCXZhciBsd29mZiBfb2ZmX3QKLSsJdmFy IHBsd29mZiAqX29mZl90Ci0gCWlmIHdvZmYgIT0gbmlsIHsKLS0JCWx3b2ZmID0gX2xvZmZfdCgq d29mZikKLSsJCWx3b2ZmID0gX29mZl90KCp3b2ZmKQotIAkJcGx3b2ZmID0gJmx3b2ZmCi0gCX0K LSAJbiwgZXJyID0gc3BsaWNlKHJmZCwgcGxyb2ZmLCB3ZmQsIHBsd29mZiwgbGVuLCBmbGFncykK LS0tLSBsaWJnby9ta3NpZ3RhYi5zaAotKysrIGxpYmdvL21rc2lndGFiLnNoCi1AQCAtODIsNyAr ODIsNyBAQCBjaGVja3NpZyBfU0lHUFdSICAgICAne19TaWdOb3RpZnksICJTSUdQV1I6IHBvd2Vy IGZhaWx1cmUgcmVzdGFydCJ9JwotIGNoZWNrc2lnIF9TSUdFTVQgICAgICd7X1NpZ1Rocm93LCAi U0lHRU1UOiBlbXVsYXRlIGluc3RydWN0aW9uIGV4ZWN1dGVkIn0nCi0gY2hlY2tzaWcgX1NJR0lO Rk8gICAgJ3tfU2lnTm90aWZ5LCAiU0lHSU5GTzogc3RhdHVzIHJlcXVlc3QgZnJvbSBrZXlib2Fy ZCJ9JwotIGNoZWNrc2lnIF9TSUdUSFIgICAgICd7X1NpZ05vdGlmeSwgIlNJR1RIUjogcmVzZXJ2 ZWQifScKLS1jaGVja3NpZyBfU0lHUE9MTCAgICAne19TaWdOb3RpZnksICJTSUdQT0xMOiBwb2xs YWJsZSBldmVudCBvY2N1cnJlZCJ9JwotKyNjaGVja3NpZyBfU0lHUE9MTCAgICAne19TaWdOb3Rp ZnksICJTSUdQT0xMOiBwb2xsYWJsZSBldmVudCBvY2N1cnJlZCJ9JwotIGNoZWNrc2lnIF9TSUdX QUlUSU5HICd7X1NpZ05vdGlmeSwgIlNJR1dBSVRJTkc6IHJlc2VydmVkIHNpZ25hbCBubyBsb25n ZXIgdXNlZCBieSJ9JwotIGNoZWNrc2lnIF9TSUdMV1AgICAgICd7X1NpZ05vdGlmeSwgIlNJR0xX UDogcmVzZXJ2ZWQgc2lnbmFsIG5vIGxvbmdlciB1c2VkIGJ5In0nCi0gY2hlY2tzaWcgX1NJR0ZS RUVaRSAgJ3tfU2lnTm90aWZ5LCAiU0lHRlJFRVpFOiBzcGVjaWFsIHNpZ25hbCB1c2VkIGJ5IENQ UiJ9JwotQEAgLTk1LDEwICs5NSwxMiBAQCBjaGVja3NpZyBfU0lHTE9TVCAnICAge19TaWdOb3Rp ZnksICJTSUdMT1NUOiByZXNvdXJjZSBsb3N0IChTdW4pOyBzZXJ2ZXIgZGllZCAoRwotIAotICMg U3BlY2lhbCBoYW5kbGluZyBvZiBzaWduYWxzIDMyIGFuZCAzMyBvbiBHTlUvTGludXggc3lzdGVt cywKLSAjIGJlY2F1c2UgdGhleSBhcmUgc3BlY2lhbCB0byBnbGliYy4KLSsjIFNpZ25hbCAzNCBp cyBhZGRpdGlvbmFsbHkgc3BlY2lhbCB0byBMaW51eCBzeXN0ZW1zIHdpdGggbXVzbC4KLSBpZiB0 ZXN0ICIke0dPT1N9IiA9ICJsaW51eCI7IHRoZW4KLS0gICAgU0lHTElTVD0kU0lHTElTVCJfMzJf XzMzXyIKLSsgICAgU0lHTElTVD0kU0lHTElTVCJfMzJfXzMzX18zNF8iCi0gICAgIGVjaG8gJwkz Mjoge19TaWdTZXRTdGFjayArIF9TaWdVbmJsb2NrLCAic2lnbmFsIDMyIn0sIC8qIFNJR0NBTkNF TDsgc2VlIGlzc3VlIDY5OTcgKi8nCi0gICAgIGVjaG8gJwkzMzoge19TaWdTZXRTdGFjayArIF9T aWdVbmJsb2NrLCAic2lnbmFsIDMzIn0sIC8qIFNJR1NFVFhJRDsgc2VlIGlzc3VlcyAzODcxLCA5 NDAwLCAxMjQ5OCAqLycKLSsgICAgZWNobyAnCTM0OiB7X1NpZ1NldFN0YWNrICsgX1NpZ1VuYmxv Y2ssICJzaWduYWwgMzQifSwgLyogc2VlIGlzc3VlIDMwMDYyICovJwotIGZpCi0gCi0gaWYgdGVz dCAiJHtHT09TfSIgPSAiYWl4IjsgdGhlbgotLS0tIGxpYmdvL3J1bnRpbWUvZ28tc2lnbmFsLmMJ MjAyMC0wNy0yMyAwODozNToxOS4wMDQ0MDI4NDAgKzAyMDAKLSsrKyAtCTIwMjAtMDgtMDkgMjE6 MzU6NTQuMzUyODg2MjMyICswMjAwCi1AQCAtMjI0LDcgKzIyNCwxMSBAQAotICNlbGlmIGRlZmlu ZWQoX19hbHBoYV9fKSAmJiBkZWZpbmVkKF9fbGludXhfXykKLSAJcmV0LnNpZ3BjID0gKCh1Y29u dGV4dF90KikoY29udGV4dCkpLT51Y19tY29udGV4dC5zY19wYzsKLSAjZWxpZiBkZWZpbmVkKF9f UFBDX18pICYmIGRlZmluZWQoX19saW51eF9fKQotLQlyZXQuc2lncGMgPSAoKHVjb250ZXh0X3Qq KShjb250ZXh0KSktPnVjX21jb250ZXh0LnJlZ3MtPm5pcDsKLSsJI2lmZGVmIF9fUFBDNjRfXwot KwkJcmV0LnNpZ3BjID0gKCh1Y29udGV4dF90KikoY29udGV4dCkpLT51Y19tY29udGV4dC5ncF9y ZWdzWzMyXTsKLSsJI2Vsc2UKLSsJCXJldC5zaWdwYyA9ICgodWNvbnRleHRfdCopKGNvbnRleHQp KS0+dWNfbWNvbnRleHQuZ3JlZ3NbMzJdOwotKwkjZW5kaWYKLSAjZWxpZiBkZWZpbmVkKF9fUFBD X18pICYmIGRlZmluZWQoX0FJWCkKLSAJcmV0LnNpZ3BjID0gKCh1Y29udGV4dF90KikoY29udGV4 dCkpLT51Y19tY29udGV4dC5qbXBfY29udGV4dC5pYXI7Ci0gI2VsaWYgZGVmaW5lZChfX2FhcmNo NjRfXykgJiYgZGVmaW5lZChfX2xpbnV4X18pCi1AQCAtMzMzLDcgKzMzNyw3IEBACi0gCQlydW50 aW1lX3ByaW50Zigic3AgICVYXG4iLCBtLT5zY19yZWdzWzMwXSk7Ci0gCQlydW50aW1lX3ByaW50 ZigicGMgICVYXG4iLCBtLT5zY19wYyk7Ci0gCSAgfQotLSNlbGlmIGRlZmluZWQoX19QUENfXykg JiYgZGVmaW5lZChfX0xJVFRMRV9FTkRJQU5fXykgJiYgZGVmaW5lZChfX2xpbnV4X18pCi0rI2Vs aWYgZGVmaW5lZChfX1BQQ19fKSAmJiBkZWZpbmVkKF9fTElUVExFX0VORElBTl9fKSAmJiBkZWZp bmVkKF9fbGludXhfXykgJiYgZGVmaW5lZChfX0dMSUJDX18pCi0gCSAgewotIAkJbWNvbnRleHRf dCAqbSA9ICYoKHVjb250ZXh0X3QqKShjb250ZXh0KSktPnVjX21jb250ZXh0OwotIAkJaW50IGk7 Ci0tLS0gbGliZ28vcnVudGltZS9ydW50aW1lLmgKLSsrKyBsaWJnby9ydW50aW1lL3J1bnRpbWUu aAotQEAgLTUwMCwxMCArNTAwLDEzIEBAIGludCBfX2dvX3NldGNvbnRleHQoX19nb19jb250ZXh0 X3QqKTsKLSB2b2lkIF9fZ29fbWFrZWNvbnRleHQoX19nb19jb250ZXh0X3QqLCB2b2lkICgqKSgp LCB2b2lkKiwgc2l6ZV90KTsKLSAjZWxzZQotICNkZWZpbmUgX19nb19jb250ZXh0X3QJdWNvbnRl eHRfdAotLSNkZWZpbmUgX19nb19nZXRjb250ZXh0KGMpCWdldGNvbnRleHQoYykKLS0jZGVmaW5l IF9fZ29fc2V0Y29udGV4dChjKQlzZXRjb250ZXh0KGMpCi0raW50ICBsaWJ1Y29udGV4dF9nZXRj b250ZXh0KF9fZ29fY29udGV4dF90ICopOwotK3ZvaWQgbGlidWNvbnRleHRfbWFrZWNvbnRleHQo X19nb19jb250ZXh0X3QgKiwgdm9pZCAoKikoKSwgaW50LCAuLi4pOwotK2ludCAgbGlidWNvbnRl eHRfc2V0Y29udGV4dChjb25zdCBfX2dvX2NvbnRleHRfdCAqKTsKLSsjZGVmaW5lIF9fZ29fZ2V0 Y29udGV4dChjKQlsaWJ1Y29udGV4dF9nZXRjb250ZXh0KGMpCi0rI2RlZmluZSBfX2dvX3NldGNv bnRleHQoYykJbGlidWNvbnRleHRfc2V0Y29udGV4dChjKQotICNkZWZpbmUgX19nb19tYWtlY29u dGV4dChjLCBmbiwgc3AsIHNpemUpIFwKLS0JKChjKS0+dWNfc3RhY2suc3Nfc3AgPSBzcCwgKGMp LT51Y19zdGFjay5zc19zaXplID0gc2l6ZSwgbWFrZWNvbnRleHQoYywgZm4sIDApKQotKwkoKGMp LT51Y19zdGFjay5zc19zcCA9IHNwLCAoYyktPnVjX3N0YWNrLnNzX3NpemUgPSBzaXplLCBsaWJ1 Y29udGV4dF9tYWtlY29udGV4dChjLCBmbiwgMCkpCi0gI2VuZGlmCi0gCi0gLy8gU3ltYm9scyBk ZWZpbmVkIGJ5IHRoZSBsaW5rZXIuCi0tLS0gbGliZ28vc3lzaW5mby5jCi0rKysgbGliZ28vc3lz aW5mby5jCi1AQCAtNzMsOSArNzMsNiBAQAotICNpbmNsdWRlIDxzeXMvdGltZXMuaD4KLSAjaW5j bHVkZSA8c3lzL3dhaXQuaD4KLSAjaW5jbHVkZSA8c3lzL3VuLmg+Ci0tI2lmIGRlZmluZWQoSEFW RV9TWVNfVVNFUl9IKQotLSNpbmNsdWRlIDxzeXMvdXNlci5oPgotLSNlbmRpZgotICNpZiBkZWZp bmVkKEhBVkVfU1lTX1VUU05BTUVfSCkKLSAjaW5jbHVkZSA8c3lzL3V0c25hbWUuaD4KLSAjZW5k aWYKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbGliZ2Njaml0L2ZpbGVzL2xpYmduYXJsLW11c2wucGF0 Y2ggYi9zcmNwa2dzL2xpYmdjY2ppdC9maWxlcy9saWJnbmFybC1tdXNsLnBhdGNoCmluZGV4IGNh YjI5MWU4OTNjLi4zM2NjYzk3ODlmOSAxMjAwMDAKLS0tIGEvc3JjcGtncy9saWJnY2NqaXQvZmls ZXMvbGliZ25hcmwtbXVzbC5wYXRjaAorKysgYi9zcmNwa2dzL2xpYmdjY2ppdC9maWxlcy9saWJn bmFybC1tdXNsLnBhdGNoCkBAIC0xICsxIEBACi0uLi9nY2MvZmlsZXMvbGliZ25hcmwtbXVzbC5w YXRjaApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKy4uLy4uL2djYy9maWxlcy9saWJnbmFy bC1tdXNsLnBhdGNoClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9saWJnY2NqaXQvZmlsZXMvbGlic3NwLW11c2wucGF0Y2ggYi9zcmNwa2dzL2xpYmdjY2pp dC9maWxlcy9saWJzc3AtbXVzbC5wYXRjaAppbmRleCBiZjQzYjA5NmU4Yi4uMzdhNzQ4OTM2MGYg MTIwMDAwCi0tLSBhL3NyY3BrZ3MvbGliZ2Njaml0L2ZpbGVzL2xpYnNzcC1tdXNsLnBhdGNoCisr KyBiL3NyY3BrZ3MvbGliZ2Njaml0L2ZpbGVzL2xpYnNzcC1tdXNsLnBhdGNoCkBAIC0xICsxIEBA Ci0uLi9nY2MvZmlsZXMvbGlic3NwLW11c2wucGF0Y2gKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm aWxlCisuLi8uLi9nY2MvZmlsZXMvbGlic3NwLW11c2wucGF0Y2gKXCBObyBuZXdsaW5lIGF0IGVu ZCBvZiBmaWxlCg== --===============8872422623923977307==--