From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id D0CEA81C8D for ; Wed, 23 Nov 2016 00:52:27 -0800 (PST) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga101.fm.intel.com with ESMTP; 23 Nov 2016 00:52:26 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.31,537,1473145200"; d="scan'208";a="8335901" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by orsmga002.jf.intel.com with ESMTP; 23 Nov 2016 00:52:22 -0800 Received: from fmsmsx114.amr.corp.intel.com (10.18.116.8) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.248.2; Wed, 23 Nov 2016 00:52:22 -0800 Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by FMSMSX114.amr.corp.intel.com (10.18.116.8) with Microsoft SMTP Server (TLS) id 14.3.248.2; Wed, 23 Nov 2016 00:52:21 -0800 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.239]) by SHSMSX151.ccr.corp.intel.com ([169.254.3.96]) with mapi id 14.03.0248.002; Wed, 23 Nov 2016 16:52:18 +0800 From: "Gao, Liming" To: "Bi, Dandan" , "edk2-devel@lists.01.org" CC: "Dong, Eric" , "Yao, Jiewen" Thread-Topic: [PATCH v2] MdeModulePkg/DriverSample: Remove the password related codes Thread-Index: AQHSRWWNQNUgBymyWkC1mtweljRbXqDmQvyA Date: Wed, 23 Nov 2016 08:52:18 +0000 Message-ID: <4A89E2EF3DFEDB4C8BFDE51014F606A14B4B88EF@shsmsx102.ccr.corp.intel.com> References: <1479890490-84420-1-git-send-email-dandan.bi@intel.com> In-Reply-To: <1479890490-84420-1-git-send-email-dandan.bi@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH v2] MdeModulePkg/DriverSample: Remove the password related codes X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Nov 2016 08:52:28 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 UmV2aWV3ZWQtYnk6IExpbWluZyBHYW8gPGxpbWluZy5nYW9AaW50ZWwuY29tPg0KDQo+IC0tLS0t T3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEJpLCBEYW5kYW4NCj4gU2VudDogV2VkbmVz ZGF5LCBOb3ZlbWJlciAyMywgMjAxNiA0OjQyIFBNDQo+IFRvOiBlZGsyLWRldmVsQGxpc3RzLjAx Lm9yZw0KPiBDYzogR2FvLCBMaW1pbmcgPGxpbWluZy5nYW9AaW50ZWwuY29tPjsgRG9uZywgRXJp YyA8ZXJpYy5kb25nQGludGVsLmNvbT47DQo+IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVs LmNvbT4NCj4gU3ViamVjdDogW1BBVENIIHYyXSBNZGVNb2R1bGVQa2cvRHJpdmVyU2FtcGxlOiBS ZW1vdmUgdGhlIHBhc3N3b3JkDQo+IHJlbGF0ZWQgY29kZXMNCj4gDQo+IFYyOiBSZW1vdmUgdGhl IFBhc3N3b3JkU3RhdGUgd2hpY2ggaXMgbm90IHVzZWQgYW55bW9yZS4NCj4gDQo+IEluIGN1cnJl bnQgRHJpdmVyU2FtcGxlRHhlLCB0aGUgc2FtcGxlIGNvZGUgb2YgcGFzc3dvcmQgaXMNCj4gbm90 IGEgZ29vZCBleGFtcGxlLCBzbyB3ZSBwbGFuIHRvIHJlbW92ZSBpdC4NCj4gDQo+IENjOiBMaW1p bmcgR2FvIDxsaW1pbmcuZ2FvQGludGVsLmNvbT4NCj4gQ2M6IEVyaWMgRG9uZyA8ZXJpYy5kb25n QGludGVsLmNvbT4NCj4gQ2M6IEppZXdlbiBZYW8gPGppZXdlbi55YW9AaW50ZWwuY29tPg0KPiBD b250cmlidXRlZC11bmRlcjogVGlhbm9Db3JlIENvbnRyaWJ1dGlvbiBBZ3JlZW1lbnQgMS4wDQo+ IFNpZ25lZC1vZmYtYnk6IERhbmRhbiBCaSA8ZGFuZGFuLmJpQGludGVsLmNvbT4NCj4gLS0tDQo+ ICAuLi4vVW5pdmVyc2FsL0RyaXZlclNhbXBsZUR4ZS9Ecml2ZXJTYW1wbGUuYyAgICAgICB8IDI2 MiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gIC4uLi9Vbml2ZXJzYWwvRHJpdmVyU2FtcGxlRHhl L0RyaXZlclNhbXBsZS5oICAgICAgIHwgICAxIC0NCj4gIC4uLi9Vbml2ZXJzYWwvRHJpdmVyU2Ft cGxlRHhlL05WRGF0YVN0cnVjLmggICAgICAgIHwgICAyIC0NCj4gIE1kZU1vZHVsZVBrZy9Vbml2 ZXJzYWwvRHJpdmVyU2FtcGxlRHhlL1Zmci52ZnIgICAgIHwgIDIwIC0tDQo+ICAuLi4vVW5pdmVy c2FsL0RyaXZlclNhbXBsZUR4ZS9WZnJTdHJpbmdzLnVuaSAgICAgICB8ICAgOCAtDQo+ICA1IGZp bGVzIGNoYW5nZWQsIDI5MyBkZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1naXQgYS9NZGVNb2R1 bGVQa2cvVW5pdmVyc2FsL0RyaXZlclNhbXBsZUR4ZS9Ecml2ZXJTYW1wbGUuYw0KPiBiL01kZU1v ZHVsZVBrZy9Vbml2ZXJzYWwvRHJpdmVyU2FtcGxlRHhlL0RyaXZlclNhbXBsZS5jDQo+IGluZGV4 IDNjNDk0ZTMuLjFiNThhOGQgMTAwNjQ0DQo+IC0tLSBhL01kZU1vZHVsZVBrZy9Vbml2ZXJzYWwv RHJpdmVyU2FtcGxlRHhlL0RyaXZlclNhbXBsZS5jDQo+ICsrKyBiL01kZU1vZHVsZVBrZy9Vbml2 ZXJzYWwvRHJpdmVyU2FtcGxlRHhlL0RyaXZlclNhbXBsZS5jDQo+IEBAIC0yNTksMjM3ICsyNTks MTAgQEAgSW50ZXJuYWxTdG9wTW9uaXRvcigNCj4gICAgICB9DQo+ICAgIH0NCj4gICAgcmV0dXJu IEVGSV9TVUNDRVNTOw0KPiAgfQ0KPiANCj4gLQ0KPiAtLyoqDQo+IC0gIEVuY29kZSB0aGUgcGFz c3dvcmQgdXNpbmcgYSBzaW1wbGUgYWxnb3JpdGhtLg0KPiAtDQo+IC0gIEBwYXJhbSBQYXNzd29y ZCBUaGUgc3RyaW5nIHRvIGJlIGVuY29kZWQuDQo+IC0gIEBwYXJhbSBNYXhTaXplICBUaGUgc2l6 ZSBvZiB0aGUgc3RyaW5nLg0KPiAtDQo+IC0qKi8NCj4gLVZPSUQNCj4gLUVuY29kZVBhc3N3b3Jk ICgNCj4gLSAgSU4gIENIQVIxNiAgICAgICAgICAgICAgICAgICAgICAqUGFzc3dvcmQsDQo+IC0g IElOICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgTWF4U2l6ZQ0KPiAtICApDQo+IC17DQo+ IC0gIFVJTlROICAgSW5kZXg7DQo+IC0gIFVJTlROICAgTG9vcDsNCj4gLSAgQ0hBUjE2ICAqQnVm ZmVyOw0KPiAtICBDSEFSMTYgICpLZXk7DQo+IC0NCj4gLSAgS2V5ICAgICA9IEwiTUFSMTA2NDg1 NjciOw0KPiAtICBCdWZmZXIgID0gQWxsb2NhdGVaZXJvUG9vbCAoTWF4U2l6ZSk7DQo+IC0gIEFT U0VSVCAoQnVmZmVyICE9IE5VTEwpOw0KPiAtDQo+IC0gIGZvciAoSW5kZXggPSAwOyBLZXlbSW5k ZXhdICE9IDA7IEluZGV4KyspIHsNCj4gLSAgICBmb3IgKExvb3AgPSAwOyBMb29wIDwgKFVJTlQ4 KSAoTWF4U2l6ZSAvIDIpOyBMb29wKyspIHsNCj4gLSAgICAgIEJ1ZmZlcltMb29wXSA9IChDSEFS MTYpIChQYXNzd29yZFtMb29wXSBeIEtleVtJbmRleF0pOw0KPiAtICAgIH0NCj4gLSAgfQ0KPiAt DQo+IC0gIENvcHlNZW0gKFBhc3N3b3JkLCBCdWZmZXIsIE1heFNpemUpOw0KPiAtDQo+IC0gIEZy ZWVQb29sIChCdWZmZXIpOw0KPiAtICByZXR1cm4gOw0KPiAtfQ0KPiAtDQo+IC0vKioNCj4gLSAg VmFsaWRhdGUgdGhlIHVzZXIncyBwYXNzd29yZC4NCj4gLQ0KPiAtICBAcGFyYW0gUHJpdmF0ZURh dGEgVGhpcyBkcml2ZXIncyBwcml2YXRlIGNvbnRleHQgZGF0YS4NCj4gLSAgQHBhcmFtIFN0cmlu Z0lkICAgIFRoZSB1c2VyJ3MgaW5wdXQuDQo+IC0NCj4gLSAgQHJldHZhbCBFRklfU1VDQ0VTUyAg IFRoZSB1c2VyJ3MgaW5wdXQgbWF0Y2hlcyB0aGUgcGFzc3dvcmQuDQo+IC0gIEByZXR2YWwgRUZJ X05PVF9SRUFEWSBUaGUgdXNlcidzIGlucHV0IGRvZXMgbm90IG1hdGNoIHRoZSBwYXNzd29yZC4N Cj4gLSoqLw0KPiAtRUZJX1NUQVRVUw0KPiAtVmFsaWRhdGVQYXNzd29yZCAoDQo+IC0gIElOICAg ICAgIERSSVZFUl9TQU1QTEVfUFJJVkFURV9EQVRBICAgICAgKlByaXZhdGVEYXRhLA0KPiAtICBJ TiAgICAgICBFRklfU1RSSU5HX0lEICAgICAgICAgICAgICAgICAgIFN0cmluZ0lkDQo+IC0gICkN Cj4gLXsNCj4gLSAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICAgICAgICBTdGF0dXM7DQo+IC0g IFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5kZXg7DQo+IC0gIFVJTlROICAgICAg ICAgICAgICAgICAgICAgICAgICAgQnVmZmVyU2l6ZTsNCj4gLSAgVUlOVE4gICAgICAgICAgICAg ICAgICAgICAgICAgICBQYXNzd29yZE1heFNpemU7DQo+IC0gIENIQVIxNiAgICAgICAgICAgICAg ICAgICAgICAgICAgKlBhc3N3b3JkOw0KPiAtICBDSEFSMTYgICAgICAgICAgICAgICAgICAgICAg ICAgICpFbmNvZGVkUGFzc3dvcmQ7DQo+IC0gIEJPT0xFQU4gICAgICAgICAgICAgICAgICAgICAg ICAgT2xkUGFzc3dvcmQ7DQo+IC0NCj4gLSAgLy8NCj4gLSAgLy8gR2V0IGVuY29kZWQgcGFzc3dv cmQgZmlyc3QNCj4gLSAgLy8NCj4gLSAgQnVmZmVyU2l6ZSA9IHNpemVvZiAoRFJJVkVSX1NBTVBM RV9DT05GSUdVUkFUSU9OKTsNCj4gLSAgU3RhdHVzID0gZ1JULT5HZXRWYXJpYWJsZSAoDQo+IC0g ICAgICAgICAgICAgICAgICBWYXJpYWJsZU5hbWUsDQo+IC0gICAgICAgICAgICAgICAgICAmZ0Ry aXZlclNhbXBsZUZvcm1TZXRHdWlkLA0KPiAtICAgICAgICAgICAgICAgICAgTlVMTCwNCj4gLSAg ICAgICAgICAgICAgICAgICZCdWZmZXJTaXplLA0KPiAtICAgICAgICAgICAgICAgICAgJlByaXZh dGVEYXRhLT5Db25maWd1cmF0aW9uDQo+IC0gICAgICAgICAgICAgICAgICApOw0KPiAtICBpZiAo RUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+IC0gICAgLy8NCj4gLSAgICAvLyBPbGQgcGFzc3dvcmQg bm90IGV4aXN0LCBwcm9tcHQgZm9yIG5ldyBwYXNzd29yZA0KPiAtICAgIC8vDQo+IC0gICAgcmV0 dXJuIEVGSV9TVUNDRVNTOw0KPiAtICB9DQo+IC0NCj4gLSAgT2xkUGFzc3dvcmQgPSBGQUxTRTsN Cj4gLSAgUGFzc3dvcmRNYXhTaXplID0gc2l6ZW9mIChQcml2YXRlRGF0YS0NCj4gPkNvbmZpZ3Vy YXRpb24uV2hhdElzVGhlUGFzc3dvcmQyKTsNCj4gLSAgLy8NCj4gLSAgLy8gQ2hlY2sgd2hldGhl ciB3ZSBoYXZlIGFueSBvbGQgcGFzc3dvcmQgc2V0DQo+IC0gIC8vDQo+IC0gIGZvciAoSW5kZXgg PSAwOyBJbmRleCA8IFBhc3N3b3JkTWF4U2l6ZSAvIHNpemVvZiAoVUlOVDE2KTsgSW5kZXgrKykg ew0KPiAtICAgIGlmIChQcml2YXRlRGF0YS0+Q29uZmlndXJhdGlvbi5XaGF0SXNUaGVQYXNzd29y ZDJbSW5kZXhdICE9IDApIHsNCj4gLSAgICAgIE9sZFBhc3N3b3JkID0gVFJVRTsNCj4gLSAgICAg IGJyZWFrOw0KPiAtICAgIH0NCj4gLSAgfQ0KPiAtICBpZiAoIU9sZFBhc3N3b3JkKSB7DQo+IC0g ICAgLy8NCj4gLSAgICAvLyBPbGQgcGFzc3dvcmQgbm90IGV4aXN0LCByZXR1cm4gRUZJX1NVQ0NF U1MgdG8gcHJvbXB0IGZvciBuZXcNCj4gcGFzc3dvcmQNCj4gLSAgICAvLw0KPiAtICAgIHJldHVy biBFRklfU1VDQ0VTUzsNCj4gLSAgfQ0KPiAtDQo+IC0gIC8vDQo+IC0gIC8vIEdldCB1c2VyIGlu cHV0IHBhc3N3b3JkDQo+IC0gIC8vDQo+IC0gIFBhc3N3b3JkID0gSGlpR2V0U3RyaW5nIChQcml2 YXRlRGF0YS0+SGlpSGFuZGxlWzBdLCBTdHJpbmdJZCwgTlVMTCk7DQo+IC0gIGlmIChQYXNzd29y ZCA9PSBOVUxMKSB7DQo+IC0gICAgcmV0dXJuIEVGSV9OT1RfUkVBRFk7DQo+IC0gIH0NCj4gLSAg aWYgKFN0clNpemUgKFBhc3N3b3JkKSA+IFBhc3N3b3JkTWF4U2l6ZSkgew0KPiAtICAgIEZyZWVQ b29sIChQYXNzd29yZCk7DQo+IC0gICAgcmV0dXJuIEVGSV9OT1RfUkVBRFk7DQo+IC0gIH0NCj4g LQ0KPiAtICAvLw0KPiAtICAvLyBWYWxpZGF0ZSBvbGQgcGFzc3dvcmQNCj4gLSAgLy8NCj4gLSAg RW5jb2RlZFBhc3N3b3JkID0gQWxsb2NhdGVaZXJvUG9vbCAoUGFzc3dvcmRNYXhTaXplKTsNCj4g LSAgQVNTRVJUIChFbmNvZGVkUGFzc3dvcmQgIT0gTlVMTCk7DQo+IC0gIFN0cm5DcHlTIChFbmNv ZGVkUGFzc3dvcmQsIFBhc3N3b3JkTWF4U2l6ZSAvIHNpemVvZiAoQ0hBUjE2KSwNCj4gUGFzc3dv cmQsIFN0ckxlbiAoUGFzc3dvcmQpKTsNCj4gLSAgRW5jb2RlUGFzc3dvcmQgKEVuY29kZWRQYXNz d29yZCwgU3RyTGVuIChFbmNvZGVkUGFzc3dvcmQpICogc2l6ZW9mDQo+IChDSEFSMTYpKTsNCj4g LSAgaWYgKENvbXBhcmVNZW0gKEVuY29kZWRQYXNzd29yZCwgUHJpdmF0ZURhdGEtDQo+ID5Db25m aWd1cmF0aW9uLldoYXRJc1RoZVBhc3N3b3JkMiwgUGFzc3dvcmRNYXhTaXplKSAhPSAwKSB7DQo+ IC0gICAgLy8NCj4gLSAgICAvLyBPbGQgcGFzc3dvcmQgbWlzbWF0Y2gsIHJldHVybiBFRklfTk9U X1JFQURZIHRvIHByb21wdCBmb3IgZXJyb3INCj4gbWVzc2FnZQ0KPiAtICAgIC8vDQo+IC0gICAg U3RhdHVzID0gRUZJX05PVF9SRUFEWTsNCj4gLSAgfSBlbHNlIHsNCj4gLSAgICBTdGF0dXMgPSBF RklfU1VDQ0VTUzsNCj4gLSAgfQ0KPiAtDQo+IC0gIEZyZWVQb29sIChQYXNzd29yZCk7DQo+IC0g IEZyZWVQb29sIChFbmNvZGVkUGFzc3dvcmQpOw0KPiAtDQo+IC0gIHJldHVybiBTdGF0dXM7DQo+ IC19DQo+IC0NCj4gLS8qKg0KPiAtICBFbmNvZGUgdGhlIHBhc3N3b3JkIHVzaW5nIGEgc2ltcGxl IGFsZ29yaXRobS4NCj4gLQ0KPiAtICBAcGFyYW0gUHJpdmF0ZURhdGEgVGhpcyBkcml2ZXIncyBw cml2YXRlIGNvbnRleHQgZGF0YS4NCj4gLSAgQHBhcmFtIFN0cmluZ0lkICAgIFRoZSBwYXNzd29y ZCBmcm9tIFVzZXIuDQo+IC0NCj4gLSAgQHJldHZhbCAgRUZJX1NVQ0VTUyBUaGUgb3BlcmF0aW9u IGlzIHN1Y2Nlc3NmdWwuDQo+IC0gIEByZXR1cm4gIE90aGVyIHZhbHVlIGlmIGdSVC0+U2V0VmFy aWFibGUgKCkgZmFpbHMuDQo+IC0NCj4gLSoqLw0KPiAtRUZJX1NUQVRVUw0KPiAtU2V0UGFzc3dv cmQgKA0KPiAtICBJTiBEUklWRVJfU0FNUExFX1BSSVZBVEVfREFUQSAgICAgICpQcml2YXRlRGF0 YSwNCj4gLSAgSU4gRUZJX1NUUklOR19JRCAgICAgICAgICAgICAgICAgICBTdHJpbmdJZA0KPiAt ICApDQo+IC17DQo+IC0gIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgICAgICAgU3RhdHVzOw0K PiAtICBDSEFSMTYgICAgICAgICAgICAgICAgICAgICAgICAgICpQYXNzd29yZDsNCj4gLSAgQ0hB UjE2ICAgICAgICAgICAgICAgICAgICAgICAgICAqVGVtcFBhc3N3b3JkOw0KPiAtICBVSU5UTiAg ICAgICAgICAgICAgICAgICAgICAgICAgIFBhc3N3b3JkU2l6ZTsNCj4gLSAgRFJJVkVSX1NBTVBM RV9DT05GSUdVUkFUSU9OICAgICAqQ29uZmlndXJhdGlvbjsNCj4gLSAgVUlOVE4gICAgICAgICAg ICAgICAgICAgICAgICAgICBCdWZmZXJTaXplOw0KPiAtDQo+IC0gIC8vDQo+IC0gIC8vIEdldCBC dWZmZXIgU3RvcmFnZSBkYXRhIGZyb20gRUZJIHZhcmlhYmxlDQo+IC0gIC8vDQo+IC0gIEJ1ZmZl clNpemUgPSBzaXplb2YgKERSSVZFUl9TQU1QTEVfQ09ORklHVVJBVElPTik7DQo+IC0gIFN0YXR1 cyA9IGdSVC0+R2V0VmFyaWFibGUgKA0KPiAtICAgICAgICAgICAgICAgICAgVmFyaWFibGVOYW1l LA0KPiAtICAgICAgICAgICAgICAgICAgJmdEcml2ZXJTYW1wbGVGb3JtU2V0R3VpZCwNCj4gLSAg ICAgICAgICAgICAgICAgIE5VTEwsDQo+IC0gICAgICAgICAgICAgICAgICAmQnVmZmVyU2l6ZSwN Cj4gLSAgICAgICAgICAgICAgICAgICZQcml2YXRlRGF0YS0+Q29uZmlndXJhdGlvbg0KPiAtICAg ICAgICAgICAgICAgICAgKTsNCj4gLSAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiAtICAg IHJldHVybiBTdGF0dXM7DQo+IC0gIH0NCj4gLQ0KPiAtICAvLw0KPiAtICAvLyBHZXQgdXNlciBp bnB1dCBwYXNzd29yZA0KPiAtICAvLw0KPiAtICBQYXNzd29yZCA9IFByaXZhdGVEYXRhLT5Db25m aWd1cmF0aW9uLldoYXRJc1RoZVBhc3N3b3JkMjsNCj4gLSAgUGFzc3dvcmRTaXplID0gc2l6ZW9m IChQcml2YXRlRGF0YS0+Q29uZmlndXJhdGlvbi5XaGF0SXNUaGVQYXNzd29yZDIpOw0KPiAtICBa ZXJvTWVtIChQYXNzd29yZCwgUGFzc3dvcmRTaXplKTsNCj4gLQ0KPiAtICBUZW1wUGFzc3dvcmQg PSBIaWlHZXRTdHJpbmcgKFByaXZhdGVEYXRhLT5IaWlIYW5kbGVbMF0sIFN0cmluZ0lkLCBOVUxM KTsNCj4gLSAgaWYgKFRlbXBQYXNzd29yZCA9PSBOVUxMKSB7DQo+IC0gICAgcmV0dXJuIEVGSV9O T1RfUkVBRFk7DQo+IC0gIH0NCj4gLSAgaWYgKFN0clNpemUgKFRlbXBQYXNzd29yZCkgPiBQYXNz d29yZFNpemUpIHsNCj4gLSAgICBGcmVlUG9vbCAoVGVtcFBhc3N3b3JkKTsNCj4gLSAgICByZXR1 cm4gRUZJX05PVF9SRUFEWTsNCj4gLSAgfQ0KPiAtICBTdHJuQ3B5UyAoUGFzc3dvcmQsIFBhc3N3 b3JkU2l6ZSAvIHNpemVvZiAoQ0hBUjE2KSwgVGVtcFBhc3N3b3JkLA0KPiBTdHJMZW4gKFRlbXBQ YXNzd29yZCkpOw0KPiAtICBGcmVlUG9vbCAoVGVtcFBhc3N3b3JkKTsNCj4gLQ0KPiAtICAvLw0K PiAtICAvLyBSZXRyaWV2ZSB1bmNvbW1pdHRlZCBkYXRhIGZyb20gQnJvd3Nlcg0KPiAtICAvLw0K PiAtICBDb25maWd1cmF0aW9uID0gQWxsb2NhdGVaZXJvUG9vbCAoc2l6ZW9mDQo+IChEUklWRVJf U0FNUExFX0NPTkZJR1VSQVRJT04pKTsNCj4gLSAgQVNTRVJUIChDb25maWd1cmF0aW9uICE9IE5V TEwpOw0KPiAtICBpZiAoSGlpR2V0QnJvd3NlckRhdGEgKCZnRHJpdmVyU2FtcGxlRm9ybVNldEd1 aWQsIFZhcmlhYmxlTmFtZSwgc2l6ZW9mDQo+IChEUklWRVJfU0FNUExFX0NPTkZJR1VSQVRJT04p LCAoVUlOVDggKikgQ29uZmlndXJhdGlvbikpIHsNCj4gLSAgICAvLw0KPiAtICAgIC8vIFVwZGF0 ZSBwYXNzd29yZCdzIGNsZWFyIHRleHQgaW4gdGhlIHNjcmVlbg0KPiAtICAgIC8vDQo+IC0gICAg Q29weU1lbSAoQ29uZmlndXJhdGlvbi0+UGFzc3dvcmRDbGVhclRleHQsIFBhc3N3b3JkLCBTdHJT aXplDQo+IChQYXNzd29yZCkpOw0KPiAtDQo+IC0gICAgLy8NCj4gLSAgICAvLyBVcGRhdGUgdW5j b21taXR0ZWQgZGF0YSBvZiBCcm93c2VyDQo+IC0gICAgLy8NCj4gLSAgICBIaWlTZXRCcm93c2Vy RGF0YSAoDQo+IC0gICAgICAgJmdEcml2ZXJTYW1wbGVGb3JtU2V0R3VpZCwNCj4gLSAgICAgICBW YXJpYWJsZU5hbWUsDQo+IC0gICAgICAgc2l6ZW9mIChEUklWRVJfU0FNUExFX0NPTkZJR1VSQVRJ T04pLA0KPiAtICAgICAgIChVSU5UOCAqKSBDb25maWd1cmF0aW9uLA0KPiAtICAgICAgIE5VTEwN Cj4gLSAgICAgICApOw0KPiAtICB9DQo+IC0NCj4gLSAgLy8NCj4gLSAgLy8gRnJlZSBDb25maWd1 cmF0aW9uIEJ1ZmZlcg0KPiAtICAvLw0KPiAtICBGcmVlUG9vbCAoQ29uZmlndXJhdGlvbik7DQo+ IC0NCj4gLQ0KPiAtICAvLw0KPiAtICAvLyBTZXQgcGFzc3dvcmQNCj4gLSAgLy8NCj4gLSAgRW5j b2RlUGFzc3dvcmQgKFBhc3N3b3JkLCBTdHJMZW4gKFBhc3N3b3JkKSAqIDIpOw0KPiAtICBTdGF0 dXMgPSBnUlQtPlNldFZhcmlhYmxlKA0KPiAtICAgICAgICAgICAgICAgICAgVmFyaWFibGVOYW1l LA0KPiAtICAgICAgICAgICAgICAgICAgJmdEcml2ZXJTYW1wbGVGb3JtU2V0R3VpZCwNCj4gLSAg ICAgICAgICAgICAgICAgIEVGSV9WQVJJQUJMRV9OT05fVk9MQVRJTEUgfA0KPiBFRklfVkFSSUFC TEVfQk9PVFNFUlZJQ0VfQUNDRVNTLA0KPiAtICAgICAgICAgICAgICAgICAgc2l6ZW9mIChEUklW RVJfU0FNUExFX0NPTkZJR1VSQVRJT04pLA0KPiAtICAgICAgICAgICAgICAgICAgJlByaXZhdGVE YXRhLT5Db25maWd1cmF0aW9uDQo+IC0gICAgICAgICAgICAgICAgICApOw0KPiAtICByZXR1cm4g U3RhdHVzOw0KPiAtfQ0KPiAtDQo+ICAvKioNCj4gICBVcGRhdGUgbmFtZXMgb2YgTmFtZS9WYWx1 ZSBzdG9yYWdlIHRvIGN1cnJlbnQgbGFuZ3VhZ2UuDQo+IA0KPiAgIEBwYXJhbSBQcml2YXRlRGF0 YSAgIFBvaW50cyB0byB0aGUgZHJpdmVyIHByaXZhdGUgZGF0YS4NCj4gDQo+IEBAIC0xNzI2LDQ0 ICsxNDk5LDEwIEBAIERyaXZlckNhbGxiYWNrICgNCj4gICAgICAgIEhpaUZyZWVPcENvZGVIYW5k bGUgKFN0YXJ0T3BDb2RlSGFuZGxlKTsNCj4gICAgICAgIEhpaUZyZWVPcENvZGVIYW5kbGUgKE9w dGlvbnNPcENvZGVIYW5kbGUpOw0KPiAgICAgICAgSGlpRnJlZU9wQ29kZUhhbmRsZSAoRW5kT3BD b2RlSGFuZGxlKTsNCj4gICAgICAgIGJyZWFrOw0KPiANCj4gLSAgICBjYXNlIDB4MjAwMDoNCj4g LSAgICAgIC8vDQo+IC0gICAgICAvLyBPbmx5IHVzZWQgdG8gdXBkYXRlIHRoZSBzdGF0ZS4NCj4g LSAgICAgIC8vDQo+IC0gICAgICBpZiAoKFR5cGUgPT0gRUZJX0lGUl9UWVBFX1NUUklORykgJiYg KFZhbHVlLT5zdHJpbmcgPT0gMCkgJiYNCj4gLSAgICAgICAgKFByaXZhdGVEYXRhLT5QYXNzd29y ZFN0YXRlID09IEJST1dTRVJfU1RBVEVfU0VUX1BBU1NXT1JEKSkgew0KPiAtICAgICAgICBQcml2 YXRlRGF0YS0+UGFzc3dvcmRTdGF0ZSA9DQo+IEJST1dTRVJfU1RBVEVfVkFMSURBVEVfUEFTU1dP UkQ7DQo+IC0gICAgICAgIHJldHVybiBFRklfSU5WQUxJRF9QQVJBTUVURVI7DQo+IC0gICAgICB9 DQo+IC0NCj4gLSAgICAgIC8vDQo+IC0gICAgICAvLyBXaGVuIHRyeSB0byBzZXQgYSBuZXcgcGFz c3dvcmQsIHVzZXIgd2lsbCBiZSBjaGFubGxlZ2VkIHdpdGggb2xkDQo+IHBhc3N3b3JkLg0KPiAt ICAgICAgLy8gVGhlIENhbGxiYWNrIGlzIHJlc3BvbnNpYmxlIGZvciB2YWxpZGF0aW5nIG9sZCBw YXNzd29yZCBpbnB1dCBieSB1c2VyLA0KPiAtICAgICAgLy8gSWYgQ2FsbGJhY2sgcmV0dXJuIEVG SV9TVUNDRVNTLCBpdCBpbmRpY2F0ZXMgdmFsaWRhdGlvbiBwYXNzLg0KPiAtICAgICAgLy8NCj4g LSAgICAgIHN3aXRjaCAoUHJpdmF0ZURhdGEtPlBhc3N3b3JkU3RhdGUpIHsNCj4gLSAgICAgIGNh c2UgQlJPV1NFUl9TVEFURV9WQUxJREFURV9QQVNTV09SRDoNCj4gLSAgICAgICAgU3RhdHVzID0g VmFsaWRhdGVQYXNzd29yZCAoUHJpdmF0ZURhdGEsIFZhbHVlLT5zdHJpbmcpOw0KPiAtICAgICAg ICBpZiAoU3RhdHVzID09IEVGSV9TVUNDRVNTKSB7DQo+IC0gICAgICAgICAgUHJpdmF0ZURhdGEt PlBhc3N3b3JkU3RhdGUgPSBCUk9XU0VSX1NUQVRFX1NFVF9QQVNTV09SRDsNCj4gLSAgICAgICAg fQ0KPiAtICAgICAgICBicmVhazsNCj4gLQ0KPiAtICAgICAgY2FzZSBCUk9XU0VSX1NUQVRFX1NF VF9QQVNTV09SRDoNCj4gLSAgICAgICAgU3RhdHVzID0gU2V0UGFzc3dvcmQgKFByaXZhdGVEYXRh LCBWYWx1ZS0+c3RyaW5nKTsNCj4gLSAgICAgICAgUHJpdmF0ZURhdGEtPlBhc3N3b3JkU3RhdGUg PQ0KPiBCUk9XU0VSX1NUQVRFX1ZBTElEQVRFX1BBU1NXT1JEOw0KPiAtICAgICAgICBicmVhazsN Cj4gLQ0KPiAtICAgICAgZGVmYXVsdDoNCj4gLSAgICAgICAgYnJlYWs7DQo+IC0gICAgICB9DQo+ IC0NCj4gLSAgICAgIGJyZWFrOw0KPiAtDQo+ICAgICAgZGVmYXVsdDoNCj4gICAgICAgIGJyZWFr Ow0KPiAgICAgIH0NCj4gICAgfQ0KPiAgICBicmVhazsNCj4gQEAgLTE5ODEsMTEgKzE3MjAsMTAg QEAgRHJpdmVyU2FtcGxlSW5pdCAoDQo+ICAgIG1Qcml2YXRlRGF0YS0+U2lnbmF0dXJlID0gRFJJ VkVSX1NBTVBMRV9QUklWQVRFX1NJR05BVFVSRTsNCj4gDQo+ICAgIG1Qcml2YXRlRGF0YS0+Q29u ZmlnQWNjZXNzLkV4dHJhY3RDb25maWcgPSBFeHRyYWN0Q29uZmlnOw0KPiAgICBtUHJpdmF0ZURh dGEtPkNvbmZpZ0FjY2Vzcy5Sb3V0ZUNvbmZpZyA9IFJvdXRlQ29uZmlnOw0KPiAgICBtUHJpdmF0 ZURhdGEtPkNvbmZpZ0FjY2Vzcy5DYWxsYmFjayA9IERyaXZlckNhbGxiYWNrOw0KPiAtICBtUHJp dmF0ZURhdGEtPlBhc3N3b3JkU3RhdGUgPSBCUk9XU0VSX1NUQVRFX1ZBTElEQVRFX1BBU1NXT1JE Ow0KPiANCj4gICAgLy8NCj4gICAgLy8gTG9jYXRlIEhpaSBEYXRhYmFzZSBwcm90b2NvbA0KPiAg ICAvLw0KPiAgICBTdGF0dXMgPSBnQlMtPkxvY2F0ZVByb3RvY29sICgmZ0VmaUhpaURhdGFiYXNl UHJvdG9jb2xHdWlkLCBOVUxMLCAoVk9JRA0KPiAqKikgJkhpaURhdGFiYXNlKTsNCj4gZGlmZiAt LWdpdCBhL01kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvRHJpdmVyU2FtcGxlRHhlL0RyaXZlclNhbXBs ZS5oDQo+IGIvTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9Ecml2ZXJTYW1wbGVEeGUvRHJpdmVyU2Ft cGxlLmgNCj4gaW5kZXggOTdkZWU5Yy4uNWIyOTFiZCAxMDA2NDQNCj4gLS0tIGEvTWRlTW9kdWxl UGtnL1VuaXZlcnNhbC9Ecml2ZXJTYW1wbGVEeGUvRHJpdmVyU2FtcGxlLmgNCj4gKysrIGIvTWRl TW9kdWxlUGtnL1VuaXZlcnNhbC9Ecml2ZXJTYW1wbGVEeGUvRHJpdmVyU2FtcGxlLmgNCj4gQEAg LTgyLDExICs4MiwxMCBAQCB0eXBlZGVmIHN0cnVjdCB7DQo+IA0KPiAgICBFRklfSEFORExFICAg ICAgICAgICAgICAgICAgICAgICBEcml2ZXJIYW5kbGVbMl07DQo+ICAgIEVGSV9ISUlfSEFORExF ICAgICAgICAgICAgICAgICAgIEhpaUhhbmRsZVsyXTsNCj4gICAgRFJJVkVSX1NBTVBMRV9DT05G SUdVUkFUSU9OICAgICAgQ29uZmlndXJhdGlvbjsNCj4gICAgTVlfRUZJX1ZBUlNUT1JFX0RBVEEg ICAgICAgICAgICAgVmFyU3RvcmVDb25maWc7DQo+IC0gIFVJTlQ4ICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFBhc3N3b3JkU3RhdGU7DQo+IA0KPiAgICAvLw0KPiAgICAvLyBOYW1lL1ZhbHVl IHN0b3JhZ2UgTmFtZSBsaXN0DQo+ICAgIC8vDQo+ICAgIEVGSV9TVFJJTkdfSUQgICAgICAgICAg ICAgICAgICAgIE5hbWVTdHJpbmdJZFtOQU1FX1ZBTFVFX05BTUVfTlVNQkVSXTsNCj4gZGlmZiAt LWdpdCBhL01kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvRHJpdmVyU2FtcGxlRHhlL05WRGF0YVN0cnVj LmgNCj4gYi9NZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0RyaXZlclNhbXBsZUR4ZS9OVkRhdGFTdHJ1 Yy5oDQo+IGluZGV4IDNkZmFjY2EuLjE5NWNjOGEgMTAwNjQ0DQo+IC0tLSBhL01kZU1vZHVsZVBr Zy9Vbml2ZXJzYWwvRHJpdmVyU2FtcGxlRHhlL05WRGF0YVN0cnVjLmgNCj4gKysrIGIvTWRlTW9k dWxlUGtnL1VuaXZlcnNhbC9Ecml2ZXJTYW1wbGVEeGUvTlZEYXRhU3RydWMuaA0KPiBAQCAtMzIs MTMgKzMyLDExIEBAIFJldmlzaW9uIEhpc3Rvcnk6DQo+IA0KPiAgI2RlZmluZSBDT05GSUdVUkFU SU9OX1ZBUlNUT1JFX0lEICAgIDB4MTIzNA0KPiANCj4gICNwcmFnbWEgcGFjaygxKQ0KPiAgdHlw ZWRlZiBzdHJ1Y3Qgew0KPiAtICBVSU5UMTYgIFdoYXRJc1RoZVBhc3N3b3JkMlsyMF07DQo+ICAg IFVJTlQxNiAgTXlTdHJpbmdEYXRhWzQwXTsNCj4gLSAgVUlOVDE2ICBQYXNzd29yZENsZWFyVGV4 dFsyMF07DQo+ICAgIFVJTlQxNiAgU29tZXRoaW5nSGlkZGVuRm9ySHRtbDsNCj4gICAgVUlOVDgg ICBIb3dPbGRBcmVZb3VJblllYXJzTWFudWFsOw0KPiAgICBVSU5UMTYgIEhvd1RhbGxBcmVZb3VN YW51YWw7DQo+ICAgIFVJTlQ4ICAgSG93T2xkQXJlWW91SW5ZZWFyczsNCj4gICAgVUlOVDE2ICBI b3dUYWxsQXJlWW91Ow0KPiBkaWZmIC0tZ2l0IGEvTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9Ecml2 ZXJTYW1wbGVEeGUvVmZyLnZmcg0KPiBiL01kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvRHJpdmVyU2Ft cGxlRHhlL1Zmci52ZnINCj4gaW5kZXggZmU5YTQ0OS4uNGJkYWY3NiAxMDA2NDQNCj4gLS0tIGEv TWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9Ecml2ZXJTYW1wbGVEeGUvVmZyLnZmcg0KPiArKysgYi9N ZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0RyaXZlclNhbXBsZUR4ZS9WZnIudmZyDQo+IEBAIC00NTYs MzAgKzQ1NiwxMCBAQCBmb3Jtc2V0DQo+ICAgICAgICBkZWZhdWx0c3RvcmUgPSBNeU1hbnVmYWN0 dXJlRGVmYXVsdCwNCj4gICAgICAgIHByb21wdCAgID0gU1RSSU5HX1RPS0VOKFNUUl9NQU5VRkFD VFVSRV9ERUZBVUxUX1BST01QVCksDQo+ICAgICAgICBoZWxwICAgICA9IFNUUklOR19UT0tFTihT VFJfTUFOVUZBQ1RVUkVfREVGQVVMVF9IRUxQKSwNCj4gICAgICBlbmRyZXNldGJ1dHRvbjsNCj4g DQo+IC0gICAgc3RyaW5nICAgIHZhcmlkICAgID0gTXlJZnJOVkRhdGEuUGFzc3dvcmRDbGVhclRl eHQsDQo+IC0gICAgICAgICAgICAgIHByb21wdCAgID0gU1RSSU5HX1RPS0VOKFNUUl9NWV9TVFJJ TkdfUFJPTVBUKSwNCj4gLSAgICAgICAgICAgICAgaGVscCAgICAgPSBTVFJJTkdfVE9LRU4oU1RS X01ZX1NUUklOR19IRUxQKSwNCj4gLSAgICAgICAgICAgICAgbWluc2l6ZSAgPSA2LA0KPiAtICAg ICAgICAgICAgICBtYXhzaXplICA9IDB4MTQsDQo+IC0gICAgICAgICAgICAgIGRlZmF1bHQgID0g U1RSSU5HX1RPS0VOKFNUUl9NWV9TVFJJTkdfREVGQVVMVCksDQo+IC0gICAgZW5kc3RyaW5nOw0K PiAtDQo+IC0gICAgLy8NCj4gLSAgICAvLyBJbnRlcmFjdGl2ZSBwYXNzd29yZCwgdmFsaWRhdGUg dmlhIENvbmZpZ0FjY2Vzcy5DYWxsYmFjaygpDQo+IC0gICAgLy8NCj4gLSAgICBwYXNzd29yZCAg dmFyaWQgICAgPSBNeUlmck5WRGF0YS5XaGF0SXNUaGVQYXNzd29yZDIsDQo+IC0gICAgICAgICAg ICAgIHByb21wdCAgID0gU1RSSU5HX1RPS0VOKFNUUl9QQVNTV09SRF9DQUxMQkFDS19QUk9NUFQp LA0KPiAtICAgICAgICAgICAgICBoZWxwICAgICA9IFNUUklOR19UT0tFTihTVFJfUEFTU1dPUkRf SEVMUCksDQo+IC0gICAgICAgICAgICAgIGZsYWdzICAgID0gSU5URVJBQ1RJVkUsDQo+IC0gICAg ICAgICAgICAgIGtleSAgICAgID0gMHgyMDAwLA0KPiAtICAgICAgICAgICAgICBtaW5zaXplICA9 IDYsDQo+IC0gICAgICAgICAgICAgIG1heHNpemUgID0gMjAsDQo+IC0gICAgZW5kcGFzc3dvcmQ7 DQo+IC0NCj4gICAgICAvLw0KPiAgICAgIC8vIFNhbXBsZSB1c2UgY2FzZSBmb3IgSUZSIFNlY3Vy aXR5IG9wLWNvZGUNCj4gICAgICAvLw0KPiAgICAgIGdyYXlvdXRpZiBOT1Qgc2VjdXJpdHkgKEVG SV9VU0VSX0lORk9fQUNDRVNTX1NFVFVQX0FETUlOX0dVSUQpOw0KPiAgICAgICAgdGV4dA0KPiBk aWZmIC0tZ2l0IGEvTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9Ecml2ZXJTYW1wbGVEeGUvVmZyU3Ry aW5ncy51bmkNCj4gYi9NZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0RyaXZlclNhbXBsZUR4ZS9WZnJT dHJpbmdzLnVuaQ0KPiBpbmRleCA4ZDQ0NDhjLi44ZDI0YTQ3IDEwMDY0NA0KPiAtLS0gYS9NZGVN b2R1bGVQa2cvVW5pdmVyc2FsL0RyaXZlclNhbXBsZUR4ZS9WZnJTdHJpbmdzLnVuaQ0KPiArKysg Yi9NZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0RyaXZlclNhbXBsZUR4ZS9WZnJTdHJpbmdzLnVuaQ0K PiBAQCAtMTA5LDE2ICsxMDksMTIgQEANCj4gICNzdHJpbmcgU1RSX05VTUVSSUNfSEVMUDIgICAg ICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiVGhpcyBpcyB0aGUgaGVscCBmb3INCj4gdGhvc2Ug d2hvIGFyZSB0b28gb2xkIHRvIHVuZGVyc3RhbmQgdGhlIHF1ZXN0aW9uLiBBZGp1c3QgaG93IG9s ZCB5b3UgYXJlDQo+IHN0ZXAgYnkgc3RlcC4gIFRoZSB2YWxpZCByYW5nZSBpbiB0aGlzIGNhc2Ug aXMgZnJvbSAwIHRvIDI0MyBpbiBzdGVwIG9mIDEuICBMZXQncw0KPiBzZWUgaWYgeW91IGFjdHVh bGx5IHJlYWQgdGhpcyBoZWxwIGFuZCBmaWd1cmUgdGhhdCBvdXQuIg0KPiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGZyLUZSICJUaGlzIGlzIHRoZSBo ZWxwIGZvciB0aG9zZSB3aG8gYXJlIHRvbw0KPiBvbGQgdG8gdW5kZXJzdGFuZCB0aGUgcXVlc3Rp b24uIEFkanVzdCBob3cgb2xkIHlvdSBhcmUgc3RlcCBieSBzdGVwLiAgVGhlDQo+IHZhbGlkIHJh bmdlIGluIHRoaXMgY2FzZSBpcyBmcm9tIDAgdG8gMjQzIGluIHN0ZXAgb2YgMS4gIExldCdzIHNl ZSBpZiB5b3UgYWN0dWFsbHkNCj4gcmVhZCB0aGlzIGhlbHAgYW5kIGZpZ3VyZSB0aGF0IG91dC4i DQo+ICAjc3RyaW5nIFNUUl9OVU1FUklDX0hFTFAzICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4t VVMgIlRoaXMgaXMgdGhlIGhlbHAgZm9yDQo+IHRob3NlIHdobyBhcmUgY3VyaW91cyBhYm91dCBi b2R5IGhlaWdodC4gVHlwZSBob3cgdGFsbCB5b3UgYXJlIGluIGEgbnVtZXJpYw0KPiB2YWx1ZS4g IFRoZSB2YWxpZCByYW5nZSBpbiB0aGlzIGNhc2UgaXMgZnJvbSAwIHRvIDE5MC4gIExldCdzIHNl ZSBpZiB5b3UgYWN0dWFsbHkNCj4gcmVhZCB0aGlzIGhlbHAgYW5kIGZpZ3VyZSB0aGF0IG91dC4i DQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZnIt RlIgIsOJc3RhIGVzIGxhIGF5dWRhIHBhcmEgbG9zIHF1ZSBzZWFuDQo+IGRlbWFzaWFkbyB2aWVq b3MgZW50ZW5kZXIgbGEgcHJlZ3VudGEuIFB1bHNlIGPDs21vIGVzIHZpZWpvIHVzdGVkIGVzdMOh IGVuDQo+IGHDsW9zLiINCj4gDQo+IC0jc3RyaW5nIFNUUl9QQVNTV09SRF9DQUxMQkFDS19QUk9N UFQgICAjbGFuZ3VhZ2UgZW4tVVMgIlNldCB0aGUNCj4gc3lzdGVtIHBhc3N3b3JkIC0gSW50ZXJh Y3RpdmUiDQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3Vh Z2UgZnItRlIgIkN1w6FsIGVzIGxhIHBhbGFicmEgbcOhZ2ljYT8gLSBJbnRlcmFjdGl2ZSINCj4g ICNzdHJpbmcgU1RSX1BBU1NXT1JEX1BST01QVCAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAi U2V0IHRoZSBzeXN0ZW0NCj4gcGFzc3dvcmQiDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZnItRlIgIkN1w6FsIGVzIGxhIHBhbGFicmEgbcOhZ2lj YT8iDQo+IC0jc3RyaW5nIFNUUl9QQVNTV09SRF9IRUxQICAgICAgICAgICAgICAjbGFuZ3VhZ2Ug ZW4tVVMgIlRoaXMgaXMgYSBzeXN0ZW0NCj4gcGFzc3dvcmQgd2hpY2ggd2lsbCBsaWtlbHkgYmUg dXNlZCBieSB0aGUgQkRTIGFyY2hpdGVjdHVyZSBpbiBpdHMgcGxhdGZvcm0NCj4gcG9ydGlvbiBv ZiB0aGUgY29kZS4gIFRoZXJlIGlzIGEgdmVyeSBzaW1wbGUgZW5jcnlwdGlvbiBpbiB0aGlzIHNh bXBsZSBhbmQgdGhlDQo+IHBhc3N3b3JkIHdpbGwgYmUgc3RvcmVkIGluIE5WUkFNIGluIGl0cyBl bmNyeXB0ZWQgZm9ybS4iDQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAjbGFuZ3VhZ2UgZnItRlIgIkVzdG8gZXMgYW5hbGdvdXMgYSBtw60gcXVlIGxlIHByZWd1bnRh DQo+IGN1w6FsIGVzIHN1IHBhbGFicmEgZGUgcGFzby4iDQo+ICAjc3RyaW5nIFNUUl9URVhUX1NF Q1JVSVRZX1RFU1RfVEVYVCAgICAjbGFuZ3VhZ2UgZW4tVVMgIkFjY2VzcyBvbmx5DQo+IHBlcm1p dHRlZCBmb3IgQWRtaW4iDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAjbGFuZ3VhZ2UgZnItRlIgIkFjY2VzcyBvbmx5IHBlcm1pdHRlZCBmb3IgQWRtaW4iDQo+ICAj c3RyaW5nIFNUUl9URVhUX1NFQ1JVSVRZX1RFU1RfSEVMUCAgICAjbGFuZ3VhZ2UgZW4tVVMgIklm IHRoaXMgbGFiZWwgaXMNCj4gbm90IGdyYXksIHRoZW4gY3VycmVudCB1c2VyIGhhcyBhZG1pbiBh Y2Nlc3Mgc2V0dXAgcGVybWlzc2lvbi4gSWYgdGhpcyBsYWJlbCBpcw0KPiBncmF5LCB0aGVuIGN1 cnJlbnQgdXNlciBoYXMgbm8gYWRtaW4gYWNjZXNzIHNldHVwIHBlcm1pc3Npb24uIg0KPiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGZyLUZSICJJZiB0 aGlzIGxhYmVsIGlzIG5vdCBncmF5LCB0aGVuIGN1cnJlbnQgdXNlcg0KPiBoYXMgYWRtaW4gYWNj ZXNzIHNldHVwIHBlcm1pc3Npb24uIElmIHRoaXMgbGFiZWwgaXMgZ3JheSwgdGhlbiBjdXJyZW50 IHVzZXIgaGFzDQo+IG5vIGFkbWluIGFjY2VzcyBzZXR1cCBwZXJtaXNzaW9uLiINCj4gICNzdHJp bmcgU1RSX0dPVE9fRk9STTEgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiRW50ZXIg UGFnZSAxIg0KPiBAQCAtMTQ5LDE0ICsxNDUsMTAgQEANCj4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBmci1GUiAiVXBkYXRlIHRoZSBkZXN0aW5hdGlv biB0aHJvdWdoDQo+ICJjaGFuZ2luZyIgY2FsbCBiYWNrIHR5cGUgd2hlbiB1c2VyIHNlbGVjdCBp dC4iDQo+ICAjc3RyaW5nIFNUUl9FUlJPUl9JTkNPTlNJU1RFTlQgICAgICAgICAjbGFuZ3VhZ2Ug ZW4tVVMgIlRoaXMgaXMgbXkNCj4gaW5jb25zaXN0ZW50IGVycm9yIG1lc3NhZ2UiDQo+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZnItRlIgIsOJc3Rl IGVzIG1pIG1lbnNhamUgZGUgZXJyb3IgY29udHJhcmlvLiINCj4gICNzdHJpbmcgU1RSX0VSUk9S X1BPUFVQICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiWW91IHR5cGVkIGluDQo+IHNv bWV0aGluZyBiYWQhIg0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg I2xhbmd1YWdlIGZyLUZSICJFc3RvIGVzIHVuIG1lbnNhamUgZGUgZXJyb3IgZGVsDQo+IHBvcHVw LiINCj4gLSNzdHJpbmcgU1RSX01ZX1NUUklOR19QUk9NUFQgICAgICAgICAgICNsYW5ndWFnZSBl bi1VUyAiUGFzc3dvcmQgeW91DQo+IHR5cGVkIGluIGlzIg0KPiAtICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGZyLUZSICJQYXNzd29yZCB5b3UgdHlwZWQg aW4gaXMiDQo+IC0jc3RyaW5nIFNUUl9NWV9TVFJJTkdfSEVMUCAgICAgICAgICAgICAjbGFuZ3Vh Z2UgZW4tVVMgIlRoaXMgaXMgbXkgc3RyaW5nDQo+IGhlbHAiDQo+IC0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZnItRlIgIlRoaXMgaXMgbXkgc3RyaW5n IGhlbHAiDQo+ICAjc3RyaW5nIFNUUl9NWV9TVFJJTkdfREVGQVVMVCAgICAgICAgICAjbGFuZ3Vh Z2UgZW4tVVMgIm15IHBhc3N3b3JkIg0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgI2xhbmd1YWdlIGZyLUZSICJteSBwYXNzd29yZCINCj4gICNzdHJpbmcgU1RSX01Z X1NUUklOR19QUk9NUFQyICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiU3RyaW5nIC0NCj4gSW50 ZXJhY3RpdmUiDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFu Z3VhZ2UgZnItRlIgIlN0cmluZyAtIGludGVyYWN0aXZlIg0KPiAgI3N0cmluZyBTVFJfTVlfU1RS SU5HX0hFTFAyICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJUaGlzIGlzIG15IHN0cmluZw0K PiBoZWxwIC0gSW50ZXJhY3RpdmUiDQo+IC0tDQo+IDEuOS41Lm1zeXNnaXQuMQ0KDQo=