QnkgdGhlIHdheSwgaXMgdGhlcmUgQU5ZIHdheSB0byBzdG9wIHRoZSBsaXN0IHNvZnR3YXJlIGZy b20gZm9yY2luZyBsaW5lDQp3cmFwcGluZyBhdCA4MCBjb2x1bW5zPw0KDQpJIGRvdWJ0IG1hbnkg cGVvcGxlIHJlYWQgdGhlIGxpc3Qgb24gYSA4MC1jb2x1bW4gdGVybWluYWwgb3Igd2l0aA0Kc29m dHdhcmUgdGhhdCBkb2Vzbid0IGFscmVhZHkgd3JhcCBsb25nIGxpbmVzLg0KDQpKb2UNCg0KDQoN Ck9uIDExLzE5LzIwMTAgMTo1NSBQTSwgSm9lIEtvYmVyZyB3cm90ZToNCj4gVGhlcmUgd2VyZSAx MSBvdGhlciBwYW5lbGlzdHMgYXQgdGhlIGhlYXJpbmcuICBQZXJoYXBzIHdlIHNob3VsZA0KPiBj b25zaWRlciBhbGwgb2YgdGhlaXIgdGVzdGltb255Lg0KPg0KPiBodHRwOi8vc2NpZW5jZS5ob3Vz ZS5nb3YvcHVibGljYXRpb25zL2hlYXJpbmdzX21hcmt1cHNfZGV0YWlscy5hc3B4P05ld3NJRD0y OTQ3DQo+DQo+IFBhbmVsIDENCj4NCj4g4oCiIERyLiBSYWxwaCBDaWNlcm9uZSBpcyB0aGUgUHJl c2lkZW50IG9mIHRoZSBOYXRpb25hbCBBY2FkZW15IG9mDQo+IFNjaWVuY2VzLiBEci4gQ2ljZXJv bmUgd2lsbCBleHBsYWluDQo+IHRoZSBiYXNpYyBzY2llbmNlLCBpbmNsdWRpbmcgdGhlIGZ1bmRh bWVudGFsIHBoeXNpY3MsIHVuZGVybHlpbmcgaG93DQo+IGNsaW1hdGUgY2hhbmdlIGhhcHBlbnMu IEhlDQo+IHdpbGwgYWxzbyBkaXNjdXNzIHRoZSByb2xlIG9mIHRoZSBOYXRpb25hbCBBY2FkZW15 IG9mIFNjaWVuY2VzIGluDQo+IGFkdmFuY2luZyBjbGltYXRlIHNjaWVuY2UgYW5kDQo+IGluZm9y bWluZyB0aGUgcHVibGljIG9uIHRoZSBpc3N1ZS4NCj4NCj4g4oCiIERyLiBIZWlkaSBDdWxsZW4g aXMgdGhlIENFTyBhbmQgRGlyZWN0b3Igb2YgQ29tbXVuaWNhdGlvbnMgYXQgQ2xpbWF0ZQ0KPiBD ZW50cmFsLiBEci4gQ3VsbGVuIHdpbGwNCj4gZGlzY3VzcyB0aGUgYmFzaWMgc2NpZW5jZSBvZiBj bGltYXRlIGNoYW5nZSwgaW5jbHVkaW5nIHRoZSBmdW5kYW1lbnRhbA0KPiBjaGVtaXN0cnksIHRo ZSBjYXVzZXMgb2YNCj4gcHJvZHVjdGlvbiBvZiBncmVlbmhvdXNlIGdhc2VzOyBhbmQgdGhlIGV4 cGVjdGVkIGltcGFjdHMgb24gdGhlIGNsaW1hdGUuDQo+DQo+IOKAoiBEci4gR2VyYWxkIEEuIE1l ZWhsIGlzIGEgU2VuaW9yIFNjaWVudGlzdCBpbiB0aGUgQ2xpbWF0ZSBhbmQgR2xvYmFsDQo+IER5 bmFtaWNzIERpdmlzaW9uIGF0IHRoZQ0KPiBOYXRpb25hbCBDZW50ZXIgZm9yIEF0bW9zcGhlcmlj IFJlc2VhcmNoLiBEci4gTWVlaGwgd2lsbCBkaXNjdXNzIHRoZQ0KPiBiYXNpYyBwaHlzaWNzIHVu ZGVybHlpbmcgaG93DQo+IGNsaW1hdGUgY2hhbmdlIGhhcHBlbnMgYW5kIGhvdyB0aGUgcGh5c2lj cyBpcyBpbmNvcnBvcmF0ZWQgaW50byB0aGUNCj4gZGV2ZWxvcG1lbnQgb2YgdGhlIGNsaW1hdGUN Cj4gbW9kZWxzLg0KPg0KPiDigKIgRHIuIFJpY2hhcmQgTGluZHplbiBpcyB0aGUgQWxmcmVkIFAu IFNsb2FuIFByb2Zlc3NvciBvZiBNZXRlb3JvbG9neSBpbg0KPiB0aGUgRGVwYXJ0bWVudCBvZiBF YXJ0aCwNCj4gQXRtb3NwaGVyaWMsIGFuZCBQbGFuZXRhcnkgU2NpZW5jZXMgYXQgTWFzc2FjaHVz ZXR0cyBJbnN0aXR1dGUgb2YNCj4gVGVjaG5vbG9neS4gRHIuIExpbmR6ZW4gd2lsbA0KPiBkaXNj dXNzIGhvdyBncmVlbmhvdXNlIGdhcyBlbWlzc2lvbnMgcmVzdWx0aW5nIGZyb20gaHVtYW4gYWN0 aXZpdGllcw0KPiB3aWxsIG9ubHkgbWluaW1hbGx5IGNvbnRyaWJ1dGUNCj4gdG8gd2FybWluZy4g SGUgd2lsbCBhbHNvIGRpc2N1c3MgdGhlIGxpbWl0YXRpb25zIGluIHRoZSBnbG9iYWwgY2xpbWF0 ZQ0KPiBtb2RlbHMgYW5kIHRoZSBwcm9ibGVtcyB3aXRoDQo+IHRoZSBwb3NpdGl2ZSBmZWVkYmFj a3MgYnVpbHQgaW50byB0aGUgbW9kZWxzLg0KPg0KPiBQYW5lbCAyDQo+DQo+IOKAoiBEci4gQmVu amFtaW4gU2FudGVyIGlzIGFuIEF0bW9zcGhlcmljIFNjaWVudGlzdCBpbiB0aGUgUHJvZ3JhbSBm b3INCj4gQ2xpbWF0ZSBNb2RlbCBEaWFnbm9zaXMgYW5kDQo+IEludGVyY29tcGFyaXNvbiBhdCB0 aGUgTGF3cmVuY2UgTGl2ZXJtb3JlIE5hdGlvbmFsIExhYm9yYXRvcnkuIERyLg0KPiBTYW50ZXIg d2lsbCBkaXNjdXNzIHRoZSBldmlkZW5jZQ0KPiBvZiBjbGltYXRlIGNoYW5nZTsgaG93IHdlbGwg dGhlIHNjaWVuY2UgdmFsaWRhdGVzIHRoYXQgY2xpbWF0ZSBjaGFuZ2UgaXMNCj4gaGFwcGVuaW5n OyBhbmQgdGhlDQo+IGNvbXB1dGF0aW9uYWwgY2xpbWF0ZSBtb2RlbHMsIGluY2x1ZGluZyBob3cg dGhlIHZhcmlvdXMgY2xpbWF0ZSBkYXRhDQo+IHNldHMgYXJlIHV0aWxpemVkIGFuZCBhbmFseXpl ZC4NCj4NCj4g4oCiIERyLiBSaWNoYXJkIEFsbGV5IGlzIHRoZSBFdmFuIFB1Z2ggUHJvZmVzc29y IGluIHRoZSBEZXBhcnRtZW50IG9mDQo+IEdlb3NjaWVuY2VzIGFuZCBhbiBBc3NvY2lhdGUgb2YN Cj4gdGhlIEVhcnRoIGFuZCBFbnZpcm9ubWVudGFsIFN5c3RlbXMgSW5zdGl0dXRlIGF0IFBlbm5z eWx2YW5pYSBTdGF0ZQ0KPiBVbml2ZXJzaXR5LiBEci4gQWxsZXkgd2lsbA0KPiBkZXNjcmliZSB0 aGUgZWZmZWN0cyBvZiBjbGltYXRlIGNoYW5nZSBvbiBpY2UgZHluYW1pY3MgYW5kIGV4cGxhaW4g aG93DQo+IGNoYW5nZXMgaW4gbGV2ZWxzIG9mIGNhcmJvbg0KPiBkaW94aWRlIGluIHRoZSBhdG1v c3BoZXJlIGhhdmUgbGVkIHRvIGEgcmlzZSBpbiBnbG9iYWwgdGVtcGVyYXR1cmVzLg0KPg0KPiDi gKIgRHIuIFJpY2hhcmQgRmVlbHkgaXMgYSBTZW5pb3IgU2NpZW50aXN0IGF0IHRoZSBQYWNpZmlj IE1hcmluZQ0KPiBFbnZpcm9ubWVudCBMYWJvcmF0b3J5IG9mIHRoZSBOYXRpb25hbA0KPiBPY2Vh bmljIGFuZCBBdG1vc3BoZXJpYyBBZG1pbmlzdHJhdGlvbiAoTk9BQSkuIERyLiBGZWVseSB3aWxs IGRpc2N1c3MNCj4gdGhlIGN1cnJlbnQgc2NpZW5jZSBhbmQNCj4gdW5kZXJzdGFuZGluZyBvZiBv Y2VhbiBhY2lkaWZpY2F0aW9uLCB0aGUgZmFjdG9ycyB0aGF0IGNvbnRyaWJ1dGUgdG8gdGhlDQo+ IGFjaWRpZmljYXRpb24gcHJvY2VzcywgYW5kIHRoZQ0KPiByZXN1bHRpbmcgaW1wYWN0cy4NCj4N Cj4g4oCiIERyLiBQYXRyaWNrIE1pY2hhZWxzIGlzIGEgU2VuaW9yIEZlbGxvdyBpbiBFbnZpcm9u bWVudGFsIFN0dWRpZXMgYXQNCj4gdGhlIENhdG8gSW5zdGl0dXRlLiBEci4gTWljaGFlbHMNCj4g d2lsbCBkaXNjdXNzIHRoZSByYXRlIG9mIGdyZWVuaG91c2UtcmVsYXRlZCB3YXJtaW5nOyB0aGUg RW5kYW5nZXJtZW50DQo+IEZpbmRpbmcgYnkgdGhlIEVudmlyb25tZW50YWwNCj4gUHJvdGVjdGlv biBBZ2VuY3k7IGFuZCBzY2llbnRpZmljIGludGVncml0eS4NCj4NCj4gUGFuZWwgMw0KPg0KPiDi gKIgUmVhciBBZG1pcmFsIERhdmlkIFRpdGxleSBpcyBhbiBPY2Vhbm9ncmFwaGVyIGFuZCBOYXZp Z2F0b3IgZm9yIHRoZQ0KPiBVbml0ZWQgU3RhdGVzIERlcGFydG1lbnQgb2YNCj4gdGhlIE5hdnks IERlcGFydG1lbnQgb2YgRGVmZW5zZS4gUkFETSBUaXRsZXkgd2lsbCBkaXNjdXNzIHRoZSBpbXBh Y3RzIG9mDQo+IGNsaW1hdGUgY2hhbmdlIG9uIFUuUy4NCj4gTmF2eSBtaXNzaW9ucyBhbmQgb3Bl cmF0aW9ucywgdGhlIG5hdGlvbmFsIHNlY3VyaXR5IGltcGxpY2F0aW9ucyBvZg0KPiBjbGltYXRl IGNoYW5nZSwgYW5kIHRoZSByb2xlIG9mDQo+IHRoZSBVLlMuIE5hdnnigJlzIFRhc2sgRm9yY2Ug Q2xpbWF0ZSBDaGFuZ2UuDQo+DQo+IOKAoiBNci4gSmFtZXMgTG9wZXogaXMgdGhlIFNlbmlvciBB ZHZpc29yIHRvIHRoZSBEZXB1dHkgU2VjcmV0YXJ5IGF0IHRoZQ0KPiBEZXBhcnRtZW50IG9mIEhv dXNpbmcgYW5kDQo+IFVyYmFuIERldmVsb3BtZW50LiBNci4gTG9wZXogd2lsbCBkaXNjdXNzIHRo ZSBpbXBhY3RzIG9mIGNsaW1hdGUgY2hhbmdlDQo+IG9uIHZ1bG5lcmFibGUgcG9wdWxhdGlvbnMN Cj4gYW5kIGNvbW11bml0aWVzOyBIVUQncyBwcm9wb3NlZCBTdXN0YWluYWJsZSBDb21tdW5pdGll cyBJbml0aWF0aXZlOyBhbmQNCj4gaG93IHRoZSBEZXBhcnRtZW50IGlzDQo+IHdvcmtpbmcgdG8g aW1wcm92ZSB0aGUgY29vcmRpbmF0aW9uIG9mIHRyYW5zcG9ydGF0aW9uIGFuZCBob3VzaW5nDQo+ IGludmVzdG1lbnRzIHRvIGVuc3VyZSBtb3JlDQo+IHJlZ2lvbmFsIGFuZCBsb2NhbCBzdXN0YWlu YWJsZSBkZXZlbG9wbWVudCBwYXR0ZXJucywgbW9yZQ0KPiB0cmFuc2l0LWFjY2Vzc2libGUgaG91 c2luZyBjaG9pY2VzLCBhbmQNCj4gcmVkdWNlZCBncmVlbmhvdXNlIGdhcyBlbWlzc2lvbnMuDQo+ DQo+IOKAoiBNci4gV2lsbGlhbSBHZWVyIGlzIHRoZSBEaXJlY3RvciBvZiB0aGUgQ2VudGVyIGZv ciBXZXN0ZXJuIExhbmRzIGZvcg0KPiB0aGUgVGhlb2RvcmUgUm9vc2V2ZWx0DQo+IENvbnNlcnZh dGlvbiBQYXJ0bmVyc2hpcC4gTXIuIEdlZXIgd2lsbCBkaXNjdXNzIHRoZSB0aHJlYXQgb2YgY2xp bWF0ZQ0KPiBjaGFuZ2UgdG8gaHVudGluZyBhbmQgZmlzaGluZzsNCj4gaXRzIGltcGFjdHMgb24g ZmlzaCBhbmQgd2lsZGxpZmU7IGFuZCBob3cgdGhlIFRoZW9kb3JlIFJvb3NldmVsdA0KPiBDb25z ZXJ2YXRpb24gUGFydG5lcnNoaXAgaXMNCj4gcmVzcG9uZGluZyB0byB0aGUgaW1wYWN0cyBvZiBj bGltYXRlIGNoYW5nZS4NCj4NCj4g4oCiIERyLiBKdWRpdGggQ3VycnkgaXMgdGhlIENoYWlyIG9m IHRoZSBTY2hvb2wgb2YgRWFydGggYW5kIEF0bW9zcGhlcmljDQo+IFNjaWVuY2VzIGF0IEdlb3Jn aWEgSW5zdGl0dXRlDQo+IG9mIFRlY2hub2xvZ3kuIERyLiBDdXJyeSB3aWxsIGRpc2N1c3MgaG93 IHVuY2VydGFpbnR5IGluIGRhdGEgYW5kDQo+IGNvbmNsdXNpb25zIGlzIGV2YWx1YXRlZCBhbmQN Cj4gY29tbXVuaWNhdGVkLiBTaGUgd2lsbCBhbHNvIGRpc2N1c3MgaG93IHRoaXMgdW5jZXJ0YWlu dHkgc2hvdWxkIGJlDQo+IGluY29ycG9yYXRlZCBpbnRvIGRlY2lzaW9uLQ0KPiBtYWtpbmcgZWZm b3J0cw0KPg0KPg0KPiBBbHNvLCB0ZXN0aW1vbnkgaXNuJ3QgcGVlci1yZXZpZXdlZCB3b3JrLiAg VGhlIElQQ0MgQVI0IHJlcG9ydCBpcyBhIHBlZXINCj4gcmV2aWV3ZWQgd29yayB0aGF0IGlzIHRo ZSByZXN1bHQgb2YgaHVuZHJlZHMgb2YgY2xpbWF0ZSBzY2llbnRpc3RzDQo+IGNvbGxhYm9yYXRp bmcgZm9yIHNvbWUgbnVtYmVyIG9mIHllYXJzIG9uIHRoZSBpc3N1ZS4NCj4NCj4gaHR0cDovL3d3 dy5pcGNjLmNoL3B1YmxpY2F0aW9uc19hbmRfZGF0YS9wdWJsaWNhdGlvbnNfaXBjY19mb3VydGhf YXNzZXNzbWVudF9yZXBvcnRfc3ludGhlc2lzX3JlcG9ydC5odG0NCj4NCj4NCj4gSm9lDQo+DQo+ DQo+DQo+IE9uIDExLzE5LzIwMTAgNjo1OSBBTSwgUnVzc2VsbE1jIHdyb3RlOg0KPj4gKklmIHlv dSBkZWNpZGUgdG8gcmVhZCBvbmx5IG9uZSBwYXBlciB3aXRoIHRoaXMgcG9pbnQgb2YgdmlldyBp biB0aGUgbmV4dA0KPj4gd2hpbGUsIG1ha2UgaXQgdGhpcyBvbmUuKg0KPj4gKldhcm5pbmdzIGFu ZCBxdWFsaWZpZXJzIGFuZCB3aHkgeW91IG1pZ2h0IGNvbnNpZGVyIGdpdmluZyBjcmVkZW5jZSB0 byB0aGUNCj4+IGF1dGhvciBpcyBjb3ZlcmVkIGJlbG93OiAqDQo+PiAqDQo+Pg0KPj4gaHR0cDov L2RlbW9jcmF0cy5zY2llbmNlLmhvdXNlLmdvdi9NZWRpYS9maWxlL0NvbW1kb2NzL2hlYXJpbmdz LzIwMTAvRW5lcmd5LzE3bm92L0xpbmR6ZW5fVGVzdGltb255LnBkZg0KPj4gKg0KPj4gSXQgYXBw ZWFycyBuZWFyIHRlcm1pbmFsbHkgZGlmZmljdWx0IHRvIHRhbGsgYWJvdXQgdGhlIHN1YmplY3Qg b2YgLi4uDQo+PiB3aGF0ZXZlciAuLi4gb24gYW55IHNjaWVudGlmaWMgYmFzaXMgd2l0aG91dCBh bGwgc29ydHMgb2Ygc3RyYW5nZSB0aGluZ3MNCj4+IGhhcHBlbmluZyAobm8gZG91YnQgY2F1c2Vk IGJ5IHRoZSBMb3JlbnR6IEJ1dHRlcmZseSkuIEJlaW5nIGEgc29tZXRpbWUNCj4+IGdsdXR0b24g Zm9yIHB1bmlzaG1lbnQgSSdkIGxpa2UgdG8gcHJvdmlkZSBhIGxpbmsgdG8gd2hhdCBhcHBlYXJz IHRvIGJlIGENCj4+IHdyaXRlciB3aXRoIGltcGVjY2FibGUgY3JlZGVudGlhbHMgcHJlc2VudGlu ZyB3aGF0IGFwcGVhcnMgdG8gYmUgIGEgc291bmRseQ0KPj4gICAgJ3NjaWVudGlmaWNhbGx5IGJh c2VkJyB3ZWxsIHRob3VnaHQgb3V0IHN1bW1hcnkgb2YgdGhlIHN1YmplY3Qgd2l0aA0KPj4gcGFy dGljdWxhciByZWZlcmVuY2VzIHRvIGNsaW1hdGUgbW9kZWxzIGFuZCB0aGUgdW5jZXJ0YWludGll cyBpbiB0aGUgc2NpZW5jZQ0KPj4gaW52b2x2ZWQuDQo+Pg0KPj4gSWYgcmVwbHlpbmcgdG8gdGhp cyBvbi1saXN0IHBsZWFzZSB0cnkgdG8ga2VlcCByZXNwb25zZXMgc2NpZW5jZSBiYXNlZCwNCj4+ IGNpdmlsLCByYXRpb25hbCBhbmQgb2JzZXJ2ZSBvdGhlciBnZW5lcmFsbHkgaW1wb3NzaWJsZSBn dWlkZWxpbmVzLg0KPj4gTGlmZXRpbWUgb2YgdGhpcyB0aHJlYWQgd2lsbCBkZXBlbmQgb24gbGlz dCBydWxlcyBiZWluZyBub3QgbW9yZSB0aGFuIG1pbGRseQ0KPj4gdHJhbXBsZWQuDQo+PiAoSWYg eW91IGZlZWwgdGhhdCB0aGlzIHN1YmplY3QgaGFzIG5vIHBsYWNlIGhlcmUgLSBwbGVhc2UgcmVh ZCB0aGUgRkFRLiAoSXQNCj4+IHNob3VsZCBiZSBpbiBURUNIIGJ1dCB0aGF0J3MgbW9yZSAnZGFu Z2Vyb3VzJy4NCj4+IEJ5IGFsbCBtZWFucyAgZmVlbCBmcmVlIHRvIGFidXNlIG1lIG9mZmxpc3Qg YXMgZGVzaXJlZC4NCj4+DQo+PiAqSSdkIHJlY29tbWVuZCB0aGF0IGFueW9uZSB3aXRoIGEgZ2Vu dWluZSBpbnRlcmVzdCBpbiB0aGUgc2NpZW50aWZpYyBhc3BlY3RzDQo+PiBvZiBHVyAvIEFHVyAv IENDLCAuLi4gdG8gbG9vayBhdCB0aGUgcGFwZXIgcmVmZXJlbmNlZC4NCj4+ICpCeSBubyBtZWFu cyBldmVyeSBvbmUgb2YgaGlzIGNvbGxlYWd1ZXMgYWdyZWVzIHdpdGggdGhpcyBtYW4ncyBwb2lu dCBvZg0KPj4gdmlldywgYnV0IGhpcyAnYm9uYSBmaWRlcycgc2hvdWxkIHF1YWxpZnkgaGltIGZv ciBhIGZhaXIgaGVhcmluZyBpbiBhbnkNCj4+IGZvcnVtLg0KPj4gRG9uJ3QgYmVsaWV2ZSBhbnlv bmUgYWJzb2x1dGVseSwgYnV0IHRoaXMgcGFwZXIgcHJvdmlkZXMgZm9vZCBmb3IgdGhvdWdodA0K Pj4gd2hlbiBjb25zaWRlcmluZyB0aGUgbW9yZSBleHRyZW1lIHZpZXdwb2ludHMgb24gdGhlIHN1 YmplY3QgLSBpbiBlaXRoZXINCj4+IGRpcmVjdGlvbi4NCj4+DQo+PiAqSW50cm9kdWN0aW9uIChv ciBza2lwIHRvIFRIRSBDSEFTRSBiZWxvdykqDQo+Pg0KPj4gKlRvIHN0YXJ0IG9uIHRoZSByaWdo dCBmb290LCBoZXJlJ3MgdGhlIGJhc2ljIHF1YWxpZmljYXRpb25zIHRvIGNvbW1lbnQgb2YNCj4+ IGl0cyBhdXRob3I6DQo+Pg0KPj4gICAgICAgaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9S aWNoYXJkX0xpbmR6ZW4NCj4+ICoNCj4+ICAgICAgICAgICBSaWNoYXJkIFNpZWdtdW5kIExpbmR6 ZW4gKGJvcm4gRmVicnVhcnkgOCwgMTk0MCwgV2Vic3RlciwNCj4+IE1hc3NhY2h1c2V0dHMpIGlz IGFuIEFtZXJpY2FuIGF0bW9zcGhlcmljIHBoeXNpY2lzdCBhbmQgQWxmcmVkIFAuIFNsb2FuDQo+ PiBQcm9mZXNzb3Igb2YgTWV0ZW9yb2xvZ3kgYXQgdGhlIE1hc3NhY2h1c2V0dHMgSW5zdGl0dXRl IG9mIFRlY2hub2xvZ3kuDQo+PiBMaW5kemVuIGlzIGtub3duIGZvciBoaXMgd29yayBpbiB0aGUg ZHluYW1pY3Mgb2YgdGhlIG1pZGRsZSBhdG1vc3BoZXJlLA0KPj4gYXRtb3NwaGVyaWMgdGlkZXMg YW5kIG96b25lIHBob3RvY2hlbWlzdHJ5LiBIZSBoYXMgcHVibGlzaGVkIG1vcmUgdGhhbiAyMDAN Cj4+IHNjaWVudGlmaWMgcGFwZXJzIGFuZCBib29rcy5bMV0gSGUgd2FzIGEgbGVhZCBhdXRob3Ig b2YgQ2hhcHRlciA3LCAnUGh5c2ljYWwNCj4+IENsaW1hdGUgUHJvY2Vzc2VzIGFuZCBGZWVkYmFj a3MsJyBvZiB0aGUgSVBDQyBUaGlyZCBBc3Nlc3NtZW50IFJlcG9ydCBvbg0KPj4gY2xpbWF0ZSBj aGFuZ2UuDQo+Pg0KPj4gICAgICAgICAgICAgIExpbmR6ZW4gaGFzIHB1Ymxpc2hlZCBwYXBlcnMg b24gSGFkbGV5IGNpcmN1bGF0aW9uLCBtb25zb29uDQo+PiBtZXRlb3JvbG9neSwgcGxhbmV0YXJ5 IGF0bW9zcGhlcmVzLCBoeWRyb2R5bmFtaWMgaW5zdGFiaWxpdHksIG1pZC1sYXRpdHVkZQ0KPj4g d2VhdGhlciwgZ2xvYmFsIGhlYXQgdHJhbnNwb3J0LCB0aGUgd2F0ZXIgY3ljbGUsIGljZSBhZ2Vz LCBzZWFzb25hbA0KPj4gYXRtb3NwaGVyaWMgZWZmZWN0cy4gSGlzIG1haW4gY29udHJpYnV0aW9u IHRvIHRoZSBhY2FkZW1pYyBsaXRlcmF0dXJlIG9uDQo+PiBhbnRocm9wb2dlbmljIGNsaW1hdGUg Y2hhbmdlIGlzIGhpcyBwcm9wb3NhbCBvZiB0aGUgaXJpcyBoeXBvdGhlc2lzIGluIDIwMDEsDQo+ PiB3aXRoIGNvLWF1dGhvcnMgTWluZy1EYWggQ2hvdSBhbmQgQXJ0aHVyIFkuIEhvdS5bNV1bNl0g SGUgaXMgYSBtZW1iZXIgb2YgdGhlDQo+PiBOYXRpb25hbCBBY2FkZW15IG9mIFNjaWVuY2VzIGFu ZCB0aGUgU2NpZW5jZSwgSGVhbHRoLCBhbmQgRWNvbm9taWMgQWR2aXNvcnkNCj4+IENvdW5jaWwg YXQgdGhlIEFubmFwb2xpcyBDZW50ZXIgZm9yIFNjaWVuY2UtQmFzZWQgUHVibGljIFBvbGljeS4g RWR1Y2F0ZWQgYXQNCj4+IEhhcnZhcmQgVW5pdmVyc2l0eSAoUGguRC4sICc2NCwgUy5NLiwgJzYx LCBBLkIuLCAnNjApLCBoZSBtb3ZlZCB0byBNSVQgaW4NCj4+IDE5ODMsIHByaW9yIHRvIHdoaWNo IGhlIGhlbGQgcG9zaXRpb25zIGF0IHRoZSBVbml2ZXJzaXR5IG9mIFdhc2hpbmd0b24NCj4+ICgx OTY04oCTMTk2NSksIEluc3RpdHV0ZSBmb3IgVGhlb3JldGljYWwgTWV0ZW9yb2xvZ3ksIFVuaXZl cnNpdHkgb2YgT3Nsbw0KPj4gKDE5NjXigJMxOTY2KSwgTmF0aW9uYWwgQ2VudGVyIGZvciBBdG1v c3BoZXJpYyBSZXNlYXJjaCAoTkNBUikgKDE5NjbigJMxOTY3KSwNCj4+IFVuaXZlcnNpdHkgb2Yg Q2hpY2FnbyAoMTk2OOKAkzE5NzIpIGFuZCBIYXJ2YXJkIFVuaXZlcnNpdHkgKDE5NzLigJMxOTgz KS4gSGUNCj4+IGFsc28gYnJpZWZseSBoZWxkIGEgcG9zaXRpb24gb2YgVmlzaXRpbmcgTGVjdHVy ZXIgYXQgVUNMQSBpbiAxOTY3Lls3XSBBcyBvZg0KPj4gSmFudWFyeSAyMDEwLCBoaXMgcHVibGlj YXRpb25zIGxpc3QgaW5jbHVkZWQgMjMwIHBhcGVycyBhbmQgYXJ0aWNsZXMNCj4+IHB1Ymxpc2hl ZCBiZXR3ZWVuIDE5NjUgYW5kIDIwMDgsIHdpdGggZml2ZSBpbiBwcm9jZXNzIGZvciAyMDA5LiBI ZSBpcyB0aGUNCj4+IGF1dGhvciBvZiBhIHN0YW5kYXJkIHRleHRib29rIG9uIGF0bW9zcGhlcmlj IGR5bmFtaWNzLCBhbmQgY28tYXV0aG9yZWQgdGhlDQo+PiBtb25vZ3JhcGggQXRtb3NwaGVyaWMg VGlkZXMgd2l0aCBTeWRuZXkgQ2hhcG1hbi5bOF0NCj4+DQo+PiBQdWJsaWNhdGlvbnMgbGlzdCAo bGFyZ2VseSBib3JpbmcgdG8gbm9uIGV4cGVydHMpKDIzNSBlbnRyaWVzKQ0KPj4gaHR0cDovL3d3 dy1lYXBzLm1pdC5lZHUvZmFjdWx0eS9saW5kemVuL1B1YmxpY2F0aW9uc1JTTC5odG1sDQo+Pg0K Pj4gVGhhdCdzIG5vdCBtZWFudCB0byBiZSBhcHBlYWwgdG8gYXV0aG9yaXR5IG9yIHdoYXRldmVy LCBqdXN0IHNldHRpbmcgd2hhdA0KPj4gc2VlbXMgdG8gYmUgdGhlIG5lY2Vzc2FyeSBncm91bmR3 b3JrIHJlcXVpcmVkIHRvIHByZXZlbnQgYW4gYXV0aG91ciBiZWluZw0KPj4gZGlzbWlzc2VkIG91 dCBvZiBoYW5kLg0KPj4NCj4+IFNvLg0KPj4NCj4+ICpUSEUgQ0hBU0U6Kg0KPj4NCj4+IEJlYXIg aW4gbWluZCB0aGlzIGlzIGEgcG9wdWxpc3QgbGV2ZWwgc3VtbWFyeSBhaW1lZCBhdCBwb2xpdGlj aWFucyBhbmQNCj4+IHNpbWlsYXIgLSB3aXRoIGxhcmdlIGFtb3VudHMgb2Ygc3VwcG9ydGluZyBz Y2llbmNlLXNwZWFrIGJhY2t1cCBhcyByZXF1aXJlZC4NCj4+DQo+Pg0KPj4gKg0KPj4gaHR0cDov L2RlbW9jcmF0cy5zY2llbmNlLmhvdXNlLmdvdi9NZWRpYS9maWxlL0NvbW1kb2NzL2hlYXJpbmdz LzIwMTAvRW5lcmd5LzE3bm92L0xpbmR6ZW5fVGVzdGltb255LnBkZg0KPj4gKg0KPj4gR2xvYmFs IFdhcm1pbmc6DQo+PiBIb3cgdG8gYXBwcm9hY2ggdGhlIHNjaWVuY2UuDQo+PiBSaWNoYXJkIFMu IExpbmR6ZW4NCj4+IFByb2dyYW0gaW4gQXRtb3NwaGVyZXMsIE9jZWFucywgYW5kIENsaW1hdGUN Cj4+IE1hc3NhY2h1c2V0dHMgSW5zdGl0dXRlIG9mIFRlY2hub2xvZ3kNCj4+IFRlc3RpbW9ueTog SG91c2UgU3ViY29tbWl0dGVlDQo+PiBvbiBTY2llbmNlIGFuZCBUZWNobm9sb2d5IGhlYXJpbmcg b24gQSBSYXRpb25hbCBEaXNjdXNzaW9uIG9mIENsaW1hdGUNCj4+IENoYW5nZTogdGhlIFNjaWVu Y2UsIHRoZSBFdmlkZW5jZSwgdGhlIFJlc3BvbnNlDQo+PiBOb3ZlbWJlciAxNywgMjAxMA0KPj4N Cj4+DQo+PiAgICAgICAgICAgICAgICAgICAgICBSdXNzZWxsIE1jTWFob24NCj4+DQo+PiBfX19f X19fX19fX19fXw0KPj4NCj4+IFBTIC0gbXkgYnVzaW5lc3MgYWN0aXZpdGllcyBpbmNsdWRlIGFj dGl2aXRpZXMgd2hpY2ggbWF5IHBvdGVudGlhbGx5IHByb3ZpZGUNCj4+IGFuZC9vciByZWNlaXZl IGJlbmVmaXQgZnJvbSB0aGVpciByZWR1Y3Rpb24gaW4gbmV0IENPMiByZWxlYXNlIHRvIHRoZQ0K Pj4gYXRtb3NwaGVyZS4gSSBkbyBub3QgZG91YnQgdGhhdHRoZXJlIGlzIHZhbHVlIGluICBDTzIg cmVkdWN0aW9ucyB3aGVyZSB0aGV5DQo+PiBhcmUgYSAicHJveHkiIGZvciB0aGUgYnVybmluZyBv ZiBmb3NzaWwgZnVlbHMgb3IgdGhlIHVzZSBvZiBmb3NzaWwgcHJvZHVjdHMNCj4+IGFzIGNoZW1p Y2FsIGZlZWRzdG9ja3MgKGVnIHBsYXN0aWMgcHJvZHVjdGlvbikgIC0gdGhlIGxlc3Mgd2UgYnVy biBvcg0KPj4gY29uc3VtZSB0aGUgbW9yZSB0aGVyZSBtYXkgYmUgbGVmdCBmb3Igb3VyIGNoaWxk cmVuJ3MgY2hpbGRyZW4uIEluIGFsbA0KPj4gcmVsYXRlZCBhcmVhcyBBTEwgSSBhbSBpbnRlcmVz dGVkIGluIGlzIHRoZSB0cnV0aC4gSSBoYXZlIG5vIGludGVyZXN0IHNvDQo+PiB2ZXN0ZWQgdGhh dCBJIHdpc2ggdG8gYmUgcGFydHkgdG8gdGhlIGdlbmVyYXRpb24gb2YgZGlzaW5mb3JtYXRpb24g b3IgdGhlDQo+PiBjcmVhdGlvbiBvciBtYWludGVuYW5jZSBvZiBzY2llbnRpZmljIG9yICBlbmdp bmVlcmluZyBmYWJsZXMgb2YgYW55IHNvcnQuDQotLQ0KaHR0cDovL3d3dy5waWNsaXN0LmNvbSBQ SUMvU1ggRkFRICYgbGlzdCBhcmNoaXZlDQpWaWV3L2NoYW5nZSB5b3VyIG1lbWJlcnNoaXAgb3B0 aW9ucyBhdA0KaHR0cDovL21haWxtYW4ubWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QN Cg== .