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