T24gVGh1LCAyMDA4LTA2LTI2IGF0IDEzOjUwICswMTAwLCBUb23DoXMgw5MgaMOJaWxpZGhlIHdy b3RlOgo+IAo+IFRhbWFzIFJ1ZG5haSB3cm90ZToKPiA+IE9oLCBhbmQgSSBmb3Jnb3QgdG8gbWVu dGlvbiB0aGF0IHNldmVyYWwgdGltZXMgY3JhY2tlcnMgY2FuIGVsaW1pbmF0ZQo+ID4gZG9uZ2xl cyBieSB3cml0aW5nIGEgZGV2aWNlIGRyaXZlciB0aGF0IGFjdHMgYXMgdGhlIGRvbmdsZSwgc28g dGhlIHNvZnR3YXJlCj4gPiB0aGluZ3MgdGhhdCB0aGUgZG9uZ2xlIGlzIGF0dGFjaGVkLgo+IAo+ IEkgbWlnaHQgYmUgbmFpdmUsIAoKVW5mb3J0dW5hdGVseSwgeWVzLgoKPiBidXQgSSB0aGluayBp dCB3b3VsZCBiZSB2ZXJ5IGVhc3kgdG8gbWFrZSBhIDEwMCAlIAo+IHNlY3VyZSBzb2x1dGlvbjoK Ckl0J3MgaW1wb3NzaWJsZSB0byBtYWtlIEFOWVRISU5HIDEwMCUgc2VjdXJlLgoKPiAqIFRha2Ug YSBtaWNyb2NvbnRyb2xsZXIgdGhhdCBqdXN0IGRvZXNuJ3QgaGF2ZSBhIGZhY2lsaXR5IGZvciBy ZWFkaW5nIAo+IHRoZSBjb2RlIG1lbW9yeSBvdXQgb2YgaXQuIE5vIGZhY2lsaXR5LiBBdCBhbGwu IEZ1bGxzdG9wLgoKQWxyaWdodCwgdGhhdCBtaWdodCByZW1vdmUgdGhlIEVBU1kgd2F5cyBvZiBn ZXR0aW5nIGNvZGUgb3V0IG9mIGEgY2hpcC4KSXQgZG9lcyBub3RoaW5nIHRvIHN0b3AgdGhlIGhh cmQgd2F5cy4gU3VmZmljZSBpdCB0byBzYXksIHRoYXQgaWYgeW91J3ZlCmdvdCBlbm91Z2ggbW9u ZXksIHRoZXJlIGFyZSB0b29scyBvdXQgdGhlcmUgdGhhdCBjYW4gcHJvYmUgdGhlIGNvbnRlbnRz Cm9mIHRoZSBjaGlwIHByZXR0eSBlYXNpbHkuCgo+ICogUHJvZ3JhbSB0aGlzIG1pY3JvY29udHJv bGxlciB3aXRoIHlvdXIgYWxnb3JpdGhtCj4gKiBQdXQgdGhlIG1pY3JvY29udHJvbGxlciBpbnRv IGEgc21hbGwgbGl0dGxlIHByb2R1Y3QgYWJvdXQgdGhlIHNpemUgb2YgCj4gYSB0aHVtYiBkcml2 ZSB0aGF0IGhvb2tzIHVwIHZpYSBVU0IKPiAqIE1ha2UgdGhlIGNvbXB1dGVyIGdpdmUgaW5wdXQg dG8gdGhlIG1pY3JvY29udHJvbGxlciB2aWEgVVNCCj4gKiBUaGVuIHRoZSBkZXZpY2UgZ2l2ZXMg b3V0cHV0IHZpYSBVU0IKClNvLCBhc3N1bWluZyB5b3UgY2FuJ3QgYXR0YWNrIHRoZSBjaGlwIHBo eXNpY2FsbHkgKHdoaWNoIGFscmVhZHkgaXNuJ3QKdHJ1ZSksIGlmIHlvdSBicnV0ZSBmb3JjZSB0 aGluZ3MgeW91IGNhbiBpbmZlciB0aGUgYWxnb3JpdGhtIHByZXR0eQplYXNpbHkuIFRoaXMgaGFz IGJlZW4gZG9uZSBzaW5jZSB0aGUgZmlyc3QgY29tcHV0ZXJzIHdlcmUgY3JlYXRlZC4KCj4gCj4g VGhlIFBDIG5ldmVyIHNlZXMgdGhlIGFsZ29yaXRobS4gQWxzbywgc2luY2UgdGhlIG1pY3JvY29u dHJvbGxlciBoYXMgbm8gCj4gZmFjaWxpdHkgd2hhdHNvZXZlciBmb3IgcmVhZGluZyB0aGUgcHJv Z3JhbSBjb2RlLCB0aGUgb25seSBjb25jZWl2YWJsZSAKPiB3YXkgb2YgZmluZGluZyBvdXQgd2hh dCBpdCdzIGRvaW5nIGlzIHRvIGN1dCBpdCBvcGVuIGFuZCBzb21laG93IAo+IG1hbnVhbGx5IHJl YWQgZnJvbSB0aGUgbWVtb3J5Li4uIGJ1dCBJIGRvbid0IGtub3cgaG93IHBvc3NpYmxlIHRoYXQg aXMsIAo+IG9yIGhvdyBtYW55IG1pbGxpb24gRXVybyBpdCB3b3VsZCBjb3N0LgoKSXQncyBkb25l IGFsbCB0aGUgdGltZSwgYWx0aG91Z2ggbW9zdCBjb21wYW5pZXMgd29uJ3QgYWRtaXQgdG8gaXQu IEFzCmZvciBjb3N0LCBpdCdzIG5vdCBhcyBtdWNoIGFzIHlvdSBtaWdodCB0aGluaywgY2VydGFp bmx5IG5vdCBpbiB0aGUKbWlsbGlvbnMgaW4gbW9zdCBjYXNlcy4KClBsZWFzZSwganVzdCBnZXQg dGhlIGlkZWEgb2YgMTAwJSBzZWN1cmUgb3V0IG9mIHlvdXIgaGVhZCwgaXQncyBub3QKZ29pbmcg dG8gaGFwcGVuLgoKTm90IG1hdHRlciB3aGF0IHlvdSBjcmVhdGUsIGdpdmVuIGVub3VnaCB0aW1l IGFuZCBlZmZvcnQgaXQgY2FuIGJlCmNyYWNrZWQuIFlvdSBzaG91bGQgZm9jdXMgb24gbWFraW5n IGl0ICJoYXJkIGVub3VnaCIgdG8gY3JhY2ssIGdldCB5b3VyCnZhbHVlIG91dCBvZiB0aGUgcHJv ZHVjdCwgYW5kIHRoZW4ganVzdCBtb3ZlIG9uLgoKTG9vayBhdCBpdCB0aGlzIHdheTogaG93IG11 Y2ggbW9uZXkgZG9lcyB0aGUgbW92aWUgaW5kdXN0cnkgaGF2ZT8gVGhleQp3YW50ZWQgc29tZXRo aW5nIDEwMCUgc2VjdXJlIGZvciBIRC1EVkQvQmx1cmF5LiBUaGV5IGNhbWUgdXAgd2l0aCBBQUNT LgpJdCB3YXMgY3JhY2tlZCAoSmFuIDIwMDcpIHdpdGhpbiBtb250aHMgb2YgaXQncyBkZWJ1dC4g VGhleSB0aGVuIGNhbWUgdXAKd2l0aCBCRCssIHN1cHBvc2VkbHkgZmFyIG1vcmUgc2VjdXJlIHRo ZW4gQUFDUywgYW5kIHNvbWUgc2F5IHRoZSByZWFzb24KQmx1cmF5IHdvbiB0aGUgYmF0dGxlLiBJ dCB0b29rIGEgbGl0dGxlIGxvbmdlciwgYnV0IGFmdGVyIGFib3V0IGEgeWVhcgppdCB3YXMgYWxz byBjcmFja2VkIChOb3YgMjAwNykuCgpTbywgZXZlbiB3aGVuIG1vbmV5IGlzIGFsbW9zdCB1bmxp bWl0ZWQsIGl0IG9ubHkgdG9vayBhIGZldyBtb250aHMgdG8KY3JhY2sgdGhlICJtb3N0IHNlY3Vy ZSIgbWV0aG9kcyB0aGV5IGNvdWxkIGNvbWUgdXAgd2l0aC4KCkdyYW50ZWQsIHlvdXIgcHJvZHVj dCB3aWxsIGxpa2VseSBORVZFUiBiZSBhcyBsYXJnZSBhIHRhcmdldCwgYnV0IHRoZQpmYWN0IHJl bWFpbnMgdGhhdCB0aGVyZSBpcyBubyBzdWNoIHRoaW5nIGFzIDEwMCUgc2VjdXJlLCBhbmQgdG8g dHJ5IHRvCmFjaGlldmUgaXQgaXMgYW4gYWJzb2x1dGUgd2FzdGUgb2YgdGltZSBhbmQgbW9uZXku CgpOb3csIGlmIHRoZSBtZWRpYSBjb21wYW5pZXMgd291bGQgb25seSByZWFsaXplIHRoYXQgYW5k IHN0b3AgcHVuaXNoaW5nCmxlZ2l0aW1hdGUgcHVyY2hhc2VycyBvZiB0aGVpciBwcm9kdWN0cy4u LgoKVFRZTAoKLS0gCmh0dHA6Ly93d3cucGljbGlzdC5jb20gUElDL1NYIEZBUSAmIGxpc3QgYXJj aGl2ZQpWaWV3L2NoYW5nZSB5b3VyIG1lbWJlcnNoaXAgb3B0aW9ucyBhdApodHRwOi8vbWFpbG1h bi5taXQuZWR1L21haWxtYW4vbGlzdGluZm8vcGljbGlzdAo=