VGhlcmUgYXJlIG1hbnkgdGhpbmdzIEkgYW0gY29uY2VhbGluZy4gIEhvd2V2ZXIsIEkgaGF2ZSBw cm92aWRlZCBhbGwgbmVjZXNzYXJ5IGluZm9ybWF0aW9uLiAKSSBhbSBzaW1wbHkgbG9va2luZyBm b3IgYW55IG90aGVyIGluZm9ybWF0aW9uIHRoYXQgd291bGQgZGVmaW5pdGVseSBhbnN3ZXIgdGhl IHF1ZXN0aW9uIG9mIHRoZSBndWFyYW50ZWVkIG91dHB1dCB2b2x0YWdlIHdoZW4gdGhlIEkvTyBw aW4gaXMgbG9hZGVkIGFzIGRlc2NyaWJlZCwgYSBmZXcgcEYgZm9yIHRoZSBnYXRlIGFuZCAxdUEg bGVha2FnZSwgd2hpY2ggZm9yIHRoaXMgcHJvYmxlbSBJIHdvdWxkIGFzc3VtZSBpcyB0byBncm91 bmQgKHdvcnN0IGNhc2UpIHJhdGhlciB0aGFuIHVwIHdoaWNoIHdvdWxkIGhlbHAgbWUuIAoKU29y cnksIGJ1dCBJJ20gbm90IGNvbmR1Y3RpbmcgYSBkZXNpZ24gcmV2aWV3IG9uIGEgcHVibGljIGZv cnVtLiAgCgpJIHdhcyBob3BpbmcgdGhlcmUgd2FzIGFuIGFwcCBub3RlLCBvciBvdGhlciBkb2N1 bWVudCBvdXRzaWRlIHRoZSBwYXJ0IGRhdGEgc2hlZXQuIAoKLS0KRGF2aWQgVmFuSG9ybgpMZWFk IEhhcmR3YXJlIEVuZ2luZWVyCgpCYWNrY291bnRyeSBBY2Nlc3MsIEluYy4KMjgyMCBXaWxkZXJu ZXNzIFBsLCBVbml0IEgKQm91bGRlciwgQ08gwqA4MDMwMSBVU0EKcGhvbmU6wqAzMDMtNDE3LTEz NDUgwqB4MTEwCmVtYWlsOsKgZGF2aWQudmFuaG9ybkBiYWNrY291bnRyeWFjY2Vzcy5jb23CoAoK LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KRnJvbTogcGljbGlzdC1ib3VuY2VzQG1pdC5lZHUg PHBpY2xpc3QtYm91bmNlc0BtaXQuZWR1PiBPbiBCZWhhbGYgT2YgS2VycnkKU2VudDogV2VkbmVz ZGF5LCBKdW5lIDUsIDIwMTkgNDowMyBQTQpUbzogcGljbGlzdEBtaXQuZWR1ClN1YmplY3Q6IFJl OiBbRUVdCgpJIGNvbmZlc3MgdGhhdCBJIGRpZG4ndCBib3RoZXIgdG8gYWN0dWFsbHkgY2hlY2sg dGhlIGRhdGEgc2hlZXQgYmVmb3JlIHJlc3BvbmRpbmcsIEkganVzdCBhc3N1bWVkIHRoYXQgMy4z ViB3YXMgd2l0aGluIHRoZSBzcGVjaWZpZWQgcmFuZ2Ugb2YgVkNDLsKgIE5vdyBJIGhhdmUgY2hl Y2tlZCB0aGUgZGF0YSBzaGVldCwgYW5kIFZDQyBpcyBzcGVjaWZpZWQgYXMgMi4wIHRvIDMuNlYu wqAgVGhhdCBpcyB3aHkgSSBkb24ndCB1bmRlcnN0YW5kIHlvdXIgY29uY2VybiBhYm91dCBydW5u aW5nIG9uIDMuM1YsIG9yIHdoeSB5b3UgY2FsbCBpbiBhICJob2JieSBoYWNrIi7CoCBZb3UgY2Fu J3QgcG9zc2libHkgZXhwZWN0IGEgZGF0YSBzaGVldCB0byBsaXN0IGV2ZXJ5IHBhcmFtZXRlciBm b3IgZXZlcnkgcG9zc2libGUgVkNDIHZhbHVlIGZyb20gMi4wIHRvIDMuNlYgYW5kIGV2ZXJ5IG91 dHB1dCBjdXJyZW50IGZyb20gMXVBIHRvIDNtQS7CoCBJdCB3b3VsZCBiZSB0aGUgc2l6ZSBvZiBh biBlbmN5Y2xvcGVkaWEuCgpJcyB0aGVyZSBzb21ldGhpbmcgZ29pbmcgb24gdGhhdCB5b3UncmUg bm90IHRlbGxpbmcgdXM/CgpLZXJyeQoKCk9uIDYvNS8yMDE5IDQ6MzggUE0sIERhdmlkIFZhbiBI b3JuIHdyb3RlOgo+IE5vIGdhbWUuLgo+Cj4gQ2hlY2sgdGhlIHdlYiBzaXRlLiAgT3VyIHByb2R1 Y3RzIGFyZSBub3QgdG95cy4gIElmIHRoZXkgZG9uJ3Qgd29yaywgcGVvcGxlIGRpZS4gQWJzb2x1 dGVseSB6ZXJvIGV4YWdnZXJhdGlvbiB0aGVyZS4gIFpFUk8gdG9sZXJhbmNlIGZvciBob2JieSBo YWNrcy4KPgo+IFRoYXQgc2FpZCwgSSBuZWVkIHRvIGZpbmQgZWNvbm9taWNhbCBzb2x1dGlvbnMu ICBJZiBJIGRvbid0IG5lZWQgZXh0cmEgcGFydHMgdG8gbWFrZSB0aGlzIHdvcmsgdGhlbiBJJ20g dmVyeSBoYXBweS4gIElmIEkga25vdyBJIGNhbid0IGdldCB0aGVyZSBhbmQgYmUgMTAwJSBpbnNp ZGUgZGF0YSBzaGVldCBzcGVjcyB3aXRoIGFsbCBjb21wb25lbnQgdG9sZXJhbmNlcyBhY2NvdW50 ZWQgZm9yIHRoZW4gdGhhdCBqdXN0aWZpZXMgd2hhdGV2ZXIgZXh0cmEgZ2x1ZSBpcyBuZWVkZWQu ICBCdXQgSSBuZWVkIHRvIGtub3cgb25lIHdheSBvciB0aGUgb3RoZXIuICAgICBBdCB0aGUgbW9t ZW50LCBJJ20gbGVhbmluZyB0b3dhcmQgdGhlIGdsdWUgc2ltcGx5IGJlY2F1c2UgSSBjYW4ndCBm aW5kIGVub3VnaCBzdXBwb3J0aW5nIGRvY3MgdG8gc2F5ICJ0aGlzIHdvcmtzIGFuZCBJIGNhbiBi ZXQgbXkgbGlmZSBvbiBpdC4iLgo+IEkgaGF2ZSB0byBndWFyYW50ZWUgZnVuY3Rpb25hbGl0eSB1 bmRlciBhbGwgc3BlYydkIG9wZXJhdGlvbmFsIGNvbmRpdGlvbnMuCj4KPiBJZiBJIHdvbid0IGJl dCBteSBsaWZlIG9uIHRoaXMgcHJvZHVjdCwgd2h5IHNob3VsZCB5b3U/Cj4KPiBOZXZlciByZWFk IHRoZSBib29rLCBidXQgSSd2ZSBiZWVuIHRlbXB0ZWQgc2V2ZXJhbCB0aW1lcy4KPgo+IEknbSBq dXN0IGhvcGluZyBzb21lb25lIGtub3dzIG9mIGFuIGFwcCBub3RlIG9yIHNpbWlsYXIgdGhhdCBJ IGNhbiByZWZlcmVuY2Ugb25lIHdheSBvciB0aGUgb3RoZXIuCj4KPgo+IC0tCj4gRGF2aWQgVmFu SG9ybgo+IExlYWQgSGFyZHdhcmUgRW5naW5lZXIKPgo+IEJhY2tjb3VudHJ5IEFjY2VzcywgSW5j Lgo+IDI4MjAgV2lsZGVybmVzcyBQbCwgVW5pdCBICj4gQm91bGRlciwgQ08gwqA4MDMwMSBVU0EK PiBwaG9uZTrCoDMwMy00MTctMTM0NSDCoHgxMTAKPiBlbWFpbDrCoGRhdmlkLnZhbmhvcm5AYmFj a2NvdW50cnlhY2Nlc3MuY29tCj4KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+IEZyb206 IHBpY2xpc3QtYm91bmNlc0BtaXQuZWR1IDxwaWNsaXN0LWJvdW5jZXNAbWl0LmVkdT4gT24gQmVo YWxmIE9mIAo+IEtlcnJ5Cj4gU2VudDogV2VkbmVzZGF5LCBKdW5lIDUsIDIwMTkgMjoyNSBQTQo+ IFRvOiBwaWNsaXN0QG1pdC5lZHUKPiBTdWJqZWN0OiBSZTogW0VFXQo+Cj4gSSB0aGluaywgdGhl cmVmb3IgSSBhbS7CoCBBbGwgZWxzZSBpcyBzcGVjdWxhdGlvbiBhbmQgc3VwcG9zaXRpb24uCj4K PiBJdCBpcyBzdGFydGluZyB0byBzb3VuZCBsaWtlIDEgb2YgMyB0aGluZ3M6Cj4gICDCoCAxKcKg IFlvdSBhcmUgcGxheWluZyBzb21lIHNvcnQgb2YgYSBnYW1lIHdpdGggdXMuCj4gICDCoCAyKcKg IFlvdSBhcmUgb24gdGhlIHZlcmdlIG9mIGEgbmVydm91cyBicmVha2Rvd24uCj4gICDCoCAzKcKg IFlvdSBhcmUgMi8zIG9mIHRoZSB3YXkgdGhyb3VnaCByZWFkaW5nICJaZW4gYW5kIHRoZSBBcnQg b2YgTW90b3JjeWNsZSBNYWludGVuYW5jZSIKPgo+Cj4KPiBPbiA2LzUvMjAxOSAxMjo1OSBQTSwg RGF2aWQgVmFuIEhvcm4gd3JvdGU6Cj4+IEFncmVlZCwgYnV0IHRoYXQgYXNzdW1lcyB0aGF0IHRo ZSBvdXRwdXQgZmV0cyBhcmUgcmVhbGx5IGxpbmVhciByZXNpc3RvcnMgYXQgdGhpcyBvcGVyYXRp bmcgcG9pbnQuCj4+IEkgYmVsaWV2ZSB0aGF0IGlzIHRydWUsIGJ1dCBJIGRvbid0IGtub3cgaXQg dG8gYmUgdHJ1ZS4KPj4KPj4KPj4gLS0KPj4gRGF2aWQgVmFuSG9ybgo+PiBMZWFkIEhhcmR3YXJl IEVuZ2luZWVyCj4+Cj4+IEJhY2tjb3VudHJ5IEFjY2VzcywgSW5jLgo+PiAyODIwIFdpbGRlcm5l c3MgUGwsIFVuaXQgSAo+PiBCb3VsZGVyLCBDTyDCoDgwMzAxIFVTQQo+PiBwaG9uZTrCoDMwMy00 MTctMTM0NSDCoHgxMTAKPj4gZW1haWw6wqBkYXZpZC52YW5ob3JuQGJhY2tjb3VudHJ5YWNjZXNz LmNvbQo+Pgo+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+PiBGcm9tOiBwaWNsaXN0LWJv dW5jZXNAbWl0LmVkdSA8cGljbGlzdC1ib3VuY2VzQG1pdC5lZHU+IE9uIEJlaGFsZiBPZiAKPj4g S2VycnkKPj4gU2VudDogV2VkbmVzZGF5LCBKdW5lIDUsIDIwMTkgODoxNCBBTQo+PiBUbzogcGlj bGlzdEBtaXQuZWR1Cj4+IFN1YmplY3Q6IFJlOiBbRUVdCj4+Cj4+IFRha2UgdGhlIHNjaWVudGlm aWMgYXBwcm9hY2guCj4+Cj4+IFRoZSBPTiByZXNpc3RhbmNlIG9mIHRoZSBvdXRwdXQgRkVUIGlz IChWQ0MgLSBWT1VUKSAvIElPVVQuwqAgVGhlIGRhdGEgCj4+IHNoZWV0IHVzZXMgMy42ViBhcyBW Q0MsIGFuZCBzcGVjaWZpZXMgYSAzbUEgbG9hZC4gU2F5IHRoZSBvdXRwdXQgCj4+IHZvbHRhZ2Ug aXMgc3BlY2lmaWVkIGFzIDMuM1YuwqAgVGhlIEZFVCBvbiByZXNpc3RhbmNlIHdvdWxkIGJlIAo+ PiAuM1YvLjAwM0EgPSAxMDAgT2htcy7CoCBBdCBWQ0MgPSAzLjNWIGFuZCAxIHVBIGxvYWQsIG91 dHB1dCB2b2x0YWdlIAo+PiB3b3VsZCBiZSAzLjNWIC0KPj4gKC4wMDAwMDEgQSAqIDEwMCBPaG1z KSA9IDMuMjk5Vgo+Pgo+PiBLZXJyeQo+Pgo+Pgo+PiBPbiA2LzUvMjAxOSA3OjQ3IEFNLCBEYXZp ZCBWYW4gSG9ybiB3cm90ZToKPj4+IEFncmVlZCBvbiBib3RoIGNvdW50cywgYnV0IEknbSByZWx1 Y3RhbnQgdG8gbW92ZSBmb3J3YXJkIHdpdGhvdXQgc29tZXRoaW5nIGluIHdyaXRpbmcuCj4+PiBJ IGNvdWxkIG1lYXN1cmUgaHVuZHJlZHMgb2YgY2hpcHMsIGJ1dCB0aGF0IHNheXMgbGl0dGxlIGFi b3V0IHRoZSBuZXh0IGJhdGNoLgo+Pj4KPj4+IC0tCj4+PiBEYXZpZCBWYW5Ib3JuCj4+PiBMZWFk IEhhcmR3YXJlIEVuZ2luZWVyCj4+Pgo+Pj4gQmFja2NvdW50cnkgQWNjZXNzLCBJbmMuCj4+PiAy ODIwIFdpbGRlcm5lc3MgUGwsIFVuaXQgSAo+Pj4gQm91bGRlciwgQ08gwqA4MDMwMSBVU0EKPj4+ IHBob25lOsKgMzAzLTQxNy0xMzQ1IMKgeDExMAo+Pj4gZW1haWw6wqBkYXZpZC52YW5ob3JuQGJh Y2tjb3VudHJ5YWNjZXNzLmNvbQo+PiAtLQo+PiBodHRwOi8vd3d3LnBpY2xpc3QuY29tL3RlY2hy ZWYvcGljbGlzdCBQSUMvU1ggRkFRICYgbGlzdCBhcmNoaXZlIAo+PiBWaWV3L2NoYW5nZSB5b3Vy IG1lbWJlcnNoaXAgb3B0aW9ucyBhdCAKPj4gaHR0cDovL21haWxtYW4ubWl0LmVkdS9tYWlsbWFu L2xpc3RpbmZvL3BpY2xpc3QKPj4KCi0tCmh0dHA6Ly93d3cucGljbGlzdC5jb20vdGVjaHJlZi9w aWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUgVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJz aGlwIG9wdGlvbnMgYXQgaHR0cDovL21haWxtYW4ubWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZvL3Bp Y2xpc3QKCi0tIApodHRwOi8vd3d3LnBpY2xpc3QuY29tL3RlY2hyZWYvcGljbGlzdCBQSUMvU1gg RkFRICYgbGlzdCBhcmNoaXZlClZpZXcvY2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBvcHRpb25zIGF0 Cmh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1hbi9saXN0aW5mby9waWNsaXN0Cg== .