From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mailgw02.mediatek.com (mailgw02.mediatek.com [216.200.240.185]) by sourceware.org (Postfix) with ESMTPS id 517E7385802B; Sun, 26 Sep 2021 13:25:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 517E7385802B X-UUID: 92c0d0236e5a4674a1723457af7bac8e-20210926 X-UUID: 92c0d0236e5a4674a1723457af7bac8e-20210926 Received: from mtkcas67.mediatek.inc [(172.29.193.45)] by mailgw02.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 35288155; Sun, 26 Sep 2021 06:24:59 -0700 Received: from MTKMBS62N1.mediatek.inc (172.29.193.41) by MTKMBS62DR.mediatek.inc (172.29.94.18) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Sun, 26 Sep 2021 06:24:57 -0700 Received: from MTKMBS62N1.mediatek.inc ([fe80::697c:586d:7cff:34e7]) by MTKMBS62N1.mediatek.inc ([fe80::697c:586d:7cff:34e7%12]) with mapi id 15.00.1497.015; Sun, 26 Sep 2021 06:24:57 -0700 From: Dragan Mladjenovic To: "gcc-patches@gcc.gnu.org" CC: Matthew Fortune , YunQiang Su , Jeff Law , Jakub Jelinek , Faraz Shahbazker , "Vince Del Vecchio" , "Petar.Jovanovic@syrmia.com" , Andrew Pinski Subject: [RFC 2/7] Make mips-classic.md entry point for mips*-*-* targets Thread-Topic: [RFC 2/7] Make mips-classic.md entry point for mips*-*-* targets Thread-Index: AQHXstnm0C+1s2vU9k+lwa6PYAMHPg== Date: Sun, 26 Sep 2021 13:24:57 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [172.29.193.239] MIME-Version: 1.0 X-Spam-Status: No, score=-10.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, HTML_MESSAGE, KAM_SHORT, MEDICAL_SUBJECT, SPF_HELO_NONE, SPF_PASS, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: base64 X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Sep 2021 13:25:12 -0000 TWFrZSBwYXJ0cyBvZiB0aGUgY29kZSBhbmQgb3B0aW9ucyBjb25kaXRpb25hbCBvbiBjb21waWxl LXRpbWUgZGVmaW5lcy4KCmdjYy9DaGFuZ2VMb2c6CgoJKiBjb25maWcvbWlwcy9taXBzLmgKCShN SVBTX1NVUFBPUlRfRFNQLCBNSVBTX1NVUFBPUlRfUFNfM0QsCglNSVBTX1NVUFBPUlRfTVNBLCBN SVBTX1NVUFBPUlRfTE9PTkdTT04KCU1JUFNfU1VQUE9SVF9NSUNST01JUFMsIE1JUFNfU1VQUE9S VF9MRUdBQ1kKCU1JUFNfU1VQUE9SVF9GUkFNRV9IRUFERVJfT1BUKTogTmV3IGRlZmluZXMuCgkq IGNvbmZpZy9taXBzL21pcHMuYyAoTUlQU19CVUlMVElOX01PVkYsCglNSVBTX0JVSUxUSU5fTU9W VCwgbWlwc19leHBhbmRfdmNvbmR2MnNmLAoJcGxsX3BzLCBwdWxfcHMsIHBsdV9wcywgbWlwc19l eHBhbmRfYnVpbHRpbl9tb3Z0ZiwKCW1pcHNfZXhwYW5kX2J1aWx0aW5fY29tcGFyZSk6CglNYWtl IGNvbmRpdGlvbmFsIG9uIE1JUFNfU1VQUE9SVF9QU18zRC4KCShNSVBTX0JVSUxUSU5fQlBPU0dF MzIsIG1pcHNfZW1pdF9jb21wYXJlLAoJZHNwYWx1X2J5cGFzc190YWJsZSwgQ09ERV9GT1JfbWlw c19zcXJ0X3BzLAoJLi4uIENPREVfRk9SX21pcHNfbXVsdHUsIGFkZHFfcGggLi4uCglkcHNxeF9z YV93X3BoLCBtaXBzX2V4cGFuZF9idWlsdGluX2Jwb3NnZSk6CglNYWtlIGNvbmRpdGlvbmFsIG9u IE1JUFNfU1VQUE9SVF9EU1AuCgkobWlwc19zcGxpdF9tb3ZlX3AsIG1pcHNfc3BsaXRfbW92ZSwK CUNPREVfRk9SX21zYV9hZGRzX3NfYiAuLi4gQ09ERV9GT1JfbXNhX2xkaV9kLAoJbWlwc19idWls dGluX3ZlY3Rvcml6ZWRfZnVuY3Rpb24sCgltaXBzX2V4cGFuZF9idWlsdGluX2luc24sCgltaXBz X2V4cGFuZF9tc2Ffc2h1ZmZsZSwKCW1pcHNfbXNhX3ZlY19wYXJhbGxlbF9jb25zdF9oYWxmLAoJ bWlwc19leHBhbmRfdmVjdG9yX2luaXQsCgltaXBzX2V4cGFuZF92ZWNfcmVkdWMpOgoJTWFrZSBj b25kaXRpb25hbCBvbiBNSVBTX1NVUFBPUlRfTVNBLgoJKHN0cnVjdCBtaXBzX2xzMiwKCW1pcHNf bHMyX2luaXRfZGZhX3Bvc3RfY3ljbGVfaW5zbiwKCW1pcHNfc2NoZWRfaW5pdCwgbWlwc19sczJf dmFyaWFibGVfaXNzdWUsCgltaXBzX3ZhcmlhYmxlX2lzc3VlLAoJQ09ERV9GT1JfbG9vbmdzb25f cGFja3Nzd2ggLi4uCglDT0RFX0ZPUl9sb29uZ3Nvbl9wc3VidXNiLAoJbWlwc19leHBhbmRfdnBj X2xvb25nc29uX2V2ZW5fb2RkCgltaXBzX2V4cGFuZF92ZWNfcGVybV9jb25zdF8xLAoJbWlwc19l eHBhbmRfdmlfYnJvYWRjYXN0LAoJbWlwc19leHBhbmRfdmlfbG9vbmdzb25fb25lX3BpbnNyaCwK CW1pcHNfZXhwYW5kX3ZlY3Rvcl9pbml0LAoJVEFSR0VUX1NDSEVEX0lOSVRfREZBX1BPU1RfQ1lD TEVfSU5TTiwKCVRBUkdFVF9TQ0hFRF9ERkFfUE9TVF9BRFZBTkNFX0NZQ0xFKToKCU1ha2UgY29u ZGl0aW9uYWwgb24gTUlQU19TVVBQT1JUX0xPT05HU09OLgoJKHZyNDEzMF9yZW9yZGVyLCBtaXBz X3NjaGVkX2luaXQsCgltaXBzX3NjaGVkX3Jlb3JkZXJfMSwgbWlwc192YXJpYWJsZV9pc3N1ZSk6 CglNYWtlIGNvbmRpdGlvbmFsIG9uIE1JUFNfU1VQUE9SVF9MRUdBQ1kuCgkobWlwc19leHBhbmRf ZXBpbG9ndWUpOgoJTWFrZSBjb25kaXRpb25hbCBvbiBNSVBTX1NVUFBPUlRfTUlDUk9NSVBTLgoJ KG1pcHNfY29tcHV0ZV9mcmFtZV9pbmZvLCBtaXBzX29wdGlvbl9vdmVycmlkZSk6CglNYWtlIGNv bmRpdGlvbmFsIG9uIE1JUFNfU1VQUE9SVF9GUkFNRV9IRUFERVJfT1BULgoJKiBjb25maWcvbWlw cy9taXBzLm1kIChwcm9jZXNzb3IpOgoJKHVuc3BlYyk6IE1vdmUgaW50byAuLi4KCSogY29uZmln L21pcHMvbWlwcy1jbGFzc2ljLm1kOiAuLi4gaGVyZS4KCSogY29uZmlnLmdjYyBbbWlwcyotKi0q XTogVXNlIG1pcHMtY2xhc3NpYy5tZC4KCSogY29uZmlnL21pcHMvbWlwcy5vcHQ6IENvbmRpdGlv bmFsaXplIG9wdGlvbnMuCi0tLQogZ2NjL2NvbmZpZy5nY2MgICAgICAgICAgICAgICAgICAgICAg ICB8ICAgMSArCiBnY2MvY29uZmlnL21pcHMvbWlwcy1jbGFzc2ljLm1kIChuZXcpIHwgMTQyICsr KysrKysrKysrKysrKysrKysrKysrKwogZ2NjL2NvbmZpZy9taXBzL21pcHMuYyAgICAgICAgICAg ICAgICB8IDE1NCArKysrKysrKysrKysrKysrKysrKysrLS0tLQogZ2NjL2NvbmZpZy9taXBzL21p cHMuaCAgICAgICAgICAgICAgICB8ICAgOCArKwogZ2NjL2NvbmZpZy9taXBzL21pcHMubWQgICAg ICAgICAgICAgICB8IDExNyAtLS0tLS0tLS0tLS0tLS0tLS0tCiBnY2MvY29uZmlnL21pcHMvbWlw cy5vcHQgICAgICAgICAgICAgIHwgMTIyICsrKysrKysrKystLS0tLS0tLS0tCiA2IGZpbGVzIGNo YW5nZWQsIDM0NiBpbnNlcnRpb25zKCspLCAxOTggZGVsZXRpb25zKC0pCiA2IGZpbGVzIGNoYW5n ZWQsIDM0NiBpbnNlcnRpb25zKCspLCAxOTggZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2 NDQgZ2NjL2NvbmZpZy9taXBzL21pcHMtY2xhc3NpYy5tZAoKZGlmZiAtLWdpdCBhL2djYy9jb25m aWcuZ2NjIGIvZ2NjL2NvbmZpZy5nY2MKaW5kZXggNDk4YzUxZTYxOWQuLjU4ZTM4ZjcwYWE2IDEw MDY0NAotLS0gYS9nY2MvY29uZmlnLmdjYworKysgYi9nY2MvY29uZmlnLmdjYwpAQCAtNDQ4LDYg KzQ0OCw3IEBAIG1pY3JvYmxhemUqLSotKikKICAgICAgICAgOzsKIG1pcHMqLSotKikKIAljcHVf dHlwZT1taXBzCisJbWRfZmlsZT1taXBzL21pcHMtY2xhc3NpYy5tZAogCWRfdGFyZ2V0X29ianM9 Im1pcHMtZC5vIgogCWV4dHJhX2hlYWRlcnM9Imxvb25nc29uLmggbG9vbmdzb24tbW1paW50cmlu LmggbXNhLmgiCiAJZXh0cmFfb2Jqcz0iZnJhbWUtaGVhZGVyLW9wdC5vIgpkaWZmIC0tZ2l0IGEv Z2NjL2NvbmZpZy9taXBzL21pcHMtY2xhc3NpYy5tZCBiL2djYy9jb25maWcvbWlwcy9taXBzLWNs YXNzaWMubWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjBmN2VmYzRk NWQ4Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL2NvbmZpZy9taXBzL21pcHMtY2xhc3NpYy5tZApA QCAtMCwwICsxLDE0MiBAQAorOzsgIE1pcHMubWQJICAgICBNYWNoaW5lIERlc2NyaXB0aW9uIGZv ciBNSVBTIGJhc2VkIHByb2Nlc3NvcnMKKzs7ICBDb3B5cmlnaHQgKEMpIDE5ODktMjAyMSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKzs7ICBDb250cmlidXRlZCBieSAgIEEuIExpY2hu ZXdza3ksIGxpY2hAaW5yaWEuaW5yaWEuZnIKKzs7ICBDaGFuZ2VzIGJ5ICAgICAgIE1pY2hhZWwg TWVpc3NuZXIsIG1laXNzbmVyQG9zZi5vcmcKKzs7ICA2NC1iaXQgcjQwMDAgc3VwcG9ydCBieSBJ YW4gTGFuY2UgVGF5bG9yLCBpYW5AY3lnbnVzLmNvbSwgYW5kCis7OyAgQnJlbmRhbiBFaWNoLCBi cmVuZGFuQG1pY3JvdW5pdHkuY29tLgorCis7OyBUaGlzIGZpbGUgaXMgcGFydCBvZiBHQ0MuCisK Kzs7IEdDQyBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3Ig bW9kaWZ5Cis7OyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorOzsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg ZWl0aGVyIHZlcnNpb24gMywgb3IgKGF0IHlvdXIgb3B0aW9uKQorOzsgYW55IGxhdGVyIHZlcnNp b24uCisKKzs7IEdDQyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg dXNlZnVsLAorOzsgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt cGxpZWQgd2FycmFudHkgb2YKKzs7IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKzs7IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGZvciBtb3JlIGRldGFpbHMuCisKKzs7IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCis7OyBhbG9uZyB3aXRoIEdDQzsgc2Vl IHRoZSBmaWxlIENPUFlJTkczLiAgSWYgbm90IHNlZQorOzsgPGh0dHA6Ly93d3cuZ251Lm9yZy9s aWNlbnNlcy8+LgorCisoZGVmaW5lX2VudW0gInByb2Nlc3NvciIgWworICByMzAwMAorICA0a2MK KyAgNGtwCisgIDVrYworICA1a2YKKyAgMjBrYworICAyNGtjCisgIDI0a2YyXzEKKyAgMjRrZjFf MQorICA3NGtjCisgIDc0a2YyXzEKKyAgNzRrZjFfMQorICA3NGtmM18yCisgIGxvb25nc29uXzJl CisgIGxvb25nc29uXzJmCisgIGdzNDY0CisgIGdzNDY0ZQorICBnczI2NGUKKyAgbTRrCisgIG9j dGVvbgorICBvY3Rlb24yCisgIG9jdGVvbjMKKyAgcjM5MDAKKyAgcjYwMDAKKyAgcjQwMDAKKyAg cjQxMDAKKyAgcjQxMTEKKyAgcjQxMjAKKyAgcjQxMzAKKyAgcjQzMDAKKyAgcjQ2MDAKKyAgcjQ2 NTAKKyAgcjQ3MDAKKyAgcjUwMDAKKyAgcjU0MDAKKyAgcjU1MDAKKyAgcjU5MDAKKyAgcjcwMDAK KyAgcjgwMDAKKyAgcjkwMDAKKyAgcjEwMDAwCisgIHNiMQorICBzYjFhCisgIHNyNzEwMDAKKyAg eGxyCisgIHhscAorICBwNTYwMAorICBtNTEwMAorICBpNjQwMAorICBwNjYwMAorXSkKKworKGlu Y2x1ZGUgIm1pcHMubWQiKQorCisoaW5jbHVkZSAiaTY0MDAubWQiKQorKGluY2x1ZGUgInA1NjAw Lm1kIikKKyhpbmNsdWRlICJtNTEwMC5tZCIpCisoaW5jbHVkZSAicDY2MDAubWQiKQorKGluY2x1 ZGUgIjRrLm1kIikKKyhpbmNsdWRlICI1ay5tZCIpCisoaW5jbHVkZSAiMjBrYy5tZCIpCisoaW5j bHVkZSAiMjRrLm1kIikKKyhpbmNsdWRlICI3NGsubWQiKQorKGluY2x1ZGUgIjMwMDAubWQiKQor KGluY2x1ZGUgIjQwMDAubWQiKQorKGluY2x1ZGUgIjQxMDAubWQiKQorKGluY2x1ZGUgIjQxMzAu bWQiKQorKGluY2x1ZGUgIjQzMDAubWQiKQorKGluY2x1ZGUgIjQ2MDAubWQiKQorKGluY2x1ZGUg IjUwMDAubWQiKQorKGluY2x1ZGUgIjU0MDAubWQiKQorKGluY2x1ZGUgIjU1MDAubWQiKQorKGlu Y2x1ZGUgIjYwMDAubWQiKQorKGluY2x1ZGUgIjcwMDAubWQiKQorKGluY2x1ZGUgIjkwMDAubWQi KQorKGluY2x1ZGUgIjEwMDAwLm1kIikKKyhpbmNsdWRlICJsb29uZ3NvbjJlZi5tZCIpCisoaW5j bHVkZSAiZ3M0NjQubWQiKQorKGluY2x1ZGUgImdzNDY0ZS5tZCIpCisoaW5jbHVkZSAiZ3MyNjRl Lm1kIikKKyhpbmNsdWRlICJvY3Rlb24ubWQiKQorKGluY2x1ZGUgInNiMS5tZCIpCisoaW5jbHVk ZSAic3I3MWsubWQiKQorKGluY2x1ZGUgInhsci5tZCIpCisoaW5jbHVkZSAieGxwLm1kIikKKyhp bmNsdWRlICJnZW5lcmljLm1kIikKKwwKKzs7IFN5bmNocm9uaXphdGlvbiBpbnN0cnVjdGlvbnMu CisKKyhpbmNsdWRlICJzeW5jLm1kIikKKworOyBUaGUgTUlQUyBQYWlyZWQtU2luZ2xlIEZsb2F0 aW5nIFBvaW50IGFuZCBNSVBTLTNEIEluc3RydWN0aW9ucy4KKworKGluY2x1ZGUgIm1pcHMtcHMt M2QubWQiKQorCis7IFRoZSBNSVBTIERTUCBJbnN0cnVjdGlvbnMuCisKKyhpbmNsdWRlICJtaXBz LWRzcC5tZCIpCisKKzsgVGhlIE1JUFMgRFNQIFJFViAyIEluc3RydWN0aW9ucy4KKworKGluY2x1 ZGUgIm1pcHMtZHNwcjIubWQiKQorCis7IE1JUFMgZml4ZWQtcG9pbnQgaW5zdHJ1Y3Rpb25zLgor KGluY2x1ZGUgIm1pcHMtZml4ZWQubWQiKQorCis7IG1pY3JvTUlQUyBwYXR0ZXJucy4KKyhpbmNs dWRlICJtaWNyb21pcHMubWQiKQorCis7IExvb25nc29uIE11bHRpTWVkaWEgZXh0ZW5zaW9ucyBJ bnN0cnVjdGlvbnMgKE1NSSkgcGF0dGVybnMuCisoaW5jbHVkZSAibG9vbmdzb24tbW1pLm1kIikK KworOyBUaGUgTUlQUyBNU0EgSW5zdHJ1Y3Rpb25zLgorKGluY2x1ZGUgIm1pcHMtbXNhLm1kIikK KworKGRlZmluZV9jX2VudW0gInVuc3BlYyIgWworICBVTlNQRUNfQUREUkVTU19GSVJTVAorXSkK ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvbWlwcy9taXBzLmMgYi9nY2MvY29uZmlnL21pcHMvbWlw cy5jCmluZGV4IGFiNjM1NzVlYjI2Li44ZjEyNWE0ZGRlYyAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZp Zy9taXBzL21pcHMuYworKysgYi9nY2MvY29uZmlnL21pcHMvbWlwcy5jCkBAIC0yMzQsMTIgKzIz NCwxNCBAQCBlbnVtIG1pcHNfYnVpbHRpbl90eXBlIHsKICAgICAgdmFsdWUgYW5kIHRoZSBhcmd1 bWVudHMgYXJlIG1hcHBlZCB0byBvcGVyYW5kcyAwIGFuZCBhYm92ZS4gICovCiAgIE1JUFNfQlVJ TFRJTl9ESVJFQ1RfTk9fVEFSR0VULAogCisjaWZkZWYgTUlQU19TVVBQT1JUX1BTXzNECiAgIC8q IFRoZSBmdW5jdGlvbiBjb3JyZXNwb25kcyB0byBhIGNvbXBhcmlzb24gaW5zdHJ1Y3Rpb24gZm9s bG93ZWQgYnkKICAgICAgYSBtaXBzX2NvbmRfbW92ZV90Zl9wcyBwYXR0ZXJuLiAgVGhlIGZpcnN0 IHR3byBhcmd1bWVudHMgYXJlIHRoZQogICAgICB2YWx1ZXMgdG8gY29tcGFyZSBhbmQgdGhlIHNl Y29uZCB0d28gYXJndW1lbnRzIGFyZSB0aGUgdmVjdG9yCiAgICAgIG9wZXJhbmRzIGZvciB0aGUg bW92dC5wcyBvciBtb3ZmLnBzIGluc3RydWN0aW9uIChpbiBhc3NlbWJseSBvcmRlcikuICAqLwog ICBNSVBTX0JVSUxUSU5fTU9WRiwKICAgTUlQU19CVUlMVElOX01PVlQsCisjZW5kaWYKIAogICAv KiBUaGUgZnVuY3Rpb24gY29ycmVzcG9uZHMgdG8gYSBWMlNGIGNvbXBhcmlzb24gaW5zdHJ1Y3Rp b24uICBPcGVyYW5kIDAKICAgICAgb2YgdGhpcyBpbnN0cnVjdGlvbiBpcyB0aGUgcmVzdWx0IG9m IHRoZSBjb21wYXJpc29uLCB3aGljaCBoYXMgbW9kZQpAQCAtMjYzLDggKzI2NSwxMCBAQCBlbnVt IG1pcHNfYnVpbHRpbl90eXBlIHsKICAgICAgY29tYmluZWQgd2l0aCBhIGNvbXBhcmUgaW5zdHJ1 Y3Rpb24uICAqLwogICBNSVBTX0JVSUxUSU5fTVNBX1RFU1RfQlJBTkNILAogCisjaWZkZWYgTUlQ U19TVVBQT1JUX0RTUAogICAvKiBGb3IgZ2VuZXJhdGluZyBicG9zZ2UzMiBicmFuY2ggaW5zdHJ1 Y3Rpb25zIGluIE1JUFMzMiBEU1AgQVNFLiAgKi8KICAgTUlQU19CVUlMVElOX0JQT1NHRTMyCisj ZW5kaWYKIH07CiAKIC8qIEludm9rZSBNQUNSTyAoQ09ORCkgZm9yIGVhY2ggQy5jb25kLmZtdCBj b25kaXRpb24uICAqLwpAQCAtNDc5Nyw5ICs0ODAxLDExIEBAIG1pcHNfc3BsaXRfbW92ZV9wIChy dHggZGVzdCwgcnR4IHNyYywgZW51bSBtaXBzX3NwbGl0X3R5cGUgc3BsaXRfdHlwZSkKIAlyZXR1 cm4gZmFsc2U7CiAgICAgfQogCisjaWZkZWYgTUlQU19TVVBQT1JUX01TQQogICAvKiBDaGVjayBp ZiBNU0EgbW92ZXMgbmVlZCBzcGxpdHRpbmcuICAqLwogICBpZiAoTVNBX1NVUFBPUlRFRF9NT0RF X1AgKEdFVF9NT0RFIChkZXN0KSkpCiAgICAgcmV0dXJuIG1pcHNfc3BsaXRfMTI4Yml0X21vdmVf cCAoZGVzdCwgc3JjKTsKKyNlbmRpZgogCiAgIC8qIE90aGVyd2lzZSBzcGxpdCBhbGwgbXVsdGl3 b3JkIG1vdmVzLiAgKi8KICAgcmV0dXJuIHNpemUgPiBVTklUU19QRVJfV09SRDsKQEAgLTQ4MTUs OSArNDgyMSwxMyBAQCBtaXBzX3NwbGl0X21vdmUgKHJ0eCBkZXN0LCBydHggc3JjLCBlbnVtIG1p cHNfc3BsaXRfdHlwZSBzcGxpdF90eXBlLCBydHggaW5zbl8pCiAgIHJ0eCBsb3dfZGVzdDsKIAog ICBnY2NfY2hlY2tpbmdfYXNzZXJ0IChtaXBzX3NwbGl0X21vdmVfcCAoZGVzdCwgc3JjLCBzcGxp dF90eXBlKSk7CisjaWZkZWYgTUlQU19TVVBQT1JUX01TQQogICBpZiAoTVNBX1NVUFBPUlRFRF9N T0RFX1AgKEdFVF9NT0RFIChkZXN0KSkpCiAgICAgbWlwc19zcGxpdF8xMjhiaXRfbW92ZSAoZGVz dCwgc3JjKTsKICAgZWxzZSBpZiAoRlBfUkVHX1JUWF9QIChkZXN0KSB8fCBGUF9SRUdfUlRYX1Ag KHNyYykpCisjZWxzZQorICBpZiAoRlBfUkVHX1JUWF9QIChkZXN0KSB8fCBGUF9SRUdfUlRYX1Ag KHNyYykpCisjZW5kaWYKICAgICB7CiAgICAgICBpZiAoIVRBUkdFVF82NEJJVCAmJiBHRVRfTU9E RSAoZGVzdCkgPT0gREltb2RlKQogCWVtaXRfaW5zbiAoZ2VuX21vdmVfZG91Ymxld29yZF9mcHJk aSAoZGVzdCwgc3JjKSk7CkBAIC00OTE2LDYgKzQ5MjYsNyBAQCBtaXBzX2luc25fc3BsaXRfdHlw ZSAocnR4IGluc24pCiAgIHJldHVybiBTUExJVF9JRl9ORUNFU1NBUlk7CiB9CiAKKyNpZmRlZiBN SVBTX1NVUFBPUlRfTVNBCiAvKiBSZXR1cm4gdHJ1ZSBpZiBhIDEyOC1iaXQgbW92ZSBmcm9tIFNS QyB0byBERVNUIHNob3VsZCBiZSBzcGxpdC4gICovCiAKIGJvb2wKQEAgLTUxMDgsNiArNTExOSw3 IEBAIG1pcHNfc3BsaXRfbXNhX2ZpbGxfZCAocnR4IGRlc3QsIHJ0eCBzcmMpCiAgIGVtaXRfaW5z biAoZ2VuX21zYV9pbnNlcnRfdyAobmV3X2Rlc3QsIGhpZ2gsIG5ld19kZXN0LCBHRU5fSU5UICgx IDw8IDEpKSk7CiAgIGVtaXRfaW5zbiAoZ2VuX21zYV9pbnNlcnRfdyAobmV3X2Rlc3QsIGhpZ2gs IG5ld19kZXN0LCBHRU5fSU5UICgxIDw8IDMpKSk7CiB9CisjZW5kaWYKIAwKIC8qIFJldHVybiB0 cnVlIGlmIGEgbW92ZSBmcm9tIFNSQyB0byBERVNUIGluIElOU04gc2hvdWxkIGJlIHNwbGl0LiAg Ki8KIApAQCAtNTYzOSw2ICs1NjUxLDcgQEAgbWlwc19lbWl0X2NvbXBhcmUgKGVudW0gcnR4X2Nv ZGUgKmNvZGUsIHJ0eCAqb3AwLCBydHggKm9wMSwgYm9vbCBuZWVkX2VxX25lX3ApCiAJICAqb3Ax ID0gY29uc3QwX3J0eDsKIAl9CiAgICAgfQorI2lmZGVmIE1JUFNfU1VQUE9SVF9EU1AKICAgZWxz ZSBpZiAoQUxMX0ZJWEVEX1BPSU5UX01PREVfUCAoR0VUX01PREUgKGNtcF9vcDApKSkKICAgICB7 CiAgICAgICAqb3AwID0gZ2VuX3J0eF9SRUcgKENDRFNQbW9kZSwgQ0NEU1BfQ0NfUkVHTlVNKTsK QEAgLTU2NDYsNiArNTY1OSw3IEBAIG1pcHNfZW1pdF9jb21wYXJlIChlbnVtIHJ0eF9jb2RlICpj b2RlLCBydHggKm9wMCwgcnR4ICpvcDEsIGJvb2wgbmVlZF9lcV9uZV9wKQogICAgICAgKmNvZGUg PSBORTsKICAgICAgICpvcDEgPSBjb25zdDBfcnR4OwogICAgIH0KKyNlbmRpZgogICBlbHNlCiAg ICAgewogICAgICAgZW51bSBydHhfY29kZSBjbXBfY29kZTsKQEAgLTU3MjgsNiArNTc0Miw3IEBA IG1pcHNfZXhwYW5kX2NvbmRpdGlvbmFsX2JyYW5jaCAocnR4ICpvcGVyYW5kcykKICAgZW1pdF9q dW1wX2luc24gKGdlbl9jb25kanVtcCAoY29uZGl0aW9uLCBvcGVyYW5kc1szXSkpOwogfQogCisj aWZkZWYgTUlQU19TVVBQT1JUX1BTXzNECiAvKiBJbXBsZW1lbnQ6CiAKICAgIChzZXQgdGVtcCAo Q09ORDpDQ1YyIENNUF9PUDAgQ01QX09QMSkpCkBAIC01NzUxLDYgKzU3NjYsNyBAQCBtaXBzX2V4 cGFuZF92Y29uZHYyc2YgKHJ0eCBkZXN0LCBydHggdHJ1ZV9zcmMsIHJ0eCBmYWxzZV9zcmMsCiAg ICAgZW1pdF9pbnNuIChnZW5fbWlwc19jb25kX21vdmVfdGZfcHMgKGRlc3QsIHRydWVfc3JjLCBm YWxzZV9zcmMsCiAJCQkJCSBjbXBfcmVzdWx0KSk7CiB9CisjZW5kaWYKIAogLyogUGVyZm9ybSB0 aGUgY29tcGFyaXNvbiBpbiBPUEVSQU5EU1sxXS4gIE1vdmUgT1BFUkFORFNbMl0gaW50byBPUEVS QU5EU1swXQogICAgaWYgdGhlIGNvbmRpdGlvbiBob2xkcywgb3RoZXJ3aXNlIG1vdmUgT1BFUkFO RFNbM10gaW50byBPUEVSQU5EU1swXS4gICovCkBAIC05NTg5LDYgKzk2MDUsNyBAQCBtaXBzX2R3 YXJmX2ZyYW1lX3JlZ19tb2RlIChpbnQgcmVnbm8pCiAgIHJldHVybiBtb2RlOwogfQogCisjaWZk ZWYgTUlQU19TVVBQT1JUX0RTUAogLyogRFNQIEFMVSBjYW4gYnlwYXNzIGRhdGEgd2l0aCBubyBk ZWxheXMgZm9yIHRoZSBmb2xsb3dpbmcgcGFpcnMuICovCiBlbnVtIGluc25fY29kZSBkc3BhbHVf YnlwYXNzX3RhYmxlW11bMl0gPQogewpAQCAtOTYxOSw2ICs5NjM2LDggQEAgbWlwc19kc3BhbHVf YnlwYXNzX3AgKHJ0eCBvdXRfaW5zbiwgcnR4IGluX2luc24pCiAKICAgcmV0dXJuIGZhbHNlOwog fQorI2VuZGlmCisKIC8qIEltcGxlbWVudCBBU01fT1VUUFVUX0FTQ0lJLiAgKi8KIAogdm9pZApA QCAtMTEyMDMsNiArMTEyMjIsNyBAQCBtaXBzX2NvbXB1dGVfZnJhbWVfaW5mbyAodm9pZCkKICAg ICAgIGZyYW1lLT5jb3AwX3NwX29mZnNldCA9IG9mZnNldCAtIFVOSVRTX1BFUl9XT1JEOwogICAg IH0KIAorI2lmZGVmIE1JUFNfU1VQUE9SVF9GUkFNRV9IRUFERVJfT1BUCiAgIC8qIERldGVybWlu ZSBpZiB3ZSBjYW4gc2F2ZSB0aGUgY2FsbGVlLXNhdmVkIHJlZ2lzdGVycyBpbiB0aGUgZnJhbWUK ICAgICAgaGVhZGVyLiAgUmVzdHJpY3QgdGhpcyB0byBmdW5jdGlvbnMgd2hlcmUgdGhlcmUgaXMg bm8gb3RoZXIgcmVhc29uCiAgICAgIHRvIGFsbG9jYXRlIHN0YWNrIHNwYWNlIHNvIHRoYXQgd2Ug Y2FuIGVsaW1pbmF0ZSB0aGUgaW5zdHJ1Y3Rpb25zCkBAIC0xMTIzMSw2ICsxMTI1MSw3IEBAIG1p cHNfY29tcHV0ZV9mcmFtZV9pbmZvICh2b2lkKQogICAgICAgZnJhbWUtPmdwX3NwX29mZnNldCA9 IFJFR19QQVJNX1NUQUNLX1NQQUNFKGNmdW4pIC0gVU5JVFNfUEVSX1dPUkQ7CiAgICAgICBjZnVu LT5tYWNoaW5lLT51c2VfZnJhbWVfaGVhZGVyX2Zvcl9jYWxsZWVfc2F2ZWRfcmVncyA9IHRydWU7 CiAgICAgfQorI2VuZGlmCiAKICAgLyogTW92ZSBhYm92ZSB0aGUgY2FsbGVlLWFsbG9jYXRlZCB2 YXJhcmdzIHNhdmUgYXJlYS4gICovCiAgIG9mZnNldCArPSBNSVBTX1NUQUNLX0FMSUdOIChjZnVu LT5tYWNoaW5lLT52YXJhcmdzX3NpemUpOwpAQCAtMTI3ODMsOCArMTI4MDQsMTAgQEAgbWlwc19l eHBhbmRfZXBpbG9ndWUgKGJvb2wgc2liY2FsbF9wKQogCSAgICAgIHJ0eCByZWcgPSBnZW5fcnR4 X1JFRyAoUG1vZGUsIEdQX1JFR19GSVJTVCArIDcpOwogCSAgICAgIHBhdCA9IGdlbl9yZXR1cm5f aW50ZXJuYWwgKHJlZyk7CiAJICAgIH0KKyNpZmRlZiBNSVBTX1NVUFBPUlRfTUlDUk9NSVBTCiAJ ICBlbHNlIGlmICh1c2VfanJhZGRpdXNwX3ApCiAJICAgIHBhdCA9IGdlbl9qcmFkZGl1c3AgKEdF Tl9JTlQgKHN0ZXAyKSk7CisjZW5kaWYKIAkgIGVsc2UKIAkgICAgewogCSAgICAgIHJ0eCByZWcg PSBnZW5fcnR4X1JFRyAoUG1vZGUsIFJFVFVSTl9BRERSX1JFR05VTSk7CkBAIC0xNDY0MCw3ICsx NDY2Myw3IEBAIG1pcHNfc3RvcmVfZGF0YV9ieXBhc3NfcCAocnR4X2luc24gKm91dF9pbnNuLCBy dHhfaW5zbiAqaW5faW5zbikKICAgcmV0dXJuIHN0b3JlX2RhdGFfYnlwYXNzX3AgKG91dF9pbnNu LCBpbl9pbnNuKTsKIH0KIAwKLQorI2lmZGVmIE1JUFNfU1VQUE9SVF9MT09OR1NPTgogLyogVmFy aWFibGVzIGFuZCBmbGFncyB1c2VkIGluIHNjaGVkdWxlciBob29rcyB3aGVuIHR1bmluZyBmb3IK ICAgIExvb25nc29uIDJFLzJGLiAgKi8KIHN0YXRpYyBzdHJ1Y3QKQEAgLTE0Njc0LDYgKzE0Njk3 LDcgQEAgc3RhdGljIHN0cnVjdAogICBydHhfaW5zbiAqZmFsdTFfdHVybl9lbmFibGVkX2luc247 CiAgIHJ0eF9pbnNuICpmYWx1Ml90dXJuX2VuYWJsZWRfaW5zbjsKIH0gbWlwc19sczI7CisjZW5k aWYKIAogLyogSW1wbGVtZW50IFRBUkdFVF9TQ0hFRF9BREpVU1RfQ09TVC4gIFdlIGFzc3VtZSB0 aGF0IGFudGkgYW5kIG91dHB1dAogICAgZGVwZW5kZW5jaWVzIGhhdmUgbm8gY29zdCwgZXhjZXB0 IG9uIHRoZSAyMEtjIHdoZXJlIG91dHB1dC1kZXBlbmRlbmNlCkBAIC0xNDc0Niw2ICsxNDc3MCw3 IEBAIG1pcHNfaXNzdWVfcmF0ZSAodm9pZCkKICAgICB9CiB9CiAKKyNpZmRlZiBNSVBTX1NVUFBP UlRfTE9PTkdTT04KIC8qIEltcGxlbWVudCBUQVJHRVRfU0NIRURfSU5JVF9ERkFfUE9TVF9DWUNM RV9JTlNOIGhvb2sgZm9yIExvb25nc29uMi4gICovCiAKIHN0YXRpYyB2b2lkCkBAIC0xNDg1NCw2 ICsxNDg3OSw3IEBAIG1pcHNfZGZhX3Bvc3RfYWR2YW5jZV9jeWNsZSAodm9pZCkKICAgaWYgKFRV TkVfTE9PTkdTT05fMkVGKQogICAgIG1pcHNfbHMyX2RmYV9wb3N0X2FkdmFuY2VfY3ljbGUgKGN1 cnJfc3RhdGUpOwogfQorI2VuZGlmCiAKIC8qIEltcGxlbWVudCBUQVJHRVRfU0NIRURfRklSU1Rf Q1lDTEVfTVVMVElQQVNTX0RGQV9MT09LQUhFQUQuICBUaGlzIHNob3VsZAogICAgYmUgYXMgd2lk ZSBhcyB0aGUgc2NoZWR1bGluZyBmcmVlZG9tIGluIHRoZSBERkEuICAqLwpAQCAtMTQ5NTEsNiAr MTQ5NzcsNyBAQCBtaXBzX21hY2NfY2hhaW5zX3Jlb3JkZXIgKHJ0eF9pbnNuICoqcmVhZHksIGlu dCBucmVhZHkpCiAJfQogfQogDAorI2lmZGVmIE1JUFNfU1VQUE9SVF9MRUdBQ1kKIC8qIFRoZSBs YXN0IGluc3RydWN0aW9uIHRvIGJlIHNjaGVkdWxlZC4gICovCiBzdGF0aWMgcnR4X2luc24gKnZy NDEzMF9sYXN0X2luc247CiAKQEAgLTE1MDUwLDYgKzE1MDc3LDcgQEAgdnI0MTMwX3Jlb3JkZXIg KHJ0eF9pbnNuICoqcmVhZHksIGludCBucmVhZHkpCiAgIGlmICh2cjQxMzBfc3dhcF9pbnNuc19w IChyZWFkeVtucmVhZHkgLSAxXSwgcmVhZHlbbnJlYWR5IC0gMl0pKQogICAgIG1pcHNfcHJvbW90 ZV9yZWFkeSAocmVhZHksIG5yZWFkeSAtIDIsIG5yZWFkeSAtIDEpOwogfQorI2VuZGlmCiAMCiAv KiBSZWNvcmQgd2hldGhlciBsYXN0IDc0ayBBR0VOIGluc3RydWN0aW9uIHdhcyBhIGxvYWQgb3Ig c3RvcmUuICAqLwogc3RhdGljIGVudW0gYXR0cl90eXBlIG1pcHNfbGFzdF83NGtfYWdlbl9pbnNu ID0gVFlQRV9VTktOT1dOOwpAQCAtMTUxMzEsMTQgKzE1MTU5LDE4IEBAIG1pcHNfc2NoZWRfaW5p dCAoRklMRSAqZmlsZSBBVFRSSUJVVEVfVU5VU0VELCBpbnQgdmVyYm9zZSBBVFRSSUJVVEVfVU5V U0VELAogCQkgaW50IG1heF9yZWFkeSBBVFRSSUJVVEVfVU5VU0VEKQogewogICBtaXBzX21hY2Nf Y2hhaW5zX2xhc3RfaGlsbyA9IDA7CisjaWZkZWYgTUlQU19TVVBQT1JUX0xFR0FDWQogICB2cjQx MzBfbGFzdF9pbnNuID0gMDsKKyNlbmRpZgogICBtaXBzXzc0a19hZ2VuX2luaXQgKE5VTEwpOwog CisjaWZkZWYgTUlQU19TVVBQT1JUX0xPT05HU09OCiAgIC8qIFdoZW4gc2NoZWR1bGluZyBmb3Ig TG9vbmdzb24yLCBicmFuY2ggaW5zdHJ1Y3Rpb25zIGdvIHRvIEFMVTEsCiAgICAgIHRoZXJlZm9y ZSBiYXNpYyBibG9jayBpcyBtb3N0IGxpa2VseSB0byBzdGFydCB3aXRoIHJvdW5kLXJvYmluIGNv dW50ZXIKICAgICAgcG9pbnRlZCB0byBBTFUyLiAgKi8KICAgbWlwc19sczIuYWx1MV90dXJuX3Ag PSBmYWxzZTsKICAgbWlwc19sczIuZmFsdTFfdHVybl9wID0gdHJ1ZTsKKyNlbmRpZgogfQogCiAv KiBTdWJyb3V0aW5lIHVzZWQgYnkgVEFSR0VUX1NDSEVEX1JFT1JERVIgYW5kIFRBUkdFVF9TQ0hF RF9SRU9SREVSMi4gICovCkBAIC0xNTE1MiwxMSArMTUxODQsMTMgQEAgbWlwc19zY2hlZF9yZW9y ZGVyXzEgKEZJTEUgKmZpbGUgQVRUUklCVVRFX1VOVVNFRCwgaW50IHZlcmJvc2UgQVRUUklCVVRF X1VOVVNFRCwKICAgICAgICYmICpucmVhZHlwID4gMCkKICAgICBtaXBzX21hY2NfY2hhaW5zX3Jl b3JkZXIgKHJlYWR5LCAqbnJlYWR5cCk7CiAKKyNpZmRlZiBNSVBTX1NVUFBPUlRfTEVHQUNZCiAg IGlmIChyZWxvYWRfY29tcGxldGVkCiAgICAgICAmJiBUVU5FX01JUFM0MTMwCiAgICAgICAmJiAh VEFSR0VUX1ZSNDEzMF9BTElHTgogICAgICAgJiYgKm5yZWFkeXAgPiAxKQogICAgIHZyNDEzMF9y ZW9yZGVyIChyZWFkeSwgKm5yZWFkeXApOworI2VuZGlmCiAKICAgaWYgKFRVTkVfNzRLKQogICAg IG1pcHNfNzRrX2FnZW5fcmVvcmRlciAocmVhZHksICpucmVhZHlwKTsKQEAgLTE1MTgyLDYgKzE1 MjE2LDcgQEAgbWlwc19zY2hlZF9yZW9yZGVyMiAoRklMRSAqZmlsZSBBVFRSSUJVVEVfVU5VU0VE LCBpbnQgdmVyYm9zZSBBVFRSSUJVVEVfVU5VU0VELAogICByZXR1cm4gY2FjaGVkX2Nhbl9pc3N1 ZV9tb3JlOwogfQogCisjaWZkZWYgTUlQU19TVVBQT1JUX0xPT05HU09OCiAvKiBVcGRhdGUgcm91 bmQtcm9iaW4gY291bnRlcnMgZm9yIEFMVTEvMiBhbmQgRkFMVTEvMi4gICovCiAKIHN0YXRpYyB2 b2lkCkBAIC0xNTIxMiw2ICsxNTI0Nyw3IEBAIG1pcHNfbHMyX3ZhcmlhYmxlX2lzc3VlIChydHhf aW5zbiAqaW5zbikKICAgaWYgKHJlY29nX21lbW9pemVkIChpbnNuKSA+PSAwKQogICAgIG1pcHNf bHMyLmN5Y2xlX2hhc19tdWx0aV9wIHw9IChnZXRfYXR0cl90eXBlIChpbnNuKSA9PSBUWVBFX01V TFRJKTsKIH0KKyNlbmRpZgogCiAvKiBJbXBsZW1lbnQgVEFSR0VUX1NDSEVEX1ZBUklBQkxFX0lT U1VFLiAgKi8KIApAQCAtMTUyMjYsMTEgKzE1MjYyLDE1IEBAIG1pcHNfdmFyaWFibGVfaXNzdWUg KEZJTEUgKmZpbGUgQVRUUklCVVRFX1VOVVNFRCwgaW50IHZlcmJvc2UgQVRUUklCVVRFX1VOVVNF RCwKIAltb3JlLS07CiAgICAgICBpZiAoIXJlbG9hZF9jb21wbGV0ZWQgJiYgVFVORV9NQUNDX0NI QUlOUykKIAltaXBzX21hY2NfY2hhaW5zX3JlY29yZCAoaW5zbik7CisjaWZkZWYgTUlQU19TVVBQ T1JUX0xFR0FDWQogICAgICAgdnI0MTMwX2xhc3RfaW5zbiA9IGluc247CisjZW5kaWYKICAgICAg IGlmIChUVU5FXzc0SykKIAltaXBzXzc0a19hZ2VuX2luaXQgKGluc24pOworI2lmZGVmIE1JUFNf U1VQUE9SVF9MT09OR1NPTgogICAgICAgZWxzZSBpZiAoVFVORV9MT09OR1NPTl8yRUYpCiAJbWlw c19sczJfdmFyaWFibGVfaXNzdWUgKGluc24pOworI2VuZGlmCiAgICAgfQogCiAgIC8qIEluc3Ry dWN0aW9ucyBvZiB0eXBlICdtdWx0aScgc2hvdWxkIGFsbCBiZSBzcGxpdCBiZWZvcmUKQEAgLTE1 MzM1LDE3ICsxNTM3NSwyNSBAQCBzdHJ1Y3QgbWlwc19idWlsdGluX2Rlc2NyaXB0aW9uIHsKIH07 CiAKIEFWQUlMX0FMTCAoaGFyZF9mbG9hdCwgVEFSR0VUX0hBUkRfRkxPQVRfQUJJKQorI2lmZGVm IE1JUFNfU1VQUE9SVF9QU18zRAogQVZBSUxfTk9OX01JUFMxNiAocGFpcmVkX3NpbmdsZSwgVEFS R0VUX1BBSVJFRF9TSU5HTEVfRkxPQVQpCiBBVkFJTF9OT05fTUlQUzE2IChzYjFfcGFpcmVkX3Np bmdsZSwgVEFSR0VUX1NCMSAmJiBUQVJHRVRfUEFJUkVEX1NJTkdMRV9GTE9BVCkKIEFWQUlMX05P Tl9NSVBTMTYgKG1pcHMzZCwgVEFSR0VUX01JUFMzRCkKKyNlbmRpZgorI2lmZGVmIE1JUFNfU1VQ UE9SVF9EU1AKIEFWQUlMX05PTl9NSVBTMTYgKGRzcCwgVEFSR0VUX0RTUCkKIEFWQUlMX05PTl9N SVBTMTYgKGRzcHIyLCBUQVJHRVRfRFNQUjIpCiBBVkFJTF9OT05fTUlQUzE2IChkc3BfMzIsICFU QVJHRVRfNjRCSVQgJiYgVEFSR0VUX0RTUCkKIEFWQUlMX05PTl9NSVBTMTYgKGRzcF82NCwgVEFS R0VUXzY0QklUICYmIFRBUkdFVF9EU1ApCiBBVkFJTF9OT05fTUlQUzE2IChkc3ByMl8zMiwgIVRB UkdFVF82NEJJVCAmJiBUQVJHRVRfRFNQUjIpCisjZW5kaWYKKyNpZmRlZiBNSVBTX1NVUFBPUlRf TE9PTkdTT04KIEFWQUlMX05PTl9NSVBTMTYgKGxvb25nc29uLCBUQVJHRVRfTE9PTkdTT05fTU1J KQorI2VuZGlmCiBBVkFJTF9OT05fTUlQUzE2IChjYWNoZSwgVEFSR0VUX0NBQ0hFX0JVSUxUSU4p CisjaWZkZWYgTUlQU19TVVBQT1JUX01TQQogQVZBSUxfTk9OX01JUFMxNiAobXNhLCBUQVJHRVRf TVNBKQorI2VuZGlmCiAKIC8qIENvbnN0cnVjdCBhIG1pcHNfYnVpbHRpbl9kZXNjcmlwdGlvbiBm cm9tIHRoZSBnaXZlbiBhcmd1bWVudHMuCiAKQEAgLTE1NTExLDYgKzE1NTU5LDcgQEAgQVZBSUxf Tk9OX01JUFMxNiAobXNhLCBUQVJHRVRfTVNBKQogICAgICJfX2J1aWx0aW5fbXNhXyIgI0lOU04s ICBNSVBTX0JVSUxUSU5fRElSRUNUX05PX1RBUkdFVCwJCVwKICAgICBGVU5DVElPTl9UWVBFLCBt aXBzX2J1aWx0aW5fYXZhaWxfbXNhLCBmYWxzZSB9CiAKKyNpZmRlZiBNSVBTX1NVUFBPUlRfRFNQ CiAjZGVmaW5lIENPREVfRk9SX21pcHNfc3FydF9wcyBDT0RFX0ZPUl9zcXJ0djJzZjIKICNkZWZp bmUgQ09ERV9GT1JfbWlwc19hZGRxX3BoIENPREVfRk9SX2FkZHYyaGkzCiAjZGVmaW5lIENPREVf Rk9SX21pcHNfYWRkdV9xYiBDT0RFX0ZPUl9hZGR2NHFpMwpAQCAtMTU1MTksNyArMTU1NjgsOSBA QCBBVkFJTF9OT05fTUlQUzE2IChtc2EsIFRBUkdFVF9NU0EpCiAjZGVmaW5lIENPREVfRk9SX21p cHNfbXVsX3BoIENPREVfRk9SX211bHYyaGkzCiAjZGVmaW5lIENPREVfRk9SX21pcHNfbXVsdCBD T0RFX0ZPUl9tdWxzaWRpM18zMmJpdAogI2RlZmluZSBDT0RFX0ZPUl9taXBzX211bHR1IENPREVf Rk9SX3VtdWxzaWRpM18zMmJpdAorI2VuZGlmCiAKKyNpZmRlZiBNSVBTX1NVUFBPUlRfTE9PTkdT T04KICNkZWZpbmUgQ09ERV9GT1JfbG9vbmdzb25fcGFja3Nzd2ggQ09ERV9GT1JfdmVjX3BhY2tf c3NhdF92MnNpCiAjZGVmaW5lIENPREVfRk9SX2xvb25nc29uX3BhY2tzc2hiIENPREVfRk9SX3Zl Y19wYWNrX3NzYXRfdjRoaQogI2RlZmluZSBDT0RFX0ZPUl9sb29uZ3Nvbl9wYWNrdXNoYiBDT0RF X0ZPUl92ZWNfcGFja191c2F0X3Y0aGkKQEAgLTE1NTUwLDcgKzE1NjAxLDkgQEAgQVZBSUxfTk9O X01JUFMxNiAobXNhLCBUQVJHRVRfTVNBKQogI2RlZmluZSBDT0RFX0ZPUl9sb29uZ3Nvbl9wc3Vi c2IgQ09ERV9GT1Jfc3NzdWJ2OHFpMwogI2RlZmluZSBDT0RFX0ZPUl9sb29uZ3Nvbl9wc3VidXNo IENPREVfRk9SX3Vzc3VidjRoaTMKICNkZWZpbmUgQ09ERV9GT1JfbG9vbmdzb25fcHN1YnVzYiBD T0RFX0ZPUl91c3N1YnY4cWkzCisjZW5kaWYKIAorI2lmZGVmIE1JUFNfU1VQUE9SVF9NU0EKICNk ZWZpbmUgQ09ERV9GT1JfbXNhX2FkZHNfc19iIENPREVfRk9SX3NzYWRkdjE2cWkzCiAjZGVmaW5l IENPREVfRk9SX21zYV9hZGRzX3NfaCBDT0RFX0ZPUl9zc2FkZHY4aGkzCiAjZGVmaW5lIENPREVf Rk9SX21zYV9hZGRzX3NfdyBDT0RFX0ZPUl9zc2FkZHY0c2kzCkBAIC0xNTc0Nyw2ICsxNTgwMCw3 IEBAIEFWQUlMX05PTl9NSVBTMTYgKG1zYSwgVEFSR0VUX01TQSkKICNkZWZpbmUgQ09ERV9GT1Jf bXNhX2xkaV9oIENPREVfRk9SX21zYV9sZGl2OGhpCiAjZGVmaW5lIENPREVfRk9SX21zYV9sZGlf dyBDT0RFX0ZPUl9tc2FfbGRpdjRzaQogI2RlZmluZSBDT0RFX0ZPUl9tc2FfbGRpX2QgQ09ERV9G T1JfbXNhX2xkaXYyZGkKKyNlbmRpZgogCiBzdGF0aWMgY29uc3Qgc3RydWN0IG1pcHNfYnVpbHRp bl9kZXNjcmlwdGlvbiBtaXBzX2J1aWx0aW5zW10gPSB7CiAjZGVmaW5lIE1JUFNfR0VUX0ZDU1Ig MApAQCAtMTU3NTQsNiArMTU4MDgsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IG1pcHNfYnVpbHRp bl9kZXNjcmlwdGlvbiBtaXBzX2J1aWx0aW5zW10gPSB7CiAjZGVmaW5lIE1JUFNfU0VUX0ZDU1Ig MQogICBESVJFQ1RfTk9fVEFSR0VUX0JVSUxUSU4gKHNldF9mY3NyLCBNSVBTX1ZPSURfRlRZUEVf VVNJLCBoYXJkX2Zsb2F0KSwKIAorI2lmZGVmIE1JUFNfU1VQUE9SVF9QU18zRAogICBESVJFQ1Rf QlVJTFRJTl9QVVJFIChwbGxfcHMsIE1JUFNfVjJTRl9GVFlQRV9WMlNGX1YyU0YsIHBhaXJlZF9z aW5nbGUpLAogICBESVJFQ1RfQlVJTFRJTl9QVVJFIChwdWxfcHMsIE1JUFNfVjJTRl9GVFlQRV9W MlNGX1YyU0YsIHBhaXJlZF9zaW5nbGUpLAogICBESVJFQ1RfQlVJTFRJTl9QVVJFIChwbHVfcHMs IE1JUFNfVjJTRl9GVFlQRV9WMlNGX1YyU0YsIHBhaXJlZF9zaW5nbGUpLApAQCAtMTU3ODcsNyAr MTU4NDIsOSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IG1pcHNfYnVpbHRpbl9kZXNjcmlwdGlvbiBt aXBzX2J1aWx0aW5zW10gPSB7CiAKICAgLyogQnVpbHQtaW4gZnVuY3Rpb25zIGZvciB0aGUgU0It MSBwcm9jZXNzb3IuICAqLwogICBESVJFQ1RfQlVJTFRJTiAoc3FydF9wcywgTUlQU19WMlNGX0ZU WVBFX1YyU0YsIHNiMV9wYWlyZWRfc2luZ2xlKSwKKyNlbmRpZgogCisjaWZkZWYgTUlQU19TVVBQ T1JUX0RTUAogICAvKiBCdWlsdC1pbiBmdW5jdGlvbnMgZm9yIHRoZSBEU1AgQVNFICgzMi1iaXQg YW5kIDY0LWJpdCkuICAqLwogICBESVJFQ1RfQlVJTFRJTl9QVVJFIChhZGRxX3BoLCBNSVBTX1Yy SElfRlRZUEVfVjJISV9WMkhJLCBkc3ApLAogICBESVJFQ1RfQlVJTFRJTl9QVVJFIChhZGRxX3Nf cGgsIE1JUFNfVjJISV9GVFlQRV9WMkhJX1YySEksIGRzcCksCkBAIC0xNTkzMyw3ICsxNTk5MCw5 IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbWlwc19idWlsdGluX2Rlc2NyaXB0aW9uIG1pcHNfYnVp bHRpbnNbXSA9IHsKICAgRElSRUNUX0JVSUxUSU5fUFVSRSAoZHBhcXhfc2Ffd19waCwgTUlQU19E SV9GVFlQRV9ESV9WMkhJX1YySEksIGRzcHIyXzMyKSwKICAgRElSRUNUX0JVSUxUSU5fUFVSRSAo ZHBzcXhfc193X3BoLCBNSVBTX0RJX0ZUWVBFX0RJX1YySElfVjJISSwgZHNwcjJfMzIpLAogICBE SVJFQ1RfQlVJTFRJTl9QVVJFIChkcHNxeF9zYV93X3BoLCBNSVBTX0RJX0ZUWVBFX0RJX1YySElf VjJISSwgZHNwcjJfMzIpLAorI2VuZGlmCiAKKyNpZmRlZiBNSVBTX1NVUFBPUlRfTE9PTkdTT04K ICAgLyogQnVpbHRpbiBmdW5jdGlvbnMgZm9yIFNUIE1pY3JvZWxlY3Ryb25pY3MgTG9vbmdzb24t MkUvMkYgY29yZXMuICAqLwogICBMT09OR1NPTl9CVUlMVElOIChwYWNrc3N3aCwgTUlQU19WNEhJ X0ZUWVBFX1YyU0lfVjJTSSksCiAgIExPT05HU09OX0JVSUxUSU4gKHBhY2tzc2hiLCBNSVBTX1Y4 UUlfRlRZUEVfVjRISV9WNEhJKSwKQEAgLTE2MDM0LDEwICsxNjA5MywxMiBAQCBzdGF0aWMgY29u c3Qgc3RydWN0IG1pcHNfYnVpbHRpbl9kZXNjcmlwdGlvbiBtaXBzX2J1aWx0aW5zW10gPSB7CiAg IExPT05HU09OX0JVSUxUSU5fU1VGRklYIChwdW5wY2tsYmgsIHMsIE1JUFNfVjhRSV9GVFlQRV9W OFFJX1Y4UUkpLAogICBMT09OR1NPTl9CVUlMVElOX1NVRkZJWCAocHVucGNrbGh3LCBzLCBNSVBT X1Y0SElfRlRZUEVfVjRISV9WNEhJKSwKICAgTE9PTkdTT05fQlVJTFRJTl9TVUZGSVggKHB1bnBj a2x3ZCwgcywgTUlQU19WMlNJX0ZUWVBFX1YyU0lfVjJTSSksCisjZW5kaWYKIAogICAvKiBTdW5k cnkgb3RoZXIgYnVpbHQtaW4gZnVuY3Rpb25zLiAgKi8KICAgRElSRUNUX05PX1RBUkdFVF9CVUlM VElOIChjYWNoZSwgTUlQU19WT0lEX0ZUWVBFX1NJX0NWUE9JTlRFUiwgY2FjaGUpLAogCisjaWZk ZWYgTUlQU19TVVBQT1JUX01TQQogICAvKiBCdWlsdC1pbiBmdW5jdGlvbnMgZm9yIE1TQS4gICov CiAgIE1TQV9CVUlMVElOX1BVUkUgKHNsbF9iLCBNSVBTX1YxNlFJX0ZUWVBFX1YxNlFJX1YxNlFJ KSwKICAgTVNBX0JVSUxUSU5fUFVSRSAoc2xsX2gsIE1JUFNfVjhISV9GVFlQRV9WOEhJX1Y4SEkp LApAQCAtMTY1NjksNiArMTY2MzAsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IG1pcHNfYnVpbHRp bl9kZXNjcmlwdGlvbiBtaXBzX2J1aWx0aW5zW10gPSB7CiAgIE1TQV9OT19UQVJHRVRfQlVJTFRJ TiAoY3RjbXNhLCBNSVBTX1ZPSURfRlRZUEVfVVFJX1NJKSwKICAgTVNBX0JVSUxUSU5fUFVSRSAo Y2ZjbXNhLCBNSVBTX1NJX0ZUWVBFX1VRSSksCiAgIE1TQV9CVUlMVElOX1BVUkUgKG1vdmVfdiwg TUlQU19WMTZRSV9GVFlQRV9WMTZRSSksCisjZW5kaWYKIH07CiAKIC8qIEluZGV4IEkgaXMgdGhl IGZ1bmN0aW9uIGRlY2xhcmF0aW9uIGZvciBtaXBzX2J1aWx0aW5zW0ldLCBvciBudWxsIGlmIHRo ZQpAQCAtMTY3MzksMjAgKzE2ODAxLDE5IEBAIG1pcHNfYnVpbHRpbl9kZWNsICh1bnNpZ25lZCBp bnQgY29kZSwgYm9vbCBpbml0aWFsaXplX3AgQVRUUklCVVRFX1VOVVNFRCkKIC8qIEltcGxlbWVu dCBUQVJHRVRfVkVDVE9SSVpFX0JVSUxUSU5fVkVDVE9SSVpFRF9GVU5DVElPTi4gICovCiAKIHN0 YXRpYyB0cmVlCi1taXBzX2J1aWx0aW5fdmVjdG9yaXplZF9mdW5jdGlvbiAodW5zaWduZWQgaW50 IGZuLCB0cmVlIHR5cGVfb3V0LCB0cmVlIHR5cGVfaW4pCittaXBzX2J1aWx0aW5fdmVjdG9yaXpl ZF9mdW5jdGlvbiAodW5zaWduZWQgaW50IGZuIEFUVFJJQlVURV9VTlVTRUQsCisJCQkJICB0cmVl IHR5cGVfb3V0LCB0cmVlIHR5cGVfaW4pCiB7Ci0gIG1hY2hpbmVfbW9kZSBpbl9tb2RlLCBvdXRf bW9kZTsKLSAgaW50IGluX24sIG91dF9uOwotCiAgIGlmIChUUkVFX0NPREUgKHR5cGVfb3V0KSAh PSBWRUNUT1JfVFlQRQogICAgICAgfHwgVFJFRV9DT0RFICh0eXBlX2luKSAhPSBWRUNUT1JfVFlQ RQogICAgICAgfHwgIUlTQV9IQVNfTVNBKQogICAgIHJldHVybiBOVUxMX1RSRUU7CiAKLSAgb3V0 X21vZGUgPSBUWVBFX01PREUgKFRSRUVfVFlQRSAodHlwZV9vdXQpKTsKLSAgb3V0X24gPSBUWVBF X1ZFQ1RPUl9TVUJQQVJUUyAodHlwZV9vdXQpOwotICBpbl9tb2RlID0gVFlQRV9NT0RFIChUUkVF X1RZUEUgKHR5cGVfaW4pKTsKLSAgaW5fbiA9IFRZUEVfVkVDVE9SX1NVQlBBUlRTICh0eXBlX2lu KTsKKyNpZmRlZiBNSVBTX1NVUFBPUlRfTVNBCisgIG1hY2hpbmVfbW9kZSBvdXRfbW9kZSA9IFRZ UEVfTU9ERSAoVFJFRV9UWVBFICh0eXBlX291dCkpOworICBpbnQgb3V0X24gPSBUWVBFX1ZFQ1RP Ul9TVUJQQVJUUyAodHlwZV9vdXQpOworICBtYWNoaW5lX21vZGUgaW5fbW9kZSA9IFRZUEVfTU9E RSAoVFJFRV9UWVBFICh0eXBlX2luKSk7CisgIGludCBpbl9uID0gVFlQRV9WRUNUT1JfU1VCUEFS VFMgKHR5cGVfaW4pOwogCiAgIC8qIElOU04gaXMgdGhlIG5hbWUgb2YgdGhlIGFzc29jaWF0ZWQg aW5zdHJ1Y3Rpb24gcGF0dGVybiwgd2l0aG91dAogICAgICB0aGUgbGVhZGluZyBDT0RFX0ZPUl8u ICAqLwpAQCAtMTY3NzQsNiArMTY4MzUsNyBAQCBtaXBzX2J1aWx0aW5fdmVjdG9yaXplZF9mdW5j dGlvbiAodW5zaWduZWQgaW50IGZuLCB0cmVlIHR5cGVfb3V0LCB0cmVlIHR5cGVfaW4pCiAgICAg ZGVmYXVsdDoKICAgICAgIGJyZWFrOwogICAgIH0KKyNlbmRpZgogCiAgIHJldHVybiBOVUxMX1RS RUU7CiB9CkBAIC0xNjgwNCwxMCArMTY4NjYsMTEgQEAgc3RhdGljIHJ0eAogbWlwc19leHBhbmRf YnVpbHRpbl9pbnNuIChlbnVtIGluc25fY29kZSBpY29kZSwgdW5zaWduZWQgaW50IG5vcHMsCiAJ CQkgIHN0cnVjdCBleHBhbmRfb3BlcmFuZCAqb3BzLCBib29sIGhhc190YXJnZXRfcCkKIHsKLSAg bWFjaGluZV9tb2RlIGltb2RlOworICBtYWNoaW5lX21vZGUgaW1vZGUgQVRUUklCVVRFX1VOVVNF RDsKICAgaW50IHJhbmdlbG8gPSAwLCByYW5nZWhpID0gMCwgZXJyb3Jfb3BubyA9IDA7Ci0gIHJ0 eCBzaXJlZzsKKyAgcnR4IHNpcmVnIEFUVFJJQlVURV9VTlVTRUQ7CiAKKyNpZmRlZiBNSVBTX1NV UFBPUlRfTVNBCiAgIHN3aXRjaCAoaWNvZGUpCiAgICAgewogICAgIC8qIFRoZSB0aGlyZCBvcGVy YW5kIG9mIHRoZXNlIGluc3RydWN0aW9ucyBpcyBpbiBTSW1vZGUsIHNvIHdlIG5lZWQgdG8KQEAg LTE3MDkyLDYgKzE3MTU1LDcgQEAgbWlwc19leHBhbmRfYnVpbHRpbl9pbnNuIChlbnVtIGluc25f Y29kZSBpY29kZSwgdW5zaWduZWQgaW50IG5vcHMsCiAgICAgZGVmYXVsdDoKICAgICAgIGJyZWFr OwogICB9CisjZW5kaWYKIAogICBpZiAoZXJyb3Jfb3BubyAhPSAwKQogICAgIHsKQEAgLTE3MTYw LDYgKzE3MjI0LDcgQEAgbWlwc19leHBhbmRfYnVpbHRpbl9kaXJlY3QgKGVudW0gaW5zbl9jb2Rl IGljb2RlLCBydHggdGFyZ2V0LCB0cmVlIGV4cCwKICAgcmV0dXJuIG1pcHNfZXhwYW5kX2J1aWx0 aW5faW5zbiAoaWNvZGUsIG9wbm8sIG9wcywgaGFzX3RhcmdldF9wKTsKIH0KIAorI2lmZGVmIE1J UFNfU1VQUE9SVF9QU18zRAogLyogRXhwYW5kIGEgX19idWlsdGluX21pcHNfbW92dF8qX3BzIG9y IF9fYnVpbHRpbl9taXBzX21vdmZfKl9wcwogICAgZnVuY3Rpb247IFRZUEUgc2F5cyB3aGljaC4g IEVYUCBpcyB0aGUgQ0FMTF9FWFBSIHRoYXQgY2FsbHMgdGhlCiAgICBmdW5jdGlvbiwgSUNPREUg aXMgdGhlIGluc3RydWN0aW9uIHRoYXQgc2hvdWxkIGJlIHVzZWQgdG8gY29tcGFyZQpAQCAtMTcx OTAsNiArMTcyNTUsNyBAQCBtaXBzX2V4cGFuZF9idWlsdGluX21vdnRmIChlbnVtIG1pcHNfYnVp bHRpbl90eXBlIHR5cGUsCiAgIHJldHVybiBtaXBzX2V4cGFuZF9idWlsdGluX2luc24gKENPREVf Rk9SX21pcHNfY29uZF9tb3ZlX3RmX3BzLAogCQkJCSAgIDQsIG9wcywgdHJ1ZSk7CiB9CisjZW5k aWYKIAogLyogRXhwYW5kIGFuIE1TQSBidWlsdC1pbiBmb3IgYSBjb21wYXJlIGFuZCBicmFuY2gg aW5zdHJ1Y3Rpb24gc3BlY2lmaWVkIGJ5CiAgICBJQ09ERSwgc2V0IGEgZ2VuZXJhbC1wdXJwb3Nl IHJlZ2lzdGVyIHRvIDEgaWYgdGhlIGJyYW5jaCB3YXMgdGFrZW4sCkBAIC0xNzI3Myw3ICsxNzMz OSw3IEBAIG1pcHNfZXhwYW5kX2J1aWx0aW5fY29tcGFyZSAoZW51bSBtaXBzX2J1aWx0aW5fdHlw ZSBidWlsdGluX3R5cGUsCiAJCQkgICAgIGVudW0gaW5zbl9jb2RlIGljb2RlLCBlbnVtIG1pcHNf ZnBfY29uZGl0aW9uIGNvbmQsCiAJCQkgICAgIHJ0eCB0YXJnZXQsIHRyZWUgZXhwKQogewotICBy dHggb2Zmc2V0LCBjb25kaXRpb24sIGNtcF9yZXN1bHQ7CisgIHJ0eCBvZmZzZXQgQVRUUklCVVRF X1VOVVNFRCwgY29uZGl0aW9uLCBjbXBfcmVzdWx0OwogCiAgIGlmICh0YXJnZXQgPT0gMCB8fCBH RVRfTU9ERSAodGFyZ2V0KSAhPSBTSW1vZGUpCiAgICAgdGFyZ2V0ID0gZ2VuX3JlZ19ydHggKFNJ bW9kZSk7CkBAIC0xNzI5MCwxMiArMTczNTYsMTQgQEAgbWlwc19leHBhbmRfYnVpbHRpbl9jb21w YXJlIChlbnVtIG1pcHNfYnVpbHRpbl90eXBlIGJ1aWx0aW5fdHlwZSwKICAgICAgIHJldHVybiBt aXBzX2J1aWx0aW5fYnJhbmNoX2FuZF9tb3ZlIChjb25kaXRpb24sIHRhcmdldCwKIAkJCQkJICAg Y29uc3QwX3J0eCwgY29uc3QxX3J0eCk7CiAKKyNpZmRlZiBNSVBTX1NVUFBPUlRfUFNfM0QKICAg ICBjYXNlIE1JUFNfQlVJTFRJTl9DTVBfVVBQRVI6CiAgICAgY2FzZSBNSVBTX0JVSUxUSU5fQ01Q X0xPV0VSOgogICAgICAgb2Zmc2V0ID0gR0VOX0lOVCAoYnVpbHRpbl90eXBlID09IE1JUFNfQlVJ TFRJTl9DTVBfVVBQRVIpOwogICAgICAgY29uZGl0aW9uID0gZ2VuX3NpbmdsZV9jYyAoY21wX3Jl c3VsdCwgb2Zmc2V0KTsKICAgICAgIHJldHVybiBtaXBzX2J1aWx0aW5fYnJhbmNoX2FuZF9tb3Zl IChjb25kaXRpb24sIHRhcmdldCwKIAkJCQkJICAgY29uc3QxX3J0eCwgY29uc3QwX3J0eCk7Cisj ZW5kaWYKIAogICAgIGRlZmF1bHQ6CiAgICAgICBjb25kaXRpb24gPSBnZW5fcnR4X05FIChWT0lE bW9kZSwgY21wX3Jlc3VsdCwgY29uc3QwX3J0eCk7CkBAIC0xNzMwNCw2ICsxNzM3Miw3IEBAIG1p cHNfZXhwYW5kX2J1aWx0aW5fY29tcGFyZSAoZW51bSBtaXBzX2J1aWx0aW5fdHlwZSBidWlsdGlu X3R5cGUsCiAgICAgfQogfQogCisjaWZkZWYgTUlQU19TVVBQT1JUX0RTUAogLyogRXhwYW5kIGEg YnBvc2dlIGJ1aWx0LWluIGZ1bmN0aW9uIG9mIHR5cGUgQlVJTFRJTl9UWVBFLiAgVEFSR0VULAog ICAgaWYgbm9ubnVsbCwgc3VnZ2VzdHMgYSBnb29kIHBsYWNlIHRvIHB1dCB0aGUgYm9vbGVhbiBy ZXN1bHQuICAqLwogCkBAIC0xNzMyNyw2ICsxNzM5Niw3IEBAIG1pcHNfZXhwYW5kX2J1aWx0aW5f YnBvc2dlIChlbnVtIG1pcHNfYnVpbHRpbl90eXBlIGJ1aWx0aW5fdHlwZSwgcnR4IHRhcmdldCkK ICAgcmV0dXJuIG1pcHNfYnVpbHRpbl9icmFuY2hfYW5kX21vdmUgKGNvbmRpdGlvbiwgdGFyZ2V0 LAogCQkJCSAgICAgICBjb25zdDFfcnR4LCBjb25zdDBfcnR4KTsKIH0KKyNlbmRpZgogCiAvKiBJ bXBsZW1lbnQgVEFSR0VUX0VYUEFORF9CVUlMVElOLiAgKi8KIApAQCAtMTczNTgsMTAgKzE3NDI4 LDEyIEBAIG1pcHNfZXhwYW5kX2J1aWx0aW4gKHRyZWUgZXhwLCBydHggdGFyZ2V0LCBydHggc3Vi dGFyZ2V0IEFUVFJJQlVURV9VTlVTRUQsCiAgICAgY2FzZSBNSVBTX0JVSUxUSU5fRElSRUNUX05P X1RBUkdFVDoKICAgICAgIHJldHVybiBtaXBzX2V4cGFuZF9idWlsdGluX2RpcmVjdCAoZC0+aWNv ZGUsIHRhcmdldCwgZXhwLCBmYWxzZSk7CiAKKyNpZmRlZiBNSVBTX1NVUFBPUlRfUFNfM0QKICAg ICBjYXNlIE1JUFNfQlVJTFRJTl9NT1ZUOgogICAgIGNhc2UgTUlQU19CVUlMVElOX01PVkY6CiAg ICAgICByZXR1cm4gbWlwc19leHBhbmRfYnVpbHRpbl9tb3Z0ZiAoZC0+YnVpbHRpbl90eXBlLCBk LT5pY29kZSwKIAkJCQkJZC0+Y29uZCwgdGFyZ2V0LCBleHApOworI2VuZGlmCiAKICAgICBjYXNl IE1JUFNfQlVJTFRJTl9DTVBfQU5ZOgogICAgIGNhc2UgTUlQU19CVUlMVElOX0NNUF9BTEw6CkBA IC0xNzM3NCw4ICsxNzQ0NiwxMCBAQCBtaXBzX2V4cGFuZF9idWlsdGluICh0cmVlIGV4cCwgcnR4 IHRhcmdldCwgcnR4IHN1YnRhcmdldCBBVFRSSUJVVEVfVU5VU0VELAogICAgIGNhc2UgTUlQU19C VUlMVElOX01TQV9URVNUX0JSQU5DSDoKICAgICAgIHJldHVybiBtaXBzX2V4cGFuZF9idWlsdGlu X21zYV90ZXN0X2JyYW5jaCAoZC0+aWNvZGUsIGV4cCk7CiAKKyNpZmRlZiBNSVBTX1NVUFBPUlRf RFNQCiAgICAgY2FzZSBNSVBTX0JVSUxUSU5fQlBPU0dFMzI6CiAgICAgICByZXR1cm4gbWlwc19l eHBhbmRfYnVpbHRpbl9icG9zZ2UgKGQtPmJ1aWx0aW5fdHlwZSwgdGFyZ2V0KTsKKyNlbmRpZgog ICAgIH0KICAgZ2NjX3VucmVhY2hhYmxlICgpOwogfQpAQCAtMjA1MjUsNyArMjA1OTksOSBAQCBt aXBzX29wdGlvbl9vdmVycmlkZSAodm9pZCkKICAgaWYgKFRBUkdFVF9IQVJEX0ZMT0FUX0FCSSAm JiBUQVJHRVRfTUlQUzU5MDApCiAgICAgUkVBTF9NT0RFX0ZPUk1BVCAoU0Ztb2RlKSA9ICZzcHVf c2luZ2xlX2Zvcm1hdDsKIAorI2lmZGVmIE1JUFNfU1VQUE9SVF9GUkFNRV9IRUFERVJfT1BUCiAg IG1pcHNfcmVnaXN0ZXJfZnJhbWVfaGVhZGVyX29wdCAoKTsKKyNlbmRpZgogfQogCiAvKiBTd2Fw IHRoZSByZWdpc3RlciBpbmZvcm1hdGlvbiBmb3IgcmVnaXN0ZXJzIEkgYW5kIEkgKyAxLCB3aGlj aApAQCAtMjA1NTgsOSArMjA2MzQsMTEgQEAgbWlwc19jb25kaXRpb25hbF9yZWdpc3Rlcl91c2Fn ZSAodm9pZCkKIAogICBpZiAoSVNBX0hBU19EU1ApCiAgICAgeworI2lmZGVmIE1JUFNfU1VQUE9S VF9EU1AKICAgICAgIC8qIFRoZXNlIERTUCBjb250cm9sIHJlZ2lzdGVyIGZpZWxkcyBhcmUgZ2xv YmFsLiAgKi8KICAgICAgIGdsb2JhbF9yZWdzW0NDRFNQX1BPX1JFR05VTV0gPSAxOwogICAgICAg Z2xvYmFsX3JlZ3NbQ0NEU1BfU0NfUkVHTlVNXSA9IDE7CisjZW5kaWYKICAgICB9CiAgIGVsc2UK ICAgICBhY2Nlc3NpYmxlX3JlZ19zZXQgJj0gfnJlZ19jbGFzc19jb250ZW50c1tEU1BfQUNDX1JF R1NdOwpAQCAtMjE0NjksNiArMjE1NDcsNyBAQCBtaXBzX2V4cGFuZF92c2VsZWN0X3Zjb25jYXQg KHJ0eCB0YXJnZXQsIHJ0eCBvcDAsIHJ0eCBvcDEsCiAgIHJldHVybiBtaXBzX2V4cGFuZF92c2Vs ZWN0ICh0YXJnZXQsIHgsIHBlcm0sIG5lbHQpOwogfQogCisjaWZkZWYgTUlQU19TVVBQT1JUX0xP T05HU09OCiAvKiBSZWNvZ25pemUgcGF0dGVybnMgZm9yIGV2ZW4tb2RkIGV4dHJhY3Rpb24uICAq LwogCiBzdGF0aWMgYm9vbApAQCAtMjE2MTksMTEgKzIxNjk4LDEyIEBAIG1pcHNfZXhwYW5kX3Zw Y19sb29uZ3Nvbl9iY2FzdCAoc3RydWN0IGV4cGFuZF92ZWNfcGVybV9kICpkKQogICBlbWl0X21v dmVfaW5zbiAoZC0+dGFyZ2V0LCBnZW5fbG93cGFydCAoVjhRSW1vZGUsIHQxKSk7CiAgIHJldHVy biB0cnVlOwogfQorI2VuZGlmCiAKIC8qIENvbnN0cnVjdCAoc2V0IHRhcmdldCAodmVjX3NlbGVj dCBvcDAgKHBhcmFsbGVsIHNlbGVjdG9yKSkpIGFuZAogICAgcmV0dXJuIHRydWUgaWYgdGhhdCdz IGEgdmFsaWQgaW5zdHJ1Y3Rpb24gaW4gdGhlIGFjdGl2ZSBJU0EuICAqLwogCi1zdGF0aWMgYm9v bAorc3RhdGljIGJvb2wgQVRUUklCVVRFX1VOVVNFRAogbWlwc19leHBhbmRfbXNhX3NodWZmbGUg KHN0cnVjdCBleHBhbmRfdmVjX3Blcm1fZCAqZCkKIHsKICAgcnR4IHgsIGVsdHNbTUFYX1ZFQ1Rf TEVOXTsKQEAgLTIxNjgzLDE0ICsyMTc2MywxOCBAQCBtaXBzX2V4cGFuZF92ZWNfcGVybV9jb25z dF8xIChzdHJ1Y3QgZXhwYW5kX3ZlY19wZXJtX2QgKmQpCiAJcmV0dXJuIHRydWU7CiAgICAgfQog CisjaWZkZWYgTUlQU19TVVBQT1JUX0xPT05HU09OCiAgIGlmIChtaXBzX2V4cGFuZF92cGNfbG9v bmdzb25fZXZlbl9vZGQgKGQpKQogICAgIHJldHVybiB0cnVlOwogICBpZiAobWlwc19leHBhbmRf dnBjX2xvb25nc29uX3BzaHVmaCAoZCkpCiAgICAgcmV0dXJuIHRydWU7CiAgIGlmIChtaXBzX2V4 cGFuZF92cGNfbG9vbmdzb25fYmNhc3QgKGQpKQogICAgIHJldHVybiB0cnVlOworI2VuZGlmCisj aWZkZWYgTUlQU19TVVBQT1JUX01TQQogICBpZiAobWlwc19leHBhbmRfbXNhX3NodWZmbGUgKGQp KQogICAgIHJldHVybiB0cnVlOworI2VuZGlmCiAgIHJldHVybiBmYWxzZTsKIH0KIApAQCAtMjE4 MDMsNiArMjE4ODcsNyBAQCBtaXBzX3NjaGVkX3JlYXNzb2NpYXRpb25fd2lkdGggKHVuc2lnbmVk IGludCBvcGMgQVRUUklCVVRFX1VOVVNFRCwKICAgcmV0dXJuIDE7CiB9CiAKKyNpZmRlZiBNSVBT X1NVUFBPUlRfTVNBCiAvKiBFeHBhbmQgYW4gaW50ZWdyYWwgdmVjdG9yIHVucGFjayBvcGVyYXRp b24uICAqLwogCiB2b2lkCkBAIC0yMTkyMiw2ICsyMjAwNyw3IEBAIG1pcHNfbXNhX3ZlY19wYXJh bGxlbF9jb25zdF9oYWxmIChtYWNoaW5lX21vZGUgbW9kZSwgYm9vbCBoaWdoX3ApCiAKICAgcmV0 dXJuIGdlbl9ydHhfUEFSQUxMRUwgKFZPSURtb2RlLCB2KTsKIH0KKyNlbmRpZgogCiAvKiBBIHN1 YnJvdXRpbmUgb2YgbWlwc19leHBhbmRfdmVjX2luaXQsIG1hdGNoIGNvbnN0YW50IHZlY3RvciBl bGVtZW50cy4gICovCiAKQEAgLTIxOTQ4LDEyICsyMjAzNCwxNCBAQCBtaXBzX2V4cGFuZF92aV9i cm9hZGNhc3QgKG1hY2hpbmVfbW9kZSB2bW9kZSwgcnR4IHRhcmdldCwgcnR4IGVsdCkKICAgdDEg PSBnZW5fcmVnX3J0eCAodm1vZGUpOwogICBzd2l0Y2ggKHZtb2RlKQogICAgIHsKKyNpZmRlZiBN SVBTX1NVUFBPUlRfTE9PTkdTT04KICAgICBjYXNlIEVfVjhRSW1vZGU6CiAgICAgICBlbWl0X2lu c24gKGdlbl9sb29uZ3Nvbl92ZWNfaW5pdDFfdjhxaSAodDEsIGVsdCkpOwogICAgICAgYnJlYWs7 CiAgICAgY2FzZSBFX1Y0SEltb2RlOgogICAgICAgZW1pdF9pbnNuIChnZW5fbG9vbmdzb25fdmVj X2luaXQxX3Y0aGkgKHQxLCBlbHQpKTsKICAgICAgIGJyZWFrOworI2VuZGlmCiAgICAgZGVmYXVs dDoKICAgICAgIGdjY191bnJlYWNoYWJsZSAoKTsKICAgICB9CkBAIC0yMTk4Miw3ICsyMjA3MCw3 IEBAIG1pcHNfZ2VuX2NvbnN0X2ludF92ZWN0b3IgKG1hY2hpbmVfbW9kZSBtb2RlLCBIT1NUX1dJ REVfSU5UIHZhbCkKIC8qIFJldHVybiBhIHZlY3RvciBvZiByZXBlYXRlZCA0LWVsZW1lbnQgc2V0 cyBnZW5lcmF0ZWQgZnJvbQogICAgaW1tZWRpYXRlIFZBTCBpbiBtb2RlIE1PREUuICAqLwogCi1z dGF0aWMgcnR4CitzdGF0aWMgcnR4IEFUVFJJQlVURV9VTlVTRUQKIG1pcHNfZ2VuX2NvbnN0X2lu dF92ZWN0b3Jfc2h1ZmZsZSAobWFjaGluZV9tb2RlIG1vZGUsIGludCB2YWwpCiB7CiAgIGludCBu dW5pdHMgPSBHRVRfTU9ERV9OVU5JVFMgKG1vZGUpOwpAQCAtMjIwMjEsNiArMjIxMDksNyBAQCBt aXBzX2V4cGFuZF92aV9jb25zdGFudCAobWFjaGluZV9tb2RlIHZtb2RlLCB1bnNpZ25lZCBuZWx0 LAogfQogCiAKKyNpZmRlZiBNSVBTX1NVUFBPUlRfTE9PTkdTT04KIC8qIEEgc3Vicm91dGluZSBv ZiBtaXBzX2V4cGFuZF92ZWNfaW5pdCwgZXhwYW5kIHZpYSBwaW5zcmguICAqLwogCiBzdGF0aWMg dm9pZApAQCAtMjIwMzEsNiArMjIxMjAsNyBAQCBtaXBzX2V4cGFuZF92aV9sb29uZ3Nvbl9vbmVf cGluc3JoIChydHggdGFyZ2V0LCBydHggdmFscywgdW5zaWduZWQgb25lX3ZhcikKICAgZW1pdF9p bnNuIChnZW5fdmVjX3NldHY0aGkgKHRhcmdldCwgdGFyZ2V0LCBYVkVDRVhQICh2YWxzLCAwLCBv bmVfdmFyKSwKIAkJCSAgICAgIEdFTl9JTlQgKG9uZV92YXIpKSk7CiB9CisjZW5kaWYKIAogLyog QSBzdWJyb3V0aW5lIG9mIG1pcHNfZXhwYW5kX3ZlY19pbml0LCBleHBhbmQgYW55dGhpbmcgdmlh IG1lbW9yeS4gICovCiAKQEAgLTIyMDYyLDcgKzIyMTUyLDEwIEBAIG1pcHNfZXhwYW5kX3ZlY3Rv cl9pbml0IChydHggdGFyZ2V0LCBydHggdmFscykKICAgbWFjaGluZV9tb2RlIHZtb2RlID0gR0VU X01PREUgKHRhcmdldCk7CiAgIG1hY2hpbmVfbW9kZSBpbW9kZSA9IEdFVF9NT0RFX0lOTkVSICh2 bW9kZSk7CiAgIHVuc2lnbmVkIGksIG5lbHQgPSBHRVRfTU9ERV9OVU5JVFMgKHZtb2RlKTsKLSAg dW5zaWduZWQgbnZhciA9IDAsIG9uZV92YXIgPSAtMXU7CisgIHVuc2lnbmVkIG52YXIgPSAwOwor I2lmZGVmIE1JUFNfU1VQUE9SVF9MT09OR1NPTgorICB1bnNpZ25lZCBvbmVfdmFyID0gLTF1Owor I2VuZGlmCiAgIGJvb2wgYWxsX3NhbWUgPSB0cnVlOwogICBydHggeDsKIApAQCAtMjIwNzAsNyAr MjIxNjMsMTEgQEAgbWlwc19leHBhbmRfdmVjdG9yX2luaXQgKHJ0eCB0YXJnZXQsIHJ0eCB2YWxz KQogICAgIHsKICAgICAgIHggPSBYVkVDRVhQICh2YWxzLCAwLCBpKTsKICAgICAgIGlmICghbWlw c19jb25zdGFudF9lbHRfcCAoeCkpCisjaWZkZWYgTUlQU19TVVBQT1JUX0xPT05HU09OCiAJbnZh cisrLCBvbmVfdmFyID0gaTsKKyNlbHNlCisJbnZhcisrOworI2VuZGlmCiAgICAgICBpZiAoaSA+ IDAgJiYgIXJ0eF9lcXVhbF9wICh4LCBYVkVDRVhQICh2YWxzLCAwLCAwKSkpCiAJYWxsX3NhbWUg PSBmYWxzZTsKICAgICB9CkBAIC0yMjExNyw2ICsyMjIxNCw3IEBAIG1pcHNfZXhwYW5kX3ZlY3Rv cl9pbml0IChydHggdGFyZ2V0LCBydHggdmFscykKIAkgICAgICBtaXBzX2VtaXRfbW92ZSAodGFy Z2V0LCBnZW5fcnR4X1ZFQ19EVVBMSUNBVEUgKHZtb2RlLCB0ZW1wKSk7CiAJICAgICAgYnJlYWs7 CiAKKyNpZmRlZiBNSVBTX1NVUFBPUlRfTVNBCiAJICAgIGNhc2UgRV9WNFNGbW9kZToKIAkgICAg ICBlbWl0X2luc24gKGdlbl9tc2Ffc3BsYXRpX3dfZl9zY2FsYXIgKHRhcmdldCwgdGVtcCkpOwog CSAgICAgIGJyZWFrOwpAQCAtMjIxMjQsMTEgKzIyMjIyLDEzIEBAIG1pcHNfZXhwYW5kX3ZlY3Rv cl9pbml0IChydHggdGFyZ2V0LCBydHggdmFscykKIAkgICAgY2FzZSBFX1YyREZtb2RlOgogCSAg ICAgIGVtaXRfaW5zbiAoZ2VuX21zYV9zcGxhdGlfZF9mX3NjYWxhciAodGFyZ2V0LCB0ZW1wKSk7 CiAJICAgICAgYnJlYWs7CisjZW5kaWYKIAogCSAgICBkZWZhdWx0OgogCSAgICAgIGdjY191bnJl YWNoYWJsZSAoKTsKIAkgICAgfQogCX0KKyNpZiBkZWZpbmVkIChNSVBTX1NVUFBPUlRfTVNBKSB8 fCBkZWZpbmVkIChNSVBTX1NVUFBPUlRfTE9PTkdTT04pCiAgICAgICBlbHNlCiAJewogCSAgZW1p dF9tb3ZlX2luc24gKHRhcmdldCwgQ09OU1QwX1JUWCAodm1vZGUpKTsKQEAgLTIyMTY4LDYgKzIy MjY4LDcgQEAgbWlwc19leHBhbmRfdmVjdG9yX2luaXQgKHJ0eCB0YXJnZXQsIHJ0eCB2YWxzKQog CQl9CiAJICAgIH0KIAl9CisjZW5kaWYKICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTIyMTk4 LDEyICsyMjI5OSwxNCBAQCBtaXBzX2V4cGFuZF92ZWN0b3JfaW5pdCAocnR4IHRhcmdldCwgcnR4 IHZhbHMpCiAgICAgICByZXR1cm47CiAgICAgfQogCisjaWZkZWYgTUlQU19TVVBQT1JUX0xPT05H U09OCiAgIC8qIElmIHdlJ3ZlIG9ubHkgZ290IG9uZSBub24tdmFyaWFibGUgVjRISW1vZGUsIHVz ZSBQSU5TUkguICAqLwogICBpZiAobnZhciA9PSAxICYmIHZtb2RlID09IFY0SEltb2RlKQogICAg IHsKICAgICAgIG1pcHNfZXhwYW5kX3ZpX2xvb25nc29uX29uZV9waW5zcmggKHRhcmdldCwgdmFs cywgb25lX3Zhcik7CiAgICAgICByZXR1cm47CiAgICAgfQorI2VuZGlmCiAKICAgbWlwc19leHBh bmRfdmlfZ2VuZXJhbCAodm1vZGUsIGltb2RlLCBuZWx0LCBudmFyLCB0YXJnZXQsIHZhbHMpOwog fQpAQCAtMjIyMTUsNyArMjIzMTgsMTAgQEAgbWlwc19leHBhbmRfdmVjX3JlZHVjIChydHggdGFy Z2V0LCBydHggaW4sIHJ0eCAoKmdlbikocnR4LCBydHgsIHJ0eCkpCiB7CiAgIG1hY2hpbmVfbW9k ZSB2bW9kZSA9IEdFVF9NT0RFIChpbik7CiAgIHVuc2lnbmVkIGNoYXIgcGVybTJbMl07Ci0gIHJ0 eCBsYXN0LCBuZXh0LCBmb2xkLCB4OworICBydHggbGFzdCwgZm9sZDsKKyNpZmRlZiBNSVBTX1NV UFBPUlRfTE9PTkdTT04KKyAgcnR4IG5leHQsIHg7CisjZW5kaWYKICAgYm9vbCBvazsKIAogICBs YXN0ID0gaW47CkBAIC0yMjIzMyw2ICsyMjMzOSw3IEBAIG1pcHNfZXhwYW5kX3ZlY19yZWR1YyAo cnR4IHRhcmdldCwgcnR4IGluLCBydHggKCpnZW4pKHJ0eCwgcnR4LCBydHgpKQogICAgICAgZ2Nj X2Fzc2VydCAob2spOwogICAgICAgYnJlYWs7CiAKKyNpZmRlZiBNSVBTX1NVUFBPUlRfTE9PTkdT T04KICAgICBjYXNlIEVfVjJTSW1vZGU6CiAgICAgICAvKiBVc2UgaW50ZXJsZWF2ZSB0byBwcm9k dWNlIHsgSCwgTCB9IG9wIHsgSCwgSCB9LiAgKi8KICAgICAgIGVtaXRfaW5zbiAoZ2VuX2xvb25n c29uX3B1bnBja2h3ZCAoZm9sZCwgbGFzdCwgbGFzdCkpOwpAQCAtMjIyNzEsNiArMjIzNzgsNyBA QCBtaXBzX2V4cGFuZF92ZWNfcmVkdWMgKHJ0eCB0YXJnZXQsIHJ0eCBpbiwgcnR4ICgqZ2VuKShy dHgsIHJ0eCwgcnR4KSkKICAgICAgIHggPSBmb3JjZV9yZWcgKFNJbW9kZSwgR0VOX0lOVCAoOCkp OwogICAgICAgZW1pdF9pbnNuIChnZW5fdmVjX3Nocl92OHFpIChmb2xkLCBsYXN0LCB4KSk7CiAg ICAgICBicmVhazsKKyNlbmRpZgogCiAgICAgZGVmYXVsdDoKICAgICAgIGdjY191bnJlYWNoYWJs ZSAoKTsKQEAgLTIyMzc5LDEwICsyMjQ4NywxMiBAQCBtaXBzX2V4cGFuZF9tc2FfY21wIChydHgg ZGVzdCwgZW51bSBydHhfY29kZSBjb25kLCBydHggb3AwLCBydHggb3AxKQogCWNhc2UgTFRHVDog Y29uZCA9IE5FOyBicmVhazsKIAljYXNlIFVOR0U6IGNvbmQgPSBVTkxFOyBzdGQ6OnN3YXAgKG9w MCwgb3AxKTsgYnJlYWs7CiAJY2FzZSBVTkdUOiBjb25kID0gVU5MVDsgc3RkOjpzd2FwIChvcDAs IG9wMSk7IGJyZWFrOworI2lmZGVmIE1JUFNfU1VQUE9SVF9NU0EKIAljYXNlIExFOiB1bnNwZWMg PSBVTlNQRUNfTVNBX0ZTTEU7IGJyZWFrOwogCWNhc2UgTFQ6IHVuc3BlYyA9IFVOU1BFQ19NU0Ff RlNMVDsgYnJlYWs7CiAJY2FzZSBHRTogdW5zcGVjID0gVU5TUEVDX01TQV9GU0xFOyBzdGQ6OnN3 YXAgKG9wMCwgb3AxKTsgYnJlYWs7CiAJY2FzZSBHVDogdW5zcGVjID0gVU5TUEVDX01TQV9GU0xU OyBzdGQ6OnN3YXAgKG9wMCwgb3AxKTsgYnJlYWs7CisjZW5kaWYKIAlkZWZhdWx0OgogCSAgZ2Nj X3VucmVhY2hhYmxlICgpOwogCX0KQEAgLTIyNzAwLDEwICsyMjgxMCwxNCBAQCBtaXBzX2FzbV9m aWxlX2VuZCAodm9pZCkKICNkZWZpbmUgVEFSR0VUX1NDSEVEX0FESlVTVF9DT1NUIG1pcHNfYWRq dXN0X2Nvc3QKICN1bmRlZiBUQVJHRVRfU0NIRURfSVNTVUVfUkFURQogI2RlZmluZSBUQVJHRVRf U0NIRURfSVNTVUVfUkFURSBtaXBzX2lzc3VlX3JhdGUKLSN1bmRlZiBUQVJHRVRfU0NIRURfSU5J VF9ERkFfUE9TVF9DWUNMRV9JTlNOCi0jZGVmaW5lIFRBUkdFVF9TQ0hFRF9JTklUX0RGQV9QT1NU X0NZQ0xFX0lOU04gbWlwc19pbml0X2RmYV9wb3N0X2N5Y2xlX2luc24KLSN1bmRlZiBUQVJHRVRf U0NIRURfREZBX1BPU1RfQURWQU5DRV9DWUNMRQotI2RlZmluZSBUQVJHRVRfU0NIRURfREZBX1BP U1RfQURWQU5DRV9DWUNMRSBtaXBzX2RmYV9wb3N0X2FkdmFuY2VfY3ljbGUKKworI2lmZGVmIE1J UFNfU1VQUE9SVF9MT09OR1NPTgorIyB1bmRlZiBUQVJHRVRfU0NIRURfSU5JVF9ERkFfUE9TVF9D WUNMRV9JTlNOCisjIGRlZmluZSBUQVJHRVRfU0NIRURfSU5JVF9ERkFfUE9TVF9DWUNMRV9JTlNO IG1pcHNfaW5pdF9kZmFfcG9zdF9jeWNsZV9pbnNuCisjIHVuZGVmIFRBUkdFVF9TQ0hFRF9ERkFf UE9TVF9BRFZBTkNFX0NZQ0xFCisjIGRlZmluZSBUQVJHRVRfU0NIRURfREZBX1BPU1RfQURWQU5D RV9DWUNMRSBtaXBzX2RmYV9wb3N0X2FkdmFuY2VfY3ljbGUKKyNlbmRpZgorCiAjdW5kZWYgVEFS R0VUX1NDSEVEX0ZJUlNUX0NZQ0xFX01VTFRJUEFTU19ERkFfTE9PS0FIRUFECiAjZGVmaW5lIFRB UkdFVF9TQ0hFRF9GSVJTVF9DWUNMRV9NVUxUSVBBU1NfREZBX0xPT0tBSEVBRCBcCiAgIG1pcHNf bXVsdGlwYXNzX2RmYV9sb29rYWhlYWQKZGlmZiAtLWdpdCBhL2djYy9jb25maWcvbWlwcy9taXBz LmggYi9nY2MvY29uZmlnL21pcHMvbWlwcy5oCmluZGV4IGE0NGNjYWRhMGJjLi5jMTg4Y2ZkYmVh YSAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9taXBzL21pcHMuaAorKysgYi9nY2MvY29uZmlnL21p cHMvbWlwcy5oCkBAIC0yNCw2ICsyNCwxNCBAQCBhbG9uZyB3aXRoIEdDQzsgc2VlIHRoZSBmaWxl IENPUFlJTkczLiAgSWYgbm90IHNlZQogCiAjaW5jbHVkZSAiY29uZmlnL3Z4d29ya3MtZHVtbXku aCIKIAorI2RlZmluZSBNSVBTX1NVUFBPUlRfRFNQIDEKKyNkZWZpbmUgTUlQU19TVVBQT1JUX1BT XzNEIDEKKyNkZWZpbmUgTUlQU19TVVBQT1JUX01TQSAxCisjZGVmaW5lIE1JUFNfU1VQUE9SVF9M T09OR1NPTiAxCisjZGVmaW5lIE1JUFNfU1VQUE9SVF9NSUNST01JUFMgMQorI2RlZmluZSBNSVBT X1NVUFBPUlRfTEVHQUNZIDEKKyNkZWZpbmUgTUlQU19TVVBQT1JUX0ZSQU1FX0hFQURFUl9PUFQg MQorCiAjaWZkZWYgR0VORVJBVE9SX0ZJTEUKIC8qIFRoaXMgaXMgdXNlZCBpbiBzb21lIGluc24g Y29uZGl0aW9ucywgc28gbmVlZHMgdG8gYmUgZGVjbGFyZWQsIGJ1dAogICAgZG9lcyBub3QgbmVl ZCB0byBiZSBkZWZpbmVkLiAgKi8KZGlmZiAtLWdpdCBhL2djYy9jb25maWcvbWlwcy9taXBzLm1k IGIvZ2NjL2NvbmZpZy9taXBzL21pcHMubWQKaW5kZXggMWM4YjNiOThiMjAuLjA4OWZhZjg2YzJm IDEwMDY0NAotLS0gYS9nY2MvY29uZmlnL21pcHMvbWlwcy5tZAorKysgYi9nY2MvY29uZmlnL21p cHMvbWlwcy5tZApAQCAtMjEsNTkgKzIxLDYgQEAKIDs7IGFsb25nIHdpdGggR0NDOyBzZWUgdGhl IGZpbGUgQ09QWUlORzMuICBJZiBub3Qgc2VlCiA7OyA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vu c2VzLz4uCiAKLShkZWZpbmVfZW51bSAicHJvY2Vzc29yIiBbCi0gIHIzMDAwCi0gIDRrYwotICA0 a3AKLSAgNWtjCi0gIDVrZgotICAyMGtjCi0gIDI0a2MKLSAgMjRrZjJfMQotICAyNGtmMV8xCi0g IDc0a2MKLSAgNzRrZjJfMQotICA3NGtmMV8xCi0gIDc0a2YzXzIKLSAgbG9vbmdzb25fMmUKLSAg bG9vbmdzb25fMmYKLSAgZ3M0NjQKLSAgZ3M0NjRlCi0gIGdzMjY0ZQotICBtNGsKLSAgb2N0ZW9u Ci0gIG9jdGVvbjIKLSAgb2N0ZW9uMwotICByMzkwMAotICByNjAwMAotICByNDAwMAotICByNDEw MAotICByNDExMQotICByNDEyMAotICByNDEzMAotICByNDMwMAotICByNDYwMAotICByNDY1MAot ICByNDcwMAotICByNTAwMAotICByNTQwMAotICByNTUwMAotICByNTkwMAotICByNzAwMAotICBy ODAwMAotICByOTAwMAotICByMTAwMDAKLSAgc2IxCi0gIHNiMWEKLSAgc3I3MTAwMAotICB4bHIK LSAgeGxwCi0gIHA1NjAwCi0gIG01MTAwCi0gIGk2NDAwCi0gIHA2NjAwCi1dKQotCiAoZGVmaW5l X2NfZW51bSAidW5zcGVjIiBbCiAgIDs7IFVuYWxpZ25lZCBhY2Nlc3Nlcy4KICAgVU5TUEVDX0xP QURfTEVGVApAQCAtMTE2MCwzOCArMTEwNyw2IEBACiAgIChlcV9hdHRyICJ0eXBlIiAiZ2hvc3Qi KQogICAibm90aGluZyIpCiAKLShpbmNsdWRlICJpNjQwMC5tZCIpCi0oaW5jbHVkZSAicDU2MDAu bWQiKQotKGluY2x1ZGUgIm01MTAwLm1kIikKLShpbmNsdWRlICJwNjYwMC5tZCIpCi0oaW5jbHVk ZSAiNGsubWQiKQotKGluY2x1ZGUgIjVrLm1kIikKLShpbmNsdWRlICIyMGtjLm1kIikKLShpbmNs dWRlICIyNGsubWQiKQotKGluY2x1ZGUgIjc0ay5tZCIpCi0oaW5jbHVkZSAiMzAwMC5tZCIpCi0o aW5jbHVkZSAiNDAwMC5tZCIpCi0oaW5jbHVkZSAiNDEwMC5tZCIpCi0oaW5jbHVkZSAiNDEzMC5t ZCIpCi0oaW5jbHVkZSAiNDMwMC5tZCIpCi0oaW5jbHVkZSAiNDYwMC5tZCIpCi0oaW5jbHVkZSAi NTAwMC5tZCIpCi0oaW5jbHVkZSAiNTQwMC5tZCIpCi0oaW5jbHVkZSAiNTUwMC5tZCIpCi0oaW5j bHVkZSAiNjAwMC5tZCIpCi0oaW5jbHVkZSAiNzAwMC5tZCIpCi0oaW5jbHVkZSAiOTAwMC5tZCIp Ci0oaW5jbHVkZSAiMTAwMDAubWQiKQotKGluY2x1ZGUgImxvb25nc29uMmVmLm1kIikKLShpbmNs dWRlICJnczQ2NC5tZCIpCi0oaW5jbHVkZSAiZ3M0NjRlLm1kIikKLShpbmNsdWRlICJnczI2NGUu bWQiKQotKGluY2x1ZGUgIm9jdGVvbi5tZCIpCi0oaW5jbHVkZSAic2IxLm1kIikKLShpbmNsdWRl ICJzcjcxay5tZCIpCi0oaW5jbHVkZSAieGxyLm1kIikKLShpbmNsdWRlICJ4bHAubWQiKQotKGlu Y2x1ZGUgImdlbmVyaWMubWQiKQogDAogOzsKIDs7ICAuLi4uLi4uLi4uLi4uLi4uLi4uLgpAQCAt Nzc5MiwzNSArNzcwNywzIEBACiAJCSAgIChhbnlfZXh0ZW5kOlNJIChtYXRjaF9kdXAgMykpKV0p XQogICAiIikKIAotDAotOzsgU3luY2hyb25pemF0aW9uIGluc3RydWN0aW9ucy4KLQotKGluY2x1 ZGUgInN5bmMubWQiKQotCi07IFRoZSBNSVBTIFBhaXJlZC1TaW5nbGUgRmxvYXRpbmcgUG9pbnQg YW5kIE1JUFMtM0QgSW5zdHJ1Y3Rpb25zLgotCi0oaW5jbHVkZSAibWlwcy1wcy0zZC5tZCIpCi0K LTsgVGhlIE1JUFMgRFNQIEluc3RydWN0aW9ucy4KLQotKGluY2x1ZGUgIm1pcHMtZHNwLm1kIikK LQotOyBUaGUgTUlQUyBEU1AgUkVWIDIgSW5zdHJ1Y3Rpb25zLgotCi0oaW5jbHVkZSAibWlwcy1k c3ByMi5tZCIpCi0KLTsgTUlQUyBmaXhlZC1wb2ludCBpbnN0cnVjdGlvbnMuCi0oaW5jbHVkZSAi bWlwcy1maXhlZC5tZCIpCi0KLTsgbWljcm9NSVBTIHBhdHRlcm5zLgotKGluY2x1ZGUgIm1pY3Jv bWlwcy5tZCIpCi0KLTsgTG9vbmdzb24gTXVsdGlNZWRpYSBleHRlbnNpb25zIEluc3RydWN0aW9u cyAoTU1JKSBwYXR0ZXJucy4KLShpbmNsdWRlICJsb29uZ3Nvbi1tbWkubWQiKQotCi07IFRoZSBN SVBTIE1TQSBJbnN0cnVjdGlvbnMuCi0oaW5jbHVkZSAibWlwcy1tc2EubWQiKQotCi0oZGVmaW5l X2NfZW51bSAidW5zcGVjIiBbCi0gIFVOU1BFQ19BRERSRVNTX0ZJUlNUCi1dKQpkaWZmIC0tZ2l0 IGEvZ2NjL2NvbmZpZy9taXBzL21pcHMub3B0IGIvZ2NjL2NvbmZpZy9taXBzL21pcHMub3B0Cmlu ZGV4IDZhZjgwMzdlOWJkLi4yZTY0N2Q3MDNiNCAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9taXBz L21pcHMub3B0CisrKyBiL2djYy9jb25maWcvbWlwcy9taXBzLm9wdApAQCAtMjgsNyArMjgsNyBA QCBFTAogRHJpdmVyCiAKIG1hYmk9Ci1UYXJnZXQgUmVqZWN0TmVnYXRpdmUgSm9pbmVkIEVudW0o bWlwc19hYmkpIFZhcihtaXBzX2FiaSkgSW5pdChNSVBTX0FCSV9ERUZBVUxUKQorVGFyZ2V0IFJl amVjdE5lZ2F0aXZlIEpvaW5lZCBFbnVtKG1pcHNfYWJpKSBWYXIobWlwc19hYmkpIEluaXQoTUlQ U19BQklfREVGQVVMVCkgQ29uZGl0aW9uKE1JUFNfU1VQUE9SVF9MRUdBQ1kpCiAtbWFiaT1BQkkJ R2VuZXJhdGUgY29kZSB0aGF0IGNvbmZvcm1zIHRvIHRoZSBnaXZlbiBBQkkuCiAKIEVudW0KQEAg LTUxLDE1ICs1MSwxNSBAQCBFbnVtVmFsdWUKIEVudW0obWlwc19hYmkpIFN0cmluZyhlYWJpKSBW YWx1ZShBQklfRUFCSSkKIAogbWFiaWNhbGxzCi1UYXJnZXQgTWFzayhBQklDQUxMUykKK1Rhcmdl dCBNYXNrKEFCSUNBTExTKSBDb25kaXRpb24oTUlQU19TVVBQT1JUX0xFR0FDWSkKIEdlbmVyYXRl IGNvZGUgdGhhdCBjYW4gYmUgdXNlZCBpbiBTVlI0LXN0eWxlIGR5bmFtaWMgb2JqZWN0cy4KIAog bW1hZAotVGFyZ2V0IFZhcihUQVJHRVRfTUFEKQorVGFyZ2V0IFZhcihUQVJHRVRfTUFEKSBDb25k aXRpb24oTUlQU19TVVBQT1JUX0xFR0FDWSkKIFVzZSBQTUMtc3R5bGUgJ21hZCcgaW5zdHJ1Y3Rp b25zLgogCiBtaW1hZGQKLVRhcmdldCBNYXNrKElNQUREKQorVGFyZ2V0IE1hc2soSU1BREQpIENv bmRpdGlvbihNSVBTX1NVUFBPUlRfRFNQKQogVXNlIGludGVnZXIgbWFkZC9tc3ViIGluc3RydWN0 aW9ucy4KIAogbWFyY2g9CkBAIC03MSwxMSArNzEsMTEgQEAgVGFyZ2V0IFJlamVjdE5lZ2F0aXZl IEpvaW5lZCBVSW50ZWdlciBWYXIobWlwc19icmFuY2hfY29zdCkKIC1tYnJhbmNoLWNvc3Q9Q09T VAlTZXQgdGhlIGNvc3Qgb2YgYnJhbmNoZXMgdG8gcm91Z2hseSBDT1NUIGluc3RydWN0aW9ucy4K IAogbWJyYW5jaC1saWtlbHkKLVRhcmdldCBNYXNrKEJSQU5DSExJS0VMWSkKK1RhcmdldCBNYXNr KEJSQU5DSExJS0VMWSkgQ29uZGl0aW9uKE1JUFNfU1VQUE9SVF9MRUdBQ1kpCiBVc2UgQnJhbmNo IExpa2VseSBpbnN0cnVjdGlvbnMsIG92ZXJyaWRpbmcgdGhlIGFyY2hpdGVjdHVyZSBkZWZhdWx0 LgogCiBtZmxpcC1taXBzMTYKLVRhcmdldCBWYXIoVEFSR0VUX0ZMSVBfTUlQUzE2KQorVGFyZ2V0 IFZhcihUQVJHRVRfRkxJUF9NSVBTMTYpIENvbmRpdGlvbihNSVBTX1NVUFBPUlRfTEVHQUNZKQog U3dpdGNoIG9uL29mZiBNSVBTMTYgQVNFIG9uIGFsdGVybmF0aW5nIGZ1bmN0aW9ucyBmb3IgY29t cGlsZXIgdGVzdGluZy4KIAogbWNoZWNrLXplcm8tZGl2aXNpb24KQEAgLTgzLDcgKzgzLDcgQEAg VGFyZ2V0IE1hc2soQ0hFQ0tfWkVST19ESVYpCiBUcmFwIG9uIGludGVnZXIgZGl2aWRlIGJ5IHpl cm8uCiAKIG1jb2RlLXJlYWRhYmxlPQotVGFyZ2V0IFJlamVjdE5lZ2F0aXZlIEpvaW5lZCBFbnVt KG1pcHNfY29kZV9yZWFkYWJsZV9zZXR0aW5nKSBWYXIobWlwc19jb2RlX3JlYWRhYmxlKSBJbml0 KENPREVfUkVBREFCTEVfWUVTKQorVGFyZ2V0IFJlamVjdE5lZ2F0aXZlIEpvaW5lZCBFbnVtKG1p cHNfY29kZV9yZWFkYWJsZV9zZXR0aW5nKSBWYXIobWlwc19jb2RlX3JlYWRhYmxlKSBJbml0KENP REVfUkVBREFCTEVfWUVTKSBDb25kaXRpb24oTUlQU19TVVBQT1JUX0xFR0FDWSkKIC1tY29kZS1y ZWFkYWJsZT1TRVRUSU5HCVNwZWNpZnkgd2hlbiBpbnN0cnVjdGlvbnMgYXJlIGFsbG93ZWQgdG8g YWNjZXNzIGNvZGUuCiAKIEVudW0KQEAgLTEwMCw3ICsxMDAsNyBAQCBFbnVtVmFsdWUKIEVudW0o bWlwc19jb2RlX3JlYWRhYmxlX3NldHRpbmcpIFN0cmluZyhubykgVmFsdWUoQ09ERV9SRUFEQUJM RV9OTykKIAogbWRpdmlkZS1icmVha3MKLVRhcmdldCBSZWplY3ROZWdhdGl2ZSBNYXNrKERJVklE RV9CUkVBS1MpCitUYXJnZXQgUmVqZWN0TmVnYXRpdmUgTWFzayhESVZJREVfQlJFQUtTKSBDb25k aXRpb24oTUlQU19TVVBQT1JUX0xFR0FDWSkKIFVzZSBicmFuY2gtYW5kLWJyZWFrIHNlcXVlbmNl cyB0byBjaGVjayBmb3IgaW50ZWdlciBkaXZpZGUgYnkgemVyby4KIAogbWRpdmlkZS10cmFwcwpA QCAtMTA4LDcgKzEwOCw3IEBAIFRhcmdldCBSZWplY3ROZWdhdGl2ZSBJbnZlcnNlTWFzayhESVZJ REVfQlJFQUtTLCBESVZJREVfVFJBUFMpCiBVc2UgdHJhcCBpbnN0cnVjdGlvbnMgdG8gY2hlY2sg Zm9yIGludGVnZXIgZGl2aWRlIGJ5IHplcm8uCiAKIG1kbXgKLVRhcmdldCBSZWplY3ROZWdhdGl2 ZSBWYXIoVEFSR0VUX01ETVgpCitUYXJnZXQgUmVqZWN0TmVnYXRpdmUgVmFyKFRBUkdFVF9NRE1Y KSBDb25kaXRpb24oTUlQU19TVVBQT1JUX0xFR0FDWSkKIEFsbG93IHRoZSB1c2Ugb2YgTURNWCBp bnN0cnVjdGlvbnMuCiAKIG1kb3VibGUtZmxvYXQKQEAgLTEyMCwxNCArMTIwLDE0IEBAIFRhcmdl dCBWYXIoVEFSR0VUX0RTUCkKIFVzZSBNSVBTLURTUCBpbnN0cnVjdGlvbnMuCiAKIG1kc3ByMgot VGFyZ2V0IFZhcihUQVJHRVRfRFNQUjIpCitUYXJnZXQgVmFyKFRBUkdFVF9EU1BSMikgQ29uZGl0 aW9uKE1JUFNfU1VQUE9SVF9EU1ApCiBVc2UgTUlQUy1EU1AgUkVWIDIgaW5zdHJ1Y3Rpb25zLgog CiBtZGVidWcKLVRhcmdldCBWYXIoVEFSR0VUX0RFQlVHX01PREUpIFVuZG9jdW1lbnRlZAorVGFy Z2V0IFZhcihUQVJHRVRfREVCVUdfTU9ERSkgVW5kb2N1bWVudGVkIENvbmRpdGlvbihNSVBTX1NV UFBPUlRfTEVHQUNZKQogCiBtZGVidWdkCi1UYXJnZXQgVmFyKFRBUkdFVF9ERUJVR19EX01PREUp IFVuZG9jdW1lbnRlZAorVGFyZ2V0IFZhcihUQVJHRVRfREVCVUdfRF9NT0RFKSBVbmRvY3VtZW50 ZWQgQ29uZGl0aW9uKE1JUFNfU1VQUE9SVF9MRUdBQ1kpCiAKIG1lYgogVGFyZ2V0IFJlamVjdE5l Z2F0aXZlIE1hc2soQklHX0VORElBTikKQEAgLTE0Niw3ICsxNDYsNyBAQCBUYXJnZXQgVmFyKFRB UkdFVF9FVkEpCiBVc2UgRW5oYW5jZWQgVmlydHVhbCBBZGRyZXNzaW5nIGluc3RydWN0aW9ucy4K IAogbWV4cGxpY2l0LXJlbG9jcwotVGFyZ2V0IE1hc2soRVhQTElDSVRfUkVMT0NTKQorVGFyZ2V0 IE1hc2soRVhQTElDSVRfUkVMT0NTKSBDb25kaXRpb24oTUlQU19TVVBQT1JUX0xFR0FDWSkKIFVz ZSBOZXdBQkktc3R5bGUgJXJlbG9jKCkgYXNzZW1ibHkgb3BlcmF0b3JzLgogCiBtZXh0ZXJuLXNk YXRhCkBAIC0xNTQsMTUgKzE1NCwxNSBAQCBUYXJnZXQgVmFyKFRBUkdFVF9FWFRFUk5fU0RBVEEp IEluaXQoMSkKIFVzZSAtRyBmb3IgZGF0YSB0aGF0IGlzIG5vdCBkZWZpbmVkIGJ5IHRoZSBjdXJy ZW50IG9iamVjdC4KIAogbWZpeC0yNGsKLVRhcmdldCBWYXIoVEFSR0VUX0ZJWF8yNEspCitUYXJn ZXQgVmFyKFRBUkdFVF9GSVhfMjRLKSBDb25kaXRpb24oTUlQU19TVVBQT1JUX0xFR0FDWSkKIFdv cmsgYXJvdW5kIGNlcnRhaW4gMjRLIGVycmF0YS4KIAogbWZpeC1yNDAwMAotVGFyZ2V0IE1hc2so RklYX1I0MDAwKQorVGFyZ2V0IE1hc2soRklYX1I0MDAwKSBDb25kaXRpb24oTUlQU19TVVBQT1JU X0xFR0FDWSkKIFdvcmsgYXJvdW5kIGNlcnRhaW4gUjQwMDAgZXJyYXRhLgogCiBtZml4LXI0NDAw Ci1UYXJnZXQgTWFzayhGSVhfUjQ0MDApCitUYXJnZXQgTWFzayhGSVhfUjQ0MDApIENvbmRpdGlv bihNSVBTX1NVUFBPUlRfTEVHQUNZKQogV29yayBhcm91bmQgY2VydGFpbiBSNDQwMCBlcnJhdGEu CiAKIG1maXgtcjU5MDAKQEAgLTE3MCw0MyArMTcwLDQzIEBAIFRhcmdldCBNYXNrKEZJWF9SNTkw MCkKIFdvcmsgYXJvdW5kIHRoZSBSNTkwMCBzaG9ydCBsb29wIGVycmF0dW0uCiAKIG1maXgtcm03 MDAwCi1UYXJnZXQgVmFyKFRBUkdFVF9GSVhfUk03MDAwKQorVGFyZ2V0IFZhcihUQVJHRVRfRklY X1JNNzAwMCkgQ29uZGl0aW9uKE1JUFNfU1VQUE9SVF9MRUdBQ1kpCiBXb3JrIGFyb3VuZCBjZXJ0 YWluIFJNNzAwMCBlcnJhdGEuCiAKIG1maXgtcjEwMDAwCi1UYXJnZXQgTWFzayhGSVhfUjEwMDAw KQorVGFyZ2V0IE1hc2soRklYX1IxMDAwMCkgQ29uZGl0aW9uKE1JUFNfU1VQUE9SVF9MRUdBQ1kp CiBXb3JrIGFyb3VuZCBjZXJ0YWluIFIxMDAwMCBlcnJhdGEuCiAKIG1maXgtc2IxCi1UYXJnZXQg VmFyKFRBUkdFVF9GSVhfU0IxKQorVGFyZ2V0IFZhcihUQVJHRVRfRklYX1NCMSkgQ29uZGl0aW9u KE1JUFNfU1VQUE9SVF9MRUdBQ1kpCiBXb3JrIGFyb3VuZCBlcnJhdGEgZm9yIGVhcmx5IFNCLTEg cmV2aXNpb24gMiBjb3Jlcy4KIAogbWZpeC12cjQxMjAKLVRhcmdldCBWYXIoVEFSR0VUX0ZJWF9W UjQxMjApCitUYXJnZXQgVmFyKFRBUkdFVF9GSVhfVlI0MTIwKSBDb25kaXRpb24oTUlQU19TVVBQ T1JUX0xFR0FDWSkKIFdvcmsgYXJvdW5kIGNlcnRhaW4gVlI0MTIwIGVycmF0YS4KIAogbWZpeC12 cjQxMzAKLVRhcmdldCBWYXIoVEFSR0VUX0ZJWF9WUjQxMzApCitUYXJnZXQgVmFyKFRBUkdFVF9G SVhfVlI0MTMwKSBDb25kaXRpb24oTUlQU19TVVBQT1JUX0xFR0FDWSkKIFdvcmsgYXJvdW5kIFZS NDEzMCBtZmxvL21maGkgZXJyYXRhLgogCiBtZml4NDMwMAotVGFyZ2V0IFZhcihUQVJHRVRfNDMw MF9NVUxfRklYKQorVGFyZ2V0IFZhcihUQVJHRVRfNDMwMF9NVUxfRklYKSBDb25kaXRpb24oTUlQ U19TVVBQT1JUX0xFR0FDWSkKIFdvcmsgYXJvdW5kIGFuIGVhcmx5IDQzMDAgaGFyZHdhcmUgYnVn LgogCiBtZnAtZXhjZXB0aW9ucwotVGFyZ2V0IFZhcihUQVJHRVRfRlBfRVhDRVBUSU9OUykgSW5p dCgxKQorVGFyZ2V0IFZhcihUQVJHRVRfRlBfRVhDRVBUSU9OUykgSW5pdCgxKSBDb25kaXRpb24o TUlQU19TVVBQT1JUX0xFR0FDWSkKIEZQIGV4Y2VwdGlvbnMgYXJlIGVuYWJsZWQuCiAKIG1mcDMy Ci1UYXJnZXQgUmVqZWN0TmVnYXRpdmUgSW52ZXJzZU1hc2soRkxPQVQ2NCkKK1RhcmdldCBSZWpl Y3ROZWdhdGl2ZSBJbnZlcnNlTWFzayhGTE9BVDY0KSBDb25kaXRpb24oTUlQU19TVVBQT1JUX0xF R0FDWSkKIFVzZSAzMi1iaXQgZmxvYXRpbmctcG9pbnQgcmVnaXN0ZXJzLgogCiBtZnB4eAotVGFy Z2V0IFJlamVjdE5lZ2F0aXZlIE1hc2soRkxPQVRYWCkKK1RhcmdldCBSZWplY3ROZWdhdGl2ZSBN YXNrKEZMT0FUWFgpIENvbmRpdGlvbihNSVBTX1NVUFBPUlRfTEVHQUNZKQogQ29uZm9ybSB0byB0 aGUgbzMyIEZQWFggQUJJLgogCiBtZnA2NAotVGFyZ2V0IFJlamVjdE5lZ2F0aXZlIE1hc2soRkxP QVQ2NCkKK1RhcmdldCBSZWplY3ROZWdhdGl2ZSBNYXNrKEZMT0FUNjQpIENvbmRpdGlvbihNSVBT X1NVUFBPUlRfTEVHQUNZKQogVXNlIDY0LWJpdCBmbG9hdGluZy1wb2ludCByZWdpc3RlcnMuCiAK IG1mbHVzaC1mdW5jPQpAQCAtMjE0LDExICsyMTQsMTEgQEAgVGFyZ2V0IFJlamVjdE5lZ2F0aXZl IEpvaW5lZCBWYXIobWlwc19jYWNoZV9mbHVzaF9mdW5jKSBJbml0KENBQ0hFX0ZMVVNIX0ZVTkMp CiAtbWZsdXNoLWZ1bmM9RlVOQwlVc2UgRlVOQyB0byBmbHVzaCB0aGUgY2FjaGUgYmVmb3JlIGNh bGxpbmcgc3RhY2sgdHJhbXBvbGluZXMuCiAKIG1hYnM9Ci1UYXJnZXQgUmVqZWN0TmVnYXRpdmUg Sm9pbmVkIEVudW0obWlwc19pZWVlXzc1NF92YWx1ZSkgVmFyKG1pcHNfYWJzKSBJbml0KE1JUFNf SUVFRV83NTRfREVGQVVMVCkKK1RhcmdldCBSZWplY3ROZWdhdGl2ZSBKb2luZWQgRW51bShtaXBz X2llZWVfNzU0X3ZhbHVlKSBWYXIobWlwc19hYnMpIEluaXQoTUlQU19JRUVFXzc1NF9ERUZBVUxU KSBDb25kaXRpb24oTUlQU19TVVBQT1JUX0xFR0FDWSkKIC1tYWJzPU1PREUJU2VsZWN0IHRoZSBJ RUVFIDc1NCBBQlMvTkVHIGluc3RydWN0aW9uIGV4ZWN1dGlvbiBtb2RlLgogCiBtbmFuPQotVGFy Z2V0IFJlamVjdE5lZ2F0aXZlIEpvaW5lZCBFbnVtKG1pcHNfaWVlZV83NTRfdmFsdWUpIFZhciht aXBzX25hbikgSW5pdChNSVBTX0lFRUVfNzU0X0RFRkFVTFQpCitUYXJnZXQgUmVqZWN0TmVnYXRp dmUgSm9pbmVkIEVudW0obWlwc19pZWVlXzc1NF92YWx1ZSkgVmFyKG1pcHNfbmFuKSBJbml0KE1J UFNfSUVFRV83NTRfREVGQVVMVCkgQ29uZGl0aW9uKE1JUFNfU1VQUE9SVF9MRUdBQ1kpCiAtbW5h bj1FTkNPRElORwlTZWxlY3QgdGhlIElFRUUgNzU0IE5hTiBkYXRhIGVuY29kaW5nLgogCiBFbnVt CkBAIC0yNDQsNyArMjQ0LDcgQEAgVGFyZ2V0IFZhcihUQVJHRVRfR1BPUFQpIEluaXQoMSkKIFVz ZSBHUC1yZWxhdGl2ZSBhZGRyZXNzaW5nIHRvIGFjY2VzcyBzbWFsbCBkYXRhLgogCiBtcGx0Ci1U YXJnZXQgVmFyKFRBUkdFVF9QTFQpCitUYXJnZXQgVmFyKFRBUkdFVF9QTFQpIENvbmRpdGlvbihN SVBTX1NVUFBPUlRfTEVHQUNZKQogV2hlbiBnZW5lcmF0aW5nIC1tYWJpY2FsbHMgY29kZSwgYWxs b3cgZXhlY3V0YWJsZXMgdG8gdXNlIFBMVHMgYW5kIGNvcHkgcmVsb2NhdGlvbnMuCiAKIG1oYXJk LWZsb2F0CkBAIC0yNTIsMjcgKzI1MiwyNyBAQCBUYXJnZXQgUmVqZWN0TmVnYXRpdmUgSW52ZXJz ZU1hc2soU09GVF9GTE9BVF9BQkksIEhBUkRfRkxPQVRfQUJJKQogQWxsb3cgdGhlIHVzZSBvZiBo YXJkd2FyZSBmbG9hdGluZy1wb2ludCBBQkkgYW5kIGluc3RydWN0aW9ucy4KIAogbWludGVybGlu ay1jb21wcmVzc2VkCi1UYXJnZXQgVmFyKFRBUkdFVF9JTlRFUkxJTktfQ09NUFJFU1NFRCkgSW5p dCgwKQorVGFyZ2V0IFZhcihUQVJHRVRfSU5URVJMSU5LX0NPTVBSRVNTRUQpIEluaXQoMCkgQ29u ZGl0aW9uKE1JUFNfU1VQUE9SVF9MRUdBQ1kpCiBHZW5lcmF0ZSBjb2RlIHRoYXQgaXMgbGluay1j b21wYXRpYmxlIHdpdGggTUlQUzE2IGFuZCBtaWNyb01JUFMgY29kZS4KIAogbWludGVybGluay1t aXBzMTYKLVRhcmdldCBWYXIoVEFSR0VUX0lOVEVSTElOS19DT01QUkVTU0VEKSBJbml0KDApCitU YXJnZXQgVmFyKFRBUkdFVF9JTlRFUkxJTktfQ09NUFJFU1NFRCkgSW5pdCgwKSBDb25kaXRpb24o TUlQU19TVVBQT1JUX0xFR0FDWSkKIEFuIGFsaWFzIGZvciBtaW50ZXJsaW5rLWNvbXByZXNzZWQg cHJvdmlkZWQgZm9yIGJhY2t3YXJkLWNvbXBhdGliaWxpdHkuCiAKIG1pcHMKLVRhcmdldCBSZWpl Y3ROZWdhdGl2ZSBKb2luZWQgVG9Mb3dlciBFbnVtKG1pcHNfbWlwc19vcHRfdmFsdWUpIFZhciht aXBzX2lzYV9vcHRpb24pCitUYXJnZXQgUmVqZWN0TmVnYXRpdmUgSm9pbmVkIFRvTG93ZXIgRW51 bShtaXBzX21pcHNfb3B0X3ZhbHVlKSBWYXIobWlwc19pc2Ffb3B0aW9uKSBDb25kaXRpb24oTUlQ U19TVVBQT1JUX0xFR0FDWSkKIC1taXBzTglHZW5lcmF0ZSBjb2RlIGZvciBJU0EgbGV2ZWwgTi4K IAogbWlwczE2Ci1UYXJnZXQgUmVqZWN0TmVnYXRpdmUgTWFzayhNSVBTMTYpCitUYXJnZXQgUmVq ZWN0TmVnYXRpdmUgTWFzayhNSVBTMTYpIENvbmRpdGlvbihNSVBTX1NVUFBPUlRfTEVHQUNZKQog R2VuZXJhdGUgTUlQUzE2IGNvZGUuCiAKIG1pcHMzZAotVGFyZ2V0IFJlamVjdE5lZ2F0aXZlIFZh cihUQVJHRVRfTUlQUzNEKQorVGFyZ2V0IFJlamVjdE5lZ2F0aXZlIFZhcihUQVJHRVRfTUlQUzNE KSBDb25kaXRpb24oTUlQU19TVVBQT1JUX0xFR0FDWSkKIFVzZSBNSVBTLTNEIGluc3RydWN0aW9u cy4KIAogbWxsc2MKLVRhcmdldCBNYXNrKExMU0MpCitUYXJnZXQgTWFzayhMTFNDKSBDb25kaXRp b24oTUlQU19TVVBQT1JUX0xFR0FDWSkKIFVzZSBsbCwgc2MgYW5kIHN5bmMgaW5zdHJ1Y3Rpb25z LgogCiBtbG9jYWwtc2RhdGEKQEAgLTI4NCwxNSArMjg0LDE1IEBAIFRhcmdldCBWYXIoVEFSR0VU X0xPTkdfQ0FMTFMpCiBVc2UgaW5kaXJlY3QgY2FsbHMuCiAKIG1sb25nMzIKLVRhcmdldCBSZWpl Y3ROZWdhdGl2ZSBJbnZlcnNlTWFzayhMT05HNjQsIExPTkczMikKK1RhcmdldCBSZWplY3ROZWdh dGl2ZSBJbnZlcnNlTWFzayhMT05HNjQsIExPTkczMikgQ29uZGl0aW9uKE1JUFNfU1VQUE9SVF9M RUdBQ1kpCiBVc2UgYSAzMi1iaXQgbG9uZyB0eXBlLgogCiBtbG9uZzY0Ci1UYXJnZXQgUmVqZWN0 TmVnYXRpdmUgTWFzayhMT05HNjQpCitUYXJnZXQgUmVqZWN0TmVnYXRpdmUgTWFzayhMT05HNjQp IENvbmRpdGlvbihNSVBTX1NVUFBPUlRfTEVHQUNZKQogVXNlIGEgNjQtYml0IGxvbmcgdHlwZS4K IAogbW1jb3VudC1yYS1hZGRyZXNzCi1UYXJnZXQgVmFyKFRBUkdFVF9NQ09VTlRfUkFfQUREUkVT UykKK1RhcmdldCBWYXIoVEFSR0VUX01DT1VOVF9SQV9BRERSRVNTKSBDb25kaXRpb24oTUlQU19T VVBQT1JUX0xFR0FDWSkKIFBhc3MgdGhlIGFkZHJlc3Mgb2YgdGhlIHJhIHNhdmUgbG9jYXRpb24g dG8gX21jb3VudCBpbiAkMTIuCiAKIG1tZW1jcHkKQEAgLTMwMCwxMSArMzAwLDExIEBAIFRhcmdl dCBNYXNrKE1FTUNQWSkKIERvbid0IG9wdGltaXplIGJsb2NrIG1vdmVzLgogCiBtbWljcm9taXBz Ci1UYXJnZXQgTWFzayhNSUNST01JUFMpCitUYXJnZXQgTWFzayhNSUNST01JUFMpIENvbmRpdGlv bihNSVBTX1NVUFBPUlRfTEVHQUNZKQogVXNlIG1pY3JvTUlQUyBpbnN0cnVjdGlvbnMuCiAKIG1t c2EKLVRhcmdldCBNYXNrKE1TQSkKK1RhcmdldCBWYXIoVEFSR0VUX01TQSkgQ29uZGl0aW9uKE1J UFNfU1VQUE9SVF9NU0EpCiBVc2UgTUlQUyBNU0EgRXh0ZW5zaW9uIGluc3RydWN0aW9ucy4KIAog bW10CkBAIC0zMjQsMjMgKzMyNCwyMyBAQCBUYXJnZXQgUmVqZWN0TmVnYXRpdmUKIERvIG5vdCB1 c2UgYSBjYWNoZS1mbHVzaGluZyBmdW5jdGlvbiBiZWZvcmUgY2FsbGluZyBzdGFjayB0cmFtcG9s aW5lcy4KIAogbW5vLW1kbXgKLVRhcmdldCBSZWplY3ROZWdhdGl2ZSBWYXIoVEFSR0VUX01ETVgs IDApCitUYXJnZXQgUmVqZWN0TmVnYXRpdmUgVmFyKFRBUkdFVF9NRE1YLCAwKSBDb25kaXRpb24o TUlQU19TVVBQT1JUX0xFR0FDWSkKIERvIG5vdCB1c2UgTURNWCBpbnN0cnVjdGlvbnMuCiAKIG1u by1taXBzMTYKLVRhcmdldCBSZWplY3ROZWdhdGl2ZSBJbnZlcnNlTWFzayhNSVBTMTYpCitUYXJn ZXQgUmVqZWN0TmVnYXRpdmUgSW52ZXJzZU1hc2soTUlQUzE2KSBDb25kaXRpb24oTUlQU19TVVBQ T1JUX0xFR0FDWSkKIEdlbmVyYXRlIG5vcm1hbC1tb2RlIGNvZGUuCiAKIG1uby1taXBzM2QKLVRh cmdldCBSZWplY3ROZWdhdGl2ZSBWYXIoVEFSR0VUX01JUFMzRCwgMCkKK1RhcmdldCBSZWplY3RO ZWdhdGl2ZSBWYXIoVEFSR0VUX01JUFMzRCwgMCkgQ29uZGl0aW9uKE1JUFNfU1VQUE9SVF9MRUdB Q1kpCiBEbyBub3QgdXNlIE1JUFMtM0QgaW5zdHJ1Y3Rpb25zLgogCiBtcGFpcmVkLXNpbmdsZQot VGFyZ2V0IE1hc2soUEFJUkVEX1NJTkdMRV9GTE9BVCkKK1RhcmdldCBNYXNrKFBBSVJFRF9TSU5H TEVfRkxPQVQpIENvbmRpdGlvbihNSVBTX1NVUFBPUlRfTEVHQUNZKQogVXNlIHBhaXJlZC1zaW5n bGUgZmxvYXRpbmctcG9pbnQgaW5zdHJ1Y3Rpb25zLgogCiBtcjEway1jYWNoZS1iYXJyaWVyPQot VGFyZ2V0IEpvaW5lZCBSZWplY3ROZWdhdGl2ZSBFbnVtKG1pcHNfcjEwa19jYWNoZV9iYXJyaWVy X3NldHRpbmcpIFZhcihtaXBzX3IxMGtfY2FjaGVfYmFycmllcikgSW5pdChSMTBLX0NBQ0hFX0JB UlJJRVJfTk9ORSkKK1RhcmdldCBKb2luZWQgUmVqZWN0TmVnYXRpdmUgRW51bShtaXBzX3IxMGtf Y2FjaGVfYmFycmllcl9zZXR0aW5nKSBWYXIobWlwc19yMTBrX2NhY2hlX2JhcnJpZXIpIEluaXQo UjEwS19DQUNIRV9CQVJSSUVSX05PTkUpIENvbmRpdGlvbihNSVBTX1NVUFBPUlRfTEVHQUNZKQog LW1yMTBrLWNhY2hlLWJhcnJpZXI9U0VUVElORwlTcGVjaWZ5IHdoZW4gcjEwayBjYWNoZSBiYXJy aWVycyBzaG91bGQgYmUgaW5zZXJ0ZWQuCiAKIEVudW0KQEAgLTM1NywxMSArMzU3LDExIEBAIEVu dW1WYWx1ZQogRW51bShtaXBzX3IxMGtfY2FjaGVfYmFycmllcl9zZXR0aW5nKSBTdHJpbmcobm9u ZSkgVmFsdWUoUjEwS19DQUNIRV9CQVJSSUVSX05PTkUpCiAKIG1yZWxheC1waWMtY2FsbHMKLVRh cmdldCBNYXNrKFJFTEFYX1BJQ19DQUxMUykKK1RhcmdldCBNYXNrKFJFTEFYX1BJQ19DQUxMUykg Q29uZGl0aW9uKE1JUFNfU1VQUE9SVF9MRUdBQ1kpCiBUcnkgdG8gYWxsb3cgdGhlIGxpbmtlciB0 byB0dXJuIFBJQyBjYWxscyBpbnRvIGRpcmVjdCBjYWxscy4KIAogbXNoYXJlZAotVGFyZ2V0IFZh cihUQVJHRVRfU0hBUkVEKSBJbml0KDEpCitUYXJnZXQgVmFyKFRBUkdFVF9TSEFSRUQpIEluaXQo MSkgQ29uZGl0aW9uKE1JUFNfU1VQUE9SVF9MRUdBQ1kpCiBXaGVuIGdlbmVyYXRpbmcgLW1hYmlj YWxscyBjb2RlLCBtYWtlIHRoZSBjb2RlIHN1aXRhYmxlIGZvciB1c2UgaW4gc2hhcmVkIGxpYnJh cmllcy4KIAogbXNpbmdsZS1mbG9hdApAQCAtMzY5LDcgKzM2OSw3IEBAIFRhcmdldCBSZWplY3RO ZWdhdGl2ZSBNYXNrKFNJTkdMRV9GTE9BVCkKIFJlc3RyaWN0IHRoZSB1c2Ugb2YgaGFyZHdhcmUg ZmxvYXRpbmctcG9pbnQgaW5zdHJ1Y3Rpb25zIHRvIDMyLWJpdCBvcGVyYXRpb25zLgogCiBtc21h cnRtaXBzCi1UYXJnZXQgTWFzayhTTUFSVE1JUFMpCitUYXJnZXQgTWFzayhTTUFSVE1JUFMpIENv bmRpdGlvbihNSVBTX1NVUFBPUlRfTEVHQUNZKQogVXNlIFNtYXJ0TUlQUyBpbnN0cnVjdGlvbnMu CiAKIG1zb2Z0LWZsb2F0CkBAIC0zNzcsNyArMzc3LDcgQEAgVGFyZ2V0IFJlamVjdE5lZ2F0aXZl IE1hc2soU09GVF9GTE9BVF9BQkkpCiBQcmV2ZW50IHRoZSB1c2Ugb2YgYWxsIGhhcmR3YXJlIGZs b2F0aW5nLXBvaW50IGluc3RydWN0aW9ucy4KIAogbXNwbGl0LWFkZHJlc3NlcwotVGFyZ2V0IE1h c2soU1BMSVRfQUREUkVTU0VTKQorVGFyZ2V0IE1hc2soU1BMSVRfQUREUkVTU0VTKSBDb25kaXRp b24oTUlQU19TVVBQT1JUX0xFR0FDWSkKIE9wdGltaXplIGx1aS9hZGRpdSBhZGRyZXNzIGxvYWRz LgogCiBtc3ltMzIKQEAgLTM4NSwxMSArMzg1LDExIEBAIFRhcmdldCBWYXIoVEFSR0VUX1NZTTMy KQogQXNzdW1lIGFsbCBzeW1ib2xzIGhhdmUgMzItYml0IHZhbHVlcy4KIAogbXN5bmNpCi1UYXJn ZXQgTWFzayhTWU5DSSkKK1RhcmdldCBNYXNrKFNZTkNJKSBDb25kaXRpb24oTUlQU19TVVBQT1JU X0xFR0FDWSkKIFVzZSBzeW5jaSBpbnN0cnVjdGlvbiB0byBpbnZhbGlkYXRlIGktY2FjaGUuCiAK IG1scmEKLVRhcmdldCBWYXIobWlwc19scmFfZmxhZykgSW5pdCgxKSBTYXZlCitUYXJnZXQgVmFy KG1pcHNfbHJhX2ZsYWcpIEluaXQoMSkgU2F2ZSBDb25kaXRpb24oTUlQU19TVVBQT1JUX0xFR0FD WSkKIFVzZSBMUkEgaW5zdGVhZCBvZiByZWxvYWQuCiAKIG1seGMxLXN4YzEKQEAgLTQyNSwzMCAr NDI1LDMwIEBAIFRhcmdldCBWYXIoVEFSR0VUX0dJTlYpCiBVc2UgR2xvYmFsIElOVmFsaWRhdGUg KEdJTlYpIGluc3RydWN0aW9ucy4KIAogbXZyNDEzMC1hbGlnbgotVGFyZ2V0IE1hc2soVlI0MTMw X0FMSUdOKQorVGFyZ2V0IE1hc2soVlI0MTMwX0FMSUdOKSBDb25kaXRpb24oTUlQU19TVVBQT1JU X0xFR0FDWSkKIFBlcmZvcm0gVlI0MTMwLXNwZWNpZmljIGFsaWdubWVudCBvcHRpbWl6YXRpb25z LgogCiBteGdvdAotVGFyZ2V0IFZhcihUQVJHRVRfWEdPVCkKK1RhcmdldCBWYXIoVEFSR0VUX1hH T1QpIENvbmRpdGlvbihNSVBTX1NVUFBPUlRfTEVHQUNZKQogTGlmdCByZXN0cmljdGlvbnMgb24g R09UIHNpemUuCiAKIG1vZGQtc3ByZWcKLVRhcmdldCBNYXNrKE9ERF9TUFJFRykKK1RhcmdldCBN YXNrKE9ERF9TUFJFRykgQ29uZGl0aW9uKE1JUFNfU1VQUE9SVF9MRUdBQ1kpCiBFbmFibGUgdXNl IG9mIG9kZC1udW1iZXJlZCBzaW5nbGUtcHJlY2lzaW9uIHJlZ2lzdGVycy4KIAogbWZyYW1lLWhl YWRlci1vcHQKLVRhcmdldCBWYXIoZmxhZ19mcmFtZV9oZWFkZXJfb3B0aW1pemF0aW9uKSBPcHRp bWl6YXRpb24KK1RhcmdldCBWYXIoZmxhZ19mcmFtZV9oZWFkZXJfb3B0aW1pemF0aW9uKSBPcHRp bWl6YXRpb24gQ29uZGl0aW9uKE1JUFNfU1VQUE9SVF9GUkFNRV9IRUFERVJfT1BUKQogT3B0aW1p emUgZnJhbWUgaGVhZGVyLgogCiBub2FzbW9wdAotRHJpdmVyCitEcml2ZXIgQ29uZGl0aW9uKE1J UFNfU1VQUE9SVF9MRUdBQ1kpCiAKIG1sb2FkLXN0b3JlLXBhaXJzCi1UYXJnZXQgVmFyKFRBUkdF VF9MT0FEX1NUT1JFX1BBSVJTKSBJbml0KDEpCitUYXJnZXQgVmFyKFRBUkdFVF9MT0FEX1NUT1JF X1BBSVJTKSBJbml0KDEpIENvbmRpdGlvbihNSVBTX1NVUFBPUlRfTEVHQUNZKQogRW5hYmxlIGxv YWQvc3RvcmUgYm9uZGluZy4KIAogbWNvbXBhY3QtYnJhbmNoZXM9Ci1UYXJnZXQgUmVqZWN0TmVn YXRpdmUgSm9pbmVkT3JNaXNzaW5nIFZhcihtaXBzX2NiKSBFbnVtKG1pcHNfY2Jfc2V0dGluZykg SW5pdChNSVBTX0NCX09QVElNQUwpCitUYXJnZXQgUmVqZWN0TmVnYXRpdmUgSm9pbmVkT3JNaXNz aW5nIFZhcihtaXBzX2NiKSBFbnVtKG1pcHNfY2Jfc2V0dGluZykgSW5pdChNSVBTX0NCX09QVElN QUwpIENvbmRpdGlvbihNSVBTX1NVUFBPUlRfTEVHQUNZKQogU3BlY2lmeSB0aGUgY29tcGFjdCBi cmFuY2ggdXNhZ2UgcG9saWN5LgogCiBFbnVtCkBAIC00NjUsMTMgKzQ2NSwxMyBAQCBFbnVtVmFs dWUKIEVudW0obWlwc19jYl9zZXR0aW5nKSBTdHJpbmcoYWx3YXlzKSBWYWx1ZShNSVBTX0NCX0FM V0FZUykKIAogbWxvb25nc29uLW1taQotVGFyZ2V0IE1hc2soTE9PTkdTT05fTU1JKQorVGFyZ2V0 IE1hc2soTE9PTkdTT05fTU1JKSBDb25kaXRpb24oTUlQU19TVVBQT1JUX0xPT05HU09OKQogVXNl IExvb25nc29uIE11bHRpTWVkaWEgZXh0ZW5zaW9ucyBJbnN0cnVjdGlvbnMgKE1NSSkgaW5zdHJ1 Y3Rpb25zLgogCiBtbG9vbmdzb24tZXh0Ci1UYXJnZXQgTWFzayhMT09OR1NPTl9FWFQpCitUYXJn ZXQgTWFzayhMT09OR1NPTl9FWFQpIENvbmRpdGlvbihNSVBTX1NVUFBPUlRfTE9PTkdTT04pCiBV c2UgTG9vbmdzb24gRVhUZW5zaW9uIChFWFQpIGluc3RydWN0aW9ucy4KIAogbWxvb25nc29uLWV4 dDIKLVRhcmdldCBWYXIoVEFSR0VUX0xPT05HU09OX0VYVDIpCitUYXJnZXQgVmFyKFRBUkdFVF9M T09OR1NPTl9FWFQyKSBDb25kaXRpb24oTUlQU19TVVBQT1JUX0xPT05HU09OKQogVXNlIExvb25n c29uIEVYVGVuc2lvbiBSMiAoRVhUMikgaW5zdHJ1Y3Rpb25zLgotLSAKMi4xNy4xCgo=