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 EFDB3C77B7C for ; Fri, 5 May 2023 13:35:31 +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: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:References: List-Owner; bh=vUSVTTQ5jg7two4OmmwGLWoMXfHWCbY/gidOLY/xjOY=; b=rjg4xGEE5Buow9 /aTY1jqvpo7ScgKzLPcCDewJ9xigBFmoU0pB/W9/QTDw47a9h5M/ZFNh06eV59DKgRLdaWeHr8b7c 7A1czQZkKZkJ+WxGUvhSouHuuIJBJduecjvKFzsDBCiwm6GxKRzku8+xci+dyeE7uMq0r9ioE2XMl AsG570gJ4/AMi5DFgXoJFtohFkOKIa2Ofw6WuAi0O7TgIwHfKNl/JGBeisMVfnwq7QiA0V9Uzhv+A IjE7Zj3eeK070nuOZyOdLS2QVvzJtpA63y8UuX3XYSYPg5CpQLb78VQQsiL9+OB8ECYBdH+w819G5 kIfNqQzau4pofPfIAw6w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1puvZj-00Azru-2y; Fri, 05 May 2023 13:34:19 +0000 Received: from dfw.source.kernel.org ([139.178.84.217]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1puvZg-00Azr6-1c; Fri, 05 May 2023 13:34:18 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 6C590611DF; Fri, 5 May 2023 13:34:15 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8D527C433EF; Fri, 5 May 2023 13:34:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1683293654; bh=8OHhWbjGGY4ShQjnaEK0msF2cvXdAayAcrz4jVEYzGY=; h=Date:From:To:Cc:Subject:In-Reply-To:From; b=N64COgR4HhkrYOMQ7aljOBROUuuT3FGJ4glbyjBSuI/tP3+HT6x0fE8i0R/VkRfyA fFYPXMA15HBeLEdaczrwy/Ra2IVA8HnlODrzBj7P0PPnrddtQPTBwr2sUzQl6x0+mE 0AWs/J56LBOxzJ0dz8kyPaAfbWvJgdBF3eb8u3+OTXCurQeoCnx79m25J4QBr3eazH dJXsc0Gcko9V3UjxId5Mu61CLzPFHuvb32mLnunTDz7UtI92NNoWxwQWk64SmUevBE 875VJr06bOo5lDbT17LV4V/c5B1kQohJeIg0zwVvvBVrdUhM+dXlF/q8WHoM7QHbK2 FXiwcA7NOm9YA== Date: Fri, 5 May 2023 08:34:12 -0500 From: Bjorn Helgaas To: Jim Quinlan Cc: Jim Quinlan , linux-pci@vger.kernel.org, Nicolas Saenz Julienne , Bjorn Helgaas , Lorenzo Pieralisi , Cyril Brulebois , Phil Elwell , bcm-kernel-feedback-list@broadcom.com, Florian Fainelli , Lorenzo Pieralisi , Krzysztof =?utf-8?Q?Wilczy=C5=84ski?= , Rob Herring , Krzysztof Kozlowski , "moderated list:BROADCOM BCM7XXX ARM ARCHITECTURE" , "moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE" , "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" , open list Subject: Re: [PATCH v4 1/5] dt-bindings: PCI: brcmstb: brcm,{enable-l1ss,completion-timeout-us} props Message-ID: <20230505133412.GA943932@bhelgaas> 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-20230505_063416_637071_EFC4E874 X-CRM114-Status: GOOD ( 58.12 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gRnJpLCBNYXkgMDUsIDIwMjMgYXQgMDg6Mzk6NTJBTSAtMDQwMCwgSmltIFF1aW5sYW4gd3Jv dGU6Cj4gT24gV2VkLCBNYXkgMywgMjAyMyBhdCA2OjE44oCvUE0gQmpvcm4gSGVsZ2FhcyA8aGVs Z2Fhc0BrZXJuZWwub3JnPiB3cm90ZToKPiA+IE9uIFdlZCwgTWF5IDAzLCAyMDIzIGF0IDA1OjM4 OjE1UE0gLTA0MDAsIEppbSBRdWlubGFuIHdyb3RlOgo+ID4gPiBPbiBXZWQsIE1heSAzLCAyMDIz IGF0IDI6MDfigK9QTSBCam9ybiBIZWxnYWFzIDxoZWxnYWFzQGtlcm5lbC5vcmc+IHdyb3RlOgo+ ID4gPiA+IE9uIFdlZCwgTWF5IDAzLCAyMDIzIGF0IDEwOjM4OjU3QU0gLTA0MDAsIEppbSBRdWlu bGFuIHdyb3RlOgo+ID4gPiA+ID4gT24gU3VuLCBBcHIgMzAsIDIwMjMgYXQgMzoxMOKAr1BNIEJq b3JuIEhlbGdhYXMgPGhlbGdhYXNAa2VybmVsLm9yZz4gd3JvdGU6Cj4gPiA+ID4gPiA+IE9uIEZy aSwgQXByIDI4LCAyMDIzIGF0IDA2OjM0OjU1UE0gLTA0MDAsIEppbSBRdWlubGFuIHdyb3RlOgo+ ID4gPiA+ID4gPiA+IGJyY20sZW5hYmxlLWwxc3MgKGJvb2wpOgo+ID4gPiA+ID4gPiA+Cj4gPiA+ ID4gPiA+ID4gICBUaGUgQnJvYWRjb20gU1RCL0NNIFBDSWUgSFcgLS0gYSBjb3JlIHRoYXQgaXMg YWxzbyB1c2VkIGJ5IFJQaSBTT0NzIC0tCj4gPiA+ID4gPiA+ID4gICByZXF1aXJlcyB0aGUgZHJp dmVyIHByb2JlKCkgdG8gZGVsaWJlcmF0ZWx5IHBsYWNlIHRoZSBIVyBvbmUgb2YgdGhyZWUKPiA+ ID4gPiA+ID4gPiAgIENMS1JFUSMgbW9kZXM6Cj4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiAg IChhKSBDTEtSRVEjIGRyaXZlbiBieSB0aGUgUkMgdW5jb25kaXRpb25hbGx5Cj4gPiA+ID4gPiA+ ID4gICAoYikgQ0xLUkVRIyBkcml2ZW4gYnkgdGhlIEVQIGZvciBBU1BNIEwwcywgTDEKPiA+ID4g PiA+ID4gPiAgIChjKSBCaWRpcmVjdGlvbmFsIENMS1JFUSMsIGFzIHVzZWQgZm9yIEwxIFN1YnN0 YXRlcyAoTDFTUykuCj4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiAgIFRoZSBIVytkcml2ZXIg Y2FuIHRlbGwgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBkb3duc3RyZWFtIGRldmljZXMgdGhhdAo+ ID4gPiA+ID4gPiA+ICAgbmVlZCAoYSkgYW5kIChiKSwgYnV0IGRvZXMgbm90IGtub3cgd2hlbiB0 byBjb25maWd1cmUgKGMpLiAgQWxsIGRldmljZXMKPiA+ID4gPiA+ID4gPiAgIHNob3VsZCB3b3Jr IGZpbmUgd2hlbiB0aGUgZHJpdmVyIGNob29zZXMgKGEpIG9yIChiKSwgYnV0IChjKSBtYXkgYmUK PiA+ID4gPiA+ID4gPiAgIGRlc2lyZWQgdG8gcmVhbGl6ZSB0aGUgZXh0cmEgcG93ZXIgc2F2aW5n cyB0aGF0IEwxU1Mgb2ZmZXJzLiAgU28gd2UKPiA+ID4gPiA+ID4gPiAgIGludHJvZHVjZSB0aGUg Ym9vbGVhbiAiYnJjbSxlbmFibGUtbDFzcyIgcHJvcGVydHkgdG8gaW5mb3JtIHRoZSBkcml2ZXIK PiA+ID4gPiA+ID4gPiAgIHRoYXQgKGMpIGlzIGRlc2lyZWQuICBTZXR0aW5nIHRoaXMgcHJvcGVy dHkgb25seSBtYWtlcyBzZW5zZSB3aGVuIHRoZQo+ID4gPiA+ID4gPiA+ICAgZG93bnN0cmVhbSBk ZXZpY2UgaXMgTDFTUy1jYXBhYmxlIGFuZCB0aGUgT1MgaXMgY29uZmlndXJlZCB0byBhY3RpdmF0 ZQo+ID4gPiA+ID4gPiA+ICAgdGhpcyBtb2RlIChlLmcuIHBvbGljeT09c3VwZXJwb3dlcnNhdmUp LgoKSnVzdCBub3RpY2VkIHRoYXQgdGhpcyBzaG91bGQgYmUgInBvbGljeT09cG93ZXJzdXBlcnNh dmUiCgo+ID4gPiA+ID4gPiBXaGF0IGJhZCB0aGluZ3Mgd291bGQgaGFwcGVuIGlmIHRoZSBkcml2 ZXIgYWx3YXlzIGNvbmZpZ3VyZWQgKGMpPwo+ID4gPiA+ID4KPiA+ID4gPiA+IFdlbGwsIG91ciBk cml2ZXIgaGFzIHRyYWRpdGlvbmFsbHkgb25seSBzdXBwb3J0ZWQgKGIpIGFuZCBvdXIKPiA+ID4g PiA+IGV4aXN0aW5nIGJvYXJkcyBoYXZlIGJlZW4gZGVzaWduZWQgd2l0aCB0aGlzIGluIG1pbmQu ICBJIHdvdWxkIG5vdAo+ID4gPiA+ID4gd2FudCB0byBzd2l0Y2ggbW9kZXMgdydvIHRoZSB1c2Vy L2N1c3RvbWVyL2VuZ2luZWVyIG9wdGluZy1pbiB0byBkbwo+ID4gPiA+ID4gc28uICBGdXJ0aGVy LCB0aGUgUENJZSBIVyBlbmdpbmVlciB0b2xkIG1lIGRlZmF1bHRpbmcgdG8gKGMpIHdhcyBhCj4g PiA+ID4gPiBiYWQgaWRlYSBhbmQgd2FzICJhc2tpbmcgZm9yIHRyb3VibGUiLiAgTm90ZSB0aGF0 IHRoZSBjb21taXQncwo+ID4gPiA+ID4gY29tbWVudCBoYXMgdGhhdCB3YXJuaW5nIGFib3V0IEwx U1MgbW9kZSBub3QgbWVldGluZyB0aGlzIDQwMG5zCj4gPiA+ID4gPiBzcGVjLCBhbmQgSSBzdXNw ZWN0IHRoYXQgbWFueSBvZiBvdXIgZXhpc3RpbmcgZGVzaWducyBoYXZlIGJ1bXBlZAo+ID4gPiA+ ID4gaW50byB0aGF0Lgo+ID4gPiA+ID4KPiA+ID4gPiA+IEJ1dCB0byBhbnN3ZXIgeW91ciBxdWVz dGlvbiwgSSBoYXZlbid0IGZvdW5kIGEgc2NlbmFyaW8gdGhhdCBkaWQgbm90Cj4gPiA+ID4gPiB3 b3JrIGJ5IHNldHRpbmcgbW9kZSAoYykuICBUaGF0IGRvZXNuJ3QgbWVhbiB0aGV5IGFyZSBub3Qg b3V0IHRoZXJlLgo+ID4gPiA+ID4KPiA+ID4gPiA+ID4gT3RoZXIgcGxhdGZvcm1zIGRvbid0IHJl cXVpcmUgdGhpcywgYW5kIGhhdmluZyB0byBlZGl0IHRoZSBEVAo+ID4gPiA+ID4gPiBiYXNlZCBv biB3aGF0IFBDSWUgZGV2aWNlIGlzIHBsdWdnZWQgaW4gc2VlbXMgd3JvbmcuICBJZiBicmNtc3Ri Cj4gPiA+ID4gPiA+IGRvZXMgbmVlZCBpdCwgdGhhdCBzdWdnZXN0cyBhIGhhcmR3YXJlIGRlZmVj dC4gIElmIHdlIG5lZWQgdGhpcyB0bwo+ID4gPiA+ID4gPiB3b3JrIGFyb3VuZCBhIGRlZmVjdCwg dGhhdCdzIE9LLCBidXQgd2Ugc2hvdWxkIGFja25vd2xlZGdlIHRoZQo+ID4gPiA+ID4gPiBkZWZl Y3Qgc28gd2UgY2FuIHN0b3AgdXNpbmcgdGhpcyBmb3IgZnV0dXJlIGhhcmR3YXJlIHRoYXQgZG9l c24ndAo+ID4gPiA+ID4gPiBuZWVkIGl0Lgo+ID4gPiA+ID4KPiA+ID4gPiA+IEFsbCBkZXZpY2Vz IHNob3VsZCB3b3JrIHcvbyB0aGUgdXNlciBoYXZpbmcgdG8gY2hhbmdlIHRoZSBEVC4gIE9ubHkK PiA+ID4gPiA+IGlmIHRoZXkgZGVzaXJlIEwxU1MgbXVzdCB0aGV5IGFkZCB0aGUgImJyY20sZW5h YmxlLWwxc3MiIHByb3BlcnR5Lgo+ID4gPiA+Cj4gPiA+ID4gSSB0aG91Z2h0IHRoZSBEVCB3YXMg c3VwcG9zZWQgdG8gZGVzY3JpYmUgcHJvcGVydGllcyBvZiB0aGUKPiA+ID4gPiAqaGFyZHdhcmUq LCBidXQgdGhpcyBzZWVtcyBtb3JlIGxpa2UgInVzZSB0aGlzIHVudGVzdGVkIGNsa3JlcQo+ID4g PiA+IGNvbmZpZ3VyYXRpb24sIiB3aGljaCBtYXliZSBjb3VsZCBiZSBkb25lIHZpYSBhIG1vZHVs ZSBwYXJhbWV0ZXI/Cj4gPiA+Cj4gPiA+IEVsZWN0cmljYWxseSwgaXQgaGFzIGJlZW4gdGVzdGVk LCBidXQgIHNwZWNpZmljYWxseSBmb3IgTDFTUyBjYXBhYmxlCj4gPiA+IGRldmljZXMuICBXaGF0 IGlzIHVudGVzdGVkIEFGQUlDVCBhcmUgcGxhdGZvcm1zIHVzaW5nIHRoaXMgbW9kZSBvbgo+ID4g PiBub24tTDFTUyBjYXBhYmxlIGRldmljZXMuCj4gPgo+ID4gTm9uLUwxU1MgYmVoYXZpb3IgaXMg YSBzdWJzZXQgb2YgTDFTUywgc28gaWYgeW91J3ZlIHRlc3RlZCB3aXRoIEwxU1MKPiA+IGVuYWJs ZWQsIEkgd291bGQgdGhpbmsgeW91J2QgYmUgY292ZXJlZC4KCkkgdGhpbmsgdGhpcyBwb2ludCBp cyBzdGlsbCB3b3J0aCBjb25zaWRlcmluZy4gIE1heWJlIHlvdXIgaGFyZHdhcmUKZm9sa3MgaGF2 ZSBhbiBvcGluaW9uIGhlcmU/Cgo+ID4gQnV0IEknbSBub3QgYSBoYXJkd2FyZSBlbmdpbmVlciwg c28gbWF5YmUgdGhlcmUncyBzb21lIHN1YnRsZXR5IHRoZXJlLgo+ID4gVGhlICJhc2tpbmcgZm9y IHRyb3VibGUiIGNvbW1lbnQgZnJvbSB5b3VyIGVuZ2luZWVyIGlzIGRlZmluaXRlbHkKPiA+IGNv bmNlcm5pbmcsIGJ1dCBJIGhhdmUgbm8gaWRlYSB3aGF0J3MgYmVoaW5kIHRoYXQuCj4gPgo+ID4g QW5kIG9idmlvdXNseSBldmVuIGlmIHdlIGhhdmUgImJyY20sZW5hYmxlLWwxc3MiLCB0aGUgdXNl ciBtYXkgZGVjaWRlCj4gPiB0byBkaXNhYmxlIEwxU1MgYWRtaW5pc3RyYXRpdmVseSwgc28gZXZl biBpZiB0aGUgUm9vdCBQb3J0IGFuZCB0aGUKPiA+IGRldmljZSBib3RoIHN1cHBvcnQgTDFTUywg aXQgbWF5IGJlIG5ldmVyIGJlIGVuYWJsZWQuCj4gPgo+ID4gPiBXUlQgYm9vdGxpbmUgcGFyYW0K PiA+ID4gcGNpPVs8ZG9tYWluPjpdPGJ1cz46PGRldj4uPGZ1bmM+Wy88ZGV2Pi48ZnVuYz5dKnBj aTo8dmVuZG9yPjo8ZGV2aWNlPls6PHN1YnZlbmRvcj46PHN1YmRldmljZT5dOgo+ID4gPiB0aGlz IGRvZXMgbm90IGxvb2sgY29tcGF0aWJsZSBmb3IgdmVuZG9yIHNwZWNpZmljIERUIG9wdGlvbnMg bGlrZQo+ID4gPiAiYnJjbSxlbmFibGUtbDFzcyIuICBJIG9ic2VydmUgdGhhdCBwY2lfZGV2X3N0 cl9tYXRjaF9wYXRoKCkgaXMgYQo+ID4gPiBzdGF0aWMgZnVuY3Rpb24gYW5kIEkgZG9uJ3Qgc2Vl IGEgc2luZ2xlIG9wdGlvbiBpbiBwY2kuYyAgdGhhdCBpcwo+ID4gPiB2ZW5kb3Igc3BlY2lmaWMu ICBGV0lXLCBtb3Zpbmcgc29tZXRoaW5nIGxpa2UgdGhpcyB0byB0aGUgYm9vdGxpbmUKPiA+ID4g d291bGQgbm90IGJlIHBvcHVsYXIgd2l0aCBvdXIgY3VzdG9tZXJzOyBmb3Igc29tZSByZWFzb24g dGhleSByZWFsbHkKPiA+ID4gZG9uJ3QgbGlrZSBjaGFuZ2VzIHRvIHRoZSBib290bGluZS4KPiA+ Cj4gPiBUaGV5IHByZWZlciBlZGl0aW5nIHRoZSBEVD8KPiA+Cj4gPiBJIGFncmVlIHRoZSAicGNp PUI6RC5GIiBzdHVmZiBpcyBhIGJpdCB1Z2x5LiAgRG8geW91IGhhdmUgbXVsdGlwbGUKPiA+IHNs b3RzIHN1Y2ggdGhhdCB5b3Ugd291bGQgaGF2ZSB0byBhcHBseSB0aGlzIHBhcmFtZXRlciB0byBz b21lIGJ1dCBub3QKPiA+IG90aGVycz8gIEkgZ3Vlc3MgSSB3YXMgaW1hZ2luaW5nIGEgc2luZ2xl LXNsb3Qgc3lzdGVtIHdoZXJlIHlvdQo+ID4gd291bGRuJ3QgbmVlZCB0byBpZGVudGlmeSB0aGUg c3BlY2lmaWMgZGV2aWNlIGJlY2F1c2UgdGhlcmUgKmlzKiBvbmx5Cj4gPiBvbmUuCj4gCj4gV2Ug dHlwaWNhbGx5IGhhdmUgYSBzaW5nbGUgZGV2aWNlIHBlciBjb250cm9sbGVyLiAgT2NjYXNpb25h bGx5LAo+IHRoZXJlIGlzIGEgbWlzbWF0Y2ggaW4gbmVlZHMsIGFuZCB0aGUgY3VzdG9tZXIgYWRk cyBhIHN3aXRjaCB0bwo+IHRoZWlyIGJvYXJkIHVudGlsIHdlIGNhbiBhZGQgYW5vdGhlciBjb250 cm9sbGVyIHRvIHRoZSBuZXh0IHJldiBvZgo+IHRoZSBTT0MuCgpJZiB5b3UgYWRkIGEgc3dpdGNo LCBpdCBzb3VuZHMgbGlrZSB0aGVyZSdzIHN0aWxsIG9ubHkgYSBzaW5nbGUgbGluawpiZXR3ZWVu IHRoZSBicmNtc3RiIGNvbnRyb2xsZXIgYW5kIHRoZSBzd2l0Y2guICBJJ20gYXNzdW1pbmcKImJy Y20sZW5hYmxlLWwxc3MiIG9ubHkgYWZmZWN0cyBDTEtSRVEjIG9uIHRoYXQgbGluayBhbmQgaXQg aGFzCm5vdGhpbmcgdG8gZG8gd2l0aCBsaW5rcyBiZWxvdyB0aGUgc3dpdGNoLgoKKGMpIG11c3Qg YmUgdGhlIHN0YW5kYXJkIFBDSWUgc2l0dWF0aW9uIGJlY2F1c2Ugbm8gb3RoZXIgc3lzdGVtcwpy ZXF1aXJlIHRoZSB1c2VyIHRvIGNvbmZpZ3VyZSBDTEtSRVEjIGJhc2VkIG9uIHRoZSB0eXBlIG9m IGNhcmQKcGx1Z2dlZCBpbi4gIEFuZCB3ZSBkb24ndCBrbm93IGFib3V0IGFueSBhY3R1YWwgcHJv YmxlbXMgdGhhdCBoYXBwZW4KaW4gKGMpIHdpdGggYW55IGNhcmRzLgoKVGhhdCBtYWtlcyBtZSB0 aGluayB0aGUgaWRlYWwgZW5kIHN0YXRlIHdvdWxkIGJlIHRvIHVzZSAoYykgYnkKZGVmYXVsdCBz byBldmVyeXRoaW5nIGp1c3Qgd29ya3MgbGlrZSBldmVyeSBvdGhlciBwbGF0Zm9ybSB3aXRoIG5v CmZ1c3MuICBJZiB0aGVyZSdzIHNvbWUgc2l0dWF0aW9uIHRoYXQgcmVxdWlyZXMgKGEpIG9yIChi KSwgdGhlcmUgY291bGQKYmUgYSBwcm9wZXJ0eSBvciBwYXJhbWV0ZXIgdG8gc2VsZWN0ICp0aGF0 KiBiZWNhdXNlIHRoYXQgd291bGQgYmUgdGhlCnVudXN1YWwgY2FzZS4KCkJ1dCBvYnZpb3VzbHkg dGhlIGNvbW1lbnQgZnJvbSB0aGUgaGFyZHdhcmUgZW5naW5lZXI6Cgo+ID4gPiA+ID4gRnVydGhl ciwgdGhlIFBDSWUgSFcgZW5naW5lZXIgdG9sZCBtZSBkZWZhdWx0aW5nIHRvIChjKSB3YXMKPiA+ ID4gPiA+IGEgYmFkIGlkZWEgYW5kIHdhcyAiYXNraW5nIGZvciB0cm91YmxlIi4KCndvdWxkIG5l ZWQgdG8gYmUgdW5kZXJzdG9vZCBiZWZvcmUgZG9pbmcgdGhhdC4KCkJqb3JuCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1h aWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xp c3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==