From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) 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.2 Received: from inbox.vuxu.org (localhost [IPv6:::1]) by inbox.vuxu.org (OpenSMTPD) with ESMTP id 2d73df39 for ; Wed, 4 Sep 2019 21:06:09 +0000 (UTC) Content-Type: multipart/mixed; boundary="===============3527276485990148944==" MIME-Version: 1.0 Subject: Re: [PR PATCH] [Updated] WIP: Openjdk 11 To: ml@inbox.vuxu.org From: voidlinux-github@inbox.vuxu.org Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Wed, 04 Sep 2019 23:06:08 +0200 Message-ID: <20190904210608.SAO9qYi6wKrL5YhPIuo3krJwJwfxP-23ITu-2FNyv8Y@z> GitHub notification mails are now in MIME to allow UTF8. --===============3527276485990148944== MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkga251c2JhdW0gYWdhaW5zdCBtYXN0 ZXIgb24gdGhlIHZvaWQtcGFja2FnZXMgcmVwb3NpdG9yeQoKaHR0cHM6Ly9naXRodWIuY29tL2tu dXNiYXVtL3ZvaWQtcGFja2FnZXMgb3Blbmpkay0xMQpodHRwczovL2dpdGh1Yi5jb20vdm9pZC1s aW51eC92b2lkLXBhY2thZ2VzL3B1bGwvMTM3MjEKCldJUDogT3BlbmpkayAxMQpJJ2QgbXVjaCBy YXRoZXIgaGF2ZSBAcTY2J3Mgc29sdXRpb24gKCMzMjM3KSBidXQgdGhpcyBzZWVtcyB0byBidWls ZCBmb3IgYXQgbGVhc3QgeDg2XzY0LCBpNjg2LCBhYXJjaDY0Lg0KDQpUaGlzIGJvb3RzdHJhcHMg b3Blbmpkay0xMSBmcm9tIG9wZW5qZGstMTEtYmluLCB3aGljaCBpcyB0aGUgYmluYXJ5IHJlZmVy ZW5jZSBpbXBsZW1lbnRhdGlvbi4NCg0KVHJhdmlzIHdpbGwgZmFpbCBiZWNhdXNlIHRoZSBidWls ZHMgdGFrZSB0b28gbG9uZywgYnV0IEkndmUgdGVzdGVkIG9uIG15IGxvY2FsIG1hY2hpbmUgYW5k IHRoZXkgYnVpbGQuIAoKQSBwYXRjaCBmaWxlIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQt bGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzEzNzIxLnBhdGNoIGlzIGF0dGFjaGVk --===============3527276485990148944== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-openjdk-11-13721.patch" RnJvbSA5YmQ0Y2Q1Yzk5NTNjNDNkNGVhMGJlYTg5MWI1OTZmN2Y0ODc5ZWZhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBLeWxlIE51c2JhdW0gPGt5bGVudXNiYXVtQGdyYW51bGFyLmFn PgpEYXRlOiBGcmksIDE2IEF1ZyAyMDE5IDE3OjIwOjEzIC0wNTAwClN1YmplY3Q6IFtQQVRDSCAx LzNdIE5ldyBwYWNrYWdlOiBvcGVuamRrLTExLWJpbi0xMSsyOAoKLS0tCiBzcmNwa2dzL29wZW5q ZGstMTEtYmluL3RlbXBsYXRlIHwgNzMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr CiAxIGZpbGUgY2hhbmdlZCwgNzMgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNy Y3BrZ3Mvb3Blbmpkay0xMS1iaW4vdGVtcGxhdGUKCmRpZmYgLS1naXQgYS9zcmNwa2dzL29wZW5q ZGstMTEtYmluL3RlbXBsYXRlIGIvc3JjcGtncy9vcGVuamRrLTExLWJpbi90ZW1wbGF0ZQpuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNjRkZmFhZWYyMjkKLS0tIC9kZXYv bnVsbAorKysgYi9zcmNwa2dzL29wZW5qZGstMTEtYmluL3RlbXBsYXRlCkBAIC0wLDAgKzEsNzMg QEAKKyMgVGVtcGxhdGUgZmlsZSBmb3IgJ29wZW5qZGstMTEtYmluJworcGtnbmFtZT1vcGVuamRr LTExLWJpbgordmVyc2lvbj0xMSsyOAorcmV2aXNpb249MQorYXJjaHM9Ing4Nl82NCIKK3dya3Ny Yz1qZGstMTEKK3Nob3J0X2Rlc2M9Ik9mZmljaWFsIFJlZmVyZW5jZSBJbXBsZW1lbnRhdGlvbiBm b3IgSmF2YSBTRSAxMSIKK21haW50YWluZXI9Ikt5bGUgTnVzYmF1bSA8a251c2JhdW0rdm9pZEBz ZGYub3JnPiIKK2xpY2Vuc2U9IkdQTC0yLjAtb3ItbGF0ZXIiCitob21lcGFnZT0iaHR0cHM6Ly9q ZGsuamF2YS5uZXQvamF2YS1zZS1yaS8xMSIKK2Rpc3RmaWxlcz0iaHR0cHM6Ly9kb3dubG9hZC5q YXZhLm5ldC9vcGVuamRrL2pkazExL3JpL29wZW5qZGstJHt2ZXJzaW9ufV9saW51eC14NjRfYmlu LnRhci5neiIKK2NoZWNrc3VtPTM3ODRjZmM0NjcwZjBkNGM1NDgyNjA0YzdjNTEzYmViMWE5MmIw MDVmNTY5ZGY5YmYxMDBlOGJlZjY2MTBmMmUKK25vcGllPXRydWUKKworYWx0ZXJuYXRpdmVzPSIK KyBqYXZhOi91c3IvYmluL2phdmE6L3Vzci9saWIvanZtL29wZW5qZGstMTEtYmluL2Jpbi9qYXZh CisgamF2YTovdXNyL2Jpbi9qYXZhd3M6L3Vzci9saWIvanZtL29wZW5qZGstMTEtYmluL2Jpbi9q YXZhd3MKKyBqYXZhOi91c3IvYmluL2pjb250cm9sOi91c3IvbGliL2p2bS9vcGVuamRrLTExLWJp bi9iaW4vamNvbnRyb2wKKyBqYXZhOi91c3IvYmluL2pqczovdXNyL2xpYi9qdm0vb3Blbmpkay0x MS1iaW4vYmluL2pqcworIGphdmE6L3Vzci9iaW4va2V5dG9vbDovdXNyL2xpYi9qdm0vb3Blbmpk ay0xMS1iaW4vYmluL2tleXRvb2wKKyBqYXZhOi91c3IvYmluL29yYmQ6L3Vzci9saWIvanZtL29w ZW5qZGstMTEtYmluL2Jpbi9vcmJkCisgamF2YTovdXNyL2Jpbi9wYWNrMjAwOi91c3IvbGliL2p2 bS9vcGVuamRrLTExLWJpbi9iaW4vcGFjazIwMAorIGphdmE6L3Vzci9iaW4vcG9saWN5dG9vbDov dXNyL2xpYi9qdm0vb3Blbmpkay0xMS1iaW4vYmluL3BvbGljeXRvb2wKKyBqYXZhOi91c3IvYmlu L3JtaWQ6L3Vzci9saWIvanZtL29wZW5qZGstMTEtYmluL2Jpbi9ybWlkCisgamF2YTovdXNyL2Jp bi9ybWlyZWdpc3RyeTovdXNyL2xpYi9qdm0vb3Blbmpkay0xMS1iaW4vYmluL3JtaXJlZ2lzdHJ5 CisgamF2YTovdXNyL2Jpbi9zZXJ2ZXJ0b29sOi91c3IvbGliL2p2bS9vcGVuamRrLTExLWJpbi9i aW4vc2VydmVydG9vbAorIGphdmE6L3Vzci9iaW4vdG5hbWVzZXJ2Oi91c3IvbGliL2p2bS9vcGVu amRrLTExLWJpbi9iaW4vdG5hbWVzZXJ2CisgamF2YTovdXNyL2Jpbi91bnBhY2syMDA6L3Vzci9s aWIvanZtL29wZW5qZGstMTEtYmluL2Jpbi91bnBhY2syMDAKKworIGpkazovdXNyL2Jpbi9Db250 cm9sUGFuZWw6L3Vzci9saWIvanZtL29wZW5qZGstMTEtYmluL2Jpbi9Db250cm9sUGFuZWwKKyBq ZGs6L3Vzci9iaW4vYXBwbGV0dmlld2VyOi91c3IvbGliL2p2bS9vcGVuamRrLTExLWJpbi9iaW4v YXBwbGV0dmlld2VyCisgamRrOi91c3IvYmluL2V4dGNoZWNrOi91c3IvbGliL2p2bS9vcGVuamRr LTExLWJpbi9iaW4vZXh0Y2hlY2sKKyBqZGs6L3Vzci9iaW4vaWRsajovdXNyL2xpYi9qdm0vb3Bl bmpkay0xMS1iaW4vYmluL2lkbGoKKyBqZGs6L3Vzci9iaW4vamFyOi91c3IvbGliL2p2bS9vcGVu amRrLTExLWJpbi9iaW4vamFyCisgamRrOi91c3IvYmluL2phcnNpZ25lcjovdXNyL2xpYi9qdm0v b3Blbmpkay0xMS1iaW4vYmluL2phcnNpZ25lcgorIGpkazovdXNyL2Jpbi9qYXZhLXJtaS5jZ2k6 L3Vzci9saWIvanZtL29wZW5qZGstMTEtYmluL2Jpbi9qYXZhLXJtaS5jZ2kKKyBqZGs6L3Vzci9i aW4vamF2YWM6L3Vzci9saWIvanZtL29wZW5qZGstMTEtYmluL2Jpbi9qYXZhYworIGpkazovdXNy L2Jpbi9qYXZhZG9jOi91c3IvbGliL2p2bS9vcGVuamRrLTExLWJpbi9iaW4vamF2YWRvYworIGpk azovdXNyL2Jpbi9qYXZhZnhwYWNrYWdlcjovdXNyL2xpYi9qdm0vb3Blbmpkay0xMS1iaW4vYmlu L2phdmFmeHBhY2thZ2VyCisgamRrOi91c3IvYmluL2phdmFoOi91c3IvbGliL2p2bS9vcGVuamRr LTExLWJpbi9iaW4vamF2YWgKKyBqZGs6L3Vzci9iaW4vamF2YXA6L3Vzci9saWIvanZtL29wZW5q ZGstMTEtYmluL2Jpbi9qYXZhcAorIGpkazovdXNyL2Jpbi9qYXZhcGFja2FnZXI6L3Vzci9saWIv anZtL29wZW5qZGstMTEtYmluL2Jpbi9qYXZhcGFja2FnZXIKKyBqZGs6L3Vzci9iaW4vamNtZDov dXNyL2xpYi9qdm0vb3Blbmpkay0xMS1iaW4vYmluL2pjbWQKKyBqZGs6L3Vzci9iaW4vamNvbnNv bGU6L3Vzci9saWIvanZtL29wZW5qZGstMTEtYmluL2Jpbi9qY29uc29sZQorIGpkazovdXNyL2Jp bi9qZGI6L3Vzci9saWIvanZtL29wZW5qZGstMTEtYmluL2Jpbi9qZGIKKyBqZGs6L3Vzci9iaW4v amRlcHM6L3Vzci9saWIvanZtL29wZW5qZGstMTEtYmluL2Jpbi9qZGVwcworIGpkazovdXNyL2Jp bi9qaGF0Oi91c3IvbGliL2p2bS9vcGVuamRrLTExLWJpbi9iaW4vamhhdAorIGpkazovdXNyL2Jp bi9qaW5mbzovdXNyL2xpYi9qdm0vb3Blbmpkay0xMS1iaW4vYmluL2ppbmZvCisgamRrOi91c3Iv YmluL2ptYXA6L3Vzci9saWIvanZtL29wZW5qZGstMTEtYmluL2Jpbi9qbWFwCisgamRrOi91c3Iv YmluL2ptYzovdXNyL2xpYi9qdm0vb3Blbmpkay0xMS1iaW4vYmluL2ptYworIGpkazovdXNyL2Jp bi9qbWMuaW5pOi91c3IvbGliL2p2bS9vcGVuamRrLTExLWJpbi9iaW4vam1jLmluaQorIGpkazov dXNyL2Jpbi9qcHM6L3Vzci9saWIvanZtL29wZW5qZGstMTEtYmluL2Jpbi9qcHMKKyBqZGs6L3Vz ci9iaW4vanJ1bnNjcmlwdDovdXNyL2xpYi9qdm0vb3Blbmpkay0xMS1iaW4vYmluL2pydW5zY3Jp cHQKKyBqZGs6L3Vzci9iaW4vanNhZGVidWdkOi91c3IvbGliL2p2bS9vcGVuamRrLTExLWJpbi9i aW4vanNhZGVidWdkCisgamRrOi91c3IvYmluL2pzdGFjazovdXNyL2xpYi9qdm0vb3Blbmpkay0x MS1iaW4vYmluL2pzdGFjaworIGpkazovdXNyL2Jpbi9qc3RhdDovdXNyL2xpYi9qdm0vb3Blbmpk ay0xMS1iaW4vYmluL2pzdGF0CisgamRrOi91c3IvYmluL2pzdGF0ZDovdXNyL2xpYi9qdm0vb3Bl bmpkay0xMS1iaW4vYmluL2pzdGF0ZAorIGpkazovdXNyL2Jpbi9qdmlzdWFsdm06L3Vzci9saWIv anZtL29wZW5qZGstMTEtYmluL2Jpbi9qdmlzdWFsdm0KKyBqZGs6L3Vzci9iaW4vbmF0aXZlMmFz Y2lpOi91c3IvbGliL2p2bS9vcGVuamRrLTExLWJpbi9iaW4vbmF0aXZlMmFzY2lpCisgamRrOi91 c3IvYmluL3JtaWM6L3Vzci9saWIvanZtL29wZW5qZGstMTEtYmluL2Jpbi9ybWljCisgamRrOi91 c3IvYmluL3NjaGVtYWdlbjovdXNyL2xpYi9qdm0vb3Blbmpkay0xMS1iaW4vYmluL3NjaGVtYWdl bgorIGpkazovdXNyL2Jpbi9zZXJpYWx2ZXI6L3Vzci9saWIvanZtL29wZW5qZGstMTEtYmluL2Jp bi9zZXJpYWx2ZXIKKyBqZGs6L3Vzci9iaW4vd3NnZW46L3Vzci9saWIvanZtL29wZW5qZGstMTEt YmluL2Jpbi93c2dlbgorIGpkazovdXNyL2Jpbi93c2ltcG9ydDovdXNyL2xpYi9qdm0vb3Blbmpk ay0xMS1iaW4vYmluL3dzaW1wb3J0CisgamRrOi91c3IvYmluL3hqYzovdXNyL2xpYi9qdm0vb3Bl bmpkay0xMS1iaW4vYmluL3hqYworCisgamF2YS1wbHVnaW46L3Vzci9saWIvbW96aWxsYS9wbHVn aW5zL2xpYm5wanAyLnNvOi91c3IvbGliL2p2bS9vcGVuamRrLTExLWJpbi9qcmUvbGliLyRfYXJj aC9saWJucGpwMi5zbworIgorCitkb19pbnN0YWxsKCkgeworCXZta2RpciAvdXNyL2xpYi9qdm0v b3Blbmpkay0xMS1iaW4KKwljcCAtUiAuLyogJHtERVNURElSfS91c3IvbGliL2p2bS9vcGVuamRr LTExLWJpbgorfQoKRnJvbSBmYjViZjc0NzkwM2U3MmNlMDZlMjVlNjNkYTg4ZTgxZjA4ODAwN2Fk IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLeWxlIE51c2JhdW0gPGt5bGVudXNiYXVt QGdyYW51bGFyLmFnPgpEYXRlOiBXZWQsIDQgU2VwIDIwMTkgMTU6MDU6MjYgLTA1MDAKU3ViamVj dDogW1BBVENIIDIvM10gTmV3IHBhY2thZ2U6IG1ha2UtY2EtMS40CgotLS0KIHNyY3BrZ3MvbWFr ZS1jYS9wYXRjaGVzL2FsbG93X2Rlc3RkaXIucGF0Y2ggfCA2MyArKysrKysrKysrKysrKysrKysr KysKIHNyY3BrZ3MvbWFrZS1jYS90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAgfCAxMyArKysr KwogMiBmaWxlcyBjaGFuZ2VkLCA3NiBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQg c3JjcGtncy9tYWtlLWNhL3BhdGNoZXMvYWxsb3dfZGVzdGRpci5wYXRjaAogY3JlYXRlIG1vZGUg MTAwNjQ0IHNyY3BrZ3MvbWFrZS1jYS90ZW1wbGF0ZQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbWFr ZS1jYS9wYXRjaGVzL2FsbG93X2Rlc3RkaXIucGF0Y2ggYi9zcmNwa2dzL21ha2UtY2EvcGF0Y2hl cy9hbGxvd19kZXN0ZGlyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAwLi4xY2E4Nzc0YTBmZQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvbWFrZS1jYS9wYXRj aGVzL2FsbG93X2Rlc3RkaXIucGF0Y2gKQEAgLTAsMCArMSw2MyBAQAorVGhpcyBwYXRjaCBhbGxv d3MgbWFrZS1jYSB0byBnZW5lcmF0ZSBjZXJ0cyBpbiBhIHNwZWNpZmljIGRlc3RpbmF0aW9uIGRp cmVjdG9yeS4KK1NlZTogaHR0cHM6Ly9naXRodWIuY29tL2RqbHVjYXMvbWFrZS1jYS9wdWxsLzMK Ky0tLSBtYWtlLWNhCTIwMTktMDQtMTMgMDA6MTA6MDUuMDAwMDAwMDAwIC0wNTAwCisrKysgbWFr ZS1jYQkyMDE5LTA5LTA0IDExOjI2OjQxLjkyOTIxMjg1NSAtMDUwMAorQEAgLTgxNiwzNCArODE2 LDMyIEBAIGZpCisgIyBDbGVhbiB1cCB0aGUgbWVzcworIHBvcGQKKyBybSAtcmYgIiR7VEVNUERJ Un0iCisgCisgIyBCdWlsZCBBTkNIT1JMSVNUCistIiR7TUQ1U1VNfSIgIiR7QU5DSE9SRElSfSIv Ki5wZW0gPiAiJHtBTkNIT1JMSVNUfSIKKysiJHtNRDVTVU19IiAiJHtERVNURElSfSR7QU5DSE9S RElSfSIvKi5wZW0gPiAiJHtERVNURElSfSR7QU5DSE9STElTVH0iCisgCistIyBCdWlsZCBhbHRl cm5hdGUgZm9ybWF0cyB1c2luZyBwMTEta2l0IHRydXN0IChpZiBub3QgdXNpbmcgREVTVERJUikK Ky1pZiB0ZXN0ICJ4JHtERVNURElSfSIgPT0gIngiOyB0aGVuCistICBta2RpciAtcCAiJHtCVU5E TEVESVJ9IiAiJHtLRVlTVE9SRX0iCistICBlY2hvIC1uICJFeHRyYWN0aW5nIE9wZW5TU0wgY2Vy dGlmaWNhdGVzIHRvICR7Q0VSVERJUn0uLi4iCistICAiJHtUUlVTVH0iIGV4dHJhY3QgLS1maWx0 ZXI9Y2VydGlmaWNhdGVzIC0tZm9ybWF0PW9wZW5zc2wtZGlyZWN0b3J5IFwKKy0gICAgICAgICAg ICAgICAgICAgICAtLW92ZXJ3cml0ZSAtLWNvbW1lbnQgIiR7Q0VSVERJUn0iIFwKKy0gICAgICAg ICAgICAgICAgICAgICAmJiBlY2hvICJEb25lISIgfHwgZWNobyAiRmFpbGVkISEhIgorLSAgZWNo byAtbiAiRXh0cmFjdGluZyBHTlVUTFMgc2VydmVyIGF1dGggY2VydGlmaWNhdGVzIHRvICR7Q0FC VU5ETEV9Li4uIgorLSAgIiR7VFJVU1R9IiBleHRyYWN0IC0tZmlsdGVyPWNhLWFuY2hvcnMgLS1m b3JtYXQ9cGVtLWJ1bmRsZSBcCistICAgICAgICAgICAgICAgICAgICAgLS1wdXJwb3NlIHNlcnZl ci1hdXRoIC0tb3ZlcndyaXRlIC0tY29tbWVudCAiJHtDQUJVTkRMRX0iIFwKKy0gICAgICAgICAg ICAgICAgICAgICAmJiBlY2hvICJEb25lISIgfHwgZWNobyAiRmFpbGVkISEhIgorLSAgZWNobyAt biAiRXh0cmFjdGluZyBHTlVUTFMgUy1NaW1lIGNlcnRpZmljYXRlcyB0byAke1NNQlVORExFfS4u LiIKKy0gICIke1RSVVNUfSIgZXh0cmFjdCAtLWZpbHRlcj1jYS1hbmNob3JzIC0tZm9ybWF0PXBl bS1idW5kbGUgXAorLSAgICAgICAgICAgICAgICAgICAgIC0tcHVycG9zZSBlbWFpbCAtLW92ZXJ3 cml0ZSAtLWNvbW1lbnQgIiR7U01CVU5ETEV9IiBcCistICAgICAgICAgICAgICAgICAgICAgJiYg ZWNobyAiRG9uZSEiIHx8IGVjaG8gIkZhaWxlZCEhISIKKy0gIGVjaG8gLW4gIkV4dHJhY3Rpbmcg R05VVExTIGNvZGUgc2lnbmluZyBjZXJ0aWZpY2F0ZXMgdG8gJHtDU0JVTkRMRX0uLi4iCistICAi JHtUUlVTVH0iIGV4dHJhY3QgLS1maWx0ZXI9Y2EtYW5jaG9ycyAtLWZvcm1hdD1wZW0tYnVuZGxl IFwKKy0gICAgICAgICAgICAgICAgICAgICAtLXB1cnBvc2UgY29kZS1zaWduaW5nIC0tb3Zlcndy aXRlIC0tY29tbWVudCBcCistICAgICAgICAgICAgICAgICAgICAgIiR7Q1NCVU5ETEV9IiAmJiBl Y2hvICJEb25lISIgfHwgZWNobyAiRmFpbGVkISEhIgorLSAgZWNobyAtbiAiRXh0cmFjdGluZyBK YXZhIGNhY2VydHMgKEpLUykgdG8gJHtLRVlTVE9SRX0vY2FjZXJ0cy4uLiIKKy0gICIke1RSVVNU fSIgZXh0cmFjdCAtLWZpbHRlcj1jYS1hbmNob3JzIC0tZm9ybWF0PWphdmEtY2FjZXJ0cyBcCist ICAgICAgICAgICAgICAgICAgICAgLS1wdXJwb3NlIHNlcnZlci1hdXRoIC0tb3ZlcndyaXRlIFwK Ky0gICAgICAgICAgICAgICAgICAgICAtLWNvbW1lbnQgIiR7S0VZU1RPUkV9L2NhY2VydHMiIFwK Ky0gICAgICAgICAgICAgICAgICAgICAmJiBlY2hvICJEb25lISIgfHwgZWNobyAiRmFpbGVkISEh IgorLWZpCisrIyBCdWlsZCBhbHRlcm5hdGUgZm9ybWF0cyB1c2luZyBwMTEta2l0IHRydXN0Cisr bWtkaXIgLXAgIiR7REVTVERJUn0ke0JVTkRMRURJUn0iICIke0RFU1RESVJ9JHtLRVlTVE9SRX0i CisrZWNobyAtbiAiRXh0cmFjdGluZyBPcGVuU1NMIGNlcnRpZmljYXRlcyB0byAke0RFU1RESVJ9 JHtDRVJURElSfS4uLiIKKysiJHtUUlVTVH0iIGV4dHJhY3QgLS1maWx0ZXI9Y2VydGlmaWNhdGVz IC0tZm9ybWF0PW9wZW5zc2wtZGlyZWN0b3J5IFwKKysgICAgICAgICAgICAgICAgICAgLS1vdmVy d3JpdGUgLS1jb21tZW50ICIke0RFU1RESVJ9JHtDRVJURElSfSIgXAorKyAgICAgICAgICAgICAg ICAgICAmJiBlY2hvICJEb25lISIgfHwgZWNobyAiRmFpbGVkISEhIgorK2VjaG8gLW4gIkV4dHJh Y3RpbmcgR05VVExTIHNlcnZlciBhdXRoIGNlcnRpZmljYXRlcyB0byAke0RFU1RESVJ9JHtDQUJV TkRMRX0uLi4iCisrIiR7VFJVU1R9IiBleHRyYWN0IC0tZmlsdGVyPWNhLWFuY2hvcnMgLS1mb3Jt YXQ9cGVtLWJ1bmRsZSBcCisrICAgICAgICAgICAgICAgICAgIC0tcHVycG9zZSBzZXJ2ZXItYXV0 aCAtLW92ZXJ3cml0ZSAtLWNvbW1lbnQgIiR7REVTVERJUn0ke0NBQlVORExFfSIgXAorKyAgICAg ICAgICAgICAgICAgICAmJiBlY2hvICJEb25lISIgfHwgZWNobyAiRmFpbGVkISEhIgorK2VjaG8g LW4gIkV4dHJhY3RpbmcgR05VVExTIFMtTWltZSBjZXJ0aWZpY2F0ZXMgdG8gJHtERVNURElSfSR7 U01CVU5ETEV9Li4uIgorKyIke1RSVVNUfSIgZXh0cmFjdCAtLWZpbHRlcj1jYS1hbmNob3JzIC0t Zm9ybWF0PXBlbS1idW5kbGUgXAorKyAgICAgICAgICAgICAgICAgICAtLXB1cnBvc2UgZW1haWwg LS1vdmVyd3JpdGUgLS1jb21tZW50ICIke0RFU1RESVJ9JHtTTUJVTkRMRX0iIFwKKysgICAgICAg ICAgICAgICAgICAgJiYgZWNobyAiRG9uZSEiIHx8IGVjaG8gIkZhaWxlZCEhISIKKytlY2hvIC1u ICJFeHRyYWN0aW5nIEdOVVRMUyBjb2RlIHNpZ25pbmcgY2VydGlmaWNhdGVzIHRvICR7REVTVERJ Un0ke0NTQlVORExFfS4uLiIKKysiJHtUUlVTVH0iIGV4dHJhY3QgLS1maWx0ZXI9Y2EtYW5jaG9y cyAtLWZvcm1hdD1wZW0tYnVuZGxlIFwKKysgICAgICAgICAgICAgICAgICAgLS1wdXJwb3NlIGNv ZGUtc2lnbmluZyAtLW92ZXJ3cml0ZSAtLWNvbW1lbnQgXAorKyAgICAgICAgICAgICAgICAgICAi JHtERVNURElSfSR7Q1NCVU5ETEV9IiAmJiBlY2hvICJEb25lISIgfHwgZWNobyAiRmFpbGVkISEh IgorK2VjaG8gLW4gIkV4dHJhY3RpbmcgSmF2YSBjYWNlcnRzIChKS1MpIHRvICR7REVTVERJUn0k e0tFWVNUT1JFfS9jYWNlcnRzLi4uIgorKyIke1RSVVNUfSIgZXh0cmFjdCAtLWZpbHRlcj1jYS1h bmNob3JzIC0tZm9ybWF0PWphdmEtY2FjZXJ0cyBcCisrICAgICAgICAgICAgICAgICAgIC0tcHVy cG9zZSBzZXJ2ZXItYXV0aCAtLW92ZXJ3cml0ZSBcCisrICAgICAgICAgICAgICAgICAgIC0tY29t bWVudCAiJHtERVNURElSfSR7S0VZU1RPUkV9L2NhY2VydHMiIFwKKysgICAgICAgICAgICAgICAg ICAgJiYgZWNobyAiRG9uZSEiIHx8IGVjaG8gIkZhaWxlZCEhISIKKyAKKyAjIEVuZCAvdXNyL3Ni aW4vbWFrZS1jYQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9tYWtlLWNhL3RlbXBsYXRlIGIvc3JjcGtn cy9tYWtlLWNhL3RlbXBsYXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw Li5iN2ZiMGRjNzQ3OQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvbWFrZS1jYS90ZW1wbGF0 ZQpAQCAtMCwwICsxLDEzIEBACisjIFRlbXBsYXRlIGZpbGUgZm9yICdtYWtlLWNhJworcGtnbmFt ZT1tYWtlLWNhCit2ZXJzaW9uPTEuNAorcmV2aXNpb249MQorYnVpbGRfc3R5bGU9Z251LW1ha2Vm aWxlCittYWtlX2luc3RhbGxfYXJncz0iU0JJTkRJUj0vdXNyL2JpbiIKK2hvc3RtYWtlZGVwZW5k cz0iaGVscDJtYW4iCitzaG9ydF9kZXNjPSJQS0kgc2V0dXAgc2NyaXB0IGZvciBMRlMgKGFuZCBv dGhlcnMpIgorbWFpbnRhaW5lcj0iS3lsZSBOdXNiYXVtIDxrbnVzYmF1bSt2b2lkQHNkZi5vcmc+ IgorbGljZW5zZT0iR1BMLTMuMC1vci1sYXRlciIKK2hvbWVwYWdlPSJodHRwczovL2dpdGh1Yi5j b20vZGpsdWNhcy9tYWtlLWNhLyIKK2Rpc3RmaWxlcz0iaHR0cHM6Ly9naXRodWIuY29tL2RqbHVj YXMvbWFrZS1jYS9yZWxlYXNlcy9kb3dubG9hZC92MS40L21ha2UtY2EtMS40LnRhci54eiIKK2No ZWNrc3VtPTg5ZmQ1NTMzNzY4ZWY1ZDY0NzFiYzgyNGY4ZjNhZDBkYzViNGJiNDA3NzlhZGQwYmE0 MGNlNTY1YzkwNjYxNjIKCkZyb20gN2RmMjAwOWU1NTM0NTcwODVjMTE3NWIzZTE3M2Y0NGRkNDA2 NTA0ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogS3lsZSBOdXNiYXVtIDxreWxlbnVz YmF1bUBncmFudWxhci5hZz4KRGF0ZTogV2VkLCA0IFNlcCAyMDE5IDE2OjA2OjUwIC0wNTAwClN1 YmplY3Q6IFtQQVRDSCAzLzNdIE5ldyBwYWNrYWdlOiBvcGVuamRrLTExLTExKzI4CgotLS0KIGNv bW1vbi9zaGxpYnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgNiArCiBzcmNw a2dzL29wZW5qZGstMTEtZG9jICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKwogc3JjcGtn cy9vcGVuamRrLTExLXNyYyAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxICsKIC4uLi9maWxl cy9tdXNsX3BhdGNoZXMvYWFyY2g2NC5wYXRjaCAgICAgICAgICB8ICAxMSArCiAuLi4vb3Blbmpk ay0xMS9maWxlcy9tdXNsX3BhdGNoZXMvYXJtLnBhdGNoICAgfCAgMzAgKwogLi4uL29wZW5qZGst MTEvZmlsZXMvbXVzbF9wYXRjaGVzL2J1aWxkLnBhdGNoIHwgNTM3ICsrKysrKysrKysrKysrKysr KwogLi4uL2ZpbGVzL211c2xfcGF0Y2hlcy9wcGM2NGxlLnBhdGNoICAgICAgICAgIHwgMjIxICsr KysrKysKIC4uLi9vcGVuamRrLTExL2ZpbGVzL211c2xfcGF0Y2hlcy94ODYucGF0Y2ggICB8IDEz MCArKysrKwogc3JjcGtncy9vcGVuamRrLTExL3RlbXBsYXRlICAgICAgICAgICAgICAgICAgIHwg MTgxICsrKysrKwogOSBmaWxlcyBjaGFuZ2VkLCAxMTE4IGluc2VydGlvbnMoKykKIGNyZWF0ZSBt b2RlIDEyMDAwMCBzcmNwa2dzL29wZW5qZGstMTEtZG9jCiBjcmVhdGUgbW9kZSAxMjAwMDAgc3Jj cGtncy9vcGVuamRrLTExLXNyYwogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mvb3Blbmpkay0x MS9maWxlcy9tdXNsX3BhdGNoZXMvYWFyY2g2NC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNy Y3BrZ3Mvb3Blbmpkay0xMS9maWxlcy9tdXNsX3BhdGNoZXMvYXJtLnBhdGNoCiBjcmVhdGUgbW9k ZSAxMDA2NDQgc3JjcGtncy9vcGVuamRrLTExL2ZpbGVzL211c2xfcGF0Y2hlcy9idWlsZC5wYXRj aAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mvb3Blbmpkay0xMS9maWxlcy9tdXNsX3BhdGNo ZXMvcHBjNjRsZS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mvb3Blbmpkay0xMS9m aWxlcy9tdXNsX3BhdGNoZXMveDg2LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9v cGVuamRrLTExL3RlbXBsYXRlCgpkaWZmIC0tZ2l0IGEvY29tbW9uL3NobGlicyBiL2NvbW1vbi9z aGxpYnMKaW5kZXggMTE0NDJmMWI5MzYuLmU4NmM5MmM3NGQ4IDEwMDY0NAotLS0gYS9jb21tb24v c2hsaWJzCisrKyBiL2NvbW1vbi9zaGxpYnMKQEAgLTE3NzUsNiArMTc3NSwxMiBAQCBsaWJhd3Rf eGF3dC5zbyBvcGVuamRrLWpyZS04dTIwXzEKIGxpYmphdmEuc28gb3Blbmpkay1qcmUtOHUyMF8x CiBsaWJqbGkuc28gb3Blbmpkay1qcmUtOHUyMF8xCiBsaWJqdm0uc28gb3Blbmpkay1qcmUtOHUy MF8xCitsaWJqYXd0LnNvIG9wZW5qZGstMTEtMTEuMC40KzExXzEKK2xpYmF3dC5zbyBvcGVuamRr LTExLTExLjAuNCsxMV8xCitsaWJhd3RfeGF3dC5zbyBvcGVuamRrLTExLTExLjAuNCsxMV8xCits aWJqYXZhLnNvIG9wZW5qZGstMTEtMTEuMC40KzExXzEKK2xpYmpsaS5zbyBvcGVuamRrLTExLTEx LjAuNCsxMV8xCitsaWJqdm0uc28gb3Blbmpkay0xMS0xMS4wLjQrMTFfMQogbGlidWNsLnNvLjUg bGlidWNsLTAuOC4xXzEKIGxpYmhhbmRsZS5zby4xIHhmc3Byb2dzLTMuMi4xXzEKIGxpYm5mbmV0 bGluay5zby4wIGxpYm5mbmV0bGluay0xLjAuMV8xCmRpZmYgLS1naXQgYS9zcmNwa2dzL29wZW5q ZGstMTEtZG9jIGIvc3JjcGtncy9vcGVuamRrLTExLWRvYwpuZXcgZmlsZSBtb2RlIDEyMDAwMApp bmRleCAwMDAwMDAwMDAwMC4uN2ZhYmE3MWI5YTgKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dz L29wZW5qZGstMTEtZG9jCkBAIC0wLDAgKzEgQEAKK29wZW5qZGstMTEKXCBObyBuZXdsaW5lIGF0 IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmNwa2dzL29wZW5qZGstMTEtc3JjIGIvc3JjcGtn cy9vcGVuamRrLTExLXNyYwpuZXcgZmlsZSBtb2RlIDEyMDAwMAppbmRleCAwMDAwMDAwMDAwMC4u N2ZhYmE3MWI5YTgKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL29wZW5qZGstMTEtc3JjCkBA IC0wLDAgKzEgQEAKK29wZW5qZGstMTEKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg LS1naXQgYS9zcmNwa2dzL29wZW5qZGstMTEvZmlsZXMvbXVzbF9wYXRjaGVzL2FhcmNoNjQucGF0 Y2ggYi9zcmNwa2dzL29wZW5qZGstMTEvZmlsZXMvbXVzbF9wYXRjaGVzL2FhcmNoNjQucGF0Y2gK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmI5NWY0NTVlOTI2Ci0tLSAv ZGV2L251bGwKKysrIGIvc3JjcGtncy9vcGVuamRrLTExL2ZpbGVzL211c2xfcGF0Y2hlcy9hYXJj aDY0LnBhdGNoCkBAIC0wLDAgKzEsMTEgQEAKK1BhdGNoZXMgZm9yIG11c2wgdGFrZW4gZnJvbSBB bHBpbmUgbGludXg6IGh0dHBzOi8vZ2l0LmFscGluZWxpbnV4Lm9yZy9hcG9ydHMvY29tbWl0Lz9p ZD04YTFhZTE3ZDRhOWFmNTQyODVjNzg5MWE2ODA2MjBlN2UyNGM2MjgwCistLS0gb2xkL3NyYy9o b3RzcG90L29zX2NwdS9saW51eF9hYXJjaDY0L29zX2xpbnV4X2FhcmNoNjQuY3BwCisrKysgbmV3 L3NyYy9ob3RzcG90L29zX2NwdS9saW51eF9hYXJjaDY0L29zX2xpbnV4X2FhcmNoNjQuY3BwCitA QCAtNzcsNyArNzcsNiBAQAorICMgaW5jbHVkZSA8cHdkLmg+CisgIyBpbmNsdWRlIDxwb2xsLmg+ CisgIyBpbmNsdWRlIDx1Y29udGV4dC5oPgorLSMgaW5jbHVkZSA8ZnB1X2NvbnRyb2wuaD4KKwor ICNpZmRlZiBCVUlMVElOX1NJTQorICNkZWZpbmUgUkVHX1NQIFJFR19SU1AKZGlmZiAtLWdpdCBh L3NyY3BrZ3Mvb3Blbmpkay0xMS9maWxlcy9tdXNsX3BhdGNoZXMvYXJtLnBhdGNoIGIvc3JjcGtn cy9vcGVuamRrLTExL2ZpbGVzL211c2xfcGF0Y2hlcy9hcm0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjEyZDAwMjJjMTQ5Ci0tLSAvZGV2L251bGwKKysrIGIv c3JjcGtncy9vcGVuamRrLTExL2ZpbGVzL211c2xfcGF0Y2hlcy9hcm0ucGF0Y2gKQEAgLTAsMCAr MSwzMCBAQAorUGF0Y2hlcyBmb3IgbXVzbCB0YWtlbiBmcm9tIEFscGluZSBsaW51eDogaHR0cHM6 Ly9naXQuYWxwaW5lbGludXgub3JnL2Fwb3J0cy9jb21taXQvP2lkPThhMWFlMTdkNGE5YWY1NDI4 NWM3ODkxYTY4MDYyMGU3ZTI0YzYyODAKKy0tLSBvbGQvc3JjL2hvdHNwb3Qvb3NfY3B1L2xpbnV4 X2FybS9vc19saW51eF9hcm0uY3BwCisrKysgbmV3L3NyYy9ob3RzcG90L29zX2NwdS9saW51eF9h cm0vb3NfbGludXhfYXJtLmNwcAorQEAgLTcxLDcgKzcxLDYgQEAKKyAjIGluY2x1ZGUgPHB3ZC5o PgorICMgaW5jbHVkZSA8cG9sbC5oPgorICMgaW5jbHVkZSA8dWNvbnRleHQuaD4KKy0jIGluY2x1 ZGUgPGZwdV9jb250cm9sLmg+CisgIyBpbmNsdWRlIDxhc20vcHRyYWNlLmg+CisKKyAjZGVmaW5l IFNQRUxMX1JFR19TUCAgInNwIgorQEAgLTEwNCw2ICsxMDMsMTggQEAKKyAjZGVmaW5lIEFSTV9S RUdTX0lOX0NPTlRFWFQgIDMxCisKKyAjZWxzZQorKworKy8vIFN0dXBpZCBoYWNrIGFzIHRoZSBv cmlnaW4gaWYgYmVsb3cgZG9lc250IGNvbXBpbGUgd2l0aCBnY2MgOC4yLjA6CisrLy8KKysvLyBv c19saW51eF9hcm0uY3BwOjExNDo1OiBlcnJvcjogbWlzc2luZyBiaW5hcnkgb3BlcmF0b3IgYmVm b3JlIHRva2VuICIoIgorKy8vICAjaWYgTkdSRUcgPT0gMTYKKysvLyAgICAgICBefn5+fgorKy8v CisrLy8gVGhlIE5HUkVHIGlzIDE4LCBzbyBmb3JjZSBpdCB0byB0aGF0IHZhbHVlLgorKyNpZmRl ZiBOR1JFRworKyMgIHVuZGVmIE5HUkVHCisrI2VuZGlmCisrI2RlZmluZSBOR1JFRyAxOAorCisg I2lmIE5HUkVHID09IDE2CisgLy8gVGhlc2UgZGVmaW5pdGlvbnMgYXJlIGJhc2VkIG9uIHRoZSBv YnNlcnZhdGlvbiB0aGF0IHVudGlsCmRpZmYgLS1naXQgYS9zcmNwa2dzL29wZW5qZGstMTEvZmls ZXMvbXVzbF9wYXRjaGVzL2J1aWxkLnBhdGNoIGIvc3JjcGtncy9vcGVuamRrLTExL2ZpbGVzL211 c2xfcGF0Y2hlcy9idWlsZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMC4uODFlZDBmNTNiMWQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL29wZW5qZGstMTEv ZmlsZXMvbXVzbF9wYXRjaGVzL2J1aWxkLnBhdGNoCkBAIC0wLDAgKzEsNTM3IEBACitQYXRjaGVz IGZvciBtdXNsIHRha2VuIGZyb20gQWxwaW5lIGxpbnV4OiBodHRwczovL2dpdC5hbHBpbmVsaW51 eC5vcmcvYXBvcnRzL2NvbW1pdC8/aWQ9OGExYWUxN2Q0YTlhZjU0Mjg1Yzc4OTFhNjgwNjIwZTdl MjRjNjI4MAorLS0tIG9sZC9tYWtlL1JlbGVhc2VGaWxlLmdtaworKysrIG5ldy9tYWtlL1JlbGVh c2VGaWxlLmdtaworQEAgLTUzLDYgKzUzLDcgQEAKKyAgICQoY2FsbCBpbmZvLWZpbGUtaXRlbSwg IkpBVkFfVkVSU0lPTl9EQVRFIiwgIiQoVkVSU0lPTl9EQVRFKSIpCisgICAkKGNhbGwgaW5mby1m aWxlLWl0ZW0sICJPU19OQU1FIiwgIiQoUkVMRUFTRV9GSUxFX09TX05BTUUpIikKKyAgICQoY2Fs bCBpbmZvLWZpbGUtaXRlbSwgIk9TX0FSQ0giLCAiJChSRUxFQVNFX0ZJTEVfT1NfQVJDSCkiKQor KyAgJChjYWxsIGluZm8tZmlsZS1pdGVtLCAiTElCQyIsICJtdXNsIikKKyBlbmRlZgorCisgIyBQ YXJhbSAxIC0gVGhlIGZpbGUgY29udGFpbmluZyB0aGUgTU9EVUxFUyBsaXN0CistLS0gb2xkL21h a2UvYXV0b2NvbmYvYnVpbGQtYXV4L2NvbmZpZy5ndWVzcworKysrIG5ldy9tYWtlL2F1dG9jb25m L2J1aWxkLWF1eC9jb25maWcuZ3Vlc3MKK0BAIC0zMCw2ICszMCwxNyBAQAorIERJUj1gZGlybmFt ZSAkMGAKKyBPVVQ9YC4gJERJUi9hdXRvY29uZi1jb25maWcuZ3Vlc3NgCisKKysjIGNvbmZpZy5n dWVzcyBkb2Vzbid0IGlkZW50aWZ5IHN5c3RlbXMgcnVubmluZyB0aGUgbXVzbCBDIGxpYnJhcnks IGFuZCB3aWxsCisrIyBpbnN0ZWFkIHJldHVybiBhIHN0cmluZyB3aXRoIGEgLWdudSBzdWZmaXgu IFRoaXMgYmxvY2sgZGV0ZWN0cyBtdXNsIGFuZAorKyMgbW9kaWZpZXMgdGhlIHN0cmluZyB0byBo YXZlIGEgLW11c2wgc3VmZml4IGluc3RlYWQuIAorK2VjaG8gJE9VVCB8IGdyZXAgLS0gLWxpbnV4 LSA+IC9kZXYvbnVsbCAyPiAvZGV2L251bGwKKytpZiB0ZXN0ICQ/ID0gMDsgdGhlbgorKyAgbGRk X3ZlcnNpb249YGxkZCAtLXZlcnNpb24gMj4mMSB8IGhlYWQgLTEgfCBjdXQgLWYxIC1kJyAnYAor KyAgaWYgWyB4IiR7bGRkX3ZlcnNpb259IiA9IHgibXVzbCIgXTsgdGhlbgorKyAgICBPVVQ9YGVj aG8gJE9VVCB8IHNlZCAncy8tZ251Ly1tdXNsLydgCisrICBmaQorK2ZpCisrCisgIyBUZXN0IGFu ZCBmaXggc29sYXJpcyBvbiB4ODZfNjQKKyBlY2hvICRPVVQgfCBncmVwIGkzODYtcGMtc29sYXJp cyA+IC9kZXYvbnVsbCAyPiAvZGV2L251bGwKKyBpZiB0ZXN0ICQ/ID0gMDsgdGhlbgorLS0tIG9s ZC9tYWtlL2hvdHNwb3QvbGliL0NvbXBpbGVKdm0uZ21rCisrKysgbmV3L21ha2UvaG90c3BvdC9s aWIvQ29tcGlsZUp2bS5nbWsKK0BAIC03Nyw2ICs3Nyw3IEBACisgICAgIC1ESE9UU1BPVF9CVUlM RF9VU0VSPSciJChVU0VSTkFNRSkiJyBcCisgICAgIC1ESE9UU1BPVF9WTV9ESVNUUk89JyIkKEhP VFNQT1RfVk1fRElTVFJPKSInIFwKKyAgICAgLURDUFU9JyIkKE9QRU5KREtfVEFSR0VUX0NQVV9W TV9WRVJTSU9OKSInIFwKKysgICAgLURMSUJDPScibXVzbCInIFwKKyAgICAgIworCisgIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMKKy0tLSBvbGQvbWFrZS9saWIvQ29yZUxpYnJhcmllcy5nbWsKKysr KyBuZXcvbWFrZS9saWIvQ29yZUxpYnJhcmllcy5nbWsKK0BAIC0yNDEsNiArMjQxLDcgQEAKKyBl bmRpZgorCisgTElCSkxJX0NGTEFHUyArPSAkKExJQlpfQ0ZMQUdTKQorK0xJQkpMSV9DRkxBR1Mg Kz0gLURMSUJDPVwibXVzbFwiCisKKyBpZm5lcSAoJChVU0VfRVhURVJOQUxfTElCWiksIHRydWUp CisgICBMSUJKTElfRVhUUkFfRklMRVMgKz0gXAorLS0tIG9sZC9zcmMvaG90c3BvdC9vcy9saW51 eC9vc19saW51eC5jcHAKKysrKyBuZXcvc3JjL2hvdHNwb3Qvb3MvbGludXgvb3NfbGludXguY3Bw CitAQCAtOTksNyArOTksNiBAQAorICMgaW5jbHVkZSA8c3RyaW5nLmg+CisgIyBpbmNsdWRlIDxz eXNjYWxsLmg+CisgIyBpbmNsdWRlIDxzeXMvc3lzaW5mby5oPgorLSMgaW5jbHVkZSA8Z251L2xp YmMtdmVyc2lvbi5oPgorICMgaW5jbHVkZSA8c3lzL2lwYy5oPgorICMgaW5jbHVkZSA8c3lzL3No bS5oPgorICMgaW5jbHVkZSA8bGluay5oPgorQEAgLTUxMSw2ICs1MTAsMTEgQEAKKyAvLyBkZXRl Y3RpbmcgcHRocmVhZCBsaWJyYXJ5CisKKyB2b2lkIG9zOjpMaW51eDo6bGlicHRocmVhZF9pbml0 KCkgeworKyNpZiAhZGVmaW5lZChfX0dMSUJDX18pICYmICFkZWZpbmVkKF9fVUNMSUJDX18pCisr ICAvLyBIYXJkIGNvZGUgQWxwaW5lIExpbnV4IHN1cHBvcnRlZCBtdXNsIGNvbXBhdGlibGUgc2V0 dGluZ3MKKysgIG9zOjpMaW51eDo6c2V0X2dsaWJjX3ZlcnNpb24oImdsaWJjIDIuOSIpOworKyAg b3M6OkxpbnV4OjpzZXRfbGlicHRocmVhZF92ZXJzaW9uKCJOUFRMIik7CisrI2Vsc2UKKyAgIC8v IFNhdmUgZ2xpYmMgYW5kIHB0aHJlYWQgdmVyc2lvbiBzdHJpbmdzLgorICNpZiAhZGVmaW5lZChf Q1NfR05VX0xJQkNfVkVSU0lPTikgfHwgXAorICAgICAhZGVmaW5lZChfQ1NfR05VX0xJQlBUSFJF QURfVkVSU0lPTikKK0BAIC01MjgsNiArNTMyLDcgQEAKKyAgIHN0ciA9IChjaGFyICopbWFsbG9j KG4sIG10SW50ZXJuYWwpOworICAgY29uZnN0cihfQ1NfR05VX0xJQlBUSFJFQURfVkVSU0lPTiwg c3RyLCBuKTsKKyAgIG9zOjpMaW51eDo6c2V0X2xpYnB0aHJlYWRfdmVyc2lvbihzdHIpOworKyNl bmRpZgorIH0KKworIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCitAQCAtMjkxNiwyMCArMjkyMSwzNiBA QAorIGV4dGVybiAiQyIgSk5JRVhQT1JUIHZvaWQgbnVtYV93YXJuKGludCBudW1iZXIsIGNoYXIg KndoZXJlLCAuLi4pIHsgfQorIGV4dGVybiAiQyIgSk5JRVhQT1JUIHZvaWQgbnVtYV9lcnJvcihj aGFyICp3aGVyZSkgeyB9CisKKytzdGF0aWMgdm9pZCogZGx2c3ltX2lmX2F2YWlsYWJsZSh2b2lk KiBoYW5kbGUsIGNvbnN0IGNoYXIqIG5hbWUsIGNvbnN0IGNoYXIqIHZlcnNpb24pIHsKKysgIHR5 cGVkZWYgdm9pZCogKCpkbHZzeW1fZnVuY190eXBlKSh2b2lkKiBoYW5kbGUsIGNvbnN0IGNoYXIq IG5hbWUsIGNvbnN0IGNoYXIqIHZlcnNpb24pOworKyAgc3RhdGljIGRsdnN5bV9mdW5jX3R5cGUg ZGx2c3ltX2Z1bmM7CisrICBzdGF0aWMgYm9vbCBpbml0aWFsaXplZCA9IGZhbHNlOworKworKyAg aWYgKCFpbml0aWFsaXplZCkgeworKyAgICBkbHZzeW1fZnVuYyA9IChkbHZzeW1fZnVuY190eXBl KWRsc3ltKFJUTERfTkVYVCwgImRsdnN5bSIpOworKyAgICBpbml0aWFsaXplZCA9IHRydWU7Cisr ICB9CisrCisrICBpZiAoZGx2c3ltX2Z1bmMgIT0gTlVMTCkgeworKyAgICB2b2lkICpmID0gZGx2 c3ltX2Z1bmMoaGFuZGxlLCBuYW1lLCB2ZXJzaW9uKTsKKysgICAgaWYgKGYgIT0gTlVMTCkgewor KyAgICAgIHJldHVybiBmOworKyAgICB9CisrICB9CisrCisrICByZXR1cm4gZGxzeW0oaGFuZGxl LCBuYW1lKTsKKyt9CisrCisgLy8gSGFuZGxlIHJlcXVlc3QgdG8gbG9hZCBsaWJudW1hIHN5bWJv bCB2ZXJzaW9uIDEuMSAoQVBJIHYxKS4gSWYgaXQgZmFpbHMKKyAvLyBsb2FkIHN5bWJvbCBmcm9t IGJhc2UgdmVyc2lvbiBpbnN0ZWFkLgorIHZvaWQqIG9zOjpMaW51eDo6bGlibnVtYV9kbHN5bSh2 b2lkKiBoYW5kbGUsIGNvbnN0IGNoYXIgKm5hbWUpIHsKKy0gIHZvaWQgKmYgPSBkbHZzeW0oaGFu ZGxlLCBuYW1lLCAibGlibnVtYV8xLjEiKTsKKy0gIGlmIChmID09IE5VTEwpIHsKKy0gICAgZiA9 IGRsc3ltKGhhbmRsZSwgbmFtZSk7CistICB9CistICByZXR1cm4gZjsKKysgIHJldHVybiBkbHZz eW1faWZfYXZhaWxhYmxlKGhhbmRsZSwgbmFtZSwgImxpYm51bWFfMS4xIik7CisgfQorCisgLy8g SGFuZGxlIHJlcXVlc3QgdG8gbG9hZCBsaWJudW1hIHN5bWJvbCB2ZXJzaW9uIDEuMiAoQVBJIHYy KSBvbmx5LgorIC8vIFJldHVybiBOVUxMIGlmIHRoZSBzeW1ib2wgaXMgbm90IGRlZmluZWQgaW4g dGhpcyBwYXJ0aWN1bGFyIHZlcnNpb24uCisgdm9pZCogb3M6OkxpbnV4OjpsaWJudW1hX3YyX2Rs c3ltKHZvaWQqIGhhbmRsZSwgY29uc3QgY2hhciogbmFtZSkgeworLSAgcmV0dXJuIGRsdnN5bSho YW5kbGUsIG5hbWUsICJsaWJudW1hXzEuMiIpOworKyAgcmV0dXJuIGRsdnN5bV9pZl9hdmFpbGFi bGUoaGFuZGxlLCBuYW1lLCAibGlibnVtYV8xLjIiKTsKKyB9CisKKyBib29sIG9zOjpMaW51eDo6 bGlibnVtYV9pbml0KCkgeworLS0tIG9sZC9zcmMvaG90c3BvdC9vc19jcHUvbGludXhfeDg2L29z X2xpbnV4X3g4Ni5jcHAKKysrKyBuZXcvc3JjL2hvdHNwb3Qvb3NfY3B1L2xpbnV4X3g4Ni9vc19s aW51eF94ODYuY3BwCitAQCAtNzUsOSArNzUsNiBAQAorICMgaW5jbHVkZSA8cHdkLmg+CisgIyBp bmNsdWRlIDxwb2xsLmg+CisgIyBpbmNsdWRlIDx1Y29udGV4dC5oPgorLSNpZm5kZWYgQU1ENjQK Ky0jIGluY2x1ZGUgPGZwdV9jb250cm9sLmg+CistI2VuZGlmCisKKyAjaWZkZWYgQU1ENjQKKyAj ZGVmaW5lIFJFR19TUCBSRUdfUlNQCistLS0gb2xkL3NyYy9ob3RzcG90L3NoYXJlL2djL3NoYXJl ZC9nZW5Db2xsZWN0ZWRIZWFwLmNwcAorKysrIG5ldy9zcmMvaG90c3BvdC9zaGFyZS9nYy9zaGFy ZWQvZ2VuQ29sbGVjdGVkSGVhcC5jcHAKK0BAIC0xMTQ3LDcgKzExNDcsNyBAQAorIHN0YXRpYyBT Y3JhdGNoQmxvY2sgKnJlbW92ZVNtYWxsZXN0U2NyYXRjaChTY3JhdGNoQmxvY2sgKipwcmV2X3B0 cikgeworICAgYm9vbCBmaXJzdCA9IHRydWU7CisgICBzaXplX3QgbWluX3NpemUgPSAwOyAgIC8v ICJmaXJzdCIgbWFrZXMgdGhpcyBjb25jZXB0dWFsbHkgaW5maW5pdGUuCistICBTY3JhdGNoQmxv Y2sgKipzbWFsbGVzdF9wdHIsICpzbWFsbGVzdDsKKysgIFNjcmF0Y2hCbG9jayAqKnNtYWxsZXN0 X3B0ciA9IE5VTEwsICpzbWFsbGVzdDsKKyAgIFNjcmF0Y2hCbG9jayAgKmN1ciA9ICpwcmV2X3B0 cjsKKyAgIHdoaWxlIChjdXIpIHsKKyAgICAgYXNzZXJ0KCpwcmV2X3B0ciA9PSBjdXIsICJqdXN0 IGNoZWNraW5nIik7CistLS0gb2xkL3NyYy9ob3RzcG90L3NoYXJlL3J1bnRpbWUvdm1fdmVyc2lv bi5jcHAKKysrKyBuZXcvc3JjL2hvdHNwb3Qvc2hhcmUvcnVudGltZS92bV92ZXJzaW9uLmNwcAor QEAgLTI3Miw3ICsyNzIsNyBAQAorICAgI2VuZGlmCisKKyAgICNkZWZpbmUgSU5URVJOQUxfVkVS U0lPTl9TVUZGSVggVk1fUkVMRUFTRSAiKSIgXAorLSAgICAgICAgICIgZm9yICIgT1MgIi0iIENQ VSBGTE9BVF9BUkNIX1NUUiBcCisrICAgICAgICAgIiBmb3IgIiBPUyAiLSIgQ1BVIEZMT0FUX0FS Q0hfU1RSIExJQkMgXAorICAgICAgICAgICIgSlJFICgiIFZFUlNJT05fU1RSSU5HICIpLCBidWls dCBvbiAiIF9fREFURV9fICIgIiBfX1RJTUVfXyBcCisgICAgICAgICAgIiBieSAiIFhTVFIoSE9U U1BPVF9CVUlMRF9VU0VSKSAiIHdpdGggIiBIT1RTUE9UX0JVSUxEX0NPTVBJTEVSCisKKy0tLSBv bGQvc3JjL2hvdHNwb3Qvc2hhcmUvdXRpbGl0aWVzL2dsb2JhbERlZmluaXRpb25zX2djYy5ocHAK KysrKyBuZXcvc3JjL2hvdHNwb3Qvc2hhcmUvdXRpbGl0aWVzL2dsb2JhbERlZmluaXRpb25zX2dj Yy5ocHAKK0BAIC0yMDQsNyArMjA0LDcgQEAKKyAjZWxpZiBkZWZpbmVkKF9fQVBQTEVfXykKKyBp bmxpbmUgaW50IGdfaXNuYW4oZG91YmxlIGYpIHsgcmV0dXJuIGlzbmFuKGYpOyB9CisgI2VsaWYg ZGVmaW5lZChMSU5VWCkgfHwgZGVmaW5lZChfQUxMQlNEX1NPVVJDRSkKKy1pbmxpbmUgaW50IGdf aXNuYW4oZmxvYXQgIGYpIHsgcmV0dXJuIGlzbmFuZihmKTsgfQorK2lubGluZSBpbnQgZ19pc25h bihmbG9hdCAgZikgeyByZXR1cm4gaXNuYW4oZik7IH0KKyBpbmxpbmUgaW50IGdfaXNuYW4oZG91 YmxlIGYpIHsgcmV0dXJuIGlzbmFuKGYpOyB9CisgI2Vsc2UKKyAjZXJyb3IgIm1pc3NpbmcgcGxh dGZvcm0tc3BlY2lmaWMgZGVmaW5pdGlvbiBoZXJlIgorLS0tIG9sZC9zcmMvamF2YS5iYXNlL2xp bnV4L25hdGl2ZS9saWJuZXQvbGludXhfY2xvc2UuYworKysrIG5ldy9zcmMvamF2YS5iYXNlL2xp bnV4L25hdGl2ZS9saWJuZXQvbGludXhfY2xvc2UuYworQEAgLTYwLDcgKzYwLDcgQEAKKyAvKgor ICAqIFNpZ25hbCB0byB1bmJsb2NrIHRocmVhZAorICAqLworLXN0YXRpYyBpbnQgc2lnV2FrZXVw ID0gKF9fU0lHUlRNQVggLSAyKTsKKytzdGF0aWMgaW50IHNpZ1dha2V1cDsKKworIC8qCisgICog ZmRUYWJsZSBob2xkcyBvbmUgZW50cnkgcGVyIGZpbGUgZGVzY3JpcHRvciwgdXAgdG8gYSBjZXJ0 YWluCitAQCAtMTQ5LDYgKzE0OSw3IEBACisgICAgIC8qCisgICAgICAqIFNldHVwIHRoZSBzaWdu YWwgaGFuZGxlcgorICAgICAgKi8KKysgICAgc2lnV2FrZXVwID0gU0lHUlRNQVggLSAyOworICAg ICBzYS5zYV9oYW5kbGVyID0gc2lnX3dha2V1cDsKKyAgICAgc2Euc2FfZmxhZ3MgICA9IDA7Cisg ICAgIHNpZ2VtcHR5c2V0KCZzYS5zYV9tYXNrKTsKKy0tLSBvbGQvc3JjL2phdmEuYmFzZS91bml4 L25hdGl2ZS9saWJqYXZhL2NoaWxkcHJvYy5jCisrKysgbmV3L3NyYy9qYXZhLmJhc2UvdW5peC9u YXRpdmUvbGliamF2YS9jaGlsZHByb2MuYworQEAgLTIzNyw3ICsyMzcsMTMgQEAKKyB7CisgICAg IGlmIChlbnZwID09IE5VTEwgfHwgKGNoYXIgKiopIGVudnAgPT0gZW52aXJvbikgeworICAgICAg ICAgZXhlY3ZwKGZpbGUsIChjaGFyICoqKSBhcmd2KTsKKy0gICAgICAgIHJldHVybjsKKysgICAg ICAgIC8vIEVOT0VYRUMgaW5kaWNhdGVzIHRoYXQgdGhlIGZpbGUgaGVhZGVyIHdhcyBub3QgcmVj b2duaXplZC4gVGhlIG11c2wgQworKyAgICAgICAgLy8gbGlicmFyeSBkb2VzIG5vdCBpbXBsZW1l bnQgdGhlIGZhbGxiYWNrIHRvIC9iaW4vc2ggZm9yIHRoYXQgY2FzZSwgc28gZmFsbAorKyAgICAg ICAgLy8gdGhyb3VnaCB0byB0aGUgY29kZSBiZWxvdyB3aGljaCBpbXBsZW1lbnRzIHRoYXQgZmFs bGJhY2sgdXNpbmcKKysgICAgICAgIC8vIGV4ZWN2ZV93aXRoX3NoZWxsX2ZhbGxiYWNrLgorKyAg ICAgICAgaWYgKGVycm5vICE9IEVOT0VYRUMpIHsKKysgICAgICAgICAgICByZXR1cm47CisrICAg ICAgICB9CisgICAgIH0KKworICAgICBpZiAoKmZpbGUgPT0gJ1wwJykgeworLS0tIG9sZC9zcmMv amF2YS5iYXNlL3VuaXgvbmF0aXZlL2xpYmphdmEvamRrX3V0aWxfbWQuaAorKysrIG5ldy9zcmMv amF2YS5iYXNlL3VuaXgvbmF0aXZlL2xpYmphdmEvamRrX3V0aWxfbWQuaAorQEAgLTM3LDcgKzM3 LDcgQEAKKyAjZGVmaW5lIElTTkFORChkKSBpc25hbihkKQorICNlbGlmIGRlZmluZWQoX19saW51 eF9fKSB8fCBkZWZpbmVkKF9BTExCU0RfU09VUkNFKQorICNpbmNsdWRlIDxtYXRoLmg+CistI2Rl ZmluZSBJU05BTkYoZikgaXNuYW5mKGYpCisrI2RlZmluZSBJU05BTkYoZikgaXNuYW4oZikKKyAj ZGVmaW5lIElTTkFORChkKSBpc25hbihkKQorICNlbGlmIGRlZmluZWQoX0FJWCkKKyAjaW5jbHVk ZSA8bWF0aC5oPgorLS0tIG9sZC9zcmMvamF2YS5iYXNlL3VuaXgvbmF0aXZlL2xpYmpsaS9qYXZh X21kX3NvbGludXguYworKysrIG5ldy9zcmMvamF2YS5iYXNlL3VuaXgvbmF0aXZlL2xpYmpsaS9q YXZhX21kX3NvbGludXguYworQEAgLTIzNSw2ICsyMzUsMzkgQEAKKyAgICAgY2hhciAqZG1sbHAg PSBOVUxMOworICAgICBjaGFyICpwOyAvKiBhIHV0aWxpdHkgcG9pbnRlciAqLworCisrI2lmZGVm IF9fbGludXgKKysjaWZuZGVmIExJQkMKKysjZXJyb3IgIkxJQkMgbm90IHNldCIKKysjZW5kaWYK KysKKysgICAgaWYgKHN0cmNtcChMSUJDLCAibXVzbCIpID09IDApIHsKKysgICAgICAvKgorKyAg ICAgICAqIFRoZSBtdXNsIGxpYnJhcnkgbG9hZGVyIHJlcXVpcmVzIExEX0xJQlJBUllfUEFUSCB0 byBiZSBzZXQgaW4KKysgICAgICAgKiBvcmRlciB0byBjb3JyZWN0bHkgcmVzb2x2ZSB0aGUgZGVw ZW5kZW5jeSBsaWJqYXZhLnNvIGhhcyBvbiBsaWJqdm0uc28uCisrICAgICAgICoKKysgICAgICAg KiBTcGVjaWZpY2FsbHksIGl0IGRpZmZlcnMgZnJvbSBnbGliYyBpbiB0aGUgc2Vuc2UgdGhhdCBl dmVuIGlmCisrICAgICAgICogbGlianZtLnNvIGhhcyBhbHJlYWR5IGJlZW4gbG9hZGVkIGl0IHdp bGwgbm90IGJlIGNvbnNpZGVyZWQgYQorKyAgICAgICAqIGNhbmRpZGF0ZSBmb3IgcmVzb2x2aW5n IHRoZSBkZXBlbmRlbmN5IHVubGVzcyB0aGUgKmZ1bGwqIHBhdGgKKysgICAgICAgKiBvZiB0aGUg YWxyZWFkeSBsb2FkZWQgbGlicmFyeSBtYXRjaGVzIHRoZSBkZXBlbmRlbmN5IGJlaW5nIGxvYWRl ZC4KKysgICAgICAgKgorKyAgICAgICAqIGxpYmp2bS5zbyBpcyBiZWluZyBsb2FkZWQgYnkgdGhl IGxhdW5jaGVyIHVzaW5nIGEgbG9uZyBwYXRoIHRvCisrICAgICAgICogZGxvcGVuLCBub3QganVz dCB0aGUgYmFzZW5hbWUgb2YgdGhlIGxpYnJhcnkuIFR5cGljYWxseSB0aGlzCisrICAgICAgICog aXMgc29tZXRoaW5nIGxpa2UgIi4uL2xpYi9zZXJ2ZXIvbGlianZtLnNvIi4gSG93ZXZlciwgaWYv d2hlbgorKyAgICAgICAqIGxpYmp2bS5zbyBsYXRlciB0cmllcyB0byBkbG9wZW4gbGliamF2YS5z byAod2hpY2ggaXQgZG9lcyBpbgorKyAgICAgICAqIG9yZGVyIHRvIGdldCBhY2Nlc3MgdG8gYSBm ZXcgZnVuY3Rpb25zIGltcGxlbWVudGVkIGluCisrICAgICAgICogbGliamF2YS5zbykgdGhlIG11 c2wgbG9hZGVyIHdpbGwsIGFzIHBhcnQgb2YgbG9hZGluZworKyAgICAgICAqIGRlcGVuZGVudCBs aWJyYXJpZXMsIHRyeSB0byBsb2FkIGxpYmp2bS5zbyB1c2luZyBvbmx5IGl0cworKyAgICAgICAq IGJhc2VuYW1lICJsaWJqdm0uc28iLiBTaW5jZSB0aGlzIGRvZXMgbm90IG1hdGNoIHRoZSBsb25n ZXIKKysgICAgICAgKiBwYXRoIHBhdGggaXQgd2FzIGZpcnN0IGxvYWRlZCB3aXRoLCB0aGUgYWxy ZWFkeSBsb2FkZWQKKysgICAgICAgKiBsaWJyYXJ5IGlzIG5vdCBjb25zaWRlcmVkIGEgY2FuZGlk YXRlLCBhbmQgdGhlIGxvYWRlciB3aWxsCisrICAgICAgICogaW5zdGVhZCBsb29rIGZvciBsaWJq dm0uc28gZWxzZXdoZXJlLiBJZiBpdCdzIG5vdCBpbgorKyAgICAgICAqIExEX0xJQlJBUllfUEFU SCB0aGUgZGVwZW5kZW5jeSBsb2FkIHdpbGwgZmFpbCwgYW5kIGxpYmphdmEuc28KKysgICAgICAg KiB3aWxsIHRoZXJlZm9yZSBmYWlsIGFzIHdlbGwuCisrICAgICAgICovCisrICAgICAgcmV0dXJu IEpOSV9UUlVFOworKyAgICB9CisrI2VuZGlmCisrCisgI2lmZGVmIEFJWAorICAgICAvKiBXZSBh bHdheXMgaGF2ZSB0byBzZXQgdGhlIExJQlBBVEggb24gQUlYIGJlY2F1c2UgbGQgZG9lc24ndCBz dXBwb3J0ICRPUklHSU4uICovCisgICAgIHJldHVybiBKTklfVFJVRTsKKy0tLSBvbGQvc3JjL2ph dmEuYmFzZS91bml4L25hdGl2ZS9saWJuaW8vY2gvTmF0aXZlVGhyZWFkLmMKKysrKyBuZXcvc3Jj L2phdmEuYmFzZS91bml4L25hdGl2ZS9saWJuaW8vY2gvTmF0aXZlVGhyZWFkLmMKK0BAIC0zNiw3 ICszNiw3IEBACisgI2lmZGVmIF9fbGludXhfXworICAgI2luY2x1ZGUgPHB0aHJlYWQuaD4KKyAg IC8qIEFsc28gZGVmaW5lZCBpbiBuZXQvbGludXhfY2xvc2UuYyAqLworLSAgI2RlZmluZSBJTlRF UlJVUFRfU0lHTkFMIChfX1NJR1JUTUFYIC0gMikKKysgICNkZWZpbmUgSU5URVJSVVBUX1NJR05B TCAoU0lHUlRNQVggLSAyKQorICNlbGlmIF9BSVgKKyAgICNpbmNsdWRlIDxwdGhyZWFkLmg+Cisg ICAvKiBBbHNvIGRlZmluZWQgaW4gbmV0L2FpeF9jbG9zZS5jICovCistLS0gb2xkL3NyYy9qYXZh LmRlc2t0b3AvdW5peC9uYXRpdmUvbGliYXd0X3hhd3QveGF3dC9YVG9vbGtpdC5jCisrKysgbmV3 L3NyYy9qYXZhLmRlc2t0b3AvdW5peC9uYXRpdmUvbGliYXd0X3hhd3QveGF3dC9YVG9vbGtpdC5j CitAQCAtMjcsOSArMjcsNiBAQAorICNpbmNsdWRlIDxYMTEvWHV0aWwuaD4KKyAjaW5jbHVkZSA8 WDExL1hvcy5oPgorICNpbmNsdWRlIDxYMTEvWGF0b20uaD4KKy0jaWZkZWYgX19saW51eF9fCist I2luY2x1ZGUgPGV4ZWNpbmZvLmg+CistI2VuZGlmCisKKyAjaW5jbHVkZSA8anZtLmg+CisgI2lu Y2x1ZGUgPGpuaS5oPgorQEAgLTc4NiwyNiArNzgzLDYgQEAKKyAgICAgfQorICAgICByZXR1cm4g cmV0OworIH0KKy0KKy0jaWZkZWYgX19saW51eF9fCistdm9pZCBwcmludF9zdGFjayh2b2lkKQor LXsKKy0gIHZvaWQgKmFycmF5WzEwXTsKKy0gIHNpemVfdCBzaXplOworLSAgY2hhciAqKnN0cmlu Z3M7CistICBzaXplX3QgaTsKKy0KKy0gIHNpemUgPSBiYWNrdHJhY2UgKGFycmF5LCAxMCk7Cist ICBzdHJpbmdzID0gYmFja3RyYWNlX3N5bWJvbHMgKGFycmF5LCBzaXplKTsKKy0KKy0gIGZwcmlu dGYgKHN0ZGVyciwgIk9idGFpbmVkICV6ZCBzdGFjayBmcmFtZXMuXG4iLCBzaXplKTsKKy0KKy0g IGZvciAoaSA9IDA7IGkgPCBzaXplOyBpKyspCistICAgICBmcHJpbnRmIChzdGRlcnIsICIlc1xu Iiwgc3RyaW5nc1tpXSk7CistCistICBmcmVlIChzdHJpbmdzKTsKKy19CistI2VuZGlmCisKKyBX aW5kb3cgZ2V0X3hhd3Rfcm9vdF9zaGVsbChKTklFbnYgKmVudikgeworICAgc3RhdGljIGpjbGFz cyBjbGFzc1hSb290V2luZG93ID0gTlVMTDsKKy0tLSBvbGQvc3JjL2pkay5qZHdwLmFnZW50L3No YXJlL25hdGl2ZS9saWJqZHdwL3V0aWwuaAorKysrIG5ldy9zcmMvamRrLmpkd3AuYWdlbnQvc2hh cmUvbmF0aXZlL2xpYmpkd3AvdXRpbC5oCitAQCAtMzUsMTUgKzM1LDE1IEBACisgI2lmZGVmIERF QlVHCisgICAgIC8qIEp1c3QgdG8gbWFrZSBzdXJlIHRoZXNlIGludGVyZmFjZXMgYXJlIG5vdCB1 c2VkIGhlcmUuICovCisgICAgICN1bmRlZiBmcmVlCistICAgICNkZWZpbmUgZnJlZShwKSBEbyBu b3QgdXNlIHRoaXMgaW50ZXJmYWNlLgorKyAgICAjZGVmaW5lIGZyZWUgZG9fbm90X3VzZV90aGlz X2ludGVyZmFjZV9mcmVlCisgICAgICN1bmRlZiBtYWxsb2MKKy0gICAgI2RlZmluZSBtYWxsb2Mo cCkgRG8gbm90IHVzZSB0aGlzIGludGVyZmFjZS4KKysgICAgI2RlZmluZSBtYWxsb2MgZG9fbm90 X3VzZV90aGlzX2ludGVyZmFjZV9tYWxsb2MKKyAgICAgI3VuZGVmIGNhbGxvYworLSAgICAjZGVm aW5lIGNhbGxvYyhwKSBEbyBub3QgdXNlIHRoaXMgaW50ZXJmYWNlLgorKyAgICAjZGVmaW5lIGNh bGxvYyBkb19ub3RfdXNlX3RoaXNfaW50ZXJmYWNlX2NhbGxvYworICAgICAjdW5kZWYgcmVhbGxv YworLSAgICAjZGVmaW5lIHJlYWxsb2MocCkgRG8gbm90IHVzZSB0aGlzIGludGVyZmFjZS4KKysg ICAgI2RlZmluZSByZWFsbG9jIGRvX25vdF91c2VfdGhpc19pbnRlcmZhY2VfcmVhbGxvYworICAg ICAjdW5kZWYgc3RyZHVwCistICAgICNkZWZpbmUgc3RyZHVwKHApIERvIG5vdCB1c2UgdGhpcyBp bnRlcmZhY2UuCisrICAgICNkZWZpbmUgc3RyZHVwIGRvX25vdF91c2VfdGhpc19pbnRlcmZhY2Vf c3RyZHVwCisgI2VuZGlmCisKKyAjaW5jbHVkZSAibG9nX21lc3NhZ2VzLmgiCistLS0gb2xkL3Rl c3QvaG90c3BvdC9qdHJlZy9ydW50aW1lL1N0YWNrR3VhcmRQYWdlcy9leGVpbnZva2UuYworKysr IG5ldy90ZXN0L2hvdHNwb3QvanRyZWcvcnVudGltZS9TdGFja0d1YXJkUGFnZXMvZXhlaW52b2tl LmMKK0BAIC0zMyw2ICszMyw3IEBACisKKyAjaW5jbHVkZSA8YXNzZXJ0Lmg+CisgI2luY2x1ZGUg PGpuaS5oPgorKyNpbmNsdWRlIDxqdm0uaD4KKyAjaW5jbHVkZSA8YWxsb2NhLmg+CisgI2luY2x1 ZGUgPHNpZ25hbC5oPgorICNpbmNsdWRlIDxzdHJpbmcuaD4KK0BAIC05MSw2ICs5MiwyMCBAQAor ICAgfQorIH0KKworK2ludCBnZXRfamF2YV9zdGFja3NpemUgKCkgeworKyAgc2l6ZV90IHN0YWNr c2l6ZTsKKysgIHB0aHJlYWRfYXR0cl90IGF0dHI7CisrICBKREsxXzFJbml0QXJncyBqZGtfYXJn czsKKysKKysgIGpka19hcmdzLnZlcnNpb24gPSBKTklfVkVSU0lPTl8xXzE7CisrICBKTklfR2V0 RGVmYXVsdEphdmFWTUluaXRBcmdzKCZqZGtfYXJncyk7CisrICBpZiAoamRrX2FyZ3MuamF2YVN0 YWNrU2l6ZSA8PSAwKSB7CisrICAgIGZwcmludGYoc3RkZXJyLCAiVGVzdCBFUlJPUi4gQ2FuJ3Qg Z2V0IGEgdmFsaWQgdmFsdWUgZm9yIHRoZSBkZWZhdWx0IHN0YWNrc2l6ZS5cbiIpOworKyAgICBl eGl0KDcpOworKyAgfQorKyAgcmV0dXJuIGpka19hcmdzLmphdmFTdGFja1NpemU7CisrfQorKwor IHZvaWQgKnJ1bl9qYXZhX292ZXJmbG93ICh2b2lkICpwKSB7CisgICBKTklFbnYgKmVudjsKKyAg IGpjbGFzcyBjbGFzc19pZDsKK0BAIC0yNTQsMTMgKzI2OSwxOSBAQAorICAgICBleGl0KDcpOwor ICAgfQorCisrICBpbnQgc3RhY2tfc2l6ZSA9IGdldF9qYXZhX3N0YWNrc2l6ZSgpOworICAgcHRo cmVhZF90IHRocjsKKysgIHB0aHJlYWRfYXR0cl90IHRocmVhZF9hdHRyOworCisrICBwdGhyZWFk X2F0dHJfaW5pdCgmdGhyZWFkX2F0dHIpOworKyAgcHRocmVhZF9hdHRyX3NldHN0YWNrc2l6ZSgm dGhyZWFkX2F0dHIsIHN0YWNrX3NpemUpOworKworICAgaWYgKGFyZ2MgPiAxICYmIHN0cmNtcChh cmd2WzFdLCAidGVzdF9qYXZhX292ZXJmbG93IikgPT0gMCkgeworICAgICBwcmludGYoIlxuVGVz dGluZyBKQVZBX09WRVJGTE9XXG4iKTsKKworICAgICBwcmludGYoIlRlc3Rpbmcgc3RhY2sgZ3Vh cmQgcGFnZSBiZWhhdmlvdXIgZm9yIG90aGVyIHRocmVhZFxuIik7CistICAgIHB0aHJlYWRfY3Jl YXRlICgmdGhyLCBOVUxMLCBydW5famF2YV9vdmVyZmxvdywgTlVMTCk7CisrCisrICAgIHB0aHJl YWRfY3JlYXRlICgmdGhyLCAmdGhyZWFkX2F0dHIsIHJ1bl9qYXZhX292ZXJmbG93LCBOVUxMKTsK KyAgICAgcHRocmVhZF9qb2luICh0aHIsIE5VTEwpOworCisgICAgIHByaW50ZigiVGVzdGluZyBz dGFjayBndWFyZCBwYWdlIGJlaGF2aW91ciBmb3IgaW5pdGlhbCB0aHJlYWRcbiIpOworQEAgLTI3 Myw3ICsyOTQsNyBAQAorICAgICBwcmludGYoIlxuVGVzdGluZyBOQVRJVkVfT1ZFUkZMT1dcbiIp OworCisgICAgIHByaW50ZigiVGVzdGluZyBzdGFjayBndWFyZCBwYWdlIGJlaGF2aW91ciBmb3Ig b3RoZXIgdGhyZWFkXG4iKTsKKy0gICAgcHRocmVhZF9jcmVhdGUgKCZ0aHIsIE5VTEwsIHJ1bl9u YXRpdmVfb3ZlcmZsb3csIE5VTEwpOworKyAgICBwdGhyZWFkX2NyZWF0ZSAoJnRociwgJnRocmVh ZF9hdHRyLCBydW5fbmF0aXZlX292ZXJmbG93LCBOVUxMKTsKKyAgICAgcHRocmVhZF9qb2luICh0 aHIsIE5VTEwpOworCisgICAgIHByaW50ZigiVGVzdGluZyBzdGFjayBndWFyZCBwYWdlIGJlaGF2 aW91ciBmb3IgaW5pdGlhbCB0aHJlYWRcbiIpOworLS0tIG9sZC90ZXN0L2pkay9qYXZhL2xhbmcv UHJvY2Vzc0J1aWxkZXIvQmFzaWMuamF2YQorKysrIG5ldy90ZXN0L2pkay9qYXZhL2xhbmcvUHJv Y2Vzc0J1aWxkZXIvQmFzaWMuamF2YQorQEAgLTM4OSw4ICszODksOCBAQAorICAgICAgICAgICAg ICAgICBpZiAoZmFpbGVkICE9IDApIHRocm93IG5ldyBFcnJvcigibnVsbCBQQVRIIik7CisgICAg ICAgICAgICAgfSBlbHNlIGlmIChhY3Rpb24uZXF1YWxzKCJQQVRIIHNlYXJjaCBhbGdvcml0aG0i KSkgeworICAgICAgICAgICAgICAgICBlcXVhbChTeXN0ZW0uZ2V0ZW52KCJQQVRIIiksICJkaXIx OmRpcjI6Iik7CistICAgICAgICAgICAgICAgIGNoZWNrKG5ldyBGaWxlKCIvYmluL3RydWUiKS5l eGlzdHMoKSk7CistICAgICAgICAgICAgICAgIGNoZWNrKG5ldyBGaWxlKCIvYmluL2ZhbHNlIiku ZXhpc3RzKCkpOworKyAgICAgICAgICAgICAgICBjaGVjayhuZXcgRmlsZShUcnVlRXhlLnBhdGgo KSkuZXhpc3RzKCkpOworKyAgICAgICAgICAgICAgICBjaGVjayhuZXcgRmlsZShGYWxzZUV4ZS5w YXRoKCkpLmV4aXN0cygpKTsKKyAgICAgICAgICAgICAgICAgU3RyaW5nW10gY21kID0geyJwcm9n In07CisgICAgICAgICAgICAgICAgIFByb2Nlc3NCdWlsZGVyIHBiMSA9IG5ldyBQcm9jZXNzQnVp bGRlcihjbWQpOworICAgICAgICAgICAgICAgICBQcm9jZXNzQnVpbGRlciBwYjIgPSBuZXcgUHJv Y2Vzc0J1aWxkZXIoY21kKTsKK0BAIC00MzEsMTMgKzQzMSwxMyBAQAorICAgICAgICAgICAgICAg ICAgICAgICAgIGNoZWNrUGVybWlzc2lvbkRlbmllZChwYik7CisKKyAgICAgICAgICAgICAgICAg ICAgICAgICAvLyBjb250aW51ZSBzZWFyY2hpbmcgaWYgRUFDQ0VTCistICAgICAgICAgICAgICAg ICAgICAgICAgY29weSgiL2Jpbi90cnVlIiwgImRpcjIvcHJvZyIpOworKyAgICAgICAgICAgICAg ICAgICAgICAgIGNvcHkoVHJ1ZUV4ZS5wYXRoKCksICJkaXIyL3Byb2ciKTsKKyAgICAgICAgICAg ICAgICAgICAgICAgICBlcXVhbChydW4ocGIpLmV4aXRWYWx1ZSgpLCBUcnVlLmV4aXRWYWx1ZSgp KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgRmlsZSgiZGlyMS9wcm9nIikuZGVsZXRl KCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEZpbGUoImRpcjIvcHJvZyIpLmRlbGV0 ZSgpOworCisgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEZpbGUoImRpcjIvcHJvZyIpLm1r ZGlycygpOworLSAgICAgICAgICAgICAgICAgICAgICAgIGNvcHkoIi9iaW4vdHJ1ZSIsICJkaXIx L3Byb2ciKTsKKysgICAgICAgICAgICAgICAgICAgICAgICBjb3B5KFRydWVFeGUucGF0aCgpLCAi ZGlyMS9wcm9nIik7CisgICAgICAgICAgICAgICAgICAgICAgICAgZXF1YWwocnVuKHBiKS5leGl0 VmFsdWUoKSwgVHJ1ZS5leGl0VmFsdWUoKSk7CisKKyAgICAgICAgICAgICAgICAgICAgICAgICAv LyBDaGVjayBlbXB0eSBQQVRIIGNvbXBvbmVudCBtZWFucyBjdXJyZW50IGRpcmVjdG9yeS4KK0BA IC00NTMsMTAgKzQ1MywxMCBAQAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYi5jb21t YW5kKGNvbW1hbmQpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWxlIHByb2cgPSBu ZXcgRmlsZSgiLi9wcm9nIik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICJOb3Jt YWwiIGJpbmFyaWVzCistICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvcHkoIi9iaW4vdHJ1 ZSIsICIuL3Byb2ciKTsKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29weShUcnVlRXhl LnBhdGgoKSwgIi4vcHJvZyIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcXVhbChy dW4ocGIpLmV4aXRWYWx1ZSgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBU cnVlLmV4aXRWYWx1ZSgpKTsKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29weSgiL2Jp bi9mYWxzZSIsICIuL3Byb2ciKTsKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29weShG YWxzZUV4ZS5wYXRoKCksICIuL3Byb2ciKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZXF1YWwocnVuKHBiKS5leGl0VmFsdWUoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgRmFsc2UuZXhpdFZhbHVlKCkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw cm9nLmRlbGV0ZSgpOworQEAgLTUxMSwxMiArNTExLDEyIEBACisgICAgICAgICAgICAgICAgICAg ICAgICAgbmV3IEZpbGUoImRpcjIvcHJvZyIpLmRlbGV0ZSgpOworICAgICAgICAgICAgICAgICAg ICAgICAgIG5ldyBGaWxlKCJwcm9nIikuZGVsZXRlKCk7CisgICAgICAgICAgICAgICAgICAgICAg ICAgbmV3IEZpbGUoImRpcjMiKS5ta2RpcnMoKTsKKy0gICAgICAgICAgICAgICAgICAgICAgICBj b3B5KCIvYmluL3RydWUiLCAiZGlyMS9wcm9nIik7CistICAgICAgICAgICAgICAgICAgICAgICAg Y29weSgiL2Jpbi9mYWxzZSIsICJkaXIzL3Byb2ciKTsKKysgICAgICAgICAgICAgICAgICAgICAg ICBjb3B5KFRydWVFeGUucGF0aCgpLCAiZGlyMS9wcm9nIik7CisrICAgICAgICAgICAgICAgICAg ICAgICAgY29weShGYWxzZUV4ZS5wYXRoKCksICJkaXIzL3Byb2ciKTsKKyAgICAgICAgICAgICAg ICAgICAgICAgICBwYi5lbnZpcm9ubWVudCgpLnB1dCgiUEFUSCIsImRpcjMiKTsKKyAgICAgICAg ICAgICAgICAgICAgICAgICBlcXVhbChydW4ocGIpLmV4aXRWYWx1ZSgpLCBUcnVlLmV4aXRWYWx1 ZSgpKTsKKy0gICAgICAgICAgICAgICAgICAgICAgICBjb3B5KCIvYmluL3RydWUiLCAiZGlyMy9w cm9nIik7CistICAgICAgICAgICAgICAgICAgICAgICAgY29weSgiL2Jpbi9mYWxzZSIsICJkaXIx L3Byb2ciKTsKKysgICAgICAgICAgICAgICAgICAgICAgICBjb3B5KFRydWVFeGUucGF0aCgpLCAi ZGlyMy9wcm9nIik7CisrICAgICAgICAgICAgICAgICAgICAgICAgY29weShGYWxzZUV4ZS5wYXRo KCksICJkaXIxL3Byb2ciKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICBlcXVhbChydW4ocGIp LmV4aXRWYWx1ZSgpLCBGYWxzZS5leGl0VmFsdWUoKSk7CisKKyAgICAgICAgICAgICAgICAgICAg IH0gZmluYWxseSB7CitAQCAtNjEzLDYgKzYxMywxMyBAQAorICAgICAgICAgICAgICBuZXcgRmls ZSgiL2Jpbi9mYWxzZSIpLmV4aXN0cygpKTsKKyAgICAgfQorCisrICAgIHN0YXRpYyBjbGFzcyBC dXN5Qm94IHsKKysgICAgICAgIHB1YmxpYyBzdGF0aWMgYm9vbGVhbiBpcygpIHsgcmV0dXJuIGlz OyB9CisrICAgICAgICBwcml2YXRlIHN0YXRpYyBmaW5hbCBib29sZWFuIGlzID0KKysgICAgICAg ICAgICAoISBXaW5kb3dzLmlzKCkgJiYKKysgICAgICAgICAgICAgbmV3IEZpbGUoIi9iaW4vYnVz eWJveCIpLmV4aXN0cygpKTsKKysgICAgfQorKworICAgICBzdGF0aWMgY2xhc3MgVW5pY29kZU9T IHsKKyAgICAgICAgIHB1YmxpYyBzdGF0aWMgYm9vbGVhbiBpcygpIHsgcmV0dXJuIGlzOyB9Cisg ICAgICAgICBwcml2YXRlIHN0YXRpYyBmaW5hbCBTdHJpbmcgb3NOYW1lID0gU3lzdGVtLmdldFBy b3BlcnR5KCJvcy5uYW1lIik7CitAQCAtNjUxLDYgKzY1OCw0NSBAQAorICAgICAgICAgfQorICAg ICB9CisKKysgICAgLy8gT24gYWxwaW5lIGxpbnV4LCAvYmluL3RydWUgYW5kIC9iaW4vZmFsc2Ug YXJlIGp1c3QgbGlua3MgdG8gL2Jpbi9idXN5Ym94LgorKyAgICAvLyBTb21lIHRlc3RzIGNvcHkg L2Jpbi90cnVlIGFuZCAvYmluL2ZhbHNlIHRvIGZpbGVzIHdpdGggYSBkaWZmZXJlbnQgZmlsZW5h bWUuCisrICAgIC8vIEhvd2V2ZXIsIGNvcHlpbmcgdGhlIGJ1c2JveCBleGVjdXRhYmxlIGludG8g YSBmaWxlIHdpdGggYSBkaWZmZXJlbnQgbmFtZQorKyAgICAvLyB3b24ndCByZXN1bHQgaW4gdGhl IGV4cGVjdGVkIHJldHVybiBjb2Rlcy4gQXMgd29ya2Fyb3VuZCwgd2UgY3JlYXRlCisrICAgIC8v IGV4ZWN1dGFibGUgZmlsZXMgdGhhdCBjYW4gYmUgY29waWVkIGFuZCBwcm9kdWNlIHRoZSBleGVw ZWN0ZWQgcmV0dXJuCisrICAgIC8vIHZhbHVlcy4gV2UgdXNlIHRoaXMgd29ya2Fyb3VuZCwgaWYg d2UgZmluZCB0aGUgYnVzeWJveCBleGVjdXRhYmxlLgorKworKyAgICBwcml2YXRlIHN0YXRpYyBj bGFzcyBUcnVlRXhlIHsKKysgICAgICAgIHB1YmxpYyBzdGF0aWMgU3RyaW5nIHBhdGgoKSB7IHJl dHVybiBwYXRoOyB9CisrICAgICAgICBwcml2YXRlIHN0YXRpYyBmaW5hbCBTdHJpbmcgcGF0aCA9 IHBhdGgwKCk7CisrICAgICAgICBwcml2YXRlIHN0YXRpYyBTdHJpbmcgcGF0aDAoKXsKKysgICAg ICAgICAgICBpZiAoIUJ1c3lCb3guaXMoKSkgeworKyAgICAgICAgICAgICAgICByZXR1cm4gIi9i aW4vdHJ1ZSI7CisrICAgICAgICAgICAgfQorKyAgICAgICAgICAgIGVsc2UgeworKyAgICAgICAg ICAgICAgICBGaWxlIHRydWVFeGUgPSBuZXcgRmlsZSgidHJ1ZSIpOworKyAgICAgICAgICAgICAg ICBzZXRGaWxlQ29udGVudHModHJ1ZUV4ZSwgIiMhL2Jpbi90cnVlXG4iKTsKKysgICAgICAgICAg ICAgICAgdHJ1ZUV4ZS5zZXRFeGVjdXRhYmxlKHRydWUpOworKyAgICAgICAgICAgICAgICByZXR1 cm4gdHJ1ZUV4ZS5nZXRBYnNvbHV0ZVBhdGgoKTsKKysgICAgICAgICAgICB9CisrICAgICAgICB9 CisrICAgIH0KKysKKysgICAgcHJpdmF0ZSBzdGF0aWMgY2xhc3MgRmFsc2VFeGUgeworKyAgICAg ICAgcHVibGljIHN0YXRpYyBTdHJpbmcgcGF0aCgpIHsgcmV0dXJuIHBhdGg7IH0KKysgICAgICAg IHByaXZhdGUgc3RhdGljIGZpbmFsIFN0cmluZyBwYXRoID0gcGF0aDAoKTsKKysgICAgICAgIHBy aXZhdGUgc3RhdGljIFN0cmluZyBwYXRoMCgpeworKyAgICAgICAgICAgIGlmICghQnVzeUJveC5p cygpKSB7CisrICAgICAgICAgICAgICAgIHJldHVybiAiL2Jpbi9mYWxzZSI7CisrICAgICAgICAg ICAgfQorKyAgICAgICAgICAgIGVsc2UgeworKyAgICAgICAgICAgICAgICBGaWxlIGZhbHNlRXhl ID0gbmV3IEZpbGUoImZhbHNlIik7CisrICAgICAgICAgICAgICAgIHNldEZpbGVDb250ZW50cyhm YWxzZUV4ZSwgIiMhL2Jpbi9mYWxzZVxuIik7CisrICAgICAgICAgICAgICAgIGZhbHNlRXhlLnNl dEV4ZWN1dGFibGUodHJ1ZSk7CisrICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZUV4ZS5nZXRB YnNvbHV0ZVBhdGgoKTsKKysgICAgICAgICAgICB9CisrICAgICAgICB9CisrICAgIH0KKysKKyAg ICAgc3RhdGljIGNsYXNzIEVuZ2xpc2hVbml4IHsKKyAgICAgICAgIHByaXZhdGUgc3RhdGljIGZp bmFsIEJvb2xlYW4gaXMgPQorICAgICAgICAgICAgICghIFdpbmRvd3MuaXMoKSAmJiBpc0VuZ2xp c2goIkxBTkciKSAmJiBpc0VuZ2xpc2goIkxDX0FMTCIpKTsKK0BAIC0xOTU0LDcgKzIwMDAsNyBA QAorICAgICAgICAgICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg ICAgICAgIG5ldyBGaWxlKCJzdUJkaVIiKS5ta2RpcnMoKTsKKy0gICAgICAgICAgICAgICAgY29w eSgiL2Jpbi90cnVlIiwgInN1QmRpUi91bmxpS2VseSIpOworKyAgICAgICAgICAgICAgICBjb3B5 KFRydWVFeGUucGF0aCgpLCAic3VCZGlSL3VubGlLZWx5Iik7CisgICAgICAgICAgICAgICAgIGZp bmFsIFByb2Nlc3NCdWlsZGVyIHBiID0KKyAgICAgICAgICAgICAgICAgICAgIG5ldyBQcm9jZXNz QnVpbGRlcihuZXcgU3RyaW5nW117InVubGlLZWx5In0pOworICAgICAgICAgICAgICAgICBwYi5l bnZpcm9ubWVudCgpLnB1dCgiUEFUSCIsICJzdUJkaVIiKTsKKy0tLSBvbGQvdGVzdC9qZGsvamF2 YS9sYW5nL1Byb2Nlc3NIYW5kbGUvSW5mb1Rlc3QuamF2YQorKysrIG5ldy90ZXN0L2pkay9qYXZh L2xhbmcvUHJvY2Vzc0hhbmRsZS9JbmZvVGVzdC5qYXZhCitAQCAtMjk4LDYgKzI5OCwxMyBAQAor ICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgIGlmIChpbmZvLmNvbW1hbmQoKS5p c1ByZXNlbnQoKSkgeworICAgICAgICAgICAgICAgICAgICAgU3RyaW5nIGNvbW1hbmQgPSBpbmZv LmNvbW1hbmQoKS5nZXQoKTsKKy0gICAgICAgICAgICAgICAgICAgIFN0cmluZyBleHBlY3RlZCA9 IFBsYXRmb3JtLmlzV2luZG93cygpID8gInNsZWVwLmV4ZSIgOiAic2xlZXAiOworKyAgICAgICAg ICAgICAgICAgICAgU3RyaW5nIGV4cGVjdGVkID0gInNsZWVwIjsKKysgICAgICAgICAgICAgICAg ICAgIGlmIChQbGF0Zm9ybS5pc1dpbmRvd3MoKSkgeworKyAgICAgICAgICAgICAgICAgICAgICAg IGV4cGVjdGVkID0gInNsZWVwLmV4ZSI7CisrICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYg KG5ldyBGaWxlKCIvYmluL2J1c3lib3giKS5leGlzdHMoKSkgeworKyAgICAgICAgICAgICAgICAg ICAgICAgIC8vIFdpdGggYnVzeWJveCBzbGVlcCBpcyBqdXN0IGEgc3ltIGxpbmsgdG8gYnVzeWJv eC4KKysgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGUgYnVzYm94IGV4ZWN1dGFibGUgaXMg c2VlbiBhcyBQcm9jZXNzSGFuZGxlLkluZm8gY29tbWFuZC4KKysgICAgICAgICAgICAgICAgICAg ICAgICBleHBlY3RlZCA9ICJidXN5Ym94IjsKKysgICAgICAgICAgICAgICAgICAgIH0KKyAgICAg ICAgICAgICAgICAgICAgIEFzc2VydC5hc3NlcnRUcnVlKGNvbW1hbmQuZW5kc1dpdGgoZXhwZWN0 ZWQpLCAiQ29tbWFuZDogZXhwZWN0ZWQ6IFwnIiArCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGV4cGVjdGVkICsgIlwnLCBhY3R1YWw6ICIgKyBjb21tYW5kKTsKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3Mvb3Blbmpkay0xMS9maWxlcy9tdXNsX3BhdGNoZXMvcHBjNjRsZS5wYXRjaCBiL3NyY3Br Z3Mvb3Blbmpkay0xMS9maWxlcy9tdXNsX3BhdGNoZXMvcHBjNjRsZS5wYXRjaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNjdmNjY0MjE0MmMKLS0tIC9kZXYvbnVsbAor KysgYi9zcmNwa2dzL29wZW5qZGstMTEvZmlsZXMvbXVzbF9wYXRjaGVzL3BwYzY0bGUucGF0Y2gK QEAgLTAsMCArMSwyMjEgQEAKK1BhdGNoZXMgZm9yIG11c2wgdGFrZW4gZnJvbSBBbHBpbmUgbGlu dXg6IGh0dHBzOi8vZ2l0LmFscGluZWxpbnV4Lm9yZy9hcG9ydHMvY29tbWl0Lz9pZD04YTFhZTE3 ZDRhOWFmNTQyODVjNzg5MWE2ODA2MjBlN2UyNGM2MjgwCistLS0gb2xkL3NyYy9ob3RzcG90L2Nw dS9wcGMvbWFjcm9Bc3NlbWJsZXJfcHBjLmNwcAorKysrIG5ldy9zcmMvaG90c3BvdC9jcHUvcHBj L21hY3JvQXNzZW1ibGVyX3BwYy5jcHAKK0BAIC0xMjkwLDcgKzEyOTAsMTEgQEAKKyAgIC8vIHRo ZSBzYWZlcG9pbmcgcG9sbGluZyBwYWdlLgorICAgdWNvbnRleHRfdCogdWMgPSAodWNvbnRleHRf dCopIHVjb250ZXh0OworICAgLy8gU2V0IHBvbGxpbmcgYWRkcmVzcy4KKysjaWYgZGVmaW5lZChf X0dMSUJDX18pIHx8IGRlZmluZWQoX19VQ0xJQkNfXykKKyAgIGFkZHJlc3MgYWRkciA9IChhZGRy ZXNzKXVjLT51Y19tY29udGV4dC5yZWdzLT5ncHJbcmFdICsgKHNzaXplX3QpZHM7CisrI2Vsc2Ug Ly8gTXVzbAorKyAgYWRkcmVzcyBhZGRyID0gKGFkZHJlc3MpdWMtPnVjX21jb250ZXh0LmdwX3Jl Z3NbcmFdICsgKHNzaXplX3QpIGRzOworKyNlbmRpZgorICAgaWYgKHBvbGxpbmdfYWRkcmVzc19w dHIgIT0gTlVMTCkgeworICAgICAqcG9sbGluZ19hZGRyZXNzX3B0ciA9IGFkZHI7CisgICB9CitA QCAtMTMxMSwxNSArMTMxNSwyNCBAQAorICAgICBpbnQgcmIgPSBpbnZfcmJfZmllbGQoaW5zdHJ1 Y3Rpb24pOworCisgICAgIC8vIGxvb2sgdXAgY29udGVudCBvZiByYSBhbmQgcmIgaW4gdWNvbnRl eHQKKysjaWYgZGVmaW5lZChfX0dMSUJDX18pIHx8IGRlZmluZWQoX19VQ0xJQkNfXykKKyAgICAg YWRkcmVzcyByYV92YWw9KGFkZHJlc3MpdWMtPnVjX21jb250ZXh0LnJlZ3MtPmdwcltyYV07Cisg ICAgIGxvbmcgcmJfdmFsPShsb25nKXVjLT51Y19tY29udGV4dC5yZWdzLT5ncHJbcmJdOworKyNl bHNlIC8vIE11c2wKKysgICAgYWRkcmVzcyByYV92YWw9KGFkZHJlc3MpdWMtPnVjX21jb250ZXh0 LmdwX3JlZ3NbcmFdOworKyAgICBsb25nIHJiX3ZhbD0obG9uZyl1Yy0+dWNfbWNvbnRleHQuZ3Bf cmVnc1tyYl07CisrI2VuZGlmCisgICAgIHJldHVybiBvczo6aXNfbWVtb3J5X3NlcmlhbGl6ZV9w YWdlKHRocmVhZCwgcmFfdmFsK3JiX3ZhbCk7CisgICB9IGVsc2UgaWYgKGlzX3N0dyhpbnN0cnVj dGlvbikgfHwgaXNfc3R3dShpbnN0cnVjdGlvbikpIHsKKyAgICAgaW50IHJhID0gaW52X3JhX2Zp ZWxkKGluc3RydWN0aW9uKTsKKyAgICAgaW50IGQxID0gaW52X2QxX2ZpZWxkKGluc3RydWN0aW9u KTsKKworICAgICAvLyBsb29rIHVwIGNvbnRlbnQgb2YgcmEgaW4gdWNvbnRleHQKKysjaWYgZGVm aW5lZChfX0dMSUJDX18pIHx8IGRlZmluZWQoX19VQ0xJQkNfXykKKyAgICAgYWRkcmVzcyByYV92 YWw9KGFkZHJlc3MpdWMtPnVjX21jb250ZXh0LnJlZ3MtPmdwcltyYV07CisrI2Vsc2UgLy8gTXVz bAorKyAgICBhZGRyZXNzIHJhX3ZhbD0oYWRkcmVzcyl1Yy0+dWNfbWNvbnRleHQuZ3BfcmVnc1ty YV07CisrI2VuZGlmCisgICAgIHJldHVybiBvczo6aXNfbWVtb3J5X3NlcmlhbGl6ZV9wYWdlKHRo cmVhZCwgcmFfdmFsK2QxKTsKKyAgIH0gZWxzZSB7CisgICAgIHJldHVybiBmYWxzZTsKK0BAIC0x MzgyLDExICsxMzk1LDIwIEBACisgICAgICAgfHwgKGlzX3N0ZHUoaW5zdHJ1Y3Rpb24pICYmIHJz ID09IDEpKSB7CisgICAgIGludCBkcyA9IGludl9kc19maWVsZChpbnN0cnVjdGlvbik7CisgICAg IC8vIHJldHVybiBiYW5nZWQgYWRkcmVzcworKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykgfHwgZGVm aW5lZChfX1VDTElCQ19fKQorICAgICByZXR1cm4gZHMrKGFkZHJlc3MpdWMtPnVjX21jb250ZXh0 LnJlZ3MtPmdwcltyYV07CisrI2Vsc2UgLy8gTXVzbAorKyAgICByZXR1cm4gZHMrKGFkZHJlc3Mp dWMtPnVjX21jb250ZXh0LmdwX3JlZ3NbcmFdOworKyNlbmRpZgorICAgfSBlbHNlIGlmIChpc19z dGR1eChpbnN0cnVjdGlvbikgJiYgcnMgPT0gMSkgeworICAgICBpbnQgcmIgPSBpbnZfcmJfZmll bGQoaW5zdHJ1Y3Rpb24pOworKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykgfHwgZGVmaW5lZChfX1VD TElCQ19fKQorICAgICBhZGRyZXNzIHNwID0gKGFkZHJlc3MpdWMtPnVjX21jb250ZXh0LnJlZ3Mt PmdwclsxXTsKKyAgICAgbG9uZyByYl92YWwgPSAobG9uZyl1Yy0+dWNfbWNvbnRleHQucmVncy0+ Z3ByW3JiXTsKKysjZWxzZSAvLyBNdXNsCisrICAgIGFkZHJlc3Mgc3AgPSAoYWRkcmVzcyl1Yy0+ dWNfbWNvbnRleHQuZ3BfcmVnc1sxXTsKKysgICAgbG9uZyByYl92YWwgPSAobG9uZyl1Yy0+dWNf bWNvbnRleHQuZ3BfcmVnc1tyYl07CisrI2VuZGlmCisgICAgIHJldHVybiByYSAhPSAxIHx8IHJi X3ZhbCA+PSAwID8gTlVMTCAgICAgICAgIC8vIG5vdCBhIHN0YWNrIGJhbmcKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgOiBzcCArIHJiX3ZhbDsgLy8gYmFuZ2VkIGFkZHJlc3MK KyAgIH0KKy0tLSBvbGQvc3JjL2hvdHNwb3QvY3B1L3BwYy92bV92ZXJzaW9uX3BwYy5jcHAKKysr KyBuZXcvc3JjL2hvdHNwb3QvY3B1L3BwYy92bV92ZXJzaW9uX3BwYy5jcHAKK0BAIC03NjgsNyAr NzY4LDcgQEAKKyAgIHVuc2lnbmVkIGxvbmcgYXV4diA9IGdldGF1eHZhbChBVF9IV0NBUDIpOwor CisgICBpZiAoYXV4diAmIFBQQ19GRUFUVVJFMl9IVE1fTk9TQykgeworLSAgICBpZiAoYXV4diAm IFBQQ19GRUFUVVJFMl9IQVNfSFRNKSB7CisrICAgIGlmIChhdXh2ICYgUFBDX0ZFQVRVUkUyX0hU TSkgeworICAgICAgIC8vIFRNIG9uIFBPV0VSOCBhbmQgUE9XRVI5IGluIGNvbXBhdCBtb2RlIChW TSkgaXMgc3VwcG9ydGVkIGJ5IHRoZSBKVk0uCisgICAgICAgLy8gVE0gb24gUE9XRVI5IEREMi4x IE5WIChiYXJlbWV0YWwpIGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIEpWTSAoVE0gb24KKyAgICAg ICAvLyBQT1dFUjkgREQyLjEgTlYgaGFzIGEgZmV3IGlzc3VlcyB0aGF0IG5lZWQgYSBjb3VwbGUg b2YgZmlybXdhcmUKKy0tLSBvbGQvc3JjL2hvdHNwb3Qvb3NfY3B1L2xpbnV4X3BwYy9vc19saW51 eF9wcGMuY3BwCisrKysgbmV3L3NyYy9ob3RzcG90L29zX2NwdS9saW51eF9wcGMvb3NfbGludXhf cHBjLmNwcAorQEAgLTEwOCwyNCArMTA4LDQyIEBACisgICAvLyAtIGlmIHVjIHdhcyBmaWxsZWQg YnkgZ2V0Y29udGV4dCgpLCBpdCBpcyB1bmRlZmluZWQgLSBnZXRjb250ZXh0KCkgZG9lcyBub3Qg ZmlsbAorICAgLy8gICBpdCBiZWNhdXNlIHRoZSB2b2xhdGlsZSByZWdpc3RlcnMgYXJlIG5vdCBu ZWVkZWQgdG8gbWFrZSBzZXRjb250ZXh0KCkgd29yay4KKyAgIC8vICAgSG9wZWZ1bGx5IGl0IHdh cyB6ZXJvJ2Qgb3V0IGJlZm9yZWhhbmQuCisrI2lmIGRlZmluZWQoX19HTElCQ19fKSB8fCBkZWZp bmVkKF9fVUNMSUJDX18pCisgICBndWFyYW50ZWUodWMtPnVjX21jb250ZXh0LnJlZ3MgIT0gTlVM TCwgIm9ubHkgdXNlIHVjb250ZXh0X2dldF9wYyBpbiBzaWdhY3Rpb24gY29udGV4dCIpOworICAg cmV0dXJuIChhZGRyZXNzKXVjLT51Y19tY29udGV4dC5yZWdzLT5uaXA7CisrI2Vsc2UgLy8gTXVz bAorKyAgZ3VhcmFudGVlKHVjLT51Y19tY29udGV4dC5ncF9yZWdzICE9IE5VTEwsICJvbmx5IHVz ZSB1Y29udGV4dF9nZXRfcGMgaW4gc2lnYWN0aW9uIGNvbnRleHQiKTsKKysgIHJldHVybiAoYWRk cmVzcyl1Yy0+dWNfbWNvbnRleHQuZ3BfcmVnc1szMl07CisrI2VuZGlmCisgfQorCisgLy8gbW9k aWZ5IFBDIGluIHVjb250ZXh0LgorIC8vIE5vdGU6IE9ubHkgdXNlIHRoaXMgZm9yIGFuIHVjb250 ZXh0IGhhbmRlZCBkb3duIHRvIGEgc2lnbmFsIGhhbmRsZXIuIFNlZSBjb21tZW50CisgLy8gaW4g dWNvbnRleHRfZ2V0X3BjLgorIHZvaWQgb3M6OkxpbnV4Ojp1Y29udGV4dF9zZXRfcGModWNvbnRl eHRfdCAqIHVjLCBhZGRyZXNzIHBjKSB7CisrI2lmIGRlZmluZWQoX19HTElCQ19fKSB8fCBkZWZp bmVkKF9fVUNMSUJDX18pCisgICBndWFyYW50ZWUodWMtPnVjX21jb250ZXh0LnJlZ3MgIT0gTlVM TCwgIm9ubHkgdXNlIHVjb250ZXh0X3NldF9wYyBpbiBzaWdhY3Rpb24gY29udGV4dCIpOworICAg dWMtPnVjX21jb250ZXh0LnJlZ3MtPm5pcCA9ICh1bnNpZ25lZCBsb25nKXBjOworKyNlbHNlIC8v IE11c2wKKysgIGd1YXJhbnRlZSh1Yy0+dWNfbWNvbnRleHQuZ3BfcmVncyAhPSBOVUxMLCAib25s eSB1c2UgdWNvbnRleHRfc2V0X3BjIGluIHNpZ2FjdGlvbiBjb250ZXh0Iik7CisrICB1Yy0+dWNf bWNvbnRleHQuZ3BfcmVnc1szMl0gPSAodW5zaWduZWQgbG9uZylwYzsKKysjZW5kaWYKKyB9CisK KyBzdGF0aWMgYWRkcmVzcyB1Y29udGV4dF9nZXRfbHIoY29uc3QgdWNvbnRleHRfdCAqIHVjKSB7 CisrI2lmIGRlZmluZWQoX19HTElCQ19fKSB8fCBkZWZpbmVkKF9fVUNMSUJDX18pCisgICByZXR1 cm4gKGFkZHJlc3MpdWMtPnVjX21jb250ZXh0LnJlZ3MtPmxpbms7CisrI2Vsc2UgLy8gTXVzbAor KyAgcmV0dXJuIChhZGRyZXNzKXVjLT51Y19tY29udGV4dC5ncF9yZWdzWzM2XTsKKysjZW5kaWYK KyB9CisKKyBpbnRwdHJfdCogb3M6OkxpbnV4Ojp1Y29udGV4dF9nZXRfc3AoY29uc3QgdWNvbnRl eHRfdCAqIHVjKSB7CisrI2lmIGRlZmluZWQoX19HTElCQ19fKSB8fCBkZWZpbmVkKF9fVUNMSUJD X18pCisgICByZXR1cm4gKGludHB0cl90Kil1Yy0+dWNfbWNvbnRleHQucmVncy0+Z3ByWzEvKlJF R19TUCovXTsKKysjZWxzZSAvLyBNdXNsCisrICByZXR1cm4gKGludHB0cl90Kil1Yy0+dWNfbWNv bnRleHQuZ3BfcmVnc1sxLypSRUdfU1AqL107CisrI2VuZGlmCisgfQorCisgaW50cHRyX3QqIG9z OjpMaW51eDo6dWNvbnRleHRfZ2V0X2ZwKGNvbnN0IHVjb250ZXh0X3QgKiB1YykgeworQEAgLTEz Myw3ICsxNTEsMTEgQEAKKyB9CisKKyBzdGF0aWMgdW5zaWduZWQgbG9uZyB1Y29udGV4dF9nZXRf dHJhcChjb25zdCB1Y29udGV4dF90ICogdWMpIHsKKysjaWYgZGVmaW5lZChfX0dMSUJDX18pIHx8 IGRlZmluZWQoX19VQ0xJQkNfXykKKyAgIHJldHVybiB1Yy0+dWNfbWNvbnRleHQucmVncy0+dHJh cDsKKysjZWxzZSAvLyBNdXNsCisrICByZXR1cm4gdWMtPnVjX21jb250ZXh0LmdwX3JlZ3NbNDBd OworKyNlbmRpZgorIH0KKworIEV4dGVuZGVkUEMgb3M6OmZldGNoX2ZyYW1lX2Zyb21fY29udGV4 dChjb25zdCB2b2lkKiB1Y1ZvaWQsCitAQCAtMjU5LDcgKzI4MSwxMyBAQAorICAgICAvLyAzLjIu MSAiTWFjaGluZSBTdGF0ZSBSZWdpc3RlciIpLCBob3dldmVyIG5vdGUgdGhhdCBJU0Egbm90YXRp b24gZm9yIGJpdAorICAgICAvLyBudW1iZXJpbmcgaXMgTVNCIDAsIHNvIGZvciBub3JtYWwgYml0 IG51bWJlcmluZyAoTFNCIDApIHRoZXkgY29tZSB0byBiZQorICAgICAvLyBiaXRzIDMzIGFuZCAz NC4gSXQncyBub3QgcmVsYXRlZCB0byBlbmRpYW5uZXNzLCBqdXN0IGEgbm90YXRpb24gbWF0dGVy LgorKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykgfHwgZGVmaW5lZChfX1VDTElCQ19fKQorICAgICBp ZiAoc2Vjb25kX3VjLT51Y19tY29udGV4dC5yZWdzLT5tc3IgJiAweDYwMDAwMDAwMCkgeworKyNl bHNlIC8vIE11c2wKKysgICAgLy8gd2h5IDMzPworKyAgICAvLyBzZWUgY29tbWVudCBmb3IgZ2xp YmMgTkdSRUc6ICJyMC1yMzEsIG5pcCwgbXNyLCBsciwgZXRjLiIKKysgICAgaWYgKHNlY29uZF91 Yy0+dWNfbWNvbnRleHQuZ3BfcmVnc1szM10gJiAweDYwMDAwMDAwMCkgeworKyNlbmRpZgorICAg ICAgIGlmIChUcmFjZVRyYXBzKSB7CisgICAgICAgICB0dHktPnByaW50X2NyKCJjYXVnaHQgc2ln bmFsIGluIHRyYW5zYWN0aW9uLCAiCisgICAgICAgICAgICAgICAgICAgICAgICAgImlnbm9yaW5n IHRvIGp1bXAgdG8gYWJvcnQgaGFuZGxlciIpOworQEAgLTU4Niw2ICs2MTQsNyBAQAorICAgY29u c3QgdWNvbnRleHRfdCogdWMgPSAoY29uc3QgdWNvbnRleHRfdCopY29udGV4dDsKKworICAgc3Qt PnByaW50X2NyKCJSZWdpc3RlcnM6Iik7CisrI2lmIGRlZmluZWQoX19HTElCQ19fKSB8fCBkZWZp bmVkKF9fVUNMSUJDX18pCisgICBzdC0+cHJpbnQoInBjID0iIElOVFBUUl9GT1JNQVQgIiAgIiwg dWMtPnVjX21jb250ZXh0LnJlZ3MtPm5pcCk7CisgICBzdC0+cHJpbnQoImxyID0iIElOVFBUUl9G T1JNQVQgIiAgIiwgdWMtPnVjX21jb250ZXh0LnJlZ3MtPmxpbmspOworICAgc3QtPnByaW50KCJj dHI9IiBJTlRQVFJfRk9STUFUICIgICIsIHVjLT51Y19tY29udGV4dC5yZWdzLT5jdHIpOworQEAg LTU5NCw4ICs2MjMsMTggQEAKKyAgICAgc3QtPnByaW50KCJyJS0yZD0iIElOVFBUUl9GT1JNQVQg IiAgIiwgaSwgdWMtPnVjX21jb250ZXh0LnJlZ3MtPmdwcltpXSk7CisgICAgIGlmIChpICUgMyA9 PSAyKSBzdC0+Y3IoKTsKKyAgIH0KKysjZWxzZSAvLyBNdXNsCisrICBzdC0+cHJpbnQoInBjID0i IElOVFBUUl9GT1JNQVQgIiAgIiwgdWMtPnVjX21jb250ZXh0LmdwX3JlZ3NbMzJdKTsKKysgIHN0 LT5wcmludCgibHIgPSIgSU5UUFRSX0ZPUk1BVCAiICAiLCB1Yy0+dWNfbWNvbnRleHQuZ3BfcmVn c1szNl0pOworKyAgc3QtPnByaW50KCJjdHI9IiBJTlRQVFJfRk9STUFUICIgICIsIHVjLT51Y19t Y29udGV4dC5ncF9yZWdzWzM1XSk7CisgICBzdC0+Y3IoKTsKKysgIGZvciAoaW50IGkgPSAwOyBp IDwgMzI7IGkrKykgeworKyAgICBzdC0+cHJpbnQoInIlLTJkPSIgSU5UUFRSX0ZPUk1BVCAiICAi LCBpLCB1Yy0+dWNfbWNvbnRleHQuZ3BfcmVnc1tpXSk7CisrICAgIGlmIChpICUgMyA9PSAyKSBz dC0+Y3IoKTsKKysgIH0KKysjZW5kaWYKKyAgIHN0LT5jcigpOworKyAgc3QtPmNyKCk7CisKKyAg IGludHB0cl90ICpzcCA9IChpbnRwdHJfdCAqKW9zOjpMaW51eDo6dWNvbnRleHRfZ2V0X3NwKHVj KTsKKyAgIHN0LT5wcmludF9jcigiVG9wIG9mIFN0YWNrOiAoc3A9IiBQVFJfRk9STUFUICIpIiwg cDJpKHNwKSk7CitAQCAtNjE4LDEyICs2NTcsMjIgQEAKKyAgIHN0LT5wcmludF9jcigiUmVnaXN0 ZXIgdG8gbWVtb3J5IG1hcHBpbmc6Iik7CisgICBzdC0+Y3IoKTsKKworKyNpZiBkZWZpbmVkKF9f R0xJQkNfXykgfHwgZGVmaW5lZChfX1VDTElCQ19fKQorICAgc3QtPnByaW50KCJwYyA9Iik7IHBy aW50X2xvY2F0aW9uKHN0LCAoaW50cHRyX3QpdWMtPnVjX21jb250ZXh0LnJlZ3MtPm5pcCk7Cisg ICBzdC0+cHJpbnQoImxyID0iKTsgcHJpbnRfbG9jYXRpb24oc3QsIChpbnRwdHJfdCl1Yy0+dWNf bWNvbnRleHQucmVncy0+bGluayk7CisgICBzdC0+cHJpbnQoImN0ciA9Iik7IHByaW50X2xvY2F0 aW9uKHN0LCAoaW50cHRyX3QpdWMtPnVjX21jb250ZXh0LnJlZ3MtPmN0cik7CisrI2Vsc2UgLy8g TXVzbAorKyAgc3QtPnByaW50KCJwYyA9Iik7IHByaW50X2xvY2F0aW9uKHN0LCAoaW50cHRyX3Qp dWMtPnVjX21jb250ZXh0LmdwX3JlZ3NbMzJdKTsKKysgIHN0LT5wcmludCgibHIgPSIpOyBwcmlu dF9sb2NhdGlvbihzdCwgKGludHB0cl90KXVjLT51Y19tY29udGV4dC5ncF9yZWdzWzM2XSk7Cisr ICBzdC0+cHJpbnQoImN0ciA9Iik7IHByaW50X2xvY2F0aW9uKHN0LCAoaW50cHRyX3QpdWMtPnVj X21jb250ZXh0LmdwX3JlZ3NbMzVdKTsKKysjZW5kaWYKKyAgIGZvciAoaW50IGkgPSAwOyBpIDwg MzI7IGkrKykgeworICAgICBzdC0+cHJpbnQoInIlLTJkPSIsIGkpOworKyNpZiBkZWZpbmVkKF9f R0xJQkNfXykgfHwgZGVmaW5lZChfX1VDTElCQ19fKQorICAgICBwcmludF9sb2NhdGlvbihzdCwg dWMtPnVjX21jb250ZXh0LnJlZ3MtPmdwcltpXSk7CisrI2Vsc2UgLy8gTXVzbAorKyAgICBwcmlu dF9sb2NhdGlvbihzdCwgdWMtPnVjX21jb250ZXh0LmdwX3JlZ3NbaV0pOworKyNlbmRpZgorICAg fQorICAgc3QtPmNyKCk7CisgfQorLS0tIG9sZC9zcmMvaG90c3BvdC9vc19jcHUvbGludXhfcHBj L3RocmVhZF9saW51eF9wcGMuY3BwCisrKysgbmV3L3NyYy9ob3RzcG90L29zX2NwdS9saW51eF9w cGMvdGhyZWFkX2xpbnV4X3BwYy5jcHAKK0BAIC01Niw4ICs1NiwxMyBAQAorICAgLy8gaWYgd2Ug d2VyZSBydW5uaW5nIEphdmEgY29kZSB3aGVuIFNJR1BST0YgY2FtZSBpbi4KKyAgIGlmIChpc0lu SmF2YSkgeworICAgICB1Y29udGV4dF90KiB1YyA9ICh1Y29udGV4dF90KikgdWNvbnRleHQ7Cisr I2lmIGRlZmluZWQoX19HTElCQ19fKSB8fCBkZWZpbmVkKF9fVUNMSUJDX18pCisgICAgIGZyYW1l IHJldF9mcmFtZSgoaW50cHRyX3QqKXVjLT51Y19tY29udGV4dC5yZWdzLT5ncHJbMS8qUkVHX1NQ Ki9dLAorICAgICAgICAgICAgICAgICAgICAgIChhZGRyZXNzKXVjLT51Y19tY29udGV4dC5yZWdz LT5uaXApOworKyNlbHNlIC8vIE11c2wKKysgICAgZnJhbWUgcmV0X2ZyYW1lKChpbnRwdHJfdCop dWMtPnVjX21jb250ZXh0LmdwX3JlZ3NbMS8qUkVHX1NQKi9dLAorKyAgICAgICAgICAgICAgICAg ICAgIChhZGRyZXNzKXVjLT51Y19tY29udGV4dC5ncF9yZWdzWzMyXSk7CisrI2VuZGlmCisKKyAg ICAgaWYgKHJldF9mcmFtZS5wYygpID09IE5VTEwpIHsKKyAgICAgICAvLyB1Y29udGV4dCB3YXNu J3QgdXNlZnVsCitAQCAtNjksNyArNzQsMTEgQEAKKyAgICAgICAgaWYgKCEoKE1ldGhvZCopKGlz dGF0ZS0+bWV0aG9kKSktPmlzX21ldGFzcGFjZV9vYmplY3QoKSkgeworICAgICAgICAgIHJldHVy biBmYWxzZTsKKyAgICAgICAgfQorKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykgfHwgZGVmaW5lZChf X1VDTElCQ19fKQorICAgICAgICB1aW50NjRfdCByZWdfYmNwID0gdWMtPnVjX21jb250ZXh0LnJl Z3MtPmdwclsxNC8qUjE0X2JjcCovXTsKKysjZWxzZSAvLyBNdXNsCisrICAgICAgIHVpbnQ2NF90 IHJlZ19iY3AgPSB1Yy0+dWNfbWNvbnRleHQuZ3BfcmVnc1sxNC8qUjE0X2JjcCovXTsKKysjZW5k aWYKKyAgICAgICAgdWludDY0X3QgaXN0YXRlX2JjcCA9IGlzdGF0ZS0+YmNwOworICAgICAgICB1 aW50NjRfdCBjb2RlX3N0YXJ0ID0gKHVpbnQ2NF90KSgoKE1ldGhvZCopKGlzdGF0ZS0+bWV0aG9k KSktPmNvZGVfYmFzZSgpKTsKKyAgICAgICAgdWludDY0X3QgY29kZV9lbmQgPSAodWludDY0X3Qp KCgoTWV0aG9kKilpc3RhdGUtPm1ldGhvZCktPmNvZGVfYmFzZSgpICsgKChNZXRob2QqKWlzdGF0 ZS0+bWV0aG9kKS0+Y29kZV9zaXplKCkpOwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9vcGVuamRrLTEx L2ZpbGVzL211c2xfcGF0Y2hlcy94ODYucGF0Y2ggYi9zcmNwa2dzL29wZW5qZGstMTEvZmlsZXMv bXVzbF9wYXRjaGVzL3g4Ni5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMC4uOWM2NGMxODkwMzYKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL29wZW5qZGstMTEv ZmlsZXMvbXVzbF9wYXRjaGVzL3g4Ni5wYXRjaApAQCAtMCwwICsxLDEzMCBAQAorUGF0Y2hlcyBm b3IgbXVzbCB0YWtlbiBmcm9tIEFscGluZSBsaW51eDogaHR0cHM6Ly9naXQuYWxwaW5lbGludXgu b3JnL2Fwb3J0cy9jb21taXQvP2lkPThhMWFlMTdkNGE5YWY1NDI4NWM3ODkxYTY4MDYyMGU3ZTI0 YzYyODAKKy0tLSBvbGQvc3JjL2hvdHNwb3Qvb3NfY3B1L2xpbnV4X3g4Ni9vc19saW51eF94ODYu Y3BwCisrKysgbmV3L3NyYy9ob3RzcG90L29zX2NwdS9saW51eF94ODYvb3NfbGludXhfeDg2LmNw cAorQEAgLTkwLDYgKzkwLDEyNiBAQAorICNkZWZpbmUgU1BFTExfUkVHX0ZQICJlYnAiCisgI2Vu ZGlmIC8vIEFNRDY0CisKKysvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKysvLyBUYWtlbiBmcm9t IGdsaWJjIDIuMjgKKysvLyBzb3VyY2U6IGh0dHBzOi8vc291cmNld2FyZS5vcmcvZ2l0Lz9wPWds aWJjLmdpdDthPWJsb2I7Zj1zeXNkZXBzL3g4Ni9mcHVfY29udHJvbC5oO2g9NGNiOThjNTY3OWIy ODk3ZmY0ZTU4MjZkMjI4Y2JhNmJlNTg5ZTI0ZDtoYj0zYzAzYmFjYTM3ZmRjYjUyYzM4ODFlNjUz Y2EzOTJiYmE3YTk5YzJiCisrLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisrI2lmbmRlZiBBTUQ2 NAorKy8qIEZQVSBjb250cm9sIHdvcmQgYml0cy4gIHg4NiB2ZXJzaW9uLgorKyAgIENvcHlyaWdo dCAoQykgMTk5My0yMDE4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorKyAgIFRoaXMg ZmlsZSBpcyBwYXJ0IG9mIHRoZSBHTlUgQyBMaWJyYXJ5LgorKyAgIENvbnRyaWJ1dGVkIGJ5IE9s YWYgRmxlYmJlLgorKworKyAgIFRoZSBHTlUgQyBMaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorKyAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVy bXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKysgICBMaWNlbnNlIGFzIHB1Ymxp c2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKysgICB2ZXJzaW9u IDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv bi4KKysKKysgICBUaGUgR05VIEMgTGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0 aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0 aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrICAgTUVSQ0hBTlRBQklMSVRZIG9y IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKysgICBMZXNz ZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKworKyAgIFlvdSBz aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJs aWMKKysgICBMaWNlbnNlIGFsb25nIHdpdGggdGhlIEdOVSBDIExpYnJhcnk7IGlmIG5vdCwgc2Vl CisrICAgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KKysKKysjaWZuZGVmIF9G UFVfQ09OVFJPTF9ICisrI2RlZmluZSBfRlBVX0NPTlRST0xfSAkxCisrCisrLyogTm90ZSB0aGF0 IHRoaXMgZmlsZSBzZXRzIG9uIHg4Ni02NCBvbmx5IHRoZSB4ODcgRlBVLCBpdCBkb2VzIG5vdAor KyAgIHRvdWNoIHRoZSBTU0UgdW5pdC4gICovCisrCisrLyogSGVyZSBpcyB0aGUgZGlydHkgcGFy dC4gU2V0IHVwIHlvdXIgMzg3IHRocm91Z2ggdGhlIGNvbnRyb2wgd29yZAorKyAqIChjdykgcmVn aXN0ZXIuCisrICoKKysgKiAgICAgMTUtMTMgICAgMTIgIDExLTEwICA5LTggICAgIDctNiAgICAg NSAgICA0ICAgIDMgICAgMiAgICAxICAgIDAKKysgKiB8IHJlc2VydmVkIHwgSUMgfCBSQyAgfCBQ QyB8IHJlc2VydmVkIHwgUE0gfCBVTSB8IE9NIHwgWk0gfCBETSB8IElNCisrICoKKysgKiBJTTog SW52YWxpZCBvcGVyYXRpb24gbWFzaworKyAqIERNOiBEZW5vcm1hbGl6ZWQgb3BlcmFuZCBtYXNr CisrICogWk06IFplcm8tZGl2aWRlIG1hc2sKKysgKiBPTTogT3ZlcmZsb3cgbWFzaworKyAqIFVN OiBVbmRlcmZsb3cgbWFzaworKyAqIFBNOiBQcmVjaXNpb24gKGluZXhhY3QgcmVzdWx0KSBtYXNr CisrICoKKysgKiBNYXNrIGJpdCBpcyAxIG1lYW5zIG5vIGludGVycnVwdC4KKysgKgorKyAqIFBD OiBQcmVjaXNpb24gY29udHJvbAorKyAqIDExIC0gcm91bmQgdG8gZXh0ZW5kZWQgcHJlY2lzaW9u CisrICogMTAgLSByb3VuZCB0byBkb3VibGUgcHJlY2lzaW9uCisrICogMDAgLSByb3VuZCB0byBz aW5nbGUgcHJlY2lzaW9uCisrICoKKysgKiBSQzogUm91bmRpbmcgY29udHJvbAorKyAqIDAwIC0g cm91bmRpbmcgdG8gbmVhcmVzdAorKyAqIDAxIC0gcm91bmRpbmcgZG93biAodG93YXJkIC0gaW5m aW5pdHkpCisrICogMTAgLSByb3VuZGluZyB1cCAodG93YXJkICsgaW5maW5pdHkpCisrICogMTEg LSByb3VuZGluZyB0b3dhcmQgemVybworKyAqCisrICogSUM6IEluZmluaXR5IGNvbnRyb2wKKysg KiBUaGF0IGlzIGZvciA4MDg3IGFuZCA4MDI4NyBvbmx5LgorKyAqCisrICogVGhlIGhhcmR3YXJl IGRlZmF1bHQgaXMgMHgwMzdmIHdoaWNoIHdlIHVzZS4KKysgKi8KKysKKysjaW5jbHVkZSA8ZmVh dHVyZXMuaD4KKysKKysvKiBtYXNraW5nIG9mIGludGVycnVwdHMgKi8KKysjZGVmaW5lIF9GUFVf TUFTS19JTSAgMHgwMQorKyNkZWZpbmUgX0ZQVV9NQVNLX0RNICAweDAyCisrI2RlZmluZSBfRlBV X01BU0tfWk0gIDB4MDQKKysjZGVmaW5lIF9GUFVfTUFTS19PTSAgMHgwOAorKyNkZWZpbmUgX0ZQ VV9NQVNLX1VNICAweDEwCisrI2RlZmluZSBfRlBVX01BU0tfUE0gIDB4MjAKKysKKysvKiBwcmVj aXNpb24gY29udHJvbCAqLworKyNkZWZpbmUgX0ZQVV9FWFRFTkRFRCAweDMwMAkvKiBsaWJtIHJl cXVpcmVzIGRvdWJsZSBleHRlbmRlZCBwcmVjaXNpb24uICAqLworKyNkZWZpbmUgX0ZQVV9ET1VC TEUgICAweDIwMAorKyNkZWZpbmUgX0ZQVV9TSU5HTEUgICAweDAKKysKKysvKiByb3VuZGluZyBj b250cm9sICovCisrI2RlZmluZSBfRlBVX1JDX05FQVJFU1QgMHgwICAgIC8qIFJFQ09NTUVOREVE ICovCisrI2RlZmluZSBfRlBVX1JDX0RPV04gICAgMHg0MDAKKysjZGVmaW5lIF9GUFVfUkNfVVAg ICAgICAweDgwMAorKyNkZWZpbmUgX0ZQVV9SQ19aRVJPICAgIDB4QzAwCisrCisrI2RlZmluZSBf RlBVX1JFU0VSVkVEIDB4RjBDMCAgLyogUmVzZXJ2ZWQgYml0cyBpbiBjdyAqLworKworKworKy8q IFRoZSBmZGxpYm0gY29kZSByZXF1aXJlcyBzdHJpY3QgSUVFRSBkb3VibGUgcHJlY2lzaW9uIGFy aXRobWV0aWMsCisrICAgYW5kIG5vIGludGVycnVwdHMgZm9yIGV4Y2VwdGlvbnMsIHJvdW5kaW5n IHRvIG5lYXJlc3QuICAqLworKworKyNkZWZpbmUgX0ZQVV9ERUZBVUxUICAweDAzN2YKKysKKysv KiBJRUVFOiAgc2FtZSBhcyBhYm92ZS4gICovCisrI2RlZmluZSBfRlBVX0lFRUUgICAgIDB4MDM3 ZgorKworKy8qIFR5cGUgb2YgdGhlIGNvbnRyb2wgd29yZC4gICovCisrdHlwZWRlZiB1bnNpZ25l ZCBpbnQgZnB1X2NvbnRyb2xfdCBfX2F0dHJpYnV0ZV9fICgoX19tb2RlX18gKF9fSElfXykpKTsK KysKKysvKiBNYWNyb3MgZm9yIGFjY2Vzc2luZyB0aGUgaGFyZHdhcmUgY29udHJvbCB3b3JkLiAg IiomIiBpcyB1c2VkIHRvCisrICAgd29yayBhcm91bmQgYSBidWcgaW4gb2xkZXIgdmVyc2lvbnMg b2YgR0NDLiAgX192b2xhdGlsZV9fIGlzIHVzZWQKKysgICB0byBzdXBwb3J0IGNvbWJpbmF0aW9u IG9mIHdyaXRpbmcgdGhlIGNvbnRyb2wgcmVnaXN0ZXIgYW5kIHJlYWRpbmcKKysgICBpdCBiYWNr LiAgV2l0aG91dCBfX3ZvbGF0aWxlX18sIHRoZSBvbGQgdmFsdWUgbWF5IGJlIHVzZWQgZm9yIHJl YWRpbmcKKysgICBiYWNrIHVuZGVyIGNvbXBpbGVyIG9wdGltaXphdGlvbi4KKysKKysgICBOb3Rl IHRoYXQgdGhlIHVzZSBvZiB0aGVzZSBtYWNyb3MgaXMgbm90IHN1ZmZpY2llbnQgYW55bW9yZSB3 aXRoCisrICAgcmVjZW50IGhhcmR3YXJlIG5vciBvbiB4ODYtNjQuICBTb21lIGZsb2F0aW5nIHBv aW50IG9wZXJhdGlvbnMgYXJlCisrICAgZXhlY3V0ZWQgaW4gdGhlIFNTRS9TU0UyIGVuZ2luZXMg d2hpY2ggaGF2ZSB0aGVpciBvd24gY29udHJvbCBhbmQKKysgICBzdGF0dXMgcmVnaXN0ZXIuICAq LworKyNkZWZpbmUgX0ZQVV9HRVRDVyhjdykgX19hc21fXyBfX3ZvbGF0aWxlX18gKCJmbnN0Y3cg JTAiIDogIj1tIiAoKiZjdykpCisrI2RlZmluZSBfRlBVX1NFVENXKGN3KSBfX2FzbV9fIF9fdm9s YXRpbGVfXyAoImZsZGN3ICUwIiA6IDogIm0iICgqJmN3KSkKKysKKysvKiBEZWZhdWx0IGNvbnRy b2wgd29yZCBzZXQgYXQgc3RhcnR1cC4gICovCisrZXh0ZXJuIGZwdV9jb250cm9sX3QgX19mcHVf Y29udHJvbDsKKysKKysjZW5kaWYJLyogZnB1X2NvbnRyb2wuaCAqLworKworKyNlbmRpZiAvLyBB TUQ2NAorKy8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorKy8vID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQorKy8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorKworIGFkZHJlc3Mgb3M6OmN1cnJlbnRfc3Rh Y2tfcG9pbnRlcigpIHsKKyAjaWZkZWYgU1BBUkNfV09SS1MKKyAgIHJlZ2lzdGVyIHZvaWQgKmVz cDsKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvb3Blbmpkay0xMS90ZW1wbGF0ZSBiL3NyY3BrZ3Mvb3Bl bmpkay0xMS90ZW1wbGF0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4u OWJhOGMyMjVjZmMKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL29wZW5qZGstMTEvdGVtcGxh dGUKQEAgLTAsMCArMSwxODEgQEAKKyMgVGVtcGxhdGUgZmlsZSBmb3IgJ29wZW5qZGstMTEnCitf amF2YV92ZXI9MTEKK19qYXZhX21pbl92ZXI9MAorX2phdmFfc2VjX3Zlcj00CitfamRrX3VwZGF0 ZT0xMQorX29wZW5qZGtfdmVyc2lvbj0ib3Blbmpkay0ke19qYXZhX3Zlcn0iCisKKworcGtnbmFt ZT1vcGVuamRrLTExCit2ZXJzaW9uPSIke19qYXZhX3Zlcn0uJHtfamF2YV9taW5fdmVyfS4ke19q YXZhX3NlY192ZXJ9KyR7X2pka191cGRhdGV9IgorcmV2aXNpb249MQord3Jrc3JjPSJqZGske19q YXZhX3Zlcn11LWpkay0ke3ZlcnNpb259IgorYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQorY29u ZmlndXJlX2FyZ3M9IgorIC0tZGlzYWJsZS13YXJuaW5ncy1hcy1lcnJvcnMKKyAtLXByZWZpeD0k e1hCUFNfREVTVERJUn0vJHtYQlBTX0NST1NTX1RSSVBMRVR9LyR7cGtnbmFtZX0tJHt2ZXJzaW9u fS91c3IvbGliCisgLS1lbmFibGUtdW5saW1pdGVkLWNyeXB0bworIC0td2l0aC16bGliPXN5c3Rl bQorIC0td2l0aC1saWJqcGVnPXN5c3RlbQorIC0td2l0aC1naWZsaWI9c3lzdGVtCisgLS13aXRo LWxpYnBuZz1zeXN0ZW0KKyAtLXdpdGgtbGNtcz1zeXN0ZW0KKyAtLXdpdGgtanRyZWc9bm8KKyAt LXdpdGgtdmVyc2lvbi1idWlsZD0ke3ZlcnNpb259CisgLS13aXRoLXZlbmRvci1uYW1lPSJWb2lk IgorIC0td2l0aC12ZW5kb3ItdXJsPSJodHRwczovL3ZvaWRsaW51eC5vcmcvIgorIC0td2l0aC12 ZW5kb3ItYnVnLXVybD0iaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdl cy9pc3N1ZXMiCisgLS13aXRoLXZlbmRvci12bS1idWctdXJsPSJodHRwczovL2dpdGh1Yi5jb20v dm9pZC1saW51eC92b2lkLXBhY2thZ2VzL2lzc3VlcyIKKyAtLXdpdGgtYm9vdC1qZGs9L3Vzci9s aWIvanZtL29wZW5qZGstMTEtYmluIgorCittYWtlX2J1aWxkX2FyZ3M9ImltYWdlcyAkKHZvcHRf aWYgZG9jcyBkb2NzKSIKK21ha2VfY2hlY2tfdGFyZ2V0PSJ0ZXN0LWhvdHNwb3QtZ3Rlc3QiCito b3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWcgYXV0b21ha2UgYXV0b2NvbmYgY3BpbyB1bnppcCB6 aXAgY2EtY2VydGlmaWNhdGVzCisgbGlicmVzc2wgemxpYi1kZXZlbCBtYWtlLWNhIgorbWFrZWRl cGVuZHM9ImxpYlhyZW5kZXItZGV2ZWwgbGliWHRzdC1kZXZlbCBsaWJYdC1kZXZlbCBsaWJYcmFu ZHItZGV2ZWwKKyBnaWZsaWItZGV2ZWwgbGlianBlZy10dXJiby1kZXZlbCBjdXBzLWRldmVsIGZy ZWV0eXBlLWRldmVsIGFsc2EtbGliLWRldmVsCisgZm9udGNvbmZpZy1kZXZlbCB6bGliLWRldmVs IGxjbXMyLWRldmVsIgorcHJvdmlkZXM9ImphdmEtZW52aXJvbm1lbnQtJHt2ZXJzaW9ufV8xIGph dmEtcnVudGltZS0ke3ZlcnNpb259XzEiCitzaG9ydF9kZXNjPSJPcGVuSkRLIEphdmEgRGV2ZWxv cG1lbnQgS2l0IgorbWFpbnRhaW5lcj0iS3lsZSBOdXNiYXVtIDxrbnVzYmF1bSt2b2lkQHNkZi5v cmc+IgorbGljZW5zZT0iR1BMLTIuMC1vci1sYXRlciIKK2hvbWVwYWdlPSJodHRwOi8vb3Blbmpk ay5qYXZhLm5ldC8iCitkaXN0ZmlsZXM9Imh0dHBzOi8vaGcub3Blbmpkay5qYXZhLm5ldC9qZGst dXBkYXRlcy9qZGske19qYXZhX3Zlcn11L2FyY2hpdmUvamRrLSR7dmVyc2lvbn0udGFyLmd6Igor Y2hlY2tzdW09MjcyYWVhYjBiNjgyNjJlMjcwYjllMmY5YWFlOWEzN2E5NzkzYjExMDQyOGM4ZDk2 ZDQ4NmMwOTRjYzZhNjQyOQorc2hsaWJfcHJvdmlkZXM9ImxpYmF3dC5zbyBsaWJhd3RfeGF3dC5z byBsaWJqYXZhLnNvIGxpYmpsaS5zbyBsaWJqdm0uc28gbGliamF3dC5zbyIKKworIyBCdWlsZCBp cyBzdGlsbCBwYXJhbGxlbCwgYnV0IGRvbid0IHVzZSAtak4uCitkaXNhYmxlX3BhcmFsbGVsX2J1 aWxkPXllcworYnVpbGRfb3B0aW9ucz0iZG9jcyIKKworY2FzZSAiJFhCUFNfVEFSR0VUX0xJQkMi IGluCisJZ2xpYmMpIGJ1aWxkX29wdGlvbnNfZGVmYXVsdCs9IiBkb2NzIjs7Citlc2FjCisKK2lm IFsgIiRDUk9TU19CVUlMRCIgXTsgdGhlbgorCWhvc3RtYWtlZGVwZW5kcys9IiBvcGVuamRrLTEx IgorCWNvbmZpZ3VyZV9hcmdzKz0iIC0td2l0aC1ib290LWpkaz0vdXNyL2xpYi9qdm0vb3Blbmpk ay0xMSIKK2Vsc2UKKwlob3N0bWFrZWRlcGVuZHMrPSIgb3Blbmpkay0xMS1iaW4iCisJY29uZmln dXJlX2FyZ3MrPSIgLS13aXRoLWJvb3QtamRrPS91c3IvbGliL2p2bS9vcGVuamRrLTExLWJpbiIK K2ZpCisKK2FsdGVybmF0aXZlcz0iCisgamF2YTovdXNyL2Jpbi9qYXZhOi91c3IvbGliL2p2bS9v cGVuamRrLTExL2Jpbi9qYXZhCisgamF2YTovdXNyL2Jpbi9qanM6L3Vzci9saWIvanZtL29wZW5q ZGstMTEvYmluL2pqcworIGphdmE6L3Vzci9iaW4va2V5dG9vbDovdXNyL2xpYi9qdm0vb3Blbmpk ay0xMS9iaW4va2V5dG9vbAorIGphdmE6L3Vzci9iaW4vb3JiZDovdXNyL2xpYi9qdm0vb3Blbmpk ay0xMS9iaW4vb3JiZAorIGphdmE6L3Vzci9iaW4vcGFjazIwMDovdXNyL2xpYi9qdm0vb3Blbmpk ay0xMS9iaW4vcGFjazIwMAorIGphdmE6L3Vzci9iaW4vcG9saWN5dG9vbDovdXNyL2xpYi9qdm0v b3Blbmpkay0xMS9iaW4vcG9saWN5dG9vbAorIGphdmE6L3Vzci9iaW4vcm1pZDovdXNyL2xpYi9q dm0vb3Blbmpkay0xMS9iaW4vcm1pZAorIGphdmE6L3Vzci9iaW4vcm1pcmVnaXN0cnk6L3Vzci9s aWIvanZtL29wZW5qZGstMTEvYmluL3JtaXJlZ2lzdHJ5CisgamF2YTovdXNyL2Jpbi9zZXJ2ZXJ0 b29sOi91c3IvbGliL2p2bS9vcGVuamRrLTExL2Jpbi9zZXJ2ZXJ0b29sCisgamF2YTovdXNyL2Jp bi90bmFtZXNlcnY6L3Vzci9saWIvanZtL29wZW5qZGstMTEvYmluL3RuYW1lc2VydgorIGphdmE6 L3Vzci9iaW4vdW5wYWNrMjAwOi91c3IvbGliL2p2bS9vcGVuamRrLTExL2Jpbi91bnBhY2syMDAK KworIGpkazovdXNyL2Jpbi9hcHBsZXR2aWV3ZXI6L3Vzci9saWIvanZtL29wZW5qZGstMTEvYmlu L2FwcGxldHZpZXdlcgorIGpkazovdXNyL2Jpbi9leHRjaGVjazovdXNyL2xpYi9qdm0vb3Blbmpk ay0xMS9iaW4vZXh0Y2hlY2sKKyBqZGs6L3Vzci9iaW4vaWRsajovdXNyL2xpYi9qdm0vb3Blbmpk ay0xMS9iaW4vaWRsagorIGpkazovdXNyL2Jpbi9qYXI6L3Vzci9saWIvanZtL29wZW5qZGstMTEv YmluL2phcgorIGpkazovdXNyL2Jpbi9qYXJzaWduZXI6L3Vzci9saWIvanZtL29wZW5qZGstMTEv YmluL2phcnNpZ25lcgorIGpkazovdXNyL2Jpbi9qYXZhOi91c3IvbGliL2p2bS9vcGVuamRrLTEx L2Jpbi9qYXZhCisgamRrOi91c3IvYmluL2phdmEtcm1pLmNnaTovdXNyL2xpYi9qdm0vb3Blbmpk ay0xMS9iaW4vamF2YS1ybWkuY2dpCisgamRrOi91c3IvYmluL2phdmFjOi91c3IvbGliL2p2bS9v cGVuamRrLTExL2Jpbi9qYXZhYworIGpkazovdXNyL2Jpbi9qYXZhZG9jOi91c3IvbGliL2p2bS9v cGVuamRrLTExL2Jpbi9qYXZhZG9jCisgamRrOi91c3IvYmluL2phdmFoOi91c3IvbGliL2p2bS9v cGVuamRrLTExL2Jpbi9qYXZhaAorIGpkazovdXNyL2Jpbi9qYXZhcDovdXNyL2xpYi9qdm0vb3Bl bmpkay0xMS9iaW4vamF2YXAKKyBqZGs6L3Vzci9iaW4vamNtZDovdXNyL2xpYi9qdm0vb3Blbmpk ay0xMS9iaW4vamNtZAorIGpkazovdXNyL2Jpbi9qY29uc29sZTovdXNyL2xpYi9qdm0vb3Blbmpk ay0xMS9iaW4vamNvbnNvbGUKKyBqZGs6L3Vzci9iaW4vamRiOi91c3IvbGliL2p2bS9vcGVuamRr LTExL2Jpbi9qZGIKKyBqZGs6L3Vzci9iaW4vamRlcHM6L3Vzci9saWIvanZtL29wZW5qZGstMTEv YmluL2pkZXBzCisgamRrOi91c3IvYmluL2poYXQ6L3Vzci9saWIvanZtL29wZW5qZGstMTEvYmlu L2poYXQKKyBqZGs6L3Vzci9iaW4vamluZm86L3Vzci9saWIvanZtL29wZW5qZGstMTEvYmluL2pp bmZvCisgamRrOi91c3IvYmluL2pqczovdXNyL2xpYi9qdm0vb3Blbmpkay0xMS9iaW4vampzCisg amRrOi91c3IvYmluL2ptYXA6L3Vzci9saWIvanZtL29wZW5qZGstMTEvYmluL2ptYXAKKyBqZGs6 L3Vzci9iaW4vanBzOi91c3IvbGliL2p2bS9vcGVuamRrLTExL2Jpbi9qcHMKKyBqZGs6L3Vzci9i aW4vanJ1bnNjcmlwdDovdXNyL2xpYi9qdm0vb3Blbmpkay0xMS9iaW4vanJ1bnNjcmlwdAorIGpk azovdXNyL2Jpbi9qc2FkZWJ1Z2Q6L3Vzci9saWIvanZtL29wZW5qZGstMTEvYmluL2pzYWRlYnVn ZAorIGpkazovdXNyL2Jpbi9qc3RhY2s6L3Vzci9saWIvanZtL29wZW5qZGstMTEvYmluL2pzdGFj aworIGpkazovdXNyL2Jpbi9qc3RhdDovdXNyL2xpYi9qdm0vb3Blbmpkay0xMS9iaW4vanN0YXQK KyBqZGs6L3Vzci9iaW4vanN0YXRkOi91c3IvbGliL2p2bS9vcGVuamRrLTExL2Jpbi9qc3RhdGQK KyBqZGs6L3Vzci9iaW4va2V5dG9vbDovdXNyL2xpYi9qdm0vb3Blbmpkay0xMS9iaW4va2V5dG9v bAorIGpkazovdXNyL2Jpbi9uYXRpdmUyYXNjaWk6L3Vzci9saWIvanZtL29wZW5qZGstMTEvYmlu L25hdGl2ZTJhc2NpaQorIGpkazovdXNyL2Jpbi9vcmJkOi91c3IvbGliL2p2bS9vcGVuamRrLTEx L2Jpbi9vcmJkCisgamRrOi91c3IvYmluL3BhY2syMDA6L3Vzci9saWIvanZtL29wZW5qZGstMTEv YmluL3BhY2syMDAKKyBqZGs6L3Vzci9iaW4vcG9saWN5dG9vbDovdXNyL2xpYi9qdm0vb3Blbmpk ay0xMS9iaW4vcG9saWN5dG9vbAorIGpkazovdXNyL2Jpbi9ybWljOi91c3IvbGliL2p2bS9vcGVu amRrLTExL2Jpbi9ybWljCisgamRrOi91c3IvYmluL3JtaWQ6L3Vzci9saWIvanZtL29wZW5qZGst MTEvYmluL3JtaWQKKyBqZGs6L3Vzci9iaW4vcm1pcmVnaXN0cnk6L3Vzci9saWIvanZtL29wZW5q ZGstMTEvYmluL3JtaXJlZ2lzdHJ5CisgamRrOi91c3IvYmluL3NjaGVtYWdlbjovdXNyL2xpYi9q dm0vb3Blbmpkay0xMS9iaW4vc2NoZW1hZ2VuCisgamRrOi91c3IvYmluL3NlcmlhbHZlcjovdXNy L2xpYi9qdm0vb3Blbmpkay0xMS9iaW4vc2VyaWFsdmVyCisgamRrOi91c3IvYmluL3NlcnZlcnRv b2w6L3Vzci9saWIvanZtL29wZW5qZGstMTEvYmluL3NlcnZlcnRvb2wKKyBqZGs6L3Vzci9iaW4v dG5hbWVzZXJ2Oi91c3IvbGliL2p2bS9vcGVuamRrLTExL2Jpbi90bmFtZXNlcnYKKyBqZGs6L3Vz ci9iaW4vdW5wYWNrMjAwOi91c3IvbGliL2p2bS9vcGVuamRrLTExL2Jpbi91bnBhY2syMDAKKyBq ZGs6L3Vzci9iaW4vd3NnZW46L3Vzci9saWIvanZtL29wZW5qZGstMTEvYmluL3dzZ2VuCisgamRr Oi91c3IvYmluL3dzaW1wb3J0Oi91c3IvbGliL2p2bS9vcGVuamRrLTExL2Jpbi93c2ltcG9ydAor IGpkazovdXNyL2Jpbi94amM6L3Vzci9saWIvanZtL29wZW5qZGstMTEvYmluL3hqYworIgorCitw b3N0X2V4dHJhY3QoKSB7CisJY2htb2QgK3ggY29uZmlndXJlCisJaWYgWyAiJFhCUFNfVEFSR0VU X0xJQkMiID0gIm11c2wiIF07IHRoZW4KKwkJcm0gLXIgc3JjL2pkay5ob3RzcG90LmFnZW50CisJ ZmkKK30KKworcG9zdF9wYXRjaCgpIHsKKwlpZiBbICIkWEJQU19UQVJHRVRfTElCQyIgPSAibXVz bCIgXTsgdGhlbgorCQlmb3IgZiBpbiAiJHtGSUxFU0RJUn0iL211c2xfcGF0Y2hlcy8qLnBhdGNo OyBkbworCQkJZWNobyAiQXBwbHlpbmcgJGYiCisJCQlwYXRjaCAtTnAxIC1pICIkZiIKKwkJZG9u ZQorCWZpCit9CisKK2RvX2NvbmZpZ3VyZSgpIHsKKwlDRkxBR1M9JHtDRkxBR1MvLURfRk9SVElG WV9TT1VSQ0U9Mi99CisJQ1hYRkxBR1M9JHtDWFhGTEFHUy8tRF9GT1JUSUZZX1NPVVJDRT0yL30K Kwljb25maWd1cmVfYXJncz0ke2NvbmZpZ3VyZV9hcmdzLy0td2l0aC1saWJ0b29sLXN5c3Jvb3Q9 XC91c3JcL1thLXowLTldKi1saW51eC1bYS16XSovfQorCWlmIFsgIiRYQlBTX0NDQUNIRSIgXSAm JiBbIC16ICIkQ1JPU1NfQlVJTEQiIF07IHRoZW4KKwkJY29uZmlndXJlX2FyZ3MrPSIgLS1lbmFi bGUtY2NhY2hlIgorCQlDQz0iL3Vzci9iaW4vY2MiCisJCUNYWD0iL3Vzci9iaW4vYysrIgorCWZp CisJLi9jb25maWd1cmUgJHtjb25maWd1cmVfYXJnc30gLS13aXRoLWV4dHJhLWNmbGFncz0iJENG TEFHUyIgLS13aXRoLWV4dHJhLWN4eGZsYWdzPSIkQ1hYRkxBR1MiIC0td2l0aC1leHRyYS1sZGZs YWdzPSIkTERGTEFHUyIKK30KKworcG9zdF9pbnN0YWxsKCkgeworCXZta2RpciAvdXNyL2xpYi9q dm0KKwltdiAke0RFU1RESVJ9L3Vzci9saWIvanZtL29wZW5qZGstJHtfamF2YV92ZXJ9LiR7X2ph dmFfbWluX3Zlcn0uJHtfamF2YV9zZWNfdmVyfS1pbnRlcm5hbCAke0RFU1RESVJ9L3Vzci9saWIv anZtL29wZW5qZGstJHtfamF2YV92ZXJ9CisJcm0gLXJmICR7REVTVERJUn0vdXNyL2xpYi9iaW4K Kwl2bWtkaXIgdXNyL2xpYi9qdm0vJF9vcGVuamRrX3ZlcnNpb24vbGliL3NlY3VyaXR5CisJbWFr ZS1jYSAtZyAtZiAtLWRlc3RkaXIgLi9jYSAtayAiJHtERVNURElSfS91c3IvbGliL2p2bS8kX29w ZW5qZGtfdmVyc2lvbi9iaW4va2V5dG9vbCIKKwltdiAuL2NhL2V0Yy9wa2kvdGxzL2phdmEvY2Fj ZXJ0cyAke0RFU1RESVJ9L3Vzci9saWIvanZtLyRfb3Blbmpka192ZXJzaW9uL2xpYi9zZWN1cml0 eS8KKwl2bGljZW5zZSBBU1NFTUJMWV9FWENFUFRJT04KKwl2bGljZW5zZSBMSUNFTlNFCit9CisK K29wZW5qZGstMTEtZG9jX3BhY2thZ2UoKSB7CisJbm9zdHJpcD15ZXMKKwlub3ZlcmlmeXJkZXBz PXllcworCW5vc2hsaWJwcm92aWRlcz15ZXMKKwlzaG9ydF9kZXNjKz0iIC0tIGRvY3VtZW50YXRp b24iCisJcGtnX2luc3RhbGwoKSB7CisJCWNkICR7d3Jrc3JjfQorCQlpZiBbICIkYnVpbGRfb3B0 aW9uX2RvY3MiIF07IHRoZW4KKwkJCXZta2RpciB1c3Ivc2hhcmUvZG9jL29wZW5qZGstMTEKKwkJ CWNwIC1hIGJ1aWxkL2xpbnV4LSovaW1hZ2VzL2RvY3MvKiAke1BLR0RFU1RESVJ9L3Vzci9zaGFy ZS9kb2Mvb3Blbmpkay0xMQorCQlmaQorCQl2bW92ZSB1c3IvbGliL2p2bS9vcGVuamRrLTExL21h bi9tYW4xLworCX0KK30KKworb3Blbmpkay0xMS1zcmNfcGFja2FnZSgpIHsKKwlub3N0cmlwPXll cworCW5vdmVyaWZ5cmRlcHM9eWVzCisJbm9zaGxpYnByb3ZpZGVzPXllcworCXNob3J0X2Rlc2Mr PSIgLS0gc291cmNlcyIKKwlwa2dfaW5zdGFsbCgpIHsKKwkJdm1vdmUgInVzci9saWIvanZtL29w ZW5qZGstMTEvbGliL3NyYy56aXAiCisJfQorfQo= --===============3527276485990148944==--