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 48831C624C6 for ; Mon, 31 Aug 2026 13:38:45 +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:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=HnbS5Npzw/5czsv5xaazv8UVMNKBdWH3JItU7TrVIL4=; b=2upQUKpHmKneNF lK1/VT+UnP2ifJoOh85b7KJwikFXXwJJz00vmIGmQIyPZZRcZCi+qMNnvhAtqodrRAnEHju/gdq6t lkyjW007SQWblP8s8LCgckMYj9yvac0QpfwQ5/9/aPJmXoRYaQhFZjJQ4cRIh0yAI7rW23imOOa88 k45GWBBXa4isaeGe79GqTfhgp9YJe9TGY8A0gIc5zDos8MeYL6w2+7r5wsqz4kli4bMa8Kd5AF/Uh 30ZO3ZLZibLHXQckSjlzRMdBwAjuaOzB20O+SHF1PU0G4ChsmS5Yv41dAvgjl/claXx+XUH4L2Ivu RTgfclWjvnSomHih5vJA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1x12Di-00000009Rq6-3HsS; Mon, 31 Aug 2026 13:38:42 +0000 Received: from tor.source.kernel.org ([2600:3c04:e001:324:0:1991:8:25]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1x12Dh-00000009RpJ-1Kx3; Mon, 31 Aug 2026 13:38:41 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by tor.source.kernel.org (Postfix) with ESMTP id 8C3B360234; Mon, 31 Aug 2026 13:38:40 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id E40FE1F00A3E; Mon, 31 Aug 2026 13:38:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1788183520; bh=xG2t2y2lKLQXDUfdvcxJHobwIOaB1uVKJu1HoXcWyes=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=A4Tk7qT/W9BYLhBZAo4JFJUDq9oD4147ZGoZ7tU3TacdSSo3qs6kTsgLTQXh6Xx9x 41FTjliOOiS4As+vtRtfoELJgaUmMtvhd4/0hQ+Nf2uVT8NE7u7U6R950fqXzvkz9I ZaDlFJrfzqH3RA3S2uvw7NlhqrpKc+0IOypxS2/gxTgCDqmmY49+MzJe6t2E+E3FEG OPbS3/u14fd1eUQQGxMk47f6+rjQ45KuGXzx+LrPFR3ecAZhvIVj9CE7BeSZO5q4CA xKAyWVn3maNB/3CG3qMozpEX46xnucMr3iHb3gqf+pvR84n8z3PDywRzqZXZ+frN3B 5ONnXEit+3mjw== From: Sasha Levin To: patches@lists.linux.dev, stable@vger.kernel.org Cc: Simon Xue , =?UTF-8?q?Sven=20P=C3=BCschel?= , Heiko Stuebner , Joerg Roedel , Sasha Levin , joro@8bytes.org, will@kernel.org, iommu@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH AUTOSEL 6.18-5.10] iommu/rockchip: disable fetch dte time limit Date: Mon, 31 Aug 2026 09:22:53 -0400 Message-ID: <20260831133314.4125787-145-sashal@kernel.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260831133314.4125787-1-sashal@kernel.org> References: <20260831133314.4125787-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore X-stable-base: Linux 6.18.48 X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org RnJvbTogU2ltb24gWHVlIDx4eG1Acm9jay1jaGlwcy5jb20+CgpbIFVwc3RyZWFtIGNvbW1pdCA4 ZDQzNDZlY2Q0OTUwYWUwOGNjNzZhNmRlMzI3YzI2NGU4NDY3NThjIF0KCkRpc2FibGUgdGhlIEJp dCAzMSBvZiB0aGUgQVVUT19HQVRJTkcgaW9tbXUgcmVnaXN0ZXIsIGFzIGl0IGNhdXNlcwpoYW5n dXBzIHdpdGggdGhlIFJHQTMgKFJhc3RlciBHcmFwaGljcyBBY2NlbGVyYXRpb24gMykgcGVyaXBo ZXJhbC4KVGhlIFJHQTMgcmVnaXN0ZXIgZGVzY3JpcHRpb24gb2YgdGhlIFRSTSBhbHJlYWR5IHN0 YXRlcyB0aGF0IHRoZSBiaXQKbXVzdCBiZSBzZXQgdG8gMS4gVGhlIHZlbmRvciBrZXJuZWwgc2V0 cyB0aGUgYml0IHVuY29uZGl0aW9uYWxseSB0bwoxIHRvIGZpeCBWT1AgKFZpZGVvIE91dHB1dCBQ cm9jZXNzb3IpIHNjcmVlbiBibGFjayBpc3N1ZXMuIFRoaXMgcGF0Y2gKc3F1YXNoZXMgdGhlIDIg dmVuZG9yIGtlcm5lbCBjb21taXRzIHdpdGggdGhlIGZvbGxvd2luZyBjb21taXQgbWVzc2FnZXM6 CgpNYXN0ZXIgZmV0Y2ggZGF0YSBhbmQgY3B1IHVwZGF0ZSBwYWdlIHRhYmxlIG1heSB3b3JrIGlu IHBhcmFsbGVsLCBtYXkKaGF2ZSB0aGUgZm9sbG93aW5nIHByb2NlZHVyZToKCgltYXN0ZXIgICAg ICAgICAgICAgICAgICBjcHUKCWZldGNoIGR0ZSAgICAgICAgICAgICAgIHVwZGF0ZSBwYWdlIHRh YmwKCSAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgfAoJKG1ha2UgZHRlIGludmFsaWQp ICA8LSAgemFwIGlvdGxiIGVudHJ5CgkgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgIHwK CWZldGNoIGR0ZSBhZ2FpbgoJKG1ha2UgZHRlIGludmFsaWQpICA8LSAgemFwIGlvdGxiIGVudHJ5 CgkgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgIHwKCWZldGNoIGR0ZSBhZ2FpbgoJKG1h a2UgZHRlIGludmFsaWQpICA8LSAgemFwIGlvdGxiIGVudHJ5CgkgICAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgIHwKCWZldGNoIGR0ZSBhZ2FpbgoJKG1ha2UgaW9tbXUgYmxvY2spICA8LSAg emFwIGlvdGxiIGVudHJ5CgpOZXcgaW9tbXUgdmVyc2lvbiBoYXMgdGhlIGFib3ZlIGJ1ZywgaWYg ZmV0Y2ggZHRlIGNvbnNlY3V0aXZlbHkgZm91cgp0aW1lcywgdGhlbiBpdCB3aWxsIGJlIGJsb2Nr ZWQuIEZvcnR1bmF0ZWx5LCB3ZSBjYW4gc2V0IGJpdCAzMSBvZgpyZWdpc3RlciBNTVVfQVVUT19H QVRJTkcgdG8gMSB0byBtYWtlIGl0IHdvcmsgYXMgb2xkIHZlcnNpb24gd2hpY2ggZG9lcwpub3Qg aGF2ZSB0aGlzIGlzc3VlLgoKVGhpcyBpc3N1ZSBvbmx5IGFwcGVhcnMgb24gUlYxMTI2IHNvIGZh ciwgc28gbWFrZSBhIHdvcmthcm91bmQgZGVkaWNhdGVkCnRvICJyb2NrY2hpcCxydjExMjYiIG1h Y2hpbmUgdHlwZS4KCmlvbW11L3JvY2tjaGlwOiBmaXggdm9wIGJsb2NrZWQgYW5kIHNjcmVlbiBi bGFjayBvbiBSSzM1NlggYW5kIFJLMzU4OAoKUkszNTY4IGFuZCBSSzM1ODggaGFzIHRoZSBzYW1l IGlzc3VlIGFzIFJWMTEyNi9SVjExMDkgdGhhdCBjYXVzZWQgYnkKZHRlIGZldGNoIHRpbWUgbGlt aXQsIFNvIHdlIGNhbiBzZXQgQklUKDMxKSBvZiByZWdpc3RlciAweDI0IGRlZmF1bHQKdG8gMSBh cyBhIHdvcmthcm91bmQuCgpTaWduZWQtb2ZmLWJ5OiBTaW1vbiBYdWUgPHh4bUByb2NrLWNoaXBz LmNvbT4KU2lnbmVkLW9mZi1ieTogU3ZlbiBQw7xzY2hlbCA8cy5wdWVzY2hlbEBwZW5ndXRyb25p eC5kZT4KQWNrZWQtYnk6IEhlaWtvIFN0dWVibmVyIDxoZWlrb0BzbnRlY2guZGU+ClNpZ25lZC1v ZmYtYnk6IEpvZXJnIFJvZWRlbCA8am9lcmcucm9lZGVsQGFtZC5jb20+ClNpZ25lZC1vZmYtYnk6 IFNhc2hhIExldmluIDxzYXNoYWxAa2VybmVsLm9yZz4KLS0tCgpMTE0gR2VuZXJhdGVkIGV4cGxh bmF0aW9ucywgbWF5IGJlIGNvbXBsZXRlbHkgYm9ndXM6CgojIyBQSEFTRSAxOiBDT01NSVQgTUVT U0FHRSBGT1JFTlNJQ1MKCiMjIyBTdGVwIDEuMTogUEFSU0UgVEhFIFNVQkpFQ1QgTElORQoqKlJl Y29yZDoqKiBgW2lvbW11L3JvY2tjaGlwXWAgYFtkaXNhYmxlXWAg4oCUIERpc2FibGUgdGhlIGZl dGNoLURURSB0aW1lLQpsaW1pdCBoYXJkd2FyZSBiZWhhdmlvciBpbiB0aGUgUm9ja2NoaXAgSU9N TVUgQVVUT19HQVRJTkcgcmVnaXN0ZXIKKEJJVCgzMSkpLgoKIyMjIFN0ZXAgMS4yOiBQQVJTRSBB TEwgQ09NTUlUIE1FU1NBR0UgVEFHUwoqKlJlY29yZDoqKgotICoqRml4ZXM6Kiog4oCUIG5vdCBw cmVzZW50IChleHBlY3RlZCBmb3IgbWFudWFsIHJldmlldykKLSAqKlJlcG9ydGVkLWJ5OioqIOKA lCBub25lCi0gKipUZXN0ZWQtYnk6Kiog4oCUIG5vbmUKLSAqKlJldmlld2VkLWJ5OioqIOKAlCBu b25lCi0gKipBY2tlZC1ieToqKiBIZWlrbyBTdHVlYm5lciBgPGhlaWtvQHNudGVjaC5kZT5gIChS b2NrY2hpcCBtYWludGFpbmVyKQotICoqTGluazoqKiDigJQgbm9uZSBpbiBjb21taXQgKHN1Ym1p c3Npb24gdGhyZWFkIHJlZmVyZW5jZXMgdmVuZG9yCiAgY29tbWl0cyBhbmQgUkdBMyBkcml2ZXIg c2VyaWVzKQotICoqQ2M6IHN0YWJsZToqKiDigJQgbm90IHByZXNlbnQgKGV4cGVjdGVkKQotICoq U2lnbmVkLW9mZi1ieToqKiBTaW1vbiBYdWUsIFN2ZW4gUMO8c2NoZWwsIEpvZXJnIFJvZWRlbCAo aWdub3JlCiAgcGlwZWxpbmUtYWRkZWQgU09CcykKLSAqKk5vdGFibGU6KiogQWNrIGZyb20gc3Vi c3lzdGVtIG1haW50YWluZXI7IG5vIHN5emJvdC9mdXp6ZXIKICBpbnZvbHZlbWVudAoKIyMjIFN0 ZXAgMS4zOiBBTkFMWVpFIFRIRSBDT01NSVQgQk9EWSBURVhUCioqUmVjb3JkOioqCi0gKipCdWcg ZGVzY3JpcHRpb246KiogTmV3ZXIgUm9ja2NoaXAgSU9NTVUgaGFyZHdhcmUgaGFzIGEgRFRFLWZl dGNoCiAgdGltZSBsaW1pdC4gV2hlbiBhIG1hc3RlciByZS1mZXRjaGVzIERURSBmb3VyIHRpbWVz IHdoaWxlIHRoZSBDUFUKICBjb25jdXJyZW50bHkgemFwcyBJT1RMQiBlbnRyaWVzIChkdXJpbmcg cGFnZS10YWJsZSB1cGRhdGVzKSwgdGhlIElPTU1VCiAgZW50ZXJzIGEgYmxvY2tlZCBzdGF0ZS4K LSAqKlN5bXB0b20vZmFpbHVyZSBtb2RlOioqIElPTU1VIGhhbmcvYmxvY2sg4oaSIFJHQTMgcGVy aXBoZXJhbCBoYW5ndXBzLAogIFZPUCAoZGlzcGxheSkgYmxvY2tlZCB3aXRoIGJsYWNrIHNjcmVl bi4KLSAqKkFmZmVjdGVkIGhhcmR3YXJlOioqIFJWMTEyNi9SVjExMDksIFJLMzU2OCwgUkszNTg4 IChjb21taXQgbWVzc2FnZQogIGFsc28gbWVudGlvbnMgUkszNTZYIGJyb2FkbHkpLgotICoqUm9v dCBjYXVzZToqKiBCSVQoMzEpIG9mIGBSS19NTVVfQVVUT19HQVRJTkdgIChvZmZzZXQgMHgyNCkg ZGVmYXVsdHMKICB0byAwIG9uIGFmZmVjdGVkIHNpbGljb247IFRSTSBzYXlzIGl0IG11c3QgYmUg MS4gVmVuZG9yIGtlcm5lbCBzZXRzIGl0CiAgdW5jb25kaXRpb25hbGx5LgotICoqVmVyc2lvbiBp bmZvOioqIE5vdCB0aWVkIHRvIGEgc3BlY2lmaWMga2VybmVsIHZlcnNpb247IHRoaXMgaXMgYQog IHNpbGljb24vaGFyZHdhcmUgYmVoYXZpb3IgaXNzdWUuCgojIyMgU3RlcCAxLjQ6IERFVEVDVCBI SURERU4gQlVHIEZJWEVTCioqUmVjb3JkOioqIE5vdCBkaXNndWlzZWQg4oCUIHRoaXMgaXMgYW4g ZXhwbGljaXQgaGFyZHdhcmUgd29ya2Fyb3VuZC4KRGVzcGl0ZSAiZGlzYWJsZSIgd29yZGluZyBp biB0aGUgc3ViamVjdCwgdGhlIGZpeCAqKnNldHMqKiBCSVQoMzEpIHRvCmRpc2FibGUgdGhlIGZh dWx0eSB0aW1lLWxpbWl0IGZlYXR1cmUuIFRoaXMgaXMgYSBjbGFzc2ljIGhhcmR3YXJlCnF1aXJr L3dvcmthcm91bmQsIG5vdCBhIGNvc21ldGljIGNsZWFudXAuCgotLS0KCiMjIFBIQVNFIDI6IERJ RkYgQU5BTFlTSVMKCiMjIyBTdGVwIDIuMTogSU5WRU5UT1JZIFRIRSBDSEFOR0VTCioqUmVjb3Jk OioqCi0gKipGaWxlczoqKiBgZHJpdmVycy9pb21tdS9yb2NrY2hpcC1pb21tdS5jYCAoKzggbGlu ZXMsIDAgcmVtb3ZlZCkKLSAqKkZ1bmN0aW9ucyBtb2RpZmllZDoqKiBgcmtfaW9tbXVfZW5hYmxl KClgIG9ubHkKLSAqKlNjb3BlOioqIFNpbmdsZS1maWxlLCBzdXJnaWNhbCBmaXgKCiMjIyBTdGVw IDIuMjogVU5ERVJTVEFORCBUSEUgQ09ERSBGTE9XIENIQU5HRQoqKlJlY29yZDoqKgotICoqSHVu ayAxIChkZWZpbmUpOioqIEFkZHMgYCNkZWZpbmUgRElTQUJMRV9GRVRDSF9EVEVfVElNRV9MSU1J VAogIEJJVCgzMSlgLgotICoqSHVuayAyIChgcmtfaW9tbXVfZW5hYmxlYCk6KioKICAtICoqQmVm b3JlOioqIEFmdGVyIHdyaXRpbmcgRFRFIGFkZHJlc3MsIFpBUCBjYWNoZSwgYW5kIElSUSBtYXNr LAogICAgcHJvY2VlZHMgZGlyZWN0bHkgdG8gZW5hYmxlIHBhZ2luZy4KICAtICoqQWZ0ZXI6Kiog UmVhZHMgYFJLX01NVV9BVVRPX0dBVElOR2AsIE9ScyBpbiBCSVQoMzEpLCB3cml0ZXMgaXQKICAg IGJhY2sg4oCUIGZvciBlYWNoIE1NVSBpbnN0YW5jZS4KICAtICoqQWZmZWN0ZWQgcGF0aDoqKiBJ T01NVSBlbmFibGUgZHVyaW5nIGRldmljZSBhdHRhY2ggYW5kCiAgICBzeXN0ZW0vcnVudGltZSBy ZXN1bWUuCgojIyMgU3RlcCAyLjM6IElERU5USUZZIFRIRSBCVUcgTUVDSEFOSVNNCioqUmVjb3Jk OioqCi0gKipCdWcgY2F0ZWdvcnk6KiogSGFyZHdhcmUgd29ya2Fyb3VuZCAvIGxvZ2ljIGNvcnJl Y3RuZXNzIGZpeAotICoqTWVjaGFuaXNtOioqIFdpdGhvdXQgQklUKDMxKT0xLCBjb25jdXJyZW50 IERURSBmZXRjaCArIElPVExCIHphcCBjYW4KICB0cmlnZ2VyIGEgc2lsaWNvbiBidWcgYWZ0ZXIg Zm91ciBjb25zZWN1dGl2ZSBEVEUgZmV0Y2hlcywgcGVybWFuZW50bHkKICBibG9ja2luZyB0aGUg SU9NTVUuIFNldHRpbmcgQklUKDMxKSByZXN0b3JlcyBsZWdhY3kgKG5vbi1idWdneSkKICBiZWhh dmlvci4KCiMjIyBTdGVwIDIuNDogQVNTRVNTIFRIRSBGSVggUVVBTElUWQoqKlJlY29yZDoqKgot ICoqUXVhbGl0eToqKiBPYnZpb3VzbHkgY29ycmVjdCDigJQgcmVhZC1tb2RpZnktd3JpdGUgcHJl c2VydmVzIG90aGVyCiAgQVVUT19HQVRJTkcgYml0czsgbWF0Y2hlcyB2ZW5kb3Iga2VybmVsIGFu ZCBUUk0gZ3VpZGFuY2UuCi0gKipSZWdyZXNzaW9uIHJpc2s6KiogVmVyeSBsb3cuIFZlbmRvciBz ZXRzIHVuY29uZGl0aW9uYWxseSBvbiBhbGwKICBhZmZlY3RlZCBwbGF0Zm9ybXM7IGJpdCBpcyBk b2N1bWVudGVkIGFzIHNob3VsZC1iZS0xLgotICoqUmVkIGZsYWdzOioqIENvbW1pdCBtZXNzYWdl IHN0aWxsIG1lbnRpb25zIFJWMTEyNi1vbmx5IHdvcmthcm91bmQsCiAgYnV0IGNvZGUgYXBwbGll cyB1bmNvbmRpdGlvbmFsbHkgKGludGVudGlvbmFsIHBlciB2ZW5kb3IgcHJhY3RpY2UgYW5kCiAg UkszNTY4L1JLMzU4OCBuZWVkKS4KCi0tLQoKIyMgUEhBU0UgMzogR0lUIEhJU1RPUlkgSU5WRVNU SUdBVElPTgoKIyMjIFN0ZXAgMy4xOiBCTEFNRSBUSEUgQ0hBTkdFRCBMSU5FUwoqKlJlY29yZDoq KiBgcmtfaW9tbXVfZW5hYmxlKClgIGNvcmUgbG9naWMgZGF0ZXMgdG8gMjAxNCAoRGFuaWVsIEt1 cnR6KS4KYFJLX01NVV9BVVRPX0dBVElOR2AgZGVmaW5lZCBzaW5jZSBvcmlnaW5hbCBkcml2ZXIg KDIwMTQsCmBjNjhhMjkyMTUyZDMyYCkuIFRoZSAqKm1pc3Npbmcgd29ya2Fyb3VuZCoqIGhhcyBi ZWVuIHByZXNlbnQgc2luY2UgdGhlCmRyaXZlcidzIGludHJvZHVjdGlvbiDigJQgbm90IGEgcmVj ZW50IHJlZ3Jlc3Npb24uCgojIyMgU3RlcCAzLjI6IEZPTExPVyBUSEUgRklYRVM6IFRBRwoqKlJl Y29yZDoqKiBObyBgRml4ZXM6YCB0YWcuIE5vdCBhcHBsaWNhYmxlIOKAlCB0aGlzIGlzIGEgaGFy ZHdhcmUgc2lsaWNvbgpidWcsIG5vdCBhIGNvbW1pdC1pbnRyb2R1Y2VkIHJlZ3Jlc3Npb24uCgoj IyMgU3RlcCAzLjM6IENIRUNLIEZJTEUgSElTVE9SWSBGT1IgUkVMQVRFRCBDSEFOR0VTCioqUmVj b3JkOioqCi0gUmVjZW50IHJlbGF0ZWQgZml4IGFscmVhZHkgaW4gdHJlZTogYDYyZTA2MmEyOWFk NTFgIOKAlCAicHJldmVudCBpb21tdXMKICBkZWFkIGxvb3Agd2hlbiB0d28gbWFzdGVycyBzaGFy ZSBvbmUgSU9NTVUiIChkaWZmZXJlbnQgYnVnLCBoYXMgYENjOgogIHN0YWJsZWApLgotIGByazM1 NjgtaW9tbXVgIHYyIHN1cHBvcnQgYWRkZWQgaW4gYGM1NTM1NmM1MzRhYTZgICgyMDIxKSwgcHJl c2VudCBpbgogIHRoaXMgdHJlZS4KLSBUaGlzIGZpeCBpcyAqKnN0YW5kYWxvbmUqKiDigJQgbm90 IHBhcnQgb2YgYSBtdWx0aS1wYXRjaCBzZXJpZXMKICByZXF1aXJpbmcgcHJlcmVxdWlzaXRlcy4K LSBPbiBgbWFzdGVyYCwgdGhpcyBjb21taXQgKGA4ZDQzNDZlY2Q0OTUwYCkgaXMgYWhlYWQgb2YK ICBgc3RhYmxlL2xpbnV4LTYuMTgueWAuCgojIyMgU3RlcCAzLjQ6IENIRUNLIFRIRSBBVVRIT1In UyBPVEhFUiBDT01NSVRTCioqUmVjb3JkOioqIFNpbW9uIFh1ZSBpcyBhbiBhY3RpdmUgUm9ja2No aXAgSU9NTVUgY29udHJpYnV0b3IgKG11bHRpLWlycQpzdXBwb3J0LCBkZWFkLWxvb3AgZml4LCBJ U1AgcmVzZXQgaGFuZGxpbmcpLiBTdmVuIFDDvHNjaGVsIChQZW5ndXRyb25peCkKc3VibWl0dGVk IGFuZCB0ZXN0ZWQgb24gUkszNTg4IFJHQTMuCgojIyMgU3RlcCAzLjU6IENIRUNLIEZPUiBERVBF TkRFTlQvUFJFUkVRVUlTSVRFIENPTU1JVFMKKipSZWNvcmQ6KiogTm8gZGVwZW5kZW5jaWVzLiBQ YXRjaCBhcHBsaWVzIGNsZWFubHkgKGBnaXQgYXBwbHkgLS1jaGVja2AKc3VjY2VlZGVkKS4gTm8g bmV3IHN0cnVjdHVyZXMsIEFQSXMsIG9yIGhlbHBlciBmdW5jdGlvbnMgcmVxdWlyZWQuCgotLS0K CiMjIFBIQVNFIDQ6IE1BSUxJTkcgTElTVCBBTkQgRVhURVJOQUwgUkVTRUFSQ0gKCiMjIyBTdGVw IDQuMTogRklORCBUSEUgT1JJR0lOQUwgUEFUQ0ggRElTQ1VTU0lPTgoqKlJlY29yZDoqKgotICoq TG9yZSBVUkw6KiogaHR0cHM6Ly9wYXRjaC5tc2dpZC5saW5rLzIwMjUxMTI2LXNwdS0KICBpb21t dWR0ZWZpeC12MS0xLWY5MDAwM2RiZmNjNEBwZW5ndXRyb25peC5kZQotICoqU2VyaWVzIHJldmlz aW9uczoqKiB2MSBzdWJtaXR0ZWQgMjAyNS0xMS0yNjsgYXV0aG9yIHBpbmdlZAogIDIwMjYtMDQt Mjg7IEhlaWtvIFN0dWVibmVyIHN1Z2dlc3RlZCByZXNlbmQvdjIgZHVlIHRvIGFnZTsgY29tbWl0 dGVkCiAgYXMtaXMgb24gbWFpbmxpbmUgMjAyNi0wNi0wMi4KLSAqKlJldmlld2VyIGZlZWRiYWNr OioqIFNoYXduIExpbiAoUm9ja2NoaXApIG5vdGVkIFRSTSBvZmZzZXQKICBjbGFyaWZpY2F0aW9u IChSR0EzLXNwZWNpZmljIG9mZnNldCB2cyBnZW5lcmFsIElPTU1VIDB4MjQpIOKAlCBjb21tZW50 LQogIG9ubHksIG5vIGNvZGUgb2JqZWN0aW9uLgotICoqU3RhYmxlIG5vbWluYXRpb25zOioqIE5v bmUgZm91bmQgaW4gdGhyZWFkLgotICoqTkFLczoqKiBOb25lLgoKIyMjIFN0ZXAgNC4yOiBDSEVD SyBXSE8gUkVWSUVXRUQgVEhFIFBBVENICioqUmVjb3JkOioqIENDJ2Q6IEpvZXJnIFJvZWRlbCwg V2lsbCBEZWFjb24sIFJvYmluIE11cnBoeSwgSGVpa28KU3R1ZWJuZXIsIGlvbW11QCwgbGludXgt YXJtLWtlcm5lbEAsIGxpbnV4LXJvY2tjaGlwQC4gSGVpa28gU3R1ZWJuZXIKQWNrZWQtYnkgaW4g ZmluYWwgY29tbWl0LgoKIyMjIFN0ZXAgNC4zOiBTRUFSQ0ggRk9SIFRIRSBCVUcgUkVQT1JUCioq UmVjb3JkOioqIFJlYWwtd29ybGQgdHJpZ2dlciBkb2N1bWVudGVkIGJ5IFBlbmd1dHJvbml4IOKA lCBzcG9yYWRpYyBSR0EzCmhhbmdzIG9uIFJLMzU4OCBkdXJpbmcgZHJpdmVyIGRldmVsb3BtZW50 LiBWZW5kb3Iga2VybmVsIGNvbW1pdHMgWzJdWzNdCmRvY3VtZW50IFZPUCBibGFjay1zY3JlZW4g aXNzdWVzLiBObyBzeXpib3QvYnVnemlsbGEgcmVwb3J0LgoKIyMjIFN0ZXAgNC40OiBDSEVDSyBG T1IgUkVMQVRFRCBQQVRDSEVTIEFORCBTRVJJRVMKKipSZWNvcmQ6KiogUmVsYXRlZCBidXQgaW5k ZXBlbmRlbnQ6IFJHQTMgdXBzdHJlYW0gZHJpdmVyIHNlcmllcyAodjUsCjIwMjYtMDQtMjgpIGRl cGVuZHMgb24gdGhpcyBJT01NVSBmaXguIFRoZSBJT01NVSBmaXggc3RhbmRzIGFsb25lIGFuZCBp cwpub3QgYSAicHJlcGFyYXRpb24iIGNvbW1pdC4KCiMjIyBTdGVwIDQuNTogQ0hFQ0sgU1RBQkxF IE1BSUxJTkcgTElTVCBISVNUT1JZCioqUmVjb3JkOioqIE5vIHN0YWJsZS1saXN0IGRpc2N1c3Np b24gZm91bmQgZm9yIHRoaXMgc3BlY2lmaWMgZml4LiAoTG9yZQpkaXJlY3QgZmV0Y2ggYmxvY2tl ZCBieSBib3QgcHJvdGVjdGlvbjsgYW5hbHlzaXMgdmlhIGBiNCBkaWcgLW1gIG1ib3gKZG93bmxv YWQuKQoKLS0tCgojIyBQSEFTRSA1OiBDT0RFIFNFTUFOVElDIEFOQUxZU0lTCgojIyMgU3RlcCA1 LjE6IElERU5USUZZIEtFWSBGVU5DVElPTlMgSU4gVEhFIERJRkYKKipSZWNvcmQ6KiogYHJrX2lv bW11X2VuYWJsZSgpYCDigJQgb25seSBmdW5jdGlvbiBtb2RpZmllZC4KCiMjIyBTdGVwIDUuMjog VFJBQ0UgQ0FMTEVSUwoqKlJlY29yZDoqKgotIGBya19pb21tdV9hdHRhY2hfZGV2aWNlKClgIOKG kiBgcmtfaW9tbXVfZW5hYmxlKClgIChsaW5lIDEwNDMpIOKAlCBjYWxsZWQKICB3aGVuIGEgZGV2 aWNlIGF0dGFjaGVzIHRvIGFuIElPTU1VIGRvbWFpbiAoZS5nLiwgVk9QLCBSR0EsIE5QVSkuCi0g YHJrX2lvbW11X3Jlc3VtZSgpYCDihpIgYHJrX2lvbW11X2VuYWJsZSgpYCAobGluZSAxMzMwKSDi gJQgY2FsbGVkIG9uIFBNCiAgcmVzdW1lLgotIEJvdGggYXJlIGNvbW1vbiwgdXNlci12aXNpYmxl IHBhdGhzIG9uIFJvY2tjaGlwIGJvYXJkcy4KCiMjIyBTdGVwIDUuMzogVFJBQ0UgQ0FMTEVFUwoq KlJlY29yZDoqKiBVc2VzIGV4aXN0aW5nIGBya19pb21tdV9yZWFkKClgIC8gYHJrX2lvbW11X3dy aXRlKClgCnJlZ2lzdGVyIGFjY2Vzc29ycywgcGx1cyBleGlzdGluZyBzdGFsbC9yZXNldC9wYWdp bmcgZW5hYmxlIHNlcXVlbmNlLiBObwpuZXcgZGVwZW5kZW5jaWVzLgoKIyMjIFN0ZXAgNS40OiBG T0xMT1cgVEhFIENBTEwgQ0hBSU4KKipSZWNvcmQ6KiogRGV2aWNlIHByb2JlIOKGkiBgaW9tbXVf YXR0YWNoX2RldmljZWAg4oaSCmBya19pb21tdV9hdHRhY2hfZGV2aWNlYCDihpIgYHJrX2lvbW11 X2VuYWJsZWAuIFRyaWdnZXJlZCBkdXJpbmcgbm9ybWFsCmdyYXBoaWNzL21lZGlhIGRyaXZlciBp bml0aWFsaXphdGlvbiBhbmQgc3VzcGVuZC9yZXN1bWUuICoqUmVhY2hhYmxlCmZyb20gdXNlcnNw YWNlKiogaW5kaXJlY3RseSB2aWEgZGV2aWNlIHVzYWdlIChkaXNwbGF5LCBHUFUsIFJHQQp3b3Jr bG9hZHMgY2F1c2luZyBJT1RMQiB6YXBzKS4KCiMjIyBTdGVwIDUuNTogU0VBUkNIIEZPUiBTSU1J TEFSIFBBVFRFUk5TCioqUmVjb3JkOioqIE5vIHNpbWlsYXIgd29ya2Fyb3VuZCBlbHNld2hlcmUg aW4gYHJvY2tjaGlwLWlvbW11LmNgLgpWZW5kb3Iga2VybmVsIHNldHMgdGhpcyBiaXQgdW5jb25k aXRpb25hbGx5IOKAlCBleHRlcm5hbCBjb25maXJtYXRpb24gb2YKdGhlIHBhdHRlcm4uCgotLS0K CiMjIFBIQVNFIDY6IENST1NTLVJFRkVSRU5DSU5HIEFHQUlOU1QgVEhFIExPQ0FMIFRSRUUKCiMj IyBTdGVwIDYuMTogRE9FUyBUSEUgQlVHR1kgQ09ERSBFWElTVCBJTiBUSElTIFRSRUU/CioqUmVj b3JkOioqICoqWUVTLioqIExvY2FsIHRyZWUgaXMgKipMaW51eCA2LjE4LjQ0KiogKGBnaXQgZGVz Y3JpYmUKSEVBRGAg4oaSIGB2Ni4xOC40NC0xLWdlZjRiZjYyYmNjZjNjYCkuIGBya19pb21tdV9l bmFibGUoKWAgYXQgbGluZXMKOTI44oCTOTYwIGxhY2tzIHRoZSBCSVQoMzEpIHdvcmthcm91bmQu IGBSS19NTVVfQVVUT19HQVRJTkdgIGlzIGRlZmluZWQgYXQKbGluZSA0Mi4gYERJU0FCTEVfRkVU Q0hfRFRFX1RJTUVfTElNSVRgIGlzICoqbm90KiogcHJlc2VudC4gQWZmZWN0ZWQgRFQKcGxhdGZv cm1zIGV4aXN0OiBgcnYxMTI2LmR0c2lgICh2MSBgcm9ja2NoaXAsaW9tbXVgKSwgYHJrMzU2eC1i YXNlLmR0c2lgCmFuZCBgcmszNTg4LWJhc2UuZHRzaWAgKHYyIGByb2NrY2hpcCxyazM1NjgtaW9t bXVgKS4KCiMjIyBTdGVwIDYuMjogQ0hFQ0sgRk9SIEJBQ0tQT1JUIENPTVBMSUNBVElPTlMKKipS ZWNvcmQ6KiogKipDbGVhbiBhcHBseSoqIOKAlCBgZ2l0IGZvcm1hdC1wYXRjaGAgKyBgZ2l0IGFw cGx5IC0tY2hlY2tgCnN1Y2NlZWRlZCB3aXRoIG5vIGNvbmZsaWN0cy4gTm8gcmVmYWN0b3Jpbmcg Y2h1cm4gaW4gYHJrX2lvbW11X2VuYWJsZSgpYApzaW5jZSA2LjE4IGJyYW5jaC4KCiMjIyBTdGVw IDYuMzogQ0hFQ0sgSUYgUkVMQVRFRCBGSVhFUyBBUkUgQUxSRUFEWSBIRVJFCioqUmVjb3JkOioq IFRoZSBkZWFkLWxvb3AgZml4IChgNjJlMDYyYTI5YWQ1MWApIGlzIHByZXNlbnQuIFRoaXMgRFRF CnRpbWUtbGltaXQgd29ya2Fyb3VuZCAoYDhkNDM0NmVjZDQ5NTBgKSBpcyAqKm5vdCoqIHByZXNl bnQgb24KYHN0YWJsZS9saW51eC02LjE4LnlgLgoKLS0tCgojIyBQSEFTRSA3OiBTVUJTWVNURU0g QU5EIE1BSU5UQUlORVIgQ09OVEVYVAoKIyMjIFN0ZXAgNy4xOiBJREVOVElGWSBUSEUgU1VCU1lT VEVNIEFORCBJVFMgQ1JJVElDQUxJVFkKKipSZWNvcmQ6KiogYGRyaXZlcnMvaW9tbXUvcm9ja2No aXAtaW9tbXUuY2Ag4oCUIElPTU1VIGRyaXZlciBmb3IgUm9ja2NoaXAKU29Dcy4gKipJTVBPUlRB TlQqKiBmb3IgQVJNL0FSTTY0IGVtYmVkZGVkIChkaXNwbGF5LCBtZWRpYSwgTlBVLCBJU1ApLgpg Q09ORklHX1JPQ0tDSElQX0lPTU1VPXlgIGluIGBhcmNoL2FybTY0L2NvbmZpZ3MvZGVmY29uZmln YC4KCiMjIyBTdGVwIDcuMjogQVNTRVNTIFNVQlNZU1RFTSBBQ1RJVklUWQoqKlJlY29yZDoqKiBB Y3RpdmVseSBtYWludGFpbmVkIOKAlCByZWNlbnQgZml4ZXMgaW4gNi4xNy82LjE4IG1lcmdlIHdp bmRvdwooZGVhZC1sb29wIGZpeCwgaW9tbXUtcGFnZXMgbWlncmF0aW9uKS4gUm9ja2NoaXAgcGxh dGZvcm1zIChSSzM1NjgsClJLMzU4OCkgYXJlIHdpZGVseSBkZXBsb3llZC4KCi0tLQoKIyMgUEhB U0UgODogSU1QQUNUIEFORCBSSVNLIEFTU0VTU01FTlQKCiMjIyBTdGVwIDguMTogREVURVJNSU5F IFdITyBJUyBBRkZFQ1RFRAoqKlJlY29yZDoqKiBVc2VycyBvZiBSb2NrY2hpcCBTb0NzIHdpdGgg SU9NTVUtZW5hYmxlZCBwZXJpcGhlcmFscyDigJQKKipwbGF0Zm9ybS1zcGVjaWZpYyoqIGJ1dCBj b3ZlcmluZyBwb3B1bGFyIGJvYXJkcyAoUkszNTY4LCBSSzM1ODgsClJWMTEyNikuIERpc3BsYXkg KFZPUCksIGdyYXBoaWNzIGFjY2VsZXJhdGlvbiAoUkdBMyksIGFuZCBvdGhlciBJT01NVS0KYmFj a2VkIG1hc3RlcnMuCgojIyMgU3RlcCA4LjI6IERFVEVSTUlORSBUSEUgVFJJR0dFUiBDT05ESVRJ T05TCioqUmVjb3JkOioqIENvbmN1cnJlbnQgSU9NTVUgbWFzdGVyIERURSBmZXRjaCArIENQVSBJ T1RMQiB6YXAgZHVyaW5nCnBhZ2UtdGFibGUgdXBkYXRlcy4gUmVhbGlzdGljIGR1cmluZyBncmFw aGljcy9tZWRpYSB3b3JrbG9hZHMgYW5kIGRyaXZlcgphY3Rpdml0eS4gTm90IGV2ZXJ5IGJvb3Qs IGJ1dCByZXByb2R1Y2libGUgdW5kZXIgbG9hZCAoUGVuZ3V0cm9uaXgKb2JzZXJ2ZWQgc3BvcmFk aWMgUkdBMyBoYW5ncykuCgojIyMgU3RlcCA4LjM6IERFVEVSTUlORSBUSEUgRkFJTFVSRSBNT0RF IFNFVkVSSVRZCioqUmVjb3JkOioqIElPTU1VIHBlcm1hbmVudCBibG9jayDihpIgKipDUklUSUNB TCoqIHN5c3RlbSBoYW5nIGZvcgphZmZlY3RlZCBwZXJpcGhlcmFsczsgVk9QIGJsYWNrIHNjcmVl biAoZGlzcGxheSB1bnVzYWJsZSk7IHBvdGVudGlhbApzb2Z0IGxvY2t1cCBvZiBkZXBlbmRlbnQg c3Vic3lzdGVtcy4KCiMjIyBTdGVwIDguNDogQ0FMQ1VMQVRFIFJJU0stQkVORUZJVCBSQVRJTwoq KlJlY29yZDoqKgotICoqQmVuZWZpdDoqKiBISUdIIOKAlCBwcmV2ZW50cyBoYXJkd2FyZSBJT01N VSBsb2NrdXAgYW5kCiAgZGlzcGxheS9wZXJpcGhlcmFsIGhhbmdzIG9uIHdpZGVseSB1c2VkIFNv Q3MuCi0gKipSaXNrOioqIFZFUlkgTE9XIOKAlCA4LWxpbmUgcmVnaXN0ZXIgd3JpdGUgbWF0Y2hp bmcgdmVuZG9yIGtlcm5lbCBhbmQKICBUUk07IHJlYWQtbW9kaWZ5LXdyaXRlIHByZXNlcnZlcyBv dGhlciBiaXRzLgotICoqUmF0aW86KiogU3Ryb25nbHkgZmF2b3JzIGJhY2twb3J0LgoKLS0tCgoj IyBQSEFTRSA5OiBGSU5BTCBTWU5USEVTSVMKCiMjIyBTdGVwIDkuMTogQ09NUElMRSBUSEUgRVZJ REVOQ0UKCioqRk9SIGJhY2twb3J0aW5nOioqCi0gUmVhbCBoYXJkd2FyZSBidWcgd2l0aCBkb2N1 bWVudGVkIGZhaWx1cmUgbW9kZSAoSU9NTVUgYmxvY2ssIGRpc3BsYXkKICBibGFjaywgUkdBMyBo YW5nKQotIEhhcmR3YXJlIHF1aXJrL3dvcmthcm91bmQg4oCUIGV4cGxpY2l0bHkgYWxsb3dlZCBz dGFibGUgY2F0ZWdvcnkKLSBTbWFsbCAoOCBsaW5lcyksIHN1cmdpY2FsLCBhcHBsaWVzIGNsZWFu bHkgdG8gNi4xOC40NAotIFZlbmRvciBrZXJuZWwgYWxyZWFkeSBkb2VzIHRoaXMgdW5jb25kaXRp b25hbGx5Ci0gVFJNIGRvY3VtZW50cyBCSVQoMzEpIHNob3VsZCBiZSAxCi0gQWNrZWQtYnkgUm9j a2NoaXAgbWFpbnRhaW5lciAoSGVpa28gU3R1ZWJuZXIpCi0gQWZmZWN0ZWQgU29DIERUIHN1cHBv cnQgcHJlc2VudCBpbiB0aGlzIHRyZWUKLSBCdWdneSBjb2RlIHBhdGggZXhpc3RzIGFuZCBoYXMg ZXhpc3RlZCBzaW5jZSBkcml2ZXIgaW50cm9kdWN0aW9uCi0gTm8gcHJlcmVxdWlzaXRlIGNvbW1p dHMKCioqQUdBSU5TVCBiYWNrcG9ydGluZzoqKgotIE5vIGBDYzogc3RhYmxlYCBvciBgRml4ZXM6 YCB0YWcgKGV4cGVjdGVkLCBub3QgZGlzcXVhbGlmeWluZykKLSBBcHBsaWVzIHRvIGFsbCBSb2Nr Y2hpcCBJT01NVSBpbnN0YW5jZXMsIG5vdCBTb0MtZ2F0ZWQgKGJ1dCB2ZW5kb3IKICBkb2VzIHNh bWU7IGxvdyByaXNrKQotIFN0YWxlIFJWMTEyNi1vbmx5IHdvcmRpbmcgaW4gY29tbWl0IG1lc3Nh Z2UgKGNvZGUgaXMgY29ycmVjdGx5CiAgdW5jb25kaXRpb25hbCkKCioqVW5yZXNvbHZlZDoqKiBO b25lIHRoYXQgYWZmZWN0IHRoZSBkZWNpc2lvbi4KCiMjIyBTdGVwIDkuMjogU1RBQkxFIFJVTEVT IENIRUNLTElTVAoxLiBPYnZpb3VzbHkgY29ycmVjdCBhbmQgdGVzdGVkPyAqKlBBU1MqKiDigJQg VFJNICsgdmVuZG9yIGtlcm5lbCArCiAgIFBlbmd1dHJvbml4IFJLMzU4OCB0ZXN0aW5nCjIuIEZp eGVzIGEgcmVhbCBidWcgYWZmZWN0aW5nIHVzZXJzPyAqKlBBU1MqKiDigJQgSU9NTVUgaGFuZywg YmxhY2sgc2NyZWVuCiAgIG9uIHByb2R1Y3Rpb24gaGFyZHdhcmUKMy4gSW1wb3J0YW50IGlzc3Vl PyAqKlBBU1MqKiDigJQgQ1JJVElDQUwgKGhhbmcsIGRpc3BsYXkgZmFpbHVyZSkKNC4gU21hbGwg YW5kIGNvbnRhaW5lZD8gKipQQVNTKiog4oCUIDggbGluZXMsIG9uZSBmdW5jdGlvbgo1LiBObyBu ZXcgZmVhdHVyZXMgb3IgQVBJcz8gKipQQVNTKiog4oCUIHJlZ2lzdGVyIHdvcmthcm91bmQgb25s eQo2LiBDYW4gYXBwbHkgdG8gbG9jYWwgdHJlZT8gKipQQVNTKiog4oCUIGNsZWFuIGFwcGx5IHZl cmlmaWVkCgojIyMgU3RlcCA5LjM6IEVYQ0VQVElPTiBDQVRFR09SSUVTCioqUmVjb3JkOioqICoq SGFyZHdhcmUgcXVpcmsvd29ya2Fyb3VuZCoqIOKAlCBxdWFsaWZpZXMgdW5kZXIgc3RhYmxlCmV4 Y2VwdGlvbiBydWxlcy4KCiMjIyBTdGVwIDkuNDogREVDSVNJT04gUkFUSU9OQUxFCgpGb3IgKipM aW51eCA2LjE4LjQ0KiosIFJvY2tjaGlwIElPTU1VIHVzZXJzIG9uIFJLMzU2OCwgUkszNTg4LCBh bmQKUlYxMTI2IHBsYXRmb3JtcyBhcmUgZXhwb3NlZCB0byBhIHNpbGljb24gYnVnIHdoZXJlIHRo ZSBJT01NVSBjYW4gZW50ZXIKYSBibG9ja2VkIHN0YXRlIGR1cmluZyBub3JtYWwgcGFnZS10YWJs ZSBtYWludGVuYW5jZSwgY2F1c2luZyBwZXJpcGhlcmFsCmhhbmdzIGFuZCBkaXNwbGF5IGJsYWNr IHNjcmVlbnMuIFRoZSBmaXggaXMgYSBtaW5pbWFsLCB2ZW5kb3ItdmFsaWRhdGVkCnJlZ2lzdGVy IHdyaXRlIHRoYXQgbWF0Y2hlcyBUUk0gZG9jdW1lbnRhdGlvbi4gSXQgYXBwbGllcyBjbGVhbmx5 LCBoYXMKbWFpbnRhaW5lciBhY2ssIGFuZCBmaXhlcyBhIHNlcmlvdXMgdXNlci12aXNpYmxlIGZh aWx1cmUgb24gaGFyZHdhcmUKd2VsbC1zdXBwb3J0ZWQgaW4gdGhpcyB0cmVlLgoKLS0tCgojIyBW ZXJpZmljYXRpb24KCi0gW1BoYXNlIDFdIFBhcnNlZCBjb21taXQgYDhkNDM0NmVjZDQ5NTBgOiBz dWJqZWN0LCBib2R5LCB0YWdzIChBY2tlZC1ieQogIEhlaWtvIFN0dWVibmVyOyBubyBGaXhlcy9z dGFibGUvc3l6Ym90KQotIFtQaGFzZSAyXSBEaWZmIGFuYWx5c2lzOiArOCBsaW5lcyBpbiBgcmtf aW9tbXVfZW5hYmxlKClgLCBhZGRzIEJJVCgzMSkKICB3cml0ZSB0byBgUktfTU1VX0FVVE9fR0FU SU5HYAotIFtQaGFzZSAzXSBgZ2l0IGJsYW1lYDogYHJrX2lvbW11X2VuYWJsZSgpYCBmcm9tIDIw MTQ7CiAgYFJLX01NVV9BVVRPX0dBVElOR2AgZnJvbSBvcmlnaW5hbCAyMDE0IGRyaXZlcgotIFtQ aGFzZSAzXSBObyBGaXhlczogdGFnIHRvIGZvbGxvdwotIFtQaGFzZSAzXSBSZWxhdGVkIGNvbW1p dCBgNjJlMDYyYTI5YWQ1MWAgKGRpZmZlcmVudCBidWcpIGFscmVhZHkgaW4KICB0cmVlOyB0aGlz IGZpeCBpcyBub3QKLSBbUGhhc2UgM10gYGdpdCBmb3JtYXQtcGF0Y2hgICsgYGdpdCBhcHBseSAt LWNoZWNrYDogYXBwbGllcyBjbGVhbmx5Ci0gW1BoYXNlIDNdIENvbW1pdCBvbiBgbWFzdGVyYCBi dXQgbm90IG9uIGN1cnJlbnQgYHN0YWJsZS9saW51eC02LjE4LnlgCiAgSEVBRAotIFtQaGFzZSA0 XSBgYjQgZGlnIC1jIDhkNDM0NmVjZDQ5NTBgOiBsb3JlIHRocmVhZCBmb3VuZAotIFtQaGFzZSA0 XSBgYjQgZGlnIC1hYDogdjEgc3VibWlzc2lvbiAyMDI1LTExLTI2OyBjb21taXR0ZWQgMjAyNi0w Ni0wMgotIFtQaGFzZSA0XSBgYjQgZGlnIC13YDogSm9lcmcgUm9lZGVsLCBIZWlrbyBTdHVlYm5l ciwgUm9iaW4gTXVycGh5IENDJ2QKLSBbUGhhc2UgNF0gTWJveDogUGVuZ3V0cm9uaXggY29uZmly bWVkIFJLMzU4OCBSR0EzIGhhbmdzOyBTaGF3biBMaW4KICBjb21tZW50LW9ubHkgVFJNIG5vdGU7 IEhlaWtvIHN1Z2dlc3RlZCByZXNlbmQ7IG5vIE5BS3MsIG5vIHN0YWJsZQogIG5vbWluYXRpb24K LSBbUGhhc2UgNV0gQ2FsbGVyczogYHJrX2lvbW11X2F0dGFjaF9kZXZpY2UoKWAgKGxpbmUgMTA0 MyksCiAgYHJrX2lvbW11X3Jlc3VtZSgpYCAobGluZSAxMzMwKQotIFtQaGFzZSA1XSBJT1RMQiB6 YXAgcGF0aDogYHJrX2lvbW11X3phcF9pb3ZhKClgIHVzZWQgZnJvbSBtYXAvdW5tYXAg4oCUCiAg Y29uZmlybXMgY29uY3VycmVudCB6YXAgbWVjaGFuaXNtCi0gW1BoYXNlIDZdIGBnaXQgZGVzY3Jp YmUgSEVBRGA6IHY2LjE4LjQ0OyBgbWFrZSBrZXJuZWx2ZXJzaW9uYDogNi4xOC40NAotIFtQaGFz ZSA2XSBCdWdneSBjb2RlIGNvbmZpcm1lZCBwcmVzZW50OiBubwogIGBESVNBQkxFX0ZFVENIX0RU RV9USU1FX0xJTUlUYCBpbiB0cmVlCi0gW1BoYXNlIDZdIERUOiBgcnYxMTI2LmR0c2lgLCBgcmsz NTZ4LWJhc2UuZHRzaWAsIGByazM1ODgtYmFzZS5kdHNpYAogIGhhdmUgSU9NTVUgbm9kZXMKLSBb UGhhc2UgNl0gYHJrMzU2OC1pb21tdWAgc3VwcG9ydCBzaW5jZSAyMDIxIChgYzU1MzU2YzUzNGFh NmApLCBpbiB0cmVlCi0gW1BoYXNlIDddIGBDT05GSUdfUk9DS0NISVBfSU9NTVU9eWAgaW4gYXJt NjQgZGVmY29uZmlnCi0gW1BoYXNlIDhdIEZhaWx1cmUgbW9kZTogSU9NTVUgYmxvY2sg4oaSIGhh bmcvYmxhY2sgc2NyZWVuLCBzZXZlcml0eQogIENSSVRJQ0FMCgoqKllFUyoqVGhlIGJhY2tncm91 bmQgc2VhcmNoIG9uIGBtYXN0ZXJgIGZvdW5kIHRoZSBjb21taXQ6CioqYDhkNDM0NmVjZDQ5NTBg Kiog4oCUIGBpb21tdS9yb2NrY2hpcDogZGlzYWJsZSBmZXRjaCBkdGUgdGltZSBsaW1pdGAuCgoq KlN1bW1hcnk6KiogVGhpcyBpcyBhbiA4LWxpbmUgaGFyZHdhcmUgd29ya2Fyb3VuZCBmb3IgUm9j a2NoaXAgSU9NTVUKc2lsaWNvbiAoUkszNTY4LCBSSzM1ODgsIFJWMTEyNikuIFdpdGhvdXQgc2V0 dGluZyBCSVQoMzEpIG9mCmBSS19NTVVfQVVUT19HQVRJTkdgLCB0aGUgSU9NTVUgY2FuIGJsb2Nr IGR1cmluZyBjb25jdXJyZW50IERURSBmZXRjaAphbmQgSU9UTEIgemFwcywgY2F1c2luZyBwZXJp cGhlcmFsIGhhbmdzIGFuZCBWT1AgYmxhY2sgc2NyZWVucy4gVGhlCnBhdGNoIGFwcGxpZXMgY2xl YW5seSB0byB0aGUgbG9jYWwgKio2LjE4LjQ0KiogdHJlZSwgd2hlcmUgdGhlIGJ1Z2d5CmNvZGUg aXMgc3RpbGwgcHJlc2VudC4KCioqWUVTKioKCiBkcml2ZXJzL2lvbW11L3JvY2tjaGlwLWlvbW11 LmMgfCA4ICsrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspCgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9pb21tdS9yb2NrY2hpcC1pb21tdS5jIGIvZHJpdmVycy9pb21tdS9yb2Nr Y2hpcC1pb21tdS5jCmluZGV4IDA4NjFkZDQ2OWJkODYuLjJkMGRhYmIwZDEwMWEgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvaW9tbXUvcm9ja2NoaXAtaW9tbXUuYworKysgYi9kcml2ZXJzL2lvbW11L3Jv Y2tjaGlwLWlvbW11LmMKQEAgLTc2LDYgKzc2LDggQEAKICNkZWZpbmUgU1BBR0VfT1JERVIgMTIK ICNkZWZpbmUgU1BBR0VfU0laRSAoMSA8PCBTUEFHRV9PUkRFUikKIAorI2RlZmluZSBESVNBQkxF X0ZFVENIX0RURV9USU1FX0xJTUlUIEJJVCgzMSkKKwogIC8qCiAgICogU3VwcG9ydCBtYXBwaW5n IGFueSBzaXplIHRoYXQgZml0cyBpbiBvbmUgcGFnZSB0YWJsZToKICAgKiAgIDQgS2lCIHRvIDQg TWlCCkBAIC05MzAsNiArOTMyLDcgQEAgc3RhdGljIGludCBya19pb21tdV9lbmFibGUoc3RydWN0 IHJrX2lvbW11ICppb21tdSkKIAlzdHJ1Y3QgaW9tbXVfZG9tYWluICpkb21haW4gPSBpb21tdS0+ ZG9tYWluOwogCXN0cnVjdCBya19pb21tdV9kb21haW4gKnJrX2RvbWFpbiA9IHRvX3JrX2RvbWFp bihkb21haW4pOwogCWludCByZXQsIGk7CisJdTMyIGF1dG9fZ2F0ZTsKIAogCXJldCA9IGNsa19i dWxrX2VuYWJsZShpb21tdS0+bnVtX2Nsb2NrcywgaW9tbXUtPmNsb2Nrcyk7CiAJaWYgKHJldCkK QEAgLTk0OCw2ICs5NTEsMTEgQEAgc3RhdGljIGludCBya19pb21tdV9lbmFibGUoc3RydWN0IHJr X2lvbW11ICppb21tdSkKIAkJCSAgICAgICBya19vcHMtPm1rX2R0ZW50cmllcyhya19kb21haW4t PmR0X2RtYSkpOwogCQlya19pb21tdV9iYXNlX2NvbW1hbmQoaW9tbXUtPmJhc2VzW2ldLCBSS19N TVVfQ01EX1pBUF9DQUNIRSk7CiAJCXJrX2lvbW11X3dyaXRlKGlvbW11LT5iYXNlc1tpXSwgUktf TU1VX0lOVF9NQVNLLCBSS19NTVVfSVJRX01BU0spOworCisJCS8qIFdvcmthcm91bmQgZm9yIGlv bW11IGJsb2NrZWQsIEJJVCgzMSkgZGVmYXVsdCB0byAxICovCisJCWF1dG9fZ2F0ZSA9IHJrX2lv bW11X3JlYWQoaW9tbXUtPmJhc2VzW2ldLCBSS19NTVVfQVVUT19HQVRJTkcpOworCQlhdXRvX2dh dGUgfD0gRElTQUJMRV9GRVRDSF9EVEVfVElNRV9MSU1JVDsKKwkJcmtfaW9tbXVfd3JpdGUoaW9t bXUtPmJhc2VzW2ldLCBSS19NTVVfQVVUT19HQVRJTkcsIGF1dG9fZ2F0ZSk7CiAJfQogCiAJcmV0 ID0gcmtfaW9tbXVfZW5hYmxlX3BhZ2luZyhpb21tdSk7Ci0tIAoyLjUzLjAKCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpMaW51eC1yb2NrY2hpcCBtYWls aW5nIGxpc3QKTGludXgtcm9ja2NoaXBAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMu aW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LXJvY2tjaGlwCg==