SXQgc291bmRzIGxpa2UgdGhlIHJlZnJlc2ggcmF0ZSBpcyBub3QgZmFzdCBlbm91Z2guCgpCZXN0 IHJlZ2FyZHMsCgpCb2IKCk9uIFR1ZSwgTWF5IDIyLCAyMDEyLCBhdCAwODoxMSBQTSwgeWFtYW5v b3Igc2FpcmFtIHdyb3RlOgo+IEhlbGxvIEFsbCwKPiAKPiBJIGhhZCB3cml0dGVuIHRvIHRoZSBs aXN0IGxvbmcgdGltZSBiYWNrIHJlZ2FyZGluZyB0aGUgZHJpdmUgb2Ygc2Vydm8KPiBtb3RvciB1 c2luZyBhIHBvdGVudGlvbWV0ZXIgYW5kIGEgUElDMTJGNjc1LiBJIHdhcyBzdWNjZXNzZnVsIGlu IGRvaW5nCj4gZHJpdmluZyB0aGUgc2FtZS4gSSBnb3QgYmFjayB0byB3b3JraW5nIG9uIHRoaXMg cHJvamVjdCBhbmQgSSBhbSBoYXBwZW4KPiB0byBmYWNlIGEgbmV3IHByb2JsZW0uIMKgCj4gCj4g V2hlbiB0aGVyZSBpcyBubyBsb2FkIG9uIHRoZSBtb3RvciwgaXQgd29ya3MgcGVyZmVjdC4gV2hl biBJIGxvYWQgdGhlCj4gbW90b3IsIGl0IGtlZXBzIHdvYmJsaW5nLiBJIHRoaW5rIHRoZSBtb3Rv ciBpcyBub3QgYWJsZSB0byBkcml2ZSB0aGUgbG9hZAo+IG9yIHRoZXJlIGlzIGEgc21hbGwgc2xp cHBhZ2UgdGhhdCBpcyBjYXVzaW5nIHRoZSBwcm9ibGVtLiBBbGwgSSB3YW50ZWQgdG8KPiBkbyB3 YXMgdGhhdCB0aGUgbW90b3Igc2hvdWxkIHJvdGF0ZSBiZXR3ZWVuIDkwIGFuZCAxODAgZGVncmVl cyB3aGVuIGEKPiBzd2l0Y2ggaXMgdG9nZ2xlZC4KPiAKPiBTaG91bGQgSSBqdXN0IHN3aXRjaCBv ZmYgdGhlIG1vdG9yIHdoZW4gaXQgaXMgbmVhciB0aGUgZGVzaXJlZCBwb3NpdGlvbj8KPiBJdCBs b29rcyBsaWtlIHRoZSBtb3RvciBoYXMgcmVhY2hlZCAzIGRlZ3JlZXMgYW5kIHRyeWluZyB0byBj b3JyZWN0IHRoZQo+IGFuZ2xlIGFuZCBzbGlwcGluZyBvZmYgdG8gLTMgZGVncmVlcy4gSXQga2Vl cHMgcmVwZWF0aW5nIHRoaXMgY3ljbGUuCj4gCj4gwqBJIGFtIHBvc3RpbmcgYSBzbmlwcGV0IG9m IHRoZSBjb2RlOgo+IAo+IMKgaWYoR1BJTyAmICgxPDwzKSkKPiDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoHsKPiDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGlmKHNlcnZvVmFsPj0o MTQ5OSkpCj4gwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqB7Cj4gwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgc2Vydm9WYWwgPSBzZXJ2b1ZhbC0ocXVvdGllbnQqMTApOwo+IMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIH0KPiDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oC8vIGRvX3NlcnZvKCk7Cj4gwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgfQo+IMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgZWxzZSDCoCDCoCDCoCDCoCBpZighKEdQSU8gJiAoMTw8Mykp KQo+IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIHsKPiDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBpZihzZXJ2b1Zh bDw9KDIzMDApKQo+IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIHsKPiDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBz ZXJ2b1ZhbCA9IHNlcnZvVmFsKyhxdW90aWVudCoxMCk7Cj4gwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqB9Cj4gwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgLy9kb19zZXJ2bygpOwo+IMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIH0KPiAKPiBTYWkKCi0tIApodHRwOi8v d3d3LmZhc3RtYWlsLmZtIC0gRmFzdGVyIHRoYW4gdGhlIGFpci1zcGVlZCB2ZWxvY2l0eSBvZiBh bgogICAgICAgICAgICAgICAgICAgICAgICAgIHVubGFkZW4gZXVyb3BlYW4gc3dhbGxvdwoKCi0t IApodHRwOi8vd3d3LnBpY2xpc3QuY29tIFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUKVmlldy9j aGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQKaHR0cDovL21haWxtYW4ubWl0LmVkdS9t YWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QK .