From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (NAM10-MW2-obe.outbound.protection.outlook.com [40.92.42.85]) by mx.groups.io with SMTP id smtpd.web12.1317.1589907251935904516 for ; Tue, 19 May 2020 09:54:12 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@outlook.com header.s=selector1 header.b=J3bnHLxK; spf=pass (domain: outlook.com, ip: 40.92.42.85, mailfrom: spbrogan@outlook.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DzYLahCLaCiSTlHVl7t4gx09LIoZwxsSbXh+RrpuB1FJ+czF4e+0amA94gZeRm7ro8ZpvEgd2TFX4O92HKnK7PtIieixuEli3YtzRoxRiQo8qZscok4uvaNt7GLWn0b7DMtE7sf9eeuJlOvGY2QM0Smx6l2Z7E0bQxJpCDEDQeP0oj+Vg8rBJz1rI/wMDsCoZPh/KV9kLXquBY/zguZNYqyCvREEWhHDBdeCa7q1Jw80K4bxWCOuuts3BHRaDjerxyuV1n+jruXsgaznmnSI3aGOddsvNlayGSlnwyMnpqKLlAdI5TUaNeMZO1SWyCZXo74gZeo8cvMJzkytsCVxPg== 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=rRGyhLvM+1XeA3bU5QigD3AiP3UqljER7A8tMjq3bdY=; b=c5VvTuKbPAiF/6iIeX8B06UUH65lvFO46frz3RTuScfMYqf2amABqLF+HCiLXPrxBVhu+FEwgCFjVcnpCmeWn+aPGtq3ezxJzbIRaQbJ9icjKzdaMdvFk8XA4X84RYoGiA5ui7JfeCvjUdgjKJak8hEj1ckwBW/dQZofgZk3GHeK+s948L8bOJ0maEfaOklcss4vqhTo+OYYKmymEOgcUF6iqNaPtwmxSDaqxlCm0pasLv/kjQa2RYm9RhM6tDD4IU6hR2wmDhtWMBYuF+2H3dU+oe8VeHfm9LFy41t4hq+YLwoCPcy5qt5KOHWjB+48Rv++HCI3LWdGlAiOIdqAaQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=outlook.com; dmarc=pass action=none header.from=outlook.com; dkim=pass header.d=outlook.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=rRGyhLvM+1XeA3bU5QigD3AiP3UqljER7A8tMjq3bdY=; b=J3bnHLxKcPp137GRYrfkwiqhuTJP/8gq19tbPQk4EdesYbMLCnBpiKeMCjaH6m11upIbs0f9FmD5V9ha3/NlVN7RWnnoP46hl1rlqvq80XAB0yQodkU7M8mXFbX1/U+GTK9TcIfq0o7D/9Jcs88n2N1IGMifYq4BqP+Q3If+jIqI88jvVCXJVf78PA0/lUrz+9yqIiWKNjtVW0V8wTR6NTTVJD/C1fXVnfCvVOmm+e6FCQDL1MhdL7Nny+dH3v+4DEbWBagvuEypffh8RzOkczTZoI/Gb97Rz4rdjGYaIHhfs3oTA9ZvWtV/aNFQBARwaV3drPKx5hhmXrS9X2eauA== Received: from BN7NAM10FT058.eop-nam10.prod.protection.outlook.com (2a01:111:e400:7e8f::4a) by BN7NAM10HT037.eop-nam10.prod.protection.outlook.com (2a01:111:e400:7e8f::225) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3000.19; Tue, 19 May 2020 16:54:10 +0000 Received: from BN8PR07MB6962.namprd07.prod.outlook.com (2a01:111:e400:7e8f::4e) by BN7NAM10FT058.mail.protection.outlook.com (2a01:111:e400:7e8f::161) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3000.19 via Frontend Transport; Tue, 19 May 2020 16:54:10 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:72FC73DA26771E09F437085C8AD6ED17B9675292C5ACD972A6C3D60752622329;UpperCasedChecksum:4207338B5646237D83C42C9F371997BECE216CC6DDD91FAD1C1A858DB234A74A;SizeAsReceived:9066;Count:49 Received: from BN8PR07MB6962.namprd07.prod.outlook.com ([fe80::edbc:7122:7dd9:1403]) by BN8PR07MB6962.namprd07.prod.outlook.com ([fe80::edbc:7122:7dd9:1403%9]) with mapi id 15.20.3000.034; Tue, 19 May 2020 16:54:10 +0000 Subject: Re: [edk2-devel] [edk2-rfc] GitHub Pull Request based Code Review Process To: rfc@edk2.groups.io, nathaniel.l.desimone@intel.com, "lersek@redhat.com" , "bret.barkelew@microsoft.com" , "devel@edk2.groups.io" , "Kinney, Michael D" References: From: "Sean" Message-ID: Date: Tue, 19 May 2020 09:54:07 -0700 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0 In-Reply-To: X-ClientProxiedBy: MWHPR02CA0016.namprd02.prod.outlook.com (2603:10b6:300:4b::26) To BN8PR07MB6962.namprd07.prod.outlook.com (2603:10b6:408:d6::11) Return-Path: spbrogan@outlook.com X-Microsoft-Original-Message-ID: <781bd5c5-1273-4e71-06f4-e94e27ce4f50@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from [192.168.2.78] (50.47.113.221) by MWHPR02CA0016.namprd02.prod.outlook.com (2603:10b6:300:4b::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3000.34 via Frontend Transport; Tue, 19 May 2020 16:54:09 +0000 X-Microsoft-Original-Message-ID: <781bd5c5-1273-4e71-06f4-e94e27ce4f50@outlook.com> X-TMN: [VRQ3jNP/YIWo6VTZPpIDHHaKXzXHh8EU] X-MS-PublicTrafficType: Email X-IncomingHeaderCount: 49 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-Correlation-Id: 8f4799b5-2eed-4bde-472c-08d7fc154044 X-MS-TrafficTypeDiagnostic: BN7NAM10HT037: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: pn9S82sHcvBBW8YGShVKBawftGPIpKjbfhpSHbEF2AxNYzy1dlNzHr03i2FdWknUTqa4Is4qWuzagaDMJOAuozh+MViUwSYUct9cndltkPbcb5gyqfVwQuN2U98BPkX5uLhX+GGjB6c3PM6FzKqymbwOrNgGCk1V6eQr822o1k+T1kOI2o1GFrt+M6LzvjJ2Ls1JWP30+1y07gVRILnnwGYQ8sM9cFQNWf1N28vTRfqVk8viodzAwHczEN/4x/5d X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:0;SRV:;IPV:NLI;SFV:NSPM;H:BN8PR07MB6962.namprd07.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:;DIR:OUT;SFP:1901; X-MS-Exchange-AntiSpam-MessageData: +IXD903eIJyJnQdbZuDusTY29FiHAbhbYjuGhLrL5pWG1e3+WQ5WLFdScoOyBkSmOg60A0XIAsdRm4oYv+uzH4L+FNLFGdI7NcLuU/0XBqgOVPq4fUcVdkKpZm/0WQqp8TAiC3GLcfwkLv9o25Zjgw== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8f4799b5-2eed-4bde-472c-08d7fc154044 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 May 2020 16:54:10.1303 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-FromEntityHeader: Internet X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7NAM10HT037 Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: base64 TmF0ZS9MYXN6bG8sDQoNClJlZ2FyZGluZyBhIHNxdWFzaCBtZXJnZSB3b3JrZmxvdy4gIEkgYWdy ZWUgaXQgY2FuIGJlIGFidXNlZCBhbmQgd2UgYWxsIA0KaGF2ZSBzZWVuIHRlcnJpYmxlIGV4YW1w bGVzLiAgQnV0IGEgcGF0Y2ggc2VyaWVzIHRoYXQgY29udGFpbnMgNTAwKyBmaWxlIA0KY2hhbmdl cyBpc24ndCByZWFsbHkgbXVjaCBiZXR0ZXIuICBKdXN0IGJlY2F1c2UgaXQgaXMgYnJva2VuIGlu dG8gDQptdWx0aXBsZSBjb21taXRzIGRvZXNuJ3QgbWVhbiBpdCBpcyB0aGUgcmlnaHQgc2V0IG9m IGNvbW1pdHMuDQoNCkFueXdheSBhIHNxdWFzaCBtZXJnZSB3b3JrZmxvdyB3b3JrcyBhbWF6aW5n bHkgd2VsbCB3aXRoIGFuZCBpcyANCm9wdGltaXplZCBmb3IgYSB3ZWIgYmFzZWQgcmV2aWV3IGFu ZCBQUiBwcm9jZXNzZXMuICBJdCBhbGxvd3MgYSB1c2VyIHRvIA0KcmVzcG9uZCB0byBjaGFuZ2Vz LCBmaXggaXNzdWVzLCBsZWFybiB0aHJ1IHRoZSBQUiBwcm9jZXNzLCBhbGwgd2hpbGUgDQprZWVw aW5nIGNvbXBsZXRlIHRyYWNrIG9mIHRoZSBwcm9ncmVzc2lvbi4gIFRoZW4gb25jZSBhbGwgInN0 YXR1cyIgDQpjaGVja3MgYW5kIHJldmlld3MgYXJlIGNvbXBsZXRlLCBpdCBpcyBzcXVhc2hlZCBp bnRvIGEgbmVhdCBjb21taXQgZm9yIA0KbWFpbmxpbmUsIGNvbnRhaW5pbmcgb25seSB0aGUgcmVs ZXZhbnQgZGF0YSBpbiB0aGUgbWVzc2FnZS4NCg0KU28sIHRoZSBhc2sgaXMgdGhhdCB3ZSBkb24n dCBleGNsdWRlIHNxdWFzaCBtZXJnZSB3b3JrZmxvd3MuICBUaG9zZSANCnJldmlld2luZyB0aGUg UFIgY2FuIGRlY2lkZSB3aGF0IGlzIGFwcHJvcHJpYXRlIGZvciB0aGUgUFIgY29udGVudCANCnN1 Ym1pdHRlZC4gIEp1c3QgYXMgeW91IHdvdWxkIHJlcXVlc3QgY2hhbmdlcyB0byB0aGUgY29udGVu dHMgKG9yIA0Kb3JkZXJpbmcpIG9mIGEgY29tbWl0IGluIGEgc2VyaWVzLCBpZiB0aGUgcmV2aWV3 ZXJzIGRvbid0IGFncmVlIHRoYXQgdGhlIA0KUFIgY29udGVudHMgc2hvdWxkIGJlIGluIGEgc2lu Z2xlIGNvbW1pdCB0aGVuIG9idmlvdXNseSBpdCBzaG91bGRuJ3QgYmUgDQpzcXVhc2hlZCB0byBv bmUuDQoNCkNvbnRyaWJ1dGlvbnMgbGlrZSBzcGVsbGluZyBmaXhlcywgdHlwb3MsIG1pbm9yIGJ1 ZyBmaXhlcywgZG9jdW1lbnRhdGlvbiANCmFkZGl0aW9ucy9maXhlcywgZXRjIGFsbCBhcmUgZ3Jl YXQgZXhhbXBsZXMgb2YgUFJzIHRoYXQgY2FuIGVhc2lseSANCmxldmVyYWdlIHNxdWFzaCBtZXJn ZXMgYW5kIHRoaXMgd29ya2Zsb3cgc2lnbmlmaWNhbnRseSBsb3dlcnMgdGhlIGJ1cmRlbiANCm9m IHRoZSBjb250cmlidXRpb24gYW5kIHJldmlldyBwcm9jZXNzLiAgVGhpcyB3b3JrZmxvdyBpcyBh bHNvIGFyZSBtdWNoIA0KZWFzaWVyIGZvciBjYXN1YWwgb3IgZmlyc3QgdGltZSBjb250cmlidXRv cnMuDQoNCkkgZG9uJ3QgZXhhY3RseSBrbm93IGhvdyB3ZSB3b3VsZCBlbmFibGUgdGhpcyBidXQg SSBhc3N1bWUgd2UgY291bGQgDQpsZXZlcmFnZSB0YWdzIG9yIG1ha2UgaXQgY2xlYXIgaW4gdGhl IFBSIGRlc2NyaXB0aW9uLiAgRmlyc3Qgc3RlcCBpcyB0byANCmdldCBhbGlnbm1lbnQgdGhhdCBh IHNxdWFzaCBtZXJnZSB3b3JrZmxvdywgd2hpbGUgbm90IGFwcHJvcHJpYXRlIGZvciANCmFsbCBj b250cmlidXRpb25zLCBpcyBub3Qgc29tZXRoaW5nIHRvIGJlIGV4Y2x1ZGVkLg0KDQpUaGFua3MN ClNlYW4NCg0KDQoNCk9uIDUvMTkvMjAyMCAxMjoyMSBBTSwgTmF0ZSBEZVNpbW9uZSB3cm90ZToN Cj4gSGkgQWxsLA0KPiANCj4gDQo+IA0KPiBJIHRlbmQgdG8gYWdyZWUgd2l0aCBtb3N0IG9mIExh c3psbydzIHBvaW50cy4gU3BlY2lmaWNhbGx5LCB0aGF0IG1vdmluZyB0byBwdWxsIHJlcXVlc3Rz IHdpbGwgbm90IGZpeCB0aGUgZmFjdCB0aGF0IG1haW50YWluZXJzIGFyZSB1c3VhbGx5IGJ1c3kg cGVvcGxlIGFuZCBkb24ndCBhbHdheXMgZ2l2ZSBmZWVkYmFjayBpbiBhIHB1bmN0dWFsIG1hbm5l ci4gTGlrZSBMYXN6bG8sIEkgd291bGQgYWxzbyBwcmVmZXIgdGhhdCB3ZSBkbyBub3Qgc3F1YXNo IHBhdGNoIHNlcmllcy4gTXkgYmlnZ2VzdCByZWFzb24gZm9yIG5vdCBzcXVhc2hpbmcgcGF0Y2gg c2VyaWVzIGlzIGJlY2F1c2Ugd2hlbiB5b3UgcHV0IGV2ZXJ5dGhpbmcgaW50byBhIHNpbmdsZSBj b21taXQsIEkgaGF2ZSBoYWQgdG8gcmV2aWV3IGNvbW1pdHMgd2l0aCA1MDArIGZpbGVzIGNoYW5n ZWQuIE9wZW5pbmcgZ2l0IGRpZmZ0b29sIG9uIGEgY29tbWl0IGxpa2UgdGhhdCBpcyBhd2Z1bC4N Cj4gDQo+IA0KPiANCj4gSG93ZXZlciwgSSB3b3VsZCBsaWtlIHRvIHJlZ2lzdGVyIG15IGdlbmVy YWwgZW5kb3JzZW1lbnQgZm9yIHB1bGwgcmVxdWVzdHMgb3Igc29tZSBvdGhlciB3ZWIgYmFzZWQg c3lzdGVtIG9mIGNvZGUgcmV2aWV34oCmIGFuZCBJIGRvbuKAmXQgaGF2ZSBhbiBJbnN0YWdyYW0g YWNjb3VudCBieSB0aGUgd2F5IDopIFBlcnNvbmFsbHksIEkgcHJlZmVyIEdlcnJpdCBhcyBJIHVz ZSBpdCBhIGxvdCB3aXRoIGNvcmVib290IGFuZCBvdGhlciBwcm9qZWN0cy4gQnV0IHNpbmNlIHdl IGFyZSB1c2luZyBHaXRodWIgZm9yIGhvc3RpbmcsIHB1bGwgcmVxdWVzdHMgYXJlIGFuIGVhc3kg c3dpdGNoIGFuZCBhIGxvZ2ljYWwgY2hvaWNlLiBNeSBtYWluIHJlYXNvbiBmb3IgYmVpbmcgZXhj aXRlZCBhYm91dCBwdWxsIHJlcXVlc3RzIG1vc3RseSBoYXMgdG8gZG8gd2l0aCB0aGUgYW1vdW50 IG9mIG1hbnVhbCBlZmZvcnQgcmVxdWlyZWQgdG8gYmUgYSBUaWFub0NvcmUgbWFpbnRhaW5lciBy aWdodCBub3cuIEkgaGF2ZSBzZXQgdXAgbXkgZW1haWwgZmlsdGVyIHNvIHRoYXQgdGhlIG1haWxp bmcgbGlzdCBpcyBjYXRlZ29yaXplZCBsaWtlIHNvOg0KPiANCj4gDQo+IA0KPiBbY2lkOmltYWdl MDAxLnBuZ0AwMUQ2MkQ3MS41MDJCNTVFMF0NCj4gDQo+IA0KPiANCj4gSW1wbGVtZW50aW5nIHRo ZSBsb2dpYyB0byBwYXJzZSB0aGUgY29udGVudHMgb2YgZW1haWxzIHRvIGNhdGVnb3JpemUgdGhl bSBsaWtlIHRoaXMgcmVxdWlyZWQgbWUgdG8gZGVmaW5lIG5vIGxlc3MgdGhhbiAxMiBlbWFpbCBm aWx0ZXIgcnVsZXMgaW4gTWljcm9zb2Z0IE91dGxvb2ssIGFuZCBJIGhhdmUgdG8gY2hhbmdlIG15 IGZpbHRlcmluZyBsb2dpYyBldmVyeSB0aW1lIEkgYW0gYWRkZWQvcmVtb3ZlZCBmcm9tIGEgTWFp bnRhaW5lcnMudHh0IGZpbGUuIEnigJltIHN1cmUgZXZlcnkgb3RoZXIgbWFpbnRhaW5lciBoYXMg c3BlbnQgYSB0aW1lIHNlcGFyYXRlbHkgaW1wbGVtZW50aW5nIGZpbHRlcmluZyBsb2dpYyBsaWtl IEkgaGF2ZS4gVGhpcyBoZWxwcywgYnV0IHN0aWxsIGZvciBldmVyeSB0aHJlYWQsIEkgaGF2ZSB0 byBnbyBhbmQgY2hlY2sgaWYgb25lIG9mIHRoZSBvdGhlciBtYWludGFpbmVycyBoYXMgYWxyZWFk eSByZXZpZXdlZC9wdXNoZWQgdGhhdCBwYXRjaCBzZXJpZXMgeWV0LCBhbmQgaWYgbm90IHJldmll dy9wdXNoIGl0LiBJZiBJIGhhdmUgXSBmZWVkYmFjayBvbiBhIHBhdGNoIHNlcmllcywgSSBoYXZl IHRvIGNhdGVnb3JpemUgaXQgYXMgYXdhaXRpbmcgcmVzcG9uc2UgZnJvbSBhdXRob3IgYW5kIGNo ZWNrIHVwIG9uIGl0IGZyb20gdGltZSB0byB0aW1lLCBzb21ldGltZXMgSSBwaW5nIHRoZSBhdXRo b3IgZGlyZWN0bHkgYW5kIHJlbWluZCB0aGVtIHRvIHNlbmQgYSBuZXcgcGF0Y2ggc2VyaWVzLiBJ bXBsZW1lbnRpbmcgdGhpcyBzdGF0ZSBtYWNoaW5lIGlzIGEgbG90IG9mIG1hbnVhbCB3b3JrIGFu ZCBpdCBraW5kIG9mIGZlZWxzIGxpa2UgSeKAmW0gYSB0ZWxlcGhvbmUgb3BlcmF0b3IgaW4gdGhl IDE5NTBzLiBJIGdyZWF0bHkgd2VsY29tZSBhdXRvbWF0aW9uIGhlcmUgYXMgSSBhbSBzdXJlIGl0 IHdpbGwgaW5jcmVhc2UgdGhlIG51bWJlciBvZiBwYXRjaCBzZXJpZXMgSSBhbSBhYmxlIHRvIHJl dmlldyBwZXIgaG91ci4NCj4gDQo+IA0KPiANCj4gVGhhbmtzLA0KPiANCj4gTmF0ZQ0KPiANCj4g DQo+IA0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiByZmNAZWRrMi5ncm91 cHMuaW8gPHJmY0BlZGsyLmdyb3Vwcy5pbz4gT24gQmVoYWxmIE9mIExhc3psbyBFcnNlaw0KPiBT ZW50OiBGcmlkYXksIE1heSAxNSwgMjAyMCAyOjA4IEFNDQo+IFRvOiByZmNAZWRrMi5ncm91cHMu aW87IGJyZXQuYmFya2VsZXdAbWljcm9zb2Z0LmNvbTsgZGV2ZWxAZWRrMi5ncm91cHMuaW87IEtp bm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4gU3ViamVjdDog UmU6IFtFWFRFUk5BTF0gUmU6IFtlZGsyLWRldmVsXSBbZWRrMi1yZmNdIEdpdEh1YiBQdWxsIFJl cXVlc3QgYmFzZWQgQ29kZSBSZXZpZXcgUHJvY2Vzcw0KPiANCj4gDQo+IA0KPiBPbiAwNS8xNS8y MCAwNjo0OSwgQnJldCBCYXJrZWxldyB2aWEgZ3JvdXBzLmlvIHdyb3RlOg0KPiANCj4gDQo+IA0K Pj4gSSB3b3VsZCBmYXIgcHJlZmVyIHRoZSBhcHByb2FjaCBvZiBpbmRpdmlkdWFsIFBScyBmb3Ig Y29tbWl0cyB0byBhbGxvdw0KPiANCj4+IGZvciB0aGUgc3F1YXNoIGZsZXhpYmlsaXR5IChhbmQg aXMgdGhlIHN0cmF0ZWd5IEkgdGhpbmsgSSB3b3VsZCBwdXJzdWUNCj4gDQo+PiB3aXRoIG15IFBS cykuIEZvciBleGFtcGxlLCB0aGUgVmFyUG9sIFBSIHdvdWxkIGJlIGJyb2tlbiB1cCBpbnRvIDkg UFJzDQo+IA0KPj4gZm9yIGVhY2ggZmluYWwgY29tbWl0LCBhbmQgd2UgY2FuIGdldCB0aGVtIGlu IG9uZSBieSBvbmUuDQo+IA0KPj4gSWRlYWxseSwgZWFjaCBvbmUgd291bGQgYmUgYSBzbWFsbCBi YWNrIGFuZCBmb3J0aCBhbmQgdGhlbiBpbi4gSWYgaXQNCj4gDQo+PiBoYWQgYmVlbiBkb25lIHRo YXQgd2F5IHRvIGJlZ2luIHdpdGgsIGl0IHdvdWxkIGJlIG92ZXIgaW4gYSB3ZWVrIGFuZCBhDQo+ IA0KPj4gaGFsZiBvciBzbywgcmF0aGVyIHRoYW4gdGhlIG11bHRpcGxlIG1vbnRocyB0aGF0IHdl w6LigqzihKJyZSBub3cgdmVyZ2luZw0KPiANCj4+IG9uLg0KPiANCj4gDQo+IA0KPiBUaGlzIGRp ZmZlcnMgZXh0cmVtZWx5IGZyb20gaG93IHdlJ3ZlIGJlZW4gd29ya2luZyBvbiBlZGsyLWRldmVs IChvciBmcm9tIGhvdyBhbnkgZ2l0LWJhc2VkIHByb2plY3Qgd29ya3MgdGhhdCBJJ3ZlIGV2ZXIg YmVlbiBpbnZvbHZlZCB3aXRoKS4NCj4gDQo+IEFuZCBJIHRoaW5rIHRoZSBhYm92ZSB3b3JrZmxv dyBpcyBvdXQgb2Ygc2NvcGUsIGZvciBtaWdyYXRpbmcgdGhlIGVkazIgcHJvY2VzcyB0byBnaXRo dWIuDQo+IA0KPiANCj4gDQo+IEFnYWluLCB0aGUgc3RydWN0dXJpbmcgb2YgYSBwYXRjaCBzZXJp ZXMgaXMgYSBwcmltYXJ5IHRyYWl0LiBJdGVyYXRpbmcgb25seSBvbiBpbmRpdmlkdWFsIHBhdGNo ZXMgZG9lcyBub3QgYWxsb3cgZm9yIHRoZSByZW9yZGVyaW5nIC8gcmVzdHJ1Y3R1cmluZyBvZiB0 aGUgcGF0Y2ggc2VyaWVzIChkcm9wcGluZyBwYXRjaGVzLCByZW9yZGVyaW5nIHBhdGNoZXMsIGlu c2VydGluZyBwYXRjaGVzLCBtb3ZpbmcgaHVua3MgYmV0d2VlbiBwYXRjaGVzKS4NCj4gDQo+IA0K PiANCj4gSXQncyBjb21tb24gdGhhdCB0aGUgbmVjZXNzaXR5IHRvIHJldmlzZSBhbiBlYXJsaWVy IHBhdGNoIGVtZXJnZXMgd2hpbGUgcmV3b3JraW5nIGEgbGF0ZXIgcGF0Y2guIEZvciBpbnN0YW5j ZSwgdGhlIGdpdC1yZWJhc2UoMSkgbWFudWFsIGRlZGljYXRlcyBhIHNlcGFyYXRlIHNlY3Rpb24g dG8gInNwbGl0dGluZyBjb21taXRzIi4NCj4gDQo+IA0KPiANCj4gSW4gdGhlIGluaXRpYWwgZXZh bHVhdGlvbiBvZiAid2ViIGZvcmdlcyIsIFBoYWJyaWNhdG9yIHdhcyBvbmUgb2YgdGhlICJjb250 ZXN0YW50cyIuIFBoYWJyaWNhdG9yIGRpZG4ndCBzdXBwb3J0IHRoZSAicGF0Y2ggc2VyaWVzIiBj b25jZXB0IGF0IGFsbCwgaXQgb25seSBzdXBwb3J0ZWQgcmV2aWV3IHJlcXVlc3RzIGZvciBpbmRp dmlkdWFsIHBhdGNoZXMsIGFuZCBpdCBzdXBwb3J0ZWQgc2V0dGluZyB1cCBkZXBlbmRlbmNpZXMg YmV0d2VlbiB0aGVtLiBTbywgZm9yIGV4YW1wbGUsIGEgMjctcGF0Y2ggc2VyaWVzIHdvdWxkIHJl cXVpcmUgMjcgc3VibWlzc2lvbnMgYW5kIDI2IGRlcGVuZGVuY2llcy4NCj4gDQo+IA0KPiANCj4g TGFja2luZyBzdXBwb3J0IGZvciB0aGUgcGF0Y2ggc2VyaWVzIGNvbmNlcHQgd2FzIGFuIGltbWVk aWF0ZSBkZWFsIGJyZWFrZXIgd2l0aCBQaGFicmljYXRvci4NCj4gDQo+IA0KPiANCj4gVGhlIGxv bmdlc3QgcGF0Y2ggc2VyaWVzIEkndmUgZXZlciBzdWJtaXR0ZWQgdG8gZWRrMi1kZXZlbCBoYWQg NTggcGF0Y2hlcy4gSXQgd2FzIFNNTSBlbmFibGVtZW50IGZvciBPVk1GLiBJdCB3ZW50IGZyb20g djEgdG8gdjUgKHY1IHdhcyBtZXJnZWQpLCBhbmQgdGhlIHBhdGNoIGNvdW50IHZhcmllZCBzaWdu aWZpY2FudGx5Og0KPiANCj4gDQo+IA0KPiB2MTogNTggcGF0Y2hlcyAoMjUgSnVsIDIwMTUpDQo+ IA0KPiB2MjogNDEgcGF0Y2hlcyAoIDkgT2N0IDIwMTUpDQo+IA0KPiB2MzogNTIgcGF0Y2hlcyAo MTUgT2N0IDIwMTUpDQo+IA0KPiB2NDogNDEgcGF0Y2hlcyAoIDMgTm92IDIwMTUpDQo+IA0KPiB2 NTogMzMgcGF0Y2hlcyAoMjcgTm92IDIwMTUpDQo+IA0KPiANCj4gDQo+IChUaGUgc2lnbmlmaWNh bnQgZHJvcCBpbiB0aGUgcGF0Y2ggY291bnQgd2FzIGR1ZSB0byBNaWtlIEtpbm5leSBvcGVuIHNv dXJjaW5nIGFuZCB1cHN0cmVhbWluZyB0aGUgKnJlYWwqIFBpU21tQ3B1RHhlU21tIGRyaXZlciAo d2hpY2ggd2FzIGh1Z2Ugd29yayBpbiBpdHMgb3duIHJpZ2h0KSwgYWxsb3dpbmcgbWUgdG8gZHJv cCB0aGUgUXVhcmstb3JpZ2luYXRlZCAzMi1iaXQtb25seSBQaVNtbUNwdUR4ZVNtbSB2YXJpYW50 LCBmcm9tIG15IHNlcmllcy4pDQo+IA0KPiANCj4gDQo+IFRoZSBjb250cmlidXRpb24gcHJvY2Vz cyBzaG91bGQgbWFrZSBkaWZmaWN1bHQgdGhpbmdzIHBvc3NpYmxlLCBldmVuIGlmIHRoYXQgY29t cGxpY2F0ZXMgc2ltcGxlIHRoaW5ncyBzb21ld2hhdC4gQSBwcm9jZXNzIHRoYXQgbWFrZXMgc2lt cGxlIHRoaW5ncyBzaW1wbGUgYW5kIGRpZmZpY3VsdCB0aGluZ3MgaW1wb3NzaWJsZSBpcyB1c2Vs ZXNzLiBUaGlzIGlzIHdoYXQgdGhlIEluc3RhZ3JhbSBnZW5lcmF0aW9uIHNlZW1zIHRvIGJlIG1p c3NpbmcuDQo+IA0KPiANCj4gDQo+IA0KPiANCj4gSSBkb24ndCBrbm93IHdoeSB0aGUgVmFyaWFi bGVQb2xpY3kgd29yayB0b29rIG1vbnRocy4gSSBjYW4gc2VlIHRoZSBmb2xsb3dpbmcgdGhyZWFk cyBvbiB0aGUgbGlzdDoNCj4gDQo+IA0KPiANCj4gKiBbZWRrMi1kZXZlbF0gW1BBVENIIHYxIDAv OV0gQWRkIHRoZSBWYXJpYWJsZVBvbGljeSBmZWF0dXJlDQo+IA0KPiAgICBGcmksIDEwIEFwciAy MDIwIDExOjM2OjAxIC0wNzAwDQo+IA0KPiANCj4gDQo+ICogW2VkazItZGV2ZWxdIFtQQVRDSCB2 MiAwMC8xMl0gQWRkIHRoZSBWYXJpYWJsZVBvbGljeSBmZWF0dXJlDQo+IA0KPiAgICBNb24sIDEx IE1heSAyMDIwIDIzOjQ2OjIzIC0wNzAwDQo+IA0KPiANCj4gDQo+IEkgaGF2ZSB0d28gc2V0cyBv ZiBjb21tZW50czoNCj4gDQo+IA0KPiANCj4gKDEpIEl0J3MgZGlmZmljdWx0IHRvIHRlbGwgaW4g cmV0cm9zcGVjdCAoYmVjYXVzZSB0aGUgc2VyaWVzIHNlZW0gdG8gaGF2ZSBiZWVuIHBvc3RlZCB3 aXRoIHNvbWV3aGF0IHByb2JsZW1hdGljIHRocmVhZGluZyksIGJ1dCB0aGUgZGVsYXkgYXBwYXJl bnRseSBjYW1lIGZyb20gbXVsdGlwbGUgc291cmNlcy4NCj4gDQo+IA0KPiANCj4gKDFhKSBSZXZp ZXcgd2FzIHNsb3cgYW5kIHNwb3R0eS4NCj4gDQo+IA0KPiANCj4gVGhlIHYxIGJsdXJiIHJlY2Vp dmVkIHNvbWUgY29tbWVudHMgaW4gdGhlIGZpcnN0IHdlZWsgYWZ0ZXIgaXQgd2FzIHBvc3RlZC4g QnV0IHRoZSByZXN0IG9mIHRoZSB2MSBzZXJpZXMgKHRoZSBhY3R1YWwgcGF0Y2hlcykgcmVjZWl2 ZWQgZmVlZGJhY2sgbGlrZSB0aGlzOg0KPiANCj4gDQo+IA0KPiAtIHYxIDEvOTogbm8gZmVlZGJh Y2sNCj4gDQo+IC0gdjEgMi85OiAxMiBkYXlzIGFmdGVyIHBvc3RpbmcNCj4gDQo+IC0gdjEgMy85 OiAxNiBkYXlzIGFmdGVyIHBvc3RpbmcNCj4gDQo+IC0gdjEgNC85OiBubyBmZWVkYmFjaw0KPiAN Cj4gLSB2MSA1Lzk6IG5vIGZlZWRiYWNrDQo+IA0KPiAtIHYxIDYvOTogbm8gZmVlZGJhY2sNCj4g DQo+IC0gdjEgNy85OiBubyBmZWVkYmFjaw0KPiANCj4gLSB2MSA4Lzk6IG5vIGZlZWRiYWNrDQo+ IA0KPiAtIHYxIDkvOTogbm8gZmVlZGJhY2sNCj4gDQo+IA0KPiANCj4gKDFiKSBUaGVyZSB3YXMg YWxzbyBxdWl0ZSBzb21lIHRpbWUgYmV0d2VlbiB0aGUgbGFzdCByZXNwb25zZSBpbiB0aGUgdjEg dGhyZWFkIChBcHIgMjZ0aCwgYXMgZmFyIGFzIEkgY2FuIHNlZSksIGFuZCB0aGUgcG9zdGluZyBv ZiB0aGUgdjIgc2VyaWVzIChNYXkgMTF0aCkuDQo+IA0KPiANCj4gDQo+ICgxYykgVGhlIHYyIGJs dXJiIGdvdCBhbG1vc3QgaW1tZWRpYXRlLCBhbmQgbnVtZXJvdXMgZmVlZGJhY2sgKG9uIHRoZSBk YXkgb2YgcG9zdGluZywgYW5kIHRoZSBkYXkgYWZ0ZXIpLiBSZWdhcmRpbmcgdGhlIGluZGl2aWR1 YWwgcGF0Y2hlcywgdGhleSBkaWRuJ3QgZmFyZSB0b28gd2VsbDoNCj4gDQo+IA0KPiANCj4gLSB2 MiAwMS8xMjogc3VwZXJmaWNpYWwgY29tbWVudCBvbiB0aGUgZGF5IG9mIHBvc3RpbmcgZnJvbSBt ZSAobm90IGENCj4gDQo+ICAgICAgICAgICAgICBkZXNpZ25hdGVkIE1kZU1vZHVsZVBrZyByZXZp ZXcpLCBvbiB0aGUgZGF5IG9mIHBvc3Rpbmc7IG5vDQo+IA0KPiAgICAgICAgICAgICAgb3RoZXIg ZmVlZGJhY2sgdGh1cyBmYXINCj4gDQo+IC0gdjIgMDIvMTI6IGRpdHRvDQo+IA0KPiAtIHYyIDAz LzEyOiBubyBmZWVkYmFjaw0KPiANCj4gLSB2MiAwNC8xMjogc3VwZXJmaWNpYWwgKGNvZGluZyBz dHlsZSkgY29tbWVudHMgb24gdGhlIGRheSBvZiBwb3N0aW5nDQo+IA0KPiAtIHYyIDA1LzEyOiBu byBmZWVkYmFjaw0KPiANCj4gLSB2MiAwNi8xMjogbm8gZmVlZGJhY2sNCj4gDQo+IC0gdjIgMDcv MTI6IG5vIGZlZWRiYWNrDQo+IA0KPiAtIHYyIDA4LzEyOiBubyBmZWVkYmFjaw0KPiANCj4gLSB2 MiAwOS8xMjogbm8gZmVlZGJhY2sNCj4gDQo+IC0gdjIgMTAvMTI6IG5vIGZlZWRiYWNrDQo+IA0K PiAtIHYyIDExLzEyOiByZWFzb25hYmx5IGluLWRlcHRoIHJldmlldyBmcm9tIHJlc3BvbnNpYmxl IGNvLW1haW50YWluZXINCj4gDQo+ICAgICAgICAgICAgICAoeW91cnMgdHJ1bHkpLCBvbiB0aGUg ZGF5IG9mIHBvc3RpbmcNCj4gDQo+IC0gdjIgMTIvMTI6IG5vIGZlZWRiYWNrDQo+IA0KPiANCj4g DQo+IEluIHRvdGFsLCBJIGRvbid0IHRoaW5rIHRoZSBjdXJyZW50IHByb2Nlc3MgdGFrZXMgdGhl IGJsYW1lIGZvciB0aGUgZGVsYXkuIElmIHJldmlld2VycyBkb24ndCBjYXJlIChvciBoYXZlIG5v IHRpbWUpIG5vdywgdGhhdCBwcm9ibGVtIHdpbGwgbm90IGNoYW5nZSB3aXRoIHRoZSB0cmFuc2l0 aW9uIHRvIGdpdGh1Yi5jb20uDQo+IA0KPiANCj4gDQo+IA0KPiANCj4gKDIpIFRoZSBWYXJpYWJs ZVBvbGljeSBzZXJpZXMgaXMgYWN0dWFsbHkgYSBnb29kIGV4YW1wbGUgdGhhdCBwYXRjaCBzZXJp ZXMgcmVzdHJ1Y3R1cmluZyBpcyBpbXBvcnRhbnQuDQo+IA0KPiANCj4gDQo+ICgyYSkgVGhlIHBh dGNoIGNvdW50IHdlbnQgZnJvbSA5IChpbiB2MSkgdG8gMTIgKGluIHYyKS4NCj4gDQo+IA0KPiAN Cj4gKDJiKSBBbmQgdW5kZXIgdjIsIExpbWluZyBzdGlsbCBwb2ludGVkIG91dDogIlRvIGtlZXAg ZWFjaCBjb21taXQgYnVpbGQgcGFzcywgdGhlIHBhdGNoIHNldCBzaG91bGQgZmlyc3QgYWRkIG5l dyBsaWJyYXJ5IGluc3RhbmNlLCB0aGVuIGFkZCB0aGUgbGlicmFyeSBpbnN0YW5jZSBpbnRvIGVh Y2ggcGxhdGZvcm0gRFNDLCBsYXN0IHVwZGF0ZSBWYXJpYWJsZSBkcml2ZXIgdG8gY29uc3VtZSBu ZXcgbGlicmFyeSBpbnN0YW5jZS4iDQo+IA0KPiANCj4gDQo+IEZ1cnRoZXJtb3JlLCBJIHJlcXVl c3RlZCBlbmFibGluZyB0aGUgZmVhdHVyZSBpbiBBcm1WaXJ0UGtnIHRvbywgYW5kIG1heWJlIChi YXNlZCBvbiBvd25lciBmZWVkYmFjaykgVWVmaVBheWxvYWRQa2cuDQo+IA0KPiANCj4gDQo+IFRo dXMsIHRoZSB2Mi0+djMgdXBkYXRlIHdpbGwgbW9zdCBsaWtlbHkgYnJpbmcgYWJvdXQgYm90aCBw YXRjaCBvcmRlciBjaGFuZ2VzLCBhbmQgYW4gaW5jcmVhc2VkIHBhdGNoIGNvdW50Lg0KPiANCj4g DQo+IA0KPiBUaGFua3MNCj4gDQo+IExhc3psbw0KPiANCj4gDQo+IA0KPiANCj4gDQo+IA0KPiAN Cj4gDQo+IA0KPiANCj4gDQo=