From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mx.groups.io with SMTP id smtpd.web11.4914.1590634887678867886 for ; Wed, 27 May 2020 20:01:28 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=Urpvp+B1; spf=pass (domain: intel.com, ip: 192.55.52.136, mailfrom: michael.d.kinney@intel.com) IronPort-SDR: zyoWOfp/HkvEB7uPV07wzO0UQCsP48izCmfXc3uX7p+Vt6pQxmsIfPkf+5IDpDWj3UQd2h2dEj YuEredu95oYA== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 May 2020 20:01:26 -0700 IronPort-SDR: Z7sQeMoPdwZpQyeh93y8W3yKrbpGfmpjg11C4hsyR6zML1q9nrPAr+uAOF8pj+JHLjBxzjAyEc CMpgYoYPo4RQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,443,1583222400"; d="scan'208";a="302677138" Received: from fmsmsx106.amr.corp.intel.com ([10.18.124.204]) by orsmga008.jf.intel.com with ESMTP; 27 May 2020 20:01:26 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by FMSMSX106.amr.corp.intel.com (10.18.124.204) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 27 May 2020 20:01:25 -0700 Received: from fmsmsx609.amr.corp.intel.com (10.18.126.89) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Wed, 27 May 2020 20:01:25 -0700 Received: from FMSEDG002.ED.cps.intel.com (10.1.192.134) by fmsmsx609.amr.corp.intel.com (10.18.126.89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Wed, 27 May 2020 20:01:25 -0700 Received: from NAM02-CY1-obe.outbound.protection.outlook.com (104.47.37.51) by edgegateway.intel.com (192.55.55.69) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 27 May 2020 20:01:24 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=C4Emcm2B/vAVdRzUFoXCQB9BsU/m2B8CYuzMt7iY2plmDZWB+ordHmB8s0QStvA4QxzpxRWcLhPxGykCWGEbeTQ1ifFCrwZSf71wypxnhOn/RmmUhmaC0C0Q4I0hAuQtWFCnSRsQgh8xgm1Z1JWyQIWEAMbcPGUZsYLI/fqa1tdqh/B5xjSeHy3QN+40ptkIVXxGnOW9yc98lsApjrHdOzuU1c8MRNPWF8ft//vwR+Fdz5sDEvPNziNOX34Ag7WfgZ34obXwl2E8b42mWU/CvZHO5oJHhNgi72fBD+qJCsDBCkTQGH7ybem0sAlA6SCxDOfsMudfARt0+47fTp/Sqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8t3JauBxFlY36IIDLDbLxIOP7mNRnPSQp61dg0FXgo0=; b=dRWMh6IJnVUkFnGD0zXMb3ysQchsCdiOWHyZYZRGBMcFQN2pfzWLYHMBt+xssKdsJHvIE6rLUPgkd64JyqqPyZd8wQFRgg9ONLXXcF9/es7Z1O9cxkc4HT/FHuNh40RIXF0ZqQTdphx48cYOuJoR/60O3JVN97nP5zE9AhBFCwJZq4slTyqHFjj+R3GeBKzM7d4Dw5UqgPK+h+T/PEREpE6zKptCWVmwARs5IeoFyBHrR9Zu9xEpEeBJ8d5/3GjTVdqDBIRDSh1+KkSx2GWPlOtDPG1yuYK+WlvutGWMP6ppYXY8E1gEREEgDgYj21Xs9/IeJdLHBYprYxs7EpExtw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8t3JauBxFlY36IIDLDbLxIOP7mNRnPSQp61dg0FXgo0=; b=Urpvp+B1MP8U43jPStsW5oA7cVyBGOkmrdqdUH81RZBIPe/Bqc/IspkCsxwxJ/7Djxgarg28dk9qONNpmiJgOsvRjDh53HFUa57FljCwx60fGAv46lHc0ogMJBlBk2zj88DJ46tXHlrK4HxTVWbIm0Mtf9ZwfYChEPotaN54md0= Received: from MN2PR11MB4461.namprd11.prod.outlook.com (2603:10b6:208:192::29) by MN2PR11MB4661.namprd11.prod.outlook.com (2603:10b6:208:26b::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3045.19; Thu, 28 May 2020 03:01:19 +0000 Received: from MN2PR11MB4461.namprd11.prod.outlook.com ([fe80::10bc:1a4e:4745:ffc1]) by MN2PR11MB4461.namprd11.prod.outlook.com ([fe80::10bc:1a4e:4745:ffc1%3]) with mapi id 15.20.3021.029; Thu, 28 May 2020 03:01:19 +0000 From: "Michael D Kinney" To: Bret Barkelew , "devel@edk2.groups.io" , "Kinney, Michael D" Subject: Re: [PATCH v1 1/1] UnitTestFrameworkPkg: Add info to readme about working with UnitTests Thread-Topic: [PATCH v1 1/1] UnitTestFrameworkPkg: Add info to readme about working with UnitTests Thread-Index: AQHWNJlZv1bLmT9hqU6uhBv4knE2Yqi8zvhQ Date: Thu, 28 May 2020 03:01:18 +0000 Message-ID: References: <20200528023823.1776-1-brbarkel@microsoft.com> <20200528023823.1776-2-brbarkel@microsoft.com> In-Reply-To: <20200528023823.1776-2-brbarkel@microsoft.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.2.0.6 authentication-results: corthon.com; dkim=none (message not signed) header.d=none;corthon.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [134.134.136.206] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 3faa2f98-f9bc-43fa-5949-08d802b3650f x-ms-traffictypediagnostic: MN2PR11MB4661: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 0417A3FFD2 x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: McFqXvVjzPz7Cs7eOppYBeJ3lXuMSuGsVMt62y4rAfiH3JDFur/hSOiHwB3dhWmGRQzJq2uuIyjOnkHPVetDPR0oxY/ADd/VJk9e0KzsgvEkdogxoqZjBWzBuSFSrRewsinteaCbhsmRYwA1F64DQ0YYcPxbI0TaJVrsr0r+sCIvxvzwDHcb40vvUdMdfLDoyipRun68obLCegLv2HE3Pyuuk4bP6K4YRVi+bDYRjNiojLDtCGRvO/Hd3A/dhpmu6hh70ibLem1k8NgrUIs2LolFzwmxOtwbfHSVchqiUFCCRa605jRnz7RCdZWhqBCcUKA2uXOg3c4yIlPOJ7XyN6k++P1pr6l0RpdpVWdQcdYJxPocfVKe3WuITFOyH7C9orw0EpRqlHOiZ4sqX50IEw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR11MB4461.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(346002)(396003)(39860400002)(376002)(136003)(366004)(966005)(8676002)(66446008)(66556008)(66946007)(66476007)(76116006)(64756008)(30864003)(52536014)(2906002)(86362001)(19627235002)(5660300002)(33656002)(55016002)(6506007)(53546011)(186003)(26005)(316002)(8936002)(478600001)(9686003)(83380400001)(71200400001)(45080400002)(7696005)(110136005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: 9FRe5KrWyIz5naDFwygxCJuSsfZw654wYavSMlgXAfi843PynRXMTmJ3P29WrmMvFbs2IM3Mq0HnLr3TZaLjImQijSIHbX8EuaseOpWLHy5jo5PF5Qt/FjT5Jc/oWmeIxIaZUuvaCho2UPqXMycy395EZzSNmhiYOCJFrImX/lVcc3zljFnHOjHlTE0VRuYg62S5TVtrLDhzxKouwweseVL2PAvE/bjtYAQh6/qyeMcKuN8gQVCN/qVysk+PSLuO2BfNOxscQm9+zunrRvIFe1DuTU1GdWhU7vOijL/Kj32WHz/ufzYCV8vVnGb36zQJeKz4rwvkOdLcvVtTe9aakaF9eCfnAaC81kw16/B27DzPX517qfpaMpEociiHEyTzfbQe+oaZx5D1jDd07/Q0SbHI3QUD42oxGCKSR3edM7tfOTf+hktpCbDwFGmYAseCI1xq/WktoDgPiKTlQf/mFb4swEjmTKol+Qd/2voCG7VBX/Srty9mw6/tpU/GXTws MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 3faa2f98-f9bc-43fa-5949-08d802b3650f X-MS-Exchange-CrossTenant-originalarrivaltime: 28 May 2020 03:01:18.9332 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: ObzI/clXn3+GSNF7tX73tE8/q2d6SSjwAg4mK5D+eSMp2o7sQavMLiEEZG70IIALS2xczKx1uE4qd3fEAnrxTk5fvBtHUbbwiyYQglpmZXo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4661 Return-Path: michael.d.kinney@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 QnJldCwNCg0KVGhhbmsgeW91IGZvciB0aGVzZSB1cGRhdGVzIHRoYXQgaW1wcm92ZSB0aGUgVW5p dFRlc3RGcmFtZXdvcmtQa2cNCmRvY3VtZW50YXRpb24uDQoNClJldmlld2VkLWJ5OiBNaWNoYWVs IEQgS2lubmV5IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4NCg0KTWlrZQ0KDQo+IC0tLS0t T3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEJyZXQgQmFya2VsZXcgPGJyZXRAY29ydGhv bi5jb20+DQo+IFNlbnQ6IFdlZG5lc2RheSwgTWF5IDI3LCAyMDIwIDc6MzggUE0NCj4gVG86IGRl dmVsQGVkazIuZ3JvdXBzLmlvDQo+IENjOiBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtp bm5leUBpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFtQQVRDSCB2MSAxLzFdIFVuaXRUZXN0RnJhbWV3 b3JrUGtnOiBBZGQgaW5mbw0KPiB0byByZWFkbWUgYWJvdXQgd29ya2luZyB3aXRoIFVuaXRUZXN0 cw0KPiANCj4gQ2M6IE1pY2hhZWwgRCBLaW5uZXkgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29t Pg0KPiBTaWduZWQtb2ZmLWJ5OiBCcmV0IEJhcmtlbGV3DQo+IDxicmV0LmJhcmtlbGV3QG1pY3Jv c29mdC5jb20+DQo+IC0tLQ0KPiAgLnB5dG9vbC9SZWFkbWUubWQgICAgICAgICAgICAgIHwgMTI1 ICsrKysrKysrKysrKysrKy0tDQo+IC0tLQ0KPiAgVW5pdFRlc3RGcmFtZXdvcmtQa2cvUmVhZE1l Lm1kIHwgIDgyICsrKysrKysrKysrKy0NCj4gIDIgZmlsZXMgY2hhbmdlZCwgMTcyIGluc2VydGlv bnMoKyksIDM1IGRlbGV0aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdCBhLy5weXRvb2wvUmVhZG1l Lm1kIGIvLnB5dG9vbC9SZWFkbWUubWQNCj4gaW5kZXggYzdkY2UzYjY0Y2EwLi5jNDAxZGJhMThm YmYgMTAwNjQ0DQo+IC0tLSBhLy5weXRvb2wvUmVhZG1lLm1kDQo+ICsrKyBiLy5weXRvb2wvUmVh ZG1lLm1kDQo+IEBAIC0yLDMxICsyLDMyIEBADQo+IA0KPiANCj4gICMjIEJhc2ljIFN0YXR1cw0K PiANCj4gDQo+IA0KPiAtfCBQYWNrYWdlICAgICAgICAgICAgIHwgV2luZG93cyBWUzIwMTkgKElB MzIvWDY0KXwNCj4gVWJ1bnR1IEdDQyAoSUEzMi9YNjQvQVJNL0FBUkNINjQpIHwgS25vd24gSXNz dWVzIHwNCj4gDQo+IC18IDotLS0tICAgICAgICAgICAgICAgfCA6LS0tLS0gICAgICAgICAgICAg ICAgICAgfCA6LS0NCj4gLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgOi0tLSAgICAg ICAgIHwNCj4gDQo+IC18IEFybVBrZyAgICAgICAgICAgICAgfA0KPiANCj4gLXwgQXJtUGxhdGZv cm1Qa2cgICAgICB8DQo+IA0KPiAtfCBBcm1WaXJ0UGtnICAgICAgICAgIHwgU0VFIFBBQ0tBR0Ug UkVBRE1FIHwgU0VFDQo+IFBBQ0tBR0UgUkVBRE1FIHwNCj4gDQo+IC18IENyeXB0b1BrZyAgICAg ICAgICAgfCA6aGVhdnlfY2hlY2tfbWFyazogfA0KPiA6aGVhdnlfY2hlY2tfbWFyazogfCBTcGVs bCBjaGVja2luZyBpbiBhdWRpdCBtb2RlDQo+IA0KPiAtfCBEeW5hbWljVGFibGVzUGtnICAgIHwN Cj4gDQo+IC18IEVtYmVkZGVkUGtnICAgICAgICAgfA0KPiANCj4gLXwgRW11bGF0b3JQa2cgICAg ICAgICB8IFNFRSBQQUNLQUdFIFJFQURNRSB8IFNFRQ0KPiBQQUNLQUdFIFJFQURNRSB8IFNwZWxs IGNoZWNraW5nIGluIGF1ZGl0IG1vZGUNCj4gDQo+IC18IEZhdFBrZyAgICAgICAgICAgICAgfCA6 aGVhdnlfY2hlY2tfbWFyazogfA0KPiA6aGVhdnlfY2hlY2tfbWFyazogfA0KPiANCj4gLXwgRm1w RGV2aWNlUGtnICAgICAgICB8IDpoZWF2eV9jaGVja19tYXJrOiB8DQo+IDpoZWF2eV9jaGVja19t YXJrOiB8DQo+IA0KPiAtfCBJbnRlbEZzcDJQa2cgICAgICAgIHwNCj4gDQo+IC18IEludGVsRnNw MldyYXBwZXJQa2cgfA0KPiANCj4gLXwgTWRlTW9kdWxlUGtnICAgICAgICB8IDpoZWF2eV9jaGVj a19tYXJrOiB8DQo+IDpoZWF2eV9jaGVja19tYXJrOiB8IER4ZUlwbCBkZXBlbmRlbmN5IG9uIEFy bVBrZywNCj4gRGVwZW5kcyBvbiBTdGFuZGFsb25lTW1Qa2csIFNwZWxsIGNoZWNraW5nIGluIGF1 ZGl0DQo+IG1vZGUNCj4gDQo+IC18IE1kZVBrZyAgICAgICAgICAgICAgfCA6aGVhdnlfY2hlY2tf bWFyazogfA0KPiA6aGVhdnlfY2hlY2tfbWFyazogfCBTcGVsbCBjaGVja2luZyBpbiBhdWRpdCBt b2RlDQo+IA0KPiAtfCBOZXR3b3JrUGtnICAgICAgICAgIHwgOmhlYXZ5X2NoZWNrX21hcms6IHwN Cj4gOmhlYXZ5X2NoZWNrX21hcms6IHwgU3BlbGwgY2hlY2tpbmcgaW4gYXVkaXQgbW9kZQ0KPiAN Cj4gLXwgT3ZtZlBrZyAgICAgICAgICAgICB8IFNFRSBQQUNLQUdFIFJFQURNRSB8IFNFRQ0KPiBQ QUNLQUdFIFJFQURNRSB8IFNwZWxsIGNoZWNraW5nIGluIGF1ZGl0IG1vZGUNCj4gDQo+IC18IFBj QXRDaGlwc2V0UGtnICAgICAgfCA6aGVhdnlfY2hlY2tfbWFyazogfA0KPiA6aGVhdnlfY2hlY2tf bWFyazogfA0KPiANCj4gLXwgU2VjdXJpdHlQa2cgICAgICAgICB8IDpoZWF2eV9jaGVja19tYXJr OiB8DQo+IDpoZWF2eV9jaGVja19tYXJrOiB8IFNwZWxsIGNoZWNraW5nIGluIGF1ZGl0IG1vZGUN Cj4gDQo+IC18IFNoZWxsUGtnICAgICAgICAgICAgfCA6aGVhdnlfY2hlY2tfbWFyazogfA0KPiA6 aGVhdnlfY2hlY2tfbWFyazogfCBTcGVsbCBjaGVja2luZyBpbiBhdWRpdCBtb2RlLCAzDQo+IG1v ZHVsZXMgYXJlIG5vdCBiZWluZyBidWlsdCBieSBEU0MNCj4gDQo+IC18IFNpZ25lZENhcHN1bGVQ a2cgICAgfA0KPiANCj4gLXwgU291cmNlTGV2ZWxEZWJ1Z1BrZyB8DQo+IA0KPiAtfCBTdGFuZGFs b25lTW1Qa2cgICAgIHwNCj4gDQo+IC18IFVlZmlDcHVQa2cgICAgICAgICAgfCA6aGVhdnlfY2hl Y2tfbWFyazogfA0KPiA6aGVhdnlfY2hlY2tfbWFyazogfCBTcGVsbCBjaGVja2luZyBpbiBhdWRp dCBtb2RlLCAyDQo+IGJpbmFyeSBtb2R1bGVzIG5vdCBiZWluZyBidWlsdCBieSBEU0MNCj4gDQo+ IC18IFVlZmlQYXlsb2FkUGtnICAgICAgfA0KPiANCj4gK3wgUGFja2FnZSAgICAgICAgICAgICAg fCBXaW5kb3dzIFZTMjAxOSAoSUEzMi9YNjQpfA0KPiBVYnVudHUgR0NDIChJQTMyL1g2NC9BUk0v QUFSQ0g2NCkgfCBLbm93biBJc3N1ZXMgfA0KPiANCj4gK3wgOi0tLS0gICAgICAgICAgICAgICAg fCA6LS0tLS0gICAgICAgICAgICAgICAgICAgfCA6LQ0KPiAtLS0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgOi0tLSAgICAgICAgIHwNCj4gDQo+ICt8IEFybVBrZyAgICAgICAgICAgICAg IHwNCj4gDQo+ICt8IEFybVBsYXRmb3JtUGtnICAgICAgIHwNCj4gDQo+ICt8IEFybVZpcnRQa2cg ICAgICAgICAgIHwgU0VFIFBBQ0tBR0UgUkVBRE1FIHwgU0VFDQo+IFBBQ0tBR0UgUkVBRE1FIHwN Cj4gDQo+ICt8IENyeXB0b1BrZyAgICAgICAgICAgIHwgOmhlYXZ5X2NoZWNrX21hcms6IHwNCj4g OmhlYXZ5X2NoZWNrX21hcms6IHwgU3BlbGwgY2hlY2tpbmcgaW4gYXVkaXQgbW9kZQ0KPiANCj4g K3wgRHluYW1pY1RhYmxlc1BrZyAgICAgfA0KPiANCj4gK3wgRW1iZWRkZWRQa2cgICAgICAgICAg fA0KPiANCj4gK3wgRW11bGF0b3JQa2cgICAgICAgICAgfCBTRUUgUEFDS0FHRSBSRUFETUUgfCBT RUUNCj4gUEFDS0FHRSBSRUFETUUgfCBTcGVsbCBjaGVja2luZyBpbiBhdWRpdCBtb2RlDQo+IA0K PiArfCBGYXRQa2cgICAgICAgICAgICAgICB8IDpoZWF2eV9jaGVja19tYXJrOiB8DQo+IDpoZWF2 eV9jaGVja19tYXJrOiB8DQo+IA0KPiArfCBGbXBEZXZpY2VQa2cgICAgICAgICB8IDpoZWF2eV9j aGVja19tYXJrOiB8DQo+IDpoZWF2eV9jaGVja19tYXJrOiB8DQo+IA0KPiArfCBJbnRlbEZzcDJQ a2cgICAgICAgICB8DQo+IA0KPiArfCBJbnRlbEZzcDJXcmFwcGVyUGtnICB8DQo+IA0KPiArfCBN ZGVNb2R1bGVQa2cgICAgICAgICB8IDpoZWF2eV9jaGVja19tYXJrOiB8DQo+IDpoZWF2eV9jaGVj a19tYXJrOiB8IER4ZUlwbCBkZXBlbmRlbmN5IG9uIEFybVBrZywNCj4gRGVwZW5kcyBvbiBTdGFu ZGFsb25lTW1Qa2csIFNwZWxsIGNoZWNraW5nIGluIGF1ZGl0DQo+IG1vZGUNCj4gDQo+ICt8IE1k ZVBrZyAgICAgICAgICAgICAgIHwgOmhlYXZ5X2NoZWNrX21hcms6IHwNCj4gOmhlYXZ5X2NoZWNr X21hcms6IHwgU3BlbGwgY2hlY2tpbmcgaW4gYXVkaXQgbW9kZQ0KPiANCj4gK3wgTmV0d29ya1Br ZyAgICAgICAgICAgfCA6aGVhdnlfY2hlY2tfbWFyazogfA0KPiA6aGVhdnlfY2hlY2tfbWFyazog fCBTcGVsbCBjaGVja2luZyBpbiBhdWRpdCBtb2RlDQo+IA0KPiArfCBPdm1mUGtnICAgICAgICAg ICAgICB8IFNFRSBQQUNLQUdFIFJFQURNRSB8IFNFRQ0KPiBQQUNLQUdFIFJFQURNRSB8IFNwZWxs IGNoZWNraW5nIGluIGF1ZGl0IG1vZGUNCj4gDQo+ICt8IFBjQXRDaGlwc2V0UGtnICAgICAgIHwg OmhlYXZ5X2NoZWNrX21hcms6IHwNCj4gOmhlYXZ5X2NoZWNrX21hcms6IHwNCj4gDQo+ICt8IFNl Y3VyaXR5UGtnICAgICAgICAgIHwgOmhlYXZ5X2NoZWNrX21hcms6IHwNCj4gOmhlYXZ5X2NoZWNr X21hcms6IHwgU3BlbGwgY2hlY2tpbmcgaW4gYXVkaXQgbW9kZQ0KPiANCj4gK3wgU2hlbGxQa2cg ICAgICAgICAgICAgfCA6aGVhdnlfY2hlY2tfbWFyazogfA0KPiA6aGVhdnlfY2hlY2tfbWFyazog fCBTcGVsbCBjaGVja2luZyBpbiBhdWRpdCBtb2RlLCAzDQo+IG1vZHVsZXMgYXJlIG5vdCBiZWlu ZyBidWlsdCBieSBEU0MNCj4gDQo+ICt8IFNpZ25lZENhcHN1bGVQa2cgICAgIHwNCj4gDQo+ICt8 IFNvdXJjZUxldmVsRGVidWdQa2cgIHwNCj4gDQo+ICt8IFN0YW5kYWxvbmVNbVBrZyAgICAgIHwN Cj4gDQo+ICt8IFVlZmlDcHVQa2cgICAgICAgICAgIHwgOmhlYXZ5X2NoZWNrX21hcms6IHwNCj4g OmhlYXZ5X2NoZWNrX21hcms6IHwgU3BlbGwgY2hlY2tpbmcgaW4gYXVkaXQgbW9kZSwgMg0KPiBi aW5hcnkgbW9kdWxlcyBub3QgYmVpbmcgYnVpbHQgYnkgRFNDDQo+IA0KPiArfCBVZWZpUGF5bG9h ZFBrZyAgICAgICB8DQo+IA0KPiArfCBVbml0VGVzdEZyYW1ld29ya1BrZyB8IDpoZWF2eV9jaGVj a19tYXJrOiB8DQo+IDpoZWF2eV9jaGVja19tYXJrOiB8DQo+IA0KPiANCj4gDQo+ICBGb3IgbW9y ZSBkZXRhaWxlZCBzdGF0dXMgbG9vayBhdCB0aGUgdGVzdCByZXN1bHRzIG9mDQo+IHRoZSBsYXRl c3QgQ0kgcnVuIG9uIHRoZQ0KPiANCj4gIHJlcG8gcmVhZG1lLg0KPiANCj4gQEAgLTg4LDcgKzg5 LDcgQEAgdGhhdCBhIGZldyBzdGVwcyBzaG91bGQgYmUgZm9sbG93ZWQuDQo+IERldGFpbHMgb2Yg RURLSUkgVG9vbHMgY2FuIGJlIGZvdW5kIGluIHRoZQ0KPiAgICAgICAqIFZTIDIwMTcgb3IgVlMg MjAxOQ0KPiANCj4gICAgICAgKiBXaW5kb3dzIFNESyAoZm9yIHJjKQ0KPiANCj4gICAgICAgKiBX aW5kb3dzIFdESyAoZm9yIGNhcHN1bGVzKQ0KPiANCj4gLSAgICogVWJ1bnR1IDE2LjA0DQo+IA0K PiArICAgKiBVYnVudHUgMTguMDQgb3IgRmVkb3JhDQo+IA0KPiAgICAgICAqIEdDQzUNCj4gDQo+ ICAgICAqIEVhc3kgdG8gYWRkIG1vcmUgYnV0IHRoaXMgaXMgdGhlIGN1cnJlbnQgc3RhdGUNCj4g DQo+ICAyLiBQeXRob24gMy43Lnggb3IgbmV3ZXIgb24gcGF0aA0KPiANCj4gQEAgLTEzNywxMSAr MTM4LDMxIEBAIGxvY2F0aW9uIG1ha2VzIG1vcmUgc2Vuc2UgZm9yIHRoZQ0KPiBjb21tdW5pdHku DQo+IA0KPiANCj4gICMjIyBNb2R1bGUgSW5jbHVzaW9uIFRlc3QgLSBEc2NDb21wbGV0ZUNoZWNr DQo+IA0KPiANCj4gDQo+IC1UaGlzIHRlc3Qgc2NhbnMgYWxsIGF2YWlsYWJsZSBtb2R1bGVzICh2 aWEgSU5GIGZpbGVzKQ0KPiBhbmQgY29tcGFyZXMgdGhlbSB0byB0aGUNCj4gDQo+IC1wYWNrYWdl LWxldmVsIERTQyBmaWxlIGZvciB0aGUgcGFja2FnZSBlYWNoIG1vZHVsZSBpcw0KPiBjb250YWlu ZWQgd2l0aGluLiBUaGUgdGVzdA0KPiANCj4gLWNvbnNpZGVycyBpdCBhbiBlcnJvciBpZiBhbnkg bW9kdWxlIGRvZXMgbm90IGFwcGVhciBpbg0KPiB0aGUgYENvbXBvbmVudHNgIHNlY3Rpb24NCj4g DQo+IC1vZiBhdCBsZWFzdCBvbmUgcGFja2FnZS1sZXZlbCBEU0MgKGluZGljYXRpbmcgdGhhdCBp dA0KPiB3b3VsZCBub3QgYmUgYnVpbHQgaWYgdGhlDQo+IA0KPiAtcGFja2FnZSB3ZXJlIGJ1aWx0 KS4NCj4gDQo+ICtUaGlzIHNjYW5zIGFsbCBJTkYgZmlsZXMgZnJvbSBhIHBhY2thZ2UgYW5kIGNv bmZpcm1zDQo+IHRoZXkgYXJlDQo+IA0KPiArbGlzdGVkIGluIHRoZSBwYWNrYWdlIGxldmVsIERT QyBmaWxlLiBUaGUgdGVzdA0KPiBjb25zaWRlcnMgaXQgYW4gZXJyb3IgaWYgYW55IElORg0KPiAN Cj4gK2RvZXMgbm90IGFwcGVhciBpbiB0aGUgYENvbXBvbmVudHNgIHNlY3Rpb24gb2YgdGhlDQo+ IHBhY2thZ2UtbGV2ZWwgRFNDIChpbmRpY2F0aW5nDQo+IA0KPiArdGhhdCBpdCB3b3VsZCBub3Qg YmUgYnVpbHQgaWYgdGhlIHBhY2thZ2Ugd2VyZSBidWlsdCkuDQo+IFRoaXMgaXMgY3JpdGljYWwg YmVjYXVzZQ0KPiANCj4gK211Y2ggb2YgdGhlIENJIGluZnJhc3RydWN0dXJlIGFzc3VtZXMgdGhh dCBhbGwgbW9kdWxlcw0KPiB3aWxsIGJlIGxpc3RlZCBpbiB0aGUgRFNDDQo+IA0KPiArYW5kIGNv bXBpbGVkLg0KPiANCj4gKw0KPiANCj4gK1RoaXMgdGVzdCB3aWxsIGlnbm9yZSBJTkZzIGluIHRo ZSBmb2xsb3dpbmcgY2FzZXM6DQo+IA0KPiArDQo+IA0KPiArMS4gV2hlbiBgTU9EVUxFX1RZUEVg ID0gYEhPU1RfQVBQTElDQVRJT05gDQo+IA0KPiArMi4gV2hlbiBhIExpYnJhcnkgaW5zdGFuY2Ug Kipvbmx5Kiogc3VwcG9ydHMgdGhlDQo+IGBIT1NUX0FQUExJQ0FUSU9OYCBlbnZpcm9ubWVudA0K PiANCj4gKw0KPiANCj4gKyMjIyBIb3N0IE1vZHVsZSBJbmNsdXNpb24gVGVzdCAtDQo+IEhvc3RV bml0VGVzdERzY0NvbXBsZXRlQ2hlY2sNCj4gDQo+ICsNCj4gDQo+ICtUaGlzIHRlc3Qgc2NhbnMg YWxsIElORiBmaWxlcyBmcm9tIGEgcGFja2FnZSBmb3IgdGhvc2UNCj4gcmVsYXRlZCB0byBob3N0 DQo+IA0KPiArYmFzZWQgdW5pdCB0ZXN0cyBhbmQgY29uZmlybXMgdGhleSBhcmUgbGlzdGVkIGlu IHRoZQ0KPiB1bml0IHRlc3QgRFNDIGZpbGUgZm9yIHRoZSBwYWNrYWdlLg0KPiANCj4gK1RoZSB0 ZXN0IGNvbnNpZGVycyBpdCBhbiBlcnJvciBpZiBhbnkgSU5GIG1lZXRpbmcgdGhlDQo+IHJlcXVp cmVtZW50cyBkb2VzIG5vdCBhcHBlYXINCj4gDQo+ICtpbiB0aGUgYENvbXBvbmVudHNgIHNlY3Rp b24gb2YgdGhlIHVuaXQgdGVzdCBEU0MuIFRoaXMNCj4gaXMgY3JpdGljYWwgYmVjYXVzZQ0KPiAN Cj4gK211Y2ggb2YgdGhlIENJIGluZnJhc3RydWN0dXJlIGFzc3VtZXMgdGhhdCAgbW9kdWxlcw0K PiB3aWxsIGJlIGxpc3RlZCBpbiB0aGUgRFNDDQo+IA0KPiArYW5kIGNvbXBpbGVkLg0KPiANCj4g Kw0KPiANCj4gK1RoaXMgdGVzdCB3aWxsIG9ubHkgcmVxdWlyZSBJTkZzIGluIHRoZSBmb2xsb3dp bmcNCj4gY2FzZXM6DQo+IA0KPiArDQo+IA0KPiArMS4gV2hlbiBgTU9EVUxFX1RZUEVgID0gYEhP U1RfQVBQTElDQVRJT05gDQo+IA0KPiArMi4gV2hlbiBhIExpYnJhcnkgaW5zdGFuY2UgZXhwbGlj aXRseSBzdXBwb3J0cyB0aGUNCj4gYEhPU1RfQVBQTElDQVRJT05gIGVudmlyb25tZW50DQo+IA0K PiANCj4gDQo+ICAjIyMgQ29kZSBDb21waWxhdGlvbiBUZXN0IC0gQ29tcGlsZXJQbHVnaW4NCj4g DQo+IA0KPiANCj4gQEAgLTE1MCw2ICsxNzEsNDYgQEAgYWxsIHBhY2thZ2UtbGV2ZWwgRFNDcyB3 ZXJlIGJ1aWx0LA0KPiB0aGUgQ29kZSBDb21waWxhdGlvbiBUZXN0IHNpbXBseSBydW5zIHRocm91 Z2gNCj4gIGFuZCBidWlsZHMgZXZlcnkgcGFja2FnZS1sZXZlbCBEU0Mgb24gZXZlcnkgdG9vbGNo YWluDQo+IGFuZCBmb3IgZXZlcnkgYXJjaGl0ZWN0dXJlDQo+IA0KPiAgdGhhdCBpcyBzdXBwb3J0 ZWQuIEFueSBtb2R1bGUgdGhhdCBmYWlscyB0byBidWlsZCBpcw0KPiBjb25zaWRlcmVkIGFuIGVy cm9yLg0KPiANCj4gDQo+IA0KPiArIyMjIEhvc3QgVW5pdCBUZXN0IENvbXBpbGF0aW9uIGFuZCBS dW4gVGVzdCAtDQo+IEhvc3RVbml0VGVzdENvbXBpbGVyUGx1Z2luDQo+IA0KPiArDQo+IA0KPiAr QSB0ZXN0IHRoYXQgY29tcGlsZXMgdGhlIGRzYyBmb3IgaG9zdCBiYXNlZCB1bml0IHRlc3QNCj4g YXBwcy4NCj4gDQo+ICtPbiBXaW5kb3dzIHRoaXMgd2lsbCBhbHNvIGVuYWJsZSBhIGJ1aWxkIHBs dWdpbiB0bw0KPiBleGVjdXRlIHRoYXQgd2lsbCBydW4gdGhlIHVuaXQgdGVzdHMgYW5kIHZlcmlm eSB0aGUNCj4gcmVzdWx0cy4NCj4gDQo+ICsNCj4gDQo+ICtUaGVzZSB0b29scyB3aWxsIGJlIGlu dm9rZWQgb24gYW55IENJDQo+IA0KPiArcGFzcyB0aGF0IGluY2x1ZGVzIHRoZSBOT09QVCB0YXJn ZXQuIEluIG9yZGVyIGZvcg0KPiB0aGVzZSB0b29scyB0byBkbyB0aGVpciBqb2IsDQo+IA0KPiAr dGhlIHBhY2thZ2UgYW5kIHRlc3RzIG11c3QgYmUgY29uZmlndXJlZCBpbiBhDQo+IHBhcnRpY3Vs YXIgd2F5Li4uDQo+IA0KPiArDQo+IA0KPiArIyMjIyBJbmNsdWRpbmcgSG9zdC1CYXNlZCBUZXN0 cyBpbiB0aGUgUGFja2FnZSBZQU1MDQo+IA0KPiArDQo+IA0KPiArRm9yIGV4YW1wbGUsIGxvb2tp bmcgYXQgdGhlIGBNZGVNb2R1bGVQa2cuY2kueWFtbGANCj4gY29uZmlnIGZpbGUsIHRoZXJlIGFy ZSB0d28NCj4gDQo+ICtjb25maWcgb3B0aW9ucyB0aGF0IGNvbnRyb2wgSG9zdEJhc2VkIHRlc3Qg YmVoYXZpb3I6DQo+IA0KPiArDQo+IA0KPiArYGBganNvbg0KPiANCj4gKyAgICAjIyBvcHRpb25z IGRlZmluZWQNCj4gLnB5dG9vbC9QbHVnaW4vSG9zdFVuaXRUZXN0Q29tcGlsZXJQbHVnaW4NCj4g DQo+ICsgICAgIkhvc3RVbml0VGVzdENvbXBpbGVyUGx1Z2luIjogew0KPiANCj4gKyAgICAgICAg IkRzY1BhdGgiOiAiVGVzdC9NZGVNb2R1bGVQa2dIb3N0VGVzdC5kc2MiDQo+IA0KPiArICAgIH0s DQo+IA0KPiArYGBgDQo+IA0KPiArDQo+IA0KPiArVGhpcyBvcHRpb24gdGVsbCB0aGUgdGVzdCBi dWlsZGVyIHRvIHJ1bi4gVGhlIHRlc3QNCj4gYnVpbGRlciBuZWVkcyB0byBrbm93IHdoaWNoDQo+ IA0KPiArbW9kdWxlcyBpbiB0aGlzIHBhY2thZ2UgYXJlIGhvc3QtYmFzZWQgdGVzdHMsIHNvIHRo YXQNCj4gRFNDIHBhdGggaXMgcHJvdmlkZWQuDQo+IA0KPiArDQo+IA0KPiArIyMjIyBDb25maWd1 cmluZyB0aGUgSG9zdEJhc2VkIERTQw0KPiANCj4gKw0KPiANCj4gK1RoZSBIb3N0QmFzZWQgRFND IGZvciBgTWRlTW9kdWxlUGtnYCBpcyBsb2NhdGVkIGF0DQo+IA0KPiArYE1kZU1vZHVsZVBrZy9U ZXN0L01kZU1vZHVsZVBrZ0hvc3RUZXN0LmRzY2AuDQo+IA0KPiArDQo+IA0KPiArVG8gYWRkIGF1 dG9tYXRlZCBob3N0LWJhc2VkIHVuaXQgdGVzdCBidWlsZGluZyB0byBhDQo+IG5ldyBwYWNrYWdl LCBjcmVhdGUgYQ0KPiANCj4gK3NpbWlsYXIgRFNDLiBUaGUgbmV3IERTQyBzaG91bGQgbWFrZSBz dXJlIHRvIGhhdmUgdGhlDQo+IGBOT09QVGAgQlVJTERfVEFSR0VUDQo+IA0KPiArYW5kIHNob3Vs ZCBpbmNsdWRlIHRoZSBsaW5lOg0KPiANCj4gKw0KPiANCj4gK2BgYA0KPiANCj4gKyFpbmNsdWRl DQo+IFVuaXRUZXN0RnJhbWV3b3JrUGtnL1VuaXRUZXN0RnJhbWV3b3JrUGtnSG9zdC5kc2MuaW5j DQo+IA0KPiArYGBgDQo+IA0KPiArDQo+IA0KPiArQWxsIG9mIHRoZSBtb2R1bGVzIHRoYXQgYXJl IGluY2x1ZGVkIGluIHRoZQ0KPiBgQ29tcG9uZW50c2Agc2VjdGlvbiBvZiB0aGlzDQo+IA0KPiAr RFNDIHNob3VsZCBiZSBvZiB0eXBlIEhPU1RfQVBQTElDQVRJT04uDQo+IA0KPiArDQo+IA0KPiAg IyMjIEdVSUQgVW5pcXVlbmVzcyBUZXN0IC0gR3VpZENoZWNrDQo+IA0KPiANCj4gDQo+ICBUaGlz IHRlc3Qgd29ya3Mgb24gdGhlIGNvbGxlY3Rpb24gb2YgYWxsIHBhY2thZ2VzDQo+IHJhdGhlciB0 aGFuIGFuIGluZGl2aWR1YWwNCj4gDQo+IEBAIC0yMDcsNiArMjY4LDggQEAgZmV3IHN0YW5kYXJk IHNjb3Blcy4NCj4gIHwgZ2xvYmFsLW5peCB8IGVkazJfaW52b2NhYmxlKysNCj4gfCBSdW5uaW5n IG9uIExpbnV4IGJhc2VkIE9TICAgIHwNCj4gDQo+ICB8IGVkazItYnVpbGQgfA0KPiB8IFRoaXMg aW5kaWNhdGVzIHRoYXQgYW4gaW52b2NhYmxlIGlzIGJ1aWxkaW5nIEVESzINCj4gYmFzZWQgVUVG SSBjb2RlIHwNCj4gDQo+ICB8IGNpYnVpbGQgICAgfCBzZXQgaW4gLnB5dG9vbC9DSVNldHRpbmdz LnB5DQo+IHwgU3VnZ2VzdGVkIHRhcmdldCBmb3IgZWRrMiBjb250aW51b3VzIGludGVncmF0aW9u DQo+IGJ1aWxkcy4gIFRvb2xzIHVzZWQgZm9yIENpQnVpbGRzIGNhbiB1c2UgdGhpcyBzY29wZS4N Cj4gRXhhbXBsZTogYXNsIGNvbXBpbGVyIHwNCj4gDQo+ICt8IGhvc3QtYmFzZWQtdGVzdCB8IHNl dCBpbiAucHl0b29sL0NJU2V0dGluZ3MucHkNCj4gfCBUdXJucyBvbiB0aGUgaG9zdCBiYXNlZCB0 ZXN0cyBhbmQgcGx1Z2luIHwNCj4gDQo+ICt8IGhvc3QtdGVzdC13aW4gfCBzZXQgaW4gLnB5dG9v bC9DSVNldHRpbmdzLnB5DQo+IHwgRW5hYmxlcyB0aGUgaG9zdCBiYXNlZCB0ZXN0IHJ1bm5lciBm b3IgV2luZG93cyB8DQo+IA0KPiANCj4gDQo+ICAjIyBGdXR1cmUgaW52ZXN0bWVudHMNCj4gDQo+ IA0KPiANCj4gZGlmZiAtLWdpdCBhL1VuaXRUZXN0RnJhbWV3b3JrUGtnL1JlYWRNZS5tZA0KPiBi L1VuaXRUZXN0RnJhbWV3b3JrUGtnL1JlYWRNZS5tZA0KPiBpbmRleCA3Mjk2ZjBhNDVjNWYuLjY0 Mzg2OTQxY2I0YiAxMDA2NDQNCj4gLS0tIGEvVW5pdFRlc3RGcmFtZXdvcmtQa2cvUmVhZE1lLm1k DQo+ICsrKyBiL1VuaXRUZXN0RnJhbWV3b3JrUGtnL1JlYWRNZS5tZA0KPiBAQCAtNTgsNyArNTgs NyBAQCBoZWFkZXIgZm9yIHRoZSBgVW5pdFRlc3RMaWJgIGlzDQo+IGxvY2F0ZWQgaW4gYE1kZVBr Z2AsIHNvIHlvdSBzaG91bGRuJ3QgbmVlZCB0byBkZQ0KPiAgcGFja2FnZXMuIEFzIGxvbmcgYXMg eW91ciBEU0MgZmlsZSBrbm93cyB3aGVyZSB0byBmaW5kDQo+IHRoZSBsaWIgaW1wbGVtZW50YXRp b24gdGhhdCB5b3Ugd2FudCB0byB1c2UsDQo+IA0KPiAgeW91IHNob3VsZCBiZSBnb29kIHRvIGdv Lg0KPiANCj4gDQo+IA0KPiAtU2VlIHRoaXMgZXhhbXBsZSBpbiAnU2FtcGxlVW5pdFRlc3RBcHAu aW5mJy4uLg0KPiANCj4gK1NlZSB0aGlzIGV4YW1wbGUgaW4gJ1NhbXBsZVVuaXRUZXN0VWVmaVNo ZWxsLmluZicuLi4NCj4gDQo+IA0KPiANCj4gIGBgYA0KPiANCj4gIFtQYWNrYWdlc10NCj4gDQo+ IEBAIC03Miw2ICs3MiwxNCBAQCBTZWUgdGhpcyBleGFtcGxlIGluDQo+ICdTYW1wbGVVbml0VGVz dEFwcC5pbmYnLi4uDQo+ICAgIFByaW50TGliDQo+IA0KPiAgYGBgDQo+IA0KPiANCj4gDQo+ICtB bHNvLCBpZiB5b3Ugd2FudCB5b3UgdGVzdCB0byBhdXRvbWF0aWNhbGx5IGJlIHBpY2tlZA0KPiB1 cCBieSB0aGUgVGVzdCBSdW5uZXIgcGx1Z2luLCB5b3Ugd2lsbCBuZWVkDQo+IA0KPiArdG8gbWFr ZSBzdXJlIHRoYXQgdGhlIG1vZHVsZSBgQkFTRV9OQU1FYCBjb250YWlucyB0aGUNCj4gd29yZCBg VGVzdGAuLi4NCj4gDQo+ICsNCj4gDQo+ICtgYGANCj4gDQo+ICtbRGVmaW5lc10NCj4gDQo+ICsg IEJBU0VfTkFNRSAgICAgID0gU2FtcGxlVW5pdFRlc3RVZWZpU2hlbGwNCj4gDQo+ICtgYGANCj4g DQo+ICsNCj4gDQo+ICAjIyMgUmVxdWlyZW1lbnRzIC0gQ29kZQ0KPiANCj4gDQo+IA0KPiAgTm90 IHRvIHN0YXRlIHRoZSBvYnZpb3VzLCBidXQgbGV0J3MgbWFrZSBzdXJlIHdlIGhhdmUNCj4gdGhl IGZvbGxvd2luZyBpbmNsdWRlIGJlZm9yZSBnZXR0aW5nIHRvbyBmYXIgYWxvbmcuLi4NCj4gDQo+ IEBAIC0yMjEsOSArMjI5LDExIEBAIGh0dHBzOi8vYXBpLmNtb2NrYS5vcmcvDQo+IA0KPiANCj4g ICMjIERldmVsb3BtZW50DQo+IA0KPiANCj4gDQo+IC1XaGVuIHVzaW5nIHRoZSBFREsyIFB5dG9v bHMgZm9yIENJIHRlc3RpbmcsIHRoZSBob3N0LQ0KPiBiYXNlZCB1bml0IHRlc3RzIHdpbGwgYmUg YnVpbHQgYW5kIHJ1biBvbiBhbnkgYnVpbGQNCj4gdGhhdCBpbmNsdWRlcyB0aGUgYE5PT1BUYCBi dWlsZCB0YXJnZXQuDQo+IA0KPiArV2hlbiB1c2luZyB0aGUgRURLMiBQeXRvb2xzIGZvciBDSSB0 ZXN0aW5nLCB0aGUgaG9zdC0NCj4gYmFzZWQgdW5pdCB0ZXN0cyB3aWxsIGJlIGJ1aWx0IGFuZCBy dW4gb24gYW55IGJ1aWxkDQo+IHRoYXQgaW5jbHVkZXMNCj4gDQo+ICt0aGUgYE5PT1BUYCBidWls ZCB0YXJnZXQuDQo+IA0KPiANCj4gDQo+IC1JZiB5b3UgYXJlIHRyeWluZyB0byBpdGVyYXRlIG9u IGEgc2luZ2xlIHRlc3QsIGENCj4gY29udmVuaWVudCBwYXR0ZXJuIGlzIHRvIGJ1aWxkIG9ubHkg dGhhdCB0ZXN0IG1vZHVsZS4NCj4gRm9yIGV4YW1wbGUsIHRoZSBmb2xsb3dpbmcgY29tbWFuZCB3 aWxsIGJ1aWxkIG9ubHkgdGhlDQo+IFNhZmVJbnRMaWIgaG9zdC1iYXNlZCB0ZXN0IGZyb20gdGhl IE1kZVBrZy4uLg0KPiANCj4gK0lmIHlvdSBhcmUgdHJ5aW5nIHRvIGl0ZXJhdGUgb24gYSBzaW5n bGUgdGVzdCwgYQ0KPiBjb252ZW5pZW50IHBhdHRlcm4gaXMgdG8gYnVpbGQgb25seSB0aGF0IHRl c3QgbW9kdWxlLg0KPiBGb3IgZXhhbXBsZSwNCj4gDQo+ICt0aGUgZm9sbG93aW5nIGNvbW1hbmQg d2lsbCBidWlsZCBvbmx5IHRoZSBTYWZlSW50TGliDQo+IGhvc3QtYmFzZWQgdGVzdCBmcm9tIHRo ZSBNZGVQa2cuLi4NCj4gDQo+IA0KPiANCj4gIGBgYGJhc2gNCj4gDQo+ICBzdHVhcnRfY2lfYnVp bGQgLWMgLnB5dG9vbC9DSVNldHRpbmdzLnB5DQo+IFRPT0xfQ0hBSU5fVEFHPVZTMjAxNyAtcCBN ZGVQa2cgLXQgTk9PUFQNCj4gQlVJTERNT0RVTEU9TWRlUGtnL1Rlc3QvVW5pdFRlc3QvTGlicmFy eS9CYXNlU2FmZUludExpYg0KPiAvVGVzdEJhc2VTYWZlSW50TGliLmluZg0KPiANCj4gQEAgLTI1 MCw4ICsyNjAsNzIgQEAgcmVwb3J0aW5nIGxpYi4gVGhpcyBpc24ndA0KPiBjdXJyZW50bHkgcG9z c2libGUgd2l0aCBob3N0LWJhc2VkLiBPbmx5IHRoZSBhc3NlcnRpb24NCj4gDQo+IA0KPiAgV2Ug d2lsbCBjb250aW51ZSB0cnlpbmcgdG8gbWFrZSB0aGVzZSBhcyBzaW1pbGFyIGFzDQo+IHBvc3Np YmxlLg0KPiANCj4gDQo+IA0KPiArIyMgVW5pdCBUZXN0IExvY2F0aW9uL0xheW91dCBSdWxlcw0K PiANCj4gKw0KPiANCj4gK0NvZGUvVGVzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCBMb2NhdGlvbg0KPiANCj4gKy0tLS0tLS0tLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAtLS0tLS0tLQ0KPiANCj4gK0hvc3QtQmFzZWQgVW5pdCBUZXN0cyBmb3IgYSBM aWJyYXJ5L1Byb3RvY29sL1BQSS9HVUlEDQo+IEludGVyZmFjZSAgIHwgSWYgd2hhdCdzIGJlaW5n IHRlc3RlZCBpcyBhbiBpbnRlcmZhY2UNCj4gKGUuZy4gYSBsaWJyYXJ5IHdpdGggYSBwdWJsaWMg aGVhZGVyIGZpbGUsIGxpa2UNCj4gRGVidWdMaWIpLCB0aGUgdGVzdCBzaG91bGQgYmUgc2NvcGVk IHRvIHRoZSBwYXJlbnQNCj4gcGFja2FnZS48YnIvPkV4YW1wbGU6DQo+IGBNZGVQa2cvVGVzdC9V bml0VGVzdC9bTGlicmFyeS9Qcm90b2NvbC9QcGkvR3VpZF0vYDxici8NCj4gPjxici8+QSByZWFs LXdvcmxkIGV4YW1wbGUgb2YgdGhpcyBpcyB0aGUNCj4gQmFzZVNhZmVJbnRMaWIgdGVzdCBpbg0K PiBNZGVQa2cuPGJyLz5gTWRlUGtnL1Rlc3QvVW5pdFRlc3QvTGlicmFyeS9CYXNlU2FmZUludExp DQo+IGIvVGVzdEJhc2VTYWZlSW50TGliSG9zdC5pbmZgDQo+IA0KPiArSG9zdC1CYXNlZCBVbml0 IFRlc3RzIGZvciBhIExpYnJhcnkvRHJpdmVyDQo+IChQRUkvRFhFL1NNTSkgaW1wbGVtZW50YXRp b24gICB8IElmIHdoYXQncyBiZWluZyB0ZXN0ZWQNCj4gaXMgYSBzcGVjaWZpYyBpbXBsZW1lbnRh dGlvbiAoZS5nLg0KPiBCYXNlRGVidWdMaWJTZXJpYWxQb3J0IGZvciBEZWJ1Z0xpYiksIHRoZSB0 ZXN0IHNob3VsZA0KPiBiZSBzY29wZWQgdG8gdGhlIGltcGxlbWVudGF0aW9uIGRpcmVjdG9yeSBp dHNlbGYsIGluIGENCj4gVW5pdFRlc3Qgc3ViZGlyZWN0b3J5Ljxici8+PGJyLz5Nb2R1bGUgRXhh bXBsZToNCj4gYE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvRXNydEZtcER4ZS9Vbml0VGVzdC9gPGJy Lz5MaWJyYQ0KPiByeSBFeGFtcGxlOiBgTWRlUGtnL0xpYnJhcnkvQmFzZU1lbW9yeUxpYi9Vbml0 VGVzdC9gDQo+IA0KPiArSG9zdC1CYXNlZCBUZXN0cyBmb3IgYSBGdW5jdGlvbmFsaXR5IG9yIEZl YXR1cmUgICB8IElmDQo+IHlvdSdyZSB3cml0aW5nIGEgZnVuY3Rpb25hbCB0ZXN0IHRoYXQgb3Bl cmF0ZXMgYXQgdGhlDQo+IG1vZHVsZSBsZXZlbCAoaS5lLiBpZiBpdCdzIG1vcmUgdGhhbiBhIHNp bmdsZSBmaWxlIG9yDQo+IGxpYnJhcnkpLCB0aGUgdGVzdCBzaG91bGQgYmUgbG9jYXRlZCBpbiB0 aGUgcGFja2FnZS0NCj4gbGV2ZWwgVGVzdHMgZGlyZWN0b3J5IHVuZGVyIHRoZSBIb3N0RnVuY1Rl c3QNCj4gc3ViZGlyZWN0b3J5Ljxici8+Rm9yIGV4YW1wbGUsIGlmIHlvdSB3ZXJlIHdyaXRpbmcg YQ0KPiB0ZXN0IGZvciB0aGUgZW50aXJlIEZNUCBEZXZpY2UgRnJhbWV3b3JrLCB5b3UgbWlnaHQg cHV0DQo+IHlvdXIgdGVzdA0KPiBpbjo8YnIvPmBGbXBEZXZpY2VQa2cvVGVzdC9Ib3N0RnVuY1Rl c3QvRm1wRGV2aWNlRnJhbWV3DQo+IG9ya2A8YnIvPjxici8+SWYgdGhlIGZlYXR1cmUgc3BhbnMg bXVsdGlwbGUgcGFja2FnZXMsDQo+IGl0J3MgbG9jYXRpb24gc2hvdWxkIGJlIGRldGVybWluZWQg YnkgdGhlIHBhY2thZ2UNCj4gb3duZXJzIHJlbGF0ZWQgdG8gdGhlIGZlYXR1cmUuDQo+IA0KPiAr Tm9uLUhvc3QtQmFzZWQgKFBFSS9EWEUvU01NL1NoZWxsKSBUZXN0cyBmb3IgYQ0KPiBGdW5jdGlv bmFsaXR5IG9yIEZlYXR1cmUgICB8IFNpbWlsYXIgdG8gSG9zdC1CYXNlZCwgaWYNCj4gdGhlIGZl YXR1cmUgaXMgaW4gb25lIHBhY2thZ2UsIHNob3VsZCBiZSBsb2NhdGVkIGluIHRoZQ0KPiBgKlBr Zy9UZXN0L1tTaGVsbC9EeGUvU21tL1BlaV1UZXN0YA0KPiBkaXJlY3RvcnkuPGJyLz48YnIvPklm IHRoZSBmZWF0dXJlIHNwYW5zIG11bHRpcGxlDQo+IHBhY2thZ2VzLCBpdCdzIGxvY2F0aW9uIHNo b3VsZCBiZSBkZXRlcm1pbmVkIGJ5IHRoZQ0KPiBwYWNrYWdlIG93bmVycyByZWxhdGVkIHRvIHRo ZSBmZWF0dXJlLjxici8+PGJyLz5VU0FHRQ0KPiBFWEFNUExFUzxici8+UEVJIEV4YW1wbGU6IE1Q X1NFUlZJQ0VfUFBJLiBPciBjaGVjayBNVFJSDQo+IGNvbmZpZ3VyYXRpb24gaW4gYSBub3RpZmlj YXRpb24gZnVuY3Rpb24uPGJyLz4gU01NDQo+IEV4YW1wbGU6IGEgdGVzdCBpbiBhIHByb3RvY29s IGNhbGxiYWNrIGZ1bmN0aW9uLiAoSXQgaXMNCj4gZGlmZmVyZW50IHdpdGggdGhlIHNvbHV0aW9u IHRoYXQNCj4gU21tQWdlbnQrU2hlbGxBcHApPGJyLz5EWEUgRXhhbXBsZTogYSB0ZXN0IGluIGEg VUVGSQ0KPiBldmVudCBjYWxsIGJhY2sgdG8gY2hlY2sgU1BJL1NNUkFNIHN0YXR1cy4gPGJyLz4g U2hlbGwNCj4gRXhhbXBsZTogdGhlIFNNTSBoYW5kbGVyIGF1ZGl0IHRlc3QgaGFzIGEgc2hlbGwt YmFzZWQNCj4gYXBwIHRoYXQgaW50ZXJhY3RzIHdpdGggYW4gU01NIGhhbmRsZXIgdG8gZ2V0DQo+ IGluZm9ybWF0aW9uLiBUaGUgU01NIHBhZ2luZyBhdWRpdCB0ZXN0IGdhdGhlcnMNCj4gaW5mb3Jt YXRpb24gYWJvdXQgYm90aCBEWEUgYW5kIFNNTS4gQW5kIHRoZSBTTU0gcGFnaW5nDQo+IGZ1bmN0 aW9uYWwgdGVzdCBhY3R1YWxseSBmb3JjZXMgZXJyb3JzIGludG8gU01NIHZpYSBhDQo+IERYRSBk cml2ZXIuDQo+IA0KPiArDQo+IA0KPiArIyMjIEV4YW1wbGUgRGlyZWN0b3J5IFRyZWUNCj4gDQo+ ICsNCj4gDQo+ICtgYGB0ZXh0DQo+IA0KPiArPFBhY2thZ2VOYW1lPlBrZy8NCj4gDQo+ICsgIENv bXBvbmVudFkvDQo+IA0KPiArICAgIENvbXBvbmVudFkuaW5mDQo+IA0KPiArICAgIENvbXBvbmVu dFkuYw0KPiANCj4gKyAgICBVbml0VGVzdC8NCj4gDQo+ICsgICAgICBDb21wb25lbnRZSG9zdFVu aXRUZXN0LmluZiAgICAgICMgSG9zdC1CYXNlZA0KPiBUZXN0IGZvciBEcml2ZXIgTW9kdWxlDQo+ IA0KPiArICAgICAgQ29tcG9uZW50WVVuaXRUZXN0LmMNCj4gDQo+ICsNCj4gDQo+ICsgIExpYnJh cnkvDQo+IA0KPiArICAgIEdlbmVyYWxQdXJwb3NlTGliQmFzZS8NCj4gDQo+ICsgICAgICAuLi4N Cj4gDQo+ICsNCj4gDQo+ICsgICAgR2VuZXJhbFB1cnBvc2VMaWJTZXJpYWwvDQo+IA0KPiArICAg ICAgLi4uDQo+IA0KPiArDQo+IA0KPiArICAgIFNwZWNpZmljTGliRHhlLw0KPiANCj4gKyAgICAg IFNwZWNpZmljTGliRHhlLmMNCj4gDQo+ICsgICAgICBTcGVjaWZpY0xpYkR4ZS5pbmYNCj4gDQo+ ICsgICAgICBVbml0VGVzdC8gICAgICAgICAgICAgICAgICAgICAgIyBIb3N0LUJhc2VkIFRlc3QN Cj4gZm9yIFNwZWNpZmljIExpYnJhcnkgSW1wbGVtZW50YXRpb24NCj4gDQo+ICsgICAgICAgIFNw ZWNpZmljTGliRHhlSG9zdFVuaXRUZXN0LmMNCj4gDQo+ICsgICAgICAgIFNwZWNpZmljTGliRHhl SG9zdFVuaXRUZXN0LmluZg0KPiANCj4gKyAgVGVzdC8NCj4gDQo+ICsgICAgPFBhY2thZ2U+SG9z dFRlc3QuZHNjICAgICAgICAgICAgICMgSG9zdC1CYXNlZA0KPiBUZXN0IEFwcHMNCj4gDQo+ICsg ICAgVW5pdFRlc3QvDQo+IA0KPiArICAgICAgSW50ZXJmYWNlWA0KPiANCj4gKyAgICAgICAgSW50 ZXJmYWNlWEhvc3RVbml0VGVzdC5pbmYgICAgIyBIb3N0LUJhc2VkIEFwcA0KPiAoc2hvdWxkIGJl IGluIFRlc3QvPFBhY2thZ2U+SG9zdFRlc3QuZHNjKQ0KPiANCj4gKyAgICAgICAgSW50ZXJmYWNl WFBlaVVuaXRUZXN0LmluZiAgICAgIyBQRUlNIFRhcmdldC0NCj4gQmFzZWQgVGVzdCAoaWYgYXBw bGljYWJsZSkNCj4gDQo+ICsgICAgICAgIEludGVyZmFjZVhEeGVVbml0VGVzdC5pbmYgICAgICMg RFhFIFRhcmdldC0NCj4gQmFzZWQgVGVzdCAoaWYgYXBwbGljYWJsZSkNCj4gDQo+ICsgICAgICAg IEludGVyZmFjZVhTbW1Vbml0VGVzdC5pbmYgICAgICMgU01NIFRhcmdldC0NCj4gQmFzZWQgVGVz dCAoaWYgYXBwbGljYWJsZSkNCj4gDQo+ICsgICAgICAgIEludGVyZmFjZVhTaGVsbFVuaXRUZXN0 LmluZiAgICMgU2hlbGwgQXBwDQo+IFRhcmdldC1CYXNlZCBUZXN0IChpZiBhcHBsaWNhYmxlKQ0K PiANCj4gKyAgICAgICAgSW50ZXJmYWNlWFVuaXRUZXN0LmMgICAgICAgICAgIyBUZXN0IExvZ2lj DQo+IA0KPiArDQo+IA0KPiArICAgICAgR2VuZXJhbFB1cnBvc2VMaWIvICAgICAgICAgICAgICAj IEhvc3QtQmFzZWQNCj4gVGVzdCBmb3IgYW55IGltcGxlbWVudGF0aW9uIG9mIEdlbmVyYWxQdXJw b3NlTGliDQo+IA0KPiArICAgICAgICBHZW5lcmFsUHVycG9zZUxpYlRlc3QuYw0KPiANCj4gKyAg ICAgICAgR2VuZXJhbFB1cnBvc2VMaWJIb3N0VW5pdFRlc3QuaW5mDQo+IA0KPiArDQo+IA0KPiAr ICA8UGFja2FnZT5Qa2cuZHNjICAgICAgICAgICMgU3RhbmRhcmQgTW9kdWxlcyBhbmQgYW55DQo+ IFRhcmdldC1CYXNlZCBUZXN0IEFwcHMgKGluY2x1ZGluZyBpbiBUZXN0LykNCj4gDQo+ICsNCj4g DQo+ICtgYGANCj4gDQo+ICsNCj4gDQo+ICsjIyMgRnV0dXJlIExvY2F0aW9ucyBpbiBDb25zaWRl cmF0aW9uDQo+IA0KPiArDQo+IA0KPiArV2UgZG9uJ3Qga25vdyBpZiB0aGVzZSB0eXBlcyB3aWxs IGV4aXN0IG9yIGJlDQo+IGFwcGxpY2FibGUgeWV0LCBidXQgaWYgeW91IHdyaXRlIGEgc3VwcG9y dCBsaWJyYXJ5IG9yDQo+IG1vZHVsZSB0aGF0IG1hdGNoZXMgdGhlIGZvbGxvd2luZywgcGxlYXNl IG1ha2Ugc3VyZQ0KPiB0aGV5IGxpdmUgaW4gdGhlIGNvcnJlY3QgcGxhY2UuDQo+IA0KPiArDQo+ IA0KPiArQ29kZS9UZXN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IExvY2F0 aW9uDQo+IA0KPiArLS0tLS0tLS0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 IC0tLS0tLS0tDQo+IA0KPiArSG9zdC1CYXNlZCBMaWJyYXJ5IEltcGxlbWVudGF0aW9ucyAgICAg ICAgICAgICAgICAgfA0KPiBIb3N0LUJhc2VkIEltcGxlbWVudGF0aW9ucyBvZiBjb21tb24gbGli cmFyaWVzIChlZy4NCj4gTWVtb3J5QWxsb2NhdGlvbkxpYkhvc3QpIHNob3VsZCBsaXZlIGluIHRo ZSBzYW1lDQo+IHBhY2thZ2UgdGhhdCBkZWNsYXJlcyB0aGUgbGlicmFyeSBpbnRlcmZhY2UgaW4g aXRzIC5ERUMNCj4gZmlsZSBpbiB0aGUgYCpQa2cvSG9zdExpYnJhcnlgIGRpcmVjdG9yeS4gU2hv dWxkIGhhdmUNCj4gJ0hvc3QnIGluIHRoZSBuYW1lLg0KPiANCj4gK0hvc3QtQmFzZWQgTW9ja3Mg YW5kIFN0dWJzICB8IE1vY2sgYW5kIFN0dWIgbGlicmFyaWVzDQo+IHNob3VsZCBsaXZlIGluIHRo ZSBgVWVmaVRlc3RGcmFtZXdvcmtQa2cvU3R1YkxpYnJhcnlgDQo+IHdpdGggZWl0aGVyICdNb2Nr JyBvciAnU3R1YicgaW4gdGhlIGxpYnJhcnkgbmFtZS4NCj4gDQo+ICsNCj4gDQo+ICsjIyMgSWYg c3RpbGwgaW4gZG91YnQuLi4NCj4gDQo+ICsNCj4gDQo+ICtIb3Agb24gR2l0SHViIGFuZCBhc2sg QGNvcnRob24sIEBtZGtpbm5leSwgb3INCj4gQHNwYnJvZ2FuLiA7KQ0KPiANCj4gKw0KPiANCj4g ICMjIENvcHlyaWdodA0KPiANCj4gDQo+IA0KPiAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29y cG9yYXRpb24uDQo+IA0KPiAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1Q YXRlbnQNCj4gDQo+IC0NCj4gDQo+IC0tDQo+IDIuMjUuMS53aW5kb3dzLjENCg0K