From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (NAM11-CO1-obe.outbound.protection.outlook.com [40.107.220.88]) by mx.groups.io with SMTP id smtpd.web12.4571.1663912466907755718 for ; Thu, 22 Sep 2022 22:54:27 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@ami.com header.s=selector1 header.b=isU/LCQZ; spf=pass (domain: ami.com, ip: 40.107.220.88, mailfrom: richardho@ami.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lrsml+42J0dLmnHWhn/EGgyZqJQqffwSsAnyuUXZa5RiUUj8tERtX1DW4B9DIz/USUZxtPrdM1YH7YN6QAcLkvBs0KAQiT4FPV8x7wp50o9gOGF1KHbhbiFdXM8N17XqUG4olLL1ZCtsUAp8oCbeePJERtVTR3NFA6Z3Xm+cH5zyfBijCquNuwU9MXViW2GQryuIOzFHUUb/LWF3ue9kspqnayja27jwJ/KuE1KuKgWa3fKzlwPPf/rJO6758tmE+xCwaH9VeN2qWy73cMHUV1KgdUwCNGDKl8EJU8N4+SYeAyp1yqQeHogKb7UI9JQwq8M9JVW2C5WC9QwhGoNUYA== 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=WqFrtQ6d7AiB4ZkjOBLY2e2YLi5n1gZD8jwRzCWfNnQ=; b=KMT1WK5ckw+cmeWbY+9sl9TOotFofr5e6YNx6ZzE2LmcZZlJwIpPYZTZ28ct76sgH3Sla8kkt4qoJdRc9CeqiEPrEt4D1qzmR4Y92Ew3eQ4ldkTwY1/WQzDXsUsenvgNN2/qZxGsI3fn310SnQS0A0jCBoSoKfWWQ9jWajbfP1by7CTicAbNSao0UPo6TcVXQ/Wq/OZ6E5ldjkYt7Mfujc6otMUZMFThJJ7+7y4iPH+e4Ke5SW83Mku+VkGE1ixezyXdHjnOm3G1irhFrYkjbAdiN73jUC2o8pXm/FwJlaIbmqzyt8QOfUhj61HEiFhxB+i+OOajAFP2QbcIdX0hvg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ami.com; dmarc=pass action=none header.from=ami.com; dkim=pass header.d=ami.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ami.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=WqFrtQ6d7AiB4ZkjOBLY2e2YLi5n1gZD8jwRzCWfNnQ=; b=isU/LCQZ93b3DEokT12A9BpUhcShl3bp5yaZiVRuvkiF4XOwz6LLWfqV3r/fAaOWfCJzlIcHPaQmn0QaQMhTk9yyl7yFvd/3iYA2HtJmgfMEJDgF1mbI/aAWjceIq3rHY6kSyPhYqAc9Tfoha/AgYJqmwYsXn05aXuQ37T4A+iU= Received: from DM5PR10MB1660.namprd10.prod.outlook.com (2603:10b6:4:6::13) by DS0PR10MB6056.namprd10.prod.outlook.com (2603:10b6:8:cb::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5632.19; Fri, 23 Sep 2022 05:54:24 +0000 Received: from DM5PR10MB1660.namprd10.prod.outlook.com ([fe80::d52b:e905:f4fb:2b52]) by DM5PR10MB1660.namprd10.prod.outlook.com ([fe80::d52b:e905:f4fb:2b52%10]) with mapi id 15.20.5654.020; Fri, 23 Sep 2022 05:54:24 +0000 From: =?UTF-8?B?UmljaGFyZEhvIFvkvZXmmI7lv6Bd?= To: gaoliming , "devel@edk2.groups.io" , 'Rebecca Cran' CC: 'Andrew Fish' , 'Leif Lindholm' , 'Michael D Kinney' , 'Michael Kubacki' , 'Zhiguang Liu' , =?utf-8?B?VG9ueUxvIFvnvoXph5Hmnb5d?= Subject: =?UTF-8?B?UmU6IOWbnuWkjTogW2VkazItZGV2ZWxdIFtQQVRDSF0gVXNiTmV0d29ya1BrZzogYWRkIFVTQiBuZXR3b3JrIGRldmljZXMgc3VwcG9ydA==?= Thread-Topic: =?utf-8?B?W0VYVEVSTkFMXSDlm57lpI06IFtlZGsyLWRldmVsXSBbUEFUQ0hdIFVzYk5l?= =?utf-8?Q?tworkPkg:_add_USB_network_devices_support?= Thread-Index: AQHYzwnKO0o3EEkfLku6hRyBEnszzq3sfCZg Date: Fri, 23 Sep 2022 05:54:24 +0000 Message-ID: References: <20220902052418.2253-1-richardho@ami.com> <71155a5e-2756-828c-ec56-79b5a73b488e@quicinc.com> <024201d8cf09$c5268180$4f738480$@byosoft.com.cn> In-Reply-To: <024201d8cf09$c5268180$4f738480$@byosoft.com.cn> Accept-Language: zh-TW, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=ami.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM5PR10MB1660:EE_|DS0PR10MB6056:EE_ x-ms-office365-filtering-correlation-id: ad1e5471-2d25-4357-b2d8-08da9d281182 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 0SUgjDm+8pIt7XZuprnoHYMXf2ihamQAIiZqTShrHqn811YOBOp4Za7IFfsTDTKG30XFrdMyWJfOKsVM6X6drWnWc3CIenJ0uTcjOUg1yM6Cx73u4AAl5YHt5RKrl13sL3eH1o11wEtUkNCZR1ucbkMWUjpHzW+bWZzXsPcsQ4M8+B7S4ilLxpJ7ozYU89o0uiPws0wxitqz5HdUiOE3+j8h8xtW1g5H4i6Vdf4MFCIjtCO/8HhPKv1/393GhGSwXa0QBnmo1Rek4ae/443+V4KbcaeUdkQCodtVj9+dpP9blLNVPlB9fgqaOc79uWGHYCavahNJlb0gVD6a24EyjGhvRXUnNp5birzIyuEu7k+E+bf+i2i+CuhZfamdRVJZwIszuW03eCXk+ET+Bk85pi38iIUSjetV0jMCMr2boj9zjlFDaxF2l/DR16j/kuzi8PSGkqE3LGAFFRElsrvImP58iIio4f57g6S1aeGVW3wkK4OxkXn6P94fxruHQTJdSvc+H5D9seqrOpJ8LstBDf1S45kgK6GUKVcxKGEiEZc/D2iX9cYPn2kKqVw5MMZclHq8HV2QZSr6JzcMDEzaKndbbjyqkuuAbs41GDsC9llZZkMp7lGo2N0rIMfxKVWjW05YQNXfxU1e4lozTl1Rj8KeWVuyIO8mym57XRwh+Obj7s7J8oay/Tdm6RdgIQ58N2QwjUBW9LZ1v37mMHMBuvYN+ylSwhGW2iWRiL6hbvFcOMMSgSk9G6niKT2nVDqHNp2TjyDQzZLH5mL6apS8xqGI8lN3SiNbSkVKbdqnOG4= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR10MB1660.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(396003)(366004)(39850400004)(136003)(346002)(376002)(451199015)(41300700001)(30864003)(224303003)(5660300002)(122000001)(8936002)(52536014)(38070700005)(53546011)(76116006)(66446008)(66556008)(2906002)(66946007)(64756008)(66476007)(316002)(186003)(85182001)(4326008)(71200400001)(40140700001)(33656002)(83380400001)(7696005)(9686003)(38100700002)(54906003)(45080400002)(6506007)(478600001)(26005)(966005)(86362001)(55016003)(110136005);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?aGRnZTFBaDNOclhqMFcvOHh5OWMxU3pwSE1PeXM3UWJyNDRLNUZva3FQWWF6?= =?utf-8?B?clM4dCtzeDZtMjFMYmxtNDd1cmQzaFdCa0NOcEh0VmJlRzhLc29VTVVsbGhk?= =?utf-8?B?SjVOTXZLY0JKa3E2YkkvVUx3dHpNckxSRFVKL00zVnMxcnkvanRlTm9yWmRP?= =?utf-8?B?VTZTTFJhMHVqU3RkenpmcllGcXpzSUZXcUo0SGJnVG1xd0lycnVSaWpFRTRx?= =?utf-8?B?MDBMdEdNWjYvNk1pS1VOcXdLUW1zQjFMVW5UaDBYYnl0Uit1Zk81RjRsbWlw?= =?utf-8?B?MDlBbjJYMCtzaFFtUGVmT1hvMkNCRldlM3NVQi84WkFPSDRjLzFzYjBYR2Y4?= =?utf-8?B?SVBwa0JGOTd6dTNMenRnMkMxZmlkSkRGZHlJT05oREVIT28xaGg3MUJZL1Nk?= =?utf-8?B?MjZONVdQM3p1REQwK1FyeVZYUEhaenlqYVBJOXB6L01uS1FNdjJuaXBWU0Vp?= =?utf-8?B?OW44Y3M1Rlo5cG5mcXRCT2d3Rk92VTVSclcrVUpvM2tENG0vVUdESzVVanp0?= =?utf-8?B?VlpPOXhrZWt1MmJqRmpvSGJlbHg0cG9MUUg4a3l4dUpvTVpwQ1BKYklMSDNr?= =?utf-8?B?a2xjSkxjc05TalNoc1BqZTBZRUxwMzdieGpEV093RGhEMEhNRFpVdjJWZTYr?= =?utf-8?B?d3lWM1VNRnRoVVN1TTdxME5KTnMxTUh2MEFyTFh2L1JaVnFFOXg0TDNkU2RR?= =?utf-8?B?cEFPSkZKZlk2Q1c0elM4QmJFVEZHVmlBS1FUTEh0NHRKUW94UkFLSUxFMDly?= =?utf-8?B?MjM5R0k4MHA5d2lSM0ZPSXJZNi9HTnFOZUpRUFc5aXdpZzNRdSt3bEEwYXh3?= =?utf-8?B?MDdITFlrZ2FwRzNPZjB2d3kveTdpb2M4SElZODBPS2xUT2NjU3hPYnBzQUtm?= =?utf-8?B?Vml1Yys4OTBvMGl3d1pZSmg5QW1Udk4rTUNUZGg2Q04xdEd4R0dDdFhpb1lW?= =?utf-8?B?S0laZHg3VlVXWFVhdXZST05BMW1VbVU5MTRxNkt5Y05zaWsxKytVcnJKTEtq?= =?utf-8?B?c3hyQ3NsZTlmNEJLZytHMzIxTmxNRDA5eWZ3ZWF1elc0cFN0T05VaHRsVjJl?= =?utf-8?B?bGoyNHNMc1g4YjRNaFVpM3FnSVd4cUE4eHR6aFROd0o5amdQdVNxVGlEMXZl?= =?utf-8?B?Yi9lTjAvY29MMXZySWRGU0VzMi9tZUJuM1ZCdGJvY0tkVWh2bHYzRDF3R3RE?= =?utf-8?B?VkFGZ3hpSmlUQXV2RGd6WVhnVzlCSHU3L3Rrbmk1UkRlb25KZDNVdWRoVTZr?= =?utf-8?B?M2RhN1ZPNGhqVVFKOGlWSlhzZ0p2cnpYbWM2U29zbjhUS3pNemE3ZjF0dGZ3?= =?utf-8?B?L2xVVzFmWlgxQWhrc1ZlRVJwOFVJVEhJd2ZEbjd0WjBwUEtKVnJqVCtFNlBJ?= =?utf-8?B?emdhY281OHhQQXlxekVweENiVmxtWkJtL0hEUHdieHRaRWNlbWxrTWUzRzhE?= =?utf-8?B?bXUzUFE3ZnhiclltT1B0T0p5bVh5Z1ZOVCtkdFNnQ0FUOTk5bWJvYXBadFA3?= =?utf-8?B?MENDWUJRbXNhbnRZc3pmdldoM3RoVURpZkJTR0tmQWFTbWlIbkNtcndLS0R1?= =?utf-8?B?ZHRyOW9aQllSWVc4a1Q4VGRQK20rcEpNbzVWVExOcnEyYXgzS29YVEI1WWFB?= =?utf-8?B?VlZ3MjFJaGVpRXdPcEZpSDVlRlhiRDdtbEVqTjZ2VGVBN2ZvUVU3WWVZSnVj?= =?utf-8?B?UEZBMlpqMkNpdkpHRU9TbGMzVitxZ2hwYWtIZGZQQWRVaUxsRXJsVFRENDBj?= =?utf-8?B?d2pjSHY0bFpDeG1LbkVGTG1ock1MQWZoOVM4QnlCNlozZGlLNjcrRG1vUzBJ?= =?utf-8?B?ckVvckV4WWRueWZGU1dSOXp0d2JNaXVyTDc4bm9qUE9RNVVKb0hpNHZtSnhC?= =?utf-8?B?a0RjdHpuQ1Q2NlM0bEdBbDhRa3hMeFRjYkZtd2ErdEdhckc5NFRjektrWkh2?= =?utf-8?B?UVZvRW44UU43WWFQRFhlRlpLb3FXZU5QVExqNWVadXpsZzAvdWFPUS9IeUFG?= =?utf-8?B?UUV4MG85dGEzL1VWMWV1bWw3MkwrRXN2MzlObTRGTmlmK3htSEVZbHhmT01V?= =?utf-8?B?SU9EUzlXSkczcWtseWI0NWtkR0RxTDhJeXdlRWJqUkllUmhuR0xFQlpNVGRH?= =?utf-8?Q?96hLXx9T+uY3YYRFuDjdq17Mv?= MIME-Version: 1.0 X-OriginatorOrg: ami.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM5PR10MB1660.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ad1e5471-2d25-4357-b2d8-08da9d281182 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Sep 2022 05:54:24.3752 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 27e97857-e15f-486c-b58e-86c2b3040f93 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 0yCRyamOTAuGPaX/v7oxR2Z1pxiAay3ATpe0bpYy4Xu5eakpsxR4CvXBqbejMnB5evtPQXd/0pou+eLLv8hFDg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR10MB6056 Content-Language: zh-TW Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgTGltaW5nLA0KDQpSTkRJUyBzcGVjaWZpY2F0aW9uIGlzIG5vdCBkZWZpbmVzIHRoaXMuDQpX ZSdyZSBmb2xsb3cgdGhlIEVDTSAoNS40IEV0aGVybmV0IE5ldHdvcmtpbmcgRnVuY3Rpb25hbCBE ZXNjcmlwdG9yKSBhbmQgTkNNICg1LjIuMSBOQ00gRnVuY3Rpb25hbCBEZXNjcmlwdG9yKXNwZWNp ZmljYXRpb24gdG8gaW1wbGVtZW50IFJORElTIGRyaXZlci4NCg0KSWYgUk5ESVMgZGV2aWNlIGhh cyBvdGhlciB3YXkgdG8ga25vdyB0aGUgbmV0d29ya2luZyBmdW5jdGlvbmFsIGluZm9ybWF0aW9u Lg0KV2UgY291bGQgaW1wbGVtZW50IHRoZSBjb2RlIHRvIEdldFVzYkhlYWRlckZ1bkRlc2NyaXB0 b3IsIEdldFVzYlVuaW9uRnVuRGVzY3JpcHRvciwgYW5kIEdldFVzYlJuZGlzRnVuRGVzY3JpcHRv ciByb3V0aW5lLg0KDQpUaGFua3MsDQpSaWNoYXJkDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0t LS0tDQpGcm9tOiBnYW9saW1pbmcgPGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj4NClNlbnQ6IDIw MjLlubQ55pyIMjPml6UgMTowMyBQTQ0KVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBSaWNoYXJk SG8gW+S9leaYjuW/oF0gPFJpY2hhcmRIb0BhbWkuY29tPjsgJ1JlYmVjY2EgQ3JhbicgPHJlYmVj Y2FAcXVpY2luYy5jb20+DQpDYzogJ0FuZHJldyBGaXNoJyA8YWZpc2hAYXBwbGUuY29tPjsgJ0xl aWYgTGluZGhvbG0nIDxxdWljX2xsaW5kaG9sQHF1aWNpbmMuY29tPjsgJ01pY2hhZWwgRCBLaW5u ZXknIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47ICdNaWNoYWVsIEt1YmFja2knIDxtaWNo YWVsLmt1YmFja2lAbWljcm9zb2Z0LmNvbT47ICdaaGlndWFuZyBMaXUnIDx6aGlndWFuZy5saXVA aW50ZWwuY29tPjsgVG9ueUxvIFvnvoXph5Hmnb5dIDxUb255TG9AYW1pLmNvbT4NClN1YmplY3Q6 IFtFWFRFUk5BTF0g5Zue5aSNOiBbZWRrMi1kZXZlbF0gW1BBVENIXSBVc2JOZXR3b3JrUGtnOiBh ZGQgVVNCIG5ldHdvcmsgZGV2aWNlcyBzdXBwb3J0DQoNCg0KKipDQVVUSU9OOiBUaGUgZS1tYWls IGJlbG93IGlzIGZyb20gYW4gZXh0ZXJuYWwgc291cmNlLiBQbGVhc2UgZXhlcmNpc2UgY2F1dGlv biBiZWZvcmUgb3BlbmluZyBhdHRhY2htZW50cywgY2xpY2tpbmcgbGlua3MsIG9yIGZvbGxvd2lu ZyBndWlkYW5jZS4qKg0KDQpSaWNoYXJkOg0KICBXZSBhbHNvIHZlcmlmeSBVU0IgUk5ESVMgbW9k dWxlIHdpdGggb3BlbiBCTUMuIEl0IHJlcG9ydHMgVVNCIFJORElTIGRldmljZSBkZXNjcmlwdG9y IHR5cGUgaXMgVVNCX0RFU0NfVFlQRV9JTlRFUkZBQ0UgKDB4MDQpLiBJdCBpcyBub3Qgc3VwcG9y dGVkIGJ5IFJuZGlzIG1vZHVsZS4NCg0KICBCdXQgaW4gVXNiTmV0d29ya1BrZ1xJbmNsdWRlXFBy b3RvY29sXFVzYkV0aGVybmV0UHJvdG9jb2wuaCwgaXQgZGVmaW5lcyBDU19JTlRFUkZBQ0UgYXMg MHgyNC4gUm5kaXMgbW9kdWxlIG9ubHkgc3VwcG9ydHMgdGhpcyBkZXNjcmlwdG9yIHR5cGUuDQoN CiAgU28sIEkgd2FudCB0byBjb25maXJtIHdoaWNoIHNwZWNpZmljYXRpb24gZGVmaW5lcyBkZXZp Y2UgZGVzY3JpcHRvciB0eXBlDQoweDI0IGFuZCBpdHMgcmVsYXRlZCBzdHJ1Y3R1cmUgSEVBREVS X0ZVTl9ERVNDUklQVE9SLyBVTklPTl9GVU5fREVTQ1JJUFRPUi8gRVRIRVJORVRfRlVOX0RFU0NS SVBUT1IuDQoNClRoYW5rcw0KTGltaW5nDQo+IC0tLS0t6YKu5Lu25Y6f5Lu2LS0tLS0NCj4g5Y+R 5Lu25Lq6OiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IOS7o+ih qCBSaWNoYXJkSG8NCj4gW+S9leaYjuW/oF0gdmlhIGdyb3Vwcy5pbw0KPiDlj5HpgIHml7bpl7Q6 IDIwMjLlubQ55pyIN+aXpSAxMzozMQ0KPiDmlLbku7bkuro6IFJlYmVjY2EgQ3JhbiA8cmViZWNj YUBxdWljaW5jLmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+IOaKhOmAgTogQW5kcmV3IEZp c2ggPGFmaXNoQGFwcGxlLmNvbT47IExlaWYgTGluZGhvbG0NCj4gPHF1aWNfbGxpbmRob2xAcXVp Y2luYy5jb20+OyBNaWNoYWVsIEQgS2lubmV5DQo+IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNv bT47IE1pY2hhZWwgS3ViYWNraQ0KPiA8bWljaGFlbC5rdWJhY2tpQG1pY3Jvc29mdC5jb20+OyBa aGlndWFuZyBMaXUNCj4gPHpoaWd1YW5nLmxpdUBpbnRlbC5jb20+OyBMaW1pbmcgR2FvIDxnYW9s aW1pbmdAYnlvc29mdC5jb20uY24+Ow0KPiBUb255TG8gW+e+hemHkeadvl0NCj4gPFRvbnlMb0Bh bWkuY29tPg0KPiDkuLvpopg6IFJlOiBbZWRrMi1kZXZlbF0gW1BBVENIXSBVc2JOZXR3b3JrUGtn OiBhZGQgVVNCIG5ldHdvcmsgZGV2aWNlcw0KPiBzdXBwb3J0DQo+DQo+IEhpIFJlYmVjY2EsDQo+ DQo+IFdlIGRpZG4ndCBjaGVjayBpdCBpbiBRRU1VLg0KPiBJcyBRRU1VIHJlcG9ydCBzdGFuZGFy ZCBVU0IgUk5ESVMgcHJvdG9jb2w/DQo+DQo+IFdlIG9ubHkgdGVzdCBpdCBpbiBwaHlzaWNhbCBk ZXZpY2UuIEJlbG93IGlzIGRldmljZSBsaXN0cy4NCj4NCj4gVVNCIFJORElTOg0KPiBBU1QyNTAw ICAgIDogQk1DIHJlcG9ydCB0aGUgUk5ESVMgZGV2aWNlDQo+DQo+IFVTQiBOQ006DQo+IERpc3Bs YXlMaW5rIEhJUyBVU0IzLjAgUG9ydGFibGUgRG9jayhEaXNwbGF5TGluayAoVUspIEx0ZC4pIFZl bmRvciBJRDoNCj4gMHgxN0U5IFByb2R1Y3QgSUQ6IDB4NDMwMQ0KPg0KPiBVU0IgRUNNOg0KPiBE TTk2MjEoRGF2aWNvbSBTZW1pY29uZHVjdG9yLCBJbmMuKQ0KPiBWZW5kb3IgSUQ6IDB4MEE0Ng0K PiBQcm9kdWN0IElEOiAweDEyNjkNCj4NCj4gVGhhbmtzLA0KPiBSaWNoYXJkDQo+DQo+IC0tLS0t T3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IFJlYmVjY2EgQ3JhbiA8cmViZWNjYUBxdWlj aW5jLmNvbT4NCj4gU2VudDogMjAyMuW5tDnmnIg25pelIDExOjA1IFBNDQo+IFRvOiBkZXZlbEBl ZGsyLmdyb3Vwcy5pbzsgUmljaGFyZEhvIFvkvZXmmI7lv6BdIDxSaWNoYXJkSG9AYW1pLmNvbT4N Cj4gQ2M6IEFuZHJldyBGaXNoIDxhZmlzaEBhcHBsZS5jb20+OyBMZWlmIExpbmRob2xtDQo+IDxx dWljX2xsaW5kaG9sQHF1aWNpbmMuY29tPjsgTWljaGFlbCBEIEtpbm5leQ0KPiA8bWljaGFlbC5k Lmtpbm5leUBpbnRlbC5jb20+OyBNaWNoYWVsIEt1YmFja2kNCj4gPG1pY2hhZWwua3ViYWNraUBt aWNyb3NvZnQuY29tPjsgWmhpZ3VhbmcgTGl1DQo+IDx6aGlndWFuZy5saXVAaW50ZWwuY29tPjsg TGltaW5nIEdhbyA8Z2FvbGltaW5nQGJ5b3NvZnQuY29tLmNuPjsNCj4gVG9ueUxvIFvnvoXph5Hm nb5dDQo+IDxUb255TG9AYW1pLmNvbT4NCj4gU3ViamVjdDogW0VYVEVSTkFMXSBSZTogW2VkazIt ZGV2ZWxdIFtQQVRDSF0gVXNiTmV0d29ya1BrZzogYWRkIFVTQg0KPiBuZXR3b3JrIGRldmljZXMg c3VwcG9ydA0KPg0KPg0KPiAqKkNBVVRJT046IFRoZSBlLW1haWwgYmVsb3cgaXMgZnJvbSBhbiBl eHRlcm5hbCBzb3VyY2UuIFBsZWFzZQ0KPiBleGVyY2lzZSBjYXV0aW9uIGJlZm9yZSBvcGVuaW5n IGF0dGFjaG1lbnRzLCBjbGlja2luZyBsaW5rcywgb3IgZm9sbG93aW5nIGd1aWRhbmNlLg0KKioN Cj4NCj4gSXMgaXQgZXhwZWN0ZWQgdGhhdCB0aGlzIHdpbGwgd29yayB3aXRoIFFFTVUgKHdpdGgg dGhlIHVzYi1uZXQgZml4ZXMNCj4gZnJvbQ0KPiBodHRwczovL25hbTEyLnNhZmVsaW5rcy5wcm90 ZWN0aW9uLm91dGxvb2suY29tLz91cmw9aHR0cHMlM0ElMkYlMkZnaXRoDQo+IHUgYi5jb20lMkZt Y2IzMCUyRnFlbXUlMkZ0cmVlJTJGdXNibmV0MyZhbXA7ZGF0YT0wNSU3QzAxJTdDcmljaA0KPiBh cmRobyU0MGFtaS5jb20lN0MxZGQyMGUxMjRjZDY0NjU5YjRlOTA4ZGE5MDE5M2RkMyU3QzI3ZTk3 ODU3DQo+IGUxNWY0ODZjYjU4ZTg2YzJiMzA0MGY5MyU3QzElN0MwJTdDNjM3OTgwNzM1MzQyMjUy MDY2JTdDVW5rbm8NCj4gd24lN0NUV0ZwYkdac2IzZDhleUpXSWpvaU1DNHdMakF3TURBaUxDSlFJ am9pVjJsdU16SWlMQ0pCVGlJNklrMWgNCj4gYVd3aUxDSlhWQ0k2TW4wJTNEJTdDMzAwMCU3QyU3 QyU3QyZhbXA7c2RhdGE9eEhSUWMlMkZudjdmUA0KPiBrJTJCUEVWYXZJbGZGcGFYajZHcThOaUhV c1JkZDVIRCUyRmMlM0QmYW1wO3Jlc2VydmVkPTApLA0KPiBmb3IgZXhhbXBsZSB1c2luZyB0aGUg U0JTQS1SRUYgbWFjaGluZSBmb3IgQXJtIG9yIE9WTUYgZm9yIFg2ND8NCj4NCj4gSSdtIGFkZGlu ZyB0aGUgZm9sbG93aW5nIHBhcmFtZXRlcnMgdG8gUUVNVToNCj4NCj4gLW5ldGRldiB1c2VyLGlk PW5ldDAsbmV0PTE5Mi4xNjguMTAuMC8yNCxkaGNwc3RhcnQ9MTkyLjE2OC4xMC4xDQo+IC1kZXZp Y2UNCj4gdXNiLW5ldCxuZXRkZXY9bmV0MA0KPg0KPg0KPiBPbiBPVk1GIEkgZ2V0IHRoZSBmb2xs b3dpbmcgY3Jhc2ggd2hlbiBsb2FkaW5nIFVzYlJuZGlzLmVmaSBhZnRlcg0KPiBOZXR3b3JrQ29t bW9uLmVmaToNCj4NCj4gU3VwcG9ydCgpOiBVTkRJMy4xIGZvdW5kIG9uIGhhbmRsZSA2NTUwRDE4 DQo+IFN1cHBvcnQoKTogc3VwcG9ydGVkIG9uIDY1NTBEMTgNCj4gU3RhcnQoKTogVU5ESTMuMSBm b3VuZA0KPiAhISEhIFg2NCBFeGNlcHRpb24gVHlwZSAtIDA2KCNVRCAtIEludmFsaWQgT3Bjb2Rl KSAgQ1BVIEFwaWMgSUQgLQ0KPiAwMDAwMDAwMCAhISEhDQo+IFJJUCAgLSAwMDAwMDAwMDAwMEIw MDAxLCBDUyAgLSAwMDAwMDAwMDAwMDAwMDM4LCBSRkxBR1MgLQ0KPiAwMDAwMDAwMDAwMDAwMjgz IFJBWCAgLSAwMDAwMDAwMDA2NTNBRjgwLCBSQ1ggLSAwMDAwMDAwMDA2NURDMzgyLCBSRFgNCj4g LSAwMDAwMDAwMDAwMDA1NDQxIFJCWCAgLSAwMDAwMDAwMDA2NUQ4MDAwLCBSU1AgLSAwMDAwMDAw MDA3RThFQTQ4LA0KPiBSQlAgLSAwMDAwMDAwMDA2NURCMDAxIFJTSSAgLSAwMDAwMDAwMDAwMDAw MDQ4LCBSREkgLSAwMDAwMDAwMDA2Q0U4MkMwDQo+IFI4ICAgLSAwMDAwMDAwMDA3RThFQTYwLCBS OSAgLSAwMDAwMDAwMDA3RThFQUQwLCBSMTAgLQ0KPiAwMDAwMDAwMDA3RThFODA0DQo+IFIxMSAg LSAwMDAwMDAwMDAwMDAwMDAwLCBSMTIgLSA4MDAwMDAwMDAwMDAwMDAzLCBSMTMgLQ0KPiAwMDAw MDAwMDAwMDAwMDAxDQo+IFIxNCAgLSAwMDAwMDAwMDA2Q0VFNjQwLCBSMTUgLSAwMDAwMDAwMDAw MDAwMDA2DQo+IERTICAgLSAwMDAwMDAwMDAwMDAwMDMwLCBFUyAgLSAwMDAwMDAwMDAwMDAwMDMw LCBGUyAgLQ0KPiAwMDAwMDAwMDAwMDAwMDMwDQo+IEdTICAgLSAwMDAwMDAwMDAwMDAwMDMwLCBT UyAgLSAwMDAwMDAwMDAwMDAwMDMwDQo+IENSMCAgLSAwMDAwMDAwMDgwMDEwMDMzLCBDUjIgLSAw MDAwMDAwMDAwMDAwMDAwLCBDUjMgLQ0KPiAwMDAwMDAwMDA3QzAxMDAwDQo+IENSNCAgLSAwMDAw MDAwMDAwMDAwNjY4LCBDUjggLSAwMDAwMDAwMDAwMDAwMDAwDQo+IERSMCAgLSAwMDAwMDAwMDAw MDAwMDAwLCBEUjEgLSAwMDAwMDAwMDAwMDAwMDAwLCBEUjIgLQ0KPiAwMDAwMDAwMDAwMDAwMDAw DQo+IERSMyAgLSAwMDAwMDAwMDAwMDAwMDAwLCBEUjYgLSAwMDAwMDAwMEZGRkYwRkYwLCBEUjcg LQ0KPiAwMDAwMDAwMDAwMDAwNDAwIEdEVFIgLSAwMDAwMDAwMDA3OURFMDAwIDAwMDAwMDAwMDAw MDAwNDcsIExEVFIgLQ0KPiAwMDAwMDAwMDAwMDAwMDAwDQo+IElEVFIgLSAwMDAwMDAwMDA3NTND MDE4IDAwMDAwMDAwMDAwMDBGRkYsICAgVFIgLSAwMDAwMDAwMDAwMDAwMDAwDQo+IEZYU0FWRV9T VEFURSAtIDAwMDAwMDAwMDdFOEU2QTANCj4gISEhISBDYW4ndCBmaW5kIGltYWdlIGluZm9ybWF0 aW9uLiAhISEhDQo+DQo+DQo+IE9uIEFybSwgSSBkb24ndCBnZXQgYSBjcmFzaCBidXQgbm8gbmV0 d29yayBpbnRlcmZhY2UgZ2V0cyBjcmVhdGVkLg0KPiBJJ3ZlIGNoZWNrZWQgdGhlIFFFTVUgUk5E SVMgaW50ZXJmYWNlIGlzIHdvcmtpbmc6IGlmIEkgYm9vdCB0byBMaW51eCBJDQo+IGNhbg0KZ2V0 DQo+IGFuIElQIGFkZHJlc3MgYW5kIGNvbW11bmljYXRlIHdpdGggdGhlIG91dHNpZGUgd29ybGQu DQo+DQo+IC0tDQo+IFJlYmVjY2EgQ3Jhbg0KPg0KPg0KPiBPbiA5LzEvMjIgMjM6MjQsIFJpY2hh cmRIbyBb5L2V5piO5b+gXSB2aWEgZ3JvdXBzLmlvIHdyb3RlOg0KPiA+IFVzYk5ldHdvcmtQa2cg cHJvdmlkZXMgbmV0d29yayBmdW5jdGlvbnMgZm9yIFVTQiBBQ00sIFVTQiBOQ00sIGFuZA0KPiBV U0INCj4gPiBSTkRJUyBuZXR3b3JrIGRldmljZS4NCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IFJp Y2hhcmQgSG8gPHJpY2hhcmRob0BhbWkuY29tPg0KPiA+IENjOiBBbmRyZXcgRmlzaCA8YWZpc2hA YXBwbGUuY29tPg0KPiA+IENjOiBMZWlmIExpbmRob2xtIDxxdWljX2xsaW5kaG9sQHF1aWNpbmMu Y29tPg0KPiA+IENjOiBNaWNoYWVsIEQgS2lubmV5IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNv bT4NCj4gPiBDYzogTWljaGFlbCBLdWJhY2tpIDxtaWNoYWVsLmt1YmFja2lAbWljcm9zb2Z0LmNv bT4NCj4gPiBDYzogWmhpZ3VhbmcgTGl1IDx6aGlndWFuZy5saXVAaW50ZWwuY29tPg0KPiA+IENj OiBMaW1pbmcgR2FvIDxnYW9saW1pbmdAYnlvc29mdC5jb20uY24+DQo+ID4gUmV2aWV3ZWQtYnk6 IFRvbnkgTG8gPHRvbnlsb0BhbWkuY29tPg0KPiA+IC0tLQ0KPiA+ICAgVXNiTmV0d29ya1BrZy9D b25maWcvVXNiTmV0d29ya1BrZy5pbmMuZHNjICAgIHwgICAgOSArDQo+ID4gICAuLi4vQ29uZmln L1VzYk5ldHdvcmtQa2dDb21wb25lbnRzRHhlLmluYy5kc2MgfCAgIDIwICsNCj4gPiAgIC4uLi9D b25maWcvVXNiTmV0d29ya1BrZ0NvbXBvbmVudHNEeGUuaW5jLmZkZiB8ICAgMjAgKw0KPiA+ICAg Li4uL0NvbmZpZy9Vc2JOZXR3b3JrUGtnRGVmaW5lcy5pbmMuZHNjICAgICAgIHwgICAyMyArDQo+ ID4gICAuLi4vSW5jbHVkZS9Qcm90b2NvbC9Vc2JFdGhlcm5ldFByb3RvY29sLmggICAgfCAgODcy ICsrKysrKysrKw0KPiA+ICAgVXNiTmV0d29ya1BrZy9OZXR3b3JrQ29tbW9uL0NvbXBvbmVudE5h bWUuYyAgIHwgIDI2NCArKysNCj4gPiAgIFVzYk5ldHdvcmtQa2cvTmV0d29ya0NvbW1vbi9Ecml2 ZXJCaW5kaW5nLmMgICB8ICA1ODMgKysrKysrDQo+ID4gICBVc2JOZXR3b3JrUGtnL05ldHdvcmtD b21tb24vRHJpdmVyQmluZGluZy5oICAgfCAgMjYzICsrKw0KPiA+ICAgVXNiTmV0d29ya1BrZy9O ZXR3b3JrQ29tbW9uL05ldHdvcmtDb21tb24uaW5mIHwgICA0MyArDQo+ID4gICBVc2JOZXR3b3Jr UGtnL05ldHdvcmtDb21tb24vUHhlRnVuY3Rpb24uYyAgICAgfCAxNzM0DQo+ICsrKysrKysrKysr KysrKysrDQo+ID4gICBVc2JOZXR3b3JrUGtnL1JlYWRNZS5tZCAgICAgICAgICAgICAgICAgICAg ICAgfCAgIDY1ICsNCj4gPiAgIFVzYk5ldHdvcmtQa2cvUmVsZWFzZU5vdGVzLm1kICAgICAgICAg ICAgICAgICB8ICAgMTEgKw0KPiA+ICAgVXNiTmV0d29ya1BrZy9Vc2JDZGNFY20vQ29tcG9uZW50 TmFtZS5jICAgICAgIHwgIDE3MCArKw0KPiA+ICAgVXNiTmV0d29ya1BrZy9Vc2JDZGNFY20vVXNi Q2RjRWNtLmMgICAgICAgICAgIHwgIDUwNCArKysrKw0KPiA+ICAgVXNiTmV0d29ya1BrZy9Vc2JD ZGNFY20vVXNiQ2RjRWNtLmggICAgICAgICAgIHwgIDIxMSArKw0KPiA+ICAgVXNiTmV0d29ya1Br Zy9Vc2JDZGNFY20vVXNiQ2RjRWNtLmluZiAgICAgICAgIHwgICA0MSArDQo+ID4gICBVc2JOZXR3 b3JrUGtnL1VzYkNkY0VjbS9Vc2JFY21GdW5jdGlvbi5jICAgICAgfCAgODYxDQo+ICsrKysrKysr DQo+ID4gICBVc2JOZXR3b3JrUGtnL1VzYkNkY05jbS9Db21wb25lbnROYW1lLmMgICAgICAgfCAg MTcwICsrDQo+ID4gICBVc2JOZXR3b3JrUGtnL1VzYkNkY05jbS9Vc2JDZGNOY20uYyAgICAgICAg ICAgfCAgNTA4ICsrKysrDQo+ID4gICBVc2JOZXR3b3JrUGtnL1VzYkNkY05jbS9Vc2JDZGNOY20u aCAgICAgICAgICAgfCAgMjQ1ICsrKw0KPiA+ICAgVXNiTmV0d29ya1BrZy9Vc2JDZGNOY20vVXNi Q2RjTmNtLmluZiAgICAgICAgIHwgICA0MSArDQo+ID4gICBVc2JOZXR3b3JrUGtnL1VzYkNkY05j bS9Vc2JOY21GdW5jdGlvbi5jICAgICAgfCAgOTQ2DQo+ICsrKysrKysrKw0KPiA+ICAgVXNiTmV0 d29ya1BrZy9Vc2JOZXR3b3JrUGtnLmRlYyAgICAgICAgICAgICAgIHwgICAzMiArDQo+ID4gICBV c2JOZXR3b3JrUGtnL1VzYlJuZGlzL0NvbXBvbmVudE5hbWUuYyAgICAgICAgfCAgMTcyICsrDQo+ ID4gICBVc2JOZXR3b3JrUGtnL1VzYlJuZGlzL1VzYlJuZGlzLmMgICAgICAgICAgICAgfCAgODQ4 ICsrKysrKysrDQo+ID4gICBVc2JOZXR3b3JrUGtnL1VzYlJuZGlzL1VzYlJuZGlzLmggICAgICAg ICAgICAgfCAgNTY5ICsrKysrKw0KPiA+ICAgVXNiTmV0d29ya1BrZy9Vc2JSbmRpcy9Vc2JSbmRp cy5pbmYgICAgICAgICAgIHwgICA0MSArDQo+ID4gICBVc2JOZXR3b3JrUGtnL1VzYlJuZGlzL1Vz YlJuZGlzRnVuY3Rpb24uYyAgICAgfCAxNTg3DQo+ICsrKysrKysrKysrKysrKw0KPiA+ICAgMjgg ZmlsZXMgY2hhbmdlZCwgMTA4NTMgaW5zZXJ0aW9ucygrKQ0KPiA+ICAgY3JlYXRlIG1vZGUgMTAw NjQ0IFVzYk5ldHdvcmtQa2cvQ29uZmlnL1VzYk5ldHdvcmtQa2cuaW5jLmRzYw0KPiA+ICAgY3Jl YXRlIG1vZGUgMTAwNjQ0DQo+IFVzYk5ldHdvcmtQa2cvQ29uZmlnL1VzYk5ldHdvcmtQa2dDb21w b25lbnRzRHhlLmluYy5kc2MNCj4gPiAgIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBVc2JOZXR3b3Jr UGtnL0NvbmZpZy9Vc2JOZXR3b3JrUGtnQ29tcG9uZW50c0R4ZS5pbmMuZmRmDQo+ID4gICBjcmVh dGUgbW9kZSAxMDA2NDQNCj4gVXNiTmV0d29ya1BrZy9Db25maWcvVXNiTmV0d29ya1BrZ0RlZmlu ZXMuaW5jLmRzYw0KPiA+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFVzYk5ldHdvcmtQa2cvSW5j bHVkZS9Qcm90b2NvbC9Vc2JFdGhlcm5ldFByb3RvY29sLmgNCj4gPiAgIGNyZWF0ZSBtb2RlIDEw MDY0NA0KPiBVc2JOZXR3b3JrUGtnL05ldHdvcmtDb21tb24vQ29tcG9uZW50TmFtZS5jDQo+ID4g ICBjcmVhdGUgbW9kZSAxMDA2NDQgVXNiTmV0d29ya1BrZy9OZXR3b3JrQ29tbW9uL0RyaXZlckJp bmRpbmcuYw0KPiA+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IFVzYk5ldHdvcmtQa2cvTmV0d29ya0Nv bW1vbi9Ecml2ZXJCaW5kaW5nLmgNCj4gPiAgIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBVc2JOZXR3 b3JrUGtnL05ldHdvcmtDb21tb24vTmV0d29ya0NvbW1vbi5pbmYNCj4gPiAgIGNyZWF0ZSBtb2Rl IDEwMDY0NCBVc2JOZXR3b3JrUGtnL05ldHdvcmtDb21tb24vUHhlRnVuY3Rpb24uYw0KPiA+ICAg Y3JlYXRlIG1vZGUgMTAwNjQ0IFVzYk5ldHdvcmtQa2cvUmVhZE1lLm1kDQo+ID4gICBjcmVhdGUg bW9kZSAxMDA2NDQgVXNiTmV0d29ya1BrZy9SZWxlYXNlTm90ZXMubWQNCj4gPiAgIGNyZWF0ZSBt b2RlIDEwMDY0NCBVc2JOZXR3b3JrUGtnL1VzYkNkY0VjbS9Db21wb25lbnROYW1lLmMNCj4gPiAg IGNyZWF0ZSBtb2RlIDEwMDY0NCBVc2JOZXR3b3JrUGtnL1VzYkNkY0VjbS9Vc2JDZGNFY20uYw0K PiA+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IFVzYk5ldHdvcmtQa2cvVXNiQ2RjRWNtL1VzYkNkY0Vj bS5oDQo+ID4gICBjcmVhdGUgbW9kZSAxMDA2NDQgVXNiTmV0d29ya1BrZy9Vc2JDZGNFY20vVXNi Q2RjRWNtLmluZg0KPiA+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IFVzYk5ldHdvcmtQa2cvVXNiQ2Rj RWNtL1VzYkVjbUZ1bmN0aW9uLmMNCj4gPiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBVc2JOZXR3b3Jr UGtnL1VzYkNkY05jbS9Db21wb25lbnROYW1lLmMNCj4gPiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBV c2JOZXR3b3JrUGtnL1VzYkNkY05jbS9Vc2JDZGNOY20uYw0KPiA+ICAgY3JlYXRlIG1vZGUgMTAw NjQ0IFVzYk5ldHdvcmtQa2cvVXNiQ2RjTmNtL1VzYkNkY05jbS5oDQo+ID4gICBjcmVhdGUgbW9k ZSAxMDA2NDQgVXNiTmV0d29ya1BrZy9Vc2JDZGNOY20vVXNiQ2RjTmNtLmluZg0KPiA+ICAgY3Jl YXRlIG1vZGUgMTAwNjQ0IFVzYk5ldHdvcmtQa2cvVXNiQ2RjTmNtL1VzYk5jbUZ1bmN0aW9uLmMN Cj4gPiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBVc2JOZXR3b3JrUGtnL1VzYk5ldHdvcmtQa2cuZGVj DQo+ID4gICBjcmVhdGUgbW9kZSAxMDA2NDQgVXNiTmV0d29ya1BrZy9Vc2JSbmRpcy9Db21wb25l bnROYW1lLmMNCj4gPiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBVc2JOZXR3b3JrUGtnL1VzYlJuZGlz L1VzYlJuZGlzLmMNCj4gPiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBVc2JOZXR3b3JrUGtnL1VzYlJu ZGlzL1VzYlJuZGlzLmgNCj4gPiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBVc2JOZXR3b3JrUGtnL1Vz YlJuZGlzL1VzYlJuZGlzLmluZg0KPiA+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IFVzYk5ldHdvcmtQ a2cvVXNiUm5kaXMvVXNiUm5kaXNGdW5jdGlvbi5jDQo+DQo+IC1UaGUgaW5mb3JtYXRpb24gY29u dGFpbmVkIGluIHRoaXMgbWVzc2FnZSBtYXkgYmUgY29uZmlkZW50aWFsIGFuZA0KPiBwcm9wcmll dGFyeSB0byBBbWVyaWNhbiBNZWdhdHJlbmRzIChBTUkpLiBUaGlzIGNvbW11bmljYXRpb24gaXMN Cj4gaW50ZW5kZWQNCnRvDQo+IGJlIHJlYWQgb25seSBieSB0aGUgaW5kaXZpZHVhbCBvciBlbnRp dHkgdG8gd2hvbSBpdCBpcyBhZGRyZXNzZWQgb3IgYnkNCnRoZWlyDQo+IGRlc2lnbmVlLiBJZiB0 aGUgcmVhZGVyIG9mIHRoaXMgbWVzc2FnZSBpcyBub3QgdGhlIGludGVuZGVkIHJlY2lwaWVudCwN Cj4geW91DQphcmUNCj4gb24gbm90aWNlIHRoYXQgYW55IGRpc3RyaWJ1dGlvbiBvZiB0aGlzIG1l c3NhZ2UsIGluIGFueSBmb3JtLCBpcw0KPiBzdHJpY3RseSBwcm9oaWJpdGVkLiBQbGVhc2UgcHJv bXB0bHkgbm90aWZ5IHRoZSBzZW5kZXIgYnkgcmVwbHkgZS1tYWlsDQo+IG9yIGJ5DQp0ZWxlcGhv bmUNCj4gYXQgNzcwLTI0Ni04NjAwLCBhbmQgdGhlbiBkZWxldGUgb3IgZGVzdHJveSBhbGwgY29w aWVzIG9mIHRoZQ0KdHJhbnNtaXNzaW9uLg0KPg0KPg0KPiANCj4NCg0KDQoNCi1UaGUgaW5mb3Jt YXRpb24gY29udGFpbmVkIGluIHRoaXMgbWVzc2FnZSBtYXkgYmUgY29uZmlkZW50aWFsIGFuZCBw cm9wcmlldGFyeSB0byBBbWVyaWNhbiBNZWdhdHJlbmRzIChBTUkpLiBUaGlzIGNvbW11bmljYXRp b24gaXMgaW50ZW5kZWQgdG8gYmUgcmVhZCBvbmx5IGJ5IHRoZSBpbmRpdmlkdWFsIG9yIGVudGl0 eSB0byB3aG9tIGl0IGlzIGFkZHJlc3NlZCBvciBieSB0aGVpciBkZXNpZ25lZS4gSWYgdGhlIHJl YWRlciBvZiB0aGlzIG1lc3NhZ2UgaXMgbm90IHRoZSBpbnRlbmRlZCByZWNpcGllbnQsIHlvdSBh cmUgb24gbm90aWNlIHRoYXQgYW55IGRpc3RyaWJ1dGlvbiBvZiB0aGlzIG1lc3NhZ2UsIGluIGFu eSBmb3JtLCBpcyBzdHJpY3RseSBwcm9oaWJpdGVkLiBQbGVhc2UgcHJvbXB0bHkgbm90aWZ5IHRo ZSBzZW5kZXIgYnkgcmVwbHkgZS1tYWlsIG9yIGJ5IHRlbGVwaG9uZSBhdCA3NzAtMjQ2LTg2MDAs IGFuZCB0aGVuIGRlbGV0ZSBvciBkZXN0cm95IGFsbCBjb3BpZXMgb2YgdGhlIHRyYW5zbWlzc2lv bi4NCg==