ID4gcGVyaGFwcyBmb3JjZWQtYWlyIGNvb2xpbmcgZHVjdHMgYXJvdW5kIHRoZSBwZXJpbWV0ZXIg b2YgdGhlIHZlc3NlbAoKVGhpcyBpcyBhIHJlYWwgcG9zc2liaWxpdHkuIEkgY2FuIGluamVjdCBh bWJpZW50IGFpciBhdCB0aGUgInJpZ2h0IHNwb3RzIiAtCkkgZXhwZWN0IGl0IHdvbid0IGFmZmVj dCBjb29raW5nIG11Y2guIFRoaXMgd291bGQgYWxzbyB3b3JrIGZvciB0aGUKc2xpcC1yaW5nIGFw cHJvYWNoLgoKT24gRnJpLCBNYXIgMzAsIDIwMTggYXQgNDozMSBBTSwgSm9obiBHYXJkbmVyIDxn b2ZsbzNAZ21haWwuY29tPiB3cm90ZToKCj4gLi4uTXkgZmlyc3QgdGhvdWdodCBpcyB0byBoYXZl IGEgYmF0dGVyeSBwb3dlcmVkIHRlbXBlcmF0dXJlCj4gdHJhbnNtaXR0ZXIgYXR0YWNoZWQgdG8g dGhlIHBhZGRsZSAtIHRoaXMgd291bGQgYWxzbyBwcm92aWRlIGEgcmVhZGluZyB0aGF0Cj4gaXMg YXZlcmFnZWQgdGhyb3VnaCB0aGUgZW50aXJlIGJvd2wgYXMgaXQgbW92ZXMgdGhyb3VnaCBwb3Rl bnRpYWwgaG90L2NvbGQKPiBzcG90cyBpbiB0aGUgbGlxdWlkLiBUaGUgc2Vuc29yL3Byb2JlIGl0 c2VsZiBjb3VsZCBiZSBtb3VudGVkIG9uIHRoZSBwYWRkbGUKPiBzdWNoIHRoYXQgaXQgaXMgc3Vi bWVyc2VkIGluIHRoZSBsaXF1aWQgd2hpbGUgdGhlIGVsZWN0cm9uaWNzIGNvdWxkIGJlCj4gc3Ry YXBwZWQgdG8gdGhlIHBhZGRsZSBzaGFmdCB0aGF0IHJlbWFpbnMgYWJvdmUgdGhlIGZpbGwgbGlu ZSwgd2l0aCBhIHNob3J0Cj4gaGVhdC1wcm9vZiBjYWJsZSBpbiBiZXR3ZWVuLi4uCj4KPiBUaGlz IHNlZW1zIGxpa2UgaXQgd291bGQgd29yayAtIFRoZXJlJ3MgYSBnb3RjaGE/ICBJZiB0aGUgZWxl Y3Ryb25pY3MKPgo+IGNhbiBiZSBtb3VudGVkIGFib3ZlIHRoZSBsaXF1aWQgbGV2ZWwsICBwZXJo YXBzIGZvcmNlZC1haXIgY29vbGluZwo+Cj4gZHVjdHMgYXJvdW5kIHRoZSBwZXJpbWV0ZXIgb2Yg dGhlIHZlc3NlbD8KPgo+ICAuLi4KPgo+Cj4gT24gMy8yOS8xOCwgVmFuIEhvcm4sIERhdmlkIDxk YXZpZC52YW5ob3JuQGJhY2tjb3VudHJ5YWNjZXNzLmNvbT4gd3JvdGU6Cj4gPgo+ID4KPiA+IElm IHlvdXIgY29va2luZyBsYXN0cyBsb25nZXIgdGhhbiB0aGUgcGhhc2UgY2hhbmdlIGVuZXJneSBj YXBhY2l0eSB0aGVuCj4geW91cgo+ID4gZWxlY3Ryb25pY3MgYWxzbyBtYXkgYmUgY29va2VkIDot KS4KPiA+Cj4gPgo+ID4KPiA+IFdlbGwgZG9uZSEgIPCfmIoKPiA+Cj4gPiAtLQo+ID4gaHR0cDov L3d3dy5waWNsaXN0LmNvbS90ZWNocmVmL3BpY2xpc3QgUElDL1NYIEZBUSAmIGxpc3QgYXJjaGl2 ZQo+ID4gVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQKPiA+IGh0dHA6Ly9t YWlsbWFuLm1pdC5lZHUvbWFpbG1hbi9saXN0aW5mby9waWNsaXN0Cj4gPgo+Cj4gLS0KPiBodHRw Oi8vd3d3LnBpY2xpc3QuY29tL3RlY2hyZWYvcGljbGlzdCBQSUMvU1ggRkFRICYgbGlzdCBhcmNo aXZlCj4gVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQKPiBodHRwOi8vbWFp bG1hbi5taXQuZWR1L21haWxtYW4vbGlzdGluZm8vcGljbGlzdAo+Ci0tIApodHRwOi8vd3d3LnBp Y2xpc3QuY29tL3RlY2hyZWYvcGljbGlzdCBQSUMvU1ggRkFRICYgbGlzdCBhcmNoaXZlClZpZXcv Y2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBvcHRpb25zIGF0Cmh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUv bWFpbG1hbi9saXN0aW5mby9waWNsaXN0Cg== .