SnVyZSwKCkNhbiB5b3Ugc2VuZCBhbiBpbnF1aXJ5IHRvIHRoZSBib2FyZCB3aGV0aGVyIHRoZXkg d291bGQgYXBwcm92ZSB0aGUKc3BvbnNvcnNoaXAsIGFuZCBob3cgY2FuIHdlIGdldCB0aGUgcHJv bW8gc3R1ZmYuIEknbSBzdGlsbCBiYXJlbHkKb25saW5lIHRvIGJlIGFibGUgdG8gbGVhZCBhbnkg bWVhbmluZ2Z1bCBjb252ZXJzYXRpb24uCgpDaCEKCk9uIDI2IEZlYnJ1YXJ5IDIwMTUgYXQgMTE6 MTAsIFN2ZWJvciBQcnN0YcSNacSHIDxTdmVib3IuUHJzdGFjaWNAZmVyLmhyPiB3cm90ZToKPiBI aSBhbGwsCj4KPiBHcmVhdCB0byBoZWFyIGZyb20geW91IGd1eXMsIGhvcGUgd2UgZ2V0IHRvIG1h a2UgdGhpcyB3b3JrIQo+Cj4gV2Ugd291bGQgbG92ZSB0byBoZWxwIHdpdGggdGhlIHRyYXZlbCBl eHBlbnNlcywgYnV0IHJpZ2h0IG5vdwo+IHVuZm9ydHVuYXRlbHkgb3VyIGJ1ZGdldCBpcyB2ZXJ5 IHRpZ2h0IGFuZCByZXNlcnZlZCBmb3IgcHJvZHVjdGlvbiBvZgo+IGJhc2ljIGNvbmZlcmVuY2Ug bWF0ZXJpYWxzJyBhbmQgZ2V0dGluZyBrZXlub3RlIHNwZWFrZXJzLgo+Cj4gU28gYXQgdGhlIG1v bWVudCwgd2l0aCBhbnl0aGluZyBvdGhlciB0aGFuIHRoYXQgSSB3aWxsIGdsYWRseSBoZWxwLiBM aWtlCj4gZmluZGluZyBhZmZvcmRhYmxlIGFjY29tbW9kYXRpb24sIGhlbHAgd2l0aCBsb2NhbCBw cm9tbyBtYXRlcmlhbAo+IHByb2R1Y3Rpb24gb3IgYW5zd2VyaW5nIGFueSBxdWVzdGlvbnMgeW91 IG1pZ2h0IGhhdmUsIGp1c3QgbGV0IG1lIGtub3cuCj4KPiBBbGwgdGhlIGJlc3QsCj4gU3ZlYm9y Cj4KPgo+IE9uIMSMZXQsIDIwMTUtMDItMjYgYXQgMTA6MjQgKzAxMDAsIEp1cmUgUmVwaW5jIHdy b3RlOgo+PiBIaSBhbGwsCj4+Cj4+Cj4+Cj4+IEkgZG8gaGF2ZSB0aW1lIGZyb20gMTh0aCB1bnRp bCAyMHRoIG9mIE1heSBhbmQgSSB3b3VsZCBhYnNvbHV0ZWx5IGxvdmUKPj4gdG8gYmUgdGhlcmUg YW5kIGhlbHAgcmVwcmVzZW50IEtERS4gVGhlIG9ubHkgcHJvYmxlbSBpcyB0aGF0IEkgZG9uJ3QK Pj4gaGF2ZSBhIGpvYiBhdCB0aGUgbW9tZW50IGFuZCBhbSBraW5kIG9mIGJyb2tlIHNvIEkgY2Fu J3QgYWZmb3JkIHRoZQo+PiB0cmF2ZWwgYW5kIGFjY29tb2RhdGlvbiA6KCBCdXQgaWYgS0RFIGUu Vi4gY2FuIGhhbHAgd2l0aCBmaW5hbmNhbAo+PiBtYXR0ZXJzIHlvdSBjYW4gY291bnQgb24gbWUu Cj4+Cj4+Cj4+Cj4+IEhhdmUgYSBncmVhdCB0aW1lLAo+Pgo+PiBKdXJlIFJlcGluYwo+Pgo+Pgo+ Pgo+PiBPbiBUaHVyc2RheSAyNiBvZiBGZWJydWFyeSAyMDE1IDA5OjE2OjQzIEl2YW4gxIx1a2nE hyB3cm90ZToKPj4KPj4gPiBIaSBKb3MsCj4+Cj4+ID4KPj4KPj4gPiBJIHdvdWxkIGJlIGF2YWls YWJsZSAoaXQgaXMgbm90IHRoYXQgZmFyIGZyb20gbWUgLSA1aHJzIGJ5IGJ1cykuIEknZAo+Pgo+ PiA+IGp1c3QgbmVlZCBhIHBsYWNlIHRvIHN0YXkgYXQuCj4+Cj4+ID4KPj4KPj4gPiBBcyBmb3Ig dGhlIGJvb3RoLCBJIGRvbid0IGhhdmUgYW55IHByb21vIG1hdGVyaWFscyBoZXJlLCBzbyB0aG9z ZQo+Pgo+PiA+IHdvdWxkIG5lZWQgdG8gYmUgc2VudCB0byB0aGUgY29uZmVyZW5jZSBkaXJlY3Rs eS4KPj4KPj4gPgo+Pgo+PiA+IENoZWVyaW8sCj4+Cj4+ID4gSXZhbgo+Pgo+PiA+Cj4+Cj4+ID4g cC5zLiBBZGRpbmcgSnVyZSB0byBDQywgc2luY2UgaGUgaXMgYWxzbyBpbiB0aGUgYXJlYSA6KQo+ Pgo+PiA+IHAucC5zLiBJZiBJJ20gbm90IHF1aWNrIHRvIHJlc3BvbmQgaW4gdGhlIG5leHQgZmV3 IGRheXMsIGl0IGlzIG5vdAo+Pgo+PiA+IGJlY2F1c2UgSSdtIGlnbm9yaW5nIHlvdSwgaXQgaXMg YmVjYXVzZSBJJ2xsIGJlIGluIE1vc2Nvdy4KPj4KPj4gPgo+Pgo+PiA+IE9uIDI2IEZlYnJ1YXJ5 IDIwMTUgYXQgMDI6NDQsIEpvcyBQb29ydHZsaWV0Cj4+IDxqb3Nwb29ydHZsaWV0QGdtYWlsLmNv bT4gd3JvdGU6Cj4+Cj4+ID4gPiBMZXQncyB0YWxrIGFib3V0IGFib3V0IEtERSBwYXJ0aWNpcGF0 aW9uIGF0IERPUlMvQ0xVQyBpbiBaYWdyZWIKPj4KPj4gPiA+ICgyMDE1LmRvcnNjbHVjLm9yZykg Oy0pCj4+Cj4+ID4gPgo+Pgo+PiA+ID4gVGhlIGNvbmZlcmVuY2Ugd2lsbCB0YWtlIHBsYWNlIGZy b20gMTh0aCB1bnRpbCAyMHRoIG9mIE1heSwgaXQncyBhCj4+Cj4+ID4gPiBidXNpbmVzcy90ZWNo bmljYWwgYXVkaWVuY2UuIFNvbWUgcHJvbW8gbWF0ZXJpYWxzLCBhIGJvb3RoLCBhIHRhbGsKPj4g LSBhbGwKPj4KPj4gPiA+IGNvdWxkIGJlIHF1aXRlIGF3ZXNvbWUgdG8gaGF2ZSA7LSkKPj4KPj4g PiA+Cj4+Cj4+ID4gPiBQbGVhc2UgbGVhdmUgdGhlIG9yZ2FuaXplciwgU3ZlYm9yIGluIENDLCBo ZSBpcyBub3Qgc3Vic2NyaWJlZC4KPj4KPj4gPiA+Cj4+Cj4+ID4gPiBDaGVlcnMsCj4+Cj4+ID4g PiBKb3p6ego+Pgo+PiA+ID4gLS0KPj4KPj4gPiA+IERpc2NsYWltZXI6Cj4+Cj4+ID4gPiBFdmVy eXRoaW5nIEkgZG8gYW5kIHNheSBpcyBiYXNlZCBvbiBteSB2aWV3IG9mIHRoZSB3b3JsZCB0b2Rh eS4gSQo+PiBhbSBub3QKPj4KPj4gPiA+IHJlc3BvbnNpYmxlIGZvciBjaGFuZ2VzIGluIHRoZSB3 b3JsZCwgbm9yIG15IHZpZXcgb24gaXQuCj4+IEV2ZXJ5dGhpbmcgSSBzYXkKPj4KPj4gPiA+IGlz IG1lYW50IGluIGEgcG9zaXRpdmUgYW5kIGZyaWVuZGx5IHdheSwgdW5sZXNzIGV4cGxpY2l0bHkg c3RhdGVkCj4+Cj4+ID4gPiBvdGhlcndpc2UuIGZpbmQgbWUgb24gYmxvZy5qb3Nwb29ydHZsaWV0 LmNvbQo+Pgo+Pgo+Pgo+PiAtLQo+Pgo+PiBOb2tpYSBDZXJ0aWZpZWQgUXQgRGV2ZWxvcGVyCj4+ Cj4+IEtERSAtIGh0dHA6Ly93d3cua2RlLm9yZy8KPj4KPj4gTGludXggVXNlcnMgR3JvdXAgb2Yg U2xvdmVuaWEgLSBodHRwOi8vd3d3Lmx1Z29zLnNpLwo+Pgo+PiBQaXJhdGUgUGFydHkgb2YgU2xv dmVuaWEgLSBodHRwOi8vd3d3LnBpcmF0c2thc3RyYW5rYS5zaS8KPj4KPgoKCgotLSAKS0RFLCBp dmFuLmN1a2ljQGtkZS5vcmcsIGh0dHA6Ly9pdmFuLmZvbWVudGdyb3VwLm9yZy8KZ3BnIGtleSBp ZDogODUwQjZGNzYKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fClRoaXMgbWVzc2FnZSBpcyBmcm9tIHRoZSBrZGUtcHJvbW8gbWFpbGluZyBsaXN0LgoKVmlz aXQgaHR0cHM6Ly9tYWlsLmtkZS5vcmcvbWFpbG1hbi9saXN0aW5mby9rZGUtcHJvbW8gdG8gdW5z dWJzY3JpYmUsIHNldCBkaWdlc3Qgb24gb3IgdGVtcG9yYXJpbHkgc3RvcCB5b3VyIHN1YnNjcmlw dGlvbi4=