QW5kcmUgQWJlbGlhbiA8YWJlbGlhbi5hbmRyZSA8YXQ+IHlhaG9vLmNvbT4gd3JpdGVzOgoKPiAK PiBIaSBBbGwsCj4gCj4gSSBhbSBoYXZpbmcgaGFyZCB0aW1lIHRvIGRldGVybWluZSB0aGUgbGVu Z3RoIG9mIMKgdWFydCBSWCBkYXRhLiB0aGUgZGF0YQpsZW5ndGggaXMgdW5rbm93biBpdCBpcyBi ZXR3ZWVuCj4gKDEwMC0xMjUgYnl0ZSkgYW5kIGl0IGlzIGxlc3MgdGhlbiAxMjggYnl0ZXMuCj4g aW4gbXkgcm91dGluZSBSWCBJU1IgY2xlYXJzIHRoZSBSWCBmbGFnIGFuZCBzYXZlcyB0aGUgYnl0 ZSBjYW1lIGluIGFuZAppbmNyZWFzZXMgdGhlIGNvdW50ZXIuIGRhdGFfYXZhaWxhYmxlCj4gaXMg bm90IHVzZWQgZm9yIG5vdyDCoAo+IAo+IHZvaWQgX19hdHRyaWJ1dGVfXygoaW50ZXJydXB0LCBu b19hdXRvX3BzdikpIF9VMlJYSW50ZXJydXB0KHZvaWQpIHsKPiAKPiDCoCDCoCB1aW50OF90IGRh dGFfc2l6ZV9VMjsKPiAKPiDCoCDCoCDCoCDCoCBJRlMxYml0cy5VMlJYSUYgPSAwOwo+IMKgIMKg IMKgIMKgIGlmIChVMlNUQWJpdHMuVVJYREEgPT0gMSkKPiDCoCDCoCDCoCDCoCB7Cj4gwqAgwqAg wqAgwqAgwqAgwqAgVTJfUlhbbmV3X2NvdW50ZXJdID0gVTJSWFJFRzsgwqAgwqAgwqAvLyBzYXZl IGluY29taW5nIGJ5dGUKPiAKPiDCoCDCoCDCoCDCoCDCoCDCoCBjb3VudGVyKys7IMKgIMKgIC8v IGluY3JlbWVudMKgCj4gwqAgwqAgwqAgwqAgwqAgwqAgZGF0YV9hdmFpbGFibGUgPSAxOwo+IMKg IMKgIMKgIMKgIMKgIMKgIEdMRURfT047Cj4gwqAgwqAgwqAgwqAgfQo+IAo+IH0KPiAKPiB0aGUg Y291bnRlciBjb250YWlucyB0b3RhbCBudW1iZXIgb2YgYnl0ZXMgYnV0IHRoZSBxdWVzdGlvbiBp cyBob3cgdG8KY2hlY2sgd2hlbiBubyBtb3JlIGRhdGEgaXMgY29taW5nIGluPyB0bwo+IHVzZSB0 aGUgY291bnRlci4KPiBJIHdhcyB0ZXN0aW5nIHdpdGggSURFTCBmbGFnIMKgwqDCoCBVMlNUQWJp dHMuUklETEUgSSBjYW4gc2VlIHdoZW4gdWFydCBSWCBpcwphY3RpdmUgwqB0aGUgZmxhZyBpcyBz ZXQgdG8gMC4gbm93Cj4gdGhlIHByb2JsZW0gaXMKPiBldmVuIG9uIGZpcnN0IHJlY2VpdmUgYnl0 ZSB0aGUgZmxhZyB3aWxsIGluZGljYXRlIGFzIGJ1c3kuIHNvIGp1c3QgdXNpbmcKd2hlbiBpdCBp cyBidXN5IGlzIG5vdCBnb2luZyB0byB3b3JrLiDCoAo+IGluIG15IGNhc2UgSSBkbyBub3QgbWlu ZCB0byBkZWFsIHdpdGggZml4ZWQgMTI4IGJ5dGUgZXZlcnkgdGltZSBJIGFscmVhZHkKa25vdyB0 aGUgZGF0YSBpcyBzb21lIHdoZXJlIGJldHdlZW4KPiAxMDAtMTI1IGJ5dGVzLiB0aGUgb25seSBp c3N1ZSBpcyB3aGVuIHRoZXJlIGlzIG5vIGRhdGEgY29taW5nIGluIHRoZQppbnRlcnJ1cHQgd2ls bCBub3Qgb2NjdXIgYW5kIGNvdW50aW5nCj4gZXh0cmEgaXMgbm90IGdvaW5nIHRvIHdvcmsuCj4g wqB0aGUgY291bnRlciBpbiBJU1Iga25vd3MgZXhhY3QgwqBsZW5ndGjCoG9mwqBieXRlcyBjYW1l IGluIGJ1dCBJIGRvIG5vdCBrbm93CndoZW4gdG8gY2hlY2sgdGhlIGNvdW50ZXIKPiBzaW5jZSBJ IGRvIG5vdCBrbm93IHRoZSBsZW5ndGggb2YgZGF0YS4KPiBpIGFtIG5vdCBzdXJlIGlmIEkgZXhw bGFpbiBjbGVhcmx5LiB0aGUgY291bnRlciBhbmQgVTJfUlggYXJlIGdsb2JhbAp2YXJpYWJsZXMu Cj4gCj4gYW55IGlkZWEgb3Igc3VnZ2VzdGlvbiB3aWxsIGFwcHJlY2lhdGUuCj4gCj4gdGhhbmtz Cj4gCj4gQW5kcmUgwqAgwqDCoApIaSBBbmRyZSwgCgpJIGNhbiBzZWUgMiB3YXlzIHRvIGRvIGl0 LgoxKSAgSGF2ZSBhIGJ5dGUgdGhhdCBpbmRpY2F0ZXMgZW5kIG9mIGJsb2NrIGluIHRoZSBkYXRh IHN0cmVhbS4gIFRoZW4gY2hlY2sKZm9yIHRoZSBlbmQgb2YgZGF0YSBpbiB0aGUgSVNSIGFuZCBz ZXQgZmxhZyBkYXRhX2F2YWlsYWJsZS4gCjIpICBJZiB0aGUgaW5jb21pbmcgZGF0YSBzdHJlYW0g Y2Fubm90IGJlIG1vZGlmaWVkLCB5b3UgY2FuIHV0aWxpemUgYnJlYWtzCmJldHdlZW4gZGF0YSBi bG9ja3MsIHNvbWV0aGluZyBsaWtlICJtaXNzaW5nIiBwdWxzZSBpbmRpY2F0b3IuICBTZXQgYSBm bGFnCmluIGFuIG91dHNpZGUgdGltZXIgSVNSLiAgVGhlIHRpbWVyIElTUiBzaG91bGQgZmlyZSB3 aXRoIGZyZXF1ZW5jeSAyLTN4IHlvdXIKc2VyaWFsIGNoYXJhY3RlciByYXRlIChub3QgdGhlIGJw cywgYnV0IGNoYXJhY3RlciBwZXIgc2Vjb25kKS4gIENsZWFyIHRoYXQKZmxhZyBpbiB0aGUgVTJS eCBJU1IuICBCZWZvcmUgY2xlYXJpbmcgdGhlIGZsYWcsIGlmIGl0IGlzIHNldCwgdGhlbiB5b3Ug aGF2ZQphbiBlbmQtb2YgYmxvY2sgaW5kaWNhdG9yLiAKCkkgYW0gc3VyZSB0aGVyZSBhcmUgc29t ZSBvdGhlciB3YXlzIHRvIGRvIGl0IGFzIHdlbGwsIGxpc3Qgd2lzZG9tIHNob3VsZCBoZWxwLgoK SG9wZSB0aGlzIGhlbHBzLAoKU2VyZ2V5CgoKCi0tIApodHRwOi8vd3d3LnBpY2xpc3QuY29tL3Rl Y2hyZWYvcGljbGlzdCBQSUMvU1ggRkFRICYgbGlzdCBhcmNoaXZlClZpZXcvY2hhbmdlIHlvdXIg bWVtYmVyc2hpcCBvcHRpb25zIGF0Cmh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1hbi9saXN0 aW5mby9waWNsaXN0Cg== .