SGkgTmVtYW5qYSwKCkZpcnN0IG9mIGFsbCwgc29ycnkgZm9yIHRoZSBsb25nIGRlbGF5IHRvIGFu c3dlcjogeW91bmcgY2hpbGRyZW4sIGEgbmV3IGhvbWUsIApsb3Qgb2YgInJlYWwgd29ybGQnIiB3 b3JrLi4uIEknbSBhd2F5IGZyb20gS3Npcksgc2luY2UgYSBsb25nIHRpbWUsIGV2ZW4gaWYgSSAK dHJ5IHRvIGZvbGxvdyB3aGF0IGlzIGhhcHBlbmluZyBvbiBrZGVnYW1lcyBhbmQgdG8gc2VlIGlm IHRoZXJlIGlzIG5ldyBidWdzIEkgCmNvdWxkIGhhbmRsZSBlYXNpbHkuCgpUaGUgYnVnIHlvdSBh cmUgY29ycmVjdGluZyBoZXJlIGlzIGFuIG9sZCBvbmUgSSB3YXMgbm90IGFibGUgdG8gdGFja2xl LiBZb3UncmUgCnJpZ2h0IHRoYXQgc2V2ZXJhbCBvcGVuIGJ1Z3MgYXJlIHByb2JhYmx5IGR1cGxp Y2F0ZXMgb2YgdGhpcyBvbmUuIEknbSBoYXBweSB0byAKc2VlIHlvdSB3b3JraW5nIG9uIGl0LgoK SSB0aGluayB5b3VyIGFuYWx5c2lzIGlzIHByb2JhYmx5IHJpZ2h0LCBidXQgSSdtIG5vdCBzdXJl IGFib3V0IHRoZSBzb2x1dGlvbiwgCm1haW5seSBiZWNhdXNlIEkgZG9uJ3QgcmVtZW1iZXIgd2Vs bCBob3cgaXQgaXMgaW1wbGVtZW50ZWQgISAKCklzIHRoZSBLUGxheWVyIGRlc3RydWN0b3IgY2Fs bCBhbmQgdGhlIHJlbW92ZUFsbFBsYXllcnMgY2FsbHMgaW4gdGhlIHNhbWUgCnRocmVhZCA/IElm IHNvLCB0aGVuIHlvdSdyZSBzb2x1dGlvbiBpcyByaWdodCBidXQgSSBkb24ndCB1bmRlcnN0YW5k IHdoeSB0aGUgCnByb2JsZW0gY2FuIG9jY3VyLiAKCklmIHRoZXJlIGlzIG11bHRpcGxlIHRocmVh ZHMsIHRoZW4gd2hpbGUgeW91ciBwYXRjaCB3aWxsIHByb2JhYmx5IHJlZHVjZSB0aGUgCmNyYXNo IG9jY3VycmVuY2VzLCB3aGF0IGlmIHRoZSB0aHJlYWQgZGVzdHJveWluZyB0aGUgS1BsYXllciAg cmVtb3ZlcyBpdCBmcm9tIAp0aGUgbGlzdCBiZXR3ZWVuICJpdCA9IHBsYXllckxpc3QoKS0+YmVn aW4oKSIgYW5kICJkZWxldGUgKCppdCkiID8KCkFub3RoZXIgcG9pbnQsIGlmIHRoZSBLUGxheWVy IGRlc3RydWN0b3IgcmVtb3ZlcyBpdCBmcm9tIHRoZSBsaXN0LCB0aGVuIHRoZSAKaXRlcmF0b3Ig d2lsbCBhbHdheXMgYmUgIGludmFsaWQgYW5kIHRoZSB0ZXN0ICIocGxheWVyTGlzdCgpLT5jb3Vu dCgpICE9IApjb3VudCkgPyBpdCA9IHBsYXllckxpc3QoKS0+YmVnaW4oKSA6IGl0Kys7IiBpcyB1 c2VsZXNzIGFuZCB5b3UgY291bGQgZG8ganVzdCAKIml0ID0gcGxheWVyTGlzdCgpLT5iZWdpbigp Ii4gV2hhdCBkbyB5b3UgdGhpbmsgPwoKVGhhbmtzIGEgbG90IGZvciB5b3UgaW50ZXJlc3QgaW4g a2RlZ2FtZXMgYW5kIGtzaXJrIGluIHBhcnRpY3VsYXIuIFNlZSB5b3UgCnNvb24gb24gcmV2aWV3 Ym9hcmQgIQoKQnllLAoKR2HDq2wKTGUgZGltYW5jaGUgMTYgc2VwdGVtYnJlIDIwMTIgMjE6NTM6 NDEgbmVtaGlyc2xAZ21haWwuY29tIGEgw6ljcml0IDoKPiBIaSBTdGVmYW4sIEdhZWwsCj4gCj4g SSdtIG5ldyB0byBLREUgYW5kIHRoaXMgaXMgbXkgZmlyc3QgYXR0ZW1wdCB0byBjb250cmlidXRl IHRvIGFueSBwcm9qZWN0LiBJCj4gd291bGQgcmVhbGx5IGFwcHJlY2lhdGUgYW55IGZlZWRiYWNr IGZyb20geW91Lgo+IAo+IFJlY2VudGx5LCBJJ3ZlIG9wZW5lZCBhIGJ1ZyAoZnJvbSB0aGUgc3Vi amVjdCkgYW5kIG5vdywgYWZ0ZXIgYSBjb3VwbGUgb2YKPiBkYXlzIG9mIHBsYXlpbmcgd2l0aCB0 aGUgY29kZSBhbmQgYW5hbHl6aW5nIHZhcmlvdXMgc2l0dWF0aW9ucywgSSd2ZSBjYW1lCj4gdXAg d2l0aCBwb3NzaWJsZSBzb2x1dGlvbiAoYXR0YWNoZWQsIHNlZSBiZWxvdyBmb3IgZXhwbGFuYXRp b24pLgo+IAo+IEZpcnN0LCBJIHdvdWxkIGxpa2UgdG8gbGlzdCBhbGwgc3RlcHMgSSBkaWQgYmVm b3JlIEkgZm91bmQgcG9zc2libGUKPiBzb2x1dGlvbjogMS4gSSd2ZSBwdWxsZWQgdGhlIGNvZGUg ZnJvbSBnaXQgYW5kIHN1Y2Nlc3NmdWxseSBidWlsdCBpdC4KPiAyLiBFbmFibGVkIGtkZWJ1ZyBm cm9tIGtkZWJ1Z2RpYWxvZwo+IDMuIHJ1biBrc2lyayBpbiBnZGIKPiA0LiBBbmFseXplZCBiYWNr dHJhY2Ugc2hvd24gaGVyZToKPiBodHRwczovL2J1Z3Mua2RlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9 MzA0MzYyIDUuIEFkZGVkIHNvbWUgbmV3IGtkZWJ1Zwo+IHByaW50b3V0cyB0byBtYWtlIHN1cmUg bGlzdCBpdGVyYXRvcnMgYXJlIE9LOiBJbgo+IEdhbWVBdXRvbWF0b246OnJlbW92ZUFsbFBsYXll cnMgYWxsIGxpc3QgaXRlbXMgKEtQbGF5ZXIqKSBhcmUgT0sgYmVmb3JlCj4gcURlbGV0ZUFsbCBj YWxsLiA2LiBDb2RlIGFuYWx5c2lzOgo+ICAtIFBsYXllckxpc3QgaXMgbGlzdCBvZiBLUGxheWVy KjsKPiAgLSBJdGVyYXRvcnMgYmVjYW1lIG1lc3NlZCB1cCBpbiBxRGVsZXRlQWxsIChzdGlsbCBj cmFzaGluZyk7Cj4gIC0gcHVsbGVkIG91dCBkZWxldGlvbiBmcm9tIHFEZWxldGVBbGwgdG8gbXkg b3duIGxvb3AgKHN0aWxsIGNyYXNoaW5nKTsKPiAgLSBLUGxheWVyIGRlc3RydWN0b3IgYW5hbHl6 ZWQgLSBXaGVuIG9iamVjdCBpcyBkZWxldGVkLCBpdCBnZXQgcHVsbGVkIG91dAo+IGZyb20gdGhl IGdhbWUgKHBsYXllckxpc3QpLCBtb2RpZnlpbmcgb3JpZ2luYWwgcGxheWVyTGlzdC4gVGhpcyBp cyB0aGUKPiBwcm9ibGVtIGJlY2F1c2UgaXRlcmF0b3JzIHRvIGEgUUxpc3QgYmVjYW1lIGludmFs aWQgYWZ0ZXIgYW55IChpbnNlcnRpb24KPiBvcikgcmVtb3ZhbCAhCj4gCj4gSW4gS1BsYXllcjo6 fktQbGF5ZXIoKSBzZWUgIGdhbWUoKS0+cGxheWVyRGVsZXRlZCh0aGlzKTsKPiBJbiAgS0dhbWU6 OnBsYXllckRlbGV0ZWQoS1BsYXllciAqcGxheWVyKSBzZWUKPiBzeXN0ZW1SZW1vdmVQbGF5ZXIo cGxheWVyLGZhbHNlKTsgaW4gS0dhbWU6OnN5c3RlbVJlbW92ZVBsYXllcihLUGxheWVyKgo+IHBs YXllcixib29sIGRlbGV0ZWl0KSBzZWUgIHN5c3RlbVJlbW92ZShwbGF5ZXIsZGVsZXRlaXQpOyBG aW5hbGx5IHJlc3VsdCA9Cj4gZC0+bVBsYXllckxpc3QucmVtb3ZlQWxsKHApOwo+IAo+ICoqKgo+ IFRvIHByZXZlbnQgdGhpcyBjcmFzaCBxRGVsZXRlQWxsIHNob3VsZCBub3QgYmUgY2FsbGVkIGZv ciBsaXN0cyBtb2RpZmllZCBpbgo+IGRlc3RydWN0b3JzIChsaWtlIGluIGNhc2Ugb2YgS3BsYXll cikuIFRoZSBzb2x1dGlvbiBJIHByb3Bvc2UgaXMgdG8ga2VlcAo+IGFsbCBwb3NzaWJsZSBjYXNl cyB3b3JraW5nLiAqKioKPiAKPiBDaGFuZ2UgSSBmb3VuZCBpbiBnaXQgb24gMjAxMC0wNy0wMyAx Nzo0MTo0MiBSZWZhY3RvcmluZzogU2ltcGxpZnkKPiB1bm5lY2Vzc2FyaWx5IGNvbXBsaWNhdGVk IGRlbGV0aW9uIHN0YXRlbWVudHMuCj4gCj4gCj4gVGhlcmUgYXJlIGFsc28gdHdvIG1vcmUgYnVn cyAoc2hvdWxkIGJlIGR1cGxpY2F0ZXMgb2YgZWFjaCBvdGhlcik6Cj4gaHR0cHM6Ly9idWdzLmtk ZS5vcmcvc2hvd19idWcuY2dpP2lkPTMwNTAwMAo+IGFuZGh0dHBzOi8vYnVncy5rZGUub3JnL3No b3dfYnVnLmNnaT9pZD0zMDMxNDIgVGhlIHJlYXNvbiBmb3IgdGhpcyBjcmFzaCBpcwo+IHRoZSBz YW1lOiBxRGVsZXRlQWxsIGlzIGNhbGxlZCBvbiBLcGxheWVyKiBsaXN0LCBidXQgdGhpcyB0aW1l IGluCj4gbGlia2RlZ2FtZXM6IHZvaWQgS0dhbWU6OmRlbGV0ZVBsYXllcnMoKS4gVGhlcmUgSSBz YXcgY29tbWVudCBTdGVmYW4gbGVmdCwKPiBidXQgbWF5YmUgdGhlIHNhbWUgc29sdXRpb24gY291 bGQgYmUgYXBwbGllZCBpbiB0aGlzIGNhc2U/Cj4gCj4gCj4gVG8gc3VtIHVwIG15IHF1ZXN0aW9u czoKPiBEbyB5b3UgYWdyZWUgd2l0aCBwcm9wb3NlZCBzb2x1dGlvbj8gSWYgbm90LCB3aGF0IHNo b3VsZCBJIGNoYW5nZT8KPiBDYW4gdGhpcyBiZSBhcHBsaWVkIHRvIGJ1ZyBpbiBsaWJrZGVnYW1l cz8KPiAKPiBBZ2FpbiwgSSB3b3VsZCByZWFsbHkgYXBwcmVjaWF0ZSBhbnkgZmVlZGJhY2suCj4g VGhhbmsgeW91IGZvciB5b3VyIHRpbWUgYW5kIGhlbHAuCj4gCj4gQmVzdCByZWdhcmRzLAo+IE5l bWFuamEKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Ka2Rl LWdhbWVzLWRldmVsIG1haWxpbmcgbGlzdAprZGUtZ2FtZXMtZGV2ZWxAa2RlLm9yZwpodHRwczov L21haWwua2RlLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2tkZS1nYW1lcy1kZXZlbAo=