Re: Before declaring Bochs is dead ...
Stephen Kitt <[email protected]> Mon, 11 Jul 2022 13:26:12 +0200
| Newsgroups | gmane.comp.emulators.bochs.devel |
|---|---|
| Message-ID | <[email protected]> |
QXMgbG9uZyBhcyB0aGUgcmVwb3NpdG9yeSBpcyBwdWJsaWMsIGFueSB1c2VyIGNhbiBmb3JrIGl0 IGFuZCBtYWtlIApjaGFuZ2VzIG9uIHRoZWlyIGZvcmssIGFuZCBhcyBsb25nIGFzIFBScyBhcmUg ZW5hYmxlZCAod2hpY2ggaXMgdGhlIApkZWZhdWx0KSwgdGhleSBjYW4gc3VibWl0IFBScy4KCkJ5 IGRlZmF1bHQgb25seSBhZG1pbnMgY2FuIG1lcmdlIFBSczsgeW91IGNhbiBjb25maWd1cmUgYWRk aXRpb25hbCAKcmVxdWlyZW1lbnRzIHVzaW5nIGJyYW5jaCBwcm90ZWN0aW9ucyBpbiB0aGUgR0gg c2V0dGluZ3MuIFRoZSBsaXN0IG9mIApjb250cmlidXRvcnMgaXMgdXBkYXRlZCBhcyBuZXcgdXNl cnMgYWRkIFBScywgYnV0IGl0IGRvZXNu4oCZdCBjb25mZXIgYW55IApwZXJtaXNzaW9ucyBhcyBz dWNoLgoKSeKAmW0gd29uZGVyaW5nIGFib3V0IHRoZSBjdXJyZW50IGxheW91dCBob3dldmVyOyBp bnN0ZWFkIG9mIGhhdmluZyBhIApzaW5nbGUgQm9jaHMgcmVwb3NpdG9yeSB3aXRoIHRoZSBmb3Vy IHNlY3Rpb25zIGZyb20gU0YgKGJvY2hzLCAKYm9jaHMtcGVyZm9ybWFuY2UsIGJvY2hzLXRlc3Rp bmcsIGFuZCBzZnNpdGUpLCB1c3VhbCBHSCBwcmFjdGljZSB3b3VsZCAKYmUgdG8gaGF2ZSBhIEJv Y2hzIG9yZ2FuaXNhdGlvbiwgd2l0aCBmb3VyIHJlcG9zaXRvcmllcyBpbnNpZGUgdGhhdC4gU2Vl IApmb3IgZXhhbXBsZSBodHRwczovL2dpdGh1Yi5jb20vc3VibWFyaW5lci1pby8gKHdoaWNoIEkg d29yayBvbikuCgpSZWdhcmRzLAoKU3RlcGhlbgoKCkxlIDExLzA3LzIwMjIgMTM6MTEsIHN0bGlu dGVsQGdtYWlsLmNvbSBhIMOpY3JpdMKgOgo+IE5vdyB0aGUgbmV4dCBxdWVzdGlvbiBpcyBnaXRo dWIgbWFuYWdlbWVudC4KPiAKPiBJIHdpc2ggdG8gYWxsb3cgZXZlcnkgZ2l0aHViIHVzZXIgdG8g YmUgYWJsZSB0byBjbG9uZSByZXBvIG9yIHN1Ym1pdAo+IHB1bGwgcmVxdWVzdC4KPiBCdXQgb25s eSBwcm9qZWN0IGFkbWlucyAoY3VycmVudGx5IG1lIGFuZCBWb2xrZXIpIHdvdWxkIGJlIGFibGUg dG8KPiByZXZpZXcgdGhlIHB1bGwgcmVxdWVzdHMgYW5kIHByb21vdGUgdGhlbS4KPiBDdXJyZW50 bHkgZ2l0aHViIHNheXMgbGlzdCBvZiBjb250cmlidXRvcnMgaXMgZW1wdHkgbWVhbmluZyBJIGFt Cj4gcHJvYmFibHkgdGhlIG9ubHkgcG9zc2libGUgY29udHJpYnV0b3IuCj4gSG93IHdvdWxkIGl0 IHdvcmsgPwo+IEFueWJvZHkgZWxzZSBpcyBhbGxvd2VkIHRvIGNyZWF0ZSBQUiBmb3IgQm9jaHMg Pwo+IAo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tCj4gRnJvbTogU3RlcGhlbiBLaXR0IDxz dGV2ZUBzazIub3JnPgo+IFNlbnQ6IE1vbmRheSwgMTEgSnVseSAyMDIyIDE0OjA0Cj4gVG86IHN0 bGludGVsQGdtYWlsLmNvbQo+IENjOiAnVGhvbWFzIEhlbW1lcicgPHRob21hcy5oZW1tZXJAZ214 Lm5ldD47Cj4gYm9jaHMtZGV2ZWxvcGVyc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKPiBTdWJqZWN0 OiBSZTogW0JvY2hzLWRldmVsb3BlcnNdIEJlZm9yZSBkZWNsYXJpbmcgQm9jaHMgaXMgZGVhZCAu Li4KPiAKPiBZb3UgbmVlZCB0byBwdXNoIGdpdCB0YWdzIGV4cGxpY2l0bHk6Cj4gCj4gICAgICBn aXQgcHVzaCAtLXRhZ3MKPiAKPiBSZWdhcmRzLAo+IAo+IFN0ZXBoZW4KPiAKPiAKPiBMZSAxMS8w Ny8yMDIyIDEzOjAyLCBzdGxpbnRlbEBnbWFpbC5jb20gYSDDqWNyaXQgOgo+IAo+PiBJdCBpcyBn b29kIHF1ZXN0aW9uIHdoeSBJIGRvbid0IHNlZSB0aGVtIHRoZXJlIGluIGdpdCB0YWcuCj4+IAo+ PiBTZWVtcyBsaWtlIHRoZXkgd2VyZSBub3QgdXBsb2FkZWQgdG8gZ2l0aHViIGZvciBzb21lIHJl YXNvbi4KPj4gCj4+IE9uIGJhcmUgcmVwbyB0aGF0IEkgcHVzaGVkIHRvIGd1dGh1YiBJIHNlZSB0 aGVtIGFsbC4KPj4gCj4+IERvIHlvdSBoYXZlIGFueSBpZGVhIHdoYXQgSSBzaG91bGQgZG8gdG8g cHVzaCBpdCB3aXRoIHRhZ3MgPwo+PiAKPj4gRnJvbTogVGhvbWFzIEhlbW1lciA8dGhvbWFzLmhl bW1lckBnbXgubmV0Pgo+PiBTZW50OiBNb25kYXksIDExIEp1bHkgMjAyMiAxMTozMQo+PiBUbzog Ym9jaHMtZGV2ZWxvcGVyc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKPj4gU3ViamVjdDogUmU6IFtC b2Nocy1kZXZlbG9wZXJzXSBCZWZvcmUgZGVjbGFyaW5nIEJvY2hzIGlzIGRlYWQgLi4uCj4+IAo+ PiBIaSBmb2xrcywKPj4gCj4+IHRoYW5rcyBhIGxvdCBmb3IgeW91ciBlZmZvcnRzIGluIG9yZGVy IHRvIGtlZXAgYm9jaHMgYWxpdmUuCj4+IAo+PiBXaGlsZSB0YWtpbmcgYSBsb29rIGludG8gU3Rh bmlzbGF2J3MgZ2l0IHJlcG9zaXRvcnkgSSBtaXNzZWQgdGhlCj4+IHJlbGVhc2UgdGFncyB0aGVy ZS4KPj4gRGlkIHlvdSBsZWF2ZSB0aGVtIG91dCBpbnRlbnRpb25hbGx5Pwo+PiAKPj4gQmVzdCBy ZWdhcmRzLAo+PiAKPj4gVGhvbWFzCj4+IAo+PiBBbSAxMS4wNy4yMDIyIHVtIDA4OjI2IHNjaHJp ZWIgc3RsaW50ZWxAZ21haWwuY29tOgo+PiAKPj4gT2theSwgZ3V5cyAhCj4+IAo+PiBQbGVhc2Ug dGFrZSBhIGxvb2sgb250byBnaXRodWIgcmVwb3NpdG9yeToKPj4gCj4+IGh0dHBzOi8vZ2l0aHVi LmNvbS9zdGxpbnRlbC9Cb2Nocwo+PiAKPj4gYW5kIGFsc28gU0YgZ2l0IHJlcG9zaXRvcnk6Cj4+ IAo+PiBodHRwczovL3NvdXJjZWZvcmdlLm5ldC9wL2JvY2hzL2JvY2hzL2NpL21hc3Rlci90cmVl Lwo+PiAKPj4gVGhleSBhcmUgaWRlbnRpY2FsLgo+PiAKPj4gQ291bGQgYmUgYm90aCBjbG9uZWQg YW5kIGJyb3dzZWQuCj4+IAo+PiBWZXJpZnkgZXZlcnl0aGluZyB5b3Uga25vdyAtIHRoaXMgaXMg Zmlyc3QgdGltZSBJIGNyZWF0ZSBuZXcgZ2l0Cj4+IHJlcG9zaXRvcmllcywgbm90IHRlbGxpbmcg YWJvdXQgY29udmVydGluZyBmcm9tIFNWTi4KPj4gCj4+IEkgcGVyc29uYWxseSBwcmVmZXIgZ2l0 aHViIGludGVyZmFjZS4KPj4gCj4+IENhbiBzb21lb25lIGhlbHAgd2l0aCBzZXR0aW5nIHVwIG1h bmRhdG9yeSBjb2RlIHJldmlldyBmb3IgcHVsbAo+PiByZXF1ZXN0cyA/Cj4+IAo+PiBUaGFua3MK Pj4gCj4+IFN0YW5zaWxhdgo+PiAKPj4gRnJvbTogc3RsaW50ZWxAZ21haWwuY29tIDxzdGxpbnRl bEBnbWFpbC5jb20+Cj4+IFNlbnQ6IE1vbmRheSwgMTEgSnVseSAyMDIyIDg6NDUKPj4gVG86ICdY aW55YW5nIEdlJyA8YWVnaXJ5eUBnbWFpbC5jb20+Cj4+IENjOiAnYm9jaHMtZGV2ZWxvcGVycycg PGJvY2hzLWRldmVsb3BlcnNAbGlzdHMuc291cmNlZm9yZ2UubmV0Pgo+PiBTdWJqZWN0OiBSRTog W0JvY2hzLWRldmVsb3BlcnNdIEJlZm9yZSBkZWNsYXJpbmcgQm9jaHMgaXMgZGVhZCAuLi4KPj4g Cj4+IEdpdGh1YiBzdWdnZXN0cyBuZXh0IHN0ZXAgdG8gZG86Cj4+IAo+PiBFeGlzdGluZyByZXBv c2l0b3J5IHVzaW5nIEdpdAo+PiAKPj4gY2QgbXlwcm9qZWN0Cj4+IAo+PiBnaXQgcmVtb3RlIGFk ZCBvcmlnaW4gc3NoOi8vc3Nod2FydHNAZ2l0LmNvZGUuc2YubmV0L3AvYm9jaHMvYm9jaHMKPj4g Cj4+IGdpdCBwdXNoIC11IG9yaWdpbiBtYXN0ZXIKPj4gCj4+IFNob3VsZCBJID8KPj4gCj4+IEZy b206IHN0bGludGVsQGdtYWlsLmNvbSA8c3RsaW50ZWxAZ21haWwuY29tPgo+PiBTZW50OiBTdW5k YXksIDEwIEp1bHkgMjAyMiAxOTo0OAo+PiBUbzogJ1hpbnlhbmcgR2UnIDxhZWdpcnl5QGdtYWls LmNvbT4KPj4gQ2M6ICdib2Nocy1kZXZlbG9wZXJzJyA8Ym9jaHMtZGV2ZWxvcGVyc0BsaXN0cy5z b3VyY2Vmb3JnZS5uZXQ+Cj4+IFN1YmplY3Q6IFJFOiBbQm9jaHMtZGV2ZWxvcGVyc10gQmVmb3Jl IGRlY2xhcmluZyBCb2NocyBpcyBkZWFkIC4uLgo+PiAKPj4gQWN0dWFsbHkgSSBnb3Qgc29tZSBo ZWxwIGZyb20gZm9sa3MgYXQgd29yayBhbmQgdGhlIGNvbnZlcnNpb24gaXMgaW4KPj4gcHJvZ3Jl c3MgcmlnaHQgbm93Lgo+PiAKPj4gSXQgaXMgcnVubmluZyBmcm9tIHRoZSBtb3JuaW5nIGFuZCBh Ym91dCA2MCUgZG9uZS4KPj4gCj4+IExldCdzIHNlZSB3aGF0IGlzIGdvaW5nIHRvIGJlIHJlc3Vs dC4KPj4gCj4+IFRoYW5rcywKPj4gCj4+IFN0YW5pc2xhdgo+PiAKPj4gRnJvbTogWGlueWFuZyBH ZSA8YWVnaXJ5eUBnbWFpbC5jb20+Cj4+IFNlbnQ6IFN1bmRheSwgMTAgSnVseSAyMDIyIDE5OjIx Cj4+IFRvOiBTdGFuaXNsYXYgU2h3YXJ0c21hbiA8c3RsaW50ZWxAZ21haWwuY29tPgo+PiBDYzog Ym9jaHMtZGV2ZWxvcGVycyA8Ym9jaHMtZGV2ZWxvcGVyc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+ Cj4+IFN1YmplY3Q6IFJlOiBbQm9jaHMtZGV2ZWxvcGVyc10gQmVmb3JlIGRlY2xhcmluZyBCb2No cyBpcyBkZWFkIC4uLgo+PiAKPj4gU28geW91IGhhdmUgdHdvIHN1Z2dlc3Rpb25zIGhlcmU6ICgx KSBoYXZlIHRoZSBmdWxsIG5hbWUgZm9yIHRoZQo+PiBhdXRob3IgaW5mbywgYW5kICgyKSByZW1v dmUgdGhlIGJhY2t3YXJkIHBvaW50ZXIgdG8gdGhlIFNWTiByZXBvLgo+PiAKPj4gRm9yICgxKSwg aXQgbG9va3MgbGlrZSB0aGUgU1ZOIGNvbW1pdCBoaXN0b3J5IGRvZXNuJ3QgY29udGFpbiB0aGUg ZnVsbAo+PiBuYW1lIGVpdGhlcjogQm9jaHMgeDg2IFBDIGVtdWxhdG9yIC8gQ29kZSAvIENvbW1p dCBbcjE0MzQ5XQo+PiAoc291cmNlZm9yZ2UubmV0KS4gIFRvIGJlIGNvbnNpc3RlbnQsIHNoYWxs IHdlIGp1c3QgcmV1c2Ugd2hhdGV2ZXIgaXMKPj4gaW4gU1ZOIGhpc3RvcnkgZm9yIHRoZSBuZXcg Z2l0IHJlcG8/Cj4+IAo+PiBGb3IgKDIpLCBJIGNhbiB0YWtlIGEgbG9vayBhbmQgc2VlIGlmIHdl IGNhbiByZW1vdmUgdGhlIGJhY2t3YXJkCj4+IHBvaW50ZXIuCj4+IAo+PiBBbnl0aGluZyBlbHNl IEkgbWlzc2VkPwo+PiAKPj4gWGlueWFuZwo+PiAKPj4gT24gU2F0LCBKdWwgOSwgMjAyMiBhdCAx MDo1NyBBTSA8c3RsaW50ZWxAZ21haWwuY29tPiB3cm90ZToKPj4gCj4+IFRoaXMgaXMgZXhhY3Rs eSBub3QgZ29vZCBvbmUgLi4uCj4+IAo+PiBUaGlzIGlzIGhvdyBpdCBzdXBwb3NlZCB0byBsb29r IGxpa2U6Cj4+IAo+PiA9PSBDdXQgSGVyZSA9PQo+PiAKPj4gY29tbWl0IGQzMjBkYWRjYzljNDAy ODJhZDI4MmZhNmM2NGNjYmZlZjA0OGQ5NTIgKEhFQUQgLT4gbWFzdGVyLAo+PiBvcmlnaW4vbWFz dGVyLCBvcmlnaW4vSEVBRCkKPj4gCj4+IEF1dGhvcjogVm9sa2VyIFJ1cHBlcnQKPj4gCj4+IERh dGU6ICAgVGh1IE5vdiA0IDE3OjQ0OjU3IDIwMjEgKzAwMDAKPj4gCj4+IFVwZGF0ZWQgLyBpbXBy b3ZlZCBpbmZvcm1hdGlvbiBhYm91dCBjb25maWd1cmUgc2hvcnRjdXQgc2NyaXB0cy4KPj4gCj4+ ID09IEN1dCBIZXJlID09Cj4+IAo+PiBGcm9tOiBYaW55YW5nIEdlIDxhZWdpcnl5QGdtYWlsLmNv bT4KPj4gU2VudDogU2F0dXJkYXksIDkgSnVseSAyMDIyIDE4OjQyCj4+IFRvOiBTdGFuaXNsYXYg U2h3YXJ0c21hbiA8c3RsaW50ZWxAZ21haWwuY29tPgo+PiBDYzogYm9jaHMtZGV2ZWxvcGVycyA8 Ym9jaHMtZGV2ZWxvcGVyc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+Cj4+IFN1YmplY3Q6IFJlOiBb Qm9jaHMtZGV2ZWxvcGVyc10gQmVmb3JlIGRlY2xhcmluZyBCb2NocyBpcyBkZWFkIC4uLgo+PiAK Pj4gRGlkIHlvdSBjaGVjayBodHRwczovL2dpdGh1Yi5jb20vY291bnRpbmdwaW5lL2JvY2hzLXN2 bj8gIFRoZSBsYXRlc3QKPj4gZ2l0IGNvbW1pdCAoc2hvd24gYmVsb3cpIG1hdGNoZXMgd2hhdCBJ IHNhdyBmcm9tIHRoZSBTVk4gcmVwby4gIFRoZXkKPj4gYWxzbyBzZWVtIHRvIGdldCB0aGUgYXV0 aG9yIGluZm8gYW5kIGNvbW1pdCBtZXNzYWdlIGNvcnJlY3QgKHdpdGggYW4KPj4gYWRkaXRpb25h bCBwb2ludGVyIHRvIHRoZSBTVk4gY29tbWl0KS4gIElzIHRoZXJlIGFueSBpc3N1ZSB5b3Ugc2F3 Cj4+IGZyb20gdGhlIHJlcG8/ICBJZiBub3QsIHdlIGNhbiBqdXN0IGNsb25lIGFuZCByZS11cGxv YWQgdGhlIHJlcG8gdG8gYQo+PiBtb3JlIG9mZmljaWFsIGFjY291bnQgb2YgQm9jaHMgb24gR2l0 aHViLgo+PiAKPj4gY29tbWl0IGQzMjBkYWRjYzljNDAyODJhZDI4MmZhNmM2NGNjYmZlZjA0OGQ5 NTIgKEhFQUQgLT4gbWFzdGVyLAo+PiBvcmlnaW4vbWFzdGVyLCBvcmlnaW4vSEVBRCkKPj4gCj4+ IEF1dGhvcjogdnJ1cHBlcnQgPHZydXBwZXJ0QDZjOGU0MTk4LWE1ODAtNDUyMS1hMDJmLWM5YWU4 NmRmMWRiOT4KPj4gCj4+IERhdGU6ICAgVGh1IE5vdiA0IDE3OjQ0OjU3IDIwMjEgKzAwMDAKPj4g Cj4+IFVwZGF0ZWQgLyBpbXByb3ZlZCBpbmZvcm1hdGlvbiBhYm91dCBjb25maWd1cmUgc2hvcnRj dXQgc2NyaXB0cy4KPj4gCj4+IGdpdC1zdm4taWQ6IGh0dHA6Ly9zdm4uY29kZS5zZi5uZXQvcC9i b2Nocy9jb2RlL3RydW5rQDE0MzQ5Cj4+IDZjOGU0MTk4LWE1ODAtNDUyMS1hMDJmLWM5YWU4NmRm MWRiOQo+PiAKPj4gT24gU2F0LCBKdWwgOSwgMjAyMiBhdCA3OjI0IEFNIDxzdGxpbnRlbEBnbWFp bC5jb20+IHdyb3RlOgo+PiAKPj4gSSBzZWUgZG96ZW5zIG9mIEJvY2hzIGZvcmtzIHRvIGdpdCBp biB0aGUgbmV0LiBNb3N0IG9mIHRoZW0gb3V0ZGF0ZQo+PiBhbmQgZGVhZC4KPj4gCj4+IFVuZm9y dHVuYXRlbHkgbm90IGV2ZW4gc2luZ2xlIG9uZSBvZiB0aGVtIGlzIGZvcmtlZCBwcm9wZXJseSwg d2l0aAo+PiBjb252ZXJ0aW5nIGF1dGhvcnMgYW5kIGNsZWFuaW5nIHVwIHN0dWZmIGFmdGVyd2Fy ZHMuCj4+IAo+PiBEb2luZyBzaW1wbGUgJ2dpdCBsb2cnIG9uIGJvY2hzIGZvbGRlciByZXZlYWxz IGEgbG90IG9mIGdhcmJhZ2UgdGhhdAo+PiBzaG91bGQgbm90IGJlIHRoZXJlLgo+PiAKPj4gSSB0 cmllZCB0byBnbyB0aHJvdWdoIHRoZSBwcm9jZXNzIG9mIG1pZ3JhdGlvbiBmcm9tIHNjcmF0Y2gg YnV0IHNlZW1zCj4+IGxpa2Ugc210aCBpcyBnb2luZyB3cm9uZyBmb3IgbWUuCj4+IAo+PiBJdCBw cmludHMgOgo+PiAKPj4gSW5pdGlhbGl6ZWQgZW1wdHkgR2l0IHJlcG9zaXRvcnkgaW4KPj4gL2N5 Z2RyaXZlL2UvQk9DSFMvQk9DSFMvU1ZOL2JvY2hzLWdpdC1jb252ZXJzaW9uL2JvY2hzLWdpdC10 bXAvLmdpdC8KPj4gCj4+IFVzaW5nIGhpZ2hlciBsZXZlbCBvZiBVUkw6Cj4+IGh0dHBzOi8vc3Zu LmNvZGUuc2YubmV0L3AvYm9jaHMvY29kZS90cnVuay9ib2NocyA9Pgo+PiBodHRwczovL3N2bi5j b2RlLnNmLm5ldC9wL2JvY2hzL2NvZGUKPj4gCj4+IEFuZCBqdXN0IHN0dWNrIGZvciB2ZXJ5IGxv bmcgdGltZS4gQXQgdGhlIGVuZCBJIHNlZSAuZ2l0IGZvbGRlciB3aGljaAo+PiBpcyBlbXB0eSBy ZXBvIChub3RoaW5nIGZyb20gU1ZOIHdhcyBpbXBvcnRlZCkuCj4+IAo+PiBGcm9tOiBYaW55YW5n IEdlIDxhZWdpcnl5QGdtYWlsLmNvbT4KPj4gU2VudDogRnJpZGF5LCA4IEp1bHkgMjAyMiAyMjox OAo+PiBUbzogU3RhbmlzbGF2IFNod2FydHNtYW4gPHN0bGludGVsQGdtYWlsLmNvbT4KPj4gQ2M6 IGJvY2hzLWRldmVsb3BlcnMgPGJvY2hzLWRldmVsb3BlcnNAbGlzdHMuc291cmNlZm9yZ2UubmV0 Pgo+PiBTdWJqZWN0OiBSZTogW0JvY2hzLWRldmVsb3BlcnNdIEJlZm9yZSBkZWNsYXJpbmcgQm9j aHMgaXMgZGVhZCAuLi4KPj4gCj4+IFRvdGFsbHkuICBBbnkgb3Blbi1zb3VyY2UgcHJvamVjdCB3 b3VsZCByZXF1aXJlIHRoZSB3aG9sZSBjb21tdW5pdHkKPj4gZWZmb3J0IHRvIG1ha2UgaXQgbGl2 ZSBsb25nIGFuZCBwcm9zcGVyLCBhbmQgSSB0aGluayBtb3ZpbmcgQm9jaHMgdG8KPj4gZ2l0L2dp dGh1YiB3b3VsZCBlbmNvdXJhZ2UgbW9yZSBwZW9wbGUgdG8gY29udHJpYnV0ZSAoZXNwZWNpYWxs eQo+PiBub3dhZGF5cykuICBMZXQgbWUga25vdyBob3cgSSBjYW4gaGVscCB3aXRoIHRoZSBlZmZv cnRzLgo+PiAKPj4gWGlueWFuZwo+PiAKPj4gT24gRnJpLCBKdWwgOCwgMjAyMiBhdCAxMTowMyBB TSBTdGFuaXNsYXYgU2h3YXJ0c21hbgo+PiA8c3RsaW50ZWxAZ21haWwuY29tPiB3cm90ZToKPj4g Cj4+IEhpLAo+PiAKPj4+IEJvY2hzIGlzIG9uZSBvZiB0aGUgaGlnaGVzdC1maWRlbGl0eSBQQyBl bXVsYXRvcnMgYW5kIGlzIHdpZGVseSB1c2VkCj4+PiBpbiBib3RoIGFjYWRlbWlhIGFuZCBpbmR1 c3RyeS4gIElmIHRoZXJlJ3MgYSB3YXkgd2UgY2FuIGtlZXAgaXQKPj4+IGdvaW5nLCBwbGVhc2Ug ZG9uJ3QgbGV0IGl0IGRpZS4KPj4gCj4+IFlvdSBhcmUgdGhlIG9uZXMgd2hvIGNvdWxkIGtlZXAg aXQgZnJvbSBkb2luZy4KPj4gCj4+IEJvY2hzIGNhbid0IHN1cnZpdmUgb24ganVzdCAyIGNvbnRy aWJ1dG9ycyB3aGljaCBhbHNvIGhhdmUgZmFtaWxpZXMsCj4+IHdvcmsgYW5kIG90aGVyIHByb2pl Y3RzIHRvIGNhcmUuCj4+IAo+PiBXZSB3b3VsZCB0cnkgdG8gZG8gb3VyIGJlc3QgYnV0IGl0IGNh bid0IGNvbnRpbnVlIGFsb25lLgo+PiAKPj4gT24gRnJpLCBKdWwgOCwgMjAyMiBhdCA3OjA1IFBN IFhpbnlhbmcgR2UgPGFlZ2lyeXlAZ21haWwuY29tPiB3cm90ZToKPj4gCj4+IEhpIFN0YW5pc2xh diwKPj4gCj4+IFRoZXJlIGlzIGEgZ2l0aHViIHJlcG8gd2hpY2ggaGFzIGl0cyBjb21taXQgaGlz dG9yeSBpbiBzeW5jIHdpdGggdGhlCj4+IFNWTiByZXBvOiBodHRwczovL2dpdGh1Yi5jb20vY291 bnRpbmdwaW5lL2JvY2hzLXN2bi4gIENhbiB3ZSB1c2UgaXQgYXMKPj4gYSBzdGFydGluZyBwb2lu dCBmb3Igc3ZuPj5naXQgdHJhbnNpdGlvbiBvciBtYXliZSBldmVuIGNvbnRhY3QgdGhlCj4+IG93 bmVyIG9mIHRoYXQgZ2l0aHViIHJlcG8gZm9yIGhlbHA/Cj4+IAo+PiBCb2NocyBpcyBvbmUgb2Yg dGhlIGhpZ2hlc3QtZmlkZWxpdHkgUEMgZW11bGF0b3JzIGFuZCBpcyB3aWRlbHkgdXNlZAo+PiBp biBib3RoIGFjYWRlbWlhIGFuZCBpbmR1c3RyeS4gIElmIHRoZXJlJ3MgYSB3YXkgd2UgY2FuIGtl ZXAgaXQgZ29pbmcsCj4+IHBsZWFzZSBkb24ndCBsZXQgaXQgZGllLgo+PiAKPj4gWGlueWFuZwo+ PiAKPj4gT24gRnJpLCBKdWwgOCwgMjAyMiBhdCA4OjQ4IEFNIFN0YW5pc2xhdiBTaHdhcnRzbWFu Cj4+IDxzdGxpbnRlbEBnbWFpbC5jb20+IHdyb3RlOgo+PiAKPj4gSG8gRm9sa3MuCj4+IAo+PiBT ZWVtcyBsaWtlIEkgbGVmdCBhbG9uZS4gVHJpZWQgdG8gd3JpdGUgVm9sa2VyIGFuZCBoZSBkaWRu J3QgcmVzcG9uZAo+PiBmb3IgMTAgZGF5cyA6KAo+PiAKPj4gQmVmb3JlIGRlY2xhcmluZyBCb2No cyBvZmZpY2lhbGx5IGRlYWQgSSB3b3VsZCBsaWtlIHRvIG1vZGVybml6ZSBpdCBhCj4+IGJpdCBi eSBtb3ZpbmcgdG8gbmV3ZXIgdG9vbHMgYW5kIHRyeWluZyB0byBpbnZpdGUgbmV3IGNvbnRyaWJ1 dG9ycy4gSQo+PiBwZXJzb25hbGx5IGxpa2UgZ2l0IGFzIG5ldyBCb2NocyB2ZXJzaW9uIGNvbnRy b2wgc3lzdGVtIGFuZCBlc3BlY2lhbGx5Cj4+IGxpa2UgZ2l0aHViIGFuZCBpdHMgY29kZSByZXZp ZXcgaW50ZXJmYWNlLgo+PiAKPj4gQnV0IEkgYW0gbm90IGEgbWFzdGVyIGluIGRvaW5nIHN2bj4+ Z2l0IHRyYW5zaXRpb25zLgo+PiAKPj4gSW4gdGhlIG90aGVyIHNpZGUgSSBzYXcgc29tZSBvZiB5 b3UgYWxyZWFkeSBkaWQgaXQgYmVmb3JlIGFuZCBoYXZlCj4+IG5lY2Vzc2FyeSBleHBlcmllbmNl Lgo+PiAKPj4gQ2FuIHNvbWVvbmUgdm9sdW50ZWVyIHRvIGhhdmUgYSBab29tL1RlYW1zIHNlc3Np b24gZm9yIHRoZSBzdm4+PmdpdAo+PiB0cmFuc2l0aW9uPwo+PiBJIGhvcGUgaXQgd29uJ3QgdGFr ZSBmb3JldmVyIGFuZCBhcyByZXN1bHQgd2Ugc2hvdWxkIGdldCBnaXQKPj4gcmVwb3NpdG9yeSBm b3IgQm9jaHMgb24gU291cmNlZm9yZ2UgKHNlZW1zIGxpa2UgdGhleSBoYXZlIGl0KSBvciBtYXkK Pj4gYmUgcHJlZmVyYWJsZSwgYWxyZWFkeSBpbiBnaXRodWIuCj4+IAo+PiBBbnlvbmUgPwo+PiAK Pj4gVGhhbmtzLAo+PiBTdGFuaXNsYXYKPj4gCj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCj4+IGJvY2hzLWRldmVsb3BlcnMgbWFpbGluZyBsaXN0Cj4+ IGJvY2hzLWRldmVsb3BlcnNAbGlzdHMuc291cmNlZm9yZ2UubmV0Cj4+IGh0dHBzOi8vbGlzdHMu c291cmNlZm9yZ2UubmV0L2xpc3RzL2xpc3RpbmZvL2JvY2hzLWRldmVsb3BlcnMKPiAKPiBfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IAo+IGJvY2hzLWRl dmVsb3BlcnMgbWFpbGluZyBsaXN0Cj4gCj4gYm9jaHMtZGV2ZWxvcGVyc0BsaXN0cy5zb3VyY2Vm b3JnZS5uZXQKPiAKPiBodHRwczovL2xpc3RzLnNvdXJjZWZvcmdlLm5ldC9saXN0cy9saXN0aW5m by9ib2Nocy1kZXZlbG9wZXJzCj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KPiBib2Nocy1kZXZlbG9wZXJzIG1haWxpbmcgbGlzdAo+IGJvY2hzLWRl dmVsb3BlcnNAbGlzdHMuc291cmNlZm9yZ2UubmV0Cj4gaHR0cHM6Ly9saXN0cy5zb3VyY2Vmb3Jn ZS5uZXQvbGlzdHMvbGlzdGluZm8vYm9jaHMtZGV2ZWxvcGVycwoKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmJvY2hzLWRldmVsb3BlcnMgbWFpbGluZyBs aXN0CmJvY2hzLWRldmVsb3BlcnNAbGlzdHMuc291cmNlZm9yZ2UubmV0Cmh0dHBzOi8vbGlzdHMu c291cmNlZm9yZ2UubmV0L2xpc3RzL2xpc3RpbmZvL2JvY2hzLWRldmVsb3BlcnMK