From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by mx.groups.io with SMTP id smtpd.web12.10531.1621953333710903962 for ; Tue, 25 May 2021 07:35:34 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=uJ6tq0fz; spf=pass (domain: intel.com, ip: 134.134.136.31, mailfrom: michael.d.kinney@intel.com) IronPort-SDR: o40ra7lXT16NTWkDoYqKgmA+opc48GzVlhCwotj3j9Bfe8HwhRKAeh2cx1AhJARSu9hUsMBrg7 CI/9zDZaHi8g== X-IronPort-AV: E=McAfee;i="6200,9189,9995"; a="263411486" X-IronPort-AV: E=Sophos;i="5.82,328,1613462400"; d="scan'208";a="263411486" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 May 2021 07:35:03 -0700 IronPort-SDR: ZYXyuryKoNYi4c/wAqqg5aCZWRN0NdWuwk5uP0ViQdK7En8pwQhwqn2SJg3Tx4Kz/yh1rwr8RV 0TD6gfsZXZ1Q== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.82,328,1613462400"; d="scan'208";a="476445792" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orsmga001.jf.intel.com with ESMTP; 25 May 2021 07:35:02 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4; Tue, 25 May 2021 07:35:02 -0700 Received: from fmsmsx602.amr.corp.intel.com (10.18.126.82) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4; Tue, 25 May 2021 07:35:02 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4 via Frontend Transport; Tue, 25 May 2021 07:35:02 -0700 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.44) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.4; Tue, 25 May 2021 07:35:01 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CKMhCLe9DegvfETbp4d77uiSzfxXz8TMkOgPJHWT+3lW9jD00yKD3mVqfoZTj2BZOhRgQcGpG1hCk5+Nt9hBZeW89VIK44C2VzRxDXV9zB8KDA1xQphMQqLYA9Ac2ofIil9SNN5k1Q5YpZ75lhquRNoeY3Udmtniv821sjqF/NuK+2HnwzBlrgowciSq++MnaG+VvuAWIW4EEKATrV81yvkGb0TPhS9/BWZZgcPE1OL53yEaDoo1wS3aWFPTbsahkK7uxKUWJVDGqRbO9ykiEOCMzQwFecPFVitu4zLqAqMNs9eCjX0aE7jPK3qjaqaVGCorrD9IULAXLctT86nMLg== 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=Q0ulTffGICF5NqQu7W6CuTsE1GC4ThUfIuqZIoOJr30=; b=I8yV4Fgyj8Qw7Vgytiv//b0enL04FdmgO+2ShaWIXwc94/ZhGZoYn8HbhPothxqTbsQkizx4ZzxNgFZO2mPziGBQvuKCv9LlKoSqwnqN51u5X7vPijwnyyK69/hTIYiFnwq9Y/T+T50UHGkAHJ497O4KXdUHz6LEpbEgDfeQEQUWeMNpbLN7ZJEGymfG0YindkZpS6MEyABHgA9j1LUGTukxQuOtnI58eqpRe36StmE21gXqGiyOPsjYoYlCzaJ4+tyGARoYgKdW7RedTvxVJBPcI6GBXI1VJgUPKK/0QKl4QMxhRfzq51e/QZq5F/04emjQhIZMwSCNbvxuo6fPWw== 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=Q0ulTffGICF5NqQu7W6CuTsE1GC4ThUfIuqZIoOJr30=; b=uJ6tq0fznMCMecIE+N7dsBbHem++uK0aUl9kmseKuWGFcohUF7vOEcmhF/JOnfLH6+mYjcyTcdYTUB81FqgQNxVRPTTLUopu130vSi8MG1gX4HdE8ua+8+42i1ZMt6SLgaqH9nTCXoaBYlGeT1PlCRD2f4JPORYh4msNpTqjeVU= Received: from CO1PR11MB4929.namprd11.prod.outlook.com (2603:10b6:303:6d::19) by MWHPR1101MB2335.namprd11.prod.outlook.com (2603:10b6:300:73::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4150.27; Tue, 25 May 2021 14:35:00 +0000 Received: from CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::59e2:f389:5f8b:2f08]) by CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::59e2:f389:5f8b:2f08%4]) with mapi id 15.20.4150.027; Tue, 25 May 2021 14:35:00 +0000 From: "Michael D Kinney" To: "Ni, Ray" , "devel@edk2.groups.io" , "Liu, Zhiguang" , "Kinney, Michael D" CC: Liming Gao Subject: Re: [edk2-devel] [PATCH 1/2] MdePkg: Standalone PCD driver Thread-Topic: [edk2-devel] [PATCH 1/2] MdePkg: Standalone PCD driver Thread-Index: AQHXUH6/hMeLqSFbRUmSL90HxNAkmqrzFdYwgABVDQCAANjksA== Date: Tue, 25 May 2021 14:35:00 +0000 Message-ID: References: <20210524092454.1168-1-zhiguang.liu@intel.com> <20210524092454.1168-2-zhiguang.liu@intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [24.19.191.44] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 8565ff3b-a918-4a89-82f8-08d91f8a46d4 x-ms-traffictypediagnostic: MWHPR1101MB2335: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: hMw5TTPHJhXnT81rw0rB5JzSvRyls3jjJiFgZb0uMNC/Fxpuv7gRgIZPWDtARXyAwMcIPsfO8k2W4eD77CL1SmCwDbiRMhLTsZ0Galn0qiIQJpINT1BhhpEVQrPVTBEUSjVNx7JMUE28XV0kefhJInW2OkOYkAtz5bRkGaIdokdICOmpx0IWvczxVLE+grlVTNuMtRhGwEZx1TGwQt31yt933osphAuIjEcCI/ZEqXzs4/849Hoae8mkUmmV4yGT8Sser672ui2aH/0RCsSr7JTsgauh+PVuf+hCmI4H+uOd7wTdy7+93j7lfjl+vJhMtAhtF/cR2bBUhQcBzf/Bz0JWyOcqzs+H2cXk04XH7flpPGHcoJ95+P7UMj4KfQ77wiPsEPKV0z0Si6rnbBUqWOFcp3Mlmid1yh0uGkUkMHsN8njYoMv6FKieTivka8U+yxMu9HMCZ3G4Ez7mewmrWbafd8v7aChLAyWpc8VmGAI0KmJ/C9cisfbVly/JFTQggrAWc4tJYnqr0xNram8aQiJFw1fp8kJ+OCASX4SlWsB+5kudLx5eAsmiBnkUuxYPzaITZUPbPwBbhzmigONgqjbiDw6TXjSKX60NoPPbZqK+MwMh7yKFVtUgWkoTatYuFYGVqzFjGiLybjl+Z+wpnMfuoeQRh8KC5gVD07NpF9s+zvqmUxTOLDDv4kJqnVeIPUz2WpCPJb1rJv6ZdOyqU0m9PfhSkIaWmeL2kLtGAYKrRaSRiGeRTNap04orbJ8kBRxOT+eQNV5rAN9DBZ4A1A== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR11MB4929.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(346002)(39860400002)(366004)(376002)(136003)(396003)(5660300002)(66556008)(66446008)(8676002)(19627235002)(66476007)(30864003)(7696005)(2906002)(64756008)(966005)(52536014)(83380400001)(76116006)(71200400001)(55016002)(122000001)(6506007)(9686003)(186003)(53546011)(478600001)(66946007)(316002)(8936002)(38100700002)(33656002)(4326008)(110136005)(26005)(86362001)(579004)(44824005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?ekpFRXhHZkZ2eWVDVjIrZ2M2MXpnWVBqai9VM0c4eDdDQjdDanBib2RmcmZG?= =?utf-8?B?VlZsRDJreGpTYVYyUTRBM2VIODh5YW1TZVc5cDFqQzE3V0xxK3NSZE1XR0pi?= =?utf-8?B?Q3F6dVpYbmdxMG02Ry9aU2N2WHRUcnkwYUJTMTlqNGhobDJaMnBmbDNoSGRh?= =?utf-8?B?YlVRem05RTAya0loMHJPWGZkS0dkV291dEdJUG5PL2tUalc5ZTVkejVBR3Fr?= =?utf-8?B?R2twdVpUYTEzbXAvVjlCOVc2a2NDSGVaQ2dJQW1Nb0IrQUxDMzVwUW0ranY2?= =?utf-8?B?blI0cjdCQ2lEWGtWMGxiUWNCTmduWmJjbGY2eGthVjhDU1lTQkwrdVIrdUcx?= =?utf-8?B?VGY2Rml5OEdkYmZnaXdUU085bU5HNVd6L3dmcHBKaDA1SC9meXBCMHRYWWNO?= =?utf-8?B?dlNNOWV2NHRORnZXVDRMb0lxVjZleGRiMmRYSTBIdDlXOTZYa0xlaFpEZDho?= =?utf-8?B?c25oSDYweGdNZ050bVRVYXZBZHBFRmdSL2p2dmg1OCtnK2NJUUxBOUhwaS8x?= =?utf-8?B?SUFCYmFHNEhaNmJsY2M3MnZPRm9GUU5iZkdQR3dCb2FodXZGQXpUSElKSUZ1?= =?utf-8?B?bzF5T1dScE5CSWJUY3poazlPbjROd01LUk9PaHdkY3NhblhIM3pVU1dJdEoy?= =?utf-8?B?eTVRVXRGZVlvWVF6U25DK2dNeGYxaVhWSUNBV2kveU5VRnEwOTQ2b3lnWk14?= =?utf-8?B?UlNMcDhYaEFkWG5JeDlWZnBZbm9sazFoVzZyTEpnVmd2Vy9zcVoyZnBHaGdB?= =?utf-8?B?QlUwY0c0c1RnVXUrM0ovbkFKTjd5Vm04aG5ReXNwR0N1VUxRTnVyeDBBd0ZL?= =?utf-8?B?Y0JjbTlRaHFxelRyZkJvVHhUYi95WjdPK3M1MTkwR0tCdDlKdW93ZVRZTmdO?= =?utf-8?B?cjlLZVdMU1drWk5mMExnWVBjbnJrd0pUTVJtdldjVjFYQlhUUU5VQjVZRy9v?= =?utf-8?B?cy9JdTA2YjBGMkc4MXhISTFpWDdFSEV6L2RGWDdMaTZRbTJvbkJ6QmY2R29j?= =?utf-8?B?bFBDWEJGdzdnRDBwdEZrNXZISVp5ZVBSNSswa2NuWWRDYlZMV29xTnkvSWxx?= =?utf-8?B?WEZ5MGtJaTFUU29WeFBVVEJyNjBKbkQrWjFrNnRVRG9wNlplN2xXRzdTaW10?= =?utf-8?B?dk92WHNRYjF3L29NQWtwaEFLOGQvazFSNHdJQ3pCeWhmbDJyZlJrQTJNWGN1?= =?utf-8?B?TzNwbVI1RGx4TXJtbkxBRkUvaVROOUxZRUIxNG1KbkNtK0Q0ZE1FanZCdDYv?= =?utf-8?B?aE0rWXpCZUIvZGJISmQ1R1FUWUhyOUtSNThQdXltcVliZk1sMHh2bmJZZDkw?= =?utf-8?B?aDBwUUxBeFpUaFMrcFZHWmpCckF3MmJaQzJpcVllMXBpUFlLbjN4NTBadmRR?= =?utf-8?B?azRuWm5QMkxmY2krVWxOMmp3MllVT1hMM1ZxVXkrOUxUSE9ScWJrZUVBc2Fj?= =?utf-8?B?QUlad0ZQWVQ4N1dCdGh0KzJ5Um9jYitMQ0tYcmJsWm1UbklMdXpTT2RXckEw?= =?utf-8?B?bTd6YXFuTFp2TGt3N2NSa0tCWk5FZi8wcE1PTmFteE9CZ082TXl0Ny9UblI5?= =?utf-8?B?d0l0eFJuM0dmWUJIWTVSeitWWVdxU0NFRVA4TjdjU0VoSEpRM3ppSWswcGlJ?= =?utf-8?B?RmY3N1ZaTlV5Rk12RzFVeTNrNTR5MmtFcThKRUovc0FQRXBOc3RMSWxjOElt?= =?utf-8?B?TVdTdlNNNFYraFQwbkVucElPMFdDMlVOSXp6S3RCbEVOdWthYjF0OGFKSG42?= =?utf-8?Q?uY5zO0hWS0L9xTnxeTvEDSB2FEUAXxmynPnJijt?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4929.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8565ff3b-a918-4a89-82f8-08d91f8a46d4 X-MS-Exchange-CrossTenant-originalarrivaltime: 25 May 2021 14:35:00.2591 (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: LnCh4ExEaa/BmbVoLszgt0aewy+UiKR2gOuuO/fGBKRwojdOJpQw/cYwZJB2PEwpFl98TPQJ2FpELcKprCzp4656LHKB8sM+9Stl/1fZWWw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR1101MB2335 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 SGkgUmF5LA0KDQpUaGUgUENEIERhdGFiYXNlIGlzIGludGVuZGVkIHRvIGJlIG93bmVkIGJ5IHRo ZSBwbGF0Zm9ybSBGVy4NCg0KVGhlIGNvbmNlcHQgb2YgYSB1bml2ZXJzYWwgcGF5bG9hZCB0aGF0 IGlzIGxvYWRlZCBhZnRlciB0aGUgcGxhdGZvcm0gRlcgaXMgc2ltaWxhciBpbg0KY29uY2VwdCB0 byBsb2FkaW5nIGEgVUVGSSBhcHAvZHJpdmVyL29zbG9hZGVyLiAgVGhvc2UgdHlwZXMgb2YgbG9h ZGFibGUgVUVGSSBjb21wb25lbnRzDQphcmUgbm90IGFsbG93ZWQgdG8gdXNlIHRoZSBQQ0Qgc2Vy dmljZXMgIA0KDQpUaGUgb25seSB0aW1lIHRoZSBQQ0QgUFBJL1Byb3RvY29sIGFyZSBhY2Nlc3Nl ZCBpcyBpZiB0aGUgUENEIHR5cGUgaXMgRHluYW1pYyBvcg0KRHluYW1pY0V4Lg0KDQpXaHkgZG8g Y29tcG9uZW50cyBpbiB0aGUgVW5pdmVyc2FsIFBheWxvYWQgbmVlZCB0byBhY2Nlc3MgUENEcyBv ZiB0eXBlIER5bmFtaWMgDQpvciBEeW5hbWljRXg/ICBDYW4gd2UgcmVzdHJpY3QgY29tcG9uZW50 cyBpbiB0aGUgVW5pdmVyc2FsIFBheWxvYWQgdG8gb25seSB1c2UNClBDRHMgb2YgdHlwZSBGZWF0 dXJlRmxhZy9GaXhlZEF0QnVpbGQvUGF0Y2hhYmxlSW5Nb2R1bGU/DQoNClRoYW5rcywNCg0KTWlr ZQ0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IE5pLCBSYXkgPHJheS5u aUBpbnRlbC5jb20+DQo+IFNlbnQ6IE1vbmRheSwgTWF5IDI0LCAyMDIxIDY6MzMgUE0NCj4gVG86 IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5l eUBpbnRlbC5jb20+OyBMaXUsIFpoaWd1YW5nIDx6aGlndWFuZy5saXVAaW50ZWwuY29tPg0KPiBD YzogTGltaW5nIEdhbyA8Z2FvbGltaW5nQGJ5b3NvZnQuY29tLmNuPg0KPiBTdWJqZWN0OiBSRTog W2VkazItZGV2ZWxdIFtQQVRDSCAxLzJdIE1kZVBrZzogU3RhbmRhbG9uZSBQQ0QgZHJpdmVyDQo+ IA0KPiBNaWtlLA0KPiBJbiBwYXlsb2FkIHBoYXNlLCB0aGVyZSBhcmUgdHdvIGtpbmRzIG9mIHBh eWxvYWRzOg0KPiAxLiB0aGUgdW5pdmVyc2FsIHBheWxvYWRzIHRoYXQgY29uZm9ybSB0byB1bml2 ZXJzYWwgcGF5bG9hZCBzcGVjLiBUaGVzZSBwYXlsb2FkcyBjYW5ub3QgZGVwZW5kIG9uIGFueSBQ Q0QgcHJvZHVjZWQgZnJvbQ0KPiBib290bG9hZGVyIHBoYXNlLg0KPiAyLiB0aGUgcGxhdGZvcm0g cGF5bG9hZHMuIFRoZXNlIHBheWxvYWRzIGFyZSBkZXZlbG9wZWQgYnkgdGhlIHNhbWUgdmVuZG9y IGFzIHRoZSBib290bG9hZGVyLiBTbywgdGhleSBjYW4gZGVwZW5kIG9uIHRoZQ0KPiBQQ0QgcHJv ZHVjZWQgYnkgdGhlIGJvb3Rsb2FkZXIuIFRoZSB1bHRpbWF0ZSBnb2FsIGlzIHRoZXNlIHBsYXRm b3JtIHBheWxvYWRzIGNhbiBiZSBlbGltaW5hdGVkLg0KPiANCj4gVGhhbmtzLA0KPiBSYXkNCj4g DQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBkZXZlbEBlZGsyLmdy b3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IE9uIEJlaGFsZiBPZiBNaWNoYWVsIEQgS2lu bmV5DQo+ID4gU2VudDogVHVlc2RheSwgTWF5IDI1LCAyMDIxIDQ6MzAgQU0NCj4gPiBUbzogZGV2 ZWxAZWRrMi5ncm91cHMuaW87IExpdSwgWmhpZ3VhbmcgPHpoaWd1YW5nLmxpdUBpbnRlbC5jb20+ OyBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+DQo+ID4gQ2M6 IExpbWluZyBHYW8gPGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj4NCj4gPiBTdWJqZWN0OiBSZTog W2VkazItZGV2ZWxdIFtQQVRDSCAxLzJdIE1kZVBrZzogU3RhbmRhbG9uZSBQQ0QgZHJpdmVyDQo+ ID4NCj4gPiBXaHkgZG8gd2UgbmVlZCBhIG5ldyBQQ0Q/DQo+ID4NCj4gPiBDYW4ndCB3ZSBtYWtl IHRoaXMgdGhlIGRlZmF1bHQgYmVoYXZpb3IgdG8gb25seSBpbnN0YWxsIG9uZSBpbnN0YW5jZT8N Cj4gPg0KPiA+IFRoYW5rcywNCj4gPg0KPiA+IE1pa2UNCj4gPg0KPiA+ID4gLS0tLS1PcmlnaW5h bCBNZXNzYWdlLS0tLS0NCj4gPiA+IEZyb206IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBl ZGsyLmdyb3Vwcy5pbz4gT24gQmVoYWxmIE9mIFpoaWd1YW5nIExpdQ0KPiA+ID4gU2VudDogTW9u ZGF5LCBNYXkgMjQsIDIwMjEgMjoyNSBBTQ0KPiA+ID4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlv DQo+ID4gPiBDYzogS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29t PjsgTGltaW5nIEdhbyA8Z2FvbGltaW5nQGJ5b3NvZnQuY29tLmNuPg0KPiA+ID4gU3ViamVjdDog W2VkazItZGV2ZWxdIFtQQVRDSCAxLzJdIE1kZVBrZzogU3RhbmRhbG9uZSBQQ0QgZHJpdmVyDQo+ ID4gPg0KPiA+ID4gQWRkIGEgZmVhdHVyZSBQQ0QgdG8gY29udHJvbCBpZiB0aGUgUENEIGRyaXZl ciBpcyBidWlsZCBhcyBzdGFuZGFsb25lIG1vZGUuDQo+ID4gPiBUaGlzIHdheSwgdHdvIG1vZGUg UENEIGRyaXZlciB3b24ndCBzaGFyZSB0aGUgZGF0YSBiYXNlLg0KPiA+ID4NCj4gPiA+IENjOiBN aWNoYWVsIEQgS2lubmV5IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4gPiA+IENjOiBM aW1pbmcgR2FvIDxnYW9saW1pbmdAYnlvc29mdC5jb20uY24+DQo+ID4gPiBTaWduZWQtb2ZmLWJ5 OiBaaGlndWFuZyBMaXUgPHpoaWd1YW5nLmxpdUBpbnRlbC5jb20+DQo+ID4gPiAtLS0NCj4gPiA+ ICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1BDRC9EeGUvUGNkLmMgICAgICAgfCA3NSArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0t LS0NCj4gPiAtLS0tLS0tDQo+ID4gPiAtLQ0KPiA+ID4gIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwv UENEL0R4ZS9QY2QuaW5mICAgICB8IDE2ICsrKysrKysrKysrKy0tLS0NCj4gPiA+ICBNZGVNb2R1 bGVQa2cvVW5pdmVyc2FsL1BDRC9EeGUvU2VydmljZS5jICAgfCAgNyArKysrKystDQo+ID4gPiAg TWRlUGtnL0luY2x1ZGUvUHJvdG9jb2wvUGNkLmggICAgICAgICAgICAgIHwgIDUgLS0tLS0NCj4g PiA+ICBNZGVQa2cvSW5jbHVkZS9Qcm90b2NvbC9QY2RJbmZvLmggICAgICAgICAgfCAgNSAtLS0t LQ0KPiA+ID4gIE1kZVBrZy9MaWJyYXJ5L0R4ZVBjZExpYi9EeGVQY2RMaWIuYyAgICAgICB8IDI0 ICsrKysrKysrKysrKysrKysrKysrLS0tLQ0KPiA+ID4gIE1kZVBrZy9MaWJyYXJ5L0R4ZVBjZExp Yi9EeGVQY2RMaWIuaW5mICAgICB8IDE2ICsrKysrKysrKysrKy0tLS0NCj4gPiA+ICBNZGVQa2cv TGlicmFyeS9EeGVQY2RMaWIvUGF5bG9hZFBjZExpYi5pbmYgfCA3MQ0KPiA+ICsrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrDQo+ID4gPiAgTWRlUGtnL01kZVBrZy5kZWMgICAgICAgICAgICAgICAgICAgICAgICAgIHwg MTIgKysrKysrKysrKysrDQo+ID4gPiAgOSBmaWxlcyBjaGFuZ2VkLCAxODQgaW5zZXJ0aW9ucygr KSwgNDcgZGVsZXRpb25zKC0pDQo+ID4gPg0KPiA+ID4gZGlmZiAtLWdpdCBhL01kZU1vZHVsZVBr Zy9Vbml2ZXJzYWwvUENEL0R4ZS9QY2QuYyBiL01kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvUENEL0R4 ZS9QY2QuYw0KPiA+ID4gaW5kZXggY2RiOWI0ZmFjMS4uZGM5YzRiZTAyMiAxMDA2NDQNCj4gPiA+ IC0tLSBhL01kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvUENEL0R4ZS9QY2QuYw0KPiA+ID4gKysrIGIv TWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9QQ0QvRHhlL1BjZC5jDQo+ID4gPiBAQCAtMTI5LDM0ICsx MjksNjEgQEAgUGNkRHhlSW5pdCAoDQo+ID4gPiAgICAvLw0KPiA+ID4NCj4gPiA+ICAgIC8vIE1h a2Ugc3VyZSB0aGUgUGNkIFByb3RvY29sIGlzIG5vdCBhbHJlYWR5IGluc3RhbGxlZCBpbiB0aGUg c3lzdGVtDQo+ID4gPg0KPiA+ID4gICAgLy8NCj4gPiA+DQo+ID4gPiArICBpZiAoRmVhdHVyZVBj ZEdldCAoUGNkU3RhbmRhbG9uZVBjZERhdGFiYXNlRW5hYmxlKSkgew0KPiA+ID4NCj4gPiA+ICsg ICAgQVNTRVJUX1BST1RPQ09MX0FMUkVBRFlfSU5TVEFMTEVEIChOVUxMLCAmZ0Vka2lpUGF5bG9h ZFN0YW5kYWxvbmVQY2RQcm90b2NvbEd1aWQpOw0KPiA+ID4NCj4gPiA+ICsgICAgQnVpbGRQY2RE eGVEYXRhQmFzZSAoKTsNCj4gPiA+DQo+ID4gPg0KPiA+ID4NCj4gPiA+IC0gIEFTU0VSVF9QUk9U T0NPTF9BTFJFQURZX0lOU1RBTExFRCAoTlVMTCwgJmdQY2RQcm90b2NvbEd1aWQpOw0KPiA+ID4N Cj4gPiA+ICsgICAgLy8NCj4gPiA+DQo+ID4gPiArICAgIC8vIEluc3RhbGwgUENEX1BST1RPQ09M IHRvIGhhbmRsZSBkeW5hbWljIHR5cGUgUENEDQo+ID4gPg0KPiA+ID4gKyAgICAvLyBJbnN0YWxs IEVGSV9QQ0RfUFJPVE9DT0wgdG8gaGFuZGxlIGR5bmFtaWNFeCB0eXBlIFBDRA0KPiA+ID4NCj4g PiA+ICsgICAgLy8NCj4gPiA+DQo+ID4gPiArICAgIFN0YXR1cyA9IGdCUy0+SW5zdGFsbE11bHRp cGxlUHJvdG9jb2xJbnRlcmZhY2VzICgNCj4gPiA+DQo+ID4gPiArICAgICAgICAgICAgICAgICAg ICAmbVBjZEhhbmRsZSwNCj4gPiA+DQo+ID4gPiArICAgICAgICAgICAgICAgICAgICAmZ0Vka2lp UGF5bG9hZFN0YW5kYWxvbmVQY2RQcm90b2NvbEd1aWQsICAgICAmbVBjZEluc3RhbmNlLA0KPiA+ ID4NCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICZnRWRraWlFZmlQYXlsb2FkU3RhbmRhbG9u ZVBjZFByb3RvY29sR3VpZCwgICZtRWZpUGNkSW5zdGFuY2UsDQo+ID4gPg0KPiA+ID4gKyAgICAg ICAgICAgICAgICAgICAgTlVMTA0KPiA+ID4NCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICk7 DQo+ID4gPg0KPiA+ID4gKyAgICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPiA+ID4NCj4g PiA+DQo+ID4gPg0KPiA+ID4gLSAgQnVpbGRQY2REeGVEYXRhQmFzZSAoKTsNCj4gPiA+DQo+ID4g PiArICAgIC8vDQo+ID4gPg0KPiA+ID4gKyAgICAvLyBJbnN0YWxsIEdFVF9QQ0RfSU5GT19QUk9U T0NPTCB0byBoYW5kbGUgZHluYW1pYyB0eXBlIFBDRA0KPiA+ID4NCj4gPiA+ICsgICAgLy8gSW5z dGFsbCBFRklfR0VUX1BDRF9JTkZPX1BST1RPQ09MIHRvIGhhbmRsZSBkeW5hbWljRXggdHlwZSBQ Q0QNCj4gPiA+DQo+ID4gPiArICAgIC8vDQo+ID4gPg0KPiA+ID4gKyAgICBTdGF0dXMgPSBnQlMt Pkluc3RhbGxNdWx0aXBsZVByb3RvY29sSW50ZXJmYWNlcyAoDQo+ID4gPg0KPiA+ID4gKyAgICAg ICAgICAgICAgICAgICAgJm1QY2RIYW5kbGUsDQo+ID4gPg0KPiA+ID4gKyAgICAgICAgICAgICAg ICAgICAgJmdFZGtpaVBheWxvYWRHZXRTdGFuZGFsb25lUGNkSW5mb1Byb3RvY29sR3VpZCwgICAg ICZtR2V0UGNkSW5mb0luc3RhbmNlLA0KPiA+ID4NCj4gPiA+ICsgICAgICAgICAgICAgICAgICAg ICZnRWRraWlFZmlQYXlsb2FkR2V0U3RhbmRhbG9uZVBjZEluZm9Qcm90b2NvbEd1aWQsICAmbUVm aUdldFBjZEluZm9JbnN0YW5jZSwNCj4gPiA+DQo+ID4gPiArICAgICAgICAgICAgICAgICAgICBO VUxMDQo+ID4gPg0KPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgKTsNCj4gPiA+DQo+ID4gPiAr ICAgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ID4gPg0KPiA+ID4gKyAgfSBlbHNlIHsN Cj4gPiA+DQo+ID4gPiArICAgIEFTU0VSVF9QUk9UT0NPTF9BTFJFQURZX0lOU1RBTExFRCAoTlVM TCwgJmdQY2RQcm90b2NvbEd1aWQpOw0KPiA+ID4NCj4gPiA+ICsgICAgQnVpbGRQY2REeGVEYXRh QmFzZSAoKTsNCj4gPiA+DQo+ID4gPg0KPiA+ID4NCj4gPiA+IC0gIC8vDQo+ID4gPg0KPiA+ID4g LSAgLy8gSW5zdGFsbCBQQ0RfUFJPVE9DT0wgdG8gaGFuZGxlIGR5bmFtaWMgdHlwZSBQQ0QNCj4g PiA+DQo+ID4gPiAtICAvLyBJbnN0YWxsIEVGSV9QQ0RfUFJPVE9DT0wgdG8gaGFuZGxlIGR5bmFt aWNFeCB0eXBlIFBDRA0KPiA+ID4NCj4gPiA+IC0gIC8vDQo+ID4gPg0KPiA+ID4gLSAgU3RhdHVz ID0gZ0JTLT5JbnN0YWxsTXVsdGlwbGVQcm90b2NvbEludGVyZmFjZXMgKA0KPiA+ID4NCj4gPiA+ IC0gICAgICAgICAgICAgICAgICAmbVBjZEhhbmRsZSwNCj4gPiA+DQo+ID4gPiAtICAgICAgICAg ICAgICAgICAgJmdQY2RQcm90b2NvbEd1aWQsICAgICAmbVBjZEluc3RhbmNlLA0KPiA+ID4NCj4g PiA+IC0gICAgICAgICAgICAgICAgICAmZ0VmaVBjZFByb3RvY29sR3VpZCwgICZtRWZpUGNkSW5z dGFuY2UsDQo+ID4gPg0KPiA+ID4gLSAgICAgICAgICAgICAgICAgIE5VTEwNCj4gPiA+DQo+ID4g PiAtICAgICAgICAgICAgICAgICAgKTsNCj4gPiA+DQo+ID4gPiAtICBBU1NFUlRfRUZJX0VSUk9S IChTdGF0dXMpOw0KPiA+ID4NCj4gPiA+ICsgICAgLy8NCj4gPiA+DQo+ID4gPiArICAgIC8vIElu c3RhbGwgUENEX1BST1RPQ09MIHRvIGhhbmRsZSBkeW5hbWljIHR5cGUgUENEDQo+ID4gPg0KPiA+ ID4gKyAgICAvLyBJbnN0YWxsIEVGSV9QQ0RfUFJPVE9DT0wgdG8gaGFuZGxlIGR5bmFtaWNFeCB0 eXBlIFBDRA0KPiA+ID4NCj4gPiA+ICsgICAgLy8NCj4gPiA+DQo+ID4gPiArICAgIFN0YXR1cyA9 IGdCUy0+SW5zdGFsbE11bHRpcGxlUHJvdG9jb2xJbnRlcmZhY2VzICgNCj4gPiA+DQo+ID4gPiAr ICAgICAgICAgICAgICAgICAgICAmbVBjZEhhbmRsZSwNCj4gPiA+DQo+ID4gPiArICAgICAgICAg ICAgICAgICAgICAmZ1BjZFByb3RvY29sR3VpZCwgICAgICZtUGNkSW5zdGFuY2UsDQo+ID4gPg0K PiA+ID4gKyAgICAgICAgICAgICAgICAgICAgJmdFZmlQY2RQcm90b2NvbEd1aWQsICAmbUVmaVBj ZEluc3RhbmNlLA0KPiA+ID4NCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgIE5VTEwNCj4gPiA+ DQo+ID4gPiArICAgICAgICAgICAgICAgICAgICApOw0KPiA+ID4NCj4gPiA+ICsgICAgQVNTRVJU X0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4gPiA+DQo+ID4gPg0KPiA+ID4NCj4gPiA+IC0gIC8vDQo+ ID4gPg0KPiA+ID4gLSAgLy8gSW5zdGFsbCBHRVRfUENEX0lORk9fUFJPVE9DT0wgdG8gaGFuZGxl IGR5bmFtaWMgdHlwZSBQQ0QNCj4gPiA+DQo+ID4gPiAtICAvLyBJbnN0YWxsIEVGSV9HRVRfUENE X0lORk9fUFJPVE9DT0wgdG8gaGFuZGxlIGR5bmFtaWNFeCB0eXBlIFBDRA0KPiA+ID4NCj4gPiA+ IC0gIC8vDQo+ID4gPg0KPiA+ID4gLSAgU3RhdHVzID0gZ0JTLT5JbnN0YWxsTXVsdGlwbGVQcm90 b2NvbEludGVyZmFjZXMgKA0KPiA+ID4NCj4gPiA+IC0gICAgICAgICAgICAgICAgICAmbVBjZEhh bmRsZSwNCj4gPiA+DQo+ID4gPiAtICAgICAgICAgICAgICAgICAgJmdHZXRQY2RJbmZvUHJvdG9j b2xHdWlkLCAgICAgJm1HZXRQY2RJbmZvSW5zdGFuY2UsDQo+ID4gPg0KPiA+ID4gLSAgICAgICAg ICAgICAgICAgICZnRWZpR2V0UGNkSW5mb1Byb3RvY29sR3VpZCwgICZtRWZpR2V0UGNkSW5mb0lu c3RhbmNlLA0KPiA+ID4NCj4gPiA+IC0gICAgICAgICAgICAgICAgICBOVUxMDQo+ID4gPg0KPiA+ ID4gLSAgICAgICAgICAgICAgICAgICk7DQo+ID4gPg0KPiA+ID4gLSAgQVNTRVJUX0VGSV9FUlJP UiAoU3RhdHVzKTsNCj4gPiA+DQo+ID4gPiArICAgIC8vDQo+ID4gPg0KPiA+ID4gKyAgICAvLyBJ bnN0YWxsIEdFVF9QQ0RfSU5GT19QUk9UT0NPTCB0byBoYW5kbGUgZHluYW1pYyB0eXBlIFBDRA0K PiA+ID4NCj4gPiA+ICsgICAgLy8gSW5zdGFsbCBFRklfR0VUX1BDRF9JTkZPX1BST1RPQ09MIHRv IGhhbmRsZSBkeW5hbWljRXggdHlwZSBQQ0QNCj4gPiA+DQo+ID4gPiArICAgIC8vDQo+ID4gPg0K PiA+ID4gKyAgICBTdGF0dXMgPSBnQlMtPkluc3RhbGxNdWx0aXBsZVByb3RvY29sSW50ZXJmYWNl cyAoDQo+ID4gPg0KPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgJm1QY2RIYW5kbGUsDQo+ID4g Pg0KPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgJmdHZXRQY2RJbmZvUHJvdG9jb2xHdWlkLCAg ICAgJm1HZXRQY2RJbmZvSW5zdGFuY2UsDQo+ID4gPg0KPiA+ID4gKyAgICAgICAgICAgICAgICAg ICAgJmdFZmlHZXRQY2RJbmZvUHJvdG9jb2xHdWlkLCAgJm1FZmlHZXRQY2RJbmZvSW5zdGFuY2Us DQo+ID4gPg0KPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgTlVMTA0KPiA+ID4NCj4gPiA+ICsg ICAgICAgICAgICAgICAgICAgICk7DQo+ID4gPg0KPiA+ID4gKyAgICBBU1NFUlRfRUZJX0VSUk9S IChTdGF0dXMpOw0KPiA+ID4NCj4gPiA+ICsgIH0NCj4gPiA+DQo+ID4gPg0KPiA+ID4NCj4gPiA+ ICAgIC8vDQo+ID4gPg0KPiA+ID4gICAgLy8gUmVnaXN0ZXIgY2FsbGJhY2sgZnVuY3Rpb24gdXBv biBWYXJpYWJsZUxvY2tQcm90b2NvbA0KPiA+ID4NCj4gPiA+IGRpZmYgLS1naXQgYS9NZGVNb2R1 bGVQa2cvVW5pdmVyc2FsL1BDRC9EeGUvUGNkLmluZiBiL01kZU1vZHVsZVBrZy9Vbml2ZXJzYWwv UENEL0R4ZS9QY2QuaW5mDQo+ID4gPiBpbmRleCBlYjlmNzU3ZjE0Li5mM2U3MDRmMDgzIDEwMDY0 NA0KPiA+ID4gLS0tIGEvTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9QQ0QvRHhlL1BjZC5pbmYNCj4g PiA+ICsrKyBiL01kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvUENEL0R4ZS9QY2QuaW5mDQo+ID4gPiBA QCAtMzI5LDEwICszMjksMTUgQEANCj4gPiA+ICAgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNl R3VpZCAgICAgICAgICAgICAgICAjIyBTT01FVElNRVNfQ09OU1VNRVMgICMjIEdVSUQNCj4gPiA+ DQo+ID4gPg0KPiA+ID4NCj4gPiA+ICBbUHJvdG9jb2xzXQ0KPiA+ID4NCj4gPiA+IC0gIGdQY2RQ cm90b2NvbEd1aWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIyBQUk9EVUNFUw0KPiA+ ID4NCj4gPiA+IC0gIGdFZmlQY2RQcm90b2NvbEd1aWQgICAgICAgICAgICAgICAgICAgICAgICAg ICAjIyBQUk9EVUNFUw0KPiA+ID4NCj4gPiA+IC0gIGdHZXRQY2RJbmZvUHJvdG9jb2xHdWlkICAg ICAgICAgICAgICAgICAgICAgICAjIyBTT01FVElNRVNfUFJPRFVDRVMNCj4gPiA+DQo+ID4gPiAt ICBnRWZpR2V0UGNkSW5mb1Byb3RvY29sR3VpZCAgICAgICAgICAgICAgICAgICAgIyMgU09NRVRJ TUVTX1BST0RVQ0VTDQo+ID4gPg0KPiA+ID4gKyAgZ1BjZFByb3RvY29sR3VpZCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICMjIFBST0RVQ0VTDQo+ID4gPg0KPiA+ID4gKyAgZ0VmaVBj ZFByb3RvY29sR3VpZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMjIFBST0RVQ0VTDQo+ ID4gPg0KPiA+ID4gKyAgZ0dldFBjZEluZm9Qcm90b2NvbEd1aWQgICAgICAgICAgICAgICAgICAg ICAgICAgICMjIFNPTUVUSU1FU19QUk9EVUNFUw0KPiA+ID4NCj4gPiA+ICsgIGdFZmlHZXRQY2RJ bmZvUHJvdG9jb2xHdWlkICAgICAgICAgICAgICAgICAgICAgICAjIyBTT01FVElNRVNfUFJPRFVD RVMNCj4gPiA+DQo+ID4gPiArDQo+ID4gPg0KPiA+ID4gKyAgZ0Vka2lpUGF5bG9hZFN0YW5kYWxv bmVQY2RQcm90b2NvbEd1aWQgICAgICAgICAgICMjIFBST0RVQ0VTDQo+ID4gPg0KPiA+ID4gKyAg Z0Vka2lpRWZpUGF5bG9hZFN0YW5kYWxvbmVQY2RQcm90b2NvbEd1aWQgICAgICAgICMjIFBST0RV Q0VTDQo+ID4gPg0KPiA+ID4gKyAgZ0Vka2lpUGF5bG9hZEdldFN0YW5kYWxvbmVQY2RJbmZvUHJv dG9jb2xHdWlkICAgICMjIFNPTUVUSU1FU19QUk9EVUNFUw0KPiA+ID4NCj4gPiA+ICsgIGdFZGtp aUVmaVBheWxvYWRHZXRTdGFuZGFsb25lUGNkSW5mb1Byb3RvY29sR3VpZCAjIyBTT01FVElNRVNf UFJPRFVDRVMNCj4gPiA+DQo+ID4gPiAgICAjIyBOT1RJRlkNCj4gPiA+DQo+ID4gPiAgICAjIyBT T01FVElNRVNfQ09OU1VNRVMNCj4gPiA+DQo+ID4gPiAgICBnRWRraWlWYXJpYWJsZUxvY2tQcm90 b2NvbEd1aWQNCj4gPiA+DQo+ID4gPiBAQCAtMzQyLDYgKzM0Nyw5IEBADQo+ID4gPiAgICBnRWZp TWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkVnBkQmFzZUFkZHJlc3M2NCAgICAjIyBTT01F VElNRVNfQ09OU1VNRVMNCj4gPiA+DQo+ID4gPiAgICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFj ZUd1aWQuUGNkU2V0TnZTdG9yZURlZmF1bHRJZCAjIyBTT01FVElNRVNfQ09OU1VNRVMNCj4gPiA+ DQo+ID4gPg0KPiA+ID4NCj4gPiA+ICtbRmVhdHVyZVBjZF0NCj4gPiA+DQo+ID4gPiArICBnRWZp TWRlUGtnVG9rZW5TcGFjZUd1aWQuUGNkU3RhbmRhbG9uZVBjZERhdGFiYXNlRW5hYmxlICMjIENP TlNVTUVTDQo+ID4gPg0KPiA+ID4gKw0KPiA+ID4NCj4gPiA+ICBbRGVwZXhdDQo+ID4gPg0KPiA+ ID4gICAgVFJVRQ0KPiA+ID4NCj4gPiA+DQo+ID4gPg0KPiA+ID4gZGlmZiAtLWdpdCBhL01kZU1v ZHVsZVBrZy9Vbml2ZXJzYWwvUENEL0R4ZS9TZXJ2aWNlLmMgYi9NZGVNb2R1bGVQa2cvVW5pdmVy c2FsL1BDRC9EeGUvU2VydmljZS5jDQo+ID4gPiBpbmRleCBlYTdlZGMzY2JiLi5mZTE2YmE3MTNi IDEwMDY0NA0KPiA+ID4gLS0tIGEvTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9QQ0QvRHhlL1NlcnZp Y2UuYw0KPiA+ID4gKysrIGIvTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9QQ0QvRHhlL1NlcnZpY2Uu Yw0KPiA+ID4gQEAgLTg2MSw3ICs4NjEsMTIgQEAgQnVpbGRQY2REeGVEYXRhQmFzZSAoDQo+ID4g PiAgICBDb3B5TWVtIChQY2REeGVEYiwgbVBjZERhdGFiYXNlLkR4ZURiLCBtUGNkRGF0YWJhc2Uu RHhlRGItPkxlbmd0aCk7DQo+ID4gPg0KPiA+ID4gICAgbVBjZERhdGFiYXNlLkR4ZURiID0gUGNk RHhlRGI7DQo+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4gPiAtICBHdWlkSG9iID0gR2V0Rmlyc3RH dWlkSG9iICgmZ1BjZERhdGFCYXNlSG9iR3VpZCk7DQo+ID4gPg0KPiA+ID4gKyAgaWYgKEZlYXR1 cmVQY2RHZXQgKFBjZFN0YW5kYWxvbmVQY2REYXRhYmFzZUVuYWJsZSkpIHsNCj4gPiA+DQo+ID4g PiArICAgIEd1aWRIb2IgPSBOVUxMOw0KPiA+ID4NCj4gPiA+ICsgIH0gZWxzZSB7DQo+ID4gPg0K PiA+ID4gKyAgICBHdWlkSG9iID0gR2V0Rmlyc3RHdWlkSG9iICgmZ1BjZERhdGFCYXNlSG9iR3Vp ZCk7DQo+ID4gPg0KPiA+ID4gKyAgfQ0KPiA+ID4NCj4gPiA+ICsNCj4gPiA+DQo+ID4gPiAgICBp ZiAoR3VpZEhvYiAhPSBOVUxMKSB7DQo+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4gPiAgICAgIC8v DQo+ID4gPg0KPiA+ID4gZGlmZiAtLWdpdCBhL01kZVBrZy9JbmNsdWRlL1Byb3RvY29sL1BjZC5o IGIvTWRlUGtnL0luY2x1ZGUvUHJvdG9jb2wvUGNkLmgNCj4gPiA+IGluZGV4IDljZDFhOTk4Zjgu LmNmYTZhYzIzNjAgMTAwNjQ0DQo+ID4gPiAtLS0gYS9NZGVQa2cvSW5jbHVkZS9Qcm90b2NvbC9Q Y2QuaA0KPiA+ID4gKysrIGIvTWRlUGtnL0luY2x1ZGUvUHJvdG9jb2wvUGNkLmgNCj4gPiA+IEBA IC0xNywxMSArMTcsNiBAQCBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBh dGVudA0KPiA+ID4gICNpZm5kZWYgX19QQ0RfSF9fDQo+ID4gPg0KPiA+ID4gICNkZWZpbmUgX19Q Q0RfSF9fDQo+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4gPiAtZXh0ZXJuIEVGSV9HVUlEIGdQY2RQ cm90b2NvbEd1aWQ7DQo+ID4gPg0KPiA+ID4gLQ0KPiA+ID4NCj4gPiA+IC0jZGVmaW5lIFBDRF9Q Uk9UT0NPTF9HVUlEIFwNCj4gPiA+DQo+ID4gPiAtICB7IDB4MTFiMzQwMDYsIDB4ZDg1YiwgMHg0 ZDBhLCB7IDB4YTIsIDB4OTAsIDB4ZDUsIDB4YTUsIDB4NzEsIDB4MzEsIDB4ZSwgMHhmNyB9IH0N Cj4gPiA+DQo+ID4gPiAtDQo+ID4gPg0KPiA+ID4gICNkZWZpbmUgUENEX0lOVkFMSURfVE9LRU5f TlVNQkVSICgoVUlOVE4pIDApDQo+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4gPg0KPiA+ID4NCj4g PiA+IGRpZmYgLS1naXQgYS9NZGVQa2cvSW5jbHVkZS9Qcm90b2NvbC9QY2RJbmZvLmggYi9NZGVQ a2cvSW5jbHVkZS9Qcm90b2NvbC9QY2RJbmZvLmgNCj4gPiA+IGluZGV4IGIwZWM3ZjY3NzAuLjU2 OTEyMTVjNDIgMTAwNjQ0DQo+ID4gPiAtLS0gYS9NZGVQa2cvSW5jbHVkZS9Qcm90b2NvbC9QY2RJ bmZvLmgNCj4gPiA+ICsrKyBiL01kZVBrZy9JbmNsdWRlL1Byb3RvY29sL1BjZEluZm8uaA0KPiA+ ID4gQEAgLTE5LDExICsxOSw2IEBADQo+ID4gPiAgI2lmbmRlZiBfX1BDRF9JTkZPX0hfXw0KPiA+ ID4NCj4gPiA+ICAjZGVmaW5lIF9fUENEX0lORk9fSF9fDQo+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ ID4gPiAtZXh0ZXJuIEVGSV9HVUlEIGdHZXRQY2RJbmZvUHJvdG9jb2xHdWlkOw0KPiA+ID4NCj4g PiA+IC0NCj4gPiA+DQo+ID4gPiAtI2RlZmluZSBHRVRfUENEX0lORk9fUFJPVE9DT0xfR1VJRCBc DQo+ID4gPg0KPiA+ID4gLSAgeyAweDViZTQwZjU3LCAweGZhNjgsIDB4NDYxMCwgeyAweGJiLCAw eGJmLCAweGU5LCAweGM1LCAweGZjLCAweGRhLCAweGQzLCAweDY1IH0gfQ0KPiA+ID4NCj4gPiA+ IC0NCj4gPiA+DQo+ID4gPiAgLy8vDQo+ID4gPg0KPiA+ID4gIC8vLyBUaGUgZm9yd2FyZCBkZWNs YXJhdGlvbiBmb3IgR0VUX1BDRF9JTkZPX1BST1RPQ09MLg0KPiA+ID4NCj4gPiA+ICAvLy8NCj4g PiA+DQo+ID4gPiBkaWZmIC0tZ2l0IGEvTWRlUGtnL0xpYnJhcnkvRHhlUGNkTGliL0R4ZVBjZExp Yi5jIGIvTWRlUGtnL0xpYnJhcnkvRHhlUGNkTGliL0R4ZVBjZExpYi5jDQo+ID4gPiBpbmRleCAy YWNjYWVkYTJjLi44YTYxNDg2ODMyIDEwMDY0NA0KPiA+ID4gLS0tIGEvTWRlUGtnL0xpYnJhcnkv RHhlUGNkTGliL0R4ZVBjZExpYi5jDQo+ID4gPiArKysgYi9NZGVQa2cvTGlicmFyeS9EeGVQY2RM aWIvRHhlUGNkTGliLmMNCj4gPiA+IEBAIC00Myw3ICs0MywxMSBAQCBHZXRQaVBjZFByb3RvY29s ICgNCj4gPiA+ICAgICAgLy8gUEkgUGNkIHByb3RvY29sIGRlZmluZWQgaW4gUEkgMS4yIHZvbDMg c2hvdWxkIGJlIGluc3RhbGxlZCBiZWZvcmUgdGhlIG1vZHVsZQ0KPiA+ID4NCj4gPiA+ICAgICAg Ly8gYWNjZXNzIER5bmFtaWNFeCB0eXBlIFBDRC4NCj4gPiA+DQo+ID4gPiAgICAgIC8vDQo+ID4g Pg0KPiA+ID4gLSAgICBTdGF0dXMgPSBnQlMtPkxvY2F0ZVByb3RvY29sICgmZ0VmaVBjZFByb3Rv Y29sR3VpZCwgTlVMTCwgKFZPSUQgKiopICZtUGlQY2QpOw0KPiA+ID4NCj4gPiA+ICsgICAgaWYg KEZlYXR1cmVQY2RHZXQgKFBjZFN0YW5kYWxvbmVQY2REYXRhYmFzZUVuYWJsZSkpIHsNCj4gPiA+ DQo+ID4gPiArICAgICAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVQcm90b2NvbCAoJmdFZGtpaUVmaVBh eWxvYWRTdGFuZGFsb25lUGNkUHJvdG9jb2xHdWlkLCBOVUxMLCAoVk9JRCAqKikgJm1QaVBjZCk7 DQo+ID4gPg0KPiA+ID4gKyAgICB9IGVsc2Ugew0KPiA+ID4NCj4gPiA+ICsgICAgICBTdGF0dXMg PSBnQlMtPkxvY2F0ZVByb3RvY29sICgmZ0VmaVBjZFByb3RvY29sR3VpZCwgTlVMTCwgKFZPSUQg KiopICZtUGlQY2QpOw0KPiA+ID4NCj4gPiA+ICsgICAgfQ0KPiA+ID4NCj4gPiA+ICAgICAgQVNT RVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4gPiA+DQo+ID4gPiAgICAgIEFTU0VSVCAobVBpUGNk ICE9IE5VTEwpOw0KPiA+ID4NCj4gPiA+ICAgIH0NCj4gPiA+DQo+ID4gPiBAQCAtNjgsNyArNzIs MTEgQEAgR2V0UGNkUHJvdG9jb2wgKA0KPiA+ID4gICAgICAvLyBQQ0QgcHJvdG9jb2wgbmVlZCB0 byBiZSBpbnN0YWxsZWQgYmVmb3JlIHRoZSBtb2R1bGUgYWNjZXNzIER5bmFtaWMgdHlwZSBQQ0Qu DQo+ID4gPg0KPiA+ID4gICAgICAvLyBCdXQgZHluYW1pYyB0eXBlIFBDRCBpcyBub3QgcmVxdWly ZWQgaW4gUEkgMS4yIHNwZWNpZmljYXRpb24uDQo+ID4gPg0KPiA+ID4gICAgICAvLw0KPiA+ID4N Cj4gPiA+IC0gICAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVQcm90b2NvbCAoJmdQY2RQcm90b2NvbEd1 aWQsIE5VTEwsIChWT0lEICoqKSZtUGNkKTsNCj4gPiA+DQo+ID4gPiArICAgIGlmIChGZWF0dXJl UGNkR2V0IChQY2RTdGFuZGFsb25lUGNkRGF0YWJhc2VFbmFibGUpKSB7DQo+ID4gPg0KPiA+ID4g KyAgICAgIFN0YXR1cyA9IGdCUy0+TG9jYXRlUHJvdG9jb2wgKCZnRWRraWlQYXlsb2FkU3RhbmRh bG9uZVBjZFByb3RvY29sR3VpZCwgTlVMTCwgKFZPSUQgKiopJm1QY2QpOw0KPiA+ID4NCj4gPiA+ ICsgICAgfSBlbHNlIHsNCj4gPiA+DQo+ID4gPiArICAgICAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVQ cm90b2NvbCAoJmdQY2RQcm90b2NvbEd1aWQsIE5VTEwsIChWT0lEICoqKSZtUGNkKTsNCj4gPiA+ DQo+ID4gPiArICAgIH0NCj4gPiA+DQo+ID4gPiAgICAgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1 cyk7DQo+ID4gPg0KPiA+ID4gICAgICBBU1NFUlQgKG1QY2QgIT0gTlVMTCk7DQo+ID4gPg0KPiA+ ID4gICAgfQ0KPiA+ID4NCj4gPiA+IEBAIC04OCw3ICs5NiwxMSBAQCBHZXRQaVBjZEluZm9Qcm90 b2NvbFBvaW50ZXIgKA0KPiA+ID4gICAgRUZJX1NUQVRVUyAgU3RhdHVzOw0KPiA+ID4NCj4gPiA+ DQo+ID4gPg0KPiA+ID4gICAgaWYgKG1QaVBjZEluZm8gPT0gTlVMTCkgew0KPiA+ID4NCj4gPiA+ IC0gICAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVQcm90b2NvbCAoJmdFZmlHZXRQY2RJbmZvUHJvdG9j b2xHdWlkLCBOVUxMLCAoVk9JRCAqKikmbVBpUGNkSW5mbyk7DQo+ID4gPg0KPiA+ID4gKyAgICBp ZiAoRmVhdHVyZVBjZEdldCAoUGNkU3RhbmRhbG9uZVBjZERhdGFiYXNlRW5hYmxlKSkgew0KPiA+ ID4NCj4gPiA+ICsgICAgICBTdGF0dXMgPSBnQlMtPkxvY2F0ZVByb3RvY29sICgmZ0Vka2lpRWZp UGF5bG9hZEdldFN0YW5kYWxvbmVQY2RJbmZvUHJvdG9jb2xHdWlkLCBOVUxMLCAoVk9JRCAqKikm bVBpUGNkSW5mbyk7DQo+ID4gPg0KPiA+ID4gKyAgICB9IGVsc2V7DQo+ID4gPg0KPiA+ID4gKyAg ICAgIFN0YXR1cyA9IGdCUy0+TG9jYXRlUHJvdG9jb2wgKCZnRWZpR2V0UGNkSW5mb1Byb3RvY29s R3VpZCwgTlVMTCwgKFZPSUQgKiopJm1QaVBjZEluZm8pOw0KPiA+ID4NCj4gPiA+ICsgICAgfQ0K PiA+ID4NCj4gPiA+ICAgICAgQVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4gPiA+DQo+ID4g PiAgICAgIEFTU0VSVCAobVBpUGNkSW5mbyAhPSBOVUxMKTsNCj4gPiA+DQo+ID4gPiAgICB9DQo+ ID4gPg0KPiA+ID4gQEAgLTEwOCw3ICsxMjAsMTEgQEAgR2V0UGNkSW5mb1Byb3RvY29sUG9pbnRl ciAoDQo+ID4gPiAgICBFRklfU1RBVFVTICBTdGF0dXM7DQo+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ ID4gPiAgICBpZiAobVBjZEluZm8gPT0gTlVMTCkgew0KPiA+ID4NCj4gPiA+IC0gICAgU3RhdHVz ID0gZ0JTLT5Mb2NhdGVQcm90b2NvbCAoJmdHZXRQY2RJbmZvUHJvdG9jb2xHdWlkLCBOVUxMLCAo Vk9JRCAqKikmbVBjZEluZm8pOw0KPiA+ID4NCj4gPiA+ICsgICAgaWYgKEZlYXR1cmVQY2RHZXQg KFBjZFN0YW5kYWxvbmVQY2REYXRhYmFzZUVuYWJsZSkpIHsNCj4gPiA+DQo+ID4gPiArICAgICAg U3RhdHVzID0gZ0JTLT5Mb2NhdGVQcm90b2NvbCAoJmdFZGtpaVBheWxvYWRHZXRTdGFuZGFsb25l UGNkSW5mb1Byb3RvY29sR3VpZCwgTlVMTCwgKFZPSUQgKiopJm1QY2RJbmZvKTsNCj4gPiA+DQo+ ID4gPiArICAgIH0gZWxzZSB7DQo+ID4gPg0KPiA+ID4gKyAgICAgIFN0YXR1cyA9IGdCUy0+TG9j YXRlUHJvdG9jb2wgKCZnR2V0UGNkSW5mb1Byb3RvY29sR3VpZCwgTlVMTCwgKFZPSUQgKiopJm1Q Y2RJbmZvKTsNCj4gPiA+DQo+ID4gPiArICAgIH0NCj4gPiA+DQo+ID4gPiAgICAgIEFTU0VSVF9F RklfRVJST1IgKFN0YXR1cyk7DQo+ID4gPg0KPiA+ID4gICAgICBBU1NFUlQgKG1QY2RJbmZvICE9 IE5VTEwpOw0KPiA+ID4NCj4gPiA+ICAgIH0NCj4gPiA+DQo+ID4gPiBkaWZmIC0tZ2l0IGEvTWRl UGtnL0xpYnJhcnkvRHhlUGNkTGliL0R4ZVBjZExpYi5pbmYgYi9NZGVQa2cvTGlicmFyeS9EeGVQ Y2RMaWIvRHhlUGNkTGliLmluZg0KPiA+ID4gaW5kZXggM2Q0ZDIxYjQ0Mi4uNTlkOWZlNGYxMSAx MDA2NDQNCj4gPiA+IC0tLSBhL01kZVBrZy9MaWJyYXJ5L0R4ZVBjZExpYi9EeGVQY2RMaWIuaW5m DQo+ID4gPiArKysgYi9NZGVQa2cvTGlicmFyeS9EeGVQY2RMaWIvRHhlUGNkTGliLmluZg0KPiA+ ID4gQEAgLTUzLDEwICs1MywxOCBAQA0KPiA+ID4NCj4gPiA+DQo+ID4gPg0KPiA+ID4NCj4gPiA+ ICBbUHJvdG9jb2xzXQ0KPiA+ID4NCj4gPiA+IC0gIGdQY2RQcm90b2NvbEd1aWQgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAjIyBTT01FVElNRVNfQ09OU1VNRVMNCj4gPiA+DQo+ID4gPiAt ICBnRWZpUGNkUHJvdG9jb2xHdWlkICAgICAgICAgICAgICAgICAgICAgICAgICAgIyMgQ09OU1VN RVMNCj4gPiA+DQo+ID4gPiAtICBnR2V0UGNkSW5mb1Byb3RvY29sR3VpZCAgICAgICAgICAgICAg ICAgICAgICAgIyMgU09NRVRJTUVTX0NPTlNVTUVTDQo+ID4gPg0KPiA+ID4gLSAgZ0VmaUdldFBj ZEluZm9Qcm90b2NvbEd1aWQgICAgICAgICAgICAgICAgICAgICMjIFNPTUVUSU1FU19DT05TVU1F Uw0KPiA+ID4NCj4gPiA+ICsgIGdQY2RQcm90b2NvbEd1aWQgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAjIyBTT01FVElNRVNfQ09OU1VNRVMNCj4gPiA+DQo+ID4gPiArICBnRWZpUGNk UHJvdG9jb2xHdWlkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyMgU09NRVRJTUVTX0NP TlNVTUVTDQo+ID4gPg0KPiA+ID4gKyAgZ0dldFBjZEluZm9Qcm90b2NvbEd1aWQgICAgICAgICAg ICAgICAgICAgICAgICAgICMjIFNPTUVUSU1FU19DT05TVU1FUw0KPiA+ID4NCj4gPiA+ICsgIGdF ZmlHZXRQY2RJbmZvUHJvdG9jb2xHdWlkICAgICAgICAgICAgICAgICAgICAgICAjIyBTT01FVElN RVNfQ09OU1VNRVMNCj4gPiA+DQo+ID4gPiArDQo+ID4gPg0KPiA+ID4gKyAgZ0Vka2lpUGF5bG9h ZFN0YW5kYWxvbmVQY2RQcm90b2NvbEd1aWQgICAgICAgICAgICMjIFNPTUVUSU1FU19DT05TVU1F Uw0KPiA+ID4NCj4gPiA+ICsgIGdFZGtpaUVmaVBheWxvYWRTdGFuZGFsb25lUGNkUHJvdG9jb2xH dWlkICAgICAgICAjIyBTT01FVElNRVNfQ09OU1VNRVMNCj4gPiA+DQo+ID4gPiArICBnRWRraWlQ YXlsb2FkR2V0U3RhbmRhbG9uZVBjZEluZm9Qcm90b2NvbEd1aWQgICAgIyMgU09NRVRJTUVTX0NP TlNVTUVTDQo+ID4gPg0KPiA+ID4gKyAgZ0Vka2lpRWZpUGF5bG9hZEdldFN0YW5kYWxvbmVQY2RJ bmZvUHJvdG9jb2xHdWlkICMjIFNPTUVUSU1FU19DT05TVU1FUw0KPiA+ID4NCj4gPiA+ICsNCj4g PiA+DQo+ID4gPiArW0ZlYXR1cmVQY2RdDQo+ID4gPg0KPiA+ID4gKyAgZ0VmaU1kZVBrZ1Rva2Vu U3BhY2VHdWlkLlBjZFN0YW5kYWxvbmVQY2REYXRhYmFzZUVuYWJsZSAjIyBDT05TVU1FUw0KPiA+ ID4NCj4gPiA+DQo+ID4gPg0KPiA+ID4gIFtEZXBleC5jb21tb24uRFhFX0RSSVZFUiwgRGVwZXgu Y29tbW9uLkRYRV9SVU5USU1FX0RSSVZFUiwgRGVwZXguY29tbW9uLkRYRV9TQUxfRFJJVkVSLA0K PiA+IERlcGV4LmNvbW1vbi5EWEVfU01NX0RSSVZFUl0NCj4gPiA+DQo+ID4gPiAgICBnRWZpUGNk UHJvdG9jb2xHdWlkDQo+ID4gPg0KPiA+ID4gZGlmZiAtLWdpdCBhL01kZVBrZy9MaWJyYXJ5L0R4 ZVBjZExpYi9QYXlsb2FkUGNkTGliLmluZiBiL01kZVBrZy9MaWJyYXJ5L0R4ZVBjZExpYi9QYXls b2FkUGNkTGliLmluZg0KPiA+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gPiA+IGluZGV4IDAw MDAwMDAwMDAuLmU2MTI5NmUxMWENCj4gPiA+IC0tLSAvZGV2L251bGwNCj4gPiA+ICsrKyBiL01k ZVBrZy9MaWJyYXJ5L0R4ZVBjZExpYi9QYXlsb2FkUGNkTGliLmluZg0KPiA+ID4gQEAgLTAsMCAr MSw3MSBAQA0KPiA+ID4gKyMjIEBmaWxlDQo+ID4gPg0KPiA+ID4gKyMgSW5zdGFuY2Ugb2YgUENE IExpYnJhcnkgdXNpbmcgUENEIFByb3RvY29sLg0KPiA+ID4NCj4gPiA+ICsjDQo+ID4gPg0KPiA+ ID4gKyMgVGhlcmUgYXJlIHR3byBQQ0QgcHJvdG9jb2xzIGFzIGZvbGxvd3M6DQo+ID4gPg0KPiA+ ID4gKyMgICAxKSBQQ0RfUFJPVE9DT0wNCj4gPiA+DQo+ID4gPiArIyAgICAgIEl0IGlzIEVES0lJ IGltcGxlbWVudGF0aW9uIHdoaWNoIHN1cHBvcnQgRHluYW1pYy9EeW5hbWljRXggUGNkcy4NCj4g PiA+DQo+ID4gPiArIyAgIDIpIEVGSV9QQ0RfUFJPVE9DT0wNCj4gPiA+DQo+ID4gPiArIyAgICAg IEl0IGlzIGRlZmluZWQgYnkgUEkgc3BlY2lmaWNhdGlvbiAxLjIsIFZvbCAzIHdoaWNoIG9ubHkg c3VwcG9ydCBkeW5hbWljRXgNCj4gPiA+DQo+ID4gPiArIyAgICAgIHR5cGUgUGNkLg0KPiA+ID4N Cj4gPiA+ICsjDQo+ID4gPg0KPiA+ID4gKyMgRm9yIGR5bmFtaWNFeCB0eXBlIFBDRCwgaXQgaXMg Y29tcGF0aWJsZSBiZXR3ZWVuIFBDRF9QUk9UT0NPTCBhbmQgRUZJX1BDRF9QUk9UT0NPTC4NCj4g PiA+DQo+ID4gPiArIw0KPiA+ID4NCj4gPiA+ICsjIFRoaXMgbGlicmFyeSBpbnN0YW5jZSB1c2Vz IHRoZSBQQ0RfUFJPVE9DT0wgdG8gaGFuZGxlIGR5bmFtaWMgUENEIHJlcXVlc3QgYW5kIHVzZQ0K PiA+ID4NCj4gPiA+ICsjIEVGSV9QQ0RfUFJPVE9DT0wgdG8gaGFuZGxlIGR5bmFtaWNFeCB0eXBl IFBDRC4NCj4gPiA+DQo+ID4gPiArIw0KPiA+ID4NCj4gPiA+ICsjIE5vdGU6IEEgZHJpdmVyIG9m IHR5cGUgRFhFX1JVTlRJTUVfRFJJVkVSIGFuZCBEWEVfU01NX0RSSVZFUiBjYW4gb25seSB1c2Ug dGhpcyBEeGVQY2RMaWINCj4gPiA+DQo+ID4gPiArIyAgaW4gdGhlaXIgaW5pdGlhbGl6YXRpb24g d2l0aG91dCBhbnkgaXNzdWVzIHRvIGFjY2VzcyBEeW5hbWljIGFuZCBEeW5hbWljRXggUENELiBU aGV5IGNhbid0DQo+ID4gPg0KPiA+ID4gKyMgIGFjY2VzcyBEeW5hbWljIGFuZCBEeW5hbWljRXgg UENEIGluIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBydW50aW1lIHNlcnZpY2VzIGFuZCBTTUkgaGFu ZGxlcnMuDQo+ID4gPg0KPiA+ID4gKyMgIEJlY2F1c2UgRUZJX1BDRF9QUk9UT0NPTCBpcyBEWEUg cHJvdG9jb2wgdGhhdCBpcyBub3QgYXZhaWxhYmxlIGluIE9TIHJ1bnRpbWUgcGhhc2UuDQo+ID4g Pg0KPiA+ID4gKyMNCj4gPiA+DQo+ID4gPiArIyBDb3B5cmlnaHQgKGMpIDIwMDcgLSAyMDE4LCBJ bnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ID4gPg0KPiA+ID4g KyMNCj4gPiA+DQo+ID4gPiArIyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVz ZS1QYXRlbnQNCj4gPiA+DQo+ID4gPiArIw0KPiA+ID4NCj4gPiA+ICsjDQo+ID4gPg0KPiA+ID4g KyMjDQo+ID4gPg0KPiA+ID4gKw0KPiA+ID4NCj4gPiA+ICtbRGVmaW5lc10NCj4gPiA+DQo+ID4g PiArICBJTkZfVkVSU0lPTiAgICAgICAgICAgICAgICAgICAgPSAweDAwMDEwMDA1DQo+ID4gPg0K PiA+ID4gKyAgQkFTRV9OQU1FICAgICAgICAgICAgICAgICAgICAgID0gRHhlUGNkTGliDQo+ID4g Pg0KPiA+ID4gKyAgTU9EVUxFX1VOSV9GSUxFICAgICAgICAgICAgICAgID0gRHhlUGNkTGliLnVu aQ0KPiA+ID4NCj4gPiA+ICsgIEZJTEVfR1VJRCAgICAgICAgICAgICAgICAgICAgICA9IGY5YWYy ZjM4LTA5ZTItNGZmMS1iNjYxLTVkMWMxOWQ5Zjc1Yw0KPiA+ID4NCj4gPiA+ICsgIE1PRFVMRV9U WVBFICAgICAgICAgICAgICAgICAgICA9IERYRV9EUklWRVINCj4gPiA+DQo+ID4gPiArICBWRVJT SU9OX1NUUklORyAgICAgICAgICAgICAgICAgPSAxLjANCj4gPiA+DQo+ID4gPiArICBMSUJSQVJZ X0NMQVNTICAgICAgICAgICAgICAgICAgPSBQY2RMaWJ8RFhFX0NPUkUgRFhFX0RSSVZFUiBEWEVf UlVOVElNRV9EUklWRVIgRFhFX1NNTV9EUklWRVIgU01NX0NPUkUNCj4gPiBVRUZJX0FQUExJQ0FU SU9ODQo+ID4gPiBVRUZJX0RSSVZFUg0KPiA+ID4NCj4gPiA+ICsNCj4gPiA+DQo+ID4gPiArIw0K PiA+ID4NCj4gPiA+ICsjICBWQUxJRF9BUkNISVRFQ1RVUkVTICAgICAgICAgICA9IElBMzIgWDY0 IEVCQw0KPiA+ID4NCj4gPiA+ICsjDQo+ID4gPg0KPiA+ID4gKw0KPiA+ID4NCj4gPiA+ICtbU291 cmNlc10NCj4gPiA+DQo+ID4gPiArICBEeGVQY2RMaWIuYw0KPiA+ID4NCj4gPiA+ICsNCj4gPiA+ DQo+ID4gPiArDQo+ID4gPg0KPiA+ID4gK1tQYWNrYWdlc10NCj4gPiA+DQo+ID4gPiArICBNZGVQ a2cvTWRlUGtnLmRlYw0KPiA+ID4NCj4gPiA+ICsNCj4gPiA+DQo+ID4gPiArDQo+ID4gPg0KPiA+ ID4gK1tMaWJyYXJ5Q2xhc3Nlc10NCj4gPiA+DQo+ID4gPiArICBCYXNlTWVtb3J5TGliDQo+ID4g Pg0KPiA+ID4gKyAgVWVmaUJvb3RTZXJ2aWNlc1RhYmxlTGliDQo+ID4gPg0KPiA+ID4gKyAgRGVi dWdMaWINCj4gPiA+DQo+ID4gPiArDQo+ID4gPg0KPiA+ID4gKw0KPiA+ID4NCj4gPiA+ICtbUHJv dG9jb2xzXQ0KPiA+ID4NCj4gPiA+ICsgIGdQY2RQcm90b2NvbEd1aWQgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAjIyBTT01FVElNRVNfQ09OU1VNRVMNCj4gPiA+DQo+ID4gPiArICBn RWZpUGNkUHJvdG9jb2xHdWlkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyMgU09NRVRJ TUVTX0NPTlNVTUVTDQo+ID4gPg0KPiA+ID4gKyAgZ0dldFBjZEluZm9Qcm90b2NvbEd1aWQgICAg ICAgICAgICAgICAgICAgICAgICAgICMjIFNPTUVUSU1FU19DT05TVU1FUw0KPiA+ID4NCj4gPiA+ ICsgIGdFZmlHZXRQY2RJbmZvUHJvdG9jb2xHdWlkICAgICAgICAgICAgICAgICAgICAgICAjIyBT T01FVElNRVNfQ09OU1VNRVMNCj4gPiA+DQo+ID4gPiArDQo+ID4gPg0KPiA+ID4gKyAgZ0Vka2lp UGF5bG9hZFN0YW5kYWxvbmVQY2RQcm90b2NvbEd1aWQgICAgICAgICAgICMjIFNPTUVUSU1FU19D T05TVU1FUw0KPiA+ID4NCj4gPiA+ICsgIGdFZGtpaUVmaVBheWxvYWRTdGFuZGFsb25lUGNkUHJv dG9jb2xHdWlkICAgICAgICAjIyBTT01FVElNRVNfQ09OU1VNRVMNCj4gPiA+DQo+ID4gPiArICBn RWRraWlQYXlsb2FkR2V0U3RhbmRhbG9uZVBjZEluZm9Qcm90b2NvbEd1aWQgICAgIyMgU09NRVRJ TUVTX0NPTlNVTUVTDQo+ID4gPg0KPiA+ID4gKyAgZ0Vka2lpRWZpUGF5bG9hZEdldFN0YW5kYWxv bmVQY2RJbmZvUHJvdG9jb2xHdWlkICMjIFNPTUVUSU1FU19DT05TVU1FUw0KPiA+ID4NCj4gPiA+ ICsNCj4gPiA+DQo+ID4gPiArW0ZlYXR1cmVQY2RdDQo+ID4gPg0KPiA+ID4gKyAgZ0VmaU1kZVBr Z1Rva2VuU3BhY2VHdWlkLlBjZFN0YW5kYWxvbmVQY2REYXRhYmFzZUVuYWJsZSAjIyBDT05TVU1F Uw0KPiA+ID4NCj4gPiA+ICsNCj4gPiA+DQo+ID4gPiArW0RlcGV4LmNvbW1vbi5EWEVfRFJJVkVS LCBEZXBleC5jb21tb24uRFhFX1JVTlRJTUVfRFJJVkVSLCBEZXBleC5jb21tb24uRFhFX1NBTF9E UklWRVIsDQo+ID4gRGVwZXguY29tbW9uLkRYRV9TTU1fRFJJVkVSXQ0KPiA+ID4NCj4gPiA+ICsg IGdFZGtpaUVmaVBheWxvYWRTdGFuZGFsb25lUGNkUHJvdG9jb2xHdWlkDQo+ID4gPg0KPiA+ID4g Kw0KPiA+ID4NCj4gPiA+IGRpZmYgLS1naXQgYS9NZGVQa2cvTWRlUGtnLmRlYyBiL01kZVBrZy9N ZGVQa2cuZGVjDQo+ID4gPiBpbmRleCBiNDlmODhkOGUxLi40NGY2MGUyMDg2IDEwMDY0NA0KPiA+ ID4gLS0tIGEvTWRlUGtnL01kZVBrZy5kZWMNCj4gPiA+ICsrKyBiL01kZVBrZy9NZGVQa2cuZGVj DQo+ID4gPiBAQCAtMTAwMCw2ICsxMDAwLDEyIEBADQo+ID4gPiAgICAjIyBJbmNsdWRlL1Byb3Rv Y29sL1BjZEluZm8uaA0KPiA+ID4NCj4gPiA+ICAgIGdHZXRQY2RJbmZvUHJvdG9jb2xHdWlkICAg ICAgICA9IHsgMHg1YmU0MGY1NywgMHhmYTY4LCAweDQ2MTAsIHsgMHhiYiwgMHhiZiwgMHhlOSwg MHhjNSwgMHhmYywgMHhkYSwgMHhkMywgMHg2NSB9IH0NCj4gPiA+DQo+ID4gPg0KPiA+ID4NCj4g PiA+ICsgICMjIFBheWxvYWQgU3RhbmRhbG9uZSBQY2QgUHJvdG9jb2wNCj4gPiA+DQo+ID4gPiAr ICBnRWRraWlQYXlsb2FkU3RhbmRhbG9uZVBjZFByb3RvY29sR3VpZCAgICAgICAgICAgID0gezB4 OGVmNmZmNDgsIDB4MjI2MCwgMHg1NDA3LCB7MHgwZCwgMHgxOCwgMHgyZSwgMHgyYywgMHhhYSwN Cj4gMHg3ZCwNCj4gPiA+IDB4YzksIDB4MWZ9fQ0KPiA+ID4NCj4gPiA+ICsgIGdFZGtpaUVmaVBh eWxvYWRTdGFuZGFsb25lUGNkUHJvdG9jb2xHdWlkICAgICAgICAgPSB7MHg3ZTUwYzQyMiwgMHhh ZTc2LCAweGJkYzksIHsweDE2LCAweDY2LCAweGNhLCAweDY3LCAweDk1LA0KPiAweDA0LA0KPiA+ ID4gMHg0ZCwgMHhlYX19DQo+ID4gPg0KPiA+ID4gKyAgZ0Vka2lpUGF5bG9hZEdldFN0YW5kYWxv bmVQY2RJbmZvUHJvdG9jb2xHdWlkICAgICA9IHsweGQ3MjE0YzAzLCAweDI3ZTAsIDB4NWIzNSwg ezB4ZDUsIDB4YjEsIDB4ZWIsIDB4MWEsIDB4NTAsDQo+IDB4MTQsDQo+ID4gPiAweDVlLCAweDE1 fX0NCj4gPiA+DQo+ID4gPiArICBnRWRraWlFZmlQYXlsb2FkR2V0U3RhbmRhbG9uZVBjZEluZm9Q cm90b2NvbEd1aWQgID0gezB4MTAzOWVjZGYsIDB4NTkwOCwgMHhmNzZjLCB7MHg1MSwgMHhmOSwg MHhhZSwgMHgwOSwgMHhjNSwNCj4gMHhhOSwNCj4gPiA+IDB4NjgsIDB4OWV9fQ0KPiA+ID4NCj4g PiA+ICsNCj4gPiA+DQo+ID4gPiAgICAjDQo+ID4gPg0KPiA+ID4gICAgIyBQcm90b2NvbHMgZGVm aW5lZCBpbiBQSTEuMC4NCj4gPiA+DQo+ID4gPiAgICAjDQo+ID4gPg0KPiA+ID4gQEAgLTE5NDUs NiArMTk1MSwxMiBAQA0KPiA+ID4gICAgIyBAUHJvbXB0IFZhbGlkYXRlIE9SREVSRURfQ09MTEVD VElPTiBzdHJ1Y3R1cmUNCj4gPiA+DQo+ID4gPiAgICBnRWZpTWRlUGtnVG9rZW5TcGFjZUd1aWQu UGNkVmFsaWRhdGVPcmRlcmVkQ29sbGVjdGlvbnxGQUxTRXxCT09MRUFOfDB4MDAwMDAwMmENCj4g PiA+DQo+ID4gPg0KPiA+ID4NCj4gPiA+ICsgICMjIEluZGljYXRlcyBpZiB0aGUgc3RhbmRhbG9u ZSBQQ0QgZGF0YWJhc2UgaXMgZW5hYmxlZCBmb3IgUGF5bG9hZC48QlI+PEJSPg0KPiA+ID4NCj4g PiA+ICsgICMgICBUUlVFICAtIEVuYWJsZSB0YW5kYWxvbmUgUENEIGRhdGFiYXNlIGlzIGVuYWJs ZWQgZm9yIFBheWxvYWQuPEJSPg0KPiA+ID4NCj4gPiA+ICsgICMgICBGQUxTRSAtIERpc2FibGUg dGFuZGFsb25lIFBDRCBkYXRhYmFzZSBpcyBlbmFibGVkIGZvciBQYXlsb2FkLjxCUj4NCj4gPiA+ DQo+ID4gPiArICAjIEBQcm9tcHQgRW5hYmxlIHRhbmRhbG9uZSBQQ0QgZGF0YWJhc2UgaXMgZW5h YmxlZCBmb3IgUGF5bG9hZC4NCj4gPiA+DQo+ID4gPiArICBnRWZpTWRlUGtnVG9rZW5TcGFjZUd1 aWQuUGNkU3RhbmRhbG9uZVBjZERhdGFiYXNlRW5hYmxlfEZBTFNFfEJPT0xFQU58MHgwMDAwMDAy ZQ0KPiA+ID4NCj4gPiA+ICsNCj4gPiA+DQo+ID4gPiAgW1BjZHNGaXhlZEF0QnVpbGRdDQo+ID4g Pg0KPiA+ID4gICAgIyMgU3RhdHVzIGNvZGUgdmFsdWUgZm9yIGluZGljYXRpbmcgYSB3YXRjaGRv ZyB0aW1lciBoYXMgZXhwaXJlZC4NCj4gPiA+DQo+ID4gPiAgICAjIEVGSV9DT01QVVRJTkdfVU5J VF9IT1NUX1BST0NFU1NPUiB8IEVGSV9DVV9IUF9FQ19USU1FUl9FWFBJUkVEDQo+ID4gPg0KPiA+ ID4gLS0NCj4gPiA+IDIuMzAuMC53aW5kb3dzLjINCj4gPiA+DQo+ID4gPg0KPiA+ID4NCj4gPiA+ IC09LT0tPS09LT0tPQ0KPiA+ID4gR3JvdXBzLmlvIExpbmtzOiBZb3UgcmVjZWl2ZSBhbGwgbWVz c2FnZXMgc2VudCB0byB0aGlzIGdyb3VwLg0KPiA+ID4gVmlldy9SZXBseSBPbmxpbmUgKCM3NTUw Mik6IGh0dHBzOi8vZWRrMi5ncm91cHMuaW8vZy9kZXZlbC9tZXNzYWdlLzc1NTAyDQo+ID4gPiBN dXRlIFRoaXMgVG9waWM6IGh0dHBzOi8vZ3JvdXBzLmlvL210LzgzMDQ2OTM1LzE2NDM0OTYNCj4g PiA+IEdyb3VwIE93bmVyOiBkZXZlbCtvd25lckBlZGsyLmdyb3Vwcy5pbw0KPiA+ID4gVW5zdWJz Y3JpYmU6IGh0dHBzOi8vZWRrMi5ncm91cHMuaW8vZy9kZXZlbC91bnN1YiBbbWljaGFlbC5kLmtp bm5leUBpbnRlbC5jb21dDQo+ID4gPiAtPS09LT0tPS09LT0NCj4gPiA+DQo+ID4NCj4gPg0KPiA+ DQo+ID4gDQo+ID4NCg0K