VGhlIG9pbCBwYXNzYWdlIGxlYWRzIHRvIGEgY2xvc2VkIGNhdml0eSAtIHRoZSBzcGluZGxlIGJl YXJpbmcuIEl0IGlzCnJlbGF0aXZlbHkgd2VsbCBzZWFsZWQgZXZlbiB3aXRob3V0IHRoZSBibG9j a2FnZS4gSSB0aGluayBwdW1waW5nIGluIHRoZQpvdGhlciBkaXJlY3Rpb24gY291bGQgZnJlZSBp dCwgYnV0IEkgbGFjayBhIHN1aXRhYmxlIHZhY3V1bSBwdW1wLgoKT24gU2F0LCBKdWwgMTQsIDIw MTggYXQgNjoyMCBQTSwgSXNhYWMgTS4gQmF2YXJlc2NvIDwKaXNhYWNiYXZhcmVzY29AZ21haWwu Y29tPiB3cm90ZToKCj4gSXMgaXQgbm90IHBvc3NpYmxlIHRvIHB1bXAgb2lsIGluIHRoZSByZXZl cnNlIGRpcmVjdGlvbj8KPgo+IEVtIHPDoWIsIDE0IGRlIGp1bCBkZSAyMDE4IDE4OjU4LCBKYXNv biBXaGl0ZSA8Cj4gd2hpdGV3YXRlcnNzb2Z0d2FyZWluZm9AZ21haWwuY29tPiBlc2NyZXZldToK Pgo+ID4gSSB0cmllZCB1c2luZyBhIHNob3AgdmFjIHdpdGggYSBzaG9ydCBsZW5ndGggb2Ygc2ls aWNvbmUgdHViaW5nIGFuZCBkdWN0Cj4gPiB0YXBlLiBVbmZvcnR1bmF0ZWx5IGl0IHRyaWdnZXJl ZCB0aGUgYnlwYXNzIGV2ZW4gYmVmb3JlIHB1dHRpbmcgaXQgaW50bwo+IHRoZQo+ID4gaG9sZS4K PiA+Cj4gPiBPbiBTYXQsIEp1bCAxNCwgMjAxOCBhdCA1OjQwIFBNLCBEYXZpZCBWYW5Ib3JuIDxt aWNyb2JyaXhAZ21haWwuY29tPgo+ID4gd3JvdGU6Cj4gPgo+ID4gPiBQcm9iYWJseSBkaWZmaWN1 bHQgc2luY2UgdGhlIGNhc3RpbmcgaXMgbWFnbmV0aWMgYW5kIHRoZSBiZWFyaW5nIG1heSBiZQo+ ID4gPiBzdGFpbmxlc3Mgc3RlZWwgd2hpY2ggaXMgbW9zdGx5IG5vbiBtYWduZXRpYy4gICBDYW4g eW91IGdldCBhIHR1YmUgaW4KPiA+ID4gdGhlcmU/IFlvdSBtaWdodCBiZSBhYmxlIHRvIHN1Y2sg dGhlIGJlYXJpbmcgb250byB0aGUgZW5kIGFuZCBnZXQgaXQKPiBvdXQKPiA+ID4gdGhhdCB3YXku Cj4gPiA+Cj4gPiA+IE9uIFNhdCwgSnVsIDE0LCAyMDE4LCAzOjMzIFBNIEphc29uIFdoaXRlIDx3 aGl0ZXdhdGVyc3NvZnR3YXJlaW5mb0AKPiA+ID4gZ21haWwuY29tPgo+ID4gPiB3cm90ZToKPiA+ ID4KPiA+ID4gPiBIZWxsbyBBbGwsCj4gPiA+ID4KPiA+ID4gPiBBIDEvOCIgc3RlZWwgYmFsbCBi ZWFyaW5nIGhhcyBmYWxsZW4gdG8gdGhlIGJvdHRvbSBvZiBhIDIuNSIgZGVlcAo+IDUvNjQiCj4g PiA+ID4gaG9sZSBpbiBhIGxhcmdlIGlyb24gY2FzdGluZy4KPiA+ID4gPgo+ID4gPiA+IEl0IGlz IGZlYXNpYmxlIHRvIHVzZSBtYWduZXRpY3MgdG8gcmVtb3ZlIHRoZSBiZWFyaW5nPwo+ID4gPiA+ Cj4gPiA+ID4gSSBzdXNwZWN0IG5vdCBidXQgcGVyaGFwcyBpdCBpcyBhIGZhaWx1cmUgb2YgbXkg aW1hZ2luYXRpb24uCj4gPiA+ID4KPiA+ID4gPgo+ID4gPiA+IFRoZSBob2xlIGlzIHRoZSBvaWwg cGFzc2FnZSB0byB0aGUgc3BpbmRsZSBiZWFyaW5nIG9mIGEgc21hbGwgbGF0aGUuCj4gPiBUaGUK PiA+ID4gPiBiYWxsIGlzIGJsb2NraW5nIG9pbCBmcm9tIGVudGVyaW5nIHRoZSBzcGluZGxlIGJl YXJpbmcgYW5kIG11c3QgYmUKPiA+ID4gcmVtb3ZlZC4KPiA+ID4gPgo+ID4gPiA+IFRoZSBiYWxs IGJlYXJpbmcgaXMgbG9vc2UgaW4gdGhlIHBhc3NhZ2UuIElmIEkgY291bGQgZmxpcCB0aGUgbGF0 aGUKPiA+ID4gdXBzaWRlCj4gPiA+ID4gZG93biBpdCB3b3VsZCBwcm9iYWJseSBmYWxsIG91dCBv ZiB0aGUgaG9sZS4KPiA+ID4gPgo+ID4gPiA+IEN1cnJlbnRseSBpdCBzZWVtcyBJIHdpbGwgaGF2 ZSB0byB0ZWFyIHRoZSBsYXRoZSBhcGFydCB0byBnZXQgdGhlCj4gYmFsbAo+ID4gPiBvdXQuCj4g PiA+ID4KPiA+ID4gPiBUaGFua3MsCj4gPiA+ID4gSmFzb24gV2hpdGUKPiA+ID4gPiAtLQo+ID4g PiA+IGh0dHA6Ly93d3cucGljbGlzdC5jb20vdGVjaHJlZi9waWNsaXN0IFBJQy9TWCBGQVEgJiBs aXN0IGFyY2hpdmUKPiA+ID4gPiBWaWV3L2NoYW5nZSB5b3VyIG1lbWJlcnNoaXAgb3B0aW9ucyBh dAo+ID4gPiA+IGh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1hbi9saXN0aW5mby9waWNsaXN0 Cj4gPiA+ID4KPiA+ID4gLS0KPiA+ID4gaHR0cDovL3d3dy5waWNsaXN0LmNvbS90ZWNocmVmL3Bp Y2xpc3QgUElDL1NYIEZBUSAmIGxpc3QgYXJjaGl2ZQo+ID4gPiBWaWV3L2NoYW5nZSB5b3VyIG1l bWJlcnNoaXAgb3B0aW9ucyBhdAo+ID4gPiBodHRwOi8vbWFpbG1hbi5taXQuZWR1L21haWxtYW4v bGlzdGluZm8vcGljbGlzdAo+ID4gPgo+ID4KPiA+Cj4gPgo+ID4gLS0KPiA+IEphc29uIFdoaXRl Cj4gPiAtLQo+ID4gaHR0cDovL3d3dy5waWNsaXN0LmNvbS90ZWNocmVmL3BpY2xpc3QgUElDL1NY IEZBUSAmIGxpc3QgYXJjaGl2ZQo+ID4gVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9wdGlv bnMgYXQKPiA+IGh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1hbi9saXN0aW5mby9waWNsaXN0 Cj4gPgo+IC0tCj4gaHR0cDovL3d3dy5waWNsaXN0LmNvbS90ZWNocmVmL3BpY2xpc3QgUElDL1NY IEZBUSAmIGxpc3QgYXJjaGl2ZQo+IFZpZXcvY2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBvcHRpb25z IGF0Cj4gaHR0cDovL21haWxtYW4ubWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QKPgoK CgotLSAKSmFzb24gV2hpdGUKLS0gCmh0dHA6Ly93d3cucGljbGlzdC5jb20vdGVjaHJlZi9waWNs aXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUKVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJzaGlw IG9wdGlvbnMgYXQKaHR0cDovL21haWxtYW4ubWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZvL3BpY2xp c3QK .