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 E4111C88E5C for ; Wed, 16 Sep 2026 04:48:32 +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=K7ooRqWrU3GzQZ5WMuCKdEb3UmEL3IKPnK8fzr5mv1E=; b=WhF4H3tYJASiu2 6l0coOXj6j2ZX41Rql6qqx7IdeuOEYGDJPZ4GrdK1M3M6nrwKhyxp4l1oVB8XelNRDkGsZp6kpxDc QaRcfipwJIubMXMnutxDnCYfaAE9jsbLEx+yVv7MvSjqB5FhlCU7Y8KDkEh03A6H7i9rje/1YahAv Oeeoy49LiuU+wfMLUOEXolIwCsLqK31MfEGkLv6lSQRX4EYg9VU4wONUwroUqGf5hNkJKdmQqvTQ9 yKQR4Y1UU5cANqvLZovK66IX49DPcoyEJ8DmVRGW0ZAeawUH8lJIJFL81TYezPEh0OU1QHs0B5IRL 12BFhVUMsQiOsU6+Bvjw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1x6hYw-00000008K4Q-2NUN; Wed, 16 Sep 2026 04:48:02 +0000 Received: from mail-pj2-x11.google.com ([2607:f8b0:4864:39::11]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1x6hYu-00000008K3f-0JDz for linux-riscv@lists.infradead.org; Wed, 16 Sep 2026 04:48:02 +0000 Received: by mail-pj2-x11.google.com with SMTP id 98e67ed59e1d1-396ccafb74fso448273a91.3 for ; Tue, 15 Sep 2026 21:47:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1789534079; x=1790138879; darn=lists.infradead.org; h=in-reply-to:content-transfer-encoding:content-disposition :content-type:mime-version:references:message-id:subject:cc:to:from :date:from:to:cc:subject:date:message-id:reply-to:content-type; bh=HbDQlN24R23DyDmW4DbzXR/gB6YrFxHcO7yoyli6aGg=; b=aOrTHLktZIm40EHul7TixkvpQoQZYMwSy6bp6P17rQ9fhKltDaLJVa0XfYcwM/gGWU N5OBdcu3AVEt/Pq5RY2CB/T4aNxDo5uB28dA3+bjrkNscaCFJf7CiX6vV155gzr4zk23 y4G6pSSmQh5YPhG8p3BwywR52hO2czBxj5BMq73acqCuo3REtbiCO/lMS9eDXiiB5qpK PqXLudIeP3HjJQYrL394m20QOcAnD7aIgaFHm7vjGxoKtBHzak8kYXgIEkMLVZ80DbU6 rvrH1/FvKavd9sRDohCbrgbviNnlOcBOy6m2FmxqIHcUSK40cCUKgxTz6Kr+GTadY0UN p1TQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789534079; x=1790138879; h=in-reply-to:content-transfer-encoding:content-disposition :content-type:mime-version:references:message-id:subject:cc:to:from :date:x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to:content-type; bh=HbDQlN24R23DyDmW4DbzXR/gB6YrFxHcO7yoyli6aGg=; b=fXD/4wSkVsIPOJ7h3GM63R1JxxFTn1lto7RyiDRu8BdaEoD1qCdejRm6DKRMYaXyna HChMPEeqYqxMvsoxk+tx6lNJOndefKyj3uE+LRAfkhOGunZnZuyUXCDozLveTHZW4X2L c05sJGwDspYRx4J5ZBuOadRWAtLdIaLvbHlZN31IFpLu9j6IqEBu/PWlBv5b6/gSXdSp tjJo78GKN2E8RCPmNvS+h6UJzXx3fJskqiCta1tX4cAdF1GCugglzoHfUSb+MZYVET3P Y07m2VrFD9W3LFC+mIGQsE5Whw7ZHpYeKrYOHbl+xRXGnwVWxrspmJnL8/9aU8ITiGwQ PURA== X-Forwarded-Encrypted: i=1; AKwUvBydNX1pIr0gwdhDLXnI06EZBJrypZvVlh+QiJwWYX+I110XFshfD7Xp/bgqzwILtYecF1A47nsoiEZ9Pg==@lists.infradead.org X-Gm-Message-State: AFuF++lQjuHCRP+vRZ6HBOdchDQUcjyblUKT8wS59w42BEQQ47gxm5Ix q91J7jwN0Kesqo0TxGU5Ka3ZtdES1UFiSEv7RFbuHgT0qaZJwmSpCdlR X-Gm-Gg: AYBFou0f3yS+wDkr0lFc4Yx11860WzpMqNPI7qpQsQToWICzrbiwxjNXtCSdeR+Gemt AwT6A5zZ4ryW2dET69dcONHYJMiFHwzt1DwOJvdJb8G/CWUTT5yEoIi65LLHN1MnBbMZZ1aM+dn //CO3KwA4yO/InfWV0dShVNq1Pz7u0Gb31LE+3IXXKA2x0kcmCOa6a34I+IAbEXOqb6TGFiT3Az 0wv0lP5MAhzoOXGWSHc3DiwAAsajLlt7FHM1jH0C2GopbGnLmewHbiW4ZnEUezK9Nl8GHBKJw7A OhOq78V1k6SbME0OIvfl5jRLQXEjfc4nLuUMvszlzGhAbwUTUzOajLePQU3Fnphoyt2sk+FYfE6 PxOCmuyH/Y2NInY6kq4HFJpFueZnag0/TU5ALrU7KgaM5yhv3Zf7ipx+d4xeZJTMuFQUcpFJPtC JUHDy1pL6ltHCymaA3FMQ50XANLREZb79NpVCNwvBbCZ4wO2IwL+NHD5iJahDxza9pn1cAvc7S6 MDt4tOlgc1aG+8uls7nfJcic5M4XlFICw== X-Received: by 2002:a17:90b:3c41:b0:39d:fe64:5733 with SMTP id 98e67ed59e1d1-39e1e5612demr3407209a91.24.1789534078512; Tue, 15 Sep 2026 21:47:58 -0700 (PDT) Received: from blinky ([67.174.242.98]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-14395d13cb7sm3142992c88.7.2026.09.15.21.47.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2026 21:47:57 -0700 (PDT) Date: Tue, 15 Sep 2026 21:47:55 -0700 From: Charlie Jenkins To: Himanshu Chauhan Cc: Jesse Taube , linux-riscv@lists.infradead.org, qingfang.deng@linux.dev, alex@ghiti.fr, aou@eecs.berkeley.edu, palmer@dabbelt.com, pjw@kernel.org, shuah@kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v6 0/5] riscv: Introduce support for hardware break/watchpoints Message-ID: References: <20260803134913.2013674-1-himanshu.chauhan@oss.qualcomm.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260915_214800_127981_09772F78 X-CRM114-Status: GOOD ( 43.54 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org T24gRnJpLCBBdWcgMDcsIDIwMjYgYXQgMDE6MzA6MDlQTSArMDUzMCwgSGltYW5zaHUgQ2hhdWhh biB3cm90ZToKPiBPbiBUdWUsIEF1ZyA0LCAyMDI2IGF0IDEwOjQy4oCvUE0gSmVzc2UgVGF1YmUg PGp0YXViZXBlQHJlZGhhdC5jb20+IHdyb3RlOgo+ID4KPiA+IE9uIE1vbiwgQXVnIDMsIDIwMjYg YXQgOTo0OeKAr0FNIEhpbWFuc2h1IENoYXVoYW4KPiA+IDxoaW1hbnNodS5jaGF1aGFuQG9zcy5x dWFsY29tbS5jb20+IHdyb3RlOgo+ID4gPgo+ID4gPiBUaGlzIHBhdGNoc2V0IGFkZHMgc3VwcG9y dCBmb3IgaGFyZHdhcmUgYnJlYWtwb2ludHMgYW5kIHdhdGNocG9pbnRzIGluIHRoZQo+ID4gPiBS SVNDLVYgYXJjaGl0ZWN0dXJlLiBUaGUgZnJhbWV3b3JrIGlzIGJ1aWx0IG9uIHRvcCBvZiB0aGUg cGVyZiBzdWJzeXN0ZW0gYW5kCj4gPiA+IHRoZSBTQkkgZGVidWcgdHJpZ2dlciBleHRlbnNpb24g KFNkdHJpZykuCj4gPiA+Cj4gPiA+IHY2IGV4dGVuZHMgdjUgd2l0aCB0d28gbmV3IHBhdGNoZXM6 Cj4gPiA+Cj4gPiA+ICAgLSBwdHJhY2Ugc3VwcG9ydDogZGVidWdnZXJzIGNhbiBub3cgc2V0IGFu ZCBxdWVyeSBoYXJkd2FyZSBkZWJ1ZyB0cmlnZ2Vycwo+ID4gPiAgICAgdGhyb3VnaCB0aGUgc3Rh bmRhcmQgUFRSQUNFX0dFVFJFR1NFVC9TRVRSRUdTRVQgaW50ZXJmYWNlIHVzaW5nIG5ldwo+ID4g PiAgICAgTlRfUklTQ1ZfSFdfQlJFQUsvV0FUQ0ggbm90ZSB0eXBlcy4gQSBzaW1wbGVyIFBUUkFD RV9HRVRIQlBSRUdTL1NFVEhCUFJFR1MKPiA+ID4gICAgIHJlcXVlc3QgcGFpciBpcyBhbHNvIHBy b3ZpZGVkIGZvciBkaXJlY3Qgc2luZ2xlLXRyaWdnZXIgYWNjZXNzIHdpdGhvdXQgZ29pbmcKPiA+ ID4gICAgIHRocm91Z2ggdGhlIHJlZ3NldCBtYWNoaW5lcnkuIFRocmVhZCBmbHVzaC9jb3B5IGhv b2tzIGFyZSB3aXJlZCB1cCBzbwo+ID4gPiAgICAgcGVyLXRhc2sgYnJlYWtwb2ludHMgYXJlIGNs ZWFuZWQgdXAgYWNyb3NzIGZvcmsvZXhlYy4KPiA+ID4KPiA+ID4gICAtIEV4dGVuZGVkIHNlbGZ0 ZXN0OiB0aGUgZXhpc3RpbmcgcGVyZl9ldmVudC1iYXNlZCBzZWxmdGVzdCBpcyBleHRlbmRlZCB0 bwo+ID4gPiAgICAgYWxzbyBleGVyY2lzZSB0aGUgbmV3IHB0cmFjZSBHRVRSRUdTRVQvU0VUUkVH U0VUIHJlZ3NldCBwYXRoIGFuZCB0aGUgcmF3Cj4gPiA+ICAgICBQVFJBQ0VfR0VUSEJQUkVHUy9T RVRIQlBSRUdTIGludGVyZmFjZS4KPiA+Cj4gPiBJIHdvdWxkIHJlY29tZW50IGFkZGFwaW5nCj4g PiBgdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnJlYWtwb2ludHMvYnJlYWtwb2ludF90ZXN0X2Fy bTY0LmNgIGFzIGEKPiA+IHRlc3QuCj4gPiBJIHNldCB1cCBhIHRlc3QgcmVwb3NpdG9yeSBoZXJl Cj4gPiBodHRwczovL2dpdGh1Yi5jb20vTXItQm9zc21hbi9kYnRyLWJ1aWxkcm9vdCBmb3IgYW55 b25lIGVsc2UgdG8gdGVzdAo+ID4gdGhpcyBzZXQuCj4gPgo+ID4gVW5mb3J0dW5hdGx5IHRoaXMg c2V0IGZhaWxzIGBwZXJmIHRlc3QgMTUgMTYgMTcgMThgLiBJIHdvdWxkIGxpa2UKPiA+IHRob3Nl IHRlc3RzIHRvIHBhc3MKPiA+IGJlZm9yZSBhY2NlcHRpbmcgdGhpcyBzZXQuIE15IHNldCBhZGRy ZXNzZXMgdGhlIHBlcmYgZmFpbHVyZXMgd2hpY2ggaXMgd2h5IGl0IGlzCj4gPiBtb3JlIGNvbXBs aWNhdGVkLgo+ID4KPiA+IEkgd291bGQgaGlnaGx5IHJlY29tbWVuZCBiYXNpbmcgeW91ciBzZXQg b2ZmIG9mIGl0IGFzIGl0IGZpeGVzIG1hbnkgb2YKPiA+IHRoZSBpc3N1ZXMgdGhhdAo+ID4gSSBj b21tZW50ZWQgb24gaW4gVjUuIFRoZSBmaXJzdCB0d28gY29tbWl0cyBpbiBteSBzZXJpZXMgYXJl Cj4gPiByZWZhY3RvcmluZyBkdXBsaWNhdGUgY29kZSwKPiA+IGFuZCBjYW4gdGVjaG5pY2FsbHkg YmUgZHJvcHBlZC4gRXZlbiBpZiB5b3UgZG9uJ3QgZ28gZm9yd2FyZCB3aXRoIHVzaW5nIG15IHNl dCwKPiA+IEkgd291bGQgYXQgbGVhc3QgcmVjb21tZW5kIHRha2luZyBhIGxvb2sgYXQgaXQsIGVz cGVjaWFsbHkKPiA+IGByaXNjdjogcHRyYWNlOiBBZGQgaHcgYnJlYWtwb2ludCByZWdzZXRgCj4g PiBhbmQKPiA+IGByaXNjdjogcHRyYWNlOiBBZGQgaHcgYnJlYWtwb2ludCBzdXBwb3J0YAo+ID4g YXMgdGhleSBhcmUgc2lnbmlmaWNhbnRseSBzaW1wbGVyLgo+ID4KPiAKPiBBbGwgdGhhdCBpcyB0 YWtlbiBjYXJlIG9mLiBUaGVyZSBpcyBhIHByb2JsZW0gd2l0aCBpY291bnQgdHJpZ2dlcnMgaW4K PiBRZW11LiBPbmNlIEkgZml4IHRoYXQsIEkgd2lsbCBzZW5kIHY3IGFuZCBJdCB3aWxsIGNvbnRh aW4gc2luZ2xlCj4gc3RlcHBpbmcuCj4gCj4gUmVnYXJkcwo+IEhpbWFuc2h1CgpXaHkgZGlkIHlv dSBkZWNpZGUgdG8gcmVuZXcgdGhpcyBwYXRjaCBzZXJpZXMgd2l0aG91dCBwdWxsaW5nIGluIEpl c3NlJ3MKcGF0Y2hlcz8KCi0gQ2hhcmxpZQoKPiAKPiA+IGh0dHBzOi8vZ2l0aHViLmNvbS9Nci1C b3NzbWFuL2xpbnV4L2NvbW1pdHMvZGV2L2plc3NlL3NkdHJpZy1yZWJhc2UvCj4gPgo+ID4gVGhh bmtzLAo+ID4gSmVzc2UgVGF1YmUKPiA+Cj4gPiA+IFNpbmdsZSBzdGVwcGluZyBpcyByZWFkeSBh bmQgdGVzdCBidXQgdG8gZm9sbG93IHRoaXMgcGF0Y2ggc2V0Lgo+ID4gPiBWaXJ0dWFsaXphdGlv biBvZiBkZWJ1ZyB0cmlnZ2VycyBhcmUgcGVuZGluZwo+ID4gPgo+ID4gPiBUaGUgU0JJIGRlYnVn IHRyaWdnZXIgZXh0ZW5zaW9uIGlzIHNwZWNpZmllZCBpbiBDaGFwdGVyIDE5IG9mIHRoZSBTQkkK PiA+ID4gc3BlY2lmaWNhdGlvbjoKPiA+ID4gICBodHRwczovL2dpdGh1Yi5jb20vcmlzY3Ytbm9u LWlzYS9yaXNjdi1zYmktZG9jL3JlbGVhc2VzL2Rvd25sb2FkL3YzLjAvcmlzY3Ytc2JpLnBkZgo+ ID4gPgo+ID4gPiBUaGUgU2R0cmlnIElTQSBpcyBwYXJ0IG9mIHRoZSBSSVNDLVYgZGVidWcgc3Bl Y2lmaWNhdGlvbjoKPiA+ID4gICBodHRwczovL2dpdGh1Yi5jb20vcmlzY3YvcmlzY3YtZGVidWct c3BlYwo+ID4gPgo+ID4gPiBDaGFuZ2VzIGZyb20gdjU6Cj4gPiA+ICAgLSBSZWJhc2VkIHRvIHY3 LjItcmM2Cj4gPiA+ICAgLSBTaW1wbGlmaWVkIE1hY3JvcyBpbiBod19icmVha3BvaW50LmgKPiA+ ID4gICAtIFRvb2sgY2FyZSBvZiB0aGUgcmV2aWV3IGNvbW1lbnRzCj4gPiA+ICAgLSBBZGRlZCBw dHJhY2Ugc3VwcG9ydCBmb3IgaGFyZHdhcmUgYnJlYWsvd2F0Y2hwb2ludHMgKG5ldyBwYXRjaCkK PiA+ID4gICAgIC0gUFRSQUNFX0dFVFJFR1NFVC9TRVRSRUdTRVQgdmlhIE5UX1JJU0NWX0hXX0JS RUFLIC8gTlRfUklTQ1ZfSFdfV0FUQ0gKPiA+ID4gICAgIC0gUFRSQUNFX0dFVEhCUFJFR1MgLyBT RVRIQlBSRUdTIGZvciBkaXJlY3Qgc2luZ2xlLXRyaWdnZXIgYWNjZXNzCj4gPiA+ICAgICAtIEhB VkVfTUlYRURfQlJFQUtQT0lOVFNfUkVHUyBzZWxlY3RlZCAoYnJlYWsvd2F0Y2ggc2hhcmUgdHJp Z2dlciBwb29sKQo+ID4gPiAgICAgLSBmbHVzaF9wdHJhY2VfaHdfYnJlYWtwb2ludCAvIHB0cmFj ZV9od19jb3B5X3RocmVhZCB3aXJlZCB1cAo+ID4gPiAgIC0gRXh0ZW5kZWQgc2VsZnRlc3QgdG8g Y292ZXIgcHRyYWNlLWJhc2VkIGh3IGJyZWFrL3dhdGNocG9pbnQgcGF0aHMgKG5ldyBwYXRjaCkK PiA+ID4KPiA+ID4gQ2hhbmdlcyBmcm9tIHY0Ogo+ID4gPiAgIC0gUmViYXNlZCB0byB2Ny4yLXJj NAo+ID4gPiAgIC0gRml4ZWQgcnYzMiBidWlsZCBlcnJvcgo+ID4gPiAgIC0gQWRkZWQgcHJfZm10 IHRvIHByaW50IEtCVUlMRF9NT0ROQU1FCj4gPiA+ICAgLSBDaGFuZ2VkIHR5cGUgb2Ygc2htZW1f cGEgdG8gcGh5c19hZGRyX3QKPiA+ID4gICAtIFVzZSBwZXJfY3B1X3B0cl90b19waHlzIGluc3Rl YWQgb2YgX19wYSBmb3IgcGVyLWNwdSBhbGxvY2F0ZWQgbWVtb3J5Cj4gPiA+ICAgLSBQcmludCBz dWNjZXNzZnVsIHJlZ2lzdHJhdGlvbi91bnJlZ2lzdHJhdGlvbiBtZXNzYWdlIHdoZW4gbm8gZXJy b3IKPiA+ID4gICAtIEFkZGVkIFJJU0MtViBERUJVR0dJTkcgc2VjdGlvbiBpbiBNQUlOVEFJTkVS UyBhbmQgYWRkZWQgbXlzZWxmIGFzIG1haW50YWluZXIKPiA+ID4gICAtIEZpeGVkIHdhcm5pbmdz IGZyb20gY2hlY2twYXRjaC5wbCAtLXN0cmljdCBydW4KPiA+ID4KPiA+ID4gQ2hhbmdlcyBmcm9t IHYzOgo+ID4gPiAgIC0gUmViYXNlZCB0byB2Ny4xLXJjMwo+ID4gPiAgIC0gRm9yIHdhdGNocG9p bnRzLCBjaGVjayB0ZGF0YTEuaGl0IHZpYSBTQklfRVhUX0RCVFJfVFJJR19SRUFEIGFuZCBrZWVw Cj4gPiA+ICAgICBTVFZBTC1iYXNlZCBtYXRjaGluZyBhcyBmYWxsYmFjawo+ID4gPiAgIC0gSW1w cm92ZWQgd2F0Y2hwb2ludCBtYXRjaGluZyB3aGVuIFNUVkFMIHJlcG9ydHMgdGhlIGxvd2VzdCBh Y2Nlc3NlZCBhZGRyZXNzCj4gPiA+ICAgICBmb3Igd2lkZXIgbWVtb3J5IGFjY2Vzc2VzCj4gPiA+ ICAgLSBQcm9ncmFtIGV4ZWN1dGUgYnJlYWtwb2ludHMgd2l0aCBTSVpFPTAgKG1hdGNoIGFueSBz aXplKSB0byBhdm9pZCBtaXNzZXMKPiA+ID4gICAgIHdpdGggMTYtYml0L2NvbXByZXNzZWQgaW5z dHJ1Y3Rpb24gYWRkcmVzc2VzCj4gPiA+ICAgLSBVcGRhdGVkIHNlbGZ0ZXN0IHRvIGF2b2lkIGRl YWRsb2NrIGJ5IHJlcGxhY2luZyB1bmJvdW5kZWQgc2VtX3dhaXQoKSB3aXRoCj4gPiA+ICAgICBz ZW1fdGltZWR3YWl0KCkgdGltZW91dCBoYW5kbGluZwo+ID4gPiAgIC0gVXBkYXRlZCBzZWxmdGVz dCBicmVha3BvaW50IGZ1bmN0aW9uIHNvIGl0IGNhbm5vdCBiZSBpbmxpbmVkIG9yIG9wdGltaXpl ZCBhd2F5Cj4gPiA+Cj4gPiA+IENoYW5nZXMgZnJvbSB2MjoKPiA+ID4gICAtIFJlYmFzZWQgdG8g djcuMC1yYzEKPiA+ID4gICAtIEZpeGVkIHdhcm5pbmdzIGZyb20gY2hlY2twYXRjaC5wbCAtLXN0 cmljdCBydW4KPiA+ID4KPiA+ID4gQ2hhbmdlcyBmcm9tIHYxOgo+ID4gPiAgIC0gVGhlIHBhdGNo IGFkZGluZyB0aGUgU0JJIGV4dGVuc2lvbiBhbmQgZnVuY3Rpb24gSURzIGlzIGFscmVhZHkgbWVy Z2VkOyB0aGlzCj4gPiA+ICAgICBzZXJpZXMgYnVpbGRzIG9uIHRvcCBvZiB0aGF0Cj4gPiA+ICAg LSBBZGRlZCBicmVha3BvaW50IHNlbGZ0ZXN0IGluIHRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2Jy ZWFrcG9pbnRzLwo+ID4gPgo+ID4gPiBIb3cgdG8gdXNlOgo+ID4gPiB+fn5+fn5+fn5+fgo+ID4g PiBPcGVuU0JJOgo+ID4gPiAgIGh0dHBzOi8vZ2l0aHViLmNvbS9yaXNjdi1zb2Z0d2FyZS1zcmMv b3BlbnNiaS5naXQKPiA+ID4KPiA+ID4gUUVNVToKPiA+ID4gICBodHRwczovL2dpdGh1Yi5jb20v cWVtdS9xZW11LmdpdAo+ID4gPgo+ID4gPiBMaW51eCBLZXJuZWw6Cj4gPiA+ICAgQXBwbHkgdGhl c2UgcGF0Y2hlcyBvbiB0b3Agb2YgdjcuMi1yYzYuCj4gPiA+Cj4gPiA+IEhvdyB0byB0ZXN0Ogo+ ID4gPiB+fn5+fn5+fn5+fgo+ID4gPiBGcm9tIHRoZSBMaW51eCBrZXJuZWwgZGlyZWN0b3J5LCBm aXJzdCBpbnN0YWxsIHRoZSBVQVBJIGhlYWRlcnMgKHJlcXVpcmVkIG9uIGEKPiA+ID4gZnJlc2gg dHJlZSBzbyB0aGUgY29tcGlsZXIgY2FuIGxvY2F0ZSA8YXNtL3B0cmFjZS5oPiBhbmQgdGhlIG5l dwo+ID4gPiBOVF9SSVNDVl9IV19CUkVBSy9XQVRDSCBkZWZpbml0aW9ucyB2aWEgS0hEUl9JTkNM VURFUyk6Cj4gPiA+Cj4gPiA+ICAgbWFrZSBoZWFkZXJzCj4gPiA+Cj4gPiA+IFRoZW4gYnVpbGQg dGhlIHNlbGZ0ZXN0Ogo+ID4gPgo+ID4gPiAgIG1ha2UgLUMgdG9vbHMvdGVzdGluZy9zZWxmdGVz dHMvYnJlYWtwb2ludHMvCj4gPiA+Cj4gPiA+IFRoaXMgcHJvZHVjZXMgYnJlYWtwb2ludF90ZXN0 X3Jpc2N2IHVuZGVyIHRoZSBzYW1lIGRpcmVjdG9yeS4gTG9hZCBpdCBvbiB0aGUKPiA+ID4gdGFy Z2V0IGFuZCBydW4uIFNhbXBsZSBvdXRwdXQ6Cj4gPiA+Cj4gPiA+ICAgIyAvYXBwcy9icmVha3Bv aW50X3Rlc3RfcmlzY3YKPiA+ID4gICAjIFtwZXJmX2V2ZW50XTogQnJlYWtwb2ludCB0ZXN0IHBh c3NlZCEKPiA+ID4gICAjIFtwZXJmX2V2ZW50XTogV2F0Y2hwb2ludCB0ZXN0IHBhc3NlZCEKPiA+ ID4gICAjIFtwdHJhY2VdOiBCcmVha3BvaW50IHRlc3QgcGFzc2VkIQo+ID4gPiAgICMgcHRyYWNl KFBUUkFDRV9HRVRSRUdTRVQpOiBOdW1iZXIgb2Ygd2F0Y2hwb2ludHM6IDIKPiA+ID4gICAjIHB0 cmFjZShQVFJBQ0VfR0VUUkVHU2V0KTogYWRkcjogMHg4Mjg4OCBjb250cm9sOiAweDgwODAKPiA+ ID4gICAjIFtwdHJhY2VdOiBXYXRjaHBvaW50IHRlc3QgcGFzc2VkIQo+ID4gPiAgICMgW2hicHJl Z3NdIGJyZWFrcG9pbnQgcmVhZGJhY2s6IGFkZHI9MHgxMDQ3MiB0eXBlPTQgbGVuPTQgY3RybD0w Cj4gPiA+ICAgIyBbaGJwcmVnc106IEJyZWFrcG9pbnQgdGVzdCBwYXNzZWQhCj4gPiA+ICAgIyBb aGJwcmVnc10gd2F0Y2hwb2ludCByZWFkYmFjazogYWRkcj0weDgyODg4IHR5cGU9MiBsZW49OCBj dHJsPTAKPiA+ID4gICAjIFtoYnByZWdzXTogV2F0Y2hwb2ludCB0ZXN0IHBhc3NlZCEKPiA+ID4K PiA+ID4gSGltYW5zaHUgQ2hhdWhhbiAoNSk6Cj4gPiA+ICAgcmlzY3Y6IEludHJvZHVjZSBzdXBw b3J0IGZvciBoYXJkd2FyZSBicmVhay93YXRjaHBvaW50cwo+ID4gPiAgIHJpc2N2OiBBZGQgYnJl YWtwb2ludCBhbmQgd2F0Y2hwb2ludCB0ZXN0IGZvciByaXNjdgo+ID4gPiAgIHJpc2N2OiBwdHJh Y2Ugc3VwcG9ydCBmb3IgaGFyZHdhcmUgYnJlYWsvd2F0Y2hwb2ludHMKPiA+ID4gICBzZWxmdGVz dHMvYnJlYWtwb2ludHM6IGV4dGVuZCByaXNjdiB0ZXN0IGZvciBwdHJhY2UgaHcKPiA+ID4gICAg IGJyZWFrL3dhdGNocG9pbnRzCj4gPiA+ICAgTUFJTlRBSU5FUlM6IEFkZCBlbnRyeSBmb3IgUklT Qy1WIERlYnVnZ2luZwo+ID4gPgo+ID4gPiAgTUFJTlRBSU5FUlMgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgICA5ICsKPiA+ID4gIGFyY2gvcmlzY3YvS2NvbmZpZyAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8ICAgMiArCj4gPiA+ICBhcmNoL3Jpc2N2L2luY2x1ZGUvYXNt L2h3X2JyZWFrcG9pbnQuaCAgICAgICAgfCAyOTkgKysrKysrKwo+ID4gPiAgYXJjaC9yaXNjdi9p bmNsdWRlL2FzbS9rZGVidWcuaCAgICAgICAgICAgICAgIHwgICAzICstCj4gPiA+ICBhcmNoL3Jp c2N2L2luY2x1ZGUvYXNtL3Byb2Nlc3Nvci5oICAgICAgICAgICAgfCAgMTggKwo+ID4gPiAgYXJj aC9yaXNjdi9pbmNsdWRlL3VhcGkvYXNtL3B0cmFjZS5oICAgICAgICAgIHwgIDUzICsrCj4gPiA+ ICBhcmNoL3Jpc2N2L2tlcm5lbC9NYWtlZmlsZSAgICAgICAgICAgICAgICAgICAgfCAgIDEgKwo+ ID4gPiAgYXJjaC9yaXNjdi9rZXJuZWwvaHdfYnJlYWtwb2ludC5jICAgICAgICAgICAgIHwgNjc3 ICsrKysrKysrKysrKysrKysKPiA+ID4gIGFyY2gvcmlzY3Yva2VybmVsL3Byb2Nlc3MuYyAgICAg ICAgICAgICAgICAgICB8ICAgNSArCj4gPiA+ICBhcmNoL3Jpc2N2L2tlcm5lbC9wdHJhY2UuYyAg ICAgICAgICAgICAgICAgICAgfCA1MDcgKysrKysrKysrKysrCj4gPiA+ICBhcmNoL3Jpc2N2L2tl cm5lbC90cmFwcy5jICAgICAgICAgICAgICAgICAgICAgfCAgIDYgKwo+ID4gPiAgaW5jbHVkZS91 YXBpL2xpbnV4L2VsZi5oICAgICAgICAgICAgICAgICAgICAgIHwgICA0ICsKPiA+ID4gIHRvb2xz L2luY2x1ZGUvdWFwaS9saW51eC9lbGYuaCAgICAgICAgICAgICAgICB8ICAgMiArCj4gPiA+ICB0 b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icmVha3BvaW50cy9NYWtlZmlsZSAgfCAgIDUgKwo+ID4g PiAgLi4uL2JyZWFrcG9pbnRzL2JyZWFrcG9pbnRfdGVzdF9yaXNjdi5jICAgICAgIHwgNzY1ICsr KysrKysrKysrKysrKysrKwo+ID4gPiAgMTUgZmlsZXMgY2hhbmdlZCwgMjM1NSBpbnNlcnRpb25z KCspLCAxIGRlbGV0aW9uKC0pCj4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgYXJjaC9yaXNjdi9p bmNsdWRlL2FzbS9od19icmVha3BvaW50LmgKPiA+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBhcmNo L3Jpc2N2L2tlcm5lbC9od19icmVha3BvaW50LmMKPiA+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCB0 b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icmVha3BvaW50cy9icmVha3BvaW50X3Rlc3RfcmlzY3Yu Ywo+ID4gPgo+ID4gPiAtLQo+ID4gPiAyLjQzLjAKPiA+ID4KPiA+Cj4gPgo+ID4gX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiA+IGxpbnV4LXJpc2N2IG1h aWxpbmcgbGlzdAo+ID4gbGludXgtcmlzY3ZAbGlzdHMuaW5mcmFkZWFkLm9yZwo+ID4gaHR0cDov L2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1yaXNjdgoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtcmlzY3YgbWFp bGluZyBsaXN0CmxpbnV4LXJpc2N2QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmlu ZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1yaXNjdgo=