Re: Script to find a best fit v11n

Aaron Rainbolt <[email protected]> Sun, 29 Jun 2025 21:54:27 -0500
Newsgroups gmane.comp.literature.sword.devel
Message-ID <CAFfBHfYM5XKesufiTZ1LxjDcVBUGX1O6uMPJHJOzMcK9mXhLnw@mail.gmail.com>
RnJvbSB3aGF0IEkgdW5kZXJzdGFuZCBhcyBzb21lb25lIHdobyBpc24ndCBhIGxhd3llciBidXQg
aGFzIGRvbmUKbGljZW5zaW5nIGF1ZGl0cyBmb3IgYXBwbGljYXRpb25zIGluIFVidW50dSBhbmQg
RGViaWFuLCB5b3UnbGwgb25seQpydW4gaW50byBpc3N1ZXMgaWYgeW91IHB1Ymxpc2ggKmJ1aWx0
IGJpbmFyaWVzKiBvZiB5b3VyIGNvZGUuIElmIHlvdQpqdXN0IHB1Ymxpc2ggY29kZSwgZXZlbiBp
ZiBpdCdzIGV4cGxpY2l0bHkgaW50ZW5kZWQgdG8gYmUgdXNlZCB3aXRoCmxpY2Vuc2UtaW5jb21w
YXRpYmxlIGxpYnJhcmllcywgeW91J3JlIGZpbmUsIGJlY2F1c2UgeW91IGFyZW4ndApkaXN0cmli
dXRpbmcgc29tZW9uZSBlbHNlJ3MgY29kZSBpbiBhIGxpY2Vuc2UtaW5jb21wYXRpYmxlIG1hbm5l
ciwgYW5kCmJvdGggR1BMdjIgYW5kIEdQTHYzIGFsbG93IHlvdSB0byAqdXNlKiB0aGUgY29kZSBo
b3dldmVyIHlvdSB3YW50LCB5b3UKanVzdCBoYXZlIHRvIHRha2UgY2FyZSB3aGVuICpkaXN0cmli
dXRpbmcqIGl0LiBJZiB5b3Ugd2FudCB0byBtYWtlIGFuCnVuc2lnaHRseSBrbHVkZ2Ugb2YgR1BM
djIsIEdQTHYzLCBhbmQgZXZlbiBDRERMIG9uIHlvdXIgb3duIHN5c3RlbSwKa25vY2sgeW91cnNl
bGYgb3V0LCBqdXN0IGRvbid0IHRyeSB0byBzZW5kIHRoYXQgbWVzcyBvZiBhIGJpbmFyeSB0bwph
bnlvbmUgZWxzZS4gKFRoaXMgaXMgd2h5IERlYmlhbiBnZXRzIGF3YXkgd2l0aCBkaXN0cmlidXRp
bmcgWkZTCmRyaXZlcnMgLSB0aGV5IGRpc3RyaWJ1dGUgZHJpdmVyIHNvdXJjZSBjb2RlIGFuZCB0
aGUgbmVlZGVkIGZyYW1ld29yawp0byBidWlsZCB0aGF0IGNvZGUgb24gdGhlIGZseSB1cG9uIGlu
c3RhbGxhdGlvbiwgdGh1cyB0aGV5IGFyZW4ndApicmVha2luZyBhbnkgbGljZW5zZXMuKQoKSWYg
eW91IHdhbnQgdG8gcHVibGlzaCBiaW5hcmllcyB0aG91Z2gsIHRoZW4geWVzLCB5b3UnbGwgaGF2
ZSBhCnByb2JsZW0gdGhlcmUuIEluIHRoYXQgaW5zdGFuY2UgeW91IG1pZ2h0IGNvbnNpZGVyIHJl
d3JpdGluZyB0aGUgVUkKd2l0aCBHVEsgYW5kIGxpYmFkd2FpdGEsIEkga25vdyBJJ3ZlIHNlZW4g
UnVzdCBwcm9qZWN0cyB0aGF0IGRvIHRoYXQuCkJvdGggb2YgdGhvc2UgdXNlIGRpZmZlcmVudCBM
R1BMIHZlcnNpb25zLCBzbyB5b3Ugc2hvdWxkbid0IHJ1biBpbnRvCmFueSBpbmNvbXBhdGliaWxp
dGllcyB0aGVyZSB1bmxlc3MgdGhlIExHUEx2MiAobm90ZSwgTk9UIHYyLjEpIGFuZApHUEx2MiBh
cmUgaW5jb21wYXRpYmxlLiBJIGRvdWJ0IHRoZXkgYXJlLCBidXQgdGhlIEZTRiBhcHBhcmVudGx5
CmZvcmdvdCB0byBpbmNsdWRlIHRoYXQgbGljZW5zZSBpbiB0aGVpciBjb21wYXRpYmlsaXR5IG1h
dHJpeCBhdApodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC1mYXEuZW4uaHRtbCNBbGxD
b21wYXRpYmlsaXR5LgoKT24gU3VuLCBKdW4gMjksIDIwMjUgYXQgNzowNeKAr1BNIEdyZWcgSGVs
bGluZ3MgPGdyZWcuaGVsbGluZ3NAZ21haWwuY29tPiB3cm90ZToKPgo+IFNvbWVvbmUgbGVmdCBt
ZSBhbG9uZSBmb3IgdG9vIGxvbmcgYW5kIEkgY29udmVydGVkIG15IG9yaWdpbmFsIFB5dGhvbiBz
Y3JpcHQgZm9yIHBhcnNpbmcgdmVyc2lmaWNhdGlvbnMgaW50byBhIFJ1c3QgR1VJIGFwcGxpY2F0
aW9uLiBZb3UgY2FuIHNlZSB0aGUgcXVpY2sgc2NyZWVuY2FzdCBvZiB3aGF0IEkndmUgZG9uZSBo
ZXJlOiBodHRwczovL3lvdXR1LmJlL0l3VFFURjhQUkM0Cj4KPiBJIHdhcyBhYm91dCB0byBwdWJs
aXNoIGl0IGFuZCBwcm9kdWNlIGJpbmFyaWVzLCBidXQgSSByYW4gaW50byBhIHByb2JsZW06Cj4g
SSB1c2VkIFNsaW50IHRvIGNyZWF0ZSB0aGUgVUksIGFuZCBTbGludCBpcyBsaWNlbnNlZCBmb3Ig
ZWl0aGVyIGNvbW1lcmNpYWwgb3IgR1BMdjMKPiBTV09SRCBpcyBsaWNlbnNlZCBhcyBHUEx2Mgo+
Cj4gRnJvbSBteSB1bmRlcnN0YW5kaW5nLCBzaW5jZSB2MiBhbmQgdjMgYXJlIGluY29tcGF0aWJs
ZSwgdGhhdCBtZWFucyBJIGNhbid0IHJlbGVhc2UgdGhlIGJvdGggdG9nZXRoZXIgaW4gYSBzaW5n
bGUgYXBwbGljYXRpb24uIElmIHRoYXQncyBpbmNvcnJlY3QsIHBsZWFzZSBzb21lb25lIGxldCBt
ZSBrbm93IQo+Cj4gLS1HcmVnCj4KPiBPbiBUaHUsIEp1biAxOSwgMjAyNSBhdCAxMDoyMOKAr1BN
IEdyZWcgSGVsbGluZ3MgPGdyZWcuaGVsbGluZ3NAZ21haWwuY29tPiB3cm90ZToKPj4KPj4KPj4K
Pj4gT24gVGh1LCBKdW4gMTksIDIwMjUgYXQgNDoxM+KAr1BNIERNIFNtaXRoIDxkbXNtaXRoQGNy
b3Nzd2lyZS5vcmc+IHdyb3RlOgo+Pj4KPj4+Cj4+PiBPbiBKdW4gMTksIDIwMjUsIGF0IDM6MjTi
gK9QTSwgR3JlZyBIZWxsaW5ncyA8Z3JlZy5oZWxsaW5nc0BnbWFpbC5jb20+IHdyb3RlOgo+Pj4K
Pj4+Cj4+PiBMaWtlIG1vc3QgdGhpbmdzLCBpdCdzIGEgdHJhZGUtb2ZmLiBXb3JraW5nIHdpdGgg
dGhlIGJpbmRpbmdzIHJlcXVpcmVzIHRoYXQgdGhlIFN3b3JkIGJpbmRpbmdzIGFyZSBpbnN0YWxs
ZWQgb24gdGhlIGhvc3Qgc3lzdGVtLiBGb3Igc29tZW9uZSBydW5uaW5nIG9uIFdpbmRvd3MsIHRo
aXMgaXMgcGFydGljdWxhcmx5IG5vbi10cml2aWFsLiBGb3Igc29tZW9uZSBydW5uaW5nIGluIG1h
Y09TIGl0J3Mgbm90IHRvbyBkaWZmaWN1bHQgdG8gaW5zdGFsbCBmcm9tIHNvdXJjZSAoSSBkb24n
dCBiZWxpZXZlIEhvbWVicmV3IGJ1aWxkcyB0aGVtKS4gRm9yIHVzZXJzIG9mIG1ham9yIExpbnV4
IGRpc3RyaWJ1dGlvbnMsIGl0J3MgZG93bnJpZ2h0IHRyaXZpYWwuIE9uIEZlZG9yYSBpdCdzIGFz
IHNpbXBsZSBhcyBhIHNpbmdsZSBgZG5mIGluc3RhbGwgcHl0aG9uMy1zd29yZGAgY29tbWFuZCBm
b3IgYSBsb25nIHRpbWUgbm93LCBhbmQgaXQgbG9va3MgbGlrZSB0aGUgYmluZGluZ3MgYXJlIGFs
c28gYXZhaWxhYmxlIGZvciBVYnVudHUgc3RhcnRpbmcgaW4gMjUuMDQgd2l0aCBhbiBgYXB0IGlu
c3RhbGwgcHl0aG9uMy1zd29yZGAgYXMgd2VsbC4KPj4+Cj4+Pgo+Pj4gUmVnYXJkaW5nIGJ1aWxk
aW5nIFNXT1JEIG9uIGEgTWFjLCBJIHVzZSBob21lYnJldyBmb3IgZXh0cmEgcGFja2FnZXMuIEkg
dHJpZWQgdG8gcnVuIC4vYXV0b2dlbi5zaCwgYnV0IGl0IGZhaWxlZCBvbiBsaWJ0b29saXplLCB3
aGljaCBob21lYnJldyBkb2VzbuKAmXQgaGF2ZS4gVGhlbiBJIHJhbiBjbWFrZSwgd2hpY2ggZmFp
bGVkIGJlY2F1c2UgaWN1NGMgcmVxdWlyZWQgQysrMTcgb3IgYmV0dGVyLiBIYWNraW5nIHRoYXQg
SSBnb3QgQ01ha2VMaXN0cy50eHQsIEkgZ290IGl0IHRvIHdvcmsuIEnigJlsbCBzZWUgaWYgSSBj
YW4gdXNlIHRoYXQgdG8gcnVuIHlvdXIgc2NyaXB0Lgo+Pgo+Pgo+PiBGb3IgdGhlc2UgcHVycG9z
ZXMsIG5laXRoZXIgSUNVIG5vciBDTHVjZW5lIGFyZSBuZWVkZWQuIEl0J3Mgb25seSBwdWxsaW5n
IHRoZSB2ZXJzaWZpY2F0aW9uIGRhdGEgd2hpY2ggaXMgY29yZSB0byB0aGUgbGlicmFyeSdzIGJ1
aWx0aW5zLgo+Pgo+Pj4KPj4+Cj4+PiBBZHZhbnRhZ2VzIG9mIHRoZSBiaW5kaW5nIG1ldGhvZCBh
cmUgdGhhdCBpdCBkb2Vzbid0IHJlbHkgb24gcGFyc2luZyBhIEMgaGVhZGVyIGZpbGUsIG5vciBv
biB0aGUgZmlsZSBsYXlpbmcgb3V0IHRoZSB2YWx1ZXMgaW4gYSBjZXJ0YWluIHdheS4gSXQgYWxz
byBjYW4gYmUgdXNlZCBvZmZsaW5lIGVhc2lseSwgZG9lc24ndCByZXF1aXJlIHBhcnNpbmcgdGhl
IG91dHB1dCBvZiBIVE1MIGluIG9yZGVyIHRvIGZpbmQgYWxsIHRoZSBhcHBsaWNhYmxlIGZpbGVz
LCBhbmQgaXMgbGlrZWx5IHNsaWdodGx5IGZhc3Rlci4gTm90IHRoYXQgdGhlIHNwZWVkIHByb2Jh
Ymx5IG1hdHRlcnMgZm9yIGEgc2luZ2xlIHJ1biBvZiB0aGlzLCBidXQgaWYgeW91J3JlIGJ1bGsg
cHJvY2Vzc2luZyBmaWxlcyB0aGUgc3BlZWQgYWR2YW50YWdlcyBjYW4gYWRkIHVwLgo+Pj4KPj4+
Cj4+PiBUaGUgd2F5IEkgd3JvdGUgbWluZSBpcyB0aGF0IGl0IGNvdWxkIHVzZSB0aGUgaW5jbHVk
ZS9jYW5vbiouaCBmaWxlcyBmcm9tIGEgcHJpb3IgbG9jYWwgU1ZOIGNsb25lLiBUaGlzIGlzIHZl
cnkgZmFzdC4gSeKAmWQgYmUgY3VyaW91cyB0byBzZWUgaG93IGl0IGRpZmZlcnMgaW4gc3BlZWQg
ZnJvbSB5b3Vycy4gVGhlIGRlZmF1bHQgaXMgdG8gZ28gYWdhaW5zdCB0aGUgd2ViLCB3aGljaCBp
cyBwYWluZnVsbHkgc2xvdy4gKE5vdGUsIGl0IGRvZXNu4oCZdCB5ZXQgZG8gdGhlIHN0YW5kYXJk
IGRpc2NsYWltZXIgZm9yIHRoZSB3ZWIuKSBOb3QgYmlnIGRlYWwgaWYgaXQgaXMgYSBzaW5nbGUg
cnVuLiBQZXRlciBtZW50aW9uZWQgdGhhdCBoZSBkb2VzIGFkZGl0aW9uYWwgYW5hbHlzaXMgb2Yg
dGhlIGZpbGVzIGluIHByb2JsZW1hdGljIGFyZWFzIHRoYXQgY2Fubm90IGJlIGRvbmUgYnkgdGhl
IHNjcmlwdC4KPj4+Cj4+PiBVc2luZyB0aGUgcHl0aG9uIGJpbmRpbmdzIGRvZXMgaGF2ZSB0aGUg
YWR2YW50YWdlcyBvZiBub3QgcmUtaW52ZW50aW5nIHRoZSB3aGVlbC4gSSB3YXMgaW1wcmVzc2Vk
IHdpdGggY2hhdEdQVOKAmXMgcmVndWxhciBleHByZXNzaW9ucyB0byBzbHVycCB0aGUgYXJyYXlz
IGFuZCBob3cgY29uY2lzZSBpdCB3YXMgdG8gcmVhZCB0aGUgZmlsZXMuIFRoZXJlIHJlYWxseSB3
YXNu4oCZdCBhbnkgZGlmZmljdWx0eSBpbiBwYXJzaW5nIHRoZSBmaWxlcy4gU2luY2UgdGhlIGNh
bm9uKi5oIGZpbGVzIGFyZSB2ZXJ5IHN0YXRpYyBhbmQgbm90IGxpa2VseSB0byBhZmZlY3QgdGhl
IHBhcnNlLiBJIGRvbuKAmXQgdGhpbmsgdGhpcyBpcyB0aGF0IGJpZyBhIGRlYWwuCj4+Cj4+Cj4+
IFllYWgsIHRoZSBjYW5vbiBoZWFkZXIgZmlsZXMgYXJlIHByZXR0eSB3ZWxsIHN0cnVjdHVyZWQg
Zm9sbG93aW5nIGEgc3RhbmRhcmQgZm9ybWF0IHRvIG1ha2UgaXQgZWFzaWVyIG9uIGh1bWFucywg
YW5kIHRodXMgcmVnZXgsIHRvIHN3YWxsb3cuIFRoZSB0aG91Z2h0IG9mIGRvaW5nIHNvIGhhZCBz
aW1wbHkgbmV2ZXIgY3Jvc3NlZCBteSBtaW5kLgo+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IERpc2Fk
dmFudGFnZXMgb2YgdGhlIGJpbmRpbmcgbWV0aG9kIGFyZSB0aGF0IGl0J3MgcmVxdWlyaW5nIHlv
dSB0byByZXZlcnQgYmFjayB0byBhIHNvdXJjZSBidWlsZCBpZiB5b3UgYXJlIHVzaW5nIHRoaXMg
dG8gdGVzdCBhIGNhbm9uLmggZmlsZSBvciBpZiB5b3Ugd2FudCB0byB1c2UgYSBjYW5vbiBmaWxl
IHRoYXQgaXNuJ3QgYXZhaWxhYmxlIGluIHRoZSBwYWNrYWdlIG1hbmFnZXIgb2YgeW91ciBMaW51
eCBkaXN0cmlidXRpb24uIEJ1aWxkaW5nIGZyb20gc291cmNlIGlzbid0IHRlcnJpYmx5IG9uZXJv
dXMgZm9yIG1vc3Qgb2YgdXMgY29udHJpYnV0b3JzIGJ1dCBpdCBtaWdodCBiZSBtb3JlIG9mIGEg
cHJvYmxlbSBmb3IgYSBtb2R1bGUgbWFpbnRhaW5lci4gVGhlbiBhZ2FpbiwgaG93IG9mdGVuIGRv
IHdlIGFkZCBhIG5ldyB2ZXJzaWZpY2F0aW9uIHRvIHRoZSBjb2RlIGJhc2U/Cj4+Pgo+Pj4KPj4+
ICBTbywgaXTigJlzIG5vdCBzb21ldGhpbmcgd2XigJlkIGV4cGVjdCBhIG1vZHVsZSBtYWtlciB0
byBzdWNjZWVkIGF0IGlmIG5vdCBvbiBVbip4LiBNYXliZSBzb21lb25lIGhhcyBhIGxpYnJhcnkg
cmVsZWFzZSBmb3IgdGhlIE1hY09TIG9yIFdpbmRvd3MgdGhhdCBjb3VsZCBiZSB1c2VkPwo+Pgo+
Pgo+PiBCZWNhdXNlIG91ciBQeXRob24gYmluZGluZ3MgYXJlIGJ1aWx0IGFzIHBhcnQgb2YgdGhl
IGxpYnJhcnkgYW5kIGdlbmVyYXRlZCBieSBTd2lnLCB0aGV5IGFyZW4ndCBkaXN0cmlidXRlZCBv
bnRvIFB5UEkgKHRoZSBQWXRob24gUGFja2FnZSBJbmRleCksIHdoaWNoIGlzIHRoZSBzdGFuZGFy
ZCB3YXkgb2YgaW5zdGFsbGluZyB0aGlyZCBwYXJ0eSBQeXRob24gbW9kdWxlcy4gVG8gaW5zdGFs
bCBmcm9tIFB5UEksIG9uZSBzaW1wbHkgdXNlcyB0aGUgInBpcCIgdG9vbCwgb3Igb3RoZXIgc3Rh
bmRhcmQgUHl0aG9uIHBhY2thZ2UgaW5zdGFsbGVycy4gQnV0IGZvciBvdXJzLCB0aGUgYmluZGlu
ZyBjb2RlIGlzIGdlbmVyYXRlZCBieSBTd2lnIGZyb20gdGhlIGxpYnJhcnkgY29kZSBhbmQgd2Ug
ZG9uJ3QgdGhlbiBzdWJzZXF1ZW50bHkgZGlzdHJpYnV0ZSB0aGUgbW9kdWxlIHNlcGFyYXRlbHku
IERvaW5nIHNvIHdvdWxkIG5vdCBiZSB0ZXJyaWJseSBkaWZmaWN1bHQsIGJ1dCBpdCBpcyBub3Qg
YSByb3V0ZSB3ZSBoYXZlIHRha2VuIHByZXZpb3VzbHkuCj4+Cj4+IE9mIGNvdXJzZSwgaW5zdGFs
bGluZyBQeXRob24gbW9kdWxlcyB0aGF0IGluY2x1ZGUgQyBiaW5kaW5ncyBuZWNlc3NpdGF0ZXMg
aGF2aW5nIHRoZSBQeXRob24uaCBmaWxlIGF2YWlsYWJsZSBhcyB3ZWxsIGFzIGEgY29tcGF0aWJs
ZSB2ZXJzaW9uIG9mIGEgQyBjb21waWxlci4gRm9yIHRoZSBvZmZpY2lhbCBQeXRob24gZGlzdHJp
YnV0aW9ucywgdGhpcyBpcyBhbHdheXMgYW5kIG9ubHkgTVNWQyAtIG9yIGF0IGxlYXN0IGl0IGhh
cyBiZWVuIGluIHRoZSBwYXN0LiBPZmZpY2lhbGx5IFB5dGhvbiBoYXMgbm90IGhpc3RvcmljYWxs
eSBldmVuIHN1cHBvcnRlZCBidWlsZGluZyBmb3IgV2luZG93cyB3aXRoIGdjYy4gSXQncyBlbm91
Z2ggb2YgYSBidWdiZWFyIHRoYXQgSSd2ZSBuZXZlciBldmVuIGJvdGhlcmVkIHdpdGggaW5zdGFs
bGluZyBtb2R1bGVzIHdpdGggUHl0aG9uIG9uIFdpbmRvd3MuCj4+Cj4+IE5vd2FkYXlzLCB0aG91
Z2gsIHdlIGRvbid0IHJlYWxseSBuZWVkIHRvLiBBbnlvbmUgd2hvIHdhbnRzIHRvIGNhbiBpbnN0
YWxsIFVidW50dSB1bmRlciB0aGUgV1NMIGFuZCBqdXN0IHRha2UgYWR2YW50YWdlIG9mIHRoZSBl
eGlzdGluZyBhcHQgcGFja2FnZSBhbmQgUHl0aG9uIGluIHRoZXJlLiBBcyBmb3IgbWFjT1MsIEkg
aGF2ZW4ndCBhIGdvb2Qgc29sdXRpb24gdGhlcmUuIEkgb25seSB1c2UgaXQgYXMgZGVtYW5kZWQg
Zm9yIHdvcmsuIFByb2JhYmx5IGJlc3QgdG8ganVzdCBsZXQgcGVvcGxlIHdobyB3YW50IGl0IGNv
bXBpbGUgaXQgZnJvbSBzb3VyY2UgdGhlcmUsIGFuZCBsZXQgdGhlbSBrbm93IHRoZXJlIGlzbid0
IGFueSBuZWVkIGZvciB0aGUgSUNVIGFkZCBvbnMuCj4+Cj4+IEFuIGFsdGVybmF0aXZlIGlzIHRv
IGdvIGJleW9uZCBhIFB5dGhvbiBzY3JpcHQgYW5kIGNyZWF0ZSBhIGZ1bGwgdXRpbGl0eSBpbiBD
IHRoYXQgZG9lcyB0aGlzIHNhbWUgd29yay4gVGhhdCB3b3VsZCBtYWtlIGRpc3RyaWJ1dGlvbiBt
dWNoIGVhc2llciB0byBhbGwgb2YgdGhlIHBsYXRmb3Jtcy4gVGhlIHJlYXNvbiBJIGRpZCBub3Qg
aW5pdGlhbGx5IHRha2UgdGhhdCByb3V0ZSBpcyB0aGF0IFB5dGhvbiBpcyBzbyBjb252ZW5pZW50
IGZvciB3b3JraW5nIHdpdGggWE1MIGluIHdoZXJlYXMgdGhlIGxpYnJhcnkgaGFzIG5vIHN1Y2gg
bWVjaGFuaXNtIHRvIHJlYWRpbHkgcGFyc2UgaXQgYW5kIHF1ZXJ5IGluIHRoZSBzYW1lIHdheS4g
T2J2aW91c2x5IGl0IGNhbiBiZSBkb25lLCBhcyBvc2lzMm1vZCBpcyBhbHJlYWR5IGRvaW5nIHRo
YXQgd29yay4gSXRzIHBhcnNpbmcgY29kZSBjb3VsZCBiZSByZXB1cnBvc2VkIHRvIHRoaXMgZWZm
ZWN0Lgo+Pgo+Pj4KPj4+Cj4+PiBTbyB0aGVyZSBhcmUgcHJvcyBhbmQgY29ucyBiZXR3ZWVuIHRo
ZW0uIEkgd2FzIGZyZXNobHkgb2ZmIG9mIGdldHRpbmcgdGhlIGJpbmRpbmdzIHRvIGNvbXBpbGUg
d2hlbiBJIHdyb3RlIHRoZSBmaXJzdCBkcmFmdCBvZiBhdjExbi5weSBzbyBJIG5hdHVyYWxseSB3
ZW50IHRoYXQgZGlyZWN0aW9uLiBJIGFsc28gdHJ5IHRvIGF2b2lkIHdyaXRpbmcgcGFyc2VycyB3
aGVuIEkgY2FuIGxldmVyYWdlIGV4aXN0aW5nIG9uZXMsIGFzIGdyYW1tYXJzIGNhbiBiZSBub3Rv
cmlvdXNseSBjb21wbGV4IHRvIGdldCBjb3JyZWN0LiBTbyB0aGF0IGRpY3RhdGVkIG15IGNob2lj
ZXMgYXMgbXVjaCBhcyBkaWQgYW55dGhpbmcgZWxzZSwgcmVhbGx5IQo+Pj4KPj4+Cj4+PiBNeSBj
b21wdXRlciBzY2llbmNlIG1hc3RlcnMgZGVncmVlIHdhcyBpbiBjb21waWxlciB3cml0aW5nISBJ
dOKAmXMgZGVmaW5pdGVseSBub3QgZm9yIHRoZSBmYWludCBvZiBoZWFydCEKPj4KPj4KPj4gTWlu
ZSB3YXMgaW4gQUkuIEFsc28gbm90IGZvciB0aGUgZmFpbnQgb2YgaGVhcnQsIGJ1dCBtdWNoIG1v
cmUgYXBwcm9hY2hhYmxlIG9mIGEgY29uc3VtZXIgcHJvZHVjdC4KPj4KPj4+Cj4+Pgo+Pj4KPj4+
IEFub3RoZXIgcG9zc2libGUgZW5oYW5jZW1lbnQgbWlnaHQgYmUgYSBDTEkgZmxhZyB0byBsaW1p
dCB0aGUgdGVzdGluZyByYW5nZSB0byBhIHBhcnRpY3VsYXIgYm9vayAob3IgdGVzdGFtZW50KSBh
dCBhIHRpbWUuIEkgaGF2ZSBoZWFyZCBwZW9wbGUgdGFsayBhYm91dCBoYXZpbmcgbW9kdWxlcyBz
cGxpdCB1cCB0byBvbmUgYm9vayBwZXIgZmlsZSBvciBzaW1pbGFyLiBJZiB0aGV5IGNvdWxkIHNh
eSwgIk9ubHkgY2hlY2sgdGhpcyBmaWxlIGFnYWluc3QgSm9zaHVhIiB0aGVuIGl0IGNvdWxkIGtl
ZXAgZG93biBhIHNpZ25pZmljYW50IGFtb3VudCBvZiBleHRyYSBvdXRwdXQuIEJ1dCBhZ2FpbiAt
IEknbSBub3QgcmVhbGx5IGFuIGludGVuZGVkIHVzZXIgb2YgaXQhCj4+Pgo+Pj4KPj4+IEdyZWF0
IGlkZWEuIFNvIERhdmlk4oCZcyBzdWdnZXN0aW9uIG9mIGEgc2NvcGUgYXJndW1lbnQuCj4+Cj4+
Cj4+IEJhc2ljYWxseSwgeWVzLgo+Pgo+Pj4KPj4+Cj4+PiBBbmQgSeKAmW0gbm90IGFuIGludGVu
ZGVkIHVzZXIgb2YgaXQgZWl0aGVyLiBJ4oCZbSBqdXN0IHRyeWluZyB0byBnZXQgcGVvcGxlIHRv
IHVzZSBzb21ldGhpbmcgb3RoZXIgdGhhbiBvc2lzMm1vZCB0byBwaWNrIGEgdmVyc2lmaWNhdGlv
bi4gTG9va2luZyBhdCB0aGUgSmlyYSBpc3N1ZXMgb24gb3NpczJtb2QsIGluIG9uZSBpc3N1ZSBh
IHBlcnNvbiBsaXN0ZWQgdGhlaXIgc2NyaXB0IHRoYXQgbG9vcGVkIG92ZXIgdGhlIHYxMW5zIGFu
ZCBjYWxsZWQgb3NpczJtb2Qgd2l0aCBlYWNoLiBZdWNrIQo+Pgo+Pgo+PiBZZWFoLCB1c2luZyBv
c2lzMm1vZCBpbiB0aGF0IHdheSBzZWVtcyBmcmF1Z2h0IHdpdGggdHJvdWJsZS4gQnV0IGluIHRo
ZSBhYnNlbmNlIG9mIGtub3dpbmcgbW9yZSBhYm91dCB0aGUgaW50ZXJuYWwgb2YgdGhlIGxpYnJh
cnksIEkgY2FuIHNlZSB3aHkgc29tZW9uZSB3b3VsZCB0YWtlIHRoYXQgYXBwcm9hY2guCj4+Cj4+
IC0tR3JlZwo+Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KPiBzd29yZC1kZXZlbCBtYWlsaW5nIGxpc3Q6IHN3b3JkLWRldmVsQGNyb3Nzd2lyZS5vcmcK
PiBodHRwOi8vY3Jvc3N3aXJlLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3N3b3JkLWRldmVsCj4gSW5z
dHJ1Y3Rpb25zIHRvIHVuc3Vic2NyaWJlL2NoYW5nZSB5b3VyIHNldHRpbmdzIGF0IGFib3ZlIHBh
Z2UKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kc3dvcmQt
ZGV2ZWwgbWFpbGluZyBsaXN0OiBzd29yZC1kZXZlbEBjcm9zc3dpcmUub3JnCmh0dHA6Ly9jcm9z
c3dpcmUub3JnL21haWxtYW4vbGlzdGluZm8vc3dvcmQtZGV2ZWwKSW5zdHJ1Y3Rpb25zIHRvIHVu
c3Vic2NyaWJlL2NoYW5nZSB5b3VyIHNldHRpbmdzIGF0IGFib3ZlIHBhZ2UK