From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mx.groups.io with SMTP id smtpd.web08.2540.1657855917062693454 for ; Thu, 14 Jul 2022 20:31:57 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=BtdUn1h2; spf=pass (domain: intel.com, ip: 192.55.52.120, mailfrom: ming.tan@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1657855917; x=1689391917; h=from:to:subject:date:message-id:references:in-reply-to: content-transfer-encoding:mime-version; bh=RlGSwjHYaU2R8uiHFPic2ZqxeFIkjS96bCtEuDR23BM=; b=BtdUn1h2iBHtoAqdXJjATxLR40dGr/NP/W1zKRbuUk2diYvTD8TTMvVz rV6MKmlKG9TbjWuEVLsYAsaqmLeay0EcSzHpRH7d7zavlSuh0FbdsmuRA tuPBeN/tQJXqjgF+N5ZnPuBelqjOG1JqNAyDbQG+LhlBJ7TMii1lPq3mn TjLqhMFegeQjirdztVxR4fvCiTPQwrUPrcbWxBD0I14ubnGbufSAL7BeJ E5oZ0JHQ0AEAOlbnzyKsyDWKciMd1Y3MpL2PMfGTfL2Ls7j5aSwvJeBEv CcFHUI6G7a79Kz7Nwlwre+QFWbc+jslah2tkjLpw/DtRNi0aP6hB5Dsgg A==; X-IronPort-AV: E=McAfee;i="6400,9594,10408"; a="284448997" X-IronPort-AV: E=Sophos;i="5.92,272,1650956400"; d="scan'208";a="284448997" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Jul 2022 20:31:56 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.92,272,1650956400"; d="scan'208";a="738511326" Received: from orsmsx605.amr.corp.intel.com ([10.22.229.18]) by fmsmga001.fm.intel.com with ESMTP; 14 Jul 2022 20:31:56 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX605.amr.corp.intel.com (10.22.229.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Thu, 14 Jul 2022 20:31:56 -0700 Received: from orsmsx605.amr.corp.intel.com (10.22.229.18) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Thu, 14 Jul 2022 20:31:52 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx605.amr.corp.intel.com (10.22.229.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Thu, 14 Jul 2022 20:31:52 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.168) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.27; Thu, 14 Jul 2022 20:31:52 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GyQNau+frY6r0K1ilmHywnAG2CFDgAm8Sxl+noaOARNkkp0BL9hNOhEdLnHSTh3oB971XZAVUhukfv9djXbKB7vgGHESe1H0qkOX50DmlnWFNbeYLYE4OIBCZtfZsfq94ZcEc5druQ8fvKj82uVtpC41Dzqcv3Bci1QtVhRb14WxGkT/pvvA24BpC0oISQf2rOcsOa8ZO62lLTFQ64pdEZgUC7ysa+oDE4EAUO81Myx3OUcw9ZF9f3nI5qXTFkU36cdrxoVgIax6+8ptXlxFcnB43ORHBQAiJL/dr90fMUP7eCnYORI7qL3a/R6013JAfHhmD7XKmCfA3mvkVOtt/A== 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=RlGSwjHYaU2R8uiHFPic2ZqxeFIkjS96bCtEuDR23BM=; b=P8YfKc1PYdiwEO22ZC91XHPMhB9n1ypk4EsNwybFXRSVbd8FT6bVvUmwk2B/JJbDQmX9sTW+dY6FnAFPG+C1yMVUXcQN9f/W+UsYVoaIONHHdK7t8F1pKvsHYV0k1RBqq0BosVt2MGR3fwPoQ4wx5dEstQFcxVZkg44j+b0VffgJHKV/7fcLnxVnLsnU7ds+gK3ze/2f93BBJmqNicRXlfWL4YIU+WKm0JK0gHNC3vJAGxXWWZrxm/Nnsco3YHNowCKGmR9XaX0AwCbtkH/Rscjj+57XZrLz/Gd1+n+M6NS66JHlwMKhbZ6Aka4yQRt+ByYUYdOZIFqlY63SgEMjpw== 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 Received: from BN8PR11MB3713.namprd11.prod.outlook.com (2603:10b6:408:8e::28) by LV2PR11MB6047.namprd11.prod.outlook.com (2603:10b6:408:179::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5438.12; Fri, 15 Jul 2022 03:31:50 +0000 Received: from BN8PR11MB3713.namprd11.prod.outlook.com ([fe80::103e:e2e:9f5:6085]) by BN8PR11MB3713.namprd11.prod.outlook.com ([fe80::103e:e2e:9f5:6085%5]) with mapi id 15.20.5438.014; Fri, 15 Jul 2022 03:31:50 +0000 From: "Tan, Ming" To: "Luo, Heng" , "Li, Yi1" , "devel@edk2.groups.io" Subject: Re: [staging/crypto-new-api PATCH] CryptoPkg: Fix issues from crypto code review. Thread-Topic: [staging/crypto-new-api PATCH] CryptoPkg: Fix issues from crypto code review. Thread-Index: AQHYl++pTKI9QzICWk652bndwAQhsa1+sQMAgAAVBhA= Date: Fri, 15 Jul 2022 03:31:50 +0000 Message-ID: References: <20220715020711.1190-1-yi1.li@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.6.500.17 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: c5cc30d0-bfe8-421a-5fc3-08da66128de4 x-ms-traffictypediagnostic: LV2PR11MB6047:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: E847gAKEMjPmPsq31d8zZGoXpl29TRFHUyBswU5aW15bx8wVWiKPVhza+yj4wjuwtcZAw8nN6Y0lGRDH0jkQjIPv3rNSsGbdiDKXpv74sHj7C+yCujIYDAMEB4FxGxf7PUHLkota2NAjUhaLcjRmJvshsaqIPZd3EhLN2gK9cAQvcpxxANXC5Azly7v97lfqrSXNelc2id5YxJt4Vx2BEnqqbg1hVkXSTFbquZIWm3/6g8UffWoRlHufzoGrbPOZHl+au4A+TEWs+76K7hlIAS3L7ghRRbEOKzx3K28JPntCWkynIn+fwQOn/piKP+ZiR8jKFf6YYfzQkuRJzwVli+MWsgmvA6hsdxg8LvfW/IMn+OrJTraTnSQQ8lTSTIQIEuu+bDtol5BK3CJi0m2gdpjsXKdbihs/GQMv2OOqSKrh6mg3/c+CheAlD4+GF78JOMwlm4jkdKbxeYGodGqLYJEps2qZmcJElAvI14ko/KRfTYxiM5B+cXOmI1o17ZC7dtCJzpE+KT3Ioo586QoDOGDUUNSOCTHlDnYUKkOULhg3VAulS6q6lGq0ggKh59ulb9jnNsuYVgCHGwlRNcmpjJ4N4XsAfVI2EeSMgpD6+/tJ0pSsuyJXAd0zq4VyMScsNQLHaTtCS0yxoIE6/oUYJTlJTslpyZNcvVOxS7HVGojGrfGq+1LouNim4bndeqmassOkYZzLfi5Fwud7bzJD6h4jtR+LndwAJ2wnvECfnENTJWvXdUQZxBnINF/ePk32vgjmrxKgZ9oAhr5k/RtpwqmgYRPJIbk3QOSfc5DuYxyR6e8MCVKz2+zaS+6Xo60u x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN8PR11MB3713.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(39860400002)(136003)(366004)(396003)(346002)(6506007)(66556008)(7696005)(66946007)(53546011)(8676002)(66446008)(76116006)(64756008)(122000001)(66476007)(86362001)(52536014)(41300700001)(38100700002)(186003)(8936002)(5660300002)(316002)(38070700005)(26005)(33656002)(478600001)(83380400001)(30864003)(55016003)(110136005)(2906002)(82960400001)(9686003)(71200400001)(559001)(579004);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?WXFIOWQ0K0toOERjMmdxU05uNkpubXJCUzRaeHJ6d25TOElQLzdwNGJwSlMr?= =?utf-8?B?WUV6anJiZ1V1dGluOHA0aDIveWgwd0ZkQWZINHhNRklEdVRWL1kxekNTMXVx?= =?utf-8?B?c3NVWXRFdDhRVXZ4ZlNTUnE2NWVvMUdzaHc4Qk1JYWp4b0k4cGxPUWcrbUhR?= =?utf-8?B?aWhSTjBNWkowcUFUcTlzbmY4NW0rRHFkWGIwS2xGL28xWWVLR1lITGFseTNt?= =?utf-8?B?aUtJSFhhYnlENFlLbndsdm5PaEhKdzNqdHFEekFxVHNwU2I1amMxMmdUUnRV?= =?utf-8?B?UHk5aFVmS3ptam04OEJPQ2dYSVltc0JEMUlhZUVHOGNzRWQwemxMT0tQMzJV?= =?utf-8?B?S0QybHhoU3pSOFZwSFNDQko5UG9rdzV6Nk5NYjZ0TWdueHhETDFmRkZpOUJU?= =?utf-8?B?ZmFzVkk4VzQ2NGNJWWxSZWQzUmNIaEhuREdHNFJCOHZQSjNuV0d6UzE4S2Z2?= =?utf-8?B?UG9VOE80SzJBMFBvRDdTeERRMmpvNzA0SGI5ZzBHRWZYSGVzVUN4SGE2b3pO?= =?utf-8?B?RURtM1o4eE9KTkVqYXhLWk5NOFJjaEd6YmtKeG5rWXlwT09YVmJHd1hDSW4v?= =?utf-8?B?RTFTb3lqbHpVcjY1ckhOK0hyNzVkSmZtUDRnYUdGS3FYMytabWZEZWM0QzNm?= =?utf-8?B?OUx3Y1lKU1c0RW5ranJaaWI5QkJDN1Z4SG03Ulh6b3RUT1JaaURkLzJIakYv?= =?utf-8?B?RHMwLzBFb1p3MEgvT1R4UmhvRFhuLzdLM3IrMmFVQjRLbUhMWlNBdElvUFZY?= =?utf-8?B?cFVQQXcwTmlmMzI2WXAvaFVLZlFtMHZHSzhsWmhHSmJEcDNVRXcrYUE0TExo?= =?utf-8?B?dE8vNVNlSjBNUTcwVHZSK1hQeWtDOUdzTlRkN25rWXN2bm1ZaXRMYUFsM1dU?= =?utf-8?B?N2pydU1Fbld4K2VTSEFBSW1zUlhHZitCWXEzREtJOWYxNXNjZTVyMDBqS0ZH?= =?utf-8?B?YkRvWjZ3U3ZXUU1PeXBab3Q0dFlmZWhKU1lSSTVqMmRIL2tDb0E3NEtuRU82?= =?utf-8?B?bmxZQzF5TVV0NDBHSFN4dW44R3p6cHRac2xDUS9MbUZveXpKdHE3NWROTmh1?= =?utf-8?B?aFV6bjlDaFpIcjVZSmV3Z211NUkvb0paNys4MkdQaUNZUHRsRy9qLzdLN0No?= =?utf-8?B?Rk9FTGtlbDBGaUhzVDhKZUhQYmN4dGZBdFVnRHJZdXduTUNhblgrY2VBQ05u?= =?utf-8?B?STNJZDRvU3RkemwxN2ZzbHQ2ejNlL1lWNUYxcFIreU1uemN6eE42VDdZSzBF?= =?utf-8?B?V052VXEyNG5xb0s4SEdrM3huVW1Pd2hJamRyTFJ1cXhTMlAzUU9DK2JSbDFa?= =?utf-8?B?UnRXRG9Ud0czY1l3dTJMZDk1L3dJTzlYUFY1cU9OOUVFUnpwUUpqWFhpaE95?= =?utf-8?B?Z2VIaDVwY3BpdklLd1BreGYzZDFhaTFtaE0rYlZzSkpLSkV2Mk5Ca2FTZWFI?= =?utf-8?B?L0lPaEsxd3VKdTVQV0R2T0dIYVlJSUkrUkZnaGQxcTNWWHk3cmVyTDRDYjdl?= =?utf-8?B?cXBnUnVhaHU5ZTJHUVdoQnZyRVhWWHNCbUV1VGtmYWFRMlRMNmF2VE1QaWVs?= =?utf-8?B?TGYxM0YybnVZanlNQW9CU2pTc29EZ21YSk1acFU2dDkzUlJyYlFwNE0zV3Nh?= =?utf-8?B?dndDeFo4NDcyMW9kTkxkVjdpbVNNZUpoRXljZlhUSFNmcVRhVUtXSmJ5T0ti?= =?utf-8?B?MWhublluNUZUaUVUL0ZuTTJhYWIwSHJURjJVT1RJMThpUUxucElzMDJtTWIw?= =?utf-8?B?Z1dOTERJWTlyY2xTSWFxQVlEWlA4c1Z5Zjd3cFRvcm9iUUdHZU84M2V5YzAr?= =?utf-8?B?TzBMdnE5dlFuT1Q3YVdnODJoa2FKakhPOTVlL3d0SDM4ZlJ0aHNkV05aMk1p?= =?utf-8?B?eTY1MkJ0cDUyb3IrRFNoU1pla3V0bldUOUd1Ylpmd2EzcjcrLzh3Mm5qdE1k?= =?utf-8?B?MzN4cGZFWU8yWndDclMyMlI5T1ZDNElFdHVWM2pPd0pSSm1OU0g1c3IybUxD?= =?utf-8?B?VWlMZldJVTJnWThRc0pPY1VwVUNVQkNOK2ZSUGVnWURBTldQZ1JGWU5IaXJ2?= =?utf-8?B?TXQ0VDB5a1lZZnNWWENCMWZKdXdqNUpwTHFkSU02b3pDaHk5UlhXOHBrZFpK?= =?utf-8?Q?xMaonFvvmkknf2Kfy8fE3quYk?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BN8PR11MB3713.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c5cc30d0-bfe8-421a-5fc3-08da66128de4 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Jul 2022 03:31:50.2188 (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: IS3p06j3I9tADrBvLAO9ojn1snyHEHvZpORpnbS4rj6K7akZYdB3DzA3vvrhTBd9kYmHX8iyeOzxg/9jHsBCmQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV2PR11MB6047 Return-Path: ming.tan@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 WWk6DQogIEkgaGF2ZSB0aGUgZm9sbG93aW5nIHN1Z2dlc3Rpb24uDQogIDEuIFN1Z2dlc3QgdG8g c3BsaXQgdGhlIHBhdGNoIHRvIHNldmVyYWwgcGF0Y2hzLiBTcGVjaWFsIHRoZSBjb2RlIHdoaWNo IG1vZGlmeSB0aGUgbG9naWNhbC4NCiAgMi4gQ2hhbmdlIHRoZSBjb21taXQgdGl0bGUsICJmaXgg dGhlIGlzc3VlcyB0aGUgY29kZSByZXZpZXciIHNvdW5kcyBsaWtlIHNob3cgdGhhdCB0aGUgcmV2 aWV3ZXJzIGRpZCBub3QgZ29vZCBqb2IgYXQgYmVmb3JlIPCfmIkNCg0KICBCUi9UYW4gTWluZy4N Cg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IEx1bywgSGVuZyA8aGVuZy5sdW9A aW50ZWwuY29tPiANClNlbnQ6IEZyaWRheSwgSnVseSAxNSwgMjAyMiAxMDoxMyBBTQ0KVG86IExp LCBZaTEgPHlpMS5saUBpbnRlbC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KQ2M6IFRhbiwg TWluZyA8bWluZy50YW5AaW50ZWwuY29tPg0KU3ViamVjdDogUkU6IFtzdGFnaW5nL2NyeXB0by1u ZXctYXBpIFBBVENIXSBDcnlwdG9Qa2c6IEZpeCBpc3N1ZXMgZnJvbSBjcnlwdG8gY29kZSByZXZp ZXcuDQoNClJldmlld2VkLWJ5OiBIZW5nIEx1byA8aGVuZy5sdW9AaW50ZWwuY29tPg0KDQo+IC0t LS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IExpLCBZaTEgPHlpMS5saUBpbnRlbC5j b20+DQo+IFNlbnQ6IEZyaWRheSwgSnVseSAxNSwgMjAyMiAxMDowNyBBTQ0KPiBUbzogZGV2ZWxA ZWRrMi5ncm91cHMuaW8NCj4gQ2M6IExpLCBZaTEgPHlpMS5saUBpbnRlbC5jb20+OyBUYW4sIE1p bmcgPG1pbmcudGFuQGludGVsLmNvbT47IEx1bywgDQo+IEhlbmcgPGhlbmcubHVvQGludGVsLmNv bT4NCj4gU3ViamVjdDogW3N0YWdpbmcvY3J5cHRvLW5ldy1hcGkgUEFUQ0hdIENyeXB0b1BrZzog Rml4IGlzc3VlcyBmcm9tIA0KPiBjcnlwdG8gY29kZSByZXZpZXcuDQo+IA0KPiBEZXRhaWxzOg0K PiAxLiBTb21lIEFQSXMgbmVlZCBtb3JlIGRldGFpbCBjb21tZW50Lg0KPiAyLiBDb3JyZWN0IEJu UlNoaWZ0KCkgcGFyYW0gb3JkZXIuDQo+IDMuIFJlbW92ZSB1bnNlY3VyZSBFQ0MgY3VydmUgZnJv bSBHcm91cFRvTmlkKCkuDQo+IDQuIEFkZCBmdWxsIHB1YmxpYyBrZXkgdmFsaWRhdGluZyBwcm9j ZWR1cmVzIHRvIEVjRGhEZXJpdmVTZWNyZXQoKS4NCj4gDQo+IENjOiBNaW5nIFRhbiA8bWluZy50 YW5AaW50ZWwuY29tPg0KPiBDYzogSGVuZyBMdW8gPGhlbmcubHVvQGludGVsLmNvbT4NCj4gU2ln bmVkLW9mZi1ieTogWWkgTGkgPHlpMS5saUBpbnRlbC5jb20+DQo+IA0KPiAtLS0NCj4gIENyeXB0 b1BrZy9Ecml2ZXIvQ3J5cHRvLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDMxICsr KysrKysrKysrKysrKysrKysrLS0tLS0tLS0tDQo+IC0tDQo+ICBDcnlwdG9Qa2cvSW5jbHVkZS9M aWJyYXJ5L0Jhc2VDcnlwdExpYi5oICAgICAgICAgICAgICAgfCAzMQ0KPiArKysrKysrKysrKysr KysrKysrKy0tLS0tLS0tLS0tDQo+ICBDcnlwdG9Qa2cvTGlicmFyeS9CYXNlQ3J5cHRMaWIvQm4v Q3J5cHRCbi5jICAgICAgICAgICAgfCAgNyArKysrLS0tDQo+ICBDcnlwdG9Qa2cvTGlicmFyeS9C YXNlQ3J5cHRMaWIvQm4vQ3J5cHRCbk51bGwuYyAgICAgICAgfCAgNCArKystDQo+ICBDcnlwdG9Q a2cvTGlicmFyeS9CYXNlQ3J5cHRMaWIvRWMvQ3J5cHRFYy5jICAgICAgICAgICAgfCA2MQ0KPiAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tDQo+ICBDcnlwdG9Qa2cvTGlicmFyeS9CYXNlQ3J5cHRMaWIvRWMvQ3J5cHRFY051bGwuYyAg ICAgICAgfCAyNw0KPiArKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0NCj4gIENyeXB0b1BrZy9M aWJyYXJ5L0Jhc2VDcnlwdExpYk51bGwvQm4vQ3J5cHRCbk51bGwuYyAgICB8ICA0ICsrKy0NCj4g IENyeXB0b1BrZy9MaWJyYXJ5L0Jhc2VDcnlwdExpYk51bGwvRWMvQ3J5cHRFY051bGwuYyAgICB8 IDI3DQo+ICsrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQ0KPiAgQ3J5cHRvUGtnL0xpYnJhcnkv QmFzZUNyeXB0TGliT25Qcm90b2NvbFBwaS9DcnlwdExpYi5jIHwgMzENCj4gKysrKysrKysrKysr KysrKysrKystLS0tLS0tLS0tLQ0KPiAgQ3J5cHRvUGtnL1ByaXZhdGUvUHJvdG9jb2wvQ3J5cHRv LmggICAgICAgICAgICAgICAgICAgIHwgMzEgKysrKysrKysrKysrKysrKysrKystLQ0KPiAtLS0t LS0tLS0NCj4gIDEwIGZpbGVzIGNoYW5nZWQsIDE1OCBpbnNlcnRpb25zKCspLCA5NiBkZWxldGlv bnMoLSkNCj4gDQo+IGRpZmYgLS1naXQgYS9DcnlwdG9Qa2cvRHJpdmVyL0NyeXB0by5jIGIvQ3J5 cHRvUGtnL0RyaXZlci9DcnlwdG8uYyANCj4gaW5kZXgNCj4gZGU0MjJiN2Y1My4uMTBhMGNlODgw MCAxMDA2NDQNCj4gLS0tIGEvQ3J5cHRvUGtnL0RyaXZlci9DcnlwdG8uYw0KPiArKysgYi9Dcnlw dG9Qa2cvRHJpdmVyL0NyeXB0by5jDQo+IEBAIC00OTYyLDcgKzQ5NjIsNiBAQCBDcnlwdG9TZXJ2 aWNlQmlnTnVtVmFsdWVPbmUgKA0KPiAgICBAcGFyYW1bb3V0XSAgQm5SZXMgICBUaGUgcmVzdWx0 Lg0KPiANCj4gICAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICBPbiBzdWNjZXNzLg0KPiAt ICBAcmV0dmFsIEVGSV9PVVRfT0ZfUkVTT1VSQ0VTIEluIGNhc2Ugb2YgaW50ZXJuYWwgYWxsb2Nh dGlvbiBmYWlsdXJlcy4NCj4gICAgQHJldHZhbCBFRklfUFJPVE9DT0xfRVJST1IgICBPdGhlcndp c2UuDQo+ICAqKi8NCj4gIEVGSV9TVEFUVVMNCj4gQEAgLTUwNTEsNiArNTA1MCw5IEBAIENyeXB0 b1NlcnZpY2VCaWdOdW1Db250ZXh0RnJlZSAoDQo+IA0KPiAgICBAcGFyYW1baW5dICAgQm4gICAg IEJpZyBudW1iZXIgdG8gc2V0Lg0KPiAgICBAcGFyYW1baW5dICAgVmFsICAgIFZhbHVlIHRvIHNl dC4NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgIE9uIHN1Y2Nlc3MuDQo+ ICsgIEByZXR2YWwgRUZJX1BST1RPQ09MX0VSUk9SICAgT3RoZXJ3aXNlLg0KPiAgKiovDQo+ICBF RklfU1RBVFVTDQo+ICBFRklBUEkNCj4gQEAgLTUwOTIsNyArNTA5NCw3IEBAIENyeXB0b1NlcnZp Y2VCaWdOdW1BZGRNb2QgKA0KPiAgICB1c2luZyBFY0dyb3VwRnJlZSgpIGZ1bmN0aW9uLg0KPiAN Cj4gICAgQHBhcmFtW2luXSAgR3JvdXAgIElkZW50aWZ5aW5nIG51bWJlciBmb3IgdGhlIEVDQyBn cm91cCAoSUFOQSAiR3JvdXANCj4gLSAgICAgICAgICAgICAgICAgICAgIERlc2NyaXB0aW9uIiBh dHRyaWJ1dGUgcmVnaXN0cnR5IGZvciBSRkMgMjQwOSkuDQo+ICsgICAgICAgICAgICAgICAgICAg ICBEZXNjcmlwdGlvbiIgYXR0cmlidXRlIHJlZ2lzdHJ5IGZvciBSRkMgMjQwOSkuDQo+IA0KPiAg ICBAcmV0dmFsIEVjR3JvdXAgb2JqZWN0ICBPbiBzdWNjZXNzLg0KPiAgICBAcmV0dmFsIE5VTEwg ICAgICAgICAgICBPbiBmYWlsdXJlLg0KPiBAQCAtNTExNCw4ICs1MTE2LDggQEAgQ3J5cHRvU2Vy dmljZUVjR3JvdXBJbml0ICgNCj4gDQo+ICAgIEBwYXJhbVtpbl0gIEVjR3JvdXAgICAgRUMgZ3Jv dXAgb2JqZWN0Lg0KPiAgICBAcGFyYW1bb3V0XSBCblByaW1lICAgIEdyb3VwIHByaW1lIG51bWJl ci4NCj4gLSAgQHBhcmFtW291dF0gQm5BICAgICAgICBBIGNvb2ZlY2llbnQuDQo+IC0gIEBwYXJh bVtvdXRdIEJuQiAgICAgICAgQiBjb29mZWNpZW50Lg0KPiArICBAcGFyYW1bb3V0XSBCbkEgICAg ICAgIEEgY29lZmZpY2llbnQuDQo+ICsgIEBwYXJhbVtvdXRdIEJuQiAgICAgICAgQiBjb2VmZmlj aWVudC4NCj4gICAgQHBhcmFtW2luXSAgQm5DdHggICAgICBCTiBjb250ZXh0Lg0KPiANCj4gICAg QHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgT24gc3VjY2Vzcy4NCj4gQEAgLTU0MjYsMTMgKzU0 MjgsMTQgQEAgQ3J5cHRvU2VydmljZUVjUG9pbnRTZXRDb21wcmVzc2VkQ29vcmRpbmF0ZXMgKA0K PiAgLyoqDQo+ICAgIEdlbmVyYXRlIGEga2V5IHVzaW5nIEVDREggYWxnb3JpdGhtLiBQbGVhc2Ug bm90ZSwgdGhpcyBmdW5jdGlvbiB1c2VzDQo+ICAgIHBzZXVkbyByYW5kb20gbnVtYmVyIGdlbmVy YXRvci4gVGhlIGNhbGxlciBtdXN0IG1ha2Ugc3VyZSANCj4gUmFuZG9tU2VlZCgpDQo+IC0gIGZ1 bnRpb24gd2FzIHByb3Blcmx5IGNhbGxlZCBiZWZvcmUuDQo+ICsgIGZ1bmN0aW9uIHdhcyBwcm9w ZXJseSBjYWxsZWQgYmVmb3JlLg0KPiANCj4gICAgQHBhcmFtW2luXSAgR3JvdXAgICAgSWRlbnRp ZnlpbmcgbnVtYmVyIGZvciB0aGUgRUNDIGdyb3VwIChJQU5BICJHcm91cA0KPiAtICAgICAgICAg ICAgICAgICAgICAgICBEZXNjcmlwdGlvbiIgYXR0cmlidXRlIHJlZ2lzdHJ0eSBmb3IgUkZDIDI0 MDkpLg0KPiArICAgICAgICAgICAgICAgICAgICAgICBEZXNjcmlwdGlvbiIgYXR0cmlidXRlIHJl Z2lzdHJ5IGZvciBSRkMgMjQwOSkuDQo+ICAgIEBwYXJhbVtvdXRdIFBLZXkgICAgIFBvaW50ZXIg dG8gYW4gb2JqZWN0IHRoYXQgd2lsbCBob2xkIHRoZSBFQ0RIIGtleS4NCj4gDQo+ICAgIEByZXR2 YWwgRUZJX1NVQ0NFU1MgICAgICAgIE9uIHN1Y2Nlc3MuDQo+ICsgIEByZXR2YWwgRUZJX1VOU1VQ UE9SVEVEICAgIEVDQyBncm91cCBub3Qgc3VwcG9ydGVkLg0KPiAgICBAcmV0dmFsIEVGSV9QUk9U T0NPTF9FUlJPUiBPbiBmYWlsdXJlLg0KPiAgKiovDQo+ICBFRklfU1RBVFVTDQo+IEBAIC01NDY2 LDggKzU0NjksOSBAQCBDcnlwdG9TZXJ2aWNlRWNEaEtleUZyZWUgKA0KPiAgICBAcGFyYW1baW5d ICBQS2V5ICAgICBFQ0RIIEtleSBvYmplY3QuDQo+ICAgIEBwYXJhbVtvdXRdIEVjUG9pbnQgIFBy b3Blcmx5IGluaXRpYWxpemVkIEVDIFBvaW50IHRvIGhvbGQgdGhlIHB1YmxpYyBrZXkuDQo+IA0K PiAtICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICBPbiBzdWNjZXNzLg0KPiAtICBAcmV0dmFs IEVGSV9QUk9UT0NPTF9FUlJPUiBPbiBmYWlsdXJlLg0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNT ICAgICAgICAgICBPbiBzdWNjZXNzLg0KPiArICBAcmV0dmFsIEVGSV9JTlZBTElEX1BBUkFNRVRF UiBFY1BvaW50IHNob3VsZCBiZSBpbml0aWFsaXplZCBwcm9wZXJseS4NCj4gKyAgQHJldHZhbCBF RklfUFJPVE9DT0xfRVJST1IgICAgT24gZmFpbHVyZS4NCj4gICoqLw0KPiAgRUZJX1NUQVRVUw0K PiAgRUZJQVBJDQo+IEBAIC01NDg0LDE1ICs1NDg4LDIwIEBAIENyeXB0b1NlcnZpY2VFY0RoR2V0 UHViS2V5ICgNCj4gDQo+ICAgIEBwYXJhbVtpbl0gIFBLZXkgICAgICAgICAgIEVDREggS2V5IG9i amVjdC4NCj4gICAgQHBhcmFtW2luXSAgR3JvdXAgICAgICAgICAgSWRlbnRpZnlpbmcgbnVtYmVy IGZvciB0aGUgRUNDIGdyb3VwIChJQU5BICJHcm91cA0KPiAtICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBEZXNjcmlwdGlvbiIgYXR0cmlidXRlIHJlZ2lzdHJ0eSBmb3IgUkZDIDI0MDkpLg0K PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXNjcmlwdGlvbiIgYXR0cmlidXRlIHJl Z2lzdHJ5IGZvciBSRkMgMjQwOSkuDQo+ICAgIEBwYXJhbVtpbl0gIEVjUG9pbnRQdWJsaWMgIFBl ZXIgcHVibGljIGtleS4NCj4gICAgQHBhcmFtW291dF0gU2VjcmV0U2l6ZSAgICAgT24gc3VjY2Vz cywgaG9sZHMgc2VjcmV0IHNpemUuDQo+ICAgIEBwYXJhbVtvdXRdIFNlY3JldCAgICAgICAgIE9u IHN1Y2Nlc3MsIGhvbGRzIHRoZSBkZXJpdmVkIHNlY3JldC4NCj4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgU2hvdWxkIGJlIGZyZWVkIGJ5IGNhbGxlciB1c2luZyBGcmVlUG9vbCgpDQo+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uLg0KPiANCj4gLSAgQHJldHZh bCBFRklfU1VDQ0VTUyAgICAgICAgT24gc3VjY2Vzcy4NCj4gLSAgQHJldHZhbCBFRklfUFJPVE9D T0xfRVJST1IgT24gZmFpbHVyZS4NCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAg T24gc3VjY2Vzcy4NCj4gKyAgQHJldHZhbCBFRklfVU5TVVBQT1JURUQgICAgICAgRUNDIGdyb3Vw IG5vdCBzdXBwb3J0ZWQuDQo+ICsgIEByZXR2YWwgRUZJX0lOVkFMSURfUEFSQU1FVEVSIE9uZSBv ciBtb3JlIG9mIHRoZSBmb2xsb3dpbmcgDQo+ICsgY29uZGl0aW9ucyBpcw0KPiBUUlVFOg0KPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWNyZXQgaXMgTlVMTC4NCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgU2VjcmV0U2l6ZSBpcyBOVUxMLg0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBQdWJsaWMga2V5IGluIEVjUG9pbnRQdWJsaWMgaXMg aW52YWxpZC4NCj4gKyAgQHJldHZhbCBFRklfUFJPVE9DT0xfRVJST1IgICAgT24gZmFpbHVyZS4N Cj4gICoqLw0KPiAgRUZJX1NUQVRVUw0KPiAgRUZJQVBJDQo+IGRpZmYgLS1naXQgYS9DcnlwdG9Q a2cvSW5jbHVkZS9MaWJyYXJ5L0Jhc2VDcnlwdExpYi5oDQo+IGIvQ3J5cHRvUGtnL0luY2x1ZGUv TGlicmFyeS9CYXNlQ3J5cHRMaWIuaA0KPiBpbmRleCA4ZmNiNDk2YzQwLi4wZGU5ZjA3MzllIDEw MDY0NA0KPiAtLS0gYS9DcnlwdG9Qa2cvSW5jbHVkZS9MaWJyYXJ5L0Jhc2VDcnlwdExpYi5oDQo+ ICsrKyBiL0NyeXB0b1BrZy9JbmNsdWRlL0xpYnJhcnkvQmFzZUNyeXB0TGliLmgNCj4gQEAgLTI3 MjMsNyArMjcyMyw2IEBAIEJpZ051bVZhbHVlT25lICgNCj4gICAgQHBhcmFtW291dF0gIEJuUmVz ICAgVGhlIHJlc3VsdC4NCj4gDQo+ICAgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgT24g c3VjY2Vzcy4NCj4gLSAgQHJldHZhbCBFRklfT1VUX09GX1JFU09VUkNFUyBJbiBjYXNlIG9mIGlu dGVybmFsIGFsbG9jYXRpb24gZmFpbHVyZXMuDQo+ICAgIEByZXR2YWwgRUZJX1BST1RPQ09MX0VS Uk9SICAgT3RoZXJ3aXNlLg0KPiAgKiovDQo+ICBFRklfU1RBVFVTDQo+IEBAIC0yNzk3LDYgKzI3 OTYsOSBAQCBCaWdOdW1Db250ZXh0RnJlZSAoDQo+IA0KPiAgICBAcGFyYW1baW5dICAgQm4gICAg IEJpZyBudW1iZXIgdG8gc2V0Lg0KPiAgICBAcGFyYW1baW5dICAgVmFsICAgIFZhbHVlIHRvIHNl dC4NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgIE9uIHN1Y2Nlc3MuDQo+ ICsgIEByZXR2YWwgRUZJX1BST1RPQ09MX0VSUk9SICAgT3RoZXJ3aXNlLg0KPiAgKiovDQo+ICBF RklfU1RBVFVTDQo+ICBFRklBUEkNCj4gQEAgLTI4MzIsNyArMjgzNCw3IEBAIEJpZ051bUFkZE1v ZCAoDQo+ICAgIHVzaW5nIEVjR3JvdXBGcmVlKCkgZnVuY3Rpb24uDQo+IA0KPiAgICBAcGFyYW1b aW5dICBHcm91cCAgSWRlbnRpZnlpbmcgbnVtYmVyIGZvciB0aGUgRUNDIGdyb3VwIChJQU5BICJH cm91cA0KPiAtICAgICAgICAgICAgICAgICAgICAgRGVzY3JpcHRpb24iIGF0dHJpYnV0ZSByZWdp c3RydHkgZm9yIFJGQyAyNDA5KS4NCj4gKyAgICAgICAgICAgICAgICAgICAgIERlc2NyaXB0aW9u IiBhdHRyaWJ1dGUgcmVnaXN0cnkgZm9yIFJGQyAyNDA5KS4NCj4gDQo+ICAgIEByZXR2YWwgRWNH cm91cCBvYmplY3QgIE9uIHN1Y2Nlc3MuDQo+ICAgIEByZXR2YWwgTlVMTCAgICAgICAgICAgIE9u IGZhaWx1cmUuDQo+IEBAIC0yODUxLDggKzI4NTMsOCBAQCBFY0dyb3VwSW5pdCAoDQo+IA0KPiAg ICBAcGFyYW1baW5dICBFY0dyb3VwICAgIEVDIGdyb3VwIG9iamVjdC4NCj4gICAgQHBhcmFtW291 dF0gQm5QcmltZSAgICBHcm91cCBwcmltZSBudW1iZXIuDQo+IC0gIEBwYXJhbVtvdXRdIEJuQSAg ICAgICAgQSBjb29mZWNpZW50Lg0KPiAtICBAcGFyYW1bb3V0XSBCbkIgICAgICAgIEIgY29vZmVj aWVudC4NCj4gKyAgQHBhcmFtW291dF0gQm5BICAgICAgICBBIGNvZWZmaWNpZW50Lg0KPiArICBA cGFyYW1bb3V0XSBCbkIgICAgICAgIEIgY29lZmZpY2llbnQuDQo+ICAgIEBwYXJhbVtpbl0gIEJu Q3R4ICAgICAgQk4gY29udGV4dC4NCj4gDQo+ICAgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAg IE9uIHN1Y2Nlc3MuDQo+IEBAIC0zMTIxLDEzICszMTIzLDE0IEBAIEVjUG9pbnRTZXRDb21wcmVz c2VkQ29vcmRpbmF0ZXMgKA0KPiAgLyoqDQo+ICAgIEdlbmVyYXRlIGEga2V5IHVzaW5nIEVDREgg YWxnb3JpdGhtLiBQbGVhc2Ugbm90ZSwgdGhpcyBmdW5jdGlvbiB1c2VzDQo+ICAgIHBzZXVkbyBy YW5kb20gbnVtYmVyIGdlbmVyYXRvci4gVGhlIGNhbGxlciBtdXN0IG1ha2Ugc3VyZSANCj4gUmFu ZG9tU2VlZCgpDQo+IC0gIGZ1bnRpb24gd2FzIHByb3Blcmx5IGNhbGxlZCBiZWZvcmUuDQo+ICsg IGZ1bmN0aW9uIHdhcyBwcm9wZXJseSBjYWxsZWQgYmVmb3JlLg0KPiANCj4gICAgQHBhcmFtW2lu XSAgR3JvdXAgICAgSWRlbnRpZnlpbmcgbnVtYmVyIGZvciB0aGUgRUNDIGdyb3VwIChJQU5BICJH cm91cA0KPiAtICAgICAgICAgICAgICAgICAgICAgICBEZXNjcmlwdGlvbiIgYXR0cmlidXRlIHJl Z2lzdHJ0eSBmb3IgUkZDIDI0MDkpLg0KPiArICAgICAgICAgICAgICAgICAgICAgICBEZXNjcmlw dGlvbiIgYXR0cmlidXRlIHJlZ2lzdHJ5IGZvciBSRkMgMjQwOSkuDQo+ICAgIEBwYXJhbVtvdXRd IFBLZXkgICAgIFBvaW50ZXIgdG8gYW4gb2JqZWN0IHRoYXQgd2lsbCBob2xkIHRoZSBFQ0RIIGtl eS4NCj4gDQo+ICAgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgIE9uIHN1Y2Nlc3MuDQo+ICsg IEByZXR2YWwgRUZJX1VOU1VQUE9SVEVEICAgIEVDQyBncm91cCBub3Qgc3VwcG9ydGVkLg0KPiAg ICBAcmV0dmFsIEVGSV9QUk9UT0NPTF9FUlJPUiBPbiBmYWlsdXJlLg0KPiAgKiovDQo+ICBFRklf U1RBVFVTDQo+IEBAIC0zMTU1LDggKzMxNTgsOSBAQCBFY0RoS2V5RnJlZSAoDQo+ICAgIEBwYXJh bVtpbl0gIFBLZXkgICAgIEVDREggS2V5IG9iamVjdC4NCj4gICAgQHBhcmFtW291dF0gRWNQb2lu dCAgUHJvcGVybHkgaW5pdGlhbGl6ZWQgRUMgUG9pbnQgdG8gaG9sZCB0aGUgcHVibGljIGtleS4N Cj4gDQo+IC0gIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgIE9uIHN1Y2Nlc3MuDQo+IC0gIEBy ZXR2YWwgRUZJX1BST1RPQ09MX0VSUk9SIE9uIGZhaWx1cmUuDQo+ICsgIEByZXR2YWwgRUZJX1NV Q0NFU1MgICAgICAgICAgIE9uIHN1Y2Nlc3MuDQo+ICsgIEByZXR2YWwgRUZJX0lOVkFMSURfUEFS QU1FVEVSIEVjUG9pbnQgc2hvdWxkIGJlIGluaXRpYWxpemVkIHByb3Blcmx5Lg0KPiArICBAcmV0 dmFsIEVGSV9QUk9UT0NPTF9FUlJPUiAgICBPbiBmYWlsdXJlLg0KPiAgKiovDQo+ICBFRklfU1RB VFVTDQo+ICBFRklBUEkNCj4gQEAgLTMxNzAsMTUgKzMxNzQsMjAgQEAgRWNEaEdldFB1YktleSAo DQo+IA0KPiAgICBAcGFyYW1baW5dICBQS2V5ICAgICAgICAgICBFQ0RIIEtleSBvYmplY3QuDQo+ ICAgIEBwYXJhbVtpbl0gIEdyb3VwICAgICAgICAgIElkZW50aWZ5aW5nIG51bWJlciBmb3IgdGhl IEVDQyBncm91cCAoSUFOQSAiR3JvdXANCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg RGVzY3JpcHRpb24iIGF0dHJpYnV0ZSByZWdpc3RydHkgZm9yIFJGQyAyNDA5KS4NCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgRGVzY3JpcHRpb24iIGF0dHJpYnV0ZSByZWdpc3RyeSBm b3IgUkZDIDI0MDkpLg0KPiAgICBAcGFyYW1baW5dICBFY1BvaW50UHVibGljICBQZWVyIHB1Ymxp YyBrZXkuDQo+ICAgIEBwYXJhbVtvdXRdIFNlY3JldFNpemUgICAgIE9uIHN1Y2Nlc3MsIGhvbGRz IHNlY3JldCBzaXplLg0KPiAgICBAcGFyYW1bb3V0XSBTZWNyZXQgICAgICAgICBPbiBzdWNjZXNz LCBob2xkcyB0aGUgZGVyaXZlZCBzZWNyZXQuDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFNob3VsZCBiZSBmcmVlZCBieSBjYWxsZXIgdXNpbmcgRnJlZVBvb2woKQ0KPiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbi4NCj4gDQo+IC0gIEByZXR2YWwgRUZJX1NV Q0NFU1MgICAgICAgIE9uIHN1Y2Nlc3MuDQo+IC0gIEByZXR2YWwgRUZJX1BST1RPQ09MX0VSUk9S IE9uIGZhaWx1cmUuDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgIE9uIHN1Y2Nl c3MuDQo+ICsgIEByZXR2YWwgRUZJX1VOU1VQUE9SVEVEICAgICAgIEVDQyBncm91cCBub3Qgc3Vw cG9ydGVkLg0KPiArICBAcmV0dmFsIEVGSV9JTlZBTElEX1BBUkFNRVRFUiBPbmUgb3IgbW9yZSBv ZiB0aGUgZm9sbG93aW5nIA0KPiArIGNvbmRpdGlvbnMgaXMNCj4gVFJVRToNCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgU2VjcmV0IGlzIE5VTEwuDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFNlY3JldFNpemUgaXMgTlVMTC4NCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUHVibGljIGtleSBpbiBFY1BvaW50UHVibGljIGlzIGludmFsaWQu DQo+ICsgIEByZXR2YWwgRUZJX1BST1RPQ09MX0VSUk9SICAgIE9uIGZhaWx1cmUuDQo+ICAqKi8N Cj4gIEVGSV9TVEFUVVMNCj4gIEVGSUFQSQ0KPiBkaWZmIC0tZ2l0IGEvQ3J5cHRvUGtnL0xpYnJh cnkvQmFzZUNyeXB0TGliL0JuL0NyeXB0Qm4uYw0KPiBiL0NyeXB0b1BrZy9MaWJyYXJ5L0Jhc2VD cnlwdExpYi9Cbi9DcnlwdEJuLmMNCj4gaW5kZXggM2U0MzQ5MmE1Ni4uYjY0MTFjZDU0MSAxMDA2 NDQNCj4gLS0tIGEvQ3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0TGliL0JuL0NyeXB0Qm4uYw0K PiArKysgYi9DcnlwdG9Qa2cvTGlicmFyeS9CYXNlQ3J5cHRMaWIvQm4vQ3J5cHRCbi5jDQo+IEBA IC00NDIsNyArNDQyLDYgQEAgQmlnTnVtVmFsdWVPbmUgKA0KPiAgICBAcGFyYW1bb3V0XSAgQm5S ZXMgICBUaGUgcmVzdWx0Lg0KPiANCj4gICAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICBP biBzdWNjZXNzLg0KPiAtICBAcmV0dmFsIEVGSV9PVVRfT0ZfUkVTT1VSQ0VTIEluIGNhc2Ugb2Yg aW50ZXJuYWwgYWxsb2NhdGlvbiBmYWlsdXJlcy4NCj4gICAgQHJldHZhbCBFRklfUFJPVE9DT0xf RVJST1IgICBPdGhlcndpc2UuDQo+ICAqKi8NCj4gIEVGSV9TVEFUVVMNCj4gQEAgLTQ1Myw4ICs0 NTIsNyBAQCBCaWdOdW1SU2hpZnQgKA0KPiAgICBPVVQgVk9JRCAgICAgICAqQm5SZXMNCj4gICAg KQ0KPiAgew0KPiAtICAvLyBCTl9yc2hpZnQoKSBkb2VzIG5vdCBtb2RpZnkgdGhlIGZpcnN0IGFy Z3VtZW50LCBzbyB3ZSByZW1vdmUgY29uc3QuDQo+IC0gIGlmIChCTl9yc2hpZnQgKChCSUdOVU0g KilCbiwgQm5SZXMsIChpbnQpbikgPT0gMSkgew0KPiArICBpZiAoQk5fcnNoaWZ0IChCblJlcywg Qm4sIChpbnQpbikgPT0gMSkgew0KPiAgICAgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gICAgfSBl bHNlIHsNCj4gICAgICByZXR1cm4gRUZJX1BST1RPQ09MX0VSUk9SOw0KPiBAQCAtNTQ3LDYgKzU0 NSw5IEBAIEJpZ051bUNvbnRleHRGcmVlICgNCj4gDQo+ICAgIEBwYXJhbVtpbl0gICBCbiAgICAg QmlnIG51bWJlciB0byBzZXQuDQo+ICAgIEBwYXJhbVtpbl0gICBWYWwgICAgVmFsdWUgdG8gc2V0 Lg0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgT24gc3VjY2Vzcy4NCj4g KyAgQHJldHZhbCBFRklfUFJPVE9DT0xfRVJST1IgICBPdGhlcndpc2UuDQo+ICAqKi8NCj4gIEVG SV9TVEFUVVMNCj4gIEVGSUFQSQ0KPiBkaWZmIC0tZ2l0IGEvQ3J5cHRvUGtnL0xpYnJhcnkvQmFz ZUNyeXB0TGliL0JuL0NyeXB0Qm5OdWxsLmMNCj4gYi9DcnlwdG9Qa2cvTGlicmFyeS9CYXNlQ3J5 cHRMaWIvQm4vQ3J5cHRCbk51bGwuYw0KPiBpbmRleCA0YTI3NDMzYTBlLi40ZDJmYTAzOWRmIDEw MDY0NA0KPiAtLS0gYS9DcnlwdG9Qa2cvTGlicmFyeS9CYXNlQ3J5cHRMaWIvQm4vQ3J5cHRCbk51 bGwuYw0KPiArKysgYi9DcnlwdG9Qa2cvTGlicmFyeS9CYXNlQ3J5cHRMaWIvQm4vQ3J5cHRCbk51 bGwuYw0KPiBAQCAtMzk1LDcgKzM5NSw2IEBAIEJpZ051bVZhbHVlT25lICgNCj4gICAgQHBhcmFt W291dF0gIEJuUmVzICAgVGhlIHJlc3VsdC4NCj4gDQo+ICAgIEByZXR2YWwgRUZJX1NVQ0NFU1Mg ICAgICAgICAgT24gc3VjY2Vzcy4NCj4gLSAgQHJldHZhbCBFRklfT1VUX09GX1JFU09VUkNFUyBJ biBjYXNlIG9mIGludGVybmFsIGFsbG9jYXRpb24gZmFpbHVyZXMuDQo+ICAgIEByZXR2YWwgRUZJ X1BST1RPQ09MX0VSUk9SICAgT3RoZXJ3aXNlLg0KPiAgKiovDQo+ICBFRklfU1RBVFVTDQo+IEBA IC00ODcsNiArNDg2LDkgQEAgQmlnTnVtQ29udGV4dEZyZWUgKA0KPiANCj4gICAgQHBhcmFtW2lu XSAgIEJuICAgICBCaWcgbnVtYmVyIHRvIHNldC4NCj4gICAgQHBhcmFtW2luXSAgIFZhbCAgICBW YWx1ZSB0byBzZXQuDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICBPbiBz dWNjZXNzLg0KPiArICBAcmV0dmFsIEVGSV9QUk9UT0NPTF9FUlJPUiAgIE90aGVyd2lzZS4NCj4g ICoqLw0KPiAgRUZJX1NUQVRVUw0KPiAgRUZJQVBJDQo+IGRpZmYgLS1naXQgYS9DcnlwdG9Qa2cv TGlicmFyeS9CYXNlQ3J5cHRMaWIvRWMvQ3J5cHRFYy5jDQo+IGIvQ3J5cHRvUGtnL0xpYnJhcnkv QmFzZUNyeXB0TGliL0VjL0NyeXB0RWMuYw0KPiBpbmRleCA0ZDFhYWI4ZDMyLi45MGQxYjhiY2U3 IDEwMDY0NA0KPiAtLS0gYS9DcnlwdG9Qa2cvTGlicmFyeS9CYXNlQ3J5cHRMaWIvRWMvQ3J5cHRF Yy5jDQo+ICsrKyBiL0NyeXB0b1BrZy9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9FYy9DcnlwdEVjLmMN Cj4gQEAgLTIxLDEzICsyMSwxMyBAQA0KPiAgI2luY2x1ZGUgPG9wZW5zc2wvZWMuaD4NCj4gDQo+ ICAvKioNCj4gLSAgVGVtcCBjb21tZW50Lg0KPiArICBSZXR1cm4gdGhlIE5pZCBvZiBjZXJ0YWlu IEVDQyBncm91cC4NCj4gDQo+ICAgIEBwYXJhbVtpbl0gIEdyb3VwICBJZGVudGlmeWluZyBudW1i ZXIgZm9yIHRoZSBFQ0MgZ3JvdXAgKElBTkEgIkdyb3VwDQo+IC0gICAgICAgICAgICAgICAgICAg ICBEZXNjcmlwdGlvbiIgYXR0cmlidXRlIHJlZ2lzdHJ0eSBmb3IgUkZDIDI0MDkpLg0KPiArICAg ICAgICAgICAgICAgICAgICAgRGVzY3JpcHRpb24iIGF0dHJpYnV0ZSByZWdpc3RyeSBmb3IgUkZD IDI0MDkpLg0KPiANCj4gLSAgQHJldHZhbCBFY0dyb3VwIG9iamVjdCAgT24gc3VjY2Vzcy4NCj4g LSAgQHJldHZhbCBOVUxMICAgICAgICAgICAgT24gZmFpbHVyZS4NCj4gKyAgQHJldHZhbCAhPS0x ICAgIE9uIHN1Y2Nlc3MuDQo+ICsgIEByZXR2YWwgLTEgICAgICBFQ0MgZ3JvdXAgbm90IHN1cHBv cnRlZC4NCj4gICoqLw0KPiAgU1RBVElDDQo+ICBJTlQzMg0KPiBAQCAtNDcsMTIgKzQ3LDYgQEAg R3JvdXBUb05pZCAoDQo+ICAgICAgY2FzZSAyMToNCj4gICAgICAgIE5pZCA9IE5JRF9zZWNwNTIx cjE7DQo+ICAgICAgICBicmVhazsNCj4gLSAgICBjYXNlIDI1Og0KPiAtICAgICAgTmlkID0gTklE X1g5XzYyX3ByaW1lMTkydjE7DQo+IC0gICAgICBicmVhazsNCj4gLSAgICBjYXNlIDI2Og0KPiAt ICAgICAgTmlkID0gTklEX3NlY3AyMjRyMTsNCj4gLSAgICAgIGJyZWFrOw0KPiAgICAgIGRlZmF1 bHQ6DQo+ICAgICAgICByZXR1cm4gLTE7DQo+ICAgIH0NCj4gQEAgLTY2LDcgKzYwLDcgQEAgR3Jv dXBUb05pZCAoDQo+ICAgIHVzaW5nIEVjR3JvdXBGcmVlKCkgZnVuY3Rpb24uDQo+IA0KPiAgICBA cGFyYW1baW5dICBHcm91cCAgSWRlbnRpZnlpbmcgbnVtYmVyIGZvciB0aGUgRUNDIGdyb3VwIChJ QU5BICJHcm91cA0KPiAtICAgICAgICAgICAgICAgICAgICAgRGVzY3JpcHRpb24iIGF0dHJpYnV0 ZSByZWdpc3RydHkgZm9yIFJGQyAyNDA5KS4NCj4gKyAgICAgICAgICAgICAgICAgICAgIERlc2Ny aXB0aW9uIiBhdHRyaWJ1dGUgcmVnaXN0cnkgZm9yIFJGQyAyNDA5KS4NCj4gDQo+ICAgIEByZXR2 YWwgRWNHcm91cCBvYmplY3QgIE9uIHN1Y2Nlc3MuDQo+ICAgIEByZXR2YWwgTlVMTCAgICAgICAg ICAgIE9uIGZhaWx1cmUuDQo+IEBAIC05Niw4ICs5MCw4IEBAIEVjR3JvdXBJbml0ICgNCj4gDQo+ ICAgIEBwYXJhbVtpbl0gIEVjR3JvdXAgICAgRUMgZ3JvdXAgb2JqZWN0Lg0KPiAgICBAcGFyYW1b b3V0XSBCblByaW1lICAgIEdyb3VwIHByaW1lIG51bWJlci4NCj4gLSAgQHBhcmFtW291dF0gQm5B ICAgICAgICBBIGNvb2ZlY2llbnQuDQo+IC0gIEBwYXJhbVtvdXRdIEJuQiAgICAgICAgQiBjb29m ZWNpZW50Lg0KPiArICBAcGFyYW1bb3V0XSBCbkEgICAgICAgIEEgY29lZmZpY2llbnQuDQo+ICsg IEBwYXJhbVtvdXRdIEJuQiAgICAgICAgQiBjb2VmZmljaWVudC4NCj4gICAgQHBhcmFtW2luXSAg Qm5DdHggICAgICBCTiBjb250ZXh0Lg0KPiANCj4gICAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAg ICAgT24gc3VjY2Vzcy4NCj4gQEAgLTIxOCw3ICsyMTIsNyBAQCBFY1BvaW50R2V0QWZmaW5lQ29v cmRpbmF0ZXMgKA0KPiAgICApDQo+ICB7DQo+ICAgIHJldHVybiBFQ19QT0lOVF9nZXRfYWZmaW5l X2Nvb3JkaW5hdGVzIChFY0dyb3VwLCBFY1BvaW50LCBCblgsIEJuWSwgQm5DdHgpID8NCj4gLSAg ICAgICAgIEVGSV9TVUNDRVNTIDogRUZJX0lOVkFMSURfUEFSQU1FVEVSOw0KPiArICAgICAgICAg RUZJX1NVQ0NFU1MgOiBFRklfUFJPVE9DT0xfRVJST1I7DQo+ICB9DQo+IA0KPiAgLyoqDQo+IEBA IC0yNDQsNyArMjM4LDcgQEAgRWNQb2ludFNldEFmZmluZUNvb3JkaW5hdGVzICgNCj4gICAgKQ0K PiAgew0KPiAgICByZXR1cm4gRUNfUE9JTlRfc2V0X2FmZmluZV9jb29yZGluYXRlcyAoRWNHcm91 cCwgRWNQb2ludCwgQm5YLCBCblksIEJuQ3R4KSA/DQo+IC0gICAgICAgICBFRklfU1VDQ0VTUyA6 IEVGSV9JTlZBTElEX1BBUkFNRVRFUjsNCj4gKyAgICAgICAgIEVGSV9TVUNDRVNTIDogRUZJX1BS T1RPQ09MX0VSUk9SOw0KPiAgfQ0KPiANCj4gIC8qKg0KPiBAQCAtMjcxLDcgKzI2NSw3IEBAIEVj UG9pbnRBZGQgKA0KPiAgICApDQo+ICB7DQo+ICAgIHJldHVybiBFQ19QT0lOVF9hZGQgKEVjR3Jv dXAsIEVjUG9pbnRSZXN1bHQsIEVjUG9pbnRBLCBFY1BvaW50QiwgQm5DdHgpID8NCj4gLSAgICAg ICAgIEVGSV9TVUNDRVNTIDogRUZJX0lOVkFMSURfUEFSQU1FVEVSOw0KPiArICAgICAgICAgRUZJ X1NVQ0NFU1MgOiBFRklfUFJPVE9DT0xfRVJST1I7DQo+ICB9DQo+IA0KPiAgLyoqDQo+IEBAIC0y OTgsNyArMjkyLDcgQEAgRWNQb2ludE11bCAoDQo+ICAgICkNCj4gIHsNCj4gICAgcmV0dXJuIEVD X1BPSU5UX211bCAoRWNHcm91cCwgRWNQb2ludFJlc3VsdCwgTlVMTCwgRWNQb2ludCwgDQo+IEJu UFNjYWxhciwNCj4gQm5DdHgpID8NCj4gLSAgICAgICAgIEVGSV9TVUNDRVNTIDogRUZJX0lOVkFM SURfUEFSQU1FVEVSOw0KPiArICAgICAgICAgRUZJX1NVQ0NFU1MgOiBFRklfUFJPVE9DT0xfRVJS T1I7DQo+ICB9DQo+IA0KPiAgLyoqDQo+IEBAIC0zMjAsNyArMzE0LDcgQEAgRWNQb2ludEludmVy dCAoDQo+ICAgICkNCj4gIHsNCj4gICAgcmV0dXJuIEVDX1BPSU5UX2ludmVydCAoRWNHcm91cCwg RWNQb2ludCwgQm5DdHgpID8NCj4gLSAgICAgICAgIEVGSV9TVUNDRVNTIDogRUZJX0lOVkFMSURf UEFSQU1FVEVSOw0KPiArICAgICAgICAgRUZJX1NVQ0NFU1MgOiBFRklfUFJPVE9DT0xfRVJST1I7 DQo+ICB9DQo+IA0KPiAgLyoqDQo+IEBAIC00MTQsMTkgKzQwOCwyMCBAQCBFY1BvaW50U2V0Q29t cHJlc3NlZENvb3JkaW5hdGVzICgNCj4gICAgKQ0KPiAgew0KPiAgICByZXR1cm4gRUNfUE9JTlRf c2V0X2NvbXByZXNzZWRfY29vcmRpbmF0ZXMgKEVjR3JvdXAsIEVjUG9pbnQsIEJuWCwgDQo+IFlC aXQsDQo+IEJuQ3R4KSA/DQo+IC0gICAgICAgICBFRklfU1VDQ0VTUyA6IEVGSV9JTlZBTElEX1BB UkFNRVRFUjsNCj4gKyAgICAgICAgIEVGSV9TVUNDRVNTIDogRUZJX1BST1RPQ09MX0VSUk9SOw0K PiAgfQ0KPiANCj4gIC8qKg0KPiAgICBHZW5lcmF0ZSBhIGtleSB1c2luZyBFQ0RIIGFsZ29yaXRo bS4gUGxlYXNlIG5vdGUsIHRoaXMgZnVuY3Rpb24gdXNlcw0KPiAgICBwc2V1ZG8gcmFuZG9tIG51 bWJlciBnZW5lcmF0b3IuIFRoZSBjYWxsZXIgbXVzdCBtYWtlIHN1cmUgDQo+IFJhbmRvbVNlZWQo KQ0KPiAtICBmdW50aW9uIHdhcyBwcm9wZXJseSBjYWxsZWQgYmVmb3JlLg0KPiArICBmdW5jdGlv biB3YXMgcHJvcGVybHkgY2FsbGVkIGJlZm9yZS4NCj4gDQo+ICAgIEBwYXJhbVtpbl0gIEdyb3Vw ICAgIElkZW50aWZ5aW5nIG51bWJlciBmb3IgdGhlIEVDQyBncm91cCAoSUFOQSAiR3JvdXANCj4g LSAgICAgICAgICAgICAgICAgICAgICAgRGVzY3JpcHRpb24iIGF0dHJpYnV0ZSByZWdpc3RydHkg Zm9yIFJGQyAyNDA5KS4NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgRGVzY3JpcHRpb24iIGF0 dHJpYnV0ZSByZWdpc3RyeSBmb3IgUkZDIDI0MDkpLg0KPiAgICBAcGFyYW1bb3V0XSBQS2V5ICAg ICBQb2ludGVyIHRvIGFuIG9iamVjdCB0aGF0IHdpbGwgaG9sZCB0aGUgRUNESCBrZXkuDQo+IA0K PiAgICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICBPbiBzdWNjZXNzLg0KPiArICBAcmV0dmFs IEVGSV9VTlNVUFBPUlRFRCAgICBFQ0MgZ3JvdXAgbm90IHN1cHBvcnRlZC4NCj4gICAgQHJldHZh bCBFRklfUFJPVE9DT0xfRVJST1IgT24gZmFpbHVyZS4NCj4gICoqLw0KPiAgRUZJX1NUQVRVUw0K PiBAQCAtNTA4LDggKzUwMyw5IEBAIEVjRGhLZXlGcmVlICgNCj4gICAgQHBhcmFtW2luXSAgUEtl eSAgICAgRUNESCBLZXkgb2JqZWN0Lg0KPiAgICBAcGFyYW1bb3V0XSBFY1BvaW50ICBQcm9wZXJs eSBpbml0aWFsaXplZCBFQyBQb2ludCB0byBob2xkIHRoZSBwdWJsaWMga2V5Lg0KPiANCj4gLSAg QHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgT24gc3VjY2Vzcy4NCj4gLSAgQHJldHZhbCBFRklf UFJPVE9DT0xfRVJST1IgT24gZmFpbHVyZS4NCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAg ICAgICAgT24gc3VjY2Vzcy4NCj4gKyAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIgRWNQ b2ludCBzaG91bGQgYmUgaW5pdGlhbGl6ZWQgcHJvcGVybHkuDQo+ICsgIEByZXR2YWwgRUZJX1BS T1RPQ09MX0VSUk9SICAgIE9uIGZhaWx1cmUuDQo+ICAqKi8NCj4gIEVGSV9TVEFUVVMNCj4gIEVG SUFQSQ0KPiBAQCAtNTUzLDE1ICs1NDksMjEgQEAgb3V0Og0KPiANCj4gICAgQHBhcmFtW2luXSAg UEtleSAgICAgICAgICAgRUNESCBLZXkgb2JqZWN0Lg0KPiAgICBAcGFyYW1baW5dICBHcm91cCAg ICAgICAgICBJZGVudGlmeWluZyBudW1iZXIgZm9yIHRoZSBFQ0MgZ3JvdXAgKElBTkEgIkdyb3Vw DQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlc2NyaXB0aW9uIiBhdHRyaWJ1dGUg cmVnaXN0cnR5IGZvciBSRkMgMjQwOSkuDQo+IC0gIEBwYXJhbVtpbl0gIEVjUG9pbnRQdWJsaWMg IFBlZXIgcHVibGljIGtleS4NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVzY3Jp cHRpb24iIGF0dHJpYnV0ZSByZWdpc3RyeSBmb3IgUkZDIDI0MDkpLg0KPiArICBAcGFyYW1baW5d ICBFY1BvaW50UHVibGljICBQZWVyIHB1YmxpYyBrZXkuIENlcnRhaW4gc2FuaXR5IGNoZWNrcyBv biB0aGUga2V5DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbGwgYmUgcGVyZm9y bWVkIHRvIGNvbmZpcm0gdGhhdCBpdCBpcyB2YWxpZC4NCj4gICAgQHBhcmFtW291dF0gU2VjcmV0 U2l6ZSAgICAgT24gc3VjY2VzcywgaG9sZHMgc2VjcmV0IHNpemUuDQo+ICAgIEBwYXJhbVtvdXRd IFNlY3JldCAgICAgICAgIE9uIHN1Y2Nlc3MsIGhvbGRzIHRoZSBkZXJpdmVkIHNlY3JldC4NCj4g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2hvdWxkIGJlIGZyZWVkIGJ5IGNhbGxlciB1 c2luZyBGcmVlUG9vbCgpDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9u Lg0KPiANCj4gLSAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgT24gc3VjY2Vzcy4NCj4gLSAg QHJldHZhbCBFRklfUFJPVE9DT0xfRVJST1IgT24gZmFpbHVyZS4NCj4gKyAgQHJldHZhbCBFRklf U1VDQ0VTUyAgICAgICAgICAgT24gc3VjY2Vzcy4NCj4gKyAgQHJldHZhbCBFRklfVU5TVVBQT1JU RUQgICAgICAgRUNDIGdyb3VwIG5vdCBzdXBwb3J0ZWQuDQo+ICsgIEByZXR2YWwgRUZJX0lOVkFM SURfUEFSQU1FVEVSIE9uZSBvciBtb3JlIG9mIHRoZSBmb2xsb3dpbmcgDQo+ICsgY29uZGl0aW9u cyBpcw0KPiBUUlVFOg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWNyZXQg aXMgTlVMTC4NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2VjcmV0U2l6ZSBp cyBOVUxMLg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQdWJsaWMga2V5IGlu IEVjUG9pbnRQdWJsaWMgaXMgaW52YWxpZC4NCj4gKyAgQHJldHZhbCBFRklfUFJPVE9DT0xfRVJS T1IgICAgT24gZmFpbHVyZS4NCj4gICoqLw0KPiAgRUZJX1NUQVRVUw0KPiAgRUZJQVBJDQo+IEBA IC02MDUsNiArNjA3LDExIEBAIEVjRGhEZXJpdmVTZWNyZXQgKA0KPiAgICAgIGdvdG8gZmFpbDsN Cj4gICAgfQ0KPiANCj4gKyAgaWYgKCFFQ19LRVlfY2hlY2tfa2V5IChFY0tleSkpIHsNCj4gKyAg ICBTdGF0dXMgPSBFRklfSU5WQUxJRF9QQVJBTUVURVI7DQo+ICsgICAgZ290byBmYWlsOw0KPiAr ICB9DQo+ICsNCj4gICAgQ3R4ID0gRVZQX1BLRVlfQ1RYX25ldyAoUEtleSwgTlVMTCk7DQo+ICAg IGlmICgoQ3R4ID09IE5VTEwpIHx8IChFVlBfUEtFWV9kZXJpdmVfaW5pdCAoQ3R4KSAhPSAxKSB8 fA0KPiAgICAgICAgKEVWUF9QS0VZX2Rlcml2ZV9zZXRfcGVlciAoQ3R4LCBQZWVyS2V5KSAhPSAx KSB8fCBkaWZmIC0tZ2l0IA0KPiBhL0NyeXB0b1BrZy9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9FYy9D cnlwdEVjTnVsbC5jDQo+IGIvQ3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0TGliL0VjL0NyeXB0 RWNOdWxsLmMNCj4gaW5kZXggMmQ3ZTVkYjQ2NC4uZTdmZTM3ODA5NSAxMDA2NDQNCj4gLS0tIGEv Q3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0TGliL0VjL0NyeXB0RWNOdWxsLmMNCj4gKysrIGIv Q3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0TGliL0VjL0NyeXB0RWNOdWxsLmMNCj4gQEAgLTE1 LDcgKzE1LDcgQEANCj4gICAgdXNpbmcgRWNHcm91cEZyZWUoKSBmdW5jdGlvbi4NCj4gDQo+ICAg IEBwYXJhbVtpbl0gIEdyb3VwICBJZGVudGlmeWluZyBudW1iZXIgZm9yIHRoZSBFQ0MgZ3JvdXAg KElBTkEgIkdyb3VwDQo+IC0gICAgICAgICAgICAgICAgICAgICBEZXNjcmlwdGlvbiIgYXR0cmli dXRlIHJlZ2lzdHJ0eSBmb3IgUkZDIDI0MDkpLg0KPiArICAgICAgICAgICAgICAgICAgICAgRGVz Y3JpcHRpb24iIGF0dHJpYnV0ZSByZWdpc3RyeSBmb3IgUkZDIDI0MDkpLg0KPiANCj4gICAgQHJl dHZhbCBFY0dyb3VwIG9iamVjdCAgT24gc3VjY2Vzcy4NCj4gICAgQHJldHZhbCBOVUxMICAgICAg ICAgICAgT24gZmFpbHVyZS4NCj4gQEAgLTM4LDggKzM4LDggQEAgRWNHcm91cEluaXQgKA0KPiAN Cj4gICAgQHBhcmFtW2luXSAgRWNHcm91cCAgICBFQyBncm91cCBvYmplY3QuDQo+ICAgIEBwYXJh bVtvdXRdIEJuUHJpbWUgICAgR3JvdXAgcHJpbWUgbnVtYmVyLg0KPiAtICBAcGFyYW1bb3V0XSBC bkEgICAgICAgIEEgY29vZmVjaWVudC4NCj4gLSAgQHBhcmFtW291dF0gQm5CICAgICAgICBCIGNv b2ZlY2llbnQuDQo+ICsgIEBwYXJhbVtvdXRdIEJuQSAgICAgICAgQSBjb2VmZmljaWVudC4NCj4g KyAgQHBhcmFtW291dF0gQm5CICAgICAgICBCIGNvZWZmaWNpZW50Lg0KPiAgICBAcGFyYW1baW5d ICBCbkN0eCAgICAgIEJOIGNvbnRleHQuDQo+IA0KPiAgICBAcmV0dmFsIEVGSV9TVUNDRVNTICAg ICAgICBPbiBzdWNjZXNzLg0KPiBAQCAtMzYyLDEzICszNjIsMTQgQEAgRWNQb2ludFNldENvbXBy ZXNzZWRDb29yZGluYXRlcyAoDQo+ICAvKioNCj4gICAgR2VuZXJhdGUgYSBrZXkgdXNpbmcgRUNE SCBhbGdvcml0aG0uIFBsZWFzZSBub3RlLCB0aGlzIGZ1bmN0aW9uIHVzZXMNCj4gICAgcHNldWRv IHJhbmRvbSBudW1iZXIgZ2VuZXJhdG9yLiBUaGUgY2FsbGVyIG11c3QgbWFrZSBzdXJlIA0KPiBS YW5kb21TZWVkKCkNCj4gLSAgZnVudGlvbiB3YXMgcHJvcGVybHkgY2FsbGVkIGJlZm9yZS4NCj4g KyAgZnVuY3Rpb24gd2FzIHByb3Blcmx5IGNhbGxlZCBiZWZvcmUuDQo+IA0KPiAgICBAcGFyYW1b aW5dICBHcm91cCAgICBJZGVudGlmeWluZyBudW1iZXIgZm9yIHRoZSBFQ0MgZ3JvdXAgKElBTkEg Ikdyb3VwDQo+IC0gICAgICAgICAgICAgICAgICAgICAgIERlc2NyaXB0aW9uIiBhdHRyaWJ1dGUg cmVnaXN0cnR5IGZvciBSRkMgMjQwOSkuDQo+ICsgICAgICAgICAgICAgICAgICAgICAgIERlc2Ny aXB0aW9uIiBhdHRyaWJ1dGUgcmVnaXN0cnkgZm9yIFJGQyAyNDA5KS4NCj4gICAgQHBhcmFtW291 dF0gUEtleSAgICAgUG9pbnRlciB0byBhbiBvYmplY3QgdGhhdCB3aWxsIGhvbGQgdGhlIEVDREgg a2V5Lg0KPiANCj4gICAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgT24gc3VjY2Vzcy4NCj4g KyAgQHJldHZhbCBFRklfVU5TVVBQT1JURUQgICAgRUNDIGdyb3VwIG5vdCBzdXBwb3J0ZWQuDQo+ ICAgIEByZXR2YWwgRUZJX1BST1RPQ09MX0VSUk9SIE9uIGZhaWx1cmUuDQo+ICAqKi8NCj4gIEVG SV9TVEFUVVMNCj4gQEAgLTQwMyw4ICs0MDQsOSBAQCBFY0RoS2V5RnJlZSAoDQo+ICAgIEBwYXJh bVtpbl0gIFBLZXkgICAgIEVDREggS2V5IG9iamVjdC4NCj4gICAgQHBhcmFtW291dF0gRWNQb2lu dCAgUHJvcGVybHkgaW5pdGlhbGl6ZWQgRUMgUG9pbnQgdG8gaG9sZCB0aGUgcHVibGljIGtleS4N Cj4gDQo+IC0gIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgIE9uIHN1Y2Nlc3MuDQo+IC0gIEBy ZXR2YWwgRUZJX1BST1RPQ09MX0VSUk9SIE9uIGZhaWx1cmUuDQo+ICsgIEByZXR2YWwgRUZJX1NV Q0NFU1MgICAgICAgICAgIE9uIHN1Y2Nlc3MuDQo+ICsgIEByZXR2YWwgRUZJX0lOVkFMSURfUEFS QU1FVEVSIEVjUG9pbnQgc2hvdWxkIGJlIGluaXRpYWxpemVkIHByb3Blcmx5Lg0KPiArICBAcmV0 dmFsIEVGSV9QUk9UT0NPTF9FUlJPUiAgICBPbiBmYWlsdXJlLg0KPiAgKiovDQo+ICBFRklfU1RB VFVTDQo+ICBFRklBUEkNCj4gQEAgLTQyMiwxNSArNDI0LDIwIEBAIEVjRGhHZXRQdWJLZXkgKA0K PiANCj4gICAgQHBhcmFtW2luXSAgUEtleSAgICAgICAgICAgRUNESCBLZXkgb2JqZWN0Lg0KPiAg ICBAcGFyYW1baW5dICBHcm91cCAgICAgICAgICBJZGVudGlmeWluZyBudW1iZXIgZm9yIHRoZSBF Q0MgZ3JvdXAgKElBTkEgIkdyb3VwDQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIERl c2NyaXB0aW9uIiBhdHRyaWJ1dGUgcmVnaXN0cnR5IGZvciBSRkMgMjQwOSkuDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIERlc2NyaXB0aW9uIiBhdHRyaWJ1dGUgcmVnaXN0cnkgZm9y IFJGQyAyNDA5KS4NCj4gICAgQHBhcmFtW2luXSAgRWNQb2ludFB1YmxpYyAgUGVlciBwdWJsaWMg a2V5Lg0KPiAgICBAcGFyYW1bb3V0XSBTZWNyZXRTaXplICAgICBPbiBzdWNjZXNzLCBob2xkcyBz ZWNyZXQgc2l6ZS4NCj4gICAgQHBhcmFtW291dF0gU2VjcmV0ICAgICAgICAgT24gc3VjY2Vzcywg aG9sZHMgdGhlIGRlcml2ZWQgc2VjcmV0Lg0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBTaG91bGQgYmUgZnJlZWQgYnkgY2FsbGVyIHVzaW5nIEZyZWVQb29sKCkNCj4gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24uDQo+IA0KPiAtICBAcmV0dmFsIEVGSV9TVUND RVNTICAgICAgICBPbiBzdWNjZXNzLg0KPiAtICBAcmV0dmFsIEVGSV9QUk9UT0NPTF9FUlJPUiBP biBmYWlsdXJlLg0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICBPbiBzdWNjZXNz Lg0KPiArICBAcmV0dmFsIEVGSV9VTlNVUFBPUlRFRCAgICAgICBFQ0MgZ3JvdXAgbm90IHN1cHBv cnRlZC4NCj4gKyAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIgT25lIG9yIG1vcmUgb2Yg dGhlIGZvbGxvd2luZyANCj4gKyBjb25kaXRpb25zIGlzDQo+IFRSVUU6DQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFNlY3JldCBpcyBOVUxMLg0KPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBTZWNyZXRTaXplIGlzIE5VTEwuDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFB1YmxpYyBrZXkgaW4gRWNQb2ludFB1YmxpYyBpcyBpbnZhbGlkLg0K PiArICBAcmV0dmFsIEVGSV9QUk9UT0NPTF9FUlJPUiAgICBPbiBmYWlsdXJlLg0KPiAgKiovDQo+ ICBFRklfU1RBVFVTDQo+ICBFRklBUEkNCj4gZGlmZiAtLWdpdCBhL0NyeXB0b1BrZy9MaWJyYXJ5 L0Jhc2VDcnlwdExpYk51bGwvQm4vQ3J5cHRCbk51bGwuYw0KPiBiL0NyeXB0b1BrZy9MaWJyYXJ5 L0Jhc2VDcnlwdExpYk51bGwvQm4vQ3J5cHRCbk51bGwuYw0KPiBpbmRleCA0YTI3NDMzYTBlLi40 ZDJmYTAzOWRmIDEwMDY0NA0KPiAtLS0gYS9DcnlwdG9Qa2cvTGlicmFyeS9CYXNlQ3J5cHRMaWJO dWxsL0JuL0NyeXB0Qm5OdWxsLmMNCj4gKysrIGIvQ3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0 TGliTnVsbC9Cbi9DcnlwdEJuTnVsbC5jDQo+IEBAIC0zOTUsNyArMzk1LDYgQEAgQmlnTnVtVmFs dWVPbmUgKA0KPiAgICBAcGFyYW1bb3V0XSAgQm5SZXMgICBUaGUgcmVzdWx0Lg0KPiANCj4gICAg QHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICBPbiBzdWNjZXNzLg0KPiAtICBAcmV0dmFsIEVG SV9PVVRfT0ZfUkVTT1VSQ0VTIEluIGNhc2Ugb2YgaW50ZXJuYWwgYWxsb2NhdGlvbiBmYWlsdXJl cy4NCj4gICAgQHJldHZhbCBFRklfUFJPVE9DT0xfRVJST1IgICBPdGhlcndpc2UuDQo+ICAqKi8N Cj4gIEVGSV9TVEFUVVMNCj4gQEAgLTQ4Nyw2ICs0ODYsOSBAQCBCaWdOdW1Db250ZXh0RnJlZSAo DQo+IA0KPiAgICBAcGFyYW1baW5dICAgQm4gICAgIEJpZyBudW1iZXIgdG8gc2V0Lg0KPiAgICBA cGFyYW1baW5dICAgVmFsICAgIFZhbHVlIHRvIHNldC4NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9T VUNDRVNTICAgICAgICAgIE9uIHN1Y2Nlc3MuDQo+ICsgIEByZXR2YWwgRUZJX1BST1RPQ09MX0VS Uk9SICAgT3RoZXJ3aXNlLg0KPiAgKiovDQo+ICBFRklfU1RBVFVTDQo+ICBFRklBUEkNCj4gZGlm ZiAtLWdpdCBhL0NyeXB0b1BrZy9MaWJyYXJ5L0Jhc2VDcnlwdExpYk51bGwvRWMvQ3J5cHRFY051 bGwuYw0KPiBiL0NyeXB0b1BrZy9MaWJyYXJ5L0Jhc2VDcnlwdExpYk51bGwvRWMvQ3J5cHRFY051 bGwuYw0KPiBpbmRleCAyZDdlNWRiNDY0Li5lN2ZlMzc4MDk1IDEwMDY0NA0KPiAtLS0gYS9Dcnlw dG9Qa2cvTGlicmFyeS9CYXNlQ3J5cHRMaWJOdWxsL0VjL0NyeXB0RWNOdWxsLmMNCj4gKysrIGIv Q3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0TGliTnVsbC9FYy9DcnlwdEVjTnVsbC5jDQo+IEBA IC0xNSw3ICsxNSw3IEBADQo+ICAgIHVzaW5nIEVjR3JvdXBGcmVlKCkgZnVuY3Rpb24uDQo+IA0K PiAgICBAcGFyYW1baW5dICBHcm91cCAgSWRlbnRpZnlpbmcgbnVtYmVyIGZvciB0aGUgRUNDIGdy b3VwIChJQU5BICJHcm91cA0KPiAtICAgICAgICAgICAgICAgICAgICAgRGVzY3JpcHRpb24iIGF0 dHJpYnV0ZSByZWdpc3RydHkgZm9yIFJGQyAyNDA5KS4NCj4gKyAgICAgICAgICAgICAgICAgICAg IERlc2NyaXB0aW9uIiBhdHRyaWJ1dGUgcmVnaXN0cnkgZm9yIFJGQyAyNDA5KS4NCj4gDQo+ICAg IEByZXR2YWwgRWNHcm91cCBvYmplY3QgIE9uIHN1Y2Nlc3MuDQo+ICAgIEByZXR2YWwgTlVMTCAg ICAgICAgICAgIE9uIGZhaWx1cmUuDQo+IEBAIC0zOCw4ICszOCw4IEBAIEVjR3JvdXBJbml0ICgN Cj4gDQo+ICAgIEBwYXJhbVtpbl0gIEVjR3JvdXAgICAgRUMgZ3JvdXAgb2JqZWN0Lg0KPiAgICBA cGFyYW1bb3V0XSBCblByaW1lICAgIEdyb3VwIHByaW1lIG51bWJlci4NCj4gLSAgQHBhcmFtW291 dF0gQm5BICAgICAgICBBIGNvb2ZlY2llbnQuDQo+IC0gIEBwYXJhbVtvdXRdIEJuQiAgICAgICAg QiBjb29mZWNpZW50Lg0KPiArICBAcGFyYW1bb3V0XSBCbkEgICAgICAgIEEgY29lZmZpY2llbnQu DQo+ICsgIEBwYXJhbVtvdXRdIEJuQiAgICAgICAgQiBjb2VmZmljaWVudC4NCj4gICAgQHBhcmFt W2luXSAgQm5DdHggICAgICBCTiBjb250ZXh0Lg0KPiANCj4gICAgQHJldHZhbCBFRklfU1VDQ0VT UyAgICAgICAgT24gc3VjY2Vzcy4NCj4gQEAgLTM2MiwxMyArMzYyLDE0IEBAIEVjUG9pbnRTZXRD b21wcmVzc2VkQ29vcmRpbmF0ZXMgKA0KPiAgLyoqDQo+ICAgIEdlbmVyYXRlIGEga2V5IHVzaW5n IEVDREggYWxnb3JpdGhtLiBQbGVhc2Ugbm90ZSwgdGhpcyBmdW5jdGlvbiB1c2VzDQo+ICAgIHBz ZXVkbyByYW5kb20gbnVtYmVyIGdlbmVyYXRvci4gVGhlIGNhbGxlciBtdXN0IG1ha2Ugc3VyZSAN Cj4gUmFuZG9tU2VlZCgpDQo+IC0gIGZ1bnRpb24gd2FzIHByb3Blcmx5IGNhbGxlZCBiZWZvcmUu DQo+ICsgIGZ1bmN0aW9uIHdhcyBwcm9wZXJseSBjYWxsZWQgYmVmb3JlLg0KPiANCj4gICAgQHBh cmFtW2luXSAgR3JvdXAgICAgSWRlbnRpZnlpbmcgbnVtYmVyIGZvciB0aGUgRUNDIGdyb3VwIChJ QU5BICJHcm91cA0KPiAtICAgICAgICAgICAgICAgICAgICAgICBEZXNjcmlwdGlvbiIgYXR0cmli dXRlIHJlZ2lzdHJ0eSBmb3IgUkZDIDI0MDkpLg0KPiArICAgICAgICAgICAgICAgICAgICAgICBE ZXNjcmlwdGlvbiIgYXR0cmlidXRlIHJlZ2lzdHJ5IGZvciBSRkMgMjQwOSkuDQo+ICAgIEBwYXJh bVtvdXRdIFBLZXkgICAgIFBvaW50ZXIgdG8gYW4gb2JqZWN0IHRoYXQgd2lsbCBob2xkIHRoZSBF Q0RIIGtleS4NCj4gDQo+ICAgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgIE9uIHN1Y2Nlc3Mu DQo+ICsgIEByZXR2YWwgRUZJX1VOU1VQUE9SVEVEICAgIEVDQyBncm91cCBub3Qgc3VwcG9ydGVk Lg0KPiAgICBAcmV0dmFsIEVGSV9QUk9UT0NPTF9FUlJPUiBPbiBmYWlsdXJlLg0KPiAgKiovDQo+ ICBFRklfU1RBVFVTDQo+IEBAIC00MDMsOCArNDA0LDkgQEAgRWNEaEtleUZyZWUgKA0KPiAgICBA cGFyYW1baW5dICBQS2V5ICAgICBFQ0RIIEtleSBvYmplY3QuDQo+ICAgIEBwYXJhbVtvdXRdIEVj UG9pbnQgIFByb3Blcmx5IGluaXRpYWxpemVkIEVDIFBvaW50IHRvIGhvbGQgdGhlIHB1YmxpYyBr ZXkuDQo+IA0KPiAtICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICBPbiBzdWNjZXNzLg0KPiAt ICBAcmV0dmFsIEVGSV9QUk9UT0NPTF9FUlJPUiBPbiBmYWlsdXJlLg0KPiArICBAcmV0dmFsIEVG SV9TVUNDRVNTICAgICAgICAgICBPbiBzdWNjZXNzLg0KPiArICBAcmV0dmFsIEVGSV9JTlZBTElE X1BBUkFNRVRFUiBFY1BvaW50IHNob3VsZCBiZSBpbml0aWFsaXplZCBwcm9wZXJseS4NCj4gKyAg QHJldHZhbCBFRklfUFJPVE9DT0xfRVJST1IgICAgT24gZmFpbHVyZS4NCj4gICoqLw0KPiAgRUZJ X1NUQVRVUw0KPiAgRUZJQVBJDQo+IEBAIC00MjIsMTUgKzQyNCwyMCBAQCBFY0RoR2V0UHViS2V5 ICgNCj4gDQo+ICAgIEBwYXJhbVtpbl0gIFBLZXkgICAgICAgICAgIEVDREggS2V5IG9iamVjdC4N Cj4gICAgQHBhcmFtW2luXSAgR3JvdXAgICAgICAgICAgSWRlbnRpZnlpbmcgbnVtYmVyIGZvciB0 aGUgRUNDIGdyb3VwIChJQU5BICJHcm91cA0KPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBEZXNjcmlwdGlvbiIgYXR0cmlidXRlIHJlZ2lzdHJ0eSBmb3IgUkZDIDI0MDkpLg0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBEZXNjcmlwdGlvbiIgYXR0cmlidXRlIHJlZ2lzdHJ5 IGZvciBSRkMgMjQwOSkuDQo+ICAgIEBwYXJhbVtpbl0gIEVjUG9pbnRQdWJsaWMgIFBlZXIgcHVi bGljIGtleS4NCj4gICAgQHBhcmFtW291dF0gU2VjcmV0U2l6ZSAgICAgT24gc3VjY2VzcywgaG9s ZHMgc2VjcmV0IHNpemUuDQo+ICAgIEBwYXJhbVtvdXRdIFNlY3JldCAgICAgICAgIE9uIHN1Y2Nl c3MsIGhvbGRzIHRoZSBkZXJpdmVkIHNlY3JldC4NCj4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgU2hvdWxkIGJlIGZyZWVkIGJ5IGNhbGxlciB1c2luZyBGcmVlUG9vbCgpDQo+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uLg0KPiANCj4gLSAgQHJldHZhbCBFRklf U1VDQ0VTUyAgICAgICAgT24gc3VjY2Vzcy4NCj4gLSAgQHJldHZhbCBFRklfUFJPVE9DT0xfRVJS T1IgT24gZmFpbHVyZS4NCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgT24gc3Vj Y2Vzcy4NCj4gKyAgQHJldHZhbCBFRklfVU5TVVBQT1JURUQgICAgICAgRUNDIGdyb3VwIG5vdCBz dXBwb3J0ZWQuDQo+ICsgIEByZXR2YWwgRUZJX0lOVkFMSURfUEFSQU1FVEVSIE9uZSBvciBtb3Jl IG9mIHRoZSBmb2xsb3dpbmcgDQo+ICsgY29uZGl0aW9ucyBpcw0KPiBUUlVFOg0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBTZWNyZXQgaXMgTlVMTC4NCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgU2VjcmV0U2l6ZSBpcyBOVUxMLg0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBQdWJsaWMga2V5IGluIEVjUG9pbnRQdWJsaWMgaXMgaW52YWxp ZC4NCj4gKyAgQHJldHZhbCBFRklfUFJPVE9DT0xfRVJST1IgICAgT24gZmFpbHVyZS4NCj4gICoq Lw0KPiAgRUZJX1NUQVRVUw0KPiAgRUZJQVBJDQo+IGRpZmYgLS1naXQgYS9DcnlwdG9Qa2cvTGli cmFyeS9CYXNlQ3J5cHRMaWJPblByb3RvY29sUHBpL0NyeXB0TGliLmMNCj4gYi9DcnlwdG9Qa2cv TGlicmFyeS9CYXNlQ3J5cHRMaWJPblByb3RvY29sUHBpL0NyeXB0TGliLmMNCj4gaW5kZXggNTQ4 MTE2YWJiNC4uMDQxMDA2N2M5ZCAxMDA2NDQNCj4gLS0tIGEvQ3J5cHRvUGtnL0xpYnJhcnkvQmFz ZUNyeXB0TGliT25Qcm90b2NvbFBwaS9DcnlwdExpYi5jDQo+ICsrKyBiL0NyeXB0b1BrZy9MaWJy YXJ5L0Jhc2VDcnlwdExpYk9uUHJvdG9jb2xQcGkvQ3J5cHRMaWIuYw0KPiBAQCAtNDA2OSw3ICs0 MDY5LDYgQEAgQmlnTnVtVmFsdWVPbmUgKA0KPiAgICBAcGFyYW1bb3V0XSAgQm5SZXMgICBUaGUg cmVzdWx0Lg0KPiANCj4gICAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICBPbiBzdWNjZXNz Lg0KPiAtICBAcmV0dmFsIEVGSV9PVVRfT0ZfUkVTT1VSQ0VTIEluIGNhc2Ugb2YgaW50ZXJuYWwg YWxsb2NhdGlvbiBmYWlsdXJlcy4NCj4gICAgQHJldHZhbCBFRklfUFJPVE9DT0xfRVJST1IgICBP dGhlcndpc2UuDQo+ICAqKi8NCj4gIEVGSV9TVEFUVVMNCj4gQEAgLTQxNTgsNiArNDE1Nyw5IEBA IEJpZ051bUNvbnRleHRGcmVlICgNCj4gDQo+ICAgIEBwYXJhbVtpbl0gICBCbiAgICAgQmlnIG51 bWJlciB0byBzZXQuDQo+ICAgIEBwYXJhbVtpbl0gICBWYWwgICAgVmFsdWUgdG8gc2V0Lg0KPiAr DQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgT24gc3VjY2Vzcy4NCj4gKyAgQHJl dHZhbCBFRklfUFJPVE9DT0xfRVJST1IgICBPdGhlcndpc2UuDQo+ICAqKi8NCj4gIEVGSV9TVEFU VVMNCj4gIEVGSUFQSQ0KPiBAQCAtNDE5OSw3ICs0MjAxLDcgQEAgQmlnTnVtQWRkTW9kICgNCj4g ICAgdXNpbmcgRWNHcm91cEZyZWUoKSBmdW5jdGlvbi4NCj4gDQo+ICAgIEBwYXJhbVtpbl0gIEdy b3VwICBJZGVudGlmeWluZyBudW1iZXIgZm9yIHRoZSBFQ0MgZ3JvdXAgKElBTkEgIkdyb3VwDQo+ IC0gICAgICAgICAgICAgICAgICAgICBEZXNjcmlwdGlvbiIgYXR0cmlidXRlIHJlZ2lzdHJ0eSBm b3IgUkZDIDI0MDkpLg0KPiArICAgICAgICAgICAgICAgICAgICAgRGVzY3JpcHRpb24iIGF0dHJp YnV0ZSByZWdpc3RyeSBmb3IgUkZDIDI0MDkpLg0KPiANCj4gICAgQHJldHZhbCBFY0dyb3VwIG9i amVjdCAgT24gc3VjY2Vzcy4NCj4gICAgQHJldHZhbCBOVUxMICAgICAgICAgICAgT24gZmFpbHVy ZS4NCj4gQEAgLTQyMjEsOCArNDIyMyw4IEBAIEVjR3JvdXBJbml0ICgNCj4gDQo+ICAgIEBwYXJh bVtpbl0gIEVjR3JvdXAgICAgRUMgZ3JvdXAgb2JqZWN0Lg0KPiAgICBAcGFyYW1bb3V0XSBCblBy aW1lICAgIEdyb3VwIHByaW1lIG51bWJlci4NCj4gLSAgQHBhcmFtW291dF0gQm5BICAgICAgICBB IGNvb2ZlY2llbnQuDQo+IC0gIEBwYXJhbVtvdXRdIEJuQiAgICAgICAgQiBjb29mZWNpZW50Lg0K PiArICBAcGFyYW1bb3V0XSBCbkEgICAgICAgIEEgY29lZmZpY2llbnQuDQo+ICsgIEBwYXJhbVtv dXRdIEJuQiAgICAgICAgQiBjb2VmZmljaWVudC4NCj4gICAgQHBhcmFtW2luXSAgQm5DdHggICAg ICBCTiBjb250ZXh0Lg0KPiANCj4gICAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgT24gc3Vj Y2Vzcy4NCj4gQEAgLTQ1MzMsMTMgKzQ1MzUsMTQgQEAgRWNQb2ludFNldENvbXByZXNzZWRDb29y ZGluYXRlcyAoDQo+ICAvKioNCj4gICAgR2VuZXJhdGUgYSBrZXkgdXNpbmcgRUNESCBhbGdvcml0 aG0uIFBsZWFzZSBub3RlLCB0aGlzIGZ1bmN0aW9uIHVzZXMNCj4gICAgcHNldWRvIHJhbmRvbSBu dW1iZXIgZ2VuZXJhdG9yLiBUaGUgY2FsbGVyIG11c3QgbWFrZSBzdXJlIA0KPiBSYW5kb21TZWVk KCkNCj4gLSAgZnVudGlvbiB3YXMgcHJvcGVybHkgY2FsbGVkIGJlZm9yZS4NCj4gKyAgZnVuY3Rp b24gd2FzIHByb3Blcmx5IGNhbGxlZCBiZWZvcmUuDQo+IA0KPiAgICBAcGFyYW1baW5dICBHcm91 cCAgICBJZGVudGlmeWluZyBudW1iZXIgZm9yIHRoZSBFQ0MgZ3JvdXAgKElBTkEgIkdyb3VwDQo+ IC0gICAgICAgICAgICAgICAgICAgICAgIERlc2NyaXB0aW9uIiBhdHRyaWJ1dGUgcmVnaXN0cnR5 IGZvciBSRkMgMjQwOSkuDQo+ICsgICAgICAgICAgICAgICAgICAgICAgIERlc2NyaXB0aW9uIiBh dHRyaWJ1dGUgcmVnaXN0cnkgZm9yIFJGQyAyNDA5KS4NCj4gICAgQHBhcmFtW291dF0gUEtleSAg ICAgUG9pbnRlciB0byBhbiBvYmplY3QgdGhhdCB3aWxsIGhvbGQgdGhlIEVDREgga2V5Lg0KPiAN Cj4gICAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgT24gc3VjY2Vzcy4NCj4gKyAgQHJldHZh bCBFRklfVU5TVVBQT1JURUQgICAgRUNDIGdyb3VwIG5vdCBzdXBwb3J0ZWQuDQo+ICAgIEByZXR2 YWwgRUZJX1BST1RPQ09MX0VSUk9SIE9uIGZhaWx1cmUuDQo+ICAqKi8NCj4gIEVGSV9TVEFUVVMN Cj4gQEAgLTQ1NzMsOCArNDU3Niw5IEBAIEVjRGhLZXlGcmVlICgNCj4gICAgQHBhcmFtW2luXSAg UEtleSAgICAgRUNESCBLZXkgb2JqZWN0Lg0KPiAgICBAcGFyYW1bb3V0XSBFY1BvaW50ICBQcm9w ZXJseSBpbml0aWFsaXplZCBFQyBQb2ludCB0byBob2xkIHRoZSBwdWJsaWMga2V5Lg0KPiANCj4g LSAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgT24gc3VjY2Vzcy4NCj4gLSAgQHJldHZhbCBF RklfUFJPVE9DT0xfRVJST1IgT24gZmFpbHVyZS4NCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAg ICAgICAgICAgT24gc3VjY2Vzcy4NCj4gKyAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIg RWNQb2ludCBzaG91bGQgYmUgaW5pdGlhbGl6ZWQgcHJvcGVybHkuDQo+ICsgIEByZXR2YWwgRUZJ X1BST1RPQ09MX0VSUk9SICAgIE9uIGZhaWx1cmUuDQo+ICAqKi8NCj4gIEVGSV9TVEFUVVMNCj4g IEVGSUFQSQ0KPiBAQCAtNDU5MSwxNSArNDU5NSwyMCBAQCBFY0RoR2V0UHViS2V5ICgNCj4gDQo+ ICAgIEBwYXJhbVtpbl0gIFBLZXkgICAgICAgICAgIEVDREggS2V5IG9iamVjdC4NCj4gICAgQHBh cmFtW2luXSAgR3JvdXAgICAgICAgICAgSWRlbnRpZnlpbmcgbnVtYmVyIGZvciB0aGUgRUNDIGdy b3VwIChJQU5BICJHcm91cA0KPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXNjcmlw dGlvbiIgYXR0cmlidXRlIHJlZ2lzdHJ0eSBmb3IgUkZDIDI0MDkpLg0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBEZXNjcmlwdGlvbiIgYXR0cmlidXRlIHJlZ2lzdHJ5IGZvciBSRkMg MjQwOSkuDQo+ICAgIEBwYXJhbVtpbl0gIEVjUG9pbnRQdWJsaWMgIFBlZXIgcHVibGljIGtleS4N Cj4gICAgQHBhcmFtW291dF0gU2VjcmV0U2l6ZSAgICAgT24gc3VjY2VzcywgaG9sZHMgc2VjcmV0 IHNpemUuDQo+ICAgIEBwYXJhbVtvdXRdIFNlY3JldCAgICAgICAgIE9uIHN1Y2Nlc3MsIGhvbGRz IHRoZSBkZXJpdmVkIHNlY3JldC4NCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2hv dWxkIGJlIGZyZWVkIGJ5IGNhbGxlciB1c2luZyBGcmVlUG9vbCgpDQo+ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGZ1bmN0aW9uLg0KPiANCj4gLSAgQHJldHZhbCBFRklfU1VDQ0VTUyAg ICAgICAgT24gc3VjY2Vzcy4NCj4gLSAgQHJldHZhbCBFRklfUFJPVE9DT0xfRVJST1IgT24gZmFp bHVyZS4NCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgT24gc3VjY2Vzcy4NCj4g KyAgQHJldHZhbCBFRklfVU5TVVBQT1JURUQgICAgICAgRUNDIGdyb3VwIG5vdCBzdXBwb3J0ZWQu DQo+ICsgIEByZXR2YWwgRUZJX0lOVkFMSURfUEFSQU1FVEVSIE9uZSBvciBtb3JlIG9mIHRoZSBm b2xsb3dpbmcgDQo+ICsgY29uZGl0aW9ucyBpcw0KPiBUUlVFOg0KPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBTZWNyZXQgaXMgTlVMTC4NCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgU2VjcmV0U2l6ZSBpcyBOVUxMLg0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBQdWJsaWMga2V5IGluIEVjUG9pbnRQdWJsaWMgaXMgaW52YWxpZC4NCj4gKyAg QHJldHZhbCBFRklfUFJPVE9DT0xfRVJST1IgICAgT24gZmFpbHVyZS4NCj4gICoqLw0KPiAgRUZJ X1NUQVRVUw0KPiAgRUZJQVBJDQo+IGRpZmYgLS1naXQgYS9DcnlwdG9Qa2cvUHJpdmF0ZS9Qcm90 b2NvbC9DcnlwdG8uaA0KPiBiL0NyeXB0b1BrZy9Qcml2YXRlL1Byb3RvY29sL0NyeXB0by5oDQo+ IGluZGV4IDFiMzE3MTRkNzcuLjFjZjVkMThjYzMgMTAwNjQ0DQo+IC0tLSBhL0NyeXB0b1BrZy9Q cml2YXRlL1Byb3RvY29sL0NyeXB0by5oDQo+ICsrKyBiL0NyeXB0b1BrZy9Qcml2YXRlL1Byb3Rv Y29sL0NyeXB0by5oDQo+IEBAIC0zODYzLDcgKzM4NjMsNiBAQCBDT05TVCBWT0lEICoNCj4gICAg QHBhcmFtW291dF0gIEJuUmVzICAgVGhlIHJlc3VsdCwgc3VjaCB0aGF0IChCbkEgKiBCbkIpICUg Qm5NLg0KPiANCj4gICAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICBPbiBzdWNjZXNzLg0K PiAtICBAcmV0dmFsIEVGSV9PVVRfT0ZfUkVTT1VSQ0VTIEluIGNhc2Ugb2YgaW50ZXJuYWwgYWxs b2NhdGlvbiBmYWlsdXJlcy4NCj4gICAgQHJldHZhbCBFRklfUFJPVE9DT0xfRVJST1IgICBPdGhl cndpc2UuDQo+ICAqKi8NCj4gIHR5cGVkZWYNCj4gQEAgLTM5MzUsNiArMzkzNCw5IEBAIFZPSUQN Cj4gDQo+ICAgIEBwYXJhbVtpbl0gICBCbiAgICAgQmlnIG51bWJlciB0byBzZXQuDQo+ICAgIEBw YXJhbVtpbl0gICBWYWwgICAgVmFsdWUgdG8gc2V0Lg0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NV Q0NFU1MgICAgICAgICAgT24gc3VjY2Vzcy4NCj4gKyAgQHJldHZhbCBFRklfUFJPVE9DT0xfRVJS T1IgICBPdGhlcndpc2UuDQo+ICAqKi8NCj4gIHR5cGVkZWYNCj4gIEVGSV9TVEFUVVMNCj4gQEAg LTM5NzAsNyArMzk3Miw3IEBAIEVGSV9TVEFUVVMNCj4gICAgdXNpbmcgRWNHcm91cEZyZWUoKSBm dW5jdGlvbi4NCj4gDQo+ICAgIEBwYXJhbVtpbl0gIEdyb3VwICBJZGVudGlmeWluZyBudW1iZXIg Zm9yIHRoZSBFQ0MgZ3JvdXAgKElBTkEgIkdyb3VwDQo+IC0gICAgICAgICAgICAgICAgICAgICBE ZXNjcmlwdGlvbiIgYXR0cmlidXRlIHJlZ2lzdHJ0eSBmb3IgUkZDIDI0MDkpDQo+ICsgICAgICAg ICAgICAgICAgICAgICBEZXNjcmlwdGlvbiIgYXR0cmlidXRlIHJlZ2lzdHJ5IGZvciBSRkMgMjQw OSkNCj4gDQo+ICAgIEByZXR2YWwgRWNHcm91cCBvYmplY3QgIE9uIHN1Y2Nlc3MNCj4gICAgQHJl dHZhbCBOVUxMICAgICAgICAgICAgT24gZmFpbHVyZQ0KPiBAQCAtMzk4OSw4ICszOTkxLDggQEAg Vk9JRCAqDQo+IA0KPiAgICBAcGFyYW1baW5dICBFY0dyb3VwICAgIEVDIGdyb3VwIG9iamVjdA0K PiAgICBAcGFyYW1bb3V0XSBCblByaW1lICAgIEdyb3VwIHByaW1lIG51bWJlcg0KPiAtICBAcGFy YW1bb3V0XSBCbkEgICAgICAgIEEgY29vZmVjaWVudA0KPiAtICBAcGFyYW1bb3V0XSBCbkIgICAg ICAgIEIgY29vZmVjaWVudA0KPiArICBAcGFyYW1bb3V0XSBCbkEgICAgICAgIEEgY29lZmZpY2ll bnQNCj4gKyAgQHBhcmFtW291dF0gQm5CICAgICAgICBCIGNvZWZmaWNpZW50DQo+ICAgIEBwYXJh bVtpbl0gIEJuQ3R4ICAgICAgQk4gY29udGV4dA0KPiANCj4gICAgQHJldHZhbCBFRklfU1VDQ0VT UyAgICAgICAgT24gc3VjY2Vzcw0KPiBAQCAtNDI2MCwxMyArNDI2MiwxNCBAQCBFRklfU1RBVFVT DQo+ICAvKioNCj4gICAgR2VuZXJhdGUgYSBrZXkgdXNpbmcgRUNESCBhbGdvcml0aG0uIFBsZWFz ZSBub3RlLCB0aGlzIGZ1bmN0aW9uIHVzZXMNCj4gICAgcHNldWRvIHJhbmRvbSBudW1iZXIgZ2Vu ZXJhdG9yLiBUaGUgY2FsbGVyIG11c3QgbWFrZSBzdXJlIA0KPiBSYW5kb21TZWVkKCkNCj4gLSAg ZnVudGlvbiB3YXMgcHJvcGVybHkgY2FsbGVkIGJlZm9yZS4NCj4gKyAgZnVuY3Rpb24gd2FzIHBy b3Blcmx5IGNhbGxlZCBiZWZvcmUuDQo+IA0KPiAgICBAcGFyYW1baW5dICBHcm91cCAgICBJZGVu dGlmeWluZyBudW1iZXIgZm9yIHRoZSBFQ0MgZ3JvdXAgKElBTkEgIkdyb3VwDQo+IC0gICAgICAg ICAgICAgICAgICAgICAgIERlc2NyaXB0aW9uIiBhdHRyaWJ1dGUgcmVnaXN0cnR5IGZvciBSRkMg MjQwOSkNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgRGVzY3JpcHRpb24iIGF0dHJpYnV0ZSBy ZWdpc3RyeSBmb3IgUkZDIDI0MDkpDQo+ICAgIEBwYXJhbVtvdXRdIFBLZXkgICAgIFBvaW50ZXIg dG8gYW4gb2JqZWN0IHRoYXQgd2lsbCBob2xkIHRoZSBFQ0RIIGtleQ0KPiANCj4gICAgQHJldHZh bCBFRklfU1VDQ0VTUyAgICAgICAgT24gc3VjY2Vzcw0KPiArICBAcmV0dmFsIEVGSV9VTlNVUFBP UlRFRCAgICBFQ0MgZ3JvdXAgbm90IHN1cHBvcnRlZC4NCj4gICAgQHJldHZhbCBFRklfUFJPVE9D T0xfRVJST1IgT24gZmFpbHVyZSAgKiovICB0eXBlZGVmIEBAIC00Mjk0LDggDQo+ICs0Mjk3LDkg QEAgVk9JRA0KPiAgICBAcGFyYW1baW5dICBQS2V5ICAgICBFQ0RIIEtleSBvYmplY3QNCj4gICAg QHBhcmFtW291dF0gRWNQb2ludCAgUHJvcGVybHkgaW5pdGlhbGl6ZWQgRUMgUG9pbnQgdG8gaG9s ZCB0aGUgDQo+IHB1YmxpYyBrZXkNCj4gDQo+IC0gIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAg IE9uIHN1Y2Nlc3MNCj4gLSAgQHJldHZhbCBFRklfUFJPVE9DT0xfRVJST1IgT24gZmFpbHVyZQ0K PiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICBPbiBzdWNjZXNzDQo+ICsgIEByZXR2 YWwgRUZJX0lOVkFMSURfUEFSQU1FVEVSIEVjUG9pbnQgc2hvdWxkIGJlIGluaXRpYWxpemVkIHBy b3Blcmx5Lg0KPiArICBAcmV0dmFsIEVGSV9QUk9UT0NPTF9FUlJPUiAgICBPbiBmYWlsdXJlDQo+ ICAqKi8NCj4gIHR5cGVkZWYNCj4gIEVGSV9TVEFUVVMNCj4gQEAgLTQzMDksMTUgKzQzMTMsMjAg QEAgRUZJX1NUQVRVUw0KPiANCj4gICAgQHBhcmFtW2luXSAgUEtleSAgICAgICAgICAgRUNESCBL ZXkgb2JqZWN0DQo+ICAgIEBwYXJhbVtpbl0gIEdyb3VwICAgICAgICAgIElkZW50aWZ5aW5nIG51 bWJlciBmb3IgdGhlIEVDQyBncm91cCAoSUFOQSAiR3JvdXANCj4gLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgRGVzY3JpcHRpb24iIGF0dHJpYnV0ZSByZWdpc3RydHkgZm9yIFJGQyAyNDA5 KQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXNjcmlwdGlvbiIgYXR0cmlidXRl IHJlZ2lzdHJ5IGZvciBSRkMNCj4gKyAyNDA5KQ0KPiAgICBAcGFyYW1baW5dICBFY1BvaW50UHVi bGljICBQZWVyIHB1YmxpYyBrZXkNCj4gICAgQHBhcmFtW291dF0gU2VjcmV0U2l6ZSAgICAgT24g c3VjY2VzcywgaG9sZHMgc2VjcmV0IHNpemUNCj4gICAgQHBhcmFtW291dF0gU2VjcmV0ICAgICAg ICAgT24gc3VjY2VzcywgaG9sZHMgdGhlIGRlcml2ZWQgc2VjcmV0DQo+ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFNob3VsZCBiZSBmcmVlZCBieSBjYWxsZXIgdXNpbmcgRnJlZVBvb2wo KQ0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbi4NCj4gDQo+IC0gIEBy ZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgIE9uIHN1Y2Nlc3MNCj4gLSAgQHJldHZhbCBFRklfUFJP VE9DT0xfRVJST1IgT24gZmFpbHVyZQ0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAg ICBPbiBzdWNjZXNzLg0KPiArICBAcmV0dmFsIEVGSV9VTlNVUFBPUlRFRCAgICAgICBFQ0MgZ3Jv dXAgbm90IHN1cHBvcnRlZC4NCj4gKyAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIgT25l IG9yIG1vcmUgb2YgdGhlIGZvbGxvd2luZyANCj4gKyBjb25kaXRpb25zIGlzDQo+IFRSVUU6DQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNlY3JldCBpcyBOVUxMLg0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWNyZXRTaXplIGlzIE5VTEwuDQo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1YmxpYyBrZXkgaW4gRWNQb2ludFB1YmxpYyBp cyBpbnZhbGlkLg0KPiArICBAcmV0dmFsIEVGSV9QUk9UT0NPTF9FUlJPUiAgICBPbiBmYWlsdXJl Lg0KPiAgKiovDQo+ICB0eXBlZGVmDQo+ICBFRklfU1RBVFVTDQo+IC0tDQo+IDIuMzEuMS53aW5k b3dzLjENCg0K