From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-11.3 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,MIME_BASE64_TEXT,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, UNPARSEABLE_RELAY,UPPERCASE_50_75,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5F3A6C433DF for ; Mon, 10 Aug 2020 03:17:58 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id CAD462065D for ; Mon, 10 Aug 2020 03:17:57 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="QsOcEcpK" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726465AbgHJDR4 (ORCPT ); Sun, 9 Aug 2020 23:17:56 -0400 Received: from mailgw02.mediatek.com ([210.61.82.184]:8740 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726338AbgHJDRz (ORCPT ); Sun, 9 Aug 2020 23:17:55 -0400 X-UUID: f6379d70d441441f9d4b564e5bed3ebc-20200810 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=hoMQcxp+VazFdw/tejsMkX5Q+DMKy+m4+Swpe4E6c/I=; b=QsOcEcpKVs122lHolfPEiDCWob4iZIyBRXLnFUZJe31zmEtXL0Dcqq5VjFOSQtLnk5QIkh/6w0Ki1Xn0m2KYhmBVm6DVqANGDq5RZsd3RPbO8K8T477qWiuVvR9una0Pu+kDQJCAJX5On0JHZSv+RWodLEd9ITnfx/3BdVTg8dE=; X-UUID: f6379d70d441441f9d4b564e5bed3ebc-20200810 Received: from mtkcas11.mediatek.inc [(172.21.101.40)] by mailgw02.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 867347295; Mon, 10 Aug 2020 11:06:52 +0800 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs05n2.mediatek.inc (172.21.101.140) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 10 Aug 2020 11:06:49 +0800 Received: from localhost.localdomain (10.17.3.153) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Mon, 10 Aug 2020 11:06:47 +0800 From: Jiaxin Yu To: , , , , CC: , , , , , , , Jiaxin Yu Subject: [PATCH v2 1/2] ASoC: mediatek: mt6359: add codec driver Date: Mon, 10 Aug 2020 11:05:53 +0800 Message-ID: <1597028754-7732-2-git-send-email-jiaxin.yu@mediatek.com> X-Mailer: git-send-email 1.8.1.1.dirty In-Reply-To: <1597028754-7732-1-git-send-email-jiaxin.yu@mediatek.com> References: <1597028754-7732-1-git-send-email-jiaxin.yu@mediatek.com> MIME-Version: 1.0 Content-Type: text/plain X-MTK: N Content-Transfer-Encoding: base64 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org QWRkIHRoZSBtdDYzNTkgY29kZWMgZHJpdmVyLg0KDQpTaWduZWQtb2ZmLWJ5OiBKaWF4aW4gWXUg PGppYXhpbi55dUBtZWRpYXRlay5jb20+DQotLS0NCiBzb3VuZC9zb2MvY29kZWNzL0tjb25maWcg IHwgICAgOCArDQogc291bmQvc29jL2NvZGVjcy9NYWtlZmlsZSB8ICAgIDIgKw0KIHNvdW5kL3Nv Yy9jb2RlY3MvbXQ2MzU5LmMgfCAyOTY2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKw0KIHNvdW5kL3NvYy9jb2RlY3MvbXQ2MzU5LmggfCAyNjUzICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCiA0IGZpbGVzIGNoYW5nZWQsIDU2Mjkg aW5zZXJ0aW9ucygrKQ0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBzb3VuZC9zb2MvY29kZWNzL210NjM1 OS5jDQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNvdW5kL3NvYy9jb2RlY3MvbXQ2MzU5LmgNCg0KZGlm ZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3MvS2NvbmZpZyBiL3NvdW5kL3NvYy9jb2RlY3MvS2Nv bmZpZw0KaW5kZXggOTQ2YTcwMi4uZTZjNzFjYSAxMDA2NDQNCi0tLSBhL3NvdW5kL3NvYy9jb2Rl Y3MvS2NvbmZpZw0KKysrIGIvc291bmQvc29jL2NvZGVjcy9LY29uZmlnDQpAQCAtMTI3LDYgKzEy Nyw3IEBAIGNvbmZpZyBTTkRfU09DX0FMTF9DT0RFQ1MNCiAJaW1wbHkgU05EX1NPQ19NTDI2MTI0 DQogCWltcGx5IFNORF9TT0NfTVQ2MzUxDQogCWltcGx5IFNORF9TT0NfTVQ2MzU4DQorCWltcGx5 IFNORF9TT0NfTVQ2MzU5DQogCWltcGx5IFNORF9TT0NfTVQ2NjYwDQogCWltcGx5IFNORF9TT0Nf TkFVODU0MA0KIAlpbXBseSBTTkRfU09DX05BVTg4MTANCkBAIC0xNzI0LDYgKzE3MjUsMTMgQEAg Y29uZmlnIFNORF9TT0NfTVQ2MzU4DQogCSAgRW5hYmxlIHN1cHBvcnQgZm9yIHRoZSBwbGF0Zm9y bSB3aGljaCB1c2VzIE1UNjM1OCBhcw0KIAkgIGV4dGVybmFsIGNvZGVjIGRldmljZS4NCiANCitj b25maWcgU05EX1NPQ19NVDYzNTkNCisJdHJpc3RhdGUgIk1lZGlhVGVrIE1UNjM1OSBDb2RlYyIN CisJZGVwZW5kcyBvbiBNVEtfUE1JQ19XUkFQDQorCWhlbHANCisJICBFbmFibGUgc3VwcG9ydCBm b3IgdGhlIHBsYXRmb3JtIHdoaWNoIHVzZXMgTVQ2MzU5IGFzDQorCSAgZXh0ZXJuYWwgY29kZWMg ZGV2aWNlLg0KKw0KIGNvbmZpZyBTTkRfU09DX01UNjY2MA0KIAl0cmlzdGF0ZSAiTWVkaWF0ZWsg TVQ2NjYwIFNwZWFrZXIgQW1wbGlmaWVyIg0KIAlkZXBlbmRzIG9uIEkyQw0KZGlmZiAtLWdpdCBh L3NvdW5kL3NvYy9jb2RlY3MvTWFrZWZpbGUgYi9zb3VuZC9zb2MvY29kZWNzL01ha2VmaWxlDQpp bmRleCAwMTQwYzYwLi45YTNmNThjIDEwMDY0NA0KLS0tIGEvc291bmQvc29jL2NvZGVjcy9NYWtl ZmlsZQ0KKysrIGIvc291bmQvc29jL2NvZGVjcy9NYWtlZmlsZQ0KQEAgLTEyNiw2ICsxMjYsNyBA QCBzbmQtc29jLW1zbTg5MTYtYW5hbG9nLW9ianMgOj0gbXNtODkxNi13Y2QtYW5hbG9nLm8NCiBz bmQtc29jLW1zbTg5MTYtZGlnaXRhbC1vYmpzIDo9IG1zbTg5MTYtd2NkLWRpZ2l0YWwubw0KIHNu ZC1zb2MtbXQ2MzUxLW9ianMgOj0gbXQ2MzUxLm8NCiBzbmQtc29jLW10NjM1OC1vYmpzIDo9IG10 NjM1OC5vDQorc25kLXNvYy1tdDYzNTktb2JqcyA6PSBtdDYzNTkubw0KIHNuZC1zb2MtbXQ2NjYw LW9ianMgOj0gbXQ2NjYwLm8NCiBzbmQtc29jLW5hdTg1NDAtb2JqcyA6PSBuYXU4NTQwLm8NCiBz bmQtc29jLW5hdTg4MTAtb2JqcyA6PSBuYXU4ODEwLm8NCkBAIC00MzEsNiArNDMyLDcgQEAgb2Jq LSQoQ09ORklHX1NORF9TT0NfTVNNODkxNl9XQ0RfQU5BTE9HKSArPXNuZC1zb2MtbXNtODkxNi1h bmFsb2cubw0KIG9iai0kKENPTkZJR19TTkRfU09DX01TTTg5MTZfV0NEX0RJR0lUQUwpICs9c25k LXNvYy1tc204OTE2LWRpZ2l0YWwubw0KIG9iai0kKENPTkZJR19TTkRfU09DX01UNjM1MSkJKz0g c25kLXNvYy1tdDYzNTEubw0KIG9iai0kKENPTkZJR19TTkRfU09DX01UNjM1OCkJKz0gc25kLXNv Yy1tdDYzNTgubw0KK29iai0kKENPTkZJR19TTkRfU09DX01UNjM1OSkJKz0gc25kLXNvYy1tdDYz NTkubw0KIG9iai0kKENPTkZJR19TTkRfU09DX01UNjY2MCkJKz0gc25kLXNvYy1tdDY2NjAubw0K IG9iai0kKENPTkZJR19TTkRfU09DX05BVTg1NDApICAgKz0gc25kLXNvYy1uYXU4NTQwLm8NCiBv YmotJChDT05GSUdfU05EX1NPQ19OQVU4ODEwKSAgICs9IHNuZC1zb2MtbmF1ODgxMC5vDQpkaWZm IC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy9tdDYzNTkuYyBiL3NvdW5kL3NvYy9jb2RlY3MvbXQ2 MzU5LmMNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwLi40ZGM1OTM0DQotLS0g L2Rldi9udWxsDQorKysgYi9zb3VuZC9zb2MvY29kZWNzL210NjM1OS5jDQpAQCAtMCwwICsxLDI5 NjYgQEANCisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMA0KKy8vDQorLy8gbXQ2 MzU5LmMgIC0tICBtdDYzNTkgQUxTQSBTb0MgYXVkaW8gY29kZWMgZHJpdmVyDQorLy8NCisvLyBD b3B5cmlnaHQgKGMpIDIwMjAgTWVkaWFUZWsgSW5jLg0KKy8vIEF1dGhvcjogS2FpQ2hpZWggQ2h1 YW5nIDxrYWljaGllaC5jaHVhbmdAbWVkaWF0ZWsuY29tPg0KKw0KKyNpbmNsdWRlIDxsaW51eC9k ZWxheS5oPg0KKyNpbmNsdWRlIDxsaW51eC9rdGhyZWFkLmg+DQorI2luY2x1ZGUgPGxpbnV4L21m ZC9tdDYzOTcvY29yZS5oPg0KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4NCisjaW5jbHVkZSA8 bGludXgvb2ZfZGV2aWNlLmg+DQorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPg0K KyNpbmNsdWRlIDxsaW51eC9yZWd1bGF0b3IvY29uc3VtZXIuaD4NCisjaW5jbHVkZSA8bGludXgv c2NoZWQuaD4NCisjaW5jbHVkZSA8c291bmQvc29jLmg+DQorI2luY2x1ZGUgPHNvdW5kL3Rsdi5o Pg0KKw0KKyNpbmNsdWRlICJtdDYzNTkuaCINCisNCisvKiBzdGF0aWMgZnVuY3Rpb24gZGVjbGFy YXRpb24gKi8NCitpbnQgbXQ2MzU5X3NldF9tdGthaWZfcHJvdG9jb2woc3RydWN0IHNuZF9zb2Nf cGNtX3J1bnRpbWUgKnJ0ZCwNCisJCQkgICAgICAgaW50IG10a2FpZl9wcm90b2NvbCkNCit7DQor CXN0cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY29tcG9uZW50ID0NCisJCXNuZF9zb2NfcnRkY29t X2xvb2t1cChydGQsIENPREVDX01UNjM1OV9OQU1FKTsNCisJc3RydWN0IG10NjM1OV9wcml2ICpw cml2ID0gc25kX3NvY19jb21wb25lbnRfZ2V0X2RydmRhdGEoY29tcG9uZW50KTsNCisNCisJcHJp di0+bXRrYWlmX3Byb3RvY29sID0gbXRrYWlmX3Byb3RvY29sOw0KKwlyZXR1cm4gMDsNCit9DQor RVhQT1JUX1NZTUJPTF9HUEwobXQ2MzU5X3NldF9tdGthaWZfcHJvdG9jb2wpOw0KKw0KK3ZvaWQg bXQ2MzU5X3NldF9wbGF5YmFja19ncGlvKHN0cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY21wbnQp DQorew0KKwlzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYgPSBzbmRfc29jX2NvbXBvbmVudF9nZXRf ZHJ2ZGF0YShjbXBudCk7DQorDQorCS8qIHNldCBncGlvIG1vc2kgbW9kZSwgY2xrIC8gZGF0YSBt b3NpICovDQorCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9HUElPX01PREUyX0NM UiwgMHgwZmZlKTsNCisJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0dQSU9fTU9E RTJfU0VULCAweDAyNDkpOw0KKw0KKwkvKiBzeW5jIG1vc2kgKi8NCisJcmVnbWFwX3dyaXRlKHBy aXYtPnJlZ21hcCwgTVQ2MzU5X0dQSU9fTU9ERTNfQ0xSLCAweDYpOw0KKwlyZWdtYXBfd3JpdGUo cHJpdi0+cmVnbWFwLCBNVDYzNTlfR1BJT19NT0RFM19TRVQsIDB4MSk7DQorfQ0KK0VYUE9SVF9T WU1CT0xfR1BMKG10NjM1OV9zZXRfcGxheWJhY2tfZ3Bpbyk7DQorDQordm9pZCBtdDYzNTlfcmVz ZXRfcGxheWJhY2tfZ3BpbyhzdHJ1Y3Qgc25kX3NvY19jb21wb25lbnQgKmNtcG50KQ0KK3sNCisJ c3RydWN0IG10NjM1OV9wcml2ICpwcml2ID0gc25kX3NvY19jb21wb25lbnRfZ2V0X2RydmRhdGEo Y21wbnQpOw0KKw0KKwkvKiBzZXQgcGFkX2F1ZF8qX21vc2kgdG8gR1BJTyBtb2RlIGFuZCBkaXIg aW5wdXQNCisJICogcmVhc29uOg0KKwkgKiBwYWRfYXVkX2RhdF9tb3NpKiwgYmVjYXVzZSB0aGUg cGluIGlzIHVzZWQgYXMgYm9vdCBzdHJhcA0KKwkgKiBkb24ndCBjbGVhbiBjbGsvc3luYywgZm9y IG10a2FpZiBwcm90b2NvbCAyDQorCSAqLw0KKwlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBN VDYzNTlfR1BJT19NT0RFMl9DTFIsIDB4MGZmOCk7DQorCXJlZ21hcF91cGRhdGVfYml0cyhwcml2 LT5yZWdtYXAsIE1UNjM1OV9HUElPX0RJUjAsIDB4NyA8PCA5LCAweDApOw0KK30NCitFWFBPUlRf U1lNQk9MX0dQTChtdDYzNTlfcmVzZXRfcGxheWJhY2tfZ3Bpbyk7DQorDQordm9pZCBtdDYzNTlf c2V0X2NhcHR1cmVfZ3BpbyhzdHJ1Y3Qgc25kX3NvY19jb21wb25lbnQgKmNtcG50KQ0KK3sNCisJ c3RydWN0IG10NjM1OV9wcml2ICpwcml2ID0gc25kX3NvY19jb21wb25lbnRfZ2V0X2RydmRhdGEo Y21wbnQpOw0KKw0KKwkvKiBzZXQgZ3BpbyBtaXNvIG1vZGUgKi8NCisJcmVnbWFwX3dyaXRlKHBy aXYtPnJlZ21hcCwgTVQ2MzU5X0dQSU9fTU9ERTNfQ0xSLCAweDBlMDApOw0KKwlyZWdtYXBfd3Jp dGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfR1BJT19NT0RFM19TRVQsIDB4MDIwMCk7DQorDQorCXJl Z21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9HUElPX01PREU0X0NMUiwgMHgwMDNmKTsN CisJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0dQSU9fTU9ERTRfU0VULCAweDAw MDkpOw0KK30NCitFWFBPUlRfU1lNQk9MX0dQTChtdDYzNTlfc2V0X2NhcHR1cmVfZ3Bpbyk7DQor DQordm9pZCBtdDYzNTlfcmVzZXRfY2FwdHVyZV9ncGlvKHN0cnVjdCBzbmRfc29jX2NvbXBvbmVu dCAqY21wbnQpDQorew0KKwlzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYgPSBzbmRfc29jX2NvbXBv bmVudF9nZXRfZHJ2ZGF0YShjbXBudCk7DQorDQorCS8qIHNldCBwYWRfYXVkXypfbWlzbyB0byBH UElPIG1vZGUgYW5kIGRpciBpbnB1dA0KKwkgKiByZWFzb246DQorCSAqIHBhZF9hdWRfY2xrX21p c28sIGJlY2F1c2Ugd2hlbiBwbGF5YmFjayBvbmx5IHRoZSBtaXNvX2Nsaw0KKwkgKiB3aWxsIGFs c28gaGF2ZSAyNm0sIHNvIHdpbGwgaGF2ZSBwb3dlciBsZWFrDQorCSAqIHBhZF9hdWRfZGF0X21p c28qLCBiZWNhdXNlIHRoZSBwaW4gaXMgdXNlZCBhcyBib290IHN0cmFwDQorCSAqLw0KKwlyZWdt YXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfR1BJT19NT0RFM19DTFIsIDB4MGUwMCk7DQor DQorCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9HUElPX01PREU0X0NMUiwgMHgw MDNmKTsNCisNCisJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0dQSU9f RElSMCwNCisJCQkgICAweDcgPDwgMTMsIDB4MCk7DQorCXJlZ21hcF91cGRhdGVfYml0cyhwcml2 LT5yZWdtYXAsIE1UNjM1OV9HUElPX0RJUjEsDQorCQkJICAgMHgzIDw8IDAsIDB4MCk7DQorfQ0K K0VYUE9SVF9TWU1CT0xfR1BMKG10NjM1OV9yZXNldF9jYXB0dXJlX2dwaW8pOw0KKw0KKy8qIHVz ZSBvbmx5IHdoZW4gZG9pbmcgbXRrYWlmIGNhbGlicmFpdG9uIGF0IHRoZSBib290IHRpbWUgKi8N CitzdGF0aWMgaW50IG10NjM1OV9zZXRfZGN4byhzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYsIGJv b2wgZW5hYmxlKQ0KK3sNCisJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5 X0RDWE9fQ1cxMiwNCisJCQkgICAweDEgPDwgUkdfWE9fQVVESU9fRU5fTV9TRlQsDQorCQkJICAg KGVuYWJsZSA/IDEgOiAwKSA8PCBSR19YT19BVURJT19FTl9NX1NGVCk7DQorCXJldHVybiAwOw0K K30NCisNCisvKiB1c2Ugb25seSB3aGVuIGRvaW5nIG10a2FpZiBjYWxpYnJhaXRvbiBhdCB0aGUg Ym9vdCB0aW1lICovDQorc3RhdGljIGludCBtdDYzNTlfc2V0X2Nsa3NxKHN0cnVjdCBtdDYzNTlf cHJpdiAqcHJpdiwgYm9vbCBlbmFibGUpDQorew0KKwkvKiBhdWRpbyBjbGsgc291cmNlIGZyb20g aW50ZXJuYWwgZGN4byAqLw0KKwlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYz NTlfQVVERU5DX0FOQV9DT04yMywNCisJCQkgICBSR19DTEtTUV9JTl9TRUxfVEVTVF9NQVNLX1NG VCwNCisJCQkgICAweDApOw0KKw0KKwkvKiBFbmFibGUvZGlzYWJsZSBDTEtTUSAyNk1IeiAqLw0K KwlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVERU5DX0FOQV9DT04y MywNCisJCQkgICBSR19DTEtTUV9FTl9NQVNLX1NGVCwNCisJCQkgICAoZW5hYmxlID8gMSA6IDAp IDw8IFJHX0NMS1NRX0VOX1NGVCk7DQorCXJldHVybiAwOw0KK30NCisNCisvKiB1c2Ugb25seSB3 aGVuIGRvaW5nIG10a2FpZiBjYWxpYnJhaXRvbiBhdCB0aGUgYm9vdCB0aW1lICovDQorc3RhdGlj IGludCBtdDYzNTlfc2V0X2F1ZF9nbG9iYWxfYmlhcyhzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYs IGJvb2wgZW5hYmxlKQ0KK3sNCisJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2 MzU5X0FVRERFQ19BTkFfQ09OMTMsDQorCQkJICAgUkdfQVVER0xCX1BXUkROX1ZBMzJfTUFTS19T RlQsDQorCQkJICAgKGVuYWJsZSA/IDAgOiAxKSA8PCBSR19BVURHTEJfUFdSRE5fVkEzMl9TRlQp Ow0KKwlyZXR1cm4gMDsNCit9DQorDQorLyogdXNlIG9ubHkgd2hlbiBkb2luZyBtdGthaWYgY2Fs aWJyYWl0b24gYXQgdGhlIGJvb3QgdGltZSAqLw0KK3N0YXRpYyBpbnQgbXQ2MzU5X3NldF90b3Bj ayhzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYsIGJvb2wgZW5hYmxlKQ0KK3sNCisJcmVnbWFwX3Vw ZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRF9UT1BfQ0tQRE5fQ09OMCwNCisJCQkg ICAweDAwNjYsIGVuYWJsZSA/IDB4MCA6IDB4NjYpOw0KKwlyZXR1cm4gMDsNCit9DQorDQorc3Rh dGljIGludCBtdDYzNTlfc2V0X2RlY29kZXJfY2xrKHN0cnVjdCBtdDYzNTlfcHJpdiAqcHJpdiwg Ym9vbCBlbmFibGUpDQorew0KKwlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYz NTlfQVVEREVDX0FOQV9DT04xMywNCisJCQkgICBSR19SU1RCX0RFQ09ERVJfVkEzMl9NQVNLX1NG VCwNCisJCQkgICAoZW5hYmxlID8gMSA6IDApIDw8IFJHX1JTVEJfREVDT0RFUl9WQTMyX1NGVCk7 DQorCXJldHVybiAwOw0KK30NCisNCitzdGF0aWMgaW50IG10NjM1OV9tdGthaWZfdHhfZW5hYmxl KHN0cnVjdCBtdDYzNTlfcHJpdiAqcHJpdikNCit7DQorCXN3aXRjaCAocHJpdi0+bXRrYWlmX3By b3RvY29sKSB7DQorCWNhc2UgTVQ2MzU5X01US0FJRl9QUk9UT0NPTF8yX0NMS19QMjoNCisJCS8q IE1US0FJRiBUWCBmb3JtYXQgc2V0dGluZyAqLw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYt PnJlZ21hcCwNCisJCQkJICAgTVQ2MzU5X0FGRV9BRERBX01US0FJRl9DRkcwLA0KKwkJCQkgICAw eGZmZmYsIDB4MDIxMCk7DQorCQkvKiBlbmFibGUgYXVkX3BhZCBUWCBmaWZvcyAqLw0KKwkJcmVn bWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwNCisJCQkJICAgTVQ2MzU5X0FGRV9BVURfUEFE X1RPUCwNCisJCQkJICAgMHhmZjAwLCAweDM4MDApOw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHBy aXYtPnJlZ21hcCwNCisJCQkJICAgTVQ2MzU5X0FGRV9BVURfUEFEX1RPUCwNCisJCQkJICAgMHhm ZjAwLCAweDM5MDApOw0KKwkJYnJlYWs7DQorCWNhc2UgTVQ2MzU5X01US0FJRl9QUk9UT0NPTF8y Og0KKwkJLyogTVRLQUlGIFRYIGZvcm1hdCBzZXR0aW5nICovDQorCQlyZWdtYXBfdXBkYXRlX2Jp dHMocHJpdi0+cmVnbWFwLA0KKwkJCQkgICBNVDYzNTlfQUZFX0FEREFfTVRLQUlGX0NGRzAsDQor CQkJCSAgIDB4ZmZmZiwgMHgwMjEwKTsNCisJCS8qIGVuYWJsZSBhdWRfcGFkIFRYIGZpZm9zICov DQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLA0KKwkJCQkgICBNVDYzNTlfQUZF X0FVRF9QQURfVE9QLA0KKwkJCQkgICAweGZmMDAsIDB4MzEwMCk7DQorCQlicmVhazsNCisJY2Fz ZSBNVDYzNTlfTVRLQUlGX1BST1RPQ09MXzE6DQorCWRlZmF1bHQ6DQorCQkvKiBNVEtBSUYgVFgg Zm9ybWF0IHNldHRpbmcgKi8NCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsDQor CQkJCSAgIE1UNjM1OV9BRkVfQUREQV9NVEtBSUZfQ0ZHMCwNCisJCQkJICAgMHhmZmZmLCAweDAw MDApOw0KKwkJLyogZW5hYmxlIGF1ZF9wYWQgVFggZmlmb3MgKi8NCisJCXJlZ21hcF91cGRhdGVf Yml0cyhwcml2LT5yZWdtYXAsDQorCQkJCSAgIE1UNjM1OV9BRkVfQVVEX1BBRF9UT1AsDQorCQkJ CSAgIDB4ZmYwMCwgMHgzMTAwKTsNCisJCWJyZWFrOw0KKwl9DQorCXJldHVybiAwOw0KK30NCisN CitzdGF0aWMgaW50IG10NjM1OV9tdGthaWZfdHhfZGlzYWJsZShzdHJ1Y3QgbXQ2MzU5X3ByaXYg KnByaXYpDQorew0KKwkvKiBkaXNhYmxlIGF1ZF9wYWQgVFggZmlmb3MgKi8NCisJcmVnbWFwX3Vw ZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FGRV9BVURfUEFEX1RPUCwNCisJCQkgICAw eGZmMDAsIDB4MzAwMCk7DQorCXJldHVybiAwOw0KK30NCisNCitpbnQgbXQ2MzU5X210a2FpZl9j YWxpYnJhdGlvbl9lbmFibGUoc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCkNCit7DQor CXN0cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY29tcG9uZW50ID0NCisJCXNuZF9zb2NfcnRkY29t X2xvb2t1cChydGQsIENPREVDX01UNjM1OV9OQU1FKTsNCisJc3RydWN0IG10NjM1OV9wcml2ICpw cml2ID0gc25kX3NvY19jb21wb25lbnRfZ2V0X2RydmRhdGEoY29tcG9uZW50KTsNCisNCisJbXQ2 MzU5X3NldF9wbGF5YmFja19ncGlvKGNvbXBvbmVudCk7DQorCW10NjM1OV9zZXRfY2FwdHVyZV9n cGlvKGNvbXBvbmVudCk7DQorCW10NjM1OV9tdGthaWZfdHhfZW5hYmxlKHByaXYpOw0KKw0KKwlt dDYzNTlfc2V0X2RjeG8ocHJpdiwgdHJ1ZSk7DQorCW10NjM1OV9zZXRfYXVkX2dsb2JhbF9iaWFz KHByaXYsIHRydWUpOw0KKwltdDYzNTlfc2V0X2Nsa3NxKHByaXYsIHRydWUpOw0KKwltdDYzNTlf c2V0X3RvcGNrKHByaXYsIHRydWUpOw0KKw0KKwkvKiBzZXQgZGF0X21pc29fbG9vcGJhY2sgb24g Ki8NCisJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRElPX0RJR19D RkcsDQorCQkJICAgUkdfQVVEX1BBRF9UT1BfREFUX01JU08yX0xPT1BCQUNLX01BU0tfU0ZULA0K KwkJCSAgIDEgPDwgUkdfQVVEX1BBRF9UT1BfREFUX01JU08yX0xPT1BCQUNLX1NGVCk7DQorCXJl Z21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURJT19ESUdfQ0ZHLA0KKwkJ CSAgIFJHX0FVRF9QQURfVE9QX0RBVF9NSVNPX0xPT1BCQUNLX01BU0tfU0ZULA0KKwkJCSAgIDEg PDwgUkdfQVVEX1BBRF9UT1BfREFUX01JU09fTE9PUEJBQ0tfU0ZUKTsNCisJcmVnbWFwX3VwZGF0 ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRElPX0RJR19DRkcxLA0KKwkJCSAgIFJHX0FV RF9QQURfVE9QX0RBVF9NSVNPM19MT09QQkFDS19NQVNLX1NGVCwNCisJCQkgICAxIDw8IFJHX0FV RF9QQURfVE9QX0RBVF9NSVNPM19MT09QQkFDS19TRlQpOw0KKwlyZXR1cm4gMDsNCit9DQorRVhQ T1JUX1NZTUJPTF9HUEwobXQ2MzU5X210a2FpZl9jYWxpYnJhdGlvbl9lbmFibGUpOw0KKw0KK2lu dCBtdDYzNTlfbXRrYWlmX2NhbGlicmF0aW9uX2Rpc2FibGUoc3RydWN0IHNuZF9zb2NfcGNtX3J1 bnRpbWUgKnJ0ZCkNCit7DQorCXN0cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY29tcG9uZW50ID0N CisJCXNuZF9zb2NfcnRkY29tX2xvb2t1cChydGQsIENPREVDX01UNjM1OV9OQU1FKTsNCisJc3Ry dWN0IG10NjM1OV9wcml2ICpwcml2ID0gc25kX3NvY19jb21wb25lbnRfZ2V0X2RydmRhdGEoY29t cG9uZW50KTsNCisNCisJLyogc2V0IGRhdF9taXNvX2xvb3BiYWNrIG9mZiAqLw0KKwlyZWdtYXBf dXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVESU9fRElHX0NGRywNCisJCQkgICBS R19BVURfUEFEX1RPUF9EQVRfTUlTTzJfTE9PUEJBQ0tfTUFTS19TRlQsDQorCQkJICAgMCA8PCBS R19BVURfUEFEX1RPUF9EQVRfTUlTTzJfTE9PUEJBQ0tfU0ZUKTsNCisJcmVnbWFwX3VwZGF0ZV9i aXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRElPX0RJR19DRkcsDQorCQkJICAgUkdfQVVEX1BB RF9UT1BfREFUX01JU09fTE9PUEJBQ0tfTUFTS19TRlQsDQorCQkJICAgMCA8PCBSR19BVURfUEFE X1RPUF9EQVRfTUlTT19MT09QQkFDS19TRlQpOw0KKwlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+ cmVnbWFwLCBNVDYzNTlfQVVESU9fRElHX0NGRzEsDQorCQkJICAgUkdfQVVEX1BBRF9UT1BfREFU X01JU08zX0xPT1BCQUNLX01BU0tfU0ZULA0KKwkJCSAgIDAgPDwgUkdfQVVEX1BBRF9UT1BfREFU X01JU08zX0xPT1BCQUNLX1NGVCk7DQorDQorCW10NjM1OV9zZXRfdG9wY2socHJpdiwgZmFsc2Up Ow0KKwltdDYzNTlfc2V0X2Nsa3NxKHByaXYsIGZhbHNlKTsNCisJbXQ2MzU5X3NldF9hdWRfZ2xv YmFsX2JpYXMocHJpdiwgZmFsc2UpOw0KKwltdDYzNTlfc2V0X2RjeG8ocHJpdiwgZmFsc2UpOw0K Kw0KKwltdDYzNTlfbXRrYWlmX3R4X2Rpc2FibGUocHJpdik7DQorCW10NjM1OV9yZXNldF9wbGF5 YmFja19ncGlvKGNvbXBvbmVudCk7DQorCW10NjM1OV9yZXNldF9jYXB0dXJlX2dwaW8oY29tcG9u ZW50KTsNCisJcmV0dXJuIDA7DQorfQ0KK0VYUE9SVF9TWU1CT0xfR1BMKG10NjM1OV9tdGthaWZf Y2FsaWJyYXRpb25fZGlzYWJsZSk7DQorDQoraW50IG10NjM1OV9zZXRfbXRrYWlmX2NhbGlicmF0 aW9uX3BoYXNlKHN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQsDQorCQkJCQlpbnQgcGhh c2VfMSwgaW50IHBoYXNlXzIsIGludCBwaGFzZV8zKQ0KK3sNCisJc3RydWN0IHNuZF9zb2NfY29t cG9uZW50ICpjb21wb25lbnQgPQ0KKwkJc25kX3NvY19ydGRjb21fbG9va3VwKHJ0ZCwgQ09ERUNf TVQ2MzU5X05BTUUpOw0KKwlzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYgPSBzbmRfc29jX2NvbXBv bmVudF9nZXRfZHJ2ZGF0YShjb21wb25lbnQpOw0KKw0KKwlyZWdtYXBfdXBkYXRlX2JpdHMocHJp di0+cmVnbWFwLCBNVDYzNTlfQVVESU9fRElHX0NGRywNCisJCQkgICBSR19BVURfUEFEX1RPUF9Q SEFTRV9NT0RFX01BU0tfU0ZULA0KKwkJCSAgIHBoYXNlXzEgPDwgUkdfQVVEX1BBRF9UT1BfUEhB U0VfTU9ERV9TRlQpOw0KKwlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlf QVVESU9fRElHX0NGRywNCisJCQkgICBSR19BVURfUEFEX1RPUF9QSEFTRV9NT0RFMl9NQVNLX1NG VCwNCisJCQkgICBwaGFzZV8yIDw8IFJHX0FVRF9QQURfVE9QX1BIQVNFX01PREUyX1NGVCk7DQor CXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURJT19ESUdfQ0ZHMSwN CisJCQkgICBSR19BVURfUEFEX1RPUF9QSEFTRV9NT0RFM19NQVNLX1NGVCwNCisJCQkgICBwaGFz ZV8zIDw8IFJHX0FVRF9QQURfVE9QX1BIQVNFX01PREUzX1NGVCk7DQorCXJldHVybiAwOw0KK30N CitFWFBPUlRfU1lNQk9MX0dQTChtdDYzNTlfc2V0X210a2FpZl9jYWxpYnJhdGlvbl9waGFzZSk7 DQorDQorc3RhdGljIHZvaWQgemNkX2Rpc2FibGUoc3RydWN0IG10NjM1OV9wcml2ICpwcml2KQ0K K3sNCisJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X1pDRF9DT04wLCAweDAwMDAp Ow0KK30NCisNCitzdGF0aWMgdm9pZCBocF9tYWluX291dHB1dF9yYW1wKHN0cnVjdCBtdDYzNTlf cHJpdiAqcHJpdiwgYm9vbCB1cCkNCit7DQorCWludCBpID0gMCwgc3RhZ2UgPSAwOw0KKwlpbnQg dGFyZ2V0ID0gNzsNCisNCisJLyogRW5hYmxlL1JlZHVjZSBIUEwvUiBtYWluIG91dHB1dCBzdGFn ZSBzdGVwIGJ5IHN0ZXAgKi8NCisJZm9yIChpID0gMDsgaSA8PSB0YXJnZXQ7IGkrKykgew0KKwkJ c3RhZ2UgPSB1cCA/IGkgOiB0YXJnZXQgLSBpOw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYt PnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMSwNCisJCQkJICAgUkdfSFBMT1VUU1RHQ1RS TF9WQVVEUDMyX01BU0tfU0ZULA0KKwkJCQkgICBzdGFnZSA8PCBSR19IUExPVVRTVEdDVFJMX1ZB VURQMzJfU0ZUKTsNCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9B VURERUNfQU5BX0NPTjEsDQorCQkJCSAgIFJHX0hQUk9VVFNUR0NUUkxfVkFVRFAzMl9NQVNLX1NG VCwNCisJCQkJICAgc3RhZ2UgPDwgUkdfSFBST1VUU1RHQ1RSTF9WQVVEUDMyX1NGVCk7DQorCQl1 c2xlZXBfcmFuZ2UoNjAwLCA2NTApOw0KKwl9DQorfQ0KKw0KK3N0YXRpYyB2b2lkIGhwX2F1eF9m ZWVkYmFja19sb29wX2dhaW5fcmFtcChzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYsIGJvb2wgdXAp DQorew0KKwlpbnQgaSA9IDAsIHN0YWdlID0gMDsNCisNCisJLyogUmVkdWNlIEhQIGF1eCBmZWVk YmFjayBsb29wIGdhaW4gc3RlcCBieSBzdGVwICovDQorCWZvciAoaSA9IDA7IGkgPD0gMHhmOyBp KyspIHsNCisJCXN0YWdlID0gdXAgPyBpIDogMHhmIC0gaTsNCisJCXJlZ21hcF91cGRhdGVfYml0 cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjksDQorCQkJCSAgIDB4ZiA8PCAx Miwgc3RhZ2UgPDwgMTIpOw0KKwkJdXNsZWVwX3JhbmdlKDYwMCwgNjUwKTsNCisJfQ0KK30NCisN CitzdGF0aWMgdm9pZCBocF9pbl9wYWlyX2N1cnJlbnQoc3RydWN0IG10NjM1OV9wcml2ICpwcml2 LCBib29sIGluY3JlYXNlKQ0KK3sNCisJaW50IGkgPSAwLCBzdGFnZSA9IDA7DQorCWludCB0YXJn ZXQgPSAweDM7DQorDQorCS8qIFNldCBpbnB1dCBkaWZmIHBhaXIgYmlhcyBzZWxlY3QgKEhpLUZp IG1vZGUpICovDQorCWlmIChwcml2LT5ocF9oaWZpX21vZGUpIHsNCisJCS8qIFJlZHVjZSBIUCBh dXggZmVlZGJhY2sgbG9vcCBnYWluIHN0ZXAgYnkgc3RlcCAqLw0KKwkJZm9yIChpID0gMDsgaSA8 PSB0YXJnZXQ7IGkrKykgew0KKwkJCXN0YWdlID0gaW5jcmVhc2UgPyBpIDogdGFyZ2V0IC0gaTsN CisJCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLA0KKwkJCQkJICAgTVQ2MzU5X0FV RERFQ19BTkFfQ09OMTAsDQorCQkJCQkgICAweDMgPDwgMywgc3RhZ2UgPDwgMyk7DQorCQkJdXNs ZWVwX3JhbmdlKDEwMCwgMTUwKTsNCisJCX0NCisJfQ0KK30NCisNCitzdGF0aWMgdm9pZCBocF9w dWxsX2Rvd24oc3RydWN0IG10NjM1OV9wcml2ICpwcml2LCBib29sIGVuYWJsZSkNCit7DQorCWlu dCBpOw0KKw0KKwlpZiAoZW5hYmxlKSB7DQorCQlmb3IgKGkgPSAweDA7IGkgPD0gMHg3OyBpKysp IHsNCisJCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FO QV9DT04yLA0KKwkJCQkJICAgUkdfSFBQU0hPUlQyVkNNX1ZBVURQMzJfTUFTS19TRlQsDQorCQkJ CQkgICBpIDw8IFJHX0hQUFNIT1JUMlZDTV9WQVVEUDMyX1NGVCk7DQorCQkJdXNsZWVwX3Jhbmdl KDEwMCwgMTUwKTsNCisJCX0NCisJfSBlbHNlIHsNCisJCWZvciAoaSA9IDB4NzsgaSA+PSAweDA7 IGktLSkgew0KKwkJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURE RUNfQU5BX0NPTjIsDQorCQkJCQkgICBSR19IUFBTSE9SVDJWQ01fVkFVRFAzMl9NQVNLX1NGVCwN CisJCQkJCSAgIGkgPDwgUkdfSFBQU0hPUlQyVkNNX1ZBVURQMzJfU0ZUKTsNCisJCQl1c2xlZXBf cmFuZ2UoMTAwLCAxNTApOw0KKwkJfQ0KKwl9DQorfQ0KKw0KK3N0YXRpYyBpbnQgaHBfZ2Fpbl9j dGxfc2VsZWN0KHN0cnVjdCBtdDYzNTlfcHJpdiAqcHJpdiwNCisJCQkgICAgICB1bnNpZ25lZCBp bnQgaHBfZ2Fpbl9jdGwpDQorew0KKwlpZiAoaHBfZ2Fpbl9jdGwgPj0gSFBfR0FJTl9DVExfTlVN KSB7DQorCQlkZXZfd2Fybihwcml2LT5kZXYsICIlcygpLCBocF9nYWluX2N0bCAlZCBpbnZhbGlk XG4iLA0KKwkJCSBfX2Z1bmNfXywgaHBfZ2Fpbl9jdGwpOw0KKwkJcmV0dXJuIC1FSU5WQUw7DQor CX0NCisNCisJcHJpdi0+aHBfZ2Fpbl9jdGwgPSBocF9nYWluX2N0bDsNCisJcmVnbWFwX3VwZGF0 ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FGRV9ETF9OTEVfQ0ZHLA0KKwkJCSAgIE5MRV9M Q0hfSFBHQUlOX1NFTF9NQVNLX1NGVCwNCisJCQkgICBocF9nYWluX2N0bCA8PCBOTEVfTENIX0hQ R0FJTl9TRUxfU0ZUKTsNCisJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5 X0FGRV9ETF9OTEVfQ0ZHLA0KKwkJCSAgIE5MRV9SQ0hfSFBHQUlOX1NFTF9NQVNLX1NGVCwNCisJ CQkgICBocF9nYWluX2N0bCA8PCBOTEVfUkNIX0hQR0FJTl9TRUxfU0ZUKTsNCisNCisJcmV0dXJu IDA7DQorfQ0KKw0KK3N0YXRpYyBib29sIGlzX3ZhbGlkX2hwX3BnYV9pZHgoaW50IHJlZ19pZHgp DQorew0KKwlyZXR1cm4gKHJlZ19pZHggPj0gRExfR0FJTl84REIgJiYgcmVnX2lkeCA8PSBETF9H QUlOX05fMjJEQikgfHwNCisJICAgICAgIHJlZ19pZHggPT0gRExfR0FJTl9OXzQwREI7DQorfQ0K Kw0KK3N0YXRpYyB2b2lkIGhlYWRzZXRfdm9sdW1lX3JhbXAoc3RydWN0IG10NjM1OV9wcml2ICpw cml2LA0KKwkJCQlpbnQgZnJvbSwgaW50IHRvKQ0KK3sNCisJaW50IG9mZnNldCA9IDAsIGNvdW50 ID0gMSwgcmVnX2lkeDsNCisNCisJaWYgKCFpc192YWxpZF9ocF9wZ2FfaWR4KGZyb20pIHx8ICFp c192YWxpZF9ocF9wZ2FfaWR4KHRvKSkgew0KKwkJZGV2X3dhcm4ocHJpdi0+ZGV2LCAiJXMoKSwg dm9sdW1lIGluZGV4IGlzIG5vdCB2YWxpZCwgZnJvbSAlZCwgdG8gJWRcbiIsDQorCQkJIF9fZnVu Y19fLCBmcm9tLCB0byk7DQorCQlyZXR1cm47DQorCX0NCisNCisJZGV2X2RiZyhwcml2LT5kZXYs ICIlcygpLCBmcm9tICVkLCB0byAlZFxuIiwgX19mdW5jX18sIGZyb20sIHRvKTsNCisNCisJaWYg KHRvID4gZnJvbSkNCisJCW9mZnNldCA9IHRvIC0gZnJvbTsNCisJZWxzZQ0KKwkJb2Zmc2V0ID0g ZnJvbSAtIHRvOw0KKw0KKwl3aGlsZSAob2Zmc2V0ID4gMCkgew0KKwkJaWYgKHRvID4gZnJvbSkN CisJCQlyZWdfaWR4ID0gZnJvbSArIGNvdW50Ow0KKwkJZWxzZQ0KKwkJCXJlZ19pZHggPSBmcm9t IC0gY291bnQ7DQorDQorCQlpZiAoaXNfdmFsaWRfaHBfcGdhX2lkeChyZWdfaWR4KSkgew0KKwkJ CXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsDQorCQkJCQkgICBNVDYzNTlfWkNEX0NP TjIsDQorCQkJCQkgICBETF9HQUlOX1JFR19NQVNLLA0KKwkJCQkJICAgKHJlZ19pZHggPDwgNykg fCByZWdfaWR4KTsNCisJCQl1c2xlZXBfcmFuZ2UoNjAwLCA2NTApOw0KKwkJfQ0KKwkJb2Zmc2V0 LS07DQorCQljb3VudCsrOw0KKwl9DQorfQ0KKw0KK3N0YXRpYyBpbnQgbXQ2MzU5X3B1dF92b2xz dyhzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwNCisJCQkgICAgc3RydWN0IHNuZF9jdGxf ZWxlbV92YWx1ZSAqdWNvbnRyb2wpDQorew0KKwlzdHJ1Y3Qgc25kX3NvY19jb21wb25lbnQgKmNv bXBvbmVudCA9DQorCQkJc25kX3NvY19rY29udHJvbF9jb21wb25lbnQoa2NvbnRyb2wpOw0KKwlz dHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYgPSBzbmRfc29jX2NvbXBvbmVudF9nZXRfZHJ2ZGF0YShj b21wb25lbnQpOw0KKwlzdHJ1Y3Qgc29jX21peGVyX2NvbnRyb2wgKm1jID0NCisJCQkoc3RydWN0 IHNvY19taXhlcl9jb250cm9sICopa2NvbnRyb2wtPnByaXZhdGVfdmFsdWU7DQorCXVuc2lnbmVk IGludCByZWc7DQorCWludCBpbmRleCA9IHVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzBd Ow0KKwlpbnQgcmV0Ow0KKw0KKwlyZXQgPSBzbmRfc29jX3B1dF92b2xzdyhrY29udHJvbCwgdWNv bnRyb2wpOw0KKwlpZiAocmV0IDwgMCkNCisJCXJldHVybiByZXQ7DQorDQorCXN3aXRjaCAobWMt PnJlZykgew0KKwljYXNlIE1UNjM1OV9aQ0RfQ09OMjoNCisJCXJlZ21hcF9yZWFkKHByaXYtPnJl Z21hcCwgTVQ2MzU5X1pDRF9DT04yLCAmcmVnKTsNCisJCXByaXYtPmFuYV9nYWluW0FVRElPX0FO QUxPR19WT0xVTUVfSFBPVVRMXSA9DQorCQkJKHJlZyA+PiBSR19BVURIUExHQUlOX1NGVCkgJiBS R19BVURIUExHQUlOX01BU0s7DQorCQlwcml2LT5hbmFfZ2FpbltBVURJT19BTkFMT0dfVk9MVU1F X0hQT1VUUl0gPQ0KKwkJCShyZWcgPj4gUkdfQVVESFBSR0FJTl9TRlQpICYgUkdfQVVESFBSR0FJ Tl9NQVNLOw0KKwkJYnJlYWs7DQorCWNhc2UgTVQ2MzU5X1pDRF9DT04xOg0KKwkJcmVnbWFwX3Jl YWQocHJpdi0+cmVnbWFwLCBNVDYzNTlfWkNEX0NPTjEsICZyZWcpOw0KKwkJcHJpdi0+YW5hX2dh aW5bQVVESU9fQU5BTE9HX1ZPTFVNRV9MSU5FT1VUTF0gPQ0KKwkJCShyZWcgPj4gUkdfQVVETE9M R0FJTl9TRlQpICYgUkdfQVVETE9MR0FJTl9NQVNLOw0KKwkJcHJpdi0+YW5hX2dhaW5bQVVESU9f QU5BTE9HX1ZPTFVNRV9MSU5FT1VUUl0gPQ0KKwkJCShyZWcgPj4gUkdfQVVETE9SR0FJTl9TRlQp ICYgUkdfQVVETE9SR0FJTl9NQVNLOw0KKwkJYnJlYWs7DQorCWNhc2UgTVQ2MzU5X1pDRF9DT04z Og0KKwkJcmVnbWFwX3JlYWQocHJpdi0+cmVnbWFwLCBNVDYzNTlfWkNEX0NPTjMsICZyZWcpOw0K KwkJcHJpdi0+YW5hX2dhaW5bQVVESU9fQU5BTE9HX1ZPTFVNRV9IU09VVExdID0NCisJCQkocmVn ID4+IFJHX0FVREhTR0FJTl9TRlQpICYgUkdfQVVESFNHQUlOX01BU0s7DQorCQlicmVhazsNCisJ Y2FzZSBNVDYzNTlfQVVERU5DX0FOQV9DT04wOg0KKwkJcmVnbWFwX3JlYWQocHJpdi0+cmVnbWFw LCBNVDYzNTlfQVVERU5DX0FOQV9DT04wLCAmcmVnKTsNCisJCXByaXYtPmFuYV9nYWluW0FVRElP X0FOQUxPR19WT0xVTUVfTUlDQU1QMV0gPQ0KKwkJCShyZWcgPj4gUkdfQVVEUFJFQU1QTEdBSU5f U0ZUKSAmIFJHX0FVRFBSRUFNUExHQUlOX01BU0s7DQorCQlicmVhazsNCisJY2FzZSBNVDYzNTlf QVVERU5DX0FOQV9DT04xOg0KKwkJcmVnbWFwX3JlYWQocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVE RU5DX0FOQV9DT04xLCAmcmVnKTsNCisJCXByaXYtPmFuYV9nYWluW0FVRElPX0FOQUxPR19WT0xV TUVfTUlDQU1QMl0gPQ0KKwkJCShyZWcgPj4gUkdfQVVEUFJFQU1QUkdBSU5fU0ZUKSAmIFJHX0FV RFBSRUFNUFJHQUlOX01BU0s7DQorCQlicmVhazsNCisJY2FzZSBNVDYzNTlfQVVERU5DX0FOQV9D T04yOg0KKwkJcmVnbWFwX3JlYWQocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVERU5DX0FOQV9DT04y LCAmcmVnKTsNCisJCXByaXYtPmFuYV9nYWluW0FVRElPX0FOQUxPR19WT0xVTUVfTUlDQU1QM10g PQ0KKwkJCShyZWcgPj4gUkdfQVVEUFJFQU1QM0dBSU5fU0ZUKSAmIFJHX0FVRFBSRUFNUDNHQUlO X01BU0s7DQorCQlicmVhazsNCisJfQ0KKw0KKwlkZXZfZGJnKHByaXYtPmRldiwgIiVzKCksIG5h bWUgJXMsIHJlZygweCV4KSA9IDB4JXgsIHNldCBpbmRleCA9ICV4XG4iLA0KKwkJX19mdW5jX18s IGtjb250cm9sLT5pZC5uYW1lLCBtYy0+cmVnLCByZWcsIGluZGV4KTsNCisNCisJcmV0dXJuIHJl dDsNCit9DQorDQorLyogTVVYICovDQorDQorLyogTE9MIE1VWCAqLw0KK3N0YXRpYyBjb25zdCBj aGFyICogY29uc3QgbG9faW5fbXV4X21hcFtdID0gew0KKwkiT3BlbiIsICJQbGF5YmFja19MX0RB QyIsICJQbGF5YmFjayIsICJUZXN0IE1vZGUiDQorfTsNCisNCitzdGF0aWMgU09DX0VOVU1fU0lO R0xFX0RFQ0wobG9faW5fbXV4X21hcF9lbnVtLCBTTkRfU09DX05PUE0sIDAsIGxvX2luX211eF9t YXApOw0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBsb19pbl9tdXhf Y29udHJvbCA9DQorCVNPQ19EQVBNX0VOVU0oIkxPIFNlbGVjdCIsIGxvX2luX211eF9tYXBfZW51 bSk7DQorDQorLypIUCBNVVggKi8NCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGhwX2luX211 eF9tYXBbXSA9IHsNCisJIk9wZW4iLA0KKwkiTG91ZFNQSyBQbGF5YmFjayIsDQorCSJBdWRpbyBQ bGF5YmFjayIsDQorCSJUZXN0IE1vZGUiLA0KKwkiSFAgSW1wZWRhbmNlIiwNCisJInVuZGVmaW5l ZDEiLA0KKwkidW5kZWZpbmVkMiIsDQorCSJ1bmRlZmluZWQzIiwNCit9Ow0KKw0KK3N0YXRpYyBT T0NfRU5VTV9TSU5HTEVfREVDTChocGxfaW5fbXV4X21hcF9lbnVtLA0KKwkJCQkgIFNORF9TT0Nf Tk9QTSwNCisJCQkJICAwLA0KKwkJCQkgIGhwX2luX211eF9tYXApOw0KKw0KK3N0YXRpYyBjb25z dCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBocGxfaW5fbXV4X2NvbnRyb2wgPQ0KKwlTT0NfREFQ TV9FTlVNKCJIUEwgU2VsZWN0IiwgaHBsX2luX211eF9tYXBfZW51bSk7DQorDQorc3RhdGljIFNP Q19FTlVNX1NJTkdMRV9ERUNMKGhwcl9pbl9tdXhfbWFwX2VudW0sDQorCQkJCSAgU05EX1NPQ19O T1BNLA0KKwkJCQkgIDAsDQorCQkJCSAgaHBfaW5fbXV4X21hcCk7DQorDQorc3RhdGljIGNvbnN0 IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IGhwcl9pbl9tdXhfY29udHJvbCA9DQorCVNPQ19EQVBN X0VOVU0oIkhQUiBTZWxlY3QiLCBocHJfaW5fbXV4X21hcF9lbnVtKTsNCisNCisvKiBSQ1YgTVVY ICovDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCByY3ZfaW5fbXV4X21hcFtdID0gew0KKwki T3BlbiIsICJNdXRlIiwgIlZvaWNlIFBsYXliYWNrIiwgIlRlc3QgTW9kZSINCit9Ow0KKw0KK3N0 YXRpYyBTT0NfRU5VTV9TSU5HTEVfREVDTChyY3ZfaW5fbXV4X21hcF9lbnVtLA0KKwkJCQkgIFNO RF9TT0NfTk9QTSwNCisJCQkJICAwLA0KKwkJCQkgIHJjdl9pbl9tdXhfbWFwKTsNCisNCitzdGF0 aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgcmN2X2luX211eF9jb250cm9sID0NCisJ U09DX0RBUE1fRU5VTSgiUkNWIFNlbGVjdCIsIHJjdl9pbl9tdXhfbWFwX2VudW0pOw0KKw0KKy8q IERBQyBJbiBNVVggKi8NCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGRhY19pbl9tdXhfbWFw W10gPSB7DQorCSJOb3JtYWwgUGF0aCIsICJTZ2VuIg0KK307DQorDQorc3RhdGljIGludCBkYWNf aW5fbXV4X21hcF92YWx1ZVtdID0gew0KKwkweDAsIDB4MSwNCit9Ow0KKw0KK3N0YXRpYyBTT0Nf VkFMVUVfRU5VTV9TSU5HTEVfREVDTChkYWNfaW5fbXV4X21hcF9lbnVtLA0KKwkJCQkgIE1UNjM1 OV9BRkVfVE9QX0NPTjAsDQorCQkJCSAgRExfU0lORV9PTl9TRlQsDQorCQkJCSAgRExfU0lORV9P Tl9NQVNLLA0KKwkJCQkgIGRhY19pbl9tdXhfbWFwLA0KKwkJCQkgIGRhY19pbl9tdXhfbWFwX3Zh bHVlKTsNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgZGFjX2luX211 eF9jb250cm9sID0NCisJU09DX0RBUE1fRU5VTSgiREFDIFNlbGVjdCIsIGRhY19pbl9tdXhfbWFw X2VudW0pOw0KKw0KKy8qIEFJRiBPdXQgTVVYICovDQorc3RhdGljIFNPQ19WQUxVRV9FTlVNX1NJ TkdMRV9ERUNMKGFpZl9vdXRfbXV4X21hcF9lbnVtLA0KKwkJCQkgIE1UNjM1OV9BRkVfVE9QX0NP TjAsDQorCQkJCSAgVUxfU0lORV9PTl9TRlQsDQorCQkJCSAgVUxfU0lORV9PTl9NQVNLLA0KKwkJ CQkgIGRhY19pbl9tdXhfbWFwLA0KKwkJCQkgIGRhY19pbl9tdXhfbWFwX3ZhbHVlKTsNCisNCitz dGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgYWlmX291dF9tdXhfY29udHJvbCA9 DQorCVNPQ19EQVBNX0VOVU0oIkFJRiBPdXQgU2VsZWN0IiwgYWlmX291dF9tdXhfbWFwX2VudW0p Ow0KKw0KK3N0YXRpYyBTT0NfVkFMVUVfRU5VTV9TSU5HTEVfREVDTChhaWYyX291dF9tdXhfbWFw X2VudW0sDQorCQkJCSAgTVQ2MzU5X0FGRV9UT1BfQ09OMCwNCisJCQkJICBBRERBNl9VTF9TSU5F X09OX1NGVCwNCisJCQkJICBBRERBNl9VTF9TSU5FX09OX01BU0ssDQorCQkJCSAgZGFjX2luX211 eF9tYXAsDQorCQkJCSAgZGFjX2luX211eF9tYXBfdmFsdWUpOw0KKw0KK3N0YXRpYyBjb25zdCBz dHJ1Y3Qgc25kX2tjb250cm9sX25ldyBhaWYyX291dF9tdXhfY29udHJvbCA9DQorCVNPQ19EQVBN X0VOVU0oIkFJRiBPdXQgU2VsZWN0IiwgYWlmMl9vdXRfbXV4X21hcF9lbnVtKTsNCisNCitzdGF0 aWMgY29uc3QgY2hhciAqIGNvbnN0IHVsX3NyY19tdXhfbWFwW10gPSB7DQorCSJBTUlDIiwNCisJ IkRNSUMiLA0KK307DQorDQorc3RhdGljIGludCB1bF9zcmNfbXV4X21hcF92YWx1ZVtdID0gew0K KwlVTF9TUkNfTVVYX0FNSUMsDQorCVVMX1NSQ19NVVhfRE1JQywNCit9Ow0KKw0KK3N0YXRpYyBT T0NfVkFMVUVfRU5VTV9TSU5HTEVfREVDTCh1bF9zcmNfbXV4X21hcF9lbnVtLA0KKwkJCQkgIE1U NjM1OV9BRkVfVUxfU1JDX0NPTjBfTCwNCisJCQkJICBVTF9TRE1fM19MRVZFTF9DVExfU0ZULA0K KwkJCQkgIFVMX1NETV8zX0xFVkVMX0NUTF9NQVNLLA0KKwkJCQkgIHVsX3NyY19tdXhfbWFwLA0K KwkJCQkgIHVsX3NyY19tdXhfbWFwX3ZhbHVlKTsNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IHNu ZF9rY29udHJvbF9uZXcgdWxfc3JjX211eF9jb250cm9sID0NCisJU09DX0RBUE1fRU5VTSgiVUxf U1JDX01VWCBTZWxlY3QiLCB1bF9zcmNfbXV4X21hcF9lbnVtKTsNCisNCitzdGF0aWMgU09DX1ZB TFVFX0VOVU1fU0lOR0xFX0RFQ0wodWwyX3NyY19tdXhfbWFwX2VudW0sDQorCQkJCSAgTVQ2MzU5 X0FGRV9BRERBNl9VTF9TUkNfQ09OMF9MLA0KKwkJCQkgIEFEREE2X1VMX1NETV8zX0xFVkVMX0NU TF9TRlQsDQorCQkJCSAgQUREQTZfVUxfU0RNXzNfTEVWRUxfQ1RMX01BU0ssDQorCQkJCSAgdWxf c3JjX211eF9tYXAsDQorCQkJCSAgdWxfc3JjX211eF9tYXBfdmFsdWUpOw0KKw0KK3N0YXRpYyBj b25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyB1bDJfc3JjX211eF9jb250cm9sID0NCisJU09D X0RBUE1fRU5VTSgiVUxfU1JDX01VWCBTZWxlY3QiLCB1bDJfc3JjX211eF9tYXBfZW51bSk7DQor DQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBtaXNvX211eF9tYXBbXSA9IHsNCisJIlVMMV9D SDEiLA0KKwkiVUwxX0NIMiIsDQorCSJVTDJfQ0gxIiwNCisJIlVMMl9DSDIiLA0KK307DQorDQor c3RhdGljIGludCBtaXNvX211eF9tYXBfdmFsdWVbXSA9IHsNCisJTUlTT19NVVhfVUwxX0NIMSwN CisJTUlTT19NVVhfVUwxX0NIMiwNCisJTUlTT19NVVhfVUwyX0NIMSwNCisJTUlTT19NVVhfVUwy X0NIMiwNCit9Ow0KKw0KK3N0YXRpYyBTT0NfVkFMVUVfRU5VTV9TSU5HTEVfREVDTChtaXNvMF9t dXhfbWFwX2VudW0sDQorCQkJCSAgTVQ2MzU5X0FGRV9NVEtBSUZfTVVYX0NGRywNCisJCQkJICBS R19BRERBX0NIMV9TRUxfU0ZULA0KKwkJCQkgIFJHX0FEREFfQ0gxX1NFTF9NQVNLLA0KKwkJCQkg IG1pc29fbXV4X21hcCwNCisJCQkJICBtaXNvX211eF9tYXBfdmFsdWUpOw0KKw0KK3N0YXRpYyBj b25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBtaXNvMF9tdXhfY29udHJvbCA9DQorCVNPQ19E QVBNX0VOVU0oIk1JU09fTVVYIFNlbGVjdCIsIG1pc28wX211eF9tYXBfZW51bSk7DQorDQorc3Rh dGljIFNPQ19WQUxVRV9FTlVNX1NJTkdMRV9ERUNMKG1pc28xX211eF9tYXBfZW51bSwNCisJCQkJ ICBNVDYzNTlfQUZFX01US0FJRl9NVVhfQ0ZHLA0KKwkJCQkgIFJHX0FEREFfQ0gyX1NFTF9TRlQs DQorCQkJCSAgUkdfQUREQV9DSDJfU0VMX01BU0ssDQorCQkJCSAgbWlzb19tdXhfbWFwLA0KKwkJ CQkgIG1pc29fbXV4X21hcF92YWx1ZSk7DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2Nv bnRyb2xfbmV3IG1pc28xX211eF9jb250cm9sID0NCisJU09DX0RBUE1fRU5VTSgiTUlTT19NVVgg U2VsZWN0IiwgbWlzbzFfbXV4X21hcF9lbnVtKTsNCisNCitzdGF0aWMgU09DX1ZBTFVFX0VOVU1f U0lOR0xFX0RFQ0wobWlzbzJfbXV4X21hcF9lbnVtLA0KKwkJCQkgIE1UNjM1OV9BRkVfTVRLQUlG X01VWF9DRkcsDQorCQkJCSAgUkdfQUREQTZfQ0gxX1NFTF9TRlQsDQorCQkJCSAgUkdfQUREQTZf Q0gxX1NFTF9NQVNLLA0KKwkJCQkgIG1pc29fbXV4X21hcCwNCisJCQkJICBtaXNvX211eF9tYXBf dmFsdWUpOw0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBtaXNvMl9t dXhfY29udHJvbCA9DQorCVNPQ19EQVBNX0VOVU0oIk1JU09fTVVYIFNlbGVjdCIsIG1pc28yX211 eF9tYXBfZW51bSk7DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBkbWljX211eF9tYXBb XSA9IHsNCisJIkRNSUNfREFUQTAiLA0KKwkiRE1JQ19EQVRBMV9MIiwNCisJIkRNSUNfREFUQTFf TF8xIiwNCisJIkRNSUNfREFUQTFfUiIsDQorfTsNCisNCitzdGF0aWMgaW50IGRtaWNfbXV4X21h cF92YWx1ZVtdID0gew0KKwlETUlDX01VWF9ETUlDX0RBVEEwLA0KKwlETUlDX01VWF9ETUlDX0RB VEExX0wsDQorCURNSUNfTVVYX0RNSUNfREFUQTFfTF8xLA0KKwlETUlDX01VWF9ETUlDX0RBVEEx X1IsDQorfTsNCisNCitzdGF0aWMgU09DX1ZBTFVFX0VOVU1fU0lOR0xFX0RFQ0woZG1pYzBfbXV4 X21hcF9lbnVtLA0KKwkJCQkgIE1UNjM1OV9BRkVfTUlDX0FSUkFZX0NGRywNCisJCQkJICBSR19E TUlDX0FEQzFfU09VUkNFX1NFTF9TRlQsDQorCQkJCSAgUkdfRE1JQ19BREMxX1NPVVJDRV9TRUxf TUFTSywNCisJCQkJICBkbWljX211eF9tYXAsDQorCQkJCSAgZG1pY19tdXhfbWFwX3ZhbHVlKTsN CisNCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgZG1pYzBfbXV4X2NvbnRy b2wgPQ0KKwlTT0NfREFQTV9FTlVNKCJETUlDX01VWCBTZWxlY3QiLCBkbWljMF9tdXhfbWFwX2Vu dW0pOw0KKw0KKy8qIHVsMSBjaDIgdXNlIFJHX0RNSUNfQURDM19TT1VSQ0VfU0VMICovDQorc3Rh dGljIFNPQ19WQUxVRV9FTlVNX1NJTkdMRV9ERUNMKGRtaWMxX211eF9tYXBfZW51bSwNCisJCQkJ ICBNVDYzNTlfQUZFX01JQ19BUlJBWV9DRkcsDQorCQkJCSAgUkdfRE1JQ19BREMzX1NPVVJDRV9T RUxfU0ZULA0KKwkJCQkgIFJHX0RNSUNfQURDM19TT1VSQ0VfU0VMX01BU0ssDQorCQkJCSAgZG1p Y19tdXhfbWFwLA0KKwkJCQkgIGRtaWNfbXV4X21hcF92YWx1ZSk7DQorDQorc3RhdGljIGNvbnN0 IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IGRtaWMxX211eF9jb250cm9sID0NCisJU09DX0RBUE1f RU5VTSgiRE1JQ19NVVggU2VsZWN0IiwgZG1pYzFfbXV4X21hcF9lbnVtKTsNCisNCisvKiB1bDIg Y2gxIHVzZSBSR19ETUlDX0FEQzJfU09VUkNFX1NFTCAqLw0KK3N0YXRpYyBTT0NfVkFMVUVfRU5V TV9TSU5HTEVfREVDTChkbWljMl9tdXhfbWFwX2VudW0sDQorCQkJCSAgTVQ2MzU5X0FGRV9NSUNf QVJSQVlfQ0ZHLA0KKwkJCQkgIFJHX0RNSUNfQURDMl9TT1VSQ0VfU0VMX1NGVCwNCisJCQkJICBS R19ETUlDX0FEQzJfU09VUkNFX1NFTF9NQVNLLA0KKwkJCQkgIGRtaWNfbXV4X21hcCwNCisJCQkJ ICBkbWljX211eF9tYXBfdmFsdWUpOw0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250 cm9sX25ldyBkbWljMl9tdXhfY29udHJvbCA9DQorCVNPQ19EQVBNX0VOVU0oIkRNSUNfTVVYIFNl bGVjdCIsIGRtaWMyX211eF9tYXBfZW51bSk7DQorDQorLyogQURDIEwgTVVYICovDQorc3RhdGlj IGNvbnN0IGNoYXIgKiBjb25zdCBhZGNfbGVmdF9tdXhfbWFwW10gPSB7DQorCSJJZGxlIiwgIkFJ TjAiLCAiTGVmdCBQcmVhbXBsaWZpZXIiLCAiSWRsZV8xIg0KK307DQorDQorc3RhdGljIGludCBh ZGNfbXV4X21hcF92YWx1ZVtdID0gew0KKwlBRENfTVVYX0lETEUsDQorCUFEQ19NVVhfQUlOMCwN CisJQURDX01VWF9QUkVBTVBMSUZJRVIsDQorCUFEQ19NVVhfSURMRTEsDQorfTsNCisNCitzdGF0 aWMgU09DX1ZBTFVFX0VOVU1fU0lOR0xFX0RFQ0woYWRjX2xlZnRfbXV4X21hcF9lbnVtLA0KKwkJ CQkgIE1UNjM1OV9BVURFTkNfQU5BX0NPTjAsDQorCQkJCSAgUkdfQVVEQURDTElOUFVUU0VMX1NG VCwNCisJCQkJICBSR19BVURBRENMSU5QVVRTRUxfTUFTSywNCisJCQkJICBhZGNfbGVmdF9tdXhf bWFwLA0KKwkJCQkgIGFkY19tdXhfbWFwX3ZhbHVlKTsNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0 IHNuZF9rY29udHJvbF9uZXcgYWRjX2xlZnRfbXV4X2NvbnRyb2wgPQ0KKwlTT0NfREFQTV9FTlVN KCJBREMgTCBTZWxlY3QiLCBhZGNfbGVmdF9tdXhfbWFwX2VudW0pOw0KKw0KKy8qIEFEQyBSIE1V WCAqLw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgYWRjX3JpZ2h0X211eF9tYXBbXSA9IHsN CisJIklkbGUiLCAiQUlOMCIsICJSaWdodCBQcmVhbXBsaWZpZXIiLCAiSWRsZV8xIg0KK307DQor DQorc3RhdGljIFNPQ19WQUxVRV9FTlVNX1NJTkdMRV9ERUNMKGFkY19yaWdodF9tdXhfbWFwX2Vu dW0sDQorCQkJCSAgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMSwNCisJCQkJICBSR19BVURBRENSSU5Q VVRTRUxfU0ZULA0KKwkJCQkgIFJHX0FVREFEQ1JJTlBVVFNFTF9NQVNLLA0KKwkJCQkgIGFkY19y aWdodF9tdXhfbWFwLA0KKwkJCQkgIGFkY19tdXhfbWFwX3ZhbHVlKTsNCisNCitzdGF0aWMgY29u c3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgYWRjX3JpZ2h0X211eF9jb250cm9sID0NCisJU09D X0RBUE1fRU5VTSgiQURDIFIgU2VsZWN0IiwgYWRjX3JpZ2h0X211eF9tYXBfZW51bSk7DQorDQor LyogQURDIDMgTVVYICovDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBhZGNfM19tdXhfbWFw W10gPSB7DQorCSJJZGxlIiwgIkFJTjAiLCAiUHJlYW1wbGlmaWVyIiwgIklkbGVfMSINCit9Ow0K Kw0KK3N0YXRpYyBTT0NfVkFMVUVfRU5VTV9TSU5HTEVfREVDTChhZGNfM19tdXhfbWFwX2VudW0s DQorCQkJCSAgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMiwNCisJCQkJICBSR19BVURBREMzSU5QVVRT RUxfU0ZULA0KKwkJCQkgIFJHX0FVREFEQzNJTlBVVFNFTF9NQVNLLA0KKwkJCQkgIGFkY18zX211 eF9tYXAsDQorCQkJCSAgYWRjX211eF9tYXBfdmFsdWUpOw0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1 Y3Qgc25kX2tjb250cm9sX25ldyBhZGNfM19tdXhfY29udHJvbCA9DQorCVNPQ19EQVBNX0VOVU0o IkFEQyAzIFNlbGVjdCIsIGFkY18zX211eF9tYXBfZW51bSk7DQorDQorc3RhdGljIGNvbnN0IGNo YXIgKiBjb25zdCBwZ2FfbF9tdXhfbWFwW10gPSB7DQorCSJOb25lIiwgIkFJTjAiLCAiQUlOMSIN Cit9Ow0KKw0KK3N0YXRpYyBpbnQgcGdhX2xfbXV4X21hcF92YWx1ZVtdID0gew0KKwlQR0FfTF9N VVhfTk9ORSwNCisJUEdBX0xfTVVYX0FJTjAsDQorCVBHQV9MX01VWF9BSU4xDQorfTsNCisNCitz dGF0aWMgU09DX1ZBTFVFX0VOVU1fU0lOR0xFX0RFQ0wocGdhX2xlZnRfbXV4X21hcF9lbnVtLA0K KwkJCQkgIE1UNjM1OV9BVURFTkNfQU5BX0NPTjAsDQorCQkJCSAgUkdfQVVEUFJFQU1QTElOUFVU U0VMX1NGVCwNCisJCQkJICBSR19BVURQUkVBTVBMSU5QVVRTRUxfTUFTSywNCisJCQkJICBwZ2Ff bF9tdXhfbWFwLA0KKwkJCQkgIHBnYV9sX211eF9tYXBfdmFsdWUpOw0KKw0KK3N0YXRpYyBjb25z dCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBwZ2FfbGVmdF9tdXhfY29udHJvbCA9DQorCVNPQ19E QVBNX0VOVU0oIlBHQSBMIFNlbGVjdCIsIHBnYV9sZWZ0X211eF9tYXBfZW51bSk7DQorDQorc3Rh dGljIGNvbnN0IGNoYXIgKiBjb25zdCBwZ2Ffcl9tdXhfbWFwW10gPSB7DQorCSJOb25lIiwgIkFJ TjIiLCAiQUlOMyIsICJBSU4wIg0KK307DQorDQorc3RhdGljIGludCBwZ2Ffcl9tdXhfbWFwX3Zh bHVlW10gPSB7DQorCVBHQV9SX01VWF9OT05FLA0KKwlQR0FfUl9NVVhfQUlOMiwNCisJUEdBX1Jf TVVYX0FJTjMsDQorCVBHQV9SX01VWF9BSU4wDQorfTsNCisNCitzdGF0aWMgU09DX1ZBTFVFX0VO VU1fU0lOR0xFX0RFQ0wocGdhX3JpZ2h0X211eF9tYXBfZW51bSwNCisJCQkJICBNVDYzNTlfQVVE RU5DX0FOQV9DT04xLA0KKwkJCQkgIFJHX0FVRFBSRUFNUFJJTlBVVFNFTF9TRlQsDQorCQkJCSAg UkdfQVVEUFJFQU1QUklOUFVUU0VMX01BU0ssDQorCQkJCSAgcGdhX3JfbXV4X21hcCwNCisJCQkJ ICBwZ2Ffcl9tdXhfbWFwX3ZhbHVlKTsNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29u dHJvbF9uZXcgcGdhX3JpZ2h0X211eF9jb250cm9sID0NCisJU09DX0RBUE1fRU5VTSgiUEdBIFIg U2VsZWN0IiwgcGdhX3JpZ2h0X211eF9tYXBfZW51bSk7DQorDQorc3RhdGljIGNvbnN0IGNoYXIg KiBjb25zdCBwZ2FfM19tdXhfbWFwW10gPSB7DQorCSJOb25lIiwgIkFJTjMiLCAiQUlOMiINCit9 Ow0KKw0KK3N0YXRpYyBpbnQgcGdhXzNfbXV4X21hcF92YWx1ZVtdID0gew0KKwlQR0FfM19NVVhf Tk9ORSwNCisJUEdBXzNfTVVYX0FJTjMsDQorCVBHQV8zX01VWF9BSU4yDQorfTsNCisNCitzdGF0 aWMgU09DX1ZBTFVFX0VOVU1fU0lOR0xFX0RFQ0wocGdhXzNfbXV4X21hcF9lbnVtLA0KKwkJCQkg IE1UNjM1OV9BVURFTkNfQU5BX0NPTjIsDQorCQkJCSAgUkdfQVVEUFJFQU1QM0lOUFVUU0VMX1NG VCwNCisJCQkJICBSR19BVURQUkVBTVAzSU5QVVRTRUxfTUFTSywNCisJCQkJICBwZ2FfM19tdXhf bWFwLA0KKwkJCQkgIHBnYV8zX211eF9tYXBfdmFsdWUpOw0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1 Y3Qgc25kX2tjb250cm9sX25ldyBwZ2FfM19tdXhfY29udHJvbCA9DQorCVNPQ19EQVBNX0VOVU0o IlBHQSAzIFNlbGVjdCIsIHBnYV8zX211eF9tYXBfZW51bSk7DQorDQorc3RhdGljIGludCBtdF9j bGtzcV9ldmVudChzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCAqdywNCisJCQkgIHN0cnVjdCBz bmRfa2NvbnRyb2wgKmtjb250cm9sLA0KKwkJCSAgaW50IGV2ZW50KQ0KK3sNCisJc3RydWN0IHNu ZF9zb2NfY29tcG9uZW50ICpjbXBudCA9IHNuZF9zb2NfZGFwbV90b19jb21wb25lbnQody0+ZGFw bSk7DQorCXN0cnVjdCBtdDYzNTlfcHJpdiAqcHJpdiA9IHNuZF9zb2NfY29tcG9uZW50X2dldF9k cnZkYXRhKGNtcG50KTsNCisNCisJZGV2X2RiZyhwcml2LT5kZXYsICIlcygpLCBldmVudCA9IDB4 JXhcbiIsIF9fZnVuY19fLCBldmVudCk7DQorDQorCXN3aXRjaCAoZXZlbnQpIHsNCisJY2FzZSBT TkRfU09DX0RBUE1fUFJFX1BNVToNCisJCS8qIGF1ZGlvIGNsayBzb3VyY2UgZnJvbSBpbnRlcm5h bCBkY3hvICovDQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVE RU5DX0FOQV9DT04yMywNCisJCQkJICAgUkdfQ0xLU1FfSU5fU0VMX1RFU1RfTUFTS19TRlQsDQor CQkJCSAgIDB4MCk7DQorCQlicmVhazsNCisJZGVmYXVsdDoNCisJCWJyZWFrOw0KKwl9DQorDQor CXJldHVybiAwOw0KK30NCisNCitzdGF0aWMgaW50IG10X3NnZW5fZXZlbnQoc3RydWN0IHNuZF9z b2NfZGFwbV93aWRnZXQgKncsDQorCQkJIHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLA0K KwkJCSBpbnQgZXZlbnQpDQorew0KKwlzdHJ1Y3Qgc25kX3NvY19jb21wb25lbnQgKmNtcG50ID0g c25kX3NvY19kYXBtX3RvX2NvbXBvbmVudCh3LT5kYXBtKTsNCisJc3RydWN0IG10NjM1OV9wcml2 ICpwcml2ID0gc25kX3NvY19jb21wb25lbnRfZ2V0X2RydmRhdGEoY21wbnQpOw0KKw0KKwlkZXZf ZGJnKHByaXYtPmRldiwgIiVzKCksIGV2ZW50ID0gMHgleFxuIiwgX19mdW5jX18sIGV2ZW50KTsN CisNCisJc3dpdGNoIChldmVudCkgew0KKwljYXNlIFNORF9TT0NfREFQTV9QUkVfUE1VOg0KKwkJ Lyogc2RtIGF1ZGlvIGZpZm8gY2xvY2sgcG93ZXIgb24gKi8NCisJCXJlZ21hcF93cml0ZShwcml2 LT5yZWdtYXAsIE1UNjM1OV9BRlVOQ19BVURfQ09OMiwgMHgwMDA2KTsNCisJCS8qIHNjcmFtYmxl ciBjbG9jayBvbiBlbmFibGUgKi8NCisJCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1 OV9BRlVOQ19BVURfQ09OMCwgMHhjYmExKTsNCisJCS8qIHNkbSBwb3dlciBvbiAqLw0KKwkJcmVn bWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FGVU5DX0FVRF9DT04yLCAweDAwMDMpOw0K KwkJLyogc2RtIGZpZm8gZW5hYmxlICovDQorCQlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBN VDYzNTlfQUZVTkNfQVVEX0NPTjIsIDB4MDAwYik7DQorDQorCQlyZWdtYXBfdXBkYXRlX2JpdHMo cHJpdi0+cmVnbWFwLCBNVDYzNTlfQUZFX1NHRU5fQ0ZHMCwNCisJCQkJICAgMHhmZjNmLA0KKwkJ CQkgICAweDAwMDApOw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5 X0FGRV9TR0VOX0NGRzEsDQorCQkJCSAgIDB4ZmZmZiwNCisJCQkJICAgMHgwMDAxKTsNCisJCWJy ZWFrOw0KKwljYXNlIFNORF9TT0NfREFQTV9QT1NUX1BNRDoNCisJCS8qIERMIHNjcmFtYmxlciBk aXNhYmxpbmcgc2VxdWVuY2UgKi8NCisJCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1 OV9BRlVOQ19BVURfQ09OMiwgMHgwMDAwKTsNCisJCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAs IE1UNjM1OV9BRlVOQ19BVURfQ09OMCwgMHhjYmEwKTsNCisJCWJyZWFrOw0KKwlkZWZhdWx0Og0K KwkJYnJlYWs7DQorCX0NCisNCisJcmV0dXJuIDA7DQorfQ0KKw0KK3N0YXRpYyBpbnQgbXRrX2hw X2VuYWJsZShzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYpDQorew0KKwlpZiAocHJpdi0+aHBfaGlm aV9tb2RlKSB7DQorCQkvKiBTZXQgSFAgRFIgYmlhcyBjdXJyZW50IG9wdGltaXphdGlvbiwgMDEw OiA2dUEgKi8NCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURE RUNfQU5BX0NPTjExLA0KKwkJCQkgICBEUkJJQVNfSFBfTUFTS19TRlQsDQorCQkJCSAgIERSQklB U182VUEgPDwgRFJCSUFTX0hQX1NGVCk7DQorCQkvKiBTZXQgSFAgJiBaQ0QgYmlhcyBjdXJyZW50 IG9wdGltaXphdGlvbiAqLw0KKwkJLyogMDE6IFpDRDogNHVBLCBIUC9IUy9MTzogNXVBICovDQor CQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT04x MiwNCisJCQkJICAgSUJJQVNfWkNEX01BU0tfU0ZULA0KKwkJCQkgICBJQklBU19aQ0RfNFVBIDw8 IElCSUFTX1pDRF9TRlQpOw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2 MzU5X0FVRERFQ19BTkFfQ09OMTIsDQorCQkJCSAgIElCSUFTX0hQX01BU0tfU0ZULA0KKwkJCQkg ICBJQklBU181VUEgPDwgSUJJQVNfSFBfU0ZUKTsNCisJfSBlbHNlIHsNCisJCS8qIFNldCBIUCBE UiBiaWFzIGN1cnJlbnQgb3B0aW1pemF0aW9uLCAwMDE6IDV1QSAqLw0KKwkJcmVnbWFwX3VwZGF0 ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMTEsDQorCQkJCSAgIERS QklBU19IUF9NQVNLX1NGVCwNCisJCQkJICAgRFJCSUFTXzVVQSA8PCBEUkJJQVNfSFBfU0ZUKTsN CisJCS8qIFNldCBIUCAmIFpDRCBiaWFzIGN1cnJlbnQgb3B0aW1pemF0aW9uICovDQorCQkvKiAw MDogWkNEOiAzdUEsIEhQL0hTL0xPOiA0dUEgKi8NCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2 LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjEyLA0KKwkJCQkgICBJQklBU19aQ0RfTUFT S19TRlQsDQorCQkJCSAgIElCSUFTX1pDRF8zVUEgPDwgSUJJQVNfWkNEX1NGVCk7DQorCQlyZWdt YXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT04xMiwNCisJ CQkJICAgSUJJQVNfSFBfTUFTS19TRlQsDQorCQkJCSAgIElCSUFTXzRVQSA8PCBJQklBU19IUF9T RlQpOw0KKwl9DQorDQorCS8qIEhQIGRhbXAgY2lyY3VpdCBlbmFibGUgKi8NCisJLypFbmFibGUg SFBSTi9IUExOIG91dHB1dCA0SyB0byBWQ00gKi8NCisJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21h cCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMTAsIDB4MDA4Nyk7DQorDQorCS8qIEhQIEZlZWRiYWNr IENhcCBzZWxlY3QgMidiMDA6IDE1cEYgKi8NCisJLyogZm9yID49IDk2S0h6IHNhbXBsaW5nIHJh dGU6IDInYjAxOiAxMC41cEYgKi8NCisJaWYgKHByaXYtPmRsX3JhdGVbTVQ2MzU5X0FJRl8xXSA+ PSA5NjAwMCkNCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsDQorCQkJCSAgIE1U NjM1OV9BVURERUNfQU5BX0NPTjQsDQorCQkJCSAgIFJHX0FVREhQSEZDT01QQlVGR0FJTlNFTF9W QVVEUDMyX01BU0tfU0ZULA0KKwkJCQkgICAweDEgPDwgUkdfQVVESFBIRkNPTVBCVUZHQUlOU0VM X1ZBVURQMzJfU0ZUKTsNCisJZWxzZQ0KKwkJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2 MzU5X0FVRERFQ19BTkFfQ09ONCwgMHgwMDAwKTsNCisNCisJLyogU2V0IEhQUC9OIFNUQiBlbmhh bmNlIGNpcmN1aXRzICovDQorCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURE RUNfQU5BX0NPTjIsIDB4ZjEzMyk7DQorDQorCS8qIEVuYWJsZSBIUCBhdXggb3V0cHV0IHN0YWdl ICovDQorCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjEs IDB4MDAwYyk7DQorCS8qIEVuYWJsZSBIUCBhdXggZmVlZGJhY2sgbG9vcCAqLw0KKwlyZWdtYXBf d3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT04xLCAweDAwM2MpOw0KKwkv KiBFbmFibGUgSFAgYXV4IENNRkIgbG9vcCAqLw0KKwlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFw LCBNVDYzNTlfQVVEREVDX0FOQV9DT045LCAweDBjMDApOw0KKwkvKiBFbmFibGUgSFAgZHJpdmVy IGJpYXMgY2lyY3VpdHMgKi8NCisJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FV RERFQ19BTkFfQ09OMCwgMHgzMGMwKTsNCisJLyogRW5hYmxlIEhQIGRyaXZlciBjb3JlIGNpcmN1 aXRzICovDQorCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NP TjAsIDB4MzBmMCk7DQorCS8qIFNob3J0IEhQIG1haW4gb3V0cHV0IHRvIEhQIGF1eCBvdXRwdXQg c3RhZ2UgKi8NCisJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFf Q09OMSwgMHgwMGZjKTsNCisNCisJLyogSW5jcmVhc2UgSFAgaW5wdXQgcGFpciBjdXJyZW50IHRv IEhQTSBzdGVwIGJ5IHN0ZXAgKi8NCisJaHBfaW5fcGFpcl9jdXJyZW50KHByaXYsIHRydWUpOw0K Kw0KKwkvKiBFbmFibGUgSFAgbWFpbiBDTUZCIGxvb3AgKi8NCisJcmVnbWFwX3dyaXRlKHByaXYt PnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09OOSwgMHgwZTAwKTsNCisJLyogRGlzYWJsZSBI UCBhdXggQ01GQiBsb29wICovDQorCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9B VURERUNfQU5BX0NPTjksIDB4MDIwMCk7DQorDQorCS8qIEVuYWJsZSBIUCBtYWluIG91dHB1dCBz dGFnZSAqLw0KKwlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9D T04xLCAweDAwZmYpOw0KKwkvKiBFbmFibGUgSFBSL0wgbWFpbiBvdXRwdXQgc3RhZ2Ugc3RlcCBi eSBzdGVwICovDQorCWhwX21haW5fb3V0cHV0X3JhbXAocHJpdiwgdHJ1ZSk7DQorDQorCS8qIFJl ZHVjZSBIUCBhdXggZmVlZGJhY2sgbG9vcCBnYWluICovDQorCWhwX2F1eF9mZWVkYmFja19sb29w X2dhaW5fcmFtcChwcml2LCB0cnVlKTsNCisJLyogRGlzYWJsZSBIUCBhdXggZmVlZGJhY2sgbG9v cCAqLw0KKwlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT04x LCAweDc3Y2YpOw0KKw0KKwkvKiBhcHBseSB2b2x1bWUgc2V0dGluZyAqLw0KKwloZWFkc2V0X3Zv bHVtZV9yYW1wKHByaXYsDQorCQkJICAgIERMX0dBSU5fTl8yMkRCLA0KKwkJCSAgICBwcml2LT5h bmFfZ2FpbltBVURJT19BTkFMT0dfVk9MVU1FX0hQT1VUTF0pOw0KKw0KKwkvKiBEaXNhYmxlIEhQ IGF1eCBvdXRwdXQgc3RhZ2UgKi8NCisJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5 X0FVRERFQ19BTkFfQ09OMSwgMHg3N2MzKTsNCisJLyogVW5zaG9ydCBIUCBtYWluIG91dHB1dCB0 byBIUCBhdXggb3V0cHV0IHN0YWdlICovDQorCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1U NjM1OV9BVURERUNfQU5BX0NPTjEsIDB4NzcwMyk7DQorCXVzbGVlcF9yYW5nZSgxMDAsIDEyMCk7 DQorDQorCS8qIEVuYWJsZSBBVURfQ0xLICovDQorCW10NjM1OV9zZXRfZGVjb2Rlcl9jbGsocHJp diwgdHJ1ZSk7DQorDQorCS8qIEVuYWJsZSBBdWRpbyBEQUMgICovDQorCXJlZ21hcF93cml0ZShw cml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjAsIDB4MzBmZik7DQorCWlmIChwcml2 LT5ocF9oaWZpX21vZGUpIHsNCisJCS8qIEVuYWJsZSBsb3ctbm9pc2UgbW9kZSBvZiBEQUMgKi8N CisJCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjksIDB4 ZjIwMSk7DQorCX0gZWxzZSB7DQorCQkvKiBEaXNhYmxlIGxvdy1ub2lzZSBtb2RlIG9mIERBQyAq Lw0KKwkJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09OOSwg MHhmMjAwKTsNCisJfQ0KKwl1c2xlZXBfcmFuZ2UoMTAwLCAxMjApOw0KKw0KKwkvKiBTd2l0Y2gg SFBMIE1VWCB0byBhdWRpbyBEQUMgKi8NCisJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2 MzU5X0FVRERFQ19BTkFfQ09OMCwgMHgzMmZmKTsNCisJLyogU3dpdGNoIEhQUiBNVVggdG8gYXVk aW8gREFDICovDQorCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5B X0NPTjAsIDB4M2FmZik7DQorDQorCS8qIERpc2FibGUgUHVsbC1kb3duIEhQTC9SIHRvIEFWU1My OF9BVUQgKi8NCisJaHBfcHVsbF9kb3duKHByaXYsIGZhbHNlKTsNCisNCisJcmV0dXJuIDA7DQor fQ0KKw0KK3N0YXRpYyBpbnQgbXRrX2hwX2Rpc2FibGUoc3RydWN0IG10NjM1OV9wcml2ICpwcml2 KQ0KK3sNCisJLyogUHVsbC1kb3duIEhQTC9SIHRvIEFWU1MyOF9BVUQgKi8NCisJaHBfcHVsbF9k b3duKHByaXYsIHRydWUpOw0KKw0KKwkvKiBIUFIvSFBMIG11eCB0byBvcGVuICovDQorCXJlZ21h cF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjAsDQorCQkJ ICAgMHgwZjAwLCAweDAwMDApOw0KKw0KKwkvKiBEaXNhYmxlIGxvdy1ub2lzZSBtb2RlIG9mIERB QyAqLw0KKwlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FO QV9DT045LA0KKwkJCSAgIDB4MDAwMSwgMHgwMDAwKTsNCisNCisJLyogRGlzYWJsZSBBdWRpbyBE QUMgKi8NCisJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19B TkFfQ09OMCwNCisJCQkgICAweDAwMGYsIDB4MDAwMCk7DQorDQorCS8qIERpc2FibGUgQVVEX0NM SyAqLw0KKwltdDYzNTlfc2V0X2RlY29kZXJfY2xrKHByaXYsIGZhbHNlKTsNCisNCisJLyogU2hv cnQgSFAgbWFpbiBvdXRwdXQgdG8gSFAgYXV4IG91dHB1dCBzdGFnZSAqLw0KKwlyZWdtYXBfd3Jp dGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT04xLCAweDc3YzMpOw0KKwkvKiBF bmFibGUgSFAgYXV4IG91dHB1dCBzdGFnZSAqLw0KKwlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFw LCBNVDYzNTlfQVVEREVDX0FOQV9DT04xLCAweDc3Y2YpOw0KKw0KKwkvKiBkZWNyZWFzZSBIUEwv UiBnYWluIHRvIG5vcm1hbCBnYWluIHN0ZXAgYnkgc3RlcCAqLw0KKwloZWFkc2V0X3ZvbHVtZV9y YW1wKHByaXYsDQorCQkJICAgIHByaXYtPmFuYV9nYWluW0FVRElPX0FOQUxPR19WT0xVTUVfSFBP VVRMXSwNCisJCQkgICAgRExfR0FJTl9OXzIyREIpOw0KKw0KKwkvKiBFbmFibGUgSFAgYXV4IGZl ZWRiYWNrIGxvb3AgKi8NCisJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERF Q19BTkFfQ09OMSwgMHg3N2ZmKTsNCisNCisJLyogUmVkdWNlIEhQIGF1eCBmZWVkYmFjayBsb29w IGdhaW4gKi8NCisJaHBfYXV4X2ZlZWRiYWNrX2xvb3BfZ2Fpbl9yYW1wKHByaXYsIGZhbHNlKTsN CisNCisJLyogZGVjcmVhc2UgSFBSL0wgbWFpbiBvdXRwdXQgc3RhZ2Ugc3RlcCBieSBzdGVwICov DQorCWhwX21haW5fb3V0cHV0X3JhbXAocHJpdiwgZmFsc2UpOw0KKw0KKwkvKiBEaXNhYmxlIEhQ IG1haW4gb3V0cHV0IHN0YWdlICovDQorCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAs IE1UNjM1OV9BVURERUNfQU5BX0NPTjEsIDB4MywgMHgwKTsNCisNCisJLyogRW5hYmxlIEhQIGF1 eCBDTUZCIGxvb3AgKi8NCisJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERF Q19BTkFfQ09OOSwgMHgwZTAxKTsNCisNCisJLyogRGlzYWJsZSBIUCBtYWluIENNRkIgbG9vcCAq Lw0KKwlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT045LCAw eDBjMDEpOw0KKw0KKwkvKiBEZWNyZWFzZSBIUCBpbnB1dCBwYWlyIGN1cnJlbnQgdG8gMidiMDAg c3RlcCBieSBzdGVwICovDQorCWhwX2luX3BhaXJfY3VycmVudChwcml2LCBmYWxzZSk7DQorDQor CS8qIFVuc2hvcnQgSFAgbWFpbiBvdXRwdXQgdG8gSFAgYXV4IG91dHB1dCBzdGFnZSAqLw0KKwly ZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT04xLA0K KwkJCSAgIDB4MyA8PCA2LCAweDApOw0KKw0KKwkvKiBEaXNhYmxlIEhQIGRyaXZlciBjb3JlIGNp cmN1aXRzICovDQorCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURE RUNfQU5BX0NPTjAsDQorCQkJICAgMHgzIDw8IDQsIDB4MCk7DQorDQorCS8qIERpc2FibGUgSFAg ZHJpdmVyIGJpYXMgY2lyY3VpdHMgKi8NCisJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21h cCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMCwNCisJCQkgICAweDMgPDwgNiwgMHgwKTsNCisNCisJ LyogRGlzYWJsZSBIUCBhdXggQ01GQiBsb29wICovDQorCXJlZ21hcF93cml0ZShwcml2LT5yZWdt YXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjksIDB4MjAxKTsNCisNCisJLyogRGlzYWJsZSBIUCBh dXggZmVlZGJhY2sgbG9vcCAqLw0KKwlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBN VDYzNTlfQVVEREVDX0FOQV9DT04xLA0KKwkJCSAgIDB4MyA8PCA0LCAweDApOw0KKw0KKwkvKiBE aXNhYmxlIEhQIGF1eCBvdXRwdXQgc3RhZ2UgKi8NCisJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYt PnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMSwNCisJCQkgICAweDMgPDwgMiwgMHgwKTsN CisJcmV0dXJuIDA7DQorfQ0KKw0KK3N0YXRpYyBpbnQgbXRfaHBfZXZlbnQoc3RydWN0IHNuZF9z b2NfZGFwbV93aWRnZXQgKncsDQorCQkgICAgICAgc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRy b2wsDQorCQkgICAgICAgaW50IGV2ZW50KQ0KK3sNCisJc3RydWN0IHNuZF9zb2NfY29tcG9uZW50 ICpjbXBudCA9IHNuZF9zb2NfZGFwbV90b19jb21wb25lbnQody0+ZGFwbSk7DQorCXN0cnVjdCBt dDYzNTlfcHJpdiAqcHJpdiA9IHNuZF9zb2NfY29tcG9uZW50X2dldF9kcnZkYXRhKGNtcG50KTsN CisJdW5zaWduZWQgaW50IG11eCA9IGRhcG1fa2NvbnRyb2xfZ2V0X3ZhbHVlKHctPmtjb250cm9s c1swXSk7DQorCWludCBkZXZpY2UgPSBERVZJQ0VfSFA7DQorDQorCWRldl9kYmcocHJpdi0+ZGV2 LCAiJXMoKSwgZXZlbnQgMHgleCwgZGV2X2NvdW50ZXJbREVWX0hQXSAlZCwgbXV4ICV1XG4iLA0K KwkJX19mdW5jX18sIGV2ZW50LCBwcml2LT5kZXZfY291bnRlcltkZXZpY2VdLCBtdXgpOw0KKw0K Kwlzd2l0Y2ggKGV2ZW50KSB7DQorCWNhc2UgU05EX1NPQ19EQVBNX1BSRV9QTVU6DQorCQlwcml2 LT5kZXZfY291bnRlcltkZXZpY2VdKys7DQorCQlpZiAocHJpdi0+ZGV2X2NvdW50ZXJbZGV2aWNl XSA+IDEpDQorCQkJYnJlYWs7CS8qIGFscmVhZHkgZW5hYmxlZCwgZG8gbm90aGluZyAqLw0KKwkJ ZWxzZSBpZiAocHJpdi0+ZGV2X2NvdW50ZXJbZGV2aWNlXSA8PSAwKQ0KKwkJCWRldl93YXJuKHBy aXYtPmRldiwgIiVzKCksIGRldl9jb3VudGVyW0RFVl9IUF0gJWQgPD0gMFxuIiwNCisJCQkJIF9f ZnVuY19fLA0KKwkJCQkgcHJpdi0+ZGV2X2NvdW50ZXJbZGV2aWNlXSk7DQorDQorCQlwcml2LT5t dXhfc2VsZWN0W01VWF9IUF9MXSA9IG11eDsNCisNCisJCWlmIChtdXggPT0gSFBfTVVYX0hQKQ0K KwkJCW10a19ocF9lbmFibGUocHJpdik7DQorCQlicmVhazsNCisJY2FzZSBTTkRfU09DX0RBUE1f UFJFX1BNRDoNCisJCXByaXYtPmRldl9jb3VudGVyW2RldmljZV0tLTsNCisJCWlmIChwcml2LT5k ZXZfY291bnRlcltkZXZpY2VdID4gMCkNCisJCQlicmVhazsJLyogc3RpbGwgYmVpbmcgdXNlZCwg ZG9uJ3QgY2xvc2UgKi8NCisJCWVsc2UgaWYgKHByaXYtPmRldl9jb3VudGVyW2RldmljZV0gPCAw KSB7DQorCQkJZGV2X3dhcm4ocHJpdi0+ZGV2LCAiJXMoKSwgZGV2X2NvdW50ZXJbREVWX0hQXSAl ZCA8IDBcbiIsDQorCQkJCSBfX2Z1bmNfXywNCisJCQkJIHByaXYtPmRldl9jb3VudGVyW2Rldmlj ZV0pOw0KKwkJCXByaXYtPmRldl9jb3VudGVyW2RldmljZV0gPSAwOw0KKwkJCWJyZWFrOw0KKwkJ fQ0KKw0KKwkJaWYgKHByaXYtPm11eF9zZWxlY3RbTVVYX0hQX0xdID09IEhQX01VWF9IUCkNCisJ CQltdGtfaHBfZGlzYWJsZShwcml2KTsNCisNCisJCXByaXYtPm11eF9zZWxlY3RbTVVYX0hQX0xd ID0gbXV4Ow0KKwkJYnJlYWs7DQorCWRlZmF1bHQ6DQorCQlicmVhazsNCisJfQ0KKw0KKwlyZXR1 cm4gMDsNCit9DQorDQorc3RhdGljIGludCBtdF9yY3ZfZXZlbnQoc3RydWN0IHNuZF9zb2NfZGFw bV93aWRnZXQgKncsDQorCQkJc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsDQorCQkJaW50 IGV2ZW50KQ0KK3sNCisJc3RydWN0IHNuZF9zb2NfY29tcG9uZW50ICpjbXBudCA9IHNuZF9zb2Nf ZGFwbV90b19jb21wb25lbnQody0+ZGFwbSk7DQorCXN0cnVjdCBtdDYzNTlfcHJpdiAqcHJpdiA9 IHNuZF9zb2NfY29tcG9uZW50X2dldF9kcnZkYXRhKGNtcG50KTsNCisNCisJZGV2X2RiZyhwcml2 LT5kZXYsICIlcygpLCBldmVudCAweCV4LCBtdXggJXVcbiIsDQorCQlfX2Z1bmNfXywgZXZlbnQs IGRhcG1fa2NvbnRyb2xfZ2V0X3ZhbHVlKHctPmtjb250cm9sc1swXSkpOw0KKw0KKwlzd2l0Y2gg KGV2ZW50KSB7DQorCWNhc2UgU05EX1NPQ19EQVBNX1BSRV9QTVU6DQorCQkvKiBEaXNhYmxlIGhh bmRzZXQgc2hvcnQtY2lyY3VpdCBwcm90ZWN0aW9uICovDQorCQlyZWdtYXBfd3JpdGUocHJpdi0+ cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT042LCAweDAwMTApOw0KKw0KKwkJLyogU2V0IFJD ViBEUiBiaWFzIGN1cnJlbnQgb3B0aW1pemF0aW9uLCAwMTA6IDZ1QSAqLw0KKwkJcmVnbWFwX3Vw ZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMTEsDQorCQkJCSAg IERSQklBU19IU19NQVNLX1NGVCwNCisJCQkJICAgRFJCSUFTXzZVQSA8PCBEUkJJQVNfSFNfU0ZU KTsNCisJCS8qIFNldCBSQ1YgJiBaQ0QgYmlhcyBjdXJyZW50IG9wdGltaXphdGlvbiAqLw0KKwkJ LyogMDE6IFpDRDogNHVBLCBIUC9IUy9MTzogNXVBICovDQorCQlyZWdtYXBfdXBkYXRlX2JpdHMo cHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT04xMiwNCisJCQkJICAgSUJJQVNfWkNE X01BU0tfU0ZULA0KKwkJCQkgICBJQklBU19aQ0RfNFVBIDw8IElCSUFTX1pDRF9TRlQpOw0KKwkJ cmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMTIs DQorCQkJCSAgIElCSUFTX0hTX01BU0tfU0ZULA0KKwkJCQkgICBJQklBU181VUEgPDwgSUJJQVNf SFNfU0ZUKTsNCisNCisJCS8qIFNldCBIUyBTVEIgZW5oYW5jZSBjaXJjdWl0cyAqLw0KKwkJcmVn bWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09ONiwgMHgwMDkwKTsN CisNCisJCS8qIFNldCBIUyBvdXRwdXQgc3RhZ2UgKDMnYjExMSA9IDh4KSAqLw0KKwkJcmVnbWFw X3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMTAsIDB4NzAwMCk7DQor DQorCQkvKiBFbmFibGUgSFMgZHJpdmVyIGJpYXMgY2lyY3VpdHMgKi8NCisJCXJlZ21hcF93cml0 ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjYsIDB4MDA5Mik7DQorCQkvKiBF bmFibGUgSFMgZHJpdmVyIGNvcmUgY2lyY3VpdHMgKi8NCisJCXJlZ21hcF93cml0ZShwcml2LT5y ZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjYsIDB4MDA5Myk7DQorDQorCQkvKiBTZXQgSFMg Z2FpbiB0byBub3JtYWwgZ2FpbiBzdGVwIGJ5IHN0ZXAgKi8NCisJCXJlZ21hcF93cml0ZShwcml2 LT5yZWdtYXAsIE1UNjM1OV9aQ0RfQ09OMywNCisJCQkgICAgIHByaXYtPmFuYV9nYWluW0FVRElP X0FOQUxPR19WT0xVTUVfSFNPVVRMXSk7DQorDQorCQkvKiBFbmFibGUgQVVEX0NMSyAqLw0KKwkJ bXQ2MzU5X3NldF9kZWNvZGVyX2Nsayhwcml2LCB0cnVlKTsNCisNCisJCS8qIEVuYWJsZSBBdWRp byBEQUMgICovDQorCQlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FO QV9DT04wLCAweDAwMDkpOw0KKwkJLyogRW5hYmxlIGxvdy1ub2lzZSBtb2RlIG9mIERBQyAqLw0K KwkJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09OOSwgMHgw MDAxKTsNCisJCS8qIFN3aXRjaCBIUyBNVVggdG8gYXVkaW8gREFDICovDQorCQlyZWdtYXBfd3Jp dGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT042LCAweDAwOWIpOw0KKwkJYnJl YWs7DQorCWNhc2UgU05EX1NPQ19EQVBNX1BSRV9QTUQ6DQorCQkvKiBIUyBtdXggdG8gb3BlbiAq Lw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFf Q09ONiwNCisJCQkJICAgUkdfQVVESFNNVVhJTlBVVFNFTF9WQVVEUDMyX01BU0tfU0ZULA0KKwkJ CQkgICBSQ1ZfTVVYX09QRU4pOw0KKw0KKwkJLyogRGlzYWJsZSBBdWRpbyBEQUMgKi8NCisJCXJl Z21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjAsDQor CQkJCSAgIDB4MDAwZiwgMHgwMDAwKTsNCisNCisJCS8qIERpc2FibGUgQVVEX0NMSyAqLw0KKwkJ bXQ2MzU5X3NldF9kZWNvZGVyX2Nsayhwcml2LCBmYWxzZSk7DQorDQorCQkvKiBkZWNyZWFzZSBI UyBnYWluIHRvIG1pbmltdW0gZ2FpbiBzdGVwIGJ5IHN0ZXAgKi8NCisJCXJlZ21hcF93cml0ZShw cml2LT5yZWdtYXAsIE1UNjM1OV9aQ0RfQ09OMywgRExfR0FJTl9OXzQwREIpOw0KKw0KKwkJLyog RGlzYWJsZSBIUyBkcml2ZXIgY29yZSBjaXJjdWl0cyAqLw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRz KHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09ONiwNCisJCQkJICAgUkdfQVVESFNQ V1JVUF9WQVVEUDMyX01BU0tfU0ZULCAweDApOw0KKw0KKwkJLyogRGlzYWJsZSBIUyBkcml2ZXIg YmlhcyBjaXJjdWl0cyAqLw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2 MzU5X0FVRERFQ19BTkFfQ09ONiwNCisJCQkJICAgUkdfQVVESFNQV1JVUF9JQklBU19WQVVEUDMy X01BU0tfU0ZULCAweDApOw0KKwkJYnJlYWs7DQorCWRlZmF1bHQ6DQorCQlicmVhazsNCisJfQ0K Kw0KKwlyZXR1cm4gMDsNCit9DQorDQorc3RhdGljIGludCBtdF9sb19ldmVudChzdHJ1Y3Qgc25k X3NvY19kYXBtX3dpZGdldCAqdywNCisJCSAgICAgICBzdHJ1Y3Qgc25kX2tjb250cm9sICprY29u dHJvbCwNCisJCSAgICAgICBpbnQgZXZlbnQpDQorew0KKwlzdHJ1Y3Qgc25kX3NvY19jb21wb25l bnQgKmNtcG50ID0gc25kX3NvY19kYXBtX3RvX2NvbXBvbmVudCh3LT5kYXBtKTsNCisJc3RydWN0 IG10NjM1OV9wcml2ICpwcml2ID0gc25kX3NvY19jb21wb25lbnRfZ2V0X2RydmRhdGEoY21wbnQp Ow0KKw0KKwlkZXZfZGJnKHByaXYtPmRldiwgIiVzKCksIGV2ZW50IDB4JXgsIG11eCAldVxuIiwN CisJCV9fZnVuY19fLCBldmVudCwgZGFwbV9rY29udHJvbF9nZXRfdmFsdWUody0+a2NvbnRyb2xz WzBdKSk7DQorDQorCXN3aXRjaCAoZXZlbnQpIHsNCisJY2FzZSBTTkRfU09DX0RBUE1fUFJFX1BN VToNCisJCS8qIERpc2FibGUgaGFuZHNldCBzaG9ydC1jaXJjdWl0IHByb3RlY3Rpb24gKi8NCisJ CXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjcsIDB4MDAx MCk7DQorDQorCQkvKiBTZXQgTE8gRFIgYmlhcyBjdXJyZW50IG9wdGltaXphdGlvbiwgMDEwOiA2 dUEgKi8NCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNf QU5BX0NPTjExLA0KKwkJCQkgICBEUkJJQVNfTE9fTUFTS19TRlQsDQorCQkJCSAgIERSQklBU182 VUEgPDwgRFJCSUFTX0xPX1NGVCk7DQorCQkvKiBTZXQgTE8gJiBaQ0QgYmlhcyBjdXJyZW50IG9w dGltaXphdGlvbiAqLw0KKwkJLyogMDE6IFpDRDogNHVBLCBIUC9IUy9MTzogNXVBICovDQorCQlp ZiAocHJpdi0+ZGV2X2NvdW50ZXJbREVWSUNFX0hQXSA9PSAwKQ0KKwkJCXJlZ21hcF91cGRhdGVf Yml0cyhwcml2LT5yZWdtYXAsDQorCQkJCQkgICBNVDYzNTlfQVVEREVDX0FOQV9DT04xMiwNCisJ CQkJCSAgIElCSUFTX1pDRF9NQVNLX1NGVCwNCisJCQkJCSAgIElCSUFTX1pDRF80VUEgPDwgSUJJ QVNfWkNEX1NGVCk7DQorDQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYz NTlfQVVEREVDX0FOQV9DT04xMiwNCisJCQkJICAgSUJJQVNfTE9fTUFTS19TRlQsDQorCQkJCSAg IElCSUFTXzVVQSA8PCBJQklBU19MT19TRlQpOw0KKw0KKwkJLyogU2V0IExPIFNUQiBlbmhhbmNl IGNpcmN1aXRzICovDQorCQlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVD X0FOQV9DT043LCAweDAxMTApOw0KKw0KKwkJLyogRW5hYmxlIExPIGRyaXZlciBiaWFzIGNpcmN1 aXRzICovDQorCQlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9D T043LCAweDAxMTIpOw0KKwkJLyogRW5hYmxlIExPIGRyaXZlciBjb3JlIGNpcmN1aXRzICovDQor CQlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT043LCAweDAx MTMpOw0KKw0KKwkJLyogU2V0IExPIGdhaW4gdG8gbm9ybWFsIGdhaW4gc3RlcCBieSBzdGVwICov DQorCQlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfWkNEX0NPTjEsDQorCQkJICAg ICBwcml2LT5hbmFfZ2FpbltBVURJT19BTkFMT0dfVk9MVU1FX0xJTkVPVVRMXSk7DQorDQorCQkv KiBFbmFibGUgQVVEX0NMSyAqLw0KKwkJbXQ2MzU5X3NldF9kZWNvZGVyX2Nsayhwcml2LCB0cnVl KTsNCisNCisJCS8qIEVuYWJsZSBBdWRpbyBEQUMgKDNyZCBEQUMpICovDQorCQlyZWdtYXBfd3Jp dGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT043LCAweDMxMTMpOw0KKwkJLyog RW5hYmxlIGxvdy1ub2lzZSBtb2RlIG9mIERBQyAqLw0KKwkJaWYgKHByaXYtPmRldl9jb3VudGVy W0RFVklDRV9IUF0gPT0gMCkNCisJCQlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLA0KKwkJCQkg ICAgIE1UNjM1OV9BVURERUNfQU5BX0NPTjksIDB4MDAwMSk7DQorCQkvKiBTd2l0Y2ggTE9MIE1V WCB0byBhdWRpbyAzcmQgREFDICovDQorCQlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYz NTlfQVVEREVDX0FOQV9DT043LCAweDMxMWIpOw0KKwkJYnJlYWs7DQorCWNhc2UgU05EX1NPQ19E QVBNX1BSRV9QTUQ6DQorCQkvKiBTd2l0Y2ggTE9MIE1VWCB0byBvcGVuICovDQorCQlyZWdtYXBf dXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT043LA0KKwkJCQkg ICBSR19BVURMT0xNVVhJTlBVVFNFTF9WQVVEUDMyX01BU0tfU0ZULA0KKwkJCQkgICBMT19NVVhf T1BFTik7DQorDQorCQkvKiBEaXNhYmxlIEF1ZGlvIERBQyAqLw0KKwkJcmVnbWFwX3VwZGF0ZV9i aXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMCwNCisJCQkJICAgMHgwMDBm LCAweDAwMDApOw0KKw0KKwkJLyogRGlzYWJsZSBBVURfQ0xLICovDQorCQltdDYzNTlfc2V0X2Rl Y29kZXJfY2xrKHByaXYsIGZhbHNlKTsNCisNCisJCS8qIGRlY3JlYXNlIExPIGdhaW4gdG8gbWlu aW11bSBnYWluIHN0ZXAgYnkgc3RlcCAqLw0KKwkJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwg TVQ2MzU5X1pDRF9DT04xLCBETF9HQUlOX05fNDBEQik7DQorDQorCQkvKiBEaXNhYmxlIExPIGRy aXZlciBjb3JlIGNpcmN1aXRzICovDQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFw LCBNVDYzNTlfQVVEREVDX0FOQV9DT043LA0KKwkJCQkgICBSR19BVURMT0xQV1JVUF9WQVVEUDMy X01BU0tfU0ZULCAweDApOw0KKw0KKwkJLyogRGlzYWJsZSBMTyBkcml2ZXIgYmlhcyBjaXJjdWl0 cyAqLw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19B TkFfQ09ONywNCisJCQkJICAgUkdfQVVETE9MUFdSVVBfSUJJQVNfVkFVRFAzMl9NQVNLX1NGVCwg MHgwKTsNCisJCWJyZWFrOw0KKwlkZWZhdWx0Og0KKwkJYnJlYWs7DQorCX0NCisNCisJcmV0dXJu IDA7DQorfQ0KKw0KK3N0YXRpYyBpbnQgbXRfYWRjX2Nsa19nZW5fZXZlbnQoc3RydWN0IHNuZF9z b2NfZGFwbV93aWRnZXQgKncsDQorCQkJCXN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLA0K KwkJCQlpbnQgZXZlbnQpDQorew0KKwlzdHJ1Y3Qgc25kX3NvY19jb21wb25lbnQgKmNtcG50ID0g c25kX3NvY19kYXBtX3RvX2NvbXBvbmVudCh3LT5kYXBtKTsNCisJc3RydWN0IG10NjM1OV9wcml2 ICpwcml2ID0gc25kX3NvY19jb21wb25lbnRfZ2V0X2RydmRhdGEoY21wbnQpOw0KKw0KKwlkZXZf ZGJnKHByaXYtPmRldiwgIiVzKCksIGV2ZW50IDB4JXhcbiIsIF9fZnVuY19fLCBldmVudCk7DQor DQorCXN3aXRjaCAoZXZlbnQpIHsNCisJY2FzZSBTTkRfU09DX0RBUE1fUE9TVF9QTVU6DQorCQkv KiBBREMgQ0xLIGZyb20gQ0xLR0VOICg2LjVNSHopICovDQorCQlyZWdtYXBfdXBkYXRlX2JpdHMo cHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVERU5DX0FOQV9DT041LA0KKwkJCQkgICBSR19BVURBREND TEtSU1RCX01BU0tfU0ZULA0KKwkJCQkgICAweDEgPDwgUkdfQVVEQURDQ0xLUlNUQl9TRlQpOw0K KwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVREVOQ19BTkFfQ09O NSwNCisJCQkJICAgUkdfQVVEQURDQ0xLU09VUkNFX01BU0tfU0ZULCAweDApOw0KKwkJcmVnbWFw X3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVREVOQ19BTkFfQ09ONSwNCisJCQkJ ICAgUkdfQVVEQURDQ0xLU0VMX01BU0tfU0ZULCAweDApOw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRz KHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVREVOQ19BTkFfQ09ONSwNCisJCQkJICAgUkdfQVVEQURD Q0xLR0VOTU9ERV9NQVNLX1NGVCwNCisJCQkJICAgMHgxIDw8IFJHX0FVREFEQ0NMS0dFTk1PREVf U0ZUKTsNCisJCWJyZWFrOw0KKwljYXNlIFNORF9TT0NfREFQTV9QUkVfUE1EOg0KKwkJcmVnbWFw X3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVREVOQ19BTkFfQ09ONSwNCisJCQkJ ICAgUkdfQVVEQURDQ0xLU09VUkNFX01BU0tfU0ZULCAweDApOw0KKwkJcmVnbWFwX3VwZGF0ZV9i aXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVREVOQ19BTkFfQ09ONSwNCisJCQkJICAgUkdfQVVE QURDQ0xLU0VMX01BU0tfU0ZULCAweDApOw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJl Z21hcCwgTVQ2MzU5X0FVREVOQ19BTkFfQ09ONSwNCisJCQkJICAgUkdfQVVEQURDQ0xLR0VOTU9E RV9NQVNLX1NGVCwgMHgwKTsNCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1U NjM1OV9BVURFTkNfQU5BX0NPTjUsDQorCQkJCSAgIFJHX0FVREFEQ0NMS1JTVEJfTUFTS19TRlQs IDB4MCk7DQorCQlicmVhazsNCisJZGVmYXVsdDoNCisJCWJyZWFrOw0KKwl9DQorDQorCXJldHVy biAwOw0KK30NCisNCitzdGF0aWMgaW50IG10X2RjY19jbGtfZXZlbnQoc3RydWN0IHNuZF9zb2Nf ZGFwbV93aWRnZXQgKncsDQorCQkJICAgIHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLA0K KwkJCSAgICBpbnQgZXZlbnQpDQorew0KKwlzdHJ1Y3Qgc25kX3NvY19jb21wb25lbnQgKmNtcG50 ID0gc25kX3NvY19kYXBtX3RvX2NvbXBvbmVudCh3LT5kYXBtKTsNCisJc3RydWN0IG10NjM1OV9w cml2ICpwcml2ID0gc25kX3NvY19jb21wb25lbnRfZ2V0X2RydmRhdGEoY21wbnQpOw0KKw0KKwlk ZXZfZGJnKHByaXYtPmRldiwgIiVzKCksIGV2ZW50IDB4JXhcbiIsIF9fZnVuY19fLCBldmVudCk7 DQorDQorCXN3aXRjaCAoZXZlbnQpIHsNCisJY2FzZSBTTkRfU09DX0RBUE1fUFJFX1BNVToNCisJ CS8qIERDQyA1MGsgQ0xLIChmcm9tIDI2TSkgKi8NCisJCS8qIE1UNjM1OV9BRkVfRENDTEtfQ0ZH MCwgYml0IDMgZm9yIGRtIGNrIHN3YXAgKi8NCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5y ZWdtYXAsIE1UNjM1OV9BRkVfRENDTEtfQ0ZHMCwNCisJCQkJICAgMHhmZmY3LCAweDIwNjIpOw0K KwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FGRV9EQ0NMS19DRkcw LA0KKwkJCQkgICAweGZmZjcsIDB4MjA2MCk7DQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+ cmVnbWFwLCBNVDYzNTlfQUZFX0RDQ0xLX0NGRzAsDQorCQkJCSAgIDB4ZmZmNywgMHgyMDYxKTsN CisNCisJCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BRkVfRENDTEtfQ0ZHMSwg MHgwMTAwKTsNCisJCWJyZWFrOw0KKwljYXNlIFNORF9TT0NfREFQTV9QT1NUX1BNRDoNCisJCXJl Z21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BRkVfRENDTEtfQ0ZHMCwNCisJ CQkJICAgMHhmZmY3LCAweDIwNjApOw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21h cCwgTVQ2MzU5X0FGRV9EQ0NMS19DRkcwLA0KKwkJCQkgICAweGZmZjcsIDB4MjA2Mik7DQorCQli cmVhazsNCisJZGVmYXVsdDoNCisJCWJyZWFrOw0KKwl9DQorDQorCXJldHVybiAwOw0KK30NCisN CitzdGF0aWMgaW50IG10X21pY19iaWFzXzBfZXZlbnQoc3RydWN0IHNuZF9zb2NfZGFwbV93aWRn ZXQgKncsDQorCQkJICAgICAgIHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLA0KKwkJCSAg ICAgICBpbnQgZXZlbnQpDQorew0KKwlzdHJ1Y3Qgc25kX3NvY19jb21wb25lbnQgKmNtcG50ID0g c25kX3NvY19kYXBtX3RvX2NvbXBvbmVudCh3LT5kYXBtKTsNCisJc3RydWN0IG10NjM1OV9wcml2 ICpwcml2ID0gc25kX3NvY19jb21wb25lbnRfZ2V0X2RydmRhdGEoY21wbnQpOw0KKwl1bnNpZ25l ZCBpbnQgbWljX3R5cGUgPSBwcml2LT5tdXhfc2VsZWN0W01VWF9NSUNfVFlQRV8wXTsNCisNCisJ ZGV2X2RiZyhwcml2LT5kZXYsICIlcygpLCBldmVudCAweCV4LCBtaWNfdHlwZSAlZFxuIiwNCisJ CV9fZnVuY19fLCBldmVudCwgbWljX3R5cGUpOw0KKw0KKwlzd2l0Y2ggKGV2ZW50KSB7DQorCWNh c2UgU05EX1NPQ19EQVBNX1BSRV9QTVU6DQorCQlzd2l0Y2ggKG1pY190eXBlKSB7DQorCQljYXNl IE1JQ19UWVBFX01VWF9EQ0NfRUNNX0RJRkY6DQorCQkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYt PnJlZ21hcCwNCisJCQkJCSAgIE1UNjM1OV9BVURFTkNfQU5BX0NPTjE1LA0KKwkJCQkJICAgMHhm ZjAwLCAweDc3MDApOw0KKwkJCWJyZWFrOw0KKwkJY2FzZSBNSUNfVFlQRV9NVVhfRENDX0VDTV9T SU5HTEU6DQorCQkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwNCisJCQkJCSAgIE1U NjM1OV9BVURFTkNfQU5BX0NPTjE1LA0KKwkJCQkJICAgMHhmZjAwLCAweDExMDApOw0KKwkJCWJy ZWFrOw0KKwkJZGVmYXVsdDoNCisJCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLA0K KwkJCQkJICAgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMTUsDQorCQkJCQkgICAweGZmMDAsIDB4MDAw MCk7DQorCQkJYnJlYWs7DQorCQl9DQorDQorCQkvKiBETUlDIGVuYWJsZSAqLw0KKwkJcmVnbWFw X3dyaXRlKHByaXYtPnJlZ21hcCwNCisJCQkgICAgIE1UNjM1OV9BVURFTkNfQU5BX0NPTjE0LCAw eDAwMDQpOw0KKwkJLyogTUlTQklBUzAgPSAxUDlWICovDQorCQlyZWdtYXBfdXBkYXRlX2JpdHMo cHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVERU5DX0FOQV9DT04xNSwNCisJCQkJICAgUkdfQVVETUlD QklBUzBWUkVGX01BU0tfU0ZULA0KKwkJCQkgICBNSUNfQklBU18xUDkgPDwgUkdfQVVETUlDQklB UzBWUkVGX1NGVCk7DQorCQkvKiBub3JtYWwgcG93ZXIgc2VsZWN0ICovDQorCQlyZWdtYXBfdXBk YXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVERU5DX0FOQV9DT04xNSwNCisJCQkJICAg UkdfQVVETUlDQklBUzBMT1dQRU5fTUFTS19TRlQsDQorCQkJCSAgIDAgPDwgUkdfQVVETUlDQklB UzBMT1dQRU5fU0ZUKTsNCisJCWJyZWFrOw0KKwljYXNlIFNORF9TT0NfREFQTV9QT1NUX1BNRDoN CisJCS8qIERpc2FibGUgTUlDQklBUzAsIE1JU0JJQVMwID0gMVA3ViAqLw0KKwkJcmVnbWFwX3dy aXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMTUsIDB4MDAwMCk7DQorCQli cmVhazsNCisJZGVmYXVsdDoNCisJCWJyZWFrOw0KKwl9DQorDQorCXJldHVybiAwOw0KK30NCisN CitzdGF0aWMgaW50IG10X21pY19iaWFzXzFfZXZlbnQoc3RydWN0IHNuZF9zb2NfZGFwbV93aWRn ZXQgKncsDQorCQkJICAgICAgIHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLA0KKwkJCSAg ICAgICBpbnQgZXZlbnQpDQorew0KKwlzdHJ1Y3Qgc25kX3NvY19jb21wb25lbnQgKmNtcG50ID0g c25kX3NvY19kYXBtX3RvX2NvbXBvbmVudCh3LT5kYXBtKTsNCisJc3RydWN0IG10NjM1OV9wcml2 ICpwcml2ID0gc25kX3NvY19jb21wb25lbnRfZ2V0X2RydmRhdGEoY21wbnQpOw0KKwl1bnNpZ25l ZCBpbnQgbWljX3R5cGUgPSBwcml2LT5tdXhfc2VsZWN0W01VWF9NSUNfVFlQRV8xXTsNCisNCisJ ZGV2X2RiZyhwcml2LT5kZXYsICIlcygpLCBldmVudCAweCV4LCBtaWNfdHlwZSAlZFxuIiwNCisJ CV9fZnVuY19fLCBldmVudCwgbWljX3R5cGUpOw0KKw0KKwlzd2l0Y2ggKGV2ZW50KSB7DQorCWNh c2UgU05EX1NPQ19EQVBNX1BSRV9QTVU6DQorCQkvKiBNSVNCSUFTMSA9IDJQNlYgKi8NCisJCWlm IChtaWNfdHlwZSA9PSBNSUNfVFlQRV9NVVhfRENDX0VDTV9TSU5HTEUpDQorCQkJcmVnbWFwX3dy aXRlKHByaXYtPnJlZ21hcCwNCisJCQkJICAgICBNVDYzNTlfQVVERU5DX0FOQV9DT04xNiwgMHgw MTYwKTsNCisJCWVsc2UNCisJCQlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLA0KKwkJCQkgICAg IE1UNjM1OV9BVURFTkNfQU5BX0NPTjE2LCAweDAwNjApOw0KKw0KKwkJLyogbm9ybWFsIHBvd2Vy IHNlbGVjdCAqLw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FV REVOQ19BTkFfQ09OMTYsDQorCQkJCSAgIFJHX0FVRE1JQ0JJQVMxTE9XUEVOX01BU0tfU0ZULA0K KwkJCQkgICAwIDw8IFJHX0FVRE1JQ0JJQVMxTE9XUEVOX1NGVCk7DQorCQlicmVhazsNCisJZGVm YXVsdDoNCisJCWJyZWFrOw0KKwl9DQorDQorCXJldHVybiAwOw0KK30NCisNCitzdGF0aWMgaW50 IG10X21pY19iaWFzXzJfZXZlbnQoc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQgKncsDQorCQkJ ICAgICAgIHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLA0KKwkJCSAgICAgICBpbnQgZXZl bnQpDQorew0KKwlzdHJ1Y3Qgc25kX3NvY19jb21wb25lbnQgKmNtcG50ID0gc25kX3NvY19kYXBt X3RvX2NvbXBvbmVudCh3LT5kYXBtKTsNCisJc3RydWN0IG10NjM1OV9wcml2ICpwcml2ID0gc25k X3NvY19jb21wb25lbnRfZ2V0X2RydmRhdGEoY21wbnQpOw0KKwl1bnNpZ25lZCBpbnQgbWljX3R5 cGUgPSBwcml2LT5tdXhfc2VsZWN0W01VWF9NSUNfVFlQRV8yXTsNCisNCisJZGV2X2RiZyhwcml2 LT5kZXYsICIlcygpLCBldmVudCAweCV4LCBtaWNfdHlwZSAlZFxuIiwNCisJCV9fZnVuY19fLCBl dmVudCwgbWljX3R5cGUpOw0KKw0KKwlzd2l0Y2ggKGV2ZW50KSB7DQorCWNhc2UgU05EX1NPQ19E QVBNX1BSRV9QTVU6DQorCQlzd2l0Y2ggKG1pY190eXBlKSB7DQorCQljYXNlIE1JQ19UWVBFX01V WF9EQ0NfRUNNX0RJRkY6DQorCQkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwNCisJ CQkJCSAgIE1UNjM1OV9BVURFTkNfQU5BX0NPTjE3LA0KKwkJCQkJICAgMHhmZjAwLCAweDc3MDAp Ow0KKwkJCWJyZWFrOw0KKwkJY2FzZSBNSUNfVFlQRV9NVVhfRENDX0VDTV9TSU5HTEU6DQorCQkJ cmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwNCisJCQkJCSAgIE1UNjM1OV9BVURFTkNf QU5BX0NPTjE3LA0KKwkJCQkJICAgMHhmZjAwLCAweDExMDApOw0KKwkJCWJyZWFrOw0KKwkJZGVm YXVsdDoNCisJCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLA0KKwkJCQkJICAgTVQ2 MzU5X0FVREVOQ19BTkFfQ09OMTcsDQorCQkJCQkgICAweGZmMDAsIDB4MDAwMCk7DQorCQkJYnJl YWs7DQorCQl9DQorDQorCQkvKiBNSVNCSUFTMiA9IDFQOVYgKi8NCisJCXJlZ21hcF91cGRhdGVf Yml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURFTkNfQU5BX0NPTjE3LA0KKwkJCQkgICBSR19B VURNSUNCSUFTMlZSRUZfTUFTS19TRlQsDQorCQkJCSAgIE1JQ19CSUFTXzFQOSA8PCBSR19BVURN SUNCSUFTMlZSRUZfU0ZUKTsNCisJCS8qIG5vcm1hbCBwb3dlciBzZWxlY3QgKi8NCisJCXJlZ21h cF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURFTkNfQU5BX0NPTjE3LA0KKwkJ CQkgICBSR19BVURNSUNCSUFTMkxPV1BFTl9NQVNLX1NGVCwNCisJCQkJICAgMCA8PCBSR19BVURN SUNCSUFTMkxPV1BFTl9TRlQpOw0KKwkJYnJlYWs7DQorCWNhc2UgU05EX1NPQ19EQVBNX1BPU1Rf UE1EOg0KKwkJLyogRGlzYWJsZSBNSUNCSUFTMiwgTUlTQklBUzAgPSAxUDdWICovDQorCQlyZWdt YXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVERU5DX0FOQV9DT04xNywgMHgwMDAwKTsN CisJCWJyZWFrOw0KKwlkZWZhdWx0Og0KKwkJYnJlYWs7DQorCX0NCisNCisJcmV0dXJuIDA7DQor fQ0KKw0KK3N0YXRpYyBpbnQgbXRfbXRrYWlmX3R4X2V2ZW50KHN0cnVjdCBzbmRfc29jX2RhcG1f d2lkZ2V0ICp3LA0KKwkJCSAgICAgIHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLA0KKwkJ CSAgICAgIGludCBldmVudCkNCit7DQorCXN0cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY21wbnQg PSBzbmRfc29jX2RhcG1fdG9fY29tcG9uZW50KHctPmRhcG0pOw0KKwlzdHJ1Y3QgbXQ2MzU5X3By aXYgKnByaXYgPSBzbmRfc29jX2NvbXBvbmVudF9nZXRfZHJ2ZGF0YShjbXBudCk7DQorDQorCWRl dl9kYmcocHJpdi0+ZGV2LCAiJXMoKSwgZXZlbnQgPSAweCV4XG4iLCBfX2Z1bmNfXywgZXZlbnQp Ow0KKw0KKwlzd2l0Y2ggKGV2ZW50KSB7DQorCWNhc2UgU05EX1NPQ19EQVBNX1BSRV9QTVU6DQor CQltdDYzNTlfbXRrYWlmX3R4X2VuYWJsZShwcml2KTsNCisJCWJyZWFrOw0KKwljYXNlIFNORF9T T0NfREFQTV9QT1NUX1BNRDoNCisJCW10NjM1OV9tdGthaWZfdHhfZGlzYWJsZShwcml2KTsNCisJ CWJyZWFrOw0KKwlkZWZhdWx0Og0KKwkJYnJlYWs7DQorCX0NCisNCisJcmV0dXJuIDA7DQorfQ0K Kw0KK3N0YXRpYyBpbnQgbXRfdWxfc3JjX2RtaWNfZXZlbnQoc3RydWN0IHNuZF9zb2NfZGFwbV93 aWRnZXQgKncsDQorCQkJCXN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLA0KKwkJCQlpbnQg ZXZlbnQpDQorew0KKwlzdHJ1Y3Qgc25kX3NvY19jb21wb25lbnQgKmNtcG50ID0gc25kX3NvY19k YXBtX3RvX2NvbXBvbmVudCh3LT5kYXBtKTsNCisJc3RydWN0IG10NjM1OV9wcml2ICpwcml2ID0g c25kX3NvY19jb21wb25lbnRfZ2V0X2RydmRhdGEoY21wbnQpOw0KKw0KKwlkZXZfZGJnKHByaXYt PmRldiwgIiVzKCksIGV2ZW50ID0gMHgleFxuIiwgX19mdW5jX18sIGV2ZW50KTsNCisNCisJc3dp dGNoIChldmVudCkgew0KKwljYXNlIFNORF9TT0NfREFQTV9QUkVfUE1VOg0KKwkJLyogVUwgZG1p YyBzZXR0aW5nICovDQorCQlpZiAocHJpdi0+ZG1pY19vbmVfd2lyZV9tb2RlKQ0KKwkJCXJlZ21h cF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BRkVfVUxfU1JDX0NPTjBfSCwNCisJCQkJICAg ICAweDA0MDApOw0KKwkJZWxzZQ0KKwkJCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1 OV9BRkVfVUxfU1JDX0NPTjBfSCwNCisJCQkJICAgICAweDAwODApOw0KKwkJLyogZGVmYXVsdCBv bmUgd2lyZSwgMy4yNU0gKi8NCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1U NjM1OV9BRkVfVUxfU1JDX0NPTjBfTCwNCisJCQkJICAgMHhmZmZjLCAweDAwMDApOw0KKwkJYnJl YWs7DQorCWNhc2UgU05EX1NPQ19EQVBNX1BPU1RfUE1EOg0KKwkJcmVnbWFwX3dyaXRlKHByaXYt PnJlZ21hcCwNCisJCQkgICAgIE1UNjM1OV9BRkVfVUxfU1JDX0NPTjBfSCwgMHgwMDAwKTsNCisJ CWJyZWFrOw0KKwlkZWZhdWx0Og0KKwkJYnJlYWs7DQorCX0NCisNCisJcmV0dXJuIDA7DQorfQ0K Kw0KK3N0YXRpYyBpbnQgbXRfdWxfc3JjXzM0X2RtaWNfZXZlbnQoc3RydWN0IHNuZF9zb2NfZGFw bV93aWRnZXQgKncsDQorCQkJCSAgIHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLA0KKwkJ CQkgICBpbnQgZXZlbnQpDQorew0KKwlzdHJ1Y3Qgc25kX3NvY19jb21wb25lbnQgKmNtcG50ID0g c25kX3NvY19kYXBtX3RvX2NvbXBvbmVudCh3LT5kYXBtKTsNCisJc3RydWN0IG10NjM1OV9wcml2 ICpwcml2ID0gc25kX3NvY19jb21wb25lbnRfZ2V0X2RydmRhdGEoY21wbnQpOw0KKw0KKwlkZXZf ZGJnKHByaXYtPmRldiwgIiVzKCksIGV2ZW50ID0gMHgleFxuIiwgX19mdW5jX18sIGV2ZW50KTsN CisNCisJc3dpdGNoIChldmVudCkgew0KKwljYXNlIFNORF9TT0NfREFQTV9QUkVfUE1VOg0KKwkJ LyogZGVmYXVsdCB0d28gd2lyZSwgMy4yNU0gKi8NCisJCXJlZ21hcF93cml0ZShwcml2LT5yZWdt YXAsDQorCQkJICAgICBNVDYzNTlfQUZFX0FEREE2X0xfU1JDX0NPTjBfSCwgMHgwMDgwKTsNCisJ CXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BRkVfQUREQTZfVUxfU1JD X0NPTjBfTCwNCisJCQkJICAgMHhmZmZjLCAweDAwMDApOw0KKwkJYnJlYWs7DQorCWNhc2UgU05E X1NPQ19EQVBNX1BPU1RfUE1EOg0KKwkJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwNCisJCQkg ICAgIE1UNjM1OV9BRkVfQUREQTZfTF9TUkNfQ09OMF9ILCAweDAwMDApOw0KKwkJYnJlYWs7DQor CWRlZmF1bHQ6DQorCQlicmVhazsNCisJfQ0KKw0KKwlyZXR1cm4gMDsNCit9DQorDQorc3RhdGlj IGludCBtdF9hZGNfbF9ldmVudChzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCAqdywNCisJCQkg IHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLA0KKwkJCSAgaW50IGV2ZW50KQ0KK3sNCisJ c3RydWN0IHNuZF9zb2NfY29tcG9uZW50ICpjbXBudCA9IHNuZF9zb2NfZGFwbV90b19jb21wb25l bnQody0+ZGFwbSk7DQorCXN0cnVjdCBtdDYzNTlfcHJpdiAqcHJpdiA9IHNuZF9zb2NfY29tcG9u ZW50X2dldF9kcnZkYXRhKGNtcG50KTsNCisNCisJZGV2X2RiZyhwcml2LT5kZXYsICIlcygpLCBl dmVudCA9IDB4JXhcbiIsIF9fZnVuY19fLCBldmVudCk7DQorDQorCXN3aXRjaCAoZXZlbnQpIHsN CisJY2FzZSBTTkRfU09DX0RBUE1fUE9TVF9QTVU6DQorCQl1c2xlZXBfcmFuZ2UoMTAwLCAxMjAp Ow0KKwkJLyogQXVkaW8gTCBwcmVhbXBsaWZpZXIgRENDIHByZWNoYXJnZSBvZmYgKi8NCisJCXJl Z21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURFTkNfQU5BX0NPTjAsDQor CQkJCSAgIFJHX0FVRFBSRUFNUExEQ1BSRUNIQVJHRV9NQVNLX1NGVCwNCisJCQkJICAgMHgwKTsN CisJCWJyZWFrOw0KKwlkZWZhdWx0Og0KKwkJYnJlYWs7DQorCX0NCisNCisJcmV0dXJuIDA7DQor fQ0KKw0KK3N0YXRpYyBpbnQgbXRfYWRjX3JfZXZlbnQoc3RydWN0IHNuZF9zb2NfZGFwbV93aWRn ZXQgKncsDQorCQkJICBzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwNCisJCQkgIGludCBl dmVudCkNCit7DQorCXN0cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY21wbnQgPSBzbmRfc29jX2Rh cG1fdG9fY29tcG9uZW50KHctPmRhcG0pOw0KKwlzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYgPSBz bmRfc29jX2NvbXBvbmVudF9nZXRfZHJ2ZGF0YShjbXBudCk7DQorDQorCWRldl9kYmcocHJpdi0+ ZGV2LCAiJXMoKSwgZXZlbnQgPSAweCV4XG4iLCBfX2Z1bmNfXywgZXZlbnQpOw0KKw0KKwlzd2l0 Y2ggKGV2ZW50KSB7DQorCWNhc2UgU05EX1NPQ19EQVBNX1BPU1RfUE1VOg0KKwkJdXNsZWVwX3Jh bmdlKDEwMCwgMTIwKTsNCisJCS8qIEF1ZGlvIFIgcHJlYW1wbGlmaWVyIERDQyBwcmVjaGFyZ2Ug b2ZmICovDQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVERU5D X0FOQV9DT04xLA0KKwkJCQkgICBSR19BVURQUkVBTVBSRENQUkVDSEFSR0VfTUFTS19TRlQsDQor CQkJCSAgIDB4MCk7DQorCQlicmVhazsNCisJZGVmYXVsdDoNCisJCWJyZWFrOw0KKwl9DQorDQor CXJldHVybiAwOw0KK30NCisNCitzdGF0aWMgaW50IG10X2FkY18zX2V2ZW50KHN0cnVjdCBzbmRf c29jX2RhcG1fd2lkZ2V0ICp3LA0KKwkJCSAgc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2ws DQorCQkJICBpbnQgZXZlbnQpDQorew0KKwlzdHJ1Y3Qgc25kX3NvY19jb21wb25lbnQgKmNtcG50 ID0gc25kX3NvY19kYXBtX3RvX2NvbXBvbmVudCh3LT5kYXBtKTsNCisJc3RydWN0IG10NjM1OV9w cml2ICpwcml2ID0gc25kX3NvY19jb21wb25lbnRfZ2V0X2RydmRhdGEoY21wbnQpOw0KKw0KKwlk ZXZfZGJnKHByaXYtPmRldiwgIiVzKCksIGV2ZW50ID0gMHgleFxuIiwgX19mdW5jX18sIGV2ZW50 KTsNCisNCisJc3dpdGNoIChldmVudCkgew0KKwljYXNlIFNORF9TT0NfREFQTV9QT1NUX1BNVToN CisJCXVzbGVlcF9yYW5nZSgxMDAsIDEyMCk7DQorCQkvKiBBdWRpbyBSIHByZWFtcGxpZmllciBE Q0MgcHJlY2hhcmdlIG9mZiAqLw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwg TVQ2MzU5X0FVREVOQ19BTkFfQ09OMiwNCisJCQkJICAgUkdfQVVEUFJFQU1QM0RDUFJFQ0hBUkdF X01BU0tfU0ZULA0KKwkJCQkgICAweDApOw0KKwkJYnJlYWs7DQorCWRlZmF1bHQ6DQorCQlicmVh azsNCisJfQ0KKw0KKwlyZXR1cm4gMDsNCit9DQorDQorc3RhdGljIGludCBtdF9wZ2FfbF9tdXhf ZXZlbnQoc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQgKncsDQorCQkJICAgICAgc3RydWN0IHNu ZF9rY29udHJvbCAqa2NvbnRyb2wsDQorCQkJICAgICAgaW50IGV2ZW50KQ0KK3sNCisJc3RydWN0 IHNuZF9zb2NfY29tcG9uZW50ICpjbXBudCA9IHNuZF9zb2NfZGFwbV90b19jb21wb25lbnQody0+ ZGFwbSk7DQorCXN0cnVjdCBtdDYzNTlfcHJpdiAqcHJpdiA9IHNuZF9zb2NfY29tcG9uZW50X2dl dF9kcnZkYXRhKGNtcG50KTsNCisJdW5zaWduZWQgaW50IG11eCA9IGRhcG1fa2NvbnRyb2xfZ2V0 X3ZhbHVlKHctPmtjb250cm9sc1swXSk7DQorDQorCWRldl9kYmcocHJpdi0+ZGV2LCAiJXMoKSwg bXV4ICVkXG4iLCBfX2Z1bmNfXywgbXV4KTsNCisJcHJpdi0+bXV4X3NlbGVjdFtNVVhfUEdBX0xd ID0gbXV4ID4+IFJHX0FVRFBSRUFNUExJTlBVVFNFTF9TRlQ7DQorCXJldHVybiAwOw0KK30NCisN CitzdGF0aWMgaW50IG10X3BnYV9yX211eF9ldmVudChzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdl dCAqdywNCisJCQkgICAgICBzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwNCisJCQkgICAg ICBpbnQgZXZlbnQpDQorew0KKwlzdHJ1Y3Qgc25kX3NvY19jb21wb25lbnQgKmNtcG50ID0gc25k X3NvY19kYXBtX3RvX2NvbXBvbmVudCh3LT5kYXBtKTsNCisJc3RydWN0IG10NjM1OV9wcml2ICpw cml2ID0gc25kX3NvY19jb21wb25lbnRfZ2V0X2RydmRhdGEoY21wbnQpOw0KKwl1bnNpZ25lZCBp bnQgbXV4ID0gZGFwbV9rY29udHJvbF9nZXRfdmFsdWUody0+a2NvbnRyb2xzWzBdKTsNCisNCisJ ZGV2X2RiZyhwcml2LT5kZXYsICIlcygpLCBtdXggJWRcbiIsIF9fZnVuY19fLCBtdXgpOw0KKwlw cml2LT5tdXhfc2VsZWN0W01VWF9QR0FfUl0gPSBtdXggPj4gUkdfQVVEUFJFQU1QUklOUFVUU0VM X1NGVDsNCisJcmV0dXJuIDA7DQorfQ0KKw0KK3N0YXRpYyBpbnQgbXRfcGdhXzNfbXV4X2V2ZW50 KHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0ICp3LA0KKwkJCSAgICAgIHN0cnVjdCBzbmRfa2Nv bnRyb2wgKmtjb250cm9sLA0KKwkJCSAgICAgIGludCBldmVudCkNCit7DQorCXN0cnVjdCBzbmRf c29jX2NvbXBvbmVudCAqY21wbnQgPSBzbmRfc29jX2RhcG1fdG9fY29tcG9uZW50KHctPmRhcG0p Ow0KKwlzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYgPSBzbmRfc29jX2NvbXBvbmVudF9nZXRfZHJ2 ZGF0YShjbXBudCk7DQorCXVuc2lnbmVkIGludCBtdXggPSBkYXBtX2tjb250cm9sX2dldF92YWx1 ZSh3LT5rY29udHJvbHNbMF0pOw0KKw0KKwlkZXZfZGJnKHByaXYtPmRldiwgIiVzKCksIG11eCAl ZFxuIiwgX19mdW5jX18sIG11eCk7DQorCXByaXYtPm11eF9zZWxlY3RbTVVYX1BHQV8zXSA9IG11 eCA+PiBSR19BVURQUkVBTVAzSU5QVVRTRUxfU0ZUOw0KKwlyZXR1cm4gMDsNCit9DQorDQorc3Rh dGljIGludCBtdF9wZ2FfbF9ldmVudChzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCAqdywNCisJ CQkgIHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLA0KKwkJCSAgaW50IGV2ZW50KQ0KK3sN CisJc3RydWN0IHNuZF9zb2NfY29tcG9uZW50ICpjbXBudCA9IHNuZF9zb2NfZGFwbV90b19jb21w b25lbnQody0+ZGFwbSk7DQorCXN0cnVjdCBtdDYzNTlfcHJpdiAqcHJpdiA9IHNuZF9zb2NfY29t cG9uZW50X2dldF9kcnZkYXRhKGNtcG50KTsNCisJaW50IG1pY19nYWluX2wgPSBwcml2LT5hbmFf Z2FpbltBVURJT19BTkFMT0dfVk9MVU1FX01JQ0FNUDFdOw0KKwl1bnNpZ25lZCBpbnQgbXV4X3Bn YSA9IHByaXYtPm11eF9zZWxlY3RbTVVYX1BHQV9MXTsNCisJdW5zaWduZWQgaW50IG1pY190eXBl Ow0KKw0KKwlzd2l0Y2ggKG11eF9wZ2EpIHsNCisJY2FzZSBQR0FfTF9NVVhfQUlOMDoNCisJCW1p Y190eXBlID0gcHJpdi0+bXV4X3NlbGVjdFtNVVhfTUlDX1RZUEVfMF07DQorCQlicmVhazsNCisJ Y2FzZSBQR0FfTF9NVVhfQUlOMToNCisJCW1pY190eXBlID0gcHJpdi0+bXV4X3NlbGVjdFtNVVhf TUlDX1RZUEVfMV07DQorCQlicmVhazsNCisJZGVmYXVsdDoNCisJCWRldl9lcnIocHJpdi0+ZGV2 LCAiJXMoKSwgaW52YWxpZCBwZ2EgbXV4ICVkXG4iLA0KKwkJCV9fZnVuY19fLCBtdXhfcGdhKTsN CisJCXJldHVybiAtRUlOVkFMOw0KKwl9DQorDQorCXN3aXRjaCAoZXZlbnQpIHsNCisJY2FzZSBT TkRfU09DX0RBUE1fUFJFX1BNVToNCisJCWlmIChJU19EQ0NfQkFTRShtaWNfdHlwZSkpIHsNCisJ CQkvKiBBdWRpbyBMIHByZWFtcGxpZmllciBEQ0MgcHJlY2hhcmdlICovDQorCQkJcmVnbWFwX3Vw ZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMCwNCisJCQkJCSAg IFJHX0FVRFBSRUFNUExEQ1BSRUNIQVJHRV9NQVNLX1NGVCwNCisJCQkJCSAgIDB4MSA8PCBSR19B VURQUkVBTVBMRENQUkVDSEFSR0VfU0ZUKTsNCisJCX0NCisJCWJyZWFrOw0KKwljYXNlIFNORF9T T0NfREFQTV9QT1NUX1BNVToNCisJCS8qIHNldCBtaWMgcGdhIGdhaW4gKi8NCisJCXJlZ21hcF91 cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURFTkNfQU5BX0NPTjAsDQorCQkJCSAg IFJHX0FVRFBSRUFNUExHQUlOX01BU0tfU0ZULA0KKwkJCQkgICBtaWNfZ2Fpbl9sIDw8IFJHX0FV RFBSRUFNUExHQUlOX1NGVCk7DQorDQorCQlpZiAoSVNfRENDX0JBU0UobWljX3R5cGUpKSB7DQor CQkJLyogTCBwcmVhbXBsaWZpZXIgRENDRU4gKi8NCisJCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJp di0+cmVnbWFwLCBNVDYzNTlfQVVERU5DX0FOQV9DT04wLA0KKwkJCQkJICAgUkdfQVVEUFJFQU1Q TERDQ0VOX01BU0tfU0ZULA0KKwkJCQkJICAgMHgxIDw8IFJHX0FVRFBSRUFNUExEQ0NFTl9TRlQp Ow0KKwkJfQ0KKwkJYnJlYWs7DQorCWNhc2UgU05EX1NPQ19EQVBNX1BPU1RfUE1EOg0KKwkJLyog TCBwcmVhbXBsaWZpZXIgRENDRU4gKi8NCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdt YXAsIE1UNjM1OV9BVURFTkNfQU5BX0NPTjAsDQorCQkJCSAgIFJHX0FVRFBSRUFNUExEQ0NFTl9N QVNLX1NGVCwNCisJCQkJICAgMHgwIDw8IFJHX0FVRFBSRUFNUExEQ0NFTl9TRlQpOw0KKwkJYnJl YWs7DQorCWRlZmF1bHQ6DQorCQlicmVhazsNCisJfQ0KKw0KKwlyZXR1cm4gMDsNCit9DQorDQor c3RhdGljIGludCBtdF9wZ2Ffcl9ldmVudChzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCAqdywN CisJCQkgIHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLA0KKwkJCSAgaW50IGV2ZW50KQ0K K3sNCisJc3RydWN0IHNuZF9zb2NfY29tcG9uZW50ICpjbXBudCA9IHNuZF9zb2NfZGFwbV90b19j b21wb25lbnQody0+ZGFwbSk7DQorCXN0cnVjdCBtdDYzNTlfcHJpdiAqcHJpdiA9IHNuZF9zb2Nf Y29tcG9uZW50X2dldF9kcnZkYXRhKGNtcG50KTsNCisJaW50IG1pY19nYWluX3IgPSBwcml2LT5h bmFfZ2FpbltBVURJT19BTkFMT0dfVk9MVU1FX01JQ0FNUDJdOw0KKwl1bnNpZ25lZCBpbnQgbXV4 X3BnYSA9IHByaXYtPm11eF9zZWxlY3RbTVVYX1BHQV9SXTsNCisJdW5zaWduZWQgaW50IG1pY190 eXBlOw0KKw0KKwlzd2l0Y2ggKG11eF9wZ2EpIHsNCisJY2FzZSBQR0FfUl9NVVhfQUlOMDoNCisJ CW1pY190eXBlID0gcHJpdi0+bXV4X3NlbGVjdFtNVVhfTUlDX1RZUEVfMF07DQorCQlicmVhazsN CisJY2FzZSBQR0FfUl9NVVhfQUlOMjoNCisJY2FzZSBQR0FfUl9NVVhfQUlOMzoNCisJCW1pY190 eXBlID0gcHJpdi0+bXV4X3NlbGVjdFtNVVhfTUlDX1RZUEVfMl07DQorCQlicmVhazsNCisJZGVm YXVsdDoNCisJCWRldl9lcnIocHJpdi0+ZGV2LCAiJXMoKSwgaW52YWxpZCBwZ2EgbXV4ICVkXG4i LA0KKwkJCV9fZnVuY19fLCBtdXhfcGdhKTsNCisJCXJldHVybiAtRUlOVkFMOw0KKwl9DQorDQor CXN3aXRjaCAoZXZlbnQpIHsNCisJY2FzZSBTTkRfU09DX0RBUE1fUFJFX1BNVToNCisJCWlmIChJ U19EQ0NfQkFTRShtaWNfdHlwZSkpIHsNCisJCQkvKiBBdWRpbyBSIHByZWFtcGxpZmllciBEQ0Mg cHJlY2hhcmdlICovDQorCQkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5 X0FVREVOQ19BTkFfQ09OMSwNCisJCQkJCSAgIFJHX0FVRFBSRUFNUFJEQ1BSRUNIQVJHRV9NQVNL X1NGVCwNCisJCQkJCSAgIDB4MSA8PCBSR19BVURQUkVBTVBSRENQUkVDSEFSR0VfU0ZUKTsNCisJ CX0NCisJCWJyZWFrOw0KKwljYXNlIFNORF9TT0NfREFQTV9QT1NUX1BNVToNCisJCS8qIHNldCBt aWMgcGdhIGdhaW4gKi8NCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1 OV9BVURFTkNfQU5BX0NPTjEsDQorCQkJCSAgIFJHX0FVRFBSRUFNUFJHQUlOX01BU0tfU0ZULA0K KwkJCQkgICBtaWNfZ2Fpbl9yIDw8IFJHX0FVRFBSRUFNUFJHQUlOX1NGVCk7DQorDQorCQlpZiAo SVNfRENDX0JBU0UobWljX3R5cGUpKSB7DQorCQkJLyogUiBwcmVhbXBsaWZpZXIgRENDRU4gKi8N CisJCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVERU5DX0FOQV9D T04xLA0KKwkJCQkJICAgUkdfQVVEUFJFQU1QUkRDQ0VOX01BU0tfU0ZULA0KKwkJCQkJICAgMHgx IDw8IFJHX0FVRFBSRUFNUFJEQ0NFTl9TRlQpOw0KKwkJfQ0KKwkJYnJlYWs7DQorCWNhc2UgU05E X1NPQ19EQVBNX1BPU1RfUE1EOg0KKwkJLyogUiBwcmVhbXBsaWZpZXIgRENDRU4gKi8NCisJCXJl Z21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURFTkNfQU5BX0NPTjEsDQor CQkJCSAgIFJHX0FVRFBSRUFNUFJEQ0NFTl9NQVNLX1NGVCwNCisJCQkJICAgMHgwIDw8IFJHX0FV RFBSRUFNUFJEQ0NFTl9TRlQpOw0KKwkJYnJlYWs7DQorCWRlZmF1bHQ6DQorCQlicmVhazsNCisJ fQ0KKw0KKwlyZXR1cm4gMDsNCit9DQorDQorc3RhdGljIGludCBtdF9wZ2FfM19ldmVudChzdHJ1 Y3Qgc25kX3NvY19kYXBtX3dpZGdldCAqdywNCisJCQkgIHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtj b250cm9sLA0KKwkJCSAgaW50IGV2ZW50KQ0KK3sNCisJc3RydWN0IHNuZF9zb2NfY29tcG9uZW50 ICpjbXBudCA9IHNuZF9zb2NfZGFwbV90b19jb21wb25lbnQody0+ZGFwbSk7DQorCXN0cnVjdCBt dDYzNTlfcHJpdiAqcHJpdiA9IHNuZF9zb2NfY29tcG9uZW50X2dldF9kcnZkYXRhKGNtcG50KTsN CisJaW50IG1pY19nYWluXzMgPSBwcml2LT5hbmFfZ2FpbltBVURJT19BTkFMT0dfVk9MVU1FX01J Q0FNUDNdOw0KKwl1bnNpZ25lZCBpbnQgbXV4X3BnYSA9IHByaXYtPm11eF9zZWxlY3RbTVVYX1BH QV8zXTsNCisJdW5zaWduZWQgaW50IG1pY190eXBlOw0KKw0KKwlzd2l0Y2ggKG11eF9wZ2EpIHsN CisJY2FzZSBQR0FfM19NVVhfQUlOMjoNCisJY2FzZSBQR0FfM19NVVhfQUlOMzoNCisJCW1pY190 eXBlID0gcHJpdi0+bXV4X3NlbGVjdFtNVVhfTUlDX1RZUEVfMl07DQorCQlicmVhazsNCisJZGVm YXVsdDoNCisJCWRldl9lcnIocHJpdi0+ZGV2LCAiJXMoKSwgaW52YWxpZCBwZ2EgbXV4ICVkXG4i LA0KKwkJCV9fZnVuY19fLCBtdXhfcGdhKTsNCisJCXJldHVybiAtRUlOVkFMOw0KKwl9DQorDQor CXN3aXRjaCAoZXZlbnQpIHsNCisJY2FzZSBTTkRfU09DX0RBUE1fUFJFX1BNVToNCisJCWlmIChJ U19EQ0NfQkFTRShtaWNfdHlwZSkpIHsNCisJCQkvKiBBdWRpbyAzIHByZWFtcGxpZmllciBEQ0Mg cHJlY2hhcmdlICovDQorCQkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5 X0FVREVOQ19BTkFfQ09OMiwNCisJCQkJCSAgIFJHX0FVRFBSRUFNUDNEQ1BSRUNIQVJHRV9NQVNL X1NGVCwNCisJCQkJCSAgIDB4MSA8PCBSR19BVURQUkVBTVAzRENQUkVDSEFSR0VfU0ZUKTsNCisJ CX0NCisJCWJyZWFrOw0KKwljYXNlIFNORF9TT0NfREFQTV9QT1NUX1BNVToNCisJCS8qIHNldCBt aWMgcGdhIGdhaW4gKi8NCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1 OV9BVURFTkNfQU5BX0NPTjIsDQorCQkJCSAgIFJHX0FVRFBSRUFNUDNHQUlOX01BU0tfU0ZULA0K KwkJCQkgICBtaWNfZ2Fpbl8zIDw8IFJHX0FVRFBSRUFNUDNHQUlOX1NGVCk7DQorDQorCQlpZiAo SVNfRENDX0JBU0UobWljX3R5cGUpKSB7DQorCQkJLyogMyBwcmVhbXBsaWZpZXIgRENDRU4gKi8N CisJCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVERU5DX0FOQV9D T04yLA0KKwkJCQkJICAgUkdfQVVEUFJFQU1QM0RDQ0VOX01BU0tfU0ZULA0KKwkJCQkJICAgMHgx IDw8IFJHX0FVRFBSRUFNUDNEQ0NFTl9TRlQpOw0KKwkJfQ0KKwkJYnJlYWs7DQorCWNhc2UgU05E X1NPQ19EQVBNX1BPU1RfUE1EOg0KKwkJLyogMyBwcmVhbXBsaWZpZXIgRENDRU4gKi8NCisJCXJl Z21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURFTkNfQU5BX0NPTjIsDQor CQkJCSAgIFJHX0FVRFBSRUFNUDNEQ0NFTl9NQVNLX1NGVCwNCisJCQkJICAgMHgwIDw8IFJHX0FV RFBSRUFNUDNEQ0NFTl9TRlQpOw0KKwkJYnJlYWs7DQorCWRlZmF1bHQ6DQorCQlicmVhazsNCisJ fQ0KKw0KKwlyZXR1cm4gMDsNCit9DQorDQorLyogSXQgaXMgYmFzZWQgb24gaHcncyBjb250cm9s IHNlcXVlbmVjZSB0byBhZGQgc29tZSBkZWxheSB3aGVuIFBNVS9QTUQgKi8NCitzdGF0aWMgaW50 IG10X2RlbGF5XzI1MF9ldmVudChzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCAqdywNCisJCQkg ICAgICBzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwNCisJCQkgICAgICBpbnQgZXZlbnQp DQorew0KKwlzd2l0Y2ggKGV2ZW50KSB7DQorCWNhc2UgU05EX1NPQ19EQVBNX1BPU1RfUE1VOg0K KwljYXNlIFNORF9TT0NfREFQTV9QUkVfUE1EOg0KKwkJdXNsZWVwX3JhbmdlKDI1MCwgMjcwKTsN CisJCWJyZWFrOw0KKwlkZWZhdWx0Og0KKwkJYnJlYWs7DQorCX0NCisNCisJcmV0dXJuIDA7DQor fQ0KKw0KK3N0YXRpYyBpbnQgbXRfZGVsYXlfMTAwX2V2ZW50KHN0cnVjdCBzbmRfc29jX2RhcG1f d2lkZ2V0ICp3LA0KKwkJCSAgICAgIHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLA0KKwkJ CSAgICAgIGludCBldmVudCkNCit7DQorCXN3aXRjaCAoZXZlbnQpIHsNCisJY2FzZSBTTkRfU09D X0RBUE1fUE9TVF9QTVU6DQorCWNhc2UgU05EX1NPQ19EQVBNX1BSRV9QTUQ6DQorCQl1c2xlZXBf cmFuZ2UoMTAwLCAxMjApOw0KKwkJYnJlYWs7DQorCWRlZmF1bHQ6DQorCQlicmVhazsNCisJfQ0K Kw0KKwlyZXR1cm4gMDsNCit9DQorDQorc3RhdGljIGludCBtdF9ocF9wdWxsX2Rvd25fZXZlbnQo c3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQgKncsDQorCQkJCSBzdHJ1Y3Qgc25kX2tjb250cm9s ICprY29udHJvbCwNCisJCQkJIGludCBldmVudCkNCit7DQorCXN0cnVjdCBzbmRfc29jX2NvbXBv bmVudCAqY21wbnQgPSBzbmRfc29jX2RhcG1fdG9fY29tcG9uZW50KHctPmRhcG0pOw0KKwlzdHJ1 Y3QgbXQ2MzU5X3ByaXYgKnByaXYgPSBzbmRfc29jX2NvbXBvbmVudF9nZXRfZHJ2ZGF0YShjbXBu dCk7DQorDQorCXN3aXRjaCAoZXZlbnQpIHsNCisJY2FzZSBTTkRfU09DX0RBUE1fUFJFX1BNVToN CisJCWhwX3B1bGxfZG93bihwcml2LCB0cnVlKTsNCisJCWJyZWFrOw0KKwljYXNlIFNORF9TT0Nf REFQTV9QT1NUX1BNRDoNCisJCWhwX3B1bGxfZG93bihwcml2LCBmYWxzZSk7DQorCQlicmVhazsN CisJZGVmYXVsdDoNCisJCWJyZWFrOw0KKwl9DQorDQorCXJldHVybiAwOw0KK30NCisNCitzdGF0 aWMgaW50IG10X2hwX211dGVfZXZlbnQoc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQgKncsDQor CQkJICAgIHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLA0KKwkJCSAgICBpbnQgZXZlbnQp DQorew0KKwlzdHJ1Y3Qgc25kX3NvY19jb21wb25lbnQgKmNtcG50ID0gc25kX3NvY19kYXBtX3Rv X2NvbXBvbmVudCh3LT5kYXBtKTsNCisJc3RydWN0IG10NjM1OV9wcml2ICpwcml2ID0gc25kX3Nv Y19jb21wb25lbnRfZ2V0X2RydmRhdGEoY21wbnQpOw0KKw0KKwlzd2l0Y2ggKGV2ZW50KSB7DQor CWNhc2UgU05EX1NPQ19EQVBNX1BSRV9QTVU6DQorCQkvKiBTZXQgSFBSL0hQTCBnYWluIHRvIC0y MmRCICovDQorCQlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfWkNEX0NPTjIsIERM X0dBSU5fTl8yMkRCX1JFRyk7DQorCQlicmVhazsNCisJY2FzZSBTTkRfU09DX0RBUE1fUE9TVF9Q TUQ6DQorCQkvKiBTZXQgSFBML0hQUiBnYWluIHRvIG11dGUgKi8NCisJCXJlZ21hcF93cml0ZShw cml2LT5yZWdtYXAsIE1UNjM1OV9aQ0RfQ09OMiwgRExfR0FJTl9OXzQwREJfUkVHKTsNCisJCWJy ZWFrOw0KKwlkZWZhdWx0Og0KKwkJYnJlYWs7DQorCX0NCisNCisJcmV0dXJuIDA7DQorfQ0KKw0K K3N0YXRpYyBpbnQgbXRfaHBfZGFtcF9ldmVudChzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCAq dywNCisJCQkgICAgc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsDQorCQkJICAgIGludCBl dmVudCkNCit7DQorCXN0cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY21wbnQgPSBzbmRfc29jX2Rh cG1fdG9fY29tcG9uZW50KHctPmRhcG0pOw0KKwlzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYgPSBz bmRfc29jX2NvbXBvbmVudF9nZXRfZHJ2ZGF0YShjbXBudCk7DQorDQorCXN3aXRjaCAoZXZlbnQp IHsNCisJY2FzZSBTTkRfU09DX0RBUE1fUE9TVF9QTUQ6DQorCQkvKiBEaXNhYmxlIEhQIGRhbXBp bmcgY2lyY3VpdCAmIEhQTiA0SyBsb2FkICovDQorCQkvKiByZXNldCBDTUZCIFBXIGxldmVsICov DQorCQlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT04xMCwg MHgwMDAwKTsNCisJCWJyZWFrOw0KKwlkZWZhdWx0Og0KKwkJYnJlYWs7DQorCX0NCisNCisJcmV0 dXJuIDA7DQorfQ0KKw0KK3N0YXRpYyBpbnQgbXRfZXNkX3Jlc2lzdF9ldmVudChzdHJ1Y3Qgc25k X3NvY19kYXBtX3dpZGdldCAqdywNCisJCQkgICAgICAgc3RydWN0IHNuZF9rY29udHJvbCAqa2Nv bnRyb2wsDQorCQkJICAgICAgIGludCBldmVudCkNCit7DQorCXN0cnVjdCBzbmRfc29jX2NvbXBv bmVudCAqY21wbnQgPSBzbmRfc29jX2RhcG1fdG9fY29tcG9uZW50KHctPmRhcG0pOw0KKwlzdHJ1 Y3QgbXQ2MzU5X3ByaXYgKnByaXYgPSBzbmRfc29jX2NvbXBvbmVudF9nZXRfZHJ2ZGF0YShjbXBu dCk7DQorDQorCXN3aXRjaCAoZXZlbnQpIHsNCisJY2FzZSBTTkRfU09DX0RBUE1fUFJFX1BNVToN CisJCS8qIFJlZHVjZSBFU0QgcmVzaXN0YW5jZSBvZiBBVV9SRUZOICovDQorCQlyZWdtYXBfdXBk YXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT04yLA0KKwkJCQkgICBS R19BVURSRUZOX0RFUkVTX0VOX1ZBVURQMzJfTUFTS19TRlQsDQorCQkJCSAgIDB4MSA8PCBSR19B VURSRUZOX0RFUkVTX0VOX1ZBVURQMzJfU0ZUKTsNCisJCXVzbGVlcF9yYW5nZSgyNTAsIDI3MCk7 DQorCQlicmVhazsNCisJY2FzZSBTTkRfU09DX0RBUE1fUE9TVF9QTUQ6DQorCQkvKiBJbmNyZWFz ZSBFU0QgcmVzaXN0YW5jZSBvZiBBVV9SRUZOICovDQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJp di0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT04yLA0KKwkJCQkgICBSR19BVURSRUZOX0RF UkVTX0VOX1ZBVURQMzJfTUFTS19TRlQsIDB4MCk7DQorCQlicmVhazsNCisJZGVmYXVsdDoNCisJ CWJyZWFrOw0KKwl9DQorDQorCXJldHVybiAwOw0KK30NCisNCitzdGF0aWMgaW50IG10X3NkbV9l dmVudChzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCAqdywNCisJCQlzdHJ1Y3Qgc25kX2tjb250 cm9sICprY29udHJvbCwNCisJCQlpbnQgZXZlbnQpDQorew0KKwlzdHJ1Y3Qgc25kX3NvY19jb21w b25lbnQgKmNtcG50ID0gc25kX3NvY19kYXBtX3RvX2NvbXBvbmVudCh3LT5kYXBtKTsNCisJc3Ry dWN0IG10NjM1OV9wcml2ICpwcml2ID0gc25kX3NvY19jb21wb25lbnRfZ2V0X2RydmRhdGEoY21w bnQpOw0KKw0KKwlzd2l0Y2ggKGV2ZW50KSB7DQorCWNhc2UgU05EX1NPQ19EQVBNX1BSRV9QTVU6 DQorCQkvKiBzZG0gYXVkaW8gZmlmbyBjbG9jayBwb3dlciBvbiAqLw0KKwkJcmVnbWFwX3VwZGF0 ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FGVU5DX0FVRF9DT04yLA0KKwkJCQkgICAweGZm ZmQsIDB4MDAwNik7DQorCQkvKiBzY3JhbWJsZXIgY2xvY2sgb24gZW5hYmxlICovDQorCQlyZWdt YXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfQUZVTkNfQVVEX0NPTjAsIDB4Y2JhMSk7DQor CQkvKiBzZG0gcG93ZXIgb24gKi8NCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAs IE1UNjM1OV9BRlVOQ19BVURfQ09OMiwNCisJCQkJICAgMHhmZmZkLCAweDAwMDMpOw0KKwkJLyog c2RtIGZpZm8gZW5hYmxlICovDQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBN VDYzNTlfQUZVTkNfQVVEX0NPTjIsDQorCQkJCSAgIDB4ZmZmZCwgMHgwMDBCKTsNCisJCWJyZWFr Ow0KKwljYXNlIFNORF9TT0NfREFQTV9QT1NUX1BNRDoNCisJCS8qIERMIHNjcmFtYmxlciBkaXNh Ymxpbmcgc2VxdWVuY2UgKi8NCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1U NjM1OV9BRlVOQ19BVURfQ09OMiwNCisJCQkJICAgMHhmZmZkLCAweDAwMDApOw0KKwkJcmVnbWFw X3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FGVU5DX0FVRF9DT04wLCAweGNiYTApOw0KKwkJ YnJlYWs7DQorCWRlZmF1bHQ6DQorCQlicmVhazsNCisJfQ0KKwlyZXR1cm4gMDsNCit9DQorDQor c3RhdGljIGludCBtdF9zZG1fM3JkX2V2ZW50KHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0ICp3 LA0KKwkJCSAgICBzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwNCisJCQkgICAgaW50IGV2 ZW50KQ0KK3sNCisJc3RydWN0IHNuZF9zb2NfY29tcG9uZW50ICpjbXBudCA9IHNuZF9zb2NfZGFw bV90b19jb21wb25lbnQody0+ZGFwbSk7DQorCXN0cnVjdCBtdDYzNTlfcHJpdiAqcHJpdiA9IHNu ZF9zb2NfY29tcG9uZW50X2dldF9kcnZkYXRhKGNtcG50KTsNCisNCisJc3dpdGNoIChldmVudCkg ew0KKwljYXNlIFNORF9TT0NfREFQTV9QUkVfUE1VOg0KKwkJLyogc2RtIGF1ZGlvIGZpZm8gY2xv Y2sgcG93ZXIgb24gKi8NCisJCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BRlVO Q19BVURfQ09OMTEsIDB4MDAwNik7DQorCQkvKiBzY3JhbWJsZXIgY2xvY2sgb24gZW5hYmxlICov DQorCQlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfQUZVTkNfQVVEX0NPTjksIDB4 Y2JhMSk7DQorCQkvKiBzZG0gcG93ZXIgb24gKi8NCisJCXJlZ21hcF93cml0ZShwcml2LT5yZWdt YXAsIE1UNjM1OV9BRlVOQ19BVURfQ09OMTEsIDB4MDAwMyk7DQorCQkvKiBzZG0gZmlmbyBlbmFi bGUgKi8NCisJCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BRlVOQ19BVURfQ09O MTEsIDB4MDAwYik7DQorCQlicmVhazsNCisJY2FzZSBTTkRfU09DX0RBUE1fUE9TVF9QTUQ6DQor CQkvKiBETCBzY3JhbWJsZXIgZGlzYWJsaW5nIHNlcXVlbmNlICovDQorCQlyZWdtYXBfd3JpdGUo cHJpdi0+cmVnbWFwLCBNVDYzNTlfQUZVTkNfQVVEX0NPTjExLCAweDAwMDApOw0KKwkJcmVnbWFw X3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FGVU5DX0FVRF9DT045LCAweGNiYTApOw0KKwkJ YnJlYWs7DQorCWRlZmF1bHQ6DQorCQlicmVhazsNCisJfQ0KKwlyZXR1cm4gMDsNCit9DQorDQor c3RhdGljIGludCBtdF9uY3BfZXZlbnQoc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQgKncsDQor CQkJc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsDQorCQkJaW50IGV2ZW50KQ0KK3sNCisJ c3RydWN0IHNuZF9zb2NfY29tcG9uZW50ICpjbXBudCA9IHNuZF9zb2NfZGFwbV90b19jb21wb25l bnQody0+ZGFwbSk7DQorCXN0cnVjdCBtdDYzNTlfcHJpdiAqcHJpdiA9IHNuZF9zb2NfY29tcG9u ZW50X2dldF9kcnZkYXRhKGNtcG50KTsNCisNCisJc3dpdGNoIChldmVudCkgew0KKwljYXNlIFNO RF9TT0NfREFQTV9QUkVfUE1VOg0KKwkJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5 X0FGRV9OQ1BfQ0ZHMCwgMHhjODAwKTsNCisJCWJyZWFrOw0KKwlkZWZhdWx0Og0KKwkJYnJlYWs7 DQorCX0NCisJcmV0dXJuIDA7DQorfQ0KKw0KKy8qIERBUE0gV2lkZ2V0cyAqLw0KK3N0YXRpYyBj b25zdCBzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCBtdDYzNTlfZGFwbV93aWRnZXRzW10gPSB7 DQorCS8qIEdsb2JhbCBTdXBwbHkqLw0KKwlTTkRfU09DX0RBUE1fU1VQUExZX1MoIkNMS19CVUYi LCBTVVBQTFlfU0VRX0NMS19CVUYsDQorCQkJICAgICAgTVQ2MzU5X0RDWE9fQ1cxMiwNCisJCQkg ICAgICBSR19YT19BVURJT19FTl9NX1NGVCwgMCwgTlVMTCwgMCksDQorCVNORF9TT0NfREFQTV9T VVBQTFlfUygiTERPX1ZBVUQxOCIsIFNVUFBMWV9TRVFfTERPX1ZBVUQxOCwNCisJCQkgICAgICBN VDYzNTlfTERPX1ZBVUQxOF9DT04wLA0KKwkJCSAgICAgIFJHX0xET19WQVVEMThfRU5fU0ZULCAw LCBOVUxMLCAwKSwNCisJU05EX1NPQ19EQVBNX1NVUFBMWV9TKCJBVURHTEIiLCBTVVBQTFlfU0VR X0FVRF9HTEIsDQorCQkJICAgICAgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMTMsDQorCQkJICAgICAg UkdfQVVER0xCX1BXUkROX1ZBMzJfU0ZULCAxLCBOVUxMLCAwKSwNCisJU05EX1NPQ19EQVBNX1NV UFBMWV9TKCJDTEtTUSBBdWRpbyIsIFNVUFBMWV9TRVFfQ0xLU1EsDQorCQkJICAgICAgTVQ2MzU5 X0FVREVOQ19BTkFfQ09OMjMsDQorCQkJICAgICAgUkdfQ0xLU1FfRU5fU0ZULCAwLA0KKwkJCSAg ICAgIG10X2Nsa3NxX2V2ZW50LA0KKwkJCSAgICAgIFNORF9TT0NfREFQTV9QUkVfUE1VKSwNCisJ U05EX1NPQ19EQVBNX1NVUFBMWV9TKCJBVUROQ1BfQ0siLCBTVVBQTFlfU0VRX1RPUF9DSywNCisJ CQkgICAgICBNVDYzNTlfQVVEX1RPUF9DS1BETl9DT04wLA0KKwkJCSAgICAgIFJHX0FVRE5DUF9D S19QRE5fU0ZULCAxLCBOVUxMLCAwKSwNCisJU05EX1NPQ19EQVBNX1NVUFBMWV9TKCJaQ0QxM01f Q0siLCBTVVBQTFlfU0VRX1RPUF9DSywNCisJCQkgICAgICBNVDYzNTlfQVVEX1RPUF9DS1BETl9D T04wLA0KKwkJCSAgICAgIFJHX1pDRDEzTV9DS19QRE5fU0ZULCAxLCBOVUxMLCAwKSwNCisJU05E X1NPQ19EQVBNX1NVUFBMWV9TKCJBVURfQ0siLCBTVVBQTFlfU0VRX1RPUF9DS19MQVNULA0KKwkJ CSAgICAgIE1UNjM1OV9BVURfVE9QX0NLUEROX0NPTjAsDQorCQkJICAgICAgUkdfQVVEX0NLX1BE Tl9TRlQsIDEsDQorCQkJICAgICAgbXRfZGVsYXlfMjUwX2V2ZW50LA0KKwkJCSAgICAgIFNORF9T T0NfREFQTV9QT1NUX1BNVSB8IFNORF9TT0NfREFQTV9QUkVfUE1EKSwNCisJU05EX1NPQ19EQVBN X1NVUFBMWV9TKCJBVURJRl9DSyIsIFNVUFBMWV9TRVFfVE9QX0NLLA0KKwkJCSAgICAgIE1UNjM1 OV9BVURfVE9QX0NLUEROX0NPTjAsDQorCQkJICAgICAgUkdfQVVESUZfQ0tfUEROX1NGVCwgMSwg TlVMTCwgMCksDQorCS8qIERpZ2l0YWwgQ2xvY2sgKi8NCisJU05EX1NPQ19EQVBNX1NVUFBMWV9T KCJBVURJT19UT1BfQUZFX0NUTCIsIFNVUFBMWV9TRVFfQVVEX1RPUF9MQVNULA0KKwkJCSAgICAg IE1UNjM1OV9BVURJT19UT1BfQ09OMCwNCisJCQkgICAgICBQRE5fQUZFX0NUTF9TRlQsIDEsDQor CQkJICAgICAgbXRfZGVsYXlfMjUwX2V2ZW50LA0KKwkJCSAgICAgIFNORF9TT0NfREFQTV9QT1NU X1BNVSB8IFNORF9TT0NfREFQTV9QUkVfUE1EKSwNCisJU05EX1NPQ19EQVBNX1NVUFBMWV9TKCJB VURJT19UT1BfREFDX0NUTCIsIFNVUFBMWV9TRVFfQVVEX1RPUCwNCisJCQkgICAgICBNVDYzNTlf QVVESU9fVE9QX0NPTjAsDQorCQkJICAgICAgUEROX0RBQ19DVExfU0ZULCAxLCBOVUxMLCAwKSwN CisJU05EX1NPQ19EQVBNX1NVUFBMWV9TKCJBVURJT19UT1BfQURDX0NUTCIsIFNVUFBMWV9TRVFf QVVEX1RPUCwNCisJCQkgICAgICBNVDYzNTlfQVVESU9fVE9QX0NPTjAsDQorCQkJICAgICAgUERO X0FEQ19DVExfU0ZULCAxLCBOVUxMLCAwKSwNCisJU05EX1NPQ19EQVBNX1NVUFBMWV9TKCJBVURJ T19UT1BfQUREQTZfQURDX0NUTCIsIFNVUFBMWV9TRVFfQVVEX1RPUCwNCisJCQkgICAgICBNVDYz NTlfQVVESU9fVE9QX0NPTjAsDQorCQkJICAgICAgUEROX0FEREE2X0FEQ19DVExfU0ZULCAxLCBO VUxMLCAwKSwNCisJU05EX1NPQ19EQVBNX1NVUFBMWV9TKCJBVURJT19UT1BfSTJTX0RMIiwgU1VQ UExZX1NFUV9BVURfVE9QLA0KKwkJCSAgICAgIE1UNjM1OV9BVURJT19UT1BfQ09OMCwNCisJCQkg ICAgICBQRE5fSTJTX0RMX0NUTF9TRlQsIDEsIE5VTEwsIDApLA0KKwlTTkRfU09DX0RBUE1fU1VQ UExZX1MoIkFVRElPX1RPUF9QV1JfQ0xLIiwgU1VQUExZX1NFUV9BVURfVE9QLA0KKwkJCSAgICAg IE1UNjM1OV9BVURJT19UT1BfQ09OMCwNCisJCQkgICAgICBQV1JfQ0xLX0RJU19DVExfU0ZULCAx LCBOVUxMLCAwKSwNCisJU05EX1NPQ19EQVBNX1NVUFBMWV9TKCJBVURJT19UT1BfUEROX0FGRV9U RVNUTU9ERUwiLCBTVVBQTFlfU0VRX0FVRF9UT1AsDQorCQkJICAgICAgTVQ2MzU5X0FVRElPX1RP UF9DT04wLA0KKwkJCSAgICAgIFBETl9BRkVfVEVTVE1PREVMX0NUTF9TRlQsIDEsIE5VTEwsIDAp LA0KKwlTTkRfU09DX0RBUE1fU1VQUExZX1MoIkFVRElPX1RPUF9QRE5fUkVTRVJWRUQiLCBTVVBQ TFlfU0VRX0FVRF9UT1AsDQorCQkJICAgICAgTVQ2MzU5X0FVRElPX1RPUF9DT04wLA0KKwkJCSAg ICAgIFBETl9SRVNFUlZFRF9TRlQsIDEsIE5VTEwsIDApLA0KKw0KKwlTTkRfU09DX0RBUE1fU1VQ UExZX1MoIlNETSIsIFNVUFBMWV9TRVFfRExfU0RNLA0KKwkJCSAgICAgIFNORF9TT0NfTk9QTSwg MCwgMCwNCisJCQkgICAgICBtdF9zZG1fZXZlbnQsDQorCQkJICAgICAgU05EX1NPQ19EQVBNX1BS RV9QTVUgfCBTTkRfU09DX0RBUE1fUE9TVF9QTUQpLA0KKwlTTkRfU09DX0RBUE1fU1VQUExZX1Mo IlNETV8zUkQiLCBTVVBQTFlfU0VRX0RMX1NETSwNCisJCQkgICAgICBTTkRfU09DX05PUE0sIDAs IDAsDQorCQkJICAgICAgbXRfc2RtXzNyZF9ldmVudCwNCisJCQkgICAgICBTTkRfU09DX0RBUE1f UFJFX1BNVSB8IFNORF9TT0NfREFQTV9QT1NUX1BNRCksDQorDQorCS8qIGNoMTIzIHNoYXJlIFNE TSBGSUZPIENMSyAqLw0KKwlTTkRfU09DX0RBUE1fU1VQUExZX1MoIlNETV9GSUZPX0NMSyIsIFNV UFBMWV9TRVFfRExfU0RNX0ZJRk9fQ0xLLA0KKwkJCSAgICAgIE1UNjM1OV9BRlVOQ19BVURfQ09O MiwNCisJCQkgICAgICBDQ0lfQUZJRk9fQ0xLX1BXREJfU0ZULCAwLA0KKwkJCSAgICAgIE5VTEws IDApLA0KKw0KKwlTTkRfU09DX0RBUE1fU1VQUExZX1MoIk5DUCIsIFNVUFBMWV9TRVFfRExfTkNQ LA0KKwkJCSAgICAgIE1UNjM1OV9BRkVfTkNQX0NGRzAsDQorCQkJICAgICAgUkdfTkNQX09OX1NG VCwgMCwNCisJCQkgICAgICBtdF9uY3BfZXZlbnQsDQorCQkJICAgICAgU05EX1NPQ19EQVBNX1BS RV9QTVUpLA0KKw0KKwlTTkRfU09DX0RBUE1fU1VQUExZKCJETCBEaWdpdGFsIENsb2NrIiwgU05E X1NPQ19OT1BNLA0KKwkJCSAgICAwLCAwLCBOVUxMLCAwKSwNCisJU05EX1NPQ19EQVBNX1NVUFBM WSgiREwgRGlnaXRhbCBDbG9jayBDSF8xXzIiLCBTTkRfU09DX05PUE0sDQorCQkJICAgIDAsIDAs IE5VTEwsIDApLA0KKwlTTkRfU09DX0RBUE1fU1VQUExZKCJETCBEaWdpdGFsIENsb2NrIENIXzMi LCBTTkRfU09DX05PUE0sDQorCQkJICAgIDAsIDAsIE5VTEwsIDApLA0KKw0KKwkvKiBBRkUgT04g Ki8NCisJU05EX1NPQ19EQVBNX1NVUFBMWV9TKCJBRkVfT04iLCBTVVBQTFlfU0VRX0FGRSwNCisJ CQkgICAgICBNVDYzNTlfQUZFX1VMX0RMX0NPTjAsIEFGRV9PTl9TRlQsIDAsDQorCQkJICAgICAg TlVMTCwgMCksDQorDQorCS8qIEFJRiBSeCovDQorCVNORF9TT0NfREFQTV9BSUZfSU4oIkFJRl9S WCIsICJBSUYxIFBsYXliYWNrIiwgMCwNCisJCQkgICAgU05EX1NPQ19OT1BNLCAwLCAwKSwNCisN CisJU05EX1NPQ19EQVBNX0FJRl9JTigiQUlGMl9SWCIsICJBSUYyIFBsYXliYWNrIiwgMCwNCisJ CQkgICAgU05EX1NPQ19OT1BNLCAwLCAwKSwNCisNCisJU05EX1NPQ19EQVBNX1NVUFBMWV9TKCJB RkVfRExfU1JDIiwgU1VQUExZX1NFUV9ETF9TUkMsDQorCQkJICAgICAgTVQ2MzU5X0FGRV9ETF9T UkMyX0NPTjBfTCwNCisJCQkgICAgICBETF8yX1NSQ19PTl9UTVBfQ1RMX1BSRV9TRlQsIDAsDQor CQkJICAgICAgTlVMTCwgMCksDQorDQorCS8qIERMIFN1cHBseSAqLw0KKwlTTkRfU09DX0RBUE1f U1VQUExZKCJETCBQb3dlciBTdXBwbHkiLCBTTkRfU09DX05PUE0sDQorCQkJICAgIDAsIDAsIE5V TEwsIDApLA0KKw0KKwlTTkRfU09DX0RBUE1fU1VQUExZX1MoIkVTRF9SRVNJU1QiLCBTVVBQTFlf U0VRX0RMX0VTRF9SRVNJU1QsDQorCQkJICAgICAgU05EX1NPQ19OT1BNLA0KKwkJCSAgICAgIDAs IDAsDQorCQkJICAgICAgbXRfZXNkX3Jlc2lzdF9ldmVudCwNCisJCQkgICAgICBTTkRfU09DX0RB UE1fUFJFX1BNVSB8IFNORF9TT0NfREFQTV9QT1NUX1BNRCksDQorCVNORF9TT0NfREFQTV9TVVBQ TFlfUygiTERPIiwgU1VQUExZX1NFUV9ETF9MRE8sDQorCQkJICAgICAgTVQ2MzU5X0FVRERFQ19B TkFfQ09OMTQsDQorCQkJICAgICAgUkdfTENMRE9fREVDX0VOX1ZBMzJfU0ZULCAwLA0KKwkJCSAg ICAgIE5VTEwsIDApLA0KKwlTTkRfU09DX0RBUE1fU1VQUExZX1MoIkxET19SRU1PVEUiLCBTVVBQ TFlfU0VRX0RMX0xET19SRU1PVEVfU0VOU0UsDQorCQkJICAgICAgTVQ2MzU5X0FVRERFQ19BTkFf Q09OMTQsDQorCQkJICAgICAgUkdfTENMRE9fREVDX1JFTU9URV9TRU5TRV9WQTE4X1NGVCwgMCwN CisJCQkgICAgICBOVUxMLCAwKSwNCisJU05EX1NPQ19EQVBNX1NVUFBMWV9TKCJOVl9SRUdVTEFU T1IiLCBTVVBQTFlfU0VRX0RMX05WLA0KKwkJCSAgICAgIE1UNjM1OV9BVURERUNfQU5BX0NPTjE0 LA0KKwkJCSAgICAgIFJHX05WUkVHX0VOX1ZBVURQMzJfU0ZULCAwLA0KKwkJCSAgICAgIG10X2Rl bGF5XzEwMF9ldmVudCwgU05EX1NPQ19EQVBNX1BPU1RfUE1VKSwNCisJU05EX1NPQ19EQVBNX1NV UFBMWV9TKCJJQklTVCIsIFNVUFBMWV9TRVFfRExfSUJJU1QsDQorCQkJICAgICAgTVQ2MzU5X0FV RERFQ19BTkFfQ09OMTIsDQorCQkJICAgICAgUkdfQVVESUJJQVNQV1JETl9WQVVEUDMyX1NGVCwg MSwNCisJCQkgICAgICBOVUxMLCAwKSwNCisNCisJLyogREFDICovDQorCVNORF9TT0NfREFQTV9N VVgoIkRBQyBJbiBNdXgiLCBTTkRfU09DX05PUE0sIDAsIDAsICZkYWNfaW5fbXV4X2NvbnRyb2wp LA0KKw0KKwlTTkRfU09DX0RBUE1fREFDKCJEQUNMIiwgTlVMTCwgU05EX1NPQ19OT1BNLCAwLCAw KSwNCisNCisJU05EX1NPQ19EQVBNX0RBQygiREFDUiIsIE5VTEwsIFNORF9TT0NfTk9QTSwgMCwg MCksDQorDQorCVNORF9TT0NfREFQTV9EQUMoIkRBQ18zUkQiLCBOVUxMLCBTTkRfU09DX05PUE0s IDAsIDApLA0KKw0KKwkvKiBIZWFkcGhvbmUgKi8NCisJU05EX1NPQ19EQVBNX01VWF9FKCJIUEwg TXV4IiwgU05EX1NPQ19OT1BNLCAwLCAwLA0KKwkJCSAgICZocGxfaW5fbXV4X2NvbnRyb2wsDQor CQkJICAgbXRfaHBfZXZlbnQsDQorCQkJICAgU05EX1NPQ19EQVBNX1BSRV9QTVUgfCBTTkRfU09D X0RBUE1fUFJFX1BNRCksDQorDQorCVNORF9TT0NfREFQTV9NVVhfRSgiSFBSIE11eCIsIFNORF9T T0NfTk9QTSwgMCwgMCwNCisJCQkgICAmaHByX2luX211eF9jb250cm9sLA0KKwkJCSAgIG10X2hw X2V2ZW50LA0KKwkJCSAgIFNORF9TT0NfREFQTV9QUkVfUE1VIHwgU05EX1NPQ19EQVBNX1BSRV9Q TUQpLA0KKw0KKwlTTkRfU09DX0RBUE1fU1VQUExZKCJIUF9TdXBwbHkiLCBTTkRfU09DX05PUE0s DQorCQkJICAgIDAsIDAsIE5VTEwsIDApLA0KKwlTTkRfU09DX0RBUE1fU1VQUExZX1MoIkhQX1BV TExfRE9XTiIsIFNVUFBMWV9TRVFfSFBfUFVMTF9ET1dOLA0KKwkJCSAgICAgIFNORF9TT0NfTk9Q TSwNCisJCQkgICAgICAwLCAwLA0KKwkJCSAgICAgIG10X2hwX3B1bGxfZG93bl9ldmVudCwNCisJ CQkgICAgICBTTkRfU09DX0RBUE1fUFJFX1BNVSB8IFNORF9TT0NfREFQTV9QT1NUX1BNRCksDQor CVNORF9TT0NfREFQTV9TVVBQTFlfUygiSFBfTVVURSIsIFNVUFBMWV9TRVFfSFBfTVVURSwNCisJ CQkgICAgICBTTkRfU09DX05PUE0sDQorCQkJICAgICAgMCwgMCwNCisJCQkgICAgICBtdF9ocF9t dXRlX2V2ZW50LA0KKwkJCSAgICAgIFNORF9TT0NfREFQTV9QUkVfUE1VIHwgU05EX1NPQ19EQVBN X1BPU1RfUE1EKSwNCisJU05EX1NPQ19EQVBNX1NVUFBMWV9TKCJIUF9EQU1QIiwgU1VQUExZX1NF UV9IUF9EQU1QSU5HX09GRl9SRVNFVF9DTUZCLA0KKwkJCSAgICAgIFNORF9TT0NfTk9QTSwNCisJ CQkgICAgICAwLCAwLA0KKwkJCSAgICAgIG10X2hwX2RhbXBfZXZlbnQsDQorCQkJICAgICAgU05E X1NPQ19EQVBNX1BPU1RfUE1EKSwNCisNCisJLyogUmVjZWl2ZXIgKi8NCisJU05EX1NPQ19EQVBN X01VWF9FKCJSQ1YgTXV4IiwgU05EX1NPQ19OT1BNLCAwLCAwLA0KKwkJCSAgICZyY3ZfaW5fbXV4 X2NvbnRyb2wsDQorCQkJICAgbXRfcmN2X2V2ZW50LA0KKwkJCSAgIFNORF9TT0NfREFQTV9QUkVf UE1VIHwgU05EX1NPQ19EQVBNX1BSRV9QTUQpLA0KKw0KKwkvKiBMT0wgKi8NCisJU05EX1NPQ19E QVBNX01VWF9FKCJMT0wgTXV4IiwgU05EX1NPQ19OT1BNLCAwLCAwLA0KKwkJCSAgICZsb19pbl9t dXhfY29udHJvbCwNCisJCQkgICBtdF9sb19ldmVudCwNCisJCQkgICBTTkRfU09DX0RBUE1fUFJF X1BNVSB8IFNORF9TT0NfREFQTV9QUkVfUE1EKSwNCisNCisJLyogT3V0cHV0cyAqLw0KKwlTTkRf U09DX0RBUE1fT1VUUFVUKCJSZWNlaXZlciIpLA0KKwlTTkRfU09DX0RBUE1fT1VUUFVUKCJIZWFk cGhvbmUgTCIpLA0KKwlTTkRfU09DX0RBUE1fT1VUUFVUKCJIZWFkcGhvbmUgUiIpLA0KKwlTTkRf U09DX0RBUE1fT1VUUFVUKCJIZWFkcGhvbmUgTCBFeHQgU3BrIEFtcCIpLA0KKwlTTkRfU09DX0RB UE1fT1VUUFVUKCJIZWFkcGhvbmUgUiBFeHQgU3BrIEFtcCIpLA0KKwlTTkRfU09DX0RBUE1fT1VU UFVUKCJMSU5FT1VUIEwiKSwNCisNCisJLyogU0dFTiAqLw0KKwlTTkRfU09DX0RBUE1fU1VQUExZ KCJTR0VOIERMIEVuYWJsZSIsIE1UNjM1OV9BRkVfU0dFTl9DRkcwLA0KKwkJCSAgICBTR0VOX0RB Q19FTl9DVExfU0ZULCAwLCBOVUxMLCAwKSwNCisJU05EX1NPQ19EQVBNX1NVUFBMWSgiU0dFTiBN VVRFIiwgTVQ2MzU5X0FGRV9TR0VOX0NGRzAsDQorCQkJICAgIFNHRU5fTVVURV9TV19DVExfU0ZU LCAxLA0KKwkJCSAgICBtdF9zZ2VuX2V2ZW50LA0KKwkJCSAgICBTTkRfU09DX0RBUE1fUFJFX1BN VSB8IFNORF9TT0NfREFQTV9QT1NUX1BNRCksDQorCVNORF9TT0NfREFQTV9TVVBQTFkoIlNHRU4g REwgU1JDIiwgTVQ2MzU5X0FGRV9ETF9TUkMyX0NPTjBfTCwNCisJCQkgICAgRExfMl9TUkNfT05f VE1QX0NUTF9QUkVfU0ZULCAwLCBOVUxMLCAwKSwNCisNCisJU05EX1NPQ19EQVBNX0lOUFVUKCJT R0VOIERMIiksDQorDQorCS8qIFVwbGlua3MgKi8NCisJU05EX1NPQ19EQVBNX0FJRl9PVVQoIkFJ RjFUWCIsICJBSUYxIENhcHR1cmUiLCAwLA0KKwkJCSAgICAgU05EX1NPQ19OT1BNLCAwLCAwKSwN CisJU05EX1NPQ19EQVBNX0FJRl9PVVQoIkFJRjJUWCIsICJBSUYyIENhcHR1cmUiLCAwLA0KKwkJ CSAgICAgU05EX1NPQ19OT1BNLCAwLCAwKSwNCisNCisJU05EX1NPQ19EQVBNX1NVUFBMWV9TKCJB RENfQ0xLR0VOIiwgU1VQUExZX1NFUV9BRENfQ0xLR0VOLA0KKwkJCSAgICAgIFNORF9TT0NfTk9Q TSwgMCwgMCwNCisJCQkgICAgICBtdF9hZGNfY2xrX2dlbl9ldmVudCwNCisJCQkgICAgICBTTkRf U09DX0RBUE1fUE9TVF9QTVUgfCBTTkRfU09DX0RBUE1fUFJFX1BNRCksDQorDQorCVNORF9TT0Nf REFQTV9TVVBQTFlfUygiRENDX0NMSyIsIFNVUFBMWV9TRVFfRENDX0NMSywNCisJCQkgICAgICBT TkRfU09DX05PUE0sIDAsIDAsDQorCQkJICAgICAgbXRfZGNjX2Nsa19ldmVudCwNCisJCQkgICAg ICBTTkRfU09DX0RBUE1fUFJFX1BNVSB8IFNORF9TT0NfREFQTV9QT1NUX1BNRCksDQorDQorCS8q IFVwbGlua3MgTVVYICovDQorCVNORF9TT0NfREFQTV9NVVgoIkFJRiBPdXQgTXV4IiwgU05EX1NP Q19OT1BNLCAwLCAwLA0KKwkJCSAmYWlmX291dF9tdXhfY29udHJvbCksDQorDQorCVNORF9TT0Nf REFQTV9NVVgoIkFJRjIgT3V0IE11eCIsIFNORF9TT0NfTk9QTSwgMCwgMCwNCisJCQkgJmFpZjJf b3V0X211eF9jb250cm9sKSwNCisNCisJU05EX1NPQ19EQVBNX1NVUFBMWSgiQUlGVFhfU3VwcGx5 IiwgU05EX1NPQ19OT1BNLCAwLCAwLCBOVUxMLCAwKSwNCisNCisJU05EX1NPQ19EQVBNX1NVUFBM WV9TKCJNVEtBSUZfVFgiLCBTVVBQTFlfU0VRX1VMX01US0FJRiwNCisJCQkgICAgICBTTkRfU09D X05PUE0sIDAsIDAsDQorCQkJICAgICAgbXRfbXRrYWlmX3R4X2V2ZW50LA0KKwkJCSAgICAgIFNO RF9TT0NfREFQTV9QUkVfUE1VIHwgU05EX1NPQ19EQVBNX1BPU1RfUE1EKSwNCisNCisJU05EX1NP Q19EQVBNX1NVUFBMWV9TKCJVTF9TUkMiLCBTVVBQTFlfU0VRX1VMX1NSQywNCisJCQkgICAgICBN VDYzNTlfQUZFX1VMX1NSQ19DT04wX0wsDQorCQkJICAgICAgVUxfU1JDX09OX1RNUF9DVExfU0ZU LCAwLA0KKwkJCSAgICAgIE5VTEwsIDApLA0KKw0KKwlTTkRfU09DX0RBUE1fU1VQUExZX1MoIlVM X1NSQ19ETUlDIiwgU1VQUExZX1NFUV9VTF9TUkNfRE1JQywNCisJCQkgICAgICBTTkRfU09DX05P UE0sIDAsIDAsDQorCQkJICAgICAgbXRfdWxfc3JjX2RtaWNfZXZlbnQsDQorCQkJICAgICAgU05E X1NPQ19EQVBNX1BSRV9QTVUgfCBTTkRfU09DX0RBUE1fUE9TVF9QTUQpLA0KKw0KKwlTTkRfU09D X0RBUE1fU1VQUExZX1MoIlVMX1NSQ18zNCIsIFNVUFBMWV9TRVFfVUxfU1JDLA0KKwkJCSAgICAg IE1UNjM1OV9BRkVfQUREQTZfVUxfU1JDX0NPTjBfTCwNCisJCQkgICAgICBBRERBNl9VTF9TUkNf T05fVE1QX0NUTF9TRlQsIDAsDQorCQkJICAgICAgTlVMTCwgMCksDQorDQorCVNORF9TT0NfREFQ TV9TVVBQTFlfUygiVUxfU1JDXzM0X0RNSUMiLCBTVVBQTFlfU0VRX1VMX1NSQ19ETUlDLA0KKwkJ CSAgICAgIFNORF9TT0NfTk9QTSwgMCwgMCwNCisJCQkgICAgICBtdF91bF9zcmNfMzRfZG1pY19l dmVudCwNCisJCQkgICAgICBTTkRfU09DX0RBUE1fUFJFX1BNVSB8IFNORF9TT0NfREFQTV9QT1NU X1BNRCksDQorDQorCVNORF9TT0NfREFQTV9NVVgoIk1JU08wX01VWCIsIFNORF9TT0NfTk9QTSwg MCwgMCwgJm1pc28wX211eF9jb250cm9sKSwNCisJU05EX1NPQ19EQVBNX01VWCgiTUlTTzFfTVVY IiwgU05EX1NPQ19OT1BNLCAwLCAwLCAmbWlzbzFfbXV4X2NvbnRyb2wpLA0KKwlTTkRfU09DX0RB UE1fTVVYKCJNSVNPMl9NVVgiLCBTTkRfU09DX05PUE0sIDAsIDAsICZtaXNvMl9tdXhfY29udHJv bCksDQorDQorCVNORF9TT0NfREFQTV9NVVgoIlVMX1NSQ19NVVgiLCBTTkRfU09DX05PUE0sIDAs IDAsDQorCQkJICZ1bF9zcmNfbXV4X2NvbnRyb2wpLA0KKwlTTkRfU09DX0RBUE1fTVVYKCJVTDJf U1JDX01VWCIsIFNORF9TT0NfTk9QTSwgMCwgMCwNCisJCQkgJnVsMl9zcmNfbXV4X2NvbnRyb2wp LA0KKw0KKwlTTkRfU09DX0RBUE1fTVVYKCJETUlDMF9NVVgiLCBTTkRfU09DX05PUE0sIDAsIDAs ICZkbWljMF9tdXhfY29udHJvbCksDQorCVNORF9TT0NfREFQTV9NVVgoIkRNSUMxX01VWCIsIFNO RF9TT0NfTk9QTSwgMCwgMCwgJmRtaWMxX211eF9jb250cm9sKSwNCisJU05EX1NPQ19EQVBNX01V WCgiRE1JQzJfTVVYIiwgU05EX1NPQ19OT1BNLCAwLCAwLCAmZG1pYzJfbXV4X2NvbnRyb2wpLA0K Kw0KKwlTTkRfU09DX0RBUE1fTVVYX0UoIkFEQ19MX011eCIsIFNORF9TT0NfTk9QTSwgMCwgMCwN CisJCQkgICAmYWRjX2xlZnRfbXV4X2NvbnRyb2wsIE5VTEwsIDApLA0KKwlTTkRfU09DX0RBUE1f TVVYX0UoIkFEQ19SX011eCIsIFNORF9TT0NfTk9QTSwgMCwgMCwNCisJCQkgICAmYWRjX3JpZ2h0 X211eF9jb250cm9sLCBOVUxMLCAwKSwNCisJU05EX1NPQ19EQVBNX01VWF9FKCJBRENfM19NdXgi LCBTTkRfU09DX05PUE0sIDAsIDAsDQorCQkJICAgJmFkY18zX211eF9jb250cm9sLCBOVUxMLCAw KSwNCisNCisJU05EX1NPQ19EQVBNX0FEQygiQURDX0wiLCBOVUxMLCBTTkRfU09DX05PUE0sIDAs IDApLA0KKwlTTkRfU09DX0RBUE1fQURDKCJBRENfUiIsIE5VTEwsIFNORF9TT0NfTk9QTSwgMCwg MCksDQorCVNORF9TT0NfREFQTV9BREMoIkFEQ18zIiwgTlVMTCwgU05EX1NPQ19OT1BNLCAwLCAw KSwNCisNCisJU05EX1NPQ19EQVBNX1NVUFBMWV9TKCJBRENfTF9FTiIsIFNVUFBMWV9TRVFfVUxf QURDLA0KKwkJCSAgICAgIE1UNjM1OV9BVURFTkNfQU5BX0NPTjAsDQorCQkJICAgICAgUkdfQVVE QURDTFBXUlVQX1NGVCwgMCwNCisJCQkgICAgICBtdF9hZGNfbF9ldmVudCwNCisJCQkgICAgICBT TkRfU09DX0RBUE1fUE9TVF9QTVUpLA0KKwlTTkRfU09DX0RBUE1fU1VQUExZX1MoIkFEQ19SX0VO IiwgU1VQUExZX1NFUV9VTF9BREMsDQorCQkJICAgICAgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMSwN CisJCQkgICAgICBSR19BVURBRENSUFdSVVBfU0ZULCAwLA0KKwkJCSAgICAgIG10X2FkY19yX2V2 ZW50LA0KKwkJCSAgICAgIFNORF9TT0NfREFQTV9QT1NUX1BNVSksDQorCVNORF9TT0NfREFQTV9T VVBQTFlfUygiQURDXzNfRU4iLCBTVVBQTFlfU0VRX1VMX0FEQywNCisJCQkgICAgICBNVDYzNTlf QVVERU5DX0FOQV9DT04yLA0KKwkJCSAgICAgIFJHX0FVREFEQzNQV1JVUF9TRlQsIDAsDQorCQkJ ICAgICAgbXRfYWRjXzNfZXZlbnQsDQorCQkJICAgICAgU05EX1NPQ19EQVBNX1BPU1RfUE1VKSwN CisNCisJU05EX1NPQ19EQVBNX01VWF9FKCJQR0FfTF9NdXgiLCBTTkRfU09DX05PUE0sIDAsIDAs DQorCQkJICAgJnBnYV9sZWZ0X211eF9jb250cm9sLA0KKwkJCSAgIG10X3BnYV9sX211eF9ldmVu dCwNCisJCQkgICBTTkRfU09DX0RBUE1fV0lMTF9QTVUpLA0KKwlTTkRfU09DX0RBUE1fTVVYX0Uo IlBHQV9SX011eCIsIFNORF9TT0NfTk9QTSwgMCwgMCwNCisJCQkgICAmcGdhX3JpZ2h0X211eF9j b250cm9sLA0KKwkJCSAgIG10X3BnYV9yX211eF9ldmVudCwNCisJCQkgICBTTkRfU09DX0RBUE1f V0lMTF9QTVUpLA0KKwlTTkRfU09DX0RBUE1fTVVYX0UoIlBHQV8zX011eCIsIFNORF9TT0NfTk9Q TSwgMCwgMCwNCisJCQkgICAmcGdhXzNfbXV4X2NvbnRyb2wsDQorCQkJICAgbXRfcGdhXzNfbXV4 X2V2ZW50LA0KKwkJCSAgIFNORF9TT0NfREFQTV9XSUxMX1BNVSksDQorDQorCVNORF9TT0NfREFQ TV9QR0EoIlBHQV9MIiwgU05EX1NPQ19OT1BNLCAwLCAwLCBOVUxMLCAwKSwNCisJU05EX1NPQ19E QVBNX1BHQSgiUEdBX1IiLCBTTkRfU09DX05PUE0sIDAsIDAsIE5VTEwsIDApLA0KKwlTTkRfU09D X0RBUE1fUEdBKCJQR0FfMyIsIFNORF9TT0NfTk9QTSwgMCwgMCwgTlVMTCwgMCksDQorDQorCVNO RF9TT0NfREFQTV9TVVBQTFlfUygiUEdBX0xfRU4iLCBTVVBQTFlfU0VRX1VMX1BHQSwNCisJCQkg ICAgICBNVDYzNTlfQVVERU5DX0FOQV9DT04wLA0KKwkJCSAgICAgIFJHX0FVRFBSRUFNUExPTl9T RlQsIDAsDQorCQkJICAgICAgbXRfcGdhX2xfZXZlbnQsDQorCQkJICAgICAgU05EX1NPQ19EQVBN X1BSRV9QTVUgfA0KKwkJCSAgICAgIFNORF9TT0NfREFQTV9QT1NUX1BNVSB8DQorCQkJICAgICAg U05EX1NPQ19EQVBNX1BPU1RfUE1EKSwNCisJU05EX1NPQ19EQVBNX1NVUFBMWV9TKCJQR0FfUl9F TiIsIFNVUFBMWV9TRVFfVUxfUEdBLA0KKwkJCSAgICAgIE1UNjM1OV9BVURFTkNfQU5BX0NPTjEs DQorCQkJICAgICAgUkdfQVVEUFJFQU1QUk9OX1NGVCwgMCwNCisJCQkgICAgICBtdF9wZ2Ffcl9l dmVudCwNCisJCQkgICAgICBTTkRfU09DX0RBUE1fUFJFX1BNVSB8DQorCQkJICAgICAgU05EX1NP Q19EQVBNX1BPU1RfUE1VIHwNCisJCQkgICAgICBTTkRfU09DX0RBUE1fUE9TVF9QTUQpLA0KKwlT TkRfU09DX0RBUE1fU1VQUExZX1MoIlBHQV8zX0VOIiwgU1VQUExZX1NFUV9VTF9QR0EsDQorCQkJ ICAgICAgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMiwNCisJCQkgICAgICBSR19BVURQUkVBTVAzT05f U0ZULCAwLA0KKwkJCSAgICAgIG10X3BnYV8zX2V2ZW50LA0KKwkJCSAgICAgIFNORF9TT0NfREFQ TV9QUkVfUE1VIHwNCisJCQkgICAgICBTTkRfU09DX0RBUE1fUE9TVF9QTVUgfA0KKwkJCSAgICAg IFNORF9TT0NfREFQTV9QT1NUX1BNRCksDQorDQorCS8qIFVMIGlucHV0ICovDQorCVNORF9TT0Nf REFQTV9JTlBVVCgiQUlOMCIpLA0KKwlTTkRfU09DX0RBUE1fSU5QVVQoIkFJTjEiKSwNCisJU05E X1NPQ19EQVBNX0lOUFVUKCJBSU4yIiksDQorCVNORF9TT0NfREFQTV9JTlBVVCgiQUlOMyIpLA0K Kw0KKwlTTkRfU09DX0RBUE1fSU5QVVQoIkFJTjBfRE1JQyIpLA0KKwlTTkRfU09DX0RBUE1fSU5Q VVQoIkFJTjJfRE1JQyIpLA0KKwlTTkRfU09DX0RBUE1fSU5QVVQoIkFJTjNfRE1JQyIpLA0KKw0K KwkvKiBtaWMgYmlhcyAqLw0KKwlTTkRfU09DX0RBUE1fU1VQUExZX1MoIk1JQ19CSUFTXzAiLCBT VVBQTFlfU0VRX01JQ19CSUFTLA0KKwkJCSAgICAgIE1UNjM1OV9BVURFTkNfQU5BX0NPTjE1LA0K KwkJCSAgICAgIFJHX0FVRFBXREJNSUNCSUFTMF9TRlQsIDAsDQorCQkJICAgICAgbXRfbWljX2Jp YXNfMF9ldmVudCwNCisJCQkgICAgICBTTkRfU09DX0RBUE1fUFJFX1BNVSB8IFNORF9TT0NfREFQ TV9QT1NUX1BNRCksDQorCVNORF9TT0NfREFQTV9TVVBQTFlfUygiTUlDX0JJQVNfMSIsIFNVUFBM WV9TRVFfTUlDX0JJQVMsDQorCQkJICAgICAgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMTYsDQorCQkJ ICAgICAgUkdfQVVEUFdEQk1JQ0JJQVMxX1NGVCwgMCwNCisJCQkgICAgICBtdF9taWNfYmlhc18x X2V2ZW50LA0KKwkJCSAgICAgIFNORF9TT0NfREFQTV9QUkVfUE1VKSwNCisJU05EX1NPQ19EQVBN X1NVUFBMWV9TKCJNSUNfQklBU18yIiwgU1VQUExZX1NFUV9NSUNfQklBUywNCisJCQkgICAgICBN VDYzNTlfQVVERU5DX0FOQV9DT04xNywNCisJCQkgICAgICBSR19BVURQV0RCTUlDQklBUzJfU0ZU LCAwLA0KKwkJCSAgICAgIG10X21pY19iaWFzXzJfZXZlbnQsDQorCQkJICAgICAgU05EX1NPQ19E QVBNX1BSRV9QTVUgfCBTTkRfU09DX0RBUE1fUE9TVF9QTUQpLA0KKw0KKwkvKiBkbWljICovDQor CVNORF9TT0NfREFQTV9TVVBQTFlfUygiRE1JQ18wIiwgU1VQUExZX1NFUV9ETUlDLA0KKwkJCSAg ICAgIE1UNjM1OV9BVURFTkNfQU5BX0NPTjEzLA0KKwkJCSAgICAgIFJHX0FVRERJR01JQ0VOX1NG VCwgMCwNCisJCQkgICAgICBOVUxMLCAwKSwNCisJU05EX1NPQ19EQVBNX1NVUFBMWV9TKCJETUlD XzEiLCBTVVBQTFlfU0VRX0RNSUMsDQorCQkJICAgICAgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMTQs DQorCQkJICAgICAgUkdfQVVERElHTUlDMUVOX1NGVCwgMCwNCisJCQkgICAgICBOVUxMLCAwKSwN Cit9Ow0KKw0KK3N0YXRpYyBpbnQgbXRfZGNjX2Nsa19jb25uZWN0KHN0cnVjdCBzbmRfc29jX2Rh cG1fd2lkZ2V0ICpzb3VyY2UsDQorCQkJICAgICAgc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQg KnNpbmspDQorew0KKwlzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCAqdyA9IHNpbms7DQorCXN0 cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY21wbnQgPSBzbmRfc29jX2RhcG1fdG9fY29tcG9uZW50 KHctPmRhcG0pOw0KKwlzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYgPSBzbmRfc29jX2NvbXBvbmVu dF9nZXRfZHJ2ZGF0YShjbXBudCk7DQorDQorCWlmIChJU19EQ0NfQkFTRShwcml2LT5tdXhfc2Vs ZWN0W01VWF9NSUNfVFlQRV8wXSkgfHwNCisJICAgIElTX0RDQ19CQVNFKHByaXYtPm11eF9zZWxl Y3RbTVVYX01JQ19UWVBFXzFdKSB8fA0KKwkgICAgSVNfRENDX0JBU0UocHJpdi0+bXV4X3NlbGVj dFtNVVhfTUlDX1RZUEVfMl0pKQ0KKwkJcmV0dXJuIDE7DQorCWVsc2UNCisJCXJldHVybiAwOw0K K30NCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV9yb3V0ZSBtdDYzNTlfZGFw bV9yb3V0ZXNbXSA9IHsNCisJLyogQ2FwdHVyZSAqLw0KKwl7IkFJRlRYX1N1cHBseSIsIE5VTEws ICJDTEtfQlVGIn0sDQorCXsiQUlGVFhfU3VwcGx5IiwgTlVMTCwgIkxET19WQVVEMTgifSwNCisJ eyJBSUZUWF9TdXBwbHkiLCBOVUxMLCAiQVVER0xCIn0sDQorCXsiQUlGVFhfU3VwcGx5IiwgTlVM TCwgIkNMS1NRIEF1ZGlvIn0sDQorCXsiQUlGVFhfU3VwcGx5IiwgTlVMTCwgIkFVRF9DSyJ9LA0K Kwl7IkFJRlRYX1N1cHBseSIsIE5VTEwsICJBVURJRl9DSyJ9LA0KKwl7IkFJRlRYX1N1cHBseSIs IE5VTEwsICJBVURJT19UT1BfQUZFX0NUTCJ9LA0KKwl7IkFJRlRYX1N1cHBseSIsIE5VTEwsICJB VURJT19UT1BfUFdSX0NMSyJ9LA0KKwl7IkFJRlRYX1N1cHBseSIsIE5VTEwsICJBVURJT19UT1Bf UEROX1JFU0VSVkVEIn0sDQorCXsiQUlGVFhfU3VwcGx5IiwgTlVMTCwgIkFVRElPX1RPUF9JMlNf REwifSwNCisJLyoNCisJICogKl9BRENfQ1RMIHNob3VsZCBlbmFibGUgb25seSBpZiBVTF9TUkMg aW4gdXNlLA0KKwkgKiBidXQgZG0gY2sgbWF5IGJlIG5lZWRlZCBldmVuIFVMX1NSQ194IG5vdCBp biB1c2UNCisJICovDQorCXsiQUlGVFhfU3VwcGx5IiwgTlVMTCwgIkFVRElPX1RPUF9BRENfQ1RM In0sDQorCXsiQUlGVFhfU3VwcGx5IiwgTlVMTCwgIkFVRElPX1RPUF9BRERBNl9BRENfQ1RMIn0s DQorCXsiQUlGVFhfU3VwcGx5IiwgTlVMTCwgIkFGRV9PTiJ9LA0KKw0KKwkvKiB1bCBjaCAxMiAq Lw0KKwl7IkFJRjFUWCIsIE5VTEwsICJBSUYgT3V0IE11eCJ9LA0KKwl7IkFJRjFUWCIsIE5VTEws ICJBSUZUWF9TdXBwbHkifSwNCisJeyJBSUYxVFgiLCBOVUxMLCAiTVRLQUlGX1RYIn0sDQorDQor CXsiQUlGMlRYIiwgTlVMTCwgIkFJRjIgT3V0IE11eCJ9LA0KKwl7IkFJRjJUWCIsIE5VTEwsICJB SUZUWF9TdXBwbHkifSwNCisJeyJBSUYyVFgiLCBOVUxMLCAiTVRLQUlGX1RYIn0sDQorDQorCXsi QUlGIE91dCBNdXgiLCAiTm9ybWFsIFBhdGgiLCAiTUlTTzBfTVVYIn0sDQorCXsiQUlGIE91dCBN dXgiLCAiTm9ybWFsIFBhdGgiLCAiTUlTTzFfTVVYIn0sDQorCXsiQUlGMiBPdXQgTXV4IiwgIk5v cm1hbCBQYXRoIiwgIk1JU08yX01VWCJ9LA0KKw0KKwl7Ik1JU08wX01VWCIsICJVTDFfQ0gxIiwg IlVMX1NSQ19NVVgifSwNCisJeyJNSVNPMF9NVVgiLCAiVUwxX0NIMiIsICJVTF9TUkNfTVVYIn0s DQorCXsiTUlTTzBfTVVYIiwgIlVMMl9DSDEiLCAiVUwyX1NSQ19NVVgifSwNCisJeyJNSVNPMF9N VVgiLCAiVUwyX0NIMiIsICJVTDJfU1JDX01VWCJ9LA0KKw0KKwl7Ik1JU08xX01VWCIsICJVTDFf Q0gxIiwgIlVMX1NSQ19NVVgifSwNCisJeyJNSVNPMV9NVVgiLCAiVUwxX0NIMiIsICJVTF9TUkNf TVVYIn0sDQorCXsiTUlTTzFfTVVYIiwgIlVMMl9DSDEiLCAiVUwyX1NSQ19NVVgifSwNCisJeyJN SVNPMV9NVVgiLCAiVUwyX0NIMiIsICJVTDJfU1JDX01VWCJ9LA0KKw0KKwl7Ik1JU08yX01VWCIs ICJVTDFfQ0gxIiwgIlVMX1NSQ19NVVgifSwNCisJeyJNSVNPMl9NVVgiLCAiVUwxX0NIMiIsICJV TF9TUkNfTVVYIn0sDQorCXsiTUlTTzJfTVVYIiwgIlVMMl9DSDEiLCAiVUwyX1NSQ19NVVgifSwN CisJeyJNSVNPMl9NVVgiLCAiVUwyX0NIMiIsICJVTDJfU1JDX01VWCJ9LA0KKw0KKwl7IlVMX1NS Q19NVVgiLCAiQU1JQyIsICJBRENfTCJ9LA0KKwl7IlVMX1NSQ19NVVgiLCAiQU1JQyIsICJBRENf UiJ9LA0KKwl7IlVMX1NSQ19NVVgiLCAiRE1JQyIsICJETUlDMF9NVVgifSwNCisJeyJVTF9TUkNf TVVYIiwgIkRNSUMiLCAiRE1JQzFfTVVYIn0sDQorCXsiVUxfU1JDX01VWCIsIE5VTEwsICJVTF9T UkMifSwNCisNCisJeyJVTDJfU1JDX01VWCIsICJBTUlDIiwgIkFEQ18zIn0sDQorCXsiVUwyX1NS Q19NVVgiLCAiRE1JQyIsICJETUlDMl9NVVgifSwNCisJeyJVTDJfU1JDX01VWCIsIE5VTEwsICJV TF9TUkNfMzQifSwNCisNCisJeyJETUlDMF9NVVgiLCAiRE1JQ19EQVRBMCIsICJBSU4wX0RNSUMi fSwNCisJeyJETUlDMF9NVVgiLCAiRE1JQ19EQVRBMV9MIiwgIkFJTjJfRE1JQyJ9LA0KKwl7IkRN SUMwX01VWCIsICJETUlDX0RBVEExX0xfMSIsICJBSU4yX0RNSUMifSwNCisJeyJETUlDMF9NVVgi LCAiRE1JQ19EQVRBMV9SIiwgIkFJTjNfRE1JQyJ9LA0KKwl7IkRNSUMxX01VWCIsICJETUlDX0RB VEEwIiwgIkFJTjBfRE1JQyJ9LA0KKwl7IkRNSUMxX01VWCIsICJETUlDX0RBVEExX0wiLCAiQUlO Ml9ETUlDIn0sDQorCXsiRE1JQzFfTVVYIiwgIkRNSUNfREFUQTFfTF8xIiwgIkFJTjJfRE1JQyJ9 LA0KKwl7IkRNSUMxX01VWCIsICJETUlDX0RBVEExX1IiLCAiQUlOM19ETUlDIn0sDQorCXsiRE1J QzJfTVVYIiwgIkRNSUNfREFUQTAiLCAiQUlOMF9ETUlDIn0sDQorCXsiRE1JQzJfTVVYIiwgIkRN SUNfREFUQTFfTCIsICJBSU4yX0RNSUMifSwNCisJeyJETUlDMl9NVVgiLCAiRE1JQ19EQVRBMV9M XzEiLCAiQUlOMl9ETUlDIn0sDQorCXsiRE1JQzJfTVVYIiwgIkRNSUNfREFUQTFfUiIsICJBSU4z X0RNSUMifSwNCisNCisJeyJETUlDMF9NVVgiLCBOVUxMLCAiVUxfU1JDX0RNSUMifSwNCisJeyJE TUlDMV9NVVgiLCBOVUxMLCAiVUxfU1JDX0RNSUMifSwNCisJeyJETUlDMl9NVVgiLCBOVUxMLCAi VUxfU1JDXzM0X0RNSUMifSwNCisNCisJeyJBSU4wX0RNSUMiLCBOVUxMLCAiRE1JQ18wIn0sDQor CXsiQUlOMl9ETUlDIiwgTlVMTCwgIkRNSUNfMSJ9LA0KKwl7IkFJTjNfRE1JQyIsIE5VTEwsICJE TUlDXzEifSwNCisJeyJBSU4wX0RNSUMiLCBOVUxMLCAiTUlDX0JJQVNfMCJ9LA0KKwl7IkFJTjJf RE1JQyIsIE5VTEwsICJNSUNfQklBU18yIn0sDQorCXsiQUlOM19ETUlDIiwgTlVMTCwgIk1JQ19C SUFTXzIifSwNCisNCisJLyogYWRjICovDQorCXsiQURDX0wiLCBOVUxMLCAiQURDX0xfTXV4In0s DQorCXsiQURDX0wiLCBOVUxMLCAiQURDX0NMS0dFTiJ9LA0KKwl7IkFEQ19MIiwgTlVMTCwgIkFE Q19MX0VOIn0sDQorCXsiQURDX1IiLCBOVUxMLCAiQURDX1JfTXV4In0sDQorCXsiQURDX1IiLCBO VUxMLCAiQURDX0NMS0dFTiJ9LA0KKwl7IkFEQ19SIiwgTlVMTCwgIkFEQ19SX0VOIn0sDQorCS8q DQorCSAqIGFtaWMgZmlmbyBjaDEvMiBjbGsgZnJvbSBBRENfTCwNCisJICogZW5hYmxlIEFEQ19M IGV2ZW4gdXNlIEFEQ19SIG9ubHkNCisJICovDQorCXsiQURDX1IiLCBOVUxMLCAiQURDX0xfRU4i fSwNCisJeyJBRENfMyIsIE5VTEwsICJBRENfM19NdXgifSwNCisJeyJBRENfMyIsIE5VTEwsICJB RENfQ0xLR0VOIn0sDQorCXsiQURDXzMiLCBOVUxMLCAiQURDXzNfRU4ifSwNCisNCisJeyJBRENf TF9NdXgiLCAiTGVmdCBQcmVhbXBsaWZpZXIiLCAiUEdBX0wifSwNCisJeyJBRENfUl9NdXgiLCAi UmlnaHQgUHJlYW1wbGlmaWVyIiwgIlBHQV9SIn0sDQorCXsiQURDXzNfTXV4IiwgIlByZWFtcGxp ZmllciIsICJQR0FfMyJ9LA0KKw0KKwl7IlBHQV9MIiwgTlVMTCwgIlBHQV9MX011eCJ9LA0KKwl7 IlBHQV9MIiwgTlVMTCwgIlBHQV9MX0VOIn0sDQorCXsiUEdBX1IiLCBOVUxMLCAiUEdBX1JfTXV4 In0sDQorCXsiUEdBX1IiLCBOVUxMLCAiUEdBX1JfRU4ifSwNCisJeyJQR0FfMyIsIE5VTEwsICJQ R0FfM19NdXgifSwNCisJeyJQR0FfMyIsIE5VTEwsICJQR0FfM19FTiJ9LA0KKw0KKwl7IlBHQV9M IiwgTlVMTCwgIkRDQ19DTEsiLCBtdF9kY2NfY2xrX2Nvbm5lY3R9LA0KKwl7IlBHQV9SIiwgTlVM TCwgIkRDQ19DTEsiLCBtdF9kY2NfY2xrX2Nvbm5lY3R9LA0KKwl7IlBHQV8zIiwgTlVMTCwgIkRD Q19DTEsiLCBtdF9kY2NfY2xrX2Nvbm5lY3R9LA0KKw0KKwl7IlBHQV9MX011eCIsICJBSU4wIiwg IkFJTjAifSwNCisJeyJQR0FfTF9NdXgiLCAiQUlOMSIsICJBSU4xIn0sDQorDQorCXsiUEdBX1Jf TXV4IiwgIkFJTjAiLCAiQUlOMCJ9LA0KKwl7IlBHQV9SX011eCIsICJBSU4yIiwgIkFJTjIifSwN CisJeyJQR0FfUl9NdXgiLCAiQUlOMyIsICJBSU4zIn0sDQorDQorCXsiUEdBXzNfTXV4IiwgIkFJ TjIiLCAiQUlOMiJ9LA0KKwl7IlBHQV8zX011eCIsICJBSU4zIiwgIkFJTjMifSwNCisNCisJeyJB SU4wIiwgTlVMTCwgIk1JQ19CSUFTXzAifSwNCisJeyJBSU4xIiwgTlVMTCwgIk1JQ19CSUFTXzEi fSwNCisJeyJBSU4yIiwgTlVMTCwgIk1JQ19CSUFTXzAifSwNCisJeyJBSU4yIiwgTlVMTCwgIk1J Q19CSUFTXzIifSwNCisJeyJBSU4zIiwgTlVMTCwgIk1JQ19CSUFTXzIifSwNCisNCisJLyogREwg U3VwcGx5ICovDQorCXsiREwgUG93ZXIgU3VwcGx5IiwgTlVMTCwgIkNMS19CVUYifSwNCisJeyJE TCBQb3dlciBTdXBwbHkiLCBOVUxMLCAiTERPX1ZBVUQxOCJ9LA0KKwl7IkRMIFBvd2VyIFN1cHBs eSIsIE5VTEwsICJBVURHTEIifSwNCisJeyJETCBQb3dlciBTdXBwbHkiLCBOVUxMLCAiQ0xLU1Eg QXVkaW8ifSwNCisJeyJETCBQb3dlciBTdXBwbHkiLCBOVUxMLCAiQVVETkNQX0NLIn0sDQorCXsi REwgUG93ZXIgU3VwcGx5IiwgTlVMTCwgIlpDRDEzTV9DSyJ9LA0KKwl7IkRMIFBvd2VyIFN1cHBs eSIsIE5VTEwsICJBVURfQ0sifSwNCisJeyJETCBQb3dlciBTdXBwbHkiLCBOVUxMLCAiQVVESUZf Q0sifSwNCisJeyJETCBQb3dlciBTdXBwbHkiLCBOVUxMLCAiRVNEX1JFU0lTVCJ9LA0KKwl7IkRM IFBvd2VyIFN1cHBseSIsIE5VTEwsICJMRE8ifSwNCisJeyJETCBQb3dlciBTdXBwbHkiLCBOVUxM LCAiTERPX1JFTU9URSJ9LA0KKwl7IkRMIFBvd2VyIFN1cHBseSIsIE5VTEwsICJOVl9SRUdVTEFU T1IifSwNCisJeyJETCBQb3dlciBTdXBwbHkiLCBOVUxMLCAiSUJJU1QifSwNCisNCisJLyogREwg RGlnaXRhbCBTdXBwbHkgKi8NCisJeyJETCBEaWdpdGFsIENsb2NrIiwgTlVMTCwgIkFVRElPX1RP UF9BRkVfQ1RMIn0sDQorCXsiREwgRGlnaXRhbCBDbG9jayIsIE5VTEwsICJBVURJT19UT1BfREFD X0NUTCJ9LA0KKwl7IkRMIERpZ2l0YWwgQ2xvY2siLCBOVUxMLCAiQVVESU9fVE9QX1BXUl9DTEsi fSwNCisJeyJETCBEaWdpdGFsIENsb2NrIiwgTlVMTCwgIkFVRElPX1RPUF9QRE5fUkVTRVJWRUQi fSwNCisJeyJETCBEaWdpdGFsIENsb2NrIiwgTlVMTCwgIlNETV9GSUZPX0NMSyJ9LA0KKwl7IkRM IERpZ2l0YWwgQ2xvY2siLCBOVUxMLCAiTkNQIn0sDQorCXsiREwgRGlnaXRhbCBDbG9jayIsIE5V TEwsICJBRkVfT04ifSwNCisJeyJETCBEaWdpdGFsIENsb2NrIiwgTlVMTCwgIkFGRV9ETF9TUkMi fSwNCisNCisJeyJETCBEaWdpdGFsIENsb2NrIENIXzFfMiIsIE5VTEwsICJETCBEaWdpdGFsIENs b2NrIn0sDQorCXsiREwgRGlnaXRhbCBDbG9jayBDSF8xXzIiLCBOVUxMLCAiU0RNIn0sDQorDQor CXsiREwgRGlnaXRhbCBDbG9jayBDSF8zIiwgTlVMTCwgIkRMIERpZ2l0YWwgQ2xvY2sifSwNCisJ eyJETCBEaWdpdGFsIENsb2NrIENIXzMiLCBOVUxMLCAiU0RNXzNSRCJ9LA0KKw0KKwl7IkFJRl9S WCIsIE5VTEwsICJETCBEaWdpdGFsIENsb2NrIENIXzFfMiJ9LA0KKw0KKwl7IkFJRjJfUlgiLCBO VUxMLCAiREwgRGlnaXRhbCBDbG9jayBDSF8zIn0sDQorDQorCS8qIERMIFBhdGggKi8NCisJeyJE QUMgSW4gTXV4IiwgIk5vcm1hbCBQYXRoIiwgIkFJRl9SWCJ9LA0KKwl7IkRBQyBJbiBNdXgiLCAi U2dlbiIsICJTR0VOIERMIn0sDQorCXsiU0dFTiBETCIsIE5VTEwsICJTR0VOIERMIFNSQyJ9LA0K Kwl7IlNHRU4gREwiLCBOVUxMLCAiU0dFTiBNVVRFIn0sDQorCXsiU0dFTiBETCIsIE5VTEwsICJT R0VOIERMIEVuYWJsZSJ9LA0KKwl7IlNHRU4gREwiLCBOVUxMLCAiREwgRGlnaXRhbCBDbG9jayBD SF8xXzIifSwNCisJeyJTR0VOIERMIiwgTlVMTCwgIkRMIERpZ2l0YWwgQ2xvY2sgQ0hfMyJ9LA0K Kwl7IlNHRU4gREwiLCBOVUxMLCAiQVVESU9fVE9QX1BETl9BRkVfVEVTVE1PREVMIn0sDQorDQor CXsiREFDTCIsIE5VTEwsICJEQUMgSW4gTXV4In0sDQorCXsiREFDTCIsIE5VTEwsICJETCBQb3dl ciBTdXBwbHkifSwNCisNCisJeyJEQUNSIiwgTlVMTCwgIkRBQyBJbiBNdXgifSwNCisJeyJEQUNS IiwgTlVMTCwgIkRMIFBvd2VyIFN1cHBseSJ9LA0KKw0KKwkvKiBEQUMgM1JEICovDQorCXsiREFD IEluIE11eCIsICJOb3JtYWwgUGF0aCIsICJBSUYyX1JYIn0sDQorCXsiREFDXzNSRCIsIE5VTEws ICJEQUMgSW4gTXV4In0sDQorCXsiREFDXzNSRCIsIE5VTEwsICJETCBQb3dlciBTdXBwbHkifSwN CisNCisJLyogTGluZW91dCBQYXRoICovDQorCXsiTE9MIE11eCIsICJQbGF5YmFjayIsICJEQUNf M1JEIn0sDQorCXsiTElORU9VVCBMIiwgTlVMTCwgIkxPTCBNdXgifSwNCisNCisJLyogSGVhZHBo b25lIFBhdGggKi8NCisJeyJIUF9TdXBwbHkiLCBOVUxMLCAiSFBfUFVMTF9ET1dOIn0sDQorCXsi SFBfU3VwcGx5IiwgTlVMTCwgIkhQX01VVEUifSwNCisJeyJIUF9TdXBwbHkiLCBOVUxMLCAiSFBf REFNUCJ9LA0KKwl7IkhQTCBNdXgiLCBOVUxMLCAiSFBfU3VwcGx5In0sDQorCXsiSFBSIE11eCIs IE5VTEwsICJIUF9TdXBwbHkifSwNCisNCisJeyJIUEwgTXV4IiwgIkF1ZGlvIFBsYXliYWNrIiwg IkRBQ0wifSwNCisJeyJIUFIgTXV4IiwgIkF1ZGlvIFBsYXliYWNrIiwgIkRBQ1IifSwNCisJeyJI UEwgTXV4IiwgIkhQIEltcGVkYW5jZSIsICJEQUNMIn0sDQorCXsiSFBSIE11eCIsICJIUCBJbXBl ZGFuY2UiLCAiREFDUiJ9LA0KKwl7IkhQTCBNdXgiLCAiTG91ZFNQSyBQbGF5YmFjayIsICJEQUNM In0sDQorCXsiSFBSIE11eCIsICJMb3VkU1BLIFBsYXliYWNrIiwgIkRBQ1IifSwNCisNCisJeyJI ZWFkcGhvbmUgTCIsIE5VTEwsICJIUEwgTXV4In0sDQorCXsiSGVhZHBob25lIFIiLCBOVUxMLCAi SFBSIE11eCJ9LA0KKwl7IkhlYWRwaG9uZSBMIEV4dCBTcGsgQW1wIiwgTlVMTCwgIkhQTCBNdXgi fSwNCisJeyJIZWFkcGhvbmUgUiBFeHQgU3BrIEFtcCIsIE5VTEwsICJIUFIgTXV4In0sDQorDQor CS8qIFJlY2VpdmVyIFBhdGggKi8NCisJeyJSQ1YgTXV4IiwgIlZvaWNlIFBsYXliYWNrIiwgIkRB Q0wifSwNCisJeyJSZWNlaXZlciIsIE5VTEwsICJSQ1YgTXV4In0sDQorfTsNCisNCitzdGF0aWMg aW50IG10NjM1OV9jb2RlY19kYWlfaHdfcGFyYW1zKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAq c3Vic3RyZWFtLA0KKwkJCQkgICAgICBzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcywN CisJCQkJICAgICAgc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpDQorew0KKwlzdHJ1Y3Qgc25kX3Nv Y19jb21wb25lbnQgKmNtcG50ID0gZGFpLT5jb21wb25lbnQ7DQorCXN0cnVjdCBtdDYzNTlfcHJp diAqcHJpdiA9IHNuZF9zb2NfY29tcG9uZW50X2dldF9kcnZkYXRhKGNtcG50KTsNCisJdW5zaWdu ZWQgaW50IHJhdGUgPSBwYXJhbXNfcmF0ZShwYXJhbXMpOw0KKwlpbnQgaWQgPSBkYWktPmlkOw0K Kw0KKwlkZXZfZGJnKHByaXYtPmRldiwgIiVzKCksIGlkICVkLCBzdWJzdHJlYW0tPnN0cmVhbSAl ZCwgcmF0ZSAlZCwgbnVtYmVyICVkXG4iLA0KKwkJX19mdW5jX18sIGlkLCBzdWJzdHJlYW0tPnN0 cmVhbSwgcmF0ZSwgc3Vic3RyZWFtLT5udW1iZXIpOw0KKw0KKwlpZiAoc3Vic3RyZWFtLT5zdHJl YW0gPT0gU05EUlZfUENNX1NUUkVBTV9QTEFZQkFDSykNCisJCXByaXYtPmRsX3JhdGVbaWRdID0g cmF0ZTsNCisJZWxzZSBpZiAoc3Vic3RyZWFtLT5zdHJlYW0gPT0gU05EUlZfUENNX1NUUkVBTV9D QVBUVVJFKQ0KKwkJcHJpdi0+dWxfcmF0ZVtpZF0gPSByYXRlOw0KKw0KKwlyZXR1cm4gMDsNCit9 DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhaV9vcHMgbXQ2MzU5X2NvZGVjX2Rh aV9vcHMgPSB7DQorCS5od19wYXJhbXMgPSBtdDYzNTlfY29kZWNfZGFpX2h3X3BhcmFtcywNCit9 Ow0KKw0KKyNkZWZpbmUgTVQ2MzU5X0ZPUk1BVFMgKFNORFJWX1BDTV9GTVRCSVRfUzE2X0xFIHwg U05EUlZfUENNX0ZNVEJJVF9TMTZfQkUgfFwNCisJCQlTTkRSVl9QQ01fRk1UQklUX1UxNl9MRSB8 IFNORFJWX1BDTV9GTVRCSVRfVTE2X0JFIHxcDQorCQkJU05EUlZfUENNX0ZNVEJJVF9TMjRfTEUg fCBTTkRSVl9QQ01fRk1UQklUX1MyNF9CRSB8XA0KKwkJCVNORFJWX1BDTV9GTVRCSVRfVTI0X0xF IHwgU05EUlZfUENNX0ZNVEJJVF9VMjRfQkUgfFwNCisJCQlTTkRSVl9QQ01fRk1UQklUX1MzMl9M RSB8IFNORFJWX1BDTV9GTVRCSVRfUzMyX0JFIHxcDQorCQkJU05EUlZfUENNX0ZNVEJJVF9VMzJf TEUgfCBTTkRSVl9QQ01fRk1UQklUX1UzMl9CRSkNCisNCitzdGF0aWMgc3RydWN0IHNuZF9zb2Nf ZGFpX2RyaXZlciBtdDYzNTlfZGFpX2RyaXZlcltdID0gew0KKwl7DQorCQkuaWQgPSBNVDYzNTlf QUlGXzEsDQorCQkubmFtZSA9ICJtdDYzNTktc25kLWNvZGVjLWFpZjEiLA0KKwkJLnBsYXliYWNr ID0gew0KKwkJCS5zdHJlYW1fbmFtZSA9ICJBSUYxIFBsYXliYWNrIiwNCisJCQkuY2hhbm5lbHNf bWluID0gMSwNCisJCQkuY2hhbm5lbHNfbWF4ID0gMiwNCisJCQkucmF0ZXMgPSBTTkRSVl9QQ01f UkFURV84MDAwXzQ4MDAwIHwNCisJCQkJIFNORFJWX1BDTV9SQVRFXzk2MDAwIHwNCisJCQkJIFNO RFJWX1BDTV9SQVRFXzE5MjAwMCwNCisJCQkuZm9ybWF0cyA9IE1UNjM1OV9GT1JNQVRTLA0KKwkJ fSwNCisJCS5jYXB0dXJlID0gew0KKwkJCS5zdHJlYW1fbmFtZSA9ICJBSUYxIENhcHR1cmUiLA0K KwkJCS5jaGFubmVsc19taW4gPSAxLA0KKwkJCS5jaGFubmVsc19tYXggPSAyLA0KKwkJCS5yYXRl cyA9IFNORFJWX1BDTV9SQVRFXzgwMDAgfA0KKwkJCQkgU05EUlZfUENNX1JBVEVfMTYwMDAgfA0K KwkJCQkgU05EUlZfUENNX1JBVEVfMzIwMDAgfA0KKwkJCQkgU05EUlZfUENNX1JBVEVfNDgwMDAg fA0KKwkJCQkgU05EUlZfUENNX1JBVEVfOTYwMDAgfA0KKwkJCQkgU05EUlZfUENNX1JBVEVfMTky MDAwLA0KKwkJCS5mb3JtYXRzID0gTVQ2MzU5X0ZPUk1BVFMsDQorCQl9LA0KKwkJLm9wcyA9ICZt dDYzNTlfY29kZWNfZGFpX29wcywNCisJfSwNCisJew0KKwkJLmlkID0gTVQ2MzU5X0FJRl8yLA0K KwkJLm5hbWUgPSAibXQ2MzU5LXNuZC1jb2RlYy1haWYyIiwNCisJCS5wbGF5YmFjayA9IHsNCisJ CQkuc3RyZWFtX25hbWUgPSAiQUlGMiBQbGF5YmFjayIsDQorCQkJLmNoYW5uZWxzX21pbiA9IDEs DQorCQkJLmNoYW5uZWxzX21heCA9IDIsDQorCQkJLnJhdGVzID0gU05EUlZfUENNX1JBVEVfODAw MF80ODAwMCB8DQorCQkJCSBTTkRSVl9QQ01fUkFURV85NjAwMCB8DQorCQkJCSBTTkRSVl9QQ01f UkFURV8xOTIwMDAsDQorCQkJLmZvcm1hdHMgPSBNVDYzNTlfRk9STUFUUywNCisJCX0sDQorCQku Y2FwdHVyZSA9IHsNCisJCQkuc3RyZWFtX25hbWUgPSAiQUlGMiBDYXB0dXJlIiwNCisJCQkuY2hh bm5lbHNfbWluID0gMSwNCisJCQkuY2hhbm5lbHNfbWF4ID0gMiwNCisJCQkucmF0ZXMgPSBTTkRS Vl9QQ01fUkFURV84MDAwIHwNCisJCQkJIFNORFJWX1BDTV9SQVRFXzE2MDAwIHwNCisJCQkJIFNO RFJWX1BDTV9SQVRFXzMyMDAwIHwNCisJCQkJIFNORFJWX1BDTV9SQVRFXzQ4MDAwLA0KKwkJCS5m b3JtYXRzID0gTVQ2MzU5X0ZPUk1BVFMsDQorCQl9LA0KKwkJLm9wcyA9ICZtdDYzNTlfY29kZWNf ZGFpX29wcywNCisJfSwNCit9Ow0KKw0KK3N0YXRpYyBpbnQgbXQ2MzU5X2NvZGVjX2luaXRfcmVn KHN0cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY21wbnQpDQorew0KKwlzdHJ1Y3QgbXQ2MzU5X3By aXYgKnByaXYgPSBzbmRfc29jX2NvbXBvbmVudF9nZXRfZHJ2ZGF0YShjbXBudCk7DQorDQorCS8q IGVuYWJsZSBjbGsgYnVmICovDQorCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1U NjM1OV9EQ1hPX0NXMTIsDQorCQkJICAgMHgxIDw8IFJHX1hPX0FVRElPX0VOX01fU0ZULA0KKwkJ CSAgIDB4MSA8PCBSR19YT19BVURJT19FTl9NX1NGVCk7DQorDQorCS8qIHNldCB0aG9zZSBub3Qg Y29udHJvbGxlZCBieSBkYXBtIHdpZGdldCAqLw0KKw0KKwkvKiBhdWRpbyBjbGsgc291cmNlIGZy b20gaW50ZXJuYWwgZGN4byAqLw0KKwlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBN VDYzNTlfQVVERU5DX0FOQV9DT04yMywNCisJCQkgICBSR19DTEtTUV9JTl9TRUxfVEVTVF9NQVNL X1NGVCwNCisJCQkgICAweDApOw0KKw0KKwkvKiBEaXNhYmxlIEhlYWRwaG9uZUwvSGVhZHBob25l UiBzaG9ydCBjaXJjdWl0IHByb3RlY3Rpb24gKi8NCisJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYt PnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMCwNCisJCQkgICBSR19BVURIUExTQ0RJU0FC TEVfVkFVRFAzMl9NQVNLX1NGVCwNCisJCQkgICAweDEgPDwgUkdfQVVESFBMU0NESVNBQkxFX1ZB VURQMzJfU0ZUKTsNCisJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FV RERFQ19BTkFfQ09OMCwNCisJCQkgICBSR19BVURIUFJTQ0RJU0FCTEVfVkFVRFAzMl9NQVNLX1NG VCwNCisJCQkgICAweDEgPDwgUkdfQVVESFBSU0NESVNBQkxFX1ZBVURQMzJfU0ZUKTsNCisJLyog RGlzYWJsZSB2b2ljZSBzaG9ydCBjaXJjdWl0IHByb3RlY3Rpb24gKi8NCisJcmVnbWFwX3VwZGF0 ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09ONiwNCisJCQkgICBSR19B VURIU1NDRElTQUJMRV9WQVVEUDMyX01BU0tfU0ZULA0KKwkJCSAgIDB4MSA8PCBSR19BVURIU1ND RElTQUJMRV9WQVVEUDMyX1NGVCk7DQorCS8qIGRpc2FibGUgTE8gYnVmZmVyIGxlZnQgc2hvcnQg Y2lyY3VpdCBwcm90ZWN0aW9uICovDQorCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAs IE1UNjM1OV9BVURERUNfQU5BX0NPTjcsDQorCQkJICAgUkdfQVVETE9MU0NESVNBQkxFX1ZBVURQ MzJfTUFTS19TRlQsDQorCQkJICAgMHgxIDw8IFJHX0FVRExPTFNDRElTQUJMRV9WQVVEUDMyX1NG VCk7DQorDQorCS8qIHNldCBncGlvICovDQorCW10NjM1OV9yZXNldF9wbGF5YmFja19ncGlvKGNt cG50KTsNCisJbXQ2MzU5X3Jlc2V0X2NhcHR1cmVfZ3BpbyhjbXBudCk7DQorDQorCS8qIGhwIGdh aW4gY3RsIGRlZmF1bHQgY2hvb3NlIFpDRCAqLw0KKwlwcml2LT5ocF9nYWluX2N0bCA9IEhQX0dB SU5fQ1RMX1pDRDsNCisJaHBfZ2Fpbl9jdGxfc2VsZWN0KHByaXYsIHByaXYtPmhwX2dhaW5fY3Rs KTsNCisNCisJLyogaHAgaGlmaSBtb2RlLCBkZWZhdWx0IG5vcm1hbCBtb2RlICovDQorCXByaXYt PmhwX2hpZmlfbW9kZSA9IDA7DQorDQorCS8qIERpc2FibGUgQVVEX1pDRCAqLw0KKwl6Y2RfZGlz YWJsZShwcml2KTsNCisNCisJLyogZGlzYWJsZSBjbGsgYnVmICovDQorCXJlZ21hcF91cGRhdGVf Yml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9EQ1hPX0NXMTIsDQorCQkJICAgMHgxIDw8IFJHX1hP X0FVRElPX0VOX01fU0ZULA0KKwkJCSAgIDB4MCA8PCBSR19YT19BVURJT19FTl9NX1NGVCk7DQor DQorCXJldHVybiAwOw0KK30NCisNCitzdGF0aWMgaW50IG10NjM1OV9jb2RlY19wcm9iZShzdHJ1 Y3Qgc25kX3NvY19jb21wb25lbnQgKmNtcG50KQ0KK3sNCisJc3RydWN0IG10NjM1OV9wcml2ICpw cml2ID0gc25kX3NvY19jb21wb25lbnRfZ2V0X2RydmRhdGEoY21wbnQpOw0KKwlpbnQgcmV0Ow0K Kw0KKwlzbmRfc29jX2NvbXBvbmVudF9pbml0X3JlZ21hcChjbXBudCwgcHJpdi0+cmVnbWFwKTsN CisJbXQ2MzU5X2NvZGVjX2luaXRfcmVnKGNtcG50KTsNCisNCisJcHJpdi0+YW5hX2dhaW5bQVVE SU9fQU5BTE9HX1ZPTFVNRV9IUE9VVExdID0gODsNCisJcHJpdi0+YW5hX2dhaW5bQVVESU9fQU5B TE9HX1ZPTFVNRV9IUE9VVFJdID0gODsNCisJcHJpdi0+YW5hX2dhaW5bQVVESU9fQU5BTE9HX1ZP TFVNRV9NSUNBTVAxXSA9IDM7DQorCXByaXYtPmFuYV9nYWluW0FVRElPX0FOQUxPR19WT0xVTUVf TUlDQU1QMl0gPSAzOw0KKwlwcml2LT5hbmFfZ2FpbltBVURJT19BTkFMT0dfVk9MVU1FX01JQ0FN UDNdID0gMzsNCisNCisJcmV0ID0gcmVndWxhdG9yX2VuYWJsZShwcml2LT5hdmRkX3JlZyk7DQor CWlmIChyZXQpIHsNCisJCWRldl9lcnIocHJpdi0+ZGV2LCAiJXMoKSwgZmFpbGVkIHRvIGVuYWJs ZSByZWd1bGF0b3IhXG4iLA0KKwkJCV9fZnVuY19fKTsNCisJCXJldHVybiByZXQ7DQorCX0NCisN CisJcmV0dXJuIDA7DQorfQ0KKw0KK3N0YXRpYyB2b2lkIG10NjM1OV9jb2RlY19yZW1vdmUoc3Ry dWN0IHNuZF9zb2NfY29tcG9uZW50ICpjbXBudCkNCit7DQorCXN0cnVjdCBtdDYzNTlfcHJpdiAq cHJpdiA9IHNuZF9zb2NfY29tcG9uZW50X2dldF9kcnZkYXRhKGNtcG50KTsNCisJaW50IHJldDsN CisNCisJc25kX3NvY19jb21wb25lbnRfZXhpdF9yZWdtYXAoY21wbnQpOw0KKw0KKwlwcml2LT5h bmFfZ2FpbltBVURJT19BTkFMT0dfVk9MVU1FX0hQT1VUTF0gPSAwOw0KKwlwcml2LT5hbmFfZ2Fp bltBVURJT19BTkFMT0dfVk9MVU1FX0hQT1VUUl0gPSAwOw0KKwlwcml2LT5hbmFfZ2FpbltBVURJ T19BTkFMT0dfVk9MVU1FX01JQ0FNUDFdID0gMDsNCisJcHJpdi0+YW5hX2dhaW5bQVVESU9fQU5B TE9HX1ZPTFVNRV9NSUNBTVAyXSA9IDA7DQorCXByaXYtPmFuYV9nYWluW0FVRElPX0FOQUxPR19W T0xVTUVfTUlDQU1QM10gPSAwOw0KKw0KKwlyZXQgPSByZWd1bGF0b3JfZGlzYWJsZShwcml2LT5h dmRkX3JlZyk7DQorCWlmIChyZXQpDQorCQlkZXZfZXJyKHByaXYtPmRldiwgIiVzKCksIGZhaWxl ZCB0byBkaXNhYmxlIHJlZ3VsYXRvciFcbiIsDQorCQkJX19mdW5jX18pOw0KK30NCisNCitzdGF0 aWMgY29uc3QgREVDTEFSRV9UTFZfREJfU0NBTEUoaHBfcGxheWJhY2tfdGx2LCAtMjIwMCwgMTAw LCAwKTsNCitzdGF0aWMgY29uc3QgREVDTEFSRV9UTFZfREJfU0NBTEUocGxheWJhY2tfdGx2LCAt MTAwMCwgMTAwLCAwKTsNCitzdGF0aWMgY29uc3QgREVDTEFSRV9UTFZfREJfU0NBTEUoY2FwdHVy ZV90bHYsIDAsIDYwMCwgMCk7DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xf bmV3IG10NjM1OV9zbmRfY29udHJvbHNbXSA9IHsNCisJLyogZGwgcGdhIGdhaW4gKi8NCisJU09D X0RPVUJMRV9FWFRfVExWKCJIZWFkc2V0IFZvbHVtZSIsDQorCQkJICAgTVQ2MzU5X1pDRF9DT04y LCAwLCA3LCAweDFFLCAwLA0KKwkJCSAgIHNuZF9zb2NfZ2V0X3ZvbHN3LCBtdDYzNTlfcHV0X3Zv bHN3LA0KKwkJCSAgIGhwX3BsYXliYWNrX3RsdiksDQorCVNPQ19ET1VCTEVfRVhUX1RMVigiTGlu ZW91dCBWb2x1bWUiLA0KKwkJCSAgIE1UNjM1OV9aQ0RfQ09OMSwgMCwgNywgMHgxMiwgMCwNCisJ CQkgICBzbmRfc29jX2dldF92b2xzdywgbXQ2MzU5X3B1dF92b2xzdywgcGxheWJhY2tfdGx2KSwN CisJU09DX1NJTkdMRV9FWFRfVExWKCJIYW5kc2V0IFZvbHVtZSIsDQorCQkJICAgTVQ2MzU5X1pD RF9DT04zLCAwLCAweDEyLCAwLA0KKwkJCSAgIHNuZF9zb2NfZ2V0X3ZvbHN3LCBtdDYzNTlfcHV0 X3ZvbHN3LCBwbGF5YmFja190bHYpLA0KKw0KKwkvKiB1bCBwZ2EgZ2FpbiAqLw0KKwlTT0NfU0lO R0xFX0VYVF9UTFYoIlBHQTEgVm9sdW1lIiwNCisJCQkgICBNVDYzNTlfQVVERU5DX0FOQV9DT04w LCBSR19BVURQUkVBTVBMR0FJTl9TRlQsIDQsIDAsDQorCQkJICAgc25kX3NvY19nZXRfdm9sc3cs IG10NjM1OV9wdXRfdm9sc3csIGNhcHR1cmVfdGx2KSwNCisJU09DX1NJTkdMRV9FWFRfVExWKCJQ R0EyIFZvbHVtZSIsDQorCQkJICAgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMSwgUkdfQVVEUFJFQU1Q UkdBSU5fU0ZULCA0LCAwLA0KKwkJCSAgIHNuZF9zb2NfZ2V0X3ZvbHN3LCBtdDYzNTlfcHV0X3Zv bHN3LCBjYXB0dXJlX3RsdiksDQorCVNPQ19TSU5HTEVfRVhUX1RMVigiUEdBMyBWb2x1bWUiLA0K KwkJCSAgIE1UNjM1OV9BVURFTkNfQU5BX0NPTjIsIFJHX0FVRFBSRUFNUDNHQUlOX1NGVCwgNCwg MCwNCisJCQkgICBzbmRfc29jX2dldF92b2xzdywgbXQ2MzU5X3B1dF92b2xzdywgY2FwdHVyZV90 bHYpLA0KK307DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfc29jX2NvbXBvbmVudF9kcml2 ZXIgbXQ2MzU5X3NvY19jb21wb25lbnRfZHJpdmVyID0gew0KKwkubmFtZSA9IENPREVDX01UNjM1 OV9OQU1FLA0KKwkucHJvYmUgPSBtdDYzNTlfY29kZWNfcHJvYmUsDQorCS5yZW1vdmUgPSBtdDYz NTlfY29kZWNfcmVtb3ZlLA0KKwkuY29udHJvbHMgPSBtdDYzNTlfc25kX2NvbnRyb2xzLA0KKwku bnVtX2NvbnRyb2xzID0gQVJSQVlfU0laRShtdDYzNTlfc25kX2NvbnRyb2xzKSwNCisJLmRhcG1f d2lkZ2V0cyA9IG10NjM1OV9kYXBtX3dpZGdldHMsDQorCS5udW1fZGFwbV93aWRnZXRzID0gQVJS QVlfU0laRShtdDYzNTlfZGFwbV93aWRnZXRzKSwNCisJLmRhcG1fcm91dGVzID0gbXQ2MzU5X2Rh cG1fcm91dGVzLA0KKwkubnVtX2RhcG1fcm91dGVzID0gQVJSQVlfU0laRShtdDYzNTlfZGFwbV9y b3V0ZXMpLA0KK307DQorDQorc3RhdGljIGludCBtdDYzNTlfcGFyc2VfZHQoc3RydWN0IG10NjM1 OV9wcml2ICpwcml2KQ0KK3sNCisJaW50IHJldDsNCisJc3RydWN0IGRldmljZSAqZGV2ID0gcHJp di0+ZGV2Ow0KKw0KKwlyZXQgPSBvZl9wcm9wZXJ0eV9yZWFkX3UzMihkZXYtPm9mX25vZGUsICJt ZWRpYXRlayxkbWljLW1vZGUiLA0KKwkJCQkgICAmcHJpdi0+ZG1pY19vbmVfd2lyZV9tb2RlKTsN CisJaWYgKHJldCkgew0KKwkJZGV2X3dhcm4ocHJpdi0+ZGV2LCAiJXMoKSBmYWlsZWQgdG8gcmVh ZCBkbWljLW1vZGVcbiIsDQorCQkJIF9fZnVuY19fKTsNCisJCXByaXYtPmRtaWNfb25lX3dpcmVf bW9kZSA9IDA7DQorCX0NCisNCisJcmV0ID0gb2ZfcHJvcGVydHlfcmVhZF91MzIoZGV2LT5vZl9u b2RlLCAibWVkaWF0ZWssbWljLXR5cGUtMCIsDQorCQkJCSAgICZwcml2LT5tdXhfc2VsZWN0W01V WF9NSUNfVFlQRV8wXSk7DQorCWlmIChyZXQpIHsNCisJCWRldl93YXJuKHByaXYtPmRldiwgIiVz KCkgZmFpbGVkIHRvIHJlYWQgbWljLXR5cGUtMFxuIiwNCisJCQkgX19mdW5jX18pOw0KKwkJcHJp di0+bXV4X3NlbGVjdFtNVVhfTUlDX1RZUEVfMF0gPSBNSUNfVFlQRV9NVVhfSURMRTsNCisJfQ0K Kw0KKwlyZXQgPSBvZl9wcm9wZXJ0eV9yZWFkX3UzMihkZXYtPm9mX25vZGUsICJtZWRpYXRlayxt aWMtdHlwZS0xIiwNCisJCQkJICAgJnByaXYtPm11eF9zZWxlY3RbTVVYX01JQ19UWVBFXzFdKTsN CisJaWYgKHJldCkgew0KKwkJZGV2X3dhcm4ocHJpdi0+ZGV2LCAiJXMoKSBmYWlsZWQgdG8gcmVh ZCBtaWMtdHlwZS0xXG4iLA0KKwkJCSBfX2Z1bmNfXyk7DQorCQlwcml2LT5tdXhfc2VsZWN0W01V WF9NSUNfVFlQRV8xXSA9IE1JQ19UWVBFX01VWF9JRExFOw0KKwl9DQorDQorCXJldCA9IG9mX3By b3BlcnR5X3JlYWRfdTMyKGRldi0+b2Zfbm9kZSwgIm1lZGlhdGVrLG1pYy10eXBlLTIiLA0KKwkJ CQkgICAmcHJpdi0+bXV4X3NlbGVjdFtNVVhfTUlDX1RZUEVfMl0pOw0KKwlpZiAocmV0KSB7DQor CQlkZXZfd2Fybihwcml2LT5kZXYsICIlcygpIGZhaWxlZCB0byByZWFkIG1pYy10eXBlLTJcbiIs DQorCQkJIF9fZnVuY19fKTsNCisJCXByaXYtPm11eF9zZWxlY3RbTVVYX01JQ19UWVBFXzJdID0g TUlDX1RZUEVfTVVYX0lETEU7DQorCX0NCisNCisJcmV0dXJuIDA7DQorfQ0KKw0KK3N0YXRpYyBp bnQgbXQ2MzU5X3BsYXRmb3JtX2RyaXZlcl9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpw ZGV2KQ0KK3sNCisJc3RydWN0IG10NjM1OV9wcml2ICpwcml2Ow0KKwlpbnQgcmV0Ow0KKwlzdHJ1 Y3QgbXQ2Mzk3X2NoaXAgKm10NjM5NyA9IGRldl9nZXRfZHJ2ZGF0YShwZGV2LT5kZXYucGFyZW50 KTsNCisNCisJZGV2X2RiZygmcGRldi0+ZGV2LCAiJXMoKSwgZGV2IG5hbWUgJXNcbiIsDQorCQlf X2Z1bmNfXywgZGV2X25hbWUoJnBkZXYtPmRldikpOw0KKw0KKwlwcml2ID0gZGV2bV9remFsbG9j KCZwZGV2LT5kZXYsIHNpemVvZigqcHJpdiksIEdGUF9LRVJORUwpOw0KKwlpZiAoIXByaXYpDQor CQlyZXR1cm4gLUVOT01FTTsNCisNCisJcHJpdi0+cmVnbWFwID0gbXQ2Mzk3LT5yZWdtYXA7DQor CWlmIChJU19FUlIocHJpdi0+cmVnbWFwKSkNCisJCXJldHVybiBQVFJfRVJSKHByaXYtPnJlZ21h cCk7DQorDQorCWRldl9zZXRfZHJ2ZGF0YSgmcGRldi0+ZGV2LCBwcml2KTsNCisJcHJpdi0+ZGV2 ID0gJnBkZXYtPmRldjsNCisNCisJcHJpdi0+YXZkZF9yZWcgPSBkZXZtX3JlZ3VsYXRvcl9nZXQo JnBkZXYtPmRldiwgInZhdWQxOCIpOw0KKwlpZiAoSVNfRVJSKHByaXYtPmF2ZGRfcmVnKSkgew0K KwkJZGV2X2VycigmcGRldi0+ZGV2LCAiJXMoKSwgaGF2ZSBubyB2YXVkMTggc3VwcGx5IiwgX19m dW5jX18pOw0KKwkJcmV0dXJuIFBUUl9FUlIocHJpdi0+YXZkZF9yZWcpOw0KKwl9DQorDQorCXJl dCA9IG10NjM1OV9wYXJzZV9kdChwcml2KTsNCisJaWYgKHJldCkgew0KKwkJZGV2X3dhcm4oJnBk ZXYtPmRldiwgIiVzKCkgZmFpbGVkIHRvIHBhcnNlIGR0c1xuIiwgX19mdW5jX18pOw0KKwkJcmV0 dXJuIHJldDsNCisJfQ0KKw0KKwlyZXR1cm4gZGV2bV9zbmRfc29jX3JlZ2lzdGVyX2NvbXBvbmVu dCgmcGRldi0+ZGV2LA0KKwkJCQkJICAgICAgICZtdDYzNTlfc29jX2NvbXBvbmVudF9kcml2ZXIs DQorCQkJCQkgICAgICAgbXQ2MzU5X2RhaV9kcml2ZXIsDQorCQkJCQkgICAgICAgQVJSQVlfU0la RShtdDYzNTlfZGFpX2RyaXZlcikpOw0KK30NCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2Rl dmljZV9pZCBtdDYzNTlfb2ZfbWF0Y2hbXSA9IHsNCisJey5jb21wYXRpYmxlID0gIm1lZGlhdGVr LG10NjM1OS1zb3VuZCIsfSwNCisJe30NCit9Ow0KK01PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIG10 NjM1OV9vZl9tYXRjaCk7DQorDQorc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgbXQ2MzU5 X3BsYXRmb3JtX2RyaXZlciA9IHsNCisJLmRyaXZlciA9IHsNCisJCS5uYW1lID0gIm10NjM1OS1z b3VuZCIsDQorCQkub2ZfbWF0Y2hfdGFibGUgPSBtdDYzNTlfb2ZfbWF0Y2gsDQorCX0sDQorCS5w cm9iZSA9IG10NjM1OV9wbGF0Zm9ybV9kcml2ZXJfcHJvYmUsDQorfTsNCisNCittb2R1bGVfcGxh dGZvcm1fZHJpdmVyKG10NjM1OV9wbGF0Zm9ybV9kcml2ZXIpDQorDQorLyogTW9kdWxlIGluZm9y bWF0aW9uICovDQorTU9EVUxFX0RFU0NSSVBUSU9OKCJNVDYzNTkgQUxTQSBTb0MgY29kZWMgZHJp dmVyIik7DQorTU9EVUxFX0FVVEhPUigiS2FpQ2hpZWggQ2h1YW5nIDxrYWljaGllaC5jaHVhbmdA bWVkaWF0ZWsuY29tPiIpOw0KK01PRFVMRV9BVVRIT1IoIkVhc29uIFllbiA8ZWFzb24ueWVuQG1l ZGlhdGVrLmNvbT4iKTsNCitNT0RVTEVfTElDRU5TRSgiR1BMIHYyIik7DQpkaWZmIC0tZ2l0IGEv c291bmQvc29jL2NvZGVjcy9tdDYzNTkuaCBiL3NvdW5kL3NvYy9jb2RlY3MvbXQ2MzU5LmgNCm5l dyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwLi4zZWQ5YmQxDQotLS0gL2Rldi9udWxs DQorKysgYi9zb3VuZC9zb2MvY29kZWNzL210NjM1OS5oDQpAQCAtMCwwICsxLDI2NTMgQEANCisv KiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMCAqLw0KKy8qDQorICogQ29weXJpZ2h0 IChDKSAyMDIwIE1lZGlhVGVrIEluYy4NCisgKiBBdXRob3I6IEFyZ3VzIExpbiA8YXJndXMubGlu QG1lZGlhdGVrLmNvbT4NCisgKi8NCisNCisjaWZuZGVmIF9NVDYzNTlfSF8NCisjZGVmaW5lIF9N VDYzNTlfSF8NCisNCisvKioqKioqKioqKioqKlJlZ2lzdGVyIEJpdCBEZWZpbmUqKioqKioqKioq KioqLw0KKyNkZWZpbmUgUE1JQ19BQ0NERVRfSVJRX1NISUZUCQkJCTANCisjZGVmaW5lIFBNSUNf QUNDREVUX0VJTlQwX0lSUV9TSElGVAkJCTINCisjZGVmaW5lIFBNSUNfQUNDREVUX0VJTlQxX0lS UV9TSElGVAkJCTMNCisjZGVmaW5lIFBNSUNfQUNDREVUX0lSUV9DTFJfU0hJRlQJCQk4DQorI2Rl ZmluZSBQTUlDX0FDQ0RFVF9FSU5UMF9JUlFfQ0xSX1NISUZUCQkJMTANCisjZGVmaW5lIFBNSUNf QUNDREVUX0VJTlQxX0lSUV9DTFJfU0hJRlQJCQkxMQ0KKyNkZWZpbmUgUE1JQ19SR19JTlRfU1RB VFVTX0FDQ0RFVF9TSElGVAkJCTUNCisjZGVmaW5lIFBNSUNfUkdfSU5UX1NUQVRVU19BQ0NERVRf RUlOVDBfU0hJRlQJCTYNCisjZGVmaW5lIFBNSUNfUkdfSU5UX1NUQVRVU19BQ0NERVRfRUlOVDFf U0hJRlQJCTcNCisjZGVmaW5lIFBNSUNfUkdfRUlOVDBDT05GSUdBQ0NERVRfU0hJRlQJCQkxMQ0K KyNkZWZpbmUgUE1JQ19SR19FSU5UMUNPTkZJR0FDQ0RFVF9TSElGVAkJCTANCisjZGVmaW5lIFBN SUNfQUNDREVUX0VJTlQwX0lOVkVSVEVSX1NXX0VOX1NISUZUCQk2DQorI2RlZmluZSBQTUlDX0FD Q0RFVF9FSU5UMV9JTlZFUlRFUl9TV19FTl9TSElGVAkJOA0KKyNkZWZpbmUgUE1JQ19SR19NVEVT VF9FTl9TSElGVAkJCQk4DQorI2RlZmluZSBQTUlDX1JHX01URVNUX1NFTF9TSElGVAkJCQk5DQor I2RlZmluZSBQTUlDX0FDQ0RFVF9FSU5UMF9NX1NXX0VOX1NISUZUCQkJMTANCisjZGVmaW5lIFBN SUNfQUNDREVUX0VJTlQxX01fU1dfRU5fU0hJRlQJCQkxMQ0KKyNkZWZpbmUgUE1JQ19BQ0NERVRf RUlOVDBfQ0VOX1NUQUJMRV9TSElGVAkJNQ0KKyNkZWZpbmUgUE1JQ19BQ0NERVRfRUlOVDFfQ0VO X1NUQUJMRV9TSElGVAkJMTANCisjZGVmaW5lIFBNSUNfQUNDREVUX0RBX1NUQUJMRV9TSElGVAkJ CTANCisjZGVmaW5lIFBNSUNfQUNDREVUX0VJTlQwX0VOX1NUQUJMRV9TSElGVAkJMQ0KKyNkZWZp bmUgUE1JQ19BQ0NERVRfRUlOVDBfQ01QRU5fU1RBQkxFX1NISUZUCQkyDQorI2RlZmluZSBQTUlD X0FDQ0RFVF9FSU5UMV9FTl9TVEFCTEVfU0hJRlQJCTYNCisjZGVmaW5lIFBNSUNfQUNDREVUX0VJ TlQxX0NNUEVOX1NUQUJMRV9TSElGVAkJNw0KKyNkZWZpbmUgUE1JQ19BQ0NERVRfRUlOVF9DVFVS Qk9fU0VMX1NISUZUCQk3DQorI2RlZmluZSBQTUlDX0FDQ0RFVF9FSU5UMF9DVFVSQk9fU1dfU0hJ RlQJCTcNCisjZGVmaW5lIFBNSUNfUkdfRUlOVENPTVBWVEhfU0hJRlQJCQk0DQorI2RlZmluZSBQ TUlDX1JHX0VJTlQwSElSRU5CX1NISUZUCQkJMTINCisjZGVmaW5lIFBNSUNfUkdfRUlOVDBOT0hZ U19TSElGVAkJCTEwDQorI2RlZmluZSBQTUlDX0FDQ0RFVF9TV19FTl9TSElGVAkJCQkwDQorI2Rl ZmluZSBQTUlDX0FDQ0RFVF9FSU5UMF9NRU1fSU5fU0hJRlQJCQk2DQorI2RlZmluZSBQTUlDX0FD Q0RFVF9NRU1fSU5fU0hJRlQJCQk2DQorI2RlZmluZSBQTUlDX0FDQ0RFVF9FSU5UX0RFQk9VTkNF MF9TSElGVAkJMA0KKyNkZWZpbmUgUE1JQ19BQ0NERVRfRUlOVF9ERUJPVU5DRTFfU0hJRlQJCTQN CisjZGVmaW5lIFBNSUNfQUNDREVUX0VJTlRfREVCT1VOQ0UyX1NISUZUCQk4DQorI2RlZmluZSBQ TUlDX0FDQ0RFVF9FSU5UX0RFQk9VTkNFM19TSElGVAkJMTINCisjZGVmaW5lIFBNSUNfUkdfQUND REVUMkFVWFNXRU5fU0hJRlQJCQkxNA0KKyNkZWZpbmUgUE1JQ19BVURBQ0NERVRBVVhBRENTV0NU UkxfU0VMX1NISUZUCQk5DQorI2RlZmluZSBQTUlDX0FVREFDQ0RFVEFVWEFEQ1NXQ1RSTF9TV19T SElGVAkJMTANCisjZGVmaW5lIFBNSUNfUkdfRUlOVDBDVFVSQk9fU0hJRlQJCQk1DQorI2RlZmlu ZSBQTUlDX1JHX0VJTlQxQ1RVUkJPX1NISUZUCQkJMTMNCisjZGVmaW5lIFBNSUNfQUNDREVUX0VJ TlRfTV9QTFVHX0lOX05VTV9TSElGVAkJMTINCisjZGVmaW5lIFBNSUNfQUNDREVUX0VJTlRfTV9E RVRFQ1RfRU5fU0hJRlQJCTEyDQorI2RlZmluZSBQTUlDX0FDQ0RFVF9FSU5UMF9TV19FTl9TSElG VAkJCTINCisjZGVmaW5lIFBNSUNfQUNDREVUX0VJTlQxX1NXX0VOX1NISUZUCQkJNA0KKyNkZWZp bmUgUE1JQ19BQ0NERVRfRUlOVF9DTVBNT1VUX1NFTF9TSElGVAkJMTINCisjZGVmaW5lIFBNSUNf QUNDREVUX0VJTlRfQ01QTUVOX1NFTF9TSElGVAkJNg0KKyNkZWZpbmUgUE1JQ19SR19IUExPVVRQ VVRTVEJFTkhfVkFVRFAzMl9TSElGVAkJMA0KKyNkZWZpbmUgUE1JQ19SR19IUFJPVVRQVVRTVEJF TkhfVkFVRFAzMl9TSElGVAkJNA0KKyNkZWZpbmUgUE1JQ19SR19FSU5UMEVOX1NISUZUCQkJCTIN CisjZGVmaW5lIFBNSUNfUkdfRUlOVDFFTl9TSElGVAkJCQkxMA0KKyNkZWZpbmUgUE1JQ19SR19O Q1BfUERESVNfRU5fU0hJRlQJCQkwDQorI2RlZmluZSBQTUlDX1JHX0FDQ0RFVFNQQVJFX1NISUZU CQkJMA0KKyNkZWZpbmUgUE1JQ19SR19BQ0NERVRfUlNUX1NISUZUCQkJMQ0KKyNkZWZpbmUgUE1J Q19SR19BVURNSUNCSUFTMUhWRU5fU0hJRlQJCQkxMg0KKyNkZWZpbmUgUE1JQ19SR19BVURNSUNC SUFTMVZSRUZfU0hJRlQJCQk0DQorI2RlZmluZSBQTUlDX1JHX0FOQUxPR0ZERU5fU0hJRlQJCQkx Mg0KKyNkZWZpbmUgUE1JQ19SR19BVURNSUNCSUFTMURDU1cxUEVOX1NISUZUCQk4DQorI2RlZmlu ZSBQTUlDX1JHX0FVRE1JQ0JJQVMxTE9XUEVOX1NISUZUCQkJMg0KKyNkZWZpbmUgUE1JQ19BQ0NE RVRfU0VRX0lOSVRfU0hJRlQJCQkxDQorI2RlZmluZSBQTUlDX1JHX0VJTlRDT01QVlRIX01BU0sJ CQkweGYNCisjZGVmaW5lIFBNSUNfQUNDREVUX0VJTlQwX01FTV9JTl9NQVNLCQkJMHgzDQorI2Rl ZmluZSBQTUlDX0FDQ0RFVF9FSU5UX0RFQk9VTkNFMF9NQVNLCQkJMHhmDQorI2RlZmluZSBQTUlD X0FDQ0RFVF9FSU5UX0RFQk9VTkNFMV9NQVNLCQkJMHhmDQorI2RlZmluZSBQTUlDX0FDQ0RFVF9F SU5UX0RFQk9VTkNFMl9NQVNLCQkJMHhmDQorI2RlZmluZSBQTUlDX0FDQ0RFVF9FSU5UX0RFQk9V TkNFM19NQVNLCQkJMHhmDQorI2RlZmluZSBQTUlDX0FDQ0RFVF9FSU5UMF9JUlFfU0hJRlQJCQky DQorI2RlZmluZSBQTUlDX0FDQ0RFVF9FSU5UMV9JUlFfU0hJRlQJCQkzDQorDQorLyogQVVERU5D X0FOQV9DT04xNjogKi8NCisjZGVmaW5lIFJHX0FVRF9NSUNCSUFTMV9MT1dQX0VOCQlCSVQoUE1J Q19SR19BVURNSUNCSUFTMUxPV1BFTl9TSElGVCkNCisNCisvKiBBVURFTkNfQU5BX0NPTjE4OiAq Lw0KKyNkZWZpbmUgUkdfQUNDREVUX01PREVfQU5BMTFfTU9ERTEJCQkoMHgwMDBmKQ0KKyNkZWZp bmUgUkdfQUNDREVUX01PREVfQU5BMTFfTU9ERTIJCQkoMHgwMDhmKQ0KKyNkZWZpbmUgUkdfQUND REVUX01PREVfQU5BMTFfTU9ERTYJCQkoMHgwMDhmKQ0KKw0KKy8qIEFVWEFEQ19BREM1OiAgQXV4 YWRjIENINSByZWFkIGRhdGEgKi8NCisjZGVmaW5lIEFVWEFEQ19EQVRBX1JEWV9DSDUJCUJJVCgx NSkNCisjZGVmaW5lIEFVWEFEQ19EQVRBX1BST0NFRURfQ0g1CQlCSVQoMTUpDQorI2RlZmluZSBB VVhBRENfREFUQV9NQVNLCQkJCSgweDBmZmYpDQorDQorLyogQVVYQURDX1JRU1QwX1NFVDogIEF1 eGFkYyBDSDUgcmVxdWVzdCwgcmVsZXZhbnQgMHgwN0VDICovDQorI2RlZmluZSBBVVhBRENfUlFT VF9DSDVfU0VUCQlCSVQoNSkNCisvKiBBVVhBRENfUlFTVDBfQ0xSOiAgQXV4YWRjIENINSByZXF1 ZXN0LCByZWxldmFudCAweDA3RUMgKi8NCisjZGVmaW5lIEFVWEFEQ19SUVNUX0NINV9DTFIJCUJJ VCg1KQ0KKw0KKyNkZWZpbmUgQUNDREVUX0NBTElfTUFTSzAJCQkJKDB4ZmYpDQorI2RlZmluZSBB Q0NERVRfQ0FMSV9NQVNLMQkJCQkoMHhmZiA8PCA4KQ0KKyNkZWZpbmUgQUNDREVUX0NBTElfTUFT SzIJCQkJKDB4ZmYpDQorI2RlZmluZSBBQ0NERVRfQ0FMSV9NQVNLMwkJCQkoMHhmZiA8PCA4KQ0K KyNkZWZpbmUgQUNDREVUX0NBTElfTUFTSzQJCQkJKDB4ZmYpDQorDQorI2RlZmluZSBBQ0NERVRf RUlOVDFfSVJRX0NMUl9CMTEJQklUKFBNSUNfQUNDREVUX0VJTlQxX0lSUV9DTFJfU0hJRlQpDQor I2RlZmluZSBBQ0NERVRfRUlOVDBfSVJRX0NMUl9CMTAJQklUKFBNSUNfQUNDREVUX0VJTlQwX0lS UV9DTFJfU0hJRlQpDQorI2RlZmluZSBBQ0NERVRfRUlOVF9JUlFfQ0xSX0IxMF8xMQkoMHgwMyA8 PCBcDQorCQkJCQkgUE1JQ19BQ0NERVRfRUlOVDBfSVJRX0NMUl9TSElGVCkNCisjZGVmaW5lIEFD Q0RFVF9JUlFfQ0xSX0I4CQlCSVQoUE1JQ19BQ0NERVRfSVJRX0NMUl9TSElGVCkNCisNCisjZGVm aW5lIEFDQ0RFVF9FSU5UMV9JUlFfQjMJCUJJVChQTUlDX0FDQ0RFVF9FSU5UMV9JUlFfU0hJRlQp DQorI2RlZmluZSBBQ0NERVRfRUlOVDBfSVJRX0IyCQlCSVQoUE1JQ19BQ0NERVRfRUlOVDBfSVJR X1NISUZUKQ0KKyNkZWZpbmUgQUNDREVUX0VJTlRfSVJRX0IyX0IzCQkoMHgwMyA8PCBQTUlDX0FD Q0RFVF9FSU5UMF9JUlFfU0hJRlQpDQorI2RlZmluZSBBQ0NERVRfSVJRX0IwCQkJQklUKFBNSUNf QUNDREVUX0lSUV9TSElGVCkNCisNCisvKiBBQ0NERVRfQ09OMjU6IFJPLCBhY2NkZXQgRlNNIHN0 YXRlLGV0Yy4qLw0KKyNkZWZpbmUgQUNDREVUX1NUQVRFX01FTV9JTl9PRkZTRVQJKFBNSUNfQUND REVUX01FTV9JTl9TSElGVCkNCisjZGVmaW5lIEFDQ0RFVF9TVEFURV9BQl9NQVNLCQkJCSgweDAz KQ0KKyNkZWZpbmUgQUNDREVUX1NUQVRFX0FCXzAwCQkJCSgweDAwKQ0KKyNkZWZpbmUgQUNDREVU X1NUQVRFX0FCXzAxCQkJCSgweDAxKQ0KKyNkZWZpbmUgQUNDREVUX1NUQVRFX0FCXzEwCQkJCSgw eDAyKQ0KKyNkZWZpbmUgQUNDREVUX1NUQVRFX0FCXzExCQkJCSgweDAzKQ0KKw0KKy8qIEFDQ0RF VF9DT04xOSAqLw0KKyNkZWZpbmUgQUNDREVUX0VJTlQwX1NUQUJMRV9WQUwgKCgxIDw8IFBNSUNf QUNDREVUX0RBX1NUQUJMRV9TSElGVCkgfCBcDQorCQkJCSgxIDw8IFBNSUNfQUNDREVUX0VJTlQw X0VOX1NUQUJMRV9TSElGVCkgfCBcDQorCQkJCSgxIDw8IFBNSUNfQUNDREVUX0VJTlQwX0NNUEVO X1NUQUJMRV9TSElGVCkgfCBcDQorCQkJCSgxIDw8IFBNSUNfQUNDREVUX0VJTlQwX0NFTl9TVEFC TEVfU0hJRlQpKQ0KKw0KKyNkZWZpbmUgQUNDREVUX0VJTlQxX1NUQUJMRV9WQUwgKCgxIDw8IFBN SUNfQUNDREVUX0RBX1NUQUJMRV9TSElGVCkgfCBcDQorCQkJCSgxIDw8IFBNSUNfQUNDREVUX0VJ TlQxX0VOX1NUQUJMRV9TSElGVCkgfCBcDQorCQkJCSgxIDw8IFBNSUNfQUNDREVUX0VJTlQxX0NN UEVOX1NUQUJMRV9TSElGVCkgfCBcDQorCQkJCSgxIDw8IFBNSUNfQUNDREVUX0VJTlQxX0NFTl9T VEFCTEVfU0hJRlQpKQ0KKw0KKy8qIFRoZSBmb2xsb3dpbmcgYXJlIHVzZWQgZm9yIG10NjM1OS5j ICovDQorLyogTVQ2MzU5X0RDWE9fQ1cxMiAqLw0KKyNkZWZpbmUgUkdfWE9fQVVESU9fRU5fTV9T RlQJCQkJMTMNCisNCisvKiBMRE9fVkFVRDE4X0NPTjAgKi8NCisjZGVmaW5lIFJHX0xET19WQVVE MThfRU5fU0ZUCQkJCTANCisjZGVmaW5lIFJHX0xET19WQVVEMThfRU5fTUFTSwkJCQkweDENCisj ZGVmaW5lIFJHX0xET19WQVVEMThfRU5fTUFTS19TRlQJCQkoMHgxIDw8IDApDQorDQorLyogQVVE X1RPUF9DS1BETl9DT04wICovDQorI2RlZmluZSBSR19WT1cxM01fQ0tfUEROX1NGVAkJCQkxMw0K KyNkZWZpbmUgUkdfVk9XMTNNX0NLX1BETl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfVk9XMTNN X0NLX1BETl9NQVNLX1NGVAkJCSgweDEgPDwgMTMpDQorI2RlZmluZSBSR19WT1czMktfQ0tfUERO X1NGVAkJCQkxMg0KKyNkZWZpbmUgUkdfVk9XMzJLX0NLX1BETl9NQVNLCQkJCTB4MQ0KKyNkZWZp bmUgUkdfVk9XMzJLX0NLX1BETl9NQVNLX1NGVAkJCSgweDEgPDwgMTIpDQorI2RlZmluZSBSR19B VURfSU5UUlBfQ0tfUEROX1NGVAkJCQk4DQorI2RlZmluZSBSR19BVURfSU5UUlBfQ0tfUEROX01B U0sJCQkweDENCisjZGVmaW5lIFJHX0FVRF9JTlRSUF9DS19QRE5fTUFTS19TRlQJCQkoMHgxIDw8 IDgpDQorI2RlZmluZSBSR19QQURfQVVEX0NMS19NSVNPX0NLX1BETl9TRlQJCQk3DQorI2RlZmlu ZSBSR19QQURfQVVEX0NMS19NSVNPX0NLX1BETl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19QQURf QVVEX0NMS19NSVNPX0NLX1BETl9NQVNLX1NGVAkJKDB4MSA8PCA3KQ0KKyNkZWZpbmUgUkdfQVVE TkNQX0NLX1BETl9TRlQJCQkJNg0KKyNkZWZpbmUgUkdfQVVETkNQX0NLX1BETl9NQVNLCQkJCTB4 MQ0KKyNkZWZpbmUgUkdfQVVETkNQX0NLX1BETl9NQVNLX1NGVAkJCSgweDEgPDwgNikNCisjZGVm aW5lIFJHX1pDRDEzTV9DS19QRE5fU0ZUCQkJCTUNCisjZGVmaW5lIFJHX1pDRDEzTV9DS19QRE5f TUFTSwkJCQkweDENCisjZGVmaW5lIFJHX1pDRDEzTV9DS19QRE5fTUFTS19TRlQJCQkoMHgxIDw8 IDUpDQorI2RlZmluZSBSR19BVURJRl9DS19QRE5fU0ZUCQkJCTINCisjZGVmaW5lIFJHX0FVRElG X0NLX1BETl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVESUZfQ0tfUEROX01BU0tfU0ZUCQkJ KDB4MSA8PCAyKQ0KKyNkZWZpbmUgUkdfQVVEX0NLX1BETl9TRlQJCQkJMQ0KKyNkZWZpbmUgUkdf QVVEX0NLX1BETl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEX0NLX1BETl9NQVNLX1NGVAkJ CQkoMHgxIDw8IDEpDQorI2RlZmluZSBSR19BQ0NERVRfQ0tfUEROX1NGVAkJCQkwDQorI2RlZmlu ZSBSR19BQ0NERVRfQ0tfUEROX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19BQ0NERVRfQ0tfUERO X01BU0tfU0ZUCQkJKDB4MSA8PCAwKQ0KKw0KKy8qIEFVRF9UT1BfQ0tQRE5fQ09OMF9TRVQgKi8N CisjZGVmaW5lIFJHX0FVRF9UT1BfQ0tQRE5fQ09OMF9TRVRfU0ZUCQkJMA0KKyNkZWZpbmUgUkdf QVVEX1RPUF9DS1BETl9DT04wX1NFVF9NQVNLCQkJMHgzZmZmDQorI2RlZmluZSBSR19BVURfVE9Q X0NLUEROX0NPTjBfU0VUX01BU0tfU0ZUCQkoMHgzZmZmIDw8IDApDQorDQorLyogQVVEX1RPUF9D S1BETl9DT04wX0NMUiAqLw0KKyNkZWZpbmUgUkdfQVVEX1RPUF9DS1BETl9DT04wX0NMUl9TRlQJ CQkwDQorI2RlZmluZSBSR19BVURfVE9QX0NLUEROX0NPTjBfQ0xSX01BU0sJCQkweDNmZmYNCisj ZGVmaW5lIFJHX0FVRF9UT1BfQ0tQRE5fQ09OMF9DTFJfTUFTS19TRlQJCSgweDNmZmYgPDwgMCkN CisNCisvKiBBVURfVE9QX0NLU0VMX0NPTjAgKi8NCisjZGVmaW5lIFJHX0FVRElGX0NLX0NLU0VM X1NGVAkJCQkzDQorI2RlZmluZSBSR19BVURJRl9DS19DS1NFTF9NQVNLCQkJCTB4MQ0KKyNkZWZp bmUgUkdfQVVESUZfQ0tfQ0tTRUxfTUFTS19TRlQJCQkoMHgxIDw8IDMpDQorI2RlZmluZSBSR19B VURfQ0tfQ0tTRUxfU0ZUCQkJCTINCisjZGVmaW5lIFJHX0FVRF9DS19DS1NFTF9NQVNLCQkJCTB4 MQ0KKyNkZWZpbmUgUkdfQVVEX0NLX0NLU0VMX01BU0tfU0ZUCQkJKDB4MSA8PCAyKQ0KKw0KKy8q IEFVRF9UT1BfQ0tTRUxfQ09OMF9TRVQgKi8NCisjZGVmaW5lIFJHX0FVRF9UT1BfQ0tTRUxfQ09O MF9TRVRfU0ZUCQkJMA0KKyNkZWZpbmUgUkdfQVVEX1RPUF9DS1NFTF9DT04wX1NFVF9NQVNLCQkJ MHhmDQorI2RlZmluZSBSR19BVURfVE9QX0NLU0VMX0NPTjBfU0VUX01BU0tfU0ZUCQkoMHhmIDw8 IDApDQorDQorLyogQVVEX1RPUF9DS1NFTF9DT04wX0NMUiAqLw0KKyNkZWZpbmUgUkdfQVVEX1RP UF9DS1NFTF9DT04wX0NMUl9TRlQJCQkwDQorI2RlZmluZSBSR19BVURfVE9QX0NLU0VMX0NPTjBf Q0xSX01BU0sJCQkweGYNCisjZGVmaW5lIFJHX0FVRF9UT1BfQ0tTRUxfQ09OMF9DTFJfTUFTS19T RlQJCSgweGYgPDwgMCkNCisNCisvKiBBVURfVE9QX0NLVFNUX0NPTjAgKi8NCisjZGVmaW5lIFJH X1ZPVzEzTV9DS19UU1RTRUxfU0ZUCQkJCTkNCisjZGVmaW5lIFJHX1ZPVzEzTV9DS19UU1RTRUxf TUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfVk9XMTNNX0NLX1RTVFNFTF9NQVNLX1NGVAkJCSgweDEg PDwgOSkNCisjZGVmaW5lIFJHX1ZPVzEzTV9DS19UU1RfRElTX1NGVAkJCTgNCisjZGVmaW5lIFJH X1ZPVzEzTV9DS19UU1RfRElTX01BU0sJCQkweDENCisjZGVmaW5lIFJHX1ZPVzEzTV9DS19UU1Rf RElTX01BU0tfU0ZUCQkJKDB4MSA8PCA4KQ0KKyNkZWZpbmUgUkdfQVVEMjZNX0NLX1RTVFNFTF9T RlQJCQkJNA0KKyNkZWZpbmUgUkdfQVVEMjZNX0NLX1RTVFNFTF9NQVNLCQkJMHgxDQorI2RlZmlu ZSBSR19BVUQyNk1fQ0tfVFNUU0VMX01BU0tfU0ZUCQkJKDB4MSA8PCA0KQ0KKyNkZWZpbmUgUkdf QVVESUZfQ0tfVFNUU0VMX1NGVAkJCQkzDQorI2RlZmluZSBSR19BVURJRl9DS19UU1RTRUxfTUFT SwkJCQkweDENCisjZGVmaW5lIFJHX0FVRElGX0NLX1RTVFNFTF9NQVNLX1NGVAkJCSgweDEgPDwg MykNCisjZGVmaW5lIFJHX0FVRF9DS19UU1RTRUxfU0ZUCQkJCTINCisjZGVmaW5lIFJHX0FVRF9D S19UU1RTRUxfTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0FVRF9DS19UU1RTRUxfTUFTS19TRlQJ CQkoMHgxIDw8IDIpDQorI2RlZmluZSBSR19BVUQyNk1fQ0tfVFNUX0RJU19TRlQJCQkwDQorI2Rl ZmluZSBSR19BVUQyNk1fQ0tfVFNUX0RJU19NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVUQyNk1f Q0tfVFNUX0RJU19NQVNLX1NGVAkJCSgweDEgPDwgMCkNCisNCisvKiBBVURfVE9QX0NMS19IV0VO X0NPTjAgKi8NCisjZGVmaW5lIFJHX0FVRF9JTlRSUF9DS19QRE5fSFdFTl9TRlQJCQkwDQorI2Rl ZmluZSBSR19BVURfSU5UUlBfQ0tfUEROX0hXRU5fTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVE X0lOVFJQX0NLX1BETl9IV0VOX01BU0tfU0ZUCQkoMHgxIDw8IDApDQorDQorLyogQVVEX1RPUF9D TEtfSFdFTl9DT04wX1NFVCAqLw0KKyNkZWZpbmUgUkdfQVVEX0lOVFJQX0NLX1BORF9IV0VOX0NP TjBfU0VUX1NGVAkJMA0KKyNkZWZpbmUgUkdfQVVEX0lOVFJQX0NLX1BORF9IV0VOX0NPTjBfU0VU X01BU0sJCTB4ZmZmZg0KKyNkZWZpbmUgUkdfQVVEX0lOVFJQX0NLX1BORF9IV0VOX0NPTjBfU0VU X01BU0tfU0ZUCSgweGZmZmYgPDwgMCkNCisNCisvKiBBVURfVE9QX0NMS19IV0VOX0NPTjBfQ0xS ICovDQorI2RlZmluZSBSR19BVURfSU5UUlBfQ0xLX1BETl9IV0VOX0NPTjBfQ0xSX1NGVAkJMA0K KyNkZWZpbmUgUkdfQVVEX0lOVFJQX0NMS19QRE5fSFdFTl9DT04wX0NMUl9NQVNLCQkweGZmZmYN CisjZGVmaW5lIFJHX0FVRF9JTlRSUF9DTEtfUEROX0hXRU5fQ09OMF9DTFJfTUFTS19TRlQJKDB4 ZmZmZiA8PCAwKQ0KKw0KKy8qIEFVRF9UT1BfUlNUX0NPTjAgKi8NCisjZGVmaW5lIFJHX0FVRE5D UF9SU1RfU0ZUCQkJCTMNCisjZGVmaW5lIFJHX0FVRE5DUF9SU1RfTUFTSwkJCQkweDENCisjZGVm aW5lIFJHX0FVRE5DUF9SU1RfTUFTS19TRlQJCQkJKDB4MSA8PCAzKQ0KKyNkZWZpbmUgUkdfWkNE X1JTVF9TRlQJCQkJCTINCisjZGVmaW5lIFJHX1pDRF9SU1RfTUFTSwkJCQkJMHgxDQorI2RlZmlu ZSBSR19aQ0RfUlNUX01BU0tfU0ZUCQkJCSgweDEgPDwgMikNCisjZGVmaW5lIFJHX0FDQ0RFVF9S U1RfU0ZUCQkJCTENCisjZGVmaW5lIFJHX0FDQ0RFVF9SU1RfTUFTSwkJCQkweDENCisjZGVmaW5l IFJHX0FDQ0RFVF9SU1RfTUFTS19TRlQJCQkJKDB4MSA8PCAxKQ0KKyNkZWZpbmUgUkdfQVVESU9f UlNUX1NGVAkJCQkwDQorI2RlZmluZSBSR19BVURJT19SU1RfTUFTSwkJCQkweDENCisjZGVmaW5l IFJHX0FVRElPX1JTVF9NQVNLX1NGVAkJCQkoMHgxIDw8IDApDQorDQorLyogQVVEX1RPUF9SU1Rf Q09OMF9TRVQgKi8NCisjZGVmaW5lIFJHX0FVRF9UT1BfUlNUX0NPTjBfU0VUX1NGVAkJCTANCisj ZGVmaW5lIFJHX0FVRF9UT1BfUlNUX0NPTjBfU0VUX01BU0sJCQkweGYNCisjZGVmaW5lIFJHX0FV RF9UT1BfUlNUX0NPTjBfU0VUX01BU0tfU0ZUCQkoMHhmIDw8IDApDQorDQorLyogQVVEX1RPUF9S U1RfQ09OMF9DTFIgKi8NCisjZGVmaW5lIFJHX0FVRF9UT1BfUlNUX0NPTjBfQ0xSX1NGVAkJCTAN CisjZGVmaW5lIFJHX0FVRF9UT1BfUlNUX0NPTjBfQ0xSX01BU0sJCQkweGYNCisjZGVmaW5lIFJH X0FVRF9UT1BfUlNUX0NPTjBfQ0xSX01BU0tfU0ZUCQkoMHhmIDw8IDApDQorDQorLyogQVVEX1RP UF9SU1RfQkFOS19DT04wICovDQorI2RlZmluZSBCQU5LX0FVRFpDRF9TV1JTVF9TRlQJCQkJMg0K KyNkZWZpbmUgQkFOS19BVURaQ0RfU1dSU1RfTUFTSwkJCQkweDENCisjZGVmaW5lIEJBTktfQVVE WkNEX1NXUlNUX01BU0tfU0ZUCQkJKDB4MSA8PCAyKQ0KKyNkZWZpbmUgQkFOS19BVURJT19TV1JT VF9TRlQJCQkJMQ0KKyNkZWZpbmUgQkFOS19BVURJT19TV1JTVF9NQVNLCQkJCTB4MQ0KKyNkZWZp bmUgQkFOS19BVURJT19TV1JTVF9NQVNLX1NGVAkJCSgweDEgPDwgMSkNCisjZGVmaW5lIEJBTktf QUNDREVUX1NXUlNUX1NGVAkJCQkwDQorI2RlZmluZSBCQU5LX0FDQ0RFVF9TV1JTVF9NQVNLCQkJ CTB4MQ0KKyNkZWZpbmUgQkFOS19BQ0NERVRfU1dSU1RfTUFTS19TRlQJCQkoMHgxIDw8IDApDQor DQorLyogQUZFX1VMX0RMX0NPTjAgKi8NCisjZGVmaW5lIEFGRV9VTF9MUl9TV0FQX1NGVAkJCQkx NQ0KKyNkZWZpbmUgQUZFX1VMX0xSX1NXQVBfTUFTSwkJCQkweDENCisjZGVmaW5lIEFGRV9VTF9M Ul9TV0FQX01BU0tfU0ZUCQkJCSgweDEgPDwgMTUpDQorI2RlZmluZSBBRkVfRExfTFJfU1dBUF9T RlQJCQkJMTQNCisjZGVmaW5lIEFGRV9ETF9MUl9TV0FQX01BU0sJCQkJMHgxDQorI2RlZmluZSBB RkVfRExfTFJfU1dBUF9NQVNLX1NGVAkJCQkoMHgxIDw8IDE0KQ0KKyNkZWZpbmUgQUZFX09OX1NG VAkJCQkJMA0KKyNkZWZpbmUgQUZFX09OX01BU0sJCQkJCTB4MQ0KKyNkZWZpbmUgQUZFX09OX01B U0tfU0ZUCQkJCQkoMHgxIDw8IDApDQorDQorLyogQUZFX0RMX1NSQzJfQ09OMF9MICovDQorI2Rl ZmluZSBETF8yX1NSQ19PTl9UTVBfQ1RMX1BSRV9TRlQJCQkwDQorI2RlZmluZSBETF8yX1NSQ19P Tl9UTVBfQ1RMX1BSRV9NQVNLCQkJMHgxDQorI2RlZmluZSBETF8yX1NSQ19PTl9UTVBfQ1RMX1BS RV9NQVNLX1NGVAkJKDB4MSA8PCAwKQ0KKw0KKy8qIEFGRV9VTF9TUkNfQ09OMF9IICovDQorI2Rl ZmluZSBDX0RJR01JQ19QSEFTRV9TRUxfQ0gxX0NUTF9TRlQJCQkxMQ0KKyNkZWZpbmUgQ19ESUdN SUNfUEhBU0VfU0VMX0NIMV9DVExfTUFTSwkJCTB4Nw0KKyNkZWZpbmUgQ19ESUdNSUNfUEhBU0Vf U0VMX0NIMV9DVExfTUFTS19TRlQJCSgweDcgPDwgMTEpDQorI2RlZmluZSBDX0RJR01JQ19QSEFT RV9TRUxfQ0gyX0NUTF9TRlQJCQk4DQorI2RlZmluZSBDX0RJR01JQ19QSEFTRV9TRUxfQ0gyX0NU TF9NQVNLCQkJMHg3DQorI2RlZmluZSBDX0RJR01JQ19QSEFTRV9TRUxfQ0gyX0NUTF9NQVNLX1NG VAkJKDB4NyA8PCA4KQ0KKyNkZWZpbmUgQ19UV09fRElHSVRBTF9NSUNfQ1RMX1NGVAkJCTcNCisj ZGVmaW5lIENfVFdPX0RJR0lUQUxfTUlDX0NUTF9NQVNLCQkJMHgxDQorI2RlZmluZSBDX1RXT19E SUdJVEFMX01JQ19DVExfTUFTS19TRlQJCQkoMHgxIDw8IDcpDQorDQorLyogQUZFX1VMX1NSQ19D T04wX0wgKi8NCisjZGVmaW5lIERNSUNfTE9XX1BPV0VSX01PREVfQ1RMX1NGVAkJCTE0DQorI2Rl ZmluZSBETUlDX0xPV19QT1dFUl9NT0RFX0NUTF9NQVNLCQkJMHgzDQorI2RlZmluZSBETUlDX0xP V19QT1dFUl9NT0RFX0NUTF9NQVNLX1NGVAkJKDB4MyA8PCAxNCkNCisjZGVmaW5lIERJR01JQ180 UDMzTV9TRUxfQ1RMX1NGVAkJCTYNCisjZGVmaW5lIERJR01JQ180UDMzTV9TRUxfQ1RMX01BU0sJ CQkweDENCisjZGVmaW5lIERJR01JQ180UDMzTV9TRUxfQ1RMX01BU0tfU0ZUCQkJKDB4MSA8PCA2 KQ0KKyNkZWZpbmUgRElHTUlDXzNQMjVNXzFQNjI1TV9TRUxfQ1RMX1NGVAkJCTUNCisjZGVmaW5l IERJR01JQ18zUDI1TV8xUDYyNU1fU0VMX0NUTF9NQVNLCQkweDENCisjZGVmaW5lIERJR01JQ18z UDI1TV8xUDYyNU1fU0VMX0NUTF9NQVNLX1NGVAkJKDB4MSA8PCA1KQ0KKyNkZWZpbmUgVUxfTE9P UF9CQUNLX01PREVfQ1RMX1NGVAkJCTINCisjZGVmaW5lIFVMX0xPT1BfQkFDS19NT0RFX0NUTF9N QVNLCQkJMHgxDQorI2RlZmluZSBVTF9MT09QX0JBQ0tfTU9ERV9DVExfTUFTS19TRlQJCQkoMHgx IDw8IDIpDQorI2RlZmluZSBVTF9TRE1fM19MRVZFTF9DVExfU0ZUCQkJCTENCisjZGVmaW5lIFVM X1NETV8zX0xFVkVMX0NUTF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgVUxfU0RNXzNfTEVWRUxfQ1RM X01BU0tfU0ZUCQkJKDB4MSA8PCAxKQ0KKyNkZWZpbmUgVUxfU1JDX09OX1RNUF9DVExfU0ZUCQkJ CTANCisjZGVmaW5lIFVMX1NSQ19PTl9UTVBfQ1RMX01BU0sJCQkJMHgxDQorI2RlZmluZSBVTF9T UkNfT05fVE1QX0NUTF9NQVNLX1NGVAkJCSgweDEgPDwgMCkNCisNCisvKiBBRkVfQUREQTZfTF9T UkNfQ09OMF9IICovDQorI2RlZmluZSBBRERBNl9DX0RJR01JQ19QSEFTRV9TRUxfQ0gxX0NUTF9T RlQJCTExDQorI2RlZmluZSBBRERBNl9DX0RJR01JQ19QSEFTRV9TRUxfQ0gxX0NUTF9NQVNLCQkw eDcNCisjZGVmaW5lIEFEREE2X0NfRElHTUlDX1BIQVNFX1NFTF9DSDFfQ1RMX01BU0tfU0ZUCSgw eDcgPDwgMTEpDQorI2RlZmluZSBBRERBNl9DX0RJR01JQ19QSEFTRV9TRUxfQ0gyX0NUTF9TRlQJ CTgNCisjZGVmaW5lIEFEREE2X0NfRElHTUlDX1BIQVNFX1NFTF9DSDJfQ1RMX01BU0sJCTB4Nw0K KyNkZWZpbmUgQUREQTZfQ19ESUdNSUNfUEhBU0VfU0VMX0NIMl9DVExfTUFTS19TRlQJKDB4NyA8 PCA4KQ0KKyNkZWZpbmUgQUREQTZfQ19UV09fRElHSVRBTF9NSUNfQ1RMX1NGVAkJCTcNCisjZGVm aW5lIEFEREE2X0NfVFdPX0RJR0lUQUxfTUlDX0NUTF9NQVNLCQkweDENCisjZGVmaW5lIEFEREE2 X0NfVFdPX0RJR0lUQUxfTUlDX0NUTF9NQVNLX1NGVAkJKDB4MSA8PCA3KQ0KKw0KKy8qIEFGRV9B RERBNl9VTF9TUkNfQ09OMF9MICovDQorI2RlZmluZSBBRERBNl9ETUlDX0xPV19QT1dFUl9NT0RF X0NUTF9TRlQJCTE0DQorI2RlZmluZSBBRERBNl9ETUlDX0xPV19QT1dFUl9NT0RFX0NUTF9NQVNL CQkweDMNCisjZGVmaW5lIEFEREE2X0RNSUNfTE9XX1BPV0VSX01PREVfQ1RMX01BU0tfU0ZUCQko MHgzIDw8IDE0KQ0KKyNkZWZpbmUgQUREQTZfRElHTUlDXzRQMzNNX1NFTF9DVExfU0ZUCQkJNg0K KyNkZWZpbmUgQUREQTZfRElHTUlDXzRQMzNNX1NFTF9DVExfTUFTSwkJCTB4MQ0KKyNkZWZpbmUg QUREQTZfRElHTUlDXzRQMzNNX1NFTF9DVExfTUFTS19TRlQJCSgweDEgPDwgNikNCisjZGVmaW5l IEFEREE2X0RJR01JQ18zUDI1TV8xUDYyNU1fU0VMX0NUTF9TRlQJCTUNCisjZGVmaW5lIEFEREE2 X0RJR01JQ18zUDI1TV8xUDYyNU1fU0VMX0NUTF9NQVNLCQkweDENCisjZGVmaW5lIEFEREE2X0RJ R01JQ18zUDI1TV8xUDYyNU1fU0VMX0NUTF9NQVNLX1NGVAkoMHgxIDw8IDUpDQorI2RlZmluZSBB RERBNl9VTF9MT09QX0JBQ0tfTU9ERV9DVExfU0ZUCQkJMg0KKyNkZWZpbmUgQUREQTZfVUxfTE9P UF9CQUNLX01PREVfQ1RMX01BU0sJCTB4MQ0KKyNkZWZpbmUgQUREQTZfVUxfTE9PUF9CQUNLX01P REVfQ1RMX01BU0tfU0ZUCQkoMHgxIDw8IDIpDQorI2RlZmluZSBBRERBNl9VTF9TRE1fM19MRVZF TF9DVExfU0ZUCQkJMQ0KKyNkZWZpbmUgQUREQTZfVUxfU0RNXzNfTEVWRUxfQ1RMX01BU0sJCQkw eDENCisjZGVmaW5lIEFEREE2X1VMX1NETV8zX0xFVkVMX0NUTF9NQVNLX1NGVAkJKDB4MSA8PCAx KQ0KKyNkZWZpbmUgQUREQTZfVUxfU1JDX09OX1RNUF9DVExfU0ZUCQkJMA0KKyNkZWZpbmUgQURE QTZfVUxfU1JDX09OX1RNUF9DVExfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgQUREQTZfVUxfU1JDX09O X1RNUF9DVExfTUFTS19TRlQJCSgweDEgPDwgMCkNCisNCisvKiBBRkVfVE9QX0NPTjAgKi8NCisj ZGVmaW5lIEFEREE2X01US0FJRl9TSU5FX09OX1NGVAkJCTQNCisjZGVmaW5lIEFEREE2X01US0FJ Rl9TSU5FX09OX01BU0sJCQkweDENCisjZGVmaW5lIEFEREE2X01US0FJRl9TSU5FX09OX01BU0tf U0ZUCQkJKDB4MSA8PCA0KQ0KKyNkZWZpbmUgQUREQTZfVUxfU0lORV9PTl9TRlQJCQkJMw0KKyNk ZWZpbmUgQUREQTZfVUxfU0lORV9PTl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgQUREQTZfVUxfU0lO RV9PTl9NQVNLX1NGVAkJCSgweDEgPDwgMykNCisjZGVmaW5lIE1US0FJRl9TSU5FX09OX1NGVAkJ CQkyDQorI2RlZmluZSBNVEtBSUZfU0lORV9PTl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgTVRLQUlG X1NJTkVfT05fTUFTS19TRlQJCQkJKDB4MSA8PCAyKQ0KKyNkZWZpbmUgVUxfU0lORV9PTl9TRlQJ CQkJCTENCisjZGVmaW5lIFVMX1NJTkVfT05fTUFTSwkJCQkJMHgxDQorI2RlZmluZSBVTF9TSU5F X09OX01BU0tfU0ZUCQkJCSgweDEgPDwgMSkNCisjZGVmaW5lIERMX1NJTkVfT05fU0ZUCQkJCQkw DQorI2RlZmluZSBETF9TSU5FX09OX01BU0sJCQkJCTB4MQ0KKyNkZWZpbmUgRExfU0lORV9PTl9N QVNLX1NGVAkJCQkoMHgxIDw8IDApDQorDQorLyogQVVESU9fVE9QX0NPTjAgKi8NCisjZGVmaW5l IFBETl9BRkVfQ1RMX1NGVAkJCQkJNw0KKyNkZWZpbmUgUEROX0FGRV9DVExfTUFTSwkJCQkweDEN CisjZGVmaW5lIFBETl9BRkVfQ1RMX01BU0tfU0ZUCQkJCSgweDEgPDwgNykNCisjZGVmaW5lIFBE Tl9EQUNfQ1RMX1NGVAkJCQkJNg0KKyNkZWZpbmUgUEROX0RBQ19DVExfTUFTSwkJCQkweDENCisj ZGVmaW5lIFBETl9EQUNfQ1RMX01BU0tfU0ZUCQkJCSgweDEgPDwgNikNCisjZGVmaW5lIFBETl9B RENfQ1RMX1NGVAkJCQkJNQ0KKyNkZWZpbmUgUEROX0FEQ19DVExfTUFTSwkJCQkweDENCisjZGVm aW5lIFBETl9BRENfQ1RMX01BU0tfU0ZUCQkJCSgweDEgPDwgNSkNCisjZGVmaW5lIFBETl9BRERB Nl9BRENfQ1RMX1NGVAkJCQk0DQorI2RlZmluZSBQRE5fQUREQTZfQURDX0NUTF9NQVNLCQkJCTB4 MQ0KKyNkZWZpbmUgUEROX0FEREE2X0FEQ19DVExfTUFTS19TRlQJCQkoMHgxIDw8IDQpDQorI2Rl ZmluZSBQRE5fSTJTX0RMX0NUTF9TRlQJCQkJMw0KKyNkZWZpbmUgUEROX0kyU19ETF9DVExfTUFT SwkJCQkweDENCisjZGVmaW5lIFBETl9JMlNfRExfQ1RMX01BU0tfU0ZUCQkJCSgweDEgPDwgMykN CisjZGVmaW5lIFBXUl9DTEtfRElTX0NUTF9TRlQJCQkJMg0KKyNkZWZpbmUgUFdSX0NMS19ESVNf Q1RMX01BU0sJCQkJMHgxDQorI2RlZmluZSBQV1JfQ0xLX0RJU19DVExfTUFTS19TRlQJCQkoMHgx IDw8IDIpDQorI2RlZmluZSBQRE5fQUZFX1RFU1RNT0RFTF9DVExfU0ZUCQkJMQ0KKyNkZWZpbmUg UEROX0FGRV9URVNUTU9ERUxfQ1RMX01BU0sJCQkweDENCisjZGVmaW5lIFBETl9BRkVfVEVTVE1P REVMX0NUTF9NQVNLX1NGVAkJCSgweDEgPDwgMSkNCisjZGVmaW5lIFBETl9SRVNFUlZFRF9TRlQJ CQkJMA0KKyNkZWZpbmUgUEROX1JFU0VSVkVEX01BU0sJCQkJMHgxDQorI2RlZmluZSBQRE5fUkVT RVJWRURfTUFTS19TRlQJCQkJKDB4MSA8PCAwKQ0KKw0KKy8qIEFGRV9NT05fREVCVUcwICovDQor I2RlZmluZSBBVURJT19TWVNfVE9QX01PTl9TV0FQX1NGVAkJCTE0DQorI2RlZmluZSBBVURJT19T WVNfVE9QX01PTl9TV0FQX01BU0sJCQkweDMNCisjZGVmaW5lIEFVRElPX1NZU19UT1BfTU9OX1NX QVBfTUFTS19TRlQJCQkoMHgzIDw8IDE0KQ0KKyNkZWZpbmUgQVVESU9fU1lTX1RPUF9NT05fU0VM X1NGVAkJCTgNCisjZGVmaW5lIEFVRElPX1NZU19UT1BfTU9OX1NFTF9NQVNLCQkJMHgxZg0KKyNk ZWZpbmUgQVVESU9fU1lTX1RPUF9NT05fU0VMX01BU0tfU0ZUCQkJKDB4MWYgPDwgOCkNCisjZGVm aW5lIEFGRV9NT05fU0VMX1NGVAkJCQkJMA0KKyNkZWZpbmUgQUZFX01PTl9TRUxfTUFTSwkJCQkw eGZmDQorI2RlZmluZSBBRkVfTU9OX1NFTF9NQVNLX1NGVAkJCQkoMHhmZiA8PCAwKQ0KKw0KKy8q IEFGVU5DX0FVRF9DT04wICovDQorI2RlZmluZSBDQ0lfQVVEX0FOQUNLX1NFTF9TRlQJCQkJMTUN CisjZGVmaW5lIENDSV9BVURfQU5BQ0tfU0VMX01BU0sJCQkJMHgxDQorI2RlZmluZSBDQ0lfQVVE X0FOQUNLX1NFTF9NQVNLX1NGVAkJCSgweDEgPDwgMTUpDQorI2RlZmluZSBDQ0lfQVVESU9fRklG T19XUFRSX1NGVAkJCQkxMg0KKyNkZWZpbmUgQ0NJX0FVRElPX0ZJRk9fV1BUUl9NQVNLCQkJMHg3 DQorI2RlZmluZSBDQ0lfQVVESU9fRklGT19XUFRSX01BU0tfU0ZUCQkJKDB4NyA8PCAxMikNCisj ZGVmaW5lIENDSV9TQ1JBTUJMRVJfQ0dfRU5fU0ZUCQkJCTExDQorI2RlZmluZSBDQ0lfU0NSQU1C TEVSX0NHX0VOX01BU0sJCQkweDENCisjZGVmaW5lIENDSV9TQ1JBTUJMRVJfQ0dfRU5fTUFTS19T RlQJCQkoMHgxIDw8IDExKQ0KKyNkZWZpbmUgQ0NJX0xDSF9JTlZfU0ZUCQkJCQkxMA0KKyNkZWZp bmUgQ0NJX0xDSF9JTlZfTUFTSwkJCQkweDENCisjZGVmaW5lIENDSV9MQ0hfSU5WX01BU0tfU0ZU CQkJCSgweDEgPDwgMTApDQorI2RlZmluZSBDQ0lfUkFORF9FTl9TRlQJCQkJCTkNCisjZGVmaW5l IENDSV9SQU5EX0VOX01BU0sJCQkJMHgxDQorI2RlZmluZSBDQ0lfUkFORF9FTl9NQVNLX1NGVAkJ CQkoMHgxIDw8IDkpDQorI2RlZmluZSBDQ0lfU1BMVF9TQ1JNQl9DTEtfT05fU0ZUCQkJOA0KKyNk ZWZpbmUgQ0NJX1NQTFRfU0NSTUJfQ0xLX09OX01BU0sJCQkweDENCisjZGVmaW5lIENDSV9TUExU X1NDUk1CX0NMS19PTl9NQVNLX1NGVAkJCSgweDEgPDwgOCkNCisjZGVmaW5lIENDSV9TUExUX1ND Uk1CX09OX1NGVAkJCQk3DQorI2RlZmluZSBDQ0lfU1BMVF9TQ1JNQl9PTl9NQVNLCQkJCTB4MQ0K KyNkZWZpbmUgQ0NJX1NQTFRfU0NSTUJfT05fTUFTS19TRlQJCQkoMHgxIDw8IDcpDQorI2RlZmlu ZSBDQ0lfQVVEX0lEQUNfVEVTVF9FTl9TRlQJCQk2DQorI2RlZmluZSBDQ0lfQVVEX0lEQUNfVEVT VF9FTl9NQVNLCQkJMHgxDQorI2RlZmluZSBDQ0lfQVVEX0lEQUNfVEVTVF9FTl9NQVNLX1NGVAkJ CSgweDEgPDwgNikNCisjZGVmaW5lIENDSV9aRVJPX1BBRF9ESVNBQkxFX1NGVAkJCTUNCisjZGVm aW5lIENDSV9aRVJPX1BBRF9ESVNBQkxFX01BU0sJCQkweDENCisjZGVmaW5lIENDSV9aRVJPX1BB RF9ESVNBQkxFX01BU0tfU0ZUCQkJKDB4MSA8PCA1KQ0KKyNkZWZpbmUgQ0NJX0FVRF9TUExJVF9U RVNUX0VOX1NGVAkJCTQNCisjZGVmaW5lIENDSV9BVURfU1BMSVRfVEVTVF9FTl9NQVNLCQkJMHgx DQorI2RlZmluZSBDQ0lfQVVEX1NQTElUX1RFU1RfRU5fTUFTS19TRlQJCQkoMHgxIDw8IDQpDQor I2RlZmluZSBDQ0lfQVVEX1NETV9NVVRFTF9TRlQJCQkJMw0KKyNkZWZpbmUgQ0NJX0FVRF9TRE1f TVVURUxfTUFTSwkJCQkweDENCisjZGVmaW5lIENDSV9BVURfU0RNX01VVEVMX01BU0tfU0ZUCQkJ KDB4MSA8PCAzKQ0KKyNkZWZpbmUgQ0NJX0FVRF9TRE1fTVVURVJfU0ZUCQkJCTINCisjZGVmaW5l IENDSV9BVURfU0RNX01VVEVSX01BU0sJCQkJMHgxDQorI2RlZmluZSBDQ0lfQVVEX1NETV9NVVRF Ul9NQVNLX1NGVAkJCSgweDEgPDwgMikNCisjZGVmaW5lIENDSV9BVURfU0RNXzdCSVRfU0VMX1NG VAkJCTENCisjZGVmaW5lIENDSV9BVURfU0RNXzdCSVRfU0VMX01BU0sJCQkweDENCisjZGVmaW5l IENDSV9BVURfU0RNXzdCSVRfU0VMX01BU0tfU0ZUCQkJKDB4MSA8PCAxKQ0KKyNkZWZpbmUgQ0NJ X1NDUkFNQkxFUl9FTl9TRlQJCQkJMA0KKyNkZWZpbmUgQ0NJX1NDUkFNQkxFUl9FTl9NQVNLCQkJ CTB4MQ0KKyNkZWZpbmUgQ0NJX1NDUkFNQkxFUl9FTl9NQVNLX1NGVAkJCSgweDEgPDwgMCkNCisN CisvKiBBRlVOQ19BVURfQ09OMSAqLw0KKyNkZWZpbmUgQVVEX1NETV9URVNUX0xfU0ZUCQkJCTgN CisjZGVmaW5lIEFVRF9TRE1fVEVTVF9MX01BU0sJCQkJMHhmZg0KKyNkZWZpbmUgQVVEX1NETV9U RVNUX0xfTUFTS19TRlQJCQkJKDB4ZmYgPDwgOCkNCisjZGVmaW5lIEFVRF9TRE1fVEVTVF9SX1NG VAkJCQkwDQorI2RlZmluZSBBVURfU0RNX1RFU1RfUl9NQVNLCQkJCTB4ZmYNCisjZGVmaW5lIEFV RF9TRE1fVEVTVF9SX01BU0tfU0ZUCQkJCSgweGZmIDw8IDApDQorDQorLyogQUZVTkNfQVVEX0NP TjIgKi8NCisjZGVmaW5lIENDSV9BVURfREFDX0FOQV9NVVRFX1NGVAkJCTcNCisjZGVmaW5lIEND SV9BVURfREFDX0FOQV9NVVRFX01BU0sJCQkweDENCisjZGVmaW5lIENDSV9BVURfREFDX0FOQV9N VVRFX01BU0tfU0ZUCQkJKDB4MSA8PCA3KQ0KKyNkZWZpbmUgQ0NJX0FVRF9EQUNfQU5BX1JTVEJf U0VMX1NGVAkJCTYNCisjZGVmaW5lIENDSV9BVURfREFDX0FOQV9SU1RCX1NFTF9NQVNLCQkJMHgx DQorI2RlZmluZSBDQ0lfQVVEX0RBQ19BTkFfUlNUQl9TRUxfTUFTS19TRlQJCSgweDEgPDwgNikN CisjZGVmaW5lIENDSV9BVURJT19GSUZPX0NMS0lOX0lOVl9TRlQJCQk0DQorI2RlZmluZSBDQ0lf QVVESU9fRklGT19DTEtJTl9JTlZfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgQ0NJX0FVRElPX0ZJRk9f Q0xLSU5fSU5WX01BU0tfU0ZUCQkoMHgxIDw8IDQpDQorI2RlZmluZSBDQ0lfQVVESU9fRklGT19F TkFCTEVfU0ZUCQkJMw0KKyNkZWZpbmUgQ0NJX0FVRElPX0ZJRk9fRU5BQkxFX01BU0sJCQkweDEN CisjZGVmaW5lIENDSV9BVURJT19GSUZPX0VOQUJMRV9NQVNLX1NGVAkJCSgweDEgPDwgMykNCisj ZGVmaW5lIENDSV9BQ0RfTU9ERV9TRlQJCQkJMg0KKyNkZWZpbmUgQ0NJX0FDRF9NT0RFX01BU0sJ CQkJMHgxDQorI2RlZmluZSBDQ0lfQUNEX01PREVfTUFTS19TRlQJCQkJKDB4MSA8PCAyKQ0KKyNk ZWZpbmUgQ0NJX0FGSUZPX0NMS19QV0RCX1NGVAkJCQkxDQorI2RlZmluZSBDQ0lfQUZJRk9fQ0xL X1BXREJfTUFTSwkJCQkweDENCisjZGVmaW5lIENDSV9BRklGT19DTEtfUFdEQl9NQVNLX1NGVAkJ CSgweDEgPDwgMSkNCisjZGVmaW5lIENDSV9BQ0RfRlVOQ19SU1RCX1NGVAkJCQkwDQorI2RlZmlu ZSBDQ0lfQUNEX0ZVTkNfUlNUQl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgQ0NJX0FDRF9GVU5DX1JT VEJfTUFTS19TRlQJCQkoMHgxIDw8IDApDQorDQorLyogQUZVTkNfQVVEX0NPTjMgKi8NCisjZGVm aW5lIFNETV9BTkExM01fVEVTVENLX1NFTF9TRlQJCQkxNQ0KKyNkZWZpbmUgU0RNX0FOQTEzTV9U RVNUQ0tfU0VMX01BU0sJCQkweDENCisjZGVmaW5lIFNETV9BTkExM01fVEVTVENLX1NFTF9NQVNL X1NGVAkJCSgweDEgPDwgMTUpDQorI2RlZmluZSBTRE1fQU5BMTNNX1RFU1RDS19TUkNfU0VMX1NG VAkJCTEyDQorI2RlZmluZSBTRE1fQU5BMTNNX1RFU1RDS19TUkNfU0VMX01BU0sJCQkweDcNCisj ZGVmaW5lIFNETV9BTkExM01fVEVTVENLX1NSQ19TRUxfTUFTS19TRlQJCSgweDcgPDwgMTIpDQor I2RlZmluZSBTRE1fVEVTVENLX1NSQ19TRUxfU0ZUCQkJCTgNCisjZGVmaW5lIFNETV9URVNUQ0tf U1JDX1NFTF9NQVNLCQkJCTB4Nw0KKyNkZWZpbmUgU0RNX1RFU1RDS19TUkNfU0VMX01BU0tfU0ZU CQkJKDB4NyA8PCA4KQ0KKyNkZWZpbmUgRElHTUlDX1RFU1RDS19TUkNfU0VMX1NGVAkJCTQNCisj ZGVmaW5lIERJR01JQ19URVNUQ0tfU1JDX1NFTF9NQVNLCQkJMHg3DQorI2RlZmluZSBESUdNSUNf VEVTVENLX1NSQ19TRUxfTUFTS19TRlQJCQkoMHg3IDw8IDQpDQorI2RlZmluZSBESUdNSUNfVEVT VENLX1NFTF9TRlQJCQkJMA0KKyNkZWZpbmUgRElHTUlDX1RFU1RDS19TRUxfTUFTSwkJCQkweDEN CisjZGVmaW5lIERJR01JQ19URVNUQ0tfU0VMX01BU0tfU0ZUCQkJKDB4MSA8PCAwKQ0KKw0KKy8q IEFGVU5DX0FVRF9DT040ICovDQorI2RlZmluZSBVTF9GSUZPX1dDTEtfSU5WX1NGVAkJCQk4DQor I2RlZmluZSBVTF9GSUZPX1dDTEtfSU5WX01BU0sJCQkJMHgxDQorI2RlZmluZSBVTF9GSUZPX1dD TEtfSU5WX01BU0tfU0ZUCQkJKDB4MSA8PCA4KQ0KKyNkZWZpbmUgVUxfRklGT19ESUdNSUNfV0RB VEFfVEVTVFNSQ19TRUxfU0ZUCQk2DQorI2RlZmluZSBVTF9GSUZPX0RJR01JQ19XREFUQV9URVNU U1JDX1NFTF9NQVNLCQkweDENCisjZGVmaW5lIFVMX0ZJRk9fRElHTUlDX1dEQVRBX1RFU1RTUkNf U0VMX01BU0tfU0ZUCSgweDEgPDwgNikNCisjZGVmaW5lIFVMX0ZJRk9fV0RBVEFfVEVTVEVOX1NG VAkJCTUNCisjZGVmaW5lIFVMX0ZJRk9fV0RBVEFfVEVTVEVOX01BU0sJCQkweDENCisjZGVmaW5l IFVMX0ZJRk9fV0RBVEFfVEVTVEVOX01BU0tfU0ZUCQkJKDB4MSA8PCA1KQ0KKyNkZWZpbmUgVUxf RklGT19XREFUQV9URVNUU1JDX1NFTF9TRlQJCQk0DQorI2RlZmluZSBVTF9GSUZPX1dEQVRBX1RF U1RTUkNfU0VMX01BU0sJCQkweDENCisjZGVmaW5lIFVMX0ZJRk9fV0RBVEFfVEVTVFNSQ19TRUxf TUFTS19TRlQJCSgweDEgPDwgNCkNCisjZGVmaW5lIFVMX0ZJRk9fV0NMS182UDVNX1RFU1RDS19T RUxfU0ZUCQkgMw0KKyNkZWZpbmUgVUxfRklGT19XQ0xLXzZQNU1fVEVTVENLX1NFTF9NQVNLCQkw eDENCisjZGVmaW5lIFVMX0ZJRk9fV0NMS182UDVNX1RFU1RDS19TRUxfTUFTS19TRlQJCSgweDEg PDwgMykNCisjZGVmaW5lIFVMX0ZJRk9fV0NMS182UDVNX1RFU1RDS19TUkNfU0VMX1NGVAkJMA0K KyNkZWZpbmUgVUxfRklGT19XQ0xLXzZQNU1fVEVTVENLX1NSQ19TRUxfTUFTSwkJMHg3DQorI2Rl ZmluZSBVTF9GSUZPX1dDTEtfNlA1TV9URVNUQ0tfU1JDX1NFTF9NQVNLX1NGVAkoMHg3IDw8IDAp DQorDQorLyogQUZVTkNfQVVEX0NPTjUgKi8NCisjZGVmaW5lIFJfQVVEX0RBQ19QT1NfTEFSR0Vf TU9OT19TRlQJCQk4DQorI2RlZmluZSBSX0FVRF9EQUNfUE9TX0xBUkdFX01PTk9fTUFTSwkJCTB4 ZmYNCisjZGVmaW5lIFJfQVVEX0RBQ19QT1NfTEFSR0VfTU9OT19NQVNLX1NGVAkJKDB4ZmYgPDwg OCkNCisjZGVmaW5lIFJfQVVEX0RBQ19ORUdfTEFSR0VfTU9OT19TRlQJCQkwDQorI2RlZmluZSBS X0FVRF9EQUNfTkVHX0xBUkdFX01PTk9fTUFTSwkJCTB4ZmYNCisjZGVmaW5lIFJfQVVEX0RBQ19O RUdfTEFSR0VfTU9OT19NQVNLX1NGVAkJKDB4ZmYgPDwgMCkNCisNCisvKiBBRlVOQ19BVURfQ09O NiAqLw0KKyNkZWZpbmUgUl9BVURfREFDX1BPU19TTUFMTF9NT05PX1NGVAkJCTEyDQorI2RlZmlu ZSBSX0FVRF9EQUNfUE9TX1NNQUxMX01PTk9fTUFTSwkJCTB4Zg0KKyNkZWZpbmUgUl9BVURfREFD X1BPU19TTUFMTF9NT05PX01BU0tfU0ZUCQkoMHhmIDw8IDEyKQ0KKyNkZWZpbmUgUl9BVURfREFD X05FR19TTUFMTF9NT05PX1NGVAkJCTgNCisjZGVmaW5lIFJfQVVEX0RBQ19ORUdfU01BTExfTU9O T19NQVNLCQkJMHhmDQorI2RlZmluZSBSX0FVRF9EQUNfTkVHX1NNQUxMX01PTk9fTUFTS19TRlQJ CSgweGYgPDwgOCkNCisjZGVmaW5lIFJfQVVEX0RBQ19QT1NfVElOWV9NT05PX1NGVAkJCTYNCisj ZGVmaW5lIFJfQVVEX0RBQ19QT1NfVElOWV9NT05PX01BU0sJCQkweDMNCisjZGVmaW5lIFJfQVVE X0RBQ19QT1NfVElOWV9NT05PX01BU0tfU0ZUCQkoMHgzIDw8IDYpDQorI2RlZmluZSBSX0FVRF9E QUNfTkVHX1RJTllfTU9OT19TRlQJCQk0DQorI2RlZmluZSBSX0FVRF9EQUNfTkVHX1RJTllfTU9O T19NQVNLCQkJMHgzDQorI2RlZmluZSBSX0FVRF9EQUNfTkVHX1RJTllfTU9OT19NQVNLX1NGVAkJ KDB4MyA8PCA0KQ0KKyNkZWZpbmUgUl9BVURfREFDX01PTk9fU0VMX1NGVAkJCQkzDQorI2RlZmlu ZSBSX0FVRF9EQUNfTU9OT19TRUxfTUFTSwkJCQkweDENCisjZGVmaW5lIFJfQVVEX0RBQ19NT05P X1NFTF9NQVNLX1NGVAkJCSgweDEgPDwgMykNCisjZGVmaW5lIFJfQVVEX0RBQ18zVEhfU0VMX1NG VAkJCQkxDQorI2RlZmluZSBSX0FVRF9EQUNfM1RIX1NFTF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUg Ul9BVURfREFDXzNUSF9TRUxfTUFTS19TRlQJCQkoMHgxIDw8IDEpDQorI2RlZmluZSBSX0FVRF9E QUNfU1dfUlNUQl9TRlQJCQkJMA0KKyNkZWZpbmUgUl9BVURfREFDX1NXX1JTVEJfTUFTSwkJCQkw eDENCisjZGVmaW5lIFJfQVVEX0RBQ19TV19SU1RCX01BU0tfU0ZUCQkJKDB4MSA8PCAwKQ0KKw0K Ky8qIEFGVU5DX0FVRF9DT043ICovDQorI2RlZmluZSBVTDJfRElHTUlDX1RFU1RDS19TUkNfU0VM X1NGVAkJCTEwDQorI2RlZmluZSBVTDJfRElHTUlDX1RFU1RDS19TUkNfU0VMX01BU0sJCQkweDcN CisjZGVmaW5lIFVMMl9ESUdNSUNfVEVTVENLX1NSQ19TRUxfTUFTS19TRlQJCSgweDcgPDwgMTAp DQorI2RlZmluZSBVTDJfRElHTUlDX1RFU1RDS19TRUxfU0ZUCQkJOQ0KKyNkZWZpbmUgVUwyX0RJ R01JQ19URVNUQ0tfU0VMX01BU0sJCQkweDENCisjZGVmaW5lIFVMMl9ESUdNSUNfVEVTVENLX1NF TF9NQVNLX1NGVAkJCSgweDEgPDwgOSkNCisjZGVmaW5lIFVMMl9GSUZPX1dDTEtfSU5WX1NGVAkJ CQk4DQorI2RlZmluZSBVTDJfRklGT19XQ0xLX0lOVl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgVUwy X0ZJRk9fV0NMS19JTlZfTUFTS19TRlQJCQkoMHgxIDw8IDgpDQorI2RlZmluZSBVTDJfRklGT19E SUdNSUNfV0RBVEFfVEVTVFNSQ19TRUxfU0ZUCQk2DQorI2RlZmluZSBVTDJfRklGT19ESUdNSUNf V0RBVEFfVEVTVFNSQ19TRUxfTUFTSwkJMHgxDQorI2RlZmluZSBVTDJfRklGT19ESUdNSUNfV0RB VEFfVEVTVFNSQ19TRUxfTUFTS19TRlQJKDB4MSA8PCA2KQ0KKyNkZWZpbmUgVUwyX0ZJRk9fV0RB VEFfVEVTVEVOX1NGVAkJCTUNCisjZGVmaW5lIFVMMl9GSUZPX1dEQVRBX1RFU1RFTl9NQVNLCQkJ MHgxDQorI2RlZmluZSBVTDJfRklGT19XREFUQV9URVNURU5fTUFTS19TRlQJCQkoMHgxIDw8IDUp DQorI2RlZmluZSBVTDJfRklGT19XREFUQV9URVNUU1JDX1NFTF9TRlQJCQk0DQorI2RlZmluZSBV TDJfRklGT19XREFUQV9URVNUU1JDX1NFTF9NQVNLCQkJMHgxDQorI2RlZmluZSBVTDJfRklGT19X REFUQV9URVNUU1JDX1NFTF9NQVNLX1NGVAkJKDB4MSA8PCA0KQ0KKyNkZWZpbmUgVUwyX0ZJRk9f V0NMS182UDVNX1RFU1RDS19TRUxfU0ZUCQkzDQorI2RlZmluZSBVTDJfRklGT19XQ0xLXzZQNU1f VEVTVENLX1NFTF9NQVNLCQkweDENCisjZGVmaW5lIFVMMl9GSUZPX1dDTEtfNlA1TV9URVNUQ0tf U0VMX01BU0tfU0ZUCQkoMHgxIDw8IDMpDQorI2RlZmluZSBVTDJfRklGT19XQ0xLXzZQNU1fVEVT VENLX1NSQ19TRUxfU0ZUCQkwDQorI2RlZmluZSBVTDJfRklGT19XQ0xLXzZQNU1fVEVTVENLX1NS Q19TRUxfTUFTSwkJMHg3DQorI2RlZmluZSBVTDJfRklGT19XQ0xLXzZQNU1fVEVTVENLX1NSQ19T RUxfTUFTS19TRlQJKDB4NyA8PCAwKQ0KKw0KKy8qIEFGVU5DX0FVRF9DT044ICovDQorI2RlZmlu ZSBTUExJVFRFUjJfRElUSEVSX0VOX1NGVAkJCQk5DQorI2RlZmluZSBTUExJVFRFUjJfRElUSEVS X0VOX01BU0sJCQkweDENCisjZGVmaW5lIFNQTElUVEVSMl9ESVRIRVJfRU5fTUFTS19TRlQJCQko MHgxIDw8IDkpDQorI2RlZmluZSBTUExJVFRFUjFfRElUSEVSX0VOX1NGVAkJCQk4DQorI2RlZmlu ZSBTUExJVFRFUjFfRElUSEVSX0VOX01BU0sJCQkweDENCisjZGVmaW5lIFNQTElUVEVSMV9ESVRI RVJfRU5fTUFTS19TRlQJCQkoMHgxIDw8IDgpDQorI2RlZmluZSBTUExJVFRFUjJfRElUSEVSX0dB SU5fU0ZUCQkJNA0KKyNkZWZpbmUgU1BMSVRURVIyX0RJVEhFUl9HQUlOX01BU0sJCQkweGYNCisj ZGVmaW5lIFNQTElUVEVSMl9ESVRIRVJfR0FJTl9NQVNLX1NGVAkJCSgweGYgPDwgNCkNCisjZGVm aW5lIFNQTElUVEVSMV9ESVRIRVJfR0FJTl9TRlQJCQkwDQorI2RlZmluZSBTUExJVFRFUjFfRElU SEVSX0dBSU5fTUFTSwkJCTB4Zg0KKyNkZWZpbmUgU1BMSVRURVIxX0RJVEhFUl9HQUlOX01BU0tf U0ZUCQkJKDB4ZiA8PCAwKQ0KKw0KKy8qIEFGVU5DX0FVRF9DT045ICovDQorI2RlZmluZSBDQ0lf QVVEX0FOQUNLX1NFTF8yTkRfU0ZUCQkJMTUNCisjZGVmaW5lIENDSV9BVURfQU5BQ0tfU0VMXzJO RF9NQVNLCQkJMHgxDQorI2RlZmluZSBDQ0lfQVVEX0FOQUNLX1NFTF8yTkRfTUFTS19TRlQJCQko MHgxIDw8IDE1KQ0KKyNkZWZpbmUgQ0NJX0FVRElPX0ZJRk9fV1BUUl8yTkRfU0ZUCQkJMTINCisj ZGVmaW5lIENDSV9BVURJT19GSUZPX1dQVFJfMk5EX01BU0sJCQkweDcNCisjZGVmaW5lIENDSV9B VURJT19GSUZPX1dQVFJfMk5EX01BU0tfU0ZUCQkoMHg3IDw8IDEyKQ0KKyNkZWZpbmUgQ0NJX1ND UkFNQkxFUl9DR19FTl8yTkRfU0ZUCQkJMTENCisjZGVmaW5lIENDSV9TQ1JBTUJMRVJfQ0dfRU5f Mk5EX01BU0sJCQkweDENCisjZGVmaW5lIENDSV9TQ1JBTUJMRVJfQ0dfRU5fMk5EX01BU0tfU0ZU CQkgKDB4MSA8PCAxMSkNCisjZGVmaW5lIENDSV9MQ0hfSU5WXzJORF9TRlQJCQkJMTANCisjZGVm aW5lIENDSV9MQ0hfSU5WXzJORF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgQ0NJX0xDSF9JTlZfMk5E X01BU0tfU0ZUCQkJKDB4MSA8PCAxMCkNCisjZGVmaW5lIENDSV9SQU5EX0VOXzJORF9TRlQJCQkJ OQ0KKyNkZWZpbmUgQ0NJX1JBTkRfRU5fMk5EX01BU0sJCQkJMHgxDQorI2RlZmluZSBDQ0lfUkFO RF9FTl8yTkRfTUFTS19TRlQJCQkoMHgxIDw8IDkpDQorI2RlZmluZSBDQ0lfU1BMVF9TQ1JNQl9D TEtfT05fMk5EX1NGVAkJCTgNCisjZGVmaW5lIENDSV9TUExUX1NDUk1CX0NMS19PTl8yTkRfTUFT SwkJCTB4MQ0KKyNkZWZpbmUgQ0NJX1NQTFRfU0NSTUJfQ0xLX09OXzJORF9NQVNLX1NGVAkJKDB4 MSA8PCA4KQ0KKyNkZWZpbmUgQ0NJX1NQTFRfU0NSTUJfT05fMk5EX1NGVAkJCTcNCisjZGVmaW5l IENDSV9TUExUX1NDUk1CX09OXzJORF9NQVNLCQkJMHgxDQorI2RlZmluZSBDQ0lfU1BMVF9TQ1JN Ql9PTl8yTkRfTUFTS19TRlQJCQkoMHgxIDw8IDcpDQorI2RlZmluZSBDQ0lfQVVEX0lEQUNfVEVT VF9FTl8yTkRfU0ZUCQkJNg0KKyNkZWZpbmUgQ0NJX0FVRF9JREFDX1RFU1RfRU5fMk5EX01BU0sJ CQkweDENCisjZGVmaW5lIENDSV9BVURfSURBQ19URVNUX0VOXzJORF9NQVNLX1NGVAkJKDB4MSA8 PCA2KQ0KKyNkZWZpbmUgQ0NJX1pFUk9fUEFEX0RJU0FCTEVfMk5EX1NGVAkJCTUNCisjZGVmaW5l IENDSV9aRVJPX1BBRF9ESVNBQkxFXzJORF9NQVNLCQkJMHgxDQorI2RlZmluZSBDQ0lfWkVST19Q QURfRElTQUJMRV8yTkRfTUFTS19TRlQJCSgweDEgPDwgNSkNCisjZGVmaW5lIENDSV9BVURfU1BM SVRfVEVTVF9FTl8yTkRfU0ZUCQkJNA0KKyNkZWZpbmUgQ0NJX0FVRF9TUExJVF9URVNUX0VOXzJO RF9NQVNLCQkJMHgxDQorI2RlZmluZSBDQ0lfQVVEX1NQTElUX1RFU1RfRU5fMk5EX01BU0tfU0ZU CQkoMHgxIDw8IDQpDQorI2RlZmluZSBDQ0lfQVVEX1NETV9NVVRFTF8yTkRfU0ZUCQkJMw0KKyNk ZWZpbmUgQ0NJX0FVRF9TRE1fTVVURUxfMk5EX01BU0sJCQkweDENCisjZGVmaW5lIENDSV9BVURf U0RNX01VVEVMXzJORF9NQVNLX1NGVAkJCSgweDEgPDwgMykNCisjZGVmaW5lIENDSV9BVURfU0RN X01VVEVSXzJORF9TRlQJCQkyDQorI2RlZmluZSBDQ0lfQVVEX1NETV9NVVRFUl8yTkRfTUFTSwkJ CTB4MQ0KKyNkZWZpbmUgQ0NJX0FVRF9TRE1fTVVURVJfMk5EX01BU0tfU0ZUCQkJKDB4MSA8PCAy KQ0KKyNkZWZpbmUgQ0NJX0FVRF9TRE1fN0JJVF9TRUxfMk5EX1NGVAkJCTENCisjZGVmaW5lIEND SV9BVURfU0RNXzdCSVRfU0VMXzJORF9NQVNLCQkJMHgxDQorI2RlZmluZSBDQ0lfQVVEX1NETV83 QklUX1NFTF8yTkRfTUFTS19TRlQJCSgweDEgPDwgMSkNCisjZGVmaW5lIENDSV9TQ1JBTUJMRVJf RU5fMk5EX1NGVAkJCTANCisjZGVmaW5lIENDSV9TQ1JBTUJMRVJfRU5fMk5EX01BU0sJCQkweDEN CisjZGVmaW5lIENDSV9TQ1JBTUJMRVJfRU5fMk5EX01BU0tfU0ZUCQkJKDB4MSA8PCAwKQ0KKw0K Ky8qIEFGVU5DX0FVRF9DT04xMCAqLw0KKyNkZWZpbmUgQVVEX1NETV9URVNUX0xfMk5EX1NGVAkJ CQk4DQorI2RlZmluZSBBVURfU0RNX1RFU1RfTF8yTkRfTUFTSwkJCQkweGZmDQorI2RlZmluZSBB VURfU0RNX1RFU1RfTF8yTkRfTUFTS19TRlQJCQkoMHhmZiA8PCA4KQ0KKyNkZWZpbmUgQVVEX1NE TV9URVNUX1JfMk5EX1NGVAkJCQkwDQorI2RlZmluZSBBVURfU0RNX1RFU1RfUl8yTkRfTUFTSwkJ CQkweGZmDQorI2RlZmluZSBBVURfU0RNX1RFU1RfUl8yTkRfTUFTS19TRlQJCQkoMHhmZiA8PCAw KQ0KKw0KKy8qIEFGVU5DX0FVRF9DT04xMSAqLw0KKyNkZWZpbmUgQ0NJX0FVRF9EQUNfQU5BX01V VEVfMk5EX1NGVAkJCTcNCisjZGVmaW5lIENDSV9BVURfREFDX0FOQV9NVVRFXzJORF9NQVNLCQkJ MHgxDQorI2RlZmluZSBDQ0lfQVVEX0RBQ19BTkFfTVVURV8yTkRfTUFTS19TRlQJCSgweDEgPDwg NykNCisjZGVmaW5lIENDSV9BVURfREFDX0FOQV9SU1RCX1NFTF8yTkRfU0ZUCQk2DQorI2RlZmlu ZSBDQ0lfQVVEX0RBQ19BTkFfUlNUQl9TRUxfMk5EX01BU0sJCTB4MQ0KKyNkZWZpbmUgQ0NJX0FV RF9EQUNfQU5BX1JTVEJfU0VMXzJORF9NQVNLX1NGVAkJKDB4MSA8PCA2KQ0KKyNkZWZpbmUgQ0NJ X0FVRElPX0ZJRk9fQ0xLSU5fSU5WXzJORF9TRlQJCTQNCisjZGVmaW5lIENDSV9BVURJT19GSUZP X0NMS0lOX0lOVl8yTkRfTUFTSwkJMHgxDQorI2RlZmluZSBDQ0lfQVVESU9fRklGT19DTEtJTl9J TlZfMk5EX01BU0tfU0ZUCQkoMHgxIDw8IDQpDQorI2RlZmluZSBDQ0lfQVVESU9fRklGT19FTkFC TEVfMk5EX1NGVAkJCTMNCisjZGVmaW5lIENDSV9BVURJT19GSUZPX0VOQUJMRV8yTkRfTUFTSwkJ CTB4MQ0KKyNkZWZpbmUgQ0NJX0FVRElPX0ZJRk9fRU5BQkxFXzJORF9NQVNLX1NGVAkJKDB4MSA8 PCAzKQ0KKyNkZWZpbmUgQ0NJX0FDRF9NT0RFXzJORF9TRlQJCQkJMg0KKyNkZWZpbmUgQ0NJX0FD RF9NT0RFXzJORF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgQ0NJX0FDRF9NT0RFXzJORF9NQVNLX1NG VAkJCSgweDEgPDwgMikNCisjZGVmaW5lIENDSV9BRklGT19DTEtfUFdEQl8yTkRfU0ZUCQkJMQ0K KyNkZWZpbmUgQ0NJX0FGSUZPX0NMS19QV0RCXzJORF9NQVNLCQkJMHgxDQorI2RlZmluZSBDQ0lf QUZJRk9fQ0xLX1BXREJfMk5EX01BU0tfU0ZUCQkJKDB4MSA8PCAxKQ0KKyNkZWZpbmUgQ0NJX0FD RF9GVU5DX1JTVEJfMk5EX1NGVAkJCTANCisjZGVmaW5lIENDSV9BQ0RfRlVOQ19SU1RCXzJORF9N QVNLCQkJMHgxDQorI2RlZmluZSBDQ0lfQUNEX0ZVTkNfUlNUQl8yTkRfTUFTS19TRlQJCQkoMHgx IDw8IDApDQorDQorLyogQUZVTkNfQVVEX0NPTjEyICovDQorI2RlZmluZSBTUExJVFRFUjJfRElU SEVSX0VOXzJORF9TRlQJCQk5DQorI2RlZmluZSBTUExJVFRFUjJfRElUSEVSX0VOXzJORF9NQVNL CQkJMHgxDQorI2RlZmluZSBTUExJVFRFUjJfRElUSEVSX0VOXzJORF9NQVNLX1NGVAkJKDB4MSA8 PCA5KQ0KKyNkZWZpbmUgU1BMSVRURVIxX0RJVEhFUl9FTl8yTkRfU0ZUCQkJOA0KKyNkZWZpbmUg U1BMSVRURVIxX0RJVEhFUl9FTl8yTkRfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgU1BMSVRURVIxX0RJ VEhFUl9FTl8yTkRfTUFTS19TRlQJCSgweDEgPDwgOCkNCisjZGVmaW5lIFNQTElUVEVSMl9ESVRI RVJfR0FJTl8yTkRfU0ZUCQkJNA0KKyNkZWZpbmUgU1BMSVRURVIyX0RJVEhFUl9HQUlOXzJORF9N QVNLCQkJMHhmDQorI2RlZmluZSBTUExJVFRFUjJfRElUSEVSX0dBSU5fMk5EX01BU0tfU0ZUCQko MHhmIDw8IDQpDQorI2RlZmluZSBTUExJVFRFUjFfRElUSEVSX0dBSU5fMk5EX1NGVAkJCTANCisj ZGVmaW5lIFNQTElUVEVSMV9ESVRIRVJfR0FJTl8yTkRfTUFTSwkJCTB4Zg0KKyNkZWZpbmUgU1BM SVRURVIxX0RJVEhFUl9HQUlOXzJORF9NQVNLX1NGVAkJKDB4ZiA8PCAwKQ0KKw0KKy8qIEFGVU5D X0FVRF9NT04wICovDQorI2RlZmluZSBBVURfU0NSX09VVF9MX1NGVAkJCQk4DQorI2RlZmluZSBB VURfU0NSX09VVF9MX01BU0sJCQkJMHhmZg0KKyNkZWZpbmUgQVVEX1NDUl9PVVRfTF9NQVNLX1NG VAkJCQkoMHhmZiA8PCA4KQ0KKyNkZWZpbmUgQVVEX1NDUl9PVVRfUl9TRlQJCQkJMA0KKyNkZWZp bmUgQVVEX1NDUl9PVVRfUl9NQVNLCQkJCTB4ZmYNCisjZGVmaW5lIEFVRF9TQ1JfT1VUX1JfTUFT S19TRlQJCQkJKDB4ZmYgPDwgMCkNCisNCisvKiBBRlVOQ19BVURfTU9OMSAqLw0KKyNkZWZpbmUg QVVEX1NDUl9PVVRfTF8yTkRfU0ZUCQkJCTgNCisjZGVmaW5lIEFVRF9TQ1JfT1VUX0xfMk5EX01B U0sJCQkJMHhmZg0KKyNkZWZpbmUgQVVEX1NDUl9PVVRfTF8yTkRfTUFTS19TRlQJCQkoMHhmZiA8 PCA4KQ0KKyNkZWZpbmUgQVVEX1NDUl9PVVRfUl8yTkRfU0ZUCQkJCTANCisjZGVmaW5lIEFVRF9T Q1JfT1VUX1JfMk5EX01BU0sJCQkJMHhmZg0KKyNkZWZpbmUgQVVEX1NDUl9PVVRfUl8yTkRfTUFT S19TRlQJCQkoMHhmZiA8PCAwKQ0KKw0KKy8qIEFVRFJDX1RVTkVfTU9OMCAqLw0KKyNkZWZpbmUg QVNZTkNfVEVTVF9PVVRfQkNLX1NGVAkJCQkxNQ0KKyNkZWZpbmUgQVNZTkNfVEVTVF9PVVRfQkNL X01BU0sJCQkJMHgxDQorI2RlZmluZSBBU1lOQ19URVNUX09VVF9CQ0tfTUFTS19TRlQJCQkoMHgx IDw8IDE1KQ0KKyNkZWZpbmUgUkdTX0FVRFJDVFVORTFSRUFEX1NGVAkJCQk4DQorI2RlZmluZSBS R1NfQVVEUkNUVU5FMVJFQURfTUFTSwkJCQkweDFmDQorI2RlZmluZSBSR1NfQVVEUkNUVU5FMVJF QURfTUFTS19TRlQJCQkoMHgxZiA8PCA4KQ0KKyNkZWZpbmUgUkdTX0FVRFJDVFVORTBSRUFEX1NG VAkJCQkwDQorI2RlZmluZSBSR1NfQVVEUkNUVU5FMFJFQURfTUFTSwkJCQkweDFmDQorI2RlZmlu ZSBSR1NfQVVEUkNUVU5FMFJFQURfTUFTS19TRlQJCQkoMHgxZiA8PCAwKQ0KKw0KKy8qIEFGRV9B RERBX01US0FJRl9GSUZPX0NGRzAgKi8NCisjZGVmaW5lIEFGRV9SRVNFUlZFRF9TRlQJCQkJMQ0K KyNkZWZpbmUgQUZFX1JFU0VSVkVEX01BU0sJCQkJMHg3ZmZmDQorI2RlZmluZSBBRkVfUkVTRVJW RURfTUFTS19TRlQJCQkJKDB4N2ZmZiA8PCAxKQ0KKyNkZWZpbmUgUkdfTVRLQUlGX1JYSUZfRklG T19JTlRFTl9TRlQJCQkwDQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9GSUZPX0lOVEVOX01BU0sJ CQkweDENCisjZGVmaW5lIFJHX01US0FJRl9SWElGX0ZJRk9fSU5URU5fTUFTS19TRlQJCSgweDEg PDwgMCkNCisNCisvKiBBRkVfQUREQV9NVEtBSUZfRklGT19MT0dfTU9OMSAqLw0KKyNkZWZpbmUg TVRLQUlGX1JYSUZfV1JfRlVMTF9TVEFUVVNfU0ZUCQkJMQ0KKyNkZWZpbmUgTVRLQUlGX1JYSUZf V1JfRlVMTF9TVEFUVVNfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgTVRLQUlGX1JYSUZfV1JfRlVMTF9T VEFUVVNfTUFTS19TRlQJCSgweDEgPDwgMSkNCisjZGVmaW5lIE1US0FJRl9SWElGX1JEX0VNUFRZ X1NUQVRVU19TRlQJCQkwDQorI2RlZmluZSBNVEtBSUZfUlhJRl9SRF9FTVBUWV9TVEFUVVNfTUFT SwkJMHgxDQorI2RlZmluZSBNVEtBSUZfUlhJRl9SRF9FTVBUWV9TVEFUVVNfTUFTS19TRlQJCSgw eDEgPDwgMCkNCisNCisvKiBBRkVfQUREQV9NVEtBSUZfTU9OMCAqLw0KKyNkZWZpbmUgTVRLQUlG VFhfVjNfU1lOQ19PVVRfU0ZUCQkJMTUNCisjZGVmaW5lIE1US0FJRlRYX1YzX1NZTkNfT1VUX01B U0sJCQkweDENCisjZGVmaW5lIE1US0FJRlRYX1YzX1NZTkNfT1VUX01BU0tfU0ZUCQkJKDB4MSA8 PCAxNSkNCisjZGVmaW5lIE1US0FJRlRYX1YzX1NEQVRBX09VVDNfU0ZUCQkJMTQNCisjZGVmaW5l IE1US0FJRlRYX1YzX1NEQVRBX09VVDNfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgTVRLQUlGVFhfVjNf U0RBVEFfT1VUM19NQVNLX1NGVAkJCSgweDEgPDwgMTQpDQorI2RlZmluZSBNVEtBSUZUWF9WM19T REFUQV9PVVQyX1NGVAkJCTEzDQorI2RlZmluZSBNVEtBSUZUWF9WM19TREFUQV9PVVQyX01BU0sJ CQkweDENCisjZGVmaW5lIE1US0FJRlRYX1YzX1NEQVRBX09VVDJfTUFTS19TRlQJCQkoMHgxIDw8 IDEzKQ0KKyNkZWZpbmUgTVRLQUlGVFhfVjNfU0RBVEFfT1VUMV9TRlQJCQkxMg0KKyNkZWZpbmUg TVRLQUlGVFhfVjNfU0RBVEFfT1VUMV9NQVNLCQkJMHgxDQorI2RlZmluZSBNVEtBSUZUWF9WM19T REFUQV9PVVQxX01BU0tfU0ZUCQkJKDB4MSA8PCAxMikNCisjZGVmaW5lIE1US0FJRl9SWElGX0ZJ Rk9fU1RBVFVTX1NGVAkJCTANCisjZGVmaW5lIE1US0FJRl9SWElGX0ZJRk9fU1RBVFVTX01BU0sJ CQkweGZmZg0KKyNkZWZpbmUgTVRLQUlGX1JYSUZfRklGT19TVEFUVVNfTUFTS19TRlQJCSgweGZm ZiA8PCAwKQ0KKw0KKy8qIEFGRV9BRERBX01US0FJRl9NT04xICovDQorI2RlZmluZSBNVEtBSUZS WF9WM19TWU5DX0lOX1NGVAkJCQkxNQ0KKyNkZWZpbmUgTVRLQUlGUlhfVjNfU1lOQ19JTl9NQVNL CQkJMHgxDQorI2RlZmluZSBNVEtBSUZSWF9WM19TWU5DX0lOX01BU0tfU0ZUCQkJKDB4MSA8PCAx NSkNCisjZGVmaW5lIE1US0FJRlJYX1YzX1NEQVRBX0lOM19TRlQJCQkxNA0KKyNkZWZpbmUgTVRL QUlGUlhfVjNfU0RBVEFfSU4zX01BU0sJCQkweDENCisjZGVmaW5lIE1US0FJRlJYX1YzX1NEQVRB X0lOM19NQVNLX1NGVAkJCSgweDEgPDwgMTQpDQorI2RlZmluZSBNVEtBSUZSWF9WM19TREFUQV9J TjJfU0ZUCQkJMTMNCisjZGVmaW5lIE1US0FJRlJYX1YzX1NEQVRBX0lOMl9NQVNLCQkJMHgxDQor I2RlZmluZSBNVEtBSUZSWF9WM19TREFUQV9JTjJfTUFTS19TRlQJCQkoMHgxIDw8IDEzKQ0KKyNk ZWZpbmUgTVRLQUlGUlhfVjNfU0RBVEFfSU4xX1NGVAkJCTEyDQorI2RlZmluZSBNVEtBSUZSWF9W M19TREFUQV9JTjFfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgTVRLQUlGUlhfVjNfU0RBVEFfSU4xX01B U0tfU0ZUCQkJKDB4MSA8PCAxMikNCisjZGVmaW5lIE1US0FJRl9SWElGX1NFQVJDSF9GQUlMX0ZM QUdfU0ZUCQkxMQ0KKyNkZWZpbmUgTVRLQUlGX1JYSUZfU0VBUkNIX0ZBSUxfRkxBR19NQVNLCQkw eDENCisjZGVmaW5lIE1US0FJRl9SWElGX1NFQVJDSF9GQUlMX0ZMQUdfTUFTS19TRlQJCSgweDEg PDwgMTEpDQorI2RlZmluZSBNVEtBSUZfUlhJRl9JTlZBTElEX0ZMQUdfU0ZUCQkJOA0KKyNkZWZp bmUgTVRLQUlGX1JYSUZfSU5WQUxJRF9GTEFHX01BU0sJCQkweDENCisjZGVmaW5lIE1US0FJRl9S WElGX0lOVkFMSURfRkxBR19NQVNLX1NGVAkJKDB4MSA8PCA4KQ0KKyNkZWZpbmUgTVRLQUlGX1JY SUZfSU5WQUxJRF9DWUNMRV9TRlQJCQkwDQorI2RlZmluZSBNVEtBSUZfUlhJRl9JTlZBTElEX0NZ Q0xFX01BU0sJCQkweGZmDQorI2RlZmluZSBNVEtBSUZfUlhJRl9JTlZBTElEX0NZQ0xFX01BU0tf U0ZUCQkoMHhmZiA8PCAwKQ0KKw0KKy8qIEFGRV9BRERBX01US0FJRl9NT04yICovDQorI2RlZmlu ZSBNVEtBSUZfVFhJRl9JTl9DSDJfU0ZUCQkJCTgNCisjZGVmaW5lIE1US0FJRl9UWElGX0lOX0NI Ml9NQVNLCQkJCTB4ZmYNCisjZGVmaW5lIE1US0FJRl9UWElGX0lOX0NIMl9NQVNLX1NGVAkJCSgw eGZmIDw8IDgpDQorI2RlZmluZSBNVEtBSUZfVFhJRl9JTl9DSDFfU0ZUCQkJCTANCisjZGVmaW5l IE1US0FJRl9UWElGX0lOX0NIMV9NQVNLCQkJCTB4ZmYNCisjZGVmaW5lIE1US0FJRl9UWElGX0lO X0NIMV9NQVNLX1NGVAkJCSgweGZmIDw8IDApDQorDQorLyogQUZFX0FEREE2X01US0FJRl9NT04z ICovDQorI2RlZmluZSBBRERBNl9NVEtBSUZfVFhJRl9JTl9DSDJfU0ZUCQkJOA0KKyNkZWZpbmUg QUREQTZfTVRLQUlGX1RYSUZfSU5fQ0gyX01BU0sJCQkweGZmDQorI2RlZmluZSBBRERBNl9NVEtB SUZfVFhJRl9JTl9DSDJfTUFTS19TRlQJCSgweGZmIDw8IDgpDQorI2RlZmluZSBBRERBNl9NVEtB SUZfVFhJRl9JTl9DSDFfU0ZUCQkJMA0KKyNkZWZpbmUgQUREQTZfTVRLQUlGX1RYSUZfSU5fQ0gx X01BU0sJCQkweGZmDQorI2RlZmluZSBBRERBNl9NVEtBSUZfVFhJRl9JTl9DSDFfTUFTS19TRlQJ CSgweGZmIDw8IDApDQorDQorLyogQUZFX0FEREFfTVRLQUlGX01PTjQgKi8NCisjZGVmaW5lIE1U S0FJRl9SWElGX09VVF9DSDJfU0ZUCQkJCTgNCisjZGVmaW5lIE1US0FJRl9SWElGX09VVF9DSDJf TUFTSwkJCTB4ZmYNCisjZGVmaW5lIE1US0FJRl9SWElGX09VVF9DSDJfTUFTS19TRlQJCQkoMHhm ZiA8PCA4KQ0KKyNkZWZpbmUgTVRLQUlGX1JYSUZfT1VUX0NIMV9TRlQJCQkJMA0KKyNkZWZpbmUg TVRLQUlGX1JYSUZfT1VUX0NIMV9NQVNLCQkJMHhmZg0KKyNkZWZpbmUgTVRLQUlGX1JYSUZfT1VU X0NIMV9NQVNLX1NGVAkJCSgweGZmIDw8IDApDQorDQorLyogQUZFX0FEREFfTVRLQUlGX01PTjUg Ki8NCisjZGVmaW5lIE1US0FJRl9SWElGX09VVF9DSDNfU0ZUCQkJCTANCisjZGVmaW5lIE1US0FJ Rl9SWElGX09VVF9DSDNfTUFTSwkJCTB4ZmYNCisjZGVmaW5lIE1US0FJRl9SWElGX09VVF9DSDNf TUFTS19TRlQJCQkoMHhmZiA8PCAwKQ0KKw0KKy8qIEFGRV9BRERBX01US0FJRl9DRkcwICovDQor I2RlZmluZSBSR19NVEtBSUZfUlhJRl9DTEtJTlZfU0ZUCQkJMTUNCisjZGVmaW5lIFJHX01US0FJ Rl9SWElGX0NMS0lOVl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9DTEtJTlZf TUFTS19TRlQJCQkoMHgxIDw8IDE1KQ0KKyNkZWZpbmUgUkdfQUREQTZfTVRLQUlGX1RYSUZfUFJP VE9DT0wyX1NGVAkJOQ0KKyNkZWZpbmUgUkdfQUREQTZfTVRLQUlGX1RYSUZfUFJPVE9DT0wyX01B U0sJCTB4MQ0KKyNkZWZpbmUgUkdfQUREQTZfTVRLQUlGX1RYSUZfUFJPVE9DT0wyX01BU0tfU0ZU CQkoMHgxIDw8IDkpDQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9QUk9UT0NPTDJfU0ZUCQkJOA0K KyNkZWZpbmUgUkdfTVRLQUlGX1JYSUZfUFJPVE9DT0wyX01BU0sJCQkweDENCisjZGVmaW5lIFJH X01US0FJRl9SWElGX1BST1RPQ09MMl9NQVNLX1NGVAkJKDB4MSA8PCA4KQ0KKyNkZWZpbmUgUkdf TVRLQUlGX0JZUEFTU19TUkNfTU9ERV9TRlQJCQk2DQorI2RlZmluZSBSR19NVEtBSUZfQllQQVNT X1NSQ19NT0RFX01BU0sJCQkweDMNCisjZGVmaW5lIFJHX01US0FJRl9CWVBBU1NfU1JDX01PREVf TUFTS19TRlQJCSgweDMgPDwgNikNCisjZGVmaW5lIFJHX01US0FJRl9CWVBBU1NfU1JDX1RFU1Rf U0ZUCQkJNQ0KKyNkZWZpbmUgUkdfTVRLQUlGX0JZUEFTU19TUkNfVEVTVF9NQVNLCQkJMHgxDQor I2RlZmluZSBSR19NVEtBSUZfQllQQVNTX1NSQ19URVNUX01BU0tfU0ZUCQkoMHgxIDw8IDUpDQor I2RlZmluZSBSR19NVEtBSUZfVFhJRl9QUk9UT0NPTDJfU0ZUCQkJNA0KKyNkZWZpbmUgUkdfTVRL QUlGX1RYSUZfUFJPVE9DT0wyX01BU0sJCQkweDENCisjZGVmaW5lIFJHX01US0FJRl9UWElGX1BS T1RPQ09MMl9NQVNLX1NGVAkJKDB4MSA8PCA0KQ0KKyNkZWZpbmUgUkdfQUREQTZfTVRLQUlGX1BN SUNfVFhJRl84VE81X1NGVAkJMw0KKyNkZWZpbmUgUkdfQUREQTZfTVRLQUlGX1BNSUNfVFhJRl84 VE81X01BU0sJCTB4MQ0KKyNkZWZpbmUgUkdfQUREQTZfTVRLQUlGX1BNSUNfVFhJRl84VE81X01B U0tfU0ZUCQkoMHgxIDw8IDMpDQorI2RlZmluZSBSR19NVEtBSUZfUE1JQ19UWElGXzhUTzVfU0ZU CQkJMg0KKyNkZWZpbmUgUkdfTVRLQUlGX1BNSUNfVFhJRl84VE81X01BU0sJCQkweDENCisjZGVm aW5lIFJHX01US0FJRl9QTUlDX1RYSUZfOFRPNV9NQVNLX1NGVAkJKDB4MSA8PCAyKQ0KKyNkZWZp bmUgUkdfTVRLQUlGX0xPT1BCQUNLX1RFU1QyX1NGVAkJCTENCisjZGVmaW5lIFJHX01US0FJRl9M T09QQkFDS19URVNUMl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19NVEtBSUZfTE9PUEJBQ0tfVEVT VDJfTUFTS19TRlQJCSgweDEgPDwgMSkNCisjZGVmaW5lIFJHX01US0FJRl9MT09QQkFDS19URVNU MV9TRlQJCQkwDQorI2RlZmluZSBSR19NVEtBSUZfTE9PUEJBQ0tfVEVTVDFfTUFTSwkJCTB4MQ0K KyNkZWZpbmUgUkdfTVRLQUlGX0xPT1BCQUNLX1RFU1QxX01BU0tfU0ZUCQkoMHgxIDw8IDApDQor DQorLyogQUZFX0FEREFfTVRLQUlGX1JYX0NGRzAgKi8NCisjZGVmaW5lIFJHX01US0FJRl9SWElG X1ZPSUNFX01PREVfU0ZUCQkJMTINCisjZGVmaW5lIFJHX01US0FJRl9SWElGX1ZPSUNFX01PREVf TUFTSwkJCTB4Zg0KKyNkZWZpbmUgUkdfTVRLQUlGX1JYSUZfVk9JQ0VfTU9ERV9NQVNLX1NGVAkJ KDB4ZiA8PCAxMikNCisjZGVmaW5lIFJHX01US0FJRl9SWElGX0RBVEFfQklUX1NGVAkJCTgNCisj ZGVmaW5lIFJHX01US0FJRl9SWElGX0RBVEFfQklUX01BU0sJCQkweDcNCisjZGVmaW5lIFJHX01U S0FJRl9SWElGX0RBVEFfQklUX01BU0tfU0ZUCQkoMHg3IDw8IDgpDQorI2RlZmluZSBSR19NVEtB SUZfUlhJRl9GSUZPX1JTUF9TRlQJCQk0DQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9GSUZPX1JT UF9NQVNLCQkJMHg3DQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9GSUZPX1JTUF9NQVNLX1NGVAkJ KDB4NyA8PCA0KQ0KKyNkZWZpbmUgUkdfTVRLQUlGX1JYSUZfREVURUNUX09OX1NGVAkJCTMNCisj ZGVmaW5lIFJHX01US0FJRl9SWElGX0RFVEVDVF9PTl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19N VEtBSUZfUlhJRl9ERVRFQ1RfT05fTUFTS19TRlQJCSgweDEgPDwgMykNCisjZGVmaW5lIFJHX01U S0FJRl9SWElGX0RBVEFfTU9ERV9TRlQJCQkwDQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9EQVRB X01PREVfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfTVRLQUlGX1JYSUZfREFUQV9NT0RFX01BU0tf U0ZUCQkoMHgxIDw8IDApDQorDQorLyogQUZFX0FEREFfTVRLQUlGX1JYX0NGRzEgKi8NCisjZGVm aW5lIFJHX01US0FJRl9SWElGX1NZTkNfU0VBUkNIX1RBQkxFX1NGVAkJMTINCisjZGVmaW5lIFJH X01US0FJRl9SWElGX1NZTkNfU0VBUkNIX1RBQkxFX01BU0sJCTB4Zg0KKyNkZWZpbmUgUkdfTVRL QUlGX1JYSUZfU1lOQ19TRUFSQ0hfVEFCTEVfTUFTS19TRlQJKDB4ZiA8PCAxMikNCisjZGVmaW5l IFJHX01US0FJRl9SWElGX0lOVkFMSURfU1lOQ19DSEVDS19ST1VORF9TRlQJOA0KKyNkZWZpbmUg UkdfTVRLQUlGX1JYSUZfSU5WQUxJRF9TWU5DX0NIRUNLX1JPVU5EX01BU0sJMHhmDQorI2RlZmlu ZSBSR19NVEtBSUZfUlhJRl9JTlZBTElEX1NZTkNfQ0hFQ0tfUk9VTkRfTUFTS19TRlQJKDB4ZiA8 PCA4KQ0KKyNkZWZpbmUgUkdfTVRLQUlGX1JYSUZfU1lOQ19DSEVDS19ST1VORF9TRlQJCTQNCisj ZGVmaW5lIFJHX01US0FJRl9SWElGX1NZTkNfQ0hFQ0tfUk9VTkRfTUFTSwkJMHhmDQorI2RlZmlu ZSBSR19NVEtBSUZfUlhJRl9TWU5DX0NIRUNLX1JPVU5EX01BU0tfU0ZUCSgweGYgPDwgNCkNCisj ZGVmaW5lIFJHX01US0FJRl9SWElGX1ZPSUNFX01PREVfUFJPVE9DT0wyX1NGVAkJMA0KKyNkZWZp bmUgUkdfTVRLQUlGX1JYSUZfVk9JQ0VfTU9ERV9QUk9UT0NPTDJfTUFTSwkweGYNCisjZGVmaW5l IFJHX01US0FJRl9SWElGX1ZPSUNFX01PREVfUFJPVE9DT0wyX01BU0tfU0ZUCSgweGYgPDwgMCkN CisNCisvKiBBRkVfQUREQV9NVEtBSUZfUlhfQ0ZHMiAqLw0KKyNkZWZpbmUgUkdfTVRLQUlGX1JY SUZfUDJfSU5QVVRfU0VMX1NGVAkJCTE1DQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9QMl9JTlBV VF9TRUxfTUFTSwkJMHgxDQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9QMl9JTlBVVF9TRUxfTUFT S19TRlQJCSgweDEgPDwgMTUpDQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9TWU5DX1dPUkQyX0RJ U0FCTEVfU0ZUCQkxNA0KKyNkZWZpbmUgUkdfTVRLQUlGX1JYSUZfU1lOQ19XT1JEMl9ESVNBQkxF X01BU0sJCTB4MQ0KKyNkZWZpbmUgUkdfTVRLQUlGX1JYSUZfU1lOQ19XT1JEMl9ESVNBQkxFX01B U0tfU0ZUCSgweDEgPDwgMTQpDQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9TWU5DX1dPUkQxX0RJ U0FCTEVfU0ZUCQkxMw0KKyNkZWZpbmUgUkdfTVRLQUlGX1JYSUZfU1lOQ19XT1JEMV9ESVNBQkxF X01BU0sJCTB4MQ0KKyNkZWZpbmUgUkdfTVRLQUlGX1JYSUZfU1lOQ19XT1JEMV9ESVNBQkxFX01B U0tfU0ZUCSgweDEgPDwgMTMpDQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9DTEVBUl9TWU5DX0ZB SUxfU0ZUCQkxMg0KKyNkZWZpbmUgUkdfTVRLQUlGX1JYSUZfQ0xFQVJfU1lOQ19GQUlMX01BU0sJ CTB4MQ0KKyNkZWZpbmUgUkdfTVRLQUlGX1JYSUZfQ0xFQVJfU1lOQ19GQUlMX01BU0tfU0ZUCQko MHgxIDw8IDEyKQ0KKyNkZWZpbmUgUkdfTVRLQUlGX1JYSUZfU1lOQ19DTlRfVEFCTEVfU0ZUCQkw DQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9TWU5DX0NOVF9UQUJMRV9NQVNLCQkweGZmZg0KKyNk ZWZpbmUgUkdfTVRLQUlGX1JYSUZfU1lOQ19DTlRfVEFCTEVfTUFTS19TRlQJCSgweGZmZiA8PCAw KQ0KKw0KKy8qIEFGRV9BRERBX01US0FJRl9SWF9DRkczICovDQorI2RlZmluZSBSR19NVEtBSUZf UlhJRl9MT09QQkFDS19VU0VfTkxFX1NGVAkJNw0KKyNkZWZpbmUgUkdfTVRLQUlGX1JYSUZfTE9P UEJBQ0tfVVNFX05MRV9NQVNLCQkweDENCisjZGVmaW5lIFJHX01US0FJRl9SWElGX0xPT1BCQUNL X1VTRV9OTEVfTUFTS19TRlQJKDB4MSA8PCA3KQ0KKyNkZWZpbmUgUkdfTVRLQUlGX1JYSUZfRklG T19SU1BfUFJPVE9DT0wyX1NGVAkJNA0KKyNkZWZpbmUgUkdfTVRLQUlGX1JYSUZfRklGT19SU1Bf UFJPVE9DT0wyX01BU0sJCTB4Nw0KKyNkZWZpbmUgUkdfTVRLQUlGX1JYSUZfRklGT19SU1BfUFJP VE9DT0wyX01BU0tfU0ZUCSgweDcgPDwgNCkNCisjZGVmaW5lIFJHX01US0FJRl9SWElGX0RFVEVD VF9PTl9QUk9UT0NPTDJfU0ZUCQkzDQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9ERVRFQ1RfT05f UFJPVE9DT0wyX01BU0sJCTB4MQ0KKyNkZWZpbmUgUkdfTVRLQUlGX1JYSUZfREVURUNUX09OX1BS T1RPQ09MMl9NQVNLX1NGVAkoMHgxIDw8IDMpDQorDQorLyogQUZFX0FEREFfTVRLQUlGX1NZTkNX T1JEX0NGRzAgKi8NCisjZGVmaW5lIFJHX01US0FJRl9SWF9TWU5DX1dPUkQyX1NGVAkJCTQNCisj ZGVmaW5lIFJHX01US0FJRl9SWF9TWU5DX1dPUkQyX01BU0sJCQkweDcNCisjZGVmaW5lIFJHX01U S0FJRl9SWF9TWU5DX1dPUkQyX01BU0tfU0ZUCQkoMHg3IDw8IDQpDQorI2RlZmluZSBSR19NVEtB SUZfUlhfU1lOQ19XT1JEMV9TRlQJCQkwDQorI2RlZmluZSBSR19NVEtBSUZfUlhfU1lOQ19XT1JE MV9NQVNLCQkJMHg3DQorI2RlZmluZSBSR19NVEtBSUZfUlhfU1lOQ19XT1JEMV9NQVNLX1NGVAkJ KDB4NyA8PCAwKQ0KKw0KKy8qIEFGRV9BRERBX01US0FJRl9TWU5DV09SRF9DRkcxICovDQorI2Rl ZmluZSBSR19BRERBNl9NVEtBSUZfVFhfU1lOQ19XT1JEMl9TRlQJCTEyDQorI2RlZmluZSBSR19B RERBNl9NVEtBSUZfVFhfU1lOQ19XT1JEMl9NQVNLCQkweDcNCisjZGVmaW5lIFJHX0FEREE2X01U S0FJRl9UWF9TWU5DX1dPUkQyX01BU0tfU0ZUCQkoMHg3IDw8IDEyKQ0KKyNkZWZpbmUgUkdfQURE QTZfTVRLQUlGX1RYX1NZTkNfV09SRDFfU0ZUCQk4DQorI2RlZmluZSBSR19BRERBNl9NVEtBSUZf VFhfU1lOQ19XT1JEMV9NQVNLCQkweDcNCisjZGVmaW5lIFJHX0FEREE2X01US0FJRl9UWF9TWU5D X1dPUkQxX01BU0tfU0ZUCQkoMHg3IDw8IDgpDQorI2RlZmluZSBSR19BRERBX01US0FJRl9UWF9T WU5DX1dPUkQyX1NGVAkJNA0KKyNkZWZpbmUgUkdfQUREQV9NVEtBSUZfVFhfU1lOQ19XT1JEMl9N QVNLCQkweDcNCisjZGVmaW5lIFJHX0FEREFfTVRLQUlGX1RYX1NZTkNfV09SRDJfTUFTS19TRlQJ CSgweDcgPDwgNCkNCisjZGVmaW5lIFJHX0FEREFfTVRLQUlGX1RYX1NZTkNfV09SRDFfU0ZUCQkw DQorI2RlZmluZSBSR19BRERBX01US0FJRl9UWF9TWU5DX1dPUkQxX01BU0sJCTB4Nw0KKyNkZWZp bmUgUkdfQUREQV9NVEtBSUZfVFhfU1lOQ19XT1JEMV9NQVNLX1NGVAkJKDB4NyA8PCAwKQ0KKw0K Ky8qIEFGRV9TR0VOX0NGRzAgKi8NCisjZGVmaW5lIFNHRU5fQU1QX0RJVl9DSDFfQ1RMX1NGVAkJ CTEyDQorI2RlZmluZSBTR0VOX0FNUF9ESVZfQ0gxX0NUTF9NQVNLCQkJMHhmDQorI2RlZmluZSBT R0VOX0FNUF9ESVZfQ0gxX0NUTF9NQVNLX1NGVAkJCSgweGYgPDwgMTIpDQorI2RlZmluZSBTR0VO X0RBQ19FTl9DVExfU0ZUCQkJCTcNCisjZGVmaW5lIFNHRU5fREFDX0VOX0NUTF9NQVNLCQkJCTB4 MQ0KKyNkZWZpbmUgU0dFTl9EQUNfRU5fQ1RMX01BU0tfU0ZUCQkJKDB4MSA8PCA3KQ0KKyNkZWZp bmUgU0dFTl9NVVRFX1NXX0NUTF9TRlQJCQkJNg0KKyNkZWZpbmUgU0dFTl9NVVRFX1NXX0NUTF9N QVNLCQkJCTB4MQ0KKyNkZWZpbmUgU0dFTl9NVVRFX1NXX0NUTF9NQVNLX1NGVAkJCSgweDEgPDwg NikNCisjZGVmaW5lIFJfQVVEX1NETV9NVVRFX0xfU0ZUCQkJCTUNCisjZGVmaW5lIFJfQVVEX1NE TV9NVVRFX0xfTUFTSwkJCQkweDENCisjZGVmaW5lIFJfQVVEX1NETV9NVVRFX0xfTUFTS19TRlQJ CQkoMHgxIDw8IDUpDQorI2RlZmluZSBSX0FVRF9TRE1fTVVURV9SX1NGVAkJCQk0DQorI2RlZmlu ZSBSX0FVRF9TRE1fTVVURV9SX01BU0sJCQkJMHgxDQorI2RlZmluZSBSX0FVRF9TRE1fTVVURV9S X01BU0tfU0ZUCQkJKDB4MSA8PCA0KQ0KKyNkZWZpbmUgUl9BVURfU0RNX01VVEVfTF8yTkRfU0ZU CQkJMw0KKyNkZWZpbmUgUl9BVURfU0RNX01VVEVfTF8yTkRfTUFTSwkJCTB4MQ0KKyNkZWZpbmUg Ul9BVURfU0RNX01VVEVfTF8yTkRfTUFTS19TRlQJCQkoMHgxIDw8IDMpDQorI2RlZmluZSBSX0FV RF9TRE1fTVVURV9SXzJORF9TRlQJCQkyDQorI2RlZmluZSBSX0FVRF9TRE1fTVVURV9SXzJORF9N QVNLCQkJMHgxDQorI2RlZmluZSBSX0FVRF9TRE1fTVVURV9SXzJORF9NQVNLX1NGVAkJCSgweDEg PDwgMikNCisNCisvKiBBRkVfU0dFTl9DRkcxICovDQorI2RlZmluZSBDX1NHRU5fUkNIX0lOVl81 QklUX1NGVAkJCQkxNQ0KKyNkZWZpbmUgQ19TR0VOX1JDSF9JTlZfNUJJVF9NQVNLCQkJMHgxDQor I2RlZmluZSBDX1NHRU5fUkNIX0lOVl81QklUX01BU0tfU0ZUCQkJKDB4MSA8PCAxNSkNCisjZGVm aW5lIENfU0dFTl9SQ0hfSU5WXzhCSVRfU0ZUCQkJCTE0DQorI2RlZmluZSBDX1NHRU5fUkNIX0lO Vl84QklUX01BU0sJCQkweDENCisjZGVmaW5lIENfU0dFTl9SQ0hfSU5WXzhCSVRfTUFTS19TRlQJ CQkoMHgxIDw8IDE0KQ0KKyNkZWZpbmUgU0dFTl9GUkVRX0RJVl9DSDFfQ1RMX1NGVAkJCTANCisj ZGVmaW5lIFNHRU5fRlJFUV9ESVZfQ0gxX0NUTF9NQVNLCQkJMHgxZg0KKyNkZWZpbmUgU0dFTl9G UkVRX0RJVl9DSDFfQ1RMX01BU0tfU0ZUCQkJKDB4MWYgPDwgMCkNCisNCisvKiBBRkVfQURDX0FT WU5DX0ZJRk9fQ0ZHICovDQorI2RlZmluZSBSR19VTF9BU1lOQ19GSUZPX1NPRlRfUlNUX0VOX1NG VAkJNQ0KKyNkZWZpbmUgUkdfVUxfQVNZTkNfRklGT19TT0ZUX1JTVF9FTl9NQVNLCQkweDENCisj ZGVmaW5lIFJHX1VMX0FTWU5DX0ZJRk9fU09GVF9SU1RfRU5fTUFTS19TRlQJCSgweDEgPDwgNSkN CisjZGVmaW5lIFJHX1VMX0FTWU5DX0ZJRk9fU09GVF9SU1RfU0ZUCQkJNA0KKyNkZWZpbmUgUkdf VUxfQVNZTkNfRklGT19TT0ZUX1JTVF9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19VTF9BU1lOQ19G SUZPX1NPRlRfUlNUX01BU0tfU0ZUCQkoMHgxIDw8IDQpDQorI2RlZmluZSBSR19BTUlDX1VMX0FE Q19DTEtfU0VMX1NGVAkJCTENCisjZGVmaW5lIFJHX0FNSUNfVUxfQURDX0NMS19TRUxfTUFTSwkJ CTB4MQ0KKyNkZWZpbmUgUkdfQU1JQ19VTF9BRENfQ0xLX1NFTF9NQVNLX1NGVAkJCSgweDEgPDwg MSkNCisNCisvKiBBRkVfQURDX0FTWU5DX0ZJRk9fQ0ZHMSAqLw0KKyNkZWZpbmUgUkdfVUwyX0FT WU5DX0ZJRk9fU09GVF9SU1RfRU5fU0ZUCQk1DQorI2RlZmluZSBSR19VTDJfQVNZTkNfRklGT19T T0ZUX1JTVF9FTl9NQVNLCQkweDENCisjZGVmaW5lIFJHX1VMMl9BU1lOQ19GSUZPX1NPRlRfUlNU X0VOX01BU0tfU0ZUCQkoMHgxIDw8IDUpDQorI2RlZmluZSBSR19VTDJfQVNZTkNfRklGT19TT0ZU X1JTVF9TRlQJCQk0DQorI2RlZmluZSBSR19VTDJfQVNZTkNfRklGT19TT0ZUX1JTVF9NQVNLCQkJ MHgxDQorI2RlZmluZSBSR19VTDJfQVNZTkNfRklGT19TT0ZUX1JTVF9NQVNLX1NGVAkJKDB4MSA8 PCA0KQ0KKw0KKy8qIEFGRV9EQ0NMS19DRkcwICovDQorI2RlZmluZSBEQ0NMS19ESVZfU0ZUCQkJ CQk1DQorI2RlZmluZSBEQ0NMS19ESVZfTUFTSwkJCQkJMHg3ZmYNCisjZGVmaW5lIERDQ0xLX0RJ Vl9NQVNLX1NGVAkJCQkoMHg3ZmYgPDwgNSkNCisjZGVmaW5lIERDQ0xLX0lOVl9TRlQJCQkJCTQN CisjZGVmaW5lIERDQ0xLX0lOVl9NQVNLCQkJCQkweDENCisjZGVmaW5lIERDQ0xLX0lOVl9NQVNL X1NGVAkJCQkoMHgxIDw8IDQpDQorI2RlZmluZSBEQ0NMS19SRUZfQ0tfU0VMX1NGVAkJCQkyDQor I2RlZmluZSBEQ0NMS19SRUZfQ0tfU0VMX01BU0sJCQkJMHgzDQorI2RlZmluZSBEQ0NMS19SRUZf Q0tfU0VMX01BU0tfU0ZUCQkJKDB4MyA8PCAyKQ0KKyNkZWZpbmUgRENDTEtfUEROX1NGVAkJCQkJ MQ0KKyNkZWZpbmUgRENDTEtfUEROX01BU0sJCQkJCTB4MQ0KKyNkZWZpbmUgRENDTEtfUEROX01B U0tfU0ZUCQkJCSgweDEgPDwgMSkNCisjZGVmaW5lIERDQ0xLX0dFTl9PTl9TRlQJCQkJMA0KKyNk ZWZpbmUgRENDTEtfR0VOX09OX01BU0sJCQkJMHgxDQorI2RlZmluZSBEQ0NMS19HRU5fT05fTUFT S19TRlQJCQkJKDB4MSA8PCAwKQ0KKw0KKy8qIEFGRV9EQ0NMS19DRkcxICovDQorI2RlZmluZSBS RVNZTkNfU1JDX1NFTF9TRlQJCQkJMTANCisjZGVmaW5lIFJFU1lOQ19TUkNfU0VMX01BU0sJCQkJ MHgzDQorI2RlZmluZSBSRVNZTkNfU1JDX1NFTF9NQVNLX1NGVAkJCQkoMHgzIDw8IDEwKQ0KKyNk ZWZpbmUgUkVTWU5DX1NSQ19DS19JTlZfU0ZUCQkJCTkNCisjZGVmaW5lIFJFU1lOQ19TUkNfQ0tf SU5WX01BU0sJCQkJMHgxDQorI2RlZmluZSBSRVNZTkNfU1JDX0NLX0lOVl9NQVNLX1NGVAkJCSgw eDEgPDwgOSkNCisjZGVmaW5lIERDQ0xLX1JFU1lOQ19CWVBBU1NfU0ZUCQkJCTgNCisjZGVmaW5l IERDQ0xLX1JFU1lOQ19CWVBBU1NfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgRENDTEtfUkVTWU5DX0JZ UEFTU19NQVNLX1NGVAkJCSgweDEgPDwgOCkNCisjZGVmaW5lIERDQ0xLX1BIQVNFX1NFTF9TRlQJ CQkJNA0KKyNkZWZpbmUgRENDTEtfUEhBU0VfU0VMX01BU0sJCQkJMHhmDQorI2RlZmluZSBEQ0NM S19QSEFTRV9TRUxfTUFTS19TRlQJCQkoMHhmIDw8IDQpDQorDQorLyogQVVESU9fRElHX0NGRyAq Lw0KKyNkZWZpbmUgUkdfQVVEX1BBRF9UT1BfREFUX01JU08yX0xPT1BCQUNLX1NGVAkJMTUNCisj ZGVmaW5lIFJHX0FVRF9QQURfVE9QX0RBVF9NSVNPMl9MT09QQkFDS19NQVNLCQkweDENCisjZGVm aW5lIFJHX0FVRF9QQURfVE9QX0RBVF9NSVNPMl9MT09QQkFDS19NQVNLX1NGVAkoMHgxIDw8IDE1 KQ0KKyNkZWZpbmUgUkdfQVVEX1BBRF9UT1BfUEhBU0VfTU9ERTJfU0ZUCQkJOA0KKyNkZWZpbmUg UkdfQVVEX1BBRF9UT1BfUEhBU0VfTU9ERTJfTUFTSwkJCTB4N2YNCisjZGVmaW5lIFJHX0FVRF9Q QURfVE9QX1BIQVNFX01PREUyX01BU0tfU0ZUCQkoMHg3ZiA8PCA4KQ0KKyNkZWZpbmUgUkdfQVVE X1BBRF9UT1BfREFUX01JU09fTE9PUEJBQ0tfU0ZUCQk3DQorI2RlZmluZSBSR19BVURfUEFEX1RP UF9EQVRfTUlTT19MT09QQkFDS19NQVNLCQkweDENCisjZGVmaW5lIFJHX0FVRF9QQURfVE9QX0RB VF9NSVNPX0xPT1BCQUNLX01BU0tfU0ZUCSgweDEgPDwgNykNCisjZGVmaW5lIFJHX0FVRF9QQURf VE9QX1BIQVNFX01PREVfU0ZUCQkJMA0KKyNkZWZpbmUgUkdfQVVEX1BBRF9UT1BfUEhBU0VfTU9E RV9NQVNLCQkJMHg3Zg0KKyNkZWZpbmUgUkdfQVVEX1BBRF9UT1BfUEhBU0VfTU9ERV9NQVNLX1NG VAkJKDB4N2YgPDwgMCkNCisNCisvKiBBVURJT19ESUdfQ0ZHMSAqLw0KKyNkZWZpbmUgUkdfQVVE X1BBRF9UT1BfREFUX01JU08zX0xPT1BCQUNLX1NGVAkJNw0KKyNkZWZpbmUgUkdfQVVEX1BBRF9U T1BfREFUX01JU08zX0xPT1BCQUNLX01BU0sJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEX1BBRF9UT1Bf REFUX01JU08zX0xPT1BCQUNLX01BU0tfU0ZUCSgweDEgPDwgNykNCisjZGVmaW5lIFJHX0FVRF9Q QURfVE9QX1BIQVNFX01PREUzX1NGVAkJCTANCisjZGVmaW5lIFJHX0FVRF9QQURfVE9QX1BIQVNF X01PREUzX01BU0sJCQkweDdmDQorI2RlZmluZSBSR19BVURfUEFEX1RPUF9QSEFTRV9NT0RFM19N QVNLX1NGVAkJKDB4N2YgPDwgMCkNCisNCisvKiBBRkVfQVVEX1BBRF9UT1AgKi8NCisjZGVmaW5l IFJHX0FVRF9QQURfVE9QX1RYX0ZJRk9fUlNQX1NGVAkJCTEyDQorI2RlZmluZSBSR19BVURfUEFE X1RPUF9UWF9GSUZPX1JTUF9NQVNLCQkJMHg3DQorI2RlZmluZSBSR19BVURfUEFEX1RPUF9UWF9G SUZPX1JTUF9NQVNLX1NGVAkJKDB4NyA8PCAxMikNCisjZGVmaW5lIFJHX0FVRF9QQURfVE9QX01U S0FJRl9DTEtfUFJPVE9DT0wyX1NGVAkJMTENCisjZGVmaW5lIFJHX0FVRF9QQURfVE9QX01US0FJ Rl9DTEtfUFJPVE9DT0wyX01BU0sJMHgxDQorI2RlZmluZSBSR19BVURfUEFEX1RPUF9NVEtBSUZf Q0xLX1BST1RPQ09MMl9NQVNLX1NGVAkoMHgxIDw8IDExKQ0KKyNkZWZpbmUgUkdfQVVEX1BBRF9U T1BfVFhfRklGT19PTl9TRlQJCQk4DQorI2RlZmluZSBSR19BVURfUEFEX1RPUF9UWF9GSUZPX09O X01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FVRF9QQURfVE9QX1RYX0ZJRk9fT05fTUFTS19TRlQJ CSgweDEgPDwgOCkNCisNCisvKiBBRkVfQVVEX1BBRF9UT1BfTU9OICovDQorI2RlZmluZSBBRERB X0FVRF9QQURfVE9QX01PTl9TRlQJCQkwDQorI2RlZmluZSBBRERBX0FVRF9QQURfVE9QX01PTl9N QVNLCQkJMHhmZmZmDQorI2RlZmluZSBBRERBX0FVRF9QQURfVE9QX01PTl9NQVNLX1NGVAkJCSgw eGZmZmYgPDwgMCkNCisNCisvKiBBRkVfQVVEX1BBRF9UT1BfTU9OMSAqLw0KKyNkZWZpbmUgQURE QV9BVURfUEFEX1RPUF9NT04xX1NGVAkJCTANCisjZGVmaW5lIEFEREFfQVVEX1BBRF9UT1BfTU9O MV9NQVNLCQkJMHhmZmZmDQorI2RlZmluZSBBRERBX0FVRF9QQURfVE9QX01PTjFfTUFTS19TRlQJ CQkoMHhmZmZmIDw8IDApDQorDQorLyogQUZFX0FVRF9QQURfVE9QX01PTjIgKi8NCisjZGVmaW5l IEFEREFfQVVEX1BBRF9UT1BfTU9OMl9TRlQJCQkwDQorI2RlZmluZSBBRERBX0FVRF9QQURfVE9Q X01PTjJfTUFTSwkJCTB4ZmZmZg0KKyNkZWZpbmUgQUREQV9BVURfUEFEX1RPUF9NT04yX01BU0tf U0ZUCQkJKDB4ZmZmZiA8PCAwKQ0KKw0KKy8qIEFGRV9ETF9OTEVfQ0ZHICovDQorI2RlZmluZSBO TEVfUkNIX0hQR0FJTl9TRUxfU0ZUCQkJCTEwDQorI2RlZmluZSBOTEVfUkNIX0hQR0FJTl9TRUxf TUFTSwkJCQkweDENCisjZGVmaW5lIE5MRV9SQ0hfSFBHQUlOX1NFTF9NQVNLX1NGVAkJCSgweDEg PDwgMTApDQorI2RlZmluZSBOTEVfUkNIX0NIX1NFTF9TRlQJCQkJOQ0KKyNkZWZpbmUgTkxFX1JD SF9DSF9TRUxfTUFTSwkJCQkweDENCisjZGVmaW5lIE5MRV9SQ0hfQ0hfU0VMX01BU0tfU0ZUCQkJ CSgweDEgPDwgOSkNCisjZGVmaW5lIE5MRV9SQ0hfT05fU0ZUCQkJCQk4DQorI2RlZmluZSBOTEVf UkNIX09OX01BU0sJCQkJCTB4MQ0KKyNkZWZpbmUgTkxFX1JDSF9PTl9NQVNLX1NGVAkJCQkoMHgx IDw8IDgpDQorI2RlZmluZSBOTEVfTENIX0hQR0FJTl9TRUxfU0ZUCQkJCTINCisjZGVmaW5lIE5M RV9MQ0hfSFBHQUlOX1NFTF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgTkxFX0xDSF9IUEdBSU5fU0VM X01BU0tfU0ZUCQkJKDB4MSA8PCAyKQ0KKyNkZWZpbmUgTkxFX0xDSF9DSF9TRUxfU0ZUCQkJCTEN CisjZGVmaW5lIE5MRV9MQ0hfQ0hfU0VMX01BU0sJCQkJMHgxDQorI2RlZmluZSBOTEVfTENIX0NI X1NFTF9NQVNLX1NGVAkJCQkoMHgxIDw8IDEpDQorI2RlZmluZSBOTEVfTENIX09OX1NGVAkJCQkJ MA0KKyNkZWZpbmUgTkxFX0xDSF9PTl9NQVNLCQkJCQkweDENCisjZGVmaW5lIE5MRV9MQ0hfT05f TUFTS19TRlQJCQkJKDB4MSA8PCAwKQ0KKw0KKy8qIEFGRV9ETF9OTEVfTU9OICovDQorI2RlZmlu ZSBOTEVfTU9OSVRPUl9TRlQJCQkJCTANCisjZGVmaW5lIE5MRV9NT05JVE9SX01BU0sJCQkJMHgz ZmZmDQorI2RlZmluZSBOTEVfTU9OSVRPUl9NQVNLX1NGVAkJCQkoMHgzZmZmIDw8IDApDQorDQor LyogQUZFX0NHX0VOX01PTiAqLw0KKyNkZWZpbmUgQ0tfQ0dfRU5fTU9OX1NGVAkJCQkwDQorI2Rl ZmluZSBDS19DR19FTl9NT05fTUFTSwkJCQkweDNmDQorI2RlZmluZSBDS19DR19FTl9NT05fTUFT S19TRlQJCQkJKDB4M2YgPDwgMCkNCisNCisvKiBBRkVfTUlDX0FSUkFZX0NGRyAqLw0KKyNkZWZp bmUgUkdfQU1JQ19BREMxX1NPVVJDRV9TRUxfU0ZUCQkJMTANCisjZGVmaW5lIFJHX0FNSUNfQURD MV9TT1VSQ0VfU0VMX01BU0sJCQkweDMNCisjZGVmaW5lIFJHX0FNSUNfQURDMV9TT1VSQ0VfU0VM X01BU0tfU0ZUCQkoMHgzIDw8IDEwKQ0KKyNkZWZpbmUgUkdfQU1JQ19BREMyX1NPVVJDRV9TRUxf U0ZUCQkJOA0KKyNkZWZpbmUgUkdfQU1JQ19BREMyX1NPVVJDRV9TRUxfTUFTSwkJCTB4Mw0KKyNk ZWZpbmUgUkdfQU1JQ19BREMyX1NPVVJDRV9TRUxfTUFTS19TRlQJCSgweDMgPDwgOCkNCisjZGVm aW5lIFJHX0FNSUNfQURDM19TT1VSQ0VfU0VMX1NGVAkJCTYNCisjZGVmaW5lIFJHX0FNSUNfQURD M19TT1VSQ0VfU0VMX01BU0sJCQkweDMNCisjZGVmaW5lIFJHX0FNSUNfQURDM19TT1VSQ0VfU0VM X01BU0tfU0ZUCQkoMHgzIDw8IDYpDQorI2RlZmluZSBSR19ETUlDX0FEQzFfU09VUkNFX1NFTF9T RlQJCQk0DQorI2RlZmluZSBSR19ETUlDX0FEQzFfU09VUkNFX1NFTF9NQVNLCQkJMHgzDQorI2Rl ZmluZSBSR19ETUlDX0FEQzFfU09VUkNFX1NFTF9NQVNLX1NGVAkJKDB4MyA8PCA0KQ0KKyNkZWZp bmUgUkdfRE1JQ19BREMyX1NPVVJDRV9TRUxfU0ZUCQkJMg0KKyNkZWZpbmUgUkdfRE1JQ19BREMy X1NPVVJDRV9TRUxfTUFTSwkJCTB4Mw0KKyNkZWZpbmUgUkdfRE1JQ19BREMyX1NPVVJDRV9TRUxf TUFTS19TRlQJCSgweDMgPDwgMikNCisjZGVmaW5lIFJHX0RNSUNfQURDM19TT1VSQ0VfU0VMX1NG VAkJCTANCisjZGVmaW5lIFJHX0RNSUNfQURDM19TT1VSQ0VfU0VMX01BU0sJCQkweDMNCisjZGVm aW5lIFJHX0RNSUNfQURDM19TT1VSQ0VfU0VMX01BU0tfU0ZUCQkoMHgzIDw8IDApDQorDQorLyog QUZFX0NIT1BfQ0ZHMCAqLw0KKyNkZWZpbmUgUkdfQ0hPUF9ESVZfU0VMX1NGVAkJCQk0DQorI2Rl ZmluZSBSR19DSE9QX0RJVl9TRUxfTUFTSwkJCQkweDFmDQorI2RlZmluZSBSR19DSE9QX0RJVl9T RUxfTUFTS19TRlQJCQkoMHgxZiA8PCA0KQ0KKyNkZWZpbmUgUkdfQ0hPUF9ESVZfRU5fU0ZUCQkJ CTANCisjZGVmaW5lIFJHX0NIT1BfRElWX0VOX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19DSE9Q X0RJVl9FTl9NQVNLX1NGVAkJCQkoMHgxIDw8IDApDQorDQorLyogQUZFX01US0FJRl9NVVhfQ0ZH ICovDQorI2RlZmluZSBSR19BRERBNl9FTl9TRUxfU0ZUCQkJCTEyDQorI2RlZmluZSBSR19BRERB Nl9FTl9TRUxfTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0FEREE2X0VOX1NFTF9NQVNLX1NGVAkJ CSgweDEgPDwgMTIpDQorI2RlZmluZSBSR19BRERBNl9DSDJfU0VMX1NGVAkJCQkxMA0KKyNkZWZp bmUgUkdfQUREQTZfQ0gyX1NFTF9NQVNLCQkJCTB4Mw0KKyNkZWZpbmUgUkdfQUREQTZfQ0gyX1NF TF9NQVNLX1NGVAkJCSgweDMgPDwgMTApDQorI2RlZmluZSBSR19BRERBNl9DSDFfU0VMX1NGVAkJ CQk4DQorI2RlZmluZSBSR19BRERBNl9DSDFfU0VMX01BU0sJCQkJMHgzDQorI2RlZmluZSBSR19B RERBNl9DSDFfU0VMX01BU0tfU0ZUCQkJKDB4MyA8PCA4KQ0KKyNkZWZpbmUgUkdfQUREQV9FTl9T RUxfU0ZUCQkJCTQNCisjZGVmaW5lIFJHX0FEREFfRU5fU0VMX01BU0sJCQkJMHgxDQorI2RlZmlu ZSBSR19BRERBX0VOX1NFTF9NQVNLX1NGVAkJCQkoMHgxIDw8IDQpDQorI2RlZmluZSBSR19BRERB X0NIMl9TRUxfU0ZUCQkJCTINCisjZGVmaW5lIFJHX0FEREFfQ0gyX1NFTF9NQVNLCQkJCTB4Mw0K KyNkZWZpbmUgUkdfQUREQV9DSDJfU0VMX01BU0tfU0ZUCQkJKDB4MyA8PCAyKQ0KKyNkZWZpbmUg UkdfQUREQV9DSDFfU0VMX1NGVAkJCQkwDQorI2RlZmluZSBSR19BRERBX0NIMV9TRUxfTUFTSwkJ CQkweDMNCisjZGVmaW5lIFJHX0FEREFfQ0gxX1NFTF9NQVNLX1NGVAkJCSgweDMgPDwgMCkNCisN CisvKiBBRkVfUE1JQ19ORVdJRl9DRkczICovDQorI2RlZmluZSBSR19VUDhYX1NZTkNfV09SRF9T RlQJCQkJMA0KKyNkZWZpbmUgUkdfVVA4WF9TWU5DX1dPUkRfTUFTSwkJCQkweGZmZmYNCisjZGVm aW5lIFJHX1VQOFhfU1lOQ19XT1JEX01BU0tfU0ZUCQkJKDB4ZmZmZiA8PCAwKQ0KKw0KKy8qIEFG RV9OQ1BfQ0ZHMCAqLw0KKyNkZWZpbmUgIFJHX05DUF9DSzFfVkFMSURfQ05UX1NGVAkJCTkNCisj ZGVmaW5lICBSR19OQ1BfQ0sxX1ZBTElEX0NOVF9NQVNLCQkJMHg3Zg0KKyNkZWZpbmUgIFJHX05D UF9DSzFfVkFMSURfQ05UX01BU0tfU0ZUCQkJKDB4N2YgPDwgOSkNCisjZGVmaW5lIFJHX05DUF9B RElUSF9TRlQJCQkJOA0KKyNkZWZpbmUgUkdfTkNQX0FESVRIX01BU0sJCQkJMHgxDQorI2RlZmlu ZSBSR19OQ1BfQURJVEhfTUFTS19TRlQJCQkJKDB4MSA8PCA4KQ0KKyNkZWZpbmUgUkdfTkNQX0RJ VEhFUl9FTl9TRlQJCQkJNw0KKyNkZWZpbmUgUkdfTkNQX0RJVEhFUl9FTl9NQVNLCQkJCTB4MQ0K KyNkZWZpbmUgUkdfTkNQX0RJVEhFUl9FTl9NQVNLX1NGVAkJCSgweDEgPDwgNykNCisjZGVmaW5l IFJHX05DUF9ESVRIRVJfRklYRURfQ0swX0FDSzFfMlBfU0ZUCQk0DQorI2RlZmluZSBSR19OQ1Bf RElUSEVSX0ZJWEVEX0NLMF9BQ0sxXzJQX01BU0sJCTB4Nw0KKyNkZWZpbmUgUkdfTkNQX0RJVEhF Ul9GSVhFRF9DSzBfQUNLMV8yUF9NQVNLX1NGVAkoMHg3IDw8IDQpDQorI2RlZmluZSBSR19OQ1Bf RElUSEVSX0ZJWEVEX0NLMF9BQ0syXzJQX1NGVAkJMQ0KKyNkZWZpbmUgUkdfTkNQX0RJVEhFUl9G SVhFRF9DSzBfQUNLMl8yUF9NQVNLCQkweDcNCisjZGVmaW5lIFJHX05DUF9ESVRIRVJfRklYRURf Q0swX0FDSzJfMlBfTUFTS19TRlQJKDB4NyA8PCAxKQ0KKyNkZWZpbmUgUkdfTkNQX09OX1NGVAkJ CQkJMA0KKyNkZWZpbmUgUkdfTkNQX09OX01BU0sJCQkJCTB4MQ0KKyNkZWZpbmUgUkdfTkNQX09O X01BU0tfU0ZUCQkJCSgweDEgPDwgMCkNCisNCisvKiBBRkVfTkNQX0NGRzEgKi8NCisjZGVmaW5l IFJHX1hZX1ZBTF9DRkdfRU5fU0ZUCQkJCTE1DQorI2RlZmluZSBSR19YWV9WQUxfQ0ZHX0VOX01B U0sJCQkJMHgxDQorI2RlZmluZSBSR19YWV9WQUxfQ0ZHX0VOX01BU0tfU0ZUCQkJKDB4MSA8PCAx NSkNCisjZGVmaW5lIFJHX1hfVkFMX0NGR19TRlQJCQkJOA0KKyNkZWZpbmUgUkdfWF9WQUxfQ0ZH X01BU0sJCQkJMHg3Zg0KKyNkZWZpbmUgUkdfWF9WQUxfQ0ZHX01BU0tfU0ZUCQkJCSgweDdmIDw8 IDgpDQorI2RlZmluZSBSR19ZX1ZBTF9DRkdfU0ZUCQkJCTANCisjZGVmaW5lIFJHX1lfVkFMX0NG R19NQVNLCQkJCTB4N2YNCisjZGVmaW5lIFJHX1lfVkFMX0NGR19NQVNLX1NGVAkJCQkoMHg3ZiA8 PCAwKQ0KKw0KKy8qIEFGRV9OQ1BfQ0ZHMiAqLw0KKyNkZWZpbmUgUkdfTkNQX05PTkNMS19TRVRf U0ZUCQkJCTENCisjZGVmaW5lIFJHX05DUF9OT05DTEtfU0VUX01BU0sJCQkJMHgxDQorI2RlZmlu ZSBSR19OQ1BfTk9OQ0xLX1NFVF9NQVNLX1NGVAkJCSgweDEgPDwgMSkNCisjZGVmaW5lIFJHX05D UF9QRERJU19FTl9TRlQJCQkJMA0KKyNkZWZpbmUgUkdfTkNQX1BERElTX0VOX01BU0sJCQkJMHgx DQorI2RlZmluZSBSR19OQ1BfUERESVNfRU5fTUFTS19TRlQJCQkoMHgxIDw8IDApDQorDQorLyog QVVERU5DX0FOQV9DT04wICovDQorI2RlZmluZSBSR19BVURQUkVBTVBMT05fU0ZUCQkJCTANCisj ZGVmaW5lIFJHX0FVRFBSRUFNUExPTl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEUFJFQU1Q TE9OX01BU0tfU0ZUCQkJKDB4MSA8PCAwKQ0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QTERDQ0VOX1NG VAkJCQkxDQorI2RlZmluZSBSR19BVURQUkVBTVBMRENDRU5fTUFTSwkJCQkweDENCisjZGVmaW5l IFJHX0FVRFBSRUFNUExEQ0NFTl9NQVNLX1NGVAkJCSgweDEgPDwgMSkNCisjZGVmaW5lIFJHX0FV RFBSRUFNUExEQ1BSRUNIQVJHRV9TRlQJCQkyDQorI2RlZmluZSBSR19BVURQUkVBTVBMRENQUkVD SEFSR0VfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QTERDUFJFQ0hBUkdFX01BU0tf U0ZUCQkoMHgxIDw8IDIpDQorI2RlZmluZSBSR19BVURQUkVBTVBMUEdBVEVTVF9TRlQJCQkzDQor I2RlZmluZSBSR19BVURQUkVBTVBMUEdBVEVTVF9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURQ UkVBTVBMUEdBVEVTVF9NQVNLX1NGVAkJCSgweDEgPDwgMykNCisjZGVmaW5lIFJHX0FVRFBSRUFN UExWU0NBTEVfU0ZUCQkJCTQNCisjZGVmaW5lIFJHX0FVRFBSRUFNUExWU0NBTEVfTUFTSwkJCTB4 Mw0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QTFZTQ0FMRV9NQVNLX1NGVAkJCSgweDMgPDwgNCkNCisj ZGVmaW5lIFJHX0FVRFBSRUFNUExJTlBVVFNFTF9TRlQJCQk2DQorI2RlZmluZSBSR19BVURQUkVB TVBMSU5QVVRTRUxfTUFTSwkJCTB4Mw0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QTElOUFVUU0VMX01B U0tfU0ZUCQkJKDB4MyA8PCA2KQ0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QTEdBSU5fU0ZUCQkJCTgN CisjZGVmaW5lIFJHX0FVRFBSRUFNUExHQUlOX01BU0sJCQkJMHg3DQorI2RlZmluZSBSR19BVURQ UkVBTVBMR0FJTl9NQVNLX1NGVAkJCSgweDcgPDwgOCkNCisjZGVmaW5lIFJHX0JVTEtMX1ZDTV9F Tl9TRlQJCQkJMTENCisjZGVmaW5lIFJHX0JVTEtMX1ZDTV9FTl9NQVNLCQkJCTB4MQ0KKyNkZWZp bmUgUkdfQlVMS0xfVkNNX0VOX01BU0tfU0ZUCQkJKDB4MSA8PCAxMSkNCisjZGVmaW5lIFJHX0FV REFEQ0xQV1JVUF9TRlQJCQkJMTINCisjZGVmaW5lIFJHX0FVREFEQ0xQV1JVUF9NQVNLCQkJCTB4 MQ0KKyNkZWZpbmUgUkdfQVVEQURDTFBXUlVQX01BU0tfU0ZUCQkJKDB4MSA8PCAxMikNCisjZGVm aW5lIFJHX0FVREFEQ0xJTlBVVFNFTF9TRlQJCQkJMTMNCisjZGVmaW5lIFJHX0FVREFEQ0xJTlBV VFNFTF9NQVNLCQkJCTB4Mw0KKyNkZWZpbmUgUkdfQVVEQURDTElOUFVUU0VMX01BU0tfU0ZUCQkJ KDB4MyA8PCAxMykNCisNCisvKiBBVURFTkNfQU5BX0NPTjEgKi8NCisjZGVmaW5lIFJHX0FVRFBS RUFNUFJPTl9TRlQJCQkJMA0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QUk9OX01BU0sJCQkJMHgxDQor I2RlZmluZSBSR19BVURQUkVBTVBST05fTUFTS19TRlQJCQkoMHgxIDw8IDApDQorI2RlZmluZSBS R19BVURQUkVBTVBSRENDRU5fU0ZUCQkJCTENCisjZGVmaW5lIFJHX0FVRFBSRUFNUFJEQ0NFTl9N QVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QUkRDQ0VOX01BU0tfU0ZUCQkJKDB4MSA8 PCAxKQ0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QUkRDUFJFQ0hBUkdFX1NGVAkJCTINCisjZGVmaW5l IFJHX0FVRFBSRUFNUFJEQ1BSRUNIQVJHRV9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURQUkVB TVBSRENQUkVDSEFSR0VfTUFTS19TRlQJCSgweDEgPDwgMikNCisjZGVmaW5lIFJHX0FVRFBSRUFN UFJQR0FURVNUX1NGVAkJCTMNCisjZGVmaW5lIFJHX0FVRFBSRUFNUFJQR0FURVNUX01BU0sJCQkw eDENCisjZGVmaW5lIFJHX0FVRFBSRUFNUFJQR0FURVNUX01BU0tfU0ZUCQkJKDB4MSA8PCAzKQ0K KyNkZWZpbmUgUkdfQVVEUFJFQU1QUlZTQ0FMRV9TRlQJCQkJNA0KKyNkZWZpbmUgUkdfQVVEUFJF QU1QUlZTQ0FMRV9NQVNLCQkJMHgzDQorI2RlZmluZSBSR19BVURQUkVBTVBSVlNDQUxFX01BU0tf U0ZUCQkJKDB4MyA8PCA0KQ0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QUklOUFVUU0VMX1NGVAkJCTYN CisjZGVmaW5lIFJHX0FVRFBSRUFNUFJJTlBVVFNFTF9NQVNLCQkJMHgzDQorI2RlZmluZSBSR19B VURQUkVBTVBSSU5QVVRTRUxfTUFTS19TRlQJCQkoMHgzIDw8IDYpDQorI2RlZmluZSBSR19BVURQ UkVBTVBSR0FJTl9TRlQJCQkJOA0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QUkdBSU5fTUFTSwkJCQkw eDcNCisjZGVmaW5lIFJHX0FVRFBSRUFNUFJHQUlOX01BU0tfU0ZUCQkJKDB4NyA8PCA4KQ0KKyNk ZWZpbmUgUkdfQlVMS1JfVkNNX0VOX1NGVAkJCQkxMQ0KKyNkZWZpbmUgUkdfQlVMS1JfVkNNX0VO X01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19CVUxLUl9WQ01fRU5fTUFTS19TRlQJCQkoMHgxIDw8 IDExKQ0KKyNkZWZpbmUgUkdfQVVEQURDUlBXUlVQX1NGVAkJCQkxMg0KKyNkZWZpbmUgUkdfQVVE QURDUlBXUlVQX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19BVURBRENSUFdSVVBfTUFTS19TRlQJ CQkoMHgxIDw8IDEyKQ0KKyNkZWZpbmUgUkdfQVVEQURDUklOUFVUU0VMX1NGVAkJCQkxMw0KKyNk ZWZpbmUgUkdfQVVEQURDUklOUFVUU0VMX01BU0sJCQkJMHgzDQorI2RlZmluZSBSR19BVURBRENS SU5QVVRTRUxfTUFTS19TRlQJCQkoMHgzIDw8IDEzKQ0KKw0KKy8qIEFVREVOQ19BTkFfQ09OMiAq Lw0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QM09OX1NGVAkJCQkwDQorI2RlZmluZSBSR19BVURQUkVB TVAzT05fTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0FVRFBSRUFNUDNPTl9NQVNLX1NGVAkJCSgw eDEgPDwgMCkNCisjZGVmaW5lIFJHX0FVRFBSRUFNUDNEQ0NFTl9TRlQJCQkJMQ0KKyNkZWZpbmUg UkdfQVVEUFJFQU1QM0RDQ0VOX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19BVURQUkVBTVAzREND RU5fTUFTS19TRlQJCQkoMHgxIDw8IDEpDQorI2RlZmluZSBSR19BVURQUkVBTVAzRENQUkVDSEFS R0VfU0ZUCQkJMg0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QM0RDUFJFQ0hBUkdFX01BU0sJCQkweDEN CisjZGVmaW5lIFJHX0FVRFBSRUFNUDNEQ1BSRUNIQVJHRV9NQVNLX1NGVAkJKDB4MSA8PCAyKQ0K KyNkZWZpbmUgUkdfQVVEUFJFQU1QM1BHQVRFU1RfU0ZUCQkJMw0KKyNkZWZpbmUgUkdfQVVEUFJF QU1QM1BHQVRFU1RfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QM1BHQVRFU1RfTUFT S19TRlQJCQkoMHgxIDw8IDMpDQorI2RlZmluZSBSR19BVURQUkVBTVAzVlNDQUxFX1NGVAkJCQk0 DQorI2RlZmluZSBSR19BVURQUkVBTVAzVlNDQUxFX01BU0sJCQkweDMNCisjZGVmaW5lIFJHX0FV RFBSRUFNUDNWU0NBTEVfTUFTS19TRlQJCQkoMHgzIDw8IDQpDQorI2RlZmluZSBSR19BVURQUkVB TVAzSU5QVVRTRUxfU0ZUCQkJNg0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QM0lOUFVUU0VMX01BU0sJ CQkweDMNCisjZGVmaW5lIFJHX0FVRFBSRUFNUDNJTlBVVFNFTF9NQVNLX1NGVAkJCSgweDMgPDwg NikNCisjZGVmaW5lIFJHX0FVRFBSRUFNUDNHQUlOX1NGVAkJCQk4DQorI2RlZmluZSBSR19BVURQ UkVBTVAzR0FJTl9NQVNLCQkJCTB4Nw0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QM0dBSU5fTUFTS19T RlQJCQkoMHg3IDw8IDgpDQorI2RlZmluZSBSR19CVUxLM19WQ01fRU5fU0ZUCQkJCTExDQorI2Rl ZmluZSBSR19CVUxLM19WQ01fRU5fTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0JVTEszX1ZDTV9F Tl9NQVNLX1NGVAkJCSgweDEgPDwgMTEpDQorI2RlZmluZSBSR19BVURBREMzUFdSVVBfU0ZUCQkJ CTEyDQorI2RlZmluZSBSR19BVURBREMzUFdSVVBfTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0FV REFEQzNQV1JVUF9NQVNLX1NGVAkJCSgweDEgPDwgMTIpDQorI2RlZmluZSBSR19BVURBREMzSU5Q VVRTRUxfU0ZUCQkJCTEzDQorI2RlZmluZSBSR19BVURBREMzSU5QVVRTRUxfTUFTSwkJCQkweDMN CisjZGVmaW5lIFJHX0FVREFEQzNJTlBVVFNFTF9NQVNLX1NGVAkJCSgweDMgPDwgMTMpDQorDQor LyogQVVERU5DX0FOQV9DT04zICovDQorI2RlZmluZSBSR19BVURVTEhBTEZCSUFTX1NGVAkJCQkw DQorI2RlZmluZSBSR19BVURVTEhBTEZCSUFTX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19BVURV TEhBTEZCSUFTX01BU0tfU0ZUCQkJKDB4MSA8PCAwKQ0KKyNkZWZpbmUgUkdfQVVER0xCVk9XTFBX RU5fU0ZUCQkJCTENCisjZGVmaW5lIFJHX0FVREdMQlZPV0xQV0VOX01BU0sJCQkJMHgxDQorI2Rl ZmluZSBSR19BVURHTEJWT1dMUFdFTl9NQVNLX1NGVAkJCSgweDEgPDwgMSkNCisjZGVmaW5lIFJH X0FVRFBSRUFNUExQRU5fU0ZUCQkJCTINCisjZGVmaW5lIFJHX0FVRFBSRUFNUExQRU5fTUFTSwkJ CQkweDENCisjZGVmaW5lIFJHX0FVRFBSRUFNUExQRU5fTUFTS19TRlQJCQkoMHgxIDw8IDIpDQor I2RlZmluZSBSR19BVURBREMxU1RTVEFHRUxQRU5fU0ZUCQkJMw0KKyNkZWZpbmUgUkdfQVVEQURD MVNUU1RBR0VMUEVOX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FVREFEQzFTVFNUQUdFTFBFTl9N QVNLX1NGVAkJCSgweDEgPDwgMykNCisjZGVmaW5lIFJHX0FVREFEQzJORFNUQUdFTFBFTl9TRlQJ CQk0DQorI2RlZmluZSBSR19BVURBREMyTkRTVEFHRUxQRU5fTUFTSwkJCTB4MQ0KKyNkZWZpbmUg UkdfQVVEQURDMk5EU1RBR0VMUEVOX01BU0tfU0ZUCQkJKDB4MSA8PCA0KQ0KKyNkZWZpbmUgUkdf QVVEQURDRkxBU0hMUEVOX1NGVAkJCQk1DQorI2RlZmluZSBSR19BVURBRENGTEFTSExQRU5fTUFT SwkJCQkweDENCisjZGVmaW5lIFJHX0FVREFEQ0ZMQVNITFBFTl9NQVNLX1NGVAkJCSgweDEgPDwg NSkNCisjZGVmaW5lIFJHX0FVRFBSRUFNUElERFRFU1RfU0ZUCQkJCTYNCisjZGVmaW5lIFJHX0FV RFBSRUFNUElERFRFU1RfTUFTSwkJCTB4Mw0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QSUREVEVTVF9N QVNLX1NGVAkJCSgweDMgPDwgNikNCisjZGVmaW5lIFJHX0FVREFEQzFTVFNUQUdFSUREVEVTVF9T RlQJCQk4DQorI2RlZmluZSBSR19BVURBREMxU1RTVEFHRUlERFRFU1RfTUFTSwkJCTB4Mw0KKyNk ZWZpbmUgUkdfQVVEQURDMVNUU1RBR0VJRERURVNUX01BU0tfU0ZUCQkoMHgzIDw8IDgpDQorI2Rl ZmluZSBSR19BVURBREMyTkRTVEFHRUlERFRFU1RfU0ZUCQkJMTANCisjZGVmaW5lIFJHX0FVREFE QzJORFNUQUdFSUREVEVTVF9NQVNLCQkJMHgzDQorI2RlZmluZSBSR19BVURBREMyTkRTVEFHRUlE RFRFU1RfTUFTS19TRlQJCSgweDMgPDwgMTApDQorI2RlZmluZSBSR19BVURBRENSRUZCVUZJRERU RVNUX1NGVAkJCTEyDQorI2RlZmluZSBSR19BVURBRENSRUZCVUZJRERURVNUX01BU0sJCQkweDMN CisjZGVmaW5lIFJHX0FVREFEQ1JFRkJVRklERFRFU1RfTUFTS19TRlQJCQkoMHgzIDw8IDEyKQ0K KyNkZWZpbmUgUkdfQVVEQURDRkxBU0hJRERURVNUX1NGVAkJCTE0DQorI2RlZmluZSBSR19BVURB RENGTEFTSElERFRFU1RfTUFTSwkJCTB4Mw0KKyNkZWZpbmUgUkdfQVVEQURDRkxBU0hJRERURVNU X01BU0tfU0ZUCQkJKDB4MyA8PCAxNCkNCisNCisvKiBBVURFTkNfQU5BX0NPTjQgKi8NCisjZGVm aW5lIFJHX0FVRFJVTEhBTEZCSUFTX1NGVAkJCQkwDQorI2RlZmluZSBSR19BVURSVUxIQUxGQklB U19NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEUlVMSEFMRkJJQVNfTUFTS19TRlQJCQkoMHgx IDw8IDApDQorI2RlZmluZSBSR19BVURHTEJSVk9XTFBXRU5fU0ZUCQkJCTENCisjZGVmaW5lIFJH X0FVREdMQlJWT1dMUFdFTl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVER0xCUlZPV0xQV0VO X01BU0tfU0ZUCQkJKDB4MSA8PCAxKQ0KKyNkZWZpbmUgUkdfQVVEUlBSRUFNUExQRU5fU0ZUCQkJ CTINCisjZGVmaW5lIFJHX0FVRFJQUkVBTVBMUEVOX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19B VURSUFJFQU1QTFBFTl9NQVNLX1NGVAkJCSgweDEgPDwgMikNCisjZGVmaW5lIFJHX0FVRFJBREMx U1RTVEFHRUxQRU5fU0ZUCQkJMw0KKyNkZWZpbmUgUkdfQVVEUkFEQzFTVFNUQUdFTFBFTl9NQVNL CQkJMHgxDQorI2RlZmluZSBSR19BVURSQURDMVNUU1RBR0VMUEVOX01BU0tfU0ZUCQkJKDB4MSA8 PCAzKQ0KKyNkZWZpbmUgUkdfQVVEUkFEQzJORFNUQUdFTFBFTl9TRlQJCQk0DQorI2RlZmluZSBS R19BVURSQURDMk5EU1RBR0VMUEVOX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FVRFJBREMyTkRT VEFHRUxQRU5fTUFTS19TRlQJCQkoMHgxIDw8IDQpDQorI2RlZmluZSBSR19BVURSQURDRkxBU0hM UEVOX1NGVAkJCQk1DQorI2RlZmluZSBSR19BVURSQURDRkxBU0hMUEVOX01BU0sJCQkweDENCisj ZGVmaW5lIFJHX0FVRFJBRENGTEFTSExQRU5fTUFTS19TRlQJCQkoMHgxIDw8IDUpDQorI2RlZmlu ZSBSR19BVURSUFJFQU1QSUREVEVTVF9TRlQJCQk2DQorI2RlZmluZSBSR19BVURSUFJFQU1QSURE VEVTVF9NQVNLCQkJMHgzDQorI2RlZmluZSBSR19BVURSUFJFQU1QSUREVEVTVF9NQVNLX1NGVAkJ CSgweDMgPDwgNikNCisjZGVmaW5lIFJHX0FVRFJBREMxU1RTVEFHRUlERFRFU1RfU0ZUCQkJOA0K KyNkZWZpbmUgUkdfQVVEUkFEQzFTVFNUQUdFSUREVEVTVF9NQVNLCQkJMHgzDQorI2RlZmluZSBS R19BVURSQURDMVNUU1RBR0VJRERURVNUX01BU0tfU0ZUCQkoMHgzIDw8IDgpDQorI2RlZmluZSBS R19BVURSQURDMk5EU1RBR0VJRERURVNUX1NGVAkJCTEwDQorI2RlZmluZSBSR19BVURSQURDMk5E U1RBR0VJRERURVNUX01BU0sJCQkweDMNCisjZGVmaW5lIFJHX0FVRFJBREMyTkRTVEFHRUlERFRF U1RfTUFTS19TRlQJCSgweDMgPDwgMTApDQorI2RlZmluZSBSR19BVURSQURDUkVGQlVGSUREVEVT VF9TRlQJCQkxMg0KKyNkZWZpbmUgUkdfQVVEUkFEQ1JFRkJVRklERFRFU1RfTUFTSwkJCTB4Mw0K KyNkZWZpbmUgUkdfQVVEUkFEQ1JFRkJVRklERFRFU1RfTUFTS19TRlQJCSgweDMgPDwgMTIpDQor I2RlZmluZSBSR19BVURSQURDRkxBU0hJRERURVNUX1NGVAkJCTE0DQorI2RlZmluZSBSR19BVURS QURDRkxBU0hJRERURVNUX01BU0sJCQkweDMNCisjZGVmaW5lIFJHX0FVRFJBRENGTEFTSElERFRF U1RfTUFTS19TRlQJCQkoMHgzIDw8IDE0KQ0KKw0KKy8qIEFVREVOQ19BTkFfQ09ONSAqLw0KKyNk ZWZpbmUgUkdfQVVEQURDQ0xLUlNUQl9TRlQJCQkJMA0KKyNkZWZpbmUgUkdfQVVEQURDQ0xLUlNU Ql9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEQURDQ0xLUlNUQl9NQVNLX1NGVAkJCSgweDEg PDwgMCkNCisjZGVmaW5lIFJHX0FVREFEQ0NMS1NFTF9TRlQJCQkJMQ0KKyNkZWZpbmUgUkdfQVVE QURDQ0xLU0VMX01BU0sJCQkJMHgzDQorI2RlZmluZSBSR19BVURBRENDTEtTRUxfTUFTS19TRlQJ CQkoMHgzIDw8IDEpDQorI2RlZmluZSBSR19BVURBRENDTEtTT1VSQ0VfU0ZUCQkJCTMNCisjZGVm aW5lIFJHX0FVREFEQ0NMS1NPVVJDRV9NQVNLCQkJCTB4Mw0KKyNkZWZpbmUgUkdfQVVEQURDQ0xL U09VUkNFX01BU0tfU0ZUCQkJKDB4MyA8PCAzKQ0KKyNkZWZpbmUgUkdfQVVEQURDQ0xLR0VOTU9E RV9TRlQJCQkJNQ0KKyNkZWZpbmUgUkdfQVVEQURDQ0xLR0VOTU9ERV9NQVNLCQkJMHgzDQorI2Rl ZmluZSBSR19BVURBRENDTEtHRU5NT0RFX01BU0tfU0ZUCQkJKDB4MyA8PCA1KQ0KKyNkZWZpbmUg UkdfQVVEUFJFQU1QX0FDQ0ZTX1NGVAkJCQk3DQorI2RlZmluZSBSR19BVURQUkVBTVBfQUNDRlNf TUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0FVRFBSRUFNUF9BQ0NGU19NQVNLX1NGVAkJCSgweDEg PDwgNykNCisjZGVmaW5lIFJHX0FVRFBSRUFNUEFBRkVOX1NGVAkJCQk4DQorI2RlZmluZSBSR19B VURQUkVBTVBBQUZFTl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QQUFGRU5fTUFT S19TRlQJCQkoMHgxIDw8IDgpDQorI2RlZmluZSBSR19EQ0NWQ01CVUZMUE1PRFNFTF9TRlQJCQk5 DQorI2RlZmluZSBSR19EQ0NWQ01CVUZMUE1PRFNFTF9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19E Q0NWQ01CVUZMUE1PRFNFTF9NQVNLX1NGVAkJCSgweDEgPDwgOSkNCisjZGVmaW5lIFJHX0RDQ1ZD TUJVRkxQU1dFTl9TRlQJCQkJMTANCisjZGVmaW5lIFJHX0RDQ1ZDTUJVRkxQU1dFTl9NQVNLCQkJ CTB4MQ0KKyNkZWZpbmUgUkdfRENDVkNNQlVGTFBTV0VOX01BU0tfU0ZUCQkJKDB4MSA8PCAxMCkN CisjZGVmaW5lIFJHX0FVRFNQQVJFUEdBX1NGVAkJCQkxMQ0KKyNkZWZpbmUgUkdfQVVEU1BBUkVQ R0FfTUFTSwkJCQkweDFmDQorI2RlZmluZSBSR19BVURTUEFSRVBHQV9NQVNLX1NGVAkJCQkoMHgx ZiA8PCAxMSkNCisNCisvKiBBVURFTkNfQU5BX0NPTjYgKi8NCisjZGVmaW5lIFJHX0FVREFEQzFT VFNUQUdFU0RFTkJfU0ZUCQkJMA0KKyNkZWZpbmUgUkdfQVVEQURDMVNUU1RBR0VTREVOQl9NQVNL CQkJMHgxDQorI2RlZmluZSBSR19BVURBREMxU1RTVEFHRVNERU5CX01BU0tfU0ZUCQkJKDB4MSA8 PCAwKQ0KKyNkZWZpbmUgUkdfQVVEQURDMk5EU1RBR0VSRVNFVF9TRlQJCQkxDQorI2RlZmluZSBS R19BVURBREMyTkRTVEFHRVJFU0VUX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FVREFEQzJORFNU QUdFUkVTRVRfTUFTS19TRlQJCQkoMHgxIDw8IDEpDQorI2RlZmluZSBSR19BVURBREMzUkRTVEFH RVJFU0VUX1NGVAkJCTINCisjZGVmaW5lIFJHX0FVREFEQzNSRFNUQUdFUkVTRVRfTUFTSwkJCTB4 MQ0KKyNkZWZpbmUgUkdfQVVEQURDM1JEU1RBR0VSRVNFVF9NQVNLX1NGVAkJCSgweDEgPDwgMikN CisjZGVmaW5lIFJHX0FVREFEQ0ZTUkVTRVRfU0ZUCQkJCTMNCisjZGVmaW5lIFJHX0FVREFEQ0ZT UkVTRVRfTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0FVREFEQ0ZTUkVTRVRfTUFTS19TRlQJCQko MHgxIDw8IDMpDQorI2RlZmluZSBSR19BVURBRENXSURFQ01fU0ZUCQkJCTQNCisjZGVmaW5lIFJH X0FVREFEQ1dJREVDTV9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEQURDV0lERUNNX01BU0tf U0ZUCQkJKDB4MSA8PCA0KQ0KKyNkZWZpbmUgUkdfQVVEQURDTk9QQVRFU1RfU0ZUCQkJCTUNCisj ZGVmaW5lIFJHX0FVREFEQ05PUEFURVNUX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19BVURBRENO T1BBVEVTVF9NQVNLX1NGVAkJCSgweDEgPDwgNSkNCisjZGVmaW5lIFJHX0FVREFEQ0JZUEFTU19T RlQJCQkJNg0KKyNkZWZpbmUgUkdfQVVEQURDQllQQVNTX01BU0sJCQkJMHgxDQorI2RlZmluZSBS R19BVURBRENCWVBBU1NfTUFTS19TRlQJCQkoMHgxIDw8IDYpDQorI2RlZmluZSBSR19BVURBRENG RkJZUEFTU19TRlQJCQkJNw0KKyNkZWZpbmUgUkdfQVVEQURDRkZCWVBBU1NfTUFTSwkJCQkweDEN CisjZGVmaW5lIFJHX0FVREFEQ0ZGQllQQVNTX01BU0tfU0ZUCQkJKDB4MSA8PCA3KQ0KKyNkZWZp bmUgUkdfQVVEQURDREFDRkJDVVJSRU5UX1NGVAkJCTgNCisjZGVmaW5lIFJHX0FVREFEQ0RBQ0ZC Q1VSUkVOVF9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURBRENEQUNGQkNVUlJFTlRfTUFTS19T RlQJCQkoMHgxIDw8IDgpDQorI2RlZmluZSBSR19BVURBRENEQUNJRERURVNUX1NGVAkJCQk5DQor I2RlZmluZSBSR19BVURBRENEQUNJRERURVNUX01BU0sJCQkweDMNCisjZGVmaW5lIFJHX0FVREFE Q0RBQ0lERFRFU1RfTUFTS19TRlQJCQkoMHgzIDw8IDkpDQorI2RlZmluZSBSR19BVURBRENEQUNO UlpfU0ZUCQkJCTExDQorI2RlZmluZSBSR19BVURBRENEQUNOUlpfTUFTSwkJCQkweDENCisjZGVm aW5lIFJHX0FVREFEQ0RBQ05SWl9NQVNLX1NGVAkJCSgweDEgPDwgMTEpDQorI2RlZmluZSBSR19B VURBRENOT0RFTV9TRlQJCQkJMTINCisjZGVmaW5lIFJHX0FVREFEQ05PREVNX01BU0sJCQkJMHgx DQorI2RlZmluZSBSR19BVURBRENOT0RFTV9NQVNLX1NGVAkJCQkoMHgxIDw8IDEyKQ0KKyNkZWZp bmUgUkdfQVVEQURDREFDVEVTVF9TRlQJCQkJMTMNCisjZGVmaW5lIFJHX0FVREFEQ0RBQ1RFU1Rf TUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0FVREFEQ0RBQ1RFU1RfTUFTS19TRlQJCQkoMHgxIDw8 IDEzKQ0KKyNkZWZpbmUgUkdfQVVEQURDREFDMFAyNUZTX1NGVAkJCQkxNA0KKyNkZWZpbmUgUkdf QVVEQURDREFDMFAyNUZTX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19BVURBRENEQUMwUDI1RlNf TUFTS19TRlQJCQkoMHgxIDw8IDE0KQ0KKyNkZWZpbmUgUkdfQVVEQURDUkRBQzBQMjVGU19TRlQJ CQkJMTUNCisjZGVmaW5lIFJHX0FVREFEQ1JEQUMwUDI1RlNfTUFTSwkJCTB4MQ0KKyNkZWZpbmUg UkdfQVVEQURDUkRBQzBQMjVGU19NQVNLX1NGVAkJCSgweDEgPDwgMTUpDQorDQorLyogQVVERU5D X0FOQV9DT043ICovDQorI2RlZmluZSBSR19BVURBRENURVNUREFUQV9TRlQJCQkJMA0KKyNkZWZp bmUgUkdfQVVEQURDVEVTVERBVEFfTUFTSwkJCQkweGZmZmYNCisjZGVmaW5lIFJHX0FVREFEQ1RF U1REQVRBX01BU0tfU0ZUCQkJKDB4ZmZmZiA8PCAwKQ0KKw0KKy8qIEFVREVOQ19BTkFfQ09OOCAq Lw0KKyNkZWZpbmUgUkdfQVVEUkNUVU5FTF9TRlQJCQkJMA0KKyNkZWZpbmUgUkdfQVVEUkNUVU5F TF9NQVNLCQkJCTB4MWYNCisjZGVmaW5lIFJHX0FVRFJDVFVORUxfTUFTS19TRlQJCQkJKDB4MWYg PDwgMCkNCisjZGVmaW5lIFJHX0FVRFJDVFVORUxTRUxfU0ZUCQkJCTUNCisjZGVmaW5lIFJHX0FV RFJDVFVORUxTRUxfTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0FVRFJDVFVORUxTRUxfTUFTS19T RlQJCQkoMHgxIDw8IDUpDQorI2RlZmluZSBSR19BVURSQ1RVTkVSX1NGVAkJCQk4DQorI2RlZmlu ZSBSR19BVURSQ1RVTkVSX01BU0sJCQkJMHgxZg0KKyNkZWZpbmUgUkdfQVVEUkNUVU5FUl9NQVNL X1NGVAkJCQkoMHgxZiA8PCA4KQ0KKyNkZWZpbmUgUkdfQVVEUkNUVU5FUlNFTF9TRlQJCQkJMTMN CisjZGVmaW5lIFJHX0FVRFJDVFVORVJTRUxfTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0FVRFJD VFVORVJTRUxfTUFTS19TRlQJCQkoMHgxIDw8IDEzKQ0KKw0KKy8qIEFVREVOQ19BTkFfQ09OOSAq Lw0KKyNkZWZpbmUgUkdfQVVEM0NUVU5FTF9TRlQJCQkJMA0KKyNkZWZpbmUgUkdfQVVEM0NUVU5F TF9NQVNLCQkJCTB4MWYNCisjZGVmaW5lIFJHX0FVRDNDVFVORUxfTUFTS19TRlQJCQkJKDB4MWYg PDwgMCkNCisjZGVmaW5lIFJHX0FVRDNDVFVORUxTRUxfU0ZUCQkJCTUNCisjZGVmaW5lIFJHX0FV RDNDVFVORUxTRUxfTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0FVRDNDVFVORUxTRUxfTUFTS19T RlQJCQkoMHgxIDw8IDUpDQorI2RlZmluZSBSR1NfQVVEUkNUVU5FM1JFQURfU0ZUCQkJCTYNCisj ZGVmaW5lIFJHU19BVURSQ1RVTkUzUkVBRF9NQVNLCQkJCTB4MWYNCisjZGVmaW5lIFJHU19BVURS Q1RVTkUzUkVBRF9NQVNLX1NGVAkJCSgweDFmIDw8IDYpDQorI2RlZmluZSBSR19BVUQzU1BBUkVf U0ZUCQkJCTExDQorI2RlZmluZSBSR19BVUQzU1BBUkVfTUFTSwkJCQkweDFmDQorI2RlZmluZSBS R19BVUQzU1BBUkVfTUFTS19TRlQJCQkJKDB4MWYgPDwgMTEpDQorDQorLyogQVVERU5DX0FOQV9D T04xMCAqLw0KKyNkZWZpbmUgUkdTX0FVRFJDVFVORUxSRUFEX1NGVAkJCQkwDQorI2RlZmluZSBS R1NfQVVEUkNUVU5FTFJFQURfTUFTSwkJCQkweDFmDQorI2RlZmluZSBSR1NfQVVEUkNUVU5FTFJF QURfTUFTS19TRlQJCQkoMHgxZiA8PCAwKQ0KKyNkZWZpbmUgUkdTX0FVRFJDVFVORVJSRUFEX1NG VAkJCQk4DQorI2RlZmluZSBSR1NfQVVEUkNUVU5FUlJFQURfTUFTSwkJCQkweDFmDQorI2RlZmlu ZSBSR1NfQVVEUkNUVU5FUlJFQURfTUFTS19TRlQJCQkoMHgxZiA8PCA4KQ0KKw0KKy8qIEFVREVO Q19BTkFfQ09OMTEgKi8NCisjZGVmaW5lIFJHX0FVRFNQQVJFVkEzMF9TRlQJCQkJMA0KKyNkZWZp bmUgUkdfQVVEU1BBUkVWQTMwX01BU0sJCQkJMHhmZg0KKyNkZWZpbmUgUkdfQVVEU1BBUkVWQTMw X01BU0tfU0ZUCQkJKDB4ZmYgPDwgMCkNCisjZGVmaW5lIFJHX0FVRFNQQVJFVkExOF9TRlQJCQkJ OA0KKyNkZWZpbmUgUkdfQVVEU1BBUkVWQTE4X01BU0sJCQkJMHhmZg0KKyNkZWZpbmUgUkdfQVVE U1BBUkVWQTE4X01BU0tfU0ZUCQkJKDB4ZmYgPDwgOCkNCisNCisvKiBBVURFTkNfQU5BX0NPTjEy ICovDQorI2RlZmluZSBSR19BVURQR0FfREVDQVBfU0ZUCQkJCTANCisjZGVmaW5lIFJHX0FVRFBH QV9ERUNBUF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEUEdBX0RFQ0FQX01BU0tfU0ZUCQkJ KDB4MSA8PCAwKQ0KKyNkZWZpbmUgUkdfQVVEUEdBX0NBUFJBX1NGVAkJCQkxDQorI2RlZmluZSBS R19BVURQR0FfQ0FQUkFfTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0FVRFBHQV9DQVBSQV9NQVNL X1NGVAkJCSgweDEgPDwgMSkNCisjZGVmaW5lIFJHX0FVRFBHQV9BQ0NDTVBfU0ZUCQkJCTINCisj ZGVmaW5lIFJHX0FVRFBHQV9BQ0NDTVBfTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0FVRFBHQV9B Q0NDTVBfTUFTS19TRlQJCQkoMHgxIDw8IDIpDQorI2RlZmluZSBSR19BVURFTkNfU1BBUkUyX1NG VAkJCQkzDQorI2RlZmluZSBSR19BVURFTkNfU1BBUkUyX01BU0sJCQkJMHgxZmZmDQorI2RlZmlu ZSBSR19BVURFTkNfU1BBUkUyX01BU0tfU0ZUCQkJKDB4MWZmZiA8PCAzKQ0KKw0KKy8qIEFVREVO Q19BTkFfQ09OMTMgKi8NCisjZGVmaW5lIFJHX0FVRERJR01JQ0VOX1NGVAkJCQkwDQorI2RlZmlu ZSBSR19BVURESUdNSUNFTl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVERElHTUlDRU5fTUFT S19TRlQJCQkJKDB4MSA8PCAwKQ0KKyNkZWZpbmUgUkdfQVVERElHTUlDQklBU19TRlQJCQkJMQ0K KyNkZWZpbmUgUkdfQVVERElHTUlDQklBU19NQVNLCQkJCTB4Mw0KKyNkZWZpbmUgUkdfQVVERElH TUlDQklBU19NQVNLX1NGVAkJCSgweDMgPDwgMSkNCisjZGVmaW5lIFJHX0RNSUNIUENMS0VOX1NG VAkJCQkzDQorI2RlZmluZSBSR19ETUlDSFBDTEtFTl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdf RE1JQ0hQQ0xLRU5fTUFTS19TRlQJCQkJKDB4MSA8PCAzKQ0KKyNkZWZpbmUgUkdfQVVERElHTUlD UERVVFlfU0ZUCQkJCTQNCisjZGVmaW5lIFJHX0FVRERJR01JQ1BEVVRZX01BU0sJCQkJMHgzDQor I2RlZmluZSBSR19BVURESUdNSUNQRFVUWV9NQVNLX1NGVAkJCSgweDMgPDwgNCkNCisjZGVmaW5l IFJHX0FVRERJR01JQ05EVVRZX1NGVAkJCQk2DQorI2RlZmluZSBSR19BVURESUdNSUNORFVUWV9N QVNLCQkJCTB4Mw0KKyNkZWZpbmUgUkdfQVVERElHTUlDTkRVVFlfTUFTS19TRlQJCQkoMHgzIDw8 IDYpDQorI2RlZmluZSBSR19ETUlDTU9ORU5fU0ZUCQkJCTgNCisjZGVmaW5lIFJHX0RNSUNNT05F Tl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfRE1JQ01PTkVOX01BU0tfU0ZUCQkJCSgweDEgPDwg OCkNCisjZGVmaW5lIFJHX0RNSUNNT05TRUxfU0ZUCQkJCTkNCisjZGVmaW5lIFJHX0RNSUNNT05T RUxfTUFTSwkJCQkweDcNCisjZGVmaW5lIFJHX0RNSUNNT05TRUxfTUFTS19TRlQJCQkJKDB4NyA8 PCA5KQ0KKw0KKy8qIEFVREVOQ19BTkFfQ09OMTQgKi8NCisjZGVmaW5lIFJHX0FVRERJR01JQzFF Tl9TRlQJCQkJMA0KKyNkZWZpbmUgUkdfQVVERElHTUlDMUVOX01BU0sJCQkJMHgxDQorI2RlZmlu ZSBSR19BVURESUdNSUMxRU5fTUFTS19TRlQJCQkoMHgxIDw8IDApDQorI2RlZmluZSBSR19BVURE SUdNSUNCSUFTMV9TRlQJCQkJMQ0KKyNkZWZpbmUgUkdfQVVERElHTUlDQklBUzFfTUFTSwkJCQkw eDMNCisjZGVmaW5lIFJHX0FVRERJR01JQ0JJQVMxX01BU0tfU0ZUCQkJKDB4MyA8PCAxKQ0KKyNk ZWZpbmUgUkdfRE1JQzFIUENMS0VOX1NGVAkJCQkzDQorI2RlZmluZSBSR19ETUlDMUhQQ0xLRU5f TUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0RNSUMxSFBDTEtFTl9NQVNLX1NGVAkJCSgweDEgPDwg MykNCisjZGVmaW5lIFJHX0FVRERJR01JQzFQRFVUWV9TRlQJCQkJNA0KKyNkZWZpbmUgUkdfQVVE RElHTUlDMVBEVVRZX01BU0sJCQkJMHgzDQorI2RlZmluZSBSR19BVURESUdNSUMxUERVVFlfTUFT S19TRlQJCQkoMHgzIDw8IDQpDQorI2RlZmluZSBSR19BVURESUdNSUMxTkRVVFlfU0ZUCQkJCTYN CisjZGVmaW5lIFJHX0FVRERJR01JQzFORFVUWV9NQVNLCQkJCTB4Mw0KKyNkZWZpbmUgUkdfQVVE RElHTUlDMU5EVVRZX01BU0tfU0ZUCQkJKDB4MyA8PCA2KQ0KKyNkZWZpbmUgUkdfRE1JQzFNT05F Tl9TRlQJCQkJOA0KKyNkZWZpbmUgUkdfRE1JQzFNT05FTl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUg UkdfRE1JQzFNT05FTl9NQVNLX1NGVAkJCQkoMHgxIDw8IDgpDQorI2RlZmluZSBSR19ETUlDMU1P TlNFTF9TRlQJCQkJOQ0KKyNkZWZpbmUgUkdfRE1JQzFNT05TRUxfTUFTSwkJCQkweDcNCisjZGVm aW5lIFJHX0RNSUMxTU9OU0VMX01BU0tfU0ZUCQkJCSgweDcgPDwgOSkNCisjZGVmaW5lIFJHX0FV RFNQQVJFVk1JQ19TRlQJCQkJMTINCisjZGVmaW5lIFJHX0FVRFNQQVJFVk1JQ19NQVNLCQkJCTB4 Zg0KKyNkZWZpbmUgUkdfQVVEU1BBUkVWTUlDX01BU0tfU0ZUCQkJKDB4ZiA8PCAxMikNCisNCisv KiBBVURFTkNfQU5BX0NPTjE1ICovDQorI2RlZmluZSBSR19BVURQV0RCTUlDQklBUzBfU0ZUCQkJ CTANCisjZGVmaW5lIFJHX0FVRFBXREJNSUNCSUFTMF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdf QVVEUFdEQk1JQ0JJQVMwX01BU0tfU0ZUCQkJKDB4MSA8PCAwKQ0KKyNkZWZpbmUgUkdfQVVETUlD QklBUzBCWVBBU1NFTl9TRlQJCQkxDQorI2RlZmluZSBSR19BVURNSUNCSUFTMEJZUEFTU0VOX01B U0sJCQkweDENCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMwQllQQVNTRU5fTUFTS19TRlQJCQkoMHgx IDw8IDEpDQorI2RlZmluZSBSR19BVURNSUNCSUFTMExPV1BFTl9TRlQJCQkyDQorI2RlZmluZSBS R19BVURNSUNCSUFTMExPV1BFTl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURNSUNCSUFTMExP V1BFTl9NQVNLX1NGVAkJCSgweDEgPDwgMikNCisjZGVmaW5lIFJHX0FVRFBXREJNSUNCSUFTM19T RlQJCQkJMw0KKyNkZWZpbmUgUkdfQVVEUFdEQk1JQ0JJQVMzX01BU0sJCQkJMHgxDQorI2RlZmlu ZSBSR19BVURQV0RCTUlDQklBUzNfTUFTS19TRlQJCQkoMHgxIDw8IDMpDQorI2RlZmluZSBSR19B VURNSUNCSUFTMFZSRUZfU0ZUCQkJCTQNCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMwVlJFRl9NQVNL CQkJCTB4Nw0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzBWUkVGX01BU0tfU0ZUCQkJKDB4NyA8PCA0 KQ0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzBEQ1NXMFAxRU5fU0ZUCQkJOA0KKyNkZWZpbmUgUkdf QVVETUlDQklBUzBEQ1NXMFAxRU5fTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzBE Q1NXMFAxRU5fTUFTS19TRlQJCSgweDEgPDwgOCkNCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMwRENT VzBQMkVOX1NGVAkJCTkNCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMwRENTVzBQMkVOX01BU0sJCQkw eDENCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMwRENTVzBQMkVOX01BU0tfU0ZUCQkoMHgxIDw8IDkp DQorI2RlZmluZSBSR19BVURNSUNCSUFTMERDU1cwTkVOX1NGVAkJCTEwDQorI2RlZmluZSBSR19B VURNSUNCSUFTMERDU1cwTkVOX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMwRENT VzBORU5fTUFTS19TRlQJCQkoMHgxIDw8IDEwKQ0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzBEQ1NX MlAxRU5fU0ZUCQkJMTINCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMwRENTVzJQMUVOX01BU0sJCQkw eDENCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMwRENTVzJQMUVOX01BU0tfU0ZUCQkoMHgxIDw8IDEy KQ0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzBEQ1NXMlAyRU5fU0ZUCQkJMTMNCisjZGVmaW5lIFJH X0FVRE1JQ0JJQVMwRENTVzJQMkVOX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMw RENTVzJQMkVOX01BU0tfU0ZUCQkoMHgxIDw8IDEzKQ0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzBE Q1NXMk5FTl9TRlQJCQkxNA0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzBEQ1NXMk5FTl9NQVNLCQkJ MHgxDQorI2RlZmluZSBSR19BVURNSUNCSUFTMERDU1cyTkVOX01BU0tfU0ZUCQkJKDB4MSA8PCAx NCkNCisNCisvKiBBVURFTkNfQU5BX0NPTjE2ICovDQorI2RlZmluZSBSR19BVURQV0RCTUlDQklB UzFfU0ZUCQkJCTANCisjZGVmaW5lIFJHX0FVRFBXREJNSUNCSUFTMV9NQVNLCQkJCTB4MQ0KKyNk ZWZpbmUgUkdfQVVEUFdEQk1JQ0JJQVMxX01BU0tfU0ZUCQkJKDB4MSA8PCAwKQ0KKyNkZWZpbmUg UkdfQVVETUlDQklBUzFCWVBBU1NFTl9TRlQJCQkxDQorI2RlZmluZSBSR19BVURNSUNCSUFTMUJZ UEFTU0VOX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMxQllQQVNTRU5fTUFTS19T RlQJCQkoMHgxIDw8IDEpDQorI2RlZmluZSBSR19BVURNSUNCSUFTMUxPV1BFTl9TRlQJCQkyDQor I2RlZmluZSBSR19BVURNSUNCSUFTMUxPV1BFTl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURN SUNCSUFTMUxPV1BFTl9NQVNLX1NGVAkJCSgweDEgPDwgMikNCisjZGVmaW5lIFJHX0FVRE1JQ0JJ QVMxVlJFRl9TRlQJCQkJNA0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzFWUkVGX01BU0sJCQkJMHg3 DQorI2RlZmluZSBSR19BVURNSUNCSUFTMVZSRUZfTUFTS19TRlQJCQkoMHg3IDw8IDQpDQorI2Rl ZmluZSBSR19BVURNSUNCSUFTMURDU1cxUEVOX1NGVAkJCTgNCisjZGVmaW5lIFJHX0FVRE1JQ0JJ QVMxRENTVzFQRU5fTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzFEQ1NXMVBFTl9N QVNLX1NGVAkJCSgweDEgPDwgOCkNCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMxRENTVzFORU5fU0ZU CQkJOQ0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzFEQ1NXMU5FTl9NQVNLCQkJMHgxDQorI2RlZmlu ZSBSR19BVURNSUNCSUFTMURDU1cxTkVOX01BU0tfU0ZUCQkJKDB4MSA8PCA5KQ0KKyNkZWZpbmUg UkdfQkFOREdBUEdFTl9TRlQJCQkJMTANCisjZGVmaW5lIFJHX0JBTkRHQVBHRU5fTUFTSwkJCQkw eDENCisjZGVmaW5lIFJHX0JBTkRHQVBHRU5fTUFTS19TRlQJCQkJKDB4MSA8PCAxMCkNCisjZGVm aW5lIFJHX0FVRE1JQ0JJQVMxSFZFTl9TRlQJCQkJMTINCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMx SFZFTl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzFIVkVOX01BU0tfU0ZUCQkJ KDB4MSA8PCAxMikNCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMxSFZWUkVGX1NGVAkJCTEzDQorI2Rl ZmluZSBSR19BVURNSUNCSUFTMUhWVlJFRl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURNSUNC SUFTMUhWVlJFRl9NQVNLX1NGVAkJCSgweDEgPDwgMTMpDQorDQorLyogQVVERU5DX0FOQV9DT04x NyAqLw0KKyNkZWZpbmUgUkdfQVVEUFdEQk1JQ0JJQVMyX1NGVAkJCQkwDQorI2RlZmluZSBSR19B VURQV0RCTUlDQklBUzJfTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0FVRFBXREJNSUNCSUFTMl9N QVNLX1NGVAkJCSgweDEgPDwgMCkNCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMyQllQQVNTRU5fU0ZU CQkJMQ0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzJCWVBBU1NFTl9NQVNLCQkJMHgxDQorI2RlZmlu ZSBSR19BVURNSUNCSUFTMkJZUEFTU0VOX01BU0tfU0ZUCQkJKDB4MSA8PCAxKQ0KKyNkZWZpbmUg UkdfQVVETUlDQklBUzJMT1dQRU5fU0ZUCQkJMg0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzJMT1dQ RU5fTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzJMT1dQRU5fTUFTS19TRlQJCQko MHgxIDw8IDIpDQorI2RlZmluZSBSR19BVURNSUNCSUFTMlZSRUZfU0ZUCQkJCTQNCisjZGVmaW5l IFJHX0FVRE1JQ0JJQVMyVlJFRl9NQVNLCQkJCTB4Nw0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzJW UkVGX01BU0tfU0ZUCQkJKDB4NyA8PCA0KQ0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzJEQ1NXM1Ax RU5fU0ZUCQkJOA0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzJEQ1NXM1AxRU5fTUFTSwkJCTB4MQ0K KyNkZWZpbmUgUkdfQVVETUlDQklBUzJEQ1NXM1AxRU5fTUFTS19TRlQJCSgweDEgPDwgOCkNCisj ZGVmaW5lIFJHX0FVRE1JQ0JJQVMyRENTVzNQMkVOX1NGVAkJCTkNCisjZGVmaW5lIFJHX0FVRE1J Q0JJQVMyRENTVzNQMkVOX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMyRENTVzNQ MkVOX01BU0tfU0ZUCQkoMHgxIDw8IDkpDQorI2RlZmluZSBSR19BVURNSUNCSUFTMkRDU1czTkVO X1NGVAkJCTEwDQorI2RlZmluZSBSR19BVURNSUNCSUFTMkRDU1czTkVOX01BU0sJCQkweDENCisj ZGVmaW5lIFJHX0FVRE1JQ0JJQVMyRENTVzNORU5fTUFTS19TRlQJCQkoMHgxIDw8IDEwKQ0KKyNk ZWZpbmUgUkdfQVVETUlDQklBU1NQQVJFX1NGVAkJCQkxMg0KKyNkZWZpbmUgUkdfQVVETUlDQklB U1NQQVJFX01BU0sJCQkJMHhmDQorI2RlZmluZSBSR19BVURNSUNCSUFTU1BBUkVfTUFTS19TRlQJ CQkoMHhmIDw8IDEyKQ0KKw0KKy8qIEFVREVOQ19BTkFfQ09OMTggKi8NCisjZGVmaW5lIFJHX0FV REFDQ0RFVE1JQ0JJQVMwUFVMTExPV19TRlQJCQkwDQorI2RlZmluZSBSR19BVURBQ0NERVRNSUNC SUFTMFBVTExMT1dfTUFTSwkJMHgxDQorI2RlZmluZSBSR19BVURBQ0NERVRNSUNCSUFTMFBVTExM T1dfTUFTS19TRlQJCSgweDEgPDwgMCkNCisjZGVmaW5lIFJHX0FVREFDQ0RFVE1JQ0JJQVMxUFVM TExPV19TRlQJCQkxDQorI2RlZmluZSBSR19BVURBQ0NERVRNSUNCSUFTMVBVTExMT1dfTUFTSwkJ MHgxDQorI2RlZmluZSBSR19BVURBQ0NERVRNSUNCSUFTMVBVTExMT1dfTUFTS19TRlQJCSgweDEg PDwgMSkNCisjZGVmaW5lIFJHX0FVREFDQ0RFVE1JQ0JJQVMyUFVMTExPV19TRlQJCQkyDQorI2Rl ZmluZSBSR19BVURBQ0NERVRNSUNCSUFTMlBVTExMT1dfTUFTSwkJMHgxDQorI2RlZmluZSBSR19B VURBQ0NERVRNSUNCSUFTMlBVTExMT1dfTUFTS19TRlQJCSgweDEgPDwgMikNCisjZGVmaW5lIFJH X0FVREFDQ0RFVFZJTjFQVUxMTE9XX1NGVAkJCTMNCisjZGVmaW5lIFJHX0FVREFDQ0RFVFZJTjFQ VUxMTE9XX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FVREFDQ0RFVFZJTjFQVUxMTE9XX01BU0tf U0ZUCQkoMHgxIDw8IDMpDQorI2RlZmluZSBSR19BVURBQ0NERVRWVEhBQ0FMX1NGVAkJCQk0DQor I2RlZmluZSBSR19BVURBQ0NERVRWVEhBQ0FMX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FVREFD Q0RFVFZUSEFDQUxfTUFTS19TRlQJCQkoMHgxIDw8IDQpDQorI2RlZmluZSBSR19BVURBQ0NERVRW VEhCQ0FMX1NGVAkJCQk1DQorI2RlZmluZSBSR19BVURBQ0NERVRWVEhCQ0FMX01BU0sJCQkweDEN CisjZGVmaW5lIFJHX0FVREFDQ0RFVFZUSEJDQUxfTUFTS19TRlQJCQkoMHgxIDw8IDUpDQorI2Rl ZmluZSBSR19BVURBQ0NERVRUVkRFVF9TRlQJCQkJNg0KKyNkZWZpbmUgUkdfQVVEQUNDREVUVFZE RVRfTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0FVREFDQ0RFVFRWREVUX01BU0tfU0ZUCQkJKDB4 MSA8PCA2KQ0KKyNkZWZpbmUgUkdfQUNDREVUU0VMX1NGVAkJCQk3DQorI2RlZmluZSBSR19BQ0NE RVRTRUxfTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0FDQ0RFVFNFTF9NQVNLX1NGVAkJCQkoMHgx IDw8IDcpDQorI2RlZmluZSBSR19TV0JVRk1PRFNFTF9TRlQJCQkJOA0KKyNkZWZpbmUgUkdfU1dC VUZNT0RTRUxfTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX1NXQlVGTU9EU0VMX01BU0tfU0ZUCQkJ CSgweDEgPDwgOCkNCisjZGVmaW5lIFJHX1NXQlVGU1dFTl9TRlQJCQkJOQ0KKyNkZWZpbmUgUkdf U1dCVUZTV0VOX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19TV0JVRlNXRU5fTUFTS19TRlQJCQkJ KDB4MSA8PCA5KQ0KKyNkZWZpbmUgUkdfRUlOVDBOT0hZU19TRlQJCQkJMTANCisjZGVmaW5lIFJH X0VJTlQwTk9IWVNfTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0VJTlQwTk9IWVNfTUFTS19TRlQJ CQkJKDB4MSA8PCAxMCkNCisjZGVmaW5lIFJHX0VJTlQwQ09ORklHQUNDREVUX1NGVAkJCTExDQor I2RlZmluZSBSR19FSU5UMENPTkZJR0FDQ0RFVF9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19FSU5U MENPTkZJR0FDQ0RFVF9NQVNLX1NGVAkJCSgweDEgPDwgMTEpDQorI2RlZmluZSBSR19FSU5UMEhJ UkVOQl9TRlQJCQkJMTINCisjZGVmaW5lIFJHX0VJTlQwSElSRU5CX01BU0sJCQkJMHgxDQorI2Rl ZmluZSBSR19FSU5UMEhJUkVOQl9NQVNLX1NGVAkJCQkoMHgxIDw8IDEyKQ0KKyNkZWZpbmUgUkdf QUNDREVUMkFVWFJFU0JZUEFTU19TRlQJCQkxMw0KKyNkZWZpbmUgUkdfQUNDREVUMkFVWFJFU0JZ UEFTU19NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BQ0NERVQyQVVYUkVTQllQQVNTX01BU0tfU0ZU CQkJKDB4MSA8PCAxMykNCisjZGVmaW5lIFJHX0FDQ0RFVDJBVVhTV0VOX1NGVAkJCQkxNA0KKyNk ZWZpbmUgUkdfQUNDREVUMkFVWFNXRU5fTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0FDQ0RFVDJB VVhTV0VOX01BU0tfU0ZUCQkJKDB4MSA8PCAxNCkNCisjZGVmaW5lIFJHX0FVREFDQ0RFVE1JQ0JJ QVMzUFVMTExPV19TRlQJCQkxNQ0KKyNkZWZpbmUgUkdfQVVEQUNDREVUTUlDQklBUzNQVUxMTE9X X01BU0sJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEQUNDREVUTUlDQklBUzNQVUxMTE9XX01BU0tfU0ZU CQkoMHgxIDw8IDE1KQ0KKw0KKy8qIEFVREVOQ19BTkFfQ09OMTkgKi8NCisjZGVmaW5lIFJHX0VJ TlQxQ09ORklHQUNDREVUX1NGVAkJCTANCisjZGVmaW5lIFJHX0VJTlQxQ09ORklHQUNDREVUX01B U0sJCQkweDENCisjZGVmaW5lIFJHX0VJTlQxQ09ORklHQUNDREVUX01BU0tfU0ZUCQkJKDB4MSA8 PCAwKQ0KKyNkZWZpbmUgUkdfRUlOVDFISVJFTkJfU0ZUCQkJCTENCisjZGVmaW5lIFJHX0VJTlQx SElSRU5CX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19FSU5UMUhJUkVOQl9NQVNLX1NGVAkJCQko MHgxIDw8IDEpDQorI2RlZmluZSBSR19FSU5UMU5PSFlTX1NGVAkJCQkyDQorI2RlZmluZSBSR19F SU5UMU5PSFlTX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19FSU5UMU5PSFlTX01BU0tfU0ZUCQkJ CSgweDEgPDwgMikNCisjZGVmaW5lIFJHX0VJTlRDT01QVlRIX1NGVAkJCQk0DQorI2RlZmluZSBS R19FSU5UQ09NUFZUSF9NQVNLCQkJCTB4Zg0KKyNkZWZpbmUgUkdfRUlOVENPTVBWVEhfTUFTS19T RlQJCQkJKDB4ZiA8PCA0KQ0KKyNkZWZpbmUgUkdfTVRFU1RfRU5fU0ZUCQkJCQk4DQorI2RlZmlu ZSBSR19NVEVTVF9FTl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfTVRFU1RfRU5fTUFTS19TRlQJ CQkJKDB4MSA8PCA4KQ0KKyNkZWZpbmUgUkdfTVRFU1RfU0VMX1NGVAkJCQk5DQorI2RlZmluZSBS R19NVEVTVF9TRUxfTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX01URVNUX1NFTF9NQVNLX1NGVAkJ CQkoMHgxIDw8IDkpDQorI2RlZmluZSBSR19NVEVTVF9DVVJSRU5UX1NGVAkJCQkxMA0KKyNkZWZp bmUgUkdfTVRFU1RfQ1VSUkVOVF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfTVRFU1RfQ1VSUkVO VF9NQVNLX1NGVAkJCSgweDEgPDwgMTApDQorI2RlZmluZSBSR19BTkFMT0dGREVOX1NGVAkJCQkx Mg0KKyNkZWZpbmUgUkdfQU5BTE9HRkRFTl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQU5BTE9H RkRFTl9NQVNLX1NGVAkJCQkoMHgxIDw8IDEyKQ0KKyNkZWZpbmUgUkdfRkRWSU4xUFBVTExMT1df U0ZUCQkJCTEzDQorI2RlZmluZSBSR19GRFZJTjFQUFVMTExPV19NQVNLCQkJCTB4MQ0KKyNkZWZp bmUgUkdfRkRWSU4xUFBVTExMT1dfTUFTS19TRlQJCQkoMHgxIDw8IDEzKQ0KKyNkZWZpbmUgUkdf RkRFSU5UMFRZUEVfU0ZUCQkJCTE0DQorI2RlZmluZSBSR19GREVJTlQwVFlQRV9NQVNLCQkJCTB4 MQ0KKyNkZWZpbmUgUkdfRkRFSU5UMFRZUEVfTUFTS19TRlQJCQkJKDB4MSA8PCAxNCkNCisjZGVm aW5lIFJHX0ZERUlOVDFUWVBFX1NGVAkJCQkxNQ0KKyNkZWZpbmUgUkdfRkRFSU5UMVRZUEVfTUFT SwkJCQkweDENCisjZGVmaW5lIFJHX0ZERUlOVDFUWVBFX01BU0tfU0ZUCQkJCSgweDEgPDwgMTUp DQorDQorLyogQVVERU5DX0FOQV9DT04yMCAqLw0KKyNkZWZpbmUgUkdfRUlOVDBDTVBFTl9TRlQJ CQkJMA0KKyNkZWZpbmUgUkdfRUlOVDBDTVBFTl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfRUlO VDBDTVBFTl9NQVNLX1NGVAkJCQkoMHgxIDw8IDApDQorI2RlZmluZSBSR19FSU5UMENNUE1FTl9T RlQJCQkJMQ0KKyNkZWZpbmUgUkdfRUlOVDBDTVBNRU5fTUFTSwkJCQkweDENCisjZGVmaW5lIFJH X0VJTlQwQ01QTUVOX01BU0tfU0ZUCQkJCSgweDEgPDwgMSkNCisjZGVmaW5lIFJHX0VJTlQwRU5f U0ZUCQkJCQkyDQorI2RlZmluZSBSR19FSU5UMEVOX01BU0sJCQkJCTB4MQ0KKyNkZWZpbmUgUkdf RUlOVDBFTl9NQVNLX1NGVAkJCQkoMHgxIDw8IDIpDQorI2RlZmluZSBSR19FSU5UMENFTl9TRlQJ CQkJCTMNCisjZGVmaW5lIFJHX0VJTlQwQ0VOX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19FSU5U MENFTl9NQVNLX1NGVAkJCQkoMHgxIDw8IDMpDQorI2RlZmluZSBSR19FSU5UMElOVkVOX1NGVAkJ CQk0DQorI2RlZmluZSBSR19FSU5UMElOVkVOX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19FSU5U MElOVkVOX01BU0tfU0ZUCQkJCSgweDEgPDwgNCkNCisjZGVmaW5lIFJHX0VJTlQwQ1RVUkJPX1NG VAkJCQk1DQorI2RlZmluZSBSR19FSU5UMENUVVJCT19NQVNLCQkJCTB4Nw0KKyNkZWZpbmUgUkdf RUlOVDBDVFVSQk9fTUFTS19TRlQJCQkJKDB4NyA8PCA1KQ0KKyNkZWZpbmUgUkdfRUlOVDFDTVBF Tl9TRlQJCQkJOA0KKyNkZWZpbmUgUkdfRUlOVDFDTVBFTl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUg UkdfRUlOVDFDTVBFTl9NQVNLX1NGVAkJCQkoMHgxIDw8IDgpDQorI2RlZmluZSBSR19FSU5UMUNN UE1FTl9TRlQJCQkJOQ0KKyNkZWZpbmUgUkdfRUlOVDFDTVBNRU5fTUFTSwkJCQkweDENCisjZGVm aW5lIFJHX0VJTlQxQ01QTUVOX01BU0tfU0ZUCQkJCSgweDEgPDwgOSkNCisjZGVmaW5lIFJHX0VJ TlQxRU5fU0ZUCQkJCQkxMA0KKyNkZWZpbmUgUkdfRUlOVDFFTl9NQVNLCQkJCQkweDENCisjZGVm aW5lIFJHX0VJTlQxRU5fTUFTS19TRlQJCQkJKDB4MSA8PCAxMCkNCisjZGVmaW5lIFJHX0VJTlQx Q0VOX1NGVAkJCQkJMTENCisjZGVmaW5lIFJHX0VJTlQxQ0VOX01BU0sJCQkJMHgxDQorI2RlZmlu ZSBSR19FSU5UMUNFTl9NQVNLX1NGVAkJCQkoMHgxIDw8IDExKQ0KKyNkZWZpbmUgUkdfRUlOVDFJ TlZFTl9TRlQJCQkJMTINCisjZGVmaW5lIFJHX0VJTlQxSU5WRU5fTUFTSwkJCQkweDENCisjZGVm aW5lIFJHX0VJTlQxSU5WRU5fTUFTS19TRlQJCQkJKDB4MSA8PCAxMikNCisjZGVmaW5lIFJHX0VJ TlQxQ1RVUkJPX1NGVAkJCQkxMw0KKyNkZWZpbmUgUkdfRUlOVDFDVFVSQk9fTUFTSwkJCQkweDcN CisjZGVmaW5lIFJHX0VJTlQxQ1RVUkJPX01BU0tfU0ZUCQkJCSgweDcgPDwgMTMpDQorDQorLyog QVVERU5DX0FOQV9DT04yMSAqLw0KKyNkZWZpbmUgUkdfQUNDREVUU1BBUkVfU0ZUCQkJCTANCisj ZGVmaW5lIFJHX0FDQ0RFVFNQQVJFX01BU0sJCQkJMHhmZmZmDQorI2RlZmluZSBSR19BQ0NERVRT UEFSRV9NQVNLX1NGVAkJCQkoMHhmZmZmIDw8IDApDQorDQorLyogQVVERU5DX0FOQV9DT04yMiAq Lw0KKyNkZWZpbmUgUkdfQVVERU5DU1BBUkVWQTMwX1NGVAkJCQkwDQorI2RlZmluZSBSR19BVURF TkNTUEFSRVZBMzBfTUFTSwkJCQkweGZmDQorI2RlZmluZSBSR19BVURFTkNTUEFSRVZBMzBfTUFT S19TRlQJCQkoMHhmZiA8PCAwKQ0KKyNkZWZpbmUgUkdfQVVERU5DU1BBUkVWQTE4X1NGVAkJCQk4 DQorI2RlZmluZSBSR19BVURFTkNTUEFSRVZBMThfTUFTSwkJCQkweGZmDQorI2RlZmluZSBSR19B VURFTkNTUEFSRVZBMThfTUFTS19TRlQJCQkoMHhmZiA8PCA4KQ0KKw0KKy8qIEFVREVOQ19BTkFf Q09OMjMgKi8NCisjZGVmaW5lIFJHX0NMS1NRX0VOX1NGVAkJCQkJMA0KKyNkZWZpbmUgUkdfQ0xL U1FfRU5fTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0NMS1NRX0VOX01BU0tfU0ZUCQkJCSgweDEg PDwgMCkNCisjZGVmaW5lIFJHX0NMS1NRX0lOX1NFTF9URVNUX1NGVAkJCTENCisjZGVmaW5lIFJH X0NMS1NRX0lOX1NFTF9URVNUX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0NMS1NRX0lOX1NFTF9U RVNUX01BU0tfU0ZUCQkJKDB4MSA8PCAxKQ0KKyNkZWZpbmUgUkdfQ01fUkVGR0VOU0VMX1NGVAkJ CQkyDQorI2RlZmluZSBSR19DTV9SRUZHRU5TRUxfTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0NN X1JFRkdFTlNFTF9NQVNLX1NGVAkJCSgweDEgPDwgMikNCisjZGVmaW5lIFJHX0FVRElPX1ZPV19F Tl9TRlQJCQkJMw0KKyNkZWZpbmUgUkdfQVVESU9fVk9XX0VOX01BU0sJCQkJMHgxDQorI2RlZmlu ZSBSR19BVURJT19WT1dfRU5fTUFTS19TRlQJCQkoMHgxIDw8IDMpDQorI2RlZmluZSBSR19DTEtT UV9FTl9WT1dfU0ZUCQkJCTQNCisjZGVmaW5lIFJHX0NMS1NRX0VOX1ZPV19NQVNLCQkJCTB4MQ0K KyNkZWZpbmUgUkdfQ0xLU1FfRU5fVk9XX01BU0tfU0ZUCQkJKDB4MSA8PCA0KQ0KKyNkZWZpbmUg UkdfQ0xLQU5EX0VOX1ZPV19TRlQJCQkJNQ0KKyNkZWZpbmUgUkdfQ0xLQU5EX0VOX1ZPV19NQVNL CQkJCTB4MQ0KKyNkZWZpbmUgUkdfQ0xLQU5EX0VOX1ZPV19NQVNLX1NGVAkJCSgweDEgPDwgNSkN CisjZGVmaW5lIFJHX1ZPV0NMS19TRUxfRU5fVk9XX1NGVAkJCTYNCisjZGVmaW5lIFJHX1ZPV0NM S19TRUxfRU5fVk9XX01BU0sJCQkweDENCisjZGVmaW5lIFJHX1ZPV0NMS19TRUxfRU5fVk9XX01B U0tfU0ZUCQkJKDB4MSA8PCA2KQ0KKyNkZWZpbmUgUkdfU1BBUkVfVk9XX1NGVAkJCQk3DQorI2Rl ZmluZSBSR19TUEFSRV9WT1dfTUFTSwkJCQkweDcNCisjZGVmaW5lIFJHX1NQQVJFX1ZPV19NQVNL X1NGVAkJCQkoMHg3IDw8IDcpDQorDQorLyogQVVEREVDX0FOQV9DT04wICovDQorI2RlZmluZSBS R19BVUREQUNMUFdSVVBfVkFVRFAzMl9TRlQJCQkwDQorI2RlZmluZSBSR19BVUREQUNMUFdSVVBf VkFVRFAzMl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVUREQUNMUFdSVVBfVkFVRFAzMl9NQVNL X1NGVAkJKDB4MSA8PCAwKQ0KKyNkZWZpbmUgUkdfQVVEREFDUlBXUlVQX1ZBVURQMzJfU0ZUCQkJ MQ0KKyNkZWZpbmUgUkdfQVVEREFDUlBXUlVQX1ZBVURQMzJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUg UkdfQVVEREFDUlBXUlVQX1ZBVURQMzJfTUFTS19TRlQJCSgweDEgPDwgMSkNCisjZGVmaW5lIFJH X0FVRF9EQUNfUFdSX1VQX1ZBMzJfU0ZUCQkJMg0KKyNkZWZpbmUgUkdfQVVEX0RBQ19QV1JfVVBf VkEzMl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURfREFDX1BXUl9VUF9WQTMyX01BU0tfU0ZU CQkJKDB4MSA8PCAyKQ0KKyNkZWZpbmUgUkdfQVVEX0RBQ19QV0xfVVBfVkEzMl9TRlQJCQkzDQor I2RlZmluZSBSR19BVURfREFDX1BXTF9VUF9WQTMyX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FV RF9EQUNfUFdMX1VQX1ZBMzJfTUFTS19TRlQJCQkoMHgxIDw8IDMpDQorI2RlZmluZSBSR19BVURI UExQV1JVUF9WQVVEUDMyX1NGVAkJCTQNCisjZGVmaW5lIFJHX0FVREhQTFBXUlVQX1ZBVURQMzJf TUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVESFBMUFdSVVBfVkFVRFAzMl9NQVNLX1NGVAkJCSgw eDEgPDwgNCkNCisjZGVmaW5lIFJHX0FVREhQUlBXUlVQX1ZBVURQMzJfU0ZUCQkJNQ0KKyNkZWZp bmUgUkdfQVVESFBSUFdSVVBfVkFVRFAzMl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURIUFJQ V1JVUF9WQVVEUDMyX01BU0tfU0ZUCQkJKDB4MSA8PCA1KQ0KKyNkZWZpbmUgUkdfQVVESFBMUFdS VVBfSUJJQVNfVkFVRFAzMl9TRlQJCTYNCisjZGVmaW5lIFJHX0FVREhQTFBXUlVQX0lCSUFTX1ZB VURQMzJfTUFTSwkJMHgxDQorI2RlZmluZSBSR19BVURIUExQV1JVUF9JQklBU19WQVVEUDMyX01B U0tfU0ZUCQkoMHgxIDw8IDYpDQorI2RlZmluZSBSR19BVURIUFJQV1JVUF9JQklBU19WQVVEUDMy X1NGVAkJNw0KKyNkZWZpbmUgUkdfQVVESFBSUFdSVVBfSUJJQVNfVkFVRFAzMl9NQVNLCQkweDEN CisjZGVmaW5lIFJHX0FVREhQUlBXUlVQX0lCSUFTX1ZBVURQMzJfTUFTS19TRlQJCSgweDEgPDwg NykNCisjZGVmaW5lIFJHX0FVREhQTE1VWElOUFVUU0VMX1ZBVURQMzJfU0ZUCQk4DQorI2RlZmlu ZSBSR19BVURIUExNVVhJTlBVVFNFTF9WQVVEUDMyX01BU0sJCTB4Mw0KKyNkZWZpbmUgUkdfQVVE SFBMTVVYSU5QVVRTRUxfVkFVRFAzMl9NQVNLX1NGVAkJKDB4MyA8PCA4KQ0KKyNkZWZpbmUgUkdf QVVESFBSTVVYSU5QVVRTRUxfVkFVRFAzMl9TRlQJCTEwDQorI2RlZmluZSBSR19BVURIUFJNVVhJ TlBVVFNFTF9WQVVEUDMyX01BU0sJCTB4Mw0KKyNkZWZpbmUgUkdfQVVESFBSTVVYSU5QVVRTRUxf VkFVRFAzMl9NQVNLX1NGVAkJKDB4MyA8PCAxMCkNCisjZGVmaW5lIFJHX0FVREhQTFNDRElTQUJM RV9WQVVEUDMyX1NGVAkJCTEyDQorI2RlZmluZSBSR19BVURIUExTQ0RJU0FCTEVfVkFVRFAzMl9N QVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURIUExTQ0RJU0FCTEVfVkFVRFAzMl9NQVNLX1NGVAkJ KDB4MSA8PCAxMikNCisjZGVmaW5lIFJHX0FVREhQUlNDRElTQUJMRV9WQVVEUDMyX1NGVAkJCTEz DQorI2RlZmluZSBSR19BVURIUFJTQ0RJU0FCTEVfVkFVRFAzMl9NQVNLCQkJMHgxDQorI2RlZmlu ZSBSR19BVURIUFJTQ0RJU0FCTEVfVkFVRFAzMl9NQVNLX1NGVAkJKDB4MSA8PCAxMykNCisjZGVm aW5lIFJHX0FVREhQTEJTQ0NVUlJFTlRfVkFVRFAzMl9TRlQJCQkxNA0KKyNkZWZpbmUgUkdfQVVE SFBMQlNDQ1VSUkVOVF9WQVVEUDMyX01BU0sJCTB4MQ0KKyNkZWZpbmUgUkdfQVVESFBMQlNDQ1VS UkVOVF9WQVVEUDMyX01BU0tfU0ZUCQkoMHgxIDw8IDE0KQ0KKyNkZWZpbmUgUkdfQVVESFBSQlND Q1VSUkVOVF9WQVVEUDMyX1NGVAkJCTE1DQorI2RlZmluZSBSR19BVURIUFJCU0NDVVJSRU5UX1ZB VURQMzJfTUFTSwkJMHgxDQorI2RlZmluZSBSR19BVURIUFJCU0NDVVJSRU5UX1ZBVURQMzJfTUFT S19TRlQJCSgweDEgPDwgMTUpDQorDQorLyogQVVEREVDX0FOQV9DT04xICovDQorI2RlZmluZSBS R19BVURIUExPVVRQV1JVUF9WQVVEUDMyX1NGVAkJCTANCisjZGVmaW5lIFJHX0FVREhQTE9VVFBX UlVQX1ZBVURQMzJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVESFBMT1VUUFdSVVBfVkFVRFAz Ml9NQVNLX1NGVAkJKDB4MSA8PCAwKQ0KKyNkZWZpbmUgUkdfQVVESFBST1VUUFdSVVBfVkFVRFAz Ml9TRlQJCQkxDQorI2RlZmluZSBSR19BVURIUFJPVVRQV1JVUF9WQVVEUDMyX01BU0sJCQkweDEN CisjZGVmaW5lIFJHX0FVREhQUk9VVFBXUlVQX1ZBVURQMzJfTUFTS19TRlQJCSgweDEgPDwgMSkN CisjZGVmaW5lIFJHX0FVREhQTE9VVEFVWFBXUlVQX1ZBVURQMzJfU0ZUCQkyDQorI2RlZmluZSBS R19BVURIUExPVVRBVVhQV1JVUF9WQVVEUDMyX01BU0sJCTB4MQ0KKyNkZWZpbmUgUkdfQVVESFBM T1VUQVVYUFdSVVBfVkFVRFAzMl9NQVNLX1NGVAkJKDB4MSA8PCAyKQ0KKyNkZWZpbmUgUkdfQVVE SFBST1VUQVVYUFdSVVBfVkFVRFAzMl9TRlQJCTMNCisjZGVmaW5lIFJHX0FVREhQUk9VVEFVWFBX UlVQX1ZBVURQMzJfTUFTSwkJMHgxDQorI2RlZmluZSBSR19BVURIUFJPVVRBVVhQV1JVUF9WQVVE UDMyX01BU0tfU0ZUCQkoMHgxIDw8IDMpDQorI2RlZmluZSBSR19IUExBVVhGQlJTV19FTl9WQVVE UDMyX1NGVAkJCTQNCisjZGVmaW5lIFJHX0hQTEFVWEZCUlNXX0VOX1ZBVURQMzJfTUFTSwkJCTB4 MQ0KKyNkZWZpbmUgUkdfSFBMQVVYRkJSU1dfRU5fVkFVRFAzMl9NQVNLX1NGVAkJKDB4MSA8PCA0 KQ0KKyNkZWZpbmUgUkdfSFBSQVVYRkJSU1dfRU5fVkFVRFAzMl9TRlQJCQk1DQorI2RlZmluZSBS R19IUFJBVVhGQlJTV19FTl9WQVVEUDMyX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0hQUkFVWEZC UlNXX0VOX1ZBVURQMzJfTUFTS19TRlQJCSgweDEgPDwgNSkNCisjZGVmaW5lIFJHX0hQTFNIT1JU MkhQTEFVWF9FTl9WQVVEUDMyX1NGVAkJNg0KKyNkZWZpbmUgUkdfSFBMU0hPUlQySFBMQVVYX0VO X1ZBVURQMzJfTUFTSwkJMHgxDQorI2RlZmluZSBSR19IUExTSE9SVDJIUExBVVhfRU5fVkFVRFAz Ml9NQVNLX1NGVAkJKDB4MSA8PCA2KQ0KKyNkZWZpbmUgUkdfSFBSU0hPUlQySFBSQVVYX0VOX1ZB VURQMzJfU0ZUCQk3DQorI2RlZmluZSBSR19IUFJTSE9SVDJIUFJBVVhfRU5fVkFVRFAzMl9NQVNL CQkweDENCisjZGVmaW5lIFJHX0hQUlNIT1JUMkhQUkFVWF9FTl9WQVVEUDMyX01BU0tfU0ZUCQko MHgxIDw8IDcpDQorI2RlZmluZSBSR19IUExPVVRTVEdDVFJMX1ZBVURQMzJfU0ZUCQkJOA0KKyNk ZWZpbmUgUkdfSFBMT1VUU1RHQ1RSTF9WQVVEUDMyX01BU0sJCQkweDcNCisjZGVmaW5lIFJHX0hQ TE9VVFNUR0NUUkxfVkFVRFAzMl9NQVNLX1NGVAkJKDB4NyA8PCA4KQ0KKyNkZWZpbmUgUkdfSFBS T1VUU1RHQ1RSTF9WQVVEUDMyX1NGVAkJCTEyDQorI2RlZmluZSBSR19IUFJPVVRTVEdDVFJMX1ZB VURQMzJfTUFTSwkJCTB4Nw0KKyNkZWZpbmUgUkdfSFBST1VUU1RHQ1RSTF9WQVVEUDMyX01BU0tf U0ZUCQkoMHg3IDw8IDEyKQ0KKw0KKy8qIEFVRERFQ19BTkFfQ09OMiAqLw0KKyNkZWZpbmUgUkdf SFBMT1VUUFVUU1RCRU5IX1ZBVURQMzJfU0ZUCQkJMA0KKyNkZWZpbmUgUkdfSFBMT1VUUFVUU1RC RU5IX1ZBVURQMzJfTUFTSwkJCTB4Nw0KKyNkZWZpbmUgUkdfSFBMT1VUUFVUU1RCRU5IX1ZBVURQ MzJfTUFTS19TRlQJCSgweDcgPDwgMCkNCisjZGVmaW5lIFJHX0hQUk9VVFBVVFNUQkVOSF9WQVVE UDMyX1NGVAkJCTQNCisjZGVmaW5lIFJHX0hQUk9VVFBVVFNUQkVOSF9WQVVEUDMyX01BU0sJCQkw eDcNCisjZGVmaW5lIFJHX0hQUk9VVFBVVFNUQkVOSF9WQVVEUDMyX01BU0tfU0ZUCQkoMHg3IDw8 IDQpDQorI2RlZmluZSBSR19BVURIUFNUQVJUVVBfVkFVRFAzMl9TRlQJCQk3DQorI2RlZmluZSBS R19BVURIUFNUQVJUVVBfVkFVRFAzMl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURIUFNUQVJU VVBfVkFVRFAzMl9NQVNLX1NGVAkJKDB4MSA8PCA3KQ0KKyNkZWZpbmUgUkdfQVVEUkVGTl9ERVJF U19FTl9WQVVEUDMyX1NGVAkJCTgNCisjZGVmaW5lIFJHX0FVRFJFRk5fREVSRVNfRU5fVkFVRFAz Ml9NQVNLCQkweDENCisjZGVmaW5lIFJHX0FVRFJFRk5fREVSRVNfRU5fVkFVRFAzMl9NQVNLX1NG VAkJKDB4MSA8PCA4KQ0KKyNkZWZpbmUgUkdfSFBJTlBVVFNUQkVOSF9WQVVEUDMyX1NGVAkJCTkN CisjZGVmaW5lIFJHX0hQSU5QVVRTVEJFTkhfVkFVRFAzMl9NQVNLCQkJMHgxDQorI2RlZmluZSBS R19IUElOUFVUU1RCRU5IX1ZBVURQMzJfTUFTS19TRlQJCSgweDEgPDwgOSkNCisjZGVmaW5lIFJH X0hQSU5QVVRSRVNFVDBfVkFVRFAzMl9TRlQJCQkxMA0KKyNkZWZpbmUgUkdfSFBJTlBVVFJFU0VU MF9WQVVEUDMyX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0hQSU5QVVRSRVNFVDBfVkFVRFAzMl9N QVNLX1NGVAkJKDB4MSA8PCAxMCkNCisjZGVmaW5lIFJHX0hQT1VUUFVUUkVTRVQwX1ZBVURQMzJf U0ZUCQkJMTENCisjZGVmaW5lIFJHX0hQT1VUUFVUUkVTRVQwX1ZBVURQMzJfTUFTSwkJCTB4MQ0K KyNkZWZpbmUgUkdfSFBPVVRQVVRSRVNFVDBfVkFVRFAzMl9NQVNLX1NGVAkJKDB4MSA8PCAxMSkN CisjZGVmaW5lIFJHX0hQUFNIT1JUMlZDTV9WQVVEUDMyX1NGVAkJCTEyDQorI2RlZmluZSBSR19I UFBTSE9SVDJWQ01fVkFVRFAzMl9NQVNLCQkJMHg3DQorI2RlZmluZSBSR19IUFBTSE9SVDJWQ01f VkFVRFAzMl9NQVNLX1NGVAkJKDB4NyA8PCAxMikNCisjZGVmaW5lIFJHX0FVREhQVFJJTV9FTl9W QVVEUDMyX1NGVAkJCTE1DQorI2RlZmluZSBSR19BVURIUFRSSU1fRU5fVkFVRFAzMl9NQVNLCQkJ MHgxDQorI2RlZmluZSBSR19BVURIUFRSSU1fRU5fVkFVRFAzMl9NQVNLX1NGVAkJKDB4MSA8PCAx NSkNCisNCisvKiBBVURERUNfQU5BX0NPTjMgKi8NCisjZGVmaW5lIFJHX0FVREhQTFRSSU1fVkFV RFAzMl9TRlQJCQkwDQorI2RlZmluZSBSR19BVURIUExUUklNX1ZBVURQMzJfTUFTSwkJCTB4MWYN CisjZGVmaW5lIFJHX0FVREhQTFRSSU1fVkFVRFAzMl9NQVNLX1NGVAkJCSgweDFmIDw8IDApDQor I2RlZmluZSBSR19BVURIUExGSU5FVFJJTV9WQVVEUDMyX1NGVAkJCTUNCisjZGVmaW5lIFJHX0FV REhQTEZJTkVUUklNX1ZBVURQMzJfTUFTSwkJCTB4Nw0KKyNkZWZpbmUgUkdfQVVESFBMRklORVRS SU1fVkFVRFAzMl9NQVNLX1NGVAkJKDB4NyA8PCA1KQ0KKyNkZWZpbmUgUkdfQVVESFBSVFJJTV9W QVVEUDMyX1NGVAkJCTgNCisjZGVmaW5lIFJHX0FVREhQUlRSSU1fVkFVRFAzMl9NQVNLCQkJMHgx Zg0KKyNkZWZpbmUgUkdfQVVESFBSVFJJTV9WQVVEUDMyX01BU0tfU0ZUCQkJKDB4MWYgPDwgOCkN CisjZGVmaW5lIFJHX0FVREhQUkZJTkVUUklNX1ZBVURQMzJfU0ZUCQkJMTMNCisjZGVmaW5lIFJH X0FVREhQUkZJTkVUUklNX1ZBVURQMzJfTUFTSwkJCTB4Nw0KKyNkZWZpbmUgUkdfQVVESFBSRklO RVRSSU1fVkFVRFAzMl9NQVNLX1NGVAkJKDB4NyA8PCAxMykNCisNCisvKiBBVURERUNfQU5BX0NP TjQgKi8NCisjZGVmaW5lIFJHX0FVREhQRElGRklOUEJJQVNBREpfVkFVRFAzMl9TRlQJCTANCisj ZGVmaW5lIFJHX0FVREhQRElGRklOUEJJQVNBREpfVkFVRFAzMl9NQVNLCQkweDcNCisjZGVmaW5l IFJHX0FVREhQRElGRklOUEJJQVNBREpfVkFVRFAzMl9NQVNLX1NGVAkJKDB4NyA8PCAwKQ0KKyNk ZWZpbmUgUkdfQVVESFBMRkNPTVBSRVNTRUxfVkFVRFAzMl9TRlQJCTQNCisjZGVmaW5lIFJHX0FV REhQTEZDT01QUkVTU0VMX1ZBVURQMzJfTUFTSwkJMHg3DQorI2RlZmluZSBSR19BVURIUExGQ09N UFJFU1NFTF9WQVVEUDMyX01BU0tfU0ZUCQkoMHg3IDw8IDQpDQorI2RlZmluZSBSR19BVURIUEhG Q09NUFJFU1NFTF9WQVVEUDMyX1NGVAkJOA0KKyNkZWZpbmUgUkdfQVVESFBIRkNPTVBSRVNTRUxf VkFVRFAzMl9NQVNLCQkweDcNCisjZGVmaW5lIFJHX0FVREhQSEZDT01QUkVTU0VMX1ZBVURQMzJf TUFTS19TRlQJCSgweDcgPDwgOCkNCisjZGVmaW5lIFJHX0FVREhQSEZDT01QQlVGR0FJTlNFTF9W QVVEUDMyX1NGVAkJMTINCisjZGVmaW5lIFJHX0FVREhQSEZDT01QQlVGR0FJTlNFTF9WQVVEUDMy X01BU0sJCTB4Mw0KKyNkZWZpbmUgUkdfQVVESFBIRkNPTVBCVUZHQUlOU0VMX1ZBVURQMzJfTUFT S19TRlQJKDB4MyA8PCAxMikNCisjZGVmaW5lIFJHX0FVREhQQ09NUF9FTl9WQVVEUDMyX1NGVAkJ CTE1DQorI2RlZmluZSBSR19BVURIUENPTVBfRU5fVkFVRFAzMl9NQVNLCQkJMHgxDQorI2RlZmlu ZSBSR19BVURIUENPTVBfRU5fVkFVRFAzMl9NQVNLX1NGVAkJKDB4MSA8PCAxNSkNCisNCisvKiBB VURERUNfQU5BX0NPTjUgKi8NCisjZGVmaW5lIFJHX0FVREhQREVDTUdBSU5BREpfVkFVRFAzMl9T RlQJCQkwDQorI2RlZmluZSBSR19BVURIUERFQ01HQUlOQURKX1ZBVURQMzJfTUFTSwkJMHg3DQor I2RlZmluZSBSR19BVURIUERFQ01HQUlOQURKX1ZBVURQMzJfTUFTS19TRlQJCSgweDcgPDwgMCkN CisjZGVmaW5lIFJHX0FVREhQREVETUdBSU5BREpfVkFVRFAzMl9TRlQJCQk0DQorI2RlZmluZSBS R19BVURIUERFRE1HQUlOQURKX1ZBVURQMzJfTUFTSwkJMHg3DQorI2RlZmluZSBSR19BVURIUERF RE1HQUlOQURKX1ZBVURQMzJfTUFTS19TRlQJCSgweDcgPDwgNCkNCisNCisvKiBBVURERUNfQU5B X0NPTjYgKi8NCisjZGVmaW5lIFJHX0FVREhTUFdSVVBfVkFVRFAzMl9TRlQJCQkwDQorI2RlZmlu ZSBSR19BVURIU1BXUlVQX1ZBVURQMzJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVESFNQV1JV UF9WQVVEUDMyX01BU0tfU0ZUCQkJKDB4MSA8PCAwKQ0KKyNkZWZpbmUgUkdfQVVESFNQV1JVUF9J QklBU19WQVVEUDMyX1NGVAkJCTENCisjZGVmaW5lIFJHX0FVREhTUFdSVVBfSUJJQVNfVkFVRFAz Ml9NQVNLCQkweDENCisjZGVmaW5lIFJHX0FVREhTUFdSVVBfSUJJQVNfVkFVRFAzMl9NQVNLX1NG VAkJKDB4MSA8PCAxKQ0KKyNkZWZpbmUgUkdfQVVESFNNVVhJTlBVVFNFTF9WQVVEUDMyX1NGVAkJ CTINCisjZGVmaW5lIFJHX0FVREhTTVVYSU5QVVRTRUxfVkFVRFAzMl9NQVNLCQkweDMNCisjZGVm aW5lIFJHX0FVREhTTVVYSU5QVVRTRUxfVkFVRFAzMl9NQVNLX1NGVAkJKDB4MyA8PCAyKQ0KKyNk ZWZpbmUgUkdfQVVESFNTQ0RJU0FCTEVfVkFVRFAzMl9TRlQJCQk0DQorI2RlZmluZSBSR19BVURI U1NDRElTQUJMRV9WQVVEUDMyX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FVREhTU0NESVNBQkxF X1ZBVURQMzJfTUFTS19TRlQJCSgweDEgPDwgNCkNCisjZGVmaW5lIFJHX0FVREhTQlNDQ1VSUkVO VF9WQVVEUDMyX1NGVAkJCTUNCisjZGVmaW5lIFJHX0FVREhTQlNDQ1VSUkVOVF9WQVVEUDMyX01B U0sJCQkweDENCisjZGVmaW5lIFJHX0FVREhTQlNDQ1VSUkVOVF9WQVVEUDMyX01BU0tfU0ZUCQko MHgxIDw8IDUpDQorI2RlZmluZSBSR19BVURIU1NUQVJUVVBfVkFVRFAzMl9TRlQJCQk2DQorI2Rl ZmluZSBSR19BVURIU1NUQVJUVVBfVkFVRFAzMl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURI U1NUQVJUVVBfVkFVRFAzMl9NQVNLX1NGVAkJKDB4MSA8PCA2KQ0KKyNkZWZpbmUgUkdfSFNPVVRQ VVRTVEJFTkhfVkFVRFAzMl9TRlQJCQk3DQorI2RlZmluZSBSR19IU09VVFBVVFNUQkVOSF9WQVVE UDMyX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0hTT1VUUFVUU1RCRU5IX1ZBVURQMzJfTUFTS19T RlQJCSgweDEgPDwgNykNCisjZGVmaW5lIFJHX0hTSU5QVVRTVEJFTkhfVkFVRFAzMl9TRlQJCQk4 DQorI2RlZmluZSBSR19IU0lOUFVUU1RCRU5IX1ZBVURQMzJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUg UkdfSFNJTlBVVFNUQkVOSF9WQVVEUDMyX01BU0tfU0ZUCQkoMHgxIDw8IDgpDQorI2RlZmluZSBS R19IU0lOUFVUUkVTRVQwX1ZBVURQMzJfU0ZUCQkJOQ0KKyNkZWZpbmUgUkdfSFNJTlBVVFJFU0VU MF9WQVVEUDMyX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0hTSU5QVVRSRVNFVDBfVkFVRFAzMl9N QVNLX1NGVAkJKDB4MSA8PCA5KQ0KKyNkZWZpbmUgUkdfSFNPVVRQVVRSRVNFVDBfVkFVRFAzMl9T RlQJCQkxMA0KKyNkZWZpbmUgUkdfSFNPVVRQVVRSRVNFVDBfVkFVRFAzMl9NQVNLCQkJMHgxDQor I2RlZmluZSBSR19IU09VVFBVVFJFU0VUMF9WQVVEUDMyX01BU0tfU0ZUCQkoMHgxIDw8IDEwKQ0K KyNkZWZpbmUgUkdfSFNPVVRfU0hPUlRWQ01fVkFVRFAzMl9TRlQJCQkxMQ0KKyNkZWZpbmUgUkdf SFNPVVRfU0hPUlRWQ01fVkFVRFAzMl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19IU09VVF9TSE9S VFZDTV9WQVVEUDMyX01BU0tfU0ZUCQkoMHgxIDw8IDExKQ0KKw0KKy8qIEFVRERFQ19BTkFfQ09O NyAqLw0KKyNkZWZpbmUgUkdfQVVETE9MUFdSVVBfVkFVRFAzMl9TRlQJCQkwDQorI2RlZmluZSBS R19BVURMT0xQV1JVUF9WQVVEUDMyX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FVRExPTFBXUlVQ X1ZBVURQMzJfTUFTS19TRlQJCQkoMHgxIDw8IDApDQorI2RlZmluZSBSR19BVURMT0xQV1JVUF9J QklBU19WQVVEUDMyX1NGVAkJMQ0KKyNkZWZpbmUgUkdfQVVETE9MUFdSVVBfSUJJQVNfVkFVRFAz Ml9NQVNLCQkweDENCisjZGVmaW5lIFJHX0FVRExPTFBXUlVQX0lCSUFTX1ZBVURQMzJfTUFTS19T RlQJCSgweDEgPDwgMSkNCisjZGVmaW5lIFJHX0FVRExPTE1VWElOUFVUU0VMX1ZBVURQMzJfU0ZU CQkyDQorI2RlZmluZSBSR19BVURMT0xNVVhJTlBVVFNFTF9WQVVEUDMyX01BU0sJCTB4Mw0KKyNk ZWZpbmUgUkdfQVVETE9MTVVYSU5QVVRTRUxfVkFVRFAzMl9NQVNLX1NGVAkJKDB4MyA8PCAyKQ0K KyNkZWZpbmUgUkdfQVVETE9MU0NESVNBQkxFX1ZBVURQMzJfU0ZUCQkJNA0KKyNkZWZpbmUgUkdf QVVETE9MU0NESVNBQkxFX1ZBVURQMzJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVETE9MU0NE SVNBQkxFX1ZBVURQMzJfTUFTS19TRlQJCSgweDEgPDwgNCkNCisjZGVmaW5lIFJHX0FVRExPTEJT Q0NVUlJFTlRfVkFVRFAzMl9TRlQJCQk1DQorI2RlZmluZSBSR19BVURMT0xCU0NDVVJSRU5UX1ZB VURQMzJfTUFTSwkJMHgxDQorI2RlZmluZSBSR19BVURMT0xCU0NDVVJSRU5UX1ZBVURQMzJfTUFT S19TRlQJCSgweDEgPDwgNSkNCisjZGVmaW5lIFJHX0FVRExPU1RBUlRVUF9WQVVEUDMyX1NGVAkJ CTYNCisjZGVmaW5lIFJHX0FVRExPU1RBUlRVUF9WQVVEUDMyX01BU0sJCQkweDENCisjZGVmaW5l IFJHX0FVRExPU1RBUlRVUF9WQVVEUDMyX01BU0tfU0ZUCQkoMHgxIDw8IDYpDQorI2RlZmluZSBS R19MT0lOUFVUU1RCRU5IX1ZBVURQMzJfU0ZUCQkJNw0KKyNkZWZpbmUgUkdfTE9JTlBVVFNUQkVO SF9WQVVEUDMyX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0xPSU5QVVRTVEJFTkhfVkFVRFAzMl9N QVNLX1NGVAkJKDB4MSA8PCA3KQ0KKyNkZWZpbmUgUkdfTE9PVVRQVVRTVEJFTkhfVkFVRFAzMl9T RlQJCQk4DQorI2RlZmluZSBSR19MT09VVFBVVFNUQkVOSF9WQVVEUDMyX01BU0sJCQkweDENCisj ZGVmaW5lIFJHX0xPT1VUUFVUU1RCRU5IX1ZBVURQMzJfTUFTS19TRlQJCSgweDEgPDwgOCkNCisj ZGVmaW5lIFJHX0xPSU5QVVRSRVNFVDBfVkFVRFAzMl9TRlQJCQk5DQorI2RlZmluZSBSR19MT0lO UFVUUkVTRVQwX1ZBVURQMzJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfTE9JTlBVVFJFU0VUMF9W QVVEUDMyX01BU0tfU0ZUCQkoMHgxIDw8IDkpDQorI2RlZmluZSBSR19MT09VVFBVVFJFU0VUMF9W QVVEUDMyX1NGVAkJCTEwDQorI2RlZmluZSBSR19MT09VVFBVVFJFU0VUMF9WQVVEUDMyX01BU0sJ CQkweDENCisjZGVmaW5lIFJHX0xPT1VUUFVUUkVTRVQwX1ZBVURQMzJfTUFTS19TRlQJCSgweDEg PDwgMTApDQorI2RlZmluZSBSR19MT09VVF9TSE9SVFZDTV9WQVVEUDMyX1NGVAkJCTExDQorI2Rl ZmluZSBSR19MT09VVF9TSE9SVFZDTV9WQVVEUDMyX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0xP T1VUX1NIT1JUVkNNX1ZBVURQMzJfTUFTS19TRlQJCSgweDEgPDwgMTEpDQorI2RlZmluZSBSR19B VUREQUNUUFdSVVBfVkFVRFAzMl9TRlQJCQkxMg0KKyNkZWZpbmUgUkdfQVVEREFDVFBXUlVQX1ZB VURQMzJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEREFDVFBXUlVQX1ZBVURQMzJfTUFTS19T RlQJCSgweDEgPDwgMTIpDQorI2RlZmluZSBSR19BVURfREFDX1BXVF9VUF9WQTMyX1NGVAkJCTEz DQorI2RlZmluZSBSR19BVURfREFDX1BXVF9VUF9WQTMyX01BU0sJCQkweDENCisjZGVmaW5lIFJH X0FVRF9EQUNfUFdUX1VQX1ZBMzJfTUFTS19TRlQJCQkoMHgxIDw8IDEzKQ0KKw0KKy8qIEFVRERF Q19BTkFfQ09OOCAqLw0KKyNkZWZpbmUgUkdfQVVEVFJJTUJVRl9JTlBVVE1VWFNFTF9WQVVEUDMy X1NGVAkJMA0KKyNkZWZpbmUgUkdfQVVEVFJJTUJVRl9JTlBVVE1VWFNFTF9WQVVEUDMyX01BU0sJ CTB4Zg0KKyNkZWZpbmUgUkdfQVVEVFJJTUJVRl9JTlBVVE1VWFNFTF9WQVVEUDMyX01BU0tfU0ZU CSgweGYgPDwgMCkNCisjZGVmaW5lIFJHX0FVRFRSSU1CVUZfR0FJTlNFTF9WQVVEUDMyX1NGVAkJ NA0KKyNkZWZpbmUgUkdfQVVEVFJJTUJVRl9HQUlOU0VMX1ZBVURQMzJfTUFTSwkJMHgzDQorI2Rl ZmluZSBSR19BVURUUklNQlVGX0dBSU5TRUxfVkFVRFAzMl9NQVNLX1NGVAkJKDB4MyA8PCA0KQ0K KyNkZWZpbmUgUkdfQVVEVFJJTUJVRl9FTl9WQVVEUDMyX1NGVAkJCTYNCisjZGVmaW5lIFJHX0FV RFRSSU1CVUZfRU5fVkFVRFAzMl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURUUklNQlVGX0VO X1ZBVURQMzJfTUFTS19TRlQJCSgweDEgPDwgNikNCisjZGVmaW5lIFJHX0FVREhQU1BLREVUX0lO UFVUTVVYU0VMX1ZBVURQMzJfU0ZUCQk4DQorI2RlZmluZSBSR19BVURIUFNQS0RFVF9JTlBVVE1V WFNFTF9WQVVEUDMyX01BU0sJCTB4Mw0KKyNkZWZpbmUgUkdfQVVESFBTUEtERVRfSU5QVVRNVVhT RUxfVkFVRFAzMl9NQVNLX1NGVAkoMHgzIDw8IDgpDQorI2RlZmluZSBSR19BVURIUFNQS0RFVF9P VVRQVVRNVVhTRUxfVkFVRFAzMl9TRlQJCTEwDQorI2RlZmluZSBSR19BVURIUFNQS0RFVF9PVVRQ VVRNVVhTRUxfVkFVRFAzMl9NQVNLCTB4Mw0KKyNkZWZpbmUgUkdfQVVESFBTUEtERVRfT1VUUFVU TVVYU0VMX1ZBVURQMzJfTUFTS19TRlQJKDB4MyA8PCAxMCkNCisjZGVmaW5lIFJHX0FVREhQU1BL REVUX0VOX1ZBVURQMzJfU0ZUCQkJMTINCisjZGVmaW5lIFJHX0FVREhQU1BLREVUX0VOX1ZBVURQ MzJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVESFBTUEtERVRfRU5fVkFVRFAzMl9NQVNLX1NG VAkJKDB4MSA8PCAxMikNCisNCisvKiBBVURERUNfQU5BX0NPTjkgKi8NCisjZGVmaW5lIFJHX0FC SURFQ19SU1ZEMF9WQTMyX1NGVAkJCTANCisjZGVmaW5lIFJHX0FCSURFQ19SU1ZEMF9WQTMyX01B U0sJCQkweGZmDQorI2RlZmluZSBSR19BQklERUNfUlNWRDBfVkEzMl9NQVNLX1NGVAkJCSgweGZm IDw8IDApDQorI2RlZmluZSBSR19BQklERUNfUlNWRDBfVkFVRFAzMl9TRlQJCQk4DQorI2RlZmlu ZSBSR19BQklERUNfUlNWRDBfVkFVRFAzMl9NQVNLCQkJMHhmZg0KKyNkZWZpbmUgUkdfQUJJREVD X1JTVkQwX1ZBVURQMzJfTUFTS19TRlQJCSgweGZmIDw8IDgpDQorDQorLyogQVVEREVDX0FOQV9D T04xMCAqLw0KKyNkZWZpbmUgUkdfQUJJREVDX1JTVkQxX1ZBVURQMzJfU0ZUCQkJMA0KKyNkZWZp bmUgUkdfQUJJREVDX1JTVkQxX1ZBVURQMzJfTUFTSwkJCTB4ZmYNCisjZGVmaW5lIFJHX0FCSURF Q19SU1ZEMV9WQVVEUDMyX01BU0tfU0ZUCQkoMHhmZiA8PCAwKQ0KKyNkZWZpbmUgUkdfQUJJREVD X1JTVkQyX1ZBVURQMzJfU0ZUCQkJOA0KKyNkZWZpbmUgUkdfQUJJREVDX1JTVkQyX1ZBVURQMzJf TUFTSwkJCTB4ZmYNCisjZGVmaW5lIFJHX0FCSURFQ19SU1ZEMl9WQVVEUDMyX01BU0tfU0ZUCQko MHhmZiA8PCA4KQ0KKw0KKy8qIEFVRERFQ19BTkFfQ09OMTEgKi8NCisjZGVmaW5lIFJHX0FVRFpD RE1VWFNFTF9WQVVEUDMyX1NGVAkJCTANCisjZGVmaW5lIFJHX0FVRFpDRE1VWFNFTF9WQVVEUDMy X01BU0sJCQkweDcNCisjZGVmaW5lIFJHX0FVRFpDRE1VWFNFTF9WQVVEUDMyX01BU0tfU0ZUCQko MHg3IDw8IDApDQorI2RlZmluZSBSR19BVURaQ0RDTEtTRUxfVkFVRFAzMl9TRlQJCQkzDQorI2Rl ZmluZSBSR19BVURaQ0RDTEtTRUxfVkFVRFAzMl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURa Q0RDTEtTRUxfVkFVRFAzMl9NQVNLX1NGVAkJKDB4MSA8PCAzKQ0KKyNkZWZpbmUgUkdfQVVEQklB U0FESl8wX1ZBVURQMzJfU0ZUCQkJNw0KKyNkZWZpbmUgUkdfQVVEQklBU0FESl8wX1ZBVURQMzJf TUFTSwkJCTB4MWZmDQorI2RlZmluZSBSR19BVURCSUFTQURKXzBfVkFVRFAzMl9NQVNLX1NGVAkJ KDB4MWZmIDw8IDcpDQorDQorLyogQVVEREVDX0FOQV9DT04xMiAqLw0KKyNkZWZpbmUgUkdfQVVE QklBU0FESl8xX1ZBVURQMzJfU0ZUCQkJMA0KKyNkZWZpbmUgUkdfQVVEQklBU0FESl8xX1ZBVURQ MzJfTUFTSwkJCTB4ZmYNCisjZGVmaW5lIFJHX0FVREJJQVNBREpfMV9WQVVEUDMyX01BU0tfU0ZU CQkoMHhmZiA8PCAwKQ0KKyNkZWZpbmUgUkdfQVVESUJJQVNQV1JETl9WQVVEUDMyX1NGVAkJCTgN CisjZGVmaW5lIFJHX0FVRElCSUFTUFdSRE5fVkFVRFAzMl9NQVNLCQkJMHgxDQorI2RlZmluZSBS R19BVURJQklBU1BXUkROX1ZBVURQMzJfTUFTS19TRlQJCSgweDEgPDwgOCkNCisNCisvKiBBVURE RUNfQU5BX0NPTjEzICovDQorI2RlZmluZSBSR19SU1RCX0RFQ09ERVJfVkEzMl9TRlQJCQkwDQor I2RlZmluZSBSR19SU1RCX0RFQ09ERVJfVkEzMl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19SU1RC X0RFQ09ERVJfVkEzMl9NQVNLX1NGVAkJCSgweDEgPDwgMCkNCisjZGVmaW5lIFJHX1NFTF9ERUNP REVSXzk2S19WQTMyX1NGVAkJCTENCisjZGVmaW5lIFJHX1NFTF9ERUNPREVSXzk2S19WQTMyX01B U0sJCQkweDENCisjZGVmaW5lIFJHX1NFTF9ERUNPREVSXzk2S19WQTMyX01BU0tfU0ZUCQkoMHgx IDw8IDEpDQorI2RlZmluZSBSR19TRUxfREVMQVlfVkNPUkVfU0ZUCQkJCTINCisjZGVmaW5lIFJH X1NFTF9ERUxBWV9WQ09SRV9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfU0VMX0RFTEFZX1ZDT1JF X01BU0tfU0ZUCQkJKDB4MSA8PCAyKQ0KKyNkZWZpbmUgUkdfQVVER0xCX1BXUkROX1ZBMzJfU0ZU CQkJNA0KKyNkZWZpbmUgUkdfQVVER0xCX1BXUkROX1ZBMzJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUg UkdfQVVER0xCX1BXUkROX1ZBMzJfTUFTS19TRlQJCQkoMHgxIDw8IDQpDQorI2RlZmluZSBSR19B VURHTEJfTFBfVk9XX0VOX1ZBMzJfU0ZUCQkJNQ0KKyNkZWZpbmUgUkdfQVVER0xCX0xQX1ZPV19F Tl9WQTMyX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FVREdMQl9MUF9WT1dfRU5fVkEzMl9NQVNL X1NGVAkJKDB4MSA8PCA1KQ0KKyNkZWZpbmUgUkdfQVVER0xCX0xQMl9WT1dfRU5fVkEzMl9TRlQJ CQk2DQorI2RlZmluZSBSR19BVURHTEJfTFAyX1ZPV19FTl9WQTMyX01BU0sJCQkweDENCisjZGVm aW5lIFJHX0FVREdMQl9MUDJfVk9XX0VOX1ZBMzJfTUFTS19TRlQJCSgweDEgPDwgNikNCisNCisv KiBBVURERUNfQU5BX0NPTjE0ICovDQorI2RlZmluZSBSR19MQ0xET19ERUNfRU5fVkEzMl9TRlQJ CQkwDQorI2RlZmluZSBSR19MQ0xET19ERUNfRU5fVkEzMl9NQVNLCQkJMHgxDQorI2RlZmluZSBS R19MQ0xET19ERUNfRU5fVkEzMl9NQVNLX1NGVAkJCSgweDEgPDwgMCkNCisjZGVmaW5lIFJHX0xD TERPX0RFQ19QRERJU19FTl9WQTE4X1NGVAkJCTENCisjZGVmaW5lIFJHX0xDTERPX0RFQ19QRERJ U19FTl9WQTE4X01BU0sJCQkweDENCisjZGVmaW5lIFJHX0xDTERPX0RFQ19QRERJU19FTl9WQTE4 X01BU0tfU0ZUCQkoMHgxIDw8IDEpDQorI2RlZmluZSBSR19MQ0xET19ERUNfUkVNT1RFX1NFTlNF X1ZBMThfU0ZUCQkyDQorI2RlZmluZSBSR19MQ0xET19ERUNfUkVNT1RFX1NFTlNFX1ZBMThfTUFT SwkJMHgxDQorI2RlZmluZSBSR19MQ0xET19ERUNfUkVNT1RFX1NFTlNFX1ZBMThfTUFTS19TRlQJ CSgweDEgPDwgMikNCisjZGVmaW5lIFJHX05WUkVHX0VOX1ZBVURQMzJfU0ZUCQkJCTQNCisjZGVm aW5lIFJHX05WUkVHX0VOX1ZBVURQMzJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfTlZSRUdfRU5f VkFVRFAzMl9NQVNLX1NGVAkJCSgweDEgPDwgNCkNCisjZGVmaW5lIFJHX05WUkVHX1BVTEwwVl9W QVVEUDMyX1NGVAkJCTUNCisjZGVmaW5lIFJHX05WUkVHX1BVTEwwVl9WQVVEUDMyX01BU0sJCQkw eDENCisjZGVmaW5lIFJHX05WUkVHX1BVTEwwVl9WQVVEUDMyX01BU0tfU0ZUCQkoMHgxIDw8IDUp DQorI2RlZmluZSBSR19BVURQTVVfUlNWRF9WQTE4X1NGVAkJCQk4DQorI2RlZmluZSBSR19BVURQ TVVfUlNWRF9WQTE4X01BU0sJCQkweGZmDQorI2RlZmluZSBSR19BVURQTVVfUlNWRF9WQTE4X01B U0tfU0ZUCQkJKDB4ZmYgPDwgOCkNCisNCisvKiBNVDYzNTlfWkNEX0NPTjAgKi8NCisjZGVmaW5l IFJHX0FVRFpDREVOQUJMRV9TRlQJCQkJMA0KKyNkZWZpbmUgUkdfQVVEWkNERU5BQkxFX01BU0sJ CQkJMHgxDQorI2RlZmluZSBSR19BVURaQ0RFTkFCTEVfTUFTS19TRlQJCQkoMHgxIDw8IDApDQor I2RlZmluZSBSR19BVURaQ0RHQUlOU1RFUFRJTUVfU0ZUCQkJMQ0KKyNkZWZpbmUgUkdfQVVEWkNE R0FJTlNURVBUSU1FX01BU0sJCQkweDcNCisjZGVmaW5lIFJHX0FVRFpDREdBSU5TVEVQVElNRV9N QVNLX1NGVAkJCSgweDcgPDwgMSkNCisjZGVmaW5lIFJHX0FVRFpDREdBSU5TVEVQU0laRV9TRlQJ CQk0DQorI2RlZmluZSBSR19BVURaQ0RHQUlOU1RFUFNJWkVfTUFTSwkJCTB4Mw0KKyNkZWZpbmUg UkdfQVVEWkNER0FJTlNURVBTSVpFX01BU0tfU0ZUCQkJKDB4MyA8PCA0KQ0KKyNkZWZpbmUgUkdf QVVEWkNEVElNRU9VVE1PREVTRUxfU0ZUCQkJNg0KKyNkZWZpbmUgUkdfQVVEWkNEVElNRU9VVE1P REVTRUxfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEWkNEVElNRU9VVE1PREVTRUxfTUFTS19T RlQJCSgweDEgPDwgNikNCisNCisvKiBNVDYzNTlfWkNEX0NPTjEgKi8NCisjZGVmaW5lIFJHX0FV RExPTEdBSU5fU0ZUCQkJCTANCisjZGVmaW5lIFJHX0FVRExPTEdBSU5fTUFTSwkJCQkweDFmDQor I2RlZmluZSBSR19BVURMT0xHQUlOX01BU0tfU0ZUCQkJCSgweDFmIDw8IDApDQorI2RlZmluZSBS R19BVURMT1JHQUlOX1NGVAkJCQk3DQorI2RlZmluZSBSR19BVURMT1JHQUlOX01BU0sJCQkJMHgx Zg0KKyNkZWZpbmUgUkdfQVVETE9SR0FJTl9NQVNLX1NGVAkJCQkoMHgxZiA8PCA3KQ0KKw0KKy8q IE1UNjM1OV9aQ0RfQ09OMiAqLw0KKyNkZWZpbmUgUkdfQVVESFBMR0FJTl9TRlQJCQkJMA0KKyNk ZWZpbmUgUkdfQVVESFBMR0FJTl9NQVNLCQkJCTB4MWYNCisjZGVmaW5lIFJHX0FVREhQTEdBSU5f TUFTS19TRlQJCQkJKDB4MWYgPDwgMCkNCisjZGVmaW5lIFJHX0FVREhQUkdBSU5fU0ZUCQkJCTcN CisjZGVmaW5lIFJHX0FVREhQUkdBSU5fTUFTSwkJCQkweDFmDQorI2RlZmluZSBSR19BVURIUFJH QUlOX01BU0tfU0ZUCQkJCSgweDFmIDw8IDcpDQorDQorLyogTVQ2MzU5X1pDRF9DT04zICovDQor I2RlZmluZSBSR19BVURIU0dBSU5fU0ZUCQkJCTANCisjZGVmaW5lIFJHX0FVREhTR0FJTl9NQVNL CQkJCTB4MWYNCisjZGVmaW5lIFJHX0FVREhTR0FJTl9NQVNLX1NGVAkJCQkoMHgxZiA8PCAwKQ0K Kw0KKy8qIE1UNjM1OV9aQ0RfQ09ONCAqLw0KKyNkZWZpbmUgUkdfQVVESVZMR0FJTl9TRlQJCQkJ MA0KKyNkZWZpbmUgUkdfQVVESVZMR0FJTl9NQVNLCQkJCTB4Nw0KKyNkZWZpbmUgUkdfQVVESVZM R0FJTl9NQVNLX1NGVAkJCQkoMHg3IDw8IDApDQorI2RlZmluZSBSR19BVURJVlJHQUlOX1NGVAkJ CQk4DQorI2RlZmluZSBSR19BVURJVlJHQUlOX01BU0sJCQkJMHg3DQorI2RlZmluZSBSR19BVURJ VlJHQUlOX01BU0tfU0ZUCQkJCSgweDcgPDwgOCkNCisNCisvKiBNVDYzNTlfWkNEX0NPTjUgKi8N CisjZGVmaW5lIFJHX0FVRElOVEdBSU4xX1NGVAkJCQkwDQorI2RlZmluZSBSR19BVURJTlRHQUlO MV9NQVNLCQkJCTB4M2YNCisjZGVmaW5lIFJHX0FVRElOVEdBSU4xX01BU0tfU0ZUCQkJCSgweDNm IDw8IDApDQorI2RlZmluZSBSR19BVURJTlRHQUlOMl9TRlQJCQkJOA0KKyNkZWZpbmUgUkdfQVVE SU5UR0FJTjJfTUFTSwkJCQkweDNmDQorI2RlZmluZSBSR19BVURJTlRHQUlOMl9NQVNLX1NGVAkJ CQkoMHgzZiA8PCA4KQ0KKw0KKy8qIGF1ZGlvIHJlZ2lzdGVyICovDQorI2RlZmluZSBNVDYzNTlf R1BJT19ESVIwCQkJCTB4ODgNCisjZGVmaW5lIE1UNjM1OV9HUElPX0RJUjBfU0VUCQkJCTB4OGEN CisjZGVmaW5lIE1UNjM1OV9HUElPX0RJUjBfQ0xSCQkJCTB4OGMNCisjZGVmaW5lIE1UNjM1OV9H UElPX0RJUjEJCQkJMHg4ZQ0KKyNkZWZpbmUgTVQ2MzU5X0dQSU9fRElSMV9TRVQJCQkJMHg5MA0K KyNkZWZpbmUgTVQ2MzU5X0dQSU9fRElSMV9DTFIJCQkJMHg5Mg0KKw0KKyNkZWZpbmUgTVQ2MzU5 X0RDWE9fQ1cxMQkJCQkweDdhNg0KKyNkZWZpbmUgTVQ2MzU5X0RDWE9fQ1cxMgkJCQkweDdhOA0K KyNkZWZpbmUgTVQ2MzU5X0xET19WQVVEMThfQ09OMAkJCQkweDFjOTgNCisNCisjZGVmaW5lIE1U NjM1OV9HUElPX01PREUwCQkJCTB4Y2MNCisjZGVmaW5lIE1UNjM1OV9HUElPX01PREUwX1NFVAkJ CQkweGNlDQorI2RlZmluZSBNVDYzNTlfR1BJT19NT0RFMF9DTFIJCQkJMHhkMA0KKyNkZWZpbmUg TVQ2MzU5X0dQSU9fTU9ERTEJCQkJMHhkMg0KKyNkZWZpbmUgTVQ2MzU5X0dQSU9fTU9ERTFfU0VU CQkJCTB4ZDQNCisjZGVmaW5lIE1UNjM1OV9HUElPX01PREUxX0NMUgkJCQkweGQ2DQorI2RlZmlu ZSBNVDYzNTlfR1BJT19NT0RFMgkJCQkweGQ4DQorI2RlZmluZSBNVDYzNTlfR1BJT19NT0RFMl9T RVQJCQkJMHhkYQ0KKyNkZWZpbmUgTVQ2MzU5X0dQSU9fTU9ERTJfQ0xSCQkJCTB4ZGMNCisjZGVm aW5lIE1UNjM1OV9HUElPX01PREUzCQkJCTB4ZGUNCisjZGVmaW5lIE1UNjM1OV9HUElPX01PREUz X1NFVAkJCQkweGUwDQorI2RlZmluZSBNVDYzNTlfR1BJT19NT0RFM19DTFIJCQkJMHhlMg0KKyNk ZWZpbmUgTVQ2MzU5X0dQSU9fTU9ERTQJCQkJMHhlNA0KKyNkZWZpbmUgTVQ2MzU5X0dQSU9fTU9E RTRfU0VUCQkJCTB4ZTYNCisjZGVmaW5lIE1UNjM1OV9HUElPX01PREU0X0NMUgkJCQkweGU4DQor DQorI2RlZmluZSBNVDYzNTlfQVVEX1RPUF9JRAkJCQkweDIzMDANCisjZGVmaW5lIE1UNjM1OV9B VURfVE9QX1JFVjAJCQkJMHgyMzAyDQorI2RlZmluZSBNVDYzNTlfQVVEX1RPUF9EQkkJCQkJMHgy MzA0DQorI2RlZmluZSBNVDYzNTlfQVVEX1RPUF9EWEkJCQkJMHgyMzA2DQorI2RlZmluZSBNVDYz NTlfQVVEX1RPUF9DS1BETl9UUE0wCQkJMHgyMzA4DQorI2RlZmluZSBNVDYzNTlfQVVEX1RPUF9D S1BETl9UUE0xCQkJMHgyMzBhDQorI2RlZmluZSBNVDYzNTlfQVVEX1RPUF9DS1BETl9DT04wCQkJ MHgyMzBjDQorI2RlZmluZSBNVDYzNTlfQVVEX1RPUF9DS1BETl9DT04wX1NFVAkJCTB4MjMwZQ0K KyNkZWZpbmUgTVQ2MzU5X0FVRF9UT1BfQ0tQRE5fQ09OMF9DTFIJCQkweDIzMTANCisjZGVmaW5l IE1UNjM1OV9BVURfVE9QX0NLU0VMX0NPTjAJCQkweDIzMTINCisjZGVmaW5lIE1UNjM1OV9BVURf VE9QX0NLU0VMX0NPTjBfU0VUCQkJMHgyMzE0DQorI2RlZmluZSBNVDYzNTlfQVVEX1RPUF9DS1NF TF9DT04wX0NMUgkJCTB4MjMxNg0KKyNkZWZpbmUgTVQ2MzU5X0FVRF9UT1BfQ0tUU1RfQ09OMAkJ CTB4MjMxOA0KKyNkZWZpbmUgTVQ2MzU5X0FVRF9UT1BfQ0xLX0hXRU5fQ09OMAkJCTB4MjMxYQ0K KyNkZWZpbmUgTVQ2MzU5X0FVRF9UT1BfQ0xLX0hXRU5fQ09OMF9TRVQJCTB4MjMxYw0KKyNkZWZp bmUgTVQ2MzU5X0FVRF9UT1BfQ0xLX0hXRU5fQ09OMF9DTFIJCTB4MjMxZQ0KKyNkZWZpbmUgTVQ2 MzU5X0FVRF9UT1BfUlNUX0NPTjAJCQkJMHgyMzIwDQorI2RlZmluZSBNVDYzNTlfQVVEX1RPUF9S U1RfQ09OMF9TRVQJCQkweDIzMjINCisjZGVmaW5lIE1UNjM1OV9BVURfVE9QX1JTVF9DT04wX0NM UgkJCTB4MjMyNA0KKyNkZWZpbmUgTVQ2MzU5X0FVRF9UT1BfUlNUX0JBTktfQ09OMAkJCTB4MjMy Ng0KKyNkZWZpbmUgTVQ2MzU5X0FVRF9UT1BfSU5UX0NPTjAJCQkJMHgyMzI4DQorI2RlZmluZSBN VDYzNTlfQVVEX1RPUF9JTlRfQ09OMF9TRVQJCQkweDIzMmENCisjZGVmaW5lIE1UNjM1OV9BVURf VE9QX0lOVF9DT04wX0NMUgkJCTB4MjMyYw0KKyNkZWZpbmUgTVQ2MzU5X0FVRF9UT1BfSU5UX01B U0tfQ09OMAkJCTB4MjMyZQ0KKyNkZWZpbmUgTVQ2MzU5X0FVRF9UT1BfSU5UX01BU0tfQ09OMF9T RVQJCTB4MjMzMA0KKyNkZWZpbmUgTVQ2MzU5X0FVRF9UT1BfSU5UX01BU0tfQ09OMF9DTFIJCTB4 MjMzMg0KKyNkZWZpbmUgTVQ2MzU5X0FVRF9UT1BfSU5UX1NUQVRVUzAJCQkweDIzMzQNCisjZGVm aW5lIE1UNjM1OV9BVURfVE9QX0lOVF9SQVdfU1RBVFVTMAkJCTB4MjMzNg0KKyNkZWZpbmUgTVQ2 MzU5X0FVRF9UT1BfSU5UX01JU0NfQ09OMAkJCTB4MjMzOA0KKyNkZWZpbmUgTVQ2MzU5X0FVRF9U T1BfTU9OX0NPTjAJCQkJMHgyMzNhDQorI2RlZmluZSBNVDYzNTlfQVVESU9fRElHX0RTTl9JRAkJ CQkweDIzODANCisjZGVmaW5lIE1UNjM1OV9BVURJT19ESUdfRFNOX1JFVjAJCQkweDIzODINCisj ZGVmaW5lIE1UNjM1OV9BVURJT19ESUdfRFNOX0RCSQkJCTB4MjM4NA0KKyNkZWZpbmUgTVQ2MzU5 X0FVRElPX0RJR19EU05fRFhJCQkJMHgyMzg2DQorI2RlZmluZSBNVDYzNTlfQUZFX1VMX0RMX0NP TjAJCQkJMHgyMzg4DQorI2RlZmluZSBNVDYzNTlfQUZFX0RMX1NSQzJfQ09OMF9MCQkJMHgyMzhh DQorI2RlZmluZSBNVDYzNTlfQUZFX1VMX1NSQ19DT04wX0gJCQkweDIzOGMNCisjZGVmaW5lIE1U NjM1OV9BRkVfVUxfU1JDX0NPTjBfTAkJCTB4MjM4ZQ0KKyNkZWZpbmUgTVQ2MzU5X0FGRV9BRERB Nl9MX1NSQ19DT04wX0gJCQkweDIzOTANCisjZGVmaW5lIE1UNjM1OV9BRkVfQUREQTZfVUxfU1JD X0NPTjBfTAkJCTB4MjM5Mg0KKyNkZWZpbmUgTVQ2MzU5X0FGRV9UT1BfQ09OMAkJCQkweDIzOTQN CisjZGVmaW5lIE1UNjM1OV9BVURJT19UT1BfQ09OMAkJCQkweDIzOTYNCisjZGVmaW5lIE1UNjM1 OV9BRkVfTU9OX0RFQlVHMAkJCQkweDIzOTgNCisjZGVmaW5lIE1UNjM1OV9BRlVOQ19BVURfQ09O MAkJCQkweDIzOWENCisjZGVmaW5lIE1UNjM1OV9BRlVOQ19BVURfQ09OMQkJCQkweDIzOWMNCisj ZGVmaW5lIE1UNjM1OV9BRlVOQ19BVURfQ09OMgkJCQkweDIzOWUNCisjZGVmaW5lIE1UNjM1OV9B RlVOQ19BVURfQ09OMwkJCQkweDIzYTANCisjZGVmaW5lIE1UNjM1OV9BRlVOQ19BVURfQ09ONAkJ CQkweDIzYTINCisjZGVmaW5lIE1UNjM1OV9BRlVOQ19BVURfQ09ONQkJCQkweDIzYTQNCisjZGVm aW5lIE1UNjM1OV9BRlVOQ19BVURfQ09ONgkJCQkweDIzYTYNCisjZGVmaW5lIE1UNjM1OV9BRlVO Q19BVURfQ09ONwkJCQkweDIzYTgNCisjZGVmaW5lIE1UNjM1OV9BRlVOQ19BVURfQ09OOAkJCQkw eDIzYWENCisjZGVmaW5lIE1UNjM1OV9BRlVOQ19BVURfQ09OOQkJCQkweDIzYWMNCisjZGVmaW5l IE1UNjM1OV9BRlVOQ19BVURfQ09OMTAJCQkJMHgyM2FlDQorI2RlZmluZSBNVDYzNTlfQUZVTkNf QVVEX0NPTjExCQkJCTB4MjNiMA0KKyNkZWZpbmUgTVQ2MzU5X0FGVU5DX0FVRF9DT04xMgkJCQkw eDIzYjINCisjZGVmaW5lIE1UNjM1OV9BRlVOQ19BVURfTU9OMAkJCQkweDIzYjQNCisjZGVmaW5l IE1UNjM1OV9BRlVOQ19BVURfTU9OMQkJCQkweDIzYjYNCisjZGVmaW5lIE1UNjM1OV9BVURSQ19U VU5FX01PTjAJCQkJMHgyM2I4DQorI2RlZmluZSBNVDYzNTlfQUZFX0FEREFfTVRLQUlGX0ZJRk9f Q0ZHMAkJMHgyM2JhDQorI2RlZmluZSBNVDYzNTlfQUZFX0FEREFfTVRLQUlGX0ZJRk9fTE9HX01P TjEJCTB4MjNiYw0KKyNkZWZpbmUgTVQ2MzU5X0FGRV9BRERBX01US0FJRl9NT04wCQkJMHgyM2Jl DQorI2RlZmluZSBNVDYzNTlfQUZFX0FEREFfTVRLQUlGX01PTjEJCQkweDIzYzANCisjZGVmaW5l IE1UNjM1OV9BRkVfQUREQV9NVEtBSUZfTU9OMgkJCTB4MjNjMg0KKyNkZWZpbmUgTVQ2MzU5X0FG RV9BRERBNl9NVEtBSUZfTU9OMwkJCTB4MjNjNA0KKyNkZWZpbmUgTVQ2MzU5X0FGRV9BRERBX01U S0FJRl9NT040CQkJMHgyM2M2DQorI2RlZmluZSBNVDYzNTlfQUZFX0FEREFfTVRLQUlGX01PTjUJ CQkweDIzYzgNCisjZGVmaW5lIE1UNjM1OV9BRkVfQUREQV9NVEtBSUZfQ0ZHMAkJCTB4MjNjYQ0K KyNkZWZpbmUgTVQ2MzU5X0FGRV9BRERBX01US0FJRl9SWF9DRkcwCQkJMHgyM2NjDQorI2RlZmlu ZSBNVDYzNTlfQUZFX0FEREFfTVRLQUlGX1JYX0NGRzEJCQkweDIzY2UNCisjZGVmaW5lIE1UNjM1 OV9BRkVfQUREQV9NVEtBSUZfUlhfQ0ZHMgkJCTB4MjNkMA0KKyNkZWZpbmUgTVQ2MzU5X0FGRV9B RERBX01US0FJRl9SWF9DRkczCQkJMHgyM2QyDQorI2RlZmluZSBNVDYzNTlfQUZFX0FEREFfTVRL QUlGX1NZTkNXT1JEX0NGRzAJCTB4MjNkNA0KKyNkZWZpbmUgTVQ2MzU5X0FGRV9BRERBX01US0FJ Rl9TWU5DV09SRF9DRkcxCQkweDIzZDYNCisjZGVmaW5lIE1UNjM1OV9BRkVfU0dFTl9DRkcwCQkJ CTB4MjNkOA0KKyNkZWZpbmUgTVQ2MzU5X0FGRV9TR0VOX0NGRzEJCQkJMHgyM2RhDQorI2RlZmlu ZSBNVDYzNTlfQUZFX0FEQ19BU1lOQ19GSUZPX0NGRwkJCTB4MjNkYw0KKyNkZWZpbmUgTVQ2MzU5 X0FGRV9BRENfQVNZTkNfRklGT19DRkcxCQkJMHgyM2RlDQorI2RlZmluZSBNVDYzNTlfQUZFX0RD Q0xLX0NGRzAJCQkJMHgyM2UwDQorI2RlZmluZSBNVDYzNTlfQUZFX0RDQ0xLX0NGRzEJCQkJMHgy M2UyDQorI2RlZmluZSBNVDYzNTlfQVVESU9fRElHX0NGRwkJCQkweDIzZTQNCisjZGVmaW5lIE1U NjM1OV9BVURJT19ESUdfQ0ZHMQkJCQkweDIzZTYNCisjZGVmaW5lIE1UNjM1OV9BRkVfQVVEX1BB RF9UT1AJCQkJMHgyM2U4DQorI2RlZmluZSBNVDYzNTlfQUZFX0FVRF9QQURfVE9QX01PTgkJCTB4 MjNlYQ0KKyNkZWZpbmUgTVQ2MzU5X0FGRV9BVURfUEFEX1RPUF9NT04xCQkJMHgyM2VjDQorI2Rl ZmluZSBNVDYzNTlfQUZFX0FVRF9QQURfVE9QX01PTjIJCQkweDIzZWUNCisjZGVmaW5lIE1UNjM1 OV9BRkVfRExfTkxFX0NGRwkJCQkweDIzZjANCisjZGVmaW5lIE1UNjM1OV9BRkVfRExfTkxFX01P TgkJCQkweDIzZjINCisjZGVmaW5lIE1UNjM1OV9BRkVfQ0dfRU5fTU9OCQkJCTB4MjNmNA0KKyNk ZWZpbmUgTVQ2MzU5X0FGRV9NSUNfQVJSQVlfQ0ZHCQkJMHgyM2Y2DQorI2RlZmluZSBNVDYzNTlf QUZFX0NIT1BfQ0ZHMAkJCQkweDIzZjgNCisjZGVmaW5lIE1UNjM1OV9BRkVfTVRLQUlGX01VWF9D RkcJCQkweDIzZmENCisjZGVmaW5lIE1UNjM1OV9BVURJT19ESUdfMk5EX0RTTl9JRAkJCTB4MjQw MA0KKyNkZWZpbmUgTVQ2MzU5X0FVRElPX0RJR18yTkRfRFNOX1JFVjAJCQkweDI0MDINCisjZGVm aW5lIE1UNjM1OV9BVURJT19ESUdfMk5EX0RTTl9EQkkJCQkweDI0MDQNCisjZGVmaW5lIE1UNjM1 OV9BVURJT19ESUdfMk5EX0RTTl9EWEkJCQkweDI0MDYNCisjZGVmaW5lIE1UNjM1OV9BRkVfUE1J Q19ORVdJRl9DRkczCQkJMHgyNDA4DQorI2RlZmluZSBNVDYzNTlfQVVESU9fRElHXzNSRF9EU05f SUQJCQkweDI0ODANCisjZGVmaW5lIE1UNjM1OV9BVURJT19ESUdfM1JEX0RTTl9SRVYwCQkJMHgy NDgyDQorI2RlZmluZSBNVDYzNTlfQVVESU9fRElHXzNSRF9EU05fREJJCQkJMHgyNDg0DQorI2Rl ZmluZSBNVDYzNTlfQVVESU9fRElHXzNSRF9EU05fRFhJCQkJMHgyNDg2DQorI2RlZmluZSBNVDYz NTlfQUZFX05DUF9DRkcwCQkJCTB4MjRkZQ0KKyNkZWZpbmUgTVQ2MzU5X0FGRV9OQ1BfQ0ZHMQkJ CQkweDI0ZTANCisjZGVmaW5lIE1UNjM1OV9BRkVfTkNQX0NGRzIJCQkJMHgyNGUyDQorI2RlZmlu ZSBNVDYzNTlfQVVERU5DX0RTTl9JRAkJCQkweDI1MDANCisjZGVmaW5lIE1UNjM1OV9BVURFTkNf RFNOX1JFVjAJCQkJMHgyNTAyDQorI2RlZmluZSBNVDYzNTlfQVVERU5DX0RTTl9EQkkJCQkJMHgy NTA0DQorI2RlZmluZSBNVDYzNTlfQVVERU5DX0RTTl9GUEkJCQkJMHgyNTA2DQorI2RlZmluZSBN VDYzNTlfQVVERU5DX0FOQV9DT04wCQkJCTB4MjUwOA0KKyNkZWZpbmUgTVQ2MzU5X0FVREVOQ19B TkFfQ09OMQkJCQkweDI1MGENCisjZGVmaW5lIE1UNjM1OV9BVURFTkNfQU5BX0NPTjIJCQkJMHgy NTBjDQorI2RlZmluZSBNVDYzNTlfQVVERU5DX0FOQV9DT04zCQkJCTB4MjUwZQ0KKyNkZWZpbmUg TVQ2MzU5X0FVREVOQ19BTkFfQ09ONAkJCQkweDI1MTANCisjZGVmaW5lIE1UNjM1OV9BVURFTkNf QU5BX0NPTjUJCQkJMHgyNTEyDQorI2RlZmluZSBNVDYzNTlfQVVERU5DX0FOQV9DT042CQkJCTB4 MjUxNA0KKyNkZWZpbmUgTVQ2MzU5X0FVREVOQ19BTkFfQ09ONwkJCQkweDI1MTYNCisjZGVmaW5l IE1UNjM1OV9BVURFTkNfQU5BX0NPTjgJCQkJMHgyNTE4DQorI2RlZmluZSBNVDYzNTlfQVVERU5D X0FOQV9DT045CQkJCTB4MjUxYQ0KKyNkZWZpbmUgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMTAJCQkJ MHgyNTFjDQorI2RlZmluZSBNVDYzNTlfQVVERU5DX0FOQV9DT04xMQkJCQkweDI1MWUNCisjZGVm aW5lIE1UNjM1OV9BVURFTkNfQU5BX0NPTjEyCQkJCTB4MjUyMA0KKyNkZWZpbmUgTVQ2MzU5X0FV REVOQ19BTkFfQ09OMTMJCQkJMHgyNTIyDQorI2RlZmluZSBNVDYzNTlfQVVERU5DX0FOQV9DT04x NAkJCQkweDI1MjQNCisjZGVmaW5lIE1UNjM1OV9BVURFTkNfQU5BX0NPTjE1CQkJCTB4MjUyNg0K KyNkZWZpbmUgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMTYJCQkJMHgyNTI4DQorI2RlZmluZSBNVDYz NTlfQVVERU5DX0FOQV9DT04xNwkJCQkweDI1MmENCisjZGVmaW5lIE1UNjM1OV9BVURFTkNfQU5B X0NPTjE4CQkJCTB4MjUyYw0KKyNkZWZpbmUgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMTkJCQkJMHgy NTJlDQorI2RlZmluZSBNVDYzNTlfQVVERU5DX0FOQV9DT04yMAkJCQkweDI1MzANCisjZGVmaW5l IE1UNjM1OV9BVURFTkNfQU5BX0NPTjIxCQkJCTB4MjUzMg0KKyNkZWZpbmUgTVQ2MzU5X0FVREVO Q19BTkFfQ09OMjIJCQkJMHgyNTM0DQorI2RlZmluZSBNVDYzNTlfQVVERU5DX0FOQV9DT04yMwkJ CQkweDI1MzYNCisjZGVmaW5lIE1UNjM1OV9BVURERUNfRFNOX0lECQkJCTB4MjU4MA0KKyNkZWZp bmUgTVQ2MzU5X0FVRERFQ19EU05fUkVWMAkJCQkweDI1ODINCisjZGVmaW5lIE1UNjM1OV9BVURE RUNfRFNOX0RCSQkJCQkweDI1ODQNCisjZGVmaW5lIE1UNjM1OV9BVURERUNfRFNOX0ZQSQkJCQkw eDI1ODYNCisjZGVmaW5lIE1UNjM1OV9BVURERUNfQU5BX0NPTjAJCQkJMHgyNTg4DQorI2RlZmlu ZSBNVDYzNTlfQVVEREVDX0FOQV9DT04xCQkJCTB4MjU4YQ0KKyNkZWZpbmUgTVQ2MzU5X0FVRERF Q19BTkFfQ09OMgkJCQkweDI1OGMNCisjZGVmaW5lIE1UNjM1OV9BVURERUNfQU5BX0NPTjMJCQkJ MHgyNThlDQorI2RlZmluZSBNVDYzNTlfQVVEREVDX0FOQV9DT040CQkJCTB4MjU5MA0KKyNkZWZp bmUgTVQ2MzU5X0FVRERFQ19BTkFfQ09ONQkJCQkweDI1OTINCisjZGVmaW5lIE1UNjM1OV9BVURE RUNfQU5BX0NPTjYJCQkJMHgyNTk0DQorI2RlZmluZSBNVDYzNTlfQVVEREVDX0FOQV9DT043CQkJ CTB4MjU5Ng0KKyNkZWZpbmUgTVQ2MzU5X0FVRERFQ19BTkFfQ09OOAkJCQkweDI1OTgNCisjZGVm aW5lIE1UNjM1OV9BVURERUNfQU5BX0NPTjkJCQkJMHgyNTlhDQorI2RlZmluZSBNVDYzNTlfQVVE REVDX0FOQV9DT04xMAkJCQkweDI1OWMNCisjZGVmaW5lIE1UNjM1OV9BVURERUNfQU5BX0NPTjEx CQkJCTB4MjU5ZQ0KKyNkZWZpbmUgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMTIJCQkJMHgyNWEwDQor I2RlZmluZSBNVDYzNTlfQVVEREVDX0FOQV9DT04xMwkJCQkweDI1YTINCisjZGVmaW5lIE1UNjM1 OV9BVURERUNfQU5BX0NPTjE0CQkJCTB4MjVhNA0KKyNkZWZpbmUgTVQ2MzU5X0FVRFpDRF9EU05f SUQJCQkJMHgyNjAwDQorI2RlZmluZSBNVDYzNTlfQVVEWkNEX0RTTl9SRVYwCQkJCTB4MjYwMg0K KyNkZWZpbmUgTVQ2MzU5X0FVRFpDRF9EU05fREJJCQkJCTB4MjYwNA0KKyNkZWZpbmUgTVQ2MzU5 X0FVRFpDRF9EU05fRlBJCQkJCTB4MjYwNg0KKyNkZWZpbmUgTVQ2MzU5X1pDRF9DT04wCQkJCQkw eDI2MDgNCisjZGVmaW5lIE1UNjM1OV9aQ0RfQ09OMQkJCQkJMHgyNjBhDQorI2RlZmluZSBNVDYz NTlfWkNEX0NPTjIJCQkJCTB4MjYwYw0KKyNkZWZpbmUgTVQ2MzU5X1pDRF9DT04zCQkJCQkweDI2 MGUNCisjZGVmaW5lIE1UNjM1OV9aQ0RfQ09ONAkJCQkJMHgyNjEwDQorI2RlZmluZSBNVDYzNTlf WkNEX0NPTjUJCQkJCTB4MjYxMg0KKyNkZWZpbmUgTVQ2MzU5X0FDQ0RFVF9EU05fRElHX0lECQkJ MHgyNjgwDQorI2RlZmluZSBNVDYzNTlfQUNDREVUX0RTTl9ESUdfUkVWMAkJCTB4MjY4Mg0KKyNk ZWZpbmUgTVQ2MzU5X0FDQ0RFVF9EU05fREJJCQkJCTB4MjY4NA0KKyNkZWZpbmUgTVQ2MzU5X0FD Q0RFVF9EU05fRlBJCQkJCTB4MjY4Ng0KKyNkZWZpbmUgTVQ2MzU5X0FDQ0RFVF9DT04wCQkJCTB4 MjY4OA0KKyNkZWZpbmUgTVQ2MzU5X0FDQ0RFVF9DT04xCQkJCTB4MjY4YQ0KKyNkZWZpbmUgTVQ2 MzU5X0FDQ0RFVF9DT04yCQkJCTB4MjY4Yw0KKyNkZWZpbmUgTVQ2MzU5X0FDQ0RFVF9DT04zCQkJ CTB4MjY4ZQ0KKyNkZWZpbmUgTVQ2MzU5X0FDQ0RFVF9DT040CQkJCTB4MjY5MA0KKyNkZWZpbmUg TVQ2MzU5X0FDQ0RFVF9DT041CQkJCTB4MjY5Mg0KKyNkZWZpbmUgTVQ2MzU5X0FDQ0RFVF9DT042 CQkJCTB4MjY5NA0KKyNkZWZpbmUgTVQ2MzU5X0FDQ0RFVF9DT043CQkJCTB4MjY5Ng0KKyNkZWZp bmUgTVQ2MzU5X0FDQ0RFVF9DT044CQkJCTB4MjY5OA0KKyNkZWZpbmUgTVQ2MzU5X0FDQ0RFVF9D T045CQkJCTB4MjY5YQ0KKyNkZWZpbmUgTVQ2MzU5X0FDQ0RFVF9DT04xMAkJCQkweDI2OWMNCisj ZGVmaW5lIE1UNjM1OV9BQ0NERVRfQ09OMTEJCQkJMHgyNjllDQorI2RlZmluZSBNVDYzNTlfQUND REVUX0NPTjEyCQkJCTB4MjZhMA0KKyNkZWZpbmUgTVQ2MzU5X0FDQ0RFVF9DT04xMwkJCQkweDI2 YTINCisjZGVmaW5lIE1UNjM1OV9BQ0NERVRfQ09OMTQJCQkJMHgyNmE0DQorI2RlZmluZSBNVDYz NTlfQUNDREVUX0NPTjE1CQkJCTB4MjZhNg0KKyNkZWZpbmUgTVQ2MzU5X0FDQ0RFVF9DT04xNgkJ CQkweDI2YTgNCisjZGVmaW5lIE1UNjM1OV9BQ0NERVRfQ09OMTcJCQkJMHgyNmFhDQorI2RlZmlu ZSBNVDYzNTlfQUNDREVUX0NPTjE4CQkJCTB4MjZhYw0KKyNkZWZpbmUgTVQ2MzU5X0FDQ0RFVF9D T04xOQkJCQkweDI2YWUNCisjZGVmaW5lIE1UNjM1OV9BQ0NERVRfQ09OMjAJCQkJMHgyNmIwDQor I2RlZmluZSBNVDYzNTlfQUNDREVUX0NPTjIxCQkJCTB4MjZiMg0KKyNkZWZpbmUgTVQ2MzU5X0FD Q0RFVF9DT04yMgkJCQkweDI2YjQNCisjZGVmaW5lIE1UNjM1OV9BQ0NERVRfQ09OMjMJCQkJMHgy NmI2DQorI2RlZmluZSBNVDYzNTlfQUNDREVUX0NPTjI0CQkJCTB4MjZiOA0KKyNkZWZpbmUgTVQ2 MzU5X0FDQ0RFVF9DT04yNQkJCQkweDI2YmENCisjZGVmaW5lIE1UNjM1OV9BQ0NERVRfQ09OMjYJ CQkJMHgyNmJjDQorI2RlZmluZSBNVDYzNTlfQUNDREVUX0NPTjI3CQkJCTB4MjZiZQ0KKyNkZWZp bmUgTVQ2MzU5X0FDQ0RFVF9DT04yOAkJCQkweDI2YzANCisjZGVmaW5lIE1UNjM1OV9BQ0NERVRf Q09OMjkJCQkJMHgyNmMyDQorI2RlZmluZSBNVDYzNTlfQUNDREVUX0NPTjMwCQkJCTB4MjZjNA0K KyNkZWZpbmUgTVQ2MzU5X0FDQ0RFVF9DT04zMQkJCQkweDI2YzYNCisjZGVmaW5lIE1UNjM1OV9B Q0NERVRfQ09OMzIJCQkJMHgyNmM4DQorI2RlZmluZSBNVDYzNTlfQUNDREVUX0NPTjMzCQkJCTB4 MjZjYQ0KKyNkZWZpbmUgTVQ2MzU5X0FDQ0RFVF9DT04zNAkJCQkweDI2Y2MNCisjZGVmaW5lIE1U NjM1OV9BQ0NERVRfQ09OMzUJCQkJMHgyNmNlDQorI2RlZmluZSBNVDYzNTlfQUNDREVUX0NPTjM2 CQkJCTB4MjZkMA0KKyNkZWZpbmUgTVQ2MzU5X0FDQ0RFVF9DT04zNwkJCQkweDI2ZDINCisjZGVm aW5lIE1UNjM1OV9BQ0NERVRfQ09OMzgJCQkJMHgyNmQ0DQorI2RlZmluZSBNVDYzNTlfQUNDREVU X0NPTjM5CQkJCTB4MjZkNg0KKyNkZWZpbmUgTVQ2MzU5X0FDQ0RFVF9DT040MAkJCQkweDI2ZDgN CisjZGVmaW5lIE1UNjM1OV9NQVhfUkVHSVNURVIJCQkJTVQ2MzU5X1pDRF9DT041DQorDQorLyog ZGwgYmlhcyAqLw0KKyNkZWZpbmUgRFJCSUFTX01BU0sgMHg3DQorI2RlZmluZSBEUkJJQVNfSFBf U0ZUIChSR19BVURCSUFTQURKXzBfVkFVRFAzMl9TRlQgKyAwKQ0KKyNkZWZpbmUgRFJCSUFTX0hQ X01BU0tfU0ZUIChEUkJJQVNfTUFTSyA8PCBEUkJJQVNfSFBfU0ZUKQ0KKyNkZWZpbmUgRFJCSUFT X0hTX1NGVCAoUkdfQVVEQklBU0FESl8wX1ZBVURQMzJfU0ZUICsgMykNCisjZGVmaW5lIERSQklB U19IU19NQVNLX1NGVCAoRFJCSUFTX01BU0sgPDwgRFJCSUFTX0hTX1NGVCkNCisjZGVmaW5lIERS QklBU19MT19TRlQgKFJHX0FVREJJQVNBREpfMF9WQVVEUDMyX1NGVCArIDYpDQorI2RlZmluZSBE UkJJQVNfTE9fTUFTS19TRlQgKERSQklBU19NQVNLIDw8IERSQklBU19MT19TRlQpDQorI2RlZmlu ZSBJQklBU19NQVNLIDB4Mw0KKyNkZWZpbmUgSUJJQVNfSFBfU0ZUIChSR19BVURCSUFTQURKXzFf VkFVRFAzMl9TRlQgKyAwKQ0KKyNkZWZpbmUgSUJJQVNfSFBfTUFTS19TRlQgKElCSUFTX01BU0sg PDwgSUJJQVNfSFBfU0ZUKQ0KKyNkZWZpbmUgSUJJQVNfSFNfU0ZUIChSR19BVURCSUFTQURKXzFf VkFVRFAzMl9TRlQgKyAyKQ0KKyNkZWZpbmUgSUJJQVNfSFNfTUFTS19TRlQgKElCSUFTX01BU0sg PDwgSUJJQVNfSFNfU0ZUKQ0KKyNkZWZpbmUgSUJJQVNfTE9fU0ZUIChSR19BVURCSUFTQURKXzFf VkFVRFAzMl9TRlQgKyA0KQ0KKyNkZWZpbmUgSUJJQVNfTE9fTUFTS19TRlQgKElCSUFTX01BU0sg PDwgSUJJQVNfTE9fU0ZUKQ0KKyNkZWZpbmUgSUJJQVNfWkNEX1NGVCAoUkdfQVVEQklBU0FESl8x X1ZBVURQMzJfU0ZUICsgNikNCisjZGVmaW5lIElCSUFTX1pDRF9NQVNLX1NGVCAoSUJJQVNfTUFT SyA8PCBJQklBU19aQ0RfU0ZUKQ0KKw0KKy8qIGRsIGdhaW4gKi8NCisjZGVmaW5lIERMX0dBSU5f Tl8xMERCX1JFRyAoRExfR0FJTl9OXzEwREIgPDwgNyB8IERMX0dBSU5fTl8xMERCKQ0KKyNkZWZp bmUgRExfR0FJTl9OXzIyREJfUkVHIChETF9HQUlOX05fMjJEQiA8PCA3IHwgRExfR0FJTl9OXzIy REIpDQorI2RlZmluZSBETF9HQUlOX05fNDBEQl9SRUcgKERMX0dBSU5fTl80MERCIDw8IDcgfCBE TF9HQUlOX05fNDBEQikNCisjZGVmaW5lIERMX0dBSU5fUkVHX01BU0sgMHgwZjlmDQorDQorLyog bWljIHR5cGUgbXV4ICovDQorI2RlZmluZSBNVF9TT0NfRU5VTV9FWFRfSUQoeG5hbWUsIHhlbnVt LCB4aGFuZGxlcl9nZXQsIHhoYW5kbGVyX3B1dCwgaWQpIFwNCit7CS5pZmFjZSA9IFNORFJWX0NU TF9FTEVNX0lGQUNFX01JWEVSLCAubmFtZSA9IHhuYW1lLCAuZGV2aWNlID0gaWQsXA0KKwkuaW5m byA9IHNuZF9zb2NfaW5mb19lbnVtX2RvdWJsZSwgXA0KKwkuZ2V0ID0geGhhbmRsZXJfZ2V0LCAu cHV0ID0geGhhbmRsZXJfcHV0LCBcDQorCS5wcml2YXRlX3ZhbHVlID0gKHVuc2lnbmVkIGxvbmcp Jih4ZW51bSkgfQ0KKw0KK2VudW0gew0KKwlNVDYzNTlfTVRLQUlGX1BST1RPQ09MXzEgPSAwLA0K KwlNVDYzNTlfTVRLQUlGX1BST1RPQ09MXzIsDQorCU1UNjM1OV9NVEtBSUZfUFJPVE9DT0xfMl9D TEtfUDIsDQorfTsNCisNCitlbnVtIHsNCisJTVQ2MzU5X0FJRl8xID0gMCwJLyogZGw6IGhwLCBy Y3YsIGhwK2xvICovDQorCU1UNjM1OV9BSUZfMiwJCS8qIGRsOiBsbyBvbmx5ICovDQorCU1UNjM1 OV9BSUZfTlVNLA0KK307DQorDQorZW51bSB7DQorCUFVRElPX0FOQUxPR19WT0xVTUVfSFNPVVRM LA0KKwlBVURJT19BTkFMT0dfVk9MVU1FX0hTT1VUUiwNCisJQVVESU9fQU5BTE9HX1ZPTFVNRV9I UE9VVEwsDQorCUFVRElPX0FOQUxPR19WT0xVTUVfSFBPVVRSLA0KKwlBVURJT19BTkFMT0dfVk9M VU1FX0xJTkVPVVRMLA0KKwlBVURJT19BTkFMT0dfVk9MVU1FX0xJTkVPVVRSLA0KKwlBVURJT19B TkFMT0dfVk9MVU1FX01JQ0FNUDEsDQorCUFVRElPX0FOQUxPR19WT0xVTUVfTUlDQU1QMiwNCisJ QVVESU9fQU5BTE9HX1ZPTFVNRV9NSUNBTVAzLA0KKwlBVURJT19BTkFMT0dfVk9MVU1FX1RZUEVf TUFYDQorfTsNCisNCitlbnVtIHsNCisJTVVYX01JQ19UWVBFXzAsCS8qIGFpbjAsIG1pY2JpYXMg MCAqLw0KKwlNVVhfTUlDX1RZUEVfMSwJLyogYWluMSwgbWljYmlhcyAxICovDQorCU1VWF9NSUNf VFlQRV8yLAkvKiBhaW4yLzMsIG1pY2JpYXMgMiAqLw0KKwlNVVhfUEdBX0wsDQorCU1VWF9QR0Ff UiwNCisJTVVYX1BHQV8zLA0KKwlNVVhfSFBfTCwNCisJTVVYX0hQX1IsDQorCU1VWF9OVU0sDQor fTsNCisNCitlbnVtIHsNCisJREVWSUNFX0hQLA0KKwlERVZJQ0VfTE8sDQorCURFVklDRV9SQ1Ys DQorCURFVklDRV9NSUMxLA0KKwlERVZJQ0VfTUlDMiwNCisJREVWSUNFX05VTQ0KK307DQorDQor ZW51bSB7DQorCUhQX0dBSU5fQ1RMX1pDRCA9IDAsDQorCUhQX0dBSU5fQ1RMX05MRSwNCisJSFBf R0FJTl9DVExfTlVNLA0KK307DQorDQorZW51bSB7DQorCUhQX01VWF9PUEVOID0gMCwNCisJSFBf TVVYX0hQU1BLLA0KKwlIUF9NVVhfSFAsDQorCUhQX01VWF9URVNUX01PREUsDQorCUhQX01VWF9I UF9JTVBFREFOQ0UsDQorCUhQX01VWF9NQVNLID0gMHg3LA0KK307DQorDQorZW51bSB7DQorCVJD Vl9NVVhfT1BFTiA9IDAsDQorCVJDVl9NVVhfTVVURSwNCisJUkNWX01VWF9WT0lDRV9QTEFZQkFD SywNCisJUkNWX01VWF9URVNUX01PREUsDQorCVJDVl9NVVhfTUFTSyA9IDB4MywNCit9Ow0KKw0K K2VudW0gew0KKwlMT19NVVhfT1BFTiA9IDAsDQorCUxPX01VWF9MX0RBQywNCisJTE9fTVVYXzNS RF9EQUMsDQorCUxPX01VWF9URVNUX01PREUsDQorCUxPX01VWF9NQVNLID0gMHgzLA0KK307DQor DQorLyogU3VwcGx5IHdpZGdldCBzdWJzZXEgKi8NCitlbnVtIHsNCisJLyogY29tbW9uICovDQor CVNVUFBMWV9TRVFfQ0xLX0JVRiwNCisJU1VQUExZX1NFUV9MRE9fVkFVRDE4LA0KKwlTVVBQTFlf U0VRX0FVRF9HTEIsDQorCVNVUFBMWV9TRVFfSFBfUFVMTF9ET1dOLA0KKwlTVVBQTFlfU0VRX0NM S1NRLA0KKwlTVVBQTFlfU0VRX0FEQ19DTEtHRU4sDQorCVNVUFBMWV9TRVFfVE9QX0NLLA0KKwlT VVBQTFlfU0VRX1RPUF9DS19MQVNULA0KKwlTVVBQTFlfU0VRX0RDQ19DTEssDQorCVNVUFBMWV9T RVFfTUlDX0JJQVMsDQorCVNVUFBMWV9TRVFfRE1JQywNCisJU1VQUExZX1NFUV9BVURfVE9QLA0K KwlTVVBQTFlfU0VRX0FVRF9UT1BfTEFTVCwNCisJU1VQUExZX1NFUV9ETF9TRE1fRklGT19DTEss DQorCVNVUFBMWV9TRVFfRExfU0RNLA0KKwlTVVBQTFlfU0VRX0RMX05DUCwNCisJU1VQUExZX1NF UV9BRkUsDQorCS8qIHBsYXliYWNrICovDQorCVNVUFBMWV9TRVFfRExfU1JDLA0KKwlTVVBQTFlf U0VRX0RMX0VTRF9SRVNJU1QsDQorCVNVUFBMWV9TRVFfSFBfREFNUElOR19PRkZfUkVTRVRfQ01G QiwNCisJU1VQUExZX1NFUV9IUF9NVVRFLA0KKwlTVVBQTFlfU0VRX0RMX0xET19SRU1PVEVfU0VO U0UsDQorCVNVUFBMWV9TRVFfRExfTERPLA0KKwlTVVBQTFlfU0VRX0RMX05WLA0KKwlTVVBQTFlf U0VRX0hQX0FOQV9UUklNLA0KKwlTVVBQTFlfU0VRX0RMX0lCSVNULA0KKwkvKiBjYXB0dXJlICov DQorCVNVUFBMWV9TRVFfVUxfUEdBLA0KKwlTVVBQTFlfU0VRX1VMX0FEQywNCisJU1VQUExZX1NF UV9VTF9NVEtBSUYsDQorCVNVUFBMWV9TRVFfVUxfU1JDX0RNSUMsDQorCVNVUFBMWV9TRVFfVUxf U1JDLA0KK307DQorDQorZW51bSB7DQorCUNIX0wgPSAwLA0KKwlDSF9SLA0KKwlOVU1fQ0gsDQor fTsNCisNCitlbnVtIHsNCisJRFJCSUFTXzRVQSA9IDAsDQorCURSQklBU181VUEsDQorCURSQklB U182VUEsDQorCURSQklBU183VUEsDQorCURSQklBU184VUEsDQorCURSQklBU185VUEsDQorCURS QklBU18xMFVBLA0KKwlEUkJJQVNfMTFVQSwNCit9Ow0KKw0KK2VudW0gew0KKwlJQklBU180VUEg PSAwLA0KKwlJQklBU181VUEsDQorCUlCSUFTXzZVQSwNCisJSUJJQVNfN1VBLA0KK307DQorDQor ZW51bSB7DQorCUlCSUFTX1pDRF8zVUEgPSAwLA0KKwlJQklBU19aQ0RfNFVBLA0KKwlJQklBU19a Q0RfNVVBLA0KKwlJQklBU19aQ0RfNlVBLA0KK307DQorDQorZW51bSB7DQorCU1JQ19CSUFTXzFQ NyA9IDAsDQorCU1JQ19CSUFTXzFQOCwNCisJTUlDX0JJQVNfMVA5LA0KKwlNSUNfQklBU18yUDAs DQorCU1JQ19CSUFTXzJQMSwNCisJTUlDX0JJQVNfMlA1LA0KKwlNSUNfQklBU18yUDYsDQorCU1J Q19CSUFTXzJQNywNCit9Ow0KKw0KKy8qIGRsIHBnYSBnYWluICovDQorZW51bSB7DQorCURMX0dB SU5fOERCID0gMCwNCisJRExfR0FJTl8wREIgPSA4LA0KKwlETF9HQUlOX05fMURCID0gOSwNCisJ RExfR0FJTl9OXzEwREIgPSAxOCwNCisJRExfR0FJTl9OXzIyREIgPSAzMCwNCisJRExfR0FJTl9O XzQwREIgPSAweDFmLA0KK307DQorDQorLyogTWljIFR5cGUgTVVYICovDQorZW51bSB7DQorCU1J Q19UWVBFX01VWF9JRExFID0gMCwNCisJTUlDX1RZUEVfTVVYX0FDQywNCisJTUlDX1RZUEVfTVVY X0RNSUMsDQorCU1JQ19UWVBFX01VWF9EQ0MsDQorCU1JQ19UWVBFX01VWF9EQ0NfRUNNX0RJRkYs DQorCU1JQ19UWVBFX01VWF9EQ0NfRUNNX1NJTkdMRSwNCit9Ow0KKw0KKy8qIFVMIFNSQyBNVVgg Ki8NCitlbnVtIHsNCisJVUxfU1JDX01VWF9BTUlDID0gMCwNCisJVUxfU1JDX01VWF9ETUlDLA0K K307DQorDQorLyogTUlTTyBNVVggKi8NCitlbnVtIHsNCisJTUlTT19NVVhfVUwxX0NIMSA9IDAs DQorCU1JU09fTVVYX1VMMV9DSDIsDQorCU1JU09fTVVYX1VMMl9DSDEsDQorCU1JU09fTVVYX1VM Ml9DSDIsDQorfTsNCisNCisvKiBETUlDIE1VWCAqLw0KK2VudW0gew0KKwlETUlDX01VWF9ETUlD X0RBVEEwID0gMCwNCisJRE1JQ19NVVhfRE1JQ19EQVRBMV9MLA0KKwlETUlDX01VWF9ETUlDX0RB VEExX0xfMSwNCisJRE1JQ19NVVhfRE1JQ19EQVRBMV9SLA0KK307DQorDQorLyogQURDIEwgTVVY ICovDQorZW51bSB7DQorCUFEQ19NVVhfSURMRSA9IDAsDQorCUFEQ19NVVhfQUlOMCwNCisJQURD X01VWF9QUkVBTVBMSUZJRVIsDQorCUFEQ19NVVhfSURMRTEsDQorfTsNCisNCisvKiBQR0EgTCBN VVggKi8NCitlbnVtIHsNCisJUEdBX0xfTVVYX05PTkUgPSAwLA0KKwlQR0FfTF9NVVhfQUlOMCwN CisJUEdBX0xfTVVYX0FJTjEsDQorfTsNCisNCisvKiBQR0EgUiBNVVggKi8NCitlbnVtIHsNCisJ UEdBX1JfTVVYX05PTkUgPSAwLA0KKwlQR0FfUl9NVVhfQUlOMiwNCisJUEdBX1JfTVVYX0FJTjMs DQorCVBHQV9SX01VWF9BSU4wLA0KK307DQorDQorLyogUEdBIDMgTVVYICovDQorZW51bSB7DQor CVBHQV8zX01VWF9OT05FID0gMCwNCisJUEdBXzNfTVVYX0FJTjMsDQorCVBHQV8zX01VWF9BSU4y LA0KK307DQorDQorc3RydWN0IG10NjM1OV9wcml2IHsNCisJc3RydWN0IGRldmljZSAqZGV2Ow0K KwlzdHJ1Y3QgcmVnbWFwICpyZWdtYXA7DQorCXVuc2lnbmVkIGludCBkbF9yYXRlW01UNjM1OV9B SUZfTlVNXTsNCisJdW5zaWduZWQgaW50IHVsX3JhdGVbTVQ2MzU5X0FJRl9OVU1dOw0KKwlpbnQg YW5hX2dhaW5bQVVESU9fQU5BTE9HX1ZPTFVNRV9UWVBFX01BWF07DQorCXVuc2lnbmVkIGludCBt dXhfc2VsZWN0W01VWF9OVU1dOw0KKwl1bnNpZ25lZCBpbnQgZG1pY19vbmVfd2lyZV9tb2RlOw0K KwlpbnQgZGV2X2NvdW50ZXJbREVWSUNFX05VTV07DQorCWludCBocF9nYWluX2N0bDsNCisJaW50 IGhwX2hpZmlfbW9kZTsNCisJaW50IG10a2FpZl9wcm90b2NvbDsNCisJc3RydWN0IHJlZ3VsYXRv ciAqYXZkZF9yZWc7DQorfTsNCisNCisjZGVmaW5lIENPREVDX01UNjM1OV9OQU1FICJtdGstY29k ZWMtbXQ2MzU5Ig0KKyNkZWZpbmUgSVNfRENDX0JBU0UodHlwZSkgKCh0eXBlKSA9PSBNSUNfVFlQ RV9NVVhfRENDIHx8IFwNCisJCQkgICAodHlwZSkgPT0gTUlDX1RZUEVfTVVYX0RDQ19FQ01fRElG RiB8fCBcDQorCQkJICAgKHR5cGUpID09IE1JQ19UWVBFX01VWF9EQ0NfRUNNX1NJTkdMRSkNCisN CitpbnQgbXQ2MzU5X3NldF9tdGthaWZfcHJvdG9jb2woc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRp bWUgKnJ0ZCwNCisJCQkgICAgICAgaW50IG10a2FpZl9wcm90b2NvbCk7DQoraW50IG10NjM1OV9t dGthaWZfY2FsaWJyYXRpb25fZW5hYmxlKHN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQp Ow0KK2ludCBtdDYzNTlfbXRrYWlmX2NhbGlicmF0aW9uX2Rpc2FibGUoc3RydWN0IHNuZF9zb2Nf cGNtX3J1bnRpbWUgKnJ0ZCk7DQoraW50IG10NjM1OV9zZXRfbXRrYWlmX2NhbGlicmF0aW9uX3Bo YXNlKHN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQsDQorCQkJCQlpbnQgcGhhc2VfMSwg aW50IHBoYXNlXzIsIGludCBwaGFzZV8zKTsNCisNCit2b2lkIG10NjM1OV9zZXRfcGxheWJhY2tf Z3BpbyhzdHJ1Y3Qgc25kX3NvY19jb21wb25lbnQgKmNtcG50KTsNCit2b2lkIG10NjM1OV9yZXNl dF9wbGF5YmFja19ncGlvKHN0cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY21wbnQpOw0KK3ZvaWQg bXQ2MzU5X3NldF9jYXB0dXJlX2dwaW8oc3RydWN0IHNuZF9zb2NfY29tcG9uZW50ICpjbXBudCk7 DQordm9pZCBtdDYzNTlfcmVzZXRfY2FwdHVyZV9ncGlvKHN0cnVjdCBzbmRfc29jX2NvbXBvbmVu dCAqY21wbnQpOw0KKw0KKyNlbmRpZi8qIGVuZCBfTVQ2MzU5X0hfICovDQotLSANCjEuOC4xLjEu ZGlydHkNCg==