Received: by 2002:a05:6a10:6744:0:0:0:0 with SMTP id w4csp27604pxu; Thu, 22 Oct 2020 14:23:32 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyAcn0bNSNdyzQJk/i76Dkn4VOQCbXJCxbackxc6yq+AfMgk+8M9q+qvXmaMU1djRc+m6zj X-Received: by 2002:a17:906:cf9d:: with SMTP id um29mr4145675ejb.307.1603401812140; Thu, 22 Oct 2020 14:23:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1603401812; cv=none; d=google.com; s=arc-20160816; b=AyZmfR7fca1ygmaRhbVKP5cWboMbmhTxt4CLkIXBUSCaLehdVGhkl70ucK7+s3PO35 gLMKHyrDd19bm9l/XlPBa83Vp8I4LAtqFEcH2TY88PsFw2BltyjZh+yJuOiYUl6cWp2l /CsKHIOUh+v12hjO+YsohLaOf/Ta2rr4dqwKezlO9VnCRvjCEL8bMA+EPUaW0rFGuKXD XN80lmVsLdesGFDcJ9Os6W6tyCPMTiPK+vxu16UOAC6bHN9nPhCKqzh/4fXudVW5WkgG ou4AmyE+th2GRU38zrPScHOEMY4YKcZHwYvogUBQsP/lufHKVyUatGbu0aBXTm0FhMQk WViA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=Oxr4I2hKjUy0aP9BGMHfCYahcW1UGaveE25XiVKgeWA=; b=KRaI3P6KPcljpgzczm4LuULYX4gmNOcylfRVO81yLOYh1hl/ajbnFAT4akPfjndBGh jLDugKM/TDIbBraDHJa26/TCc9s8oqeSODQmqht47Ftoh2qri740/fNS5CFycrWnW6QX Umn40/4r4MPJOEJGQDPqUsy04CawZX+0tAufpUOfIYc4wf3en1dwLgTsy1WGrf/3P8v6 q2VjQyfy3n0JYyK9cISVIm76pp4EWBlr3INYzUp12Fzx2c+v44FeAoOevk3iSEpA6swW W8s3ATCpJMCKf4guihypmi8qIhjZF+k3O5nui5zFlclDlkGrWDmPX+WScrSIEOW+3lhi 0oiw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=El8tj2vs; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id z23si1718444edx.29.2020.10.22.14.23.09; Thu, 22 Oct 2020 14:23:32 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=El8tj2vs; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2898406AbgJVMij (ORCPT + 99 others); Thu, 22 Oct 2020 08:38:39 -0400 Received: from mailgw02.mediatek.com ([210.61.82.184]:33701 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S2898347AbgJVMiQ (ORCPT ); Thu, 22 Oct 2020 08:38:16 -0400 X-UUID: ed3ce47169f249b7bf3e8376dbc0d928-20201022 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=Oxr4I2hKjUy0aP9BGMHfCYahcW1UGaveE25XiVKgeWA=; b=El8tj2vsRNGR1eaPB+c2XiZkzmSxezYTVDzdmFDyRS1oUl6ELHykWKMScynlVwWPj4xQqvlvR9SgTqrwRroacCwhgMxUrznUXFlD29aEm3UjdQnd/7qGBlnQn46aE9wZSIaxwfhAN6z1ctG5uxDPGPmoPfK30WckZYCZcer/9dQ=; X-UUID: ed3ce47169f249b7bf3e8376dbc0d928-20201022 Received: from mtkcas10.mediatek.inc [(172.21.101.39)] by mailgw02.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.14 Build 0819 with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 2142184861; Thu, 22 Oct 2020 20:37:53 +0800 Received: from mtkcas10.mediatek.inc (172.21.101.39) by mtkmbs07n2.mediatek.inc (172.21.101.141) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 22 Oct 2020 20:37:52 +0800 Received: from mtksdccf07.mediatek.inc (172.21.84.99) by mtkcas10.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Thu, 22 Oct 2020 20:37:52 +0800 From: Weiyi Lu To: Matthias Brugger , Rob Herring , Stephen Boyd , Nicolas Boichat CC: , , , , , Weiyi Lu Subject: [PATCH v4 11/34] clk: mediatek: Add MT8192 basic clocks support Date: Thu, 22 Oct 2020 20:37:04 +0800 Message-ID: <1603370247-30437-12-git-send-email-weiyi.lu@mediatek.com> X-Mailer: git-send-email 1.8.1.1.dirty In-Reply-To: <1603370247-30437-1-git-send-email-weiyi.lu@mediatek.com> References: <1603370247-30437-1-git-send-email-weiyi.lu@mediatek.com> MIME-Version: 1.0 Content-Type: text/plain X-MTK: N Content-Transfer-Encoding: base64 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org QWRkIE1UODE5MiBiYXNpYyBjbG9jayBwcm92aWRlcnMsIGluY2x1ZGUgdG9wY2tnZW4sIGFwbWl4 ZWRzeXMsDQppbmZyYWNmZyBhbmQgcGVyaWNmZy4NCg0KU2lnbmVkLW9mZi1ieTogV2VpeWkgTHUg PHdlaXlpLmx1QG1lZGlhdGVrLmNvbT4NCi0tLQ0KIGRyaXZlcnMvY2xrL21lZGlhdGVrL0tjb25m aWcgICAgICB8ICAgIDggKw0KIGRyaXZlcnMvY2xrL21lZGlhdGVrL01ha2VmaWxlICAgICB8ICAg IDEgKw0KIGRyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTIuYyB8IDEzNTAgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KIGRyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1t dXguaCAgICB8ICAgMTUgKw0KIDQgZmlsZXMgY2hhbmdlZCwgMTM3NCBpbnNlcnRpb25zKCspDQog Y3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTIuYw0KDQpk aWZmIC0tZ2l0IGEvZHJpdmVycy9jbGsvbWVkaWF0ZWsvS2NvbmZpZyBiL2RyaXZlcnMvY2xrL21l ZGlhdGVrL0tjb25maWcNCmluZGV4IDg5Y2ViMmZiLi5hNDU1MmRhIDEwMDY0NA0KLS0tIGEvZHJp dmVycy9jbGsvbWVkaWF0ZWsvS2NvbmZpZw0KKysrIGIvZHJpdmVycy9jbGsvbWVkaWF0ZWsvS2Nv bmZpZw0KQEAgLTQ0MSw2ICs0NDEsMTQgQEAgY29uZmlnIENPTU1PTl9DTEtfTVQ4MTgzX1ZFTkNT WVMNCiAJaGVscA0KIAkgIFRoaXMgZHJpdmVyIHN1cHBvcnRzIE1lZGlhVGVrIE1UODE4MyB2ZW5j c3lzIGNsb2Nrcy4NCiANCitjb25maWcgQ09NTU9OX0NMS19NVDgxOTINCisJYm9vbCAiQ2xvY2sg ZHJpdmVyIGZvciBNZWRpYVRlayBNVDgxOTIiDQorCWRlcGVuZHMgb24gQVJNNjQgfHwgQ09NUElM RV9URVNUDQorCXNlbGVjdCBDT01NT05fQ0xLX01FRElBVEVLDQorCWRlZmF1bHQgQVJNNjQNCisJ aGVscA0KKwkgIFRoaXMgZHJpdmVyIHN1cHBvcnRzIE1lZGlhVGVrIE1UODE5MiBiYXNpYyBjbG9j a3MuDQorDQogY29uZmlnIENPTU1PTl9DTEtfTVQ4NTE2DQogCWJvb2wgIkNsb2NrIGRyaXZlciBm b3IgTWVkaWFUZWsgTVQ4NTE2Ig0KIAlkZXBlbmRzIG9uIEFSQ0hfTUVESUFURUsgfHwgQ09NUElM RV9URVNUDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jbGsvbWVkaWF0ZWsvTWFrZWZpbGUgYi9kcml2 ZXJzL2Nsay9tZWRpYXRlay9NYWtlZmlsZQ0KaW5kZXggOTU5YjU1Ni4uMTI5YWM3NSAxMDA2NDQN Ci0tLSBhL2RyaXZlcnMvY2xrL21lZGlhdGVrL01ha2VmaWxlDQorKysgYi9kcml2ZXJzL2Nsay9t ZWRpYXRlay9NYWtlZmlsZQ0KQEAgLTYxLDUgKzYxLDYgQEAgb2JqLSQoQ09ORklHX0NPTU1PTl9D TEtfTVQ4MTgzX01GR0NGRykgKz0gY2xrLW10ODE4My1tZmdjZmcubw0KIG9iai0kKENPTkZJR19D T01NT05fQ0xLX01UODE4M19NTVNZUykgKz0gY2xrLW10ODE4My1tbS5vDQogb2JqLSQoQ09ORklH X0NPTU1PTl9DTEtfTVQ4MTgzX1ZERUNTWVMpICs9IGNsay1tdDgxODMtdmRlYy5vDQogb2JqLSQo Q09ORklHX0NPTU1PTl9DTEtfTVQ4MTgzX1ZFTkNTWVMpICs9IGNsay1tdDgxODMtdmVuYy5vDQor b2JqLSQoQ09ORklHX0NPTU1PTl9DTEtfTVQ4MTkyKSArPSBjbGstbXQ4MTkyLm8NCiBvYmotJChD T05GSUdfQ09NTU9OX0NMS19NVDg1MTYpICs9IGNsay1tdDg1MTYubw0KIG9iai0kKENPTkZJR19D T01NT05fQ0xLX01UODUxNl9BVURTWVMpICs9IGNsay1tdDg1MTYtYXVkLm8NCmRpZmYgLS1naXQg YS9kcml2ZXJzL2Nsay9tZWRpYXRlay9jbGstbXQ4MTkyLmMgYi9kcml2ZXJzL2Nsay9tZWRpYXRl ay9jbGstbXQ4MTkyLmMNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwLi42NzNk YzYwMQ0KLS0tIC9kZXYvbnVsbA0KKysrIGIvZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10ODE5 Mi5jDQpAQCAtMCwwICsxLDEzNTAgQEANCisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BM LTIuMC1vbmx5DQorLy8NCisvLyBDb3B5cmlnaHQgKGMpIDIwMjAgTWVkaWFUZWsgSW5jLg0KKy8v IEF1dGhvcjogV2VpeWkgTHUgPHdlaXlpLmx1QG1lZGlhdGVrLmNvbT4NCisNCisjaW5jbHVkZSA8 bGludXgvY2xrLmg+DQorI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+DQorI2luY2x1ZGUgPGxpbnV4 L21mZC9zeXNjb24uaD4NCisjaW5jbHVkZSA8bGludXgvb2YuaD4NCisjaW5jbHVkZSA8bGludXgv b2ZfYWRkcmVzcy5oPg0KKyNpbmNsdWRlIDxsaW51eC9vZl9kZXZpY2UuaD4NCisjaW5jbHVkZSA8 bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+DQorI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4NCisNCisj aW5jbHVkZSAiY2xrLW10ay5oIg0KKyNpbmNsdWRlICJjbGstbXV4LmgiDQorI2luY2x1ZGUgImNs ay1nYXRlLmgiDQorDQorI2luY2x1ZGUgPGR0LWJpbmRpbmdzL2Nsb2NrL210ODE5Mi1jbGsuaD4N CisNCitzdGF0aWMgREVGSU5FX1NQSU5MT0NLKG10ODE5Ml9jbGtfbG9jayk7DQorDQorc3RhdGlj IGNvbnN0IHN0cnVjdCBtdGtfZml4ZWRfY2xrIHRvcF9maXhlZF9jbGtzW10gPSB7DQorCUZJWEVE X0NMSyhDTEtfVE9QX1VMUE9TQywgInVscG9zYyIsIE5VTEwsIDI2MDAwMDAwMCksDQorfTsNCisN CitzdGF0aWMgY29uc3Qgc3RydWN0IG10a19maXhlZF9mYWN0b3IgdG9wX2Vhcmx5X2RpdnNbXSA9 IHsNCisJRkFDVE9SKENMS19UT1BfQ1NXX0YyNk1fRDIsICJjc3dfZjI2bV9kMiIsICJjbGsyNm0i LCAxLCAyKSwNCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2ZpeGVkX2ZhY3RvciB0 b3BfZGl2c1tdID0gew0KKwlGQUNUT1IoQ0xLX1RPUF9NQUlOUExMX0QzLCAibWFpbnBsbF9kMyIs ICJtYWlucGxsIiwgMSwgMyksDQorCUZBQ1RPUihDTEtfVE9QX01BSU5QTExfRDQsICJtYWlucGxs X2Q0IiwgIm1haW5wbGwiLCAxLCA0KSwNCisJRkFDVE9SKENMS19UT1BfTUFJTlBMTF9ENF9EMiwg Im1haW5wbGxfZDRfZDIiLCAibWFpbnBsbF9kNCIsIDEsIDIpLA0KKwlGQUNUT1IoQ0xLX1RPUF9N QUlOUExMX0Q0X0Q0LCAibWFpbnBsbF9kNF9kNCIsICJtYWlucGxsX2Q0IiwgMSwgNCksDQorCUZB Q1RPUihDTEtfVE9QX01BSU5QTExfRDRfRDgsICJtYWlucGxsX2Q0X2Q4IiwgIm1haW5wbGxfZDQi LCAxLCA4KSwNCisJRkFDVE9SKENMS19UT1BfTUFJTlBMTF9ENF9EMTYsICJtYWlucGxsX2Q0X2Qx NiIsICJtYWlucGxsX2Q0IiwgMSwgMTYpLA0KKwlGQUNUT1IoQ0xLX1RPUF9NQUlOUExMX0Q1LCAi bWFpbnBsbF9kNSIsICJtYWlucGxsIiwgMSwgNSksDQorCUZBQ1RPUihDTEtfVE9QX01BSU5QTExf RDVfRDIsICJtYWlucGxsX2Q1X2QyIiwgIm1haW5wbGxfZDUiLCAxLCAyKSwNCisJRkFDVE9SKENM S19UT1BfTUFJTlBMTF9ENV9ENCwgIm1haW5wbGxfZDVfZDQiLCAibWFpbnBsbF9kNSIsIDEsIDQp LA0KKwlGQUNUT1IoQ0xLX1RPUF9NQUlOUExMX0Q1X0Q4LCAibWFpbnBsbF9kNV9kOCIsICJtYWlu cGxsX2Q1IiwgMSwgOCksDQorCUZBQ1RPUihDTEtfVE9QX01BSU5QTExfRDYsICJtYWlucGxsX2Q2 IiwgIm1haW5wbGwiLCAxLCA2KSwNCisJRkFDVE9SKENMS19UT1BfTUFJTlBMTF9ENl9EMiwgIm1h aW5wbGxfZDZfZDIiLCAibWFpbnBsbF9kNiIsIDEsIDIpLA0KKwlGQUNUT1IoQ0xLX1RPUF9NQUlO UExMX0Q2X0Q0LCAibWFpbnBsbF9kNl9kNCIsICJtYWlucGxsX2Q2IiwgMSwgNCksDQorCUZBQ1RP UihDTEtfVE9QX01BSU5QTExfRDcsICJtYWlucGxsX2Q3IiwgIm1haW5wbGwiLCAxLCA3KSwNCisJ RkFDVE9SKENMS19UT1BfTUFJTlBMTF9EN19EMiwgIm1haW5wbGxfZDdfZDIiLCAibWFpbnBsbF9k NyIsIDEsIDIpLA0KKwlGQUNUT1IoQ0xLX1RPUF9NQUlOUExMX0Q3X0Q0LCAibWFpbnBsbF9kN19k NCIsICJtYWlucGxsX2Q3IiwgMSwgNCksDQorCUZBQ1RPUihDTEtfVE9QX01BSU5QTExfRDdfRDgs ICJtYWlucGxsX2Q3X2Q4IiwgIm1haW5wbGxfZDciLCAxLCA4KSwNCisJRkFDVE9SKENMS19UT1Bf VU5JVlBMTF9EMywgInVuaXZwbGxfZDMiLCAidW5pdnBsbCIsIDEsIDMpLA0KKwlGQUNUT1IoQ0xL X1RPUF9VTklWUExMX0Q0LCAidW5pdnBsbF9kNCIsICJ1bml2cGxsIiwgMSwgNCksDQorCUZBQ1RP UihDTEtfVE9QX1VOSVZQTExfRDRfRDIsICJ1bml2cGxsX2Q0X2QyIiwgInVuaXZwbGxfZDQiLCAx LCAyKSwNCisJRkFDVE9SKENMS19UT1BfVU5JVlBMTF9ENF9ENCwgInVuaXZwbGxfZDRfZDQiLCAi dW5pdnBsbF9kNCIsIDEsIDQpLA0KKwlGQUNUT1IoQ0xLX1RPUF9VTklWUExMX0Q0X0Q4LCAidW5p dnBsbF9kNF9kOCIsICJ1bml2cGxsX2Q0IiwgMSwgOCksDQorCUZBQ1RPUihDTEtfVE9QX1VOSVZQ TExfRDUsICJ1bml2cGxsX2Q1IiwgInVuaXZwbGwiLCAxLCA1KSwNCisJRkFDVE9SKENMS19UT1Bf VU5JVlBMTF9ENV9EMiwgInVuaXZwbGxfZDVfZDIiLCAidW5pdnBsbF9kNSIsIDEsIDIpLA0KKwlG QUNUT1IoQ0xLX1RPUF9VTklWUExMX0Q1X0Q0LCAidW5pdnBsbF9kNV9kNCIsICJ1bml2cGxsX2Q1 IiwgMSwgNCksDQorCUZBQ1RPUihDTEtfVE9QX1VOSVZQTExfRDVfRDgsICJ1bml2cGxsX2Q1X2Q4 IiwgInVuaXZwbGxfZDUiLCAxLCA4KSwNCisJRkFDVE9SKENMS19UT1BfVU5JVlBMTF9ENiwgInVu aXZwbGxfZDYiLCAidW5pdnBsbCIsIDEsIDYpLA0KKwlGQUNUT1IoQ0xLX1RPUF9VTklWUExMX0Q2 X0QyLCAidW5pdnBsbF9kNl9kMiIsICJ1bml2cGxsX2Q2IiwgMSwgMiksDQorCUZBQ1RPUihDTEtf VE9QX1VOSVZQTExfRDZfRDQsICJ1bml2cGxsX2Q2X2Q0IiwgInVuaXZwbGxfZDYiLCAxLCA0KSwN CisJRkFDVE9SKENMS19UT1BfVU5JVlBMTF9ENl9EOCwgInVuaXZwbGxfZDZfZDgiLCAidW5pdnBs bF9kNiIsIDEsIDgpLA0KKwlGQUNUT1IoQ0xLX1RPUF9VTklWUExMX0Q2X0QxNiwgInVuaXZwbGxf ZDZfZDE2IiwgInVuaXZwbGxfZDYiLCAxLCAxNiksDQorCUZBQ1RPUihDTEtfVE9QX1VOSVZQTExf RDcsICJ1bml2cGxsX2Q3IiwgInVuaXZwbGwiLCAxLCA3KSwNCisJRkFDVE9SKENMS19UT1BfQVBM TDEsICJhcGxsMV9jayIsICJhcGxsMSIsIDEsIDEpLA0KKwlGQUNUT1IoQ0xLX1RPUF9BUExMMV9E MiwgImFwbGwxX2QyIiwgImFwbGwxIiwgMSwgMiksDQorCUZBQ1RPUihDTEtfVE9QX0FQTEwxX0Q0 LCAiYXBsbDFfZDQiLCAiYXBsbDEiLCAxLCA0KSwNCisJRkFDVE9SKENMS19UT1BfQVBMTDFfRDgs ICJhcGxsMV9kOCIsICJhcGxsMSIsIDEsIDgpLA0KKwlGQUNUT1IoQ0xLX1RPUF9BUExMMiwgImFw bGwyX2NrIiwgImFwbGwyIiwgMSwgMSksDQorCUZBQ1RPUihDTEtfVE9QX0FQTEwyX0QyLCAiYXBs bDJfZDIiLCAiYXBsbDIiLCAxLCAyKSwNCisJRkFDVE9SKENMS19UT1BfQVBMTDJfRDQsICJhcGxs Ml9kNCIsICJhcGxsMiIsIDEsIDQpLA0KKwlGQUNUT1IoQ0xLX1RPUF9BUExMMl9EOCwgImFwbGwy X2Q4IiwgImFwbGwyIiwgMSwgOCksDQorCUZBQ1RPUihDTEtfVE9QX01NUExMX0Q0LCAibW1wbGxf ZDQiLCAibW1wbGwiLCAxLCA0KSwNCisJRkFDVE9SKENMS19UT1BfTU1QTExfRDRfRDIsICJtbXBs bF9kNF9kMiIsICJtbXBsbF9kNCIsIDEsIDIpLA0KKwlGQUNUT1IoQ0xLX1RPUF9NTVBMTF9ENSwg Im1tcGxsX2Q1IiwgIm1tcGxsIiwgMSwgNSksDQorCUZBQ1RPUihDTEtfVE9QX01NUExMX0Q1X0Qy LCAibW1wbGxfZDVfZDIiLCAibW1wbGxfZDUiLCAxLCAyKSwNCisJRkFDVE9SKENMS19UT1BfTU1Q TExfRDYsICJtbXBsbF9kNiIsICJtbXBsbCIsIDEsIDYpLA0KKwlGQUNUT1IoQ0xLX1RPUF9NTVBM TF9ENl9EMiwgIm1tcGxsX2Q2X2QyIiwgIm1tcGxsX2Q2IiwgMSwgMiksDQorCUZBQ1RPUihDTEtf VE9QX01NUExMX0Q3LCAibW1wbGxfZDciLCAibW1wbGwiLCAxLCA3KSwNCisJRkFDVE9SKENMS19U T1BfTU1QTExfRDksICJtbXBsbF9kOSIsICJtbXBsbCIsIDEsIDkpLA0KKwlGQUNUT1IoQ0xLX1RP UF9BUFVQTEwsICJhcHVwbGxfY2siLCAiYXB1cGxsIiwgMSwgMiksDQorCUZBQ1RPUihDTEtfVE9Q X05QVVBMTCwgIm5wdXBsbF9jayIsICJucHVwbGwiLCAxLCAxKSwNCisJRkFDVE9SKENMS19UT1Bf VFZEUExMLCAidHZkcGxsX2NrIiwgInR2ZHBsbCIsIDEsIDEpLA0KKwlGQUNUT1IoQ0xLX1RPUF9U VkRQTExfRDIsICJ0dmRwbGxfZDIiLCAidHZkcGxsIiwgMSwgMiksDQorCUZBQ1RPUihDTEtfVE9Q X1RWRFBMTF9ENCwgInR2ZHBsbF9kNCIsICJ0dmRwbGwiLCAxLCA0KSwNCisJRkFDVE9SKENMS19U T1BfVFZEUExMX0Q4LCAidHZkcGxsX2Q4IiwgInR2ZHBsbCIsIDEsIDgpLA0KKwlGQUNUT1IoQ0xL X1RPUF9UVkRQTExfRDE2LCAidHZkcGxsX2QxNiIsICJ0dmRwbGwiLCAxLCAxNiksDQorCUZBQ1RP UihDTEtfVE9QX01TRENQTEwsICJtc2RjcGxsX2NrIiwgIm1zZGNwbGwiLCAxLCAxKSwNCisJRkFD VE9SKENMS19UT1BfTVNEQ1BMTF9EMiwgIm1zZGNwbGxfZDIiLCAibXNkY3BsbCIsIDEsIDIpLA0K KwlGQUNUT1IoQ0xLX1RPUF9NU0RDUExMX0Q0LCAibXNkY3BsbF9kNCIsICJtc2RjcGxsIiwgMSwg NCksDQorCUZBQ1RPUihDTEtfVE9QX09TQ19EMiwgIm9zY19kMiIsICJ1bHBvc2MiLCAxLCAyKSwN CisJRkFDVE9SKENMS19UT1BfT1NDX0Q0LCAib3NjX2Q0IiwgInVscG9zYyIsIDEsIDQpLA0KKwlG QUNUT1IoQ0xLX1RPUF9PU0NfRDgsICJvc2NfZDgiLCAidWxwb3NjIiwgMSwgOCksDQorCUZBQ1RP UihDTEtfVE9QX09TQ19EMTAsICJvc2NfZDEwIiwgInVscG9zYyIsIDEsIDEwKSwNCisJRkFDVE9S KENMS19UT1BfT1NDX0QxNiwgIm9zY19kMTYiLCAidWxwb3NjIiwgMSwgMTYpLA0KKwlGQUNUT1Io Q0xLX1RPUF9PU0NfRDIwLCAib3NjX2QyMCIsICJ1bHBvc2MiLCAxLCAyMCksDQorCUZBQ1RPUihD TEtfVE9QX0FEU1BQTEwsICJhZHNwcGxsX2NrIiwgImFkc3BwbGwiLCAxLCAxKSwNCisJRkFDVE9S KENMS19UT1BfVU5JVlBMTF8xOTJNLCAidW5pdnBsbF8xOTJtIiwgInVuaXZwbGwiLCAxLCAxMyks DQorCUZBQ1RPUihDTEtfVE9QX1VOSVZQTExfMTkyTV9EMiwgInVuaXZwbGxfMTkybV9kMiIsICJ1 bml2cGxsXzE5Mm0iLCAxLCAyKSwNCisJRkFDVE9SKENMS19UT1BfVU5JVlBMTF8xOTJNX0Q0LCAi dW5pdnBsbF8xOTJtX2Q0IiwgInVuaXZwbGxfMTkybSIsIDEsIDQpLA0KKwlGQUNUT1IoQ0xLX1RP UF9VTklWUExMXzE5Mk1fRDgsICJ1bml2cGxsXzE5Mm1fZDgiLCAidW5pdnBsbF8xOTJtIiwgMSwg OCksDQorCUZBQ1RPUihDTEtfVE9QX1VOSVZQTExfMTkyTV9EMTYsICJ1bml2cGxsXzE5Mm1fZDE2 IiwgInVuaXZwbGxfMTkybSIsIDEsIDE2KSwNCisJRkFDVE9SKENMS19UT1BfVU5JVlBMTF8xOTJN X0QzMiwgInVuaXZwbGxfMTkybV9kMzIiLCAidW5pdnBsbF8xOTJtIiwgMSwgMzIpLA0KK307DQor DQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBheGlfcGFyZW50c1tdID0gew0KKwkiY2xrMjZt IiwNCisJIm1haW5wbGxfZDRfZDQiLA0KKwkibWFpbnBsbF9kN19kMiIsDQorCSJtYWlucGxsX2Q0 X2QyIiwNCisJIm1haW5wbGxfZDVfZDIiLA0KKwkibWFpbnBsbF9kNl9kMiIsDQorCSJvc2NfZDQi DQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHNwbV9wYXJlbnRzW10gPSB7DQor CSJjbGsyNm0iLA0KKwkib3NjX2QxMCIsDQorCSJtYWlucGxsX2Q3X2Q0IiwNCisJImNsazMyayIN Cit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3Qgc2NwX3BhcmVudHNbXSA9IHsNCisJ ImNsazI2bSIsDQorCSJ1bml2cGxsX2Q1IiwNCisJIm1haW5wbGxfZDZfZDIiLA0KKwkibWFpbnBs bF9kNiIsDQorCSJ1bml2cGxsX2Q2IiwNCisJIm1haW5wbGxfZDRfZDIiLA0KKwkibWFpbnBsbF9k NV9kMiIsDQorCSJ1bml2cGxsX2Q0X2QyIg0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBj b25zdCBidXNfYXhpbWVtX3BhcmVudHNbXSA9IHsNCisJImNsazI2bSIsDQorCSJtYWlucGxsX2Q3 X2QyIiwNCisJIm1haW5wbGxfZDRfZDIiLA0KKwkibWFpbnBsbF9kNV9kMiIsDQorCSJtYWlucGxs X2Q2Ig0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBkaXNwX3BhcmVudHNbXSA9 IHsNCisJImNsazI2bSIsDQorCSJ1bml2cGxsX2Q2X2QyIiwNCisJIm1haW5wbGxfZDVfZDIiLA0K KwkibW1wbGxfZDZfZDIiLA0KKwkidW5pdnBsbF9kNV9kMiIsDQorCSJ1bml2cGxsX2Q0X2QyIiwN CisJIm1tcGxsX2Q3IiwNCisJInVuaXZwbGxfZDYiLA0KKwkibWFpbnBsbF9kNCIsDQorCSJtbXBs bF9kNV9kMiINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgbWRwX3BhcmVudHNb XSA9IHsNCisJImNsazI2bSIsDQorCSJtYWlucGxsX2Q1X2QyIiwNCisJIm1tcGxsX2Q2X2QyIiwN CisJIm1haW5wbGxfZDRfZDIiLA0KKwkibW1wbGxfZDRfZDIiLA0KKwkibWFpbnBsbF9kNiIsDQor CSJ1bml2cGxsX2Q2IiwNCisJIm1haW5wbGxfZDQiLA0KKwkidHZkcGxsX2NrIiwNCisJInVuaXZw bGxfZDQiLA0KKwkibW1wbGxfZDVfZDIiDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNv bnN0IGltZzFfcGFyZW50c1tdID0gew0KKwkiY2xrMjZtIiwNCisJInVuaXZwbGxfZDQiLA0KKwki dHZkcGxsX2NrIiwNCisJIm1haW5wbGxfZDQiLA0KKwkidW5pdnBsbF9kNSIsDQorCSJtbXBsbF9k NiIsDQorCSJ1bml2cGxsX2Q2IiwNCisJIm1haW5wbGxfZDYiLA0KKwkibW1wbGxfZDRfZDIiLA0K KwkibWFpbnBsbF9kNF9kMiIsDQorCSJtbXBsbF9kNl9kMiIsDQorCSJtbXBsbF9kNV9kMiINCit9 Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgaW1nMl9wYXJlbnRzW10gPSB7DQorCSJj bGsyNm0iLA0KKwkidW5pdnBsbF9kNCIsDQorCSJ0dmRwbGxfY2siLA0KKwkibWFpbnBsbF9kNCIs DQorCSJ1bml2cGxsX2Q1IiwNCisJIm1tcGxsX2Q2IiwNCisJInVuaXZwbGxfZDYiLA0KKwkibWFp bnBsbF9kNiIsDQorCSJtbXBsbF9kNF9kMiIsDQorCSJtYWlucGxsX2Q0X2QyIiwNCisJIm1tcGxs X2Q2X2QyIiwNCisJIm1tcGxsX2Q1X2QyIg0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBj b25zdCBpcGVfcGFyZW50c1tdID0gew0KKwkiY2xrMjZtIiwNCisJIm1haW5wbGxfZDQiLA0KKwki bW1wbGxfZDYiLA0KKwkidW5pdnBsbF9kNiIsDQorCSJtYWlucGxsX2Q2IiwNCisJInVuaXZwbGxf ZDRfZDIiLA0KKwkibWFpbnBsbF9kNF9kMiIsDQorCSJtbXBsbF9kNl9kMiIsDQorCSJtbXBsbF9k NV9kMiINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgZHBlX3BhcmVudHNbXSA9 IHsNCisJImNsazI2bSIsDQorCSJtYWlucGxsX2Q0IiwNCisJIm1tcGxsX2Q2IiwNCisJInVuaXZw bGxfZDYiLA0KKwkibWFpbnBsbF9kNiIsDQorCSJ1bml2cGxsX2Q0X2QyIiwNCisJInVuaXZwbGxf ZDVfZDIiLA0KKwkibW1wbGxfZDZfZDIiDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNv bnN0IGNhbV9wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0KKwkibWFpbnBsbF9kNCIsDQorCSJt bXBsbF9kNiIsDQorCSJ1bml2cGxsX2Q0IiwNCisJInVuaXZwbGxfZDUiLA0KKwkidW5pdnBsbF9k NiIsDQorCSJtbXBsbF9kNyIsDQorCSJ1bml2cGxsX2Q0X2QyIiwNCisJIm1haW5wbGxfZDRfZDIi LA0KKwkidW5pdnBsbF9kNl9kMiINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3Qg Y2N1X3BhcmVudHNbXSA9IHsNCisJImNsazI2bSIsDQorCSJtYWlucGxsX2Q0IiwNCisJIm1tcGxs X2Q2IiwNCisJIm1haW5wbGxfZDYiLA0KKwkibW1wbGxfZDciLA0KKwkidW5pdnBsbF9kNF9kMiIs DQorCSJtbXBsbF9kNl9kMiIsDQorCSJtbXBsbF9kNV9kMiIsDQorCSJ1bml2cGxsX2Q1IiwNCisJ InVuaXZwbGxfZDZfZDIiDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGRzcDdf cGFyZW50c1tdID0gew0KKwkiY2xrMjZtIiwNCisJIm1haW5wbGxfZDRfZDIiLA0KKwkibWFpbnBs bF9kNiIsDQorCSJtbXBsbF9kNiIsDQorCSJ1bml2cGxsX2Q1IiwNCisJIm1tcGxsX2Q1IiwNCisJ InVuaXZwbGxfZDQiLA0KKwkibW1wbGxfZDQiDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAq IGNvbnN0IG1mZ19yZWZfcGFyZW50c1tdID0gew0KKwkiY2xrMjZtIiwNCisJImNsazI2bSIsDQor CSJ1bml2cGxsX2Q2IiwNCisJIm1haW5wbGxfZDVfZDIiDQorfTsNCisNCitzdGF0aWMgY29uc3Qg Y2hhciAqIGNvbnN0IG1mZ19wbGxfcGFyZW50c1tdID0gew0KKwkibWZnX3JlZl9zZWwiLA0KKwki bWZncGxsIg0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBjYW10Z19wYXJlbnRz W10gPSB7DQorCSJjbGsyNm0iLA0KKwkidW5pdnBsbF8xOTJtX2Q4IiwNCisJInVuaXZwbGxfZDZf ZDgiLA0KKwkidW5pdnBsbF8xOTJtX2Q0IiwNCisJInVuaXZwbGxfZDZfZDE2IiwNCisJImNzd19m MjZtX2QyIiwNCisJInVuaXZwbGxfMTkybV9kMTYiLA0KKwkidW5pdnBsbF8xOTJtX2QzMiINCit9 Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgY2FtdGcyX3BhcmVudHNbXSA9IHsNCisJ ImNsazI2bSIsDQorCSJ1bml2cGxsXzE5Mm1fZDgiLA0KKwkidW5pdnBsbF9kNl9kOCIsDQorCSJ1 bml2cGxsXzE5Mm1fZDQiLA0KKwkidW5pdnBsbF9kNl9kMTYiLA0KKwkiY3N3X2YyNm1fZDIiLA0K KwkidW5pdnBsbF8xOTJtX2QxNiIsDQorCSJ1bml2cGxsXzE5Mm1fZDMyIg0KK307DQorDQorc3Rh dGljIGNvbnN0IGNoYXIgKiBjb25zdCBjYW10ZzNfcGFyZW50c1tdID0gew0KKwkiY2xrMjZtIiwN CisJInVuaXZwbGxfMTkybV9kOCIsDQorCSJ1bml2cGxsX2Q2X2Q4IiwNCisJInVuaXZwbGxfMTky bV9kNCIsDQorCSJ1bml2cGxsX2Q2X2QxNiIsDQorCSJjc3dfZjI2bV9kMiIsDQorCSJ1bml2cGxs XzE5Mm1fZDE2IiwNCisJInVuaXZwbGxfMTkybV9kMzIiDQorfTsNCisNCitzdGF0aWMgY29uc3Qg Y2hhciAqIGNvbnN0IGNhbXRnNF9wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0KKwkidW5pdnBs bF8xOTJtX2Q4IiwNCisJInVuaXZwbGxfZDZfZDgiLA0KKwkidW5pdnBsbF8xOTJtX2Q0IiwNCisJ InVuaXZwbGxfZDZfZDE2IiwNCisJImNzd19mMjZtX2QyIiwNCisJInVuaXZwbGxfMTkybV9kMTYi LA0KKwkidW5pdnBsbF8xOTJtX2QzMiINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29u c3QgY2FtdGc1X3BhcmVudHNbXSA9IHsNCisJImNsazI2bSIsDQorCSJ1bml2cGxsXzE5Mm1fZDgi LA0KKwkidW5pdnBsbF9kNl9kOCIsDQorCSJ1bml2cGxsXzE5Mm1fZDQiLA0KKwkidW5pdnBsbF9k Nl9kMTYiLA0KKwkiY3N3X2YyNm1fZDIiLA0KKwkidW5pdnBsbF8xOTJtX2QxNiIsDQorCSJ1bml2 cGxsXzE5Mm1fZDMyIg0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBjYW10ZzZf cGFyZW50c1tdID0gew0KKwkiY2xrMjZtIiwNCisJInVuaXZwbGxfMTkybV9kOCIsDQorCSJ1bml2 cGxsX2Q2X2Q4IiwNCisJInVuaXZwbGxfMTkybV9kNCIsDQorCSJ1bml2cGxsX2Q2X2QxNiIsDQor CSJjc3dfZjI2bV9kMiIsDQorCSJ1bml2cGxsXzE5Mm1fZDE2IiwNCisJInVuaXZwbGxfMTkybV9k MzIiDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHVhcnRfcGFyZW50c1tdID0g ew0KKwkiY2xrMjZtIiwNCisJInVuaXZwbGxfZDZfZDgiDQorfTsNCisNCitzdGF0aWMgY29uc3Qg Y2hhciAqIGNvbnN0IHNwaV9wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0KKwkibWFpbnBsbF9k NV9kNCIsDQorCSJtYWlucGxsX2Q2X2Q0IiwNCisJIm1zZGNwbGxfZDQiDQorfTsNCisNCitzdGF0 aWMgY29uc3QgY2hhciAqIGNvbnN0IG1zZGM1MF8wX2hfcGFyZW50c1tdID0gew0KKwkiY2xrMjZt IiwNCisJIm1haW5wbGxfZDRfZDIiLA0KKwkibWFpbnBsbF9kNl9kMiINCit9Ow0KKw0KK3N0YXRp YyBjb25zdCBjaGFyICogY29uc3QgbXNkYzUwXzBfcGFyZW50c1tdID0gew0KKwkiY2xrMjZtIiwN CisJIm1zZGNwbGxfY2siLA0KKwkibXNkY3BsbF9kMiIsDQorCSJ1bml2cGxsX2Q0X2Q0IiwNCisJ Im1haW5wbGxfZDZfZDIiLA0KKwkidW5pdnBsbF9kNF9kMiINCit9Ow0KKw0KK3N0YXRpYyBjb25z dCBjaGFyICogY29uc3QgbXNkYzMwXzFfcGFyZW50c1tdID0gew0KKwkiY2xrMjZtIiwNCisJInVu aXZwbGxfZDZfZDIiLA0KKwkibWFpbnBsbF9kNl9kMiIsDQorCSJtYWlucGxsX2Q3X2QyIiwNCisJ Im1zZGNwbGxfZDIiDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IG1zZGMzMF8y X3BhcmVudHNbXSA9IHsNCisJImNsazI2bSIsDQorCSJ1bml2cGxsX2Q2X2QyIiwNCisJIm1haW5w bGxfZDZfZDIiLA0KKwkibWFpbnBsbF9kN19kMiIsDQorCSJtc2RjcGxsX2QyIg0KK307DQorDQor c3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBhdWRpb19wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0i LA0KKwkibWFpbnBsbF9kNV9kOCIsDQorCSJtYWlucGxsX2Q3X2Q4IiwNCisJIm1haW5wbGxfZDRf ZDE2Ig0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBhdWRfaW50YnVzX3BhcmVu dHNbXSA9IHsNCisJImNsazI2bSIsDQorCSJtYWlucGxsX2Q0X2Q0IiwNCisJIm1haW5wbGxfZDdf ZDQiDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHB3cmFwX3VscG9zY19wYXJl bnRzW10gPSB7DQorCSJvc2NfZDEwIiwNCisJImNsazI2bSIsDQorCSJvc2NfZDQiLA0KKwkib3Nj X2Q4IiwNCisJIm9zY19kMTYiDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGF0 Yl9wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0KKwkibWFpbnBsbF9kNF9kMiIsDQorCSJtYWlu cGxsX2Q1X2QyIg0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBzc3BtX3BhcmVu dHNbXSA9IHsNCisJImNsazI2bSIsDQorCSJtYWlucGxsX2Q1X2QyIiwNCisJInVuaXZwbGxfZDVf ZDIiLA0KKwkibWFpbnBsbF9kNF9kMiIsDQorCSJ1bml2cGxsX2Q0X2QyIiwNCisJIm1haW5wbGxf ZDYiDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGRwaV9wYXJlbnRzW10gPSB7 DQorCSJjbGsyNm0iLA0KKwkidHZkcGxsX2QyIiwNCisJInR2ZHBsbF9kNCIsDQorCSJ0dmRwbGxf ZDgiLA0KKwkidHZkcGxsX2QxNiINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3Qg c2NhbV9wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0KKwkibWFpbnBsbF9kNV9kNCINCit9Ow0K Kw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgZGlzcF9wd21fcGFyZW50c1tdID0gew0KKwki Y2xrMjZtIiwNCisJInVuaXZwbGxfZDZfZDQiLA0KKwkib3NjX2QyIiwNCisJIm9zY19kNCIsDQor CSJvc2NfZDE2Ig0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCB1c2JfdG9wX3Bh cmVudHNbXSA9IHsNCisJImNsazI2bSIsDQorCSJ1bml2cGxsX2Q1X2Q0IiwNCisJInVuaXZwbGxf ZDZfZDQiLA0KKwkidW5pdnBsbF9kNV9kMiINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICog Y29uc3Qgc3N1c2JfeGhjaV9wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0KKwkidW5pdnBsbF9k NV9kNCIsDQorCSJ1bml2cGxsX2Q2X2Q0IiwNCisJInVuaXZwbGxfZDVfZDIiDQorfTsNCisNCitz dGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGkyY19wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0K KwkibWFpbnBsbF9kNF9kOCIsDQorCSJ1bml2cGxsX2Q1X2Q0Ig0KK307DQorDQorc3RhdGljIGNv bnN0IGNoYXIgKiBjb25zdCBzZW5pbmZfcGFyZW50c1tdID0gew0KKwkiY2xrMjZtIiwNCisJInVu aXZwbGxfZDRfZDQiLA0KKwkidW5pdnBsbF9kNl9kMiIsDQorCSJ1bml2cGxsX2Q0X2QyIiwNCisJ InVuaXZwbGxfZDciLA0KKwkidW5pdnBsbF9kNiIsDQorCSJtbXBsbF9kNiIsDQorCSJ1bml2cGxs X2Q1Ig0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBzZW5pbmYxX3BhcmVudHNb XSA9IHsNCisJImNsazI2bSIsDQorCSJ1bml2cGxsX2Q0X2Q0IiwNCisJInVuaXZwbGxfZDZfZDIi LA0KKwkidW5pdnBsbF9kNF9kMiIsDQorCSJ1bml2cGxsX2Q3IiwNCisJInVuaXZwbGxfZDYiLA0K KwkibW1wbGxfZDYiLA0KKwkidW5pdnBsbF9kNSINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFy ICogY29uc3Qgc2VuaW5mMl9wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0KKwkidW5pdnBsbF9k NF9kNCIsDQorCSJ1bml2cGxsX2Q2X2QyIiwNCisJInVuaXZwbGxfZDRfZDIiLA0KKwkidW5pdnBs bF9kNyIsDQorCSJ1bml2cGxsX2Q2IiwNCisJIm1tcGxsX2Q2IiwNCisJInVuaXZwbGxfZDUiDQor fTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHNlbmluZjNfcGFyZW50c1tdID0gew0K KwkiY2xrMjZtIiwNCisJInVuaXZwbGxfZDRfZDQiLA0KKwkidW5pdnBsbF9kNl9kMiIsDQorCSJ1 bml2cGxsX2Q0X2QyIiwNCisJInVuaXZwbGxfZDciLA0KKwkidW5pdnBsbF9kNiIsDQorCSJtbXBs bF9kNiIsDQorCSJ1bml2cGxsX2Q1Ig0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25z dCB0bF9wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0KKwkidW5pdnBsbF8xOTJtX2QyIiwNCisJ Im1haW5wbGxfZDZfZDQiDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGR4Y2Nf cGFyZW50c1tdID0gew0KKwkiY2xrMjZtIiwNCisJIm1haW5wbGxfZDRfZDIiLA0KKwkibWFpbnBs bF9kNF9kNCIsDQorCSJtYWlucGxsX2Q0X2Q4Ig0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIg KiBjb25zdCBhdWRfZW5nZW4xX3BhcmVudHNbXSA9IHsNCisJImNsazI2bSIsDQorCSJhcGxsMV9k MiIsDQorCSJhcGxsMV9kNCIsDQorCSJhcGxsMV9kOCINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBj aGFyICogY29uc3QgYXVkX2VuZ2VuMl9wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0KKwkiYXBs bDJfZDIiLA0KKwkiYXBsbDJfZDQiLA0KKwkiYXBsbDJfZDgiDQorfTsNCisNCitzdGF0aWMgY29u c3QgY2hhciAqIGNvbnN0IGFlc191ZnNmZGVfcGFyZW50c1tdID0gew0KKwkiY2xrMjZtIiwNCisJ Im1haW5wbGxfZDQiLA0KKwkibWFpbnBsbF9kNF9kMiIsDQorCSJtYWlucGxsX2Q2IiwNCisJIm1h aW5wbGxfZDRfZDQiLA0KKwkidW5pdnBsbF9kNF9kMiIsDQorCSJ1bml2cGxsX2Q2Ig0KK307DQor DQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCB1ZnNfcGFyZW50c1tdID0gew0KKwkiY2xrMjZt IiwNCisJIm1haW5wbGxfZDRfZDQiLA0KKwkibWFpbnBsbF9kNF9kOCIsDQorCSJ1bml2cGxsX2Q0 X2Q0IiwNCisJIm1haW5wbGxfZDZfZDIiLA0KKwkibWFpbnBsbF9kNV9kMiIsDQorCSJtc2RjcGxs X2QyIg0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBhdWRfMV9wYXJlbnRzW10g PSB7DQorCSJjbGsyNm0iLA0KKwkiYXBsbDFfY2siDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hh ciAqIGNvbnN0IGF1ZF8yX3BhcmVudHNbXSA9IHsNCisJImNsazI2bSIsDQorCSJhcGxsMl9jayIN Cit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgYWRzcF9wYXJlbnRzW10gPSB7DQor CSJjbGsyNm0iLA0KKwkibWFpbnBsbF9kNiIsDQorCSJtYWlucGxsX2Q1X2QyIiwNCisJInVuaXZw bGxfZDRfZDQiLA0KKwkidW5pdnBsbF9kNCIsDQorCSJ1bml2cGxsX2Q2IiwNCisJInVscG9zYyIs DQorCSJhZHNwcGxsX2NrIg0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBkcG1h aWZfbWFpbl9wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0KKwkidW5pdnBsbF9kNF9kNCIsDQor CSJtYWlucGxsX2Q2IiwNCisJIm1haW5wbGxfZDRfZDIiLA0KKwkidW5pdnBsbF9kNF9kMiINCit9 Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgdmVuY19wYXJlbnRzW10gPSB7DQorCSJj bGsyNm0iLA0KKwkibW1wbGxfZDciLA0KKwkibWFpbnBsbF9kNiIsDQorCSJ1bml2cGxsX2Q0X2Qy IiwNCisJIm1haW5wbGxfZDRfZDIiLA0KKwkidW5pdnBsbF9kNiIsDQorCSJtbXBsbF9kNiIsDQor CSJtYWlucGxsX2Q1X2QyIiwNCisJIm1haW5wbGxfZDZfZDIiLA0KKwkibW1wbGxfZDkiLA0KKwki dW5pdnBsbF9kNF9kNCIsDQorCSJtYWlucGxsX2Q0IiwNCisJInVuaXZwbGxfZDQiLA0KKwkidW5p dnBsbF9kNSIsDQorCSJ1bml2cGxsX2Q1X2QyIiwNCisJIm1haW5wbGxfZDUiDQorfTsNCisNCitz dGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHZkZWNfcGFyZW50c1tdID0gew0KKwkiY2xrMjZtIiwN CisJInVuaXZwbGxfMTkybV9kMiIsDQorCSJ1bml2cGxsX2Q1X2Q0IiwNCisJIm1haW5wbGxfZDUi LA0KKwkibWFpbnBsbF9kNV9kMiIsDQorCSJtbXBsbF9kNl9kMiIsDQorCSJ1bml2cGxsX2Q1X2Qy IiwNCisJIm1haW5wbGxfZDRfZDIiLA0KKwkidW5pdnBsbF9kNF9kMiIsDQorCSJ1bml2cGxsX2Q3 IiwNCisJIm1tcGxsX2Q3IiwNCisJIm1tcGxsX2Q2IiwNCisJInVuaXZwbGxfZDUiLA0KKwkibWFp bnBsbF9kNCIsDQorCSJ1bml2cGxsX2Q0IiwNCisJInVuaXZwbGxfZDYiDQorfTsNCisNCitzdGF0 aWMgY29uc3QgY2hhciAqIGNvbnN0IGNhbXRtX3BhcmVudHNbXSA9IHsNCisJImNsazI2bSIsDQor CSJ1bml2cGxsX2Q3IiwNCisJInVuaXZwbGxfZDZfZDIiLA0KKwkidW5pdnBsbF9kNF9kMiINCit9 Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgcHdtX3BhcmVudHNbXSA9IHsNCisJImNs azI2bSIsDQorCSJ1bml2cGxsX2Q0X2Q4Ig0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBj b25zdCBhdWRpb19oX3BhcmVudHNbXSA9IHsNCisJImNsazI2bSIsDQorCSJ1bml2cGxsX2Q3IiwN CisJImFwbGwxX2NrIiwNCisJImFwbGwyX2NrIg0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIg KiBjb25zdCBzcG1pX21zdF9wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0KKwkiY3N3X2YyNm1f ZDIiLA0KKwkib3NjX2Q4IiwNCisJIm9zY19kMTAiLA0KKwkib3NjX2QxNiIsDQorCSJvc2NfZDIw IiwNCisJImNsazMyayINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgYWVzX21z ZGNmZGVfcGFyZW50c1tdID0gew0KKwkiY2xrMjZtIiwNCisJIm1haW5wbGxfZDRfZDIiLA0KKwki bWFpbnBsbF9kNiIsDQorCSJtYWlucGxsX2Q0X2Q0IiwNCisJInVuaXZwbGxfZDRfZDIiLA0KKwki dW5pdnBsbF9kNiINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgbWN1cG1fcGFy ZW50c1tdID0gew0KKwkiY2xrMjZtIiwNCisJIm1haW5wbGxfZDZfZDQiLA0KKwkibWFpbnBsbF9k Nl9kMiINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3Qgc2ZsYXNoX3BhcmVudHNb XSA9IHsNCisJImNsazI2bSIsDQorCSJtYWlucGxsX2Q3X2Q4IiwNCisJInVuaXZwbGxfZDZfZDgi LA0KKwkidW5pdnBsbF9kNV9kOCINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3Qg YXBsbF9pMnMwX21fcGFyZW50c1tdID0gew0KKwkiYXVkXzFfc2VsIiwNCisJImF1ZF8yX3NlbCIN Cit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgYXBsbF9pMnMxX21fcGFyZW50c1td ID0gew0KKwkiYXVkXzFfc2VsIiwNCisJImF1ZF8yX3NlbCINCit9Ow0KKw0KK3N0YXRpYyBjb25z dCBjaGFyICogY29uc3QgYXBsbF9pMnMyX21fcGFyZW50c1tdID0gew0KKwkiYXVkXzFfc2VsIiwN CisJImF1ZF8yX3NlbCINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgYXBsbF9p MnMzX21fcGFyZW50c1tdID0gew0KKwkiYXVkXzFfc2VsIiwNCisJImF1ZF8yX3NlbCINCit9Ow0K Kw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgYXBsbF9pMnM0X21fcGFyZW50c1tdID0gew0K KwkiYXVkXzFfc2VsIiwNCisJImF1ZF8yX3NlbCINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFy ICogY29uc3QgYXBsbF9pMnM1X21fcGFyZW50c1tdID0gew0KKwkiYXVkXzFfc2VsIiwNCisJImF1 ZF8yX3NlbCINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgYXBsbF9pMnM2X21f cGFyZW50c1tdID0gew0KKwkiYXVkXzFfc2VsIiwNCisJImF1ZF8yX3NlbCINCit9Ow0KKw0KK3N0 YXRpYyBjb25zdCBjaGFyICogY29uc3QgYXBsbF9pMnM3X21fcGFyZW50c1tdID0gew0KKwkiYXVk XzFfc2VsIiwNCisJImF1ZF8yX3NlbCINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29u c3QgYXBsbF9pMnM4X21fcGFyZW50c1tdID0gew0KKwkiYXVkXzFfc2VsIiwNCisJImF1ZF8yX3Nl bCINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgYXBsbF9pMnM5X21fcGFyZW50 c1tdID0gew0KKwkiYXVkXzFfc2VsIiwNCisJImF1ZF8yX3NlbCINCit9Ow0KKw0KKy8qDQorICog Q1JJVElDQUwgQ0xPQ0s6DQorICogYXhpX3NlbCBpcyB0aGUgbWFpbiBidXMgY2xvY2sgb2Ygd2hv bGUgU09DLg0KKyAqIHNwbV9zZWwgaXMgdGhlIGNsb2NrIG9mIHRoZSBhbHdheXMtb24gY28tcHJv Y2Vzc29yLg0KKyAqIGJ1c19heGltZW1fc2VsIGlzIGNsb2NrIG9mIHRoZSBidXMgdGhhdCBhY2Nl c3MgZW1pLg0KKyAqLw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX211eCB0b3BfbXRrX211eGVz W10gPSB7DQorCS8qIENMS19DRkdfMCAqLw0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRF9GTEFHUyhD TEtfVE9QX0FYSV9TRUwsICJheGlfc2VsIiwNCisJCWF4aV9wYXJlbnRzLCAweDAxMCwgMHgwMTQs IDB4MDE4LCAwLCAzLCA3LCAweDAwNCwgMCwNCisJCUNMS19JU19DUklUSUNBTCksDQorCU1VWF9H QVRFX0NMUl9TRVRfVVBEX0ZMQUdTKENMS19UT1BfU1BNX1NFTCwgInNwbV9zZWwiLA0KKwkJc3Bt X3BhcmVudHMsIDB4MDEwLCAweDAxNCwgMHgwMTgsIDgsIDIsIDE1LCAweDAwNCwgMSwNCisJCUNM S19JU19DUklUSUNBTCksDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENMS19UT1BfU0NQX1NFTCwg InNjcF9zZWwiLA0KKwkJc2NwX3BhcmVudHMsIDB4MDEwLCAweDAxNCwgMHgwMTgsIDE2LCAzLCAy MywgMHgwMDQsIDIpLA0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRF9GTEFHUyhDTEtfVE9QX0JVU19B WElNRU1fU0VMLCAiYnVzX2F4aW1lbV9zZWwiLA0KKwkJYnVzX2F4aW1lbV9wYXJlbnRzLCAweDAx MCwgMHgwMTQsIDB4MDE4LCAyNCwgMywgMzEsIDB4MDA0LCAzLA0KKwkJQ0xLX0lTX0NSSVRJQ0FM KSwNCisJLyogQ0xLX0NGR18xICovDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENMS19UT1BfRElT UF9TRUwsICJkaXNwX3NlbCIsDQorCQlkaXNwX3BhcmVudHMsIDB4MDIwLCAweDAyNCwgMHgwMjgs IDAsIDQsIDcsIDB4MDA0LCA0KSwNCisJTVVYX0dBVEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9NRFBf U0VMLCAibWRwX3NlbCIsDQorCQltZHBfcGFyZW50cywgMHgwMjAsIDB4MDI0LCAweDAyOCwgOCwg NCwgMTUsIDB4MDA0LCA1KSwNCisJTVVYX0dBVEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9JTUcxX1NF TCwgImltZzFfc2VsIiwNCisJCWltZzFfcGFyZW50cywgMHgwMjAsIDB4MDI0LCAweDAyOCwgMTYs IDQsIDIzLCAweDAwNCwgNiksDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENMS19UT1BfSU1HMl9T RUwsICJpbWcyX3NlbCIsDQorCQlpbWcyX3BhcmVudHMsIDB4MDIwLCAweDAyNCwgMHgwMjgsIDI0 LCA0LCAzMSwgMHgwMDQsIDcpLA0KKwkvKiBDTEtfQ0ZHXzIgKi8NCisJTVVYX0dBVEVfQ0xSX1NF VF9VUEQoQ0xLX1RPUF9JUEVfU0VMLCAiaXBlX3NlbCIsDQorCQlpcGVfcGFyZW50cywgMHgwMzAs IDB4MDM0LCAweDAzOCwgMCwgNCwgNywgMHgwMDQsIDgpLA0KKwlNVVhfR0FURV9DTFJfU0VUX1VQ RChDTEtfVE9QX0RQRV9TRUwsICJkcGVfc2VsIiwNCisJCWRwZV9wYXJlbnRzLCAweDAzMCwgMHgw MzQsIDB4MDM4LCA4LCAzLCAxNSwgMHgwMDQsIDkpLA0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChD TEtfVE9QX0NBTV9TRUwsICJjYW1fc2VsIiwNCisJCWNhbV9wYXJlbnRzLCAweDAzMCwgMHgwMzQs IDB4MDM4LCAxNiwgNCwgMjMsIDB4MDA0LCAxMCksDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENM S19UT1BfQ0NVX1NFTCwgImNjdV9zZWwiLA0KKwkJY2N1X3BhcmVudHMsIDB4MDMwLCAweDAzNCwg MHgwMzgsIDI0LCA0LCAzMSwgMHgwMDQsIDExKSwNCisJLyogQ0xLX0NGR180ICovDQorCU1VWF9H QVRFX0NMUl9TRVRfVVBEKENMS19UT1BfRFNQN19TRUwsICJkc3A3X3NlbCIsDQorCQlkc3A3X3Bh cmVudHMsIDB4MDUwLCAweDA1NCwgMHgwNTgsIDAsIDMsIDcsIDB4MDA0LCAxNiksDQorCU1VWF9H QVRFX0NMUl9TRVRfVVBEKENMS19UT1BfTUZHX1JFRl9TRUwsICJtZmdfcmVmX3NlbCIsDQorCQlt ZmdfcmVmX3BhcmVudHMsIDB4MDUwLCAweDA1NCwgMHgwNTgsIDE2LCAyLCAyMywgMHgwMDQsIDE4 KSwNCisJTVVYX0NMUl9TRVRfVVBEKENMS19UT1BfTUZHX1BMTF9TRUwsICJtZmdfcGxsX3NlbCIs DQorCQltZmdfcGxsX3BhcmVudHMsIDB4MDUwLCAweDA1NCwgMHgwNTgsIDE4LCAxLCAtMSwgLTEp LA0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX0NBTVRHX1NFTCwgImNhbXRnX3NlbCIs DQorCQljYW10Z19wYXJlbnRzLCAweDA1MCwgMHgwNTQsIDB4MDU4LCAyNCwgMywgMzEsIDB4MDA0 LCAxOSksDQorCS8qIENMS19DRkdfNSAqLw0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9Q X0NBTVRHMl9TRUwsICJjYW10ZzJfc2VsIiwNCisJCWNhbXRnMl9wYXJlbnRzLCAweDA2MCwgMHgw NjQsIDB4MDY4LCAwLCAzLCA3LCAweDAwNCwgMjApLA0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChD TEtfVE9QX0NBTVRHM19TRUwsICJjYW10ZzNfc2VsIiwNCisJCWNhbXRnM19wYXJlbnRzLCAweDA2 MCwgMHgwNjQsIDB4MDY4LCA4LCAzLCAxNSwgMHgwMDQsIDIxKSwNCisJTVVYX0dBVEVfQ0xSX1NF VF9VUEQoQ0xLX1RPUF9DQU1URzRfU0VMLCAiY2FtdGc0X3NlbCIsDQorCQljYW10ZzRfcGFyZW50 cywgMHgwNjAsIDB4MDY0LCAweDA2OCwgMTYsIDMsIDIzLCAweDAwNCwgMjIpLA0KKwlNVVhfR0FU RV9DTFJfU0VUX1VQRChDTEtfVE9QX0NBTVRHNV9TRUwsICJjYW10ZzVfc2VsIiwNCisJCWNhbXRn NV9wYXJlbnRzLCAweDA2MCwgMHgwNjQsIDB4MDY4LCAyNCwgMywgMzEsIDB4MDA0LCAyMyksDQor CS8qIENMS19DRkdfNiAqLw0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX0NBTVRHNl9T RUwsICJjYW10ZzZfc2VsIiwNCisJCWNhbXRnNl9wYXJlbnRzLCAweDA3MCwgMHgwNzQsIDB4MDc4 LCAwLCAzLCA3LCAweDAwNCwgMjQpLA0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX1VB UlRfU0VMLCAidWFydF9zZWwiLA0KKwkJdWFydF9wYXJlbnRzLCAweDA3MCwgMHgwNzQsIDB4MDc4 LCA4LCAxLCAxNSwgMHgwMDQsIDI1KSwNCisJTVVYX0dBVEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9T UElfU0VMLCAic3BpX3NlbCIsDQorCQlzcGlfcGFyZW50cywgMHgwNzAsIDB4MDc0LCAweDA3OCwg MTYsIDIsIDIzLCAweDAwNCwgMjYpLA0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX01T REM1MF8wX0hfU0VMLCAibXNkYzUwXzBfaF9zZWwiLA0KKwkJbXNkYzUwXzBfaF9wYXJlbnRzLCAw eDA3MCwgMHgwNzQsIDB4MDc4LCAyNCwgMiwgMzEsIDB4MDA0LCAyNyksDQorCS8qIENMS19DRkdf NyAqLw0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX01TREM1MF8wX1NFTCwgIm1zZGM1 MF8wX3NlbCIsDQorCQltc2RjNTBfMF9wYXJlbnRzLCAweDA4MCwgMHgwODQsIDB4MDg4LCAwLCAz LCA3LCAweDAwNCwgMjgpLA0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX01TREMzMF8x X1NFTCwgIm1zZGMzMF8xX3NlbCIsDQorCQltc2RjMzBfMV9wYXJlbnRzLCAweDA4MCwgMHgwODQs IDB4MDg4LCA4LCAzLCAxNSwgMHgwMDQsIDI5KSwNCisJTVVYX0dBVEVfQ0xSX1NFVF9VUEQoQ0xL X1RPUF9NU0RDMzBfMl9TRUwsICJtc2RjMzBfMl9zZWwiLA0KKwkJbXNkYzMwXzJfcGFyZW50cywg MHgwODAsIDB4MDg0LCAweDA4OCwgMTYsIDMsIDIzLCAweDAwNCwgMzApLA0KKwlNVVhfR0FURV9D TFJfU0VUX1VQRChDTEtfVE9QX0FVRElPX1NFTCwgImF1ZGlvX3NlbCIsDQorCQlhdWRpb19wYXJl bnRzLCAweDA4MCwgMHgwODQsIDB4MDg4LCAyNCwgMiwgMzEsIDB4MDA4LCAwKSwNCisJLyogQ0xL X0NGR184ICovDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENMS19UT1BfQVVEX0lOVEJVU19TRUws ICJhdWRfaW50YnVzX3NlbCIsDQorCQlhdWRfaW50YnVzX3BhcmVudHMsIDB4MDkwLCAweDA5NCwg MHgwOTgsIDAsIDIsIDcsIDB4MDA4LCAxKSwNCisJTVVYX0dBVEVfQ0xSX1NFVF9VUEQoQ0xLX1RP UF9QV1JBUF9VTFBPU0NfU0VMLCAicHdyYXBfdWxwb3NjX3NlbCIsDQorCQlwd3JhcF91bHBvc2Nf cGFyZW50cywgMHgwOTAsIDB4MDk0LCAweDA5OCwgOCwgMywgMTUsIDB4MDA4LCAyKSwNCisJTVVY X0dBVEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9BVEJfU0VMLCAiYXRiX3NlbCIsDQorCQlhdGJfcGFy ZW50cywgMHgwOTAsIDB4MDk0LCAweDA5OCwgMTYsIDIsIDIzLCAweDAwOCwgMyksDQorCU1VWF9H QVRFX0NMUl9TRVRfVVBEKENMS19UT1BfU1NQTV9TRUwsICJzc3BtX3NlbCIsDQorCQlzc3BtX3Bh cmVudHMsIDB4MDkwLCAweDA5NCwgMHgwOTgsIDI0LCAzLCAzMSwgMHgwMDgsIDQpLA0KKwkvKiBD TEtfQ0ZHXzkgKi8NCisJTVVYX0dBVEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9EUElfU0VMLCAiZHBp X3NlbCIsDQorCQlkcGlfcGFyZW50cywgMHgwYTAsIDB4MGE0LCAweDBhOCwgMCwgMywgNywgMHgw MDgsIDUpLA0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX1NDQU1fU0VMLCAic2NhbV9z ZWwiLA0KKwkJc2NhbV9wYXJlbnRzLCAweDBhMCwgMHgwYTQsIDB4MGE4LCA4LCAxLCAxNSwgMHgw MDgsIDYpLA0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX0RJU1BfUFdNX1NFTCwgImRp c3BfcHdtX3NlbCIsDQorCQlkaXNwX3B3bV9wYXJlbnRzLCAweDBhMCwgMHgwYTQsIDB4MGE4LCAx NiwgMywgMjMsIDB4MDA4LCA3KSwNCisJTVVYX0dBVEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9VU0Jf VE9QX1NFTCwgInVzYl90b3Bfc2VsIiwNCisJCXVzYl90b3BfcGFyZW50cywgMHgwYTAsIDB4MGE0 LCAweDBhOCwgMjQsIDIsIDMxLCAweDAwOCwgOCksDQorCS8qIENMS19DRkdfMTAgKi8NCisJTVVY X0dBVEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9TU1VTQl9YSENJX1NFTCwgInNzdXNiX3hoY2lfc2Vs IiwNCisJCXNzdXNiX3hoY2lfcGFyZW50cywgMHgwYjAsIDB4MGI0LCAweDBiOCwgMCwgMiwgNywg MHgwMDgsIDkpLA0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX0kyQ19TRUwsICJpMmNf c2VsIiwNCisJCWkyY19wYXJlbnRzLCAweDBiMCwgMHgwYjQsIDB4MGI4LCA4LCAyLCAxNSwgMHgw MDgsIDEwKSwNCisJTVVYX0dBVEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9TRU5JTkZfU0VMLCAic2Vu aW5mX3NlbCIsDQorCQlzZW5pbmZfcGFyZW50cywgMHgwYjAsIDB4MGI0LCAweDBiOCwgMTYsIDMs IDIzLCAweDAwOCwgMTEpLA0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX1NFTklORjFf U0VMLCAic2VuaW5mMV9zZWwiLA0KKwkJc2VuaW5mMV9wYXJlbnRzLCAweDBiMCwgMHgwYjQsIDB4 MGI4LCAyNCwgMywgMzEsIDB4MDA4LCAxMiksDQorCS8qIENMS19DRkdfMTEgKi8NCisJTVVYX0dB VEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9TRU5JTkYyX1NFTCwgInNlbmluZjJfc2VsIiwNCisJCXNl bmluZjJfcGFyZW50cywgMHgwYzAsIDB4MGM0LCAweDBjOCwgMCwgMywgNywgMHgwMDgsIDEzKSwN CisJTVVYX0dBVEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9TRU5JTkYzX1NFTCwgInNlbmluZjNfc2Vs IiwNCisJCXNlbmluZjNfcGFyZW50cywgMHgwYzAsIDB4MGM0LCAweDBjOCwgOCwgMywgMTUsIDB4 MDA4LCAxNCksDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENMS19UT1BfVExfU0VMLCAidGxfc2Vs IiwNCisJCXRsX3BhcmVudHMsIDB4MGMwLCAweDBjNCwgMHgwYzgsIDE2LCAyLCAyMywgMHgwMDgs IDE1KSwNCisJTVVYX0dBVEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9EWENDX1NFTCwgImR4Y2Nfc2Vs IiwNCisJCWR4Y2NfcGFyZW50cywgMHgwYzAsIDB4MGM0LCAweDBjOCwgMjQsIDIsIDMxLCAweDAw OCwgMTYpLA0KKwkvKiBDTEtfQ0ZHXzEyICovDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENMS19U T1BfQVVEX0VOR0VOMV9TRUwsICJhdWRfZW5nZW4xX3NlbCIsDQorCQlhdWRfZW5nZW4xX3BhcmVu dHMsIDB4MGQwLCAweDBkNCwgMHgwZDgsIDAsIDIsIDcsIDB4MDA4LCAxNyksDQorCU1VWF9HQVRF X0NMUl9TRVRfVVBEKENMS19UT1BfQVVEX0VOR0VOMl9TRUwsICJhdWRfZW5nZW4yX3NlbCIsDQor CQlhdWRfZW5nZW4yX3BhcmVudHMsIDB4MGQwLCAweDBkNCwgMHgwZDgsIDgsIDIsIDE1LCAweDAw OCwgMTgpLA0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX0FFU19VRlNGREVfU0VMLCAi YWVzX3Vmc2ZkZV9zZWwiLA0KKwkJYWVzX3Vmc2ZkZV9wYXJlbnRzLCAweDBkMCwgMHgwZDQsIDB4 MGQ4LCAxNiwgMywgMjMsIDB4MDA4LCAxOSksDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENMS19U T1BfVUZTX1NFTCwgInVmc19zZWwiLA0KKwkJdWZzX3BhcmVudHMsIDB4MGQwLCAweDBkNCwgMHgw ZDgsIDI0LCAzLCAzMSwgMHgwMDgsIDIwKSwNCisJLyogQ0xLX0NGR18xMyAqLw0KKwlNVVhfR0FU RV9DTFJfU0VUX1VQRChDTEtfVE9QX0FVRF8xX1NFTCwgImF1ZF8xX3NlbCIsDQorCQlhdWRfMV9w YXJlbnRzLCAweDBlMCwgMHgwZTQsIDB4MGU4LCAwLCAxLCA3LCAweDAwOCwgMjEpLA0KKwlNVVhf R0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX0FVRF8yX1NFTCwgImF1ZF8yX3NlbCIsDQorCQlhdWRf Ml9wYXJlbnRzLCAweDBlMCwgMHgwZTQsIDB4MGU4LCA4LCAxLCAxNSwgMHgwMDgsIDIyKSwNCisJ TVVYX0dBVEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9BRFNQX1NFTCwgImFkc3Bfc2VsIiwNCisJCWFk c3BfcGFyZW50cywgMHgwZTAsIDB4MGU0LCAweDBlOCwgMTYsIDMsIDIzLCAweDAwOCwgMjMpLA0K KwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX0RQTUFJRl9NQUlOX1NFTCwgImRwbWFpZl9t YWluX3NlbCIsDQorCQlkcG1haWZfbWFpbl9wYXJlbnRzLCAweDBlMCwgMHgwZTQsIDB4MGU4LCAy NCwgMywgMzEsIDB4MDA4LCAyNCksDQorCS8qIENMS19DRkdfMTQgKi8NCisJTVVYX0dBVEVfQ0xS X1NFVF9VUEQoQ0xLX1RPUF9WRU5DX1NFTCwgInZlbmNfc2VsIiwNCisJCXZlbmNfcGFyZW50cywg MHgwZjAsIDB4MGY0LCAweDBmOCwgMCwgNCwgNywgMHgwMDgsIDI1KSwNCisJTVVYX0dBVEVfQ0xS X1NFVF9VUEQoQ0xLX1RPUF9WREVDX1NFTCwgInZkZWNfc2VsIiwNCisJCXZkZWNfcGFyZW50cywg MHgwZjAsIDB4MGY0LCAweDBmOCwgOCwgNCwgMTUsIDB4MDA4LCAyNiksDQorCU1VWF9HQVRFX0NM Ul9TRVRfVVBEKENMS19UT1BfQ0FNVE1fU0VMLCAiY2FtdG1fc2VsIiwNCisJCWNhbXRtX3BhcmVu dHMsIDB4MGYwLCAweDBmNCwgMHgwZjgsIDE2LCAyLCAyMywgMHgwMDgsIDI3KSwNCisJTVVYX0dB VEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9QV01fU0VMLCAicHdtX3NlbCIsDQorCQlwd21fcGFyZW50 cywgMHgwZjAsIDB4MGY0LCAweDBmOCwgMjQsIDEsIDMxLCAweDAwOCwgMjgpLA0KKwkvKiBDTEtf Q0ZHXzE1ICovDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENMS19UT1BfQVVESU9fSF9TRUwsICJh dWRpb19oX3NlbCIsDQorCQlhdWRpb19oX3BhcmVudHMsIDB4MTAwLCAweDEwNCwgMHgxMDgsIDAs IDIsIDcsIDB4MDA4LCAyOSksDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENMS19UT1BfU1BNSV9N U1RfU0VMLCAic3BtaV9tc3Rfc2VsIiwNCisJCXNwbWlfbXN0X3BhcmVudHMsIDB4MTAwLCAweDEw NCwgMHgxMDgsIDgsIDMsIDE1LCAweDAwOCwgMzApLA0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChD TEtfVE9QX0FFU19NU0RDRkRFX1NFTCwgImFlc19tc2RjZmRlX3NlbCIsDQorCQlhZXNfbXNkY2Zk ZV9wYXJlbnRzLCAweDEwMCwgMHgxMDQsIDB4MTA4LCAyNCwgMywgMzEsIDB4MDBjLCAxKSwNCisJ LyogQ0xLX0NGR18xNiAqLw0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX01DVVBNX1NF TCwgIm1jdXBtX3NlbCIsDQorCQltY3VwbV9wYXJlbnRzLCAweDExMCwgMHgxMTQsIDB4MTE4LCAw LCAyLCA3LCAweDAwYywgMiksDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENMS19UT1BfU0ZMQVNI X1NFTCwgInNmbGFzaF9zZWwiLA0KKwkJc2ZsYXNoX3BhcmVudHMsIDB4MTEwLCAweDExNCwgMHgx MTgsIDgsIDIsIDE1LCAweDAwYywgMyksDQorfTsNCisNCitzdGF0aWMgc3RydWN0IG10a19jb21w b3NpdGUgdG9wX211eGVzW10gPSB7DQorCS8qIENMS19BVURESVZfMCAqLw0KKwlNVVgoQ0xLX1RP UF9BUExMX0kyUzBfTV9TRUwsICJhcGxsX2kyczBfbV9zZWwiLCBhcGxsX2kyczBfbV9wYXJlbnRz LCAweDMyMCwgMTYsIDEpLA0KKwlNVVgoQ0xLX1RPUF9BUExMX0kyUzFfTV9TRUwsICJhcGxsX2ky czFfbV9zZWwiLCBhcGxsX2kyczFfbV9wYXJlbnRzLCAweDMyMCwgMTcsIDEpLA0KKwlNVVgoQ0xL X1RPUF9BUExMX0kyUzJfTV9TRUwsICJhcGxsX2kyczJfbV9zZWwiLCBhcGxsX2kyczJfbV9wYXJl bnRzLCAweDMyMCwgMTgsIDEpLA0KKwlNVVgoQ0xLX1RPUF9BUExMX0kyUzNfTV9TRUwsICJhcGxs X2kyczNfbV9zZWwiLCBhcGxsX2kyczNfbV9wYXJlbnRzLCAweDMyMCwgMTksIDEpLA0KKwlNVVgo Q0xLX1RPUF9BUExMX0kyUzRfTV9TRUwsICJhcGxsX2kyczRfbV9zZWwiLCBhcGxsX2kyczRfbV9w YXJlbnRzLCAweDMyMCwgMjAsIDEpLA0KKwlNVVgoQ0xLX1RPUF9BUExMX0kyUzVfTV9TRUwsICJh cGxsX2kyczVfbV9zZWwiLCBhcGxsX2kyczVfbV9wYXJlbnRzLCAweDMyMCwgMjEsIDEpLA0KKwlN VVgoQ0xLX1RPUF9BUExMX0kyUzZfTV9TRUwsICJhcGxsX2kyczZfbV9zZWwiLCBhcGxsX2kyczZf bV9wYXJlbnRzLCAweDMyMCwgMjIsIDEpLA0KKwlNVVgoQ0xLX1RPUF9BUExMX0kyUzdfTV9TRUws ICJhcGxsX2kyczdfbV9zZWwiLCBhcGxsX2kyczdfbV9wYXJlbnRzLCAweDMyMCwgMjMsIDEpLA0K KwlNVVgoQ0xLX1RPUF9BUExMX0kyUzhfTV9TRUwsICJhcGxsX2kyczhfbV9zZWwiLCBhcGxsX2ky czhfbV9wYXJlbnRzLCAweDMyMCwgMjQsIDEpLA0KKwlNVVgoQ0xLX1RPUF9BUExMX0kyUzlfTV9T RUwsICJhcGxsX2kyczlfbV9zZWwiLCBhcGxsX2kyczlfbV9wYXJlbnRzLCAweDMyMCwgMjUsIDEp LA0KK307DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfY29tcG9zaXRlIHRvcF9hZGpfZGl2 c1tdID0gew0KKwlESVZfR0FURShDTEtfVE9QX0FQTEwxMl9ESVYwLCAiYXBsbDEyX2RpdjAiLCAi YXBsbF9pMnMwX21fc2VsIiwgMHgzMjAsIDAsIDB4MzI4LCA4LCAwKSwNCisJRElWX0dBVEUoQ0xL X1RPUF9BUExMMTJfRElWMSwgImFwbGwxMl9kaXYxIiwgImFwbGxfaTJzMV9tX3NlbCIsIDB4MzIw LCAxLCAweDMyOCwgOCwgOCksDQorCURJVl9HQVRFKENMS19UT1BfQVBMTDEyX0RJVjIsICJhcGxs MTJfZGl2MiIsICJhcGxsX2kyczJfbV9zZWwiLCAweDMyMCwgMiwgMHgzMjgsIDgsIDE2KSwNCisJ RElWX0dBVEUoQ0xLX1RPUF9BUExMMTJfRElWMywgImFwbGwxMl9kaXYzIiwgImFwbGxfaTJzM19t X3NlbCIsIDB4MzIwLCAzLCAweDMyOCwgOCwgMjQpLA0KKwlESVZfR0FURShDTEtfVE9QX0FQTEwx Ml9ESVY0LCAiYXBsbDEyX2RpdjQiLCAiYXBsbF9pMnM0X21fc2VsIiwgMHgzMjAsIDQsIDB4MzM0 LCA4LCAwKSwNCisJRElWX0dBVEUoQ0xLX1RPUF9BUExMMTJfRElWQiwgImFwbGwxMl9kaXZiIiwg ImFwbGwxMl9kaXY0IiwgMHgzMjAsIDUsIDB4MzM0LCA4LCA4KSwNCisJRElWX0dBVEUoQ0xLX1RP UF9BUExMMTJfRElWNSwgImFwbGwxMl9kaXY1IiwgImFwbGxfaTJzNV9tX3NlbCIsIDB4MzIwLCA2 LCAweDMzNCwgOCwgMTYpLA0KKwlESVZfR0FURShDTEtfVE9QX0FQTEwxMl9ESVY2LCAiYXBsbDEy X2RpdjYiLCAiYXBsbF9pMnM2X21fc2VsIiwgMHgzMjAsIDcsIDB4MzM0LCA4LCAyNCksDQorCURJ Vl9HQVRFKENMS19UT1BfQVBMTDEyX0RJVjcsICJhcGxsMTJfZGl2NyIsICJhcGxsX2kyczdfbV9z ZWwiLCAweDMyMCwgOCwgMHgzMzgsIDgsIDApLA0KKwlESVZfR0FURShDTEtfVE9QX0FQTEwxMl9E SVY4LCAiYXBsbDEyX2RpdjgiLCAiYXBsbF9pMnM4X21fc2VsIiwgMHgzMjAsIDksIDB4MzM4LCA4 LCA4KSwNCisJRElWX0dBVEUoQ0xLX1RPUF9BUExMMTJfRElWOSwgImFwbGwxMl9kaXY5IiwgImFw bGxfaTJzOV9tX3NlbCIsIDB4MzIwLCAxMCwgMHgzMzgsIDgsIDE2KSwNCit9Ow0KKw0KK3N0YXRp YyBjb25zdCBzdHJ1Y3QgbXRrX2dhdGVfcmVncyBhcG1peGVkX2NnX3JlZ3MgPSB7DQorCS5zZXRf b2ZzID0gMHgxNCwNCisJLmNscl9vZnMgPSAweDE0LA0KKwkuc3RhX29mcyA9IDB4MTQsDQorfTsN CisNCisjZGVmaW5lIEdBVEVfQVBNSVhFRChfaWQsIF9uYW1lLCBfcGFyZW50LCBfc2hpZnQpCVwN CisJR0FURV9NVEsoX2lkLCBfbmFtZSwgX3BhcmVudCwgJmFwbWl4ZWRfY2dfcmVncywgX3NoaWZ0 LCAmbXRrX2Nsa19nYXRlX29wc19ub19zZXRjbHJfaW52KQ0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1 Y3QgbXRrX2dhdGUgYXBtaXhlZF9jbGtzW10gPSB7DQorCUdBVEVfQVBNSVhFRChDTEtfQVBNSVhF RF9NSVBJRDI2TSwgIm1pcGlkMjZtIiwgImNsazI2bSIsIDE2KSwNCit9Ow0KKw0KK3N0YXRpYyBj b25zdCBzdHJ1Y3QgbXRrX2dhdGVfcmVncyBpbmZyYTBfY2dfcmVncyA9IHsNCisJLnNldF9vZnMg PSAweDgwLA0KKwkuY2xyX29mcyA9IDB4ODQsDQorCS5zdGFfb2ZzID0gMHg5MCwNCit9Ow0KKw0K K3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2dhdGVfcmVncyBpbmZyYTFfY2dfcmVncyA9IHsNCisJ LnNldF9vZnMgPSAweDg4LA0KKwkuY2xyX29mcyA9IDB4OGMsDQorCS5zdGFfb2ZzID0gMHg5NCwN Cit9Ow0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2dhdGVfcmVncyBpbmZyYTJfY2dfcmVn cyA9IHsNCisJLnNldF9vZnMgPSAweGE0LA0KKwkuY2xyX29mcyA9IDB4YTgsDQorCS5zdGFfb2Zz ID0gMHhhYywNCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2dhdGVfcmVncyBpbmZy YTNfY2dfcmVncyA9IHsNCisJLnNldF9vZnMgPSAweGMwLA0KKwkuY2xyX29mcyA9IDB4YzQsDQor CS5zdGFfb2ZzID0gMHhjOCwNCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2dhdGVf cmVncyBpbmZyYTRfY2dfcmVncyA9IHsNCisJLnNldF9vZnMgPSAweGQwLA0KKwkuY2xyX29mcyA9 IDB4ZDQsDQorCS5zdGFfb2ZzID0gMHhkOCwNCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qg bXRrX2dhdGVfcmVncyBpbmZyYTVfY2dfcmVncyA9IHsNCisJLnNldF9vZnMgPSAweGUwLA0KKwku Y2xyX29mcyA9IDB4ZTQsDQorCS5zdGFfb2ZzID0gMHhlOCwNCit9Ow0KKw0KKyNkZWZpbmUgR0FU RV9JTkZSQTAoX2lkLCBfbmFtZSwgX3BhcmVudCwgX3NoaWZ0KQlcDQorCUdBVEVfTVRLKF9pZCwg X25hbWUsIF9wYXJlbnQsICZpbmZyYTBfY2dfcmVncywgX3NoaWZ0LCAmbXRrX2Nsa19nYXRlX29w c19zZXRjbHIpDQorDQorI2RlZmluZSBHQVRFX0lORlJBMV9GTEFHUyhfaWQsIF9uYW1lLCBfcGFy ZW50LCBfc2hpZnQsIF9mbGFnKQkJXA0KKwlHQVRFX01US19GTEFHUyhfaWQsIF9uYW1lLCBfcGFy ZW50LCAmaW5mcmExX2NnX3JlZ3MsIF9zaGlmdCwJXA0KKwkJJm10a19jbGtfZ2F0ZV9vcHNfc2V0 Y2xyLCBfZmxhZykNCisNCisjZGVmaW5lIEdBVEVfSU5GUkExKF9pZCwgX25hbWUsIF9wYXJlbnQs IF9zaGlmdCkJXA0KKwlHQVRFX0lORlJBMV9GTEFHUyhfaWQsIF9uYW1lLCBfcGFyZW50LCBfc2hp ZnQsIDApDQorDQorI2RlZmluZSBHQVRFX0lORlJBMihfaWQsIF9uYW1lLCBfcGFyZW50LCBfc2hp ZnQpCVwNCisJR0FURV9NVEsoX2lkLCBfbmFtZSwgX3BhcmVudCwgJmluZnJhMl9jZ19yZWdzLCBf c2hpZnQsICZtdGtfY2xrX2dhdGVfb3BzX3NldGNscikNCisNCisjZGVmaW5lIEdBVEVfSU5GUkEz X0ZMQUdTKF9pZCwgX25hbWUsIF9wYXJlbnQsIF9zaGlmdCwgX2ZsYWcpCQlcDQorCUdBVEVfTVRL X0ZMQUdTKF9pZCwgX25hbWUsIF9wYXJlbnQsICZpbmZyYTNfY2dfcmVncywgX3NoaWZ0LAlcDQor CQkmbXRrX2Nsa19nYXRlX29wc19zZXRjbHIsIF9mbGFnKQ0KKw0KKyNkZWZpbmUgR0FURV9JTkZS QTMoX2lkLCBfbmFtZSwgX3BhcmVudCwgX3NoaWZ0KQlcDQorCUdBVEVfSU5GUkEzX0ZMQUdTKF9p ZCwgX25hbWUsIF9wYXJlbnQsIF9zaGlmdCwgMCkNCisNCisjZGVmaW5lIEdBVEVfSU5GUkE0KF9p ZCwgX25hbWUsIF9wYXJlbnQsIF9zaGlmdCkJXA0KKwlHQVRFX01USyhfaWQsIF9uYW1lLCBfcGFy ZW50LCAmaW5mcmE0X2NnX3JlZ3MsIF9zaGlmdCwgJm10a19jbGtfZ2F0ZV9vcHNfc2V0Y2xyKQ0K Kw0KKyNkZWZpbmUgR0FURV9JTkZSQTVfRkxBR1MoX2lkLCBfbmFtZSwgX3BhcmVudCwgX3NoaWZ0 LCBfZmxhZykJCVwNCisJR0FURV9NVEtfRkxBR1MoX2lkLCBfbmFtZSwgX3BhcmVudCwgJmluZnJh NV9jZ19yZWdzLCBfc2hpZnQsCVwNCisJCSZtdGtfY2xrX2dhdGVfb3BzX3NldGNsciwgX2ZsYWcp DQorDQorI2RlZmluZSBHQVRFX0lORlJBNShfaWQsIF9uYW1lLCBfcGFyZW50LCBfc2hpZnQpCVwN CisJR0FURV9JTkZSQTVfRkxBR1MoX2lkLCBfbmFtZSwgX3BhcmVudCwgX3NoaWZ0LCAwKQ0KKw0K Ky8qDQorICogQ1JJVElDQUwgQ0xPQ0s6DQorICogaW5mcmFfMTMzbSBhbmQgaW5mcmFfNjZtIGFy ZSBtYWluIHBlcmlwaGVyYWwgYnVzIGNsb2NrcyBvZiBTT0MuDQorICogaW5mcmFfZGV2aWNlX2Fw YyBhbmQgaW5mcmFfZGV2aWNlX2FwY19zeW5jIGFyZSBmb3IgZGV2aWNlIGFjY2VzcyBwZXJtaXNz aW9uIGNvbnRyb2wgbW9kdWxlLg0KKyAqLw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2dhdGUg aW5mcmFfY2xrc1tdID0gew0KKwkvKiBJTkZSQTAgKi8NCisJR0FURV9JTkZSQTAoQ0xLX0lORlJB X1BNSUNfVE1SLCAiaW5mcmFfcG1pY190bXIiLCAicHdyYXBfdWxwb3NjX3NlbCIsIDApLA0KKwlH QVRFX0lORlJBMChDTEtfSU5GUkFfUE1JQ19BUCwgImluZnJhX3BtaWNfYXAiLCAicHdyYXBfdWxw b3NjX3NlbCIsIDEpLA0KKwlHQVRFX0lORlJBMChDTEtfSU5GUkFfUE1JQ19NRCwgImluZnJhX3Bt aWNfbWQiLCAicHdyYXBfdWxwb3NjX3NlbCIsIDIpLA0KKwlHQVRFX0lORlJBMChDTEtfSU5GUkFf UE1JQ19DT05OLCAiaW5mcmFfcG1pY19jb25uIiwgInB3cmFwX3VscG9zY19zZWwiLCAzKSwNCisJ R0FURV9JTkZSQTAoQ0xLX0lORlJBX1NDUFNZUywgImluZnJhX3NjcHN5cyIsICJzY3Bfc2VsIiwg NCksDQorCUdBVEVfSU5GUkEwKENMS19JTkZSQV9TRUosICJpbmZyYV9zZWoiLCAiYXhpX3NlbCIs IDUpLA0KKwlHQVRFX0lORlJBMChDTEtfSU5GUkFfQVBYR1BULCAiaW5mcmFfYXB4Z3B0IiwgImF4 aV9zZWwiLCA2KSwNCisJR0FURV9JTkZSQTAoQ0xLX0lORlJBX01DVVBNLCAiaW5mcmFfbWN1cG0i LCAibWN1cG1fc2VsIiwgNyksDQorCUdBVEVfSU5GUkEwKENMS19JTkZSQV9HQ0UsICJpbmZyYV9n Y2UiLCAiYXhpX3NlbCIsIDgpLA0KKwlHQVRFX0lORlJBMChDTEtfSU5GUkFfR0NFMiwgImluZnJh X2djZTIiLCAiYXhpX3NlbCIsIDkpLA0KKwlHQVRFX0lORlJBMChDTEtfSU5GUkFfVEhFUk0sICJp bmZyYV90aGVybSIsICJheGlfc2VsIiwgMTApLA0KKwlHQVRFX0lORlJBMChDTEtfSU5GUkFfSTJD MCwgImluZnJhX2kyYzAiLCAiaTJjX3NlbCIsIDExKSwNCisJR0FURV9JTkZSQTAoQ0xLX0lORlJB X0FQX0RNQV9QU0VVRE8sICJpbmZyYV9hcF9kbWFfcHNldWRvIiwgImF4aV9zZWwiLCAxMiksDQor CUdBVEVfSU5GUkEwKENMS19JTkZSQV9JMkMyLCAiaW5mcmFfaTJjMiIsICJpMmNfc2VsIiwgMTMp LA0KKwlHQVRFX0lORlJBMChDTEtfSU5GUkFfSTJDMywgImluZnJhX2kyYzMiLCAiaTJjX3NlbCIs IDE0KSwNCisJR0FURV9JTkZSQTAoQ0xLX0lORlJBX1BXTV9ILCAiaW5mcmFfcHdtX2giLCAiYXhp X3NlbCIsIDE1KSwNCisJR0FURV9JTkZSQTAoQ0xLX0lORlJBX1BXTTEsICJpbmZyYV9wd20xIiwg InB3bV9zZWwiLCAxNiksDQorCUdBVEVfSU5GUkEwKENMS19JTkZSQV9QV00yLCAiaW5mcmFfcHdt MiIsICJwd21fc2VsIiwgMTcpLA0KKwlHQVRFX0lORlJBMChDTEtfSU5GUkFfUFdNMywgImluZnJh X3B3bTMiLCAicHdtX3NlbCIsIDE4KSwNCisJR0FURV9JTkZSQTAoQ0xLX0lORlJBX1BXTTQsICJp bmZyYV9wd200IiwgInB3bV9zZWwiLCAxOSksDQorCUdBVEVfSU5GUkEwKENMS19JTkZSQV9QV00s ICJpbmZyYV9wd20iLCAicHdtX3NlbCIsIDIxKSwNCisJR0FURV9JTkZSQTAoQ0xLX0lORlJBX1VB UlQwLCAiaW5mcmFfdWFydDAiLCAidWFydF9zZWwiLCAyMiksDQorCUdBVEVfSU5GUkEwKENMS19J TkZSQV9VQVJUMSwgImluZnJhX3VhcnQxIiwgInVhcnRfc2VsIiwgMjMpLA0KKwlHQVRFX0lORlJB MChDTEtfSU5GUkFfVUFSVDIsICJpbmZyYV91YXJ0MiIsICJ1YXJ0X3NlbCIsIDI0KSwNCisJR0FU RV9JTkZSQTAoQ0xLX0lORlJBX1VBUlQzLCAiaW5mcmFfdWFydDMiLCAidWFydF9zZWwiLCAyNSks DQorCUdBVEVfSU5GUkEwKENMS19JTkZSQV9HQ0VfMjZNLCAiaW5mcmFfZ2NlXzI2bSIsICJheGlf c2VsIiwgMjcpLA0KKwlHQVRFX0lORlJBMChDTEtfSU5GUkFfQ1FfRE1BX0ZQQywgImluZnJhX2Nx X2RtYV9mcGMiLCAiYXhpX3NlbCIsIDI4KSwNCisJR0FURV9JTkZSQTAoQ0xLX0lORlJBX0JUSUYs ICJpbmZyYV9idGlmIiwgImF4aV9zZWwiLCAzMSksDQorCS8qIElORlJBMSAqLw0KKwlHQVRFX0lO RlJBMShDTEtfSU5GUkFfU1BJMCwgImluZnJhX3NwaTAiLCAic3BpX3NlbCIsIDEpLA0KKwlHQVRF X0lORlJBMShDTEtfSU5GUkFfTVNEQzAsICJpbmZyYV9tc2RjMCIsICJtc2RjNTBfMF9oX3NlbCIs IDIpLA0KKwlHQVRFX0lORlJBMShDTEtfSU5GUkFfTVNEQzEsICJpbmZyYV9tc2RjMSIsICJtc2Rj NTBfMF9oX3NlbCIsIDQpLA0KKwlHQVRFX0lORlJBMShDTEtfSU5GUkFfTVNEQzIsICJpbmZyYV9t c2RjMiIsICJtc2RjNTBfMF9oX3NlbCIsIDUpLA0KKwlHQVRFX0lORlJBMShDTEtfSU5GUkFfTVNE QzBfU1JDLCAiaW5mcmFfbXNkYzBfc3JjIiwgIm1zZGM1MF8wX3NlbCIsIDYpLA0KKwlHQVRFX0lO RlJBMShDTEtfSU5GUkFfR0NQVSwgImluZnJhX2djcHUiLCAiYXhpX3NlbCIsIDgpLA0KKwlHQVRF X0lORlJBMShDTEtfSU5GUkFfVFJORywgImluZnJhX3RybmciLCAiYXhpX3NlbCIsIDkpLA0KKwlH QVRFX0lORlJBMShDTEtfSU5GUkFfQVVYQURDLCAiaW5mcmFfYXV4YWRjIiwgImNsazI2bSIsIDEw KSwNCisJR0FURV9JTkZSQTEoQ0xLX0lORlJBX0NQVU0sICJpbmZyYV9jcHVtIiwgImF4aV9zZWwi LCAxMSksDQorCUdBVEVfSU5GUkExKENMS19JTkZSQV9DQ0lGMV9BUCwgImluZnJhX2NjaWYxX2Fw IiwgImF4aV9zZWwiLCAxMiksDQorCUdBVEVfSU5GUkExKENMS19JTkZSQV9DQ0lGMV9NRCwgImlu ZnJhX2NjaWYxX21kIiwgImF4aV9zZWwiLCAxMyksDQorCUdBVEVfSU5GUkExKENMS19JTkZSQV9B VVhBRENfTUQsICJpbmZyYV9hdXhhZGNfbWQiLCAiY2xrMjZtIiwgMTQpLA0KKwlHQVRFX0lORlJB MShDTEtfSU5GUkFfUENJRV9UTF8yNk0sICJpbmZyYV9wY2llX3RsXzI2bSIsICJheGlfc2VsIiwg MTUpLA0KKwlHQVRFX0lORlJBMShDTEtfSU5GUkFfTVNEQzFfU1JDLCAiaW5mcmFfbXNkYzFfc3Jj IiwgIm1zZGMzMF8xX3NlbCIsIDE2KSwNCisJR0FURV9JTkZSQTEoQ0xLX0lORlJBX01TREMyX1NS QywgImluZnJhX21zZGMyX3NyYyIsICJtc2RjMzBfMl9zZWwiLCAxNyksDQorCUdBVEVfSU5GUkEx KENMS19JTkZSQV9QQ0lFX1RMXzk2TSwgImluZnJhX3BjaWVfdGxfOTZtIiwgInRsX3NlbCIsIDE4 KSwNCisJR0FURV9JTkZSQTEoQ0xLX0lORlJBX1BDSUVfUExfUF8yNTBNLCAiaW5mcmFfcGNpZV9w bF9wXzI1MG0iLCAiYXhpX3NlbCIsIDE5KSwNCisJR0FURV9JTkZSQTFfRkxBR1MoQ0xLX0lORlJB X0RFVklDRV9BUEMsICJpbmZyYV9kZXZpY2VfYXBjIiwgImF4aV9zZWwiLCAyMCwgQ0xLX0lTX0NS SVRJQ0FMKSwNCisJR0FURV9JTkZSQTEoQ0xLX0lORlJBX0NDSUZfQVAsICJpbmZyYV9jY2lmX2Fw IiwgImF4aV9zZWwiLCAyMyksDQorCUdBVEVfSU5GUkExKENMS19JTkZSQV9ERUJVR1NZUywgImlu ZnJhX2RlYnVnc3lzIiwgImF4aV9zZWwiLCAyNCksDQorCUdBVEVfSU5GUkExKENMS19JTkZSQV9B VURJTywgImluZnJhX2F1ZGlvIiwgImF4aV9zZWwiLCAyNSksDQorCUdBVEVfSU5GUkExKENMS19J TkZSQV9DQ0lGX01ELCAiaW5mcmFfY2NpZl9tZCIsICJheGlfc2VsIiwgMjYpLA0KKwlHQVRFX0lO RlJBMShDTEtfSU5GUkFfRFhDQ19TRUNfQ09SRSwgImluZnJhX2R4Y2Nfc2VjX2NvcmUiLCAiZHhj Y19zZWwiLCAyNyksDQorCUdBVEVfSU5GUkExKENMS19JTkZSQV9EWENDX0FPLCAiaW5mcmFfZHhj Y19hbyIsICJkeGNjX3NlbCIsIDI4KSwNCisJR0FURV9JTkZSQTEoQ0xLX0lORlJBX0RCR19UUkFD RSwgImluZnJhX2RiZ190cmFjZSIsICJheGlfc2VsIiwgMjkpLA0KKwlHQVRFX0lORlJBMShDTEtf SU5GUkFfREVWTVBVX0IsICJpbmZyYV9kZXZtcHVfYiIsICJheGlfc2VsIiwgMzApLA0KKwlHQVRF X0lORlJBMShDTEtfSU5GUkFfRFJBTUNfRjI2TSwgImluZnJhX2RyYW1jX2YyNm0iLCAiY2xrMjZt IiwgMzEpLA0KKwkvKiBJTkZSQTIgKi8NCisJR0FURV9JTkZSQTIoQ0xLX0lORlJBX0lSVFgsICJp bmZyYV9pcnR4IiwgImNsazI2bSIsIDApLA0KKwlHQVRFX0lORlJBMihDTEtfSU5GUkFfU1NVU0Is ICJpbmZyYV9zc3VzYiIsICJ1c2JfdG9wX3NlbCIsIDEpLA0KKwlHQVRFX0lORlJBMihDTEtfSU5G UkFfRElTUF9QV00sICJpbmZyYV9kaXNwX3B3bSIsICJheGlfc2VsIiwgMiksDQorCUdBVEVfSU5G UkEyKENMS19JTkZSQV9DTERNQV9CLCAiaW5mcmFfY2xkbWFfYiIsICJheGlfc2VsIiwgMyksDQor CUdBVEVfSU5GUkEyKENMS19JTkZSQV9BVURJT18yNk1fQiwgImluZnJhX2F1ZGlvXzI2bV9iIiwg ImNsazI2bSIsIDQpLA0KKwlHQVRFX0lORlJBMihDTEtfSU5GUkFfTU9ERU1fVEVNUF9TSEFSRSwg ImluZnJhX21vZGVtX3RlbXBfc2hhcmUiLCAiY2xrMjZtIiwgNSksDQorCUdBVEVfSU5GUkEyKENM S19JTkZSQV9TUEkxLCAiaW5mcmFfc3BpMSIsICJzcGlfc2VsIiwgNiksDQorCUdBVEVfSU5GUkEy KENMS19JTkZSQV9JMkM0LCAiaW5mcmFfaTJjNCIsICJpMmNfc2VsIiwgNyksDQorCUdBVEVfSU5G UkEyKENMS19JTkZSQV9TUEkyLCAiaW5mcmFfc3BpMiIsICJzcGlfc2VsIiwgOSksDQorCUdBVEVf SU5GUkEyKENMS19JTkZSQV9TUEkzLCAiaW5mcmFfc3BpMyIsICJzcGlfc2VsIiwgMTApLA0KKwlH QVRFX0lORlJBMihDTEtfSU5GUkFfVU5JUFJPX1NZUywgImluZnJhX3VuaXByb19zeXMiLCAidWZz X3NlbCIsIDExKSwNCisJR0FURV9JTkZSQTIoQ0xLX0lORlJBX1VOSVBST19USUNLLCAiaW5mcmFf dW5pcHJvX3RpY2siLCAiY2xrMjZtIiwgMTIpLA0KKwlHQVRFX0lORlJBMihDTEtfSU5GUkFfVUZT X01QX1NBUF9CLCAiaW5mcmFfdWZzX21wX3NhcF9iIiwgImNsazI2bSIsIDEzKSwNCisJR0FURV9J TkZSQTIoQ0xLX0lORlJBX01EMzJfQiwgImluZnJhX21kMzJfYiIsICJheGlfc2VsIiwgMTQpLA0K KwlHQVRFX0lORlJBMihDTEtfSU5GUkFfU1NQTSwgImluZnJhX3NzcG0iLCAic3NwbV9zZWwiLCAx NSksDQorCUdBVEVfSU5GUkEyKENMS19JTkZSQV9VTklQUk9fTUJJU1QsICJpbmZyYV91bmlwcm9f bWJpc3QiLCAiYXhpX3NlbCIsIDE2KSwNCisJR0FURV9JTkZSQTIoQ0xLX0lORlJBX1NTUE1fQlVT X0gsICJpbmZyYV9zc3BtX2J1c19oIiwgImF4aV9zZWwiLCAxNyksDQorCUdBVEVfSU5GUkEyKENM S19JTkZSQV9JMkM1LCAiaW5mcmFfaTJjNSIsICJpMmNfc2VsIiwgMTgpLA0KKwlHQVRFX0lORlJB MihDTEtfSU5GUkFfSTJDNV9BUkJJVEVSLCAiaW5mcmFfaTJjNV9hcmJpdGVyIiwgImkyY19zZWwi LCAxOSksDQorCUdBVEVfSU5GUkEyKENMS19JTkZSQV9JMkM1X0lNTSwgImluZnJhX2kyYzVfaW1t IiwgImkyY19zZWwiLCAyMCksDQorCUdBVEVfSU5GUkEyKENMS19JTkZSQV9JMkMxX0FSQklURVIs ICJpbmZyYV9pMmMxX2FyYml0ZXIiLCAiaTJjX3NlbCIsIDIxKSwNCisJR0FURV9JTkZSQTIoQ0xL X0lORlJBX0kyQzFfSU1NLCAiaW5mcmFfaTJjMV9pbW0iLCAiaTJjX3NlbCIsIDIyKSwNCisJR0FU RV9JTkZSQTIoQ0xLX0lORlJBX0kyQzJfQVJCSVRFUiwgImluZnJhX2kyYzJfYXJiaXRlciIsICJp MmNfc2VsIiwgMjMpLA0KKwlHQVRFX0lORlJBMihDTEtfSU5GUkFfSTJDMl9JTU0sICJpbmZyYV9p MmMyX2ltbSIsICJpMmNfc2VsIiwgMjQpLA0KKwlHQVRFX0lORlJBMihDTEtfSU5GUkFfU1BJNCwg ImluZnJhX3NwaTQiLCAic3BpX3NlbCIsIDI1KSwNCisJR0FURV9JTkZSQTIoQ0xLX0lORlJBX1NQ STUsICJpbmZyYV9zcGk1IiwgInNwaV9zZWwiLCAyNiksDQorCUdBVEVfSU5GUkEyKENMS19JTkZS QV9DUV9ETUEsICJpbmZyYV9jcV9kbWEiLCAiYXhpX3NlbCIsIDI3KSwNCisJR0FURV9JTkZSQTIo Q0xLX0lORlJBX1VGUywgImluZnJhX3VmcyIsICJ1ZnNfc2VsIiwgMjgpLA0KKwlHQVRFX0lORlJB MihDTEtfSU5GUkFfQUVTX1VGU0ZERSwgImluZnJhX2Flc191ZnNmZGUiLCAiYWVzX3Vmc2ZkZV9z ZWwiLCAyOSksDQorCUdBVEVfSU5GUkEyKENMS19JTkZSQV9VRlNfVElDSywgImluZnJhX3Vmc190 aWNrIiwgInVmc19zZWwiLCAzMCksDQorCUdBVEVfSU5GUkEyKENMS19JTkZSQV9TU1VTQl9YSENJ LCAiaW5mcmFfc3N1c2JfeGhjaSIsICJzc3VzYl94aGNpX3NlbCIsIDMxKSwNCisJLyogSU5GUkEz ICovDQorCUdBVEVfSU5GUkEzKENMS19JTkZSQV9NU0RDMF9TRUxGLCAiaW5mcmFfbXNkYzBfc2Vs ZiIsICJtc2RjNTBfMF9zZWwiLCAwKSwNCisJR0FURV9JTkZSQTMoQ0xLX0lORlJBX01TREMxX1NF TEYsICJpbmZyYV9tc2RjMV9zZWxmIiwgIm1zZGM1MF8wX3NlbCIsIDEpLA0KKwlHQVRFX0lORlJB MyhDTEtfSU5GUkFfTVNEQzJfU0VMRiwgImluZnJhX21zZGMyX3NlbGYiLCAibXNkYzUwXzBfc2Vs IiwgMiksDQorCUdBVEVfSU5GUkEzKENMS19JTkZSQV9TU1BNXzI2TV9TRUxGLCAiaW5mcmFfc3Nw bV8yNm1fc2VsZiIsICJjbGsyNm0iLCAzKSwNCisJR0FURV9JTkZSQTMoQ0xLX0lORlJBX1NTUE1f MzJLX1NFTEYsICJpbmZyYV9zc3BtXzMya19zZWxmIiwgImNsazMyayIsIDQpLA0KKwlHQVRFX0lO RlJBMyhDTEtfSU5GUkFfVUZTX0FYSSwgImluZnJhX3Vmc19heGkiLCAiYXhpX3NlbCIsIDUpLA0K KwlHQVRFX0lORlJBMyhDTEtfSU5GUkFfSTJDNiwgImluZnJhX2kyYzYiLCAiaTJjX3NlbCIsIDYp LA0KKwlHQVRFX0lORlJBMyhDTEtfSU5GUkFfQVBfTVNEQzAsICJpbmZyYV9hcF9tc2RjMCIsICJt c2RjNTBfMF9zZWwiLCA3KSwNCisJR0FURV9JTkZSQTMoQ0xLX0lORlJBX01EX01TREMwLCAiaW5m cmFfbWRfbXNkYzAiLCAibXNkYzUwXzBfc2VsIiwgOCksDQorCUdBVEVfSU5GUkEzKENMS19JTkZS QV9DQ0lGNV9BUCwgImluZnJhX2NjaWY1X2FwIiwgImF4aV9zZWwiLCA5KSwNCisJR0FURV9JTkZS QTMoQ0xLX0lORlJBX0NDSUY1X01ELCAiaW5mcmFfY2NpZjVfbWQiLCAiYXhpX3NlbCIsIDEwKSwN CisJR0FURV9JTkZSQTMoQ0xLX0lORlJBX1BDSUVfVE9QX0hfMTMzTSwgImluZnJhX3BjaWVfdG9w X2hfMTMzbSIsICJheGlfc2VsIiwgMTEpLA0KKwlHQVRFX0lORlJBMyhDTEtfSU5GUkFfRkxBU0hJ Rl9UT1BfSF8xMzNNLCAiaW5mcmFfZmxhc2hpZl90b3BfaF8xMzNtIiwgImF4aV9zZWwiLCAxNCks DQorCUdBVEVfSU5GUkEzKENMS19JTkZSQV9QQ0lFX1BFUklfMjZNLCAiaW5mcmFfcGNpZV9wZXJp XzI2bSIsICJheGlfc2VsIiwgMTUpLA0KKwlHQVRFX0lORlJBMyhDTEtfSU5GUkFfQ0NJRjJfQVAs ICJpbmZyYV9jY2lmMl9hcCIsICJheGlfc2VsIiwgMTYpLA0KKwlHQVRFX0lORlJBMyhDTEtfSU5G UkFfQ0NJRjJfTUQsICJpbmZyYV9jY2lmMl9tZCIsICJheGlfc2VsIiwgMTcpLA0KKwlHQVRFX0lO RlJBMyhDTEtfSU5GUkFfQ0NJRjNfQVAsICJpbmZyYV9jY2lmM19hcCIsICJheGlfc2VsIiwgMTgp LA0KKwlHQVRFX0lORlJBMyhDTEtfSU5GUkFfQ0NJRjNfTUQsICJpbmZyYV9jY2lmM19tZCIsICJh eGlfc2VsIiwgMTkpLA0KKwlHQVRFX0lORlJBMyhDTEtfSU5GUkFfU0VKX0YxM00sICJpbmZyYV9z ZWpfZjEzbSIsICJjbGsyNm0iLCAyMCksDQorCUdBVEVfSU5GUkEzKENMS19JTkZSQV9BRVMsICJp bmZyYV9hZXMiLCAiYXhpX3NlbCIsIDIxKSwNCisJR0FURV9JTkZSQTMoQ0xLX0lORlJBX0kyQzcs ICJpbmZyYV9pMmM3IiwgImkyY19zZWwiLCAyMiksDQorCUdBVEVfSU5GUkEzKENMS19JTkZSQV9J MkM4LCAiaW5mcmFfaTJjOCIsICJpMmNfc2VsIiwgMjMpLA0KKwlHQVRFX0lORlJBMyhDTEtfSU5G UkFfRkJJU1QyRlBDLCAiaW5mcmFfZmJpc3QyZnBjIiwgIm1zZGM1MF8wX3NlbCIsIDI0KSwNCisJ R0FURV9JTkZSQTNfRkxBR1MoQ0xLX0lORlJBX0RFVklDRV9BUENfU1lOQywgImluZnJhX2Rldmlj ZV9hcGNfc3luYyIsICJheGlfc2VsIiwgMjUsDQorCQlDTEtfSVNfQ1JJVElDQUwpLA0KKwlHQVRF X0lORlJBMyhDTEtfSU5GUkFfRFBNQUlGX01BSU4sICJpbmZyYV9kcG1haWZfbWFpbiIsICJkcG1h aWZfbWFpbl9zZWwiLCAyNiksDQorCUdBVEVfSU5GUkEzKENMS19JTkZSQV9QQ0lFX1RMXzMySywg ImluZnJhX3BjaWVfdGxfMzJrIiwgImF4aV9zZWwiLCAyNyksDQorCUdBVEVfSU5GUkEzKENMS19J TkZSQV9DQ0lGNF9BUCwgImluZnJhX2NjaWY0X2FwIiwgImF4aV9zZWwiLCAyOCksDQorCUdBVEVf SU5GUkEzKENMS19JTkZSQV9DQ0lGNF9NRCwgImluZnJhX2NjaWY0X21kIiwgImF4aV9zZWwiLCAy OSksDQorCUdBVEVfSU5GUkEzKENMS19JTkZSQV9TUEk2LCAiaW5mcmFfc3BpNiIsICJzcGlfc2Vs IiwgMzApLA0KKwlHQVRFX0lORlJBMyhDTEtfSU5GUkFfU1BJNywgImluZnJhX3NwaTciLCAic3Bp X3NlbCIsIDMxKSwNCisJLyogSU5GUkE0ICovDQorCUdBVEVfSU5GUkE0KENMS19JTkZSQV9BUF9E TUEsICJpbmZyYV9hcF9kbWEiLCAiaW5mcmFfYXBfZG1hX3BzZXVkbyIsIDMxKSwNCisJLyogSU5G UkE1ICovDQorCUdBVEVfSU5GUkE1X0ZMQUdTKENMS19JTkZSQV8xMzNNLCAiaW5mcmFfMTMzbSIs ICJheGlfc2VsIiwgMCwgQ0xLX0lTX0NSSVRJQ0FMKSwNCisJR0FURV9JTkZSQTVfRkxBR1MoQ0xL X0lORlJBXzY2TSwgImluZnJhXzY2bSIsICJheGlfc2VsIiwgMSwgQ0xLX0lTX0NSSVRJQ0FMKSwN CisJR0FURV9JTkZSQTUoQ0xLX0lORlJBXzY2TV9QRVJJX0JVUywgImluZnJhXzY2bV9wZXJpX2J1 cyIsICJheGlfc2VsIiwgMiksDQorCUdBVEVfSU5GUkE1KENMS19JTkZSQV9GUkVFX0RDTV8xMzNN LCAiaW5mcmFfZnJlZV9kY21fMTMzbSIsICJheGlfc2VsIiwgMyksDQorCUdBVEVfSU5GUkE1KENM S19JTkZSQV9GUkVFX0RDTV82Nk0sICJpbmZyYV9mcmVlX2RjbV82Nm0iLCAiYXhpX3NlbCIsIDQp LA0KKwlHQVRFX0lORlJBNShDTEtfSU5GUkFfUEVSSV9CVVNfRENNXzEzM00sICJpbmZyYV9wZXJp X2J1c19kY21fMTMzbSIsICJheGlfc2VsIiwgNSksDQorCUdBVEVfSU5GUkE1KENMS19JTkZSQV9Q RVJJX0JVU19EQ01fNjZNLCAiaW5mcmFfcGVyaV9idXNfZGNtXzY2bSIsICJheGlfc2VsIiwgNiks DQorCUdBVEVfSU5GUkE1KENMS19JTkZSQV9GTEFTSElGX1BFUklfMjZNLCAiaW5mcmFfZmxhc2hp Zl9wZXJpXzI2bSIsICJheGlfc2VsIiwgMzApLA0KKwlHQVRFX0lORlJBNShDTEtfSU5GUkFfRkxB U0hJRl9TRkxBU0gsICJpbmZyYV9mbGFzaGlmX2ZzZmxhc2giLCAiYXhpX3NlbCIsIDMxKSwNCit9 Ow0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2dhdGVfcmVncyBwZXJpX2NnX3JlZ3MgPSB7 DQorCS5zZXRfb2ZzID0gMHgyMGMsDQorCS5jbHJfb2ZzID0gMHgyMGMsDQorCS5zdGFfb2ZzID0g MHgyMGMsDQorfTsNCisNCisjZGVmaW5lIEdBVEVfUEVSSShfaWQsIF9uYW1lLCBfcGFyZW50LCBf c2hpZnQpCVwNCisJR0FURV9NVEsoX2lkLCBfbmFtZSwgX3BhcmVudCwgJnBlcmlfY2dfcmVncywg X3NoaWZ0LCAmbXRrX2Nsa19nYXRlX29wc19ub19zZXRjbHJfaW52KQ0KKw0KK3N0YXRpYyBjb25z dCBzdHJ1Y3QgbXRrX2dhdGUgcGVyaV9jbGtzW10gPSB7DQorCUdBVEVfUEVSSShDTEtfUEVSSV9Q RVJJQVhJLCAicGVyaV9wZXJpYXhpIiwgImF4aV9zZWwiLCAzMSksDQorfTsNCisNCitzdGF0aWMg Y29uc3Qgc3RydWN0IG10a19nYXRlX3JlZ3MgdG9wX2NnX3JlZ3MgPSB7DQorCS5zZXRfb2ZzID0g MHgxNTAsDQorCS5jbHJfb2ZzID0gMHgxNTAsDQorCS5zdGFfb2ZzID0gMHgxNTAsDQorfTsNCisN CisjZGVmaW5lIEdBVEVfVE9QKF9pZCwgX25hbWUsIF9wYXJlbnQsIF9zaGlmdCkJXA0KKwlHQVRF X01USyhfaWQsIF9uYW1lLCBfcGFyZW50LCAmdG9wX2NnX3JlZ3MsIF9zaGlmdCwgJm10a19jbGtf Z2F0ZV9vcHNfbm9fc2V0Y2xyX2ludikNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG10a19nYXRl IHRvcF9jbGtzW10gPSB7DQorCUdBVEVfVE9QKENMS19UT1BfU1NVU0JfVE9QX1JFRiwgInNzdXNi X3RvcF9yZWYiLCAiY2xrMjZtIiwgMjQpLA0KKwlHQVRFX1RPUChDTEtfVE9QX1NTVVNCX1BIWV9S RUYsICJzc3VzYl9waHlfcmVmIiwgImNsazI2bSIsIDI1KSwNCit9Ow0KKw0KKyNkZWZpbmUgTVQ4 MTkyX1BMTF9GTUFYCQkoMzgwMFVMICogTUhaKQ0KKyNkZWZpbmUgTVQ4MTkyX1BMTF9GTUlOCQko MTUwMFVMICogTUhaKQ0KKyNkZWZpbmUgTVQ4MTkyX0lOVEVHRVJfQklUUwk4DQorDQorI2RlZmlu ZSBQTEwoX2lkLCBfbmFtZSwgX3JlZywgX3B3cl9yZWcsIF9lbl9tYXNrLCBfZmxhZ3MsCQlcDQor CQkJX3JzdF9iYXJfbWFzaywgX3Bjd2JpdHMsIF9wZF9yZWcsIF9wZF9zaGlmdCwJXA0KKwkJCV90 dW5lcl9yZWcsIF90dW5lcl9lbl9yZWcsIF90dW5lcl9lbl9iaXQsCVwNCisJCQlfcGN3X3JlZywg X3Bjd19zaGlmdCwgX3Bjd19jaGdfcmVnLAkJXA0KKwkJCV9lbl9yZWcsIF9wbGxfZW5fYml0KSB7 CQkJCVwNCisJCS5pZCA9IF9pZCwJCQkJCQlcDQorCQkubmFtZSA9IF9uYW1lLAkJCQkJCVwNCisJ CS5yZWcgPSBfcmVnLAkJCQkJCVwNCisJCS5wd3JfcmVnID0gX3B3cl9yZWcsCQkJCQlcDQorCQku ZW5fbWFzayA9IF9lbl9tYXNrLAkJCQkJXA0KKwkJLmZsYWdzID0gX2ZsYWdzLAkJCQkJXA0KKwkJ LnJzdF9iYXJfbWFzayA9IF9yc3RfYmFyX21hc2ssCQkJCVwNCisJCS5mbWF4ID0gTVQ4MTkyX1BM TF9GTUFYLAkJCQlcDQorCQkuZm1pbiA9IE1UODE5Ml9QTExfRk1JTiwJCQkJXA0KKwkJLnBjd2Jp dHMgPSBfcGN3Yml0cywJCQkJCVwNCisJCS5wY3dpYml0cyA9IE1UODE5Ml9JTlRFR0VSX0JJVFMs CQkJXA0KKwkJLnBkX3JlZyA9IF9wZF9yZWcsCQkJCQlcDQorCQkucGRfc2hpZnQgPSBfcGRfc2hp ZnQsCQkJCQlcDQorCQkudHVuZXJfcmVnID0gX3R1bmVyX3JlZywJCQkJXA0KKwkJLnR1bmVyX2Vu X3JlZyA9IF90dW5lcl9lbl9yZWcsCQkJCVwNCisJCS50dW5lcl9lbl9iaXQgPSBfdHVuZXJfZW5f Yml0LAkJCQlcDQorCQkucGN3X3JlZyA9IF9wY3dfcmVnLAkJCQkJXA0KKwkJLnBjd19zaGlmdCA9 IF9wY3dfc2hpZnQsCQkJCVwNCisJCS5wY3dfY2hnX3JlZyA9IF9wY3dfY2hnX3JlZywJCQkJXA0K KwkJLmVuX3JlZyA9IF9lbl9yZWcsCQkJCQlcDQorCQkucGxsX2VuX2JpdCA9IF9wbGxfZW5fYml0 LAkJCQlcDQorCX0NCisNCisjZGVmaW5lIFBMTF9CKF9pZCwgX25hbWUsIF9yZWcsIF9wd3JfcmVn LCBfZW5fbWFzaywgX2ZsYWdzLAkJXA0KKwkJCV9yc3RfYmFyX21hc2ssIF9wY3diaXRzLCBfcGRf cmVnLCBfcGRfc2hpZnQsCVwNCisJCQlfdHVuZXJfcmVnLCBfdHVuZXJfZW5fcmVnLCBfdHVuZXJf ZW5fYml0LAlcDQorCQkJX3Bjd19yZWcsIF9wY3dfc2hpZnQpCQkJCVwNCisJCVBMTChfaWQsIF9u YW1lLCBfcmVnLCBfcHdyX3JlZywgX2VuX21hc2ssIF9mbGFncywJXA0KKwkJCV9yc3RfYmFyX21h c2ssIF9wY3diaXRzLCBfcGRfcmVnLCBfcGRfc2hpZnQsCVwNCisJCQlfdHVuZXJfcmVnLCBfdHVu ZXJfZW5fcmVnLCBfdHVuZXJfZW5fYml0LAlcDQorCQkJX3Bjd19yZWcsIF9wY3dfc2hpZnQsIDAs IDAsIDApDQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfcGxsX2RhdGEgcGxsc1tdID0gew0K KwlQTExfQihDTEtfQVBNSVhFRF9NQUlOUExMLCAibWFpbnBsbCIsIDB4MDM0MCwgMHgwMzRjLCAw eGZmMDAwMDAwLA0KKwkJSEFWRV9SU1RfQkFSLCBCSVQoMjMpLCAyMiwgMHgwMzQ0LCAyNCwgMCwg MCwgMCwgMHgwMzQ0LCAwKSwNCisJUExMX0IoQ0xLX0FQTUlYRURfVU5JVlBMTCwgInVuaXZwbGwi LCAweDAzMDgsIDB4MDMxNCwgMHhmZjAwMDAwMCwNCisJCUhBVkVfUlNUX0JBUiwgQklUKDIzKSwg MjIsIDB4MDMwYywgMjQsIDAsIDAsIDAsIDB4MDMwYywgMCksDQorCVBMTChDTEtfQVBNSVhFRF9V U0JQTEwsICJ1c2JwbGwiLCAweDAzYzQsIDB4MDNjYywgMHgwMDAwMDAwMCwNCisJCTAsIDAsIDIy LCAweDAzYzQsIDI0LCAwLCAwLCAwLCAweDAzYzQsIDAsIDB4MDNjNCwgMHgwM2NjLCAyKSwNCisJ UExMX0IoQ0xLX0FQTUlYRURfTVNEQ1BMTCwgIm1zZGNwbGwiLCAweDAzNTAsIDB4MDM1YywgMHgw MDAwMDAwMCwNCisJCTAsIDAsIDIyLCAweDAzNTQsIDI0LCAwLCAwLCAwLCAweDAzNTQsIDApLA0K KwlQTExfQihDTEtfQVBNSVhFRF9NTVBMTCwgIm1tcGxsIiwgMHgwMzYwLCAweDAzNmMsIDB4ZmYw MDAwMDAsDQorCQlIQVZFX1JTVF9CQVIsIEJJVCgyMyksIDIyLCAweDAzNjQsIDI0LCAwLCAwLCAw LCAweDAzNjQsIDApLA0KKwlQTExfQihDTEtfQVBNSVhFRF9BRFNQUExMLCAiYWRzcHBsbCIsIDB4 MDM3MCwgMHgwMzdjLCAweGZmMDAwMDAwLA0KKwkJSEFWRV9SU1RfQkFSLCBCSVQoMjMpLCAyMiwg MHgwMzc0LCAyNCwgMCwgMCwgMCwgMHgwMzc0LCAwKSwNCisJUExMX0IoQ0xLX0FQTUlYRURfTUZH UExMLCAibWZncGxsIiwgMHgwMjY4LCAweDAyNzQsIDB4MDAwMDAwMDAsDQorCQkwLCAwLCAyMiwg MHgwMjZjLCAyNCwgMCwgMCwgMCwgMHgwMjZjLCAwKSwNCisJUExMX0IoQ0xLX0FQTUlYRURfVFZE UExMLCAidHZkcGxsIiwgMHgwMzgwLCAweDAzOGMsIDB4MDAwMDAwMDAsDQorCQkwLCAwLCAyMiwg MHgwMzg0LCAyNCwgMCwgMCwgMCwgMHgwMzg0LCAwKSwNCisJUExMX0IoQ0xLX0FQTUlYRURfQVBM TDEsICJhcGxsMSIsIDB4MDMxOCwgMHgwMzI4LCAweDAwMDAwMDAwLA0KKwkJMCwgMCwgMzIsIDB4 MDMxYywgMjQsIDB4MDA0MCwgMHgwMDBjLCAwLCAweDAzMjAsIDApLA0KKwlQTExfQihDTEtfQVBN SVhFRF9BUExMMiwgImFwbGwyIiwgMHgwMzJjLCAweDAzM2MsIDB4MDAwMDAwMDAsDQorCQkwLCAw LCAzMiwgMHgwMzMwLCAyNCwgMCwgMCwgMCwgMHgwMzM0LCAwKSwNCit9Ow0KKw0KK3N0YXRpYyBz dHJ1Y3QgY2xrX29uZWNlbGxfZGF0YSAqdG9wX2Nsa19kYXRhOw0KKw0KK3N0YXRpYyB2b2lkIGNs a19tdDgxOTJfdG9wX2luaXRfZWFybHkoc3RydWN0IGRldmljZV9ub2RlICpub2RlKQ0KK3sNCisJ aW50IGk7DQorDQorCXRvcF9jbGtfZGF0YSA9IG10a19hbGxvY19jbGtfZGF0YShDTEtfVE9QX05S X0NMSyk7DQorCWlmICghdG9wX2Nsa19kYXRhKQ0KKwkJcmV0dXJuOw0KKw0KKwlmb3IgKGkgPSAw OyBpIDwgQ0xLX1RPUF9OUl9DTEs7IGkrKykNCisJCXRvcF9jbGtfZGF0YS0+Y2xrc1tpXSA9IEVS Ul9QVFIoLUVQUk9CRV9ERUZFUik7DQorDQorCW10a19jbGtfcmVnaXN0ZXJfZmFjdG9ycyh0b3Bf ZWFybHlfZGl2cywgQVJSQVlfU0laRSh0b3BfZWFybHlfZGl2cyksIHRvcF9jbGtfZGF0YSk7DQor DQorCW9mX2Nsa19hZGRfcHJvdmlkZXIobm9kZSwgb2ZfY2xrX3NyY19vbmVjZWxsX2dldCwgdG9w X2Nsa19kYXRhKTsNCit9DQorDQorQ0xLX09GX0RFQ0xBUkVfRFJJVkVSKG10ODE5Ml90b3Bja2dl biwgIm1lZGlhdGVrLG10ODE5Mi10b3Bja2dlbiIsDQorCQkJY2xrX210ODE5Ml90b3BfaW5pdF9l YXJseSk7DQorDQorc3RhdGljIGludCBjbGtfbXQ4MTkyX3RvcF9wcm9iZShzdHJ1Y3QgcGxhdGZv cm1fZGV2aWNlICpwZGV2KQ0KK3sNCisJc3RydWN0IGRldmljZV9ub2RlICpub2RlID0gcGRldi0+ ZGV2Lm9mX25vZGU7DQorCWludCByOw0KKwl2b2lkIF9faW9tZW0gKmJhc2U7DQorDQorCWJhc2Ug PSBkZXZtX3BsYXRmb3JtX2lvcmVtYXBfcmVzb3VyY2UocGRldiwgMCk7DQorCWlmIChJU19FUlIo YmFzZSkpDQorCQlyZXR1cm4gUFRSX0VSUihiYXNlKTsNCisNCisJbXRrX2Nsa19yZWdpc3Rlcl9m aXhlZF9jbGtzKHRvcF9maXhlZF9jbGtzLCBBUlJBWV9TSVpFKHRvcF9maXhlZF9jbGtzKSwgdG9w X2Nsa19kYXRhKTsNCisJbXRrX2Nsa19yZWdpc3Rlcl9mYWN0b3JzKHRvcF9lYXJseV9kaXZzLCBB UlJBWV9TSVpFKHRvcF9lYXJseV9kaXZzKSwgdG9wX2Nsa19kYXRhKTsNCisJbXRrX2Nsa19yZWdp c3Rlcl9mYWN0b3JzKHRvcF9kaXZzLCBBUlJBWV9TSVpFKHRvcF9kaXZzKSwgdG9wX2Nsa19kYXRh KTsNCisJbXRrX2Nsa19yZWdpc3Rlcl9tdXhlcyh0b3BfbXRrX211eGVzLCBBUlJBWV9TSVpFKHRv cF9tdGtfbXV4ZXMpLCBub2RlLCAmbXQ4MTkyX2Nsa19sb2NrLA0KKwkJCXRvcF9jbGtfZGF0YSk7 DQorCW10a19jbGtfcmVnaXN0ZXJfY29tcG9zaXRlcyh0b3BfbXV4ZXMsIEFSUkFZX1NJWkUodG9w X211eGVzKSwgYmFzZSwgJm10ODE5Ml9jbGtfbG9jaywNCisJCQl0b3BfY2xrX2RhdGEpOw0KKwlt dGtfY2xrX3JlZ2lzdGVyX2NvbXBvc2l0ZXModG9wX2Fkal9kaXZzLCBBUlJBWV9TSVpFKHRvcF9h ZGpfZGl2cyksIGJhc2UsICZtdDgxOTJfY2xrX2xvY2ssDQorCQkJdG9wX2Nsa19kYXRhKTsNCisJ ciA9IG10a19jbGtfcmVnaXN0ZXJfZ2F0ZXMobm9kZSwgdG9wX2Nsa3MsIEFSUkFZX1NJWkUodG9w X2Nsa3MpLCB0b3BfY2xrX2RhdGEpOw0KKwlpZiAocikNCisJCXJldHVybiByOw0KKw0KKwlyZXR1 cm4gb2ZfY2xrX2FkZF9wcm92aWRlcihub2RlLCBvZl9jbGtfc3JjX29uZWNlbGxfZ2V0LCB0b3Bf Y2xrX2RhdGEpOw0KK30NCisNCitzdGF0aWMgaW50IGNsa19tdDgxOTJfaW5mcmFfcHJvYmUoc3Ry dWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikNCit7DQorCXN0cnVjdCBjbGtfb25lY2VsbF9kYXRh ICpjbGtfZGF0YTsNCisJc3RydWN0IGRldmljZV9ub2RlICpub2RlID0gcGRldi0+ZGV2Lm9mX25v ZGU7DQorCWludCByOw0KKw0KKwljbGtfZGF0YSA9IG10a19hbGxvY19jbGtfZGF0YShDTEtfSU5G UkFfTlJfQ0xLKTsNCisJaWYgKCFjbGtfZGF0YSkNCisJCXJldHVybiAtRU5PTUVNOw0KKw0KKwly ID0gbXRrX2Nsa19yZWdpc3Rlcl9nYXRlcyhub2RlLCBpbmZyYV9jbGtzLCBBUlJBWV9TSVpFKGlu ZnJhX2Nsa3MpLCBjbGtfZGF0YSk7DQorCWlmIChyKQ0KKwkJcmV0dXJuIHI7DQorDQorCXJldHVy biBvZl9jbGtfYWRkX3Byb3ZpZGVyKG5vZGUsIG9mX2Nsa19zcmNfb25lY2VsbF9nZXQsIGNsa19k YXRhKTsNCit9DQorDQorc3RhdGljIGludCBjbGtfbXQ4MTkyX3BlcmlfcHJvYmUoc3RydWN0IHBs YXRmb3JtX2RldmljZSAqcGRldikNCit7DQorCXN0cnVjdCBjbGtfb25lY2VsbF9kYXRhICpjbGtf ZGF0YTsNCisJc3RydWN0IGRldmljZV9ub2RlICpub2RlID0gcGRldi0+ZGV2Lm9mX25vZGU7DQor CWludCByOw0KKw0KKwljbGtfZGF0YSA9IG10a19hbGxvY19jbGtfZGF0YShDTEtfUEVSSV9OUl9D TEspOw0KKwlpZiAoIWNsa19kYXRhKQ0KKwkJcmV0dXJuIC1FTk9NRU07DQorDQorCXIgPSBtdGtf Y2xrX3JlZ2lzdGVyX2dhdGVzKG5vZGUsIHBlcmlfY2xrcywgQVJSQVlfU0laRShwZXJpX2Nsa3Mp LCBjbGtfZGF0YSk7DQorCWlmIChyKQ0KKwkJcmV0dXJuIHI7DQorDQorCXJldHVybiBvZl9jbGtf YWRkX3Byb3ZpZGVyKG5vZGUsIG9mX2Nsa19zcmNfb25lY2VsbF9nZXQsIGNsa19kYXRhKTsNCit9 DQorDQorc3RhdGljIGludCBjbGtfbXQ4MTkyX2FwbWl4ZWRfcHJvYmUoc3RydWN0IHBsYXRmb3Jt X2RldmljZSAqcGRldikNCit7DQorCXN0cnVjdCBjbGtfb25lY2VsbF9kYXRhICpjbGtfZGF0YTsN CisJc3RydWN0IGRldmljZV9ub2RlICpub2RlID0gcGRldi0+ZGV2Lm9mX25vZGU7DQorCWludCBy Ow0KKw0KKwljbGtfZGF0YSA9IG10a19hbGxvY19jbGtfZGF0YShDTEtfQVBNSVhFRF9OUl9DTEsp Ow0KKwlpZiAoIWNsa19kYXRhKQ0KKwkJcmV0dXJuIC1FTk9NRU07DQorDQorCW10a19jbGtfcmVn aXN0ZXJfcGxscyhub2RlLCBwbGxzLCBBUlJBWV9TSVpFKHBsbHMpLCBjbGtfZGF0YSk7DQorCXIg PSBtdGtfY2xrX3JlZ2lzdGVyX2dhdGVzKG5vZGUsIGFwbWl4ZWRfY2xrcywgQVJSQVlfU0laRShh cG1peGVkX2Nsa3MpLCBjbGtfZGF0YSk7DQorCWlmIChyKQ0KKwkJcmV0dXJuIHI7DQorDQorCXJl dHVybiBvZl9jbGtfYWRkX3Byb3ZpZGVyKG5vZGUsIG9mX2Nsa19zcmNfb25lY2VsbF9nZXQsIGNs a19kYXRhKTsNCit9DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgb2ZfbWF0 Y2hfY2xrX210ODE5MltdID0gew0KKwl7DQorCQkuY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgx OTItYXBtaXhlZHN5cyIsDQorCQkuZGF0YSA9IGNsa19tdDgxOTJfYXBtaXhlZF9wcm9iZSwNCisJ fSwgew0KKwkJLmNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQ4MTkyLXRvcGNrZ2VuIiwNCisJCS5k YXRhID0gY2xrX210ODE5Ml90b3BfcHJvYmUsDQorCX0sIHsNCisJCS5jb21wYXRpYmxlID0gIm1l ZGlhdGVrLG10ODE5Mi1pbmZyYWNmZyIsDQorCQkuZGF0YSA9IGNsa19tdDgxOTJfaW5mcmFfcHJv YmUsDQorCX0sIHsNCisJCS5jb21wYXRpYmxlID0gIm1lZGlhdGVrLG10ODE5Mi1wZXJpY2ZnIiwN CisJCS5kYXRhID0gY2xrX210ODE5Ml9wZXJpX3Byb2JlLA0KKwl9LCB7DQorCQkvKiBzZW50aW5l bCAqLw0KKwl9DQorfTsNCisNCitzdGF0aWMgaW50IGNsa19tdDgxOTJfcHJvYmUoc3RydWN0IHBs YXRmb3JtX2RldmljZSAqcGRldikNCit7DQorCWludCAoKmNsa19wcm9iZSkoc3RydWN0IHBsYXRm b3JtX2RldmljZSAqcGRldik7DQorCWludCByOw0KKw0KKwljbGtfcHJvYmUgPSBvZl9kZXZpY2Vf Z2V0X21hdGNoX2RhdGEoJnBkZXYtPmRldik7DQorCWlmICghY2xrX3Byb2JlKQ0KKwkJcmV0dXJu IC1FSU5WQUw7DQorDQorCXIgPSBjbGtfcHJvYmUocGRldik7DQorCWlmIChyKQ0KKwkJZGV2X2Vy cigmcGRldi0+ZGV2LCAiY291bGQgbm90IHJlZ2lzdGVyIGNsb2NrIHByb3ZpZGVyOiAlczogJWRc biIsIHBkZXYtPm5hbWUsIHIpOw0KKw0KKwlyZXR1cm4gcjsNCit9DQorDQorc3RhdGljIHN0cnVj dCBwbGF0Zm9ybV9kcml2ZXIgY2xrX210ODE5Ml9kcnYgPSB7DQorCS5wcm9iZSA9IGNsa19tdDgx OTJfcHJvYmUsDQorCS5kcml2ZXIgPSB7DQorCQkubmFtZSA9ICJjbGstbXQ4MTkyIiwNCisJCS5v Zl9tYXRjaF90YWJsZSA9IG9mX21hdGNoX2Nsa19tdDgxOTIsDQorCX0sDQorfTsNCisNCitzdGF0 aWMgaW50IF9faW5pdCBjbGtfbXQ4MTkyX2luaXQodm9pZCkNCit7DQorCXJldHVybiBwbGF0Zm9y bV9kcml2ZXJfcmVnaXN0ZXIoJmNsa19tdDgxOTJfZHJ2KTsNCit9DQorDQorYXJjaF9pbml0Y2Fs bChjbGtfbXQ4MTkyX2luaXQpOw0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2xrL21lZGlhdGVrL2Ns ay1tdXguaCBiL2RyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdXguaA0KaW5kZXggZjU2MjVmNC4u YWZiYzdkZiAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdXguaA0KKysr IGIvZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW11eC5oDQpAQCAtNzcsNiArNzcsMjEgQEAgc3Ry dWN0IG10a19tdXggew0KIAkJCV93aWR0aCwgX2dhdGUsIF91cGRfb2ZzLCBfdXBkLAkJCVwNCiAJ CQlDTEtfU0VUX1JBVEVfUEFSRU5UKQ0KIA0KKyNkZWZpbmUgTVVYX0NMUl9TRVRfVVBEX0ZMQUdT KF9pZCwgX25hbWUsIF9wYXJlbnRzLCBfbXV4X29mcywJCVwNCisJCQlfbXV4X3NldF9vZnMsIF9t dXhfY2xyX29mcywgX3NoaWZ0LCBfd2lkdGgsCVwNCisJCQlfdXBkX29mcywgX3VwZCwgX2ZsYWdz KQkJCQlcDQorCQlHQVRFX0NMUl9TRVRfVVBEX0ZMQUdTKF9pZCwgX25hbWUsIF9wYXJlbnRzLCBf bXV4X29mcywJXA0KKwkJCV9tdXhfc2V0X29mcywgX211eF9jbHJfb2ZzLCBfc2hpZnQsIF93aWR0 aCwJXA0KKwkJCTAsIF91cGRfb2ZzLCBfdXBkLCBfZmxhZ3MsCQkJXA0KKwkJCW10a19tdXhfY2xy X3NldF91cGRfb3BzKQ0KKw0KKyNkZWZpbmUgTVVYX0NMUl9TRVRfVVBEKF9pZCwgX25hbWUsIF9w YXJlbnRzLCBfbXV4X29mcywJCQlcDQorCQkJX211eF9zZXRfb2ZzLCBfbXV4X2Nscl9vZnMsIF9z aGlmdCwgX3dpZHRoLAlcDQorCQkJX3VwZF9vZnMsIF91cGQpCQkJCQlcDQorCQlNVVhfQ0xSX1NF VF9VUERfRkxBR1MoX2lkLCBfbmFtZSwgX3BhcmVudHMsCQlcDQorCQkJX211eF9vZnMsIF9tdXhf c2V0X29mcywgX211eF9jbHJfb2ZzLCBfc2hpZnQsCVwNCisJCQlfd2lkdGgsIF91cGRfb2ZzLCBf dXBkLAlDTEtfU0VUX1JBVEVfUEFSRU5UKQ0KKw0KIHN0cnVjdCBjbGsgKm10a19jbGtfcmVnaXN0 ZXJfbXV4KGNvbnN0IHN0cnVjdCBtdGtfbXV4ICptdXgsDQogCQkJCSBzdHJ1Y3QgcmVnbWFwICpy ZWdtYXAsDQogCQkJCSBzcGlubG9ja190ICpsb2NrKTsNCi0tIA0KMS44LjEuMS5kaXJ0eQ0K