From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.2 required=5.0 tests=ALL_TRUSTED, DKIM_ADSP_NXDOMAIN autolearn=no autolearn_force=no version=3.4.4 Received: (qmail 9323 invoked from network); 6 Apr 2023 11:23:46 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 6 Apr 2023 11:23:46 -0000 Content-Type: multipart/mixed; boundary="===============7058252903706472675==" MIME-Version: 1.0 Subject: =?utf8?b?UmU6IFtQUiBQQVRDSF0gW1VwZGF0ZWRdIFF0NjogVXBkYXRlIHRvIDYuNS4w?= To: ml@inbox.vuxu.org From: Johnnynator Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Thu, 06 Apr 2023 13:23:46 +0200 List-Id: Message-ID: <20230406112346.2tn6jdxWyCiCnzGxg_s_W7MtF-lXFQQTHmthTQwVV88@z> GitHub notification mails are now in MIME to allow UTF8. --===============7058252903706472675== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgSm9obm55bmF0b3IgYWdhaW5zdCBt YXN0ZXIgb24gdGhlIHZvaWQtcGFja2FnZXMgcmVwb3NpdG9yeQoKaHR0cHM6Ly9naXRodWIuY29t L0pvaG5ueW5hdG9yL3ZvaWQtcGFja2FnZXMgcXQ2LjUuMApodHRwczovL2dpdGh1Yi5jb20vdm9p ZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwvNDMyOTMKClF0NjogVXBkYXRlIHRvIDYuNS4wCi0g cXQ2LXdlYnNvY2tldHM6IHVwZGF0ZSB0byA2LjUuMC4NCi0gcXQ2LXdlYmVuZ2luZTogdXBkYXRl IHRvIDYuNS4wLg0KLSBxdDYtd2ViY2hhbm5lbDogdXBkYXRlIHRvIDYuNS4wLg0KLSBxdDYtd2F5 bGFuZDogdXBkYXRlIHRvIDYuNS4wLg0KLSBxdDYtdmlydHVhbGtleWJvYXJkOiB1cGRhdGUgdG8g Ni41LjAuDQotIHF0Ni10cmFuc2xhdGlvbnM6IHVwZGF0ZSB0byA2LjUuMC4NCi0gcXQ2LXRvb2xz OiB1cGRhdGUgdG8gNi41LjAuDQotIHF0Ni1zdmc6IHVwZGF0ZSB0byA2LjUuMC4NCi0gcXQ2LXNo YWRlcnRvb2xzOiB1cGRhdGUgdG8gNi41LjAuDQotIHF0Ni1zZXJpYWxwb3J0OiB1cGRhdGUgdG8g Ni41LjAuDQotIHF0Ni1zZW5zb3JzOiB1cGRhdGUgdG8gNi41LjAuDQotIHF0Ni1zY3htbDogdXBk YXRlIHRvIDYuNS4wLg0KLSBxdDYtcmVtb3Rlb2JqZWN0czogdXBkYXRlIHRvIDYuNS4wLg0KLSBx dDYtcXVpY2t0aW1lbGluZTogdXBkYXRlIHRvIDYuNS4wLg0KLSBxdDYtcXVpY2szZDogdXBkYXRl IHRvIDYuNS4wLg0KLSBxdDYtcXQ1Y29tcGF0OiB1cGRhdGUgdG8gNi41LjAuDQotIHF0Ni1uZXR3 b3JrYXV0aDogdXBkYXRlIHRvIDYuNS4wLg0KLSBxdDYtbXVsdGltZWRpYTogdXBkYXRlIHRvIDYu NS4wLg0KLSBxdDYtbG90dGllOiB1cGRhdGUgdG8gNi41LjAuDQotIHF0Ni1sb2NhdGlvbjogdXBk YXRlIHRvIDYuNS4wLg0KLSBxdDYtaW1hZ2Vmb3JtYXRzOiB1cGRhdGUgdG8gNi41LjAuDQotIHF0 Ni1kZWNsYXJhdGl2ZTogdXBkYXRlIHRvIDYuNS4wLg0KLSBxdDYtY29ubmVjdGl2aXR5OiB1cGRh dGUgdG8gNi41LjAuDQotIHF0Ni1jaGFydHM6IHVwZGF0ZSB0byA2LjUuMC4NCi0gcXQ2LWJhc2U6 IHVwZGF0ZSB0byA2LjUuMC4NCi0gcXQ2LTNkOiB1cGRhdGUgdG8gNi41LjAuDQoNCjwhLS0gVW5j b21tZW50IHJlbGV2YW50IHNlY3Rpb25zIGFuZCBkZWxldGUgb3B0aW9ucyB3aGljaCBhcmUgbm90 IGFwcGxpY2FibGUgLS0+DQoNCiMjIyMgVGVzdGluZyB0aGUgY2hhbmdlcw0KLSBJIHRlc3RlZCB0 aGUgY2hhbmdlcyBpbiB0aGlzIFBSOiAqKllFUyoqfCoqYnJpZWZseSoqfCoqTk8qKg0KDQo8IS0t DQojIyMjIE5ldyBwYWNrYWdlDQotIFRoaXMgbmV3IHBhY2thZ2UgY29uZm9ybXMgdG8gdGhlIFtw YWNrYWdlIHJlcXVpcmVtZW50c10oaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1w YWNrYWdlcy9ibG9iL21hc3Rlci9DT05UUklCVVRJTkcubWQjcGFja2FnZS1yZXF1aXJlbWVudHMp OiAqKllFUyoqfCoqTk8qKg0KLS0+DQoNCjwhLS0gTm90ZTogSWYgdGhlIGJ1aWxkIGlzIGxpa2Vs eSB0byB0YWtlIG1vcmUgdGhhbiAyIGhvdXJzLCBwbGVhc2UgYWRkIGNpIHNraXAgdGFnIGFzIGRl c2NyaWJlZCBpbg0KaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9i bG9iL21hc3Rlci9DT05UUklCVVRJTkcubWQjY29udGludW91cy1pbnRlZ3JhdGlvbg0KYW5kIHRl c3QgYXQgbGVhc3Qgb25lIG5hdGl2ZSBidWlsZCBhbmQsIGlmIHN1cHBvcnRlZCwgYXQgbGVhc3Qg b25lIGNyb3NzIGJ1aWxkLg0KSWdub3JlIHRoaXMgc2VjdGlvbiBpZiB0aGlzIFBSIGlzIG5vdCBz a2lwcGluZyBDSS4NCi0tPg0KIyMjIyBMb2NhbCBidWlsZCB0ZXN0aW5nDQotIEkgYnVpbHQgdGhp cyBQUiBsb2NhbGx5IGZvciBteSBuYXRpdmUgYXJjaGl0ZWN0dXJlLCB4ODZfNjQNCi0gSSBidWls dCB0aGlzIFBSIGxvY2FsbHkgZm9yIHRoZXNlIGFyY2hpdGVjdHVyZXMgKGlmIHN1cHBvcnRlZC4g bWFyayBjcm9zc2J1aWxkcyk6DQogIC0gIC0gW3hdIHJpc2N2NjQNCiAgLSAgLSBbIF0geDg2XzY0 LW11c2wNCiAgLSAgLSBbIF0gYWFyY2g2NA0KDQpbY2kgc2tpcF0NCltza2lwIGNpXQoKQSBwYXRj aCBmaWxlIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9w dWxsLzQzMjkzLnBhdGNoIGlzIGF0dGFjaGVk --===============7058252903706472675== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-qt6.5.0-43293.patch" RnJvbSBkNWU1ZTYxZDcwNjNiZDhkNzVhOTI5ZDhhZTY4ZTMxMjM2Yzg5ZTg0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2huIDxtZUBqb2hubnluYXRvci5kZXY+CkRhdGU6IE1vbiwg MyBBcHIgMjAyMyAxOTozNzo0NSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDEvMjddIHF0Ni13ZWJz b2NrZXRzOiB1cGRhdGUgdG8gNi41LjAuCgotLS0KIHNyY3BrZ3MvcXQ2LXdlYnNvY2tldHMvcGF0 Y2hlcy9uby1jbWFrZS10ZXN0LnBhdGNoIHwgNyAtLS0tLS0tCiBzcmNwa2dzL3F0Ni13ZWJzb2Nr ZXRzL3RlbXBsYXRlICAgICAgICAgICAgICAgICAgICB8IDggKysrKy0tLS0KIDIgZmlsZXMgY2hh bmdlZCwgNCBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0 NCBzcmNwa2dzL3F0Ni13ZWJzb2NrZXRzL3BhdGNoZXMvbm8tY21ha2UtdGVzdC5wYXRjaAoKZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYnNvY2tldHMvcGF0Y2hlcy9uby1jbWFrZS10ZXN0LnBh dGNoIGIvc3JjcGtncy9xdDYtd2Vic29ja2V0cy9wYXRjaGVzL25vLWNtYWtlLXRlc3QucGF0Y2gK ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg4MjlmOWZhYjFkZi4uMDAwMDAwMDAwMDAw Ci0tLSBhL3NyY3BrZ3MvcXQ2LXdlYnNvY2tldHMvcGF0Y2hlcy9uby1jbWFrZS10ZXN0LnBhdGNo CisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi0tLS0gYS90ZXN0cy9hdXRvL0NNYWtlTGlz dHMudHh0Ci0rKysgYi90ZXN0cy9hdXRvL0NNYWtlTGlzdHMudHh0Ci1AQCAtMSw0ICsxLDMgQEAK LS1hZGRfc3ViZGlyZWN0b3J5KGNtYWtlKQotIGFkZF9zdWJkaXJlY3Rvcnkod2Vic29ja2V0cykK LSBpZihUQVJHRVQgUXQ6OlF1aWNrKQotICAgICBhZGRfc3ViZGlyZWN0b3J5KHFtbCkKZGlmZiAt LWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYnNvY2tldHMvdGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni13ZWJz b2NrZXRzL3RlbXBsYXRlCmluZGV4IDQ2NzA4M2ZjZDQ0Yy4uM2UwMmZiMTI3ZmQ2IDEwMDY0NAot LS0gYS9zcmNwa2dzL3F0Ni13ZWJzb2NrZXRzL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LXdl YnNvY2tldHMvdGVtcGxhdGUKQEAgLTEsNiArMSw2IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdx dDYtd2Vic29ja2V0cycKIHBrZ25hbWU9cXQ2LXdlYnNvY2tldHMKLXZlcnNpb249Ni40LjIKK3Zl cnNpb249Ni41LjAKIHJldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPWNtYWtlCiBob3N0bWFrZWRlcGVu ZHM9InBlcmwgcXQ2LWJhc2UgcXQ2LWRlY2xhcmF0aXZlLWhvc3QtdG9vbHMiCkBAIC0xMiw3ICsx Miw3IEBAIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSIo TEdQTC0zLjAtb25seSBPUiBHUEwtMi4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5KSBBTkQgR1BMLTMu MC1vbmx5IHdpdGggUXQtR1BMLWV4Y2VwdGlvbi0xLjAiCiBob21lcGFnZT0iaHR0cHM6Ly9xdC5p by8iCiBkaXN0ZmlsZXM9Imh0dHA6Ly9kb3dubG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9x dC8ke3ZlcnNpb24lLip9LyR7dmVyc2lvbn0vc3VibW9kdWxlcy9xdHdlYnNvY2tldHMtZXZlcnl3 aGVyZS1zcmMtJHt2ZXJzaW9ufS50YXIueHoiCi1jaGVja3N1bT03MWNmODU3NTgyZGIyMGMyMDEw M2E1NmY2N2Q1MWMzM2M0YWIwYjcyNDQ4MjA5Yzk2M2QzYjQ0OWE1MjdjNjI2CitjaGVja3N1bT1i YzA4N2JkNjU2YmIzNGRhMTIwY2NhYjZlOTI3MDM2YTIxOWY3NWZkODhmMTU0Mzc0NGM0MjZiZmNh NjE2MzA4CiAKIHByZV9jaGVjaygpIHsKIAlleHBvcnQgUU1MMl9JTVBPUlRfUEFUSD0iJHdya3Ny Yy9idWlsZC9saWIvcXQ2L3FtbCIKQEAgLTI4LDExICsyOCwxMSBAQCBxdDYtd2Vic29ja2V0cy1k ZXZlbF9wYWNrYWdlKCkgewogCXBrZ19pbnN0YWxsKCkgewogCQl2bW92ZSB1c3IvaW5jbHVkZQog CQl2bW92ZSB1c3IvbGliL2NtYWtlCi0JCXZtb3ZlIHVzci9saWIvbWV0YXR5cGVzCisJCXZtb3Zl IHVzci9saWIvcXQ2L21ldGF0eXBlcwogCQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZpZwogCQl2bW92 ZSB1c3IvbGliL3F0Ni9ta3NwZWNzCiAJCXZtb3ZlICJ1c3IvbGliLyouc28iCiAJCXZtb3ZlICJ1 c3IvbGliLyoucHJsIgotCQl2bW92ZSB1c3Ivc2hhcmUvcXQ2L21vZHVsZXMKKwkJdm1vdmUgdXNy L2xpYi9xdDYvbW9kdWxlcwogCX0KIH0KCkZyb20gZTg4OGExNDQ1ZjYzODhlNDI5NmJiYWQ1ZDdj NjAwZTk3MzBhMjUyOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSm9obiA8bWVAam9o bm55bmF0b3IuZGV2PgpEYXRlOiBNb24sIDMgQXByIDIwMjMgMTk6Mzc6NDQgKzAyMDAKU3ViamVj dDogW1BBVENIIDAyLzI3XSBxdDYtd2ViZW5naW5lOiB1cGRhdGUgdG8gNi41LjAuCgotLS0KIC4u Li9wYXRjaGVzLzAwMDQtcmlzY3YtYW5nbGUucGF0Y2ggICAgICAgICAgICB8ICAgMjggKwogLi4u L3BhdGNoZXMvMDAwNC1yaXNjdi1hbmdsZS5wYXRjaC5hcmdzICAgICAgIHwgICAgMSArCiAuLi4v cGF0Y2hlcy8wMDA1LXJpc2N2LWNyYXNocGFkLnBhdGNoICAgICAgICAgfCAgNzc4ICsrKysrKysK IC4uLi9wYXRjaGVzLzAwMDUtcmlzY3YtY3Jhc2hwYWQucGF0Y2guYXJncyAgICB8ICAgIDEgKwog Li4uL3BhdGNoZXMvMDAwNi1yaXNjdi1kYXYxZC5wYXRjaCAgICAgICAgICAgIHwgICA0NCArCiAu Li4vcGF0Y2hlcy8wMDA2LXJpc2N2LWRhdjFkLnBhdGNoLmFyZ3MgICAgICAgfCAgICAxICsKIC4u Li9wYXRjaGVzLzAwMDctcmlzY3Ytc2FuZGJveC5wYXRjaCAgICAgICAgICB8IDE5NTYgKysrKysr KysrKysrKysrKysKIC4uLi9wYXRjaGVzLzAwMDctcmlzY3Ytc2FuZGJveC5wYXRjaC5hcmdzICAg ICB8ICAgIDEgKwogLi4uLzAxMDAtY2hyb21pdW0tcmV2ZXJ0LTlkMDgwYzAucGF0Y2ggICAgICAg IHwgIDE1NCAtLQogLi4ub21pdW0tMTAyLWZlbmNlZF9mcmFtZV91dGlscy1pbmNsdWRlLnBhdGNo IHwgICAyMCAtCiAuLi4xMDItY2hyb21pdW0tMTAyLXJlZ2V4X3BhdHRlcm4tYXJyYXkucGF0Y2gg fCAgIDE0IC0KIC4uLjAxMDMtY2hyb21pdW0taTY4Ni12YWFwaS1mcGVybWlzc2l2ZS5wYXRjaCB8 ICAgMjMgLQogLi4uLzAxMDQtY2hyb21pdW0tbGlieG1sLXVuYnVuZGxlLnBhdGNoICAgICAgIHwg ICAxMCAtCiAuLi4vcGF0Y2hlcy8wMTA3LWNocm9taXVtLWNyb3NzLWJ1aWxkLnBhdGNoICAgfCAg ICA2ICstCiAuLi4vcGF0Y2hlcy8wMTE3LWNocm9taXVtLW11c2wtcmVzb2x2ZXIucGF0Y2ggfCAg IDI1ICstCiAuLi4vcGF0Y2hlcy8wMTI0LWNocm9taXVtLWVuYWJsZS1pNjg2LnBhdGNoICAgfCAg IDE3IC0KIC4uLi8wMTI5LWNocm9taXVtLXNhbmRib3gtc2hlZF9nZXRwYXJhbS5wYXRjaCB8ICAg MjMgKy0KIC4uLi9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDE1NS1zeXN0eXBlcy5wYXRjaCB8ICAg MTEgKwogLi4uL3BhdGNoZXMvMDIwMC1jaHJvbWl1bS1zbmRpby5wYXRjaCAgICAgICAgIHwgIDg0 OSAtLS0tLS0tCiAuLi4vcGF0Y2hlcy8wMzAwLWNocm9taXVtLW11c2wtaGFja3MucGF0Y2ggICAg fCAgIDE0IC0KIC4uLi9wYXRjaGVzLzAzMDEtY2hyb21pdW0tbXVzbC1zYW5kYm94LnBhdGNoICB8 ICAgODYgLQogLi4uL3BhdGNoZXMvMDMwMi1jaHJvbWl1bS1uby1tYWxsaW5mby5wYXRjaCAgIHwg ICAzNyArLQogc3JjcGtncy9xdDYtd2ViZW5naW5lL3RlbXBsYXRlICAgICAgICAgICAgICAgIHwg ICAgOCArLQogMjMgZmlsZXMgY2hhbmdlZCwgMjg2NSBpbnNlcnRpb25zKCspLCAxMjQyIGRlbGV0 aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVz LzAwMDQtcmlzY3YtYW5nbGUucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13 ZWJlbmdpbmUvcGF0Y2hlcy8wMDA0LXJpc2N2LWFuZ2xlLnBhdGNoLmFyZ3MKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDA1LXJpc2N2LWNyYXNocGFk LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMv MDAwNS1yaXNjdi1jcmFzaHBhZC5wYXRjaC5hcmdzCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtn cy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDAwNi1yaXNjdi1kYXYxZC5wYXRjaAogY3JlYXRlIG1v ZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDYtcmlzY3YtZGF2MWQu cGF0Y2guYXJncwogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRj aGVzLzAwMDctcmlzY3Ytc2FuZGJveC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mv cXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDctcmlzY3Ytc2FuZGJveC5wYXRjaC5hcmdzCiBkZWxl dGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwMC1jaHJvbWl1 bS1yZXZlcnQtOWQwODBjMC5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdl YmVuZ2luZS9wYXRjaGVzLzAxMDEtY2hyb21pdW0tMTAyLWZlbmNlZF9mcmFtZV91dGlscy1pbmNs dWRlLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNo ZXMvMDEwMi1jaHJvbWl1bS0xMDItcmVnZXhfcGF0dGVybi1hcnJheS5wYXRjaAogZGVsZXRlIG1v ZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDMtY2hyb21pdW0taTY4 Ni12YWFwaS1mcGVybWlzc2l2ZS5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2 LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDQtY2hyb21pdW0tbGlieG1sLXVuYnVuZGxlLnBhdGNoCiBk ZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEyNC1jaHJv bWl1bS1lbmFibGUtaTY4Ni5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdl YmVuZ2luZS9wYXRjaGVzLzAxNTUtc3lzdHlwZXMucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBz cmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjAwLWNocm9taXVtLXNuZGlvLnBhdGNoCiBk ZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDMwMS1jaHJv bWl1bS1tdXNsLXNhbmRib3gucGF0Y2gKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdp bmUvcGF0Y2hlcy8wMDA0LXJpc2N2LWFuZ2xlLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5l L3BhdGNoZXMvMDAwNC1yaXNjdi1hbmdsZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAwMDAuLjFhY2ViNmYyZDIyOQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3Mv cXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDQtcmlzY3YtYW5nbGUucGF0Y2gKQEAgLTAsMCArMSwy OCBAQAorSW5kZXg6IGNocm9taXVtLTExMS4wLjU1NjMuNjQvdGhpcmRfcGFydHkvYW5nbGUvZ25p L2FuZ2xlLmduaQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGNocm9taXVtLTExMS4wLjU1NjMuNjQub3JpZy90 aGlyZF9wYXJ0eS9hbmdsZS9nbmkvYW5nbGUuZ25pCisrKysgY2hyb21pdW0tMTExLjAuNTU2My42 NC90aGlyZF9wYXJ0eS9hbmdsZS9nbmkvYW5nbGUuZ25pCitAQCAtMTA1LDcgKzEwNSw4IEBAIGRl Y2xhcmVfYXJncygpIHsKKyAKKyAgIGlmIChjdXJyZW50X2NwdSA9PSAiYXJtNjQiIHx8IGN1cnJl bnRfY3B1ID09ICJ4NjQiIHx8CisgICAgICAgY3VycmVudF9jcHUgPT0gIm1pcHM2NGVsIiB8fCBj dXJyZW50X2NwdSA9PSAiczM5MHgiIHx8CistICAgICAgY3VycmVudF9jcHUgPT0gInBwYzY0IiB8 fCBjdXJyZW50X2NwdSA9PSAibG9vbmc2NCIpIHsKKysgICAgICBjdXJyZW50X2NwdSA9PSAicHBj NjQiIHx8IGN1cnJlbnRfY3B1ID09ICJsb29uZzY0IiB8fAorKyAgICAgIGN1cnJlbnRfY3B1ID09 ICJyaXNjdjY0IikgeworICAgICBhbmdsZV82NGJpdF9jdXJyZW50X2NwdSA9IHRydWUKKyAgIH0g ZWxzZSBpZiAoY3VycmVudF9jcHUgPT0gImFybSIgfHwgY3VycmVudF9jcHUgPT0gIng4NiIgfHwK KyAgICAgICAgICAgICAgY3VycmVudF9jcHUgPT0gIm1pcHNlbCIgfHwgY3VycmVudF9jcHUgPT0g InMzOTAiIHx8CitJbmRleDogY2hyb21pdW0tMTExLjAuNTU2My42NC90aGlyZF9wYXJ0eS9hbmds ZS9zcmMvY29tbW9uL3BsYXRmb3JtLmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBjaHJvbWl1bS0xMTEuMC41 NTYzLjY0Lm9yaWcvdGhpcmRfcGFydHkvYW5nbGUvc3JjL2NvbW1vbi9wbGF0Zm9ybS5oCisrKysg Y2hyb21pdW0tMTExLjAuNTU2My42NC90aGlyZF9wYXJ0eS9hbmdsZS9zcmMvY29tbW9uL3BsYXRm b3JtLmgKK0BAIC0xMDgsNyArMTA4LDcgQEAKKyAjZW5kaWYKKyAKKyAvLyBNaXBzIGFuZCBhcm0g ZGV2aWNlcyBuZWVkIHRvIGluY2x1ZGUgc3RkZGVmIGZvciBzaXplX3QuCistI2lmIGRlZmluZWQo X19taXBzX18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX2FhcmNoNjRfXykKKysj aWYgZGVmaW5lZChfX21pcHNfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fYWFy Y2g2NF9fKSB8fCBkZWZpbmVkKF9fcmlzY3YpCisgIyAgICBpbmNsdWRlIDxzdGRkZWYuaD4KKyAj ZW5kaWYKKyAKKwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDAw NC1yaXNjdi1hbmdsZS5wYXRjaC5hcmdzIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMv MDAwNC1yaXNjdi1hbmdsZS5wYXRjaC5hcmdzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMDAwMC4uZDVmMzhlMzU0ZTdmCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYt d2ViZW5naW5lL3BhdGNoZXMvMDAwNC1yaXNjdi1hbmdsZS5wYXRjaC5hcmdzCkBAIC0wLDAgKzEg QEAKKy1OcDEgLS1kaXJlY3Rvcnk9c3JjLzNyZHBhcnR5L2Nocm9taXVtLwpkaWZmIC0tZ2l0IGEv c3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDAwNS1yaXNjdi1jcmFzaHBhZC5wYXRjaCBi L3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDUtcmlzY3YtY3Jhc2hwYWQucGF0Y2gK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4wMTJhMzhjMzg4NjUKLS0t IC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDA1LXJpc2N2 LWNyYXNocGFkLnBhdGNoCkBAIC0wLDAgKzEsNzc4IEBACitJbmRleDogY2hyb21pdW0tMTA2LjAu NTI0OS45MS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9taW5pZHVtcC9taW5pZHVtcF9j b250ZXh0LmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KKy0tLSBjaHJvbWl1bS0xMDYuMC41MjQ5LjkxLm9yaWcvdGhp cmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1bXBfY29udGV4dC5oCisr KysgY2hyb21pdW0tMTA2LjAuNTI0OS45MS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9t aW5pZHVtcC9taW5pZHVtcF9jb250ZXh0LmgKK0BAIC02MzcsNiArNjM3LDQxIEBAIHN0cnVjdCBN aW5pZHVtcENvbnRleHRNSVBTNjQgeworICAgdWludDY0X3QgZmlyOworIH07CisgCisrLy8hIFxi cmllZiA2NGJpdCBSSVNDLVYtc3BlY2lmYyBmbGFncyBmb3IgTWluaWR1bXBDb250ZXh0UklTQ1Y2 NDo6Y29udGV4dF9mbGFncy4KKysvLyEgQmFzZWQgb24gbWluaWR1bXBfY3B1X3Jpc2N2NjQuaCBm cm9tIGJyZWFrcGFkCisrZW51bSBNaW5pZHVtcENvbnRleHRSSVNDVjY0RmxhZ3MgOiB1aW50MzJf dCB7CisrICAvLyEgXGJyaWVmIElkZW50aWZpZXMgdGhlIGNvbnRleHQgc3RydWN0dXJlIGFzIFJJ U0NWNjQuCisrICBrTWluaWR1bXBDb250ZXh0UklTQ1Y2NCA9IDB4MDAwODAwMDAsCisrCisrICAv LyEgXGJyaWVmIEluZGljYXRlcyB0aGUgdmFsaWRpdHkgb2YgaW50ZWdlciByZWdpc3RlcnMuCisr ICAvLyEKKysgIC8vISBSZWdpc3RlcnMgYHgxYC1geDMxYCBhbmQgcGMgYXJlIHZhbGlkLgorKyAg a01pbmlkdW1wQ29udGV4dFJJU0NWNjRJbnRlZ2VyID0ga01pbmlkdW1wQ29udGV4dFJJU0NWNjQg fCAweDAwMDAwMDAyLAorKworKyAgLy8hIFxicmllZiBJbmRpY2F0ZXMgdGhlIHZhbGlkaXR5IG9m IGZsb2F0aW5nIHBvaW50IHJlZ2lzdGVycy4KKysgIC8vIQorKyAgLy8hIEZsb2F0aW5nIHBvaW50 IHJlZ2lzdGVycyBgZjBgLWBmMzFgLCBhbmQgYGZjc3JgIGFyZSB2YWxpZAorKyAga01pbmlkdW1w Q29udGV4dFJJU0NWNjRGbG9hdGluZ1BvaW50ID0ga01pbmlkdW1wQ29udGV4dFJJU0NWNjQgfCAw eDAwMDAwMDA0LAorKworKyAgLy8hIFxicmllZiBJbmRpY2F0ZXMgdGhlIHZhbGlkaXR5IG9mIGFs bCByZWdpc3RlcnMuCisrICBrTWluaWR1bXBDb250ZXh0UklTQ1Y2NEFsbCA9IGtNaW5pZHVtcENv bnRleHRSSVNDVjY0SW50ZWdlciB8CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga01p bmlkdW1wQ29udGV4dFJJU0NWNjRGbG9hdGluZ1BvaW50LAorK307CisrCisrLy8hIFxicmllZiBB IDY0Yml0IFJJU0NWIENQVSBjb250ZXh0IChyZWdpc3RlciBzdGF0ZSkgY2FycmllZCBpbiBhIG1p bmlkdW1wIGZpbGUuCisrc3RydWN0IE1pbmlkdW1wQ29udGV4dFJJU0NWNjQgeworKyAgdWludDY0 X3QgY29udGV4dF9mbGFnczsKKysKKysgIC8vISBcYnJpZWYgR2VuZXJhbCBwdXJwb3NlIHJlZ2lz dGVycy4KKysgIHVpbnQ2NF90IHJlZ3NbMzJdOworKworKyAgLy8hIFxicmllZiBGUFUgcmVnaXN0 ZXJzLgorKyAgdWludDY0X3QgZnByZWdzWzMyXTsKKysKKysgIC8vISBcYnJpZWYgRlBVIHN0YXR1 cyByZWdpc3Rlci4KKysgIHVpbnQ2NF90IGZjc3I7CisrfTsKKysKKyB9ICAvLyBuYW1lc3BhY2Ug Y3Jhc2hwYWQKKyAKKyAjZW5kaWYgIC8vIENSQVNIUEFEX01JTklEVU1QX01JTklEVU1QX0NPTlRF WFRfSF8KK0luZGV4OiBjaHJvbWl1bS0xMDYuMC41MjQ5LjkxL3RoaXJkX3BhcnR5L2NyYXNocGFk L2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRleHRfd3JpdGVyLmNjCis9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 CistLS0gY2hyb21pdW0tMTA2LjAuNTI0OS45MS5vcmlnL3RoaXJkX3BhcnR5L2NyYXNocGFkL2Ny YXNocGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRleHRfd3JpdGVyLmNjCisrKysgY2hyb21pdW0t MTA2LjAuNTI0OS45MS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9taW5pZHVtcC9taW5p ZHVtcF9jb250ZXh0X3dyaXRlci5jYworQEAgLTEwMiw2ICsxMDIsMTMgQEAgTWluaWR1bXBDb250 ZXh0V3JpdGVyOjpDcmVhdGVGcm9tU25hcHNobworICAgICAgIGJyZWFrOworICAgICB9CisgCisr ICAgIGNhc2Uga0NQVUFyY2hpdGVjdHVyZVJJU0NWNjQ6IHsKKysgICAgICBjb250ZXh0ID0gc3Rk OjptYWtlX3VuaXF1ZTxNaW5pZHVtcENvbnRleHRSSVNDVjY0V3JpdGVyPigpOworKyAgICAgIHJl aW50ZXJwcmV0X2Nhc3Q8TWluaWR1bXBDb250ZXh0UklTQ1Y2NFdyaXRlcio+KGNvbnRleHQuZ2V0 KCkpCisrICAgICAgICAgIC0+SW5pdGlhbGl6ZUZyb21TbmFwc2hvdChjb250ZXh0X3NuYXBzaG90 LT5yaXNjdjY0KTsKKysgICAgICBicmVhazsKKysgICAgfQorKworICAgICBkZWZhdWx0OiB7Cisg ICAgICAgTE9HKEVSUk9SKSA8PCAidW5rbm93biBjb250ZXh0IGFyY2hpdGVjdHVyZSAiCisgICAg ICAgICAgICAgICAgICA8PCBjb250ZXh0X3NuYXBzaG90LT5hcmNoaXRlY3R1cmU7CitAQCAtNTU1 LDUgKzU2Miw0MiBAQCBzaXplX3QgTWluaWR1bXBDb250ZXh0TUlQUzY0V3JpdGVyOjpDb250Cisg ICBEQ0hFQ0tfR0Uoc3RhdGUoKSwga1N0YXRlRnJvemVuKTsKKyAgIHJldHVybiBzaXplb2YoY29u dGV4dF8pOworIH0KKysKKytNaW5pZHVtcENvbnRleHRSSVNDVjY0V3JpdGVyOjpNaW5pZHVtcENv bnRleHRSSVNDVjY0V3JpdGVyKCkKKysgICAgOiBNaW5pZHVtcENvbnRleHRXcml0ZXIoKSwgY29u dGV4dF8oKSB7CisrICBjb250ZXh0Xy5jb250ZXh0X2ZsYWdzID0ga01pbmlkdW1wQ29udGV4dFJJ U0NWNjQ7CisrfQorKworK01pbmlkdW1wQ29udGV4dFJJU0NWNjRXcml0ZXI6On5NaW5pZHVtcENv bnRleHRSSVNDVjY0V3JpdGVyKCkgPSBkZWZhdWx0OworKworK3ZvaWQgTWluaWR1bXBDb250ZXh0 UklTQ1Y2NFdyaXRlcjo6SW5pdGlhbGl6ZUZyb21TbmFwc2hvdCgKKysgICAgY29uc3QgQ1BVQ29u dGV4dFJJU0NWNjQqIGNvbnRleHRfc25hcHNob3QpIHsKKysgIERDSEVDS19FUShzdGF0ZSgpLCBr U3RhdGVNdXRhYmxlKTsKKysgIERDSEVDS19FUShjb250ZXh0Xy5jb250ZXh0X2ZsYWdzLCBrTWlu aWR1bXBDb250ZXh0UklTQ1Y2NCk7CisrCisrICBjb250ZXh0Xy5jb250ZXh0X2ZsYWdzID0ga01p bmlkdW1wQ29udGV4dFJJU0NWNjRBbGw7CisrCisrICBzdGF0aWNfYXNzZXJ0KHNpemVvZihjb250 ZXh0Xy5yZWdzKSA9PSBzaXplb2YoY29udGV4dF9zbmFwc2hvdC0+cmVncyksCisrICAgICAgICAg ICAgICAgICJHUFJzIHNpemUgbWlzbWF0Y2giKTsKKysgIG1lbWNweShjb250ZXh0Xy5yZWdzLCBj b250ZXh0X3NuYXBzaG90LT5yZWdzLCBzaXplb2YoY29udGV4dF8ucmVncykpOworKworKyAgc3Rh dGljX2Fzc2VydChzaXplb2YoY29udGV4dF8uZnByZWdzKSA9PSBzaXplb2YoY29udGV4dF9zbmFw c2hvdC0+ZnByZWdzKSwKKysgICAgICAgICAgICAgICAgIkZQUnMgc2l6ZSBtaXNtYXRjaCIpOwor KyAgbWVtY3B5KGNvbnRleHRfLmZwcmVncywKKysgICAgICAgICBjb250ZXh0X3NuYXBzaG90LT5m cHJlZ3MsCisrICAgICAgICAgc2l6ZW9mKGNvbnRleHRfLmZwcmVncykpOworKyAgY29udGV4dF8u ZmNzciA9IGNvbnRleHRfc25hcHNob3QtPmZjc3I7CisrfQorKworK2Jvb2wgTWluaWR1bXBDb250 ZXh0UklTQ1Y2NFdyaXRlcjo6V3JpdGVPYmplY3QoCisrICAgIEZpbGVXcml0ZXJJbnRlcmZhY2Uq IGZpbGVfd3JpdGVyKSB7CisrICBEQ0hFQ0tfRVEoc3RhdGUoKSwga1N0YXRlV3JpdGFibGUpOwor KyAgcmV0dXJuIGZpbGVfd3JpdGVyLT5Xcml0ZSgmY29udGV4dF8sIHNpemVvZihjb250ZXh0Xykp OworK30KKysKKytzaXplX3QgTWluaWR1bXBDb250ZXh0UklTQ1Y2NFdyaXRlcjo6Q29udGV4dFNp emUoKSBjb25zdCB7CisrICBEQ0hFQ0tfR0Uoc3RhdGUoKSwga1N0YXRlRnJvemVuKTsKKysgIHJl dHVybiBzaXplb2YoY29udGV4dF8pOworK30KKyAKKyB9ICAvLyBuYW1lc3BhY2UgY3Jhc2hwYWQK K0luZGV4OiBjaHJvbWl1bS0xMDYuMC41MjQ5LjkxL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNo cGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRleHRfd3JpdGVyLmgKKz09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBj aHJvbWl1bS0xMDYuMC41MjQ5LjkxLm9yaWcvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQv bWluaWR1bXAvbWluaWR1bXBfY29udGV4dF93cml0ZXIuaAorKysrIGNocm9taXVtLTEwNi4wLjUy NDkuOTEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1bXBfY29u dGV4dF93cml0ZXIuaAorQEAgLTM2OSw2ICszNjksNDkgQEAgY2xhc3MgTWluaWR1bXBDb250ZXh0 TUlQUzY0V3JpdGVyIGZpbmFsCisgICBNaW5pZHVtcENvbnRleHRNSVBTNjQgY29udGV4dF87Cisg fTsKKyAKKysvLyEgXGJyaWVmIFRoZSB3cml0ZXIgZm9yIGEgTWluaWR1bXBDb250ZXh0UklTQ1Y2 NCBzdHJ1Y3R1cmUgaW4gYSBtaW5pZHVtcCBmaWxlLgorK2NsYXNzIE1pbmlkdW1wQ29udGV4dFJJ U0NWNjRXcml0ZXIgZmluYWwgOiBwdWJsaWMgTWluaWR1bXBDb250ZXh0V3JpdGVyIHsKKysgcHVi bGljOgorKyAgTWluaWR1bXBDb250ZXh0UklTQ1Y2NFdyaXRlcigpOworKworKyAgTWluaWR1bXBD b250ZXh0UklTQ1Y2NFdyaXRlcihjb25zdCBNaW5pZHVtcENvbnRleHRSSVNDVjY0V3JpdGVyJikg PSBkZWxldGU7CisrICBNaW5pZHVtcENvbnRleHRSSVNDVjY0V3JpdGVyJiBvcGVyYXRvcj0oY29u c3QgTWluaWR1bXBDb250ZXh0UklTQ1Y2NFdyaXRlciYpID0KKysgICAgICBkZWxldGU7CisrCisr ICB+TWluaWR1bXBDb250ZXh0UklTQ1Y2NFdyaXRlcigpIG92ZXJyaWRlOworKworKyAgLy8hIFxi cmllZiBJbml0aWFsaXplcyB0aGUgTWluaWR1bXBDb250ZXh0UklTQ1YgYmFzZWQgb24gXGEgY29u dGV4dF9zbmFwc2hvdC4KKysgIC8vIQorKyAgLy8hIFxwYXJhbVtpbl0gY29udGV4dF9zbmFwc2hv dCBUaGUgY29udGV4dCBzbmFwc2hvdCB0byB1c2UgYXMgc291cmNlIGRhdGEuCisrICAvLyEKKysg IC8vISBcbm90ZSBWYWxpZCBpbiAja1N0YXRlTXV0YWJsZS4gTm8gbXV0YXRpb24gb2YgY29udGV4 dCgpIG1heSBiZSBkb25lIGJlZm9yZQorKyAgLy8hICAgICBjYWxsaW5nIHRoaXMgbWV0aG9kLCBh bmQgaXQgaXMgbm90IG5vcm1hbGx5IG5lY2Vzc2FyeSB0byBhbHRlcgorKyAgLy8hICAgICBjb250 ZXh0KCkgYWZ0ZXIgY2FsbGluZyB0aGlzIG1ldGhvZC4KKysgIHZvaWQgSW5pdGlhbGl6ZUZyb21T bmFwc2hvdChjb25zdCBDUFVDb250ZXh0UklTQ1Y2NCogY29udGV4dF9zbmFwc2hvdCk7CisrCisr ICAvLyEgXGJyaWVmIFJldHVybnMgYSBwb2ludGVyIHRvIHRoZSBjb250ZXh0IHN0cnVjdHVyZSB0 aGF0IHRoaXMgb2JqZWN0IHdpbGwKKysgIC8vISAgICAgd3JpdGUuCisrICAvLyEKKysgIC8vISBc YXR0ZW50aW9uIFRoaXMgcmV0dXJucyBhIG5vbi1gY29uc3RgIHBvaW50ZXIgdG8gdGhpcyBvYmpl Y3TigJlzIHByaXZhdGUKKysgIC8vISAgICAgZGF0YSBzbyB0aGF0IGEgY2FsbGVyIGNhbiBwb3B1 bGF0ZSB0aGUgY29udGV4dCBzdHJ1Y3R1cmUgZGlyZWN0bHkuCisrICAvLyEgICAgIFRoaXMgaXMg ZG9uZSBiZWNhdXNlIHByb3ZpZGluZyBzZXR0ZXIgaW50ZXJmYWNlcyB0byBlYWNoIGZpZWxkIGlu IHRoZQorKyAgLy8hICAgICBjb250ZXh0IHN0cnVjdHVyZSB3b3VsZCBiZSB1bndpZWxkeSBhbmQg Y3VtYmVyc29tZS4gQ2FyZSBtdXN0IGJlIHRha2VuCisrICAvLyEgICAgIHRvIHBvcHVsYXRlIHRo ZSBjb250ZXh0IHN0cnVjdHVyZSBjb3JyZWN0bHkuIFRoZSBjb250ZXh0IHN0cnVjdHVyZQorKyAg Ly8hICAgICBtdXN0IG9ubHkgYmUgbW9kaWZpZWQgd2hpbGUgdGhpcyBvYmplY3QgaXMgaW4gdGhl ICNrU3RhdGVNdXRhYmxlCisrICAvLyEgICAgIHN0YXRlLgorKyAgTWluaWR1bXBDb250ZXh0UklT Q1Y2NCogY29udGV4dCgpIHsgcmV0dXJuICZjb250ZXh0XzsgfQorKworKyBwcm90ZWN0ZWQ6Cisr ICAvLyBNaW5pZHVtcFdyaXRhYmxlOgorKyAgYm9vbCBXcml0ZU9iamVjdChGaWxlV3JpdGVySW50 ZXJmYWNlKiBmaWxlX3dyaXRlcikgb3ZlcnJpZGU7CisrCisrICAvLyBNaW5pZHVtcENvbnRleHRX cml0ZXI6CisrICBzaXplX3QgQ29udGV4dFNpemUoKSBjb25zdCBvdmVycmlkZTsKKysKKysgcHJp dmF0ZToKKysgIE1pbmlkdW1wQ29udGV4dFJJU0NWNjQgY29udGV4dF87CisrfTsKKysKKyB9ICAv LyBuYW1lc3BhY2UgY3Jhc2hwYWQKKyAKKyAjZW5kaWYgIC8vIENSQVNIUEFEX01JTklEVU1QX01J TklEVU1QX0NPTlRFWFRfV1JJVEVSX0hfCitJbmRleDogY2hyb21pdW0tMTA2LjAuNTI0OS45MS90 aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9taW5pZHVtcC9taW5pZHVtcF9taXNjX2luZm9f d3JpdGVyLmNjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CistLS0gY2hyb21pdW0tMTA2LjAuNTI0OS45MS5vcmlnL3Ro aXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX21pc2NfaW5mb193 cml0ZXIuY2MKKysrKyBjaHJvbWl1bS0xMDYuMC41MjQ5LjkxL3RoaXJkX3BhcnR5L2NyYXNocGFk L2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX21pc2NfaW5mb193cml0ZXIuY2MKK0BAIC0xNzUs NiArMTc1LDEwIEBAIHN0ZDo6c3RyaW5nIE1pbmlkdW1wTWlzY0luZm9EZWJ1Z0J1aWxkU3QKKyAg IHN0YXRpYyBjb25zdGV4cHIgY2hhciBrQ1BVW10gPSAibWlwcyI7CisgI2VsaWYgZGVmaW5lZChB UkNIX0NQVV9NSVBTNjRFTCkKKyAgIHN0YXRpYyBjb25zdGV4cHIgY2hhciBrQ1BVW10gPSAibWlw czY0IjsKKysjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1JJU0NWMzIpCisrICBzdGF0aWMgY29uc3Rl eHByIGNoYXIga0NQVVtdID0gInJpc2N2MzIiOworKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUklT Q1Y2NCkKKysgIHN0YXRpYyBjb25zdGV4cHIgY2hhciBrQ1BVW10gPSAicmlzY3Y2NCI7CisgI2Vs c2UKKyAjZXJyb3IgZGVmaW5lIGtDUFUgZm9yIHRoaXMgQ1BVCisgI2VuZGlmCitJbmRleDogY2hy b21pdW0tMTA2LjAuNTI0OS45MS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hv dC9jYXB0dXJlX21lbW9yeS5jYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGNocm9taXVtLTEwNi4wLjUyNDku OTEub3JpZy90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9jYXB0dXJlX21l bW9yeS5jYworKysrIGNocm9taXVtLTEwNi4wLjUyNDkuOTEvdGhpcmRfcGFydHkvY3Jhc2hwYWQv Y3Jhc2hwYWQvc25hcHNob3QvY2FwdHVyZV9tZW1vcnkuY2MKK0BAIC0xMTcsNiArMTE3LDE2IEBA IHZvaWQgQ2FwdHVyZU1lbW9yeTo6UG9pbnRlZFRvQnlDb250ZXh0KGMKKyAgIGZvciAoc2l6ZV90 IGkgPSAwOyBpIDwgc3RkOjpzaXplKGNvbnRleHQubWlwc2VsLT5yZWdzKTsgKytpKSB7CisgICAg IE1heWJlQ2FwdHVyZU1lbW9yeUFyb3VuZChkZWxlZ2F0ZSwgY29udGV4dC5taXBzZWwtPnJlZ3Nb aV0pOworICAgfQorKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUklTQ1ZfRkFNSUxZKQorKyAgaWYg KGNvbnRleHQuYXJjaGl0ZWN0dXJlID09IGtDUFVBcmNoaXRlY3R1cmVSSVNDVjY0KSB7CisrICAg IGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc3RkOjpzaXplKGNvbnRleHQucmlzY3Y2NC0+cmVncyk7 ICsraSkgeworKyAgICAgIE1heWJlQ2FwdHVyZU1lbW9yeUFyb3VuZChkZWxlZ2F0ZSwgY29udGV4 dC5yaXNjdjY0LT5yZWdzW2ldKTsKKysgICAgfQorKyAgfSBlbHNlIHsKKysgICAgZm9yIChzaXpl X3QgaSA9IDA7IGkgPCBzdGQ6OnNpemUoY29udGV4dC5yaXNjdjMyLT5yZWdzKTsgKytpKSB7Cisr ICAgICAgTWF5YmVDYXB0dXJlTWVtb3J5QXJvdW5kKGRlbGVnYXRlLCBjb250ZXh0LnJpc2N2MzIt PnJlZ3NbaV0pOworKyAgICB9CisrICB9CisgI2Vsc2UKKyAjZXJyb3IgUG9ydC4KKyAjZW5kaWYK K0luZGV4OiBjaHJvbWl1bS0xMDYuMC41MjQ5LjkxL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNo cGFkL3NuYXBzaG90L2NwdV9hcmNoaXRlY3R1cmUuaAorPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGNocm9taXVt LTEwNi4wLjUyNDkuOTEub3JpZy90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hv dC9jcHVfYXJjaGl0ZWN0dXJlLmgKKysrKyBjaHJvbWl1bS0xMDYuMC41MjQ5LjkxL3RoaXJkX3Bh cnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2NwdV9hcmNoaXRlY3R1cmUuaAorQEAgLTQz LDcgKzQzLDEzIEBAIGVudW0gQ1BVQXJjaGl0ZWN0dXJlIHsKKyAgIGtDUFVBcmNoaXRlY3R1cmVN SVBTRUwsCisgCisgICAvLyEgXGJyaWVmIDY0LWJpdCBNSVBTRUwuCistICBrQ1BVQXJjaGl0ZWN0 dXJlTUlQUzY0RUwKKysgIGtDUFVBcmNoaXRlY3R1cmVNSVBTNjRFTCwKKysKKysgIC8vISBcYnJp ZWYgMzItYml0IFJJU0NWLgorKyAga0NQVUFyY2hpdGVjdHVyZVJJU0NWMzIsCisrCisrICAvLyEg XGJyaWVmIDY0LWJpdCBSSVNDVi4KKysgIGtDUFVBcmNoaXRlY3R1cmVSSVNDVjY0CisgfTsKKyAK KyB9ICAvLyBuYW1lc3BhY2UgY3Jhc2hwYWQKK0luZGV4OiBjaHJvbWl1bS0xMDYuMC41MjQ5Ljkx L3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2NwdV9jb250ZXh0LmNjCis9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09CistLS0gY2hyb21pdW0tMTA2LjAuNTI0OS45MS5vcmlnL3RoaXJkX3BhcnR5L2Ny YXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2NwdV9jb250ZXh0LmNjCisrKysgY2hyb21pdW0tMTA2 LjAuNTI0OS45MS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9jcHVfY29u dGV4dC5jYworQEAgLTIyNiwxMCArMjI2LDEyIEBAIGJvb2wgQ1BVQ29udGV4dDo6SXM2NEJpdCgp IGNvbnN0IHsKKyAgICAgY2FzZSBrQ1BVQXJjaGl0ZWN0dXJlWDg2XzY0OgorICAgICBjYXNlIGtD UFVBcmNoaXRlY3R1cmVBUk02NDoKKyAgICAgY2FzZSBrQ1BVQXJjaGl0ZWN0dXJlTUlQUzY0RUw6 CisrICAgIGNhc2Uga0NQVUFyY2hpdGVjdHVyZVJJU0NWNjQ6CisgICAgICAgcmV0dXJuIHRydWU7 CisgICAgIGNhc2Uga0NQVUFyY2hpdGVjdHVyZVg4NjoKKyAgICAgY2FzZSBrQ1BVQXJjaGl0ZWN0 dXJlQVJNOgorICAgICBjYXNlIGtDUFVBcmNoaXRlY3R1cmVNSVBTRUw6CisrICAgIGNhc2Uga0NQ VUFyY2hpdGVjdHVyZVJJU0NWMzI6CisgICAgICAgcmV0dXJuIGZhbHNlOworICAgICBkZWZhdWx0 OgorICAgICAgIE5PVFJFQUNIRUQoKTsKK0luZGV4OiBjaHJvbWl1bS0xMDYuMC41MjQ5LjkxL3Ro aXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2NwdV9jb250ZXh0LmgKKz09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KKy0tLSBjaHJvbWl1bS0xMDYuMC41MjQ5LjkxLm9yaWcvdGhpcmRfcGFydHkvY3Jhc2hw YWQvY3Jhc2hwYWQvc25hcHNob3QvY3B1X2NvbnRleHQuaAorKysrIGNocm9taXVtLTEwNi4wLjUy NDkuOTEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvY3B1X2NvbnRleHQu aAorQEAgLTM2Miw2ICszNjIsMjAgQEAgc3RydWN0IENQVUNvbnRleHRNSVBTNjQgeworICAgdWlu dDY0X3QgZmlyOworIH07CisgCisrLy8hIFxicmllZiBBIGNvbnRleHQgc3RydWN0dXJlIGNhcnJ5 aW5nIFJJU0NWMzIgQ1BVIHN0YXRlLgorK3N0cnVjdCBDUFVDb250ZXh0UklTQ1YzMiB7CisrICB1 aW50MzJfdCByZWdzWzMyXTsKKysgIHVpbnQ2NF90IGZwcmVnc1szMl07CisrICB1aW50MzJfdCBm Y3NyOworK307CisrCisrLy8hIFxicmllZiBBIGNvbnRleHQgc3RydWN0dXJlIGNhcnJ5aW5nIFJJ U0NWNjQgQ1BVIHN0YXRlLgorK3N0cnVjdCBDUFVDb250ZXh0UklTQ1Y2NCB7CisrICB1aW50NjRf dCByZWdzWzMyXTsKKysgIHVpbnQ2NF90IGZwcmVnc1szMl07CisrICB1aW50MzJfdCBmY3NyOwor K307CisrCisgLy8hIFxicmllZiBBIGNvbnRleHQgc3RydWN0dXJlIGNhcGFibGUgb2YgY2Fycnlp bmcgdGhlIGNvbnRleHQgb2YgYW55IHN1cHBvcnRlZAorIC8vISAgICAgQ1BVIGFyY2hpdGVjdHVy ZS4KKyBzdHJ1Y3QgQ1BVQ29udGV4dCB7CitAQCAtNDAyLDYgKzQxNiw4IEBAIHN0cnVjdCBDUFVD b250ZXh0IHsKKyAgICAgQ1BVQ29udGV4dEFSTTY0KiBhcm02NDsKKyAgICAgQ1BVQ29udGV4dE1J UFMqIG1pcHNlbDsKKyAgICAgQ1BVQ29udGV4dE1JUFM2NCogbWlwczY0OworKyAgICBDUFVDb250 ZXh0UklTQ1YzMiogcmlzY3YzMjsKKysgICAgQ1BVQ29udGV4dFJJU0NWNjQqIHJpc2N2NjQ7Cisg ICB9OworIH07CisgCitJbmRleDogY2hyb21pdW0tMTA2LjAuNTI0OS45MS90aGlyZF9wYXJ0eS9j cmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9jcHVfY29udGV4dF9saW51eC5jYworPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQorLS0tIGNocm9taXVtLTEwNi4wLjUyNDkuOTEub3JpZy90aGlyZF9wYXJ0eS9jcmFz aHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9jcHVfY29udGV4dF9saW51eC5jYworKysrIGNo cm9taXVtLTEwNi4wLjUyNDkuOTEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNo b3QvbGludXgvY3B1X2NvbnRleHRfbGludXguY2MKK0BAIC0yNjYsNiArMjY2LDMwIEBAIHZvaWQg SW5pdGlhbGl6ZUNQVUNvbnRleHRBUk02NF9Pbmx5RlBTSU0KKyAgIGNvbnRleHQtPmZwY3IgPSBm bG9hdF9jb250ZXh0LmZwY3I7CisgfQorIAorKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUklTQ1Zf RkFNSUxZKQorKworK3RlbXBsYXRlIDx0eXBlbmFtZSBUcmFpdHM+Cisrdm9pZCBJbml0aWFsaXpl Q1BVQ29udGV4dFJJU0NWKAorKyAgICBjb25zdCB0eXBlbmFtZSBUcmFpdHM6OlNpZ25hbFRocmVh ZENvbnRleHQmIHRocmVhZF9jb250ZXh0LAorKyAgICBjb25zdCB0eXBlbmFtZSBUcmFpdHM6OlNp Z25hbEZsb2F0Q29udGV4dCYgZmxvYXRfY29udGV4dCwKKysgICAgdHlwZW5hbWUgVHJhaXRzOjpD UFVDb250ZXh0KiBjb250ZXh0KSB7CisrICBzdGF0aWNfYXNzZXJ0KHNpemVvZihjb250ZXh0LT5y ZWdzKSA9PSBzaXplb2YodGhyZWFkX2NvbnRleHQpLAorKyAgICAgICAgICAgICAgICAicmVnaXN0 ZXJzIHNpemUgbWlzbWF0Y2giKTsKKysgIHN0YXRpY19hc3NlcnQoc2l6ZW9mKGNvbnRleHQtPmZw cmVncykgPT0gc2l6ZW9mKGZsb2F0X2NvbnRleHQuZiksCisrICAgICAgICAgICAgICAgICJmcCBy ZWdpc3RlcnMgc2l6ZSBtaXNtYXRjaCIpOworKyAgbWVtY3B5KCZjb250ZXh0LT5yZWdzLCAmdGhy ZWFkX2NvbnRleHQsIHNpemVvZihjb250ZXh0LT5yZWdzKSk7CisrICBtZW1jcHkoJmNvbnRleHQt PmZwcmVncywgJmZsb2F0X2NvbnRleHQuZiwgc2l6ZW9mKGNvbnRleHQtPmZwcmVncykpOworKyAg Y29udGV4dC0+ZmNzciA9IGZsb2F0X2NvbnRleHQuZmNzcjsKKyt9CisrdGVtcGxhdGUgdm9pZCBJ bml0aWFsaXplQ1BVQ29udGV4dFJJU0NWPENvbnRleHRUcmFpdHMzMj4oCisrICAgIGNvbnN0IENv bnRleHRUcmFpdHMzMjo6U2lnbmFsVGhyZWFkQ29udGV4dCYgdGhyZWFkX2NvbnRleHQsCisrICAg IGNvbnN0IENvbnRleHRUcmFpdHMzMjo6U2lnbmFsRmxvYXRDb250ZXh0JiBmbG9hdF9jb250ZXh0 LAorKyAgICBDb250ZXh0VHJhaXRzMzI6OkNQVUNvbnRleHQqIGNvbnRleHQpOworK3RlbXBsYXRl IHZvaWQgSW5pdGlhbGl6ZUNQVUNvbnRleHRSSVNDVjxDb250ZXh0VHJhaXRzNjQ+KAorKyAgICBj b25zdCBDb250ZXh0VHJhaXRzNjQ6OlNpZ25hbFRocmVhZENvbnRleHQmIHRocmVhZF9jb250ZXh0 LAorKyAgICBjb25zdCBDb250ZXh0VHJhaXRzNjQ6OlNpZ25hbEZsb2F0Q29udGV4dCYgZmxvYXRf Y29udGV4dCwKKysgICAgQ29udGV4dFRyYWl0czY0OjpDUFVDb250ZXh0KiBjb250ZXh0KTsKKysK KyAjZW5kaWYgIC8vIEFSQ0hfQ1BVX1g4Nl9GQU1JTFkKKyAKKyB9ICAvLyBuYW1lc3BhY2UgaW50 ZXJuYWwKK0luZGV4OiBjaHJvbWl1bS0xMDYuMC41MjQ5LjkxL3RoaXJkX3BhcnR5L2NyYXNocGFk L2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L2NwdV9jb250ZXh0X2xpbnV4LmgKKz09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K Ky0tLSBjaHJvbWl1bS0xMDYuMC41MjQ5LjkxLm9yaWcvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jh c2hwYWQvc25hcHNob3QvbGludXgvY3B1X2NvbnRleHRfbGludXguaAorKysrIGNocm9taXVtLTEw Ni4wLjUyNDkuOTEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgv Y3B1X2NvbnRleHRfbGludXguaAorQEAgLTE3NCw2ICsxNzQsMjIgQEAgdm9pZCBJbml0aWFsaXpl Q1BVQ29udGV4dE1JUFMoCisgCisgI2VuZGlmICAvLyBBUkNIX0NQVV9NSVBTX0ZBTUlMWSB8fCBE T1hZR0VOCisgCisrI2lmIGRlZmluZWQoQVJDSF9DUFVfUklTQ1ZfRkFNSUxZKSB8fCBET1hZR0VO CisrCisrLy8hIFxicmllZiBJbml0aWFsaXplcyBhIENQVUNvbnRleHRSSVNDViBzdHJ1Y3R1cmUg ZnJvbSBuYXRpdmUgY29udGV4dAorKy8vISAgICAgc3RydWN0dXJlcyBvbiBMaW51eC4KKysvLyEK KysvLyEgXHBhcmFtW2luXSB0aHJlYWRfY29udGV4dCBUaGUgbmF0aXZlIHRocmVhZCBjb250ZXh0 LgorKy8vISBccGFyYW1baW5dIGZsb2F0X2NvbnRleHQgVGhlIG5hdGl2ZSBmbG9hdCBjb250ZXh0 LgorKy8vISBccGFyYW1bb3V0XSBjb250ZXh0IFRoZSBDUFVDb250ZXh0UklTQ1Ygc3RydWN0dXJl IHRvIGluaXRpYWxpemUuCisrdGVtcGxhdGUgPHR5cGVuYW1lIFRyYWl0cz4KKyt2b2lkIEluaXRp YWxpemVDUFVDb250ZXh0UklTQ1YoCisrICAgIGNvbnN0IHR5cGVuYW1lIFRyYWl0czo6U2lnbmFs VGhyZWFkQ29udGV4dCYgdGhyZWFkX2NvbnRleHQsCisrICAgIGNvbnN0IHR5cGVuYW1lIFRyYWl0 czo6U2lnbmFsRmxvYXRDb250ZXh0JiBmbG9hdF9jb250ZXh0LAorKyAgICB0eXBlbmFtZSBUcmFp dHM6OkNQVUNvbnRleHQqIGNvbnRleHQpOworKworKyNlbmRpZiAgLy8gQVJDSF9DUFVfUklTQ1Zf RkFNSUxZIHx8IERPWFlHRU4KKysKKyB9ICAvLyBuYW1lc3BhY2UgaW50ZXJuYWwKKyB9ICAvLyBu YW1lc3BhY2UgY3Jhc2hwYWQKKyAKK0luZGV4OiBjaHJvbWl1bS0xMDYuMC41MjQ5LjkxL3RoaXJk X3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L2V4Y2VwdGlvbl9zbmFwc2hv dF9saW51eC5jYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGNocm9taXVtLTEwNi4wLjUyNDkuOTEub3JpZy90 aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9leGNlcHRpb25fc25h cHNob3RfbGludXguY2MKKysrKyBjaHJvbWl1bS0xMDYuMC41MjQ5LjkxL3RoaXJkX3BhcnR5L2Ny YXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L2V4Y2VwdGlvbl9zbmFwc2hvdF9saW51eC5j YworQEAgLTMyNSw2ICszMjUsNjEgQEAgYm9vbCBFeGNlcHRpb25TbmFwc2hvdExpbnV4OjpSZWFk Q29udGV4dAorICAgICAgIHJlYWRlciwgY29udGV4dF9hZGRyZXNzLCBjb250ZXh0Xy5taXBzNjQp OworIH0KKyAKKysjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1JJU0NWX0ZBTUlMWSkKKysKKyt0ZW1w bGF0ZSA8dHlwZW5hbWUgVHJhaXRzPgorK3N0YXRpYyBib29sIFJlYWRDb250ZXh0KFByb2Nlc3NS ZWFkZXJMaW51eCogcmVhZGVyLAorKyAgICAgICAgICAgICAgICAgICAgICAgIExpbnV4Vk1BZGRy ZXNzIGNvbnRleHRfYWRkcmVzcywKKysgICAgICAgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBU cmFpdHM6OkNQVUNvbnRleHQqIGRlc3RfY29udGV4dCkgeworKyAgY29uc3QgUHJvY2Vzc01lbW9y eSogbWVtb3J5ID0gcmVhZGVyLT5NZW1vcnkoKTsKKysKKysgIExpbnV4Vk1BZGRyZXNzIGdyZWdz X2FkZHJlc3MgPSBjb250ZXh0X2FkZHJlc3MgKworKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIG9mZnNldG9mKFVDb250ZXh0PFRyYWl0cz4sIG1jb250ZXh0KSArCisrICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0b2YodHlwZW5hbWUgVHJhaXRzOjpNQ29udGV4 dCwgZ3JlZ3MpOworKworKyAgdHlwZW5hbWUgVHJhaXRzOjpTaWduYWxUaHJlYWRDb250ZXh0IHRo cmVhZF9jb250ZXh0OworKyAgaWYgKCFtZW1vcnktPlJlYWQoZ3JlZ3NfYWRkcmVzcywgc2l6ZW9m KHRocmVhZF9jb250ZXh0KSwgJnRocmVhZF9jb250ZXh0KSkgeworKyAgICBMT0coRVJST1IpIDw8 ICJDb3VsZG4ndCByZWFkIGdyZWdzIjsKKysgICAgcmV0dXJuIGZhbHNlOworKyAgfQorKworKyAg TGludXhWTUFkZHJlc3MgZnByZWdzX2FkZHJlc3MgPSBjb250ZXh0X2FkZHJlc3MgKworKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXRvZihVQ29udGV4dDxUcmFpdHM+LCBt Y29udGV4dCkgKworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXRvZih0 eXBlbmFtZSBUcmFpdHM6Ok1Db250ZXh0LCBmcHJlZ3MpOworKworKyAgdHlwZW5hbWUgVHJhaXRz OjpTaWduYWxGbG9hdENvbnRleHQgZnBfY29udGV4dDsKKysgIGlmICghbWVtb3J5LT5SZWFkKGZw cmVnc19hZGRyZXNzLCBzaXplb2YoZnBfY29udGV4dCksICZmcF9jb250ZXh0KSkgeworKyAgICBM T0coRVJST1IpIDw8ICJDb3VsZG4ndCByZWFkIGZwcmVncyI7CisrICAgIHJldHVybiBmYWxzZTsK KysgIH0KKysKKysgIEluaXRpYWxpemVDUFVDb250ZXh0UklTQ1Y8VHJhaXRzPih0aHJlYWRfY29u dGV4dCwgZnBfY29udGV4dCwgZGVzdF9jb250ZXh0KTsKKysKKysgIHJldHVybiB0cnVlOworK30K KysKKyt0ZW1wbGF0ZSA8PgorK2Jvb2wgRXhjZXB0aW9uU25hcHNob3RMaW51eDo6UmVhZENvbnRl eHQ8Q29udGV4dFRyYWl0czMyPigKKysgICAgUHJvY2Vzc1JlYWRlckxpbnV4KiByZWFkZXIsCisr ICAgIExpbnV4Vk1BZGRyZXNzIGNvbnRleHRfYWRkcmVzcykgeworKyAgY29udGV4dF8uYXJjaGl0 ZWN0dXJlID0ga0NQVUFyY2hpdGVjdHVyZVJJU0NWMzI7CisrICBjb250ZXh0Xy5yaXNjdjMyID0g JmNvbnRleHRfdW5pb25fLnJpc2N2MzI7CisrCisrICByZXR1cm4gaW50ZXJuYWw6OlJlYWRDb250 ZXh0PENvbnRleHRUcmFpdHMzMj4oCisrICAgICAgcmVhZGVyLCBjb250ZXh0X2FkZHJlc3MsIGNv bnRleHRfLnJpc2N2MzIpOworK30KKysKKyt0ZW1wbGF0ZSA8PgorK2Jvb2wgRXhjZXB0aW9uU25h cHNob3RMaW51eDo6UmVhZENvbnRleHQ8Q29udGV4dFRyYWl0czY0PigKKysgICAgUHJvY2Vzc1Jl YWRlckxpbnV4KiByZWFkZXIsCisrICAgIExpbnV4Vk1BZGRyZXNzIGNvbnRleHRfYWRkcmVzcykg eworKyAgY29udGV4dF8uYXJjaGl0ZWN0dXJlID0ga0NQVUFyY2hpdGVjdHVyZVJJU0NWNjQ7Cisr ICBjb250ZXh0Xy5yaXNjdjY0ID0gJmNvbnRleHRfdW5pb25fLnJpc2N2NjQ7CisrCisrICByZXR1 cm4gaW50ZXJuYWw6OlJlYWRDb250ZXh0PENvbnRleHRUcmFpdHM2ND4oCisrICAgICAgcmVhZGVy LCBjb250ZXh0X2FkZHJlc3MsIGNvbnRleHRfLnJpc2N2NjQpOworK30KKysKKyAjZW5kaWYgIC8v IEFSQ0hfQ1BVX1g4Nl9GQU1JTFkKKyAKKyBib29sIEV4Y2VwdGlvblNuYXBzaG90TGludXg6Oklu aXRpYWxpemUoCitJbmRleDogY2hyb21pdW0tMTA2LjAuNTI0OS45MS90aGlyZF9wYXJ0eS9jcmFz aHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9leGNlcHRpb25fc25hcHNob3RfbGludXguaAor PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQorLS0tIGNocm9taXVtLTEwNi4wLjUyNDkuOTEub3JpZy90aGlyZF9wYXJ0eS9j cmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9leGNlcHRpb25fc25hcHNob3RfbGludXgu aAorKysrIGNocm9taXVtLTEwNi4wLjUyNDkuOTEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hw YWQvc25hcHNob3QvbGludXgvZXhjZXB0aW9uX3NuYXBzaG90X2xpbnV4LmgKK0BAIC04OSw2ICs4 OSw5IEBAIGNsYXNzIEV4Y2VwdGlvblNuYXBzaG90TGludXggZmluYWwgOiBwdWIKKyAjZWxpZiBk ZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKQorICAgICBDUFVDb250ZXh0TUlQUyBtaXBzZWw7 CisgICAgIENQVUNvbnRleHRNSVBTNjQgbWlwczY0OworKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVf UklTQ1ZfRkFNSUxZKQorKyAgICBDUFVDb250ZXh0UklTQ1YzMiByaXNjdjMyOworKyAgICBDUFVD b250ZXh0UklTQ1Y2NCByaXNjdjY0OworICNlbmRpZgorICAgfSBjb250ZXh0X3VuaW9uXzsKKyAg IENQVUNvbnRleHQgY29udGV4dF87CitJbmRleDogY2hyb21pdW0tMTA2LjAuNTI0OS45MS90aGly ZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9wcm9jZXNzX3JlYWRlcl9s aW51eC5jYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQorLS0tIGNocm9taXVtLTEwNi4wLjUyNDkuOTEub3JpZy90aGly ZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9wcm9jZXNzX3JlYWRlcl9s aW51eC5jYworKysrIGNocm9taXVtLTEwNi4wLjUyNDkuOTEvdGhpcmRfcGFydHkvY3Jhc2hwYWQv Y3Jhc2hwYWQvc25hcHNob3QvbGludXgvcHJvY2Vzc19yZWFkZXJfbGludXguY2MKK0BAIC0xMjcs NiArMTI3LDkgQEAgdm9pZCBQcm9jZXNzUmVhZGVyTGludXg6OlRocmVhZDo6SW5pdGlhbAorICNl bGlmIGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpCisgICBzdGFja19wb2ludGVyID0gcmVh ZGVyLT5JczY0Qml0KCkgPyB0aHJlYWRfaW5mby50aHJlYWRfY29udGV4dC50NjQucmVnc1syOV0K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHRocmVhZF9pbmZvLnRocmVh ZF9jb250ZXh0LnQzMi5yZWdzWzI5XTsKKysjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1JJU0NWX0ZB TUlMWSkKKysgIHN0YWNrX3BvaW50ZXIgPSByZWFkZXItPklzNjRCaXQoKSA/IHRocmVhZF9pbmZv LnRocmVhZF9jb250ZXh0LnQ2NC5zcAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDogdGhyZWFkX2luZm8udGhyZWFkX2NvbnRleHQudDMyLnNwOworICNlbHNlCisgI2Vycm9y IFBvcnQuCisgI2VuZGlmCitJbmRleDogY2hyb21pdW0tMTA2LjAuNTI0OS45MS90aGlyZF9wYXJ0 eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9zaWduYWxfY29udGV4dC5oCis9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09CistLS0gY2hyb21pdW0tMTA2LjAuNTI0OS45MS5vcmlnL3RoaXJkX3BhcnR5L2NyYXNo cGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3NpZ25hbF9jb250ZXh0LmgKKysrKyBjaHJvbWl1 bS0xMDYuMC41MjQ5LjkxL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xp bnV4L3NpZ25hbF9jb250ZXh0LmgKK0BAIC00MjIsNiArNDIyLDY3IEBAIHN0YXRpY19hc3NlcnQo b2Zmc2V0b2YoVUNvbnRleHQ8Q29udGV4dFQKKyAgICAgICAgICAgICAgICJjb250ZXh0IG9mZnNl dCBtaXNtYXRjaCIpOworICNlbmRpZgorIAorKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUklTQ1Zf RkFNSUxZKQorKworK3N0cnVjdCBNQ29udGV4dDMyIHsKKysgIHVpbnQzMl90IGdyZWdzWzMyXTsK KysgIHVpbnQ2NF90IGZwcmVnc1szMl07CisrICB1bnNpZ25lZCBpbnQgZmNzcjsKKyt9OworKwor K3N0cnVjdCBNQ29udGV4dDY0IHsKKysgIHVpbnQ2NF90IGdyZWdzWzMyXTsKKysgIHVpbnQ2NF90 IGZwcmVnc1szMl07CisrICB1bnNpZ25lZCBpbnQgZmNzcjsKKyt9OworKworK3N0cnVjdCBDb250 ZXh0VHJhaXRzMzIgOiBwdWJsaWMgVHJhaXRzMzIgeworKyAgdXNpbmcgTUNvbnRleHQgPSBNQ29u dGV4dDMyOworKyAgdXNpbmcgU2lnbmFsVGhyZWFkQ29udGV4dCA9IFRocmVhZENvbnRleHQ6OnQz Ml90OworKyAgdXNpbmcgU2lnbmFsRmxvYXRDb250ZXh0ID0gRmxvYXRDb250ZXh0OjpmMzJfdDsK KysgIHVzaW5nIENQVUNvbnRleHQgPSBDUFVDb250ZXh0UklTQ1YzMjsKKyt9OworKworK3N0cnVj dCBDb250ZXh0VHJhaXRzNjQgOiBwdWJsaWMgVHJhaXRzNjQgeworKyAgdXNpbmcgTUNvbnRleHQg PSBNQ29udGV4dDY0OworKyAgdXNpbmcgU2lnbmFsVGhyZWFkQ29udGV4dCA9IFRocmVhZENvbnRl eHQ6OnQ2NF90OworKyAgdXNpbmcgU2lnbmFsRmxvYXRDb250ZXh0ID0gRmxvYXRDb250ZXh0Ojpm NjRfdDsKKysgIHVzaW5nIENQVUNvbnRleHQgPSBDUFVDb250ZXh0UklTQ1Y2NDsKKyt9OworKwor K3RlbXBsYXRlIDx0eXBlbmFtZSBUcmFpdHM+Cisrc3RydWN0IFVDb250ZXh0IHsKKysgIHR5cGVu YW1lIFRyYWl0czo6VUxvbmcgZmxhZ3M7CisrICB0eXBlbmFtZSBUcmFpdHM6OkFkZHJlc3MgbGlu azsKKysgIFNpZ25hbFN0YWNrPFRyYWl0cz4gc3RhY2s7CisrICBTaWdzZXQ8VHJhaXRzPiBzaWdt YXNrOworKyAgY2hhciBwYWRkaW5nWzEyOCAtIHNpemVvZihzaWdtYXNrKV07CisrICB0eXBlbmFt ZSBUcmFpdHM6OkNoYXJfNjRPbmx5IHBhZGRpbmcyWzhdOworKyAgdHlwZW5hbWUgVHJhaXRzOjpN Q29udGV4dCBtY29udGV4dDsKKyt9OworKworKyNpZiBkZWZpbmVkKEFSQ0hfQ1BVX1JJU0NWMzIp Cisrc3RhdGljX2Fzc2VydChvZmZzZXRvZihVQ29udGV4dDxDb250ZXh0VHJhaXRzMzI+LCBtY29u dGV4dCkgPT0KKysgICAgICAgICAgICAgICAgICBvZmZzZXRvZih1Y29udGV4dF90LCB1Y19tY29u dGV4dCksCisrICAgICAgICAgICAgICAiY29udGV4dCBvZmZzZXQgbWlzbWF0Y2giKTsKKytzdGF0 aWNfYXNzZXJ0KG9mZnNldG9mKFVDb250ZXh0PENvbnRleHRUcmFpdHMzMj4sIG1jb250ZXh0Lmdy ZWdzKSA9PQorKyAgICAgICAgICAgICAgICAgIG9mZnNldG9mKHVjb250ZXh0X3QsIHVjX21jb250 ZXh0Ll9fZ3JlZ3MpLAorKyAgICAgICAgICAgICAgImNvbnRleHQgb2Zmc2V0IG1pc21hdGNoIik7 Cisrc3RhdGljX2Fzc2VydChvZmZzZXRvZihVQ29udGV4dDxDb250ZXh0VHJhaXRzMzI+LCBtY29u dGV4dC5mcHJlZ3MpID09CisrICAgICAgICAgICAgICAgICAgb2Zmc2V0b2YodWNvbnRleHRfdCwg dWNfbWNvbnRleHQuX19mcHJlZ3MpLAorKyAgICAgICAgICAgICAgImNvbnRleHQgb2Zmc2V0IG1p c21hdGNoIik7CisrI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9SSVNDVjY0KQorK3N0YXRpY19hc3Nl cnQob2Zmc2V0b2YoVUNvbnRleHQ8Q29udGV4dFRyYWl0czY0PiwgbWNvbnRleHQpID09CisrICAg ICAgICAgICAgICAgICAgb2Zmc2V0b2YodWNvbnRleHRfdCwgdWNfbWNvbnRleHQpLAorKyAgICAg ICAgICAgICAgImNvbnRleHQgb2Zmc2V0IG1pc21hdGNoIik7Cisrc3RhdGljX2Fzc2VydChvZmZz ZXRvZihVQ29udGV4dDxDb250ZXh0VHJhaXRzNjQ+LCBtY29udGV4dC5ncmVncykgPT0KKysgICAg ICAgICAgICAgICAgICBvZmZzZXRvZih1Y29udGV4dF90LCB1Y19tY29udGV4dC5fX2dyZWdzKSwK KysgICAgICAgICAgICAgICJjb250ZXh0IG9mZnNldCBtaXNtYXRjaCIpOworK3N0YXRpY19hc3Nl cnQob2Zmc2V0b2YoVUNvbnRleHQ8Q29udGV4dFRyYWl0czY0PiwgbWNvbnRleHQuZnByZWdzKSA9 PQorKyAgICAgICAgICAgICAgICAgIG9mZnNldG9mKHVjb250ZXh0X3QsIHVjX21jb250ZXh0Ll9f ZnByZWdzKSwKKysgICAgICAgICAgICAgICJjb250ZXh0IG9mZnNldCBtaXNtYXRjaCIpOworKyNl bmRpZgorKworICNlbHNlCisgI2Vycm9yIFBvcnQuCisgI2VuZGlmICAvLyBBUkNIX0NQVV9YODZf RkFNSUxZCitJbmRleDogY2hyb21pdW0tMTA2LjAuNTI0OS45MS90aGlyZF9wYXJ0eS9jcmFzaHBh ZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9zeXN0ZW1fc25hcHNob3RfbGludXguY2MKKz09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KKy0tLSBjaHJvbWl1bS0xMDYuMC41MjQ5LjkxLm9yaWcvdGhpcmRfcGFydHkvY3Jhc2hw YWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvc3lzdGVtX3NuYXBzaG90X2xpbnV4LmNjCisrKysg Y2hyb21pdW0tMTA2LjAuNTI0OS45MS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFw c2hvdC9saW51eC9zeXN0ZW1fc25hcHNob3RfbGludXguY2MKK0BAIC0yMDUsNiArMjA1LDkgQEAg Q1BVQXJjaGl0ZWN0dXJlIFN5c3RlbVNuYXBzaG90TGludXg6OkdldAorICNlbGlmIGRlZmluZWQo QVJDSF9DUFVfTUlQU19GQU1JTFkpCisgICByZXR1cm4gcHJvY2Vzc19yZWFkZXJfLT5JczY0Qml0 KCkgPyBrQ1BVQXJjaGl0ZWN0dXJlTUlQUzY0RUwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA6IGtDUFVBcmNoaXRlY3R1cmVNSVBTRUw7CisrI2VsaWYgZGVmaW5lZChBUkNI X0NQVV9SSVNDVl9GQU1JTFkpCisrICByZXR1cm4gcHJvY2Vzc19yZWFkZXJfLT5JczY0Qml0KCkg PyBrQ1BVQXJjaGl0ZWN0dXJlUklTQ1Y2NAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDoga0NQVUFyY2hpdGVjdHVyZVJJU0NWMzI7CisgI2Vsc2UKKyAjZXJyb3IgcG9ydCB0 byB5b3VyIGFyY2hpdGVjdHVyZQorICNlbmRpZgorQEAgLTIyMCw2ICsyMjMsOSBAQCB1aW50MzJf dCBTeXN0ZW1TbmFwc2hvdExpbnV4OjpDUFVSZXZpc2lvCisgI2VsaWYgZGVmaW5lZChBUkNIX0NQ VV9NSVBTX0ZBTUlMWSkKKyAgIC8vIE5vdCBpbXBsZW1lbnRhYmxlIG9uIE1JUFMKKyAgIHJldHVy biAwOworKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUklTQ1ZfRkFNSUxZKQorKyAgLy8gTm90IGlt cGxlbWVudGFibGUgb24gUklTQ1YKKysgIHJldHVybiAwOworICNlbHNlCisgI2Vycm9yIHBvcnQg dG8geW91ciBhcmNoaXRlY3R1cmUKKyAjZW5kaWYKK0BAIC0yNDAsNiArMjQ2LDkgQEAgc3RkOjpz dHJpbmcgU3lzdGVtU25hcHNob3RMaW51eDo6Q1BVVmVuZAorICNlbGlmIGRlZmluZWQoQVJDSF9D UFVfTUlQU19GQU1JTFkpCisgICAvLyBOb3QgaW1wbGVtZW50YWJsZSBvbiBNSVBTCisgICByZXR1 cm4gc3RkOjpzdHJpbmcoKTsKKysjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1JJU0NWX0ZBTUlMWSkK KysgIC8vIE5vdCBpbXBsZW1lbnRhYmxlIG9uIFJJU0NWCisrICByZXR1cm4gc3RkOjpzdHJpbmco KTsKKyAjZWxzZQorICNlcnJvciBwb3J0IHRvIHlvdXIgYXJjaGl0ZWN0dXJlCisgI2VuZGlmCitA QCAtMzczLDYgKzM4Miw5IEBAIGJvb2wgU3lzdGVtU25hcHNob3RMaW51eDo6TlhFbmFibGVkKCkg Y28KKyAjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKQorICAgLy8gTm90IGltcGxl bWVudGFibGUgb24gTUlQUworICAgcmV0dXJuIGZhbHNlOworKyNlbGlmIGRlZmluZWQoQVJDSF9D UFVfUklTQ1ZfRkFNSUxZKQorKyAgLy8gTm90IGltcGxlbWVudGFibGUgb24gUklTQ1YKKysgIHJl dHVybiBmYWxzZTsKKyAjZWxzZQorICNlcnJvciBQb3J0LgorICNlbmRpZiAgLy8gQVJDSF9DUFVf WDg2X0ZBTUlMWQorSW5kZXg6IGNocm9taXVtLTEwNi4wLjUyNDkuOTEvdGhpcmRfcGFydHkvY3Jh c2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvdGhyZWFkX3NuYXBzaG90X2xpbnV4LmNjCis9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09CistLS0gY2hyb21pdW0tMTA2LjAuNTI0OS45MS5vcmlnL3RoaXJkX3BhcnR5L2Ny YXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3RocmVhZF9zbmFwc2hvdF9saW51eC5jYwor KysrIGNocm9taXVtLTEwNi4wLjUyNDkuOTEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQv c25hcHNob3QvbGludXgvdGhyZWFkX3NuYXBzaG90X2xpbnV4LmNjCitAQCAtMTkwLDYgKzE5MCwy MiBAQCBib29sIFRocmVhZFNuYXBzaG90TGludXg6OkluaXRpYWxpemUoCisgICAgICAgICB0aHJl YWQudGhyZWFkX2luZm8uZmxvYXRfY29udGV4dC5mMzIsCisgICAgICAgICBjb250ZXh0Xy5taXBz ZWwpOworICAgfQorKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUklTQ1ZfRkFNSUxZKQorKyAgaWYg KHByb2Nlc3NfcmVhZGVyLT5JczY0Qml0KCkpIHsKKysgICAgY29udGV4dF8uYXJjaGl0ZWN0dXJl ID0ga0NQVUFyY2hpdGVjdHVyZVJJU0NWNjQ7CisrICAgIGNvbnRleHRfLnJpc2N2NjQgPSAmY29u dGV4dF91bmlvbl8ucmlzY3Y2NDsKKysgICAgSW5pdGlhbGl6ZUNQVUNvbnRleHRSSVNDVjxDb250 ZXh0VHJhaXRzNjQ+KAorKwl0aHJlYWQudGhyZWFkX2luZm8udGhyZWFkX2NvbnRleHQudDY0LAor Kwl0aHJlYWQudGhyZWFkX2luZm8uZmxvYXRfY29udGV4dC5mNjQsCisrCWNvbnRleHRfLnJpc2N2 NjQpOworKyAgfSBlbHNlIHsKKysgICAgY29udGV4dF8uYXJjaGl0ZWN0dXJlID0ga0NQVUFyY2hp dGVjdHVyZVJJU0NWMzI7CisrICAgIGNvbnRleHRfLnJpc2N2MzIgPSAmY29udGV4dF91bmlvbl8u cmlzY3YzMjsKKysgICAgSW5pdGlhbGl6ZUNQVUNvbnRleHRSSVNDVjxDb250ZXh0VHJhaXRzMzI+ KAorKwl0aHJlYWQudGhyZWFkX2luZm8udGhyZWFkX2NvbnRleHQudDMyLAorKwl0aHJlYWQudGhy ZWFkX2luZm8uZmxvYXRfY29udGV4dC5mMzIsCisrCWNvbnRleHRfLnJpc2N2MzIpOworKyAgfQor ICNlbHNlCisgI2Vycm9yIFBvcnQuCisgI2VuZGlmCitJbmRleDogY2hyb21pdW0tMTA2LjAuNTI0 OS45MS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC90aHJlYWRf c25hcHNob3RfbGludXguaAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGNocm9taXVtLTEwNi4wLjUyNDkuOTEu b3JpZy90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC90aHJlYWRf c25hcHNob3RfbGludXguaAorKysrIGNocm9taXVtLTEwNi4wLjUyNDkuOTEvdGhpcmRfcGFydHkv Y3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvdGhyZWFkX3NuYXBzaG90X2xpbnV4LmgK K0BAIC03NCw2ICs3NCw5IEBAIGNsYXNzIFRocmVhZFNuYXBzaG90TGludXggZmluYWwgOiBwdWJs aWMKKyAjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKQorICAgICBDUFVDb250ZXh0 TUlQUyBtaXBzZWw7CisgICAgIENQVUNvbnRleHRNSVBTNjQgbWlwczY0OworKyNlbGlmIGRlZmlu ZWQoQVJDSF9DUFVfUklTQ1ZfRkFNSUxZKQorKyAgICBDUFVDb250ZXh0UklTQ1YzMiByaXNjdjMy OworKyAgICBDUFVDb250ZXh0UklTQ1Y2NCByaXNjdjY0OworICNlbHNlCisgI2Vycm9yIFBvcnQu CisgI2VuZGlmICAvLyBBUkNIX0NQVV9YODZfRkFNSUxZCitJbmRleDogY2hyb21pdW0tMTA2LjAu NTI0OS45MS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL2xpbnV4L3B0cmFjZXIu Y2MKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KKy0tLSBjaHJvbWl1bS0xMDYuMC41MjQ5LjkxLm9yaWcvdGhpcmRfcGFy dHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9saW51eC9wdHJhY2VyLmNjCisrKysgY2hyb21pdW0t MTA2LjAuNTI0OS45MS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL2xpbnV4L3B0 cmFjZXIuY2MKK0BAIC0zOTgsNiArMzk4LDUxIEBAIGJvb2wgR2V0VGhyZWFkQXJlYTY0KHBpZF90 IHRpZCwKKyAgIHJldHVybiB0cnVlOworIH0KKyAKKysjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1JJ U0NWX0ZBTUlMWSkKKysKKyt0ZW1wbGF0ZSA8dHlwZW5hbWUgRGVzdGluYXRpb24+CisrYm9vbCBH ZXRSZWdpc3RlclNldChwaWRfdCB0aWQsIGludCBzZXQsIERlc3RpbmF0aW9uKiBkZXN0LCBib29s IGNhbl9sb2cpIHsKKysgIGlvdmVjIGlvdjsKKysgIGlvdi5pb3ZfYmFzZSA9IGRlc3Q7CisrICBp b3YuaW92X2xlbiA9IHNpemVvZigqZGVzdCk7CisrICBpZiAocHRyYWNlKFBUUkFDRV9HRVRSRUdT RVQsIHRpZCwgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oc2V0KSwgJmlvdikgIT0gMCkgeworKyAg ICBQTE9HX0lGKEVSUk9SLCBjYW5fbG9nKSA8PCAicHRyYWNlIjsKKysgICAgcmV0dXJuIGZhbHNl OworKyAgfQorKyAgaWYgKGlvdi5pb3ZfbGVuICE9IHNpemVvZigqZGVzdCkpIHsKKysgICAgTE9H X0lGKEVSUk9SLCBjYW5fbG9nKSA8PCAiVW5leHBlY3RlZCByZWdpc3RlcnMgc2l6ZSI7CisrICAg IHJldHVybiBmYWxzZTsKKysgIH0KKysgIHJldHVybiB0cnVlOworK30KKysKKytib29sIEdldEZs b2F0aW5nUG9pbnRSZWdpc3RlcnMzMihwaWRfdCB0aWQsCisrICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgRmxvYXRDb250ZXh0KiBjb250ZXh0LAorKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGJvb2wgY2FuX2xvZykgeworKyAgcmV0dXJuIGZhbHNlOworK30KKysKKyti b29sIEdldEZsb2F0aW5nUG9pbnRSZWdpc3RlcnM2NChwaWRfdCB0aWQsCisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgRmxvYXRDb250ZXh0KiBjb250ZXh0LAorKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGJvb2wgY2FuX2xvZykgeworKyAgcmV0dXJuIEdldFJlZ2lz dGVyU2V0KHRpZCwgTlRfUFJGUFJFRywgJmNvbnRleHQtPmY2NC5mLCBjYW5fbG9nKTsKKyt9Cisr CisrYm9vbCBHZXRUaHJlYWRBcmVhMzIocGlkX3QgdGlkLAorKyAgICAgICAgICAgICAgICAgICAg IGNvbnN0IFRocmVhZENvbnRleHQmIGNvbnRleHQsCisrICAgICAgICAgICAgICAgICAgICAgTGlu dXhWTUFkZHJlc3MqIGFkZHJlc3MsCisrICAgICAgICAgICAgICAgICAgICAgYm9vbCBjYW5fbG9n KSB7CisrICByZXR1cm4gZmFsc2U7CisrfQorKworK2Jvb2wgR2V0VGhyZWFkQXJlYTY0KHBpZF90 IHRpZCwKKysgICAgICAgICAgICAgICAgICAgICBjb25zdCBUaHJlYWRDb250ZXh0JiBjb250ZXh0 LAorKyAgICAgICAgICAgICAgICAgICAgIExpbnV4Vk1BZGRyZXNzKiBhZGRyZXNzLAorKyAgICAg ICAgICAgICAgICAgICAgIGJvb2wgY2FuX2xvZykgeworKyAgKmFkZHJlc3MgPSBjb250ZXh0LnQ2 NC50cDsKKysgIHJldHVybiB0cnVlOworK30KKysKKyAjZWxzZQorICNlcnJvciBQb3J0LgorICNl bmRpZiAgLy8gQVJDSF9DUFVfWDg2X0ZBTUlMWQorSW5kZXg6IGNocm9taXVtLTEwNi4wLjUyNDku OTEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9saW51eC90aHJlYWRfaW5mby5o Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09CistLS0gY2hyb21pdW0tMTA2LjAuNTI0OS45MS5vcmlnL3RoaXJkX3BhcnR5 L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbGludXgvdGhyZWFkX2luZm8uaAorKysrIGNocm9taXVt LTEwNi4wLjUyNDkuOTEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9saW51eC90 aHJlYWRfaW5mby5oCitAQCAtNzksNiArNzksNDAgQEAgdW5pb24gVGhyZWFkQ29udGV4dCB7Cisg ICAgIHVpbnQzMl90IGNwMF9zdGF0dXM7CisgICAgIHVpbnQzMl90IGNwMF9jYXVzZTsKKyAgICAg dWludDMyX3QgcGFkZGluZzFfOworKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUklTQ1ZfRkFNSUxZ KQorKyAgICAvLyBSZWZsZWN0cyB1c2VyX3JlZ3Nfc3RydWN0IGluIGFzbS9wdHJhY2UuaC4KKysg ICAgdWludDMyX3QgcGM7CisrICAgIHVpbnQzMl90IHJhOworKyAgICB1aW50MzJfdCBzcDsKKysg ICAgdWludDMyX3QgZ3A7CisrICAgIHVpbnQzMl90IHRwOworKyAgICB1aW50MzJfdCB0MDsKKysg ICAgdWludDMyX3QgdDE7CisrICAgIHVpbnQzMl90IHQyOworKyAgICB1aW50MzJfdCBzMDsKKysg ICAgdWludDMyX3QgczE7CisrICAgIHVpbnQzMl90IGEwOworKyAgICB1aW50MzJfdCBhMTsKKysg ICAgdWludDMyX3QgYTI7CisrICAgIHVpbnQzMl90IGEzOworKyAgICB1aW50MzJfdCBhNDsKKysg ICAgdWludDMyX3QgYTU7CisrICAgIHVpbnQzMl90IGE2OworKyAgICB1aW50MzJfdCBhNzsKKysg ICAgdWludDMyX3QgczI7CisrICAgIHVpbnQzMl90IHMzOworKyAgICB1aW50MzJfdCBzNDsKKysg ICAgdWludDMyX3QgczU7CisrICAgIHVpbnQzMl90IHM2OworKyAgICB1aW50MzJfdCBzNzsKKysg ICAgdWludDMyX3Qgczg7CisrICAgIHVpbnQzMl90IHM5OworKyAgICB1aW50MzJfdCBzMTA7Cisr ICAgIHVpbnQzMl90IHMxMTsKKysgICAgdWludDMyX3QgdDM7CisrICAgIHVpbnQzMl90IHQ0Owor KyAgICB1aW50MzJfdCB0NTsKKysgICAgdWludDMyX3QgdDY7CisgI2Vsc2UKKyAjZXJyb3IgUG9y dC4KKyAjZW5kaWYgIC8vIEFSQ0hfQ1BVX1g4Nl9GQU1JTFkKK0BAIC0xMzIsNiArMTY2LDQwIEBA IHVuaW9uIFRocmVhZENvbnRleHQgeworICAgICB1aW50NjRfdCBjcDBfYmFkdmFkZHI7CisgICAg IHVpbnQ2NF90IGNwMF9zdGF0dXM7CisgICAgIHVpbnQ2NF90IGNwMF9jYXVzZTsKKysjZWxpZiBk ZWZpbmVkKEFSQ0hfQ1BVX1JJU0NWX0ZBTUlMWSkKKysgICAgLy8gUmVmbGVjdHMgdXNlcl9yZWdz X3N0cnVjdCBpbiBhc20vcHRyYWNlLmguCisrICAgIHVpbnQ2NF90IHBjOworKyAgICB1aW50NjRf dCByYTsKKysgICAgdWludDY0X3Qgc3A7CisrICAgIHVpbnQ2NF90IGdwOworKyAgICB1aW50NjRf dCB0cDsKKysgICAgdWludDY0X3QgdDA7CisrICAgIHVpbnQ2NF90IHQxOworKyAgICB1aW50NjRf dCB0MjsKKysgICAgdWludDY0X3QgczA7CisrICAgIHVpbnQ2NF90IHMxOworKyAgICB1aW50NjRf dCBhMDsKKysgICAgdWludDY0X3QgYTE7CisrICAgIHVpbnQ2NF90IGEyOworKyAgICB1aW50NjRf dCBhMzsKKysgICAgdWludDY0X3QgYTQ7CisrICAgIHVpbnQ2NF90IGE1OworKyAgICB1aW50NjRf dCBhNjsKKysgICAgdWludDY0X3QgYTc7CisrICAgIHVpbnQ2NF90IHMyOworKyAgICB1aW50NjRf dCBzMzsKKysgICAgdWludDY0X3QgczQ7CisrICAgIHVpbnQ2NF90IHM1OworKyAgICB1aW50NjRf dCBzNjsKKysgICAgdWludDY0X3Qgczc7CisrICAgIHVpbnQ2NF90IHM4OworKyAgICB1aW50NjRf dCBzOTsKKysgICAgdWludDY0X3QgczEwOworKyAgICB1aW50NjRfdCBzMTE7CisrICAgIHVpbnQ2 NF90IHQzOworKyAgICB1aW50NjRfdCB0NDsKKysgICAgdWludDY0X3QgdDU7CisrICAgIHVpbnQ2 NF90IHQ2OworICNlbHNlCisgI2Vycm9yIFBvcnQuCisgI2VuZGlmICAvLyBBUkNIX0NQVV9YODZf RkFNSUxZCitAQCAtMTQzLDExICsyMTEsMTIgQEAgdW5pb24gVGhyZWFkQ29udGV4dCB7CisgICB1 c2luZyBOYXRpdmVUaHJlYWRDb250ZXh0ID0gdXNlcl9yZWdzOworICNlbGlmIGRlZmluZWQoQVJD SF9DUFVfTUlQU19GQU1JTFkpCisgLy8gTm8gYXBwcm9wcmlhdGUgTmF0aXZlVGhyZWFkc0NvbnRl eHQgdHlwZSBhdmFpbGFibGUgZm9yIE1JUFMKKysjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1JJU0NW X0ZBTUlMWSkKKyAjZWxzZQorICNlcnJvciBQb3J0LgorICNlbmRpZiAgLy8gQVJDSF9DUFVfWDg2 X0ZBTUlMWSB8fCBBUkNIX0NQVV9BUk02NAorIAorLSNpZiAhZGVmaW5lZChBUkNIX0NQVV9NSVBT X0ZBTUlMWSkKKysjaWYgIWRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmICFkZWZpbmVk KEFSQ0hfQ1BVX1JJU0NWX0ZBTUlMWSkKKyAjaWYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKQor ICAgc3RhdGljX2Fzc2VydChzaXplb2YodDMyX3QpID09IHNpemVvZihOYXRpdmVUaHJlYWRDb250 ZXh0KSwgIlNpemUgbWlzbWF0Y2giKTsKKyAjZWxzZSAgLy8gQVJDSF9DUFVfNjRfQklUUworQEAg LTIxOCw2ICsyODcsOSBAQCB1bmlvbiBGbG9hdENvbnRleHQgeworICAgICB9IGZwcmVnc1szMl07 CisgICAgIHVpbnQzMl90IGZwY3NyOworICAgICB1aW50MzJfdCBmcHVfaWQ7CisrI2VsaWYgZGVm aW5lZChBUkNIX0NQVV9SSVNDVl9GQU1JTFkpCisrICAgIHVpbnQ2NF90IGZbMzJdOworKyAgICB1 aW50MzJfdCBmY3NyOworICNlbHNlCisgI2Vycm9yIFBvcnQuCisgI2VuZGlmICAvLyBBUkNIX0NQ VV9YODZfRkFNSUxZCitAQCAtMjUyLDYgKzMyNCw5IEBAIHVuaW9uIEZsb2F0Q29udGV4dCB7Cisg ICAgIGRvdWJsZSBmcHJlZ3NbMzJdOworICAgICB1aW50MzJfdCBmcGNzcjsKKyAgICAgdWludDMy X3QgZnB1X2lkOworKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUklTQ1ZfRkFNSUxZKQorKyAgICB1 aW50NjRfdCBmWzMyXTsKKysgICAgdWludDMyX3QgZmNzcjsKKyAjZWxzZQorICNlcnJvciBQb3J0 LgorICNlbmRpZiAgLy8gQVJDSF9DUFVfWDg2X0ZBTUlMWQorQEAgLTI4MSw2ICszNTYsNyBAQCB1 bmlvbiBGbG9hdENvbnRleHQgeworICAgc3RhdGljX2Fzc2VydChzaXplb2YoZjY0KSA9PSBzaXpl b2YodXNlcl9mcHNpbWRfc3RydWN0KSwgIlNpemUgbWlzbWF0Y2giKTsKKyAjZWxpZiBkZWZpbmVk KEFSQ0hfQ1BVX01JUFNfRkFNSUxZKQorIC8vIE5vIGFwcHJvcHJpYXRlIGZsb2F0aW5nIHBvaW50 IGNvbnRleHQgbmF0aXZlIHR5cGUgZm9yIGF2YWlsYWJsZSBNSVBTLgorKyNlbGlmIGRlZmluZWQo QVJDSF9DUFVfUklTQ1ZfRkFNSUxZKQorICNlbHNlCisgI2Vycm9yIFBvcnQuCisgI2VuZGlmICAv LyBBUkNIX0NQVV9YODYKK0luZGV4OiBjaHJvbWl1bS0xMDYuMC41MjQ5LjkxL3RoaXJkX3BhcnR5 L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbmV0L2h0dHBfdHJhbnNwb3J0X2xpYmN1cmwuY2MKKz09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KKy0tLSBjaHJvbWl1bS0xMDYuMC41MjQ5LjkxLm9yaWcvdGhpcmRfcGFydHkvY3Jh c2hwYWQvY3Jhc2hwYWQvdXRpbC9uZXQvaHR0cF90cmFuc3BvcnRfbGliY3VybC5jYworKysrIGNo cm9taXVtLTEwNi4wLjUyNDkuOTEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9u ZXQvaHR0cF90cmFuc3BvcnRfbGliY3VybC5jYworQEAgLTIzNyw2ICsyMzcsOCBAQCBzdGQ6OnN0 cmluZyBVc2VyQWdlbnQoKSB7CisgI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9CSUdfRU5ESUFOKQor ICAgICBzdGF0aWMgY29uc3RleHByIGNoYXIgYXJjaFtdID0gImFhcmNoNjRfYmUiOworICNlbmRp ZgorKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUklTQ1Y2NCkKKysgICAgc3RhdGljIGNvbnN0ZXhw ciBjaGFyIGFyY2hbXSA9ICJyaXNjdjY0IjsKKyAjZWxzZQorICNlcnJvciBQb3J0CisgI2VuZGlm CisKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDUtcmlzY3Yt Y3Jhc2hwYWQucGF0Y2guYXJncyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDUt cmlzY3YtY3Jhc2hwYWQucGF0Y2guYXJncwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAwMDAuLmQ1ZjM4ZTM1NGU3ZgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdl YmVuZ2luZS9wYXRjaGVzLzAwMDUtcmlzY3YtY3Jhc2hwYWQucGF0Y2guYXJncwpAQCAtMCwwICsx IEBACistTnAxIC0tZGlyZWN0b3J5PXNyYy8zcmRwYXJ0eS9jaHJvbWl1bS8KZGlmZiAtLWdpdCBh L3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDYtcmlzY3YtZGF2MWQucGF0Y2ggYi9z cmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDA2LXJpc2N2LWRhdjFkLnBhdGNoCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMTJhZDA3Mjc1YmQzCi0tLSAvZGV2 L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDAwNi1yaXNjdi1kYXYx ZC5wYXRjaApAQCAtMCwwICsxLDQ0IEBACitJbmRleDogY2hyb21pdW0tMTAyLjAuNTAwNS42MS90 aGlyZF9wYXJ0eS9kYXYxZC9jb25maWcvbGludXgvcmlzY3Y2NC9jb25maWcuaAorPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQorLS0tIC9kZXYvbnVsbAorKysrIGNocm9taXVtLTEwMi4wLjUwMDUuNjEvdGhpcmRfcGFydHkv ZGF2MWQvY29uZmlnL2xpbnV4L3Jpc2N2NjQvY29uZmlnLmgKK0BAIC0wLDAgKzEsMzggQEAKKysv KgorKyAqIEF1dG9nZW5lcmF0ZWQgYnkgdGhlIE1lc29uIGJ1aWxkIHN5c3RlbS4KKysgKiBEbyBu b3QgZWRpdCwgeW91ciBjaGFuZ2VzIHdpbGwgYmUgbG9zdC4KKysgKi8KKysKKysjcHJhZ21hIG9u Y2UKKysKKysjZGVmaW5lIEFSQ0hfQUFSQ0g2NCAwCisrCisrI2RlZmluZSBBUkNIX0FSTSAwCisr CisrI2RlZmluZSBBUkNIX1BQQzY0TEUgMAorKworKyNkZWZpbmUgQVJDSF9YODYgMAorKworKyNk ZWZpbmUgQVJDSF9YODZfMzIgMAorKworKyNkZWZpbmUgQVJDSF9YODZfNjQgMAorKworKyNkZWZp bmUgQ09ORklHXzE2QlBDIDEKKysKKysjZGVmaW5lIENPTkZJR184QlBDIDEKKysKKysvLyAjZGVm aW5lIENPTkZJR19MT0cgMSAtLSBMb2dnaW5nIGlzIGNvbnRyb2xsZWQgYnkgQ2hyb21pdW0KKysK KysjZGVmaW5lIEVORElBTk5FU1NfQklHIDAKKysKKysjZGVmaW5lIEhBVkVfQVNNIDAKKysKKysj ZGVmaW5lIEhBVkVfQVNfRlVOQyAwCisrCisrI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQor KworKyNkZWZpbmUgSEFWRV9HRVRBVVhWQUwgMQorKworKyNkZWZpbmUgSEFWRV9QT1NJWF9NRU1B TElHTiAxCisrCisrI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKKwpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDAwNi1yaXNjdi1kYXYxZC5wYXRjaC5hcmdzIGIvc3Jj cGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDAwNi1yaXNjdi1kYXYxZC5wYXRjaC5hcmdzCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZDVmMzhlMzU0ZTdmCi0tLSAv ZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDAwNi1yaXNjdi1k YXYxZC5wYXRjaC5hcmdzCkBAIC0wLDAgKzEgQEAKKy1OcDEgLS1kaXJlY3Rvcnk9c3JjLzNyZHBh cnR5L2Nocm9taXVtLwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMv MDAwNy1yaXNjdi1zYW5kYm94LnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMv MDAwNy1yaXNjdi1zYW5kYm94LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwMC4uMDk4YmQ5NWE4ZGU2Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2Vi ZW5naW5lL3BhdGNoZXMvMDAwNy1yaXNjdi1zYW5kYm94LnBhdGNoCkBAIC0wLDAgKzEsMTk1NiBA QAorSW5kZXg6IGNocm9taXVtLTEwNy4wLjUzMDQuODcvc2FuZGJveC9mZWF0dXJlcy5nbmkKKz09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KKy0tLSBjaHJvbWl1bS0xMDcuMC41MzA0Ljg3Lm9yaWcvc2FuZGJveC9mZWF0dXJl cy5nbmkKKysrKyBjaHJvbWl1bS0xMDcuMC41MzA0Ljg3L3NhbmRib3gvZmVhdHVyZXMuZ25pCitA QCAtOSw3ICs5LDggQEAKKyB1c2Vfc2VjY29tcF9icGYgPSAoaXNfbGludXggfHwgaXNfY2hyb21l b3MgfHwgaXNfYW5kcm9pZCkgJiYKKyAgICAgICAgICAgICAgICAgICAoY3VycmVudF9jcHUgPT0g Ing4NiIgfHwgY3VycmVudF9jcHUgPT0gIng2NCIgfHwKKyAgICAgICAgICAgICAgICAgICAgY3Vy cmVudF9jcHUgPT0gImFybSIgfHwgY3VycmVudF9jcHUgPT0gImFybTY0IiB8fAorLSAgICAgICAg ICAgICAgICAgICBjdXJyZW50X2NwdSA9PSAibWlwc2VsIiB8fCBjdXJyZW50X2NwdSA9PSAibWlw czY0ZWwiKQorKyAgICAgICAgICAgICAgICAgICBjdXJyZW50X2NwdSA9PSAibWlwc2VsIiB8fCBj dXJyZW50X2NwdSA9PSAibWlwczY0ZWwiIHx8CisrICAgICAgICAgICAgICAgICAgIGN1cnJlbnRf Y3B1ID09ICJyaXNjdjY0IikKKyAKKyAjIFNTQkQgKFNwZWN1bGF0aXZlIFN0b3JlIEJ5cGFzcyBE aXNhYmxlKSBpcyBhIG1pdGlnYXRpb24gb2YgU3BlY3RyZSBWYXJpYW50IDQuCisgIyBBcyBTcGVj dHJlIFZhcmlhbnQgNCBjYW4gYmUgbWl0aWdhdGVkIGJ5IHNpdGUgaXNvbGF0aW9uLCBvcHQtb3V0 IFNTQkQgb24gc2l0ZQorSW5kZXg6IGNocm9taXVtLTEwNy4wLjUzMDQuODcvc2FuZGJveC9saW51 eC9icGZfZHNsL2xpbnV4X3N5c2NhbGxfcmFuZ2VzLmgKKz09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBjaHJvbWl1 bS0xMDcuMC41MzA0Ljg3Lm9yaWcvc2FuZGJveC9saW51eC9icGZfZHNsL2xpbnV4X3N5c2NhbGxf cmFuZ2VzLmgKKysrKyBjaHJvbWl1bS0xMDcuMC41MzA0Ljg3L3NhbmRib3gvbGludXgvYnBmX2Rz bC9saW51eF9zeXNjYWxsX3Jhbmdlcy5oCitAQCAtNTYsNiArNTYsMTIgQEAKKyAjZGVmaW5lIE1B WF9QVUJMSUNfU1lTQ0FMTCBfX05SX3N5c2NhbGxzCisgI2RlZmluZSBNQVhfU1lTQ0FMTCBNQVhf UFVCTElDX1NZU0NBTEwKKyAKKysjZWxpZiBkZWZpbmVkKF9fcmlzY3YpCisrCisrI2RlZmluZSBN SU5fU1lTQ0FMTCAwdQorKyNkZWZpbmUgTUFYX1BVQkxJQ19TWVNDQUxMIDEwMjR1CisrI2RlZmlu ZSBNQVhfU1lTQ0FMTCBNQVhfUFVCTElDX1NZU0NBTEwKKysKKyAjZWxzZQorICNlcnJvciAiVW5z dXBwb3J0ZWQgYXJjaGl0ZWN0dXJlIgorICNlbmRpZgorSW5kZXg6IGNocm9taXVtLTEwNy4wLjUz MDQuODcvc2FuZGJveC9saW51eC9icGZfZHNsL3NlY2NvbXBfbWFjcm9zLmgKKz09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K Ky0tLSBjaHJvbWl1bS0xMDcuMC41MzA0Ljg3Lm9yaWcvc2FuZGJveC9saW51eC9icGZfZHNsL3Nl Y2NvbXBfbWFjcm9zLmgKKysrKyBjaHJvbWl1bS0xMDcuMC41MzA0Ljg3L3NhbmRib3gvbGludXgv YnBmX2RzbC9zZWNjb21wX21hY3Jvcy5oCitAQCAtMzQzLDYgKzM0Myw0NiBAQCBzdHJ1Y3QgcmVn c19zdHJ1Y3QgeworICNkZWZpbmUgU0VDQ09NUF9QVF9QQVJNNChfcmVncykgKF9yZWdzKS5yZWdz WzNdCisgI2RlZmluZSBTRUNDT01QX1BUX1BBUk01KF9yZWdzKSAoX3JlZ3MpLnJlZ3NbNF0KKyAj ZGVmaW5lIFNFQ0NPTVBfUFRfUEFSTTYoX3JlZ3MpIChfcmVncykucmVnc1s1XQorKworKyNlbGlm IGRlZmluZWQoX19yaXNjdikKKytzdHJ1Y3QgcmVnc19zdHJ1Y3QgeworKyAgdW5zaWduZWQgbG9u ZyByZWdzWzMyXTsKKyt9OworKworKyNkZWZpbmUgU0VDQ09NUF9BUkNIIEFVRElUX0FSQ0hfUklT Q1Y2NAorKworKyNkZWZpbmUgU0VDQ09NUF9SRUcoX2N0eCwgX3JlZykgKChfY3R4KS0+dWNfbWNv bnRleHQuX19ncmVnc1tfcmVnXSkKKysKKysjZGVmaW5lIFNFQ0NPTVBfUkVTVUxUKF9jdHgpIFNF Q0NPTVBfUkVHKF9jdHgsIFJFR19BMCkKKysjZGVmaW5lIFNFQ0NPTVBfU1lTQ0FMTChfY3R4KSBT RUNDT01QX1JFRyhfY3R4LCBSRUdfQTArNykKKysjZGVmaW5lIFNFQ0NPTVBfSVAoX2N0eCkgKF9j dHgpLT51Y19tY29udGV4dC5fX2dyZWdzW1JFR19QQ10KKysjZGVmaW5lIFNFQ0NPTVBfUEFSTTEo X2N0eCkgU0VDQ09NUF9SRUcoX2N0eCwgUkVHX0EwKQorKyNkZWZpbmUgU0VDQ09NUF9QQVJNMihf Y3R4KSBTRUNDT01QX1JFRyhfY3R4LCBSRUdfQTArMSkKKysjZGVmaW5lIFNFQ0NPTVBfUEFSTTMo X2N0eCkgU0VDQ09NUF9SRUcoX2N0eCwgUkVHX0EwKzIpCisrI2RlZmluZSBTRUNDT01QX1BBUk00 KF9jdHgpIFNFQ0NPTVBfUkVHKF9jdHgsIFJFR19BMCszKQorKyNkZWZpbmUgU0VDQ09NUF9QQVJN NShfY3R4KSBTRUNDT01QX1JFRyhfY3R4LCBSRUdfQTArNCkKKysjZGVmaW5lIFNFQ0NPTVBfUEFS TTYoX2N0eCkgU0VDQ09NUF9SRUcoX2N0eCwgUkVHX0EwKzUpCisrCisrI2RlZmluZSBTRUNDT01Q X05SX0lEWCAob2Zmc2V0b2Yoc3RydWN0IGFyY2hfc2VjY29tcF9kYXRhLCBucikpCisrI2RlZmlu ZSBTRUNDT01QX0FSQ0hfSURYIChvZmZzZXRvZihzdHJ1Y3QgYXJjaF9zZWNjb21wX2RhdGEsIGFy Y2gpKQorKyNkZWZpbmUgU0VDQ09NUF9JUF9NU0JfSURYIFwKKysgIChvZmZzZXRvZihzdHJ1Y3Qg YXJjaF9zZWNjb21wX2RhdGEsIGluc3RydWN0aW9uX3BvaW50ZXIpICsgNCkKKysjZGVmaW5lIFNF Q0NPTVBfSVBfTFNCX0lEWCBcCisrICAob2Zmc2V0b2Yoc3RydWN0IGFyY2hfc2VjY29tcF9kYXRh LCBpbnN0cnVjdGlvbl9wb2ludGVyKSArIDApCisrI2RlZmluZSBTRUNDT01QX0FSR19NU0JfSURY KG5yKSBcCisrICAob2Zmc2V0b2Yoc3RydWN0IGFyY2hfc2VjY29tcF9kYXRhLCBhcmdzKSArIDgg KiAobnIpICsgNCkKKysjZGVmaW5lIFNFQ0NPTVBfQVJHX0xTQl9JRFgobnIpIFwKKysgIChvZmZz ZXRvZihzdHJ1Y3QgYXJjaF9zZWNjb21wX2RhdGEsIGFyZ3MpICsgOCAqIChucikgKyAwKQorKwor KyNkZWZpbmUgU0VDQ09NUF9QVF9SRVNVTFQoX3JlZ3MpIChfcmVncykucmVnc1tSRUdfQTBdCisr I2RlZmluZSBTRUNDT01QX1BUX1NZU0NBTEwoX3JlZ3MpIChfcmVncykucmVnc1tSRUdfQTArN10K KysjZGVmaW5lIFNFQ0NPTVBfUFRfSVAoX3JlZ3MpIChfcmVncykucmVnc1tSRUdfUENdCisrI2Rl ZmluZSBTRUNDT01QX1BUX1BBUk0xKF9yZWdzKSAoX3JlZ3MpLnJlZ3NbUkVHX0EwXQorKyNkZWZp bmUgU0VDQ09NUF9QVF9QQVJNMihfcmVncykgKF9yZWdzKS5yZWdzW1JFR19BMCsxXQorKyNkZWZp bmUgU0VDQ09NUF9QVF9QQVJNMyhfcmVncykgKF9yZWdzKS5yZWdzW1JFR19BMCsyXQorKyNkZWZp bmUgU0VDQ09NUF9QVF9QQVJNNChfcmVncykgKF9yZWdzKS5yZWdzW1JFR19BMCszXQorKyNkZWZp bmUgU0VDQ09NUF9QVF9QQVJNNShfcmVncykgKF9yZWdzKS5yZWdzW1JFR19BMCs0XQorKyNkZWZp bmUgU0VDQ09NUF9QVF9QQVJNNihfcmVncykgKF9yZWdzKS5yZWdzW1JFR19BMCs1XQorICNlbHNl CisgI2Vycm9yIFVuc3VwcG9ydGVkIHRhcmdldCBwbGF0Zm9ybQorIAorSW5kZXg6IGNocm9taXVt LTEwNy4wLjUzMDQuODcvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL2Jhc2VsaW5l X3BvbGljeS5jYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGNocm9taXVtLTEwNy4wLjUzMDQuODcub3JpZy9z YW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvYmFzZWxpbmVfcG9saWN5LmNjCisrKysg Y2hyb21pdW0tMTA3LjAuNTMwNC44Ny9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMv YmFzZWxpbmVfcG9saWN5LmNjCitAQCAtNjEsNiArNjEsOSBAQCBib29sIElzQmFzZWxpbmVQb2xp Y3lBbGxvd2VkKGludCBzeXNubykKKyAjaWYgZGVmaW5lZChfX21pcHNfXykKKyAgICAgICAgICBT eXNjYWxsU2V0czo6SXNNaXBzUHJpdmF0ZShzeXNubykgfHwKKyAjZW5kaWYKKysjaWYgZGVmaW5l ZChfX3Jpc2N2KQorKyAgICAgICAgIFN5c2NhbGxTZXRzOjpJc1Jpc2N2UHJpdmF0ZShzeXNubykg fHwKKysjZW5kaWYKKyAgICAgICAgICBTeXNjYWxsU2V0czo6SXNBbGxvd2VkT3BlcmF0aW9uT25G ZChzeXNubyk7CisgICAvLyBjbGFuZy1mb3JtYXQgb24KKyB9CitAQCAtMTk4LDcgKzIwMSw3IEBA IFJlc3VsdEV4cHIgRXZhbHVhdGVTeXNjYWxsSW1wbChpbnQgZnNfZGUKKyAgICAgcmV0dXJuIFJl c3RyaWN0RmNudGxDb21tYW5kcygpOworICNlbmRpZgorIAorLSNpZiAhZGVmaW5lZChfX2FhcmNo NjRfXykKKysjaWYgIWRlZmluZWQoX19hYXJjaDY0X18pICYmICFkZWZpbmVkKF9fcmlzY3YpCisg ICAvLyBmb3JrKCkgaXMgbmV2ZXIgdXNlZCBhcyBhIHN5c3RlbSBjYWxsIChjbG9uZSgpIGlzIHVz ZWQgaW5zdGVhZCksIGJ1dCB3ZQorICAgLy8gaGF2ZSBzZWVuIGl0IGluIGZhbGxiYWNrIGNvZGUg b24gQW5kcm9pZC4KKyAgIGlmIChzeXNubyA9PSBfX05SX2ZvcmspIHsKK0BAIC0yNTMsNyArMjU2 LDcgQEAgUmVzdWx0RXhwciBFdmFsdWF0ZVN5c2NhbGxJbXBsKGludCBmc19kZQorICAgfQorIAor ICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQo X19taXBzX18pIHx8IFwKKy0gICAgZGVmaW5lZChfX2FhcmNoNjRfXykKKysgICAgZGVmaW5lZChf X2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX3Jpc2N2KQorICAgaWYgKHN5c25vID09IF9fTlJfbW1h cCkKKyAgICAgcmV0dXJuIFJlc3RyaWN0TW1hcEZsYWdzKCk7CisgI2VuZGlmCitAQCAtMjc0LDcg KzI3Nyw3IEBAIFJlc3VsdEV4cHIgRXZhbHVhdGVTeXNjYWxsSW1wbChpbnQgZnNfZGUKKyAgICAg cmV0dXJuIFJlc3RyaWN0UHJjdGwoKTsKKyAKKyAjaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBk ZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKKy0gICAgZGVmaW5lZChf X2FhcmNoNjRfXykKKysgICAgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX3Jpc2N2 KQorICAgaWYgKHN5c25vID09IF9fTlJfc29ja2V0cGFpcikgeworICAgICAvLyBPbmx5IGFsbG93 IEFGX1VOSVgsIFBGX1VOSVguIENyYXNoIGlmIGFueXRoaW5nIGVsc2UgaXMgc2Vlbi4KKyAgICAg c3RhdGljX2Fzc2VydChBRl9VTklYID09IFBGX1VOSVgsCitJbmRleDogY2hyb21pdW0tMTA3LjAu NTMwNC44Ny9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9wYXJhbWV0 ZXJzX3Jlc3RyaWN0aW9ucy5jYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGNocm9taXVtLTEwNy4wLjUzMDQu ODcub3JpZy9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9wYXJhbWV0 ZXJzX3Jlc3RyaWN0aW9ucy5jYworKysrIGNocm9taXVtLTEwNy4wLjUzMDQuODcvc2FuZGJveC9s aW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfcGFyYW1ldGVyc19yZXN0cmljdGlvbnMu Y2MKK0BAIC0zNyw2ICszNyw3IEBACisgCisgI2lmIChCVUlMREZMQUcoSVNfTElOVVgpIHx8IEJV SUxERkxBRyhJU19DSFJPTUVPU19MQUNST1MpKSAmJiBcCisgICAgICFkZWZpbmVkKF9fYXJtX18p ICYmICFkZWZpbmVkKF9fYWFyY2g2NF9fKSAmJiAgICAgICAgICAgICBcCisrICAgICFkZWZpbmVk KF9fcmlzY3YpICYmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg ICFkZWZpbmVkKFBUUkFDRV9HRVRfVEhSRUFEX0FSRUEpCisgLy8gQWxzbyBpbmNsdWRlIGFzbS9w dHJhY2UtYWJpLmggc2luY2UgcHRyYWNlLmggaW4gb2xkZXIgbGliYyAoZm9yIGluc3RhbmNlCisg Ly8gdGhlIG9uZSBpbiBVYnVudHUgMTYuMDQgTFRTKSBpcyBtaXNzaW5nIFBUUkFDRV9HRVRfVEhS RUFEX0FSRUEuCitAQCAtNDQzLDcgKzQ0NCw3IEBAIFJlc3VsdEV4cHIgUmVzdHJpY3RQdHJhY2Uo KSB7CisgI2VuZGlmCisgICByZXR1cm4gU3dpdGNoKHJlcXVlc3QpCisgICAgICAgLkNBU0VTKCgK Ky0jaWYgIWRlZmluZWQoX19hYXJjaDY0X18pCisrI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9fKSAm JiAhZGVmaW5lZChfX3Jpc2N2KQorICAgICAgICAgICAgICAgICAgUFRSQUNFX0dFVFJFR1MsIFBU UkFDRV9HRVRGUFJFR1MsIFBUUkFDRV9HRVRfVEhSRUFEX0FSRUEsCisgICAgICAgICAgICAgICAg ICBQVFJBQ0VfR0VUUkVHU0VULAorICNlbmRpZgorSW5kZXg6IGNocm9taXVtLTEwNy4wLjUzMDQu ODcvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfc2V0cy5jYworPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQorLS0tIGNocm9taXVtLTEwNy4wLjUzMDQuODcub3JpZy9zYW5kYm94L2xpbnV4L3Nl Y2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9zZXRzLmNjCisrKysgY2hyb21pdW0tMTA3LjAuNTMw NC44Ny9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9zZXRzLmNjCitA QCAtMTAzLDcgKzEwMyw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzVW1hc2soaW50IHN5c25vKSB7 CisgLy8gQm90aCBFUEVSTSBhbmQgRU5PRU5UIGFyZSB2YWxpZCBlcnJubyB1bmxlc3Mgb3RoZXJ3 aXNlIG5vdGVkIGluIGNvbW1lbnQuCisgYm9vbCBTeXNjYWxsU2V0czo6SXNGaWxlU3lzdGVtKGlu dCBzeXNubykgeworICAgc3dpdGNoIChzeXNubykgeworLSNpZiAhZGVmaW5lZChfX2FhcmNoNjRf XykKKysjaWYgIWRlZmluZWQoX19hYXJjaDY0X18pICYmICFkZWZpbmVkKF9fcmlzY3YpCisgICAg IGNhc2UgX19OUl9hY2Nlc3M6ICAvLyBFUEVSTSBub3QgYSB2YWxpZCBlcnJuby4KKyAgICAgY2Fz ZSBfX05SX2NobW9kOgorICAgICBjYXNlIF9fTlJfY2hvd246CitAQCAtMTM2LDcgKzEzNiw3IEBA IGJvb2wgU3lzY2FsbFNldHM6OklzRmlsZVN5c3RlbShpbnQgc3lzbm8KKyAgICAgY2FzZSBfX05S X2ZhY2Nlc3NhdDI6CisgICAgIGNhc2UgX19OUl9mY2htb2RhdDoKKyAgICAgY2FzZSBfX05SX2Zj aG93bmF0OiAgLy8gU2hvdWxkIGJlIGNhbGxlZCBjaG93bmF0ID8KKy0jaWYgZGVmaW5lZChfX3g4 Nl82NF9fKSB8fCBkZWZpbmVkKF9fYWFyY2g2NF9fKQorKyNpZiBkZWZpbmVkKF9feDg2XzY0X18p IHx8IGRlZmluZWQoX19hYXJjaDY0X18pIHx8IGRlZmluZWQoX19yaXNjdikKKyAgICAgY2FzZSBf X05SX25ld2ZzdGF0YXQ6ICAvLyBmc3RhdGF0KCkuIEVQRVJNIG5vdCBhIHZhbGlkIGVycm5vLgor ICNlbGlmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgXAorICAgICAo ZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRT KSkKK0BAIC0yMjYsNyArMjI2LDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkRmlsZVN5 c3RlbUFjYworICAgICBjYXNlIF9fTlJfb2xkZnN0YXQ6CisgI2VuZGlmCisgI2lmIGRlZmluZWQo X19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwg XAorLSAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKQorKyAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8 fCBkZWZpbmVkKF9fcmlzY3YpCisgICAgIGNhc2UgX19OUl9zeW5jX2ZpbGVfcmFuZ2U6ICAvLyBF UEVSTSBub3QgYSB2YWxpZCBlcnJuby4KKyAjZWxpZiBkZWZpbmVkKF9fYXJtX18pCisgICAgIGNh c2UgX19OUl9hcm1fc3luY19maWxlX3JhbmdlOiAgLy8gRVBFUk0gbm90IGEgdmFsaWQgZXJybm8u CitAQCAtMjQ1LDcgKzI0NSw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzRGVuaWVkRmlsZVN5c3Rl bUFjY2UKKyAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX2FybV9fKQorICAgICBj YXNlIF9fTlJfZmNob3duMzI6CisgI2VuZGlmCistI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9fKQor KyNpZiAhZGVmaW5lZChfX2FhcmNoNjRfXykgJiYgIWRlZmluZWQoX19yaXNjdikKKyAgICAgY2Fz ZSBfX05SX2dldGRlbnRzOiAgICAvLyBFUEVSTSBub3QgYSB2YWxpZCBlcnJuby4KKyAjZW5kaWYK KyAgICAgY2FzZSBfX05SX2dldGRlbnRzNjQ6ICAvLyBFUEVSTSBub3QgYSB2YWxpZCBlcnJuby4K K0BAIC0zMjQsNyArMzI0LDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNQcm9jZXNzUHJpdmlsZWdl Q2hhbgorIGJvb2wgU3lzY2FsbFNldHM6OklzUHJvY2Vzc0dyb3VwT3JTZXNzaW9uKGludCBzeXNu bykgeworICAgc3dpdGNoIChzeXNubykgeworICAgICBjYXNlIF9fTlJfc2V0cGdpZDoKKy0jaWYg IWRlZmluZWQoX19hYXJjaDY0X18pCisrI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9fKSAmJiAhZGVm aW5lZChfX3Jpc2N2KQorICAgICBjYXNlIF9fTlJfZ2V0cGdycDoKKyAjZW5kaWYKKyAgICAgY2Fz ZSBfX05SX3NldHNpZDoKK0BAIC0zNTgsNyArMzU4LDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNB bGxvd2VkU2lnbmFsSGFuZGxpbgorICAgICBjYXNlIF9fTlJfcnRfc2lncXVldWVpbmZvOgorICAg ICBjYXNlIF9fTlJfcnRfc2lnc3VzcGVuZDoKKyAgICAgY2FzZSBfX05SX3J0X3Rnc2lncXVldWVp bmZvOgorLSNpZiAhZGVmaW5lZChfX2FhcmNoNjRfXykKKysjaWYgIWRlZmluZWQoX19hYXJjaDY0 X18pICYmICFkZWZpbmVkKF9fcmlzY3YpCisgICAgIGNhc2UgX19OUl9zaWduYWxmZDoKKyAjZW5k aWYKKyAgICAgY2FzZSBfX05SX3NpZ25hbGZkNDoKK0BAIC0zODIsMTIgKzM4MiwxMiBAQCBib29s IFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRPcGVyYXRpb25PbkZkCisgICBzd2l0Y2ggKHN5c25vKSB7 CisgICAgIGNhc2UgX19OUl9jbG9zZToKKyAgICAgY2FzZSBfX05SX2R1cDoKKy0jaWYgIWRlZmlu ZWQoX19hYXJjaDY0X18pCisrI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9fKSAmJiAhZGVmaW5lZChf X3Jpc2N2KQorICAgICBjYXNlIF9fTlJfZHVwMjoKKyAjZW5kaWYKKyAgICAgY2FzZSBfX05SX2R1 cDM6CisgI2lmIGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZp bmVkKF9fbWlwc19fKSB8fCBcCistICAgIGRlZmluZWQoX19hYXJjaDY0X18pCisrICAgIGRlZmlu ZWQoX19hYXJjaDY0X18pIHx8IGRlZmluZWQoX19yaXNjdikKKyAgICAgY2FzZSBfX05SX3NodXRk b3duOgorICNlbmRpZgorICAgICAgIHJldHVybiB0cnVlOworQEAgLTQyNiw3ICs0MjYsNyBAQCBi b29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRQcm9jZXNzU3RhcnRPCisgICAgICAgcmV0dXJuIHRy dWU7CisgICAgIGNhc2UgX19OUl9jbG9uZTogIC8vIFNob3VsZCBiZSBwYXJhbWV0ZXItcmVzdHJp Y3RlZC4KKyAgICAgY2FzZSBfX05SX3NldG5zOiAgLy8gUHJpdmlsZWdlZC4KKy0jaWYgIWRlZmlu ZWQoX19hYXJjaDY0X18pCisrI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9fKSAmJiAhZGVmaW5lZChf X3Jpc2N2KQorICAgICBjYXNlIF9fTlJfZm9yazoKKyAjZW5kaWYKKyAjaWYgZGVmaW5lZChfX2kz ODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKQorQEAgLTQzNyw3ICs0MzcsNyBAQCBib29sIFN5 c2NhbGxTZXRzOjpJc0FsbG93ZWRQcm9jZXNzU3RhcnRPCisgI2VuZGlmCisgICAgIGNhc2UgX19O Ul9zZXRfdGlkX2FkZHJlc3M6CisgICAgIGNhc2UgX19OUl91bnNoYXJlOgorLSNpZiAhZGVmaW5l ZChfX21pcHNfXykgJiYgIWRlZmluZWQoX19hYXJjaDY0X18pCisrI2lmICFkZWZpbmVkKF9fbWlw c19fKSAmJiAhZGVmaW5lZChfX2FhcmNoNjRfXykgJiYgIWRlZmluZWQoX19yaXNjdikKKyAgICAg Y2FzZSBfX05SX3Zmb3JrOgorICNlbmRpZgorICAgICBkZWZhdWx0OgorQEAgLTQ2Miw3ICs0NjIs NyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRGdXRleChpbnQgc3lzCisgCisgYm9vbCBT eXNjYWxsU2V0czo6SXNBbGxvd2VkRXBvbGwoaW50IHN5c25vKSB7CisgICBzd2l0Y2ggKHN5c25v KSB7CistI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9fKQorKyNpZiAhZGVmaW5lZChfX2FhcmNoNjRf XykgJiYgIWRlZmluZWQoX19yaXNjdikKKyAgICAgY2FzZSBfX05SX2Vwb2xsX2NyZWF0ZToKKyAg ICAgY2FzZSBfX05SX2Vwb2xsX3dhaXQ6CisgI2VuZGlmCitAQCAtNDgzLDE0ICs0ODMsMTQgQEAg Ym9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkRXBvbGwoaW50IHN5cworIAorIGJvb2wgU3lzY2Fs bFNldHM6OklzQWxsb3dlZEdldE9yTW9kaWZ5U29ja2V0KGludCBzeXNubykgeworICAgc3dpdGNo IChzeXNubykgeworLSNpZiAhZGVmaW5lZChfX2FhcmNoNjRfXykKKysjaWYgIWRlZmluZWQoX19h YXJjaDY0X18pICYmICFkZWZpbmVkKF9fcmlzY3YpCisgICAgIGNhc2UgX19OUl9waXBlOgorICNl bmRpZgorICAgICBjYXNlIF9fTlJfcGlwZTI6CisgICAgICAgcmV0dXJuIHRydWU7CisgICAgIGRl ZmF1bHQ6CisgI2lmIGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBk ZWZpbmVkKF9fbWlwc19fKSB8fCBcCistICAgIGRlZmluZWQoX19hYXJjaDY0X18pCisrICAgIGRl ZmluZWQoX19hYXJjaDY0X18pIHx8IGRlZmluZWQoX19yaXNjdikKKyAgICAgY2FzZSBfX05SX3Nv Y2tldHBhaXI6ICAvLyBXZSB3aWxsIHdhbnQgdG8gaW5zcGVjdCBpdHMgYXJndW1lbnQuCisgI2Vu ZGlmCisgICAgICAgcmV0dXJuIGZhbHNlOworQEAgLTUwMCw3ICs1MDAsNyBAQCBib29sIFN5c2Nh bGxTZXRzOjpJc0FsbG93ZWRHZXRPck1vZGlmeVNvCisgYm9vbCBTeXNjYWxsU2V0czo6SXNEZW5p ZWRHZXRPck1vZGlmeVNvY2tldChpbnQgc3lzbm8pIHsKKyAgIHN3aXRjaCAoc3lzbm8pIHsKKyAj aWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19t aXBzX18pIHx8IFwKKy0gICAgZGVmaW5lZChfX2FhcmNoNjRfXykKKysgICAgZGVmaW5lZChfX2Fh cmNoNjRfXykgfHwgZGVmaW5lZChfX3Jpc2N2KQorICAgICBjYXNlIF9fTlJfYWNjZXB0OgorICAg ICBjYXNlIF9fTlJfYWNjZXB0NDoKKyAgICAgY2FzZSBfX05SX2JpbmQ6CitAQCAtNTU0LDcgKzU1 NCw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZEFkZHJlc3NTcGFjZUEKKyAgICAgY2Fz ZSBfX05SX21pbmNvcmU6CisgICAgIGNhc2UgX19OUl9tbG9ja2FsbDoKKyAjaWYgZGVmaW5lZChf X2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBc CistICAgIGRlZmluZWQoX19hYXJjaDY0X18pCisrICAgIGRlZmluZWQoX19hYXJjaDY0X18pIHx8 IGRlZmluZWQoX19yaXNjdikKKyAgICAgY2FzZSBfX05SX21tYXA6CisgI2VuZGlmCisgI2lmIGRl ZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgXAorQEAgLTU4Nyw3ICs1ODcs NyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRHZW5lcmFsSW8oaW50CisgICAgIChkZWZp bmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKQor ICAgICBjYXNlIF9fTlJfX2xsc2VlazoKKyAjZW5kaWYKKy0jaWYgIWRlZmluZWQoX19hYXJjaDY0 X18pCisrI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9fKSAmJiAhZGVmaW5lZChfX3Jpc2N2KQorICAg ICBjYXNlIF9fTlJfcG9sbDoKKyAjZW5kaWYKKyAgICAgY2FzZSBfX05SX3Bwb2xsOgorQEAgLTYw OCw3ICs2MDgsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRHZW5lcmFsSW8oaW50Cisg ICAgIGNhc2UgX19OUl9yZWN2OgorICNlbmRpZgorICNpZiBkZWZpbmVkKF9feDg2XzY0X18pIHx8 IGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgXAorLSAgICBkZWZpbmVk KF9fYWFyY2g2NF9fKQorKyAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBkZWZpbmVkKF9fcmlz Y3YpCisgICAgIGNhc2UgX19OUl9yZWN2ZnJvbTogIC8vIENvdWxkIHNwZWNpZnkgc291cmNlLgor ICAgICBjYXNlIF9fTlJfcmVjdm1zZzogICAvLyBDb3VsZCBzcGVjaWZ5IHNvdXJjZS4KKyAjZW5k aWYKK0BAIC02MjMsNyArNjIzLDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkR2VuZXJh bElvKGludAorICAgICBjYXNlIF9fTlJfc2VuZDoKKyAjZW5kaWYKKyAjaWYgZGVmaW5lZChfX3g4 Nl82NF9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKKy0g ICAgZGVmaW5lZChfX2FhcmNoNjRfXykKKysgICAgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVm aW5lZChfX3Jpc2N2KQorICAgICBjYXNlIF9fTlJfc2VuZG1zZzogIC8vIENvdWxkIHNwZWNpZnkg ZGVzdGluYXRpb24uCisgICAgIGNhc2UgX19OUl9zZW5kdG86ICAgLy8gQ291bGQgc3BlY2lmeSBk ZXN0aW5hdGlvbi4KKyAjZW5kaWYKK0BAIC02NzIsNyArNjcyLDcgQEAgYm9vbCBTeXNjYWxsU2V0 czo6SXNTZWNjb21wKGludCBzeXNubykgeworIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZEJh c2ljU2NoZWR1bGVyKGludCBzeXNubykgeworICAgc3dpdGNoIChzeXNubykgeworICAgICBjYXNl IF9fTlJfc2NoZWRfeWllbGQ6CistI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9fKQorKyNpZiAhZGVm aW5lZChfX2FhcmNoNjRfXykgJiYgIWRlZmluZWQoX19yaXNjdikKKyAgICAgY2FzZSBfX05SX3Bh dXNlOgorICNlbmRpZgorICAgICBjYXNlIF9fTlJfbmFub3NsZWVwOgorQEAgLTc1Niw3ICs3NTYs NyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc051bWEoaW50IHN5c25vKSB7CisgICAgIGNhc2UgX19O Ul9nZXRjcHU6CisgICAgIGNhc2UgX19OUl9tYmluZDoKKyAjaWYgZGVmaW5lZChfX2kzODZfXykg fHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBcCistICAgIGRl ZmluZWQoX19hYXJjaDY0X18pCisrICAgIGRlZmluZWQoX19hYXJjaDY0X18pIHx8IGRlZmluZWQo X19yaXNjdikKKyAgICAgY2FzZSBfX05SX21pZ3JhdGVfcGFnZXM6CisgI2VuZGlmCisgICAgIGNh c2UgX19OUl9tb3ZlX3BhZ2VzOgorQEAgLTc5MSw3ICs3OTEsNyBAQCBib29sIFN5c2NhbGxTZXRz OjpJc0dsb2JhbFByb2Nlc3NFbnZpcm9uCisgICBzd2l0Y2ggKHN5c25vKSB7CisgICAgIGNhc2Ug X19OUl9hY2N0OiAgLy8gUHJpdmlsZWdlZC4KKyAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVm aW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBcCistICAgIGRlZmluZWQo X19hYXJjaDY0X18pCisrICAgIGRlZmluZWQoX19hYXJjaDY0X18pIHx8IGRlZmluZWQoX19yaXNj dikKKyAgICAgY2FzZSBfX05SX2dldHJsaW1pdDoKKyAjZW5kaWYKKyAjaWYgZGVmaW5lZChfX2kz ODZfXykgfHwgZGVmaW5lZChfX2FybV9fKQorQEAgLTgyNiw3ICs4MjYsNyBAQCBib29sIFN5c2Nh bGxTZXRzOjpJc0RlYnVnKGludCBzeXNubykgeworIAorIGJvb2wgU3lzY2FsbFNldHM6OklzR2xv YmFsU3lzdGVtU3RhdHVzKGludCBzeXNubykgeworICAgc3dpdGNoIChzeXNubykgeworLSNpZiAh ZGVmaW5lZChfX2FhcmNoNjRfXykKKysjaWYgIWRlZmluZWQoX19hYXJjaDY0X18pICYmICFkZWZp bmVkKF9fcmlzY3YpCisgICAgIGNhc2UgX19OUl9fc3lzY3RsOgorICAgICBjYXNlIF9fTlJfc3lz ZnM6CisgI2VuZGlmCitAQCAtODQ0LDcgKzg0NCw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzR2xv YmFsU3lzdGVtU3RhdHVzKGkKKyAKKyBib29sIFN5c2NhbGxTZXRzOjpJc0V2ZW50RmQoaW50IHN5 c25vKSB7CisgICBzd2l0Y2ggKHN5c25vKSB7CistI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9fKQor KyNpZiAhZGVmaW5lZChfX2FhcmNoNjRfXykgJiYgIWRlZmluZWQoX19yaXNjdikKKyAgICAgY2Fz ZSBfX05SX2V2ZW50ZmQ6CisgI2VuZGlmCisgICAgIGNhc2UgX19OUl9ldmVudGZkMjoKK0BAIC04 OTYsNyArODk2LDggQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNLZXlNYW5hZ2VtZW50KGludCBzeQor IH0KKyAKKyAjaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRl ZmluZWQoX19hYXJjaDY0X18pIHx8IFwKKy0gICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1J TFkpICYmIGRlZmluZWQoQVJDSF9DUFVfNjRfQklUUykpCisrICAgIChkZWZpbmVkKEFSQ0hfQ1BV X01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzY0X0JJVFMpKSB8fCBcCisrICAgIGRl ZmluZWQoX19yaXNjdikKKyBib29sIFN5c2NhbGxTZXRzOjpJc1N5c3RlbVZTZW1hcGhvcmVzKGlu dCBzeXNubykgeworICAgc3dpdGNoIChzeXNubykgeworICAgICBjYXNlIF9fTlJfc2VtY3RsOgor QEAgLTkxNiw3ICs5MTcsOCBAQCBib29sIFN5c2NhbGxTZXRzOjpJc1N5c3RlbVZTZW1hcGhvcmVz KGluCisgCisgI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwg ZGVmaW5lZChfX2FybV9fKSB8fCBcCisgICAgIGRlZmluZWQoX19hYXJjaDY0X18pIHx8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgIChkZWZpbmVkKEFSQ0hf Q1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzY0X0JJVFMpKQorKyAgICAoZGVm aW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV82NF9CSVRTKSkg fHwgXAorKyAgICBkZWZpbmVkKF9fcmlzY3YpCisgLy8gVGhlc2UgZ2l2ZSBhIGxvdCBvZiBhbWJp ZW50IGF1dGhvcml0eSBhbmQgYnlwYXNzIHRoZSBzZXR1aWQgc2FuZGJveC4KKyBib29sIFN5c2Nh bGxTZXRzOjpJc1N5c3RlbVZTaGFyZWRNZW1vcnkoaW50IHN5c25vKSB7CisgICBzd2l0Y2ggKHN5 c25vKSB7CitAQCAtOTMyLDcgKzkzNCw4IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzU3lzdGVtVlNo YXJlZE1lbW9yeSgKKyAjZW5kaWYKKyAKKyAjaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZp bmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19hYXJjaDY0X18pIHx8IFwKKy0gICAgKGRlZmluZWQo QVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfNjRfQklUUykpCisrICAg IChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzY0X0JJ VFMpKSB8fCBcCisrICAgIGRlZmluZWQoX19yaXNjdikKKyBib29sIFN5c2NhbGxTZXRzOjpJc1N5 c3RlbVZNZXNzYWdlUXVldWUoaW50IHN5c25vKSB7CisgICBzd2l0Y2ggKHN5c25vKSB7CisgICAg IGNhc2UgX19OUl9tc2djdGw6CitAQCAtOTYzLDcgKzk2Niw4IEBAIGJvb2wgU3lzY2FsbFNldHM6 OklzU3lzdGVtVklwYyhpbnQgc3lzbm8KKyAKKyBib29sIFN5c2NhbGxTZXRzOjpJc0FueVN5c3Rl bVYoaW50IHN5c25vKSB7CisgI2lmIGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX2Fy bV9fKSB8fCBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBcCistICAgIChkZWZpbmVkKEFSQ0hfQ1BV X01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzY0X0JJVFMpKQorKyAgICAoZGVmaW5l ZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV82NF9CSVRTKSkgfHwg XAorKyAgICBkZWZpbmVkKF9fcmlzY3YpCisgICByZXR1cm4gSXNTeXN0ZW1WTWVzc2FnZVF1ZXVl KHN5c25vKSB8fCBJc1N5c3RlbVZTZW1hcGhvcmVzKHN5c25vKSB8fAorICAgICAgICAgIElzU3lz dGVtVlNoYXJlZE1lbW9yeShzeXNubyk7CisgI2VsaWYgZGVmaW5lZChfX2kzODZfXykgfHwgXAor QEAgLTEwMDAsNyArMTAwNCw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWR2YW5jZWRTY2hlZHVs ZXIoaW4KKyBib29sIFN5c2NhbGxTZXRzOjpJc0lub3RpZnkoaW50IHN5c25vKSB7CisgICBzd2l0 Y2ggKHN5c25vKSB7CisgICAgIGNhc2UgX19OUl9pbm90aWZ5X2FkZF93YXRjaDoKKy0jaWYgIWRl ZmluZWQoX19hYXJjaDY0X18pCisrI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9fKSAmJiAhZGVmaW5l ZChfX3Jpc2N2KQorICAgICBjYXNlIF9fTlJfaW5vdGlmeV9pbml0OgorICNlbmRpZgorICAgICBj YXNlIF9fTlJfaW5vdGlmeV9pbml0MToKK0BAIC0xMTM4LDcgKzExNDIsNyBAQCBib29sIFN5c2Nh bGxTZXRzOjpJc01pc2MoaW50IHN5c25vKSB7CisgI2lmIGRlZmluZWQoX194ODZfNjRfXykKKyAg ICAgY2FzZSBfX05SX3R1eGNhbGw6CisgI2VuZGlmCistI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9f KQorKyNpZiAhZGVmaW5lZChfX2FhcmNoNjRfXykgJiYgIWRlZmluZWQoX19yaXNjdikKKyAgICAg Y2FzZSBfX05SX3ZzZXJ2ZXI6CisgI2VuZGlmCisgICAgICAgcmV0dXJuIHRydWU7CitAQCAtMTE3 Myw2ICsxMTc3LDE3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQXJtUHJpdmF0ZShpbnQgc3lzbm8K KyB9CisgI2VuZGlmICAvLyBkZWZpbmVkKF9fYXJtX18pCisgCisrI2lmIGRlZmluZWQoX19yaXNj dikKKytib29sIFN5c2NhbGxTZXRzOjpJc1Jpc2N2UHJpdmF0ZShpbnQgc3lzbm8pIHsKKysgIHN3 aXRjaCAoc3lzbm8pIHsKKysgICAgY2FzZSBfX05SX3Jpc2N2X2ZsdXNoX2ljYWNoZToKKysgICAg ICByZXR1cm4gdHJ1ZTsKKysgICAgZGVmYXVsdDoKKysgICAgICByZXR1cm4gZmFsc2U7CisrICB9 CisrfQorKyNlbmRpZiAgLy8gZGVmaW5lZChfX3Jpc2N2KQorKworICNpZiBkZWZpbmVkKF9fbWlw c19fKQorIGJvb2wgU3lzY2FsbFNldHM6OklzTWlwc1ByaXZhdGUoaW50IHN5c25vKSB7CisgICBz d2l0Y2ggKHN5c25vKSB7CitJbmRleDogY2hyb21pdW0tMTA3LjAuNTMwNC44Ny9zYW5kYm94L2xp bnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9zZXRzLmgKKz09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBj aHJvbWl1bS0xMDcuMC41MzA0Ljg3Lm9yaWcvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxw ZXJzL3N5c2NhbGxfc2V0cy5oCisrKysgY2hyb21pdW0tMTA3LjAuNTMwNC44Ny9zYW5kYm94L2xp bnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9zZXRzLmgKK0BAIC01Miw3ICs1Miw3IEBA IGNsYXNzIFNBTkRCT1hfRVhQT1JUIFN5c2NhbGxTZXRzIHsKKyAjZW5kaWYKKyAKKyAjaWYgZGVm aW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19taXBzX18p IHx8IFwKKy0gICAgZGVmaW5lZChfX2FhcmNoNjRfXykKKysgICAgZGVmaW5lZChfX2FhcmNoNjRf XykgfHwgZGVmaW5lZChfX3Jpc2N2KQorICAgc3RhdGljIGJvb2wgSXNOZXR3b3JrU29ja2V0SW5m b3JtYXRpb24oaW50IHN5c25vKTsKKyAjZW5kaWYKKyAKK0BAIC03OSwxOCArNzksMjEgQEAgY2xh c3MgU0FOREJPWF9FWFBPUlQgU3lzY2FsbFNldHMgeworICAgc3RhdGljIGJvb2wgSXNBc3luY0lv KGludCBzeXNubyk7CisgICBzdGF0aWMgYm9vbCBJc0tleU1hbmFnZW1lbnQoaW50IHN5c25vKTsK KyAjaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQo X19hYXJjaDY0X18pIHx8IFwKKy0gICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYm IGRlZmluZWQoQVJDSF9DUFVfNjRfQklUUykpCisrICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNf RkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzY0X0JJVFMpKSB8fCBcCisrICAgIGRlZmluZWQo X19yaXNjdikKKyAgIHN0YXRpYyBib29sIElzU3lzdGVtVlNlbWFwaG9yZXMoaW50IHN5c25vKTsK KyAjZW5kaWYKKyAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8 fCBkZWZpbmVkKF9fYXJtX18pIHx8IFwKKyAgICAgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgKGRlZmluZWQoQVJD SF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfNjRfQklUUykpCisrICAgIChk ZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzY0X0JJVFMp KSB8fCBcCisrICAgIGRlZmluZWQoX19yaXNjdikKKyAgIC8vIFRoZXNlIGdpdmUgYSBsb3Qgb2Yg YW1iaWVudCBhdXRob3JpdHkgYW5kIGJ5cGFzcyB0aGUgc2V0dWlkIHNhbmRib3guCisgICBzdGF0 aWMgYm9vbCBJc1N5c3RlbVZTaGFyZWRNZW1vcnkoaW50IHN5c25vKTsKKyAjZW5kaWYKKyAKKyAj aWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19h YXJjaDY0X18pIHx8IFwKKy0gICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRl ZmluZWQoQVJDSF9DUFVfNjRfQklUUykpCisrICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFN SUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzY0X0JJVFMpKSB8fCBcCisrICAgIGRlZmluZWQoX19y aXNjdikKKyAgIHN0YXRpYyBib29sIElzU3lzdGVtVk1lc3NhZ2VRdWV1ZShpbnQgc3lzbm8pOwor ICNlbmRpZgorIAorQEAgLTExNyw2ICsxMjAsOSBAQCBjbGFzcyBTQU5EQk9YX0VYUE9SVCBTeXNj YWxsU2V0cyB7CisgICBzdGF0aWMgYm9vbCBJc01pcHNQcml2YXRlKGludCBzeXNubyk7CisgICBz dGF0aWMgYm9vbCBJc01pcHNNaXNjKGludCBzeXNubyk7CisgI2VuZGlmICAvLyBkZWZpbmVkKF9f bWlwc19fKQorKyNpZiBkZWZpbmVkKF9fcmlzY3YpCisrICBzdGF0aWMgYm9vbCBJc1Jpc2N2UHJp dmF0ZShpbnQgc3lzbm8pOworKyNlbmRpZgorICAgc3RhdGljIGJvb2wgSXNHb29nbGUzVGhyZWFk aW5nKGludCBzeXNubyk7CisgfTsKKyAKK0luZGV4OiBjaHJvbWl1bS0xMDcuMC41MzA0Ljg3L3Nh bmRib3gvbGludXgvc2VjY29tcC1icGYvc3lzY2FsbC5jYworPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGNocm9t aXVtLTEwNy4wLjUzMDQuODcub3JpZy9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmL3N5c2NhbGwu Y2MKKysrKyBjaHJvbWl1bS0xMDcuMC41MzA0Ljg3L3NhbmRib3gvbGludXgvc2VjY29tcC1icGYv c3lzY2FsbC5jYworQEAgLTE4LDcgKzE4LDcgQEAgbmFtZXNwYWNlIHNhbmRib3ggeworIG5hbWVz cGFjZSB7CisgCisgI2lmIGRlZmluZWQoQVJDSF9DUFVfWDg2X0ZBTUlMWSkgfHwgZGVmaW5lZChB UkNIX0NQVV9BUk1fRkFNSUxZKSB8fCBcCistICAgIGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1J TFkpCisrICAgIGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpIHx8IGRlZmluZWQoQVJDSF9D UFVfUklTQ1ZfRkFNSUxZKQorIC8vIE51bWJlciB0aGF0J3Mgbm90IGN1cnJlbnRseSB1c2VkIGJ5 IGFueSBMaW51eCBrZXJuZWwgQUJJcy4KKyBjb25zdCBpbnQga0ludmFsaWRTeXNjYWxsTnVtYmVy ID0gMHgzNTFkMzsKKyAjZWxzZQorQEAgLTMwOCw2ICszMDgsMjggQEAgYXNtKC8vIFdlIG5lZWQg dG8gYmUgYWJsZSB0byB0ZWxsIHRoZSBrZQorICAgICAiMjpyZXRcbiIKKyAgICAgIi5jZmlfZW5k cHJvY1xuIgorICAgICAiLnNpemUgU3lzY2FsbEFzbSwgLi1TeXNjYWxsQXNtXG4iCisrI2VsaWYg ZGVmaW5lZChfX3Jpc2N2KQorKyAgICAiLnRleHRcbiIKKysgICAgIi5hbGlnbiAyXG4iCisrICAg ICIudHlwZSBTeXNjYWxsQXNtLCAlZnVuY3Rpb25cbiIKKysgICAgIlN5c2NhbGxBc206XG4iCisr ICAgICIuY2ZpX3N0YXJ0cHJvY1xuIgorKyAgICAiYmdleiBhMCwxZlxuIgorKyAgICAibGEgYTAs MmZcbiIKKysgICAgImogMmZcbiIKKysgICAgIjE6bXYgYTcsIGEwXG4iCisrICAgICJsZCBhMCwg KHQwKVxuIgorKyAgICAibGQgYTEsIDgodDApXG4iCisrICAgICJsZCBhMiwgMTYodDApXG4iCisr ICAgICJsZCBhMywgMjQodDApXG4iCisrICAgICJsZCBhNCwgMzIodDApXG4iCisrICAgICJsZCBh NSwgNDAodDApXG4iCisrICAgICJsZCBhNiwgNDgodDApXG4iCisrICAgIC8vIEVudGVyIHRoZSBr ZXJuZWwKKysgICAgInNjYWxsXG4iCisrICAgICIyOnJldFxuIgorKyAgICAiLmNmaV9lbmRwcm9j XG4iCisrICAgICIuc2l6ZSBTeXNjYWxsQXNtLCAuLVN5c2NhbGxBc21cbiIKKyAjZW5kaWYKKyAg ICAgKTsgIC8vIGFzbQorIAorQEAgLTQyNSw2ICs0NDcsMTggQEAgaW50cHRyX3QgU3lzY2FsbDo6 Q2FsbChpbnQgbnIsCisgICAgIHJldCA9IGlub3V0OworICAgfQorIAorKyNlbGlmIGRlZmluZWQo X19yaXNjdikKKysgIGludHB0cl90IHJldDsKKysgIHsKKysgICAgcmVnaXN0ZXIgaW50cHRyX3Qg aW5vdXQgX19hc21fXygiYTAiKSA9IG5yOworKyAgICByZWdpc3RlciBjb25zdCBpbnRwdHJfdCog ZGF0YSBfX2FzbV9fKCJ0MCIpID0gYXJnczsKKysgICAgYXNtIHZvbGF0aWxlKCJqYWwgU3lzY2Fs bEFzbVxuIgorKyAgICAgICAgICAgICAgICAgOiAiK3IiKGlub3V0KQorKyAgICAgICAgICAgICAg ICAgOiAiciIoZGF0YSkKKysgICAgICAgICAgICAgICAgIDogIm1lbW9yeSIsICJhMSIsICJhMiIs ICJhMyIsICJhNCIsICJhNSIsICJhNiIpOworKyAgICByZXQgPSBpbm91dDsKKysgIH0KKysKKyAj ZWxzZQorICNlcnJvciAiVW5pbXBsZW1lbnRlZCBhcmNoaXRlY3R1cmUiCisgI2VuZGlmCitJbmRl eDogY2hyb21pdW0tMTA3LjAuNTMwNC44Ny9zYW5kYm94L2xpbnV4L3NlcnZpY2VzL2NyZWRlbnRp YWxzLmNjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09CistLS0gY2hyb21pdW0tMTA3LjAuNTMwNC44Ny5vcmlnL3NhbmRi b3gvbGludXgvc2VydmljZXMvY3JlZGVudGlhbHMuY2MKKysrKyBjaHJvbWl1bS0xMDcuMC41MzA0 Ljg3L3NhbmRib3gvbGludXgvc2VydmljZXMvY3JlZGVudGlhbHMuY2MKK0BAIC04MCw3ICs4MCw3 IEBAIGJvb2wgQ2hyb290VG9TYWZlRW1wdHlEaXIoKSB7CisgICBwaWRfdCBwaWQgPSAtMTsKKyAg IGFsaWduYXMoMTYpIGNoYXIgc3RhY2tfYnVmW1BUSFJFQURfU1RBQ0tfTUlOXTsKKyAjaWYgZGVm aW5lZChBUkNIX0NQVV9YODZfRkFNSUxZKSB8fCBkZWZpbmVkKEFSQ0hfQ1BVX0FSTV9GQU1JTFkp IHx8IFwKKy0gICAgZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkKKysgICAgZGVmaW5lZChB UkNIX0NQVV9NSVBTX0ZBTUlMWSkgfHwgZGVmaW5lZChBUkNIX0NQVV9SSVNDVl9GQU1JTFkpCisg ICAvLyBUaGUgc3RhY2sgZ3Jvd3MgZG93bndhcmQuCisgICB2b2lkKiBzdGFjayA9IHN0YWNrX2J1 ZiArIHNpemVvZihzdGFja19idWYpOworICNlbHNlCitJbmRleDogY2hyb21pdW0tMTA3LjAuNTMw NC44Ny9zYW5kYm94L2xpbnV4L3NlcnZpY2VzL3N5c2NhbGxfd3JhcHBlcnMuY2MKKz09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KKy0tLSBjaHJvbWl1bS0xMDcuMC41MzA0Ljg3Lm9yaWcvc2FuZGJveC9saW51eC9zZXJ2aWNl cy9zeXNjYWxsX3dyYXBwZXJzLmNjCisrKysgY2hyb21pdW0tMTA3LjAuNTMwNC44Ny9zYW5kYm94 L2xpbnV4L3NlcnZpY2VzL3N5c2NhbGxfd3JhcHBlcnMuY2MKK0BAIC02MSw3ICs2MSw3IEBAIGxv bmcgc3lzX2Nsb25lKHVuc2lnbmVkIGxvbmcgZmxhZ3MsCisgI2lmIGRlZmluZWQoQVJDSF9DUFVf WDg2XzY0KQorICAgcmV0dXJuIHN5c2NhbGwoX19OUl9jbG9uZSwgZmxhZ3MsIGNoaWxkX3N0YWNr LCBwdGlkLCBjdGlkLCB0bHMpOworICNlbGlmIGRlZmluZWQoQVJDSF9DUFVfWDg2KSB8fCBkZWZp bmVkKEFSQ0hfQ1BVX0FSTV9GQU1JTFkpIHx8IFwKKy0gICAgZGVmaW5lZChBUkNIX0NQVV9NSVBT X0ZBTUlMWSkKKysgICAgZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgfHwgZGVmaW5lZChB UkNIX0NQVV9SSVNDVl9GQU1JTFkpCisgICAvLyBDT05GSUdfQ0xPTkVfQkFDS1dBUkRTIGRlZmlu ZWQuCisgICByZXR1cm4gc3lzY2FsbChfX05SX2Nsb25lLCBmbGFncywgY2hpbGRfc3RhY2ssIHB0 aWQsIHRscywgY3RpZCk7CisgI2VuZGlmCitJbmRleDogY2hyb21pdW0tMTA3LjAuNTMwNC44Ny9z YW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2VyL2Jyb2tlcl9wcm9jZXNzLmNjCis9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 CistLS0gY2hyb21pdW0tMTA3LjAuNTMwNC44Ny5vcmlnL3NhbmRib3gvbGludXgvc3lzY2FsbF9i cm9rZXIvYnJva2VyX3Byb2Nlc3MuY2MKKysrKyBjaHJvbWl1bS0xMDcuMC41MzA0Ljg3L3NhbmRi b3gvbGludXgvc3lzY2FsbF9icm9rZXIvYnJva2VyX3Byb2Nlc3MuY2MKK0BAIC0xMTcsNDQgKzEx Nyw0NiBAQCBib29sIEJyb2tlclByb2Nlc3M6OklzU3lzY2FsbEJyb2tlcmFibGUoCisgICAvLyBh bmQgYXJlIGRlZmF1bHQgZGlzYWJsZWQgaW4gQW5kcm9pZC4gU28sIHdlIHNob3VsZCByZWZ1c2Ug dG8gYnJva2VyIHRoZW0KKyAgIC8vIHRvIGJlIGNvbnNpc3RlbnQgd2l0aCB0aGUgcGxhdGZvcm0n cyByZXN0cmljdGlvbnMuCisgICBzd2l0Y2ggKHN5c25vKSB7CistI2lmICFkZWZpbmVkKF9fYWFy Y2g2NF9fKSAmJiAhQlVJTERGTEFHKElTX0FORFJPSUQpCisrI2lmICFkZWZpbmVkKF9fYWFyY2g2 NF9fKSAmJiAhQlVJTERGTEFHKElTX0FORFJPSUQpICYmICFkZWZpbmVkKF9fcmlzY3YpCisgICAg IGNhc2UgX19OUl9hY2Nlc3M6CisgI2VuZGlmCisgICAgIGNhc2UgX19OUl9mYWNjZXNzYXQ6Cisg ICAgIGNhc2UgX19OUl9mYWNjZXNzYXQyOgorICAgICAgIHJldHVybiAhZmFzdF9jaGVjayB8fCBw b2xpY3lfLT5hbGxvd2VkX2NvbW1hbmRfc2V0LnRlc3QoQ09NTUFORF9BQ0NFU1MpOworIAorLSNp ZiAhZGVmaW5lZChfX2FhcmNoNjRfXykgJiYgIUJVSUxERkxBRyhJU19BTkRST0lEKQorKyNpZiAh ZGVmaW5lZChfX2FhcmNoNjRfXykgJiYgIUJVSUxERkxBRyhJU19BTkRST0lEKSAmJiAhZGVmaW5l ZChfX3Jpc2N2KQorICAgICBjYXNlIF9fTlJfbWtkaXI6CisgI2VuZGlmCisgICAgIGNhc2UgX19O Ul9ta2RpcmF0OgorICAgICAgIHJldHVybiAhZmFzdF9jaGVjayB8fCBwb2xpY3lfLT5hbGxvd2Vk X2NvbW1hbmRfc2V0LnRlc3QoQ09NTUFORF9NS0RJUik7CisgCistI2lmICFkZWZpbmVkKF9fYWFy Y2g2NF9fKSAmJiAhQlVJTERGTEFHKElTX0FORFJPSUQpCisrI2lmICFkZWZpbmVkKF9fYWFyY2g2 NF9fKSAmJiAhQlVJTERGTEFHKElTX0FORFJPSUQpICYmICFkZWZpbmVkKF9fcmlzY3YpCisgICAg IGNhc2UgX19OUl9vcGVuOgorICNlbmRpZgorICAgICBjYXNlIF9fTlJfb3BlbmF0OgorICAgICAg IHJldHVybiAhZmFzdF9jaGVjayB8fCBwb2xpY3lfLT5hbGxvd2VkX2NvbW1hbmRfc2V0LnRlc3Qo Q09NTUFORF9PUEVOKTsKKyAKKy0jaWYgIWRlZmluZWQoX19hYXJjaDY0X18pICYmICFCVUlMREZM QUcoSVNfQU5EUk9JRCkKKysjaWYgIWRlZmluZWQoX19hYXJjaDY0X18pICYmICFCVUlMREZMQUco SVNfQU5EUk9JRCkgJiYgIWRlZmluZWQoX19yaXNjdikKKyAgICAgY2FzZSBfX05SX3JlYWRsaW5r OgorICNlbmRpZgorICAgICBjYXNlIF9fTlJfcmVhZGxpbmthdDoKKyAgICAgICByZXR1cm4gIWZh c3RfY2hlY2sgfHwgcG9saWN5Xy0+YWxsb3dlZF9jb21tYW5kX3NldC50ZXN0KENPTU1BTkRfUkVB RExJTkspOworIAorLSNpZiAhZGVmaW5lZChfX2FhcmNoNjRfXykgJiYgIUJVSUxERkxBRyhJU19B TkRST0lEKQorKyNpZiAhZGVmaW5lZChfX2FhcmNoNjRfXykgJiYgIUJVSUxERkxBRyhJU19BTkRS T0lEKSAmJiAhZGVmaW5lZChfX3Jpc2N2KQorICAgICBjYXNlIF9fTlJfcmVuYW1lOgorICNlbmRp ZgorKyNpZmRlZiBfX05SX3JlbmFtZWF0CisgICAgIGNhc2UgX19OUl9yZW5hbWVhdDoKKysjZW5k aWYKKyAgICAgY2FzZSBfX05SX3JlbmFtZWF0MjoKKyAgICAgICByZXR1cm4gIWZhc3RfY2hlY2sg fHwgcG9saWN5Xy0+YWxsb3dlZF9jb21tYW5kX3NldC50ZXN0KENPTU1BTkRfUkVOQU1FKTsKKyAK Ky0jaWYgIWRlZmluZWQoX19hYXJjaDY0X18pICYmICFCVUlMREZMQUcoSVNfQU5EUk9JRCkKKysj aWYgIWRlZmluZWQoX19hYXJjaDY0X18pICYmICFCVUlMREZMQUcoSVNfQU5EUk9JRCkgJiYgIWRl ZmluZWQoX19yaXNjdikKKyAgICAgY2FzZSBfX05SX3JtZGlyOgorICAgICAgIHJldHVybiAhZmFz dF9jaGVjayB8fCBwb2xpY3lfLT5hbGxvd2VkX2NvbW1hbmRfc2V0LnRlc3QoQ09NTUFORF9STURJ Uik7CisgI2VuZGlmCisgCistI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9fKSAmJiAhQlVJTERGTEFH KElTX0FORFJPSUQpCisrI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9fKSAmJiAhQlVJTERGTEFHKElT X0FORFJPSUQpICYmICFkZWZpbmVkKF9fcmlzY3YpCisgICAgIGNhc2UgX19OUl9zdGF0OgorICAg ICBjYXNlIF9fTlJfbHN0YXQ6CisgI2VuZGlmCitAQCAtMTY0LDcgKzE2Niw3IEBAIGJvb2wgQnJv a2VyUHJvY2Vzczo6SXNTeXNjYWxsQnJva2VyYWJsZSgKKyAjaWYgZGVmaW5lZChfX05SX2ZzdGF0 YXQ2NCkKKyAgICAgY2FzZSBfX05SX2ZzdGF0YXQ2NDoKKyAjZW5kaWYKKy0jaWYgZGVmaW5lZChf X3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fYWFyY2g2NF9fKQorKyNpZiBkZWZpbmVkKF9feDg2XzY0 X18pIHx8IGRlZmluZWQoX19hYXJjaDY0X18pIHx8IGRlZmluZWQoX19yaXNjdikKKyAgICAgY2Fz ZSBfX05SX25ld2ZzdGF0YXQ6CisgI2VuZGlmCisgICAgICAgcmV0dXJuICFmYXN0X2NoZWNrIHx8 IHBvbGljeV8tPmFsbG93ZWRfY29tbWFuZF9zZXQudGVzdChDT01NQU5EX1NUQVQpOworQEAgLTE3 OSw3ICsxODEsNyBAQCBib29sIEJyb2tlclByb2Nlc3M6OklzU3lzY2FsbEJyb2tlcmFibGUoCisg ICAgICAgcmV0dXJuICFmYXN0X2NoZWNrIHx8IHBvbGljeV8tPmFsbG93ZWRfY29tbWFuZF9zZXQu dGVzdChDT01NQU5EX1NUQVQpOworICNlbmRpZgorIAorLSNpZiAhZGVmaW5lZChfX2FhcmNoNjRf XykgJiYgIUJVSUxERkxBRyhJU19BTkRST0lEKQorKyNpZiAhZGVmaW5lZChfX2FhcmNoNjRfXykg JiYgIUJVSUxERkxBRyhJU19BTkRST0lEKSAmJiAhZGVmaW5lZChfX3Jpc2N2KQorICAgICBjYXNl IF9fTlJfdW5saW5rOgorICAgICAgIHJldHVybiAhZmFzdF9jaGVjayB8fCBwb2xpY3lfLT5hbGxv d2VkX2NvbW1hbmRfc2V0LnRlc3QoQ09NTUFORF9VTkxJTkspOworICNlbmRpZgorSW5kZXg6IGNo cm9taXVtLTEwNy4wLjUzMDQuODcvc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9z ZWNjb21wLmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KKy0tLSBjaHJvbWl1bS0xMDcuMC41MzA0Ljg3Lm9yaWcvc2Fu ZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9zZWNjb21wLmgKKysrKyBjaHJvbWl1bS0x MDcuMC41MzA0Ljg3L3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfc2VjY29tcC5o CitAQCAtMzgsNiArMzgsOSBAQAorICNpZm5kZWYgRU1fQUFSQ0g2NAorICNkZWZpbmUgRU1fQUFS Q0g2NCAxODMKKyAjZW5kaWYKKysjaWZuZGVmIEVNX1JJU0NWCisrI2RlZmluZSBFTV9SSVNDViAy NDMKKysjZW5kaWYKKyAKKyAjaWZuZGVmIF9fQVVESVRfQVJDSF82NEJJVAorICNkZWZpbmUgX19B VURJVF9BUkNIXzY0QklUIDB4ODAwMDAwMDAKK0BAIC03MCw2ICs3Myw5IEBACisgI2lmbmRlZiBB VURJVF9BUkNIX0FBUkNINjQKKyAjZGVmaW5lIEFVRElUX0FSQ0hfQUFSQ0g2NCAoRU1fQUFSQ0g2 NCB8IF9fQVVESVRfQVJDSF82NEJJVCB8IF9fQVVESVRfQVJDSF9MRSkKKyAjZW5kaWYKKysjaWZu ZGVmIEFVRElUX0FSQ0hfUklTQ1Y2NAorKyNkZWZpbmUgQVVESVRfQVJDSF9SSVNDVjY0IChFTV9S SVNDVnxfX0FVRElUX0FSQ0hfNjRCSVR8X19BVURJVF9BUkNIX0xFKQorKyNlbmRpZgorIAorIC8v IEZvciBwcmN0bC5oCisgI2lmbmRlZiBQUl9TRVRfU0VDQ09NUAorSW5kZXg6IGNocm9taXVtLTEw Ny4wLjUzMDQuODcvc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9zaWduYWwuaAor PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQorLS0tIGNocm9taXVtLTEwNy4wLjUzMDQuODcub3JpZy9zYW5kYm94L2xpbnV4 L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3NpZ25hbC5oCisrKysgY2hyb21pdW0tMTA3LjAuNTMwNC44 Ny9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3NpZ25hbC5oCitAQCAtMTMsNyAr MTMsNyBAQAorIC8vIChub3QgdW5kZWZpbmVkLCBidXQgZGVmaW5lZCBkaWZmZXJlbnQgdmFsdWVz IGFuZCBpbiBkaWZmZXJlbnQgbWVtb3J5CisgLy8gbGF5b3V0cykuIFNvLCBmaWxsIHRoZSBnYXAg aGVyZS4KKyAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBk ZWZpbmVkKF9fYXJtX18pIHx8IFwKKy0gICAgZGVmaW5lZChfX2FhcmNoNjRfXykKKysgICAgZGVm aW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX3Jpc2N2KQorIAorICNkZWZpbmUgTElOVVhf U0lHSFVQIDEKKyAjZGVmaW5lIExJTlVYX1NJR0lOVCAyCitJbmRleDogY2hyb21pdW0tMTA3LjAu NTMwNC44Ny9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3N0YXQuaAorPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQorLS0tIGNocm9taXVtLTEwNy4wLjUzMDQuODcub3JpZy9zYW5kYm94L2xpbnV4L3N5c3Rl bV9oZWFkZXJzL2xpbnV4X3N0YXQuaAorKysrIGNocm9taXVtLTEwNy4wLjUzMDQuODcvc2FuZGJv eC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9zdGF0LmgKK0BAIC0xNTAsNyArMTUwLDcgQEAg c3RydWN0IGtlcm5lbF9zdGF0IHsKKyAgIGludCBzdF9ibG9ja3M7CisgICBpbnQgc3RfcGFkNFsx NF07CisgfTsKKy0jZWxpZiBkZWZpbmVkKF9fYWFyY2g2NF9fKQorKyNlbGlmIGRlZmluZWQoX19h YXJjaDY0X18pIHx8IGRlZmluZWQoX19yaXNjdikKKyBzdHJ1Y3Qga2VybmVsX3N0YXQgeworICAg dW5zaWduZWQgbG9uZyBzdF9kZXY7CisgICB1bnNpZ25lZCBsb25nIHN0X2lubzsKK0luZGV4OiBj aHJvbWl1bS0xMDcuMC41MzA0Ljg3L3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhf c3lzY2FsbHMuaAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGNocm9taXVtLTEwNy4wLjUzMDQuODcub3JpZy9z YW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3N5c2NhbGxzLmgKKysrKyBjaHJvbWl1 bS0xMDcuMC41MzA0Ljg3L3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfc3lzY2Fs bHMuaAorQEAgLTM1LDUgKzM1LDkgQEAKKyAjaW5jbHVkZSAic2FuZGJveC9saW51eC9zeXN0ZW1f aGVhZGVycy9hcm02NF9saW51eF9zeXNjYWxscy5oIgorICNlbmRpZgorIAorKyNpZiBkZWZpbmVk KF9fcmlzY3YpICYmIF9fcmlzY3ZfeGxlbiA9PSA2NAorKyNpbmNsdWRlICJzYW5kYm94L2xpbnV4 L3N5c3RlbV9oZWFkZXJzL3Jpc2N2NjRfbGludXhfc3lzY2FsbHMuaCIKKysjZW5kaWYKKysKKyAj ZW5kaWYgIC8vIFNBTkRCT1hfTElOVVhfU1lTVEVNX0hFQURFUlNfTElOVVhfU1lTQ0FMTFNfSF8K KyAKK0luZGV4OiBjaHJvbWl1bS0xMDcuMC41MzA0Ljg3L3NhbmRib3gvbGludXgvc3lzdGVtX2hl YWRlcnMvcmlzY3Y2NF9saW51eF9zeXNjYWxscy5oCis9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gL2Rldi9udWxs CisrKysgY2hyb21pdW0tMTA3LjAuNTMwNC44Ny9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJz L3Jpc2N2NjRfbGludXhfc3lzY2FsbHMuaAorQEAgLTAsMCArMSwxMjIyIEBACisrLy8gQ29weXJp Z2h0IDIwMTQgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisrLy8g VXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5z ZSB0aGF0IGNhbiBiZQorKy8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisrCisrI2lmbmRl ZiBTQU5EQk9YX0xJTlVYX1NZU1RFTV9IRUFERVJTX1JJU0NWNjRfTElOVVhfU1lTQ0FMTFNfSF8K KysjZGVmaW5lIFNBTkRCT1hfTElOVVhfU1lTVEVNX0hFQURFUlNfUklTQ1Y2NF9MSU5VWF9TWVND QUxMU19IXworKworKyNpbmNsdWRlIDxhc20tZ2VuZXJpYy91bmlzdGQuaD4KKysKKysjaWYgIWRl ZmluZWQoX19OUl9pb19zZXR1cCkKKysjZGVmaW5lIF9fTlJfaW9fc2V0dXAgMAorKyNlbmRpZgor KworKyNpZiAhZGVmaW5lZChfX05SX2lvX2Rlc3Ryb3kpCisrI2RlZmluZSBfX05SX2lvX2Rlc3Ry b3kgMQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2lvX3N1Ym1pdCkKKysjZGVmaW5l IF9fTlJfaW9fc3VibWl0IDIKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9pb19jYW5j ZWwpCisrI2RlZmluZSBfX05SX2lvX2NhbmNlbCAzCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVk KF9fTlJfaW9fZ2V0ZXZlbnRzKQorKyNkZWZpbmUgX19OUl9pb19nZXRldmVudHMgNAorKyNlbmRp ZgorKworKyNpZiAhZGVmaW5lZChfX05SX3NldHhhdHRyKQorKyNkZWZpbmUgX19OUl9zZXR4YXR0 ciA1CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfbHNldHhhdHRyKQorKyNkZWZpbmUg X19OUl9sc2V0eGF0dHIgNgorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2ZzZXR4YXR0 cikKKysjZGVmaW5lIF9fTlJfZnNldHhhdHRyIDcKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQo X19OUl9nZXR4YXR0cikKKysjZGVmaW5lIF9fTlJfZ2V0eGF0dHIgOAorKyNlbmRpZgorKworKyNp ZiAhZGVmaW5lZChfX05SX2xnZXR4YXR0cikKKysjZGVmaW5lIF9fTlJfbGdldHhhdHRyIDkKKysj ZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9mZ2V0eGF0dHIpCisrI2RlZmluZSBfX05SX2Zn ZXR4YXR0ciAxMAorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2xpc3R4YXR0cikKKysj ZGVmaW5lIF9fTlJfbGlzdHhhdHRyIDExCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJf bGxpc3R4YXR0cikKKysjZGVmaW5lIF9fTlJfbGxpc3R4YXR0ciAxMgorKyNlbmRpZgorKworKyNp ZiAhZGVmaW5lZChfX05SX2ZsaXN0eGF0dHIpCisrI2RlZmluZSBfX05SX2ZsaXN0eGF0dHIgMTMK KysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9yZW1vdmV4YXR0cikKKysjZGVmaW5lIF9f TlJfcmVtb3ZleGF0dHIgMTQKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9scmVtb3Zl eGF0dHIpCisrI2RlZmluZSBfX05SX2xyZW1vdmV4YXR0ciAxNQorKyNlbmRpZgorKworKyNpZiAh ZGVmaW5lZChfX05SX2ZyZW1vdmV4YXR0cikKKysjZGVmaW5lIF9fTlJfZnJlbW92ZXhhdHRyIDE2 CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfZ2V0Y3dkKQorKyNkZWZpbmUgX19OUl9n ZXRjd2QgMTcKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9sb29rdXBfZGNvb2tpZSkK KysjZGVmaW5lIF9fTlJfbG9va3VwX2Rjb29raWUgMTgKKysjZW5kaWYKKysKKysjaWYgIWRlZmlu ZWQoX19OUl9ldmVudGZkMikKKysjZGVmaW5lIF9fTlJfZXZlbnRmZDIgMTkKKysjZW5kaWYKKysK KysjaWYgIWRlZmluZWQoX19OUl9lcG9sbF9jcmVhdGUxKQorKyNkZWZpbmUgX19OUl9lcG9sbF9j cmVhdGUxIDIwCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfZXBvbGxfY3RsKQorKyNk ZWZpbmUgX19OUl9lcG9sbF9jdGwgMjEKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9l cG9sbF9wd2FpdCkKKysjZGVmaW5lIF9fTlJfZXBvbGxfcHdhaXQgMjIKKysjZW5kaWYKKysKKysj aWYgIWRlZmluZWQoX19OUl9kdXApCisrI2RlZmluZSBfX05SX2R1cCAyMworKyNlbmRpZgorKwor KyNpZiAhZGVmaW5lZChfX05SX2R1cDMpCisrI2RlZmluZSBfX05SX2R1cDMgMjQKKysjZW5kaWYK KysKKysjaWYgIWRlZmluZWQoX19OUl9mY250bCkKKysjZGVmaW5lIF9fTlJfZmNudGwgMjUKKysj ZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9pbm90aWZ5X2luaXQxKQorKyNkZWZpbmUgX19O Ul9pbm90aWZ5X2luaXQxIDI2CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfaW5vdGlm eV9hZGRfd2F0Y2gpCisrI2RlZmluZSBfX05SX2lub3RpZnlfYWRkX3dhdGNoIDI3CisrI2VuZGlm CisrCisrI2lmICFkZWZpbmVkKF9fTlJfaW5vdGlmeV9ybV93YXRjaCkKKysjZGVmaW5lIF9fTlJf aW5vdGlmeV9ybV93YXRjaCAyOAorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2lvY3Rs KQorKyNkZWZpbmUgX19OUl9pb2N0bCAyOQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05S X2lvcHJpb19zZXQpCisrI2RlZmluZSBfX05SX2lvcHJpb19zZXQgMzAKKysjZW5kaWYKKysKKysj aWYgIWRlZmluZWQoX19OUl9pb3ByaW9fZ2V0KQorKyNkZWZpbmUgX19OUl9pb3ByaW9fZ2V0IDMx CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfZmxvY2spCisrI2RlZmluZSBfX05SX2Zs b2NrIDMyCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfbWtub2RhdCkKKysjZGVmaW5l IF9fTlJfbWtub2RhdCAzMworKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX21rZGlyYXQp CisrI2RlZmluZSBfX05SX21rZGlyYXQgMzQKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19O Ul91bmxpbmthdCkKKysjZGVmaW5lIF9fTlJfdW5saW5rYXQgMzUKKysjZW5kaWYKKysKKysjaWYg IWRlZmluZWQoX19OUl9zeW1saW5rYXQpCisrI2RlZmluZSBfX05SX3N5bWxpbmthdCAzNgorKyNl bmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2xpbmthdCkKKysjZGVmaW5lIF9fTlJfbGlua2F0 IDM3CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfcmVuYW1lYXQpCisrI2RlZmluZSBf X05SX3JlbmFtZWF0IDM4CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfdW1vdW50MikK KysjZGVmaW5lIF9fTlJfdW1vdW50MiAzOQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05S X21vdW50KQorKyNkZWZpbmUgX19OUl9tb3VudCA0MAorKyNlbmRpZgorKworKyNpZiAhZGVmaW5l ZChfX05SX3Bpdm90X3Jvb3QpCisrI2RlZmluZSBfX05SX3Bpdm90X3Jvb3QgNDEKKysjZW5kaWYK KysKKysjaWYgIWRlZmluZWQoX19OUl9uZnNzZXJ2Y3RsKQorKyNkZWZpbmUgX19OUl9uZnNzZXJ2 Y3RsIDQyCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfc3RhdGZzKQorKyNkZWZpbmUg X19OUl9zdGF0ZnMgNDMKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9mc3RhdGZzKQor KyNkZWZpbmUgX19OUl9mc3RhdGZzIDQ0CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJf dHJ1bmNhdGUpCisrI2RlZmluZSBfX05SX3RydW5jYXRlIDQ1CisrI2VuZGlmCisrCisrI2lmICFk ZWZpbmVkKF9fTlJfZnRydW5jYXRlKQorKyNkZWZpbmUgX19OUl9mdHJ1bmNhdGUgNDYKKysjZW5k aWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9mYWxsb2NhdGUpCisrI2RlZmluZSBfX05SX2ZhbGxv Y2F0ZSA0NworKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2ZhY2Nlc3NhdCkKKysjZGVm aW5lIF9fTlJfZmFjY2Vzc2F0IDQ4CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfY2hk aXIpCisrI2RlZmluZSBfX05SX2NoZGlyIDQ5CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9f TlJfZmNoZGlyKQorKyNkZWZpbmUgX19OUl9mY2hkaXIgNTAKKysjZW5kaWYKKysKKysjaWYgIWRl ZmluZWQoX19OUl9jaHJvb3QpCisrI2RlZmluZSBfX05SX2Nocm9vdCA1MQorKyNlbmRpZgorKwor KyNpZiAhZGVmaW5lZChfX05SX2ZjaG1vZCkKKysjZGVmaW5lIF9fTlJfZmNobW9kIDUyCisrI2Vu ZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfZmNobW9kYXQpCisrI2RlZmluZSBfX05SX2ZjaG1v ZGF0IDUzCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfZmNob3duYXQpCisrI2RlZmlu ZSBfX05SX2ZjaG93bmF0IDU0CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfZmNob3du KQorKyNkZWZpbmUgX19OUl9mY2hvd24gNTUKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19O Ul9vcGVuYXQpCisrI2RlZmluZSBfX05SX29wZW5hdCA1NgorKyNlbmRpZgorKworKyNpZiAhZGVm aW5lZChfX05SX2Nsb3NlKQorKyNkZWZpbmUgX19OUl9jbG9zZSA1NworKyNlbmRpZgorKworKyNp ZiAhZGVmaW5lZChfX05SX3ZoYW5ndXApCisrI2RlZmluZSBfX05SX3ZoYW5ndXAgNTgKKysjZW5k aWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9waXBlMikKKysjZGVmaW5lIF9fTlJfcGlwZTIgNTkK KysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9xdW90YWN0bCkKKysjZGVmaW5lIF9fTlJf cXVvdGFjdGwgNjAKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9nZXRkZW50czY0KQor KyNkZWZpbmUgX19OUl9nZXRkZW50czY0IDYxCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9f TlJfbHNlZWspCisrI2RlZmluZSBfX05SX2xzZWVrIDYyCisrI2VuZGlmCisrCisrI2lmICFkZWZp bmVkKF9fTlJfcmVhZCkKKysjZGVmaW5lIF9fTlJfcmVhZCA2MworKyNlbmRpZgorKworKyNpZiAh ZGVmaW5lZChfX05SX3dyaXRlKQorKyNkZWZpbmUgX19OUl93cml0ZSA2NAorKyNlbmRpZgorKwor KyNpZiAhZGVmaW5lZChfX05SX3JlYWR2KQorKyNkZWZpbmUgX19OUl9yZWFkdiA2NQorKyNlbmRp ZgorKworKyNpZiAhZGVmaW5lZChfX05SX3dyaXRldikKKysjZGVmaW5lIF9fTlJfd3JpdGV2IDY2 CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfcHJlYWQ2NCkKKysjZGVmaW5lIF9fTlJf cHJlYWQ2NCA2NworKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3B3cml0ZTY0KQorKyNk ZWZpbmUgX19OUl9wd3JpdGU2NCA2OAorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3By ZWFkdikKKysjZGVmaW5lIF9fTlJfcHJlYWR2IDY5CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVk KF9fTlJfcHdyaXRldikKKysjZGVmaW5lIF9fTlJfcHdyaXRldiA3MAorKyNlbmRpZgorKworKyNp ZiAhZGVmaW5lZChfX05SX3NlbmRmaWxlKQorKyNkZWZpbmUgX19OUl9zZW5kZmlsZSA3MQorKyNl bmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3BzZWxlY3Q2KQorKyNkZWZpbmUgX19OUl9wc2Vs ZWN0NiA3MgorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3Bwb2xsKQorKyNkZWZpbmUg X19OUl9wcG9sbCA3MworKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3NpZ25hbGZkNCkK KysjZGVmaW5lIF9fTlJfc2lnbmFsZmQ0IDc0CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9f TlJfdm1zcGxpY2UpCisrI2RlZmluZSBfX05SX3Ztc3BsaWNlIDc1CisrI2VuZGlmCisrCisrI2lm ICFkZWZpbmVkKF9fTlJfc3BsaWNlKQorKyNkZWZpbmUgX19OUl9zcGxpY2UgNzYKKysjZW5kaWYK KysKKysjaWYgIWRlZmluZWQoX19OUl90ZWUpCisrI2RlZmluZSBfX05SX3RlZSA3NworKyNlbmRp ZgorKworKyNpZiAhZGVmaW5lZChfX05SX3JlYWRsaW5rYXQpCisrI2RlZmluZSBfX05SX3JlYWRs aW5rYXQgNzgKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9uZXdmc3RhdGF0KQorKyNk ZWZpbmUgX19OUl9uZXdmc3RhdGF0IDc5CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJf ZnN0YXQpCisrI2RlZmluZSBfX05SX2ZzdGF0IDgwCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVk KF9fTlJfc3luYykKKysjZGVmaW5lIF9fTlJfc3luYyA4MQorKyNlbmRpZgorKworKyNpZiAhZGVm aW5lZChfX05SX2ZzeW5jKQorKyNkZWZpbmUgX19OUl9mc3luYyA4MgorKyNlbmRpZgorKworKyNp ZiAhZGVmaW5lZChfX05SX2ZkYXRhc3luYykKKysjZGVmaW5lIF9fTlJfZmRhdGFzeW5jIDgzCisr I2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfc3luY19maWxlX3JhbmdlKQorKyNkZWZpbmUg X19OUl9zeW5jX2ZpbGVfcmFuZ2UgODQKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl90 aW1lcmZkX2NyZWF0ZSkKKysjZGVmaW5lIF9fTlJfdGltZXJmZF9jcmVhdGUgODUKKysjZW5kaWYK KysKKysjaWYgIWRlZmluZWQoX19OUl90aW1lcmZkX3NldHRpbWUpCisrI2RlZmluZSBfX05SX3Rp bWVyZmRfc2V0dGltZSA4NgorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3RpbWVyZmRf Z2V0dGltZSkKKysjZGVmaW5lIF9fTlJfdGltZXJmZF9nZXR0aW1lIDg3CisrI2VuZGlmCisrCisr I2lmICFkZWZpbmVkKF9fTlJfdXRpbWVuc2F0KQorKyNkZWZpbmUgX19OUl91dGltZW5zYXQgODgK KysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9hY2N0KQorKyNkZWZpbmUgX19OUl9hY2N0 IDg5CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfY2FwZ2V0KQorKyNkZWZpbmUgX19O Ul9jYXBnZXQgOTAKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9jYXBzZXQpCisrI2Rl ZmluZSBfX05SX2NhcHNldCA5MQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3BlcnNv bmFsaXR5KQorKyNkZWZpbmUgX19OUl9wZXJzb25hbGl0eSA5MgorKyNlbmRpZgorKworKyNpZiAh ZGVmaW5lZChfX05SX2V4aXQpCisrI2RlZmluZSBfX05SX2V4aXQgOTMKKysjZW5kaWYKKysKKysj aWYgIWRlZmluZWQoX19OUl9leGl0X2dyb3VwKQorKyNkZWZpbmUgX19OUl9leGl0X2dyb3VwIDk0 CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfd2FpdGlkKQorKyNkZWZpbmUgX19OUl93 YWl0aWQgOTUKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9zZXRfdGlkX2FkZHJlc3Mp CisrI2RlZmluZSBfX05SX3NldF90aWRfYWRkcmVzcyA5NgorKyNlbmRpZgorKworKyNpZiAhZGVm aW5lZChfX05SX3Vuc2hhcmUpCisrI2RlZmluZSBfX05SX3Vuc2hhcmUgOTcKKysjZW5kaWYKKysK KysjaWYgIWRlZmluZWQoX19OUl9mdXRleCkKKysjZGVmaW5lIF9fTlJfZnV0ZXggOTgKKysjZW5k aWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9zZXRfcm9idXN0X2xpc3QpCisrI2RlZmluZSBfX05S X3NldF9yb2J1c3RfbGlzdCA5OQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2dldF9y b2J1c3RfbGlzdCkKKysjZGVmaW5lIF9fTlJfZ2V0X3JvYnVzdF9saXN0IDEwMAorKyNlbmRpZgor KworKyNpZiAhZGVmaW5lZChfX05SX25hbm9zbGVlcCkKKysjZGVmaW5lIF9fTlJfbmFub3NsZWVw IDEwMQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2dldGl0aW1lcikKKysjZGVmaW5l IF9fTlJfZ2V0aXRpbWVyIDEwMgorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3NldGl0 aW1lcikKKysjZGVmaW5lIF9fTlJfc2V0aXRpbWVyIDEwMworKyNlbmRpZgorKworKyNpZiAhZGVm aW5lZChfX05SX2tleGVjX2xvYWQpCisrI2RlZmluZSBfX05SX2tleGVjX2xvYWQgMTA0CisrI2Vu ZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfaW5pdF9tb2R1bGUpCisrI2RlZmluZSBfX05SX2lu aXRfbW9kdWxlIDEwNQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2RlbGV0ZV9tb2R1 bGUpCisrI2RlZmluZSBfX05SX2RlbGV0ZV9tb2R1bGUgMTA2CisrI2VuZGlmCisrCisrI2lmICFk ZWZpbmVkKF9fTlJfdGltZXJfY3JlYXRlKQorKyNkZWZpbmUgX19OUl90aW1lcl9jcmVhdGUgMTA3 CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfdGltZXJfZ2V0dGltZSkKKysjZGVmaW5l IF9fTlJfdGltZXJfZ2V0dGltZSAxMDgKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl90 aW1lcl9nZXRvdmVycnVuKQorKyNkZWZpbmUgX19OUl90aW1lcl9nZXRvdmVycnVuIDEwOQorKyNl bmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3RpbWVyX3NldHRpbWUpCisrI2RlZmluZSBfX05S X3RpbWVyX3NldHRpbWUgMTEwCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfdGltZXJf ZGVsZXRlKQorKyNkZWZpbmUgX19OUl90aW1lcl9kZWxldGUgMTExCisrI2VuZGlmCisrCisrI2lm ICFkZWZpbmVkKF9fTlJfY2xvY2tfc2V0dGltZSkKKysjZGVmaW5lIF9fTlJfY2xvY2tfc2V0dGlt ZSAxMTIKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9jbG9ja19nZXR0aW1lKQorKyNk ZWZpbmUgX19OUl9jbG9ja19nZXR0aW1lIDExMworKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChf X05SX2Nsb2NrX2dldHJlcykKKysjZGVmaW5lIF9fTlJfY2xvY2tfZ2V0cmVzIDExNAorKyNlbmRp ZgorKworKyNpZiAhZGVmaW5lZChfX05SX2Nsb2NrX25hbm9zbGVlcCkKKysjZGVmaW5lIF9fTlJf Y2xvY2tfbmFub3NsZWVwIDExNQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3N5c2xv ZykKKysjZGVmaW5lIF9fTlJfc3lzbG9nIDExNgorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChf X05SX3B0cmFjZSkKKysjZGVmaW5lIF9fTlJfcHRyYWNlIDExNworKyNlbmRpZgorKworKyNpZiAh ZGVmaW5lZChfX05SX3NjaGVkX3NldHBhcmFtKQorKyNkZWZpbmUgX19OUl9zY2hlZF9zZXRwYXJh bSAxMTgKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9zY2hlZF9zZXRzY2hlZHVsZXIp CisrI2RlZmluZSBfX05SX3NjaGVkX3NldHNjaGVkdWxlciAxMTkKKysjZW5kaWYKKysKKysjaWYg IWRlZmluZWQoX19OUl9zY2hlZF9nZXRzY2hlZHVsZXIpCisrI2RlZmluZSBfX05SX3NjaGVkX2dl dHNjaGVkdWxlciAxMjAKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9zY2hlZF9nZXRw YXJhbSkKKysjZGVmaW5lIF9fTlJfc2NoZWRfZ2V0cGFyYW0gMTIxCisrI2VuZGlmCisrCisrI2lm ICFkZWZpbmVkKF9fTlJfc2NoZWRfc2V0YWZmaW5pdHkpCisrI2RlZmluZSBfX05SX3NjaGVkX3Nl dGFmZmluaXR5IDEyMgorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3NjaGVkX2dldGFm ZmluaXR5KQorKyNkZWZpbmUgX19OUl9zY2hlZF9nZXRhZmZpbml0eSAxMjMKKysjZW5kaWYKKysK KysjaWYgIWRlZmluZWQoX19OUl9zY2hlZF95aWVsZCkKKysjZGVmaW5lIF9fTlJfc2NoZWRfeWll bGQgMTI0CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfc2NoZWRfZ2V0X3ByaW9yaXR5 X21heCkKKysjZGVmaW5lIF9fTlJfc2NoZWRfZ2V0X3ByaW9yaXR5X21heCAxMjUKKysjZW5kaWYK KysKKysjaWYgIWRlZmluZWQoX19OUl9zY2hlZF9nZXRfcHJpb3JpdHlfbWluKQorKyNkZWZpbmUg X19OUl9zY2hlZF9nZXRfcHJpb3JpdHlfbWluIDEyNgorKyNlbmRpZgorKworKyNpZiAhZGVmaW5l ZChfX05SX3NjaGVkX3JyX2dldF9pbnRlcnZhbCkKKysjZGVmaW5lIF9fTlJfc2NoZWRfcnJfZ2V0 X2ludGVydmFsIDEyNworKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3Jlc3RhcnRfc3lz Y2FsbCkKKysjZGVmaW5lIF9fTlJfcmVzdGFydF9zeXNjYWxsIDEyOAorKyNlbmRpZgorKworKyNp ZiAhZGVmaW5lZChfX05SX2tpbGwpCisrI2RlZmluZSBfX05SX2tpbGwgMTI5CisrI2VuZGlmCisr CisrI2lmICFkZWZpbmVkKF9fTlJfdGtpbGwpCisrI2RlZmluZSBfX05SX3RraWxsIDEzMAorKyNl bmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3Rna2lsbCkKKysjZGVmaW5lIF9fTlJfdGdraWxs IDEzMQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3NpZ2FsdHN0YWNrKQorKyNkZWZp bmUgX19OUl9zaWdhbHRzdGFjayAxMzIKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9y dF9zaWdzdXNwZW5kKQorKyNkZWZpbmUgX19OUl9ydF9zaWdzdXNwZW5kIDEzMworKyNlbmRpZgor KworKyNpZiAhZGVmaW5lZChfX05SX3J0X3NpZ2FjdGlvbikKKysjZGVmaW5lIF9fTlJfcnRfc2ln YWN0aW9uIDEzNAorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3J0X3NpZ3Byb2NtYXNr KQorKyNkZWZpbmUgX19OUl9ydF9zaWdwcm9jbWFzayAxMzUKKysjZW5kaWYKKysKKysjaWYgIWRl ZmluZWQoX19OUl9ydF9zaWdwZW5kaW5nKQorKyNkZWZpbmUgX19OUl9ydF9zaWdwZW5kaW5nIDEz NgorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3J0X3NpZ3RpbWVkd2FpdCkKKysjZGVm aW5lIF9fTlJfcnRfc2lndGltZWR3YWl0IDEzNworKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChf X05SX3J0X3NpZ3F1ZXVlaW5mbykKKysjZGVmaW5lIF9fTlJfcnRfc2lncXVldWVpbmZvIDEzOAor KyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3J0X3NpZ3JldHVybikKKysjZGVmaW5lIF9f TlJfcnRfc2lncmV0dXJuIDEzOQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3NldHBy aW9yaXR5KQorKyNkZWZpbmUgX19OUl9zZXRwcmlvcml0eSAxNDAKKysjZW5kaWYKKysKKysjaWYg IWRlZmluZWQoX19OUl9nZXRwcmlvcml0eSkKKysjZGVmaW5lIF9fTlJfZ2V0cHJpb3JpdHkgMTQx CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfcmVib290KQorKyNkZWZpbmUgX19OUl9y ZWJvb3QgMTQyCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfc2V0cmVnaWQpCisrI2Rl ZmluZSBfX05SX3NldHJlZ2lkIDE0MworKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3Nl dGdpZCkKKysjZGVmaW5lIF9fTlJfc2V0Z2lkIDE0NAorKyNlbmRpZgorKworKyNpZiAhZGVmaW5l ZChfX05SX3NldHJldWlkKQorKyNkZWZpbmUgX19OUl9zZXRyZXVpZCAxNDUKKysjZW5kaWYKKysK KysjaWYgIWRlZmluZWQoX19OUl9zZXR1aWQpCisrI2RlZmluZSBfX05SX3NldHVpZCAxNDYKKysj ZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9zZXRyZXN1aWQpCisrI2RlZmluZSBfX05SX3Nl dHJlc3VpZCAxNDcKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9nZXRyZXN1aWQpCisr I2RlZmluZSBfX05SX2dldHJlc3VpZCAxNDgKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19O Ul9zZXRyZXNnaWQpCisrI2RlZmluZSBfX05SX3NldHJlc2dpZCAxNDkKKysjZW5kaWYKKysKKysj aWYgIWRlZmluZWQoX19OUl9nZXRyZXNnaWQpCisrI2RlZmluZSBfX05SX2dldHJlc2dpZCAxNTAK KysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9zZXRmc3VpZCkKKysjZGVmaW5lIF9fTlJf c2V0ZnN1aWQgMTUxCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfc2V0ZnNnaWQpCisr I2RlZmluZSBfX05SX3NldGZzZ2lkIDE1MgorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05S X3RpbWVzKQorKyNkZWZpbmUgX19OUl90aW1lcyAxNTMKKysjZW5kaWYKKysKKysjaWYgIWRlZmlu ZWQoX19OUl9zZXRwZ2lkKQorKyNkZWZpbmUgX19OUl9zZXRwZ2lkIDE1NAorKyNlbmRpZgorKwor KyNpZiAhZGVmaW5lZChfX05SX2dldHBnaWQpCisrI2RlZmluZSBfX05SX2dldHBnaWQgMTU1Cisr I2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfZ2V0c2lkKQorKyNkZWZpbmUgX19OUl9nZXRz aWQgMTU2CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfc2V0c2lkKQorKyNkZWZpbmUg X19OUl9zZXRzaWQgMTU3CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfZ2V0Z3JvdXBz KQorKyNkZWZpbmUgX19OUl9nZXRncm91cHMgMTU4CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVk KF9fTlJfc2V0Z3JvdXBzKQorKyNkZWZpbmUgX19OUl9zZXRncm91cHMgMTU5CisrI2VuZGlmCisr CisrI2lmICFkZWZpbmVkKF9fTlJfdW5hbWUpCisrI2RlZmluZSBfX05SX3VuYW1lIDE2MAorKyNl bmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3NldGhvc3RuYW1lKQorKyNkZWZpbmUgX19OUl9z ZXRob3N0bmFtZSAxNjEKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9zZXRkb21haW5u YW1lKQorKyNkZWZpbmUgX19OUl9zZXRkb21haW5uYW1lIDE2MgorKyNlbmRpZgorKworKyNpZiAh ZGVmaW5lZChfX05SX2dldHJsaW1pdCkKKysjZGVmaW5lIF9fTlJfZ2V0cmxpbWl0IDE2MworKyNl bmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3NldHJsaW1pdCkKKysjZGVmaW5lIF9fTlJfc2V0 cmxpbWl0IDE2NAorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2dldHJ1c2FnZSkKKysj ZGVmaW5lIF9fTlJfZ2V0cnVzYWdlIDE2NQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05S X3VtYXNrKQorKyNkZWZpbmUgX19OUl91bWFzayAxNjYKKysjZW5kaWYKKysKKysjaWYgIWRlZmlu ZWQoX19OUl9wcmN0bCkKKysjZGVmaW5lIF9fTlJfcHJjdGwgMTY3CisrI2VuZGlmCisrCisrI2lm ICFkZWZpbmVkKF9fTlJfZ2V0Y3B1KQorKyNkZWZpbmUgX19OUl9nZXRjcHUgMTY4CisrI2VuZGlm CisrCisrI2lmICFkZWZpbmVkKF9fTlJfZ2V0dGltZW9mZGF5KQorKyNkZWZpbmUgX19OUl9nZXR0 aW1lb2ZkYXkgMTY5CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfc2V0dGltZW9mZGF5 KQorKyNkZWZpbmUgX19OUl9zZXR0aW1lb2ZkYXkgMTcwCisrI2VuZGlmCisrCisrI2lmICFkZWZp bmVkKF9fTlJfYWRqdGltZXgpCisrI2RlZmluZSBfX05SX2FkanRpbWV4IDE3MQorKyNlbmRpZgor KworKyNpZiAhZGVmaW5lZChfX05SX2dldHBpZCkKKysjZGVmaW5lIF9fTlJfZ2V0cGlkIDE3Mgor KyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2dldHBwaWQpCisrI2RlZmluZSBfX05SX2dl dHBwaWQgMTczCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfZ2V0dWlkKQorKyNkZWZp bmUgX19OUl9nZXR1aWQgMTc0CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfZ2V0ZXVp ZCkKKysjZGVmaW5lIF9fTlJfZ2V0ZXVpZCAxNzUKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQo X19OUl9nZXRnaWQpCisrI2RlZmluZSBfX05SX2dldGdpZCAxNzYKKysjZW5kaWYKKysKKysjaWYg IWRlZmluZWQoX19OUl9nZXRlZ2lkKQorKyNkZWZpbmUgX19OUl9nZXRlZ2lkIDE3NworKyNlbmRp ZgorKworKyNpZiAhZGVmaW5lZChfX05SX2dldHRpZCkKKysjZGVmaW5lIF9fTlJfZ2V0dGlkIDE3 OAorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3N5c2luZm8pCisrI2RlZmluZSBfX05S X3N5c2luZm8gMTc5CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfbXFfb3BlbikKKysj ZGVmaW5lIF9fTlJfbXFfb3BlbiAxODAKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9t cV91bmxpbmspCisrI2RlZmluZSBfX05SX21xX3VubGluayAxODEKKysjZW5kaWYKKysKKysjaWYg IWRlZmluZWQoX19OUl9tcV90aW1lZHNlbmQpCisrI2RlZmluZSBfX05SX21xX3RpbWVkc2VuZCAx ODIKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9tcV90aW1lZHJlY2VpdmUpCisrI2Rl ZmluZSBfX05SX21xX3RpbWVkcmVjZWl2ZSAxODMKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQo X19OUl9tcV9ub3RpZnkpCisrI2RlZmluZSBfX05SX21xX25vdGlmeSAxODQKKysjZW5kaWYKKysK KysjaWYgIWRlZmluZWQoX19OUl9tcV9nZXRzZXRhdHRyKQorKyNkZWZpbmUgX19OUl9tcV9nZXRz ZXRhdHRyIDE4NQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX21zZ2dldCkKKysjZGVm aW5lIF9fTlJfbXNnZ2V0IDE4NgorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX21zZ2N0 bCkKKysjZGVmaW5lIF9fTlJfbXNnY3RsIDE4NworKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChf X05SX21zZ3JjdikKKysjZGVmaW5lIF9fTlJfbXNncmN2IDE4OAorKyNlbmRpZgorKworKyNpZiAh ZGVmaW5lZChfX05SX21zZ3NuZCkKKysjZGVmaW5lIF9fTlJfbXNnc25kIDE4OQorKyNlbmRpZgor KworKyNpZiAhZGVmaW5lZChfX05SX3NlbWdldCkKKysjZGVmaW5lIF9fTlJfc2VtZ2V0IDE5MAor KyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3NlbWN0bCkKKysjZGVmaW5lIF9fTlJfc2Vt Y3RsIDE5MQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3NlbXRpbWVkb3ApCisrI2Rl ZmluZSBfX05SX3NlbXRpbWVkb3AgMTkyCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJf c2Vtb3ApCisrI2RlZmluZSBfX05SX3NlbW9wIDE5MworKyNlbmRpZgorKworKyNpZiAhZGVmaW5l ZChfX05SX3NobWdldCkKKysjZGVmaW5lIF9fTlJfc2htZ2V0IDE5NAorKyNlbmRpZgorKworKyNp ZiAhZGVmaW5lZChfX05SX3NobWN0bCkKKysjZGVmaW5lIF9fTlJfc2htY3RsIDE5NQorKyNlbmRp ZgorKworKyNpZiAhZGVmaW5lZChfX05SX3NobWF0KQorKyNkZWZpbmUgX19OUl9zaG1hdCAxOTYK KysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9zaG1kdCkKKysjZGVmaW5lIF9fTlJfc2ht ZHQgMTk3CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfc29ja2V0KQorKyNkZWZpbmUg X19OUl9zb2NrZXQgMTk4CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfc29ja2V0cGFp cikKKysjZGVmaW5lIF9fTlJfc29ja2V0cGFpciAxOTkKKysjZW5kaWYKKysKKysjaWYgIWRlZmlu ZWQoX19OUl9iaW5kKQorKyNkZWZpbmUgX19OUl9iaW5kIDIwMAorKyNlbmRpZgorKworKyNpZiAh ZGVmaW5lZChfX05SX2xpc3RlbikKKysjZGVmaW5lIF9fTlJfbGlzdGVuIDIwMQorKyNlbmRpZgor KworKyNpZiAhZGVmaW5lZChfX05SX2FjY2VwdCkKKysjZGVmaW5lIF9fTlJfYWNjZXB0IDIwMgor KyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2Nvbm5lY3QpCisrI2RlZmluZSBfX05SX2Nv bm5lY3QgMjAzCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfZ2V0c29ja25hbWUpCisr I2RlZmluZSBfX05SX2dldHNvY2tuYW1lIDIwNAorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChf X05SX2dldHBlZXJuYW1lKQorKyNkZWZpbmUgX19OUl9nZXRwZWVybmFtZSAyMDUKKysjZW5kaWYK KysKKysjaWYgIWRlZmluZWQoX19OUl9zZW5kdG8pCisrI2RlZmluZSBfX05SX3NlbmR0byAyMDYK KysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9yZWN2ZnJvbSkKKysjZGVmaW5lIF9fTlJf cmVjdmZyb20gMjA3CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfc2V0c29ja29wdCkK KysjZGVmaW5lIF9fTlJfc2V0c29ja29wdCAyMDgKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQo X19OUl9nZXRzb2Nrb3B0KQorKyNkZWZpbmUgX19OUl9nZXRzb2Nrb3B0IDIwOQorKyNlbmRpZgor KworKyNpZiAhZGVmaW5lZChfX05SX3NodXRkb3duKQorKyNkZWZpbmUgX19OUl9zaHV0ZG93biAy MTAKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9zZW5kbXNnKQorKyNkZWZpbmUgX19O Ul9zZW5kbXNnIDIxMQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3JlY3Ztc2cpCisr I2RlZmluZSBfX05SX3JlY3Ztc2cgMjEyCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJf cmVhZGFoZWFkKQorKyNkZWZpbmUgX19OUl9yZWFkYWhlYWQgMjEzCisrI2VuZGlmCisrCisrI2lm ICFkZWZpbmVkKF9fTlJfYnJrKQorKyNkZWZpbmUgX19OUl9icmsgMjE0CisrI2VuZGlmCisrCisr I2lmICFkZWZpbmVkKF9fTlJfbXVubWFwKQorKyNkZWZpbmUgX19OUl9tdW5tYXAgMjE1CisrI2Vu ZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfbXJlbWFwKQorKyNkZWZpbmUgX19OUl9tcmVtYXAg MjE2CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfYWRkX2tleSkKKysjZGVmaW5lIF9f TlJfYWRkX2tleSAyMTcKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9yZXF1ZXN0X2tl eSkKKysjZGVmaW5lIF9fTlJfcmVxdWVzdF9rZXkgMjE4CisrI2VuZGlmCisrCisrI2lmICFkZWZp bmVkKF9fTlJfa2V5Y3RsKQorKyNkZWZpbmUgX19OUl9rZXljdGwgMjE5CisrI2VuZGlmCisrCisr I2lmICFkZWZpbmVkKF9fTlJfY2xvbmUpCisrI2RlZmluZSBfX05SX2Nsb25lIDIyMAorKyNlbmRp ZgorKworKyNpZiAhZGVmaW5lZChfX05SX2V4ZWN2ZSkKKysjZGVmaW5lIF9fTlJfZXhlY3ZlIDIy MQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX21tYXApCisrI2RlZmluZSBfX05SX21t YXAgMjIyCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfZmFkdmlzZTY0KQorKyNkZWZp bmUgX19OUl9mYWR2aXNlNjQgMjIzCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfc3dh cG9uKQorKyNkZWZpbmUgX19OUl9zd2Fwb24gMjI0CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVk KF9fTlJfc3dhcG9mZikKKysjZGVmaW5lIF9fTlJfc3dhcG9mZiAyMjUKKysjZW5kaWYKKysKKysj aWYgIWRlZmluZWQoX19OUl9tcHJvdGVjdCkKKysjZGVmaW5lIF9fTlJfbXByb3RlY3QgMjI2Cisr I2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfbXN5bmMpCisrI2RlZmluZSBfX05SX21zeW5j IDIyNworKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX21sb2NrKQorKyNkZWZpbmUgX19O Ul9tbG9jayAyMjgKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9tdW5sb2NrKQorKyNk ZWZpbmUgX19OUl9tdW5sb2NrIDIyOQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX21s b2NrYWxsKQorKyNkZWZpbmUgX19OUl9tbG9ja2FsbCAyMzAKKysjZW5kaWYKKysKKysjaWYgIWRl ZmluZWQoX19OUl9tdW5sb2NrYWxsKQorKyNkZWZpbmUgX19OUl9tdW5sb2NrYWxsIDIzMQorKyNl bmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX21pbmNvcmUpCisrI2RlZmluZSBfX05SX21pbmNv cmUgMjMyCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfbWFkdmlzZSkKKysjZGVmaW5l IF9fTlJfbWFkdmlzZSAyMzMKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9yZW1hcF9m aWxlX3BhZ2VzKQorKyNkZWZpbmUgX19OUl9yZW1hcF9maWxlX3BhZ2VzIDIzNAorKyNlbmRpZgor KworKyNpZiAhZGVmaW5lZChfX05SX21iaW5kKQorKyNkZWZpbmUgX19OUl9tYmluZCAyMzUKKysj ZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9nZXRfbWVtcG9saWN5KQorKyNkZWZpbmUgX19O Ul9nZXRfbWVtcG9saWN5IDIzNgorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3NldF9t ZW1wb2xpY3kpCisrI2RlZmluZSBfX05SX3NldF9tZW1wb2xpY3kgMjM3CisrI2VuZGlmCisrCisr I2lmICFkZWZpbmVkKF9fTlJfbWlncmF0ZV9wYWdlcykKKysjZGVmaW5lIF9fTlJfbWlncmF0ZV9w YWdlcyAyMzgKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9tb3ZlX3BhZ2VzKQorKyNk ZWZpbmUgX19OUl9tb3ZlX3BhZ2VzIDIzOQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05S X3J0X3Rnc2lncXVldWVpbmZvKQorKyNkZWZpbmUgX19OUl9ydF90Z3NpZ3F1ZXVlaW5mbyAyNDAK KysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9wZXJmX2V2ZW50X29wZW4pCisrI2RlZmlu ZSBfX05SX3BlcmZfZXZlbnRfb3BlbiAyNDEKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19O Ul9hY2NlcHQ0KQorKyNkZWZpbmUgX19OUl9hY2NlcHQ0IDI0MgorKyNlbmRpZgorKworKyNpZiAh ZGVmaW5lZChfX05SX3JlY3ZtbXNnKQorKyNkZWZpbmUgX19OUl9yZWN2bW1zZyAyNDMKKysjZW5k aWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9yaXNjdl9mbHVzaF9pY2FjaGUpCisrI2RlZmluZSBf X05SX3Jpc2N2X2ZsdXNoX2ljYWNoZSAyNTkKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19O Ul93YWl0NCkKKysjZGVmaW5lIF9fTlJfd2FpdDQgMjYwCisrI2VuZGlmCisrCisrI2lmICFkZWZp bmVkKF9fTlJfcHJsaW1pdDY0KQorKyNkZWZpbmUgX19OUl9wcmxpbWl0NjQgMjYxCisrI2VuZGlm CisrCisrI2lmICFkZWZpbmVkKF9fTlJfZmFub3RpZnlfaW5pdCkKKysjZGVmaW5lIF9fTlJfZmFu b3RpZnlfaW5pdCAyNjIKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9mYW5vdGlmeV9t YXJrKQorKyNkZWZpbmUgX19OUl9mYW5vdGlmeV9tYXJrIDI2MworKyNlbmRpZgorKworKyNpZiAh ZGVmaW5lZChfX05SX25hbWVfdG9faGFuZGxlX2F0KQorKyNkZWZpbmUgX19OUl9uYW1lX3RvX2hh bmRsZV9hdCAyNjQKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9vcGVuX2J5X2hhbmRs ZV9hdCkKKysjZGVmaW5lIF9fTlJfb3Blbl9ieV9oYW5kbGVfYXQgMjY1CisrI2VuZGlmCisrCisr I2lmICFkZWZpbmVkKF9fTlJfY2xvY2tfYWRqdGltZSkKKysjZGVmaW5lIF9fTlJfY2xvY2tfYWRq dGltZSAyNjYKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9zeW5jZnMpCisrI2RlZmlu ZSBfX05SX3N5bmNmcyAyNjcKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9zZXRucykK KysjZGVmaW5lIF9fTlJfc2V0bnMgMjY4CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJf c2VuZG1tc2cpCisrI2RlZmluZSBfX05SX3NlbmRtbXNnIDI2OQorKyNlbmRpZgorKworKyNpZiAh ZGVmaW5lZChfX05SX3Byb2Nlc3Nfdm1fcmVhZHYpCisrI2RlZmluZSBfX05SX3Byb2Nlc3Nfdm1f cmVhZHYgMjcwCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfcHJvY2Vzc192bV93cml0 ZXYpCisrI2RlZmluZSBfX05SX3Byb2Nlc3Nfdm1fd3JpdGV2IDI3MQorKyNlbmRpZgorKworKyNp ZiAhZGVmaW5lZChfX05SX2tjbXApCisrI2RlZmluZSBfX05SX2tjbXAgMjcyCisrI2VuZGlmCisr CisrI2lmICFkZWZpbmVkKF9fTlJfZmluaXRfbW9kdWxlKQorKyNkZWZpbmUgX19OUl9maW5pdF9t b2R1bGUgMjczCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfc2NoZWRfc2V0YXR0cikK KysjZGVmaW5lIF9fTlJfc2NoZWRfc2V0YXR0ciAyNzQKKysjZW5kaWYKKysKKysjaWYgIWRlZmlu ZWQoX19OUl9zY2hlZF9nZXRhdHRyKQorKyNkZWZpbmUgX19OUl9zY2hlZF9nZXRhdHRyIDI3NQor KyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3JlbmFtZWF0MikKKysjZGVmaW5lIF9fTlJf cmVuYW1lYXQyIDI3NgorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3NlY2NvbXApCisr I2RlZmluZSBfX05SX3NlY2NvbXAgMjc3CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJf Z2V0cmFuZG9tKQorKyNkZWZpbmUgX19OUl9nZXRyYW5kb20gMjc4CisrI2VuZGlmCisrCisrI2lm ICFkZWZpbmVkKF9fTlJfbWVtZmRfY3JlYXRlKQorKyNkZWZpbmUgX19OUl9tZW1mZF9jcmVhdGUg Mjc5CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfYnBmKQorKyNkZWZpbmUgX19OUl9i cGYgMjgwCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfZXhlY3ZlYXQpCisrI2RlZmlu ZSBfX05SX2V4ZWN2ZWF0IDI4MQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3VzZXJm YXVsdGZkKQorKyNkZWZpbmUgX19OUl91c2VyZmF1bHRmZCAyODIKKysjZW5kaWYKKysKKysjaWYg IWRlZmluZWQoX19OUl9tZW1iYXJyaWVyKQorKyNkZWZpbmUgX19OUl9tZW1iYXJyaWVyIDI4Mwor KyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX21sb2NrMikKKysjZGVmaW5lIF9fTlJfbWxv Y2syIDI4NAorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2NvcHlfZmlsZV9yYW5nZSkK KysjZGVmaW5lIF9fTlJfY29weV9maWxlX3JhbmdlIDI4NQorKyNlbmRpZgorKworKyNpZiAhZGVm aW5lZChfX05SX3ByZWFkdjIpCisrI2RlZmluZSBfX05SX3ByZWFkdjIgMjg2CisrI2VuZGlmCisr CisrI2lmICFkZWZpbmVkKF9fTlJfcHdyaXRldjIpCisrI2RlZmluZSBfX05SX3B3cml0ZXYyIDI4 NworKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3BrZXlfbXByb3RlY3QpCisrI2RlZmlu ZSBfX05SX3BrZXlfbXByb3RlY3QgMjg4CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJf cGtleV9hbGxvYykKKysjZGVmaW5lIF9fTlJfcGtleV9hbGxvYyAyODkKKysjZW5kaWYKKysKKysj aWYgIWRlZmluZWQoX19OUl9wa2V5X2ZyZWUpCisrI2RlZmluZSBfX05SX3BrZXlfZnJlZSAyOTAK KysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9zdGF0eCkKKysjZGVmaW5lIF9fTlJfc3Rh dHggMjkxCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfaW9fcGdldGV2ZW50cykKKysj ZGVmaW5lIF9fTlJfaW9fcGdldGV2ZW50cyAyOTIKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQo X19OUl9yc2VxKQorKyNkZWZpbmUgX19OUl9yc2VxIDI5MworKyNlbmRpZgorKworKyNpZiAhZGVm aW5lZChfX05SX2tleGVjX2ZpbGVfbG9hZCkKKysjZGVmaW5lIF9fTlJfa2V4ZWNfZmlsZV9sb2Fk IDI5NAorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3BpZGZkX3NlbmRfc2lnbmFsKQor KyNkZWZpbmUgX19OUl9waWRmZF9zZW5kX3NpZ25hbCA0MjQKKysjZW5kaWYKKysKKysjaWYgIWRl ZmluZWQoX19OUl9pb191cmluZ19zZXR1cCkKKysjZGVmaW5lIF9fTlJfaW9fdXJpbmdfc2V0dXAg NDI1CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfaW9fdXJpbmdfZW50ZXIpCisrI2Rl ZmluZSBfX05SX2lvX3VyaW5nX2VudGVyIDQyNgorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChf X05SX2lvX3VyaW5nX3JlZ2lzdGVyKQorKyNkZWZpbmUgX19OUl9pb191cmluZ19yZWdpc3RlciA0 MjcKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9vcGVuX3RyZWUpCisrI2RlZmluZSBf X05SX29wZW5fdHJlZSA0MjgKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9tb3ZlX21v dW50KQorKyNkZWZpbmUgX19OUl9tb3ZlX21vdW50IDQyOQorKyNlbmRpZgorKworKyNpZiAhZGVm aW5lZChfX05SX2Zzb3BlbikKKysjZGVmaW5lIF9fTlJfZnNvcGVuIDQzMAorKyNlbmRpZgorKwor KyNpZiAhZGVmaW5lZChfX05SX2ZzY29uZmlnKQorKyNkZWZpbmUgX19OUl9mc2NvbmZpZyA0MzEK KysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9mc21vdW50KQorKyNkZWZpbmUgX19OUl9m c21vdW50IDQzMgorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2ZzcGljaykKKysjZGVm aW5lIF9fTlJfZnNwaWNrIDQzMworKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3BpZGZk X29wZW4pCisrI2RlZmluZSBfX05SX3BpZGZkX29wZW4gNDM0CisrI2VuZGlmCisrCisrI2lmICFk ZWZpbmVkKF9fTlJfY2xvbmUzKQorKyNkZWZpbmUgX19OUl9jbG9uZTMgNDM1CisrI2VuZGlmCisr CisrI2lmICFkZWZpbmVkKF9fTlJfY2xvc2VfcmFuZ2UpCisrI2RlZmluZSBfX05SX2Nsb3NlX3Jh bmdlIDQzNgorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX29wZW5hdDIpCisrI2RlZmlu ZSBfX05SX29wZW5hdDIgNDM3CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfcGlkZmRf Z2V0ZmQpCisrI2RlZmluZSBfX05SX3BpZGZkX2dldGZkIDQzOAorKyNlbmRpZgorKworKyNpZiAh ZGVmaW5lZChfX05SX2ZhY2Nlc3NhdDIpCisrI2RlZmluZSBfX05SX2ZhY2Nlc3NhdDIgNDM5Cisr I2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfcHJvY2Vzc19tYWR2aXNlKQorKyNkZWZpbmUg X19OUl9wcm9jZXNzX21hZHZpc2UgNDQwCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJf ZXBvbGxfcHdhaXQyKQorKyNkZWZpbmUgX19OUl9lcG9sbF9wd2FpdDIgNDQxCisrI2VuZGlmCisr CisrI2lmICFkZWZpbmVkKF9fTlJfbW91bnRfc2V0YXR0cikKKysjZGVmaW5lIF9fTlJfbW91bnRf c2V0YXR0ciA0NDIKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9xdW90YWN0bF9wYXRo KQorKyNkZWZpbmUgX19OUl9xdW90YWN0bF9wYXRoIDQ0MworKyNlbmRpZgorKworKyNpZiAhZGVm aW5lZChfX05SX2xhbmRsb2NrX2NyZWF0ZV9ydWxlc2V0KQorKyNkZWZpbmUgX19OUl9sYW5kbG9j a19jcmVhdGVfcnVsZXNldCA0NDQKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9sYW5k bG9ja19hZGRfcnVsZSkKKysjZGVmaW5lIF9fTlJfbGFuZGxvY2tfYWRkX3J1bGUgNDQ1CisrI2Vu ZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfbGFuZGxvY2tfcmVzdHJpY3Rfc2VsZikKKysjZGVm aW5lIF9fTlJfbGFuZGxvY2tfcmVzdHJpY3Rfc2VsZiA0NDYKKysjZW5kaWYKKysKKysjZW5kaWYg IC8vIFNBTkRCT1hfTElOVVhfU1lTVEVNX0hFQURFUlNfUklTQ1Y2NF9MSU5VWF9TWVNDQUxMU19I XworSW5kZXg6IGNocm9taXVtLTEwNy4wLjUzMDQuODcvc2FuZGJveC9wb2xpY3kvbGludXgvYnBm X2Nyb3NfYW1kX2dwdV9wb2xpY3lfbGludXguY2MKKz09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBjaHJvbWl1bS0x MDcuMC41MzA0Ljg3Lm9yaWcvc2FuZGJveC9wb2xpY3kvbGludXgvYnBmX2Nyb3NfYW1kX2dwdV9w b2xpY3lfbGludXguY2MKKysrKyBjaHJvbWl1bS0xMDcuMC41MzA0Ljg3L3NhbmRib3gvcG9saWN5 L2xpbnV4L2JwZl9jcm9zX2FtZF9ncHVfcG9saWN5X2xpbnV4LmNjCitAQCAtMzgsNyArMzgsNyBA QCBSZXN1bHRFeHByIENyb3NBbWRHcHVQcm9jZXNzUG9saWN5OjpFdmFsCisgICAgIGNhc2UgX19O Ul9zY2hlZF9zZXRzY2hlZHVsZXI6CisgICAgIGNhc2UgX19OUl9zeXNpbmZvOgorICAgICBjYXNl IF9fTlJfdW5hbWU6CistI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9fKQorKyNpZiAhZGVmaW5lZChf X2FhcmNoNjRfXykgJiYgIWRlZmluZWQoX19yaXNjdikKKyAgICAgY2FzZSBfX05SX3JlYWRsaW5r OgorICAgICBjYXNlIF9fTlJfc3RhdDoKKyAjZW5kaWYKK0luZGV4OiBjaHJvbWl1bS0xMDcuMC41 MzA0Ljg3L3NhbmRib3gvcG9saWN5L2xpbnV4L2JwZl9ncHVfcG9saWN5X2xpbnV4LmNjCis9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09CistLS0gY2hyb21pdW0tMTA3LjAuNTMwNC44Ny5vcmlnL3NhbmRib3gvcG9saWN5L2xp bnV4L2JwZl9ncHVfcG9saWN5X2xpbnV4LmNjCisrKysgY2hyb21pdW0tMTA3LjAuNTMwNC44Ny9z YW5kYm94L3BvbGljeS9saW51eC9icGZfZ3B1X3BvbGljeV9saW51eC5jYworQEAgLTczLDcgKzcz LDcgQEAgUmVzdWx0RXhwciBHcHVQcm9jZXNzUG9saWN5OjpFdmFsdWF0ZVN5cworICAgICAoZGVm aW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkK KyAgICAgY2FzZSBfX05SX2Z0cnVuY2F0ZTY0OgorICNlbmRpZgorLSNpZiAhZGVmaW5lZChfX2Fh cmNoNjRfXykKKysjaWYgIWRlZmluZWQoX19hYXJjaDY0X18pICYmICFkZWZpbmVkKF9fcmlzY3Yp CisgICAgIGNhc2UgX19OUl9nZXRkZW50czoKKyAjZW5kaWYKKyAgICAgY2FzZSBfX05SX2dldGRl bnRzNjQ6CisKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDct cmlzY3Ytc2FuZGJveC5wYXRjaC5hcmdzIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMv MDAwNy1yaXNjdi1zYW5kYm94LnBhdGNoLmFyZ3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwMDAwLi5kNWYzOGUzNTRlN2YKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0 Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDA3LXJpc2N2LXNhbmRib3gucGF0Y2guYXJncwpAQCAtMCww ICsxIEBACistTnAxIC0tZGlyZWN0b3J5PXNyYy8zcmRwYXJ0eS9jaHJvbWl1bS8KZGlmZiAtLWdp dCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDAtY2hyb21pdW0tcmV2ZXJ0LTlk MDgwYzAucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTAwLWNocm9taXVt LXJldmVydC05ZDA4MGMwLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZGNh MzY0YTQwNjAuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hl cy8wMTAwLWNocm9taXVtLXJldmVydC05ZDA4MGMwLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEs MTU0ICswLDAgQEAKLVJldmVydCA5ZDA4MGMwOTM0Yjg0OGVlNGEwNTAxM2M3ODY0MWU2MTJmY2Mx ZTAzCi0KLS0tLSBxdDYtd2ViZW5naW5lLTYuNC4yLm9yaWcvc3JjLzNyZHBhcnR5L2Nocm9taXVt L2J1aWxkL2NvbmZpZy9zYW5pdGl6ZXJzL0JVSUxELmduCi0rKysgcXQ2LXdlYmVuZ2luZS02LjQu Mi9zcmMvM3JkcGFydHkvY2hyb21pdW0vYnVpbGQvY29uZmlnL3Nhbml0aXplcnMvQlVJTEQuZ24K LUBAIC0yNzEsMTEgKzI3MSwxMSBAQCBjb25maWcoImFzYW5fZmxhZ3MiKSB7Ci0gICBpZiAoaXNf YXNhbikgewotICAgICBjZmxhZ3MgKz0gWyAiLWZzYW5pdGl6ZT1hZGRyZXNzIiBdCi0gICAgIGlm IChpc193aW4pIHsKLS0gICAgICBpZiAoIWRlZmluZWQoYXNhbl93aW5fYmxvY2tsaXN0X3BhdGgp KSB7Ci0tICAgICAgICBhc2FuX3dpbl9ibG9ja2xpc3RfcGF0aCA9Ci0rICAgICAgaWYgKCFkZWZp bmVkKGFzYW5fd2luX2JsYWNrbGlzdF9wYXRoKSkgewotKyAgICAgICAgYXNhbl93aW5fYmxhY2ts aXN0X3BhdGggPQotICAgICAgICAgICAgIHJlYmFzZV9wYXRoKCIvL3Rvb2xzL21lbW9yeS9hc2Fu L2Jsb2NrbGlzdF93aW4udHh0Iiwgcm9vdF9idWlsZF9kaXIpCi0gICAgICAgfQotLSAgICAgIGNm bGFncyArPSBbICItZnNhbml0aXplLWlnbm9yZWxpc3Q9JGFzYW5fd2luX2Jsb2NrbGlzdF9wYXRo IiBdCi0rICAgICAgY2ZsYWdzICs9IFsgIi1mc2FuaXRpemUtYmxhY2tsaXN0PSRhc2FuX3dpbl9i bGFja2xpc3RfcGF0aCIgXQotICAgICB9Ci0gICB9Ci0gfQotQEAgLTMwNSwxMyArMzA1LDEzIEBA IGNvbmZpZygibGlua19zaGFyZWRfbGlicmFyeSIpIHsKLSBjb25maWcoImNmaV9mbGFncyIpIHsK LSAgIGNmbGFncyA9IFtdCi0gICBpZiAoaXNfY2ZpICYmIGN1cnJlbnRfdG9vbGNoYWluID09IGRl ZmF1bHRfdG9vbGNoYWluKSB7Ci0tICAgIGlmICghZGVmaW5lZChjZmlfaWdub3JlbGlzdF9wYXRo KSkgewotLSAgICAgIGNmaV9pZ25vcmVsaXN0X3BhdGggPQotKyAgICBpZiAoIWRlZmluZWQoY2Zp X2JsYWNrbGlzdF9wYXRoKSkgewotKyAgICAgIGNmaV9ibGFja2xpc3RfcGF0aCA9Ci0gICAgICAg ICAgIHJlYmFzZV9wYXRoKCIvL3Rvb2xzL2NmaS9pZ25vcmVzLnR4dCIsIHJvb3RfYnVpbGRfZGly KQotICAgICB9Ci0gICAgIGNmbGFncyArPSBbCi0gICAgICAgIi1mc2FuaXRpemU9Y2ZpLXZjYWxs IiwKLS0gICAgICAiLWZzYW5pdGl6ZS1pZ25vcmVsaXN0PSRjZmlfaWdub3JlbGlzdF9wYXRoIiwK LSsgICAgICAiLWZzYW5pdGl6ZS1ibGFja2xpc3Q9JGNmaV9ibGFja2xpc3RfcGF0aCIsCi0gICAg IF0KLSAKLSAgICAgaWYgKHVzZV9jZmlfY2FzdCkgewotQEAgLTQwOCwxNCArNDA4LDE0IEBAIGNv bmZpZygibXNhbl9mbGFncyIpIHsKLSAgIGlmIChpc19tc2FuKSB7Ci0gICAgIGFzc2VydChpc19s aW51eCB8fCBpc19jaHJvbWVvcywKLSAgICAgICAgICAgICJtc2FuIG9ubHkgc3VwcG9ydGVkIG9u IGxpbnV4IHg4Nl82NC9DaHJvbWVPUyIpCi0tICAgIGlmICghZGVmaW5lZChtc2FuX2lnbm9yZWxp c3RfcGF0aCkpIHsKLS0gICAgICBtc2FuX2lnbm9yZWxpc3RfcGF0aCA9Ci0tICAgICAgICAgIHJl YmFzZV9wYXRoKCIvL3Rvb2xzL21zYW4vaWdub3JlbGlzdC50eHQiLCByb290X2J1aWxkX2RpcikK LSsgICAgaWYgKCFkZWZpbmVkKG1zYW5fYmxhY2tsaXN0X3BhdGgpKSB7Ci0rICAgICAgbXNhbl9i bGFja2xpc3RfcGF0aCA9Ci0rICAgICAgICAgIHJlYmFzZV9wYXRoKCIvL3Rvb2xzL21zYW4vYmxh Y2tsaXN0LnR4dCIsIHJvb3RfYnVpbGRfZGlyKQotICAgICB9Ci0gICAgIGNmbGFncyA9IFsKLSAg ICAgICAiLWZzYW5pdGl6ZT1tZW1vcnkiLAotICAgICAgICItZnNhbml0aXplLW1lbW9yeS10cmFj ay1vcmlnaW5zPSRtc2FuX3RyYWNrX29yaWdpbnMiLAotLSAgICAgICItZnNhbml0aXplLWlnbm9y ZWxpc3Q9JG1zYW5faWdub3JlbGlzdF9wYXRoIiwKLSsgICAgICAiLWZzYW5pdGl6ZS1ibGFja2xp c3Q9JG1zYW5fYmxhY2tsaXN0X3BhdGgiLAotICAgICBdCi0gICB9Ci0gfQotQEAgLTQyMywxMyAr NDIzLDEzIEBAIGNvbmZpZygibXNhbl9mbGFncyIpIHsKLSBjb25maWcoInRzYW5fZmxhZ3MiKSB7 Ci0gICBpZiAoaXNfdHNhbikgewotICAgICBhc3NlcnQoaXNfbGludXggfHwgaXNfY2hyb21lb3Ms ICJ0c2FuIG9ubHkgc3VwcG9ydGVkIG9uIGxpbnV4IHg4Nl82NCIpCi0tICAgIGlmICghZGVmaW5l ZCh0c2FuX2lnbm9yZWxpc3RfcGF0aCkpIHsKLS0gICAgICB0c2FuX2lnbm9yZWxpc3RfcGF0aCA9 Ci0rICAgIGlmICghZGVmaW5lZCh0c2FuX2JsYWNrbGlzdF9wYXRoKSkgewotKyAgICAgIHRzYW5f YmxhY2tsaXN0X3BhdGggPQotICAgICAgICAgICByZWJhc2VfcGF0aCgiLy90b29scy9tZW1vcnkv dHNhbl92Mi9pZ25vcmVzLnR4dCIsIHJvb3RfYnVpbGRfZGlyKQotICAgICB9Ci0gICAgIGNmbGFn cyA9IFsKLSAgICAgICAiLWZzYW5pdGl6ZT10aHJlYWQiLAotLSAgICAgICItZnNhbml0aXplLWln bm9yZWxpc3Q9JHRzYW5faWdub3JlbGlzdF9wYXRoIiwKLSsgICAgICAiLWZzYW5pdGl6ZS1ibGFj a2xpc3Q9JHRzYW5fYmxhY2tsaXN0X3BhdGgiLAotICAgICBdCi0gICB9Ci0gfQotQEAgLTQzNyw4 ICs0MzcsOCBAQCBjb25maWcoInRzYW5fZmxhZ3MiKSB7Ci0gY29uZmlnKCJ1YnNhbl9mbGFncyIp IHsKLSAgIGNmbGFncyA9IFtdCi0gICBpZiAoaXNfdWJzYW4pIHsKLS0gICAgaWYgKCFkZWZpbmVk KHVic2FuX2lnbm9yZWxpc3RfcGF0aCkpIHsKLS0gICAgICB1YnNhbl9pZ25vcmVsaXN0X3BhdGgg PQotKyAgICBpZiAoIWRlZmluZWQodWJzYW5fYmxhY2tsaXN0X3BhdGgpKSB7Ci0rICAgICAgdWJz YW5fYmxhY2tsaXN0X3BhdGggPQotICAgICAgICAgICByZWJhc2VfcGF0aCgiLy90b29scy91YnNh bi9pZ25vcmVsaXN0LnR4dCIsIHJvb3RfYnVpbGRfZGlyKQotICAgICB9Ci0gICAgIGNmbGFncyAr PSBbCi1AQCAtNDU1LDcgKzQ1NSw3IEBAIGNvbmZpZygidWJzYW5fZmxhZ3MiKSB7Ci0gICAgICAg Ii1mc2FuaXRpemU9c2lnbmVkLWludGVnZXItb3ZlcmZsb3ciLAotICAgICAgICItZnNhbml0aXpl PXVucmVhY2hhYmxlIiwKLSAgICAgICAiLWZzYW5pdGl6ZT12bGEtYm91bmQiLAotLSAgICAgICIt ZnNhbml0aXplLWlnbm9yZWxpc3Q9JHVic2FuX2lnbm9yZWxpc3RfcGF0aCIsCi0rICAgICAgIi1m c2FuaXRpemUtYmxhY2tsaXN0PSR1YnNhbl9ibGFja2xpc3RfcGF0aCIsCi0gICAgIF0KLSAgICAg aWYgKCFpc19jbGFuZykgewotICAgICAgICMgVGhlc2UgZXhwb3NlcyB0b28gbXVjaCBpbGxlZ2Fs IEMrKzE0IGNvZGUgdG8gY29tcGlsZSBvbiBhbnl0aGluZyBzdHJpY3RlciB0aGFuIGNsYW5nOgot QEAgLTQ5Niw4ICs0OTYsOCBAQCBjb25maWcoInVic2FuX25vX3JlY292ZXIiKSB7Ci0gCi0gY29u ZmlnKCJ1YnNhbl9zZWN1cml0eV9mbGFncyIpIHsKLSAgIGlmIChpc191YnNhbl9zZWN1cml0eSkg ewotLSAgICBpZiAoIWRlZmluZWQodWJzYW5fc2VjdXJpdHlfaWdub3JlbGlzdF9wYXRoKSkgewot LSAgICAgIHVic2FuX3NlY3VyaXR5X2lnbm9yZWxpc3RfcGF0aCA9Ci0rICAgIGlmICghZGVmaW5l ZCh1YnNhbl9zZWN1cml0eV9ibGFja2xpc3RfcGF0aCkpIHsKLSsgICAgICB1YnNhbl9zZWN1cml0 eV9ibGFja2xpc3RfcGF0aCA9Ci0gICAgICAgICAgIHJlYmFzZV9wYXRoKCIvL3Rvb2xzL3Vic2Fu L3NlY3VyaXR5X2lnbm9yZWxpc3QudHh0Iiwgcm9vdF9idWlsZF9kaXIpCi0gICAgIH0KLSAgICAg Y2ZsYWdzID0gWwotQEAgLTUwNSw3ICs1MDUsNyBAQCBjb25maWcoInVic2FuX3NlY3VyaXR5X2Zs YWdzIikgewotICAgICAgICItZnNhbml0aXplPXNoaWZ0IiwKLSAgICAgICAiLWZzYW5pdGl6ZT1z aWduZWQtaW50ZWdlci1vdmVyZmxvdyIsCi0gICAgICAgIi1mc2FuaXRpemU9dmxhLWJvdW5kIiwK LS0gICAgICAiLWZzYW5pdGl6ZS1pZ25vcmVsaXN0PSR1YnNhbl9zZWN1cml0eV9pZ25vcmVsaXN0 X3BhdGgiLAotKyAgICAgICItZnNhbml0aXplLWJsYWNrbGlzdD0kdWJzYW5fc2VjdXJpdHlfYmxh Y2tsaXN0X3BhdGgiLAotICAgICBdCi0gICB9Ci0gfQotQEAgLTUxOCwxMyArNTE4LDEzIEBAIGNv bmZpZygidWJzYW5fbnVsbF9mbGFncyIpIHsKLSAKLSBjb25maWcoInVic2FuX3ZwdHJfZmxhZ3Mi KSB7Ci0gICBpZiAoaXNfdWJzYW5fdnB0cikgewotLSAgICBpZiAoIWRlZmluZWQodWJzYW5fdnB0 cl9pZ25vcmVsaXN0X3BhdGgpKSB7Ci0tICAgICAgdWJzYW5fdnB0cl9pZ25vcmVsaXN0X3BhdGgg PQotKyAgICBpZiAoIWRlZmluZWQodWJzYW5fdnB0cl9ibGFja2xpc3RfcGF0aCkpIHsKLSsgICAg ICB1YnNhbl92cHRyX2JsYWNrbGlzdF9wYXRoID0KLSAgICAgICAgICAgcmViYXNlX3BhdGgoIi8v dG9vbHMvdWJzYW4vdnB0cl9pZ25vcmVsaXN0LnR4dCIsIHJvb3RfYnVpbGRfZGlyKQotICAgICB9 Ci0gICAgIGNmbGFncyA9IFsKLSAgICAgICAiLWZzYW5pdGl6ZT12cHRyIiwKLS0gICAgICAiLWZz YW5pdGl6ZS1pZ25vcmVsaXN0PSR1YnNhbl92cHRyX2lnbm9yZWxpc3RfcGF0aCIsCi0rICAgICAg Ii1mc2FuaXRpemUtYmxhY2tsaXN0PSR1YnNhbl92cHRyX2JsYWNrbGlzdF9wYXRoIiwKLSAgICAg XQotICAgICBpZiAoIWlzX2NsYW5nKSB7Ci0gICAgICAgIyBDbGFuZyBzcGVjaWZpYyBmbGFnOgot LS0tIHF0Ni13ZWJlbmdpbmUtNi40LjIub3JpZy9zcmMvM3JkcGFydHkvY2hyb21pdW0vYnVpbGRf b3ZlcnJpZGVzL2J1aWxkLmduaQotKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL2J1aWxkX292ZXJyaWRlcy9idWlsZC5nbmkKLUBAIC00MywxNSArNDMsMTUgQEAg ZGVjbGFyZV9hcmdzKCkgewotICMgQWxsb3dzIGRpZmZlcmVudCBwcm9qZWN0cyB0byBzcGVjaWZ5 IHRoZWlyIG93biBzdXBwcmVzc2lvbi9pZ25vcmUgbGlzdHMgZm9yCi0gIyBzYW5pdGl6ZXIgdG9v bHMuCi0gIyBhc2FuX3N1cHByZXNzaW9uc19maWxlID0gInBhdGgvdG8vYXNhbl9zdXBwcmVzc2lv bnMuY2MiCi0tIyBhc2FuX3dpbl9pZ25vcmVsaXN0X3BhdGggPSAicGF0aC90by9hc2FuL2Jsb2Nr bGlzdF93aW4udHh0IgotKyMgYXNhbl93aW5fYmxhY2tsaXN0X3BhdGggPSAicGF0aC90by9hc2Fu L2Jsb2NrbGlzdF93aW4udHh0IgotICMgbHNhbl9zdXBwcmVzc2lvbnNfZmlsZSA9ICJwYXRoL3Rv L2xzYW5fc3VwcHJlc3Npb25zLmNjIgotICMgdHNhbl9zdXBwcmVzc2lvbnNfZmlsZSA9ICJwYXRo L3RvL3RzYW5fc3VwcHJlc3Npb25zLmNjIgotLSMgdHNhbl9pZ25vcmVsaXN0X3BhdGggPSAicGF0 aC90by90c2FuL2lnbm9yZXMudHh0IgotLSMgbXNhbl9pZ25vcmVsaXN0X3BhdGggPSAicGF0aC90 by9tc2FuL2lnbm9yZWxpc3QudHh0IgotLSMgdWJzYW5faWdub3JlbGlzdF9wYXRoID0gInBhdGgv dG8vdWJzYW4vaWdub3JlbGlzdC50eHQiCi0tIyB1YnNhbl92cHRyX2lnbm9yZWxpc3RfcGF0aCA9 ICJwYXRoL3RvL3Vic2FuL3ZwdHJfaWdub3JlbGlzdC50eHQiCi0tIyB1YnNhbl9zZWN1cml0eV9p Z25vcmVsaXN0X3BhdGggPSAicGF0aC90by91YnNhbi9zZWN1cml0eV9pZ25vcmVsaXN0LnR4dCIK LS0jIGNmaV9pZ25vcmVsaXN0X3BhdGggPSAicGF0aC90by9jZmkvaWdub3Jlcy50eHQiCi0rIyB0 c2FuX2JsYWNrbGlzdF9wYXRoID0gInBhdGgvdG8vdHNhbi9pZ25vcmVzLnR4dCIKLSsjIG1zYW5f YmxhY2tsaXN0X3BhdGggPSAicGF0aC90by9tc2FuL2JsYWNrbGlzdC50eHQiCi0rIyB1YnNhbl9i bGFja2xpc3RfcGF0aCA9ICJwYXRoL3RvL3Vic2FuL2JsYWNrbGlzdC50eHQiCi0rIyB1YnNhbl92 cHRyX2JsYWNrbGlzdF9wYXRoID0gInBhdGgvdG8vdWJzYW4vdnB0cl9ibGFja2xpc3QudHh0Igot KyMgdWJzYW5fc2VjdXJpdHlfYmxhY2tsaXN0X3BhdGggPSAicGF0aC90by91YnNhbi9zZWN1cml0 eV9ibGFja2xpc3QudHh0IgotKyMgY2ZpX2JsYWNrbGlzdF9wYXRoID0gInBhdGgvdG8vY2ZpL2ln bm9yZXMudHh0IgotIAotIGlmIChob3N0X29zID09ICJtYWMiIHx8IGlzX2FwcGxlKSB7Ci0gICAj IE5lZWRlZCBmb3IgaXNfYXBwbGUgd2hlbiB0YXJnZXRpbmcgbWFjT1Mgb3IgaU9TLCBpbmRlcGVu ZGVudCBvZiBob3N0LgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMv MDEwMS1jaHJvbWl1bS0xMDItZmVuY2VkX2ZyYW1lX3V0aWxzLWluY2x1ZGUucGF0Y2ggYi9zcmNw a2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTAxLWNocm9taXVtLTEwMi1mZW5jZWRfZnJhbWVf dXRpbHMtaW5jbHVkZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjQxYzc5 ODQ4NDBkLi4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMv MDEwMS1jaHJvbWl1bS0xMDItZmVuY2VkX2ZyYW1lX3V0aWxzLWluY2x1ZGUucGF0Y2gKKysrIC9k ZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi1Gcm9tIDdjMTM1YTI5MTE4NGI1OWE1OTY0M2VkNmE4 YzQwYjQ0MDVhYzAxNzUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBTdGVwaGFuIEhh cnRtYW5uIDxzdGhhMDlAZ29vZ2xlbWFpbC5jb20+Ci1EYXRlOiBXZWQsIDI3IEFwciAyMDIyIDE2 OjAxOjAxICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIElXWVU6IGFkZCBjc3RyaW5nIGZvciBzdGQ6 OnN0cmxlbiBpbiBmZW5jZWRfZnJhbWVfdXRpbHMKLQotLS0tCi0gdGhpcmRfcGFydHkvYmxpbmsv Y29tbW9uL2ZlbmNlZF9mcmFtZS9mZW5jZWRfZnJhbWVfdXRpbHMuY2MgfCAyICsrCi0gMSBmaWxl IGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQotCi0tLS0gcXQ2LXdlYmVuZ2luZS02LjQuMi5vcmln L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9ibGluay9jb21tb24vZmVuY2VkX2Zy YW1lL2ZlbmNlZF9mcmFtZV91dGlscy5jYwotKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JsaW5rL2NvbW1vbi9mZW5jZWRfZnJhbWUvZmVu Y2VkX2ZyYW1lX3V0aWxzLmNjCi1AQCAtNiw2ICs2LDggQEAKLSAKLSAjaW5jbHVkZSA8Y3N0cmlu Zz4KLSAKLSsjaW5jbHVkZSA8Y3N0cmluZz4KLSsKLSAjaW5jbHVkZSAiYmFzZS9ndWlkLmgiCi0g I2luY2x1ZGUgImJhc2Uvc3RyaW5ncy9zdHJpbmdfdXRpbC5oIgotIApkaWZmIC0tZ2l0IGEvc3Jj cGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwMi1jaHJvbWl1bS0xMDItcmVnZXhfcGF0dGVy bi1hcnJheS5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDItY2hyb21p dW0tMTAyLXJlZ2V4X3BhdHRlcm4tYXJyYXkucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDQyMGVmOTQxYTM4Ni4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvcXQ2LXdlYmVu Z2luZS9wYXRjaGVzLzAxMDItY2hyb21pdW0tMTAyLXJlZ2V4X3BhdHRlcm4tYXJyYXkucGF0Y2gK KysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi0tLS0gcXQ2LXdlYmVuZ2luZS02LjQuMi5v cmlnL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9jb21wb25lbnRzL2F1dG9maWxsL2NvcmUvYnJvd3Nl ci9CVUlMRC5nbgotKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5L2Nocm9taXVt L2NvbXBvbmVudHMvYXV0b2ZpbGwvY29yZS9icm93c2VyL0JVSUxELmduCi1AQCAtMzQsNiArMzQs MTEgQEAgYWN0aW9uKCJyZWdleF9wYXR0ZXJuc19pbmxfaCIpIHsKLSB9Ci0gCi0ganVtYm9fc3Rh dGljX2xpYnJhcnkoImJyb3dzZXIiKSB7Ci0rICBpZiAoaXNfY2xhbmcpIHsKLSsgICAgY2ZsYWdz ID0gWwotKyAgICAgICItZmJyYWNrZXQtZGVwdGg9MTAwMCIsCi0rICAgIF0KLSsgIH0KLSAgIHNv dXJjZXMgPSBbCi0gICAgICJhZGRyZXNzX25vcm1hbGl6YXRpb25fbWFuYWdlci5jYyIsCi0gICAg ICJhZGRyZXNzX25vcm1hbGl6YXRpb25fbWFuYWdlci5oIiwKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv cXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDMtY2hyb21pdW0taTY4Ni12YWFwaS1mcGVybWlzc2l2 ZS5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDMtY2hyb21pdW0taTY4 Ni12YWFwaS1mcGVybWlzc2l2ZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg NzA4ZDU2N2EwNGRjLi4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3Bh dGNoZXMvMDEwMy1jaHJvbWl1bS1pNjg2LXZhYXBpLWZwZXJtaXNzaXZlLnBhdGNoCisrKyAvZGV2 L251bGwKQEAgLTEsMjMgKzAsMCBAQAotLS0tIHF0Ni13ZWJlbmdpbmUtNi40LjIub3JpZy9zcmMv M3JkcGFydHkvY2hyb21pdW0vbWVkaWEvZ3B1L3ZhYXBpL0JVSUxELmduCi0rKysgcXQ2LXdlYmVu Z2luZS02LjQuMi9zcmMvM3JkcGFydHkvY2hyb21pdW0vbWVkaWEvZ3B1L3ZhYXBpL0JVSUxELmdu Ci1AQCAtMTQsNiArMTQsMTIgQEAgaW1wb3J0KCIvL3VpL2dsL2ZlYXR1cmVzLmduaSIpCi0gYXNz ZXJ0KGlzX2xpbnV4IHx8IGlzX2Nocm9tZW9zKQotIGFzc2VydCh1c2VfdmFhcGkpCi0gCi0rY29u ZmlnKCJ2YWFwaV9wZXJtaXNzaXZlIikgewotKyAgaWYgKHRhcmdldF9jcHUgPT0gIng4NiIpIHsK LSsgICAgY2ZsYWdzID0gWyAiLWZwZXJtaXNzaXZlIiBdCi0rICB9Ci0rfQotKwotIGdlbmVyYXRl X3N0dWJzKCJsaWJ2YV9zdHVicyIpIHsKLSAgIGV4dHJhX2hlYWRlciA9ICJ2YV9zdHViX2hlYWRl ci5mcmFnbWVudCIKLSAgIHNpZ3MgPSBbICJ2YS5zaWdzIiBdCi1AQCAtODksNiArOTUsNyBAQCBz b3VyY2Vfc2V0KCJ2YWFwaSIpIHsKLSAgIGNvbmZpZ3MgKz0gWwotICAgICAiLy9idWlsZC9jb25m aWcvbGludXgvbGlidmEiLAotICAgICAiLy90aGlyZF9wYXJ0eS9saWJ2cHg6bGlidnB4X2NvbmZp ZyIsCi0rICAgICI6dmFhcGlfcGVybWlzc2l2ZSIsCi0gICBdCi0gCi0gICBkZXBzID0gWwpkaWZm IC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwNC1jaHJvbWl1bS1saWJ4 bWwtdW5idW5kbGUucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTA0LWNo cm9taXVtLWxpYnhtbC11bmJ1bmRsZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggYmFjYTQ4NGFiYzRhLi4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9xdDYtd2ViZW5naW5l L3BhdGNoZXMvMDEwNC1jaHJvbWl1bS1saWJ4bWwtdW5idW5kbGUucGF0Y2gKKysrIC9kZXYvbnVs bApAQCAtMSwxMCArMCwwIEBACi0tLS0gcXQ2LXdlYmVuZ2luZS02LjQuMi5vcmlnL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS9idWlsZC9saW51eC91bmJ1bmRsZS9saWJ4bWwuZ24KLSsrKyBxdDYtd2Vi ZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9idWlsZC9saW51eC91bmJ1bmRsZS9s aWJ4bWwuZ24KLUBAIC0xOSw2ICsxOSw3IEBAIHN0YXRpY19saWJyYXJ5KCJsaWJ4bWxfdXRpbHMi KSB7Ci0gICAgICI6eG1sX3JlYWRlciIsCi0gICAgICI6eG1sX3dyaXRlciIsCi0gICAgICIvL2Jh c2UvdGVzdDp0ZXN0X3N1cHBvcnQiLAotKyAgICAiLy9zZXJ2aWNlcy9kYXRhX2RlY29kZXI6bGli IiwKLSAgICAgIi8vc2VydmljZXMvZGF0YV9kZWNvZGVyOnhtbF9wYXJzZXJfZnV6emVyX2RlcHMi LAotICAgXQotICAgc291cmNlcyA9IFsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2lu ZS9wYXRjaGVzLzAxMDctY2hyb21pdW0tY3Jvc3MtYnVpbGQucGF0Y2ggYi9zcmNwa2dzL3F0Ni13 ZWJlbmdpbmUvcGF0Y2hlcy8wMTA3LWNocm9taXVtLWNyb3NzLWJ1aWxkLnBhdGNoCmluZGV4IDQ0 OTU0ZGZiYjFlNS4uN2ZiZmFiY2Q3OWI3IDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni13ZWJlbmdp bmUvcGF0Y2hlcy8wMTA3LWNocm9taXVtLWNyb3NzLWJ1aWxkLnBhdGNoCisrKyBiL3NyY3BrZ3Mv cXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDctY2hyb21pdW0tY3Jvc3MtYnVpbGQucGF0Y2gKQEAg LTExLDEwICsxMSwxMCBAQAogICAgIyBOb3JtYWxseSwgQW5kcm9pZCBidWlsZHMgYXJlIGxpZ2h0 bHkgb3B0aW1pemVkLCBldmVuIGZvciBkZWJ1ZyBidWlsZHMsIHRvCiAgICAjIGtlZXAgYmluYXJ5 IHNpemUgZG93bi4gU2V0dGluZyB0aGlzIGZsYWcgdG8gdHJ1ZSBkaXNhYmxlcyBzdWNoIG9wdGlt aXphdGlvbgogICAgYW5kcm9pZF9mdWxsX2RlYnVnID0gZmFsc2UKLUBAIC05NzAsOCArOTc0LDEz IEBAIGNvbmZpZygiY29tcGlsZXJfY3B1X2FiaSIpIHsKLSAgICAgICB9CitAQCAtMTAwMyw4ICsx MDAzLDEzIEBACiAgICAgIH0gZWxzZSBpZiAoY3VycmVudF9jcHUgPT0gImFybTY0IikgewotICAg ICAgIGlmIChpc19jbGFuZyAmJiAhaXNfYW5kcm9pZCAmJiAhaXNfbmFjbCAmJiAhaXNfZnVjaHNp YSkgeworICAgICAgIGlmIChpc19jbGFuZyAmJiAhaXNfYW5kcm9pZCAmJiAhaXNfbmFjbCAmJiAh aXNfZnVjaHNpYSAmJgorICAgICAgICAgICAhKGlzX2Nocm9tZW9zX2xhY3JvcyAmJiBpc19jaHJv bWVvc19kZXZpY2UpKSB7CiAtICAgICAgICBjZmxhZ3MgKz0gWyAiLS10YXJnZXQ9YWFyY2g2NC1s aW51eC1nbnUiIF0KIC0gICAgICAgIGxkZmxhZ3MgKz0gWyAiLS10YXJnZXQ9YWFyY2g2NC1saW51 eC1nbnUiIF0KICsgICAgICAgIGlmIChpc19tdXNsKSB7CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0 Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTE3LWNocm9taXVtLW11c2wtcmVzb2x2ZXIucGF0Y2ggYi9z cmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTE3LWNocm9taXVtLW11c2wtcmVzb2x2ZXIu cGF0Y2gKaW5kZXggMTc2NTI0YWRjMDgzLi41ZjA5MGM4MTA1NzkgMTAwNjQ0Ci0tLSBhL3NyY3Br Z3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMTctY2hyb21pdW0tbXVzbC1yZXNvbHZlci5wYXRj aAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTE3LWNocm9taXVtLW11c2wt cmVzb2x2ZXIucGF0Y2gKQEAgLTI3LDE3ICsyNyw2IEBACiAgfQogIAogIGJvb2wgU2NvcGVkUmVz U3RhdGU6OklzVmFsaWQoKSBjb25zdCB7Ci0tLS0gcXQ2LXdlYmVuZ2luZS02LjQuMi5vcmlnL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS9uZXQvZG5zL2hvc3RfcmVzb2x2ZXJfbWFuYWdlci5jYwotKysr IHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL25ldC9kbnMvaG9zdF9y ZXNvbHZlcl9tYW5hZ2VyLmNjCi1AQCAtMzE1OCw3ICszMTU4LDcgQEAgSG9zdFJlc29sdmVyTWFu YWdlcjo6SG9zdFJlc29sdmVyTWFuYWdlcgotICAgaWYgKHN5c3RlbV9kbnNfY29uZmlnX25vdGlm aWVyXykKLSAgICAgc3lzdGVtX2Ruc19jb25maWdfbm90aWZpZXJfLT5BZGRPYnNlcnZlcih0aGlz KTsKLSAjaWYgQlVJTERGTEFHKElTX1BPU0lYKSAmJiAhQlVJTERGTEFHKElTX0FQUExFKSAmJiAh QlVJTERGTEFHKElTX09QRU5CU0QpICYmIFwKLS0gICAgIUJVSUxERkxBRyhJU19BTkRST0lEKQot KyAgICAhQlVJTERGTEFHKElTX0FORFJPSUQpICYmICEoQlVJTERGTEFHKElTX0xJTlVYKSAmJiAh ZGVmaW5lZChfX0dMSUJDX18pKQotICAgRW5zdXJlRG5zUmVsb2FkZXJJbml0KCk7Ci0gI2VuZGlm Ci0gCiAtLS0gcXQ2LXdlYmVuZ2luZS02LjQuMi5vcmlnL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9u ZXQvZG5zL2Ruc19yZWxvYWRlci5jYwogKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBh cnR5L2Nocm9taXVtL25ldC9kbnMvZG5zX3JlbG9hZGVyLmNjCiBAQCAtNyw3ICs3LDggQEAKQEAg LTUwLDggKzM5LDE4IEBACiAgCiAgI2luY2x1ZGUgPHJlc29sdi5oPgogIAotLS0tIHF0Ni13ZWJl bmdpbmUtNi40LjIub3JpZy9zcmMvM3JkcGFydHkvY2hyb21pdW0vbmV0L2Rucy9ob3N0X3Jlc29s dmVyX3Byb2MuY2MKLSsrKyBxdDYtd2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS9uZXQvZG5zL2hvc3RfcmVzb2x2ZXJfcHJvYy5jYworLS0tIHF0Ni13ZWJlbmdpbmUtNi40LjIu b3JpZy9zcmMvM3JkcGFydHkvY2hyb21pdW0vbmV0L2Rucy9ob3N0X3Jlc29sdmVyX3N5c3RlbV90 YXNrLmNjCisrKysgcXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3JkcGFydHkvY2hyb21pdW0vbmV0 L2Rucy9ob3N0X3Jlc29sdmVyX3N5c3RlbV90YXNrLmNjCitAQCAtMzEwLDggKzMxMCw3IEBACisg fQorIAorIHZvaWQgRW5zdXJlU3lzdGVtSG9zdFJlc29sdmVyQ2FsbFJlYWR5KCkgeworLSNpZiBC VUlMREZMQUcoSVNfUE9TSVgpICYmICFCVUlMREZMQUcoSVNfQVBQTEUpICYmICFCVUlMREZMQUco SVNfT1BFTkJTRCkgJiYgXAorLSAgICAhQlVJTERGTEFHKElTX0FORFJPSUQpCisrI2lmIGRlZmlu ZWQoX19HTElCQ19fKQorICAgRW5zdXJlRG5zUmVsb2FkZXJJbml0KCk7CisgI2VsaWYgQlVJTERG TEFHKElTX1dJTikKKyAgIEVuc3VyZVdpbnNvY2tJbml0KCk7CiBAQCAtMTkyLDcgKzE5Miw4IEBA IGludCBTeXN0ZW1Ib3N0UmVzb2x2ZXJDYWxsKGNvbnN0IHN0ZDo6c3QKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXNlOjpCbG9ja2luZ1R5cGU6OldJ TExfQkxPQ0spOwogIApkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMv MDEyNC1jaHJvbWl1bS1lbmFibGUtaTY4Ni5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9w YXRjaGVzLzAxMjQtY2hyb21pdW0tZW5hYmxlLWk2ODYucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDExZDhkZTdjMjNmOC4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvcXQ2 LXdlYmVuZ2luZS9wYXRjaGVzLzAxMjQtY2hyb21pdW0tZW5hYmxlLWk2ODYucGF0Y2gKKysrIC9k ZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi0tLS0gcXQ2LXdlYmVuZ2luZS02LjQuMi5vcmlnL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS9CVUlMRC5nbgotKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL0JVSUxELmduCi1AQCAtMTUzNywxNCArMTUzNyw2IEBAIGlmICgh aXNfaW9zICYmICF1c2VfcXQpIHsKLSAgIH0KLSB9Ci0gCi0tIyBUT0RPKGNhc3Nldyk6IEFkZCBt b3JlIE9TJ3MgdGhhdCBkb24ndCBzdXBwb3J0IHg4Ni4KLS1pc192YWxpZF94ODZfdGFyZ2V0ID0K LS0gICAgdGFyZ2V0X29zICE9ICJpb3MiICYmIHRhcmdldF9vcyAhPSAibWFjIiAmJgotLSAgICAo dGFyZ2V0X29zICE9ICJsaW51eCIgfHwgdXNlX2xpYmZ1enplciB8fCAhYnVpbGRfd2l0aF9jaHJv bWl1bSkKLS1hc3NlcnQoCi0tICAgIGlzX3ZhbGlkX3g4Nl90YXJnZXQgfHwgdGFyZ2V0X2NwdSAh PSAieDg2IiwKLS0gICAgIid0YXJnZXRfY3B1PXg4NicgaXMgbm90IHN1cHBvcnRlZCBmb3IgJ3Rh cmdldF9vcz0kdGFyZ2V0X29zJy4gQ29uc2lkZXIgb21pdHRpbmcgJ3RhcmdldF9jcHUnIChkZWZh dWx0KSBvciB1c2luZyAndGFyZ2V0X2NwdT14NjQnIGluc3RlYWQuIikKLS0KLSBncm91cCgiY2hy b21pdW1fYnVpbGRlcl9wZXJmIikgewotICAgdGVzdG9ubHkgPSB0cnVlCi0gCmRpZmYgLS1naXQg YS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTI5LWNocm9taXVtLXNhbmRib3gtc2hl ZF9nZXRwYXJhbS5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMjktY2hy b21pdW0tc2FuZGJveC1zaGVkX2dldHBhcmFtLnBhdGNoCmluZGV4IDgwZDkxYzc3ZThiYS4uMzFm NDAzYmMxMGZlIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTI5 LWNocm9taXVtLXNhbmRib3gtc2hlZF9nZXRwYXJhbS5wYXRjaAorKysgYi9zcmNwa2dzL3F0Ni13 ZWJlbmdpbmUvcGF0Y2hlcy8wMTI5LWNocm9taXVtLXNhbmRib3gtc2hlZF9nZXRwYXJhbS5wYXRj aApAQCAtMSwyMCArMSwxNSBAQAogQWxsb3cgU1lTX3NjaGVkX2dldHBhcmFtIGFuZCBTWVNfc2No ZWRfZ2V0c2NoZWR1bGVyCiBtdXNsIHVzZXMgdGhlbSBmb3IgcHRocmVhZF9nZXRzY2hlZHBhcmFt KCkKIAotc291cmNlOiBodHRwczovL2dpdC5hbHBpbmVsaW51eC5vcmcvYXBvcnRzL2NvbW1pdC9j b21tdW5pdHkvY2hyb21pdW0/aWQ9NTRhZjlmOGFjMjRmNTJkMzgyYzU3NThlMjQ0NWJmMDIwNmVm ZjQwZQotCi0tLS0gcXQ2LXdlYmVuZ2luZS02LjQuMi5vcmlnL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS9zYW5kYm94L3BvbGljeS9saW51eC9icGZfcmVuZGVyZXJfcG9saWN5X2xpbnV4LmNjCi0rKysg cXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9wb2xpY3kv bGludXgvYnBmX3JlbmRlcmVyX3BvbGljeV9saW51eC5jYwotQEAgLTk3LDEwICs5NywxMCBAQCBS ZXN1bHRFeHByIFJlbmRlcmVyUHJvY2Vzc1BvbGljeTo6RXZhbHVhCistLS0gYS9zcmMvM3JkcGFy dHkvY2hyb21pdW0vc2FuZGJveC9wb2xpY3kvbGludXgvYnBmX3JlbmRlcmVyX3BvbGljeV9saW51 eC5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvcG9saWN5L2xpbnV4L2Jw Zl9yZW5kZXJlcl9wb2xpY3lfbGludXguY2MKK0BAIC05NCw2ICs5NCw5IEBACisgICAgIGNhc2Ug X19OUl9wd3JpdGU2NDoKKyAgICAgY2FzZSBfX05SX3NjaGVkX2dldF9wcmlvcml0eV9tYXg6Cisg ICAgIGNhc2UgX19OUl9zY2hlZF9nZXRfcHJpb3JpdHlfbWluOgorKyAgICBjYXNlIF9fTlJfc2No ZWRfZ2V0cGFyYW06CisrICAgIGNhc2UgX19OUl9zY2hlZF9nZXRzY2hlZHVsZXI6CisrICAgIGNh c2UgX19OUl9zY2hlZF9zZXRzY2hlZHVsZXI6CiAgICAgIGNhc2UgX19OUl9zeXNpbmZvOgogICAg ICBjYXNlIF9fTlJfdGltZXM6CiAgICAgIGNhc2UgX19OUl91bmFtZToKLS0gICAgICByZXR1cm4g QWxsb3coKTsKLS0gICAgY2FzZSBfX05SX3NjaGVkX2dldGFmZmluaXR5OgotICAgICBjYXNlIF9f TlJfc2NoZWRfZ2V0cGFyYW06Ci0gICAgIGNhc2UgX19OUl9zY2hlZF9nZXRzY2hlZHVsZXI6Ci0r ICAgICAgcmV0dXJuIEFsbG93KCk7Ci0rICAgIGNhc2UgX19OUl9zY2hlZF9nZXRhZmZpbml0eToK LSAgICAgY2FzZSBfX05SX3NjaGVkX3NldHNjaGVkdWxlcjoKLSAgICAgICByZXR1cm4gUmVzdHJp Y3RTY2hlZFRhcmdldChHZXRQb2xpY3lQaWQoKSwgc3lzbm8pOwotICAgICBjYXNlIF9fTlJfcHJs aW1pdDY0OgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDE1NS1z eXN0eXBlcy5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxNTUtc3lzdHlw ZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5mNGU3MWU5 MzljZDEKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8w MTU1LXN5c3R5cGVzLnBhdGNoCkBAIC0wLDAgKzEsMTEgQEAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS9iYXNlL3RoaXJkX3BhcnR5L3N5bWJvbGl6ZS9zeW1ib2xpemUuaAorKysrIGIvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL2Jhc2UvdGhpcmRfcGFydHkvc3ltYm9saXplL3N5bWJvbGl6ZS5o CitAQCAtNTgsNiArNTgsOCBAQAorICNpbmNsdWRlICJjb25maWcuaCIKKyAjaW5jbHVkZSAiZ2xv Zy9sb2dnaW5nLmgiCisgCisrI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorKworICNpZmRlZiBIQVZF X1NZTUJPTElaRQorIAorICNpZiBkZWZpbmVkKF9fRUxGX18pICAvLyBkZWZpbmVkIGJ5IGdjYwpk aWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIwMC1jaHJvbWl1bS1z bmRpby5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMDAtY2hyb21pdW0t c25kaW8ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ3NjliNTMxNDk3Yi4u MDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMDAtY2hy b21pdW0tc25kaW8ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw4NDkgKzAsMCBAQAotLS0tIHF0 Ni13ZWJlbmdpbmUtNi40LjIub3JpZy9zcmMvM3JkcGFydHkvY2hyb21pdW0vbWVkaWEvQlVJTEQu Z24KLSsrKyBxdDYtd2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9tZWRpYS9C VUlMRC5nbgotQEAgLTc4LDYgKzc4LDkgQEAgY29uZmlnKCJtZWRpYV9jb25maWciKSB7Ci0gICAg ICAgZGVmaW5lcyArPSBbICJETE9QRU5fUFVMU0VBVURJTyIgXQotICAgICB9Ci0gICB9Ci0rICBp ZiAodXNlX3NuZGlvKSB7Ci0rICAgIGRlZmluZXMgKz0gWyAiVVNFX1NORElPIiBdCi0rICB9Ci0g ICBpZiAodXNlX2NyYXMpIHsKLSAgICAgZGVmaW5lcyArPSBbICJVU0VfQ1JBUyIgXQotICAgfQot LS0tIHF0Ni13ZWJlbmdpbmUtNi40LjIub3JpZy9zcmMvM3JkcGFydHkvY2hyb21pdW0vbWVkaWEv YXVkaW8vQlVJTEQuZ24KLSsrKyBxdDYtd2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS9tZWRpYS9hdWRpby9CVUlMRC5nbgotQEAgLTI0NSw2ICsyNDUsMTcgQEAgc291cmNlX3Nl dCgiYXVkaW8iKSB7Ci0gICAgIHNvdXJjZXMgKz0gWyAibGludXgvYXVkaW9fbWFuYWdlcl9saW51 eC5jYyIgXQotICAgfQotIAotKyAgaWYgKHVzZV9zbmRpbykgewotKyAgICBsaWJzICs9IFsgInNu ZGlvIiBdCi0rICAgIHNvdXJjZXMgKz0gWwotKyAgICAgICJzbmRpby9hdWRpb19tYW5hZ2VyX3Nu ZGlvLmNjIiwKLSsgICAgICAic25kaW8vc25kaW9faW5wdXQuY2MiLAotKyAgICAgICJzbmRpby9z bmRpb19pbnB1dC5oIiwKLSsgICAgICAic25kaW8vc25kaW9fb3V0cHV0LmNjIiwKLSsgICAgICAi c25kaW8vc25kaW9fb3V0cHV0LmgiCi0rICAgIF0KLSsgIH0KLSsKLSAgIGlmICh1c2VfYWxzYSkg ewotICAgICBsaWJzICs9IFsgImFzb3VuZCIgXQotICAgICBzb3VyY2VzICs9IFsKLS0tLSBxdDYt d2ViZW5naW5lLTYuNC4yLm9yaWcvc3JjLzNyZHBhcnR5L2Nocm9taXVtL21lZGlhL2F1ZGlvL2xp bnV4L2F1ZGlvX21hbmFnZXJfbGludXguY2MKLSsrKyBxdDYtd2ViZW5naW5lLTYuNC4yL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS9tZWRpYS9hdWRpby9saW51eC9hdWRpb19tYW5hZ2VyX2xpbnV4LmNj Ci1AQCAtMjUsNiArMjUsMTEgQEAKLSAjaW5jbHVkZSAibWVkaWEvYXVkaW8vcHVsc2UvYXVkaW9f bWFuYWdlcl9wdWxzZS5oIgotICNpbmNsdWRlICJtZWRpYS9hdWRpby9wdWxzZS9wdWxzZV91dGls LmgiCi0gI2VuZGlmCi0rI2lmIGRlZmluZWQoVVNFX1NORElPKQotKyNpbmNsdWRlICJtZWRpYS9h dWRpby9zbmRpby9hdWRpb19tYW5hZ2VyX3NuZGlvLmgiCi0rI2luY2x1ZGUgIm1lZGlhL2F1ZGlv L3NuZGlvL3NuZGlvX2lucHV0LmgiCi0rI2luY2x1ZGUgIm1lZGlhL2F1ZGlvL3NuZGlvL3NuZGlv X291dHB1dC5oIgotKyNlbmRpZgotIAotIG5hbWVzcGFjZSBtZWRpYSB7Ci0gCi0tLS0gL2Rldi9u dWxsCi0rKysgcXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3JkcGFydHkvY2hyb21pdW0vbWVkaWEv YXVkaW8vc25kaW8vYXVkaW9fbWFuYWdlcl9zbmRpby5jYwotQEAgLTAsMCArMSwxNDggQEAKLSsv LyBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVz ZXJ2ZWQuCi0rLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qt c3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotKy8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUu Ci0rCi0rI2luY2x1ZGUgIm1lZGlhL2F1ZGlvL3NuZGlvL2F1ZGlvX21hbmFnZXJfc25kaW8uaCIK LSsKLSsjaW5jbHVkZSAiYmFzZS9tZXRyaWNzL2hpc3RvZ3JhbV9tYWNyb3MuaCIKLSsjaW5jbHVk ZSAiYmFzZS9tZW1vcnkvcHRyX3V0aWwuaCIKLSsjaW5jbHVkZSAibWVkaWEvYXVkaW8vYXVkaW9f ZGV2aWNlX2Rlc2NyaXB0aW9uLmgiCi0rI2luY2x1ZGUgIm1lZGlhL2F1ZGlvL2F1ZGlvX291dHB1 dF9kaXNwYXRjaGVyLmgiCi0rI2luY2x1ZGUgIm1lZGlhL2F1ZGlvL3NuZGlvL3NuZGlvX2lucHV0 LmgiCi0rI2luY2x1ZGUgIm1lZGlhL2F1ZGlvL3NuZGlvL3NuZGlvX291dHB1dC5oIgotKyNpbmNs dWRlICJtZWRpYS9iYXNlL2xpbWl0cy5oIgotKyNpbmNsdWRlICJtZWRpYS9iYXNlL21lZGlhX3N3 aXRjaGVzLmgiCi0rCi0rbmFtZXNwYWNlIG1lZGlhIHsKLSsKLSsKLSsvLyBNYXhpbXVtIG51bWJl ciBvZiBvdXRwdXQgc3RyZWFtcyB0aGF0IGNhbiBiZSBvcGVuIHNpbXVsdGFuZW91c2x5LgotK3N0 YXRpYyBjb25zdCBpbnQga01heE91dHB1dFN0cmVhbXMgPSA0OwotKwotKy8vIERlZmF1bHQgc2Ft cGxlIHJhdGUgZm9yIGlucHV0IGFuZCBvdXRwdXQgc3RyZWFtcy4KLStzdGF0aWMgY29uc3QgaW50 IGtEZWZhdWx0U2FtcGxlUmF0ZSA9IDQ4MDAwOwotKwotK3ZvaWQgQWRkRGVmYXVsdERldmljZShB dWRpb0RldmljZU5hbWVzKiBkZXZpY2VfbmFtZXMpIHsKLSsgIERDSEVDSyhkZXZpY2VfbmFtZXMt PmVtcHR5KCkpOwotKyAgZGV2aWNlX25hbWVzLT5wdXNoX2Zyb250KEF1ZGlvRGV2aWNlTmFtZTo6 Q3JlYXRlRGVmYXVsdCgpKTsKLSt9Ci0rCi0rYm9vbCBBdWRpb01hbmFnZXJTbmRpbzo6SGFzQXVk aW9PdXRwdXREZXZpY2VzKCkgewotKyAgcmV0dXJuIHRydWU7Ci0rfQotKwotK2Jvb2wgQXVkaW9N YW5hZ2VyU25kaW86Okhhc0F1ZGlvSW5wdXREZXZpY2VzKCkgewotKyAgcmV0dXJuIHRydWU7Ci0r fQotKwotK3ZvaWQgQXVkaW9NYW5hZ2VyU25kaW86OkdldEF1ZGlvSW5wdXREZXZpY2VOYW1lcygK LSsgICAgQXVkaW9EZXZpY2VOYW1lcyogZGV2aWNlX25hbWVzKSB7Ci0rICBEQ0hFQ0soZGV2aWNl X25hbWVzLT5lbXB0eSgpKTsKLSsgIEFkZERlZmF1bHREZXZpY2UoZGV2aWNlX25hbWVzKTsKLSt9 Ci0rCi0rdm9pZCBBdWRpb01hbmFnZXJTbmRpbzo6R2V0QXVkaW9PdXRwdXREZXZpY2VOYW1lcygK LSsgICAgQXVkaW9EZXZpY2VOYW1lcyogZGV2aWNlX25hbWVzKSB7Ci0rICBBZGREZWZhdWx0RGV2 aWNlKGRldmljZV9uYW1lcyk7Ci0rfQotKwotK2NvbnN0IGNoYXIqIEF1ZGlvTWFuYWdlclNuZGlv OjpHZXROYW1lKCkgewotKyAgcmV0dXJuICJTTkRJTyI7Ci0rfQotKwotK0F1ZGlvUGFyYW1ldGVy cyBBdWRpb01hbmFnZXJTbmRpbzo6R2V0SW5wdXRTdHJlYW1QYXJhbWV0ZXJzKAotKyAgICBjb25z dCBzdGQ6OnN0cmluZyYgZGV2aWNlX2lkKSB7Ci0rICBzdGF0aWMgY29uc3QgaW50IGtEZWZhdWx0 SW5wdXRCdWZmZXJTaXplID0gMTAyNDsKLSsKLSsgIGludCB1c2VyX2J1ZmZlcl9zaXplID0gR2V0 VXNlckJ1ZmZlclNpemUoKTsKLSsgIGludCBidWZmZXJfc2l6ZSA9IHVzZXJfYnVmZmVyX3NpemUg PwotKyAgICAgIHVzZXJfYnVmZmVyX3NpemUgOiBrRGVmYXVsdElucHV0QnVmZmVyU2l6ZTsKLSsK LSsgIHJldHVybiBBdWRpb1BhcmFtZXRlcnMoCi0rICAgICAgQXVkaW9QYXJhbWV0ZXJzOjpBVURJ T19QQ01fTE9XX0xBVEVOQ1ksIENIQU5ORUxfTEFZT1VUX1NURVJFTywKLSsgICAgICBrRGVmYXVs dFNhbXBsZVJhdGUsIGJ1ZmZlcl9zaXplKTsKLSt9Ci0rCi0rQXVkaW9NYW5hZ2VyU25kaW86OkF1 ZGlvTWFuYWdlclNuZGlvKHN0ZDo6dW5pcXVlX3B0cjxBdWRpb1RocmVhZD4gYXVkaW9fdGhyZWFk LAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXVkaW9Mb2dGYWN0 b3J5KiBhdWRpb19sb2dfZmFjdG9yeSkKLSsgICAgOiBBdWRpb01hbmFnZXJCYXNlKHN0ZDo6bW92 ZShhdWRpb190aHJlYWQpLAotKyAgICAgICAgICAgICAgICAgICAgICAgYXVkaW9fbG9nX2ZhY3Rv cnkpIHsKLSsgIERMT0coV0FSTklORykgPDwgIkF1ZGlvTWFuYWdlclNuZGlvIjsKLSsgIFNldE1h eE91dHB1dFN0cmVhbXNBbGxvd2VkKGtNYXhPdXRwdXRTdHJlYW1zKTsKLSt9Ci0rCi0rQXVkaW9N YW5hZ2VyU25kaW86On5BdWRpb01hbmFnZXJTbmRpbygpIHsKLSsgIFNodXRkb3duKCk7Ci0rfQot KwotK0F1ZGlvT3V0cHV0U3RyZWFtKiBBdWRpb01hbmFnZXJTbmRpbzo6TWFrZUxpbmVhck91dHB1 dFN0cmVhbSgKLSsgICAgY29uc3QgQXVkaW9QYXJhbWV0ZXJzJiBwYXJhbXMsCi0rICAgIGNvbnN0 IExvZ0NhbGxiYWNrJiBsb2dfY2FsbGJhY2spIHsKLSsgIERDSEVDS19FUShBdWRpb1BhcmFtZXRl cnM6OkFVRElPX1BDTV9MSU5FQVIsIHBhcmFtcy5mb3JtYXQoKSk7Ci0rICByZXR1cm4gTWFrZU91 dHB1dFN0cmVhbShwYXJhbXMpOwotK30KLSsKLStBdWRpb091dHB1dFN0cmVhbSogQXVkaW9NYW5h Z2VyU25kaW86Ok1ha2VMb3dMYXRlbmN5T3V0cHV0U3RyZWFtKAotKyAgICBjb25zdCBBdWRpb1Bh cmFtZXRlcnMmIHBhcmFtcywKLSsgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGRldmljZV9pZCwKLSsg ICAgY29uc3QgTG9nQ2FsbGJhY2smIGxvZ19jYWxsYmFjaykgewotKyAgRExPR19JRihFUlJPUiwg IWRldmljZV9pZC5lbXB0eSgpKSA8PCAiTm90IGltcGxlbWVudGVkISI7Ci0rICBEQ0hFQ0tfRVEo QXVkaW9QYXJhbWV0ZXJzOjpBVURJT19QQ01fTE9XX0xBVEVOQ1ksIHBhcmFtcy5mb3JtYXQoKSk7 Ci0rICByZXR1cm4gTWFrZU91dHB1dFN0cmVhbShwYXJhbXMpOwotK30KLSsKLStBdWRpb0lucHV0 U3RyZWFtKiBBdWRpb01hbmFnZXJTbmRpbzo6TWFrZUxpbmVhcklucHV0U3RyZWFtKAotKyAgICBj b25zdCBBdWRpb1BhcmFtZXRlcnMmIHBhcmFtcywKLSsgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGRl dmljZV9pZCwKLSsgICAgY29uc3QgTG9nQ2FsbGJhY2smIGxvZ19jYWxsYmFjaykgewotKyAgRENI RUNLX0VRKEF1ZGlvUGFyYW1ldGVyczo6QVVESU9fUENNX0xJTkVBUiwgcGFyYW1zLmZvcm1hdCgp KTsKLSsgIHJldHVybiBNYWtlSW5wdXRTdHJlYW0ocGFyYW1zKTsKLSt9Ci0rCi0rQXVkaW9JbnB1 dFN0cmVhbSogQXVkaW9NYW5hZ2VyU25kaW86Ok1ha2VMb3dMYXRlbmN5SW5wdXRTdHJlYW0oCi0r ICAgIGNvbnN0IEF1ZGlvUGFyYW1ldGVycyYgcGFyYW1zLAotKyAgICBjb25zdCBzdGQ6OnN0cmlu ZyYgZGV2aWNlX2lkLAotKyAgICBjb25zdCBMb2dDYWxsYmFjayYgbG9nX2NhbGxiYWNrKSB7Ci0r ICBEQ0hFQ0tfRVEoQXVkaW9QYXJhbWV0ZXJzOjpBVURJT19QQ01fTE9XX0xBVEVOQ1ksIHBhcmFt cy5mb3JtYXQoKSk7Ci0rICByZXR1cm4gTWFrZUlucHV0U3RyZWFtKHBhcmFtcyk7Ci0rfQotKwot K0F1ZGlvUGFyYW1ldGVycyBBdWRpb01hbmFnZXJTbmRpbzo6R2V0UHJlZmVycmVkT3V0cHV0U3Ry ZWFtUGFyYW1ldGVycygKLSsgICAgY29uc3Qgc3RkOjpzdHJpbmcmIG91dHB1dF9kZXZpY2VfaWQs Ci0rICAgIGNvbnN0IEF1ZGlvUGFyYW1ldGVycyYgaW5wdXRfcGFyYW1zKSB7Ci0rICAvLyBUT0RP KHRvbW1pKTogU3VwcG9ydCB8b3V0cHV0X2RldmljZV9pZHwuCi0rICBETE9HX0lGKEVSUk9SLCAh b3V0cHV0X2RldmljZV9pZC5lbXB0eSgpKSA8PCAiTm90IGltcGxlbWVudGVkISI7Ci0rICBzdGF0 aWMgY29uc3QgaW50IGtEZWZhdWx0T3V0cHV0QnVmZmVyU2l6ZSA9IDIwNDg7Ci0rCi0rICBDaGFu bmVsTGF5b3V0IGNoYW5uZWxfbGF5b3V0ID0gQ0hBTk5FTF9MQVlPVVRfU1RFUkVPOwotKyAgaW50 IHNhbXBsZV9yYXRlID0ga0RlZmF1bHRTYW1wbGVSYXRlOwotKyAgaW50IGJ1ZmZlcl9zaXplID0g a0RlZmF1bHRPdXRwdXRCdWZmZXJTaXplOwotKyAgaWYgKGlucHV0X3BhcmFtcy5Jc1ZhbGlkKCkp IHsKLSsgICAgc2FtcGxlX3JhdGUgPSBpbnB1dF9wYXJhbXMuc2FtcGxlX3JhdGUoKTsKLSsgICAg Y2hhbm5lbF9sYXlvdXQgPSBpbnB1dF9wYXJhbXMuY2hhbm5lbF9sYXlvdXQoKTsKLSsgICAgYnVm ZmVyX3NpemUgPSBzdGQ6Om1pbihidWZmZXJfc2l6ZSwgaW5wdXRfcGFyYW1zLmZyYW1lc19wZXJf YnVmZmVyKCkpOwotKyAgfQotKwotKyAgaW50IHVzZXJfYnVmZmVyX3NpemUgPSBHZXRVc2VyQnVm ZmVyU2l6ZSgpOwotKyAgaWYgKHVzZXJfYnVmZmVyX3NpemUpCi0rICAgIGJ1ZmZlcl9zaXplID0g dXNlcl9idWZmZXJfc2l6ZTsKLSsKLSsgIHJldHVybiBBdWRpb1BhcmFtZXRlcnMoCi0rICAgICAg QXVkaW9QYXJhbWV0ZXJzOjpBVURJT19QQ01fTE9XX0xBVEVOQ1ksIGNoYW5uZWxfbGF5b3V0LAot KyAgICAgIHNhbXBsZV9yYXRlLCBidWZmZXJfc2l6ZSk7Ci0rfQotKwotK0F1ZGlvSW5wdXRTdHJl YW0qIEF1ZGlvTWFuYWdlclNuZGlvOjpNYWtlSW5wdXRTdHJlYW0oCi0rICAgIGNvbnN0IEF1ZGlv UGFyYW1ldGVycyYgcGFyYW1zKSB7Ci0rICBETE9HKFdBUk5JTkcpIDw8ICJNYWtlSW5wdXRTdHJl YW0iOwotKyAgcmV0dXJuIG5ldyBTbmRpb0F1ZGlvSW5wdXRTdHJlYW0odGhpcywKLSsgICAgICAg ICAgICAgQXVkaW9EZXZpY2VEZXNjcmlwdGlvbjo6a0RlZmF1bHREZXZpY2VJZCwgcGFyYW1zKTsK LSt9Ci0rCi0rQXVkaW9PdXRwdXRTdHJlYW0qIEF1ZGlvTWFuYWdlclNuZGlvOjpNYWtlT3V0cHV0 U3RyZWFtKAotKyAgICBjb25zdCBBdWRpb1BhcmFtZXRlcnMmIHBhcmFtcykgewotKyAgRExPRyhX QVJOSU5HKSA8PCAiTWFrZU91dHB1dFN0cmVhbSI7Ci0rICByZXR1cm4gbmV3IFNuZGlvQXVkaW9P dXRwdXRTdHJlYW0ocGFyYW1zLCB0aGlzKTsKLSt9Ci0rCi0rfSAgLy8gbmFtZXNwYWNlIG1lZGlh Ci0tLS0gL2Rldi9udWxsCi0rKysgcXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3JkcGFydHkvY2hy b21pdW0vbWVkaWEvYXVkaW8vc25kaW8vYXVkaW9fbWFuYWdlcl9zbmRpby5oCi1AQCAtMCwwICsx LDY1IEBACi0rLy8gQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwg cmlnaHRzIHJlc2VydmVkLgotKy8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVk IGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLSsvLyBmb3VuZCBpbiB0aGUgTElD RU5TRSBmaWxlLgotKwotKyNpZm5kZWYgTUVESUFfQVVESU9fU05ESU9fQVVESU9fTUFOQUdFUl9T TkRJT19IXwotKyNkZWZpbmUgTUVESUFfQVVESU9fU05ESU9fQVVESU9fTUFOQUdFUl9TTkRJT19I XwotKwotKyNpbmNsdWRlIDxzZXQ+Ci0rCi0rI2luY2x1ZGUgImJhc2UvY29tcGlsZXJfc3BlY2lm aWMuaCIKLSsjaW5jbHVkZSAiYmFzZS9tYWNyb3MuaCIKLSsjaW5jbHVkZSAiYmFzZS9tZW1vcnkv cmVmX2NvdW50ZWQuaCIKLSsjaW5jbHVkZSAiYmFzZS90aHJlYWRpbmcvdGhyZWFkLmgiCi0rI2lu Y2x1ZGUgIm1lZGlhL2F1ZGlvL2F1ZGlvX21hbmFnZXJfYmFzZS5oIgotKwotK25hbWVzcGFjZSBt ZWRpYSB7Ci0rCi0rY2xhc3MgTUVESUFfRVhQT1JUIEF1ZGlvTWFuYWdlclNuZGlvIDogcHVibGlj IEF1ZGlvTWFuYWdlckJhc2UgewotKyBwdWJsaWM6Ci0rICBBdWRpb01hbmFnZXJTbmRpbyhzdGQ6 OnVuaXF1ZV9wdHI8QXVkaW9UaHJlYWQ+IGF1ZGlvX3RocmVhZCwKLSsgICAgICAgICAgICAgICAg ICAgQXVkaW9Mb2dGYWN0b3J5KiBhdWRpb19sb2dfZmFjdG9yeSk7Ci0rICB+QXVkaW9NYW5hZ2Vy U25kaW8oKSBvdmVycmlkZTsKLSsKLSsgIC8vIEltcGxlbWVudGF0aW9uIG9mIEF1ZGlvTWFuYWdl ci4KLSsgIGJvb2wgSGFzQXVkaW9PdXRwdXREZXZpY2VzKCkgb3ZlcnJpZGU7Ci0rICBib29sIEhh c0F1ZGlvSW5wdXREZXZpY2VzKCkgb3ZlcnJpZGU7Ci0rICB2b2lkIEdldEF1ZGlvSW5wdXREZXZp Y2VOYW1lcyhBdWRpb0RldmljZU5hbWVzKiBkZXZpY2VfbmFtZXMpIG92ZXJyaWRlOwotKyAgdm9p ZCBHZXRBdWRpb091dHB1dERldmljZU5hbWVzKEF1ZGlvRGV2aWNlTmFtZXMqIGRldmljZV9uYW1l cykgb3ZlcnJpZGU7Ci0rICBBdWRpb1BhcmFtZXRlcnMgR2V0SW5wdXRTdHJlYW1QYXJhbWV0ZXJz KAotKyAgICAgIGNvbnN0IHN0ZDo6c3RyaW5nJiBkZXZpY2VfaWQpIG92ZXJyaWRlOwotKyAgY29u c3QgY2hhciogR2V0TmFtZSgpIG92ZXJyaWRlOwotKwotKyAgLy8gSW1wbGVtZW50YXRpb24gb2Yg QXVkaW9NYW5hZ2VyQmFzZS4KLSsgIEF1ZGlvT3V0cHV0U3RyZWFtKiBNYWtlTGluZWFyT3V0cHV0 U3RyZWFtKAotKyAgICAgIGNvbnN0IEF1ZGlvUGFyYW1ldGVycyYgcGFyYW1zLAotKyAgICAgIGNv bnN0IExvZ0NhbGxiYWNrJiBsb2dfY2FsbGJhY2spIG92ZXJyaWRlOwotKyAgQXVkaW9PdXRwdXRT dHJlYW0qIE1ha2VMb3dMYXRlbmN5T3V0cHV0U3RyZWFtKAotKyAgICAgIGNvbnN0IEF1ZGlvUGFy YW1ldGVycyYgcGFyYW1zLAotKyAgICAgIGNvbnN0IHN0ZDo6c3RyaW5nJiBkZXZpY2VfaWQsCi0r ICAgICAgY29uc3QgTG9nQ2FsbGJhY2smIGxvZ19jYWxsYmFjaykgb3ZlcnJpZGU7Ci0rICBBdWRp b0lucHV0U3RyZWFtKiBNYWtlTGluZWFySW5wdXRTdHJlYW0oCi0rICAgICAgY29uc3QgQXVkaW9Q YXJhbWV0ZXJzJiBwYXJhbXMsCi0rICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGRldmljZV9pZCwK LSsgICAgICBjb25zdCBMb2dDYWxsYmFjayYgbG9nX2NhbGxiYWNrKSBvdmVycmlkZTsKLSsgIEF1 ZGlvSW5wdXRTdHJlYW0qIE1ha2VMb3dMYXRlbmN5SW5wdXRTdHJlYW0oCi0rICAgICAgY29uc3Qg QXVkaW9QYXJhbWV0ZXJzJiBwYXJhbXMsCi0rICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGRldmlj ZV9pZCwKLSsgICAgICBjb25zdCBMb2dDYWxsYmFjayYgbG9nX2NhbGxiYWNrKSBvdmVycmlkZTsK LSsKLSsgcHJvdGVjdGVkOgotKyAgQXVkaW9QYXJhbWV0ZXJzIEdldFByZWZlcnJlZE91dHB1dFN0 cmVhbVBhcmFtZXRlcnMoCi0rICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIG91dHB1dF9kZXZpY2Vf aWQsCi0rICAgICAgY29uc3QgQXVkaW9QYXJhbWV0ZXJzJiBpbnB1dF9wYXJhbXMpIG92ZXJyaWRl OwotKwotKyBwcml2YXRlOgotKyAgLy8gQ2FsbGVkIGJ5IE1ha2VMaW5lYXJPdXRwdXRTdHJlYW0g YW5kIE1ha2VMb3dMYXRlbmN5T3V0cHV0U3RyZWFtLgotKyAgQXVkaW9PdXRwdXRTdHJlYW0qIE1h a2VPdXRwdXRTdHJlYW0oY29uc3QgQXVkaW9QYXJhbWV0ZXJzJiBwYXJhbXMpOwotKyAgQXVkaW9J bnB1dFN0cmVhbSogTWFrZUlucHV0U3RyZWFtKGNvbnN0IEF1ZGlvUGFyYW1ldGVycyYgcGFyYW1z KTsKLSsKLSsgIERJU0FMTE9XX0NPUFlfQU5EX0FTU0lHTihBdWRpb01hbmFnZXJTbmRpbyk7Ci0r fTsKLSsKLSt9ICAvLyBuYW1lc3BhY2UgbWVkaWEKLSsKLSsjZW5kaWYgIC8vIE1FRElBX0FVRElP X1NORElPX0FVRElPX01BTkFHRVJfU05ESU9fSF8KLS0tLSAvZGV2L251bGwKLSsrKyBxdDYtd2Vi ZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9tZWRpYS9hdWRpby9zbmRpby9zbmRp b19pbnB1dC5jYwotQEAgLTAsMCArMSwyMDAgQEAKLSsvLyBDb3B5cmlnaHQgMjAxMyBUaGUgQ2hy b21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSsvLyBVc2Ugb2YgdGhpcyBzb3Vy Y2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0r Ly8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLSsKLSsjaW5jbHVkZSAiYmFzZS9iaW5kLmgi Ci0rI2luY2x1ZGUgImJhc2UvbG9nZ2luZy5oIgotKyNpbmNsdWRlICJiYXNlL21hY3Jvcy5oIgot KyNpbmNsdWRlICJtZWRpYS9iYXNlL2F1ZGlvX3RpbWVzdGFtcF9oZWxwZXIuaCIKLSsjaW5jbHVk ZSAibWVkaWEvYXVkaW8vc25kaW8vYXVkaW9fbWFuYWdlcl9zbmRpby5oIgotKyNpbmNsdWRlICJt ZWRpYS9hdWRpby9hdWRpb19tYW5hZ2VyLmgiCi0rI2luY2x1ZGUgIm1lZGlhL2F1ZGlvL3NuZGlv L3NuZGlvX2lucHV0LmgiCi0rCi0rbmFtZXNwYWNlIG1lZGlhIHsKLSsKLStzdGF0aWMgY29uc3Qg U2FtcGxlRm9ybWF0IGtTYW1wbGVGb3JtYXQgPSBrU2FtcGxlRm9ybWF0UzE2OwotKwotK3ZvaWQg U25kaW9BdWRpb0lucHV0U3RyZWFtOjpPbk1vdmVDYWxsYmFjayh2b2lkICphcmcsIGludCBkZWx0 YSkKLSt7Ci0rICBTbmRpb0F1ZGlvSW5wdXRTdHJlYW0qIHNlbGYgPSBzdGF0aWNfY2FzdDxTbmRp b0F1ZGlvSW5wdXRTdHJlYW0qPihhcmcpOwotKwotKyAgc2VsZi0+aHdfZGVsYXkgKz0gZGVsdGE7 Ci0rfQotKwotK3ZvaWQgKlNuZGlvQXVkaW9JbnB1dFN0cmVhbTo6VGhyZWFkRW50cnkodm9pZCAq YXJnKSB7Ci0rICBTbmRpb0F1ZGlvSW5wdXRTdHJlYW0qIHNlbGYgPSBzdGF0aWNfY2FzdDxTbmRp b0F1ZGlvSW5wdXRTdHJlYW0qPihhcmcpOwotKwotKyAgc2VsZi0+VGhyZWFkTG9vcCgpOwotKyAg cmV0dXJuIE5VTEw7Ci0rfQotKwotK1NuZGlvQXVkaW9JbnB1dFN0cmVhbTo6U25kaW9BdWRpb0lu cHV0U3RyZWFtKEF1ZGlvTWFuYWdlckJhc2UqIG1hbmFnZXIsCi0rICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGRldmljZV9uYW1l LAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEF1 ZGlvUGFyYW1ldGVycyYgcGFyYW1zKQotKyAgICA6IG1hbmFnZXIobWFuYWdlciksCi0rICAgICAg cGFyYW1zKHBhcmFtcyksCi0rICAgICAgYXVkaW9fYnVzKEF1ZGlvQnVzOjpDcmVhdGUocGFyYW1z KSksCi0rICAgICAgc3RhdGUoa0Nsb3NlZCkgewotK30KLSsKLStTbmRpb0F1ZGlvSW5wdXRTdHJl YW06On5TbmRpb0F1ZGlvSW5wdXRTdHJlYW0oKSB7Ci0rICBpZiAoc3RhdGUgIT0ga0Nsb3NlZCkK LSsgICAgQ2xvc2UoKTsKLSt9Ci0rCi0rYm9vbCBTbmRpb0F1ZGlvSW5wdXRTdHJlYW06Ok9wZW4o KSB7Ci0rICBzdHJ1Y3Qgc2lvX3BhciBwYXI7Ci0rICBpbnQgc2lnOwotKwotKyAgaWYgKHN0YXRl ICE9IGtDbG9zZWQpCi0rICAgIHJldHVybiBmYWxzZTsKLSsKLSsgIGlmIChwYXJhbXMuZm9ybWF0 KCkgIT0gQXVkaW9QYXJhbWV0ZXJzOjpBVURJT19QQ01fTElORUFSICYmCi0rICAgICAgcGFyYW1z LmZvcm1hdCgpICE9IEF1ZGlvUGFyYW1ldGVyczo6QVVESU9fUENNX0xPV19MQVRFTkNZKSB7Ci0r ICAgIExPRyhXQVJOSU5HKSA8PCAiVW5zdXBwb3J0ZWQgYXVkaW8gZm9ybWF0LiI7Ci0rICAgIHJl dHVybiBmYWxzZTsKLSsgIH0KLSsKLSsgIHNpb19pbml0cGFyKCZwYXIpOwotKyAgcGFyLnJhdGUg PSBwYXJhbXMuc2FtcGxlX3JhdGUoKTsKLSsgIHBhci5yY2hhbiA9IHBhcmFtcy5jaGFubmVscygp OwotKyAgcGFyLmJpdHMgPSBTYW1wbGVGb3JtYXRUb0JpdHNQZXJDaGFubmVsKGtTYW1wbGVGb3Jt YXQpOwotKyAgcGFyLmJwcyA9IHBhci5iaXRzIC8gODsKLSsgIHBhci5zaWcgPSBzaWcgPSBwYXIu Yml0cyAhPSA4ID8gMSA6IDA7Ci0rICBwYXIubGUgPSBTSU9fTEVfTkFUSVZFOwotKyAgcGFyLmFw cGJ1ZnN6ID0gcGFyYW1zLmZyYW1lc19wZXJfYnVmZmVyKCk7Ci0rCi0rICBoZGwgPSBzaW9fb3Bl bihTSU9fREVWQU5ZLCBTSU9fUkVDLCAwKTsKLSsKLSsgIGlmIChoZGwgPT0gTlVMTCkgewotKyAg ICBMT0coRVJST1IpIDw8ICJDb3VsZG4ndCBvcGVuIGF1ZGlvIGRldmljZS4iOwotKyAgICByZXR1 cm4gZmFsc2U7Ci0rICB9Ci0rCi0rICBpZiAoIXNpb19zZXRwYXIoaGRsLCAmcGFyKSB8fCAhc2lv X2dldHBhcihoZGwsICZwYXIpKSB7Ci0rICAgIExPRyhFUlJPUikgPDwgIkNvdWxkbid0IHNldCBh dWRpbyBwYXJhbWV0ZXJzLiI7Ci0rICAgIGdvdG8gYmFkX2Nsb3NlOwotKyAgfQotKwotKyAgaWYg KHBhci5yYXRlICAhPSAodW5zaWduZWQgaW50KXBhcmFtcy5zYW1wbGVfcmF0ZSgpIHx8Ci0rICAg ICAgcGFyLnJjaGFuICE9ICh1bnNpZ25lZCBpbnQpcGFyYW1zLmNoYW5uZWxzKCkgfHwKLSsgICAg ICBwYXIuYml0cyAgIT0gKHVuc2lnbmVkIGludClTYW1wbGVGb3JtYXRUb0JpdHNQZXJDaGFubmVs KGtTYW1wbGVGb3JtYXQpIHx8Ci0rICAgICAgcGFyLnNpZyAgICE9ICh1bnNpZ25lZCBpbnQpc2ln IHx8Ci0rICAgICAgKHBhci5icHMgPiAxICYmIHBhci5sZSAhPSBTSU9fTEVfTkFUSVZFKSB8fAot KyAgICAgIChwYXIuYml0cyAhPSBwYXIuYnBzICogOCkpIHsKLSsgICAgTE9HKEVSUk9SKSA8PCAi VW5zdXBwb3J0ZWQgYXVkaW8gcGFyYW1ldGVycy4iOwotKyAgICBnb3RvIGJhZF9jbG9zZTsKLSsg IH0KLSsgIHN0YXRlID0ga1N0b3BwZWQ7Ci0rICBidWZmZXIgPSBuZXcgY2hhclthdWRpb19idXMt PmZyYW1lcygpICogcGFyYW1zLkdldEJ5dGVzUGVyRnJhbWUoa1NhbXBsZUZvcm1hdCldOwotKyAg c2lvX29ubW92ZShoZGwsICZPbk1vdmVDYWxsYmFjaywgdGhpcyk7Ci0rICByZXR1cm4gdHJ1ZTsK LStiYWRfY2xvc2U6Ci0rICBzaW9fY2xvc2UoaGRsKTsKLSsgIHJldHVybiBmYWxzZTsKLSt9Ci0r Ci0rdm9pZCBTbmRpb0F1ZGlvSW5wdXRTdHJlYW06OlN0YXJ0KEF1ZGlvSW5wdXRDYWxsYmFjayog Y2IpIHsKLSsKLSsgIFN0YXJ0QWdjKCk7Ci0rCi0rICBzdGF0ZSA9IGtSdW5uaW5nOwotKyAgaHdf ZGVsYXkgPSAwOwotKyAgY2FsbGJhY2sgPSBjYjsKLSsgIHNpb19zdGFydChoZGwpOwotKyAgaWYg KHB0aHJlYWRfY3JlYXRlKCZ0aHJlYWQsIE5VTEwsICZUaHJlYWRFbnRyeSwgdGhpcykgIT0gMCkg ewotKyAgICBMT0coRVJST1IpIDw8ICJGYWlsZWQgdG8gY3JlYXRlIHJlYWwtdGltZSB0aHJlYWQg Zm9yIHJlY29yZGluZy4iOwotKyAgICBzaW9fc3RvcChoZGwpOwotKyAgICBzdGF0ZSA9IGtTdG9w cGVkOwotKyAgfQotK30KLSsKLSt2b2lkIFNuZGlvQXVkaW9JbnB1dFN0cmVhbTo6U3RvcCgpIHsK LSsKLSsgIGlmIChzdGF0ZSA9PSBrU3RvcHBlZCkKLSsgICAgcmV0dXJuOwotKwotKyAgc3RhdGUg PSBrU3RvcFdhaXQ7Ci0rICBwdGhyZWFkX2pvaW4odGhyZWFkLCBOVUxMKTsKLSsgIHNpb19zdG9w KGhkbCk7Ci0rICBzdGF0ZSA9IGtTdG9wcGVkOwotKwotKyAgU3RvcEFnYygpOwotK30KLSsKLSt2 b2lkIFNuZGlvQXVkaW9JbnB1dFN0cmVhbTo6Q2xvc2UoKSB7Ci0rCi0rICBpZiAoc3RhdGUgPT0g a0Nsb3NlZCkKLSsgICAgcmV0dXJuOwotKwotKyAgaWYgKHN0YXRlID09IGtSdW5uaW5nKQotKyAg ICBTdG9wKCk7Ci0rCi0rICBzdGF0ZSA9IGtDbG9zZWQ7Ci0rICBkZWxldGUgW10gYnVmZmVyOwot KyAgc2lvX2Nsb3NlKGhkbCk7Ci0rCi0rICBtYW5hZ2VyLT5SZWxlYXNlSW5wdXRTdHJlYW0odGhp cyk7Ci0rfQotKwotK2RvdWJsZSBTbmRpb0F1ZGlvSW5wdXRTdHJlYW06OkdldE1heFZvbHVtZSgp IHsKLSsgIC8vIE5vdCBzdXBwb3J0ZWQKLSsgIHJldHVybiAwLjA7Ci0rfQotKwotK3ZvaWQgU25k aW9BdWRpb0lucHV0U3RyZWFtOjpTZXRWb2x1bWUoZG91YmxlIHZvbHVtZSkgewotKyAgLy8gTm90 IHN1cHBvcnRlZC4gRG8gbm90aGluZy4KLSt9Ci0rCi0rZG91YmxlIFNuZGlvQXVkaW9JbnB1dFN0 cmVhbTo6R2V0Vm9sdW1lKCkgewotKyAgLy8gTm90IHN1cHBvcnRlZC4KLSsgIHJldHVybiAwLjA7 Ci0rfQotKwotK2Jvb2wgU25kaW9BdWRpb0lucHV0U3RyZWFtOjpJc011dGVkKCkgewotKyAgLy8g Tm90IHN1cHBvcnRlZC4KLSsgIHJldHVybiBmYWxzZTsKLSt9Ci0rCi0rdm9pZCBTbmRpb0F1ZGlv SW5wdXRTdHJlYW06OlNldE91dHB1dERldmljZUZvckFlYygKLSsgICAgY29uc3Qgc3RkOjpzdHJp bmcmIG91dHB1dF9kZXZpY2VfaWQpIHsKLSsgIC8vIE5vdCBzdXBwb3J0ZWQuCi0rfQotKwotK3Zv aWQgU25kaW9BdWRpb0lucHV0U3RyZWFtOjpUaHJlYWRMb29wKHZvaWQpIHsKLSsgIHNpemVfdCB0 b2RvLCBuOwotKyAgY2hhciAqZGF0YTsKLSsgIHVuc2lnbmVkIGludCBuZnJhbWVzOwotKyAgZG91 YmxlIG5vcm1hbGl6ZWRfdm9sdW1lID0gMC4wOwotKwotKyAgbmZyYW1lcyA9IGF1ZGlvX2J1cy0+ ZnJhbWVzKCk7Ci0rCi0rICB3aGlsZSAoc3RhdGUgPT0ga1J1bm5pbmcgJiYgIXNpb19lb2YoaGRs KSkgewotKwotKyAgICBHZXRBZ2NWb2x1bWUoJm5vcm1hbGl6ZWRfdm9sdW1lKTsKLSsKLSsgICAg Ly8gcmVhZCBvbmUgYmxvY2sKLSsgICAgdG9kbyA9IG5mcmFtZXMgKiBwYXJhbXMuR2V0Qnl0ZXNQ ZXJGcmFtZShrU2FtcGxlRm9ybWF0KTsKLSsgICAgZGF0YSA9IGJ1ZmZlcjsKLSsgICAgd2hpbGUg KHRvZG8gPiAwKSB7Ci0rICAgICAgbiA9IHNpb19yZWFkKGhkbCwgZGF0YSwgdG9kbyk7Ci0rICAg ICAgaWYgKG4gPT0gMCkKLSsgICAgICAgIHJldHVybjsJLy8gdW5yZWNvdmVyYWJsZSBJL08gZXJy b3IKLSsgICAgICB0b2RvIC09IG47Ci0rICAgICAgZGF0YSArPSBuOwotKyAgICB9Ci0rICAgIGh3 X2RlbGF5IC09IG5mcmFtZXM7Ci0rCi0rICAgIC8vIGNvbnZlcnQgZnJhbWVzIGNvdW50IHRvIFRp bWVEZWx0YQotKyAgICBjb25zdCBiYXNlOjpUaW1lRGVsdGEgZGVsYXkgPSBBdWRpb1RpbWVzdGFt cEhlbHBlcjo6RnJhbWVzVG9UaW1lKGh3X2RlbGF5LAotKyAgICAgIHBhcmFtcy5zYW1wbGVfcmF0 ZSgpKTsKLSsKLSsgICAgLy8gcHVzaCBpbnRvIGJ1cwotKyAgICBhdWRpb19idXMtPkZyb21JbnRl cmxlYXZlZDxTaWduZWRJbnQxNlNhbXBsZVR5cGVUcmFpdHM+KHJlaW50ZXJwcmV0X2Nhc3Q8aW50 MTZfdCo+KGJ1ZmZlciksIG5mcmFtZXMpOwotKwotKyAgICAvLyBpbnZva2UgY2FsbGJhY2sKLSsg ICAgY2FsbGJhY2stPk9uRGF0YShhdWRpb19idXMuZ2V0KCksIGJhc2U6OlRpbWVUaWNrczo6Tm93 KCkgLSBkZWxheSwgMS4pOwotKyAgfQotK30KLSsKLSt9ICAvLyBuYW1lc3BhY2UgbWVkaWEKLS0t LSAvZGV2L251bGwKLSsrKyBxdDYtd2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS9tZWRpYS9hdWRpby9zbmRpby9zbmRpb19pbnB1dC5oCi1AQCAtMCwwICsxLDkxIEBACi0rLy8g Q29weXJpZ2h0IDIwMTMgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu Ci0rLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUg bGljZW5zZSB0aGF0IGNhbiBiZQotKy8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0rCi0r I2lmbmRlZiBNRURJQV9BVURJT19TTkRJT19TTkRJT19JTlBVVF9IXwotKyNkZWZpbmUgTUVESUFf QVVESU9fU05ESU9fU05ESU9fSU5QVVRfSF8KLSsKLSsjaW5jbHVkZSA8c3RkaW50Lmg+Ci0rI2lu Y2x1ZGUgPHN0cmluZz4KLSsjaW5jbHVkZSA8c25kaW8uaD4KLSsKLSsjaW5jbHVkZSAiYmFzZS9j b21waWxlcl9zcGVjaWZpYy5oIgotKyNpbmNsdWRlICJiYXNlL21hY3Jvcy5oIgotKyNpbmNsdWRl ICJiYXNlL21lbW9yeS93ZWFrX3B0ci5oIgotKyNpbmNsdWRlICJiYXNlL3RpbWUvdGltZS5oIgot KyNpbmNsdWRlICJtZWRpYS9hdWRpby9hZ2NfYXVkaW9fc3RyZWFtLmgiCi0rI2luY2x1ZGUgIm1l ZGlhL2F1ZGlvL2F1ZGlvX2lvLmgiCi0rI2luY2x1ZGUgIm1lZGlhL2F1ZGlvL2F1ZGlvX2Rldmlj ZV9kZXNjcmlwdGlvbi5oIgotKyNpbmNsdWRlICJtZWRpYS9iYXNlL2F1ZGlvX3BhcmFtZXRlcnMu aCIKLSsKLStuYW1lc3BhY2UgbWVkaWEgewotKwotK2NsYXNzIEF1ZGlvTWFuYWdlckJhc2U7Ci0r Ci0rLy8gSW1wbGVtZW50YXRpb24gb2YgQXVkaW9PdXRwdXRTdHJlYW0gdXNpbmcgc25kaW8oNykK LStjbGFzcyBTbmRpb0F1ZGlvSW5wdXRTdHJlYW0gOiBwdWJsaWMgQWdjQXVkaW9TdHJlYW08QXVk aW9JbnB1dFN0cmVhbT4gewotKyBwdWJsaWM6Ci0rICAvLyBQYXNzIHRoaXMgdG8gdGhlIGNvbnN0 cnVjdG9yIGlmIHlvdSB3YW50IHRvIGF0dGVtcHQgYXV0by1zZWxlY3Rpb24KLSsgIC8vIG9mIHRo ZSBhdWRpbyByZWNvcmRpbmcgZGV2aWNlLgotKyAgc3RhdGljIGNvbnN0IGNoYXIga0F1dG9TZWxl Y3REZXZpY2VbXTsKLSsKLSsgIC8vIENyZWF0ZSBhIFBDTSBPdXRwdXQgc3RyZWFtIGZvciB0aGUg U05ESU8gZGV2aWNlIGlkZW50aWZpZWQgYnkKLSsgIC8vIHxkZXZpY2VfbmFtZXwuIElmIHVuc3Vy ZSBvZiB3aGF0IHRvIHVzZSBmb3IgfGRldmljZV9uYW1lfCwgdXNlCi0rICAvLyB8a0F1dG9TZWxl Y3REZXZpY2V8LgotKyAgU25kaW9BdWRpb0lucHV0U3RyZWFtKEF1ZGlvTWFuYWdlckJhc2UqIGF1 ZGlvX21hbmFnZXIsCi0rICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGRl dmljZV9uYW1lLAotKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEF1ZGlvUGFyYW1ldGVycyYg cGFyYW1zKTsKLSsKLSsgIH5TbmRpb0F1ZGlvSW5wdXRTdHJlYW0oKSBvdmVycmlkZTsKLSsKLSsg IC8vIEltcGxlbWVudGF0aW9uIG9mIEF1ZGlvSW5wdXRTdHJlYW0uCi0rICBib29sIE9wZW4oKSBv dmVycmlkZTsKLSsgIHZvaWQgU3RhcnQoQXVkaW9JbnB1dENhbGxiYWNrKiBjYWxsYmFjaykgb3Zl cnJpZGU7Ci0rICB2b2lkIFN0b3AoKSBvdmVycmlkZTsKLSsgIHZvaWQgQ2xvc2UoKSBvdmVycmlk ZTsKLSsgIGRvdWJsZSBHZXRNYXhWb2x1bWUoKSBvdmVycmlkZTsKLSsgIHZvaWQgU2V0Vm9sdW1l KGRvdWJsZSB2b2x1bWUpIG92ZXJyaWRlOwotKyAgZG91YmxlIEdldFZvbHVtZSgpIG92ZXJyaWRl OwotKyAgYm9vbCBJc011dGVkKCkgb3ZlcnJpZGU7Ci0rICB2b2lkIFNldE91dHB1dERldmljZUZv ckFlYyhjb25zdCBzdGQ6OnN0cmluZyYgb3V0cHV0X2RldmljZV9pZCkgb3ZlcnJpZGU7Ci0rCi0r IHByaXZhdGU6Ci0rCi0rICBlbnVtIFN0cmVhbVN0YXRlIHsKLSsgICAga0Nsb3NlZCwgICAgICAg ICAgICAvLyBOb3Qgb3BlbmVkIHlldAotKyAgICBrU3RvcHBlZCwgICAgICAgICAgIC8vIERldmlj ZSBvcGVuZWQsIGJ1dCBub3Qgc3RhcnRlZCB5ZXQKLSsgICAga1J1bm5pbmcsICAgICAgICAgICAv LyBTdGFydGVkLCBkZXZpY2UgcGxheWluZwotKyAgICBrU3RvcFdhaXQgICAgICAgICAgIC8vIFN0 b3BwaW5nLCB3YWl0aW5nIGZvciB0aGUgcmVhbC10aW1lIHRocmVhZCB0byBleGl0Ci0rICB9Owot KwotKyAgLy8gQy1zdHlsZSBjYWxsLWJhY2tzCi0rICBzdGF0aWMgdm9pZCBPbk1vdmVDYWxsYmFj ayh2b2lkICphcmcsIGludCBkZWx0YSk7Ci0rICBzdGF0aWMgdm9pZCogVGhyZWFkRW50cnkodm9p ZCAqYXJnKTsKLSsKLSsgIC8vIENvbnRpbnVvdXNseSBtb3ZlcyBkYXRhIGZyb20gdGhlIGRldmlj ZSB0byB0aGUgY29uc3VtZXIKLSsgIHZvaWQgVGhyZWFkTG9vcCgpOwotKyAgLy8gT3VyIGNyZWF0 b3IsIHRoZSBhdWRpbyBtYW5hZ2VyIG5lZWRzIHRvIGJlIG5vdGlmaWVkIHdoZW4gd2UgY2xvc2Uu Ci0rICBBdWRpb01hbmFnZXJCYXNlKiBtYW5hZ2VyOwotKyAgLy8gUGFyYW1ldGVycyBvZiB0aGUg c291cmNlCi0rICBBdWRpb1BhcmFtZXRlcnMgcGFyYW1zOwotKyAgLy8gV2Ugc3RvcmUgZGF0YSBo ZXJlIGZvciBjb25zdW1lcgotKyAgc3RkOjp1bmlxdWVfcHRyPEF1ZGlvQnVzPiBhdWRpb19idXM7 Ci0rICAvLyBDYWxsLWJhY2sgdGhhdCBjb25zdW1lcyByZWNvcmRlZCBkYXRhCi0rICBBdWRpb0lu cHV0Q2FsbGJhY2sqIGNhbGxiYWNrOyAgLy8gVmFsaWQgZHVyaW5nIGEgcmVjb3JkaW5nIHNlc3Np b24uCi0rICAvLyBIYW5kbGUgb2YgdGhlIGF1ZGlvIGRldmljZQotKyAgc3RydWN0IHNpb19oZGwq IGhkbDsKLSsgIC8vIEN1cnJlbnQgc3RhdGUgb2YgdGhlIHN0cmVhbQotKyAgZW51bSBTdHJlYW1T dGF0ZSBzdGF0ZTsKLSsgIC8vIEhpZ2ggcHJpb3JpdHkgdGhyZWFkIHJ1bm5pbmcgVGhyZWFkTG9v cCgpCi0rICBwdGhyZWFkX3QgdGhyZWFkOwotKyAgLy8gTnVtYmVyIG9mIGZyYW1lcyBidWZmZXJl ZCBpbiB0aGUgaGFyZHdhcmUKLSsgIGludCBod19kZWxheTsKLSsgIC8vIFRlbXBvcmFyeSBidWZm ZXIgd2hlcmUgZGF0YSBpcyBzdG9yZWQgc25kaW8tY29tcGF0aWJsZSBmb3JtYXQKLSsgIGNoYXIq IGJ1ZmZlcjsKLSsKLSsgIERJU0FMTE9XX0NPUFlfQU5EX0FTU0lHTihTbmRpb0F1ZGlvSW5wdXRT dHJlYW0pOwotK307Ci0rCi0rfSAgLy8gbmFtZXNwYWNlIG1lZGlhCi0rCi0rI2VuZGlmICAvLyBN RURJQV9BVURJT19TTkRJT19TTkRJT19JTlBVVF9IXwotLS0tIC9kZXYvbnVsbAotKysrIHF0Ni13 ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL21lZGlhL2F1ZGlvL3NuZGlvL3Nu ZGlvX291dHB1dC5jYwotQEAgLTAsMCArMSwxODMgQEAKLSsvLyBDb3B5cmlnaHQgKGMpIDIwMTIg VGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0rLy8gVXNlIG9mIHRo aXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNh biBiZQotKy8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0rCi0rI2luY2x1ZGUgImJhc2Uv bG9nZ2luZy5oIgotKyNpbmNsdWRlICJiYXNlL3RpbWUvdGltZS5oIgotKyNpbmNsdWRlICJiYXNl L3RpbWUvZGVmYXVsdF90aWNrX2Nsb2NrLmgiCi0rI2luY2x1ZGUgIm1lZGlhL2F1ZGlvL2F1ZGlv X21hbmFnZXJfYmFzZS5oIgotKyNpbmNsdWRlICJtZWRpYS9iYXNlL2F1ZGlvX3RpbWVzdGFtcF9o ZWxwZXIuaCIKLSsjaW5jbHVkZSAibWVkaWEvYXVkaW8vc25kaW8vc25kaW9fb3V0cHV0LmgiCi0r Ci0rbmFtZXNwYWNlIG1lZGlhIHsKLSsKLStzdGF0aWMgY29uc3QgU2FtcGxlRm9ybWF0IGtTYW1w bGVGb3JtYXQgPSBrU2FtcGxlRm9ybWF0UzE2OwotKwotK3ZvaWQgU25kaW9BdWRpb091dHB1dFN0 cmVhbTo6T25Nb3ZlQ2FsbGJhY2sodm9pZCAqYXJnLCBpbnQgZGVsdGEpIHsKLSsgIFNuZGlvQXVk aW9PdXRwdXRTdHJlYW0qIHNlbGYgPSBzdGF0aWNfY2FzdDxTbmRpb0F1ZGlvT3V0cHV0U3RyZWFt Kj4oYXJnKTsKLSsKLSsgIHNlbGYtPmh3X2RlbGF5IC09IGRlbHRhOwotK30KLSsKLSt2b2lkIFNu ZGlvQXVkaW9PdXRwdXRTdHJlYW06Ok9uVm9sQ2FsbGJhY2sodm9pZCAqYXJnLCB1bnNpZ25lZCBp bnQgdm9sKSB7Ci0rICBTbmRpb0F1ZGlvT3V0cHV0U3RyZWFtKiBzZWxmID0gc3RhdGljX2Nhc3Q8 U25kaW9BdWRpb091dHB1dFN0cmVhbSo+KGFyZyk7Ci0rCi0rICBzZWxmLT52b2wgPSB2b2w7Ci0r fQotKwotK3ZvaWQgKlNuZGlvQXVkaW9PdXRwdXRTdHJlYW06OlRocmVhZEVudHJ5KHZvaWQgKmFy ZykgewotKyAgU25kaW9BdWRpb091dHB1dFN0cmVhbSogc2VsZiA9IHN0YXRpY19jYXN0PFNuZGlv QXVkaW9PdXRwdXRTdHJlYW0qPihhcmcpOwotKwotKyAgc2VsZi0+VGhyZWFkTG9vcCgpOwotKyAg cmV0dXJuIE5VTEw7Ci0rfQotKwotK1NuZGlvQXVkaW9PdXRwdXRTdHJlYW06OlNuZGlvQXVkaW9P dXRwdXRTdHJlYW0oY29uc3QgQXVkaW9QYXJhbWV0ZXJzJiBwYXJhbXMsCi0rICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdWRpb01hbmFnZXJCYXNlKiBtYW5h Z2VyKQotKyAgICA6IG1hbmFnZXIobWFuYWdlciksCi0rICAgICAgcGFyYW1zKHBhcmFtcyksCi0r ICAgICAgYXVkaW9fYnVzKEF1ZGlvQnVzOjpDcmVhdGUocGFyYW1zKSksCi0rICAgICAgc3RhdGUo a0Nsb3NlZCksCi0rICAgICAgbXV0ZXgoUFRIUkVBRF9NVVRFWF9JTklUSUFMSVpFUikgewotK30K LSsKLStTbmRpb0F1ZGlvT3V0cHV0U3RyZWFtOjp+U25kaW9BdWRpb091dHB1dFN0cmVhbSgpIHsK LSsgIGlmIChzdGF0ZSAhPSBrQ2xvc2VkKQotKyAgICBDbG9zZSgpOwotK30KLSsKLStib29sIFNu ZGlvQXVkaW9PdXRwdXRTdHJlYW06Ok9wZW4oKSB7Ci0rICBzdHJ1Y3Qgc2lvX3BhciBwYXI7Ci0r ICBpbnQgc2lnOwotKwotKyAgaWYgKHBhcmFtcy5mb3JtYXQoKSAhPSBBdWRpb1BhcmFtZXRlcnM6 OkFVRElPX1BDTV9MSU5FQVIgJiYKLSsgICAgICBwYXJhbXMuZm9ybWF0KCkgIT0gQXVkaW9QYXJh bWV0ZXJzOjpBVURJT19QQ01fTE9XX0xBVEVOQ1kpIHsKLSsgICAgTE9HKFdBUk5JTkcpIDw8ICJV bnN1cHBvcnRlZCBhdWRpbyBmb3JtYXQuIjsKLSsgICAgcmV0dXJuIGZhbHNlOwotKyAgfQotKyAg c2lvX2luaXRwYXIoJnBhcik7Ci0rICBwYXIucmF0ZSA9IHBhcmFtcy5zYW1wbGVfcmF0ZSgpOwot KyAgcGFyLnBjaGFuID0gcGFyYW1zLmNoYW5uZWxzKCk7Ci0rICBwYXIuYml0cyA9IFNhbXBsZUZv cm1hdFRvQml0c1BlckNoYW5uZWwoa1NhbXBsZUZvcm1hdCk7Ci0rICBwYXIuYnBzID0gcGFyLmJp dHMgLyA4OwotKyAgcGFyLnNpZyA9IHNpZyA9IHBhci5iaXRzICE9IDggPyAxIDogMDsKLSsgIHBh ci5sZSA9IFNJT19MRV9OQVRJVkU7Ci0rICBwYXIuYXBwYnVmc3ogPSBwYXJhbXMuZnJhbWVzX3Bl cl9idWZmZXIoKTsKLSsKLSsgIGhkbCA9IHNpb19vcGVuKFNJT19ERVZBTlksIFNJT19QTEFZLCAw KTsKLSsgIGlmIChoZGwgPT0gTlVMTCkgewotKyAgICBMT0coRVJST1IpIDw8ICJDb3VsZG4ndCBv cGVuIGF1ZGlvIGRldmljZS4iOwotKyAgICByZXR1cm4gZmFsc2U7Ci0rICB9Ci0rICBpZiAoIXNp b19zZXRwYXIoaGRsLCAmcGFyKSB8fCAhc2lvX2dldHBhcihoZGwsICZwYXIpKSB7Ci0rICAgIExP RyhFUlJPUikgPDwgIkNvdWxkbid0IHNldCBhdWRpbyBwYXJhbWV0ZXJzLiI7Ci0rICAgIGdvdG8g YmFkX2Nsb3NlOwotKyAgfQotKyAgaWYgKHBhci5yYXRlICAhPSAodW5zaWduZWQgaW50KXBhcmFt cy5zYW1wbGVfcmF0ZSgpIHx8Ci0rICAgICAgcGFyLnBjaGFuICE9ICh1bnNpZ25lZCBpbnQpcGFy YW1zLmNoYW5uZWxzKCkgfHwKLSsgICAgICBwYXIuYml0cyAgIT0gKHVuc2lnbmVkIGludClTYW1w bGVGb3JtYXRUb0JpdHNQZXJDaGFubmVsKGtTYW1wbGVGb3JtYXQpIHx8Ci0rICAgICAgcGFyLnNp ZyAgICE9ICh1bnNpZ25lZCBpbnQpc2lnIHx8Ci0rICAgICAgKHBhci5icHMgPiAxICYmIHBhci5s ZSAhPSBTSU9fTEVfTkFUSVZFKSB8fAotKyAgICAgIChwYXIuYml0cyAhPSBwYXIuYnBzICogOCkp IHsKLSsgICAgTE9HKEVSUk9SKSA8PCAiVW5zdXBwb3J0ZWQgYXVkaW8gcGFyYW1ldGVycy4iOwot KyAgICBnb3RvIGJhZF9jbG9zZTsKLSsgIH0KLSsgIHN0YXRlID0ga1N0b3BwZWQ7Ci0rICB2b2xw ZW5kaW5nID0gMDsKLSsgIHZvbCA9IDA7Ci0rICBidWZmZXIgPSBuZXcgY2hhclthdWRpb19idXMt PmZyYW1lcygpICogcGFyYW1zLkdldEJ5dGVzUGVyRnJhbWUoa1NhbXBsZUZvcm1hdCldOwotKyAg c2lvX29ubW92ZShoZGwsICZPbk1vdmVDYWxsYmFjaywgdGhpcyk7Ci0rICBzaW9fb252b2woaGRs LCAmT25Wb2xDYWxsYmFjaywgdGhpcyk7Ci0rICByZXR1cm4gdHJ1ZTsKLSsgYmFkX2Nsb3NlOgot KyAgc2lvX2Nsb3NlKGhkbCk7Ci0rICByZXR1cm4gZmFsc2U7Ci0rfQotKwotK3ZvaWQgU25kaW9B dWRpb091dHB1dFN0cmVhbTo6Q2xvc2UoKSB7Ci0rICBpZiAoc3RhdGUgPT0ga0Nsb3NlZCkKLSsg ICAgcmV0dXJuOwotKyAgaWYgKHN0YXRlID09IGtSdW5uaW5nKQotKyAgICBTdG9wKCk7Ci0rICBz dGF0ZSA9IGtDbG9zZWQ7Ci0rICBkZWxldGUgW10gYnVmZmVyOwotKyAgc2lvX2Nsb3NlKGhkbCk7 Ci0rICBtYW5hZ2VyLT5SZWxlYXNlT3V0cHV0U3RyZWFtKHRoaXMpOyAgLy8gQ2FsbHMgdGhlIGRl c3RydWN0b3IKLSt9Ci0rCi0rdm9pZCBTbmRpb0F1ZGlvT3V0cHV0U3RyZWFtOjpTdGFydChBdWRp b1NvdXJjZUNhbGxiYWNrKiBjYWxsYmFjaykgewotKyAgc3RhdGUgPSBrUnVubmluZzsKLSsgIGh3 X2RlbGF5ID0gMDsKLSsgIHNvdXJjZSA9IGNhbGxiYWNrOwotKyAgc2lvX3N0YXJ0KGhkbCk7Ci0r ICBpZiAocHRocmVhZF9jcmVhdGUoJnRocmVhZCwgTlVMTCwgJlRocmVhZEVudHJ5LCB0aGlzKSAh PSAwKSB7Ci0rICAgIExPRyhFUlJPUikgPDwgIkZhaWxlZCB0byBjcmVhdGUgcmVhbC10aW1lIHRo cmVhZC4iOwotKyAgICBzaW9fc3RvcChoZGwpOwotKyAgICBzdGF0ZSA9IGtTdG9wcGVkOwotKyAg fQotK30KLSsKLSt2b2lkIFNuZGlvQXVkaW9PdXRwdXRTdHJlYW06OlN0b3AoKSB7Ci0rICBpZiAo c3RhdGUgPT0ga1N0b3BwZWQpCi0rICAgIHJldHVybjsKLSsgIHN0YXRlID0ga1N0b3BXYWl0Owot KyAgcHRocmVhZF9qb2luKHRocmVhZCwgTlVMTCk7Ci0rICBzaW9fc3RvcChoZGwpOwotKyAgc3Rh dGUgPSBrU3RvcHBlZDsKLSt9Ci0rCi0rdm9pZCBTbmRpb0F1ZGlvT3V0cHV0U3RyZWFtOjpTZXRW b2x1bWUoZG91YmxlIHYpIHsKLSsgIHB0aHJlYWRfbXV0ZXhfbG9jaygmbXV0ZXgpOwotKyAgdm9s ID0gdiAqIFNJT19NQVhWT0w7Ci0rICB2b2xwZW5kaW5nID0gMTsKLSsgIHB0aHJlYWRfbXV0ZXhf dW5sb2NrKCZtdXRleCk7Ci0rfQotKwotK3ZvaWQgU25kaW9BdWRpb091dHB1dFN0cmVhbTo6R2V0 Vm9sdW1lKGRvdWJsZSogdikgewotKyAgcHRocmVhZF9tdXRleF9sb2NrKCZtdXRleCk7Ci0rICAq diA9IHZvbCAqICgxLiAvIFNJT19NQVhWT0wpOwotKyAgcHRocmVhZF9tdXRleF91bmxvY2soJm11 dGV4KTsKLSt9Ci0rCi0rLy8gVGhpcyBzdHJlYW0gaXMgYWx3YXlzIHVzZWQgd2l0aCBzdWIgc2Vj b25kIGJ1ZmZlciBzaXplcywgd2hlcmUgaXQncwotKy8vIHN1ZmZpY2llbnQgdG8gc2ltcGx5IGFs d2F5cyBmbHVzaCB1cG9uIFN0YXJ0KCkuCi0rdm9pZCBTbmRpb0F1ZGlvT3V0cHV0U3RyZWFtOjpG bHVzaCgpIHt9Ci0rCi0rdm9pZCBTbmRpb0F1ZGlvT3V0cHV0U3RyZWFtOjpUaHJlYWRMb29wKHZv aWQpIHsKLSsgIGludCBhdmFpbCwgY291bnQsIHJlc3VsdDsKLSsKLSsgIHdoaWxlIChzdGF0ZSA9 PSBrUnVubmluZykgewotKyAgICAvLyBVcGRhdGUgdm9sdW1lIGlmIG5lZWRlZAotKyAgICBwdGhy ZWFkX211dGV4X2xvY2soJm11dGV4KTsKLSsgICAgaWYgKHZvbHBlbmRpbmcpIHsKLSsgICAgICB2 b2xwZW5kaW5nID0gMDsKLSsgICAgICBzaW9fc2V0dm9sKGhkbCwgdm9sKTsKLSsgICAgfQotKyAg ICBwdGhyZWFkX211dGV4X3VubG9jaygmbXV0ZXgpOwotKwotKyAgICAvLyBHZXQgZGF0YSB0byBw bGF5Ci0rICAgIGNvbnN0IGJhc2U6OlRpbWVEZWx0YSBkZWxheSA9IEF1ZGlvVGltZXN0YW1wSGVs cGVyOjpGcmFtZXNUb1RpbWUoaHdfZGVsYXksCi0rCXBhcmFtcy5zYW1wbGVfcmF0ZSgpKTsKLSsg ICAgY291bnQgPSBzb3VyY2UtPk9uTW9yZURhdGEoZGVsYXksIGJhc2U6OlRpbWVUaWNrczo6Tm93 KCksIDAsIGF1ZGlvX2J1cy5nZXQoKSk7Ci0rICAgIGF1ZGlvX2J1cy0+VG9JbnRlcmxlYXZlZDxT aWduZWRJbnQxNlNhbXBsZVR5cGVUcmFpdHM+KGNvdW50LCByZWludGVycHJldF9jYXN0PGludDE2 X3QqPihidWZmZXIpKTsKLSsgICAgaWYgKGNvdW50ID09IDApIHsKLSsgICAgICAvLyBXZSBoYXZl IHRvIHN1Ym1pdCBzb21ldGhpbmcgdG8gdGhlIGRldmljZQotKyAgICAgIGNvdW50ID0gYXVkaW9f YnVzLT5mcmFtZXMoKTsKLSsgICAgICBtZW1zZXQoYnVmZmVyLCAwLCBjb3VudCAqIHBhcmFtcy5H ZXRCeXRlc1BlckZyYW1lKGtTYW1wbGVGb3JtYXQpKTsKLSsgICAgICBMT0coV0FSTklORykgPDwg Ik5vIGRhdGEgdG8gcGxheSwgcnVubmluZyBlbXB0eSBjeWNsZS4iOwotKyAgICB9Ci0rCi0rICAg IC8vIFN1Ym1pdCBkYXRhIHRvIHRoZSBkZXZpY2UKLSsgICAgYXZhaWwgPSBjb3VudCAqIHBhcmFt cy5HZXRCeXRlc1BlckZyYW1lKGtTYW1wbGVGb3JtYXQpOwotKyAgICByZXN1bHQgPSBzaW9fd3Jp dGUoaGRsLCBidWZmZXIsIGF2YWlsKTsKLSsgICAgaWYgKHJlc3VsdCA9PSAwKSB7Ci0rICAgICAg TE9HKFdBUk5JTkcpIDw8ICJBdWRpbyBkZXZpY2UgZGlzY29ubmVjdGVkLiI7Ci0rICAgICAgYnJl YWs7Ci0rICAgIH0KLSsKLSsgICAgLy8gVXBkYXRlIGhhcmR3YXJlIHBvaW50ZXIKLSsgICAgaHdf ZGVsYXkgKz0gY291bnQ7Ci0rICB9Ci0rfQotKwotK30gIC8vIG5hbWVzcGFjZSBtZWRpYQotLS0t IC9kZXYvbnVsbAotKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5L2Nocm9taXVt L21lZGlhL2F1ZGlvL3NuZGlvL3NuZGlvX291dHB1dC5oCi1AQCAtMCwwICsxLDg2IEBACi0rLy8g Q29weXJpZ2h0IChjKSAyMDEyIFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2Vy dmVkLgotKy8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0 eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLSsvLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgot KwotKyNpZm5kZWYgTUVESUFfQVVESU9fU05ESU9fU05ESU9fT1VUUFVUX0hfCi0rI2RlZmluZSBN RURJQV9BVURJT19TTkRJT19TTkRJT19PVVRQVVRfSF8KLSsKLSsjaW5jbHVkZSA8cHRocmVhZC5o PgotKyNpbmNsdWRlIDxzbmRpby5oPgotKwotKyNpbmNsdWRlICJiYXNlL3RpbWUvdGlja19jbG9j ay5oIgotKyNpbmNsdWRlICJiYXNlL3RpbWUvdGltZS5oIgotKyNpbmNsdWRlICJtZWRpYS9hdWRp by9hdWRpb19pby5oIgotKwotK25hbWVzcGFjZSBtZWRpYSB7Ci0rCi0rY2xhc3MgQXVkaW9NYW5h Z2VyQmFzZTsKLSsKLSsvLyBJbXBsZW1lbnRhdGlvbiBvZiBBdWRpb091dHB1dFN0cmVhbSB1c2lu ZyBzbmRpbyg3KQotK2NsYXNzIFNuZGlvQXVkaW9PdXRwdXRTdHJlYW0gOiBwdWJsaWMgQXVkaW9P dXRwdXRTdHJlYW0gewotKyBwdWJsaWM6Ci0rICAvLyBUaGUgbWFuYWdlciBpcyBjcmVhdGluZyB0 aGlzIG9iamVjdAotKyAgU25kaW9BdWRpb091dHB1dFN0cmVhbShjb25zdCBBdWRpb1BhcmFtZXRl cnMmIHBhcmFtcywKLSsgICAgICAgICAgICAgICAgICAgICAgICAgQXVkaW9NYW5hZ2VyQmFzZSog bWFuYWdlcik7Ci0rICB2aXJ0dWFsIH5TbmRpb0F1ZGlvT3V0cHV0U3RyZWFtKCk7Ci0rCi0rICAv LyBJbXBsZW1lbnRhdGlvbiBvZiBBdWRpb091dHB1dFN0cmVhbS4KLSsgIGJvb2wgT3BlbigpIG92 ZXJyaWRlOwotKyAgdm9pZCBDbG9zZSgpIG92ZXJyaWRlOwotKyAgdm9pZCBTdGFydChBdWRpb1Nv dXJjZUNhbGxiYWNrKiBjYWxsYmFjaykgb3ZlcnJpZGU7Ci0rICB2b2lkIFN0b3AoKSBvdmVycmlk ZTsKLSsgIHZvaWQgU2V0Vm9sdW1lKGRvdWJsZSB2b2x1bWUpIG92ZXJyaWRlOwotKyAgdm9pZCBH ZXRWb2x1bWUoZG91YmxlKiB2b2x1bWUpIG92ZXJyaWRlOwotKyAgdm9pZCBGbHVzaCgpIG92ZXJy aWRlOwotKwotKyAgZnJpZW5kIHZvaWQgc25kaW9fb25tb3ZlKHZvaWQgKmFyZywgaW50IGRlbHRh KTsKLSsgIGZyaWVuZCB2b2lkIHNuZGlvX29udm9sKHZvaWQgKmFyZywgdW5zaWduZWQgaW50IHZv bCk7Ci0rICBmcmllbmQgdm9pZCAqc25kaW9fdGhyZWFkc3RhcnQodm9pZCAqYXJnKTsKLSsKLSsg cHJpdmF0ZToKLSsgIGVudW0gU3RyZWFtU3RhdGUgewotKyAgICBrQ2xvc2VkLCAgICAgICAgICAg IC8vIE5vdCBvcGVuZWQgeWV0Ci0rICAgIGtTdG9wcGVkLCAgICAgICAgICAgLy8gRGV2aWNlIG9w ZW5lZCwgYnV0IG5vdCBzdGFydGVkIHlldAotKyAgICBrUnVubmluZywgICAgICAgICAgIC8vIFN0 YXJ0ZWQsIGRldmljZSBwbGF5aW5nCi0rICAgIGtTdG9wV2FpdCAgICAgICAgICAgLy8gU3RvcHBp bmcsIHdhaXRpbmcgZm9yIHRoZSByZWFsLXRpbWUgdGhyZWFkIHRvIGV4aXQKLSsgIH07Ci0rCi0r ICAvLyBDLXN0eWxlIGNhbGwtYmFja3MKLSsgIHN0YXRpYyB2b2lkIE9uTW92ZUNhbGxiYWNrKHZv aWQgKmFyZywgaW50IGRlbHRhKTsKLSsgIHN0YXRpYyB2b2lkIE9uVm9sQ2FsbGJhY2sodm9pZCAq YXJnLCB1bnNpZ25lZCBpbnQgdm9sKTsKLSsgIHN0YXRpYyB2b2lkKiBUaHJlYWRFbnRyeSh2b2lk ICphcmcpOwotKwotKyAgLy8gQ29udGludW91c2x5IG1vdmVzIGRhdGEgZnJvbSB0aGUgcHJvZHVj ZXIgdG8gdGhlIGRldmljZQotKyAgdm9pZCBUaHJlYWRMb29wKHZvaWQpOwotKwotKyAgLy8gT3Vy IGNyZWF0b3IsIHRoZSBhdWRpbyBtYW5hZ2VyIG5lZWRzIHRvIGJlIG5vdGlmaWVkIHdoZW4gd2Ug Y2xvc2UuCi0rICBBdWRpb01hbmFnZXJCYXNlKiBtYW5hZ2VyOwotKyAgLy8gUGFyYW1ldGVycyBv ZiB0aGUgc291cmNlCi0rICBBdWRpb1BhcmFtZXRlcnMgcGFyYW1zOwotKyAgLy8gU291cmNlIHN0 b3JlcyBkYXRhIGhlcmUKLSsgIHN0ZDo6dW5pcXVlX3B0cjxBdWRpb0J1cz4gYXVkaW9fYnVzOwot KyAgLy8gQ2FsbC1iYWNrIHRoYXQgcHJvZHVjZXMgZGF0YSB0byBwbGF5Ci0rICBBdWRpb1NvdXJj ZUNhbGxiYWNrKiBzb3VyY2U7Ci0rICAvLyBIYW5kbGUgb2YgdGhlIGF1ZGlvIGRldmljZQotKyAg c3RydWN0IHNpb19oZGwqIGhkbDsKLSsgIC8vIEN1cnJlbnQgc3RhdGUgb2YgdGhlIHN0cmVhbQot KyAgZW51bSBTdHJlYW1TdGF0ZSBzdGF0ZTsKLSsgIC8vIEhpZ2ggcHJpb3JpdHkgdGhyZWFkIHJ1 bm5pbmcgVGhyZWFkTG9vcCgpCi0rICBwdGhyZWFkX3QgdGhyZWFkOwotKyAgLy8gUHJvdGVjdHMg dm9sLCB2b2xwZW5kaW5nIGFuZCBod19kZWxheQotKyAgcHRocmVhZF9tdXRleF90IG11dGV4Owot KyAgLy8gQ3VycmVudCB2b2x1bWUgaW4gdGhlIDAuLlNJT19NQVhWT0wgcmFuZ2UKLSsgIGludCB2 b2w7Ci0rICAvLyBTZXQgdG8gMSBpZiB2b2x1bWVzIG11c3QgYmUgcmVmcmVzaGVkIGluIHRoZSBy ZWFsdGltZSB0aHJlYWQKLSsgIGludCB2b2xwZW5kaW5nOwotKyAgLy8gTnVtYmVyIG9mIGZyYW1l cyBidWZmZXJlZCBpbiB0aGUgaGFyZHdhcmUKLSsgIGludCBod19kZWxheTsKLSsgIC8vIFRlbXBv cmFyeSBidWZmZXIgd2hlcmUgZGF0YSBpcyBzdG9yZWQgc25kaW8tY29tcGF0aWJsZSBmb3JtYXQK LSsgIGNoYXIqIGJ1ZmZlcjsKLSsKLSsgIERJU0FMTE9XX0NPUFlfQU5EX0FTU0lHTihTbmRpb0F1 ZGlvT3V0cHV0U3RyZWFtKTsKLSt9OwotKwotK30gIC8vIG5hbWVzcGFjZSBtZWRpYQotKwotKyNl bmRpZiAgLy8gTUVESUFfQVVESU9fU05ESU9fU05ESU9fT1VUUFVUX0hfCi0tLS0gcXQ2LXdlYmVu Z2luZS02LjQuMi5vcmlnL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9tZWRpYS9tZWRpYV9vcHRpb25z LmduaQotKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL21lZGlh L21lZGlhX29wdGlvbnMuZ25pCi1AQCAtMTMzLDYgKzEzMyw5IEBAIGRlY2xhcmVfYXJncygpIHsK LSAgICMgRW5hYmxlcyBydW50aW1lIHNlbGVjdGlvbiBvZiBBTFNBIGxpYnJhcnkgZm9yIGF1ZGlv LgotICAgdXNlX2Fsc2EgPSBmYWxzZQotIAotKyAgIyBFbmFibGUgcnVudGltZSBzZWxlY3Rpb24g b2Ygc25kaW8oNykKLSsgIHVzZV9zbmRpbyA9IGZhbHNlCi0rCi0gICAjIEFsc2Egc2hvdWxkIGJl IHVzZWQgb24gbm9uLUFuZHJvaWQsIG5vbi1NYWMgUE9TSVggc3lzdGVtcy4KLSAgICMgQWxzYSBz aG91bGQgYmUgdXNlZCBvbiBkZXNrdG9wIENocm9tZWNhc3QgYW5kIGF1ZGlvLW9ubHkgQ2hyb21l Y2FzdCBidWlsZHMuCi0gICBpZiAoaXNfcG9zaXggJiYgIWlzX2FuZHJvaWQgJiYgIWlzX21hYyAm JgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDMwMC1jaHJvbWl1 bS1tdXNsLWhhY2tzLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDMwMC1j aHJvbWl1bS1tdXNsLWhhY2tzLnBhdGNoCmluZGV4IDUyNWFlYjhhNjNkMi4uZTBiOTFhMDlhODRm IDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMzAwLWNocm9taXVt LW11c2wtaGFja3MucGF0Y2gKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDMw MC1jaHJvbWl1bS1tdXNsLWhhY2tzLnBhdGNoCkBAIC0zNiwxNyArMzYsMyBAQAogICAgcy5PdXRw dXRUb1N0cmVhbSgmb3MpOwogICNlbHNlCiAgICBvcyA8PCAiU3RhY2tUcmFjZTo6T3V0cHV0VG9T dHJlYW0gbm90IGltcGxlbWVudGVkLiI7Ci0tLS0gcXQ2LXdlYmVuZ2luZS02LjQuMi5vcmlnL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS9uZXQvc29ja2V0L3VkcF9zb2NrZXRfcG9zaXguY2MKLSsrKyBx dDYtd2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9uZXQvc29ja2V0L3VkcF9z b2NrZXRfcG9zaXguY2MKLUBAIC0xMTU3LDcgKzExNTcsMTEgQEAgU2VuZFJlc3VsdCBVRFBTb2Nr ZXRQb3NpeFNlbmRlcjo6SW50ZXJuYQotICAgICBtc2dfaW92LT5wdXNoX2JhY2soe2NvbnN0X2Nh c3Q8Y2hhcio+KGJ1ZmZlci0+ZGF0YSgpKSwgYnVmZmVyLT5sZW5ndGgoKX0pOwotICAgbXNndmVj LT5yZXNlcnZlKGJ1ZmZlcnMuc2l6ZSgpKTsKLSAgIGZvciAoc2l6ZV90IGogPSAwOyBqIDwgYnVm ZmVycy5zaXplKCk7IGorKykKLSsjaWZkZWYgX19HTElCQ19fCi0gICAgIG1zZ3ZlYy0+cHVzaF9i YWNrKHt7bnVsbHB0ciwgMCwgJm1zZ19pb3Zbal0sIDEsIG51bGxwdHIsIDAsIDB9LCAwfSk7Ci0r I2Vsc2UKLSsgICAgbXNndmVjLT5wdXNoX2JhY2soe3tudWxscHRyLCAwLCAmbXNnX2lvdltqXSwg MSwgMCwgMCwgMH0sIDB9KTsKLSsjZW5kaWYKLSAgIGludCByZXN1bHQgPSBIQU5ETEVfRUlOVFIo U2VuZG1tc2coZmQsICZtc2d2ZWNbMF0sIGJ1ZmZlcnMuc2l6ZSgpLCAwKSk7Ci0gICBTZW5kUmVz dWx0IHNlbmRfcmVzdWx0KDAsIDAsIHN0ZDo6bW92ZShidWZmZXJzKSk7Ci0gICBpZiAocmVzdWx0 IDwgMCkgewpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDMwMS1j aHJvbWl1bS1tdXNsLXNhbmRib3gucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hl cy8wMzAxLWNocm9taXVtLW11c2wtc2FuZGJveC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggNGFmYmVjNWI5OGVmLi4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9xdDYtd2Vi ZW5naW5lL3BhdGNoZXMvMDMwMS1jaHJvbWl1bS1tdXNsLXNhbmRib3gucGF0Y2gKKysrIC9kZXYv bnVsbApAQCAtMSw4NiArMCwwIEBACi0tLS0gcXQ2LXdlYmVuZ2luZS02LjQuMi5vcmlnL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2Fs bF9wYXJhbWV0ZXJzX3Jlc3RyaWN0aW9ucy5jYwotKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNj YWxsX3BhcmFtZXRlcnNfcmVzdHJpY3Rpb25zLmNjCi1AQCAtMTM0LDYgKzEzNCw3IEBAIG5hbWVz cGFjZSBzYW5kYm94IHsKLSBSZXN1bHRFeHByIFJlc3RyaWN0Q2xvbmVUb1RocmVhZHNBbmRFUEVS TUZvcmsoKSB7Ci0gICBjb25zdCBBcmc8dW5zaWduZWQgbG9uZz4gZmxhZ3MoMCk7Ci0gCi0rI2lm ZGVmIF9fR0xJQkNfXwotICAgLy8gVE9ETyhtZGVtcHNreSk6IEV4dGVuZCBEU0wgdG8gc3VwcG9y dCAoZmxhZ3MgJiB+bWFzazEpID09IG1hc2syLgotICAgY29uc3QgdWludDY0X3Qga0FuZHJvaWRD bG9uZU1hc2sgPSBDTE9ORV9WTSB8IENMT05FX0ZTIHwgQ0xPTkVfRklMRVMgfAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDTE9ORV9TSUdIQU5EIHwgQ0xPTkVfVEhSRUFE IHwKLUBAIC0xNjAsNiArMTYxLDE2IEBAIFJlc3VsdEV4cHIgUmVzdHJpY3RDbG9uZVRvVGhyZWFk c0FuZEVQRVIKLSAgIHJldHVybiBJZihJc0FuZHJvaWQoKSA/IGFuZHJvaWRfdGVzdCA6IGdsaWJj X3Rlc3QsIEFsbG93KCkpCi0gICAgICAgLkVsc2VJZihpc19mb3JrX29yX2Nsb25lX3Zmb3JrLCBF cnJvcihFUEVSTSkpCi0gICAgICAgLkVsc2UoQ3Jhc2hTSUdTWVNDbG9uZSgpKTsKLSsjZWxzZQot KyAgY29uc3QgaW50IHJlcXVpcmVkID0gQ0xPTkVfVk0gfCBDTE9ORV9GUyB8IENMT05FX0ZJTEVT IHwgQ0xPTkVfU0lHSEFORCB8Ci0rICAgICAgICAgICAgICAgICAgICAgICBDTE9ORV9USFJFQUQg fCBDTE9ORV9TWVNWU0VNOwotKyAgY29uc3QgaW50IHNhZmUgPSBDTE9ORV9TRVRUTFMgfCBDTE9O RV9QQVJFTlRfU0VUVElEIHwgQ0xPTkVfQ0hJTERfQ0xFQVJUSUQgfAotKyAgICAgICAgICAgICAg ICAgICBDTE9ORV9ERVRBQ0hFRDsKLSsgIGNvbnN0IEJvb2xFeHByIHRocmVhZF9jbG9uZV9vayA9 IChmbGFncyZ+c2FmZSk9PXJlcXVpcmVkOwotKyAgcmV0dXJuIElmKHRocmVhZF9jbG9uZV9vaywg QWxsb3coKSkKLSsgICAgICAuRWxzZUlmKChmbGFncyAmIChDTE9ORV9WTSB8IENMT05FX1RIUkVB RCkpID09IDAsIEVycm9yKEVQRVJNKSkKLSsgICAgICAuRWxzZShDcmFzaFNJR1NZU0Nsb25lKCkp OwotKyNlbmRpZgotIH0KLSAKLSAjaWZuZGVmIFBSX1BBQ19SRVNFVF9LRVlTCi0tLS0gcXQ2LXdl YmVuZ2luZS02LjQuMi5vcmlnL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3Nl Y2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9zZXRzLmNjCi0rKysgcXQ2LXdlYmVuZ2luZS02LjQu Mi9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJz L3N5c2NhbGxfc2V0cy5jYwotQEAgLTQyNCw2ICs0MjQsOSBAQCBib29sIFN5c2NhbGxTZXRzOjpJ c0FsbG93ZWRQcm9jZXNzU3RhcnRPCi0gI2lmIGRlZmluZWQoX19pMzg2X18pCi0gICAgIGNhc2Ug X19OUl93YWl0cGlkOgotICNlbmRpZgotKyNpZiAhZGVmaW5lZChfX0dMSUJDX18pCi0rICAgIGNh c2UgX19OUl9zZXRfdGlkX2FkZHJlc3M6Ci0rI2VuZGlmCi0gICAgICAgcmV0dXJuIHRydWU7Ci0g ICAgIGNhc2UgX19OUl9jbG9uZTogIC8vIFNob3VsZCBiZSBwYXJhbWV0ZXItcmVzdHJpY3RlZC4K LSAgICAgY2FzZSBfX05SX3NldG5zOiAgLy8gUHJpdmlsZWdlZC4KLUBAIC00MzYsNyArNDM5LDkg QEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkUHJvY2Vzc1N0YXJ0TwotICNpZiBkZWZpbmVk KF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19taXBzX18pCi0g ICAgIGNhc2UgX19OUl9zZXRfdGhyZWFkX2FyZWE6Ci0gI2VuZGlmCi0rI2lmIGRlZmluZWQoX19H TElCQ19fKQotICAgICBjYXNlIF9fTlJfc2V0X3RpZF9hZGRyZXNzOgotKyNlbmRpZgotICAgICBj YXNlIF9fTlJfdW5zaGFyZToKLSAjaWYgIWRlZmluZWQoX19taXBzX18pICYmICFkZWZpbmVkKF9f YWFyY2g2NF9fKQotICAgICBjYXNlIF9fTlJfdmZvcms6Ci1AQCAtNTUwLDYgKzU1NSw5IEBAIGJv b2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZEFkZHJlc3NTcGFjZUEKLSAgICAgY2FzZSBfX05SX21s b2NrOgotICAgICBjYXNlIF9fTlJfbXVubG9jazoKLSAgICAgY2FzZSBfX05SX211bm1hcDoKLSsj aWZuZGVmIF9fR0xJQkNfXwotKyAgICBjYXNlIF9fTlJfbXJlbWFwOgotKyNlbmRpZgotICAgICAg IHJldHVybiB0cnVlOwotICAgICBjYXNlIF9fTlJfbWFkdmlzZToKLSAgICAgY2FzZSBfX05SX21p bmNvcmU6Ci1AQCAtNTY3LDcgKzU3NSw5IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZEFk ZHJlc3NTcGFjZUEKLSAgICAgY2FzZSBfX05SX21vZGlmeV9sZHQ6Ci0gI2VuZGlmCi0gICAgIGNh c2UgX19OUl9tcHJvdGVjdDoKLSsjaWZkZWYgX19HTElCQ19fCi0gICAgIGNhc2UgX19OUl9tcmVt YXA6Ci0rI2VuZGlmCi0gICAgIGNhc2UgX19OUl9tc3luYzoKLSAgICAgY2FzZSBfX05SX211bmxv Y2thbGw6Ci0gICAgIGNhc2UgX19OUl9yZWFkYWhlYWQ6Ci0tLS0gcXQ2LXdlYmVuZ2luZS02LjQu Mi5vcmlnL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L3BvbGljeS9saW51eC9icGZfcmVu ZGVyZXJfcG9saWN5X2xpbnV4LmNjCi0rKysgcXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3JkcGFy dHkvY2hyb21pdW0vc2FuZGJveC9wb2xpY3kvbGludXgvYnBmX3JlbmRlcmVyX3BvbGljeV9saW51 eC5jYwotQEAgLTk5LDkgKzk5LDE0IEBAIFJlc3VsdEV4cHIgUmVuZGVyZXJQcm9jZXNzUG9saWN5 OjpFdmFsdWEKLSAgICAgY2FzZSBfX05SX3VuYW1lOgotICAgICBjYXNlIF9fTlJfc2NoZWRfZ2V0 cGFyYW06Ci0gICAgIGNhc2UgX19OUl9zY2hlZF9nZXRzY2hlZHVsZXI6Ci0rI2lmbmRlZiBfX0dM SUJDX18KLSsgICAgY2FzZSBfX05SX3NjaGVkX3NldHNjaGVkdWxlcjoKLSsjZW5kaWYKLSAgICAg ICByZXR1cm4gQWxsb3coKTsKLSAgICAgY2FzZSBfX05SX3NjaGVkX2dldGFmZmluaXR5OgotKyNp ZmRlZiBfX0dMSUJDX18KLSAgICAgY2FzZSBfX05SX3NjaGVkX3NldHNjaGVkdWxlcjoKLSsjZW5k aWYKLSAgICAgICByZXR1cm4gUmVzdHJpY3RTY2hlZFRhcmdldChHZXRQb2xpY3lQaWQoKSwgc3lz bm8pOwotICAgICBjYXNlIF9fTlJfcHJsaW1pdDY0OgotICAgICAgIC8vIFNlZSBjcmJ1Zy5jb20v NjYyNDUwIGFuZCBzZXRybGltaXQgY29tbWVudCBhYm92ZS4KZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv cXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAzMDItY2hyb21pdW0tbm8tbWFsbGluZm8ucGF0Y2ggYi9z cmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMzAyLWNocm9taXVtLW5vLW1hbGxpbmZvLnBh dGNoCmluZGV4IDUxOTkzMGU3YmVmMC4uMTNiOWMyYzMxNjRmIDEwMDY0NAotLS0gYS9zcmNwa2dz L3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMzAyLWNocm9taXVtLW5vLW1hbGxpbmZvLnBhdGNoCisr KyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAzMDItY2hyb21pdW0tbm8tbWFsbGlu Zm8ucGF0Y2gKQEAgLTM1LDE3ICszNSwyMyBAQAogICNlbmRpZgogLS0tIHF0Ni13ZWJlbmdpbmUt Ni40LjIub3JpZy9zcmMvM3JkcGFydHkvY2hyb21pdW0vYmFzZS90cmFjZV9ldmVudC9tYWxsb2Nf ZHVtcF9wcm92aWRlci5jYwogKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5L2No cm9taXVtL2Jhc2UvdHJhY2VfZXZlbnQvbWFsbG9jX2R1bXBfcHJvdmlkZXIuY2MKLUBAIC0xNzQs NyArMTc0LDggQEAgdm9pZCBSZXBvcnRBcHBsZUFsbG9jU3RhdHMoc2l6ZV90KiB0b3RhbAorQEAg LTE4NSw3ICsxODUsNiBAQAorICNkZWZpbmUgTUFMTElORk8yX0ZPVU5EX0lOX0xJQkMKKyAgIHN0 cnVjdCBtYWxsaW5mbzIgaW5mbyA9IG1hbGxpbmZvMigpOworICNlbmRpZgorLSNlbmRpZiAgLy8g ZGVmaW5lZChfX0dMSUJDX18pICYmIGRlZmluZWQoX19HTElCQ19QUkVSRVEpCisgI2lmICFkZWZp bmVkKE1BTExJTkZPMl9GT1VORF9JTl9MSUJDKQorICAgc3RydWN0IG1hbGxpbmZvIGluZm8gPSBt YWxsaW5mbygpOworICNlbmRpZgorQEAgLTIwNSw2ICsyMDQsNyBAQAorICAgICBzeXNfYWxsb2Nf ZHVtcC0+QWRkU2NhbGFyKE1lbW9yeUFsbG9jYXRvckR1bXA6OmtOYW1lU2l6ZSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBNZW1vcnlBbGxvY2F0b3JEdW1wOjprVW5pdHNCeXRlcywg aW5mby51b3JkYmxrcyk7CisgICB9CisrI2VuZGlmICAvLyBkZWZpbmVkKF9fR0xJQkNfXykgJiYg ZGVmaW5lZChfX0dMSUJDX1BSRVJFUSkKKyB9CisgI2VuZGlmCiAgCi0gI2lmIChCVUlMREZMQUco VVNFX1BBUlRJVElPTl9BTExPQ19BU19NQUxMT0MpICYmIEJVSUxERkxBRyhJU19BTkRST0lEKSkg fHwgXAotICAgICAoIUJVSUxERkxBRyhVU0VfUEFSVElUSU9OX0FMTE9DX0FTX01BTExPQykgJiYg IUJVSUxERkxBRyhJU19XSU4pICYmICAgIFwKLS0gICAgICFCVUlMREZMQUcoSVNfQVBQTEUpICYm ICFCVUlMREZMQUcoSVNfV0lOKSAmJiAhQlVJTERGTEFHKElTX0ZVQ0hTSUEpKQotKyAgICAgIUJV SUxERkxBRyhJU19BUFBMRSkgJiYgIUJVSUxERkxBRyhJU19XSU4pICYmICFCVUlMREZMQUcoSVNf RlVDSFNJQSkgJiYgXAotKyAgICAgIShCVUlMREZMQUcoSVNfTElOVVgpICYmICFkZWZpbmVkKF9f R0xJQkNfXykpKQotIHZvaWQgUmVwb3J0TWFsbGluZm9TdGF0cyhQcm9jZXNzTWVtb3J5RHVtcCog cG1kLAotICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QqIHRvdGFsX3ZpcnR1YWxfc2l6 ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90KiByZXNpZGVudF9zaXplLAotQEAg LTMzOSw3ICszNDAsNyBAQCBib29sIE1hbGxvY0R1bXBQcm92aWRlcjo6T25NZW1vcnlEdW1wKGNv CitAQCAtMzM5LDcgKzM0MCw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgJmFsbG9jYXRlZF9v YmplY3RzX2NvdW50KTsKICAjZWxpZiBCVUlMREZMQUcoSVNfRlVDSFNJQSkKICAvLyBUT0RPKGZ1 Y2hzaWEpOiBQb3J0LCBzZWUgaHR0cHM6Ly9jcmJ1Zy5jb20vNzA2NTkyLgpAQCAtNTQsMTQgKzYw LDMgQEAKICAgIFJlcG9ydE1hbGxpbmZvU3RhdHMoLypwbWQ9Ki9udWxscHRyLCAmdG90YWxfdmly dHVhbF9zaXplLCAmcmVzaWRlbnRfc2l6ZSwKICAgICAgICAgICAgICAgICAgICAgICAgJmFsbG9j YXRlZF9vYmplY3RzX3NpemUsICZhbGxvY2F0ZWRfb2JqZWN0c19jb3VudCk7CiAgI2VuZGlmCi0t LS0gcXQ2LXdlYmVuZ2luZS02LjQuMi5vcmlnL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9w YXJ0eS90ZmxpdGUvc3JjL3RlbnNvcmZsb3cvbGl0ZS9wcm9maWxpbmcvbWVtb3J5X2luZm8uY2MK LSsrKyBxdDYtd2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0 eS90ZmxpdGUvc3JjL3RlbnNvcmZsb3cvbGl0ZS9wcm9maWxpbmcvbWVtb3J5X2luZm8uY2MKLUBA IC0zNSw3ICszNSw3IEBAIGJvb2wgTWVtb3J5VXNhZ2U6OklzU3VwcG9ydGVkKCkgewotIAotIE1l bW9yeVVzYWdlIEdldE1lbW9yeVVzYWdlKCkgewotICAgTWVtb3J5VXNhZ2UgcmVzdWx0OwotLSNp ZmRlZiBfX2xpbnV4X18KLSsjaWYgZGVmaW5lZChfX2xpbnV4X18pICYmIGRlZmluZWQoX19HTElC Q19fKQotICAgcnVzYWdlIHJlczsKLSAgIGlmIChnZXRydXNhZ2UoUlVTQUdFX1NFTEYsICZyZXMp ID09IDApIHsKLSAgICAgcmVzdWx0Lm1heF9yc3Nfa2IgPSByZXMucnVfbWF4cnNzOwpkaWZmIC0t Z2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtd2ViZW5n aW5lL3RlbXBsYXRlCmluZGV4IDk2ODQ2ZmVhZWU4My4uNGUyMmNiNmU4ODYzIDEwMDY0NAotLS0g YS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5n aW5lL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXdl YmVuZ2luZScKIHBrZ25hbWU9cXQ2LXdlYmVuZ2luZQotdmVyc2lvbj02LjQuMgotcmV2aXNpb249 MgordmVyc2lvbj02LjUuMAorcmV2aXNpb249MQogYnVpbGRfc3R5bGU9Y21ha2UKIGNvbmZpZ3Vy ZV9hcmdzPSIKICAtRFFUX0ZFQVRVUkVfd2ViZW5naW5lX3N5c3RlbV9mZm1wZWc9T04KQEAgLTMy LDcgKzMyLDcgQEAgbWFpbnRhaW5lcj0iSm9obiA8bWVAam9obm55bmF0b3IuZGV2PiIKIGxpY2Vu c2U9IkdQTC0zLjAtb25seSwgR1BMLTIuMC1vbmx5LCBMR1BMLTMuMC1vbmx5LCBCU0QtMy1DbGF1 c2UiCiBob21lcGFnZT0iaHR0cHM6Ly93d3cucXQuaW8iCiBkaXN0ZmlsZXM9Imh0dHBzOi8vZG93 bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259 L3N1Ym1vZHVsZXMvcXR3ZWJlbmdpbmUtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufS50YXIueHoi Ci1jaGVja3N1bT1mZmE5NDU1MThkMWNjOGQ5ZWU3MzUyM2U4ZDljMjA5MDg0NGY1YTJkOWM3ZWFj MDVjNGFkMDc5NDcyYTExOWM5CitjaGVja3N1bT0yYTEwZGEzNGE3MWIzMDdlOWZmMTFlYzA4NjQ1 NWRkMjBiODNkNWIwZWU2YmRhNDk5YzRiYTkyMjFlMzA2ZjA3CiAKIGlmIFsgIiRYQlBTX0xJQkMi ID0gIm11c2wiIF07IHRoZW4KIAlob3N0bWFrZWRlcGVuZHMrPSIgbXVzbC1sZWdhY3ktY29tcGF0 IgpAQCAtMTY0LDcgKzE2NCw3IEBAIHF0Ni13ZWJlbmdpbmUtZGV2ZWxfcGFja2FnZSgpIHsKIAkJ dm1vdmUgdXNyL2xpYi9xdDYvbWtzcGVjcwogCQl2bW92ZSAidXNyL2xpYi8qLnNvIgogCQl2bW92 ZSAidXNyL2xpYi8qLnBybCIKLQkJdm1vdmUgdXNyL3NoYXJlL3F0Ni9tb2R1bGVzCisJCXZtb3Zl IHVzci9saWIvcXQ2L21vZHVsZXMKIAl9CiB9CiAKCkZyb20gMDE4NTRlNDQ4M2UyZGI0MmQxYzc1 YmI2NTE2ODhiYTRkNGExNjViOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSm9obiA8 bWVAam9obm55bmF0b3IuZGV2PgpEYXRlOiBNb24sIDMgQXByIDIwMjMgMTk6MzY6MzYgKzAyMDAK U3ViamVjdDogW1BBVENIIDAzLzI3XSBxdDYtd2ViY2hhbm5lbDogdXBkYXRlIHRvIDYuNS4wLgoK LS0tCiBzcmNwa2dzL3F0Ni13ZWJjaGFubmVsL3BhdGNoZXMvbm8tY21ha2UtdGVzdC5wYXRjaCB8 IDcgLS0tLS0tLQogc3JjcGtncy9xdDYtd2ViY2hhbm5lbC90ZW1wbGF0ZSAgICAgICAgICAgICAg ICAgICAgfCA4ICsrKystLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMTEg ZGVsZXRpb25zKC0pCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViY2hhbm5lbC9w YXRjaGVzL25vLWNtYWtlLXRlc3QucGF0Y2gKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJj aGFubmVsL3BhdGNoZXMvbm8tY21ha2UtdGVzdC5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmNoYW5u ZWwvcGF0Y2hlcy9uby1jbWFrZS10ZXN0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp bmRleCBjMDIwMjg3NzJhMmQuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3F0Ni13ZWJjaGFu bmVsL3BhdGNoZXMvbm8tY21ha2UtdGVzdC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDcgKzAs MCBAQAotLS0tIGEvdGVzdHMvYXV0by9DTWFrZUxpc3RzLnR4dAotKysrIGIvdGVzdHMvYXV0by9D TWFrZUxpc3RzLnR4dAotQEAgLTEsNCArMSwzIEBACi0tYWRkX3N1YmRpcmVjdG9yeShjbWFrZSkK LSBhZGRfc3ViZGlyZWN0b3J5KHdlYmNoYW5uZWwpCi0gaWYoVEFSR0VUIFF0OjpRdWljaykKLSAg ICAgYWRkX3N1YmRpcmVjdG9yeShxbWwpCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJjaGFu bmVsL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtd2ViY2hhbm5lbC90ZW1wbGF0ZQppbmRleCA4ZjRi NThjYWIyNDAuLjljM2RlZjM4NWE3YiAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtd2ViY2hhbm5l bC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni13ZWJjaGFubmVsL3RlbXBsYXRlCkBAIC0xLDYg KzEsNiBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXdlYmNoYW5uZWwnCiBwa2duYW1lPXF0 Ni13ZWJjaGFubmVsCi12ZXJzaW9uPTYuNC4yCit2ZXJzaW9uPTYuNS4wCiByZXZpc2lvbj0xCiBi dWlsZF9zdHlsZT1jbWFrZQogaG9zdG1ha2VkZXBlbmRzPSJwZXJsIHF0Ni1iYXNlIHF0Ni1kZWNs YXJhdGl2ZS1ob3N0LXRvb2xzIgpAQCAtMTAsNyArMTAsNyBAQCBtYWludGFpbmVyPSJKb2huIDxt ZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0iKExHUEwtMy4wLW9ubHkgT1IgR1BMLTIuMC1v bmx5IE9SIEdQTC0zLjAtb25seSkgQU5EIEdQTC0zLjAtb25seSB3aXRoIFF0LUdQTC1leGNlcHRp b24tMS4wIgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVzPSJodHRwOi8vZG93 bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259 L3N1Ym1vZHVsZXMvcXR3ZWJjaGFubmVsLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6 IgotY2hlY2tzdW09MDY2NTdiMmIyNTA5ZjI2YzczM2I3YzQwZGEwZGJiODU3MWEyMTViOTdmOTk2 ODVhNmZjM2JjNTFkY2JlYmQ4NworY2hlY2tzdW09ZDk1NTNkNjQ2ZGYzNjgxYjhlMDljNzYwOWJm N2VkYTBjZGU2OWI1NjJmMTgwZmE1MDQ1MWE5ODdlZDAwZjFiZgogCiBwcmVfY2hlY2soKSB7CiAJ ZXhwb3J0IFFNTDJfSU1QT1JUX1BBVEg9IiR3cmtzcmMvYnVpbGQvbGliL3F0Ni9xbWwiCkBAIC0y NywxMyArMjcsMTMgQEAgcXQ2LXdlYmNoYW5uZWwtZGV2ZWxfcGFja2FnZSgpIHsKIAlwa2dfaW5z dGFsbCgpIHsKIAkJdm1vdmUgdXNyL2luY2x1ZGUKIAkJdm1vdmUgdXNyL2xpYi9jbWFrZQotCQl2 bW92ZSB1c3IvbGliL21ldGF0eXBlcworCQl2bW92ZSB1c3IvbGliL3F0Ni9tZXRhdHlwZXMKIAkJ dm1vdmUgdXNyL2xpYi9wa2djb25maWcKIAkJdm1vdmUgdXNyL2xpYi9xdDYvbWtzcGVjcwogCQl2 bW92ZSB1c3IvbGliL3F0Ni9xbWwvUXRXZWJDaGFubmVsL3BsdWdpbnMucW1sdHlwZXMKIAkJdm1v dmUgdXNyL2xpYi9xdDYvcW1sL1F0V2ViQ2hhbm5lbC9xbWxkaXIKIAkJdm1vdmUgInVzci9saWIv Ki5zbyIKIAkJdm1vdmUgInVzci9saWIvKi5wcmwiCi0JCXZtb3ZlIHVzci9zaGFyZS9xdDYvbW9k dWxlcworCQl2bW92ZSB1c3IvbGliL3F0Ni9tb2R1bGVzCiAJfQogfQoKRnJvbSBiMjkxNDM1NzY4 MDMyNTI5ZjRhZTQ0ZTYyYzFhODRjMmZjMDdlYWNhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiBKb2huIDxtZUBqb2hubnluYXRvci5kZXY+CkRhdGU6IE1vbiwgMyBBcHIgMjAyMyAxOToz NjozNSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDQvMjddIHF0Ni13YXlsYW5kOiB1cGRhdGUgdG8g Ni41LjAuCgotLS0KIHNyY3BrZ3MvcXQ2LXdheWxhbmQvdGVtcGxhdGUgfCA4ICsrKystLS0tCiAx IGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL3NyY3BrZ3MvcXQ2LXdheWxhbmQvdGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni13YXlsYW5kL3Rl bXBsYXRlCmluZGV4IDNiNDVmOThiYzdjZS4uZGEwYzMxYjRhY2Q1IDEwMDY0NAotLS0gYS9zcmNw a2dzL3F0Ni13YXlsYW5kL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LXdheWxhbmQvdGVtcGxh dGUKQEAgLTEsNiArMSw2IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtd2F5bGFuZCcKIHBr Z25hbWU9cXQ2LXdheWxhbmQKLXZlcnNpb249Ni40LjIKK3ZlcnNpb249Ni41LjAKIHJldmlzaW9u PTEKIGJ1aWxkX3N0eWxlPWNtYWtlCiBob3N0bWFrZWRlcGVuZHM9InF0Ni1iYXNlIHBlcmwgcGtn LWNvbmZpZyB3YXlsYW5kLWRldmVsIHF0Ni1kZWNsYXJhdGl2ZS1ob3N0LXRvb2xzIgpAQCAtMTQs NyArMTQsNyBAQCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5z ZT0iR1BMLTMuMC1vbmx5IHdpdGggUXQtR1BMLWV4Y2VwdGlvbi0xLjAsIExHUEwtMy4wLW9ubHks IEdQTC0yLjAtb3ItbGF0ZXIiCiBob21lcGFnZT0iaHR0cHM6Ly93d3cucXQuaW8iCiBkaXN0Zmls ZXM9Imh0dHBzOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9u JS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXR3YXlsYW5kLWV2ZXJ5d2hlcmUtc3JjLSR7dmVy c2lvbn0udGFyLnh6IgotY2hlY2tzdW09MjRjZjFhMGFmNzUxYWIxNjM3YjQ4MTVkNWM1ZjM3MDQ0 ODNkNWZhN2JlZGJkMzUxOWU2ZmMwMjBkOGJlMTM1ZgorY2hlY2tzdW09Y2NjNTdmYTI3N2ZjNWYx YzFjMmM0NzMzZWFlODBhNjA5OTZiNjdhMDY3MjMzYzQ3ODA5ZTU0MmFhMzE3NTlhMwogCiBzdWJw YWNrYWdlcz0icXQ2LXdheWxhbmQtdG9vbHMgcXQ2LXdheWxhbmQtZGV2ZWwiCiAKQEAgLTQzLDEx ICs0MywxMSBAQCBxdDYtd2F5bGFuZC1kZXZlbF9wYWNrYWdlKCkgewogCXBrZ19pbnN0YWxsKCkg ewogCQl2bW92ZSB1c3IvaW5jbHVkZQogCQl2bW92ZSB1c3IvbGliL2NtYWtlCi0JCXZtb3ZlIHVz ci9saWIvbWV0YXR5cGVzCisJCXZtb3ZlIHVzci9saWIvcXQ2L21ldGF0eXBlcwogCQl2bW92ZSB1 c3IvbGliL3BrZ2NvbmZpZwogCQl2bW92ZSB1c3IvbGliL3F0Ni9ta3NwZWNzCiAJCXZtb3ZlICJ1 c3IvbGliLyouc28iCiAJCXZtb3ZlICJ1c3IvbGliLyoucHJsIgotCQl2bW92ZSB1c3Ivc2hhcmUv cXQ2L21vZHVsZXMKKwkJdm1vdmUgdXNyL2xpYi9xdDYvbW9kdWxlcwogCX0KIH0KCkZyb20gYTM0 MWY3NzFhNTNmNTg4ZmJiZDM1MmFjNjhlMTFiMzEyMzQ4ZDBmOSBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogSm9obiA8bWVAam9obm55bmF0b3IuZGV2PgpEYXRlOiBNb24sIDMgQXByIDIw MjMgMTk6MzY6MzQgKzAyMDAKU3ViamVjdDogW1BBVENIIDA1LzI3XSBxdDYtdmlydHVhbGtleWJv YXJkOiB1cGRhdGUgdG8gNi41LjAuCgotLS0KIHNyY3BrZ3MvcXQ2LXZpcnR1YWxrZXlib2FyZC90 ZW1wbGF0ZSB8IDggKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtdmlydHVhbGtleWJvYXJkL3Rl bXBsYXRlIGIvc3JjcGtncy9xdDYtdmlydHVhbGtleWJvYXJkL3RlbXBsYXRlCmluZGV4IDNkZTYy MzhjNDExZi4uY2Y3YjZmMmVjODMwIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni12aXJ0dWFsa2V5 Ym9hcmQvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9xdDYtdmlydHVhbGtleWJvYXJkL3RlbXBsYXRl CkBAIC0xLDYgKzEsNiBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXZpcnR1YWxrZXlib2Fy ZCcKIHBrZ25hbWU9cXQ2LXZpcnR1YWxrZXlib2FyZAotdmVyc2lvbj02LjQuMgordmVyc2lvbj02 LjUuMAogcmV2aXNpb249MQogYnVpbGRfc3R5bGU9Y21ha2UKIGhvc3RtYWtlZGVwZW5kcz0icGVy bCBwa2ctY29uZmlnIHF0Ni1kZWNsYXJhdGl2ZS1ob3N0LXRvb2xzIgpAQCAtMTAsNyArMTAsNyBA QCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0iR1BMLTMu MC1vbmx5IgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVzPSJodHRwOi8vZG93 bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259 L3N1Ym1vZHVsZXMvcXR2aXJ0dWFsa2V5Ym9hcmQtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufS50 YXIueHoiCi1jaGVja3N1bT05YzNjODMwZjZlMTc4OTZlZmFjYTVmZGM3YzE5MTA4OGVlZGQ3MGIw NzQ5MGIzODgzNTg1NjU3OTM0NmE0ZjI4CitjaGVja3N1bT03YjQ1ZGU3ODI0MDgxN2U5ZjRiNTdh ZjgyMWU0NzgxNjU1NDYzYTRmNWYzOTZiYmM1ZGYwNTgwYTdkMmEwZmE3CiAKIGlmIFsgIiRYQlBT X0NIRUNLX1BLR1MiIF07IHRoZW4KIAljb25maWd1cmVfYXJncz0iLURRVF9CVUlMRF9URVNUUz1P TiIKQEAgLTM0LDExICszNCwxMSBAQCBxdDYtdmlydHVhbGtleWJvYXJkLWRldmVsX3BhY2thZ2Uo KSB7CiAJcGtnX2luc3RhbGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNsdWRlCiAJCXZtb3ZlIHVzci9s aWIvY21ha2UKLQkJdm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJdm1vdmUgdXNyL2xpYi9xdDYv bWV0YXR5cGVzCiAJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCiAJCXZtb3ZlIHVzci9saWIvcXQ2 L21rc3BlY3MKIAkJdm1vdmUgInVzci9saWIvKi5zbyIKIAkJdm1vdmUgInVzci9saWIvKi5wcmwi Ci0JCXZtb3ZlIHVzci9zaGFyZS9xdDYvbW9kdWxlcworCQl2bW92ZSB1c3IvbGliL3F0Ni9tb2R1 bGVzCiAJfQogfQoKRnJvbSAyNmYyYmYyY2EwMmRlNTcwNmU4MWViZDg0YjM1YmYzMDhmMDdlMzQw IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKb2huIDxtZUBqb2hubnluYXRvci5kZXY+ CkRhdGU6IE1vbiwgMyBBcHIgMjAyMyAxOTozNjozMiArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDYv MjddIHF0Ni10cmFuc2xhdGlvbnM6IHVwZGF0ZSB0byA2LjUuMC4KCi0tLQogc3JjcGtncy9xdDYt dHJhbnNsYXRpb25zL3RlbXBsYXRlIHwgNCArKy0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRp b25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXRyYW5zbGF0 aW9ucy90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LXRyYW5zbGF0aW9ucy90ZW1wbGF0ZQppbmRleCA1 NjY5YWI1NmRjMjAuLjg2NmY1MDRmM2I5ZCAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtdHJhbnNs YXRpb25zL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LXRyYW5zbGF0aW9ucy90ZW1wbGF0ZQpA QCAtMSw2ICsxLDYgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni10cmFuc2xhdGlvbnMnCiBw a2duYW1lPXF0Ni10cmFuc2xhdGlvbnMKLXZlcnNpb249Ni40LjIKK3ZlcnNpb249Ni41LjAKIHJl dmlzaW9uPTEKIGJ1aWxkX3N0eWxlPWNtYWtlCiBob3N0bWFrZWRlcGVuZHM9InF0Ni1iYXNlIHF0 Ni10b29scyBwZXJsIgpAQCAtMTAsNCArMTAsNCBAQCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hu bnluYXRvci5kZXY+IgogbGljZW5zZT0iR1BMLTMuMC1vbmx5IHdpdGggUXQtR1BMLWV4Y2VwdGlv bi0xLjAiCiBob21lcGFnZT0iaHR0cHM6Ly9xdC5pby8iCiBkaXN0ZmlsZXM9Imh0dHA6Ly9kb3du bG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVyc2lvbn0v c3VibW9kdWxlcy9xdHRyYW5zbGF0aW9ucy1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54 eiIKLWNoZWNrc3VtPWJiZTAyOTE1MDJjMjYwNGI3MmZlZjczMGUxOTM1YmQyMmY4YjkyMWQ4YzQ3 MzI1MGYyOThhNzIzYjJhOWM0OTYKK2NoZWNrc3VtPWZjODVkMGZkODM5M2Y1MTg2NTNjY2FkYTEw MTQxNzdhNTZkZjZlNzNmMzBmM2I2NGVlYTBjMmU0YTAwNjdhM2QKCkZyb20gNGMyZjAzNDg3Yzg3 Zjk3NTRiNzVlNDAyNzI5MWViOGIxYzBkN2RmOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogSm9obiA8bWVAam9obm55bmF0b3IuZGV2PgpEYXRlOiBNb24sIDMgQXByIDIwMjMgMTk6MzY6 MzEgKzAyMDAKU3ViamVjdDogW1BBVENIIDA3LzI3XSBxdDYtdG9vbHM6IHVwZGF0ZSB0byA2LjUu MC4KCi0tLQogc3JjcGtncy9xdDYtdG9vbHMvdGVtcGxhdGUgfCA2ICsrKy0tLQogMSBmaWxlIGNo YW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNw a2dzL3F0Ni10b29scy90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LXRvb2xzL3RlbXBsYXRlCmluZGV4 IGQ1YWQxNjE4ZTNhNy4uYzBlYzI3Y2Y2MTJjIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni10b29s cy90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni10b29scy90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcg QEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni10b29scycKIHBrZ25hbWU9cXQ2LXRvb2xzCi12 ZXJzaW9uPTYuNC4yCi1yZXZpc2lvbj0yCit2ZXJzaW9uPTYuNS4wCityZXZpc2lvbj0xCiBidWls ZF9zdHlsZT1jbWFrZQogY29uZmlndXJlX2FyZ3M9Ii1ERVhURVJOQUxfR1VNQk89T04gLURMSVRF SFRNTF9VVEY4PU9OIC1EVVNFX0lDVT1PTgogIC1EUVRfQlVJTERfU0hBUkVEX0xJQlM9T04gLURR VF9GRUFUVVJFX2Fzc2lzdGFudD1PTgpAQCAtMTYsNyArMTYsNyBAQCBtYWludGFpbmVyPSJKb2hu IDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0iR1BMLTMuMC1vbmx5IHdpdGggUXQtR1BM LWV4Y2VwdGlvbi0xLjAsIExHUEwtMy4wLW9ubHksIEdQTC0yLjAtb3ItbGF0ZXIiCiBob21lcGFn ZT0iaHR0cHM6Ly9xdC5pby8iCiBkaXN0ZmlsZXM9Imh0dHA6Ly9kb3dubG9hZC5xdC5pby9vZmZp Y2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVyc2lvbn0vc3VibW9kdWxlcy9xdHRv b2xzLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09YTMxMzg3OTE2 MTg0ZTRhNWVmNTIyZDNlYTg0MWU4ZTkzMWNjMGY4OGJlMDgyNGE3YTM1NGE1NzJkNTgyNmM2OAor Y2hlY2tzdW09NDljMzNkOTZiMGE0NDk4OGJlOTU0MjY5YjhjZTNkMWE0OTViNDM5NzI2ZTAzYTZi ZTdjMGQ1MGE2ODYzNjljNAogCiBpZiBbICIkQ1JPU1NfQlVJTEQiIF07IHRoZW4KIAljb25maWd1 cmVfYXJncys9IiAtRFFUX0ZPUkNFX0JVSUxEX1RPT0xTPVRSVUUiCgpGcm9tIDFlMmZjNmI5MzA5 NzEyYzUwNmRlZWRjOTM4YjMwMGI4M2Q5ZjZmMzIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206IEpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4KRGF0ZTogTW9uLCAzIEFwciAyMDIzIDE5OjM2 OjI5ICswMjAwClN1YmplY3Q6IFtQQVRDSCAwOC8yN10gcXQ2LXN2ZzogdXBkYXRlIHRvIDYuNS4w LgoKLS0tCiBzcmNwa2dzL3F0Ni1zdmcvdGVtcGxhdGUgfCA4ICsrKystLS0tCiAxIGZpbGUgY2hh bmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvcXQ2LXN2Zy90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LXN2Zy90ZW1wbGF0ZQppbmRleCAwNmMx ZmNjMzA2YzkuLmFiYTI3NWEzNGM4NiAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtc3ZnL3RlbXBs YXRlCisrKyBiL3NyY3BrZ3MvcXQ2LXN2Zy90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMgVGVt cGxhdGUgZmlsZSBmb3IgJ3F0Ni1zdmcnCiBwa2duYW1lPXF0Ni1zdmcKLXZlcnNpb249Ni40LjIK K3ZlcnNpb249Ni41LjAKIHJldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPWNtYWtlCiBob3N0bWFrZWRl cGVuZHM9InF0Ni1iYXNlIHBlcmwiCkBAIC0xMCw3ICsxMCw3IEBAIG1haW50YWluZXI9IkpvaG4g PG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSJHUEwtMy4wLW9ubHkgd2l0aCBRdC1HUEwt ZXhjZXB0aW9uLTEuMCwgR1BMLTIuMC1vci1sYXRlciwgTEdQTC0zLjAtb25seSIKIGhvbWVwYWdl PSJodHRwczovL3F0LmlvLyIKIGRpc3RmaWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0LmlvL29mZmlj aWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0c3Zn LWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09Yjc0NmFmM2NiMTc5 MzYyMWQ4ZWQ3ZWFlMzhkOWFkNWExNTU0MWRjMjc0MjAzMTA2OWYyYWUzZmU4NzU5MDMxNAorY2hl Y2tzdW09NjRjYTdlNjFmNDRkNTFlMjhiY2JiNGUwNTA5Mjk5YjUzYTlhN2UzODg3OWUwMGE3ZmU5 MTY0MzE5NjA2N2E0ZgogCiBpZiBbICIkWEJQU19DSEVDS19QS0dTIiBdOyB0aGVuCiAJY29uZmln dXJlX2FyZ3M9Ii1EUVRfQlVJTERfVEVTVFM9T04iCkBAIC0zMSwxMSArMzEsMTEgQEAgcXQ2LXN2 Zy1kZXZlbF9wYWNrYWdlKCkgewogCXBrZ19pbnN0YWxsKCkgewogCQl2bW92ZSB1c3IvaW5jbHVk ZQogCQl2bW92ZSB1c3IvbGliL2NtYWtlCi0JCXZtb3ZlIHVzci9saWIvbWV0YXR5cGVzCisJCXZt b3ZlIHVzci9saWIvcXQ2L21ldGF0eXBlcwogCQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZpZwogCQl2 bW92ZSB1c3IvbGliL3F0Ni9ta3NwZWNzCiAJCXZtb3ZlICJ1c3IvbGliLyouc28iCiAJCXZtb3Zl ICJ1c3IvbGliLyoucHJsIgotCQl2bW92ZSB1c3Ivc2hhcmUvcXQ2L21vZHVsZXMKKwkJdm1vdmUg dXNyL2xpYi9xdDYvbW9kdWxlcwogCX0KIH0KCkZyb20gN2RiMjQxNDk1NWI3ZGY4MGFiOTcyM2Ew MTM1ZTY4NDk4OTllMmRkYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSm9obiA8bWVA am9obm55bmF0b3IuZGV2PgpEYXRlOiBNb24sIDMgQXByIDIwMjMgMTk6MzY6MjggKzAyMDAKU3Vi amVjdDogW1BBVENIIDA5LzI3XSBxdDYtc2hhZGVydG9vbHM6IHVwZGF0ZSB0byA2LjUuMC4KCi0t LQogc3JjcGtncy9xdDYtc2hhZGVydG9vbHMvdGVtcGxhdGUgfCA4ICsrKystLS0tCiAxIGZpbGUg Y2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvcXQ2LXNoYWRlcnRvb2xzL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtc2hhZGVydG9vbHMv dGVtcGxhdGUKaW5kZXggZmJiMmZiYTcxODFmLi5iMTFiMjgxNjgwYWQgMTAwNjQ0Ci0tLSBhL3Ny Y3BrZ3MvcXQ2LXNoYWRlcnRvb2xzL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LXNoYWRlcnRv b2xzL3RlbXBsYXRlCkBAIC0xLDYgKzEsNiBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXNo YWRlcnRvb2xzJwogcGtnbmFtZT1xdDYtc2hhZGVydG9vbHMKLXZlcnNpb249Ni40LjIKK3ZlcnNp b249Ni41LjAKIHJldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPWNtYWtlCiBob3N0bWFrZWRlcGVuZHM9 InBlcmwgcXQ2LWJhc2UiCkBAIC0xMSw3ICsxMSw3IEBAIG1haW50YWluZXI9IkpvaG4gPG1lQGpv aG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSJHUEwtMy4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0 dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxf cmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXRzaGFkZXJ0 b29scy1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3VtPWZhNjViZmY4 NGQ0ZTljMmNiNGNiZjZmYjA5ODIwN2UwZTIzZDg2M2RiZTY3NWViMjc3MDM0YTI5YzIyNmEyMTcK K2NoZWNrc3VtPTg2NjE4ZDAzN2YzMDcxZjFmN2FjNWViN2FiNzZhZTRlNmY1MWNmZGRkZWQwYTQw MmJiOWFhN2YzZjc5ZjU3NzUKIAogaWYgWyAiJENST1NTX0JVSUxEIiBdOyB0aGVuCiAJY29uZmln dXJlX2FyZ3M9Ii1EUVRfRk9SQ0VfQlVJTERfVE9PTFM9dHJ1ZSIKQEAgLTMxLDEyICszMSwxMiBA QCBxdDYtc2hhZGVydG9vbHMtZGV2ZWxfcGFja2FnZSgpIHsKIAlwa2dfaW5zdGFsbCgpIHsKIAkJ bG9jYWwgX2YKIAkJdm1vdmUgdXNyL2luY2x1ZGUKLQkJdm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMK KwkJdm1vdmUgdXNyL2xpYi9xdDYvbWV0YXR5cGVzCiAJCXZtb3ZlIHVzci9saWIvcGtnY29uZmln CiAJCXZtb3ZlIHVzci9saWIvcXQ2L21rc3BlY3MKIAkJdm1vdmUgInVzci9saWIvKi5zbyIKIAkJ dm1vdmUgInVzci9saWIvKi5wcmwiCi0JCXZtb3ZlIHVzci9zaGFyZS9xdDYvbW9kdWxlcworCQl2 bW92ZSB1c3IvbGliL3F0Ni9tb2R1bGVzCiAJCWZvciBfZiBpbiAke0RFU1RESVJ9L3Vzci9saWIv Y21ha2UvKjsgZG8KIAkJCWNhc2UgIiRfZiIgaW4KIAkJCSpUb29sc1Rvb2xzKSA7OwoKRnJvbSAx MWYyYzVkYzMwOWFkMjI5MzgxMGY2ZDhjOGRhYzE0NWYwZGQyNDkwIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiBKb2huIDxtZUBqb2hubnluYXRvci5kZXY+CkRhdGU6IE1vbiwgMyBBcHIg MjAyMyAxOTozNjoyNyArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMTAvMjddIHF0Ni1zZXJpYWxwb3J0 OiB1cGRhdGUgdG8gNi41LjAuCgotLS0KIHNyY3BrZ3MvcXQ2LXNlcmlhbHBvcnQvdGVtcGxhdGUg fCA4ICsrKystLS0tCiAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXNlcmlhbHBvcnQvdGVtcGxhdGUgYi9zcmNw a2dzL3F0Ni1zZXJpYWxwb3J0L3RlbXBsYXRlCmluZGV4IGMxMDBmOTY4NmZjZi4uNzcxNjY1OThk MDFmIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni1zZXJpYWxwb3J0L3RlbXBsYXRlCisrKyBiL3Ny Y3BrZ3MvcXQ2LXNlcmlhbHBvcnQvdGVtcGxhdGUKQEAgLTEsNiArMSw2IEBACiAjIFRlbXBsYXRl IGZpbGUgZm9yICdxdDYtc2VyaWFscG9ydCcKIHBrZ25hbWU9cXQ2LXNlcmlhbHBvcnQKLXZlcnNp b249Ni40LjIKK3ZlcnNpb249Ni41LjAKIHJldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPWNtYWtlCiBo b3N0bWFrZWRlcGVuZHM9InBlcmwgcXQ2LWJhc2UgcGtnLWNvbmZpZyIKQEAgLTEwLDcgKzEwLDcg QEAgbWFpbnRhaW5lcj0iSm9obiA8bWVAam9obm55bmF0b3IuZGV2PiIKIGxpY2Vuc2U9IihMR1BM LTMuMC1vbmx5IE9SIEdQTC0yLjAtb25seSBPUiBHUEwtMy4wLW9ubHkpIEFORCBHUEwtMy4wLW9u bHkgd2l0aCBRdC1HUEwtZXhjZXB0aW9uLTEuMCIKIGhvbWVwYWdlPSJodHRwczovL3F0LmlvLyIK IGRpc3RmaWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7 dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0c2VyaWFscG9ydC1ldmVyeXdoZXJl LXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3VtPTMzNmQ5NTkxOTAzNzgwMDE4NGIzYzNk ZThjY2I2ZjYyOTU0YjIwZjM3NTZjMDVhZGNlOGQ1MDEwNTA0MzQwZmEKK2NoZWNrc3VtPTkyMDlh OWY1OTc4YTRhZGYzYTE1MDU4MjI3MDQzMmZlM2I2MzVkMDU1MTNhZDFhNTdiZmY1Y2E0OTU0YTRk ZmYKIAogcXQ2LXNlcmlhbHBvcnQtZGV2ZWxfcGFja2FnZSgpIHsKIAlkZXBlbmRzPSIke3NvdXJj ZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0gcXQ2LWJhc2UtZGV2ZWw+PSR7dmVyc2lvbn1f MSIKQEAgLTE4LDExICsxOCwxMSBAQCBxdDYtc2VyaWFscG9ydC1kZXZlbF9wYWNrYWdlKCkgewog CXBrZ19pbnN0YWxsKCkgewogCQl2bW92ZSB1c3IvaW5jbHVkZQogCQl2bW92ZSB1c3IvbGliL2Nt YWtlCi0JCXZtb3ZlIHVzci9saWIvbWV0YXR5cGVzCisJCXZtb3ZlIHVzci9saWIvcXQ2L21ldGF0 eXBlcwogCQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZpZwogCQl2bW92ZSB1c3IvbGliL3F0Ni9ta3Nw ZWNzCiAJCXZtb3ZlICJ1c3IvbGliLyouc28iCiAJCXZtb3ZlICJ1c3IvbGliLyoucHJsIgotCQl2 bW92ZSB1c3Ivc2hhcmUvcXQ2L21vZHVsZXMKKwkJdm1vdmUgdXNyL2xpYi9xdDYvbW9kdWxlcwog CX0KIH0KCkZyb20gZTllODEyZWY2NzhiOTVlY2Y5MTg0NTE5YmU1ZDE3MzVmYzM1NTM4MCBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSm9obiA8bWVAam9obm55bmF0b3IuZGV2PgpEYXRl OiBNb24sIDMgQXByIDIwMjMgMTk6MzY6MjYgKzAyMDAKU3ViamVjdDogW1BBVENIIDExLzI3XSBx dDYtc2Vuc29yczogdXBkYXRlIHRvIDYuNS4wLgoKLS0tCiBzcmNwa2dzL3F0Ni1zZW5zb3JzL3Rl bXBsYXRlIHwgNiArKystLS0KIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtc2Vuc29ycy90ZW1wbGF0ZSBiL3Ny Y3BrZ3MvcXQ2LXNlbnNvcnMvdGVtcGxhdGUKaW5kZXggMWRkMGQwZjNkZjEzLi41ZTZhMWUyYTc3 NzYgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LXNlbnNvcnMvdGVtcGxhdGUKKysrIGIvc3JjcGtn cy9xdDYtc2Vuc29ycy90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMgVGVtcGxhdGUgZmlsZSBm b3IgJ3F0Ni1zZW5zb3JzJwogcGtnbmFtZT1xdDYtc2Vuc29ycwotdmVyc2lvbj02LjQuMgordmVy c2lvbj02LjUuMAogcmV2aXNpb249MQogYnVpbGRfc3R5bGU9Y21ha2UKIGhvc3RtYWtlZGVwZW5k cz0icGVybCBxdDYtZGVjbGFyYXRpdmUtaG9zdC10b29scyBwa2ctY29uZmlnIgpAQCAtMTAsNyAr MTAsNyBAQCBtYWludGFpbmVyPSLEkG/DoG4gVHLhuqduIEPDtG5nIERhbmggPGNvbmdkYW5ocXhA Z21haWwuY29tPiIKIGxpY2Vuc2U9IihMR1BMLTMuMC1vbmx5IE9SIEdQTC0yLjAtb25seSBPUiBH UEwtMy4wLW9ubHkpIEFORCBHUEwtMy4wLW9ubHkgd2l0aCBRdC1HUEwtZXhjZXB0aW9uLTEuMCIK IGhvbWVwYWdlPSJodHRwczovL3F0LmlvLyIKIGRpc3RmaWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0 LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9zdWJtb2R1 bGVzL3F0c2Vuc29ycy1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3Vt PTQ1NTYxOWZmMjhhMzlmNGNhYmE0OWM5ZTE5NTJmYmNmYWZjOGZmYzg5M2I0MzdkNjUzZDU0NjVh MDc3ZWU2NTYKK2NoZWNrc3VtPTVlZTQzNGUyZjQ5MTdjMmQyZTliMWRlNmNiMTM0N2M2NDRhOGM5 MjMzODI4NGVmZWI5NjIwMmE1NTdlNzJlYTYKIAogcG9zdF9pbnN0YWxsKCkgewogCXJtIC1yZiAk e0RFU1RESVJ9L3Vzci90ZXN0cwpAQCAtMjMsNyArMjMsNyBAQCBxdDYtc2Vuc29ycy1kZXZlbF9w YWNrYWdlKCkgewogCXBrZ19pbnN0YWxsKCkgewogCQl2bW92ZSB1c3IvaW5jbHVkZQogCQl2bW92 ZSB1c3IvbGliL2NtYWtlCi0JCXZtb3ZlIHVzci9saWIvbWV0YXR5cGVzCisJCXZtb3ZlIHVzci9s aWIvcXQ2L21ldGF0eXBlcwogCQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZpZwogCQl2bW92ZSB1c3Iv bGliL3F0Ni9ta3NwZWNzCiAJCXZtb3ZlIHVzci9saWIvcXQ2L3FtbC9RdFNlbnNvcnMvcGx1Z2lu cy5xbWx0eXBlcwoKRnJvbSBjOTlmNDVlZDhlYjYwNmJhMWQwNjVjZmZkOGIxZTA1NWQ4NjNmMWUz IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKb2huIDxtZUBqb2hubnluYXRvci5kZXY+ CkRhdGU6IE1vbiwgMyBBcHIgMjAyMyAxOTozNjoyNCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMTIv MjddIHF0Ni1zY3htbDogdXBkYXRlIHRvIDYuNS4wLgoKLS0tCiBzcmNwa2dzL3F0Ni1zY3htbC90 ZW1wbGF0ZSB8IDggKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtc2N4bWwvdGVtcGxhdGUgYi9z cmNwa2dzL3F0Ni1zY3htbC90ZW1wbGF0ZQppbmRleCAwZTUzYmE3Y2Y1MDYuLjhmODFkNzUwYjFi MSAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtc2N4bWwvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9x dDYtc2N4bWwvdGVtcGxhdGUKQEAgLTEsNiArMSw2IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdx dDYtc2N4bWwnCiBwa2duYW1lPXF0Ni1zY3htbAotdmVyc2lvbj02LjQuMgordmVyc2lvbj02LjUu MAogcmV2aXNpb249MQogYnVpbGRfc3R5bGU9Y21ha2UKIGhvc3RtYWtlZGVwZW5kcz0icGVybCBx dDYtZGVjbGFyYXRpdmUtaG9zdC10b29scyIKQEAgLTEwLDcgKzEwLDcgQEAgbWFpbnRhaW5lcj0i Sm9obiA8bWVAam9obm55bmF0b3IuZGV2PiIKIGxpY2Vuc2U9IkxHUEwtMy4wLW9ubHkgT1IgR1BM LTIuMC1vbmx5IE9SIEdQTC0zLjAtb25seSIKIGhvbWVwYWdlPSJodHRwczovL3F0LmlvLyIKIGRp c3RmaWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVy c2lvbiUuKn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0c2N4bWwtZXZlcnl3aGVyZS1zcmMtJHt2 ZXJzaW9ufS50YXIueHoiCi1jaGVja3N1bT0xM2IwZDQzNDU5Mzk0YmVkMjQ4MTk2N2ExZmVmZjAy YjYzMjI4YTgyYzExMzZhNjI5NDFjMGViODNlZjU0ZTdmCitjaGVja3N1bT1mMTIxODQzY2I4Y2Y0 YTc2ZDYyMWJlMzcxZTgwMjY1YWMyODI1NGYzYzRjMTIzYjA1MWU5MDdjMWM5MTU3NjZlCiAKIHN1 YnBhY2thZ2VzPSJxdDYtc2N4bWwtdG9vbHMgcXQ2LXNjeG1sLWRldmVsIgogaWYgWyAiJENST1NT X0JVSUxEIiBdOyB0aGVuCkBAIC00MSwxMSArNDEsMTEgQEAgcXQ2LXNjeG1sLWRldmVsX3BhY2th Z2UoKSB7CiAJcGtnX2luc3RhbGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNsdWRlCiAJCXZtb3ZlIHVz ci9saWIvY21ha2UKLQkJdm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJdm1vdmUgdXNyL2xpYi9x dDYvbWV0YXR5cGVzCiAJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCiAJCXZtb3ZlIHVzci9saWIv cXQ2L21rc3BlY3MKIAkJdm1vdmUgInVzci9saWIvKi5zbyIKIAkJdm1vdmUgInVzci9saWIvKi5w cmwiCi0JCXZtb3ZlIHVzci9zaGFyZS9xdDYvbW9kdWxlcworCQl2bW92ZSB1c3IvbGliL3F0Ni9t b2R1bGVzCiAJfQogfQoKRnJvbSAyNTE2YmNkNmU3ZDI4MjM4MGJhNzYwNTRkNGFjMTc5YjVhNDUw YWE3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKb2huIDxtZUBqb2hubnluYXRvci5k ZXY+CkRhdGU6IE1vbiwgMyBBcHIgMjAyMyAxOTozNjoyMyArMDIwMApTdWJqZWN0OiBbUEFUQ0gg MTMvMjddIHF0Ni1yZW1vdGVvYmplY3RzOiB1cGRhdGUgdG8gNi41LjAuCgotLS0KIHNyY3BrZ3Mv cXQ2LXJlbW90ZW9iamVjdHMvdGVtcGxhdGUgfCA2ICsrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDMg aW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1y ZW1vdGVvYmplY3RzL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtcmVtb3Rlb2JqZWN0cy90ZW1wbGF0 ZQppbmRleCAwNjI3MzYzNDk0NDIuLmIzN2Q4MmJlZDAzZCAxMDA2NDQKLS0tIGEvc3JjcGtncy9x dDYtcmVtb3Rlb2JqZWN0cy90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni1yZW1vdGVvYmplY3Rz L3RlbXBsYXRlCkBAIC0xLDYgKzEsNiBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXJlbW90 ZW9iamVjdHMnCiBwa2duYW1lPXF0Ni1yZW1vdGVvYmplY3RzCi12ZXJzaW9uPTYuNC4yCit2ZXJz aW9uPTYuNS4wCiByZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1jbWFrZQogaG9zdG1ha2VkZXBlbmRz PSJwZXJsIHF0Ni1kZWNsYXJhdGl2ZS1ob3N0LXRvb2xzIHBrZy1jb25maWciCkBAIC0xMyw3ICsx Myw3IEBAIG1haW50YWluZXI9IsSQb8OgbiBUcuG6p24gQ8O0bmcgRGFuaCA8Y29uZ2RhbmhxeEBn bWFpbC5jb20+IgogbGljZW5zZT0iKExHUEwtMy4wLW9ubHkgT1IgR1BMLTIuMC1vbmx5IE9SIEdQ TC0zLjAtb25seSkgQU5EIEdQTC0zLjAtb25seSB3aXRoIFF0LUdQTC1leGNlcHRpb24tMS4wIgog aG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQucXQu aW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVs ZXMvcXRyZW1vdGVvYmplY3RzLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6IgotY2hl Y2tzdW09NTgzYzUzNjQwMDIwZDVkMDY4ZWVmN2FlMTgwZDc1MDEyMGJiNDllMzAyNDljMmZlYmRk MTczYzVhNzQyODgxMgorY2hlY2tzdW09ZmY0MGI2ZTdhZmE4NGU0NDE5MGQzYjYzNTc0NjI1Njk1 MjViMWUxZmIwZThiZmQ4ZGUxNmE4NjgwODI1YzJhZQogCiBpZiBbICIkQ1JPU1NfQlVJTEQiIF07 IHRoZW4KIAlob3N0bWFrZWRlcGVuZHMrPSIgcXQ2LXJlbW90ZW9iamVjdHMiCkBAIC0zNSw3ICsz NSw3IEBAIHF0Ni1yZW1vdGVvYmplY3RzLWRldmVsX3BhY2thZ2UoKSB7CiAJcGtnX2luc3RhbGwo KSB7CiAJCXZtb3ZlIHVzci9pbmNsdWRlCiAJCXZtb3ZlIHVzci9saWIvY21ha2UKLQkJdm1vdmUg dXNyL2xpYi9tZXRhdHlwZXMKKwkJdm1vdmUgdXNyL2xpYi9xdDYvbWV0YXR5cGVzCiAJCXZtb3Zl IHVzci9saWIvcGtnY29uZmlnCiAJCXZtb3ZlIHVzci9saWIvcXQ2L21rc3BlY3MKIAkJdm1vdmUg dXNyL2xpYi9xdDYvcW1sL1F0UmVtb3RlT2JqZWN0cy9wbHVnaW5zLnFtbHR5cGVzCgpGcm9tIDk1 YjY2MjIxNmFhZTNlNjcxZjVkNzYwYjI3ZGU2NWI2NzllMTAzNGMgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IEpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4KRGF0ZTogTW9uLCAzIEFwciAy MDIzIDE5OjM2OjIyICswMjAwClN1YmplY3Q6IFtQQVRDSCAxNC8yN10gcXQ2LXF1aWNrdGltZWxp bmU6IHVwZGF0ZSB0byA2LjUuMC4KCi0tLQogc3JjcGtncy9xdDYtcXVpY2t0aW1lbGluZS90ZW1w bGF0ZSB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1xdWlja3RpbWVsaW5lL3RlbXBsYXRlIGIv c3JjcGtncy9xdDYtcXVpY2t0aW1lbGluZS90ZW1wbGF0ZQppbmRleCBmMmM4ZTE2ZTYyMWUuLjNk MjRhMzkyZmY0MCAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtcXVpY2t0aW1lbGluZS90ZW1wbGF0 ZQorKysgYi9zcmNwa2dzL3F0Ni1xdWlja3RpbWVsaW5lL3RlbXBsYXRlCkBAIC0xLDYgKzEsNiBA QAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXF1aWNrdGltZWxpbmUnCiBwa2duYW1lPXF0Ni1x dWlja3RpbWVsaW5lCi12ZXJzaW9uPTYuNC4yCit2ZXJzaW9uPTYuNS4wCiByZXZpc2lvbj0xCiBi dWlsZF9zdHlsZT1jbWFrZQogaG9zdG1ha2VkZXBlbmRzPSJwZXJsIHF0Ni1iYXNlIHF0Ni1kZWNs YXJhdGl2ZS1ob3N0LXRvb2xzIgpAQCAtMTAsNyArMTAsNyBAQCBtYWludGFpbmVyPSJKb2huIDxt ZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0iR1BMLTMuMC1vci1sYXRlciIKIGhvbWVwYWdl PSJodHRwczovL3F0LmlvLyIKIGRpc3RmaWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0LmlvL29mZmlj aWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9uL3JjLy1yY30vc3VibW9kdWxl cy9xdHF1aWNrdGltZWxpbmUtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9uL3JjLy1yY30udGFyLnh6 IgotY2hlY2tzdW09MzA4OGFiYjdmNDc4MzYyYTM1NGVhMTUwOWQxYzNjMzQwM2UzZjVhZGZiODRm M2U1Y2YzMGExZjJlZmYwOWE1ZQorY2hlY2tzdW09NTc4YjNlOTI5NjYyYjQ0M2NkNGU1MWNiMGRl NzFlOTFmNGZmNTVhNTEyZDY2ZTBiMWVhMjk5OWI1NjU3Y2ZiZgogCiBpZiBbICIkWEJQU19DSEVD S19QS0dTIiBdOyB0aGVuCiAJY29uZmlndXJlX2FyZ3M9Ii1EUVRfQlVJTERfVEVTVFM9T04iCgpG cm9tIDY1MjI0ZjlmMDljYWVmNjJkODY3MTFlMTZhNTQ2NDMyNzA3NDQxYTYgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCkZyb206IEpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4KRGF0ZTogTW9uLCAz IEFwciAyMDIzIDE5OjM2OjIxICswMjAwClN1YmplY3Q6IFtQQVRDSCAxNS8yN10gcXQ2LXF1aWNr M2Q6IHVwZGF0ZSB0byA2LjUuMC4KCi0tLQogc3JjcGtncy9xdDYtcXVpY2szZC90ZW1wbGF0ZSB8 IDggKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtcXVpY2szZC90ZW1wbGF0ZSBiL3NyY3BrZ3Mv cXQ2LXF1aWNrM2QvdGVtcGxhdGUKaW5kZXggZTVlZjkxYzkwNTNjLi5lMDFjZWE4MWJlYmUgMTAw NjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LXF1aWNrM2QvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9xdDYt cXVpY2szZC90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0 Ni1xdWljazNkJwogcGtnbmFtZT1xdDYtcXVpY2szZAotdmVyc2lvbj02LjQuMgordmVyc2lvbj02 LjUuMAogcmV2aXNpb249MQogYnVpbGRfc3R5bGU9Y21ha2UKIGhvc3RtYWtlZGVwZW5kcz0icGVy bCBxdDYtZGVjbGFyYXRpdmUtaG9zdC10b29scyBxdDYtc2hhZGVydG9vbHMiCkBAIC0xMSw3ICsx MSw3IEBAIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSJH UEwtMy4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVzPSJo dHRwOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8k e3ZlcnNpb259L3N1Ym1vZHVsZXMvcXRxdWljazNkLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0u dGFyLnh6IgotY2hlY2tzdW09OTUzZDNiNmNhNmRjMDA1NjNjZWVhMzNkNTFmMjVlMjJiMTc4OGFi NWFhODYxOTQxMTAwZjZhMWI2NTI5MjZhNworY2hlY2tzdW09OWI1OTA0MjljYTk4YjVjYzhjZWM0 ZGYyZWZhMzc3NWU5ZjExZWQ4MjYwZDEyM2U5NWYzYzBmYzM3ZjM3NzJhNQogCiBzdWJwYWNrYWdl cz0icXQ2LXF1aWNrM2QtdG9vbHMgcXQ2LXF1aWNrM2QtZGV2ZWwiCiBpZiBbICIkQ1JPU1NfQlVJ TEQiIF07IHRoZW4KQEAgLTUwLDExICs1MCwxMSBAQCBxdDYtcXVpY2szZC1kZXZlbF9wYWNrYWdl KCkgewogCXBrZ19pbnN0YWxsKCkgewogCQl2bW92ZSB1c3IvaW5jbHVkZQogCQl2bW92ZSB1c3Iv bGliL2NtYWtlCi0JCXZtb3ZlIHVzci9saWIvbWV0YXR5cGVzCisJCXZtb3ZlIHVzci9saWIvcXQ2 L21ldGF0eXBlcwogCQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZpZwogCQl2bW92ZSB1c3IvbGliL3F0 Ni9ta3NwZWNzCiAJCXZtb3ZlICJ1c3IvbGliLyouc28iCiAJCXZtb3ZlICJ1c3IvbGliLyoucHJs IgotCQl2bW92ZSB1c3Ivc2hhcmUvcXQ2L21vZHVsZXMKKwkJdm1vdmUgdXNyL2xpYi9xdDYvbW9k dWxlcwogCX0KIH0KCkZyb20gNzY4ZDcwNzAzZDcxOTM3MWYyMmRjYTVmMzE2ZTIyY2JkMjRjNzYx MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSm9obiA8bWVAam9obm55bmF0b3IuZGV2 PgpEYXRlOiBNb24sIDMgQXByIDIwMjMgMTk6MzY6MTEgKzAyMDAKU3ViamVjdDogW1BBVENIIDE2 LzI3XSBxdDYtcXQ1Y29tcGF0OiB1cGRhdGUgdG8gNi41LjAuCgotLS0KIHNyY3BrZ3MvcXQ2LXF0 NWNvbXBhdC90ZW1wbGF0ZSB8IDEwICsrKysrLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2Vy dGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtcXQ1Y29t cGF0L3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtcXQ1Y29tcGF0L3RlbXBsYXRlCmluZGV4IGVkMTY3 Njk1YjVjZC4uM2IzZDJiNWRmYWNmIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni1xdDVjb21wYXQv dGVtcGxhdGUKKysrIGIvc3JjcGtncy9xdDYtcXQ1Y29tcGF0L3RlbXBsYXRlCkBAIC0xLDcgKzEs NyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXF0NWNvbXBhdCcKIHBrZ25hbWU9cXQ2LXF0 NWNvbXBhdAotdmVyc2lvbj02LjQuMgotcmV2aXNpb249MgordmVyc2lvbj02LjUuMAorcmV2aXNp b249MQogYnVpbGRfc3R5bGU9Y21ha2UKIGNvbmZpZ3VyZV9hcmdzPSItRFFUX0ZFQVRVUkVfdGV4 dGNvZGVjPU9OIC1EUVRfRkVBVFVSRV9jb2RlY3M9T04KICAtRFFUX0ZFQVRVUkVfaWNvbnY9T04g LURRVF9GRUFUVVJFX2JpZ19jb2RlY3M9T04iCkBAIC0xMiw3ICsxMiw3IEBAIG1haW50YWluZXI9 IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSJHUEwtMy4wLW9ubHkgd2l0aCBR dC1HUEwtZXhjZXB0aW9uLTEuMCwgTEdQTC0zLjAtb25seSwgR1BMLTIuMC1vci1sYXRlciIKIGhv bWVwYWdlPSJodHRwczovL3F0LmlvLyIKIGRpc3RmaWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0Lmlv L29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVz L3F0NWNvbXBhdC1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3VtPWY1 MWY1MDVjOGU5ODViNTFiN2Q3MzNlMjdkNzgyYzZmY2UxODFiZWVmNTMzNjRhY2IwMzY4Y2M4OTJj NGI3OTIKK2NoZWNrc3VtPWE5ZTJmNTNhMTkzZmMyZTEzMWIwMWEyZjZlN2ExZmJmZTMxMzA5YzI0 MTNmZGMyMTNlNWE4MWM1NThjMjEyNjEKIAogaWYgWyAiJFhCUFNfQ0hFQ0tfUEtHUyIgXTsgdGhl bgogCWNvbmZpZ3VyZV9hcmdzPSItRFFUX0JVSUxEX1RFU1RTPU9OIgpAQCAtMjgsMTEgKzI4LDEx IEBAIHF0Ni1xdDVjb21wYXQtZGV2ZWxfcGFja2FnZSgpIHsKIAlwa2dfaW5zdGFsbCgpIHsKIAkJ dm1vdmUgdXNyL2luY2x1ZGUKIAkJdm1vdmUgdXNyL2xpYi9jbWFrZQotCQl2bW92ZSB1c3IvbGli L21ldGF0eXBlcworCQl2bW92ZSB1c3IvbGliL3F0Ni9tZXRhdHlwZXMKIAkJdm1vdmUgdXNyL2xp Yi9wa2djb25maWcKIAkJdm1vdmUgdXNyL2xpYi9xdDYvbWtzcGVjcwogCQl2bW92ZSAidXNyL2xp Yi8qLnNvIgogCQl2bW92ZSAidXNyL2xpYi8qLnBybCIKLQkJdm1vdmUgdXNyL3NoYXJlL3F0Ni9t b2R1bGVzCisJCXZtb3ZlIHVzci9saWIvcXQ2L21vZHVsZXMKIAl9CiB9CgpGcm9tIDNiODBkMGQx M2JmNDQ3ZDBlNjVjNjQ0ODEyMjA5NDFiNDM5YWUyODEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IEpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4KRGF0ZTogTW9uLCAzIEFwciAyMDIzIDE5 OjM2OjA3ICswMjAwClN1YmplY3Q6IFtQQVRDSCAxNy8yN10gcXQ2LW5ldHdvcmthdXRoOiB1cGRh dGUgdG8gNi41LjAuCgotLS0KIHNyY3BrZ3MvcXQ2LW5ldHdvcmthdXRoL3RlbXBsYXRlIHwgOCAr KysrLS0tLQogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1uZXR3b3JrYXV0aC90ZW1wbGF0ZSBiL3NyY3BrZ3Mv cXQ2LW5ldHdvcmthdXRoL3RlbXBsYXRlCmluZGV4IDM1ZDcxNjFhMzI4OC4uMDNiZGEzOGVkMWZj IDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni1uZXR3b3JrYXV0aC90ZW1wbGF0ZQorKysgYi9zcmNw a2dzL3F0Ni1uZXR3b3JrYXV0aC90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMgVGVtcGxhdGUg ZmlsZSBmb3IgJ3F0Ni1uZXR3b3JrYXV0aCcKIHBrZ25hbWU9cXQ2LW5ldHdvcmthdXRoCi12ZXJz aW9uPTYuNC4yCit2ZXJzaW9uPTYuNS4wCiByZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1jbWFrZQog aG9zdG1ha2VkZXBlbmRzPSJwZXJsIHF0Ni1iYXNlIgpAQCAtMTAsNyArMTAsNyBAQCBtYWludGFp bmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0iR1BMLTMuMC1vbmx5Igog aG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQucXQu aW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVs ZXMvcXRuZXR3b3JrYXV0aC1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNr c3VtPWRlYWIxN2JkOTU3ZDBhNDkzYmQ3NzU3YmM3MTI3MDkxODE0NzU5NmZiOTY2MWE4ODZiM2Yx ZDMwNTA0N2MyZWUKK2NoZWNrc3VtPWRiY2M1MjJhYjIxMzZlYmU2YzliZTVjN2YxNTZhM2JjZWZh OTJjZDE5YTQ2MmUzM2EwMGU5NDA2OGEyNDQxM2UKIAogaWYgWyAiJFhCUFNfQ0hFQ0tfUEtHUyIg XTsgdGhlbgogCWNvbmZpZ3VyZV9hcmdzPSItRFFUX0JVSUxEX1RFU1RTPU9OIgpAQCAtMjIsMTEg KzIyLDExIEBAIHF0Ni1uZXR3b3JrYXV0aC1kZXZlbF9wYWNrYWdlKCkgewogCXBrZ19pbnN0YWxs KCkgewogCQl2bW92ZSB1c3IvaW5jbHVkZQogCQl2bW92ZSB1c3IvbGliL2NtYWtlCi0JCXZtb3Zl IHVzci9saWIvbWV0YXR5cGVzCisJCXZtb3ZlIHVzci9saWIvcXQ2L21ldGF0eXBlcwogCQl2bW92 ZSB1c3IvbGliL3BrZ2NvbmZpZwogCQl2bW92ZSB1c3IvbGliL3F0Ni9ta3NwZWNzCiAJCXZtb3Zl ICJ1c3IvbGliLyouc28iCiAJCXZtb3ZlICJ1c3IvbGliLyoucHJsIgotCQl2bW92ZSB1c3Ivc2hh cmUvcXQ2L21vZHVsZXMKKwkJdm1vdmUgdXNyL2xpYi9xdDYvbW9kdWxlcwogCX0KIH0KCkZyb20g YWIxMzgyZGI3ZjA0NjI0OGRjYTUzNGM1ZWJiNzY4ZjZmMTEwNWJlNSBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogSm9obiA8bWVAam9obm55bmF0b3IuZGV2PgpEYXRlOiBNb24sIDMgQXBy IDIwMjMgMTk6MzY6MDYgKzAyMDAKU3ViamVjdDogW1BBVENIIDE4LzI3XSBxdDYtbXVsdGltZWRp YTogdXBkYXRlIHRvIDYuNS4wLgoKLS0tCiBzcmNwa2dzL3F0Ni1tdWx0aW1lZGlhL3RlbXBsYXRl IHwgNiArKystLS0KIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtbXVsdGltZWRpYS90ZW1wbGF0ZSBiL3NyY3Br Z3MvcXQ2LW11bHRpbWVkaWEvdGVtcGxhdGUKaW5kZXggZDg5ZTdkNTRlYjVhLi5jNjIyYjdjOWU4 ZmMgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LW11bHRpbWVkaWEvdGVtcGxhdGUKKysrIGIvc3Jj cGtncy9xdDYtbXVsdGltZWRpYS90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMgVGVtcGxhdGUg ZmlsZSBmb3IgJ3F0Ni1tdWx0aW1lZGlhJwogcGtnbmFtZT1xdDYtbXVsdGltZWRpYQotdmVyc2lv bj02LjQuMgordmVyc2lvbj02LjUuMAogcmV2aXNpb249MQogYnVpbGRfc3R5bGU9Y21ha2UKIGNv bmZpZ3VyZV9hcmdzPSItRFFUX0ZFQVRVUkVfZ3N0cmVhbWVyPU9OIgpAQCAtMTIsNyArMTIsNyBA QCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0iKExHUEwt My4wLW9ubHkgT1IgR1BMLTIuMC1vbmx5IE9SIEdQTC0zLjAtb25seSkgQU5EIEdQTC0zLjAtb25s eSB3aXRoIFF0LUdQTC1leGNlcHRpb24tMS4wIgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgog ZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2 ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXRtdWx0aW1lZGlhLWV2ZXJ5d2hlcmUt c3JjLSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09N2YyYjcwZGVlYWRhOTExYzhlNjYwZTI4 MDEyODY2NTdmMjk3YTVkMWQ1NDNkMWY2YmZhODU2ZjI4OTcyYzc3NgorY2hlY2tzdW09OTQ4MGQw YzczYWJkZDAxYWVjNDg5OWUzNDA5MzhjZWMwNDZhM2Y0MDRiOWY5ZWQ5NDUyODhiZTU3NGRjYTE0 NgogCiBpZiBbICIkWEJQU19NQUNISU5FIiA9ICJpNjg2IiBdOyB0aGVuCiAJQ1hYRkxBR1M9Ii1E UEZGRlRfU0lNRF9ESVNBQkxFPTEiCkBAIC0zOSw3ICszOSw3IEBAIHF0Ni1tdWx0aW1lZGlhLWRl dmVsX3BhY2thZ2UoKSB7CiAJcGtnX2luc3RhbGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNsdWRlCiAJ CXZtb3ZlIHVzci9saWIvY21ha2UKLQkJdm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJdm1vdmUg dXNyL2xpYi9xdDYvbWV0YXR5cGVzCiAJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCiAJCXZtb3Zl IHVzci9saWIvcXQ2L21rc3BlY3MKIAkJdm1vdmUgdXNyL2xpYi9xdDYvcW1sL1F0TXVsdGltZWRp YS9wbHVnaW5zLnFtbHR5cGVzCgpGcm9tIDljZjQzM2RiYTEwODgxODgzNjQ5NGY3OTI2YmU4N2Nl YTU4MjdjNDggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEpvaG4gPG1lQGpvaG5ueW5h dG9yLmRldj4KRGF0ZTogTW9uLCAzIEFwciAyMDIzIDE5OjM2OjA0ICswMjAwClN1YmplY3Q6IFtQ QVRDSCAxOS8yN10gcXQ2LWxvdHRpZTogdXBkYXRlIHRvIDYuNS4wLgoKLS0tCiBzcmNwa2dzL3F0 Ni1sb3R0aWUvdGVtcGxhdGUgfCA4ICsrKystLS0tCiAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRp b25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LWxvdHRpZS90 ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LWxvdHRpZS90ZW1wbGF0ZQppbmRleCAwZTI0Njk4N2QwNzgu LjhhMzdmYWU3ZjJkYyAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtbG90dGllL3RlbXBsYXRlCisr KyBiL3NyY3BrZ3MvcXQ2LWxvdHRpZS90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMgVGVtcGxh dGUgZmlsZSBmb3IgJ3F0Ni1sb3R0aWUnCiBwa2duYW1lPXF0Ni1sb3R0aWUKLXZlcnNpb249Ni40 LjIKK3ZlcnNpb249Ni41LjAKIHJldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPWNtYWtlCiBob3N0bWFr ZWRlcGVuZHM9InBlcmwgcXQ2LWJhc2UgcXQ2LWRlY2xhcmF0aXZlLWhvc3QtdG9vbHMiCkBAIC0x MCw3ICsxMCw3IEBAIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNl bnNlPSJHUEwtMy4wLW9ubHkiCiBob21lcGFnZT0iaHR0cHM6Ly9xdC5pby8iCiBkaXN0ZmlsZXM9 Imh0dHA6Ly9kb3dubG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9 LyR7dmVyc2lvbn0vc3VibW9kdWxlcy9xdGxvdHRpZS1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259 LnRhci54eiIKLWNoZWNrc3VtPWFjY2M4ODY5YzcyMDk1Y2U1YjM3M2EzMGMzNjJkMjEyMzUxNDVh NzlmOWUyNzA0ODA3MTJmODYxZDFkZTFjNTYKK2NoZWNrc3VtPTg0MjVlY2RlYjkyODZhNmM1MTk4 NWJkYWYzOTM2MDI2NjEwZDA0ZGMzMWVlYzA2ZmVlNzlkZjY0NDJiN2UyNDYKIAogaWYgWyAiJFhC UFNfQ0hFQ0tfUEtHUyIgXTsgdGhlbgogCWNvbmZpZ3VyZV9hcmdzPSItRFFUX0JVSUxEX1RFU1RT PU9OIgpAQCAtMzAsMTAgKzMwLDEwIEBAIHF0Ni1sb3R0aWUtZGV2ZWxfcGFja2FnZSgpIHsKIAlw a2dfaW5zdGFsbCgpIHsKIAkJdm1vdmUgdXNyL2luY2x1ZGUKIAkJdm1vdmUgdXNyL2xpYi9jbWFr ZQotCQl2bW92ZSB1c3IvbGliL21ldGF0eXBlcworCQl2bW92ZSB1c3IvbGliL3F0Ni9tZXRhdHlw ZXMKIAkJdm1vdmUgdXNyL2xpYi9xdDYvbWtzcGVjcwogCQl2bW92ZSAidXNyL2xpYi8qLnNvIgog CQl2bW92ZSAidXNyL2xpYi8qLnBybCIKLQkJdm1vdmUgdXNyL3NoYXJlL3F0Ni9tb2R1bGVzCisJ CXZtb3ZlIHVzci9saWIvcXQ2L21vZHVsZXMKIAl9CiB9CgpGcm9tIDYyNjc2MDNhNDlkMjQ3OWE4 N2QwOTdlNmVjMWYzYmEwOGRjZTlkOTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEpv aG4gPG1lQGpvaG5ueW5hdG9yLmRldj4KRGF0ZTogTW9uLCAzIEFwciAyMDIzIDE5OjM2OjA0ICsw MjAwClN1YmplY3Q6IFtQQVRDSCAyMC8yN10gcXQ2LWxvY2F0aW9uOiB1cGRhdGUgdG8gNi41LjAu CgotLS0KIHNyY3BrZ3MvcXQ2LWxvY2F0aW9uL3RlbXBsYXRlIHwgOCArKysrLS0tLQogMSBmaWxl IGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9z cmNwa2dzL3F0Ni1sb2NhdGlvbi90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LWxvY2F0aW9uL3RlbXBs YXRlCmluZGV4IDQyOWU5ZTAyZGIxMi4uODlmZjY0OThjNjc5IDEwMDY0NAotLS0gYS9zcmNwa2dz L3F0Ni1sb2NhdGlvbi90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni1sb2NhdGlvbi90ZW1wbGF0 ZQpAQCAtMSw2ICsxLDYgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni1sb2NhdGlvbicKIHBr Z25hbWU9cXQ2LWxvY2F0aW9uCi12ZXJzaW9uPTYuNC4yCit2ZXJzaW9uPTYuNS4wCiByZXZpc2lv bj0xCiBidWlsZF9zdHlsZT1jbWFrZQogaG9zdG1ha2VkZXBlbmRzPSJwZXJsIHF0Ni1iYXNlIHF0 Ni1kZWNsYXJhdGl2ZS1ob3N0LXRvb2xzIgpAQCAtMTAsNyArMTAsNyBAQCBtYWludGFpbmVyPSJK b2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0iKExHUEwtMy4wLW9ubHkgT1IgR1BM LTIuMC1vbmx5IE9SIEdQTC0zLjAtb25seSkgQU5EIEdQTC0zLjAtb25seSB3aXRoIFF0LUdQTC1l eGNlcHRpb24tMS4wIgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVzPSJodHRw Oi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3Zl cnNpb259L3N1Ym1vZHVsZXMvcXRwb3NpdGlvbmluZy1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259 LnRhci54eiIKLWNoZWNrc3VtPTdmMDFiYWY1YmE4NzdhZjViMjExYzlkMzJlNjA3NTAxOWYwMGQ5 ZDdhMmJhODFiYjBmMTBjYTc1OWU5YWVmODIKK2NoZWNrc3VtPTBkYTcxMjFlYmZkOWQyYmE5ODVh YjFmMmM4YTNhZjcwMDI3YzM1NzMyMTc3ZWMwZmM3MmZmN2U4MjgzNWM4ODYKIAogcHJlX2NoZWNr KCkgewogCWV4cG9ydCBRTUwyX0lNUE9SVF9QQVRIPSIkd3Jrc3JjL2J1aWxkL2xpYi9xdDYvcW1s IgpAQCAtMjYsMTEgKzI2LDExIEBAIHF0Ni1sb2NhdGlvbi1kZXZlbF9wYWNrYWdlKCkgewogCXBr Z19pbnN0YWxsKCkgewogCQl2bW92ZSB1c3IvaW5jbHVkZQogCQl2bW92ZSB1c3IvbGliL2NtYWtl Ci0JCXZtb3ZlIHVzci9saWIvbWV0YXR5cGVzCisJCXZtb3ZlIHVzci9saWIvcXQ2L21ldGF0eXBl cwogCQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZpZwogCQl2bW92ZSB1c3IvbGliL3F0Ni9ta3NwZWNz CiAJCXZtb3ZlICJ1c3IvbGliLyouc28iCiAJCXZtb3ZlICJ1c3IvbGliLyoucHJsIgotCQl2bW92 ZSB1c3Ivc2hhcmUvcXQ2L21vZHVsZXMKKwkJdm1vdmUgdXNyL2xpYi9xdDYvbW9kdWxlcwogCX0K IH0KCkZyb20gMjI2ZmUxNjFkNTQwZWU5ZGNjZTdiMGE2MjY3Mjg5OGU1MmUwNjA4OCBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSm9obiA8bWVAam9obm55bmF0b3IuZGV2PgpEYXRlOiBN b24sIDMgQXByIDIwMjMgMTk6MzY6MDIgKzAyMDAKU3ViamVjdDogW1BBVENIIDIxLzI3XSBxdDYt aW1hZ2Vmb3JtYXRzOiB1cGRhdGUgdG8gNi41LjAuCgotLS0KIHNyY3BrZ3MvcXQ2LWltYWdlZm9y bWF0cy90ZW1wbGF0ZSB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwg MiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1pbWFnZWZvcm1hdHMvdGVt cGxhdGUgYi9zcmNwa2dzL3F0Ni1pbWFnZWZvcm1hdHMvdGVtcGxhdGUKaW5kZXggM2VkNjNmNmU5 OGNkLi4yNTNmZjEyNWUwOWUgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LWltYWdlZm9ybWF0cy90 ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni1pbWFnZWZvcm1hdHMvdGVtcGxhdGUKQEAgLTEsNiAr MSw2IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtaW1hZ2Vmb3JtYXRzJwogcGtnbmFtZT1x dDYtaW1hZ2Vmb3JtYXRzCi12ZXJzaW9uPTYuNC4yCit2ZXJzaW9uPTYuNS4wCiByZXZpc2lvbj0x CiBidWlsZF9zdHlsZT1jbWFrZQogaG9zdG1ha2VkZXBlbmRzPSJwZXJsIHF0Ni1iYXNlIgpAQCAt MTAsNCArMTAsNCBAQCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGlj ZW5zZT0iTEdQTC0zLjAtb25seSBPUiBHUEwtMi4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IgogaG9t ZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQucXQuaW8v b2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMv cXRpbWFnZWZvcm1hdHMtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufS50YXIueHoiCi1jaGVja3N1 bT1mYzVmOTk5YWUwNzc5YTY3ZDU1MDc5NTZkNGRkMzE1Mzg2ZWI4MWNmNmNjYmE2MzJkZTAzOWJi OWVlZTExNzA3CitjaGVja3N1bT1mOWY4MTBjZDNhYzdlNjAxMzJjMGRhMzNmMzRmY2ZjZTQyZTNl NzY0ZDZjYWQzMDIwYzJmM2IxYjQyMDQ2Zjc4CgpGcm9tIGVlYjQ0MDI0MTYyMjY0ZTM2MzM4YzU3 ZWZlMmQxN2EyYjNlNTIwZDggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEpvaG4gPG1l QGpvaG5ueW5hdG9yLmRldj4KRGF0ZTogTW9uLCAzIEFwciAyMDIzIDE5OjM2OjAxICswMjAwClN1 YmplY3Q6IFtQQVRDSCAyMi8yN10gcXQ2LWRlY2xhcmF0aXZlOiB1cGRhdGUgdG8gNi41LjAuCgot LS0KIC4uLi9wYXRjaGVzL3FtbC1icm9rZW4tdGVzdC5wYXRjaCAgICAgICAgICAgICB8IDY0IC0t LS0tLS0tLS0tLS0tLS0tLS0KIHNyY3BrZ3MvcXQ2LWRlY2xhcmF0aXZlL3RlbXBsYXRlICAgICAg ICAgICAgICB8ICA4ICstLQogMiBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDY4IGRl bGV0aW9ucygtKQogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LWRlY2xhcmF0aXZlL3Bh dGNoZXMvcW1sLWJyb2tlbi10ZXN0LnBhdGNoCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtZGVj bGFyYXRpdmUvcGF0Y2hlcy9xbWwtYnJva2VuLXRlc3QucGF0Y2ggYi9zcmNwa2dzL3F0Ni1kZWNs YXJhdGl2ZS9wYXRjaGVzL3FtbC1icm9rZW4tdGVzdC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggYjE2NDEyZmNkNWU1Li4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9xdDYt ZGVjbGFyYXRpdmUvcGF0Y2hlcy9xbWwtYnJva2VuLXRlc3QucGF0Y2gKKysrIC9kZXYvbnVsbApA QCAtMSw2NCArMCwwIEBACi0tLS0gcXQ2LWRlY2xhcmF0aXZlLTYuNC4yLm9yaWcvdGVzdHMvYXV0 by9xdWlja2NvbnRyb2xzMi9jb250cm9scy9kYXRhL3RzdF9yYW5nZXNsaWRlci5xbWwKLSsrKyBx dDYtZGVjbGFyYXRpdmUtNi40LjIvdGVzdHMvYXV0by9xdWlja2NvbnRyb2xzMi9jb250cm9scy9k YXRhL3RzdF9yYW5nZXNsaWRlci5xbWwKLUBAIC02MDIsNjEgKzYwMiw2IEBAIFRlc3RDYXNlIHsK LSAgICAgfQotIAotICAgICBmdW5jdGlvbiB0ZXN0X292ZXJsYXBwaW5nSGFuZGxlcygpIHsKLS0g ICAgICAgIHZhciBjb250cm9sID0gY3JlYXRlVGVtcG9yYXJ5T2JqZWN0KHNsaWRlckNvbXBvbmVu dCwgdGVzdENhc2UpCi0tICAgICAgICB2ZXJpZnkoY29udHJvbCkKLS0KLS0gICAgICAgIC8vIEJ5 IGRlZmF1bHQsIHdlIGZvcmNlIHRoZSBzZWNvbmQgaGFuZGxlIHRvIGJlIGFmdGVyIHRoZSBmaXJz dCBpbgotLSAgICAgICAgLy8gdGVybXMgb2Ygc3RhY2tpbmcgb3JkZXIgKmFuZCogeiB2YWx1ZS4K LS0gICAgICAgIGNvbXBhcmUoY29udHJvbC5zZWNvbmQuaGFuZGxlLnosIDEpCi0tICAgICAgICBj b21wYXJlKGNvbnRyb2wuZmlyc3QuaGFuZGxlLnosIDApCi0tICAgICAgICBjb250cm9sLmZpcnN0 LnZhbHVlID0gMAotLSAgICAgICAgY29udHJvbC5zZWNvbmQudmFsdWUgPSAwCi0tCi0tICAgICAg ICAvLyBXaGVuIGJvdGggaGFuZGxlcyBvdmVybGFwLCBvbmx5IHRoZSBoYW5kbGUgd2l0aCB0aGUg aGlnaGVyIFogdmFsdWUKLS0gICAgICAgIC8vIHNob3VsZCBiZSBob3ZlcmVkLgotLSAgICAgICAg bW91c2VNb3ZlKGNvbnRyb2wsIGNvbnRyb2wuc2Vjb25kLmhhbmRsZS54LCBjb250cm9sLnNlY29u ZC5oYW5kbGUueSkKLS0gICAgICAgIGNvbXBhcmUoY29udHJvbC5zZWNvbmQuaG92ZXJlZCwgdHJ1 ZSkKLS0gICAgICAgIGNvbXBhcmUoY29udHJvbC5maXJzdC5ob3ZlcmVkLCBmYWxzZSkKLS0KLS0g ICAgICAgIC8vIEJvdGggYXJlIGF0IHRoZSBzYW1lIHBvc2l0aW9uLCBzbyBpdCBkb2Vzbid0IG1h dHRlciB3aG9zZSBjb29yZGluYXRlcyB3ZSB1c2UuCi0tICAgICAgICBtb3VzZVByZXNzKGNvbnRy b2wsIGNvbnRyb2wuZmlyc3QuaGFuZGxlLngsIGNvbnRyb2wuZmlyc3QuaGFuZGxlLnksIFF0Lkxl ZnRCdXR0b24pCi0tICAgICAgICB2ZXJpZnkoY29udHJvbC5zZWNvbmQucHJlc3NlZCkKLS0gICAg ICAgIGNvbXBhcmUoY29udHJvbC5zZWNvbmQuaGFuZGxlLnosIDEpCi0tICAgICAgICBjb21wYXJl KGNvbnRyb2wuZmlyc3QuaGFuZGxlLnosIDApCi0tCi0tICAgICAgICAvLyBNb3ZlIHRoZSBzZWNv bmQgaGFuZGxlIG91dCBvZiB0aGUgd2F5LgotLSAgICAgICAgbW91c2VNb3ZlKGNvbnRyb2wsIGNv bnRyb2wud2lkdGgsIGNvbnRyb2wuZmlyc3QuaGFuZGxlLnkpCi0tICAgICAgICBtb3VzZVJlbGVh c2UoY29udHJvbCwgY29udHJvbC53aWR0aCwgY29udHJvbC5maXJzdC5oYW5kbGUueSwgUXQuTGVm dEJ1dHRvbikKLS0gICAgICAgIHZlcmlmeSghY29udHJvbC5zZWNvbmQucHJlc3NlZCkKLS0gICAg ICAgIGNvbXBhcmUoY29udHJvbC5zZWNvbmQudmFsdWUsIDEuMCkKLS0gICAgICAgIGNvbXBhcmUo Y29udHJvbC5zZWNvbmQuaGFuZGxlLnosIDEpCi0tICAgICAgICBjb21wYXJlKGNvbnRyb2wuZmly c3QuaGFuZGxlLnosIDApCi0tCi0tICAgICAgICAvLyBUaGUgZmlyc3QgaGFuZGxlIHNob3VsZCBu b3QgYmUgaG92ZXJlZC4KLS0gICAgICAgIGNvbXBhcmUoY29udHJvbC5maXJzdC5ob3ZlcmVkLCBm YWxzZSkKLS0KLS0gICAgICAgIC8vIE1vdmUgdGhlIGZpcnN0IGhhbmRsZSBvbiB0b3Agb2YgdGhl IHNlY29uZC4KLS0gICAgICAgIG1vdXNlUHJlc3MoY29udHJvbCwgY29udHJvbC5maXJzdC5oYW5k bGUueCwgY29udHJvbC5maXJzdC5oYW5kbGUueSwgUXQuTGVmdEJ1dHRvbikKLS0gICAgICAgIHZl cmlmeShjb250cm9sLmZpcnN0LnByZXNzZWQpCi0tICAgICAgICBjb21wYXJlKGNvbnRyb2wuZmly c3QuaGFuZGxlLnosIDEpCi0tICAgICAgICBjb21wYXJlKGNvbnRyb2wuc2Vjb25kLmhhbmRsZS56 LCAwKQotLQotLSAgICAgICAgbW91c2VNb3ZlKGNvbnRyb2wsIGNvbnRyb2wud2lkdGgsIGNvbnRy b2wuZmlyc3QuaGFuZGxlLnkpCi0tICAgICAgICBtb3VzZVJlbGVhc2UoY29udHJvbCwgY29udHJv bC53aWR0aCwgY29udHJvbC5maXJzdC5oYW5kbGUueSwgUXQuTGVmdEJ1dHRvbikKLS0gICAgICAg IHZlcmlmeSghY29udHJvbC5maXJzdC5wcmVzc2VkKQotLSAgICAgICAgY29tcGFyZShjb250cm9s LmZpcnN0LmhhbmRsZS56LCAxKQotLSAgICAgICAgY29tcGFyZShjb250cm9sLnNlY29uZC5oYW5k bGUueiwgMCkKLS0KLS0gICAgICAgIC8vIFRoZSBtb3N0IHJlY2VudGx5IHByZXNzZWQgaGFuZGxl ICh0aGUgZmlyc3QpIHNob3VsZCBoYXZlIHRoZSBoaWdoZXIgeiB2YWx1ZS4KLS0gICAgICAgIG1v dXNlUHJlc3MoY29udHJvbCwgY29udHJvbC5maXJzdC5oYW5kbGUueCwgY29udHJvbC5maXJzdC5o YW5kbGUueSwgUXQuTGVmdEJ1dHRvbikKLS0gICAgICAgIHZlcmlmeShjb250cm9sLmZpcnN0LnBy ZXNzZWQpCi0tICAgICAgICBjb21wYXJlKGNvbnRyb2wuZmlyc3QuaGFuZGxlLnosIDEpCi0tICAg ICAgICBjb21wYXJlKGNvbnRyb2wuc2Vjb25kLmhhbmRsZS56LCAwKQotLQotLSAgICAgICAgbW91 c2VSZWxlYXNlKGNvbnRyb2wsIGNvbnRyb2wuZmlyc3QuaGFuZGxlLngsIGNvbnRyb2wuZmlyc3Qu aGFuZGxlLnksIFF0LkxlZnRCdXR0b24pCi0tICAgICAgICB2ZXJpZnkoIWNvbnRyb2wuZmlyc3Qu cHJlc3NlZCkKLS0gICAgICAgIGNvbXBhcmUoY29udHJvbC5maXJzdC5oYW5kbGUueiwgMSkKLS0g ICAgICAgIGNvbXBhcmUoY29udHJvbC5zZWNvbmQuaGFuZGxlLnosIDApCi0gICAgIH0KLSAKLSAg ICAgZnVuY3Rpb24gdGVzdF9rZXlzX2RhdGEoKSB7CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1k ZWNsYXJhdGl2ZS90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LWRlY2xhcmF0aXZlL3RlbXBsYXRlCmlu ZGV4IGEzZDkyMWY5ZWExOS4uMjJlNThmMTU3OGUzIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni1k ZWNsYXJhdGl2ZS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni1kZWNsYXJhdGl2ZS90ZW1wbGF0 ZQpAQCAtMSw2ICsxLDYgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni1kZWNsYXJhdGl2ZScK IHBrZ25hbWU9cXQ2LWRlY2xhcmF0aXZlCi12ZXJzaW9uPTYuNC4yCit2ZXJzaW9uPTYuNS4wCiBy ZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1jbWFrZQogY29uZmlndXJlX2FyZ3M9Ii1EUVRfQlVJTERf VEVTVFM9T04iCkBAIC0xMSw3ICsxMSw3IEBAIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5h dG9yLmRldj4iCiBsaWNlbnNlPSJHUEwtMy4wLW9ubHkgd2l0aCBRdC1HUEwtZXhjZXB0aW9uLTEu MCwgTEdQTC0zLjAtb25seSwgR1BMLTIuMC1vci1sYXRlciIKIGhvbWVwYWdlPSJodHRwczovL3d3 dy5xdC5pbyIKIGRpc3RmaWxlcz0iaHR0cHM6Ly9kb3dubG9hZC5xdC5pby9vZmZpY2lhbF9yZWxl YXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVyc2lvbn0vc3VibW9kdWxlcy9xdGRlY2xhcmF0aXZl LWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09YTRiZGQ5ODNkZTRl OWNiY2EwZjg1Yjc2N2RiZGQ4NTk4NzExNTU0ZTM3MGEwNmRhOGY1MDlkZWQ0NDMwZjViZAorY2hl Y2tzdW09ZjdkNjMxY2Q4ZWJjMTQ5MWRhZDBmMzBmMWI1MzI2YWU4MTJiZWU0YWQ3MDZlNjExNTc4 MTZhODJiZjU4OGM5NwogcmVwbGFjZXM9InF0Ni1xdWlja2NvbnRyb2xzMj49MCIKIAogaWYgWyAi JENST1NTX0JVSUxEIiBdOyB0aGVuCkBAIC05NiwxMyArOTYsMTMgQEAgcXQ2LWRlY2xhcmF0aXZl LWRldmVsX3BhY2thZ2UoKSB7CiAJcmVwbGFjZXM9InF0Ni1xdWlja2NvbnRyb2xzMi1kZXZlbD49 MCIKIAlwa2dfaW5zdGFsbCgpIHsKIAkJdm1vdmUgdXNyL2luY2x1ZGUKLQkJdm1vdmUgdXNyL2xp Yi9tZXRhdHlwZXMKKwkJdm1vdmUgdXNyL2xpYi9xdDYvbWV0YXR5cGVzCiAJCXZtb3ZlIHVzci9s aWIvcGtnY29uZmlnCiAJCXZtb3ZlIHVzci9saWIvcXQ2L21rc3BlY3MKIAkJdm1vdmUgInVzci9s aWIvKi5zbyIKIAkJdm1vdmUgInVzci9saWIvKi5hIgogCQl2bW92ZSAidXNyL2xpYi8qLnBybCIK LQkJdm1vdmUgdXNyL3NoYXJlL3F0Ni9tb2R1bGVzCisJCXZtb3ZlIHVzci9saWIvcXQ2L21vZHVs ZXMKIAkJZm9yIF9mIGluICR7REVTVERJUn0vdXNyL2xpYi9jbWFrZS8qOyBkbwogCQkJY2FzZSAi JF9mIiBpbgogCQkJKlRvb2xzKSA7OwoKRnJvbSA5MWM4Y2MzMmUzZGM3NThlNjlkYjUzZTAyYjg1 MzY1NmYzMjkyZjYyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKb2huIDxtZUBqb2hu bnluYXRvci5kZXY+CkRhdGU6IE1vbiwgMyBBcHIgMjAyMyAxOTozNTo1NSArMDIwMApTdWJqZWN0 OiBbUEFUQ0ggMjMvMjddIHF0Ni1jb25uZWN0aXZpdHk6IHVwZGF0ZSB0byA2LjUuMC4KCi0tLQog c3JjcGtncy9xdDYtY29ubmVjdGl2aXR5L3RlbXBsYXRlIHwgOCArKysrLS0tLQogMSBmaWxlIGNo YW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNw a2dzL3F0Ni1jb25uZWN0aXZpdHkvdGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni1jb25uZWN0aXZpdHkv dGVtcGxhdGUKaW5kZXggNjZmY2U1YzAzOTdiLi41NzA1NDE2YmE0NDAgMTAwNjQ0Ci0tLSBhL3Ny Y3BrZ3MvcXQ2LWNvbm5lY3Rpdml0eS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni1jb25uZWN0 aXZpdHkvdGVtcGxhdGUKQEAgLTEsNiArMSw2IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYt Y29ubmVjdGl2aXR5JwogcGtnbmFtZT1xdDYtY29ubmVjdGl2aXR5Ci12ZXJzaW9uPTYuNC4yCit2 ZXJzaW9uPTYuNS4wCiByZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1jbWFrZQogaG9zdG1ha2VkZXBl bmRzPSJwZXJsIHF0Ni1kZWNsYXJhdGl2ZS1ob3N0LXRvb2xzIgpAQCAtMTAsNyArMTAsNyBAQCBt YWludGFpbmVyPSLEkG/DoG4gVHLhuqduIEPDtG5nIERhbmggPGNvbmdkYW5ocXhAZ21haWwuY29t PiIKIGxpY2Vuc2U9IkdQTC0zLjAtb25seSIKIGhvbWVwYWdlPSJodHRwczovL3F0LmlvLyIKIGRp c3RmaWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVy c2lvbiUuKn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0Y29ubmVjdGl2aXR5LWV2ZXJ5d2hlcmUt c3JjLSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09OGM5YjQ0YjIzOWU0MmI0YzRkNmZjYTVm NDI3OTA0ZTY4ODg5MGIyYTFiZmI2YmNiZTVlNmUyYWZjZGM1ZDdhZgorY2hlY2tzdW09ZTc2MzY2 NTNiYWI5ODYzNjFhNzdiMjM0NTFkOTY2Yzg1NTkxNDI4YzA0MjI3NDE4OTBlZjBmYjE5NzY5OGYw NgogCiBxdDYtY29ubmVjdGl2aXR5LWRldmVsX3BhY2thZ2UoKSB7CiAJZGVwZW5kcz0iJHtzb3Vy Y2Vwa2d9Pj0ke3ZlcnNpb259XyR7cmV2aXNpb259CkBAIC0xOSwxMSArMTksMTEgQEAgcXQ2LWNv bm5lY3Rpdml0eS1kZXZlbF9wYWNrYWdlKCkgewogCXBrZ19pbnN0YWxsKCkgewogCQl2bW92ZSB1 c3IvaW5jbHVkZQogCQl2bW92ZSB1c3IvbGliL2NtYWtlCi0JCXZtb3ZlIHVzci9saWIvbWV0YXR5 cGVzCisJCXZtb3ZlIHVzci9saWIvcXQ2L21ldGF0eXBlcwogCQl2bW92ZSB1c3IvbGliL3BrZ2Nv bmZpZwogCQl2bW92ZSB1c3IvbGliL3F0Ni9ta3NwZWNzCiAJCXZtb3ZlICJ1c3IvbGliLyouc28i CiAJCXZtb3ZlICJ1c3IvbGliLyoucHJsIgotCQl2bW92ZSB1c3Ivc2hhcmUvcXQ2L21vZHVsZXMK KwkJdm1vdmUgdXNyL2xpYi9xdDYvbW9kdWxlcwogCX0KIH0KCkZyb20gNDM3MGFmYzhiNDNhZGFk ZGUzYTNkNmJkN2NiMzA5ZmFhMTMxYWVlMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog Sm9obiA8bWVAam9obm55bmF0b3IuZGV2PgpEYXRlOiBNb24sIDMgQXByIDIwMjMgMTk6MzU6NTQg KzAyMDAKU3ViamVjdDogW1BBVENIIDI0LzI3XSBxdDYtY2hhcnRzOiB1cGRhdGUgdG8gNi41LjAu CgotLS0KIHNyY3BrZ3MvcXQ2LWNoYXJ0cy90ZW1wbGF0ZSB8IDggKysrKy0tLS0KIDEgZmlsZSBj aGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9xdDYtY2hhcnRzL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtY2hhcnRzL3RlbXBsYXRlCmlu ZGV4IDU3Y2U4ODE0MzM2Ny4uMmMwMGFjOWE0NGExIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni1j aGFydHMvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9xdDYtY2hhcnRzL3RlbXBsYXRlCkBAIC0xLDYg KzEsNiBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LWNoYXJ0cycKIHBrZ25hbWU9cXQ2LWNo YXJ0cwotdmVyc2lvbj02LjQuMgordmVyc2lvbj02LjUuMAogcmV2aXNpb249MQogYnVpbGRfc3R5 bGU9Y21ha2UKIGhvc3RtYWtlZGVwZW5kcz0icGVybCBxdDYtZGVjbGFyYXRpdmUtaG9zdC10b29s cyIKQEAgLTEwLDcgKzEwLDcgQEAgbWFpbnRhaW5lcj0iSm9obiA8bWVAam9obm55bmF0b3IuZGV2 PiIKIGxpY2Vuc2U9IkdQTC0zLjAtb25seSIKIGhvbWVwYWdlPSJodHRwczovL3F0LmlvLyIKIGRp c3RmaWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVy c2lvbiUuKn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0Y2hhcnRzLWV2ZXJ5d2hlcmUtc3JjLSR7 dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09YTFhN2MwZTA4Yzg4NzBjZjk3ZDFjM2EyZWIzZjM3 NjgxYWFlZDAwYTYzYjViMmY3MGJkZjJkYTg3OGQwYTlhYQorY2hlY2tzdW09ZmNjZDFkNTBhN2Y1 NmRlMDExZjc2NjhlMGU5MGYwMjIzMTZiZDQwNjVmYTdmOTFiMDc4NTc5NDAzZTJlMjZhOAogCiBw cmVfY2hlY2soKSB7CiAJZXhwb3J0IFFNTDJfSU1QT1JUX1BBVEg9IiR3cmtzcmMvYnVpbGQvbGli L3F0Ni9xbWwiCkBAIC0yNiwxMSArMjYsMTEgQEAgcXQ2LWNoYXJ0cy1kZXZlbF9wYWNrYWdlKCkg ewogCXBrZ19pbnN0YWxsKCkgewogCQl2bW92ZSB1c3IvaW5jbHVkZQogCQl2bW92ZSB1c3IvbGli L2NtYWtlCi0JCXZtb3ZlIHVzci9saWIvbWV0YXR5cGVzCisJCXZtb3ZlIHVzci9saWIvcXQ2L21l dGF0eXBlcwogCQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZpZwogCQl2bW92ZSB1c3IvbGliL3F0Ni9t a3NwZWNzCiAJCXZtb3ZlICJ1c3IvbGliLyouc28iCiAJCXZtb3ZlICJ1c3IvbGliLyoucHJsIgot CQl2bW92ZSB1c3Ivc2hhcmUvcXQ2L21vZHVsZXMKKwkJdm1vdmUgdXNyL2xpYi9xdDYvbW9kdWxl cwogCX0KIH0KCkZyb20gNjA0MWVhZTRmYjZhMGQ4MTNkZTlmZTQyMDM3YjA5YTZiMjc5MTM3YyBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSm9obiA8bWVAam9obm55bmF0b3IuZGV2PgpE YXRlOiBNb24sIDMgQXByIDIwMjMgMTk6MzU6NTMgKzAyMDAKU3ViamVjdDogW1BBVENIIDI1LzI3 XSBxdDYtYmFzZTogdXBkYXRlIHRvIDYuNS4wLgoKLS0tCiBzcmNwa2dzL3F0Ni1iYXNlL3BhdGNo ZXMvZmVlbmFibGVleGNlcHQucGF0Y2ggfCAxMyAtLS0tLS0tLS0tLS0tCiBzcmNwa2dzL3F0Ni1i YXNlL3RlbXBsYXRlICAgICAgICAgICAgICAgICAgICAgfCAxNiArKysrKysrKystLS0tLS0tCiAy IGZpbGVzIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgMjAgZGVsZXRpb25zKC0pCiBkZWxldGUg bW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtYmFzZS9wYXRjaGVzL2ZlZW5hYmxlZXhjZXB0LnBhdGNo CgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtYmFzZS9wYXRjaGVzL2ZlZW5hYmxlZXhjZXB0LnBh dGNoIGIvc3JjcGtncy9xdDYtYmFzZS9wYXRjaGVzL2ZlZW5hYmxlZXhjZXB0LnBhdGNoCmRlbGV0 ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5YjI2OGJjOTVkM2UuLjAwMDAwMDAwMDAwMAotLS0g YS9zcmNwa2dzL3F0Ni1iYXNlL3BhdGNoZXMvZmVlbmFibGVleGNlcHQucGF0Y2gKKysrIC9kZXYv bnVsbApAQCAtMSwxMyArMCwwIEBACi0tLS0gcXQ2LWJhc2UtNi40LjIub3JpZy90ZXN0cy9hdXRv L2NvcmVsaWIvdGV4dC9xbG9jYWxlL3RzdF9xbG9jYWxlLmNwcAotKysrIHF0Ni1iYXNlLTYuNC4y L3Rlc3RzL2F1dG8vY29yZWxpYi90ZXh0L3Fsb2NhbGUvdHN0X3Fsb2NhbGUuY3BwCi1AQCAtMTUw Miw4ICsxNTAyLDEwIEBAIHZvaWQgdHN0X1FMb2NhbGU6OmZwRXhjZXB0aW9ucygpCi0gICAgIGZl bnZfdCBlbnZwOwotICAgICBmZWdldGVudigmZW52cCk7Ci0gICAgIGZlY2xlYXJleGNlcHQoRkVf QUxMX0VYQ0VQVCk7Ci0rI2lmZGVmIF9fR0xJQkNfXwotICAgICBmZWVuYWJsZWV4Y2VwdChGRV9E SVZCWVpFUk8gfCBGRV9PVkVSRkxPVyB8IEZFX1VOREVSRkxPVyB8IEZFX0lOVkFMSUQpOwotICNl bmRpZgotKyNlbmRpZgotIAotICAgICBRU3RyaW5nOjpudW1iZXIoMTAwMC4xMjQ1KTsKLSAgICAg UVN0cmluZzo6bnVtYmVyKDEuMSk7CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1iYXNlL3RlbXBs YXRlIGIvc3JjcGtncy9xdDYtYmFzZS90ZW1wbGF0ZQppbmRleCBkZmRlNjBiZGI0MzguLjI2YzMy NzQ2NDFlNSAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtYmFzZS90ZW1wbGF0ZQorKysgYi9zcmNw a2dzL3F0Ni1iYXNlL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZv ciAncXQ2LWJhc2UnCiBwa2duYW1lPXF0Ni1iYXNlCi12ZXJzaW9uPTYuNC4yCi1yZXZpc2lvbj0z Cit2ZXJzaW9uPTYuNS4wCityZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1jbWFrZQogY29uZmlndXJl X2FyZ3M9Ii1ESU5TVEFMTF9EQVRBRElSPXNoYXJlL3F0NgogIC1ESU5TVEFMTF9BUkNIREFUQURJ Uj1saWIvcXQ2CkBAIC0yNiwxMyArMjYsMTMgQEAgbWFrZWRlcGVuZHM9InpsaWItZGV2ZWwgbGli enN0ZC1kZXZlbCBkYnVzLWRldmVsCiAgbGlibWFyaWFkYmNsaWVudC1kZXZlbCBwb3N0Z3Jlc3Fs LWxpYnMtZGV2ZWwgbGliYXRvbWljLWRldmVsCiAgdW5peG9kYmMtZGV2ZWwgY3Vwcy1kZXZlbCBs aWJwcm94eS1kZXZlbCBicm90bGktZGV2ZWwKICBzcWxpdGUtZGV2ZWwgVnVsa2FuLUhlYWRlcnMg bWl0LWtyYjUtZGV2ZWwgdnVsa2FuLWxvYWRlciBsaWJiMi1kZXZlbAotIGxpYlhldmllLWRldmVs IGxpYlhjdXJzb3ItZGV2ZWwiCisgbGliWGV2aWUtZGV2ZWwgeGNiLXV0aWwtY3Vyc29yLWRldmVs Igogc2hvcnRfZGVzYz0iQ3Jvc3MtcGxhdGZvcm0gYXBwbGljYXRpb24gYW5kIFVJIGZyYW1ld29y ayAoUVQ2KSIKIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNl PSJHUEwtMy4wLW9ubHkgV0lUSCBRdC1HUEwtZXhjZXB0aW9uLTEuMCwgTEdQTC0zLjAtb25seSwg R1BMLTIuMC1vci1sYXRlciIKIGhvbWVwYWdlPSJodHRwczovL3d3dy5xdC5pbyIKIGRpc3RmaWxl cz0iaHR0cHM6Ly9kb3dubG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24l Lip9LyR7dmVyc2lvbn0vc3VibW9kdWxlcy9xdGJhc2UtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9u fS50YXIueHoiCi1jaGVja3N1bT1hODhiYzZjZWRiYjM0ODc4YTQ5YTYyMmJhYTc5Y2FjZTc4Y2Zi YWQ0Zjk1ZmRiZDM2NTZkZGIyMWM3MDU1MjVkCitjaGVja3N1bT1mZGUxYWE3YjRmYmU2NGVjMWI0 ZmM1NzZhNTdmNDY4OGFkMTQ1M2QyZmFiNTljYmFkZDk0OGExMGE2ZWFmNWVmCiBweXRob25fdmVy c2lvbj0zCiAKIGlmIFsgIiRDUk9TU19CVUlMRCIgXTsgdGhlbgpAQCAtNjMsNyArNjMsOSBAQCBk b19jaGVjaygpIHsKIAkJdHN0X3FncmFwaGljc3ZpZXcgdHN0X3FhcHBsaWNhdGlvbiB0c3RfcWZv bnRjb21ib2JveAogCQl0c3RfcWxpbmVlZGl0IHRzdF9xbWVudWJhciB0c3RfcW9wZW5nbHdpZGdl dAogCQl0c3RfcXgxMWluZm8gdHN0X3Fjb21wbGV4dGV4dAotCQl0c3RfcWFkZHByZXJvdXRpbmUg dHN0X3F0ZXh0Y3Vyc29yIgorCQl0c3RfcWFkZHByZXJvdXRpbmUgdHN0X3F0ZXh0Y3Vyc29yCisJ CXRlc3Rfd2lkZ2V0c19hcHBfZGVwbG95bWVudCB0c3RfcW5ldHdvcmtpbnRlcmZhY2UKKwkJdHN0 X3FncmFwaGljc3Byb3h5d2lkZ2V0IgogCSMgVW5rbm93biBwbGF0Zm9ybSBsaW51eC1nKysgOi8K IAlmYWlsaW5nX3Rlc3RzKz0iIG1vY2twbHVnaW5zIHRlc3RfaW1wb3J0X3BsdWdpbnMKIAkgdGVz dF9zdGF0aWNfcmVzb3VyY2VzIHRlc3RfZ2VuZXJhdGluZ19jcHBfZXhwb3J0cyIKQEAgLTI4Miwx MyArMjg0LDEzIEBAIHF0Ni1iYXNlLWRldmVsX3BhY2thZ2UoKSB7CiAJcGtnX2luc3RhbGwoKSB7 CiAJCWxvY2FsIF9mCiAJCXZtb3ZlIHVzci9pbmNsdWRlCi0JCXZtb3ZlIHVzci9saWIvbWV0YXR5 cGVzCiAJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCisJCXZtb3ZlIHVzci9saWIvcXQ2L21ldGF0 eXBlcwogCQl2bW92ZSB1c3IvbGliL3F0Ni9ta3NwZWNzL21vZHVsZXMKIAkJdm1vdmUgInVzci9s aWIvKi5hIgogCQl2bW92ZSAidXNyL2xpYi8qLnNvIgogCQl2bW92ZSAidXNyL2xpYi8qLnBybCIK LQkJdm1vdmUgdXNyL3NoYXJlL3F0Ni9tb2R1bGVzCisJCXZtb3ZlIHVzci9saWIvcXQ2L21vZHVs ZXMKIAkJZm9yIF9mIGluICR7REVTVERJUn0vdXNyL2xpYi9jbWFrZS8qOyBkbwogCQkJY2FzZSAi JF9mIiBpbgogCQkJKlRvb2xzfCpIb3N0SW5mbykgOzsKCkZyb20gMjQ1Y2JjOTI5ZjNiYzEwNTI0 OThkNjBlNmQyMzJlOWQ1NzVmMDZjZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSm9o biA8bWVAam9obm55bmF0b3IuZGV2PgpEYXRlOiBNb24sIDMgQXByIDIwMjMgMTk6MzU6NDQgKzAy MDAKU3ViamVjdDogW1BBVENIIDI2LzI3XSBxdDYtM2Q6IHVwZGF0ZSB0byA2LjUuMC4KCi0tLQog c3JjcGtncy9xdDYtM2QvdGVtcGxhdGUgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2Vy dGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtM2QvdGVt cGxhdGUgYi9zcmNwa2dzL3F0Ni0zZC90ZW1wbGF0ZQppbmRleCA5NTUxOTY2OGQxY2MuLjRiN2Zi ZWUwNTYyZSAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtM2QvdGVtcGxhdGUKKysrIGIvc3JjcGtn cy9xdDYtM2QvdGVtcGxhdGUKQEAgLTEsNiArMSw2IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdx dDYtM2QnCiBwa2duYW1lPXF0Ni0zZAotdmVyc2lvbj02LjQuMgordmVyc2lvbj02LjUuMAogcmV2 aXNpb249MQogYnVpbGRfc3R5bGU9Y21ha2UKIGhvc3RtYWtlZGVwZW5kcz0icGVybCBxdDYtZGVj bGFyYXRpdmUtaG9zdC10b29scyIKQEAgLTExLDcgKzExLDcgQEAgbWFpbnRhaW5lcj0iSm9obiA8 bWVAam9obm55bmF0b3IuZGV2PiIKIGxpY2Vuc2U9IihMR1BMLTMuMC1vbmx5IE9SIEdQTC0yLjAt b25seSBPUiBHUEwtMy4wLW9ubHkpIEFORCBHUEwtMy4wLW9ubHkgd2l0aCBRdC1HUEwtZXhjZXB0 aW9uLTEuMCIKIGhvbWVwYWdlPSJodHRwczovL3F0LmlvLyIKIGRpc3RmaWxlcz0iaHR0cDovL2Rv d25sb2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9u fS9zdWJtb2R1bGVzL3F0M2QtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufS50YXIueHoiCi1jaGVj a3N1bT00NTZjMjRjM2QzODQwMjczZTcyMGI3OWZlOGZlZDQ1MmZhODg5YjU0Y2JhZTZiNDVkYjFk MWRlZDRkYTM3MzQxCitjaGVja3N1bT0yMGIyNTAwMjMyNDRmMjFkZmJlYzVjMDA3YmFjODA1ZDQ0 OTRmYTQ2M2E2ZGQyNzUzOGFmYjFhODFiMjMwODE2CiAKIHF0Ni0zZC1kZXZlbF9wYWNrYWdlKCkg ewogCWRlcGVuZHM9IiR7c291cmNlcGtnfT49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKCkZyb20g NDA2ZjU2YWQ4ZjVmN2Y0ZmVlYWU3MjEzMjlkOWJkYTc3YzZmNjcxNSBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogSm9obiA8bWVAam9obm55bmF0b3IuZGV2PgpEYXRlOiBUaHUsIDYgQXBy IDIwMjMgMTE6Mjg6MzIgKzAyMDAKU3ViamVjdDogW1BBVENIIDI3LzI3XSB0ZWxlZ3JhbS1kZXNr dG9wOiByZWJ1aWxkIGFnYWluc3QgcXQ2LjUuMAoKLS0tCiBzcmNwa2dzL3RlbGVncmFtLWRlc2t0 b3AvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVs ZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3RlbGVncmFtLWRlc2t0b3AvdGVtcGxhdGUg Yi9zcmNwa2dzL3RlbGVncmFtLWRlc2t0b3AvdGVtcGxhdGUKaW5kZXggYWFlOWYzMTM1MTAwLi43 OTQzYjM2ZjBiOGEgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvdGVsZWdyYW0tZGVza3RvcC90ZW1wbGF0 ZQorKysgYi9zcmNwa2dzL3RlbGVncmFtLWRlc2t0b3AvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBA CiAjIFRlbXBsYXRlIGZpbGUgZm9yICd0ZWxlZ3JhbS1kZXNrdG9wJwogcGtnbmFtZT10ZWxlZ3Jh bS1kZXNrdG9wCiB2ZXJzaW9uPTQuNi41Ci1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9z dHlsZT1jbWFrZQogYnVpbGRfaGVscGVyPSJxZW11IgogY29uZmlndXJlX2FyZ3M9Ii1EVERFU0tU T1BfQVBJX0lEPTIwOTIzNQo= --===============7058252903706472675==--