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 49345C44512 for ; Mon, 20 Jul 2026 03:15:07 +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=gTPDCQmHa/Q6tDP20bF0U7EqNR88RPFbq49z10DMXaM=; b=ui3kWMxYWilKyg rnWnK0olcICcW6xvVx4mNKkfi+O2oALvVe1fl1GwY4r2vRZfqkuHRdP68bA4t3IAxIPXD98R2WrSA s5QBPnT2zg9p00GveWCHfbIl4lU7TdfXhIT3gsfRHqVslrv4GhzKeEbSikl34L3xjbeTVrd/APfCz Wudf4D6IXc7rOUxLlQ+Y1JjuWG8xHFT3hXFk10qSw21HuPPZp0lMkofH5RprgOzbQKn7vtshiLWTM Qq0ghiA/mA4MKwELYLNWa5y3U0xlXf/IbriLhWRq6ECiYxpoKSWIkRsKq7rqzAwEGxsk1B5hTaF79 XBKuD18/czaoBew/fVRw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wleT1-00000005kEe-3tIa; Mon, 20 Jul 2026 03:14:55 +0000 Received: from mail-pg1-x530.google.com ([2607:f8b0:4864:20::530]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1wleSz-00000005kDc-1QoE for opensbi@lists.infradead.org; Mon, 20 Jul 2026 03:14:54 +0000 Received: by mail-pg1-x530.google.com with SMTP id 41be03b00d2f7-cb5a6aa8cf4so1306556a12.3 for ; Sun, 19 Jul 2026 20:14:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1784517292; x=1785122092; 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=2kReanWVowIeSJPXRas7pqJwTH+5Q+O/5yKqesMZsSQ=; b=Ksrfw4KFkW10M8hIcpc5VUcbYB9oyXaE2VB6R76MrvZzTXGPoENzWDwAHSNEezk7Jc rAAE/ZwC67JbV5jD4NTEsDj+cbK3fl6XHIqJ8dZwVB6t9HOKHNYkh2z+eupiydLn88Vw uB9z9zLnYBsKvbSibhP9Cwug4X/SgqDmffv+wd5wUWzhvUkEqGJrno77xPbAPT4lrmjo TjEcQitLJq8xNjuCwWerCSe9N/PfTY7mOSxdFqgp+4PEzMdARriaGASWi8T76CF+EchL sGWjurMNdPNWLEWkPMId9r6AlHP8TvzsU4MNcj2P0hnsNWArn/nwxR5kkFEFHHBL8OjZ 6Hlg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784517292; x=1785122092; 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=2kReanWVowIeSJPXRas7pqJwTH+5Q+O/5yKqesMZsSQ=; b=LMeoFbPVrhzv0SoRL8XPvqsHGL106LvsBlB8Wn0gpcwXEd5ElA2HjJ1jFZdMsx6a0I MFzmkrqP5NTYipBE+21IpFgnLLbmu1spuatIohFzRYB+VuwvKnEsoIY5dbYd0zrJ4N7z tylM1yyF14W2K+FsKr1RAMY4Tnp8yu0LQ2sYunmuf9t/+Q+sjz/GbabZxLHULIjquTVn 27X4xcq+H6FXOmuFqjpKhGW+1mG4TW234ir3zSNDthZJLtNxbUbCf5m5+p8LgV8fbBuS uD0RhkfQLQyGZD3urEj6N7PhOkL1OMeXkvXlf75D/efQ8OBAGwdyHphQxWemliXVxxRJ 0vsQ== X-Gm-Message-State: AOJu0Yzn+/RHdpcaDqjscEuUH4p7yFt0iWRQXESg2UsQ5m+2WaUZt5rD UN2qwc2moLZEMiOipEl44MTWviTa1afx+loWuPftpsBFTNjayL1TacLvP0D2mXyqJadJ+B0uhCY 56eRRb1M= X-Gm-Gg: AfdE7clCAQhBSU7fbECBLanuyb1us12sEMFJ7E0o1dSdPJaPFGl0P69xGHYNZsnf+Ig qrD2sEROZDsyHPajErpLAJA23a+U5ARXOLYAJlEYl0L+XcajEpzA778lT6PYM/7joK+5Z0kWiJB KBHxg6vzsfL3tghw05SbN94QoPf2EtgLbpz9MK5yEIQx6EgGu0DNfih0hsue+/WkKhAuqsVeMFr zmKRZRiQt5/GibFesigax/oIVioUY32eqeD8M3W5ucdK80OwlQeZ4vkV0eqBDxcMok5pSfRVSZB HuIddFYMxIBNyefbUfo2KUR8fu1JL2cXzJ4LWBRVgemUgJkW3chZs8rgsPfad78z5I5PCH94AYN snskIA/ZSuI5uhzEtj/uIGsiB7DQ//5BR2ESo02nnnHP1Quvu+qhN3kvIk6Xe9QvFVXDyQ1CpYt vN X-Received: by 2002:a05:6a00:1382:b0:846:7507:4e07 with SMTP id d2e1a72fcca58-84c29505e28mr12468349b3a.39.1784517291868; Sun, 19 Jul 2026 20:14:51 -0700 (PDT) Received: from plin-1878 ([136.226.240.191]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-84c2af6e401sm4777669b3a.48.2026.07.19.20.14.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 19 Jul 2026 20:14:51 -0700 (PDT) Date: Mon, 20 Jul 2026 11:14:46 +0800 From: Yu-Chien Peter Lin To: Pawandeep Oza Cc: opensbi@lists.infradead.org, zong.li@sifive.com, greentime.hu@sifive.com, anup@brainfault.org, scott@riscstar.com, conor@kernel.org, dave.patel@riscstar.com, raymond.mao@riscstar.com, robin.randhawa@sifive.com, samuel.holland@sifive.com Subject: Re: [RFC PATCH 01/12] lib: sbi_hart: detect RISC-V Worlds ISA extensions Message-ID: References: <20260626101433.3133466-1-peter.lin@sifive.com> <20260626101433.3133466-2-peter.lin@sifive.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-20260719_201453_401698_13CDB9C3 X-CRM114-Status: GOOD ( 22.17 ) X-BeenThere: opensbi@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: "opensbi" Errors-To: opensbi-bounces+opensbi=archiver.kernel.org@lists.infradead.org SGkgT3phLAoKT24gTW9uLCBKdWwgMTMsIDIwMjYgYXQgMDE6NTg6NDJQTSAtMDcwMCwgUGF3YW5k ZWVwIE96YSB3cm90ZToKPiBPbiBGcmksIEp1biAyNiwgMjAyNiBhdCAzOjE24oCvQU0gWXUtQ2hp ZW4gUGV0ZXIgTGluIDxwZXRlci5saW5Ac2lmaXZlLmNvbT4gd3JvdGU6Cj4gPgo+ID4gQWRkIGRl dGVjdGlvbiBmb3IgUklTQy1WIFdvcmxkcyBJU0EgZXh0ZW5zaW9ucyAoU213aWQsIFNtbHdpZCwK PiA+IFNtbHdpZGxpc3QsIFNtd2lkZGVsZWcsIFNzd2lkKSB2aWEgSVNBIHN0cmluZyBkZXRlY3Rp b24gYW5kCj4gPiBDU1IgcHJvYmVzLgo+ID4KPiA+IFRoZXNlIGZlYXR1cmUgZmxhZ3MgZW5hYmxl IHN1YnNlcXVlbnQgcGF0Y2hlcyB0byBjb25kaXRpb25hbGx5Cj4gPiBjb25maWd1cmUgV29ybGQg SUQgQ1NScyBhbmQgcHJpbnQgYm9vdC10aW1lIFdvcmxkcyBzdGF0dXMuCj4gPgo+ID4gU2lnbmVk LW9mZi1ieTogWXUtQ2hpZW4gUGV0ZXIgTGluIDxwZXRlci5saW5Ac2lmaXZlLmNvbT4KPiA+IC0t LQo+ID4gIGluY2x1ZGUvc2JpL3Jpc2N2X2VuY29kaW5nLmggfCAxMiArKysrKysrKysKPiA+ICBp bmNsdWRlL3NiaS9zYmlfaGFydC5oICAgICAgIHwgMTAgKysrKysrKwo+ID4gIGxpYi9zYmkvc2Jp X2hhcnQuYyAgICAgICAgICAgfCA1MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysKPiA+ICAzIGZpbGVzIGNoYW5nZWQsIDczIGluc2VydGlvbnMoKykKPiA+Cj4gPiBkaWZmIC0t Z2l0IGEvaW5jbHVkZS9zYmkvcmlzY3ZfZW5jb2RpbmcuaCBiL2luY2x1ZGUvc2JpL3Jpc2N2X2Vu Y29kaW5nLmgKPiA+IGluZGV4IGZmZTc2NjZjLi4yNzE4MjBmZCAxMDA2NDQKPiA+IC0tLSBhL2lu Y2x1ZGUvc2JpL3Jpc2N2X2VuY29kaW5nLmgKPiA+ICsrKyBiL2luY2x1ZGUvc2JpL3Jpc2N2X2Vu Y29kaW5nLmgKPiA+IEBAIC00MDAsNiArNDAwLDkgQEAKPiA+ICAvKiBTdXBlcnZpc29yIFJlc291 cmNlIE1hbmFnZW1lbnQgQ29uZmlndXJhdGlvbiBDU1JzICovCj4gPiAgI2RlZmluZSBDU1JfU1JN Q0ZHICAgICAgICAgICAgICAgICAgICAgMHgxODEKPiA+Cj4gPiArLyogU3VwZXJ2aXNvciBXb3Js ZC1JRCBDU1IgKFNzd2lkKSAqLwo+ID4gKyNkZWZpbmUgQ1NSX1NMV0lEICAgICAgICAgICAgICAg ICAgICAgIDB4MTkwCj4gT3phOiBNaXNsZWFkaW5nIGNvbW1lbnQgLQo+IHNob3VsZCBiZQo+IFN1 cGVydmlzb3IgV0lEIHZhbHVlIGZvciBsb3dlciBwcml2aWxlZ2UgbW9kZXMgUmVnaXN0ZXIKCk9r YXksIHdpbGwgaW1wcm92ZSB3b3JkaW5nLgoKPiA+ICsKPiA+ICAvKiBNYWNoaW5lLUxldmVsIENv bnRyb2wgdHJhbnNmZXIgcmVjb3JkcyBDU1JzICovCj4gPiAgI2RlZmluZSBDU1JfTUNUUkNUTCAg ICAgICAgICAgICAgICAgICAgIDB4MzRlCj4gPgo+ID4gQEAgLTUyMCw2ICs1MjMsMTUgQEAKPiA+ ICAjZGVmaW5lIENTUl9NVElOU1QgICAgICAgICAgICAgICAgICAgICAweDM0YQo+ID4gICNkZWZp bmUgQ1NSX01UVkFMMiAgICAgICAgICAgICAgICAgICAgIDB4MzRiCj4gPgo+ID4gKy8qIE1hY2hp bmUgV29ybGQtSUQgQ1NScyAoU213aWQsIFNtbHdpZCwgU21sd2lkbGlzdCwgU213aWRkZWxlZykg Ki8KPiA+ICsjZGVmaW5lIENTUl9NTFdJRCAgICAgICAgICAgICAgICAgICAgICAweDM5MAo+ID4g KyNkZWZpbmUgQ1NSX01XSUQgICAgICAgICAgICAgICAgICAgICAgIDB4MzkxCj4gPiArI2RlZmlu ZSBDU1JfTVdJRERFTEVHICAgICAgICAgICAgICAgICAgMHg3NDgKPiA+ICsjZGVmaW5lIENTUl9N TFdJRExJU1QgICAgICAgICAgICAgICAgICAweDc0OQo+ID4gKwo+ID4gKy8qIG13aWQgbG9jayBi aXQgKi8KPiA+ICsjZGVmaW5lIE1XSURfTE9DSyAgICAgICAgICAgICAgICAgICAgICAoX1VMKDEp IDw8IChfX3Jpc2N2X3hsZW4gLSAxKSkKPiA+ICsKPiA+ICAvKiBNYWNoaW5lIE1lbW9yeSBQcm90 ZWN0aW9uICovCj4gPiAgI2RlZmluZSBDU1JfUE1QQ0ZHMCAgICAgICAgICAgICAgICAgICAgMHgz YTAKPiA+ICAjZGVmaW5lIENTUl9QTVBDRkcxICAgICAgICAgICAgICAgICAgICAweDNhMQo+ID4g ZGlmZiAtLWdpdCBhL2luY2x1ZGUvc2JpL3NiaV9oYXJ0LmggYi9pbmNsdWRlL3NiaS9zYmlfaGFy dC5oCj4gPiBpbmRleCA1NDMzOTNiYi4uMjk0MTgwOWUgMTAwNjQ0Cj4gPiAtLS0gYS9pbmNsdWRl L3NiaS9zYmlfaGFydC5oCj4gPiArKysgYi9pbmNsdWRlL3NiaS9zYmlfaGFydC5oCj4gPiBAQCAt OTUsNiArOTUsMTYgQEAgZW51bSBzYmlfaGFydF9leHRlbnNpb25zIHsKPiA+ICAgICAgICAgU0JJ X0hBUlRfRVhUX0YsCj4gPiAgICAgICAgIC8qKiBIYXJ0IGhhcyBEIGV4dGVuc2lvbiAqLwo+ID4g ICAgICAgICBTQklfSEFSVF9FWFRfRCwKPiA+ICsgICAgICAgLyoqIEhhcnQgaGFzIFNtd2lkIGV4 dGVuc2lvbiAqLwo+ID4gKyAgICAgICBTQklfSEFSVF9FWFRfU01XSUQsCj4gPiArICAgICAgIC8q KiBIYXJ0IGhhcyBTbWx3aWQgZXh0ZW5zaW9uICovCj4gPiArICAgICAgIFNCSV9IQVJUX0VYVF9T TUxXSUQsCj4gPiArICAgICAgIC8qKiBIYXJ0IGhhcyBTbWx3aWRsaXN0IGV4dGVuc2lvbiAqLwo+ ID4gKyAgICAgICBTQklfSEFSVF9FWFRfU01MV0lETElTVCwKPiA+ICsgICAgICAgLyoqIEhhcnQg aGFzIFNtd2lkZGVsZWcgZXh0ZW5zaW9uICovCj4gPiArICAgICAgIFNCSV9IQVJUX0VYVF9TTVdJ RERFTEVHLAo+ID4gKyAgICAgICAvKiogSGFydCBoYXMgU3N3aWQgZXh0ZW5zaW9uICovCj4gPiAr ICAgICAgIFNCSV9IQVJUX0VYVF9TU1dJRCwKPiA+Cj4gPiAgICAgICAgIC8qKiBNYXhpbXVtIGlu ZGV4IG9mIEhhcnQgZXh0ZW5zaW9uICovCj4gPiAgICAgICAgIFNCSV9IQVJUX0VYVF9NQVgsCj4g PiBkaWZmIC0tZ2l0IGEvbGliL3NiaS9zYmlfaGFydC5jIGIvbGliL3NiaS9zYmlfaGFydC5jCj4g PiBpbmRleCAyMTcxMzgxNi4uMGM1ODRiZmMgMTAwNjQ0Cj4gPiAtLS0gYS9saWIvc2JpL3NiaV9o YXJ0LmMKPiA+ICsrKyBiL2xpYi9zYmkvc2JpX2hhcnQuYwo+ID4gQEAgLTQwMiw2ICs0MDIsMTEg QEAgY29uc3Qgc3RydWN0IHNiaV9oYXJ0X2V4dF9kYXRhIHNiaV9oYXJ0X2V4dFtdID0gewo+ID4g ICAgICAgICBfX1NCSV9IQVJUX0VYVF9EQVRBKHYsIFNCSV9IQVJUX0VYVF9WKSwKPiA+ICAgICAg ICAgX19TQklfSEFSVF9FWFRfREFUQShmLCBTQklfSEFSVF9FWFRfRiksCj4gPiAgICAgICAgIF9f U0JJX0hBUlRfRVhUX0RBVEEoZCwgU0JJX0hBUlRfRVhUX0QpLAo+ID4gKyAgICAgICBfX1NCSV9I QVJUX0VYVF9EQVRBKHNtd2lkLCBTQklfSEFSVF9FWFRfU01XSUQpLAo+ID4gKyAgICAgICBfX1NC SV9IQVJUX0VYVF9EQVRBKHNtbHdpZCwgU0JJX0hBUlRfRVhUX1NNTFdJRCksCj4gPiArICAgICAg IF9fU0JJX0hBUlRfRVhUX0RBVEEoc21sd2lkbGlzdCwgU0JJX0hBUlRfRVhUX1NNTFdJRExJU1Qp LAo+ID4gKyAgICAgICBfX1NCSV9IQVJUX0VYVF9EQVRBKHNtd2lkZGVsZWcsIFNCSV9IQVJUX0VY VF9TTVdJRERFTEVHKSwKPiA+ICsgICAgICAgX19TQklfSEFSVF9FWFRfREFUQShzc3dpZCwgU0JJ X0hBUlRfRVhUX1NTV0lEKSwKPiA+ICB9Owo+ID4KPiA+ICBfU3RhdGljX2Fzc2VydChTQklfSEFS VF9FWFRfTUFYID09IGFycmF5X3NpemUoc2JpX2hhcnRfZXh0KSwKPiA+IEBAIC02ODksNiArNjk0 LDUyIEBAIF9fcG1wX3NraXA6Cj4gPiAgICAgICAgIC8qIERldGVjdCBpZiBoYXJ0IHN1cHBvcnQg c2R0cmlnIChkZWJ1ZyB0cmlnZ2VycykgKi8KPiA+ICAgICAgICAgX19jaGVja19leHRfY3NyKFNC SV9IQVJUX1BSSVZfVkVSX1VOS05PV04sCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICBDU1Jf VFNFTEVDVCwgU0JJX0hBUlRfRVhUX1NEVFJJRyk7Cj4gPiArICAgICAgIC8qIERldGVjdCBpZiBo YXJ0IHN1cHBvcnRzIFNtd2lkIChtd2lkIENTUikgKi8KPiA+ICsgICAgICAgX19jaGVja19leHRf Y3NyKFNCSV9IQVJUX1BSSVZfVkVSX1VOS05PV04sCj4gPiArICAgICAgICAgICAgICAgICAgICAg ICBDU1JfTVdJRCwgU0JJX0hBUlRfRVhUX1NNV0lEKTsKPiA+ICsgICAgICAgLyogRGV0ZWN0IGlm IGhhcnQgc3VwcG9ydHMgU21sd2lkIChtbHdpZCBDU1IpICovCj4gPiArICAgICAgIF9fY2hlY2tf ZXh0X2NzcihTQklfSEFSVF9QUklWX1ZFUl9VTktOT1dOLAo+ID4gKyAgICAgICAgICAgICAgICAg ICAgICAgQ1NSX01MV0lELCBTQklfSEFSVF9FWFRfU01MV0lEKTsKPiA+ICsgICAgICAgLyogRGV0 ZWN0IGlmIGhhcnQgc3VwcG9ydHMgU21sd2lkbGlzdCAobWx3aWRsaXN0IENTUikuICovCj4gPiAr ICAgICAgIF9fY2hlY2tfZXh0X2NzcihTQklfSEFSVF9QUklWX1ZFUl9VTktOT1dOLAo+ID4gKyAg ICAgICAgICAgICAgICAgICAgICAgQ1NSX01MV0lETElTVCwgU0JJX0hBUlRfRVhUX1NNTFdJRExJ U1QpOwo+ID4gKyAgICAgICAvKgo+ID4gKyAgICAgICAgKiBEZXRlY3QgaWYgaGFydCBzdXBwb3J0 cyBTbXdpZGRlbGVnICYgU3N3aWQuCj4gPiArICAgICAgICAqIFNtd2lkZGVsZWcgcmVxdWlyZXMg U21sd2lkLiBTc3dpZCByZXF1aXJlcyBTbXdpZGRlbGVnLgo+ID4gKyAgICAgICAgKi8KPiA+ICsg ICAgICAgaWYgKHNiaV9oYXJ0X2hhc19leHRlbnNpb24oc2NyYXRjaCwgU0JJX0hBUlRfRVhUX1NN TFdJRCkpIHsKPiA+ICsgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIG9sZF9td2lkZGVsZWcs IG5ld19td2lkZGVsZWc7Cj4gPiArCj4gPiArICAgICAgICAgICAgICAgb2xkX213aWRkZWxlZyA9 IGNzcl9yZWFkX2FsbG93ZWQoQ1NSX01XSURERUxFRywgJnRyYXApOwo+IE96YTogd2h5IG5vdCB1 c2UgX19jaGVja19leHRfY3NyIGF0IGFsbCB0aGUgZm9sbG93aW5nID8KClllcywgX19jaGVja19l eHRfY3NyKENTUl9NV0lEREVMRUcsIFNCSV9IQVJUX0VYVF9TTVdJRERFTEVHKSBpcwpzdWZmaWNp ZW50IFNtd2lkZGVsZWcgd2hpY2ggYWxzbyBpbXBsaWVzIFNzd2lkLgoKV2lsbCB1cGRhdGUgdGhl IElTQSBkZXRlY3Rpb24gaGVyZS4KClRoYW5rcywKUGV0ZXIgTGluCgo+ID4gKyAgICAgICAgICAg ICAgIGlmICh0cmFwLmNhdXNlKQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgZ290byBza2lw X3Ntd2lkZGVsZWc7Cj4gPiArCj4gPiArICAgICAgICAgICAgICAgY3NyX3dyaXRlX2FsbG93ZWQo Q1NSX01XSURERUxFRywgJnRyYXAsIH4wVUwpOwo+ID4gKyAgICAgICAgICAgICAgIGlmICh0cmFw LmNhdXNlKQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgZ290byBza2lwX3Ntd2lkZGVsZWc7 Cj4gPiArCj4gPiArICAgICAgICAgICAgICAgbmV3X213aWRkZWxlZyA9IGNzcl9yZWFkX2FsbG93 ZWQoQ1NSX01XSURERUxFRywgJnRyYXApOwo+ID4gKyAgICAgICAgICAgICAgIGlmICh0cmFwLmNh dXNlKSB7Cj4gPiArICAgICAgICAgICAgICAgICAgICAgICBjc3Jfd3JpdGUoQ1NSX01XSURERUxF Rywgb2xkX213aWRkZWxlZyk7Cj4gPiArICAgICAgICAgICAgICAgICAgICAgICBnb3RvIHNraXBf c213aWRkZWxlZzsKPiA+ICsgICAgICAgICAgICAgICB9Cj4gPiArCj4gPiArICAgICAgICAgICAg ICAgaWYgKG5ld19td2lkZGVsZWcpIHsKPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIF9fc2Jp X2hhcnRfdXBkYXRlX2V4dGVuc2lvbihoZmVhdHVyZXMsCj4gPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0JJX0hBUlRfRVhUX1NNV0lEREVMRUcs IHRydWUpOwo+ID4gKwo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgY3NyX3JlYWRfYWxsb3dl ZChDU1JfU0xXSUQsICZ0cmFwKTsKPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIGlmICghdHJh cC5jYXVzZSkgewo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX3NiaV9oYXJ0 X3VwZGF0ZV9leHRlbnNpb24oaGZlYXR1cmVzLAo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0JJX0hBUlRfRVhUX1NTV0lELCB0 cnVlKTsKPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIH0KPiA+ICsgICAgICAgICAgICAgICB9 Cj4gPiArCj4gPiArICAgICAgICAgICAgICAgY3NyX3dyaXRlKENTUl9NV0lEREVMRUcsIG9sZF9t d2lkZGVsZWcpOwo+ID4gKwo+ID4gK3NraXBfc213aWRkZWxlZzoKPiA+ICsgICAgICAgICAgICAg ICA7Cj4gPiArICAgICAgIH0KPiA+Cj4gPiAgI3VuZGVmIF9fY2hlY2tfZXh0X2Nzcgo+ID4KPiA+ IC0tCj4gPiAyLjQzLjcKPiA+Cj4gPgo+ID4gLS0KPiA+IG9wZW5zYmkgbWFpbGluZyBsaXN0Cj4g PiBvcGVuc2JpQGxpc3RzLmluZnJhZGVhZC5vcmcKPiA+IGh0dHA6Ly9saXN0cy5pbmZyYWRlYWQu b3JnL21haWxtYW4vbGlzdGluZm8vb3BlbnNiaQoKLS0gCm9wZW5zYmkgbWFpbGluZyBsaXN0Cm9w ZW5zYmlAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWls bWFuL2xpc3RpbmZvL29wZW5zYmkK