Cgo+IEkgdGhpbmsgdGhpcyBpcyBhIGZhaXIgcmVjYXAgc28gZmFyOgoKVGhlIHJlY2FwIHNvdW5k cyBncmVhdC4gCgo+IFdoZW4gTWFydGluIGFuZCBJIHN0YXJ0ZWQgdGFsa2luZyBhYm91dCB0aGUK PiBXYXlsYW5kIHByb3RvY29sLCB3ZQo+IHdlcmUga2VlbiB0byBkbyB3b3JrIHRoYXQgd291bGQg cmV1c2FibGUgCj4gZm9yIGVpdGhlciB1c2UgY2FzZS4gVGhpcwoKSSBlc3BlY2lhbGx5IGxpa2Ug dGhpcyBwYXJ0LiBBcyBJIHNhaWQsIG1lcmdpbmcgdGhlIGltcGxlbWVudGF0aW9uIChhdCBsZWFz dCB0byBzb21lIGV4dGVudCkgaXMgYSBncmVhdCBpZGVhLgoKCj4gSSB0aGluayBpdCdzIGEgcmVh bGl0eSB0aGF0IHdlIGhhdmUgdXNlcnMgd2hvCj4gdXNlIGJvdGggdG9nZXRoZXIsIFsuLi5dCgpZ ZXMsIHdlIGhhdmUgdXNlcnMgdGhhdCBkbyB0aGF0LCB3ZSBoYXZlIHVzZXJzIHRoYXQgb25seSB1 c2Ugb25lIG9yIHRoZSBvdGhlciwgYW5kIHdlIGhhdmUgdXNlcnMgdGhhdCBkb24ndCB1c2UgZWl0 aGVyLgoKSXQgaXMgdGhlIHNhbWUgd2l0aCBhbnkgbW9yZSBhZHZhbmNlZCBmZWF0dXJlIHdlIGhh dmUuIFdlIGdpdmUgdXNlcnMgdGhlIGNob2ljZSwgYW5kIHRoZSB1c2VycyBhcmUgc21hcnQgZW5v dWdoIHRvIHBpY2sgd2hhdCB0aGV5IG5lZWQuCgpXZSBoYXZlIHNldmVyYWwgbGF1bmNoZXJzLCBz b21lIHVzZSBtdWx0aXBsZSBvbmVzLCBzb21lIGEgc2luZ2xlIG9uZSwgYW5kIHNvbWUgZG9uJ3Qg dXNlIGEgbGF1bmNoZXIuCgo+IEl0J3MgYWxzbyByZWFsaXR5IHRoYXQgd2UgaGF2ZSBjcml0aWNz IHdobwo+IGNvbXBsYWluIHRoZSB0d28gYXJlCj4gcmVkdW5kYW50IGFuZCBpdCdzIGFsbCBhIGJp ZyBtZXNzLgoKVGhpcyBwYXJ0IEkgZG9uJ3QgY2FyZSBhYm91dC4gSSBjYXJlIGFib3V0IHVzZXJz LCBub3QgY3JpdGljcy4gVHJvbGxzIHdpbGwgYWx3YXlzIGZpbmQgc29tZXRoaW5nIHRvIGNvbXBs YWluIGFib3V0LgoKPiBJdCdzIG5vdCBhIHN1cnByaXNlIHRvIG1lIHRoYXQgdGhlIGlkZWEgb2Yg Cj4gbWVyZ2luZyB0aGVtIGhhcyBjb21lIHVwLAoKSSdtIG5vdCBzdXJwcmlzZWQgZWl0aGVyLCB0 aGUgc2FtZSBpZGVhIGhhcyBiZWVuIHBvcHBpbmcgdXAgZXZlcnkgZmV3IHllYXJzLgoKVGhlIHBy b2JsZW0gd2l0aCBpdCBpcyB0aGF0IHRoZSBwcm9wb3NhbHMgYXJlIHVzdWFsbHkgYWJvdXQgbW9k ZWxsaW5nIGEgcGFydGljdWxhciBwZXJzb24ncyB2aWV3IG9mIGFjdGl2aXRpZXMuIAoKPiBJdCBk b2VzIG1lYW4KPiBiZWluZyB3aWxsaW5nIHRvIHRha2Ugc29tZSBwZW9wbGUncyBleGlzdGluZyAK PiB3b3JrZmxvd3MgYXdheSwgdGhvdWdoLgoKSSdtIG5vdCB3aWxsaW5nLiBJdCBnb2VzIGFnYWlu c3QgUGxhc21hIGRlc2lnbiBwcmluY2lwbGUgb2YgJ3NpbXBsZSBieSBkZWZhdWx0LCBwb3dlcmZ1 bCB3aGVuIG5lZWRlZCcuCgpJJ20gYWxsIGZvciBkZXNpZ25pbmcgYSBuZXcgVUkgZm9yIGFsbCBv ZiB0aGlzICh0aG91Z2ggSSdkIGxpa2UgdG8gc2VlIGl0IGJhc2VkIG9uIHRoZSBjdXJyZW50IG9u ZSB3aGljaCBJIGZpbmQgcXVpdGUgcHJldHR5IDopICkgd2hpY2ggd291bGQgY29tbXVuaWNhdGUg Y2xlYXJseSB3aGF0IGFjdGl2aXRpZXMgYXJlIGZvciBhbmQgd2hhdCBWRHMgYXJlIGZvci4KCj4g SSBhbHNvIHRoaW5rIG1lcmdpbmcgaGFzIHRlY2huaWNhbCByaXNrcywgZS5nLiAKCk5vdCBvbmx5 IHRoZSBzcGVlZC4gSXQgd291bGQgYWxzbyBtYWtlIHByb2JsZW1zIGZvciB0aGUgUGxhc21hIC0g dGhlIGN1cnJlbnQgYWN0aXZpdGllcyBkZXNpZ24gaXMgcXVpdGUgYmFrZWQgaW4gdGhlIHVuZGVy bHlpbmcgb3JnYW5pc2F0aW9uIG9mIHRoZSBzaGVsbC4gV2hhdCB3b3VsZCB0aGlzIGNoYW5nZSBy ZXF1aXJlLCBhbmQgaG93IHdvdWxkIGl0IGhhbmRsZSBkaWZmZXJlbnQgYmVoYXZpb3VycyBvbiBY MTEgYW5kIFdheWxhbmQgd2hpY2ggd2FzIG1lbnRpb25lZCBpbiBQaGFiLgoKPiBlLmcuIHRoZSBW REcncwo+IG11bGxlZCBBY3Rpdml0eSBvdmVydmlldy9kYXNoYm9hcmQgdGhpbmdpZS4KClRoaXMg dGhpbmcgaHR0cHM6Ly9jdWtpYy5jby8yMDE0LzA3LzAxL2p1c3QtYS10ZWFzZXIvID8KCkNoZWVy cywKRWlrZQo=