UnVzc2VsbCwKSSB3b3VsZCBzYXkgdGhhdCBtaWNyb2dyaWQgdGVjaG5pcXVlcyBtdXN0IGJlIHdl bGwgdW5kZXJzdG9vZCBiZWZvcmUgZ2l2aW5nCnN1Y2ggcGVzc2ltaXN0aWMgcHJlZGljdGlvbnMg KCJsYXJnZSBkaXNhc3RlciIgZm9yIGluc3RhbmNlLi4uKS4KOikKQWxsIHRoZSBwcm9ibGVtcyBl bnVtZXJhdGVkIGhlcmUgY2FuIGJlIHNvbHZlZC4gTWljcm9ncmlkIGlzIHRoZSBmdXR1cmUuCgpW YXNpbGUKCjxodHRwczovL3d3dy5hdmFzdC5jb20vc2lnLWVtYWlsP3V0bV9tZWRpdW09ZW1haWwm dXRtX3NvdXJjZT1saW5rJnV0bV9jYW1wYWlnbj1zaWctZW1haWwmdXRtX2NvbnRlbnQ9d2VibWFp bD4KVGhpcwplbWFpbCBoYXMgYmVlbiBzZW50IGZyb20gYSB2aXJ1cy1mcmVlIGNvbXB1dGVyIHBy b3RlY3RlZCBieSBBdmFzdC4Kd3d3LmF2YXN0LmNvbQo8aHR0cHM6Ly93d3cuYXZhc3QuY29tL3Np Zy1lbWFpbD91dG1fbWVkaXVtPWVtYWlsJnV0bV9zb3VyY2U9bGluayZ1dG1fY2FtcGFpZ249c2ln LWVtYWlsJnV0bV9jb250ZW50PXdlYm1haWw+CjwjRERCNEZBQTgtMkRENy00MEJCLUExQjgtNEUy QUExRjlGREYyPgoKT24gU3VuLCBKYW4gMzEsIDIwMTYgYXQgNjo1MSBBTSwgUnVzc2VsbE1jIDxh cHB0ZWNobnpAZ21haWwuY29tPiB3cm90ZToKCj4gT24gMzEgSmFudWFyeSAyMDE2IGF0IDAzOjEx LCBSdXNzZWxsTWMgPGFwcHRlY2huekBnbWFpbC5jb20+IHdyb3RlOgo+Cj4gKuKAi+KAi1NvbWUg b2YgdGhlIHRoaW5ncyB0aGV5IGNsYWltIGFyZSBpbXBvc3NpYmxlIGFzIGRlc2NyaWJlZCwgc29t ZSBhcmUKPiA+IGlsbGVnYWwgKGluIGFsbW9zdCBhbnkgY291bnRyeSkgYXMgZGVzY3JpYmVkIChJ c2xhbmRpbmcsIG9yCj4gaW1wb3NzaWJpbGl0eSAtCj4gPiBkaXJlY3QgcGx1ZyBpbiwgLi4uKSBh bmQgc29tZSBhcmUgdmVyeSB2ZXJ5IHZlcnkgdW5saWtlbHkuKgo+ID4KPgo+ID4gKlRoZWlyIGNp cmN1aXQgaXNvbGF0aW9uIGZlYXR1cmUgZHVyaW5nIGEgcG93ZXIgb3V0YWdlIGlzIGltcG9zc2li bGUgYXMKPiA+IGRlc2NyaWJlZC4qCj4gPgo+ICpJZiB0aGUgcG93ZXJlZCBlcXVpcG1lbnQgcGx1 Z3MgaW50byBhbiBvdXRsZXQgb24gdGhlIGRldmljZSBpdCBpcyBwb3NzaWJsZQo+ID4gIGFuZCBw b3RlbnRpYWxseSBsZWdhbCBidXQgaXMgbm90IHdoYXQgdGhleSBkZXNjcmliZS4qCj4gPgo+ICpJ ZiBwb3dlciBpcyBmZWQgaW50byB0aGUgaG91c2UgdmlhIGEgc2luZ2xlIGNvbm5lY3Rpb24gKDIg d2lyZXMgcGx1cwo+ID4gb3B0aW9uYWwgZ3JvdW5kKSB0aGVuIHRoZSBpc29sYXRpb24gcmVxdWly ZWQgdG8gcHJldmVudCBncmlkIGNvbm5lY3Rpb24KPiBpcwo+ID4gaW1wb3NzaWJsZSB3aXRob3V0 IG1vcmUgZXF1aXBtZW50IGJldHdlZW4gdGhlbSBhbmQgdGhlIGdyaWQuKgo+ID4KPgo+ID4KPiAq T24gc29tZSBvZiB0aGUgc21hcnRwaG9uZSBkaXNwbGF5IHNjcmVlbnMgaXQgc2F5cyAiSVNMQU5E RUQiLioKPiA+Cj4gKmVnIHVwcGVyIGltYWdlIGluIGxpbmsgYmVsb3cuKgo+ID4KPgo+ID4gKlRo aXMgbWVhbnMgdGhhdCB0aGUgYmF0dGVyeSBnZW5lcmF0ZWQgQUMgaXMgaXNvbGF0ZWQgZnJvbSB0 aGUgbWFpbnMgKGhhcwo+ID4gaXRzIG93biBJU0xBTkQpIC4qCj4gPgo+ICpUaGlzIGlzIG5lY2Vz c2FyeSBidXQgaW1wb3NzaWJsZSBpZiAidGhlcmUgaXMgb25seSBvbmUgcm9hZCBpbiBhbmQgb3V0 Ii4gKgo+ID4KPgo+IFRoZWlyICJhcyBkZXNjcmliZWQiIHNjZW5hcmlvIG9uIHRoZWlyIG1haW4g d2Vic2l0ZSBpcyBpbmNvbXBsZXRlLuKAiwo+IOKAi1JlYWRpbmcgdGhlIEtpY2tzdGFydGVyIGNv bW1lbnRzIOKAi2ZvciBleHRyYSBpbmZvcm1hdGlvbiAoTk9UIHRoZSBwbGFjZSB5b3UKPiBzaG91 bGQgbmVlZCB0byBsb29rIGZvciBleHRyYSBpbmZvcm1hdGlvbiBmb3IgS2lja3N0YXJ0ZXIgb3Ig dGhlaXIgbWFpbgo+IHNpdGUpIGl0IGlzIHNlZW4gdGhhdAo+Cj4gVGhlIGNsYWltZWQgZXh0cmFz IG1ha2Ugd2hhdCB0aGV5IGNsYWltIHRlY2huaWNhbGx5IHBvc3NpYmxlLCB3aXRoCj4gbGltaXRh dGlvbnMuCj4KPiBUaGUgaXNvbGF0aW9uIGFycmFuZ2VtZW50IGZvciBwb3dlciBvdXRhZ2VzIGRv ZXMgbm90IG1lZXQgYW55IGtub3duCj4gcmVndWxhdG9yeSBzdGFuZGFyZCBhbmQgdGhlIGNoYW5j ZXMgb2YgaXQgbWVldGluZyBhbnkgZnV0dXJlIHJlbGF4ZWQgb25lcwo+IHNlZW1zIG1pbmltYWwu Cj4KPiBUaGV5IGhhdmUgdG8gYWRkIHF1aXRlIGEgbG90IG9mIHNtYWxsIGJ1dCBzaWduaWZpY2Fu dCBleHRyYSBzdHVmZiAoYXMKPiBkZXNjcmliZWQgaW4gdGhlaXIgS1MgY29tbWVudHMpIHRvIG1h a2UgdGhlIHN5c3RlbSB3b3JrIGFzIGNsYWltZWQuIFRoaXMKPiB2aW9sYXRlcyB0aGVpciAianVz dCBwbHVnIGl0IGluIiBjbGFpbXMuCj4gVGhlIGV4dHJhIHN0dWZmIChhdCBhIG1pbmltdW0sIGN1 cnJlbnQgc2Vuc2UgYW5kIHZvbHRhZ2Ugc2Vuc2Ugb2YgYm90aCBncmlkCj4gZmVlZCB0byBob3Vz ZSBhbmQgUFYgZmVlZCkgaGFzIHRvIGNvbW11bmljYXRlIHdpdGggdGhlIG1haW4gdW5pdCBzb21l aG93Ii4KPiBIYXJkIGNvbm5lY3Rpb24gaXMgbWVzc3kgYW5kIFdpRmkgb3IgQmx1ZXRvb3RoIG9y IG1haW5zIGNhcnJpZXIgb3IgLi4uIGFkZHMKPiBjb3N0IGF0IGJvdGggZW5kcy4KPiBUaGUgcmV0 YWlsIGNvc3Qgb2YgdGhlIGV4dHJhcyBpcyBzYXkgJDIwMCAtIHlvdSBNSUdIVCBkbyBpdCBmb3Ig JDEwMCBhcwo+IHBhcnQgb2YgYW0gb3ZlcmFsbCBzeXN0ZW0gLSBidXQgbm9ib2R5IGRvZXMgLSBh bmQgc29tZSB3b3VsZCBjaGFyZ2Ugc2F5Cj4gJDQwMCBmb3IgdGhlIGV4dHJhcyB0aGV5IGFyZSBv ZmZlcmluZy4KPgo+IFRIZSB1c2Ugb2YgYW4gRUxDQiBvciBjaXJjdWl0IGJyZWFrZXIgdG8gaXNv bGF0ZSB0aGUgZmVlZCBhdCB0aGUKPiBzd2l0Y2hib2FyZCAoYXMgb3Bwb3NlZCB0byBhdCB0aGVp ciBlcXVpcG1lbnQpIGlzIEhlYXRoIFJvYmluc29uIGluIHRoZQo+IGV4dHJlbWUsIHVubGlrZWx5 IHRvIG1lZXQgcmVndWxhdG9yeSBhcHByb3ZhbCwgYW5kIG11c3QgYmUgbWFudWFsbHkgcmVzZXQK PiBFVkVSWSBUSU1FIGFmdGVyIHRoZSB1bml0IHByb3ZpZGVzIHBvd2VyIHRvIHRoZSBob3VzZSB1 bmRlciBjdXJyZW50IHJlZ3MKPiBhbmQganVzdCBtYXliZSBvbmx5IGFmdGVyIGEgbWFpbnMgb3V0 YWdlIHVuZGVyIHNvbWUgYXN0b3VuZGluZ2x5IHNvZnQKPiBmdXR1cmUgcmVncy4KPgo+IFRoZSBj b25zaXN0ZW50IG9uZ29pbmcgdHJlbmQgb2YgYWxsIHJlZ3VsYXRvcnkgcmVxdWlyZW1lbnRzIHRv IGRhdGUgaGFzCj4gYmVlbiB0byB0aWdodGVuIHVwIHJlcXVpcmVtZW50cyBhbmQgbWFrZSB0aGlu Z3MgaGFyZGVyIHRvIGFjaGlldmUuIGVnCj4gc3VwZXJiIHF1YWxpdHkgZXh0cmVtZWx5IHNhZmUg U01BICJTdW5ueSBCb3kiIGludmVydGVycyB3aGljaCBtZXQgYWxsIHdvcmxkCj4gcmVndWxhdG9y eSByZXF1aXJlbWVudHMgYSB5ZWFyIGFnbyBub3cgY2Fubm90IGJlIGluc3RhbGxlZCBpZiBub3Qg YWxyZWFkeQo+IGluIHBsYWNlIGR1ZSB0byByZWd1bGF0b3J5IGNoYW5nZXMgaW50ZXJuYXRpb25h bGx5Lgo+Cj4gVGhlIHBsZ3UgaXQgaW4gYW5kIGdvIHNjZW5hcmlvICoqTUlHSFQqKiBiZSBhbGxv d2VkIGluIHNvbWUKPiB1dG9waWEtZHlzdG9waWFuIFVTIHNjZW5hcmlvIGJ1dCBpbiBOWiBzbyBm YXIgYWxsIGluc3RhbGxhdGlvbnMgTVVTVCBiZQo+IGFwcHJvdmVkIGFuZCBpdCBpcyBhcHByb3gg aW5jb25jZWl2YWJsZSB0aGF0IHBsdWcgYW5kIGdvIHdpbGwgYmUgYWxsb3dhYmxlCj4gaW4gdGhl IGZvcmVzZWVhYmxlIGZ1dHVyZS4KPgo+IFRoZSB1c2Ugb2YgYW4gRUxDQiB0byBtZWV0ICJtYWtl cyBwb3dlciBvdXQgb2YgdGhlIHBsdWcgaWYgeW91IGxldCBpdCIgaXMKPiBub24gc3RhbmRhcmQg YW5kIHBhaW5mdWwgKGFzayBtZSBob3cgSSBrbm93KSB1bmxlc3MgeW91IG1ha2UgYSB3aG9sZSBu ZXcKPiBjbGFzcyBvZiBFTENCIGluc2lkZSB0aGUgdW5pdC4gKGVnIHlvdSBjb3VsZCB0ZXN0IGZv ciBOZXV0cmFsLWdyb3VuZCBsb3cKPiByZXNpc3RhbmNlIGNvbm5lY3Rpb24gYW5kIG5vdCBldmVu IHN0YXJ0IHRvIGZlZWQgcG93ZXIgb3V0IGlmIHRoaXMgaXMgbm90Cj4gcHJlc2VudC4gVGhhdCBp cyBOT1QgYSBzdGQgRUxDQiBmdW5jdGlvbi4KPgo+IE92ZXJhbGwgSSBnZXQgdGhlIGltcHJlc3Np b24gdGhhdCBrbm93bGVkZ2VhYmxlIHBlb3BsZSBhcmUgdGhpbmtpbmcgdXAgbmV3Cj4gYW5zd2Vy cyBvZiBob3cgdGhleSBNSUdIVCBhY2hpZXZlIHNvbWV0aGluZyBldmVyeSB0aW1lIHNvbWVib2R5 IHJhaXNlcyBhCj4gbmV3IHZhbGlkIHBvdGVudGlhbCBvYmplY3Rpb24uCj4KPiBUaGV5IGNsYWlt IHRvIGJlIHdvcmtpbmcgd2l0aCBldm9sdmluZyBzdGFuZGFyZHMgb3JnYW5pc2F0aW9ucy4gVGhl eSBtYXkKPiBiZS4gVGhhdCBtYXkgYmUgaHlwZS4gT3IgbGllcy4gT3Igbm90Lgo+Cj4gSSBoYXZl IHBhaWQgbXkgJDUgdG8gdGhlaXIgY2FtcGFpZ24uIEkgZGlkIG5vdCBoYXZlIGEgbG9uZyBlbm91 Z2ggYmFyZ2UKPiBwb2xlIHRvIG1hbmFnZSB0byBwdXNoIGFueSBtb3JlIGluIHRoZWlyIGRpcmVj dGlvbi4KPgo+IEkgcHJlZGljdCBtaWxkIHRvIGxhcmdlIGRpc2FzdGVyLgo+IEkgbWF5IGJlIHdy b25nLgo+IEknZCBiZSBzdXJwcmlzZWQuCj4gV2l0aCBsdWNrIEkgd2lsbCBiZS4KPgo+Cj4gUnVz c2VsbAo+Cj4KPiAg4oCLCj4KPiBodHRwczovL3d3dy5raWNrc3RhcnRlci5jb20vcHJvamVjdHMv ZXJpY2NsaWZ0b24vb3Jpc29uLXJldGhpbmstdGhlLXBvd2VyLW9mLWVuZXJneT91dG1fc291cmNl PXdlYnNpdGUmdXRtX21lZGl1bT1idXR0b24mdXRtX2NhbXBhaWduPW9yZ2FuaWMKPgo+IOKAiyAg ICAgICAgICAg4oCLCj4gaHR0cDovL29yaXNvbi5lbmVyZ3kvIDxodHRwOi8vb3Jpc29uLmVuZXJn eS8+Cj4KPgo+Cj4gTm90ZXM6Cj4KPiBJJ20gc3VycHJpc2VkIGFuZCBkdWJpb3VzIHJlIHRoZWly IGNsYWltcyBvZiBmdXR1cmUgaXNvbGF0aW9uIGZhY2lsaXRpZXMKPiBiZWluZyBhbGxvd2VkIHRv IHVzZSAiY2lyY3VpdCBicmVha2VycyIuCj4KPiBJbiB0aGUgY29tbWVudHMgdGhleSBzYXk6Cj4K PiBRdWVzdGlvbiAxOgo+IEhvdyBkb2VzIE9yaXNvbiBrbm93IG15IHNvbGFyIHBhbmVscyBhcmUg cHJvZHVjaW5nIG1vcmUgdGhlbiB3ZSB1c2Ugc28gaXQKPiB3aWxsIHN0b3JlIHRoZSBleGNlc3Mg ZW5lcmd5Lgo+IEFuc3dlciAxOgo+IE9yaXNvbiBoYXMgdGhyZWUgbWVhbnMgb2Yga25vd2luZyBo b3cgbXVjaCBlbmVyZ3kgdG8gc3RvcmU6ICgxKQo+IHdpcmVsZXNzIGNvbm5lY3Rpb24KPiAgICAg aW50byBhIHNtYXJ0IG1ldGVyCj4gICAgIGFuZCBzb2xhciBvdXRwdXQgc3RyZWFtLCAoMikKPgo+ IGFkZCBvbgo+ICAgICAgICAoZWFzeSB0byBpbnN0YWxsKQo+ICAgICAgICAgICAgcG93ZXIgc2Vu c29ycyBmb3IKPiAgICAgICAgICAgICAgICAgbWFpbiBwb3dlciAoZ3JpZCkgZmVlZCBhbmQKPiAg ICAgICAgICAgICAgICAgc29sYXIgb3V0cHV0LCBhbmQgKDMpCj4KPiBtYW51YWwgaW5wdXQgb2Yg c29sYXIgcG93ZXIgbmFtZXBsYXRlIG91dHB1dCBjb3VwbGVkIHdpdGggcmVhbC10aW1lCj4gbWV0 ZW9yb2xvZ2ljYWwgZGF0YSB0byBwcmVkaWN0IHNvbGFyIG91dHB1dC4KPgo+IGllIHRoZXkgYWRk IHVubWVudGlvbmVkIGNvbm5lY3Rpb24gdG8gdGhlIHNtYXJ0IG1ldGVyIGFuZCBwb3dlciBzZW5z b3JzIGZvcgo+IHRoZSBncmlkIGVudHJ5IHBvaW50IGFuZCBzb2xhciBjb25uZWN0aW9uIHBvaW50 Lgo+IC0tCj4gaHR0cDovL3d3dy5waWNsaXN0LmNvbS90ZWNocmVmL3BpY2xpc3QgUElDL1NYIEZB USAmIGxpc3QgYXJjaGl2ZQo+IFZpZXcvY2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBvcHRpb25zIGF0 Cj4gaHR0cDovL21haWxtYW4ubWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QKPgotLSAK aHR0cDovL3d3dy5waWNsaXN0LmNvbS90ZWNocmVmL3BpY2xpc3QgUElDL1NYIEZBUSAmIGxpc3Qg YXJjaGl2ZQpWaWV3L2NoYW5nZSB5b3VyIG1lbWJlcnNoaXAgb3B0aW9ucyBhdApodHRwOi8vbWFp bG1hbi5taXQuZWR1L21haWxtYW4vbGlzdGluZm8vcGljbGlzdAo= .