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.107.94.46]) by mx.groups.io with SMTP id smtpd.web11.35450.1681273539272394704 for ; Tue, 11 Apr 2023 21:25:39 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@amd.com header.s=selector1 header.b=QA0jIL0G; spf=permerror, err=parse error for token &{10 18 %{i}._ip.%{h}._ehlo.%{d}._spf.vali.email}: invalid domain name (domain: amd.com, ip: 40.107.94.46, mailfrom: abner.chang@amd.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RhacsyqaPAECha5wppMW/iHo8ZLEDbkHlHY6ZB+h36ArMMEEXtyxT+ywqPL2arWbx90CpONqhlQ7mZnKy27TUC3fioZld6dvmyxZKKU+WqyyvnGx4y1QONXbYXGzGbB1Jj/CGI0HlYVMqQPVGBa4HX7UuxxIJml5H5d+qG2/ALWxkgs/Z8DofLYxp5uBK/cbiZgAANww+9EbikxcAOX1fAy4midmH+OaoyPx+Ho01eUVCx/nQHuWNhc13G+FiZPfueZ517IwOSicGvE/7brJ1aOFh6JWiJFKMe4VE65XjvFH43hYC2jlR0rN12acObWmH1ysMHfJsVYpQhfg3dWy2w== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=f3i7CbXWHb1NcN9q3yv+RF9BCffyu7fbtSEcs50rJYM=; b=j3HG0M/QJ+vRCOd+g8uvJbBF9hcRl88Uf4ZeLaYhbdRx97X6QWYNXE2oIx3mUlSFTedchDaJKYnXUWOgipXX38hq0ehUYUtMonFu0y0vxg6M2x6FC+nDOzsyiY2tB8GEW08Dj/8o4RaVCkF8Phu/ltijJaSYKt1WURXZevo4yl8ms5EXwAZunGNed1/e5iCfRstkePelhPIbqXxhDnTuV8evoPbOQhUJUm/knDtVuQ4h/vPiuWb9TbZH8HLgt8Vmre9UTBW0bHa9NT9mjd0U2JEVTKuWPg1GP60EfuW4HmUSA3k8dnjaZ9+HxFmPETYvxO1EKSdgP5rY5+cBLPRPlQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=f3i7CbXWHb1NcN9q3yv+RF9BCffyu7fbtSEcs50rJYM=; b=QA0jIL0GCtPEQZ/9m7HsSpWFHvZ/d7YdROgS4sS92VZyBiIVi/Z/UhFHw+VtWdkk3A0pM2Cze09jaGJHDFxjTHKsIpWf5fpNnIs9svS4V4UG5tx8xryLpWoD2AumfINN4APcPF5pEcFzup/KwUkp7JkBVp1quwOhzctx0hpOZJM= Received: from MN2PR12MB3966.namprd12.prod.outlook.com (2603:10b6:208:165::18) by CH2PR12MB4104.namprd12.prod.outlook.com (2603:10b6:610:a4::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6298.30; Wed, 12 Apr 2023 04:25:36 +0000 Received: from MN2PR12MB3966.namprd12.prod.outlook.com ([fe80::30f:bd83:40dd:8f1]) by MN2PR12MB3966.namprd12.prod.outlook.com ([fe80::30f:bd83:40dd:8f1%3]) with mapi id 15.20.6277.036; Wed, 12 Apr 2023 04:25:35 +0000 From: "Chang, Abner" To: =?utf-8?B?UmljaGFyZCBIbyAo5L2V5piO5b+gKQ==?= , Pedro Falcato , "devel@edk2.groups.io" , "rebecca@bsdio.com" CC: Andrew Fish , Leif Lindholm , Michael D Kinney , Michael Kubacki , Zhiguang Liu , Liming Gao , Tinh Nguyen , =?utf-8?B?VG9ueSBMbyAo576F6YeR5p2+KQ==?= , =?utf-8?B?TWFydmluIEjDpHVzZXI=?= Subject: Re: [edk2-devel] [PATCH v7 1/3] UsbNetworkPkg/UsbRndis: Add USB RNDIS devices support Thread-Topic: [EXTERNAL] Re: [edk2-devel] [PATCH v7 1/3] UsbNetworkPkg/UsbRndis: Add USB RNDIS devices support Thread-Index: AQHZaUPu7eInPejPwEWzz4ffhuMEY68kuR2AgACrbVCAAKwCgIAAAhGAgADnQoCAABnbQA== Date: Wed, 12 Apr 2023 04:25:35 +0000 Message-ID: References: <20230407112638.405-1-richardho@ami.com> <20e340f2-c5bb-10b1-f286-0c52afffb74f@bsdio.com> In-Reply-To: Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Enabled=true; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SetDate=2023-04-12T04:25:33Z; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Method=Standard; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Name=General; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ActionId=6f6b9faf-9954-4c30-8ece-95a472f65c5d; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ContentBits=1 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN2PR12MB3966:EE_|CH2PR12MB4104:EE_ x-ms-office365-filtering-correlation-id: 923b0a22-4998-4d96-d05b-08db3b0df667 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: DhDzbc6yi43Hsl7iwqNrDhiVKG0W3fOzm29hrO8acEowSyg3lFnjphPBFzub4W+rpYxeszhW5GlTJDIPynQXMpuv36ySWT/C0LtLLa8x5tuT84t7o1Cpt2ir/16z+mCRZEWlVKPddlKwZ/Q0Eszso6x3SVJ+hBwhfdJ7Zp2kFsvLgXh/RmjmwkW21SJwVKiubDOdVLXfk/b8XaLSzeYRbBaACI9LNKYnCujtk0jTbCQREl7yNpb1tMqk38GpcsZqCKiqrQgY0rLMNTsN2bvBWILa2YbMzeQiFF1czS7g9R/93H/LzK4U79XyEUvwSinyLCHLOHbcOn45zCvGadXGLbEKH35c+0X5FmwV6BskA4R4y9YhtRayFAoEq3sQ3Dsg4lUavHHM00JEvDSUzxh4FiQo+ITV/luh7MwfAe1Ih4+BdC0y89m5kaNAIXKxzxmMvoBA4FLg4VRmkkIF4Dt6GXfafMrmwf0vwgkzVRFbdMmbcw8YOCV+rDt98/6Dxstfw0Q0HeUxStVmwV8/qETmAlg2D/46LhndD3LwmrvTdfkaMZSEsnHPNTTSFEn6W3AvgMblfGHnBOROI51NImeJqOidxWlppBaVEHkDLviydjTGo5JZ9Ck9x5DduLdRwVzN x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR12MB3966.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(136003)(39860400002)(396003)(366004)(376002)(346002)(451199021)(86362001)(54906003)(19627235002)(40140700001)(7416002)(110136005)(478600001)(33656002)(316002)(41300700001)(122000001)(38100700002)(8676002)(8936002)(52536014)(5660300002)(4326008)(66946007)(64756008)(66446008)(66476007)(66556008)(55016003)(76116006)(53546011)(9686003)(6506007)(26005)(38070700005)(186003)(83380400001)(2906002)(71200400001)(7696005)(66574015);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?UFVLYWppSVBSRTQveldON1JHUGZyb3hCcnlxR1FIaUs4L1FHT3dFTGZpdy9q?= =?utf-8?B?RG5DZmF6ZzNURCsxNWFnYVk3cFN6ODZKWFpER1FvMVlnS0M0ZWtERG9TMFRx?= =?utf-8?B?N0RzU3d0elYrUVdKcEIxT0NrRjE0aktwUHVHSUI4bjRoZWtGeC9wZTd5Y2Rj?= =?utf-8?B?QzJ1L2JpdGw4NFBmRk5GUDliV002RUZRNjhZR1hqd3UyeFNidUEwMjdOK2lm?= =?utf-8?B?M3pXeTdXY2NaY0NaWUh6N2hvQ2dnZXBBWlZlc20rTUEyWXhBMk5nY1hjdVB4?= =?utf-8?B?VVF6UEQ2RHdpc2ZkSStkZXIydENIZ0xkaGVRYmRPWkE2ai9UTmhiYk5Pemds?= =?utf-8?B?elZYcGxKWmp6ai9RSzllaDlaOHEzWGJNblErcENPM2wwWTVwNkJBNlVNckd0?= =?utf-8?B?K3JLQVZqZ3o3ais2Q3hPd2NWQ0tpWE9WS21aeHY4ZkpsVUFxb3NxQ3ZOeGR5?= =?utf-8?B?TkZLVWYvUTBLbDdGdThrSlNPMHpnV29JVG9xMWhKNnFEWXMwb2ZLQ2pPZkpw?= =?utf-8?B?eGIxL2VkNFh4UmFSZjZLSEI3VHlFcGZlQlpYL1ZXcDd4MzdrRmJsYStrYVhY?= =?utf-8?B?VDFsWDV1VUVsYVo3RmMvSWEvVkxzSWNxaE5nYUhQMmNsRVg5dUo3RHBsYjF2?= =?utf-8?B?Skx1eUc0N1ptK3d5dnROMGdjWjBmV2tRa2RTK3dQTFZkb2h4cmpubFZ1a3Uy?= =?utf-8?B?dTk3d3B3SWwrTTFoaWswenkrQ2FhL05EVkFqd2E4MDRlYnlMQy9WTmZnUDlB?= =?utf-8?B?dFRtWno0bU5QaFEzTStaRUZUbFhpNTFFTEY1TnAwSlhvTTQ1dmVTSFpTejBr?= =?utf-8?B?K2ZCM0pMVVBLSFgvTnlUYldVYTR4RzNDVTNtSnZTTHh1a3J6NDN2Yi9nM1Az?= =?utf-8?B?QlBBTisyZ3d3YzFrK05KR2xDNlFHSTdlUnFKR1hLaUEyOUt4UUZUcFkrbmdM?= =?utf-8?B?YWNXMEJGdng0dFdmeHhZdlJON1BGK29jd0Q5Wkpub1F5Y1AyMjl0eE5rVExS?= =?utf-8?B?dDBOVnBDYmRKL2NlcGxpMWNyU0IyVmx3eG9CY2J0RWFnNGZwTjhSUXVTWWhI?= =?utf-8?B?MlFIaStrTGdFYkwraDI1THR3cFJoOGlkTGIvZmo3YjZ0QVBXZ1EwVys1b09q?= =?utf-8?B?UHVETmhQQkpnVHMwRHNZbUpJaUpEbmQzeUo4bnpxa29FU2FwOU85Rko5aGMv?= =?utf-8?B?V3lmYW42TkpTR3pjbHhNNjBkamE4alErOElmanJEN2ZuZDUzOTNkNHlhZVNN?= =?utf-8?B?Y2Z3c29tOGJPd3NvZGJQaDlUSWNzOEZSZ0RLUS9JZTB4SVM4U3d3ODVnUlp5?= =?utf-8?B?NWNFbjdUZjJVdi9XeUVZeCtxSXhNbXhubjlZOTh2RzIvejBDbGNUYTUvczVX?= =?utf-8?B?eHptSUpVUmQydjNNcmNVY3lWaVp3T2c3UWNSVVgvZnJkSVVEc1BMT01id3lp?= =?utf-8?B?d2VHWTAyUm5ucFBzZkdybmViWVQ3QnlGa3lMWDEzZTBaU09IQnJsbzg3WDJW?= =?utf-8?B?dkwrRGFKWlVLRnhtQnRLOWt4dDU4TDlRQWRFM3YxdjVRU2JtTTcvaXkveWRO?= =?utf-8?B?WlVlM0NPK2ZKN0R2bi9MUEp5VlI1b08rL1I2NVlvODBXVjJkcENSOHluTU1r?= =?utf-8?B?Qm1Pak9QNGF1WGlqb2cxL2FSQ0hZSzFVMFZvanpSZ0RmSTdLd0pHdWVlYWNu?= =?utf-8?B?QkNZUkh2V0dPWDZsLzZIVjB2SjZaMllyOHNGSjc3ZGFxTFcxY3hkMUFYbm16?= =?utf-8?B?ZmJvQy9VdDNURktGZTEweVl1TXJic3NKcDJMV3FVNHNsc3RCUVZFWVRqN3FJ?= =?utf-8?B?cnVHWXN3TWpSTHppY05aeFVUMGI0SkF5T250d0RJdURadFVFampqYzZCV2Np?= =?utf-8?B?WGFkUUNLVzREUUR0bm85QVMyaTJVdERmQVJTNXhjbCtDMG8zU0JHVXpjbWxX?= =?utf-8?B?U1hleUJBbEtGbTJvWlI2N2NmWFRDUU5sUXAxR2gzczBueldOY3I3TE9pTGU3?= =?utf-8?B?WUtwNlBYYitNMFRVZjhqZ0p2OENaQ1FLaVJjODdJRWFpbXY2MXNoOU5KNzNC?= =?utf-8?B?bElJclNNUFNuTmVzTkMxSnlGdnM0TmU0NnJmbXQydjhPdHJ4OW1lRGZqcGdl?= =?utf-8?Q?YPxHsIGNjxS9lLx1l+Y+jMVhL?= MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR12MB3966.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 923b0a22-4998-4d96-d05b-08db3b0df667 X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Apr 2023 04:25:35.7296 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: PJ9RVQqpxEY+e7FXJWlficwFSeCA11uwpRedlMxS/sdQJO2JECfx0JPcQ8P8gMiDY1crte9OOA+jTA4tOTOo2g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4104 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 W0FNRCBPZmZpY2lhbCBVc2UgT25seSAtIEdlbmVyYWxdDQoNCkhpIFJpY2hhcmQgYW5kIFBlZHJv LA0KVW5kZXJzdGFuZCB0aGF0IGlzIHRoZSBzdGFuZGFyZCBVU0IgY29tbXVuaWNhdGlvbiBjbGFz cyBkZXZpY2UsIHRoYXQgaXMgd2h5IEkgdGhpbmsgcHV0IGl0IHVuZGVyIE1kZU1vZHVsZVBrZy9C dXMvVXNiL1VzYk5ldHdvcmsgbWFrZXMgbW9yZSBzZW5zZSBiZWNhdXNlIGl0IGlzIHNpbWlsYXIg dG8gdGhlIFVTQiBtYXNzIHN0b3JhZ2Ugb3IgSElEIGNsYXNzZXMuDQpVU0IgUk5ESVMgZHJpdmVy IGFuZCBFREtJSSBVU0IgRXRoZXJuZXQgcHJvdG9jb2wgYXJlIG9uIHRvcCBvZiBVU0IgZGV2aWNl cyB0aGF0IGFraW4gdG8gQkxPQ0sgSU8gcHJvdG9jb2wgdG8gVVNCIE1TRCwgd2hpY2ggSSB0aGlu ayB0aG9zZSB0d28gY2FuIGJlIGxvY2F0ZWQgdW5kZXIgTWRlTW9kdWxlUGtnL0J1cy9Vc2IvVXNi TmV0d29yayBhcyB3ZWxsIGJlY2F1c2UgdGhvc2UgYXJlIG9ubHkgdXNlZCBieSBVU0IgQ0RDIGRl dmljZXMuDQpUaGF0IGlzIG5vIHByb2JsZW0gdG8gYWRkIHRob3NlIGZpeGVkIFBDRHMgYW5kIG90 aGVyIGRlZmluaXRpb25zIHN1Y2ggYXMgcHJvdG9jb2wgZGVmaW5pdGlvbnMgaW4gTWRlTW9kdWxl UGtnLmRlYyBpZiBVc2JOZXR3b3JrIGlzIHBhcnQgb2YgTWRlTW9kdWxlUGtnLg0KDQpUaGFua3MN CkFibmVyDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogUmljaGFyZCBI byAo5L2V5piO5b+gKSA8UmljaGFyZEhvQGFtaS5jb20+DQo+IFNlbnQ6IFdlZG5lc2RheSwgQXBy aWwgMTIsIDIwMjMgMTA6MjcgQU0NCj4gVG86IFBlZHJvIEZhbGNhdG8gPHBlZHJvLmZhbGNhdG9A Z21haWwuY29tPjsgZGV2ZWxAZWRrMi5ncm91cHMuaW87DQo+IHJlYmVjY2FAYnNkaW8uY29tOyBD aGFuZywgQWJuZXIgPEFibmVyLkNoYW5nQGFtZC5jb20+DQo+IENjOiBBbmRyZXcgRmlzaCA8YWZp c2hAYXBwbGUuY29tPjsgTGVpZiBMaW5kaG9sbQ0KPiA8cXVpY19sbGluZGhvbEBxdWljaW5jLmNv bT47IE1pY2hhZWwgRCBLaW5uZXkNCj4gPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgTWlj aGFlbCBLdWJhY2tpDQo+IDxtaWt1YmFja0BsaW51eC5taWNyb3NvZnQuY29tPjsgWmhpZ3Vhbmcg TGl1IDx6aGlndWFuZy5saXVAaW50ZWwuY29tPjsNCj4gTGltaW5nIEdhbyA8Z2FvbGltaW5nQGJ5 b3NvZnQuY29tLmNuPjsgVGluaCBOZ3V5ZW4NCj4gPHRpbmhuZ3V5ZW5Ab3MuYW1wZXJlY29tcHV0 aW5nLmNvbT47IFRvbnkgTG8gKOe+hemHkeadvikNCj4gPFRvbnlMb0BhbWkuY29tPjsgTWFydmlu IEjDpHVzZXIgPG1oYWV1c2VyQHBvc3Rlby5kZT4NCj4gU3ViamVjdDogUkU6IFtFWFRFUk5BTF0g UmU6IFtlZGsyLWRldmVsXSBbUEFUQ0ggdjcgMS8zXQ0KPiBVc2JOZXR3b3JrUGtnL1VzYlJuZGlz OiBBZGQgVVNCIFJORElTIGRldmljZXMgc3VwcG9ydA0KPiANCj4gQ2F1dGlvbjogVGhpcyBtZXNz YWdlIG9yaWdpbmF0ZWQgZnJvbSBhbiBFeHRlcm5hbCBTb3VyY2UuIFVzZSBwcm9wZXINCj4gY2F1 dGlvbiB3aGVuIG9wZW5pbmcgYXR0YWNobWVudHMsIGNsaWNraW5nIGxpbmtzLCBvciByZXNwb25k aW5nLg0KPiANCj4gDQo+IEhpIFBlZHJvL0FibmVyLA0KPiANCj4gVXNiTmV0d29ya1BrZyBwcm92 aWRlIHRoZSBSTkRJUy9FQ00vTkNNIGRldmljZSBzdXBwb3J0IHRoYXQgYXJlDQo+IGltcGxlbWVu dCBmb3JtIFVTQiBzcGVjaWZpY2F0aW9uKHdlIGhhdmUgb3RoZXIgVVNCIG5ldHdvcmsgZGV2aWNl J3MNCj4gZHJpdmVyIHRvIHVwc3RyZWFtKS4NCj4gSXQgaXMgbm90IHNwZWNpZmljIFVTQiBkZXZp Y2UuIFRoZSBkcml2ZXIgY291bGQgd29yayBvbiBhbnkgcGxhdGZvcm0uIFNvLCB3ZQ0KPiBjcmVh dGUgVXNiTmV0d29ya1BrZyBzYW1lIGFzIE5ldHdvcmtQa2cgaW4gZWRrMiByZXBvLg0KPiANCj4g Q3VycmVudGx5LCB3ZSBoYXZlIHNvbWUgRml4ZWQgUENEcyBpbiBVc2JOZXR3b3JrUGtnLmRlYy4g Q2FuIGFkZCBpdCB0bw0KPiBNZGVNb2R1bGVQa2cuZGVjPw0KPiBXaGljaCBvbmUgaXMgYmV0dGVy IGZvciB1cHN0cmVhbSBmcm9tIGJlbG93IHJ1bGVzPw0KPiANCj4gIzE6IGVkazItcGxhdGZvcm1z L0ZlYXR1cmVzL1VzYk5ldHdvcmtQa2cNCj4gIzI6IGVkazIvTWRlTW9kdWxlUGtnL0J1cy9Vc2Iv VXNiTmV0d29yaw0KPiAjMzogZWRrMi9Vc2JOZXR3b3JrUGtnDQo+IA0KPiBUaGFua3MsDQo+IFJp Y2hhcmQNCj4gDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IFBlZHJvIEZh bGNhdG8gPHBlZHJvLmZhbGNhdG9AZ21haWwuY29tPg0KPiBTZW50OiAyMDIz5bm0NOaciDEx5pel IDg6MzkgUE0NCj4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyByZWJlY2NhQGJzZGlvLmNvbQ0K PiBDYzogUmljaGFyZCBIbyAo5L2V5piO5b+gKSA8UmljaGFyZEhvQGFtaS5jb20+OyBBbmRyZXcg RmlzaA0KPiA8YWZpc2hAYXBwbGUuY29tPjsgTGVpZiBMaW5kaG9sbSA8cXVpY19sbGluZGhvbEBx dWljaW5jLmNvbT47IE1pY2hhZWwgRA0KPiBLaW5uZXkgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwu Y29tPjsgTWljaGFlbCBLdWJhY2tpDQo+IDxtaWt1YmFja0BsaW51eC5taWNyb3NvZnQuY29tPjsg WmhpZ3VhbmcgTGl1IDx6aGlndWFuZy5saXVAaW50ZWwuY29tPjsNCj4gTGltaW5nIEdhbyA8Z2Fv bGltaW5nQGJ5b3NvZnQuY29tLmNuPjsgVGluaCBOZ3V5ZW4NCj4gPHRpbmhuZ3V5ZW5Ab3MuYW1w ZXJlY29tcHV0aW5nLmNvbT47IFRvbnkgTG8gKOe+hemHkeadvikNCj4gPFRvbnlMb0BhbWkuY29t PjsgTWFydmluIEjDpHVzZXIgPG1oYWV1c2VyQHBvc3Rlby5kZT4NCj4gU3ViamVjdDogW0VYVEVS TkFMXSBSZTogW2VkazItZGV2ZWxdIFtQQVRDSCB2NyAxLzNdDQo+IFVzYk5ldHdvcmtQa2cvVXNi Um5kaXM6IEFkZCBVU0IgUk5ESVMgZGV2aWNlcyBzdXBwb3J0DQo+IA0KPiANCj4gKipDQVVUSU9O OiBUaGUgZS1tYWlsIGJlbG93IGlzIGZyb20gYW4gZXh0ZXJuYWwgc291cmNlLiBQbGVhc2UgZXhl cmNpc2UNCj4gY2F1dGlvbiBiZWZvcmUgb3BlbmluZyBhdHRhY2htZW50cywgY2xpY2tpbmcgbGlu a3MsIG9yIGZvbGxvd2luZyBndWlkYW5jZS4qKg0KPiANCj4gT24gVHVlLCBBcHIgMTEsIDIwMjMg YXQgMTozMeKAr1BNIFJlYmVjY2EgQ3JhbiA8cmViZWNjYUBic2Rpby5jb20+IHdyb3RlOg0KPiA+ IEdpdmVuIHRoaXMgaXMgYWRkaW5nIGEgbmV3IHRvcC1sZXZlbCBwYWNrYWdlLCBJJ2QgbGlrZSB0 byBzZWUgYQ0KPiA+IHJldmlldy9mZWVkYmFjayBmcm9tIHRoZSBUaWFub0NvcmUgU3Rld2FyZHMu DQo+IA0KPiBJIHdvdWxkIHBlcnNvbmFsbHkgbG92ZSB0byB1bmRlcnN0YW5kIHdoeSB0aGlzIGlz IGJlaW5nIHB1c2hlZCBhcyBhIHRvcCBsZXZlbA0KPiBwYWNrYWdlIGluIGVkazIgd2hlbiAic3Vw cG9zZWRseSIgZWRrMi1wbGF0Zm9ybXMvRmVhdHVyZXMgaXMgdGhlIG1vcmUNCj4gY29ycmVjdCBh cHByb2FjaCBoZXJlIChhcyBkaXNjdXNzZWQgd2l0aCBTZWFuLCBOYXRlIGEgZmV3IG1vbnRocyBi YWNrKS4NCj4gDQo+IE9yIGlzIHRoYXQgaGVsbHNjYXBlIG9ubHkgcmVzZXJ2ZWQgZm9yIG1lPyA6 dg0KPiANCj4gLS0NCj4gUGVkcm8NCj4gLVRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQgaW4gdGhp cyBtZXNzYWdlIG1heSBiZSBjb25maWRlbnRpYWwgYW5kDQo+IHByb3ByaWV0YXJ5IHRvIEFtZXJp Y2FuIE1lZ2F0cmVuZHMgKEFNSSkuIFRoaXMgY29tbXVuaWNhdGlvbiBpcyBpbnRlbmRlZA0KPiB0 byBiZSByZWFkIG9ubHkgYnkgdGhlIGluZGl2aWR1YWwgb3IgZW50aXR5IHRvIHdob20gaXQgaXMg YWRkcmVzc2VkIG9yIGJ5IHRoZWlyDQo+IGRlc2lnbmVlLiBJZiB0aGUgcmVhZGVyIG9mIHRoaXMg bWVzc2FnZSBpcyBub3QgdGhlIGludGVuZGVkIHJlY2lwaWVudCwgeW91IGFyZQ0KPiBvbiBub3Rp Y2UgdGhhdCBhbnkgZGlzdHJpYnV0aW9uIG9mIHRoaXMgbWVzc2FnZSwgaW4gYW55IGZvcm0sIGlz IHN0cmljdGx5DQo+IHByb2hpYml0ZWQuIFBsZWFzZSBwcm9tcHRseSBub3RpZnkgdGhlIHNlbmRl ciBieSByZXBseSBlLW1haWwgb3IgYnkNCj4gdGVsZXBob25lIGF0IDc3MC0yNDYtODYwMCwgYW5k IHRoZW4gZGVsZXRlIG9yIGRlc3Ryb3kgYWxsIGNvcGllcyBvZiB0aGUNCj4gdHJhbnNtaXNzaW9u Lg0K