From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: * X-Spam-Status: No, score=1.9 required=5.0 tests=ALL_TRUSTED,DKIM_ADSP_NXDOMAIN, NO_DNS_FOR_FROM,T_SCC_BODY_TEXT_LINE,URIBL_BLACK autolearn=no autolearn_force=no version=3.4.4 Received: from inbox.vuxu.org (inbox.vuxu.org [IPv6:::1]) by inbox.vuxu.org (Postfix) with ESMTP id EBDBB242A8 for ; Sat, 16 Mar 2024 01:40:58 +0100 (CET) Content-Type: multipart/mixed; boundary="===============8459001179532453568==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_glibc=3A_update_to_2=2E39=2E?= To: ml@inbox.vuxu.org From: oreo639 Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Sat, 16 Mar 2024 01:40:58 +0100 List-Id: Message-Id: <20240316004058.EBDBB242A8@inbox.vuxu.org> GitHub notification mails are now in MIME to allow UTF8. --===============8459001179532453568== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgb3JlbzYzOSBhZ2FpbnN0IG1hc3Rl ciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vb3Jl bzYzOS92b2lkLXBhY2thZ2VzIGdsaWJjMi4zOQpodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51 eC92b2lkLXBhY2thZ2VzL3B1bGwvNDkxNjMKCmdsaWJjOiB1cGRhdGUgdG8gMi4zOS4KPCEtLSBV bmNvbW1lbnQgcmVsZXZhbnQgc2VjdGlvbnMgYW5kIGRlbGV0ZSBvcHRpb25zIHdoaWNoIGFyZSBu b3QgYXBwbGljYWJsZSAtLT4NCg0KIyMjIyBUZXN0aW5nIHRoZSBjaGFuZ2VzDQotIEkgdGVzdGVk IHRoZSBjaGFuZ2VzIGluIHRoaXMgUFI6ICoqYnJpZWZseSoqDQoNCltjaSBza2lwXQ0KDQpEZXBl bmRzIG9uOiBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwv NDkxNDYNClNlZTogaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9p c3N1ZXMvNDkxNjINCg0KTm8gbWFqb3IgcGFja2FnaW5nIGNoYW5nZXMgaW5kaWNhdGVkIGJ5IHVw c3RyZWFtOg0KaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9nbGliYy93aWtpL1JlbGVhc2UvMi4zOQ0K aHR0cHM6Ly9saXN0cy5nbnUub3JnL2FyY2hpdmUvaHRtbC9pbmZvLWdudS8yMDI0LTAxL21zZzAw MDE3Lmh0bWwNCg0KPCEtLQ0KIyMjIyBOZXcgcGFja2FnZQ0KLSBUaGlzIG5ldyBwYWNrYWdlIGNv bmZvcm1zIHRvIHRoZSBbcGFja2FnZSByZXF1aXJlbWVudHNdKGh0dHBzOi8vZ2l0aHViLmNvbS92 b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvYmxvYi9tYXN0ZXIvQ09OVFJJQlVUSU5HLm1kI3BhY2th Z2UtcmVxdWlyZW1lbnRzKTogKipZRVMqKnwqKk5PKioNCi0tPg0KDQo8IS0tIE5vdGU6IElmIHRo ZSBidWlsZCBpcyBsaWtlbHkgdG8gdGFrZSBtb3JlIHRoYW4gMiBob3VycywgcGxlYXNlIGFkZCBj aSBza2lwIHRhZyBhcyBkZXNjcmliZWQgaW4NCmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4 L3ZvaWQtcGFja2FnZXMvYmxvYi9tYXN0ZXIvQ09OVFJJQlVUSU5HLm1kI2NvbnRpbnVvdXMtaW50 ZWdyYXRpb24NCmFuZCB0ZXN0IGF0IGxlYXN0IG9uZSBuYXRpdmUgYnVpbGQgYW5kLCBpZiBzdXBw b3J0ZWQsIGF0IGxlYXN0IG9uZSBjcm9zcyBidWlsZC4NCklnbm9yZSB0aGlzIHNlY3Rpb24gaWYg dGhpcyBQUiBpcyBub3Qgc2tpcHBpbmcgQ0kuDQotLT4NCjwhLS0NCiMjIyMgTG9jYWwgYnVpbGQg dGVzdGluZw0KLSBJIGJ1aWx0IHRoaXMgUFIgbG9jYWxseSBmb3IgbXkgbmF0aXZlIGFyY2hpdGVj dHVyZSwgKEFSQ0gtTElCQykNCi0gSSBidWlsdCB0aGlzIFBSIGxvY2FsbHkgZm9yIHRoZXNlIGFy Y2hpdGVjdHVyZXMgKGlmIHN1cHBvcnRlZC4gbWFyayBjcm9zc2J1aWxkcyk6DQogIC0gYWFyY2g2 NC1tdXNsDQogIC0gYXJtdjdsDQogIC0gYXJtdjZsLW11c2wNCi0tPg0KCgpBIHBhdGNoIGZpbGUg ZnJvbSBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwvNDkx NjMucGF0Y2ggaXMgYXR0YWNoZWQ= --===============8459001179532453568== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-glibc2.39-49163.patch" RnJvbSBmOWM3MmMyODQ4ODNjM2FjYmJmOWM3NDFmMTM1MDlkZjQ3ZmE3NmM2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBvcmVvNjM5IDxvcmVvNjM5MUBnbWFpbC5jb20+CkRhdGU6IFdl ZCwgNiBNYXIgMjAyNCAxNzo1OToxMSAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggMDEvMTJdIGdsaWJj OiB1cGRhdGUgdG8gMi4zOS4KCkFkZCAtLWVuYWJsZS1vcHRpb24tY2hlY2tpbmcgdG8gY29uZmln dXJlIGZsYWdzIGFuZCByZW1vdmUgdW51c2VkIC0td2l0aC1tYXJjaApmbGFncy4gVGhvc2UgZmxh Z3MgY29tZSBmcm9tIGdjYyBhbmQgbm90IGdsaWJjLgotLS0KIGNvbW1vbi9zaGxpYnMgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA2MCArKy0tCiAuLi40ZjEwYjUwNGJjNDU2NGU5 ZjIyZjAwOTA3MDkzZjFhYjkzMzgucGF0Y2ggfCAzMzUgLS0tLS0tLS0tLS0tLS0tLS0tCiAuLi4x YTAwNDdmYjI2YTY1YTliMmE3YjhjZDk3NzI0M2Y3ZDM1M2MucGF0Y2ggfCAyNjIgKysrKysrKysr KysrKysKIC4uLjExMDU4NTI1NjhjM2ViYzcxMjIyNWFlNzhiOGM4YmEzMWE3OC5wYXRjaCB8IDI5 NiAtLS0tLS0tLS0tLS0tLS0tCiAuLi5mYzFjZjA5NDQwNmExMzhlNGQxYmNmOTU1M2U1OWVkY2Y4 OWQucGF0Y2ggfCAyNTIgLS0tLS0tLS0tLS0tLQogLi4uMTU5NjI2YjY3ZmUxMWYzOWU4M2UyMjJj ZjQzNDhhMzk2MmYzLnBhdGNoIHwgIDgwICsrKysrCiAuLi41ZTRmZGExZjZkYWI0YmY3NDQyNzA2 ZmUzMDNiZjI4MzAzNmMucGF0Y2ggfCAgMzcgKysKIHNyY3BrZ3MvZ2xpYmMvcGF0Y2hlcy9DVkUt MjAyMy02MjQ2LnBhdGNoICAgICB8IDE3OCAtLS0tLS0tLS0tCiBzcmNwa2dzL2dsaWJjL3BhdGNo ZXMvQ1ZFLTIwMjMtNjc3OS5wYXRjaCAgICAgfCAxMDMgLS0tLS0tCiBzcmNwa2dzL2dsaWJjL3Bh dGNoZXMvQ1ZFLTIwMjMtNjc4MC5wYXRjaCAgICAgfCAgMzggLS0KIC4uLjA4ZGQ3NzRiNjE3Zjk5 NDE5YmRjM2NmMmFjZTQ1NjBjZDJkNi5wYXRjaCB8IDE5MiAtLS0tLS0tLS0tCiAuLi50ZS1HTElC Q19UVU5BQkxFUy1pbi1zZXR4aWQtYmluYXJpZXMucGF0Y2ggfCAxOTggLS0tLS0tLS0tLS0KIHNy Y3BrZ3MvZ2xpYmMvdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgICAgICB8ICAyNiArLQogMTMg ZmlsZXMgY2hhbmdlZCwgNDIxIGluc2VydGlvbnMoKyksIDE2MzYgZGVsZXRpb25zKC0pCiBkZWxl dGUgbW9kZSAxMDA2NDQgc3JjcGtncy9nbGliYy9wYXRjaGVzLzAwYWU0ZjEwYjUwNGJjNDU2NGU5 ZjIyZjAwOTA3MDkzZjFhYjkzMzgucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2ds aWJjL3BhdGNoZXMvMWI5YzFhMDA0N2ZiMjZhNjVhOWIyYTdiOGNkOTc3MjQzZjdkMzUzYy5wYXRj aAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvZ2xpYmMvcGF0Y2hlcy8zMDcyMy0xLTU0MmIx MTA1ODUyNTY4YzNlYmM3MTIyMjVhZTc4YjhjOGJhMzFhNzgucGF0Y2gKIGRlbGV0ZSBtb2RlIDEw MDY0NCBzcmNwa2dzL2dsaWJjL3BhdGNoZXMvMzA3MjMtMi0wZGM3ZmMxY2YwOTQ0MDZhMTM4ZTRk MWJjZjk1NTNlNTllZGNmODlkLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9nbGli Yy9wYXRjaGVzLzMxMmUxNTk2MjZiNjdmZTExZjM5ZTgzZTIyMmNmNDM0OGEzOTYyZjMucGF0Y2gK IGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2dsaWJjL3BhdGNoZXMvNjMyOTVlNGZkYTFmNmRh YjRiZjc0NDI3MDZmZTMwM2JmMjgzMDM2Yy5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3Br Z3MvZ2xpYmMvcGF0Y2hlcy9DVkUtMjAyMy02MjQ2LnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQg c3JjcGtncy9nbGliYy9wYXRjaGVzL0NWRS0yMDIzLTY3NzkucGF0Y2gKIGRlbGV0ZSBtb2RlIDEw MDY0NCBzcmNwa2dzL2dsaWJjL3BhdGNoZXMvQ1ZFLTIwMjMtNjc4MC5wYXRjaAogZGVsZXRlIG1v ZGUgMTAwNjQ0IHNyY3BrZ3MvZ2xpYmMvcGF0Y2hlcy9iMjU1MDhkZDc3NGI2MTdmOTk0MTliZGMz Y2YyYWNlNDU2MGNkMmQ2LnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9nbGliYy9w YXRjaGVzL2NvbW1pdHRlZC0xLTItUHJvcGFnYXRlLUdMSUJDX1RVTkFCTEVTLWluLXNldHhpZC1i aW5hcmllcy5wYXRjaAoKZGlmZiAtLWdpdCBhL2NvbW1vbi9zaGxpYnMgYi9jb21tb24vc2hsaWJz CmluZGV4IGQzMjk4ZTIxMDAzZGYyLi4xYjU1NGYyM2JjZmUxMiAxMDA2NDQKLS0tIGEvY29tbW9u L3NobGlicworKysgYi9jb21tb24vc2hsaWJzCkBAIC0xNyw0MCArMTcsNDAgQEAKICMgb25lIChv cmRlciB0b3AtPmJvdHRvbSkgaXMgcHJlZmVycmVkIG92ZXIgdGhlIG5leHQgb25lcy4KICMKIGxp YmMuc28gbXVzbC0xLjEuMjRfNwotbGliYy5zby42IGdsaWJjLTIuMzhfMQotbGlibS5zby42IGds aWJjLTIuMzhfMQotbGlicHRocmVhZC5zby4wIGdsaWJjLTIuMzhfMQotbGlicnQuc28uMSBnbGli Yy0yLjM4XzEKLWxpYmRsLnNvLjIgZ2xpYmMtMi4zOF8xCi1sZC1saW51eC14ODYtNjQuc28uMiBn bGliYy0yLjM4XzEgeDg2XzY0Ci1sZC1saW51eC5zby4yIGdsaWJjLTIuMzhfMSBpNjg2Ci1sZC1s aW51eC5zby4zIGdsaWJjLTIuMzhfMSBhcm12NXRlbAotbGQtbGludXgtYWFyY2g2NC5zby4xIGds aWJjLTIuMzhfMSBhYXJjaDY0Ci1sZC1saW51eC1yaXNjdjY0LWxwNjRkLnNvLjEgZ2xpYmMtMi4z OF8xIHJpc2N2NjQKLWxkNjQuc28uMiBnbGliYy0yLjM4XzEgcHBjNjQKLWxkLnNvLjEgZ2xpYmMt Mi4zOF8xIG1pcHMKLWxkLnNvLjEgZ2xpYmMtMi4zOF8xIHBwYwotbGQtbGludXgtYXJtaGYuc28u MyBnbGliYy0yLjM4XzEKLWxpYnJlc29sdi5zby4yIGdsaWJjLTIuMzhfMQotbGliYW5sLnNvLjEg Z2xpYmMtMi4zOF8xCi1saWJ0aHJlYWRfZGIuc28uMSBnbGliYy0yLjM4XzEKLWxpYnV0aWwuc28u MSBnbGliYy0yLjM4XzEKLWxpYm5zbC5zby4xIGdsaWJjLTIuMzhfMQotbGlibnNzX2RiLnNvLjIg Z2xpYmMtMi4zOF8xCi1saWJuc3NfZmlsZXMuc28uMiBnbGliYy0yLjM4XzEKLWxpYm5zc19jb21w YXQuc28uMiBnbGliYy0yLjM4XzEKLWxpYm5zc19kbnMuc28uMiBnbGliYy0yLjM4XzEKLWxpYm5z c19oZXNpb2Quc28uMiBnbGliYy0yLjM4XzEKLWxpYkJyb2tlbkxvY2FsZS5zby4xIGdsaWJjLTIu MzhfMQorbGliYy5zby42IGdsaWJjLTIuMzlfMQorbGlibS5zby42IGdsaWJjLTIuMzlfMQorbGli cHRocmVhZC5zby4wIGdsaWJjLTIuMzlfMQorbGlicnQuc28uMSBnbGliYy0yLjM5XzEKK2xpYmRs LnNvLjIgZ2xpYmMtMi4zOV8xCitsZC1saW51eC14ODYtNjQuc28uMiBnbGliYy0yLjM5XzEgeDg2 XzY0CitsZC1saW51eC5zby4yIGdsaWJjLTIuMzlfMSBpNjg2CitsZC1saW51eC5zby4zIGdsaWJj LTIuMzlfMSBhcm12NXRlbAorbGQtbGludXgtYWFyY2g2NC5zby4xIGdsaWJjLTIuMzlfMSBhYXJj aDY0CitsZC1saW51eC1yaXNjdjY0LWxwNjRkLnNvLjEgZ2xpYmMtMi4zOV8xIHJpc2N2NjQKK2xk NjQuc28uMiBnbGliYy0yLjM5XzEgcHBjNjQKK2xkLnNvLjEgZ2xpYmMtMi4zOV8xIG1pcHMKK2xk LnNvLjEgZ2xpYmMtMi4zOV8xIHBwYworbGQtbGludXgtYXJtaGYuc28uMyBnbGliYy0yLjM5XzEK K2xpYnJlc29sdi5zby4yIGdsaWJjLTIuMzlfMQorbGliYW5sLnNvLjEgZ2xpYmMtMi4zOV8xCits aWJ0aHJlYWRfZGIuc28uMSBnbGliYy0yLjM5XzEKK2xpYnV0aWwuc28uMSBnbGliYy0yLjM5XzEK K2xpYm5zbC5zby4xIGdsaWJjLTIuMzlfMQorbGlibnNzX2RiLnNvLjIgZ2xpYmMtMi4zOV8xCits aWJuc3NfZmlsZXMuc28uMiBnbGliYy0yLjM5XzEKK2xpYm5zc19jb21wYXQuc28uMiBnbGliYy0y LjM5XzEKK2xpYm5zc19kbnMuc28uMiBnbGliYy0yLjM5XzEKK2xpYm5zc19oZXNpb2Quc28uMiBn bGliYy0yLjM5XzEKK2xpYkJyb2tlbkxvY2FsZS5zby4xIGdsaWJjLTIuMzlfMQorbGlibWVtdXNh Z2Uuc28gZ2xpYmMtMi4zOV8xCitsaWJTZWdGYXVsdC5zbyBnbGliYy0yLjM5XzEKK2xpYnBjcHJv ZmlsZS5zbyBnbGliYy0yLjM5XzEKK2xpYmNpZG4uc28uMSBnbGliYy0yLjM5XzEKK2xpYm12ZWMu c28uMSBnbGliYy0yLjM5XzEKIGxpYmNyeXB0LnNvLjIgbGlieGNyeXB0LTQuNC4zNl8xCiBsaWJj cnlwdC5zby4xIGxpYnhjcnlwdC1jb21wYXQtNC40LjM2XzEKIGxpYlNpbUdlYXJDb3JlLnNvLjIw MjAuMy4xNyBzaW1nZWFyLTIwMjAuMy4xN18xCiBsaWJTaW1HZWFyU2NlbmUuc28uMjAyMC4zLjE3 IHNpbWdlYXItMjAyMC4zLjE3XzEKLWxpYm1lbXVzYWdlLnNvIGdsaWJjLTIuMzhfMQotbGliU2Vn RmF1bHQuc28gZ2xpYmMtMi4zOF8xCi1saWJwY3Byb2ZpbGUuc28gZ2xpYmMtMi4zOF8xCi1saWJj aWRuLnNvLjEgZ2xpYmMtMi4zOF8xCi1saWJtdmVjLnNvLjEgZ2xpYmMtMi4zOF8xCiBsaWJjZGRn bXAuc28uMCBjZGRsaWItMC45NG1fMQogbGliY2RkLnNvLjAgY2RkbGliLTAuOTRtXzEKIGxpYmNv d3NxbC5zby4wIGNvd3NxbC0xLjE1LjRfMQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9nbGliYy9wYXRj aGVzLzAwYWU0ZjEwYjUwNGJjNDU2NGU5ZjIyZjAwOTA3MDkzZjFhYjkzMzgucGF0Y2ggYi9zcmNw a2dzL2dsaWJjL3BhdGNoZXMvMDBhZTRmMTBiNTA0YmM0NTY0ZTlmMjJmMDA5MDcwOTNmMWFiOTMz OC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmY1Mzg3Njc4MDliODIuLjAw MDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvZ2xpYmMvcGF0Y2hlcy8wMGFlNGYxMGI1MDRiYzQ1 NjRlOWYyMmYwMDkwNzA5M2YxYWI5MzM4LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzM1ICsw LDAgQEAKLUZyb20gMDBhZTRmMTBiNTA0YmM0NTY0ZTlmMjJmMDA5MDcwOTNmMWFiOTMzOCBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFNpZGRoZXNoIFBveWFyZWthciA8c2lkZGhlc2hA c291cmNld2FyZS5vcmc+Ci1EYXRlOiBGcmksIDE1IFNlcCAyMDIzIDEzOjUxOjEyIC0wNDAwCi1T dWJqZWN0OiBbUEFUQ0hdIGdldGFkZHJpbmZvOiBGaXggdXNlIGFmdGVyIGZyZWUgaW4gZ2V0Y2Fu b25uYW1lCi0gKENWRS0yMDIzLTQ4MDYpCi0KLVdoZW4gYW4gTlNTIHBsdWdpbiBvbmx5IGltcGxl bWVudHMgdGhlIF9nZXRob3N0YnluYW1lMl9yIGFuZAotX2dldGNhbm9ubmFtZV9yIGNhbGxiYWNr cywgZ2V0YWRkcmluZm8gY291bGQgdXNlIG1lbW9yeSB0aGF0IHdhcyBmcmVlZAotZHVyaW5nIHRt cGJ1ZiByZXNpemluZywgdGhyb3VnaCBoX25hbWUgaW4gYSBwcmV2aW91cyBxdWVyeSByZXNwb25z ZS4KLQotVGhlIGJhY2tpbmcgc3RvcmUgZm9yIHJlcy0+YXQtPm5hbWUgd2hlbiBkb2luZyBhIHF1 ZXJ5IHdpdGgKLWdldGhvc3RieW5hbWUzX3Igb3IgZ2V0aG9zdGJ5bmFtZTJfciBpcyB0bXBidWYs IHdoaWNoIGlzIHJlYWxsb2NhdGVkIGluCi1nZXRob3N0cyBkdXJpbmcgdGhlIHF1ZXJ5LiAgRm9y IEFGX0lORVQ2IGxvb2t1cCB3aXRoIEFJX0FMTCB8Ci1BSV9WNE1BUFBFRCwgZ2V0aG9zdHMgZ2V0 cyBjYWxsZWQgdHdpY2UsIG9uY2UgZm9yIGEgdjYgbG9va3VwIGFuZCBzZWNvbmQKLWZvciBhIHY0 IGxvb2t1cC4gIEluIHRoaXMgY2FzZSwgaWYgdGhlIGZpcnN0IGNhbGwgcmVhbGxvY2F0ZXMgdG1w YnVmCi1lbm91Z2ggbnVtYmVyIG9mIHRpbWVzLCByZXN1bHRpbmcgaW4gYSBtYWxsb2MsIHRoLT5o X25hbWUgKHRoYXQKLXJlcy0+YXQtPm5hbWUgcmVmZXJzIHRvKSBlbmRzIHVwIG9uIGEgaGVhcCBh bGxvY2F0ZWQgc3RvcmFnZSBpbiB0bXBidWYuCi1Ob3cgaWYgdGhlIHNlY29uZCBjYWxsIHRvIGdl dGhvc3RzIGFsc28gY2F1c2VzIHRoZSBwbHVnaW4gY2FsbGJhY2sgdG8KLXJldHVybiBOU1NfU1RB VFVTX1RSWUFHQUlOLCB0bXBidWYgd2lsbCBnZXQgZnJlZWQsIHJlc3VsdGluZyBpbiBhIFVBRgot cmVmZXJlbmNlIGluIHJlcy0+YXQtPm5hbWUuICBUaGlzIHRoZW4gZ2V0cyBkZXJlZmVyZW5jZWQg aW4gdGhlCi1nZXRjYW5vbm5hbWVfciBwbHVnaW4gY2FsbCwgcmVzdWx0aW5nIGluIHRoZSB1c2Ug YWZ0ZXIgZnJlZS4KLQotRml4IHRoaXMgYnkgY29weWluZyBoX25hbWUgb3ZlciBhbmQgZnJlZWlu ZyBpdCBhdCB0aGUgZW5kLiAgVGhpcwotcmVzb2x2ZXMgQlogIzMwODQzLCB3aGljaCBpcyBhc3Np Z25lZCBDVkUtMjAyMy00ODA2LgotCi1TaWduZWQtb2ZmLWJ5OiBTaWRkaGVzaCBQb3lhcmVrYXIg PHNpZGRoZXNoQHNvdXJjZXdhcmUub3JnPgotKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgOTcz ZmU5M2E1Njc1YzQyNzk4YjIxNjFjNmYyOWMwMWIwZTI0Mzk5NCkKLS0tLQotIG5zcy9NYWtlZmls ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDE1ICsrKystCi0gbnNzL25zc190 ZXN0X2dhaV9odjJfY2Fub25uYW1lLmMgICAgICAgICAgICAgIHwgNTYgKysrKysrKysrKysrKysr KysKLSBuc3MvdHN0LW5zcy1nYWktaHYyLWNhbm9ubmFtZS5jICAgICAgICAgICAgICAgfCA2MyAr KysrKysrKysrKysrKysrKysrCi0gbnNzL3RzdC1uc3MtZ2FpLWh2Mi1jYW5vbm5hbWUuaCAgICAg ICAgICAgICAgIHwgIDEgKwotIC4uLi9wb3N0Y2xlYW4ucmVxICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICAwCi0gLi4uL3RzdC1uc3MtZ2FpLWh2Mi1jYW5vbm5hbWUuc2NyaXB0ICAgICAg ICAgIHwgIDIgKwotIHN5c2RlcHMvcG9zaXgvZ2V0YWRkcmluZm8uYyAgICAgICAgICAgICAgICAg ICB8IDI1ICsrKysrLS0tCi0gNyBmaWxlcyBjaGFuZ2VkLCAxNTIgaW5zZXJ0aW9ucygrKSwgMTAg ZGVsZXRpb25zKC0pCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IG5zcy9uc3NfdGVzdF9nYWlfaHYyX2Nh bm9ubmFtZS5jCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IG5zcy90c3QtbnNzLWdhaS1odjItY2Fub25u YW1lLmMKLSBjcmVhdGUgbW9kZSAxMDA2NDQgbnNzL3RzdC1uc3MtZ2FpLWh2Mi1jYW5vbm5hbWUu aAotIGNyZWF0ZSBtb2RlIDEwMDY0NCBuc3MvdHN0LW5zcy1nYWktaHYyLWNhbm9ubmFtZS5yb290 L3Bvc3RjbGVhbi5yZXEKLSBjcmVhdGUgbW9kZSAxMDA2NDQgbnNzL3RzdC1uc3MtZ2FpLWh2Mi1j YW5vbm5hbWUucm9vdC90c3QtbnNzLWdhaS1odjItY2Fub25uYW1lLnNjcmlwdAotCi1kaWZmIC0t Z2l0IGEvbnNzL01ha2VmaWxlIGIvbnNzL01ha2VmaWxlCi1pbmRleCAwNmZjZGM0NTBmMS4uOGE1 MTI2ZWNmMzQgMTAwNjQ0Ci0tLS0gYS9uc3MvTWFrZWZpbGUKLSsrKyBiL25zcy9NYWtlZmlsZQot QEAgLTgyLDYgKzgyLDcgQEAgdGVzdHMtY29udGFpbmVyIDo9IFwKLSAgIHRzdC1uc3MtdGVzdDMg XAotICAgdHN0LXJlbG9hZDEgXAotICAgdHN0LXJlbG9hZDIgXAotKyAgdHN0LW5zcy1nYWktaHYy LWNhbm9ubmFtZSBcCi0gIyB0ZXN0cy1jb250YWluZXIKLSAKLSAjIFRlc3RzIHdoaWNoIG5lZWQg bGliZGwKLUBAIC0xNDUsNyArMTQ2LDggQEAgbGlibnNzX2NvbXBhdC1pbmhpYml0LW8JPSAkKGZp bHRlci1vdXQgLm9zLCQob2JqZWN0LXN1ZmZpeGVzKSkKLSBpZmVxICgkKGJ1aWxkLXN0YXRpYy1u c3MpLHllcykKLSB0ZXN0cy1zdGF0aWMJCSs9IHRzdC1uc3Mtc3RhdGljCi0gZW5kaWYKLS1leHRy YS10ZXN0LW9ianMJCSs9IG5zc190ZXN0MS5vcyBuc3NfdGVzdDIub3MgbnNzX3Rlc3RfZXJybm8u b3MKLStleHRyYS10ZXN0LW9ianMJCSs9IG5zc190ZXN0MS5vcyBuc3NfdGVzdDIub3MgbnNzX3Rl c3RfZXJybm8ub3MgXAotKwkJCSAgIG5zc190ZXN0X2dhaV9odjJfY2Fub25uYW1lLm9zCi0gCi0g aW5jbHVkZSAuLi9SdWxlcwotIAotQEAgLTE4MCwxMiArMTgyLDE2IEBAIHJ0bGQtdGVzdHMtTERG TEFHUyArPSAtV2wsLS1keW5hbWljLWxpc3Q9bnNzX3Rlc3QudmVyCi0gbGlib2YtbnNzX3Rlc3Qx ID0gZXh0cmFtb2R1bGVzCi0gbGlib2YtbnNzX3Rlc3QyID0gZXh0cmFtb2R1bGVzCi0gbGlib2Yt bnNzX3Rlc3RfZXJybm8gPSBleHRyYW1vZHVsZXMKLStsaWJvZi1uc3NfdGVzdF9nYWlfaHYyX2Nh bm9ubmFtZSA9IGV4dHJhbW9kdWxlcwotICQob2JqcGZ4KS9saWJuc3NfdGVzdDEuc286ICQob2Jq cGZ4KW5zc190ZXN0MS5vcyAkKGxpbmstbGliYy1kZXBzKQotIAkkKGJ1aWxkLW1vZHVsZSkKLSAk KG9ianBmeCkvbGlibnNzX3Rlc3QyLnNvOiAkKG9ianBmeCluc3NfdGVzdDIub3MgJChsaW5rLWxp YmMtZGVwcykKLSAJJChidWlsZC1tb2R1bGUpCi0gJChvYmpwZngpL2xpYm5zc190ZXN0X2Vycm5v LnNvOiAkKG9ianBmeCluc3NfdGVzdF9lcnJuby5vcyAkKGxpbmstbGliYy1kZXBzKQotIAkkKGJ1 aWxkLW1vZHVsZSkKLSskKG9ianBmeCkvbGlibnNzX3Rlc3RfZ2FpX2h2Ml9jYW5vbm5hbWUuc286 IFwKLSsgICQob2JqcGZ4KW5zc190ZXN0X2dhaV9odjJfY2Fub25uYW1lLm9zICQobGluay1saWJj LWRlcHMpCi0rCSQoYnVpbGQtbW9kdWxlKQotICQob2JqcGZ4KW5zc190ZXN0Mi5vcyA6IG5zc190 ZXN0MS5jCi0gIyBVc2UgdGhlIG5zc19maWxlcyBzdWZmaXggZm9yIHRoZXNlIG9iamVjdHMgYXMg d2VsbC4KLSAkKG9ianBmeCkvbGlibnNzX3Rlc3QxLnNvJChsaWJuc3NfZmlsZXMuc28tdmVyc2lv bik6ICQob2JqcGZ4KS9saWJuc3NfdGVzdDEuc28KLUBAIC0xOTUsMTAgKzIwMSwxNCBAQCAkKG9i anBmeCkvbGlibnNzX3Rlc3QyLnNvJChsaWJuc3NfZmlsZXMuc28tdmVyc2lvbik6ICQob2JqcGZ4 KS9saWJuc3NfdGVzdDIuc28KLSAkKG9ianBmeCkvbGlibnNzX3Rlc3RfZXJybm8uc28kKGxpYm5z c19maWxlcy5zby12ZXJzaW9uKTogXAotICAgJChvYmpwZngpL2xpYm5zc190ZXN0X2Vycm5vLnNv Ci0gCSQobWFrZS1saW5rKQotKyQob2JqcGZ4KS9saWJuc3NfdGVzdF9nYWlfaHYyX2Nhbm9ubmFt ZS5zbyQobGlibnNzX2ZpbGVzLnNvLXZlcnNpb24pOiBcCi0rICAkKG9ianBmeCkvbGlibnNzX3Rl c3RfZ2FpX2h2Ml9jYW5vbm5hbWUuc28KLSsJJChtYWtlLWxpbmspCi0gJChwYXRzdWJzdCAlLCQo b2JqcGZ4KSUub3V0LCQodGVzdHMpICQodGVzdHMtY29udGFpbmVyKSkgOiBcCi0gCSQob2JqcGZ4 KS9saWJuc3NfdGVzdDEuc28kKGxpYm5zc19maWxlcy5zby12ZXJzaW9uKSBcCi0gCSQob2JqcGZ4 KS9saWJuc3NfdGVzdDIuc28kKGxpYm5zc19maWxlcy5zby12ZXJzaW9uKSBcCi0tCSQob2JqcGZ4 KS9saWJuc3NfdGVzdF9lcnJuby5zbyQobGlibnNzX2ZpbGVzLnNvLXZlcnNpb24pCi0rCSQob2Jq cGZ4KS9saWJuc3NfdGVzdF9lcnJuby5zbyQobGlibnNzX2ZpbGVzLnNvLXZlcnNpb24pIFwKLSsJ JChvYmpwZngpL2xpYm5zc190ZXN0X2dhaV9odjJfY2Fub25uYW1lLnNvJChsaWJuc3NfZmlsZXMu c28tdmVyc2lvbikKLSAKLSBpZmVxICh5ZXMsJChoYXZlLXRocmVhZC1saWJyYXJ5KSkKLSAkKG9i anBmeCl0c3QtY2FuY2VsLWdldHB3dWlkX3I6ICQoc2hhcmVkLXRocmVhZC1saWJyYXJ5KQotQEAg LTIxNSwzICsyMjUsNCBAQCBMREZMQUdTLXRzdC1uc3MtdGVzdDMgPSAtV2wsLS1kaXNhYmxlLW5l dy1kdGFncwotIExERkxBR1MtdHN0LW5zcy10ZXN0NCA9IC1XbCwtLWRpc2FibGUtbmV3LWR0YWdz Ci0gTERGTEFHUy10c3QtbnNzLXRlc3Q1ID0gLVdsLC0tZGlzYWJsZS1uZXctZHRhZ3MKLSBMREZM QUdTLXRzdC1uc3MtdGVzdF9lcnJubyA9IC1XbCwtLWRpc2FibGUtbmV3LWR0YWdzCi0rTERGTEFH Uy10c3QtbnNzLXRlc3RfZ2FpX2h2Ml9jYW5vbm5hbWUgPSAtV2wsLS1kaXNhYmxlLW5ldy1kdGFn cwotZGlmZiAtLWdpdCBhL25zcy9uc3NfdGVzdF9nYWlfaHYyX2Nhbm9ubmFtZS5jIGIvbnNzL25z c190ZXN0X2dhaV9odjJfY2Fub25uYW1lLmMKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAw MDAwMDAwMDAwMC4uNDQzOWM4M2M5ZjQKLS0tLSAvZGV2L251bGwKLSsrKyBiL25zcy9uc3NfdGVz dF9nYWlfaHYyX2Nhbm9ubmFtZS5jCi1AQCAtMCwwICsxLDU2IEBACi0rLyogTlNTIHNlcnZpY2Ug cHJvdmlkZXIgdGhhdCBvbmx5IHByb3ZpZGVzIGdldGhvc3RieW5hbWUyX3IuCi0rICAgQ29weXJp Z2h0IFRoZSBHTlUgVG9vbGNoYWluIEF1dGhvcnMuCi0rICAgVGhpcyBmaWxlIGlzIHBhcnQgb2Yg dGhlIEdOVSBDIExpYnJhcnkuCi0rCi0rICAgVGhlIEdOVSBDIExpYnJhcnkgaXMgZnJlZSBzb2Z0 d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0rICAgbW9kaWZ5IGl0IHVuZGVy IHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotKyAgIExpY2Vuc2Ug YXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotKyAg IHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl ciB2ZXJzaW9uLgotKwotKyAgIFRoZSBHTlUgQyBMaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0rICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJB TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSsgICBNRVJDSEFOVEFC SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQot KyAgIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0rCi0r ICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5l cmFsIFB1YmxpYwotKyAgIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGUgR05VIEMgTGlicmFyeTsgaWYg bm90LCBzZWUKLSsgICA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KLSsKLSsj aW5jbHVkZSA8bnNzLmg+Ci0rI2luY2x1ZGUgPHN0ZGxpYi5oPgotKyNpbmNsdWRlIDxzdHJpbmcu aD4KLSsjaW5jbHVkZSAibnNzL3RzdC1uc3MtZ2FpLWh2Mi1jYW5vbm5hbWUuaCIKLSsKLSsvKiBD YXRjaCBtaXNuYW1lZCBhbmQgZnVuY3Rpb25zLiAgKi8KLSsjcHJhZ21hIEdDQyBkaWFnbm9zdGlj IGVycm9yICItV21pc3NpbmctcHJvdG90eXBlcyIKLStOU1NfREVDTEFSRV9NT0RVTEVfRlVOQ1RJ T05TICh0ZXN0X2dhaV9odjJfY2Fub25uYW1lKQotKwotK2V4dGVybiBlbnVtIG5zc19zdGF0dXMg X25zc19maWxlc19nZXRob3N0YnluYW1lMl9yIChjb25zdCBjaGFyICosIGludCwKLSsJCQkJCQkg ICAgc3RydWN0IGhvc3RlbnQgKiwgY2hhciAqLAotKwkJCQkJCSAgICBzaXplX3QsIGludCAqLCBp bnQgKik7Ci0rCi0rZW51bSBuc3Nfc3RhdHVzCi0rX25zc190ZXN0X2dhaV9odjJfY2Fub25uYW1l X2dldGhvc3RieW5hbWUyX3IgKGNvbnN0IGNoYXIgKm5hbWUsIGludCBhZiwKLSsJCQkJCSAgICAg IHN0cnVjdCBob3N0ZW50ICpyZXN1bHQsCi0rCQkJCQkgICAgICBjaGFyICpidWZmZXIsIHNpemVf dCBidWZsZW4sCi0rCQkJCQkgICAgICBpbnQgKmVycm5vcCwgaW50ICpoZXJybm9wKQotK3sKLSsg IHJldHVybiBfbnNzX2ZpbGVzX2dldGhvc3RieW5hbWUyX3IgKG5hbWUsIGFmLCByZXN1bHQsIGJ1 ZmZlciwgYnVmbGVuLCBlcnJub3AsCi0rCQkJCSAgICAgIGhlcnJub3ApOwotK30KLSsKLStlbnVt IG5zc19zdGF0dXMKLStfbnNzX3Rlc3RfZ2FpX2h2Ml9jYW5vbm5hbWVfZ2V0Y2Fub25uYW1lX3Ig KGNvbnN0IGNoYXIgKm5hbWUsIGNoYXIgKmJ1ZmZlciwKLSsJCQkJCSAgICBzaXplX3QgYnVmbGVu LCBjaGFyICoqcmVzdWx0LAotKwkJCQkJICAgIGludCAqZXJybm9wLCBpbnQgKmhfZXJybm9wKQot K3sKLSsgIC8qIFdlIGV4cGVjdCBRVUVSWU5BTUUsIHdoaWNoIGlzIGEgc21hbGwgZW5vdWdoIHN0 cmluZyB0aGF0IGl0IHNob3VsZG4ndCBmYWlsCi0rICAgICB0aGUgdGVzdC4gICovCi0rICBpZiAo bWVtY21wIChRVUVSWU5BTUUsIG5hbWUsIHNpemVvZiAoUVVFUllOQU1FKSkKLSsgICAgICB8fCBi dWZsZW4gPCBzaXplb2YgKFFVRVJZTkFNRSkpCi0rICAgIGFib3J0ICgpOwotKwotKyAgc3RybmNw eSAoYnVmZmVyLCBuYW1lLCBidWZsZW4pOwotKyAgKnJlc3VsdCA9IGJ1ZmZlcjsKLSsgIHJldHVy biBOU1NfU1RBVFVTX1NVQ0NFU1M7Ci0rfQotZGlmZiAtLWdpdCBhL25zcy90c3QtbnNzLWdhaS1o djItY2Fub25uYW1lLmMgYi9uc3MvdHN0LW5zcy1nYWktaHYyLWNhbm9ubmFtZS5jCi1uZXcgZmls ZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwMDAuLmQ1ZjEwYzA3ZDZhCi0tLS0gL2Rldi9u dWxsCi0rKysgYi9uc3MvdHN0LW5zcy1nYWktaHYyLWNhbm9ubmFtZS5jCi1AQCAtMCwwICsxLDYz IEBACi0rLyogVGVzdCBOU1MgcXVlcnkgcGF0aCBmb3IgcGx1Z2lucyB0aGF0IG9ubHkgaW1wbGVt ZW50IGdldGhvc3RieW5hbWUyCi0rICAgKCMzMDg0MykuCi0rICAgQ29weXJpZ2h0IFRoZSBHTlUg VG9vbGNoYWluIEF1dGhvcnMuCi0rICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEdOVSBDIExp YnJhcnkuCi0rCi0rICAgVGhlIEdOVSBDIExpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0rICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBv ZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotKyAgIExpY2Vuc2UgYXMgcHVibGlzaGVk IGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotKyAgIHZlcnNpb24gMi4x IG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgot KwotKyAgIFRoZSBHTlUgQyBMaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg aXQgd2lsbCBiZSB1c2VmdWwsCi0rICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0 IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSsgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklU TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotKyAgIExlc3NlciBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0rCi0rICAgWW91IHNob3Vs ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwot KyAgIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGUgR05VIEMgTGlicmFyeTsgaWYgbm90LCBzZWUKLSsg ICA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KLSsKLSsjaW5jbHVkZSA8bnNz Lmg+Ci0rI2luY2x1ZGUgPG5ldGRiLmg+Ci0rI2luY2x1ZGUgPHN0ZGxpYi5oPgotKyNpbmNsdWRl IDxzdHJpbmcuaD4KLSsjaW5jbHVkZSA8c3VwcG9ydC9jaGVjay5oPgotKyNpbmNsdWRlIDxzdXBw b3J0L3hzdGRpby5oPgotKyNpbmNsdWRlICJuc3MvdHN0LW5zcy1nYWktaHYyLWNhbm9ubmFtZS5o IgotKwotKyNkZWZpbmUgUFJFUEFSRSBkb19wcmVwYXJlCi0rCi0rc3RhdGljIHZvaWQgZG9fcHJl cGFyZSAoaW50IGEsIGNoYXIgKiphdikKLSt7Ci0rICBGSUxFICpob3N0cyA9IHhmb3BlbiAoIi9l dGMvaG9zdHMiLCAidyIpOwotKyAgZm9yICh1bnNpZ25lZCBpID0gMjsgaSA8IDI1NTsgaSsrKQot KyAgICB7Ci0rICAgICAgZnByaW50ZiAoaG9zdHMsICJmZjAxOjpmZjAyOmZmMDM6JXU6Mlx0dGVz dC5leGFtcGxlLmNvbVxuIiwgaSk7Ci0rICAgICAgZnByaW50ZiAoaG9zdHMsICIxOTIuMTY4LjAu JXVcdHRlc3QuZXhhbXBsZS5jb21cbiIsIGkpOwotKyAgICB9Ci0rICB4ZmNsb3NlIChob3N0cyk7 Ci0rfQotKwotK3N0YXRpYyBpbnQKLStkb190ZXN0ICh2b2lkKQotK3sKLSsgIF9fbnNzX2NvbmZp Z3VyZV9sb29rdXAgKCJob3N0cyIsICJ0ZXN0X2dhaV9odjJfY2Fub25uYW1lIik7Ci0rCi0rICBz dHJ1Y3QgYWRkcmluZm8gaGludHMgPSB7fTsKLSsgIHN0cnVjdCBhZGRyaW5mbyAqcmVzdWx0ID0g TlVMTDsKLSsKLSsgIGhpbnRzLmFpX2ZhbWlseSA9IEFGX0lORVQ2OwotKyAgaGludHMuYWlfZmxh Z3MgPSBBSV9BTEwgfCBBSV9WNE1BUFBFRCB8IEFJX0NBTk9OTkFNRTsKLSsKLSsgIGludCByZXQg PSBnZXRhZGRyaW5mbyAoUVVFUllOQU1FLCBOVUxMLCAmaGludHMsICZyZXN1bHQpOwotKwotKyAg aWYgKHJldCAhPSAwKQotKyAgICBGQUlMX0VYSVQxICgiZ2V0YWRkcmluZm8gZmFpbGVkOiAlc1xu IiwgZ2FpX3N0cmVycm9yIChyZXQpKTsKLSsKLSsgIFRFU1RfQ09NUEFSRV9TVFJJTkcgKHJlc3Vs dC0+YWlfY2Fub25uYW1lLCBRVUVSWU5BTUUpOwotKwotKyAgZnJlZWFkZHJpbmZvKHJlc3VsdCk7 Ci0rICByZXR1cm4gMDsKLSt9Ci0rCi0rI2luY2x1ZGUgPHN1cHBvcnQvdGVzdC1kcml2ZXIuYz4K LWRpZmYgLS1naXQgYS9uc3MvdHN0LW5zcy1nYWktaHYyLWNhbm9ubmFtZS5oIGIvbnNzL3RzdC1u c3MtZ2FpLWh2Mi1jYW5vbm5hbWUuaAotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAw MDAwMDAwLi4xNGYyYTljYjA4NgotLS0tIC9kZXYvbnVsbAotKysrIGIvbnNzL3RzdC1uc3MtZ2Fp LWh2Mi1jYW5vbm5hbWUuaAotQEAgLTAsMCArMSBAQAotKyNkZWZpbmUgUVVFUllOQU1FICJ0ZXN0 LmV4YW1wbGUuY29tIgotZGlmZiAtLWdpdCBhL25zcy90c3QtbnNzLWdhaS1odjItY2Fub25uYW1l LnJvb3QvcG9zdGNsZWFuLnJlcSBiL25zcy90c3QtbnNzLWdhaS1odjItY2Fub25uYW1lLnJvb3Qv cG9zdGNsZWFuLnJlcQotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwMDAwLi5l NjlkZTI5YmIyZAotZGlmZiAtLWdpdCBhL25zcy90c3QtbnNzLWdhaS1odjItY2Fub25uYW1lLnJv b3QvdHN0LW5zcy1nYWktaHYyLWNhbm9ubmFtZS5zY3JpcHQgYi9uc3MvdHN0LW5zcy1nYWktaHYy LWNhbm9ubmFtZS5yb290L3RzdC1uc3MtZ2FpLWh2Mi1jYW5vbm5hbWUuc2NyaXB0Ci1uZXcgZmls ZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwMDAuLjMxODQ4YjRhMjg1Ci0tLS0gL2Rldi9u dWxsCi0rKysgYi9uc3MvdHN0LW5zcy1nYWktaHYyLWNhbm9ubmFtZS5yb290L3RzdC1uc3MtZ2Fp LWh2Mi1jYW5vbm5hbWUuc2NyaXB0Ci1AQCAtMCwwICsxLDIgQEAKLStjcCAkQi9uc3MvbGlibnNz X3Rlc3RfZ2FpX2h2Ml9jYW5vbm5hbWUuc28gJEwvbGlibnNzX3Rlc3RfZ2FpX2h2Ml9jYW5vbm5h bWUuc28uMgotK3N1Ci1kaWZmIC0tZ2l0IGEvc3lzZGVwcy9wb3NpeC9nZXRhZGRyaW5mby5jIGIv c3lzZGVwcy9wb3NpeC9nZXRhZGRyaW5mby5jCi1pbmRleCAwMzU2YjYyMmJlNi4uYjIyMzZiMTA1 YzEgMTAwNjQ0Ci0tLS0gYS9zeXNkZXBzL3Bvc2l4L2dldGFkZHJpbmZvLmMKLSsrKyBiL3N5c2Rl cHMvcG9zaXgvZ2V0YWRkcmluZm8uYwotQEAgLTEyMCw2ICsxMjAsNyBAQCBzdHJ1Y3QgZ2FpaF9y ZXN1bHQKLSB7Ci0gICBzdHJ1Y3QgZ2FpaF9hZGRydHVwbGUgKmF0OwotICAgY2hhciAqY2Fub247 Ci0rICBjaGFyICpoX25hbWU7Ci0gICBib29sIGZyZWVfYXQ7Ci0gICBib29sIGdvdF9pcHY2Owot IH07Ci1AQCAtMTY1LDYgKzE2Niw3IEBAIGdhaWhfcmVzdWx0X3Jlc2V0IChzdHJ1Y3QgZ2FpaF9y ZXN1bHQgKnJlcykKLSAgIGlmIChyZXMtPmZyZWVfYXQpCi0gICAgIGZyZWUgKHJlcy0+YXQpOwot ICAgZnJlZSAocmVzLT5jYW5vbik7Ci0rICBmcmVlIChyZXMtPmhfbmFtZSk7Ci0gICBtZW1zZXQg KHJlcywgMCwgc2l6ZW9mICgqcmVzKSk7Ci0gfQotIAotQEAgLTIwMyw5ICsyMDUsOCBAQCBnYWlo X2luZXRfc2VydiAoY29uc3QgY2hhciAqc2VydmljZW5hbWUsIGNvbnN0IHN0cnVjdCBnYWloX3R5 cGVwcm90byAqdHAsCi0gICByZXR1cm4gMDsKLSB9Ci0gCi0tLyogQ29udmVydCBzdHJ1Y3QgaG9z dGVudCB0byBhIGxpc3Qgb2Ygc3RydWN0IGdhaWhfYWRkcnR1cGxlIG9iamVjdHMuICBoX25hbWUK LS0gICBpcyBub3QgY29waWVkLCBhbmQgdGhlIHN0cnVjdCBob3N0ZW50IG9iamVjdCBtdXN0IG5v dCBiZSBkZWFsbG9jYXRlZAotLSAgIHByZW1hdHVyZWx5LiAgVGhlIG5ldyBhZGRyZXNzZXMgYXJl IGFwcGVuZGVkIHRvIHRoZSB0dXBsZSBhcnJheSBpbiBSRVMuICAqLwotKy8qIENvbnZlcnQgc3Ry dWN0IGhvc3RlbnQgdG8gYSBsaXN0IG9mIHN0cnVjdCBnYWloX2FkZHJ0dXBsZSBvYmplY3RzLiAg VGhlIG5ldwotKyAgIGFkZHJlc3NlcyBhcmUgYXBwZW5kZWQgdG8gdGhlIHR1cGxlIGFycmF5IGlu IFJFUy4gICovCi0gc3RhdGljIGJvb2wKLSBjb252ZXJ0X2hvc3RlbnRfdG9fZ2FpaF9hZGRydHVw bGUgKGNvbnN0IHN0cnVjdCBhZGRyaW5mbyAqcmVxLCBpbnQgZmFtaWx5LAotIAkJCQkgICBzdHJ1 Y3QgaG9zdGVudCAqaCwgc3RydWN0IGdhaWhfcmVzdWx0ICpyZXMpCi1AQCAtMjM4LDYgKzIzOSwx NSBAQCBjb252ZXJ0X2hvc3RlbnRfdG9fZ2FpaF9hZGRydHVwbGUgKGNvbnN0IHN0cnVjdCBhZGRy aW5mbyAqcmVxLCBpbnQgZmFtaWx5LAotICAgcmVzLT5hdCA9IGFycmF5OwotICAgcmVzLT5mcmVl X2F0ID0gdHJ1ZTsKLSAKLSsgIC8qIER1cGxpY2F0ZSBoX25hbWUgYmVjYXVzZSBpdCBtYXkgZ2V0 IHJlY2xhaW1lZCB3aGVuIHRoZSB1bmRlcmx5aW5nIHN0b3JhZ2UKLSsgICAgIGlzIGZyZWVkLiAg Ki8KLSsgIGlmIChyZXMtPmhfbmFtZSA9PSBOVUxMKQotKyAgICB7Ci0rICAgICAgcmVzLT5oX25h bWUgPSBfX3N0cmR1cCAoaC0+aF9uYW1lKTsKLSsgICAgICBpZiAocmVzLT5oX25hbWUgPT0gTlVM TCkKLSsJcmV0dXJuIGZhbHNlOwotKyAgICB9Ci0rCi0gICAvKiBVcGRhdGUgdGhlIG5leHQgcG9p bnRlcnMgb24gcmVhbGxvY2F0aW9uLiAgKi8KLSAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgb2xk OyBpKyspCi0gICAgIGFycmF5W2ldLm5leHQgPSBhcnJheSArIGkgKyAxOwotQEAgLTI2Miw3ICsy NzIsNiBAQCBjb252ZXJ0X2hvc3RlbnRfdG9fZ2FpaF9hZGRydHVwbGUgKGNvbnN0IHN0cnVjdCBh ZGRyaW5mbyAqcmVxLCBpbnQgZmFtaWx5LAotIAl9Ci0gICAgICAgYXJyYXlbaV0ubmV4dCA9IGFy cmF5ICsgaSArIDE7Ci0gICAgIH0KLS0gIGFycmF5WzBdLm5hbWUgPSBoLT5oX25hbWU7Ci0gICBh cnJheVtjb3VudCAtIDFdLm5leHQgPSBOVUxMOwotIAotICAgcmV0dXJuIHRydWU7Ci1AQCAtMzI0 LDE1ICszMzMsMTUgQEAgZ2V0aG9zdHMgKG5zc19nZXRob3N0YnluYW1lM19yIGZjdCwgaW50IGZh bWlseSwgY29uc3QgY2hhciAqbmFtZSwKLSAgICBtZW1vcnkgYWxsb2NhdGlvbiBmYWlsdXJlLiAg VGhlIHJldHVybmVkIHN0cmluZyBpcyBhbGxvY2F0ZWQgb24gdGhlCi0gICAgaGVhcDsgdGhlIGNh bGxlciBoYXMgdG8gZnJlZSBpdC4gICovCi0gc3RhdGljIGNoYXIgKgotLWdldGNhbm9ubmFtZSAo bnNzX2FjdGlvbl9saXN0IG5pcCwgc3RydWN0IGdhaWhfYWRkcnR1cGxlICphdCwgY29uc3QgY2hh ciAqbmFtZSkKLStnZXRjYW5vbm5hbWUgKG5zc19hY3Rpb25fbGlzdCBuaXAsIGNvbnN0IGNoYXIg KmhuYW1lLCBjb25zdCBjaGFyICpuYW1lKQotIHsKLSAgIG5zc19nZXRjYW5vbm5hbWVfciAqY2Zj dCA9IF9fbnNzX2xvb2t1cF9mdW5jdGlvbiAobmlwLCAiZ2V0Y2Fub25uYW1lX3IiKTsKLSAgIGNo YXIgKnMgPSAoY2hhciAqKSBuYW1lOwotICAgaWYgKGNmY3QgIT0gTlVMTCkKLSAgICAgewotICAg ICAgIGNoYXIgYnVmWzI1Nl07Ci0tICAgICAgaWYgKERMX0NBTExfRkNUIChjZmN0LCAoYXQtPm5h bWUgPzogbmFtZSwgYnVmLCBzaXplb2YgKGJ1ZiksCi0tCQkJICAgICAgJnMsICZlcnJubywgJmhf ZXJybm8pKSAhPSBOU1NfU1RBVFVTX1NVQ0NFU1MpCi0rICAgICAgaWYgKERMX0NBTExfRkNUIChj ZmN0LCAoaG5hbWUgPzogbmFtZSwgYnVmLCBzaXplb2YgKGJ1ZiksICZzLCAmZXJybm8sCi0rCQkJ ICAgICAgJmhfZXJybm8pKSAhPSBOU1NfU1RBVFVTX1NVQ0NFU1MpCi0gCS8qIElmIHRoZSBjYW5v bmljYWwgbmFtZSBjYW5ub3QgYmUgZGV0ZXJtaW5lZCwgdXNlIHRoZSBwYXNzZWQKLSAJICAgc3Ry aW5nLiAgKi8KLSAJcyA9IChjaGFyICopIG5hbWU7Ci1AQCAtNzcxLDcgKzc4MCw3IEBAIGdldF9u c3NfYWRkcmVzc2VzIChjb25zdCBjaGFyICpuYW1lLCBjb25zdCBzdHJ1Y3QgYWRkcmluZm8gKnJl cSwKLSAJCSAgaWYgKChyZXEtPmFpX2ZsYWdzICYgQUlfQ0FOT05OQU1FKSAhPSAwCi0gCQkgICAg ICAmJiByZXMtPmNhbm9uID09IE5VTEwpCi0gCQkgICAgewotLQkJICAgICAgY2hhciAqY2Fub25i dWYgPSBnZXRjYW5vbm5hbWUgKG5pcCwgcmVzLT5hdCwgbmFtZSk7Ci0rCQkgICAgICBjaGFyICpj YW5vbmJ1ZiA9IGdldGNhbm9ubmFtZSAobmlwLCByZXMtPmhfbmFtZSwgbmFtZSk7Ci0gCQkgICAg ICBpZiAoY2Fub25idWYgPT0gTlVMTCkKLSAJCQl7Ci0gCQkJICBfX3Jlc29sdl9jb250ZXh0X3B1 dCAocmVzX2N0eCk7CmRpZmYgLS1naXQgYS9zcmNwa2dzL2dsaWJjL3BhdGNoZXMvMWI5YzFhMDA0 N2ZiMjZhNjVhOWIyYTdiOGNkOTc3MjQzZjdkMzUzYy5wYXRjaCBiL3NyY3BrZ3MvZ2xpYmMvcGF0 Y2hlcy8xYjljMWEwMDQ3ZmIyNmE2NWE5YjJhN2I4Y2Q5NzcyNDNmN2QzNTNjLnBhdGNoCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwLi5mMGE2N2IxOTM5ZGIxMQotLS0g L2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvZ2xpYmMvcGF0Y2hlcy8xYjljMWEwMDQ3ZmIyNmE2NWE5 YjJhN2I4Y2Q5NzcyNDNmN2QzNTNjLnBhdGNoCkBAIC0wLDAgKzEsMjYyIEBACitGcm9tIDFiOWMx YTAwNDdmYjI2YTY1YTliMmE3YjhjZDk3NzI0M2Y3ZDM1M2MgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCitGcm9tOiBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPgorRGF0ZTogV2VkLCAz MSBKYW4gMjAyNCAxOToxNzoyNyArMDEwMAorU3ViamVjdDogW1BBVENIXSBVc2UgZ2NjIF9fYnVp bHRpbl9zdGRjXyogYnVpbHRpbnMgaW4gc3RkYml0LmggaWYgcG9zc2libGUKKworVGhlIGZvbGxv d2luZyBwYXRjaCB1c2VzIHRoZSBHQ0MgMTQgX19idWlsdGluX3N0ZGNfKiBidWlsdGlucyBpbiBz dGRiaXQuaAorZm9yIHRoZSB0eXBlLWdlbmVyaWMgbWFjcm9zLCBzbyB0aGF0IHdoZW4gY29tcGls ZWQgd2l0aCBHQ0MgMTQgb3IgbGF0ZXIsCitpdCBzdXBwb3J0cyBub3QganVzdCA4LzE2LzMyLzY0 LWJpdCB1bnNpZ25lZCBpbnRlZ2VycywgYnV0IGFsc28gMTI4LWJpdAorKGlmIHRhcmdldCBzdXBw b3J0cyB0aGVtKSBhbmQgdW5zaWduZWQgX0JpdEludCAoYW55IHN1cHBvcnRlZCBwcmVjaXNpb24p LgorQW5kIHNvIHRoYXQgdGhlIG1hY3JvcyBkb24ndCBleHBhbmQgYXJndW1lbnRzIG11bHRpcGxl IHRpbWVzIGFuZCBjYW4gYmUKK2V2YWx1YXRlZCBpbiBjb25zdGFudCBleHByZXNzaW9ucy4KKwor VGhlIG5ldyB0ZXN0Y2FzZSBpcyBnY2MncyBnY2MvdGVzdHN1aXRlL2djYy5kZy9idWlsdGluLXN0 ZGMtYml0LTEuYworYWRqdXN0ZWQgdG8gdGVzdCBzdGRiaXQuaCBhbmQgdGhlIHR5cGUtZ2VuZXJp YyBtYWNyb3MgaW4gdGhlcmUgaW5zdGVhZAorb2YgdGhlIGJ1aWx0aW5zIGFuZCBhZGp1c3RlZCB0 byB1c2UgZ2xpYmMgdGVzdCBmcmFtZXdvcmsgcmF0aGVyIHRoYW4KK2djYyBzdHlsZSB0ZXN0cyB3 aXRoIF9fYnVpbHRpbl9hYm9ydCAoKS4KKworU2lnbmVkLW9mZi1ieTogSmFrdWIgSmVsaW5layA8 amFrdWJAcmVkaGF0LmNvbT4KK1Jldmlld2VkLWJ5OiBKb3NlcGggTXllcnMgPGpvc215ZXJzQHJl ZGhhdC5jb20+CisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBkYTg5NDk2MzM3Yjk3ZTZhMmFh ZjFlODFkNTVjZjk5OGY2ZGIxMDcwKQorLS0tCisgbWFudWFsL3N0ZGJpdC50ZXhpICAgICAgICAg ICB8ICAgOCArLQorIHN0ZGxpYi9NYWtlZmlsZSAgICAgICAgICAgICAgfCAgIDEgKworIHN0ZGxp Yi9zdGRiaXQuaCAgICAgICAgICAgICAgfCAgODQgKysrLQorIHN0ZGxpYi90c3Qtc3RkYml0LWJ1 aWx0aW5zLmMgfCA3NzggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyA0IGZp bGVzIGNoYW5nZWQsIDg1NiBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkKKyBjcmVhdGUg bW9kZSAxMDA2NDQgc3RkbGliL3RzdC1zdGRiaXQtYnVpbHRpbnMuYworCitkaWZmIC0tZ2l0IGEv bWFudWFsL3N0ZGJpdC50ZXhpIGIvbWFudWFsL3N0ZGJpdC50ZXhpCitpbmRleCBmZTQxYzY3MWQ4 Li42Yzc1ZWQ5YTIwIDEwMDY0NAorLS0tIGEvbWFudWFsL3N0ZGJpdC50ZXhpCisrKysgYi9tYW51 YWwvc3RkYml0LnRleGkKK0BAIC0zMiw3ICszMiwxMyBAQCBhbmQgQGNvZGV7dW5zaWduZWQgbG9u ZyBsb25nIGludH0uICBJbiBhZGRpdGlvbiwgdGhlcmUgaXMgYQorIGNvcnJlc3BvbmRpbmcgdHlw ZS1nZW5lcmljIG1hY3JvIChub3QgbGlzdGVkIGJlbG93KSwgbmFtZWQgdGhlIHNhbWUgYXMKKyB0 aGUgZnVuY3Rpb25zIGJ1dCB3aXRob3V0IGFueSBzdWZmaXggc3VjaCBhcyBAc2FtcHtfdWN9LiAg VGhlCisgdHlwZS1nZW5lcmljIG1hY3JvIGNhbiBvbmx5IGJlIHVzZWQgd2l0aCBhbiBhcmd1bWVu dCBvZiBhbiB1bnNpZ25lZAorLWludGVnZXIgdHlwZSB3aXRoIGEgd2lkdGggb2YgOCwgMTYsIDMy IG9yIDY0IGJpdHMuCisraW50ZWdlciB0eXBlIHdpdGggYSB3aWR0aCBvZiA4LCAxNiwgMzIgb3Ig NjQgYml0cywgb3Igd2hlbiB1c2luZworK2EgY29tcGlsZXIgd2l0aCBzdXBwb3J0IGZvcgorK0B1 cmVme2h0dHBzOi8vZ2NjLmdudS5vcmcvb25saW5lZG9jcy9nY2MvT3RoZXItQnVpbHRpbnMuaHRt bCxAY29kZXtfX2J1aWx0aW5fc3RkY19iaXRfY2VpbH19LAorK2V0Yy5AOiwgYnVpbHQtaW4gZnVu Y3Rpb25zIHN1Y2ggYXMgR0NDIDE0LjEgb3IgbGF0ZXIKKythbnkgdW5zaWduZWQgaW50ZWdlciB0 eXBlIHRob3NlIGJ1aWx0LWluIGZ1bmN0aW9ucyBzdXBwb3J0LgorK0luIEdDQyAxNC4xIHRoYXQg aW5jbHVkZXMgc3VwcG9ydCBmb3IgQGNvZGV7dW5zaWduZWQgX19pbnQxMjh9IGFuZAorK0Bjb2Rl e3Vuc2lnbmVkIF9CaXRJbnQoQHZhcntufSl9IGlmIHN1cHBvcnRlZCBieSB0aGUgdGFyZ2V0Lgor IAorIEBkZWZ0eXBlZnVuIHt1bnNpZ25lZCBpbnR9IHN0ZGNfbGVhZGluZ196ZXJvc191YyAodW5z aWduZWQgY2hhciBAdmFye3h9KQorIEBkZWZ0eXBlZnVueCB7dW5zaWduZWQgaW50fSBzdGRjX2xl YWRpbmdfemVyb3NfdXMgKHVuc2lnbmVkIHNob3J0IEB2YXJ7eH0pCitkaWZmIC0tZ2l0IGEvc3Rk bGliL3N0ZGJpdC5oIGIvc3RkbGliL3N0ZGJpdC5oCitpbmRleCBmMzM0ZWIxNzRkLi4yODAxNTkw YzYzIDEwMDY0NAorLS0tIGEvc3RkbGliL3N0ZGJpdC5oCisrKysgYi9zdGRsaWIvc3RkYml0LmgK K0BAIC02NCw5ICs2NCwxMyBAQCBleHRlcm4gdW5zaWduZWQgaW50IHN0ZGNfbGVhZGluZ196ZXJv c191bCAodW5zaWduZWQgbG9uZyBpbnQgX194KQorIF9fZXh0ZW5zaW9uX18KKyBleHRlcm4gdW5z aWduZWQgaW50IHN0ZGNfbGVhZGluZ196ZXJvc191bGwgKHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQg X194KQorICAgICAgX19USFJPVyBfX2F0dHJpYnV0ZV9jb25zdF9fOworLSNkZWZpbmUgc3RkY19s ZWFkaW5nX3plcm9zKHgpCQkJCVwKKysjaWYgX19nbGliY19oYXNfYnVpbHRpbiAoX19idWlsdGlu X3N0ZGNfbGVhZGluZ196ZXJvcykKKysjIGRlZmluZSBzdGRjX2xlYWRpbmdfemVyb3MoeCkgKF9f YnVpbHRpbl9zdGRjX2xlYWRpbmdfemVyb3MgKHgpKQorKyNlbHNlCisrIyBkZWZpbmUgc3RkY19s ZWFkaW5nX3plcm9zKHgpCQkJCVwKKyAgIChzdGRjX2xlYWRpbmdfemVyb3NfdWxsICh4KQkJCQlc CisgICAgLSAodW5zaWduZWQgaW50KSAoOCAqIChzaXplb2YgKDBVTEwpIC0gc2l6ZW9mICh4KSkp KQorKyNlbmRpZgorIAorICNpZiBfX0dOVUNfUFJFUkVRICgzLCA0KSB8fCBfX2dsaWJjX2hhc19i dWlsdGluIChfX2J1aWx0aW5fY2x6bGwpCisgc3RhdGljIF9fYWx3YXlzX2lubGluZSB1bnNpZ25l ZCBpbnQKK0BAIC0xMTYsOSArMTIwLDEzIEBAIGV4dGVybiB1bnNpZ25lZCBpbnQgc3RkY19sZWFk aW5nX29uZXNfdWwgKHVuc2lnbmVkIGxvbmcgaW50IF9feCkKKyBfX2V4dGVuc2lvbl9fCisgZXh0 ZXJuIHVuc2lnbmVkIGludCBzdGRjX2xlYWRpbmdfb25lc191bGwgKHVuc2lnbmVkIGxvbmcgbG9u ZyBpbnQgX194KQorICAgICAgX19USFJPVyBfX2F0dHJpYnV0ZV9jb25zdF9fOworLSNkZWZpbmUg c3RkY19sZWFkaW5nX29uZXMoeCkJCQkJCVwKKysjaWYgX19nbGliY19oYXNfYnVpbHRpbiAoX19i dWlsdGluX3N0ZGNfbGVhZGluZ19vbmVzKQorKyMgZGVmaW5lIHN0ZGNfbGVhZGluZ19vbmVzKHgp IChfX2J1aWx0aW5fc3RkY19sZWFkaW5nX29uZXMgKHgpKQorKyNlbHNlCisrIyBkZWZpbmUgc3Rk Y19sZWFkaW5nX29uZXMoeCkJCQkJCVwKKyAgIChzdGRjX2xlYWRpbmdfb25lc191bGwgKCh1bnNp Z25lZCBsb25nIGxvbmcgaW50KSAoeCkJCVwKKyAJCQkgIDw8IDggKiAoc2l6ZW9mICgwVUxMKSAt IHNpemVvZiAoeCkpKSkKKysjZW5kaWYKKyAKKyAjaWYgX19HTlVDX1BSRVJFUSAoMywgNCkgfHwg X19nbGliY19oYXNfYnVpbHRpbiAoX19idWlsdGluX2NsemxsKQorIHN0YXRpYyBfX2Fsd2F5c19p bmxpbmUgdW5zaWduZWQgaW50CitAQCAtMTY4LDExICsxNzYsMTUgQEAgZXh0ZXJuIHVuc2lnbmVk IGludCBzdGRjX3RyYWlsaW5nX3plcm9zX3VsICh1bnNpZ25lZCBsb25nIGludCBfX3gpCisgX19l eHRlbnNpb25fXworIGV4dGVybiB1bnNpZ25lZCBpbnQgc3RkY190cmFpbGluZ196ZXJvc191bGwg KHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgX194KQorICAgICAgX19USFJPVyBfX2F0dHJpYnV0ZV9j b25zdF9fOworLSNkZWZpbmUgc3RkY190cmFpbGluZ196ZXJvcyh4KQkJCQlcCisrI2lmIF9fZ2xp YmNfaGFzX2J1aWx0aW4gKF9fYnVpbHRpbl9zdGRjX3RyYWlsaW5nX3plcm9zKQorKyMgZGVmaW5l IHN0ZGNfdHJhaWxpbmdfemVyb3MoeCkgKF9fYnVpbHRpbl9zdGRjX3RyYWlsaW5nX3plcm9zICh4 KSkKKysjZWxzZQorKyMgZGVmaW5lIHN0ZGNfdHJhaWxpbmdfemVyb3MoeCkJCQkJXAorICAgKHNp emVvZiAoeCkgPT0gOCA/IHN0ZGNfdHJhaWxpbmdfemVyb3NfdWxsICh4KQlcCisgICAgOiBzaXpl b2YgKHgpID09IDQgPyBzdGRjX3RyYWlsaW5nX3plcm9zX3VpICh4KQlcCisgICAgOiBzaXplb2Yg KHgpID09IDIgPyBzdGRjX3RyYWlsaW5nX3plcm9zX3VzIChfX3BhY2lmeV91aW50MTYgKHgpKQlc CisgICAgOiBzdGRjX3RyYWlsaW5nX3plcm9zX3VjIChfX3BhY2lmeV91aW50OCAoeCkpKQorKyNl bmRpZgorIAorICNpZiBfX0dOVUNfUFJFUkVRICgzLCA0KSB8fCBfX2dsaWJjX2hhc19idWlsdGlu IChfX2J1aWx0aW5fY3R6bGwpCisgc3RhdGljIF9fYWx3YXlzX2lubGluZSB1bnNpZ25lZCBpbnQK K0BAIC0yMjIsNyArMjM0LDExIEBAIGV4dGVybiB1bnNpZ25lZCBpbnQgc3RkY190cmFpbGluZ19v bmVzX3VsICh1bnNpZ25lZCBsb25nIGludCBfX3gpCisgX19leHRlbnNpb25fXworIGV4dGVybiB1 bnNpZ25lZCBpbnQgc3RkY190cmFpbGluZ19vbmVzX3VsbCAodW5zaWduZWQgbG9uZyBsb25nIGlu dCBfX3gpCisgICAgICBfX1RIUk9XIF9fYXR0cmlidXRlX2NvbnN0X187CistI2RlZmluZSBzdGRj X3RyYWlsaW5nX29uZXMoeCkgKHN0ZGNfdHJhaWxpbmdfb25lc191bGwgKHgpKQorKyNpZiBfX2ds aWJjX2hhc19idWlsdGluIChfX2J1aWx0aW5fc3RkY190cmFpbGluZ19vbmVzKQorKyMgZGVmaW5l IHN0ZGNfdHJhaWxpbmdfb25lcyh4KSAoX19idWlsdGluX3N0ZGNfdHJhaWxpbmdfb25lcyAoeCkp CisrI2Vsc2UKKysjIGRlZmluZSBzdGRjX3RyYWlsaW5nX29uZXMoeCkgKHN0ZGNfdHJhaWxpbmdf b25lc191bGwgKHgpKQorKyNlbmRpZgorIAorICNpZiBfX0dOVUNfUFJFUkVRICgzLCA0KSB8fCBf X2dsaWJjX2hhc19idWlsdGluIChfX2J1aWx0aW5fY3R6bGwpCisgc3RhdGljIF9fYWx3YXlzX2lu bGluZSB1bnNpZ25lZCBpbnQKK0BAIC0yNzIsMTEgKzI4OCwxNSBAQCBleHRlcm4gdW5zaWduZWQg aW50IHN0ZGNfZmlyc3RfbGVhZGluZ196ZXJvX3VsICh1bnNpZ25lZCBsb25nIGludCBfX3gpCisg X19leHRlbnNpb25fXworIGV4dGVybiB1bnNpZ25lZCBpbnQgc3RkY19maXJzdF9sZWFkaW5nX3pl cm9fdWxsICh1bnNpZ25lZCBsb25nIGxvbmcgaW50IF9feCkKKyAgICAgIF9fVEhST1cgX19hdHRy aWJ1dGVfY29uc3RfXzsKKy0jZGVmaW5lIHN0ZGNfZmlyc3RfbGVhZGluZ196ZXJvKHgpCQkJXAor KyNpZiBfX2dsaWJjX2hhc19idWlsdGluIChfX2J1aWx0aW5fc3RkY19maXJzdF9sZWFkaW5nX3pl cm8pCisrIyBkZWZpbmUgc3RkY19maXJzdF9sZWFkaW5nX3plcm8oeCkgKF9fYnVpbHRpbl9zdGRj X2ZpcnN0X2xlYWRpbmdfemVybyAoeCkpCisrI2Vsc2UKKysjIGRlZmluZSBzdGRjX2ZpcnN0X2xl YWRpbmdfemVybyh4KQkJCVwKKyAgIChzaXplb2YgKHgpID09IDggPyBzdGRjX2ZpcnN0X2xlYWRp bmdfemVyb191bGwgKHgpCVwKKyAgICA6IHNpemVvZiAoeCkgPT0gNCA/IHN0ZGNfZmlyc3RfbGVh ZGluZ196ZXJvX3VpICh4KQlcCisgICAgOiBzaXplb2YgKHgpID09IDIgPyBzdGRjX2ZpcnN0X2xl YWRpbmdfemVyb191cyAoX19wYWNpZnlfdWludDE2ICh4KSkJXAorICAgIDogc3RkY19maXJzdF9s ZWFkaW5nX3plcm9fdWMgKF9fcGFjaWZ5X3VpbnQ4ICh4KSkpCisrI2VuZGlmCisgCisgI2lmIF9f R05VQ19QUkVSRVEgKDMsIDQpIHx8IF9fZ2xpYmNfaGFzX2J1aWx0aW4gKF9fYnVpbHRpbl9jbHps bCkKKyBzdGF0aWMgX19hbHdheXNfaW5saW5lIHVuc2lnbmVkIGludAorQEAgLTMyNiwxMSArMzQ2 LDE1IEBAIGV4dGVybiB1bnNpZ25lZCBpbnQgc3RkY19maXJzdF9sZWFkaW5nX29uZV91bCAodW5z aWduZWQgbG9uZyBpbnQgX194KQorIF9fZXh0ZW5zaW9uX18KKyBleHRlcm4gdW5zaWduZWQgaW50 IHN0ZGNfZmlyc3RfbGVhZGluZ19vbmVfdWxsICh1bnNpZ25lZCBsb25nIGxvbmcgaW50IF9feCkK KyAgICAgIF9fVEhST1cgX19hdHRyaWJ1dGVfY29uc3RfXzsKKy0jZGVmaW5lIHN0ZGNfZmlyc3Rf bGVhZGluZ19vbmUoeCkJCQlcCisrI2lmIF9fZ2xpYmNfaGFzX2J1aWx0aW4gKF9fYnVpbHRpbl9z dGRjX2ZpcnN0X2xlYWRpbmdfb25lKQorKyMgZGVmaW5lIHN0ZGNfZmlyc3RfbGVhZGluZ19vbmUo eCkgKF9fYnVpbHRpbl9zdGRjX2ZpcnN0X2xlYWRpbmdfb25lICh4KSkKKysjZWxzZQorKyMgZGVm aW5lIHN0ZGNfZmlyc3RfbGVhZGluZ19vbmUoeCkJCQlcCisgICAoc2l6ZW9mICh4KSA9PSA4ID8g c3RkY19maXJzdF9sZWFkaW5nX29uZV91bGwgKHgpCVwKKyAgICA6IHNpemVvZiAoeCkgPT0gNCA/ IHN0ZGNfZmlyc3RfbGVhZGluZ19vbmVfdWkgKHgpCVwKKyAgICA6IHNpemVvZiAoeCkgPT0gMiA/ IHN0ZGNfZmlyc3RfbGVhZGluZ19vbmVfdXMgKF9fcGFjaWZ5X3VpbnQxNiAoeCkpCVwKKyAgICA6 IHN0ZGNfZmlyc3RfbGVhZGluZ19vbmVfdWMgKF9fcGFjaWZ5X3VpbnQ4ICh4KSkpCisrI2VuZGlm CisgCisgI2lmIF9fR05VQ19QUkVSRVEgKDMsIDQpIHx8IF9fZ2xpYmNfaGFzX2J1aWx0aW4gKF9f YnVpbHRpbl9jbHpsbCkKKyBzdGF0aWMgX19hbHdheXNfaW5saW5lIHVuc2lnbmVkIGludAorQEAg LTM4MCwxMSArNDA0LDE1IEBAIGV4dGVybiB1bnNpZ25lZCBpbnQgc3RkY19maXJzdF90cmFpbGlu Z196ZXJvX3VsICh1bnNpZ25lZCBsb25nIGludCBfX3gpCisgX19leHRlbnNpb25fXworIGV4dGVy biB1bnNpZ25lZCBpbnQgc3RkY19maXJzdF90cmFpbGluZ196ZXJvX3VsbCAodW5zaWduZWQgbG9u ZyBsb25nIGludCBfX3gpCisgICAgICBfX1RIUk9XIF9fYXR0cmlidXRlX2NvbnN0X187CistI2Rl ZmluZSBzdGRjX2ZpcnN0X3RyYWlsaW5nX3plcm8oeCkJCQlcCisrI2lmIF9fZ2xpYmNfaGFzX2J1 aWx0aW4gKF9fYnVpbHRpbl9zdGRjX2ZpcnN0X3RyYWlsaW5nX3plcm8pCisrIyBkZWZpbmUgc3Rk Y19maXJzdF90cmFpbGluZ196ZXJvKHgpIChfX2J1aWx0aW5fc3RkY19maXJzdF90cmFpbGluZ196 ZXJvICh4KSkKKysjZWxzZQorKyMgZGVmaW5lIHN0ZGNfZmlyc3RfdHJhaWxpbmdfemVybyh4KQkJ CVwKKyAgIChzaXplb2YgKHgpID09IDggPyBzdGRjX2ZpcnN0X3RyYWlsaW5nX3plcm9fdWxsICh4 KQlcCisgICAgOiBzaXplb2YgKHgpID09IDQgPyBzdGRjX2ZpcnN0X3RyYWlsaW5nX3plcm9fdWkg KHgpCVwKKyAgICA6IHNpemVvZiAoeCkgPT0gMiA/IHN0ZGNfZmlyc3RfdHJhaWxpbmdfemVyb191 cyAoX19wYWNpZnlfdWludDE2ICh4KSkgXAorICAgIDogc3RkY19maXJzdF90cmFpbGluZ196ZXJv X3VjIChfX3BhY2lmeV91aW50OCAoeCkpKQorKyNlbmRpZgorIAorICNpZiBfX0dOVUNfUFJFUkVR ICgzLCA0KSB8fCBfX2dsaWJjX2hhc19idWlsdGluIChfX2J1aWx0aW5fY3R6bGwpCisgc3RhdGlj IF9fYWx3YXlzX2lubGluZSB1bnNpZ25lZCBpbnQKK0BAIC00MzQsMTEgKzQ2MiwxNSBAQCBleHRl cm4gdW5zaWduZWQgaW50IHN0ZGNfZmlyc3RfdHJhaWxpbmdfb25lX3VsICh1bnNpZ25lZCBsb25n IGludCBfX3gpCisgX19leHRlbnNpb25fXworIGV4dGVybiB1bnNpZ25lZCBpbnQgc3RkY19maXJz dF90cmFpbGluZ19vbmVfdWxsICh1bnNpZ25lZCBsb25nIGxvbmcgaW50IF9feCkKKyAgICAgIF9f VEhST1cgX19hdHRyaWJ1dGVfY29uc3RfXzsKKy0jZGVmaW5lIHN0ZGNfZmlyc3RfdHJhaWxpbmdf b25lKHgpCQkJXAorKyNpZiBfX2dsaWJjX2hhc19idWlsdGluIChfX2J1aWx0aW5fc3RkY19maXJz dF90cmFpbGluZ19vbmUpCisrIyBkZWZpbmUgc3RkY19maXJzdF90cmFpbGluZ19vbmUoeCkgKF9f YnVpbHRpbl9zdGRjX2ZpcnN0X3RyYWlsaW5nX29uZSAoeCkpCisrI2Vsc2UKKysjIGRlZmluZSBz dGRjX2ZpcnN0X3RyYWlsaW5nX29uZSh4KQkJCVwKKyAgIChzaXplb2YgKHgpID09IDggPyBzdGRj X2ZpcnN0X3RyYWlsaW5nX29uZV91bGwgKHgpCVwKKyAgICA6IHNpemVvZiAoeCkgPT0gNCA/IHN0 ZGNfZmlyc3RfdHJhaWxpbmdfb25lX3VpICh4KQlcCisgICAgOiBzaXplb2YgKHgpID09IDIgPyBz dGRjX2ZpcnN0X3RyYWlsaW5nX29uZV91cyAoX19wYWNpZnlfdWludDE2ICh4KSkJXAorICAgIDog c3RkY19maXJzdF90cmFpbGluZ19vbmVfdWMgKF9fcGFjaWZ5X3VpbnQ4ICh4KSkpCisrI2VuZGlm CisgCisgI2lmIF9fR05VQ19QUkVSRVEgKDMsIDQpIHx8IF9fZ2xpYmNfaGFzX2J1aWx0aW4gKF9f YnVpbHRpbl9jdHpsbCkKKyBzdGF0aWMgX19hbHdheXNfaW5saW5lIHVuc2lnbmVkIGludAorQEAg LTQ4OCw5ICs1MjAsMTMgQEAgZXh0ZXJuIHVuc2lnbmVkIGludCBzdGRjX2NvdW50X3plcm9zX3Vs ICh1bnNpZ25lZCBsb25nIGludCBfX3gpCisgX19leHRlbnNpb25fXworIGV4dGVybiB1bnNpZ25l ZCBpbnQgc3RkY19jb3VudF96ZXJvc191bGwgKHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgX194KQor ICAgICAgX19USFJPVyBfX2F0dHJpYnV0ZV9jb25zdF9fOworLSNkZWZpbmUgc3RkY19jb3VudF96 ZXJvcyh4KQkJCQlcCisrI2lmIF9fZ2xpYmNfaGFzX2J1aWx0aW4gKF9fYnVpbHRpbl9zdGRjX2Nv dW50X3plcm9zKQorKyMgZGVmaW5lIHN0ZGNfY291bnRfemVyb3MoeCkgKF9fYnVpbHRpbl9zdGRj X2NvdW50X3plcm9zICh4KSkKKysjZWxzZQorKyMgZGVmaW5lIHN0ZGNfY291bnRfemVyb3MoeCkJ CQkJXAorICAgKHN0ZGNfY291bnRfemVyb3NfdWxsICh4KQkJCQlcCisgICAgLSAodW5zaWduZWQg aW50KSAoOCAqIChzaXplb2YgKDBVTEwpIC0gc2l6ZW9mICh4KSkpKQorKyNlbmRpZgorIAorICNp ZiBfX0dOVUNfUFJFUkVRICgzLCA0KSB8fCBfX2dsaWJjX2hhc19idWlsdGluIChfX2J1aWx0aW5f cG9wY291bnRsbCkKKyBzdGF0aWMgX19hbHdheXNfaW5saW5lIHVuc2lnbmVkIGludAorQEAgLTU0 MCw3ICs1NzYsMTEgQEAgZXh0ZXJuIHVuc2lnbmVkIGludCBzdGRjX2NvdW50X29uZXNfdWwgKHVu c2lnbmVkIGxvbmcgaW50IF9feCkKKyBfX2V4dGVuc2lvbl9fCisgZXh0ZXJuIHVuc2lnbmVkIGlu dCBzdGRjX2NvdW50X29uZXNfdWxsICh1bnNpZ25lZCBsb25nIGxvbmcgaW50IF9feCkKKyAgICAg IF9fVEhST1cgX19hdHRyaWJ1dGVfY29uc3RfXzsKKy0jZGVmaW5lIHN0ZGNfY291bnRfb25lcyh4 KSAoc3RkY19jb3VudF9vbmVzX3VsbCAoeCkpCisrI2lmIF9fZ2xpYmNfaGFzX2J1aWx0aW4gKF9f YnVpbHRpbl9zdGRjX2NvdW50X29uZXMpCisrIyBkZWZpbmUgc3RkY19jb3VudF9vbmVzKHgpIChf X2J1aWx0aW5fc3RkY19jb3VudF9vbmVzICh4KSkKKysjZWxzZQorKyMgZGVmaW5lIHN0ZGNfY291 bnRfb25lcyh4KSAoc3RkY19jb3VudF9vbmVzX3VsbCAoeCkpCisrI2VuZGlmCisgCisgI2lmIF9f R05VQ19QUkVSRVEgKDMsIDQpIHx8IF9fZ2xpYmNfaGFzX2J1aWx0aW4gKF9fYnVpbHRpbl9wb3Bj b3VudGxsKQorIHN0YXRpYyBfX2Fsd2F5c19pbmxpbmUgdW5zaWduZWQgaW50CitAQCAtNTkwLDEw ICs2MzAsMTQgQEAgZXh0ZXJuIGJvb2wgc3RkY19oYXNfc2luZ2xlX2JpdF91bCAodW5zaWduZWQg bG9uZyBpbnQgX194KQorIF9fZXh0ZW5zaW9uX18KKyBleHRlcm4gYm9vbCBzdGRjX2hhc19zaW5n bGVfYml0X3VsbCAodW5zaWduZWQgbG9uZyBsb25nIGludCBfX3gpCisgICAgICBfX1RIUk9XIF9f YXR0cmlidXRlX2NvbnN0X187CistI2RlZmluZSBzdGRjX2hhc19zaW5nbGVfYml0KHgpCQkJCVwK KysjaWYgX19nbGliY19oYXNfYnVpbHRpbiAoX19idWlsdGluX3N0ZGNfaGFzX3NpbmdsZV9iaXQp CisrIyBkZWZpbmUgc3RkY19oYXNfc2luZ2xlX2JpdCh4KSAoX19idWlsdGluX3N0ZGNfaGFzX3Np bmdsZV9iaXQgKHgpKQorKyNlbHNlCisrIyBkZWZpbmUgc3RkY19oYXNfc2luZ2xlX2JpdCh4KQkJ CQlcCisgICAoKGJvb2wpIChzaXplb2YgKHgpIDw9IHNpemVvZiAodW5zaWduZWQgaW50KQkJXAor IAkgICA/IHN0ZGNfaGFzX3NpbmdsZV9iaXRfdWkgKHgpCQkJXAorIAkgICA6IHN0ZGNfaGFzX3Np bmdsZV9iaXRfdWxsICh4KSkpCisrI2VuZGlmCisgCisgc3RhdGljIF9fYWx3YXlzX2lubGluZSBi b29sCisgX19oc2I2NF9pbmxpbmUgKHVpbnQ2NF90IF9feCkKK0BAIC02NDEsNyArNjg1LDExIEBA IGV4dGVybiB1bnNpZ25lZCBpbnQgc3RkY19iaXRfd2lkdGhfdWwgKHVuc2lnbmVkIGxvbmcgaW50 IF9feCkKKyBfX2V4dGVuc2lvbl9fCisgZXh0ZXJuIHVuc2lnbmVkIGludCBzdGRjX2JpdF93aWR0 aF91bGwgKHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgX194KQorICAgICAgX19USFJPVyBfX2F0dHJp YnV0ZV9jb25zdF9fOworLSNkZWZpbmUgc3RkY19iaXRfd2lkdGgoeCkgKHN0ZGNfYml0X3dpZHRo X3VsbCAoeCkpCisrI2lmIF9fZ2xpYmNfaGFzX2J1aWx0aW4gKF9fYnVpbHRpbl9zdGRjX2JpdF93 aWR0aCkKKysjIGRlZmluZSBzdGRjX2JpdF93aWR0aCh4KSAoX19idWlsdGluX3N0ZGNfYml0X3dp ZHRoICh4KSkKKysjZWxzZQorKyMgZGVmaW5lIHN0ZGNfYml0X3dpZHRoKHgpIChzdGRjX2JpdF93 aWR0aF91bGwgKHgpKQorKyNlbmRpZgorIAorICNpZiBfX0dOVUNfUFJFUkVRICgzLCA0KSB8fCBf X2dsaWJjX2hhc19idWlsdGluIChfX2J1aWx0aW5fY2x6bGwpCisgc3RhdGljIF9fYWx3YXlzX2lu bGluZSB1bnNpZ25lZCBpbnQKK0BAIC02OTEsNyArNzM5LDExIEBAIGV4dGVybiB1bnNpZ25lZCBs b25nIGludCBzdGRjX2JpdF9mbG9vcl91bCAodW5zaWduZWQgbG9uZyBpbnQgX194KQorIF9fZXh0 ZW5zaW9uX18KKyBleHRlcm4gdW5zaWduZWQgbG9uZyBsb25nIGludCBzdGRjX2JpdF9mbG9vcl91 bGwgKHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgX194KQorICAgICAgX19USFJPVyBfX2F0dHJpYnV0 ZV9jb25zdF9fOworLSNkZWZpbmUgc3RkY19iaXRfZmxvb3IoeCkgKChfX3R5cGVvZiAoeCkpIHN0 ZGNfYml0X2Zsb29yX3VsbCAoeCkpCisrI2lmIF9fZ2xpYmNfaGFzX2J1aWx0aW4gKF9fYnVpbHRp bl9zdGRjX2JpdF9mbG9vcikKKysjIGRlZmluZSBzdGRjX2JpdF9mbG9vcih4KSAoX19idWlsdGlu X3N0ZGNfYml0X2Zsb29yICh4KSkKKysjZWxzZQorKyMgZGVmaW5lIHN0ZGNfYml0X2Zsb29yKHgp ICgoX190eXBlb2YgKHgpKSBzdGRjX2JpdF9mbG9vcl91bGwgKHgpKQorKyNlbmRpZgorIAorICNp ZiBfX0dOVUNfUFJFUkVRICgzLCA0KSB8fCBfX2dsaWJjX2hhc19idWlsdGluIChfX2J1aWx0aW5f Y2x6bGwpCisgc3RhdGljIF9fYWx3YXlzX2lubGluZSB1aW50NjRfdAorQEAgLTc0Myw3ICs3OTUs MTEgQEAgZXh0ZXJuIHVuc2lnbmVkIGxvbmcgaW50IHN0ZGNfYml0X2NlaWxfdWwgKHVuc2lnbmVk IGxvbmcgaW50IF9feCkKKyBfX2V4dGVuc2lvbl9fCisgZXh0ZXJuIHVuc2lnbmVkIGxvbmcgbG9u ZyBpbnQgc3RkY19iaXRfY2VpbF91bGwgKHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgX194KQorICAg ICAgX19USFJPVyBfX2F0dHJpYnV0ZV9jb25zdF9fOworLSNkZWZpbmUgc3RkY19iaXRfY2VpbCh4 KSAoKF9fdHlwZW9mICh4KSkgc3RkY19iaXRfY2VpbF91bGwgKHgpKQorKyNpZiBfX2dsaWJjX2hh c19idWlsdGluIChfX2J1aWx0aW5fc3RkY19iaXRfY2VpbCkKKysjIGRlZmluZSBzdGRjX2JpdF9j ZWlsKHgpIChfX2J1aWx0aW5fc3RkY19iaXRfY2VpbCAoeCkpCisrI2Vsc2UKKysjIGRlZmluZSBz dGRjX2JpdF9jZWlsKHgpICgoX190eXBlb2YgKHgpKSBzdGRjX2JpdF9jZWlsX3VsbCAoeCkpCisr I2VuZGlmCisgCisgI2lmIF9fR05VQ19QUkVSRVEgKDMsIDQpIHx8IF9fZ2xpYmNfaGFzX2J1aWx0 aW4gKF9fYnVpbHRpbl9jbHpsbCkKKyBzdGF0aWMgX19hbHdheXNfaW5saW5lIHVpbnQ2NF90CmRp ZmYgLS1naXQgYS9zcmNwa2dzL2dsaWJjL3BhdGNoZXMvMzA3MjMtMS01NDJiMTEwNTg1MjU2OGMz ZWJjNzEyMjI1YWU3OGI4YzhiYTMxYTc4LnBhdGNoIGIvc3JjcGtncy9nbGliYy9wYXRjaGVzLzMw NzIzLTEtNTQyYjExMDU4NTI1NjhjM2ViYzcxMjIyNWFlNzhiOGM4YmEzMWE3OC5wYXRjaApkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTZkNWQ0N2MwMzFhMDMuLjAwMDAwMDAwMDAwMDAw Ci0tLSBhL3NyY3BrZ3MvZ2xpYmMvcGF0Y2hlcy8zMDcyMy0xLTU0MmIxMTA1ODUyNTY4YzNlYmM3 MTIyMjVhZTc4YjhjOGJhMzFhNzgucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyOTYgKzAsMCBA QAotRnJvbSA1NDJiMTEwNTg1MjU2OGMzZWJjNzEyMjI1YWU3OGI4YzhiYTMxYTc4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRmxvcmlhbiBXZWltZXIgPGZ3ZWltZXJAcmVkaGF0LmNv bT4KLURhdGU6IEZyaSwgMTEgQXVnIDIwMjMgMTE6MTg6MTcgKzAyMDAKLVN1YmplY3Q6IFtQQVRD SF0gbWFsbG9jOiBFbmFibGUgbWVyZ2luZyBvZiByZW1haW5kZXJzIGluIG1lbWFsaWduIChidWcg MzA3MjMpCi0KLVByZXZpb3VzbHksIGNhbGxpbmcgX2ludF9mcmVlIGZyb20gX2ludF9tZW1hbGln biBjb3VsZCBwdXQgcmVtYWluZGVycwotaW50byB0aGUgdGNhY2hlIG9yIGludG8gZmFzdGJpbnMs IHdoZXJlIHRoZXkgYXJlIGludmlzaWJsZSB0byB0aGUKLWxvdy1sZXZlbCBhbGxvY2F0b3IuICBU aGlzIHJlc3VsdHMgaW4gbWlzc2VkIG1lcmdlIG9wcG9ydHVuaXRpZXMKLWJlY2F1c2Ugb25jZSB0 aGVzZSBmcmVlZCBjaHVua3MgYmVjb21lIGF2YWlsYWJsZSB0byB0aGUgbG93LWxldmVsCi1hbGxv Y2F0b3IsIGZ1cnRoZXIgbWVtYWxpZ24gYWxsb2NhdGlvbnMgKGV2ZW4gb2YgdGhlIHNhbWUgc2l6 ZSBhcmUpCi1saWtlbHkgb2JzdHJ1Y3RpbmcgbWVyZ2VzLgotCi1GdXJ0aGVybW9yZSwgZHVyaW5n IGZvcndhcmRzIG1lcmdpbmcgaW4gX2ludF9tZW1hbGlnbiwgZG8gbm90Ci1jb21wbGV0ZWx5IGdp dmUgdXAgd2hlbiB0aGUgcmVtYWluZGVyIGlzIHRvbyBzbWFsbCB0byBzZXJ2ZSBhcyBhCi1jaHVu ayBvbiBpdHMgb3duLiAgV2UgY2FuIHN0aWxsIGdpdmUgaXQgYmFjayBpZiBpdCBjYW4gYmUgbWVy Z2VkCi13aXRoIHRoZSBmb2xsb3dpbmcgdW51c2VkIGNodW5rLiAgVGhpcyBtYWtlcyBpdCBtb3Jl IGxpa2VseSB0aGF0Ci1tZW1hbGlnbiBjYWxscyBpbiBhIGxvb3AgYWNoaWV2ZSBhIGNvbXBhY3Qg bWVtb3J5IGxheW91dCwKLWluZGVwZW5kZW50bHkgb2YgaW5pdGlhbCBoZWFwIGxheW91dC4KLQot RHJvcCBzb21lIHVzZWxlc3MgKHVuc2lnbmVkIGxvbmcpIGNhc3RzIGFsb25nIHRoZSB3YXksIGFu ZCB0d2VhawotdGhlIHN0eWxlIHRvIG1vcmUgY2xvc2VseSBtYXRjaCBHTlUgb24gY2hhbmdlZCBs aW5lcy4KLQotUmV2aWV3ZWQtYnk6IERKIERlbG9yaWUgPGRqQHJlZGhhdC5jb20+Ci0tLS0KLSBt YWxsb2MvbWFsbG9jLmMgfCAxOTcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0t LS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDEyMSBpbnNlcnRpb25zKCspLCA3NiBkZWxl dGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL21hbGxvYy9tYWxsb2MuYyBiL21hbGxvYy9tYWxsb2Mu YwotaW5kZXggZTJmMWE2MTVhNC4uOTQ4Zjk3NTlhZiAxMDA2NDQKLS0tLSBhL21hbGxvYy9tYWxs b2MuYwotKysrIGIvbWFsbG9jL21hbGxvYy5jCi1AQCAtMTA4Niw2ICsxMDg2LDExIEBAIHR5cGVk ZWYgc3RydWN0IG1hbGxvY19jaHVuayogbWNodW5rcHRyOwotIAotIHN0YXRpYyB2b2lkKiAgX2lu dF9tYWxsb2MobXN0YXRlLCBzaXplX3QpOwotIHN0YXRpYyB2b2lkICAgICBfaW50X2ZyZWUobXN0 YXRlLCBtY2h1bmtwdHIsIGludCk7Ci0rc3RhdGljIHZvaWQgX2ludF9mcmVlX21lcmdlX2NodW5r IChtc3RhdGUsIG1jaHVua3B0ciwgSU5URVJOQUxfU0laRV9UKTsKLStzdGF0aWMgSU5URVJOQUxf U0laRV9UIF9pbnRfZnJlZV9jcmVhdGVfY2h1bmsgKG1zdGF0ZSwKLSsJCQkJCSAgICAgICBtY2h1 bmtwdHIsIElOVEVSTkFMX1NJWkVfVCwKLSsJCQkJCSAgICAgICBtY2h1bmtwdHIsIElOVEVSTkFM X1NJWkVfVCk7Ci0rc3RhdGljIHZvaWQgX2ludF9mcmVlX21heWJlX2NvbnNvbGlkYXRlIChtc3Rh dGUsIElOVEVSTkFMX1NJWkVfVCk7Ci0gc3RhdGljIHZvaWQqICBfaW50X3JlYWxsb2MobXN0YXRl LCBtY2h1bmtwdHIsIElOVEVSTkFMX1NJWkVfVCwKLSAJCQkgICBJTlRFUk5BTF9TSVpFX1QpOwot IHN0YXRpYyB2b2lkKiAgX2ludF9tZW1hbGlnbihtc3RhdGUsIHNpemVfdCwgc2l6ZV90KTsKLUBA IC00NjM3LDMxICs0NjQyLDUyIEBAIF9pbnRfZnJlZSAobXN0YXRlIGF2LCBtY2h1bmtwdHIgcCwg aW50IGhhdmVfbG9jaykKLSAgICAgaWYgKCFoYXZlX2xvY2spCi0gICAgICAgX19saWJjX2xvY2tf bG9jayAoYXYtPm11dGV4KTsKLSAKLS0gICAgbmV4dGNodW5rID0gY2h1bmtfYXRfb2Zmc2V0KHAs IHNpemUpOwotLQotLSAgICAvKiBMaWdodHdlaWdodCB0ZXN0czogY2hlY2sgd2hldGhlciB0aGUg YmxvY2sgaXMgYWxyZWFkeSB0aGUKLS0gICAgICAgdG9wIGJsb2NrLiAgKi8KLS0gICAgaWYgKF9f Z2xpYmNfdW5saWtlbHkgKHAgPT0gYXYtPnRvcCkpCi0tICAgICAgbWFsbG9jX3ByaW50ZXJyICgi ZG91YmxlIGZyZWUgb3IgY29ycnVwdGlvbiAodG9wKSIpOwotLSAgICAvKiBPciB3aGV0aGVyIHRo ZSBuZXh0IGNodW5rIGlzIGJleW9uZCB0aGUgYm91bmRhcmllcyBvZiB0aGUgYXJlbmEuICAqLwot LSAgICBpZiAoX19idWlsdGluX2V4cGVjdCAoY29udGlndW91cyAoYXYpCi0tCQkJICAmJiAoY2hh ciAqKSBuZXh0Y2h1bmsKLS0JCQkgID49ICgoY2hhciAqKSBhdi0+dG9wICsgY2h1bmtzaXplKGF2 LT50b3ApKSwgMCkpCi0tCW1hbGxvY19wcmludGVyciAoImRvdWJsZSBmcmVlIG9yIGNvcnJ1cHRp b24gKG91dCkiKTsKLS0gICAgLyogT3Igd2hldGhlciB0aGUgYmxvY2sgaXMgYWN0dWFsbHkgbm90 IG1hcmtlZCB1c2VkLiAgKi8KLS0gICAgaWYgKF9fZ2xpYmNfdW5saWtlbHkgKCFwcmV2X2ludXNl KG5leHRjaHVuaykpKQotLSAgICAgIG1hbGxvY19wcmludGVyciAoImRvdWJsZSBmcmVlIG9yIGNv cnJ1cHRpb24gKCFwcmV2KSIpOwotLQotLSAgICBuZXh0c2l6ZSA9IGNodW5rc2l6ZShuZXh0Y2h1 bmspOwotLSAgICBpZiAoX19idWlsdGluX2V4cGVjdCAoY2h1bmtzaXplX25vbWFzayAobmV4dGNo dW5rKSA8PSBDSFVOS19IRFJfU1osIDApCi0tCXx8IF9fYnVpbHRpbl9leHBlY3QgKG5leHRzaXpl ID49IGF2LT5zeXN0ZW1fbWVtLCAwKSkKLS0gICAgICBtYWxsb2NfcHJpbnRlcnIgKCJmcmVlKCk6 IGludmFsaWQgbmV4dCBzaXplIChub3JtYWwpIik7Ci0rICAgIF9pbnRfZnJlZV9tZXJnZV9jaHVu ayAoYXYsIHAsIHNpemUpOwotIAotLSAgICBmcmVlX3BlcnR1cmIgKGNodW5rMm1lbShwKSwgc2l6 ZSAtIENIVU5LX0hEUl9TWik7Ci0rICAgIGlmICghaGF2ZV9sb2NrKQotKyAgICAgIF9fbGliY19s b2NrX3VubG9jayAoYXYtPm11dGV4KTsKLSsgIH0KLSsgIC8qCi0rICAgIElmIHRoZSBjaHVuayB3 YXMgYWxsb2NhdGVkIHZpYSBtbWFwLCByZWxlYXNlIHZpYSBtdW5tYXAoKS4KLSsgICovCi0rCi0r ICBlbHNlIHsKLSsgICAgbXVubWFwX2NodW5rIChwKTsKLSsgIH0KLSt9Ci0rCi0rLyogVHJ5IHRv IG1lcmdlIGNodW5rIFAgb2YgU0laRSBieXRlcyB3aXRoIGl0cyBuZWlnaGJvcnMuICBQdXQgdGhl Ci0rICAgcmVzdWx0aW5nIGNodW5rIG9uIHRoZSBhcHByb3ByaWF0ZSBiaW4gbGlzdC4gIFAgbXVz dCBub3QgYmUgb24gYQotKyAgIGJpbiBsaXN0IHlldCwgYW5kIGl0IGNhbiBiZSBpbiB1c2UuICAq LwotK3N0YXRpYyB2b2lkCi0rX2ludF9mcmVlX21lcmdlX2NodW5rIChtc3RhdGUgYXYsIG1jaHVu a3B0ciBwLCBJTlRFUk5BTF9TSVpFX1Qgc2l6ZSkKLSt7Ci0rICBtY2h1bmtwdHIgbmV4dGNodW5r ID0gY2h1bmtfYXRfb2Zmc2V0KHAsIHNpemUpOwotKwotKyAgLyogTGlnaHR3ZWlnaHQgdGVzdHM6 IGNoZWNrIHdoZXRoZXIgdGhlIGJsb2NrIGlzIGFscmVhZHkgdGhlCi0rICAgICB0b3AgYmxvY2su ICAqLwotKyAgaWYgKF9fZ2xpYmNfdW5saWtlbHkgKHAgPT0gYXYtPnRvcCkpCi0rICAgIG1hbGxv Y19wcmludGVyciAoImRvdWJsZSBmcmVlIG9yIGNvcnJ1cHRpb24gKHRvcCkiKTsKLSsgIC8qIE9y IHdoZXRoZXIgdGhlIG5leHQgY2h1bmsgaXMgYmV5b25kIHRoZSBib3VuZGFyaWVzIG9mIHRoZSBh cmVuYS4gICovCi0rICBpZiAoX19idWlsdGluX2V4cGVjdCAoY29udGlndW91cyAoYXYpCi0rCQkJ JiYgKGNoYXIgKikgbmV4dGNodW5rCi0rCQkJPj0gKChjaGFyICopIGF2LT50b3AgKyBjaHVua3Np emUoYXYtPnRvcCkpLCAwKSkKLSsgICAgbWFsbG9jX3ByaW50ZXJyICgiZG91YmxlIGZyZWUgb3Ig Y29ycnVwdGlvbiAob3V0KSIpOwotKyAgLyogT3Igd2hldGhlciB0aGUgYmxvY2sgaXMgYWN0dWFs bHkgbm90IG1hcmtlZCB1c2VkLiAgKi8KLSsgIGlmIChfX2dsaWJjX3VubGlrZWx5ICghcHJldl9p bnVzZShuZXh0Y2h1bmspKSkKLSsgICAgbWFsbG9jX3ByaW50ZXJyICgiZG91YmxlIGZyZWUgb3Ig Y29ycnVwdGlvbiAoIXByZXYpIik7Ci0rCi0rICBJTlRFUk5BTF9TSVpFX1QgbmV4dHNpemUgPSBj aHVua3NpemUobmV4dGNodW5rKTsKLSsgIGlmIChfX2J1aWx0aW5fZXhwZWN0IChjaHVua3NpemVf bm9tYXNrIChuZXh0Y2h1bmspIDw9IENIVU5LX0hEUl9TWiwgMCkKLSsgICAgICB8fCBfX2J1aWx0 aW5fZXhwZWN0IChuZXh0c2l6ZSA+PSBhdi0+c3lzdGVtX21lbSwgMCkpCi0rICAgIG1hbGxvY19w cmludGVyciAoImZyZWUoKTogaW52YWxpZCBuZXh0IHNpemUgKG5vcm1hbCkiKTsKLSsKLSsgIGZy ZWVfcGVydHVyYiAoY2h1bmsybWVtKHApLCBzaXplIC0gQ0hVTktfSERSX1NaKTsKLSAKLS0gICAg LyogY29uc29saWRhdGUgYmFja3dhcmQgKi8KLS0gICAgaWYgKCFwcmV2X2ludXNlKHApKSB7Ci0t ICAgICAgcHJldnNpemUgPSBwcmV2X3NpemUgKHApOwotKyAgLyogQ29uc29saWRhdGUgYmFja3dh cmQuICAqLwotKyAgaWYgKCFwcmV2X2ludXNlKHApKQotKyAgICB7Ci0rICAgICAgSU5URVJOQUxf U0laRV9UIHByZXZzaXplID0gcHJldl9zaXplIChwKTsKLSAgICAgICBzaXplICs9IHByZXZzaXpl OwotICAgICAgIHAgPSBjaHVua19hdF9vZmZzZXQocCwgLSgobG9uZykgcHJldnNpemUpKTsKLSAg ICAgICBpZiAoX19nbGliY191bmxpa2VseSAoY2h1bmtzaXplKHApICE9IHByZXZzaXplKSkKLUBA IC00NjY5LDkgKzQ2OTUsMjUgQEAgX2ludF9mcmVlIChtc3RhdGUgYXYsIG1jaHVua3B0ciBwLCBp bnQgaGF2ZV9sb2NrKQotICAgICAgIHVubGlua19jaHVuayAoYXYsIHApOwotICAgICB9Ci0gCi0t ICAgIGlmIChuZXh0Y2h1bmsgIT0gYXYtPnRvcCkgewotKyAgLyogV3JpdGUgdGhlIGNodW5rIGhl YWRlciwgbWF5YmUgYWZ0ZXIgbWVyZ2luZyB3aXRoIHRoZSBmb2xsb3dpbmcgY2h1bmsuICAqLwot KyAgc2l6ZSA9IF9pbnRfZnJlZV9jcmVhdGVfY2h1bmsgKGF2LCBwLCBzaXplLCBuZXh0Y2h1bmss IG5leHRzaXplKTsKLSsgIF9pbnRfZnJlZV9tYXliZV9jb25zb2xpZGF0ZSAoYXYsIHNpemUpOwot K30KLSsKLSsvKiBDcmVhdGUgYSBjaHVuayBhdCBQIG9mIFNJWkUgYnl0ZXMsIHdpdGggU0laRSBw b3RlbnRpYWxseSBpbmNyZWFzZWQKLSsgICB0byBjb3ZlciB0aGUgaW1tZWRpYXRlbHkgZm9sbG93 aW5nIGNodW5rIE5FWFRDSFVOSyBvZiBORVhUU0laRQotKyAgIGJ5dGVzIChpZiBORVhUQ0hVTksg aXMgdW51c2VkKS4gIFRoZSBjaHVuayBhdCBQIGlzIG5vdCBhY3R1YWxseQotKyAgIHJlYWQgYW5k IGRvZXMgbm90IGhhdmUgdG8gYmUgaW5pdGlhbGl6ZWQuICBBZnRlciBjcmVhdGlvbiwgaXQgaXMK LSsgICBwbGFjZWQgb24gdGhlIGFwcHJvcHJpYXRlIGJpbiBsaXN0LiAgVGhlIGZ1bmN0aW9uIHJl dHVybnMgdGhlIHNpemUKLSsgICBvZiB0aGUgbmV3IGNodW5rLiAgKi8KLStzdGF0aWMgSU5URVJO QUxfU0laRV9UCi0rX2ludF9mcmVlX2NyZWF0ZV9jaHVuayAobXN0YXRlIGF2LCBtY2h1bmtwdHIg cCwgSU5URVJOQUxfU0laRV9UIHNpemUsCi0rCQkJbWNodW5rcHRyIG5leHRjaHVuaywgSU5URVJO QUxfU0laRV9UIG5leHRzaXplKQotK3sKLSsgIGlmIChuZXh0Y2h1bmsgIT0gYXYtPnRvcCkKLSsg ICAgewotICAgICAgIC8qIGdldCBhbmQgY2xlYXIgaW51c2UgYml0ICovCi0tICAgICAgbmV4dGlu dXNlID0gaW51c2VfYml0X2F0X29mZnNldChuZXh0Y2h1bmssIG5leHRzaXplKTsKLSsgICAgICBi b29sIG5leHRpbnVzZSA9IGludXNlX2JpdF9hdF9vZmZzZXQgKG5leHRjaHVuaywgbmV4dHNpemUp OwotIAotICAgICAgIC8qIGNvbnNvbGlkYXRlIGZvcndhcmQgKi8KLSAgICAgICBpZiAoIW5leHRp bnVzZSkgewotQEAgLTQ2ODYsOCArNDcyOCw4IEBAIF9pbnRfZnJlZSAobXN0YXRlIGF2LCBtY2h1 bmtwdHIgcCwgaW50IGhhdmVfbG9jaykKLSAJYmVlbiBnaXZlbiBvbmUgY2hhbmNlIHRvIGJlIHVz ZWQgaW4gbWFsbG9jLgotICAgICAgICovCi0gCi0tICAgICAgYmNrID0gdW5zb3J0ZWRfY2h1bmtz KGF2KTsKLS0gICAgICBmd2QgPSBiY2stPmZkOwotKyAgICAgIG1jaHVua3B0ciBiY2sgPSB1bnNv cnRlZF9jaHVua3MgKGF2KTsKLSsgICAgICBtY2h1bmtwdHIgZndkID0gYmNrLT5mZDsKLSAgICAg ICBpZiAoX19nbGliY191bmxpa2VseSAoZndkLT5iayAhPSBiY2spKQotIAltYWxsb2NfcHJpbnRl cnIgKCJmcmVlKCk6IGNvcnJ1cHRlZCB1bnNvcnRlZCBjaHVua3MiKTsKLSAgICAgICBwLT5mZCA9 IGZ3ZDsKLUBAIC00NzA2LDYxICs0NzQ4LDUyIEBAIF9pbnRfZnJlZSAobXN0YXRlIGF2LCBtY2h1 bmtwdHIgcCwgaW50IGhhdmVfbG9jaykKLSAgICAgICBjaGVja19mcmVlX2NodW5rKGF2LCBwKTsK LSAgICAgfQotIAotLSAgICAvKgotLSAgICAgIElmIHRoZSBjaHVuayBib3JkZXJzIHRoZSBjdXJy ZW50IGhpZ2ggZW5kIG9mIG1lbW9yeSwKLS0gICAgICBjb25zb2xpZGF0ZSBpbnRvIHRvcAotLSAg ICAqLwotLQotLSAgICBlbHNlIHsKLSsgIGVsc2UKLSsgICAgewotKyAgICAgIC8qIElmIHRoZSBj aHVuayBib3JkZXJzIHRoZSBjdXJyZW50IGhpZ2ggZW5kIG9mIG1lbW9yeSwKLSsJIGNvbnNvbGlk YXRlIGludG8gdG9wLiAgKi8KLSAgICAgICBzaXplICs9IG5leHRzaXplOwotICAgICAgIHNldF9o ZWFkKHAsIHNpemUgfCBQUkVWX0lOVVNFKTsKLSAgICAgICBhdi0+dG9wID0gcDsKLSAgICAgICBj aGVja19jaHVuayhhdiwgcCk7Ci0gICAgIH0KLSAKLS0gICAgLyoKLS0gICAgICBJZiBmcmVlaW5n IGEgbGFyZ2Ugc3BhY2UsIGNvbnNvbGlkYXRlIHBvc3NpYmx5LXN1cnJvdW5kaW5nCi0tICAgICAg Y2h1bmtzLiBUaGVuLCBpZiB0aGUgdG90YWwgdW51c2VkIHRvcG1vc3QgbWVtb3J5IGV4Y2VlZHMg dHJpbQotLSAgICAgIHRocmVzaG9sZCwgYXNrIG1hbGxvY190cmltIHRvIHJlZHVjZSB0b3AuCi0t Ci0tICAgICAgVW5sZXNzIG1heF9mYXN0IGlzIDAsIHdlIGRvbid0IGtub3cgaWYgdGhlcmUgYXJl IGZhc3RiaW5zCi0tICAgICAgYm9yZGVyaW5nIHRvcCwgc28gd2UgY2Fubm90IHRlbGwgZm9yIHN1 cmUgd2hldGhlciB0aHJlc2hvbGQKLS0gICAgICBoYXMgYmVlbiByZWFjaGVkIHVubGVzcyBmYXN0 YmlucyBhcmUgY29uc29saWRhdGVkLiAgQnV0IHdlCi0tICAgICAgZG9uJ3Qgd2FudCB0byBjb25z b2xpZGF0ZSBvbiBlYWNoIGZyZWUuICBBcyBhIGNvbXByb21pc2UsCi0tICAgICAgY29uc29saWRh dGlvbiBpcyBwZXJmb3JtZWQgaWYgRkFTVEJJTl9DT05TT0xJREFUSU9OX1RIUkVTSE9MRAotLSAg ICAgIGlzIHJlYWNoZWQuCi0tICAgICovCi0rICByZXR1cm4gc2l6ZTsKLSt9Ci0gCi0tICAgIGlm ICgodW5zaWduZWQgbG9uZykoc2l6ZSkgPj0gRkFTVEJJTl9DT05TT0xJREFUSU9OX1RIUkVTSE9M RCkgewotKy8qIElmIGZyZWVpbmcgYSBsYXJnZSBzcGFjZSwgY29uc29saWRhdGUgcG9zc2libHkt c3Vycm91bmRpbmcKLSsgICBjaHVua3MuICBUaGVuLCBpZiB0aGUgdG90YWwgdW51c2VkIHRvcG1v c3QgbWVtb3J5IGV4Y2VlZHMgdHJpbQotKyAgIHRocmVzaG9sZCwgYXNrIG1hbGxvY190cmltIHRv IHJlZHVjZSB0b3AuICAqLwotK3N0YXRpYyB2b2lkCi0rX2ludF9mcmVlX21heWJlX2NvbnNvbGlk YXRlIChtc3RhdGUgYXYsIElOVEVSTkFMX1NJWkVfVCBzaXplKQotK3sKLSsgIC8qIFVubGVzcyBt YXhfZmFzdCBpcyAwLCB3ZSBkb24ndCBrbm93IGlmIHRoZXJlIGFyZSBmYXN0YmlucwotKyAgICAg Ym9yZGVyaW5nIHRvcCwgc28gd2UgY2Fubm90IHRlbGwgZm9yIHN1cmUgd2hldGhlciB0aHJlc2hv bGQgaGFzCi0rICAgICBiZWVuIHJlYWNoZWQgdW5sZXNzIGZhc3RiaW5zIGFyZSBjb25zb2xpZGF0 ZWQuICBCdXQgd2UgZG9uJ3Qgd2FudAotKyAgICAgdG8gY29uc29saWRhdGUgb24gZWFjaCBmcmVl LiAgQXMgYSBjb21wcm9taXNlLCBjb25zb2xpZGF0aW9uIGlzCi0rICAgICBwZXJmb3JtZWQgaWYg RkFTVEJJTl9DT05TT0xJREFUSU9OX1RIUkVTSE9MRCBpcyByZWFjaGVkLiAgKi8KLSsgIGlmIChz aXplID49IEZBU1RCSU5fQ09OU09MSURBVElPTl9USFJFU0hPTEQpCi0rICAgIHsKLSAgICAgICBp ZiAoYXRvbWljX2xvYWRfcmVsYXhlZCAoJmF2LT5oYXZlX2Zhc3RjaHVua3MpKQotIAltYWxsb2Nf Y29uc29saWRhdGUoYXYpOwotIAotLSAgICAgIGlmIChhdiA9PSAmbWFpbl9hcmVuYSkgewotKyAg ICAgIGlmIChhdiA9PSAmbWFpbl9hcmVuYSkKLSsJewotICNpZm5kZWYgTU9SRUNPUkVfQ0FOTk9U X1RSSU0KLS0JaWYgKCh1bnNpZ25lZCBsb25nKShjaHVua3NpemUoYXYtPnRvcCkpID49Ci0tCSAg ICAodW5zaWduZWQgbG9uZykobXBfLnRyaW1fdGhyZXNob2xkKSkKLS0JICBzeXN0cmltKG1wXy50 b3BfcGFkLCBhdik7Ci0rCSAgaWYgKGNodW5rc2l6ZSAoYXYtPnRvcCkgPj0gbXBfLnRyaW1fdGhy ZXNob2xkKQotKwkgICAgc3lzdHJpbSAobXBfLnRvcF9wYWQsIGF2KTsKLSAjZW5kaWYKLS0gICAg ICB9IGVsc2UgewotLQkvKiBBbHdheXMgdHJ5IGhlYXBfdHJpbSgpLCBldmVuIGlmIHRoZSB0b3Ag Y2h1bmsgaXMgbm90Ci0tCSAgIGxhcmdlLCBiZWNhdXNlIHRoZSBjb3JyZXNwb25kaW5nIGhlYXAg bWlnaHQgZ28gYXdheS4gICovCi0tCWhlYXBfaW5mbyAqaGVhcCA9IGhlYXBfZm9yX3B0cih0b3Ao YXYpKTsKLSsJfQotKyAgICAgIGVsc2UKLSsJewotKwkgIC8qIEFsd2F5cyB0cnkgaGVhcF90cmlt LCBldmVuIGlmIHRoZSB0b3AgY2h1bmsgaXMgbm90IGxhcmdlLAotKwkgICAgIGJlY2F1c2UgdGhl IGNvcnJlc3BvbmRpbmcgaGVhcCBtaWdodCBnbyBhd2F5LiAgKi8KLSsJICBoZWFwX2luZm8gKmhl YXAgPSBoZWFwX2Zvcl9wdHIgKHRvcCAoYXYpKTsKLSAKLS0JYXNzZXJ0KGhlYXAtPmFyX3B0ciA9 PSBhdik7Ci0tCWhlYXBfdHJpbShoZWFwLCBtcF8udG9wX3BhZCk7Ci0tICAgICAgfQotKwkgIGFz c2VydCAoaGVhcC0+YXJfcHRyID09IGF2KTsKLSsJICBoZWFwX3RyaW0gKGhlYXAsIG1wXy50b3Bf cGFkKTsKLSsJfQotICAgICB9Ci0tCi0tICAgIGlmICghaGF2ZV9sb2NrKQotLSAgICAgIF9fbGli Y19sb2NrX3VubG9jayAoYXYtPm11dGV4KTsKLS0gIH0KLS0gIC8qCi0tICAgIElmIHRoZSBjaHVu ayB3YXMgYWxsb2NhdGVkIHZpYSBtbWFwLCByZWxlYXNlIHZpYSBtdW5tYXAoKS4KLS0gICovCi0t Ci0tICBlbHNlIHsKLS0gICAgbXVubWFwX2NodW5rIChwKTsKLS0gIH0KLSB9Ci0gCi0gLyoKLUBA IC01MjIxLDcgKzUyNTQsNyBAQCBfaW50X21lbWFsaWduIChtc3RhdGUgYXYsIHNpemVfdCBhbGln bm1lbnQsIHNpemVfdCBieXRlcykKLSAgICAgICAgICAgICAgICAgKGF2ICE9ICZtYWluX2FyZW5h ID8gTk9OX01BSU5fQVJFTkEgOiAwKSk7Ci0gICAgICAgc2V0X2ludXNlX2JpdF9hdF9vZmZzZXQg KG5ld3AsIG5ld3NpemUpOwotICAgICAgIHNldF9oZWFkX3NpemUgKHAsIGxlYWRzaXplIHwgKGF2 ICE9ICZtYWluX2FyZW5hID8gTk9OX01BSU5fQVJFTkEgOiAwKSk7Ci0tICAgICAgX2ludF9mcmVl IChhdiwgcCwgMSk7Ci0rICAgICAgX2ludF9mcmVlX21lcmdlX2NodW5rIChhdiwgcCwgbGVhZHNp emUpOwotICAgICAgIHAgPSBuZXdwOwotIAotICAgICAgIGFzc2VydCAobmV3c2l6ZSA+PSBuYiAm JgotQEAgLTUyMzIsMTUgKzUyNjUsMjcgQEAgX2ludF9tZW1hbGlnbiAobXN0YXRlIGF2LCBzaXpl X3QgYWxpZ25tZW50LCBzaXplX3QgYnl0ZXMpCi0gICBpZiAoIWNodW5rX2lzX21tYXBwZWQgKHAp KQotICAgICB7Ci0gICAgICAgc2l6ZSA9IGNodW5rc2l6ZSAocCk7Ci0tICAgICAgaWYgKCh1bnNp Z25lZCBsb25nKSAoc2l6ZSkgPiAodW5zaWduZWQgbG9uZykgKG5iICsgTUlOU0laRSkpCi0rICAg ICAgbWNodW5rcHRyIG5leHRjaHVuayA9IGNodW5rX2F0X29mZnNldChwLCBzaXplKTsKLSsgICAg ICBJTlRFUk5BTF9TSVpFX1QgbmV4dHNpemUgPSBjaHVua3NpemUobmV4dGNodW5rKTsKLSsgICAg ICBpZiAoc2l6ZSA+IG5iKQotICAgICAgICAgewotICAgICAgICAgICByZW1haW5kZXJfc2l6ZSA9 IHNpemUgLSBuYjsKLS0gICAgICAgICAgcmVtYWluZGVyID0gY2h1bmtfYXRfb2Zmc2V0IChwLCBu Yik7Ci0tICAgICAgICAgIHNldF9oZWFkIChyZW1haW5kZXIsIHJlbWFpbmRlcl9zaXplIHwgUFJF Vl9JTlVTRSB8Ci0tICAgICAgICAgICAgICAgICAgICAoYXYgIT0gJm1haW5fYXJlbmEgPyBOT05f TUFJTl9BUkVOQSA6IDApKTsKLS0gICAgICAgICAgc2V0X2hlYWRfc2l6ZSAocCwgbmIpOwotLSAg ICAgICAgICBfaW50X2ZyZWUgKGF2LCByZW1haW5kZXIsIDEpOwotLSAgICAgICAgfQotKwkgIGlm IChyZW1haW5kZXJfc2l6ZSA+PSBNSU5TSVpFCi0rCSAgICAgIHx8IG5leHRjaHVuayA9PSBhdi0+ dG9wCi0rCSAgICAgIHx8ICFpbnVzZV9iaXRfYXRfb2Zmc2V0IChuZXh0Y2h1bmssIG5leHRzaXpl KSkKLSsJICAgIHsKLSsJICAgICAgLyogV2UgY2FuIG9ubHkgZ2l2ZSBiYWNrIHRoZSB0YWlsIGlm IGl0IGlzIGxhcmdlciB0aGFuCi0rCQkgTUlOU0laRSwgb3IgaWYgdGhlIGZvbGxvd2luZyBjaHVu ayBpcyB1bnVzZWQgKHRvcAotKwkJIGNodW5rIG9yIHVudXNlZCBpbi1oZWFwIGNodW5rKS4gIE90 aGVyd2lzZSB3ZSB3b3VsZAotKwkJIGNyZWF0ZSBhIGNodW5rIHRoYXQgaXMgc21hbGxlciB0aGFu IE1JTlNJWkUuICAqLwotKwkgICAgICByZW1haW5kZXIgPSBjaHVua19hdF9vZmZzZXQgKHAsIG5i KTsKLSsJICAgICAgc2V0X2hlYWRfc2l6ZSAocCwgbmIpOwotKwkgICAgICByZW1haW5kZXJfc2l6 ZSA9IF9pbnRfZnJlZV9jcmVhdGVfY2h1bmsgKGF2LCByZW1haW5kZXIsCi0rCQkJCQkJICAgICAg IHJlbWFpbmRlcl9zaXplLAotKwkJCQkJCSAgICAgICBuZXh0Y2h1bmssIG5leHRzaXplKTsKLSsJ ICAgICAgX2ludF9mcmVlX21heWJlX2NvbnNvbGlkYXRlIChhdiwgcmVtYWluZGVyX3NpemUpOwot KwkgICAgfQotKwl9Ci0gICAgIH0KLSAKLSAgIGNoZWNrX2ludXNlX2NodW5rIChhdiwgcCk7CmRp ZmYgLS1naXQgYS9zcmNwa2dzL2dsaWJjL3BhdGNoZXMvMzA3MjMtMi0wZGM3ZmMxY2YwOTQ0MDZh MTM4ZTRkMWJjZjk1NTNlNTllZGNmODlkLnBhdGNoIGIvc3JjcGtncy9nbGliYy9wYXRjaGVzLzMw NzIzLTItMGRjN2ZjMWNmMDk0NDA2YTEzOGU0ZDFiY2Y5NTUzZTU5ZWRjZjg5ZC5wYXRjaApkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDYxNWM3YjAzNWNjNzUuLjAwMDAwMDAwMDAwMDAw Ci0tLSBhL3NyY3BrZ3MvZ2xpYmMvcGF0Y2hlcy8zMDcyMy0yLTBkYzdmYzFjZjA5NDQwNmExMzhl NGQxYmNmOTU1M2U1OWVkY2Y4OWQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNTIgKzAsMCBA QAotRnJvbSAwZGM3ZmMxY2YwOTQ0MDZhMTM4ZTRkMWJjZjk1NTNlNTllZGNmODlkIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRmxvcmlhbiBXZWltZXIgPGZ3ZWltZXJAcmVkaGF0LmNv bT4KLURhdGU6IFRodSwgMTAgQXVnIDIwMjMgMTk6MzY6NTYgKzAyMDAKLVN1YmplY3Q6IFtQQVRD SF0gbWFsbG9jOiBSZW1vdmUgYmluIHNjYW5uaW5nIGZyb20gbWVtYWxpZ24gKGJ1ZyAzMDcyMykK LQotT24gdGhlIHRlc3Qgd29ya2xvYWQgKG1wdiAtLWNhY2hlPXllcyB3aXRoIFZQOSB2aWRlbyBk ZWNvZGluZyksIHRoZQotYmluIHNjYW5uaW5nIGhhcyBhIHZlcnkgcG9vciBzdWNjZXNzIHJhdGUg KGxlc3MgdGhhbiAyJSkuICBUaGUgdGNhY2hlCi1zY2FubmluZyBoYXMgYWJvdXQgNTAlIHN1Y2Nl c3MgcmF0ZSwgc28ga2VlcCB0aGF0LgotCi1VcGRhdGUgY29tbWVudHMgaW4gbWFsbG9jL3RzdC1t ZW1hbGlnbi0yIHRvIGluZGljYXRlIHRoZSBwdXJwb3NlCi1vZiB0aGUgdGVzdHMuICBFdmVuIHdp dGggdGhlIHNjYW5uaW5nIHJlbW92ZWQsIHRoZSBhZGRpdGlvbmFsCi1tZXJnaW5nIG9wcG9ydHVu aXRpZXMgc2luY2UgY29tbWl0IDU0MmIxMTA1ODUyNTY4YzNlYmM3MTIyMjVhZTc4YgotKCJtYWxs b2M6IEVuYWJsZSBtZXJnaW5nIG9mIHJlbWFpbmRlcnMgaW4gbWVtYWxpZ24gKGJ1ZyAzMDcyMyki KQotYXJlIHN1ZmZpY2llbnQgdG8gcGFzcyB0aGUgZXhpc3RpbmcgbGFyZ2UgYmlucyB0ZXN0Lgot Ci1SZW1vdmUgbGVmdG92ZXIgdmFyaWFibGVzIGZyb20gX2ludF9mcmVlIGZyb20gcmVmYWN0b3Jp bmcgaW4gdGhlCi1zYW1lIGNvbW1pdC4KLQotUmV2aWV3ZWQtYnk6IERKIERlbG9yaWUgPGRqQHJl ZGhhdC5jb20+Ci0tLS0KLSBtYWxsb2MvbWFsbG9jLmMgICAgICAgICB8IDE2OSArKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gbWFsbG9jL3RzdC1tZW1hbGlnbi0yLmMg fCAgIDcgKy0KLSAyIGZpbGVzIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDE2NiBkZWxldGlv bnMoLSkKLQotZGlmZiAtLWdpdCBhL21hbGxvYy9tYWxsb2MuYyBiL21hbGxvYy9tYWxsb2MuYwot aW5kZXggOTQ4Zjk3NTlhZi4uZDBiYmJmMzcxMCAxMDA2NDQKLS0tLSBhL21hbGxvYy9tYWxsb2Mu YwotKysrIGIvbWFsbG9jL21hbGxvYy5jCi1AQCAtNDQ4OCwxMiArNDQ4OCw2IEBAIF9pbnRfZnJl ZSAobXN0YXRlIGF2LCBtY2h1bmtwdHIgcCwgaW50IGhhdmVfbG9jaykKLSB7Ci0gICBJTlRFUk5B TF9TSVpFX1Qgc2l6ZTsgICAgICAgIC8qIGl0cyBzaXplICovCi0gICBtZmFzdGJpbnB0ciAqZmI7 ICAgICAgICAgICAgIC8qIGFzc29jaWF0ZWQgZmFzdGJpbiAqLwotLSAgbWNodW5rcHRyIG5leHRj aHVuazsgICAgICAgICAvKiBuZXh0IGNvbnRpZ3VvdXMgY2h1bmsgKi8KLS0gIElOVEVSTkFMX1NJ WkVfVCBuZXh0c2l6ZTsgICAgLyogaXRzIHNpemUgKi8KLS0gIGludCBuZXh0aW51c2U7ICAgICAg ICAgICAgICAgLyogdHJ1ZSBpZiBuZXh0Y2h1bmsgaXMgdXNlZCAqLwotLSAgSU5URVJOQUxfU0la RV9UIHByZXZzaXplOyAgICAvKiBzaXplIG9mIHByZXZpb3VzIGNvbnRpZ3VvdXMgY2h1bmsgKi8K LS0gIG1jaHVua3B0ciBiY2s7ICAgICAgICAgICAgICAgLyogbWlzYyB0ZW1wIGZvciBsaW5raW5n ICovCi0tICBtY2h1bmtwdHIgZndkOyAgICAgICAgICAgICAgIC8qIG1pc2MgdGVtcCBmb3IgbGlu a2luZyAqLwotIAotICAgc2l6ZSA9IGNodW5rc2l6ZSAocCk7Ci0gCi1AQCAtNTAzMiw0MiArNTAy Niw2IEBAIF9pbnRfcmVhbGxvYyAobXN0YXRlIGF2LCBtY2h1bmtwdHIgb2xkcCwgSU5URVJOQUxf U0laRV9UIG9sZHNpemUsCi0gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIG1lbWFs aWduIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotICAqLwotIAotLS8qIFJldHVybnMg MCBpZiB0aGUgY2h1bmsgaXMgbm90IGFuZCBkb2VzIG5vdCBjb250YWluIHRoZSByZXF1ZXN0ZWQK LS0gICBhbGlnbmVkIHN1Yi1jaHVuaywgZWxzZSByZXR1cm5zIHRoZSBhbW91bnQgb2YgIndhc3Rl IiBmcm9tCi0tICAgdHJpbW1pbmcuICBOQiBpcyB0aGUgKmNodW5rKiBieXRlIHNpemUsIG5vdCB0 aGUgdXNlciBieXRlCi0tICAgc2l6ZS4gICovCi0tc3RhdGljIHNpemVfdAotLWNodW5rX29rX2Zv cl9tZW1hbGlnbiAobWNodW5rcHRyIHAsIHNpemVfdCBhbGlnbm1lbnQsIHNpemVfdCBuYikKLS17 Ci0tICB2b2lkICptID0gY2h1bmsybWVtIChwKTsKLS0gIElOVEVSTkFMX1NJWkVfVCBzaXplID0g Y2h1bmtzaXplIChwKTsKLS0gIHZvaWQgKmFsaWduZWRfbSA9IG07Ci0tCi0tICBpZiAoX19nbGli Y191bmxpa2VseSAobWlzYWxpZ25lZF9jaHVuayAocCkpKQotLSAgICBtYWxsb2NfcHJpbnRlcnIg KCJfaW50X21lbWFsaWduKCk6IHVuYWxpZ25lZCBjaHVuayBkZXRlY3RlZCIpOwotLQotLSAgYWxp Z25lZF9tID0gUFRSX0FMSUdOX1VQIChtLCBhbGlnbm1lbnQpOwotLQotLSAgSU5URVJOQUxfU0la RV9UIGZyb250X2V4dHJhID0gKGludHB0cl90KSBhbGlnbmVkX20gLSAoaW50cHRyX3QpIG07Ci0t Ci0tICAvKiBXZSBjYW4ndCB0cmltIG9mZiB0aGUgZnJvbnQgYXMgaXQncyB0b28gc21hbGwuICAq LwotLSAgaWYgKGZyb250X2V4dHJhID4gMCAmJiBmcm9udF9leHRyYSA8IE1JTlNJWkUpCi0tICAg IHJldHVybiAwOwotLQotLSAgLyogSWYgaXQncyBhIHBlcmZlY3QgZml0LCBpdCdzIGFuIGV4Y2Vw dGlvbiB0byB0aGUgcmV0dXJuIHZhbHVlIHJ1bGUKLS0gICAgICh3ZSB3b3VsZCByZXR1cm4gemVy byB3YXN0ZSwgd2hpY2ggbG9va3MgbGlrZSAibm90IHVzYWJsZSIpLCBzbwotLSAgICAgaGFuZGxl IGl0IGhlcmUgYnkgcmV0dXJuaW5nIGEgc21hbGwgbm9uLXplcm8gdmFsdWUgaW5zdGVhZC4gICov Ci0tICBpZiAoc2l6ZSA9PSBuYiAmJiBmcm9udF9leHRyYSA9PSAwKQotLSAgICByZXR1cm4gMTsK LS0KLS0gIC8qIElmIHRoZSBibG9jayB3ZSBuZWVkIGZpdHMgaW4gdGhlIGNodW5rLCBjYWxjdWxh dGUgdG90YWwgd2FzdGUuICAqLwotLSAgaWYgKHNpemUgPiBuYiArIGZyb250X2V4dHJhKQotLSAg ICByZXR1cm4gc2l6ZSAtIG5iOwotLQotLSAgLyogQ2FuJ3QgdXNlIHRoaXMgY2h1bmsuICAqLwot LSAgcmV0dXJuIDA7Ci0tfQotLQotIC8qIEJZVEVTIGlzIHVzZXIgcmVxdWVzdGVkIGJ5dGVzLCBu b3QgcmVxdWVzdGVkIGNodW5rc2l6ZSBieXRlcy4gICovCi0gc3RhdGljIHZvaWQgKgotIF9pbnRf bWVtYWxpZ24gKG1zdGF0ZSBhdiwgc2l6ZV90IGFsaWdubWVudCwgc2l6ZV90IGJ5dGVzKQotQEAg LTUwODIsNyArNTA0MCw2IEBAIF9pbnRfbWVtYWxpZ24gKG1zdGF0ZSBhdiwgc2l6ZV90IGFsaWdu bWVudCwgc2l6ZV90IGJ5dGVzKQotICAgbWNodW5rcHRyIHJlbWFpbmRlcjsgICAgICAgICAgICAv KiBzcGFyZSByb29tIGF0IGVuZCB0byBzcGxpdCBvZmYgKi8KLSAgIHVuc2lnbmVkIGxvbmcgcmVt YWluZGVyX3NpemU7ICAgLyogaXRzIHNpemUgKi8KLSAgIElOVEVSTkFMX1NJWkVfVCBzaXplOwot LSAgbWNodW5rcHRyIHZpY3RpbTsKLSAKLSAgIG5iID0gY2hlY2tlZF9yZXF1ZXN0MnNpemUgKGJ5 dGVzKTsKLSAgIGlmIChuYiA9PSAwKQotQEAgLTUxMDEsMTI5ICs1MDU4LDEzIEBAIF9pbnRfbWVt YWxpZ24gKG1zdGF0ZSBhdiwgc2l6ZV90IGFsaWdubWVudCwgc2l6ZV90IGJ5dGVzKQotICAgICAg d2UgZG9uJ3QgZmluZCBhbnl0aGluZyBpbiB0aG9zZSBiaW5zLCB0aGUgY29tbW9uIG1hbGxvYyBj b2RlIHdpbGwKLSAgICAgIHNjYW4gc3RhcnRpbmcgYXQgMnguICAqLwotIAotLSAgLyogVGhpcyB3 aWxsIGJlIHNldCBpZiB3ZSBmb3VuZCBhIGNhbmRpZGF0ZSBjaHVuay4gICovCi0tICB2aWN0aW0g PSBOVUxMOwotLQotLSAgLyogRmFzdCBiaW5zIGFyZSBzaW5nbHktbGlua2VkLCBoYXJkIHRvIHJl bW92ZSBhIGNodW5rIGZyb20gdGhlIG1pZGRsZQotLSAgICAgYW5kIHVubGlrZWx5IHRvIG1lZXQg b3VyIGFsaWdubWVudCByZXF1aXJlbWVudHMuICBXZSBoYXZlIG5vdCBkb25lCi0tICAgICBhbnkg ZXhwZXJpbWVudGF0aW9uIHdpdGggc2VhcmNoaW5nIGZvciBhbGlnbmVkIGZhc3RiaW5zLiAgKi8K LS0KLS0gIGlmIChhdiAhPSBOVUxMKQotLSAgICB7Ci0tICAgICAgaW50IGZpcnN0X2Jpbl9pbmRl eDsKLS0gICAgICBpbnQgZmlyc3RfbGFyZ2ViaW5faW5kZXg7Ci0tICAgICAgaW50IGxhc3RfYmlu X2luZGV4OwotLQotLSAgICAgIGlmIChpbl9zbWFsbGJpbl9yYW5nZSAobmIpKQotLQlmaXJzdF9i aW5faW5kZXggPSBzbWFsbGJpbl9pbmRleCAobmIpOwotLSAgICAgIGVsc2UKLS0JZmlyc3RfYmlu X2luZGV4ID0gbGFyZ2ViaW5faW5kZXggKG5iKTsKLS0KLS0gICAgICBpZiAoaW5fc21hbGxiaW5f cmFuZ2UgKG5iICogMikpCi0tCWxhc3RfYmluX2luZGV4ID0gc21hbGxiaW5faW5kZXggKG5iICog Mik7Ci0tICAgICAgZWxzZQotLQlsYXN0X2Jpbl9pbmRleCA9IGxhcmdlYmluX2luZGV4IChuYiAq IDIpOwotLQotLSAgICAgIGZpcnN0X2xhcmdlYmluX2luZGV4ID0gbGFyZ2ViaW5faW5kZXggKE1J Tl9MQVJHRV9TSVpFKTsKLS0KLS0gICAgICBpbnQgdmljdGltX2luZGV4OyAgICAgICAgICAgICAg ICAgLyogaXRzIGJpbiBpbmRleCAqLwotLQotLSAgICAgIGZvciAodmljdGltX2luZGV4ID0gZmly c3RfYmluX2luZGV4OwotLQkgICB2aWN0aW1faW5kZXggPCBsYXN0X2Jpbl9pbmRleDsKLS0JICAg dmljdGltX2luZGV4ICsrKQotLQl7Ci0tCSAgdmljdGltID0gTlVMTDsKLS0KLS0JICBpZiAodmlj dGltX2luZGV4IDwgZmlyc3RfbGFyZ2ViaW5faW5kZXgpCi0tCSAgICB7Ci0tCSAgICAgIC8qIENo ZWNrIHNtYWxsIGJpbnMuICBTbWFsbCBiaW4gY2h1bmtzIGFyZSBkb3VibHktbGlua2VkIGRlc3Bp dGUKLS0JCSBiZWluZyB0aGUgc2FtZSBzaXplLiAgKi8KLS0KLS0JICAgICAgbWNodW5rcHRyIGZ3 ZDsgICAgICAgICAgICAgICAgICAgIC8qIG1pc2MgdGVtcCBmb3IgbGlua2luZyAqLwotLQkgICAg ICBtY2h1bmtwdHIgYmNrOyAgICAgICAgICAgICAgICAgICAgLyogbWlzYyB0ZW1wIGZvciBsaW5r aW5nICovCi0tCi0tCSAgICAgIGJjayA9IGJpbl9hdCAoYXYsIHZpY3RpbV9pbmRleCk7Ci0tCSAg ICAgIGZ3ZCA9IGJjay0+ZmQ7Ci0tCSAgICAgIHdoaWxlIChmd2QgIT0gYmNrKQotLQkJewotLQkJ ICBpZiAoY2h1bmtfb2tfZm9yX21lbWFsaWduIChmd2QsIGFsaWdubWVudCwgbmIpID4gMCkKLS0J CSAgICB7Ci0tCQkgICAgICB2aWN0aW0gPSBmd2Q7Ci0tCi0tCQkgICAgICAvKiBVbmxpbmsgaXQg Ki8KLS0JCSAgICAgIHZpY3RpbS0+ZmQtPmJrID0gdmljdGltLT5iazsKLS0JCSAgICAgIHZpY3Rp bS0+YmstPmZkID0gdmljdGltLT5mZDsKLS0JCSAgICAgIGJyZWFrOwotLQkJICAgIH0KLS0KLS0J CSAgZndkID0gZndkLT5mZDsKLS0JCX0KLS0JICAgIH0KLS0JICBlbHNlCi0tCSAgICB7Ci0tCSAg ICAgIC8qIENoZWNrIGxhcmdlIGJpbnMuICAqLwotLQkgICAgICBtY2h1bmtwdHIgZndkOyAgICAg ICAgICAgICAgICAgICAgLyogbWlzYyB0ZW1wIGZvciBsaW5raW5nICovCi0tCSAgICAgIG1jaHVu a3B0ciBiY2s7ICAgICAgICAgICAgICAgICAgICAvKiBtaXNjIHRlbXAgZm9yIGxpbmtpbmcgKi8K LS0JICAgICAgbWNodW5rcHRyIGJlc3QgPSBOVUxMOwotLQkgICAgICBzaXplX3QgYmVzdF9zaXpl ID0gMDsKLS0KLS0JICAgICAgYmNrID0gYmluX2F0IChhdiwgdmljdGltX2luZGV4KTsKLS0JICAg ICAgZndkID0gYmNrLT5mZDsKLSsgIC8qIENhbGwgbWFsbG9jIHdpdGggd29yc3QgY2FzZSBwYWRk aW5nIHRvIGhpdCBhbGlnbm1lbnQuICovCi0rICBtID0gKGNoYXIgKikgKF9pbnRfbWFsbG9jIChh diwgbmIgKyBhbGlnbm1lbnQgKyBNSU5TSVpFKSk7Ci0gCi0tCSAgICAgIHdoaWxlIChmd2QgIT0g YmNrKQotLQkJewotLQkJICBpbnQgZXh0cmE7Ci0tCi0tCQkgIGlmIChjaHVua3NpemUgKGZ3ZCkg PCBuYikKLS0JCSAgICBicmVhazsKLS0JCSAgZXh0cmEgPSBjaHVua19va19mb3JfbWVtYWxpZ24g KGZ3ZCwgYWxpZ25tZW50LCBuYik7Ci0tCQkgIGlmIChleHRyYSA+IDAKLS0JCSAgICAgICYmIChl eHRyYSA8PSBiZXN0X3NpemUgfHwgYmVzdCA9PSBOVUxMKSkKLS0JCSAgICB7Ci0tCQkgICAgICBi ZXN0ID0gZndkOwotLQkJICAgICAgYmVzdF9zaXplID0gZXh0cmE7Ci0tCQkgICAgfQotKyAgaWYg KG0gPT0gMCkKLSsgICAgcmV0dXJuIDA7ICAgICAgICAgICAvKiBwcm9wYWdhdGUgZmFpbHVyZSAq LwotIAotLQkJICBmd2QgPSBmd2QtPmZkOwotLQkJfQotLQkgICAgICB2aWN0aW0gPSBiZXN0Owot LQotLQkgICAgICBpZiAodmljdGltICE9IE5VTEwpCi0tCQl7Ci0tCQkgIHVubGlua19jaHVuayAo YXYsIHZpY3RpbSk7Ci0tCQkgIGJyZWFrOwotLQkJfQotLQkgICAgfQotLQotLQkgIGlmICh2aWN0 aW0gIT0gTlVMTCkKLS0JICAgIGJyZWFrOwotLQl9Ci0tICAgIH0KLS0KLS0gIC8qIFN0cmF0ZWd5 OiBmaW5kIGEgc3BvdCB3aXRoaW4gdGhhdCBjaHVuayB0aGF0IG1lZXRzIHRoZSBhbGlnbm1lbnQK LS0gICAgIHJlcXVlc3QsIGFuZCB0aGVuIHBvc3NpYmx5IGZyZWUgdGhlIGxlYWRpbmcgYW5kIHRy YWlsaW5nIHNwYWNlLgotLSAgICAgVGhpcyBzdHJhdGVneSBpcyBpbmNyZWRpYmx5IGNvc3RseSBh bmQgY2FuIGxlYWQgdG8gZXh0ZXJuYWwKLS0gICAgIGZyYWdtZW50YXRpb24gaWYgaGVhZGVyIGFu ZCBmb290ZXIgY2h1bmtzIGFyZSB1bnVzZWQuICAqLwotLQotLSAgaWYgKHZpY3RpbSAhPSBOVUxM KQotLSAgICB7Ci0tICAgICAgcCA9IHZpY3RpbTsKLS0gICAgICBtID0gY2h1bmsybWVtIChwKTsK LS0gICAgICBzZXRfaW51c2UgKHApOwotLSAgICAgIGlmIChhdiAhPSAmbWFpbl9hcmVuYSkKLS0J c2V0X25vbl9tYWluX2FyZW5hIChwKTsKLS0gICAgfQotLSAgZWxzZQotLSAgICB7Ci0tICAgICAg LyogQ2FsbCBtYWxsb2Mgd2l0aCB3b3JzdCBjYXNlIHBhZGRpbmcgdG8gaGl0IGFsaWdubWVudC4g Ki8KLS0KLS0gICAgICBtID0gKGNoYXIgKikgKF9pbnRfbWFsbG9jIChhdiwgbmIgKyBhbGlnbm1l bnQgKyBNSU5TSVpFKSk7Ci0tCi0tICAgICAgaWYgKG0gPT0gMCkKLS0JcmV0dXJuIDA7ICAgICAg ICAgICAvKiBwcm9wYWdhdGUgZmFpbHVyZSAqLwotLQotLSAgICAgIHAgPSBtZW0yY2h1bmsgKG0p OwotLSAgICB9Ci0rICBwID0gbWVtMmNodW5rIChtKTsKLSAKLSAgIGlmICgoKCh1bnNpZ25lZCBs b25nKSAobSkpICUgYWxpZ25tZW50KSAhPSAwKSAgIC8qIG1pc2FsaWduZWQgKi8KLSAgICAgewot ZGlmZiAtLWdpdCBhL21hbGxvYy90c3QtbWVtYWxpZ24tMi5jIGIvbWFsbG9jL3RzdC1tZW1hbGln bi0yLmMKLWluZGV4IGYyMjkyODNkYmYuLmVjZDZmYTI0OWUgMTAwNjQ0Ci0tLS0gYS9tYWxsb2Mv dHN0LW1lbWFsaWduLTIuYwotKysrIGIvbWFsbG9jL3RzdC1tZW1hbGlnbi0yLmMKLUBAIC04Niw3 ICs4Niw4IEBAIGRvX3Rlc3QgKHZvaWQpCi0gICAgICAgVEVTVF9WRVJJRlkgKHRjYWNoZV9hbGxv Y3NbaV0ucHRyMSA9PSB0Y2FjaGVfYWxsb2NzW2ldLnB0cjIpOwotICAgICB9Ci0gCi0tICAvKiBU ZXN0IGZvciBub24taGVhZCB0Y2FjaGUgaGl0cy4gICovCi0rICAvKiBUZXN0IGZvciBub24taGVh ZCB0Y2FjaGUgaGl0cy4gIFRoaXMgZXhlcmNpc2VzIHRoZSBtZW1hbGlnbgotKyAgICAgc2Nhbm5p bmcgY29kZSB0byBmaW5kIG1hdGNoaW5nIGFsbG9jYXRpb25zLiAgKi8KLSAgIGZvciAoaSA9IDA7 IGkgPCBhcnJheV9sZW5ndGggKHB0cik7ICsrIGkpCi0gICAgIHsKLSAgICAgICBpZiAoaSA9PSA0 KQotQEAgLTExMyw3ICsxMTQsOSBAQCBkb190ZXN0ICh2b2lkKQotICAgZnJlZSAocCk7Ci0gICBU RVNUX1ZFUklGWSAoY291bnQgPiAwKTsKLSAKLS0gIC8qIExhcmdlIGJpbnMgdGVzdC4gICovCi0r ICAvKiBMYXJnZSBiaW5zIHRlc3QuICBUaGlzIHZlcmlmaWVzIHRoYXQgdGhlIG92ZXItYWxsb2Nh dGVkIHBhcnRzCi0rICAgICB0aGF0IG1lbWFsaWduIHJlbGVhc2VzIGZvciBmdXR1cmUgYWxsb2Nh dGlvbnMgY2FuIGJlIHJldXNlZCBieQotKyAgICAgbWVtYWxpZ24gaXRzZWxmIGF0IGxlYXN0IGlu IHNvbWUgY2FzZXMuICAqLwotIAotICAgZm9yIChpID0gMDsgaSA8IExOOyArKyBpKQotICAgICB7 CmRpZmYgLS1naXQgYS9zcmNwa2dzL2dsaWJjL3BhdGNoZXMvMzEyZTE1OTYyNmI2N2ZlMTFmMzll ODNlMjIyY2Y0MzQ4YTM5NjJmMy5wYXRjaCBiL3NyY3BrZ3MvZ2xpYmMvcGF0Y2hlcy8zMTJlMTU5 NjI2YjY3ZmUxMWYzOWU4M2UyMjJjZjQzNDhhMzk2MmYzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwLi45MzBkMWZkOTcwMmMwNgotLS0gL2Rldi9udWxsCisr KyBiL3NyY3BrZ3MvZ2xpYmMvcGF0Y2hlcy8zMTJlMTU5NjI2YjY3ZmUxMWYzOWU4M2UyMjJjZjQz NDhhMzk2MmYzLnBhdGNoCkBAIC0wLDAgKzEsODAgQEAKK0Zyb20gMzEyZTE1OTYyNmI2N2ZlMTFm MzllODNlMjIyY2Y0MzQ4YTM5NjJmMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFk aGVtZXJ2YWwgWmFuZWxsYSA8YWRoZW1lcnZhbC56YW5lbGxhQGxpbmFyby5vcmc+CitEYXRlOiBU aHUsIDEgRmViIDIwMjQgMTQ6Mjk6NTMgLTAzMDAKK1N1YmplY3Q6IFtQQVRDSF0gbWlwczogRkl4 IGNsb25lMyBpbXBsZW1lbnRhdGlvbiAoQlogMzEzMjUpCisKK0ZvciBvMzIgd2UgbmVlZCB0byBz ZXR1cCBhIG1pbmltYWwgc3RhY2sgZnJhbWUgdG8gYWxsb3cgY3ByZXN0b3JlCitvbiBfX3RocmVh ZF9zdGFydF9jbG9uZTMgKHdoaWNoIGluc3RydWN0IHRoZSBsaW5rZXIgdG8gc2F2ZSB0aGUKK2dw IGZvciBQSUMpLiAgQWxzbywgdGhlcmUgaXMgbm8gZ3VhcmFudGVlIGJ5IGtBQkkgdGhhdCAkOCB3 aWxsIGJlCitwcmVzZXJ2ZWQgYWZ0ZXIgc3lzY2FsbCBleGVjdXRpb24sIHNvIHdlIG5lZWQgdG8g c2F2ZSBpdCBvbiB0aGUKK3Byb3ZpZGVkIHN0YWNrLgorCitDaGVja2VkIG9uIG1pcHNlbC1saW51 eC1nbnUuCisKK1JlcG9ydGVkLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorVGVz dGVkLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorKGNoZXJyeSBwaWNrZWQgZnJv bSBjb21taXQgYmJkMjQ4YWMwZDc1ZWZkZWY4ZmU2MWVhNjliMWZiMjVmYjk1YjZlNykKKy0tLQor IHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvY2xvbmUzLlMgfCAzMiArKysrKysrKysrKysr KysrKysrKysrLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMjcgaW5zZXJ0aW9ucygrKSwgNSBkZWxl dGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvY2xv bmUzLlMgYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL2Nsb25lMy5TCitpbmRleCBlOWZl YzJmYTQ3Li40ODFiOGFlOTYzIDEwMDY0NAorLS0tIGEvc3lzZGVwcy91bml4L3N5c3YvbGludXgv bWlwcy9jbG9uZTMuUworKysrIGIvc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9jbG9uZTMu UworQEAgLTM3LDExICszNyw2IEBACisgCisgCS50ZXh0CisgCS5zZXQJCW5vbWlwczE2CistI2lm IF9NSVBTX1NJTSA9PSBfQUJJTzMyCistIyBkZWZpbmUgRVhUUkFfTE9DQUxTIDEKKy0jZWxzZQor LSMgZGVmaW5lIEVYVFJBX0xPQ0FMUyAwCistI2VuZGlmCisgI2RlZmluZSBGUkFNRVNaICgoTkFS R1NBVkUqU1pSRUcpK0FMU1opJkFMTUFTSworIEdQT0ZGPSBGUkFNRVNaLSgxKlNaUkVHKQorIE5F U1RFRChfX2Nsb25lMywgU1pSRUcsIHNwKQorQEAgLTY4LDggKzYzLDMxIEBAIE5FU1RFRChfX2Ns b25lMywgU1pSRUcsIHNwKQorIAliZXF6CWEwLCBMKGVycm9yKQkvKiBObyBOVUxMIGNsX2FyZ3Mg cG9pbnRlci4gICovCisgCWJlcXoJYTIsIEwoZXJyb3IpCS8qIE5vIE5VTEwgZnVuY3Rpb24gcG9p bnRlci4gICovCisgCisrI2lmIF9NSVBTX1NJTSA9PSBfQUJJTzMyCisrCS8qIEJvdGggc3RhY2sg YW5kIHN0YWNrX3NpemUgb24gY2xvbmVfYXJncyBhcmUgZGVmaW5lZCBhcyB1aW50NjRfdCwgYW5k CisrCSAgIHRoZXJlIGlzIG5vIG5lZWQgdG8gaGFuZGxlIHZhbHVlcyBsYXJnZXIgdGhhbiB0byAz MiBiaXRzIGZvciBvMzIuICAqLworKyMgaWYgX19CWVRFX09SREVSID09IF9fQklHX0VORElBTgor KyMgIGRlZmluZSBDTF9TVEFDS1BPSU5URVJfT0ZGU0VUICA0NAorKyMgIGRlZmluZSBDTF9TVEFD S1NJWkVfT0ZGU0VUICAgICA1MgorKyMgZWxzZQorKyMgIGRlZmluZSBDTF9TVEFDS1BPSU5URVJf T0ZGU0VUICA0MAorKyMgIGRlZmluZSBDTF9TVEFDS1NJWkVfT0ZGU0VUICAgICA0OAorKyMgZW5k aWYKKysKKysJLyogRm9yIG8zMiB3ZSBuZWVkIHRvIHNldHVwIGEgbWluaW1hbCBzdGFjayBmcmFt ZSB0byBhbGxvdyBjcHJlc3RvcmUKKysJICAgb24gX190aHJlYWRfc3RhcnRfY2xvbmUzLiAgQWxz byB0aGVyZSBpcyBubyBndWFyYW50ZWUgYnkga0FCSSB0aGF0CisrCSAgICQ4IHdpbGwgYmUgcHJl c2VydmVkIGFmdGVyIHN5c2NhbGwgZXhlY3V0aW9uIChzbyB3ZSBuZWVkIHRvIHNhdmUgaXQKKysJ ICAgb24gdGhlIHByb3ZpZGVkIHN0YWNrKS4gICovCisrCWx3CXQwLCBDTF9TVEFDS1BPSU5URVJf T0ZGU0VUKGEwKQkvKiBMb2FkIHRoZSBzdGFjayBwb2ludGVyLiAgKi8KKysJbHcJdDEsIENMX1NU QUNLU0laRV9PRkZTRVQoYTApCS8qIExvYWQgdGhlIHN0YWNrX3NpemUuICAqLworKwlhZGRpdQl0 MSwgLTMyCQkJCS8qIFVwZGF0ZSB0aGUgc3RhY2sgc2l6ZS4gICovCisrCWFkZHUJdDIsIHQxLCB0 MAkJCS8qIENhbGN1bGF0ZSB0aGUgdGhyZWFkIHN0YWNrLiAgKi8KKysJc3cJYTMsIDAodDIpCQkJ LyogU2F2ZSBhcmd1bWVudCBwb2ludGVyLiAgKi8KKysJc3cJdDEsIENMX1NUQUNLU0laRV9PRkZT RVQoYTApCS8qIFNhdmUgdGhlIG5ldyBzdGFjayBzaXplLiAgKi8KKysjZWxzZQorIAltb3ZlCSQ4 LCBhMwkJLyogYTMgaXMgc2V0IHRvIDAvMSBmb3Igc3lzY2FsbCBzdWNjZXNzL2Vycm9yCisgCQkJ CSAgIHdoaWxlIGE0LyQ4IGlzIHJldHVybmVkIHVubW9kaWZpZWQuICAqLworKyNlbmRpZgorIAor IAkvKiBEbyB0aGUgc3lzdGVtIGNhbGwsIHRoZSBrZXJuZWwgZXhwZWN0czoKKyAJICAgdjA6IHN5 c3RlbSBjYWxsIG51bWJlcgorQEAgLTEyNSw3ICsxNDMsMTEgQEAgTCh0aHJlYWRfc3RhcnRfY2xv bmUzKToKKyAKKyAJLyogUmVzdG9yZSB0aGUgYXJnIGZvciB1c2VyJ3MgZnVuY3Rpb24uICAqLwor IAltb3ZlCQl0OSwgYTIJCS8qIEZ1bmN0aW9uIHBvaW50ZXIuICAqLworKyNpZiBfTUlQU19TSU0g PT0gX0FCSU8zMgorKwlQVFJfTAkJYTAsIDAoc3ApCisrI2Vsc2UKKyAJbW92ZQkJYTAsICQ4CQkv KiBBcmd1bWVudCBwb2ludGVyLiAgKi8KKysjZW5kaWYKKyAKKyAJLyogQ2FsbCB0aGUgdXNlcidz IGZ1bmN0aW9uLiAgKi8KKyAJamFsCQl0OQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9nbGliYy9wYXRj aGVzLzYzMjk1ZTRmZGExZjZkYWI0YmY3NDQyNzA2ZmUzMDNiZjI4MzAzNmMucGF0Y2ggYi9zcmNw a2dzL2dsaWJjL3BhdGNoZXMvNjMyOTVlNGZkYTFmNmRhYjRiZjc0NDI3MDZmZTMwM2JmMjgzMDM2 Yy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMC4uYzkyNDg1 YmE0ZDU0MzEKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2dsaWJjL3BhdGNoZXMvNjMyOTVl NGZkYTFmNmRhYjRiZjc0NDI3MDZmZTMwM2JmMjgzMDM2Yy5wYXRjaApAQCAtMCwwICsxLDM3IEBA CitGcm9tIDYzMjk1ZTRmZGExZjZkYWI0YmY3NDQyNzA2ZmUzMDNiZjI4MzAzNmMgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCitGcm9tOiBBZGhlbWVydmFsIFphbmVsbGEgPGFkaGVtZXJ2YWwuemFu ZWxsYUBsaW5hcm8ub3JnPgorRGF0ZTogTW9uLCA1IEZlYiAyMDI0IDE2OjEwOjI0ICswMDAwCitT dWJqZWN0OiBbUEFUQ0hdIGFybTogUmVtb3ZlIHdyb25nIGxkciBmcm9tIF9kbF9zdGFydF91c2Vy IChCWiAzMTMzOSkKKworVGhlIGNvbW1pdCA0OWQ4NzdhODBiMjlkMzAwMjg4N2IwODRlZWM2Njc2 ZDlmNWZlYzE4IChhcm06IFJlbW92ZQorX2RsX3NraXBfYXJncyB1c2FnZSkgcmVtb3ZlZCB0aGUg X1NLSVBfQVJHUyBsaXRlcmFsLCB3aGljaCB3YXMKK3ByZXZpb3VzbHkgbG9hZGVyIHRvIHI0IG9u IGxvYWRlciBfc3RhcnQuICBIb3dldmVyLCB0aGUgY2xlYW51cCBkaWQgbm90CityZW1vdmUgdGhl IGZvbGxvd2luZyAnbGRyIHI0LCBbc2wsIHI0XScgb24gX2RsX3N0YXJ0X3VzZXIsIHVzZWQgdG8g Y2hlY2sKK3RvIHNraXAgdGhlIGFyZ3VtZW50cyBhZnRlciBsZCBzZWxmLXJlbG9jYXRpb25zLgor CitJbiBteSB0ZXN0aW5nLCB0aGUga2VybmVsIGluaXRpYWxseSBzZXQgcjQgdG8gMCwgd2hpY2gg bWFrZXMgdGhlCitsZHIgaW5zdHJ1Y3Rpb24ganVzdCByZWFkIHRoZSBfR0xPQkFMX09GRlNFVF9U QUJMRV8uICBIb3dldmVyLCBzaW5jZSByNAoraXMgYSBjYWxsZWUtc2F2ZWQgcmVnaXN0ZXI7IGEg ZGlmZmVyZW50IHJ1bnRpbWUgbWlnaHQgbm90IHplcm8KK2luaXRpYWxpemUgaXQgYW5kIHRodXMg dHJpZ2dlciBhbiBpbnZhbGlkIG1lbW9yeSBhY2Nlc3MuCisKK0NoZWNrZWQgb24gYXJtLWxpbnV4 LWdudS4KKworUmVwb3J0ZWQtYnk6IEFkcmlhbiBSYXRpdSA8YWRyaWFuLnJhdGl1QGNvbGxhYm9y YS5jb20+CitSZXZpZXdlZC1ieTogU3phYm9sY3MgTmFneSA8c3phYm9sY3MubmFneUBhcm0uY29t PgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMWUyNTExMmRjMGNiMjUxNWQyN2Q4ZDE3OGIx ZWNjZTc3OGE5ZDM3YSkKKy0tLQorIHN5c2RlcHMvYXJtL2RsLW1hY2hpbmUuaCB8IDEgLQorIDEg ZmlsZSBjaGFuZ2VkLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zeXNkZXBzL2FybS9k bC1tYWNoaW5lLmggYi9zeXNkZXBzL2FybS9kbC1tYWNoaW5lLmgKK2luZGV4IGI4NTdiYmM4Njgu LmRkMWEwZjZiNmUgMTAwNjQ0CistLS0gYS9zeXNkZXBzL2FybS9kbC1tYWNoaW5lLmgKKysrKyBi L3N5c2RlcHMvYXJtL2RsLW1hY2hpbmUuaAorQEAgLTEzOSw3ICsxMzksNiBAQCBfc3RhcnQ6XG5c CisgX2RsX3N0YXJ0X3VzZXI6XG5cCisgCWFkcglyNiwgLkxfR0VUX0dPVFxuXAorIAlhZGQJc2ws IHNsLCByNlxuXAorLQlsZHIJcjQsIFtzbCwgcjRdXG5cCisgCUAgc2F2ZSB0aGUgZW50cnkgcG9p bnQgaW4gYW5vdGhlciByZWdpc3RlclxuXAorIAltb3YJcjYsIHIwXG5cCisgCUAgZ2V0IHRoZSBv cmlnaW5hbCBhcmcgY291bnRcblwKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZ2xpYmMvcGF0Y2hlcy9D VkUtMjAyMy02MjQ2LnBhdGNoIGIvc3JjcGtncy9nbGliYy9wYXRjaGVzL0NWRS0yMDIzLTYyNDYu cGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZiMjQ3OWUyMjE3ZjFlLi4wMDAw MDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2dsaWJjL3BhdGNoZXMvQ1ZFLTIwMjMtNjI0Ni5wYXRj aAorKysgL2Rldi9udWxsCkBAIC0xLDE3OCArMCwwIEBACi1Gcm9tIDIzNTE0YzcyYjc4MGYzZGEw OTdlY2YzM2E3OTNiN2JhOWMyMDcwZDIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBB cmp1biBTaGFua2FyIDxhcmp1bkByZWRoYXQuY29tPgotRGF0ZTogTW9uLCAxNSBKYW4gMjAyNCAx Nzo0NDo0MyArMDEwMAotU3ViamVjdDogW1BBVENIXSBzeXNsb2c6IEZpeCBoZWFwIGJ1ZmZlciBv dmVyZmxvdyBpbiBfX3ZzeXNsb2dfaW50ZXJuYWwKLSAoQ1ZFLTIwMjMtNjI0NikKLQotX192c3lz bG9nX2ludGVybmFsIGRpZCBub3QgaGFuZGxlIGEgY2FzZSB3aGVyZSBwcmludGluZyBhIFNZU0xP R19IRUFERVIKLWNvbnRhaW5pbmcgYSBsb25nIHByb2dyYW0gbmFtZSBmYWlsZWQgdG8gdXBkYXRl IHRoZSByZXF1aXJlZCBidWZmZXIKLXNpemUsIGxlYWRpbmcgdG8gdGhlIGFsbG9jYXRpb24gYW5k IG92ZXJmbG93IG9mIGEgdG9vLXNtYWxsIGJ1ZmZlciBvbgotdGhlIGhlYXAuICBUaGlzIGNvbW1p dCBmaXhlcyB0aGF0LiAgSXQgYWxzbyBhZGRzIGEgbmV3IHJlZ3Jlc3Npb24gdGVzdAotdGhhdCB1 c2VzIGdsaWJjLm1hbGxvYy5jaGVjay4KLQotUmV2aWV3ZWQtYnk6IEFkaGVtZXJ2YWwgWmFuZWxs YSAgPGFkaGVtZXJ2YWwuemFuZWxsYUBsaW5hcm8ub3JnPgotUmV2aWV3ZWQtYnk6IENhcmxvcyBP J0RvbmVsbCA8Y2FybG9zQHJlZGhhdC5jb20+Ci1UZXN0ZWQtYnk6IENhcmxvcyBPJ0RvbmVsbCA8 Y2FybG9zQHJlZGhhdC5jb20+Ci0oY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA2YmQwZTRlZmNj NzhmM2MwMTE1ZTVlYTk3MzlhMTY0MjgwNzQ1MGRhKQotLS0tCi0gbWlzYy9NYWtlZmlsZSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDggKystCi0gbWlzYy9zeXNsb2cuYyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgNTAgKysrKysrKysrKysrKy0tLS0tLQotIG1p c2MvdHN0LXN5c2xvZy1sb25nLXByb2duYW1lLmMgICAgICAgICAgICAgICB8IDM5ICsrKysrKysr KysrKysrKwotIC4uLi9wb3N0Y2xlYW4ucmVxICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICAwCi0gNCBmaWxlcyBjaGFuZ2VkLCA4MiBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkK LSBjcmVhdGUgbW9kZSAxMDA2NDQgbWlzYy90c3Qtc3lzbG9nLWxvbmctcHJvZ25hbWUuYwotIGNy ZWF0ZSBtb2RlIDEwMDY0NCBtaXNjL3RzdC1zeXNsb2ctbG9uZy1wcm9nbmFtZS5yb290L3Bvc3Rj bGVhbi5yZXEKLQotZGlmZiAtLWdpdCBhL21pc2MvTWFrZWZpbGUgYi9taXNjL01ha2VmaWxlCi1p bmRleCBmZTBkNDljMWRlNS4uOTBiMzE5NTJjNTkgMTAwNjQ0Ci0tLS0gYS9taXNjL01ha2VmaWxl Ci0rKysgYi9taXNjL01ha2VmaWxlCi1AQCAtMjg5LDcgKzI4OSwxMCBAQCB0ZXN0cy1zcGVjaWFs ICs9ICQob2JqcGZ4KXRzdC1lcnJvcjEtbWVtLm91dCBcCi0gICAkKG9ianBmeCl0c3QtYWxsb2Nh dGVfb25jZS1tZW0ub3V0Ci0gZW5kaWYKLSAKLS10ZXN0cy1jb250YWluZXIgOj0gdHN0LXN5c2xv ZwotK3Rlc3RzLWNvbnRhaW5lciA6PSBcCi0rICB0c3Qtc3lzbG9nIFwKLSsgIHRzdC1zeXNsb2ct bG9uZy1wcm9nbmFtZSBcCi0rICAjIHRlc3RzLWNvbnRhaW5lcgotIAotIENGTEFHUy1zZWxlY3Qu YyArPSAtZmV4Y2VwdGlvbnMgLWZhc3luY2hyb25vdXMtdW53aW5kLXRhYmxlcwotIENGTEFHUy10 c2VhcmNoLmMgKz0gJCh1c2VzLWNhbGxiYWNrcykKLUBAIC0zNTEsNiArMzU0LDkgQEAgJChvYmpw ZngpdHN0LWFsbG9jYXRlX29uY2UtbWVtLm91dDogJChvYmpwZngpdHN0LWFsbG9jYXRlX29uY2Uu b3V0Ci0gCSQoY29tbW9uLW9ianBmeCltYWxsb2MvbXRyYWNlICQob2JqcGZ4KXRzdC1hbGxvY2F0 ZV9vbmNlLm10cmFjZSA+ICRAOyBcCi0gCSQoZXZhbHVhdGUtdGVzdCkKLSAKLSt0c3Qtc3lzbG9n LWxvbmctcHJvZ25hbWUtRU5WID0gR0xJQkNfVFVOQUJMRVM9Z2xpYmMubWFsbG9jLmNoZWNrPTMg XAotKwkJCSAgICAgICBMRF9QUkVMT0FEPWxpYmNfbWFsbG9jX2RlYnVnLnNvLjAKLSsKLSAkKG9i anBmeCl0c3Qtc2VsZWN0OiAkKGxpYnJ0KQotICQob2JqcGZ4KXRzdC1zZWxlY3QtdGltZTY0OiAk KGxpYnJ0KQotICQob2JqcGZ4KXRzdC1wc2VsZWN0OiAkKGxpYnJ0KQotZGlmZiAtLWdpdCBhL21p c2Mvc3lzbG9nLmMgYi9taXNjL3N5c2xvZy5jCi1pbmRleCAxYjhjYjcyMmM1MS4uODE0ZDIyNGEx ZTkgMTAwNjQ0Ci0tLS0gYS9taXNjL3N5c2xvZy5jCi0rKysgYi9taXNjL3N5c2xvZy5jCi1AQCAt MTI0LDggKzEyNCw5IEBAIF9fdnN5c2xvZ19pbnRlcm5hbCAoaW50IHByaSwgY29uc3QgY2hhciAq Zm10LCB2YV9saXN0IGFwLAotIHsKLSAgIC8qIFRyeSB0byB1c2UgYSBzdGF0aWMgYnVmZmVyIGFz IGFuIG9wdGltaXphdGlvbi4gICovCi0gICBjaGFyIGJ1ZnNbMTAyNF07Ci0tICBjaGFyICpidWYg PSBOVUxMOwotLSAgc2l6ZV90IGJ1ZnNpemUgPSAwOwotKyAgY2hhciAqYnVmID0gYnVmczsKLSsg IHNpemVfdCBidWZzaXplOwotKwotICAgaW50IG1zZ29mZjsKLSAgIGludCBzYXZlZF9lcnJubyA9 IGVycm5vOwotIAotQEAgLTE3NywyOSArMTc4LDUwIEBAIF9fdnN5c2xvZ19pbnRlcm5hbCAoaW50 IHByaSwgY29uc3QgY2hhciAqZm10LCB2YV9saXN0IGFwLAotICNkZWZpbmUgU1lTTE9HX0hFQURF Ul9XSVRIT1VUX1RTKF9fcHJpLCBfX21zZ29mZikgICAgICAgIFwKLSAgICI8JWQ+OiAlbiIsIF9f cHJpLCBfX21zZ29mZgotIAotLSAgaW50IGw7Ci0rICBpbnQgbCwgdmw7Ci0gICBpZiAoaGFzX3Rz KQotICAgICBsID0gX19zbnByaW50ZiAoYnVmcywgc2l6ZW9mIGJ1ZnMsCi0gCQkgICAgU1lTTE9H X0hFQURFUiAocHJpLCB0aW1lc3RhbXAsICZtc2dvZmYsIHBpZCkpOwotICAgZWxzZQotICAgICBs ID0gX19zbnByaW50ZiAoYnVmcywgc2l6ZW9mIGJ1ZnMsCi0gCQkgICAgU1lTTE9HX0hFQURFUl9X SVRIT1VUX1RTIChwcmksICZtc2dvZmYpKTsKLSsKLSsgIGNoYXIgKnBvczsKLSsgIHNpemVfdCBs ZW47Ci0rCi0gICBpZiAoMCA8PSBsICYmIGwgPCBzaXplb2YgYnVmcykKLSAgICAgewotLSAgICAg IHZhX2xpc3QgYXBjOwotLSAgICAgIHZhX2NvcHkgKGFwYywgYXApOwotKyAgICAgIC8qIEF0IHRo aXMgcG9pbnQsIHRoZXJlIGlzIHN0aWxsIGEgY2hhbmNlIHRoYXQgd2UgY2FuIHByaW50IHRoZQot KyAgICAgICAgIHJlbWFpbmluZyBwYXJ0IG9mIHRoZSBsb2cgaW50byBidWZzIGFuZCB1c2UgdGhh dC4gICovCi0rICAgICAgcG9zID0gYnVmcyArIGw7Ci0rICAgICAgbGVuID0gc2l6ZW9mIChidWZz KSAtIGw7Ci0rICAgIH0KLSsgIGVsc2UKLSsgICAgewotKyAgICAgIGJ1ZiA9IE5VTEw7Ci0rICAg ICAgLyogV2UgYWxyZWFkeSBrbm93IHRoYXQgYnVmcyBpcyB0b28gc21hbGwgdG8gdXNlIGZvciB0 aGlzIGxvZyBtZXNzYWdlLgotKyAgICAgICAgIFRoZSBuZXh0IHZzbnByaW50ZiBpbnRvIGJ1ZnMg aXMgdXNlZCBvbmx5IHRvIGNhbGN1bGF0ZSB0aGUgdG90YWwKLSsgICAgICAgICByZXF1aXJlZCBi dWZmZXIgbGVuZ3RoLiAgV2Ugd2lsbCBkaXNjYXJkIGJ1ZnMgY29udGVudHMgYW5kIGFsbG9jYXRl Ci0rICAgICAgICAgYW4gYXBwcm9wcmlhdGVseSBzaXplZCBidWZmZXIgbGF0ZXIgaW5zdGVhZC4g ICovCi0rICAgICAgcG9zID0gYnVmczsKLSsgICAgICBsZW4gPSBzaXplb2YgKGJ1ZnMpOwotKyAg ICB9Ci0gCi0tICAgICAgLyogUmVzdG9yZSBlcnJubyBmb3IgJW0gZm9ybWF0LiAgKi8KLS0gICAg ICBfX3NldF9lcnJubyAoc2F2ZWRfZXJybm8pOwotKyAgewotKyAgICB2YV9saXN0IGFwYzsKLSsg ICAgdmFfY29weSAoYXBjLCBhcCk7Ci0gCi0tICAgICAgaW50IHZsID0gX192c25wcmludGZfaW50 ZXJuYWwgKGJ1ZnMgKyBsLCBzaXplb2YgYnVmcyAtIGwsIGZtdCwgYXBjLAotLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlX2ZsYWdzKTsKLS0gICAgICBpZiAoMCA8PSB2 bCAmJiB2bCA8IHNpemVvZiBidWZzIC0gbCkKLS0gICAgICAgIGJ1ZiA9IGJ1ZnM7Ci0tICAgICAg YnVmc2l6ZSA9IGwgKyB2bDsKLSsgICAgLyogUmVzdG9yZSBlcnJubyBmb3IgJW0gZm9ybWF0LiAg Ki8KLSsgICAgX19zZXRfZXJybm8gKHNhdmVkX2Vycm5vKTsKLSAKLS0gICAgICB2YV9lbmQgKGFw Yyk7Ci0tICAgIH0KLSsgICAgdmwgPSBfX3ZzbnByaW50Zl9pbnRlcm5hbCAocG9zLCBsZW4sIGZt dCwgYXBjLCBtb2RlX2ZsYWdzKTsKLSsKLSsgICAgaWYgKCEoMCA8PSB2bCAmJiB2bCA8IGxlbikp Ci0rICAgICAgYnVmID0gTlVMTDsKLSsKLSsgICAgYnVmc2l6ZSA9IGwgKyB2bDsKLSsgICAgdmFf ZW5kIChhcGMpOwotKyAgfQotIAotICAgaWYgKGJ1ZiA9PSBOVUxMKQotICAgICB7Ci1kaWZmIC0t Z2l0IGEvbWlzYy90c3Qtc3lzbG9nLWxvbmctcHJvZ25hbWUuYyBiL21pc2MvdHN0LXN5c2xvZy1s b25nLXByb2duYW1lLmMKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwMC4u ODhmMzdhOGEwMDQKLS0tLSAvZGV2L251bGwKLSsrKyBiL21pc2MvdHN0LXN5c2xvZy1sb25nLXBy b2duYW1lLmMKLUBAIC0wLDAgKzEsMzkgQEAKLSsvKiBUZXN0IGhlYXAgYnVmZmVyIG92ZXJmbG93 IGluIHN5c2xvZyB3aXRoIGxvbmcgX19wcm9nbmFtZSAoQ1ZFLTIwMjMtNjI0NikKLSsgICBDb3B5 cmlnaHQgKEMpIDIwMjMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCi0rICAgVGhpcyBm aWxlIGlzIHBhcnQgb2YgdGhlIEdOVSBDIExpYnJhcnkuCi0rCi0rICAgVGhlIEdOVSBDIExpYnJh cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0rICAg bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1Ymxp YwotKyAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b247IGVpdGhlcgotKyAgIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBv cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotKwotKyAgIFRoZSBHTlUgQyBMaWJyYXJ5IGlzIGRp c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0rICAgYnV0IFdJ VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK LSsgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu ICBTZWUgdGhlIEdOVQotKyAgIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl IGRldGFpbHMuCi0rCi0rICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg R05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotKyAgIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGUgR05V IEMgTGlicmFyeTsgaWYgbm90LCBzZWUKLSsgICA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNl cy8+LiAgKi8KLSsKLSsjaW5jbHVkZSA8c3lzbG9nLmg+Ci0rI2luY2x1ZGUgPHN0cmluZy5oPgot KwotK2V4dGVybiBjaGFyICogX19wcm9nbmFtZTsKLSsKLStzdGF0aWMgaW50Ci0rZG9fdGVzdCAo dm9pZCkKLSt7Ci0rICBjaGFyIGxvbmdfcHJvZ25hbWVbMjA0OF07Ci0rCi0rICBtZW1zZXQgKGxv bmdfcHJvZ25hbWUsICdYJywgc2l6ZW9mIChsb25nX3Byb2duYW1lKSAtIDEpOwotKyAgbG9uZ19w cm9nbmFtZVtzaXplb2YgKGxvbmdfcHJvZ25hbWUpIC0gMV0gPSAnXDAnOwotKwotKyAgX19wcm9n bmFtZSA9IGxvbmdfcHJvZ25hbWU7Ci0rCi0rICBzeXNsb2cgKExPR19JTkZPLCAiSGVsbG8sIFdv cmxkISIpOwotKwotKyAgcmV0dXJuIDA7Ci0rfQotKwotKyNpbmNsdWRlIDxzdXBwb3J0L3Rlc3Qt ZHJpdmVyLmM+Ci1kaWZmIC0tZ2l0IGEvbWlzYy90c3Qtc3lzbG9nLWxvbmctcHJvZ25hbWUucm9v dC9wb3N0Y2xlYW4ucmVxIGIvbWlzYy90c3Qtc3lzbG9nLWxvbmctcHJvZ25hbWUucm9vdC9wb3N0 Y2xlYW4ucmVxCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwMDAuLmU2OWRl MjliYjJkCmRpZmYgLS1naXQgYS9zcmNwa2dzL2dsaWJjL3BhdGNoZXMvQ1ZFLTIwMjMtNjc3OS5w YXRjaCBiL3NyY3BrZ3MvZ2xpYmMvcGF0Y2hlcy9DVkUtMjAyMy02Nzc5LnBhdGNoCmRlbGV0ZWQg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YWNjOWUzNzUxMDMyYS4uMDAwMDAwMDAwMDAwMDAKLS0t IGEvc3JjcGtncy9nbGliYy9wYXRjaGVzL0NWRS0yMDIzLTY3NzkucGF0Y2gKKysrIC9kZXYvbnVs bApAQCAtMSwxMDMgKzAsMCBAQAotRnJvbSBkMDMzODMxMmFhY2U1YmJmZWY4NWUwMzA1NWUxMjEy ZGQwZTQ5NTc4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQXJqdW4gU2hhbmthciA8 YXJqdW5AcmVkaGF0LmNvbT4KLURhdGU6IE1vbiwgMTUgSmFuIDIwMjQgMTc6NDQ6NDQgKzAxMDAK LVN1YmplY3Q6IFtQQVRDSF0gc3lzbG9nOiBGaXggaGVhcCBidWZmZXIgb3ZlcmZsb3cgaW4gX192 c3lzbG9nX2ludGVybmFsCi0gKENWRS0yMDIzLTY3NzkpCi0KLV9fdnN5c2xvZ19pbnRlcm5hbCB1 c2VkIHRoZSByZXR1cm4gdmFsdWUgb2Ygc25wcmludGYvdnNucHJpbnRmIHRvCi1jYWxjdWxhdGUg YnVmZmVyIHNpemVzIGZvciBtZW1vcnkgYWxsb2NhdGlvbi4gIElmIHRoZXNlIGZ1bmN0aW9ucyAo Zm9yCi1hbnkgcmVhc29uKSBmYWlsZWQgYW5kIHJldHVybmVkIC0xLCB0aGUgcmVzdWx0aW5nIGJ1 ZmZlciB3b3VsZCBiZSB0b28KLXNtYWxsIHRvIGhvbGQgb3V0cHV0LiAgVGhpcyBjb21taXQgZml4 ZXMgdGhhdC4KLQotQWxsIHNucHJpbnRmL3ZzbnByaW50ZiBjYWxscyBhcmUgY2hlY2tlZCBmb3Ig bmVnYXRpdmUgcmV0dXJuIHZhbHVlcyBhbmQKLXRoZSBmdW5jdGlvbiBzaWxlbnRseSByZXR1cm5z IHVwb24gZW5jb3VudGVyaW5nIHRoZW0uCi0KLVJldmlld2VkLWJ5OiBDYXJsb3MgTydEb25lbGwg PGNhcmxvc0ByZWRoYXQuY29tPgotKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgN2U1YTBjMjg2 ZGEzMzE1OWQ0N2QwMTIyMDA3YWFjMDE2ZjNlMDJjZCkKLS0tLQotIG1pc2Mvc3lzbG9nLmMgfCAz OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdl ZCwgMjggaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9taXNj L3N5c2xvZy5jIGIvbWlzYy9zeXNsb2cuYwotaW5kZXggODE0ZDIyNGExZS4uNTM0NDBlNDdhZCAx MDA2NDQKLS0tLSBhL21pc2Mvc3lzbG9nLmMKLSsrKyBiL21pc2Mvc3lzbG9nLmMKLUBAIC0xODUs MTEgKzE4NSwxMyBAQCBfX3ZzeXNsb2dfaW50ZXJuYWwgKGludCBwcmksIGNvbnN0IGNoYXIgKmZt dCwgdmFfbGlzdCBhcCwKLSAgIGVsc2UKLSAgICAgbCA9IF9fc25wcmludGYgKGJ1ZnMsIHNpemVv ZiBidWZzLAotIAkJICAgIFNZU0xPR19IRUFERVJfV0lUSE9VVF9UUyAocHJpLCAmbXNnb2ZmKSk7 Ci0rICBpZiAobCA8IDApCi0rICAgIGdvdG8gb3V0OwotIAotICAgY2hhciAqcG9zOwotICAgc2l6 ZV90IGxlbjsKLSAKLS0gIGlmICgwIDw9IGwgJiYgbCA8IHNpemVvZiBidWZzKQotKyAgaWYgKGwg PCBzaXplb2YgYnVmcykKLSAgICAgewotICAgICAgIC8qIEF0IHRoaXMgcG9pbnQsIHRoZXJlIGlz IHN0aWxsIGEgY2hhbmNlIHRoYXQgd2UgY2FuIHByaW50IHRoZQotICAgICAgICAgIHJlbWFpbmlu ZyBwYXJ0IG9mIHRoZSBsb2cgaW50byBidWZzIGFuZCB1c2UgdGhhdC4gICovCi1AQCAtMjE1LDEy ICsyMTcsMTUgQEAgX192c3lzbG9nX2ludGVybmFsIChpbnQgcHJpLCBjb25zdCBjaGFyICpmbXQs IHZhX2xpc3QgYXAsCi0gICAgIF9fc2V0X2Vycm5vIChzYXZlZF9lcnJubyk7Ci0gCi0gICAgIHZs ID0gX192c25wcmludGZfaW50ZXJuYWwgKHBvcywgbGVuLCBmbXQsIGFwYywgbW9kZV9mbGFncyk7 Ci0rICAgIHZhX2VuZCAoYXBjKTsKLSsKLSsgICAgaWYgKHZsIDwgMCkKLSsgICAgICBnb3RvIG91 dDsKLSAKLS0gICAgaWYgKCEoMCA8PSB2bCAmJiB2bCA8IGxlbikpCi0rICAgIGlmICh2bCA+PSBs ZW4pCi0gICAgICAgYnVmID0gTlVMTDsKLSAKLSAgICAgYnVmc2l6ZSA9IGwgKyB2bDsKLS0gICAg dmFfZW5kIChhcGMpOwotICAgfQotIAotICAgaWYgKGJ1ZiA9PSBOVUxMKQotQEAgLTIzMSwyNSAr MjM2LDM3IEBAIF9fdnN5c2xvZ19pbnRlcm5hbCAoaW50IHByaSwgY29uc3QgY2hhciAqZm10LCB2 YV9saXN0IGFwLAotIAkgIC8qIFRlbGwgdGhlIGNhbmNlbGxhdGlvbiBoYW5kbGVyIHRvIGZyZWUg dGhpcyBidWZmZXIuICAqLwotIAkgIGNsYXJnLmJ1ZiA9IGJ1ZjsKLSAKLSsJICBpbnQgY2w7Ci0g CSAgaWYgKGhhc190cykKLS0JICAgIF9fc25wcmludGYgKGJ1ZiwgbCArIDEsCi0tCQkJU1lTTE9H X0hFQURFUiAocHJpLCB0aW1lc3RhbXAsICZtc2dvZmYsIHBpZCkpOwotKwkgICAgY2wgPSBfX3Nu cHJpbnRmIChidWYsIGwgKyAxLAotKwkJCSAgICAgU1lTTE9HX0hFQURFUiAocHJpLCB0aW1lc3Rh bXAsICZtc2dvZmYsIHBpZCkpOwotIAkgIGVsc2UKLS0JICAgIF9fc25wcmludGYgKGJ1ZiwgbCAr IDEsCi0tCQkJU1lTTE9HX0hFQURFUl9XSVRIT1VUX1RTIChwcmksICZtc2dvZmYpKTsKLSsJICAg IGNsID0gX19zbnByaW50ZiAoYnVmLCBsICsgMSwKLSsJCQkgICAgIFNZU0xPR19IRUFERVJfV0lU SE9VVF9UUyAocHJpLCAmbXNnb2ZmKSk7Ci0rCSAgaWYgKGNsICE9IGwpCi0rCSAgICBnb3RvIG91 dDsKLSAKLSAJICB2YV9saXN0IGFwYzsKLSAJICB2YV9jb3B5IChhcGMsIGFwKTsKLS0JICBfX3Zz bnByaW50Zl9pbnRlcm5hbCAoYnVmICsgbCwgYnVmc2l6ZSAtIGwgKyAxLCBmbXQsIGFwYywKLS0J CQkJbW9kZV9mbGFncyk7Ci0rCSAgY2wgPSBfX3ZzbnByaW50Zl9pbnRlcm5hbCAoYnVmICsgbCwg YnVmc2l6ZSAtIGwgKyAxLCBmbXQsIGFwYywKLSsJCQkJICAgICBtb2RlX2ZsYWdzKTsKLSAJICB2 YV9lbmQgKGFwYyk7Ci0rCi0rCSAgaWYgKGNsICE9IHZsKQotKwkgICAgZ290byBvdXQ7Ci0gCX0K LSAgICAgICBlbHNlCi0gICAgICAgICB7Ci0rICAgICAgICAgIGludCBibDsKLSAJICAvKiBOb3Ro aW5nIG11Y2ggdG8gZG8gYnV0IGVtaXQgYW4gZXJyb3IgbWVzc2FnZS4gICovCi0tICAgICAgICAg IGJ1ZnNpemUgPSBfX3NucHJpbnRmIChidWZzLCBzaXplb2YgYnVmcywKLS0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICJvdXQgb2YgbWVtb3J5WyVkXSIsIF9fZ2V0cGlkICgpKTsKLSsg ICAgICAgICAgYmwgPSBfX3NucHJpbnRmIChidWZzLCBzaXplb2YgYnVmcywKLSsgICAgICAgICAg ICAgICAgICAgICAgICAgICAib3V0IG9mIG1lbW9yeVslZF0iLCBfX2dldHBpZCAoKSk7Ci0rICAg ICAgICAgIGlmIChibCA8IDAgfHwgYmwgPj0gc2l6ZW9mIGJ1ZnMpCi0rICAgICAgICAgICAgZ290 byBvdXQ7Ci0rCi0rICAgICAgICAgIGJ1ZnNpemUgPSBibDsKLSAgICAgICAgICAgYnVmID0gYnVm czsKLSsgICAgICAgICAgbXNnb2ZmID0gMDsKLSAgICAgICAgIH0KLSAgICAgfQotIApkaWZmIC0t Z2l0IGEvc3JjcGtncy9nbGliYy9wYXRjaGVzL0NWRS0yMDIzLTY3ODAucGF0Y2ggYi9zcmNwa2dz L2dsaWJjL3BhdGNoZXMvQ1ZFLTIwMjMtNjc4MC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDY2OTRlNTU0OTkwMDUuLjAwMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvZ2xp YmMvcGF0Y2hlcy9DVkUtMjAyMy02NzgwLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzggKzAs MCBAQAotRnJvbSBkMzdjMmIyMGE0Nzg3NDYzZDE5MmIzMjA0MWMzNDA2YzJiZDkxZGUwIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQXJqdW4gU2hhbmthciA8YXJqdW5AcmVkaGF0LmNv bT4KLURhdGU6IE1vbiwgMTUgSmFuIDIwMjQgMTc6NDQ6NDUgKzAxMDAKLVN1YmplY3Q6IFtQQVRD SF0gc3lzbG9nOiBGaXggaW50ZWdlciBvdmVyZmxvdyBpbiBfX3ZzeXNsb2dfaW50ZXJuYWwKLSAo Q1ZFLTIwMjMtNjc4MCkKLQotX192c3lzbG9nX2ludGVybmFsIGNhbGN1bGF0ZWQgYSBidWZmZXIg c2l6ZSBieSBhZGRpbmcgdHdvIGludGVnZXJzLCBidXQKLWRpZCBub3QgZmlyc3QgY2hlY2sgaWYg dGhlIGFkZGl0aW9uIHdvdWxkIG92ZXJmbG93LiAgVGhpcyBjb21taXQgZml4ZXMKLXRoYXQuCi0K LVJldmlld2VkLWJ5OiBDYXJsb3MgTydEb25lbGwgPGNhcmxvc0ByZWRoYXQuY29tPgotVGVzdGVk LWJ5OiBDYXJsb3MgTydEb25lbGwgPGNhcmxvc0ByZWRoYXQuY29tPgotKGNoZXJyeSBwaWNrZWQg ZnJvbSBjb21taXQgZGRmNTQyZGE5NGNhZjk3ZmY0M2NjMjg3NWM4ODc0OTg4MGI3MjU5YikKLS0t LQotIG1pc2Mvc3lzbG9nLmMgfCAzICsrLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMo KyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL21pc2Mvc3lzbG9nLmMgYi9taXNjL3N5 c2xvZy5jCi1pbmRleCA1MzQ0MGU0N2FkLi40YWY4N2Y1NGZkIDEwMDY0NAotLS0tIGEvbWlzYy9z eXNsb2cuYwotKysrIGIvbWlzYy9zeXNsb2cuYwotQEAgLTQxLDYgKzQxLDcgQEAgc3RhdGljIGNo YXIgc2Njc2lkW10gPSAiQCgjKXN5c2xvZy5jCTguNCAoQmVya2VsZXkpIDMvMTgvOTQiOwotICNp bmNsdWRlIDxzeXMvdWlvLmg+Ci0gI2luY2x1ZGUgPHN5cy91bi5oPgotICNpbmNsdWRlIDxzeXNs b2cuaD4KLSsjaW5jbHVkZSA8bGltaXRzLmg+Ci0gCi0gc3RhdGljIGludCBMb2dUeXBlID0gU09D S19ER1JBTTsJLyogdHlwZSBvZiBzb2NrZXQgY29ubmVjdGlvbiAqLwotIHN0YXRpYyBpbnQgTG9n RmlsZSA9IC0xOwkJLyogZmQgZm9yIGxvZyAqLwotQEAgLTIxOSw3ICsyMjAsNyBAQCBfX3ZzeXNs b2dfaW50ZXJuYWwgKGludCBwcmksIGNvbnN0IGNoYXIgKmZtdCwgdmFfbGlzdCBhcCwKLSAgICAg dmwgPSBfX3ZzbnByaW50Zl9pbnRlcm5hbCAocG9zLCBsZW4sIGZtdCwgYXBjLCBtb2RlX2ZsYWdz KTsKLSAgICAgdmFfZW5kIChhcGMpOwotIAotLSAgICBpZiAodmwgPCAwKQotKyAgICBpZiAodmwg PCAwIHx8IHZsID49IElOVF9NQVggLSBsKQotICAgICAgIGdvdG8gb3V0OwotIAotICAgICBpZiAo dmwgPj0gbGVuKQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9nbGliYy9wYXRjaGVzL2IyNTUwOGRkNzc0 YjYxN2Y5OTQxOWJkYzNjZjJhY2U0NTYwY2QyZDYucGF0Y2ggYi9zcmNwa2dzL2dsaWJjL3BhdGNo ZXMvYjI1NTA4ZGQ3NzRiNjE3Zjk5NDE5YmRjM2NmMmFjZTQ1NjBjZDJkNi5wYXRjaApkZWxldGVk IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDM5ZDdlOWYwNGJhNWYuLjAwMDAwMDAwMDAwMDAwCi0t LSBhL3NyY3BrZ3MvZ2xpYmMvcGF0Y2hlcy9iMjU1MDhkZDc3NGI2MTdmOTk0MTliZGMzY2YyYWNl NDU2MGNkMmQ2LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTkyICswLDAgQEAKLUZyb20gYjI1 NTA4ZGQ3NzRiNjE3Zjk5NDE5YmRjM2NmMmFjZTQ1NjBjZDJkNiBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKLUZyb206IEZsb3JpYW4gV2VpbWVyIDxmd2VpbWVyQHJlZGhhdC5jb20+Ci1EYXRlOiBX ZWQsIDEzIFNlcCAyMDIzIDE0OjEwOjU2ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIENWRS0yMDIz LTQ1Mjc6IFN0YWNrIHJlYWQgb3ZlcmZsb3cgd2l0aCBsYXJnZSBUQ1AgcmVzcG9uc2VzCi0gaW4g bm8tYWFhYSBtb2RlCi0KLVdpdGhvdXQgcGFzc2luZyBhbHRfZG5zX3BhY2tldF9idWZmZXIsIF9f cmVzX2NvbnRleHRfc2VhcmNoIGNhbiBvbmx5Ci1zdG9yZSAyMDQ4IGJ5dGVzICh3aGF0IGZpdHMg aW50byBkbnNfcGFja2V0X2J1ZmZlcikuICBIb3dldmVyLAotdGhlIGZ1bmN0aW9uIHJldHVybnMg dGhlIHRvdGFsIHBhY2tldCBzaXplLCBhbmQgdGhlIHN1YnNlcXVlbnQKLUROUyBwYXJzaW5nIGNv ZGUgaW4gX25zc19kbnNfZ2V0aG9zdGJ5bmFtZTRfciByZWFkcyBiZXlvbmQgdGhlIGVuZAotb2Yg dGhlIHN0YWNrLWFsbG9jYXRlZCBidWZmZXIuCi0KLUZpeGVzIGNvbW1pdCBmMjgyY2RiZTdmNDM2 Yzc1ODY0ZTU2NDBhNCAoInJlc29sdjogSW1wbGVtZW50IG5vLWFhYWEKLXN0dWIgcmVzb2x2ZXIg b3B0aW9uIikgYW5kIGJ1ZyAzMDg0Mi4KLQotKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgYmQ3 N2RkN2U3M2UzNTMwMjAzYmUxYzUyYzhhMjlkMDgyNzBjYjI1ZCkKLS0tLQotIE5FV1MgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgICA5ICsrKwotIHJlc29sdi9NYWtlZmlsZSAgICAgICAgICAg ICAgIHwgICAyICsKLSByZXNvbHYvbnNzX2Rucy9kbnMtaG9zdC5jICAgICB8ICAgMiArLQotIHJl c29sdi90c3QtcmVzb2x2LW5vYWFhYS12Yy5jIHwgMTI5ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysKLSA0IGZpbGVzIGNoYW5nZWQsIDE0MSBpbnNlcnRpb25zKCspLCAxIGRlbGV0 aW9uKC0pCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IHJlc29sdi90c3QtcmVzb2x2LW5vYWFhYS12Yy5j Ci0KLWRpZmYgLS1naXQgYS9yZXNvbHYvTWFrZWZpbGUgYi9yZXNvbHYvTWFrZWZpbGUKLWluZGV4 IDA1NGIxZmEzNmMuLjJmOTllYjM4NjIgMTAwNjQ0Ci0tLS0gYS9yZXNvbHYvTWFrZWZpbGUKLSsr KyBiL3Jlc29sdi9NYWtlZmlsZQotQEAgLTEwMiw2ICsxMDIsNyBAQCB0ZXN0cyArPSBcCi0gICB0 c3QtcmVzb2x2LWludmFsaWQtY25hbWUgXAotICAgdHN0LXJlc29sdi1uZXR3b3JrIFwKLSAgIHRz dC1yZXNvbHYtbm9hYWFhIFwKLSsgIHRzdC1yZXNvbHYtbm9hYWFhLXZjIFwKLSAgIHRzdC1yZXNv bHYtbm9uZGVjaW1hbCBcCi0gICB0c3QtcmVzb2x2LXJlc19pbml0LW11bHRpIFwKLSAgIHRzdC1y ZXNvbHYtc2VhcmNoIFwKLUBAIC0yOTMsNiArMjk0LDcgQEAgJChvYmpwZngpdHN0LXJlc29sdi1y ZXNfaW5pdC10aHJlYWQ6ICQob2JqcGZ4KWxpYnJlc29sdi5zbyBcCi0gJChvYmpwZngpdHN0LXJl c29sdi1pbnZhbGlkLWNuYW1lOiAkKG9ianBmeClsaWJyZXNvbHYuc28gXAotICAgJChzaGFyZWQt dGhyZWFkLWxpYnJhcnkpCi0gJChvYmpwZngpdHN0LXJlc29sdi1ub2FhYWE6ICQob2JqcGZ4KWxp YnJlc29sdi5zbyAkKHNoYXJlZC10aHJlYWQtbGlicmFyeSkKLSskKG9ianBmeCl0c3QtcmVzb2x2 LW5vYWFhYS12YzogJChvYmpwZngpbGlicmVzb2x2LnNvICQoc2hhcmVkLXRocmVhZC1saWJyYXJ5 KQotICQob2JqcGZ4KXRzdC1yZXNvbHYtbm9uZGVjaW1hbDogJChvYmpwZngpbGlicmVzb2x2LnNv ICQoc2hhcmVkLXRocmVhZC1saWJyYXJ5KQotICQob2JqcGZ4KXRzdC1yZXNvbHYtcXR5cGVzOiAk KG9ianBmeClsaWJyZXNvbHYuc28gJChzaGFyZWQtdGhyZWFkLWxpYnJhcnkpCi0gJChvYmpwZngp dHN0LXJlc29sdi1yb3RhdGU6ICQob2JqcGZ4KWxpYnJlc29sdi5zbyAkKHNoYXJlZC10aHJlYWQt bGlicmFyeSkKLWRpZmYgLS1naXQgYS9yZXNvbHYvbnNzX2Rucy9kbnMtaG9zdC5jIGIvcmVzb2x2 L25zc19kbnMvZG5zLWhvc3QuYwotaW5kZXggMWQ2MGM1MWY1ZS4uNWQwYWIzMGRlNiAxMDA2NDQK LS0tLSBhL3Jlc29sdi9uc3NfZG5zL2Rucy1ob3N0LmMKLSsrKyBiL3Jlc29sdi9uc3NfZG5zL2Ru cy1ob3N0LmMKLUBAIC00MjcsNyArNDI3LDcgQEAgX25zc19kbnNfZ2V0aG9zdGJ5bmFtZTRfciAo Y29uc3QgY2hhciAqbmFtZSwgc3RydWN0IGdhaWhfYWRkcnR1cGxlICoqcGF0LAotICAgICB7Ci0g ICAgICAgbiA9IF9fcmVzX2NvbnRleHRfc2VhcmNoIChjdHgsIG5hbWUsIENfSU4sIFRfQSwKLSAJ CQkJZG5zX3BhY2tldF9idWZmZXIsIHNpemVvZiAoZG5zX3BhY2tldF9idWZmZXIpLAotLQkJCQlO VUxMLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMKTsKLSsJCQkJJmFsdF9kbnNfcGFja2V0X2J1ZmZl ciwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCk7Ci0gICAgICAgaWYgKG4gPj0gMCkKLSAJc3RhdHVz ID0gZ2FpaF9nZXRhbnN3ZXJfbm9hYWFhIChhbHRfZG5zX3BhY2tldF9idWZmZXIsIG4sCi0gCQkJ CQkmYWJ1ZiwgcGF0LCBlcnJub3AsIGhlcnJub3AsIHR0bHApOwotZGlmZiAtLWdpdCBhL3Jlc29s di90c3QtcmVzb2x2LW5vYWFhYS12Yy5jIGIvcmVzb2x2L3RzdC1yZXNvbHYtbm9hYWFhLXZjLmMK LW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwLi45ZjVhZWJkOTlmCi0tLS0g L2Rldi9udWxsCi0rKysgYi9yZXNvbHYvdHN0LXJlc29sdi1ub2FhYWEtdmMuYwotQEAgLTAsMCAr MSwxMjkgQEAKLSsvKiBUZXN0IHRoZSBSRVNfTk9BQUFBIHJlc29sdmVyIG9wdGlvbiB3aXRoIGEg bGFyZ2UgcmVzcG9uc2UuCi0rICAgQ29weXJpZ2h0IChDKSAyMDIyLTIwMjMgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBJbmMuCi0rICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEdOVSBDIExp YnJhcnkuCi0rCi0rICAgVGhlIEdOVSBDIExpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0rICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBv ZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotKyAgIExpY2Vuc2UgYXMgcHVibGlzaGVk IGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotKyAgIHZlcnNpb24gMi4x IG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgot KwotKyAgIFRoZSBHTlUgQyBMaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg aXQgd2lsbCBiZSB1c2VmdWwsCi0rICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0 IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSsgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklU TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotKyAgIExlc3NlciBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0rCi0rICAgWW91IHNob3Vs ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwot KyAgIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGUgR05VIEMgTGlicmFyeTsgaWYgbm90LCBzZWUKLSsg ICA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KLSsKLSsjaW5jbHVkZSA8ZXJy bm8uaD4KLSsjaW5jbHVkZSA8bmV0ZGIuaD4KLSsjaW5jbHVkZSA8cmVzb2x2Lmg+Ci0rI2luY2x1 ZGUgPHN0ZGJvb2wuaD4KLSsjaW5jbHVkZSA8c3RkbGliLmg+Ci0rI2luY2x1ZGUgPHN1cHBvcnQv Y2hlY2suaD4KLSsjaW5jbHVkZSA8c3VwcG9ydC9jaGVja19uc3MuaD4KLSsjaW5jbHVkZSA8c3Vw cG9ydC9yZXNvbHZfdGVzdC5oPgotKyNpbmNsdWRlIDxzdXBwb3J0L3N1cHBvcnQuaD4KLSsjaW5j bHVkZSA8c3VwcG9ydC94bWVtc3RyZWFtLmg+Ci0rCi0rLyogVXNlZCB0byBrZWVwIHRyYWNrIG9m IHRoZSBudW1iZXIgb2YgcXVlcmllcy4gICovCi0rc3RhdGljIHZvbGF0aWxlIHVuc2lnbmVkIGlu dCBxdWVyaWVzOwotKwotKy8qIElmIHRydWUsIGFkZCBhIGxhcmdlIFRYVCByZWNvcmQgYXQgdGhl IHN0YXJ0IG9mIHRoZSBhbnN3ZXIgc2VjdGlvbi4gICovCi0rc3RhdGljIHZvbGF0aWxlIGJvb2wg c3R1ZmZfdHh0OwotKwotK3N0YXRpYyB2b2lkCi0rcmVzcG9uc2UgKGNvbnN0IHN0cnVjdCByZXNv bHZfcmVzcG9uc2VfY29udGV4dCAqY3R4LAotKyAgICAgICAgICBzdHJ1Y3QgcmVzb2x2X3Jlc3Bv bnNlX2J1aWxkZXIgKmIsCi0rICAgICAgICAgIGNvbnN0IGNoYXIgKnFuYW1lLCB1aW50MTZfdCBx Y2xhc3MsIHVpbnQxNl90IHF0eXBlKQotK3sKLSsgIC8qIElmIG5vdCB1c2luZyBUQ1AsIGp1c3Qg Zm9yY2UgaXRzIHVzZS4gICovCi0rICBpZiAoIWN0eC0+dGNwKQotKyAgICB7Ci0rICAgICAgc3Ry dWN0IHJlc29sdl9yZXNwb25zZV9mbGFncyBmbGFncyA9IHsudGMgPSB0cnVlfTsKLSsgICAgICBy ZXNvbHZfcmVzcG9uc2VfaW5pdCAoYiwgZmxhZ3MpOwotKyAgICAgIHJlc29sdl9yZXNwb25zZV9h ZGRfcXVlc3Rpb24gKGIsIHFuYW1lLCBxY2xhc3MsIHF0eXBlKTsKLSsgICAgICByZXR1cm47Ci0r ICAgIH0KLSsKLSsgIC8qIFRoZSB0ZXN0IG5lZWRzIHRvIHNlbmQgZm91ciBxdWVyaWVzLCB0aGUg Zmlyc3QgdGhyZWUgYXJlIHVzZWQgdG8KLSsgICAgIGdyb3cgdGhlIE5TUyBidWZmZXIgdmlhIHRo ZSBFUkFOR0UgaGFuZHNoYWtlLiAgKi8KLSsgICsrcXVlcmllczsKLSsgIFRFU1RfVkVSSUZZIChx dWVyaWVzIDw9IDQpOwotKwotKyAgLyogQUFBQSBxdWVyaWVzIGFyZSBzdXBwb3NlZCB0byBiZSBk aXNhYmxlZC4gICovCi0rICBURVNUX0NPTVBBUkUgKHF0eXBlLCBUX0EpOwotKyAgVEVTVF9DT01Q QVJFIChxY2xhc3MsIENfSU4pOwotKyAgVEVTVF9DT01QQVJFX1NUUklORyAocW5hbWUsICJleGFt cGxlLmNvbSIpOwotKwotKyAgc3RydWN0IHJlc29sdl9yZXNwb25zZV9mbGFncyBmbGFncyA9IHt9 OwotKyAgcmVzb2x2X3Jlc3BvbnNlX2luaXQgKGIsIGZsYWdzKTsKLSsgIHJlc29sdl9yZXNwb25z ZV9hZGRfcXVlc3Rpb24gKGIsIHFuYW1lLCBxY2xhc3MsIHF0eXBlKTsKLSsKLSsgIHJlc29sdl9y ZXNwb25zZV9zZWN0aW9uIChiLCBuc19zX2FuKTsKLSsKLSsgIGlmIChzdHVmZl90eHQpCi0rICAg IHsKLSsgICAgICByZXNvbHZfcmVzcG9uc2Vfb3Blbl9yZWNvcmQgKGIsIHFuYW1lLCBxY2xhc3Ms IFRfVFhULCA2MCk7Ci0rICAgICAgaW50IHplcm8gPSAwOwotKyAgICAgIGZvciAoaW50IGkgPSAw OyBpIDw9IDE1MDAwOyArK2kpCi0rICAgICAgICByZXNvbHZfcmVzcG9uc2VfYWRkX2RhdGEgKGIs ICZ6ZXJvLCBzaXplb2YgKHplcm8pKTsKLSsgICAgICByZXNvbHZfcmVzcG9uc2VfY2xvc2VfcmVj b3JkIChiKTsKLSsgICAgfQotKwotKyAgZm9yIChpbnQgaSA9IDA7IGkgPCAyMDA7ICsraSkKLSsg ICAgewotKyAgICAgIHJlc29sdl9yZXNwb25zZV9vcGVuX3JlY29yZCAoYiwgcW5hbWUsIHFjbGFz cywgcXR5cGUsIDYwKTsKLSsgICAgICBjaGFyIGlwdjRbNF0gPSB7MTkyLCAwLCAyLCBpICsgMX07 Ci0rICAgICAgcmVzb2x2X3Jlc3BvbnNlX2FkZF9kYXRhIChiLCAmaXB2NCwgc2l6ZW9mIChpcHY0 KSk7Ci0rICAgICAgcmVzb2x2X3Jlc3BvbnNlX2Nsb3NlX3JlY29yZCAoYik7Ci0rICAgIH0KLSt9 Ci0rCi0rc3RhdGljIGludAotK2RvX3Rlc3QgKHZvaWQpCi0rewotKyAgc3RydWN0IHJlc29sdl90 ZXN0ICpvYmogPSByZXNvbHZfdGVzdF9zdGFydAotKyAgICAoKHN0cnVjdCByZXNvbHZfcmVkaXJl Y3RfY29uZmlnKQotKyAgICAgewotKyAgICAgICAucmVzcG9uc2VfY2FsbGJhY2sgPSByZXNwb25z ZQotKyAgICAgfSk7Ci0rCi0rICBfcmVzLm9wdGlvbnMgfD0gUkVTX05PQUFBQTsKLSsKLSsgIGZv ciAoaW50IGRvX3N0dWZmX3R4dCA9IDA7IGRvX3N0dWZmX3R4dCA8IDI7ICsrZG9fc3R1ZmZfdHh0 KQotKyAgICB7Ci0rICAgICAgcXVlcmllcyA9IDA7Ci0rICAgICAgc3R1ZmZfdHh0ID0gZG9fc3R1 ZmZfdHh0OwotKwotKyAgICAgIHN0cnVjdCBhZGRyaW5mbyAqYWkgPSBOVUxMOwotKyAgICAgIGlu dCByZXQ7Ci0rICAgICAgcmV0ID0gZ2V0YWRkcmluZm8gKCJleGFtcGxlLmNvbSIsICI4MCIsCi0r ICAgICAgICAgICAgICAgICAgICAgICAgICYoc3RydWN0IGFkZHJpbmZvKQotKyAgICAgICAgICAg ICAgICAgICAgICAgICB7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgLmFpX2ZhbWlseSA9 IEFGX1VOU1BFQywKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAuYWlfc29ja3R5cGUgPSBT T0NLX1NUUkVBTSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgfSwgJmFpKTsKLSsKLSsgICAg ICBjaGFyICpleHBlY3RlZF9yZXN1bHQ7Ci0rICAgICAgewotKyAgICAgICAgc3RydWN0IHhtZW1z dHJlYW0gbWVtOwotKyAgICAgICAgeG9wZW5fbWVtc3RyZWFtICgmbWVtKTsKLSsgICAgICAgIGZv ciAoaW50IGkgPSAwOyBpIDwgMjAwOyArK2kpCi0rICAgICAgICAgIGZwcmludGYgKG1lbS5vdXQs ICJhZGRyZXNzOiBTVFJFQU0vVENQIDE5Mi4wLjIuJWQgODBcbiIsIGkgKyAxKTsKLSsgICAgICAg IHhmY2xvc2VfbWVtc3RyZWFtICgmbWVtKTsKLSsgICAgICAgIGV4cGVjdGVkX3Jlc3VsdCA9IG1l bS5idWZmZXI7Ci0rICAgICAgfQotKwotKyAgICAgIGNoZWNrX2FkZHJpbmZvICgiZXhhbXBsZS5j b20iLCBhaSwgcmV0LCBleHBlY3RlZF9yZXN1bHQpOwotKwotKyAgICAgIGZyZWUgKGV4cGVjdGVk X3Jlc3VsdCk7Ci0rICAgICAgZnJlZWFkZHJpbmZvIChhaSk7Ci0rICAgIH0KLSsKLSsgIHJlc29s dl90ZXN0X2VuZCAob2JqKTsKLSsgIHJldHVybiAwOwotK30KLSsKLSsjaW5jbHVkZSA8c3VwcG9y dC90ZXN0LWRyaXZlci5jPgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9nbGliYy9wYXRjaGVzL2NvbW1p dHRlZC0xLTItUHJvcGFnYXRlLUdMSUJDX1RVTkFCTEVTLWluLXNldHhpZC1iaW5hcmllcy5wYXRj aCBiL3NyY3BrZ3MvZ2xpYmMvcGF0Y2hlcy9jb21taXR0ZWQtMS0yLVByb3BhZ2F0ZS1HTElCQ19U VU5BQkxFUy1pbi1zZXR4aWQtYmluYXJpZXMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDMxZGNiZDAzMDA5YmExLi4wMDAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2dsaWJj L3BhdGNoZXMvY29tbWl0dGVkLTEtMi1Qcm9wYWdhdGUtR0xJQkNfVFVOQUJMRVMtaW4tc2V0eGlk LWJpbmFyaWVzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTk4ICswLDAgQEAKLUZyb20gMGQ1 ZjllYTk3ZjFiMzlmMmE4NTU3NTYwNzg3NzE2NzNhNjg0OTdlMSBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKLUZyb206IFNpZGRoZXNoIFBveWFyZWthciA8c2lkZGhlc2hAc291cmNld2FyZS5vcmc+ Ci1EYXRlOiBUdWUsIDE5IFNlcCAyMDIzIDEzOjI1OjQwIC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0hd IFByb3BhZ2F0ZSBHTElCQ19UVU5BQkxFUyBpbiBzZXR4aWQgYmluYXJpZXMKLQotR0xJQkNfVFVO QUJMRVMgc2NydWJiaW5nIGhhcHBlbnMgZWFybGllciB0aGFuIGVudnZhciBzY3J1YmJpbmcgYW5k IHNvbWUKLXR1bmFibGVzIGFyZSByZXF1aXJlZCB0byBwcm9wYWdhdGUgcGFzdCBzZXR4aWQgYm91 bmRhcnksIGxpa2UgdGhlaXIKLWVudl9hbGlhcy4gIFJlbHkgb24gdHVuYWJsZSBzY3J1YmJpbmcg dG8gY2xlYW4gb3V0IEdMSUJDX1RVTkFCTEVTIGxpa2UKLWJlZm9yZSwgcmVzdG9yaW5nIGJlaGF2 aW91ciBpbiBnbGliYyAyLjM3IGFuZCBlYXJsaWVyLgotCi1TaWduZWQtb2ZmLWJ5OiBTaWRkaGVz aCBQb3lhcmVrYXIgPHNpZGRoZXNoQHNvdXJjZXdhcmUub3JnPgotUmV2aWV3ZWQtYnk6IENhcmxv cyBPJ0RvbmVsbCA8Y2FybG9zQHJlZGhhdC5jb20+Ci0tLS0KLSBzeXNkZXBzL2dlbmVyaWMvdW5z ZWN2YXJzLmggfCAxIC0KLSAxIGZpbGUgY2hhbmdlZCwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0t Z2l0IGEvc3lzZGVwcy9nZW5lcmljL3Vuc2VjdmFycy5oIGIvc3lzZGVwcy9nZW5lcmljL3Vuc2Vj dmFycy5oCi1pbmRleCA4MTM5N2ZiOTBiLi44Mjc4YzUwYTg0IDEwMDY0NAotLS0tIGEvc3lzZGVw cy9nZW5lcmljL3Vuc2VjdmFycy5oCi0rKysgYi9zeXNkZXBzL2dlbmVyaWMvdW5zZWN2YXJzLmgK LUBAIC00LDcgKzQsNiBAQAotICNkZWZpbmUgVU5TRUNVUkVfRU5WVkFSUyBcCi0gICAiR0NPTlZf UEFUSFwwIgkJCQkJCQkgICAgICBcCi0gICAiR0VUQ09ORl9ESVJcMCIJCQkJCQkJICAgICAgXAot LSAgIkdMSUJDX1RVTkFCTEVTXDAiCQkJCQkJCSAgICAgIFwKLSAgICJIT1NUQUxJQVNFU1wwIgkJ CQkJCQkgICAgICBcCi0gICAiTERfQVVESVRcMCIJCQkJCQkJCSAgICAgIFwKLSAgICJMRF9ERUJV R1wwIgkJCQkJCQkJICAgICAgXAotLS0gCi1Gcm9tIDEwNTZlNWI0YzNmMmQ5MGVkMmI0YTU1Zjk2 YWRkMjhkYTJmNGM4ZmEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBTaWRkaGVzaCBQ b3lhcmVrYXIgPHNpZGRoZXNoQHNvdXJjZXdhcmUub3JnPgotRGF0ZTogVHVlLCAxOSBTZXAgMjAy MyAxODozOTozMiAtMDQwMAotU3ViamVjdDogW1BBVENIXSB0dW5hYmxlczogVGVybWluYXRlIGlm IGVuZCBvZiBpbnB1dCBpcyByZWFjaGVkCi0gKENWRS0yMDIzLTQ5MTEpCi0KLVRoZSBzdHJpbmcg cGFyc2luZyByb3V0aW5lIG1heSBlbmQgdXAgd3JpdGluZyBiZXlvbmQgYm91bmRzIG9mIHR1bmVz dHIKLWlmIHRoZSBpbnB1dCB0dW5hYmxlIHN0cmluZyBpcyBtYWxmb3JtZWQsIG9mIHRoZSBmb3Jt IG5hbWU9bmFtZT12YWwuCi1UaGlzIGdldHMgcHJvY2Vzc2VkIHR3aWNlLCBmaXJzdCBhcyBuYW1l PW5hbWU9dmFsIGFuZCBuZXh0IGFzIG5hbWU9dmFsLAotcmVzdWx0aW5nIGluIHR1bmVzdHIgYmVp bmcgbmFtZT1uYW1lPXZhbDpuYW1lPXZhbCwgdGh1cyBvdmVyZmxvd2luZwotdHVuZXN0ci4KLQot VGVybWluYXRlIHRoZSBwYXJzaW5nIGxvb3AgYXQgdGhlIGZpcnN0IGluc3RhbmNlIGl0c2VsZiBz byB0aGF0IHR1bmVzdHIKLWRvZXMgbm90IG92ZXJmbG93LgotCi1UaGlzIGFsc28gZml4ZXMgdXAg dHN0LWVudi1zZXR1aWQtdHVuYWJsZXMgdG8gYWN0dWFsbHkgaGFuZGxlIGZhaWx1cmVzCi1jb3Jy ZWN0IGFuZCBhZGQgbmV3IHRlc3RzIHRvIHZhbGlkYXRlIHRoZSBmaXggZm9yIHRoaXMgQ1ZFLgot Ci1TaWduZWQtb2ZmLWJ5OiBTaWRkaGVzaCBQb3lhcmVrYXIgPHNpZGRoZXNoQHNvdXJjZXdhcmUu b3JnPgotUmV2aWV3ZWQtYnk6IENhcmxvcyBPJ0RvbmVsbCA8Y2FybG9zQHJlZGhhdC5jb20+Ci0t LS0KLSBORVdTICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA1ICsrKysrCi0gZWxmL2RsLXR1 bmFibGVzLmMgICAgICAgICAgICAgfCAxNyArKysrKysrKystLS0tLS0tCi0gZWxmL3RzdC1lbnYt c2V0dWlkLXR1bmFibGVzLmMgfCAzNyArKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0t LQotIDMgZmlsZXMgY2hhbmdlZCwgNDQgaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCi0K LWRpZmYgLS1naXQgYS9ORVdTIGIvTkVXUwotaW5kZXggYTk0NjUwZGE2NC4uY2M0YjgxZjBhYyAx MDA2NDQKLS0tLSBhL05FV1MKLSsrKyBiL05FV1MKLUBAIC02NCw2ICs2NCwxMSBAQCBTZWN1cml0 eSByZWxhdGVkIGNoYW5nZXM6Ci0gICBhbiBhcHBsaWNhdGlvbiBjYWxscyBnZXRhZGRyaW5mbyBm b3IgQUZfSU5FVDYgd2l0aCBBSV9DQU5PTk5BTUUsCi0gICBBSV9BTEwgYW5kIEFJX1Y0TUFQUEVE IGZsYWdzIHNldC4KLSAKLSsgIENWRS0yMDIzLTQ5MTE6IElmIGEgdHVuYWJsZSBvZiB0aGUgZm9y bSBOQU1FPU5BTUU9VkFMIGlzIHBhc3NlZCBpbiB0aGUKLSsgIGVudmlyb25tZW50IG9mIGEgc2V0 dWlkIHByb2dyYW0gYW5kIE5BTUUgaXMgdmFsaWQsIGl0IG1heSByZXN1bHQgaW4gYQotKyAgYnVm ZmVyIG92ZXJmbG93LCB3aGljaCBjb3VsZCBiZSBleHBsb2l0ZWQgdG8gYWNoaWV2ZSBlc2NhbGF0 ZWQKLSsgIHByaXZpbGVnZXMuICBUaGlzIGZsYXcgd2FzIGludHJvZHVjZWQgaW4gZ2xpYmMgMi4z NC4KLSsKLSBUaGUgZm9sbG93aW5nIGJ1Z3MgYXJlIHJlc29sdmVkIHdpdGggdGhpcyByZWxlYXNl OgotIAotICAgW1RoZSByZWxlYXNlIG1hbmFnZXIgd2lsbCBhZGQgdGhlIGxpc3QgZ2VuZXJhdGVk IGJ5Ci1kaWZmIC0tZ2l0IGEvZWxmL2RsLXR1bmFibGVzLmMgYi9lbGYvZGwtdHVuYWJsZXMuYwot aW5kZXggNjJiNzMzMmQ5NS4uY2FlNjdlZmEwYSAxMDA2NDQKLS0tLSBhL2VsZi9kbC10dW5hYmxl cy5jCi0rKysgYi9lbGYvZGwtdHVuYWJsZXMuYwotQEAgLTE4MCwxMSArMTgwLDcgQEAgcGFyc2Vf dHVuYWJsZXMgKGNoYXIgKnR1bmVzdHIsIGNoYXIgKnZhbHN0cmluZykKLSAgICAgICAvKiBJZiB3 ZSByZWFjaCB0aGUgZW5kIG9mIHRoZSBzdHJpbmcgYmVmb3JlIGdldHRpbmcgYSB2YWxpZCBuYW1l LXZhbHVlCi0gCSBwYWlyLCBiYWlsIG91dC4gICovCi0gICAgICAgaWYgKHBbbGVuXSA9PSAnXDAn KQotLQl7Ci0tCSAgaWYgKF9fbGliY19lbmFibGVfc2VjdXJlKQotLQkgICAgdHVuZXN0cltvZmZd ID0gJ1wwJzsKLS0JICByZXR1cm47Ci0tCX0KLSsJYnJlYWs7Ci0gCi0gICAgICAgLyogV2UgZGlk IG5vdCBmaW5kIGEgdmFsaWQgbmFtZS12YWx1ZSBwYWlyIGJlZm9yZSBlbmNvdW50ZXJpbmcgdGhl Ci0gCSBjb2xvbi4gICovCi1AQCAtMjQ0LDkgKzI0MCwxNiBAQCBwYXJzZV90dW5hYmxlcyAoY2hh ciAqdHVuZXN0ciwgY2hhciAqdmFsc3RyaW5nKQotIAkgICAgfQotIAl9Ci0gCi0tICAgICAgaWYg KHBbbGVuXSAhPSAnXDAnKQotLQlwICs9IGxlbiArIDE7Ci0rICAgICAgLyogV2UgcmVhY2hlZCB0 aGUgZW5kIHdoaWxlIHByb2Nlc3NpbmcgdGhlIHR1bmFibGUgc3RyaW5nLiAgKi8KLSsgICAgICBp ZiAocFtsZW5dID09ICdcMCcpCi0rCWJyZWFrOwotKwotKyAgICAgIHAgKz0gbGVuICsgMTsKLSAg ICAgfQotKwotKyAgLyogVGVybWluYXRlIHR1bmVzdHIgYmVmb3JlIHdlIGxlYXZlLiAgKi8KLSsg IGlmIChfX2xpYmNfZW5hYmxlX3NlY3VyZSkKLSsgICAgdHVuZXN0cltvZmZdID0gJ1wwJzsKLSB9 Ci0gCi0gLyogRW5hYmxlIHRoZSBnbGliYy5tYWxsb2MuY2hlY2sgdHVuYWJsZSBpbiBTRVRVSUQv U0VUR0lEIHByb2dyYW1zIG9ubHkgd2hlbgotZGlmZiAtLWdpdCBhL2VsZi90c3QtZW52LXNldHVp ZC10dW5hYmxlcy5jIGIvZWxmL3RzdC1lbnYtc2V0dWlkLXR1bmFibGVzLmMKLWluZGV4IDdkZmIw ZTA3M2EuLmYwYjkyYzk3ZTcgMTAwNjQ0Ci0tLS0gYS9lbGYvdHN0LWVudi1zZXR1aWQtdHVuYWJs ZXMuYwotKysrIGIvZWxmL3RzdC1lbnYtc2V0dWlkLXR1bmFibGVzLmMKLUBAIC01MCw2ICs1MCw4 IEBAIGNvbnN0IGNoYXIgKnRlc3RzdHJpbmdzW10gPQotICAgImdsaWJjLm1hbGxvYy5wZXJ0dXJi PTB4ODAwOm5vdF92YWxpZC5tYWxsb2MuY2hlY2s9MjpnbGliYy5tYWxsb2MubW1hcF90aHJlc2hv bGQ9NDA5NiIsCi0gICAiZ2xpYmMubm90X3ZhbGlkLmNoZWNrPTI6Z2xpYmMubWFsbG9jLm1tYXBf dGhyZXNob2xkPTQwOTYiLAotICAgIm5vdF92YWxpZC5tYWxsb2MuY2hlY2s9MjpnbGliYy5tYWxs b2MubW1hcF90aHJlc2hvbGQ9NDA5NiIsCi0rICAiZ2xpYmMubWFsbG9jLm1tYXBfdGhyZXNob2xk PWdsaWJjLm1hbGxvYy5tbWFwX3RocmVzaG9sZD00MDk2IiwKLSsgICJnbGliYy5tYWxsb2MuY2hl Y2s9MiIsCi0gICAiZ2xpYmMubWFsbG9jLmdhcmJhZ2U9MjpnbGliYy5tYW9jLm1tYXBfdGhyZXNo b2xkPTQwOTY6Z2xpYmMubWFsbG9jLmNoZWNrPTIiLAotICAgImdsaWJjLm1hbGxvYy5jaGVjaz00 OmdsaWJjLm1hbGxvYy5nYXJiYWdlPTI6Z2xpYmMubWFvYy5tbWFwX3RocmVzaG9sZD00MDk2IiwK LSAgICI6Z2xpYmMubWFsbG9jLmdhcmJhZ2U9MjpnbGliYy5tYWxsb2MuY2hlY2s9MSIsCi1AQCAt NjgsNiArNzAsOCBAQCBjb25zdCBjaGFyICpyZXN1bHRzdHJpbmdzW10gPQotICAgImdsaWJjLm1h bGxvYy5wZXJ0dXJiPTB4ODAwOmdsaWJjLm1hbGxvYy5tbWFwX3RocmVzaG9sZD00MDk2IiwKLSAg ICJnbGliYy5tYWxsb2MubW1hcF90aHJlc2hvbGQ9NDA5NiIsCi0gICAiZ2xpYmMubWFsbG9jLm1t YXBfdGhyZXNob2xkPTQwOTYiLAotKyAgImdsaWJjLm1hbGxvYy5tbWFwX3RocmVzaG9sZD1nbGli Yy5tYWxsb2MubW1hcF90aHJlc2hvbGQ9NDA5NiIsCi0rICAiIiwKLSAgICIiLAotICAgIiIsCi0g ICAiIiwKLUBAIC04MSwxMSArODUsMTggQEAgdGVzdF9jaGlsZCAoaW50IG9mZikKLSB7Ci0gICBj b25zdCBjaGFyICp2YWwgPSBnZXRlbnYgKCJHTElCQ19UVU5BQkxFUyIpOwotIAotKyAgcHJpbnRm ICgiICAgIFslZF0gR0xJQkNfVFVOQUJMRVMgaXMgJXNcbiIsIG9mZiwgdmFsKTsKLSsgIGZmbHVz aCAoc3Rkb3V0KTsKLSAgIGlmICh2YWwgIT0gTlVMTCAmJiBzdHJjbXAgKHZhbCwgcmVzdWx0c3Ry aW5nc1tvZmZdKSA9PSAwKQotICAgICByZXR1cm4gMDsKLSAKLSAgIGlmICh2YWwgIT0gTlVMTCkK LS0gICAgcHJpbnRmICgiWyVkXSBVbmV4cGVjdGVkIEdMSUJDX1RVTkFCTEVTIFZBTFVFICVzXG4i LCBvZmYsIHZhbCk7Ci0rICAgIHByaW50ZiAoIiAgICBbJWRdIFVuZXhwZWN0ZWQgR0xJQkNfVFVO QUJMRVMgVkFMVUUgJXMsIGV4cGVjdGVkICVzXG4iLAotKwkgICAgb2ZmLCB2YWwsIHJlc3VsdHN0 cmluZ3Nbb2ZmXSk7Ci0rICBlbHNlCi0rICAgIHByaW50ZiAoIiAgICBbJWRdIEdMSUJDX1RVTkFC TEVTIGVudmlyb25tZW50IHZhcmlhYmxlIGFic2VudFxuIiwgb2ZmKTsKLSsKLSsgIGZmbHVzaCAo c3Rkb3V0KTsKLSAKLSAgIHJldHVybiAxOwotIH0KLUBAIC0xMDYsMjEgKzExNywyNiBAQCBkb190 ZXN0IChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCi0gICAgICAgaWYgKHJldCAhPSAwKQotIAlleGl0 ICgxKTsKLSAKLS0gICAgICBleGl0IChFWElUX1NVQ0NFU1MpOwotKyAgICAgIC8qIFNwZWNpYWwg cmV0dXJuIGNvZGUgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIGNoaWxkIGV4ZWN1dGVkIGFsbCB0aGUg d2F5Ci0rCSB0aHJvdWdoLiAgKi8KLSsgICAgICBleGl0ICg0Mik7Ci0gICAgIH0KLSAgIGVsc2UK LSAgICAgewotLSAgICAgIGludCByZXQgPSAwOwotLQotICAgICAgIC8qIFNwYXduIHRlc3RzLiAg Ki8KLSAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IGFycmF5X2xlbmd0aCAodGVzdHN0cmluZ3Mp OyBpKyspCi0gCXsKLSAJICBjaGFyIGJ1ZltJTlRfQlVGU0laRV9CT1VORCAoaW50KV07Ci0gCi0t CSAgcHJpbnRmICgiU3Bhd25lZCB0ZXN0IGZvciAlcyAoJWQpXG4iLCB0ZXN0c3RyaW5nc1tpXSwg aSk7Ci0rCSAgcHJpbnRmICgiWyVkXSBTcGF3bmVkIHRlc3QgZm9yICVzXG4iLCBpLCB0ZXN0c3Ry aW5nc1tpXSk7Ci0gCSAgc25wcmludGYgKGJ1Ziwgc2l6ZW9mIChidWYpLCAiJWRcbiIsIGkpOwot KwkgIGZmbHVzaCAoc3Rkb3V0KTsKLSAJICBpZiAoc2V0ZW52ICgiR0xJQkNfVFVOQUJMRVMiLCB0 ZXN0c3RyaW5nc1tpXSwgMSkgIT0gMCkKLS0JICAgIGV4aXQgKDEpOwotKwkgICAgewotKwkgICAg ICBwcmludGYgKCIgICAgWyVkXSBGYWlsZWQgdG8gc2V0IEdMSUJDX1RVTkFCTEVTOiAlbSIsIGkp OwotKwkgICAgICBzdXBwb3J0X3JlY29yZF9mYWlsdXJlICgpOwotKwkgICAgICBjb250aW51ZTsK LSsJICAgIH0KLSAKLSAJICBpbnQgc3RhdHVzID0gc3VwcG9ydF9jYXB0dXJlX3N1YnByb2dyYW1f c2VsZl9zZ2lkIChidWYpOwotIAotQEAgLTEyOCw5ICsxNDQsMTQgQEAgZG9fdGVzdCAoaW50IGFy Z2MsIGNoYXIgKiphcmd2KQotIAkgIGlmIChXRVhJVFNUQVRVUyAoc3RhdHVzKSA9PSBFWElUX1VO U1VQUE9SVEVEKQotIAkgICAgcmV0dXJuIEVYSVRfVU5TVVBQT1JURUQ7Ci0gCi0tCSAgcmV0IHw9 IHN0YXR1czsKLSsJICBpZiAoV0VYSVRTVEFUVVMgKHN0YXR1cykgIT0gNDIpCi0rCSAgICB7Ci0r CSAgICAgIHByaW50ZiAoIiAgICBbJWRdIGNoaWxkIGZhaWxlZCB3aXRoIHN0YXR1cyAlZFxuIiwg aSwKLSsJCSAgICAgIFdFWElUU1RBVFVTIChzdGF0dXMpKTsKLSsJICAgICAgc3VwcG9ydF9yZWNv cmRfZmFpbHVyZSAoKTsKLSsJICAgIH0KLSAJfQotLSAgICAgIHJldHVybiByZXQ7Ci0rICAgICAg cmV0dXJuIDA7Ci0gICAgIH0KLSB9Ci0gCmRpZmYgLS1naXQgYS9zcmNwa2dzL2dsaWJjL3RlbXBs YXRlIGIvc3JjcGtncy9nbGliYy90ZW1wbGF0ZQppbmRleCBjZjMwY2Q4OGRkNjFhMi4uNmQyMGQ1 ZmUyMWU5YTEgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvZ2xpYmMvdGVtcGxhdGUKKysrIGIvc3JjcGtn cy9nbGliYy90ZW1wbGF0ZQpAQCAtMSwxNCArMSwxNCBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAn Z2xpYmMnCiBwa2duYW1lPWdsaWJjCi12ZXJzaW9uPTIuMzgKLXJldmlzaW9uPTYKK3ZlcnNpb249 Mi4zOQorcmV2aXNpb249MQogYm9vdHN0cmFwPXllcwogc2hvcnRfZGVzYz0iR05VIEMgbGlicmFy eSIKIG1haW50YWluZXI9IkVubm8gQm9sYW5kIDxnb3R0b3hAdm9pZGxpbnV4Lm9yZz4iCiBsaWNl bnNlPSJHUEwtMi4wLW9yLWxhdGVyLCBMR1BMLTIuMS1vci1sYXRlciwgQlNELTMtQ2xhdXNlIgog aG9tZXBhZ2U9Imh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9saWJjIgogZGlzdGZpbGVzPSIk e0dOVV9TSVRFfS9saWJjL2dsaWJjLSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09ZmI4Mjk5 ODk5OGIyYjI5OTY1NDY3YmMxYjY5ZDE1MmU5YzMwN2QyY2YzMDFjOWVhZmI0NTU1Yjc3MGVmM2Zk MgorY2hlY2tzdW09Zjc3YmQ0N2NmODE3MGM1NzM2NWFlN2JmODY2OTZjMTE4YWRiM2IxMjBkMzI1 OWM2NGM1MDJkM2RjMWUyZDkyNgogIyBEbyBub3Qgc3RyaXAgdGhlc2UgZmlsZXMsIG9iamNvcHkg ZXJyb3JzIG91dC4KIG5vc3RyaXBfZmlsZXM9IgogCVhCUzVfSUxQMzJfT0ZGQklHCkBAIC00OCwx MyArNDgsMTIgQEAgY29uZl9maWxlcz0iCiAJL2V0Yy9sZC5zby5jb25mIgogaWYgWyAiJENIUk9P VF9SRUFEWSIgXTsgdGhlbgogCWhvc3RtYWtlZGVwZW5kcz0iYmlzb24gZ2V0dGV4dCBwZXJsIHB5 dGhvbjMgdGV4aW5mbyIKLQkjIFhYWDogcmVtb3ZlIHRoaXMgb24gdGhlIG5leHQgdXBkYXRlCi0J IyBlbnN1cmVzIHBhcnRpYWwgdXBncmFkZXMgZG9uJ3QgYnJlYWsgdGhpbmdzIGxpa2UgUEFNCi0J ZGVwZW5kcz0ibGlieGNyeXB0LWNvbXBhdCIKIGZpCiBtYWtlZGVwZW5kcz0ia2VybmVsLWxpYmMt aGVhZGVycyIKIGxpYjMyZmlsZXM9Ii91c3IvbGliL2djb252L2djb252LW1vZHVsZXMiCiBsaWIz MnN5bWxpbmtzPSJsZC1saW51eC5zby4yIgorIyBnbGliYyAyLjM4IHN0b3BzIHByb3ZpZGluZyBs aWJjcnlwdC5zby4xCitjb25mbGljdHM9ImdsaWJjLTMyYml0PDIuMzhfMSIKIGFyY2hzPSJ+Ki1t dXNsIgogaWYgWyAiJFhCUFNfVEFSR0VUX0xJQkMiID0gbXVzbCBdOyB0aGVuCiAJYnJva2VuPSJu byBwb2ludCBpbiBidWlsZGluZyB0aGlzIGZvciBtdXNsIgpAQCAtNzUsMTIgKzc0LDggQEAgZG9f Y29uZmlndXJlKCkgewogCQkjIEJ1aWxkIHdpdGggLW1uby10bHMtZGlyZWN0LXNlZy1yZWZzIHRv IGF2b2lkIHBlcmZvcm1hbmNlCiAJCSMgcHJvYmxlbXMgd2l0aCBYZW4gb24geDg2IDMyYml0Lgog CQlpNjg2KSBleHBvcnQgQ0ZMQUdTKz0iIC1tbm8tdGxzLWRpcmVjdC1zZWctcmVmcyI7OwotCQkj IEZvcmNlIGhhcmQgZmxvYXQgQUJJLgotCQkjIFRvIGJ1aWxkIGZvciBzb2Z0IGZsb2F0OiAtLXdp dGgtZmxvYXQ9c29mdCAtLXdpdGhvdXQtZnAuCi0JCWFybXY1KikgY29uZmlndXJlX2FyZ3MrPSIg LS13aXRoLW1hcmNoPWFybXY1dGUgLS13aXRob3V0LWZwIC0td2l0aC1mbG9hdD1zb2Z0Ijs7Ci0J CWFybXY2bCopIGNvbmZpZ3VyZV9hcmdzKz0iIC0td2l0aC1tYXJjaD1hcm12NiAtLXdpdGgtZnB1 PXZmcCAtLXdpdGgtZmxvYXQ9aGFyZCI7OwotCQlhcm12N2wqKSBjb25maWd1cmVfYXJncys9IiAt LXdpdGgtbWFyY2g9YXJtdjctYSAtLXdpdGgtZnB1PXZmcHYzIC0td2l0aC1mbG9hdD1oYXJkIjs7 Ci0JCWFybTY0KikgY29uZmlndXJlX2FyZ3MrPSIgLS13aXRoLW1hcmNoPWFybXY4LWEiOzsKKwkJ IyBGb3JjZSBzb2Z0IGZsb2F0IEFCSSBvbiBhcm12NS4KKwkJYXJtdjUqKSBjb25maWd1cmVfYXJn cys9IiAtLXdpdGhvdXQtZnAiOzsKIAllc2FjCiAKIAlpZiBbICIkQ1JPU1NfQlVJTEQiIF07IHRo ZW4KQEAgLTEwMyw3ICs5OCw3IEBAIGRvX2NvbmZpZ3VyZSgpIHsKIAkJLS1lbmFibGUtc3RhY2st cHJvdGVjdG9yPXN0cm9uZyBcCiAJCS0tZGlzYWJsZS1wcm9maWxlIC0tZW5hYmxlLWtlcm5lbD0z LjIuMCBcCiAJCS0td2l0aG91dC1zZWxpbnV4IC0td2l0aG91dC1nZCBcCi0JCS0tZGlzYWJsZS13 ZXJyb3IgXAorCQktLWRpc2FibGUtd2Vycm9yIC0tZW5hYmxlLW9wdGlvbi1jaGVja2luZyBcCiAJ CWxpYmNfY3Zfcm9vdHNiaW5kaXI9L3Vzci9iaW4gXAogCQlsaWJjX2N2X3J0bGRkaXI9JHtfbGli ZGlyfSBsaWJjX2N2X3NsaWJkaXI9JHtfbGliZGlyfQogfQpAQCAtMTMzLDcgKzEyOCwxMCBAQCBk b19pbnN0YWxsKCkgewogCSggY2QgYnVpbGQgJiYgbWFrZSBpbnN0YWxsX3Jvb3Q9JHtERVNURElS fSBpbnN0YWxsICkKIAogCSMgVGhlIEMuVVRGLTggbG9jYWxlIHNob3VsZCBhbHdheXMgYmUgYXZh aWxhYmxlCi0JaWYgWyAteiAiJHtDUk9TU19CVUlMRH0iIF07IHRoZW4KKwkjCisJIyBVc2UgdGhl IHJlY2VudGx5IGNvbXBpbGVkIGxvY2FsZWRlZiB3aGVuIGNvbXBpbGluZyB0by9mcm9tIHRoZSBz YW1lCisJIyBhcmNoaXRlY3R1cmUsIGFuZCB0aGUgaG9zdCBsb2NhbGVkZWYgYmluYXJ5IG90aGVy d2lzZS4KKwlpZiBbICIke1hCUFNfTUFDSElORSUtKn0iID0gIiR7WEJQU19UQVJHRVRfTUFDSElO RSUtKn0iIF07IHRoZW4KIAkJbWFrZSAtQyBsb2NhbGVkYXRhIERFU1RESVI9IiR7REVTVERJUn0i IFwKIAkJCW9iamRpcj0iLi4vYnVpbGQiIGluc3RhbGwtZmlsZXMtQy5VVEYtOC9VVEYtOAogCWVs aWYgY29tbWFuZCAtdiBsb2NhbGVkZWYgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCgpGcm9tIDYyODVj ZTYwZTEzMjQ4NzEyYTRiY2IzM2IzZjVlM2QyMjM3NDU2NGYgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206IG9yZW82MzkgPG9yZW82MzkxQGdtYWlsLmNvbT4KRGF0ZTogV2VkLCA2IE1hciAy MDI0IDE4OjA3OjIzIC0wODAwClN1YmplY3Q6IFtQQVRDSCAwMi8xMl0gY3Jvc3MtYWFyY2g2NC1s aW51eC1nbnU6IHJlYnVpbGQgZm9yIGdsaWJjIDIuMzkKCi0tLQogc3JjcGtncy9jcm9zcy1hYXJj aDY0LWxpbnV4LWdudS90ZW1wbGF0ZSB8IDYgKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNl cnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY3Jvc3MtYWFy Y2g2NC1saW51eC1nbnUvdGVtcGxhdGUgYi9zcmNwa2dzL2Nyb3NzLWFhcmNoNjQtbGludXgtZ251 L3RlbXBsYXRlCmluZGV4IGM0ZDdkYmFmNGJhMTljLi43M2FkYmVlN2U4NTMzYiAxMDA2NDQKLS0t IGEvc3JjcGtncy9jcm9zcy1hYXJjaDY0LWxpbnV4LWdudS90ZW1wbGF0ZQorKysgYi9zcmNwa2dz L2Nyb3NzLWFhcmNoNjQtbGludXgtZ251L3RlbXBsYXRlCkBAIC0xLDExICsxLDExIEBACiAjIFRl bXBsYXRlIGZpbGUgZm9yICdjcm9zcy1hYXJjaDY0LWxpbnV4LWdudScKIF9iaW51dGlsc192ZXJz aW9uPTIuNDEKIF9nY2NfdmVyc2lvbj0xMy4yLjAKLV9nbGliY192ZXJzaW9uPTIuMzgKK19nbGli Y192ZXJzaW9uPTIuMzkKIF9saW51eF92ZXJzaW9uPTYuMQogcGtnbmFtZT1jcm9zcy1hYXJjaDY0 LWxpbnV4LWdudQogdmVyc2lvbj0wLjM2Ci1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9z dHlsZT12b2lkLWNyb3NzCiBjb25maWd1cmVfYXJncz0iLS13aXRoLWFyY2g9YXJtdjgtYSIKIGhv c3RtYWtlZGVwZW5kcz0idGV4aW5mbyB0YXIgZ2NjLW9iamMgZ2NjLWdvIGZsZXggcGVybCBweXRo b24zIHBrZy1jb25maWciCkBAIC0yMiw3ICsyMiw3IEBAIGRpc3RmaWxlcys9IiAke0dOVV9TSVRF fS9nbGliYy9nbGliYy0ke19nbGliY192ZXJzaW9ufS50YXIueHoiCiBkaXN0ZmlsZXMrPSIgJHtL RVJORUxfU0lURX0va2VybmVsL3Yke19saW51eF92ZXJzaW9uJSUuKn0ueC9saW51eC0ke19saW51 eF92ZXJzaW9ufS50YXIueHoiCiBjaGVja3N1bT0iYWU5YTU3ODllMjM0NTllNTk2MDZlNjcxNDcy M2YyZDNmZmMzMWMwMzE3NDE5MWVmMGQwMTViZGYwNjAwNzQ1MAogIGUyNzVlNzY0NDJhNjA2NzM0 MWEyN2YwNGM1YzZiODNkODYxMzE0NDAwNGMwNDEzNTI4ODYzZGM2YjVjNzQzZGEKLSBmYjgyOTk4 OTk4YjJiMjk5NjU0NjdiYzFiNjlkMTUyZTljMzA3ZDJjZjMwMWM5ZWFmYjQ1NTViNzcwZWYzZmQy CisgZjc3YmQ0N2NmODE3MGM1NzM2NWFlN2JmODY2OTZjMTE4YWRiM2IxMjBkMzI1OWM2NGM1MDJk M2RjMWUyZDkyNgogIDJjYTFmMTcwNTFhNDMwZjZmZWQxMTk2ZTQ5NTI3MTc1MDcxNzFhY2ZkOTdk OTY1NzcyMTI1MDI3MDNiMjVkZWIiCiBub2Nyb3NzPXllcwogCgpGcm9tIDE3MGM2Yzg5OGQxMjg0 NWE3NTVhNWU4NDI5NjhhMmRlMzBmM2MyMjggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 IG9yZW82MzkgPG9yZW82MzkxQGdtYWlsLmNvbT4KRGF0ZTogV2VkLCA2IE1hciAyMDI0IDE4OjA3 OjIzIC0wODAwClN1YmplY3Q6IFtQQVRDSCAwMy8xMl0gY3Jvc3MtYXJtLWxpbnV4LWdudWVhYmk6 IHJlYnVpbGQgZm9yIGdsaWJjIDIuMzkKCi0tLQogc3JjcGtncy9jcm9zcy1hcm0tbGludXgtZ251 ZWFiaS90ZW1wbGF0ZSB8IDYgKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCsp LCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY3Jvc3MtYXJtLWxpbnV4LWdu dWVhYmkvdGVtcGxhdGUgYi9zcmNwa2dzL2Nyb3NzLWFybS1saW51eC1nbnVlYWJpL3RlbXBsYXRl CmluZGV4IGVmZGUxMDE3Y2I4NjRiLi5lM2NjNGEyOGEzZGM1ZSAxMDA2NDQKLS0tIGEvc3JjcGtn cy9jcm9zcy1hcm0tbGludXgtZ251ZWFiaS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2Nyb3NzLWFy bS1saW51eC1nbnVlYWJpL3RlbXBsYXRlCkBAIC0xLDExICsxLDExIEBACiAjIFRlbXBsYXRlIGZp bGUgZm9yICdjcm9zcy1hcm0tbGludXgtZ251ZWFiaScKIF9iaW51dGlsc192ZXJzaW9uPTIuNDEK IF9nY2NfdmVyc2lvbj0xMy4yLjAKLV9nbGliY192ZXJzaW9uPTIuMzgKK19nbGliY192ZXJzaW9u PTIuMzkKIF9saW51eF92ZXJzaW9uPTYuMQogcGtnbmFtZT1jcm9zcy1hcm0tbGludXgtZ251ZWFi aQogdmVyc2lvbj0wLjM2Ci1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT12b2lk LWNyb3NzCiBjb25maWd1cmVfYXJncz0iLS13aXRoLWFyY2g9YXJtdjV0ZSAtLXdpdGgtZmxvYXQ9 c29mdAogIC0tZW5hYmxlLWF1dG9saW5rLWxpYmF0b21pYyIKQEAgLTIzLDcgKzIzLDcgQEAgZGlz dGZpbGVzKz0iICR7R05VX1NJVEV9L2dsaWJjL2dsaWJjLSR7X2dsaWJjX3ZlcnNpb259LnRhci54 eiIKIGRpc3RmaWxlcys9IiAke0tFUk5FTF9TSVRFfS9rZXJuZWwvdiR7X2xpbnV4X3ZlcnNpb24l JS4qfS54L2xpbnV4LSR7X2xpbnV4X3ZlcnNpb259LnRhci54eiIKIGNoZWNrc3VtPSJhZTlhNTc4 OWUyMzQ1OWU1OTYwNmU2NzE0NzIzZjJkM2ZmYzMxYzAzMTc0MTkxZWYwZDAxNWJkZjA2MDA3NDUw CiAgZTI3NWU3NjQ0MmE2MDY3MzQxYTI3ZjA0YzVjNmI4M2Q4NjEzMTQ0MDA0YzA0MTM1Mjg4NjNk YzZiNWM3NDNkYQotIGZiODI5OTg5OThiMmIyOTk2NTQ2N2JjMWI2OWQxNTJlOWMzMDdkMmNmMzAx YzllYWZiNDU1NWI3NzBlZjNmZDIKKyBmNzdiZDQ3Y2Y4MTcwYzU3MzY1YWU3YmY4NjY5NmMxMThh ZGIzYjEyMGQzMjU5YzY0YzUwMmQzZGMxZTJkOTI2CiAgMmNhMWYxNzA1MWE0MzBmNmZlZDExOTZl NDk1MjcxNzUwNzE3MWFjZmQ5N2Q5NjU3NzIxMjUwMjcwM2IyNWRlYiIKIG5vY3Jvc3M9eWVzCiAK CkZyb20gZDhhOWE5NDNhMTJjNDY4MDA5YmJiMWVkMmFmYWRiZDQyOWU5YjJiMyBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogb3JlbzYzOSA8b3JlbzYzOTFAZ21haWwuY29tPgpEYXRlOiBX ZWQsIDYgTWFyIDIwMjQgMTg6MDc6MjMgLTA4MDAKU3ViamVjdDogW1BBVENIIDA0LzEyXSBjcm9z cy1hcm0tbGludXgtZ251ZWFiaWhmOiByZWJ1aWxkIGZvciBnbGliYyAyLjM5CgotLS0KIHNyY3Br Z3MvY3Jvc3MtYXJtLWxpbnV4LWdudWVhYmloZi90ZW1wbGF0ZSB8IDYgKysrLS0tCiAxIGZpbGUg Y2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvY3Jvc3MtYXJtLWxpbnV4LWdudWVhYmloZi90ZW1wbGF0ZSBiL3NyY3BrZ3MvY3Jvc3Mt YXJtLWxpbnV4LWdudWVhYmloZi90ZW1wbGF0ZQppbmRleCBkZDU2MmNlYjQ0OTg2MS4uMDlkZTY0 MjIwOGEyYzggMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvY3Jvc3MtYXJtLWxpbnV4LWdudWVhYmloZi90 ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2Nyb3NzLWFybS1saW51eC1nbnVlYWJpaGYvdGVtcGxhdGUK QEAgLTEsMTEgKzEsMTEgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2Nyb3NzLWFybS1saW51eC1n bnVlYWJpaGYnCiBfYmludXRpbHNfdmVyc2lvbj0yLjQxCiBfZ2NjX3ZlcnNpb249MTMuMi4wCi1f Z2xpYmNfdmVyc2lvbj0yLjM4CitfZ2xpYmNfdmVyc2lvbj0yLjM5CiBfbGludXhfdmVyc2lvbj02 LjEKIHBrZ25hbWU9Y3Jvc3MtYXJtLWxpbnV4LWdudWVhYmloZgogdmVyc2lvbj0wLjM2Ci1yZXZp c2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT12b2lkLWNyb3NzCiBjb25maWd1cmVfYXJn cz0iLS13aXRoLWFyY2g9YXJtdjYgLS13aXRoLWZwdT12ZnAgLS13aXRoLWZsb2F0PWhhcmQKICAt LWVuYWJsZS1hdXRvbGluay1saWJhdG9taWMiCkBAIC0yMyw3ICsyMyw3IEBAIGRpc3RmaWxlcys9 IiAke0dOVV9TSVRFfS9nbGliYy9nbGliYy0ke19nbGliY192ZXJzaW9ufS50YXIueHoiCiBkaXN0 ZmlsZXMrPSIgJHtLRVJORUxfU0lURX0va2VybmVsL3Yke19saW51eF92ZXJzaW9uJSUuKn0ueC9s aW51eC0ke19saW51eF92ZXJzaW9ufS50YXIueHoiCiBjaGVja3N1bT0iYWU5YTU3ODllMjM0NTll NTk2MDZlNjcxNDcyM2YyZDNmZmMzMWMwMzE3NDE5MWVmMGQwMTViZGYwNjAwNzQ1MAogIGUyNzVl NzY0NDJhNjA2NzM0MWEyN2YwNGM1YzZiODNkODYxMzE0NDAwNGMwNDEzNTI4ODYzZGM2YjVjNzQz ZGEKLSBmYjgyOTk4OTk4YjJiMjk5NjU0NjdiYzFiNjlkMTUyZTljMzA3ZDJjZjMwMWM5ZWFmYjQ1 NTViNzcwZWYzZmQyCisgZjc3YmQ0N2NmODE3MGM1NzM2NWFlN2JmODY2OTZjMTE4YWRiM2IxMjBk MzI1OWM2NGM1MDJkM2RjMWUyZDkyNgogIDJjYTFmMTcwNTFhNDMwZjZmZWQxMTk2ZTQ5NTI3MTc1 MDcxNzFhY2ZkOTdkOTY1NzcyMTI1MDI3MDNiMjVkZWIiCiBub2Nyb3NzPXllcwogCgpGcm9tIDE4 ZjU0NGI5Nzk0ZTVhNTBiYmNlNGNjNjdjODIyZTY3YTRkZWNlOTcgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IG9yZW82MzkgPG9yZW82MzkxQGdtYWlsLmNvbT4KRGF0ZTogV2VkLCA2IE1h ciAyMDI0IDE4OjA3OjIzIC0wODAwClN1YmplY3Q6IFtQQVRDSCAwNS8xMl0gY3Jvc3MtYXJtdjds LWxpbnV4LWdudWVhYmloZjogcmVidWlsZCBmb3IgZ2xpYmMgMi4zOQoKLS0tCiBzcmNwa2dzL2Ny b3NzLWFybXY3bC1saW51eC1nbnVlYWJpaGYvdGVtcGxhdGUgfCA2ICsrKy0tLQogMSBmaWxlIGNo YW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNw a2dzL2Nyb3NzLWFybXY3bC1saW51eC1nbnVlYWJpaGYvdGVtcGxhdGUgYi9zcmNwa2dzL2Nyb3Nz LWFybXY3bC1saW51eC1nbnVlYWJpaGYvdGVtcGxhdGUKaW5kZXggNjBjNjc4ZjNmNWFhNzUuLmNl YWU2OTcxZWU0ODRjIDEwMDY0NAotLS0gYS9zcmNwa2dzL2Nyb3NzLWFybXY3bC1saW51eC1nbnVl YWJpaGYvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9jcm9zcy1hcm12N2wtbGludXgtZ251ZWFiaWhm L3RlbXBsYXRlCkBAIC0xLDExICsxLDExIEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdjcm9zcy1h cm12N2wtbGludXgtZ251ZWFiaWhmJwogX2JpbnV0aWxzX3ZlcnNpb249Mi40MQogX2djY192ZXJz aW9uPTEzLjIuMAotX2dsaWJjX3ZlcnNpb249Mi4zOAorX2dsaWJjX3ZlcnNpb249Mi4zOQogX2xp bnV4X3ZlcnNpb249Ni4xCiBwa2duYW1lPWNyb3NzLWFybXY3bC1saW51eC1nbnVlYWJpaGYKIHZl cnNpb249MC4zNgotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9dm9pZC1jcm9z cwogY29uZmlndXJlX2FyZ3M9Ii0td2l0aC1hcmNoPWFybXY3LWEgLS13aXRoLWZwdT12ZnB2MyAt LXdpdGgtZmxvYXQ9aGFyZCIKIGhvc3RtYWtlZGVwZW5kcz0idGV4aW5mbyB0YXIgZ2NjLW9iamMg Z2NjLWdvIGZsZXggcGVybCBweXRob24zIHBrZy1jb25maWciCkBAIC0yMiw3ICsyMiw3IEBAIGRp c3RmaWxlcys9IiAke0dOVV9TSVRFfS9nbGliYy9nbGliYy0ke19nbGliY192ZXJzaW9ufS50YXIu eHoiCiBkaXN0ZmlsZXMrPSIgJHtLRVJORUxfU0lURX0va2VybmVsL3Yke19saW51eF92ZXJzaW9u JSUuKn0ueC9saW51eC0ke19saW51eF92ZXJzaW9ufS50YXIueHoiCiBjaGVja3N1bT0iYWU5YTU3 ODllMjM0NTllNTk2MDZlNjcxNDcyM2YyZDNmZmMzMWMwMzE3NDE5MWVmMGQwMTViZGYwNjAwNzQ1 MAogIGUyNzVlNzY0NDJhNjA2NzM0MWEyN2YwNGM1YzZiODNkODYxMzE0NDAwNGMwNDEzNTI4ODYz ZGM2YjVjNzQzZGEKLSBmYjgyOTk4OTk4YjJiMjk5NjU0NjdiYzFiNjlkMTUyZTljMzA3ZDJjZjMw MWM5ZWFmYjQ1NTViNzcwZWYzZmQyCisgZjc3YmQ0N2NmODE3MGM1NzM2NWFlN2JmODY2OTZjMTE4 YWRiM2IxMjBkMzI1OWM2NGM1MDJkM2RjMWUyZDkyNgogIDJjYTFmMTcwNTFhNDMwZjZmZWQxMTk2 ZTQ5NTI3MTc1MDcxNzFhY2ZkOTdkOTY1NzcyMTI1MDI3MDNiMjVkZWIiCiBub2Nyb3NzPXllcwog CgpGcm9tIDliNjMzYjg3ZTE1NGI0MTY2NzcwMGYxMzBjNzlhZjQxYjliY2QxM2MgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IG9yZW82MzkgPG9yZW82MzkxQGdtYWlsLmNvbT4KRGF0ZTog V2VkLCA2IE1hciAyMDI0IDE4OjA3OjIzIC0wODAwClN1YmplY3Q6IFtQQVRDSCAwNi8xMl0gY3Jv c3MtaTY4Ni1wYy1saW51eC1nbnU6IHJlYnVpbGQgZm9yIGdsaWJjIDIuMzkKCi0tLQogc3JjcGtn cy9jcm9zcy1pNjg2LXBjLWxpbnV4LWdudS90ZW1wbGF0ZSB8IDYgKysrLS0tCiAxIGZpbGUgY2hh bmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvY3Jvc3MtaTY4Ni1wYy1saW51eC1nbnUvdGVtcGxhdGUgYi9zcmNwa2dzL2Nyb3NzLWk2ODYt cGMtbGludXgtZ251L3RlbXBsYXRlCmluZGV4IDdhODJjMzI4ZDRhOTM1Li4zMDMyMWRhZDY3MWYw ZiAxMDA2NDQKLS0tIGEvc3JjcGtncy9jcm9zcy1pNjg2LXBjLWxpbnV4LWdudS90ZW1wbGF0ZQor KysgYi9zcmNwa2dzL2Nyb3NzLWk2ODYtcGMtbGludXgtZ251L3RlbXBsYXRlCkBAIC0xLDExICsx LDExIEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdjcm9zcy1pNjg2LXBjLWxpbnV4LWdudScKIF9i aW51dGlsc192ZXJzaW9uPTIuNDEKIF9nY2NfdmVyc2lvbj0xMy4yLjAKLV9nbGliY192ZXJzaW9u PTIuMzgKK19nbGliY192ZXJzaW9uPTIuMzkKIF9saW51eF92ZXJzaW9uPTYuMQogcGtnbmFtZT1j cm9zcy1pNjg2LXBjLWxpbnV4LWdudQogdmVyc2lvbj0wLjM2Ci1yZXZpc2lvbj0xCityZXZpc2lv bj0yCiBidWlsZF9zdHlsZT12b2lkLWNyb3NzCiBob3N0bWFrZWRlcGVuZHM9InRleGluZm8gdGFy IGdjYy1vYmpjIGdjYy1nbyBmbGV4IHBlcmwgcHl0aG9uMyBwa2ctY29uZmlnIgogbWFrZWRlcGVu ZHM9ImlzbC1kZXZlbCBsaWJtcGMtZGV2ZWwgZ21wLWRldmVsIG1wZnItZGV2ZWwKQEAgLTIxLDcg KzIxLDcgQEAgZGlzdGZpbGVzKz0iICR7R05VX1NJVEV9L2dsaWJjL2dsaWJjLSR7X2dsaWJjX3Zl cnNpb259LnRhci54eiIKIGRpc3RmaWxlcys9IiAke0tFUk5FTF9TSVRFfS9rZXJuZWwvdiR7X2xp bnV4X3ZlcnNpb24lJS4qfS54L2xpbnV4LSR7X2xpbnV4X3ZlcnNpb259LnRhci54eiIKIGNoZWNr c3VtPSJhZTlhNTc4OWUyMzQ1OWU1OTYwNmU2NzE0NzIzZjJkM2ZmYzMxYzAzMTc0MTkxZWYwZDAx NWJkZjA2MDA3NDUwCiAgZTI3NWU3NjQ0MmE2MDY3MzQxYTI3ZjA0YzVjNmI4M2Q4NjEzMTQ0MDA0 YzA0MTM1Mjg4NjNkYzZiNWM3NDNkYQotIGZiODI5OTg5OThiMmIyOTk2NTQ2N2JjMWI2OWQxNTJl OWMzMDdkMmNmMzAxYzllYWZiNDU1NWI3NzBlZjNmZDIKKyBmNzdiZDQ3Y2Y4MTcwYzU3MzY1YWU3 YmY4NjY5NmMxMThhZGIzYjEyMGQzMjU5YzY0YzUwMmQzZGMxZTJkOTI2CiAgMmNhMWYxNzA1MWE0 MzBmNmZlZDExOTZlNDk1MjcxNzUwNzE3MWFjZmQ5N2Q5NjU3NzIxMjUwMjcwM2IyNWRlYiIKIG5v Y3Jvc3M9eWVzCiAKCkZyb20gODg4MjIxMWIyMjY4MDE4NDdmNjEyNDk3ODc1YzcyZWVjNzVjZTFi MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogb3JlbzYzOSA8b3JlbzYzOTFAZ21haWwu Y29tPgpEYXRlOiBXZWQsIDYgTWFyIDIwMjQgMTg6MDc6MjQgLTA4MDAKU3ViamVjdDogW1BBVENI IDA3LzEyXSBjcm9zcy1wb3dlcnBjLWxpbnV4LWdudTogcmVidWlsZCBmb3IgZ2xpYmMgMi4zOQoK LS0tCiBzcmNwa2dzL2Nyb3NzLXBvd2VycGMtbGludXgtZ251L3RlbXBsYXRlIHwgNiArKystLS0K IDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvc3JjcGtncy9jcm9zcy1wb3dlcnBjLWxpbnV4LWdudS90ZW1wbGF0ZSBiL3NyY3BrZ3Mv Y3Jvc3MtcG93ZXJwYy1saW51eC1nbnUvdGVtcGxhdGUKaW5kZXggM2ExNGE2MmJjZWMyOTUuLmVj MTc1MzQxNGNkNWFkIDEwMDY0NAotLS0gYS9zcmNwa2dzL2Nyb3NzLXBvd2VycGMtbGludXgtZ251 L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvY3Jvc3MtcG93ZXJwYy1saW51eC1nbnUvdGVtcGxhdGUK QEAgLTEsMTEgKzEsMTEgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2Nyb3NzLXBvd2VycGMtbGlu dXgtZ251JwogX2JpbnV0aWxzX3ZlcnNpb249Mi40MQogX2djY192ZXJzaW9uPTEzLjIuMAotX2ds aWJjX3ZlcnNpb249Mi4zOAorX2dsaWJjX3ZlcnNpb249Mi4zOQogX2xpbnV4X3ZlcnNpb249Ni4x CiBwa2duYW1lPWNyb3NzLXBvd2VycGMtbGludXgtZ251CiB2ZXJzaW9uPTAuMzYKLXJldmlzaW9u PTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPXZvaWQtY3Jvc3MKIGNvbmZpZ3VyZV9hcmdzPSIt LWVuYWJsZS1zZWN1cmVwbHQgLS1kaXNhYmxlLXZ0YWJsZS12ZXJpZnkKICAtLWVuYWJsZS1hdXRv bGluay1saWJhdG9taWMiCkBAIC0yMyw3ICsyMyw3IEBAIGRpc3RmaWxlcys9IiAke0dOVV9TSVRF fS9nbGliYy9nbGliYy0ke19nbGliY192ZXJzaW9ufS50YXIueHoiCiBkaXN0ZmlsZXMrPSIgJHtL RVJORUxfU0lURX0va2VybmVsL3Yke19saW51eF92ZXJzaW9uJSUuKn0ueC9saW51eC0ke19saW51 eF92ZXJzaW9ufS50YXIueHoiCiBjaGVja3N1bT0iYWU5YTU3ODllMjM0NTllNTk2MDZlNjcxNDcy M2YyZDNmZmMzMWMwMzE3NDE5MWVmMGQwMTViZGYwNjAwNzQ1MAogIGUyNzVlNzY0NDJhNjA2NzM0 MWEyN2YwNGM1YzZiODNkODYxMzE0NDAwNGMwNDEzNTI4ODYzZGM2YjVjNzQzZGEKLSBmYjgyOTk4 OTk4YjJiMjk5NjU0NjdiYzFiNjlkMTUyZTljMzA3ZDJjZjMwMWM5ZWFmYjQ1NTViNzcwZWYzZmQy CisgZjc3YmQ0N2NmODE3MGM1NzM2NWFlN2JmODY2OTZjMTE4YWRiM2IxMjBkMzI1OWM2NGM1MDJk M2RjMWUyZDkyNgogIDJjYTFmMTcwNTFhNDMwZjZmZWQxMTk2ZTQ5NTI3MTc1MDcxNzFhY2ZkOTdk OTY1NzcyMTI1MDI3MDNiMjVkZWIiCiBub2Nyb3NzPXllcwogCgpGcm9tIGNhMWI4ZjgxMTY3YzJk MDg3MzNmYjBjOGMxN2U2NzUzZjk1OTlkMDggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 IG9yZW82MzkgPG9yZW82MzkxQGdtYWlsLmNvbT4KRGF0ZTogV2VkLCA2IE1hciAyMDI0IDE4OjA3 OjI0IC0wODAwClN1YmplY3Q6IFtQQVRDSCAwOC8xMl0gY3Jvc3MtcG93ZXJwYzY0LWxpbnV4LWdu dTogcmVidWlsZCBmb3IgZ2xpYmMgMi4zOQoKLS0tCiBzcmNwa2dzL2Nyb3NzLXBvd2VycGM2NC1s aW51eC1nbnUvdGVtcGxhdGUgfCA2ICsrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9u cygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nyb3NzLXBvd2VycGM2 NC1saW51eC1nbnUvdGVtcGxhdGUgYi9zcmNwa2dzL2Nyb3NzLXBvd2VycGM2NC1saW51eC1nbnUv dGVtcGxhdGUKaW5kZXggZjY2NGYxZGJjNzY0YTIuLjVhYjRhY2VjNDVmZGI2IDEwMDY0NAotLS0g YS9zcmNwa2dzL2Nyb3NzLXBvd2VycGM2NC1saW51eC1nbnUvdGVtcGxhdGUKKysrIGIvc3JjcGtn cy9jcm9zcy1wb3dlcnBjNjQtbGludXgtZ251L3RlbXBsYXRlCkBAIC0xLDExICsxLDExIEBACiAj IFRlbXBsYXRlIGZpbGUgZm9yICdjcm9zcy1wb3dlcnBjNjQtbGludXgtZ251JwogX2JpbnV0aWxz X3ZlcnNpb249Mi40MQogX2djY192ZXJzaW9uPTEzLjIuMAotX2dsaWJjX3ZlcnNpb249Mi4zOAor X2dsaWJjX3ZlcnNpb249Mi4zOQogX2xpbnV4X3ZlcnNpb249Ni4xCiBwa2duYW1lPWNyb3NzLXBv d2VycGM2NC1saW51eC1nbnUKIHZlcnNpb249MC4zNgotcmV2aXNpb249MQorcmV2aXNpb249Mgog YnVpbGRfc3R5bGU9dm9pZC1jcm9zcwogY29uZmlndXJlX2FyZ3M9Ii0tZW5hYmxlLXNlY3VyZXBs dCAtLWRpc2FibGUtdnRhYmxlLXZlcmlmeSAtLXdpdGgtYWJpPWVsZnYyCiAgLS1lbmFibGUtdGFy Z2V0cz1wb3dlcnBjLWxpbnV4IC0tZW5hYmxlLWF1dG9saW5rLWxpYmF0b21pYyIKQEAgLTIzLDcg KzIzLDcgQEAgZGlzdGZpbGVzKz0iICR7R05VX1NJVEV9L2dsaWJjL2dsaWJjLSR7X2dsaWJjX3Zl cnNpb259LnRhci54eiIKIGRpc3RmaWxlcys9IiAke0tFUk5FTF9TSVRFfS9rZXJuZWwvdiR7X2xp bnV4X3ZlcnNpb24lJS4qfS54L2xpbnV4LSR7X2xpbnV4X3ZlcnNpb259LnRhci54eiIKIGNoZWNr c3VtPSJhZTlhNTc4OWUyMzQ1OWU1OTYwNmU2NzE0NzIzZjJkM2ZmYzMxYzAzMTc0MTkxZWYwZDAx NWJkZjA2MDA3NDUwCiAgZTI3NWU3NjQ0MmE2MDY3MzQxYTI3ZjA0YzVjNmI4M2Q4NjEzMTQ0MDA0 YzA0MTM1Mjg4NjNkYzZiNWM3NDNkYQotIGZiODI5OTg5OThiMmIyOTk2NTQ2N2JjMWI2OWQxNTJl OWMzMDdkMmNmMzAxYzllYWZiNDU1NWI3NzBlZjNmZDIKKyBmNzdiZDQ3Y2Y4MTcwYzU3MzY1YWU3 YmY4NjY5NmMxMThhZGIzYjEyMGQzMjU5YzY0YzUwMmQzZGMxZTJkOTI2CiAgMmNhMWYxNzA1MWE0 MzBmNmZlZDExOTZlNDk1MjcxNzUwNzE3MWFjZmQ5N2Q5NjU3NzIxMjUwMjcwM2IyNWRlYiIKIG5v Y3Jvc3M9eWVzCiAKCkZyb20gOTRlNTYyODA5OGQxN2I2MTQ2ZjlmOThiN2RkODExOTJhMDRjNzBm ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogb3JlbzYzOSA8b3JlbzYzOTFAZ21haWwu Y29tPgpEYXRlOiBXZWQsIDYgTWFyIDIwMjQgMTg6MDc6MjQgLTA4MDAKU3ViamVjdDogW1BBVENI IDA5LzEyXSBjcm9zcy1wb3dlcnBjNjRsZS1saW51eC1nbnU6IHJlYnVpbGQgZm9yIGdsaWJjIDIu MzkKCi0tLQogc3JjcGtncy9jcm9zcy1wb3dlcnBjNjRsZS1saW51eC1nbnUvdGVtcGxhdGUgfCA2 ICsrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nyb3NzLXBvd2VycGM2NGxlLWxpbnV4LWdudS90ZW1wbGF0 ZSBiL3NyY3BrZ3MvY3Jvc3MtcG93ZXJwYzY0bGUtbGludXgtZ251L3RlbXBsYXRlCmluZGV4IGUw Y2E2ZTljZTJkMDFiLi4xZmU5ZWJmNmQ0N2ZiNiAxMDA2NDQKLS0tIGEvc3JjcGtncy9jcm9zcy1w b3dlcnBjNjRsZS1saW51eC1nbnUvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9jcm9zcy1wb3dlcnBj NjRsZS1saW51eC1nbnUvdGVtcGxhdGUKQEAgLTEsMTEgKzEsMTEgQEAKICMgVGVtcGxhdGUgZmls ZSBmb3IgJ2Nyb3NzLXBvd2VycGM2NGxlLWxpbnV4LWdudScKIF9iaW51dGlsc192ZXJzaW9uPTIu NDEKIF9nY2NfdmVyc2lvbj0xMy4yLjAKLV9nbGliY192ZXJzaW9uPTIuMzgKK19nbGliY192ZXJz aW9uPTIuMzkKIF9saW51eF92ZXJzaW9uPTYuMQogcGtnbmFtZT1jcm9zcy1wb3dlcnBjNjRsZS1s aW51eC1nbnUKIHZlcnNpb249MC4zNgotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5 bGU9dm9pZC1jcm9zcwogY29uZmlndXJlX2FyZ3M9Ii0tZW5hYmxlLXNlY3VyZXBsdCAtLWRpc2Fi bGUtdnRhYmxlLXZlcmlmeSAtLXdpdGgtYWJpPWVsZnYyCiAgLS1lbmFibGUtdGFyZ2V0cz1wb3dl cnBjbGUtbGludXggLS1lbmFibGUtYXV0b2xpbmstbGliYXRvbWljIgpAQCAtMjMsNyArMjMsNyBA QCBkaXN0ZmlsZXMrPSIgJHtHTlVfU0lURX0vZ2xpYmMvZ2xpYmMtJHtfZ2xpYmNfdmVyc2lvbn0u dGFyLnh6IgogZGlzdGZpbGVzKz0iICR7S0VSTkVMX1NJVEV9L2tlcm5lbC92JHtfbGludXhfdmVy c2lvbiUlLip9LngvbGludXgtJHtfbGludXhfdmVyc2lvbn0udGFyLnh6IgogY2hlY2tzdW09ImFl OWE1Nzg5ZTIzNDU5ZTU5NjA2ZTY3MTQ3MjNmMmQzZmZjMzFjMDMxNzQxOTFlZjBkMDE1YmRmMDYw MDc0NTAKICBlMjc1ZTc2NDQyYTYwNjczNDFhMjdmMDRjNWM2YjgzZDg2MTMxNDQwMDRjMDQxMzUy ODg2M2RjNmI1Yzc0M2RhCi0gZmI4Mjk5ODk5OGIyYjI5OTY1NDY3YmMxYjY5ZDE1MmU5YzMwN2Qy Y2YzMDFjOWVhZmI0NTU1Yjc3MGVmM2ZkMgorIGY3N2JkNDdjZjgxNzBjNTczNjVhZTdiZjg2Njk2 YzExOGFkYjNiMTIwZDMyNTljNjRjNTAyZDNkYzFlMmQ5MjYKICAyY2ExZjE3MDUxYTQzMGY2ZmVk MTE5NmU0OTUyNzE3NTA3MTcxYWNmZDk3ZDk2NTc3MjEyNTAyNzAzYjI1ZGViIgogbm9jcm9zcz15 ZXMKIAoKRnJvbSA0ZTc4ZjcxYWMyZTVlNDI4YmNiNGNjNTYzMGM1MjhlZjZhYmRkNmU5IE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBvcmVvNjM5IDxvcmVvNjM5MUBnbWFpbC5jb20+CkRh dGU6IFdlZCwgNiBNYXIgMjAyNCAxODowNzoyNCAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggMTAvMTJd IGNyb3NzLXBvd2VycGNsZS1saW51eC1nbnU6IHJlYnVpbGQgZm9yIGdsaWJjIDIuMzkKCi0tLQog c3JjcGtncy9jcm9zcy1wb3dlcnBjbGUtbGludXgtZ251L3RlbXBsYXRlIHwgNiArKystLS0KIDEg ZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9jcm9zcy1wb3dlcnBjbGUtbGludXgtZ251L3RlbXBsYXRlIGIvc3JjcGtncy9j cm9zcy1wb3dlcnBjbGUtbGludXgtZ251L3RlbXBsYXRlCmluZGV4IGYxODM3MGEzMDQ4NzViLi4z YTBjZDBkNmJiNGI0ZCAxMDA2NDQKLS0tIGEvc3JjcGtncy9jcm9zcy1wb3dlcnBjbGUtbGludXgt Z251L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvY3Jvc3MtcG93ZXJwY2xlLWxpbnV4LWdudS90ZW1w bGF0ZQpAQCAtMSwxMSArMSwxMSBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnY3Jvc3MtcG93ZXJw Y2xlLWxpbnV4LWdudScKIF9iaW51dGlsc192ZXJzaW9uPTIuNDEKIF9nY2NfdmVyc2lvbj0xMy4y LjAKLV9nbGliY192ZXJzaW9uPTIuMzgKK19nbGliY192ZXJzaW9uPTIuMzkKIF9saW51eF92ZXJz aW9uPTYuMQogcGtnbmFtZT1jcm9zcy1wb3dlcnBjbGUtbGludXgtZ251CiB2ZXJzaW9uPTAuMzYK LXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPXZvaWQtY3Jvc3MKIGNvbmZpZ3Vy ZV9hcmdzPSItLWVuYWJsZS1zZWN1cmVwbHQgLS1kaXNhYmxlLXZ0YWJsZS12ZXJpZnkKICAtLWVu YWJsZS1hdXRvbGluay1saWJhdG9taWMiCkBAIC0yNCw3ICsyNCw3IEBAIGRpc3RmaWxlcz0iCiAg JHtLRVJORUxfU0lURX0va2VybmVsL3Yke19saW51eF92ZXJzaW9uJSUuKn0ueC9saW51eC0ke19s aW51eF92ZXJzaW9ufS50YXIueHoiCiBjaGVja3N1bT0iYWU5YTU3ODllMjM0NTllNTk2MDZlNjcx NDcyM2YyZDNmZmMzMWMwMzE3NDE5MWVmMGQwMTViZGYwNjAwNzQ1MAogIGUyNzVlNzY0NDJhNjA2 NzM0MWEyN2YwNGM1YzZiODNkODYxMzE0NDAwNGMwNDEzNTI4ODYzZGM2YjVjNzQzZGEKLSBmYjgy OTk4OTk4YjJiMjk5NjU0NjdiYzFiNjlkMTUyZTljMzA3ZDJjZjMwMWM5ZWFmYjQ1NTViNzcwZWYz ZmQyCisgZjc3YmQ0N2NmODE3MGM1NzM2NWFlN2JmODY2OTZjMTE4YWRiM2IxMjBkMzI1OWM2NGM1 MDJkM2RjMWUyZDkyNgogIDJjYTFmMTcwNTFhNDMwZjZmZWQxMTk2ZTQ5NTI3MTc1MDcxNzFhY2Zk OTdkOTY1NzcyMTI1MDI3MDNiMjVkZWIiCiBub2Nyb3NzPXllcwogCgpGcm9tIDk3MWU4NjNiYzI5 MjgyNzBkYmJjNDM5YTk0ODBmODEzMDYyZTNkYzkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206IG9yZW82MzkgPG9yZW82MzkxQGdtYWlsLmNvbT4KRGF0ZTogV2VkLCA2IE1hciAyMDI0IDE4 OjA3OjI0IC0wODAwClN1YmplY3Q6IFtQQVRDSCAxMS8xMl0gY3Jvc3MtcmlzY3Y2NC1saW51eC1n bnU6IHJlYnVpbGQgZm9yIGdsaWJjIDIuMzkKCi0tLQogc3JjcGtncy9jcm9zcy1yaXNjdjY0LWxp bnV4LWdudS90ZW1wbGF0ZSB8IDYgKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25z KCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY3Jvc3MtcmlzY3Y2NC1s aW51eC1nbnUvdGVtcGxhdGUgYi9zcmNwa2dzL2Nyb3NzLXJpc2N2NjQtbGludXgtZ251L3RlbXBs YXRlCmluZGV4IDY5MGI1ZDYxODQyMzk1Li41ZDU2Y2U4NTNkOTYwNiAxMDA2NDQKLS0tIGEvc3Jj cGtncy9jcm9zcy1yaXNjdjY0LWxpbnV4LWdudS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2Nyb3Nz LXJpc2N2NjQtbGludXgtZ251L3RlbXBsYXRlCkBAIC0xLDExICsxLDExIEBACiAjIFRlbXBsYXRl IGZpbGUgZm9yICdjcm9zcy1yaXNjdjY0LWxpbnV4LWdudScKIF9iaW51dGlsc192ZXJzaW9uPTIu NDEKIF9nY2NfdmVyc2lvbj0xMy4yLjAKLV9nbGliY192ZXJzaW9uPTIuMzgKK19nbGliY192ZXJz aW9uPTIuMzkKIF9saW51eF92ZXJzaW9uPTYuMQogcGtnbmFtZT1jcm9zcy1yaXNjdjY0LWxpbnV4 LWdudQogdmVyc2lvbj0wLjM2Ci1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT12 b2lkLWNyb3NzCiBjb25maWd1cmVfYXJncz0iLS13aXRoLWFyY2g9cnY2NGdjIC0td2l0aC1hYmk9 bHA2NGQgLS1lbmFibGUtYXV0b2xpbmstbGliYXRvbWljIC0tZGlzYWJsZS1tdWx0aWxpYiIKIGhv c3RtYWtlZGVwZW5kcz0idGV4aW5mbyB0YXIgZ2NjLW9iamMgZ2NjLWdvIGZsZXggcGVybCBweXRo b24zIHBrZy1jb25maWciCkBAIC0yMiw3ICsyMiw3IEBAIGRpc3RmaWxlcys9IiAke0dOVV9TSVRF fS9nbGliYy9nbGliYy0ke19nbGliY192ZXJzaW9ufS50YXIueHoiCiBkaXN0ZmlsZXMrPSIgJHtL RVJORUxfU0lURX0va2VybmVsL3Yke19saW51eF92ZXJzaW9uJSUuKn0ueC9saW51eC0ke19saW51 eF92ZXJzaW9ufS50YXIueHoiCiBjaGVja3N1bT0iYWU5YTU3ODllMjM0NTllNTk2MDZlNjcxNDcy M2YyZDNmZmMzMWMwMzE3NDE5MWVmMGQwMTViZGYwNjAwNzQ1MAogIGUyNzVlNzY0NDJhNjA2NzM0 MWEyN2YwNGM1YzZiODNkODYxMzE0NDAwNGMwNDEzNTI4ODYzZGM2YjVjNzQzZGEKLSBmYjgyOTk4 OTk4YjJiMjk5NjU0NjdiYzFiNjlkMTUyZTljMzA3ZDJjZjMwMWM5ZWFmYjQ1NTViNzcwZWYzZmQy CisgZjc3YmQ0N2NmODE3MGM1NzM2NWFlN2JmODY2OTZjMTE4YWRiM2IxMjBkMzI1OWM2NGM1MDJk M2RjMWUyZDkyNgogIDJjYTFmMTcwNTFhNDMwZjZmZWQxMTk2ZTQ5NTI3MTc1MDcxNzFhY2ZkOTdk OTY1NzcyMTI1MDI3MDNiMjVkZWIiCiBub2Nyb3NzPXllcwogCgpGcm9tIDZiYTJhOTFmYzBlOWMx NzQzZmJhNThlOTViNTZlMTE5OWI4YThlZGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 IG9yZW82MzkgPG9yZW82MzkxQGdtYWlsLmNvbT4KRGF0ZTogV2VkLCA2IE1hciAyMDI0IDE4OjA3 OjI0IC0wODAwClN1YmplY3Q6IFtQQVRDSCAxMi8xMl0gY3Jvc3MteDg2XzY0LWxpbnV4LWdudTog cmVidWlsZCBmb3IgZ2xpYmMgMi4zOQoKLS0tCiBzcmNwa2dzL2Nyb3NzLXg4Nl82NC1saW51eC1n bnUvdGVtcGxhdGUgfCA2ICsrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwg MyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nyb3NzLXg4Nl82NC1saW51eC1n bnUvdGVtcGxhdGUgYi9zcmNwa2dzL2Nyb3NzLXg4Nl82NC1saW51eC1nbnUvdGVtcGxhdGUKaW5k ZXggNGZiMzVjYjZmNzM2Y2EuLjhjY2E4MzI4OTZjNGQ0IDEwMDY0NAotLS0gYS9zcmNwa2dzL2Ny b3NzLXg4Nl82NC1saW51eC1nbnUvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9jcm9zcy14ODZfNjQt bGludXgtZ251L3RlbXBsYXRlCkBAIC0xLDExICsxLDExIEBACiAjIFRlbXBsYXRlIGZpbGUgZm9y ICdjcm9zcy14ODZfNjQtbGludXgtZ251JwogX2JpbnV0aWxzX3ZlcnNpb249Mi40MQogX2djY192 ZXJzaW9uPTEzLjIuMAotX2dsaWJjX3ZlcnNpb249Mi4zOAorX2dsaWJjX3ZlcnNpb249Mi4zOQog X2xpbnV4X3ZlcnNpb249Ni4xCiBwa2duYW1lPWNyb3NzLXg4Nl82NC1saW51eC1nbnUKIHZlcnNp b249MC4zNgotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9dm9pZC1jcm9zcwog aG9zdG1ha2VkZXBlbmRzPSJ0ZXhpbmZvIHRhciBnY2Mtb2JqYyBnY2MtZ28gZmxleCBwZXJsIHB5 dGhvbjMgcGtnLWNvbmZpZyIKIG1ha2VkZXBlbmRzPSJpc2wtZGV2ZWwgbGlibXBjLWRldmVsIGdt cC1kZXZlbCBtcGZyLWRldmVsCkBAIC0yMSw3ICsyMSw3IEBAIGRpc3RmaWxlcys9IiAke0dOVV9T SVRFfS9nbGliYy9nbGliYy0ke19nbGliY192ZXJzaW9ufS50YXIueHoiCiBkaXN0ZmlsZXMrPSIg JHtLRVJORUxfU0lURX0va2VybmVsL3Yke19saW51eF92ZXJzaW9uJSUuKn0ueC9saW51eC0ke19s aW51eF92ZXJzaW9ufS50YXIueHoiCiBjaGVja3N1bT0iYWU5YTU3ODllMjM0NTllNTk2MDZlNjcx NDcyM2YyZDNmZmMzMWMwMzE3NDE5MWVmMGQwMTViZGYwNjAwNzQ1MAogIGUyNzVlNzY0NDJhNjA2 NzM0MWEyN2YwNGM1YzZiODNkODYxMzE0NDAwNGMwNDEzNTI4ODYzZGM2YjVjNzQzZGEKLSBmYjgy OTk4OTk4YjJiMjk5NjU0NjdiYzFiNjlkMTUyZTljMzA3ZDJjZjMwMWM5ZWFmYjQ1NTViNzcwZWYz ZmQyCisgZjc3YmQ0N2NmODE3MGM1NzM2NWFlN2JmODY2OTZjMTE4YWRiM2IxMjBkMzI1OWM2NGM1 MDJkM2RjMWUyZDkyNgogIDJjYTFmMTcwNTFhNDMwZjZmZWQxMTk2ZTQ5NTI3MTc1MDcxNzFhY2Zk OTdkOTY1NzcyMTI1MDI3MDNiMjVkZWIiCiBub2Nyb3NzPXllcwogCg== --===============8459001179532453568==--