SXQgcmVhbGx5IGlzbid0IHRoYXQgaGFyZC4gIFByaW50IHRoZSBhcnR3b3JrIG9uIHRvIG1hZ2F6 aW5lIHBhcGVyIHdpdGggCmEgbGFzZXIgcHJpbnRlciwgdHJhbnNmZXIgdG8gY29wcGVyIGNsYWQg dXNpbmcgYSBsYW1pbmF0b3IsIGFuZCBldGNoLiAgSSAKY2FuIHJlbGlhYmx5IGRvIC41bW0gc3Bh Y2luZywgd2hpY2ggaXMgYXMgc21hbGwgYXMgSSBjYW4gY29tZm9ydGFibHkgZG8gCmhhbmQgc29s ZGVyaW5nLgoKVGhlcmUgaXMgYSBncm91cDoKCmh0dHA6Ly9ncm91cHMueWFob28uY29tL2dyb3Vw L0hvbWVicmV3X1BDQnNZYWhvbwoKCktlcnJ5CgoKCgpqaW1mQHdlYnN0dWRpb3MuY28udWsgd3Jv dGU6Cj4gIAo+Cj4gCUdvb2QgbHVjayB3aXRoIHRoYXQgb25lLi4gIEkgc3VjayBhdCBtYWtpbmcg U01UIGNhcGFibGUgaG9tZWJyZXcKPiBib2FyZHMgYW5kIHdoZXJlIHBvc3NpYmxlIGkgaGFzaCB0 aGluZ3MgdXAgdXNpbmcgUFRIIGFuZCBoYXZlIHRoZQo+IHJlYWwgb25lcyBtYWRlIGJ5IGEgcGVv cGxlIHdpdGggbW9yZSBza2lsbCB0aGFuIEksIChhdCBhIGNvc3Qgb2YKPiBjb3Vyc2UpLgo+ICBP biBNb24gMjAvMTIvMTAgMTo1MiBQTSAsIElzYWFjIE1hcmlubyBCYXZhcmVzY28KPiBpc2FhY2Jh dmFyZXNjb0B5YWhvby5jb20uYnIgc2VudDoKPiAgIEVtIDIwLzEyLzIwMTAgMTE6MzAsIE9saW4g TGF0aHJvcCBlc2NyZXZldToKPiAgPj4gSXQncyBhIHNpbmdsZSBsYXllciBib2FyZCwKPiAgPiBX aHk/IFlvdSBkb24ndCBnZXQgYSBwcmljZSBicmVhayBmb3IgdXNpbmcgb25seSBhIHNpbmdsZSBs YXllcgo+IGJlY2F1c2UgdGhlCj4gID4gYm9hcmQgaG91c2Ugd2lsbCB1c2UgYSAyIGxheWVyIHBy b2Nlc3MgYW55d2F5Lgo+ICBQZXJoYXBzIGhlIHdhbnRzIHRvIGV0Y2ggdGhlIGJvYXJkIGhpbXNl bGYsIHdpdGggYSBob21lIHByb2Nlc3MuCj4gIElzYWFjCj4gIF9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gIEZhbGUgY29tIHNldXMgYW1pZ29zIGRl IGdyYcOnYSBjb20gbyBub3ZvIFlhaG9vISBNZXNzZW5nZXIgCj4gIGh0dHA6Ly9ici5tZXNzZW5n ZXIueWFob28uY29tLyBbMV0gCj4gIC0tIAo+ICBodHRwOi8vd3d3LnBpY2xpc3QuY29tIFsyXSBQ SUMvU1ggRkFRICYgbGlzdCBhcmNoaXZlCj4gIFZpZXcvY2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBv cHRpb25zIGF0Cj4gIGh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1hbi9saXN0aW5mby9waWNs aXN0IFszXQo+Cj4KPiBMaW5rczoKPiAtLS0tLS0KPiBbMV0gaHR0cDovL2JyLm1lc3Nlbmdlci55 YWhvby5jb20vCj4gWzJdIGh0dHA6Ly93d3cucGljbGlzdC5jb20KPiBbM10gaHR0cDovL21haWxt YW4ubWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QKPiAgIAoKCgotLSAKSW50ZXJuYWwg VmlydXMgRGF0YWJhc2UgaXMgb3V0LW9mLWRhdGUuCkNoZWNrZWQgYnkgQVZHIEFudGktVmlydXMu ClZlcnNpb246IDcuMC4yODkgLyBWaXJ1cyBEYXRhYmFzZTogMjY3LjExLjEzIC0gUmVsZWFzZSBE YXRlOiAxMC82LzA1CgotLSAKaHR0cDovL3d3dy5waWNsaXN0LmNvbSBQSUMvU1ggRkFRICYgbGlz dCBhcmNoaXZlClZpZXcvY2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBvcHRpb25zIGF0Cmh0dHA6Ly9t YWlsbWFuLm1pdC5lZHUvbWFpbG1hbi9saXN0aW5mby9waWNsaXN0Cg== .