From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4BD74606A329 for ; Fri, 6 Nov 2026 14:26:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key, unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=bombadil.20210309 header.b=n7w9wlXx; dkim=fail reason="signature verification failed" (2048-bit key, unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20260515 header.b=H2Uo6dSE 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:MIME-Version:Reply-To:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Date:References: In-Reply-To:Cc:To:Subject:From:Message-ID:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Unsubscribe-Post:List-Owner; bh=S9bjREr3lc3E+Dhq0TcKG4ZDn9ToC7beupneV+ILoNo=; b=n7w9wlXxE+wbh0bH9pg4a7vzMA 5fhCor2p/kS8CjC5O5yoVhFxUB2MnJWBIHzdxDhisAAY/bI9TOi/nWPGVdSdRSuwgsUjIt9ZOtk8I pvwAL+WR+GBox2Fo5tzWZj5eITsBkh8a96NBbHe5ZVWvMMVWvnWj9Lr1fRbw7b1Fg+fzsDFmyusKB U28LSuKyNH2pm5uBJZgimt7oT5voFjmMBnxQbWs7i1fujTcs30zVvcAwyTYiRw70PFpswDpfH4aaU rGR805EqJnjYwvhYr0qwalcl5O7zGc4/l760zc8U7of9KlpBBVbl5x/y4XMz+mlUDAQZhQAtYmpFM h+SdMe7Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.100.1 #2 (Red Hat Linux)) id 1xPKtf-0000000CefM-3m3D; Fri, 06 Nov 2026 14:26:27 +0000 Received: from tor.source.kernel.org ([172.105.4.254]) by bombadil.infradead.org with esmtps (Exim 4.100.1 #2 (Red Hat Linux)) id 1xPKtf-0000000CefC-0fu3 for linux-phy@lists.infradead.org; Fri, 06 Nov 2026 14:26:27 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by tor.source.kernel.org (Postfix) with ESMTP id 8CADB60204; Fri, 6 Nov 2026 14:26:26 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id E247D1F0089F; Fri, 6 Nov 2026 14:26:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1793975186; bh=Ec5T7VXUYsH5PVk/KzDKxhy1sXMynhaZ+V9bOG+hk58=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=H2Uo6dSE8XCf34uhOPBOpvkADepbnTYlRKjqfM/zw1c9mIb3wlSSwhszlvfulDGRJ e5SVGq6oPg4HKwo+hGqN/FkdICR9EwnbSKXhyWpDYI8c2Q46kS8vBjnR43pLrOZFvt tyJyvakWz5xhdxkMMDBK5/p/GKOgvbTQNXbdHCqdAaq2H8+GmzzsFCAm+DXnWYwKu3 WWbNJVvnbFkV9XsH+AFkIDwulM9j4hIAKF1Gr/EkGInUsxPcrtYKGITZWHHTOm07Sb 3im9MuMpmOfUSRWtfemXfdmmwv69IUOfHrd0UO1maSCAD/d81nTju2UvvKSGm3uRKx SqiajBz0ARraQ== Message-ID: From: sashiko-bot@kernel.org Subject: Re: [PATCH v7 4/5] phy: starfive: Add jh7110-inno-hdmi-phy driver To: "Michal Wilczynski" Cc: linux-phy@lists.infradead.org, devicetree@vger.kernel.org, robh@kernel.org, conor+dt@kernel.org, vkoul@kernel.org, neil.armstrong@linaro.org, olteanv@gmail.com In-Reply-To: <20261106-jh7110-inno-hdmi-phy-v7-4-d49368303800@samsung.com> References: <20261106-jh7110-inno-hdmi-phy-v7-0-d49368303800@samsung.com> <20261106-jh7110-inno-hdmi-phy-v7-4-d49368303800@samsung.com> Date: Fri, 06 Nov 2026 14:26:25 +0000 X-BeenThere: linux-phy@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux Phy Mailing list List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: sashiko-reviews@lists.linux.dev X-Archived-By: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-phy" X-Spam-Status: No, score=-8.9 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=4.0.1 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on aws-us-west-2-korg-listserv-alma10-1 VGhhbmsgeW91IGZvciB5b3VyIGNvbnRyaWJ1dGlvbiEgU2FzaGlrbyBBSSByZXZpZXcgZm91bmQg NiBwb3RlbnRpYWwKaXNzdWVzIHRvIGNvbnNpZGVyOgotIFtIaWdoXSBwaHk6IHN0YXJmaXZlOiBy YXRlIGNhY2hlIGFuZCBCSUFTL1JYIHN0YXRlIGJyb2tlbiBhY3Jvc3MKICBkaXNhYmxlL2VuYWJs ZQotIFtIaWdoXSBwaHk6IHN0YXJmaXZlOiBpbnZhbGlkIHByZV9wbGxfY2ZnX3RhYmxlIGRpdmlk ZXJzIGJyZWFrIDgKICBkaXNwbGF5IG1vZGVzCi0gW01lZGl1bV0gcGh5OiBzdGFyZml2ZTogc3Rh cmZpdmVfaGRtaV9waHlfY2xrX3NldF9yYXRlKCkgc2tpcHMgUHJlLVBMTAogIGxvY2sgd2FpdAot IFtMb3ddIHBoeTogc3RhcmZpdmU6IHN0YXJmaXZlX2hkbWlfcGh5X3JlbW92ZSgpIGRpc2FibGVz IHJlZm9jbGsKICBiZWZvcmUgZGV2cmVzCi0gW0xvd10gcGh5OiBzdGFyZml2ZTogdW51c2VkIGlu bm9fcmVhZCgpIGhlbHBlciBhbmQgcmVnaXN0ZXIgYml0ZmllbGQKICBtYWNyb3MKLSBbTG93XSBw aHk6IHN0YXJmaXZlOiBwb3dlciBkb3duIFBvc3QtUExMIGJlZm9yZSBjb25maWd1cmluZyBkaXZp ZGVycwotLQoKY29tbWl0IDIxNjhjMDg4MzVkOWU0NWM0NDhlYzc1YjQyYzUyZGM2NjUzNzAzMmIK QXV0aG9yOiBNaWNoYWwgV2lsY3p5bnNraSA8bS53aWxjenluc2tpQHNhbXN1bmcuY29tPgoKcGh5 OiBzdGFyZml2ZTogQWRkIGpoNzExMC1pbm5vLWhkbWktcGh5IGRyaXZlcgoKVGhpcyBjb21taXQg YWRkcyB0aGUgU3RhckZpdmUgSkg3MTEwIElubm9zaWxpY29uIEhETUkgUEhZIGRyaXZlciwgd2hp Y2gKYWN0cyBhcyBhIGNsb2NrIHByb3ZpZGVyIGZvciB0aGUgcGl4ZWwgY2xvY2sgdmlhIHRoZSBQ cmUtUExMIGFuZCBhIFBIWQpwcm92aWRlciBmb3IgdGhlIFBvc3QtUExMIGFuZCBhbmFsb2cgYmxv Y2tzLgoKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9waHkvc3RhcmZpdmUvcGh5LWpoNzExMC1pbm5v LWhkbWkuYyBiL2RyaXZlcnMvcGh5L3N0YXJmaXZlL3BoeS1qaDcxMTAtaW5uby1oZG1pLmMKPiBu ZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAwMDAwMDAuLmViZGEzNjNlNTBhM2UK PiAtLS0gL2Rldi9udWxsCj4gKysrIGIvZHJpdmVycy9waHkvc3RhcmZpdmUvcGh5LWpoNzExMC1p bm5vLWhkbWkuYwo+IEBAIC0wLDAgKzEsNTg3IEBACgpbIC4uLiBdCgo+ICsvKiBSRUc6IDB4MWFh ICovCj4gKyNkZWZpbmUgU1RGX0lOTk9fUE9TVF9QTExfRElWXzEJCTB4MWFhCj4gKyNkZWZpbmUg U1RGX0lOTk9fUE9TVF9QTExfUE9TVF9ESVZfRU5BQkxFCUdFTk1BU0soMywgMikKPiArI2RlZmlu ZSBTVEZfSU5OT19QT1NUX1BMTF9SRUZDTEtfU0VMX1RNRFMJQklUKDEpCj4gKyNkZWZpbmUgU1RG X0lOTk9fUE9TVF9QTExfUE9XRVJfRE9XTgkJQklUKDApCj4gKwo+ICsvKiBSRUc6IDB4MWFiICov Cj4gKyNkZWZpbmUgU1RGX0lOTk9fUE9TVF9QTExfRElWXzIJCTB4MWFiCj4gKyNkZWZpbmUgU1RG X0lOTk9fUE9TVF9QTExfUFJFX0RJVih4KQkJRklFTERfUFJFUChHRU5NQVNLKDUsIDApLCB4KQo+ ICsjZGVmaW5lIFNURl9JTk5PX1BPU1RfUExMX0ZCX0RJVl84KHgpCQlGSUVMRF9QUkVQKEJJVCg3 KSwgKHgpID4+IDgpCj4gKwo+ICsvKiBSRUc6IDB4MWFjICovCj4gKyNkZWZpbmUgU1RGX0lOTk9f UE9TVF9QTExfRElWXzMJCTB4MWFjCj4gKyNkZWZpbmUgU1RGX0lOTk9fUE9TVF9QTExfRkJfRElW XzdfMCh4KQlGSUVMRF9QUkVQKEdFTk1BU0soNywgMCksIHgpCj4gKwo+ICsvKiBSRUc6IDB4MWFk ICovCj4gKyNkZWZpbmUgU1RGX0lOTk9fUE9TVF9QTExfRElWXzQJCTB4MWFkCj4gKyNkZWZpbmUg U1RGX0lOTk9fUE9TVF9QTExfUE9TVF9ESVZfTUFTSwlHRU5NQVNLKDEsIDApCgpbIC4uLiBdCgo+ ICsvKiBSRUc6IDB4MWIyICovCj4gKyNkZWZpbmUgU1RGX0lOTk9fVE1EU19DT05UUk9MCQkJMHgx YjIKPiArI2RlZmluZSBTVEZfSU5OT19UTURTX0NMS19EUklWRVJfRU4JCUJJVCgzKQo+ICsjZGVm aW5lIFNURl9JTk5PX1RNRFNfRDJfRFJJVkVSX0VOCQlCSVQoMikKPiArI2RlZmluZSBTVEZfSU5O T19UTURTX0QxX0RSSVZFUl9FTgkJQklUKDEpCj4gKyNkZWZpbmUgU1RGX0lOTk9fVE1EU19EMF9E UklWRVJfRU4JCUJJVCgwKQo+ICsjZGVmaW5lIFNURl9JTk5PX1RNRFNfRFJJVkVSX0VOQUJMRQkJ KFNURl9JTk5PX1RNRFNfQ0xLX0RSSVZFUl9FTiB8IFwKPiArCQkJCQkJIFNURl9JTk5PX1RNRFNf RDJfRFJJVkVSX0VOIHwgXAo+ICsJCQkJCQkgU1RGX0lOTk9fVE1EU19EMV9EUklWRVJfRU4gfCBc Cj4gKwkJCQkJCSBTVEZfSU5OT19UTURTX0QwX0RSSVZFUl9FTikKClsgLi4uIF0KCj4gK3N0YXRp YyBjb25zdCBzdHJ1Y3QgaW5ub19oZG1pX3BoeV9wcmVfcGxsX2NvbmZpZyBwcmVfcGxsX2NmZ190 YWJsZVtdID0gewo+ICsJeyAyNTE3NTAwMCwgMjUxNzUwMDAsIDEsIDEwMCwgMiwgMywgMywgMTIs IDMsIDMsIDQsIDAsIDB4ZjU1NTU1IH0sCj4gKwl7IDI1MjAwMDAwLCAyNTIwMDAwMCwgMSwgMTAw LCAyLCAzLCAzLCAxMiwgMywgMywgNCwgMCwgMCB9LAo+ICsJeyAyNzAwMDAwMCwgMjcwMDAwMDAs IDEsIDkwLCAzLCAyLCAyLCAxMCwgMywgMywgNCwgMCwgMCB9LAo+ICsJeyAyNzAyNzAwMCwgMjcw MjcwMDAsIDEsIDkwLCAzLCAyLCAyLCAxMCwgMywgMywgNCwgMCwgMHgxNzBhM2QgfSwKPiArCXsg MjgzMjAwMDAsIDI4MzIwMDAwLCAxLCAyOCwgMiwgMSwgMSwgMywgMCwgMywgNCwgMCwgMHg1MWVi ODUgfSwKPiArCXsgMzAyNDAwMDAsIDMwMjQwMDAwLCAxLCAzMCwgMiwgMSwgMSwgMywgMCwgMywg NCwgMCwgMHgzZDcwYTMgfSwKPiArCXsgMzE1MDAwMDAsIDMxNTAwMDAwLCAxLCAzMSwgMiwgMSwg MSwgMywgMCwgMywgNCwgMCwgMHg3ZmZmZmYgfSwKPiArCXsgMzM3NTAwMDAsIDMzNzUwMDAwLCAx LCAzMywgMiwgMSwgMSwgMywgMCwgMywgNCwgMCwgMHhjZmZmZmYgfSwKPiArCXsgMzYwMDAwMDAs IDM2MDAwMDAwLCAxLCAzNiwgMiwgMSwgMSwgMywgMCwgMywgNCwgMCwgMCB9LAo+ICsJeyA0MDAw MDAwMCwgNDAwMDAwMDAsIDEsIDgwLCAyLCAyLCAyLCAxMiwgMiwgMiwgMiwgMCwgMCB9LAo+ICsJ eyA0Njk3MDAwMCwgNDY5NzAwMDAsIDEsIDQ2LCAyLCAxLCAxLCAzLCAwLCAzLCA0LCAwLCAweGY4 NTFlYiB9LAo+ICsJeyA0OTUwMDAwMCwgNDk1MDAwMDAsIDEsIDQ5LCAyLCAxLCAxLCAzLCAwLCAz LCA0LCAwLCAweDdmZmZmZiB9LAo+ICsJeyA0OTAwMDAwMCwgNDkwMDAwMDAsIDEsIDQ5LCAyLCAx LCAxLCAzLCAwLCAzLCA0LCAwLCAwIH0sCj4gKwl7IDUwMDAwMDAwLCA1MDAwMDAwMCwgMSwgNTAs IDIsIDEsIDEsIDMsIDAsIDMsIDQsIDAsIDAgfSwKPiArCXsgNTQwMDAwMDAsIDU0MDAwMDAwLCAx LCA1NCwgMiwgMSwgMSwgMywgMCwgMywgNCwgMCwgMCB9LAo+ICsJeyA1NDA1NDAwMCwgNTQwNTQw MDAsIDEsIDU0LCAyLCAxLCAxLCAzLCAwLCAzLCA0LCAwLCAweDBkZDJmMSB9LAo+ICsJeyA1NzI4 NDAwMCwgNTcyODQwMDAsIDEsIDU3LCAyLCAxLCAxLCAzLCAwLCAzLCA0LCAwLCAweDQ4YjQzOSB9 LAo+ICsJeyA1ODIzMDAwMCwgNTgyMzAwMDAsIDEsIDU4LCAyLCAxLCAxLCAzLCAwLCAzLCA0LCAw LCAweDNhZTE0NyB9LAo+ICsJeyA1OTM0MTAwMCwgNTkzNDEwMDAsIDEsIDU5LCAyLCAxLCAxLCAz LCAwLCAzLCA0LCAwLCAweDU3NGJjNiB9LAo+ICsJeyA1OTQwMDAwMCwgNTk0MDAwMDAsIDEsIDk5 LCAzLCAxLCAxLCAxLCAzLCAzLCA0LCAwLCAwIH0sCj4gKwl7IDY1MDAwMDAwLCA2NTAwMDAwMCwg MSwgMTMwLCAyLCAyLCAyLCAxMiwgMCwgMiwgMiwgMCwgMCB9LAo+ICsJeyA2ODI1MDAwMCwgNjgy NTAwMDAsIDEsIDY4LCAyLCAxLCAxLCAzLCAwLCAzLCA0LCAwLCAweDNmZmZmZiB9LAo+ICsJeyA3 MTAwMDAwMCwgNzEwMDAwMDAsIDEsIDcxLCAyLCAxLCAxLCAzLCAwLCAzLCA0LCAwLCAwIH0sCj4g Kwl7IDc0MTc2MDAwLCA3NDE3NjAwMCwgMSwgOTgsIDEsIDIsIDIsIDEsIDIsIDMsIDQsIDAsIDB4 ZTZhZTZiIH0sCj4gKwl7IDc0MjUwMDAwLCA3NDI1MDAwMCwgMSwgOTksIDEsIDIsIDIsIDEsIDIs IDMsIDQsIDAsIDAgfSwKPiArCXsgNzUwMDAwMDAsIDc1MDAwMDAwLCAxLCA3NSwgMiwgMSwgMSwg MywgMCwgMywgNCwgMCwgMCB9LAo+ICsJeyA3ODc1MDAwMCwgNzg3NTAwMDAsIDEsIDc4LCAyLCAx LCAxLCAzLCAwLCAzLCA0LCAwLCAweGNmZmZmZiB9LAo+ICsJeyA3OTUwMDAwMCwgNzk1MDAwMDAs IDEsIDc5LCAyLCAxLCAxLCAzLCAwLCAzLCA0LCAwLCAweDdmZmZmZiB9LAo+ICsJeyA4MzUwMDAw MCwgODM1MDAwMDAsIDIsIDE2NywgMiwgMSwgMSwgMSwgMCwgMCwgNiwgMCwgMCB9LAo+ICsJeyA4 MzUwMDAwMCwgMTA0Mzc1MDAwLCAxLCAxMDQsIDIsIDEsIDEsIDEsIDEsIDAsIDUsIDAsIDB4NjAw MDAwIH0sCj4gKwl7IDg1NTAwMDAwLCA4NTUwMDAwMCwgMSwgODUsIDIsIDEsIDEsIDMsIDAsIDMs IDQsIDAsIDB4N2ZmZmZmIH0sCj4gKwl7IDg1NzUwMDAwLCA4NTc1MDAwMCwgMSwgODUsIDIsIDEs IDEsIDMsIDAsIDMsIDQsIDAsIDB4Y2ZmZmZmIH0sCj4gKwl7IDg1ODAwMDAwLCA4NTgwMDAwMCwg MSwgODUsIDIsIDEsIDEsIDMsIDAsIDMsIDQsIDAsIDB4Y2NjY2NjIH0sCj4gKwl7IDg4NzUwMDAw LCA4ODc1MDAwMCwgMSwgODgsIDIsIDEsIDEsIDMsIDAsIDMsIDQsIDAsIDB4Y2ZmZmZmIH0sCj4g Kwl7IDg5OTEwMDAwLCA4OTkxMDAwMCwgMSwgODksIDIsIDEsIDEsIDMsIDAsIDMsIDQsIDAsIDB4 ZThmNWMxIH0sCj4gKwl7IDkwMDAwMDAwLCA5MDAwMDAwMCwgMSwgOTAsIDIsIDEsIDEsIDMsIDAs IDMsIDQsIDAsIDAgfSwKPiArCXsgMTAxMDAwMDAwLCAxMDEwMDAwMDAsIDEsIDEwMSwgMiwgMSwg MSwgMywgMCwgMywgNCwgMCwgMCB9LAo+ICsJeyAxMDIyNTAwMDAsIDEwMjI1MDAwMCwgMSwgMTAy LCAyLCAxLCAxLCAzLCAwLCAzLCA0LCAwLCAweDNmZmZmZiB9LAo+ICsJeyAxMDY1MDAwMDAsIDEw NjUwMDAwMCwgMSwgMTA2LCAyLCAxLCAxLCAzLCAwLCAzLCA0LCAwLCAweDdmZmZmZiB9LAo+ICsJ eyAxMDgwMDAwMDAsIDEwODAwMDAwMCwgMSwgOTAsIDMsIDAsIDAsIDUsIDAsIDIsIDIsIDAsIDAg fSwKPiArCXsgMTE5MDAwMDAwLCAxMTkwMDAwMDAsIDEsIDExOSwgMiwgMSwgMSwgMywgMCwgMywg NCwgMCwgMCB9LAo+ICsJeyAxMzE0ODEwMDAsIDEzMTQ4MTAwMCwgMSwgMTMxLCAyLCAxLCAxLCAz LCAwLCAzLCA0LCAwLCAweDdiMjJkMSB9LAo+ICsJeyAxMzUwMDAwMDAsIDEzNTAwMDAwMCwgMSwg MTM1LCAyLCAxLCAxLCAzLCAwLCAzLCA0LCAwLCAwIH0sCj4gKwl7IDEzNjc1MDAwMCwgMTM2NzUw MDAwLCAxLCAxMzYsIDIsIDEsIDEsIDMsIDAsIDMsIDQsIDAsIDB4Y2ZmZmZmIH0sCj4gKwl7IDE0 NzE4MDAwMCwgMTQ3MTgwMDAwLCAxLCAxNDcsIDIsIDEsIDEsIDMsIDAsIDMsIDQsIDAsIDB4MmUx NDdhIH0sCj4gKwl7IDE0ODM1MjAwMCwgMTQ4MzUyMDAwLCAxLCA5OCwgMSwgMSwgMSwgMSwgMiwg MiwgMiwgMCwgMHhlNmFlNmIgfSwKPiArCXsgMTQ4NTAwMDAwLCAxNDg1MDAwMDAsIDEsIDk5LCAx LCAxLCAxLCAxLCAyLCAyLCAyLCAwLCAwIH0sCj4gKwl7IDE1NDAwMDAwMCwgMTU0MDAwMDAwLCAx LCAxNTQsIDIsIDEsIDEsIDMsIDAsIDMsIDQsIDAsIDAgfSwKPiArCXsgMTU2MDAwMDAwLCAxNTYw MDAwMDAsIDEsIDE1NiwgMiwgMSwgMSwgMywgMCwgMywgNCwgMCwgMCB9LAo+ICsJeyAxNTcwMDAw MDAsIDE1NzAwMDAwMCwgMSwgMTU3LCAyLCAxLCAxLCAzLCAwLCAzLCA0LCAwLCAwIH0sCj4gKwl7 IDE2MjAwMDAwMCwgMTYyMDAwMDAwLCAxLCAxNjIsIDIsIDEsIDEsIDMsIDAsIDMsIDQsIDAsIDAg fSwKPiArCXsgMTc0MjUwMDAwLCAxNzQyNTAwMDAsIDEsIDE0NSwgMywgMCwgMCwgNSwgMCwgMiwg MiwgMCwgMHgzNTU1NTUgfSwKPiArCXsgMTc0NTAwMDAwLCAxNzQ1MDAwMDAsIDEsIDE3NCwgMiwg MSwgMSwgMywgMCwgMywgNCwgMCwgMHg3ZmZmZmYgfSwKPiArCXsgMTc0NTcwMDAwLCAxNzQ1NzAw MDAsIDEsIDE3NCwgMiwgMSwgMSwgMywgMCwgMywgNCwgMCwgMHg5MWViODQgfSwKPiArCXsgMTc1 NTAwMDAwLCAxNzU1MDAwMDAsIDEsIDE3NSwgMiwgMSwgMSwgMywgMCwgMywgNCwgMCwgMHg3ZmZm ZmYgfSwKPiArCXsgMTg1NTkwMDAwLCAxODU1OTAwMDAsIDEsIDE4NSwgMiwgMSwgMSwgMywgMCwg MywgNCwgMCwgMHg5NzBhM2MgfSwKPiArCXsgMTg3MDAwMDAwLCAxODcwMDAwMDAsIDEsIDE4Nywg MiwgMSwgMSwgMywgMCwgMywgNCwgMCwgMCB9LAo+ICsJeyAyMDEwMDAwMDAsIDIwMTAwMDAwMCwg MSwgMTM0LCAxLCAxLCAxLCAxLCAyLCAyLCAyLCAwLCAwIH0sCj4gKwl7IDIzNTY5MDAwMCwgMjM1 NjkwMDAwLCAxLCAyMzUsIDIsIDEsIDEsIDMsIDAsIDMsIDQsIDAsIDB4YjBhM2Q2IH0sCj4gKwl7 IDI0MTUwMDAwMCwgMjQxNTAwMDAwLCAxLCAxNjEsIDEsIDEsIDEsIDQsIDAsIDIsIDIsIDAsIDAg fSwKPiArCXsgMjQxNzAwMDAwLCAyNDE3MDAwMDAsIDEsIDI0MSwgMiwgMSwgMSwgMywgMCwgMywg NCwgMCwgMHhiMzMzMzIgfSwKPiArCXsgMjYyNzUwMDAwLCAyNjI3NTAwMDAsIDEsIDI2MiwgMiwg MSwgMSwgMywgMCwgMywgNCwgMCwgMHhjZmZmZmYgfSwKPiArCXsgMjk2NTAwMDAwLCAyOTY1MDAw MDAsIDEsIDI5NiwgMiwgMSwgMSwgMywgMCwgMywgNCwgMCwgMHg3ZmZmZmYgfSwKPiArCXsgMjk2 NzAzMDAwLCAyOTY3MDMwMDAsIDEsIDk4LCAwLCAxLCAxLCAxLCAwLCAyLCAyLCAwLCAweGU2YWU2 YiB9LAo+ICsJeyAyOTcwMDAwMDAsIDI5NzAwMDAwMCwgMSwgOTksIDAsIDEsIDEsIDEsIDAsIDIs IDIsIDAsIDAgfSwKPiArCXsgNTk0MDAwMDAwLCA1OTQwMDAwMDAsIDEsIDk5LCAwLCAyLCAwLCAx LCAwLCAxLCAxLCAwLCAwIH0sCj4gKwl7IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAs IDAsIDAgfSwKPiArfTsKCltTZXZlcml0eTogSGlnaF0KQXJlIHRoZSBmcmFjdGlvbmFsIGRpdmlk ZXJzIGluIHByZV9wbGxfY2ZnX3RhYmxlW10gYWNjdXJhdGUgZm9yIDI1MTc1MDAwLAoyNTIwMDAw MCwgYW5kIHRoZSBzaXggKjc1MDAwMCBIeiBlbnRyaWVzICgzMzc1MDAwMCwgNzg3NTAwMDAsIDg1 NzUwMDAwLAo4ODc1MDAwMCwgMTM2NzUwMDAwLCBhbmQgMjYyNzUwMDAwKT8KCldpdGggYSAyNCBN SHogcmVmZXJlbmNlIG9zY2lsbGF0b3IgYW5kIGRpdiA9IDk2LCAyNTE3NTAwMCBIeiAoZnJhY2Rp dgoweGY1NTU1NSkgYW5kIDI1MjAwMDAwIEh6IChmcmFjZGl2IDApIHJlY2FsY3VsYXRlIHZpYQpp bm5vX2hkbWlfcGh5X3ByZV9wbGxfcmVjYWxjX3JhdGUoKSB0byAyNTI0MDAwMCBIeiBhbmQgMjUw MDAwMDAgSHogaW5zdGVhZApvZiB1c2luZyBmcmFjZGl2IDB4YjMzMzMzICgxMDAuNykgYW5kIDB4 Y2NjY2NjICgxMDAuOCkuICBUaGUgc2l4ICo3NTAwMDAgSHoKZW50cmllcyBoYXZlIGRpdiA9IDI0 IGFuZCB1c2UgZnJhY2RpdiAweGNmZmZmZiAoMC44MTI1KSBpbnN0ZWFkIG9mCjB4YzAwMDAwICgw Ljc1KSwgcmVjYWxjdWxhdGluZyB0byAqODEzMDAwIEh6LgoKV2hlbmV2ZXIgc3RhcmZpdmVfaGRt aV9waHlfY2xrX3JlY2FsY19yYXRlKCkgcnVucyB3aGlsZSB0aGUgY2xvY2sgaXMKcHJlcGFyZWQs IGl0IHVwZGF0ZXMgaW5uby0+cGl4Y2xvY2sgYW5kIHRoZSBjbG9jayBjb3JlJ3MgY2FjaGVkIHJh dGUgdG8KdGhvc2UgcmVjYWxjdWxhdGVkIHZhbHVlcywgd2hpY2ggZG8gbm90IGV4aXN0IGluIHBy ZV9wbGxfY2ZnX3RhYmxlW10uCnN0YXJmaXZlX2hkbWlfcGh5X3Bvd2VyX29uKCkgdGhlbiBwYXNz ZXMgY2xrX2dldF9yYXRlKGlubm8tPnBoeWNsaykgdG8KaW5ub19oZG1pX3BoeV9wcmVfcGxsX2xv b2t1cCgpLCB3aGljaCByZXF1aXJlcyBhbiBleGFjdCBtYXRjaCBhbmQgZmFpbHMKd2l0aCAtRUlO VkFMLgoKWyAuLi4gXQoKPiArc3RhdGljIGlubGluZSB2b2lkIGlubm9fd3JpdGUoc3RydWN0IHN0 YXJmaXZlX2hkbWlfcGh5ICppbm5vLCB1MzIgcmVnLCB1OCB2YWwpCj4gK3sKPiArCXJlZ21hcF93 cml0ZShpbm5vLT5yZWdtYXAsIHJlZyAqIDQsIHZhbCk7Cj4gK30KPiArCj4gK3N0YXRpYyBpbmxp bmUgdTggaW5ub19yZWFkKHN0cnVjdCBzdGFyZml2ZV9oZG1pX3BoeSAqaW5ubywgdTMyIHJlZykK PiArewo+ICsJdTMyIHZhbDsKPiArCj4gKwlyZWdtYXBfcmVhZChpbm5vLT5yZWdtYXAsIHJlZyAq IDQsICZ2YWwpOwo+ICsJcmV0dXJuIHZhbDsKPiArfQoKW1NldmVyaXR5OiBMb3ddCmlubm9fcmVh ZCgpIGlzIHVudXNlZCAoYW5kIHdvdWxkIHJldHVybiBhbiB1bmluaXRpYWxpemVkIHN0YWNrIHZh bHVlIGlmCnJlZ21hcF9yZWFkKCkgZmFpbGVkKS4gIEluIGFkZGl0aW9uLCBTVEZfSU5OT19QT1NU X1BMTF9QT1NUX0RJVl9FTkFCTEUsClNURl9JTk5PX1BPU1RfUExMX1JFRkNMS19TRUxfVE1EUywg U1RGX0lOTk9fUE9TVF9QTExfRkJfRElWXzgsClNURl9JTk5PX1BPU1RfUExMX0ZCX0RJVl83XzAs IFNURl9JTk5PX1BPU1RfUExMX1BPU1RfRElWX01BU0ssIGFuZApTVEZfSU5OT19UTURTX0RSSVZF Ul9FTkFCTEUgYXJlIGRlZmluZWQgYWJvdmUgYnV0IHVudXNlZCB3aGlsZQpzdGFyZml2ZV9oZG1p X3BoeV9wb3dlcl9vbigpIG9wZW4tY29kZXMgcmF3IGhleCBjb25zdGFudHMuCgpbIC4uLiBdCgo+ ICtzdGF0aWMgaW50IHN0YXJmaXZlX2hkbWlfcGh5X2Nsa19wcmVwYXJlKHN0cnVjdCBjbGtfaHcg Kmh3KQo+ICt7Cj4gKwlzdHJ1Y3Qgc3RhcmZpdmVfaGRtaV9waHkgKmlubm8gPSB0b19zdGFyZml2 ZV9oZG1pX3BoeShodyk7Cj4gKwlpbnQgcmV0Owo+ICsKPiArCWlubm9faGRtaV9waHlfcHJlX3Bs bF9wb3dlcl9kb3duKCZpbm5vLT5wcmVfcGxsLCBmYWxzZSk7Cj4gKwo+ICsJaWYgKGlubm9faGRt aV9waHlfcHJlX3BsbF9pc19sb2NrZWQoJmlubm8tPnByZV9wbGwpKQo+ICsJCXJldHVybiAwOwo+ ICsKPiArCXJldCA9IGlubm9faGRtaV9waHlfcHJlX3BsbF93YWl0X2xvY2tlZCgmaW5uby0+cHJl X3BsbCwgMTAwMDAwKTsKPiArCWlmIChyZXQpIHsKPiArCQlkZXZfZXJyKGlubm8tPmRldiwgIlRp bWVvdXQgd2FpdGluZyBmb3IgcHJlLVBMTCBsb2NrXG4iKTsKPiArCQlpbm5vX2hkbWlfcGh5X3By ZV9wbGxfcG93ZXJfZG93bigmaW5uby0+cHJlX3BsbCwgdHJ1ZSk7Cj4gKwkJcmV0dXJuIHJldDsK PiArCX0KPiArCj4gKwlyZXR1cm4gMDsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgc3RhcmZpdmVf aGRtaV9waHlfY2xrX3VucHJlcGFyZShzdHJ1Y3QgY2xrX2h3ICpodykKPiArewo+ICsJc3RydWN0 IHN0YXJmaXZlX2hkbWlfcGh5ICppbm5vID0gdG9fc3RhcmZpdmVfaGRtaV9waHkoaHcpOwo+ICsK PiArCWlubm9faGRtaV9waHlfcHJlX3BsbF9wb3dlcl9kb3duKCZpbm5vLT5wcmVfcGxsLCB0cnVl KTsKPiArCWlubm8tPnBpeGNsb2NrID0gMDsgLyogSW52YWxpZGF0ZSBjYWNoZWQgcmF0ZSAqLwo+ ICt9Cj4gKwo+ICtzdGF0aWMgdW5zaWduZWQgbG9uZyBzdGFyZml2ZV9oZG1pX3BoeV9jbGtfcmVj YWxjX3JhdGUoc3RydWN0IGNsa19odyAqaHcsCj4gKwkJCQkJCSAgICAgICB1bnNpZ25lZCBsb25n IHBhcmVudF9yYXRlKQo+ICt7Cj4gKwlzdHJ1Y3Qgc3RhcmZpdmVfaGRtaV9waHkgKmlubm8gPSB0 b19zdGFyZml2ZV9oZG1pX3BoeShodyk7Cj4gKwo+ICsJLyoKPiArCSAqIFJlYWRpbmcgdGhlIFBM TCBiYWNrIHJlcXVpcmVzIHRoZSBIRE1JIGNvbnRyb2xsZXIncyBzeXN0ZW0gY2xvY2ssCj4gKwkg KiB3aGljaCB0aGUgc2libGluZyBjb250cm9sbGVyIGRyaXZlciBob2xkcyBhbmQgdGhpcyBkcml2 ZXIgY2Fubm90Cj4gKwkgKiByZXF1ZXN0IHdpdGhvdXQgY3JlYXRpbmcgYSBwcm9iZSBjeWNsZSB3 aXRoIHZvdXRjcmcuIFRoZSBjbG9jawo+ICsJICogZnJhbWV3b3JrIHdhbGtzIGV2ZXJ5IHJlZ2lz dGVyZWQgY2xvY2sgcmVnYXJkbGVzcyBvZiB3aGljaCBkcml2ZXJzCj4gKwkgKiBoYXZlIGJvdW5k LCBzbyBmYWxsIGJhY2sgdG8gdGhlIGNhY2hlZCByYXRlIHdoZW5ldmVyIHRoaXMgY2xvY2sgaXMK PiArCSAqIG5vdCBwcmVwYXJlZDsgYW4gdW5jbG9ja2VkIGFjY2VzcyB0byB0aGUgc2hhcmVkIHJl Z2lzdGVyIHdpbmRvdwo+ICsJICogd2VkZ2VzIHRoZSBidXMgaGFyZCBlbm91Z2ggdGhhdCB0aGUg Q1BVIHN0b3BzIHRha2luZyBOTUlzLgo+ICsJICovCj4gKwlpZiAoIWNsa19od19pc19wcmVwYXJl ZChodykpCj4gKwkJcmV0dXJuIGlubm8tPnBpeGNsb2NrOwo+ICsKPiArCWlubm8tPnBpeGNsb2Nr ID0gaW5ub19oZG1pX3BoeV9wcmVfcGxsX3JlY2FsY19yYXRlKCZpbm5vLT5wcmVfcGxsLAo+ICsJ CQkJCQkJICAgcGFyZW50X3JhdGUpOwo+ICsKPiArCXJldHVybiBpbm5vLT5waXhjbG9jazsKPiAr fQo+ICsKPiArc3RhdGljIGludCBzdGFyZml2ZV9oZG1pX3BoeV9jbGtfZGV0ZXJtaW5lX3JhdGUo c3RydWN0IGNsa19odyAqaHcsCj4gKwkJCQkJCXN0cnVjdCBjbGtfcmF0ZV9yZXF1ZXN0ICpyZXEp Cj4gK3sKPiArCXN0cnVjdCBzdGFyZml2ZV9oZG1pX3BoeSAqaW5ubyA9IHRvX3N0YXJmaXZlX2hk bWlfcGh5KGh3KTsKPiArCj4gKwlyZXR1cm4gaW5ub19oZG1pX3BoeV9wcmVfcGxsX2RldGVybWlu ZV9yYXRlKCZpbm5vLT5wcmVfcGxsLCByZXEpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50IHN0YXJm aXZlX2hkbWlfcGh5X2Nsa19zZXRfcmF0ZShzdHJ1Y3QgY2xrX2h3ICpodywgdW5zaWduZWQgbG9u ZyByYXRlLAo+ICsJCQkJCSAgdW5zaWduZWQgbG9uZyBwYXJlbnRfcmF0ZSkKPiArewo+ICsJc3Ry dWN0IHN0YXJmaXZlX2hkbWlfcGh5ICppbm5vID0gdG9fc3RhcmZpdmVfaGRtaV9waHkoaHcpOwo+ ICsJY29uc3Qgc3RydWN0IGlubm9faGRtaV9waHlfcHJlX3BsbF9jb25maWcgKmNmZzsKPiArCj4g KwkvKgo+ICsJICogVGhlIEpINzExMCBvbmx5IGRyaXZlcyA4YnBjLCBzbyB0aGUgVE1EUyBjbG9j ayBhbHdheXMgbWF0Y2hlcyB0aGUKPiArCSAqIHBpeGVsIGNsb2NrLgo+ICsJICovCj4gKwljZmcg PSBpbm5vX2hkbWlfcGh5X3ByZV9wbGxfbG9va3VwKCZpbm5vLT5wcmVfcGxsLCByYXRlLCByYXRl KTsKPiArCWlmIChJU19FUlIoY2ZnKSkKPiArCQlyZXR1cm4gUFRSX0VSUihjZmcpOwo+ICsKPiAr CWRldl9kYmcoaW5uby0+ZGV2LCAiJXMgcmF0ZSAlbHUgdG1kc2NsayAlbHVcbiIsCj4gKwkJX19m dW5jX18sIHJhdGUsIGNmZy0+dG1kc2Nsb2NrKTsKPiArCj4gKwlpZiAoaW5uby0+cGl4Y2xvY2sg PT0gcmF0ZSAmJiBpbm5vLT50bWRzY2xvY2sgPT0gY2ZnLT50bWRzY2xvY2spCj4gKwkJcmV0dXJu IDA7Cj4gKwo+ICsJaW5ub191cGRhdGVfYml0cyhpbm5vLCBTVEZfSU5OT19CSUFTX0NPTlRST0ws Cj4gKwkJCSBTVEZfSU5OT19CSUFTX0VOQUJMRSwgU1RGX0lOTk9fQklBU19FTkFCTEUpOwo+ICsJ aW5ub193cml0ZShpbm5vLCBTVEZfSU5OT19SWF9DT05UUk9MLCBTVEZfSU5OT19SWF9FTkFCTEUp Owo+ICsKPiArCWlubm9faGRtaV9waHlfcHJlX3BsbF9wb3dlcl9kb3duKCZpbm5vLT5wcmVfcGxs LCB0cnVlKTsKPiArCWlubm9faGRtaV9waHlfcHJlX3BsbF9jb25maWd1cmUoJmlubm8tPnByZV9w bGwsIGNmZyk7Cj4gKwlpbm5vX2hkbWlfcGh5X3ByZV9wbGxfcG93ZXJfZG93bigmaW5uby0+cHJl X3BsbCwgZmFsc2UpOwo+ICsKPiArCWlubm8tPnBpeGNsb2NrID0gcmF0ZTsKPiArCWlubm8tPnRt ZHNjbG9jayA9IGNmZy0+dG1kc2Nsb2NrOwo+ICsKPiArCXJldHVybiAwOwo+ICt9CgpbU2V2ZXJp dHk6IE1lZGl1bV0KU2hvdWxkIHN0YXJmaXZlX2hkbWlfcGh5X2Nsa19zZXRfcmF0ZSgpIHdhaXQg Zm9yIHRoZSBQcmUtUExMIHRvIGxvY2sgd2hlbgp0aGUgY2xvY2sgaXMgcHJlcGFyZWQsIGFuZCBh dm9pZCBwb3dlcmluZyBpdCB1cCB3aGVuIHRoZSBjbG9jayBpcwp1bnByZXBhcmVkPwoKV2hlbiBj bGtfc2V0X3JhdGUoKSBpcyBjYWxsZWQgd2hpbGUgaGRtaV9wY2xrIGlzIGFscmVhZHkgcHJlcGFy ZWQsCnN0YXJmaXZlX2hkbWlfcGh5X2Nsa19zZXRfcmF0ZSgpIHBvd2VycyB0aGUgUHJlLVBMTCBk b3duIGFuZCBiYWNrIHVwCndpdGhvdXQgY2FsbGluZyBpbm5vX2hkbWlfcGh5X3ByZV9wbGxfd2Fp dF9sb2NrZWQoKSwgc28Kc3RhcmZpdmVfaGRtaV9waHlfcG93ZXJfb24oKSBjYW4gZW5hYmxlIHRo ZSBQb3N0LVBMTCBhZ2FpbnN0IGFuIHVubG9ja2VkClByZS1QTEwgcmVmZXJlbmNlIGNsb2NrLiAg Q29udmVyc2VseSwgd2hlbiBjbGtfc2V0X3JhdGUoKSBpcyBjYWxsZWQgd2hpbGUKaGRtaV9wY2xr IGlzIHVucHJlcGFyZWQsIHRoaXMgcG93ZXJzIG9uIFNURl9JTk5PX0JJQVNfRU5BQkxFLApTVEZf SU5OT19SWF9FTkFCTEUsIGFuZCB0aGUgUHJlLVBMTCBiZWZvcmUgY2xrX3ByZXBhcmUoKSBpcyBj YWxsZWQuCgo+ICsKPiArc3RhdGljIGNvbnN0IHN0cnVjdCBjbGtfb3BzIHN0YXJmaXZlX2hkbWlf cGh5X2Nsa19vcHMgPSB7Cj4gKwkucHJlcGFyZSA9IHN0YXJmaXZlX2hkbWlfcGh5X2Nsa19wcmVw YXJlLAo+ICsJLnVucHJlcGFyZSA9IHN0YXJmaXZlX2hkbWlfcGh5X2Nsa191bnByZXBhcmUsCj4g KwkucmVjYWxjX3JhdGUgPSBzdGFyZml2ZV9oZG1pX3BoeV9jbGtfcmVjYWxjX3JhdGUsCj4gKwku ZGV0ZXJtaW5lX3JhdGUgPSBzdGFyZml2ZV9oZG1pX3BoeV9jbGtfZGV0ZXJtaW5lX3JhdGUsCj4g Kwkuc2V0X3JhdGUgPSBzdGFyZml2ZV9oZG1pX3BoeV9jbGtfc2V0X3JhdGUsCj4gK307Cj4gKwo+ ICtzdGF0aWMgdm9pZCBzdGFyZml2ZV9oZG1pX3BoeV9wb3dlcl9kb3duKHN0cnVjdCBzdGFyZml2 ZV9oZG1pX3BoeSAqaW5ubykKPiArewo+ICsJaW5ub193cml0ZShpbm5vLCBTVEZfSU5OT19UTURT X0NPTlRST0wsIDB4MDApOwo+ICsJaW5ub193cml0ZShpbm5vLCBTVEZfSU5OT19TRVJJQUxJRVJf Q09OVFJPTCwgMHgwMCk7Cj4gKwlpbm5vX3dyaXRlKGlubm8sIFNURl9JTk5PX0xET19DT05UUk9M LCAweDAwKTsKPiArCWlubm9fdXBkYXRlX2JpdHMoaW5ubywgU1RGX0lOTk9fQklBU19DT05UUk9M LAo+ICsJCQkgU1RGX0lOTk9fQklBU19FTkFCTEUsIDB4MDApOwo+ICsJaW5ub193cml0ZShpbm5v LCBTVEZfSU5OT19SWF9DT05UUk9MLCAweDAwKTsKPiArCj4gKwkvKiBQb3dlciBkb3duIFBvc3Qt UExMICovCj4gKwlpbm5vX3VwZGF0ZV9iaXRzKGlubm8sIFNURl9JTk5PX1BPU1RfUExMX0RJVl8x LAo+ICsJCQkgU1RGX0lOTk9fUE9TVF9QTExfUE9XRVJfRE9XTiwKPiArCQkJIFNURl9JTk5PX1BP U1RfUExMX1BPV0VSX0RPV04pOwo+ICsKPiArCWlubm8tPnRtZHNjbG9jayA9IDA7Cj4gKwlpbm5v LT5waXhjbG9jayA9IDA7Cj4gK30KCltTZXZlcml0eTogSGlnaF0KRG9lcyBjbGVhcmluZyBpbm5v LT5waXhjbG9jaywgU1RGX0lOTk9fQklBU19FTkFCTEUsIGFuZCBTVEZfSU5OT19SWF9DT05UUk9M CmFjcm9zcyBkaXNhYmxlL3VucHJlcGFyZSBicmVhayByZS1lbmFibGluZyB0aGUgZGlzcGxheSBh dCB0aGUgc2FtZSBwaXhlbApjbG9jayByYXRlPwoKV2hlbiB0aGUgZGlzcGxheSBpcyBkaXNhYmxl ZCwgc3RhcmZpdmVfaGRtaV9waHlfcG93ZXJfZG93bigpIGNsZWFycwpTVEZfSU5OT19CSUFTX0VO QUJMRSBhbmQgU1RGX0lOTk9fUlhfQ09OVFJPTCBhbmQgemVyb2VzIGlubm8tPnBpeGNsb2NrIGFu ZAppbm5vLT50bWRzY2xvY2sgKHVuZGVyIHBoeS0+bXV0ZXggcmF0aGVyIHRoYW4gdGhlIGNsb2Nr IGNvcmUncwpwcmVwYXJlX2xvY2spLCBhbmQgc3RhcmZpdmVfaGRtaV9waHlfY2xrX3VucHJlcGFy ZSgpIGFsc28gemVyb2VzCmlubm8tPnBpeGNsb2NrLiAgSG93ZXZlciwgY2xrX2NvcmVfdW5wcmVw YXJlKCkgZG9lcyBub3QgY2xlYXIgdGhlIGNsb2NrCmNvcmUncyBjYWNoZWQgY29yZS0+cmF0ZS4K Ck9uIGEgc3Vic2VxdWVudCByZS1lbmFibGUgYXQgdGhlIHNhbWUgcmF0ZSwgY2xrX2NvcmVfc2V0 X3JhdGVfbm9sb2NrKCkgc2VlcwpyYXRlID09IGNvcmUtPnJhdGUgYW5kIHJldHVybnMgZWFybHkg d2l0aG91dCBjYWxsaW5nCnN0YXJmaXZlX2hkbWlfcGh5X2Nsa19zZXRfcmF0ZSgpLCBzbyBzdGFy Zml2ZV9oZG1pX3BoeV9jbGtfcHJlcGFyZSgpIHRyaWVzCnRvIHBvd2VyIHVwIGFuZCBsb2NrIHRo ZSBQcmUtUExMIHdoaWxlIFNURl9JTk5PX0JJQVNfRU5BQkxFIGFuZApTVEZfSU5OT19SWF9FTkFC TEUgYXJlIHN0aWxsIGRpc2FibGVkLiAgQ29udmVyc2VseSwgaWYKc3RhcmZpdmVfaGRtaV9waHlf Y2xrX3JlY2FsY19yYXRlKCkgaXMgY2FsbGVkIHdoaWxlIGhkbWlfcGNsayBpcyB1bnByZXBhcmVk Cihmb3IgZXhhbXBsZSB2aWEgY2xrX3N1bW1hcnkpLCBpdCByZXR1cm5zIGlubm8tPnBpeGNsb2Nr ICgwKSBhbmQgb3ZlcndyaXRlcwpjb3JlLT5yYXRlIHdpdGggMCwgY2F1c2luZyBjbGtfZ2V0X3Jh dGUoaW5uby0+cGh5Y2xrKSBpbgpzdGFyZml2ZV9oZG1pX3BoeV9wb3dlcl9vbigpIHRvIHJldHVy biAwIGFuZCBmYWlsIHdpdGggLUVJTlZBTCB3aGVuCnJlLWVuYWJsaW5nIHdpdGhvdXQgYSBtb2Rl IGNoYW5nZS4KClsgLi4uIF0KCj4gKwlpbm5vX3dyaXRlKGlubm8sIFNURl9JTk5PX1BPU1RfUExM X0RJVl8yLAo+ICsJCSAgIFNURl9JTk5PX1BPU1RfUExMX1BSRV9ESVYoY2ZnLT5wcmVkaXYpKTsK PiArCWlubm9fd3JpdGUoaW5ubywgU1RGX0lOTk9fUE9TVF9QTExfRElWXzMsIGNmZy0+ZmJkaXYg JiAweGZmKTsKPiArCWlubm9fd3JpdGUoaW5ubywgU1RGX0lOTk9fUE9TVF9QTExfRElWXzQsIHJl Z18xYWRfdmFsdWUpOwo+ICsKPiArCS8qIFBvd2VyIHVwIFBvc3QtUExMICovCj4gKwlpbm5vX3dy aXRlKGlubm8sIFNURl9JTk5PX1BPU1RfUExMX0RJVl8xLCByZWdfMWFhX3ZhbHVlKTsKCltTZXZl cml0eTogTG93XQpTaG91bGQgc3RhcmZpdmVfaGRtaV9waHlfcG93ZXJfb24oKSBhc3NlcnQgU1RG X0lOTk9fUE9TVF9QTExfUE9XRVJfRE9XTiBpbgpTVEZfSU5OT19QT1NUX1BMTF9ESVZfMSBiZWZv cmUgd3JpdGluZyB0aGUgUG9zdC1QTEwgZGl2aWRlciByZWdpc3RlcnM/ICBJZgp0aGUgYm9vdGxv YWRlciBsZWZ0IHRoZSBQSFkgcG93ZXJlZCBvbiBhdCBib290LCB0aGlzIHVwZGF0ZXMgdGhlIGRp dmlkZXJzCndoaWxlIHRoZSBQb3N0LVBMTCBpcyBydW5uaW5nLCB1bmxpa2Ugc3RhcmZpdmVfaGRt aV9waHlfY2xrX3NldF9yYXRlKCkgYW5kCmlubm9faGRtaV9waHlfcmszMzI4X3Bvd2VyX29uKCku CgpbIC4uLiBdCgo+ICsJLyogV2UgbXVzdCBwcmVwYXJlL2VuYWJsZSByZWZvY2xrIGhlcmUgc28g LnNldF9yYXRlLy5yZWNhbGNfcmF0ZSB3b3JrICovCj4gKwlyZXQgPSBjbGtfcHJlcGFyZV9lbmFi bGUoaW5uby0+cmVmb2Nsayk7Cj4gKwlpZiAocmV0KSB7Cj4gKwkJZGV2X2VycihkZXYsICJGYWls ZWQgdG8gZW5hYmxlIHJlZm9jbGs6ICVkXG4iLCByZXQpOwo+ICsJCXJldHVybiByZXQ7Cj4gKwl9 CgpbIC4uLiBdCgo+ICtzdGF0aWMgdm9pZCBzdGFyZml2ZV9oZG1pX3BoeV9yZW1vdmUoc3RydWN0 IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiArewo+ICsJc3RydWN0IHN0YXJmaXZlX2hkbWlfcGh5 ICppbm5vID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7Cj4gKwo+ICsJb2ZfY2xrX2RlbF9w cm92aWRlcihwZGV2LT5kZXYub2Zfbm9kZSk7Cj4gKwljbGtfZGlzYWJsZV91bnByZXBhcmUoaW5u by0+cmVmb2Nsayk7Cj4gK30KCltTZXZlcml0eTogTG93XQpEb2VzIHN0YXJmaXZlX2hkbWlfcGh5 X3JlbW92ZSgpIGRpc2FibGUgaW5uby0+cmVmb2NsayBiZWZvcmUgZGV2cmVzCnVucmVnaXN0ZXJz IHRoZSBQSFkgcHJvdmlkZXIsIFBIWSwgYW5kIGNsb2NrIHJlZ2lzdGVyZWQgd2l0aApkZXZtX29m X3BoeV9wcm92aWRlcl9yZWdpc3RlcigpLCBkZXZtX3BoeV9jcmVhdGUoKSwgYW5kCmRldm1fY2xr X3JlZ2lzdGVyKCk/ICBVc2luZyBkZXZtX2Nsa19nZXRfZW5hYmxlZCgpIChvcgpkZXZtX2FkZF9h Y3Rpb25fb3JfcmVzZXQoKSkgZm9yIHJlZm9jbGsgd291bGQga2VlcCB0ZWFyZG93biBpbiByZXZl cnNlCnByb2JlIG9yZGVyLgoKLS0gClNhc2hpa28gQUkgcmV2aWV3IMK3IGh0dHBzOi8vc2FzaGlr by5kZXYvIy9wYXRjaHNldC8yMDI2MTEwNi1qaDcxMTAtaW5uby1oZG1pLXBoeS12Ny0wLWQ0OTM2 ODMwMzgwMEBzYW1zdW5nLmNvbT9wYXJ0PTQKCi0tIApsaW51eC1waHkgbWFpbGluZyBsaXN0Cmxp bnV4LXBoeUBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHBzOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2xpbnV4LXBoeQo=