T24gVGh1LCBTZXAgMSwgMjAxMSBhdCAxOjQwIFBNLCBEd2F5bmUgUmVpZCA8ZHdheW5lckBwbGFu ZXQuZW9uLm5ldD4gd3JvdGU6Cj4gSSdkIGJlIGludGVyZXN0ZWQgaW4gcmVhZGluZyBhYm91dCB0 aGUgZXhwZXJpZW5jZXMgb2YgYW55b25lIGVsc2Ugd2hvCj4gYXR0ZW5kZWQgTWFzdGVycy4gwqBD b21lIG9uIHBlb3BsZSEgwqBUYWxrIHVwIQo+CgpJIG1ldCBzb21lb25lIGZyb20gdGhlIHBpY2xp c3QgdGhlcmUgLSBEZW5ueSBJIHRoaW5rPyAoYXBvbG9naWVzLCBJCmRpZG4ndCBnZXQgYSBjYXJk KQouLiBJIGFsc28gbWV0IE1hdHQgQmVubmV0dCBhbmQgZG96ZW5zIG9mIFtvdGhlcl0gTWljcm9j aGlwIHBlb3BsZS4KCkkgdG9vayBub3RlcyBvbiB0aGUgaW50ZXJlc3RpbmcgY2xhc3NlczoKClRo ZSB0aXRsZXMgbWF5IGJlIG15IG93bi4gVGhlIGNsYXNzIG51bWJlcnMgYXJlIGNvcnJlY3Q6CgpD bGFzcyAxNTA0OiBOZXcgUElDcwotIFBJQzEwRjMyeCB3aXRoIG5ldyBwZXJpcGhlcmFscyAoQ0xD LCBDV0cpCi0gUElDMjRGSjEyOEdDMHh4IC0gQWR2YW5jZWQgYW5hbG9nIHBlcmlwaGVyYWxzOiAx NiBiaXQgc2lnbWEtZGVsdGEgQApzb21ldGhpbmcgbGlrZSAxMDBrSHogc2FtcGxlIHJhdGUuICsg MTIgYml0IFNBUiBBL0QgKyAyIDEwIGJpdCBEQUNzICsKMiBvcGFtcHMuIEdyZWF0ISBWZXJ5IGV4 Y2l0ZWQgYWJvdXQgdGhpcyBwYXJ0Ci0gUElDMzJNWDJ4eCAtIDI4IHBpbiBwYXJ0cywgYWxzbyA1 eDUgUUZOLCBJMlMgaW4gc29tZSBwYXJ0cy4KSW50ZXJlc3RlZCBpbiB0aGlzIHRvby4gSSBqdXN0 IGRvbid0IGhhdmUgZW5vdWdoIGJhbmR3aWR0aCB0byBwbGF5CndpdGggbmV3IHBhcnRzLgotIFBJ QzE2RjE3OHggLSAxMiBiaXQgQS9ECi0xOEY4N0o3MiAtIFtwb3dlcj9dIG1ldGVyaW5nIHBlcmlw aGVyYWwKLW5ldyBwZXJpcGhlcmFsczoKTkNPIFtzcXVhcmUgd2F2ZSBERFNdCkNMQwotMThGJ0s1 MCAtIFVTQiB3aXRoIFVTQiBjbG9jayByZWNvdmVyeS4gSSB3aWxsIGJlIHVzaW5nIHRoaXMgcGFy dC4KLTMzRVA2NE1DNTA2IC0gMC41bUEvTUh6IGRzUElDCi0zM0ZKMDlHUyAtIDE4LTM2IHBpbnMs IFNNUFMgYXBwcy4KLTE4RjQ1SzIyIC0gSUVFRSA4MDIuMTUuNCB0cmFuc2NlaXZlciBbYnVpbHQg aW4/XQotUElDMTJMRjE4NDAgLSA0MTgtODY4IE1IeiBbdHJhbnNjZWl2ZXIgSSBndWVzc10KLU5l dyBXaUZpIG1vZHVsZSB3aXRoIFdpRmkgcHJvdGVjdGVkIHNldHVwICsgIFdpRmkgZGlyZWN0IFs/ XQotTVJGMjRYQSAtIDJNYml0L3MgZGF0YSByYXRlIHZzLiAxTWIvcyBub3cKCgpDbGFzcyAxNTA2 OiBOZXcgcGVyaXBoZXJhbHMKLSBXb3VsZCBoYXZlIGJlZW4gaW50ZXJlc3RpbmcgcGVyaGFwcyBi dXQgdGhleSBjb3ZlcmVkIGV2ZXJ5dGhpbmcgd2VsbAplbm91Z2ggZm9yIG1lIGluIGNsYXNzIDE1 MDQKCgpDbGFzcyAxNTA5OiBIaWdoIHBlcmZvcm1hbmNlIERTQyAoZHNQSUNzLCBIUE1EKQotIE9u ZSBvZiB0aGUgbW9zdCBpbnRlcmVzdGluZyBjbGFzc2VzLiBJIGRvIGEgbG90IG9mIHdvcmsgd2l0 aCBkc1BJQ3MsCndyaXRpbmcgYXNzZW1ibHksIHNvIGl0IHdhcyBncmVhdCB0byBoZWFyIGFib3V0 IHNpbGljb24tbGV2ZWwgZGV0YWlscwpvZiBuZXcgZHNQSUNzLiBNaWtlIENhdGhlcndvb2QgZGlk IG1vc3Qgb2YgdGhlIHRhbGtpbmcgYXMgSSByZWNhbGwuClZlcnkgc21hcnQgZ3V5LgotIE5ldyAn RScgZmFtaWx5IG9mIGRzUElDcyB3aWxsIG9wZXJhdGUgYXQgNjAgTUlQUywgd2l0aCBjYXZlYXRz CnJlbGF0ZWQgdG8gdGhlaXIgaW50ZXJsZWF2ZWQgZmxhc2guIE1lbW9yeSBmZXRjaGluZyB0YWtl cyBtb3JlIGN5Y2xlcwpzbyBpZiB5b3UgZHVtcCB0aGUgcGlwZWxpbmUgaXQgd2lsbCB0YWtlIHNl dmVyYWwgY3ljbGVzIHRvIHJlY292ZXIuCkFsc28gdGhlIHBvd2VyIHdlbnQgV0FZIGRvd24gKHNl ZSAzM0VQNjRNQzUwNiwgYWJvdmUpCi0gVGhlIERTUCBjb3JlIHN0YXR1cyBiaXRzIGFyZSBub3cg Ui9XIHNvIHlvdSBjYW4gc2F2ZSBEU1AgY29udGV4dC4KLSBNYW55IG1vcmUgbG93IGxldmVsIGRl dGFpbHMuIEkgZGlkbid0IHRha2UgbWFueSBub3RlcyBiZWNhdXNlIGl0CndvdWxkIGhhdmUgYmVl biB0b28gbXVjaCB0byB3cml0ZS4KCgpDbGFzcyAxNTQzOiBVU0IgT1RHICsgZW1iZWRkZWQgaG9z dAotIEEgdG9wIGNsYXNzIGFzIHdlbGwuIERhdmlkIEZsb3dlcnMgaXMgYSB2ZXJ5IGdvb2QgaW5z dHJ1Y3Rvci4KLSBJIGxlYXJuZWQgYSBsb3QgYWJvdXQgVVNCIE9URy4KCkNsYXNzIDE1ODI6IERp Z2l0YWwgUG93ZXIgQ29udmVyc2lvbgotIERpc2N1c3Npb24gb2YgdGhlIExMQyByZXNvbmFudCBj b252ZXJ0ZXIuIEFnYWluLCB2ZXJ5IGludGVyZXN0aW5nIG1hdGVyaWFsLgoKQ2xhc3MgMTU4Mzog R3JpZC1jb25uZWN0ZWQgc29sYXIgbWljcm9pbnZlcnRlcgotIFZlcnkgc3BlY2lmaWMgYXBwLiBm b3IgYSB+MjMwIHdhdHQgc29sYXIgbWljcm9pbnZlcnRlci4KLSBUb3BvbG9neSBpcyBpbnRlcmxl YXZlZCBmbHliYWNrICsgU0NSIGludmVydGVyCi0gVXNlZCBzb2Z0d2FyZSBQTEwKCkNsYXNzIDE1 ODQ6IEFkYXB0aXZlICYgbm9ubGluZWFyIGRpZ2l0YWwgcG93ZXIgc3VwcGx5IGNvbnRyb2wKLSBJ bnN0cnVjdG9yOiBBbmRyZWFzIFJlaXRlciAoTWljcm9jaGlwLCBHZXJtYW55KQotIEltcGxlbWVu dGluZyB0eXBpY2FsIGRpZ2l0YWwgUExMIGNvbnRyb2wKLSBBZGRpbmcgdG8gdGhpcyBmZWVkZm9y d2FyZCBjb250cm9sIHN1Y2ggYXMgY3VycmVudCBtb2RlLCBwZWFrCmN1cnJlbnQvYXZlcmFnZSBj dXJyZW50Ci0gQWRkaW5nIHRvIHRoaXMgd2hhdCBoZSBjYWxsZWQgZXJyb3IgdmVjdG9yIGNvbnRy b2wuIGkuZS4gaWYgdGhlIGxhc3QKMyBmZWVkYmFjayBwb2ludHMgYXJlIHNoYXJwbHkgbmVnYXRp dmUgaW4gZHYvZHQgdGhlbiBvdXRwdXQgYSBmZXcKbGFyZ2UgUFdNIHB1bHNlcy4gVGhpcyBpcyB0 aGUgbm9ubGluZWFyIGNvbnRyb2wuCi0gQWxzbyBhZGRpbmcgKHJpc2t5KSBhdXRvbWF0ZWQgZGVh ZC10aW1lIHR1bmluZyB0byBhY2hpZXZlIGhpZ2hlc3QKcG9zc2libGUgZWZmaWNpZW5jeS4gRm9y IGV4YW1wbGUsIGluIGEgc3luY2hyb25vdXMgcmVjdGlmaWVkIGJ1Y2sKY29udmVydGVyLCB3aXRo IGhpcyBhbGdvcml0aG0gaGUgaW1wcm92ZWQgZWZmaWNpZW5jeSBieSBjbG9zZSB0byAzJS4KTm90 IGJhZC4KCkNsYXNzIDE1MTk6IE1lZGljYWwgLSBGREEgNTEwSyBkb2N1bWVudGF0aW9uIGludHJv LgotIEluc3RydWN0b3I6IERhdmUgUm9zcyAoY29uc3VsdGFudCwgQ29ubmVjdGljdXQpCi0gRGF2 ZSB3ZW50IHRocm91Z2ggdGhlIDExIHBhcnQgRkRBIDUxMEsgZG9jdW1lbnRhdGlvbiBwcm9jZXNz IGZvcgpnZXR0aW5nIGEgdGhlIHNvZnR3YXJlIG9mIGEgbWVkaWNhbCBkZXZpY2UgYXBwcm92ZWQu Ci0gRXhjZWxsZW50IGluZm9ybWF0aW9uIGFib3V0IHRoZSBkZXNpZ24gcHJvY2VzcyB0aGF0IEkg aGF2ZW4ndAplbmNvdW50ZXJlZCBiZWZvcmUuIEkgdGhvdWdodCB0aGlzIGNsYXNzIHdhcyBleHRy ZW1lbHkgdXNlZnVsLgoKQ2xhc3MgMTU2OTogTGlnaHQgc2Vuc2luZwotIEpvZSBTbWl0aCwgVEFP UyAoVGV4YXMpCi0gSW50ZXJlc3RpbmcgbGlnaHRpbmcgaW5mby4gUnVzc2VsbCB3b3VsZCBoYXZl IGxvdmVkIGl0LgotIExpZ2h0aW5nIGlzbid0IGEgYmlnIGludGVyZXN0IGZvciBtZSwgc28gSSB3 YXMgYSBsaXR0bGUgYm9yZWQuCgpUaGUgb25seSBvdGhlciBjbGFzcyBJIHJlbWVtYmVyIHdhcyBv biBEU1AgYXVkaW8gYXBwcy4gSXQgd2FzIGEKaGFuZHMtb24gY2xhc3MuIEkga25vdyBzb21lIHBl b3BsZSBsb3ZlIHByb2dyYW1taW5nIHRoZSBkZW1vIGJvYXJkIGFuZApzZWVpbmcgaXQgd29yay4g SSBkb24ndCBjYXJlIGFzIG11Y2guIEkgc3RheWVkIGZvciB0aGUgbWF0aCBhdCB0aGUKYmVnaW5u aW5nLiBUaGUgaW5zdHJ1Y3RvciB3YXMgdmVyeSBrbm93bGVkZ2VhYmxlLCBidXQgSSBsZWZ0IGFm dGVyIHRoZQpmaXJzdCBkZW1vLiBUaGUgaGFuZHMtb24gZGVtb3MgdXN1YWxseSBpbmNsdWRlOiAi bm93LCB1bmNvbW1lbnQgdGhpcwpsaW5lIG9mIGNvZGUgLi4uIgoKTXkgc2Vjb25kIHllYXIgYXQg TWFzdGVycy4gSSB0aGluayBJIGdvdCBtb3JlIG91dCBvZiBpdCB0aGlzIHRpbWUuIEkKdGhpbmsg dGhhdCdzIGJlY2F1c2UgSSBsb29rZWQgZm9yIHRoZSBtb3JlIGluLWRlcHRoIGNsYXNzZXMuIEkg YWxzbwp0cmllZCB0byBzdGF5IG9uIGFuIGVhc3Rlcm4gdGltZSB6b25lIHdoaWNoIGhlbHBlZC4g TWFraW5nIHRoZQplYXN0LWNvYXN0ZXJzIHdhaXQgdW50aWwgNjozMCBQTSB0byBlYXQgZGlubmVy IGlzIGEgYml0IHJvdWdoLiBZZXMsIEkKa25vdyBmb3JlaWduIHBlb3BsZSBoYXZlIGl0IHdvcnNl IG9mZiBnZW5lcmFsbHkuCgpJIGNhbiBzZWUgbXlzZWxmIGdvaW5nIG5leHQgeWVhci4gSSBob3Bl IHRoZXJlIHdvbid0IGJlIGEgaHVycmljYW5lIGluCm15IHdheSBuZXh0IHllYXIuCgotLSAKTWFy dGluIEsuCkNvbnN1bHRhbnQgd2l0aCBhIGNvbXBhbnkgeW91J3ZlIHByb2JhYmx5IGhlYXJkIG9m IGJlZm9yZS4KCi0tIApodHRwOi8vd3d3LnBpY2xpc3QuY29tIFBJQy9TWCBGQVEgJiBsaXN0IGFy Y2hpdmUKVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQKaHR0cDovL21haWxt YW4ubWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QK .