Return-Path: X-Original-To: apmail-felix-users-archive@minotaur.apache.org Delivered-To: apmail-felix-users-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id E01F010EBA for ; Fri, 8 Nov 2013 16:31:45 +0000 (UTC) Received: (qmail 16469 invoked by uid 500); 8 Nov 2013 16:31:44 -0000 Delivered-To: apmail-felix-users-archive@felix.apache.org Received: (qmail 15614 invoked by uid 500); 8 Nov 2013 16:31:38 -0000 Mailing-List: contact users-help@felix.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@felix.apache.org Delivered-To: mailing list users@felix.apache.org Received: (qmail 15598 invoked by uid 99); 8 Nov 2013 16:31:37 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 08 Nov 2013 16:31:37 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=5.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: local policy) Received: from [109.108.158.177] (HELO mail.myriadgroup.com) (109.108.158.177) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 08 Nov 2013 16:31:33 +0000 Received: from UKMDCMSX001.myriad.int (10.200.5.190) by UKMDCTMG001.myriad.int (10.200.255.200) with Microsoft SMTP Server (TLS) id 14.1.289.1; Fri, 8 Nov 2013 16:31:52 +0000 Received: from UKMDCMSX001.myriad.int ([::1]) by UKMDCMSX001.myriad.int ([::1]) with mapi id 14.01.0289.001; Fri, 8 Nov 2013 16:31:09 +0000 From: Bruce Jackson To: "users@felix.apache.org" Subject: Re: Felix http service, whiteboard, DS and HttpContext Thread-Topic: Felix http service, whiteboard, DS and HttpContext Thread-Index: AQHO2w6LAGI5H47BVE2ZOo/h+xDl/ZoZO8gAgAAmMACAAEX3gIAB4cuA Date: Fri, 8 Nov 2013 16:31:08 +0000 Message-ID: In-Reply-To: Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.200.255.200] Content-Type: text/plain; charset="euc-kr" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-Virus-Checked: Checked by ClamAV on apache.org QW55b25lIGhhdmUgYW55IGlkZWFzPw0KDQpJIGd1ZXNzIHRoZSBxdWVzdGlvbiBpcyBxdWl0ZSBz aW1wbGU6IGhvdyBkbyB5b3UgZ2V0IGEgc2VydmxldCBjb21wb25lbnQNCnJlZ2lzdGVyZWQgdXNp bmcgRFMgcGljayB1cCBhIEh0dHBDb250ZXh0PyBJbiB2YW5pbGxhIE9TR2ksIEkgY2FuIGRvIHRo aXMNCnF1aXRlIHNpbXBseSBpbiBjb2RlLCBhbmQgdXNpbmcgdGhlIHdoaXRlYm9hcmQsIEkgY2Fu IGRvIHRoZSBzYW1lIHRoaW5nDQpwcm9ncmFtYXRpY2FsbHksIGJ1dCBob3cgZG9lcyB0aGlzIHdv cmsgdXNpbmcgRFM/DQoNClRoYW5rcw0KDQpCcnVjZQ0KDQpPbiAwNy8xMS8yMDEzIDExOjQ2LCAi QnJ1Y2UgSmFja3NvbiIgPEJydWNlLkphY2tzb25AbXlyaWFkZ3JvdXAuY29tPiB3cm90ZToNCg0K PlNvcnJ5LCB0aGF0IHdhcyBteSBlcnJvci4gSW4gZmFjdCB0aGlzIGRvZXMgaGF2ZSBhbiBleHBv c2VkIGludGVyZmFjZSBmb3INCj5TZXJ2bGV0IChzZWUgYmVsb3cpLiBUaGUgcHJvYmxlbSBzZWVt cyB0byBiZSB0aGF0IChlaXRoZXIpIERTIG9yDQo+d2hpdGVib2FyZCBkb26hr3QgbWF0Y2ggdGhl IGNvbnRleHRJZCByZXF1aXJlZCBieSB0aGUgc2VydmxldCB3aXRoIHRoZQ0KPmNvbnRlbnRJZCBw cm9wZXJ0eSBkZWNsYXJlZCBieSB0aGUgY29tcG9uZW50IHRoYXQgcHJvdmlkZXMgaXQuIEFzIHNv b24gYXMNCj50aGUgc2VydmxldCBoYXMgdGhlIHByb3BlcnR5IGNvbnRlbnRJZCBzZXQsIHRoZW4g aXQgbm8gbG9uZ2VyIGlzDQo+YWNjZXNzaWJsZSAoZmVsaXggaHR0cCBnZW5lcmF0ZXMgYSA0MDQp Lg0KPg0KPkFueSBpZGVhcz8NCj4NCj5UaGFua3MNCj4NCj5CcnVjZQ0KPg0KPjxzY3I6Y29tcG9u ZW50IHhtbG5zOnNjcj0iaHR0cDovL3d3dy5vc2dpLm9yZy94bWxucy9zY3IvdjEuMS4wIg0KPm5h bWU9IlRlc3RTZXJ2bGV0Ij4NCj4gICA8aW1wbGVtZW50YXRpb24gY2xhc3M9ImNvbS5teXJpYWRn cm91cC5odHRwdGVzdC5UZXN0U2VydmxldCIvPg0KPiAgIDxyZWZlcmVuY2UgY2FyZGluYWxpdHk9 IjEuLjEiDQo+aW50ZXJmYWNlPSJvcmcub3NnaS5zZXJ2aWNlLmh0dHAuSHR0cFNlcnZpY2UiIG5h bWU9IkhUVFAiDQo+cG9saWN5PSJzdGF0aWMiLz4NCj4gICA8cmVmZXJlbmNlIGNhcmRpbmFsaXR5 PSIxLi4xIg0KPmludGVyZmFjZT0ib3JnLm9zZ2kuc2VydmljZS5sb2cuTG9nU2VydmljZSIgbmFt ZT0iTE9HIiBwb2xpY3k9InN0YXRpYyIvPg0KPiAgIDxwcm9wZXJ0eSBuYW1lPSJjb250ZXh0SWQi IHR5cGU9IlN0cmluZyIgdmFsdWU9ImZvb2JhciIvPg0KPiAgIDxzZXJ2aWNlPg0KPiAgICAgIDxw cm92aWRlIGludGVyZmFjZT0iamF2YXguc2VydmxldC5TZXJ2bGV0Ii8+DQo+ICAgPC9zZXJ2aWNl Pg0KPiAgIDxyZWZlcmVuY2UgY2FyZGluYWxpdHk9IjEuLjEiDQo+aW50ZXJmYWNlPSJvcmcub3Nn aS5zZXJ2aWNlLmh0dHAuSHR0cENvbnRleHQiIG5hbWU9Ikh0dHBDb250ZXh0Ig0KPnBvbGljeT0i c3RhdGljIi8+DQo+ICAgPHByb3BlcnR5IG5hbWU9ImFsaWFzIiB0eXBlPSJTdHJpbmciIHZhbHVl PSIvdGVzdCIvPg0KPjwvc2NyOmNvbXBvbmVudD4NCj4NCj4NCj4NCj5PbiAwNy8xMS8yMDEzIDA3 OjM2LCAiRGF2aWQgSmVuY2tzIiA8ZGF2aWRfamVuY2tzQHlhaG9vLmNvbT4gd3JvdGU6DQo+DQo+ PkkgdGhpbmsgeW91IG1heSBuZWVkIHRvIGhhdmUgVGVzdFNlcnZsZXQgZXhwb3NlIGFuIGludGVy ZmFjZSBmb3INCj4+aHR0cHNlcnZpY2UgdG8gZmluZCBvbiB0aGUgd2hpdGVib2FyZCwgcHJvYmFi bHkgU2VydmxldCBvciBIdHRwU2VydmxldC4NCj4+V2l0aCB5b3VyIHhtbCBhcyBzaG93biwgVGVz dFNlcnZsZXQgZG9lcyBub3QgcmVnaXN0ZXIgYXMgYSBzZXJ2aWNlIGF0DQo+PmFsbC4NCj4+DQo+ PmRhdmlkIGplbmNrcw0KPj4NCj4+T24gTm92IDYsIDIwMTMsIGF0IDk6MTkgUE0sIENoZXRhbiBN ZWhyb3RyYSA8Y2hldGFuLm1laHJvdHJhQGdtYWlsLmNvbT4NCj4+d3JvdGU6DQo+Pg0KPj4+IEZy b20gdGhlIGNvbXBvbmVudCBkZXNjcmlwdG9ycyBJIHNlZSB0aGF0IHlvdSBhcmUgbWl4aW5nIHR3 byBhcHByb2FjaGVzDQo+Pj4NCj4+PiAxLiBUZXN0U2VydmxldCBpcyBvYnRhaW5pbmcgYSByZWZl cmVuY2UgdG8gSHR0cFNlcnZpY2UgYW5kIEh0dHBDb250ZXh0DQo+Pj4gMi4gVGVzdFNlcnZsZXQg aXMgYmVpbmcgcmVnaXN0ZXJlZCB3aXRoIHByb3BlcnRpZXMgcmVxdWlyZWQgYnkNCj4+PiB3aGl0 ZWJvYXJkIGkuZS4gYWxpYXMgYW5kIGNvbnRleHRJZA0KPj4+DQo+Pj4gQXJlIHlvdSB1c2luZyBo dHRwU2VydmljZSB0byBwcm9ncmFtYXRpY2FsbHkgcmVnaXN0ZXIgdGhlIHNlcnZsZXQ/IElmDQo+ Pj4geW91IGp1c3QgcmVseSBvbiB3aGl0ZWJvYXJkIHN1cHBvcnQgdGhlbiB5b3UgbmVlZCBub3Qg dXNlIEh0dHBTZXJ2aWNlDQo+Pj4gb3IgYWNjZXNzIEh0dHBDb250ZXh0IGZyb20gd2l0aGluIHNl cnZsZXQuIEluc3RlYWQgeW91IGp1c3QgbmVlZCB0bw0KPj4+IHJlZ2lzdGVyIHlvdXIgc2Vydmlj ZXMgd2l0aCByZXF1aXJlZCBwcm9wZXJ0aWVzIGkuZS4gYWxpYXMgYW5kDQo+Pj4gY29udGV4dElk IGZvciBTZXJ2bGV0IGFuZCBjb250ZXh0SWQgZm9yIEh0dHBDb250ZXh0IGFuZCB3aGl0ZWJvYXJk DQo+Pj4gc3VwcG9ydCB3b3VsZCBkbyB0aGUgam9iIG9mIHJlZ2lzdGVyaW5nIHRoZSBzZXJ2bGV0 IHdpdGggcHJvcGVyDQo+Pj4gY29udGV4dA0KPj4+IENoZXRhbiBNZWhyb3RyYQ0KPj4+DQo+Pj4N Cj4+PiBPbiBXZWQsIE5vdiA2LCAyMDEzIGF0IDEwOjA3IFBNLCBCcnVjZSBKYWNrc29uDQo+Pj4g PEJydWNlLkphY2tzb25AbXlyaWFkZ3JvdXAuY29tPiB3cm90ZToNCj4+Pj4gSGkgQWxsDQo+Pj4+ DQo+Pj4+IERvZXMgYW55b25lIHVzZSB0aGUgRmVsaXggaHR0cCBzZXJ2aWNlLCBEUyBhbmQgdGhl IHdoaXRlYm9hcmQgd2l0aCBhDQo+Pj4+IGN1c3RvbSBIdHRwQ29udGV4dD8NCj4+Pj4gSSBjYW4g cmVnaXN0ZXIgYSBzZXJ2bGV0IHdpdGggRFMgYW5kIHRoZSB3aGl0ZWJvYXJkLCBidXQgaXQgZG9l c26p9nQNCj4+Pj5hcHBlYXINCj4+Pj4gdG8gaG9vayBpbnRvIG15IGN1c3RvbSBIdHRwQ29udGV4 dC4gSSBoYXZlIHRoZSBjb21wb25lbnQueG1sIGJlbG93IGZvcg0KPj4+PiBib3RoIHRoZSBzZXJ2 bGV0IGFuZCB0aGUgSHR0cENvbnRleHQuIEFueSBwb2ludGVycyB3b3VsZCBiZSBoZWxwZnVsLg0K Pj4+Pg0KPj4+PiA8c2NyOmNvbXBvbmVudCB4bWxuczpzY3I9Imh0dHA6Ly93d3cub3NnaS5vcmcv eG1sbnMvc2NyL3YxLjEuMCINCj4+Pj4gbmFtZT0iVGVzdFNlcnZsZXQiPg0KPj4+PiAgIDxpbXBs ZW1lbnRhdGlvbiBjbGFzcz0iY29tLm15cmlhZGdyb3VwLmh0dHB0ZXN0LlRlc3RTZXJ2bGV0Ii8+ DQo+Pj4+ICAgPHJlZmVyZW5jZSBiaW5kPSJzZXRIdHRwIiBjYXJkaW5hbGl0eT0iMS4uMSINCj4+ Pj4gaW50ZXJmYWNlPSJvcmcub3NnaS5zZXJ2aWNlLmh0dHAuSHR0cFNlcnZpY2UiIG5hbWU9IkhU VFAiDQo+Pj4+cG9saWN5PSJkeW5hbWljIg0KPj4+PiB1bmJpbmQ9InVuc2V0SHR0cCIvPg0KPj4+ PiAgIDxyZWZlcmVuY2UgY2FyZGluYWxpdHk9IjEuLjEiDQo+Pj4+IGludGVyZmFjZT0ib3JnLm9z Z2kuc2VydmljZS5sb2cuTG9nU2VydmljZSIgbmFtZT0iTE9HIg0KPj4+PnBvbGljeT0ic3RhdGlj Ii8+DQo+Pj4+ICAgPHByb3BlcnR5IG5hbWU9ImFsaWFzIiB0eXBlPSJTdHJpbmciIHZhbHVlPSIv dGVzdCIvPg0KPj4+PiAgIDxwcm9wZXJ0eSBuYW1lPSJjb250ZXh0SWQiIHR5cGU9IlN0cmluZyIg dmFsdWU9ImZvb2JhciIvPg0KPj4+PiAgIDxyZWZlcmVuY2UgY2FyZGluYWxpdHk9IjEuLjEiDQo+ Pj4+IGludGVyZmFjZT0ib3JnLm9zZ2kuc2VydmljZS5odHRwLkh0dHBDb250ZXh0IiBuYW1lPSJI dHRwQ29udGV4dCINCj4+Pj4gcG9saWN5PSJkeW5hbWljIi8+DQo+Pj4+IDwvc2NyOmNvbXBvbmVu dD4NCj4+Pj4NCj4+Pj4NCj4+Pj4gPHNjcjpjb21wb25lbnQgeG1sbnM6c2NyPSJodHRwOi8vd3d3 Lm9zZ2kub3JnL3htbG5zL3Njci92MS4xLjAiDQo+Pj4+IG5hbWU9Ik15Q29udGV4dCI+DQo+Pj4+ ICAgPGltcGxlbWVudGF0aW9uIGNsYXNzPSJjb20ubXlyaWFkZ3JvdXAuaHR0cHRlc3QuTXlDb250 ZXh0Ii8+DQo+Pj4+ICAgPHNlcnZpY2U+DQo+Pj4+ICAgICAgPHByb3ZpZGUgaW50ZXJmYWNlPSJv cmcub3NnaS5zZXJ2aWNlLmh0dHAuSHR0cENvbnRleHQiLz4NCj4+Pj4gICA8L3NlcnZpY2U+DQo+ Pj4+ICAgPHByb3BlcnR5IG5hbWU9ImNvbnRleHRJZCIgdHlwZT0iU3RyaW5nIiB2YWx1ZT0iZm9v YmFyIi8+DQo+Pj4+IDwvc2NyOmNvbXBvbmVudD4NCj4+Pj4NCj4+Pj4NCj4+Pj4gQmVzdCByZWdh cmRzDQo+Pj4+DQo+Pj4+IEJydWNlDQo+Pj4+DQo+Pj4+ICoqKiBESVNDTEFJTUVSICoqKg0KPj4+ Pg0KPj4+PiBUaGlzIG1lc3NhZ2UsIGluY2x1ZGluZyBhdHRhY2htZW50cywgaXMgaW50ZW5kZWQg c29sZWx5IGZvciB0aGUNCj4+Pj5hZGRyZXNzZWUgaW5kaWNhdGVkIGluIHRoaXMgbWVzc2FnZSBh bmQgaXMgc3RyaWN0bHkgY29uZmlkZW50aWFsIG9yDQo+Pj4+b3RoZXJ3aXNlIHByaXZpbGVnZWQu IElmIHlvdSBhcmUgbm90IHRoZSBpbnRlbmRlZCByZWNpcGllbnQgKG9yDQo+Pj4+cmVzcG9uc2li bGUgZm9yIGRlbGl2ZXJ5IG9mIHRoZSBtZXNzYWdlIHRvIHN1Y2ggcGVyc29uKSA6IC0gKDEpIHBs ZWFzZQ0KPj4+PmltbWVkaWF0ZWx5IChpKSBub3RpZnkgdGhlIHNlbmRlciBieSByZXBseSBlbWFp bCBhbmQgKGlpKSBkZWxldGUgdGhpcw0KPj4+Pm1lc3NhZ2UgYW5kIGF0dGFjaG1lbnRzLCAtICgy KSBhbnkgdXNlLCBjb3B5IG9yIGRpc3NlbWluYXRpb24gb2YgdGhpcw0KPj4+PnRyYW5zbWlzc2lv biBpcyBzdHJpY3RseSBwcm9oaWJpdGVkLiBJZiB5b3Ugb3IgeW91ciBlbXBsb3llciBkb2VzIG5v dA0KPj4+PmNvbnNlbnQgdG8gSW50ZXJuZXQgZW1haWwgbWVzc2FnZXMgb2YgdGhpcyBraW5kLCBw bGVhc2UgYWR2aXNlIE15cmlhZA0KPj4+Pkdyb3VwIEFHIGJ5IHJlcGx5IGUtbWFpbCBpbW1lZGlh dGVseS4gT3BpbmlvbnMsIGNvbmNsdXNpb25zIGFuZCBvdGhlcg0KPj4+PmluZm9ybWF0aW9uIGV4 cHJlc3NlZCBpbiB0aGlzIG1lc3NhZ2UgYXJlIG5vdCBnaXZlbiBvciBlbmRvcnNlZCBieQ0KPj4+ Pk15cmlhZCBHcm91cCBBRyB1bmxlc3Mgb3RoZXJ3aXNlIGluZGljYXRlZCBieSBhbiBhdXRob3Jp emVkDQo+Pj4+cmVwcmVzZW50YXRpdmUgaW5kZXBlbmRlbnQgb2YgdGhpcyBtZXNzYWdlLg0KPj4+ Pg0KPj4+PiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4+Pj4gVG8gdW5zdWJzY3JpYmUsIGUtbWFpbDogdXNlcnMt dW5zdWJzY3JpYmVAZmVsaXguYXBhY2hlLm9yZw0KPj4+PiBGb3IgYWRkaXRpb25hbCBjb21tYW5k cywgZS1tYWlsOiB1c2Vycy1oZWxwQGZlbGl4LmFwYWNoZS5vcmcNCj4+Pj4NCj4+Pg0KPj4+IC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQ0KPj4+IFRvIHVuc3Vic2NyaWJlLCBlLW1haWw6IHVzZXJzLXVuc3Vic2NyaWJl QGZlbGl4LmFwYWNoZS5vcmcNCj4+PiBGb3IgYWRkaXRpb25hbCBjb21tYW5kcywgZS1tYWlsOiB1 c2Vycy1oZWxwQGZlbGl4LmFwYWNoZS5vcmcNCj4+Pg0KPj4NCj4+DQo+Pi0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K Pj5UbyB1bnN1YnNjcmliZSwgZS1tYWlsOiB1c2Vycy11bnN1YnNjcmliZUBmZWxpeC5hcGFjaGUu b3JnDQo+PkZvciBhZGRpdGlvbmFsIGNvbW1hbmRzLCBlLW1haWw6IHVzZXJzLWhlbHBAZmVsaXgu YXBhY2hlLm9yZw0KPj4NCj4NCj4qKiogRElTQ0xBSU1FUiAqKioNCj4NCj5UaGlzIG1lc3NhZ2Us IGluY2x1ZGluZyBhdHRhY2htZW50cywgaXMgaW50ZW5kZWQgc29sZWx5IGZvciB0aGUgYWRkcmVz c2VlDQo+aW5kaWNhdGVkIGluIHRoaXMgbWVzc2FnZSBhbmQgaXMgc3RyaWN0bHkgY29uZmlkZW50 aWFsIG9yIG90aGVyd2lzZQ0KPnByaXZpbGVnZWQuIElmIHlvdSBhcmUgbm90IHRoZSBpbnRlbmRl ZCByZWNpcGllbnQgKG9yIHJlc3BvbnNpYmxlIGZvcg0KPmRlbGl2ZXJ5IG9mIHRoZSBtZXNzYWdl IHRvIHN1Y2ggcGVyc29uKSA6IC0gKDEpIHBsZWFzZSBpbW1lZGlhdGVseSAoaSkNCj5ub3RpZnkg dGhlIHNlbmRlciBieSByZXBseSBlbWFpbCBhbmQgKGlpKSBkZWxldGUgdGhpcyBtZXNzYWdlIGFu ZA0KPmF0dGFjaG1lbnRzLCAtICgyKSBhbnkgdXNlLCBjb3B5IG9yIGRpc3NlbWluYXRpb24gb2Yg dGhpcyB0cmFuc21pc3Npb24gaXMNCj5zdHJpY3RseSBwcm9oaWJpdGVkLiBJZiB5b3Ugb3IgeW91 ciBlbXBsb3llciBkb2VzIG5vdCBjb25zZW50IHRvIEludGVybmV0DQo+ZW1haWwgbWVzc2FnZXMg b2YgdGhpcyBraW5kLCBwbGVhc2UgYWR2aXNlIE15cmlhZCBHcm91cCBBRyBieSByZXBseQ0KPmUt bWFpbCBpbW1lZGlhdGVseS4gT3BpbmlvbnMsIGNvbmNsdXNpb25zIGFuZCBvdGhlciBpbmZvcm1h dGlvbiBleHByZXNzZWQNCj5pbiB0aGlzIG1lc3NhZ2UgYXJlIG5vdCBnaXZlbiBvciBlbmRvcnNl ZCBieSBNeXJpYWQgR3JvdXAgQUcgdW5sZXNzDQo+b3RoZXJ3aXNlIGluZGljYXRlZCBieSBhbiBh dXRob3JpemVkIHJlcHJlc2VudGF0aXZlIGluZGVwZW5kZW50IG9mIHRoaXMNCj5tZXNzYWdlLg0K Pj9Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tL S0tLS0tLS0tLS0tLS0tLQ0IqDQo+Pz9bnD+c2NyaWJlLPz9LW1haWz+IP1w/nD9bnD+c2NyaWJlQ P5lbP14/mFw/WD9Lmz8/oa6bPz9ZPz9dP1s/Wz8/29sNCj5bWFuZPz8/S1tYWls/iD9cP5w/P1s/ Pz+ZWz9eP5hcP1g/S5s/Pw0KDQoqKiogRElTQ0xBSU1FUiAqKioNCg0KVGhpcyBtZXNzYWdlLCBp bmNsdWRpbmcgYXR0YWNobWVudHMsIGlzIGludGVuZGVkIHNvbGVseSBmb3IgdGhlIGFkZHJlc3Nl ZSBpbmRpY2F0ZWQgaW4gdGhpcyBtZXNzYWdlIGFuZCBpcyBzdHJpY3RseSBjb25maWRlbnRpYWwg b3Igb3RoZXJ3aXNlIHByaXZpbGVnZWQuIElmIHlvdSBhcmUgbm90IHRoZSBpbnRlbmRlZCByZWNp cGllbnQgKG9yIHJlc3BvbnNpYmxlIGZvciBkZWxpdmVyeSBvZiB0aGUgbWVzc2FnZSB0byBzdWNo IHBlcnNvbikgOiAtICgxKSBwbGVhc2UgaW1tZWRpYXRlbHkgKGkpIG5vdGlmeSB0aGUgc2VuZGVy IGJ5IHJlcGx5IGVtYWlsIGFuZCAoaWkpIGRlbGV0ZSB0aGlzIG1lc3NhZ2UgYW5kIGF0dGFjaG1l bnRzLCAtICgyKSBhbnkgdXNlLCBjb3B5IG9yIGRpc3NlbWluYXRpb24gb2YgdGhpcyB0cmFuc21p c3Npb24gaXMgc3RyaWN0bHkgcHJvaGliaXRlZC4gSWYgeW91IG9yIHlvdXIgZW1wbG95ZXIgZG9l cyBub3QgY29uc2VudCB0byBJbnRlcm5ldCBlbWFpbCBtZXNzYWdlcyBvZiB0aGlzIGtpbmQsIHBs ZWFzZSBhZHZpc2UgTXlyaWFkIEdyb3VwIEFHIGJ5IHJlcGx5IGUtbWFpbCBpbW1lZGlhdGVseS4g T3BpbmlvbnMsIGNvbmNsdXNpb25zIGFuZCBvdGhlciBpbmZvcm1hdGlvbiBleHByZXNzZWQgaW4g dGhpcyBtZXNzYWdlIGFyZSBub3QgZ2l2ZW4gb3IgZW5kb3JzZWQgYnkgTXlyaWFkIEdyb3VwIEFH IHVubGVzcyBvdGhlcndpc2UgaW5kaWNhdGVkIGJ5IGFuIGF1dGhvcml6ZWQgcmVwcmVzZW50YXRp dmUgaW5kZXBlbmRlbnQgb2YgdGhpcyBtZXNzYWdlLg0K DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NClRvIHVuc3Vic2NyaWJlLCBlLW1haWw6IHVzZXJzLXVuc3Vi c2NyaWJlQGZlbGl4LmFwYWNoZS5vcmcNCkZvciBhZGRpdGlvbmFsIGNvbW1hbmRzLCBlLW1h aWw6IHVzZXJzLWhlbHBAZmVsaXguYXBhY2hlLm9yZw0K