From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id 4D38558D8 for ; Tue, 26 May 2015 07:33:26 +0200 (CEST) Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga102.fm.intel.com with ESMTP; 25 May 2015 22:33:24 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.13,495,1427785200"; d="scan'208";a="576736037" Received: from kmsmsx153.gar.corp.intel.com ([172.21.73.88]) by orsmga003.jf.intel.com with ESMTP; 25 May 2015 22:33:24 -0700 Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by KMSMSX153.gar.corp.intel.com (172.21.73.88) with Microsoft SMTP Server (TLS) id 14.3.224.2; Tue, 26 May 2015 13:33:22 +0800 Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.120]) by shsmsx102.ccr.corp.intel.com ([169.254.2.109]) with mapi id 14.03.0224.002; Tue, 26 May 2015 13:33:20 +0800 From: "Xu, HuilongX" To: "Liu, Yong" , "dts@dpdk.org" Thread-Topic: [dts] [dts 3/4] [PATCH V1] add generic_filter test plan Thread-Index: AQHQlshr2rHWG6UJQ0a14QCd4zSrPp2M/sUAgACMNqA= Date: Tue, 26 May 2015 05:33:21 +0000 Message-ID: References: <1432544044-14956-1-git-send-email-huilongx.xu@intel.com> <1432544044-14956-3-git-send-email-huilongx.xu@intel.com> <86228AFD5BCD8E4EBFD2B90117B5E81E10E338EC@SHSMSX103.ccr.corp.intel.com> In-Reply-To: <86228AFD5BCD8E4EBFD2B90117B5E81E10E338EC@SHSMSX103.ccr.corp.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-cr-hashedpuzzle: AVT4 B3Oc B3QD EI1D EOSZ EX/C F9+Z GSBY GrUp GtSO H9wp IbWS IxMS I4uh JmJ3 Jy1U; 1; ZAB0AHMAQABkAHAAZABrAC4AbwByAGcA; Sosha1_v1; 7; {BB68479F-97B7-44A7-9791-51B4B7C4D473}; aAB1AGkAbABvAG4AZwB4AC4AeAB1AEAAaQBuAHQAZQBsAC4AYwBvAG0A; Tue, 26 May 2015 05:33:19 GMT; UgBFADoAIABbAGQAdABzAF0AIABbAGQAdABzACAAMwAvADQAXQAgAFsAUABBAFQAQwBIACAAVgAxAF0AIABhAGQAZAAgAGcAZQBuAGUAcgBpAGMAXwBmAGkAbAB0AGUAcgAgAHQAZQBzAHQAIABwAGwAYQBuAA== x-cr-puzzleid: {BB68479F-97B7-44A7-9791-51B4B7C4D473} x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dts] [dts 3/4] [PATCH V1] add generic_filter test plan X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: test suite reviews and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 26 May 2015 05:33:27 -0000 SGkgeW9uZywNCkZvciB5b3VyIGNvbW1lbnRzLCBJIGNoZWNrIHdpdGggYXMgYmVsb3cuDQoNCj4g LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTGl1LCBZb25nDQo+IFNlbnQ6IFR1 ZXNkYXksIE1heSAyNiwgMjAxNSAxMDoxMSBBTQ0KPiBUbzogWHUsIEh1aWxvbmdYOyBkdHNAZHBk ay5vcmcNCj4gU3ViamVjdDogUkU6IFtkdHNdIFtkdHMgMy80XSBbUEFUQ0ggVjFdIGFkZCBnZW5l cmljX2ZpbHRlciB0ZXN0IHBsYW4NCj4gDQo+IEh1aWxvbmcsIHBsZWFzZSBzZWUgbXkgY29tbWVu dHMgYmVsb3cuDQo+IA0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTog ZHRzIFttYWlsdG86ZHRzLWJvdW5jZXNAZHBkay5vcmddIE9uIEJlaGFsZiBPZiBodWlsb25nLHh1 DQo+ID4gU2VudDogTW9uZGF5LCBNYXkgMjUsIDIwMTUgNDo1NCBQTQ0KPiA+IFRvOiBkdHNAZHBk ay5vcmcNCj4gPiBTdWJqZWN0OiBbZHRzXSBbZHRzIDMvNF0gW1BBVENIIFYxXSBhZGQgZ2VuZXJp Y19maWx0ZXIgdGVzdCBwbGFuDQo+ID4NCj4gPiBGcm9tOiBodWlsb25nIHh1IDxodWlsb25neC54 dUBpbnRlbC5jb20+DQo+ID4NCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IGh1aWxvbmcgeHUgPGh1 aWxvbmd4Lnh1QGludGVsLmNvbT4NCj4gPiAtLS0NCj4gPiAgdGVzdF9wbGFucy9nZW5lcmljX2Zp bHRlcl90ZXN0X3BsYW4ucnN0IHwgIDUxNg0KPiA+ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysNCj4gPiAgMSBmaWxlcyBjaGFuZ2VkLCA1MTYgaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlv bnMoLSkNCj4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3RfcGxhbnMvZ2VuZXJpY19maWx0ZXJf dGVzdF9wbGFuLnJzdA0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL3Rlc3RfcGxhbnMvZ2VuZXJpY19m aWx0ZXJfdGVzdF9wbGFuLnJzdA0KPiA+IGIvdGVzdF9wbGFucy9nZW5lcmljX2ZpbHRlcl90ZXN0 X3BsYW4ucnN0DQo+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gPiBpbmRleCAwMDAwMDAwLi5i MTA2MTgwDQo+ID4gLS0tIC9kZXYvbnVsbA0KPiA+ICsrKyBiL3Rlc3RfcGxhbnMvZ2VuZXJpY19m aWx0ZXJfdGVzdF9wbGFuLnJzdA0KPiA+IEBAIC0wLDAgKzEsNTE2IEBADQo+ID4gKyAgLi4gQ29w eXJpZ2h0IChjKSA8MjAxNT4sIEludGVsIENvcnBvcmF0aW9uDQo+ID4gKyAgIEFsbCByaWdodHMg cmVzZXJ2ZWQuDQo+ID4gKw0KPiA+ICsgICBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQNCj4gPiArICAgbW9kaWZpY2F0aW9u LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zDQo+ ID4gKyAgIGFyZSBtZXQ6DQo+ID4gKw0KPiA+ICsgICAtIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0DQo+ID4gKyAgICAgbm90aWNl LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLg0K PiA+ICsNCj4gPiArICAgLSBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodA0KPiA+ICsgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbg0KPiA+ICsgICAgIHRo ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUN Cj4gPiArICAgICBkaXN0cmlidXRpb24uDQo+ID4gKw0KPiA+ICsgICAtIE5laXRoZXIgdGhlIG5h bWUgb2YgSW50ZWwgQ29ycG9yYXRpb24gbm9yIHRoZSBuYW1lcyBvZiBpdHMNCj4gPiArICAgICBj b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl cml2ZWQNCj4gPiArICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv ciB3cml0dGVuIHBlcm1pc3Npb24uDQo+ID4gKw0KPiA+ICsgICBUSElTIFNPRlRXQVJFIElTIFBS T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTDQo+ID4gKyAg ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H LCBCVVQgTk9UDQo+ID4gKyAgIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQo+ID4gKyAgIEZPUiBBIFBBUlRJQ1VMQVIgUFVS UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFDQo+ID4gKyAgIENPUFlS SUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ UkVDVCwNCj4gPiArICAgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV RU5USUFMIERBTUFHRVMNCj4gPiArICAgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SDQo+ID4gKyAgIFNFUlZJQ0VTOyBMT1NT IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQ0KPiA+ ICsgICBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI RVIgSU4gQ09OVFJBQ1QsDQo+ID4gKyAgIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkNCj4gPiArICAgQVJJU0lORyBJTiBBTlkgV0FZ IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRA0KPiA+ICsg ICBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQo+ID4gKw0KPiA+ICsNCj4gPiAr RGVzY3JpcHRpb24NCj4gPiArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0NCj4gPiArVGhpcyBkb2N1bWVudCBwcm92aWRlcyB0aGUgcGxhbiBmb3Ig dGVzdGluZyB0aGUgZ2VuZXJpYyBmaWx0ZXIgZmVhdHVyZQ0KPiBvZg0KPiA+IDEwR2JFIGFuZCAx R2JFIEV0aGVybmV0IENvbnRyb2xsZXIuDQo+IA0KPiBUaGlzIGZlYXR1cmUgc2hvdWxkIGFsc28g Y292ZXIgNDBHRSBGVkwgY2FyZC4NCj4NCkkgd2lsbCB1cGRhdGUgdGhlIE5JQyBpbmZvIGFzIG5l eHQgdmVyc2lvbiBwYXRjaA0KIA0KPiBJbiBgdGVzdHBtZGAsIGFwcCBwcm92aWRlcyBHZW5lcmlj DQo+ID4gRmlsdGVyIEFQSSB0byBtYW5hZ2UgZmlsdGVyIHJ1bGVzIGZvciBraW5kcyBvZiBwYWNr ZXRzLCBhbmQgY2FsbHMgdGhlDQo+IEFQSQ0KPiA+IHRvIG1hbmFnZSBIVyBmaWx0ZXJzIGluIEhX LCBvciBTVyBmaWx0ZXJzIGluIFNXIHRhYmxlLg0KPiA+ICsNCj4gPiArKiBBIGdlbmVyaWMgZmls dGVyIHByb3ZpZGVzIGFuIGFiaWxpdHkgdG8gaWRlbnRpZnkgc3BlY2lmaWMgIGZsb3dzIG9yDQo+ ID4gc2V0cyBvZiAgZmxvd3MgYW5kIHJvdXRlcyB0aGVtIHRvIGRlZGljYXRlZCBxdWV1ZXMuDQo+ ID4gKyogQmFzZWQgb24gdGhlIEdlbmVyaWMgRmlsdGVyIG1lY2hhbmlzbSwgYWxsIHRoZSBTWU4g cGFja2V0cyBhcmUgcGxhY2VkDQo+ID4gaW4gYW4gYXNzaWduZWQgcXVldWUuDQo+ID4gKyogQmFz ZWQgb24gdGhlIEdlbmVyaWMgRmlsdGVyIG1lY2hhbmlzbSwgYWxsIHBhY2tldHMgYmVsb25naW5n IHRvIEwzL0w0DQo+ID4gZmxvd3MgdG8gYmUgcGxhY2VkIGluIGEgc3BlY2lmaWMgSFcgcXVldWUu RWFjaCBmaWx0ZXIgY29uc2lzdHMgb2YgYSA1LQ0KPiA+IHR1cGxlIChwcm90b2NvbCwgc291cmNl IGFuZCBkZXN0aW5hdGlvbiBJUCBhZGRyZXNzZXMsIHNvdXJjZSBhbmQNCj4gPiBkZXN0aW5hdGlv biBUQ1AvVURQL1NDVFAgcG9ydCkgYW5kIHJvdXRlcyBwYWNrZXRzIGludG8gb25lIG9mIHRoZSBS eA0KPiA+IHF1ZXVlcw0KPiA+ICsqIEwyIEV0aGVydHlwZSBGaWx0ZXJzIHByb3ZpZGVzIGFuIGFi aWxpdHkgdG8gaWRlbnRpZnkgcGFja2V0cyBieSB0aGVpcg0KPiA+IEwyIEV0aGVydHlwZSBhbmQg YXNzaWducyB0aGVtIHRvIHJlY2VpdmUgcXVldWVzLg0KPiA+ICtgVGVzdHBtZGAgYXBwIGlzIHVz ZWQgdG8gdGVzdCBhbGwgdHlwZXMgb2YgSFcgZmlsdGVycy4gQ2FzZSAxfjkgYXJlIHRoZQ0KPiA+ IGZ1bmN0aW9uIHRlc3QgZm9yIHRoZSBhYm92ZSBhcHAgd2hpbGUgY2FzZSAxMe+8jDEyIGFyZSB0 aGUgcGVyZm9ybWFuY2UNCj4gdGVzdA0KPiA+IGZvciBOaWFudGljLCBJMzUwLCA4MjU4MCBhbmQg ODI1NzYuDQo+ID4gKw0KPiA+ICsNCj4gPiArUHJlcmVxdWlzaXRlcw0KPiA+ICs9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCj4gPiArQXNzdW1pbmcg dGhhdCBwb3J0cyBgYDBgYCBhbmQgYGAxYGAgYXJlIGNvbm5lY3RlZCB0byBhIHRyYWZmaWMNCj4g PiBnZW5lcmF0b3IncyBwb3J0IGBgQWBgIGFuZCBgYEJgYC4NCj4gPiArDQo+ID4gK1NldHVwIGZv ciBgYHRlc3RwbWRgYA0KPiA+ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ICtMYXVuY2ggdGhlIGFwcCBgYHRlc3Rw bWRgYCB3aXRoIHRoZSBmb2xsb3dpbmcgYXJndW1lbnRzOjoNCj4gPiArDQo+ID4gKyAgICAuL3Rl c3RwbWQgLWMgZmZmZmYgLW4gNCAtLSAtaSAtLWRpc2FibGUtcnNzIC0tcnhxPTQgLS10eHE9NCAt LW5iLQ0KPiA+IGNvcmVzPTE2IC0tbmItcG9ydHM9Mg0KPiA+ICsNCj4gPiArVGhlIC1uIGNvbW1h bmQgaXMgdXNlZCB0byBzZWxlY3QgdGhlIG51bWJlciBvZiBtZW1vcnkgY2hhbm5lbHMuIEl0DQo+ IHNob3VsZA0KPiA+IGJlIG1hdGNoZWQgd2l0aCB0aGUgbnVtYmVyIG9mIG1lbW9yeSBjaGFubmVs cyBvbiB0aGF0IHNldHVwLiBUaGUgdmFsdWUNCj4gb2YNCj4gPiByeHEgYW5kIHR4cSBpcyAxIGJ5 IGRlZmF1bHQsIGl0J3MgbmVjZXNzYXJ5ICB0byBpbmNyZWFzZSB0aGVtLCBhbmQgbWFrZQ0KPiA+ IHN1cmUgcnhxIGFuZCB0eHEgbW9yZSB0aGFuIG9uZS4gQXQgdGhlIHNhbWUgdGltZSByc3MgaXMg ZW5hYmxlIGJ5DQo+IGRlZmF1bHQsDQo+ID4gc28gZGlzYWJsZSBpdC4gTWFwIHBvcnQgcXVldWVz IHRvIHN0YXRpc3RpYyBjb3VudGVyIHJlZ2lzdGVycy46Og0KPiA+ICsNCj4gPiArICAgIHRlc3Rw bWQ+c2V0IHN0YXRfcW1hcCByeCAwIDAgMA0KPiA+ICsgICAgdGVzdHBtZD5zZXQgc3RhdF9xbWFw IHJ4IDAgMSAxDQo+ID4gKyAgICB0ZXN0cG1kPnNldCBzdGF0X3FtYXAgcnggMCAyIDINCj4gPiAr ICAgIHRlc3RwbWQ+c2V0IHN0YXRfcW1hcCByeCAwIDMgMw0KPiA+ICtTZXR1cCBmb3IgcmVjZWl2 ZSBhbGwgcGFja2V0IGFuZCBkaXNhYmxlIHZsYW4gc3RyaXAgZnVuY3Rpb246Og0KPiA+ICsNCj4g PiArICAgIHRlc3RwbWQ+dmxhbiBzZXQgc3RyaXAgb2ZmIDANCj4gPiArICAgIHRlc3RwbWQ+dmxh biBzZXQgc3RyaXAgb2ZmIDENCj4gPiArICAgIHRlc3RwbWQ+dmxhbiBzZXQgZmlsdGVyIG9mZiAw DQo+ID4gKyAgICB0ZXN0cG1kPnZsYW4gc2V0IGZpbHRlciBvZmYgMQ0KPiA+ICsgICAgdGVzdHBt ZD5zZXQgZmx1c2hfcnggb24NCj4gPiArDQo+ID4gKw0KPiA+ICtUZXN0IENhc2UgMTogICAgIFNZ TiBmaWx0ZXINCj4gPiArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPiA+ICtTWU4gZmlsdGVycyBtaWdodCByb3V0ZXMg VENQIHBhY2tldHMgd2l0aCB0aGVpciBTWU4gZmxhZyBzZXQgaW50byBhbg0KPiA+IGFzc2lnbmVk IHF1ZXVlLiAgQnkgZmlsdGVyaW5nIHN1Y2ggcGFja2V0cyB0byBhbiBhc3NpZ25lZCBxdWV1ZSwN Cj4gc2VjdXJpdHkNCj4gPiBzb2Z0d2FyZSBjYW4gbW9uaXRvciBhbmQNCj4gPiArYWN0IG9uIFNZ TiBhdHRhY2tzLg0KPiA+ICsNCj4gPiArRW5hYmxlIFNZTiBmaWx0ZXJzIHdpdGggcXVldWUgMiBv biBwb3J0IDAuOjoNCj4gPiArDQo+ID4gKyAgICAgdGVzdHBtZD4gYWRkX3N5bl9maWx0ZXIgMCBw cmlvcml0eSBoaWdoIHF1ZXVlIDINCj4gPiArICAgICB0ZXN0cG1kPiBnZXRfc3luX2ZpbHRlciAw DQo+ID4gK0lmIFNZTiBGaWx0ZXIgaXMgYWRkZWQgc3VjY2Vzc2Z1bGx5LCAgaXQgZGlzcGxheXM6 Og0KPiA+ICsNCj4gPiArICAgIHN5biBmaWx0ZXI6IG9uLCBwcmlvcml0eTogaGlnaCwgcXVldWU6 IDINCj4gPiArVGhlbiBzZXR1cCBmb3IgcmVjZWl2ZTo6DQo+ID4gKw0KPiA+ICsgICAgdGVzdHBt ZD4gc3RhcnQNCj4gPiArQ29uZmlndXJlIHRoZSB0cmFmZmljIGdlbmVyYXRvciB0byBzZW5kIDUg U1lOIHBhY2tldHMgYW5kIDUgbm9uLVNZTg0KPiA+IHBhY2tldHMgLg0KPiA+ICtSZWFkaW5nIHRo ZSBzdGF0cyBmb3IgcG9ydCAwIGFmdGVyIHNlbmRpbmcgcGFja2V0cy46Og0KPiA+ICsNCj4gPiAr ICAgICB0ZXN0cG1kPiBzdG9wDQo+ID4gK1ZlcmlmeSB0aGF0IHRoZSBwYWNrZXRzIGFyZSByZWNl aXZlZCAoUlgtcGFja2V0cyBpbmNyZW1lbnRlZClvbiB0aGUNCj4gcXVldWUNCj4gPiAyLg0KPiA+ ICtTZXQgb2ZmIFNZTiBmaWx0ZXI6Og0KPiA+ICsNCj4gPiArICAgIHRlc3RwbWQ+cmVtb3ZlX3N5 bl9maWx0ZXIgMA0KPiA+ICsgICAgdGVzdHBtZD5zdGFydA0KPiA+ICtTZW5kIDUgU1lOIHBhY2tl dHMsIHRoZW4gcmVhZGluZyB0aGUgc3RhdHMgZm9yIHBvcnQgMCBhZnRlciBzZW5kaW5nDQo+ID4g cGFja2V0cy46Og0KPiA+ICsNCj4gPiArICAgIHRlc3RwbWQ+IHN0b3ANCj4gPiArVmVyaWZ5IHRo YXQgdGhlIHBhY2tldHMgYXJlIG5vdCByZWNlaXZlZCAoUlgtcGFja2V0cyBkbyBub3QNCj4gaW5j cmVhc2VkKW9uDQo+ID4gdGhlIHF1ZXVlIDIgYW5kIHN5biBmaWx0ZXIgaXMgcmVtb3ZlZC4NCj4g PiArDQo+ID4gKw0KPiA+ICtUZXN0IENhc2UgMjogICAgICA1LXR1cGxlIEZpbHRlcg0KPiA+ICs9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09DQo+ID4gK1RoaXMgZmlsdGVyIGlkZW50aWZpZXMgc3BlY2lmaWMgTDMvTDQgZmxv d3Mgb3Igc2V0cyBvZiBMMy9MNCBmbG93cyBhbmQNCj4gPiByb3V0ZXMgdGhlbSB0byBkZWRpY2F0 ZWQgcXVldWVzLiBFYWNoIGZpbHRlciBjb25zaXN0cyBvZiBhIDUtdHVwbGUNCj4gPiAocHJvdG9j b2wsIHNvdXJjZSBhbmQgZGVzdGluYXRpb24gSVAgYWRkcmVzc2VzLCBzb3VyY2UgYW5kIGRlc3Rp bmF0aW9uDQo+ID4gVENQL1VEUC9TQ1RQIHBvcnQpIGFuZCByb3V0ZXMgcGFja2V0cyBpbnRvIG9u ZSBvZiB0aGUgUnggcXVldWVzLg0KPiA+ICtUaGUgNS10dXBsZSBmaWx0ZXJzIGFyZSBjb25maWd1 cmVkIHZpYSBgZHN0X2lwYCwgYHNyY19pcGAsIGBkc3RfcG9ydGAsDQo+ID4gYHNyY19wb3J0YCwg YHByb3RvY29sYCBhbmQgTWFzay5UaGlzIGNhc2Ugc3VwcG9ydHMgdHdvIHR5cGUgTklDKG5pYW50 aWMsDQo+ID4gODI1NzYpLCBhbmQgdGhlaXIgY29tbWFuZCBsaW5lIGFyZSBkaWZmZXJlbnQuDQo+ ID4gK0VuYWJsZSB0aGUgIDUtdHVwbGUgRmlsdGVyIHdpdGggcXVldWUgMyBvbiBwb3J0IDAgZm9y IG5pYW50aWMuIDo6DQo+ID4gKw0KPiANCj4gNS10dXBsZSBjYXNlIHNob3VsZCBjb3ZlciB1ZHAg YW5kIHNjdHAgcGFja2V0cy4NCj4gDQo+ID4gKyAgICB0ZXN0cG1kPiBhZGRfNXR1cGxlX2ZpbHRl ciAwIGRzdF9pcCAyLjIuMi41IHNyY19pcCAyLjIuMi40IGRzdF9wb3J0DQo+IDENCj4gPiBzcmNf cG9ydCAxIHByb3RvY29sIDB4MDYgbWFzayAweDFmIGZsYWdzIDB4MCBwcmlvcml0eSAzIHF1ZXVl IDMgaW5kZXggMQ0KPiA+ICsgICAgdGVzdHBtZD4gZ2V0XzV0dXBsZV9maWx0ZXIgMCBpbmRleCAx DQo+ID4gKw0KPiA+ICtFbmFibGUgdGhlICA1LXR1cGxlIEZpbHRlciB3aXRoIHF1ZXVlIDMgb24g cG9ydCAwIGZvciA4MjU3Ni4gOjoNCj4gPiArDQo+ID4gKyAgICB0ZXN0cG1kPiBhZGRfNXR1cGxl X2ZpbHRlciAwIGRzdF9pcCAyLjIuMi41IHNyY19pcCAyLjIuMi40IGRzdF9wb3J0DQo+IDENCj4g PiBzcmNfcG9ydCAxIHByb3RvY29sIDB4MDYgbWFzayAweDFmIGZsYWdzIDB4MDIgcHJpb3JpdHkg MyBxdWV1ZSAzIGluZGV4IDENCj4gPiArICAgIHRlc3RwbWQ+IGdldF81dHVwbGVfZmlsdGVyIDAg aW5kZXggMQ0KPiA+ICsNCj4gDQo+IFBsZWFzZSBleHBsYWluIHdoeSBmbGFncyBmb3IgODI1NzYg YW5kIE5pYW50aWMgaGF2ZSBkaWZmZXJlbnQgdmFsdWVzLg0KICBOaWFudGljIGFuZCA4MjU3NiB0 aGUgaGFyZCByZWdpc3RlciBub3QgZGlmZmVyZW50LCBzbyA4MjU3NiBuZWVkIHRvIHNldCB0aGUg VENQIGZsYWdzLiBCdXQgTmlhbnRpYyBub3QgbmVlZCBzZXQuDQo+ID4gK0lmIEwzL0w0IDUtdHVw bGUgRmlsdGVyIGlzIGFkZGVkIHN1Y2Nlc3NmdWxseSwgIGl0IGRpc3BsYXlzOjoNCj4gPiArDQo+ ID4gKyAgICBmaWx0ZXJbMV06DQo+ID4gKyAgICBEZXN0aW5hdGlvbiBJUDogIDB4MDIwMjAyMDUg ICAgbWFzazogMQ0KPiA+ICsgICAgU291cmNlIElQOiAgICAgICAweDAyMDIwMjA0ICAgIG1hc2s6 IDENCj4gPiArICAgIERlc3RpbmF0aW9uIFBvcnQ6ICAgICAgIDB4MDAwMSAgICBtYXNrOiAxDQo+ ID4gKyAgICBTb3VyY2UgUG9ydDogICAgICAgMHgwMDAwICAgIG1hc2s6IDENCj4gPiArICAgIHBy b3RvY29sX3R5cGU6IHRjcCAgICAgICAgICAgIG1hc2s6IDENCj4gPiArICAgIHByaW9yaXR5OiAz DQo+ID4gK1RoZW4gc2V0dXAgZm9yIHJlY2VpdmU6Og0KPiA+ICsNCj4gPiArICAgIHRlc3RwbWQ+ IHN0YXJ0DQo+ID4gK0lmIHRoZSBOSUMgdHlwZSBpcyBuaWFudGljLCB0aGVuIHNlbmQgIGRpZmZl cmVudCB0eXBlIHBhY2tldHMgc3VjaCBhcw0KPiA+IChgZHN0X2lwYD0yLjIuMi41IGBzcmNfaXBg PTIuMi4yLjQgYGRzdF9wb3JgdD0xIGBzcmNfcG9ydGA9MQ0KPiA+IGBwcm90b2NvbGA9dGNwKSBh bmQgYXJwLiA6Og0KPiA+ICsNCj4gPiArICAgIHRlc3RwbWQ+IHN0b3ANCj4gPiArVmVyaWZ5IHRo YXQgdGhlIHBhY2tldHMgKGBkc3RfaXBgPTIuMi4yLjUgYHNyY19pcGA9Mi4yLjIuNCBgZHN0X3Bv cnRgPTENCj4gPiBgc3JjX3BvcnRgPTEgYHByb3RvY29sYCBgdGNwYClvciAoYGRzdF9pcGA9Mi4y LjIuNSBgc3JjX2lwYD0yLjIuMi40DQo+ID4gYGRzdF9wb3J0YD0xIGBzcmNfcG9ydGA9MSBgcHJv dG9jb2xgPXRjcCwgYGZsYWdzYD0weDIpICBhcmUgcmVjZWl2ZWQNCj4gKFJYLQ0KPiA+IHBhY2tl dHMgZG9lc24ndCBpbmNyZW1lbnRlZClvbiB0aGUgcXVldWUgMy5SZW1vdmUgTDMvTDQgNS10dXBs ZSAgZmlsdGVyLg0KPiA+ICtEaXNhYmxlICA1LXR1cGxlIEZpbHRlcnM6Og0KPiA+ICsNCj4gPiAr ICAgIHRlc3RwbWQ+cmVtb3ZlXzV0dXBsZV9maWx0ZXIgMCBpbmRleCAxDQo+ID4gKyAgICB0ZXN0 cG1kPnN0YXJ0DQo+ID4gK1NlbmQgIHBhY2tldHMoYGRzdF9pcGA9Mi4yLjIuNSBgc3JjX2lwYD0y LjIuMi40IGBkc3RfcG9ydGA9MQ0KPiBgc3JjX3BvcnRgPTENCj4gPiBgcHJvdG9jb2xgPXRjcCkg b3IgKGBkc3RfaXBgPTIuMi4yLjUgYHNyY19pcGA9Mi4yLjIuNCBgZHN0X3BvcnRgPTENCj4gPiBg c3JjX3BvcnRgPTEgYHByb3RvY29sYD10Y3AgYGZsYWdzYD0weDIpIC5UaGVuIHJlYWRpbmcgdGhl IHN0YXRzIGZvcg0KPiBwb3J0DQo+ID4gMCBhZnRlciBzZW5kaW5nIHBhY2tldHMuOjoNCj4gPiAr DQo+ID4gKyAgICB0ZXN0cG1kPiBzdG9wDQo+ID4gK1ZlcmlmeSB0aGF0IHRoZSBwYWNrZXRzIGFy ZSBub3QgcmVjZWl2ZWQgKFJYLXBhY2tldHMgZG8gbm90DQo+IGluY3JlYXNlZClvbg0KPiA+IHRo ZSBxdWV1ZSAzLiBBIDUtYml0IGZpZWxkIHRoYXQgbWFza3MgZWFjaCBvZiB0aGUgZmllbGRzIGlu IHRoZSA1LXR1cGxlDQo+ID4gKEw0IHByb3RvY29sLCBJUCBhZGRyZXNzZXMsIFRDUC9VRFAgcG9y dHMpLg0KPiA+ICtJZiAgNS10dXBsZSBmaWVsZHMgYXJlIG1hc2tlZCB3aXRoIDB4MCAgKGBtYXNr YD0weDApLCB0aGUgZmlsdGVyIHdpbGwNCj4gPiByb3V0ZXMgYWxsIHRoZSBwYWNrZXRzKGlwKSAg b24gdGhlIGFzc2lnbmVkIHF1ZXVlLkZvciBpbnN0YW5jZSwgZW5hYmxlDQo+IHRoZQ0KPiA+IDUt dHVwbGUgRmlsdGVycyB3aXRoIHF1ZXVlIDMgb24gcG9ydCAwIGZvciBuaWFudGljLiBob3dldmVy LCB0aGUgdmFsdWUNCj4gb2YNCj4gPiBtYXNrIGlzIHNldCAweDA6Og0KPiA+ICsNCj4gPiArICAg IHRlc3RwbWQ+IGFkZF81dHVwbGVfZmlsdGVyIDAgZHN0X2lwIDIuMi4yLjUgc3JjX2lwIDIuMi4y LjQgZHN0X3BvcnQNCj4gMQ0KPiA+IHNyY19wb3J0IDEgcHJvdG9jb2wgdGNwIG1hc2sgMHgwIGZs YWdzIDB4MCBwcmlvcml0eSAzIHF1ZXVlIDMgaW5kZXggMQ0KPiA+ICsNCj4gPiArDQo+ID4gK1Rl c3QgQ2FzZSAzOiAgICAgZXRoZXJ0eXBlIGZpbHRlcg0KPiA+ICs9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQo+ID4gK0Vu YWJsZSB0aGUgcmVjZWlwdCBvZiAgQVJQIHBhY2tldHMgd2l0aCBxdWV1ZSAyIG9uIHBvcnQgMDo6 DQo+ID4gKw0KPiA+ICsgICAgdGVzdHBtZD4gYWRkX2V0aGVydHlwZV9maWx0ZXIgMCBldGhlcnR5 cGUgMHgwODA2IHByaW9yaXR5IGRpc2FibGUgMA0KPiA+IHF1ZXVlIDIgaW5kZXggMQ0KPiA+ICsg ICAgdGVzdHBtZD4gZ2V0X2V0aGVydHlwZV9maWx0ZXIgMCBpbmRleCAxDQo+ID4gK0lmIGV0aGVy dHlwZSBGaWx0ZXJzIGlzIGFkZGVkIHN1Y2Nlc3NmdWxseSwgIGl0IGRpc3BsYXlzOjoNCj4gPiAr DQo+ID4gKyAgICBmaWx0ZXJbMV06DQo+ID4gKyAgICBldGhlcnR5cGU6ICAweDA4MDYNCj4gPiAr ICAgIHByaW9yaXR5OiBkaXNhYmxlLCAwDQo+ID4gKyAgICBxdWV1ZTogMg0KPiA+ICtUaGVuIHNl dHVwIGZvciByZWNlaXZlOjoNCj4gPiArDQo+ID4gKyAgICB0ZXN0cG1kPiBzdGFydA0KPiA+ICtD b25maWd1cmUgdGhlIHRyYWZmaWMgZ2VuZXJhdG9yIHRvIHNlbmQgMTUgQVJQIHBhY2tldHMgYW5k IDE1IG5vbiBBUlANCj4gPiBwYWNrZXRzLg0KPiA+ICsNCj4gPiArICAgIHRlc3RwbWQ+IHN0b3AN Cj4gPiArVmVyaWZ5IHRoYXQgdGhlIGFycCBwYWNrZXRzIGFyZSByZWNlaXZlZCAoUlgtcGFja2V0 cyBpbmNyZW1lbnRlZClvbiB0aGUNCj4gPiBxdWV1ZSAyIC4NCj4gPiArcmVtb3ZlIGV0aGVydHlw ZSBmaWx0ZXI6Og0KPiA+ICsNCj4gPiArICAgIHRlc3RwbWQ+IHJlbW92ZV9ldGhlcnR5cGVfZmls dGVyIDAgaW5kZXggMQ0KPiA+ICsgICAgdGVzdHBtZD4gc3RhcnQNCj4gPiArQ29uZmlndXJlIHRo ZSB0cmFmZmljIGdlbmVyYXRvciB0byBzZW5kICAxNSBBUlAgcGFja2V0cy4NCj4gPiArDQo+ID4g KyAgICB0ZXN0cG1kPiBzdG9wDQo+ID4gK0Fsc28sIHlvdSBjYW4gY2hhbmdlIHRoZSB2YWx1ZSBv ZiAgcHJpb3JpdHkgdG8gc2V0IGEgbmV3IGZpbHRlciBleGNlcHQNCj4gPiB0aGUgY2FzZSB0aGUg dmFsdWUgb2YgZXRoZXJ0eXBlIGlzIDB4MDgwMCB3aXRoIHByaW9yaXR5IGVuYWJsZSAuVGhlIHJl c3QNCj4gPiBvZiBzdGVwcyBhcmUgc2FtZS4NCj4gPiArRm9yIGluc3RhbmNlLCBlbmFibGUgIHBy aW9yaXR5IGZpbHRlcihqdXN0IHN1cHBvcnQgbmlhbnRpYyk6Og0KPiA+ICsNCj4gPiArICAgIHRl c3RwbWQ+IGFkZF9ldGhlcnR5cGVfZmlsdGVyIDAgZXRoZXJ0eXBlIDB4MDgwNiBwcmlvcml0eSBl bmFibGUgMQ0KPiA+IHF1ZXVlIDIgaW5kZXggMQ0KPiA+ICsNCj4gPiArVGVzdCBDYXNlIDQ6ICAg ICAxMEdCIE11bHRpcGxlIGZpbHRlcnMNCj4gPiArPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPiA+ICtFbmFibGUgZXRo ZXJ0eXBlIGZpbHRlciwgU1lOIGZpbHRlciBhbmQgIDUtdHVwbGUgRmlsdGVyIG9uIHRoZSBwb3J0 IDANCj4gYXQNCj4gPiBzYW1lIHRpbWUuIEFzc2lnbmluZyBkaWZmZXJlbnQgZmlsdGVycyB0byBk aWZmZXJlbnQgcXVldWVzIG9uIHBvcnQgMDo6DQo+ID4gKw0KPiA+ICsgICAgdGVzdHBtZD4gYWRk X3N5bl9maWx0ZXIgMCBwcmlvcml0eSBoaWdoIHF1ZXVlIDENCj4gPiArICAgIHRlc3RwbWQ+IGFk ZF9ldGhlcnR5cGVfZmlsdGVyIDAgZXRoZXJ0eXBlIDB4MDgwNiBwcmlvcml0eSBkaXNhYmxlIDAN Cj4gPiBxdWV1ZSAzIGluZGV4IDENCj4gPiArICAgIHRlc3RwbWQ+IGFkZF81dHVwbGVfZmlsdGVy IDAgZHN0X2lwIDIuMi4yLjUgc3JjX2lwIDIuMi4yLjQgZHN0X3BvcnQNCj4gMQ0KPiA+IHNyY19w b3J0IDEgcHJvdG9jb2wgdGNwIG1hc2sgMHgxZiBwcmlvcml0eSAzIHF1ZXVlIDMgaW5kZXggMQ0K PiA+ICsgICAgdGVzdHBtZD4gc3RhcnQNCj4gPiArDQo+IA0KPiBNYXliZSBpdCB3aWxsIGJlIGJl dHRlciB0aGF0IGVhY2ggZmlsdGVyIHJlZGlyZWN0IHBhY2tldHMgaW50byBkaWZmZXJlbnQNCj4g cXVldWVzLg0KPiBJdCB3aWxsIGhlbHAgdXMgY2hlY2sgd2hldGhlciBlYWNoIHF1ZXVlIGFjdCBh cyB3ZSBleHBlY3RlZC4NCj4gDQo+IElzIHRoZXJlIGFueSBjYXNlIGNvdmVyIHRoZSBtYXhpbXVt IG51bWJlciBvZiBxdWV1ZXM/IFdlIHNob3VsZCBrbm93IHRoZQ0KPiB2YWx1ZS4NCj4gDQogICAx MjggcXVldWUgdGVzdCBjYXNlIGZvciB0ZXN0IGFzc2lnbiBtYXggcXVldWUgdG8gcmVjZWl2ZWQg Y2FzZS4gYnV0IHRoaXMgY2FzZSB3aWxsIGZhaWxlZCwNCkJlY2F1c2UsIHRlc3RwbWQgbm90IHN1 cHBvcnQgYXNzaWduIHF1ZXVlIHJlY2VpdmVkIHBhY2thZ2UsIEkgdGhpbmssIHdoZW4gdGVzdHBt ZCBzdXBwb3J0IGFzc2lnbiBxdWV1ZQ0KUmVjZWl2ZWQgcGFja2FnZSwgSSBjYW4gc3VibWl0IGEg bmV3IHRlc3QgY2FzZSBmb3IgdGVzdCBkaWZmZXJlbnQgcXVldWUgcmVjZWl2ZSBwYWNrYWdlLg0K PiA+ICtDb25maWd1cmUgdGhlIHRyYWZmaWMgZ2VuZXJhdG9yIHRvIHNlbmQgIGRpZmZlcmVudCBw YWNrZXRzLiBTdWNoIGFzLFNZTg0KPiA+IHBhY2tldHMsIEFSUCBwYWNrZXRzLCBJUCBwYWNrZXRz IGFuZCBwYWNrZXRzIHdpdGgoYGRzdF9pcGA9Mi4yLjIuNQ0KPiA+IGBzcmNfaXBgPTIuMi4yLjQg YGRzdF9wb3J0YD0xIGBzcmNfcG9ydGA9MSBgcHJvdG9jb2xgPXRjcCk6Og0KPiA+ICsNCj4gPiAr ICAgIHRlc3RwbWQ+IHN0b3ANCj4gPiArVmVyaWZ5IHRoYXQgZGlmZmVyZW50IHBhY2tldHMgYXJl IHJlY2VpdmVkIChSWC1wYWNrZXRzIGluY3JlbWVudGVkKW9uDQo+IHRoZQ0KPiA+IGFzc2lnbmVk IHF1ZXVlLg0KPiA+ICtSZW1vdmUgZXRoZXJ0eXBlIGZpbHRlcjo6DQo+ID4gKw0KPiA+ICsgICAg dGVzdHBtZD4gcmVtb3ZlX2V0aGVydHlwZV9maWx0ZXIgMCBpbmRleCAxDQo+ID4gKyAgICB0ZXN0 cG1kPnN0YXJ0DQo+ID4gK1NlbmQgU1lOIHBhY2tldHMsIEFSUCBwYWNrZXRzIGFuZCBwYWNrZXRz IHdpdGggKGBkc3RfaXBgPTIuMi4yLjUNCj4gPiBgc3JjX2lwYD0yLjIuMi40IGBkc3RfcG9ydGA9 MSBgc3JjX3BvcnRgPTEgYHByb3RvY29sYD10Y3ApLjo6DQo+ID4gKw0KPiA+ICsgICAgdGVzdHBt ZD4gc3RvcA0KPiA+ICtWZXJpZnkgdGhhdCBhbGwgcGFja2V0cyBhcmUgcmVjZWl2ZWQgKFJYLXBh Y2tldHMgaW5jcmVtZW50ZWQpb24gdGhlDQo+ID4gYXNzaWduZWQgcXVldWUgZXhjZXB0IGFycCAg cGFja2V0cywgcmVtb3ZlIDUtdHVwbGUgZmlsdGVyOjoNCj4gPiArDQo+ID4gKyAgICB0ZXN0cG1k PnJlbW92ZV81dHVwbGVfZmlsdGVyIDAgaW5kZXggMQ0KPiA+ICsgICAgdGVzdHBtZD4gc3RhcnQN Cj4gPiArU2VuZCAgZGlmZmVyZW50IHBhY2tldHMgc3VjaCBhcyxTWU4gcGFja2V0cywgQVJQIHBh Y2tldHMsICBwYWNrZXRzIHdpdGgNCj4gPiAoYGRzdF9pcGA9Mi4yLjIuNSBgc3JjX2lwYD0yLjIu Mi40IGBkc3RfcG9ydGA9MSBgc3JjX3BvcnRgPTENCj4gPiBgcHJvdG9jb2xgPXRjcCk6Og0KPiA+ ICsNCj4gPiArICAgIHRlc3RwbWQ+c3RvcA0KPiA+ICtWZXJpZnkgdGhhdCBvbmx5IFNZTiBwYWNr ZXRzIGFyZSByZWNlaXZlZCAoUlgtcGFja2V0cyBpbmNyZW1lbnRlZClvbg0KPiB0aGUNCj4gPiBh c3NpZ25lZCBxdWV1ZQ0KPiA+ICtzZXQgb2ZmIFNZTiBmaWx0ZXI6Og0KPiA+ICsNCj4gPiArICAg IHRlc3RwbWQ+cmVtb3ZlX3N5bl9maWx0ZXIgMA0KPiA+ICsgICAgdGVzdHBtZD5zdGFydA0KPiA+ ICtDb25maWd1cmUgdGhlIHRyYWZmaWMgZ2VuZXJhdG9yIHRvIHNlbmQgNSBTWU4gcGFja2V0cy4N Cj4gPiArDQo+ID4gKyAgICB0ZXN0cG1kPnN0b3ANCj4gPiArVmVyaWZ5IHRoYXQgdGhlIHBhY2tl dHMgYXJlIG5vdCByZWNlaXZlZCAoUlgtcGFja2V0cyBkbyBub3QNCj4gaW5jcmVhc2VkKW9uDQo+ ID4gdGhlIHF1ZXVlIDEuDQo+ID4gKw0KPiA+ICsNCj4gPiArVGVzdCBDYXNlIDU6ICAgICAyLXR1 cGxlIGZpbHRlcg0KPiA+ICs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09DQo+ID4gK1RoaXMgY2FzZSBpcyBkZXNpZ25lZCBm b3IgTklDIHR5cGU6STM1MCwgODI1ODAuDQo+ID4gK0VuYWJsZSB0aGUgcmVjZWlwdCBvZiAgdWRw IHBhY2tldHMgd2l0aCBxdWV1ZSAxIG9uIHBvcnQgMDo6DQo+ID4gKw0KPiA+ICsgICAgdGVzdHBt ZD4gYWRkXzJ0dXBsZV9maWx0ZXIgMCBwcm90b2NvbCAweDExIDEgZHN0X3BvcnQgNjQgMSBmbGFn cyAwDQo+ID4gcHJpb3JpdHkgMyBxdWV1ZSAxIGluZGV4IDENCj4gPiArICAgIHRlc3RwbWQ+IGdl dF8ydHVwbGVfZmlsdGVyIDAgaW5kZXggMQ0KPiA+ICtJZiAyLXR1cGxlIEZpbHRlciBpcyBhZGRl ZCBzdWNjZXNzZnVsbHksICBpdCBkaXNwbGF5czo6DQo+ID4gKw0KPiA+ICsgICAgZmlsdGVyWzFd Og0KPiA+ICsgICAgRGVzdGluYXRpb24gUG9ydDogICAgIDB4MDA0MCAgICBtYXNrOiAxDQo+ID4g KyAgICBwcm90b2NvbDogIDB4MTEgICAgIG1hc2s6MSAgICAgdGNwX2ZsYWdzOiAweDAwDQo+ID4g KyAgICBwcmlvcml0eTogMyAgICBxdWV1ZTogMQ0KPiA+ICtUaGVuIHNldHVwIGZvciByZWNlaXZl OjoNCj4gPiArDQo+ID4gKyAgICB0ZXN0cG1kPiBzdGFydA0KPiA+ICtTZW5kIDE1IHVkcCBwYWNr ZXRzKGBkc3RfcG9ydGA9MTUsIGBwcm90b2NvbGA9dWRwKSBhbmQgMTUgbm9uIHVkcA0KPiA+IHBh Y2tldHMuUmVhZGluZyB0aGUgc3RhdHMgZm9yIHBvcnQgMCBhZnRlciBzZW5kaW5nIHBhY2tldHM6 Og0KPiA+ICsNCj4gPiArICAgIHRlc3RwbWQ+IHN0b3ANCj4gPiArDQo+ID4gK1ZlcmlmeSB0aGF0 IHRoZSB1ZHAgcGFja2V0cyBhcmUgcmVjZWl2ZWQgKFJYLXBhY2tldHMgaW5jcmVtZW50ZWQpb24g dGhlDQo+ID4gcXVldWUgMS4NCj4gPiArUmVtb3ZlIDJ0dXBsZSBmaWx0ZXI6Og0KPiA+ICsNCj4g PiArICAgIHRlc3RwbWQ+IHJlbW92ZV8ydHVwbGVfZmlsdGVyIDAgaW5kZXggMQ0KPiA+ICsgICAg dGVzdHBtZD4gc3RhcnQNCj4gPiArQ29uZmlndXJlIHRoZSB0cmFmZmljIGdlbmVyYXRvciB0byBz ZW5kICB1ZHAgcGFja2V0cyhgZHN0X3BvcnRgPTE1LA0KPiA+IGBwcm90b2NvbGA9dWRwKS4NCj4g PiArUmVhZGluZyB0aGUgc3RhdHMgZm9yIHBvcnQgMCBhZnRlciBzZW5kaW5nIHBhY2tldHM6Og0K PiA+ICsNCj4gPiArICAgIHRlc3RwbWQ+IHN0b3ANCj4gPiArVmVyaWZ5IHRoYXQgdGhlIHBhY2tl dHMgYXJlIG5vdCByZWNlaXZlZCAoUlgtcGFja2V0cyBkbyBub3QNCj4gaW5jcmVhc2VkKW9uDQo+ ID4gdGhlIHF1ZXVlIDEuDQo+ID4gK0Fsc28sIHlvdSBjYW4gY2hhbmdlIHRoZSB2YWx1ZSBvZiBw cm90b2NvbCBvciBkc3Rwb3J0IG9yIGZsYWdzIHRvIHNldCBhDQo+ID4gbmV3IGZpbHRlci50aGUg cmVzdCBvZiBzdGVwcyBhcmUgc2FtZS5Gb3IgZXhhbXBsZTo6DQo+ID4gKw0KPiANCj4gUGxlYXNl IHRha2UgY2FyZSBvZiBsYW5ndWFnZSBzeW50YXguDQo+IA0KICAgWWVzLCBJIHdpbGwgcmV2aWV3 IHRoaXMgZG9jIGF0IG5leHQgdmVyc2lvbg0KPiA+ICtFbmFibGUgdGhlIHJlY2VpcHQgb2YgIFVE UCBwYWNrZXRzIHdpdGggcXVldWUgMSBvbiBwb3J0IDE6Og0KPiA+ICsNCj4gPiArICAgIHRlc3Rw bWQ+IGFkZF8ydHVwbGVfZmlsdGVyIDEgcHJvdG9jb2wgMHgwMTEgMSBkc3RfcG9ydCA2NCAxIGZs YWdzIDANCj4gPiBwcmlvcml0eSAzIHF1ZXVlIDIgaW5kZXggMg0KPiA+ICsNCj4gPiArRW5hYmxl IHRoZSByZWNlaXB0IG9mICBUQ1AgcGFja2V0cyB3aXRoIGZsYWdzIG9uIHF1ZXVlIDEgb2YgcG9y dCAxOjoNCj4gPiArDQo+ID4gKyAgICB0ZXN0cG1kPiBhZGRfMnR1cGxlX2ZpbHRlciAxIHByb3Rv Y29sIDB4MDYgMSBkc3RfcG9ydCA2NCAxIGZsYWdzDQo+IDB4M0YNCj4gPiBwcmlvcml0eSAzIHF1 ZXVlIDMgaW5kZXggMw0KPiA+ICsNCj4gPiArDQo+ID4gK1Rlc3QgQ2FzZSA2OiBmbGV4IGZpbHRl cg0KPiA+ICs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09DQo+ID4gK1RoaXMgY2FzZSBpcyBkZXNpZ25lZCBmb3IgTklDIHR5 cGU6STM1MCwgODI1NzYsODI1ODAuDQo+ID4gK0VuYWJsZSB0aGUgcmVjZWlwdCBvZiAgIHBhY2tl dHMoY29udGV4dCkgd2l0aCBxdWV1ZSAxIG9uIHBvcnQgMDo6DQo+ID4gKw0KPiA+ICsgICAgdGVz dHBtZD4gYWRkX2ZsZXhfZmlsdGVyIDAgbGVuIDE2IGJ5dGVzDQo+ID4gMHgwMTIzNDU2Nzg5YWJj ZGVmMDAwMDAwMDAwODA2MDAwMCBtYXNrIDAwMEMgcHJpb3JpdHkgMyBxdWV1ZSAxIGluZGV4IDAN Cj4gDQo+IFBsZWFzZSBleHBsYWluIHRoZSByZWxhdGlvbiBvZiBsZW4gYW5kIG1hc2suDQo+IEhh cyB0aGlzIGNhc2UgYmVlbiBjb3ZlcmVkIHRoZSBtYXggbGVuZ3RoIG9mIGZsZXggZmlsdGVyPw0K PiANCiAgSW4gZmxleCBmaWx0ZXIgZGV0YWlsIGluZm8gZnJvbSBkcml2ZXIgZGlzcGxheXMgYXMg YmVsb3c6DQogIFZhbHVlICJkd29yZCIgaXMgYSBkb3VibGUgd29yZCB0eXBlIHNvIHRoaXMgbWFz ayBtYXRjaCAiMDgwNiIgIA0KPiA+ICsgICAgdGVzdHBtZD4gZ2V0X2ZsZXhfZmlsdGVyIDAgaW5k ZXggMA0KPiA+ICsNCj4gPiArSWYgZmxleCBGaWx0ZXIgaXMgYWRkZWQgc3VjY2Vzc2Z1bGx5LCAg aXQgZGlzcGxheXM6Og0KPiA+ICsgICAgZmlsdGVyWzBdOg0KPiA+ICsgICAgbGVuZ3RoOiAxNg0K PiA+ICsgICAgZHdvcmRbXTogMHgwMTIzNDU2NyA4OWFiY2RlZiAwMDAwMDAwMCAwODA2MDAwMCAw MDAwMDAwMCAwMDAwMDAwMA0KPiA+IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwDQo+ID4gMDAwMDAwMDAgMDAwMDAw MDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAN Cj4gPiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAw MCAwMDAwMDAwMCAwMDAwMDAwMA0KPiA+IDAwMDAwMDAwIDAwMDAwMDAwDQo+ID4gKyAgICBtYXNr W106DQo+ID4NCj4gMGIwMDAwMDAwMDAwMDAxMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDANCj4gPiAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMA0KPiA+ICsgICAgcHJpb3JpdHk6IDMg ICAgcXVldWU6IDENCj4gPiArVGhlbiBzZXR1cCBmb3IgcmVjZWl2ZTo6DQo+ID4gKw0KPiA+ICsg ICAgdGVzdHBtZD4gc3RhcnQNCj4gPiArQ29uZmlndXJlIHRoZSB0cmFmZmljIGdlbmVyYXRvciB0 byBzZW5kICBwYWNrZXRzKGNvbnRleHQpIGFuZCBhcnANCj4gcGFja3Rlcy4NCj4gPiArUmVhZGlu ZyB0aGUgc3RhdHMgZm9yIHBvcnQgMCBhZnRlciBzZW5kaW5nIHBhY2tldHM6Og0KPiA+ICsNCj4g PiArICAgIHRlc3RwbWQ+IHN0b3ANCj4gPiArVmVyaWZ5IHRoYXQgdGhlIGFycCBwYWNrZXRzIGFy ZSByZWNlaXZlZCAoUlgtcGFja2V0cyBpbmNyZW1lbnRlZClvbiB0aGUNCj4gPiBxdWV1ZSAxLg0K PiA+ICtSZW1vdmUgZmxleCBmaWx0ZXI6Og0KPiA+ICsNCj4gPiArICAgIHRlc3RwbWQ+IHJlbW92 ZV9mbGV4X2ZpbHRlciAwIGluZGV4IDANCj4gPiArICAgIHRlc3RwbWQ+IHN0YXJ0DQo+ID4gK0Nv bmZpZ3VyZSB0aGUgdHJhZmZpYyBnZW5lcmF0b3IgdG8gc2VuZCBwYWNrZXRzKGNvbnRleHQpLlJl YWRpbmcgdGhlDQo+ID4gc3RhdHMgZm9yIHBvcnQgMCBhZnRlciBzZW5kaW5nIHBhY2tldHM6Og0K PiA+ICsNCj4gPiArICAgIHRlc3RwbWQ+IHN0b3ANCj4gPiArVmVyaWZ5IHRoYXQgdGhlIHBhY2tl dHMgYXJlIG5vdCByZWNlaXZlZCAoUlgtcGFja2V0cyBkbyBub3QNCj4gaW5jcmVhc2VkKW9uDQo+ ID4gdGhlIHF1ZXVlIDEuIEFsc28sIHlvdSBjYW4gY2hhbmdlIHRoZSB2YWx1ZSBvZiBsZW5ndGgg b3IgY29udGV4dCBvciBtYXNrDQo+ID4gdG8gc2V0IGEgbmV3IGZpbHRlci50aGUgcmVzdCBvZiBz dGVwcyBhcmUgc2FtZS46Og0KPiA+ICsNCj4gPiArICAgIHRlc3RwbWQ+IGFkZF9mbGV4X2ZpbHRl ciAwIGxlbiAzMiBieXRlcw0KPiA+IDB4MDEyMzQ1Njc4OWFiY2RlZjAwMDAwMDAwMDgwNjAwMDAw MTIzNDU2Nzg5YWJjZGVmMDAwMDAwMDAwODA2MDAwMCBtYXNrDQo+ID4gMDAwQzAwMEMgcHJpb3Jp dHkgMSBxdWV1ZSAyIGluZGV4IDcNCj4gPiArDQo+ID4gK1Rlc3QgQ2FzZSA3OiBwcmlvcml0eSBm aWx0ZXINCj4gPiArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQ0KPiA+ICtUaGlzIGNhc2UgaXMgZGVzaWduZWQgZm9yIE5J QyAobmlhbnRpYyxJMzUwLCA4MjU3NiBhbmQgODI1ODApLiBJZg0KPiBwYWNrZXRzDQo+ID4gYXJl IG1hdGNoIG9uICBkaWZmZXJlbnQgZmlsdGVycyB3aXRoIHNhbWUgdHlwZSwgdGhlIGZpbHRlciB3 aXRoIGhpZ2gNCj4gPiBwcmlvcml0eSB3aWxsIGJlIHJlY2VpdmUgcGFja2V0cy4gRm9yIGV4YW1w bGUsIHBhY2tldHMgYXJlIG1hdGNoIG9uIHR3bw0KPiA+IGZpdmUtdHVwbGUgZmlsdGVycyB3aXRo IGRpZmZlcmVudCBwcmlvcml0eSwgdGhlIGZpbHRlciB3aXRoIGhpZ2gNCj4gcHJpb3JpdHkNCj4g PiB3aWxsIGJlIHJlY2VpdmUgcGFja2V0cy4gaWYgcGFja2V0cyBhcmUgbWF0Y2ggb24gIGRpZmZl cmVudCBmaWx0ZXJzIHdpdGgNCj4gPiBkaWZmZXJlbnQgdHlwZSwgcGFja2V0cyBiYXNlZCBvbiB0 aGUgYWJvdmUgY3JpdGVyaWEgYW5kIHRoZSBmb2xsb3dpbmcNCj4gPiBvcmRlci53aGVuIHN5biBz ZXQgcHJpb3JpdHkgaGlnaCwgc3luIGZpbHRlciBoYXMgaGlnaGVzdCBwcmlvcml0eSB0aGFuDQo+ ID4gb3RoZXJzIGZpbHRlci4gQW5kIGZsZXggZmlsdGVyIGhhcyBoaWdoZXIgcHJpb3JpdHkgdGhh biAyLXR1cGxlIGZpbHRlci4NCj4gPiArSWYgdGhlIE5pYyBpcyBuaWFudGljLCBlbmFibGUgdGhl IDUtdHVwbGUgZmlsdGVyOjoNCj4gPiArDQo+ID4gKyAgICB0ZXN0cG1kPiBhZGRfNXR1cGxlX2Zp bHRlciAwIGRzdF9pcCAyLjIuMi41IHNyY19pcCAyLjIuMi40IGRzdF9wb3J0DQo+IDENCj4gPiBz cmNfcG9ydCAxIHByb3RvY29sIDB4MDYgbWFzayAweDFmIGZsYWdzIDB4MCBwcmlvcml0eSAyIHF1 ZXVlIDIgaW5kZXggMQ0KPiA+ICsgICAgdGVzdHBtZD4gYWRkXzV0dXBsZV9maWx0ZXIgMCBkc3Rf aXAgMi4yLjIuNSBzcmNfaXAgMi4yLjIuNCBkc3RfcG9ydA0KPiAyDQo+ID4gc3JjX3BvcnQgMiBw cm90b2NvbCAweDA2IG1hc2sgMHgxOCBmbGFncyAweDAgcHJpb3JpdHkgMyBxdWV1ZSAzIGluZGV4 IDINCj4gPiArICAgIHRlc3RwbWQ+IHN0YXJ0DQo+ID4gK0NvbmZpZ3VyZSB0aGUgdHJhZmZpYyBn ZW5lcmF0b3IgdG8gc2VuZCAgcGFja2V0cyAoYGRzdF9pcGA9Mi4yLjIuNQ0KPiA+IGBzcmNfaXBg PTIuMi4yLjQgYGRzdF9wb3J0YD0xIGBzcmNfcG9ydGA9MSBgcHJvdG9jb2xgPXRjcCkuDQo+ID4g Kw0KPiA+ICsgICAgdGVzdHBtZD4gc3RvcA0KPiA+ICtwYWNrZXRzIGFyZSByZWNlaXZlZCAoUlgt cGFja2V0cyBiZSBpbmNyZWFzZWQpb24gdGhlIHF1ZXVlIDIuDQo+ID4gK1JlbW92ZSB0aGUgNXR1 cGxlIGZpbHRlciB3aXRoIGhpZ2ggcHJpb3JpdHk6Og0KPiA+ICsNCj4gPiArICAgIHRlc3RwbWQ+ cmVtb3ZlXzV0dXBsZV9maWx0ZXIgMCBpbmRleCAxDQo+ID4gKyAgICB0ZXN0cG1kPiBzdGFydA0K PiA+ICtDb25maWd1cmUgdGhlIHRyYWZmaWMgZ2VuZXJhdG9yIHRvIHNlbmQgIHBhY2tldHMgKGBk c3RfaXBgPTIuMi4yLjUNCj4gPiBgc3JjX2lwYD0yLjIuMi40IGBkc3RfcG9ydGA9MSBgc3JjX3Bv cnRgPTEgYHByb3RvY29sYD10Y3ApDQo+ID4gKw0KPiA+ICsgICAgdGVzdHBtZD4gc3RvcA0KPiA+ ICtwYWNrZXRzIGFyZSByZWNlaXZlZCAoUlgtcGFja2V0cyBiZSBpbmNyZWFzZWQpb24gdGhlIHF1 ZXVlIDMuDQo+ID4gK0lmIHRoZSBOaWMgaXMgSTM1MCBvciA4MjU4MCwgZW5hYmxlIHRoZSAyLXR1 cGxlICBhbmQgZmxleCBmaWx0ZXJzOjoNCj4gPiArDQo+ID4gKyAgICB0ZXN0cG1kPiBhZGRfZmxl eF9maWx0ZXIgMCBsZW4gMTYgYnl0ZXMNCj4gPiAweDAxMjM0NTY3ODlhYmNkZWYwMDAwMDAwMDA4 MDAwMDAwIG1hc2sgMDAwQyBwcmlvcml0eSAyIHF1ZXVlIDEgaW5kZXggMA0KPiA+ICsgICAgdGVz dHBtZD4gYWRkXzJ0dXBsZV9maWx0ZXIgMCBwcm90b2NvbCAweDExIDEgZHN0X3BvcnQgNjQgMSBm bGFncyAwDQo+ID4gcHJpb3JpdHkgMyBxdWV1ZSAyIGluZGV4IDENCj4gPiArICAgIHRlc3RwbWQ+ IHN0YXJ0DQo+ID4gK0NvbmZpZ3VyZSB0aGUgdHJhZmZpYyBnZW5lcmF0b3IgdG8gc2VuZCAgcGFj a2V0cyAoYGRzdF9pcGA9Mi4yLjIuNQ0KPiA+IGBzcmNfaXBgPTIuMi4yLjQgYGRzdF9wb3J0YD02 NCBgc3JjX3BvcnRgPTEgYHByb3RvY29sYD11ZHApLg0KPiA+ICsNCj4gPiArICAgIHRlc3RwbWQ+ IHN0b3ANCj4gPiArcGFja2V0cyBhcmUgcmVjZWl2ZWQgKFJYLXBhY2tldHMgYmUgaW5jcmVhc2Vk KW9uIHRoZSBxdWV1ZSAyLg0KPiA+ICtSZW1vdmUgdGhlIDJ0dXBsZSBmaWx0ZXIgd2l0aCBoaWdo IHByaW9yaXR5OjoNCj4gPiArDQo+ID4gKyAgICB0ZXN0cG1kPnJlbW92ZV8ydHVwbGVfZmlsdGVy IDAgaW5kZXggMQ0KPiA+ICsgICAgdGVzdHBtZD4gc3RhcnQNCj4gPiArQ29uZmlndXJlIHRoZSB0 cmFmZmljIGdlbmVyYXRvciB0byBzZW5kICBwYWNrZXRzIChgZHN0X2lwYD0yLjIuMi41DQo+ID4g YHNyY19pcGA9Mi4yLjIuNCBgZHN0X3BvcnRgPTY0IGBzcmNfcG9ydGA9MSBgcHJvdG9jb2xgPXVk cCksDQo+ID4gKw0KPiA+ICsgICAgdGVzdHBtZD4gc3RvcA0KPiA+ICtwYWNrZXRzIGFyZSByZWNl aXZlZCAoUlgtcGFja2V0cyBiZSBpbmNyZWFzZWQpb24gdGhlIHF1ZXVlIDEuDQo+ID4gK0lmIHRo ZSBOaWMgaXMgODI1NzYsIGVuYWJsZSB0aGUgc3luIGFuZCAyLXR1cGxlIGZpbHRlcjo6DQo+ID4g Kw0KPiA+ICsgICAgdGVzdHBtZD5hZGRfNXR1cGxlX2ZpbHRlciAwIGRzdF9pcCAyLjIuMi41IHNy Y19pcCAyLjIuMi40IGRzdF9wb3J0DQo+IDENCj4gPiBzcmNfcG9ydCAxIHByb3RvY29sIDB4MDYg bWFzayAweDFmIGZsYWdzIDB4MDIgcHJpb3JpdHkgMyBxdWV1ZSAzIGluZGV4IDENCj4gPiArICAg IHRlc3RwbWQ+YWRkX3N5bl9maWx0ZXIgMCBwcmlvcml0eSBoaWdoIHF1ZXVlIDINCj4gPiArICAg IHRlc3RwbWQ+IHN0YXJ0DQo+ID4gK0NvbmZpZ3VyZSB0aGUgdHJhZmZpYyBnZW5lcmF0b3IgdG8g c2VuZCAgcGFja2V0cyAoYGRzdF9pcGA9Mi4yLjIuNQ0KPiA+IGBzcmNfaXBgPTIuMi4yLjQgYGRz dF9wb3J0YD0xIGBzcmNfcG9ydGA9MSBgcHJvdG9jb2xgPXRjcCBgZmxhZ3NgPSJTIikuDQo+ID4g Kw0KPiA+ICsgICAgdGVzdHBtZD5zdG9wDQo+ID4gK3BhY2tldHMgYXJlIHJlY2VpdmVkIChSWC1w YWNrZXRzIGJlIGluY3JlYXNlZClvbiB0aGUgcXVldWUgMi4NCj4gPiArUmVtb3ZlIHRoZSBzeW4g ZmlsdGVyIHdpdGggaGlnaCBwcmlvcml0eTo6DQo+ID4gKw0KPiA+ICsgICAgdGVzdHBtZD5yZW1v dmVfc3luX2ZpbHRlciAwDQo+ID4gKyAgICB0ZXN0cG1kPnN0YXJ0DQo+ID4gK0NvbmZpZ3VyZSB0 aGUgdHJhZmZpYyBnZW5lcmF0b3IgdG8gc2VuZCAgcGFja2V0cyAoYGRzdF9pcGA9Mi4yLjIuNQ0K PiA+IGBzcmNfaXBgPTIuMi4yLjQgYGRzdF9wb3J0YD02NCBgc3JjX3BvcnRgPTEgYHByb3RvY29s YD10Y3AgYGZsYWdzYD0iUyIpLg0KPiA+ICsNCj4gPiArICAgIHRlc3RwbWQ+IHN0b3ANCj4gPiAr cGFja2V0cyBhcmUgcmVjZWl2ZWQgKFJYLXBhY2tldHMgYmUgaW5jcmVhc2VkKW9uIHRoZSBxdWV1 ZSAzLg0KPiA+ICsNCj4gPiArDQo+ID4gKw0KPiA+ICtUZXN0IENhc2UgODogMUdCIE11bHRpcGxl IGZpbHRlcnMNCj4gPiArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPiA+ICtUaGlzIGNhc2UgaXMgZGVzaWduZWQgZm9y IE5JQyhJMzUwLCA4MjU3Niw4MjU4MCkuIEVuYWJsZSBzeW4gZmlsdGVyIGFuZA0KPiA+IGV0aGVy dHlwZSBmaWx0ZXIgb24gdGhlIHBvcnQgMCBhdCB0aGUgc2FtZSB0aW1lLiAgQXNzaWduaW5nIGRp ZmZlcmVudA0KPiA+IGZpbHRlcnMgdG8gZGlmZmVyZW50IHF1ZXVlcyBvbiBwb3J0IDAuRW5hYmxl IHRoZSBmaWx0ZXJzOjoNCj4gPiArDQo+ID4gKyAgICB0ZXN0cG1kPiBhZGRfc3luX2ZpbHRlciAw IHByaW9yaXR5IGhpZ2ggcXVldWUgMQ0KPiA+ICsgICAgdGVzdHBtZD4gYWRkX2V0aGVydHlwZV9m aWx0ZXIgMCBldGhlcnR5cGUgMHgwODA2IHByaW9yaXR5IGRpc2FibGUgMA0KPiA+IHF1ZXVlIDMg aW5kZXggMQ0KPiA+ICsgICAgdGVzdHBtZD4gc3RhcnQNCj4gPiArDQo+ID4gK0NvbmZpZ3VyZSB0 aGUgdHJhZmZpYyBnZW5lcmF0b3IgdG8gc2VuZCBldGhlcnR5cGUgcGFja2V0cyBhbmQgYXJwDQo+ ID4gcGFja2V0cyAuIDo6DQo+ID4gKw0KPiA+ICsgICAgdGVzdHBtZD4gc3RvcA0KPiA+ICtUaGVu IFZlcmlmeSB0aGF0IHRoZSBwYWNrZXQgYXJlIHJlY2VpdmVkIG9uIHRoZSBxdWV1ZSAxLHF1ZXVl IDMuDQo+ID4gK1JlbW92ZSBhbGwgdGhlIGZpbHRlcjo6DQo+ID4gKw0KPiA+ICsgICAgdGVzdHBt ZD4gcmVtb3ZlX3N5bl9maWx0ZXIgMA0KPiA+ICsgICAgdGVzdHBtZD4gcmVtb3ZlX2V0aGVydHlw ZV9maWx0ZXIgMCBpbmRleCAxDQo+ID4gKw0KPiA+ICtDb25maWd1cmUgdGhlIHRyYWZmaWMgZ2Vu ZXJhdG9yIHRvIHNlbmQgdWRwIHBhY2tldHMgYW5kIGFycCBwYWNrZXRzLg0KPiBUaGVuDQo+ID4g VmVyaWZ5IHRoYXQgdGhlIHBhY2tldCBhcmUgbm90IHJlY2VpdmVkIG9uIHRoZSBxdWV1ZSAxIGFu ZCBxdWV1ZSAzIDo6DQo+ID4gKw0KPiA+ICsgICAgdGVzdHBtZD4gcXVpdA0KPiA+ICsNCj4gPiAr VGVzdCBDYXNlIDk6IGp1bWJvIGZyYW1lc2l6ZSBmaWx0ZXINCj4gPiArPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPiA+ ICsgVGhpcyBjYXNlIGlzIGRlc2lnbmVkIGZvciBOSUMgKG5pYW50aWMsSTM1MCwgODI1NzYgYW5k IDgyNTgwKS4gU2luY2UNCj4gPiBgYFRlc3RwbWRgYCBjb3VsZCB0cmFuc21pdHMgcGFja2V0cyB3 aXRoIGp1bWJvIGZyYW1lIHNpemUgLCBpdCBhbHNvDQo+IGNvdWxkDQo+ID4gdHJhbnNtaXQgYWJv dmUgcGFja2V0cyBvbiBhc3NpZ25lZCBxdWV1ZS4NCj4gPiArTGF1bmNoIHRoZSBhcHAgYGB0ZXN0 cG1kYGAgd2l0aCB0aGUgZm9sbG93aW5nIGFyZ3VtZW50czo6DQo+ID4gKw0KPiA+ICsgICAgdGVz dHBtZCAtYyBmZmZmIC1uIDQgLS0gLWkgLS1kaXNhYmxlLXJzcyAtLXJ4cT00IC0tdHhxPTQgLS1u Yi0NCj4gY29yZXM9OA0KPiA+IC0tbmItcG9ydHM9MiAtLXJ4ZD0xMDI0IC0tdHhkPTEwMjQgLS1i dXJzdD0xNDQgLS10eHB0PTMyIC0tdHhodD04IC0tDQo+IHR4d3Q9MA0KPiA+IC0tdHhmcmVldD0w IC0tcnhmcmVldD02NCAtLW1iY2FjaGU9MjAwIC0tbWJ1Zi1zaXplPTIwNDggLS1tYXgtcGt0LQ0K PiBsZW49OTYwMA0KPiA+ICsNCj4gPiArICAgIHRlc3RwbWQ+c2V0IHN0YXRfcW1hcCByeCAwIDAg MA0KPiA+ICsgICAgdGVzdHBtZD5zZXQgc3RhdF9xbWFwIHJ4IDAgMSAxDQo+ID4gKyAgICB0ZXN0 cG1kPnNldCBzdGF0X3FtYXAgcnggMCAyIDINCj4gPiArICAgIHRlc3RwbWQ+dmxhbiBzZXQgc3Ry aXAgb2ZmIDANCj4gPiArICAgIHRlc3RwbWQ+dmxhbiBzZXQgc3RyaXAgb2ZmIDENCj4gPiArICAg IHRlc3RwbWQ+dmxhbiBzZXQgZmlsdGVyIG9mZiAwDQo+ID4gKyAgICB0ZXN0cG1kPnZsYW4gc2V0 IGZpbHRlciBvZmYgMQ0KPiA+ICtFbmFibGUgdGhlIHN5biBmaWx0ZXJzIHdpdGggbGFyZ2Ugc2l6 ZTo6DQo+ID4gKw0KPiA+ICsgICAgdGVzdHBtZD4gYWRkX3N5bl9maWx0ZXIgMCBwcmlvcml0eSBo aWdoIHF1ZXVlIDENCj4gPiArICAgIHRlc3RwbWQ+IHN0YXJ0DQo+ID4gKw0KPiA+ICtDb25maWd1 cmUgdGhlIHRyYWZmaWMgZ2VuZXJhdG9yIHRvIHNlbmQgc3luIHBhY2tldHMoZnJhbWVzaXplPTIw MDApIC4gOjoNCj4gPiArDQo+ID4gKyAgICB0ZXN0cG1kPiBzdG9wDQo+ID4gK1RoZW4gVmVyaWZ5 IHRoYXQgdGhlIHBhY2tldCBhcmUgcmVjZWl2ZWQgb24gdGhlIHF1ZXVlIDEuDQo+ID4gK1JlbW92 ZSAgdGhlIGZpbHRlcjo6DQo+ID4gKw0KPiA+ICsgICAgdGVzdHBtZD4gcmVtb3ZlX3N5bl9maWx0 ZXIgMA0KPiA+ICsNCj4gPiArQ29uZmlndXJlIHRoZSB0cmFmZmljIGdlbmVyYXRvciB0byBzZW5k IHN5biBwYWNrZXRzIGFuZCBzLiBUaGVuIFZlcmlmeQ0KPiA+IHRoYXQgdGhlIHBhY2tldCBhcmUg bm90IHJlY2VpdmVkIG9uIHRoZSBxdWV1ZSAxICAgOjoNCj4gPiArDQo+ID4gKyAgICB0ZXN0cG1k PiBxdWl0DQo+ID4gKw0KPiA+ICtUZXN0IENhc2UgMTA6IDEyOCBxdWV1ZXMNCj4gPiArPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQ0KPiA+ICtUaGlzIGNhc2UgaXMgZGVzaWduZWQgZm9yIE5JQyhuaWFudGljKS4gU2luY2Ug TklDKG5pYW50aWMpIGhhcyAxMjgNCj4gPiB0cmFuc21pdCBxdWV1ZXMsIGl0IHNob3VsZCBiZSBz dXBwb3J0cyAgMTI4IGtpbmRzIG9mIGZpbHRlciBpZiBIYXJkd2FyZQ0KPiA+IGhhdmUgZW5vdWdo IGNvcmVzLg0KPiA+ICtMYXVuY2ggdGhlIGFwcCBgYHRlc3RwbWRgYCB3aXRoIHRoZSBmb2xsb3dp bmcgYXJndW1lbnRzOjoNCj4gPiArDQo+ID4gKyAgICAuL3Rlc3RwbWQgLWMgZmZmZmYgLW4gNCAt LSAtaSAtLWRpc2FibGUtcnNzIC0tcnhxPTEyOCAtLXR4cT0xMjggLS0NCj4gbmItDQo+ID4gY29y ZXM9MTYgLS1uYi1wb3J0cz0yIC0tdG90YWwtbnVtLW1idWZzPTYwMDAwDQo+ID4gKw0KPiA+ICsg ICAgdGVzdHBtZD5zZXQgc3RhdF9xbWFwIHJ4IDAgMCAwDQo+ID4gKyAgICB0ZXN0cG1kPnNldCBz dGF0X3FtYXAgcnggMCA2NCAxDQo+ID4gKyAgICB0ZXN0cG1kPnNldCBzdGF0X3FtYXAgcnggMCA2 NCAyDQo+IA0KPiBIZXJlIHNob3VsZCBiZSBxdWV1ZSAxMjc/DQo+ID4gKyAgICB0ZXN0cG1kPnZs YW4gc2V0IHN0cmlwIG9mZiAwDQo+ID4gKyAgICB0ZXN0cG1kPnZsYW4gc2V0IHN0cmlwIG9mZiAx DQo+ID4gKyAgICB0ZXN0cG1kPnZsYW4gc2V0IGZpbHRlciBvZmYgMA0KPiA+ICsgICAgdGVzdHBt ZD52bGFuIHNldCBmaWx0ZXIgb2ZmIDENCj4gPiArRW5hYmxlIHRoZSAgNS10dXBsZSBGaWx0ZXJz IHdpdGggZGlmZmVyZW50IHF1ZXVlcyAoNjQsMTI3KSBvbiBwb3J0IDANCj4gZm9yDQo+ID4gbmlh bnRpYy4gOjoNCj4gPiArDQo+ID4gKyAgICB0ZXN0cG1kPiBhZGRfNXR1cGxlX2ZpbHRlciAwIGRz dF9pcCAyLjIuMi41IHNyY19pcCAyLjIuMi40IGRzdF9wb3J0DQo+IDENCj4gPiBzcmNfcG9ydCAx IHByb3RvY29sIDB4MDYgbWFzayAweDFmIGZsYWdzIDB4MCBwcmlvcml0eSAzIHF1ZXVlIDY0IGlu ZGV4IDENCj4gPiArICAgIHRlc3RwbWQ+IGFkZF81dHVwbGVfZmlsdGVyIDAgZHN0X2lwIDIuMi4y LjUgc3JjX2lwIDIuMi4yLjQgZHN0X3BvcnQNCj4gMg0KPiA+IHNyY19wb3J0IDEgcHJvdG9jb2wg MHgwNiBtYXNrIDB4MWYgZmxhZ3MgMHgwIHByaW9yaXR5IDMgcXVldWUgMTI3IGluZGV4DQo+IDEN Cj4gPiArU2VuZCAgcGFja2V0cyhgZHN0X2lwYD0yLjIuMi41IGBzcmNfaXBgPTIuMi4yLjQgYGRz dF9wb3J0YD0xDQo+IGBzcmNfcG9ydGA9MQ0KPiA+IGBwcm90b2NvbGA9dGNwKSBhbmQgKGBkc3Rf aXBgPTIuMi4yLjUgYHNyY19pcGA9Mi4yLjIuNCBgZHN0X3BvcnRgPTINCj4gPiBgc3JjX3BvcnRg PTEgYHByb3RvY29sYD10Y3AgKSAuIFRoZW4gcmVhZGluZyB0aGUgc3RhdHMgZm9yIHBvcnQgMCBh ZnRlcg0KPiA+IHNlbmRpbmcgcGFja2V0cy4gcGFja2V0cyBhcmUgcmVjZWl2ZWQgb24gdGhlIHF1 ZXVlIDY0IGFuZCBxdWV1ZSAxMjcNCj4gPiArIFdoZW4gc2V0dGluZyA1LXR1cGxlIEZpbHRlciB3 aXRoIHF1ZXVlKDEyOCksIGl0IHdpbGwgZGlzcGxheSBmYWlsdXJlDQo+ID4gYmVjYXVzZSB0aGUg bnVtYmVyIG9mIHF1ZXVlcyBubyBtb3JlIHRoYW4gMTI4Lg0KPiA+ICsNCj4gPiArDQo+ID4gKw0K PiA+ICtUZXN0IENhc2UgMTE6IDEwRyBOSUMgUGVyZm9ybWFuY2UNCj4gPiArPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0K PiA+ICtUaGlzIGNhc2UgaXMgZGVzaWduZWQgZm9yIE5pYW50aWMuIEl0IHByb3ZpZGVzIHRoZSBw ZXJmb3JtYW5jZSBkYXRhDQo+IHdpdGgNCj4gPiBhbmQgd2l0aG91dCAgZ2VuZXJpYyBmaWx0ZXIu IDo6DQo+ID4gK0xhdW5jaCBhcHAgd2l0aG91dCBmaWx0ZXI6DQo+ID4gKyAgICAuL3Rlc3RwbWQg LWMgZmZmZmYgLW4gNCAtLSAtaSAtLWRpc2FibGUtcnNzIC0tcnhxPTQgLS10eHE9NCAtLW5iLQ0K PiA+IGNvcmVzPTE2IC0tbmItcG9ydHM9Mg0KPiA+ICsgICAgdGVzdHBtZD4gc3RhcnQNCj4gPiAr DQo+ID4gK1NlbmQgdGhlIHBhY2tldHMgc3RyZWFtIGZyb20gcGFja2V0IGdlbmVyYXRvcjo6DQo+ ID4gKw0KPiA+ICsgICAgdGVzdHBtZD4gcXVpdA0KPiA+ICtFbmFibGUgdGhlIGZpbHRlcnMgb24g YXBwOjoNCj4gPiArDQo+ID4gKyAgICAuL3Rlc3RwbWQgLWMgZmZmZmYgLW4gNCAtLSAtaSAtLWRp c2FibGUtcnNzIC0tcnhxPTQgLS10eHE9NCAtLW5iLQ0KPiA+IGNvcmVzPTE2IC0tbmItcG9ydHM9 Mg0KPiA+ICsNCj4gPiArICAgIHRlc3RwbWQ+c2V0IHN0YXRfcW1hcCByeCAwIDAgMA0KPiA+ICsg ICAgdGVzdHBtZD5zZXQgc3RhdF9xbWFwIHJ4IDAgMSAxDQo+ID4gKyAgICB0ZXN0cG1kPnNldCBz dGF0X3FtYXAgcnggMCAyIDINCj4gPiArICAgIHRlc3RwbWQ+c2V0IHN0YXRfcW1hcCByeCAwIDMg Mw0KPiA+ICsgICAgdGVzdHBtZD5zZXQgZmx1c2hfcnggb24NCj4gPiArICAgIHRlc3RwbWQ+IGFk ZF9zeW5fZmlsdGVyIDAgcHJpb3JpdHkgaGlnaCBxdWV1ZSAxDQo+ID4gKyAgICB0ZXN0cG1kPiBh ZGRfZXRoZXJ0eXBlX2ZpbHRlciAwIGV0aGVydHlwZSAweDA4MDYgcHJpb3JpdHkgZGlzYWJsZSAw DQo+ID4gcXVldWUgMiBpbmRleCAxDQo+ID4gKyAgICB0ZXN0cG1kPiBhZGRfNXR1cGxlX2ZpbHRl ciAwIGRzdF9pcCAyLjIuMi41IHNyY19pcCAyLjIuMi40IGRzdF9wb3J0DQo+IDENCj4gPiBzcmNf cG9ydCAxIHByb3RvY29sIDB4MDYgbWFzayAweDFmIGZsYWdzIDB4MDIgcHJpb3JpdHkgMyBxdWV1 ZSAzIGluZGV4IDENCj4gPiArICAgIHRlc3RwbWQ+IHN0YXJ0DQo+ID4gKw0KPiANCj4gUGxlYXNl IGV4cGxhaW4gd2h5IGFkZCB0aHJlZSBmaWx0ZXJzIGhlcmUuICBUaGlzIGNhc2UgbWl4ZWQgdGhy ZWUNCj4gZGlmZmVyZW50IHR5cGVzIG9mIGZpbHRlciwgaXQncyBoYXJkIHRvIG1lYXN1cmUgcGVy Zm9ybWFuY2UgZHJvcCBvZiBldmVyeQ0KPiBmaWx0ZXIuDQo+IEl0J3MgYmV0dGVyIHRvIGVubGFy Z2UgcGVyZm9ybWFuY2UgbWVhc3VyZSBzY29wZSBhcyBsaXN0IGJlbG93Lg0KPiANClRoaXMgY2Fz ZSBjb21wYXJlIGVuYWJsZSBhbmQgZGlzYWJsZSBmaWx0ZXIgcGVyZm9ybWFuY2UsIHdlIHdpbGwg c2VuZCB0aHJlZSBzdHJlYW0gZm9yIGV2ZXJ5IGZpbHRlciBwZXJmb3JtYW5jZSBjb21wYXJlIA0K PiBEaXNhYmxlIGFsbCBnZW5lcmljIGZpbHRlcg0KPiBFbmFibGUgc3luYyBmaWx0ZXINCj4gRW5h YmxlIGV0aGVydHlwZSBmaWx0ZXINCj4gRW5hYmxlIG9uZSA1dHVwbGUgZmlsdGVyDQo+IC4uLg0K PiBTZXZlcmFsIHNhbXBsZXMgYmV0d2VlbiBtYXhpbXVtLg0KPiAuLi4NCj4gRW5hYmxlIG1heGlt dW0gNXR1cGxlIGZpbHRlcg0KPiANCj4gDQo+ID4gK1NlbmQgdGhlIHBhY2tldHMgc3RyZWFtIGZy b20gcGFja2V0IGdlbmVyYXRvcjo6DQo+ID4gKw0KPiA+ICsgICAgdGVzdHBtZD4gcXVpdA0KPiA+ ICsNCj4gPiArDQo+ID4gKw0KPiA+ICsrLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKw0KPiA+ ICt8IEZyYW1lIHwgZGlzYWJsZSB8IGVuYWJsZSAgfA0KPiA+ICt8IFNpemUgIHwgZmlsdGVyICB8 IGZpbHRlciAgfA0KPiA+ICsrLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKw0KPiA+ICt8ICA2 NCAgIHwgICAgICAgICB8ICAgICAgICAgfA0KPiA+ICsrLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0t LS0tKw0KPiA+ICt8ICAxMjggIHwgICAgICAgICB8ICAgICAgICAgfA0KPiA+ICsrLS0tLS0tLSst LS0tLS0tLS0rLS0tLS0tLS0tKw0KPiA+ICt8ICAyNTYgIHwgICAgICAgICB8ICAgICAgICAgfA0K PiA+ICsrLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKw0KPiA+ICt8ICA1MTIgIHwgICAgICAg ICB8ICAgICAgICAgfA0KPiA+ICsrLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKw0KPiA+ICt8 ICAxMDI0IHwgICAgICAgICB8ICAgICAgICAgfA0KPiA+ICsrLS0tLS0tLSstLS0tLS0tLS0rLS0t LS0tLS0tKw0KPiA+ICt8ICAxMjgwIHwgICAgICAgICB8ICAgICAgICAgfA0KPiA+ICsrLS0tLS0t LSstLS0tLS0tLS0rLS0tLS0tLS0tKw0KPiA+ICt8ICAxNTE4IHwgICAgICAgICB8ICAgICAgICAg fA0KPiA+ICsrLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKw0KPiA+ICsNCj4gPiArDQo+ID4g K1Rlc3QgQ2FzZSAxMjogMUcgTklDIFBlcmZvcm1hbmNlDQo+ID4gKz09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCj4gPiAr VGhpcyBjYXNlIGlzIGRlc2lnbmVkIGZvciBOSUMgKEkzNTAsIDgyNTgwLCBhbmQgODI1NzYpLiBJ dCBwcm92aWRlcyB0aGUNCj4gPiBwZXJmb3JtYW5jZSBkYXRhIHdpdGggYW5kIHdpdGhvdXQgIGdl bmVyaWMgZmlsdGVyLjo6DQo+ID4gKw0KPiA+ICsgICAgLi90ZXN0cG1kIC1jIGZmZmZmIC1uIDQg LS0gLWkgLS1kaXNhYmxlLXJzcyAtLXJ4cT00IC0tdHhxPTQgLS1uYi0NCj4gPiBjb3Jlcz0xNiAt LW5iLXBvcnRzPTINCj4gPiArICAgIHRlc3RwbWQ+IHN0YXJ0DQo+ID4gKw0KPiA+ICtTZW5kIHRo ZSBwYWNrZXRzIHN0cmVhbSBmcm9tIHBhY2tldCBnZW5lcmF0b3I6Og0KPiA+ICsNCj4gPiArICAg IHRlc3RwbWQ+IHF1aXQNCj4gPiArDQo+ID4gK0VuYWJsZSB0aGUgZmlsdGVyIDo6DQo+ID4gKw0K PiA+ICsgICAgLi90ZXN0cG1kIC1jIGZmZmZmIC1uIDQgLS0gLWkgLS1kaXNhYmxlLXJzcyAtLXJ4 cT00IC0tdHhxPTQgLS1uYi0NCj4gPiBjb3Jlcz0xNiAtLW5iLXBvcnRzPTINCj4gPiArDQo+ID4g KyAgICB0ZXN0cG1kPnNldCBzdGF0X3FtYXAgcnggMCAwIDANCj4gPiArICAgIHRlc3RwbWQ+c2V0 IHN0YXRfcW1hcCByeCAwIDEgMQ0KPiA+ICsgICAgdGVzdHBtZD5zZXQgc3RhdF9xbWFwIHJ4IDAg MiAyDQo+ID4gKyAgICB0ZXN0cG1kPnNldCBzdGF0X3FtYXAgcnggMCAzIDMNCj4gPiArICAgIHRl c3RwbWQ+c2V0IGZsdXNoX3J4IG9uDQo+ID4gKyAgICB0ZXN0cG1kPiBhZGRfc3luX2ZpbHRlciAw IHByaW9yaXR5IGhpZ2ggcXVldWUgMQ0KPiA+ICsgICAgdGVzdHBtZD4gYWRkX2V0aGVydHlwZV9m aWx0ZXIgMCBldGhlcnR5cGUgMHgwODA2IHByaW9yaXR5IGRpc2FibGUgMA0KPiA+IHF1ZXVlIDIg aW5kZXggMQ0KPiA+ICsgICAgdGVzdHBtZD4gc3RhcnQNCj4gPiArDQo+ID4gKw0KPiA+ICtTZW5k IHRoZSBwYWNrZXRzIHN0cmVhbSBmcm9tIHBhY2tldCBnZW5lcmF0b3I6Og0KPiA+ICsNCj4gPiAr ICAgIHRlc3RwbWQ+IHF1aXQNCj4gPiArDQo+IA0KPiBTYW1lIGFzIGFib3ZlLg0KPiBJdCdzIGJl dHRlciB0byBlbmxhcmdlIHBlcmZvcm1hbmNlIG1lYXN1cmUgc2NvcGUuDQo+IA0KPiA+ICsNCj4g PiArDQo+ID4gKystLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rDQo+ID4gK3wgRnJhbWUgfCBk aXNhYmxlIHwgZW5hYmxlICB8DQo+ID4gK3wgU2l6ZSAgfCBmaWx0ZXIgIHwgZmlsdGVyICB8DQo+ ID4gKystLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rDQo+ID4gK3wgIDY0ICAgfCAgICAgICAg IHwgICAgICAgICB8DQo+ID4gKystLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rDQo+ID4gK3wg IDEyOCAgfCAgICAgICAgIHwgICAgICAgICB8DQo+ID4gKystLS0tLS0tKy0tLS0tLS0tLSstLS0t LS0tLS0rDQo+ID4gK3wgIDI1NiAgfCAgICAgICAgIHwgICAgICAgICB8DQo+ID4gKystLS0tLS0t Ky0tLS0tLS0tLSstLS0tLS0tLS0rDQo+ID4gK3wgIDUxMiAgfCAgICAgICAgIHwgICAgICAgICB8 DQo+ID4gKystLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rDQo+ID4gK3wgIDEwMjQgfCAgICAg ICAgIHwgICAgICAgICB8DQo+ID4gKystLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rDQo+ID4g K3wgIDEyODAgfCAgICAgICAgIHwgICAgICAgICB8DQo+ID4gKystLS0tLS0tKy0tLS0tLS0tLSst LS0tLS0tLS0rDQo+ID4gK3wgIDE1MTggfCAgICAgICAgIHwgICAgICAgICB8DQo+ID4gKystLS0t LS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rDQo+ID4gLS0NCj4gPiAxLjcuNC40DQoNCg==