PiBJcyB5b3VyIG1peGluZyBwYWRkbGUncyBzaGFmdCBob2xsb3c/IE9yIGNhbiB5b3UgbWFrZSBp dCBob2xsb3c/IElmIHllcywKeW91IGNvdWxkIGluc2VydCBhIHRlbXBlcmF0dXJlIHByb2JlIGlu c2lkZSB0aGUgc2hhZnQuCgpObyB0aGUgcGFkZGxlIHNoYWZ0IGlzIG5vdCBob2xsb3cgdGhvdWdo IEkndmUgY29uc2lkZXJlZCBnZXR0aW5nIHRoZSBjZW50cmUKZHJpbGxlZC9tYWNoaW5lZCBhbmQg Z29pbmcgaW5zaWRlIGl0LCBidXQgdGhlIHRvcCBlbmQgaXMgY291cGxlZCB0byB0aGUKbW90b3Ig c2hhZnQgYW5kIEkgY2FuJ3Qgc2VlIGEgd2F5IHRvIGdldCBhbnkgZml4ZWQgd2lyZXMgaW4gdGhl cmUuCgpJJ3ZlIGFsc28gY29uc2lkZXJlZCBzbGlwIHJpbmdzIGJ1dCB3b3VsZCBuZWVkIHNvbWV0 aGluZyB0aGF0IGNhbiBzbGlwIG92ZXIKYW5kIGdyaXAgb250byB0aGUgcGFkZGxlIHNoYWZ0ICAo ZGlhIH4yNW1tKS4gQW4gb3B0aW9uIGlzIGhlcmU6CgpodHRwczovL3d3dy5lY3Z2LmNvbS9wcm9k dWN0LzQxMjkwOTguaHRtbApodHRwczovL3d3dy5kaGdhdGUuY29tL3Byb2R1Y3QvMjUtNC1pbm5l ci1ob2xlLXRocm91Z2gtYm9yZS1zbGlwLXJpbmctcm90YXJ5LzE2MTcyNjM0NS5odG1sCgp0aG91 Z2ggdGhlc2Ugc2VlbSB0byBiZSBkaWZmaWN1bHQgdG8gb2J0YWluIGFuZCBJJ20gdW5lYXN5IGFi b3V0IHRoZWlyCmxvbmdldml0eSBpbiBzdWNoIGhhcnNoIGNvbmRpdGlvbnMuCgoKT24gRnJpLCBN YXIgMjMsIDIwMTggYXQgMTE6MTMgUE0sIElzYWFjIE0uIEJhdmFyZXNjbyA8CmlzYWFjYmF2YXJl c2NvQGdtYWlsLmNvbT4gd3JvdGU6Cgo+IElzIHlvdXIgbWl4aW5nIHBhZGRsZSdzIHNoYWZ0IGhv bGxvdz8gT3IgY2FuIHlvdSBtYWtlIGl0IGhvbGxvdz8gSWYgeWVzLAo+IHlvdSBjb3VsZCBpbnNl cnQgYSB0ZW1wZXJhdHVyZSBwcm9iZSBpbnNpZGUgdGhlIHNoYWZ0Lgo+Cj4gVGhlIHByb2JlIGNh biBiZSBtYWRlIHN0YXRpYywgaW5zZXJ0ZWQgZnJvbSB0aGUgdG9wIG9mIHRoZSBzaGFmdCBhbmQK PiBoZWxkIHdpdGhvdXQgdG91Y2hpbmcgdGhlIHNoYWZ0J3MgaW5uZXIgd2FsbC4gRnJvbSB5b3Vy IGRlc2NyaXB0aW9uIGl0Cj4gc2VlbXMgdGhhdCB5b3VyIHNoYWZ0IGlzIHZlcnRpY2FsIGFuZCBl bnRlcnMgZnJvbSB0aGUgdG9wLCBzbyB5b3UgY291bGQKPiB1c2Ugc29tZSBsaXF1aWQgb3IgdGhl cm1hbCBncmVhc2UgdG8gZmlsbCB0aGUgZ2FwIGJldHdlZW4gdGhlCj4gdGVtcGVyYXR1cmUgcHJv YmUgYW5kIHRoZSBpbm5lciB3YWxsIG9mIHRoZSBzaGFmdC4KPgo+IENoZWVycywKPgo+IElzYWFj Cj4KPgo+Cj4gRW0gMjIvMDMvMjAxOCAyMDowOSwgSyBTIGVzY3JldmV1Ogo+ID4gSGVsbG8gbGlz dC4KPiA+Cj4gPiBJJ20gYSBsb25nIHRpbWUgbHVya2VyICh+MTggeWVhcnM/KSwgdXN1YWxseSBo YXZlIG5vdGhpbmcgdG8gYWRkIGFib3ZlCj4gdGhlCj4gPiBleGNlbGxlbnQgY29udGVudCBoZXJl Lgo+ID4KPiA+IEkgbmVlZCB0byBtb25pdG9yIHRoZSB0ZW1wZXJhdHVyZSBvZiB0aGUgbGlxdWlk IGluIGEgY29va2luZyB2ZXNzZWwgd2hpY2gKPiA+IGNvbnRhaW5zIGEgcm90YXRpbmcgcGFkZGxl L3NjcmFwZXIgdGhhdCBwcmVjbHVkZXMgbWUgZnJvbSBzaW1wbHkKPiBpbnNlcnRpbmcKPiA+IGEg Zml4ZWQgcHJvYmUuIE15IGZpcnN0IHRob3VnaHQgaXMgdG8gaGF2ZSBhIGJhdHRlcnkgcG93ZXJl ZCB0ZW1wZXJhdHVyZQo+ID4gdHJhbnNtaXR0ZXIgYXR0YWNoZWQgdG8gdGhlIHBhZGRsZSAtIHRo aXMgd291bGQgYWxzbyBwcm92aWRlIGEgcmVhZGluZwo+IHRoYXQKPiA+IGlzIGF2ZXJhZ2VkIHRo cm91Z2ggdGhlIGVudGlyZSBib3dsIGFzIGl0IG1vdmVzIHRocm91Z2ggcG90ZW50aWFsCj4gaG90 L2NvbGQKPiA+IHNwb3RzIGluIHRoZSBsaXF1aWQuIFRoZSBzZW5zb3IvcHJvYmUgaXRzZWxmIGNv dWxkIGJlIG1vdW50ZWQgb24gdGhlCj4gcGFkZGxlCj4gPiBzdWNoIHRoYXQgaXQgaXMgc3VibWVy c2VkIGluIHRoZSBsaXF1aWQgd2hpbGUgdGhlIGVsZWN0cm9uaWNzIGNvdWxkIGJlCj4gPiBzdHJh cHBlZCB0byB0aGUgcGFkZGxlIHNoYWZ0IHRoYXQgcmVtYWlucyBhYm92ZSB0aGUgZmlsbCBsaW5l LCB3aXRoIGEKPiBzaG9ydAo+ID4gaGVhdC1wcm9vZiBjYWJsZSBpbiBiZXR3ZWVuLiBUaGVyZSB3 aWxsIGJlIHN0ZWFtIGFuZCBoZWF0IGFuZCBvaWwKPiBzcGx1dHRlcgo+ID4gdGhlcmUgYnV0IEkn bSBzdXJlIHNvbWUgcHJvdGVjdGl2ZSBtZWFzdXJlIGNvdWxkIGJlIGVtcGxveWVkIHRvIGhvdXNl IHRoZQo+ID4gZWxlY3Ryb25pY3MuIFRoZSBoZWlnaHQgb2YgdGhlIGxpcXVpZCBtYXkgYmUgdXAg dG8gYXJvdW5kIDQwY20sIGFuZCBnZXQKPiB1cAo+ID4gdG8gMjAwZGVnQy4KPiA+Cj4gPiBBIHJl Y2VpdmVyIGNvdWxkIHRoZW4gZGlzcGxheSB0aGlzIHRlbXBlcmF0dXJlIGFuZCBldmVudHVhbGx5 IHVzZSBpdCBhcwo+ID4gcGFydCBvZiBhIGNvbnRyb2wgcHJvY2Vzcy4KPiA+Cj4gPiBIYXMgYW55 b25lIGRvbmUgc29tZXRoaW5nIGxpa2UgdGhpcz8gT3IgYW55IGFkdmljZSB0byBvZmZlcj8gQW4g b2ZmLXNoZWxmCj4gPiBzb2x1dGlvbiB3b3VsZCBiZSBwcmVmZXJyZWQgYnV0IEknbSBub3QgZmlu ZGluZyBtdWNoLiAoTG90cyBvZiB3aXJlbGVzcwo+ID4gc2Vuc29ycyBidXQgZWl0aGVyIGZvciBh bWJpZW50IHRlbXBzLCBvciB3aXRob3V0IHJ1Z2dlZCB0cmFuc21pdHRlcnMpLgo+IEknbQo+ID4g dGhpbmtpbmcgbWF5YmUgYnVpbGQgYSBzbWFsbCBiYXR0ZXJ5IHBvd2VyZWQgYm9hcmQgd2l0aCBh IDQzM01IeiB0eAo+IG1vZHVsZQo+ID4gYW5kIGEgc3VpdGFibGUgcmVjZWl2ZXIgYnV0IGFtIGhv cGluZyBmb3Igc29tZXRoaW5nIHBlcmhhcHMgcXVpY2tlciB0bwo+IGdldAo+ID4gdXAgYW5kIHJ1 bm5pbmcuCj4gPgo+ID4gVElBLgo+ID4KPiA+IEtyaXMuCj4KPgo+IC0tLQo+IEVzdGUgZW1haWwg Zm9pIGVzY2FuZWFkbyBwZWxvIEF2YXN0IGFudGl2w61ydXMuCj4gaHR0cHM6Ly93d3cuYXZhc3Qu Y29tL2FudGl2aXJ1cwo+Cj4KPiAtLQo+IGh0dHA6Ly93d3cucGljbGlzdC5jb20vdGVjaHJlZi9w aWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUKPiBWaWV3L2NoYW5nZSB5b3VyIG1lbWJl cnNoaXAgb3B0aW9ucyBhdAo+IGh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1hbi9saXN0aW5m by9waWNsaXN0Cj4KLS0gCmh0dHA6Ly93d3cucGljbGlzdC5jb20vdGVjaHJlZi9waWNsaXN0IFBJ Qy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUKVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9wdGlv bnMgYXQKaHR0cDovL21haWxtYW4ubWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QK .