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 5C38DC5475B for ; Tue, 20 Feb 2024 16:24:39 +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: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=XemBwoOo6Rdoh+i4FivPiyILDTlMfAjv+d44oTxn0+M=; b=KuzhK2Lus1xJvZ ALmhmBqsWcsZYFEcLeCmxflMMcpq/biSOi0vj1dABCQvT7vB+QwFaS75BxY8W43p+MAHweZQXSRud WiHwnPPck6rWhCyllmwQCoR2YaBGyVrul95rPKJzX0L277KhfL5uFh3lCBDbPrzsF/dqY6HihU6/N L5oQVxyxaE13JVLfaGg3n+fH3CExtyrd2JX2vbx5WSLtoOZADRh5xl2OifpS+hW2DZFspFpY7K5Ps qWP/+f7RNk4YDmQFXf/c0PqFb/elXybWXbuVc60nCM8XjKPwhp6+J9rSZuYW6Xe6LH1wdScQlgWNl RZ2g3Hing543aNq3K2YQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rcSuw-0000000FRc6-2aoJ; Tue, 20 Feb 2024 16:24:26 +0000 Received: from frasgout.his.huawei.com ([185.176.79.56]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rcSup-0000000FRYg-21Ol; Tue, 20 Feb 2024 16:24:24 +0000 Received: from mail.maildlp.com (unknown [172.18.186.31]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4TfPkb0bShz6J9dD; Wed, 21 Feb 2024 00:19:51 +0800 (CST) Received: from lhrpeml500005.china.huawei.com (unknown [7.191.163.240]) by mail.maildlp.com (Postfix) with ESMTPS id 6B52E1400DD; Wed, 21 Feb 2024 00:24:08 +0800 (CST) Received: from localhost (10.202.227.76) by lhrpeml500005.china.huawei.com (7.191.163.240) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 20 Feb 2024 16:24:07 +0000 Date: Tue, 20 Feb 2024 16:24:06 +0000 From: Jonathan Cameron To: "Russell King (Oracle)" CC: "Rafael J. Wysocki" , , , , , , , , , , , , , , , Salil Mehta , Jean-Philippe Brucker , , , James Morse Subject: Re: [PATCH RFC v4 02/15] ACPI: processor: Register all CPUs from acpi_processor_get_info() Message-ID: <20240220162406.00005b59@Huawei.com> In-Reply-To: References: Organization: Huawei Technologies Research and Development (UK) Ltd. X-Mailer: Claws Mail 4.1.0 (GTK 3.24.33; x86_64-w64-mingw32) MIME-Version: 1.0 X-Originating-IP: [10.202.227.76] X-ClientProxiedBy: lhrpeml100005.china.huawei.com (7.191.160.25) To lhrpeml500005.china.huawei.com (7.191.163.240) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240220_082419_836865_CFE0123F X-CRM114-Status: GOOD ( 61.02 ) 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 T24gVHVlLCAyMCBGZWIgMjAyNCAxNToxMzo1OCArMDAwMAoiUnVzc2VsbCBLaW5nIChPcmFjbGUp IiA8bGludXhAYXJtbGludXgub3JnLnVrPiB3cm90ZToKCj4gT24gVHVlLCBGZWIgMjAsIDIwMjQg YXQgMTE6Mjc6MTVBTSArMDAwMCwgUnVzc2VsbCBLaW5nIChPcmFjbGUpIHdyb3RlOgo+ID4gT24g VGh1LCBGZWIgMTUsIDIwMjQgYXQgMDg6MjI6MjlQTSArMDEwMCwgUmFmYWVsIEouIFd5c29ja2kg d3JvdGU6ICAKPiA+ID4gT24gV2VkLCBKYW4gMzEsIDIwMjQgYXQgNTo1MOKAr1BNIFJ1c3NlbGwg S2luZyA8cm1rK2tlcm5lbEBhcm1saW51eC5vcmcudWs+IHdyb3RlOiAgCj4gPiA+ID4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvYWNwaS9hY3BpX3Byb2Nlc3Nvci5jIGIvZHJpdmVycy9hY3BpL2FjcGlf cHJvY2Vzc29yLmMKPiA+ID4gPiBpbmRleCBjZjdjMWNjYTY5ZGQuLmE2OGM0NzVjZGVhNSAxMDA2 NDQKPiA+ID4gPiAtLS0gYS9kcml2ZXJzL2FjcGkvYWNwaV9wcm9jZXNzb3IuYwo+ID4gPiA+ICsr KyBiL2RyaXZlcnMvYWNwaS9hY3BpX3Byb2Nlc3Nvci5jCj4gPiA+ID4gQEAgLTMxNCw2ICszMTQs MTggQEAgc3RhdGljIGludCBhY3BpX3Byb2Nlc3Nvcl9nZXRfaW5mbyhzdHJ1Y3QgYWNwaV9kZXZp Y2UgKmRldmljZSkKPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICBjcHVmcmVxX2FkZF9k ZXZpY2UoImFjcGktY3B1ZnJlcSIpOwo+ID4gPiA+ICAgICAgICAgfQo+ID4gPiA+Cj4gPiA+ID4g KyAgICAgICAvKgo+ID4gPiA+ICsgICAgICAgICogUmVnaXN0ZXIgQ1BVcyB0aGF0IGFyZSBwcmVz ZW50LiBnZXRfY3B1X2RldmljZSgpIGlzIHVzZWQgdG8gc2tpcAo+ID4gPiA+ICsgICAgICAgICog ZHVwbGljYXRlIENQVSBkZXNjcmlwdGlvbnMgZnJvbSBmaXJtd2FyZS4KPiA+ID4gPiArICAgICAg ICAqLwo+ID4gPiA+ICsgICAgICAgaWYgKCFpbnZhbGlkX2xvZ2ljYWxfY3B1aWQocHItPmlkKSAm JiBjcHVfcHJlc2VudChwci0+aWQpICYmCj4gPiA+ID4gKyAgICAgICAgICAgIWdldF9jcHVfZGV2 aWNlKHByLT5pZCkpIHsKPiA+ID4gPiArICAgICAgICAgICAgICAgaW50IHJldCA9IGFyY2hfcmVn aXN0ZXJfY3B1KHByLT5pZCk7Cj4gPiA+ID4gKwo+ID4gPiA+ICsgICAgICAgICAgICAgICBpZiAo cmV0KQo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXQ7Cj4gPiA+ID4g KyAgICAgICB9Cj4gPiA+ID4gKwo+ID4gPiA+ICAgICAgICAgLyoKPiA+ID4gPiAgICAgICAgICAq ICBFeHRyYSBQcm9jZXNzb3Igb2JqZWN0cyBtYXkgYmUgZW51bWVyYXRlZCBvbiBNUCBzeXN0ZW1z IHdpdGgKPiA+ID4gPiAgICAgICAgICAqICBsZXNzIHRoYW4gdGhlIG1heCAjIG9mIENQVXMuIFRo ZXkgc2hvdWxkIGJlIGlnbm9yZWQgX2lmZiAgCj4gPiA+IAo+ID4gPiBUaGlzIGlzIGludGVyZXN0 aW5nLCBiZWNhdXNlIHJpZ2h0IGJlbG93IHRoZXJlIGlzIHRoZSBmb2xsb3dpbmcgY29kZToKPiA+ ID4gCj4gPiA+ICAgICBpZiAoaW52YWxpZF9sb2dpY2FsX2NwdWlkKHByLT5pZCkgfHwgIWNwdV9w cmVzZW50KHByLT5pZCkpIHsKPiA+ID4gICAgICAgICBpbnQgcmV0ID0gYWNwaV9wcm9jZXNzb3Jf aG90YWRkX2luaXQocHIpOwo+ID4gPiAKPiA+ID4gICAgICAgICBpZiAocmV0KQo+ID4gPiAgICAg ICAgICAgICByZXR1cm4gcmV0Owo+ID4gPiAgICAgfQo+ID4gPiAKPiA+ID4gYW5kIGFjcGlfcHJv Y2Vzc29yX2hvdGFkZF9pbml0KCkgZXNzZW50aWFsbHkgY2FsbHMgYXJjaF9yZWdpc3Rlcl9jcHUo KQo+ID4gPiB3aXRoIHNvbWUgZXh0cmEgdGhpbmdzIGFyb3VuZCBpdCAobW9yZSBhYm91dCB0aGF0 IGJlbG93KS4KPiA+ID4gCj4gPiA+IEkgZG8gcmVhbGl6ZSB0aGF0IGFjcGlfcHJvY2Vzc29yX2hv dGFkZF9pbml0KCkgaXMgZGVmaW5lZCB1bmRlcgo+ID4gPiBDT05GSUdfQUNQSV9IT1RQTFVHX0NQ VSwgc28gZm9yIHRoZSBzYWtlIG9mIHRoZSBhcmd1bWVudCBsZXQncwo+ID4gPiBjb25zaWRlciBh biBhcmNoaXRlY3R1cmUgd2hlcmUgQ09ORklHX0FDUElfSE9UUExVR19DUFUgaXMgc2V0Lgo+ID4g PiAKPiA+ID4gU28gd2h5IGFyZSB0aGUgdHdvIGNvbmRpdGlvbmFscyB0aGF0IGFsbW9zdCBjb250 cmFkaWN0IGVhY2ggb3RoZXIgYm90aAo+ID4gPiBuZWVkZWQ/ICBJdCBsb29rcyBsaWtlIHRoZSBu ZXcgY29kZSBjb3VsZCBiZSBjb21iaW5lZCB3aXRoCj4gPiA+IGFjcGlfcHJvY2Vzc29yX2hvdGFk ZF9pbml0KCkgdG8gZG8gdGhlIHJpZ2h0IHRoaW5nIGluIGFsbCBjYXNlcy4KPiA+ID4gCj4gPiA+ IE5vdywgYWNwaV9wcm9jZXNzb3JfaG90YWRkX2luaXQoKSBkb2VzIHNvbWUgZXh0cmEgdGhpbmdz IHRoYXQgbG9vawo+ID4gPiBsaWtlIHRoZXkgc2hvdWxkIGJlIGRvbmUgYnkgdGhlIG5ldyBjb2Rl IHRvby4KPiA+ID4gCj4gPiA+IDEuIEl0IGNoZWNrcyBpbnZhbGlkX3BoeXNfY3B1aWQoKSB3aGlj aCBhcHBlYXJzIHRvIGJlIGEgZ29vZCBpZGVhIHRvIG1lLgo+ID4gPiAKPiA+ID4gMi4gSXQgdXNl cyBsb2NraW5nIGFyb3VuZCBhcmNoX3JlZ2lzdGVyX2NwdSgpIHdoaWNoIGRvZXNuJ3Qgc2VlbQo+ ID4gPiB1bnJlYXNvbmFibGUgZWl0aGVyLgo+ID4gPiAKPiA+ID4gMy4gSXQgY2FsbHMgYWNwaV9t YXBfY3B1KCkgYW5kIEknbSBub3Qgc3VyZSB3aHkgdGhpcyBpcyBub3QgZG9uZSBieQo+ID4gPiB0 aGUgbmV3IGNvZGUuCj4gPiA+IAo+ID4gPiBUaGUgb25seSB0aGluZyB0aGF0IGNhbiBiZSBkcm9w cGVkIGZyb20gaXQgaXMgdGhlIF9TVEEgY2hlY2sgQUZBSUNTLAo+ID4gPiBiZWNhdXNlIGFjcGlf cHJvY2Vzc29yX2FkZCgpIHdvbid0IGV2ZW4gYmUgY2FsbGVkIGlmIHRoZSBDUFUgaXMgbm90Cj4g PiA+IHByZXNlbnQgKGFuZCBub3QgZW5hYmxlZCBhZnRlciB0aGUgZmlyc3QgcGF0Y2gpLgo+ID4g PiAKPiA+ID4gU28gd2h5IGRvZXMgdGhlIGNvZGUgbm90IGRvIDEgLSAzIGFib3ZlPyAgCj4gPiAK PiA+IEhvbmVzdGx5LCBJJ20gb3V0IG9mIG15IGRlcHRoIHdpdGggdGhpcyBhbmQgY2FuJ3QgYW5z d2VyIHlvdXIKPiA+IHF1ZXN0aW9ucyAtIGFuZCBJIHJlYWxseSBkb24ndCB3YW50IHRvIHRyeSBm aWRkbGluZyB3aXRoIHRoaXMgY29kZQo+ID4gYmVjYXVzZSBpdCdzIGp1c3QgdG9vIGlja3kgKGV2 ZW4gaW4gaXRzIGN1cnJlbnQgZm9ybSBpbiBtYWlubGluZSkKPiA+IHRvIGJlIHVuZGVyc3RhbmRh YmxlIHRvIGFueW9uZSB3aG8gaGFzbid0IGdhaW5lZCBhIGRldGFpbGVkIGtub3dsZWRnZQo+ID4g b2YgdGhpcyBjb2RlLgo+ID4gCj4gPiBJdCdzIGdvaW5nIHRvIHJlcXVpcmUgYSBsb3Qgb2YgYW5h bHlzaXMgLSBob3cgYWNwaV9tYXBfY3B1aWQoKSBiZWhhdmVzCj4gPiBpbiBhbGwgY2lyY3Vtc3Rh bmNlcywgd2hhdCB0aGlzIG1lYW5zIGZvciBpbnZhbGlkX2xvZ2ljYWxfY3B1aWQoKSBhbmQKPiA+ IGludmFsaWRfcGh5c19jcHVpZCgpLCB3aGF0IHBhdGhzIHdpbGwgYmUgdGFrZW4gaW4gZWFjaCBj YXNlLiBUaGlzIGNvZGUKPiA+IGlzIGFscmVhZHkganVzdCB0b28gaGFpcnkgZm9yIHNvbWVvbmUg d2hvIGlzbid0IGFuIGV4cGVyaWVuY2VkIEFDUEkKPiA+IGhhY2tlciB0byBiZSBhYmxlIHRvIGZv bGxvdyBhbmQgSSBkb24ndCBzZWUgYW4gb2J2aW91cyB3YXkgdG8gbWFrZSBpdAo+ID4gbW9yZSBy ZWFkYWJsZS4KPiA+IAo+ID4gSmFtZXMnIGFkZGl0aW9ucyBtYWtlIGl0IGV2ZW4gbW9yZSBjb21w bGV4IGFuZCBsZXNzIHJlYWRhYmxlLiAgCj4gCj4gQXMgYW4gaWxsdXN0cmF0aW9uIG9mIHRoZSBw cm9ibGVtcyBJJ20gaGF2aW5nIGhlcmUsIEkgd2FzIGp1c3Qgd3JpdGluZwo+IGEgcmVwbHkgdG8g dGhpcyB3aXRoIGEgc3VnZ2VzdGlvbiBvZiB0cmFuc2Zvcm1pbmcgdGhpcyBjb2RlIHVsdGltYXRl bHkKPiB0bzoKPiAKPiAJaWYgKCFnZXRfY3B1X2RldmljZShwci0+aWQpKSB7Cj4gCQlpbnQgcmV0 Owo+IAo+IAkJaWYgKCFpbnZhbGlkX2xvZ2ljYWxfY3B1aWQocHItPmlkKSAmJiBjcHVfcHJlc2Vu dChwci0+aWQpKQo+IAkJCXJldCA9IGFjcGlfcHJvY2Vzc29yX21ha2VfZW5hYmxlZChwcik7Cj4g CQllbHNlCj4gCQkJcmV0ID0gYWNwaV9wcm9jZXNzb3JfbWFrZV9wcmVzZW50KHByKTsKPiAKPiAJ CWlmIChyZXQpCj4gCQkJcmV0dXJuIHJldDsKPiAJfQo+IAo+IChhY3BpX3Byb2Nlc3Nvcl9tYWtl X3ByZXNlbnQoKSB3b3VsZCBiZSBhY3BpX3Byb2Nlc3Nvcl9ob3RhZGRfaW5pdCgpCj4gYW5kIGFj cGlfcHJvY2Vzc29yX21ha2VfZW5hYmxlZCgpIHdvdWxkIGJlIGFyY2hfcmVnaXN0ZXJfY3B1KCkg YXQgdGhpcwo+IHBvaW50LikKPiAKPiBUaGVuIEkgcmVhbGlzZWQgdGhhdCdzIGEgYmFkIGlkZWEg LSBiZWNhdXNlIHdlIHJlYWxseSBuZWVkIHRvIGNoZWNrCj4gdGhhdCBwci0+aWQgaXMgdmFsaWQg YmVmb3JlIGNhbGxpbmcgZ2V0X2NwdV9kZXZpY2UoKSBvbiBpdCwgc28gdGhpcwo+IHdvbid0IHdv cmsuIFRoYXQgbGVhdmVzIHVzIHdpdGg6Cj4gCj4gCWludCByZXQ7Cj4gCj4gCWlmIChpbnZhbGlk X2xvZ2ljYWxfY3B1aWQocHItPmlkKSB8fCAhY3B1X3ByZXNlbnQocHItPmlkKSkgewo+IAkJLyog eDg2IGV0LmFsLiBwYXRoICovCj4gCQlyZXQgPSBhY3BpX3Byb2Nlc3Nvcl9tYWtlX3ByZXNlbnQo cHIpOwo+IAl9IGVsc2UgaWYgKCFnZXRfY3B1X2RldmljZShwci0+aWQpKSB7Cj4gCQkvKiBBcm02 NCBwYXRoICovCj4gCQlyZXQgPSBhY3BpX3Byb2Nlc3Nvcl9tYWtlX2VuYWJsZWQocHIpOwo+IAl9 IGVsc2Ugewo+IAkJcmV0ID0gMDsKPiAJfQo+IAo+IAlpZiAocmV0KQo+IAkJcmV0dXJuIHJldDsK PiAKPiBOb3csIHRoZSBuZXh0IHRyYW5zZm9ybWF0aW9uIHdvdWxkIGJlIHRvIG1vdmUgIWdldF9j cHVfZGV2aWNlKHByLT5pZCkKPiBpbnRvIGFjcGlfcHJvY2Vzc29yX21ha2VfZW5hYmxlZCgpIHdo aWNoIHdvdWxkIGVsaW1pbmF0ZSBvbmUgb2YgdGhvc2UKPiBpZigpIGxlZ3MuCj4gCj4gTm93LCBp ZiB3ZSB3YW50IHRvIHNvbWVob3cgbWFrZSB0aGUgY2FsbCB0byBhcmNoX3JlZ3N0ZXJfY3B1KCkg Y29tbW9uCj4gaW4gdGhlc2UgdHdvIHBhdGhzLCB0aGUgbmV4dCBxdWVzdGlvbiBpcyB3aGF0IGFy ZSB0aGUgX3ByZWNpc2VfCj4gc2VtYW50aWNzIG9mIGFjcGlfbWFwX2NwdSgpLCBwYXJ0aWN1bGFy bHkgd2l0aCByZXNwZWN0IHRvIGl0Cj4gbW9kaWZ5aW5nIHByLT5pZC4gSXMgaXQgZ3VhcmFudGVl ZCB0byBhbHdheXMgZ2l2ZSB0aGUgc2FtZSByZXN1bHQKPiBmb3IgdGhlIHNhbWUgcHJvY2Vzc29y IGRlc2NyaWJlZCBpbiBBQ1BJPyBXaGF0IGFjcGlfbWFwX2NwdSgpIGFueXdheSwKPiBJIGNhbiBm aW5kIG5vIGRvY3VtZW50YXRpb24gZm9yIGl0Lgo+IAo+IFRoZW4gdGhlcmUncyB0aGUgcXVlc3Rp b24gd2hldGhlciBjYWxsaW5nIGFjcGlfdW5tYXBfY3B1KCkgc2hvdWxkIGJlCj4gZG9uZSBvbiB0 aGUgZmFpbHVyZSBwYXRoIGlmIGFyY2hfcmVnaXN0ZXJfY3B1KCkgZmFpbHMsIHdoaWNoIGlzIGRv bmUKPiBmb3IgdGhlIHg4NiBwYXRoIGJ1dCBub3QgdGhlIEFybTY0IHBhdGguIFNob3VsZCBpdCBi ZSBkb25lIGZvciB0aGUKPiBBcm02NCBwYXRoPyBJJ3ZlIG5vIGlkZWEsIGJ1dCBhcyBBcm02NCBk b2Vzbid0IGltcGxlbWVudCBlaXRoZXIgb2YKPiB0aGVzZSB0d28gZnVuY3Rpb25zLCBJIGd1ZXNz IHRoZXkgY291bGQgYmUgc3R1YmJlZCBvdXQgYW5kIHRodXMgYmUKPiBuby1vcHMgLSBidXQgdGhl biB3ZSBvcGVuIGEgaG9sZSB3aGVyZSBpZiBwci0+aWQgaXMgaW52YWxpZCwgd2UKPiBlbmQgdXAg cGFzc2luZyB0aGF0IGludmFsaWQgdmFsdWUgdG8gYXJjaF9yZWdpc3Rlcl9jcHUoKSB3aGljaCBJ J20KPiBxdWl0ZSBzdXJlIHdpbGwgZXhwbG9kZSB3aXRoIGEgbmVnYXRpdmUgQ1BVIG51bWJlci4K PiAKPiBTbywgdG8gbXkgbWluZCwgd2hhdCB5b3UncmUgZWZmZWN0aXZlbHkgYXNraW5nIGZvciBp cyBhIHRvdGFsIHJld3JpdGUKPiBvZiBhbGwgdGhlIGNvZGUgaW4gYW5kIGNhbGxlZCBieSBhY3Bp X3Byb2Nlc3Nvcl9nZXRfaW5mbygpLi4uIGFuZCB0aGF0Cj4gaXMgbm90IHNvbWV0aGluZyBJIGFt IHdpbGxpbmcgdG8gZG8gKGJlY2F1c2UgaXQncyB0b28gZmFyIG91dHNpZGUgb2YKPiBteSBrbm93 bGVkZ2UgYXJlYS4pCj4gCj4gQXMgSSBzYWlkIGluIG15IHJlcGx5IHRvIHBhdGNoIDEsIEkgdGhp bmsgeW91ciBjb21tZW50cyBvbiBwYXRjaCAyCj4gbWFrZSBBcm02NCB2Y3B1IGhvdHBsdWcgdW5h Y2hpZXZhYmxlIGluIGEgcmVhc29uYWJsZSB0aW1lIGZyYW1lLCBhbmQKPiBjZXJ0YWlubHkgb3V0 c2lkZSB0aGUgYm91bmRzIG9mIHdoYXQgSSBjYW4gZG8gdG8gcHJvZ3Jlc3MgdGhpcy4KPiAKPiBT bywgYXQgdGhpcyBwb2ludCBJJ20gZ29pbmcgdG8gc3RhbmQgZG93biBmcm9tIGZ1cnRoZXIgcGFy dGljaXBhdGlvbgo+IHdpdGggdGhpcyBwYXRjaCBzZXQgYXMgSSBiZWxpZXZlIEkndmUgcmVhY2hl ZCB0aGUgbGltaXQgb2Ygd2hhdCBJIGNhbgo+IGRvIHRvIHByb2dyZXNzIGl0Lgo+IAoKVGhhbmtz IGZvciB5b3VyIGhhcmQgd29yayBvbiB0aGlzIFJ1c3NlbGwgLSB3ZSBoYXZlIG1vdmVkIGZvcndh cmRzLgoKU2hvcnQgb2YgYW55b25lIGVsc2Ugc3RlcHBpbmcgdXAgSSdsbCBwaWNrIHRoaXMgdXAg d2l0aAp0aGUgaGVscCBvZiBzb21lIG15IGNvbGxlYWd1ZXMuIEFzIHN1Y2ggSSdtIGtlZW4gb24g Z2V0dGluZyBwYXRjaAoxIHVwc3RyZWFtIEFTQVAgc28gdGhhdCB3ZSBjYW4gZXhjbHVkZSB0aGUg bmVlZCBmb3Igc29tZSBvZiB0aGUKb3RoZXIgd29ya2Fyb3VuZHMgZnJvbSBlYXJsaWVyIHZlcnNp b25zIG9mIHRoaXMgc2VyaWVzICh0aGUgb25lcwpkcm9wcGVkIGJlZm9yZSBub3cpLgoKV2Ugd2ls bCBuZWVkIGEgbGl0dGxlIHRpbWUgdG8gZ2V0IHVwIHRvIHNwZWVkIG9uIHRoZSBjdXJyZW50IHN0 YXR1cwphbmQgZGlzY3Vzc2lvbiBwb2ludHMgUnVzc2VsbCByYWlzZXMgYWJvdmUuCgpKb25hdGhh bgoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51 eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVh ZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1h cm0ta2VybmVsCg==