From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53934) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1crREu-0001wO-3U for qemu-devel@nongnu.org; Fri, 24 Mar 2017 11:34:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1crREq-0004L2-3E for qemu-devel@nongnu.org; Fri, 24 Mar 2017 11:34:56 -0400 Received: from mx2.suse.de ([195.135.220.15]:57975) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1crREp-0004Kk-Nt for qemu-devel@nongnu.org; Fri, 24 Mar 2017 11:34:52 -0400 References: <20170316141953.16161-1-jgross@suse.com> <20170316141953.16161-3-jgross@suse.com> <214bc24d-1c0c-16d6-9c33-e20962b150d2@suse.com> <2fb1da9d14c14eb4826a87657f7d0eb1@AMSPEX02CL03.citrite.net> From: Juergen Gross Message-ID: <550ea61e-c9ba-5afc-12b5-438a2a57af6e@suse.com> Date: Fri, 24 Mar 2017 16:34:48 +0100 MIME-Version: 1.0 In-Reply-To: <2fb1da9d14c14eb4826a87657f7d0eb1@AMSPEX02CL03.citrite.net> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [Xen-devel] [PATCH 2/2] configure: use pkg-config for obtaining xen version List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paul Durrant , 'Stefano Stabellini' Cc: Anthony Perard , "xen-devel@lists.xenproject.org" , "qemu-devel@nongnu.org" , "kraxel@redhat.com" On 24/03/17 16:12, Paul Durrant wrote: >> -----Original Message----- >> From: Stefano Stabellini [mailto:sstabellini@kernel.org] >> Sent: 22 March 2017 18:22 >> To: Juergen Gross >> Cc: Stefano Stabellini ; qemu-devel@nongnu.org; >> xen-devel@lists.xenproject.org; Anthony Perard >> ; kraxel@redhat.com; Paul Durrant >> >> Subject: Re: [PATCH 2/2] configure: use pkg-config for obtaining xen version >> >> On Wed, 22 Mar 2017, Juergen Gross wrote: >>> On 21/03/17 19:54, Stefano Stabellini wrote: >>>> On Tue, 21 Mar 2017, Juergen Gross wrote: >>>>> On 17/03/17 19:33, Stefano Stabellini wrote: >>>>>> On Fri, 17 Mar 2017, Juergen Gross wrote: >>>>>>> On 16/03/17 21:20, Stefano Stabellini wrote: >>>>>>>> On Thu, 16 Mar 2017, Juergen Gross wrote: >>>>>>>>> Instead of trying to guess the Xen version to use by compiling >> various >>>>>>>>> test programs first just ask the system via pkg-config. Only if it >>>>>>>>> can't return the version fall back to the test program scheme. >>>>>>>> >>>>>>>> That's OK, but why did you remove the Xen unstable test? >>>>>>> >>>>>>> >From Xen 4.9 on pkg-config will return the needed information. >> There is >>>>>>> no longer a need for a test program to determine the Xen version. >> After >>>>>>> all this was the main objective of my series adding the pkg-config >>>>>>> files to Xen. >>>>>> >>>>>> I was going to say something like "yeah, but is pkg-config always >>>>>> available?" In reality, QEMU already has pkg-config as build >>>>>> dependency, so I guess there is no problem with that. >>>>>> >>>>>> Please add a note about this to the commit message. >>>>>> >>>>> >>>>> Okay. >>>> >>>> Sorry to point this out only now, and I realize that it might be >>>> unimportant for production builds, but it is important to me, and >>>> developers in general, to be able to test a single QEMU tree against a >>>> number of Xen trees (all releases from 4.3 onward). >>>> >>>> With this change (specifically dropping the 4.9 build test), out of tree >>>> builds don't work anymore. I would like to be able to do: >>>> >>>> ./configure --enable-xen --target-list=i386-softmmu \ >>>> --extra-cflags="-I$DIR/tools/include \ >>>> -I$DIR/tools/libs/toollog/include \ >>>> -I$DIR/tools/libs/evtchn/include \ >>>> -I$DIR/tools/libs/gnttab/include \ >>>> -I$DIR/tools/libs/foreignmemory/include \ >>>> -I$DIR/tools/libs/devicemodel/include \ >>>> -I$DIR/tools/libxc/include \ >>>> -I$DIR/tools/xenstore/include \ >>>> -I$DIR/tools/xenstore/compat/include" \ >>>> --extra-ldflags="-L$DIR/tools/libxc \ >>>> -L$DIR/tools/xenstore \ >>>> -L$DIR/tools/libs/evtchn \ >>>> -L$DIR/tools/libs/gnttab \ >>>> -L$DIR/tools/libs/foreignmemory \ >>>> -L$DIR/tools/libs/devicemodel \ >>>> -Wl,-rpath-link=$DIR/tools/libs/toollog \ >>>> -Wl,-rpath-link=$DIR/tools/libs/evtchn \ >>>> -Wl,-rpath-link=$DIR/tools/libs/gnttab \ >>>> -Wl,-rpath-link=$DIR/tools/libs/call \ >>>> -Wl,-rpath-link=$DIR/tools/libs/foreignmemory \ >>>> -Wl,-rpath-link=$DIR/tools/libs/devicemodel" \ >>>> --disable-kvm >>>> make >>>> >>>> And the make should succeed. Is there a way to do that with pkg-config? >>> >>> Sure, for Xen 4.9 just do: >>> >>> PKG_CONFIG_PATH=$(DIR)/tools/pkg-config ./configure \ >>> --enable-xen --target-list=i386-softmmu \ >>> --disable-kvm >>> make >> >> Yes, that works, thanks! I committed it to my next branch adding >> "pkg-config, which is already a build dependency of QEMU, will be used >> exclusively to determine the Xen version from Xen 4.9 onward." to the >> commit message. > > A further question... > > I have a xen tree which I've been using to build and install master against my own checked out QEMU repo. No problem with that. I've now reverted my tree to 4.7.0 and cannot build tools (even after a make distclean) because QEMU's configure is still getting up a xen_ctrl_version of 40900. This is because pkg-config is still finding a 4.9.0 xencontrol package? Where is it getting this from? Hmm, could it be you have Xen unstable installed on your machine? Didn't think of this problem. I can think of 3 solutions: a) delete the xencontrol.pc file (on my system under /usr/share/pkgconfig/ ) b) we add a patch to qemu to test an environment variable whether pkg-config should be ignored for Xen version detection c) set the environment variable PKG_CONFIG_LIBDIR to a local directory and copy all but the xen*.pc files from /usr/share/pkgconfig/ (or your correct directory) to it (or link them to avoid missing updates) OTOH this is something you have to be aware of for other packages as well: mixing the build environment and the target environment can lead to bad results. Now Xen has been added to the list. Juergen From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: Re: [PATCH 2/2] configure: use pkg-config for obtaining xen version Date: Fri, 24 Mar 2017 16:34:48 +0100 Message-ID: <550ea61e-c9ba-5afc-12b5-438a2a57af6e@suse.com> References: <20170316141953.16161-1-jgross@suse.com> <20170316141953.16161-3-jgross@suse.com> <214bc24d-1c0c-16d6-9c33-e20962b150d2@suse.com> <2fb1da9d14c14eb4826a87657f7d0eb1@AMSPEX02CL03.citrite.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1crREp-00029l-RP for xen-devel@lists.xenproject.org; Fri, 24 Mar 2017 15:34:51 +0000 In-Reply-To: <2fb1da9d14c14eb4826a87657f7d0eb1@AMSPEX02CL03.citrite.net> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Paul Durrant , 'Stefano Stabellini' Cc: Anthony Perard , "xen-devel@lists.xenproject.org" , "qemu-devel@nongnu.org" , "kraxel@redhat.com" List-Id: xen-devel@lists.xenproject.org T24gMjQvMDMvMTcgMTY6MTIsIFBhdWwgRHVycmFudCB3cm90ZToKPj4gLS0tLS1PcmlnaW5hbCBN ZXNzYWdlLS0tLS0KPj4gRnJvbTogU3RlZmFubyBTdGFiZWxsaW5pIFttYWlsdG86c3N0YWJlbGxp bmlAa2VybmVsLm9yZ10KPj4gU2VudDogMjIgTWFyY2ggMjAxNyAxODoyMgo+PiBUbzogSnVlcmdl biBHcm9zcyA8amdyb3NzQHN1c2UuY29tPgo+PiBDYzogU3RlZmFubyBTdGFiZWxsaW5pIDxzc3Rh YmVsbGluaUBrZXJuZWwub3JnPjsgcWVtdS1kZXZlbEBub25nbnUub3JnOwo+PiB4ZW4tZGV2ZWxA bGlzdHMueGVucHJvamVjdC5vcmc7IEFudGhvbnkgUGVyYXJkCj4+IDxhbnRob255LnBlcmFyZEBj aXRyaXguY29tPjsga3JheGVsQHJlZGhhdC5jb207IFBhdWwgRHVycmFudAo+PiA8UGF1bC5EdXJy YW50QGNpdHJpeC5jb20+Cj4+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggMi8yXSBjb25maWd1cmU6IHVz ZSBwa2ctY29uZmlnIGZvciBvYnRhaW5pbmcgeGVuIHZlcnNpb24KPj4KPj4gT24gV2VkLCAyMiBN YXIgMjAxNywgSnVlcmdlbiBHcm9zcyB3cm90ZToKPj4+IE9uIDIxLzAzLzE3IDE5OjU0LCBTdGVm YW5vIFN0YWJlbGxpbmkgd3JvdGU6Cj4+Pj4gT24gVHVlLCAyMSBNYXIgMjAxNywgSnVlcmdlbiBH cm9zcyB3cm90ZToKPj4+Pj4gT24gMTcvMDMvMTcgMTk6MzMsIFN0ZWZhbm8gU3RhYmVsbGluaSB3 cm90ZToKPj4+Pj4+IE9uIEZyaSwgMTcgTWFyIDIwMTcsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6Cj4+ Pj4+Pj4gT24gMTYvMDMvMTcgMjE6MjAsIFN0ZWZhbm8gU3RhYmVsbGluaSB3cm90ZToKPj4+Pj4+ Pj4gT24gVGh1LCAxNiBNYXIgMjAxNywgSnVlcmdlbiBHcm9zcyB3cm90ZToKPj4+Pj4+Pj4+IElu c3RlYWQgb2YgdHJ5aW5nIHRvIGd1ZXNzIHRoZSBYZW4gdmVyc2lvbiB0byB1c2UgYnkgY29tcGls aW5nCj4+IHZhcmlvdXMKPj4+Pj4+Pj4+IHRlc3QgcHJvZ3JhbXMgZmlyc3QganVzdCBhc2sgdGhl IHN5c3RlbSB2aWEgcGtnLWNvbmZpZy4gT25seSBpZiBpdAo+Pj4+Pj4+Pj4gY2FuJ3QgcmV0dXJu IHRoZSB2ZXJzaW9uIGZhbGwgYmFjayB0byB0aGUgdGVzdCBwcm9ncmFtIHNjaGVtZS4KPj4+Pj4+ Pj4KPj4+Pj4+Pj4gVGhhdCdzIE9LLCBidXQgd2h5IGRpZCB5b3UgcmVtb3ZlIHRoZSBYZW4gdW5z dGFibGUgdGVzdD8KPj4+Pj4+Pgo+Pj4+Pj4+ID5Gcm9tIFhlbiA0Ljkgb24gcGtnLWNvbmZpZyB3 aWxsIHJldHVybiB0aGUgbmVlZGVkIGluZm9ybWF0aW9uLgo+PiBUaGVyZSBpcwo+Pj4+Pj4+IG5v IGxvbmdlciBhIG5lZWQgZm9yIGEgdGVzdCBwcm9ncmFtIHRvIGRldGVybWluZSB0aGUgWGVuIHZl cnNpb24uCj4+IEFmdGVyCj4+Pj4+Pj4gYWxsIHRoaXMgd2FzIHRoZSBtYWluIG9iamVjdGl2ZSBv ZiBteSBzZXJpZXMgYWRkaW5nIHRoZSBwa2ctY29uZmlnCj4+Pj4+Pj4gZmlsZXMgdG8gWGVuLgo+ Pj4+Pj4KPj4+Pj4+IEkgd2FzIGdvaW5nIHRvIHNheSBzb21ldGhpbmcgbGlrZSAieWVhaCwgYnV0 IGlzIHBrZy1jb25maWcgYWx3YXlzCj4+Pj4+PiBhdmFpbGFibGU/IiBJbiByZWFsaXR5LCBRRU1V IGFscmVhZHkgaGFzIHBrZy1jb25maWcgYXMgYnVpbGQKPj4+Pj4+IGRlcGVuZGVuY3ksIHNvIEkg Z3Vlc3MgdGhlcmUgaXMgbm8gcHJvYmxlbSB3aXRoIHRoYXQuCj4+Pj4+Pgo+Pj4+Pj4gUGxlYXNl IGFkZCBhIG5vdGUgYWJvdXQgdGhpcyB0byB0aGUgY29tbWl0IG1lc3NhZ2UuCj4+Pj4+Pgo+Pj4+ Pgo+Pj4+PiBPa2F5Lgo+Pj4+Cj4+Pj4gU29ycnkgdG8gcG9pbnQgdGhpcyBvdXQgb25seSBub3cs IGFuZCBJIHJlYWxpemUgdGhhdCBpdCBtaWdodCBiZQo+Pj4+IHVuaW1wb3J0YW50IGZvciBwcm9k dWN0aW9uIGJ1aWxkcywgYnV0IGl0IGlzIGltcG9ydGFudCB0byBtZSwgYW5kCj4+Pj4gZGV2ZWxv cGVycyBpbiBnZW5lcmFsLCB0byBiZSBhYmxlIHRvIHRlc3QgYSBzaW5nbGUgUUVNVSB0cmVlIGFn YWluc3QgYQo+Pj4+IG51bWJlciBvZiBYZW4gdHJlZXMgKGFsbCByZWxlYXNlcyBmcm9tIDQuMyBv bndhcmQpLgo+Pj4+Cj4+Pj4gV2l0aCB0aGlzIGNoYW5nZSAoc3BlY2lmaWNhbGx5IGRyb3BwaW5n IHRoZSA0LjkgYnVpbGQgdGVzdCksIG91dCBvZiB0cmVlCj4+Pj4gYnVpbGRzIGRvbid0IHdvcmsg YW55bW9yZS4gSSB3b3VsZCBsaWtlIHRvIGJlIGFibGUgdG8gZG86Cj4+Pj4KPj4+PiAuL2NvbmZp Z3VyZSAtLWVuYWJsZS14ZW4gLS10YXJnZXQtbGlzdD1pMzg2LXNvZnRtbXUgXAo+Pj4+ICAgICAg ICAgICAgICAgICAtLWV4dHJhLWNmbGFncz0iLUkkRElSL3Rvb2xzL2luY2x1ZGUgXAo+Pj4+ICAg ICAgICAgICAgICAgICAtSSRESVIvdG9vbHMvbGlicy90b29sbG9nL2luY2x1ZGUgXAo+Pj4+ICAg ICAgICAgICAgICAgICAtSSRESVIvdG9vbHMvbGlicy9ldnRjaG4vaW5jbHVkZSBcCj4+Pj4gICAg ICAgICAgICAgICAgIC1JJERJUi90b29scy9saWJzL2dudHRhYi9pbmNsdWRlIFwKPj4+PiAgICAg ICAgICAgICAgICAgLUkkRElSL3Rvb2xzL2xpYnMvZm9yZWlnbm1lbW9yeS9pbmNsdWRlIFwKPj4+ PiAgICAgICAgICAgICAgICAgLUkkRElSL3Rvb2xzL2xpYnMvZGV2aWNlbW9kZWwvaW5jbHVkZSBc Cj4+Pj4gICAgICAgICAgICAgICAgIC1JJERJUi90b29scy9saWJ4Yy9pbmNsdWRlIFwKPj4+PiAg ICAgICAgICAgICAgICAgLUkkRElSL3Rvb2xzL3hlbnN0b3JlL2luY2x1ZGUgXAo+Pj4+ICAgICAg ICAgICAgICAgICAtSSRESVIvdG9vbHMveGVuc3RvcmUvY29tcGF0L2luY2x1ZGUiIFwKPj4+PiAg ICAgICAgICAgICAgICAgLS1leHRyYS1sZGZsYWdzPSItTCRESVIvdG9vbHMvbGlieGMgXAo+Pj4+ ICAgICAgICAgICAgICAgICAtTCRESVIvdG9vbHMveGVuc3RvcmUgXAo+Pj4+ICAgICAgICAgICAg ICAgICAtTCRESVIvdG9vbHMvbGlicy9ldnRjaG4gXAo+Pj4+ICAgICAgICAgICAgICAgICAtTCRE SVIvdG9vbHMvbGlicy9nbnR0YWIgXAo+Pj4+ICAgICAgICAgICAgICAgICAtTCRESVIvdG9vbHMv bGlicy9mb3JlaWdubWVtb3J5IFwKPj4+PiAgICAgICAgICAgICAgICAgLUwkRElSL3Rvb2xzL2xp YnMvZGV2aWNlbW9kZWwgXAo+Pj4+ICAgICAgICAgICAgICAgICAtV2wsLXJwYXRoLWxpbms9JERJ Ui90b29scy9saWJzL3Rvb2xsb2cgXAo+Pj4+ICAgICAgICAgICAgICAgICAtV2wsLXJwYXRoLWxp bms9JERJUi90b29scy9saWJzL2V2dGNobiBcCj4+Pj4gICAgICAgICAgICAgICAgIC1XbCwtcnBh dGgtbGluaz0kRElSL3Rvb2xzL2xpYnMvZ250dGFiIFwKPj4+PiAgICAgICAgICAgICAgICAgLVds LC1ycGF0aC1saW5rPSRESVIvdG9vbHMvbGlicy9jYWxsIFwKPj4+PiAgICAgICAgICAgICAgICAg LVdsLC1ycGF0aC1saW5rPSRESVIvdG9vbHMvbGlicy9mb3JlaWdubWVtb3J5IFwKPj4+PiAgICAg ICAgICAgICAgICAgLVdsLC1ycGF0aC1saW5rPSRESVIvdG9vbHMvbGlicy9kZXZpY2Vtb2RlbCIg XAo+Pj4+ICAgICAgICAgICAgIC0tZGlzYWJsZS1rdm0KPj4+PiBtYWtlCj4+Pj4KPj4+PiBBbmQg dGhlIG1ha2Ugc2hvdWxkIHN1Y2NlZWQuIElzIHRoZXJlIGEgd2F5IHRvIGRvIHRoYXQgd2l0aCBw a2ctY29uZmlnPwo+Pj4KPj4+IFN1cmUsIGZvciBYZW4gNC45IGp1c3QgZG86Cj4+Pgo+Pj4gUEtH X0NPTkZJR19QQVRIPSQoRElSKS90b29scy9wa2ctY29uZmlnIC4vY29uZmlndXJlIFwKPj4+IAkJ LS1lbmFibGUteGVuIC0tdGFyZ2V0LWxpc3Q9aTM4Ni1zb2Z0bW11IFwKPj4+IAkJLS1kaXNhYmxl LWt2bQo+Pj4gbWFrZQo+Pgo+PiBZZXMsIHRoYXQgd29ya3MsIHRoYW5rcyEgSSBjb21taXR0ZWQg aXQgdG8gbXkgbmV4dCBicmFuY2ggYWRkaW5nCj4+ICJwa2ctY29uZmlnLCB3aGljaCBpcyBhbHJl YWR5IGEgYnVpbGQgZGVwZW5kZW5jeSBvZiBRRU1VLCB3aWxsIGJlIHVzZWQKPj4gZXhjbHVzaXZl bHkgdG8gZGV0ZXJtaW5lIHRoZSBYZW4gdmVyc2lvbiBmcm9tIFhlbiA0Ljkgb253YXJkLiIgdG8g dGhlCj4+IGNvbW1pdCBtZXNzYWdlLgo+IAo+IEEgZnVydGhlciBxdWVzdGlvbi4uLgo+IAo+IEkg aGF2ZSBhIHhlbiB0cmVlIHdoaWNoIEkndmUgYmVlbiB1c2luZyB0byBidWlsZCBhbmQgaW5zdGFs bCBtYXN0ZXIgYWdhaW5zdCBteSBvd24gY2hlY2tlZCBvdXQgUUVNVSByZXBvLiBObyBwcm9ibGVt IHdpdGggdGhhdC4gSSd2ZSBub3cgcmV2ZXJ0ZWQgbXkgdHJlZSB0byA0LjcuMCBhbmQgY2Fubm90 IGJ1aWxkIHRvb2xzIChldmVuIGFmdGVyIGEgbWFrZSBkaXN0Y2xlYW4pIGJlY2F1c2UgUUVNVSdz IGNvbmZpZ3VyZSBpcyBzdGlsbCBnZXR0aW5nIHVwIGEgeGVuX2N0cmxfdmVyc2lvbiBvZiA0MDkw MC4gVGhpcyBpcyBiZWNhdXNlIHBrZy1jb25maWcgaXMgc3RpbGwgZmluZGluZyBhIDQuOS4wIHhl bmNvbnRyb2wgcGFja2FnZT8gV2hlcmUgaXMgaXQgZ2V0dGluZyB0aGlzIGZyb20/CgpIbW0sIGNv dWxkIGl0IGJlIHlvdSBoYXZlIFhlbiB1bnN0YWJsZSBpbnN0YWxsZWQgb24geW91ciBtYWNoaW5l PwoKRGlkbid0IHRoaW5rIG9mIHRoaXMgcHJvYmxlbS4gSSBjYW4gdGhpbmsgb2YgMyBzb2x1dGlv bnM6CgphKSBkZWxldGUgdGhlIHhlbmNvbnRyb2wucGMgZmlsZSAob24gbXkgc3lzdGVtIHVuZGVy CiAgIC91c3Ivc2hhcmUvcGtnY29uZmlnLyApCgpiKSB3ZSBhZGQgYSBwYXRjaCB0byBxZW11IHRv IHRlc3QgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUgd2hldGhlcgogICBwa2ctY29uZmlnIHNob3Vs ZCBiZSBpZ25vcmVkIGZvciBYZW4gdmVyc2lvbiBkZXRlY3Rpb24KCmMpIHNldCB0aGUgZW52aXJv bm1lbnQgdmFyaWFibGUgUEtHX0NPTkZJR19MSUJESVIgdG8gYSBsb2NhbCBkaXJlY3RvcnkKICAg YW5kIGNvcHkgYWxsIGJ1dCB0aGUgeGVuKi5wYyBmaWxlcyBmcm9tIC91c3Ivc2hhcmUvcGtnY29u ZmlnLyAob3IKICAgeW91ciBjb3JyZWN0IGRpcmVjdG9yeSkgdG8gaXQgKG9yIGxpbmsgdGhlbSB0 byBhdm9pZCBtaXNzaW5nIHVwZGF0ZXMpCgpPVE9IIHRoaXMgaXMgc29tZXRoaW5nIHlvdSBoYXZl IHRvIGJlIGF3YXJlIG9mIGZvciBvdGhlciBwYWNrYWdlcyBhcwp3ZWxsOiBtaXhpbmcgdGhlIGJ1 aWxkIGVudmlyb25tZW50IGFuZCB0aGUgdGFyZ2V0IGVudmlyb25tZW50IGNhbiBsZWFkCnRvIGJh ZCByZXN1bHRzLiBOb3cgWGVuIGhhcyBiZWVuIGFkZGVkIHRvIHRoZSBsaXN0LgoKCkp1ZXJnZW4K CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2 ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVu Lm9yZy94ZW4tZGV2ZWwK