T24gMTYgRGVjZW1iZXIgMjAxNSBhdCAwNzowMSwgVG9iaWFzIEdvZ29saW4gPHVzZXJ0b2dvQGdt YWlsLmNvbT4gd3JvdGU6CgpWZXJ5IGJyaWVmLiBNb3JlIGFub24gaWYgbmVlZGVkLgoKQSAgaGFs b2dlbiBvciB0dW5nc3RlbiBoaWdoIHBvd2VyIGJ1bGIgaXMgcHJvYmFibHkgZ29vZCBlbm91Z2gg Zm9yIG1vc3QKY29tcGFyaXNvbnMuCkxpZ2h0IHJlYWRpbmcgb24gdHlwaWNhbCBkYXlsaWdodCBy ZWFkaW5nIGx1eCBtZXRlcnMgd2lsbCBiZSBhcm91bmQgM3glCihmcm9tIG1lbW9yeSkgb2Ygc3Vu bGlnaHQgcmVhZGluZyBvbiBzYW1lIG1ldGVycyBmb3Igc2FtZSBvdXRwdXRzLiBUaGlzIGlzCmR1 ZSB0byBNVUNIIGhpZ2hlciBJUiBjb21wb25lbnQgaW4gdHVuZ3N0ZW4gbGFtcHMuCgpVc2luZyB0 d28gY2VsbHMgc2lkZSBieSBzaWRlIHdpdGggZXF1YWwgaWxsdW1pbmF0aW9uIGZyb20gbGFtcCB0 byBlYWNoIGFuZApydW4gb25seSB3aGVuIG5lZWRlZCBjYW4ga2VlcCB0ZXN0IGNlbGwgImNvb2wg ZW5vdWdoIiBhbmQgYWxsb3cgY29tcGFyYXRpdmUKdGVzdHMgYWdhaW5zdCBvdGhlciBjZWxscy4g RXZlbiBpZiB0ZXN0IGNlbGwgaXMgcnVuIGhvdCB5b3UgY2FuIHN0aWxsCmNvbXBhcmUgb3RoZXIg Y2VsbCBvdXRwdXRzIGFnYWluc3QgZWFjaCBvdGhlciBhcyBsb25nIGFzIHRoZXkgaGVhdAptaW5p bWFsbHkgZHVyaW5nIHRlc3QuIGVnIHVzZSBhICJzaHV0dGVyIiwgcGxhY2UgbmV3IGNlbGwsIG9w ZW4gc2h1dHRlciwKYWxsb3cgc2F5IDEwIHNlY29uZHMgc2V0dGxpbmcgYW5kIHRha2UgcmVhZGlu Zy4KCklkZWFsbHkgeW91J2QgZG8gYW4gTVBQVCBydW4gYXQga25vd24gdGVtcGVyYXR1cmUsIGFu ZC1vciBwbG90IFZJIGN1cnZlcwpCVVQgcmVhc29uYWJseSBnb29kIHJlc3VsdHMgY2FuIGJlIGdv dCBlaXRoZXIgYnkgbG9hZGluZyBjZWxsIHRvIGNvbnN0YW50CnZvbHRhZ2Ugb2Ygc2F5IGFib3V0 IDgwJSBvZiBub21pbmFsIFZvYyBPUiB0ZXN0aW5nIElzYyBpbnRvIGVnIGEgbWV0ZXIgb2YKb3Ro ZXIgbG9hZCBtdWNoIGdyZWF0ZXIgdGhhbiB1c3VhbCBzbyBWY2VsbCBpcyBzbWFsbC4KCkFuIElz YyB0ZXN0IGlzIGEgcmVhc29uYWJsZSB3YXkgb2Ygcm91Z2hseSBzb3J0aW5nIGNlbGxzLgoKQmVz dCBjZWxscyBoYXZlIGdvb2QgImZpbGwgZmFjdG9yIiA9IFZtcCB4IEltcCAvIChJc2MgeCBWb2Mp ClRoaXMgaXMgYSBmdW5jdGlvbiAodXN1YWxseSkgb2YgdGhlIGdlbmVyYWwgY2VsbCBiYXRjaCAt IHF1YWxpdHkgb2YKbWF0ZXJpYWwgbWFudWZhY3R1cmUgZXRjLgoKSW4gbWFueSBhcHBsaWNhdGlv bnMgYWJzb2x1dGUgYmVzdCBlZmZpY2llbmN5IGlzIG5vdCBvZiB2YXN0IGNvbmNlcm4gZXhjZXB0 CndoZW4gbW91bnRpbmcgYXJlYSBpcyBjb25zdHJhaW5lZCBhbmQvb3IgbW91bnRpbmcgY29zdHMg cGVyIHBhbmVsIGFyZSBhCnNpZ25pZmljYW50ICBwb3J0aW9uIG9mIHRvdGFsIGNvc3QuIEluIHlv dXIgY2FzZSB0aGUgImNvbnN0cmFpbmVkIGFyZWEiCmxpbWl0IGFwcGxpZXMsIGFsYXMuCgoKICBS dXNzZWxsCgoK4oCLCi0tIApodHRwOi8vd3d3LnBpY2xpc3QuY29tL3RlY2hyZWYvcGljbGlzdCBQ SUMvU1ggRkFRICYgbGlzdCBhcmNoaXZlClZpZXcvY2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBvcHRp b25zIGF0Cmh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1hbi9saXN0aW5mby9waWNsaXN0Cg== .