CidTb21lIG9mIHRoZSB0aGluZ3MgdGhleSBjbGFpbSBhcmUgaW1wb3NzaWJsZSBhcyBkZXNjcmli ZWQsIHNvbWUgYXJlIAppbGxlZ2FsCihpbiBhbG1vc3QgYW55IGNvdW50cnkpIGFzIGRlc2NyaWJl ZCAoSXNsYW5kaW5nLCBvciBpbXBvc3NpYmlsaXR5IC0gCmRpcmVjdApwbHVnIGluLCAuLi4pIGFu ZCBzb21lIGFyZSB2ZXJ5IHZlcnkgdmVyeSB1bmxpa2VseS4nCgpMb29raW5nIGZ1cnRoZXIgaW50 byB0aGVpciBhbnN3ZXJzIHRvIGNvbW1lbnRzLCB0aGV5IHNheSB0aGF0CgonIFJlZ3VsYXRvcnkg YXV0aG9yaXRpZXMgYW5kIGluZHVzdHJ5IGhhdmUgYWxzbyByZWNvZ25pemVkIHRoYXQgdGhlIApy ZXF1aXJlbWVudCBmb3IgYSBnYWx2YW5pYyAocGh5c2ljYWwgaW50ZXJsb2NrKSBkaXNjb25uZWN0 IGlzIGFuIApvdXRkYXRlZCByZXF1aXJlbWVudC4gVGhlIFNJV0cgd29ya2luZyBncm91cCAod2hp Y2ggcHJvdmlkZXMgdGhlIApiYXNlbGluZSBmb3IgSUVFRSAxNTQ2IGFuZCAxNTQ3LCB3aGljaCBp biB0dXJuIHByb3ZpZGUgdGhlIGJhc2VsaW5lIGZvciAKdGhlIE5FQyBhbmQgVUwgY29kZXMgYW5k IHN0YW5kYXJkcykgd2lsbCwgd2l0aGluIHRoZSBuZXh0IGNvdXBsZSBvZiAKd2Vla3MsIGJlIHJl bGVhc2luZyBpdHMgbGF0ZXN0IGRyYWZ0LiBPbmUgb2YgdGhlIGRlY2lzaW9ucyBvZiB0aGlzIAp3 b3JraW5nIGdyb3VwIGlzIHRvIGFsbG93IGRpc2Nvbm5lY3RzIHVzaW5nIG5vbi1nYWx2YW5pYyBt ZWFucyBpLmUuIAoic29mdCBkaXNjb25uZWN0cy7igJ0gJwoKSSBjYW4ndCBzZWUgaG93IHRoZXkg Y2FuIG1hbmFnZSBsb2FkIGJhbGFuY2Ugb24gdGhlIFVLIHN5c3RlbSBvZiAncmluZyAKbWFpbnMn ICh3aGljaCBJIHRoaW5rIG1pZ2h0IGJlIGJlaW5nIHBoYXNlZCBvdXQsIGJ1dCBtb3N0IGRvbWVz dGljIApwcmVtaXNlcyB3aWxsIHN0aWxsIGhhdmUgdGhhdCksIGFuZCBoZXJlIGluIE96LCBteSBo b3VzZSBmb3IgZXhhbXBsZSBoYXMgCmFsbCB0aGUgcG93ZXIgcG9pbnRzIG9uIG9uZSBydW4gZnJv bSB0aGUgZGlzdGlidXRpb24gYm94IGNvdmVyZWQgYnkgb25lIApjaXJjdWl0IGJyZWFrZXIsIHNh bWUgYXMgYWxsIHRoZSBsaWdodCBjaXJjdWl0cyBhcmUgb24gb25lIHJ1bi4KCkkgYXNzdW1lIHRo YXQgdGhleSBhcmUgbm90IHJlbHlpbmcgb24gdHJpcHBpbmcgdGhlIGNpcmN1aXQgYnJlYWtlciBh cyAKdGhleSBzYXksIGJ1dCBwb3NzaWJseSB0cmlwcGluZyBhbiBFTENCIGJ5IGNyZWF0aW5nIGFu IHVuYmFsYW5jZWQgCmN1cnJlbnQgb250byB0aGUgY2lyY3VpdCwgd2hpY2ggb2YgY291cnNlIHRo ZW4gcmVsaWVzIG9uIGFsbCBjaXJjdWl0cyAKaGF2aW5nIGFuIEVMQ0IgYXQgdGhlIGNvbnN1bWVy IGJveC4KCkNvbGluCi0tCgpjb2xpbkBidGVjaC1vbmxpbmUuY28udWsKCldlYiBwcmVzZW5jZTog d3d3LmJ0ZWNoLW9ubGluZS5jby51awoKSG9zdGVkIGJ5OiAgd3d3Lmp1c3Rob3N0LmNvbS5hdQoK VGhpcyBlbWFpbCBpcyB0byBiZSBjb25zaWRlcmVkIHByaXZhdGUgaWYgYWRkcmVzc2VkIHRvIGEg bmFtZWQgIAppbmRpdmlkdWFsIG9yIFBlcnNvbm5lbCBEZXBhcnRtZW50LCBhbmQgcHVibGljIGlm IGFkZHJlc3NlZCB0byBhIGJsb2csICAKZm9ydW0gb3IgbmV3cyBhcnRpY2xlLgoKCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fClNlbnQgZnJvbSBlTSBDbGllbnQgfCB3d3cuZW1j bGllbnQuY29tIDxodHRwOi8vd3d3LmVtY2xpZW50LmNvbS9nZXQ+CgoKCk9uIDMxLzAxLzIwMTYg MDA6MTE6MzUsICJSdXNzZWxsTWMiIDxhcHB0ZWNobnpAZ21haWwuY29tPiB3cm90ZToKCj4KPlRo ZWlyIGNpcmN1aXQgaXNvbGF0aW9uIGZlYXR1cmUgZHVyaW5nIGEgcG93ZXIgb3V0YWdlIGlzIGlt cG9zc2libGUgYXMKPmRlc2NyaWJlZC4KPklmIHRoZSBwb3dlcmVkIGVxdWlwbWVudCBwbHVncyBp bnRvIGFuIG91dGxldCBvbiB0aGUgZGV2aWNlIGl0IGlzIAo+cG9zc2libGUKPiAgYW5kIHBvdGVu dGlhbGx5IGxlZ2FsIGJ1dCBpcyBub3Qgd2hhdCB0aGV5IGRlc2NyaWJlLgo+SWYgcG93ZXIgaXMg ZmVkIGludG8gdGhlIGhvdXNlIHZpYSBhIHNpbmdsZSBjb25uZWN0aW9uICgyIHdpcmVzIHBsdXMK Pm9wdGlvbmFsIGdyb3VuZCkgdGhlbiB0aGUgaXNvbGF0aW9uIHJlcXVpcmVkIHRvIHByZXZlbnQg Z3JpZCBjb25uZWN0aW9uIAo+aXMKPmltcG9zc2libGUgd2l0aG91dCBtb3JlIGVxdWlwbWVudCBi ZXR3ZWVuIHRoZW0gYW5kIHRoZSBncmlkLgo+Cj5PbiBzb21lIG9mIHRoZSBzbWFydHBob25lIGRp c3BsYXkgc2NyZWVucyBpdCBzYXlzICJJU0xBTkRFRCIuCj5lZyB1cHBlciBpbWFnZSBpbiBsaW5r IGJlbG93Lgo+Cj5UaGlzIG1lYW5zIHRoYXQgdGhlIGJhdHRlcnkgZ2VuZXJhdGVkIEFDIGlzIGlz b2xhdGVkIGZyb20gdGhlIG1haW5zIAo+KGhhcwo+aXRzIG93biBJU0xBTkQpIC4KPlRoaXMgaXMg bmVjZXNzYXJ5IGJ1dCBpbXBvc3NpYmxlIGlmICJ0aGVyZSBpcyBvbmx5IG9uZSByb2FkIGluIGFu ZCAKPm91dCIuCj5JbWFnZToKPmh0dHBzOi8va3NyLXVnYy5pbWdpeC5uZXQvYXNzZXRzLzAwNS8y MjgvMDE0LzJkOWYxNjNiOTY5M2UzODJiNDlhZDczYzMxZjgxNzllX29yaWdpbmFsLnBuZz92PTE0 NTM0MTE5MjYmdz02ODAmZml0PW1heCZhdXRvPWZvcm1hdCZsb3NzbGVzcz10cnVlJnM9YjA3YTBl ZTQ3MmQxZjc4YTY2MjY3YTMxZDFlMzI3ZWYKPgo+VGhlIGNsYWltZWQgOTAlIHJvdW5kdHJpcCBl ZmZpY2llbmN5IGZvciBBQy1EQyAvICBiYXR0ZXJ5IGNoYXJnZSAvIAo+YmF0dGVyeQo+ZGlzY2hh cmdlIC8gREMtQUMgaXMgbm90IGltcG9zc2libGUgYW5kIG5vdCBsaWtlbHkuCj4KPlRoZSAxMCB5 ZWFyLzUwMDAgbGlmZWN5Y2xlIHdhcnJhbnR5IHByZXN1bWFibHkgbWVhbnMgKGJ1dCBtYXkgbm90 KSB0aGF0Cj50aGV5IGFyZSBnZXR0aW5nIDUwMDAgY3ljbGVzIGZyb20gdGhlaXIgYmF0dGVyeS4K PnRoaXMgaXMgdW5oZWFyZCBvZiBhcyBhIHJlcHV0YWJsZSB3YXJyYW50ZWQgY3ljbGUgbGlmZSBm b3IgYW55IExpdGhpdW0KPmJhc2VkIGNoZW1pc3RyaWVzIEVYQ0VQVCwgTUFZQkUsIExpdGhpdW0g VGl0YW5hdGUgYmFzZWQgY2VsbHMuCj5Gb2xsb3dpbmcgc2VhcmNoIGVuZ2luZSByZWZlcmVuY2Vz IGFuZCB3YW5kZXJpbmcgdGhyb3VnaCBwYXRlbnRzIGNhbgo+c29tZXRpbWVzIGdpdmUgYSBzb21l d2hhdCBjbGVhciBwaWN0dXJlIG9mIHdobyBpcyBkb2luZyB3aGF0IGFuZCBpZiB0aGUKPmNsYWlt cyBhcmUgcmVsZXZhbnQgb3IgbGVnYWwgb3IgLi4uIC4gIEJVVCBpdCB0YWtlcyBtYW55IG1hbnkg aG91cnMgLSAKPndoaWNoCj5pcyBub3QganVzdGlmaWVkIGhlcmUuCj5BIHZlcnkgcXVpY2sgbG9v ayBzaG93cyA6ICAgICAgICBBIGxvb2sgYXQgcmVmZXJlbmNlcyB0byB0aGUgY2xhaW1lZAo+Y2hl bWlzdHJ5IGxlYWRzIHRvIG9uZSBDaGluZXNlIGNvbXBhbnkuIEV4Y2VwdCBvbmUgVVMgcGF0ZW50 IGNpdGVzIAo+SmFwYW5lc2UKPnByZWNlZGVuY2UgZGF0ZSBmcm9tIGEgSmFwYW5lc2UgcGF0ZW50 IGFuZCBtYXkgYmUgcmVsYXRlZCB0byBUb3NoaWJhLiAKPlRoaXMKPmNlbGwgZG9lcyBzZWVtIHRv IGVtcGxveSBMaXRoaXVtIHRpdGFuYXRlLiBXaGV0aGVyIHRoZSBDaGluZXNlIG9uZXMgZG8gCj5h bmQKPndoZXRoZXIgdGhlIFRvc2hpYmEgcGF0ZW50IGhhcyBhbnkgcmVsZXZhbmNlIGlzIHVua25v d24gdG8gbWUuCj4KPlVudGlsIG5vdyBBRkFJSyBMaVRpLi4uIGhhcyBiZWVuIHVzZWQgaW4gdmVy eSByYXBpZCBjaGFyZ2UvZGlzY2hhcmdlIAo+ZnJvbnQKPmVuZCBjZWxscyBmb3IgZWcgZWxlY3Ry aWMgY2FycyBidXQgdGhleSBhcmUgYmFja2VkIGJ5IG1vcmUgbm9ybWFsIAo+YmF0dGVyaWVzCj5m b3IgbWFpbiBzdG9yYWdlLiBUaGlzIHVzZSBzZWVtcyBuZXcuIEl0IG1heSBub3QgYmUgLi4uLiAu Cj4KPlRvIGdpdmUgMi4yIGtXaCBhdCA1MDAwIGN5Y2xlcyB0aGUgYmF0dGVyeSBwcm9iYWJseSBu ZWVkcyB0byBiZSBydW4gYXQKPnVuZGVyIDEwMCUgRE9EIChkZXB0aCBvZiBkaXNjaGFyZ2UpIHNv IG5lZWRzIHRvIGJlID4gMi4yIGtXaCBjYXBhY2l0eS4gCj5BbHNvCj5tdXN0IGFsbG93IHNvbWUg ZGVncmFkYXRpb24gb3ZlciB0aW1lIHNvIG5lZWRzIHRvIGJlID4gMi4yIGtXaCBvciB3aWxsIAo+ YmUgPAo+Mi4yIGtXaCBhZnRlciBhIHdoaWxlLgo+VGhlIEtpY2tzdGFydGVyIGVhcmx5IGJpcmQg d2FzICQxMjAwIGZvciBhIDIuMiBrV2ggdW5pdCAtIGludmVydGVyIC0KPmNoYXJnZXIgLSBiYXR0 ZXJ5IC0gZ2x1ZS4KPkV2ZW4gYWxsb3cgc2F5ICQxMDAwIGZvciB0aGUgYmF0dGVyIGFuZCAkMjAw IHRoZSByZXN0IHRoYXQncyAxMDAwLzIuMiA9Cj4kNDU1L2tXaC4KPlRoYXQgd291bGQgYmUgYSBy ZWFsbHkgcmVhbGx5IHJlYWxseSBnb29kIHByaWNlIGZvciBiYXJlIGJhdHRlcmllcyBvZgo+cXVh bGl0eSBlZyBMaUZlUE80IGFuZCBvdGhlciBMaSB0eXBlcyBtYXkgYmUgc29tZXdoYXQgY2hlYXBl ciB0aGFuIAo+TGl0aGl1bQo+RmVycm8gUGhvc3BoYXRlIGFuZCBJIGhhdmUgbm90IHNlZW4gYSBy ZWFsIG1hcmtldCBwcmljZSBmb3IgTGlUaS4uLiAKPmNlbGxzCj5zbyBmYXIgYnV0IHRoZSBlc3Rp bWF0ZXMgSSBzYXcgYWJvdXQgYSB5ZWFyIGFnbyB3ZXJlIGFib3ZlIG90aGVyIExpIAo+Y29zdHMu Cj4KPlNPIGFsbCB1cAo+Cj5JIHByZWRpY3QgYSBmYWlybHkgc3Vic3RhbnRpYWwgZmFpbHVyZS4K PlRoZXkgc2VlbSB0byBiZSBvZmZlcmluZyBtYWdpYyBvciBzbmFrZSBvaWwgaW4gcGxhY2VzLgo+ VGhlaXIgcHJpY2luZyBpcyBtYWdpY2FsbHkgbG93Lgo+VGhleSBtYXkgYmUgb3ZlcmVudGh1c2lh c3RpYyBlbnRodXNpYXN0cyBidXQgaXQncyBub3QgaW5jb25jZWl2YWJsZSAKPnRoYXQKPml0cyBh IHNjYW0gLSBidXQgdGhlcmUgYXJlIGVhc2llciB0aGluZ3MgdG8gc2NhbiB3aXRoLgo+Cj5UaGV5 IGhhdmUgcmFpc2VkICQxMzIsMDAwIHdpdGggYW4gaW1wb3NzaWJseSBsb3cgJDUwLDAwMCB0YXJn ZXQgYW5kIAo+aGF2ZSA0MQo+ZGF5cyB0byBnbyBzbyBhcmUgZnVuZGVkIGFuZCBsaWFibGUgdG8g cmFrZSBpbiBtdWNoIG1vcmUuCj4KPkknbSB0ZW1wdGVkIHRvICJpbnZlc3QiICQ1IHNvIEkgY2Fu IHNlZSB0aGUgaW52ZXN0b3Itb25seSBtZXNzYWdlcyBhcyAKPnRoZQo+cHJvamVjdCAicHJvZ3Jl c3NlcyIuCj4KPgo+ICAgICAgICAgICAgUnVzc2VsbAo+Cj5odHRwczovL3d3dy5raWNrc3RhcnRl ci5jb20vcHJvamVjdHMvZXJpY2NsaWZ0b24vb3Jpc29uLXJldGhpbmstdGhlLXBvd2VyLW9mLWVu ZXJneT91dG1fc291cmNlPXdlYnNpdGUmdXRtX21lZGl1bT1idXR0b24mdXRtX2NhbXBhaWduPW9y Z2FuaWMKPgo+aHR0cDovL29yaXNvbi5lbmVyZ3kvCj4tLQo+aHR0cDovL3d3dy5waWNsaXN0LmNv bS90ZWNocmVmL3BpY2xpc3QgUElDL1NYIEZBUSAmIGxpc3QgYXJjaGl2ZQo+Vmlldy9jaGFuZ2Ug eW91ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQKPmh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1h bi9saXN0aW5mby9waWNsaXN0CgoKLS0gCmh0dHA6Ly93d3cucGljbGlzdC5jb20vdGVjaHJlZi9w aWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUKVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJz aGlwIG9wdGlvbnMgYXQKaHR0cDovL21haWxtYW4ubWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZvL3Bp Y2xpc3QK .