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 X-Spam-Level: X-Spam-Status: No, score=-2.1 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 74B96FC6195 for ; Fri, 8 Nov 2019 16:08:12 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 463F721D6C for ; Fri, 8 Nov 2019 16:08:12 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=citrix.com header.i=@citrix.com header.b="N34RiHj3" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 463F721D6C Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=citrix.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1iT6nW-0002CF-Bl; Fri, 08 Nov 2019 16:07:42 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1iT6nV-0002CA-2K for xen-devel@lists.xenproject.org; Fri, 08 Nov 2019 16:07:41 +0000 X-Inumbo-ID: e2f6e3f4-0241-11ea-9631-bc764e2007e4 Received: from esa3.hc3370-68.iphmx.com (unknown [216.71.145.155]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id e2f6e3f4-0241-11ea-9631-bc764e2007e4; Fri, 08 Nov 2019 16:07:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1573229260; h=date:from:to:cc:subject:message-id:references: mime-version:content-transfer-encoding:in-reply-to; bh=lYWO3bV3IufY9VmbeNpLyqok8ALLk748USa+8YLgsPE=; b=N34RiHj3fg+Eb42AmXnF2fD2vtTUA3tNSOojEwvKl5gMZayBsBrzWVkv ADm4G1LRDqinJjXGCsRXn4J3z/moYMcsZ9moE8WS6Kt3ehMteZHWY+Mmu wuJpLL2lQmEJpPTFFZkOrK2zBdhEewrksBHq8i99ZYmGB520YTupCnBEd M=; Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none; spf=None smtp.pra=roger.pau@citrix.com; spf=Pass smtp.mailfrom=roger.pau@citrix.com; spf=None smtp.helo=postmaster@mail.citrix.com Received-SPF: None (esa3.hc3370-68.iphmx.com: no sender authenticity information available from domain of roger.pau@citrix.com) identity=pra; client-ip=162.221.158.21; receiver=esa3.hc3370-68.iphmx.com; envelope-from="roger.pau@citrix.com"; x-sender="roger.pau@citrix.com"; x-conformance=sidf_compatible Received-SPF: Pass (esa3.hc3370-68.iphmx.com: domain of roger.pau@citrix.com designates 162.221.158.21 as permitted sender) identity=mailfrom; client-ip=162.221.158.21; receiver=esa3.hc3370-68.iphmx.com; envelope-from="roger.pau@citrix.com"; x-sender="roger.pau@citrix.com"; x-conformance=sidf_compatible; x-record-type="v=spf1"; x-record-text="v=spf1 ip4:209.167.231.154 ip4:178.63.86.133 ip4:195.66.111.40/30 ip4:85.115.9.32/28 ip4:199.102.83.4 ip4:192.28.146.160 ip4:192.28.146.107 ip4:216.52.6.88 ip4:216.52.6.188 ip4:162.221.158.21 ip4:162.221.156.83 ip4:168.245.78.127 ~all" Received-SPF: None (esa3.hc3370-68.iphmx.com: no sender authenticity information available from domain of postmaster@mail.citrix.com) identity=helo; client-ip=162.221.158.21; receiver=esa3.hc3370-68.iphmx.com; envelope-from="roger.pau@citrix.com"; x-sender="postmaster@mail.citrix.com"; x-conformance=sidf_compatible IronPort-SDR: pYU9hiwB8kt3WesVVIK1wIMXO4CFDuJT2C8XibdSL/nK33uHHBRnLkt/4zC/0lAJEBKI+hCZ85 5Rj1PSZ75zTsWdLroUWd85bNDT2VSb95aEdVeR142tQ3AVuegCipm6LuUvJNGDp8QRzQ8iHv3m U/sLT+oYUEVOsK4puGi1IKxFdcs0Se5MW9zTXt8onslGB4c6AmFu6oHrfun2Uo0hp1wpA1cWva jG+Bn4utOtgssSkmyqnDvV0ixZ/B7oI1Ny5TAPdt+wAH+bg/VfBwWziBAt9DhdxBT/pizfaMII d5I= X-SBRS: 2.7 X-MesageID: 8068316 X-Ironport-Server: esa3.hc3370-68.iphmx.com X-Remote-IP: 162.221.158.21 X-Policy: $RELAYED X-IronPort-AV: E=Sophos;i="5.68,282,1569297600"; d="scan'208";a="8068316" Date: Fri, 8 Nov 2019 17:07:28 +0100 From: Roger Pau =?iso-8859-1?Q?Monn=E9?= To: Jan Beulich Message-ID: <20191108160728.GE17494@Air-de-Roger> References: <20191107150609.93004-1-roger.pau@citrix.com> <20191107150609.93004-3-roger.pau@citrix.com> <20191107154632.GA17494@Air-de-Roger> <20191108092759.GC17494@Air-de-Roger> <1b759b38-25aa-adc0-2e0a-2f6e65c1dcb4@suse.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <1b759b38-25aa-adc0-2e0a-2f6e65c1dcb4@suse.com> User-Agent: Mutt/1.12.2 (2019-09-21) X-ClientProxiedBy: AMSPEX02CAS02.citrite.net (10.69.22.113) To AMSPEX02CL03.citrite.net (10.69.22.127) Subject: Re: [Xen-devel] [PATCH for-4.13 2/2] x86/ioapic: don't use raw entry reads/writes in clear_IO_APIC_pin X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Juergen Gross , Andrew Cooper , Wei Liu , xen-devel@lists.xenproject.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" T24gRnJpLCBOb3YgMDgsIDIwMTkgYXQgMTE6MTY6MjZBTSArMDEwMCwgSmFuIEJldWxpY2ggd3Jv dGU6Cj4gT24gMDguMTEuMjAxOSAxMDoyNywgUm9nZXIgUGF1IE1vbm7DqSAgd3JvdGU6Cj4gPiBP biBUaHUsIE5vdiAwNywgMjAxOSBhdCAwNDo1NjowOVBNICswMTAwLCBKYW4gQmV1bGljaCB3cm90 ZToKPiA+PiBPbiAwNy4xMS4yMDE5IDE2OjQ2LCBSb2dlciBQYXUgTW9ubsOpICB3cm90ZToKPiA+ Pj4gT24gVGh1LCBOb3YgMDcsIDIwMTkgYXQgMDQ6Mjg6NTZQTSArMDEwMCwgSmFuIEJldWxpY2gg d3JvdGU6Cj4gPj4+PiBPbiAwNy4xMS4yMDE5IDE2OjA2LCBSb2dlciBQYXUgTW9ubmUgd3JvdGU6 Cj4gPj4+Pj4gQEAgLTUzMCw5ICs1MzAsOSBAQCBzdGF0aWMgdm9pZCBjbGVhcl9JT19BUElDX3Bp bih1bnNpZ25lZCBpbnQgYXBpYywgdW5zaWduZWQgaW50IHBpbikKPiA+Pj4+PiAgICAgICAqLwo+ ID4+Pj4+ICAgICAgbWVtc2V0KCZlbnRyeSwgMCwgc2l6ZW9mKGVudHJ5KSk7Cj4gPj4+Pj4gICAg ICBlbnRyeS5tYXNrID0gMTsKPiA+Pj4+PiAtICAgIF9faW9hcGljX3dyaXRlX2VudHJ5KGFwaWMs IHBpbiwgdHJ1ZSwgZW50cnkpOwo+ID4+Pj4+ICsgICAgX19pb2FwaWNfd3JpdGVfZW50cnkoYXBp YywgcGluLCBmYWxzZSwgZW50cnkpOwo+ID4+Pj4KPiA+Pj4+IEkgbWF5IGJlIGFibGUgdG8gdW5k ZXJzdGFuZCB3aHkgdGhpcyBvbmUgY2FuJ3QgdXNlIHJhdyBtb2RlLCBidXQgYXMKPiA+Pj4+IHBl ciBhYm92ZSBhIGJldHRlciBvdmVyYWxsIGRlc2NyaXB0aW9uIGlzIG5lZWRlZC4KPiA+Pj4KPiA+ Pj4gWWVzLCB0aGlzIGlzIHRoZSBvbmUgdGhhdCdzIGFjdHVhbGx5IGluY29ycmVjdCwgYnV0IHNl ZSBteSByZWFzb25pbmcKPiA+Pj4gYmVsb3cuCj4gPj4+Cj4gPj4+Pgo+ID4+Pj4+IC0gICAgZW50 cnkgPSBfX2lvYXBpY19yZWFkX2VudHJ5KGFwaWMsIHBpbiwgdHJ1ZSk7Cj4gPj4+Pj4gKyAgICBl bnRyeSA9IF9faW9hcGljX3JlYWRfZW50cnkoYXBpYywgcGluLCBmYWxzZSk7Cj4gPj4+Pj4gICAg ICBpZiAoZW50cnkuaXJyKQo+ID4+Pj4+ICAgICAgICAgIHByaW50ayhLRVJOX0VSUiAiSU8tQVBJ QyUwMngtJXU6IFVuYWJsZSB0byByZXNldCBJUlJcbiIsCj4gPj4+Pj4gICAgICAgICAgICAgICAg IElPX0FQSUNfSUQoYXBpYyksIHBpbik7Cj4gPj4+Pgo+ID4+Pj4gVGhpcyByZWFkIGFnYWluIHNo b3VsZG4ndCBuZWVkIGNvbnZlcnNpb24sIGFzIHRoZSBJUlIgYml0IGRvZXNuJ3QKPiA+Pj4+IGdl dCB0b3VjaGVkIChJIHRoaW5rKSBieSB0aGUgaW50ZXJydXB0IHJlbWFwcGluZyBjb2RlIGR1cmlu ZyB0aGUKPiA+Pj4+IHRyYW5zbGF0aW9uIGl0IGRvZXMuCj4gPj4+Cj4gPj4+IFRCSCwgSSB0aGlu ayByYXcgbW9kZSBzaG91bGQgb25seSBiZSB1c2VkIGJ5IHRoZSBpb21tdSBjb2RlIGluIG9yZGVy Cj4gPj4+IHRvIHNldHVwIHRoZSBlbnRyaWVzIHRvIHBvaW50IHRvIHRoZSBpbnRlcnJ1cHQgcmVt YXBwaW5nIHRhYmxlLAo+ID4+PiBldmVyeXRoaW5nIGVsc2Ugc2hvdWxkbid0IGJlIHVzaW5nIHJh dyBtb2RlLiBXaGlsZSBpdCdzIHRydWUgdGhhdCBzb21lCj4gPj4+IG9mIHRoZSBjYXNlcyBoZXJl IGFyZSBzYWZlIHRvIHVzZSByYXcgbW9kZSBJIHdvdWxkIGRpc2NvdXJhZ2UgaXQncwo+ID4+PiB1 c2FnZSBhcyBpdCBjYW4gbGVhZCB0byBpc3N1ZXMsIGFuZCB0aGlzIGlzIG5vdCBhIHBlcmZvcm1h bmNlIGNyaXRpY2FsCj4gPj4+IHBhdGggYW55d2F5Lgo+ID4+Cj4gPj4gWW91IGFsc28gc2hvdWxk IHRha2UgdGhlIG90aGVyIHBvc3NpYmxlIHBlcnNwZWN0aXZlIC0gbm90IHVzaW5nCj4gPj4gcmF3 IG1vZGUgbWVhbnMgZ29pbmcgdGhyb3VnaCBpbnRlcnJ1cHQgcmVtYXBwaW5nIGxvZ2ljLCB3aGlj aAo+ID4+IGNhbiAobmVlZGxlc3NseSkgdHJpZ2dlciBlcnJvcnMuIEkgdGhpbmsgeW91IHdhbnQg dG8gYnJlYWsgdGhlCj4gPj4gcGF0Y2ggaW50byBhIG5lY2Vzc2FyeSBhbmQgYW4gb3B0aW9uYWwg cGFydC4gVGhlIG9wdGlvbmFsIHBhcnQKPiA+PiBzaG91bGQgYmUgZGlzY3Vzc2VkIHNlcGFyYXRl bHkgYW5kIGRlZmVycmVkIHVudGlsIGFmdGVyIDQuMTMuCj4gPiAKPiA+IElNTyBnZW5lcmljIElP LUFQSUMgY29kZSBoYXMgbm90IGJ1c2luZXNzIHBsYXlpbmcgd2l0aCByYXcgZW50cmllcwo+ID4g d2hlbiBpbnRlcnJ1cHQgcmVtYXBwaW5nIGlzIGVuYWJsZWQsIHRoZSBsYXlvdXQgb2YgSU8tQVBJ QyBlbnRyaWVzIGluCj4gPiB0aGF0IGNhc2UgaXMgdmVuZG9yLXNwZWNpZmljLCBhbmQgaGVuY2Ug dGhlIGdlbmVyaWMgSU8tQVBJQyBjb2RlIGlzCj4gPiBub3QgYWJsZSB0byBwYXJzZSBpdC4KPiA+ IAo+ID4gRm9yIGV4YW1wbGUgdGhlIGNvZGUgaW4gY2xlYXJfSU9fQVBJQ19waW4gbW9kaWZpZXMg dGhlIG1hc2sgb3IgdGhlCj4gPiB0cmlnZ2VyIGZpZWxkcyBvZiBSQVcgZW50cmllcywgaXMgdGhl cmUgYW55IGd1YXJhbnRlZSB0aGF0IHRob3NlCj4gPiBmaWVsZHMgZG9uJ3QgaGF2ZSBkaWZmZXJl bnQgbWVhbmluZ3MvbGF5b3V0IHdoZW4gaW50ZXJydXB0IHJlbWFwcGluZwo+ID4gaXMgZW5hYmxl ZD8KPiAKPiBGcm9tIGFuIGFic3RyYWN0IHBvdiB0aGVyZSdzIG5vIHN1Y2ggZ3VhcmFudGVlLCBi dXQgaW4gcHJhY3RpY2UKPiB0aGUgbWVhbmluZyBvZiB0aGUgZmllbGRzIGRvZXNuJ3QgY2hhbmdl LiBZb3UgbWFrZSBhIGdvb2QgcG9pbnQKPiB0aG91Z2ggbmV2ZXJ0aGVsZXNzOiBGb3IgVlQtZCB0 aGUgdHJpZ2dlciBtb2RlIGZpZWxkcyBpbiBSVEUgYW5kCj4gSVJURSBuZWVkIHRvIG1hdGNoLCBz byB0aGUgaW50ZXJydXB0IHJlbWFwcGluZyBjb2RlIG5lZWRzIHRvIHNlZQo+IHRoZSB0cmlnZ2Vy IG1vZGUgY2hhbmdlLiBTZWUgYmVsb3cgZm9yIGEgcG9zc2libGUgYWx0ZXJuYXRpdmUKPiBwYXRj aC4KPiAKPiA+IEkgY2FuIHNwbGl0IHRoZSBzcGVjaWZpYyBidWdmaXggaW50byBhIHNlcGFyYXRl IHBhdGNoLCBidXQgSU1PIHRoZQo+ID4gY29kZSBpbiBjbGVhcl9JT19BUElDX3BpbiBpcyBub3Qg c2FmZS4KPiAKPiBBIGNoYW5nZSBpcyBuZWVkZWQsIHllcywgYnV0IGluIHBhcnRpY3VsYXIgYmVj YXVzZSBvZiB0aGUgdXNlIG9mCj4gdGhlIGZ1bmN0aW9uIGZyb20gY2xlYXJfSU9fQVBJQygpLCBp biB0dXJuIGNhbGxlZCBmcm9tCj4gZGlzYWJsZV9JT19BUElDKCksIHlldCBpbiB0dXJuIHVzZWQg ZS5nLiBkdXJpbmcgZW1lcmdlbmN5Cj4gc2h1dGRvd24gYWZ0ZXIgYSBjcmFzaCwgSSdkIGxpa2Ug dGhlIGZ1bmN0aW9uIHRvIGRvIGFzIHNpbXBsZQo+IG9wZXJhdGlvbnMgYXMgcG9zc2libGUsIGku ZS4gc3BlY2lmaWNhbGx5IGF2b2lkIGdvaW5nIHRocm91Z2gKPiBpbnRlcnJ1cHQgcmVtYXBwaW5n IGNvZGUgKGJlY2F1c2UgaXRzIGRhdGEgc3RydWN0dXJlcyBtYXkgYWxzbwo+IGJlIGNvcnJ1cHRl ZCBhdCB0aGF0IHBvaW50KSB1bmxlc3MgcmVhbGx5IG5lZWRlZCAoaGVuY2UgdGhlCj4gYWx0ZXJu YXRpdmUgcGF0Y2ggc3VnZ2VzdGlvbiBiZWxvdykuCgpJc24ndCBqdXN0IG1hc2tpbmcgdGhlIGVu dHJpZXMgZmluZSB3aGVuIGRpc2FibGluZyB0aGUgSU8tQVBJQywgb3IgYQpmdWxsIHdpcGUgb2Yg YWxsIHRoZSBlbnRyaWVzIGlzIHJlcXVpcmVkPwoKSSB3b3VsZCBiZSBmaW5lIHdpdGggaGF2aW5n IGEgbWFza2FsbF9JT19BUElDIGZ1bmN0aW9uIHRoYXQgcmVhZHMKZW50cmllcyBpbiByYXcgZm9y bWF0LCBzZXRzIHRoZSBtYXNrIGJpdCBhbmQgd3JpdGVzIHRoZSBlbnRyeSBiYWNrIGluCnJhdyBm b3JtYXQgYXMgbG9uZyBhcyBpdCdzIGFubm90YXRlZCB0aGF0IHRoaXMgaXMgZG9uZSBpbiBvcmRl ciB0bwpsaW1pdCBhcyBtdWNoIGEgcG9zc2libGUgdGhlIGNoYW5jZXMgb2YgaGl0dGluZyBjb3Jy dXB0ZWQgZGF0YSBpbiB0aGUKY3Jhc2ggY2FzZS4KCj4gQXMgYW4gYXNpZGUsIGlvbW11X2NyYXNo X3NodXRkb3duKCkgLSBldmVuIGlmIGFjdHVhbGx5IGRvaW5nCj4gc29tZXRoaW5nLCBpLmUuIGRp c2FibGluZyBpbnRlcnJ1cHQgcmVtYXBwaW5nIC0gZG9lcyBfbm90Xwo+IGNhdXNlIHRoZSBSVEVz IHRvIGJlIHJlLXdyaXR0ZW4gaW4gbm9uLXRyYW5zbGF0ZWQgZm9ybWF0LgoKSSdtIG5vdCBzdXJl IHdoZXRoZXIgdGhhdCB3aWxsIHdvcmssIGl0J3MgcG9zc2libGUgdGhhdCBzb21lIGVudHJpZXMK Y2FuJ3QgYmUgdHJhbnNsYXRlZCBiZWNhdXNlIHRoZXkgdXNlIHgyQVBJQyBJRHMsIGFuZCB0aHVz IGRvbid0IGZpdCBpbgphIG5vbi10cmFuc2xhdGVkIElPLUFQSUMgZW50cnkuCgo+IEphbgo+IAo+ IC0tLSB1bnN0YWJsZS5vcmlnL3hlbi9hcmNoL3g4Ni9pb19hcGljLmMKPiArKysgdW5zdGFibGUv eGVuL2FyY2gveDg2L2lvX2FwaWMuYwo+IEBAIC01MTksOCArNTE5LDkgQEAgc3RhdGljIHZvaWQg Y2xlYXJfSU9fQVBJQ19waW4odW5zaWduZWQgaQo+ICAgICAgaWYgKGVudHJ5Lmlycikgewo+ICAg ICAgICAgIC8qIE1ha2Ugc3VyZSB0aGUgdHJpZ2dlciBtb2RlIGlzIHNldCB0byBsZXZlbC4gKi8K PiAgICAgICAgICBpZiAoIWVudHJ5LnRyaWdnZXIpIHsKPiArICAgICAgICAgICAgZW50cnkgPSBf X2lvYXBpY19yZWFkX2VudHJ5KGFwaWMsIHBpbiwgZmFsc2UpOwo+ICAgICAgICAgICAgICBlbnRy eS50cmlnZ2VyID0gMTsKPiAtICAgICAgICAgICAgX19pb2FwaWNfd3JpdGVfZW50cnkoYXBpYywg cGluLCBUUlVFLCBlbnRyeSk7Cj4gKyAgICAgICAgICAgIF9faW9hcGljX3dyaXRlX2VudHJ5KGFw aWMsIHBpbiwgZmFsc2UsIGVudHJ5KTsKPiAgICAgICAgICB9Cj4gICAgICAgICAgX19pb19hcGlj X2VvaShhcGljLCBlbnRyeS52ZWN0b3IsIHBpbik7Cj4gICAgICB9Cj4gQEAgLTUzMCw3ICs1MzEs NyBAQCBzdGF0aWMgdm9pZCBjbGVhcl9JT19BUElDX3Bpbih1bnNpZ25lZCBpCj4gICAgICAgKi8K PiAgICAgIG1lbXNldCgmZW50cnksIDAsIHNpemVvZihlbnRyeSkpOwo+ICAgICAgZW50cnkubWFz ayA9IDE7Cj4gLSAgICBfX2lvYXBpY193cml0ZV9lbnRyeShhcGljLCBwaW4sIFRSVUUsIGVudHJ5 KTsKPiArICAgIF9faW9hcGljX3dyaXRlX2VudHJ5KGFwaWMsIHBpbiwgZmFsc2UsIGVudHJ5KTsK PiAgCj4gICAgICBlbnRyeSA9IF9faW9hcGljX3JlYWRfZW50cnkoYXBpYywgcGluLCBUUlVFKTsK PiAgICAgIGlmIChlbnRyeS5pcnIpCgpXZWxsLCB0aGlzIGlzIGNlcnRhaW5seSBiZXR0ZXIgdGhh biB3aGF0J3MgdGhlcmUgY3VycmVudGx5LCBhbmQgc2hvdWxkCmZpeCB0aGUgaXNzdWUgcmVwb3J0 ZWQgYnkgU2VyZ2V5LCBhbGJlaXQgSSBzdGlsbCB0aGluayBjaGVja2luZyB0aGUKaXJyIG9yIHRo ZSB0cmlnZ2VyIGZpZWxkcyBvZiBhIHJhdyBlbnRyeSB3aGVuIHVzaW5nIGludGVycnVwdApyZW1h cHBpbmcgaXMgbm90IHNhZmUgZnV0dXJlIHdpc2UuCgpUaGVyZSdzIG5vIGd1YXJhbnRlZSB0aGF0 IGZ1dHVyZSBpbnRlcnJ1cHQgcmVtYXBwaW5nIGltcGxlbWVudGF0aW9ucwpkb24ndCBjbG9iYmVy IHRoZSBub24tdHJhbnNsYXRlZCBmaWVsZHMgd2l0aCBkaWZmZXJlbnQgb25lcyB3aGVuIHVzaW5n CmEgcmVtYXBwZWQgSU8tQVBJQyBlbnRyeSwgYW5kIGhlbmNlIHdoaWxlIHRoaXMgZml4ZXMgdGhl IGN1cnJlbnQgaXNzdWUKYXQgaGFuZCBpdCBzZWVtcyBmcmFnaWxlLgoKQW55d2F5LCBJIHRoaW5r IHRoaXMgc2hvdWxkIGJlIGZpeGVkIEFTQVAsIHNvIGlmIHlvdSBhcmUgaGFwcHkgd2l0aAp0aGlz IHZlcnNpb24gdGhhdCdzIGZpbmUgZm9yIG1lLiBEbyB5b3Ugd2FudCBtZSB0byBwaWNrIHRoaXMg dXAgYW5kCnJlYmFzZSBpdCBvbiB0b3Agb2YgbXkgVFJVRS9GQUxTRSByZW1vdmFsIHBhdGNoLCBv ciB3b3VsZCB5b3UgcmF0aGVyCnNlbmQgaXQgZm9ybWFsbHkgc3RhbmRhbG9uZT8KClRoYW5rcywg Um9nZXIuCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpY ZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRw czovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs