T24gRnJpLCBOb3YgOSwgMjAxMiBhdCA0OjM1IFBNLCBNYXTEm2ogTGFpdGwgPG1hdGVqQGxhaXRs LmN6PiB3cm90ZToKPiBPbiA5LuKArzExLuKArzIwMTIgUGhhbGd1biBHdWR1dGh1ciB3cm90ZToK Pj4gSGVsbG8gYWxsCj4KPiBIaSwKPgo+PiBBZnRlciBhIHBlcmlvZCBvZiBpbmFjdGl2aXR5LCBJ IHdhbnQgdG8gY29udGludWUgd29ya2luZyBvbiB0aGUgTmVwb211awo+PiBwbHVnaW4gZm9yIEFt YXJvayBhbmQgaW1wbGVtZW50IGEgZmV3IG1vcmUgZmVhdHVyZXMgYmVmb3JlIGl0IGlzIHNoaXBw ZWQuCj4KPiBHb29kIQo+Cj4+IFRoZXNlIGFyZSB0aGUgbWFqb3IgcHJvYmxlbXMgb2YgdGhlIHBs dWdpbiBjdXJyZW50bHkgLQo+Pgo+PiAgICAtIFRoZSBjb2xsZWN0aW9uIHRha2VzIHNvbWUgdGlt ZSB0byBsb2FkICAoMTBzIGZvciAyMDAwIHRyYWNrcykuIFRoaXMgaXMKPj4gICAgYmVjYXVzZSBv ZiB0aGUgdXNlIG9mIE1lbW9yeUNvbGxlY3Rpb24uCj4+ICAgIFRvIHdyaXRlIG15IG93biBRdWVy eU1ha2VyLCBJIG5lZWQgY29uc2lkZXJhYmxlIGFtb3V0IG9mIHRpbWUgYXMgSSdtCj4+ICAgIGNv bXBsZXRlbHkgY2x1ZWxlc3MgYWJvdXQgaXQuIEFueSBoZWxwIG9uIGhvdyB0byBnbyBhYm91dCB0 aGlzIHdvdWxkIGJlCj4+ICAgIGdyZWF0Lgo+PiAgICBTdGVjY2hpbm8gb25jZSBtZW50aW9uZWQg dG8gaGF2ZSBhIGxvb2sgYXQgVVBuUCBjb2xsZWN0aW9ucwo+PiAgICBpbXBsZW1lbnRhdGlvbi4K Pgo+IFllcywgYW5kIGFsc28gdGhlIFNxbFF1ZXJ5TWFrZXIuIFRoZSBpZGVhIGlzIHRvIGJ1aWxk IHRoZSBTUEFSUUwgcXVlcnkgaW4gdGhlCj4gY2FsbHMgbGlrZSBhZGRNYXRjaCgpLCBhZGRGaWxk ZXIoKSBldGMsIGFuZCB0byBydW4gaXQgYXN5bmNocm9ub3VzbHkgaW4gdGhlCj4gcnVuIG1ldGhv ZC4gWW91J2xsIHByb2JhYmx5IG5lZWQgYSBjYWNoZSBvZiAibGl2ZSIgTmVwb211a01ldGEgZW50 aXRpZXMgKGEgbWFwCj4gZnJvbSBOZXBvbXVrIFVSSVMgdG8gTWV0YTo6KiBpbnN0YW5jZXMpLCBz b21ldGhpbmcgbGlrZSBTcWxSZWdpc3RyeSwgYWx0aG91Z2gKPiBob3BlZnVsbHkgbm90IHRoYXQg Y29tcGxpY2F0ZWQuCj4KPj4gICAgLSBBZnRlciBhIHJlc3RhcnQgb2YgQW1hcm9rLCB0aGUgdHJh Y2tzIGluIHRoZSBwbGF5bGlzdCB2aWV3IGdldCBmZXRjaGVkCj4+ICAgIGZyb20gdGhlIExvY2Fs IENvbGxlY3Rpb24gaW5zdGVhZCBvZiBOZXBvbXVrIGNvbGxlY3Rpb24uIFRoaXMgaXMgYmVjYXVz ZQo+PiAgICB0aGUgTmVwb211ayBjb2xsZWN0aW9uIHNsb3cgbG9hZGluZyBvZiB0cmFja3MuCj4+ Cj4+ICAgIElzIHRoZXJlIGEgd2F5IHRvIGRlbGF5IHRoZSBmZXRjaGluZyBvZiBtZXRhIGRhdGEg Zm9yIHRyYWNrcyBpbiB0aGUKPj4gICAgcGxheWxpc3QgdmlldyB1bnRpbCB0aGUgTmVwb211ayBj b2xsZWN0aW9uIGlzIGZ1bGx5IGxvYWRlZD8KPj4gICAgVGhlIGZ1bmN0aW9uIFBsYXlsaXN0OjpN b2RlbDo6bWV0YWRhdGFDaGFuZ2VkKE1ldGE6OlRyYWNrUHRyKSBtdXN0IGJlCj4+ICAgIGRlbGF5 ZWQuCj4KPiBQcm9iYWJseSBub3QuIFRoZXJlIGFyZSBtb3JlIGZsYXdzIGluIG91ciByZXN0b3Jl LXRyYWNrcy1mcm9tLXVybHMgY29kZSwgc28gaXQKPiBtYXliZSBuZWVkcyB0byBiZSByZXdvcmtl ZC4gT24gdGhlIG90aGVyIGhhbmQsIGFmdGVyIHlvdSBoYXZlIHlvdXIgb3duCj4gUXVlcnlNYWtl ciwgb25seSB0aGluZyBhIE5lcG9tdWs6OlRyYWNrcyBuZWVkcyB0byBzdG9yZSB3aWxsIGJlIHRo ZSBOZXBvbXVrCj4gVVJJLCBvdGhlciBmaWVsZHMgd291bGQgYmUgZmV0Y2hlZCB1c2luZyBOZXBv bXVrIG9uIGRlbWFuZC4gKHBlcmhhcHMgd2l0aAo+IGNhY2hpbmc/KQo+Cj4gVGhlbiB5b3UgY2Fu IGNyZWF0ZSBOZXBvbXVrOjpUcmFja3MgcmVhbGx5IHF1aWNrbHkgaW4gdHJhY2tGb3JVaXJVcmwo KSBhbmQgdGhlCj4gcHJvYmxlbSBnb2VzIGF3YXkuCgpTb21lIG1vcmUgZGV0YWlsczogVHJhY2tz IGluIHRoZSBwbGF5bGlzdCBhcmUgcHJveHkgbG9hZGVkLiBUaGlzIG1lYW5zCnRoZSB0YWcgdmFs dWVzIGFyZSBmaWxsZWQgaW4gZnJvbSBkYXRhIGluIGN1cnJlbnQueHNwZiBhbHJlYWR5IGFuZCBh dAp0aGUgc2FtZSB0aW1lIGEgam9iIGlzIHN0YXJ0ZWQgbG9va2luZyBmb3IgdGhlIGFjdHVhbCB0 cmFjayBpbgpjb2xsZWN0aW9ucy4gSWYgYSBuZXcgY29sbGVjdGlvbiBpcyBhZGRlZCBpdCBhbHNv IGF0dGVtcHRzIHRvIHJlc29sdmUKdGhlIHRyYWNrLiBTbyBpZiB5b3VyIG5lcG9tdWsgY29sbGVj dGlvbiBzdGFydHMgbGF0ZSwgaXQgc2hvdWxkIHN0aWxsCndvcmsuCkFsbCB0aGlzIGlzIHRoZW9y ZXRpY2FsIGFyY2hpdGVjdHVyZSB0aG91Z2ggYW5kIGl0J3MgbGlrZWx5IGJ1ZyBvcgptaXNzaW5n IGltcGxlbWVudGF0aW9uIGJyZWFrIHRoaXMgYmVoYXZpb3VyLCBsaWtlIE1hdMOqaiBtZW50aW9u cy4KCj4KPj4gICAgLSBJbXBsZW1lbnRpbmcgTmVwb211azo6UmVzb3VyY2VXYXRjaGVyLCBzbyB0 aGF0IHRyYWNrcyB3aGVuIGNoYW5nZWQgYnkKPj4gICAgb3RoZXIgYXBwbGljYXRpb25zIGFyZSBy ZWZsZWN0ZWQgaW1tZWRpYXRlbHkgaW4gQW1hcm9rLiBUaGlzIGluY2x1ZGVzCj4+ICAgIGFkZGl0 aW9uIG9mIG5ldyB0cmFja3MsIGRlbGV0aW9uLCBjaGFuZ2UgaW4gbWV0YWRhdGEgZXRjLgo+PiAg ICBCdXQgdGhpcyBuZWVkcyB0aGUgY29kZSB0byBiZSBwb3J0ZWQgdG8gTmVwb211azIgKCBUaGUg bmV3ZXIsIHNsZWVrZXIKPj4gICAgQVBJIG9mIE5lcG9tdWsgKS4gSSdtIGZpbmRpbmcgaXQgdG91 Z2ggdG8gZ2V0IE5lcG9tdWsyIHdvcmsgb24gbXkKPj4gbWFjaGluZS4KPgo+IFllcywgcGxlYXNl IGRvIHRoZSBwb3J0aW5nIEFTQVAsIHJlcG9ydGVkbHkgaXQgaXMgbWFpbmx5IGp1c3QgYSBuYW1l c3BhY2UKPiBjaGFuZ2UuIENvbm5lY3RpbmcgTmVwb211azo6UmVzb3VyY2VXYXRjaGVyIHRvIFRy YWNrOjptZXRhZGF0YUNoYW5nZWQoKSBzaG91bGQKPiBiZSB0cml2aWFsLgo+Cj4+ICAgIC0gV3Jp dGUgYmFjayBzdXBwb3J0IC0gbGV0IHRoZSB1c2VyIGVkaXQgbWV0YSBkYXRhIG9mIGhpcyB0cmFj a3MgdGhyb3VnaAo+PiAgICBBbWFyb2suIFJpZ2h0IG5vdyB0aGUgZWRpdCBmaWVsZHMgYXJlIGFs bCBncmF5ZWQgb3V0Lgo+Cj4gWWVwLiBJIHN1Z2dlc3QgeW91IGFzc2lnbiB0aGlzIGEgbG93ZXIg cHJpb3JpdHkgdGhhbiB0aGUgTmVwb211a1F1ZXJ5TWFrZXIKPiB0aG91Z2guIE5vdCBzdHJpY3Rs eSBuZWVkZWQgZm9yIEFtYXJvayAyLjcsIHdoZXJlIHdlIGNhbiBsYWJlbCBOZXBvbXVrCj4gY29s bGVjdGlvbiBhcyAidGVjaG5vbG9neSBwcmV2aWV3IiBpZiBpdCBsYWNrcyBpcG9ydGFudCBmZWF0 dXJlcy4KPgo+PiAgICAtIFN1cHBvcnQgZm9yIGNyZWF0aW5nIHBsYXlsaXN0cwo+Cj4gTmljZSwg YWdhaW4gbG93ZXIgcHJpb3JpdHkgdGhhbiBRdWVyeU1ha2VyIElNTywgbm90IG5lZWRlZCBmb3Ig QW1hb3JrIDIuNy4KPgo+PiAgICAtIFN1cHBvcnQgZm9yIHN0b3Jpbmcgc2NvcmVzIG9mIHRyYWNr cyAtIG5lZWRzIG9udG9sb2d5IHN1cHBvcnQgd2hpY2ggaXMKPj4gICAgYSB3aG9sZSBkaWZmZXJl bnQgdGhpbmcuCj4KPiBTY29yZSBpcyBJTU8gbXVjaCBsZXNzIHVzZWQgdGhhbiByYXRpbmcsIGZp cnN0ICYgbGFzdCBwbGF5LCBzbyBsb3cgcHJpbyBmcm9tIG15Cj4gUG9WLgo+Cj4+IEkgd3JpdGUg dGhpcyBzZWVraW5nIGFueSBzb3J0IG9mIGZlZWRiYWNrIG9uIHRoZSBhYm92ZSBwcm9ibGVtcyBl aXRoZXIgb24KPj4gaG93IHRvIHRhY2tsZSB0aGVtIG9yIHRoZWlyIGltcG9ydGFuY2UuCj4+Cj4+ IFdoYXQgZG8geW91IHRoaW5rIGlzIHRoZSBtb3N0IGltcG9ydGFudCBmZWF0dXJlIHRoYXQgc2hv dWxkIGJlIGltcGxlbWVudGVkCj4+IGJlZm9yZSB0aGUgcGx1Z2luIGlzIHNoaXBwZWQ/Cj4KPiBR dWVyeU1ha2VyIGFuZCByZWxhdGVkIHJlZmFjdG9yLCBpZiB5b3UgdGhpbmsgeW91IGNhbiBtYW5h Z2UgaXQgYnkgdGhlIGVuZCBvZgo+IE5vdmVtYmVyLgo+Cj4gQ2hlZXJzLCBoaWdoIGZpdmUgYW5k IGdvb2QgbHVjaywKPiAgICAgICAgIE1hdMSbago+IF9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCj4gQW1hcm9rLWRldmVsIG1haWxpbmcgbGlzdAo+IEFtYXJv ay1kZXZlbEBrZGUub3JnCj4gaHR0cHM6Ly9tYWlsLmtkZS5vcmcvbWFpbG1hbi9saXN0aW5mby9h bWFyb2stZGV2ZWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KQW1hcm9rLWRldmVsIG1haWxpbmcgbGlzdApBbWFyb2stZGV2ZWxAa2RlLm9yZwpodHRwczov L21haWwua2RlLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtYXJvay1kZXZlbAo=