SGkgTWFudWVsLAoKX0V4Y2VwdF8gZm9yIHRoZSBpbnRlcnZpZXdzLCBhbGwgaW1hZ2VzIChhbmQg dGhlIHJlc3Qgb2YgdGhlIGNvbnRlbnQpIG9uIEtyaXRhLm9yZyBpcyBjcmVhdGl2ZSBjb21tb25z LiBBdHRyaWJ1dGlvbiBpcyBuZWVkZWQsIGRlcml2ZWQgd29ya3MgYXJlIGZpbmUuIE1hbnkgaW1h Z2VzIGluIGludGVydmlldyBhcnRpY2xlcyBhcmUgdGhlIHByb3BlcnR5IG9mIHRoZSBhcnRpc3Rz IGFuZCBjYW5ub3QgYmUgcmUtdXNlZCBpbiBkZXJpdmVkIHdvcmtzLiBUdXRvcmlhbHMgd2UgbGlu ayB0byBjYW4gaGF2ZSB0aGVpciBvd24gbGljZW5zZXMuCgotLSAKQm91ZGV3aWpuIFJlbXB0IHwg aHR0cDovL3d3dy5rcml0YS5vcmcsIGh0dHA6Ly93d3cudmFsZHlhcy5vcmcKCk9uIFNhdCwgMjQg T2N0IDIwMTUsIE1hbnVlbCBDZXJpbGxlcyB3cm90ZToKCj4gSGksCj4gCj4gSSBhbSBiYXNlZCBp biBTeWRuZXkgQXVzdHJhbGlhLiBJIGRvIG9pbCBwYWludGluZy4gSSBoYXZlIGJlZW4gc3R1ZHlp bmcgS3JpdGEgZm9yIHNldmVyYWwgbW9udGhzIG5vdywgYW5kIGhhdmUgdXNlZCBpdCBmb3IgcGFp bnRpbmcuIEkgbGlrZSBpdCB2ZXJ5IG11Y2guCj4gCj4gTXkgcXVlc3Rpb24gcmVsYXRlcyB0byBj cmVhdGlvbiBvZiBhIEtyaXRhIGNvdXJzZS4KPiBJIGFtIGNyZWF0aW5nIGEgImJhc2ljcyAtYmVn aW5uZXJzIiBjb3Vyc2UgKGFib3V0IHR3byBkYXlzIHdvcnRoKSBvbiBLcml0YSB0aGF0IEkgd291 bGQgbGlrZSB0byBob2xkIGhlcmUuLi4uLiBOb3Qgc3VyZSB5ZXQsIGJ1dCBwcm9iYWJseSBpbiBj b21tdW5pdHkKPiBjb2xsYWdlcywgZXRjLgo+IAo+IEkgYW0gY3VycmVudGx5IGNyZWF0aW5nIHRo ZSBjb3Vyc2UgbWF0ZXJpYWxzIGJ5IHRha2luZyBzbmFwc2hvdCAocGFydHMgb2YpIG9mIG15IEty aXRhIHdvcmtzcGFjZSAoaW5jbHVkaW5nIG15IHBhaW50aW5nKSBhbmQgcGFzdGluZyB0aGVtIG9u IFBQVC4gSSBhbQo+IGFsc28gd3JpdGluZyBteSBvd24gdGV4dCBkZXNjcmlwdGlvbnMgdXNpbmcg V29yZC4KPiAKPiBNeSBxdWVzdGlvbiBpcyB3aGF0IGNhbiBJIHVzZSBmcm9tIHRoZSBwYWdlcyBv ZiB0aGUgdGhlIEtERS5PUkcgd2Vic2l0ZSBpbiBteSBjb3Vyc2UuCj4gIDEuIElzIHRoZXJlIGFu eSBndWlkZWxpbmUsIGxpbWl0YXRpb25zLCBldGMuLi4uID8KPiAgMi4gT3IsIGNhbiBJIHRha2Ug c25hcHNob3RzICh1c2luZyB3aW5kb3dzIFNuaXBwaW5nIFRvb2wpIG9mIGFueSBwYWdlLCBhbmQg aW5jb3Jwb3JhdGUgdGhlbSBpbnRvIG15IGNvdXJzZSBtYXRlcmlhbHMgKFBQVCBzbGlkZXMsIGFu ZCBoYW5kb3V0Cj4gICAgIG5vdGVzL3RleHRib29rKT8KPiAKPiBBbnkgaW5mb3JtYXRpb24gYW5k IHN1Z2dlc3Rpb25zIHdpbGwgYmUgaGlnaGx5IGFwcHJlY2lhdGVkLgo+IAo+IFRoYW5rIHlvdSB2 ZXJ5IG11Y2gsCj4gTWFubnkgQ2VyaWxsZXMKPiAtLS0tLS0tLS0tLS0tMDAwMDAwMDAwMDAtLS0t LS0tLS0tLS0tLQo+IAo+IAo+Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCktyaXRhIG1haWxpbmcgbGlzdApraW1hZ2VzaG9wQGtkZS5vcmcKaHR0cHM6Ly9t YWlsLmtkZS5vcmcvbWFpbG1hbi9saXN0aW5mby9raW1hZ2VzaG9wCg==