Re: [rvm-research] Separation of Spaces
Robin Garner <[email protected]> Wed, 15 Jan 2020 15:01:52 +1100
| Newsgroups | gmane.comp.java.jikes.rvm.devel |
|---|---|
| Message-ID | <[email protected]> |
ID4gPsKgIEFuZCBJIGFzc3VtZSB5b3UgYXJlIGludGVyZXN0ZWQgaW4gd2hpY2ggb2JqZWN0cyBh cmUgbGl2ZSwgc28gdGhhdCAKeW91IGRvbid0IG92ZXJ3cml0ZSBsaXZlIG9iamVjdHMgPwogPgog PiBJbiBmYWN0IGF0IHRoaXMgcG9pbnQgSSBkb24ndCBuZWVkIHRoaXMgaW5mb3JtYXRpb24sIGJl c3QgY2FzZSBmb3IgbWUgCndvdWxkIGJlIHRvIG5vdCBkZXRlcm1pbmUgdGhlaXIgbGl2ZWxpbmVz cyBhdCBhbGwuCgpPSywgcGVyaGFwcyBJJ20gbWlzc2luZyBzb21ldGhpbmcgaGVyZSwgYnV0IHRo aXMgc291bmRzIGxpa2UgeW91J3JlIE9LIAp3aXRoIGhhdmluZyBhIGNvcnJ1cHQgaGVhcCAuLi7C oCBKaWtlcyBSVk0gd2lsbCBiZSBsZXNzIGhhcHB5IDopwqAgUGVyaGFwcyAKeW91IGNvdWxkIGVs YWJvcmF0ZSBhIGxpdHRsZSBtb3JlIG9uIHlvdXIgdXNlIGNhc2UgPwoKQm90dG9tIGxpbmUsIGlm IHRoZXJlIGlzIGEgcmVmZXJlbmNlIGZyb20gYSBsaXZlIEphdmEgb2JqZWN0IHRvIGFuIApvYmpl Y3QgaW4geW91ciBzcGFjZSwgeW91IG5lZWQgdG8gZW5zdXJlIGl0IGlzIGFsaXZlLCBhbmQgdGhh dCB0aGUgCnRyYW5zaXRpdmUgY2xvc3VyZSBvZiB0aGUgb2JqZWN0cyBpdCByZWZlcnMgdG8gYXJl IGFsc28ga2VwdCBhbGl2ZS4KCiA+ID4gd2hlcmUgZG9lcyB0aGUgVk0gY3Jhc2ggP8KgIERvIHlv dSBoYXZlIGEgc3RhY2sgdHJhY2UgPwogPgogPiBVbmZvcnR1bmF0ZWx5IEkgY2FuJ3QgZ2V0IGEg c3RhY2sgdHJhY2UsIEkgdGhpbmsgdGhpcyBpcyBkdWUgdG8gdGhlIAphdHRlbXB0IHRvIHRyYWNl IGFuIG9iamVjdCB0aGF0IHdhcyBhbHJlYWR5IG92ZXJ3cml0dGVuLiBUaGUgdGVybWluYWwgCm91 dHB1dCBpcyBzb21ldGhpbmcgbGlrZSB0aGlzOgoKSWYgeW91IHJ1biB3aXRoIC1YOmdjOnZlcmJv c2U9MyAob3IgYWJvdmUpIHlvdSBzaG91bGQgYXQgbGVhc3QgYmUgYWJsZSAKdG8gdGVsbCB3aGV0 aGVyIGl0J3MgdGhlIEdDIG9yIHRoZSBtdXRhdG9yIHRoYXQncyBjcmFzaGluZy4gCi1YOmdjOnZl cmJvc2U9OSB3aWxsIGhlbHAgbmFycm93IGl0IGRvd24gdG8gYSBwYXJ0aWN1bGFyIEdDIHBoYXNl LgoKID4gPiBDYW4geW91IHJlcHJvZHVjZSB0aGlzIGluIHRoZSBNTVRrIGhhcm5lc3MgPwogPgog PiBUaGUgInNwZWNpYWwgb2JqZWN0cyIgdGhhdCBhcmUgYWxsb2NhdGVkIGluIHRoZSBSQlNwYWNl IGFyZSBjcmVhdGVkIApieSBhIEphdmEgQWdlbnQsIHNvIGl0IGlzIGRpZmZpY3VsdCBmb3IgbWUg dG8gdXNlIHRoZSBoYXJuZXNzIGZvciAKZGVidWdnaW5nLgoKVGhlIEhhcm5lc3MgZG9lc24ndCBy dW4gcmVhbCBjb2RlOiBpdCBydW5zIGEgbWluaW1hbCBsYW5ndWFnZSBkZXNpZ25lZCAKZm9yIGV4 ZXJjaXNpbmcgTU1Uay7CoCBUaGVyZSdzIG5vdGhpbmcgc3RvcHBpbmcgeW91IHVzZSBpdCB0byB3 cml0ZSBhIAp0ZXN0IGNhc2UgdGhhdCAoZm9yIGV4YW1wbGUpIGNyZWF0ZXMgdHdvIG9iamVjdHMs IG9uZSBpbiB0aGUgJ21haW4nIApzcGFjZSwgcG9pbnRpbmcgdG8gYSBzZWNvbmQgb2JqZWN0IGlu IHlvdXIgUkJTcGFjZSwgdGhlbiBydW4gYSBHQyBhbmQgCnNhbml0eS1jaGVjayB0aGUgaGVhcC4K CldoZW4geW91IHNheSAic3BlY2lhbCBvYmplY3RzIiwgaW4gd2hhdCB3YXkgYXJlIHRoZXkgc3Bl Y2lhbCA/wqAgRnJvbSB0aGUgCkpWTSdzIHBvaW50IG9mIHZpZXcsIGFueSBvYmplY3QgY3JlYXRl ZCB2aWEgJ25ldycgaXMgcHJldHR5IG11Y2ggdGhlIApzYW1lIGFzIGFueSBvdGhlci4KCgpjaGVl cnMsClJvYmluCgpPbiAxNS8xLzIwIDI6MjUgYW0sIEpvaGFubmVzIFNpbnNlbCB3cm90ZToKPiA+ IFRoaXMgc291bmRzIGxpa2UgeW91ciBwcm9ibGVtLsKgICJHYXJiYWdlIENvbGxlY3Rpb24iIGlz bid0IGEgdmVyeSAKPiBwcmVjaXNlIHRlcm0gd2hlbiB3ZSBnZXQgZG93biB0byB0aGlzIGxldmVs IG9mIGRldGFpbCA6KQo+Cj4gU29ycnkgZm9yIHRoZSB2YWd1ZSB0ZXJtIDpECj4KPiA+wqAgQW5k IEkgYXNzdW1lIHlvdSBhcmUgaW50ZXJlc3RlZCBpbiB3aGljaCBvYmplY3RzIGFyZSBsaXZlLCBz byB0aGF0IAo+IHlvdSBkb24ndCBvdmVyd3JpdGUgbGl2ZSBvYmplY3RzID8KPgo+IEluIGZhY3Qg YXQgdGhpcyBwb2ludCBJIGRvbid0IG5lZWQgdGhpcyBpbmZvcm1hdGlvbiwgYmVzdCBjYXNlIGZv ciBtZSAKPiB3b3VsZCBiZSB0byBub3QgZGV0ZXJtaW5lIHRoZWlyIGxpdmVsaW5lc3MgYXQgYWxs Lgo+Cj4gPiB3aGVyZSBkb2VzIHRoZSBWTSBjcmFzaCA/wqAgRG8geW91IGhhdmUgYSBzdGFjayB0 cmFjZSA/Cj4KPiBVbmZvcnR1bmF0ZWx5IEkgY2FuJ3QgZ2V0IGEgc3RhY2sgdHJhY2UsIEkgdGhp bmsgdGhpcyBpcyBkdWUgdG8gdGhlIAo+IGF0dGVtcHQgdG8gdHJhY2UgYW4gb2JqZWN0IHRoYXQg d2FzIGFscmVhZHkgb3ZlcndyaXR0ZW4uIFRoZSB0ZXJtaW5hbCAKPiBvdXRwdXQgaXMgc29tZXRo aW5nIGxpa2UgdGhpczoKPgo+IEppa2VzUlZNOiBGYWlsaW5nIGluc3RydWN0aW9uIHN0YXJ0aW5n IGF0IDAgd2Fzbid0IGluIFJWTSBhZGRyZXNzIHNwYWNlCj4gSmlrZXNSVk06IHVuZXhwZWN0ZWQg aGFyZHdhcmUgdHJhcCBvdXRzaWRlIG9mIFJWTSBhZGRyZXNzIHNwYWNlIC0gCj4gKG5pbCkgMHhl MDBmZmMzNzI5OAo+IGZhdWx0IGFkZHJlc3MgKG5pbCkKPiBlaXDCoMKgwqDCoMKgwqDCoMKgwqDC oCAobmlsKQo+IGVheCAoVDApwqDCoMKgwqDCoCAweGUwMGZmZjVjZTIwCj4gZWJ4IChjdHJzKcKg wqDCoCAweGUwMGZmZjVjZTIwCj4gZWN4IChTMCnCoMKgwqDCoMKgIDB4Ywo+IGVkeCAoVDEpwqDC oMKgwqDCoCAweGUwMGZmYzE4OWU4Cj4gZXNpIChUUinCoMKgwqDCoMKgIDB4ZTAwZmZjMzcyOTgK PiBlZGkgKFMxKcKgwqDCoMKgwqAgMHhlMDBmZmY1OTU3OAo+IGVicMKgwqDCoMKgwqDCoMKgwqDC oMKgIDB4MzAKPiBlc3AgKFNQKcKgwqDCoMKgwqAgMHhhMDBmZmQzMGJiOAo+IHI4wqDCoMKgwqDC oMKgwqDCoMKgwqDCoCAweGRhNwo+IHI5wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAweDEKPiByMTDC oMKgwqDCoMKgwqDCoMKgwqDCoCAobmlsKQo+IHIxMcKgwqDCoMKgwqDCoMKgwqDCoMKgIDB4MjA2 Cj4gcjEywqDCoMKgwqDCoMKgwqDCoMKgwqAgMHhhMDBmZmQzMTAwOAo+IHIxM8KgwqDCoMKgwqDC oMKgwqDCoMKgIDB4MjAwMDI5ZjJjMzgKPiByMTTCoMKgwqDCoMKgwqDCoMKgwqDCoCAweGUwMGZm YzM3Mjk4Cj4gcjE1wqDCoMKgwqDCoMKgwqDCoMKgwqAgMHgyMDAwMDA4MDUxMAo+IGNzLCBncywg ZnPCoMKgwqAgMHgyYjAwMDAwMDAwMDAzMwo+IHRyYXBub8KgwqDCoMKgwqDCoMKgIDB4MDAwMDAw MGUKPiBlcnLCoMKgwqDCoMKgwqDCoMKgwqDCoCAweDAwMDAwMDE0Cj4gZWZsYWdzwqDCoMKgwqDC oMKgwqAgMHgwMDAxMDIwNwo+IGZwcmVnc8KgwqDCoMKgwqDCoMKgIDB4N2ZkNDU4MDA0NmMwCj4g YXR0ZW1wdGluZyB0byBkdW1wIHByb2MgbWFwIC4uLgo+Cj4gPiBDYW4geW91IHJlcHJvZHVjZSB0 aGlzIGluIHRoZSBNTVRrIGhhcm5lc3MgPwo+Cj4gVGhlICJzcGVjaWFsIG9iamVjdHMiIHRoYXQg YXJlIGFsbG9jYXRlZCBpbiB0aGUgUkJTcGFjZSBhcmUgY3JlYXRlZCBieSAKPiBhIEphdmEgQWdl bnQsIHNvIGl0IGlzIGRpZmZpY3VsdCBmb3IgbWUgdG8gdXNlIHRoZSBoYXJuZXNzIGZvciBkZWJ1 Z2dpbmcuCj4KPiA+IEknbSBndWVzc2luZyBtYXliZSB5b3UndmUgbWlzc2VkIGFuIG9jY3VycmVu Y2Ugb2YgaW1tb3J0YWxTcGFjZSBvciAKPiBpdHMgcGVyLXRocmVhZCBjb21wb25lbnRzID8KPiA+ IEFub3RoZXIgZGVidWdnaW5nIGFwcHJvYWNoIHdvdWxkIGJlIHRvIGFkZCBhbiB1bm1vZGlmaWVk IHZlcnNpb24gb2YgCj4gSW1tb3J0YWxTcGFjZSB0byB0aGUgcGxhbiBpbiBwbGFjZSBvZiB5b3Vy IG1vZGlmaWVkIHNwYWNlLsKgIE9uY2UgeW91IAo+IGNhbiB2ZXJpZnkgdGhhdCBvYmplY3RzIGFy ZSBiZWluZyBhbGxvY2F0ZWQgYW5kICJjb2xsZWN0ZWQiIGluIHRoZSAKPiB1bm1vZGlmaWVkIHNw YWNlLCB5b3UnbGwga25vdyB3aGV0aGVyIHRoZSBpbnRlZ3JhdGlvbiBvZiB0aGUgc3BhY2UgaXMg Cj4gY29ycmVjdCwgYW5kIGNhbiB0aGVuIHR1cm4gdG8gZGVidWdnaW5nIHlvdXIgbmV3IHNwYWNl Lgo+ID4gQWxzbywgd2hpbGUgSSdtIGF3YXJlIHlvdSd2ZSBtb2RpZmllZCB0aGUgYmFzZSBwbGFu IGNsYXNzZXMsIGNob2ljZSAKPiBvZiBjb2xsZWN0b3IgZm9yIGRlYnVnZ2luZyBpcyBxdWl0ZSBp bXBvcnRhbnQuwqAgSSB3b3VsZCBzdGFydCAKPiBkZWJ1Z2dpbmcgd2l0aCBNYXJrU3dlZXAsIHRo ZW4gbW92ZSB0byBTZW1pU3BhY2UsIEltbWl4IGFuZCBldmVudHVhbGx5IAo+IHRvIENvcHlNUyBh bmQgdGhlbiB0aGUgZ2VuZXJhdGlvbmFsIGNvbGxlY3RvcnMuCj4KPiBJJ20gcXVpdGUgc3VyZSB0 aGUgc3BhY2UgaXMgd29ya2luZyBpbiBjb21iaW5hdGlvbiB3aXRoIGFsbCAKPiBjb2xsZWN0b3Jz LCBJIHZlcmlmaWVkIHRoaXMgd2l0aCBhIHNpbXBsZSB0ZXN0IGNsYXNzIGFuZCAKPiBWTS5hc3Nl cnRpb25zLmZhaWwoKSBjb25kaXRpb25zIGluIHRoZSBSQlNwYWNlLgo+Cj4gVGhhbmtzIGFnYWlu IQo+IEJlc3QsCj4gSm9oYW5uZXMKPgo+IE9uIDE0LjAxLjIwIDAwOjUzLCBSb2JpbiBHYXJuZXIg d3JvdGU6Cj4+ID4gSSBhc3N1bWVkIHRoYXQgdGhlcmUgaXMgbm8gZ2FyYmFnZSBjb2xsZWN0aW9u IGluIGFuIGltbW9ydGFsIHNwYWNlIAo+PiBpbiB0aGUgZmlyc3QgcGxhY2UgYW5kIHRoZXJlZm9y ZSBhbHNvIG5vIHRyYWNpbmcgc2luY2Ugb2JqZWN0cyBhcmUgCj4+IGFsd2F5cyBsaXZlLgo+Pgo+ PiBUaGlzIHNvdW5kcyBsaWtlIHlvdXIgcHJvYmxlbS7CoCAiR2FyYmFnZSBDb2xsZWN0aW9uIiBp c24ndCBhIHZlcnkgCj4+IHByZWNpc2UgdGVybSB3aGVuIHdlIGdldCBkb3duIHRvIHRoaXMgbGV2 ZWwgb2YgZGV0YWlsIDopCj4+Cj4+IEl0J3MgdHJ1ZSB0aGF0IG9iamVjdHMgaW4gYW4gaW1tb3J0 YWwgc3BhY2UgYXJlIG5ldmVyIHJlY2xhaW1lZCwgYnV0IAo+PiB0aGV5IGRvIHBhcnRpY2lwYXRl IGluIHRoZSB0cmFuc2l0aXZlIGNsb3N1cmUgb3BlcmF0aW9uLiBBbmQgSSBhc3N1bWUgCj4+IHlv dSBhcmUgaW50ZXJlc3RlZCBpbiB3aGljaCBvYmplY3RzIGFyZSBsaXZlLCBzbyB0aGF0IHlvdSBk b24ndCAKPj4gb3ZlcndyaXRlIGxpdmUgb2JqZWN0cyA/Cj4+Cj4+Cj4+ID4gSSBhZGRlZCBhIG1v ZGlmaWVkIHZlcnNpb24gb2YgYW4gSW1tb3J0YWxTcGFjZSAoY2FsbGVkIFJCU3BhY2UsIAo+PiBz aG9ydCBmb3IgUmluZ0J1ZmZlclNwYWNlKSB0byB0aGUgcmVndWxhciBvbmVzIGluIFBsYW4uCj4+ Cj4+IEknbSBndWVzc2luZyBtYXliZSB5b3UndmUgbWlzc2VkIGFuIG9jY3VycmVuY2Ugb2YgaW1t b3J0YWxTcGFjZSBvciAKPj4gaXRzIHBlci10aHJlYWQgY29tcG9uZW50cyA/Cj4+Cj4+ID4gPiBJ IGFzc3VtZSB5b3UndmUgZG9uZSBzb21lIG9mIHRoaXMsIGJlY2F1c2UgYnkgZGVmYXVsdCB0aGUg Cj4+IHRyYWNlT2JqZWN0IG1ldGhvZCB3aWxsIGNyYXNoIHRoZSBWTSBpZiBpdCB0cmllcyB0byB2 aXNpdCBhbiBvYmplY3QgCj4+IHRoYXQgaGFzbid0IGdvdCBhIHNwZWNpYWwgY2FzZS4KPj4gPgo+ PiA+IFRoYXQncyBleGFjdGx5IHdoZXJlIEkgaGF2ZSBwcm9ibGVtcy4gQSBzcGVjaWFsIGNhc2Ug aXMgYWRkZWQgZm9yIAo+PiB0aGUgUkJTcGFjZSwgYnV0IHRoZSBWTSBjcmFzaGVzIG5vIG1hdHRl ciB3aGF0IEkgcmV0dXJuLgo+Pgo+PiBUaGUgY29udHJhY3Qgb2YgdHJhY2VPYmplY3QgaXMgdGhh dCBpdCByZXR1cm5zIHRoZSBhZGRyZXNzIG9mIHRoZSAKPj4gdHJhY2VkIG9iamVjdCAodGhlIG5l dyBhZGRyZXNzIGlmIHRoZSBvYmplY3Qgd2FzIG1vdmVkKS4KPj4KPj4gd2hlcmUgZG9lcyB0aGUg Vk0gY3Jhc2ggP8KgIERvIHlvdSBoYXZlIGEgc3RhY2sgdHJhY2UgPwo+Pgo+PiBDYW4geW91IHJl cHJvZHVjZSB0aGlzIGluIHRoZSBNTVRrIGhhcm5lc3MgP8KgIEl0J3MgYSBtdWNoIG1vcmUgCj4+ IGZyaWVuZGx5IGRlYnVnZ2luZyBlbnZpcm9ubWVudC4KPj4KPj4KPj4gQW5vdGhlciBkZWJ1Z2dp bmcgYXBwcm9hY2ggd291bGQgYmUgdG8gYWRkIGFuIHVubW9kaWZpZWQgdmVyc2lvbiBvZiAKPj4g SW1tb3J0YWxTcGFjZSB0byB0aGUgcGxhbiBpbiBwbGFjZSBvZiB5b3VyIG1vZGlmaWVkIHNwYWNl LiBPbmNlIHlvdSAKPj4gY2FuIHZlcmlmeSB0aGF0IG9iamVjdHMgYXJlIGJlaW5nIGFsbG9jYXRl ZCBhbmQgImNvbGxlY3RlZCIgaW4gdGhlIAo+PiB1bm1vZGlmaWVkIHNwYWNlLCB5b3UnbGwga25v dyB3aGV0aGVyIHRoZSBpbnRlZ3JhdGlvbiBvZiB0aGUgc3BhY2UgaXMgCj4+IGNvcnJlY3QsIGFu ZCBjYW4gdGhlbiB0dXJuIHRvIGRlYnVnZ2luZyB5b3VyIG5ldyBzcGFjZS4KPj4KPj4KPj4gQWxz bywgd2hpbGUgSSdtIGF3YXJlIHlvdSd2ZSBtb2RpZmllZCB0aGUgYmFzZSBwbGFuIGNsYXNzZXMs IGNob2ljZSAKPj4gb2YgY29sbGVjdG9yIGZvciBkZWJ1Z2dpbmcgaXMgcXVpdGUgaW1wb3J0YW50 LsKgIEkgd291bGQgc3RhcnQgCj4+IGRlYnVnZ2luZyB3aXRoIE1hcmtTd2VlcCwgdGhlbiBtb3Zl IHRvIFNlbWlTcGFjZSwgSW1taXggYW5kIAo+PiBldmVudHVhbGx5IHRvIENvcHlNUyBhbmQgdGhl biB0aGUgZ2VuZXJhdGlvbmFsIGNvbGxlY3RvcnMuCj4+Cj4+Cj4+IExvdHMgdG8gdGhpbmsgYWJv dXQsIEkgaG9wZSBzb21lIG9mIGl0IGlzIHVzZWZ1bC4KPj4gY2hlZXJzCj4+Cj4+IE9uIDE0LzEv MjAgMToxMSBhbSwgSm9oYW5uZXMgU2luc2VsIHdyb3RlOgo+Pj4gSGV5IFJvYmluLAo+Pj4KPj4+ IHRoYW5rcyBmb3IgeW91ciByZXBseS4KPj4+IEluIG15IGN1cnJlbnQgc2V0dXAsIEkgYWRkZWQg YSBtb2RpZmllZCB2ZXJzaW9uIG9mIGFuIEltbW9ydGFsU3BhY2UgCj4+PiAoY2FsbGVkIFJCU3Bh Y2UsIHNob3J0IGZvciBSaW5nQnVmZmVyU3BhY2UpIHRvIHRoZSByZWd1bGFyIG9uZXMgaW4gCj4+ PiBQbGFuLiBUaHJvdWdoIE1lbW9yeU1hbmFnZXIucGlja0FsbG9jYXRvcigpIHNwZWNpZmljIG9i amVjdHMgZ2V0IHRvIAo+Pj4gYmUgYWxsb2NhdGVkIGluIGl0LiBQcm9ibGVtIG51bWJlciAyIHlv dSBtZW50aW9uZWQsIGRvZXMgbm90IGFyaXNlIAo+Pj4gc2luY2UgdGhlc2Ugb2JqZWN0cyB3b24n dCBwb2ludCBpbnRvIHRoZSByZXN0IG9mIHRoZSBoZWFwLgo+Pj4gQXMgdGhlIFJCU3BhY2UgaGFz IGEgcmluZy1idWZmZXIgZmFzaGlvbmVkIG1lbW9yeSBtYW5hZ2VtZW50LCAKPj4+IG9iamVjdHMg Y2FuIGJlIG92ZXJ3cml0dGVuIGFuZCB0aGVyZWZvcmUgdGhleSBhcmUgbm90IGxpdmUgYW55bW9y ZS4gCj4+PiBCdXQgYnkgbm93IHRoZSBsaXZlbmVzcyBpbmZvcm1hdGlvbiBkb2VzIG5vdCBtYXR0 ZXIgdG8gbWUgKFByb2JsZW0gMSkuCj4+Pgo+Pj4gPiBJIGFzc3VtZSB5b3UndmUgZG9uZSBzb21l IG9mIHRoaXMsIGJlY2F1c2UgYnkgZGVmYXVsdCB0aGUgCj4+PiB0cmFjZU9iamVjdCBtZXRob2Qg d2lsbCBjcmFzaCB0aGUgVk0gaWYgaXQgdHJpZXMgdG8gdmlzaXQgYW4gb2JqZWN0IAo+Pj4gdGhh dCBoYXNuJ3QgZ290IGEgc3BlY2lhbCBjYXNlLgo+Pj4KPj4+IFRoYXQncyBleGFjdGx5IHdoZXJl IEkgaGF2ZSBwcm9ibGVtcy4gQSBzcGVjaWFsIGNhc2UgaXMgYWRkZWQgZm9yIAo+Pj4gdGhlIFJC U3BhY2UsIGJ1dCB0aGUgVk0gY3Jhc2hlcyBubyBtYXR0ZXIgd2hhdCBJIHJldHVybi4KPj4+Cj4+ PiBJIGFzc3VtZWQgdGhhdCB0aGVyZSBpcyBubyBnYXJiYWdlIGNvbGxlY3Rpb24gaW4gYW4gaW1t b3J0YWwgc3BhY2UgCj4+PiBpbiB0aGUgZmlyc3QgcGxhY2UgYW5kIHRoZXJlZm9yZSBhbHNvIG5v IHRyYWNpbmcgc2luY2Ugb2JqZWN0cyBhcmUgCj4+PiBhbHdheXMgbGl2ZS4KPj4+Cj4+PiBUaGFu a3MgYWdhaW4gZm9yIHlvdXIgaGVscC4KPj4+IEtpbmQgcmVnYXJkcywKPj4+IEpvaGFubmVzCj4+ Pgo+Pj4gT24gMTMuMDEuMjAgMDY6MDIsIFJvYmluIEdhcm5lciB3cm90ZToKPj4+PiBIaSBKb2hh bm5lcywKPj4+Pgo+Pj4+IEknbSBub3QgcXVpdGUgY2xlYXIgb24gd2hhdCB5b3UncmUgdHJ5aW5n IHRvIGRvLgo+Pj4+Cj4+Pj4gPiBJJ20gdHJ5aW5nIHRvIHNlcGFyYXRlIGEgZmV3IG9iamVjdHMg aW4gdGhlIGhlYXAsIHNvIHRoZSBnYXJiYWdlIAo+Pj4+IGNvbGxlY3Rpb24gZG9lc24ndCBjaGVj ayB0aGVtCj4+Pj4KPj4+PiBJbiBhIGZ1bGwgaGVhcCBjb2xsZWN0aW9uLCB0aGUgZ2FyYmFnZSBj b2xsZWN0b3IgZGV0ZXJtaW5lcyB0aGUgCj4+Pj4gbGl2ZW5lc3Mgb2Ygb2JqZWN0cyBpbiB0aGUg aGVhcCBieSBkb2luZyBhIHRyYW5zaXRpdmUgY2xvc3VyZSBvdmVyIAo+Pj4+IHRoZSBoZWFwLCBz dGFydGluZyB3aXRoIHRoZSByb290cyAodGhyZWFkIHN0YWNrcyBhbmQgc3RhdGljIAo+Pj4+IGZp ZWxkcykuwqAgSWYgeW91IHNvbWVob3cgYXJyYW5nZSBmb3IgcGFydCBvZiB0aGUgaGVhcCB0byBu b3QgYmUgCj4+Pj4gY2hlY2tlZCBkdXJpbmcgR0MsIHRoZW4geW91IGhhdmUgdHdvIHByb2JsZW1z Ogo+Pj4+Cj4+Pj4gMSkgRGV0ZXJtaW5pbmcgdGhlIGxpdmVuZXNzIG9mIHRoZSBvYmplY3RzIGlu IHlvdXIgJ2lnbm9yZWQnIHNwYWNlLCAKPj4+PiBhbmQKPj4+Pgo+Pj4+IDIpIEtlZXBpbmcgb2Jq ZWN0cyBpbiB0aGUgcmVzdCBvZiB0aGUgaGVhcCB0aGF0IHlvdXIgJ2lnbm9yZWQnIAo+Pj4+IHNw YWNlIG9iamVjdHMgcG9pbnQgdG8gYWxpdmUuCj4+Pj4KPj4+PiBXaGVuIGFkZGluZyBhIG5ldyBz cGFjZSB0byBhIFBsYW4sIHlvdXIgcHJvYmxlbSBpcyBsZXNzIG9uZSBvZiAKPj4+PiBwcmV2ZW50 aW5nIHRoZSBHQyBmcm9tIHZpc2l0aW5nIHlvdXIgb2JqZWN0cywgdGhhbiBnZXR0aW5nIHRoZW0g dG8gCj4+Pj4gZG8gaXQgYXQgYWxsLsKgIFRoZXJlIGFyZSBzZXZlcmFsIHBsYWNlcyBpbiBhIHBs YW4gd2hlcmUgeW91IG5lZWQgdG8gCj4+Pj4gYWRkIGNhbGxzIHRvIHlvdXIgbmV3IHNwYWNlLsKg IEZvciBleGFtcGxlLCBpZiB5b3UgbG9vayBhdCBtYXJrc3dlZXAgCj4+Pj4gYXMgb25lIG9mIHRo ZSBzaW1wbGVyIGV4YW1wbGVzLCBqdXN0IHNlYXJjaCB0aGUgcGFja2FnZSAKPj4+PiBvcmcubW10 ay5wbGFuLm1hcmtzd2VlcCBmb3LCoCB0aGUgY29uc3RhbnQgTVMuTUFSS19TV0VFUCwgYW5kIGZv ciAKPj4+PiB0aGUgZmllbGQgTVMubXNTcGFjZS7CoCBJbiBwYXJ0aWN1bGFyLCB0aGUgbWV0aG9k IAo+Pj4+IE1TVHJhY2VMb2NhbC50cmFjZU9iamVjdCBhbmQgaXRzIHN1cGVyY2xhc3MgaW5zdGFu Y2VzIGFyZSBob3cgdGhlIAo+Pj4+IEdDIHZpc2l0cyBoZWFwIG9iamVjdHMuwqAgSSBhc3N1bWUg eW91J3ZlIGRvbmUgc29tZSBvZiB0aGlzLCBiZWNhdXNlIAo+Pj4+IGJ5IGRlZmF1bHQgdGhlIHRy YWNlT2JqZWN0IG1ldGhvZCB3aWxsIGNyYXNoIHRoZSBWTSBpZiBpdCB0cmllcyB0byAKPj4+PiB2 aXNpdCBhbiBvYmplY3QgdGhhdCBoYXNuJ3QgZ290IGEgc3BlY2lhbCBjYXNlLgo+Pj4+Cj4+Pj4g U28gaWYgeW91IGNhbiB0ZWxsIHVzIHdoaWNoIHBsYW4geW91J3JlIGJhc2luZyB5b3VyIGNvbGxl Y3RvciBvbiwgCj4+Pj4gYW5kIGhvdyB5b3UgYWRkcmVzcyB0aGUgYWJvdmUgMiBwcm9ibGVtcywg dGhlbiBtYXliZSBJIGNhbiBiZSBvZiAKPj4+PiBtb3JlIHNwZWNpZmljIGhlbHAuCj4+Pj4KPj4+ PiBjaGVlcnMsCj4+Pj4KPj4+PiBSb2Jpbgo+Pj4+Cj4+Pj4gT24gMTAvMS8yMCA5OjAwIHBtLCBK b2hhbm5lcyBTaW5zZWwgd3JvdGU6Cj4+Pj4+IEhleSB0aGVyZSwKPj4+Pj4gaW4gYSBjdXJyZW50 IHByb2plY3Qgb2YgbWluZSwgSSdtIHRyeWluZyB0byBzZXBhcmF0ZSBhIGZldyBvYmplY3RzIAo+ Pj4+PiBpbiB0aGUgaGVhcCwgc28gdGhlIGdhcmJhZ2UgY29sbGVjdGlvbiBkb2Vzbid0IGNoZWNr IHRoZW0uIFRoaXMgaXMgCj4+Pj4+IGRvbmUgYnkgdXNpbmcgdGhlIGltcGxlbWVudGF0aW9uIG9m IGEgSW1tb3J0YWxTcGFjZSBhbmQgZ2l2ZSBpdCBhIAo+Pj4+PiByaW5nIGJ1ZmZlciBmYXNoaW9u ZWQgbWVtb3J5IG1hbmFnZW1lbnQuIEluIHRoaXMgd2F5IG9iamVjdHMgYXJlIAo+Pj4+PiBub3Qg bmVjZXNzYXJpbHkgbGl2ZSAoYWZ0ZXIgYSBuZXcgcmluZyBidWZmZXIgY3ljbGUgaGFzIHN0YXJ0 ZWQpLgo+Pj4+Pgo+Pj4+PiBVbmZvcnR1bmF0ZWx5IGluIHRoZSAiZnVsbCBoZWFwIiBjb2xsZWN0 aW9uIHBoYXNlLCBpdCBzZWVtcyB0byBtZSwgCj4+Pj4+IHRoYXQgdGhlIEdDIGNoZWNrcyBmb3Ig c3RhdGljIHJlZmVyZW5jZXMgaW5kZXBlbmRlbnQgb2YgdGhlIHVzZWQgCj4+Pj4+IGhlYXAgc3Bh Y2UuIFRoaXMgY2F1c2VzIHRoZSBWTSB0byBjcmFzaCwgc2luY2Ugb2JqZWN0cyBjYW4gYmUgCj4+ Pj4+IG92ZXJ3cml0dGVuIGFuZCBhbiBhZGRyZXNzIG9mIGEgcHJldmlvdXMgb2JqZWN0IGNhbid0 IGJlIHJlc29sdmVkIAo+Pj4+PiBhbnltb3JlLgo+Pj4+Pgo+Pj4+PiBJcyB0aGVyZSBhIHdheSB0 byBzZXBhcmF0ZSB0aGUgc3BhY2UgbW9yZSwgc28gdGhlIEdDIGlzIG5vdCBsZWQgCj4+Pj4+IGlu dG8gaXQ/IEkgY291bGRuJ3QgZmluZCBhIHNvbHV0aW9uIHlldC4KPj4+Pj4KPj4+Pj4gVGhhbmtz IGFuZCBraW5kIHJlZ2FyZHMsCj4+Pj4+IEpvaGFubmVzCj4+Pj4+Cj4+Pj4+Cj4+Pj4+Cj4+Pj4+ IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4+Pj4+IEpp a2VzcnZtLXJlc2VhcmNoZXJzIG1haWxpbmcgbGlzdAo+Pj4+PiBKaWtlc3J2bS1yZXNlYXJjaGVy c0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKPj4+Pj4gaHR0cHM6Ly9saXN0cy5zb3VyY2Vmb3JnZS5u ZXQvbGlzdHMvbGlzdGluZm8vamlrZXNydm0tcmVzZWFyY2hlcnMKCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpKaWtlc3J2bS1yZXNlYXJjaGVycyBtYWls aW5nIGxpc3QKSmlrZXNydm0tcmVzZWFyY2hlcnNAbGlzdHMuc291cmNlZm9yZ2UubmV0Cmh0dHBz Oi8vbGlzdHMuc291cmNlZm9yZ2UubmV0L2xpc3RzL2xpc3RpbmZvL2ppa2VzcnZtLXJlc2VhcmNo ZXJzCg==