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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 805FCC67861 for ; Tue, 9 Apr 2024 07:13:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:From:References:Cc:To:Subject: MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=qerLuRTojcc2aJytWLqmXj1UKmx47w3KJphcPlTHHkg=; b=HpIENvJ8a/lmPe oV01YSHEQ+e0EYzV+rPVR1eMz/lMNjLNP5QM0afxUin3TCw546wXB578wsnlbRb72aPdJGq4VoUo0 X1t3IVwhO7sPxy4XLvcsmGmBVZnj0KIGEoxODbxVe/BlSboXZao00fUkzSnxewboMaK9gO2j9Vaa2 cRvtkHpW+8Tz6Owaw7/1NzgtWyWofIKjYGO2INQ9szESju3EkUAVoEbKDVus4Bjk2yKUajH16t5Yp Sc6BtNh2hjoQb1qzlFiGQaWDzvfCrlVReFcnTCy/CiFM+1KbbYftw9ww6kJMyMtVRzqoNO7zmFJEf vhbu0of6jbZqcZssgbyA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1ru5fo-00000000hyK-3lE5; Tue, 09 Apr 2024 07:13:40 +0000 Received: from foss.arm.com ([217.140.110.172]) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1ru5fm-00000000hxg-1Bf4 for linux-arm-kernel@lists.infradead.org; Tue, 09 Apr 2024 07:13:39 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 36C4CDA7; Tue, 9 Apr 2024 00:14:05 -0700 (PDT) Received: from [10.57.82.47] (unknown [10.57.82.47]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 191813F766; Tue, 9 Apr 2024 00:13:31 -0700 (PDT) Message-ID: Date: Tue, 9 Apr 2024 08:13:30 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 2/4] coresight: Add support for multiple output ports on the funnel Content-Language: en-GB To: Tao Zhang , Mathieu Poirier , Alexander Shishkin , Konrad Dybcio , Mike Leach , Rob Herring , Krzysztof Kozlowski Cc: Jinlong Mao , Leo Yan , Greg Kroah-Hartman , coresight@lists.linaro.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Tingwei Zhang , Yuanfang Zhang , Trilok Soni , Song Chai , linux-arm-msm@vger.kernel.org, andersson@kernel.org References: <1711009927-17873-1-git-send-email-quic_taozha@quicinc.com> <1711009927-17873-3-git-send-email-quic_taozha@quicinc.com> <8d381e6e-9328-46ff-83fe-efbe5bb4363e@arm.com> From: Suzuki K Poulose In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240409_001338_441717_49A18EC2 X-CRM114-Status: GOOD ( 37.05 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGkKCk9uIDI5LzAzLzIwMjQgMDk6MjcsIFRhbyBaaGFuZyB3cm90ZToKPiAKPiBPbiAzLzIyLzIw MjQgMTI6NDEgQU0sIFN1enVraSBLIFBvdWxvc2Ugd3JvdGU6Cj4+IE9uIDIxLzAzLzIwMjQgMDg6 MzIsIFRhbyBaaGFuZyB3cm90ZToKPj4+IEZ1bm5lbCBkZXZpY2VzIGFyZSBub3cgY2FwYWJsZSBv ZiBzdXBwb3J0aW5nIG11bHRpcGxlLWlucHV0cyBhbmQKPj4+IG11bHRpcGxlLW91dHB1dHMgY29u ZmlndXJhdGlvbiB3aXRoIGluIGJ1aWx0IGhhcmR3YXJlIGZpbHRlcmluZwo+Pj4gZm9yIFRQRE0g ZGV2aWNlcy4gQWRkIHNvZnR3YXJlIHN1cHBvcnQgdG8gdGhpcyBmdW5jdGlvbi4gT3V0cHV0Cj4+ PiBwb3J0IGlzIHNlbGVjdGVkIGFjY29yZGluZyB0byB0aGUgc291cmNlIGluIHRoZSB0cmFjZSBw YXRoLgo+Pj4KPj4+IFRoZSBzb3VyY2Ugb2YgdGhlIGlucHV0IHBvcnQgb24gZnVubmVscyB3aWxs IGJlIG1hcmtlZCBpbiB0aGUKPj4+IGRldmljZSB0cmVlLgo+Pj4gZS5nLgo+Pj4gdHBkbUB4eHh4 eHh4IHsKPj4+IMKgwqDCoMKgIC4uLiAuLi4gLi4uIC4uLgo+Pj4gfTsKPj4+Cj4+PiBmdW5uZWxf WFhYOiBmdW5uZWxAeHh4eHh4eCB7Cj4+PiDCoMKgwqDCoCAuLi4gLi4uIC4uLiAuLi4KPj4+IMKg wqDCoMKgIG91dC1wb3J0cyB7Cj4+PiDCoMKgwqDCoMKgwqDCoMKgIC4uLiAuLi4gLi4uIC4uLgo+ Pj4gwqDCoMKgwqDCoMKgwqDCoCBwb3J0QHggewo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IC4uLiAuLi4gLi4uIC4uLgo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGxhYmVsID0gInh4 eHh4eHgudHBkbSI7IDwtLSBUbyBsYWJlbCB0aGUgc291cmNlCj4+PiDCoMKgwqDCoMKgwqDCoMKg IH07wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBj b3JyZXNwb25kaW5nIHRvIHRoZSBvdXRwdXQKPj4+IMKgwqDCoMKgIC4uLiAuLi4gLi4uIC4uLsKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY29ubmVjdGlvbiAicG9ydEB4Ii4gQW5k IHRoaXMKPj4+IMKgwqDCoMKgIH07wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlzIGEgaGFyZHdhcmUgc3RhdGljIGNvbm5lY3Rpb25z Lgo+Pj4gwqDCoMKgwqAgLi4uIC4uLiAuLi4gLi4uwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBIZXJlIG5lZWRzIHRvIHJlZmVyIHRvIGhhcmR3YXJlCj4+PiB9O8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IGRlc2lnbi4KPj4+Cj4+PiBUaGVuIGRyaXZlciB3aWxsIHBhcnNlIHRoZSBzb3VyY2UgbGFiZWwg bWFya2VkIGluIHRoZSBkZXZpY2UgdHJlZSwgYW5kCj4+PiBzYXZlIGl0IHRvIHRoZSBjb3Jlc2ln aHQgcGF0aC4gV2hlbiB0aGUgZnVuY3Rpb24gbmVlZHMgdG8ga25vdyB0aGUKPj4+IHNvdXJjZSBs YWJlbCwgaXQgY291bGQgb2J0YWluIGl0IGZyb20gY29yZXNpZ2h0IHBhdGggcGFyYW1ldGVyLiBG aW5hbGx5LAo+Pj4gdGhlIG91dHB1dCBwb3J0IGtub3dzIHdoaWNoIHNvdXJjZSBpdCBjb3JyZXNw b25kcyB0bywgYW5kIGl0IGFsc28ga25vd3MKPj4+IHdoaWNoIGlucHV0IHBvcnQgaXQgY29ycmVz cG9uZHMgdG8uCj4+Cj4+IFdoeSBkbyB3ZSBuZWVkIGxhYmVscyA/IFdlIGhhdmUgY29ubmVjdGlv biBpbmZvcm1hdGlvbiBmb3IgYWxsIGRldmljZXMKPj4gKGJvdGggaW4gYW5kIG91dCksIHNvLCB3 aHkgZG8gd2UgbmVlZCB0aGlzIGxhYmVsIHRvIGZpbmQgYSBkZXZpY2UgPwo+IAo+IEJlY2F1c2Ug b3VyIGZ1bm5lbCdzIGRlc2lnbiBoYXMgbXVsdGktb3V0cHV0IHBvcnRzLCB0aGUgZGF0YSBzdHJl YW0gd2lsbCAKPiBub3QKPiAKPiBrbm93IHdoaWNoIG91dHB1dCBwb3J0IHNob3VsZCBwYXNzIGlu IGJ1aWxkaW5nIHRoZSBkYXRhIHRyYWNlIHBhdGguIFRoaXMgCj4gc291cmNlCj4gCj4gbGFiZWwg Y2FuIG1ha2UgdGhlIGRhdGEgc3RyZWFtIGZpbmQgdGhlIHJpZ2h0IG91dHB1dCBwb3J0IHRvIGdv Lgo+IAo+Pgo+PiBBbmQgYWxzbywgSSB0aG91Z2h0IFRQRE0gaXMgYSBzb3VyY2UgZGV2aWNlLCB3 aHkgZG9lcyBhIGZ1bm5lbCBvdXRwdXQKPj4gcG9ydCBsaW5rIHRvIGEgc291cmNlID8KPiAKPiBO bywgdGhpcyBsYWJlbCBkb2Vzbid0IG1lYW4gdGhpcyBmdW5uZWwgb3V0cHV0IHBvcnQgbGluayB0 byBhIHNvdXJjZSwgaXQgCj4ganVzdCBsZXQKPiAKPiB0aGUgb3V0cHV0IHBvcnQga25vdyBpdHMg ZGF0YSBzb3VyY2UuCj4gCj4+Cj4+IEFyZSB0aGVzZSBmdW5uZWxzIHByb2dyYW1tYWJsZSA/IE9y LCBhcmUgdGhleSBzdGF0aWMgPyBJZiB0aGV5IGFyZQo+PiBzdGF0aWMsIGRvIHRoZXNlIG5lZWQg dG8gYmUgZGVzY3JpYmVkIGluIHRoZSBEVCA/IElmIHRoZXkgYXJlIHNpbXBseQo+PiBhY3Rpbmcg YXMgYSAiTElOSyIgKG9yIEhXRklGTyA/KQo+IAo+IFRoZXNlIGZ1bm5lbHMgYXJlIHN0YXRpYywg YW5kIHdlIHdpbGwgYWRkIHRoZSAibGFiZWwiIHRvIHRoZSBEVCB0byAKPiBkZXNjcmliZSB0aGUK PiAKPiBtdWx0aS1vdXRwdXQgcG9ydHMgZm9yIHRoZXNlIGZ1bm5lbHMuCgpJIHRoaW5rIHRoZXJl IGlzIHN0aWxsIGEgYml0IG9mIGNvbmZ1c2lvbi4gQnkgIkR5bmFtaWMiIEkgbWVhbiwKdGhlICJk eW5hbWljIGZ1bm5lbCIgKGV4cGxpY2l0IHBvcnQgZW5hYmxlbWVudCB2aWEgTU1JTykgdnMgInN0 YXRpYyAKZnVubmVsIiAobm8gcHJvZ3JhbW1pbmcsIGFsd2F5cyBPTikuCgpTbywgY29taW5nIHRv IHlvdXIgZXhhbXBsZSwgZG8gd2UgbmVlZCB0byAiZXhwbGljaXRseSIgZW5hYmxlIHRyYWNlIGZs b3cgCmZvciBhbiAiaW5wdXQiIGFuZC9vciBhbiAib3V0cHV0IiBwb3J0IGluIHlvdXIgImZ1bm5l bCIgPwoKCj4gCj4gIklmIHRoZXkgYXJlIHNpbXBseSBhY3RpbmcgYXMgYSAiTElOSyIgKG9yIEhX RklGTyA/KSAiIEknbSBub3Qgc3VyZSAKPiB3aGF0J3MgdGhlIG1lYW5pbmcKCmkuZSwgTGlrZSBU TUMtRVRGIGluIEhXRklGTyBtb2RlLiBJbiB0aGlzIG1vZGUsIHRoZSBUTUMtRVRGIGlzIGFjdGlu ZwpsaWtlIGEgY2FjaGUgZm9yIGVhc2luZyBBVEIgZGF0YSBsb2FkLCBieSBwcm92aWRpbmcgaC93 IGJ1ZmZlcmluZy4KKEluIHlvdXIgY2FzZSwgaXQgbWF5IG5vdCBiZSBwcm92aWRpbmcgYW55IGJ1 ZmZlcmluZywgaXQgZG9lc24ndCBtYXR0ZXIKZWl0aGVyIHdheSwgYXMgaXQgaXMgbm90IHZpc2li bGUgdG8gdGhlIGRyaXZlcikuCgpTdXp1a2kKCj4gCj4gb2YgdGhpcy4gQ291bGQgeW91IGRlc2Ny aWJlIGl0IGluIGRldGFpbD8KPiAKPiAKPiBCZXN0LAo+IAo+IFRhbwo+IAo+Pgo+PiBTdXp1a2kK Pj4KPj4+Cj4+PiBTaWduZWQtb2ZmLWJ5OiBUYW8gWmhhbmcgPHF1aWNfdGFvemhhQHF1aWNpbmMu Y29tPgo+Pj4gLS0tCj4+PiDCoCBkcml2ZXJzL2h3dHJhY2luZy9jb3Jlc2lnaHQvY29yZXNpZ2h0 LWNvcmUuY8KgIHwgODEgKysrKysrKysrKysrKysrKy0tLQo+Pj4gwqAgLi4uL2h3dHJhY2luZy9j b3Jlc2lnaHQvY29yZXNpZ2h0LXBsYXRmb3JtLmPCoCB8wqAgNSArKwo+Pj4gwqAgaW5jbHVkZS9s aW51eC9jb3Jlc2lnaHQuaMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg fMKgIDIgKwo+Pj4gwqAgMyBmaWxlcyBjaGFuZ2VkLCA3NSBpbnNlcnRpb25zKCspLCAxMyBkZWxl dGlvbnMoLSkKPj4+Cj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9od3RyYWNpbmcvY29yZXNpZ2h0 L2NvcmVzaWdodC1jb3JlLmMgCj4+PiBiL2RyaXZlcnMvaHd0cmFjaW5nL2NvcmVzaWdodC9jb3Jl c2lnaHQtY29yZS5jCj4+PiBpbmRleCA1ZGRlNTk3NDAzYjMuLmIxYjVlNmQ5ZWM3YSAxMDA2NDQK Pj4+IC0tLSBhL2RyaXZlcnMvaHd0cmFjaW5nL2NvcmVzaWdodC9jb3Jlc2lnaHQtY29yZS5jCj4+ PiArKysgYi9kcml2ZXJzL2h3dHJhY2luZy9jb3Jlc2lnaHQvY29yZXNpZ2h0LWNvcmUuYwo+Pj4g QEAgLTExMywxNSArMTEzLDYzIEBAIHN0cnVjdCBjb3Jlc2lnaHRfZGV2aWNlIAo+Pj4gKmNvcmVz aWdodF9nZXRfcGVyY3B1X3NpbmsoaW50IGNwdSkKPj4+IMKgIH0KPj4+IMKgIEVYUE9SVF9TWU1C T0xfR1BMKGNvcmVzaWdodF9nZXRfcGVyY3B1X3NpbmspOwo+Pj4gwqAgK3N0YXRpYyBzdHJ1Y3Qg Y29yZXNpZ2h0X2RldmljZSAqY29yZXNpZ2h0X2dldF9zb3VyY2Uoc3RydWN0IAo+Pj4gbGlzdF9o ZWFkICpwYXRoKQo+Pj4gK3sKPj4+ICvCoMKgwqAgc3RydWN0IGNvcmVzaWdodF9kZXZpY2UgKmNz ZGV2Owo+Pj4gKwo+Pj4gK8KgwqDCoCBpZiAoIXBhdGgpCj4+PiArwqDCoMKgwqDCoMKgwqAgcmV0 dXJuIE5VTEw7Cj4+PiArCj4+PiArwqDCoMKgIGNzZGV2ID0gbGlzdF9maXJzdF9lbnRyeShwYXRo LCBzdHJ1Y3QgY29yZXNpZ2h0X25vZGUsIGxpbmspLT5jc2RldjsKPj4+ICvCoMKgwqAgaWYgKGNz ZGV2LT50eXBlICE9IENPUkVTSUdIVF9ERVZfVFlQRV9TT1VSQ0UpCj4+PiArwqDCoMKgwqDCoMKg wqAgcmV0dXJuIE5VTEw7Cj4+PiArCj4+PiArwqDCoMKgIHJldHVybiBjc2RldjsKPj4+ICt9Cj4+ PiArCj4+PiArLyoqCj4+PiArICogY29yZXNpZ2h0X3NvdXJjZV9maWx0ZXIgLSBjaGVja3Mgd2hl dGhlciB0aGUgY29ubmVjdGlvbiBtYXRjaGVzIAo+Pj4gdGhlIHNvdXJjZQo+Pj4gKyAqIG9mIHBh dGggaWYgY29ubmVjdGlvbiBpcyBiaW5kZWQgdG8gc3BlY2lmaWMgc291cmNlLgo+Pj4gKyAqIEBw YXRoOsKgwqDCoCBUaGUgbGlzdCBvZiBkZXZpY2VzCj4+PiArICogQGNvbm46wqDCoMKgIFRoZSBj b25uZWN0aW9uIG9mIG9uZSBvdXRwb3J0Cj4+PiArICoKPj4+ICsgKiBSZXR1cm4gemVybyBpZiB0 aGUgY29ubmVjdGlvbiBkb2Vzbid0IGhhdmUgYSBzb3VyY2UgYmluZGVkIG9yIAo+Pj4gc291cmNl IG9mIHRoZQo+Pj4gKyAqIHBhdGggbWF0Y2hlcyB0aGUgc291cmNlIGJpbmRzIHRvIGNvbm5lY3Rp b24uCj4+PiArICovCj4+PiArc3RhdGljIGludCBjb3Jlc2lnaHRfc291cmNlX2ZpbHRlcihzdHJ1 Y3QgbGlzdF9oZWFkICpwYXRoLAo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IGNv cmVzaWdodF9jb25uZWN0aW9uICpjb25uKQo+Pj4gK3sKPj4+ICvCoMKgwqAgaW50IHJldCA9IDA7 Cj4+PiArwqDCoMKgIHN0cnVjdCBjb3Jlc2lnaHRfZGV2aWNlICpzb3VyY2UgPSBOVUxMOwo+Pj4g Kwo+Pj4gK8KgwqDCoCBpZiAoY29ubi0+c291cmNlX2xhYmVsID09IE5VTEwpCj4+PiArwqDCoMKg wqDCoMKgwqAgcmV0dXJuIHJldDsKPj4+ICsKPj4+ICvCoMKgwqAgc291cmNlID0gY29yZXNpZ2h0 X2dldF9zb3VyY2UocGF0aCk7Cj4+PiArwqDCoMKgIGlmIChzb3VyY2UgPT0gTlVMTCkKPj4+ICvC oMKgwqDCoMKgwqDCoCByZXR1cm4gcmV0Owo+Pj4gKwo+Pj4gK8KgwqDCoCBpZiAoc3Ryc3RyKGtv YmplY3RfZ2V0X3BhdGgoJnNvdXJjZS0+ZGV2LmtvYmosIEdGUF9LRVJORUwpLAo+Pj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqAgY29ubi0+c291cmNlX2xhYmVsKSkKPj4+ICvCoMKgwqDCoMKgwqDC oCByZXQgPSAwOwo+Pj4gK8KgwqDCoCBlbHNlCj4+PiArwqDCoMKgwqDCoMKgwqAgcmV0ID0gLTE7 Cj4+PiArCj4+PiArwqDCoMKgIHJldHVybiByZXQ7Cj4+PiArfQo+Pj4gKwo+Pj4gwqAgc3RhdGlj IHN0cnVjdCBjb3Jlc2lnaHRfY29ubmVjdGlvbiAqCj4+PiDCoCBjb3Jlc2lnaHRfZmluZF9vdXRf Y29ubmVjdGlvbihzdHJ1Y3QgY29yZXNpZ2h0X2RldmljZSAqc3JjX2RldiwKPj4+IC3CoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBjb3Jlc2lnaHRfZGV2aWNlICpkZXN0 X2RldikKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBjb3Jl c2lnaHRfZGV2aWNlICpkZXN0X2RldiwKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHN0cnVjdCBsaXN0X2hlYWQgKnBhdGgpCj4+PiDCoCB7Cj4+PiDCoMKgwqDCoMKgIGlu dCBpOwo+Pj4gwqDCoMKgwqDCoCBzdHJ1Y3QgY29yZXNpZ2h0X2Nvbm5lY3Rpb24gKmNvbm47Cj4+ PiDCoCDCoMKgwqDCoMKgIGZvciAoaSA9IDA7IGkgPCBzcmNfZGV2LT5wZGF0YS0+bnJfb3V0Y29u bnM7IGkrKykgewo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIGNvbm4gPSBzcmNfZGV2LT5wZGF0YS0+ b3V0X2Nvbm5zW2ldOwo+Pj4gK8KgwqDCoMKgwqDCoMKgIGlmIChjb3Jlc2lnaHRfc291cmNlX2Zp bHRlcihwYXRoLCBjb25uKSkKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNvbnRpbnVlOwo+ Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIGlmIChjb25uLT5kZXN0X2RldiA9PSBkZXN0X2RldikKPj4+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiBjb25uOwo+Pj4gwqDCoMKgwqDCoCB9 Cj4+PiBAQCAtMzEyLDcgKzM2MCw4IEBAIHN0YXRpYyB2b2lkIGNvcmVzaWdodF9kaXNhYmxlX3Np bmsoc3RydWN0IAo+Pj4gY29yZXNpZ2h0X2RldmljZSAqY3NkZXYpCj4+PiDCoCDCoCBzdGF0aWMg aW50IGNvcmVzaWdodF9lbmFibGVfbGluayhzdHJ1Y3QgY29yZXNpZ2h0X2RldmljZSAqY3NkZXYs Cj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IGNvcmVzaWdo dF9kZXZpY2UgKnBhcmVudCwKPj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBz dHJ1Y3QgY29yZXNpZ2h0X2RldmljZSAqY2hpbGQpCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgc3RydWN0IGNvcmVzaWdodF9kZXZpY2UgKmNoaWxkLAo+Pj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBsaXN0X2hlYWQgKnBhdGgpCj4+PiDCoCB7 Cj4+PiDCoMKgwqDCoMKgIGludCByZXQgPSAwOwo+Pj4gwqDCoMKgwqDCoCBpbnQgbGlua19zdWJ0 eXBlOwo+Pj4gQEAgLTMyMSw4ICszNzAsOCBAQCBzdGF0aWMgaW50IGNvcmVzaWdodF9lbmFibGVf bGluayhzdHJ1Y3QgCj4+PiBjb3Jlc2lnaHRfZGV2aWNlICpjc2RldiwKPj4+IMKgwqDCoMKgwqAg aWYgKCFwYXJlbnQgfHwgIWNoaWxkKQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiAtRUlO VkFMOwo+Pj4gwqAgLcKgwqDCoCBpbmNvbm4gPSBjb3Jlc2lnaHRfZmluZF9vdXRfY29ubmVjdGlv bihwYXJlbnQsIGNzZGV2KTsKPj4+IC3CoMKgwqAgb3V0Y29ubiA9IGNvcmVzaWdodF9maW5kX291 dF9jb25uZWN0aW9uKGNzZGV2LCBjaGlsZCk7Cj4+PiArwqDCoMKgIGluY29ubiA9IGNvcmVzaWdo dF9maW5kX291dF9jb25uZWN0aW9uKHBhcmVudCwgY3NkZXYsIHBhdGgpOwo+Pj4gK8KgwqDCoCBv dXRjb25uID0gY29yZXNpZ2h0X2ZpbmRfb3V0X2Nvbm5lY3Rpb24oY3NkZXYsIGNoaWxkLCBwYXRo KTsKPj4+IMKgwqDCoMKgwqAgbGlua19zdWJ0eXBlID0gY3NkZXYtPnN1YnR5cGUubGlua19zdWJ0 eXBlOwo+Pj4gwqAgwqDCoMKgwqDCoCBpZiAobGlua19zdWJ0eXBlID09IENPUkVTSUdIVF9ERVZf U1VCVFlQRV9MSU5LX01FUkcgJiYgCj4+PiBJU19FUlIoaW5jb25uKSkKPj4+IEBAIC0zNDEsNyAr MzkwLDggQEAgc3RhdGljIGludCBjb3Jlc2lnaHRfZW5hYmxlX2xpbmsoc3RydWN0IAo+Pj4gY29y ZXNpZ2h0X2RldmljZSAqY3NkZXYsCj4+PiDCoCDCoCBzdGF0aWMgdm9pZCBjb3Jlc2lnaHRfZGlz YWJsZV9saW5rKHN0cnVjdCBjb3Jlc2lnaHRfZGV2aWNlICpjc2RldiwKPj4+IMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IGNvcmVzaWdodF9kZXZpY2UgKnBh cmVudCwKPj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IGNv cmVzaWdodF9kZXZpY2UgKmNoaWxkKQo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBzdHJ1Y3QgY29yZXNpZ2h0X2RldmljZSAqY2hpbGQsCj4+PiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBsaXN0X2hlYWQgKnBhdGgpCj4+PiDCoCB7 Cj4+PiDCoMKgwqDCoMKgIGludCBpOwo+Pj4gwqDCoMKgwqDCoCBpbnQgbGlua19zdWJ0eXBlOwo+ Pj4gQEAgLTM1MCw4ICs0MDAsOCBAQCBzdGF0aWMgdm9pZCBjb3Jlc2lnaHRfZGlzYWJsZV9saW5r KHN0cnVjdCAKPj4+IGNvcmVzaWdodF9kZXZpY2UgKmNzZGV2LAo+Pj4gwqDCoMKgwqDCoCBpZiAo IXBhcmVudCB8fCAhY2hpbGQpCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuOwo+Pj4gwqAg LcKgwqDCoCBpbmNvbm4gPSBjb3Jlc2lnaHRfZmluZF9vdXRfY29ubmVjdGlvbihwYXJlbnQsIGNz ZGV2KTsKPj4+IC3CoMKgwqAgb3V0Y29ubiA9IGNvcmVzaWdodF9maW5kX291dF9jb25uZWN0aW9u KGNzZGV2LCBjaGlsZCk7Cj4+PiArwqDCoMKgIGluY29ubiA9IGNvcmVzaWdodF9maW5kX291dF9j b25uZWN0aW9uKHBhcmVudCwgY3NkZXYsIHBhdGgpOwo+Pj4gK8KgwqDCoCBvdXRjb25uID0gY29y ZXNpZ2h0X2ZpbmRfb3V0X2Nvbm5lY3Rpb24oY3NkZXYsIGNoaWxkLCBwYXRoKTsKPj4+IMKgwqDC oMKgwqAgbGlua19zdWJ0eXBlID0gY3NkZXYtPnN1YnR5cGUubGlua19zdWJ0eXBlOwo+Pj4gwqAg wqDCoMKgwqDCoCBpZiAobGlua19vcHMoY3NkZXYpLT5kaXNhYmxlKSB7Cj4+PiBAQCAtNTA3LDcg KzU1Nyw3IEBAIHN0YXRpYyB2b2lkIGNvcmVzaWdodF9kaXNhYmxlX3BhdGhfZnJvbShzdHJ1Y3Qg Cj4+PiBsaXN0X2hlYWQgKnBhdGgsCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgY2FzZSBDT1JFU0lH SFRfREVWX1RZUEVfTElOSzoKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHBhcmVudCA9 IGxpc3RfcHJldl9lbnRyeShuZCwgbGluayktPmNzZGV2Owo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgY2hpbGQgPSBsaXN0X25leHRfZW50cnkobmQsIGxpbmspLT5jc2RldjsKPj4+IC3C oMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNvcmVzaWdodF9kaXNhYmxlX2xpbmsoY3NkZXYsIHBhcmVu dCwgY2hpbGQpOwo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY29yZXNpZ2h0X2Rpc2FibGVf bGluayhjc2RldiwgcGFyZW50LCBjaGlsZCwgcGF0aCk7Cj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBicmVhazsKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBkZWZhdWx0Ogo+Pj4gwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgYnJlYWs7Cj4+PiBAQCAtNTg4LDcgKzYzOCw3IEBAIGludCBj b3Jlc2lnaHRfZW5hYmxlX3BhdGgoc3RydWN0IGxpc3RfaGVhZCAqcGF0aCwgCj4+PiBlbnVtIGNz X21vZGUgbW9kZSwKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBjYXNlIENPUkVTSUdIVF9ERVZfVFlQ RV9MSU5LOgo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcGFyZW50ID0gbGlzdF9wcmV2 X2VudHJ5KG5kLCBsaW5rKS0+Y3NkZXY7Cj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBj aGlsZCA9IGxpc3RfbmV4dF9lbnRyeShuZCwgbGluayktPmNzZGV2Owo+Pj4gLcKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgcmV0ID0gY29yZXNpZ2h0X2VuYWJsZV9saW5rKGNzZGV2LCBwYXJlbnQsIGNo aWxkKTsKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJldCA9IGNvcmVzaWdodF9lbmFibGVf bGluayhjc2RldiwgcGFyZW50LCBjaGlsZCwgcGF0aCk7Cj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBpZiAocmV0KQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBn b3RvIGVycjsKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGJyZWFrOwo+Pj4gQEAgLTgw Miw3ICs4NTIsOCBAQCBzdGF0aWMgdm9pZCBjb3Jlc2lnaHRfZHJvcF9kZXZpY2Uoc3RydWN0IAo+ Pj4gY29yZXNpZ2h0X2RldmljZSAqY3NkZXYpCj4+PiDCoMKgICovCj4+PiDCoCBzdGF0aWMgaW50 IF9jb3Jlc2lnaHRfYnVpbGRfcGF0aChzdHJ1Y3QgY29yZXNpZ2h0X2RldmljZSAqY3NkZXYsCj4+ PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IGNvcmVzaWdodF9k ZXZpY2UgKnNpbmssCj4+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0 IGxpc3RfaGVhZCAqcGF0aCkKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBz dHJ1Y3QgbGlzdF9oZWFkICpwYXRoLAo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHN0cnVjdCBjb3Jlc2lnaHRfZGV2aWNlICpzb3VyY2UpCj4+PiDCoCB7Cj4+PiDCoMKgwqDC oMKgIGludCBpLCByZXQ7Cj4+PiDCoMKgwqDCoMKgIGJvb2wgZm91bmQgPSBmYWxzZTsKPj4+IEBA IC04MTQsNyArODY1LDcgQEAgc3RhdGljIGludCBfY29yZXNpZ2h0X2J1aWxkX3BhdGgoc3RydWN0 IAo+Pj4gY29yZXNpZ2h0X2RldmljZSAqY3NkZXYsCj4+PiDCoCDCoMKgwqDCoMKgIGlmIChjb3Jl c2lnaHRfaXNfcGVyY3B1X3NvdXJjZShjc2RldikgJiYgCj4+PiBjb3Jlc2lnaHRfaXNfcGVyY3B1 X3Npbmsoc2luaykgJiYKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBzaW5rID09IHBlcl9jcHUoY3Nk ZXZfc2luaywgCj4+PiBzb3VyY2Vfb3BzKGNzZGV2KS0+Y3B1X2lkKGNzZGV2KSkpIHsKPj4+IC3C oMKgwqDCoMKgwqDCoCBpZiAoX2NvcmVzaWdodF9idWlsZF9wYXRoKHNpbmssIHNpbmssIHBhdGgp ID09IDApIHsKPj4+ICvCoMKgwqDCoMKgwqDCoCBpZiAoX2NvcmVzaWdodF9idWlsZF9wYXRoKHNp bmssIHNpbmssIHBhdGgsIHNvdXJjZSkgPT0gMCkgewo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgZm91bmQgPSB0cnVlOwo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZ290byBv dXQ7Cj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgfQo+Pj4gQEAgLTgyNSw4ICs4NzYsMTIgQEAgc3Rh dGljIGludCBfY29yZXNpZ2h0X2J1aWxkX3BhdGgoc3RydWN0IAo+Pj4gY29yZXNpZ2h0X2Rldmlj ZSAqY3NkZXYsCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IGNvcmVzaWdodF9kZXZpY2Ug KmNoaWxkX2RldjsKPj4+IMKgIMKgwqDCoMKgwqDCoMKgwqDCoCBjaGlsZF9kZXYgPSBjc2Rldi0+ cGRhdGEtPm91dF9jb25uc1tpXS0+ZGVzdF9kZXY7Cj4+PiArwqDCoMKgwqDCoMKgwqAgaWYgKGNz ZGV2LT5wZGF0YS0+b3V0X2Nvbm5zW2ldLT5zb3VyY2VfbGFiZWwgJiYKPj4+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgICFzdHJzdHIoa29iamVjdF9nZXRfcGF0aCgmc291cmNlLT5kZXYua29iaiwg R0ZQX0tFUk5FTCksCj4+PiArIGNzZGV2LT5wZGF0YS0+b3V0X2Nvbm5zW2ldLT5zb3VyY2VfbGFi ZWwpKQo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY29udGludWU7Cj4+PiDCoMKgwqDCoMKg wqDCoMKgwqAgaWYgKGNoaWxkX2RldiAmJgo+Pj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX2Nv cmVzaWdodF9idWlsZF9wYXRoKGNoaWxkX2Rldiwgc2luaywgcGF0aCkgPT0gMCkgewo+Pj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqAgX2NvcmVzaWdodF9idWlsZF9wYXRoKGNoaWxkX2Rldiwgc2lu aywgcGF0aCwgc291cmNlKSA9PSAKPj4+IDApIHsKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIGZvdW5kID0gdHJ1ZTsKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGJyZWFrOwo+ Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIH0KPj4+IEBAIC04NzEsNyArOTI2LDcgQEAgc3RydWN0IGxp c3RfaGVhZCAqY29yZXNpZ2h0X2J1aWxkX3BhdGgoc3RydWN0IAo+Pj4gY29yZXNpZ2h0X2Rldmlj ZSAqc291cmNlLAo+Pj4gwqAgwqDCoMKgwqDCoCBJTklUX0xJU1RfSEVBRChwYXRoKTsKPj4+IMKg IC3CoMKgwqAgcmMgPSBfY29yZXNpZ2h0X2J1aWxkX3BhdGgoc291cmNlLCBzaW5rLCBwYXRoKTsK Pj4+ICvCoMKgwqAgcmMgPSBfY29yZXNpZ2h0X2J1aWxkX3BhdGgoc291cmNlLCBzaW5rLCBwYXRo LCBzb3VyY2UpOwo+Pj4gwqDCoMKgwqDCoCBpZiAocmMpIHsKPj4+IMKgwqDCoMKgwqDCoMKgwqDC oCBrZnJlZShwYXRoKTsKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gRVJSX1BUUihyYyk7 Cj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9od3RyYWNpbmcvY29yZXNpZ2h0L2NvcmVzaWdodC1w bGF0Zm9ybS5jIAo+Pj4gYi9kcml2ZXJzL2h3dHJhY2luZy9jb3Jlc2lnaHQvY29yZXNpZ2h0LXBs YXRmb3JtLmMKPj4+IGluZGV4IDlkNTUwZjU2OTdmYS4uZjU1M2ZiMjA5NjZkIDEwMDY0NAo+Pj4g LS0tIGEvZHJpdmVycy9od3RyYWNpbmcvY29yZXNpZ2h0L2NvcmVzaWdodC1wbGF0Zm9ybS5jCj4+ PiArKysgYi9kcml2ZXJzL2h3dHJhY2luZy9jb3Jlc2lnaHQvY29yZXNpZ2h0LXBsYXRmb3JtLmMK Pj4+IEBAIC0yMDUsNiArMjA1LDcgQEAgc3RhdGljIGludCBvZl9jb3Jlc2lnaHRfcGFyc2VfZW5k cG9pbnQoc3RydWN0IAo+Pj4gZGV2aWNlICpkZXYsCj4+PiDCoMKgwqDCoMKgIHN0cnVjdCBmd25v ZGVfaGFuZGxlICpyZGV2X2Z3bm9kZTsKPj4+IMKgwqDCoMKgwqAgc3RydWN0IGNvcmVzaWdodF9j b25uZWN0aW9uIGNvbm4gPSB7fTsKPj4+IMKgwqDCoMKgwqAgc3RydWN0IGNvcmVzaWdodF9jb25u ZWN0aW9uICpuZXdfY29ubjsKPj4+ICvCoMKgwqAgY29uc3QgY2hhciAqbGFiZWw7Cj4+PiDCoCDC oMKgwqDCoMKgIGRvIHsKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoCAvKiBQYXJzZSB0aGUgbG9jYWwg cG9ydCBkZXRhaWxzICovCj4+PiBAQCAtMjQzLDYgKzI0NCwxMCBAQCBzdGF0aWMgaW50IG9mX2Nv cmVzaWdodF9wYXJzZV9lbmRwb2ludChzdHJ1Y3QgCj4+PiBkZXZpY2UgKmRldiwKPj4+IMKgwqDC oMKgwqDCoMKgwqDCoCBjb25uLmRlc3RfZndub2RlID0gZndub2RlX2hhbmRsZV9nZXQocmRldl9m d25vZGUpOwo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIGNvbm4uZGVzdF9wb3J0ID0gcmVuZHBvaW50 LnBvcnQ7Cj4+PiDCoCArwqDCoMKgwqDCoMKgwqAgY29ubi5zb3VyY2VfbGFiZWwgPSBOVUxMOwo+ Pj4gK8KgwqDCoMKgwqDCoMKgIGlmICghb2ZfcHJvcGVydHlfcmVhZF9zdHJpbmcoZXAsICJsYWJl bCIsICZsYWJlbCkpCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjb25uLnNvdXJjZV9sYWJl bCA9IGxhYmVsOwo+Pj4gKwo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIG5ld19jb25uID0gY29yZXNp Z2h0X2FkZF9vdXRfY29ubihkZXYsIHBkYXRhLCAmY29ubik7Cj4+PiDCoMKgwqDCoMKgwqDCoMKg wqAgaWYgKElTX0VSUl9WQUxVRShuZXdfY29ubikpIHsKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIGZ3bm9kZV9oYW5kbGVfcHV0KGNvbm4uZGVzdF9md25vZGUpOwo+Pj4gZGlmZiAtLWdp dCBhL2luY2x1ZGUvbGludXgvY29yZXNpZ2h0LmggYi9pbmNsdWRlL2xpbnV4L2NvcmVzaWdodC5o Cj4+PiBpbmRleCBlOGI2ZTM4ODIxOGMuLmE5YzA2ZWY5YmJiMiAxMDA2NDQKPj4+IC0tLSBhL2lu Y2x1ZGUvbGludXgvY29yZXNpZ2h0LmgKPj4+ICsrKyBiL2luY2x1ZGUvbGludXgvY29yZXNpZ2h0 LmgKPj4+IEBAIC0xNjcsNiArMTY3LDcgQEAgc3RydWN0IGNvcmVzaWdodF9kZXNjIHsKPj4+IMKg wqAgKiBzdHJ1Y3QgY29yZXNpZ2h0X2Nvbm5lY3Rpb24gLSByZXByZXNlbnRhdGlvbiBvZiBhIHNp bmdsZSBjb25uZWN0aW9uCj4+PiDCoMKgICogQHNyY19wb3J0OsKgwqDCoCBhIGNvbm5lY3Rpb24n cyBvdXRwdXQgcG9ydCBudW1iZXIuCj4+PiDCoMKgICogQGRlc3RfcG9ydDrCoMKgwqAgZGVzdGlu YXRpb24ncyBpbnB1dCBwb3J0IG51bWJlciBAc3JjX3BvcnQgaXMgCj4+PiBjb25uZWN0ZWQgdG8u Cj4+PiArICogQHNvdXJjZV9sYWJlbDogc291cmNlIGNvbXBvbmVudCdzIGxhYmVsLgo+Pj4gwqDC oCAqIEBkZXN0X2Z3bm9kZTogZGVzdGluYXRpb24gY29tcG9uZW50J3MgZndub2RlIGhhbmRsZS4K Pj4+IMKgwqAgKiBAZGVzdF9kZXY6wqDCoMKgIGEgQGNvcmVzaWdodF9kZXZpY2UgcmVwcmVzZW50 YXRpb24gb2YgdGhlIGNvbXBvbmVudAo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIGNvbm5lY3RlZCB0 byBAc3JjX3BvcnQuIE5VTEwgdW50aWwgdGhlIGRldmljZSBpcyBjcmVhdGVkCj4+PiBAQCAtMTk1 LDYgKzE5Niw3IEBAIHN0cnVjdCBjb3Jlc2lnaHRfZGVzYyB7Cj4+PiDCoCBzdHJ1Y3QgY29yZXNp Z2h0X2Nvbm5lY3Rpb24gewo+Pj4gwqDCoMKgwqDCoCBpbnQgc3JjX3BvcnQ7Cj4+PiDCoMKgwqDC oMKgIGludCBkZXN0X3BvcnQ7Cj4+PiArwqDCoMKgIGNvbnN0IGNoYXIgKnNvdXJjZV9sYWJlbDsK Pj4+IMKgwqDCoMKgwqAgc3RydWN0IGZ3bm9kZV9oYW5kbGUgKmRlc3RfZndub2RlOwo+Pj4gwqDC oMKgwqDCoCBzdHJ1Y3QgY29yZXNpZ2h0X2RldmljZSAqZGVzdF9kZXY7Cj4+PiDCoMKgwqDCoMKg IHN0cnVjdCBjb3Jlc2lnaHRfc3lzZnNfbGluayAqbGluazsKPj4KCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcg bGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmlu ZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==