Re: AVX-512 for LAME: code to try, if you have the hardware

Tobias Damisch via Lame-dev <[email protected]> Sun, 26 Jul 2026 12:44:36 +0200
Newsgroups gmane.comp.audio.mp3.lame
Message-ID <[email protected]>
SSBkaWQgYXMgaW5zdHJ1Y3RlZCwgbm93IEFWWC01MTIgaXMgaW4gdmVjdG9yIHJvdXRpbmVzLAp0
aGUgMWMgdGVzdCBzaG93ZWQgSURFTlRJQ0FMLgoKQ1BVOiBBTUQgUnl6ZW4gOSA3OTUwWDNEICgz
MikgQCA1Ljc1OUdIegogPiBnY2MgLS12ZXJzaW9uCmdjYyAoVWJ1bnR1IDEzLjMuMC02dWJ1bnR1
Mn4yNC4wNC4xKSAxMy4zLjAKT1M6IExpbnV4IE1pbnQgMjIuMyB4ODZfNjQKCiA+IC4vZnJvbnRl
bmQvbGFtZSAtLXZlcmJvc2UgZXhhbXBsZS53YXYKTEFNRSA0LjEgKGFscGhhIDAsIEp1bCAyNiAy
MDI2IDExOjQzOjA4KSA2NGJpdHMgCihodHRwczovL2xhbWUuc291cmNlZm9yZ2UuaW8pCndhcm5p
bmc6IGFscGhhIHZlcnNpb25zIHNob3VsZCBiZSB1c2VkIGZvciB0ZXN0aW5nIG9ubHkKQ1BVIGZl
YXR1cmVzOiBNTVgsIFNTRSwgU1NFMiwgQVZYMiwgQVZYLTUxMgp2ZWN0b3Igcm91dGluZXM6IEFW
WC01MTIKCgpTdGFnZSAxZCAoSSBkaWQgcnVuIGEgd2FybXVwIHJvdW5kIGJlZm9yZSB0aW1lIG1l
YXN1cmVtZW50cyk6Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCm5vYXNtIGF2eDUxMiAtVjI6CgpyZWFsICAgIDBtNiw2NTJzCnVz
ZXIgICAgMG02LDU4MnMKc3lzICAgICAwbTAsMDcycwoKcmVhbCAgICAwbTYsNTM5cwp1c2VyICAg
IDBtNiw0NjhzCnN5cyAgICAgMG0wLDA3M3MKCnJlYWwgICAgMG02LDUyMHMKdXNlciAgICAwbTYs
NDM4cwpzeXMgICAgIDBtMCwwODVzCgoKSnVzdCAtVjI6CgpyZWFsICAgIDBtNiw1NjBzCnVzZXIg
ICAgMG02LDQ5NnMKc3lzICAgICAwbTAsMDY1cwoKcmVhbCAgICAwbTYsNTgycwp1c2VyICAgIDBt
Niw1MjRzCnN5cyAgICAgMG0wLDA1OHMKCnJlYWwgICAgMG02LDU2OHMKdXNlciAgICAwbTYsNDc2
cwpzeXMgICAgIDBtMCwwOTJzCgpub2FzbSBhdng1MTIgLWIgMzIwOgoKcmVhbCAgICAwbTEwLDAw
N3MKdXNlciAgICAwbTksOTI1cwpzeXMgICAgIDBtMCwwODNzCgpyZWFsICAgIDBtMTAsMDIycwp1
c2VyICAgIDBtOSw5MjdzCnN5cyAgICAgMG0wLDA5NXMKCnJlYWwgICAgMG0xMCwwMTlzCnVzZXIg
ICAgMG05LDkxN3MKc3lzICAgICAwbTAsMTAzcwoKCkp1c3QgLWIgMzIwOgoKcmVhbCAgICAwbTEw
LDEyOXMKdXNlciAgICAwbTEwLDA1MnMKc3lzICAgICAwbTAsMDc5cwoKcmVhbCAgICAwbTEwLDEw
NnMKdXNlciAgICAwbTEwLDAwOXMKc3lzICAgICAwbTAsMDk4cwoKcmVhbCAgICAwbTEwLDI3OHMK
dXNlciAgICAwbTEwLDIwNHMKc3lzICAgICAwbTAsMDc2cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCgpTdGFnZSAyOgotLS0tLS0tLS0tLS0KY29uZmlndXJlIGFuZCBtYWtlIGNvbXBs
ZXRlZCwgYnV0IG1ha2UgY2hlY2sgcHJvZHVjZWQ6CgpQQVNTOiB0ZXN0X3Nhbml0eQpQQVNTOiB0
ZXN0X2dldF9hdWRpb19haWZmClBBU1M6IHRlc3RfcGFyc2VfcGF0aGxlbgpQQVNTOiB0ZXN0X21l
cmdlX2FyZ3YKUEFTUzogdGVzdF9pZDN0YWcKUEFTUzogdGVzdF9wYXJzZV9pZDMKUEFTUzogdGVz
dF9lbmNvZGVfbm9uZmluaXRlClBBU1M6IHRlc3RfZW5jb2RlX21vbm9faW50ZXJsZWF2ZWQKUEFT
UzogdGVzdF90b3RhbGZyYW1lcwpQQVNTOiB0ZXN0X3NldF9nZXQKUEFTUzogdGVzdF9jaG9vc2Vf
dGFibGVfdmVjdG9yClBBU1M6IHRlc3RfcXVhbnRpemVfbGluZXNfdmVjdG9yCkZBSUw6IHRlc3Rf
Y2FsY19zZmJfbm9pc2VfdmVjdG9yCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KVGVzdHN1aXRlIHN1bW1h
cnkgZm9yIGxhbWUgNC4xCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIyBUT1RBTDogMTMKIyBQQVNTOiAg
MTIKIyBTS0lQOiAgMAojIFhGQUlMOiAwCiMgRkFJTDogIDEKIyBYUEFTUzogMAojIEVSUk9SOiAw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KU2VlIHRlc3QvdW5pdC90ZXN0LXN1aXRlLmxvZwpQbGVhc2Ug
cmVwb3J0IHRvIGxhbWUtZGV2QGxpc3RzLnNvdXJjZWZvcmdlLm5ldAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09CgpJIGFzc3VtZSB0aGUgcGVyZm9ybWFuY2UgY29tcGFyaXNvbnMgZm9yIHN0YWdlIDIgYXJl
IG9ic29sZXRlIGlmCiJtYWtlIGNoZWNrIiBzaG93cyBmYWlscy4uLj8KCgpDaGVlcnMsCiAgICAg
ICAgIFRvYmlhcwoKCgoKQW0gMjYuMDcuMjYgdW0gMDA6MDIgc2NocmllYiBBbGV4YW5kZXIgTGVp
ZGluZ2VyOgo+IEFtIDIwMjYtMDctMjUgMjI6NTcsIHNjaHJpZWIgVG9iaWFzIERhbWlzY2ggdmlh
IExhbWUtZGV2Ogo+PiBIZXksCj4+Cj4+IEkgaGFwcGVuIHRvIGJlIHRoZSBsdWNreSBvd25lciBv
ZiBhIFplbiA0IG1hY2hpbmUuCj4+Cj4+IENQVTogQU1EIFJ5emVuIDkgNzk1MFgzRCAoMzIpIEAg
NS43R0h6Cj4+IE9TOiBMaW51eCBNaW50IHRyaXhpZS9zaWQgKHplbmEpIHg4Nl82NAo+Pgo+PiBE
aWQgU3RhZ2UgMS4gQWZ0ZXIgaW5zdGFsbGluZyBsaWJjbW9ja2EtZGV2LCBsaWJtcGcxMjMtZGV2
IGl0IGRpZCAKPj4gYWN0dWFsbHkKPj4gY29uZmlndXJlIGFuZCBjb21waWxlLCBpbmNsdWRpbmcg
dGhlIGxpbmVzIHlvdSB3cm90ZSB0byBsb29rIGZvciwKPj4gYW5kIG1ha2UgY2hlY2sgcHJvZHVj
ZWQ6Cj4+Cj4+IFBBU1M6IHRlc3Rfc2FuaXR5Cj4+IFBBU1M6IHRlc3RfZ2V0X2F1ZGlvX2FpZmYK
Pj4gUEFTUzogdGVzdF9wYXJzZV9wYXRobGVuCj4+IFBBU1M6IHRlc3RfbWVyZ2VfYXJndgo+PiBQ
QVNTOiB0ZXN0X2lkM3RhZwo+PiBQQVNTOiB0ZXN0X3BhcnNlX2lkMwo+PiBQQVNTOiB0ZXN0X2Vu
Y29kZV9ub25maW5pdGUKPj4gUEFTUzogdGVzdF9lbmNvZGVfbW9ub19pbnRlcmxlYXZlZAo+PiBQ
QVNTOiB0ZXN0X3RvdGFsZnJhbWVzCj4+IFBBU1M6IHRlc3Rfc2V0X2dldAo+PiBQQVNTOiB0ZXN0
X2Nob29zZV90YWJsZV92ZWN0b3IKPj4gUEFTUzogdGVzdF9xdWFudGl6ZV9saW5lc192ZWN0b3IK
Pj4gUEFTUzogdGVzdF9jYWxjX3NmYl9ub2lzZV92ZWN0b3IKPj4gPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQo+PiBUZXN0c3VpdGUgc3VtbWFyeSBmb3IgbGFtZSA0LjEKPj4gPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQo+PiAjIFRPVEFMOiAxMwo+PiAjIFBBU1M6wqAgMTMKPj4gIyBTS0lQOsKgIDAKPj4gIyBYRkFJ
TDogMAo+PiAjIEZBSUw6wqAgMAo+PiAjIFhQQVNTOiAwCj4+ICMgRVJST1I6IDAKPj4gPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQo+IAo+IFRoaXMgaXMgdmVyeSB1c2VmdWwgb3V0cHV0ISBBbGwgd29ya3Mg
YXMgZXhwZWN0ZWQuIFRoZSBvbmx5IG1pc3NpbmcgaW5mbyAKPiBhcmUgdGhlIHBlcmZvcm1hbmNl
IGZpZ3VyZXMuCj4gCj4+IEZvciAxYiBJIGhhZCB0byBhY3R1YWxseSBzdXBwbHkgYSB3YXYgZmls
ZSB0byBwcm9kdWNlIG1lYW5pZ2Z1bCBvdXRwdXQuCj4+IFRoZW4gaXQgZGlkIHNob3c6Cj4+IENQ
VSBmZWF0dXJlczogTU1YLCBTU0UsIFNTRTIsIEFWWDIsIEFWWC01MTIKPj4gQnV0IGRpZCBOT1Qg
c2hvdyBBVlgtNTEyIHVuZGVyICJ2ZWN0b3Igcm91dGluZXMiOgo+PiB2ZWN0b3Igcm91dGluZXM6
IEFWWDIKPj4KPj4gVGhpcyBkaXNjb3VyYWdlZCBtZSBmcm9tIHByb2NlZWRpbmcgZnVydGhlci4K
PiAKPiBQbGVhc2UgYWRkCj4gIMKgI2luY2x1ZGUgInZlY3Rvci9sYW1lX2ludHJpbi5oIgo+IGlu
IHV0aWwuYyBhbmQgcmVjb21waWxlLgo+IAo+IFRoZW4gdGhlIHBlcmYgdGVzdCAoaXQgc2hvdWxk
IHNob3cgdGhlIEFWWC01MTIgaW4gdGhlIHZlY3RvciByb3V0aW5lcyBub3cpLgo+IAo+PiBJIGhv
cGUgdGhpcyB0ZXN0IGlzIHNvbWVob3cgaGVscGZ1bCBmb3IgeW91IGFueXdheXMhCj4gCj4gVmVy
eSEKPiAKPiBUaGFua3MsCj4gQWxleGFuZGVyLgo+IAo+PiBDaGVlcnMsCj4+IMKgwqDCoMKgwqDC
oMKgwqAgVG9iaWFzCj4+Cj4+Cj4+Cj4+IEFtIDI1LjA3LjI2IHVtIDIxOjEzIHNjaHJpZWIgQWxl
eGFuZGVyIExlaWRpbmdlciB2aWEgTGFtZS1kZXY6Cj4+PiBIaSwKPj4+Cj4+PiBUaGVyZSBpcyBk
ZW1hbmQgZm9yIEFWWC01MTIgb3B0aW1pemF0aW9ucy4gVGhlIEFWWDIgd29yayBpbiA0LjEgCj4+
PiBhbnN3ZXJlZCBoYWxmIG9mIHRoYXQ7IHRoaXMgaXMgYW4gYXR0ZW1wdCBhdCB0aGUgb3RoZXIg
aGFsZiwgYW5kIGl0IAo+Pj4gbmVlZHMgcGVvcGxlIHdpdGggdGhlIHJpZ2h0IGhhcmR3YXJlLCBi
ZWNhdXNlIHdlIGRvIG5vdCBoYXZlIGFueS4KPj4+Cj4+PiBUaGVyZSBpcyBhIHRlc3Qga2l0IGF0
Cj4+PiDCoMKgwqDCoCBodHRwczovL3dpa2kuTGVpZGluZ2VyLm5ldC9sYW1lLWF2eDUxMi10ZXN0
a2l0LnRhci5neiAofjg3MGtiKQo+Pj4gSXQgcGF0Y2hlcyB0cnVuayByNjY2MiBhbmQgYWRkcyBh
biBBVlgtNTEyIHRpZXIgdG8gdGhlIHZlY3RvciBsYWRkZXIgCj4+PiB0aGF0IGFscmVhZHkgcGlj
a3MgYmV0d2VlbiBzY2FsYXIsIFNTRTIgYW5kIEFWWDIgYXQgcnVuIHRpbWUuIFR3byAKPj4+IGtl
cm5lbHMgaW4gdGhlIGZpcnN0IHN0YWdlIC0gdGhlIEh1ZmZtYW4gdGFibGUgc2VhcmNoIGFuZCB0
aGUgCj4+PiB4cl4oMy80KSBxdWFudGl6YXRpb24gbG9vcCAtIGFuZCB0aGUgVkJSIGJhbmQtbm9p
c2Ugcm91dGluZSBpbiBhIHNlY29uZC4KPj4+Cj4+PiBUaGUgcXVlc3Rpb24gaXMgb25seSB0aGlz
Ogo+Pj4KPj4+IMKgwqDCoMKgIElzIGl0IGFjdHVhbGx5IGZhc3Rlciwgb24gcmVhbCBoYXJkd2Fy
ZSwgZW5kIHRvIGVuZD8KPj4+Cj4+PiBXZSBjYW5ub3QgYW5zd2VyIGl0LiBObyBtYWNoaW5lIGhl
cmUgaGFzIEFWWC01MTIsIGFuZCB3ZSBkaWQgbm90IHVzZSAKPj4+IGFuIGVtdWxhdG9yLCBzbyAt
IGFuZCB0aGlzIGlzIHRoZSBwYXJ0IHdvcnRoIHJlYWRpbmcgdHdpY2UgLQo+Pj4KPj4+IMKgwqDC
oMKgIFRISVMgQ09ERSBIQVMgTkVWRVIgQkVFTiBFWEVDVVRFRC4gTk9UIE9OQ0UsIEFOWVdIRVJF
Lgo+Pj4KPj4+IEl0IGhhcyBiZWVuIGNvbXBpbGVkIGJ5IGZvdXIgY29tcGlsZXJzLCBkaXNhc3Nl
bWJsZWQgYW5kIHJlYWQgCj4+PiBpbnN0cnVjdGlvbiBieSBpbnN0cnVjdGlvbiwgY2hlY2tlZCBh
Z2FpbnN0IHRoZSBzY2FsYXIgY29kZSBpdCAKPj4+IHJlcGxhY2VzLCBhbmQgd2lyZWQgaW50byB0
aGUgdW5pdCB0ZXN0IHN1aXRlLiBCdXQgdGhlIGZpcnN0IHRpbWUgCj4+PiB0aGVzZSBpbnN0cnVj
dGlvbnMgYWN0dWFsbHkgcnVuIG9uIGEgcHJvY2Vzc29yIHdpbGwgYmUgb24gc29tZW9uZSAKPj4+
IGVsc2UncyBtYWNoaW5lLiBBIGNyYXNoIG9yIGEgZmFpbGluZyB0ZXN0IGlzIGEgdXNlZnVsIHJl
c3VsdCBhbmQgd2UgCj4+PiB3b3VsZCByYXRoZXIgaGVhciBhYm91dCBpdCB0aGFuIG5vdDsgcGxl
YXNlIGRvIG5vdCBydW4gaXQgb24gYW55dGhpbmcgCj4+PiB5b3UgY2FyZSBhYm91dC4KPj4+Cj4+
PiBSZWxldmFudCBoYXJkd2FyZSBpcyBBTUQgWmVuIDQgb3IgWmVuIDUsIG9yIEludGVsIFhlb24g
ZnJvbSBTa3lsYWtlLSAKPj4+IFNQIG9ud2FyZC4gQ3VycmVudCBJbnRlbCBkZXNrdG9wIHBhcnRz
IGhhdmUgbm8gQVZYLTUxMiBhdCBhbGwsIGFuZCAKPj4+IHdpbGwgbm90IHVudGlsIE5vdmEgTGFr
ZS4gSWYgeW91IGhhdmUgb25lIG9mIHRoZSBhYm92ZSBhbmQgdHdlbnR5IAo+Pj4gbWludXRlcywg
dGhlIFJFQURNRSBpbiB0aGUgdGFyYmFsbCB3YWxrcyB0aHJvdWdoIGl0IGluIHN0YWdlczsgdGhl
IAo+Pj4gZmlyc3Qgc3RhZ2UgYWxvbmUgaXMgYSB1c2VmdWwgYW5zd2VyLCBhbmQgIm5vIGRpZmZl
cmVuY2Ugb24gWmVuIDUiIGlzIAo+Pj4gYXMgdXNlZnVsIGFzIGEgc3BlZWR1cC4KPj4+Cj4+PiBX
aGF0IGlzIGFscmVhZHkgZG9uZSwgc28gbm9ib2R5IHJlcGVhdHMgaXQ6IGJ1aWxkcyBjbGVhbiB3
aXRoIDAgCj4+PiB3YXJuaW5ncyBvbiBnY2MgMTMsIGNsYW5nIDE4LCBjbGFuZyAyMSBhbmQgTVNW
QyAxOS41MSwgb24gTGludXgsIAo+Pj4gRnJlZUJTRCBhbmQgV2luZG93czsgYXBwbGllcyB0byBh
IGZyZXNoIHI2NjYyIGNoZWNrb3V0IGFuZCBidWlsZHMgCj4+PiB3aXRoIGF1dG90b29scyByZW1v
dmVkIGZyb20gUEFUSCAodGhlIHJlZ2VuZXJhdGVkIGJ1aWxkIGZpbGVzIHNoaXAgaW4gCj4+PiB0
aGUga2l0LCBzbyBhdXRvY29uZi9hdXRvbWFrZSBhcmUgbm90IG5lZWRlZCk7IGFuZCBvbiBhIG1h
Y2hpbmUgCj4+PiB3aXRob3V0IEFWWC01MTIgdGhlIG91dHB1dCBpcyBieXRlLWlkZW50aWNhbCB0
byB0cnVuayBhY3Jvc3MgNTE5IAo+Pj4gZW5jb2RlciBvcHRpb24gc2V0cywgc28gdGhlIG5ldyBy
dW5nIGRvZXMgbm90IGRpc3R1cmIgdGhlIG9uZXMgYmVsb3cgaXQuCj4+Pgo+Pj4gVHdvIHRoaW5n
cyBhYm91dCBob3cgaXQgaXMgYnVpbHQ6Cj4+Pgo+Pj4gLSBJdCBpcyBjb21waWxlZCBvbiBhbHBo
YSB2ZXJzaW9ucyBvbmx5LCBhbmQgbGVhdmVzIHRoZSBidWlsZCBieSAKPj4+IGl0c2VsZiB3aGVu
Cj4+PiDCoMKgIHRoZSB2ZXJzaW9uIHR5cGUgbW92ZXMgb24uIFRoZXJlIGlzIG5vIGNvbmZpZ3Vy
ZSBzd2l0Y2gsIAo+Pj4gZGVsaWJlcmF0ZWx5OiBhCj4+PiDCoMKgIHRpZXIgeW91IGhhdmUgdG8g
b3B0IGludG8gaXMgYSB0aWVyIG5vYm9keSBtZWFzdXJlcy4gV2l0aGluIGFuIAo+Pj4gYWxwaGEg
YnVpbGQKPj4+IMKgwqAgaXQgYmVoYXZlcyBsaWtlIHRoZSBvdGhlcnMgLSB3aGF0IHRoZSBjb21w
aWxlciBjYW4gYnVpbGQgaXMgYnVpbHQsIAo+Pj4gdGhlIENQVQo+Pj4gwqDCoCBkZWNpZGVzIGF0
IHJ1biB0aW1lLCBhbmQgLS1ub2FzbSBhdng1MTIgdHVybnMgaXQgb2ZmLgo+Pj4KPj4+IC0gVGhl
IGZpcnN0IHN0YWdlIGNhbm5vdCBjaGFuZ2UgdGhlIGVuY29kZWQgb3V0cHV0LCBhbmQgdGhlIGtp
dCAKPj4+IGNoZWNrcyB0aGF0Lgo+Pj4gwqDCoCBUaGUgc2Vjb25kIHN0YWdlIGlzIG1vcmUgaW50
ZXJlc3Rpbmc6IHRoZSBiYW5kLW5vaXNlIHJvdXRpbmUgZW5kcyAKPj4+IGluIGEgc3VtCj4+PiDC
oMKgIG9mIHNxdWFyZXMsIGFuZCBzdW1taW5nIHNpeHRlZW4gdmFsdWVzIGF0IG9uY2UgbWVhbnMg
c3VtbWluZyB0aGVtIAo+Pj4gaW4gYQo+Pj4gwqDCoCBkaWZmZXJlbnQgb3JkZXIsIHdoaWNoIGNo
YW5nZXMgdGhlIGxhc3QgYml0IGFuZCB0aGVyZWZvcmUgdGhlIAo+Pj4gYml0c3RyZWFtLgo+Pj4g
wqDCoCBTbyBpdCBzaGlwcyBpbiB0d28gZm9ybXMgLSBvbmUgdGhhdCBrZWVwcyB0aGUgZXhpc3Rp
bmcgb3JkZXIgYW5kIGlzCj4+PiDCoMKgIGJpdC1leGFjdCwgYW5kIG9uZSB0aGF0IGRvZXMgbm90
IGFuZCBpcyBmYXN0ZXIuIEhvdyBtdWNoIGZhc3RlciBpcyAKPj4+IGV4YWN0bHkKPj4+IMKgwqAg
d2hhdCB3ZSBkbyBub3Qga25vdywgYW5kIGl0IGRlY2lkZXMgd2hldGhlciB0aGUgcXVlc3Rpb24g
aXMgd29ydGggCj4+PiBoYXZpbmcuCj4+Pgo+Pj4gTm90aGluZyBoZXJlIGlzIGNvbW1pdHRlZC4g
SWYgdGhlIG51bWJlcnMgc2F5IGl0IGlzIG5vdCB3b3J0aCBpdCwgCj4+PiB0aGF0IGlzIGEgcmVz
dWx0IGFuZCB0aGUgdGllciBkb2VzIG5vdCBnbyBpbi4KPj4+Cj4+PiBQbGVhc2UgcmVwb3J0IGJh
Y2s6IENQVSBtb2RlbCwgY29tcGlsZXIgYW5kIHZlcnNpb24sIE9TLCB0aGUgdHdvIAo+Pj4gdGlt
aW5ncywgYW5kIGFueXRoaW5nIHRoYXQgYnJva2UuCj4+Pgo+Pj4gQnllLAo+Pj4gQWxleGFuZGVy
Lgo+Pj4KPj4KPj4KPj4KPj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KPj4gTGFtZS1kZXYgbWFpbGluZyBsaXN0Cj4+IExhbWUtZGV2QGxpc3RzLnNvdXJj
ZWZvcmdlLm5ldAo+PiBodHRwczovL2xpc3RzLnNvdXJjZWZvcmdlLm5ldC9saXN0cy9saXN0aW5m
by9sYW1lLWRldgo+IAoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpMYW1lLWRldiBtYWlsaW5nIGxpc3QKTGFtZS1kZXZAbGlzdHMuc291cmNlZm9yZ2Uu
bmV0Cmh0dHBzOi8vbGlzdHMuc291cmNlZm9yZ2UubmV0L2xpc3RzL2xpc3RpbmZvL2xhbWUtZGV2
Cg==