Re: [rvm-research] Separation of Spaces
Johannes Sinsel <[email protected]> Thu, 23 Jan 2020 09:45:31 +0100
| Newsgroups | gmane.comp.java.jikes.rvm.devel |
|---|---|
| Message-ID | <[email protected]> |
ID4gTWF5YmUgd2hhdCB5b3UgbmVlZCB0byBkbyBpcyB0byBleGNsdWRlIHlvdXIgcm9vdHMgZnJv bSB0aGUgcm9vdCBzZXQgPwoKU291bmRzIGxpa2UgdGhlIHJpZ2h0IHRoaW5nIHRvIGRvLCBtYXli ZSBpJ2xsIGhhdmUgYSBsb29rIGF0IHRoYXQuCgogPiBJJ20gdGhpbmtpbmcgdGhhdCBpbXBsZW1l bnRpbmcgdHJhY2VPYmplY3Qob2JqKSBpbiB5b3VyIFNwYWNlIGFzIApzaW1wbHkgJ3JldHVybiBv YmonIHNob3VsZCBkbyBpdCwgYnV0IEkgYXNzdW1lIHRoYXQncyB3aGF0IHlvdSdyZSBkb2luZy4K ClllcCwgdGhhdCdzIGV4YWN0bHkgd2hhdCBJJ3ZlIGRvbmUgc28gZmFyLgoKID4gVGhpcyBpcyBh IHJlZmVyZW5jZSB0byB0aGUgc28tY2FsbGVkIHRyaS1jb2xvdXIgYWJzdHJhY3Rpb24gZnJvbSAK RGlqa2tzdHJhLCBMYW1wb3J0IGV0IGFsICgxOTc4KS7CoCBHcmF5IG9iamVjdHMgYXJlIG9uZXMg dGhhdCB5b3Uga25vdyB0byAKYmUgcmVhY2hhYmxlLCBidXQgdGhhdCBoYXZlbid0IGJlZW4gc2Nh bm5lZDogaW4gTU1UaywgdGhlc2UgYXJlIHRoZSAKb2JqZWN0cyBvbiB0aGUgJ3ZhbHVlcycgcXVl dWUuwqAgJ3Byb2Nlc3NpbmcgZ3JheSBvYmplY3RzJyBpcyB3aGVuIHRoZSBHQyAKZG9lcyBpdHMg dHJhbnNpdGl2ZSBjbG9zdXJlIG92ZXIgdGhlIGhlYXAuwqAgVGhpcyBtZXNzYWdlIGNvbWVzIGZy b20gdGhlIAptZXRob2QgVHJhY2VMb2NhbC5jb21wbGV0ZVRyYWNlKCkuwqAgWW91ciBjcmFzaCB3 aWxsIGJlIGhhcHBlbmluZyB3aGVuIApKaWtlcyBSVk0gYXR0ZW1wdHMgdG8gc2NhbiBhbiBvYmpl Y3QgaW4geW91ciBzcGFjZS7CoCBZb3UgY291bGQgdHJ5IAphZGRpbmcgc29tZSBjb2RlIHRvIHRo aXMgbWV0aG9kIHRvIHJlcG9ydCB3aGVuIGl0IHNlZXMgb2JqZWN0cyB0aGF0IGFyZSAKaW4geW91 ciBzcGFjZSA/CgpBaCwgdGhhbmtzIGZvciB0aGUgZXhwbGFuYXRpb24sIEkndmUgYWRkZWQgc29t ZSBpbiAKVHJhY2VMb2NhbC5jb21wbGV0ZVRyYWNlKCksIGJ1dCBpdCBzZWVtcyBsaWtlIG5vbmUg b2YgdGhlIG9iamVjdHMgaW4gCnZhbHVlcyBhcmUgaW4gbXkgc3BhY2UuIFNvIGl0IGxvb2tzIGxp a2UgdGhlIHJldHVybiBvYmogaW4gdHJhY2VPYmplY3QoKSAKaXMgYWN0dWFsbHkgd29ya2luZy4K CiA+IElmIHRoaXMgZG9lc24ndCBnZXQgeW91IGFueSBjbG9zZXIsIHRoZW4gc2VuZCBtZSBhIHBh dGNoIGFuZCBJJ2xsIHNlZSAKaWYgSSBjYW4gc2VlIHdoYXQncyB1cC4KCkkgd2lsbCBnaXZlIHRo ZSBoYXJuZXNzIGEgdHJ5LCB0aGlzIHdpbGwgc2hvcnRlbiBteSBkZWJidWdpbmcgdGltZSAKZGV0 cmltZW50YWwsIGFzIGZhciBhcyBJIHVuZGVyc3RhbmQgaXQgdXAgdG8gbm93LiBCdXQgaXQgd2ls bCB0YWtlIGEgCndoaWxlLCBpZiBpdCdzIG9rIGZvciB5b3UsIEkgd2lsbCBjb21lIGJhY2sgdG8g eW91ciBvZmZlciwgaWYgaXQgZG9lc24ndCAKZ2V0IG1lIGFueSBmdXJ0aGVyIT8KClRoYW5rcyBh bmQgYmVzdCByZWdhcmRzLApKb2hhbm5lcwoKCk9uIDE2LjAxLjIwIDAxOjU0LCBSb2JpbiBHYXJu ZXIgd3JvdGU6Cj4gPj4gYnV0IHRoaXMgc291bmRzIGxpa2UgeW91J3JlIE9LIHdpdGggaGF2aW5n IGEgY29ycnVwdCBoZWFwCj4gPgo+ID5UaGUgY29ycnVwdCBwYXJ0IHNob3VsZCBiZSB0b3RhbGx5 IHNlcGFyYXRlZCBpZiBwb3NzaWJsZSwgc28gdGhlIHJlc3QgCj4gb2YgdGhlIGhlYXAgaXMgbm90 IGFmZmVjdGVkLiBJIGtub3cgaXQgaXMgbm90IGJlc3QgcHJhY3RpY2UsIGJ1dCBpZiBpdCAKPiBp cyBhY2hpZXZhYmxlLCBpdCB3b3VsZCBiZSBjb250cm9sbGVkIGNvcnJ1cHQgOkQKPiA+Cj4gPj4g UGVyaGFwcyB5b3UgY291bGQgZWxhYm9yYXRlIGEgbGl0dGxlIG1vcmUgb24geW91ciB1c2UgY2Fz ZSA/Cj4gPj4gV2hlbiB5b3Ugc2F5ICJzcGVjaWFsIG9iamVjdHMiLCBpbiB3aGF0IHdheSBhcmUg dGhleSBzcGVjaWFsID8KPiA+Cj4gPkEgSmF2YSBBZ2VudCBjcmVhdGVzIG9iamVjdHMgZm9yIGRl YnVnZ2luZyBwdXJwb3NlcywgdGhlc2UgYXJlIEdDIAo+IHJvb3QgcmVmZXJlbmNlZCwgYnV0IGRv bid0IGhhdmUgYW55IHJlZmVyZW5jZXMgdG8gb3RoZXIgb2JqZWN0cy4gSW4gCj4gdGhpcyB3YXkg dGhlcmUgc2hvdWxkIGJlIG5vIGNvbm5lY3Rpb24gYmV0d2VlbiB0aGUgc3BhY2UgdGhleSBhcmUg Cj4gYWxsb2NhdGVkIGluIGFuZCB0aGUgcmVzdCBvZiA+dGhlIGhlYXAuCj4KPiBPSywgSSdtIGdl dHRpbmcgYSBiZXR0ZXIgaWRlYSBvZiB3aGF0IHlvdSdyZSB0cnlpbmcgdG8gZG8uwqDCoCBOb3Qg c3VyZSAKPiBpdCdzIGEgZ3JlYXQgaWRlYSwgYnV0IHdoYXQgd291bGQgSSBrbm93IDopCj4KPiBN YXliZSB3aGF0IHlvdSBuZWVkIHRvIGRvIGlzIHRvIGV4Y2x1ZGUgeW91ciByb290cyBmcm9tIHRo ZSByb290IHNldCAKPiA/wqAgTWlnaHQgYmUgaGFyZGVyIHRoYW4gaXQgc291bmRzLgo+Cj4gSSdt IHRoaW5raW5nIHRoYXQgaW1wbGVtZW50aW5nIHRyYWNlT2JqZWN0KG9iaikgaW4geW91ciBTcGFj ZSBhcyAKPiBzaW1wbHkgJ3JldHVybiBvYmonIHNob3VsZCBkbyBpdCwgYnV0IEkgYXNzdW1lIHRo YXQncyB3aGF0IHlvdSdyZSBkb2luZy4KPgo+PiBDYW4geW91IHRlbGwgbWUgd2hhdCBncmF5IG9i amVjdHMgYXJlPwo+IFRoaXMgaXMgYSByZWZlcmVuY2UgdG8gdGhlIHNvLWNhbGxlZCB0cmktY29s b3VyIGFic3RyYWN0aW9uIGZyb20gCj4gRGlqa2tzdHJhLCBMYW1wb3J0IGV0IGFsICgxOTc4KS7C oCBHcmF5IG9iamVjdHMgYXJlIG9uZXMgdGhhdCB5b3Uga25vdyAKPiB0byBiZSByZWFjaGFibGUs IGJ1dCB0aGF0IGhhdmVuJ3QgYmVlbiBzY2FubmVkOiBpbiBNTVRrLCB0aGVzZSBhcmUgdGhlIAo+ IG9iamVjdHMgb24gdGhlICd2YWx1ZXMnIHF1ZXVlLsKgICdwcm9jZXNzaW5nIGdyYXkgb2JqZWN0 cycgaXMgd2hlbiB0aGUgCj4gR0MgZG9lcyBpdHMgdHJhbnNpdGl2ZSBjbG9zdXJlIG92ZXIgdGhl IGhlYXAuwqAgVGhpcyBtZXNzYWdlIGNvbWVzIGZyb20gCj4gdGhlIG1ldGhvZCBUcmFjZUxvY2Fs LmNvbXBsZXRlVHJhY2UoKS7CoCBZb3VyIGNyYXNoIHdpbGwgYmUgaGFwcGVuaW5nIAo+IHdoZW4g SmlrZXMgUlZNIGF0dGVtcHRzIHRvIHNjYW4gYW4gb2JqZWN0IGluIHlvdXIgc3BhY2UuwqAgWW91 IGNvdWxkIAo+IHRyeSBhZGRpbmcgc29tZSBjb2RlIHRvIHRoaXMgbWV0aG9kIHRvIHJlcG9ydCB3 aGVuIGl0IHNlZXMgb2JqZWN0cyAKPiB0aGF0IGFyZSBpbiB5b3VyIHNwYWNlID8KPgo+IE9iamVj dHMgZ2V0IHRyYW5zZmVycmVkIGZyb20gdGhlIHJvb3Qgc2V0IHRvIHRoZSAndmFsdWVzJyBxdWV1 ZSB2aWEgCj4gdGhlIHRyYWNlT2JqZWN0IG1ldGhvZCBpbiBhIFNwYWNlLgo+Cj4gSW4gSW1tb3J0 YWxTcGFjZSwgdGhpcyBtZXRob2QgbG9va3MgbGlrZQo+PiDCoCBAT3ZlcnJpZGUKPj4gwqAgQElu bGluZQo+PiDCoCBwdWJsaWMgT2JqZWN0UmVmZXJlbmNlIHRyYWNlT2JqZWN0KFRyYW5zaXRpdmVD bG9zdXJlIHRyYWNlLCAKPj4gT2JqZWN0UmVmZXJlbmNlIG9iamVjdCkgewo+PiDCoMKgwqAgaWYg KHRlc3RBbmRNYXJrKG9iamVjdCwgbWFya1N0YXRlKSkKPj4gwqDCoMKgwqDCoCB0cmFjZS5wcm9j ZXNzTm9kZShvYmplY3QpOwo+PiDCoMKgwqAgcmV0dXJuIG9iamVjdDsKPj4gwqAgfQo+IGJ1dCBp ZiB5b3UgbWFrZSB5b3VycyBzb21ldGhpbmcgbGlrZQo+PiDCoCBAT3ZlcnJpZGUKPj4gwqAgQElu bGluZQo+PiDCoCBwdWJsaWMgT2JqZWN0UmVmZXJlbmNlIHRyYWNlT2JqZWN0KFRyYW5zaXRpdmVD bG9zdXJlIHRyYWNlLCAKPj4gT2JqZWN0UmVmZXJlbmNlIG9iamVjdCkgewo+PiDCoMKgwqAgcmV0 dXJuIG9iamVjdDsKPj4gwqAgfQo+IHRoZW4gb2JqZWN0cyBpbiB5b3VyIHNwYWNlIHdvbid0IGJl IGVucXVldWVkIGZvciBzY2FubmluZy4KPgo+Cj4gSWYgdGhpcyBkb2Vzbid0IGdldCB5b3UgYW55 IGNsb3NlciwgdGhlbiBzZW5kIG1lIGEgcGF0Y2ggYW5kIEknbGwgc2VlIAo+IGlmIEkgY2FuIHNl ZSB3aGF0J3MgdXAuCj4KPiBIVEgsCj4gUm9iaW4KPgo+IE9uIDE2LzEvMjAgNDowMiBhbSwgSm9o YW5uZXMgU2luc2VsIHdyb3RlOgo+PiA+IGJ1dCB0aGlzIHNvdW5kcyBsaWtlIHlvdSdyZSBPSyB3 aXRoIGhhdmluZyBhIGNvcnJ1cHQgaGVhcAo+Pgo+PiBUaGUgY29ycnVwdCBwYXJ0IHNob3VsZCBi ZSB0b3RhbGx5IHNlcGFyYXRlZCBpZiBwb3NzaWJsZSwgc28gdGhlIHJlc3QgCj4+IG9mIHRoZSBo ZWFwIGlzIG5vdCBhZmZlY3RlZC4gSSBrbm93IGl0IGlzIG5vdCBiZXN0IHByYWN0aWNlLCBidXQg aWYgCj4+IGl0IGlzIGFjaGlldmFibGUsIGl0IHdvdWxkIGJlIGNvbnRyb2xsZWQgY29ycnVwdCA6 RAo+Pgo+PiA+IFBlcmhhcHMgeW91IGNvdWxkIGVsYWJvcmF0ZSBhIGxpdHRsZSBtb3JlIG9uIHlv dXIgdXNlIGNhc2UgPwo+PiA+IFdoZW4geW91IHNheSAic3BlY2lhbCBvYmplY3RzIiwgaW4gd2hh dCB3YXkgYXJlIHRoZXkgc3BlY2lhbCA/Cj4+Cj4+IEEgSmF2YSBBZ2VudCBjcmVhdGVzIG9iamVj dHMgZm9yIGRlYnVnZ2luZyBwdXJwb3NlcywgdGhlc2UgYXJlIEdDIAo+PiByb290IHJlZmVyZW5j ZWQsIGJ1dCBkb24ndCBoYXZlIGFueSByZWZlcmVuY2VzIHRvIG90aGVyIG9iamVjdHMuIEluIAo+ PiB0aGlzIHdheSB0aGVyZSBzaG91bGQgYmUgbm8gY29ubmVjdGlvbiBiZXR3ZWVuIHRoZSBzcGFj ZSB0aGV5IGFyZSAKPj4gYWxsb2NhdGVkIGluIGFuZCB0aGUgcmVzdCBvZiB0aGUgaGVhcC4KPj4K Pj4gPiBJZiB5b3UgcnVuIHdpdGggLVg6Z2M6dmVyYm9zZT0zIChvciBhYm92ZSkgeW91IHNob3Vs ZCBhdCBsZWFzdCBiZSAKPj4gYWJsZSB0byB0ZWxsIHdoZXRoZXIgaXQncyB0aGUgR0Mgb3IgdGhl IG11dGF0b3IgdGhhdCdzIGNyYXNoaW5nLiAKPj4gLVg6Z2M6dmVyYm9zZT05IHdpbGwgaGVscCBu YXJyb3cgaXQgZG93biB0byBhIHBhcnRpY3VsYXIgR0MgcGhhc2UuCj4+Cj4+IEZyb20gdGhlc2Ug b3B0aW9ucyBJIGdvdCB0aGUgaWRlYSB0aGF0IHRoZSBjcmFzaCBhbHdheXMgaGFwcGVucyBhdCBh IAo+PiBmdWxsIGhlYXAgY29sbGVjdGlvbi4KPj4gT24gLVg6Z2M6dmVyYm9zZT05LCBiZWZvcmUg dGhlIGVycm9yIG1lc3NhZ2UgSSBhZGRlZCBpbiB0aGUgbGFzdCAKPj4gbWFpbCwgdGhlIHRlcm1p bmFsIGFsd2F5cyB3cml0ZXMgc29tZXRoaW5nIGxpa2UgdGhpczoKPj4KPj4gRXhlY3V0ZSBTaW1w bGVQaGFzZShjbG9zdXJlKSBhcyBDb2xsZWN0b3IuLi4KPj4gVGhyZWFkIDEwOsKgwqDCoMKgIFBy b2Nlc3NpbmcgR0MgaW4gcGFyYWxsZWwKPj4gVGhyZWFkIDEwOsKgwqDCoMKgIHByb2Nlc3Npbmcg ZGVsYXllZCByb290IG9iamVjdHMKPj4gVGhyZWFkIDEwOsKgwqDCoMKgIHByb2Nlc3NpbmcgZ3Jh eSBvYmplY3RzCj4+Cj4+IENhbiB5b3UgdGVsbCBtZSB3aGF0IGdyYXkgb2JqZWN0cyBhcmU/Cj4+ Cj4+ID4gVGhlIEhhcm5lc3MgZG9lc24ndCBydW4gcmVhbCBjb2RlOiBpdCBydW5zIGEgbWluaW1h bCBsYW5ndWFnZSAKPj4gZGVzaWduZWQgZm9yIGV4ZXJjaXNpbmcgTU1Uay7CoCBUaGVyZSdzIG5v dGhpbmcgc3RvcHBpbmcgeW91IHVzZSBpdCB0byAKPj4gd3JpdGUgYSB0ZXN0IGNhc2UgdGhhdCAo Zm9yIGV4YW1wbGUpIGNyZWF0ZXMgdHdvIG9iamVjdHMsIG9uZSBpbiB0aGUgCj4+ICdtYWluJyBz cGFjZSwgcG9pbnRpbmcgdG8gYSBzZWNvbmQgb2JqZWN0IGluIHlvdXIgUkJTcGFjZSwgdGhlbiBy dW4gYSAKPj4gR0MgYW5kIHNhbml0eS1jaGVjayB0aGUgaGVhcC4KPj4KPj4gT2ssIEkgd2lsbCBj aGVjaywgaWYgSSBjYW4gY3JlYXRlIHNvbWV0aGluZyB0aGF0IGZpdHMgbXkgY29uZGl0aW9ucy4K Pj4KPj4gVGhhbmtzIGZvciB5b3VyIHBhdGllbmNlLgo+PiBCZXN0LAo+PiBKb2hhbm5lcwo+Pgo+ PiBPbiAxNS4wMS4yMCAwNTowMSwgUm9iaW4gR2FybmVyIHdyb3RlOgo+Pj4gPiA+wqAgQW5kIEkg YXNzdW1lIHlvdSBhcmUgaW50ZXJlc3RlZCBpbiB3aGljaCBvYmplY3RzIGFyZSBsaXZlLCBzbyAK Pj4+IHRoYXQgeW91IGRvbid0IG92ZXJ3cml0ZSBsaXZlIG9iamVjdHMgPwo+Pj4gPgo+Pj4gPiBJ biBmYWN0IGF0IHRoaXMgcG9pbnQgSSBkb24ndCBuZWVkIHRoaXMgaW5mb3JtYXRpb24sIGJlc3Qg Y2FzZSBmb3IgCj4+PiBtZSB3b3VsZCBiZSB0byBub3QgZGV0ZXJtaW5lIHRoZWlyIGxpdmVsaW5l c3MgYXQgYWxsLgo+Pj4KPj4+IE9LLCBwZXJoYXBzIEknbSBtaXNzaW5nIHNvbWV0aGluZyBoZXJl LCBidXQgdGhpcyBzb3VuZHMgbGlrZSB5b3UncmUgCj4+PiBPSyB3aXRoIGhhdmluZyBhIGNvcnJ1 cHQgaGVhcCAuLi7CoCBKaWtlcyBSVk0gd2lsbCBiZSBsZXNzIGhhcHB5IDopwqAgCj4+PiBQZXJo YXBzIHlvdSBjb3VsZCBlbGFib3JhdGUgYSBsaXR0bGUgbW9yZSBvbiB5b3VyIHVzZSBjYXNlID8K Pj4+Cj4+PiBCb3R0b20gbGluZSwgaWYgdGhlcmUgaXMgYSByZWZlcmVuY2UgZnJvbSBhIGxpdmUg SmF2YSBvYmplY3QgdG8gYW4gCj4+PiBvYmplY3QgaW4geW91ciBzcGFjZSwgeW91IG5lZWQgdG8g ZW5zdXJlIGl0IGlzIGFsaXZlLCBhbmQgdGhhdCB0aGUgCj4+PiB0cmFuc2l0aXZlIGNsb3N1cmUg b2YgdGhlIG9iamVjdHMgaXQgcmVmZXJzIHRvIGFyZSBhbHNvIGtlcHQgYWxpdmUuCj4+Pgo+Pj4g PiA+IHdoZXJlIGRvZXMgdGhlIFZNIGNyYXNoID/CoCBEbyB5b3UgaGF2ZSBhIHN0YWNrIHRyYWNl ID8KPj4+ID4KPj4+ID4gVW5mb3J0dW5hdGVseSBJIGNhbid0IGdldCBhIHN0YWNrIHRyYWNlLCBJ IHRoaW5rIHRoaXMgaXMgZHVlIHRvIAo+Pj4gdGhlIGF0dGVtcHQgdG8gdHJhY2UgYW4gb2JqZWN0 IHRoYXQgd2FzIGFscmVhZHkgb3ZlcndyaXR0ZW4uIFRoZSAKPj4+IHRlcm1pbmFsIG91dHB1dCBp cyBzb21ldGhpbmcgbGlrZSB0aGlzOgo+Pj4KPj4+IElmIHlvdSBydW4gd2l0aCAtWDpnYzp2ZXJi b3NlPTMgKG9yIGFib3ZlKSB5b3Ugc2hvdWxkIGF0IGxlYXN0IGJlIAo+Pj4gYWJsZSB0byB0ZWxs IHdoZXRoZXIgaXQncyB0aGUgR0Mgb3IgdGhlIG11dGF0b3IgdGhhdCdzIGNyYXNoaW5nLiAKPj4+ IC1YOmdjOnZlcmJvc2U9OSB3aWxsIGhlbHAgbmFycm93IGl0IGRvd24gdG8gYSBwYXJ0aWN1bGFy IEdDIHBoYXNlLgo+Pj4KPj4+ID4gPiBDYW4geW91IHJlcHJvZHVjZSB0aGlzIGluIHRoZSBNTVRr IGhhcm5lc3MgPwo+Pj4gPgo+Pj4gPiBUaGUgInNwZWNpYWwgb2JqZWN0cyIgdGhhdCBhcmUgYWxs b2NhdGVkIGluIHRoZSBSQlNwYWNlIGFyZSAKPj4+IGNyZWF0ZWQgYnkgYSBKYXZhIEFnZW50LCBz byBpdCBpcyBkaWZmaWN1bHQgZm9yIG1lIHRvIHVzZSB0aGUgCj4+PiBoYXJuZXNzIGZvciBkZWJ1 Z2dpbmcuCj4+Pgo+Pj4gVGhlIEhhcm5lc3MgZG9lc24ndCBydW4gcmVhbCBjb2RlOiBpdCBydW5z IGEgbWluaW1hbCBsYW5ndWFnZSAKPj4+IGRlc2lnbmVkIGZvciBleGVyY2lzaW5nIE1NVGsuwqAg VGhlcmUncyBub3RoaW5nIHN0b3BwaW5nIHlvdSB1c2UgaXQgCj4+PiB0byB3cml0ZSBhIHRlc3Qg Y2FzZSB0aGF0IChmb3IgZXhhbXBsZSkgY3JlYXRlcyB0d28gb2JqZWN0cywgb25lIGluIAo+Pj4g dGhlICdtYWluJyBzcGFjZSwgcG9pbnRpbmcgdG8gYSBzZWNvbmQgb2JqZWN0IGluIHlvdXIgUkJT cGFjZSwgdGhlbiAKPj4+IHJ1biBhIEdDIGFuZCBzYW5pdHktY2hlY2sgdGhlIGhlYXAuCj4+Pgo+ Pj4gV2hlbiB5b3Ugc2F5ICJzcGVjaWFsIG9iamVjdHMiLCBpbiB3aGF0IHdheSBhcmUgdGhleSBz cGVjaWFsID8gRnJvbSAKPj4+IHRoZSBKVk0ncyBwb2ludCBvZiB2aWV3LCBhbnkgb2JqZWN0IGNy ZWF0ZWQgdmlhICduZXcnIGlzIHByZXR0eSBtdWNoIAo+Pj4gdGhlIHNhbWUgYXMgYW55IG90aGVy Lgo+Pj4KPj4+Cj4+PiBjaGVlcnMsCj4+PiBSb2Jpbgo+Pj4KPj4+IE9uIDE1LzEvMjAgMjoyNSBh bSwgSm9oYW5uZXMgU2luc2VsIHdyb3RlOgo+Pj4+ID4gVGhpcyBzb3VuZHMgbGlrZSB5b3VyIHBy b2JsZW0uICJHYXJiYWdlIENvbGxlY3Rpb24iIGlzbid0IGEgdmVyeSAKPj4+PiBwcmVjaXNlIHRl cm0gd2hlbiB3ZSBnZXQgZG93biB0byB0aGlzIGxldmVsIG9mIGRldGFpbCA6KQo+Pj4+Cj4+Pj4g U29ycnkgZm9yIHRoZSB2YWd1ZSB0ZXJtIDpECj4+Pj4KPj4+PiA+wqAgQW5kIEkgYXNzdW1lIHlv dSBhcmUgaW50ZXJlc3RlZCBpbiB3aGljaCBvYmplY3RzIGFyZSBsaXZlLCBzbyAKPj4+PiB0aGF0 IHlvdSBkb24ndCBvdmVyd3JpdGUgbGl2ZSBvYmplY3RzID8KPj4+Pgo+Pj4+IEluIGZhY3QgYXQg dGhpcyBwb2ludCBJIGRvbid0IG5lZWQgdGhpcyBpbmZvcm1hdGlvbiwgYmVzdCBjYXNlIGZvciAK Pj4+PiBtZSB3b3VsZCBiZSB0byBub3QgZGV0ZXJtaW5lIHRoZWlyIGxpdmVsaW5lc3MgYXQgYWxs Lgo+Pj4+Cj4+Pj4gPiB3aGVyZSBkb2VzIHRoZSBWTSBjcmFzaCA/wqAgRG8geW91IGhhdmUgYSBz dGFjayB0cmFjZSA/Cj4+Pj4KPj4+PiBVbmZvcnR1bmF0ZWx5IEkgY2FuJ3QgZ2V0IGEgc3RhY2sg dHJhY2UsIEkgdGhpbmsgdGhpcyBpcyBkdWUgdG8gdGhlIAo+Pj4+IGF0dGVtcHQgdG8gdHJhY2Ug YW4gb2JqZWN0IHRoYXQgd2FzIGFscmVhZHkgb3ZlcndyaXR0ZW4uIFRoZSAKPj4+PiB0ZXJtaW5h bCBvdXRwdXQgaXMgc29tZXRoaW5nIGxpa2UgdGhpczoKPj4+Pgo+Pj4+IEppa2VzUlZNOiBGYWls aW5nIGluc3RydWN0aW9uIHN0YXJ0aW5nIGF0IDAgd2Fzbid0IGluIFJWTSBhZGRyZXNzIAo+Pj4+ IHNwYWNlCj4+Pj4gSmlrZXNSVk06IHVuZXhwZWN0ZWQgaGFyZHdhcmUgdHJhcCBvdXRzaWRlIG9m IFJWTSBhZGRyZXNzIHNwYWNlIC0gCj4+Pj4gKG5pbCkgMHhlMDBmZmMzNzI5OAo+Pj4+IGZhdWx0 IGFkZHJlc3MgKG5pbCkKPj4+PiBlaXDCoMKgwqDCoMKgwqDCoMKgwqDCoCAobmlsKQo+Pj4+IGVh eCAoVDApwqDCoMKgwqDCoCAweGUwMGZmZjVjZTIwCj4+Pj4gZWJ4IChjdHJzKcKgwqDCoCAweGUw MGZmZjVjZTIwCj4+Pj4gZWN4IChTMCnCoMKgwqDCoMKgIDB4Ywo+Pj4+IGVkeCAoVDEpwqDCoMKg wqDCoCAweGUwMGZmYzE4OWU4Cj4+Pj4gZXNpIChUUinCoMKgwqDCoMKgIDB4ZTAwZmZjMzcyOTgK Pj4+PiBlZGkgKFMxKcKgwqDCoMKgwqAgMHhlMDBmZmY1OTU3OAo+Pj4+IGVicMKgwqDCoMKgwqDC oMKgwqDCoMKgIDB4MzAKPj4+PiBlc3AgKFNQKcKgwqDCoMKgwqAgMHhhMDBmZmQzMGJiOAo+Pj4+ IHI4wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAweGRhNwo+Pj4+IHI5wqDCoMKgwqDCoMKgwqDCoMKg wqDCoCAweDEKPj4+PiByMTDCoMKgwqDCoMKgwqDCoMKgwqDCoCAobmlsKQo+Pj4+IHIxMcKgwqDC oMKgwqDCoMKgwqDCoMKgIDB4MjA2Cj4+Pj4gcjEywqDCoMKgwqDCoMKgwqDCoMKgwqAgMHhhMDBm ZmQzMTAwOAo+Pj4+IHIxM8KgwqDCoMKgwqDCoMKgwqDCoMKgIDB4MjAwMDI5ZjJjMzgKPj4+PiBy MTTCoMKgwqDCoMKgwqDCoMKgwqDCoCAweGUwMGZmYzM3Mjk4Cj4+Pj4gcjE1wqDCoMKgwqDCoMKg wqDCoMKgwqAgMHgyMDAwMDA4MDUxMAo+Pj4+IGNzLCBncywgZnPCoMKgwqAgMHgyYjAwMDAwMDAw MDAzMwo+Pj4+IHRyYXBub8KgwqDCoMKgwqDCoMKgIDB4MDAwMDAwMGUKPj4+PiBlcnLCoMKgwqDC oMKgwqDCoMKgwqDCoCAweDAwMDAwMDE0Cj4+Pj4gZWZsYWdzwqDCoMKgwqDCoMKgwqAgMHgwMDAx MDIwNwo+Pj4+IGZwcmVnc8KgwqDCoMKgwqDCoMKgIDB4N2ZkNDU4MDA0NmMwCj4+Pj4gYXR0ZW1w dGluZyB0byBkdW1wIHByb2MgbWFwIC4uLgo+Pj4+Cj4+Pj4gPiBDYW4geW91IHJlcHJvZHVjZSB0 aGlzIGluIHRoZSBNTVRrIGhhcm5lc3MgPwo+Pj4+Cj4+Pj4gVGhlICJzcGVjaWFsIG9iamVjdHMi IHRoYXQgYXJlIGFsbG9jYXRlZCBpbiB0aGUgUkJTcGFjZSBhcmUgY3JlYXRlZCAKPj4+PiBieSBh IEphdmEgQWdlbnQsIHNvIGl0IGlzIGRpZmZpY3VsdCBmb3IgbWUgdG8gdXNlIHRoZSBoYXJuZXNz IGZvciAKPj4+PiBkZWJ1Z2dpbmcuCj4+Pj4KPj4+PiA+IEknbSBndWVzc2luZyBtYXliZSB5b3Un dmUgbWlzc2VkIGFuIG9jY3VycmVuY2Ugb2YgaW1tb3J0YWxTcGFjZSAKPj4+PiBvciBpdHMgcGVy LXRocmVhZCBjb21wb25lbnRzID8KPj4+PiA+IEFub3RoZXIgZGVidWdnaW5nIGFwcHJvYWNoIHdv dWxkIGJlIHRvIGFkZCBhbiB1bm1vZGlmaWVkIHZlcnNpb24gCj4+Pj4gb2YgSW1tb3J0YWxTcGFj ZSB0byB0aGUgcGxhbiBpbiBwbGFjZSBvZiB5b3VyIG1vZGlmaWVkIHNwYWNlLsKgIE9uY2UgCj4+ Pj4geW91IGNhbiB2ZXJpZnkgdGhhdCBvYmplY3RzIGFyZSBiZWluZyBhbGxvY2F0ZWQgYW5kICJj b2xsZWN0ZWQiIGluIAo+Pj4+IHRoZSB1bm1vZGlmaWVkIHNwYWNlLCB5b3UnbGwga25vdyB3aGV0 aGVyIHRoZSBpbnRlZ3JhdGlvbiBvZiB0aGUgCj4+Pj4gc3BhY2UgaXMgY29ycmVjdCwgYW5kIGNh biB0aGVuIHR1cm4gdG8gZGVidWdnaW5nIHlvdXIgbmV3IHNwYWNlLgo+Pj4+ID4gQWxzbywgd2hp bGUgSSdtIGF3YXJlIHlvdSd2ZSBtb2RpZmllZCB0aGUgYmFzZSBwbGFuIGNsYXNzZXMsIAo+Pj4+ IGNob2ljZSBvZiBjb2xsZWN0b3IgZm9yIGRlYnVnZ2luZyBpcyBxdWl0ZSBpbXBvcnRhbnQuIEkg d291bGQgc3RhcnQgCj4+Pj4gZGVidWdnaW5nIHdpdGggTWFya1N3ZWVwLCB0aGVuIG1vdmUgdG8g U2VtaVNwYWNlLCBJbW1peCBhbmQgCj4+Pj4gZXZlbnR1YWxseSB0byBDb3B5TVMgYW5kIHRoZW4g dGhlIGdlbmVyYXRpb25hbCBjb2xsZWN0b3JzLgo+Pj4+Cj4+Pj4gSSdtIHF1aXRlIHN1cmUgdGhl IHNwYWNlIGlzIHdvcmtpbmcgaW4gY29tYmluYXRpb24gd2l0aCBhbGwgCj4+Pj4gY29sbGVjdG9y cywgSSB2ZXJpZmllZCB0aGlzIHdpdGggYSBzaW1wbGUgdGVzdCBjbGFzcyBhbmQgCj4+Pj4gVk0u YXNzZXJ0aW9ucy5mYWlsKCkgY29uZGl0aW9ucyBpbiB0aGUgUkJTcGFjZS4KPj4+Pgo+Pj4+IFRo YW5rcyBhZ2FpbiEKPj4+PiBCZXN0LAo+Pj4+IEpvaGFubmVzCj4+Pj4KPj4+PiBPbiAxNC4wMS4y MCAwMDo1MywgUm9iaW4gR2FybmVyIHdyb3RlOgo+Pj4+PiA+IEkgYXNzdW1lZCB0aGF0IHRoZXJl IGlzIG5vIGdhcmJhZ2UgY29sbGVjdGlvbiBpbiBhbiBpbW1vcnRhbCAKPj4+Pj4gc3BhY2UgaW4g dGhlIGZpcnN0IHBsYWNlIGFuZCB0aGVyZWZvcmUgYWxzbyBubyB0cmFjaW5nIHNpbmNlIAo+Pj4+ PiBvYmplY3RzIGFyZSBhbHdheXMgbGl2ZS4KPj4+Pj4KPj4+Pj4gVGhpcyBzb3VuZHMgbGlrZSB5 b3VyIHByb2JsZW0uwqAgIkdhcmJhZ2UgQ29sbGVjdGlvbiIgaXNuJ3QgYSB2ZXJ5IAo+Pj4+PiBw cmVjaXNlIHRlcm0gd2hlbiB3ZSBnZXQgZG93biB0byB0aGlzIGxldmVsIG9mIGRldGFpbCA6KQo+ Pj4+Pgo+Pj4+PiBJdCdzIHRydWUgdGhhdCBvYmplY3RzIGluIGFuIGltbW9ydGFsIHNwYWNlIGFy ZSBuZXZlciByZWNsYWltZWQsIAo+Pj4+PiBidXQgdGhleSBkbyBwYXJ0aWNpcGF0ZSBpbiB0aGUg dHJhbnNpdGl2ZSBjbG9zdXJlIG9wZXJhdGlvbi4gQW5kIEkgCj4+Pj4+IGFzc3VtZSB5b3UgYXJl IGludGVyZXN0ZWQgaW4gd2hpY2ggb2JqZWN0cyBhcmUgbGl2ZSwgc28gdGhhdCB5b3UgCj4+Pj4+ IGRvbid0IG92ZXJ3cml0ZSBsaXZlIG9iamVjdHMgPwo+Pj4+Pgo+Pj4+Pgo+Pj4+PiA+IEkgYWRk ZWQgYSBtb2RpZmllZCB2ZXJzaW9uIG9mIGFuIEltbW9ydGFsU3BhY2UgKGNhbGxlZCBSQlNwYWNl LCAKPj4+Pj4gc2hvcnQgZm9yIFJpbmdCdWZmZXJTcGFjZSkgdG8gdGhlIHJlZ3VsYXIgb25lcyBp biBQbGFuLgo+Pj4+Pgo+Pj4+PiBJJ20gZ3Vlc3NpbmcgbWF5YmUgeW91J3ZlIG1pc3NlZCBhbiBv Y2N1cnJlbmNlIG9mIGltbW9ydGFsU3BhY2Ugb3IgCj4+Pj4+IGl0cyBwZXItdGhyZWFkIGNvbXBv bmVudHMgPwo+Pj4+Pgo+Pj4+PiA+ID4gSSBhc3N1bWUgeW91J3ZlIGRvbmUgc29tZSBvZiB0aGlz LCBiZWNhdXNlIGJ5IGRlZmF1bHQgdGhlIAo+Pj4+PiB0cmFjZU9iamVjdCBtZXRob2Qgd2lsbCBj cmFzaCB0aGUgVk0gaWYgaXQgdHJpZXMgdG8gdmlzaXQgYW4gCj4+Pj4+IG9iamVjdCB0aGF0IGhh c24ndCBnb3QgYSBzcGVjaWFsIGNhc2UuCj4+Pj4+ID4KPj4+Pj4gPiBUaGF0J3MgZXhhY3RseSB3 aGVyZSBJIGhhdmUgcHJvYmxlbXMuIEEgc3BlY2lhbCBjYXNlIGlzIGFkZGVkIAo+Pj4+PiBmb3Ig dGhlIFJCU3BhY2UsIGJ1dCB0aGUgVk0gY3Jhc2hlcyBubyBtYXR0ZXIgd2hhdCBJIHJldHVybi4K Pj4+Pj4KPj4+Pj4gVGhlIGNvbnRyYWN0IG9mIHRyYWNlT2JqZWN0IGlzIHRoYXQgaXQgcmV0dXJu cyB0aGUgYWRkcmVzcyBvZiB0aGUgCj4+Pj4+IHRyYWNlZCBvYmplY3QgKHRoZSBuZXcgYWRkcmVz cyBpZiB0aGUgb2JqZWN0IHdhcyBtb3ZlZCkuCj4+Pj4+Cj4+Pj4+IHdoZXJlIGRvZXMgdGhlIFZN IGNyYXNoID/CoCBEbyB5b3UgaGF2ZSBhIHN0YWNrIHRyYWNlID8KPj4+Pj4KPj4+Pj4gQ2FuIHlv dSByZXByb2R1Y2UgdGhpcyBpbiB0aGUgTU1UayBoYXJuZXNzID/CoCBJdCdzIGEgbXVjaCBtb3Jl IAo+Pj4+PiBmcmllbmRseSBkZWJ1Z2dpbmcgZW52aXJvbm1lbnQuCj4+Pj4+Cj4+Pj4+Cj4+Pj4+ IEFub3RoZXIgZGVidWdnaW5nIGFwcHJvYWNoIHdvdWxkIGJlIHRvIGFkZCBhbiB1bm1vZGlmaWVk IHZlcnNpb24gCj4+Pj4+IG9mIEltbW9ydGFsU3BhY2UgdG8gdGhlIHBsYW4gaW4gcGxhY2Ugb2Yg eW91ciBtb2RpZmllZCBzcGFjZS4gT25jZSAKPj4+Pj4geW91IGNhbiB2ZXJpZnkgdGhhdCBvYmpl Y3RzIGFyZSBiZWluZyBhbGxvY2F0ZWQgYW5kICJjb2xsZWN0ZWQiIGluIAo+Pj4+PiB0aGUgdW5t b2RpZmllZCBzcGFjZSwgeW91J2xsIGtub3cgd2hldGhlciB0aGUgaW50ZWdyYXRpb24gb2YgdGhl IAo+Pj4+PiBzcGFjZSBpcyBjb3JyZWN0LCBhbmQgY2FuIHRoZW4gdHVybiB0byBkZWJ1Z2dpbmcg eW91ciBuZXcgc3BhY2UuCj4+Pj4+Cj4+Pj4+Cj4+Pj4+IEFsc28sIHdoaWxlIEknbSBhd2FyZSB5 b3UndmUgbW9kaWZpZWQgdGhlIGJhc2UgcGxhbiBjbGFzc2VzLCAKPj4+Pj4gY2hvaWNlIG9mIGNv bGxlY3RvciBmb3IgZGVidWdnaW5nIGlzIHF1aXRlIGltcG9ydGFudC7CoCBJIHdvdWxkIAo+Pj4+ PiBzdGFydCBkZWJ1Z2dpbmcgd2l0aCBNYXJrU3dlZXAsIHRoZW4gbW92ZSB0byBTZW1pU3BhY2Us IEltbWl4IGFuZCAKPj4+Pj4gZXZlbnR1YWxseSB0byBDb3B5TVMgYW5kIHRoZW4gdGhlIGdlbmVy YXRpb25hbCBjb2xsZWN0b3JzLgo+Pj4+Pgo+Pj4+Pgo+Pj4+PiBMb3RzIHRvIHRoaW5rIGFib3V0 LCBJIGhvcGUgc29tZSBvZiBpdCBpcyB1c2VmdWwuCj4+Pj4+IGNoZWVycwo+Pj4+Pgo+Pj4+PiBP biAxNC8xLzIwIDE6MTEgYW0sIEpvaGFubmVzIFNpbnNlbCB3cm90ZToKPj4+Pj4+IEhleSBSb2Jp biwKPj4+Pj4+Cj4+Pj4+PiB0aGFua3MgZm9yIHlvdXIgcmVwbHkuCj4+Pj4+PiBJbiBteSBjdXJy ZW50IHNldHVwLCBJIGFkZGVkIGEgbW9kaWZpZWQgdmVyc2lvbiBvZiBhbiAKPj4+Pj4+IEltbW9y dGFsU3BhY2UgKGNhbGxlZCBSQlNwYWNlLCBzaG9ydCBmb3IgUmluZ0J1ZmZlclNwYWNlKSB0byB0 aGUgCj4+Pj4+PiByZWd1bGFyIG9uZXMgaW4gUGxhbi4gVGhyb3VnaCBNZW1vcnlNYW5hZ2VyLnBp Y2tBbGxvY2F0b3IoKSAKPj4+Pj4+IHNwZWNpZmljIG9iamVjdHMgZ2V0IHRvIGJlIGFsbG9jYXRl ZCBpbiBpdC4gUHJvYmxlbSBudW1iZXIgMiB5b3UgCj4+Pj4+PiBtZW50aW9uZWQsIGRvZXMgbm90 IGFyaXNlIHNpbmNlIHRoZXNlIG9iamVjdHMgd29uJ3QgcG9pbnQgaW50byAKPj4+Pj4+IHRoZSBy ZXN0IG9mIHRoZSBoZWFwLgo+Pj4+Pj4gQXMgdGhlIFJCU3BhY2UgaGFzIGEgcmluZy1idWZmZXIg ZmFzaGlvbmVkIG1lbW9yeSBtYW5hZ2VtZW50LCAKPj4+Pj4+IG9iamVjdHMgY2FuIGJlIG92ZXJ3 cml0dGVuIGFuZCB0aGVyZWZvcmUgdGhleSBhcmUgbm90IGxpdmUgCj4+Pj4+PiBhbnltb3JlLiBC dXQgYnkgbm93IHRoZSBsaXZlbmVzcyBpbmZvcm1hdGlvbiBkb2VzIG5vdCBtYXR0ZXIgdG8gCj4+ Pj4+PiBtZSAoUHJvYmxlbSAxKS4KPj4+Pj4+Cj4+Pj4+PiA+IEkgYXNzdW1lIHlvdSd2ZSBkb25l IHNvbWUgb2YgdGhpcywgYmVjYXVzZSBieSBkZWZhdWx0IHRoZSAKPj4+Pj4+IHRyYWNlT2JqZWN0 IG1ldGhvZCB3aWxsIGNyYXNoIHRoZSBWTSBpZiBpdCB0cmllcyB0byB2aXNpdCBhbiAKPj4+Pj4+ IG9iamVjdCB0aGF0IGhhc24ndCBnb3QgYSBzcGVjaWFsIGNhc2UuCj4+Pj4+Pgo+Pj4+Pj4gVGhh dCdzIGV4YWN0bHkgd2hlcmUgSSBoYXZlIHByb2JsZW1zLiBBIHNwZWNpYWwgY2FzZSBpcyBhZGRl ZCBmb3IgCj4+Pj4+PiB0aGUgUkJTcGFjZSwgYnV0IHRoZSBWTSBjcmFzaGVzIG5vIG1hdHRlciB3 aGF0IEkgcmV0dXJuLgo+Pj4+Pj4KPj4+Pj4+IEkgYXNzdW1lZCB0aGF0IHRoZXJlIGlzIG5vIGdh cmJhZ2UgY29sbGVjdGlvbiBpbiBhbiBpbW1vcnRhbCAKPj4+Pj4+IHNwYWNlIGluIHRoZSBmaXJz dCBwbGFjZSBhbmQgdGhlcmVmb3JlIGFsc28gbm8gdHJhY2luZyBzaW5jZSAKPj4+Pj4+IG9iamVj dHMgYXJlIGFsd2F5cyBsaXZlLgo+Pj4+Pj4KPj4+Pj4+IFRoYW5rcyBhZ2FpbiBmb3IgeW91ciBo ZWxwLgo+Pj4+Pj4gS2luZCByZWdhcmRzLAo+Pj4+Pj4gSm9oYW5uZXMKPj4+Pj4+Cj4+Pj4+PiBP biAxMy4wMS4yMCAwNjowMiwgUm9iaW4gR2FybmVyIHdyb3RlOgo+Pj4+Pj4+IEhpIEpvaGFubmVz LAo+Pj4+Pj4+Cj4+Pj4+Pj4gSSdtIG5vdCBxdWl0ZSBjbGVhciBvbiB3aGF0IHlvdSdyZSB0cnlp bmcgdG8gZG8uCj4+Pj4+Pj4KPj4+Pj4+PiA+IEknbSB0cnlpbmcgdG8gc2VwYXJhdGUgYSBmZXcg b2JqZWN0cyBpbiB0aGUgaGVhcCwgc28gdGhlIAo+Pj4+Pj4+IGdhcmJhZ2UgY29sbGVjdGlvbiBk b2Vzbid0IGNoZWNrIHRoZW0KPj4+Pj4+Pgo+Pj4+Pj4+IEluIGEgZnVsbCBoZWFwIGNvbGxlY3Rp b24sIHRoZSBnYXJiYWdlIGNvbGxlY3RvciBkZXRlcm1pbmVzIHRoZSAKPj4+Pj4+PiBsaXZlbmVz cyBvZiBvYmplY3RzIGluIHRoZSBoZWFwIGJ5IGRvaW5nIGEgdHJhbnNpdGl2ZSBjbG9zdXJlIAo+ Pj4+Pj4+IG92ZXIgdGhlIGhlYXAsIHN0YXJ0aW5nIHdpdGggdGhlIHJvb3RzICh0aHJlYWQgc3Rh Y2tzIGFuZCBzdGF0aWMgCj4+Pj4+Pj4gZmllbGRzKS7CoCBJZiB5b3Ugc29tZWhvdyBhcnJhbmdl IGZvciBwYXJ0IG9mIHRoZSBoZWFwIHRvIG5vdCBiZSAKPj4+Pj4+PiBjaGVja2VkIGR1cmluZyBH QywgdGhlbiB5b3UgaGF2ZSB0d28gcHJvYmxlbXM6Cj4+Pj4+Pj4KPj4+Pj4+PiAxKSBEZXRlcm1p bmluZyB0aGUgbGl2ZW5lc3Mgb2YgdGhlIG9iamVjdHMgaW4geW91ciAnaWdub3JlZCcgCj4+Pj4+ Pj4gc3BhY2UsIGFuZAo+Pj4+Pj4+Cj4+Pj4+Pj4gMikgS2VlcGluZyBvYmplY3RzIGluIHRoZSBy ZXN0IG9mIHRoZSBoZWFwIHRoYXQgeW91ciAnaWdub3JlZCcgCj4+Pj4+Pj4gc3BhY2Ugb2JqZWN0 cyBwb2ludCB0byBhbGl2ZS4KPj4+Pj4+Pgo+Pj4+Pj4+IFdoZW4gYWRkaW5nIGEgbmV3IHNwYWNl IHRvIGEgUGxhbiwgeW91ciBwcm9ibGVtIGlzIGxlc3Mgb25lIG9mIAo+Pj4+Pj4+IHByZXZlbnRp bmcgdGhlIEdDIGZyb20gdmlzaXRpbmcgeW91ciBvYmplY3RzLCB0aGFuIGdldHRpbmcgdGhlbSAK Pj4+Pj4+PiB0byBkbyBpdCBhdCBhbGwuwqAgVGhlcmUgYXJlIHNldmVyYWwgcGxhY2VzIGluIGEg cGxhbiB3aGVyZSB5b3UgCj4+Pj4+Pj4gbmVlZCB0byBhZGQgY2FsbHMgdG8geW91ciBuZXcgc3Bh Y2UuwqAgRm9yIGV4YW1wbGUsIGlmIHlvdSBsb29rIAo+Pj4+Pj4+IGF0IG1hcmtzd2VlcCBhcyBv bmUgb2YgdGhlIHNpbXBsZXIgZXhhbXBsZXMsIGp1c3Qgc2VhcmNoIHRoZSAKPj4+Pj4+PiBwYWNr YWdlIG9yZy5tbXRrLnBsYW4ubWFya3N3ZWVwIGZvcsKgIHRoZSBjb25zdGFudCBNUy5NQVJLX1NX RUVQLCAKPj4+Pj4+PiBhbmQgZm9yIHRoZSBmaWVsZCBNUy5tc1NwYWNlLsKgIEluIHBhcnRpY3Vs YXIsIHRoZSBtZXRob2QgCj4+Pj4+Pj4gTVNUcmFjZUxvY2FsLnRyYWNlT2JqZWN0IGFuZCBpdHMg c3VwZXJjbGFzcyBpbnN0YW5jZXMgYXJlIGhvdyAKPj4+Pj4+PiB0aGUgR0MgdmlzaXRzIGhlYXAg b2JqZWN0cy7CoCBJIGFzc3VtZSB5b3UndmUgZG9uZSBzb21lIG9mIHRoaXMsIAo+Pj4+Pj4+IGJl Y2F1c2UgYnkgZGVmYXVsdCB0aGUgdHJhY2VPYmplY3QgbWV0aG9kIHdpbGwgY3Jhc2ggdGhlIFZN IGlmIAo+Pj4+Pj4+IGl0IHRyaWVzIHRvIHZpc2l0IGFuIG9iamVjdCB0aGF0IGhhc24ndCBnb3Qg YSBzcGVjaWFsIGNhc2UuCj4+Pj4+Pj4KPj4+Pj4+PiBTbyBpZiB5b3UgY2FuIHRlbGwgdXMgd2hp Y2ggcGxhbiB5b3UncmUgYmFzaW5nIHlvdXIgY29sbGVjdG9yIAo+Pj4+Pj4+IG9uLCBhbmQgaG93 IHlvdSBhZGRyZXNzIHRoZSBhYm92ZSAyIHByb2JsZW1zLCB0aGVuIG1heWJlIEkgY2FuIAo+Pj4+ Pj4+IGJlIG9mIG1vcmUgc3BlY2lmaWMgaGVscC4KPj4+Pj4+Pgo+Pj4+Pj4+IGNoZWVycywKPj4+ Pj4+Pgo+Pj4+Pj4+IFJvYmluCj4+Pj4+Pj4KPj4+Pj4+PiBPbiAxMC8xLzIwIDk6MDAgcG0sIEpv aGFubmVzIFNpbnNlbCB3cm90ZToKPj4+Pj4+Pj4gSGV5IHRoZXJlLAo+Pj4+Pj4+PiBpbiBhIGN1 cnJlbnQgcHJvamVjdCBvZiBtaW5lLCBJJ20gdHJ5aW5nIHRvIHNlcGFyYXRlIGEgZmV3IAo+Pj4+ Pj4+PiBvYmplY3RzIGluIHRoZSBoZWFwLCBzbyB0aGUgZ2FyYmFnZSBjb2xsZWN0aW9uIGRvZXNu J3QgY2hlY2sgCj4+Pj4+Pj4+IHRoZW0uIFRoaXMgaXMgZG9uZSBieSB1c2luZyB0aGUgaW1wbGVt ZW50YXRpb24gb2YgYSAKPj4+Pj4+Pj4gSW1tb3J0YWxTcGFjZSBhbmQgZ2l2ZSBpdCBhIHJpbmcg YnVmZmVyIGZhc2hpb25lZCBtZW1vcnkgCj4+Pj4+Pj4+IG1hbmFnZW1lbnQuIEluIHRoaXMgd2F5 IG9iamVjdHMgYXJlIG5vdCBuZWNlc3NhcmlseSBsaXZlIChhZnRlciAKPj4+Pj4+Pj4gYSBuZXcg cmluZyBidWZmZXIgY3ljbGUgaGFzIHN0YXJ0ZWQpLgo+Pj4+Pj4+Pgo+Pj4+Pj4+PiBVbmZvcnR1 bmF0ZWx5IGluIHRoZSAiZnVsbCBoZWFwIiBjb2xsZWN0aW9uIHBoYXNlLCBpdCBzZWVtcyB0byAK Pj4+Pj4+Pj4gbWUsIHRoYXQgdGhlIEdDIGNoZWNrcyBmb3Igc3RhdGljIHJlZmVyZW5jZXMgaW5k ZXBlbmRlbnQgb2YgdGhlIAo+Pj4+Pj4+PiB1c2VkIGhlYXAgc3BhY2UuIFRoaXMgY2F1c2VzIHRo ZSBWTSB0byBjcmFzaCwgc2luY2Ugb2JqZWN0cyBjYW4gCj4+Pj4+Pj4+IGJlIG92ZXJ3cml0dGVu IGFuZCBhbiBhZGRyZXNzIG9mIGEgcHJldmlvdXMgb2JqZWN0IGNhbid0IGJlIAo+Pj4+Pj4+PiBy ZXNvbHZlZCBhbnltb3JlLgo+Pj4+Pj4+Pgo+Pj4+Pj4+PiBJcyB0aGVyZSBhIHdheSB0byBzZXBh cmF0ZSB0aGUgc3BhY2UgbW9yZSwgc28gdGhlIEdDIGlzIG5vdCBsZWQgCj4+Pj4+Pj4+IGludG8g aXQ/IEkgY291bGRuJ3QgZmluZCBhIHNvbHV0aW9uIHlldC4KPj4+Pj4+Pj4KPj4+Pj4+Pj4gVGhh bmtzIGFuZCBraW5kIHJlZ2FyZHMsCj4+Pj4+Pj4+IEpvaGFubmVzCj4+Pj4+Pj4+Cj4+Pj4+Pj4+ Cj4+Pj4+Pj4+Cj4+Pj4+Pj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCj4+Pj4+Pj4+IEppa2VzcnZtLXJlc2VhcmNoZXJzIG1haWxpbmcgbGlzdAo+Pj4+ Pj4+PiBKaWtlc3J2bS1yZXNlYXJjaGVyc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKPj4+Pj4+Pj4g aHR0cHM6Ly9saXN0cy5zb3VyY2Vmb3JnZS5uZXQvbGlzdHMvbGlzdGluZm8vamlrZXNydm0tcmVz ZWFyY2hlcnMKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpKaWtlc3J2bS1yZXNlYXJjaGVycyBtYWlsaW5nIGxpc3QKSmlrZXNydm0tcmVzZWFyY2hlcnNA bGlzdHMuc291cmNlZm9yZ2UubmV0Cmh0dHBzOi8vbGlzdHMuc291cmNlZm9yZ2UubmV0L2xpc3Rz L2xpc3RpbmZvL2ppa2VzcnZtLXJlc2VhcmNoZXJzCg==