UGhvdG9ucyBhcmUgbWFzcyBsZXNzIHBvaW50IHBhcnRpY2xlcyBzbyB0aGV5IGRvbid0IGhhdmUg YSB2b2x1bWUgYW5kCmNlcnRhaW5seSBkb24ndCBlbmNsb3NlIGFueSBzcGFjZS4gICAgICBJdCBp cyBzb3J0IG9mIG1lYW5pbmdmdWwgdG8gc3BlYWsKb2YgdGhlIHJhZGl1cyBvZiBhIHBob3RvbiBh cyBpdHMgaW50ZXJhY3Rpb24gcmFuZ2UuICBUaGlzIHNjYWxlcyB3aXRoIGl0cwp3YXZlbGVuZ3Ro LCBzbyAibGlnaHQgIm9mIGxvbmdlciB3YXZlbGVuZ3RoIGlzIG1vcmUgbGlrZWx5IHRvIGludGVy YWN0IHdpdGgKYSBjb25kdWN0aXZlIG1hdGVyaWFsIHRoYW4gImxpZ2h0IiBvZiBhIHNob3J0ZXIg d2F2ZWxlbmd0aC4gSW4gdGhpcyB3YXkgeW91CmNvdWxkIHNheSB0aGUg4oCcc2l6ZeKAnSBvZiBw aG90b24gaXMgYmFzaWNhbGx5IGl0cyB3YXZlbGVuZ3RoCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpEYXZpZCBDIEJyb3duCjQzIEJpbmdzIFJvYWQKV2hhbGV5IEJy aWRnZQpIaWdoIFBlYWsgICAgICAgICAgICAgICAgICAgICAgICAgICBQaG9uZTogMDE2NjMgNzMz MjM2CkRlcmJ5c2hpcmUgICAgICAgICAgICAgICAgZU1haWw6IGRjYi5ob21lQGdtYWlsLmNvbQpT SzIzIDdORCAgICAgICAgICB3ZWI6IHd3dy5iaW5ncy1rbm93bGUuY28udWsvZGNiCjxodHRwOi8v d3d3LmpiLm1hbi5hYy51ay9+ZGNiPgoKCgoqU2VudCBmcm9tIG15IGV0Y2gtYS1za2V0Y2gqCgoK T24gVGh1LCAxIE5vdiAyMDE4IGF0IDE3OjM4LCBEYXZpZCBWYW4gSG9ybiA8CmRhdmlkLnZhbmhv cm5AYmFja2NvdW50cnlhY2Nlc3MuY29tPiB3cm90ZToKCj4gUkYgaXMgYSBmdW5ueSB0aGluZy4K PiA+RnJvbSBLSHogdG8gbGlnaHQgYW5kIGJleW9uZCwgaXQncyBwaG90b25zIG9mIEVNIGVuZXJn eS4gVGhlIHBob3RvbnMgZ2V0Cj4gc21hbGxlciBhcyB0aGUgZW5lcmd5IGdvZXMgdXAuCj4gRG93 biBpbiB0aGUgNjAwIG1ldGVyIGhhbSBiYW5kLCB0aGUgcGhvdG9ucyBhcmUgSFVHRSBhbmQgdGhl IGVuZXJnaWVzIGFyZQo+IFRJTlkuCj4gSW4gdmlzaWJsZSBsaWdodCwgdGhlIHBob3RvbnMgYXJl IHNtYWxsLCBhbmQgdGhlIGVuZXJnaWVzIGFyZSBhcm91bmQgMWVWLgo+IEluIHRoZSBnYW1tYSBy YW5nZSwgdGhlIHBob3RvbnMgYXJlIHRpbnksIGFuZCB0aGUgZW5lcmdpZXMgYXJlIEhVR0UKPiBz dGFydGluZyBhdCBhYm91dCAxMGtlViBhbmQgZ29pbmcgb24gdXAgcGFzdCAxMDAwa2VWCj4gQXMg dGhlIGVuZXJnaWVzIGdldCBoaWdoZXIsIGdhbW1hcyBhcmUgbGVzcyBhbmQgbGVzcyBsaWtlbHkg dG8gaW50ZXJhY3QKPiB3aXRoIGFueXRoaW5nLgo+Cj4gU28gYXMgdGhlIGVuZXJneSBnb2VzIHVw IGFuZCB1cCwgdGhlIHZvbHVtZSBvZiBzcGFjZSBlbmNsb3NlZCBieSBhIHBob3Rvbgo+IHNocmlu a3MgdG93YXJkIGEgcG9pbnQuCj4KPiAtLQo+IGh0dHA6Ly93d3cucGljbGlzdC5jb20vdGVjaHJl Zi9waWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUKPiBWaWV3L2NoYW5nZSB5b3VyIG1l bWJlcnNoaXAgb3B0aW9ucyBhdAo+IGh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1hbi9saXN0 aW5mby9waWNsaXN0Cj4KLS0gCmh0dHA6Ly93d3cucGljbGlzdC5jb20vdGVjaHJlZi9waWNsaXN0 IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUKVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9w dGlvbnMgYXQKaHR0cDovL21haWxtYW4ubWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QK .