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 955A5C4167B for ; Wed, 8 Nov 2023 05:49:59 +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-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=ExqKNs1UsgKkJfgYbqHozVaXxIIaOWAMdPwxqQcxO4I=; b=ogoikoTzYsDAti sm3BxWgxcJYhyX3G9beENLANYHHgLSXrVREEA+VZjbarS8GLhTi6Zz6Qfyz7LRcJyvBZK91v8MEia CuFiL2AaBdoqqr/Zo1PoBXlZtbpDbW/FZbAsi1GxR0qGSV6IaYWPHMeGb4JMGPF5YbZDpoDI178kE GZS8O66D9EY8pQSPRq0tSn0fyyXY3EVfbonZ40HXD7kR6B+5QyJ67KrnJ4OyFgxCjjGCfbbOe6dFy JO59o5NWbzJFzCswODwPgsZP1Ddq1n1XJTfawRVSxUNanZYvBz9HXmbv0X6eau6MC1+pqXLR/3e25 0r3H31ViMGRZpoLPgUXA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1r0bRv-0031ED-0F; Wed, 08 Nov 2023 05:49:59 +0000 Received: from ams.source.kernel.org ([145.40.68.75]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1r0bRs-0031Dc-0e for linux-phy@lists.infradead.org; Wed, 08 Nov 2023 05:49:58 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by ams.source.kernel.org (Postfix) with ESMTP id 63EE3B81A10; Wed, 8 Nov 2023 05:49:54 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1AE29C433C7; Wed, 8 Nov 2023 05:49:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1699422593; bh=fHKO9sEkg99Vd/BalQyPm6GJ2pRcwoiVjJTRjG7+h0I=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=ul1KmJ3YkfkSKre+fQiHXUzMA3EDFM3nH+mvnInuqrhkvI7ofaPijW4VH+oO3YZc5 QPM2CwX2PL0Y7jZMubjo1caUdqaEZCxUmYXz2EFNlkKQvbnyLI7JkWHbeRBNX0v2X3 JqY9kgvEiPQERaxdm8xc6k/mVzh2O2SoXF8LodVs6aGB23xVdS9cZxTPuq01SVh9VO zKb0afMgkC8nW2sCTy5y0a4zIRMZvszvecvvxJj3eyZgenaOk448NgrYVSg/eVfksL YxQ9y69nh20k0wd682binOKOrHQcwt61hY7ZACkd3fV+Y7gUmRFEHE8RX4oSAt+qOV AQC7/QWVuOS0A== Date: Wed, 8 Nov 2023 11:19:42 +0530 From: Manivannan Sadhasivam To: Dmitry Baryshkov Cc: Can Guo , quic_cang@quicinc.com, bvanassche@acm.org, stanley.chu@mediatek.com, adrian.hunter@intel.com, beanhuo@micron.com, avri.altman@wdc.com, junwoo80.lee@samsung.com, martin.petersen@oracle.com, linux-scsi@vger.kernel.org, Andy Gross , Bjorn Andersson , Konrad Dybcio , Vinod Koul , Kishon Vijay Abraham I , "open list:ARM/QUALCOMM SUPPORT" , "open list:GENERIC PHY FRAMEWORK" , open list Subject: Re: [PATCH v2 6/7] phy: qualcomm: phy-qcom-qmp-ufs: Add High Speed Gear 5 support for SM8550 Message-ID: <20231108054942.GF3296@thinkpad> References: <1699332374-9324-1-git-send-email-cang@qti.qualcomm.com> <1699332374-9324-7-git-send-email-cang@qti.qualcomm.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231107_214956_540198_56B0786C X-CRM114-Status: GOOD ( 31.72 ) X-BeenThere: linux-phy@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux Phy Mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-phy" Errors-To: linux-phy-bounces+linux-phy=archiver.kernel.org@lists.infradead.org T24gVHVlLCBOb3YgMDcsIDIwMjMgYXQgMDM6MTg6MDlQTSArMDIwMCwgRG1pdHJ5IEJhcnlzaGtv diB3cm90ZToKPiBPbiBUdWUsIDcgTm92IDIwMjMgYXQgMDY6NDcsIENhbiBHdW8gPGNhbmdAcXRp LnF1YWxjb21tLmNvbT4gd3JvdGU6Cj4gPgo+ID4gRnJvbTogQ2FuIEd1byA8cXVpY19jYW5nQHF1 aWNpbmMuY29tPgo+ID4KPiA+IE9uIFNNODU1MCwgdHdvIHNldHMgb2YgVUZTIFBIWSBzZXR0aW5n cyBhcmUgcHJvdmlkZWQsIG9uZSBzZXQgaXMgdG8gc3VwcG9ydAo+ID4gSFMtRzUsIGFub3RoZXIg c2V0IGlzIHRvIHN1cHBvcnQgSFMtRzQgYW5kIGxvd2VyIGdlYXJzLiBUaGUgdHdvIHNldHMgb2Yg UEhZCj4gPiBzZXR0aW5ncyBhcmUgcHJvZ3JhbW1pbmcgZGlmZmVyZW50IHZhbHVlcyB0byBkaWZm ZXJlbnQgcmVnaXN0ZXJzLCBtaXhpbmcKPiA+IHRoZSB0d28gc2V0cyBhbmQvb3Igb3ZlcndyaXRp bmcgb25lIHNldCB3aXRoIGFub3RoZXIgc2V0IGlzIGRlZmluaXRlbHkgbm90Cj4gPiBibGVzc2Vk IGJ5IFVGUyBQSFkgZGVzaWduZXJzLiBJbiBvcmRlciB0byBhZGQgSFMtRzUgc3VwcG9ydCBmb3Ig U004NTUwLCB3ZQo+ID4gbmVlZCB0byBzcGxpdCB0aGUgdHdvIHNldHMgaW50byB0aGVpciBkZWRp Y2F0ZWQgdGFibGVzLCBhbmQgbGVhdmUgb25seSB0aGUKPiA+IGNvbW1vbiBzZXR0aW5ncyBpbiB0 aGUgLnRsYnMuIFRvIGhhdmUgdGhlIFBIWSBwcm9ncmFtbWVkIHdpdGggdGhlIGNvcnJlY3QKPiA+ IHNldCBvZiBQSFkgc2V0dGluZ3MsIHRoZSBzdWJtb2RlIHBhc3NlZCB0byBQSFkgZHJpdmVyIG11 c3QgYmUgZWl0aGVyIEhTLUc0Cj4gPiBvciBIUy1HNS4KPiA+CgpZb3Ugc2hvdWxkIGFsc28gbWVu dGlvbiB0aGF0IHRoaXMgaXNzdWUgaXMgYWxzbyBwcmVzZW50IGluIEc0IHN1cHBvcnRlZCB0YXJn ZXRzLgpBbmQgYSBub3RlIHRoYXQgaXQgd2lsbCBnZXQgZml4ZWQgbGF0ZXIuCgo+ID4gU2lnbmVk LW9mZi1ieTogQ2FuIEd1byA8cXVpY19jYW5nQHF1aWNpbmMuY29tPgo+ID4gLS0tCj4gPiAgZHJp dmVycy9waHkvcXVhbGNvbW0vcGh5LXFjb20tcW1wLXBjcy11ZnMtdjYuaCAgICAgfCAgIDIgKwo+ ID4gIGRyaXZlcnMvcGh5L3F1YWxjb21tL3BoeS1xY29tLXFtcC1xc2VyZGVzLWNvbS12Ni5oIHwg ICAyICsKPiA+ICAuLi4vcXVhbGNvbW0vcGh5LXFjb20tcW1wLXFzZXJkZXMtdHhyeC11ZnMtdjYu aCAgICB8ICAxMiArKysKPiA+ICBkcml2ZXJzL3BoeS9xdWFsY29tbS9waHktcWNvbS1xbXAtdWZz LmMgICAgICAgICAgICB8IDExMiArKysrKysrKysrKysrKysrKystLS0KPiA+ICA0IGZpbGVzIGNo YW5nZWQsIDExNSBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkKPiA+Cj4gPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9waHkvcXVhbGNvbW0vcGh5LXFjb20tcW1wLXBjcy11ZnMtdjYuaCBiL2Ry aXZlcnMvcGh5L3F1YWxjb21tL3BoeS1xY29tLXFtcC1wY3MtdWZzLXY2LmgKPiA+IGluZGV4IGMy M2Q1ZTQuLmU1NjNhZjUgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL3BoeS9xdWFsY29tbS9waHkt cWNvbS1xbXAtcGNzLXVmcy12Ni5oCj4gPiArKysgYi9kcml2ZXJzL3BoeS9xdWFsY29tbS9waHkt cWNvbS1xbXAtcGNzLXVmcy12Ni5oCj4gPiBAQCAtMTgsNiArMTgsNyBAQAo+ID4gICNkZWZpbmUg UVBIWV9WNl9QQ1NfVUZTX0JJU1RfRklYRURfUEFUX0NUUkwgICAgICAgICAgICAweDA2MAo+ID4g ICNkZWZpbmUgUVBIWV9WNl9QQ1NfVUZTX1RYX0hTR0VBUl9DQVBBQklMSVRZICAgICAgICAgICAw eDA3NAo+ID4gICNkZWZpbmUgUVBIWV9WNl9QQ1NfVUZTX1JYX0hTR0VBUl9DQVBBQklMSVRZICAg ICAgICAgICAweDBiYwo+ID4gKyNkZWZpbmUgUVBIWV9WNl9QQ1NfVUZTX1JYX0hTX0c1X1NZTkNf TEVOR1RIX0NBUEFCSUxJVFkgICAgICAgIDB4MTJjCj4gPiAgI2RlZmluZSBRUEhZX1Y2X1BDU19V RlNfREVCVUdfQlVTX0NMS1NFTCAgICAgICAgICAgICAgIDB4MTU4Cj4gPiAgI2RlZmluZSBRUEhZ X1Y2X1BDU19VRlNfTElORUNGR19ESVNBQkxFICAgICAgICAgICAgICAgICAgICAgICAgMHgxN2MK PiA+ICAjZGVmaW5lIFFQSFlfVjZfUENTX1VGU19SWF9NSU5fSElCRVJOOF9USU1FICAgICAgICAg ICAgMHgxODQKPiA+IEBAIC0yNyw1ICsyOCw2IEBACj4gPiAgI2RlZmluZSBRUEhZX1Y2X1BDU19V RlNfUkVBRFlfU1RBVFVTICAgICAgICAgICAgICAgICAgIDB4MWE4Cj4gPiAgI2RlZmluZSBRUEhZ X1Y2X1BDU19VRlNfVFhfTUlEX1RFUk1fQ1RSTDEgICAgICAgICAgICAgIDB4MWY0Cj4gPiAgI2Rl ZmluZSBRUEhZX1Y2X1BDU19VRlNfTVVMVElfTEFORV9DVFJMMSAgICAgICAgICAgICAgIDB4MWZj Cj4gPiArI2RlZmluZSBRUEhZX1Y2X1BDU19VRlNfUlhfSFNHNV9TWU5DX1dBSVRfVElNRSAgICAg ICAgIDB4MjIwCj4gPgo+ID4gICNlbmRpZgo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGh5L3F1 YWxjb21tL3BoeS1xY29tLXFtcC1xc2VyZGVzLWNvbS12Ni5oIGIvZHJpdmVycy9waHkvcXVhbGNv bW0vcGh5LXFjb20tcW1wLXFzZXJkZXMtY29tLXY2LmgKPiA+IGluZGV4IGY0MjBmOGYuLmVmMzky Y2UgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL3BoeS9xdWFsY29tbS9waHktcWNvbS1xbXAtcXNl cmRlcy1jb20tdjYuaAo+ID4gKysrIGIvZHJpdmVycy9waHkvcXVhbGNvbW0vcGh5LXFjb20tcW1w LXFzZXJkZXMtY29tLXY2LmgKPiA+IEBAIC01Niw2ICs1Niw4IEBACj4gPiAgI2RlZmluZSBRU0VS REVTX1Y2X0NPTV9TWVNfQ0xLX0NUUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhlNAo+ ID4gICNkZWZpbmUgUVNFUkRFU19WNl9DT01fU1lTQ0xLX0JVRl9FTkFCTEUgICAgICAgICAgICAg ICAgICAgICAgIDB4ZTgKPiA+ICAjZGVmaW5lIFFTRVJERVNfVjZfQ09NX1BMTF9JVkNPICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4ZjQKPiA+ICsjZGVmaW5lIFFTRVJE RVNfVjZfQ09NX0NNTl9JRVRSSU0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweGZjCj4g PiArI2RlZmluZSBRU0VSREVTX1Y2X0NPTV9DTU5fSVBUUklNICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgMHgxMDAKPiA+ICAjZGVmaW5lIFFTRVJERVNfVjZfQ09NX1NZU0NMS19FTl9TRUwg ICAgICAgICAgICAgICAgICAgICAgICAgICAweDExMAo+ID4gICNkZWZpbmUgUVNFUkRFU19WNl9D T01fUkVTRVRTTV9DTlRSTCAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MTE4Cj4gPiAgI2Rl ZmluZSBRU0VSREVTX1Y2X0NPTV9MT0NLX0NNUF9FTiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgMHgxMjAKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3BoeS9xdWFsY29tbS9waHktcWNvbS1x bXAtcXNlcmRlcy10eHJ4LXVmcy12Ni5oIGIvZHJpdmVycy9waHkvcXVhbGNvbW0vcGh5LXFjb20t cW1wLXFzZXJkZXMtdHhyeC11ZnMtdjYuaAo+ID4gaW5kZXggMTViY2I0Yi4uNDhmMzFjOCAxMDA2 NDQKPiA+IC0tLSBhL2RyaXZlcnMvcGh5L3F1YWxjb21tL3BoeS1xY29tLXFtcC1xc2VyZGVzLXR4 cngtdWZzLXY2LmgKPiA+ICsrKyBiL2RyaXZlcnMvcGh5L3F1YWxjb21tL3BoeS1xY29tLXFtcC1x c2VyZGVzLXR4cngtdWZzLXY2LmgKPiA+IEBAIC0xMCwxMCArMTAsMjAgQEAKPiA+ICAjZGVmaW5l IFFTRVJERVNfVUZTX1Y2X1RYX1JFU19DT0RFX0xBTkVfUlggICAgICAgICAgICAgICAgICAgICAw eDJjCj4gPiAgI2RlZmluZSBRU0VSREVTX1VGU19WNl9UWF9SRVNfQ09ERV9MQU5FX09GRlNFVF9U WCAgICAgICAgICAgICAgMHgzMAo+ID4gICNkZWZpbmUgUVNFUkRFU19VRlNfVjZfVFhfUkVTX0NP REVfTEFORV9PRkZTRVRfUlggICAgICAgICAgICAgIDB4MzQKPiA+ICsjZGVmaW5lIFFTRVJERVNf VUZTX1Y2X1RYX0xBTkVfTU9ERV8xICAgICAgICAgICAgICAgICAgICAgICAgICAweDdjCj4gPiAr I2RlZmluZSBRU0VSREVTX1VGU19WNl9UWF9GUl9EQ0NfQ1RSTCAgICAgICAgICAgICAgICAgICAg ICAgICAgMHgxMDgKPiA+Cj4gPiAgI2RlZmluZSBRU0VSREVTX1VGU19WNl9SWF9VQ0RSX0ZBU1RM T0NLX0ZPX0dBSU5fUkFURTIgICAgICAgICAgMHgwOAo+ID4gICNkZWZpbmUgUVNFUkRFU19VRlNf VjZfUlhfVUNEUl9GQVNUTE9DS19GT19HQUlOX1JBVEU0ICAgICAgICAgIDB4MTAKPiA+ICsjZGVm aW5lIFFTRVJERVNfVUZTX1Y2X1JYX1VDRFJfRkFTVExPQ0tfU09fR0FJTl9SQVRFNCAgICAgICAg ICAweDI0Cj4gPiArI2RlZmluZSBRU0VSREVTX1VGU19WNl9SWF9VQ0RSX0ZBU1RMT0NLX0NPVU5U X0hJR0hfUkFURTQgICAgICAgMHg1NAo+ID4gKyNkZWZpbmUgUVNFUkRFU19VRlNfVjZfUlhfVUNE Ul9GT19HQUlOX1JBVEUyICAgICAgICAgICAgICAgICAgIDB4ZDQKPiA+ICsjZGVmaW5lIFFTRVJE RVNfVUZTX1Y2X1JYX1VDRFJfRk9fR0FJTl9SQVRFNCAgICAgICAgICAgICAgICAgICAweGRjCj4g PiArI2RlZmluZSBRU0VSREVTX1VGU19WNl9SWF9VQ0RSX1NPX0dBSU5fUkFURTQgICAgICAgICAg ICAgICAgICAgMHhmMAo+ID4gKyNkZWZpbmUgUVNFUkRFU19VRlNfVjZfUlhfVUNEUl9QSV9DT05U Uk9MUyAgICAgICAgICAgICAgICAgICAgIDB4ZjQKPiA+ICAjZGVmaW5lIFFTRVJERVNfVUZTX1Y2 X1JYX1ZHQV9DQUxfTUFOX1ZBTCAgICAgICAgICAgICAgICAgICAgICAweDE3OAo+ID4gKyNkZWZp bmUgUVNFUkRFU19VRlNfVjZfUlhfRVFfT0ZGU0VUX0FEQVBUT1JfQ05UUkwxICAgICAgICAgICAg IDB4MWJjCj4gPiArI2RlZmluZSBRU0VSREVTX1VGU19WNl9SWF9PRkZTRVRfQURBUFRPUl9DTlRS TDMgICAgICAgICAgICAgICAgICAgICAgICAweDFjNAo+ID4gICNkZWZpbmUgUVNFUkRFU19VRlNf VjZfUlhfTU9ERV9SQVRFXzBfMV9CMCAgICAgICAgICAgICAgICAgICAgIDB4MjA4Cj4gPiAgI2Rl ZmluZSBRU0VSREVTX1VGU19WNl9SWF9NT0RFX1JBVEVfMF8xX0IxICAgICAgICAgICAgICAgICAg ICAgMHgyMGMKPiA+ICAjZGVmaW5lIFFTRVJERVNfVUZTX1Y2X1JYX01PREVfUkFURV8wXzFfQjMg ICAgICAgICAgICAgICAgICAgICAweDIxNAo+ID4gQEAgLTI1LDYgKzM1LDggQEAKPiA+ICAjZGVm aW5lIFFTRVJERVNfVUZTX1Y2X1JYX01PREVfUkFURTNfQjUgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDB4MjY0Cj4gPiAgI2RlZmluZSBRU0VSREVTX1VGU19WNl9SWF9NT0RFX1JBVEUz X0I4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDI3MAo+ID4gICNkZWZpbmUgUVNF UkRFU19VRlNfVjZfUlhfTU9ERV9SQVRFNF9CMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgMHgyODAKPiA+ICsjZGVmaW5lIFFTRVJERVNfVUZTX1Y2X1JYX01PREVfUkFURTRfQjQgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4Mjg0Cj4gPiAgI2RlZmluZSBRU0VSREVTX1VG U19WNl9SWF9NT0RFX1JBVEU0X0I2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDI4 Ywo+ID4gKyNkZWZpbmUgUVNFUkRFU19VRlNfVjZfUlhfRExMMF9GVFVORV9DVFJMICAgICAgICAg ICAgICAgICAgICAgIDB4MmY4Cj4gPgo+ID4gICNlbmRpZgo+ID4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvcGh5L3F1YWxjb21tL3BoeS1xY29tLXFtcC11ZnMuYyBiL2RyaXZlcnMvcGh5L3F1YWxjb21t L3BoeS1xY29tLXFtcC11ZnMuYwo+ID4gaW5kZXggMzkyN2ViYS4uZTBhMDE0OTcgMTAwNjQ0Cj4g PiAtLS0gYS9kcml2ZXJzL3BoeS9xdWFsY29tbS9waHktcWNvbS1xbXAtdWZzLmMKPiA+ICsrKyBi L2RyaXZlcnMvcGh5L3F1YWxjb21tL3BoeS1xY29tLXFtcC11ZnMuYwo+ID4gQEAgLTY0OSwzMiAr NjQ5LDUxIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcW1wX3BoeV9pbml0X3RibCBzbTg1NTBfdWZz cGh5X3NlcmRlc1tdID0gewo+ID4gICAgICAgICBRTVBfUEhZX0lOSVRfQ0ZHKFFTRVJERVNfVjZf Q09NX0hTQ0xLX1NFTF8xLCAweDExKSwKPiA+ICAgICAgICAgUU1QX1BIWV9JTklUX0NGRyhRU0VS REVTX1Y2X0NPTV9IU0NMS19IU19TV0lUQ0hfU0VMXzEsIDB4MDApLAo+ID4gICAgICAgICBRTVBf UEhZX0lOSVRfQ0ZHKFFTRVJERVNfVjZfQ09NX0xPQ0tfQ01QX0VOLCAweDAxKSwKPiA+IC0gICAg ICAgUU1QX1BIWV9JTklUX0NGRyhRU0VSREVTX1Y2X0NPTV9WQ09fVFVORV9NQVAsIDB4MDQpLAo+ ID4gLSAgICAgICBRTVBfUEhZX0lOSVRfQ0ZHKFFTRVJERVNfVjZfQ09NX1BMTF9JVkNPLCAweDBm KSwKPiA+ICsKPiA+ICAgICAgICAgUU1QX1BIWV9JTklUX0NGRyhRU0VSREVTX1Y2X0NPTV9WQ09f VFVORV9JTklUVkFMMiwgMHgwMCksCj4gPiAgICAgICAgIFFNUF9QSFlfSU5JVF9DRkcoUVNFUkRF U19WNl9DT01fREVDX1NUQVJUX01PREUwLCAweDQxKSwKPiA+IC0gICAgICAgUU1QX1BIWV9JTklU X0NGRyhRU0VSREVTX1Y2X0NPTV9DUF9DVFJMX01PREUwLCAweDBhKSwKPiA+ICAgICAgICAgUU1Q X1BIWV9JTklUX0NGRyhRU0VSREVTX1Y2X0NPTV9QTExfUkNUUkxfTU9ERTAsIDB4MTgpLAo+ID4g ICAgICAgICBRTVBfUEhZX0lOSVRfQ0ZHKFFTRVJERVNfVjZfQ09NX1BMTF9DQ1RSTF9NT0RFMCwg MHgxNCksCj4gPiAgICAgICAgIFFNUF9QSFlfSU5JVF9DRkcoUVNFUkRFU19WNl9DT01fTE9DS19D TVAxX01PREUwLCAweDdmKSwKPiA+ICAgICAgICAgUU1QX1BIWV9JTklUX0NGRyhRU0VSREVTX1Y2 X0NPTV9MT0NLX0NNUDJfTU9ERTAsIDB4MDYpLAo+ID4gLSAgICAgICBRTVBfUEhZX0lOSVRfQ0ZH KFFTRVJERVNfVjZfQ09NX0RFQ19TVEFSVF9NT0RFMCwgMHg0YyksCj4gPiArfTsKPiA+ICsKPiA+ ICtzdGF0aWMgY29uc3Qgc3RydWN0IHFtcF9waHlfaW5pdF90Ymwgc204NTUwX3Vmc3BoeV9oc19i X3NlcmRlc1tdID0gewo+ID4gKyAgICAgICBRTVBfUEhZX0lOSVRfQ0ZHKFFTRVJERVNfVjZfQ09N X1ZDT19UVU5FX01BUCwgMHg0NCksCj4gPiArfTsKPiA+ICsKPiA+ICtzdGF0aWMgY29uc3Qgc3Ry dWN0IHFtcF9waHlfaW5pdF90Ymwgc204NTUwX3Vmc3BoeV9nNF9zZXJkZXNbXSA9IHsKPiA+ICsg ICAgICAgUU1QX1BIWV9JTklUX0NGRyhRU0VSREVTX1Y2X0NPTV9WQ09fVFVORV9NQVAsIDB4MDQp LAo+ID4gKyAgICAgICBRTVBfUEhZX0lOSVRfQ0ZHKFFTRVJERVNfVjZfQ09NX1BMTF9JVkNPLCAw eDBmKSwKPiA+ICAgICAgICAgUU1QX1BIWV9JTklUX0NGRyhRU0VSREVTX1Y2X0NPTV9DUF9DVFJM X01PREUwLCAweDBhKSwKPiA+IC0gICAgICAgUU1QX1BIWV9JTklUX0NGRyhRU0VSREVTX1Y2X0NP TV9QTExfUkNUUkxfTU9ERTAsIDB4MTgpLAo+ID4gLSAgICAgICBRTVBfUEhZX0lOSVRfQ0ZHKFFT RVJERVNfVjZfQ09NX1BMTF9DQ1RSTF9NT0RFMCwgMHgxNCksCj4gPiAtICAgICAgIFFNUF9QSFlf SU5JVF9DRkcoUVNFUkRFU19WNl9DT01fTE9DS19DTVAxX01PREUwLCAweDk5KSwKPiA+IC0gICAg ICAgUU1QX1BIWV9JTklUX0NGRyhRU0VSREVTX1Y2X0NPTV9MT0NLX0NNUDJfTU9ERTAsIDB4MDcp LAo+IAo+IEFzaWRlIGZyb20gbW92aW5nIHRoZXNlIHJlZ2lzdGVycyB0byB0aGUgSFNfRzQgdGFi bGUsIHlvdSBhcmUgYWxzbwo+IGNoYW5naW5nIHRoZXNlIHJlZ2lzdGVycy4gSXQgbWFrZXMgbWUg dGhpbmsgdGhhdCB0aGVyZSB3YXMgYW4gZXJyb3IgaW4KPiB0aGUgb3JpZ2luYWwgcHJvZ3JhbW1p bmcgc2VxdWVuY2UuCj4gSWYgdGhhdCBpcyBjb3JyZWN0LCBjb3VsZCB5b3UgcGxlYXNlIHNwbGl0 IHRoZSBwYXRjaCBpbnRvIHR3byBwaWVjZXM6Cj4gLSBGaXggcHJvZ3JhbW1pbmcgc2VxdWVuY2Ug KGFkZCBwcm9wZXIgRml4ZXMgdGFncykKPiAtIFNwbGl0IEc0IGFuZCBHNSB0YWJsZXMuCgpBY2sK Cj4gCj4gPiArCj4gPiArICAgICAgIFFNUF9QSFlfSU5JVF9DRkcoUVNFUkRFU19WNl9DT01fREVD X1NUQVJUX01PREUxLCAweDRjKSwKPiA+ICsgICAgICAgUU1QX1BIWV9JTklUX0NGRyhRU0VSREVT X1Y2X0NPTV9DUF9DVFJMX01PREUxLCAweDBhKSwKPiA+ICsgICAgICAgUU1QX1BIWV9JTklUX0NG RyhRU0VSREVTX1Y2X0NPTV9QTExfUkNUUkxfTU9ERTEsIDB4MTgpLAo+ID4gKyAgICAgICBRTVBf UEhZX0lOSVRfQ0ZHKFFTRVJERVNfVjZfQ09NX1BMTF9DQ1RSTF9NT0RFMSwgMHgxNCksCj4gPiAr ICAgICAgIFFNUF9QSFlfSU5JVF9DRkcoUVNFUkRFU19WNl9DT01fTE9DS19DTVAxX01PREUxLCAw eDk5KSwKPiA+ICsgICAgICAgUU1QX1BIWV9JTklUX0NGRyhRU0VSREVTX1Y2X0NPTV9MT0NLX0NN UDJfTU9ERTEsIDB4MDcpLAo+IAo+IEkgc2VlIGFsbCB0aGUgTU9ERTEgcmVnaXN0ZXJzIGJlaW5n IG9ubHkgcHJlc2VudCBpbiBHNCBhbmQgRzUgdGFibGVzLgo+IFNob3VsZCB0aGV5IGJlIHByb2dy YW1tZWQgZm9yIHRoZSBtb2RlcyBsb3dlciB0aGFuIEc0Pwo+IAoKV2UgdXNlIEc0IHRhYmxlIGZv ciBhbGwgdGhlIG1vZGVzIDw9IEc0LgoKPiA+ICt9Owo+ID4gKwo+ID4gK3N0YXRpYyBjb25zdCBz dHJ1Y3QgcW1wX3BoeV9pbml0X3RibCBzbTg1NTBfdWZzcGh5X2c1X3NlcmRlc1tdID0gewo+ID4g KyAgICAgICBRTVBfUEhZX0lOSVRfQ0ZHKFFTRVJERVNfVjZfQ09NX1BMTF9JVkNPLCAweDFmKSwK PiA+ICsKPiA+ICsgICAgICAgUU1QX1BIWV9JTklUX0NGRyhRU0VSREVTX1Y2X0NPTV9DTU5fSUVU UklNLCAweDFiKSwKPiA+ICsgICAgICAgUU1QX1BIWV9JTklUX0NGRyhRU0VSREVTX1Y2X0NPTV9D TU5fSVBUUklNLCAweDFjKSwKPiA+ICsgICAgICAgUU1QX1BIWV9JTklUX0NGRyhRU0VSREVTX1Y2 X0NPTV9DUF9DVFJMX01PREUwLCAweDA2KSwKPiA+ICB9Owo+ID4KPiA+ICBzdGF0aWMgY29uc3Qg c3RydWN0IHFtcF9waHlfaW5pdF90Ymwgc204NTUwX3Vmc3BoeV90eFtdID0gewo+ID4gLSAgICAg ICBRTVBfUEhZX0lOSVRfQ0ZHKFFTRVJERVNfVjZfVFhfTEFORV9NT0RFXzEsIDB4MDUpLAo+ID4g KyAgICAgICBRTVBfUEhZX0lOSVRfQ0ZHKFFTRVJERVNfVUZTX1Y2X1RYX0xBTkVfTU9ERV8xLCAw eDA1KSwKPiA+ICAgICAgICAgUU1QX1BIWV9JTklUX0NGRyhRU0VSREVTX1VGU19WNl9UWF9SRVNf Q09ERV9MQU5FX09GRlNFVF9UWCwgMHgwNyksCj4gPiAgfTsKPiA+Cj4gPiArc3RhdGljIGNvbnN0 IHN0cnVjdCBxbXBfcGh5X2luaXRfdGJsIHNtODU1MF91ZnNwaHlfZzRfdHhbXSA9IHsKPiA+ICsg ICAgICAgUU1QX1BIWV9JTklUX0NGRyhRU0VSREVTX1VGU19WNl9UWF9GUl9EQ0NfQ1RSTCwgMHg0 YyksCj4gPiArfTsKPiA+ICsKPiA+ICBzdGF0aWMgY29uc3Qgc3RydWN0IHFtcF9waHlfaW5pdF90 Ymwgc204NTUwX3Vmc3BoeV9yeFtdID0gewo+ID4gLSAgICAgICBRTVBfUEhZX0lOSVRfQ0ZHKFFT RVJERVNfVUZTX1Y2X1JYX1VDRFJfRkFTVExPQ0tfRk9fR0FJTl9SQVRFMiwgMHgwYyksCj4gPiAt ICAgICAgIFFNUF9QSFlfSU5JVF9DRkcoUVNFUkRFU19VRlNfVjZfUlhfVUNEUl9GQVNUTE9DS19G T19HQUlOX1JBVEU0LCAweDBmKSwKPiA+IC0gICAgICAgUU1QX1BIWV9JTklUX0NGRyhRU0VSREVT X1VGU19WNl9SWF9WR0FfQ0FMX01BTl9WQUwsIDB4MGUpLAo+ID4gKyAgICAgICBRTVBfUEhZX0lO SVRfQ0ZHKFFTRVJERVNfVUZTX1Y2X1JYX1VDRFJfRk9fR0FJTl9SQVRFMiwgMHgwYyksCj4gPgo+ ID4gICAgICAgICBRTVBfUEhZX0lOSVRfQ0ZHKFFTRVJERVNfVUZTX1Y2X1JYX01PREVfUkFURV8w XzFfQjAsIDB4YzIpLAo+ID4gICAgICAgICBRTVBfUEhZX0lOSVRfQ0ZHKFFTRVJERVNfVUZTX1Y2 X1JYX01PREVfUkFURV8wXzFfQjEsIDB4YzIpLAo+ID4gQEAgLTY5MCwxNCArNzA5LDQ2IEBAIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgcW1wX3BoeV9pbml0X3RibCBzbTg1NTBfdWZzcGh5X3J4W10gPSB7 Cj4gPiAgICAgICAgIFFNUF9QSFlfSU5JVF9DRkcoUVNFUkRFU19VRlNfVjZfUlhfTU9ERV9SQVRF M19COCwgMHgwMiksCj4gPiAgfTsKPiA+Cj4gPiArc3RhdGljIGNvbnN0IHN0cnVjdCBxbXBfcGh5 X2luaXRfdGJsIHNtODU1MF91ZnNwaHlfZzRfcnhbXSA9IHsKPiA+ICsgICAgICAgUU1QX1BIWV9J TklUX0NGRyhRU0VSREVTX1VGU19WNl9SWF9WR0FfQ0FMX01BTl9WQUwsIDB4MGUpLAo+ID4gK307 Cj4gPiArCj4gPiArc3RhdGljIGNvbnN0IHN0cnVjdCBxbXBfcGh5X2luaXRfdGJsIHNtODU1MF91 ZnNwaHlfZzVfcnhbXSA9IHsKPiA+ICsgICAgICAgUU1QX1BIWV9JTklUX0NGRyhRU0VSREVTX1VG U19WNl9SWF9VQ0RSX0ZPX0dBSU5fUkFURTQsIDB4MGMpLAo+ID4gKyAgICAgICBRTVBfUEhZX0lO SVRfQ0ZHKFFTRVJERVNfVUZTX1Y2X1JYX1VDRFJfU09fR0FJTl9SQVRFNCwgMHgwNCksCj4gPiAr ICAgICAgIFFNUF9QSFlfSU5JVF9DRkcoUVNFUkRFU19VRlNfVjZfUlhfRVFfT0ZGU0VUX0FEQVBU T1JfQ05UUkwxLCAweDE0KSwKPiA+ICsgICAgICAgUU1QX1BIWV9JTklUX0NGRyhRU0VSREVTX1VG U19WNl9SWF9VQ0RSX1BJX0NPTlRST0xTLCAweDA3KSwKPiA+ICsgICAgICAgUU1QX1BIWV9JTklU X0NGRyhRU0VSREVTX1VGU19WNl9SWF9PRkZTRVRfQURBUFRPUl9DTlRSTDMsIDB4MGUpLAo+ID4g KyAgICAgICBRTVBfUEhZX0lOSVRfQ0ZHKFFTRVJERVNfVUZTX1Y2X1JYX1VDRFJfRkFTVExPQ0tf Q09VTlRfSElHSF9SQVRFNCwgMHgwMiksCj4gPiArICAgICAgIFFNUF9QSFlfSU5JVF9DRkcoUVNF UkRFU19VRlNfVjZfUlhfVUNEUl9GQVNUTE9DS19GT19HQUlOX1JBVEU0LCAweDFjKSwKPiA+ICsg ICAgICAgUU1QX1BIWV9JTklUX0NGRyhRU0VSREVTX1VGU19WNl9SWF9VQ0RSX0ZBU1RMT0NLX1NP X0dBSU5fUkFURTQsIDB4MDYpLAo+ID4gKyAgICAgICBRTVBfUEhZX0lOSVRfQ0ZHKFFTRVJERVNf VUZTX1Y2X1JYX1ZHQV9DQUxfTUFOX1ZBTCwgMHgwOCksCj4gPiArCj4gPiArICAgICAgIFFNUF9Q SFlfSU5JVF9DRkcoUVNFUkRFU19VRlNfVjZfUlhfTU9ERV9SQVRFNF9CMywgMHhiOSksCj4gPiAr ICAgICAgIFFNUF9QSFlfSU5JVF9DRkcoUVNFUkRFU19VRlNfVjZfUlhfTU9ERV9SQVRFNF9CNCwg MHg0ZiksCj4gPiArICAgICAgIFFNUF9QSFlfSU5JVF9DRkcoUVNFUkRFU19VRlNfVjZfUlhfTU9E RV9SQVRFNF9CNiwgMHhmZiksCj4gPiArICAgICAgIFFNUF9QSFlfSU5JVF9DRkcoUVNFUkRFU19V RlNfVjZfUlhfRExMMF9GVFVORV9DVFJMLCAweDMwKSwKPiA+ICt9Owo+ID4gKwo+ID4gIHN0YXRp YyBjb25zdCBzdHJ1Y3QgcW1wX3BoeV9pbml0X3RibCBzbTg1NTBfdWZzcGh5X3Bjc1tdID0gewo+ ID4gICAgICAgICBRTVBfUEhZX0lOSVRfQ0ZHKFFQSFlfVjZfUENTX1VGU19SWF9TSUdERVRfQ1RS TDIsIDB4NjkpLAo+ID4gICAgICAgICBRTVBfUEhZX0lOSVRfQ0ZHKFFQSFlfVjZfUENTX1VGU19U WF9MQVJHRV9BTVBfRFJWX0xWTCwgMHgwZiksCj4gPiAgICAgICAgIFFNUF9QSFlfSU5JVF9DRkco UVBIWV9WNl9QQ1NfVUZTX1RYX01JRF9URVJNX0NUUkwxLCAweDQzKSwKPiA+IC0gICAgICAgUU1Q X1BIWV9JTklUX0NGRyhRUEhZX1Y2X1BDU19VRlNfUExMX0NOVEwsIDB4MmIpLAo+ID4gICAgICAg ICBRTVBfUEhZX0lOSVRfQ0ZHKFFQSFlfVjZfUENTX1VGU19NVUxUSV9MQU5FX0NUUkwxLCAweDAy KSwKPiA+ICB9Owo+ID4KPiA+ICtzdGF0aWMgY29uc3Qgc3RydWN0IHFtcF9waHlfaW5pdF90Ymwg c204NTUwX3Vmc3BoeV9nNF9wY3NbXSA9IHsKPiA+ICsgICAgICAgUU1QX1BIWV9JTklUX0NGRyhR UEhZX1Y2X1BDU19VRlNfUExMX0NOVEwsIDB4MmIpLAo+ID4gKyAgICAgICBRTVBfUEhZX0lOSVRf Q0ZHKFFQSFlfVjZfUENTX1VGU19UWF9IU0dFQVJfQ0FQQUJJTElUWSwgMHgwNCksCj4gPiArICAg ICAgIFFNUF9QSFlfSU5JVF9DRkcoUVBIWV9WNl9QQ1NfVUZTX1JYX0hTR0VBUl9DQVBBQklMSVRZ LCAweDA0KSwKPiA+ICt9Owo+ID4gKwo+ID4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcW1wX3BoeV9p bml0X3RibCBzbTg1NTBfdWZzcGh5X2c1X3Bjc1tdID0gewo+ID4gKyAgICAgICBRTVBfUEhZX0lO SVRfQ0ZHKFFQSFlfVjZfUENTX1VGU19QTExfQ05UTCwgMHgzMyksCj4gPiArICAgICAgIFFNUF9Q SFlfSU5JVF9DRkcoUVBIWV9WNl9QQ1NfVUZTX1JYX0hTX0c1X1NZTkNfTEVOR1RIX0NBUEFCSUxJ VFksIDB4NGYpLAo+ID4gKyAgICAgICBRTVBfUEhZX0lOSVRfQ0ZHKFFQSFlfVjZfUENTX1VGU19S WF9IU0c1X1NZTkNfV0FJVF9USU1FLCAweDllKSwKPiA+ICt9Owo+ID4gKwo+ID4gIHN0cnVjdCBx bXBfdWZzX29mZnNldHMgewo+ID4gICAgICAgICB1MTYgc2VyZGVzOwo+ID4gICAgICAgICB1MTYg cGNzOwo+ID4gQEAgLTczMSw2ICs3ODIsOCBAQCBzdHJ1Y3QgcW1wX3BoeV9jZmcgewo+ID4gICAg ICAgICBjb25zdCBzdHJ1Y3QgcW1wX3BoeV9jZmdfdGJscyB0YmxzX2hzX2I7Cj4gPiAgICAgICAg IC8qIEFkZGl0aW9uYWwgc2VxdWVuY2UgZm9yIEhTIEc0ICovCj4gPiAgICAgICAgIGNvbnN0IHN0 cnVjdCBxbXBfcGh5X2NmZ190YmxzIHRibHNfaHNfZzQ7Cj4gPiArICAgICAgIC8qIEFkZGl0aW9u YWwgc2VxdWVuY2UgZm9yIEhTIEc0ICovCgpIUyBHNQoKPiA+ICsgICAgICAgY29uc3Qgc3RydWN0 IHFtcF9waHlfY2ZnX3RibHMgdGJsc19oc19nNTsKPiA+Cj4gPiAgICAgICAgIC8qIGNsb2NrIGlk cyB0byBiZSByZXF1ZXN0ZWQgKi8KPiA+ICAgICAgICAgY29uc3QgY2hhciAqIGNvbnN0ICpjbGtf bGlzdDsKPiA+IEBAIC0xMTU3LDYgKzEyMTAsMjggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBxbXBf cGh5X2NmZyBzbTg1NTBfdWZzcGh5X2NmZyA9IHsKPiA+ICAgICAgICAgICAgICAgICAucGNzICAg ICAgICAgICAgPSBzbTg1NTBfdWZzcGh5X3BjcywKPiA+ICAgICAgICAgICAgICAgICAucGNzX251 bSAgICAgICAgPSBBUlJBWV9TSVpFKHNtODU1MF91ZnNwaHlfcGNzKSwKPiA+ICAgICAgICAgfSwK PiA+ICsgICAgICAgLnRibHNfaHNfYiA9IHsKPiA+ICsgICAgICAgICAgICAgICAuc2VyZGVzICAg ICAgICAgPSBzbTg1NTBfdWZzcGh5X2hzX2Jfc2VyZGVzLAo+ID4gKyAgICAgICAgICAgICAgIC5z ZXJkZXNfbnVtICAgICA9IEFSUkFZX1NJWkUoc204NTUwX3Vmc3BoeV9oc19iX3NlcmRlcyksCj4g PiArICAgICAgIH0sCj4gPiArICAgICAgIC50YmxzX2hzX2c0ID0gewo+ID4gKyAgICAgICAgICAg ICAgIC5zZXJkZXMgICAgICAgICA9IHNtODU1MF91ZnNwaHlfZzRfc2VyZGVzLAo+ID4gKyAgICAg ICAgICAgICAgIC5zZXJkZXNfbnVtICAgICA9IEFSUkFZX1NJWkUoc204NTUwX3Vmc3BoeV9nNF9z ZXJkZXMpLAo+ID4gKyAgICAgICAgICAgICAgIC50eCAgICAgICAgICAgICA9IHNtODU1MF91ZnNw aHlfZzRfdHgsCj4gPiArICAgICAgICAgICAgICAgLnR4X251bSAgICAgICAgID0gQVJSQVlfU0la RShzbTg1NTBfdWZzcGh5X2c0X3R4KSwKPiA+ICsgICAgICAgICAgICAgICAucnggICAgICAgICAg ICAgPSBzbTg1NTBfdWZzcGh5X2c0X3J4LAo+ID4gKyAgICAgICAgICAgICAgIC5yeF9udW0gICAg ICAgICA9IEFSUkFZX1NJWkUoc204NTUwX3Vmc3BoeV9nNF9yeCksCj4gPiArICAgICAgICAgICAg ICAgLnBjcyAgICAgICAgICAgID0gc204NTUwX3Vmc3BoeV9nNF9wY3MsCj4gPiArICAgICAgICAg ICAgICAgLnBjc19udW0gICAgICAgID0gQVJSQVlfU0laRShzbTg1NTBfdWZzcGh5X2c0X3Bjcyks Cj4gPiArICAgICAgIH0sCj4gPiArICAgICAgIC50YmxzX2hzX2c1ID0gewo+ID4gKyAgICAgICAg ICAgICAgIC5zZXJkZXMgICAgICAgICA9IHNtODU1MF91ZnNwaHlfZzVfc2VyZGVzLAo+ID4gKyAg ICAgICAgICAgICAgIC5zZXJkZXNfbnVtICAgICA9IEFSUkFZX1NJWkUoc204NTUwX3Vmc3BoeV9n NV9zZXJkZXMpLAo+ID4gKyAgICAgICAgICAgICAgIC5yeCAgICAgICAgICAgICA9IHNtODU1MF91 ZnNwaHlfZzVfcngsCj4gPiArICAgICAgICAgICAgICAgLnJ4X251bSAgICAgICAgID0gQVJSQVlf U0laRShzbTg1NTBfdWZzcGh5X2c1X3J4KSwKPiA+ICsgICAgICAgICAgICAgICAucGNzICAgICAg ICAgICAgPSBzbTg1NTBfdWZzcGh5X2c1X3BjcywKPiA+ICsgICAgICAgICAgICAgICAucGNzX251 bSAgICAgICAgPSBBUlJBWV9TSVpFKHNtODU1MF91ZnNwaHlfZzVfcGNzKSwKPiA+ICsgICAgICAg fSwKPiA+ICAgICAgICAgLmNsa19saXN0ICAgICAgICAgICAgICAgPSBzZG04NDVfdWZzX3BoeV9j bGtfbCwKPiA+ICAgICAgICAgLm51bV9jbGtzICAgICAgICAgICAgICAgPSBBUlJBWV9TSVpFKHNk bTg0NV91ZnNfcGh5X2Nsa19sKSwKPiA+ICAgICAgICAgLnZyZWdfbGlzdCAgICAgICAgICAgICAg PSBxbXBfcGh5X3ZyZWdfbCwKPiA+IEBAIC0xMjIyLDE0ICsxMjk3LDI1IEBAIHN0YXRpYyB2b2lk IHFtcF91ZnNfcGNzX2luaXQoc3RydWN0IHFtcF91ZnMgKnFtcCwgY29uc3Qgc3RydWN0IHFtcF9w aHlfY2ZnX3RibHMKPiA+ICBzdGF0aWMgdm9pZCBxbXBfdWZzX2luaXRfcmVnaXN0ZXJzKHN0cnVj dCBxbXBfdWZzICpxbXAsIGNvbnN0IHN0cnVjdCBxbXBfcGh5X2NmZyAqY2ZnKQo+ID4gIHsKPiA+ ICAgICAgICAgcW1wX3Vmc19zZXJkZXNfaW5pdChxbXAsICZjZmctPnRibHMpOwo+ID4gKyAgICAg ICBpZiAocW1wLT5zdWJtb2RlID09IFVGU19IU19HNCkKPiA+ICsgICAgICAgICAgICAgICBxbXBf dWZzX3NlcmRlc19pbml0KHFtcCwgJmNmZy0+dGJsc19oc19nNCk7Cj4gPiArICAgICAgIGVsc2Ug aWYgKHFtcC0+c3VibW9kZSA9PSBVRlNfSFNfRzUpCj4gPiArICAgICAgICAgICAgICAgcW1wX3Vm c19zZXJkZXNfaW5pdChxbXAsICZjZmctPnRibHNfaHNfZzUpOwo+ID4gKwoKU2hvdWxkIHdlIHBy b2dyYW0gc3VibW9kZSBzZXF1ZW5jZSBhZnRlciBIU19CPwoKLSBNYW5pCgotLSAK4K6u4K6j4K6/ 4K614K6j4K+N4K6j4K6p4K+NIOCumuCupOCuvuCumuCuv+CuteCuruCvjQoKLS0gCmxpbnV4LXBo eSBtYWlsaW5nIGxpc3QKbGludXgtcGh5QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cHM6Ly9saXN0 cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtcGh5Cg==