Return-Path: X-Original-To: apmail-incubator-general-archive@www.apache.org Delivered-To: apmail-incubator-general-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id D4EA21809F for ; Tue, 23 Feb 2016 05:24:54 +0000 (UTC) Received: (qmail 81342 invoked by uid 500); 23 Feb 2016 05:24:54 -0000 Delivered-To: apmail-incubator-general-archive@incubator.apache.org Received: (qmail 81117 invoked by uid 500); 23 Feb 2016 05:24:53 -0000 Mailing-List: contact general-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: general@incubator.apache.org Delivered-To: mailing list general@incubator.apache.org Received: (qmail 81106 invoked by uid 99); 23 Feb 2016 05:24:53 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 23 Feb 2016 05:24:53 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 3B65B1A00BF for ; Tue, 23 Feb 2016 05:24:53 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -1.25 X-Spam-Level: X-Spam-Status: No, score=-1.25 tagged_above=-999 required=6.31 tests=[RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.329, SPF_PASS=-0.001, URIBL_SBL=4, URIBL_SBL_A=0.1] autolearn=disabled Received: from mx2-lw-us.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id 9tAX74HrHIQ0 for ; Tue, 23 Feb 2016 05:24:49 +0000 (UTC) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mx2-lw-us.apache.org (ASF Mail Server at mx2-lw-us.apache.org) with ESMTP id 08F665FB0D for ; Tue, 23 Feb 2016 05:24:48 +0000 (UTC) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga103.jf.intel.com with ESMTP; 22 Feb 2016 21:24:24 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.22,488,1449561600"; d="scan'208";a="909103254" Received: from orsmsx110.amr.corp.intel.com ([10.22.240.8]) by fmsmga001.fm.intel.com with ESMTP; 22 Feb 2016 21:24:24 -0800 Received: from orsmsx105.amr.corp.intel.com ([169.254.2.243]) by ORSMSX110.amr.corp.intel.com ([169.254.10.233]) with mapi id 14.03.0248.002; Mon, 22 Feb 2016 21:24:23 -0800 From: "Wang, Yanping" To: "'general@incubator.apache.org'" Subject: RE: [DISCUSS] Mnemonic incubator proposal Thread-Topic: [DISCUSS] Mnemonic incubator proposal Thread-Index: AdFs304JvdmJ6pxqSpmHPRQm/tlfLwBGmt4A Date: Tue, 23 Feb 2016 05:24:23 +0000 Message-ID: <222E9E27A7469F4FA2D137F0724FBD37B89B78B2@ORSMSX105.amr.corp.intel.com> References: <222E9E27A7469F4FA2D137F0724FBD37B89A85E1@ORSMSX105.amr.corp.intel.com> In-Reply-To: <222E9E27A7469F4FA2D137F0724FBD37B89A85E1@ORSMSX105.amr.corp.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiMjg0OWJkNTgtOGJmNi00NDY3LTgwNTctY2I3ZTJlZjg2ZGRhIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX1BVQkxJQyJ9XX1dfSwiU3ViamVjdExhYmVscyI6W10sIlRNQ1ZlcnNpb24iOiIxNS45LjYuNiIsIlRydXN0ZWRMYWJlbEhhc2giOiJVZzZwZ202c0F3Zkh3VDI5TWVmM3E3YzRtQTlqYmhBcDJYclk0YlQwUjBvPSJ9 x-ctpclassification: CTP_PUBLIC x-originating-ip: [10.22.254.139] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 SGksIEFsbA0KDQpJIHVwbG9hZGVkIGEgUERGIHByZXNlbnRhdGlvbiB0aGF0IGRlc2NyaWJlcyBQ cm9qZWN0IE1uZW1vbmljIHdpdGggc29tZSBuaWNlIHBpY3R1cmVzLg0KQ2xpY2sgQXR0YWNobWVu dCBsaW5rIGJlbG93IHRvIHNlZSB0aGUgcHJlc2VudGF0aW9uLiANCg0KQXR0YWNobWVudCBuYW1l OiBQcm9qZWN0X01uZW1vbmljX1B1YjEuMC5wZGYNCkF0dGFjaG1lbnQgc2l6ZTogMTQ5MzMxNw0K QXR0YWNobWVudCBsaW5rOiBodHRwczovL3dpa2kuYXBhY2hlLm9yZy9pbmN1YmF0b3IvTW5lbW9u aWNQcm9wb3NhbD9hY3Rpb249QXR0YWNoRmlsZSZkbz1nZXQmdGFyZ2V0PVByb2plY3RfTW5lbW9u aWNfUHViMS4wLnBkZiANCg0KUGFnZSBsaW5rOiBodHRwczovL3dpa2kuYXBhY2hlLm9yZy9pbmN1 YmF0b3IvTW5lbW9uaWNQcm9wb3NhbCANCg0KVGhhbmtzDQpZYW5waW5nDQoNCi0tLS0tT3JpZ2lu YWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBXYW5nLCBZYW5waW5nIFttYWlsdG86eWFucGluZy53YW5n QGludGVsLmNvbV0gDQpTZW50OiBTdW5kYXksIEZlYnJ1YXJ5IDIxLCAyMDE2IDExOjQ3IEFNDQpU bzogZ2VuZXJhbEBpbmN1YmF0b3IuYXBhY2hlLm9yZw0KU3ViamVjdDogW0RJU0NVU1NdIE1uZW1v bmljIGluY3ViYXRvciBwcm9wb3NhbCANCg0KSGkgYWxsIA0KDQpXZSdkIGxpa2UgdG8gc3RhcnQg YSBkaXNjdXNzaW9uIHJlZ2FyZGluZyBhIHByb3Bvc2FsIHRvIHN1Ym1pdCBNbmVtb25pYyB0byB0 aGUgQXBhY2hlIEluY3ViYXRvci4NCg0KVGhlIHByb3Bvc2FsIHRleHQgaXMgYXZhaWxhYmxlIG9u IHRoZSBXaWtpIGhlcmU6DQpodHRwczovL3dpa2kuYXBhY2hlLm9yZy9pbmN1YmF0b3IvTW5lbW9u aWNQcm9wb3NhbA0KDQphbmQgcGFzdGVkIGJlbG93IGZvciBjb252ZW5pZW5jZS4NCg0KV2UgYXJl IGV4Y2l0ZWQgdG8gbWFrZSB0aGlzIHByb3Bvc2FsLCBhbmQgbG9vayBmb3J3YXJkIHRvIHRoZSBj b21tdW5pdHkncyBpbnB1dCENCg0KQmVzdCwNCllhbnBpbmcNCg0KDQo9IE1uZW1vbmljIFByb3Bv c2FsID0NCj09PSBBYnN0cmFjdCA9PT0NCk1uZW1vbmljIGlzIGEgSmF2YSBiYXNlZCBub24tdm9s YXRpbGUgbWVtb3J5IGxpYnJhcnkgZm9yIGluLXBsYWNlIHN0cnVjdHVyZWQgZGF0YSBwcm9jZXNz aW5nIGFuZCBjb21wdXRpbmcuIEl0IGlzIGEgc29sdXRpb24gZm9yIGdlbmVyaWMgb2JqZWN0IGFu ZCBibG9jayBwZXJzaXN0ZW5jZSBvbiBoZXRlcm9nZW5lb3VzIGJsb2NrIGFuZCBieXRlLWFkZHJl c3NhYmxlIGRldmljZXMsIHN1Y2ggYXMgRFJBTSwgcGVyc2lzdGVudCBtZW1vcnksIE5WTWUsIFNT RCwgYW5kIGNsb3VkIG5ldHdvcmsgc3RvcmFnZS4NCg0KPT09IFByb3Bvc2FsID09PQ0KTW5lbW9u aWMgaXMgYSBzdHJ1Y3R1cmVkIGRhdGEgcGVyc2lzdGVuY2UgaW4tbWVtb3J5IGluLXBsYWNlIGxp YnJhcnkgZm9yIEphdmEtYmFzZWQgYXBwbGljYXRpb25zIGFuZCBmcmFtZXdvcmtzLiBJdCBwcm92 aWRlcyB1bmlmaWVkIGludGVyZmFjZXMgZm9yIGRhdGEgbWFuaXB1bGF0aW9uIG9uIGhldGVyb2dl bmVvdXMgYmxvY2svYnl0ZS1hZGRyZXNzYWJsZSBkZXZpY2VzLCBzdWNoIGFzIERSQU0sIHBlcnNp c3RlbnQgbWVtb3J5LCBOVk1lLCBTU0QsIGFuZCBjbG91ZCBuZXR3b3JrIGRldmljZXMuDQoNClRo ZSBkZXNpZ24gbW90aXZhdGlvbiBmb3IgdGhpcyBwcm9qZWN0IGlzIHRvIGNyZWF0ZSBhIG5vbi12 b2xhdGlsZSBwcm9ncmFtbWluZyBwYXJhZGlnbSBmb3IgaW4tbWVtb3J5IGRhdGEgb2JqZWN0IHBl cnNpc3RlbmNlLCBpbi1tZW1vcnkgZGF0YSBvYmplY3RzIGNhY2hpbmcsIGFuZCBKTkktbGVzcyBJ UEMuDQpNbmVtb25pYyBzaW1wbGlmaWVzIHRoZSB1c2FnZSBvZiBkYXRhIG9iamVjdCBjYWNoaW5n LCBwZXJzaXN0ZW5jZSwgYW5kIEpOSS1sZXNzIElQQyBmb3IgbWFzc2l2ZSBvYmplY3Qgb3JpZW50 ZWQgc3RydWN0dXJhbCBkYXRhc2V0cy4NCg0KTW5lbW9uaWMgZGVmaW5lcyBOb24tVm9sYXRpbGUg SmF2YSBvYmplY3RzIHRoYXQgc3RvcmUgZGF0YSBmaWVsZHMgaW4gcGVyc2lzdGVudCBtZW1vcnkg YW5kIHN0b3JhZ2UuIER1cmluZyB0aGUgcHJvZ3JhbSBydW50aW1lLCBvbmx5IG1ldGhvZHMgYW5k IHZvbGF0aWxlIGZpZWxkcyBhcmUgaW5zdGFudGlhdGVkIGluIEphdmEgaGVhcCwgTm9uLVZvbGF0 aWxlIGRhdGEgZmllbGRzIGFyZSBkaXJlY3RseSBhY2Nlc3NlZCB2aWEgR0VUL1NFVCBvcGVyYXRp b24gdG8gYW5kIGZyb20gcGVyc2lzdGVudCBtZW1vcnkgYW5kIHN0b3JhZ2UuIE1uZW1vbmljIGF2 b2lkcyBTZXJEZXMgYW5kIHNpZ25pZmljYW50bHkgcmVkdWNlcyBhbW91bnQgb2YgZ2FyYmFnZSBp biBKYXZhIGhlYXAuDQoNCk1ham9yIGZlYXR1cmVzIG9mIE1uZW1vbmljOg0KKiBQcm92aWRlcyBh biBhYnN0cmFjdCBsZXZlbCBvZiB2aWV3cG9pbnQgdG8gdXRpbGl6ZSBoZXRlcm9nZW5lb3VzIGJs b2NrL2J5dGUtYWRkcmVzc2FibGUgZGV2aWNlIGFzIGEgd2hvbGUgKGUuZy4sIERSQU0sIHBlcnNp c3RlbnQgbWVtb3J5LCBOVk1lLCBTU0QsIEhELCBjbG91ZCBuZXR3b3JrIFN0b3JhZ2UpLg0KKiBQ cm92aWRlcyBzZWFtbGVzcyBzdXBwb3J0IG9iamVjdCBvcmllbnRlZCBkZXNpZ24gYW5kIHByb2dy YW1taW5nIHdpdGhvdXQgYWRkaW5nIGJ1cmRlbiB0byB0cmFuc2ZlciBvYmplY3QgZGF0YSB0byBk aWZmZXJlbnQgZm9ybS4NCiogQXZvaWRzIHRoZSBvYmplY3QgZGF0YSBzZXJpYWxpemF0aW9uL2Rl LXNlcmlhbGl6YXRpb24gZm9yIGRhdGEgcmV0cmlldmFsLCBjYWNoaW5nIGFuZCBzdG9yYWdlLg0K KiBSZWR1Y2VzIHRoZSBjb25zdW1wdGlvbiBvZiBvbi1oZWFwIG1lbW9yeSBhbmQgaW4gdHVybiB0 byByZWR1Y2UgYW5kIHN0YWJpbGl6ZSBKYXZhIEdhcmJhZ2UgQ29sbGVjdGlvbiAoR0MpIHBhdXNl cyBmb3IgbGF0ZW5jeSBzZW5zaXRpdmUgYXBwbGljYXRpb25zLg0KKiBPdmVyY29tZXMgY3VycmVu dCBsaW1pdGF0aW9ucyBvZiBKYXZhIEdDIHRvIG1hbmFnZSBtdWNoIGxhcmdlciBtZW1vcnkgcmVz b3VyY2VzIGZvciBtYXNzaXZlIGRhdGFzZXQgcHJvY2Vzc2luZyBhbmQgY29tcHV0aW5nLg0KKiBT dXBwb3J0cyB0aGUgbWlncmF0aW9uIGRhdGEgdXNhZ2UgbW9kZWwgZnJvbSB0cmFkaXRpb25hbCBO Vk1lL1NTRC9IRCB0byBub24tdm9sYXRpbGUgbWVtb3J5IHdpdGggZWFzZS4NCiogVXNlcyBsYXp5 IGxvYWRpbmcgbWVjaGFuaXNtIHRvIGF2b2lkIHVubmVjZXNzYXJ5IG1lbW9yeSBjb25zdW1wdGlv biBpZiBzb21lIGRhdGEgZG9lcyBub3QgbmVlZCB0byB1c2UgZm9yIGNvbXB1dGluZyBpbW1lZGlh dGVseS4NCiogQnlwYXNzZXMgSk5JIGNhbGwgZm9yIHRoZSBpbnRlcmFjdGlvbiBiZXR3ZWVuIEph dmEgcnVudGltZSBhcHBsaWNhdGlvbiBhbmQgaXRzIG5hdGl2ZSBjb2RlLg0KKiBQcm92aWRlcyBh biBhbGxvY2F0aW9uIGF3YXJlIGF1dG8tcmVjbGFpbSBtZWNoYW5pc20gdG8gcHJldmVudCBleHRl cm5hbCBtZW1vcnkgcmVzb3VyY2UgbGVha2luZy4NCg0KDQo9PT0gQmFja2dyb3VuZCA9PT0NCkJp ZyBEYXRhIGFuZCBDbG91ZCBhcHBsaWNhdGlvbnMgaW5jcmVhc2luZ2x5IHJlcXVpcmUgYm90aCBo aWdoIHRocm91Z2hwdXQgYW5kIGxvdyBsYXRlbmN5IHByb2Nlc3NpbmcuIEphdmEtYmFzZWQgYXBw bGljYXRpb25zIHRhcmdldGluZyB0aGUgQmlnIERhdGEgYW5kIENsb3VkIHNwYWNlIHNob3VsZCBi ZSB0dW5lZCBmb3IgYmV0dGVyIHRocm91Z2hwdXQsIGxvd2VyIGxhdGVuY3ksIGFuZCBtb3JlIHBy ZWRpY3RhYmxlIHJlc3BvbnNlIHRpbWUuDQpUeXBpY2FsbHksIHRoZXJlIGFyZSBzb21lIGlzc3Vl cyB0aGF0IGltcGFjdCBCaWdEYXRhIGFwcGxpY2F0aW9ucycgcGVyZm9ybWFuY2UgYW5kIHNjYWxh YmlsaXR5Og0KDQoxKSBUaGUgQ29tcGxleGl0eSBvZiBEYXRhIFRyYW5zZm9ybWF0aW9uL09yZ2Fu aXphdGlvbjogSW4gbW9zdCBjYXNlcywgZHVyaW5nIGRhdGEgcHJvY2Vzc2luZywgYXBwbGljYXRp b25zIHVzZSB0aGVpciBvd24gY29tcGxpY2F0ZWQgZGF0YSBjYWNoaW5nIG1lY2hhbmlzbSBmb3Ig U2VyRGVzIGRhdGEgb2JqZWN0cywgc3BpbGxpbmcgdG8gZGlmZmVyZW50IHN0b3JhZ2UgYW5kIGV2 aWN0aW9uIGxhcmdlIGFtb3VudCBvZiBkYXRhLiBTb21lIGRhdGEgb2JqZWN0cyBjb250YWlucyBj b21wbGV4IHZhbHVlcyBhbmQgc3RydWN0dXJlIHRoYXQgd2lsbCBtYWtlIGl0IG11Y2ggbW9yZSBk aWZmaWN1bHR5IGZvciBkYXRhIG9yZ2FuaXphdGlvbi4gVG8gbG9hZCBhbmQgdGhlbiBwYXJzZS9k ZWNvZGUgaXRzIGRhdGFzZXRzIGZyb20gc3RvcmFnZSBjb25zdW1lcyBoaWdoIHN5c3RlbSByZXNv dXJjZSBhbmQgY29tcHV0YXRpb24gcG93ZXIuIA0KDQoyKSBMYWNrIG9mIENhY2hpbmcsIEJ1cnN0 IFRlbXBvcmFyeSBPYmplY3QgQ3JlYXRpb24vRGVzdHJ1Y3Rpb24gQ2F1c2VzIEZyZXF1ZW50IExv bmcgR0MgUGF1c2VzOiBCaWcgRGF0YSBjb21wdXRpbmcvc3ludGF4IGdlbmVyYXRlcyBsYXJnZSBh bW91bnQgb2YgdGVtcG9yYXJ5IG9iamVjdHMgZHVyaW5nIHByb2Nlc3NpbmcsIGUuZy4gbGFtYmRh LCBTZXJEZXMsIGNvcHlpbmcgYW5kIGV0Yy4gVGhpcyB3aWxsIHRyaWdnZXIgZnJlcXVlbnQgbG9u ZyBKYXZhIEdDIHBhdXNlIHRvIHNjYW4gcmVmZXJlbmNlcywgdG8gdXBkYXRlIHJlZmVyZW5jZXMg bGlzdHMsIGFuZCB0byBjb3B5IGxpdmUgb2JqZWN0cyBmcm9tIG9uZSBtZW1vcnkgbG9jYXRpb24g dG8gYW5vdGhlciBibGluZGx5Lg0KDQozKSBUaGUgVW5wcmVkaWN0YWJsZSBHQyBQYXVzZTogRm9y IGxhdGVuY3kgc2Vuc2l0aXZlIGFwcGxpY2F0aW9ucywgc3VjaCBhcyBkYXRhYmFzZSwgc2VhcmNo IGVuZ2luZSwgd2ViIHF1ZXJ5LCByZWFsLXRpbWUvc3RyZWFtaW5nIGNvbXB1dGluZywgcmVxdWly ZSBsYXRlbmN5L3JlcXVlc3QtcmVzcG9uc2UgdW5kZXIgY29udHJvbC4gQnV0IGN1cnJlbnQgSmF2 YSBHQyBkb2VzIG5vdCBwcm92aWRlIHByZWRpY3RhYmxlIEdDIGFjdGl2aXRpZXMgd2l0aCBsYXJn ZSBvbi1oZWFwIG1lbW9yeSBtYW5hZ2VtZW50Lg0KDQo0KSBIaWdoIEpOSSBJbnZvY2F0aW9uIENv c3Q6IEpOSSBjYWxscyBhcmUgZXhwZW5zaXZlLCBidXQgaGlnaCBwZXJmb3JtYW5jZSBhcHBsaWNh dGlvbnMgdXN1YWxseSB0cnkgdG8gbGV2ZXJhZ2UgbmF0aXZlIGNvZGUgdG8gaW1wcm92ZSBwZXJm b3JtYW5jZSwgaG93ZXZlciwgSk5JIGNhbGxzIG5lZWQgdG8gY29udmVydCBKYXZhIG9iamVjdHMg aW50byBzb21ldGhpbmcgdGhhdCBDL0MrKyBjYW4gdW5kZXJzdGFuZC4gSW4gYWRkaXRpb24sIHNv bWUgY29tcHJlaGVuc2l2ZSBuYXRpdmUgY29kZSBuZWVkcyB0byBjb21tdW5pY2F0ZSB3aXRoIEph dmEgYmFzZWQgYXBwbGljYXRpb24gdGhhdCB3aWxsIGNhdXNlIGZyZXF1ZW50bHkgSk5JIGNhbGwg YWxvbmcgd2l0aCBzdGFjayBtYXJzaGFsbGluZy4NCg0KTW5lbW9uaWMgcHJvamVjdCBwcm92aWRl cyBhIHNvbHV0aW9uIHRvIGFkZHJlc3MgYWJvdmUgaXNzdWVzIGFuZCBwZXJmb3JtYW5jZSBib3R0 bGVuZWNrcyBmb3Igc3RydWN0dXJlZCBkYXRhIHByb2Nlc3NpbmcgYW5kIGNvbXB1dGluZy4gSXQg YWxzbyBzaW1wbGlmaWVzIHRoZSBtYXNzaXZlIGRhdGEgaGFuZGxpbmcgd2l0aCBtdWNoIHJlZHVj ZWQgR0MgYWN0aXZpdHkuIA0KDQo9PT0gUmF0aW9uYWxlID09PQ0KVGhlcmUgYXJlIHN0cm9uZyBu ZWVkcyBmb3IgYSBjb2hlc2l2ZSwgZWFzeS10by11c2Ugbm9uLXZvbGF0aWxlIHByb2dyYW1pbmcg bW9kZWwgZm9yIHVuaWZpZWQgaGV0ZXJvZ2VuZW91cyBtZW1vcnkgcmVzb3VyY2VzIG1hbmFnZW1l bnQgYW5kIGFsbG9jYXRpb24uIE1uZW1vbmljIHByb2plY3QgcHJvdmlkZXMgYSByZXVzYWJsZSBh bmQgZmxleGlibGUgZnJhbWV3b3JrIHRvIGFjY29tbW9kYXRlIG90aGVyIHNwZWNpYWwgdHlwZSBv ZiBtZW1vcnkvYmxvY2sgZGV2aWNlcyBmb3IgYmV0dGVyIHBlcmZvcm1hbmNlIHdpdGhvdXQgY2hh bmdpbmcgY2xpZW50IGNvZGUuDQoNCk1vc3Qgb2YgdGhlIEJpZ0RhdGEgZnJhbWV3b3JrcyAoZS5n LiwgQXBhY2hlIFNwYXJr4oSiLCBBcGFjaGXihKIgSGFkb29wwq4sIEFwYWNoZSBIQmFzZeKEoiwg QXBhY2hlIEZsaW5r4oSiLCBBcGFjaGUgS2Fma2HihKIsIGV0Yy4pIGhhdmUgdGhlaXIgb3duIGNv bXBsaWNhdGVkIG1lbW9yeSBtYW5hZ2VtZW50IG1vZHVsZXMgZm9yIGNhY2hpbmcgYW5kIGNoZWNr cG9pbnQuIE1hbnkgYXBwcm9hY2hlcyBpbmNyZWFzZSB0aGUgY29tcGxleGl0eSBhbmQgYXJlIGVy cm9yLXByb25lIHRvIG1haW50YWluIGNvZGUuDQoNCldlIGhhdmUgb2JzZXJ2ZWQgaGVhdnkgb3Zl cmhlYWRzIGR1cmluZyB0aGUgb3BlcmF0aW9ucyBvZiBkYXRhIHBhcnNlLCBTZXJEZXMsIHBhY2sv dW5wYWNrLCBjb2RlL2RlY29kZSBmb3IgZGF0YSBsb2FkaW5nLCBzdG9yYWdlLCBjaGVja3BvaW50 LCBjYWNoaW5nLCBtYXJzaGFsIGFuZCB0cmFuc2ZlcnJpbmcuIE1uZW1vbmljIHByb3ZpZGVzIGEg Z2VuZXJpYyBpbi1tZW1vcnkgcGVyc2lzdGVuY2Ugb2JqZWN0IG1vZGVsIHRvIGFkZHJlc3MgdGhv c2Ugb3ZlcmhlYWRzIGZvciBiZXR0ZXIgcGVyZm9ybWFuY2UuIEluIGFkZGl0aW9uLCBpdCBtYW5h Z2VzIGl0cyBpbi1tZW1vcnkgcGVyc2lzdGVuY2Ugb2JqZWN0cyBhbmQgYmxvY2tzIGluIHRoZSB3 YXkgdGhhdCBHQyBkb2VzLCB3aGljaCBtZWFucyB0aGVpciB1bmRlcmx5aW5nIG1lbW9yeSByZXNv dXJjZSBpcyBhYmxlIHRvIGJlIHJlY2xhaW1lZCB3aXRob3V0IGV4cGxpY2l0bHkgcmVsZWFzaW5n IGl0Lg0KDQpTb21lIGV4aXN0aW5nIEJpZyBEYXRhIGFwcGxpY2F0aW9ucyBzdWZmZXIgZnJvbSBw b29yIEphdmEgR0MgYmVoYXZpb3JzIHdoZW4gdGhleSBwcm9jZXNzIHRoZWlyIG1hc3NpdmUgdW5z dHJ1Y3R1cmVkIGRhdGFzZXRzLiAgVGhvc2UgYmVoYXZpb3JzIGVpdGhlciBjYXVzZSB2ZXJ5IGxv bmcgc3RvcC10aGUtd29ybGQgR0MgcGF1c2VzIG9yIHRha2Ugc2lnbmlmaWNhbnQgc3lzdGVtIHJl c291cmNlcyBkdXJpbmcgY29tcHV0aW5nIHdoaWNoIGltcGFjdCB0aHJvdWdocHV0IGFuZCBpbmN1 ciBzaWduaWZpY2FudCBwZXJjZWl2YWJsZSBwYXVzZXMgZm9yIGludGVyYWN0aXZlIGFuYWx5dGlj cy4NCg0KVGhlcmUgYXJlIG1vcmUgYW5kIG1vcmUgY29tcHV0aW5nIGludGVuc2l2ZSBCaWcgRGF0 YSBhcHBsaWNhdGlvbnMgbW92aW5nIGRvd24gdG8gcmVseSBvbiBKTkkgdG8gb2ZmbG9hZCB0aGVp ciBjb21wdXRpbmcgdGFza3MgdG8gbmF0aXZlIGNvZGUgd2hpY2ggZHJhbWF0aWNhbGx5IGluY3Jl YXNlcyB0aGUgY29zdCBvZiBKTkkgaW52b2NhdGlvbiBhbmQgSVBDLiBNbmVtb25pYyBwcm92aWRl cyBhIG1lY2hhbmlzbSB0byBjb21tdW5pY2F0ZSB3aXRoIG5hdGl2ZSBjb2RlIGRpcmVjdGx5IHRo cm91Z2ggaW4tcGxhY2Ugb2JqZWN0IGRhdGEgdXBkYXRlIHRvIGF2b2lkIGNvbXBsZXggb2JqZWN0 IGRhdGEgdHlwZSBjb252ZXJzaW9uIGFuZCBzdGFjayBtYXJzaGFsaW5nLiBJbiBhZGRpdGlvbiwg dGhpcyBwcm9qZWN0IGNhbiBiZSBleHRlbmRlZCB0byBzdXBwb3J0IHZhcmlvdXMgbG9ja2VycyBm b3IgdGhyZWFkcyBiZXR3ZWVuIEphdmEgY29kZSBhbmQgbmF0aXZlIGNvZGUuDQoNCj09PSBJbml0 aWFsIEdvYWxzID09PQ0KT3VyIGluaXRpYWwgZ29hbCBpcyB0byBicmluZyBNbmVtb25pYyBpbnRv IHRoZSBBU0YgYW5kIHRyYW5zaXQgdGhlIGVuZ2luZWVyaW5nIGFuZCBnb3Zlcm5hbmNlIHByb2Nl c3NlcyB0byB0aGUgIkFwYWNoZSBXYXkuIiAgV2Ugd291bGQgbGlrZSB0byBlbnJpY2ggYSBjb2xs YWJvcmF0aXZlIGRldmVsb3BtZW50IG1vZGVsIHRoYXQgY2xvc2VseSBhbGlnbnMgd2l0aCBjdXJy ZW50IGFuZCBmdXR1cmUgaW5kdXN0cnkgbWVtb3J5IGFuZCBzdG9yYWdlIHRlY2hub2xvZ2llcy4N Cg0KQW5vdGhlciBpbXBvcnRhbnQgZ29hbCBpcyB0byBlbmNvdXJhZ2UgZWZmb3J0cyB0byBpbnRl Z3JhdGUgbm9uLXZvbGF0aWxlIHByb2dyYW1taW5nIG1vZGVsIGludG8gZGF0YSBjZW50cmljIHBy b2Nlc3NpbmcvYW5hbHl0aWNzIGZyYW1ld29ya3MvYXBwbGljYXRpb25zLCAoZS5nLiwgQXBhY2hl IFNwYXJr4oSiLCBBcGFjaGUgSEJhc2XihKIsIEFwYWNoZSBGbGlua+KEoiwgQXBhY2hl4oSiIEhh ZG9vcMKuLCBBcGFjaGUgQ2Fzc2FuZHJh4oSiLCAgZXRjLikuDQoNCldlIGV4cGVjdCBNbmVtb25p YyBwcm9qZWN0IHRvIGJlIGNvbnRpbnVvdXNseSBkZXZlbG9waW5nIG5ldyBmdW5jdGlvbmFsaXRp ZXMgaW4gYW4gb3BlbiwgY29tbXVuaXR5LWRyaXZlbiB3YXkuIFdlIGVudmlzaW9uIGFjY2VsZXJh dGluZyBpbm5vdmF0aW9uIHVuZGVyIEFTRiBnb3Zlcm5hbmNlIGluIG9yZGVyIHRvIG1lZXQgdGhl IHJlcXVpcmVtZW50cyBvZiBhIHdpZGUgdmFyaWV0eSBvZiB1c2UgY2FzZXMgZm9yIGluLW1lbW9y eSBub24tdm9sYXRpbGUgYW5kIHZvbGF0aWxlIGRhdGEgY2FjaGluZyBwcm9ncmFtbWluZy4NCg0K PT09IEN1cnJlbnQgU3RhdHVzID09PQ0KTW5lbW9uaWMgcHJvamVjdCBpcyBhdmFpbGFibGUgYXQg SW50ZWzigJlzIGludGVybmFsIHJlcG9zaXRvcnkgYW5kIG1hbmFnZWQgYnkgaXRzIGRlc2lnbmVy cyBhbmQgZGV2ZWxvcGVycy4gSXQgaXMgYWxzbyB0ZW1wb3JhcnkgaG9zdGVkIGF0IEdpdGh1YiBm b3IgZ2VuZXJhbCB2aWV3IGh0dHBzOi8vZ2l0aHViLmNvbS9Ob25Wb2xhdGlsZUNvbXB1dGluZy9N bmVtb25pYy5naXQgDQoNCldlIGhhdmUgaW50ZWdyYXRlZCB0aGlzIHByb2plY3QgZm9yIEFwYWNo ZSBTcGFya+KEoiAxLjUuMCBhbmQgZ2V0IDJYIHBlcmZvcm1hbmNlIGltcHJvdmVtZW50IHJhdGlv IGZvciBTcGFya+KEoiBNTGxpYiBrLW1lYW5zIHdvcmtsb2FkIGFuZCBvYnNlcnZlZCBleHBlY3Rl ZCBiZW5lZml0cyBvZiByZW1vdmluZyBTZXJEZXMsIHJlZHVjaW5nIHRvdGFsIEdDIHBhdXNlIHRp bWUgYnkgNDAlIGZyb20gb3VyIGV4cGVyaW1lbnRzLg0KDQo9PT09IE1lcml0b2NyYWN5ID09PT0N Ck1uZW1vbmljIHdhcyBvcmlnaW5hbGx5IGNyZWF0ZWQgYnkgR2FuZyAoR2FyeSkgV2FuZyBhbmQg WWFucGluZyBXYW5nIGluIGVhcmx5IDIwMTUuIFRoZSBpbml0aWFsIGNvbW1pdHRlcnMgYXJlIHRo ZSBjdXJyZW50IE1uZW1vbmljIFImRCB0ZWFtIG1lbWJlcnMgZnJvbSBVUywgQ2hpbmEsIGFuZCBJ bmRpYSBCaWcgRGF0YSBUZWNobm9sb2dpZXMgR3JvdXAgYXQgSW50ZWwuIFRoaXMgZ3JvdXAgd2ls bCBmb3JtIGEgYmFzZSBmb3IgbXVjaCBicm9hZGVyIGNvbW11bml0eSB0byBjb2xsYWJvcmF0ZSBv biB0aGlzIGNvZGUgYmFzZS4NCg0KV2UgaW50ZW5kIHRvIHJhZGljYWxseSBleHBhbmQgdGhlIGlu aXRpYWwgZGV2ZWxvcGVyIGFuZCB1c2VyIGNvbW11bml0eSBieSBydW5uaW5nIHRoZSBwcm9qZWN0 IGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgIkFwYWNoZSBXYXkuIiBVc2VycyBhbmQgbmV3IGNvbnRy aWJ1dG9ycyB3aWxsIGJlIHRyZWF0ZWQgd2l0aCByZXNwZWN0IGFuZCB3ZWxjb21lZC4gQnkgcGFy dGljaXBhdGluZyBpbiB0aGUgY29tbXVuaXR5IGFuZCBwcm92aWRpbmcgcXVhbGl0eSBwYXRjaGVz L3N1cHBvcnQgdGhhdCBtb3ZlIHRoZSBwcm9qZWN0IGZvcndhcmQsIHRoZXkgd2lsbCBlYXJuIG1l cml0LiBUaGV5IGFsc28gd2lsbCBiZSBlbmNvdXJhZ2VkIHRvIHByb3ZpZGUgbm9uLWNvZGUgY29u dHJpYnV0aW9ucyAoZG9jdW1lbnRhdGlvbiwgZXZlbnRzLCBjb21tdW5pdHkgbWFuYWdlbWVudCwg ZXRjLikgYW5kIHdpbGwgZ2FpbiBtZXJpdCBmb3IgZG9pbmcgc28uIFRob3NlIHdpdGggYSBwcm92 ZW4gc3VwcG9ydCBhbmQgcXVhbGl0eSB0cmFjayByZWNvcmQgd2lsbCBiZSBlbmNvdXJhZ2VkIHRv IGJlY29tZSBjb21taXR0ZXJzLg0KDQo9PT09IENvbW11bml0eSA9PT09DQpJZiBNbmVtb25pYyBp cyBhY2NlcHRlZCBmb3IgaW5jdWJhdGlvbiwgdGhlIHByaW1hcnkgaW5pdGlhbCBnb2FsIGlzIHRv IHRyYW5zaXQgdGhlIGNvcmUgY29tbXVuaXR5IHRvd2FyZHMgZW1icmFjaW5nIHRoZSBBcGFjaGUg V2F5IG9mIHByb2plY3QgZ292ZXJuYW5jZS4gV2Ugd291bGQgc29saWNpdCBtYWpvciBleGlzdGlu ZyBjb250cmlidXRvcnMgdG8gYmVjb21lIGNvbW1pdHRlcnMgb24gdGhlIHByb2plY3QgZnJvbSB0 aGUgc3RhcnQuDQoNCj09PT0gQ29yZSBEZXZlbG9wZXJzID09PT0NCk1uZW1vbmljIGNvcmUgZGV2 ZWxvcGVycyBhcmUgYWxsIHNraWxsZWQgc29mdHdhcmUgZGV2ZWxvcGVycyBhbmQgc3lzdGVtIHBl cmZvcm1hbmNlIGVuZ2luZWVycyBhdCBJbnRlbCBDb3JwIHdpdGggeWVhcnMgb2YgZXhwZXJpZW5j ZXMgaW4gdGhlaXIgZmllbGRzLiBUaGV5IGhhdmUgY29udHJpYnV0ZWQgbWFueSBjb2RlIHRvIEFw YWNoZSBwcm9qZWN0cy4gVGhlcmUgYXJlIFBNQ3MgYW5kIGV4cGVyaWVuY2VkIGNvbW1pdHRlcnMg aGF2ZSBiZWVuIHdvcmtpbmcgd2l0aCB1cyBmcm9tIEFwYWNoZSBTcGFya+KEoiwgQXBhY2hlIEhC YXNl4oSiLCBBcGFjaGUgUGhvZW5peOKEoiwgQXBhY2hl4oSiIEhhZG9vcMKuIGZvciB0aGlzIHBy b2plY3QncyBvcGVuIHNvdXJjZSBlZmZvcnRzLg0KDQo9PT0gQWxpZ25tZW50ID09PQ0KVGhlIGlu aXRpYWwgY29kZSBiYXNlIGlzIHRhcmdldGVkIHRvIGRhdGEgY2VudHJpYyBwcm9jZXNzaW5nIGFu ZCBhbmFseXppbmcgaW4gZ2VuZXJhbC4gTW5lbW9uaWMgaGFzIGJlZW4gYnVpbGRpbmcgdGhlIGNv bm5lY3Rpb24gYW5kIGludGVncmF0aW9uIGZvciBBcGFjaGUgcHJvamVjdHMgYW5kIG90aGVyIHBy b2plY3RzLg0KDQpXZSBiZWxpZXZlIE1uZW1vbmljIHdpbGwgYmUgZXZvbHZlZCB0byBiZWNvbWUg YSBwcm9taXNpbmcgcHJvamVjdCBmb3IgcmVhbC10aW1lIHByb2Nlc3NpbmcsIGluLW1lbW9yeSBz dHJlYW1pbmcgYW5hbHl0aWNzIGFuZCBtb3JlLCBhbG9uZyB3aXRoIGN1cnJlbnQgYW5kIGZ1dHVy ZSBuZXcgc2VydmVyIHBsYXRmb3JtcyB3aXRoIHBlcnNpc3RlbnQgbWVtb3J5IGFzIGJhc2Ugc3Rv cmFnZSBkZXZpY2VzLg0KDQo9PT0gS25vd24gUmlza3MgPT09DQo9PT09IE9ycGhhbmVkIHByb2R1 Y3RzID09PT0NCkludGVs4oCZcyBCaWcgRGF0YSBUZWNobm9sb2dpZXMgR3JvdXAgaXMgYWN0aXZl bHkgd29ya2luZyB3aXRoIGNvbW11bml0eSBvbiBpbnRlZ3JhdGluZyB0aGlzIHByb2plY3QgdG8g QmlnIERhdGEgZnJhbWV3b3JrcyBhbmQgYXBwbGljYXRpb25zLiBXZSBhcmUgY29udGludW91c2x5 IGFkZGluZyBuZXcgY29uY2VwdHMgYW5kIGNvZGVzIHRvIHRoaXMgcHJvamVjdCBhbmQgc3VwcG9y dCBuZXcgdXNhZ2UgY2FzZXMgYW5kIGZlYXR1cmVzIGZvciBBcGFjaGUgQmlnIERhdGEgZWNvc3lz dGVtLg0KDQpUaGUgcHJvamVjdCBjb250cmlidXRvcnMgYXJlIGxlYWRpbmcgY29udHJpYnV0b3Jz IG9mIEhhZG9vcC1iYXNlZCB0ZWNobm9sb2dpZXMgYW5kIGhhdmUgYSBsb25nIHN0YW5kaW5nIGlu IHRoZSBIYWRvb3AgY29tbXVuaXR5LiBBcyB3ZSBhcmUgYWRkcmVzc2luZyBtYWpvciBCaWcgRGF0 YSBwcm9jZXNzaW5nIHBlcmZvcm1hbmNlIGlzc3VlcywgdGhlcmUgaXMgbWluaW1hbCByaXNrIG9m IHRoaXMgd29yayBiZWNvbWluZyBub24tc3RyYXRlZ2ljIGFuZCB1bnN1cHBvcnRlZC4gDQoNCk91 ciBjb250cmlidXRvcnMgYXJlIGNvbmZpZGVudCB0aGF0IGEgbGFyZ2VyIGNvbW11bml0eSB3aWxs IGJlIGZvcm1lZCB3aXRoaW4gdGhlIHByb2plY3QgaW4gYSByZWxhdGl2ZWx5IHNob3J0IHBlcmlv ZCBvZiB0aW1lLg0KDQo9PT09IEluZXhwZXJpZW5jZSB3aXRoIE9wZW4gU291cmNlID09PT0NClRo aXMgcHJvamVjdCBoYXMgbG9uZyBzdGFuZGluZyBleHBlcmllbmNlZCBtZW50b3JzIGFuZCBpbnRl cmVzdGVkIGNvbnRyaWJ1dG9ycyBmcm9tIEFwYWNoZSBTcGFya+KEoiwgQXBhY2hlIEhCYXNl4oSi LCBBcGFjaGUgUGhvZW5peOKEoiwgQXBhY2hl4oSiIEhhZG9vcMKuIHRvIGhlbHAgdXMgbW92aW5n IHRocm91Z2ggb3BlbiBzb3VyY2UgcHJvY2Vzcy4gV2UgYXJlIGFjdGl2ZWx5IHdvcmtpbmcgd2l0 aCBleHBlcmllbmNlZCBBcGFjaGUgY29tbXVuaXR5IFBNQ3MgYW5kIGNvbW1pdHRlcnMgdG8gaW1w cm92ZSBvdXIgcHJvamVjdCBhbmQgZnVydGhlciB0ZXN0aW5nLg0KDQo9PT09IEhvbW9nZW5lb3Vz IERldmVsb3BlcnMgPT09PQ0KQWxsIGluaXRpYWwgY29tbWl0dGVycyBhbmQgaW50ZXJlc3RlZCBj b250cmlidXRvcnMgYXJlIGVtcGxveWVkIGF0IEludGVsLiBBcyBhbiBpbmZyYXN0cnVjdHVyZSBt ZW1vcnkgcHJvamVjdCwgdGhlcmUgYXJlIHdpZGUgcmFuZ2Ugb2YgQXBhY2hlIHByb2plY3RzIGFy ZSBpbnRlcmVzdGVkIGluIGlubm92YXRpdmUgbWVtb3J5IHByb2plY3QgdG8gZml0IGxhcmdlIHNp emVkIHBlcnNpc3RlbnQgbWVtb3J5IGFuZCBzdG9yYWdlIGRldmljZXMuIFZhcmlvdXMgQXBhY2hl IHByb2plY3RzIHN1Y2ggYXMgQXBhY2hlIFNwYXJr4oSiLCBBcGFjaGUgSEJhc2XihKIsIEFwYWNo ZSBQaG9lbml44oSiLCBBcGFjaGUgRmxpbmvihKIsIEFwYWNoZSBDYXNzYW5kcmHihKIgZXRjLiBj YW4gdGFrZSBnb29kIGFkdmFudGFnZSBvZiB0aGlzIHByb2plY3QgdG8gb3ZlcmNvbWUgc2VyaWFs aXphdGlvbi9kZS1zZXJpYWxpemF0aW9uLCBKYXZhIEdDLCBhbmQgY2FjaGluZyBpc3N1ZXMuIFdl IGV4cGVjdCBhIHdpZGUgcmFuZ2Ugb2YgaW50ZXJlc3Qgd2lsbCBiZSBnZW5lcmF0ZWQgYWZ0ZXIg d2Ugb3BlbiBzb3VyY2UgdGhpcyBwcm9qZWN0IHRvIEFwYWNoZS4NCg0KPT09PSBSZWxpYW5jZSBv biBTYWxhcmllZCBEZXZlbG9wZXJzID09PT0NCkFsbCBkZXZlbG9wZXJzIGFyZSBwYWlkIGJ5IHRo ZWlyIGVtcGxveWVycyB0byBjb250cmlidXRlIHRvIHRoaXMgcHJvamVjdC4gV2Ugd2VsY29tZSBh bGwgb3RoZXJzIHRvIGNvbnRyaWJ1dGUgdG8gdGhpcyBwcm9qZWN0IGFmdGVyIGl0IGlzIG9wZW4g c291cmNlZC4NCg0KPT09PSBSZWxhdGlvbnNoaXBzIHdpdGggT3RoZXIgQXBhY2hlIFByb2R1Y3Qg PT09PQ0KTW5lbW9uaWMgY2FuIGJlIGludGVncmF0ZWQgaW50byB2YXJpb3VzIEJpZyBEYXRhIGFu ZCBDbG91ZCBmcmFtZXdvcmtzIGFuZCBhcHBsaWNhdGlvbnMuDQpXZSBhcmUgY3VycmVudGx5IHdv cmtpbmcgb24gc2V2ZXJhbCBBcGFjaGUgcHJvamVjdHMgd2l0aCBNbmVtb25pYzoNCg0KRm9yIEFw YWNoZSBTcGFya+KEoiB3ZSBpbnRlZ3JhdGVkIE1uZW1vbmljIHRvIGltcHJvdmU6IA0KYSkgTG9j YWwgY2hlY2twb2ludHMNCmIpIE1lbW9yeSBtYW5hZ2VtZW50IGZvciBjYWNoaW5nDQpjKSBQZXJz aXN0ZW50IG1lbW9yeSBkYXRhc2V0cyBpbnB1dA0KZCkgTm9uLVZvbGF0aWxlIFJERCBvcGVyYXRp b25zDQpUaGUgYmVzdCB1c2UgY2FzZSBmb3IgQXBhY2hlIFNwYXJr4oSiIGNvbXB1dGluZyBpcyB0 aGF0IHRoZSBpbnB1dCBkYXRhIGlzIHN0b3JlZCBpbiBmb3JtIG9mIE1uZW1vbmljIG5hdGl2ZSBz dG9yYWdlIHRvIGF2b2lkIGNhY2hpbmcgaXRzIHJvdyBkYXRhIGZvciBpdGVyYXRpdmUgcHJvY2Vz c2luZy4gTW9yZW92ZXIsIFNwYXJrIGFwcGxpY2F0aW9ucyBjYW4gbGV2ZXJhZ2UgTW5lbW9uaWMg dG8gcGVyZm9ybSBkYXRhIHRyYW5zZm9ybWluZyBpbiBwZXJzaXN0ZW50IG9yIG5vbi1wZXJzaXN0 ZW50IG1lbW9yeSB3aXRob3V0IFNlckRlcy4NCg0KRm9yIEFwYWNoZeKEoiBIYWRvb3DCriwgd2Ug YXJlIGludGVncmF0aW5nIEhERlMgQ2FjaGluZyB3aXRoIE1uZW1vbmljIGluc3RlYWQgb2YgbW1h cC4gVGhpcyB3aWxsIHRha2UgYWR2YW50YWdlIG9mIHBlcnNpc3RlbnQgbWVtb3J5IHJlbGF0ZWQg ZmVhdHVyZXMuIFdlIGFsc28gcGxhbiB0byBldmFsdWF0ZSB0byBpbnRlZ3JhdGUgaW4gTmFtZW5v ZGUgRWRpdGxvZywgRlNJbWFnZSBwZXJzaXN0ZW50IGRhdGEgaW50byBNbmVtb25pYyBwZXJzaXN0 ZW50IG1lbW9yeSBhcmVhLg0KDQpGb3IgQXBhY2hlIEhCYXNl4oSiLCB3ZSBhcmUgdXNpbmcgTW5l bW9uaWMgZm9yIEJ1Y2tldENhY2hlIGFuZCBldmFsdWF0aW5nIHBlcmZvcm1hbmNlIGltcHJvdmVt ZW50cy4NCg0KV2UgZXhwZWN0IE1uZW1vbmljIHdpbGwgYmUgZnVydGhlciBkZXZlbG9wZWQgYW5k IGludGVncmF0ZWQgaW50byBtYW55IEFwYWNoZSBCaWdEYXRhIHByb2plY3RzIGFuZCBzbyBvbiwg dG8gZW5oYW5jZSBtZW1vcnkgbWFuYWdlbWVudCBzb2x1dGlvbnMgZm9yIG11Y2ggaW1wcm92ZWQg cGVyZm9ybWFuY2UgYW5kIHJlbGlhYmlsaXR5Lg0KDQo9PT09IEFuIEV4Y2Vzc2l2ZSBGYXNjaW5h dGlvbiB3aXRoIHRoZSBBcGFjaGUgQnJhbmQgPT09PQ0KV2hpbGUgd2UgZXhwZWN0IEFwYWNoZSBi cmFuZCBoZWxwcyB0byBhdHRyYWN0IG1vcmUgY29udHJpYnV0b3JzLCBvdXIgaW50ZXJlc3RzIGlu IHN0YXJ0aW5nIHRoaXMgcHJvamVjdCBpcyBiYXNlZCBvbiB0aGUgZmFjdG9ycyBtZW50aW9uZWQg aW4gdGhlIFJhdGlvbmFsZSBzZWN0aW9uLg0KDQpXZSB3b3VsZCBsaWtlIE1uZW1vbmljIHRvIGJl Y29tZSBhbiBBcGFjaGUgcHJvamVjdCB0byBmdXJ0aGVyIGZvc3RlciBhIGhlYWx0aHkgY29tbXVu aXR5IG9mIGNvbnRyaWJ1dG9ycyBhbmQgY29uc3VtZXJzIGluIEJpZ0RhdGEgdGVjaG5vbG9neSBS JkQgYXJlYXMuIFNpbmNlIE1uZW1vbmljIGNhbiBkaXJlY3RseSBiZW5lZml0IG1hbnkgQXBhY2hl IHByb2plY3RzIGFuZCBzb2x2ZXMgbWFqb3IgcGVyZm9ybWFuY2UgcHJvYmxlbXMsIHdlIGV4cGVj dCB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gdG8gaW5jcmVhc2UgaW50ZXJhY3Rpb24g d2l0aCB0aGUgbGFyZ2VyIGNvbW11bml0eSBhcyB3ZWxsLg0KDQo9PT0gRG9jdW1lbnRhdGlvbiA9 PT0NClRoZSBkb2N1bWVudGF0aW9uIGlzIGN1cnJlbnRseSBhdmFpbGFibGUgYXQgSW50ZWwgYW5k IHdpbGwgYmUgcG9zdGVkIHVuZGVyOiBodHRwczovL21uZW1vbmljLmluY3ViYXRvci5hcGFjaGUu b3JnL2RvY3MgDQoNCj09PSBJbml0aWFsIFNvdXJjZSA9PT0NCkluaXRpYWwgc291cmNlIGNvZGUg aXMgdGVtcG9yYXJ5IGhvc3RlZCBHaXRodWIgZm9yIGdlbmVyYWwgdmlld2luZzoNCmh0dHBzOi8v Z2l0aHViLmNvbS9Ob25Wb2xhdGlsZUNvbXB1dGluZy9NbmVtb25pYy5naXQgDQpJdCB3aWxsIGJl IG1vdmVkIHRvIEFwYWNoZSBodHRwOi8vZ2l0LmFwYWNoZS5vcmcvIGFmdGVyIHBvZGxpbmcuDQoN ClRoZSBpbml0aWFsIFNvdXJjZSBpcyB3cml0dGVuIGluIEphdmEgY29kZSAoODglKSBhbmQgbWl4 ZWQgd2l0aCBKTkkgQyBjb2RlICgxMSUpIGFuZCBzaGVsbCBzY3JpcHQgKDElKSBmb3IgdW5kZXJs eWluZyBuYXRpdmUgYWxsb2NhdGlvbiBsaWJyYXJpZXMuDQoNCj09PSBTb3VyY2UgYW5kIEludGVs bGVjdHVhbCBQcm9wZXJ0eSBTdWJtaXNzaW9uIFBsYW4gPT09DQpBcyBzb29uIGFzIE1uZW1vbmlj IGlzIGFwcHJvdmVkIHRvIGpvaW4gdGhlIEluY3ViYXRvciwgdGhlIHNvdXJjZSBjb2RlIHdpbGwg YmUgdHJhbnNpdGlvbmVkIHZpYSB0aGUgU29mdHdhcmUgR3JhbnQgQWdyZWVtZW50IG9udG8gQVNG IGluZnJhc3RydWN0dXJlIGFuZCBpbiB0dXJuIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSBBcGFj aGUgTGljZW5zZSwgdmVyc2lvbiAyLjAuDQoNCj09PSBFeHRlcm5hbCBEZXBlbmRlbmNpZXMgPT09 DQpUaGUgcmVxdWlyZWQgZXh0ZXJuYWwgZGVwZW5kZW5jaWVzIGFyZSBhbGwgQXBhY2hlIGxpY2Vu c2VzIG9yIG90aGVyIGNvbXBhdGlibGUgTGljZW5zZXMNCk5vdGU6IFRoZSBydW50aW1lIGRlcGVu ZGVudCBsaWNlbnNlcyBvZiBNbmVtb25pYyBhcmUgYWxsIGRlY2xhcmVkIGFzIEFwYWNoZSAyLjAs IHRoZSBHTlUgbGljZW5zZWQgY29tcG9uZW50cyBhcmUgdXNlZCBmb3IgTW5lbW9uaWMgYnVpbGQg YW5kIGRlcGxveW1lbnQuIFRoZSBNbmVtb25pYyBKTkkgbGlicmFyaWVzIGFyZSBidWlsdCB1c2lu ZyB0aGUgR05VIHRvb2xzLg0KDQptYXZlbiBhbmQgaXRzIHBsdWdpbnMgKGh0dHA6Ly9tYXZlbi5h cGFjaGUub3JnLyApIFtBcGFjaGUgMi4wXQ0KSkRLOCBvciBPcGVuSkRLIDggKGh0dHA6Ly9qYXZh LmNvbS8pIFtPcmFjbGUgb3IgT3BlbmpkayBKREsgTGljZW5zZV0gIA0KTnZtbCAoaHR0cDovL3Bt ZW0uaW8gKSBbb3B0aW9uYWxdIFtPcGVuIFNvdXJjZV0NClBNYWxsb2MgKGh0dHBzOi8vZ2l0aHVi LmNvbS9iaWdkYXRhLW1lbW9yeS9wbWFsbG9jICkgW29wdGlvbmFsXSBbQXBhY2hlIDIuMF0NCg0K QnVpbGQgYW5kIHRlc3QgZGVwZW5kZW5jaWVzOg0Kb3JnLnRlc3RuZy50ZXN0bmcgdjYuOC4xNyAg KGh0dHA6Ly90ZXN0bmcub3JnKSBbQXBhY2hlIDIuMF0NCm9yZy5mbG93Y29tcHV0aW5nLmNvbW1v bnMuY29tbW9ucy1yZXNnYyB2MC44LjcgW0FwYWNoZSAyLjBdDQpvcmcuZmxvd2NvbXB1dGluZy5j b21tb25zLmNvbW1vbnMtcHJpbWl0aXZlcyB2LjAuNi4wIFtBcGFjaGUgMi4wXQ0KY29tLnNxdWFy ZXVwLmphdmFwb2V0IHYxLjMuMS1TTkFQU0hPVCBbQXBhY2hlIDIuMF0NCkpESzggb3IgT3BlbkpE SyA4IChodHRwOi8vamF2YS5jb20vKSBbT3JhY2xlIG9yIE9wZW5qZGsgSkRLIExpY2Vuc2VdDQoN Cj09PSBDcnlwdG9ncmFwaHkgPT09DQpQcm9qZWN0IE1uZW1vbmljIGRvZXMgbm90IHVzZSBjcnlw dG9ncmFwaHkgaXRzZWxmLCBob3dldmVyLCBIYWRvb3AgcHJvamVjdHMgdXNlIHN0YW5kYXJkIEFQ SXMgYW5kIHRvb2xzIGZvciBTU0ggYW5kIFNTTCBjb21tdW5pY2F0aW9uIHdoZXJlIG5lY2Vzc2Fy eS4NCg0KPT09IFJlcXVpcmVkIFJlc291cmNlcyA9PT0NCldlIHJlcXVlc3QgdGhhdCBmb2xsb3dp bmcgcmVzb3VyY2VzIGJlIGNyZWF0ZWQgZm9yIHRoZSBwcm9qZWN0IHRvIHVzZQ0KDQo9PT09IE1h aWxpbmcgbGlzdHMgPT09PQ0KcHJpdmF0ZUBtbmVtb25pYy5pbmN1YmF0b3IuYXBhY2hlLm9yZyAo bW9kZXJhdGVkIHN1YnNjcmlwdGlvbnMpDQpjb21taXRzQG1uZW1vbmljLmluY3ViYXRvci5hcGFj aGUub3JnDQpkZXZAbW5lbW9uaWMuaW5jdWJhdG9yLmFwYWNoZS5vcmcNCg0KPT09PSBHaXQgcmVw b3NpdG9yeSA9PT09DQpodHRwczovL2dpdGh1Yi5jb20vYXBhY2hlL2luY3ViYXRvci1tbmVtb25p Yw0KDQo9PT09IERvY3VtZW50YXRpb24gPT09PQ0KaHR0cHM6Ly9tbmVtb25pYy5pbmN1YmF0b3Iu YXBhY2hlLm9yZy9kb2NzLw0KDQo9PT09IEpJUkEgaW5zdGFuY2UgPT09PQ0KaHR0cHM6Ly9pc3N1 ZXMuYXBhY2hlLm9yZy9qaXJhL2Jyb3dzZS9tbmVtb25pYw0KDQo9PT0gSW5pdGlhbCBDb21taXR0 ZXJzID09PQ0KKiBHYW5nIChHYXJ5KSBXYW5nIChnYW5nMSBkb3Qgd2FuZyBhdCBpbnRlbCBkb3Qg Y29tKQ0KKiBZYW5waW5nIFdhbmcgKHlhbnBpbmcgZG90IHdhbmcgYXQgaW50ZWwgZG90IGNvbSkN CiogVW1hIE1haGVzd2FyYSBSYW8gRyAodW1hbWFoZXNoIGF0IGFwYWNoZSBkb3Qgb3JnKSAgDQoq IEthaSBaaGVuZyAoZHJhbmt5ZSBhdCBhcGFjaGUgZG90IG9yZykgDQoqIFJha2VzaCBSYWRoYWty aXNobmFuIFBvdHR5ICAocmFrZXNociBhdCBhcGFjaGUgZG90IG9yZykgDQoqIFNlYW4gWmhvbmcg IChzZWFuemhvbmcgYXQgYXBhY2hlIGRvdCBvcmcpIA0KKiBIZW5yeSBTYXB1dHJhICAoaHNhcHV0 cmEgYXQgYXBhY2hlIGRvdCBvcmcpIA0KKiBIYW8gQ2hlbmcgKGhhbyBkb3QgY2hlbmcgYXQgaW50 ZWwgZG90IGNvbSkgDQoNCj09PSBBZmZpbGlhdGlvbnMgPT09DQoqIEdhbmcgKEdhcnkpIFdhbmcs IEludGVsIA0KKiBZYW5waW5nIFdhbmcsIEludGVsIA0KKiBVbWEgTWFoZXN3YXJhIFJhbyBHLCBJ bnRlbCANCiogS2FpIFpoZW5nLCBJbnRlbCANCiogUmFrZXNoIFJhZGhha3Jpc2huYW4gUG90dHks IEludGVsIA0KKiBTZWFuIFpob25nLCBJbnRlbCANCiogSGVucnkgU2FwdXRyYSwgSW5kZXBlbmRl bnQgDQoqIEhhbyBDaGVuZywgSW50ZWwgDQoNCj09PSBTcG9uc29ycyA9PT0NCj09PT0gQ2hhbXBp b24gPT09PQ0KUGF0cmljayBIdW50DQoNCj09PT0gTm9taW5hdGVkIE1lbnRvcnMgPT09PQ0KKiBQ YXRyaWNrIEh1bnQgPHBodW50IGF0IGFwYWNoZSBkb3Qgb3JnPiAtIEFwYWNoZSBJUE1DIG1lbWJl cg0KKiBBbmRyZXcgUHVydGVsbCA8YXB1cnRlbGwgYXQgYXBhY2hlIGRvdCBvcmcgPiAtIEFwYWNo ZSBJUE1DIG1lbWJlciANCiogSmFtZXMgVGF5bG9yIDxqYW1lc3RheWxvciBhdCBhcGFjaGUgZG90 IG9yZz4gLSBBcGFjaGUgSVBNQyBtZW1iZXIgDQoqIEhlbnJ5IFNhcHV0cmEgPGhzYXB1dHJhIGF0 IGFwYWNoZSBkb3Qgb3JnPiAtIEFwYWNoZSBJUE1DIG1lbWJlciANCg0KPT09PSBTcG9uc29yaW5n IEVudGl0eSA9PT09DQpBcGFjaGUgSW5jdWJhdG9yIFBNQw0KDQoDQu+/vUtLS0tLS0tLS0tLS0tL S0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Lv v70b77+9HVvvv73vv71Y77+977+93JpY77+9SwgZS1tYWlsNCu+/vRnvv71b77+9XO+/vVsNCl1b 77+977+9WO+/ve+/vdyaWO+/vVAaW++/ve+/vVjvv71dG9yL77+9XBhY77+9GUvvv73cme+/vULv v73vv73ciBhZGRpdGlvbmFsIGO+/ve+/vVtYW++/vRzvv70IGUtbWFpbDQrvv70Z77+9W++/vVzv v71bDQpaGVscEBpb77+977+9WO+/vV0b3Ivvv71cGFjvv70ZS++/vdyZ77+9Qg0K DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NClRvIHVuc3Vic2NyaWJlLCBlLW1haWw6IGdlbmVyYWwtdW5z dWJzY3JpYmVAaW5jdWJhdG9yLmFwYWNoZS5vcmcNCkZvciBhZGRpdGlvbmFsIGNvbW1hbmRz LCBlLW1haWw6IGdlbmVyYWwtaGVscEBpbmN1YmF0b3IuYXBhY2hlLm9yZw0K