RE: log4j2 performance issues with Java 11
Laurent Hasson <[email protected]>
| Newsgroups | gmane.comp.jakarta.log4j.user |
|---|---|
| Message-ID | <MN2PR19MB2782DDB59B2F53B5FE35616CADFF0@MN2PR19MB2782.namprd19.prod.outlook.com> |
V2UgdXNlIGJhc2ljIGZlYXR1cmVzIG9mIExvZzRKIGFuZCBoYXZlIG5vdCBleHBlcmllbmNlZCBt ZWFzdXJhYmxlIHBlcmZvcm1hbmNlIGlzc3VlcyBvbiBvdXIgZW5kLiBCdXQgb3RoZXIgdG9vbHMg d2UgdXNlIGhhdmUgZ29uZSB0aHJvdWdoIHVwcyBhbmQgZG93bnMgc3VjaCBhcyBFY2xpcHNlLCBU b21jYXQgb3IgUGVudGFobyBLZXR0bGUuDQoNCkFuZCBpbiBzcGl0ZSBvZiB5b3VyIHBhaWQgam9i LCB5b3VyIGhlbHAgaW4gdGhpcyBmb3J1bSBpcyBjb25zdGFudC4gSXQncyBhbWF6aW5nIGFuZCBp bnNwaXJpbmcgdG8gc2VlLiBUaGFua3MgdG8geW91IGFuZCBhbGwgdGhlIHRlYW0uDQoNCkxhdXJl bnQgSGFzc29uDQpDby1Gb3VuZGVyIGFuZCBDVE8NCkNhcHNpY29IZWFsdGggSW5jLg0KDQoNCg0K LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IFJhbHBoIEdvZXJzIDxyYWxwaC5nb2Vy c0Bkc2xleHRyZW1lLmNvbT4gDQpTZW50OiBUaHVyc2RheSwgTm92ZW1iZXIgMTksIDIwMjAgMjI6 MTENClRvOiBMb2c0SiBVc2VycyBMaXN0IDxsb2c0ai11c2VyQGxvZ2dpbmcuYXBhY2hlLm9yZz4N ClN1YmplY3Q6IFJlOiBsb2c0ajIgcGVyZm9ybWFuY2UgaXNzdWVzIHdpdGggSmF2YSAxMQ0KDQpJ ZiB5b3UgaGF2ZSBlbmNvdW50ZXJlZCBwZXJmb3JtYW5jZSBpc3N1ZXMgbXkgcmVjb21tZW5kYXRp b24gaXMgdG8gZ2V0IFlvdXJLaXQgYW5kIHRha2Ugc25hcHNob3RzIG9mIENQVSB1c2FnZS4gSWYg eW91IGNhcHR1cmUganVzdCBhIGZldyBtaW51dGVzIG9mIOKAnG5vcm1hbOKAnSBhY3Rpdml0eSBJ 4oCZZCBiZSBoYXBweSB0byBsb29rIGF0IHRoZSBzbmFwc2hvdHMgYW5kIGludmVzdGlnYXRlIHdo YXRldmVyIG1pZ2h0IGJlIGdvaW5nIG9uLiAgSSBzaG91bGQgbm90ZSB0aGF0IEkgZG8gaGF2ZSBh IHBhaWQgZGF5IGpvYiBzbyB0aGVzZSB3aWxsIG5lZWQgdG8gYmUgcmVsYXRlZCB0byBMb2c0aiAy IGFuZCB5b3Ugc2hvdWxkIG5vdCBleHBlY3QgaW5zdGFudCB0dXJuYXJvdW5kLiAgDQoNClJhbHBo DQoNCj4gT24gTm92IDE5LCAyMDIwLCBhdCA3OjU5IFBNLCBMYXVyZW50IEhhc3NvbiA8bGRoQENh cHNpY29IZWFsdGguY29tPiB3cm90ZToNCj4gDQo+IFRoaXMgaXMgYSBncmVhdCB0aHJlYWQuIFRo YW5rIHlvdSBMaXNhIGFuZCB0aGUgTG9nNEogdGVhbSBmb3IgZ2V0dGluZyB0byB0aGUgYm90dG9t IG9mIHRoaXMuDQo+IA0KPiBNb3ZpbmcgdG8gSmF2YSAxMSBoYXMgYWxzbyBiZWVuIHNvbWV3aGF0 IHRyYXVtYXRpYyBmb3IgdXMuLi4gdGhpcyBicmVha2Rvd24gb2YgbG9nNGogcGVyZm9ybWFuY2Ug YXQgdGhlIGZlYXR1cmUgbGV2ZWwgaXMgZmFzY2luYXRpbmcgdG8gc2VlLiBJIGhvcGUgc29tZSBh cnRpY2xlIGNvbWVzIG91dCBvZiB0aGlzIG9uY2UgeW91IGFsbCBoYXZlIGZpZ3VyZWQgaXQgb3V0 Lg0KPiANCj4gVGhhbmsgeW91LA0KPiBMYXVyZW50Lg0KPiANCj4gU2VudCBmcm9tIG15IEJsYWNr QmVycnkgLSB0aGUgbW9zdCBzZWN1cmUgbW9iaWxlIGRldmljZQ0KPiBGcm9tOiByYWxwaC5nb2Vy c0Bkc2xleHRyZW1lLmNvbQ0KPiBTZW50OiBOb3ZlbWJlciAxOSwgMjAyMCAyMTowNw0KPiBUbzog bGJydWJ5MUBwcm90b25tYWlsLmNvbQ0KPiBSZXBseS10bzogbG9nNGotdXNlckBsb2dnaW5nLmFw YWNoZS5vcmcNCj4gQ2M6IHZvbGthbi55YXppY2lAZ21haWwuY29tOyBsb2c0ai11c2VyQGxvZ2dp bmcuYXBhY2hlLm9yZw0KPiBTdWJqZWN0OiBSZTogbG9nNGoyIHBlcmZvcm1hbmNlIGlzc3VlcyB3 aXRoIEphdmEgMTENCj4gDQo+IEkgYW0gYXNzdW1pbmcgeW91IGNhcHR1cmVkIHRoZSBzbmFwc2hv dCBmcm9tIHlvdXIgcHJvZmlsaW5nIHNlc3Npb24/IElmIHNvIGl0IHdvdWxkIGJlIGdyZWF0IGl0 IHlvdSBjb3VsZCBzZW5kIGl0IHRvIG1lLiBJIGNhbiBlbWFpbCB5b3UgcHJpdmF0ZWx5IHdpdGgg YSBkcm9wYm94IGxvY2F0aW9uIHdoZXJlIHlvdSBjYW4gcGxhY2UgdGhlIGZpbGUgaWYgdGhhdCB3 aWxsIHdvcmsgZm9yIHlvdS4NCj4gDQo+IEZXSVcsIEkgZmluZCB5b3VyIHJlc3VsdHMgc3VycHJp c2luZyBhcyBhbGwgJWxvZ2dlcnszNn0gc2hvdWxkIGJlIGRvaW5nIGlzIHRydW5jYXRpbmcgdGhl IGxvZ2dlciBuYW1lIGFuZCBpbmNsdWRpbmcgaXQuIEkgd291bGQgaGF2ZSBleHBlY3RlZCBmb3Jt YXR0aW5nIHRoZSB0aW1lIG9yIGluY2x1ZGluZyB0aGUgbG9jYXRpb24gaW5mbyB0byBiZSBzbG93 ZXIgdGhhbiBkZWFsaW5nIHdpdGggdGhlIGxvZ2dlci4NCj4gDQo+IFRoYW5rcywNCj4gUmFscGgN Cj4gDQo+PiBPbiBOb3YgMTksIDIwMjAsIGF0IDc6MDAgUE0sIExpc2EgUnVieSA8bGJydWJ5MUBw cm90b25tYWlsLmNvbT4gd3JvdGU6DQo+PiANCj4+IEhpLA0KPj4gDQo+PiBJIGhhdmUgd2hhdCBJ IGhvcGUgd2lsbCBiZSBzb21lIHVzZWZ1bCBpbmZvcm1hdGlvbi4gSSBkaWQgd2hhdCBWb2xrYW4g c3VnZ2VzdGVkIGFuZCByZW1vdmVkIGVhY2ggbG9nIG9wdGlvbiBtb3N0bHkgb25lIGF0IGEgdGlt ZS4gSSd2ZSBwYXN0ZWQgaW4gdGhlIGluZm9ybWF0aW9uIEkgY29sbGVjdGVkIGJlbG93LiBJdCBh cHBlYXJzIHRoYXQgaXQncyB0aGUgJWxvZ2dlcnszNn0gb3B0aW9uIHRoYXQgaXMgbWFraW5nIHRo ZSBDb25zb2xlIGxvZ2dpbmcgZ28gc28gc2xvdy4gVGFraW5nIG91dCBvdGhlciBvcHRpb25zIHNw ZWVkcyB0aGluZ3MgdXAgc29tZSwgYnV0IHRha2luZyBvdXQgb25seSAlbG9nZ2VyIGdldHMgaXQg dG8ganVzdCBhYm91dCB0aGUgc2FtZSBwZXJmb3JtYW5jZSBhcyBvbiBKYXZhIDguIE1heWJlIHRo YXQncyBvbmx5IGJlY2F1c2UgbGVzcyB0ZXh0IGlzIGdvaW5nIHRvIHRoZSBDb25zb2xlPyBEb24n dCBrbm93LiBCZWxvdyB0aGlzIHRhYmxlIGlzIGluZm9ybWF0aW9uIGZyb20gUHJvZmlsaW5nLg0K Pj4gDQo+PiANCj4+IFZlcmlmaWVkIHNhbWUgdGhpbmdzIGFyZSBiZWluZyBsb2dnZWQgaW4gYm90 aCBKYXZhIDggYW5kIEphdmEgMTENCj4+IA0KPj4gDQo+PiANCj4+IEphdmEgVmVyc2lvbiAgVGVz dCBEZXNjcmlwdGlvbiAgICAgICAgVGltZSBpbiBzZWNvbmRzIGZvciBTdGFydHVwIGFmdGVyIExv Z2luIENvbW1lbnRzDQo+PiA4ICAgICBCYXNlbGluZSB0ZXN0IHdpdGggbm90aGluZyBjaGFuZ2Vk IGluIGFwcCBvciBsb2c0ajIueG1sIGZpbGUgICAgNA0KPj4gMTEgICAgQmFzZWxpbmUgdGVzdCB3 aXRoIG5vdGhpbmcgY2hhbmdlZCBpbiBhcHAgb3IgbG9nNGoyLnhtbCBmaWxlICAgIDI1LjcNCj4+ IDExICAgIFJlbW92ZWQgUm9sbGluZyBMb2cgRmlsZSBsb2dnaW5nIGZyb20gbG9nNGoyLnhtbC4g U28gQ29uc29sZSBvbmx5IGxvZ2dpbmcsIG5vIG90aGVyIGNoYW5nZXMgdG8gbG9nNGoyLnhtbCAg ICAgICAyNC4xMw0KPj4gMTEgICAgUmVtb3ZlZCBvbmx5ICVMLCBDb25zb2xlIG9ubHkgbG9nZ2lu ZyAgIDIzLjc4DQo+PiAxMSAgICBSZW1vdmVkIG9ubHkgWyV0XSBDb25zb2xlIG9ubHkgbG9nZ2lu ZyAgMTYuNzkNCj4+IDExICAgIFJlbW92ZWQgb25seSAlZHtJU084NjAxfSwgQ29uc29sZSBvbmx5 IGxvZ2dpbmcgIDE4LjExDQo+PiAxMSAgICBSZW1vdmVkICAlZHtJU084NjAxfSAgYW5kIFsldF0s IENvbnNvbGUgb25seSBsb2dnaW5nICAgIDExLjE3DQo+PiAxMSAgICBSZW1vdmVkIG9ubHkgJWxv Z2dlcnszNn0sIENvbnNvbGUgb25seSBsb2dnaW5nICA1Ljg5DQo+PiANCj4+IA0KPj4gUFJPRklM SU5HDQo+PiAtLS0tLS0tLS0tLS0tLS0tLQ0KPj4gSSBkb3dubG9hZGVkIGEgdHJpYWwgdmVyc2lv biBvZiB0aGUgWW91cktpdCBKYXZhIFByb2ZpbGVyIGFuZCBoYXZlIHRyaWVkIHBsYXlpbmcgd2l0 aCBpdC4gIEkgYW0gcnVubmluZyBpdCBhcyBmb2xsb3dzOg0KPj4gDQo+PiBJIGluc3RhbGxlZCB0 aGUgTmV0YmVhbnMgcGx1Z2luDQo+PiBTZXQgdGhlIE9wdGlvbnMgdG8gU3RhcnR1cCB3aXRoIENQ VSBQcm9maWxpbmcvU2FtcGxpbmcuDQo+PiBSYW4gUHJvZmlsZSBNYWluIFByb2plY3QNCj4+IEkg dGhlbiBsb2dnZWQgaW50byBteSBhcHBsaWNhdGlvbiBhbmQgb25jZSBpdCdzIGZ1bGx5IHN0YXJ0 ZWQgSSANCj4+IGNoZWNrZWQgdGhlIE1ldGhvZCBMaXN0IGFuZCBzb21lIG90aGVyIHRoaW5ncyBJ IGRvbid0IHNlZSANCj4+IGphdmEudXRpbC5TdGFja3dhbGtlciBsaXN0ZWQgaW4gdGhlIE1ldGhv ZCBMaXN0IFRoaXMgaXMgZXZlcnl0aGluZyBJIA0KPj4gc2VlIHRoYXQgaXMgbm90IG15IGFwcGxp Y2F0aW9uIGNsYXNzIG1ldGhvZHMNCj4+IA0KPj4gPHBuYmtsaXBvYWZoZG1jaXAucG5nPg0KPj4g DQo+PiA8b2xtYWZlZmphYnBjb2RqYy5wbmc+DQo+PiANCj4+IA0KPj4gSGVyZSBpcyB3aGF0IGl0 IHNob3dzIGZvciB0aGUgTG9nNGoyIFRocmVhZCBpbiB0aGUgRXZlbnRzIGJ5IFRhYmxlDQo+PiAN Cj4+IDxlYWxpbGJwaGFkcG5rbWNlLnBuZz4NCj4+IA0KPj4gVGhlIHByb2ZpbGVyIGlzIGFsc28g d2FybmluZyBtZSB0aGF0IHRoZXJlIG1heSBiZSBzb21lIGRlYWRsb2Nrcy4gSXQgaXMgYmV5b25k IG15IGtub3dsZWRnZSBsZXZlbCBhdCB0aGlzIHRpbWUgdG8gdHJ5IHRvIGRldGVybWluZSBpZiB0 aGVyZSBpcyBhY3R1YWxseSBhIHByb2JsZW0uIEkgc3VzcGVjdCBub3QsIGJ1dCBkb24ndCBrbm93 IGZvciBzdXJlLiBUaGlzIGlzIHdoYXQgaXQgdGVsbHMgbWU6DQo+PiANCj4+IDxtYWVwaGhianBv YmZvbWNvLnBuZz4NCj4+IDxlZmhlaWdhaGdnZWdvZGdpLnBuZz4NCj4+IA0KPj4gDQo+PiBMZXQg bWUga25vdyBpZiB0aGVyZSBpcyBhbnkgb3RoZXIgaW5mb3JtYXRpb24gSSBjYW4gY29sbGVjdC4N Cj4+IA0KPj4gTGlzYQ0KPj4gDQo+PiBPbiAxMS8xOS8yMDIwIDU6NTEgQU0sIFZvbGthbiBZYXrE sWPEsSB3cm90ZToNCj4+PiBJbiB0aGUgbGlnaHQgb2Ygd2hhdCBSYWxwaCBtZW50aW9uZWQgYWJv dXQgJUwgcGF0dGVybiwgQExpc2EsIHdvdWxkIHlvdSBtaW5kIHNlZWluZyBpZiBzaW1wbGlmeWlu ZyB0aGUgcGF0dGVybiAodGhhdCBpcywgcmVtb3ZpbmcgY2VydGFpbiBkaXJlY3RpdmVzIGJpdCBi eSBiaXQsIGUuZy4sIHN0YXJ0aW5nIHdpdGggJUwpIGhlbHBzPyBQaW5uaW5nIGRvd24gdGhlIGFj dHVhbCBzbW9raW5nIGd1biB3b3VsZCBoZWxwIHVzIGEgbG90Lg0KPj4+IA0KPj4+IE9uIFdlZCwg Tm92IDE4LCAyMDIwIGF0IDQ6NTAgUE0gUmFscGggR29lcnMgPHJhbHBoLmdvZXJzQGRzbGV4dHJl bWUuY29tIDxtYWlsdG86cmFscGguZ29lcnNAZHNsZXh0cmVtZS5jb20+PiB3cm90ZToNCj4+PiBJ cyB0aGVyZSBhbnkgY2hhbmNlIHlvdSBjb3VsZCBydW4geW91ciBhcHBsaWNhdGlvbiB1bmRlciBZ b3VyS2l0IGFuZCBwcm9maWxlIHN0YXJ0dXA/DQo+Pj4gDQo+Pj4gWW91ciBwYXJ0bmVyIHVzZXMg JUwgc28gZWFjaCBsb2cgZXZlbnQgbmVlZHMgdG8gbG9jYXRlIHRoZSBsb2NhdGlvbiBvZiB0aGUg Y2FsbGVyLiBJbiBKYXZhIDggdGhhdCB1c2VkIHRoZSBjb20uc3VuLlJlZmxlY3Rpb24gY2xhc3Mg YnV0IHRoYXQgd2FzIHJlbW92ZWQgaW4gSmF2YSA5IHNvIGluIEphdmEgMTEgaXQgd291bGQgYmUg dXNpbmcgamF2YS51dGlsLlN0YWNrV2Fsa2VyLiBJIHN1c3BlY3QgdGhlIG1ham9yaXR5IG9mIHRo ZSB0aW1lIHdpbGwgYmUgdGhlcmUuIEkgaGF2ZSBtYWRlIHNldmVyYWwgYXR0ZW1wdHMgdG8gbWFr ZSB0aGF0IGZhc3RlciBidXQgaGF2ZW7igJl0IHNlZW1lZCB0byBmaW5kIHNvbWV0aGluZyB0aGF0 IHdvcmtzIGZvciBldmVyeWJvZHkuIFNvIHByb3ZpZGluZyBhIHByb2ZpbGluZyBzbmFwc2hvdCB3 b3VsZCBoZWxwIGVub3Jtb3VzbHkuDQo+Pj4gDQo+Pj4gRldJVywgTG9nZ2luZyB0byB0aGUgQ29u c29sZSBpcyBrbm93biB0byBiZSB2ZXJ5IHNsb3csIGJ1dCBJIGRvbuKAmXQgYmVsaWV2ZSBpdCBz aG91bGQgaGF2ZSBjaGFuZ2VkIHRoYXQgbXVjaCBiZXR3ZWVuIEphdmEgOCBhbmQgMTEuDQo+Pj4g DQo+Pj4gUmFscGgNCj4+PiANCj4+Pj4gT24gTm92IDE3LCAyMDIwLCBhdCAxMToxMSBQTSwgTGlz YSBSdWJ5IDxsYnJ1YnkxQHByb3Rvbm1haWwuY29tIDxtYWlsdG86bGJydWJ5MUBwcm90b25tYWls LmNvbT4uSU5WQUxJRD4gd3JvdGU6DQo+Pj4+IA0KPj4+PiBJIGFtIHdvcmtpbmcgb24gbW92aW5n IG15IEphdmEgYXBwbGljYXRpb24gZGV2ZWxvcG1lbnQgZnJvbSBKYXZhIDggDQo+Pj4+IGFuZCBK YXZhRlggOCB0byBKYXZhIDExIGFuZCBKYXZhRlggMTEsIGFuZCBhbSBzZWVpbmcgYSBsYXJnZSAN Cj4+Pj4gcGVyZm9ybWFuY2UgZGVncmFkYXRpb24gaW4gbG9nNGogYmV0d2VlbiBKYXZhIDggYW5k IEphdmEgMTEuDQo+Pj4+IA0KPj4+PiBJJ3ZlIGZvdW5kIHRoZXNlIHR3byBpc3N1ZXMgdGhhdCBh cHBlYXIgdG8gaGF2ZSBiZWVuIGFkZHJlc3NlZC4gDQo+Pj4+IEFzc3VtaW5nIHdoYXRldmVyIGNo YW5nZXMvZml4ZXMgd2VyZSBpbnZvbHZlZCBnb3QgaW5jbHVkZWQgaW4gdGhlIA0KPj4+PiBsYXRl c3QgcmVsZWFzZXMsIHRoZXkgaGF2ZSBub3QgZml4ZWQgdGhlIGlzc3VlIEkgYW0gc2VlaW5nLg0K Pj4+PiANCj4+Pj4gaHR0cHM6Ly9naXRodWIuY29tL2xpbmUvYXJtZXJpYS9pc3N1ZXMvMjMwNiAN Cj4+Pj4gPGh0dHBzOi8vZ2l0aHViLmNvbS9saW5lL2FybWVyaWEvaXNzdWVzLzIzMDY+DQo+Pj4+ IGh0dHBzOi8vaXNzdWVzLmFwYWNoZS5vcmcvamlyYS9icm93c2UvTE9HNEoyLTI1MzcgDQo+Pj4+ IDxodHRwczovL2lzc3Vlcy5hcGFjaGUub3JnL2ppcmEvYnJvd3NlL0xPRzRKMi0yNTM3Pg0KPj4+ PiANCj4+Pj4gRm9yIEphdmEgMTEgSSBhbSB1c2luZyBBZG9wdE9wZW5KREsgdmVyc2lvbiAxMS4w LjIsIE9wZW5KRlggdmVyc2lvbiANCj4+Pj4gMTEuMC4yLCBsb2c0aiB2ZXJzaW9uIDIuMTQuMCAo YWxzbyB0cmllZCAyLjEzLjMsIGFuZCAyLjEyLjEpLCBhbmQgDQo+Pj4+IE5ldEJlYW5zIDEyLjAu IEluIG15IEphdmEgOCBpbXBsZW1lbnRhdGlvbiBJJ20gdXNpbmcgbG9nNGogMi4xMi4xLiANCj4+ Pj4gSSBjYW4gc3VwcGx5IEpESyB2ZXJzaW9uIGlmIG5lZWRlZC4NCj4+Pj4gDQo+Pj4+IEJlbG93 IGlzIGEgZ2VuZXJhbCByZXByZXNlbnRhdGlvbiBvZiB3aGF0IG15IGxvZzRqIHhtbCBjb25maWcg ZmlsZSANCj4+Pj4gbG9va3MgbGlrZS4gSXQncyB0aGUgc2FtZSBmb3IgSmF2YSA4IGFzIGZvciBK YXZhIDExLiBJIGhhdmUgYSANCj4+Pj4gTG9nZ2VycyBlbnRyeSBmb3IgZWFjaCBjbGFzcyBpbiBt eSBhcHBsaWNhdGlvbi4gVGhleSBhcmUgYWxsIA0KPj4+PiBzcGVjaWZpZWQgdGhlIHNhbWUgYXMg dGhlIG9uZSBzaG93biBoZXJlLiBJbiBlYWNoIGNsYXNzIGZpbGUgSSBoYXZlIGNvZGUgdGhhdCBs b29rcyBsaWtlIHRoaXM6DQo+Pj4+IA0KPj4+PiBwcml2YXRlIHN0YXRpYyBmaW5hbCBMb2dnZXIg bG9nZ2VyID0gDQo+Pj4+IExvZ01hbmFnZXIuZ2V0TG9nZ2VyKENsYXNzTmFtZS5jbGFzcy5nZXRO YW1lKCkpOw0KPj4+PiANCj4+Pj4gWE1MIEZpbGUgU2FtcGxlDQo+Pj4+IA0KPj4+PiA8P3htbCB2 ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PiA8Q29uZmlndXJhdGlvbiBzdGF0dXM9Indh cm4iIA0KPj4+PiBtb25pdG9yaW50ZXJ2YWw9IjE1Ij4gIDxBcHBlbmRlcnM+DQo+Pj4+ICAgIDxD b25zb2xlIG5hbWU9IkNvbnNvbGUiIHRhcmdldD0iU1lTVEVNX09VVCI+DQo+Pj4+ICAgICAgPFBh dHRlcm5MYXlvdXQgcGF0dGVybj0iJWR7SVNPODYwMX0gWyV0XSAlLTVsZXZlbCAlbG9nZ2VyezM2 fSANCj4+Pj4gLSAlTCAtICVtc2clbiIvPg0KPj4+PiAgICA8L0NvbnNvbGU+DQo+Pj4+ICAgIDxS b2xsaW5nRmlsZSBuYW1lPSJSb2xsaW5nTG9nRmlsZSIgZmlsZU5hbWU9ImxvZ3MvYXBwLmxvZyIN Cj4+Pj4gZmlsZVBhdHRlcm49ImxvZ3MvYXBwLSVpLmxvZyIgPg0KPj4+PiAgICAgICAgPFBhdHRl cm5MYXlvdXQ+DQo+Pj4+IDxwYXR0ZXJuPiVke0lTTzg2MDF9XyUtNWxldmVsX1slcmVwbGFjZXsl dH17c3RhdGVvZm15ZXN0YXRlXC59e31dXyVyZXBsYWNleyVsb2dnZXJ7MzZ9fXtzdGF0ZW9mbXll c3RhdGVcLn17fV8lTF8lbXNnJW4lZXg8L3BhdHRlcm4+DQo+Pj4+ICAgICAgICAgPC9QYXR0ZXJu TGF5b3V0Pg0KPj4+PiAgICAgICAgPFBvbGljaWVzPg0KPj4+PiAgICAgICAgICAgIDxTaXplQmFz ZWRUcmlnZ2VyaW5nUG9saWN5IHNpemU9IjUgTUIiIC8+DQo+Pj4+ICAgICAgICA8L1BvbGljaWVz Pg0KPj4+PiAgICAgICAgPERlZmF1bHRSb2xsb3ZlclN0cmF0ZWd5IG1heD0iNSIvPg0KPj4+PiAg ICA8L1JvbGxpbmdGaWxlPg0KPj4+PiAgPC9BcHBlbmRlcnM+DQo+Pj4+ICA8TG9nZ2Vycz4NCj4+ Pj4gICAgICA8TG9nZ2VyIG5hbWUgPSAiYXBwbmFtZS5jbGFzc25hbWUiIGxldmVsID0gInRyYWNl Ig0KPj4+PiBhZGRpdGl2aXR5PSJmYWxzZSI+DQo+Pj4+ICAgICAgICA8QXBwZW5kZXJSZWYgcmVm PSJSb2xsaW5nTG9nRmlsZSIvPg0KPj4+PiAgICAgICAgPEFwcGVuZGVyUmVmIHJlZj0iQ29uc29s ZSIvPg0KPj4+PiAgICA8L0xvZ2dlcj4NCj4+Pj4gICAgPFJvb3QgbGV2ZWw9InRyYWNlIj4NCj4+ Pj4gICAgICAgIDxBcHBlbmRlclJlZiByZWY9IkNvbnNvbGUiLz4NCj4+Pj4gICAgPC9Sb290Pg0K Pj4+PiAgPC9Mb2dnZXJzPg0KPj4+PiA8L0NvbmZpZ3VyYXRpb24+DQo+Pj4+IA0KPj4+PiBJIGhh dmUgYSBsb3Qgb2YgbG9nIG1lc3NhZ2VzLCBtYW55IG9mIHdoaWNoIGFyZSBsb2dnZWQgYXMgdGhl IA0KPj4+PiBhcHBsaWNhdGlvbiBpcyBzdGFydGluZy4gV2hlbiB1c2luZyBKYXZhIDExIHRoZSBs b2dnaW5nIGlzIGNhdXNpbmcgDQo+Pj4+IG15IGFwcGxpY2F0aW9uIHRvIHRha2UgYXQgbGVhc3Qg NiB0aW1lcyBsb25nZXIgdG8gc3RhcnQgdGhhbiB3aXRoIEphdmEgOC4NCj4+Pj4gV2l0aCBKYXZh IDggaXQgdGFrZXMgYmV0d2VlbiAzIGFuZCA0IHNlY29uZHMuIFdpdGggSmF2YSAxMSBpdCB0YWtl cyANCj4+Pj4gMjUgc2Vjb25kcy4gSSBoYXZlIHNvbWUgb3RoZXIgZnVuY3Rpb25hbGl0eSB0aGF0 IGFsc28gZG9lcyBhIGxvdCBvZiANCj4+Pj4gbG9nZ2luZyB3aGVuIHRoZSBsb2cgbGV2ZWwgaXMg c2V0IHRvIHRyYWNlLCBhbmQgaW4gdGhhdCBjYXNlIHRoZSANCj4+Pj4gcGVyZm9ybWFuY2UgZ29l cyBmcm9tIHNlY29uZHMgaW4gSmF2YSA4IHRvIHNldmVyYWwgbWludXRlcyBpbiBKYXZhIDExLg0K Pj4+PiANCj4+Pj4gSSd2ZSB0cmllZCB2YXJpb3VzIHRoaW5ncyB0byB0cm91Ymxlc2hvb3QsIGFu ZCBpdCBhcHBlYXJzIHRvIGJlIA0KPj4+PiBzb21ldGhpbmcgcmVsYXRlZCB0byBDb25zb2xlIGxv Z2dpbmcgdGhhdCBpcyBjYXVzaW5nIHRoZSANCj4+Pj4gcGVyZm9ybWFuY2UgaXNzdWUuIElmIEkg cmVtb3ZlIHRoZSBDb25zb2xlIEFwcGVuZGVycyBmcm9tIG15IA0KPj4+PiBjb25maWd1cmF0aW9u IGFuZCBsZWF2ZSBvbmx5IHRoZSBSb2xsaW5nRmlsZSBBcHBlbmRlcnMsIHRoZSBwcm9ibGVtIA0K Pj4+PiBnb2VzIGF3YXkuIElmIEkgZG8gdGhlIG9wcG9zaXRlIGFuZCByZW1vdmUgdGhlIFJvbGxp bmdGaWxlIA0KPj4+PiBBcHBlbmRlcnMgYW5kIGxlYXZlIHRoZSBDb25zb2xlIEFwcGVuZGVycywg SSBzZWUgYSB0aW55IGltcHJvdmVtZW50IA0KPj4+PiBpbiB0aGUgcGVyZm9ybWFuY2UsIGJ1dCBp dCdzIHN0aWxsIHdheSB3b3JzZSB0aGFuIGluIEphdmEgOC4gU28gZmFyIA0KPj4+PiBJJ20gdGVz dGluZyBieSBydW5uaW5nIHRoZSBhcHBsaWNhdGlvbiB0aHJvdWdoIE5ldEJlYW5zLiBJIGhhdmVu J3QgDQo+Pj4+IHRyaWVkIHN0YXJ0aW5nIHRoZSBhcHBsaWNhdGlvbiBmcm9tIGEgV2luZG93cyBD b21tYW5kIHdpbmRvdyB5ZXQuIFJ1bm5pbmcgaW50byBzb21lIG90aGVyIGlzc3VlcyBkb2luZyB0 aGF0Lg0KPj4+PiANCj4+Pj4gQ2FuIGFueW9uZSBoZWxwIG1lIGZpZ3VyZSBvdXQgaWYgdGhpcyBp cyBhIGxvZzRqIGlzc3VlLCBvciBpZiB0aGVyZSANCj4+Pj4gaXMgc29tZXRoaW5nIEkgY2FuIGNo YW5nZSBpbiBob3cgSSdtIHVzaW5nIGxvZzRqIHdpdGggSmF2YSAxMSwgc28gSSANCj4+Pj4gY2Fu IHJlc29sdmUgdGhpcyBpc3N1ZT8NCj4+Pj4gDQo+Pj4+IFRoYW5rIHlvdS4NCj4+Pj4gDQo+Pj4+ IExpc2EgUnVieQ0KPj4+PiANCj4+Pj4gDQo+Pj4+IA0KPj4+PiANCj4+Pj4gLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K Pj4+PiAtLSBUbyB1bnN1YnNjcmliZSwgZS1tYWlsOiANCj4+Pj4gbG9nNGotdXNlci11bnN1YnNj cmliZUBsb2dnaW5nLmFwYWNoZS5vcmcgDQo+Pj4+IDxtYWlsdG86bG9nNGotdXNlci11bnN1YnNj cmliZUBsb2dnaW5nLmFwYWNoZS5vcmc+DQo+Pj4+IEZvciBhZGRpdGlvbmFsIGNvbW1hbmRzLCBl LW1haWw6IGxvZzRqLXVzZXItaGVscEBsb2dnaW5nLmFwYWNoZS5vcmcgDQo+Pj4+IDxtYWlsdG86 bG9nNGotdXNlci1oZWxwQGxvZ2dpbmcuYXBhY2hlLm9yZz4NCj4+Pj4gDQo+Pj4+IA0KPj4+IA0K Pj4+IA0KPj4+IA0KPj4+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+Pj4gLSBUbyB1bnN1YnNjcmliZSwgZS1tYWls OiBsb2c0ai11c2VyLXVuc3Vic2NyaWJlQGxvZ2dpbmcuYXBhY2hlLm9yZyANCj4+PiA8bWFpbHRv OmxvZzRqLXVzZXItdW5zdWJzY3JpYmVAbG9nZ2luZy5hcGFjaGUub3JnPg0KPj4+IEZvciBhZGRp dGlvbmFsIGNvbW1hbmRzLCBlLW1haWw6IGxvZzRqLXVzZXItaGVscEBsb2dnaW5nLmFwYWNoZS5v cmcgDQo+Pj4gPG1haWx0bzpsb2c0ai11c2VyLWhlbHBAbG9nZ2luZy5hcGFjaGUub3JnPg0KPj4+ IA0KPj4gDQo+IA0KDQoNCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpUbyB1bnN1YnNjcmliZSwgZS1tYWlsOiBs b2c0ai11c2VyLXVuc3Vic2NyaWJlQGxvZ2dpbmcuYXBhY2hlLm9yZw0KRm9yIGFkZGl0aW9uYWwg Y29tbWFuZHMsIGUtbWFpbDogbG9nNGotdXNlci1oZWxwQGxvZ2dpbmcuYXBhY2hlLm9yZw0KDQo= DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NClRvIHVuc3Vic2NyaWJlLCBlLW1haWw6IGxvZzRqLXVzZXIt dW5zdWJzY3JpYmVAbG9nZ2luZy5hcGFjaGUub3JnDQpGb3IgYWRkaXRpb25hbCBjb21tYW5k cywgZS1tYWlsOiBsb2c0ai11c2VyLWhlbHBAbG9nZ2luZy5hcGFjaGUub3JnDQoN