QXdlc29tZSwgeW91IGd1eXMgbmFpbGVkIGl0LgoKKCgodWludDMyX3Qp4oCZROKAmSkgPDwgMjQp ICBkb2VzIHRoZSB0cmljay4KClRoYW5rcwoKanVzdGluCgpPbiAxMSBBdWd1c3QgMjAxOCBhdCAy MDozNywgTWljaGFlbCBHcmFmZiA8ZXhwbG9yZXJAZmxhbWUub3JnPiB3cm90ZToKCj4gSSBiZWxp ZXZlIHlvdSB3YW50IHRvIGNhc3QgdGhlIGNoYXJhY3RlcnMuIEV4YW1wbGUsIGZyb20gbWVtb3J5 IHZzIHRyaWFsOgo+Cj4gKCgodWludDMyX3Qp4oCZROKAmSkgPDwgMjQpCj4KPiBUaGUgcHJvYmxl bSBzZWVtcyB0byBiZSB3aGVuIHRoZSBhcmR1aW5vIDE2LWJpdCBjb21waWxlciBwcm9tb3RlcyB0 aGUgY2hhcgo+IHRvIGl0cyBsb25nZXN0IG5hdHVyYWwgaW50ZWdlciBzaXplLCB3aGljaCBpcyAx NiBiaXRzLiBUaGUgRVNQIGhhbmRsZXMgMzIKPiBiaXQgaW50byBuYXRpdmVseSBzbyBjaGFycyBi ZWNvbWUgdGhlIGRlc2lyZWQgbGVuZ3RoIGF1dG9tYXRpY2FsbHkuCj4KPiBPbiB0aGUgYXJkdWlu bywgd2l0aG91dCBjYXN0aW5nIHRoZSB0YXJnZXQgb2YgdGhlIHNoaWZ0IHRvIGEgbG9uZyBlbm91 Z2gKPiBzaXplIG1hbnVhbGx5LCBpdCBiYXNpY2FsbHkgc2hpZnRzIGFsbCB0aGUgYml0cyBvZmYg dGhlIGVuZCBhbmQgYmVjb21lcwo+IHplcm8uIFRoZXJl4oCZcyBwcm9iYWJseSBhIHdhcm5pbmcg YWJvdXQgdGhpcyBpbiB5b3VyIGNvbXBpbGUgbG9ncy4KPgo+IC0tTWljaGFlbCAoZnJvbSBhbiBp UGhvbmUpCj4KPgo+ID4gT24gQXVnIDExLCAyMDE4LCBhdCA3OjA5IEFNLCBKYXNvbiBXaGl0ZSA8 d2hpdGV3YXRlcnNzb2Z0d2FyZWluZm9ACj4gZ21haWwuY29tPiB3cm90ZToKPiA+Cj4gPiBNZXRo b2QgQTogQ2FzdCBlYWNoIG9mIHRoZSBjaGFyYWN0ZXJzIHRvIHVpbnQzMl90IGFuZCBiZSBzdXJl IHRvCj4gY29tcGxldGVseQo+ID4gc3Vycm91bmQgdGhlIGNhc3RlZCB2YWx1ZSBpbiBwYXJlbnRo ZXNlcy4KPiA+Cj4gPiBNZXRob2QgQiAocHJvYmFibHkgYmV0dGVyIGluIG15IG9waW5pb24pOiBz dHJ1Y3R1cmUgLCB1bmlvbiwgb3IgZXZlbiBqdXN0Cj4gPiBhbiBhcnJheSBvZiB1aW50OF90Lgo+ ID4KPiA+IE9uIFNhdHVyZGF5LCBBdWd1c3QgMTEsIDIwMTgsIEp1c3RpbiBSaWNoYXJkcyA8anVz dGluLnJpY2hhcmRzQGdtYWlsLmNvbQo+ID4KPiA+IHdyb3RlOgo+ID4KPiA+PiBQcm9iYWJseSBi ZXN0IHBvc2VkIGluIGFuIGFyZHVpbm8gZm9ydW0gYnV0IGhvcGluZyBzb21lb25lIGNvdWxkIHBp Y2sgYW4KPiA+PiBvYnZpb3VzIG1pc3Rha2UsIHN0ZWVyIG1lIGluIHRoZSByaWdodCBkaXJlY3Rp b24gb3Igc3VnZ2VzdCBhIGJldHRlcgo+IHdheS4KPiA+Pgo+ID4+IEkgaGF2ZSBnZW5lcmFsbHkg YXZvaWRlZCB0aGUgPDwgYW5kID4+IG9wZXJhdG9ycyBidXQgSSB0aG91Z2h0IHRoZXkKPiB3b3Vs ZAo+ID4+IGJlIGlkZWFsIHRvIHBhY2sgYSAzMmJpdCB2YXJpYWJsZSB3aXRoIGNvbW1hbmRzLgo+ ID4+Cj4gPj4gU28gdHJ5aW5nIHRoaXMKPiA+Pgo+ID4+IHVpbnQzMl90IGRzID0gKCdEJzw8MjQp fCgnQyc8PDE2KSB8KCdCJzw8OCl8KCdBJyk7Cj4gPj4KPiA+PiB3aGVuIGNvbXBpbGVkIGZvciBh biBFU1A4MjY2IHRhcmdldCBpbiBhcmR1aW5vIElERSBhbmQgcHJpbnRlZCBnaXZlcwo+ID4+Cj4g Pj4gMHg0NDQzNDI0MSBhcyBleHBlY3RlZC4KPiA+Pgo+ID4+IHdoZW4gdGhlIHRhcmdldCBpcyBV Tk8gaXQgcHJvZHVjZXMKPiA+Pgo+ID4+IDB4NDI0MQo+ID4+Cj4gPj4gRG9pbmcgdGhpcwo+ID4+ Cj4gPj4gdWludDMyX3QgZHMgPSAnRCc7Cj4gPj4gIGRzID0gKGRzIDw8IDgpfCAnQyc7Cj4gPj4g IGRzID0gKGRzIDw8IDgpfCAnQic7Cj4gPj4gIGRzID0gKGRzIDw8IDgpfCAnQSc7Cj4gPj4KPiA+ PiBmb3IgZWl0aGVyIHRhcmdldCB3b3JrcyBvay4KPiA+Pgo+ID4+IEkgaGF2ZSB0cmllZCB0eXBl IGNhc3RpbmcgKG5vdCBzdXJlIHRoYXQgaXMgdGhlIHJpZ2h0IHBocmFzZSkgbGlrZQo+ID4+Cj4g Pj4gdWludDMyX3QgZHMgPSB1aW50MzJfdCgnRCc8PDI0KXx1aW50MzJfdCgnQyc8PDE2KQo+ID4+ IHx1aW50MzJfdCgnQic8PDgpfHVpbnQzMl90KCdBJyk7Cj4gPj4KPiA+PiBCdXQgbm8gam95IGZv ciB0aGUgdW5vIHRhcmdldC4KPiA+Pgo+ID4+IFRoZSBmaW5hbCBnb2FsIGlzIHRvIGNvbnN0cnVj dCBTUEkgY29tbWFuZHMgd2l0aCBhIGVzcDgyNjYgbWFzdGVyIHdpdGggYQo+ID4+IFVOTyBzbGF2 ZS4KPiA+Pgo+ID4+IFRoZSBmb2xsb3dpbmcgY29tcGlsZXMgYW5kIHdvcmtzIGZpbmUgZm9yIHRo ZSBlc3A4MjY2IHRhcmdldCBidXQgaGFzIHRoZQo+ID4+IGlzc3VlcyBtZW50aW9uZWQgYWJvdmUg Zm9yIHRoZSBVTk8gdGFyZ2V0Lgo+ID4+Cj4gPj4gI2RlZmluZSBVTk8xX0FERFIgdWludDMyX3Qo dWludDMyX3QoJ1UnKXx1aW50MzJfdCgnMSc8PDgpKSAvL0FkZHJlc3MKPiBVTk8xCj4gPj4gI2Rl ZmluZSBjbWRSRUFEUElOIHVpbnQzMl90KFVOTzFfQUREUiB8IHVpbnQzMl90KCdSJzw8MTYpKQo+ ID4+ICNkZWZpbmUgY21kV1JJVEVQSU4gdWludDMyX3QoKFVOTzFfQUREUiB8IHVpbnQzMl90KCdX Jzw8MTYpKQo+ID4+ICNkZWZpbmUgY21kUkVBRFBJTjEgdWludDMyX3QoY21kUkVBRFBJTiB8IHVp bnQzMl90KCcxJzw8MjQpKQo+ID4+ICNkZWZpbmUgY21kUkVBRFBJTjIgdWludDMyX3QoY21kUkVB RFBJTiB8IHVpbnQzMl90KCcyJzw8MjQpKQo+ID4+ICNkZWZpbmUgY21kUkVBRFBJTjMgdWludDMy X3QoY21kUkVBRFBJTiB8IHVpbnQzMl90KCczJzw8MjQpKQo+ID4+Cj4gPj4gQW55IHRpcHM/Cj4g Pj4KPiA+PiBKdXN0aW4KPiA+PiAtLQo+ID4+IGh0dHA6Ly93d3cucGljbGlzdC5jb20vdGVjaHJl Zi9waWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUKPiA+PiBWaWV3L2NoYW5nZSB5b3Vy IG1lbWJlcnNoaXAgb3B0aW9ucyBhdAo+ID4+IGh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1h bi9saXN0aW5mby9waWNsaXN0Cj4gPj4KPiA+Cj4gPgo+ID4gLS0KPiA+IEphc29uIFdoaXRlCj4g PiAtLQo+ID4gaHR0cDovL3d3dy5waWNsaXN0LmNvbS90ZWNocmVmL3BpY2xpc3QgUElDL1NYIEZB USAmIGxpc3QgYXJjaGl2ZQo+ID4gVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMg YXQKPiA+IGh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1hbi9saXN0aW5mby9waWNsaXN0Cj4K Pgo+IC0tCj4gaHR0cDovL3d3dy5waWNsaXN0LmNvbS90ZWNocmVmL3BpY2xpc3QgUElDL1NYIEZB USAmIGxpc3QgYXJjaGl2ZQo+IFZpZXcvY2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBvcHRpb25zIGF0 Cj4gaHR0cDovL21haWxtYW4ubWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QKPgotLSAK aHR0cDovL3d3dy5waWNsaXN0LmNvbS90ZWNocmVmL3BpY2xpc3QgUElDL1NYIEZBUSAmIGxpc3Qg YXJjaGl2ZQpWaWV3L2NoYW5nZSB5b3VyIG1lbWJlcnNoaXAgb3B0aW9ucyBhdApodHRwOi8vbWFp bG1hbi5taXQuZWR1L21haWxtYW4vbGlzdGluZm8vcGljbGlzdAo= .