From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from inbox.vuxu.org (localhost [IPv6:::1]) by inbox.vuxu.org (OpenSMTPD) with ESMTP id a06c8309 for ; Fri, 21 Jun 2019 16:18:24 +0000 (UTC) Content-Type: multipart/mixed; boundary="===============6206591951930662046==" MIME-Version: 1.0 Subject: Re: [PR PATCH] [Updated] [WIP] qt5: update to 5.13.0 To: ml@inbox.vuxu.org From: voidlinux-github@inbox.vuxu.org Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Fri, 21 Jun 2019 18:18:24 +0200 Message-ID: <20190621161824.SPOpbMtsWwh6C1i61tPS53qE7svyggj9zBAiCboLaAs@z> GitHub notification mails are now in MIME to allow UTF8. --===============6206591951930662046== MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgSm9obm55bmF0b3IgYWdhaW5zdCBt YXN0ZXIgb24gdGhlIHZvaWQtcGFja2FnZXMgcmVwb3NpdG9yeQoKaHR0cHM6Ly9naXRodWIuY29t L0pvaG5ueW5hdG9yL3ZvaWQtcGFja2FnZXMgcXQ1LjEzCmh0dHBzOi8vZ2l0aHViLmNvbS92b2lk LWxpbnV4L3ZvaWQtcGFja2FnZXMvcHVsbC8xMTg5MQoKW1dJUF0gcXQ1OiB1cGRhdGUgdG8gNS4x My4wClRlc3QgcmVwbyB1cCBvbiBodHRwczovL3ZvaWQuam9obm55bmF0b3IuZGV2L3F0NS4xMy8N Cg0KUXQ1LXdlYmVuZ2luZSBub3cgYWx3YXlzIHJlcXVpcmVzIGEgMzJiaXQgaG9zdCBjb21waWxl ciB3aGVuIGNyb3NzIGNvbXBpbGluZyB0byBhIDMyYml0IGNyb3NzIGFyY2ggKGUuZy4geDg2XzY0 IC0+IGFybSopLCBzbyB3ZSBoYXZlIHRvIGRpc2FibGUgaXQgZm9yIG5vdyBvbiBhbGwgMzJiaXQg YXJtKiBhcmNoaXRlY3R1cmVzLg0KDQoNClN0YXR1czogcXQ1LXdlYmVuZ2luZSBpcyBzdGlsbCBi cm9rZW4gb24gbXVzbA0KDQpTaG91bGQgcmVzb2x2ZSAjMTI1NTANCgoKQSBwYXRjaCBmaWxlIGZy b20gaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzExODkx LnBhdGNoIGlzIGF0dGFjaGVk --===============6206591951930662046== Content-Type: application/text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-qt5.13-11891.patch" RnJvbSBlZTY1OWY0ZDRkZjMzNTcyYTZhMDMyOWY5YTg1Njc0NTYxMWZlOGE2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2huIDxqb2huekBwb3N0ZW8ubmV0PgpEYXRlOiBUaHUsIDIz IE1heSAyMDE5IDA4OjQ5OjQwICswMjAwClN1YmplY3Q6IFtQQVRDSCAxLzVdIHF0NTogdXBkYXRl IHRvIDUuMTMuMAoKLS0tCiBjb21tb24vc2hsaWJzICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgICAzICsKIHNyY3BrZ3Mve3F0NS1jYW52YXMzZCA9PiBxdDUtbG90dGllfSAgICAg ICAgICB8ICAgIDAKIHNyY3BrZ3MvcXQ1LWxvdHRpZS1kZXZlbCAgICAgICAgICAgICAgICAgICAg ICB8ICAgIDEgKwogLi4uLzAwOTAtaGFyZC1kaXNhYmxlLXFtbGNoYWNoZWdlbi5wYXRjaCAgICAg IHwgICAxMCArCiBzcmNwa2dzL3F0NS9maWxlcy9hc3Npc3RhbnQucHJvICAgICAgICAgICAgICAg fCAgICAyIC0KIHNyY3BrZ3MvcXQ1L2ZpbGVzL2xyZWxlYXNlLnBybyAgICAgICAgICAgICAgICB8 ICAgMTAgKy0KIHNyY3BrZ3MvcXQ1L2ZpbGVzL2x1cGRhdGUucHJvICAgICAgICAgICAgICAgICB8 ICAgIDggKy0KIHNyY3BrZ3MvcXQ1L2ZpbGVzL21vYy9tb2MucHJvICAgICAgICAgICAgICAgICB8 ICAgIDggLQogLi4uL3F0NS9maWxlcy9xZGJ1c2NwcDJ4bWwvcWRidXNjcHAyeG1sLnBybyAgIHwg ICAgOCAtCiBzcmNwa2dzL3F0NS9maWxlcy9xbGFsci9xbGFsci5wcm8gICAgICAgICAgICAgfCAg IDIzIC0KIHNyY3BrZ3MvcXQ1L2ZpbGVzL3FtbGltcG9ydHNjYW5uZXIucHJvICAgICAgICB8ICAg IDIgKy0KIHNyY3BrZ3MvcXQ1L2ZpbGVzL3FtbGxpbnQucHJvICAgICAgICAgICAgICAgICB8ICAg IDQgKy0KIHNyY3BrZ3MvcXQ1L2ZpbGVzL3FtbG1pbi5wcm8gICAgICAgICAgICAgICAgICB8ICAg IDIgKy0KIHNyY3BrZ3MvcXQ1L2ZpbGVzL3F0dG9vbHNfc3JjLnBybyAgICAgICAgICAgICB8ICAg IDEgLQogc3JjcGtncy9xdDUvZmlsZXMvcmNjLnBybyAgICAgICAgICAgICAgICAgICAgIHwgICAg MiArCiBzcmNwa2dzL3F0NS9maWxlcy9yY2MvcmNjLnBybyAgICAgICAgICAgICAgICAgfCAgICA2 IC0KIHNyY3BrZ3MvcXQ1L2ZpbGVzL3VpYy5wcm8gICAgICAgICAgICAgICAgICAgICB8ICAgIDEg Kwogc3JjcGtncy9xdDUvZmlsZXMvdWljL3VpYy5wcm8gICAgICAgICAgICAgICAgIHwgICAxMSAt CiAuLi50LWJldHdlZW4tbXVzbC1saWJjLWRpcmVudC5oLWFuZC1sc3MucGF0Y2ggfCAgIDM1IC0K IC4uLi9wYXRjaGVzLzAwMDQtbXVzbC1kaXNwYXRjaC10by1tdXNsLnBhdGNoICB8ICAgMjYgKy0K IC4uLi1pcy1hLW5vbnBvcnRhYmxlLWFsaWFzLWZvci1zaWduYWwuaC5wYXRjaCB8ICAgODEgLQog Li4uL3F0NS9wYXRjaGVzLzAwMDgtbXVzbC1uby1tYWxsaW5mby5wYXRjaCAgIHwgICAxMSAtCiBz cmNwa2dzL3F0NS9wYXRjaGVzLzAwMTMtbXVzbC1zZXJpYWxpby5wYXRjaCAgfCAgIDEyIC0KIC4u Li9xdDUvcGF0Y2hlcy8wMDE3LW11c2wtc3RhY2tzdGFydC5wYXRjaCAgICB8ICAgIDQgKy0KIC4u Li9xdDUvcGF0Y2hlcy8wMDIxLWNocm9taXVtLW1vam8tZ2NjOC5wYXRjaCB8ICAgMTggLQogLi4u L3F0NS9wYXRjaGVzLzAwMjItbGlicmVzc2wtY29tcGF0LnBhdGNoICAgIHwgICAyNyArLQogLi4u L3F0NS9wYXRjaGVzLzAwMjMtZW5hYmxlX3Rvb2xzLWNyb3NzLnBhdGNoIHwgICAzNSArLQogc3Jj cGtncy9xdDUvcGF0Y2hlcy8wMDI3LXNraWFfY3B1LWJlLnBhdGNoICAgIHwgICAxMiAtCiBzcmNw a2dzL3F0NS9wYXRjaGVzLzAwMjgtd2VicnRjLWJlLnBhdGNoICAgICAgfCAgIDEyIC0KIHNyY3Br Z3MvcXQ1L3BhdGNoZXMvMDAyOS1tdXNsLWxpYmV2ZW50LnBhdGNoICB8ICAxMjEgLQogLi4uX3Jl bW92ZV9vdXJfdXNlX29mX3N5c2NhbGxfZm9yLXN0YXR4LnBhdGNoIHwgIDExOSAtCiBzcmNwa2dz L3F0NS9wYXRjaGVzLzAwMzQtZ2NjLTguMy1idWlsZC5wYXRjaCAgfCAgMjM2IC0tCiBzcmNwa2dz L3F0NS9wYXRjaGVzLzAwMzUtZ2NjLTkuMS1idWlsZC5wYXRjaCAgfCAgIDM1IC0KIHNyY3BrZ3Mv cXQ1L3BhdGNoZXMvMDA0MC15YXNtLW5scy5wYXRjaCAgICAgICB8ICAgMTMgKwogc3JjcGtncy9x dDUvcGF0Y2hlcy8wMDQxLWxpYnJlc3NsLnBhdGNoICAgICAgIHwgICAxMSArCiAuLi4vMDA0Mi1h cm0tdm9pZC1pcy1ub3QtYW5kcm9pZC5wYXRjaCAgICAgICAgfCAgIDIxICsKIC4uLmlvLnBhdGNo ID0+IDAwNDMtbGlicmVzc2wtY29uc3QtYmlvLnBhdGNofSB8ICAgIDggKy0KIC4uLmluZm8ucGF0 Y2ggPT4gMDA0NC1xdC1tdXNsLWV4ZWNpbmZvLnBhdGNofSB8ICAgODUgKy0KIC4uLi8wMDQ1LXF0 LW11c2wtdGhyZWFkLXN0YWNrc2l6ZS5wYXRjaCAgICAgICB8ICAgMjYgKwogLi4uL3F0NS9wYXRj aGVzLzAwNDYtc2FuZGJveC1tZW1iYXJyaWVyLnBhdGNoIHwgICA2MCArCiAuLi4vcGF0Y2hlcy9x dHdlYmVuZ2luZS1jaHJvbWl1bS1wcGM2NC5wYXRjaCAgfCAyMTEyIC0tLS0tLS0tLS0tLS0tLS0t CiAuLi4vcGF0Y2hlcy9xdHdlYmVuZ2luZS1lbmFibGUtcHBjNjQucGF0Y2ggICAgfCAgIDQxIC0K IHNyY3BrZ3MvcXQ1L3RlbXBsYXRlICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAxMjMgKy0K IDQzIGZpbGVzIGNoYW5nZWQsIDMxMSBpbnNlcnRpb25zKCspLCAzMDc1IGRlbGV0aW9ucygtKQog cmVuYW1lIHNyY3BrZ3Mve3F0NS1jYW52YXMzZCA9PiBxdDUtbG90dGllfSAoMTAwJSkKIGNyZWF0 ZSBtb2RlIDEyMDAwMCBzcmNwa2dzL3F0NS1sb3R0aWUtZGV2ZWwKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBzcmNwa2dzL3F0NS9maWxlcy8wMDkwLWhhcmQtZGlzYWJsZS1xbWxjaGFjaGVnZW4ucGF0Y2gK IGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0NS9maWxlcy9tb2MvbW9jLnBybwogZGVsZXRl IG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ1L2ZpbGVzL3FkYnVzY3BwMnhtbC9xZGJ1c2NwcDJ4bWwu cHJvCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDUvZmlsZXMvcWxhbHIvcWxhbHIucHJv CiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDUvZmlsZXMvcmNjL3JjYy5wcm8KIGRlbGV0 ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0NS9maWxlcy91aWMvdWljLnBybwogZGVsZXRlIG1vZGUg MTAwNjQ0IHNyY3BrZ3MvcXQ1L3BhdGNoZXMvMDAwMS1GaXgtY29uZmxpY3QtYmV0d2Vlbi1tdXNs LWxpYmMtZGlyZW50LmgtYW5kLWxzcy5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mv cXQ1L3BhdGNoZXMvMDAwNi1zeXMtc2lnbmFsLmgtaXMtYS1ub25wb3J0YWJsZS1hbGlhcy1mb3It c2lnbmFsLmgucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0NS9wYXRjaGVzLzAw MTMtbXVzbC1zZXJpYWxpby5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ1L3Bh dGNoZXMvMDAyMS1jaHJvbWl1bS1tb2pvLWdjYzgucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBz cmNwa2dzL3F0NS9wYXRjaGVzLzAwMjctc2tpYV9jcHUtYmUucGF0Y2gKIGRlbGV0ZSBtb2RlIDEw MDY0NCBzcmNwa2dzL3F0NS9wYXRjaGVzLzAwMjgtd2VicnRjLWJlLnBhdGNoCiBkZWxldGUgbW9k ZSAxMDA2NDQgc3JjcGtncy9xdDUvcGF0Y2hlcy8wMDI5LW11c2wtbGliZXZlbnQucGF0Y2gKIGRl bGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0NS9wYXRjaGVzLzAwMzMtcmV2ZXJ0X3JlbW92ZV9v dXJfdXNlX29mX3N5c2NhbGxfZm9yLXN0YXR4LnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3Jj cGtncy9xdDUvcGF0Y2hlcy8wMDM0LWdjYy04LjMtYnVpbGQucGF0Y2gKIGRlbGV0ZSBtb2RlIDEw MDY0NCBzcmNwa2dzL3F0NS9wYXRjaGVzLzAwMzUtZ2NjLTkuMS1idWlsZC5wYXRjaAogY3JlYXRl IG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ1L3BhdGNoZXMvMDA0MC15YXNtLW5scy5wYXRjaAogY3Jl YXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ1L3BhdGNoZXMvMDA0MS1saWJyZXNzbC5wYXRjaAog Y3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ1L3BhdGNoZXMvMDA0Mi1hcm0tdm9pZC1pcy1u b3QtYW5kcm9pZC5wYXRjaAogcmVuYW1lIHNyY3BrZ3MvcXQ1L3BhdGNoZXMve2xpYnJlc3NsLWNv bnN0LWJpby5wYXRjaCA9PiAwMDQzLWxpYnJlc3NsLWNvbnN0LWJpby5wYXRjaH0gKDg0JSkKIHJl bmFtZSBzcmNwa2dzL3F0NS9wYXRjaGVzL3swMDA1LW11c2wtbm8tZXhlY2luZm8ucGF0Y2ggPT4g MDA0NC1xdC1tdXNsLWV4ZWNpbmZvLnBhdGNofSAoNTYlKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNy Y3BrZ3MvcXQ1L3BhdGNoZXMvMDA0NS1xdC1tdXNsLXRocmVhZC1zdGFja3NpemUucGF0Y2gKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0NS9wYXRjaGVzLzAwNDYtc2FuZGJveC1tZW1iYXJy aWVyLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDUvcGF0Y2hlcy9xdHdlYmVu Z2luZS1jaHJvbWl1bS1wcGM2NC5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ1 L3BhdGNoZXMvcXR3ZWJlbmdpbmUtZW5hYmxlLXBwYzY0LnBhdGNoCgpkaWZmIC0tZ2l0IGEvY29t bW9uL3NobGlicyBiL2NvbW1vbi9zaGxpYnMKaW5kZXggMGY2NzQyYjJmYTQuLjk2ZWUzNTI2ZTU3 IDEwMDY0NAotLS0gYS9jb21tb24vc2hsaWJzCisrKyBiL2NvbW1vbi9zaGxpYnMKQEAgLTE4NTAs MTAgKzE4NTAsMTMgQEAgbGliUXQ1UXVpY2suc28uNSBxdDUtZGVjbGFyYXRpdmUtNS42LjBfMQog bGliUXQ1UXVpY2tUZXN0LnNvLjUgcXQ1LWRlY2xhcmF0aXZlLTUuNi4wXzEKIGxpYlF0NVF1aWNr V2lkZ2V0cy5zby41IHF0NS1kZWNsYXJhdGl2ZS01LjYuMF8xCiBsaWJRdDVRdWlja1BhcnRpY2xl cy5zby41IHF0NS1kZWNsYXJhdGl2ZS01LjYuMF8xCitsaWJRdDVRdWlja1NoYXBlcy5zby41IHF0 NS1kZWNsYXJhdGl2ZS01LjEyLjFfMQogbGliUXQ1UXVpY2tDb250cm9sczIuc28uNSBxdDUtcXVp Y2tjb250cm9sczItNS43LjFfMQogbGliUXQ1UXVpY2tUZW1wbGF0ZXMyLnNvLjUgcXQ1LXF1aWNr Y29udHJvbHMyLTUuNy4xXzEKIGxpYlF0NVBvc2l0aW9uaW5nLnNvLjUgcXQ1LWxvY2F0aW9uLTUu Ni4wXzEKIGxpYlF0NUxvY2F0aW9uLnNvLjUgcXQ1LWxvY2F0aW9uLTUuNi4wXzEKK2xpYlF0NVBv c2l0aW9uaW5nUXVpY2suc28uNSBxdDUtbG9jYXRpb24tNS4xMi4xXzEKK2xpYlF0NVZpcnR1YWxL ZXlib2FyZC5zby41IHF0NS12aXJ0dWFsa2V5Ym9hcmQtNS4xMi4xXzEKIGxpYlF0NU11bHRpbWVk aWEuc28uNSBxdDUtbXVsdGltZWRpYS01LjYuMF8xCiBsaWJRdDVNdWx0aW1lZGlhR3N0VG9vbHMu c28uNSBxdDUtbXVsdGltZWRpYS01LjEwLjFfMQogbGliUXQ1TXVsdGltZWRpYVF1aWNrLnNvLjUg cXQ1LW11bHRpbWVkaWEtNS4xMC4xXzEKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ1LWNhbnZhczNk IGIvc3JjcGtncy9xdDUtbG90dGllCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBz cmNwa2dzL3F0NS1jYW52YXMzZApyZW5hbWUgdG8gc3JjcGtncy9xdDUtbG90dGllCmRpZmYgLS1n aXQgYS9zcmNwa2dzL3F0NS1sb3R0aWUtZGV2ZWwgYi9zcmNwa2dzL3F0NS1sb3R0aWUtZGV2ZWwK bmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggMDAwMDAwMDAwMDAuLjc1NzkzZWI2NjY0Ci0tLSAv ZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDUtbG90dGllLWRldmVsCkBAIC0wLDAgKzEgQEAKK3F0 NQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ1L2Zp bGVzLzAwOTAtaGFyZC1kaXNhYmxlLXFtbGNoYWNoZWdlbi5wYXRjaCBiL3NyY3BrZ3MvcXQ1L2Zp bGVzLzAwOTAtaGFyZC1kaXNhYmxlLXFtbGNoYWNoZWdlbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNWVjZGZiMzBmNWIKLS0tIC9kZXYvbnVsbAorKysgYi9z cmNwa2dzL3F0NS9maWxlcy8wMDkwLWhhcmQtZGlzYWJsZS1xbWxjaGFjaGVnZW4ucGF0Y2gKQEAg LTAsMCArMSwxMCBAQAorLS0tIHF0ZGVjbGFyYXRpdmUvdG9vbHMvdG9vbHMucHJvCTIwMTktMDQt MDkgMDE6MDE6MDcuMDAwMDAwMDAwICswMjAwCisrKysgLQkyMDE5LTA0LTIxIDAwOjI0OjE2LjE5 Mjk2NjM0NSArMDIwMAorQEAgLTcsNyArNyw2IEBACisgICAgICAgICBxbWxtaW4gXAorICAgICAg ICAgcW1saW1wb3J0c2Nhbm5lcgorIAorLSAgICBxdENvbmZpZyhjb21tYW5kbGluZXBhcnNlcik6 cXRDb25maWcoeG1sc3RyZWFtd3JpdGVyKTogU1VCRElSUyArPSBxbWxjYWNoZWdlbgorIH0KKyAK KyBxdENvbmZpZyh0aHJlYWQpOiFhbmRyb2lkfGFuZHJvaWRfYXBwOiF3YXNtIHsKZGlmZiAtLWdp dCBhL3NyY3BrZ3MvcXQ1L2ZpbGVzL2Fzc2lzdGFudC5wcm8gYi9zcmNwa2dzL3F0NS9maWxlcy9h c3Npc3RhbnQucHJvCmluZGV4IDNlMzI3NzZhODI3Li41MTAwZjYxMTA1ZSAxMDA2NDQKLS0tIGEv c3JjcGtncy9xdDUvZmlsZXMvYXNzaXN0YW50LnBybworKysgYi9zcmNwa2dzL3F0NS9maWxlcy9h c3Npc3RhbnQucHJvCkBAIC01LDkgKzUsNyBAQCBTVUJESVJTICs9IFwKICAgICAgICAgICAgYXNz aXN0YW50IFwKICAgICAgICAgICAgcWhlbHBnZW5lcmF0b3IgXAogICAgICAgICAgICBxY29sbGVj dGlvbmdlbmVyYXRvciBcCi0gICAgICAgICAgIHFoZWxwY29udmVydGVyCiAKIGFzc2lzdGFudC5k ZXBlbmRzID0gaGVscAotcWhlbHBnZW5lcmF0b3IuZGVwZW5kcyA9IGhlbHAKIHFjb2xsZWN0aW9u Z2VuZXJhdG9yLmRlcGVuZHMgPSBoZWxwCiBxaGVscGNvbnZlcnRlci5kZXBlbmRzID0gaGVscApk aWZmIC0tZ2l0IGEvc3JjcGtncy9xdDUvZmlsZXMvbHJlbGVhc2UucHJvIGIvc3JjcGtncy9xdDUv ZmlsZXMvbHJlbGVhc2UucHJvCmluZGV4IDRkYmQ0Y2U1MzI3Li5iYWI2YjI5MjhlNCAxMDA2NDQK LS0tIGEvc3JjcGtncy9xdDUvZmlsZXMvbHJlbGVhc2UucHJvCisrKyBiL3NyY3BrZ3MvcXQ1L2Zp bGVzL2xyZWxlYXNlLnBybwpAQCAtMSwxMCArMSwxNiBAQAogUVQgPSBjb3JlIHFtbCBuZXR3b3Jr IGNvcmUtcHJpdmF0ZQogREVGSU5FUyArPSBRVF9OT19DQVNUX0ZST01fQVNDSUkgUVRfTk9fQ0FT VF9UT19BU0NJSQogCi1TT1VSQ0VTICs9IG1haW4uY3BwCitIRUFERVJTICs9IFwKKyAgICAuLi9z aGFyZWQvcHJvamVjdGRlc2NyaXB0aW9ucmVhZGVyLmggXAorICAgIC4uL3NoYXJlZC9ydW5xdHRv b2wuaAorCitTT1VSQ0VTICs9IFwKKyAgICAuLi9zaGFyZWQvcHJvamVjdGRlc2NyaXB0aW9ucmVh ZGVyLmNwcCBcCisgICAgLi4vc2hhcmVkL3J1bnF0dG9vbC5jcHAgXAorICAgIG1haW4uY3BwCiAK IGluY2x1ZGUoLi4vc2hhcmVkL2Zvcm1hdHMucHJpKQotaW5jbHVkZSguLi9zaGFyZWQvcHJvcGFy c2VyLnByaSkKIAogcW1ha2UubmFtZSA9IFFNQUtFCiBxbWFrZS52YWx1ZSA9ICQkc2hlbGxfcGF0 aCgkJFFNQUtFX1FNQUtFKQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDUvZmlsZXMvbHVwZGF0ZS5w cm8gYi9zcmNwa2dzL3F0NS9maWxlcy9sdXBkYXRlLnBybwppbmRleCBjODY3YWNlOTA5OS4uYmY2 ODcxMTNjODYgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ1L2ZpbGVzL2x1cGRhdGUucHJvCisrKyBi L3NyY3BrZ3MvcXQ1L2ZpbGVzL2x1cGRhdGUucHJvCkBAIC0zLDEzICszLDE0IEBAIFFUID0gY29y ZSBxbWwgbmV0d29yayBjb3JlLXByaXZhdGUgcW1sZGV2dG9vbHMtcHJpdmF0ZQogREVGSU5FUyAr PSBRVF9OT19DQVNUX1RPX0FTQ0lJIFFUX05PX0NBU1RfRlJPTV9BU0NJSQogCiBpbmNsdWRlKC4u L3NoYXJlZC9mb3JtYXRzLnByaSkKLWluY2x1ZGUoLi4vc2hhcmVkL3Byb3BhcnNlci5wcmkpCiAK LURFRklORVMgKz0gUFJPRVZBTFVBVE9SX0RFQlVHCiAKIFNPVVJDRVMgKz0gXAogICAgIG1haW4u Y3BwIFwKICAgICBtZXJnZS5jcHAgXAorICAgIC4uL3NoYXJlZC9wcm9qZWN0ZGVzY3JpcHRpb25y ZWFkZXIuY3BwIFwKKyAgICAuLi9zaGFyZWQvcnVucXR0b29sLmNwcCBcCisgICAgLi4vc2hhcmVk L3FyY3JlYWRlci5jcHAgXAogICAgIC4uL3NoYXJlZC9zaW10ZXh0aC5jcHAgXAogICAgIFwKICAg ICBjcHAuY3BwIFwKQEAgLTIwLDYgKzIxLDkgQEAgU09VUkNFUyArPSBxZGVjbGFyYXRpdmUuY3Bw CiAKIEhFQURFUlMgKz0gXAogICAgIGx1cGRhdGUuaCBcCisgICAgLi4vc2hhcmVkL3Byb2plY3Rk ZXNjcmlwdGlvbnJlYWRlci5oIFwKKyAgICAuLi9zaGFyZWQvcXJjcmVhZGVyLmggXAorICAgIC4u L3NoYXJlZC9ydW5xdHRvb2wuaCBcCiAgICAgLi4vc2hhcmVkL3NpbXRleHRoLmgKIAogbWluZ3cg ewpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDUvZmlsZXMvbW9jL21vYy5wcm8gYi9zcmNwa2dzL3F0 NS9maWxlcy9tb2MvbW9jLnBybwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTQ0MjVj ZmI0NjIuLjAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvcXQ1L2ZpbGVzL21vYy9tb2MucHJvCisr KyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi1RVCArPSBjb3JlLXByaXZhdGUKLURFRklORVMg Kz0gUVRfTU9DCi0KLWluY2x1ZGUobW9jLnByaSkKLUhFQURFUlMgKz0gcWRhdGV0aW1lX3AuaAot U09VUkNFUyArPSBtYWluLmNwcAotCi1sb2FkKHF0X3Rvb2wpCmRpZmYgLS1naXQgYS9zcmNwa2dz L3F0NS9maWxlcy9xZGJ1c2NwcDJ4bWwvcWRidXNjcHAyeG1sLnBybyBiL3NyY3BrZ3MvcXQ1L2Zp bGVzL3FkYnVzY3BwMnhtbC9xZGJ1c2NwcDJ4bWwucHJvCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCA3Y2E2ZDM2YmNiOC4uMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9xdDUvZmlsZXMv cWRidXNjcHAyeG1sL3FkYnVzY3BwMnhtbC5wcm8KKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAg QEAKLVFUID0gY29yZS1wcml2YXRlIGRidXMtcHJpdmF0ZQotUU1BS0VfQ1hYRkxBR1MgKz0gJCRR VF9IT1NUX0NGTEFHU19EQlVTCi0KLWluY2x1ZGUoLi4vbW9jL21vYy5wcmkpCi0KLVNPVVJDRVMg Kz0gcWRidXNjcHAyeG1sLmNwcAotCi1sb2FkKHF0X3Rvb2wpCmRpZmYgLS1naXQgYS9zcmNwa2dz L3F0NS9maWxlcy9xbGFsci9xbGFsci5wcm8gYi9zcmNwa2dzL3F0NS9maWxlcy9xbGFsci9xbGFs ci5wcm8KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNkNzc2NzI3ZmVmLi4wMDAwMDAw MDAwMAotLS0gYS9zcmNwa2dzL3F0NS9maWxlcy9xbGFsci9xbGFsci5wcm8KKysrIC9kZXYvbnVs bApAQCAtMSwyMyArMCwwIEBACi1TT1VSQ0VTICs9IFwKLSAgICBjb21wcmVzcy5jcHAgXAotICAg IGNwcGdlbmVyYXRvci5jcHAgXAotICAgIGRvdGdyYXBoLmNwcCBcCi0gICAgbGFsci5jcHAgXAot ICAgIG1haW4uY3BwIFwKLSAgICBwYXJzZXRhYmxlLmNwcCBcCi0gICAgcmVjb2duaXplci5jcHAg XAotICAgIGdyYW1tYXIuY3BwCi0KLUhFQURFUlMgKz0gXAotICAgIGNvbXByZXNzLmggXAotICAg IGNwcGdlbmVyYXRvci5oIFwKLSAgICBkb3RncmFwaC5oIFwKLSAgICBsYWxyLmggXAotICAgIHBh cnNldGFibGUuaCBcCi0gICAgcmVjb2duaXplci5oIFwKLSAgICBncmFtbWFyX3AuaAotCi1PVEhF Ul9GSUxFUyArPSBcCi0gICAgbGFsci5nCi0KLWxvYWQocXRfdG9vbCkKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvcXQ1L2ZpbGVzL3FtbGltcG9ydHNjYW5uZXIucHJvIGIvc3JjcGtncy9xdDUvZmlsZXMv cW1saW1wb3J0c2Nhbm5lci5wcm8KaW5kZXggZjkyMjM0YWQ0NDIuLjU3YzIyOGI4NTQwIDEwMDY0 NAotLS0gYS9zcmNwa2dzL3F0NS9maWxlcy9xbWxpbXBvcnRzY2FubmVyLnBybworKysgYi9zcmNw a2dzL3F0NS9maWxlcy9xbWxpbXBvcnRzY2FubmVyLnBybwpAQCAtMSw3ICsxLDcgQEAKIFFUID0g Y29yZSBxbWwgbmV0d29yayBxbWxkZXZ0b29scy1wcml2YXRlCiBERUZJTkVTICs9IFFUX05PX0NB U1RfVE9fQVNDSUkgUVRfTk9fQ0FTVF9GUk9NX0FTQ0lJCiAKLVNPVVJDRVMgKz0gbWFpbi5jcHAg Li4vLi4vc3JjL3FtbC9wYXJzZXIvcXFtbGpzZ3JhbW1hci5jcHAKK1NPVVJDRVMgKz0gbWFpbi5j cHAgLi4vLi4vc3JjL3FtbC9xcW1sanNncmFtbWFyLmNwcAogCiBRTUFLRV9UQVJHRVRfREVTQ1JJ UFRJT04gPSBRTUwgSW1wb3J0IFNjYW5uZXIKIApkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDUvZmls ZXMvcW1sbGludC5wcm8gYi9zcmNwa2dzL3F0NS9maWxlcy9xbWxsaW50LnBybwppbmRleCAwMzJk MDJjZjMzYi4uNDA5YTM3OGJmY2IgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ1L2ZpbGVzL3FtbGxp bnQucHJvCisrKyBiL3NyY3BrZ3MvcXQ1L2ZpbGVzL3FtbGxpbnQucHJvCkBAIC0xLDYgKzEsNiBA QAotUVQgPSBjb3JlIHFtbCBuZXR3b3JrIHFtbGRldnRvb2xzLXByaXZhdGUKK1FUID0gY29yZSBx bWwgcW1sZGV2dG9vbHMtcHJpdmF0ZQogCi1TT1VSQ0VTICs9IG1haW4uY3BwIC4uLy4uL3NyYy9x bWwvcGFyc2VyL3FxbWxqc2dyYW1tYXIuY3BwCitTT1VSQ0VTICs9IG1haW4uY3BwIC4uLy4uL3Ny Yy9xbWwvcXFtbGpzZ3JhbW1hci5jcHAKIAogUU1BS0VfVEFSR0VUX0RFU0NSSVBUSU9OID0gUU1M IFN5bnRheCBWZXJpZmllcgogCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0NS9maWxlcy9xbWxtaW4u cHJvIGIvc3JjcGtncy9xdDUvZmlsZXMvcW1sbWluLnBybwppbmRleCA1OGY3NWM3NmUwMS4uZjA5 NmI0MTRiZjQgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ1L2ZpbGVzL3FtbG1pbi5wcm8KKysrIGIv c3JjcGtncy9xdDUvZmlsZXMvcW1sbWluLnBybwpAQCAtMSw1ICsxLDUgQEAKIFFUICAgICAgID0g Y29yZSBxbWwgbmV0d29yayBxbWxkZXZ0b29scy1wcml2YXRlCi1TT1VSQ0VTICs9IG1haW4uY3Bw IC4uLy4uL3NyYy9xbWwvcGFyc2VyL3FxbWxqc2dyYW1tYXIuY3BwCitTT1VSQ0VTICs9IG1haW4u Y3BwIC4uLy4uL3NyYy9xbWwvcXFtbGpzZ3JhbW1hci5jcHAKIAogUU1BS0VfVEFSR0VUX0RFU0NS SVBUSU9OID0gUU1ML0pTIE1pbmlmaWVyCiAKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ1L2ZpbGVz L3F0dG9vbHNfc3JjLnBybyBiL3NyY3BrZ3MvcXQ1L2ZpbGVzL3F0dG9vbHNfc3JjLnBybwppbmRl eCA3YjM5ZjkyOWU3Ny4uYzczNDQ0MDRjMDUgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ1L2ZpbGVz L3F0dG9vbHNfc3JjLnBybworKysgYi9zcmNwa2dzL3F0NS9maWxlcy9xdHRvb2xzX3NyYy5wcm8K QEAgLTUsNyArNSw2IEBAIFNVQkRJUlMgPSBhc3Npc3RhbnQgXAogCWRlc2lnbmVyIFwKIAlsaW5n dWlzdCBcCiAJcWRidXMgXAotCXFkb2MgXAogCXF0YXR0cmlidXRpb25zc2Nhbm5lcgogCiBsaW5n dWlzdC5kZXBlbmRzID0gZGVzaWduZXIKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ1L2ZpbGVzL3Jj Yy5wcm8gYi9zcmNwa2dzL3F0NS9maWxlcy9yY2MucHJvCmluZGV4IDgwNDZiNzJiNDhkLi4zMjk2 OTc5NzY5YiAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDUvZmlsZXMvcmNjLnBybworKysgYi9zcmNw a2dzL3F0NS9maWxlcy9yY2MucHJvCkBAIC02LDMgKzYsNSBAQCBTT1VSQ0VTICs9IG1haW4uY3Bw CiAKIFFNQUtFX1RBUkdFVF9ERVNDUklQVElPTiA9ICJRdCBSZXNvdXJjZSBDb21waWxlciIKIGxv YWQocXRfdG9vbCkKKworREVGSU5FUyArPSBRVF9GRUFUVVJFX3pzdGQ9LTEKZGlmZiAtLWdpdCBh L3NyY3BrZ3MvcXQ1L2ZpbGVzL3JjYy9yY2MucHJvIGIvc3JjcGtncy9xdDUvZmlsZXMvcmNjL3Jj Yy5wcm8KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU4MWNkNDU2NGY2Li4wMDAwMDAw MDAwMAotLS0gYS9zcmNwa2dzL3F0NS9maWxlcy9yY2MvcmNjLnBybworKysgL2Rldi9udWxsCkBA IC0xLDYgKzAsMCBAQAotREVGSU5FUyArPSBRVF9SQ0MKLQotaW5jbHVkZShyY2MucHJpKQotU09V UkNFUyArPSBtYWluLmNwcAotCi1sb2FkKHF0X3Rvb2wpCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0 NS9maWxlcy91aWMucHJvIGIvc3JjcGtncy9xdDUvZmlsZXMvdWljLnBybwppbmRleCAzMGY5ODY0 NGViNy4uNzRkN2RiZDg3OGYgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ1L2ZpbGVzL3VpYy5wcm8K KysrIGIvc3JjcGtncy9xdDUvZmlsZXMvdWljLnBybwpAQCAtMiw2ICsyLDcgQEAgUVQgPSBjb3Jl IHFtbCBjb3JlLXByaXZhdGUgcW1sZGV2dG9vbHMtcHJpdmF0ZQogREVGSU5FUyArPSBRVF9VSUMg UVRfTk9fQ0FTVF9GUk9NX0FTQ0lJIFFUX05PX0ZPUkVBQ0gKIAogaW5jbHVkZSh1aWMucHJpKQor aW5jbHVkZShzaGFyZWQvc2hhcmVkLnByaSkKIGluY2x1ZGUoY3BwL2NwcC5wcmkpCiAKIEhFQURF UlMgKz0gdWljLmgKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ1L2ZpbGVzL3VpYy91aWMucHJvIGIv c3JjcGtncy9xdDUvZmlsZXMvdWljL3VpYy5wcm8KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IGM3OGIxMjM3NTlmLi4wMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3F0NS9maWxlcy91aWMv dWljLnBybworKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLURFRklORVMgKz0gUVRfVUlD Ci0KLWluY2x1ZGUodWljLnByaSkKLWluY2x1ZGUoY3BwL2NwcC5wcmkpCi0KLUhFQURFUlMgKz0g dWljLmgKLQotU09VUkNFUyArPSBtYWluLmNwcCBcCi0gICAgICAgICAgIHVpYy5jcHAKLQotbG9h ZChxdF90b29sKQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDUvcGF0Y2hlcy8wMDAxLUZpeC1jb25m bGljdC1iZXR3ZWVuLW11c2wtbGliYy1kaXJlbnQuaC1hbmQtbHNzLnBhdGNoIGIvc3JjcGtncy9x dDUvcGF0Y2hlcy8wMDAxLUZpeC1jb25mbGljdC1iZXR3ZWVuLW11c2wtbGliYy1kaXJlbnQuaC1h bmQtbHNzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZjIzYTIyZjQ1MC4u MDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9xdDUvcGF0Y2hlcy8wMDAxLUZpeC1jb25mbGljdC1i ZXR3ZWVuLW11c2wtbGliYy1kaXJlbnQuaC1hbmQtbHNzLnBhdGNoCisrKyAvZGV2L251bGwKQEAg LTEsMzUgKzAsMCBAQAotRnJvbSAxYWMyODJhZDNhODU5MDc3Y2JmZjhiZjQ3NzNkYjliYjViNmE1 YmJkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRmVsaXggSmFuZGEgPGZlbGl4Lmph bmRhQHBvc3Rlby5kZT4KLURhdGU6IFN1biwgMSBGZWIgMjAxNSAxMzo0MTowOCArMDEwMAotU3Vi amVjdDogW1BBVENIIDEvNl0gRml4IGNvbmZsaWN0IGJldHdlZW4gbXVzbCBsaWJjIDxkaXJlbnQu aD4gYW5kIGxzcwotCi1JbmNsdWRlIDxkaXJlbnQuaD4gbGF0ZSB0byBhdm9pZCB0aGUgbWFjcm8g Z2V0ZGVudHM2NCBpbiBtdXNsCi1saWJjJ3MgPGRpcmVudC5oPiB0byBjb25mbGljdCB3aXRoIGxp bnV4X3N5Y2FsbF9zdXBwb3J0LmguCi0tLS0KLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hy b21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9jcmFz aF9nZW5lcmF0aW9uL2NyYXNoX2dlbmVyYXRpb25fc2VydmVyLmNjIHwgMyArKy0KLSAxIGZpbGUg Y2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9z cmMvY2xpZW50L2xpbnV4L2NyYXNoX2dlbmVyYXRpb24vY3Jhc2hfZ2VuZXJhdGlvbl9zZXJ2ZXIu Y2MgYi9zcmMvY2xpZW50L2xpbnV4L2NyYXNoX2dlbmVyYXRpb24vY3Jhc2hfZ2VuZXJhdGlvbl9z ZXJ2ZXIuY2MKLWluZGV4IDg2MGU4YmMuLmYwYWE4MDEgMTAwNjQ0Ci0tLS0gcXR3ZWJlbmdpbmUv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9j bGllbnQvbGludXgvY3Jhc2hfZ2VuZXJhdGlvbi9jcmFzaF9nZW5lcmF0aW9uX3NlcnZlci5jYwot KysrIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3Bh ZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2NyYXNoX2dlbmVyYXRpb24vY3Jhc2hfZ2VuZXJh dGlvbl9zZXJ2ZXIuY2MKLUBAIC0yOCw3ICsyOCw2IEBACi0gLy8gT0YgVEhJUyBTT0ZUV0FSRSwg RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAKLSAj aW5jbHVkZSA8YXNzZXJ0Lmg+Ci0tI2luY2x1ZGUgPGRpcmVudC5oPgotICNpbmNsdWRlIDxmY250 bC5oPgotICNpbmNsdWRlIDxsaW1pdHMuaD4KLSAjaW5jbHVkZSA8cG9sbC5oPgotQEAgLTQ5LDYg KzQ4LDggQEAKLSAjaW5jbHVkZSAiY29tbW9uL2xpbnV4L2d1aWRfY3JlYXRvci5oIgotICNpbmNs dWRlICJjb21tb24vbGludXgvc2FmZV9yZWFkbGluay5oIgotIAotKyNpbmNsdWRlIDxkaXJlbnQu aD4KLSsKLSBzdGF0aWMgY29uc3QgY2hhciBrQ29tbWFuZFF1aXQgPSAneCc7Ci0gCi0gbmFtZXNw YWNlIGdvb2dsZV9icmVha3BhZCB7Ci0tLSAKLTIuMC41Ci0KZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv cXQ1L3BhdGNoZXMvMDAwNC1tdXNsLWRpc3BhdGNoLXRvLW11c2wucGF0Y2ggYi9zcmNwa2dzL3F0 NS9wYXRjaGVzLzAwMDQtbXVzbC1kaXNwYXRjaC10by1tdXNsLnBhdGNoCmluZGV4IDg2ZTA5ZDVj ZmQzLi5kZTMyYTNkYWI5NSAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDUvcGF0Y2hlcy8wMDA0LW11 c2wtZGlzcGF0Y2gtdG8tbXVzbC5wYXRjaAorKysgYi9zcmNwa2dzL3F0NS9wYXRjaGVzLzAwMDQt bXVzbC1kaXNwYXRjaC10by1tdXNsLnBhdGNoCkBAIC0xLDUgKzEsNSBAQAotLS0tIHF0d2ViZW5n aW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9iYXNlL2FsbG9jYXRvci9hbGxvY2F0b3Jfc2hpbV9k ZWZhdWx0X2Rpc3BhdGNoX3RvX2dsaWJjLmNjCTIwMTctMDktMTkgMTg6MTU6MTUuMDAwMDAwMDAw ICswMjAwCi0rKysgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Jhc2UvYWxsb2Nh dG9yL2FsbG9jYXRvcl9zaGltX2RlZmF1bHRfZGlzcGF0Y2hfdG9fZ2xpYmMuY2MJMjAxNy0xMC0w OSAxOTozNToxMS43NjIzODQ4MDkgKzAyMDAKKy0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkv Y2hyb21pdW0vYmFzZS9hbGxvY2F0b3IvYWxsb2NhdG9yX3NoaW1fZGVmYXVsdF9kaXNwYXRjaF90 b19nbGliYy5jYworLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9iYXNlL2Fs bG9jYXRvci9hbGxvY2F0b3Jfc2hpbV9kZWZhdWx0X2Rpc3BhdGNoX3RvX2dsaWJjLmNjCiBAQCAt Niw2ICs2LDcgQEAKICAKICAjaW5jbHVkZSA8bWFsbG9jLmg+CkBAIC04LDggKzgsOCBAQAogIC8v IFRoaXMgdHJhbnNsYXRpb24gdW5pdCBkZWZpbmVzIGEgZGVmYXVsdCBkaXNwYXRjaCBmb3IgdGhl IGFsbG9jYXRvciBzaGltIHdoaWNoCiAgLy8gcm91dGVzIGFsbG9jYXRpb25zIHRvIGxpYmMgZnVu Y3Rpb25zLgogIC8vIFRoZSBjb2RlIGhlcmUgaXMgc3Ryb25nbHkgaW5zcGlyZWQgZnJvbSB0Y21h bGxvYydzIGxpYmNfb3ZlcnJpZGVfZ2xpYmMuaC4KLUBAIC01OSwzICs2MCw5OCBAQAotICAgICAm R2xpYmNHZXRTaXplRXN0aW1hdGUsIC8qIGdldF9zaXplX2VzdGltYXRlX2Z1bmN0aW9uICovCitA QCAtNzMsMyArNzQsOTIgQEAgY29uc3QgQWxsb2NhdG9yRGlzcGF0Y2ggQWxsb2NhdG9yRGlzcGF0 Y2g6OmRlZmF1bHRfZGlzcGF0Y2ggPSB7CisgICAgIG51bGxwdHIsICAgICAgICAgICAgICAgLyog ZnJlZV9kZWZpbml0ZV9zaXplX2Z1bmN0aW9uICovCiAgICAgIG51bGxwdHIsICAgICAgICAgICAg ICAgLyogbmV4dCAqLwogIH07CiArCkBAIC0zNywxOCArMzcsMTIgQEAKICsvLyByZXNvbHZlIHRo ZSBzeW1ib2xzIGluIGxpYmMuc28KICt2b2lkIG11c2xfbGliY19tZW1vcnlfaW5pdCh2b2lkKQog K3sKLSsgIHZvaWQqIGxpYmMgPSBkbG9wZW4oImxpYmMiLCBSVExEX0xBWlkpOwotKyAgaWYgKCFs aWJjKQotKyAgICBsaWJjID0gZGxvcGVuKCJsaWJjLnNvIiwgUlRMRF9MQVpZKTsKLSsgIGlmICgh bGliYykKLSsgICAgbGliYyA9IGRsb3BlbigibGliYy5zby42IiwgUlRMRF9MQVpZKTsKLSsgIGxp YmNfbWFsbG9jID0gKHRfbGliY19tYWxsb2MpIGRsc3ltKGxpYmMsICJtYWxsb2MiKTsKLSsgIGxp YmNfY2FsbG9jID0gKHRfbGliY19jYWxsb2MpIGRsc3ltKGxpYmMsICJjYWxsb2MiKTsKLSsgIGxp YmNfcmVhbGxvYyA9ICh0X2xpYmNfcmVhbGxvYykgZGxzeW0obGliYywgInJlYWxsb2MiKTsKLSsg IGxpYmNfbWVtYWxpZ24gPSAodF9saWJjX21lbWFsaWduKSBkbHN5bShsaWJjLCAibWVtYWxpZ24i KTsKLSsgIGxpYmNfZnJlZSA9ICh0X2xpYmNfZnJlZSkgZGxzeW0obGliYywgImZyZWUiKTsKLSsg IGxpYmNfbWFsbG9jX3VzYWJsZV9zaXplID0gKHRfbGliY19tYWxsb2NfdXNhYmxlX3NpemUpIGRs c3ltKGxpYmMsICJtYWxsb2NfdXNhYmxlX3NpemUiKTsKLSsgIGRsY2xvc2UobGliYyk7CisrICBs aWJjX21hbGxvYyA9ICh0X2xpYmNfbWFsbG9jKSBkbHN5bShSVExEX05FWFQsICJtYWxsb2MiKTsK KysgIGxpYmNfY2FsbG9jID0gKHRfbGliY19jYWxsb2MpIGRsc3ltKFJUTERfTkVYVCwgImNhbGxv YyIpOworKyAgbGliY19yZWFsbG9jID0gKHRfbGliY19yZWFsbG9jKSBkbHN5bShSVExEX05FWFQs ICJyZWFsbG9jIik7CisrICBsaWJjX21lbWFsaWduID0gKHRfbGliY19tZW1hbGlnbikgZGxzeW0o UlRMRF9ORVhULCAibWVtYWxpZ24iKTsKKysgIGxpYmNfZnJlZSA9ICh0X2xpYmNfZnJlZSkgZGxz eW0oUlRMRF9ORVhULCAiZnJlZSIpOworKyAgbGliY19tYWxsb2NfdXNhYmxlX3NpemUgPSAodF9s aWJjX21hbGxvY191c2FibGVfc2l6ZSkgZGxzeW0oUlRMRF9ORVhULCAibWFsbG9jX3VzYWJsZV9z aXplIik7CiArfQogK30gIC8vIGV4dGVybiAiQyIKICsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ1 L3BhdGNoZXMvMDAwNi1zeXMtc2lnbmFsLmgtaXMtYS1ub25wb3J0YWJsZS1hbGlhcy1mb3Itc2ln bmFsLmgucGF0Y2ggYi9zcmNwa2dzL3F0NS9wYXRjaGVzLzAwMDYtc3lzLXNpZ25hbC5oLWlzLWEt bm9ucG9ydGFibGUtYWxpYXMtZm9yLXNpZ25hbC5oLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEw MDY0NAppbmRleCA1NDkxZDY0NDBlMS4uMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9xdDUvcGF0 Y2hlcy8wMDA2LXN5cy1zaWduYWwuaC1pcy1hLW5vbnBvcnRhYmxlLWFsaWFzLWZvci1zaWduYWwu aC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDgxICswLDAgQEAKLUZyb20gN2UwYTJhNzJkMTZj MTE2OTk1NTgwNTRjMDFhMjA4MjUxN2Y3ZGFjMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZy b206IEZlbGl4IEphbmRhIDxmZWxpeC5qYW5kYUBwb3N0ZW8uZGU+Ci1EYXRlOiBTdW4sIDEgRmVi IDIwMTUgMTQ6NDA6NDEgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSCA2LzZdIDxzeXMvc2lnbmFsLmg+ IGlzIGEgbm9ucG9ydGFibGUgYWxpYXMgZm9yIDxzaWduYWwuaD4KLQotLS0tCi0gcXR3ZWJlbmdp bmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3Ny Yy9jbGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlci5jYyB8ICAyICstCi0gcXR3 ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFr cGFkL3NyYy9jb21tb24vYW5kcm9pZC9pbmNsdWRlL3N5cy9zaWduYWwuaCAgICAgICB8IDM1IC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY29tbW9uL2NvbW1vbi5neXAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgMSAtCi0gMyBmaWxlcyBjaGFuZ2VkLCAxIGluc2Vy dGlvbigrKSwgMzcgZGVsZXRpb25zKC0pCi0gZGVsZXRlIG1vZGUgMTAwNjQ0IHNyYy9jb21tb24v YW5kcm9pZC9pbmNsdWRlL3N5cy9zaWduYWwuaAotCi1kaWZmIC0tZ2l0IGEvc3JjL2NsaWVudC9s aW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyLmNjIGIvc3JjL2NsaWVudC9saW51eC9oYW5k bGVyL2V4Y2VwdGlvbl9oYW5kbGVyLmNjCi1pbmRleCAzZTJkMTk2Li5jYzNiMWQzIDEwMDY0NAot LS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3Bh ZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0aW9uX2hhbmRsZXIuY2MK LSsrKyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtw YWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyLmNj Ci1AQCAtNzgsNyArNzgsNyBAQAotICNpbmNsdWRlIDxzeXMvd2FpdC5oPgotICNpbmNsdWRlIDx1 bmlzdGQuaD4KLSAKLS0jaW5jbHVkZSA8c3lzL3NpZ25hbC5oPgotKyNpbmNsdWRlIDxzaWduYWwu aD4KLSAjaW5jbHVkZSA8c3lzL3Vjb250ZXh0Lmg+Ci0gI2luY2x1ZGUgPHN5cy91c2VyLmg+Ci0g I2luY2x1ZGUgPHVjb250ZXh0Lmg+Ci1kaWZmIC0tZ2l0IGEvc3JjL2NvbW1vbi9hbmRyb2lkL2lu Y2x1ZGUvc3lzL3NpZ25hbC5oIGIvc3JjL2NvbW1vbi9hbmRyb2lkL2luY2x1ZGUvc3lzL3NpZ25h bC5oCi1kZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDIwYzgxZTkuLjAwMDAwMDAKLS0t LSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQv YnJlYWtwYWQvc3JjL2NvbW1vbi9hbmRyb2lkL2luY2x1ZGUvc3lzL3NpZ25hbC5oCi0rKysgL2Rl di9udWxsCi1AQCAtMSwzNSArMCwwIEBACi0tLy8gQ29weXJpZ2h0IChjKSAyMDEyLCBHb29nbGUg SW5jLgotLS8vIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0tLy8KLS0vLyBSZWRpc3RyaWJ1dGlvbiBh bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLS0vLyBt b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv bmRpdGlvbnMgYXJlCi0tLy8gbWV0OgotLS8vCi0tLy8gICAgICogUmVkaXN0cmlidXRpb25zIG9m IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLS0vLyBub3RpY2Us IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0t Ly8gICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo ZSBhYm92ZQotLS8vIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLS0vLyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0tLy8gZGlzdHJpYnV0aW9uLgot LS8vICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBv ZiBpdHMKLS0vLyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl IHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotLS8vIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0tLy8KLS0vLyBUSElTIFNPRlRXQVJFIElTIFBS T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0tLy8gIkFT IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV VCBOT1QKLS0vLyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U QUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLS0vLyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotLS8vIE9XTkVSIE9SIENP TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM LAotLS8vIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM VURJTkcsIEJVVCBOT1QKLS0vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLS0vLyBEQVRBLCBPUiBQUk9GSVRTOyBP UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLS0vLyBU SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ LCBPUiBUT1JUCi0tLy8gKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0tLy8gT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLS0KLS0jaWZuZGVm IEdPT0dMRV9CUkVBS1BBRF9DT01NT05fQU5EUk9JRF9JTkNMVURFX1NZU19TSUdOQUxfSAotLSNk ZWZpbmUgR09PR0xFX0JSRUFLUEFEX0NPTU1PTl9BTkRST0lEX0lOQ0xVREVfU1lTX1NJR05BTF9I Ci0tCi0tI2luY2x1ZGUgPHNpZ25hbC5oPgotLQotLSNlbmRpZiAgLy8gR09PR0xFX0JSRUFLUEFE X0NPTU1PTl9BTkRST0lEX0lOQ0xVREVfU1lTX1NJR05BTF9ICi1kaWZmIC0tZ2l0IGEvc3JjL2Nv bW1vbi9jb21tb24uZ3lwIGIvc3JjL2NvbW1vbi9jb21tb24uZ3lwCi1pbmRleCBjNDlmZjg1Li4x YTZiMWFlIDEwMDY0NAotLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGly ZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY29tbW9uL2NvbW1vbi5neXAKLSsrKyBxdHdl YmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtw YWQvc3JjL2NvbW1vbi9jb21tb24uZ3lwCi1AQCAtNDcsNyArNDcsNiBAQAotICAgICAgICAgJ2Fu ZHJvaWQvaW5jbHVkZS9saW5rLmgnLAotICAgICAgICAgJ2FuZHJvaWQvaW5jbHVkZS9zZ2lkZWZz LmgnLAotICAgICAgICAgJ2FuZHJvaWQvaW5jbHVkZS9zeXMvcHJvY2ZzLmgnLAotLSAgICAgICAg J2FuZHJvaWQvaW5jbHVkZS9zeXMvc2lnbmFsLmgnLAotICAgICAgICAgJ2FuZHJvaWQvaW5jbHVk ZS9zeXMvdXNlci5oJywKLSAgICAgICAgICdhbmRyb2lkL2luY2x1ZGUvdWNvbnRleHQuaCcsCi0g ICAgICAgICAnYW5kcm9pZC90ZXN0aW5nL2luY2x1ZGUvd2NoYXIuaCcsCi0tLSAKLTIuMC41Ci0K ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ1L3BhdGNoZXMvMDAwOC1tdXNsLW5vLW1hbGxpbmZvLnBh dGNoIGIvc3JjcGtncy9xdDUvcGF0Y2hlcy8wMDA4LW11c2wtbm8tbWFsbGluZm8ucGF0Y2gKaW5k ZXggNjdjZTJjYjNmNzkuLjdiMzA3MTcxMzZhIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0NS9wYXRj aGVzLzAwMDgtbXVzbC1uby1tYWxsaW5mby5wYXRjaAorKysgYi9zcmNwa2dzL3F0NS9wYXRjaGVz LzAwMDgtbXVzbC1uby1tYWxsaW5mby5wYXRjaApAQCAtMjksMTQgKzI5LDMgQEAKICAgIHN0cnVj dCBtYWxsaW5mbyBtaW5mbyA9IG1hbGxpbmZvKCk7CiAgI2lmIGRlZmluZWQoVVNFX1RDTUFMTE9D KQogICAgcmV0dXJuIG1pbmZvLnVvcmRibGtzOwotLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS9jb250ZW50L2NoaWxkL2NvbnRlbnRfY2hpbGRfaGVscGVycy5jYwkyMDE3LTEx LTI4IDE0OjA2OjUzLjAwMDAwMDAwMCArMDEwMAotKysrIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS9jb250ZW50L2NoaWxkL2NvbnRlbnRfY2hpbGRfaGVscGVycy5jYwkyMDE4LTAx LTI4IDA2OjIzOjE0Ljg5MTIzODUwNyArMDEwMAotQEAgLTI1LDcgKzI1LDcgQEAKLSAvLyB0aG91 Z2gsIHRoaXMgcHJvdmlkZXMgb25seSBhIHBhcnRpYWwgYW5kIG1pc2xlYWRpbmcgdmFsdWUuCi0g Ly8gVW5mb3J0dW5hdGVseSBzb21lIHRlbGVtZXRyeSBiZW5jaG1hcmsgcmVseSBvbiBpdCBhbmQg dGhlc2UgbmVlZCB0bwotIC8vIGJlIHJlZmFjdG9yZWQgYmVmb3JlIGdldHRpbmcgcmlkIG9mIHRo aXMuIFNlZSBjcmJ1Zy5jb20vNTgxMzY1IC4KLS0jaWYgZGVmaW5lZChPU19MSU5VWCkgfHwgZGVm aW5lZChPU19BTkRST0lEKQotKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykgfHwgZGVmaW5lZChPU19B TkRST0lEKQotIHNpemVfdCBHZXRNZW1vcnlVc2FnZUtCKCkgewotICAgc3RydWN0IG1hbGxpbmZv IG1pbmZvID0gbWFsbGluZm8oKTsKLSAgIHVpbnQ2NF90IG1lbV91c2FnZSA9CmRpZmYgLS1naXQg YS9zcmNwa2dzL3F0NS9wYXRjaGVzLzAwMTMtbXVzbC1zZXJpYWxpby5wYXRjaCBiL3NyY3BrZ3Mv cXQ1L3BhdGNoZXMvMDAxMy1tdXNsLXNlcmlhbGlvLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEw MDY0NAppbmRleCBjZjBlMGZhNzY4Zi4uMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9xdDUvcGF0 Y2hlcy8wMDEzLW11c2wtc2VyaWFsaW8ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCww IEBACi0tLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2RldmljZS9zZXJpYWwv c2VyaWFsX2lvX2hhbmRsZXJfcG9zaXguY2MJMjAxNy0wMS0wMyAxMDoyODo1My4wMDAwMDAwMDAg KzAxMDAKLSsrKyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vZGV2aWNlL3Nlcmlh bC9zZXJpYWxfaW9faGFuZGxlcl9wb3NpeC5jYwkyMDE3LTAyLTIzIDIxOjIwOjQyLjY1MDY2OTU2 MyArMDEwMAotQEAgLTEyLDYgKzEyLDkgQEAKLSAKLSAjaWYgZGVmaW5lZChPU19MSU5VWCkKLSAj aW5jbHVkZSA8bGludXgvc2VyaWFsLmg+Ci0rI2lmICFkZWZpbmVkKF9fR0xJQkNfXykKLSsjaW5j bHVkZSA8YXNtLWdlbmVyaWMvaW9jdGxzLmg+Ci0rI2VuZGlmCi0gCi0gLy8gVGhlIGRlZmluaXRp b24gb2Ygc3RydWN0IHRlcm1pb3MyIGlzIGNvcGllZCBmcm9tIGFzbS1nZW5lcmljL3Rlcm1iaXRz LmgKLSAvLyBiZWNhdXNlIGluY2x1ZGluZyB0aGF0IGhlYWRlciBkaXJlY3RseSBjb25mbGljdHMg d2l0aCB0ZXJtaW9zLmguCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0NS9wYXRjaGVzLzAwMTctbXVz bC1zdGFja3N0YXJ0LnBhdGNoIGIvc3JjcGtncy9xdDUvcGF0Y2hlcy8wMDE3LW11c2wtc3RhY2tz dGFydC5wYXRjaAppbmRleCBkOGRkMWFhOTBmNi4uNTcxMzZiYzJiY2QgMTAwNjQ0Ci0tLSBhL3Ny Y3BrZ3MvcXQ1L3BhdGNoZXMvMDAxNy1tdXNsLXN0YWNrc3RhcnQucGF0Y2gKKysrIGIvc3JjcGtn cy9xdDUvcGF0Y2hlcy8wMDE3LW11c2wtc3RhY2tzdGFydC5wYXRjaApAQCAtMSw1ICsxLDUgQEAK LS0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvV2ViS2l0 L1NvdXJjZS9wbGF0Zm9ybS93dGYvU3RhY2tVdGlsLmNwcAkyMDE4LTAxLTI3IDIzOjA4OjQzLjU4 NjQ3NTM0OSArMDEwMAotKysrIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGly ZF9wYXJ0eS9XZWJLaXQvU291cmNlL3BsYXRmb3JtL3d0Zi9TdGFja1V0aWwuY3BwCTIwMTgtMDEt MjcgMjM6MTg6MjIuMjc0NTA1MjAzICswMTAwCistLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL3d0Zi9zdGFja191 dGlsLmNjCTIwMTgtMDEtMjcgMjM6MDg6NDMuNTg2NDc1MzQ5ICswMTAwCisrKysgcXR3ZWJlbmdp bmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRm b3JtL3d0Zi9zdGFja191dGlsLmNjCTIwMTgtMDEtMjcgMjM6MTg6MjIuMjc0NTA1MjAzICswMTAw CiBAQCAtMjgsNyArMjgsNyBAQAogIC8vIEZJWE1FOiBPbiBNYWMgT1NYIGFuZCBMaW51eCwgdGhp cyBtZXRob2QgY2Fubm90IGVzdGltYXRlIHN0YWNrIHNpemUKICAvLyBjb3JyZWN0bHkgZm9yIHRo ZSBtYWluIHRocmVhZC4KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ1L3BhdGNoZXMvMDAyMS1jaHJv bWl1bS1tb2pvLWdjYzgucGF0Y2ggYi9zcmNwa2dzL3F0NS9wYXRjaGVzLzAwMjEtY2hyb21pdW0t bW9qby1nY2M4LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYzRmM2E5Nzli Mi4uMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9xdDUvcGF0Y2hlcy8wMDIxLWNocm9taXVtLW1v am8tZ2NjOC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLS0tLSBxdHdlYmVu Z2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vbW9qby9wdWJsaWMvYy9zeXN0ZW0vbWFjcm9zLmgJ MjAxOC0wNS0xNSAxNDo1ODo0Ni40NDg5MTI2MzQgLTA0MDAKLSsrKyBxdHdlYmVuZ2luZS9zcmMv M3JkcGFydHkvY2hyb21pdW0vbW9qby9wdWJsaWMvYy9zeXN0ZW0vbWFjcm9zLmgJMjAxOC0wNS0x NSAxNDo1ODo1Mi4wNDE3ODQ2MTMgLTA0MDAKLUBAIC0xOCw3ICsxOCwxMyBAQAotICNlbmRpZgot IAotIC8vIExpa2UgdGhlIEMrKzExIHxhbGlnbm9mfCBvcGVyYXRvci4KLS0jaWYgX19jcGx1c3Bs dXMgPj0gMjAxMTAzTAotKyNpZiBkZWZpbmVkKF9fR05VQ19fKSAmJiBfX0dOVUNfXyA+PSA4Ci0r Ly8gR0NDIDggaGFzIGNoYW5nZWQgdGhlIGFsaWdub2Ygb3BlcmF0b3IgdG8gcmV0dXJuIHRoZSBt aW5pbWFsIGFsaWdubWVudAotKy8vIHJlcXVpcmVkIGJ5IHRoZSB0YXJnZXQgQUJJLCBpbnN0ZWFk IG9mIHRoZSBwcmVmZXJyZWQgYWxpZ25tZW50LgotKy8vIFRoaXMgbWVhbnMgdGhhdCBvbiAzMi1i aXQgeDg2LCBpdCB3aWxsIHJldHVybiA0IGluc3RlYWQgb2YgOC4KLSsvLyBVc2UgX19hbGlnbm9m X18gaW5zdGVhZCB0byBhdm9pZCB0aGlzLgotKyNkZWZpbmUgTU9KT19BTElHTk9GKHR5cGUpIF9f YWxpZ25vZl9fKHR5cGUpCi0rI2VsaWYgX19jcGx1c3BsdXMgPj0gMjAxMTAzTAotICNkZWZpbmUg TU9KT19BTElHTk9GKHR5cGUpIGFsaWdub2YodHlwZSkKLSAjZWxpZiBkZWZpbmVkKF9fR05VQ19f KQotICNkZWZpbmUgTU9KT19BTElHTk9GKHR5cGUpIF9fYWxpZ25vZl9fKHR5cGUpCi1nZW5lcmF0 ZWQgYnkgY2dpdCB2MS4xIGF0IDIwMTgtMDUtMjggMTc6Mzg6NDEgKzAwMDAKZGlmZiAtLWdpdCBh L3NyY3BrZ3MvcXQ1L3BhdGNoZXMvMDAyMi1saWJyZXNzbC1jb21wYXQucGF0Y2ggYi9zcmNwa2dz L3F0NS9wYXRjaGVzLzAwMjItbGlicmVzc2wtY29tcGF0LnBhdGNoCmluZGV4IDI3N2NjNjA4NThm Li40ZTVmNjk3ZDcyYyAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDUvcGF0Y2hlcy8wMDIyLWxpYnJl c3NsLWNvbXBhdC5wYXRjaAorKysgYi9zcmNwa2dzL3F0NS9wYXRjaGVzLzAwMjItbGlicmVzc2wt Y29tcGF0LnBhdGNoCkBAIC0xLDE1ICsxLDMgQEAKLS0tLSBxdGJhc2UvY29uZmlnLnRlc3RzL3Vu aXgvb3BlbnNzbDExL29wZW5zc2wuY3BwCTIwMTctMTEtMDUgMTY6MDc6NDAuOTYzMzg1MDcwIC0w NTAwCi0rKysgcXRiYXNlL2NvbmZpZy50ZXN0cy91bml4L29wZW5zc2wxMS9vcGVuc3NsLmNwcAky MDE3LTExLTA1IDE2OjA3OjUxLjc1NTI1NTU0NSAtMDUwMAotQEAgLTM5LDcgKzM5LDcgQEAKLSAK LSAjaW5jbHVkZSA8b3BlbnNzbC9vcGVuc3Nsdi5oPgotIAotLSNpZiAhZGVmaW5lZChPUEVOU1NM X1ZFUlNJT05fTlVNQkVSKSB8fCBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSLTAgPCAweDEwMTAwMDAw TAotKyNpZiAhZGVmaW5lZChPUEVOU1NMX1ZFUlNJT05fTlVNQkVSKSB8fCBPUEVOU1NMX1ZFUlNJ T05fTlVNQkVSLTAgPCAweDEwMTAwMDAwTCB8fCBkZWZpbmVkKExJQlJFU1NMX1ZFUlNJT05fTlVN QkVSKQotICMgIGVycm9yICJPcGVuU1NMID49IDEuMSBpcyByZXF1aXJlZCIKLSAjZW5kaWYKLSAK LQogZGlmZiAtLWdpdCBhL3NyYy9uZXR3b3JrL3NzbC9xc3NsY29udGV4dF9vcGVuc3NsLmNwcCBi L3NyYy9uZXR3b3JrL3NzbC9xc3NsY29udGV4dF9vcGVuc3NsLmNwcAogaW5kZXggNDFiNzU5MzY0 Yi4uMTdjZTViNGIzMCAxMDA2NDQKIC0tLSBxdGJhc2Uvc3JjL25ldHdvcmsvc3NsL3Fzc2xjb250 ZXh0X29wZW5zc2wuY3BwCkBAIC0zMSwxMCArMTksMTAgQEAgaW5kZXggODJmZjVlOWUzYS4uNzdl NWQwM2I3ZCAxMDA2NDQKIEBAIC00MDIsNyArNDAyLDcgQEAgREVGSU5FRlVOQzIoaW50LCBTU0xf Q1RYX3VzZV9Qcml2YXRlS2V5LCBTU0xfQ1RYICphLCBhLCBFVlBfUEtFWSAqYiwgYiwgcmV0dXJu IC0KICBERUZJTkVGVU5DMihpbnQsIFNTTF9DVFhfdXNlX1JTQVByaXZhdGVLZXksIFNTTF9DVFgg KmEsIGEsIFJTQSAqYiwgYiwgcmV0dXJuIC0xLCByZXR1cm4pCiAgREVGSU5FRlVOQzMoaW50LCBT U0xfQ1RYX3VzZV9Qcml2YXRlS2V5X2ZpbGUsIFNTTF9DVFggKmEsIGEsIGNvbnN0IGNoYXIgKmIs IGIsIGludCBjLCBjLCByZXR1cm4gLTEsIHJldHVybikKLSBERUZJTkVGVU5DKFg1MDlfU1RPUkUg KiwgU1NMX0NUWF9nZXRfY2VydF9zdG9yZSwgY29uc3QgU1NMX0NUWCAqYSwgYSwgcmV0dXJuIDAs IHJldHVybikKKyBERUZJTkVGVU5DKFg1MDlfU1RPUkUgKiwgU1NMX0NUWF9nZXRfY2VydF9zdG9y ZSwgY29uc3QgU1NMX0NUWCAqYSwgYSwgcmV0dXJuIG51bGxwdHIsIHJldHVybikKIC0jaWYgT1BF TlNTTF9WRVJTSU9OX05VTUJFUiA+PSAweDEwMDAyMDAwTAogKyNpZiBPUEVOU1NMX1ZFUlNJT05f TlVNQkVSID49IDB4MTAwMDIwMDBMICYmICFkZWZpbmVkKExJQlJFU1NMX1ZFUlNJT05fTlVNQkVS KQotIERFRklORUZVTkMoU1NMX0NPTkZfQ1RYICosIFNTTF9DT05GX0NUWF9uZXcsIERVTU1ZQVJH LCBEVU1NWUFSRywgcmV0dXJuIDAsIHJldHVybik7CisgREVGSU5FRlVOQyhTU0xfQ09ORl9DVFgg KiwgU1NMX0NPTkZfQ1RYX25ldywgRFVNTVlBUkcsIERVTU1ZQVJHLCByZXR1cm4gbnVsbHB0ciwg cmV0dXJuKTsKICBERUZJTkVGVU5DKHZvaWQsIFNTTF9DT05GX0NUWF9mcmVlLCBTU0xfQ09ORl9D VFggKmEsIGEsIHJldHVybiAscmV0dXJuKTsKICBERUZJTkVGVU5DMih2b2lkLCBTU0xfQ09ORl9D VFhfc2V0X3NzbF9jdHgsIFNTTF9DT05GX0NUWCAqYSwgYSwgU1NMX0NUWCAqYiwgYiwgcmV0dXJu LCByZXR1cm4pOwogZGlmZiAtLWdpdCBhL3NyYy9uZXR3b3JrL3NzbC9xc3Nsc29ja2V0X29wZW5z c2xfc3ltYm9sc19wLmggYi9zcmMvbmV0d29yay9zc2wvcXNzbHNvY2tldF9vcGVuc3NsX3N5bWJv bHNfcC5oCkBAIC01MCwzICszOCwxNCBAQCBpbmRleCA0ZmI4ZjI2Y2Y2Li4zYTdkZTkzMTEzIDEw MDY0NAogIFNTTF9DT05GX0NUWCAqcV9TU0xfQ09ORl9DVFhfbmV3KCk7CiAgdm9pZCBxX1NTTF9D T05GX0NUWF9mcmVlKFNTTF9DT05GX0NUWCAqYSk7CiAgdm9pZCBxX1NTTF9DT05GX0NUWF9zZXRf c3NsX2N0eChTU0xfQ09ORl9DVFggKmEsIFNTTF9DVFggKmIpOworLS0tIHF0YmFzZS9zcmMvbmV0 d29yay9jb25maWd1cmUuanNvbgkyMDE5LTAxLTI4IDE4OjExOjUyLjAwMDAwMDAwMCArMDEwMAor KysrIC0JMjAxOS0wMy0xMSAwMDozMTo0Mi44ODMyNjQyNDYgKzAxMDAKK0BAIC0xNjUsNyArMTY1 LDcgQEAKKyAgICAgICAgICAgICAidGVzdCI6IHsKKyAgICAgICAgICAgICAgICAgImluY2x1ZGUi OiAib3BlbnNzbC9vcGVuc3Nsdi5oIiwKKyAgICAgICAgICAgICAgICAgInRhaWwiOiBbCistICAg ICAgICAgICAgICAgICAgICAiI2lmICFkZWZpbmVkKE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIpIHx8 IE9QRU5TU0xfVkVSU0lPTl9OVU1CRVItMCA8IDB4MTAxMDAwMDBMIiwKKysgICAgICAgICAgICAg ICAgICAgICIjaWYgIWRlZmluZWQoT1BFTlNTTF9WRVJTSU9OX05VTUJFUikgfHwgT1BFTlNTTF9W RVJTSU9OX05VTUJFUi0wIDwgMHgxMDEwMDAwMEwgfHwgZGVmaW5lZChMSUJSRVNTTF9WRVJTSU9O X05VTUJFUikiLAorICAgICAgICAgICAgICAgICAgICAgIiMgIGVycm9yIE9wZW5TU0wgPj0gMS4x IGlzIHJlcXVpcmVkIiwKKyAgICAgICAgICAgICAgICAgICAgICIjZW5kaWYiCisgICAgICAgICAg ICAgICAgIF0KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ1L3BhdGNoZXMvMDAyMy1lbmFibGVfdG9v bHMtY3Jvc3MucGF0Y2ggYi9zcmNwa2dzL3F0NS9wYXRjaGVzLzAwMjMtZW5hYmxlX3Rvb2xzLWNy b3NzLnBhdGNoCmluZGV4IDgxMDkyYzc3YjQxLi45ZWFjNGU3MGVmYSAxMDA2NDQKLS0tIGEvc3Jj cGtncy9xdDUvcGF0Y2hlcy8wMDIzLWVuYWJsZV90b29scy1jcm9zcy5wYXRjaAorKysgYi9zcmNw a2dzL3F0NS9wYXRjaGVzLzAwMjMtZW5hYmxlX3Rvb2xzLWNyb3NzLnBhdGNoCkBAIC0xLDI4ICsx LDM3IEBACiAtLS0gcXR0b29scy9zcmMvc3JjLnBybwkyMDE4LTA2LTA5IDEzOjEwOjM4LjAwMDAw MDAwMCArMDIwMAogKysrIHF0dG9vbHMvc3JjL3NyYy5wcm8JMjAxOC0wOC0xOSAwOTozNDoyOS44 MDM2NzAyMDUgKzAyMDAKLUBAIC0xLDE2ICsxLDEwIEBACitAQCAtMSwyMCArMSwxNCBAQAogIFRF TVBMQVRFID0gc3ViZGlycwogIAogLXF0SGF2ZU1vZHVsZSh3aWRnZXRzKSB7CiAtICAgIG5vLXBu ZyB7CiAtICAgICAgICBtZXNzYWdlKCJTb21lIGdyYXBoaWNzLXJlbGF0ZWQgdG9vbHMgYXJlIHVu YXZhaWxhYmxlIHdpdGhvdXQgUE5HIHN1cHBvcnQiKQogLSAgICB9IGVsc2UgewotLSAgICAgICAg U1VCRElSUyA9IGFzc2lzdGFudCBcCi0tICAgICAgICAgICAgICAgICAgcGl4ZWx0b29sIFwKLS0g ICAgICAgICAgICAgICAgICBkZXNpZ25lcgotK1NVQkRJUlMgPSBhc3Npc3RhbnQgXAotKwlwaXhl bHRvb2wgXAotKwlkZXNpZ25lcgotIAotLSAgICAgICAgbGluZ3Vpc3QuZGVwZW5kcyA9IGRlc2ln bmVyCistICAgICAgICBRVF9GT1JfQ09ORklHICs9IHdpZGdldHMKKy0gICAgICAgIHF0Q29uZmln KHB1c2hidXR0b24pOnF0Q29uZmlnKHRvb2xidXR0b24pIHsKKy0gICAgICAgICAgICBTVUJESVJT ID0gYXNzaXN0YW50IFwKKy0gICAgICAgICAgICAgICAgICAgICAgZGVzaWduZXIgXAorLSAgICAg ICAgICAgICAgICAgICAgICBwaXhlbHRvb2wKKy0KKy0gICAgICAgICAgICBsaW5ndWlzdC5kZXBl bmRzID0gZGVzaWduZXIKKy0gICAgICAgIH0KKy0gICAgICAgIHF0SGF2ZU1vZHVsZShxdWljayk6 cXRDb25maWcodGhyZWFkKTpxdENvbmZpZyh0b29sYnV0dG9uKTogU1VCRElSUyArPSBkaXN0YW5j ZWZpZWxkZ2VuZXJhdG9yCiAtICAgIH0KIC19CisrUVRfRk9SX0NPTkZJRyArPSB3aWRnZXRzCisr CisrU1VCRElSUyA9IGFzc2lzdGFudCBcCisrICAgICAgICAgIGRlc2lnbmVyIFwKKysgICAgICAg ICAgcGl4ZWx0b29sCisrCiArbGluZ3Vpc3QuZGVwZW5kcyA9IGRlc2lnbmVyCisrCisrU1VCRElS UyArPSBkaXN0YW5jZWZpZWxkZ2VuZXJhdG9yCiAgCiAgU1VCRElSUyArPSBsaW5ndWlzdCBcCiAg ICAgIHF0YXR0cmlidXRpb25zc2Nhbm5lcgotQEAgLTMxLDExICsyNSwxMSBAQAotICAgICBTVUJE SVJTICs9IGFuZHJvaWRkZXBsb3lxdAorQEAgLTMxLDExICsyNSwxMSBAQCBtYWNvcyB7CisgICAg IFNVQkRJUlMgKz0gbWFjZGVwbG95cXQKICB9CiAgCiAtcXRIYXZlTW9kdWxlKGRidXMpOiBTVUJE SVJTICs9IHFkYnVzCkBAIC0zMCw4ICszOSw4IEBACiAgCiAgd2luMzJ8d2lucnQ6U1VCRElSUyAr PSB3aW5kZXBsb3lxdAogIHdpbnJ0OlNVQkRJUlMgKz0gd2lucnRydW5uZXIKLS1xdEhhdmVNb2R1 bGUoZ3VpKTohYW5kcm9pZDohdWlraXQ6IXFueDohd2lucnQ6IFNVQkRJUlMgKz0gcXRkaWFnCist cXRIYXZlTW9kdWxlKGd1aSk6IXdhc206IWFuZHJvaWQ6IXVpa2l0OiFxbng6IXdpbnJ0OiBTVUJE SVJTICs9IHF0ZGlhZwogK1NVQkRJUlMgKz0gcXRkaWFnCiAgCiAgcXROb21ha2VUb29scyggXAot ICAgICBwaXhlbHRvb2wgXAorICAgICBkaXN0YW5jZWZpZWxkZ2VuZXJhdG9yIFwKZGlmZiAtLWdp dCBhL3NyY3BrZ3MvcXQ1L3BhdGNoZXMvMDAyNy1za2lhX2NwdS1iZS5wYXRjaCBiL3NyY3BrZ3Mv cXQ1L3BhdGNoZXMvMDAyNy1za2lhX2NwdS1iZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggOTM1MmYxOTBhM2IuLjAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvcXQ1L3BhdGNo ZXMvMDAyNy1za2lhX2NwdS1iZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAK LS0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvc2tpYS9p bmNsdWRlL2dwdS9HclR5cGVzLmgub3JpZwkyMDE4LTA5LTExIDE0OjM3OjU2LjgzMjgyMjA1NSAr MDIwMAotKysrIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9z a2lhL2luY2x1ZGUvZ3B1L0dyVHlwZXMuaAkyMDE4LTA5LTExIDE0OjM4OjExLjQ2NDgyMTE4MyAr MDIwMAotQEAgLTM0OCw5ICszNDgsNiBAQAotIHN0YXRpYyBjb25zdCBpbnQga0dyUGl4ZWxDb25m aWdDbnQgPSBrTGFzdF9HclBpeGVsQ29uZmlnICsgMTsKLSAKLSAvLyBBbGlhc2VzIGZvciBwaXhl bCBjb25maWdzIHRoYXQgbWF0Y2ggc2tpYSdzIGJ5dGUgb3JkZXIuCi0tI2lmbmRlZiBTS19DUFVf TEVORElBTgotLSAgICAjZXJyb3IgIlNraWEgZ3B1IGN1cnJlbnRseSBhc3N1bWVzIGxpdHRsZSBl bmRpYW4iCi0tI2VuZGlmCi0gI2lmIFNLX1BNQ09MT1JfQllURV9PUkRFUihCLEcsUixBKQotICAg ICBzdGF0aWMgY29uc3QgR3JQaXhlbENvbmZpZyBrU2tpYTg4ODhfR3JQaXhlbENvbmZpZyA9IGtC R1JBXzg4ODhfR3JQaXhlbENvbmZpZzsKLSAjZWxpZiBTS19QTUNPTE9SX0JZVEVfT1JERVIoUixH LEIsQSkKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ1L3BhdGNoZXMvMDAyOC13ZWJydGMtYmUucGF0 Y2ggYi9zcmNwa2dzL3F0NS9wYXRjaGVzLzAwMjgtd2VicnRjLWJlLnBhdGNoCmRlbGV0ZWQgZmls ZSBtb2RlIDEwMDY0NAppbmRleCBjNzFjNjVjOTI2Yi4uMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtn cy9xdDUvcGF0Y2hlcy8wMDI4LXdlYnJ0Yy1iZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEy ICswLDAgQEAKLS0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFy dHkvd2VicnRjL3R5cGVkZWZzLmgJMjAxOC0wNi0xNSAwOTo0NzoyMC4wMDAwMDAwMDAgKzAyMDAK LSsrKyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvd2VicnRj L3R5cGVkZWZzLmgJMjAxOC0wOS0xNCAxNzo1MDo0NS4xOTgxNTM5NDIgKzAyMDAKLUBAIC00Nyw2 ICs0Nyw5IEBACi0gI2VsaWYgZGVmaW5lZChfX3BuYWNsX18pCi0gI2RlZmluZSBXRUJSVENfQVJD SF8zMl9CSVRTCi0gI2RlZmluZSBXRUJSVENfQVJDSF9MSVRUTEVfRU5ESUFOCi0rI2VsaWYgZGVm aW5lZChfX01JUFNFQl9fKQotKyNkZWZpbmUgV0VCUlRDX0FSQ0hfTUlQU19GQU1JTFkKLSsjZGVm aW5lIFdFQlJUQ19BUkNIX0JJR19FTkRJQU4KLSAjZWxzZQotICNlcnJvciBQbGVhc2UgYWRkIHN1 cHBvcnQgZm9yIHlvdXIgYXJjaGl0ZWN0dXJlIGluIHR5cGVkZWZzLmgKLSAjZW5kaWYKZGlmZiAt LWdpdCBhL3NyY3BrZ3MvcXQ1L3BhdGNoZXMvMDAyOS1tdXNsLWxpYmV2ZW50LnBhdGNoIGIvc3Jj cGtncy9xdDUvcGF0Y2hlcy8wMDI5LW11c2wtbGliZXZlbnQucGF0Y2gKZGVsZXRlZCBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDYyMjY1YjYzOTk0Li4wMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3F0 NS9wYXRjaGVzLzAwMjktbXVzbC1saWJldmVudC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEy MSArMCwwIEBACi0tLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Jhc2UvbWVz c2FnZV9sb29wL21lc3NhZ2VfcHVtcF9saWJldmVudC5jYwotKysrIHF0d2ViZW5naW5lL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS9iYXNlL21lc3NhZ2VfbG9vcC9tZXNzYWdlX3B1bXBfbGliZXZlbnQu Y2MKLUBAIC0xNCw3ICsxNCw3IEBACi0gI2luY2x1ZGUgImJhc2UvZmlsZXMvZmlsZV91dGlsLmgi Ci0gI2luY2x1ZGUgImJhc2UvbG9nZ2luZy5oIgotICNpbmNsdWRlICJiYXNlL3Bvc2l4L2VpbnRy X3dyYXBwZXIuaCIKLS0jaW5jbHVkZSAiYmFzZS90aGlyZF9wYXJ0eS9saWJldmVudC9ldmVudC5o IgotKyNpbmNsdWRlICJldmVudC5oIgotICNpbmNsdWRlICJiYXNlL3RpbWUvdGltZS5oIgotICNp bmNsdWRlICJiYXNlL3RyYWNlX2V2ZW50L3RyYWNlX2V2ZW50LmgiCi0gI2luY2x1ZGUgImJ1aWxk L2J1aWxkX2NvbmZpZy5oIgotLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90 b29scy9nbi9ib290c3RyYXAvYm9vdHN0cmFwLnB5CTIwMTgtMTAtMTggMDE6MjA6MTkuMjI0MTY5 Nzg2ICswMjAwCi0rKysgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Rvb2xzL2du L2Jvb3RzdHJhcC9ib290c3RyYXAucHkJMjAxOC0xMC0xOCAwMToyNjoxMS4yNzMxNDg4MDIgKzAy MDAKLUBAIC0zMiw2ICszMiw3IEBACi0gCi0gaXNfd2luID0gc3lzLnBsYXRmb3JtLnN0YXJ0c3dp dGgoJ3dpbicpCi0gaXNfbGludXggPSBzeXMucGxhdGZvcm0uc3RhcnRzd2l0aCgnbGludXgnKQot K2lzX2dudV9saW51eCA9IGlzX2xpbnV4IGFuZCBwbGF0Zm9ybS5saWJjX3ZlcigpWzBdLnN0YXJ0 c3dpdGgoJ2dsaWJjJykKLSBpc19tYWMgPSBzeXMucGxhdGZvcm0uc3RhcnRzd2l0aCgnZGFyd2lu JykKLSBpc19haXggPSBzeXMucGxhdGZvcm0uc3RhcnRzd2l0aCgnYWl4JykKLSBpc19wb3NpeCA9 IGlzX2xpbnV4IG9yIGlzX21hYyBvciBpc19haXgKLUBAIC0xOTMsNyArMTkzLDcgQEAKLSAgICAg ICB7J0VOQUJMRV9NVVRFWF9QUklPUklUWV9JTkhFUklUQU5DRSc6ICdmYWxzZSd9KQotIAotICAg d3JpdGVfYnVpbGRmbGFnX2hlYWRlcl9tYW51YWxseShyb290X2dlbl9kaXIsICdiYXNlL2FsbG9j YXRvci9mZWF0dXJlcy5oJywKLS0gICAgICB7J1VTRV9BTExPQ0FUT1JfU0hJTSc6ICd0cnVlJyBp ZiBpc19saW51eCBlbHNlICdmYWxzZSd9KQotKyAgICAgIHsnVVNFX0FMTE9DQVRPUl9TSElNJzog J3RydWUnIGlmIGlzX2dudV9saW51eCBlbHNlICdmYWxzZSd9KQotIAotICAgd3JpdGVfYnVpbGRm bGFnX2hlYWRlcl9tYW51YWxseShyb290X2dlbl9kaXIsICdiYXNlL2RlYnVnL2RlYnVnZ2luZ19m bGFncy5oJywKLSAgICAgICB7Ci1AQCAtNDUzLDggKzQ1Myw2IEBACi0gICAgICAgJ2Jhc2UvdGhp cmRfcGFydHkvc3VwZXJmYXN0aGFzaC9zdXBlcmZhc3RoYXNoLmMnLAotICAgXSkKLSAgIHN0YXRp Y19saWJyYXJpZXNbJ2Jhc2UnXVsnc291cmNlcyddLmV4dGVuZChbCi0tICAgICAgJ2Jhc2UvYWxs b2NhdG9yL2FsbG9jYXRvcl9jaGVjay5jYycsCi0tICAgICAgJ2Jhc2UvYWxsb2NhdG9yL2FsbG9j YXRvcl9leHRlbnNpb24uY2MnLAotICAgICAgICdiYXNlL2F0X2V4aXQuY2MnLAotICAgICAgICdi YXNlL2Jhc2VfcGF0aHMuY2MnLAotICAgICAgICdiYXNlL2Jhc2Vfc3dpdGNoZXMuY2MnLAotQEAg LTYyNSw2ICs2MjMsMTEgQEAKLSAgICAgICAnYmFzZS92YWx1ZXMuY2MnLAotICAgICAgICdiYXNl L3Zsb2cuY2MnLAotICAgXSkKLSsgIGlmIGlzX2dudV9saW51eDoKLSsgICAgc3RhdGljX2xpYnJh cmllc1snYmFzZSddWydzb3VyY2VzJ10uZXh0ZW5kKFsKLSsgICAgICAgICdiYXNlL2FsbG9jYXRv ci9hbGxvY2F0b3JfY2hlY2suY2MnLAotKyAgICAgICAgJ2Jhc2UvYWxsb2NhdG9yL2FsbG9jYXRv cl9leHRlbnNpb24uY2MnLAotKyAgICBdKQotIAotICAgaWYgaXNfcG9zaXg6Ci0gICAgIHN0YXRp Y19saWJyYXJpZXNbJ2Jhc2UnXVsnc291cmNlcyddLmV4dGVuZChbCi1AQCAtNjYzLDI5ICs2NjYs MzEgQEAKLSAgICAgICAgICAgICAnYmFzZS90aW1lL3RpbWVfZXhwbG9kZWRfcG9zaXguY2MnLAot ICAgICAgICAgXSkKLSAKLS0gICAgc3RhdGljX2xpYnJhcmllc1snbGliZXZlbnQnXSA9IHsKLS0g ICAgICAgICdzb3VyY2VzJzogWwotLSAgICAgICAgICAgICdiYXNlL3RoaXJkX3BhcnR5L2xpYmV2 ZW50L2J1ZmZlci5jJywKLS0gICAgICAgICAgICAnYmFzZS90aGlyZF9wYXJ0eS9saWJldmVudC9l dmJ1ZmZlci5jJywKLS0gICAgICAgICAgICAnYmFzZS90aGlyZF9wYXJ0eS9saWJldmVudC9ldmRu cy5jJywKLS0gICAgICAgICAgICAnYmFzZS90aGlyZF9wYXJ0eS9saWJldmVudC9ldmVudC5jJywK LS0gICAgICAgICAgICAnYmFzZS90aGlyZF9wYXJ0eS9saWJldmVudC9ldmVudF90YWdnaW5nLmMn LAotLSAgICAgICAgICAgICdiYXNlL3RoaXJkX3BhcnR5L2xpYmV2ZW50L2V2cnBjLmMnLAotLSAg ICAgICAgICAgICdiYXNlL3RoaXJkX3BhcnR5L2xpYmV2ZW50L2V2dXRpbC5jJywKLS0gICAgICAg ICAgICAnYmFzZS90aGlyZF9wYXJ0eS9saWJldmVudC9odHRwLmMnLAotLSAgICAgICAgICAgICdi YXNlL3RoaXJkX3BhcnR5L2xpYmV2ZW50L2xvZy5jJywKLS0gICAgICAgICAgICAnYmFzZS90aGly ZF9wYXJ0eS9saWJldmVudC9wb2xsLmMnLAotLSAgICAgICAgICAgICdiYXNlL3RoaXJkX3BhcnR5 L2xpYmV2ZW50L3NlbGVjdC5jJywKLS0gICAgICAgICAgICAnYmFzZS90aGlyZF9wYXJ0eS9saWJl dmVudC9zaWduYWwuYycsCi0tICAgICAgICAgICAgJ2Jhc2UvdGhpcmRfcGFydHkvbGliZXZlbnQv c3RybGNweS5jJywKLS0gICAgICAgIF0sCi0tICAgICAgICAndG9vbCc6ICdjYycsCi0tICAgICAg ICAnaW5jbHVkZV9kaXJzJzogW10sCi0tICAgICAgICAnY2ZsYWdzJzogY2ZsYWdzICsgWyctREhB VkVfQ09ORklHX0gnXSwKLS0gICAgfQotKyAgICBpZiBpc19nbnVfbGludXg6Ci0rICAgICAgc3Rh dGljX2xpYnJhcmllc1snbGliZXZlbnQnXSA9IHsKLSsgICAgICAgICAgJ3NvdXJjZXMnOiBbCi0r ICAgICAgICAgICAgICAnYmFzZS90aGlyZF9wYXJ0eS9saWJldmVudC9idWZmZXIuYycsCi0rICAg ICAgICAgICAgICAnYmFzZS90aGlyZF9wYXJ0eS9saWJldmVudC9ldmJ1ZmZlci5jJywKLSsgICAg ICAgICAgICAgICdiYXNlL3RoaXJkX3BhcnR5L2xpYmV2ZW50L2V2ZG5zLmMnLAotKyAgICAgICAg ICAgICAgJ2Jhc2UvdGhpcmRfcGFydHkvbGliZXZlbnQvZXZlbnQuYycsCi0rICAgICAgICAgICAg ICAnYmFzZS90aGlyZF9wYXJ0eS9saWJldmVudC9ldmVudF90YWdnaW5nLmMnLAotKyAgICAgICAg ICAgICAgJ2Jhc2UvdGhpcmRfcGFydHkvbGliZXZlbnQvZXZycGMuYycsCi0rICAgICAgICAgICAg ICAnYmFzZS90aGlyZF9wYXJ0eS9saWJldmVudC9ldnV0aWwuYycsCi0rICAgICAgICAgICAgICAn YmFzZS90aGlyZF9wYXJ0eS9saWJldmVudC9odHRwLmMnLAotKyAgICAgICAgICAgICAgJ2Jhc2Uv dGhpcmRfcGFydHkvbGliZXZlbnQvbG9nLmMnLAotKyAgICAgICAgICAgICAgJ2Jhc2UvdGhpcmRf cGFydHkvbGliZXZlbnQvcG9sbC5jJywKLSsgICAgICAgICAgICAgICdiYXNlL3RoaXJkX3BhcnR5 L2xpYmV2ZW50L3NlbGVjdC5jJywKLSsgICAgICAgICAgICAgICdiYXNlL3RoaXJkX3BhcnR5L2xp YmV2ZW50L3NpZ25hbC5jJywKLSsgICAgICAgICAgICAgICdiYXNlL3RoaXJkX3BhcnR5L2xpYmV2 ZW50L3N0cmxjcHkuYycsCi0rICAgICAgICAgIF0sCi0rICAgICAgICAgICd0b29sJzogJ2NjJywK LSsgICAgICAgICAgJ2luY2x1ZGVfZGlycyc6IFtdLAotKyAgICAgICAgICAnY2ZsYWdzJzogY2Zs YWdzICsgWyctREhBVkVfQ09ORklHX0gnXSwKLSsgICAgICB9Ci0gCi0gICBpZiBpc19saW51eCBv ciBpc19haXg6Ci0gICAgIGxkZmxhZ3MuZXh0ZW5kKFsnLXB0aHJlYWQnXSkKLSsgICAgbGRmbGFn cy5leHRlbmQoWyctbGV2ZW50J10pCi0gCi0gICAgIHN0YXRpY19saWJyYXJpZXNbJ3hkZ191c2Vy X2RpcnMnXSA9IHsKLSAgICAgICAgICdzb3VyY2VzJzogWwotQEAgLTcwOSw3ICs3MTQsNyBAQAot ICAgICAgICAgJ2Jhc2Uvc3lzX2luZm9fbGludXguY2MnLAotICAgICAgICAgJ2Jhc2UvdGhyZWFk aW5nL3BsYXRmb3JtX3RocmVhZF9saW51eC5jYycsCi0gICAgIF0pCi0tICAgIGlmIGlzX2xpbnV4 OgotKyAgICBpZiBpc19nbnVfbGludXg6Ci0gICAgICAgc3RhdGljX2xpYnJhcmllc1snYmFzZSdd Wydzb3VyY2VzJ10uZXh0ZW5kKFsKLSAgICAgICAgICdiYXNlL2FsbG9jYXRvci9hbGxvY2F0b3Jf c2hpbS5jYycsCi0gICAgICAgICAnYmFzZS9hbGxvY2F0b3IvYWxsb2NhdG9yX3NoaW1fZGVmYXVs dF9kaXNwYXRjaF90b19nbGliYy5jYycsCi1AQCAtNzIxLDcgKzcyNiw3IEBACi0gICAgICAgc3Rh dGljX2xpYnJhcmllc1snbGliZXZlbnQnXVsnc291cmNlcyddLmV4dGVuZChbCi0gICAgICAgICAg J2Jhc2UvdGhpcmRfcGFydHkvbGliZXZlbnQvZXBvbGwuYycsCi0gICAgICAgXSkKLS0gICAgZWxz ZToKLSsgICAgaWYgaXNfYWl4OgotICAgICAgIGxpYnMuZXh0ZW5kKFsnLWxydCddKQotICAgICAg IHN0YXRpY19saWJyYXJpZXNbJ2Jhc2UnXVsnc291cmNlcyddLmV4dGVuZChbCi0gICAgICAgICAg ICdiYXNlL3Byb2Nlc3MvaW50ZXJuYWxfYWl4LmNjJwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDUv cGF0Y2hlcy8wMDMzLXJldmVydF9yZW1vdmVfb3VyX3VzZV9vZl9zeXNjYWxsX2Zvci1zdGF0eC5w YXRjaCBiL3NyY3BrZ3MvcXQ1L3BhdGNoZXMvMDAzMy1yZXZlcnRfcmVtb3ZlX291cl91c2Vfb2Zf c3lzY2FsbF9mb3Itc3RhdHgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhl Nzc5YTA5Y2QwLi4wMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3F0NS9wYXRjaGVzLzAwMzMtcmV2 ZXJ0X3JlbW92ZV9vdXJfdXNlX29mX3N5c2NhbGxfZm9yLXN0YXR4LnBhdGNoCisrKyAvZGV2L251 bGwKQEAgLTEsMTE5ICswLDAgQEAKLURlc2NyaXB0aW9uOiByZXZlcnQgdXBzdHJlYW0gY29tbWl0 IHRoYXQgcmVtb3ZlcyB1c2Ugb2Ygc3lzY2FsbCgpIGFuZCBzdGF0eCgyKQotIFRoZSBjb21taXQg aHR0cHM6Ly9jb2RlLnF0LmlvL2NnaXQvcXQvcXRiYXNlLmdpdC9jb21taXQvP2lkPWI3ODg3Zjli NGZhYWQyMjIKLSByZW1vdmVzIHRoZSB1c2Ugb2YgdGhlIGFib3ZlIG1lbnRpb25lZCBzeXNjYWxs cy4gVGhpcyBtYWtlcyBRdCBub3QgYWJsZQotIHRvIHJ1biBvbiBjdXJyZW50IHN0YWJsZSBzZXJ2 ZXJzIHVuZGVyIGEgdGVzdGluZy91bnN0YWJsZSBWTS4KLSAuCi0gVGhpcyBwYXRjaCBzaG91bGQg YmUgcmVtb3ZlZCBpbiB0ZXN0aW5nL3Vuc3RhYmxlIGFmdGVyIEJ1c3RlciBnZXRzIHJlbGVhc2Vk LgotQXV0aG9yOiBMaXNhbmRybyBEYW1pw6FuIE5pY2Fub3IgUMOpcmV6IE1leWVyIDxsaXNhbmRy b0BkZWJpYW4ub3JnPgotRm9yd2FyZGVkOiBub3QtbmVlZGVkCi0KLS0tLQotIHNyYy9jb3JlbGli L2dsb2JhbC9taW5pbXVtLWxpbnV4X3AuaCAgICAgIHwgICAgNyAtLS0tCi0gc3JjL2NvcmVsaWIv aW8vcWZpbGVzeXN0ZW1lbmdpbmVfdW5peC5jcHAgfCAgIDQ1ICsrKysrKysrKysrKysrKysrKysr KysrKysrKystLQotIDIgZmlsZXMgY2hhbmdlZCwgNDMgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlv bnMoLSkKLQotLS0tIHF0YmFzZS9zcmMvY29yZWxpYi9nbG9iYWwvbWluaW11bS1saW51eF9wLmgK LSsrKyBxdGJhc2Uvc3JjL2NvcmVsaWIvZ2xvYmFsL21pbmltdW0tbGludXhfcC5oCi1AQCAtNzUs MTQgKzc1LDkgQEAgUVRfQkVHSU5fTkFNRVNQQUNFCi0gICogLSBhY2NlcHQ0ICAgICAgICAgICAg ICAgICAgICAyLjYuMjgKLSAgKiAtIHJlbmFtZWF0MiAgICAgICAgICAgICAgICAgIDMuMTYgICAg ICAgICAgICAgICAgICAgIFFUX0NPTkZJRyhyZW5hbWVhdDIpCi0gICogLSBnZXRyYW5kb20gICAg ICAgICAgICAgICAgICAzLjE3ICAgICAgICAgICAgICAgICAgICBRVF9DT05GSUcoZ2V0ZW50cm9w eSkKLS0gKiAtIHN0YXR4ICAgICAgICAgICAgICAgICAgICAgIDQuMTEgICAgICAgICAgICAgICAg ICAgIFFUX0NPTkZJRyhzdGF0eCkKLSAgKi8KLSAKLS0jaWYgUVRfQ09ORklHKHN0YXR4KQotLSMg IGRlZmluZSBNSU5MSU5VWF9NQUpPUiAgICAgICAgNAotLSMgIGRlZmluZSBNSU5MSU5VWF9NSU5P UiAgICAgICAgMTEKLS0jICBkZWZpbmUgTUlOTElOVVhfUEFUQ0ggICAgICAgIDAKLS0jZWxpZiBR VF9DT05GSUcoZ2V0ZW50cm9weSkKLSsjaWYgUVRfQ09ORklHKGdldGVudHJvcHkpCi0gIyAgZGVm aW5lIE1JTkxJTlVYX01BSk9SICAgICAgICAzCi0gIyAgZGVmaW5lIE1JTkxJTlVYX01JTk9SICAg ICAgICAxNwotICMgIGRlZmluZSBNSU5MSU5VWF9QQVRDSCAgICAgICAgMAotLS0tIHF0YmFzZS9z cmMvY29yZWxpYi9pby9xZmlsZXN5c3RlbWVuZ2luZV91bml4LmNwcAotKysrIHF0YmFzZS9zcmMv Y29yZWxpYi9pby9xZmlsZXN5c3RlbWVuZ2luZV91bml4LmNwcAotQEAgLTEsNiArMSw2IEBACi0g LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioKLSAqKgotLSoqIENvcHlyaWdodCAoQykgMjAxOCBJbnRlbCBD b3Jwb3JhdGlvbi4KLSsqKiBDb3B5cmlnaHQgKEMpIDIwMTcgSW50ZWwgQ29ycG9yYXRpb24uCi0g KiogQ29weXJpZ2h0IChDKSAyMDE2IFRoZSBRdCBDb21wYW55IEx0ZC4KLSAqKiBDb3B5cmlnaHQg KEMpIDIwMTMgU2FtdWVsIEdhaXN0IDxzYW11ZWwuZ2Fpc3RAZWRlbHRlY2guY2g+Ci0gKiogQ29u dGFjdDogaHR0cHM6Ly93d3cucXQuaW8vbGljZW5zaW5nLwotQEAgLTg4LDYgKzg4LDcgQEAgZXh0 ZXJuICJDIiBOU1N0cmluZyAqTlNUZW1wb3JhcnlEaXJlY3RvcgotIAotICNpZiBkZWZpbmVkKFFf T1NfTElOVVgpCi0gIyAgaW5jbHVkZSA8c3lzL2lvY3RsLmg+Ci0rIyAgaW5jbHVkZSA8c3lzL3N5 c2NhbGwuaD4KLSAjICBpbmNsdWRlIDxzeXMvc2VuZGZpbGUuaD4KLSAjICBpbmNsdWRlIDxsaW51 eC9mcy5oPgotIAotQEAgLTk1LDYgKzk2LDI4IEBAIGV4dGVybiAiQyIgTlNTdHJpbmcgKk5TVGVt cG9yYXJ5RGlyZWN0b3IKLSAjaWZuZGVmIEZJQ0xPTkUKLSAjICBkZWZpbmUgRklDTE9ORSAgICAg ICBfSU9XKDB4OTQsIDksIGludCkKLSAjZW5kaWYKLSsKLSsjICBpZiBkZWZpbmVkKFFfT1NfQU5E Uk9JRCkKLSsvLyByZW5hbWVhdDIoKSBhbmQgc3RhdHgoKSBhcmUgZGlzYWJsZWQgb24gQW5kcm9p ZCBiZWNhdXNlIHF1aXRlIGEgZmV3IHN5c3RlbXMKLSsvLyBjb21lIHdpdGggc2FuZGJveGVzIHRo YXQga2lsbCBhcHBsaWNhdGlvbnMgdGhhdCBtYWtlIHN5c3RlbSBjYWxscyBvdXRzaWRlIGEKLSsv LyB3aGl0ZWxpc3QgYW5kIHNldmVyYWwgQW5kcm9pZCB2ZW5kb3JzIGNhbid0IGJlIGJvdGhlcmVk IHRvIHVwZGF0ZSB0aGUgbGlzdC4KLSsjICAgIHVuZGVmIFNZU19yZW5hbWVhdDIKLSsjICAgIHVu ZGVmIFNZU19zdGF0eAotKyMgICAgdW5kZWYgU1RBVFhfQkFTSUNfU1RBVFMKLSsjICBlbHNlCi0r IyAgICBpZiAhUVRfQ09ORklHKHJlbmFtZWF0MikgJiYgZGVmaW5lZChTWVNfcmVuYW1lYXQyKQot K3N0YXRpYyBpbnQgcmVuYW1lYXQyKGludCBvbGRmZCwgY29uc3QgY2hhciAqb2xkcGF0aCwgaW50 IG5ld2ZkLCBjb25zdCBjaGFyICpuZXdwYXRoLCB1bnNpZ25lZCBmbGFncykKLSt7IHJldHVybiBz eXNjYWxsKFNZU19yZW5hbWVhdDIsIG9sZGZkLCBvbGRwYXRoLCBuZXdmZCwgbmV3cGF0aCwgZmxh Z3MpOyB9Ci0rIyAgICBlbmRpZgotKwotKyMgICAgaWYgIVFUX0NPTkZJRyhzdGF0eCkgJiYgZGVm aW5lZChTWVNfc3RhdHgpCi0rIyAgICAgIGluY2x1ZGUgPGxpbnV4L3N0YXQuaD4KLStzdGF0aWMg aW50IHN0YXR4KGludCBkaXJmZCwgY29uc3QgY2hhciAqcGF0aG5hbWUsIGludCBmbGFnLCB1bnNp Z25lZCBtYXNrLCBzdHJ1Y3Qgc3RhdHggKnN0YXR4YnVmKQotK3sgcmV0dXJuIHN5c2NhbGwoU1lT X3N0YXR4LCBkaXJmZCwgcGF0aG5hbWUsIGZsYWcsIG1hc2ssIHN0YXR4YnVmKTsgfQotKyMgICAg ZWxpZiAhUVRfQ09ORklHKHN0YXR4KSAmJiAhZGVmaW5lZChTWVNfc3RhdHgpCi0rIyAgICAgIHVu ZGVmIFNUQVRYX0JBU0lDX1NUQVRTCi0rIyAgICBlbmRpZgotKyMgIGVuZGlmIC8vICFRX09TX0FO RFJPSUQKLSAjZW5kaWYKLSAKLSAjaWYgZGVmaW5lZChRX09TX0FORFJPSUQpCi1AQCAtMzE1LDgg KzMzOCwyMiBAQCBtdGltZShjb25zdCBUICZzdGF0QnVmZmVyLCBpbnQpCi0gI2lmZGVmIFNUQVRY X0JBU0lDX1NUQVRTCi0gc3RhdGljIGludCBxdF9yZWFsX3N0YXR4KGludCBmZCwgY29uc3QgY2hh ciAqcGF0aG5hbWUsIGludCBmbGFncywgc3RydWN0IHN0YXR4ICpzdGF0eEJ1ZmZlcikKLSB7Ci0r I2lmZGVmIFFfQVRPTUlDX0lOVDhfSVNfU1VQUE9SVEVECi0rICAgIHN0YXRpYyBRQmFzaWNBdG9t aWNJbnRlZ2VyPHFpbnQ4PiBzdGF0eFRlc3RlZCAgPSBRX0JBU0lDX0FUT01JQ19JTklUSUFMSVpF UigwKTsKLSsjZWxzZQotKyAgICBzdGF0aWMgUUJhc2ljQXRvbWljSW50IHN0YXR4VGVzdGVkID0g UV9CQVNJQ19BVE9NSUNfSU5JVElBTElaRVIoMCk7Ci0rI2VuZGlmCi0rCi0rICAgIGlmIChzdGF0 eFRlc3RlZC5sb2FkKCkgPT0gLTEpCi0rICAgICAgICByZXR1cm4gLUVOT1NZUzsKLSsKLSAgICAg dW5zaWduZWQgbWFzayA9IFNUQVRYX0JBU0lDX1NUQVRTIHwgU1RBVFhfQlRJTUU7Ci0gICAgIGlu dCByZXQgPSBzdGF0eChmZCwgcGF0aG5hbWUsIGZsYWdzLCBtYXNrLCBzdGF0eEJ1ZmZlcik7Ci0r ICAgIGlmIChyZXQgPT0gLTEgJiYgZXJybm8gPT0gRU5PU1lTKSB7Ci0rICAgICAgICBzdGF0eFRl c3RlZC5zdG9yZSgtMSk7Ci0rICAgICAgICByZXR1cm4gLUVOT1NZUzsKLSsgICAgfQotKyAgICBz dGF0eFRlc3RlZC5zdG9yZSgxKTsKLSAgICAgcmV0dXJuIHJldCA9PSAtMSA/IC1lcnJubyA6IDA7 Ci0gfQotIAotQEAgLTEyNTIsMTIgKzEyODksMTQgQEAgYm9vbCBRRmlsZVN5c3RlbUVuZ2luZTo6 cmVuYW1lRmlsZShjb25zdAotICAgICBpZiAoUV9VTkxJS0VMWShzcmNQYXRoLmlzRW1wdHkoKSB8 fCB0Z3RQYXRoLmlzRW1wdHkoKSkpCi0gICAgICAgICByZXR1cm4gZW1wdHlGaWxlRW50cnlXYXJu aW5nKCksIGZhbHNlOwotIAotLSNpZiBkZWZpbmVkKFJFTkFNRV9OT1JFUExBQ0UpICYmIFFUX0NP TkZJRyhyZW5hbWVhdDIpCi0rI2lmIGRlZmluZWQoUkVOQU1FX05PUkVQTEFDRSkgJiYgKFFUX0NP TkZJRyhyZW5hbWVhdDIpIHx8IGRlZmluZWQoU1lTX3JlbmFtZWF0MikpCi0gICAgIGlmIChyZW5h bWVhdDIoQVRfRkRDV0QsIHNyY1BhdGgsIEFUX0ZEQ1dELCB0Z3RQYXRoLCBSRU5BTUVfTk9SRVBM QUNFKSA9PSAwKQotICAgICAgICAgcmV0dXJuIHRydWU7Ci0gCi0rICAgIC8vIElmIHdlJ3JlIHVz aW5nIHN5c2NhbGwoKSwgY2hlY2sgZm9yIEVOT1NZUzsKLSsgICAgLy8gaWYgcmVuYW1lYXQyIGNh bWUgZnJvbSBsaWJjLCB3ZSBkb24ndCBhY2NlcHQgRU5PU1lTLgotICAgICAvLyBXZSBjYW4gYWxz byBnZXQgRUlOVkFMIGZvciBzb21lIG5vbi1sb2NhbCBmaWxlc3lzdGVtcy4KLS0gICAgaWYgKGVy cm5vICE9IEVJTlZBTCkgewotKyAgICBpZiAoKFFUX0NPTkZJRyhyZW5hbWVhdDIpIHx8IGVycm5v ICE9IEVOT1NZUykgJiYgZXJybm8gIT0gRUlOVkFMKSB7Ci0gICAgICAgICBlcnJvciA9IFFTeXN0 ZW1FcnJvcihlcnJubywgUVN5c3RlbUVycm9yOjpTdGFuZGFyZExpYnJhcnlFcnJvcik7Ci0gICAg ICAgICByZXR1cm4gZmFsc2U7Ci0gICAgIH0KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ1L3BhdGNo ZXMvMDAzNC1nY2MtOC4zLWJ1aWxkLnBhdGNoIGIvc3JjcGtncy9xdDUvcGF0Y2hlcy8wMDM0LWdj Yy04LjMtYnVpbGQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI5YjQ1YzMx Mzk2Li4wMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3F0NS9wYXRjaGVzLzAwMzQtZ2NjLTguMy1i dWlsZC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIzNiArMCwwIEBACi1Gcm9tIDk3ZWMxZDE4 ODJhODNjMjNjOTFmMGY3ZGFlYTQ4ZTA1ODU4ZDhjMzIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx Ci1Gcm9tOiBUaGlhZ28gTWFjaWVpcmEgPHRoaWFnby5tYWNpZWlyYUBpbnRlbC5jb20+Ci1EYXRl OiBNb24sIDI4IEphbiAyMDE5IDE0OjMzOjEyIC0wODAwCi1TdWJqZWN0OiBbUEFUQ0hdIEZpeCBi dWlsZCB3aXRoIEdDQyA4LjMKLQotUXVhbGlmaWVycyBpbiB0aGUgYXNtIHN0YXRlbWVudCBhcmUg bm90IGFsbG93ZWQgaW4gdGhlIGdsb2JhbCBzY29wZS4gSQotdGhvdWdodCB0aGV5IHdlcmUgbmVj ZXNzYXJ5IGZvciBMVE8sIGJ1dCBJIHRoZSBjb21taXQgdG8gdGhpcyBmaWxlIHRoYXQKLWFkZGVk IHRoZW0gcHJlZGF0ZXMgbXkgd29yayBvbiBzZXR0aW5nIHVwIExUTyBmb3IgR0NDLgotCi1DaGFu Z2UtSWQ6IElkOTgxNDBlMWMyZjA0MjZjYWJiZWZmZmQxNTdlMjNlNWVjZTY3YTQ5Ci1SZXZpZXdl ZC1ieTogQWxsYW4gU2FuZGZlbGQgSmVuc2VuIDxhbGxhbi5qZW5zZW5AcXQuaW8+Ci0tLS0KLSAu Li4vSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzLmNwcCAgICAgICAgICAgfCA0OCArKysrKysr KystLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDI0IGluc2VydGlvbnMoKyksIDI0IGRlbGV0 aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjLzNyZHBhcnR5L2phdmFzY3JpcHRjb3JlL0phdmFT Y3JpcHRDb3JlL2ppdC9KSVRTdHVicy5jcHAgYi9zcmMvM3JkcGFydHkvamF2YXNjcmlwdGNvcmUv SmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzLmNwcAotaW5kZXggMWFiZGY4Yi4uOWY2MDc2MSAx MDA2NDQKLS0tLSBxdHNjcmlwdC9zcmMvM3JkcGFydHkvamF2YXNjcmlwdGNvcmUvSmF2YVNjcmlw dENvcmUvaml0L0pJVFN0dWJzLmNwcAotKysrIHF0c2NyaXB0L3NyYy8zcmRwYXJ0eS9qYXZhc2Ny aXB0Y29yZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnMuY3BwCi1AQCAtMTE2LDcgKzExNiw3 IEBAIENPTVBJTEVfQVNTRVJUKG9mZnNldG9mKHN0cnVjdCBKSVRTdGFja0ZyYW1lLCBzYXZlZEVC WCkgPT0gMHgzYywgSklUU3RhY2tGcmFtZV9zCi0gQ09NUElMRV9BU1NFUlQob2Zmc2V0b2Yoc3Ry dWN0IEpJVFN0YWNrRnJhbWUsIGNhbGxGcmFtZSkgPT0gMHg1OCwgSklUU3RhY2tGcmFtZV9jYWxs RnJhbWVfb2Zmc2V0X21hdGNoZXNfY3RpVHJhbXBvbGluZSk7Ci0gQ09NUElMRV9BU1NFUlQob2Zm c2V0b2Yoc3RydWN0IEpJVFN0YWNrRnJhbWUsIGNvZGUpID09IDB4NTAsIEpJVFN0YWNrRnJhbWVf Y29kZV9vZmZzZXRfbWF0Y2hlc19jdGlUcmFtcG9saW5lKTsKLSAKLS1hc20gdm9sYXRpbGUgKAot K2FzbSAoCi0gIi50ZXh0XG4iCi0gIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkcoY3RpVHJhbXBvbGlu ZSkgIlxuIgotIEhJREVfU1lNQk9MKGN0aVRyYW1wb2xpbmUpICJcbiIKLUBAIC0xMzgsNyArMTM4 LDcgQEAgU1lNQk9MX1NUUklORyhjdGlUcmFtcG9saW5lKSAiOiIgIlxuIgotICAgICAicmV0IiAi XG4iCi0gKTsKLSAKLS1hc20gdm9sYXRpbGUgKAotK2FzbSAoCi0gIi5nbG9ibCAiIFNZTUJPTF9T VFJJTkcoY3RpVk1UaHJvd1RyYW1wb2xpbmUpICJcbiIKLSBISURFX1NZTUJPTChjdGlWTVRocm93 VHJhbXBvbGluZSkgIlxuIgotIFNZTUJPTF9TVFJJTkcoY3RpVk1UaHJvd1RyYW1wb2xpbmUpICI6 IiAiXG4iCi1AQCAtMTU0LDcgKzE1NCw3IEBAIFNZTUJPTF9TVFJJTkcoY3RpVk1UaHJvd1RyYW1w b2xpbmUpICI6IiAiXG4iCi0gICAgICJyZXQiICJcbiIKLSApOwotICAgICAKLS1hc20gdm9sYXRp bGUgKAotK2FzbSAoCi0gIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkcoY3RpT3BUaHJvd05vdENhdWdo dCkgIlxuIgotIEhJREVfU1lNQk9MKGN0aU9wVGhyb3dOb3RDYXVnaHQpICJcbiIKLSBTWU1CT0xf U1RSSU5HKGN0aU9wVGhyb3dOb3RDYXVnaHQpICI6IiAiXG4iCi1AQCAtMTc5LDcgKzE3OSw3IEBA IENPTVBJTEVfQVNTRVJUKG9mZnNldG9mKHN0cnVjdCBKSVRTdGFja0ZyYW1lLCBzYXZlZFJCWCkg PT0gMHg0OCwgSklUU3RhY2tGcmFtZV9zCi0gQ09NUElMRV9BU1NFUlQob2Zmc2V0b2Yoc3RydWN0 IEpJVFN0YWNrRnJhbWUsIGNhbGxGcmFtZSkgPT0gMHg5MCwgSklUU3RhY2tGcmFtZV9jYWxsRnJh bWVfb2Zmc2V0X21hdGNoZXNfY3RpVHJhbXBvbGluZSk7Ci0gQ09NUElMRV9BU1NFUlQob2Zmc2V0 b2Yoc3RydWN0IEpJVFN0YWNrRnJhbWUsIGNvZGUpID09IDB4ODAsIEpJVFN0YWNrRnJhbWVfY29k ZV9vZmZzZXRfbWF0Y2hlc19jdGlUcmFtcG9saW5lKTsKLSAKLS1hc20gdm9sYXRpbGUgKAotK2Fz bSAoCi0gIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkcoY3RpVHJhbXBvbGluZSkgIlxuIgotIEhJREVf U1lNQk9MKGN0aVRyYW1wb2xpbmUpICJcbiIKLSBTWU1CT0xfU1RSSU5HKGN0aVRyYW1wb2xpbmUp ICI6IiAiXG4iCi1AQCAtMjA2LDcgKzIwNiw3IEBAIFNZTUJPTF9TVFJJTkcoY3RpVHJhbXBvbGlu ZSkgIjoiICJcbiIKLSAgICAgInJldCIgIlxuIgotICk7Ci0gCi0tYXNtIHZvbGF0aWxlICgKLSth c20gKAotICIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5HKGN0aVZNVGhyb3dUcmFtcG9saW5lKSAiXG4i Ci0gSElERV9TWU1CT0woY3RpVk1UaHJvd1RyYW1wb2xpbmUpICJcbiIKLSBTWU1CT0xfU1RSSU5H KGN0aVZNVGhyb3dUcmFtcG9saW5lKSAiOiIgIlxuIgotQEAgLTIyMiw3ICsyMjIsNyBAQCBTWU1C T0xfU1RSSU5HKGN0aVZNVGhyb3dUcmFtcG9saW5lKSAiOiIgIlxuIgotICAgICAicmV0IiAiXG4i Ci0gKTsKLSAKLS1hc20gdm9sYXRpbGUgKAotK2FzbSAoCi0gIi5nbG9ibCAiIFNZTUJPTF9TVFJJ TkcoY3RpT3BUaHJvd05vdENhdWdodCkgIlxuIgotIEhJREVfU1lNQk9MKGN0aU9wVGhyb3dOb3RD YXVnaHQpICJcbiIKLSBTWU1CT0xfU1RSSU5HKGN0aU9wVGhyb3dOb3RDYXVnaHQpICI6IiAiXG4i Ci1AQCAtMjQyLDcgKzI0Miw3IEBAIFNZTUJPTF9TVFJJTkcoY3RpT3BUaHJvd05vdENhdWdodCkg IjoiICJcbiIKLSAjZXJyb3IgIkpJVF9TVFVCX0FSR1VNRU5UX1ZBX0xJU1Qgbm90IHN1cHBvcnRl ZCBvbiBBUk12Ny4iCi0gI2VuZGlmCi0gCi0tYXNtIHZvbGF0aWxlICgKLSthc20gKAotICIudGV4 dCIgIlxuIgotICIuYWxpZ24gMiIgIlxuIgotICIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5HKGN0aVRy YW1wb2xpbmUpICJcbiIKLUBAIC0yNjksNyArMjY5LDcgQEAgU1lNQk9MX1NUUklORyhjdGlUcmFt cG9saW5lKSAiOiIgIlxuIgotICAgICAiYnggbHIiICJcbiIKLSApOwotIAotLWFzbSB2b2xhdGls ZSAoCi0rYXNtICgKLSAiLnRleHQiICJcbiIKLSAiLmFsaWduIDIiICJcbiIKLSAiLmdsb2JsICIg U1lNQk9MX1NUUklORyhjdGlWTVRocm93VHJhbXBvbGluZSkgIlxuIgotQEAgLTI4Nyw3ICsyODcs NyBAQCBTWU1CT0xfU1RSSU5HKGN0aVZNVGhyb3dUcmFtcG9saW5lKSAiOiIgIlxuIgotICAgICAi YnggbHIiICJcbiIKLSApOwotIAotLWFzbSB2b2xhdGlsZSAoCi0rYXNtICgKLSAiLnRleHQiICJc biIKLSAiLmFsaWduIDIiICJcbiIKLSAiLmdsb2JsICIgU1lNQk9MX1NUUklORyhjdGlPcFRocm93 Tm90Q2F1Z2h0KSAiXG4iCi1AQCAtMzA1LDcgKzMwNSw3IEBAIFNZTUJPTF9TVFJJTkcoY3RpT3BU aHJvd05vdENhdWdodCkgIjoiICJcbiIKLSAKLSAjZWxpZiBDT01QSUxFUihHQ0MpICYmIENQVShB Uk1fVFJBRElUSU9OQUwpCi0gCi0tYXNtIHZvbGF0aWxlICgKLSthc20gKAotICIuZ2xvYmwgIiBT WU1CT0xfU1RSSU5HKGN0aVRyYW1wb2xpbmUpICJcbiIKLSBISURFX1NZTUJPTChjdGlUcmFtcG9s aW5lKSAiXG4iCi0gU1lNQk9MX1NUUklORyhjdGlUcmFtcG9saW5lKSAiOiIgIlxuIgotQEAgLTMy Myw3ICszMjMsNyBAQCBTWU1CT0xfU1RSSU5HKGN0aVRyYW1wb2xpbmUpICI6IiAiXG4iCi0gICAg ICJtb3YgcGMsIGxyIiAiXG4iCi0gKTsKLSAKLS1hc20gdm9sYXRpbGUgKAotK2FzbSAoCi0gIi5n bG9ibCAiIFNZTUJPTF9TVFJJTkcoY3RpVk1UaHJvd1RyYW1wb2xpbmUpICJcbiIKLSBISURFX1NZ TUJPTChjdGlWTVRocm93VHJhbXBvbGluZSkgIlxuIgotIFNZTUJPTF9TVFJJTkcoY3RpVk1UaHJv d1RyYW1wb2xpbmUpICI6IiAiXG4iCi1AQCAtNDE4LDcgKzQxOCw3IEBAIENPTVBJTEVfQVNTRVJU KG9mZnNldG9mKHN0cnVjdCBKSVRTdGFja0ZyYW1lLCBjYWxsRnJhbWUpID09IDB4MzgsIEpJVFN0 YWNrRnJhbWVfCi0gQ09NUElMRV9BU1NFUlQob2Zmc2V0b2Yoc3RydWN0IEpJVFN0YWNrRnJhbWUs IGNvZGUpID09IDB4MzAsIEpJVFN0YWNrRnJhbWVfY29kZV9vZmZzZXRfbWF0Y2hlc19jdGlUcmFt cG9saW5lKTsKLSBDT01QSUxFX0FTU0VSVChvZmZzZXRvZihzdHJ1Y3QgSklUU3RhY2tGcmFtZSwg c2F2ZWRFQlgpID09IDB4MWMsIEpJVFN0YWNrRnJhbWVfc3R1Yl9hcmd1bWVudF9zcGFjZV9tYXRj aGVzX2N0aVRyYW1wb2xpbmUpOwotIAotLWFzbSB2b2xhdGlsZSAoCi0rYXNtICgKLSAiLnRleHRc biIKLSAiLmdsb2JsICIgU1lNQk9MX1NUUklORyhjdGlUcmFtcG9saW5lKSAiXG4iCi0gSElERV9T WU1CT0woY3RpVHJhbXBvbGluZSkgIlxuIgotQEAgLTQ0MCw3ICs0NDAsNyBAQCBTWU1CT0xfU1RS SU5HKGN0aVRyYW1wb2xpbmUpICI6IiAiXG4iCi0gICAgICJyZXQiICJcbiIKLSApOwotIAotLWFz bSB2b2xhdGlsZSAoCi0rYXNtICgKLSAiLmdsb2JsICIgU1lNQk9MX1NUUklORyhjdGlWTVRocm93 VHJhbXBvbGluZSkgIlxuIgotIEhJREVfU1lNQk9MKGN0aVZNVGhyb3dUcmFtcG9saW5lKSAiXG4i Ci0gU1lNQk9MX1NUUklORyhjdGlWTVRocm93VHJhbXBvbGluZSkgIjoiICJcbiIKLUBAIC00NTYs NyArNDU2LDcgQEAgU1lNQk9MX1NUUklORyhjdGlWTVRocm93VHJhbXBvbGluZSkgIjoiICJcbiIK LSAgICAgInJldCIgIlxuIgotICk7Ci0gICAgIAotLWFzbSB2b2xhdGlsZSAoCi0rYXNtICgKLSAi Lmdsb2JsICIgU1lNQk9MX1NUUklORyhjdGlPcFRocm93Tm90Q2F1Z2h0KSAiXG4iCi0gSElERV9T WU1CT0woY3RpT3BUaHJvd05vdENhdWdodCkgIlxuIgotIFNZTUJPTF9TVFJJTkcoY3RpT3BUaHJv d05vdENhdWdodCkgIjoiICJcbiIKLUBAIC00ODAsNyArNDgwLDcgQEAgQ09NUElMRV9BU1NFUlQo b2Zmc2V0b2Yoc3RydWN0IEpJVFN0YWNrRnJhbWUsIGNhbGxGcmFtZSkgPT0gMHg1OCwgSklUU3Rh Y2tGcmFtZV8KLSBDT01QSUxFX0FTU0VSVChvZmZzZXRvZihzdHJ1Y3QgSklUU3RhY2tGcmFtZSwg Y29kZSkgPT0gMHg0OCwgSklUU3RhY2tGcmFtZV9jb2RlX29mZnNldF9tYXRjaGVzX2N0aVRyYW1w b2xpbmUpOwotIENPTVBJTEVfQVNTRVJUKG9mZnNldG9mKHN0cnVjdCBKSVRTdGFja0ZyYW1lLCBz YXZlZFJCWCkgPT0gMHg3OCwgSklUU3RhY2tGcmFtZV9zdHViX2FyZ3VtZW50X3NwYWNlX21hdGNo ZXNfY3RpVHJhbXBvbGluZSk7Ci0gCi0tYXNtIHZvbGF0aWxlICgKLSthc20gKAotICIudGV4dFxu IgotICIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5HKGN0aVRyYW1wb2xpbmUpICJcbiIKLSBISURFX1NZ TUJPTChjdGlUcmFtcG9saW5lKSAiXG4iCi1AQCAtNTE1LDcgKzUxNSw3IEBAIFNZTUJPTF9TVFJJ TkcoY3RpVHJhbXBvbGluZSkgIjoiICJcbiIKLSAgICAgInJldCIgIlxuIgotICk7Ci0gCi0tYXNt IHZvbGF0aWxlICgKLSthc20gKAotICIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5HKGN0aVZNVGhyb3dU cmFtcG9saW5lKSAiXG4iCi0gSElERV9TWU1CT0woY3RpVk1UaHJvd1RyYW1wb2xpbmUpICJcbiIK LSBTWU1CT0xfU1RSSU5HKGN0aVZNVGhyb3dUcmFtcG9saW5lKSAiOiIgIlxuIgotQEAgLTUzMSw3 ICs1MzEsNyBAQCBTWU1CT0xfU1RSSU5HKGN0aVZNVGhyb3dUcmFtcG9saW5lKSAiOiIgIlxuIgot ICAgICAicmV0IiAiXG4iCi0gKTsKLSAKLS1hc20gdm9sYXRpbGUgKAotK2FzbSAoCi0gIi5nbG9i bCAiIFNZTUJPTF9TVFJJTkcoY3RpT3BUaHJvd05vdENhdWdodCkgIlxuIgotIEhJREVfU1lNQk9M KGN0aU9wVGhyb3dOb3RDYXVnaHQpICJcbiIKLSBTWU1CT0xfU1RSSU5HKGN0aU9wVGhyb3dOb3RD YXVnaHQpICI6IiAiXG4iCi1AQCAtNTUxLDcgKzU1MSw3IEBAIFNZTUJPTF9TVFJJTkcoY3RpT3BU aHJvd05vdENhdWdodCkgIjoiICJcbiIKLSAjZXJyb3IgIkpJVF9TVFVCX0FSR1VNRU5UX1ZBX0xJ U1Qgbm90IHN1cHBvcnRlZCBvbiBBUk12Ny4iCi0gI2VuZGlmCi0gCi0tYXNtIHZvbGF0aWxlICgK LSthc20gKAotICIudGV4dCIgIlxuIgotICIuYWxpZ24gMiIgIlxuIgotICIuZ2xvYmwgIiBTWU1C T0xfU1RSSU5HKGN0aVRyYW1wb2xpbmUpICJcbiIKLUBAIC01NzgsNyArNTc4LDcgQEAgU1lNQk9M X1NUUklORyhjdGlUcmFtcG9saW5lKSAiOiIgIlxuIgotICAgICAiYnggbHIiICJcbiIKLSApOwot IAotLWFzbSB2b2xhdGlsZSAoCi0rYXNtICgKLSAiLnRleHQiICJcbiIKLSAiLmFsaWduIDIiICJc biIKLSAiLmdsb2JsICIgU1lNQk9MX1NUUklORyhjdGlWTVRocm93VHJhbXBvbGluZSkgIlxuIgot QEAgLTU5Niw3ICs1OTYsNyBAQCBTWU1CT0xfU1RSSU5HKGN0aVZNVGhyb3dUcmFtcG9saW5lKSAi OiIgIlxuIgotICAgICAiYnggbHIiICJcbiIKLSApOwotIAotLWFzbSB2b2xhdGlsZSAoCi0rYXNt ICgKLSAiLnRleHQiICJcbiIKLSAiLmFsaWduIDIiICJcbiIKLSAiLmdsb2JsICIgU1lNQk9MX1NU UklORyhjdGlPcFRocm93Tm90Q2F1Z2h0KSAiXG4iCi1AQCAtNjE0LDcgKzYxNCw3IEBAIFNZTUJP TF9TVFJJTkcoY3RpT3BUaHJvd05vdENhdWdodCkgIjoiICJcbiIKLSAKLSAjZWxpZiBDT01QSUxF UihHQ0MpICYmIENQVShBUk1fVFJBRElUSU9OQUwpCi0gCi0tYXNtIHZvbGF0aWxlICgKLSthc20g KAotICIudGV4dFxuIgotICIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5HKGN0aVRyYW1wb2xpbmUpICJc biIKLSBISURFX1NZTUJPTChjdGlUcmFtcG9saW5lKSAiXG4iCi1AQCAtNjMyLDcgKzYzMiw3IEBA IFNZTUJPTF9TVFJJTkcoY3RpVHJhbXBvbGluZSkgIjoiICJcbiIKLSAgICAgIm1vdiBwYywgbHIi ICJcbiIKLSApOwotIAotLWFzbSB2b2xhdGlsZSAoCi0rYXNtICgKLSAiLmdsb2JsICIgU1lNQk9M X1NUUklORyhjdGlWTVRocm93VHJhbXBvbGluZSkgIlxuIgotIEhJREVfU1lNQk9MKGN0aVZNVGhy b3dUcmFtcG9saW5lKSAiXG4iCi0gU1lNQk9MX1NUUklORyhjdGlWTVRocm93VHJhbXBvbGluZSkg IjoiICJcbiIKLUBAIC0xMDI0LDcgKzEwMjQsNyBAQCBzdGF0aWMgTkVWRVJfSU5MSU5FIHZvaWQg dGhyb3dTdGFja092ZXJmbG93RXJyb3IoQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIEpTR2xvYmFsRAot ICAgICBleHRlcm4gIkMiIHsgXAotICAgICAgICAgcnR5cGUgSklUU3R1YlRodW5rZWRfIyNvcChT VFVCX0FSR1NfREVDTEFSQVRJT04pOyBcCi0gICAgIH07IFwKLS0gICAgYXNtIHZvbGF0aWxlICgg XAotKyAgICBhc20gKCBcCi0gICAgICAgICAiLnRleHQiICJcbiIgXAotICAgICAgICAgIi5hbGln biAyIiAiXG4iIFwKLSAgICAgICAgICIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5HKGN0aV8jI29wKSAi XG4iIFwKLUBAIC0xMDUzLDcgKzEwNTMsNyBAQCBDT01QSUxFX0FTU0VSVChvZmZzZXRvZihzdHJ1 Y3QgSklUU3RhY2tGcmFtZSwgdGh1bmtSZXR1cm5BZGRyZXNzKSA9PSBUSFVOS19SRVRVUgotICAg ICBleHRlcm4gIkMiIHsgXAotICAgICAgICAgcnR5cGUgSklUU3R1YlRodW5rZWRfIyNvcChTVFVC X0FSR1NfREVDTEFSQVRJT04pOyBcCi0gICAgIH07IFwKLS0gICAgYXNtIHZvbGF0aWxlICggXAot KyAgICBhc20gKCBcCi0gICAgICAgICAiLmdsb2JsICIgU1lNQk9MX1NUUklORyhjdGlfIyNvcCkg IlxuIiBcCi0gICAgICAgICBISURFX1NZTUJPTChjdGlfIyNvcCkgIlxuIiAgICAgICAgICAgICBc Ci0gICAgICAgICBTWU1CT0xfU1RSSU5HKGN0aV8jI29wKSAiOiIgIlxuIiBcCi0KZGlmZiAtLWdp dCBhL3NyY3BrZ3MvcXQ1L3BhdGNoZXMvMDAzNS1nY2MtOS4xLWJ1aWxkLnBhdGNoIGIvc3JjcGtn cy9xdDUvcGF0Y2hlcy8wMDM1LWdjYy05LjEtYnVpbGQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDA0ZGEzZDRjNzA4Li4wMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3F0NS9w YXRjaGVzLzAwMzUtZ2NjLTkuMS1idWlsZC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICsw LDAgQEAKLUZyb20gMGQ4OWRlYWQ0Mzk2MTI2NjA2ZmI3OTU0YzBiYjBhMjczNGQyMzQ3YiBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFsbGFuIFNhbmRmZWxkIEplbnNlbiA8YWxsYW4u amVuc2VuQHF0LmlvPgotRGF0ZTogVHVlLCAxMyBOb3YgMjAxOCAxNjowMDoyMyArMDEwMAotU3Vi amVjdDogW1BBVENIXSBGaXggY29tcGlsZSBpc3N1ZSB3aXRoIGdjYyA5Ci0KLUl0IGFwcGVhcnMg bWVzc2VubmVfdHdpc3RlcnMgaW4gdGhlIGxhdGVzdCBsaWJzdGRjKysgaGFzIG9uZSBtb3JlCi1y ZXF1aXJlbWVudCBiZWZvcmUgaXQgaXMgd2lsbGluZyB0byBjb25zdHJ1Y3Qgd2l0aCBvdXIKLVN5 c3RlbUdlbmVyYXRvciBzdHJ1Y3QgYXMgYW4gc3NlcSBwcm92aWRlci4KLQotVXBzdHJlYW0tU3Rh dHVzOiBCYWNrcG9ydAotCi1DaGFuZ2UtSWQ6IElmMzgxNTFkMWZhNmY0MGE4MDI3NGFjYzI2ZDll ZDZiNGFjNjA0OWZlCi1SZXZpZXdlZC1ieTogR2l1c2VwcGUgRCdBbmdlbG8gPGdpdXNlcHBlLmRh bmdlbG9Aa2RhYi5jb20+Ci1SZXZpZXdlZC1ieTogVGhpYWdvIE1hY2llaXJhIDx0aGlhZ28ubWFj aWVpcmFAaW50ZWwuY29tPgotLS0tCi0KLSBxdGJhc2Uvc3JjL2NvcmVsaWIvZ2xvYmFsL3FyYW5k b20uY3BwIHwgMSArCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCi0KLWRpZmYgLS1n aXQgYS9zcmMvY29yZWxpYi9nbG9iYWwvcXJhbmRvbS5jcHAgYi9zcmMvY29yZWxpYi9nbG9iYWwv cXJhbmRvbS5jcHAKLWluZGV4IGViZjk4NjRiMTUuLjU3NzczNmE4NjcgMTAwNjQ0Ci0tLS0gcXRi YXNlL3NyYy9jb3JlbGliL2dsb2JhbC9xcmFuZG9tLmNwcAotKysrIHF0YmFzZS9zcmMvY29yZWxp Yi9nbG9iYWwvcXJhbmRvbS5jcHAKLUBAIC0yMTgsNiArMjE4LDcgQEAgc3RydWN0IFFSYW5kb21H ZW5lcmF0b3I6OlN5c3RlbUdlbmVyYXRvcgotICNlbmRpZiAvLyBRX09TX1dJTlJUCi0gCi0gICAg IHN0YXRpYyBTeXN0ZW1HZW5lcmF0b3IgJnNlbGYoKTsKLSsgICAgdHlwZWRlZiBxdWludDMyIHJl c3VsdF90eXBlOwotICAgICB2b2lkIGdlbmVyYXRlKHF1aW50MzIgKmJlZ2luLCBxdWludDMyICpl bmQpIFFfREVDTF9OT0VYQ0VQVF9FWFBSKEZpbGxCdWZmZXJOb2V4Y2VwdCk7Ci0gCi0gICAgIC8v IEZvciBzdGQ6Om1lcnNlbm5lX3R3aXN0ZXJfZW5naW5lIGltcGxlbWVudGF0aW9ucyB0aGF0IHVz ZSBzb21ldGhpbmcKLS0tIAotMi4yMC4xCi0KLQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDUvcGF0 Y2hlcy8wMDQwLXlhc20tbmxzLnBhdGNoIGIvc3JjcGtncy9xdDUvcGF0Y2hlcy8wMDQwLXlhc20t bmxzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4yMmFjMDQy MDc2NAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ1L3BhdGNoZXMvMDA0MC15YXNtLW5s cy5wYXRjaApAQCAtMCwwICsxLDEzIEBACitkaWZmIC0tZ2l0IHNyYy8zcmRwYXJ0eS9jaHJvbWl1 bS90aGlyZF9wYXJ0eS95YXNtL3NvdXJjZS9jb25maWcvbGludXgvY29uZmlnLmggc3JjLzNyZHBh cnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3lhc20vc291cmNlL2NvbmZpZy9saW51eC9jb25maWcu aAoraW5kZXggOWUzNjUzOS4uZjU4ODA4MyAxMDA2NDQKKy0tLSBxdHdlYmVuZ2luZS9zcmMvM3Jk cGFydHkvY2hyb21pdW0vL3RoaXJkX3BhcnR5L3lhc20vc291cmNlL2NvbmZpZy9saW51eC9jb25m aWcuaAorLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS8vdGhpcmRfcGFydHkv eWFzbS9zb3VyY2UvY29uZmlnL2xpbnV4L2NvbmZpZy5oCitAQCAtNSw3ICs1LDcgQEAKKyAjZGVm aW5lIENQUF9QUk9HICJnY2MgLUUiCisgCisgLyogKi8KKy0jZGVmaW5lIEVOQUJMRV9OTFMgMQor Ky8qICN1bmRlZiBFTkFCTEVfTkxTIDEgKi8KKyAKKyAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2 ZSB0aGUgYGFib3J0JyBmdW5jdGlvbi4gKi8KKyAjZGVmaW5lIEhBVkVfQUJPUlQgMQpkaWZmIC0t Z2l0IGEvc3JjcGtncy9xdDUvcGF0Y2hlcy8wMDQxLWxpYnJlc3NsLnBhdGNoIGIvc3JjcGtncy9x dDUvcGF0Y2hlcy8wMDQxLWxpYnJlc3NsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMDAwLi5iODlmZGRkMDFhYgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ1 L3BhdGNoZXMvMDA0MS1saWJyZXNzbC5wYXRjaApAQCAtMCwwICsxLDExIEBACistLS0gcXRiYXNl L3NyYy9uZXR3b3JrL3NzbC9xc3Nsc29ja2V0X29wZW5zc2wuY3BwCTIwMTktMDYtMTMgMDY6MTg6 MTguMDAwMDAwMDAwICswMjAwCisrKysgLQkyMDE5LTA2LTE3IDE0OjU5OjIyLjUwMTQ2MDg4MiAr MDIwMAorQEAgLTYwNCw3ICs2MDQsNyBAQAorICAgICAgICAgICAgIHFfU1NMX3NldF9wc2tfc2Vy dmVyX2NhbGxiYWNrKHNzbCwgJnFfc3NsX3Bza19zZXJ2ZXJfY2FsbGJhY2spOworICAgICB9Cisg I2VuZGlmCistI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPj0gMHgxMDEwMTAwNkwKKysjaWYg T1BFTlNTTF9WRVJTSU9OX05VTUJFUiA+PSAweDEwMTAxMDA2TCAmJiAhZGVmaW5lZChMSUJSRVNT TF9WRVJTSU9OX05VTUJFUikKKyAgICAgLy8gU2V0IHRoZSBjbGllbnQgY2FsbGJhY2sgZm9yIFRM U3YxLjMgUFNLCisgICAgIGlmIChtb2RlID09IFFTc2xTb2NrZXQ6OlNzbENsaWVudE1vZGUKKyAg ICAgICAgICYmIFFTc2xTb2NrZXQ6OnNzbExpYnJhcnlCdWlsZFZlcnNpb25OdW1iZXIoKSA+PSAw eDEwMTAxMDA2TCkgewpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDUvcGF0Y2hlcy8wMDQyLWFybS12 b2lkLWlzLW5vdC1hbmRyb2lkLnBhdGNoIGIvc3JjcGtncy9xdDUvcGF0Y2hlcy8wMDQyLWFybS12 b2lkLWlzLW5vdC1hbmRyb2lkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwLi5iMTMyOTBkM2NjZAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ1L3BhdGNo ZXMvMDA0Mi1hcm0tdm9pZC1pcy1ub3QtYW5kcm9pZC5wYXRjaApAQCAtMCwwICsxLDIxIEBACist LS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtLy90aGlyZF9wYXJ0eS9vcGVubWF4 X2RsL2RsL0JVSUxELmduCTIwMTktMDQtMDkgMDk6MzE6MTYuMDAwMDAwMDAwICswMjAwCisrKysg LQkyMDE5LTA1LTA2IDIzOjA4OjA5LjUzNzM0NjU0NiArMDIwMAorQEAgLTIwNiwxOCArMjA2LDYg QEAKKyAgICAgICAic3Avc3JjL2FybS9hcm12Ny9vbXhTUF9GRlRGd2RfUlRvQ0NTX0YzMl9TZnNf cy5TIiwKKyAgICAgICAic3Avc3JjL2FybS9hcm12Ny9vbXhTUF9GRlRJbnZfQ0NTVG9SX0YzMl9T ZnNfcy5TIiwKKyAgICAgXQorLSAgICBpZiAoYXJtX29wdGlvbmFsbHlfdXNlX25lb24pIHsKKy0g ICAgICAjIFJ1bi10aW1lIE5FT04gZGV0ZWN0aW9uLgorLSAgICAgIGRlcHMgPSBbCistICAgICAg ICAiLy90aGlyZF9wYXJ0eS9hbmRyb2lkX3Rvb2xzOmNwdV9mZWF0dXJlcyIsCistICAgICAgXQor LQorLSAgICAgICMgVG8gZ2V0IHRoZSBfX2FuZHJvaWRfbG9nX3ByaW50IHJvdXRpbmUKKy0gICAg ICBsaWJzID0gWyAibG9nIiBdCistCistICAgICAgIyBEZXRlY3Rpb24gcm91dGluZQorLSAgICAg IHNvdXJjZXMgKz0gWyAic3Avc3JjL2FybS9kZXRlY3QuYyIgXQorLSAgICB9CisgICB9CisgCisg ICAjIE5FT04gaW1wbGVtZW50YXRpb24gb2YgRkZULiBUaGlzIGxpYnJhcnkgaXMgTk9UCmRpZmYg LS1naXQgYS9zcmNwa2dzL3F0NS9wYXRjaGVzL2xpYnJlc3NsLWNvbnN0LWJpby5wYXRjaCBiL3Ny Y3BrZ3MvcXQ1L3BhdGNoZXMvMDA0My1saWJyZXNzbC1jb25zdC1iaW8ucGF0Y2gKc2ltaWxhcml0 eSBpbmRleCA4NCUKcmVuYW1lIGZyb20gc3JjcGtncy9xdDUvcGF0Y2hlcy9saWJyZXNzbC1jb25z dC1iaW8ucGF0Y2gKcmVuYW1lIHRvIHNyY3BrZ3MvcXQ1L3BhdGNoZXMvMDA0My1saWJyZXNzbC1j b25zdC1iaW8ucGF0Y2gKaW5kZXggZjM0OTM4NjJjZDQuLmQzYTFmZTk2YzUzIDEwMDY0NAotLS0g YS9zcmNwa2dzL3F0NS9wYXRjaGVzL2xpYnJlc3NsLWNvbnN0LWJpby5wYXRjaAorKysgYi9zcmNw a2dzL3F0NS9wYXRjaGVzLzAwNDMtbGlicmVzc2wtY29uc3QtYmlvLnBhdGNoCkBAIC00LDEwICs0 LDEwIEBACiAgI2VuZGlmCiAgREVGSU5FRlVOQzIoQklPICosIEJJT19uZXdfZmlsZSwgY29uc3Qg Y2hhciAqZmlsZW5hbWUsIGZpbGVuYW1lLCBjb25zdCBjaGFyICptb2RlLCBtb2RlLCByZXR1cm4g MCwgcmV0dXJuKQogIERFRklORUZVTkModm9pZCwgRVJSX2NsZWFyX2Vycm9yLCBEVU1NWUFSRywg RFVNTVlBUkcsIHJldHVybiwgRFVNTVlBUkcpCi0tREVGSU5FRlVOQyhCSU8gKiwgQklPX25ldywg QklPX01FVEhPRCAqYSwgYSwgcmV0dXJuIDAsIHJldHVybikKLS1ERUZJTkVGVU5DKEJJT19NRVRI T0QgKiwgQklPX3NfbWVtLCB2b2lkLCBEVU1NWUFSRywgcmV0dXJuIDAsIHJldHVybikKLStERUZJ TkVGVU5DKEJJTyAqLCBCSU9fbmV3LCBjb25zdCBCSU9fTUVUSE9EICphLCBhLCByZXR1cm4gMCwg cmV0dXJuKQotK0RFRklORUZVTkMoY29uc3QgQklPX01FVEhPRCAqLCBCSU9fc19tZW0sIHZvaWQs IERVTU1ZQVJHLCByZXR1cm4gMCwgcmV0dXJuKQorLURFRklORUZVTkMoQklPICosIEJJT19uZXcs IEJJT19NRVRIT0QgKmEsIGEsIHJldHVybiBudWxscHRyLCByZXR1cm4pCistREVGSU5FRlVOQyhC SU9fTUVUSE9EICosIEJJT19zX21lbSwgdm9pZCwgRFVNTVlBUkcsIHJldHVybiBudWxscHRyLCBy ZXR1cm4pCisrREVGSU5FRlVOQyhCSU8gKiwgQklPX25ldywgY29uc3QgQklPX01FVEhPRCAqYSwg YSwgcmV0dXJuIG51bGxwdHIsIHJldHVybikKKytERUZJTkVGVU5DKGNvbnN0IEJJT19NRVRIT0Qg KiwgQklPX3NfbWVtLCB2b2lkLCBEVU1NWUFSRywgcmV0dXJuIG51bGxwdHIsIHJldHVybikKICBE RUZJTkVGVU5DKGludCwgQ1JZUFRPX251bV9sb2NrcywgRFVNTVlBUkcsIERVTU1ZQVJHLCByZXR1 cm4gMCwgcmV0dXJuKQogIERFRklORUZVTkModm9pZCwgQ1JZUFRPX3NldF9sb2NraW5nX2NhbGxi YWNrLCB2b2lkICgqYSkoaW50LCBpbnQsIGNvbnN0IGNoYXIgKiwgaW50KSwgYSwgcmV0dXJuLCBE VU1NWUFSRykKICBERUZJTkVGVU5DKHZvaWQsIENSWVBUT19zZXRfaWRfY2FsbGJhY2ssIHVuc2ln bmVkIGxvbmcgKCphKSgpLCBhLCByZXR1cm4sIERVTU1ZQVJHKQpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9xdDUvcGF0Y2hlcy8wMDA1LW11c2wtbm8tZXhlY2luZm8ucGF0Y2ggYi9zcmNwa2dzL3F0NS9w YXRjaGVzLzAwNDQtcXQtbXVzbC1leGVjaW5mby5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDU2JQpy ZW5hbWUgZnJvbSBzcmNwa2dzL3F0NS9wYXRjaGVzLzAwMDUtbXVzbC1uby1leGVjaW5mby5wYXRj aApyZW5hbWUgdG8gc3JjcGtncy9xdDUvcGF0Y2hlcy8wMDQ0LXF0LW11c2wtZXhlY2luZm8ucGF0 Y2gKaW5kZXggNjE1MTc3YmExNmUuLjk4ZjNhMzg3NDVhIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0 NS9wYXRjaGVzLzAwMDUtbXVzbC1uby1leGVjaW5mby5wYXRjaAorKysgYi9zcmNwa2dzL3F0NS9w YXRjaGVzLzAwNDQtcXQtbXVzbC1leGVjaW5mby5wYXRjaApAQCAtMSw2ICsxLDYgQEAKLS0tLSBx dHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vYmFzZS9kZWJ1Zy9zdGFja190cmFjZV9w b3NpeC5jYwkyMDE3LTExLTI4IDE0OjA2OjUzLjAwMDAwMDAwMCArMDEwMAotKysrIHF0d2ViZW5n aW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9iYXNlL2RlYnVnL3N0YWNrX3RyYWNlX3Bvc2l4LmNj CTIwMTgtMDEtMjcgMjE6NTA6MDQuNjkzMjMxOTA1ICswMTAwCi1AQCAtMjYsNyArMjYsNyBAQAor LS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS8vYmFzZS9kZWJ1Zy9zdGFja190 cmFjZV9wb3NpeC5jYy5vcmlnCTIwMTktMDQtMDkgMDk6MzE6MTYuMDAwMDAwMDAwICswMjAwCisr KysgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtLy9iYXNlL2RlYnVnL3N0YWNrX3Ry YWNlX3Bvc2l4LmNjCTIwMTktMDUtMDYgMjM6MTY6MTMuMjQ1NTAyNDY3ICswMjAwCitAQCAtMjcs NyArMjcsNyBAQAogICNpZiAhZGVmaW5lZChVU0VfU1lNQk9MSVpFKQogICNpbmNsdWRlIDxjeHhh YmkuaD4KICAjZW5kaWYKQEAgLTksNyArOSw3IEBACiAgI2luY2x1ZGUgPGV4ZWNpbmZvLmg+CiAg I2VuZGlmCiAgCi1AQCAtODIsNyArODIsNyBAQAorQEAgLTg2LDcgKzg2LDcgQEAKICAgIC8vIE5v dGU6IGNvZGUgaW4gdGhpcyBmdW5jdGlvbiBpcyBOT1QgYXN5bmMtc2lnbmFsIHNhZmUgKHN0ZDo6 c3RyaW5nIHVzZXMKICAgIC8vIG1hbGxvYyBpbnRlcm5hbGx5KS4KICAKQEAgLTE4LDcgKzE4LDcg QEAKICAgIHN0ZDo6c3RyaW5nOjpzaXplX3R5cGUgc2VhcmNoX2Zyb20gPSAwOwogICAgd2hpbGUg KHNlYXJjaF9mcm9tIDwgdGV4dC0+c2l6ZSgpKSB7CiAgICAgIC8vIExvb2sgZm9yIHRoZSBzdGFy dCBvZiBhIG1hbmdsZWQgc3ltYm9sLCBmcm9tIHNlYXJjaF9mcm9tLgotQEAgLTExNyw3ICsxMTcs NyBAQAorQEAgLTEyMSw3ICsxMjEsNyBAQAogICAgICAgIHNlYXJjaF9mcm9tID0gbWFuZ2xlZF9z dGFydCArIDI7CiAgICAgIH0KICAgIH0KQEAgLTI3LDggKzI3LDggQEAKICB9CiAgI2VuZGlmICAv LyAhZGVmaW5lZChVU0VfU1lNQk9MSVpFKQogIAotQEAgLTEyOSw3ICsxMjksNyBAQAotICAgdmly dHVhbCB+QmFja3RyYWNlT3V0cHV0SGFuZGxlcigpIHt9CitAQCAtMTMzLDcgKzEzMyw3IEBACisg ICB2aXJ0dWFsIH5CYWNrdHJhY2VPdXRwdXRIYW5kbGVyKCkgPSBkZWZhdWx0OwogIH07CiAgCiAt I2lmICFkZWZpbmVkKF9fVUNMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCkBAIC0zNiw3ICszNiw3 IEBACiAgdm9pZCBPdXRwdXRQb2ludGVyKHZvaWQqIHBvaW50ZXIsIEJhY2t0cmFjZU91dHB1dEhh bmRsZXIqIGhhbmRsZXIpIHsKICAgIC8vIFRoaXMgc2hvdWxkIGJlIG1vcmUgdGhhbiBlbm91Z2gg dG8gc3RvcmUgYSA2NC1iaXQgbnVtYmVyIGluIGhleDoKICAgIC8vIDE2IGhleCBkaWdpdHMgKyAx IGZvciBudWxsLXRlcm1pbmF0b3IuCi1AQCAtMjA2LDcgKzIwNiw3IEBACitAQCAtMjE2LDcgKzIx Niw3IEBACiAgICB9CiAgI2VuZGlmICAvLyBkZWZpbmVkKFVTRV9TWU1CT0xJWkUpCiAgfQpAQCAt NDUsNDQgKzQ1LDQ0IEBACiAgCiAgdm9pZCBQcmludFRvU3RkZXJyKGNvbnN0IGNoYXIqIG91dHB1 dCkgewogICAgLy8gTk9URTogVGhpcyBjb2RlIE1VU1QgYmUgYXN5bmMtc2lnbmFsIHNhZmUgKGl0 J3MgdXNlZCBieSBpbi1wcm9jZXNzCi1AQCAtNzQ5LDcgKzc0OSw3IEBACi0gLy8gTk9URTogVGhp cyBjb2RlIE1VU1QgYmUgYXN5bmMtc2lnbmFsIHNhZmUgKGl0J3MgdXNlZCBieSBpbi1wcm9jZXNz Ci0gLy8gc3RhY2sgZHVtcGluZyBzaWduYWwgaGFuZGxlcikuIE5PIG1hbGxvYyBvciBzdGRpbyBp cyBhbGxvd2VkIGhlcmUuCitAQCAtODEyLDcgKzgxMiw3IEBACisgICAvLyBOT1RFOiBUaGlzIGNv ZGUgTVVTVCBiZSBhc3luYy1zaWduYWwgc2FmZSAoaXQncyB1c2VkIGJ5IGluLXByb2Nlc3MKKyAg IC8vIHN0YWNrIGR1bXBpbmcgc2lnbmFsIGhhbmRsZXIpLiBOTyBtYWxsb2Mgb3Igc3RkaW8gaXMg YWxsb3dlZCBoZXJlLgogIAogLSNpZiAhZGVmaW5lZChfX1VDTElCQ19fKSAmJiAhZGVmaW5lZChf QUlYKQogKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKLSAgIGNvdW50 ID0gc3RkOjptaW4oYXJyYXlzaXplKHRyYWNlXyksIGNvdW50KTsKLSAKICAgIC8vIFRob3VnaCB0 aGUgYmFja3RyYWNlIEFQSSBtYW4gcGFnZSBkb2VzIG5vdCBsaXN0IGFueSBwb3NzaWJsZSBuZWdh dGl2ZQotQEAgLTc2NCwxMyArNzY0LDEzIEBACi0gICAvLyBOT1RFOiBUaGlzIGNvZGUgTVVTVCBi ZSBhc3luYy1zaWduYWwgc2FmZSAoaXQncyB1c2VkIGJ5IGluLXByb2Nlc3MKLSAgIC8vIHN0YWNr IGR1bXBpbmcgc2lnbmFsIGhhbmRsZXIpLiBOTyBtYWxsb2Mgb3Igc3RkaW8gaXMgYWxsb3dlZCBo ZXJlLgorICAgLy8gcmV0dXJuIHZhbHVlcywgd2UgdGFrZSBubyBjaGFuY2UuCisgICByZXR1cm4g YmFzZTo6c2F0dXJhdGVkX2Nhc3Q8c2l6ZV90PihiYWNrdHJhY2UodHJhY2UsIGNvdW50KSk7CitA QCAtODI1LDEzICs4MjUsMTMgQEAKKyAvLyBOT1RFOiBUaGlzIGNvZGUgTVVTVCBiZSBhc3luYy1z aWduYWwgc2FmZSAoaXQncyB1c2VkIGJ5IGluLXByb2Nlc3MKKyAvLyBzdGFjayBkdW1waW5nIHNp Z25hbCBoYW5kbGVyKS4gTk8gbWFsbG9jIG9yIHN0ZGlvIGlzIGFsbG93ZWQgaGVyZS4KICAKIC0j aWYgIWRlZmluZWQoX19VQ0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKICsjaWYgZGVmaW5lZChf X0dMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCiAgICBQcmludEJhY2t0cmFjZU91dHB1dEhhbmRs ZXIgaGFuZGxlcjsKLSAgIFByb2Nlc3NCYWNrdHJhY2UodHJhY2VfLCBjb3VudF8sICZoYW5kbGVy KTsKKyAgIFByb2Nlc3NCYWNrdHJhY2UodHJhY2VfLCBjb3VudF8sIHByZWZpeF9zdHJpbmcsICZo YW5kbGVyKTsKICAjZW5kaWYKICB9CiAgCiAtI2lmICFkZWZpbmVkKF9fVUNMSUJDX18pICYmICFk ZWZpbmVkKF9BSVgpCiArI2lmIGRlZmluZWQoX19HTElCQ19fKSAmJiAhZGVmaW5lZChfQUlYKQot IHZvaWQgU3RhY2tUcmFjZTo6T3V0cHV0VG9TdHJlYW0oc3RkOjpvc3RyZWFtKiBvcykgY29uc3Qg eworIHZvaWQgU3RhY2tUcmFjZTo6T3V0cHV0VG9TdHJlYW1XaXRoUHJlZml4KHN0ZDo6b3N0cmVh bSogb3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg Y2hhciogcHJlZml4X3N0cmluZykgY29uc3QgewogICAgU3RyZWFtQmFja3RyYWNlT3V0cHV0SGFu ZGxlciBoYW5kbGVyKG9zKTsKLSAgIFByb2Nlc3NCYWNrdHJhY2UodHJhY2VfLCBjb3VudF8sICZo YW5kbGVyKTsKLS0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vYmFzZS9kZWJ1 Zy9zdGFja190cmFjZS5jYwkyMDE3LTExLTI4IDE0OjA2OjUzLjAwMDAwMDAwMCArMDEwMAotKysr IHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9iYXNlL2RlYnVnL3N0YWNrX3RyYWNl LmNjCTIwMTgtMDEtMjcgMjI6MzE6MDguMjk2MzU5MDAwICswMTAwCi1AQCAtMjE0LDcgKzIxNCw3 IEBACi0gCi0gc3RkOjpzdHJpbmcgU3RhY2tUcmFjZTo6VG9TdHJpbmcoKSBjb25zdCB7CistLS0g cXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Jhc2UvZGVidWcvc3RhY2tfdHJhY2Uu Y2MJMjAxOS0wNC0wOSAwOTozMToxNi4wMDAwMDAwMDAgKzAyMDAKKysrKyAtCTIwMTktMDUtMDYg MjM6MTg6MTQuOTIzNTY2OTkyICswMjAwCitAQCAtMjMzLDcgKzIzMyw3IEBACisgfQorIHN0ZDo6 c3RyaW5nIFN0YWNrVHJhY2U6OlRvU3RyaW5nV2l0aFByZWZpeChjb25zdCBjaGFyKiBwcmVmaXhf c3RyaW5nKSBjb25zdCB7CiAgICBzdGQ6OnN0cmluZ3N0cmVhbSBzdHJlYW07CiAtI2lmICFkZWZp bmVkKF9fVUNMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCiArI2lmIGRlZmluZWQoX19HTElCQ19f KSAmJiAhZGVmaW5lZChfQUlYKQotICAgT3V0cHV0VG9TdHJlYW0oJnN0cmVhbSk7CisgICBPdXRw dXRUb1N0cmVhbVdpdGhQcmVmaXgoJnN0cmVhbSwgcHJlZml4X3N0cmluZyk7CiAgI2VuZGlmCiAg ICByZXR1cm4gc3RyZWFtLnN0cigpOwotLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS9iYXNlL2xvZ2dpbmcuY2MJMjAxNy0xMS0yOCAxNDowNjo1My4wMDAwMDAwMDAgKzAxMDAK LSsrKyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vYmFzZS9sb2dnaW5nLmNjCTIw MTgtMDEtMjcgMjI6NDY6MzQuOTcwNDA2ODA3ICswMTAwCistLS0gcXR3ZWJlbmdpbmUvc3JjLzNy ZHBhcnR5L2Nocm9taXVtLy9iYXNlL2xvZ2dpbmcuY2MJMjAxNy0xMS0yOCAxNDowNjo1My4wMDAw MDAwMDAgKzAxMDAKKy0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vL2Jhc2Uv bG9nZ2luZy5jYwkyMDE4LTAxLTI3IDIyOjQ2OjM0Ljk3MDQwNjgwNyArMDEwMAogQEAgLTU0Niw3 ICs1NDYsNyBAQAogIAogIExvZ01lc3NhZ2U6On5Mb2dNZXNzYWdlKCkgewpAQCAtOTIsMzMgKzky LDE2IEBACiAgICAgICFkZWZpbmVkKE9TX0FJWCkKICAgIGlmIChzZXZlcml0eV8gPT0gTE9HX0ZB VEFMICYmICFiYXNlOjpkZWJ1Zzo6QmVpbmdEZWJ1Z2dlZCgpKSB7CiAgICAgIC8vIEluY2x1ZGUg YSBzdGFjayB0cmFjZSBvbiBhIGZhdGFsLCB1bmxlc3MgYSBkZWJ1Z2dlciBpcyBhdHRhY2hlZC4K LS0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvV2ViS2l0 L1NvdXJjZS9wbGF0Zm9ybS93dGYvQXNzZXJ0aW9ucy5jcHAJMjAxNy0xMS0yOCAxNDowNjo1My4w MDAwMDAwMDAgKzAxMDAKLSsrKyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhp cmRfcGFydHkvV2ViS2l0L1NvdXJjZS9wbGF0Zm9ybS93dGYvQXNzZXJ0aW9ucy5jcHAJMjAxOC0w MS0yOSAyMDoyMzoyNi40OTgxODU2MjMgKzAxMDAKLUBAIC01OSw3ICs1OSw2IEBACistLS0gcXR3 ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVy L3BsYXRmb3JtL3d0Zi9hc3NlcnRpb25zLmNjCTIwMTktMDQtMDkgMDk6MzE6MTYuMDAwMDAwMDAw ICswMjAwCisrKysgLQkyMDE5LTA1LTA2IDIzOjEyOjA3LjA0MDk3NzI1OCArMDIwMAorQEAgLTUx LDggKzUxLDEwIEBACiAgI2lmIGRlZmluZWQoT1NfTUFDT1NYKSB8fCAoZGVmaW5lZChPU19MSU5V WCkgJiYgIWRlZmluZWQoX19VQ0xJQkNfXykpCiAgI2luY2x1ZGUgPGN4eGFiaS5oPgogICNpbmNs dWRlIDxkbGZjbi5oPgotLSNpbmNsdWRlIDxleGVjaW5mby5oPgorKyNpZiBkZWZpbmVkKF9fR0xJ QkNfXykKKyAjaW5jbHVkZSA8ZXhlY2luZm8uaD4KICAjZW5kaWYKKysjZW5kaWYKICAKICAjaWYg ZGVmaW5lZChPU19BTkRST0lEKQotLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS90aGlyZF9wYXJ0eS93ZWJydGMvcnRjX2Jhc2UvY2hlY2tzLmNjCTIwMTctMTEtMjggMTQ6MDY6 NTMuMDAwMDAwMDAwICswMTAwCi0rKysgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVt L3RoaXJkX3BhcnR5L3dlYnJ0Yy9ydGNfYmFzZS9jaGVja3MuY2MJMjAxOC0wMS0yOSAyMDozMjo0 MS4wNzAxNjM1MTEgKzAxMDAKLUBAIC0xNiw3ICsxNiw3IEBACi0gI2luY2x1ZGUgPGNzdGRpbz4K LSAjaW5jbHVkZSA8Y3N0ZGxpYj4KLSAKLS0jaWYgZGVmaW5lZChfX0dMSUJDWFhfXykgJiYgIWRl ZmluZWQoX19VQ0xJQkNfXykKLSsjaWYgZGVmaW5lZChfX0dMSUJDWFhfXykgJiYgZGVmaW5lZChf X0dMSUJDX18pCi0gI2luY2x1ZGUgPGN4eGFiaS5oPgotICNpbmNsdWRlIDxleGVjaW5mby5oPgot ICNlbmRpZgotQEAgLTYwLDcgKzYwLDcgQEAKLSAvLyB0byBnZXQgdXNhYmxlIHN5bWJvbHMgb24g TGludXguIFRoaXMgaXMgY29waWVkIGZyb20gVjguIENocm9taXVtIGhhcyBhIG1vcmUKLSAvLyBh ZHZhbmNlZCBzdGFjZSB0cmFjZSBzeXN0ZW07IGFsc28gbW9yZSBkaWZmaWN1bHQgdG8gY29weS4K LSB2b2lkIER1bXBCYWNrdHJhY2UoKSB7Ci0tI2lmIGRlZmluZWQoX19HTElCQ1hYX18pICYmICFk ZWZpbmVkKF9fVUNMSUJDX18pCi0rI2lmIGRlZmluZWQoX19HTElCQ1hYX18pICYmIGRlZmluZWQo X19HTElCQ19fKQotICAgdm9pZCogdHJhY2VbMTAwXTsKLSAgIGludCBzaXplID0gYmFja3RyYWNl KHRyYWNlLCBzaXplb2YodHJhY2UpIC8gc2l6ZW9mKCp0cmFjZSkpOwotICAgY2hhcioqIHN5bWJv bHMgPSBiYWNrdHJhY2Vfc3ltYm9scyh0cmFjZSwgc2l6ZSk7CisgI2luY2x1ZGUgPGFuZHJvaWQv bG9nLmg+CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0NS9wYXRjaGVzLzAwNDUtcXQtbXVzbC10aHJl YWQtc3RhY2tzaXplLnBhdGNoIGIvc3JjcGtncy9xdDUvcGF0Y2hlcy8wMDQ1LXF0LW11c2wtdGhy ZWFkLXN0YWNrc2l6ZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw MC4uNDk2NzUzYmVmMzAKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0NS9wYXRjaGVzLzAw NDUtcXQtbXVzbC10aHJlYWQtc3RhY2tzaXplLnBhdGNoCkBAIC0wLDAgKzEsMjYgQEAKK2RpZmYg LS1naXQgYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vcHBhcGkvdXRpbGl0eS90aHJlYWRpbmcvc2lt cGxlX3RocmVhZC5jYyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9wcGFwaS91dGlsaXR5L3RocmVh ZGluZy9zaW1wbGVfdGhyZWFkLmNjCitpbmRleCAwMmJmNDliLi4wNWVlMTgyIDEwMDY0NAorLS0t IHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9wcGFwaS91dGlsaXR5L3RocmVhZGlu Zy9zaW1wbGVfdGhyZWFkLmNjCisrKysgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVt L3BwYXBpL3V0aWxpdHkvdGhyZWFkaW5nL3NpbXBsZV90aHJlYWQuY2MKK0BAIC0xMyw3ICsxMyw3 IEBAIG5hbWVzcGFjZSBwcCB7CisgbmFtZXNwYWNlIHsKKyAKKyAvLyBVc2UgMk1CIGRlZmF1bHQg c3RhY2sgc2l6ZSBmb3IgTmF0aXZlIENsaWVudCwgb3RoZXJ3aXNlIHVzZSBzeXN0ZW0gZGVmYXVs dC4KKy0jaWYgZGVmaW5lZChfX25hdGl2ZV9jbGllbnRfXykKKysjaWYgZGVmaW5lZChfX25hdGl2 ZV9jbGllbnRfXykgfHwgIWRlZmluZWQoX19HTElCQ19fKQorIGNvbnN0IHNpemVfdCBrRGVmYXVs dFN0YWNrU2l6ZSA9IDIgKiAxMDI0ICogMTAyNDsKKyAjZWxzZQorIGNvbnN0IHNpemVfdCBrRGVm YXVsdFN0YWNrU2l6ZSA9IDA7CitkaWZmIC0tZ2l0IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Y4 L3NyYy9iYXNlL3BsYXRmb3JtL3BsYXRmb3JtLXBvc2l4LmNjIGIvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL3Y4L3NyYy9iYXNlL3BsYXRmb3JtL3BsYXRmb3JtLXBvc2l4LmNjCitpbmRleCBjZjdmM2Vj Li5lMDZhNWNlIDEwMDY0NAorLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS92 OC9zcmMvYmFzZS9wbGF0Zm9ybS9wbGF0Zm9ybS1wb3NpeC5jYworKysrIHF0d2ViZW5naW5lL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS92OC9zcmMvYmFzZS9wbGF0Zm9ybS9wbGF0Zm9ybS1wb3NpeC5j YworQEAgLTc2MSw3ICs3NjEsNyBAQCB2b2lkIFRocmVhZDo6U3RhcnQoKSB7CisgI2lmIFY4X09T X01BQ09TWAorICAgICAvLyBEZWZhdWx0IG9uIE1hYyBPUyBYIGlzIDUxMmtCIC0tIGJ1bXAgdXAg dG8gMU1CCisgICAgIHN0YWNrX3NpemUgPSAxICogMTAyNCAqIDEwMjQ7CistI2VsaWYgVjhfT1Nf QUlYCisrI2VsaWYgVjhfT1NfQUlYIHx8ICFkZWZpbmVkKF9fR0xJQkNfXykKKyAgICAgLy8gRGVm YXVsdCBvbiBBSVggaXMgOTZrQiAtLSBidW1wIHVwIHRvIDJNQgorICAgICBzdGFja19zaXplID0g MiAqIDEwMjQgKiAxMDI0OworICNlbmRpZgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDUvcGF0Y2hl cy8wMDQ2LXNhbmRib3gtbWVtYmFycmllci5wYXRjaCBiL3NyY3BrZ3MvcXQ1L3BhdGNoZXMvMDA0 Ni1zYW5kYm94LW1lbWJhcnJpZXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMDAuLmI3Mzk3MWYyNDMyCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDUvcGF0 Y2hlcy8wMDQ2LXNhbmRib3gtbWVtYmFycmllci5wYXRjaApAQCAtMCwwICsxLDYwIEBACistLS0g cXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtLy9zYW5kYm94L2xpbnV4L3N5c3RlbV9o ZWFkZXJzL2FybTY0X2xpbnV4X3N5c2NhbGxzLmgKKysrKyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFy dHkvY2hyb21pdW0vL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvYXJtNjRfbGludXhfc3lz Y2FsbHMuaAorQEAgLTEwNjMsNCArMTA2Myw4IEBACisgI2RlZmluZSBfX05SX21lbWZkX2NyZWF0 ZSAyNzkKKyAjZW5kaWYKKyAKKysjaWYgIWRlZmluZWQoX19OUl9tZW1iYXJyaWVyKQorKyNkZWZp bmUgX19OUl9tZW1iYXJyaWVyIDI4MworKyNlbmRpZgorKworICNlbmRpZiAgLy8gU0FOREJPWF9M SU5VWF9TWVNURU1fSEVBREVSU19BUk02NF9MSU5VWF9TWVNDQUxMU19IXworCistLS0gcXR3ZWJl bmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtLy9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJz L2FybV9saW51eF9zeXNjYWxscy5oCisrKysgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9t aXVtLy9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2FybV9saW51eF9zeXNjYWxscy5oCitA QCAtMTM4NSw2ICsxMzg1LDEwIEBACisgI2RlZmluZSBfX05SX21lbWZkX2NyZWF0ZSAoX19OUl9T WVNDQUxMX0JBU0UrMzg1KQorICNlbmRpZgorIAorKyNpZiAhZGVmaW5lZChfX05SX21lbWJhcnJp ZXIpCisrI2RlZmluZSBfX05SX21lbWJhcnJpZXIgKF9fTlJfU1lTQ0FMTF9CQVNFKzM4OSkKKysj ZW5kaWYKKysKKyAvLyBBUk0gcHJpdmF0ZSBzeXNjYWxscy4KKyAjaWYgIWRlZmluZWQoX19BUk1f TlJfQkFTRSkKKyAjZGVmaW5lIF9fQVJNX05SX0JBU0UgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMHhG MDAwMCkKKworLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS8vc2FuZGJveC9s aW51eC9zeXN0ZW1faGVhZGVycy94ODZfMzJfbGludXhfc3lzY2FsbHMuaAorKysrIHF0d2ViZW5n aW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS8vc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy94 ODZfMzJfbGludXhfc3lzY2FsbHMuaAorQEAgLTE0MjIsNSArMTQyMiw5IEBACisgI2RlZmluZSBf X05SX21lbWZkX2NyZWF0ZSAzNTYKKyAjZW5kaWYKKyAKKysjaWYgIWRlZmluZWQoX19OUl9tZW1i YXJyaWVyKQorKyNkZWZpbmUgX19OUl9tZW1iYXJyaWVyIDM3NQorKyNlbmRpZgorKworICNlbmRp ZiAgLy8gU0FOREJPWF9MSU5VWF9TWVNURU1fSEVBREVSU19YODZfMzJfTElOVVhfU1lTQ0FMTFNf SF8KKyAKKy0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vL3NhbmRib3gvbGlu dXgvc3lzdGVtX2hlYWRlcnMveDg2XzY0X2xpbnV4X3N5c2NhbGxzLmgKKysrKyBxdHdlYmVuZ2lu ZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMveDg2 XzY0X2xpbnV4X3N5c2NhbGxzLmgKK0BAIC0xMjkwLDUgKzEyOTAsOSBAQAorICNkZWZpbmUgX19O Ul9tZW1mZF9jcmVhdGUgMzE5CisgI2VuZGlmCisgCisrI2lmICFkZWZpbmVkKF9fTlJfbWVtYmFy cmllcikKKysjZGVmaW5lIF9fTlJfbWVtYmFycmllciAzMjQKKysjZW5kaWYKKysKKyAjZW5kaWYg IC8vIFNBTkRCT1hfTElOVVhfU1lTVEVNX0hFQURFUlNfWDg2XzY0X0xJTlVYX1NZU0NBTExTX0hf CisgCistLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtLy9zYW5kYm94L2xpbnV4 L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9zZXRzLmNjCisrKysgcXR3ZWJlbmdpbmUvc3Jj LzNyZHBhcnR5L2Nocm9taXVtLy9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lz Y2FsbF9zZXRzLmNjCitAQCAtMzcwLDYgKzM3MCw3IEBACisgICBzd2l0Y2ggKHN5c25vKSB7Cisg ICAgIGNhc2UgX19OUl9leGl0OgorICAgICBjYXNlIF9fTlJfZXhpdF9ncm91cDoKKysgICAgY2Fz ZSBfX05SX21lbWJhcnJpZXI6CisgICAgIGNhc2UgX19OUl93YWl0NDoKKyAgICAgY2FzZSBfX05S X3dhaXRpZDoKKyAjaWYgZGVmaW5lZChfX2kzODZfXykKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ1 L3BhdGNoZXMvcXR3ZWJlbmdpbmUtY2hyb21pdW0tcHBjNjQucGF0Y2ggYi9zcmNwa2dzL3F0NS9w YXRjaGVzL3F0d2ViZW5naW5lLWNocm9taXVtLXBwYzY0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMjY2YmI4ZWJiMS4uMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9xdDUv cGF0Y2hlcy9xdHdlYmVuZ2luZS1jaHJvbWl1bS1wcGM2NC5wYXRjaAorKysgL2Rldi9udWxsCkBA IC0xLDIxMTIgKzAsMCBAQAotVGhpcyBwYXRjaGVzIHRoZSBidW5kbGVkIENocm9taXVtIGVub3Vn aCB0byBhbGxvdyBpdCB0byBidWlsZCBhbmQgd29yayBvbgotbGl0dGxlIGVuZGlhbiBwcGM2NC4g VGhlIHBhdGNoc2V0IGlzIHJlYmFzZWQgcmVndWxhcmx5IG9uIHRvcCBvZiBsYXRlc3QKLUNocm9t aXVtIGNvZGViYXNlLCBzbyB0aGVyZSBzaG91bGQgYmUgbm8gcHJvYmxlbSBrZWVwaW5nIGl0IHVw IHRvIGRhdGUuCi0KLVBpbmcgcTY2IGlmIHlvdSdyZSB1cGRhdGluZyBxdDUgYW5kIHRoZSBwYXRj aCBkb2VzIG5vdCBhcHBseSBhbnltb3JlLgotCi1Tb3VyY2U6IGh0dHBzOi8vd2lraS5yYXB0b3Jj cy5jb20vdy9pbmRleC5waHA/dGl0bGU9UG9ydGluZy9DaHJvbWl1bQotVXBzdHJlYW06IENocm9t aXVtIGRvZXMgbm90IGFjY2VwdCBhZGRpdGlvbmFsIHBsYXRmb3JtIHN1cHBvcnQsIGRvd25zdHJl YW0KLSAgICAgICAgICBwYXRjaGluZyBuZWNlc3NhcnkKLQotZGlmZiAtLWdpdCBxdHdlYmVuZ2lu ZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vYmFzZS9hbGxvY2F0b3IvcGFydGl0aW9uX2FsbG9jYXRv ci9wYWdlX2FsbG9jYXRvci5oIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9iYXNl L2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2NhdG9yL3BhZ2VfYWxsb2NhdG9yLmgKLWluZGV4IGEz OWI0ZTMwMS4uNWU2MmU3YTIzIDEwMDY0NAotLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS9iYXNlL2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2NhdG9yL3BhZ2VfYWxsb2NhdG9y LmgKLSsrKyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vYmFzZS9hbGxvY2F0b3Iv cGFydGl0aW9uX2FsbG9jYXRvci9wYWdlX2FsbG9jYXRvci5oCi1AQCAtMTUsNyArMTUsNyBAQAot IAotIG5hbWVzcGFjZSBiYXNlIHsKLSAKLS0jaWYgZGVmaW5lZChPU19XSU4pCi0rI2lmIGRlZmlu ZWQoT1NfV0lOKSB8fCBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0KQotIHN0YXRpYyBjb25zdCBzaXpl X3Qga1BhZ2VBbGxvY2F0aW9uR3JhbnVsYXJpdHlTaGlmdCA9IDE2OyAgLy8gNjRLQgotICNlbGlm IGRlZmluZWQoX01JUFNfQVJDSF9MT09OR1NPTikKLSBzdGF0aWMgY29uc3Qgc2l6ZV90IGtQYWdl QWxsb2NhdGlvbkdyYW51bGFyaXR5U2hpZnQgPSAxNDsgIC8vIDE2S0IKLUBAIC0zMSw2ICszMSwx MCBAQCBzdGF0aWMgY29uc3Qgc2l6ZV90IGtQYWdlQWxsb2NhdGlvbkdyYW51bGFyaXR5QmFzZU1h c2sgPQotIAotICNpZiBkZWZpbmVkKF9NSVBTX0FSQ0hfTE9PTkdTT04pCi0gc3RhdGljIGNvbnN0 IHNpemVfdCBrU3lzdGVtUGFnZVNpemUgPSAxNjM4NDsKLSsjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BV X1BQQzY0KQotKy8vIFRPRE86IG1vZGVybiBwcGM2NCBjYW4gZG8gNGsgYW5kIDY0ayBwYWdlIHNp emVzCi0rLy8gZm9yIG5vdywgNjRrIGlzIGFzc3VtZWQKLStzdGF0aWMgY29uc3RleHByIHNpemVf dCBrU3lzdGVtUGFnZVNpemUgPSA2NTUzNjsKLSAjZWxzZQotIHN0YXRpYyBjb25zdCBzaXplX3Qg a1N5c3RlbVBhZ2VTaXplID0gNDA5NjsKLSAjZW5kaWYKLWRpZmYgLS1naXQgcXR3ZWJlbmdpbmUv c3JjLzNyZHBhcnR5L2Nocm9taXVtL2Jhc2UvYWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxvY2F0b3Iv cGFydGl0aW9uX2FsbG9jLmggcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Jhc2Uv YWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxvY2F0b3IvcGFydGl0aW9uX2FsbG9jLmgKLWluZGV4IDZl NTE0M2IwOS4uNzRjN2NmODhmIDEwMDY0NAotLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS9iYXNlL2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxv Yy5oCi0rKysgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Jhc2UvYWxsb2NhdG9y L3BhcnRpdGlvbl9hbGxvY2F0b3IvcGFydGl0aW9uX2FsbG9jLmgKLUBAIC05OSw2ICs5OSw4IEBA IHN0YXRpYyBjb25zdCBzaXplX3Qga0J1Y2tldFNoaWZ0ID0gKGtBbGxvY2F0aW9uR3JhbnVsYXJp dHkgPT0gOCkgPyAzIDogMjsKLSAvLyB1cCBhZ2FpbnN0IHRoZSBlbmQgb2YgYSBzeXN0ZW0gcGFn ZS4KLSAjaWYgZGVmaW5lZChfTUlQU19BUkNIX0xPT05HU09OKQotIHN0YXRpYyBjb25zdCBzaXpl X3Qga1BhcnRpdGlvblBhZ2VTaGlmdCA9IDE2OyAgLy8gNjRLQgotKyNlbGlmIGRlZmluZWQoQVJD SF9DUFVfUFBDNjQpCi0rc3RhdGljIGNvbnN0IHNpemVfdCBrUGFydGl0aW9uUGFnZVNoaWZ0ID0g MTg7ICAvLyAyNTYgS2lCCi0gI2Vsc2UKLSBzdGF0aWMgY29uc3Qgc2l6ZV90IGtQYXJ0aXRpb25Q YWdlU2hpZnQgPSAxNDsgIC8vIDE2S0IKLSAjZW5kaWYKLWRpZmYgLS1naXQgcXR3ZWJlbmdpbmUv c3JjLzNyZHBhcnR5L2Nocm9taXVtL2NvbXBvbmVudHMvdXBkYXRlX2NsaWVudC91cGRhdGVfcXVl cnlfcGFyYW1zLmNjIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9jb21wb25lbnRz L3VwZGF0ZV9jbGllbnQvdXBkYXRlX3F1ZXJ5X3BhcmFtcy5jYwotaW5kZXggMjcyMDE2Yzc2Li40 YjAyZDNjZTUgMTAwNjQ0Ci0tLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Nv bXBvbmVudHMvdXBkYXRlX2NsaWVudC91cGRhdGVfcXVlcnlfcGFyYW1zLmNjCi0rKysgcXR3ZWJl bmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2NvbXBvbmVudHMvdXBkYXRlX2NsaWVudC91cGRh dGVfcXVlcnlfcGFyYW1zLmNjCi1AQCAtNTUsNiArNTUsOCBAQCBjb25zdCBjaGFyIGtBcmNoW10g PQotICAgICAibWlwczY0ZWwiOwotICNlbGlmIGRlZmluZWQoX19taXBzX18pCi0gICAgICJtaXBz ZWwiOwotKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSsgICAgInBwYzY0IjsKLSAjZWxz ZQotICNlcnJvciAidW5rbm93biBhcmNoIgotICNlbmRpZgotQEAgLTEyNyw2ICsxMjksOCBAQCBj b25zdCBjaGFyKiBVcGRhdGVRdWVyeVBhcmFtczo6R2V0TmFjbEFyY2goKSB7Ci0gICByZXR1cm4g Im1pcHMzMiI7Ci0gI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9NSVBTNjRFTCkKLSAgIHJldHVybiAi bWlwczY0IjsKLSsjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0KQotKyAgcmV0dXJuICJwcGM2 NCI7Ci0gI2Vsc2UKLSAvLyBOT1RFOiB3aGVuIGFkZGluZyBuZXcgdmFsdWVzIGhlcmUsIHBsZWFz ZSByZW1lbWJlciB0byB1cGRhdGUgdGhlCi0gLy8gY29tbWVudCBpbiB0aGUgLmggZmlsZSBhYm91 dCBwb3NzaWJsZSByZXR1cm4gdmFsdWVzIGZyb20gdGhpcyBmdW5jdGlvbi4KLWRpZmYgLS1naXQg cXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2NvbXBvbmVudHMvdXBkYXRlX2NsaWVu dC91cGRhdGVfcXVlcnlfcGFyYW1zLmggcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVt L2NvbXBvbmVudHMvdXBkYXRlX2NsaWVudC91cGRhdGVfcXVlcnlfcGFyYW1zLmgKLWluZGV4IGEz NWU0YzM3Ny4uZTMxNWUxNDRjIDEwMDY0NAotLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS9jb21wb25lbnRzL3VwZGF0ZV9jbGllbnQvdXBkYXRlX3F1ZXJ5X3BhcmFtcy5oCi0r KysgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2NvbXBvbmVudHMvdXBkYXRlX2Ns aWVudC91cGRhdGVfcXVlcnlfcGFyYW1zLmgKLUBAIC00NSw3ICs0NSw3IEBAIGNsYXNzIFVwZGF0 ZVF1ZXJ5UGFyYW1zIHsKLSAgIC8vIFJldHVybnMgdGhlIHZhbHVlIHdlIHVzZSBmb3IgdGhlICJu YWNsX2FyY2giIHBhcmFtZXRlci4gTm90ZSB0aGF0IHRoaXMgbWF5Ci0gICAvLyBiZSBkaWZmZXJl bnQgZnJvbSB0aGUgImFyY2giIHBhcmFtZXRlciBhYm92ZSAoZS5nLiBvbmUgbWF5IGJlIDMyLWJp dCBhbmQKLSAgIC8vIHRoZSBvdGhlciA2NC1iaXQpLiBQb3NzaWJsZSByZXR1cm4gdmFsdWVzIGlu Y2x1ZGU6ICJ4ODYtMzIiLCAieDg2LTY0IiwKLS0gIC8vICJhcm0iLCBhbmQgIm1pcHMzMiIuCi0r ICAvLyAiYXJtIiwgIm1pcHMzMiIsIGFuZCAicHBjNjQiLgotICAgc3RhdGljIGNvbnN0IGNoYXIq IEdldE5hY2xBcmNoKCk7Ci0gCi0gICAvLyBSZXR1cm5zIHRoZSBjdXJyZW50IHZlcnNpb24gb2Yg Q2hyb21lL0Nocm9taXVtLgotZGlmZiAtLWdpdCBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hy b21pdW0vc2FuZGJveC9mZWF0dXJlcy5nbmkgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL3NhbmRib3gvZmVhdHVyZXMuZ25pCi1pbmRleCA4OTY5M2M1NGMuLjYwMTdjN2VlYSAxMDA2 NDQKLS0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9mZWF0dXJl cy5nbmkKLSsrKyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9mZWF0 dXJlcy5nbmkKLUBAIC0xMiw2ICsxMiw2IEBAIHVzZV9zZWNjb21wX2JwZiA9Ci0gICAgIChpc19s aW51eCB8fCBpc19hbmRyb2lkKSAmJgotICAgICAoY3VycmVudF9jcHUgPT0gIng4NiIgfHwgY3Vy cmVudF9jcHUgPT0gIng2NCIgfHwgY3VycmVudF9jcHUgPT0gImFybSIgfHwKLSAgICAgIGN1cnJl bnRfY3B1ID09ICJhcm02NCIgfHwgY3VycmVudF9jcHUgPT0gIm1pcHNlbCIgfHwKLS0gICAgIGN1 cnJlbnRfY3B1ID09ICJtaXBzNjRlbCIpCi0rICAgICBjdXJyZW50X2NwdSA9PSAibWlwczY0ZWwi IHx8IGN1cnJlbnRfY3B1ID09ICJwcGM2NCIpCi0gCi0gdXNlX3NlY2NvbXBfYnBmID0gdXNlX3Nl Y2NvbXBfYnBmIHx8IGlzX25hY2xfbm9uc2ZpCi1kaWZmIC0tZ2l0IHF0d2ViZW5naW5lL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L0JVSUxELmduIHF0d2ViZW5naW5lL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L0JVSUxELmduCi1pbmRleCA5ZDQ3MjZmODku LjkzNDhmNjQ2MSAxMDA2NDQKLS0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0v c2FuZGJveC9saW51eC9CVUlMRC5nbgotKysrIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS9zYW5kYm94L2xpbnV4L0JVSUxELmduCi1AQCAtNDIzLDYgKzQyMyw4IEBAIGNvbXBvbmVu dCgic2FuZGJveF9zZXJ2aWNlcyIpIHsKLSAKLSBzb3VyY2Vfc2V0KCJzYW5kYm94X3NlcnZpY2Vz X2hlYWRlcnMiKSB7Ci0gICBzb3VyY2VzID0gWwotKyAgICAic3lzdGVtX2hlYWRlcnMvcHBjNjRf bGludXhfc3lzY2FsbHMuaCIsCi0rICAgICJzeXN0ZW1faGVhZGVycy9wcGM2NF9saW51eF91Y29u dGV4dC5oIiwKLSAgICAgInN5c3RlbV9oZWFkZXJzL2FybTY0X2xpbnV4X3N5c2NhbGxzLmgiLAot ICAgICAic3lzdGVtX2hlYWRlcnMvYXJtNjRfbGludXhfdWNvbnRleHQuaCIsCi0gICAgICJzeXN0 ZW1faGVhZGVycy9hcm1fbGludXhfc3lzY2FsbHMuaCIsCi1kaWZmIC0tZ2l0IHF0d2ViZW5naW5l L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L2JwZl9kc2wvbGludXhfc3lzY2Fs bF9yYW5nZXMuaCBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51 eC9icGZfZHNsL2xpbnV4X3N5c2NhbGxfcmFuZ2VzLmgKLWluZGV4IDMzNGEwMGJiOS4uMjcyZDY1 YjJhIDEwMDY0NAotLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94 L2xpbnV4L2JwZl9kc2wvbGludXhfc3lzY2FsbF9yYW5nZXMuaAotKysrIHF0d2ViZW5naW5lL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L2JwZl9kc2wvbGludXhfc3lzY2FsbF9y YW5nZXMuaAotQEAgLTUzLDYgKzUzLDEzIEBACi0gI2RlZmluZSBNQVhfUFVCTElDX1NZU0NBTEwg Mjc5dQotICNkZWZpbmUgTUFYX1NZU0NBTEwgTUFYX1BVQkxJQ19TWVNDQUxMCi0gCi0rI2VsaWYg ZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotKwotKyNpbmNsdWRlIDxhc20vdW5pc3RkLmg+Ci0rI2Rl ZmluZSBNSU5fU1lTQ0FMTCAwdQotKyNkZWZpbmUgTUFYX1BVQkxJQ19TWVNDQUxMIDM4NnUKLSsj ZGVmaW5lIE1BWF9TWVNDQUxMIE1BWF9QVUJMSUNfU1lTQ0FMTAotKwotICNlbHNlCi0gI2Vycm9y ICJVbnN1cHBvcnRlZCBhcmNoaXRlY3R1cmUiCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IHF0d2ViZW5n aW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L2JwZl9kc2wvc2VjY29tcF9t YWNyb3MuaCBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9i cGZfZHNsL3NlY2NvbXBfbWFjcm9zLmgKLWluZGV4IGU0ZTgxNDJjNC4uNmE5MjZmOTA0IDEwMDY0 NAotLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L2Jw Zl9kc2wvc2VjY29tcF9tYWNyb3MuaAotKysrIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS9zYW5kYm94L2xpbnV4L2JwZl9kc2wvc2VjY29tcF9tYWNyb3MuaAotQEAgLTE2LDYgKzE2 LDkgQEAKLSAjaWYgZGVmaW5lZChfX21pcHNfXykKLSAvLyBzeXMvdXNlci5oIGluIGVnbGliYyBt aXNzZXMgc2l6ZV90IGRlZmluaXRpb24KLSAjaW5jbHVkZSA8c3RkZGVmLmg+Ci0rI2VsaWYgZGVm aW5lZChfX3Bvd2VycGM2NF9fKQotKy8vIE1hbnVhbGx5IGRlZmluZSBncmVnX3Qgb24gcHBjNjQK LSt0eXBlZGVmIHVuc2lnbmVkIGxvbmcgbG9uZyBncmVnX3Q7Ci0gI2VuZGlmCi0gI2VuZGlmCi0g Ci1AQCAtMzQ1LDYgKzM0OCw1MSBAQCBzdHJ1Y3QgcmVnc19zdHJ1Y3QgewotICNkZWZpbmUgU0VD Q09NUF9QVF9QQVJNNChfcmVncykgKF9yZWdzKS5yZWdzWzNdCi0gI2RlZmluZSBTRUNDT01QX1BU X1BBUk01KF9yZWdzKSAoX3JlZ3MpLnJlZ3NbNF0KLSAjZGVmaW5lIFNFQ0NPTVBfUFRfUEFSTTYo X3JlZ3MpIChfcmVncykucmVnc1s1XQotKwotKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykK LSsjaW5jbHVkZSA8YXNtL3B0cmFjZS5oPgotKwotK3R5cGVkZWYgc3RydWN0IHB0X3JlZ3MgcmVn c19zdHJ1Y3Q7Ci0rCi0rI2lmZGVmIEFSQ0hfQ1BVX0xJVFRMRV9FTkRJQU4KLSsjZGVmaW5lIFNF Q0NPTVBfQVJDSCBBVURJVF9BUkNIX1BQQzY0TEUKLSsjZWxzZQotKyNkZWZpbmUgU0VDQ09NUF9B UkNIIEFVRElUX0FSQ0hfUFBDNjQKLSsjZW5kaWYKLSsKLSsjZGVmaW5lIFNFQ0NPTVBfUkVHKF9j dHgsIF9yZWcpICgoX2N0eCktPnVjX21jb250ZXh0LnJlZ3MtPmdwcltfcmVnXSkKLSsKLSsjZGVm aW5lIFNFQ0NPTVBfUkVTVUxUKF9jdHgpIFNFQ0NPTVBfUkVHKF9jdHgsIDMpCi0rI2RlZmluZSBT RUNDT01QX1NZU0NBTEwoX2N0eCkgU0VDQ09NUF9SRUcoX2N0eCwgMCkKLSsjZGVmaW5lIFNFQ0NP TVBfSVAoX2N0eCkgKF9jdHgpLT51Y19tY29udGV4dC5yZWdzLT5uaXAKLSsjZGVmaW5lIFNFQ0NP TVBfUEFSTTEoX2N0eCkgU0VDQ09NUF9SRUcoX2N0eCwgMykKLSsjZGVmaW5lIFNFQ0NPTVBfUEFS TTIoX2N0eCkgU0VDQ09NUF9SRUcoX2N0eCwgNCkKLSsjZGVmaW5lIFNFQ0NPTVBfUEFSTTMoX2N0 eCkgU0VDQ09NUF9SRUcoX2N0eCwgNSkKLSsjZGVmaW5lIFNFQ0NPTVBfUEFSTTQoX2N0eCkgU0VD Q09NUF9SRUcoX2N0eCwgNikKLSsjZGVmaW5lIFNFQ0NPTVBfUEFSTTUoX2N0eCkgU0VDQ09NUF9S RUcoX2N0eCwgNykKLSsjZGVmaW5lIFNFQ0NPTVBfUEFSTTYoX2N0eCkgU0VDQ09NUF9SRUcoX2N0 eCwgOCkKLSsKLSsjZGVmaW5lIFNFQ0NPTVBfTlJfSURYIChvZmZzZXRvZihzdHJ1Y3QgYXJjaF9z ZWNjb21wX2RhdGEsIG5yKSkKLSsjZGVmaW5lIFNFQ0NPTVBfQVJDSF9JRFggKG9mZnNldG9mKHN0 cnVjdCBhcmNoX3NlY2NvbXBfZGF0YSwgYXJjaCkpCi0rI2RlZmluZSBTRUNDT01QX0lQX01TQl9J RFggXAotKyAgKG9mZnNldG9mKHN0cnVjdCBhcmNoX3NlY2NvbXBfZGF0YSwgaW5zdHJ1Y3Rpb25f cG9pbnRlcikgKyA0KQotKyNkZWZpbmUgU0VDQ09NUF9JUF9MU0JfSURYIFwKLSsgIChvZmZzZXRv ZihzdHJ1Y3QgYXJjaF9zZWNjb21wX2RhdGEsIGluc3RydWN0aW9uX3BvaW50ZXIpICsgMCkKLSsj ZGVmaW5lIFNFQ0NPTVBfQVJHX01TQl9JRFgobnIpIFwKLSsgIChvZmZzZXRvZihzdHJ1Y3QgYXJj aF9zZWNjb21wX2RhdGEsIGFyZ3MpICsgOCAqIChucikgKyA0KQotKyNkZWZpbmUgU0VDQ09NUF9B UkdfTFNCX0lEWChucikgXAotKyAgKG9mZnNldG9mKHN0cnVjdCBhcmNoX3NlY2NvbXBfZGF0YSwg YXJncykgKyA4ICogKG5yKSArIDApCi0rCi0rI2RlZmluZSBTRUNDT01QX1BUX1JFU1VMVChfcmVn cykgKF9yZWdzKS5ncHJbM10KLSsjZGVmaW5lIFNFQ0NPTVBfUFRfU1lTQ0FMTChfcmVncykgKF9y ZWdzKS5ncHJbMF0KLSsjZGVmaW5lIFNFQ0NPTVBfUFRfSVAoX3JlZ3MpIChfcmVncykubmlwCi0r I2RlZmluZSBTRUNDT01QX1BUX1BBUk0xKF9yZWdzKSAoX3JlZ3MpLmdwclszXQotKyNkZWZpbmUg U0VDQ09NUF9QVF9QQVJNMihfcmVncykgKF9yZWdzKS5ncHJbNF0KLSsjZGVmaW5lIFNFQ0NPTVBf UFRfUEFSTTMoX3JlZ3MpIChfcmVncykuZ3ByWzVdCi0rI2RlZmluZSBTRUNDT01QX1BUX1BBUk00 KF9yZWdzKSAoX3JlZ3MpLmdwcls2XQotKyNkZWZpbmUgU0VDQ09NUF9QVF9QQVJNNShfcmVncykg KF9yZWdzKS5ncHJbN10KLSsjZGVmaW5lIFNFQ0NPTVBfUFRfUEFSTTYoX3JlZ3MpIChfcmVncyku Z3ByWzhdCi0rCi0gI2Vsc2UKLSAjZXJyb3IgVW5zdXBwb3J0ZWQgdGFyZ2V0IHBsYXRmb3JtCi0g Ci1kaWZmIC0tZ2l0IHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xp bnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvYmFzZWxpbmVfcG9saWN5LmNjIHF0d2ViZW5naW5lL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvYmFz ZWxpbmVfcG9saWN5LmNjCi1pbmRleCA2YWFiMzdhODguLjBhNGQ0OTcyOSAxMDA2NDQKLS0tLSBx dHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zZWNjb21wLWJw Zi1oZWxwZXJzL2Jhc2VsaW5lX3BvbGljeS5jYwotKysrIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvYmFzZWxpbmVfcG9s aWN5LmNjCi1AQCAtODYsNyArODYsNyBAQCBib29sIElzQmFzZWxpbmVQb2xpY3lXYXRjaGVkKGlu dCBzeXNubykgewotICAgICAgICAgIFN5c2NhbGxTZXRzOjpJc051bWEoc3lzbm8pIHx8Ci0gICAg ICAgICAgU3lzY2FsbFNldHM6OklzUHJjdGwoc3lzbm8pIHx8Ci0gICAgICAgICAgU3lzY2FsbFNl dHM6OklzUHJvY2Vzc0dyb3VwT3JTZXNzaW9uKHN5c25vKSB8fAotLSNpZiBkZWZpbmVkKF9faTM4 Nl9fKSB8fCBkZWZpbmVkKF9fbWlwczMyX18pCi0rI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRl ZmluZWQoX19taXBzMzJfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotICAgICAgICAgIFN5 c2NhbGxTZXRzOjpJc1NvY2tldENhbGwoc3lzbm8pIHx8Ci0gI2VuZGlmCi0gI2lmIGRlZmluZWQo X19hcm1fXykKLUBAIC0xODYsNyArMTg2LDcgQEAgUmVzdWx0RXhwciBFdmFsdWF0ZVN5c2NhbGxJ bXBsKGludCBmc19kZW5pZWRfZXJybm8sCi0gICB9Ci0gCi0gI2lmIGRlZmluZWQoX19pMzg2X18p IHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgXAotLSAgICBk ZWZpbmVkKF9fYWFyY2g2NF9fKQotKyAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBkZWZpbmVk KF9fcG93ZXJwYzY0X18pCi0gICBpZiAoc3lzbm8gPT0gX19OUl9tbWFwKQotICAgICByZXR1cm4g UmVzdHJpY3RNbWFwRmxhZ3MoKTsKLSAjZW5kaWYKLUBAIC0yMDMsNyArMjAzLDcgQEAgUmVzdWx0 RXhwciBFdmFsdWF0ZVN5c2NhbGxJbXBsKGludCBmc19kZW5pZWRfZXJybm8sCi0gICAgIHJldHVy biBSZXN0cmljdFByY3RsKCk7Ci0gCi0gI2lmIGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5l ZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBcCi0tICAgIGRlZmluZWQoX19hYXJj aDY0X18pCi0rICAgIGRlZmluZWQoX19hYXJjaDY0X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRf XykKLSAgIGlmIChzeXNubyA9PSBfX05SX3NvY2tldHBhaXIpIHsKLSAgICAgLy8gT25seSBhbGxv dyBBRl9VTklYLCBQRl9VTklYLiBDcmFzaCBpZiBhbnl0aGluZyBlbHNlIGlzIHNlZW4uCi0gICAg IHN0YXRpY19hc3NlcnQoQUZfVU5JWCA9PSBQRl9VTklYLAotQEAgLTI0MSw3ICsyNDEsNyBAQCBS ZXN1bHRFeHByIEV2YWx1YXRlU3lzY2FsbEltcGwoaW50IGZzX2RlbmllZF9lcnJubywKLSAgICAg cmV0dXJuIEVycm9yKEVQRVJNKTsKLSAgIH0KLSAKLS0jaWYgZGVmaW5lZChfX2kzODZfXykgfHwg ZGVmaW5lZChfX21pcHMzMl9fKQotKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9f bWlwczMyX18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSAgIGlmIChTeXNjYWxsU2V0czo6 SXNTb2NrZXRDYWxsKHN5c25vKSkKLSAgICAgcmV0dXJuIFJlc3RyaWN0U29ja2V0Y2FsbENvbW1h bmQoKTsKLSAjZW5kaWYKLWRpZmYgLS1naXQgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3BhcmFtZXRlcnNf cmVzdHJpY3Rpb25zLmNjIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94 L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9wYXJhbWV0ZXJzX3Jlc3RyaWN0aW9u cy5jYwotaW5kZXggMTU1ZTUyZTliLi41OTVjMjczNzcgMTAwNjQ0Ci0tLS0gcXR3ZWJlbmdpbmUv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9z eXNjYWxsX3BhcmFtZXRlcnNfcmVzdHJpY3Rpb25zLmNjCi0rKysgcXR3ZWJlbmdpbmUvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxs X3BhcmFtZXRlcnNfcmVzdHJpY3Rpb25zLmNjCi1AQCAtMzYsNiArMzYsMTEgQEAKLSAjaW5jbHVk ZSA8c3lzL2lvY3RsLmg+Ci0gI2VuZGlmCi0gCi0rLy8gT24gUFBDNjQsIFRDR0VUUyBpcyBkZWZp bmVkIGluIHRlcm1zIG9mIHN0cnVjdCB0ZXJtaW9zLCBzbyB3ZSBtdXN0IGluY2x1ZGUgdGVybWlv cy5oCi0rI2lmZGVmIF9fcG93ZXJwYzY0X18KLSsjaW5jbHVkZSA8dGVybWlvcy5oPgotKyNlbmRp ZgotKwotICNpZiBkZWZpbmVkKE9TX0FORFJPSUQpCi0gCi0gI2lmICFkZWZpbmVkKEZfRFVQRkRf Q0xPRVhFQykKLUBAIC05OCw2ICsxMDMsMTUgQEAgaW5saW5lIGJvb2wgSXNBcmNoaXRlY3R1cmVN aXBzKCkgewotICNlbmRpZgotIH0KLSAKLStpbmxpbmUgYm9vbCBJc0FyY2hpdGVjdHVyZVBQQzY0 KCkgewotKyNpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0rICByZXR1cm4gdHJ1ZTsKLSsjZWxz ZQotKyAgcmV0dXJuIGZhbHNlOwotKyNlbmRpZgotK30KLSsKLSsKLSAvLyBVYnVudHUncyB2ZXJz aW9uIG9mIGdsaWJjIGhhcyBhIHJhY2UgY29uZGl0aW9uIGluIHNlbV9wb3N0IHRoYXQgY2FuIGNh dXNlCi0gLy8gaXQgdG8gY2FsbCBmdXRleCgyKSB3aXRoIGJvZ3VzIG9wIGFyZ3VtZW50cy4gVG8g d29ya2Fyb3VuZCB0aGlzLCB3ZSBuZWVkCi0gLy8gdG8gYWxsb3cgdGhvc2UgZnV0ZXgoMikgY2Fs bHMgdG8gZmFpbCB3aXRoIEVJTlZBTCwgaW5zdGVhZCBvZiBjcmFzaGluZyB0aGUKLUBAIC0yMzks NyArMjUzLDggQEAgUmVzdWx0RXhwciBSZXN0cmljdEZjbnRsQ29tbWFuZHMoKSB7Ci0gICAvLyBv cGVyYXRvci4KLSAgIC8vIEdsaWJjIG92ZXJyaWRlcyB0aGUga2VybmVsJ3MgT19MQVJHRUZJTEUg dmFsdWUuIEFjY291bnQgZm9yIHRoaXMuCi0gICB1aW50NjRfdCBrT0xhcmdlRmlsZUZsYWcgPSBP X0xBUkdFRklMRTsKLS0gIGlmIChJc0FyY2hpdGVjdHVyZVg4Nl82NCgpIHx8IElzQXJjaGl0ZWN0 dXJlSTM4NigpIHx8IElzQXJjaGl0ZWN0dXJlTWlwcygpKQotKyAgaWYgKElzQXJjaGl0ZWN0dXJl WDg2XzY0KCkgfHwgSXNBcmNoaXRlY3R1cmVJMzg2KCkgfHwgSXNBcmNoaXRlY3R1cmVNaXBzKCkg XAotKyAgICAgIHx8IElzQXJjaGl0ZWN0dXJlUFBDNjQoKSkKLSAgICAga09MYXJnZUZpbGVGbGFn ID0gMDEwMDAwMDsKLSAKLSAgIGNvbnN0IEFyZzxpbnQ+IGNtZCgxKTsKLUBAIC0yNjIsNyArMjc3 LDcgQEAgUmVzdWx0RXhwciBSZXN0cmljdEZjbnRsQ29tbWFuZHMoKSB7Ci0gICAgICAgLkRlZmF1 bHQoQ3Jhc2hTSUdTWVMoKSk7Ci0gfQotIAotLSNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZp bmVkKF9fbWlwc19fKQotKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fbWlwc19f KSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gUmVzdWx0RXhwciBSZXN0cmljdFNvY2tldGNh bGxDb21tYW5kKCkgewotICAgLy8gVW5mb3J0dW5hdGVseSwgd2UgYXJlIHVuYWJsZSB0byByZXN0 cmljdCB0aGUgZmlyc3QgcGFyYW1ldGVyIHRvCi0gICAvLyBzb2NrZXRwYWlyKDIpLiBXaGlsc3Qg aW5pdGlhbGx5IHNvdW5kaW5nIGJhZCwgaXQncyBub3Rld29ydGh5IHRoYXQgdmVyeQotZGlmZiAt LWdpdCBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zZWNj b21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfcGFyYW1ldGVyc19yZXN0cmljdGlvbnMuaCBxdHdlYmVu Z2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxw ZXJzL3N5c2NhbGxfcGFyYW1ldGVyc19yZXN0cmljdGlvbnMuaAotaW5kZXggNzFjNTYwOTNkLi5m OGI5YzBjNmIgMTAwNjQ0Ci0tLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Nh bmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3BhcmFtZXRlcnNfcmVzdHJp Y3Rpb25zLmgKLSsrKyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9s aW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfcGFyYW1ldGVyc19yZXN0cmljdGlvbnMu aAotQEAgLTQ4LDcgKzQ4LDcgQEAgU0FOREJPWF9FWFBPUlQgYnBmX2RzbDo6UmVzdWx0RXhwciBS ZXN0cmljdE1wcm90ZWN0RmxhZ3MoKTsKLSAvLyBPX05PTkJMT0NLIHwgT19TWU5DIHwgT19MQVJH RUZJTEUgfCBPX0NMT0VYRUMgfCBPX05PQVRJTUUuCi0gU0FOREJPWF9FWFBPUlQgYnBmX2RzbDo6 UmVzdWx0RXhwciBSZXN0cmljdEZjbnRsQ29tbWFuZHMoKTsKLSAKLS0jaWYgZGVmaW5lZChfX2kz ODZfXykgfHwgZGVmaW5lZChfX21pcHNfXykKLSsjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVm aW5lZChfX21pcHNfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotIC8vIFJlc3RyaWN0IHNv Y2tldGNhbGwoMikgdG8gb25seSBhbGxvdyBzb2NrZXRwYWlyKDIpLCBzZW5kKDIpLCByZWN2KDIp LAotIC8vIHNlbmR0bygyKSwgcmVjdmZyb20oMiksIHNodXRkb3duKDIpLCBzZW5kbXNnKDIpIGFu ZCByZWN2bXNnKDIpLgotIFNBTkRCT1hfRVhQT1JUIGJwZl9kc2w6OlJlc3VsdEV4cHIgUmVzdHJp Y3RTb2NrZXRjYWxsQ29tbWFuZCgpOwotZGlmZiAtLWdpdCBxdHdlYmVuZ2luZS9zcmMvM3JkcGFy dHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfc2V0 cy5jYyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zZWNj b21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfc2V0cy5jYwotaW5kZXggNjI1OTYzOWM5Li5mMmY1MTFk NzAgMTAwNjQ0Ci0tLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gv bGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3NldHMuY2MKLSsrKyBxdHdlYmVuZ2lu ZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJz L3N5c2NhbGxfc2V0cy5jYwotQEAgLTI4LDcgKzI4LDggQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNL aWxsKGludCBzeXNubykgewotIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZEdldHRpbWUoaW50 IHN5c25vKSB7Ci0gICBzd2l0Y2ggKHN5c25vKSB7Ci0gICAgIGNhc2UgX19OUl9nZXR0aW1lb2Zk YXk6Ci0tI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVm aW5lZChfX21pcHMzMl9fKQotKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2 XzY0X18pIHx8IGRlZmluZWQoX19taXBzMzJfXykgfHwgXAotKyAgICBkZWZpbmVkKF9fcG93ZXJw YzY0X18pCi0gICAgIGNhc2UgX19OUl90aW1lOgotICNlbmRpZgotICAgICAgIHJldHVybiB0cnVl OwotQEAgLTQyLDcgKzQzLDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkR2V0dGltZShp bnQgc3lzbm8pIHsKLSAgICAgY2FzZSBfX05SX2Z0aW1lOiAgLy8gT2Jzb2xldGUuCi0gI2VuZGlm Ci0gICAgIGNhc2UgX19OUl9zZXR0aW1lb2ZkYXk6ICAvLyBQcml2aWxlZ2VkLgotLSNpZiBkZWZp bmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fbWlwczMyX18pCi0rI2lmIGRlZmluZWQoX19pMzg2 X18pIHx8IGRlZmluZWQoX19taXBzMzJfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotICAg ICBjYXNlIF9fTlJfc3RpbWU6Ci0gI2VuZGlmCi0gICAgIGRlZmF1bHQ6Ci1AQCAtMTA4LDcgKzEw OSw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzRmlsZVN5c3RlbShpbnQgc3lzbm8pIHsKLSAgICAg Y2FzZSBfX05SX2ZhY2Nlc3NhdDogIC8vIEVQRVJNIG5vdCBhIHZhbGlkIGVycm5vLgotICAgICBj YXNlIF9fTlJfZmNobW9kYXQ6Ci0gICAgIGNhc2UgX19OUl9mY2hvd25hdDogIC8vIFNob3VsZCBi ZSBjYWxsZWQgY2hvd25hdCA/Ci0tI2lmIGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChf X2FhcmNoNjRfXykKLSsjaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fYWFyY2g2 NF9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gICAgIGNhc2UgX19OUl9uZXdmc3RhdGF0 OiAgLy8gZnN0YXRhdCgpLiBFUEVSTSBub3QgYSB2YWxpZCBlcnJuby4KLSAjZWxpZiBkZWZpbmVk KF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19taXBzMzJfXykKLSAg ICAgY2FzZSBfX05SX2ZzdGF0YXQ2NDoKLUBAIC0xMjUsNyArMTI2LDcgQEAgYm9vbCBTeXNjYWxs U2V0czo6SXNGaWxlU3lzdGVtKGludCBzeXNubykgewotICAgICBjYXNlIF9fTlJfbWVtZmRfY3Jl YXRlOgotICAgICBjYXNlIF9fTlJfbWtkaXJhdDoKLSAgICAgY2FzZSBfX05SX21rbm9kYXQ6Ci0t I2lmIGRlZmluZWQoX19pMzg2X18pCi0rI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQo X19wb3dlcnBjNjRfXykKLSAgICAgY2FzZSBfX05SX29sZGxzdGF0OgotICAgICBjYXNlIF9fTlJf b2xkc3RhdDoKLSAjZW5kaWYKLUBAIC0xNDYsNyArMTQ3LDggQEAgYm9vbCBTeXNjYWxsU2V0czo6 SXNGaWxlU3lzdGVtKGludCBzeXNubykgewotICAgICBjYXNlIF9fTlJfdHJ1bmNhdGU2NDoKLSAj ZW5kaWYKLSAgICAgY2FzZSBfX05SX3VubGlua2F0OgotLSNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8 fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19taXBzX18pCi0rI2lmIGRlZmluZWQo X19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwg XAotKyAgICBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gICAgIGNhc2UgX19OUl91dGltZToKLSAj ZW5kaWYKLSAgICAgY2FzZSBfX05SX3V0aW1lbnNhdDogIC8vIE5ldy4KLUBAIC0xNjQsNyArMTY2 LDggQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkRmlsZVN5c3RlbUFjY2Vzc1ZpYUZkKGlu dCBzeXNubykgewotICNlbmRpZgotICAgICAgIHJldHVybiB0cnVlOwotIC8vIFRPRE8oamxuKTog dGhlc2Ugc2hvdWxkIGJlIGRlbmllZCBncmFjZWZ1bGx5IGFzIHdlbGwgKG1vdmVkIGJlbG93KS4K LS0jaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVk KF9fbWlwc19fKQotKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18p IHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKLSsgICAgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQot ICAgICBjYXNlIF9fTlJfZmFkdmlzZTY0OiAgLy8gRVBFUk0gbm90IGEgdmFsaWQgZXJybm8uCi0g I2VuZGlmCi0gI2lmIGRlZmluZWQoX19pMzg2X18pCi1AQCAtMTc2LDcgKzE3OSw4IEBAIGJvb2wg U3lzY2FsbFNldHM6OklzQWxsb3dlZEZpbGVTeXN0ZW1BY2Nlc3NWaWFGZChpbnQgc3lzbm8pIHsK LSAgICAgY2FzZSBfX05SX2ZkYXRhc3luYzogIC8vIEVQRVJNIG5vdCBhIHZhbGlkIGVycm5vLgot ICAgICBjYXNlIF9fTlJfZmxvY2s6ICAgICAgLy8gRVBFUk0gbm90IGEgdmFsaWQgZXJybm8uCi0g ICAgIGNhc2UgX19OUl9mc3RhdGZzOiAgICAvLyBHaXZlIGluZm9ybWF0aW9uIGFib3V0IHRoZSB3 aG9sZSBmaWxlc3lzdGVtLgotLSNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fYXJt X18pIHx8IGRlZmluZWQoX19taXBzMzJfXykKLSsjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVm aW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fbWlwczMyX18pIHx8IFwKLSsgICAgZGVmaW5lZChf X3Bvd2VycGM2NF9fKQotICAgICBjYXNlIF9fTlJfZnN0YXRmczY0OgotICNlbmRpZgotICAgICBj YXNlIF9fTlJfZnN5bmM6ICAvLyBFUEVSTSBub3QgYSB2YWxpZCBlcnJuby4KLUBAIC0xODgsNiAr MTkyLDggQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkRmlsZVN5c3RlbUFjY2Vzc1ZpYUZk KGludCBzeXNubykgewotICAgICBjYXNlIF9fTlJfc3luY19maWxlX3JhbmdlOiAgLy8gRVBFUk0g bm90IGEgdmFsaWQgZXJybm8uCi0gI2VsaWYgZGVmaW5lZChfX2FybV9fKQotICAgICBjYXNlIF9f TlJfYXJtX3N5bmNfZmlsZV9yYW5nZTogIC8vIEVQRVJNIG5vdCBhIHZhbGlkIGVycm5vLgotKyNl bGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSsgICAgY2FzZSBfX05SX3N5bmNfZmlsZV9yYW5n ZTI6IC8vIEVQRVJNIG5vdCBhIHZhbGlkIGVycm5vLgotICNlbmRpZgotICAgICBkZWZhdWx0Ogot ICAgICAgIHJldHVybiBmYWxzZTsKLUBAIC0yMTEsNyArMjE3LDcgQEAgYm9vbCBTeXNjYWxsU2V0 czo6SXNEZW5pZWRGaWxlU3lzdGVtQWNjZXNzVmlhRmQoaW50IHN5c25vKSB7Ci0gICAgIGNhc2Ug X19OUl9nZXRkZW50czogICAgLy8gRVBFUk0gbm90IGEgdmFsaWQgZXJybm8uCi0gI2VuZGlmCi0g ICAgIGNhc2UgX19OUl9nZXRkZW50czY0OiAgLy8gRVBFUk0gbm90IGEgdmFsaWQgZXJybm8uCi0t I2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19taXBzMzJfXykKLSsjaWYgZGVmaW5l ZChfX2kzODZfXykgfHwgZGVmaW5lZChfX21pcHMzMl9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0 X18pCi0gICAgIGNhc2UgX19OUl9yZWFkZGlyOgotICNlbmRpZgotICAgICAgIHJldHVybiB0cnVl OwotQEAgLTI1Miw3ICsyNTgsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0dldFNpbXBsZUlkKGlu dCBzeXNubykgewotIGJvb2wgU3lzY2FsbFNldHM6OklzUHJvY2Vzc1ByaXZpbGVnZUNoYW5nZShp bnQgc3lzbm8pIHsKLSAgIHN3aXRjaCAoc3lzbm8pIHsKLSAgICAgY2FzZSBfX05SX2NhcHNldDoK LS0jaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKQotKyNpZiBkZWZp bmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19wb3dlcnBj NjRfXykKLSAgICAgY2FzZSBfX05SX2lvcGVybTogIC8vIEludGVsIHByaXZpbGVnZS4KLSAgICAg Y2FzZSBfX05SX2lvcGw6ICAgIC8vIEludGVsIHByaXZpbGVnZS4KLSAjZW5kaWYKLUBAIC0zMDEs NyArMzA3LDggQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkU2lnbmFsSGFuZGxpbmcoaW50 IHN5c25vKSB7Ci0gICAgIGNhc2UgX19OUl9ydF9zaWdhY3Rpb246Ci0gICAgIGNhc2UgX19OUl9y dF9zaWdwcm9jbWFzazoKLSAgICAgY2FzZSBfX05SX3J0X3NpZ3JldHVybjoKLS0jaWYgZGVmaW5l ZChfX2kzODZfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fbWlwczMyX18pCi0r I2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX21p cHMzMl9fKSB8fCBcCi0rICAgIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSAgICAgY2FzZSBfX05S X3NpZ2FjdGlvbjoKLSAgICAgY2FzZSBfX05SX3NpZ3Byb2NtYXNrOgotICAgICBjYXNlIF9fTlJf c2lncmV0dXJuOgotQEAgLTMxNyw3ICszMjQsOCBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93 ZWRTaWduYWxIYW5kbGluZyhpbnQgc3lzbm8pIHsKLSAgICAgY2FzZSBfX05SX3NpZ25hbGZkOgot ICNlbmRpZgotICAgICBjYXNlIF9fTlJfc2lnbmFsZmQ0OgotLSNpZiBkZWZpbmVkKF9faTM4Nl9f KSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19taXBzMzJfXykKLSsjaWYgZGVmaW5l ZChfX2kzODZfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fbWlwczMyX18pIHx8 IFwKLSsgICAgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotICAgICBjYXNlIF9fTlJfc2lncGVuZGlu ZzoKLSAgICAgY2FzZSBfX05SX3NpZ3N1c3BlbmQ6Ci0gI2VuZGlmCi1AQCAtMzQwLDcgKzM0OCw3 IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZE9wZXJhdGlvbk9uRmQoaW50IHN5c25vKSB7 Ci0gI2VuZGlmCi0gICAgIGNhc2UgX19OUl9kdXAzOgotICNpZiBkZWZpbmVkKF9feDg2XzY0X18p IHx8IGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgXAotLSAgICBkZWZp bmVkKF9fYWFyY2g2NF9fKQotKyAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBkZWZpbmVkKF9f cG93ZXJwYzY0X18pCi0gICAgIGNhc2UgX19OUl9zaHV0ZG93bjoKLSAjZW5kaWYKLSAgICAgICBy ZXR1cm4gdHJ1ZTsKLUBAIC0zNzIsNyArMzgwLDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxv d2VkUHJvY2Vzc1N0YXJ0T3JEZWF0aChpbnQgc3lzbm8pIHsKLSAgICAgY2FzZSBfX05SX2V4aXRf Z3JvdXA6Ci0gICAgIGNhc2UgX19OUl93YWl0NDoKLSAgICAgY2FzZSBfX05SX3dhaXRpZDoKLS0j aWYgZGVmaW5lZChfX2kzODZfXykKLSsjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChf X3Bvd2VycGM2NF9fKQotICAgICBjYXNlIF9fTlJfd2FpdHBpZDoKLSAjZW5kaWYKLSAjaWYgIWRl ZmluZWQoX19HTElCQ19fKQotQEAgLTQ0Myw3ICs0NTEsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJ c0FsbG93ZWRHZXRPck1vZGlmeVNvY2tldChpbnQgc3lzbm8pIHsKLSAgICAgICByZXR1cm4gdHJ1 ZTsKLSAgICAgZGVmYXVsdDoKLSAjaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9f YXJtX18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKLS0gICAgZGVmaW5lZChfX2FhcmNoNjRf XykKLSsgICAgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQot ICAgICBjYXNlIF9fTlJfc29ja2V0cGFpcjogIC8vIFdlIHdpbGwgd2FudCB0byBpbnNwZWN0IGl0 cyBhcmd1bWVudC4KLSAjZW5kaWYKLSAgICAgICByZXR1cm4gZmFsc2U7Ci1AQCAtNDUzLDcgKzQ2 MSw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZEdldE9yTW9kaWZ5U29ja2V0KGludCBz eXNubykgewotIGJvb2wgU3lzY2FsbFNldHM6OklzRGVuaWVkR2V0T3JNb2RpZnlTb2NrZXQoaW50 IHN5c25vKSB7Ci0gICBzd2l0Y2ggKHN5c25vKSB7Ci0gI2lmIGRlZmluZWQoX194ODZfNjRfXykg fHwgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBcCi0tICAgIGRlZmlu ZWQoX19hYXJjaDY0X18pCi0rICAgIGRlZmluZWQoX19hYXJjaDY0X18pIHx8IGRlZmluZWQoX19w b3dlcnBjNjRfXykKLSAgICAgY2FzZSBfX05SX2FjY2VwdDoKLSAgICAgY2FzZSBfX05SX2FjY2Vw dDQ6Ci0gICAgIGNhc2UgX19OUl9iaW5kOgotQEAgLTQ2Nyw3ICs0NzUsNyBAQCBib29sIFN5c2Nh bGxTZXRzOjpJc0RlbmllZEdldE9yTW9kaWZ5U29ja2V0KGludCBzeXNubykgewotICAgfQotIH0K LSAKLS0jaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX21pcHMzMl9fKQotKyNpZiBk ZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fbWlwczMyX18pIHx8IGRlZmluZWQoX19wb3dl cnBjNjRfXykKLSAvLyBCaWcgbXVsdGlwbGV4aW5nIHN5c3RlbSBjYWxsIGZvciBzb2NrZXRzLgot IGJvb2wgU3lzY2FsbFNldHM6OklzU29ja2V0Q2FsbChpbnQgc3lzbm8pIHsKLSAgIHN3aXRjaCAo c3lzbm8pIHsKLUBAIC00ODEsNyArNDg5LDggQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNTb2NrZXRD YWxsKGludCBzeXNubykgewotIH0KLSAjZW5kaWYKLSAKLS0jaWYgZGVmaW5lZChfX3g4Nl82NF9f KSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19taXBzX18pCi0rI2lmIGRlZmluZWQo X194ODZfNjRfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBc Ci0rICAgIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSBib29sIFN5c2NhbGxTZXRzOjpJc05ldHdv cmtTb2NrZXRJbmZvcm1hdGlvbihpbnQgc3lzbm8pIHsKLSAgIHN3aXRjaCAoc3lzbm8pIHsKLSAg ICAgY2FzZSBfX05SX2dldHBlZXJuYW1lOgotQEAgLTUwOSw3ICs1MTgsNyBAQCBib29sIFN5c2Nh bGxTZXRzOjpJc0FsbG93ZWRBZGRyZXNzU3BhY2VBY2Nlc3MoaW50IHN5c25vKSB7Ci0gICAgIGNh c2UgX19OUl9taW5jb3JlOgotICAgICBjYXNlIF9fTlJfbWxvY2thbGw6Ci0gI2lmIGRlZmluZWQo X19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwg XAotLSAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKQotKyAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8 fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gICAgIGNhc2UgX19OUl9tbWFwOgotICNlbmRpZgot ICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19t aXBzMzJfXykKLUBAIC01MzgsNyArNTQ3LDggQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2Vk QWRkcmVzc1NwYWNlQWNjZXNzKGludCBzeXNubykgewotIGJvb2wgU3lzY2FsbFNldHM6OklzQWxs b3dlZEdlbmVyYWxJbyhpbnQgc3lzbm8pIHsKLSAgIHN3aXRjaCAoc3lzbm8pIHsKLSAgICAgY2Fz ZSBfX05SX2xzZWVrOgotLSNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fYXJtX18p IHx8IGRlZmluZWQoX19taXBzMzJfXykKLSsjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5l ZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fbWlwczMyX18pIHx8IFwKLSsgICAgZGVmaW5lZChfX3Bv d2VycGM2NF9fKQotICAgICBjYXNlIF9fTlJfX2xsc2VlazoKLSAjZW5kaWYKLSAjaWYgIWRlZmlu ZWQoX19hYXJjaDY0X18pCi1AQCAtNTQ4LDI1ICs1NTgsMjYgQEAgYm9vbCBTeXNjYWxsU2V0czo6 SXNBbGxvd2VkR2VuZXJhbElvKGludCBzeXNubykgewotICAgICBjYXNlIF9fTlJfcHNlbGVjdDY6 Ci0gICAgIGNhc2UgX19OUl9yZWFkOgotICAgICBjYXNlIF9fTlJfcmVhZHY6Ci0tI2lmIGRlZmlu ZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX21pcHMzMl9fKQotKyNpZiBkZWZpbmVkKF9fYXJtX18p IHx8IGRlZmluZWQoX19taXBzMzJfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotICAgICBj YXNlIF9fTlJfcmVjdjoKLSAjZW5kaWYKLSAjaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZp bmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKLS0gICAgZGVmaW5lZChfX2Fh cmNoNjRfXykKLSsgICAgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2 NF9fKQotICAgICBjYXNlIF9fTlJfcmVjdmZyb206ICAvLyBDb3VsZCBzcGVjaWZ5IHNvdXJjZS4K LSAgICAgY2FzZSBfX05SX3JlY3Ztc2c6ICAgLy8gQ291bGQgc3BlY2lmeSBzb3VyY2UuCi0gI2Vu ZGlmCi0tI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykKLSsjaWYg ZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fcG93 ZXJwYzY0X18pCi0gICAgIGNhc2UgX19OUl9zZWxlY3Q6Ci0gI2VuZGlmCi0tI2lmIGRlZmluZWQo X19pMzg2X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX21pcHNfXykKLSsjaWYg ZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fbWlwc19f KSB8fCBcCi0rICAgIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSAgICAgY2FzZSBfX05SX19uZXdz ZWxlY3Q6Ci0gI2VuZGlmCi0tI2lmIGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX21pcHMz Ml9fKQotKyNpZiBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19taXBzMzJfXykgfHwgZGVm aW5lZChfX3Bvd2VycGM2NF9fKQotICAgICBjYXNlIF9fTlJfc2VuZDoKLSAjZW5kaWYKLSAjaWYg ZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19taXBz X18pIHx8IFwKLS0gICAgZGVmaW5lZChfX2FhcmNoNjRfXykKLSsgICAgZGVmaW5lZChfX2FhcmNo NjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotICAgICBjYXNlIF9fTlJfc2VuZG1zZzog IC8vIENvdWxkIHNwZWNpZnkgZGVzdGluYXRpb24uCi0gICAgIGNhc2UgX19OUl9zZW5kdG86ICAg Ly8gQ291bGQgc3BlY2lmeSBkZXN0aW5hdGlvbi4KLSAjZW5kaWYKLUBAIC02MjIsNyArNjMzLDgg QEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkQmFzaWNTY2hlZHVsZXIoaW50IHN5c25vKSB7 Ci0gICAgIGNhc2UgX19OUl9uYW5vc2xlZXA6Ci0gICAgICAgcmV0dXJuIHRydWU7Ci0gICAgIGNh c2UgX19OUl9nZXRwcmlvcml0eToKLS0jaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChf X2FybV9fKSB8fCBkZWZpbmVkKF9fbWlwczMyX18pCi0rI2lmIGRlZmluZWQoX19pMzg2X18pIHx8 IGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX21pcHMzMl9fKSB8fCBcCi0rICAgIGRlZmlu ZWQoX19wb3dlcnBjNjRfXykKLSAgICAgY2FzZSBfX05SX25pY2U6Ci0gI2VuZGlmCi0gICAgIGNh c2UgX19OUl9zZXRwcmlvcml0eToKLUBAIC02MzMsNyArNjQ1LDggQEAgYm9vbCBTeXNjYWxsU2V0 czo6SXNBbGxvd2VkQmFzaWNTY2hlZHVsZXIoaW50IHN5c25vKSB7Ci0gCi0gYm9vbCBTeXNjYWxs U2V0czo6SXNBZG1pbk9wZXJhdGlvbihpbnQgc3lzbm8pIHsKLSAgIHN3aXRjaCAoc3lzbm8pIHsK LS0jaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9f bWlwczMyX18pCi0rI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwg ZGVmaW5lZChfX21pcHMzMl9fKSB8fCBcCi0rICAgIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSAg ICAgY2FzZSBfX05SX2JkZmx1c2g6Ci0gI2VuZGlmCi0gICAgIGNhc2UgX19OUl9rZXhlY19sb2Fk OgotQEAgLTY0OSw3ICs2NjIsOCBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FkbWluT3BlcmF0aW9u KGludCBzeXNubykgewotIAotIGJvb2wgU3lzY2FsbFNldHM6OklzS2VybmVsTW9kdWxlKGludCBz eXNubykgewotICAgc3dpdGNoIChzeXNubykgewotLSNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBk ZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19taXBzX18pCi0rI2lmIGRlZmluZWQoX19p Mzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgXAot KyAgICBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gICAgIGNhc2UgX19OUl9jcmVhdGVfbW9kdWxl OgotICAgICBjYXNlIF9fTlJfZ2V0X2tlcm5lbF9zeW1zOiAgLy8gU2hvdWxkIEVOT1NZUy4KLSAg ICAgY2FzZSBfX05SX3F1ZXJ5X21vZHVsZToKLUBAIC02ODEsNyArNjk1LDcgQEAgYm9vbCBTeXNj YWxsU2V0czo6SXNGc0NvbnRyb2woaW50IHN5c25vKSB7Ci0gICAgIGNhc2UgX19OUl9xdW90YWN0 bDoKLSAgICAgY2FzZSBfX05SX3N3YXBvZmY6Ci0gICAgIGNhc2UgX19OUl9zd2Fwb246Ci0tI2lm IGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19taXBzMzJfXykKLSsjaWYgZGVmaW5lZChf X2kzODZfXykgfHwgZGVmaW5lZChfX21pcHMzMl9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18p Ci0gICAgIGNhc2UgX19OUl91bW91bnQ6Ci0gI2VuZGlmCi0gICAgIGNhc2UgX19OUl91bW91bnQy OgotQEAgLTY5Nyw3ICs3MTEsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc051bWEoaW50IHN5c25v KSB7Ci0gICAgIGNhc2UgX19OUl9nZXRjcHU6Ci0gICAgIGNhc2UgX19OUl9tYmluZDoKLSAjaWYg ZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fbWlw c19fKSB8fCBcCi0tICAgIGRlZmluZWQoX19hYXJjaDY0X18pCi0rICAgIGRlZmluZWQoX19hYXJj aDY0X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSAgICAgY2FzZSBfX05SX21pZ3JhdGVf cGFnZXM6Ci0gI2VuZGlmCi0gICAgIGNhc2UgX19OUl9tb3ZlX3BhZ2VzOgotQEAgLTcyNiwxMyAr NzQwLDEzIEBAIGJvb2wgU3lzY2FsbFNldHM6OklzR2xvYmFsUHJvY2Vzc0Vudmlyb25tZW50KGlu dCBzeXNubykgewotICAgc3dpdGNoIChzeXNubykgewotICAgICBjYXNlIF9fTlJfYWNjdDogIC8v IFByaXZpbGVnZWQuCi0gI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRf XykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgXAotLSAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKQot KyAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gICAg IGNhc2UgX19OUl9nZXRybGltaXQ6Ci0gI2VuZGlmCi0tI2lmIGRlZmluZWQoX19pMzg2X18pIHx8 IGRlZmluZWQoX19hcm1fXykKLSsjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX2Fy bV9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gICAgIGNhc2UgX19OUl91Z2V0cmxpbWl0 OgotICNlbmRpZgotLSNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fbWlwczMyX18p Ci0rI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19taXBzMzJfXykgfHwgZGVmaW5l ZChfX3Bvd2VycGM2NF9fKQotICAgICBjYXNlIF9fTlJfdWxpbWl0OgotICNlbmRpZgotICAgICBj YXNlIF9fTlJfZ2V0cnVzYWdlOgotQEAgLTc2Niw3ICs3ODAsNyBAQCBib29sIFN5c2NhbGxTZXRz OjpJc0dsb2JhbFN5c3RlbVN0YXR1cyhpbnQgc3lzbm8pIHsKLSAjZW5kaWYKLSAgICAgY2FzZSBf X05SX3N5c2luZm86Ci0gICAgIGNhc2UgX19OUl91bmFtZToKLS0jaWYgZGVmaW5lZChfX2kzODZf XykKLSsjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotICAg ICBjYXNlIF9fTlJfb2xkdW5hbWU6Ci0gICAgIGNhc2UgX19OUl9vbGRvbGR1bmFtZToKLSAjZW5k aWYKLUBAIC04NTcsNyArODcxLDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNTeXN0ZW1WTWVzc2Fn ZVF1ZXVlKGludCBzeXNubykgewotIH0KLSAjZW5kaWYKLSAKLS0jaWYgZGVmaW5lZChfX2kzODZf XykgfHwgZGVmaW5lZChfX21pcHMzMl9fKQotKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZp bmVkKF9fbWlwczMyX18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSAvLyBCaWcgc3lzdGVt IFYgbXVsdGlwbGV4aW5nIHN5c3RlbSBjYWxsLgotIGJvb2wgU3lzY2FsbFNldHM6OklzU3lzdGVt VklwYyhpbnQgc3lzbm8pIHsKLSAgIHN3aXRjaCAoc3lzbm8pIHsKLUBAIC04NzYsNyArODkwLDcg QEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbnlTeXN0ZW1WKGludCBzeXNubykgewotICAgICB8fCBk ZWZpbmVkKF9fbWlwczY0X18pCi0gICByZXR1cm4gSXNTeXN0ZW1WTWVzc2FnZVF1ZXVlKHN5c25v KSB8fCBJc1N5c3RlbVZTZW1hcGhvcmVzKHN5c25vKSB8fAotICAgICAgICAgIElzU3lzdGVtVlNo YXJlZE1lbW9yeShzeXNubyk7Ci0tI2VsaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChf X21pcHMzMl9fKQotKyNlbGlmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19taXBzMzJf XykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotICAgcmV0dXJuIElzU3lzdGVtVklwYyhzeXNu byk7Ci0gI2VuZGlmCi0gfQotQEAgLTkyOSw3ICs5NDMsOCBAQCBib29sIFN5c2NhbGxTZXRzOjpJ c0ZhTm90aWZ5KGludCBzeXNubykgewotIGJvb2wgU3lzY2FsbFNldHM6OklzVGltZXIoaW50IHN5 c25vKSB7Ci0gICBzd2l0Y2ggKHN5c25vKSB7Ci0gICAgIGNhc2UgX19OUl9nZXRpdGltZXI6Ci0t I2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChf X21pcHNfXykKLSsjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8 fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBcCi0rICAgIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSAg ICAgY2FzZSBfX05SX2FsYXJtOgotICNlbmRpZgotICAgICBjYXNlIF9fTlJfc2V0aXRpbWVyOgot QEAgLTk4OCwxNiArMTAwMywxOCBAQCBib29sIFN5c2NhbGxTZXRzOjpJc01pc2MoaW50IHN5c25v KSB7Ci0gICAgIGNhc2UgX19OUl9zeW5jZnM6Ci0gICAgIGNhc2UgX19OUl92aGFuZ3VwOgotIC8v IFRoZSBzeXN0ZW0gY2FsbHMgYmVsb3cgYXJlIG5vdCBpbXBsZW1lbnRlZC4KLS0jaWYgZGVmaW5l ZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKQot KyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQo X19taXBzX18pIHx8IFwKLSsgICAgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotICAgICBjYXNlIF9f TlJfYWZzX3N5c2NhbGw6Ci0gI2VuZGlmCi0tI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmlu ZWQoX19taXBzMzJfXykKLSsjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX21pcHMz Ml9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gICAgIGNhc2UgX19OUl9icmVhazoKLSAj ZW5kaWYKLS0jaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBk ZWZpbmVkKF9fbWlwc19fKQotKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2 XzY0X18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKLSsgICAgZGVmaW5lZChfX3Bvd2VycGM2 NF9fKQotICAgICBjYXNlIF9fTlJfZ2V0cG1zZzoKLSAjZW5kaWYKLS0jaWYgZGVmaW5lZChfX2kz ODZfXykgfHwgZGVmaW5lZChfX21pcHMzMl9fKQotKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBk ZWZpbmVkKF9fbWlwczMyX18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSAgICAgY2FzZSBf X05SX2d0dHk6Ci0gICAgIGNhc2UgX19OUl9pZGxlOgotICAgICBjYXNlIF9fTlJfbG9jazoKLUBA IC0xMDA1LDE5ICsxMDIyLDIwIEBAIGJvb2wgU3lzY2FsbFNldHM6OklzTWlzYyhpbnQgc3lzbm8p IHsKLSAgICAgY2FzZSBfX05SX3Byb2Y6Ci0gICAgIGNhc2UgX19OUl9wcm9maWw6Ci0gI2VuZGlm Ci0tI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5l ZChfX21pcHNfXykKLSsjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9f KSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBcCi0rICAgIGRlZmluZWQoX19wb3dlcnBjNjRfXykK LSAgICAgY2FzZSBfX05SX3B1dHBtc2c6Ci0gI2VuZGlmCi0gI2lmIGRlZmluZWQoX194ODZfNjRf XykKLSAgICAgY2FzZSBfX05SX3NlY3VyaXR5OgotICNlbmRpZgotLSNpZiBkZWZpbmVkKF9faTM4 Nl9fKSB8fCBkZWZpbmVkKF9fbWlwczMyX18pCi0rI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRl ZmluZWQoX19taXBzMzJfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotICAgICBjYXNlIF9f TlJfc3R0eToKLSAjZW5kaWYKLS0jaWYgZGVmaW5lZChfX3g4Nl82NF9fKQotKyNpZiBkZWZpbmVk KF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSAgICAgY2FzZSBfX05SX3R1 eGNhbGw6Ci0gI2VuZGlmCi0tI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9fKQotKyNpZiAhZGVmaW5l ZChfX2FhcmNoNjRfXykgJiYgIWRlZmluZWQoX19wb3dlcnBjNjRfXykKLSAgICAgY2FzZSBfX05S X3ZzZXJ2ZXI6Ci0gI2VuZGlmCi0gICAgICAgcmV0dXJuIHRydWU7Ci1kaWZmIC0tZ2l0IHF0d2Vi ZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhl bHBlcnMvc3lzY2FsbF9zZXRzLmggcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Nh bmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3NldHMuaAotaW5kZXggYzMx ZDVlOWMxLi43ODk4YmU5ZTEgMTAwNjQ0Ci0tLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2No cm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3NldHMuaAot KysrIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlY2Nv bXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9zZXRzLmgKLUBAIC00MiwxMyArNDIsMTMgQEAgY2xhc3Mg U0FOREJPWF9FWFBPUlQgU3lzY2FsbFNldHMgewotICAgc3RhdGljIGJvb2wgSXNBbGxvd2VkR2V0 T3JNb2RpZnlTb2NrZXQoaW50IHN5c25vKTsKLSAgIHN0YXRpYyBib29sIElzRGVuaWVkR2V0T3JN b2RpZnlTb2NrZXQoaW50IHN5c25vKTsKLSAKLS0jaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVm aW5lZChfX21pcHMzMl9fKQotKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fbWlw czMyX18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSAgIC8vIEJpZyBtdWx0aXBsZXhpbmcg c3lzdGVtIGNhbGwgZm9yIHNvY2tldHMuCi0gICBzdGF0aWMgYm9vbCBJc1NvY2tldENhbGwoaW50 IHN5c25vKTsKLSAjZW5kaWYKLSAKLSAjaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVk KF9fYXJtX18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKLS0gICAgZGVmaW5lZChfX2FhcmNo NjRfXykKLSsgICAgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9f KQotICAgc3RhdGljIGJvb2wgSXNOZXR3b3JrU29ja2V0SW5mb3JtYXRpb24oaW50IHN5c25vKTsK LSAjZW5kaWYKLSAKLUBAIC04NSw3ICs4NSw3IEBAIGNsYXNzIFNBTkRCT1hfRVhQT1JUIFN5c2Nh bGxTZXRzIHsKLSAgIHN0YXRpYyBib29sIElzU3lzdGVtVk1lc3NhZ2VRdWV1ZShpbnQgc3lzbm8p OwotICNlbmRpZgotIAotLSNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fbWlwczMy X18pCi0rI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19taXBzMzJfXykgfHwgZGVm aW5lZChfX3Bvd2VycGM2NF9fKQotICAgLy8gQmlnIHN5c3RlbSBWIG11bHRpcGxleGluZyBzeXN0 ZW0gY2FsbC4KLSAgIHN0YXRpYyBib29sIElzU3lzdGVtVklwYyhpbnQgc3lzbm8pOwotICNlbmRp ZgotZGlmZiAtLWdpdCBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9s aW51eC9zZWNjb21wLWJwZi9zeXNjYWxsLmNjIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmL3N5c2NhbGwuY2MKLWluZGV4IGQ2ZGI3MGYw ZC4uNDkzN2IyNWE0IDEwMDY0NAotLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmL3N5c2NhbGwuY2MKLSsrKyBxdHdlYmVuZ2luZS9z cmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi9zeXNjYWxsLmNj Ci1AQCAtMTUsNyArMTUsNyBAQCBuYW1lc3BhY2Ugc2FuZGJveCB7Ci0gbmFtZXNwYWNlIHsKLSAK LSAjaWYgZGVmaW5lZChBUkNIX0NQVV9YODZfRkFNSUxZKSB8fCBkZWZpbmVkKEFSQ0hfQ1BVX0FS TV9GQU1JTFkpIHx8IFwKLS0gICAgZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkKLSsgICAg ZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgfHwgZGVmaW5lZCAoQVJDSF9DUFVfUFBDNjRf RkFNSUxZKQotIC8vIE51bWJlciB0aGF0J3Mgbm90IGN1cnJlbnRseSB1c2VkIGJ5IGFueSBMaW51 eCBrZXJuZWwgQUJJcy4KLSBjb25zdCBpbnQga0ludmFsaWRTeXNjYWxsTnVtYmVyID0gMHgzNTFk MzsKLSAjZWxzZQotQEAgLTMwNywxMiArMzA3LDU2IEBAIGFzbSgvLyBXZSBuZWVkIHRvIGJlIGFi bGUgdG8gdGVsbCB0aGUga2VybmVsIGV4YWN0bHkgd2hlcmUgd2UgbWFkZSBhCi0gICAgIC8vIEVu dGVyIHRoZSBrZXJuZWwKLSAgICAgInN2YyAwXG4iCi0gICAgICIyOnJldFxuIgotKyAgICAiLmNm aV9lbmRwcm9jXG4iCi0rICAgICIuc2l6ZSBTeXNjYWxsQXNtLCAuLVN5c2NhbGxBc21cbiIKLSsj ZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0rICAgICIudGV4dFxuIgotKyAgICAiLmFsaWdu IDRcbiIKLSsgICAgIi50eXBlIFN5c2NhbGxBc20gQGZ1bmN0aW9uXG4iCi0rICAgICJTeXNjYWxs QXNtOlxuIgotKyAgICAiLmNmaV9zdGFydHByb2NcbiIKLSsKLSsgICAgLy8gQ2hlY2sgaWYgcjMg aXMgbmVnYXRpdmUKLSsgICAgImNtcGRpIDMsIDBcbiIKLSsgICAgImJndCAyZlxuIgotKwotKyAg ICAvLyBMb2FkIGFkZHJlc3Mgb2YgM2YgaW50byByMyBhbmQgcmV0dXJuCi0rICAgICJtZmxyIDEw XG4iCi0rICAgICJibCAxZlxuIgotKyAgICAiMTogbWZsciAzXG4iCi0rICAgICJtdGxyIDEwXG4i Ci0rICAgICJhZGRpIDMsIDMsIDQqMTNcbiIKLSsgICAgImJsclxuIgotKwotKyAgICAvLyBMb2Fk IGFyZ3VtZW50cyBmcm9tIGFycmF5IGludG8gcjMtOAotKyAgICAvLyBzYXZlIHBhcmFtIDMgaW4g cjEwCi0rICAgICIyOlxuIgotKyAgICAibXIgMCwgM1xuIgotKyAgICAibGQgMywgMCg0KVxuIgot KyAgICAibGQgNSwgMTYoNClcbiIKLSsgICAgImxkIDYsIDI0KDQpXG4iCi0rICAgICJsZCA3LCAz Mig0KVxuIgotKyAgICAibGQgOCwgNDAoNClcbiIKLSsgICAgImxkIDQsIDgoNClcbiIKLSsgICAg ImxpIDksIDBcbiIKLSsKLSsgICAgLy8gRW50ZXIga2VybmVsCi0rICAgICJzY1xuIgotKwotKyAg ICAvLyBNYWdpYyByZXR1cm4gYWRkcmVzcwotKyAgICAiMzpcbiIKLSsgICAgLy8gTGlrZSBNSVBT LCBwcGM2NCByZXR1cm4gdmFsdWVzIGFyZSBhbHdheXMgcG9zaXRpdmUuCi0rICAgIC8vIENoZWNr IGZvciBlcnJvciBpbiBjcjAuU08gYW5kIG5lZ2F0ZSB1cG9uIGVycm9yCi0rICAgICJiYyA0LCAz LCA0ZlxuIgotKyAgICAibmVnIDMsIDNcbiIKLSsgICAgIjQ6IGJsclxuIgotKwotICAgICAiLmNm aV9lbmRwcm9jXG4iCi0gICAgICIuc2l6ZSBTeXNjYWxsQXNtLCAuLVN5c2NhbGxBc21cbiIKLSAj ZW5kaWYKLSAgICAgKTsgIC8vIGFzbQotIAotLSNpZiBkZWZpbmVkKF9feDg2XzY0X18pCi0rI2lm IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotIGV4dGVybiAi QyIgewotIGludHB0cl90IFN5c2NhbGxBc20oaW50cHRyX3QgbnIsIGNvbnN0IGludHB0cl90IGFy Z3NbNl0pOwotIH0KLUBAIC00MjYsNiArNDcwLDggQEAgaW50cHRyX3QgU3lzY2FsbDo6Q2FsbChp bnQgbnIsCi0gICAgIHJldCA9IGlub3V0OwotICAgfQotIAotKyNlbGlmIGRlZmluZWQoX19wb3dl cnBjNjRfXykKLSsgIGludHB0cl90IHJldCA9IFN5c2NhbGxBc20obnIsIGFyZ3MpOwotICNlbHNl Ci0gI2Vycm9yICJVbmltcGxlbWVudGVkIGFyY2hpdGVjdHVyZSIKLSAjZW5kaWYKLUBAIC00NDIs OCArNDg4LDE4IEBAIHZvaWQgU3lzY2FsbDo6UHV0VmFsdWVJblVjb250ZXh0KGludHB0cl90IHJl dF92YWwsIHVjb250ZXh0X3QqIGN0eCkgewotICAgICAvLyBuZWVkcyB0byBiZSBjaGFuZ2VkIGJh Y2suCi0gICAgIHJldF92YWwgPSAtcmV0X3ZhbDsKLSAgICAgU0VDQ09NUF9QQVJNNChjdHgpID0g MTsKLS0gIH0gZWxzZQotKyAgfSBlbHNlIHsKLSAgICAgU0VDQ09NUF9QQVJNNChjdHgpID0gMDsK LSsgIH0KLSsjZW5kaWYKLSsjaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotKyAgLy8gU2FtZSBh cyBNSVBTLCBuZWVkIHRvIGludmVydCByZXQgYW5kIHNldCBlcnJvciByZWdpc3RlciAoY3IwLlNP KQotKyAgaWYgKHJldF92YWwgPD0gLTEgJiYgcmV0X3ZhbCA+PSAtNDA5NSkgewotKyAgICByZXRf dmFsID0gLXJldF92YWw7Ci0rICAgIGN0eC0+dWNfbWNvbnRleHQucmVncy0+Y2NyIHw9ICgxIDw8 IDI4KTsKLSsgIH0gZWxzZSB7Ci0rICAgIGN0eC0+dWNfbWNvbnRleHQucmVncy0+Y2NyICY9IH4o MSA8PCAyOCk7Ci0rICB9Ci0gI2VuZGlmCi0gICBTRUNDT01QX1JFU1VMVChjdHgpID0gc3RhdGlj X2Nhc3Q8Z3JlZ190PihyZXRfdmFsKTsKLSB9Ci1kaWZmIC0tZ2l0IHF0d2ViZW5naW5lL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmL3RyYXAuY2MgcXR3ZWJl bmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYvdHJh cC5jYwotaW5kZXggZTljNTE5NDBjLi4zNWE4ZjBkNjcgMTAwNjQ0Ci0tLS0gcXR3ZWJlbmdpbmUv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYvdHJhcC5jYwot KysrIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlY2Nv bXAtYnBmL3RyYXAuY2MKLUBAIC0yMzAsNiArMjMwLDIwIEBAIHZvaWQgVHJhcDo6U2lnU3lzKGlu dCBuciwgTGludXhTaWdJbmZvKiBpbmZvLCB1Y29udGV4dF90KiBjdHgpIHsKLSAgICAgICBTZXRJ c0luU2lnSGFuZGxlcigpOwotICAgICB9Ci0gCi0rI2lmIGRlZmluZWQoX19wb3dlcnBjNjRfXykK LSsgICAgLy8gT24gcHBjNjQrZ2xpYmMsIHNvbWUgc3lzY2FsbHMgc2VlbSB0byBhY2NpZGVudGFs bHkgbmVnYXRlIHRoZSBmaXJzdAotKyAgICAvLyBwYXJhbWV0ZXIgd2hpY2ggY2F1c2VzIGNoZWNr cyBhZ2FpbnN0IGl0IHRvIGZhaWwuIEZvciBub3csIG1hbnVhbGx5Ci0rICAgIC8vIG5lZ2F0ZSB0 aGVtIGJhY2suCi0rICAgIC8vIFRPRE8oc2hhd25AYW5hc3Rhcy5pbyk6IGludmVzdGlnYXRlIHRo aXMgaXNzdWUgZnVydGhlcgotKyAgICBhdXRvIG5yID0gU0VDQ09NUF9TWVNDQUxMKGN0eCk7Ci0r ICAgIGlmIChuciA9PSBfX05SX29wZW5hdCB8fCBuciA9PSBfX05SX21rZGlyYXQgfHwgbnIgPT0g X19OUl9mYWNjZXNzYXQgfHwgbnIgPT0gX19OUl9yZWFkbGlua2F0IHx8Ci0rICAgICAgICBuciA9 PSBfX05SX3JlbmFtZWF0IHx8IG5yID09IF9fTlJfcmVuYW1lYXQyIHx8IG5yID09IF9fTlJfbmV3 ZnN0YXRhdCB8fCBuciA9PSBfX05SX3VubGlua2F0KSB7Ci0rICAgICAgICBpZiAoc3RhdGljX2Nh c3Q8aW50PihTRUNDT01QX1BBUk0xKGN0eCkpID4gMCkgewotKyAgICAgICAgICAgIFNFQ0NPTVBf UEFSTTEoY3R4KSA9IC1TRUNDT01QX1BBUk0xKGN0eCk7Ci0rICAgICAgICB9Ci0rICAgIH0KLSsj ZW5kaWYKLSsKLSAgICAgLy8gQ29weSB0aGUgc2VjY29tcC1zcGVjaWZpYyBkYXRhIGludG8gYSBh cmNoX3NlY2NvbXBfZGF0YSBzdHJ1Y3R1cmUuIFRoaXMKLSAgICAgLy8gaXMgd2hhdCB3ZSBhcmUg c2hvd2luZyB0byBUcmFwRm5jIGNhbGxiYWNrcyB0aGF0IHRoZSBzeXN0ZW0gY2FsbAotICAgICAv LyBldmFsdWF0b3IgcmVnaXN0ZXJlZCB3aXRoIHRoZSBzYW5kYm94LgotZGlmZiAtLWdpdCBxdHdl YmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zZXJ2aWNlcy9jcmVk ZW50aWFscy5jYyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51 eC9zZXJ2aWNlcy9jcmVkZW50aWFscy5jYwotaW5kZXggNjViNjNhZGZlLi4xYjRlNjJlNDYgMTAw NjQ0Ci0tLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgv c2VydmljZXMvY3JlZGVudGlhbHMuY2MKLSsrKyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hy b21pdW0vc2FuZGJveC9saW51eC9zZXJ2aWNlcy9jcmVkZW50aWFscy5jYwotQEAgLTc3LDcgKzc3 LDcgQEAgYm9vbCBDaHJvb3RUb1NhZmVFbXB0eURpcigpIHsKLSAgIHBpZF90IHBpZCA9IC0xOwot ICAgYWxpZ25hcygxNikgY2hhciBzdGFja19idWZbUFRIUkVBRF9TVEFDS19NSU5dOwotICNpZiBk ZWZpbmVkKEFSQ0hfQ1BVX1g4Nl9GQU1JTFkpIHx8IGRlZmluZWQoQVJDSF9DUFVfQVJNX0ZBTUlM WSkgfHwgXAotLSAgICBkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKQotKyAgICBkZWZpbmVk KEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSB8fCBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlMWSkK LSAgIC8vIFRoZSBzdGFjayBncm93cyBkb3dud2FyZC4KLSAgIHZvaWQqIHN0YWNrID0gc3RhY2tf YnVmICsgc2l6ZW9mKHN0YWNrX2J1Zik7Ci0gI2Vsc2UKLWRpZmYgLS1naXQgcXR3ZWJlbmdpbmUv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhf c2VjY29tcC5oIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4 L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3NlY2NvbXAuaAotaW5kZXggYTYwZmUyYWQzLi45ZGNjZGI1 MWQgMTAwNjQ0Ci0tLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gv bGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfc2VjY29tcC5oCi0rKysgcXR3ZWJlbmdpbmUvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfc2Vj Y29tcC5oCi1AQCAtMjksNiArMjksOSBAQAotICNpZm5kZWYgRU1fQUFSQ0g2NAotICNkZWZpbmUg RU1fQUFSQ0g2NCAxODMKLSAjZW5kaWYKLSsjaWZuZGVmIEVNX1BQQzY0Ci0rI2RlZmluZSBFTV9Q UEM2NCAyMQotKyNlbmRpZgotIAotICNpZm5kZWYgX19BVURJVF9BUkNIXzY0QklUCi0gI2RlZmlu ZSBfX0FVRElUX0FSQ0hfNjRCSVQgMHg4MDAwMDAwMAotQEAgLTU0LDYgKzU3LDEyIEBACi0gI2lm bmRlZiBBVURJVF9BUkNIX0FBUkNINjQKLSAjZGVmaW5lIEFVRElUX0FSQ0hfQUFSQ0g2NCAoRU1f QUFSQ0g2NCB8IF9fQVVESVRfQVJDSF82NEJJVCB8IF9fQVVESVRfQVJDSF9MRSkKLSAjZW5kaWYK LSsjaWZuZGVmIEFVRElUX0FSQ0hfUFBDNjQKLSsjZGVmaW5lIEFVRElUX0FSQ0hfUFBDNjQgKEVN X1BQQzY0IHwgX19BVURJVF9BUkNIXzY0QklUKQotKyNlbmRpZgotKyNpZm5kZWYgQVVESVRfQVJD SF9QUEM2NExFCi0rI2RlZmluZSBBVURJVF9BUkNIX1BQQzY0TEUgKEVNX1BQQzY0IHwgX19BVURJ VF9BUkNIXzY0QklUIHwgX19BVURJVF9BUkNIX0xFKQotKyNlbmRpZgotIAotIC8vIEZvciBwcmN0 bC5oCi0gI2lmbmRlZiBQUl9TRVRfU0VDQ09NUAotZGlmZiAtLWdpdCBxdHdlYmVuZ2luZS9zcmMv M3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9zaWdu YWwuaCBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zeXN0 ZW1faGVhZGVycy9saW51eF9zaWduYWwuaAotaW5kZXggNWFjNGZkYjQyLi5iMjdiNGVhNWYgMTAw NjQ0Ci0tLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgv c3lzdGVtX2hlYWRlcnMvbGludXhfc2lnbmFsLmgKLSsrKyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFy dHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9zaWduYWwuaAot QEAgLTExLDcgKzExLDcgQEAKLSAvLyAobm90IHVuZGVmaW5lZCwgYnV0IGRlZmluZWQgZGlmZmVy ZW50IHZhbHVlcyBhbmQgaW4gZGlmZmVyZW50IG1lbW9yeQotIC8vIGxheW91dHMpLiBTbywgZmls bCB0aGUgZ2FwIGhlcmUuCi0gI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZf NjRfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBcCi0tICAgIGRlZmluZWQoX19hYXJjaDY0X18p Ci0rICAgIGRlZmluZWQoX19hYXJjaDY0X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSAK LSAjZGVmaW5lIExJTlVYX1NJR0hVUCAxCi0gI2RlZmluZSBMSU5VWF9TSUdJTlQgMgotZGlmZiAt LWdpdCBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zeXN0 ZW1faGVhZGVycy9saW51eF9zeXNjYWxscy5oIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3N5c2NhbGxzLmgKLWluZGV4 IDc2MWMwOGFiZS4uMjhlYmYyZjRlIDEwMDY0NAotLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3N5c2NhbGxzLmgK LSsrKyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zeXN0 ZW1faGVhZGVycy9saW51eF9zeXNjYWxscy5oCi1AQCAtMzMsNSArMzMsOSBAQAotICNpbmNsdWRl ICJzYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2FybTY0X2xpbnV4X3N5c2NhbGxzLmgiCi0g I2VuZGlmCi0gCi0rI2lmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSsjaW5jbHVkZSAic2FuZGJv eC9saW51eC9zeXN0ZW1faGVhZGVycy9wcGM2NF9saW51eF9zeXNjYWxscy5oIgotKyNlbmRpZgot KwotICNlbmRpZiAgLy8gU0FOREJPWF9MSU5VWF9TWVNURU1fSEVBREVSU19MSU5VWF9TWVNDQUxM U19IXwotIAotZGlmZiAtLWdpdCBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2Fu ZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF91Y29udGV4dC5oIHF0d2ViZW5naW5lL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3Vj b250ZXh0LmgKLWluZGV4IGU5N2Q3Mjc3ZC4uZjNmMDU4NDlhIDEwMDY0NAotLS0tIHF0d2ViZW5n aW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xp bnV4X3Vjb250ZXh0LmgKLSsrKyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2Fu ZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF91Y29udGV4dC5oCi1AQCAtMTksNiArMTks OCBAQAotICNpbmNsdWRlICJzYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL21pcHM2NF9saW51 eF91Y29udGV4dC5oIgotICNlbGlmIGRlZmluZWQoX19hYXJjaDY0X18pCi0gI2luY2x1ZGUgInNh bmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvYXJtNjRfbGludXhfdWNvbnRleHQuaCIKLSsjZWxp ZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0rI2luY2x1ZGUgInNhbmRib3gvbGludXgvc3lzdGVt X2hlYWRlcnMvcHBjNjRfbGludXhfdWNvbnRleHQuaCIKLSAjZWxzZQotICNlcnJvciAiTm8gc3Vw cG9ydCBmb3IgeW91ciBhcmNoaXRlY3R1cmUgaW4gQW5kcm9pZCBvciBQTmFDbCBoZWFkZXIiCi0g I2VuZGlmCi1kaWZmIC0tZ2l0IHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5k Ym94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL3BwYzY0X2xpbnV4X3N5c2NhbGxzLmggcXR3ZWJlbmdp bmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvcHBj NjRfbGludXhfc3lzY2FsbHMuaAotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAw MC4uY2NhY2ZmZTIyCi0tLS0gL2Rldi9udWxsCi0rKysgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvcHBjNjRfbGludXhfc3lzY2Fs bHMuaAotQEAgLTAsMCArMSwxMiBAQAotKy8vIENvcHlyaWdodCAyMDE0IFRoZSBDaHJvbWl1bSBB dXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotKy8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2Rl IGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLSsvLyBmb3Vu ZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotKwotKyNpZm5kZWYgU0FOREJPWF9MSU5VWF9TWVNURU1f SEVBREVSU19QUEM2NF9MSU5VWF9TWVNDQUxMU19IXwotKyNkZWZpbmUgU0FOREJPWF9MSU5VWF9T WVNURU1fSEVBREVSU19QUEM2NF9MSU5VWF9TWVNDQUxMU19IXwotKwotKyNpbmNsdWRlIDxhc20v dW5pc3RkLmg+Ci0rCi0rLy9UT0RPOiBpcyBpdCBuZWNlc3NhcnkgdG8gcmVkZWZpbmUgc3lzY2Fs bCBudW1iZXJzIGZvciBQUEM2ND8KLSsKLSsjZW5kaWYgIC8vIFNBTkRCT1hfTElOVVhfU1lTVEVN X0hFQURFUlNfUFBDNjRfTElOVVhfU1lTQ0FMTFNfSF8KLWRpZmYgLS1naXQgcXR3ZWJlbmdpbmUv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvcHBjNjRf bGludXhfdWNvbnRleHQuaCBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJv eC9saW51eC9zeXN0ZW1faGVhZGVycy9wcGM2NF9saW51eF91Y29udGV4dC5oCi1uZXcgZmlsZSBt b2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwLi4wNzcyOGUwODcKLS0tLSAvZGV2L251bGwKLSsr KyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zeXN0ZW1f aGVhZGVycy9wcGM2NF9saW51eF91Y29udGV4dC5oCi1AQCAtMCwwICsxLDEyIEBACi0rLy8gQ29w eXJpZ2h0IDIwMTQgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0r Ly8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGlj ZW5zZSB0aGF0IGNhbiBiZQotKy8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0rCi0rI2lm bmRlZiBTQU5EQk9YX0xJTlVYX1NZU1RFTV9IRUFERVJTX1BQQzY0X0xJTlVYX1VDT05URVhUX0hf Ci0rI2RlZmluZSBTQU5EQk9YX0xJTlVYX1NZU1RFTV9IRUFERVJTX1BQQzY0X0xJTlVYX1VDT05U RVhUX0hfCi0rCi0rI2luY2x1ZGUgPHN5cy91Y29udGV4dC5oPgotKwotKy8vVE9ETzogaXMgaXQg bmVjZXNzYXJ5IHRvIHJlZGVmaW5lIHVjb250ZXh0IG9uIFBQQzY0PwotKwotKyNlbmRpZiAgLy8g U0FOREJPWF9MSU5VWF9TWVNURU1fSEVBREVSU19QUEM2NF9MSU5VWF9VQ09OVEVYVF9IXwotZGlm ZiAtLWdpdCBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2VydmljZXMvc2Vydmlj ZV9tYW5hZ2VyL3NhbmRib3gvbGludXgvYnBmX3JlbmRlcmVyX3BvbGljeV9saW51eC5jYyBxdHdl YmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2VydmljZXMvc2VydmljZV9tYW5hZ2VyL3Nh bmRib3gvbGludXgvYnBmX3JlbmRlcmVyX3BvbGljeV9saW51eC5jYwotaW5kZXggYmJlYjMxNTJk Li4xNTZjZDBkMjQgMTAwNjQ0Ci0tLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVt L3NlcnZpY2VzL3NlcnZpY2VfbWFuYWdlci9zYW5kYm94L2xpbnV4L2JwZl9yZW5kZXJlcl9wb2xp Y3lfbGludXguY2MKLSsrKyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2Vydmlj ZXMvc2VydmljZV9tYW5hZ2VyL3NhbmRib3gvbGludXgvYnBmX3JlbmRlcmVyX3BvbGljeV9saW51 eC5jYwotQEAgLTE1LDYgKzE1LDExIEBACi0gI2luY2x1ZGUgInNhbmRib3gvbGludXgvc3lzdGVt X2hlYWRlcnMvbGludXhfc3lzY2FsbHMuaCIKLSAjaW5jbHVkZSAic2VydmljZXMvc2VydmljZV9t YW5hZ2VyL3NhbmRib3gvbGludXgvc2FuZGJveF9saW51eC5oIgotIAotKy8vIE9uIFBQQzY0LCBU Q0dFVFMgaXMgZGVmaW5lZCBpbiB0ZXJtcyBvZiBzdHJ1Y3QgdGVybWlvcywgc28gd2UgbXVzdCBp bmNsdWRlIHRlcm1pb3MuaAotKyNpZmRlZiBfX3Bvd2VycGM2NF9fCi0rI2luY2x1ZGUgPHRlcm1p b3MuaD4KLSsjZW5kaWYKLSsKLSAjaWYgZGVmaW5lZChPU19DSFJPTUVPUykKLSAvLyBUT0RPKHZp Z25hdHRpKTogcmVwbGFjZSB0aGUgbG9jYWwgZGVmaW5pdGlvbnMgYmVsb3cgd2l0aCAjaW5jbHVk ZQotIC8vIDxsaW51eC9kbWEtYnVmLmg+IG9uY2Uga2VybmVsIHZlcnNpb24gNC42IGJlY29tZXMg d2lkZWx5IHVzZWQuCi1kaWZmIC0tZ2l0IHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS90aGlyZF9wYXJ0eS9XZWJLaXQvU291cmNlL3BsYXRmb3JtL2hlYXAvSGVhcFBhZ2UuaCBxdHdl YmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvV2ViS2l0L1NvdXJjZS9w bGF0Zm9ybS9oZWFwL0hlYXBQYWdlLmgKLWluZGV4IDIwNjc0NTYzZS4uNDlmNDVmZWRlIDEwMDY0 NAotLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9XZWJL aXQvU291cmNlL3BsYXRmb3JtL2hlYXAvSGVhcFBhZ2UuaAotKysrIHF0d2ViZW5naW5lL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9XZWJLaXQvU291cmNlL3BsYXRmb3JtL2hlYXAv SGVhcFBhZ2UuaAotQEAgLTYyLDExICs2MiwxMiBAQCBjb25zdGV4cHIgc2l6ZV90IGtCbGlua1Bh Z2VCYXNlTWFzayA9IH5rQmxpbmtQYWdlT2Zmc2V0TWFzazsKLSBjb25zdGV4cHIgc2l6ZV90IGtC bGlua1BhZ2VzUGVyUmVnaW9uID0gMTA7Ci0gCi0gLy8gVE9ETyhueWEpOiBSZXBsYWNlIHRoaXMg d2l0aCBzb21ldGhpbmcgbGlrZSAjaWYgRU5BQkxFX05BQ0wuCi0tI2lmIDAKLSsjaWYgZGVmaW5l ZChBUkNIX0NQVV9QUEM2NCkKLSAvLyBOYUNsJ3Mgc3lzdGVtIHBhZ2Ugc2l6ZSBpcyA2NCBLaUIu IFRoaXMgY2F1c2VzIGEgcHJvYmxlbSBpbiBPaWxwYW4ncyBoZWFwCi0gLy8gbGF5b3V0IGJlY2F1 c2UgT2lscGFuIGFsbG9jYXRlcyB0d28gZ3VhcmQgcGFnZXMgZm9yIGVhY2ggQmxpbmsgcGFnZSAo d2hvc2UKLSAvLyBzaXplIGlzIGtCbGlua1BhZ2VTaXplID0gMl4xNyA9IDEyOCBLaUIpLiBTbyB3 ZSBkb24ndCB1c2UgZ3VhcmQgcGFnZXMgaW4KLSAvLyBOYUNsLgotKy8vIFRoZSBzYW1lIGlzc3Vl IGhvbGRzIGZvciBwcGM2NCBzeXN0ZW1zLCB3aGljaCB1c2UgYSA2NGsgcGFnZSBzaXplLgotIGNv bnN0ZXhwciBzaXplX3Qga0JsaW5rR3VhcmRQYWdlU2l6ZSA9IDA7Ci0gI2Vsc2UKLSBjb25zdGV4 cHIgc2l6ZV90IGtCbGlua0d1YXJkUGFnZVNpemUgPSBiYXNlOjprU3lzdGVtUGFnZVNpemU7Ci1k aWZmIC0tZ2l0IHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9X ZWJLaXQvU291cmNlL3BsYXRmb3JtL2hlYXAvYXNtL0JVSUxELmduIHF0d2ViZW5naW5lL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9XZWJLaXQvU291cmNlL3BsYXRmb3JtL2hlYXAv YXNtL0JVSUxELmduCi1pbmRleCA2Yzg3OTUwZjQuLmEyZmFiMzJiMyAxMDA2NDQKLS0tLSBxdHdl YmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvV2ViS2l0L1NvdXJjZS9w bGF0Zm9ybS9oZWFwL2FzbS9CVUlMRC5nbgotKysrIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS90aGlyZF9wYXJ0eS9XZWJLaXQvU291cmNlL3BsYXRmb3JtL2hlYXAvYXNtL0JVSUxE LmduCi1AQCAtNDYsNiArNDYsMTAgQEAgaWYgKGN1cnJlbnRfY3B1ID09ICJ4ODYiIHx8IGN1cnJl bnRfY3B1ID09ICJ4NjQiKSB7Ci0gICAgICAgc291cmNlcyA9IFsKLSAgICAgICAgICJTYXZlUmVn aXN0ZXJzX21pcHM2NC5TIiwKLSAgICAgICBdCi0rICAgIH0gZWxzZSBpZiAoY3VycmVudF9jcHUg PT0gInBwYzY0IikgewotKyAgICAgIHNvdXJjZXMgPSBbCi0rICAgICAgICAiU2F2ZVJlZ2lzdGVy c19wcGM2NC5TIiwKLSsgICAgICBdCi0gICAgIH0KLSAKLSAgICAgaWYgKGN1cnJlbnRfY3B1ID09 ICJhcm0iKSB7Ci1kaWZmIC0tZ2l0IHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90 aGlyZF9wYXJ0eS9XZWJLaXQvU291cmNlL3BsYXRmb3JtL2hlYXAvYXNtL1NhdmVSZWdpc3RlcnNf cHBjNjQuUyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvV2Vi S2l0L1NvdXJjZS9wbGF0Zm9ybS9oZWFwL2FzbS9TYXZlUmVnaXN0ZXJzX3BwYzY0LlMKLW5ldyBm aWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAuLmVjZDEzOWFlMQotLS0tIC9kZXYvbnVs bAotKysrIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9XZWJL aXQvU291cmNlL3BsYXRmb3JtL2hlYXAvYXNtL1NhdmVSZWdpc3RlcnNfcHBjNjQuUwotQEAgLTAs MCArMSw1OSBAQAotKy8qCi0rICogdHlwZWRlZiB2b2lkICgqUHVzaEFsbFJlZ2lzdGVyc0NhbGxi YWNrKShTYWZlUG9pbnRCYXJyaWVyKiwgVGhyZWFkU3RhdGUqLCBpbnRwdHJfdCopOwotKyAqIGV4 dGVybiAiQyIgdm9pZCBQdXNoQWxsUmVnaXN0ZXJzKFNhZmVQb2ludEJhcnJpZXIqLCBUaHJlYWRT dGF0ZSosIFB1c2hBbGxSZWdpc3RlcnNDYWxsYmFjaykKLSsgKi8KLSsKLSsudHlwZSBQdXNoQWxs UmVnaXN0ZXJzLCAlZnVuY3Rpb24KLSsuZ2xvYmFsIFB1c2hBbGxSZWdpc3RlcnMKLSsuaGlkZGVu IFB1c2hBbGxSZWdpc3RlcnMKLStQdXNoQWxsUmVnaXN0ZXJzOgotKyAgICAgICAgLy8gUHVzaCBh bGwgY2FsbGVlLXNhdmVzIHJlZ2lzdGVycyB0byBnZXQgdGhlbQotKyAgICAgICAgLy8gb24gdGhl IHN0YWNrIGZvciBjb25zZXJ2YXRpdmUgc3RhY2sgc2Nhbm5pbmcuCi0rICAgICAgICAvLyBSZXNl cnZlIHNwYWNlIGZvciBjYWxsZWUtc2F2ZWQgcmVnaXN0ZXJzIGFuZCBtaW5pbWFsIHN0YWNrIGZy YW1lLgotKyAgICAgICAgbWZsciAwICAgICAgICAgIyByMCA9IExSCi0rICAgICAgICBzdGQgMCwx NigxKSAgICAjIHN0b3JlIExSIGF0IGFkZHIgc3ArMTYKLSsgICAgICAgIHN0ZHUgMSwtMTc2KDEp ICMgZ3JvdyBzdGFjayBieSAxNzYgYnl0ZXMgYW5kIHN0b3JlIG5ldyBzdGFjayB0b3AgcHRyIHRv IHIxCi0rICAgICAgICAgICAgIyAzMjE4KjggPSBtaW4gc3RhY2sgIG5vbi12b2xhdGlsZSByZWdp c3RlcnMKLSsKLSsgICAgICAgIC8vIFNhdmUgdGhlIGNhbGxlZS1zYXZlZCByZWdpc3RlcnMKLSsg ICAgICAgIHN0ZCAzMSwxNjgoMSkgICMgc3RvcmUgcjMxIHRvIGFkZHIgc3ArMTY4IAotKyAgICAg ICAgc3RkIDMwLDE2MCgxKSAgIyBldGMuLi4KLSsgICAgICAgIHN0ZCAyOSwxNTIoMSkKLSsgICAg ICAgIHN0ZCAyOCwxNDQoMSkKLSsgICAgICAgIHN0ZCAyNywxMzYoMSkKLSsgICAgICAgIHN0ZCAy NiwxMjgoMSkKLSsgICAgICAgIHN0ZCAyNSwxMjAoMSkKLSsgICAgICAgIHN0ZCAyNCwxMTIoMSkK LSsgICAgICAgIHN0ZCAyMywxMDQoMSkKLSsgICAgICAgIHN0ZCAyMiw5NigxKQotKyAgICAgICAg c3RkIDIxLDg4KDEpCi0rICAgICAgICBzdGQgMjAsODAoMSkKLSsgICAgICAgIHN0ZCAxOSw3Migx KQotKyAgICAgICAgc3RkIDE4LDY0KDEpCi0rICAgICAgICBzdGQgMTcsNTYoMSkKLSsgICAgICAg IHN0ZCAxNiw0OCgxKQotKyAgICAgICAgc3RkIDE1LDQwKDEpCi0rICAgICAgICBzdGQgMTQsMzIo MSkKLSsgICAgICAgIAotKyAgICAgICAgLy8gTm90ZTogdGhlIGNhbGxlZS1zYXZlZCBmbG9hdGlu ZyBwb2ludCByZWdpc3RlcnMgZG8gbm90IG5lZWQgdG8gYmUKLSsgICAgICAgIC8vIGNvcGllZCB0 byB0aGUgc3RhY2ssIGJlY2F1c2UgZnAgcmVnaXN0ZXJzIG5ldmVyIGhvbGQgaGVhcCBwb2ludGVy cwotKyAgICAgICAgLy8gYW5kIHNvIGRvIG5vdCBuZWVkIHRvIGJlIGtlcHQgdmlzaWJsZSB0byB0 aGUgZ2FyYmFnZSBjb2xsZWN0b3IuCi0rICAgICAgICAKLSsgICAgICAgIC8vIFBhc3MgdGhlIHR3 byBmaXJzdCBhcmd1bWVudHMgdW50b3VjaGVkIGluIHIzIGFuZCByNCBhbmQgdGhlCi0rICAgICAg ICAvLyBzdGFjayBwb2ludGVyIHRvIHRoZSBjYWxsYmFjay4KLSsKLSsgICAgICAgIHN0ZCAyLCAy NCgxKSAgICMgc2F2ZSByMiB0byBzcCsyNCBhZGRyCi0rICAgICAgICBtdGN0ciA1ICAgICAgICAj IGNvcHkgM3JkIGZ1bmN0aW9uIGFyZyAoY2FsbGJhY2sgZm4gcG9pbnRlcikgdG8gQ1RSCi0rICAg ICAgICBtciAxMiwgNSAgICAgICAjIHIxMiBtdXN0IGhvbGQgYWRkcmVzcyBvZiBjYWxsYmFjayB3 ZSBhcmUgZ29pbmcgdG8gY2FsbCAKLSsgICAgICAgICAgICAgICAgICAgICAgICMgIGZvciBwb3Np dGlvbi1pZGVwZW5kZW50IGZ1bmN0aW9ucyBpbnNpZGUgdGhlIGNhbGxiYWNrIHRvIHdvcmsKLSsg ICAgICAgIG1yIDUsIDEgICAgICAgICMgc2V0IGN1cnJlbnQgc3AgKHN0YWNrIHRvcCkgYXMgM3Jk IGFyZ3VtZW50IGZvciB0aGUgY2FsbGJhY2sKLSsgICAgICAgIGJjdHJsICAgICAgICAgICMgc2V0 IExSIHRvIFBDKzQgYW5kIGNhbGwgdGhlIGNhbGxiYWNrCi0rICAgICAgICBsZCAyLCAyNCgxKSAg ICAjIHJlc3RvcmUgcjIgZnJvbSBzcCsyNCBhZGRyCi0rCi0rICAgICAgICAvLyBBZGp1c3Qgc3Rh Y2ssIHJlc3RvcmUgcmV0dXJuIGFkZHJlc3MgYW5kIHJldHVybi4KLSsgICAgICAgIC8vIE5vdGU6 IHRoZSBjb3BpZWQgcmVnaXN0ZXJzIGRvIG5vdCBuZWVkIHRvIGJlIHJlbG9hZGVkIGhlcmUsCi0r ICAgICAgICAvLyBiZWNhdXNlIHRoZXkgd2VyZSBwcmVzZXJ2ZWQgYnkgdGhlIGNhbGxlZCByb3V0 aW5lLgotKyAgICAgICAgYWRkaSAxLDEsMTc2ICAgIyByZXN0b3JlIG9yaWdpbmFsIFNQIGJ5IGRv aW5nIHNwICs9IDE3NgotKyAgICAgICAgbGQgMCwxNigxKSAgICAgIyByZXN0b3JlIG9yaWdpbmFs IExSIGZyb20gYWRkciBzcCsxNgotKyAgICAgICAgbXRsciAwICAgICAgICAgIyAuLi4gY29weSBp dCB0byB0aGUgYWN0dWFsIExSCi0rICAgICAgICBibHIgICAgICAgICAgICAjIHJldHVybiB0byBM UiBhZGRyCi1kaWZmIC0tZ2l0IHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGly ZF9wYXJ0eS9XZWJLaXQvU291cmNlL3BsYXRmb3JtL3d0Zi9kdG9hL3V0aWxzLmggcXR3ZWJlbmdp bmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L1dlYktpdC9Tb3VyY2UvcGxhdGZv cm0vd3RmL2R0b2EvdXRpbHMuaAotaW5kZXggN2YxYjFjNmNhLi42NWFkYzBlNmQgMTAwNjQ0Ci0t LS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L1dlYktpdC9T b3VyY2UvcGxhdGZvcm0vd3RmL2R0b2EvdXRpbHMuaAotKysrIHF0d2ViZW5naW5lL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9XZWJLaXQvU291cmNlL3BsYXRmb3JtL3d0Zi9kdG9h L3V0aWxzLmgKLUBAIC00NSw3ICs0NSw3IEBACi0gLy8gZGlzYWJsZWQuKQotIC8vIE9uIExpbnV4 LHg4NiA4OTI1NWUtMjIgIT0gRGl2X2RvdWJsZSg4OTI1NS4wLzFlMjIpCi0gI2lmIGRlZmluZWQo X01fWDY0KSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19BUk1FTF9fKSB8fCBc Ci0tICAgIGRlZmluZWQoX19hYXJjaDY0X18pIHx8IGRlZmluZWQoX19NSVBTRUxfXykKLSsgICAg ZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX01JUFNFTF9fKSB8fCBkZWZpbmVkKF9f cG93ZXJwYzY0X18pCi0gI2RlZmluZSBET1VCTEVfQ09OVkVSU0lPTl9DT1JSRUNUX0RPVUJMRV9P UEVSQVRJT05TIDEKLSAjZWxpZiBkZWZpbmVkKF9NX0lYODYpIHx8IGRlZmluZWQoX19pMzg2X18p Ci0gI2lmIGRlZmluZWQoX1dJTjMyKQotZGlmZiAtLWdpdCBxdHdlYmVuZ2luZS9zcmMvM3JkcGFy dHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYW5nbGUvc3JjL2xpYkFOR0xFL0NvbnN0YW50cy5oIHF0 d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9hbmdsZS9zcmMvbGli QU5HTEUvQ29uc3RhbnRzLmgKLWluZGV4IDJmZTkyMWFmMy4uMGEwYmZlNDQyIDEwMDY0NAotLS0t IHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9hbmdsZS9zcmMv bGliQU5HTEUvQ29uc3RhbnRzLmgKLSsrKyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21p dW0vdGhpcmRfcGFydHkvYW5nbGUvc3JjL2xpYkFOR0xFL0NvbnN0YW50cy5oCi1AQCAtOSw2ICs5 LDcgQEAKLSAjaWZuZGVmIExJQkFOR0xFX0NPTlNUQU5UU19IXwotICNkZWZpbmUgTElCQU5HTEVf Q09OU1RBTlRTX0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRkZWY+Ci0gI2luY2x1ZGUgImNvbW1vbi9w bGF0Zm9ybS5oIgotIAotIG5hbWVzcGFjZSBnbAotZGlmZiAtLWdpdCBxdHdlYmVuZ2luZS9zcmMv M3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVu dC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vcmF3X2NvbnRleHRfY3B1LmggcXR3ZWJlbmdpbmUv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9j bGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3Jhd19jb250ZXh0X2NwdS5oCi1pbmRleCBl MmVmNDVkZjUuLmUyOTViZDc2YiAxMDA2NDQKLS0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkv Y2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9k dW1wX3dyaXRlcl9jb21tb24vcmF3X2NvbnRleHRfY3B1LmgKLSsrKyBxdHdlYmVuZ2luZS9zcmMv M3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVu dC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vcmF3X2NvbnRleHRfY3B1LmgKLUBAIC00NCw2ICs0 NCw4IEBAIHR5cGVkZWYgTURSYXdDb250ZXh0QVJNIFJhd0NvbnRleHRDUFU7Ci0gdHlwZWRlZiBN RFJhd0NvbnRleHRBUk02NCBSYXdDb250ZXh0Q1BVOwotICNlbGlmIGRlZmluZWQoX19taXBzX18p Ci0gdHlwZWRlZiBNRFJhd0NvbnRleHRNSVBTIFJhd0NvbnRleHRDUFU7Ci0rI2VsaWYgZGVmaW5l ZChfX3Bvd2VycGM2NF9fKQotK3R5cGVkZWYgTURSYXdDb250ZXh0UFBDNjQgUmF3Q29udGV4dENQ VTsKLSAjZWxzZQotICNlcnJvciAiVGhpcyBjb2RlIGhhcyBub3QgYmVlbiBwb3J0ZWQgdG8geW91 ciBwbGF0Zm9ybSB5ZXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBxdHdlYmVuZ2luZS9zcmMvM3Jk cGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9s aW51eC9kdW1wX3dyaXRlcl9jb21tb24vdGhyZWFkX2luZm8uY2MgcXR3ZWJlbmdpbmUvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQv bGludXgvZHVtcF93cml0ZXJfY29tbW9uL3RocmVhZF9pbmZvLmNjCi1pbmRleCAwYTEwNDFkNjIu LmQyYTdiMzM5NCAxMDA2NDQKLS0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0v dGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRl cl9jb21tb24vdGhyZWFkX2luZm8uY2MKLSsrKyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hy b21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1w X3dyaXRlcl9jb21tb24vdGhyZWFkX2luZm8uY2MKLUBAIC0yNzAsNyArMjcwLDQyIEBAIHZvaWQg VGhyZWFkSW5mbzo6RmlsbENQVUNvbnRleHQoUmF3Q29udGV4dENQVSogb3V0KSBjb25zdCB7Ci0g ICBvdXQtPmZsb2F0X3NhdmUuZmlyID0gbWNvbnRleHQuZnBjX2VpcjsKLSAjZW5kaWYKLSB9Ci0t I2VuZGlmICAvLyBfX21pcHNfXwotKwotKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSsK LSt1aW50cHRyX3QgVGhyZWFkSW5mbzo6R2V0SW5zdHJ1Y3Rpb25Qb2ludGVyKCkgY29uc3Qgewot KyAgICByZXR1cm4gbWNvbnRleHQuZ3BfcmVnc1tQVF9OSVBdOwotK30KLSsKLSt2b2lkIFRocmVh ZEluZm86OkZpbGxDUFVDb250ZXh0KFJhd0NvbnRleHRDUFUqIG91dCkgY29uc3QgewotKyAgICBv dXQtPmNvbnRleHRfZmxhZ3MgPSBNRF9DT05URVhUX1BQQzY0X0ZVTEw7Ci0rICAgIGZvciAoaW50 IGkgPSAwOyBpIDwgTURfQ09OVEVYVF9QUEM2NF9HUFJfQ09VTlQ7IGkrKykKLSsgICAgICAgIG91 dC0+Z3ByW2ldID0gbWNvbnRleHQuZ3BfcmVnc1tpXTsKLSsKLSsgICAgb3V0LT5sciA9IG1jb250 ZXh0LmdwX3JlZ3NbUFRfTE5LXTsKLSsgICAgb3V0LT5zcnIwID0gbWNvbnRleHQuZ3BfcmVnc1tQ VF9OSVBdOwotKyAgICBvdXQtPnNycjEgPSBtY29udGV4dC5ncF9yZWdzW1BUX01TUl07Ci0rICAg IG91dC0+Y3IgPSBtY29udGV4dC5ncF9yZWdzW1BUX0NDUl07Ci0rICAgIG91dC0+eGVyID0gbWNv bnRleHQuZ3BfcmVnc1tQVF9YRVJdOwotKyAgICBvdXQtPmN0ciA9IG1jb250ZXh0LmdwX3JlZ3Nb UFRfQ1RSXTsKLSsgICAgCi0rICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTURfRkxPQVRJTkdTQVZF QVJFQV9QUENfRlBSX0NPVU5UOyBpKyspCi0rICAgICAgICBvdXQtPmZsb2F0X3NhdmUuZnByZWdz W2ldID0gbWNvbnRleHQuZnBfcmVnc1tpXTsKLSsKLSsgICAgb3V0LT5mbG9hdF9zYXZlLmZwc2Ny ID0gbWNvbnRleHQuZnBfcmVnc1tORlBSRUctMV07Ci0rCi0rICAgIGZvciAoaW50IGkgPSAwOyBp IDwgTURfVkVDVE9SU0FWRUFSRUFfUFBDX1ZSX0NPVU5UOyBpKyspCi0rICAgICAgICBvdXQtPnZl Y3Rvcl9zYXZlLnNhdmVfdnJbaV0gPSBcCi0rICAgICAgICAgICAgeygoKHVpbnQ2NF90KXZyZWdz LnZycmVnc1tpXVswXSkgPDwgMzIpIAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgfCB2cmVn cy52cnJlZ3NbaV1bMV0sIAotKyAgICAgICAgICAgICgoKHVpbnQ2NF90KXZyZWdzLnZycmVnc1tp XVsyXSkgPDwgMzIpCi0rICAgICAgICAgICAgICAgICAgICAgICAgIHwgdnJlZ3MudnJyZWdzW2ld WzNdfTsKLSsKLSsgICAgb3V0LT52cnNhdmUgPSB2cmVncy52cnNhdmU7Ci0rICAgIG91dC0+dmVj dG9yX3NhdmUuc2F2ZV92c2NyID0gezAsIHZyZWdzLnZzY3IudnNjcl93b3JkfTsKLSsgICAgb3V0 LT52ZWN0b3Jfc2F2ZS5zYXZlX3ZydmFsaWQgPSAweEZGRkZGRkZGOyAKLSt9Ci0rI2VuZGlmICAv LyBfX3Bvd2VycGM2NF9fCi0gCi0gdm9pZCBUaHJlYWRJbmZvOjpHZXRHZW5lcmFsUHVycG9zZVJl Z2lzdGVycyh2b2lkKiogZ3BfcmVncywgc2l6ZV90KiBzaXplKSB7Ci0gICBhc3NlcnQoZ3BfcmVn cyB8fCBzaXplKTsKLUBAIC0yNzksNiArMzE0LDExIEBAIHZvaWQgVGhyZWFkSW5mbzo6R2V0R2Vu ZXJhbFB1cnBvc2VSZWdpc3RlcnModm9pZCoqIGdwX3JlZ3MsIHNpemVfdCogc2l6ZSkgewotICAg ICAqZ3BfcmVncyA9IG1jb250ZXh0LmdyZWdzOwotICAgaWYgKHNpemUpCi0gICAgICpzaXplID0g c2l6ZW9mKG1jb250ZXh0LmdyZWdzKTsKLSsjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0r ICBpZiAoZ3BfcmVncykKLSsgICAgKmdwX3JlZ3MgPSBtY29udGV4dC5ncF9yZWdzOwotKyAgaWYg KHNpemUpCi0rICAgICpzaXplID0gc2l6ZW9mKG1jb250ZXh0LmdwX3JlZ3MpOwotICNlbHNlCi0g ICBpZiAoZ3BfcmVncykKLSAgICAgKmdwX3JlZ3MgPSAmcmVnczsKLUBAIC0yOTQsNiArMzM0LDEx IEBAIHZvaWQgVGhyZWFkSW5mbzo6R2V0RmxvYXRpbmdQb2ludFJlZ2lzdGVycyh2b2lkKiogZnBf cmVncywgc2l6ZV90KiBzaXplKSB7Ci0gICAgICpmcF9yZWdzID0gJm1jb250ZXh0LmZwcmVnczsK LSAgIGlmIChzaXplKQotICAgICAqc2l6ZSA9IHNpemVvZihtY29udGV4dC5mcHJlZ3MpOwotKyNl bGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSsgIGlmIChmcF9yZWdzKQotKyAgICAqZnBfcmVn cyA9ICZtY29udGV4dC5mcF9yZWdzOwotKyAgaWYgKHNpemUpCi0rICAgICpzaXplID0gc2l6ZW9m KG1jb250ZXh0LmZwX3JlZ3MpOwotICNlbHNlCi0gICBpZiAoZnBfcmVncykKLSAgICAgKmZwX3Jl Z3MgPSAmZnByZWdzOwotQEAgLTMwMiw0ICszNDcsMTMgQEAgdm9pZCBUaHJlYWRJbmZvOjpHZXRG bG9hdGluZ1BvaW50UmVnaXN0ZXJzKHZvaWQqKiBmcF9yZWdzLCBzaXplX3QqIHNpemUpIHsKLSAj ZW5kaWYKLSB9Ci0gCi0rI2lmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSt2b2lkIFRocmVhZElu Zm86OkdldFZlY3RvclJlZ2lzdGVycyh2b2lkKiogdl9yZWdzLCBzaXplX3QqIHNpemUpIHsKLSsg ICAgaWYgKHZfcmVncykKLSsgICAgICAgICp2X3JlZ3MgPSAmdnJlZ3M7Ci0rICAgIGlmIChzaXpl KQotKyAgICAgICAgKnNpemUgPSBzaXplb2YodnJlZ3MpOwotK30KLSsjZW5kaWYKLSsKLSB9ICAv LyBuYW1lc3BhY2UgZ29vZ2xlX2JyZWFrcGFkCi1kaWZmIC0tZ2l0IHF0d2ViZW5naW5lL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50 L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi90aHJlYWRfaW5mby5oIHF0d2ViZW5naW5lL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50 L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi90aHJlYWRfaW5mby5oCi1pbmRleCBmYjIxNmZhNmQu LmZiNjY5MTI2ZiAxMDA2NDQKLS0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0v dGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRl cl9jb21tb24vdGhyZWFkX2luZm8uaAotKysrIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBf d3JpdGVyX2NvbW1vbi90aHJlYWRfaW5mby5oCi1AQCAtNjgsNiArNjgsMTAgQEAgc3RydWN0IFRo cmVhZEluZm8gewotICAgLy8gVXNlIHRoZSBzdHJ1Y3R1cmVzIGRlZmluZWQgaW4gPHN5cy91c2Vy Lmg+Ci0gICBzdHJ1Y3QgdXNlcl9yZWdzX3N0cnVjdCByZWdzOwotICAgc3RydWN0IHVzZXJfZnBz aW1kX3N0cnVjdCBmcHJlZ3M7Ci0rI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotKyAgLy8g VXNlIHRoZSBzdHJ1Y3R1cmVzIGRlZmluZWQgaW4gPHN5cy91Y29udGV4dC5oPi4KLSsgIG1jb250 ZXh0X3QgbWNvbnRleHQ7Ci0rICBzdHJ1Y3QgX2xpYmNfdnJzdGF0ZSB2cmVnczsKLSAjZWxpZiBk ZWZpbmVkKF9fbWlwc19fKQotICAgLy8gVXNlIHRoZSBzdHJ1Y3R1cmUgZGVmaW5lZCBpbiA8c3lz L3Vjb250ZXh0Lmg+LgotICAgbWNvbnRleHRfdCBtY29udGV4dDsKLUBAIC04NCw2ICs4OCwxMSBA QCBzdHJ1Y3QgVGhyZWFkSW5mbyB7Ci0gCi0gICAvLyBSZXR1cm5zIHRoZSBwb2ludGVyIGFuZCBz aXplIG9mIGZsb2F0IHBvaW50IHJlZ2lzdGVyIGFyZWEuCi0gICB2b2lkIEdldEZsb2F0aW5nUG9p bnRSZWdpc3RlcnModm9pZCoqIGZwX3JlZ3MsIHNpemVfdCogc2l6ZSk7Ci0rCi0rI2lmIGRlZmlu ZWQoX19wb3dlcnBjNjRfXykKLSsgIC8vIFJldHVybnMgdGhlIHBvaW50ZXIgYW5kIHNpemUgb2Yg dGhlIHZlY3RvciByZWdpc3RlciBhcmVhLiAoUFBDNjQgb25seSkKLSsgIHZvaWQgR2V0VmVjdG9y UmVnaXN0ZXJzKHZvaWQqKiB2X3JlZ3MsIHNpemVfdCogc2l6ZSk7Ci0rI2VuZGlmCi0gfTsKLSAK LSB9ICAvLyBuYW1lc3BhY2UgZ29vZ2xlX2JyZWFrcGFkCi1kaWZmIC0tZ2l0IHF0d2ViZW5naW5l L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMv Y2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91Y29udGV4dF9yZWFkZXIuY2MgcXR3ZWJl bmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFk L3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3Vjb250ZXh0X3JlYWRlci5jYwot aW5kZXggOTViMGZiNDRlLi44MmI0MjhmYTkgMTAwNjQ0Ci0tLS0gcXR3ZWJlbmdpbmUvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQv bGludXgvZHVtcF93cml0ZXJfY29tbW9uL3Vjb250ZXh0X3JlYWRlci5jYwotKysrIHF0d2ViZW5n aW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9z cmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91Y29udGV4dF9yZWFkZXIuY2MKLUBA IC0yNTQsNiArMjU0LDQ4IEBAIHZvaWQgVUNvbnRleHRSZWFkZXI6OkZpbGxDUFVDb250ZXh0KFJh d0NvbnRleHRDUFUgKm91dCwgY29uc3QgdWNvbnRleHRfdCAqdWMpIHsKLSAgIG91dC0+ZmxvYXRf c2F2ZS5maXIgPSB1Yy0+dWNfbWNvbnRleHQuZnBjX2VpcjsgIC8vIFVudXNlZC4KLSAjZW5kaWYK LSB9Ci0rCi0rI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotKwotK3VpbnRwdHJfdCBVQ29u dGV4dFJlYWRlcjo6R2V0U3RhY2tQb2ludGVyKGNvbnN0IHVjb250ZXh0X3QqIHVjKSB7Ci0rICAg IHJldHVybiB1Yy0+dWNfbWNvbnRleHQuZ3BfcmVnc1tNRF9DT05URVhUX1BQQzY0X1JFR19TUF07 Ci0rfQotKwotK3VpbnRwdHJfdCBVQ29udGV4dFJlYWRlcjo6R2V0SW5zdHJ1Y3Rpb25Qb2ludGVy KGNvbnN0IHVjb250ZXh0X3QqIHVjKSB7Ci0rICAgIHJldHVybiB1Yy0+dWNfbWNvbnRleHQuZ3Bf cmVnc1tQVF9OSVBdOwotK30KLSsKLSt2b2lkIFVDb250ZXh0UmVhZGVyOjpGaWxsQ1BVQ29udGV4 dChSYXdDb250ZXh0Q1BVKiBvdXQsIGNvbnN0IHVjb250ZXh0X3QqIHVjLAotKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBfbGliY192cnN0YXRlKiB2cmVn cykgewotKyAgICBvdXQtPmNvbnRleHRfZmxhZ3MgPSBNRF9DT05URVhUX1BQQzY0X0ZVTEw7Ci0r Ci0rICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTURfQ09OVEVYVF9QUEM2NF9HUFJfQ09VTlQ7IGkr KykKLSsgICAgICAgIG91dC0+Z3ByW2ldID0gdWMtPnVjX21jb250ZXh0LmdwX3JlZ3NbaV07Ci0r Ci0rICAgIG91dC0+bHIgPSB1Yy0+dWNfbWNvbnRleHQuZ3BfcmVnc1tQVF9MTktdOyAgICAKLSsg ICAgb3V0LT5zcnIwID0gdWMtPnVjX21jb250ZXh0LmdwX3JlZ3NbUFRfTklQXTsKLSsgICAgb3V0 LT5zcnIxID0gdWMtPnVjX21jb250ZXh0LmdwX3JlZ3NbUFRfTVNSXTsKLSsgICAgb3V0LT5jciA9 IHVjLT51Y19tY29udGV4dC5ncF9yZWdzW1BUX0NDUl07Ci0rICAgIG91dC0+eGVyID0gdWMtPnVj X21jb250ZXh0LmdwX3JlZ3NbUFRfWEVSXTsKLSsgICAgb3V0LT5jdHIgPSB1Yy0+dWNfbWNvbnRl eHQuZ3BfcmVnc1tQVF9DVFJdOwotKyAgICAKLSsgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBNRF9G TE9BVElOR1NBVkVBUkVBX1BQQ19GUFJfQ09VTlQ7IGkrKykKLSsgICAgICAgIG91dC0+ZmxvYXRf c2F2ZS5mcHJlZ3NbaV0gPSB1Yy0+dWNfbWNvbnRleHQuZnBfcmVnc1tpXTsKLSsKLSsgICAgb3V0 LT5mbG9hdF9zYXZlLmZwc2NyID0gdWMtPnVjX21jb250ZXh0LmZwX3JlZ3NbTkZQUkVHLTFdOwot KwotKyAgICBmb3IgKGludCBpID0gMDsgaSA8IE1EX1ZFQ1RPUlNBVkVBUkVBX1BQQ19WUl9DT1VO VDsgaSsrKQotKyAgICAgICAgb3V0LT52ZWN0b3Jfc2F2ZS5zYXZlX3ZyW2ldID0KLSsgICAgICAg ICAgICB7KCgodWludDY0X3QpdnJlZ3MtPnZycmVnc1tpXVswXSkgPDwgMzIpIAotKyAgICAgICAg ICAgICAgICAgICAgICAgICB8IHZyZWdzLT52cnJlZ3NbaV1bMV0sIAotKyAgICAgICAgICAgICAo KCh1aW50NjRfdCl2cmVncy0+dnJyZWdzW2ldWzJdKSA8PCAzMikKLSsgICAgICAgICAgICAgICAg ICAgICAgICAgfCB2cmVncy0+dnJyZWdzW2ldWzNdfTsKLSsKLSsgICAgb3V0LT52cnNhdmUgPSB2 cmVncy0+dnJzYXZlOwotKyAgICBvdXQtPnZlY3Rvcl9zYXZlLnNhdmVfdnNjciA9IHswLCB2cmVn cy0+dnNjci52c2NyX3dvcmR9OwotKyAgICBvdXQtPnZlY3Rvcl9zYXZlLnNhdmVfdnJ2YWxpZCA9 IDB4RkZGRkZGRkY7IAotK30KLSsKLSAjZW5kaWYKLSAKLSB9ICAvLyBuYW1lc3BhY2UgZ29vZ2xl X2JyZWFrcGFkCi1kaWZmIC0tZ2l0IHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90 aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVy X2NvbW1vbi91Y29udGV4dF9yZWFkZXIuaCBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21p dW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1wX3dy aXRlcl9jb21tb24vdWNvbnRleHRfcmVhZGVyLmgKLWluZGV4IGYzZGRlMWY0ZC4uNWMxZjE2ZTU2 IDEwMDY0NAotLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0 eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91 Y29udGV4dF9yZWFkZXIuaAotKysrIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90 aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVy X2NvbW1vbi91Y29udGV4dF9yZWFkZXIuaAotQEAgLTU0LDYgKzU0LDkgQEAgc3RydWN0IFVDb250 ZXh0UmVhZGVyIHsKLSAjZWxpZiBkZWZpbmVkKF9fYWFyY2g2NF9fKQotICAgc3RhdGljIHZvaWQg RmlsbENQVUNvbnRleHQoUmF3Q29udGV4dENQVSAqb3V0LCBjb25zdCB1Y29udGV4dF90ICp1YywK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBmcHNpbWRfY29udGV4 dCogZnByZWdzKTsKLSsjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0rICBzdGF0aWMgdm9p ZCBGaWxsQ1BVQ29udGV4dChSYXdDb250ZXh0Q1BVICpvdXQsIGNvbnN0IHVjb250ZXh0X3QgKnVj LAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IF9saWJjX3Zyc3Rh dGUqIHZyZWdzKTsKLSAjZWxzZQotICAgc3RhdGljIHZvaWQgRmlsbENQVUNvbnRleHQoUmF3Q29u dGV4dENQVSAqb3V0LCBjb25zdCB1Y29udGV4dF90ICp1Yyk7Ci0gI2VuZGlmCi1kaWZmIC0tZ2l0 IHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9i cmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0aW9uX2hhbmRsZXIuY2MgcXR3 ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFr cGFkL3NyYy9jbGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlci5jYwotaW5kZXgg MzAzZThlZGI5Li44ODc0YjM4OGEgMTAwNjQ0Ci0tLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgv aGFuZGxlci9leGNlcHRpb25faGFuZGxlci5jYwotKysrIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4 L2hhbmRsZXIvZXhjZXB0aW9uX2hhbmRsZXIuY2MKLUBAIC00NjAsOSArNDYwLDE2IEBAIGJvb2wg RXhjZXB0aW9uSGFuZGxlcjo6SGFuZGxlU2lnbmFsKGludCAvKnNpZyovLCBzaWdpbmZvX3QqIGlu Zm8sIHZvaWQqIHVjKSB7Ci0gICAgIG1lbWNweSgmZ19jcmFzaF9jb250ZXh0Xy5mbG9hdF9zdGF0 ZSwgZnBfcHRyLAotICAgICAgICAgICAgc2l6ZW9mKGdfY3Jhc2hfY29udGV4dF8uZmxvYXRfc3Rh dGUpKTsKLSAgIH0KLSsjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0rICAvLyBPbiBQUEM2 NCwgd2UgbXVzdCBjb3B5IFZSIHN0YXRlCi0rICB1Y29udGV4dF90KiB1Y19wdHIgPSAodWNvbnRl eHRfdCopdWM7Ci0rICBpZiAodWNfcHRyLT51Y19tY29udGV4dC52X3JlZ3MpIHsKLSsgICAgbWVt Y3B5KCZnX2NyYXNoX2NvbnRleHRfLnZlY3Rvcl9zdGF0ZSwgdWNfcHRyLT51Y19tY29udGV4dC52 X3JlZ3MsCi0rICAgICAgICAgICBzaXplb2YoZ19jcmFzaF9jb250ZXh0Xy52ZWN0b3Jfc3RhdGUp KTsKLSsgIH0KLSAjZWxpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pICYmICFkZWZpbmVkKF9fbWlw c19fKQotICAgLy8gRlAgc3RhdGUgaXMgbm90IHBhcnQgb2YgdXNlciBBQkkgb24gQVJNIExpbnV4 LgotLSAgLy8gSW4gY2FzZSBvZiBNSVBTIExpbnV4IEZQIHN0YXRlIGlzIGFscmVhZHkgcGFydCBv ZiB1Y29udGV4dF90Ci0rICAvLyBJbiBjYXNlIG9mIE1JUFMsIExpbnV4IEZQIHN0YXRlIGlzIGFs cmVhZHkgcGFydCBvZiB1Y29udGV4dF90Ci0gICAvLyBhbmQgJ2Zsb2F0X3N0YXRlJyBpcyBub3Qg YSBtZW1iZXIgb2YgQ3Jhc2hDb250ZXh0LgotICAgdWNvbnRleHRfdCogdWNfcHRyID0gKHVjb250 ZXh0X3QqKXVjOwotICAgaWYgKHVjX3B0ci0+dWNfbWNvbnRleHQuZnByZWdzKSB7Ci1AQCAtNzAw LDExICs3MDcsMTkgQEAgYm9vbCBFeGNlcHRpb25IYW5kbGVyOjpXcml0ZU1pbmlkdW1wKCkgewot ICAgfQotICNlbmRpZgotIAotLSNpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pICYmICFkZWZpbmVk KF9fYWFyY2g2NF9fKSAmJiAhZGVmaW5lZChfX21pcHNfXykKLSsjaWYgIWRlZmluZWQoX19BUk1f RUFCSV9fKSAmJiAhZGVmaW5lZChfX2FhcmNoNjRfXykgJiYgIWRlZmluZWQoX19taXBzX18pIFwK LSsgICAgJiYgIWRlZmluZWQoX19wb3dlcnBjNjRfXykKLSAgIC8vIEZQVSBzdGF0ZSBpcyBub3Qg cGFydCBvZiBBUk0gRUFCSSB1Y29udGV4dF90LgotICAgbWVtY3B5KCZjb250ZXh0LmZsb2F0X3N0 YXRlLCBjb250ZXh0LmNvbnRleHQudWNfbWNvbnRleHQuZnByZWdzLAotICAgICAgICAgIHNpemVv Zihjb250ZXh0LmZsb2F0X3N0YXRlKSk7Ci0gI2VuZGlmCi0rCi0rI2lmIGRlZmluZWQoX19wb3dl cnBjNjRfXykKLSsgIC8vIFZlY3RvciByZWdpc3RlcnMgbXVzdCBiZSBjb3BpZWQgb24gUFBDNjQK LSsgIG1lbWNweSgmY29udGV4dC52ZWN0b3Jfc3RhdGUsIGNvbnRleHQuY29udGV4dC51Y19tY29u dGV4dC52X3JlZ3MsCi0rICAgICAgICAgc2l6ZW9mKGNvbnRleHQudmVjdG9yX3N0YXRlKSk7Ci0r I2VuZGlmCi0rCi0gICBjb250ZXh0LnRpZCA9IHN5c19nZXR0aWQoKTsKLSAKLSAgIC8vIEFkZCBh biBleGNlcHRpb24gc3RyZWFtIHRvIHRoZSBtaW5pZHVtcCBmb3IgYmV0dGVyIHJlcG9ydGluZy4K LUBAIC03MjUsNiArNzQwLDkgQEAgYm9vbCBFeGNlcHRpb25IYW5kbGVyOjpXcml0ZU1pbmlkdW1w KCkgewotICNlbGlmIGRlZmluZWQoX19taXBzX18pCi0gICBjb250ZXh0LnNpZ2luZm8uc2lfYWRk ciA9Ci0gICAgICAgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oY29udGV4dC5jb250ZXh0LnVjX21j b250ZXh0LnBjKTsKLSsjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0rICBjb250ZXh0LnNp Z2luZm8uc2lfYWRkciA9Ci0rICAgICAgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oY29udGV4dC5j b250ZXh0LnVjX21jb250ZXh0LmdwX3JlZ3NbUFRfTklQXSk7Ci0gI2Vsc2UKLSAjZXJyb3IgIlRo aXMgY29kZSBoYXMgbm90IGJlZW4gcG9ydGVkIHRvIHlvdXIgcGxhdGZvcm0geWV0LiIKLSAjZW5k aWYKLWRpZmYgLS1naXQgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3Bh cnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25f aGFuZGxlci5oIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9i cmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0aW9uX2hhbmRs ZXIuaAotaW5kZXggZDI0NmY2MDE5Li4wYWY4OTM4NzggMTAwNjQ0Ci0tLS0gcXR3ZWJlbmdpbmUv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9j bGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlci5oCi0rKysgcXR3ZWJlbmdpbmUv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9j bGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlci5oCi1AQCAtMTkyLDcgKzE5Miwx MSBAQCBjbGFzcyBFeGNlcHRpb25IYW5kbGVyIHsKLSAgICAgc2lnaW5mb190IHNpZ2luZm87Ci0g ICAgIHBpZF90IHRpZDsgIC8vIHRoZSBjcmFzaGluZyB0aHJlYWQuCi0gICAgIHVjb250ZXh0X3Qg Y29udGV4dDsKLS0jaWYgIWRlZmluZWQoX19BUk1fRUFCSV9fKSAmJiAhZGVmaW5lZChfX21pcHNf XykKLSsjaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotKyAgICAvLyBQUEM2NCdzIEZQIHN0YXRl IGlzIGEgcGFydCBvZiB1Y29udGV4dF90IGxpa2UgTUlQUyBidXQgdGhlIHZlY3RvcgotKyAgICAv LyBzdGF0ZSBpcyBub3QsIHNvIGEgc3RydWN0IGlzIG5lZWRlZC4KLSsgICAgdnN0YXRlX3QgdmVj dG9yX3N0YXRlOwotKyNlbGlmICFkZWZpbmVkKF9fQVJNX0VBQklfXykgJiYgIWRlZmluZWQoX19t aXBzX18pCi0gICAgIC8vICNpZmRlZiB0aGlzIG91dCBiZWNhdXNlIEZQIHN0YXRlIGlzIG5vdCBw YXJ0IG9mIHVzZXIgQUJJIGZvciBMaW51eCBBUk0uCi0gICAgIC8vIEluIGNhc2Ugb2YgTUlQUyBM aW51eCBGUCBzdGF0ZSBpcyBhbHJlYWR5IHBhcnQgb2YgdWNvbnRleHRfdCBzbwotICAgICAvLyAn ZmxvYXRfc3RhdGUnIGlzIG5vdCByZXF1aXJlZC4KLWRpZmYgLS1naXQgcXR3ZWJlbmdpbmUvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGll bnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlcl91bml0dGVzdC5jYyBxdHdlYmVuZ2lu ZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3Jj L2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyX3VuaXR0ZXN0LmNjCi1pbmRl eCAxOTNhNzZlN2IuLjE2NWZmZjZmYSAxMDA2NDQKLS0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFy dHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51 eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyX3VuaXR0ZXN0LmNjCi0rKysgcXR3ZWJlbmdpbmUv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9j bGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlcl91bml0dGVzdC5jYwotQEAgLTQ5 NCw2ICs0OTQsOCBAQCBjb25zdCB1bnNpZ25lZCBjaGFyIGtJbGxlZ2FsSW5zdHJ1Y3Rpb25bXSA9 IHsKLSAjaWYgZGVmaW5lZChfX21pcHNfXykKLSAgIC8vIG1mYzIgemVybyxJbXBsIC0gdXN1YWxs eSBpbGxlZ2FsIGluIHVzZXJzcGFjZS4KLSAgIDB4NDgsIDB4MDAsIDB4MDAsIDB4NDgKLSsjZWxp ZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0rICAweDAxLCAweDAxLCAweDAxLCAweDAxIC8vIENy YXNoZXMgb24gYSB0ZXN0ZWQgUE9XRVI5IGNwdQotICNlbHNlCi0gICAvLyBUaGlzIGNyYXNoZXMg d2l0aCBTSUdJTEwgb24geDg2L3g4Ni02NC9hcm0uCi0gICAweGZmLCAweGZmLCAweGZmLCAweGZm Ci1AQCAtNjg5LDEwICs2OTEsMTAgQEAgVEVTVChFeGNlcHRpb25IYW5kbGVyVGVzdCwgSW5zdHJ1 Y3Rpb25Qb2ludGVyTWVtb3J5TWF4Qm91bmQpIHsKLSAKLSAgIC8vIFRoZXNlIGFyZSBkZWZpbmVk IGhlcmUgc28gdGhlIHBhcmVudCBjYW4gdXNlIHRoZW0gdG8gY2hlY2sgdGhlCi0gICAvLyBkYXRh IGZyb20gdGhlIG1pbmlkdW1wIGFmdGVyd2FyZHMuCi0tICAvLyBVc2UgNGsgaGVyZSBiZWNhdXNl IHRoZSBPUyB3aWxsIGhhbmQgb3V0IGEgc2luZ2xlIHBhZ2UgZXZlbgotKyAgLy8gVXNlIHRoZSBw YWdlIHNpemUgaGVyZSBiZWNhdXNlIHRoZSBPUyB3aWxsIGhhbmQgb3V0IGEgc2luZ2xlIHBhZ2Ug ZXZlbgotICAgLy8gaWYgYSBzbWFsbGVyIHNpemUgaXMgcmVxdWVzdGVkLCBhbmQgdGhpcyB0ZXN0 IHdhbnRzIHRvCi0gICAvLyB0ZXN0IHRoZSB1cHBlciBib3VuZCBvZiB0aGUgbWVtb3J5IHJhbmdl LgotLSAgY29uc3QgdWludDMyX3Qga01lbW9yeVNpemUgPSA0MDk2OyAgLy8gYnl0ZXMKLSsgIGNv bnN0IHVpbnQzMl90IGtNZW1vcnlTaXplID0gZ2V0cGFnZXNpemUoKTsgIC8vIGJ5dGVzCi0gICBj b25zdCBpbnQga09mZnNldCA9IGtNZW1vcnlTaXplIC0gc2l6ZW9mKGtJbGxlZ2FsSW5zdHJ1Y3Rp b24pOwotIAotICAgY29uc3QgcGlkX3QgY2hpbGQgPSBmb3JrKCk7Ci1kaWZmIC0tZ2l0IHF0d2Vi ZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3Bh ZC9zcmMvY2xpZW50L2xpbnV4L21pY3JvZHVtcF93cml0ZXIvbWljcm9kdW1wX3dyaXRlci5jYyBx dHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJl YWtwYWQvc3JjL2NsaWVudC9saW51eC9taWNyb2R1bXBfd3JpdGVyL21pY3JvZHVtcF93cml0ZXIu Y2MKLWluZGV4IDE4MDg3M2Y0MC4uMjkyMWZkMzg3IDEwMDY0NAotLS0tIHF0d2ViZW5naW5lL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xp ZW50L2xpbnV4L21pY3JvZHVtcF93cml0ZXIvbWljcm9kdW1wX3dyaXRlci5jYwotKysrIHF0d2Vi ZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3Bh ZC9zcmMvY2xpZW50L2xpbnV4L21pY3JvZHVtcF93cml0ZXIvbWljcm9kdW1wX3dyaXRlci5jYwot QEAgLTEzOCw3ICsxMzgsOSBAQCBjbGFzcyBNaWNyb2R1bXBXcml0ZXIgewotICAgICAgICAgICAg ICAgICAgIGNvbnN0IE1pY3JvZHVtcEV4dHJhSW5mbyYgbWljcm9kdW1wX2V4dHJhX2luZm8sCi0g ICAgICAgICAgICAgICAgICAgTGludXhEdW1wZXIqIGR1bXBlcikKLSAgICAgICA6IHVjb250ZXh0 Xyhjb250ZXh0ID8gJmNvbnRleHQtPmNvbnRleHQgOiBOVUxMKSwKLS0jaWYgIWRlZmluZWQoX19B Uk1fRUFCSV9fKSAmJiAhZGVmaW5lZChfX21pcHNfXykKLSsjaWYgZGVmaW5lZChfX3Bvd2VycGM2 NF9fKQotKyAgICAgICAgdmVjdG9yX3N0YXRlXyhjb250ZXh0ID8gJmNvbnRleHQtPnZlY3Rvcl9z dGF0ZSA6IE5VTEwpLAotKyNlbGlmICFkZWZpbmVkKF9fQVJNX0VBQklfXykgJiYgIWRlZmluZWQo X19taXBzX18pCi0gICAgICAgICBmbG9hdF9zdGF0ZV8oY29udGV4dCA/ICZjb250ZXh0LT5mbG9h dF9zdGF0ZSA6IE5VTEwpLAotICNlbmRpZgotICAgICAgICAgZHVtcGVyXyhkdW1wZXIpLAotQEAg LTMzNyw2ICszMzksOCBAQCBjbGFzcyBNaWNyb2R1bXBXcml0ZXIgewotICMgZWxzZQotICMgIGVy cm9yICJUaGlzIG1pcHMgQUJJIGlzIGN1cnJlbnRseSBub3Qgc3VwcG9ydGVkIChuMzIpIgotICNl bmRpZgotKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSsgICAgY29uc3QgY2hhciBrQXJj aFtdID0gInBwYzY0IjsKLSAjZWxzZQotICNlcnJvciAiVGhpcyBjb2RlIGhhcyBub3QgYmVlbiBw b3J0ZWQgdG8geW91ciBwbGF0Zm9ybSB5ZXQiCi0gI2VuZGlmCi1AQCAtNDA5LDcgKzQxMyw5IEBA IGNsYXNzIE1pY3JvZHVtcFdyaXRlciB7Ci0gICB2b2lkIER1bXBDUFVTdGF0ZSgpIHsKLSAgICAg UmF3Q29udGV4dENQVSBjcHU7Ci0gICAgIG15X21lbXNldCgmY3B1LCAwLCBzaXplb2YoUmF3Q29u dGV4dENQVSkpOwotLSNpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pICYmICFkZWZpbmVkKF9fbWlw c19fKQotKyNpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0rICAgIFVDb250ZXh0UmVhZGVyOjpG aWxsQ1BVQ29udGV4dCgmY3B1LCB1Y29udGV4dF8sIHZlY3Rvcl9zdGF0ZV8pOwotKyNlbGlmICFk ZWZpbmVkKF9fQVJNX0VBQklfXykgJiYgIWRlZmluZWQoX19taXBzX18pCi0gICAgIFVDb250ZXh0 UmVhZGVyOjpGaWxsQ1BVQ29udGV4dCgmY3B1LCB1Y29udGV4dF8sIGZsb2F0X3N0YXRlXyk7Ci0g I2Vsc2UKLSAgICAgVUNvbnRleHRSZWFkZXI6OkZpbGxDUFVDb250ZXh0KCZjcHUsIHVjb250ZXh0 Xyk7Ci1AQCAtNjA1LDcgKzYxMSw5IEBAIGNsYXNzIE1pY3JvZHVtcFdyaXRlciB7Ci0gICB2b2lk KiBBbGxvYyh1bnNpZ25lZCBieXRlcykgeyByZXR1cm4gZHVtcGVyXy0+YWxsb2NhdG9yKCktPkFs bG9jKGJ5dGVzKTsgfQotIAotICAgY29uc3QgdWNvbnRleHRfdCogY29uc3QgdWNvbnRleHRfOwot LSNpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pICYmICFkZWZpbmVkKF9fbWlwc19fKQotKyNpZiBk ZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0rICBjb25zdCBnb29nbGVfYnJlYWtwYWQ6OnZzdGF0ZV90 KiBjb25zdCB2ZWN0b3Jfc3RhdGVfOwotKyNlbGlmICFkZWZpbmVkKF9fQVJNX0VBQklfXykgJiYg IWRlZmluZWQoX19taXBzX18pCi0gICBjb25zdCBnb29nbGVfYnJlYWtwYWQ6OmZwc3RhdGVfdCog Y29uc3QgZmxvYXRfc3RhdGVfOwotICNlbmRpZgotICAgTGludXhEdW1wZXIqIGR1bXBlcl87Ci1k aWZmIC0tZ2l0IHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9i cmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pY3JvZHVtcF93cml0ZXIvbWljcm9k dW1wX3dyaXRlcl91bml0dGVzdC5jYyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0v dGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taWNyb2R1bXBf d3JpdGVyL21pY3JvZHVtcF93cml0ZXJfdW5pdHRlc3QuY2MKLWluZGV4IGMyZmVhMDIyNS4uOGM2 MmM1MjRhIDEwMDY0NAotLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGly ZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pY3JvZHVtcF93cml0 ZXIvbWljcm9kdW1wX3dyaXRlcl91bml0dGVzdC5jYwotKysrIHF0d2ViZW5naW5lL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xp bnV4L21pY3JvZHVtcF93cml0ZXIvbWljcm9kdW1wX3dyaXRlcl91bml0dGVzdC5jYwotQEAgLTI3 OCwxMCArMjc4LDE5IEBAIFRFU1QoTWljcm9kdW1wV3JpdGVyVGVzdCwgQmFzaWNXaXRoTWFwcGlu Z3MpIHsKLSAgIENyYXNoQW5kR2V0TWljcm9kdW1wKG1hcHBpbmdzLCBNaWNyb2R1bXBFeHRyYUlu Zm8oKSwgJmJ1Zik7Ci0gICBBU1NFUlRfVFJVRShDb250YWluc01pY3JvZHVtcChidWYpKTsKLSAK LSsgIGludCBwYWdlX3NpemUgPSBnZXRwYWdlc2l6ZSgpOwotICNpZmRlZiBfX0xQNjRfXwotLSAg QVNTRVJUX05FKHN0ZDo6c3RyaW5nOjpucG9zLAotLSAgICAgICAgICAgIGJ1Zi5maW5kKCJNIDAw MDAwMDAwMDAwMDEwMDAgMDAwMDAwMDAwMDAwMDAyQSAwMDAwMDAwMDAwMDAxMDAwICIKLS0gICAg ICAgICAgICAgICAgICAgICAiMzMyMjExMDA1NTQ0Nzc2Njg4OTlBQUJCQ0NEREVFRkYwIGxpYmZv by5zbyIpKTsKLSsgIC8vIFRoaXMgdGVzdCBpcyBvbmx5IGF2YWlsYWJsZSBmb3IgdGhlIGZvbGxv d2luZyBwYWdlIHNpemVzCi0rICBBU1NFUlRfVFJVRSgocGFnZV9zaXplID09IDQwOTYpIHx8IChw YWdlX3NpemUgPT0gNjU1MzYpKTsKLSsgIGlmIChwYWdlX3NpemUgPT0gNDA5NikgeyAKLSsgICAg QVNTRVJUX05FKHN0ZDo6c3RyaW5nOjpucG9zLAotKyAgICAgICAgICAgICAgYnVmLmZpbmQoIk0g MDAwMDAwMDAwMDAwMTAwMCAwMDAwMDAwMDAwMDAwMDJBIDAwMDAwMDAwMDAwMDEwMDAgIgotKyAg ICAgICAgICAgICAgICAgICAgICAgIjMzMjIxMTAwNTU0NDc3NjY4ODk5QUFCQkNDRERFRUZGMCBs aWJmb28uc28iKSk7Ci0rICB9IGVsc2UgewotKyAgICBBU1NFUlRfTkUoc3RkOjpzdHJpbmc6Om5w b3MsCi0rICAgICAgICAgICAgICBidWYuZmluZCgiTSAwMDAwMDAwMDAwMDEwMDAwIDAwMDAwMDAw MDAwMDAwMkEgMDAwMDAwMDAwMDAxMDAwMCAiCi0rICAgICAgICAgICAgICAgICAgICAgICAiMzMy MjExMDA1NTQ0Nzc2Njg4OTlBQUJCQ0NEREVFRkYwIGxpYmZvby5zbyIpKTsKLSsgIH0KLSAjZWxz ZQotICAgQVNTRVJUX05FKHN0ZDo6c3RyaW5nOjpucG9zLAotICAgICAgICAgICAgIGJ1Zi5maW5k KCJNIDAwMDAxMDAwIDAwMDAwMDJBIDAwMDAxMDAwICIKLWRpZmYgLS1naXQgcXR3ZWJlbmdpbmUv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9j bGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X2NvcmVfZHVtcGVyLmNjIHF0d2ViZW5n aW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9z cmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9jb3JlX2R1bXBlci5jYwotaW5k ZXggOWJlMzc1MzMzLi5mMjlhZTVlNjMgMTAwNjQ0Ci0tLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGlu dXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X2NvcmVfZHVtcGVyLmNjCi0rKysgcXR3ZWJlbmdpbmUv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9j bGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X2NvcmVfZHVtcGVyLmNjCi1AQCAtMTE2 LDYgKzExNiw5IEBAIGJvb2wgTGludXhDb3JlRHVtcGVyOjpHZXRUaHJlYWRJbmZvQnlJbmRleChz aXplX3QgaW5kZXgsIFRocmVhZEluZm8qIGluZm8pIHsKLSAjZWxpZiBkZWZpbmVkKF9fbWlwc19f KQotICAgc3RhY2tfcG9pbnRlciA9Ci0gICAgICAgcmVpbnRlcnByZXRfY2FzdDx1aW50OF90Kj4o aW5mby0+bWNvbnRleHQuZ3JlZ3NbTURfQ09OVEVYVF9NSVBTX1JFR19TUF0pOwotKyNlbGlmIGRl ZmluZWQoX19wb3dlcnBjNjRfXykKLSsgIHN0YWNrX3BvaW50ZXIgPQotKyAgICAgIHJlaW50ZXJw cmV0X2Nhc3Q8dWludDhfdCo+KGluZm8tPm1jb250ZXh0LmdwX3JlZ3NbTURfQ09OVEVYVF9QUEM2 NF9SRUdfU1BdKTsKLSAjZWxzZQotICNlcnJvciAiVGhpcyBjb2RlIGhhc24ndCBiZWVuIHBvcnRl ZCB0byB5b3VyIHBsYXRmb3JtIHlldC4iCi0gI2VuZGlmCi1AQCAtMjAwLDcgKzIwMywxMCBAQCBi b29sIExpbnV4Q29yZUR1bXBlcjo6RW51bWVyYXRlVGhyZWFkcygpIHsKLSAgICAgICAgIG1lbXNl dCgmaW5mbywgMCwgc2l6ZW9mKFRocmVhZEluZm8pKTsKLSAgICAgICAgIGluZm8udGdpZCA9IHN0 YXR1cy0+cHJfcGdycDsKLSAgICAgICAgIGluZm8ucHBpZCA9IHN0YXR1cy0+cHJfcHBpZDsKLS0j aWYgZGVmaW5lZChfX21pcHNfXykKLSsjaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotKyAgICAg ICAgZm9yIChpbnQgaSA9IDA7IGkgPCAzMTsgaSsrKQotKyAgICAgICAgICAgIGluZm8ubWNvbnRl eHQuZ3BfcmVnc1tpXSA9IHN0YXR1cy0+cHJfcmVnW2ldOwotKyNlbGlmIGRlZmluZWQoX19taXBz X18pCi0gI2lmIGRlZmluZWQoX19BTkRST0lEX18pCi0gICAgICAgICBmb3IgKGludCBpID0gRUZf UjA7IGkgPD0gRUZfUjMxOyBpKyspCi0gICAgICAgICAgIGluZm8ubWNvbnRleHQuZ3JlZ3NbaSAt IEVGX1IwXSA9IHN0YXR1cy0+cHJfcmVnW2ldOwotZGlmZiAtLWdpdCBxdHdlYmVuZ2luZS9zcmMv M3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVu dC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfZHVtcGVyLmNjIHF0d2ViZW5naW5lL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50 L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9kdW1wZXIuY2MKLWluZGV4IDUxNWFmM2ZmNC4u YTMyOTk1MDc2IDEwMDY0NAotLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90 aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dy aXRlci9saW51eF9kdW1wZXIuY2MKLSsrKyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21p dW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVt cF93cml0ZXIvbGludXhfZHVtcGVyLmNjCi1AQCAtNzkxLDcgKzc5MSw5IEBAIGJvb2wgTGludXhE dW1wZXI6OkdldFN0YWNrSW5mbyhjb25zdCB2b2lkKiogc3RhY2ssIHNpemVfdCogc3RhY2tfbGVu LAotICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KGludF9zdGFja19wb2ludGVyICYg fihwYWdlX3NpemUgLSAxKSk7Ci0gCi0gICAvLyBUaGUgbnVtYmVyIG9mIGJ5dGVzIG9mIHN0YWNr IHdoaWNoIHdlIHRyeSB0byBjYXB0dXJlLgotLSAgc3RhdGljIGNvbnN0IHB0cmRpZmZfdCBrU3Rh Y2tUb0NhcHR1cmUgPSAzMiAqIDEwMjQ7Ci0rICAvLyBUaGlzIG5vdyBkZXBlbmRzIG9uIHBhZ2Vf c2l6ZSB0byBhdm9pZCBtaXNzaW5nIGRhdGEKLSsgIC8vIG9uIHN5c3RlbXMgd2l0aCBsYXJnZXIg cGFnZSBzaXplcy4KLSsgIHN0YXRpYyBjb25zdCBwdHJkaWZmX3Qga1N0YWNrVG9DYXB0dXJlID0g OCAqIHBhZ2Vfc2l6ZTsKLSAKLSAgIGNvbnN0IE1hcHBpbmdJbmZvKiBtYXBwaW5nID0gRmluZE1h cHBpbmcoc3RhY2tfcG9pbnRlcik7Ci0gICBpZiAoIW1hcHBpbmcpCi1kaWZmIC0tZ2l0IHF0d2Vi ZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3Bh ZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9kdW1wZXIuaCBxdHdlYmVu Z2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQv c3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfZHVtcGVyLmgKLWluZGV4IDRh NGUwYjBhZi4uY2FhMGZhYjYzIDEwMDY0NAotLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21p bmlkdW1wX3dyaXRlci9saW51eF9kdW1wZXIuaAotKysrIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4 L21pbmlkdW1wX3dyaXRlci9saW51eF9kdW1wZXIuaAotQEAgLTYwLDcgKzYwLDggQEAgbmFtZXNw YWNlIGdvb2dsZV9icmVha3BhZCB7Ci0gIChkZWZpbmVkKF9fbWlwc19fKSAmJiBfTUlQU19TSU0g PT0gX0FCSU8zMikKLSB0eXBlZGVmIEVsZjMyX2F1eHZfdCBlbGZfYXV4X2VudHJ5OwotICNlbGlm IGRlZmluZWQoX194ODZfNjQpIHx8IGRlZmluZWQoX19hYXJjaDY0X18pIHx8IFwKLS0gICAgIChk ZWZpbmVkKF9fbWlwc19fKSAmJiBfTUlQU19TSU0gIT0gX0FCSU8zMikKLSsgICAgIChkZWZpbmVk KF9fbWlwc19fKSAmJiBfTUlQU19TSU0gIT0gX0FCSU8zMikgfHwgXAotKyAgICAgZGVmaW5lZChf X3Bvd2VycGM2NF9fKQotIHR5cGVkZWYgRWxmNjRfYXV4dl90IGVsZl9hdXhfZW50cnk7Ci0gI2Vu ZGlmCi0gCi1kaWZmIC0tZ2l0IHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGly ZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRl ci9saW51eF9kdW1wZXJfdW5pdHRlc3RfaGVscGVyLmNjIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4 L21pbmlkdW1wX3dyaXRlci9saW51eF9kdW1wZXJfdW5pdHRlc3RfaGVscGVyLmNjCi1pbmRleCAz YWQ0OGU1MDEuLjE2ODhjMzY1ZSAxMDA2NDQKLS0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkv Y2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9t aW5pZHVtcF93cml0ZXIvbGludXhfZHVtcGVyX3VuaXR0ZXN0X2hlbHBlci5jYwotKysrIHF0d2Vi ZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3Bh ZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9kdW1wZXJfdW5pdHRlc3Rf aGVscGVyLmNjCi1AQCAtNTEsNiArNTEsOCBAQAotICNkZWZpbmUgVElEX1BUUl9SRUdJU1RFUiAi cmN4IgotICNlbGlmIGRlZmluZWQoX19taXBzX18pCi0gI2RlZmluZSBUSURfUFRSX1JFR0lTVEVS ICIkMSIKLSsjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0rI2RlZmluZSBUSURfUFRSX1JF R0lTVEVSICJyOCIKLSAjZWxzZQotICNlcnJvciBUaGlzIHRlc3QgaGFzIG5vdCBiZWVuIHBvcnRl ZCB0byB0aGlzIHBsYXRmb3JtLgotICNlbmRpZgotZGlmZiAtLWdpdCBxdHdlYmVuZ2luZS9zcmMv M3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVu dC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfcHRyYWNlX2R1bXBlci5jYyBxdHdlYmVuZ2lu ZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3Jj L2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfcHRyYWNlX2R1bXBlci5jYwotaW5k ZXggOGEzZjA0ZTI5Li5lNjA3YjI4ZDUgMTAwNjQ0Ci0tLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGlu dXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X3B0cmFjZV9kdW1wZXIuY2MKLSsrKyBxdHdlYmVuZ2lu ZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3Jj L2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfcHRyYWNlX2R1bXBlci5jYwotQEAg LTE1NCwxOSArMTU0LDI3IEBAIGJvb2wgTGludXhQdHJhY2VEdW1wZXI6OkNvcHlGcm9tUHJvY2Vz cyh2b2lkKiBkZXN0LCBwaWRfdCBjaGlsZCwKLSAgIHJldHVybiB0cnVlOwotIH0KLSAKLS1ib29s IExpbnV4UHRyYWNlRHVtcGVyOjpSZWFkUmVnaXN0ZXJTZXQoVGhyZWFkSW5mbyogaW5mbywgcGlk X3QgdGlkKQotLXsKLStib29sIExpbnV4UHRyYWNlRHVtcGVyOjpSZWFkUmVnaXN0ZXJTZXQoVGhy ZWFkSW5mbyogaW5mbywgcGlkX3QgdGlkKSB7Ci0gI2lmZGVmIFBUUkFDRV9HRVRSRUdTRVQKLSAg IHN0cnVjdCBpb3ZlYyBpbzsKLSAgIGluZm8tPkdldEdlbmVyYWxQdXJwb3NlUmVnaXN0ZXJzKCZp by5pb3ZfYmFzZSwgJmlvLmlvdl9sZW4pOwotLSAgaWYgKHN5c19wdHJhY2UoUFRSQUNFX0dFVFJF R1NFVCwgdGlkLCAodm9pZCopTlRfUFJTVEFUVVMsICh2b2lkKikmaW8pID09IC0xKSB7Ci0rICBp ZiAocHRyYWNlKFBUUkFDRV9HRVRSRUdTRVQsIHRpZCwgKHZvaWQqKU5UX1BSU1RBVFVTLCAodm9p ZCopJmlvKSA9PSAtMSkgewotICAgICByZXR1cm4gZmFsc2U7Ci0gICB9Ci0gCi0gICBpbmZvLT5H ZXRGbG9hdGluZ1BvaW50UmVnaXN0ZXJzKCZpby5pb3ZfYmFzZSwgJmlvLmlvdl9sZW4pOwotLSAg aWYgKHN5c19wdHJhY2UoUFRSQUNFX0dFVFJFR1NFVCwgdGlkLCAodm9pZCopTlRfRlBSRUdTRVQs ICh2b2lkKikmaW8pID09IC0xKSB7Ci0rICBpZiAocHRyYWNlKFBUUkFDRV9HRVRSRUdTRVQsIHRp ZCwgKHZvaWQqKU5UX0ZQUkVHU0VULCAodm9pZCopJmlvKSA9PSAtMSkgewotICAgICByZXR1cm4g ZmFsc2U7Ci0gICB9Ci0rCi0rI2lmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSsgIC8vIEdyYWIg dGhlIHZlY3RvciByZWdpc3RlcnMgb24gUFBDNjQgdG9vCi0rICBpbmZvLT5HZXRWZWN0b3JSZWdp c3RlcnMoJmlvLmlvdl9iYXNlLCAmaW8uaW92X2xlbik7Ci0rICBpZiAocHRyYWNlKFBUUkFDRV9H RVRSRUdTRVQsIHRpZCwgKHZvaWQqKU5UX1BQQ19WTVgsICh2b2lkKikmaW8pID09IC0xKSB7Ci0r ICAgIHJldHVybiBmYWxzZTsKLSsgIH0KLSsjZW5kaWYgLy8gZGVmaW5lZChfX3Bvd2VycGM2NF9f KQotKwotICAgcmV0dXJuIHRydWU7Ci0gI2Vsc2UKLSAgIHJldHVybiBmYWxzZTsKLUBAIC0zMDMs NiArMzExLDkgQEAgYm9vbCBMaW51eFB0cmFjZUR1bXBlcjo6R2V0VGhyZWFkSW5mb0J5SW5kZXgo c2l6ZV90IGluZGV4LCBUaHJlYWRJbmZvKiBpbmZvKSB7Ci0gI2VsaWYgZGVmaW5lZChfX21pcHNf XykKLSAgIHN0YWNrX3BvaW50ZXIgPQotICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+ KGluZm8tPm1jb250ZXh0LmdyZWdzW01EX0NPTlRFWFRfTUlQU19SRUdfU1BdKTsKLSsjZWxpZiBk ZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0rICBzdGFja19wb2ludGVyID0KLSsgICAgICByZWludGVy cHJldF9jYXN0PHVpbnQ4X3QqPihpbmZvLT5tY29udGV4dC5ncF9yZWdzW01EX0NPTlRFWFRfUFBD NjRfUkVHX1NQXSk7Ci0gI2Vsc2UKLSAjZXJyb3IgIlRoaXMgY29kZSBoYXNuJ3QgYmVlbiBwb3J0 ZWQgdG8geW91ciBwbGF0Zm9ybSB5ZXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBxdHdlYmVuZ2lu ZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3Jj L2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfcHRyYWNlX2R1bXBlcl91bml0dGVz dC5jYyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtw YWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfcHRyYWNl X2R1bXBlcl91bml0dGVzdC5jYwotaW5kZXggYTRhMGZkOWI2Li41MmMxNTA3MDQgMTAwNjQ0Ci0t LS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFk L2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X3B0cmFjZV9k dW1wZXJfdW5pdHRlc3QuY2MKLSsrKyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0v dGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93 cml0ZXIvbGludXhfcHRyYWNlX2R1bXBlcl91bml0dGVzdC5jYwotQEAgLTQ1Nyw2ICs0NTcsOSBA QCBURVNUKExpbnV4UHRyYWNlRHVtcGVyVGVzdCwgVmVyaWZ5U3RhY2tSZWFkV2l0aE11bHRpcGxl VGhyZWFkcykgewotICNlbGlmIGRlZmluZWQoX19taXBzX18pCi0gICAgIHBpZF90KiBwcm9jZXNz X3RpZF9sb2NhdGlvbiA9Ci0gICAgICAgICByZWludGVycHJldF9jYXN0PHBpZF90Kj4ob25lX3Ro cmVhZC5tY29udGV4dC5ncmVnc1sxXSk7Ci0rI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQot KyAgICBwaWRfdCogcHJvY2Vzc190aWRfbG9jYXRpb24gPQotKyAgICAgICAgcmVpbnRlcnByZXRf Y2FzdDxwaWRfdCo+KG9uZV90aHJlYWQubWNvbnRleHQuZ3BfcmVnc1s4XSk7Ci0gI2Vsc2UKLSAj ZXJyb3IgVGhpcyB0ZXN0IGhhcyBub3QgYmVlbiBwb3J0ZWQgdG8gdGhpcyBwbGF0Zm9ybS4KLSAj ZW5kaWYKLUBAIC01NTMsNiArNTU2LDggQEAgVEVTVF9GKExpbnV4UHRyYWNlRHVtcGVyVGVzdCwg U2FuaXRpemVTdGFja0NvcHkpIHsKLSAgIHVpbnRwdHJfdCBoZWFwX2FkZHIgPSB0aHJlYWRfaW5m by5yZWdzLnJjeDsKLSAjZWxpZiBkZWZpbmVkKF9fbWlwc19fKQotICAgdWludHB0cl90IGhlYXBf YWRkciA9IHRocmVhZF9pbmZvLm1jb250ZXh0LmdyZWdzWzFdOwotKyNlbGlmIGRlZmluZWQoX19w b3dlcnBjNjRfXykKLSsgIHVpbnRwdHJfdCBoZWFwX2FkZHIgPSB0aHJlYWRfaW5mby5tY29udGV4 dC5ncF9yZWdzWzhdOwotICNlbHNlCi0gI2Vycm9yIFRoaXMgdGVzdCBoYXMgbm90IGJlZW4gcG9y dGVkIHRvIHRoaXMgcGxhdGZvcm0uCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IHF0d2ViZW5naW5lL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xp ZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXIuY2MgcXR3ZWJlbmdpbmUv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9j bGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL21pbmlkdW1wX3dyaXRlci5jYwotaW5kZXggYzcx NjE0MzQ1Li5hOThmOWFmYTUgMTAwNjQ0Ci0tLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2No cm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWlu aWR1bXBfd3JpdGVyL21pbmlkdW1wX3dyaXRlci5jYwotKysrIHF0d2ViZW5naW5lL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xp bnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXIuY2MKLUBAIC0xMzYsNyArMTM2LDkg QEAgY2xhc3MgTWluaWR1bXBXcml0ZXIgewotICAgICAgIDogZmRfKG1pbmlkdW1wX2ZkKSwKLSAg ICAgICAgIHBhdGhfKG1pbmlkdW1wX3BhdGgpLAotICAgICAgICAgdWNvbnRleHRfKGNvbnRleHQg PyAmY29udGV4dC0+Y29udGV4dCA6IE5VTEwpLAotLSNpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18p ICYmICFkZWZpbmVkKF9fbWlwc19fKQotKyNpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0rICAg ICAgICB2ZWN0b3Jfc3RhdGVfKGNvbnRleHQgPyAmY29udGV4dC0+dmVjdG9yX3N0YXRlIDogTlVM TCksCi0rI2VsaWYgIWRlZmluZWQoX19BUk1fRUFCSV9fKSAmJiAhZGVmaW5lZChfX21pcHNfXykK LSAgICAgICAgIGZsb2F0X3N0YXRlXyhjb250ZXh0ID8gJmNvbnRleHQtPmZsb2F0X3N0YXRlIDog TlVMTCksCi0gI2VuZGlmCi0gICAgICAgICBkdW1wZXJfKGR1bXBlciksCi1AQCAtNDY4LDcgKzQ3 MCw5IEBAIGNsYXNzIE1pbmlkdW1wV3JpdGVyIHsKLSAgICAgICAgIGlmICghY3B1LkFsbG9jYXRl KCkpCi0gICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgIG15X21lbXNldChjcHUuZ2V0 KCksIDAsIHNpemVvZihSYXdDb250ZXh0Q1BVKSk7Ci0tI2lmICFkZWZpbmVkKF9fQVJNX0VBQklf XykgJiYgIWRlZmluZWQoX19taXBzX18pCi0rI2lmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSsg ICAgICAgIFVDb250ZXh0UmVhZGVyOjpGaWxsQ1BVQ29udGV4dChjcHUuZ2V0KCksIHVjb250ZXh0 XywgdmVjdG9yX3N0YXRlXyk7Ci0rI2VsaWYgIWRlZmluZWQoX19BUk1fRUFCSV9fKSAmJiAhZGVm aW5lZChfX21pcHNfXykKLSAgICAgICAgIFVDb250ZXh0UmVhZGVyOjpGaWxsQ1BVQ29udGV4dChj cHUuZ2V0KCksIHVjb250ZXh0XywgZmxvYXRfc3RhdGVfKTsKLSAjZWxzZQotICAgICAgICAgVUNv bnRleHRSZWFkZXI6OkZpbGxDUFVDb250ZXh0KGNwdS5nZXQoKSwgdWNvbnRleHRfKTsKLUBAIC04 ODgsNyArODkyLDcgQEAgY2xhc3MgTWluaWR1bXBXcml0ZXIgewotICAgICBkaXJlbnQtPmxvY2F0 aW9uLnJ2YSA9IDA7Ci0gICB9Ci0gCi0tI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQo X194ODZfNjRfXykgfHwgZGVmaW5lZChfX21pcHNfXykKLSsjaWYgZGVmaW5lZChfX2kzODZfXykg fHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBkZWZpbmVkKF9f cG93ZXJwYzY0X18pCi0gICBib29sIFdyaXRlQ1BVSW5mb3JtYXRpb24oTURSYXdTeXN0ZW1JbmZv KiBzeXNfaW5mbykgewotICAgICBjaGFyIHZlbmRvcl9pZFtzaXplb2Yoc3lzX2luZm8tPmNwdS54 ODZfY3B1X2luZm8udmVuZG9yX2lkKSArIDFdID0gezB9OwotICAgICBzdGF0aWMgY29uc3QgY2hh ciB2ZW5kb3JfaWRfbmFtZVtdID0gInZlbmRvcl9pZCI7Ci1AQCAtOTA4LDcgKzkxMiw5IEBAIGNs YXNzIE1pbmlkdW1wV3JpdGVyIHsKLSAKLSAgICAgLy8gcHJvY2Vzc29yX2FyY2hpdGVjdHVyZSBz aG91bGQgYWx3YXlzIGJlIHNldCwgZG8gdGhpcyBmaXJzdAotICAgICBzeXNfaW5mby0+cHJvY2Vz c29yX2FyY2hpdGVjdHVyZSA9Ci0tI2lmIGRlZmluZWQoX19taXBzX18pCi0rI2lmIGRlZmluZWQo X19wb3dlcnBjNjRfXykKLSsgICAgICAgIE1EX0NQVV9BUkNISVRFQ1RVUkVfUFBDNjQ7Ci0rI2Vs aWYgZGVmaW5lZChfX21pcHNfXykKLSAjIGlmIF9NSVBTX1NJTSA9PSBfQUJJTzMyCi0gICAgICAg ICBNRF9DUFVfQVJDSElURUNUVVJFX01JUFM7Ci0gIyBlbGlmIF9NSVBTX1NJTSA9PSBfQUJJNjQK LUBAIC0xMzI0LDcgKzEzMzAsOSBAQCBjbGFzcyBNaW5pZHVtcFdyaXRlciB7Ci0gICBjb25zdCBj aGFyKiBwYXRoXzsgIC8vIFBhdGggdG8gdGhlIGZpbGUgd2hlcmUgdGhlIG1pbmlkdW0gc2hvdWxk IGJlIHdyaXR0ZW4uCi0gCi0gICBjb25zdCB1Y29udGV4dF90KiBjb25zdCB1Y29udGV4dF87ICAv LyBhbHNvIGZyb20gdGhlIHNpZ25hbCBoYW5kbGVyCi0tI2lmICFkZWZpbmVkKF9fQVJNX0VBQklf XykgJiYgIWRlZmluZWQoX19taXBzX18pCi0rI2lmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSsg IGNvbnN0IGdvb2dsZV9icmVha3BhZDo6dnN0YXRlX3QqIGNvbnN0IHZlY3Rvcl9zdGF0ZV87Ci0r I2VsaWYgIWRlZmluZWQoX19BUk1fRUFCSV9fKSAmJiAhZGVmaW5lZChfX21pcHNfXykKLSAgIGNv bnN0IGdvb2dsZV9icmVha3BhZDo6ZnBzdGF0ZV90KiBjb25zdCBmbG9hdF9zdGF0ZV87ICAvLyBk aXR0bwotICNlbmRpZgotICAgTGludXhEdW1wZXIqIGR1bXBlcl87Ci1kaWZmIC0tZ2l0IHF0d2Vi ZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3Bh ZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXIuaCBxdHdl YmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtw YWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbWluaWR1bXBfd3JpdGVyLmgKLWlu ZGV4IGQxY2M1NjI0Yy4uNDAzNDk1Mjk1IDEwMDY0NAotLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xp bnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXIuaAotKysrIHF0d2ViZW5naW5lL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xp ZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXIuaAotQEAgLTQ3LDYgKzQ3 LDggQEAgY2xhc3MgRXhjZXB0aW9uSGFuZGxlcjsKLSAKLSAjaWYgZGVmaW5lZChfX2FhcmNoNjRf XykKLSB0eXBlZGVmIHN0cnVjdCBmcHNpbWRfY29udGV4dCBmcHN0YXRlX3Q7Ci0rI2VsaWYgZGVm aW5lZChfX3Bvd2VycGM2NF9fKQotK3R5cGVkZWYgc3RydWN0IF9saWJjX3Zyc3RhdGUgdnN0YXRl X3Q7Ci0gI2VsaWYgIWRlZmluZWQoX19BUk1fRUFCSV9fKSAmJiAhZGVmaW5lZChfX21pcHNfXykK LSB0eXBlZGVmIHN0cnVjdCBfZnBzdGF0ZSBmcHN0YXRlX3Q7Ci0gI2VuZGlmCi1kaWZmIC0tZ2l0 IHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9i cmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXJf dW5pdHRlc3QuY2MgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5 L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL21pbmlk dW1wX3dyaXRlcl91bml0dGVzdC5jYwotaW5kZXggNTgzZGRkYTg2Li41ZTNkZWNjZmQgMTAwNjQ0 Ci0tLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFr cGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL21pbmlkdW1wX3dy aXRlcl91bml0dGVzdC5jYwotKysrIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90 aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dy aXRlci9taW5pZHVtcF93cml0ZXJfdW5pdHRlc3QuY2MKLUBAIC03MTAsNiArNzEwLDkgQEAgVEVT VChNaW5pZHVtcFdyaXRlclRlc3QsIEludmFsaWRTdGFja1BvaW50ZXIpIHsKLSAjZWxpZiBkZWZp bmVkKF9fbWlwc19fKQotICAgY29udGV4dC5jb250ZXh0LnVjX21jb250ZXh0LmdyZWdzW01EX0NP TlRFWFRfTUlQU19SRUdfU1BdID0KLSAgICAgICBpbnZhbGlkX3N0YWNrX3BvaW50ZXI7Ci0rI2Vs aWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotKyAgY29udGV4dC5jb250ZXh0LnVjX21jb250ZXh0 LmdwX3JlZ3NbTURfQ09OVEVYVF9QUEM2NF9SRUdfU1BdID0KLSsgICAgICBpbnZhbGlkX3N0YWNr X3BvaW50ZXI7Ci0gI2Vsc2UKLSAjIGVycm9yICJUaGlzIGNvZGUgaGFzIG5vdCBiZWVuIHBvcnRl ZCB0byB5b3VyIHBsYXRmb3JtIHlldC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IHF0d2ViZW5naW5l L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMv Y29tbW9uL2xpbnV4L21lbW9yeV9tYXBwZWRfZmlsZS5jYyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFy dHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NvbW1vbi9saW51 eC9tZW1vcnlfbWFwcGVkX2ZpbGUuY2MKLWluZGV4IDRlOTM4MjY5Zi4uZjBmZjE1ZDk2IDEwMDY0 NAotLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVh a3BhZC9icmVha3BhZC9zcmMvY29tbW9uL2xpbnV4L21lbW9yeV9tYXBwZWRfZmlsZS5jYwotKysr IHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9i cmVha3BhZC9zcmMvY29tbW9uL2xpbnV4L21lbW9yeV9tYXBwZWRfZmlsZS5jYwotQEAgLTY1LDgg KzY1LDcgQEAgYm9vbCBNZW1vcnlNYXBwZWRGaWxlOjpNYXAoY29uc3QgY2hhciogcGF0aCwgc2l6 ZV90IG9mZnNldCkgewotICAgfQotIAotICNpZiBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmlu ZWQoX19hYXJjaDY0X18pIHx8IFwKLS0gICAoZGVmaW5lZChfX21pcHNfXykgJiYgX01JUFNfU0lN ID09IF9BQkk2NCkKLS0KLSsgICAoZGVmaW5lZChfX21pcHNfXykgJiYgX01JUFNfU0lNID09IF9B Qkk2NCkgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotICAgc3RydWN0IGtlcm5lbF9zdGF0IHN0 OwotICAgaWYgKHN5c19mc3RhdChmZCwgJnN0KSA9PSAtMSB8fCBzdC5zdF9zaXplIDwgMCkgewot ICNlbHNlCi1kaWZmIC0tZ2l0IHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGly ZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY29tbW9uL2xpbnV4L21lbW9yeV9tYXBwZWRf ZmlsZV91bml0dGVzdC5jYyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRf cGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NvbW1vbi9saW51eC9tZW1vcnlfbWFwcGVkX2Zp bGVfdW5pdHRlc3QuY2MKLWluZGV4IGZhZDU5ZjQwYy4uNjE2NDk2ZDY3IDEwMDY0NAotLS0tIHF0 d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVh a3BhZC9zcmMvY29tbW9uL2xpbnV4L21lbW9yeV9tYXBwZWRfZmlsZV91bml0dGVzdC5jYwotKysr IHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9i cmVha3BhZC9zcmMvY29tbW9uL2xpbnV4L21lbW9yeV9tYXBwZWRfZmlsZV91bml0dGVzdC5jYwot QEAgLTE3Niw5ICsxNzYsMTAgQEAgVEVTVF9GKE1lbW9yeU1hcHBlZEZpbGVUZXN0LCBSZW1hcEFm dGVyTWFwKSB7Ci0gVEVTVF9GKE1lbW9yeU1hcHBlZEZpbGVUZXN0LCBNYXBXaXRoT2Zmc2V0KSB7 Ci0gICAvLyBQdXQgbW9yZSBkYXRhIGluIHRoZSB0ZXN0IGZpbGUgdGhpcyB0aW1lLiBPZmZzZXRz IGNhbiBvbmx5IGJlCi0gICAvLyBkb25lIG9uIHBhZ2UgYm91bmRhcmllcywgc28gd2UgbmVlZCBh IHR3byBwYWdlIGZpbGUgdG8gdGVzdCB0aGlzLgotLSAgY29uc3QgaW50IHBhZ2Vfc2l6ZSA9IDQw OTY7Ci0tICBjaGFyIGRhdGExWzIgKiBwYWdlX3NpemVdOwotLSAgc2l6ZV90IGRhdGExX3NpemUg PSBzaXplb2YoZGF0YTEpOwotKyAgY29uc3QgaW50IHBhZ2Vfc2l6ZSA9IGdldHBhZ2VzaXplKCk7 Ci0rICBjaGFyICpkYXRhMSA9IHN0YXRpY19jYXN0PGNoYXIqPihtYWxsb2MoMiAqIHBhZ2Vfc2l6 ZSkpOwotKyAgRVhQRUNUX1RSVUUoZGF0YTEgIT0gTlVMTCk7Ci0rICBzaXplX3QgZGF0YTFfc2l6 ZSA9ICgyICogcGFnZV9zaXplKTsKLSAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgZGF0YTFfc2l6 ZTsgKytpKSB7Ci0gICAgIGRhdGExW2ldID0gaSAmIDB4N2Y7Ci0gICB9Ci1kaWZmIC0tZ2l0IHF0 d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVh a3BhZC9zcmMvY29tbW9uL21lbW9yeV9hbGxvY2F0b3JfdW5pdHRlc3QuY2MgcXR3ZWJlbmdpbmUv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9j b21tb24vbWVtb3J5X2FsbG9jYXRvcl91bml0dGVzdC5jYwotaW5kZXggNDNjODYzMTRjLi4yNzMy NWI4MTMgMTAwNjQ0Ci0tLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJk X3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jb21tb24vbWVtb3J5X2FsbG9jYXRvcl91bml0 dGVzdC5jYwotKysrIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0 eS9icmVha3BhZC9icmVha3BhZC9zcmMvY29tbW9uL21lbW9yeV9hbGxvY2F0b3JfdW5pdHRlc3Qu Y2MKLUBAIC01Nyw4ICs1Nyw5IEBAIFRFU1QoUGFnZUFsbG9jYXRvclRlc3QsIExhcmdlT2JqZWN0 KSB7Ci0gCi0gICBFWFBFQ1RfRVEoMFUsIGFsbG9jYXRvci5wYWdlc19hbGxvY2F0ZWQoKSk7Ci0g ICB1aW50OF90ICpwID0gcmVpbnRlcnByZXRfY2FzdDx1aW50OF90Kj4oYWxsb2NhdG9yLkFsbG9j KDEwMDAwKSk7Ci0rICB1aW50NjRfdCBleHBlY3RlZF9wYWdlcyA9IDEgKyAoKDEwMDAwIC0gMSkg LyBnZXRwYWdlc2l6ZSgpKTsKLSAgIEFTU0VSVF9GQUxTRShwID09IE5VTEwpOwotLSAgRVhQRUNU X0VRKDNVLCBhbGxvY2F0b3IucGFnZXNfYWxsb2NhdGVkKCkpOwotKyAgRVhQRUNUX0VRKGV4cGVj dGVkX3BhZ2VzLCBhbGxvY2F0b3IucGFnZXNfYWxsb2NhdGVkKCkpOwotICAgZm9yICh1bnNpZ25l ZCBpID0gMTsgaSA8IDEwOyArK2kpIHsKLSAgICAgdWludDhfdCAqcCA9IHJlaW50ZXJwcmV0X2Nh c3Q8dWludDhfdCo+KGFsbG9jYXRvci5BbGxvYyhpKSk7Ci0gICAgIEFTU0VSVF9GQUxTRShwID09 IE5VTEwpOwotZGlmZiAtLWdpdCBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhp cmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL3Byb2Nlc3Nvci9leHBsb2l0YWJpbGl0eV9s aW51eC5jYyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJl YWtwYWQvYnJlYWtwYWQvc3JjL3Byb2Nlc3Nvci9leHBsb2l0YWJpbGl0eV9saW51eC5jYwotaW5k ZXggY2NjOWYxNDU5Li5kZWJhZWQ0ZDYgMTAwNjQ0Ci0tLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9wcm9jZXNzb3Iv ZXhwbG9pdGFiaWxpdHlfbGludXguY2MKLSsrKyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hy b21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL3Byb2Nlc3Nvci9leHBsb2l0 YWJpbGl0eV9saW51eC5jYwotQEAgLTIwMiwxMiArMjAyLDE0IEBAIGJvb2wgRXhwbG9pdGFiaWxp dHlMaW51eDo6RW5kZWRPbklsbGVnYWxXcml0ZSh1aW50NjRfdCBpbnN0cnVjdGlvbl9wdHIpIHsK LSAgIC8vIENoZWNrIGFyY2hpdGVjdHVyZSBhbmQgc2V0IGFyY2hpdGVjdHVyZSB2YXJpYWJsZSB0 byBjb3JyZXNwb25kaW5nIGZsYWcKLSAgIC8vIGluIG9iamR1bXAuCi0gICBzd2l0Y2ggKGNvbnRl eHQtPkdldENvbnRleHRDUFUoKSkgewotKyNpZiBkZWZpbmVkKF9faTM4NikgfHwgZGVmaW5lZChf X3g4Nl82NCkKLSAgICAgY2FzZSBNRF9DT05URVhUX1g4NjoKLSAgICAgICBhcmNoaXRlY3R1cmUg PSAiaTM4NiI7Ci0gICAgICAgYnJlYWs7Ci0gICAgIGNhc2UgTURfQ09OVEVYVF9BTUQ2NDoKLSAg ICAgICBhcmNoaXRlY3R1cmUgPSAiaTM4Njp4ODYtNjQiOwotICAgICAgIGJyZWFrOwotKyNlbmRp ZgotICAgICBkZWZhdWx0OgotICAgICAgIC8vIFVuc3VwcG9ydGVkIGFyY2hpdGVjdHVyZS4gTm90 ZSB0aGF0IEFSTSBhcmNoaXRlY3R1cmVzIGFyZSBub3QKLSAgICAgICAvLyBzdXBwb3J0ZWQgYmVj YXVzZSBvYmpkdW1wIGRvZXMgbm90IHN1cHBvcnQgQVJNLgotZGlmZiAtLWdpdCBxdHdlYmVuZ2lu ZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3Jj L3Byb2Nlc3Nvci9leHBsb2l0YWJpbGl0eV91bml0dGVzdC5jYyBxdHdlYmVuZ2luZS9zcmMvM3Jk cGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL3Byb2Nlc3Nv ci9leHBsb2l0YWJpbGl0eV91bml0dGVzdC5jYwotaW5kZXggNTI4ZWU1ZjIxLi43Mjc2NGQ2YzEg MTAwNjQ0Ci0tLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5 L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9wcm9jZXNzb3IvZXhwbG9pdGFiaWxpdHlfdW5pdHRlc3Qu Y2MKLSsrKyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJl YWtwYWQvYnJlYWtwYWQvc3JjL3Byb2Nlc3Nvci9leHBsb2l0YWJpbGl0eV91bml0dGVzdC5jYwot QEAgLTEwNCw2ICsxMDQsOCBAQCBFeHBsb2l0YWJpbGl0eUZvcihjb25zdCBzdHJpbmcmIGZpbGVu YW1lKSB7Ci0gfQotIAotIFRFU1QoRXhwbG9pdGFiaWxpdHlUZXN0LCBUZXN0V2luZG93c0VuZ2lu ZSkgewotKy8vIFRoZSBmb2xsb3dpbmcgdGVzdHMgYXJlIG9ubHkgZXhlY3V0YWJsZSBvbiBhbiB4 ODYtY2xhc3MgbGludXggbWFjaGluZS4KLSsjaWYgIWRlZmluZWQoX1dJTjMyKSAmJiAoZGVmaW5l ZChfX2kzODYpIHx8IGRlZmluZWQoX194ODZfNjQpKQotICAgQVNTRVJUX0VRKGdvb2dsZV9icmVh a3BhZDo6RVhQTE9JVEFCSUxJVFlfSElHSCwKLSAgICAgICAgICAgICBFeHBsb2l0YWJpbGl0eUZv cigiYXNjaWlfcmVhZF9hdi5kbXAiKSk7Ci0gICBBU1NFUlRfRVEoZ29vZ2xlX2JyZWFrcGFkOjpF WFBMT0lUQUJJTElUWV9ISUdILAotQEAgLTEzNiw5ICsxMzgsMTIgQEAgVEVTVChFeHBsb2l0YWJp bGl0eVRlc3QsIFRlc3RXaW5kb3dzRW5naW5lKSB7Ci0gICAgICAgICAgICAgRXhwbG9pdGFiaWxp dHlGb3IoInJlYWRfYXZfY2xvYmJlcl93cml0ZS5kbXAiKSk7Ci0gICBBU1NFUlRfRVEoZ29vZ2xl X2JyZWFrcGFkOjpFWFBMT0lUQUJJTElUWV9MT1csCi0gICAgICAgICAgICAgRXhwbG9pdGFiaWxp dHlGb3IoInJlYWRfYXZfY29uZGl0aW9uYWwuZG1wIikpOwotKyNlbmRpZgotIH0KLSAKLSBURVNU KEV4cGxvaXRhYmlsaXR5VGVzdCwgVGVzdExpbnV4RW5naW5lKSB7Ci0rLy8gVGhlIGZvbGxvd2lu ZyB0ZXN0cyBhcmUgb25seSBleGVjdXRhYmxlIG9uIGFuIHg4Ni1jbGFzcyBsaW51eCBtYWNoaW5l LgotKyNpZiBkZWZpbmVkKF9faTM4NikgfHwgZGVmaW5lZChfX3g4Nl82NCkKLSAgIEFTU0VSVF9F UShnb29nbGVfYnJlYWtwYWQ6OkVYUExPSVRBQklMSVRZX0lOVEVSRVNUSU5HLAotICAgICAgICAg ICAgIEV4cGxvaXRhYmlsaXR5Rm9yKCJsaW51eF9udWxsX3JlYWRfYXYuZG1wIikpOwotICAgQVNT RVJUX0VRKGdvb2dsZV9icmVha3BhZDo6RVhQTE9JVEFCSUxJVFlfSElHSCwKLUBAIC0xNzEsNyAr MTc2LDggQEAgVEVTVChFeHBsb2l0YWJpbGl0eVRlc3QsIFRlc3RMaW51eEVuZ2luZSkgewotICAg ICAgICAgICAgIEV4cGxvaXRhYmlsaXR5Rm9yKCJsaW51eF9leGVjdXRhYmxlX2hlYXAuZG1wIikp OwotICAgQVNTRVJUX0VRKGdvb2dsZV9icmVha3BhZDo6RVhQTE9JVEFCSUxJVFlfSElHSCwKLSAg ICAgICAgICAgICBFeHBsb2l0YWJpbGl0eUZvcigibGludXhfam1wX3RvX21vZHVsZV9ub3RfZXhl X3JlZ2lvbi5kbXAiKSk7Ci0tI2lmbmRlZiBfV0lOMzIKLSsjZW5kaWYKLSsjaWYgIWRlZmluZWQo X1dJTjMyKSAmJiAoZGVmaW5lZChfX2kzODYpIHx8IGRlZmluZWQoX194ODZfNjQpKQotICAgQVNT RVJUX0VRKGdvb2dsZV9icmVha3BhZDo6RVhQTE9JVEFCSUxJVFlfSElHSCwKLSAgICAgICAgICAg ICBFeHBsb2l0YWJpbGl0eUZvcigibGludXhfd3JpdGVfdG9fbm9ud3JpdGFibGVfbW9kdWxlLmRt cCIpKTsKLSAgIEFTU0VSVF9FUShnb29nbGVfYnJlYWtwYWQ6OkVYUExPSVRBQklMSVRZX0hJR0gs Ci1AQCAtMTgyLDEwICsxODgsMTAgQEAgVEVTVChFeHBsb2l0YWJpbGl0eVRlc3QsIFRlc3RMaW51 eEVuZ2luZSkgewotICAgICAgICAgICAgIEV4cGxvaXRhYmlsaXR5Rm9yKCJsaW51eF93cml0ZV90 b19vdXRzaWRlX21vZHVsZV92aWFfbWF0aC5kbXAiKSk7Ci0gICBBU1NFUlRfRVEoZ29vZ2xlX2Jy ZWFrcGFkOjpFWFBMT0lUQUJJTElUWV9JTlRFUkVTVElORywKLSAgICAgICAgICAgICBFeHBsb2l0 YWJpbGl0eUZvcigibGludXhfd3JpdGVfdG9fdW5kZXJfNGsuZG1wIikpOwotLSNlbmRpZiAgLy8g X1dJTjMyCi0rI2VuZGlmICAvLyAhZGVmaW5lZChfV0lOMzIpICYmICghZGVmaW5lZChfX2kzODYp ICYmICFkZWZpbmVkKF9feDg2XzY0KSkKLSB9Ci0gCi0tI2lmbmRlZiBfV0lOMzIKLSsjaWYgIWRl ZmluZWQoX1dJTjMyKSAmJiAoZGVmaW5lZChfX2kzODYpIHx8IGRlZmluZWQoX194ODZfNjQpKQot IFRFU1QoRXhwbG9pdGFiaWxpdHlMaW51eFV0aWxzVGVzdCwgRGlzYXNzZW1ibGVCeXRlc1Rlc3Qp IHsKLSAgIEFTU0VSVF9GQUxTRShFeHBsb2l0YWJpbGl0eUxpbnV4VGVzdDo6RGlzYXNzZW1ibGVC eXRlcygiIiwgTlVMTCwgNSwgTlVMTCkpOwotICAgdWludDhfdCBieXRlc1s2XSA9IHsweGM3LCAw eDAsIDB4NSwgMHgwLCAweDAsIDB4MH07Ci1AQCAtMzAxLDYgKzMwNyw3IEBAIFRFU1QoRXhwbG9p dGFiaWxpdHlMaW51eFV0aWxzVGVzdCwgQ2FsY3VsYXRlQWRkcmVzc1Rlc3QpIHsKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0 LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICZ3cml0ZV9hZGRyZXNzKSk7Ci0gfQotLSNlbmRpZiAgLy8gX1dJTjMyCi0rI2VuZGlmICAv LyAhZGVmaW5lZChfV0lOMzIpICYmIChkZWZpbmVkKF9faTM4NikgfHwgZGVmaW5lZChfX3g4Nl82 NCkpCi0rCi0gCi0gfSAgLy8gbmFtZXNwYWNlCi1kaWZmIC0tZ2l0IHF0d2ViZW5naW5lL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvdG9vbHMv bGludXgvbWQyY29yZS9taW5pZHVtcC0yLWNvcmUuY2MgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy90b29scy9saW51eC9t ZDJjb3JlL21pbmlkdW1wLTItY29yZS5jYwotaW5kZXggOGNjMDdhNmVmLi5mNjc1NTY5MTQgMTAw NjQ0Ci0tLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2Jy ZWFrcGFkL2JyZWFrcGFkL3NyYy90b29scy9saW51eC9tZDJjb3JlL21pbmlkdW1wLTItY29yZS5j YwotKysrIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVh a3BhZC9icmVha3BhZC9zcmMvdG9vbHMvbGludXgvbWQyY29yZS9taW5pZHVtcC0yLWNvcmUuY2MK LUBAIC03Niw2ICs3Niw4IEBACi0gICAjZGVmaW5lIEVMRl9BUkNIICBFTV9NSVBTCi0gI2VsaWYg ZGVmaW5lZChfX2FhcmNoNjRfXykKLSAgICNkZWZpbmUgRUxGX0FSQ0ggIEVNX0FBUkNINjQKLSsj ZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0rICAjZGVmaW5lIEVMRl9BUkNIICBFTV9QUEM2 NAotICNlbmRpZgotIAotICNpZiBkZWZpbmVkKF9fYXJtX18pCi1AQCAtODYsNiArODgsOCBAQCB0 eXBlZGVmIHVzZXJfcmVncyB1c2VyX3JlZ3Nfc3RydWN0OwotICNlbGlmIGRlZmluZWQgKF9fbWlw c19fKQotIC8vIFRoaXMgZmlsZS1sb2NhbCB0eXBlZGVmIHNpbXBsaWZpZXMgdGhlIHNvdXJjZSBj b2RlLgotIHR5cGVkZWYgZ3JlZ3NldF90IHVzZXJfcmVnc19zdHJ1Y3Q7Ci0rI2VsaWYgZGVmaW5l ZChfX3Bvd2VycGM2NF9fKQotK3R5cGVkZWYgc3RydWN0IHB0X3JlZ3MgdXNlcl9yZWdzX3N0cnVj dDsKLSAjZW5kaWYKLSAKLSB1c2luZyBnb29nbGVfYnJlYWtwYWQ6Ok1EVHlwZUhlbHBlcjsKLUBA IC0zMjAsNiArMzI0LDkgQEAgc3RydWN0IENyYXNoZWRQcm9jZXNzIHsKLSAjZW5kaWYKLSAjaWYg ZGVmaW5lZChfX2FhcmNoNjRfXykKLSAgICAgdXNlcl9mcHNpbWRfc3RydWN0IGZwcmVnczsKLSsj ZW5kaWYKLSsjaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotKyAgICBtY29udGV4dF90IG1jb250 ZXh0OwotICNlbmRpZgotICAgICB1aW50cHRyX3Qgc3RhY2tfYWRkcjsKLSAgICAgY29uc3QgdWlu dDhfdCogc3RhY2s7Ci1AQCAtNTIzLDYgKzUzMCwzOCBAQCBQYXJzZVRocmVhZFJlZ2lzdGVycyhD cmFzaGVkUHJvY2Vzczo6VGhyZWFkKiB0aHJlYWQsCi0gICB0aHJlYWQtPm1jb250ZXh0LmZwY19l aXIgPSByYXdyZWdzLT5mbG9hdF9zYXZlLmZpcjsKLSAjZW5kaWYKLSB9Ci0rI2VsaWYgZGVmaW5l ZChfX3Bvd2VycGM2NF9fKQotK3N0YXRpYyB2b2lkCi0rUGFyc2VUaHJlYWRSZWdpc3RlcnMoQ3Jh c2hlZFByb2Nlc3M6OlRocmVhZCogdGhyZWFkLAotKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IE1pbmlkdW1wTWVtb3J5UmFuZ2UmIHJhbmdlKSB7Ci0rICBjb25zdCBNRFJhd0NvbnRleHRQUEM2 NCogcmF3cmVncyA9IHJhbmdlLkdldERhdGE8TURSYXdDb250ZXh0UFBDNjQ+KDApOwotKwotKyAg Zm9yIChpbnQgaSA9IDA7IGkgPCBNRF9DT05URVhUX1BQQzY0X0dQUl9DT1VOVDsgaSsrKQotKyAg ICB0aHJlYWQtPm1jb250ZXh0LmdwX3JlZ3NbaV0gPSByYXdyZWdzLT5ncHJbaV07Ci0rCi0rICB0 aHJlYWQtPm1jb250ZXh0LmdwX3JlZ3NbUFRfTE5LXSA9IHJhd3JlZ3MtPmxyOwotKyAgdGhyZWFk LT5tY29udGV4dC5ncF9yZWdzW1BUX05JUF0gPSByYXdyZWdzLT5zcnIwOwotKyAgdGhyZWFkLT5t Y29udGV4dC5ncF9yZWdzW1BUX01TUl0gPSByYXdyZWdzLT5zcnIxOwotKyAgdGhyZWFkLT5tY29u dGV4dC5ncF9yZWdzW1BUX0NDUl0gPSByYXdyZWdzLT5jcjsKLSsgIHRocmVhZC0+bWNvbnRleHQu Z3BfcmVnc1tQVF9YRVJdID0gcmF3cmVncy0+eGVyOwotKyAgdGhyZWFkLT5tY29udGV4dC5ncF9y ZWdzW1BUX0NUUl0gPSByYXdyZWdzLT5jdHI7Ci0rICB0aHJlYWQtPm1jb250ZXh0LnZfcmVncy0+ dnJzYXZlID0gcmF3cmVncy0+dnJzYXZlOwotKwotKyAgZm9yIChpbnQgaSA9IDA7IGkgPCBNRF9G TE9BVElOR1NBVkVBUkVBX1BQQ19GUFJfQ09VTlQ7IGkrKykKLSsgICAgICB0aHJlYWQtPm1jb250 ZXh0LmZwX3JlZ3NbaV0gPSByYXdyZWdzLT5mbG9hdF9zYXZlLmZwcmVnc1tpXTsKLSsKLSsgIHRo cmVhZC0+bWNvbnRleHQuZnBfcmVnc1tORlBSRUctMV0gPSByYXdyZWdzLT5mbG9hdF9zYXZlLmZw c2NyOwotKwotKyAgZm9yIChpbnQgaSA9IDA7IGkgPCBNRF9WRUNUT1JTQVZFQVJFQV9QUENfVlJf Q09VTlQ7IGkrKykgewotKyAgICAgIHRocmVhZC0+bWNvbnRleHQudl9yZWdzLT52cnJlZ3NbaV1b MF0gPSByYXdyZWdzLT52ZWN0b3Jfc2F2ZS5zYXZlX3ZyW2ldLmhpZ2ggPj4gMzI7Ci0rICAgICAg dGhyZWFkLT5tY29udGV4dC52X3JlZ3MtPnZycmVnc1tpXVsxXSA9IHJhd3JlZ3MtPnZlY3Rvcl9z YXZlLnNhdmVfdnJbaV0uaGlnaDsKLSsgICAgICB0aHJlYWQtPm1jb250ZXh0LnZfcmVncy0+dnJy ZWdzW2ldWzJdID0gcmF3cmVncy0+dmVjdG9yX3NhdmUuc2F2ZV92cltpXS5sb3cgPj4gMzI7Ci0r ICAgICAgdGhyZWFkLT5tY29udGV4dC52X3JlZ3MtPnZycmVnc1tpXVszXSA9IHJhd3JlZ3MtPnZl Y3Rvcl9zYXZlLnNhdmVfdnJbaV0ubG93OwotKyAgfQotKwotKyAgdGhyZWFkLT5tY29udGV4dC52 X3JlZ3MtPnZzY3IudnNjcl93b3JkID0gcmF3cmVncy0+dmVjdG9yX3NhdmUuc2F2ZV92c2NyLmxv dyAmIDB4RkZGRkZGRkY7Ci0rfQotKwotICNlbHNlCi0gI2Vycm9yICJUaGlzIGNvZGUgaGFzIG5v dCBiZWVuIHBvcnRlZCB0byB5b3VyIHBsYXRmb3JtIHlldCIKLSAjZW5kaWYKLUBAIC02MTEsNiAr NjUwLDEyIEBAIFBhcnNlU3lzdGVtSW5mbyhjb25zdCBPcHRpb25zJiBvcHRpb25zLCBDcmFzaGVk UHJvY2VzcyogY3Jhc2hpbmZvLAotICMgZWxzZQotICMgIGVycm9yICJUaGlzIG1pcHMgQUJJIGlz IGN1cnJlbnRseSBub3Qgc3VwcG9ydGVkIChuMzIpIgotICMgZW5kaWYKLSsjZWxpZiBkZWZpbmVk KF9fcG93ZXJwYzY0X18pCi0rICBpZiAoc3lzaW5mby0+cHJvY2Vzc29yX2FyY2hpdGVjdHVyZSAh PSBNRF9DUFVfQVJDSElURUNUVVJFX1BQQzY0KSB7Ci0rICAgIGZwcmludGYoc3RkZXJyLAotKyAg ICAgICAgICAgICJUaGlzIHZlcnNpb24gb2YgbWluaWR1bXAtMi1jb3JlIG9ubHkgc3VwcG9ydHMg UFBDNjQuXG4iKTsKLSsgICAgZXhpdCgxKTsKLSsgIH0KLSAjZWxzZQotICNlcnJvciAiVGhpcyBj b2RlIGhhcyBub3QgYmVlbiBwb3J0ZWQgdG8geW91ciBwbGF0Zm9ybSB5ZXQiCi0gI2VuZGlmCi1k aWZmIC0tZ2l0IHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9j cmFzaHBhZC9jcmFzaHBhZC9taW5pZHVtcC9taW5pZHVtcF9taXNjX2luZm9fd3JpdGVyLmNjIHF0 d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFz aHBhZC9taW5pZHVtcC9taW5pZHVtcF9taXNjX2luZm9fd3JpdGVyLmNjCi1pbmRleCBjMWUyNDg5 MmYuLmVlMThkMzMxNSAxMDA2NDQKLS0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21p dW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1bXBfbWlzY19p bmZvX3dyaXRlci5jYwotKysrIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGly ZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9taW5pZHVtcC9taW5pZHVtcF9taXNjX2luZm9fd3Jp dGVyLmNjCi1AQCAtMTIyLDYgKzEyMiw4IEBAIHN0ZDo6c3RyaW5nIE1pbmlkdW1wTWlzY0luZm9E ZWJ1Z0J1aWxkU3RyaW5nKCkgewotICAgc3RhdGljIGNvbnN0ZXhwciBjaGFyIGtDUFVbXSA9ICJh cm0iOwotICNlbGlmIGRlZmluZWQoQVJDSF9DUFVfQVJNNjQpCi0gICBzdGF0aWMgY29uc3RleHBy IGNoYXIga0NQVVtdID0gImFybTY0IjsKLSsjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0KQot KyAgc3RhdGljIGNvbnN0ZXhwciBjaGFyIGtDUFVbXSA9ICJwcGM2NCI7Ci0gI2Vsc2UKLSAjZXJy b3IgZGVmaW5lIGtDUFUgZm9yIHRoaXMgQ1BVCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IHF0d2ViZW5n aW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9sc3MvbGludXhfc3lzY2FsbF9z dXBwb3J0LmggcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2xz cy9saW51eF9zeXNjYWxsX3N1cHBvcnQuaAotaW5kZXggZTgxZTdiNDIwLi41MTFhNTRlNGUgMTAw NjQ0Ci0tLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2xz cy9saW51eF9zeXNjYWxsX3N1cHBvcnQuaAotKysrIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS90aGlyZF9wYXJ0eS9sc3MvbGludXhfc3lzY2FsbF9zdXBwb3J0LmgKLUBAIC0zOTE0 LDcgKzM5MTQsNyBAQCBzdHJ1Y3Qga2VybmVsX3N0YXRmcyB7Ci0gICAgICAgTFNTX1JFRygyLCBi dWYpOwotICAgICAgIExTU19CT0RZKHZvaWQqLCBtbWFwMiwgIjAiKF9fcjIpKTsKLSAgICAgfQot LSNlbHNlCi0rI2VsaWYgIWRlZmluZWQoX19wb3dlcnBjNjRfXykgLyogcHBjNjQgZG9lc24ndCBo YXZlIG1tYXAyICovCi0gICAgICNkZWZpbmUgX19OUl9fbW1hcDIgX19OUl9tbWFwMgotICAgICBM U1NfSU5MSU5FIF9zeXNjYWxsNih2b2lkKiwgX21tYXAyLCAgICAgICAgICAgIHZvaWQqLCBzLAot ICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QsICAgICAgICAgICAgICAgICAgIGwsIGlu dCwgICAgICAgICAgICAgICBwLAotQEAgLTQwNDUsNyArNDA0NSw3IEBAIHN0cnVjdCBrZXJuZWxf c3RhdGZzIHsKLSAgICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgZGVmaW5lZChfX0FSTV9B UkNIXzNfXykgfHwgZGVmaW5lZChfX0FSTV9FQUJJX18pIHx8ICAgICAgICAgICAgICAgICAgICAg XAotICAgICAgKGRlZmluZWQoX19taXBzX18pICYmIF9NSVBTX1NJTSA9PSBfTUlQU19TSU1fQUJJ MzIpIHx8ICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICBkZWZpbmVkKF9fUFBDX18pIHx8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0rICAg ICAoZGVmaW5lZChfX1BQQ19fKSAmJiAhZGVmaW5lZChfX3Bvd2VycGM2NF9fKSkgfHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIChk ZWZpbmVkKF9fczM5MF9fKSAmJiAhZGVmaW5lZChfX3MzOTB4X18pKQotICAgICAvKiBPbiB0aGVz ZSBhcmNoaXRlY3R1cmVzLCBpbXBsZW1lbnQgbW1hcCgpIHdpdGggbW1hcDIoKS4gKi8KLSAgICAg TFNTX0lOTElORSB2b2lkKiBMU1NfTkFNRShtbWFwKSh2b2lkICpzLCBzaXplX3QgbCwgaW50IHAs IGludCBmLCBpbnQgZCwKLWRpZmYgLS1naXQgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL3RoaXJkX3BhcnR5L3BkZml1bS90aGlyZF9wYXJ0eS9iYXNlL2FsbG9jYXRvci9wYXJ0aXRp b25fYWxsb2NhdG9yL3BhZ2VfYWxsb2NhdG9yLmggcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2No cm9taXVtL3RoaXJkX3BhcnR5L3BkZml1bS90aGlyZF9wYXJ0eS9iYXNlL2FsbG9jYXRvci9wYXJ0 aXRpb25fYWxsb2NhdG9yL3BhZ2VfYWxsb2NhdG9yLmgKLWluZGV4IGFlZTI1MzI0OC4uMjVlZTQw MWU4IDEwMDY0NAotLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9w YXJ0eS9wZGZpdW0vdGhpcmRfcGFydHkvYmFzZS9hbGxvY2F0b3IvcGFydGl0aW9uX2FsbG9jYXRv ci9wYWdlX2FsbG9jYXRvci5oCi0rKysgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVt L3RoaXJkX3BhcnR5L3BkZml1bS90aGlyZF9wYXJ0eS9iYXNlL2FsbG9jYXRvci9wYXJ0aXRpb25f YWxsb2NhdG9yL3BhZ2VfYWxsb2NhdG9yLmgKLUBAIC0xNiw3ICsxNiw3IEBACi0gbmFtZXNwYWNl IHBkZml1bSB7Ci0gbmFtZXNwYWNlIGJhc2UgewotIAotLSNpZiBkZWZpbmVkKE9TX1dJTikKLSsj aWYgZGVmaW5lZChPU19XSU4pIHx8IGRlZmluZWQoQVJDSF9DUFVfUFBDNjQpCi0gc3RhdGljIGNv bnN0IHNpemVfdCBrUGFnZUFsbG9jYXRpb25HcmFudWxhcml0eVNoaWZ0ID0gMTY7ICAvLyA2NEtC Ci0gI2VsaWYgZGVmaW5lZChfTUlQU19BUkNIX0xPT05HU09OKQotIHN0YXRpYyBjb25zdCBzaXpl X3Qga1BhZ2VBbGxvY2F0aW9uR3JhbnVsYXJpdHlTaGlmdCA9IDE0OyAgLy8gMTZLQgotQEAgLTM1 LDYgKzM1LDEwIEBAIHN0YXRpYyBjb25zdCBzaXplX3Qga1BhZ2VBbGxvY2F0aW9uR3JhbnVsYXJp dHlCYXNlTWFzayA9Ci0gLy8gTG9vbmdzb24gaGF2ZSAxNjM4NCBzaXplZCBzeXN0ZW0gcGFnZXMu Ci0gI2lmIGRlZmluZWQoX01JUFNfQVJDSF9MT09OR1NPTikKLSBzdGF0aWMgY29uc3Qgc2l6ZV90 IGtTeXN0ZW1QYWdlU2l6ZSA9IDE2Mzg0OwotKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUFBDNjQp Ci0rLy8gVE9ETzogbW9kZXJuIHBwYzY0IGNhbiBkbyA0ayBhbmQgNjRrIHBhZ2Ugc2l6ZXMKLSsv LyBmb3Igbm93LCA2NGsgaXMgYXNzdW1lZAotK3N0YXRpYyBjb25zdGV4cHIgc2l6ZV90IGtTeXN0 ZW1QYWdlU2l6ZSA9IDY1NTM2OwotICNlbHNlCi0gc3RhdGljIGNvbnN0IHNpemVfdCBrU3lzdGVt UGFnZVNpemUgPSA0MDk2OwotICNlbmRpZgotZGlmZiAtLWdpdCBxdHdlYmVuZ2luZS9zcmMvM3Jk cGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvcGRmaXVtL3RoaXJkX3BhcnR5L2Jhc2UvYWxsb2Nh dG9yL3BhcnRpdGlvbl9hbGxvY2F0b3IvcGFydGl0aW9uX2FsbG9jLmggcXR3ZWJlbmdpbmUvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3BkZml1bS90aGlyZF9wYXJ0eS9iYXNlL2Fs bG9jYXRvci9wYXJ0aXRpb25fYWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxvYy5oCi1pbmRleCA3ZTg0 MTVjNzYuLjk5OGViNmUxNCAxMDA2NDQKLS0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hy b21pdW0vdGhpcmRfcGFydHkvcGRmaXVtL3RoaXJkX3BhcnR5L2Jhc2UvYWxsb2NhdG9yL3BhcnRp dGlvbl9hbGxvY2F0b3IvcGFydGl0aW9uX2FsbG9jLmgKLSsrKyBxdHdlYmVuZ2luZS9zcmMvM3Jk cGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvcGRmaXVtL3RoaXJkX3BhcnR5L2Jhc2UvYWxsb2Nh dG9yL3BhcnRpdGlvbl9hbGxvY2F0b3IvcGFydGl0aW9uX2FsbG9jLmgKLUBAIC05Nyw2ICs5Nyw4 IEBAIHN0YXRpYyBjb25zdCBzaXplX3Qga0J1Y2tldFNoaWZ0ID0gKGtBbGxvY2F0aW9uR3JhbnVs YXJpdHkgPT0gOCkgPyAzIDogMjsKLSAvLyBhZ2FpbnN0IHRoZSBlbmQgb2YgYSBzeXN0ZW0gcGFn ZS4KLSAjaWYgZGVmaW5lZChfTUlQU19BUkNIX0xPT05HU09OKQotIHN0YXRpYyBjb25zdCBzaXpl X3Qga1BhcnRpdGlvblBhZ2VTaGlmdCA9IDE2OyAgLy8gNjRLQgotKyNlbGlmIGRlZmluZWQoQVJD SF9DUFVfUFBDNjQpCi0rc3RhdGljIGNvbnN0IHNpemVfdCBrUGFydGl0aW9uUGFnZVNoaWZ0ID0g MTg7ICAvLyAyNTZLQgotICNlbHNlCi0gc3RhdGljIGNvbnN0IHNpemVfdCBrUGFydGl0aW9uUGFn ZVNoaWZ0ID0gMTQ7ICAvLyAxNktCCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IHF0d2ViZW5naW5lL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9wZGZpdW0vdGhpcmRfcGFydHkvYmFzZS9h bGxvY2F0b3IvcGFydGl0aW9uX2FsbG9jYXRvci9zcGluX2xvY2suY2MgcXR3ZWJlbmdpbmUvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3BkZml1bS90aGlyZF9wYXJ0eS9iYXNlL2Fs bG9jYXRvci9wYXJ0aXRpb25fYWxsb2NhdG9yL3NwaW5fbG9jay5jYwotaW5kZXggOGQ3MTUxYThi Li41OTZjNWUxYjkgMTAwNjQ0Ci0tLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVt L3RoaXJkX3BhcnR5L3BkZml1bS90aGlyZF9wYXJ0eS9iYXNlL2FsbG9jYXRvci9wYXJ0aXRpb25f YWxsb2NhdG9yL3NwaW5fbG9jay5jYwotKysrIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS90aGlyZF9wYXJ0eS9wZGZpdW0vdGhpcmRfcGFydHkvYmFzZS9hbGxvY2F0b3IvcGFydGl0 aW9uX2FsbG9jYXRvci9zcGluX2xvY2suY2MKLUBAIC0zNyw2ICszNyw4IEBACi0gLy8gRG9uJ3Qg Ym90aGVyIGRvaW5nIHVzaW5nIC53b3JkIGhlcmUgc2luY2UgcjIgaXMgdGhlIGxvd2VzdCBzdXBw b3J0ZWQgbWlwczY0Ci0gLy8gdGhhdCBDaHJvbWl1bSBzdXBwb3J0cy4KLSAjZGVmaW5lIFlJRUxE X1BST0NFU1NPUiBfX2FzbV9fIF9fdm9sYXRpbGVfXygicGF1c2UiKQotKyNlbGlmIGRlZmluZWQo QVJDSF9DUFVfUFBDNjRfRkFNSUxZKQotKyNkZWZpbmUgWUlFTERfUFJPQ0VTU09SIF9fYXNtX18g X192b2xhdGlsZV9fKCJvciAzMSwzMSwzMSIpCi0gI2VuZGlmCi0gI2VuZGlmCi0gCi1kaWZmIC0t Z2l0IHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9zcWxpdGUv YW1hbGdhbWF0aW9uL3NxbGl0ZTMuYyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0v dGhpcmRfcGFydHkvc3FsaXRlL2FtYWxnYW1hdGlvbi9zcWxpdGUzLmMKLWluZGV4IGM1MjgzZGQw Mi4uNjcyMDY4OTczIDEwMDY0NAotLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS90aGlyZF9wYXJ0eS9zcWxpdGUvYW1hbGdhbWF0aW9uL3NxbGl0ZTMuYwotKysrIHF0d2ViZW5n aW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9zcWxpdGUvYW1hbGdhbWF0aW9u L3NxbGl0ZTMuYwotQEAgLTEyOTIwLDcgKzEyOTIwLDggQEAgdHlwZWRlZiBJTlQxNl9UWVBFIExv Z0VzdDsKLSAjIGlmIGRlZmluZWQoaTM4NikgICAgIHx8IGRlZmluZWQoX19pMzg2X18pICAgfHwg ZGVmaW5lZChfTV9JWDg2KSB8fCAgICBcCi0gICAgICBkZWZpbmVkKF9feDg2XzY0KSB8fCBkZWZp bmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX01fWDY0KSAgfHwgICAgXAotICAgICAgZGVmaW5l ZChfTV9BTUQ2NCkgfHwgZGVmaW5lZChfTV9BUk0pICAgICB8fCBkZWZpbmVkKF9feDg2KSAgIHx8 ICAgIFwKLS0gICAgIGRlZmluZWQoX19hcm1fXykKLSsgICAgIGRlZmluZWQoX19hcm1fXykgfHwg KGRlZmluZWQoX19wb3dlcnBjNjRfXykgJiYgXAotKyAgICAgKF9fQllURV9PUkRFUl9fID09IF9f T1JERVJfTElUVExFX0VORElBTl9fKSkKLSAjICAgZGVmaW5lIFNRTElURV9CWVRFT1JERVIgICAg MTIzNAotICMgZWxpZiBkZWZpbmVkKHNwYXJjKSAgICB8fCBkZWZpbmVkKF9fcHBjX18pCi0gIyAg IGRlZmluZSBTUUxJVEVfQllURU9SREVSICAgIDQzMjEKLWRpZmYgLS1naXQgcXR3ZWJlbmdpbmUv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3NxbGl0ZS9zcmMvc3JjL3NxbGl0ZUlu dC5oIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9zcWxpdGUv c3JjL3NyYy9zcWxpdGVJbnQuaAotaW5kZXggZDEyMTQ4ZDQyLi4zOWVmYTgwZDQgMTAwNjQ0Ci0t LS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3NxbGl0ZS9z cmMvc3JjL3NxbGl0ZUludC5oCi0rKysgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVt L3RoaXJkX3BhcnR5L3NxbGl0ZS9zcmMvc3JjL3NxbGl0ZUludC5oCi1AQCAtODI1LDcgKzgyNSw4 IEBAIHR5cGVkZWYgSU5UMTZfVFlQRSBMb2dFc3Q7Ci0gIyBpZiBkZWZpbmVkKGkzODYpICAgICB8 fCBkZWZpbmVkKF9faTM4Nl9fKSAgIHx8IGRlZmluZWQoX01fSVg4NikgfHwgICAgXAotICAgICAg ZGVmaW5lZChfX3g4Nl82NCkgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9NX1g2 NCkgIHx8ICAgIFwKLSAgICAgIGRlZmluZWQoX01fQU1ENjQpIHx8IGRlZmluZWQoX01fQVJNKSAg ICAgfHwgZGVmaW5lZChfX3g4NikgICB8fCAgICBcCi0tICAgICBkZWZpbmVkKF9fYXJtX18pCi0r ICAgICBkZWZpbmVkKF9fYXJtX18pIHx8IChkZWZpbmVkKF9fcG93ZXJwYzY0X18pICYmIFwKLSsg ICAgIChfX0JZVEVfT1JERVJfXyA9PSBfX09SREVSX0xJVFRMRV9FTkRJQU5fXykpCi0gIyAgIGRl ZmluZSBTUUxJVEVfQllURU9SREVSICAgIDEyMzQKLSAjIGVsaWYgZGVmaW5lZChzcGFyYykgICAg fHwgZGVmaW5lZChfX3BwY19fKQotICMgICBkZWZpbmUgU1FMSVRFX0JZVEVPUkRFUiAgICA0MzIx Ci1kaWZmIC0tZ2l0IHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0 eS93ZWJydGMvbW9kdWxlcy9kZXNrdG9wX2NhcHR1cmUvZGlmZmVyX2Jsb2NrLmNjIHF0d2ViZW5n aW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS93ZWJydGMvbW9kdWxlcy9kZXNr dG9wX2NhcHR1cmUvZGlmZmVyX2Jsb2NrLmNjCi1pbmRleCAzMzE1MjQ3MjMuLmYxMDM5NDA0MyAx MDA2NDQKLS0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkv d2VicnRjL21vZHVsZXMvZGVza3RvcF9jYXB0dXJlL2RpZmZlcl9ibG9jay5jYwotKysrIHF0d2Vi ZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS93ZWJydGMvbW9kdWxlcy9k ZXNrdG9wX2NhcHR1cmUvZGlmZmVyX2Jsb2NrLmNjCi1AQCAtMzAsMTEgKzMwLDcgQEAgYm9vbCBW ZWN0b3JEaWZmZXJlbmNlKGNvbnN0IHVpbnQ4X3QqIGltYWdlMSwgY29uc3QgdWludDhfdCogaW1h Z2UyKSB7Ci0gICBzdGF0aWMgYm9vbCAoKmRpZmZfcHJvYykoY29uc3QgdWludDhfdCosIGNvbnN0 IHVpbnQ4X3QqKSA9IG51bGxwdHI7Ci0gCi0gICBpZiAoIWRpZmZfcHJvYykgewotLSNpZiBkZWZp bmVkKFdFQlJUQ19BUkNIX0FSTV9GQU1JTFkpIHx8IGRlZmluZWQoV0VCUlRDX0FSQ0hfTUlQU19G QU1JTFkpCi0tICAgIC8vIEZvciBBUk0gYW5kIE1JUFMgcHJvY2Vzc29ycywgYWx3YXlzIHVzZSBD IHZlcnNpb24uCi0tICAgIC8vIFRPRE8oaGNsYW0pOiBJbXBsZW1lbnQgYSBORU9OIHZlcnNpb24u Ci0tICAgIGRpZmZfcHJvYyA9ICZWZWN0b3JEaWZmZXJlbmNlX0M7Ci0tI2Vsc2UKLSsjaWYgZGVm aW5lZChXRUJSVENfQVJDSF9YODZfRkFNSUxZKQotICAgICBib29sIGhhdmVfc3NlMiA9IFdlYlJ0 Y19HZXRDUFVJbmZvKGtTU0UyKSAhPSAwOwotICAgICAvLyBGb3IgeDg2IHByb2Nlc3NvcnMsIGNo ZWNrIGlmIFNTRTIgaXMgc3VwcG9ydGVkLgotICAgICBpZiAoaGF2ZV9zc2UyICYmIGtCbG9ja1Np emUgPT0gMzIpIHsKLUBAIC00NCw2ICs0MCwxMCBAQCBib29sIFZlY3RvckRpZmZlcmVuY2UoY29u c3QgdWludDhfdCogaW1hZ2UxLCBjb25zdCB1aW50OF90KiBpbWFnZTIpIHsKLSAgICAgfSBlbHNl IHsKLSAgICAgICBkaWZmX3Byb2MgPSAmVmVjdG9yRGlmZmVyZW5jZV9DOwotICAgICB9Ci0rI2Vs c2UKLSsgICAgLy8gRm9yIG90aGVyIHByb2Nlc3NvcnMsIGFsd2F5cyB1c2UgQyB2ZXJzaW9uLgot KyAgICAvLyBUT0RPKGhjbGFtKTogSW1wbGVtZW50IGEgTkVPTiB2ZXJzaW9uLgotKyAgICBkaWZm X3Byb2MgPSAmVmVjdG9yRGlmZmVyZW5jZV9DOwotICNlbmRpZgotICAgfQotIAotZGlmZiAtLWdp dCBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvd2VicnRjL3R5 cGVkZWZzLmggcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3dl YnJ0Yy90eXBlZGVmcy5oCi1pbmRleCA3MjdiZjgzZGUuLmQzYTJiYTZhNCAxMDA2NDQKLS0tLSBx dHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvd2VicnRjL3R5cGVk ZWZzLmgKLSsrKyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkv d2VicnRjL3R5cGVkZWZzLmgKLUBAIC01MCw2ICs1MCwxOCBAQAotICNlbGlmIGRlZmluZWQoX19N SVBTRUJfXykKLSAjZGVmaW5lIFdFQlJUQ19BUkNIX01JUFNfRkFNSUxZCi0gI2RlZmluZSBXRUJS VENfQVJDSF9CSUdfRU5ESUFOCi0rI2VsaWYgZGVmaW5lZChfX1BQQ19fKQotKyNkZWZpbmUgV0VC UlRDX0FSQ0hfUFBDX0ZBTUlMWQotKyNpZiBfX0JZVEVfT1JERVJfXyA9PSBfX09SREVSX0xJVFRM RV9FTkRJQU5fXwotKyNkZWZpbmUgV0VCUlRDX0FSQ0hfTElUVExFX0VORElBTgotKyNlbHNlCi0r I2RlZmluZSBXRUJSVENfQVJDSF9CSUdfRU5ESUFOCi0rI2VuZGlmCi0rI2lmIGRlZmluZWQoX19M UDY0X18pCi0rI2RlZmluZSBXRUJSVENfQVJDSF82NF9CSVRTCi0rI2Vsc2UKLSsjZGVmaW5lIFdF QlJUQ19BUkNIXzMyX0JJVFMKLSsjZW5kaWYKLSAjZWxzZQotICNlcnJvciBQbGVhc2UgYWRkIHN1 cHBvcnQgZm9yIHlvdXIgYXJjaGl0ZWN0dXJlIGluIHR5cGVkZWZzLmgKLSAjZW5kaWYKLWRpZmYg LS1naXQgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3dlYnJ0 Yy93ZWJydGMuZ25pIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0 eS93ZWJydGMvd2VicnRjLmduaQotaW5kZXggZmIxZDc3Y2FkLi4yMmZjNzY2OTcgMTAwNjQ0Ci0t LS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3dlYnJ0Yy93 ZWJydGMuZ25pCi0rKysgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3Bh cnR5L3dlYnJ0Yy93ZWJydGMuZ25pCi1AQCAtMTc3LDcgKzE3Nyw3IEBAIGRlY2xhcmVfYXJncygp IHsKLSAgIH0KLSAKLSAgIGlmICghaXNfaW9zICYmIChjdXJyZW50X2NwdSAhPSAiYXJtIiB8fCBh cm1fdmVyc2lvbiA+PSA3KSAmJgotLSAgICAgIGN1cnJlbnRfY3B1ICE9ICJtaXBzNjRlbCIgJiYg IWJ1aWxkX3dpdGhfbW96aWxsYSkgewotKyAgICAgIGN1cnJlbnRfY3B1ICE9ICJtaXBzNjRlbCIg JiYgY3VycmVudF9jcHUgIT0gInBwYzY0IiAmJiAhYnVpbGRfd2l0aF9tb3ppbGxhKSB7Ci0gICAg IHJ0Y191c2Vfb3Blbm1heF9kbCA9IHRydWUKLSAgIH0gZWxzZSB7Ci0gICAgIHJ0Y191c2Vfb3Bl bm1heF9kbCA9IGZhbHNlCi1kaWZmIC0tZ2l0IHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS92OC9CVUlMRC5nbiBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdjgvQlVJ TEQuZ24KLWluZGV4IDJmNDIwMmExYi4uY2NlMzM5Yjg4IDEwMDY0NAotLS0tIHF0d2ViZW5naW5l L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS92OC9CVUlMRC5nbgotKysrIHF0d2ViZW5naW5lL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS92OC9CVUlMRC5nbgotQEAgLTQ1MCw2ICs0NTAsMTIgQEAgY29uZmln KCJ0b29sY2hhaW4iKSB7Ci0gICAgIH0KLSAgICAgaWYgKGhvc3RfYnl0ZW9yZGVyID09ICJsaXR0 bGUiKSB7Ci0gICAgICAgZGVmaW5lcyArPSBbICJWOF9UQVJHRVRfQVJDSF9QUENfTEUiIF0KLSsg ICAgICAgIGNmbGFncyArPSBbCi0rICAgICAgICAjIEVuYWJsZSB1c2FnZSBvZiBBbHRpVmVjLCBW U1gsIGFuZCBvdGhlciBQT1dFUjggYW5kIGhpZ2hlciBmZWF0dXJlcwotKyAgICAgICAgIi1tY3B1 PXBvd2VyOCIsCi0rICAgICAgICAiLW1hbHRpdmVjIiwKLSsgICAgICAgICItbXZzeCIsCi0rICAg ICAgXQotICAgICB9IGVsc2UgaWYgKGhvc3RfYnl0ZW9yZGVyID09ICJiaWciKSB7Ci0gICAgICAg ZGVmaW5lcyArPSBbICJWOF9UQVJHRVRfQVJDSF9QUENfQkUiIF0KLSAgICAgICBpZiAoY3VycmVu dF9vcyA9PSAiYWl4IikgewotZGlmZiAtLWdpdCBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hy b21pdW0vdjgvc3JjL2J1aWx0aW5zL3BwYy9idWlsdGlucy1wcGMuY2MgcXR3ZWJlbmdpbmUvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL3Y4L3NyYy9idWlsdGlucy9wcGMvYnVpbHRpbnMtcHBjLmNjCi1p bmRleCAzNGRhNzBmZjAuLmE4N2FjMTk2YSAxMDA2NDQKLS0tLSBxdHdlYmVuZ2luZS9zcmMvM3Jk cGFydHkvY2hyb21pdW0vdjgvc3JjL2J1aWx0aW5zL3BwYy9idWlsdGlucy1wcGMuY2MKLSsrKyBx dHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdjgvc3JjL2J1aWx0aW5zL3BwYy9idWls dGlucy1wcGMuY2MKLUBAIC02LDYgKzYsNyBAQAotIAotICNpbmNsdWRlICJzcmMvYXNzZW1ibGVy LWlubC5oIgotICNpbmNsdWRlICJzcmMvY29kZS1zdHVicy5oIgotKyNpbmNsdWRlICJzcmMvY291 bnRlcnMuaCIKLSAjaW5jbHVkZSAic3JjL2RlYnVnL2RlYnVnLmgiCi0gI2luY2x1ZGUgInNyYy9k ZW9wdGltaXplci5oIgotICNpbmNsdWRlICJzcmMvZnJhbWUtY29uc3RhbnRzLmgiCi1kaWZmIC0t Z2l0IHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS92OC9zcmMvYnVpbHRpbnMvczM5 MC9idWlsdGlucy1zMzkwLmNjIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS92OC9z cmMvYnVpbHRpbnMvczM5MC9idWlsdGlucy1zMzkwLmNjCi1pbmRleCAwMjBiMDRiOTEuLjVhYzdl NTY1OSAxMDA2NDQKLS0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdjgvc3Jj L2J1aWx0aW5zL3MzOTAvYnVpbHRpbnMtczM5MC5jYwotKysrIHF0d2ViZW5naW5lL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS92OC9zcmMvYnVpbHRpbnMvczM5MC9idWlsdGlucy1zMzkwLmNjCi1AQCAt Niw2ICs2LDcgQEAKLSAKLSAjaW5jbHVkZSAic3JjL2Fzc2VtYmxlci1pbmwuaCIKLSAjaW5jbHVk ZSAic3JjL2NvZGUtc3R1YnMuaCIKLSsjaW5jbHVkZSAic3JjL2NvdW50ZXJzLmgiCi0gI2luY2x1 ZGUgInNyYy9kZWJ1Zy9kZWJ1Zy5oIgotICNpbmNsdWRlICJzcmMvZGVvcHRpbWl6ZXIuaCIKLSAj aW5jbHVkZSAic3JjL2ZyYW1lLWNvbnN0YW50cy5oIgotZGlmZiAtLWdpdCBxdHdlYmVuZ2luZS9z cmMvM3JkcGFydHkvY2hyb21pdW0vdjgvc3JjL3BwYy9tYWNyby1hc3NlbWJsZXItcHBjLmNjIHF0 d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS92OC9zcmMvcHBjL21hY3JvLWFzc2VtYmxl ci1wcGMuY2MKLWluZGV4IDhkN2MzZDA1Yi4uYmU4MzIyOWE4IDEwMDY0NAotLS0tIHF0d2ViZW5n aW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS92OC9zcmMvcHBjL21hY3JvLWFzc2VtYmxlci1wcGMu Y2MKLSsrKyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdjgvc3JjL3BwYy9tYWNy by1hc3NlbWJsZXItcHBjLmNjCi1AQCAtMTIsNiArMTIsNyBAQAotICNpbmNsdWRlICJzcmMvYm9v dHN0cmFwcGVyLmgiCi0gI2luY2x1ZGUgInNyYy9jYWxsYWJsZS5oIgotICNpbmNsdWRlICJzcmMv Y29kZS1zdHVicy5oIgotKyNpbmNsdWRlICJzcmMvY291bnRlcnMuaCIKLSAjaW5jbHVkZSAic3Jj L2RlYnVnL2RlYnVnLmgiCi0gI2luY2x1ZGUgInNyYy9leHRlcm5hbC1yZWZlcmVuY2UtdGFibGUu aCIKLSAjaW5jbHVkZSAic3JjL2ZyYW1lcy1pbmwuaCIKLWRpZmYgLS1naXQgcXR3ZWJlbmdpbmUv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3Y4L3NyYy9zMzkwL21hY3JvLWFzc2VtYmxlci1zMzkwLmNj IHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS92OC9zcmMvczM5MC9tYWNyby1hc3Nl bWJsZXItczM5MC5jYwotaW5kZXggZmUyNDg4NDM3Li5kZWNiYmI0M2EgMTAwNjQ0Ci0tLS0gcXR3 ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Y4L3NyYy9zMzkwL21hY3JvLWFzc2VtYmxl ci1zMzkwLmNjCi0rKysgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Y4L3NyYy9z MzkwL21hY3JvLWFzc2VtYmxlci1zMzkwLmNjCi1AQCAtMTIsNiArMTIsNyBAQAotICNpbmNsdWRl ICJzcmMvYm9vdHN0cmFwcGVyLmgiCi0gI2luY2x1ZGUgInNyYy9jYWxsYWJsZS5oIgotICNpbmNs dWRlICJzcmMvY29kZS1zdHVicy5oIgotKyNpbmNsdWRlICJzcmMvY291bnRlcnMuaCIKLSAjaW5j bHVkZSAic3JjL2RlYnVnL2RlYnVnLmgiCi0gI2luY2x1ZGUgInNyYy9leHRlcm5hbC1yZWZlcmVu Y2UtdGFibGUuaCIKLSAjaW5jbHVkZSAic3JjL2ZyYW1lcy1pbmwuaCIKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvcXQ1L3BhdGNoZXMvcXR3ZWJlbmdpbmUtZW5hYmxlLXBwYzY0LnBhdGNoIGIvc3JjcGtn cy9xdDUvcGF0Y2hlcy9xdHdlYmVuZ2luZS1lbmFibGUtcHBjNjQucGF0Y2gKZGVsZXRlZCBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDM1ZTY0NTYxMzlmLi4wMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dz L3F0NS9wYXRjaGVzL3F0d2ViZW5naW5lLWVuYWJsZS1wcGM2NC5wYXRjaAorKysgL2Rldi9udWxs CkBAIC0xLDQxICswLDAgQEAKLVRoaXMgYWRkcyB0aGUgbmVjZXNzYXJ5IGJpdHMgdG8gbWFrZSBx dCBhdHRlbXB0IGJ1aWxkaW5nIHdlYmVuZ2luZSBvbiBwcGM2NC4KLVNpbmNlIHRoZSBwYXRjaCBp cyBvbmx5IHN1ZmZpY2llbnQgZm9yIHBwYzY0bGUsIGtlZXAgaXQgY29tbWVudGVkIG91dCBhbmQK LWxldCB0aGUgcGFja2FnaW5nIHRlbXBsYXRlIHJlbW92ZSB0aGUgY29tbWVudCBsYXRlciwgYXMg dGhlcmUgaXMgbm8gZ29vZAotd2F5IHRvIGNoZWNrIGVuZGlhbm5lc3MgZGlyZWN0bHkgaW4gdGhl IGZpbGUuCi0KLVdlIGFsc28gaGF2ZSB0byBkaXNhYmxlIGp1bWJvIGJ1aWxkIGZvciB0aGUgdGlt ZSBiZWluZyBiZWNhdXNlIGl0IHJlc3VsdHMKLWluIGJ1aWxkIGZhaWx1cmVzIG90aGVyd2lzZSwg bW9zdCBsaWtlbHkgYmVjYXVzZSBvZiBjb21waWxlciBtaXNjb21waWxpbmcKLXRoZSBjb2RlLgot LS0tIHF0d2ViZW5naW5lL21rc3BlY3MvZmVhdHVyZXMvZnVuY3Rpb25zLnByZgotKysrIHF0d2Vi ZW5naW5lL21rc3BlY3MvZmVhdHVyZXMvZnVuY3Rpb25zLnByZgotQEAgLTk1LDYgKzk1LDcgQEAK LSAgICAgY29udGFpbnMocXRBcmNoLCAiYXJtNjQiKTogcmV0dXJuKGFybTY0KQotICAgICBjb250 YWlucyhxdEFyY2gsICJtaXBzIik6IHJldHVybihtaXBzZWwpCi0gICAgIGNvbnRhaW5zKHF0QXJj aCwgIm1pcHM2NCIpOiByZXR1cm4obWlwczY0ZWwpCi0rICAgIGNvbnRhaW5zKHF0QXJjaCwgInBv d2VyNjQiKTogcmV0dXJuKHBwYzY0KQotICAgICByZXR1cm4odW5rbm93bikKLSB9Ci0gCi0tLS0g cXR3ZWJlbmdpbmUvbWtzcGVjcy9mZWF0dXJlcy9wbGF0Zm9ybS5wcmYKLSsrKyBxdHdlYmVuZ2lu ZS9ta3NwZWNzL2ZlYXR1cmVzL3BsYXRmb3JtLnByZgotQEAgLTgyLDYgKzgyLDcgQEAKLSAgICAg Y29udGFpbnMoUVRfQVJDSCwgImFybSIpfGNvbnRhaW5zKFFUX0FSQ0gsICJhcm02NCIpOiByZXR1 cm4odHJ1ZSkKLSAgICAgY29udGFpbnMoUVRfQVJDSCwgIm1pcHMiKTogcmV0dXJuKHRydWUpCi0g IyAgICAgY29udGFpbnMoUVRfQVJDSCwgIm1pcHM2NCIpOiByZXR1cm4odHJ1ZSkKLSsjcHBjNjRs ZSAgICBjb250YWlucyhRVF9BUkNILCAicG93ZXI2NCIpOiByZXR1cm4odHJ1ZSkKLSAKLSAgICAg c2tpcEJ1aWxkKCJRdFdlYkVuZ2luZSBjYW4gb25seSBiZSBidWlsdCBmb3IgeDg2LCB4ODYtNjQs IEFSTSwgQWFyY2g2NCwgYW5kIE1JUFNlbCBhcmNoaXRlY3R1cmVzLiIpCi0gICAgIHJldHVybihm YWxzZSkKLS0tLSBxdHdlYmVuZ2luZS9zcmMvY29yZS9jb25maWcvbGludXgucHJpCi0rKysgcXR3 ZWJlbmdpbmUvc3JjL2NvcmUvY29uZmlnL2xpbnV4LnByaQotQEAgLTkwLDYgKzkwLDEwIEBACi0g ICAgIGVsc2U6IGNvbnRhaW5zKFFNQUtFX0NGTEFHUywgIi1tZHNwIik6IGduX2FyZ3MgKz0gbWlw c19kc3BfcmV2PTEKLSB9Ci0gCi0rY29udGFpbnMoUVRfQVJDSCwgInBvd2VyNjQiKSB7Ci0rICAg IGduX2FyZ3MgKz0gdXNlX2p1bWJvX2J1aWxkPWZhbHNlCi0rfQotKwotIGhvc3RfYnVpbGQgewot ICAgICBnbl9hcmdzICs9IGN1c3RvbV90b29sY2hhaW49XCIkJFFUV0VCRU5HSU5FX09VVF9ST09U L3NyYy90b29sY2hhaW46aG9zdFwiCi0gICAgIEdOX0hPU1RfQ1BVID0gJCRnbkFyY2goJCRRVF9B UkNIKQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDUvdGVtcGxhdGUgYi9zcmNwa2dzL3F0NS90ZW1w bGF0ZQppbmRleCBiZmQ4NzEyZTdhZi4uNmNjZWJmODg0YWQgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mv cXQ1L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ1L3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAog IyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ1JwogcGtnbmFtZT1xdDUKLXZlcnNpb249NS4xMS4zCi1y ZXZpc2lvbj03Cit2ZXJzaW9uPTUuMTMuMAorcmV2aXNpb249MQogd3Jrc3JjPSJxdC1ldmVyeXdo ZXJlLXNyYy0ke3ZlcnNpb259IgogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogaG9zdG1ha2Vk ZXBlbmRzPSJjbWFrZSBjbGFuZyBmbGV4IGdpdCBnbGliLWRldmVsIGdwZXJmIG5pbmphIHBrZy1j b25maWcKQEAgLTEwLDIwICsxMCwyMCBAQCBtYWtlZGVwZW5kcz0iU0RMMi1kZXZlbCBWdWxrYW4t SGVhZGVycyBhbHNhLWxpYi1kZXZlbCBkb3VibGUtY29udmVyc2lvbi1kZXZlbAogIGV1ZGV2LWxp YnVkZXYtZGV2ZWwgZmZtcGVnLWRldmVsIGZyZWV0ZHMtZGV2ZWwgZ2xpYi1kZXZlbCBnc3QtcGx1 Z2lucy1iYXNlMS1kZXZlbAogIGd0ayszLWRldmVsIGljdS1kZXZlbCBqc29uY3BwLWRldmVsIGxp Ylh2LWRldmVsIGxpYmJsdWV0b290aC1kZXZlbCBsaWJjYXAtZGV2ZWwKICBsaWJldmVudC1kZXZl bCBsaWJpbnB1dC1kZXZlbCBsaWJtbmctZGV2ZWwgbGlibXlzcWxjbGllbnQtZGV2ZWwgbGlicHJv eHktZGV2ZWwKLSBsaWJ2cHg1LWRldmVsIGxpYndlYnAtZGV2ZWwgbGlieHNsdC1kZXZlbCBtaW5p emlwLWRldmVsIG5zcy1kZXZlbAorIGxpYnZweC1kZXZlbCBsaWJ3ZWJwLWRldmVsIGxpYnhzbHQt ZGV2ZWwgbWluaXppcC1kZXZlbCBuc3MtZGV2ZWwgY3Vwcy1kZXZlbAogIG9wdXMtZGV2ZWwgcGNp dXRpbHMtZGV2ZWwgcGNyZTItZGV2ZWwgcG9zdGdyZXNxbC1saWJzLWRldmVsCiAgcHJvdG9idWYt ZGV2ZWwgcHVsc2VhdWRpby1kZXZlbCBzbmFwcHktZGV2ZWwgdHNsaWItZGV2ZWwKICB1bml4b2Ri Yy1kZXZlbCB4Y2ItdXRpbC1pbWFnZS1kZXZlbCB4Y2ItdXRpbC1rZXlzeW1zLWRldmVsCi0geGNi LXV0aWwtcmVuZGVydXRpbC1kZXZlbCB4Y2ItdXRpbC13bS1kZXZlbCIKKyB4Y2ItdXRpbC1yZW5k ZXJ1dGlsLWRldmVsIHhjYi11dGlsLXdtLWRldmVsIGxpYnpzdGQtZGV2ZWwiCiBkZXBlbmRzPSJx dGNob29zZXIiCiBzaG9ydF9kZXNjPSJDcm9zcy1wbGF0Zm9ybSBhcHBsaWNhdGlvbiBhbmQgVUkg ZnJhbWV3b3JrIChRVDUpIgogbWFpbnRhaW5lcj0iSsO8cmdlbiBCdWNobcO8bGxlciA8cHVsbG1v bGxAdC1vbmxpbmUuZGU+IgotbGljZW5zZT0iR1BMLTMuMC1vci1sYXRlciwgTEdQTC0yLjEtb3It bGF0ZXIiCitsaWNlbnNlPSJHUEwtMy4wLW9yLWxhdGVyLCBMR1BMLTMuMC1vci1sYXRlciIKIGhv bWVwYWdlPSJodHRwczovL3F0LmlvLyIKIGRpc3RmaWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0Lmlv L29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9zaW5nbGUvcXQt ZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufS50YXIueHoiCi1jaGVja3N1bT04NTk0MTc2NDI3MTNj ZWUyNDkzZWUzNjQ2YTdmZWU3ODJjOWYxZGIzOWU0MWQ3YmIxMzIyYmJhMGM1ZjBmZjRkCitjaGVj a3N1bT0yY2JhMzFlNDEwZTE2OWJkNWNkYWUxNTlmODM5NjQwZTY3MjUzMmE0Njg3ZWEwZjI2NWY2 ODY0MjFlMGU4NmQ2CiByZXBsYWNlcz0icXQ1LWRvYzw1LjYuMCBxdDUtcXVpY2sxPDUuNi4wIHF0 NS1xdWljazEtZGV2ZWw8NS42LjAgcXQ1LXdlYmtpdDw1LjYuMCBxdDUtd2Via2l0LWRldmVsPDUu Ni4wCi0gcXQ1LWVuZ2luaW88NS43LjEgcXQ1LWVuZ2luaW8tZGV2ZWw8NS43LjEgcXQ1LXBsdWdp bi1ndGs8NS43LjEiCisgcXQ1LWVuZ2luaW88NS43LjEgcXQ1LWVuZ2luaW8tZGV2ZWw8NS43LjEg cXQ1LXBsdWdpbi1ndGs8NS43LjEgcXQ1LWNhbnZhczNkPDUuMTMuMCIKIAogYnVpbGRfb3B0aW9u cz0id2ViZW5naW5lIgogZGVzY19vcHRpb25fd2ViZW5naW5lPSJCdWlsZCBDaHJvbWl1bS1iYXNl ZCBXZWJFbmdpbmUgY29tcG9uZW50IgpAQCAtMzEsMTEgKzMxLDEyIEBAIGRlc2Nfb3B0aW9uX3dl YmVuZ2luZT0iQnVpbGQgQ2hyb21pdW0tYmFzZWQgV2ViRW5naW5lIGNvbXBvbmVudCIKIGNhc2Ug IiRYQlBTX1RBUkdFVF9NQUNISU5FIiBpbgogCXg4Nl82NCp8aTY4Nip8cHBjNjRsZSopIGJ1aWxk X29wdGlvbnNfZGVmYXVsdD0id2ViZW5naW5lIjs7CiAJYXJtdjV0ZWwqKSA7OyAjIHF0d2ViZW5n aW5lIHVzZXMgVlNNIGFzc2VtYmxlciBjb21tYW5kcwotCWFybSp8YWFyY2g2NCopIGJ1aWxkX29w dGlvbnNfZGVmYXVsdD0id2ViZW5naW5lIjs7CisJYWFyY2g2NCopIGJ1aWxkX29wdGlvbnNfZGVm YXVsdD0id2ViZW5naW5lIjs7CisJYXJtKikgOzsgIyBxdHdlYmVuZ2luZSByZXF1aXJlcyBhIDMy Yml0IGhvc3QgdG9vbGNoYWluIGh0dHA6Ly9zcHJ1bmdlLnVzL3JiUnlXUQogCSopIDs7ICMgYXNz dW1lIG5vIHdlYmVuZ2luZQogZXNhYwogCi1zdWJwYWNrYWdlcz0icXQ1LTNkIHF0NS0zZC1kZXZl bCBxdDUtY2FudmFzM2QgcXQ1LWNoYXJ0cyBxdDUtY2hhcnRzLWRldmVsCitzdWJwYWNrYWdlcz0i cXQ1LTNkIHF0NS0zZC1kZXZlbCBxdDUtY2hhcnRzIHF0NS1jaGFydHMtZGV2ZWwKICBxdDUtY29u bmVjdGl2aXR5IHF0NS1jb25uZWN0aXZpdHktZGV2ZWwgcXQ1LWRhdGF2aXMzZCBxdDUtZGF0YXZp czNkLWRldmVsCiAgcXQ1LWRlY2xhcmF0aXZlIHF0NS1kZWNsYXJhdGl2ZS1kZXZlbCBxdDUtZGV2 ZWwgcXQ1LWV4YW1wbGVzIHF0NS1nYW1lcGFkCiAgcXQ1LWdhbWVwYWQtZGV2ZWwgcXQ1LWdyYXBo aWNhbGVmZmVjdHMgcXQ1LWhvc3QtdG9vbHMgcXQ1LWltYWdlZm9ybWF0cwpAQCAtNTEsNyArNTIs OCBAQCBzdWJwYWNrYWdlcz0icXQ1LTNkIHF0NS0zZC1kZXZlbCBxdDUtY2FudmFzM2QgcXQ1LWNo YXJ0cyBxdDUtY2hhcnRzLWRldmVsCiAgcXQ1LXZpcnR1YWxrZXlib2FyZC1kZXZlbCBxdDUtd2F5 bGFuZCBxdDUtd2F5bGFuZC1kZXZlbCBxdDUtd2ViY2hhbm5lbAogIHF0NS13ZWJjaGFubmVsLWRl dmVsIHF0NS13ZWJnbHBsdWdpbiBxdDUtd2ViZ2xwbHVnaW4tZGV2ZWwgcXQ1LXdlYnNvY2tldHMK ICBxdDUtd2Vic29ja2V0cy1kZXZlbCBxdDUtd2VidmlldyBxdDUtd2Vidmlldy1kZXZlbCBxdDUt eDExZXh0cmFzCi0gcXQ1LXgxMWV4dHJhcy1kZXZlbCBxdDUteG1scGF0dGVybnMgcXQ1LXhtbHBh dHRlcm5zLWRldmVsIgorIHF0NS14MTFleHRyYXMtZGV2ZWwgcXQ1LXhtbHBhdHRlcm5zIHF0NS14 bWxwYXR0ZXJucy1kZXZlbAorIHF0NS1sb3R0aWUgcXQ1LWxvdHRpZS1kZXZlbCIKIAogaWYgWyAi JGJ1aWxkX29wdGlvbl93ZWJlbmdpbmUiIF07IHRoZW4KIAlzdWJwYWNrYWdlcys9IiBxdDUtd2Vi ZW5naW5lIHF0NS13ZWJlbmdpbmUtZGV2ZWwiCkBAIC02MCw2ICs2Miw3IEBAIGZpCiBpZiBbICIk e1hCUFNfTUFDSElORSUlLW11c2x9IiA9IGk2ODYgXTsgdGhlbgogCW5vZGVidWc9eWVzICAjIHBy ZXZlbnQgT09NCiBmaQorCiAjIFdvcmsgYXJvdW5kIFNTTHYzX3tjbGllbnQsc2VydmVyfV9tZXRo b2QgbWlzc2luZyBpbiBsaWJyZXNzbC0yLjMuMwogQ0ZMQUdTPSItRE9QRU5TU0xfTk9fUFNLIC1E T1BFTlNTTF9OT19ORVhUUFJPVE9ORUciCiBDWFhGTEFHUz0iJHtDRkxBR1N9IC1Xbm8tZGVwcmVj YXRlZC1kZWNsYXJhdGlvbnMgLVduby1jbGFzcy1tZW1hY2Nlc3MgLVduby1wYWNrZWQtbm90LWFs aWduZWQiCkBAIC03MCw2ICs3Myw3IEBAIGlmIFsgIiRDUk9TU19CVUlMRCIgXTsgdGhlbgogCSMg TmVlZCBzb21lIGRldmVsIHBhY2thZ2VzIGluIHRoZSBob3N0IHRvIGJ1aWxkIHFtYWtlLCBtb2Ms IHVpYywgcmNjCiAJIyB3YXlsYW5kLWRldmVsIGNvbnRhaW5zIC91c3IvYmluL3dheWxhbmQtc2Nh bm5lcgogCWhvc3RtYWtlZGVwZW5kcys9IiBpY3UtZGV2ZWwgd2F5bGFuZC1kZXZlbCB6bGliLWRl dmVsIgorCWhvc3RtYWtlZGVwZW5kcys9IiBwb3N0Z3Jlc3FsLWxpYnMtZGV2ZWwiCiAJIyBDcm9z cyBidWlsZGluZyBxdHdlYmVuZ2luZSByZXF1aXJlcyBzb21lIG1vcmUgaG9zdCBwYWNrYWdlcwog CWlmIFsgIiRidWlsZF9vcHRpb25fd2ViZW5naW5lIiBdOyB0aGVuCiAJCWhvc3RtYWtlZGVwZW5k cys9IiBuc3MtZGV2ZWwgbGliZXZlbnQtZGV2ZWwiCkBAIC03OCw0OCArODIsMTggQEAgZmkKIAog X2Jvb3RzdHJhcF9nbigpIHsKIAkjIEJvb3RzdHJhcCBnbiAoZ2VuZXJhdGUgbmluamEpCi0JX21z Z19jcm9zcyAiQm9vdHN0cmFwcGluZyAnZ24nIgotCWNkICR7d3Jrc3JjfS9xdHdlYmVuZ2luZS9z cmMvM3JkcGFydHkvY2hyb21pdW0vdG9vbHMvZ24KLQljb25mPSdpc19jbGFuZz1mYWxzZScKLQlj b25mKz0nIHRyZWF0X3dhcm5pbmdzX2FzX2Vycm9ycz1mYWxzZScKLQljb25mKz0nIGVuYWJsZV9y ZW1vdGluZz1mYWxzZScKLQljb25mKz0nIGVuYWJsZV9uYWNsPWZhbHNlJwotCWNvbmYrPScgdXNl X2N1cHM9ZmFsc2UnCi0JY29uZis9JyB1c2VfZ2NvbmY9ZmFsc2UnCi0JY29uZis9JyB1c2VfZ2lv PWZhbHNlJwotCWNvbmYrPScgdXNlX2dub21lX2tleXJpbmc9ZmFsc2UnCi0JY29uZis9JyB1c2Vf Z3RrPWZhbHNlJwotCWNvbmYrPScgdXNlX2tlcmJlcm9zPWZhbHNlJwotCWNvbmYrPScgbGludXhf dXNlX2J1bmRsZWRfYmludXRpbHM9ZmFsc2UnCi0JY29uZis9JyBiaW51dGlsc19wYXRoPSIvdXNy L2JpbiInCi0JY29uZis9JyB1c2VfZ29sZD1mYWxzZScKLQljb25mKz0nIHVzZV9zeXNyb290PWZh bHNlJwotCWNvbmYrPScgdXNlX2FsbG9jYXRvcj0ibm9uZSInCi0JY29uZis9JyBpc19hbmRyb2lk PWZhbHNlJwotCi0Jc2VkIC1pICR7d3Jrc3JjfS9xdHdlYmVuZ2luZS9zcmMvY29yZS9jb25maWcv bGludXgucHJpIFwKLQkJLWUgIi9lcXVhbHMoTUFSTVYvczt0cnVlO2ZhbHNlOyIKLQljYXNlICIk WEJQU19UQVJHRVRfTUFDSElORSIgaW4KLQkJYXJtdls1Nl0qKSBjb25mKz0nIGFybV91c2VfbmVv bj1mYWxzZSBhcm1fb3B0aW9uYWxseV91c2VfbmVvbj1mYWxzZSc7OwotCQlhcm12NyopICAgIGNv bmYrPScgYXJtX3VzZV9uZW9uPXRydWUgYXJtX29wdGlvbmFsbHlfdXNlX25lb249ZmFsc2UnOzsK LQkJYWFyY2g2NCopICBjb25mKz0nIGFybV91c2VfbmVvbj10cnVlIGFybV9vcHRpb25hbGx5X3Vz ZV9uZW9uPWZhbHNlJzs7Ci0JZXNhYwotCi0JQVI9IiRBUl9ob3N0IiBDQz0iJENDX2hvc3QiIENY WD0iJENYWF9ob3N0IiBMRD0iJENYWF9ob3N0IiBcCisJZWNobyAiQm9vdHN0cmFwcGluZyAnZ24n IgorCWNkICR7d3Jrc3JjfS9xdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvZ24KIAlDRkxBR1M9IiRD RkxBR1NfaG9zdCIgQ1hYRkxBR1M9IiRDWFhGTEFHU19ob3N0IiBMREZMQUdTPSIkTERGTEFHU19o b3N0IiBcCiAJUEtHQ09ORklHPS91c3IvYmluL3BrZ2NvbmZpZyBQS0dfQ09ORklHX1BBVEg9Ii91 c3IvbGliL3BrZ2NvbmZpZzovdXNyL3NoYXJlL3BrZ2NvbmZpZyIgXAotCQlweXRob24yIGJvb3Rz dHJhcC9ib290c3RyYXAucHkgLW4gLS1nbi1nZW4tYXJncyAiJHtjb25mfSIKKwkJcHl0aG9uMiBi dWlsZC9nZW4ucHkgLS1uby1sYXN0LWNvbW1pdC1wb3NpdGlvbiAtLW91dC1wYXRoIFwKKwkJCSR7 d3Jrc3JjfS9xdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvZ24vb3V0L1JlbGVhc2UgLS1jYyAiJEND X2hvc3QiIFwKKwkJCS0tY3h4ICIkQ1hYX2hvc3QiIC0tbGQgIiRDWFhfaG9zdCIgLS1hciAiJEFS X2hvc3QiCisJbmluamEgLUMgb3V0L1JlbGVhc2UgZ24KIAljZCAke3dya3NyY30KLQotCW1rZGly IC1wICR7d3Jrc3JjfS9xdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdG9vbHMvZ24v b3V0L1JlbGVhc2UKLQljcCAtcCAke3dya3NyY30vcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2No cm9taXVtL291dC9SZWxlYXNlL2duIFwKLQkJJHt3cmtzcmN9L3F0d2ViZW5naW5lL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS90b29scy9nbi9vdXQvUmVsZWFzZS8KLQotCSMgUmVtb3ZlIGduIGZyb20g U1VCRElSUyBmb3IgcXR3ZWJlbmdpbmUvc3JjL2J1aWxkdG9vbHMKLQlzZWQgLWkgJHt3cmtzcmN9 L3F0d2ViZW5naW5lL3NyYy9idWlsZHRvb2xzL2J1aWxkdG9vbHMucHJvIFwKLQkJLWUiL2duLmZp bGUgPSBnbi5wcm8vLCszZCIKIH0KIAorCiBfY2xlYW51cF93cmtzcmNfbGVhaygpIHsKIAlpZiBb IC1kICIke1BLR0RFU1RESVJ9L3Vzci9saWIvY21ha2UiIF07IHRoZW4KIAkJIyBSZXBsYWNlIHJl ZmVyZW5jZXMgdG8gJHt3cmtzcmN9IGluIGNtYWtlIGZpbGVzCkBAIC0xMzcsNyArMTExLDEwIEBA IF9jbGVhbnVwX3dya3NyY19sZWFrKCkgewogCSMgYW5kIHJlcGxhY2UgcmVmZXJlbmNlcyB0byAk e3dya3NyY30KIAlmaW5kICR7UEtHREVTVERJUn0gLWluYW1lICIqLnBybCIgLWV4ZWMgc2VkIC1p ICJ7fSIgXAogCQktZSAiL15RTUFLRV9QUkxfQlVJTERfRElSL2QiIFwKLQkJLWUgInM7LUwke3dy a3NyY30vcXRiYXNlL2xpYjstTC91c3IvbGliO2ciIFw7CisJCS1lICJzOy1MJHt3cmtzcmN9L3F0 YmFzZS9saWI7LUwvdXNyL2xpYjtnIiBcCisJCS1lICJzJS91c3IvbGliL2xpYlwoW15bOnNwYWNl Ol1dKlwpXC5bc2FdW29dKiUtbFwxJWciIFw7CisJZmluZCAke1BLR0RFU1RESVJ9IC1pbmFtZSAi Ki5wcmkiIC1leGVjIHNlZCAtaSAie30iIFwKKwkJLWUgInMlL3Vzci9saWIvbGliXChbXls6c3Bh Y2U6XV0qXClcLltzYV1bb10qJS1sXDElZyIgXDsKIAkjIFJlcGxhY2UgJHt3cmtzcmN9IGluIHBy b2plY3QgaW5jbHVkZSBmaWxlcwogCWZpbmQgJHtQS0dERVNURElSfSAtaW5hbWUgIioucHJpIiAt ZXhlYyBzZWQgLWkgInt9IiBcCiAJCS1lICJzOyR7d3Jrc3JjfS9xdGJhc2U7L3Vzci9saWIvcXQ1 O2ciIFw7CkBAIC0yODUsOCArMjYyLDcgQEAgZG9fY29uZmlndXJlKCkgewogCQlmb3IgZCBpbiAk KGxzICR7d3Jrc3JjfS9xdGJhc2UvaW5jbHVkZSk7IGRvCiAJCQlsbiAtc2Z2ICR7dmVyc2lvbn0v JHtkfS9wcml2YXRlIHF0YmFzZS9pbmNsdWRlLyR7ZH0vcHJpdmF0ZQogCQlkb25lCi0KLQkJaWYg WyAiJGJ1aWxkX29wdGlvbl93ZWJlbmdpbmUiIF07IHRoZW4KK2lmIFsgIiRidWlsZF9vcHRpb25f d2ViZW5naW5lIiBdOyB0aGVuCiAJCQlfYm9vdHN0cmFwX2duCiAJCWZpCiAKQEAgLTMwNyw2ICsy ODMsNyBAQCBkb19jb25maWd1cmUoKSB7CiAJCQkJLWUgJy8jZXJyb3IgUmVhZCB0aGUgY29tbWVu dCBhdCB0aGlzIGxvY2F0aW9uL2QnCiAJCQk7OwogCQllc2FjCisJCXBhdGNoIC1OcDAgPCAke0ZJ TEVTRElSfS8wMDkwLWhhcmQtZGlzYWJsZS1xbWxjaGFjaGVnZW4ucGF0Y2gKIAllbHNlCiAJCSMg cW1ha2Uge0NYWCxMfUZMQUdTIHBhdGNoZXMKIAkJc2VkIC1pIC1lICJzfF5cKENYWEZMQUdTID0u KlwpfFwxICR7Q1hYRkxBR1N9fCIgXApAQCAtMzM5LDYgKzMxNiwxMCBAQCBkb19jb25maWd1cmUo KSB7CiAJb3B0cys9IiAtaWN1IgogCW9wdHMrPSIgLW9wZW5zc2wtbGlua2VkIgogCW9wdHMrPSIg LWRidXMtbGlua2VkIgorCW9wdHMrPSIgLXNxbC1teXNxbCIKKwlvcHRzKz0iIC1teXNxbF9jb25m aWcgJHtYQlBTX0NST1NTX0JBU0V9L3Vzci9iaW4vbXlzcWxfY29uZmlnIgorCW9wdHMrPSIgLXNx bC1wc3FsIgorCW9wdHMrPSIgLXBzcWxfY29uZmlnIC91c3IvYmluL3BnX2NvbmZpZyIKIAlvcHRz Kz0iIC1uby1wY2giCiAJb3B0cys9IiAtbm8tc3RyaXAiCiAJb3B0cys9IiAtbm9tYWtlIGV4YW1w bGVzIgpAQCAtMzY5LDEyICszNTAsMTAgQEAgZG9fY29uZmlndXJlKCkgewogCWZpCiAJb3B0cys9 IiAtc2lsZW50IgogCSMgb3B0cys9IiAtdiIKLQogCSMgbWFrZSBzdXJlIHRvIGRpc2FibGUgd2Vi ZW5naW5lIG9uIHBsYXRmb3JtcyB0aGF0IHdlIGRvbid0IGJ1aWxkIGl0IGZvcgogCWlmIFsgLXog IiRidWlsZF9vcHRpb25fd2ViZW5naW5lIiBdOyB0aGVuCiAJCW9wdHMrPSIgLXNraXAgcXR3ZWJl bmdpbmUiCiAJZmkKLQogCUxERkxBR1MrPSIgLVdsLC0tbm8ta2VlcC1tZW1vcnkiICAjIG5lZWRz IG1vcmUgdGhhbiA4R0IgUkFNIGVsc2UKIAlpZiBbICIkQ1JPU1NfQlVJTEQiIF07IHRoZW4KIAkJ c3BlYz12b2lkLSR7WEJQU19DUk9TU19UUklQTEVUfS1nKysKQEAgLTM5Miw2ICszNzEsMTkgQEAg ZG9fY29uZmlndXJlKCkgewogCQkJZmkKIAkJCTs7CiAJCWVzYWMKKwkJY2FzZSAiJFhCUFNfVEFS R0VUX01BQ0hJTkUiIGluCisJCWFhcmNoNjQqfGFybXY3KikKKwkJCXNlZCAtaSAke3dya3NyY30v cXR3ZWJlbmdpbmUvc3JjL2NvcmUvY29uZmlnL2xpbnV4LnByaSBcCisJCQkJLWUgIi9hcm1fdXNl X25lb249L3M7ZmFsc2U7dHJ1ZTsiCisJCQk7OworCQlhcm0qKQorCQkJc2VkIC1pICR7d3Jrc3Jj fS9xdHdlYmVuZ2luZS9zcmMvY29yZS9jb25maWcvbGludXgucHJpIFwKKwkJCQktZSAiL2FybV91 c2VfbmVvbj0vczt0cnVlO2ZhbHNlOyIKKworCQkJOzsKKwkJZXNhYworCQlzZWQgLWkgJHt3cmtz cmN9L3F0d2ViZW5naW5lL3NyYy9jb3JlL2NvbmZpZy9saW51eC5wcmkgXAorCQkJLWUgIi9lcXVh bHMoTUFSTVYvczt0cnVlO2ZhbHNlOyIKIAogCQkjIE1ha2Ugc3VyZSBsaWJRdDVEZXNpZ25lciBp cyBidWlsdAogCQljcCAtdiAke0ZJTEVTRElSfS9xdHRvb2xzX3NyYy5wcm8gcXR0b29scy9zcmMv c3JjLnBybwpAQCAtNDI1LDcgKzQxNyw2IEBAIGRvX2luc3RhbGwoKSB7CiAJY2QgJHt3cmtzcmN9 L3F0YmFzZQogCW1ha2UgSU5TVEFMTF9ST09UPSR7REVTVERJUn0gaW5zdGFsbAogCi0JdmxpY2Vu c2UgJHt3cmtzcmN9L0xHUExfRVhDRVBUSU9OLnR4dAogCV9jbGVhbnVwX3dya3NyY19sZWFrCiAK IAkjIFN5bWJvbGljIGxpbmtzIGZvciByZW1haW5pbmcgYmluYXJpZXMKQEAgLTU0Nyw2ICs1Mzgs NyBAQCBkb19pbnN0YWxsKCkgewogCQkJWyAtZiAiJHtiYXNlfS5wcm8ub3JpZyIgXSAmJiBtdiAt diAke2Jhc2V9LnByb3sub3JpZyx9CiAJCQlbIC1mIE1ha2VmaWxlLm9yaWcgXSAmJiBtdiAtdiBN YWtlZmlsZXsub3JpZyx9CiAJCQkjIEF2b2lkIHJlYnVpbGRpbmcgdGhlIE1ha2VmaWxlIGJ5IGNo YW5naW5nIHRoZSBydWxlCisJCQlzZWQgLWkgTWFrZWZpbGUgLWUgJ3M7XmFsbDouKjthbGw6OycK IAkJCXNlZCAtaSBNYWtlZmlsZSAtZSAiczteTWFrZWZpbGU6O01ha2VmaWxlLmhvc3Q6OyIKIAkJ CWlmIFsgLXggIiR7d3Jrc3JjfS8ke2Rpcn0vYmluLyR7YmFzZX0taG9zdCIgXTsgdGhlbgogCQkJ CW12IC12ICR7d3Jrc3JjfS8ke2Rpcn0vYmluLyR7YmFzZX17LWhvc3QsfQpAQCAtNTc0LDEzICs1 NjYsNiBAQCBxdDUtM2RfcGFja2FnZSgpIHsKIAl9CiB9CiAKLXF0NS1jYW52YXMzZF9wYWNrYWdl KCkgewotCXNob3J0X2Rlc2MrPSIgLSBDYW52YXMgM0QgY29tcG9uZW50IgotCXBrZ19pbnN0YWxs KCkgewotCQlfaW5zdGFsbF9zdWJwa2cgcXRjYW52YXMzZAotCX0KLX0KLQogcXQ1LWNoYXJ0cy1k ZXZlbF9wYWNrYWdlKCkgewogCXNob3J0X2Rlc2MrPSIgLSBDaGFydHMgY29tcG9uZW50IChkZXZl bG9wbWVudCkiCiAJZGVwZW5kcz0icXQ1LWNoYXJ0cy0ke3ZlcnNpb259XyR7cmV2aXNpb259IHF0 NS1kZWNsYXJhdGl2ZS1kZXZlbC0ke3ZlcnNpb259XyR7cmV2aXNpb259IgpAQCAtNjYyLDYgKzY0 NywxOCBAQCBxdDUtZXhhbXBsZXNfcGFja2FnZSgpIHsKIAl9CiB9CiAKK3F0NS1sb3R0aWUtZGV2 ZWxfcGFja2FnZSgpIHsKKwlwa2dfaW5zdGFsbCgpIHsKKwkJX2luc3RhbGxfZGV2ZWwgcXRsb3R0 aWUKKwl9Cit9CisKK3F0NS1sb3R0aWVfcGFja2FnZSgpIHsKKwlwa2dfaW5zdGFsbCgpIHsKKwkJ X2luc3RhbGxfc3VicGtnIHF0bG90dGllCisJfQorfQorCiBxdDUtZ2FtZXBhZC1kZXZlbF9wYWNr YWdlKCkgewogCXNob3J0X2Rlc2MrPSIgLSBHYW1lcGFkIGNvbXBvbmVudCAoZGV2ZWxvcG1lbnQp IgogCWRlcGVuZHM9InF0NS1nYW1lcGFkLSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0gcXQ1LWRlY2xh cmF0aXZlLWRldmVsLSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCkBAIC0xMDU1LDcgKzEwNTIsNyBA QCBxdDUtaG9zdC10b29sc19wYWNrYWdlKCkgewogCQkJaWYgWyAtZiAke0RFU1RESVJ9L3Vzci9s aWIvcXQ1L2Jpbi8ke2Z9IF07IHRoZW4KIAkJCQl2bW92ZSB1c3IvbGliL3F0NS9iaW4vJHtmfQog CQkJZmkKLQkJCWlmIFsgLWYgJHtERVNURElSfS91c3IvYmluLyR7Zn0tcXQ1IF07IHRoZW4KKwkJ CWlmIFsgLWYgJHtERVNURElSfS91c3IvYmluLyR7Zn0tcXQ1IF0gfHwgWyAtaCAke0RFU1RESVJ9 L3Vzci9iaW4vJHtmfS1xdDUgXTsgdGhlbgogCQkJCXZtb3ZlIHVzci9iaW4vJHtmfS1xdDUKIAkJ CWVsc2UKIAkJCQlsbiAtc2YgLi4vbGliL3F0NS9iaW4vJHtmfSAke1BLR0RFU1RESVJ9L3Vzci9i aW4vJHtmfS1xdDUKQEAgLTExMDQsNyArMTEwMSw3IEBAIHF0NS10b29sc19wYWNrYWdlKCkgewog CQkJCW1rZGlyIC1wICR7ZGVzdH0vdXNyL2xpYi9xdDUvYmluCiAJCQkJbXYgLXYgJHtQS0dERVNU RElSfS91c3IvbGliL3F0NS9iaW4vJHtmfSAke2Rlc3R9L3Vzci9saWIvcXQ1L2Jpbi8KIAkJCWZp Ci0JCQlpZiBbIC1mICR7UEtHREVTVERJUn0vdXNyL2Jpbi8ke2Z9LXF0NSBdOyB0aGVuCisJCQlp ZiBbIC1mICR7UEtHREVTVERJUn0vdXNyL2Jpbi8ke2Z9LXF0NSBdIHx8IFsgLWggJHtQS0dERVNU RElSfS91c3IvYmluLyR7Zn0tcXQ1IF07IHRoZW4KIAkJCQlta2RpciAtcCAke2Rlc3R9L3Vzci9i aW4KIAkJCQltdiAtdiAke1BLR0RFU1RESVJ9L3Vzci9iaW4vJHtmfS1xdDUgJHtkZXN0fS91c3Iv YmluLwogCQkJZmkKQEAgLTExMTUsNyArMTExMiw3IEBAIHF0NS10b29sc19wYWNrYWdlKCkgewog cXQ1LWRldmVsX3BhY2thZ2UoKSB7CiAJZGVwZW5kcz0iemxpYi1kZXZlbCBsaWJyZXNzbC1kZXZl bD49Mi4xLjQgbGliWGV4dC1kZXZlbCBsaWJYcmVuZGVyLWRldmVsCiAJCWZvbnRjb25maWctZGV2 ZWwgbGliZ2xpYi1kZXZlbCBNZXNhTGliLWRldmVsIG10ZGV2LWRldmVsCi0JCWRidXMtZGV2ZWwg aWN1LWRldmVsIHF0NS0ke3ZlcnNpb259XyR7cmV2aXNpb259CisJCWRidXMtZGV2ZWwgaWN1LWRl dmVsIGN1cHMtZGV2ZWwgcXQ1LSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0KIAkJcXQ1LXFtYWtlLSR7 dmVyc2lvbn1fJHtyZXZpc2lvbn0KIAkJcXQ1LWhvc3QtdG9vbHMtJHt2ZXJzaW9ufV8ke3Jldmlz aW9ufSIKIAlzaG9ydF9kZXNjKz0iIC0gRGV2ZWxvcG1lbnQgZmlsZXMiCgpGcm9tIGMyNzhkM2Q1 ZWIzNjU1MGFkZmY5NThiMzJiZGM2ZjY2OGM3OTdhNWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IEpvaG4gPGpvaG56QHBvc3Rlby5uZXQ+CkRhdGU6IE1vbiwgMTUgQXByIDIwMTkgMTg6 Mjg6MDUgKzAyMDAKU3ViamVjdDogW1BBVENIIDIvNV0gcXQ1LXdlYmtpdDogcmVidWlsZCBhZ2Fp bnN0IHF0NS01LjEzLjAKCi0tLQogc3JjcGtncy9xdDUtd2Via2l0L3RlbXBsYXRlIHwgMiArLQog MSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9xdDUtd2Via2l0L3RlbXBsYXRlIGIvc3JjcGtncy9xdDUtd2Via2l0L3RlbXBs YXRlCmluZGV4IGIyZTk5NmYzMGQ4Li4yOTAzOWNjNjA2ZCAxMDA2NDQKLS0tIGEvc3JjcGtncy9x dDUtd2Via2l0L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ1LXdlYmtpdC90ZW1wbGF0ZQpAQCAt MSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0NS13ZWJraXQnCiBwa2duYW1lPXF0 NS13ZWJraXQKIHZlcnNpb249NS4yMTIuMAotcmV2aXNpb249MgorcmV2aXNpb249MwogX3Y9JHt2 ZXJzaW9uJS4qfQogd3Jrc3JjPSJxdHdlYmtpdC1ldmVyeXdoZXJlLXNyYy0ke192fSIKIGJ1aWxk X3N0eWxlPWNtYWtlCgpGcm9tIDcwMjM4MzI1OTg0Njk2ZWYxYmRjNzlhNDUwNTcwNjQ1YThlOGQz NGEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEpvaG4gPGpvaG56QHBvc3Rlby5uZXQ+ CkRhdGU6IE1vbiwgMTEgTWFyIDIwMTkgMDE6MjU6MTQgKzAxMDAKU3ViamVjdDogW1BBVENIIDMv NV0gdGVsZWdyYW0tZGVza3RvcDogcmVidWlsZCBmb3IgcXQ1LTUuMTMuMAoKLS0tCiBzcmNwa2dz L3RlbGVncmFtLWRlc2t0b3AvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNl cnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3RlbGVncmFtLWRl c2t0b3AvdGVtcGxhdGUgYi9zcmNwa2dzL3RlbGVncmFtLWRlc2t0b3AvdGVtcGxhdGUKaW5kZXgg YWE5MDc3NWMyYzcuLjI1NDAyMDUzOWRiIDEwMDY0NAotLS0gYS9zcmNwa2dzL3RlbGVncmFtLWRl c2t0b3AvdGVtcGxhdGUKKysrIGIvc3JjcGtncy90ZWxlZ3JhbS1kZXNrdG9wL3RlbXBsYXRlCkBA IC0xOSw3ICsxOSw3IEBAIG1ha2VkZXBlbmRzPSJhbHNhLWxpYi1kZXZlbCBmZm1wZWctZGV2ZWwg Z3RrKzMtZGV2ZWwgbGliYXBwaW5kaWNhdG9yLWRldmVsCiAgbGliZGJ1c21lbnUtZ2xpYi1kZXZl bCBsaWJvcGVuYWwtZGV2ZWwgbWluaXppcC1kZXZlbCBvcHVzLWRldmVsIHh4SGFzaC1kZXZlbAog ICQodm9wdF9pZiBwdWxzZWF1ZGlvICdwdWxzZWF1ZGlvLWRldmVsJykgcXQ1LWRldmVsIHJhbmdl LXYzIGxpYnZhLWRldmVsCiAgcmFwaWRqc29uIgotZGVwZW5kcz0icXQ1LWltYWdlZm9ybWF0cyBx dDU+PTUuMTEuMzw1LjExLjQiCitkZXBlbmRzPSJxdDUtaW1hZ2Vmb3JtYXRzIHF0NT49NS4xMy4w PDUuMTMuMSIKIHNob3J0X2Rlc2M9IlRlbGVncmFtIERlc2t0b3AgbWVzc2FnaW5nIGFwcCIKIG1h aW50YWluZXI9IkpvaG4gPGpvaG56QHBvc3Rlby5uZXQ+IgogbGljZW5zZT0iR1BMLTMuMC1vci1s YXRlciBXSVRIIE9wZW5TU0wiCgpGcm9tIDEwMTNlNzAxYTIxMGI2YTFhZmY4OWM0NGMzNjM5YjMz MzM5YzJmMzkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IHE2NiA8ZGFuaWVsQG9jdGFm b3JnZS5vcmc+CkRhdGU6IEZyaSwgMTUgTWFyIDIwMTkgMTg6NTc6MTcgKzAxMDAKU3ViamVjdDog W1BBVENIIDQvNV0gcXQ1LXN0eWxlcGx1Z2luczogcmVidWlsZCBhZ2FpbnN0IHF0NS01LjEzLjAK CltjaSBza2lwXQotLS0KIHNyY3BrZ3MvcXQ1LXN0eWxlcGx1Z2lucy90ZW1wbGF0ZSB8IDQgKyst LQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9zcmNwa2dzL3F0NS1zdHlsZXBsdWdpbnMvdGVtcGxhdGUgYi9zcmNwa2dzL3F0NS1z dHlsZXBsdWdpbnMvdGVtcGxhdGUKaW5kZXggZWMyODZiNGJkZDMuLjc0NWJjYjhmN2E1IDEwMDY0 NAotLS0gYS9zcmNwa2dzL3F0NS1zdHlsZXBsdWdpbnMvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9x dDUtc3R5bGVwbHVnaW5zL3RlbXBsYXRlCkBAIC0xLDEzICsxLDEzIEBACiAjIFRlbXBsYXRlIGZp bGUgZm9yICdxdDUtc3R5bGVwbHVnaW5zJwogcGtnbmFtZT1xdDUtc3R5bGVwbHVnaW5zCiB2ZXJz aW9uPTUuMC4wCi1yZXZpc2lvbj03CityZXZpc2lvbj04CiBfZ2l0cmV2PTYwMGMyOTZmNGQ0Mjlm ZmViODIwM2ZlYjU0ZWZlYWNjMmJiZWEwZjcKIHdya3NyYz0icXRzdHlsZXBsdWdpbnMtJHtfZ2l0 cmV2fSIKIGJ1aWxkX3N0eWxlPXFtYWtlCiBob3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWcgcXQ1 LWhvc3QtdG9vbHMgcXQ1LWRldmVsIgogbWFrZWRlcGVuZHM9ImxpYnhjYi1kZXZlbCBsaWJ4a2Jj b21tb24tZGV2ZWwgbGliaW5wdXQtZGV2ZWwgdHNsaWItZGV2ZWwgZ3RrKy1kZXZlbCBxdDUtZGV2 ZWwiCi1kZXBlbmRzPSJxdDU+PTUuMTEuMzw1LjExLjQiCitkZXBlbmRzPSJxdDU+PTUuMTMuMDw1 LjEzLjEiCiBzaG9ydF9kZXNjPSJBZGRpdGlvbmFsIHN0eWxlIHBsdWdpbnMgZm9yIFF0NSIKIG1h aW50YWluZXI9IkrDvHJnZW4gQnVjaG3DvGxsZXIgPHB1bGxtb2xsQHQtb25saW5lLmRlPiIKIGxp Y2Vuc2U9IkxHUEwtMi4xLW9ubHksIExHUEwtMy4wLW9ubHkiCgpGcm9tIDczNTBmZjc4NGM0OTcw ZWY4ZWNjNzNhMmZmNTc1N2Y5MzQzODU4MDEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 IEpvaG4gPGpvaG56QHBvc3Rlby5uZXQ+CkRhdGU6IFRodSwgMTggQXByIDIwMTkgMjI6NTQ6MjMg KzAyMDAKU3ViamVjdDogW1BBVENIIDUvNV0gcXRjcmVhdG9yOiByZW1vdmUgZGVwcmVjYXRlZCBx dDUtY2F2bmFzM2QgZGVwCgpbY2kgc2tpcF0KLS0tCiBzcmNwa2dzL3F0Y3JlYXRvci90ZW1wbGF0 ZSB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Y3JlYXRvci90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXRj cmVhdG9yL3RlbXBsYXRlCmluZGV4IDdhNzZjNmYzZGIyLi4xOWVmMWI4NTc0NiAxMDA2NDQKLS0t IGEvc3JjcGtncy9xdGNyZWF0b3IvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9xdGNyZWF0b3IvdGVt cGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdGNyZWF0b3InCiBw a2duYW1lPXF0Y3JlYXRvcgogdmVyc2lvbj00LjkuMQotcmV2aXNpb249MQorcmV2aXNpb249Mgog d3Jrc3JjPSJxdC1jcmVhdG9yLW9wZW5zb3VyY2Utc3JjLSR7dmVyc2lvbn0iCiBidWlsZF9zdHls ZT1xbWFrZQogbWFrZV9pbnN0YWxsX2FyZ3M9IklOU1RBTExfUk9PVD1cJHtERVNURElSfS91c3Ii CkBAIC0zNiw3ICszNiw3IEBAIHBvc3RfaW5zdGFsbCgpIHsKIHF0Y3JlYXRvci1mdWxsX3BhY2th Z2UoKSB7CiAJc2hvcnRfZGVzYys9IiAtIGZ1bGwgUXQ1IGRlcGVuZGVuY2llcyIKIAlkZXBlbmRz PSIke3NvdXJjZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0KLSBxdDUtM2QtZGV2ZWwgcXQ1 LWNhbnZhczNkIHF0NS1jaGFydHMtZGV2ZWwgcXQ1LWNvbm5lY3Rpdml0eS1kZXZlbCBxdDUtZGF0 YXZpczNkLWRldmVsCisgcXQ1LTNkLWRldmVsIHF0NS1jaGFydHMtZGV2ZWwgcXQ1LWNvbm5lY3Rp dml0eS1kZXZlbCBxdDUtZGF0YXZpczNkLWRldmVsCiAgcXQ1LWRlY2xhcmF0aXZlLWRldmVsIHF0 NS1kYXRhdmlzM2QtZGV2ZWwgcXQ1LWdhbWVwYWQtZGV2ZWwgcXQ1LWxvY2F0aW9uLWRldmVsCiAg cXQ1LW11bHRpbWVkaWEtZGV2ZWwgcXQ1LW5ldHdvcmthdXRoLWRldmVsIHF0NS1wdXJjaGFzaW5n LWRldmVsIHF0NS1xdWlja2NvbnRyb2xzCiAgcXQ1LXF1aWNrY29udHJvbHMyLWRldmVsIHF0NS1y ZW1vdGVvYmplY3RzLWRldmVsIHF0NS1zY3JpcHQtZGV2ZWwgcXQ1LXNjeG1sLWRldmVsCg== --===============6206591951930662046==--