VGhhdCdzIGludGVyZXN0aW5nLgoKSXQgd2lsbCBiZSB0aGUgamF2YXNjcmlwdCBhbmQgSFRNTDUg aW1wbGVtZW50YXRpb24gb2YgdGhlIGluLWJyb3dzZXIKbWFpbCBjbGllbnQgcHJvdmlkZWQgYnkg Z21haWwuICBUaGUgc29mdHdhcmUgc3RhY2sgaGFzIHRvIHJlY2VpdmUgdGhlCmRyYWcgYW5kIGRy b3AgZXZlbnQsIG9wZW4gdGhlIGZpbGUsIHNlbmQgaXQgdG8gdGhlIHdlYiBzZXJ2ZXIsIGFuZCB0 aGUKd2ViIHNlcnZlciBtYXkgc2VuZCBfYmFja18gYSByZXByZXNlbnRhdGlvbiBmb3IgcmVuZGVy aW5nIGluIGJyb3dzZXIsCmJlZm9yZSBldmVudHVhbGx5IGF0dGFjaGluZyBpdCBhcyB0aGUgbWVz c2FnZSBpcyBhc3NlbWJsZWQgZm9yCnRyYW5zbWlzc2lvbi4gIFNvbWVvbmUgaW4gdGhhdCBsb29w IGhhcyBwcm9iYWJseSBkZWNpZGVkIHRoYXQgbG9zc2xlc3MKYW5kIGNvbXB1dGF0aW9uIHJlc291 cmNlIGlzIG1vcmUgaW1wb3J0YW50IHRoYW4gc2l6ZSwgZm9yIGltYWdlcyBiZWxvdwphIGNlcnRh aW4gc2l6ZSAoSlBHIGRlY29kaW5nIGNhbiBjb3N0IG1vcmUgQ1BVIGN5Y2xlcyB0aGFuIFBORykg b3IKdGhhdCB0aGUgamF2YXNjcmlwdCBjYW4gYmUgc2ltcGxlciBhbmQgZWFzaWVyIHRvIG1haW50 YWluIHdpdGhvdXQKaGF2aW5nIHRvIGhhbmRsZSBsb3NzeSBmb3JtYXRzLgoKSXQgd2lsbCBub3Qg YmUgdGhlIHNhbWUgcHJvYmxlbSBpZiB0aGUgZ21haWwgYWNjb3VudCBpcyB1c2VkIHdpdGggYQps b2NhbCBtYWlsIGNsaWVudCwgbGlrZSBUaHVuZGVyYmlyZC4gIElmIGdtYWlsIGJlZ2FuIGZpZGRs aW5nIHdpdGggdGhlCmF0dGFjaG1lbnRzIG9mIG1lc3NhZ2VzIHNlbnQgYnkgbWFpbCBjbGllbnRz LCBtdWNoIG5lZ2F0aXZlIGZlZWRiYWNrCndvdWxkIGVuc3VlIGJlY2F1c2UgZW5kLXRvLWVuZCBt YWlsIGVuY3J5cHRpb24gYW5kIGNyeXB0b2dyYXBoaWMKc2lnbmluZyB3b3VsZCBubyBsb25nZXIg d29yay4KCk9uIFRodSwgSmFuIDI2LCAyMDE3IGF0IDAxOjEzOjU1UE0gKzAxMDAsIEphbi1Fcmlr IFPDtmRlcmhvbG0gd3JvdGU6Cj4gSGkuCj4gCj4gSSdkIGd1ZXNzIHRoYXQgY29weS9wYXN0ZSBv ZiBhbiBpbWFnZSBkb2VzbuKAmXQga25vdyBlbm91Z2gKPiBhYm91dCB0aGUgYWN0dWFsIGltYWdl IChmaWxlKSBmb3JtYXRzLiBJdCBpcyBhIHNjcmVlbiBvcGVyYXRpb24KPiBtb3JlIG9yIGxlc3Ms IGFuZCBwcm9iYWJseSBkb2VzIGEgUE5HIGNvbnZlcnNpb24gb2Ygd2hhdCBpcwo+IHNlZW4gb24g c2NyZWVuLCBub3Qgd2hhdCB3YXMgaW4gdGhlIGFjdHVhbCBKUEcgZmlsZSBhcyBzdWNoLgo+IAo+ IEF0dGFjaGluZyBmaWxlcyAod2l0aCBhbiBpbWFnZSksIG9uIHRoZSBvdGhlciBoYW5kLCBkb2Vz IHRoZQo+ICJyaWdodCB0aGluZyIgYW5kIHJlYWRzIHRoZSBmaWxlIGNvbnRlbnRzIGNvcnJlY3Rs eS4KPiAKPiBKYW4tRXJpay4KPiAKPiAKPiAtLS0tLVVyc3BydW5nbGlndCBtZWRkZWxhbmRlLS0t LS0KPiBGcsOlbjogcGljbGlzdC1ib3VuY2VzQG1pdC5lZHUgW21haWx0bzpwaWNsaXN0LWJvdW5j ZXNAbWl0LmVkdV0gRsO2ciBSdXNzZWxsTWMKPiBTa2lja2F0OiBkZW4gMjYgamFudWFyaSAyMDE3 IDEyOjUyCj4gVGlsbDogTWljcm9jb250cm9sbGVyIGRpc2N1c3Npb24gbGlzdCAtIFB1YmxpYy4g PHBpY2xpc3RAbWl0LmVkdT4KPiDDhG1uZTogUmU6IFtBRE1JTl06OiBTaXplIG9mIGZpbGVzCj4g Cj4gT24gMjYgSmFudWFyeSAyMDE3IGF0IDE2OjQwLCBCb2IgQmxpY2sgPGJvYmJsaWNrQG91dGxv b2suY29tPiB3cm90ZToKPiAKPiAKPiA+IE9uZSBvZiB0aGUgaW1hZ2VzIHRoYXQgZ290IHRyYXBw ZWQgd2FzIDM2Sy4gQWZ0ZXIgZW5jb2RpbmcgZm9yIGVtYWlsIAo+ID4gdGhhdCdzIGFsbW9zdCA1 MEsuIEFkZCBzb21lIHRleHQgYW5kIGhlYWRlcnMgYW5kIGl0IG1ha2VzIHRoZSA1M0sgdGhhdCAK PiA+IHdhcyBtYXJrZWQgb24gdGhlIGFkbWluIHNhZmUgcm9vbS4KPiA+IElmIHRoZSBpbWFnZSB3 YXNuJ3QgMzZLIGJlZm9yZSB5b3Ugc2VudCBpdCwgdGhlbiBwZXJoYXBzIHlvdXIgZW1haWwgCj4g PiBjbGllbnQgaXMgZG9pbmcgYSBjb252ZXJzaW9uLgo+ID4KPiAKPiDigItJbmRlZWQuCj4gCj4g U2hvcnQ6Cj4gCj4gSW1hZ2VzIHBhc3RlZCBpbnRvIGdtYWlsIGVtYWlscyBmcm9tIGpwZyAoYW5k IHByZXN1bWFibHkgb3RoZXIpIGZvcm1hdHMgYXJlIGNvbnZlcnRlZCB0byBQTkdzIGF0IGFib3V0 IDYrIHggdGhlIHNpemUuCj4gRmluYWwgaW1hZ2Ugc2l6ZSB3aWxsIGJlIGluY3JlYXNlZCBieSBh Ym91dCB0ZW4gdGltZXMgKFNhbXBsZSBvZiAyLiBNYXJnaW4gb2YgZXJyb3IqICB+fn5+ICsvLSA3 MCAlIDotKSApLgo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K PiAKPiBJZiB5b3UgaGF2ZSBhbiBlZyA1IGtCICpKUEcqIGltYWdlIGFuZCBQQVNURSBpdCAqaW50 byogYSBnbWFpbCBkb2N1bWVudCAqdXNpbmcgY29weSBhbmQgcGFzdGUqIChXSU4xMCkgLCB0aGVu IGl0IGlzIGNvbnZlcnRlZCB0byBQTkcgLSBwcm9iYWJseSBieSBHb29nbGUuCj4gNSBrQiAtPiAz Mi0zNiBrQiBkZXBlbmRpbmcgb24gd2luZCBkaXJlY3Rpb24uIChlZyBCb2IgJiBJIHNhdyBzbGln aHRseSBkaWZmZXJlbnQgZmlsZXMgc2l6ZXMuKQo+IAo+IFRoZSAybmQgc2VuZCAod2hpY2ggb3Ro ZXIgdGhhbiBhZG1pbnMgZGlkIG5vdCBzZWUpIGNvbmZpcm1lZCB3aGF0IEkgdGhvdWdodC4KPiAK PiBJIGRvd25zY2FsZWQgdGhlIGltYWdlIHRvIDUuMDkga0IgKEpQRyA1MCBxdWFsaXR5IDE3MiB4 IDIyMSBwaXhlbHMuKQo+IAo+IEkgY29waWVkIHRoZSBpbWFnZSBmcm9tIElyZmFudmlldyBKUEcg d2l0aCBXSU4xMCBDdHJsLUMgYW5kIHBhc3RlZCBpdCBpbnRvIGEgZ21haWwgZW1haWwgd2l0aCBX SU4xMCBDdHJsLVYuCj4gCj4gSW1hZ2UgYXBwZWFyZWQgaW4gUElDTElzdCBib3VuY2VzIGFzIGVt YWlsIG92ZXIgNDAga0IgbGltaXQuCj4gCj4gU2F2aW5nIGltYWdlIGZyb20gYm91bmNlIG1lc3Nh Z2UgZ2F2ZSBhIH49IDMyIGtCIFBORy4KPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fCj4g Cj4gUGFzdCBleHBlcmllbmNlIGlzIHRoYXQgQVRUQUNISU5HIGEganBnIHRvIGVtYWlscyBpbmNy ZWFzZXMgbWVzc2FnZSBzaXplIGJ5IGEgZmFjdG9yIG9mIEFCT1VUIDIuMgo+IAo+IFRoaXMgYW5k IG90aGVyIGJvdW5jZWQgbWVzc2FnZXMgd291bGQgaGF2ZSBlYXNpbHkgYmVlbiA8IDQwIGtCIGxp bWl0IGluIHRoYXQgY2FzZS4KPiAKPiAKPiAKPiAgICAgICAgICAgIFIKPiAKPiAqIE1hcmdpbiBv ZiBlcnJvcgo+IAo+IFJFQUxMWSByb3VnaCBidXQgdXNlZnVsIG1lbnRhbCBydWxlIG9mIHRodW1i Ogo+IAo+ICAgICAxLiBNYXJnaW4gb2YgZXJyb3Igfn5+PSBzcXJ0KDEvU2FtcGxlX3NpemUpCj4g Cj4gMi4gfj0gMS45OCBzcXJ0IChwLigxLXApL1NhbXBsZV9zaXplKSBmb3Igbm9ybWFsbGx5IGRp c3RyaWJ1dGVkIHNhbXBsZS4KPiAKPiBQIGlzIGV4cGVjdGVkIHByb2JhYmlsaXR5IG9mIHJlc3Vs dC4KPiAwIDw9IHAgPD0gMSAuCj4gU2ltcGxpZmllZCBmb3JtdWxhIDEuIGFib3ZlIHJlc3VsdHMg ZnJvbSAyLiB3aXRoIHAgc2V0IHRvIHdvcnN0IGNhc2UgdmFsdWUgb2YgMC41Cj4gCj4gCj4gCj4g Cj4gU28gd2hlbiB0aGV5IE1PRSBpcyAzJSB5b3Uga25vdyBzdXJ2ZXkgc2l6ZSB3YXMgfj0gMS8o MC4wMyleMiA9fiAxMDAwCj4gCj4gTiA9IDEwMC4gTU9FIH5+fj0gKy8tIDEwJQo+IE49IDEwLDAw MC4gTU9FIH5+fj0gMSUuCj4gLS0KPiBodHRwOi8vd3d3LnBpY2xpc3QuY29tL3RlY2hyZWYvcGlj bGlzdCBQSUMvU1ggRkFRICYgbGlzdCBhcmNoaXZlIFZpZXcvY2hhbmdlIHlvdXIgbWVtYmVyc2hp cCBvcHRpb25zIGF0IGh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1hbi9saXN0aW5mby9waWNs aXN0Cj4gCj4gCj4gLS0gCj4gaHR0cDovL3d3dy5waWNsaXN0LmNvbS90ZWNocmVmL3BpY2xpc3Qg UElDL1NYIEZBUSAmIGxpc3QgYXJjaGl2ZQo+IFZpZXcvY2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBv cHRpb25zIGF0Cj4gaHR0cDovL21haWxtYW4ubWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZvL3BpY2xp c3QKCi0tIApKYW1lcyBDYW1lcm9uCmh0dHA6Ly9xdW96bC5uZXRyZWsub3JnLwoKLS0gCmh0dHA6 Ly93d3cucGljbGlzdC5jb20vdGVjaHJlZi9waWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hp dmUKVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQKaHR0cDovL21haWxtYW4u bWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QK .