From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=40.92.71.100; helo=eur03-db5-obe.outbound.protection.outlook.com; envelope-from=marvin.haeuser@outlook.com; receiver=edk2-devel@lists.01.org Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-oln040092071100.outbound.protection.outlook.com [40.92.71.100]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id B9F2F21B02845 for ; Tue, 24 Jul 2018 05:16:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=u8XZkisr+zGC/2ZzOPSFds3V+CRSr9fk302zqZWjh+Y=; b=jo3FmuHEqxP8Trb/hhGC0XZcZ2L+jHK/WoqzneJ2Mg9AvF4dhKhUxcw4AcjZlNxfQpaL0qrbTKdElR0yK8bfaqQZ25lHWPLQ4ccfmw4vqSkUGFSgHCzWlYeo6jXv8TOsxgrne3Ne8lIZzsvkwhoXDwP3dIE0/ZpE59hT6y21qxrPzifdI1NNZHJZL4x0QlptOQoEZwvZ18ZhrakOFsEYpuyrP+EggpQafJ8WPimFTphWjTA3oXPAsyu5kJeBrGAfVk1eXhPlkLMGt/OW+gzxCAZpEbvF95aEOtxGVntux//G451+F8ifJal7ySS0+BHo4C8LZ7EOVbs2Q1SCvk6vfw== Received: from AM5EUR03FT032.eop-EUR03.prod.protection.outlook.com (10.152.16.59) by AM5EUR03HT098.eop-EUR03.prod.protection.outlook.com (10.152.17.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.995.12; Tue, 24 Jul 2018 12:16:01 +0000 Received: from VI1PR0801MB1790.eurprd08.prod.outlook.com (10.152.16.60) by AM5EUR03FT032.mail.protection.outlook.com (10.152.16.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.995.12 via Frontend Transport; Tue, 24 Jul 2018 12:16:01 +0000 Received: from VI1PR0801MB1790.eurprd08.prod.outlook.com ([fe80::7532:4dc6:e9f7:4765]) by VI1PR0801MB1790.eurprd08.prod.outlook.com ([fe80::7532:4dc6:e9f7:4765%2]) with mapi id 15.20.0973.022; Tue, 24 Jul 2018 12:16:01 +0000 From: =?utf-8?B?TWFydmluIEjDpHVzZXI=?= To: "edk2-devel@lists.01.org" , Laszlo Ersek Thread-Topic: [PATCH 7/8] OvmfPkg/SmmAccessPei: Update MM PPI usages. Thread-Index: AQHUIu9TMtHa0qFZUUmFeUZfSX1KfKSeGSCAgAAvoRA= Date: Tue, 24 Jul 2018 12:16:01 +0000 Message-ID: References: <4aaed815-a16d-a6b9-ddd5-f941ea48b22c@redhat.com> In-Reply-To: <4aaed815-a16d-a6b9-ddd5-f941ea48b22c@redhat.com> Accept-Language: de-DE, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-incomingtopheadermarker: OriginalChecksum:0953EA8F90D731A3E5CAACAF13EF27D99618BED2D5C192912C551F803249A656; UpperCasedChecksum:BA7017E9068AF366FB35CDB1DCBF9BEE150CDB3C674102E46F1DDF7CE89BCC78; SizeAsReceived:7264; Count:45 x-tmn: [9blryQdV5uV3E0GY0Nb6tHN3xut+MUfH] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; AM5EUR03HT098; 6:/ZqcMKgRlEEzLZicrSXtp7imennA8Wd9TZsX3EQj2pH9PHIbB6POpixlAjfDniQ9YmkH7xSvGx4rLqmruZ6YBCxJI51HKQSTXhYhv+1dyZ2pS3NL1qg9k9BVF1DB7tFPv633/cNKJkr9nP7FTpxCkLUMOQPJ8r19rjS0O484BHDHRMj1LwWLdSkLS96U1gfPZK2VnSPmni+VhKQUNamQ7xPlG8LEdyabKyVFvQHjNjqCLIMP03Y8BdCYkyVdf7Y882WKmrxdY7h+A9LZnv6jsh2CUvcbaZijb18UUed2WUgebFxNxjH38XsxLSKjxukomxwCkOPcVviBM1FpbAeZiQZpXRolSribs/WHLsRLOVsbb/S7wl4yhpeg4VcN/JHWciUgxZEhHQxd0xWamOngyO91PUk0LtV94Q+qLREhaO+H2MsCFgUwexpmSQzuijO4kAA25HmxsZ6P7PvGI52VvA==; 5:rao4HYnsistbq0Hqenhtox9VjvzaEwfVZO7eANQjAR+quTiqavYwvEkPvxTb2zVi6oG8WYxD6V9xlzeWQAn1jnRBFqZtXeVQEKhhCa/zvZ71TQYlQPbK6T4gz2t3oKHNfUL9aFNDqXcfhKxt1gGlv7o7fa8reKV+v8g9pnNiYCQ=; 7:8Byly4xvlbmWnMtapcjWL/AIRd3ZojHlihqz8zhOJo5tMmOq2j6h9HDcF7r8FP5d9ANzBeavNz2uOMPx7ycPnnxvOKud5QFHhunknTPpeNtBf336b8JTGgaQewc9rcs1DF0LJ2mNcKECT/qnrmooxsplo1Tqt/SJqPGNJRXfue84SyOaxzKW9OvyT6lGfSST4rQRCkER8MCf0FKkRpzDLfTEuJSklsXwDSg+zA+c1Kx46mN15aHzkCBp6Xy1pHCM x-incomingheadercount: 45 x-eopattributedmessage: 0 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(201702061078)(5061506573)(5061507331)(1603103135)(2017031320274)(2017031324274)(2017031323274)(2017031322404)(1603101448)(1601125500)(1701031045); SRVR:AM5EUR03HT098; x-ms-traffictypediagnostic: AM5EUR03HT098: x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(82015058); SRVR:AM5EUR03HT098; BCL:0; PCL:0; RULEID:; SRVR:AM5EUR03HT098; x-forefront-prvs: 0743E8D0A6 x-forefront-antispam-report: SFV:NSPM; SFS:(7070007)(979002)(13464003)(189003)(199004)(15650500001)(19627235002)(97736004)(446003)(11346002)(6346003)(53546011)(87572001)(45080400002)(76176011)(85182001)(8936002)(26005)(86362001)(7696005)(8676002)(72206003)(81156014)(14454004)(5250100002)(486006)(110136005)(104016004)(476003)(56003)(2501003)(305945005)(426003)(102836004)(99286004)(256004)(14444005)(74316002)(105586002)(106356001)(82202002)(85202003)(5660300001)(229853002)(2900100001)(25786009)(6246003)(53946003)(68736007)(55016002)(33656002)(6436002)(20460500001)(969003)(989001)(999001)(1009001)(1019001); DIR:OUT; SFP:1901; SCL:1; SRVR:AM5EUR03HT098; H:VI1PR0801MB1790.eurprd08.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: outlook.com does not designate permitted sender hosts) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Marvin.Haeuser@outlook.com; x-microsoft-antispam-message-info: JNhnuEhXfcsjwrSrHExVA3Raiu4EXcZzeqgcv7Gkp1zaX6EHzQjTI9mKEImIfW/m4tImF0qwFY7BNycL893RSwZBYIIsdw8dCVr09YHgNNu1ySOrln6vh3huWN+vkimRcf/reO3l+Lqh7EaO5trAakklZUdvUL9+lH0l0GvZSOEd/LGyqZ69E5vngRbQoUFMk9QZim1GflE0HZVuPbNeRdvNS2N9vIt2hYMSvX+PBaE= MIME-Version: 1.0 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 7181d4b0-87d6-4f4e-ba33-0d3746212cec X-MS-Exchange-CrossTenant-Network-Message-Id: 218aab3f-33bd-4080-8475-08d5f15f3862 X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 7181d4b0-87d6-4f4e-ba33-0d3746212cec X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Jul 2018 12:16:01.1940 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5EUR03HT098 Subject: Re: [PATCH 7/8] OvmfPkg/SmmAccessPei: Update MM PPI usages. X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Jul 2018 12:16:05 -0000 Content-Language: de-DE Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGV5IExhc3psbywNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBMYXN6 bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPg0KPiBTZW50OiBUdWVzZGF5LCBKdWx5IDI0LCAy MDE4IDExOjIwIEFNDQo+IFRvOiBNYXJ2aW4gSMOkdXNlciA8TWFydmluLkhhZXVzZXJAb3V0bG9v ay5jb20+OyBlZGsyLQ0KPiBkZXZlbEBsaXN0cy4wMS5vcmcNCj4gQ2M6IG1pY2hhZWwuZC5raW5u ZXlAaW50ZWwuY29tOyBsaW1pbmcuZ2FvQGludGVsLmNvbTsNCj4gc3Rhci56ZW5nQGludGVsLmNv bTsgZXJpYy5kb25nQGludGVsLmNvbTsgcnVpeXUubmlAaW50ZWwuY29tOw0KPiBrZWxseS5zdGVl bGVAaW50ZWwuY29tOyBqb3JkYW4ubC5qdXN0ZW5AaW50ZWwuY29tOw0KPiBhcmQuYmllc2hldXZl bEBsaW5hcm8ub3JnDQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggNy84XSBPdm1mUGtnL1NtbUFjY2Vz c1BlaTogVXBkYXRlIE1NIFBQSSB1c2FnZXMuDQo+IA0KPiBIaSBNYXJ2aW4sDQo+IA0KPiBPbiAw Ny8yNC8xOCAwMzo0MCwgTWFydmluIEjDpHVzZXIgd3JvdGU6DQo+ID4gVXBkYXRlIGFsbCByZWZl cmVuY2VzIHRvIHRoZSBTTU0gUFBJcyBmcm9tIE1kZU1vZHVsZVBrZyB0byByYXRoZXIgdXNlDQo+ ID4gTWRlUGtnJ3MgTU0gUFBJIGRlY2xhcmF0aW9ucy4NCj4gPg0KPiA+IENvbnRyaWJ1dGVkLXVu ZGVyOiBUaWFub0NvcmUgQ29udHJpYnV0aW9uIEFncmVlbWVudCAxLjENCj4gPiBTaWduZWQtb2Zm LWJ5OiBNYXJ2aW4gSGFldXNlciA8TWFydmluLkhhZXVzZXJAb3V0bG9vay5jb20+DQo+ID4gLS0t DQo+ID4gIE92bWZQa2cvU21tQWNjZXNzL1NtbUFjY2Vzc1BlaS5jICAgfCA5MCArKysrKysrKysr LS0tLS0tLS0tLQ0KPiA+ICBPdm1mUGtnL1NtbUFjY2Vzcy9TbXJhbUludGVybmFsLmMgIHwgIDgg Ky0NCj4gPiBPdm1mUGtnL1NtbUFjY2Vzcy9TbW1BY2Nlc3NQZWkuaW5mIHwgIDIgKy0NCj4gPiAg MyBmaWxlcyBjaGFuZ2VkLCA1MCBpbnNlcnRpb25zKCspLCA1MCBkZWxldGlvbnMoLSkNCj4gDQo+ IHR3byBjb21tZW50czoNCj4gDQo+ICgxKSBQbGVhc2UgcG9zdCBwYXRjaCBzZXRzIHVzaW5nIGEg Y292ZXIgbGV0dGVyIG1lc3NhZ2U6DQo+IA0KPiBnaXQgY29uZmlnIGZvcm1hdC5jb3ZlcmxldHRl ciAgICAgdHJ1ZQ0KPiBnaXQgY29uZmlnIGZvcm1hdC5udW1iZXJlZCAgICAgICAgdHJ1ZQ0KPiBn aXQgY29uZmlnIHNlbmRlbWFpbC5jaGFpbnJlcGx5dG8gZmFsc2UNCj4gZ2l0IGNvbmZpZyBzZW5k ZW1haWwudGhyZWFkICAgICAgIHRydWUNCj4gDQo+IE90aGVyd2lzZSB0aGUgaW5kaXZpZHVhbCBw YXRjaGVzIGluIHRoZSBzZXJpZXMgd2lsbCBnZXQgaW50ZXJtaXhlZCB3aXRoIG90aGVyDQo+IG1l c3NhZ2VzIC8gdGhyZWFkcyBvbiB0aGUgbWFpbGluZyBsaXN0IChhbmQgaW4gcGVvcGxlJ3MgaW5i b3hlcyksIGlmIHRoZQ0KPiByZWNpcGllbnQgdXNlcyBhIHRocmVhZGVkIHZpZXcgaW4gdGhlaXIg TVVBICh3aGljaCBtb3N0IHBlb3BsZSBzaG91bGQgZG8gLS0NCj4gcGF0Y2hlcyBhbmQgZGlzY3Vz c2lvbnMgYXJlIHZlcnkgaGFyZCB0byBmb2xsb3cgb3RoZXJ3aXNlKS4NCg0KSXMgVjIgZmluZSBp biB0aGlzIGFzcGVjdD8gT3V0bG9vayBoYXMgbmV2ZXIgdGhyZWFkZWQgbXVsdGlwbGUgcGFydHMg b2YgYSBwYXRjaCBzZXJpZXMgZm9yIG1lIGJ1dCBvbmx5IHJlcGxpZXMgdG8gdGhlaXIgb3JpZ2lu YWwgbWVzc2FnZSwgaGVuY2UgSSBkaWQgbm90IG5vdGljZSBzb21ldGhpbmcgd2FzIG9mZi4NCg0K PiANCj4gKDIpIE1vcmUgc3BlY2lmaWNhbGx5LCBJIGRpc2FncmVlIHdpdGggdGhpcyBwYXRjaC4g SSBkb24ndCBzZWUgd2hhdCdzIHdyb25nIHdpdGgNCj4gY2FsbGluZyBTTU0gIlNNTSIgb24geDg2 IChvciB3aXRoIGNhbGxpbmcgU01JICJTTUkiKS4gSSB1bmRlcnN0YW5kIHRoYXQgdGhlDQo+IFBJ IHNwZWMgbm93IGNhbGxzIHRob3NlIHRoaW5ncyBNTSBhbmQgTU1JLCBhbmQgSSB0ZW5kIHRvIGFn cmVlIHRoYXQgbmV3DQo+IGNvZGUgKGVzcGVjaWFsbHkgQVJNL0FBUkNINjQgY29kZSkgc2hvdWxk IHVzZSB0aGVzZSBtb3JlIGdlbmVyaWMgdGVybXMNCj4gZnJvbSB0aGUgbW9zdCByZWNlbnQgUEkg c3BlYyByZWxlYXNlcy4gQnV0LCB0aGlzIGlzIG5vdCBuZXcgY29kZSwgYW5kIGl0IGlzIGZvcg0K PiB4ODY7IEkgZG9uJ3Qgc2VlIHdoeSB3ZSBzaG91bGQgZm9yY2VmdWxseSBkcmFnIGl0IGZvcndh cmQuIEkgZG9uJ3QgdGhpbmsgdGhlDQo+IGVkazIgaGVhZGVycyBwbGFuIHRvIHJlbW92ZSB0aGUg b3JpZ2luYWwgLyB0cmFkaXRpb25hbCBuYW1lcy4NCj4gDQo+IChKdXN0IHRoZSBvdGhlciBkYXks IEkgbGVhcm5lZCB0aGF0IEVGSV9GSUxFX0hBTkRMRSB3YXMgYmFzaWNhbGx5IGEgdHlwZWRlZg0K PiBmb3IgInBvaW50ZXIgdG8gRUZJX0ZJTEVfUFJPVE9DT0wiIC0tIGl0J3MgYSBub24tc3RhbmRh cmQgdHlwZSwgeWV0IGl0J3MNCj4gZGVmaW5lZCBpbiAiTWRlUGtnL0luY2x1ZGUvUHJvdG9jb2wv U2ltcGxlRmlsZVN5c3RlbS5oIiwgYW5kIGl0J3MgdXNlZCBpbg0KPiBlLmcuDQo+IC0gTWRlTW9k dWxlUGtnL0xpYnJhcnkvQm9vdE1haW50ZW5hbmNlTWFuYWdlclVpTGliDQo+IC0gTWRlTW9kdWxl UGtnL0xpYnJhcnkvRmlsZUV4cGxvcmVyTGliDQo+IC0gTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9E aXNrL1JhbURpc2tEeGUNCj4gLSBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0ViY0R4ZQ0KPiAtIE1k ZVBrZy9MaWJyYXJ5L0R4ZVNlcnZpY2VzTGliDQo+IC0gTWRlUGtnL0xpYnJhcnkvVWVmaUZpbGVI YW5kbGVMaWINCj4gLSBOZXR3b3JrUGtnL1Rsc0F1dGhDb25maWdEeGUNCj4gLSBTZWN1cml0eVBr Zy9WYXJpYWJsZUF1dGhlbnRpY2F0ZWQvU2VjdXJlQm9vdENvbmZpZ0R4ZQ0KPiANCj4gU2hvdWxk IHdlIHVzZSBFRklfRklMRV9IQU5ETEUgaW4gbmV3IGNvZGUgd2Ugd3JpdGU/IE5vLCB3ZSBzaG91 bGRuJ3QuDQo+IFNob3VsZCB3ZSBlbWJhcmsgb24gYSBqb3VybmV5IHRvIGVyYWRpY2F0ZSBFRklf RklMRV9IQU5ETEU/IEkgd291bGQNCj4gZGlzYWdyZWUgd2l0aCB0aGF0IGlkZWEgdG9vLikNCj4g DQo+IE9idmlvdXNseSBJJ20gbm90IGFyZ3VpbmcgYWdhaW5zdCBtaWdyYXRpbmcgb3RoZXIgcGFj a2FnZXMgdG8gdGhlIG5ldw0KPiBuYW1lcywgaWYgdGhlaXIgcmVzcGVjdGl2ZSBtYWludGFpbmVy cyBsaWtlIHRoZSBpZGVhLiBJIGRvbid0IHRoaW5rIGl0J3MgdXNlZnVsIGZvcg0KPiBPdm1mUGtn IHRob3VnaC4NCj4gDQo+IFRoYW5rcw0KPiBMYXN6bG8NCj4gDQo+ID4gZGlmZiAtLWdpdCBhL092 bWZQa2cvU21tQWNjZXNzL1NtbUFjY2Vzc1BlaS5jDQo+ID4gYi9Pdm1mUGtnL1NtbUFjY2Vzcy9T bW1BY2Nlc3NQZWkuYw0KPiA+IGluZGV4IDIxMTE5ZjgwZWVmYS4uMzQwMTIyZDZhNTk4IDEwMDY0 NA0KPiA+IC0tLSBhL092bWZQa2cvU21tQWNjZXNzL1NtbUFjY2Vzc1BlaS5jDQo+ID4gKysrIGIv T3ZtZlBrZy9TbW1BY2Nlc3MvU21tQWNjZXNzUGVpLmMNCj4gPiBAQCAtMyw3ICszLDcgQEANCj4g PiAgICBBIFBFSU0gd2l0aCB0aGUgZm9sbG93aW5nIHJlc3BvbnNpYmlsaXRpZXM6DQo+ID4NCj4g PiAgICAtIHZlcmlmeSAmIGNvbmZpZ3VyZSB0aGUgUTM1IFRTRUcgaW4gdGhlIGVudHJ5IHBvaW50 LA0KPiA+IC0gIC0gcHJvdmlkZSBTTVJBTSBhY2Nlc3MgYnkgcHJvZHVjaW5nIFBFSV9TTU1fQUND RVNTX1BQSSwNCj4gPiArICAtIHByb3ZpZGUgTU1SQU0gYWNjZXNzIGJ5IHByb2R1Y2luZyBFRklf UEVJX01NX0FDQ0VTU19QUEksDQo+ID4gICAgLSBzZXQgYXNpZGUgdGhlIFNNTV9TM19SRVNVTUVf U1RBVEUgb2JqZWN0IGF0IHRoZSBib3R0b20gb2YgVFNFRywNCj4gYW5kIGV4cG9zZQ0KPiA+ICAg ICAgaXQgdmlhIHRoZSBnRWZpQWNwaVZhcmlhYmxlR3VpZCBHVUlEIEhPQi4NCj4gPg0KPiA+IEBA IC0zMiwyOCArMzIsMjggQEANCj4gPiAgI2luY2x1ZGUgPExpYnJhcnkvUGNkTGliLmg+DQo+ID4g ICNpbmNsdWRlIDxMaWJyYXJ5L1BjaUxpYi5oPg0KPiA+ICAjaW5jbHVkZSA8TGlicmFyeS9QZWlT ZXJ2aWNlc0xpYi5oPg0KPiA+IC0jaW5jbHVkZSA8UHBpL1NtbUFjY2Vzcy5oPg0KPiA+ICsjaW5j bHVkZSA8UHBpL01tQWNjZXNzLmg+DQo+ID4NCj4gPiAgI2luY2x1ZGUgPE92bWZQbGF0Zm9ybXMu aD4NCj4gPg0KPiA+ICAjaW5jbHVkZSAiU21yYW1JbnRlcm5hbC5oIg0KPiA+DQo+ID4gIC8vDQo+ ID4gLS8vIFBFSV9TTU1fQUNDRVNTX1BQSSBpbXBsZW1lbnRhdGlvbi4NCj4gPiArLy8gRUZJX1BF SV9NTV9BQ0NFU1NfUFBJIGltcGxlbWVudGF0aW9uLg0KPiA+ICAvLw0KPiA+DQo+ID4gIC8qKg0K PiA+IC0gIE9wZW5zIHRoZSBTTVJBTSBhcmVhIHRvIGJlIGFjY2Vzc2libGUgYnkgYSBQRUlNIGRy aXZlci4NCj4gPiArICBPcGVucyB0aGUgTU1SQU0gYXJlYSB0byBiZSBhY2Nlc3NpYmxlIGJ5IGEg UEVJTSBkcml2ZXIuDQo+ID4NCj4gPiAtICBUaGlzIGZ1bmN0aW9uICJvcGVucyIgU01SQU0gc28g dGhhdCBpdCBpcyB2aXNpYmxlIHdoaWxlIG5vdCBpbnNpZGUgb2YgU01NLg0KPiA+ICsgIFRoaXMg ZnVuY3Rpb24gIm9wZW5zIiBNTVJBTSBzbyB0aGF0IGl0IGlzIHZpc2libGUgd2hpbGUgbm90IGlu c2lkZSBvZg0KPiBNTS4NCj4gPiAgICBUaGUgZnVuY3Rpb24gc2hvdWxkIHJldHVybiBFRklfVU5T VVBQT1JURUQgaWYgdGhlIGhhcmR3YXJlIGRvZXMgbm90DQo+ID4gc3VwcG9ydA0KPiA+IC0gIGhp ZGluZyBvZiBTTVJBTS4gVGhlIGZ1bmN0aW9uIHNob3VsZCByZXR1cm4gRUZJX0RFVklDRV9FUlJP UiBpZiB0aGUNCj4gPiBTTVJBTQ0KPiA+ICsgIGhpZGluZyBvZiBNTVJBTS4gVGhlIGZ1bmN0aW9u IHNob3VsZCByZXR1cm4gRUZJX0RFVklDRV9FUlJPUiBpZiB0aGUNCj4gPiArIE1NUkFNDQo+ID4g ICAgY29uZmlndXJhdGlvbiBpcyBsb2NrZWQuDQo+ID4NCj4gPiAgICBAcGFyYW0gIFBlaVNlcnZp Y2VzICAgICAgICAgICAgR2VuZXJhbCBwdXJwb3NlIHNlcnZpY2VzIGF2YWlsYWJsZSB0byBldmVy eQ0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQRUlNLg0KPiA+IC0gIEBw YXJhbSAgVGhpcyAgICAgICAgICAgICAgICAgICBUaGUgcG9pbnRlciB0byB0aGUgU01NIEFjY2Vz cyBJbnRlcmZhY2UuDQo+ID4gLSAgQHBhcmFtICBEZXNjcmlwdG9ySW5kZXggICAgICAgIFRoZSBy ZWdpb24gb2YgU01SQU0gdG8gT3Blbi4NCj4gPiArICBAcGFyYW0gIFRoaXMgICAgICAgICAgICAg ICAgICAgVGhlIHBvaW50ZXIgdG8gdGhlIE1NIEFjY2VzcyBJbnRlcmZhY2UuDQo+ID4gKyAgQHBh cmFtICBEZXNjcmlwdG9ySW5kZXggICAgICAgIFRoZSByZWdpb24gb2YgTU1SQU0gdG8gT3Blbi4N Cj4gPg0KPiA+ICAgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgICBUaGUgcmVnaW9uIHdh cyBzdWNjZXNzZnVsbHkgb3BlbmVkLg0KPiA+ICAgIEByZXR2YWwgRUZJX0RFVklDRV9FUlJPUiAg ICAgICBUaGUgcmVnaW9uIGNvdWxkIG5vdCBiZSBvcGVuZWQgYmVjYXVzZQ0KPiBsb2NrZWQNCj4g PiBAQCAtNjQsOSArNjQsOSBAQA0KPiA+ICBTVEFUSUMNCj4gPiAgRUZJX1NUQVRVUw0KPiA+ICBF RklBUEkNCj4gPiAtU21tQWNjZXNzUGVpT3BlbiAoDQo+ID4gK01tQWNjZXNzUGVpT3BlbiAoDQo+ ID4gICAgSU4gRUZJX1BFSV9TRVJWSUNFUyAgICAgICAgICAgICAgICAqKlBlaVNlcnZpY2VzLA0K PiA+IC0gIElOIFBFSV9TTU1fQUNDRVNTX1BQSSAgICAgICAgICAgICAgKlRoaXMsDQo+ID4gKyAg SU4gRUZJX1BFSV9NTV9BQ0NFU1NfUFBJICAgICAgICAgICAqVGhpcywNCj4gPiAgICBJTiBVSU5U TiAgICAgICAgICAgICAgICAgICAgICAgICAgIERlc2NyaXB0b3JJbmRleA0KPiA+ICAgICkNCj4g PiAgew0KPiA+IEBAIC04MiwxNiArODIsMTYgQEAgU21tQWNjZXNzUGVpT3BlbiAoICB9DQo+ID4N Cj4gPiAgLyoqDQo+ID4gLSAgSW5oaWJpdHMgYWNjZXNzIHRvIHRoZSBTTVJBTS4NCj4gPiArICBJ bmhpYml0cyBhY2Nlc3MgdG8gdGhlIE1NUkFNLg0KPiA+DQo+ID4gLSAgVGhpcyBmdW5jdGlvbiAi Y2xvc2VzIiBTTVJBTSBzbyB0aGF0IGl0IGlzIG5vdCB2aXNpYmxlIHdoaWxlIG91dHNpZGUgb2YN Cj4gU01NLg0KPiA+ICsgIFRoaXMgZnVuY3Rpb24gImNsb3NlcyIgTU1SQU0gc28gdGhhdCBpdCBp cyBub3QgdmlzaWJsZSB3aGlsZSBvdXRzaWRlIG9mDQo+IE1NLg0KPiA+ICAgIFRoZSBmdW5jdGlv biBzaG91bGQgcmV0dXJuIEVGSV9VTlNVUFBPUlRFRCBpZiB0aGUgaGFyZHdhcmUgZG9lcyBub3QN Cj4gPiBzdXBwb3J0DQo+ID4gLSAgaGlkaW5nIG9mIFNNUkFNLg0KPiA+ICsgIGhpZGluZyBvZiBN TVJBTS4NCj4gPg0KPiA+ICAgIEBwYXJhbSAgUGVpU2VydmljZXMgICAgICAgICAgICAgIEdlbmVy YWwgcHVycG9zZSBzZXJ2aWNlcyBhdmFpbGFibGUgdG8gZXZlcnkNCj4gPiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBQRUlNLg0KPiA+IC0gIEBwYXJhbSAgVGhpcyAgICAgICAg ICAgICAgICAgICAgIFRoZSBwb2ludGVyIHRvIHRoZSBTTU0gQWNjZXNzIEludGVyZmFjZS4NCj4g PiAtICBAcGFyYW0gIERlc2NyaXB0b3JJbmRleCAgICAgICAgICBUaGUgcmVnaW9uIG9mIFNNUkFN IHRvIENsb3NlLg0KPiA+ICsgIEBwYXJhbSAgVGhpcyAgICAgICAgICAgICAgICAgICAgIFRoZSBw b2ludGVyIHRvIHRoZSBNTSBBY2Nlc3MgSW50ZXJmYWNlLg0KPiA+ICsgIEBwYXJhbSAgRGVzY3Jp cHRvckluZGV4ICAgICAgICAgIFRoZSByZWdpb24gb2YgTU1SQU0gdG8gQ2xvc2UuDQo+ID4NCj4g PiAgICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICAgICBUaGUgcmVnaW9uIHdhcyBzdWNj ZXNzZnVsbHkgY2xvc2VkLg0KPiA+ICAgIEByZXR2YWwgRUZJX0RFVklDRV9FUlJPUiAgICAgICAg IFRoZSByZWdpb24gY291bGQgbm90IGJlIGNsb3NlZCBiZWNhdXNlDQo+ID4gQEAgLTEwMiw5ICsx MDIsOSBAQCBTbW1BY2Nlc3NQZWlPcGVuICggIFNUQVRJQyAgRUZJX1NUQVRVUyAgRUZJQVBJDQo+ ID4gLVNtbUFjY2Vzc1BlaUNsb3NlICgNCj4gPiArTW1BY2Nlc3NQZWlDbG9zZSAoDQo+ID4gICAg SU4gRUZJX1BFSV9TRVJWSUNFUyAgICAgICAgICAgICAgICAqKlBlaVNlcnZpY2VzLA0KPiA+IC0g IElOIFBFSV9TTU1fQUNDRVNTX1BQSSAgICAgICAgICAgICAgKlRoaXMsDQo+ID4gKyAgSU4gRUZJ X1BFSV9NTV9BQ0NFU1NfUFBJICAgICAgICAgICAqVGhpcywNCj4gPiAgICBJTiBVSU5UTiAgICAg ICAgICAgICAgICAgICAgICAgICAgIERlc2NyaXB0b3JJbmRleA0KPiA+ICAgICkNCj4gPiAgew0K PiA+IEBAIC0xMjAsMTUgKzEyMCwxNSBAQCBTbW1BY2Nlc3NQZWlDbG9zZSAoICB9DQo+ID4NCj4g PiAgLyoqDQo+ID4gLSAgSW5oaWJpdHMgYWNjZXNzIHRvIHRoZSBTTVJBTS4NCj4gPiArICBJbmhp Yml0cyBhY2Nlc3MgdG8gdGhlIE1NUkFNLg0KPiA+DQo+ID4gLSAgVGhpcyBmdW5jdGlvbiBwcm9o aWJpdHMgYWNjZXNzIHRvIHRoZSBTTVJBTSByZWdpb24uICBUaGlzIGZ1bmN0aW9uDQo+ID4gaXMg dXN1YWxseQ0KPiA+ICsgIFRoaXMgZnVuY3Rpb24gcHJvaGliaXRzIGFjY2VzcyB0byB0aGUgTU1S QU0gcmVnaW9uLiAgVGhpcyBmdW5jdGlvbg0KPiA+ICsgaXMgdXN1YWxseQ0KPiA+ICAgIGltcGxl bWVudGVkIHN1Y2ggdGhhdCBpdCBpcyBhIHdyaXRlLW9uY2Ugb3BlcmF0aW9uLg0KPiA+DQo+ID4g ICAgQHBhcmFtICBQZWlTZXJ2aWNlcyAgICAgICAgICAgICAgR2VuZXJhbCBwdXJwb3NlIHNlcnZp Y2VzIGF2YWlsYWJsZSB0byBldmVyeQ0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFBFSU0uDQo+ID4gLSAgQHBhcmFtICBUaGlzICAgICAgICAgICAgICAgICAgICAgVGhl IHBvaW50ZXIgdG8gdGhlIFNNTSBBY2Nlc3MgSW50ZXJmYWNlLg0KPiA+IC0gIEBwYXJhbSAgRGVz Y3JpcHRvckluZGV4ICAgICAgICAgIFRoZSByZWdpb24gb2YgU01SQU0gdG8gQ2xvc2UuDQo+ID4g KyAgQHBhcmFtICBUaGlzICAgICAgICAgICAgICAgICAgICAgVGhlIHBvaW50ZXIgdG8gdGhlIE1N IEFjY2VzcyBJbnRlcmZhY2UuDQo+ID4gKyAgQHBhcmFtICBEZXNjcmlwdG9ySW5kZXggICAgICAg ICAgVGhlIHJlZ2lvbiBvZiBNTVJBTSB0byBDbG9zZS4NCj4gPg0KPiA+ICAgIEByZXR2YWwgRUZJ X1NVQ0NFU1MgICAgICAgICAgICBUaGUgcmVnaW9uIHdhcyBzdWNjZXNzZnVsbHkgbG9ja2VkLg0K PiA+ICAgIEByZXR2YWwgRUZJX0RFVklDRV9FUlJPUiAgICAgICBUaGUgcmVnaW9uIGNvdWxkIG5v dCBiZSBsb2NrZWQgYmVjYXVzZSBhdA0KPiA+IEBAIC0xMzksOSArMTM5LDkgQEAgU21tQWNjZXNz UGVpQ2xvc2UgKCAgU1RBVElDICBFRklfU1RBVFVTICBFRklBUEkNCj4gPiAtU21tQWNjZXNzUGVp TG9jayAoDQo+ID4gK01tQWNjZXNzUGVpTG9jayAoDQo+ID4gICAgSU4gRUZJX1BFSV9TRVJWSUNF UyAgICAgICAgICAgICAgICAqKlBlaVNlcnZpY2VzLA0KPiA+IC0gIElOIFBFSV9TTU1fQUNDRVNT X1BQSSAgICAgICAgICAgICAgKlRoaXMsDQo+ID4gKyAgSU4gRUZJX1BFSV9NTV9BQ0NFU1NfUFBJ ICAgICAgICAgICAqVGhpcywNCj4gPiAgICBJTiBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAg ICAgIERlc2NyaXB0b3JJbmRleA0KPiA+ICAgICkNCj4gPiAgew0KPiA+IEBAIC0xNTgsMTEgKzE1 OCwxMSBAQCBTbW1BY2Nlc3NQZWlMb2NrICgNCj4gPg0KPiA+ICAvKioNCj4gPiAgICBRdWVyaWVz IHRoZSBtZW1vcnkgY29udHJvbGxlciBmb3IgdGhlIHBvc3NpYmxlIHJlZ2lvbnMgdGhhdCB3aWxs DQo+ID4gc3VwcG9ydA0KPiA+IC0gIFNNUkFNLg0KPiA+ICsgIE1NUkFNLg0KPiA+DQo+ID4gICAg QHBhcmFtICBQZWlTZXJ2aWNlcyAgICAgICAgICAgR2VuZXJhbCBwdXJwb3NlIHNlcnZpY2VzIGF2 YWlsYWJsZSB0byBldmVyeQ0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBF SU0uDQo+ID4gLSAgQHBhcmFtIFRoaXMgICAgICAgICAgICAgICAgICAgVGhlIHBvaW50ZXIgdG8g dGhlIFNtbUFjY2Vzc1BwaSBJbnRlcmZhY2UuDQo+ID4gKyAgQHBhcmFtIFRoaXMgICAgICAgICAg ICAgICAgICAgVGhlIHBvaW50ZXIgdG8gdGhlIE1tQWNjZXNzUHBpIEludGVyZmFjZS4NCj4gPiAg ICBAcGFyYW0gU21yYW1NYXBTaXplICAgICAgICAgICBUaGUgcG9pbnRlciB0byB0aGUgdmFyaWFi bGUgY29udGFpbmluZyBzaXplDQo+IG9mDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdGhlIGJ1ZmZlciB0byBjb250YWluIHRoZSBkZXNjcmlwdGlvbg0KPiA+ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGluZm9ybWF0aW9uLg0KPiA+IEBAIC0xNzYsMTEgKzE3 NiwxMSBAQCBTbW1BY2Nlc3NQZWlMb2NrICggIFNUQVRJQyAgRUZJX1NUQVRVUyAgRUZJQVBJDQo+ ID4gLVNtbUFjY2Vzc1BlaUdldENhcGFiaWxpdGllcyAoDQo+ID4gK01tQWNjZXNzUGVpR2V0Q2Fw YWJpbGl0aWVzICgNCj4gPiAgICBJTiBFRklfUEVJX1NFUlZJQ0VTICAgICAgICAgICAgICAgICoq UGVpU2VydmljZXMsDQo+ID4gLSAgSU4gUEVJX1NNTV9BQ0NFU1NfUFBJICAgICAgICAgICAgICAq VGhpcywNCj4gPiArICBJTiBFRklfUEVJX01NX0FDQ0VTU19QUEkgICAgICAgICAgICpUaGlzLA0K PiA+ICAgIElOIE9VVCBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgKlNtcmFtTWFwU2l6ZSwN Cj4gPiAtICBJTiBPVVQgRUZJX1NNUkFNX0RFU0NSSVBUT1IgICAgICAgICpTbXJhbU1hcA0KPiA+ ICsgIElOIE9VVCBFRklfTU1SQU1fREVTQ1JJUFRPUiAgICAgICAgKlNtcmFtTWFwDQo+ID4gICAg KQ0KPiA+ICB7DQo+ID4gICAgcmV0dXJuIFNtcmFtQWNjZXNzR2V0Q2FwYWJpbGl0aWVzIChUaGlz LT5Mb2NrU3RhdGUsDQo+ID4gVGhpcy0+T3BlblN0YXRlLCBAQCAtMTkwLDE4ICsxOTAsMTggQEAg U21tQWNjZXNzUGVpR2V0Q2FwYWJpbGl0aWVzICgNCj4gPiAvLyAgLy8gTG9ja1N0YXRlIGFuZCBP cGVuU3RhdGUgd2lsbCBiZSBmaWxsZWQgaW4gYnkgdGhlIGVudHJ5IHBvaW50Lg0KPiA+ICAvLw0K PiA+IC1TVEFUSUMgUEVJX1NNTV9BQ0NFU1NfUFBJIG1BY2Nlc3MgPSB7DQo+ID4gLSAgJlNtbUFj Y2Vzc1BlaU9wZW4sDQo+ID4gLSAgJlNtbUFjY2Vzc1BlaUNsb3NlLA0KPiA+IC0gICZTbW1BY2Nl c3NQZWlMb2NrLA0KPiA+IC0gICZTbW1BY2Nlc3NQZWlHZXRDYXBhYmlsaXRpZXMNCj4gPiArU1RB VElDIEVGSV9QRUlfTU1fQUNDRVNTX1BQSSBtQWNjZXNzID0gew0KPiA+ICsgICZNbUFjY2Vzc1Bl aU9wZW4sDQo+ID4gKyAgJk1tQWNjZXNzUGVpQ2xvc2UsDQo+ID4gKyAgJk1tQWNjZXNzUGVpTG9j aywNCj4gPiArICAmTW1BY2Nlc3NQZWlHZXRDYXBhYmlsaXRpZXMNCj4gPiAgfTsNCj4gPg0KPiA+ DQo+ID4gIFNUQVRJQyBFRklfUEVJX1BQSV9ERVNDUklQVE9SIG1QcGlMaXN0W10gPSB7DQo+ID4g ICAgew0KPiA+ICAgICAgRUZJX1BFSV9QUElfREVTQ1JJUFRPUl9QUEkgfA0KPiBFRklfUEVJX1BQ SV9ERVNDUklQVE9SX1RFUk1JTkFURV9MSVNULA0KPiA+IC0gICAgJmdQZWlTbW1BY2Nlc3NQcGlH dWlkLCAmbUFjY2Vzcw0KPiA+ICsgICAgJmdFZmlQZWlNbUFjY2Vzc1BwaUd1aWQsICZtQWNjZXNz DQo+ID4gICAgfQ0KPiA+ICB9Ow0KPiA+DQo+ID4gQEAgLTI1NSw3ICsyNTUsNyBAQCBTbW1BY2Nl c3NQZWlFbnRyeVBvaW50ICgNCj4gPiAgICBWT0lEICAgICAgICAgICAgICAgICAqR3VpZEhvYjsN Cj4gPg0KPiA+ICAgIC8vDQo+ID4gLSAgLy8gVGhpcyBtb2R1bGUgc2hvdWxkIG9ubHkgYmUgaW5j bHVkZWQgaWYgU01SQU0gc3VwcG9ydCBpcyByZXF1aXJlZC4NCj4gPiArICAvLyBUaGlzIG1vZHVs ZSBzaG91bGQgb25seSBiZSBpbmNsdWRlZCBpZiBNTVJBTSBzdXBwb3J0IGlzIHJlcXVpcmVkLg0K PiA+ICAgIC8vDQo+ID4gICAgQVNTRVJUIChGZWF0dXJlUGNkR2V0IChQY2RTbW1TbXJhbVJlcXVp cmUpKTsNCj4gPg0KPiA+IEBAIC0yNjQsMTQgKzI2NCwxNCBAQCBTbW1BY2Nlc3NQZWlFbnRyeVBv aW50ICgNCj4gPiAgICAvLw0KPiA+ICAgIEhvc3RCcmlkZ2VEZXZJZCA9IFBjaVJlYWQxNiAoT1ZN Rl9IT1NUQlJJREdFX0RJRCk7DQo+ID4gICAgaWYgKEhvc3RCcmlkZ2VEZXZJZCAhPSBJTlRFTF9R MzVfTUNIX0RFVklDRV9JRCkgew0KPiA+IC0gICAgREVCVUcgKChFRklfRF9FUlJPUiwgIiVhOiBu byBTTVJBTSB3aXRoIGhvc3QgYnJpZGdlIERJRD0weCUwNHg7DQo+IG9ubHkgIg0KPiA+ICsgICAg REVCVUcgKChFRklfRF9FUlJPUiwgIiVhOiBubyBNTVJBTSB3aXRoIGhvc3QgYnJpZGdlIERJRD0w eCUwNHg7DQo+IG9ubHkgIg0KPiA+ICAgICAgICAiRElEPTB4JTA0eCAoUTM1KSBpcyBzdXBwb3J0 ZWRcbiIsIF9fRlVOQ1RJT05fXywgSG9zdEJyaWRnZURldklkLA0KPiA+ICAgICAgICBJTlRFTF9R MzVfTUNIX0RFVklDRV9JRCkpOw0KPiA+ICAgICAgZ290byBXcm9uZ0NvbmZpZzsNCj4gPiAgICB9 DQo+ID4NCj4gPiAgICAvLw0KPiA+IC0gIC8vIENvbmZpcm0gaWYgUUVNVSBzdXBwb3J0cyBTTVJB TS4NCj4gPiArICAvLyBDb25maXJtIGlmIFFFTVUgc3VwcG9ydHMgTU1SQU0uDQo+ID4gICAgLy8N Cj4gPiAgICAvLyBXaXRoIG5vIHN1cHBvcnQgZm9yIGl0LCB0aGUgRVNNUkFNQyAoRXh0ZW5kZWQg U3lzdGVtIE1hbmFnZW1lbnQNCj4gUkFNDQo+ID4gICAgLy8gQ29udHJvbCkgcmVnaXN0ZXIgcmVh ZHMgYXMgemVyby4gSWYgdGhlcmUgaXMgc3VwcG9ydCwgdGhlDQo+ID4gY2FjaGUtZW5hYmxlIEBA IC0yODAsNyArMjgwLDcgQEAgU21tQWNjZXNzUGVpRW50cnlQb2ludCAoDQo+ID4gICAgRXNtcmFt Y1ZhbCA9IFBjaVJlYWQ4IChEUkFNQ19SRUdJU1RFUl9RMzUgKE1DSF9FU01SQU1DKSk7DQo+ID4g ICAgUmVnTWFzazggPSBNQ0hfRVNNUkFNQ19TTV9DQUNIRSB8IE1DSF9FU01SQU1DX1NNX0wxIHwN Cj4gTUNIX0VTTVJBTUNfU01fTDI7DQo+ID4gICAgaWYgKChFc21yYW1jVmFsICYgUmVnTWFzazgp ICE9IFJlZ01hc2s4KSB7DQo+ID4gLSAgICBERUJVRyAoKEVGSV9EX0VSUk9SLCAiJWE6IHRoaXMg UTM1IGltcGxlbWVudGF0aW9uIGxhY2tzIFNNUkFNXG4iLA0KPiA+ICsgICAgREVCVUcgKChFRklf RF9FUlJPUiwgIiVhOiB0aGlzIFEzNSBpbXBsZW1lbnRhdGlvbiBsYWNrcw0KPiBNTVJBTVxuIiwN Cj4gPiAgICAgICAgX19GVU5DVElPTl9fKSk7DQo+ID4gICAgICBnb3RvIFdyb25nQ29uZmlnOw0K PiA+ICAgIH0NCj4gPiBAQCAtMzIzLDI3ICszMjMsMjcgQEAgU21tQWNjZXNzUGVpRW50cnlQb2lu dCAoDQo+ID4gICAgICAoVG9wT2ZMb3dSYW1NYiAtIG1RMzVUc2VnTWJ5dGVzKSA8PCBNQ0hfVFNF R01CX01CX1NISUZUKTsNCj4gPg0KPiA+ICAgIC8vDQo+ID4gLSAgLy8gU2V0IFRTRUcgc2l6ZSwg YW5kIGRpc2FibGUgVFNFRyB2aXNpYmlsaXR5IG91dHNpZGUgb2YgU01NLiBOb3RlDQo+ID4gdGhh dCB0aGUNCj4gPiArICAvLyBTZXQgVFNFRyBzaXplLCBhbmQgZGlzYWJsZSBUU0VHIHZpc2liaWxp dHkgb3V0c2lkZSBvZiBNTS4gTm90ZQ0KPiA+ICsgdGhhdCB0aGUNCj4gPiAgICAvLyBUX0VOIGJp dCBoYXMgaW52ZXJzZSBtZWFuaW5nOyB3aGVuIFRfRU4gaXMgc2V0LCB0aGVuIFRTRUcNCj4gPiB2 aXNpYmlsaXR5IGlzDQo+ID4gLSAgLy8gKnJlc3RyaWN0ZWQqIHRvIFNNTS4NCj4gPiArICAvLyAq cmVzdHJpY3RlZCogdG8gTU0uDQo+ID4gICAgLy8NCj4gPiAgICBFc21yYW1jVmFsICY9IH4oVUlO VDMyKU1DSF9FU01SQU1DX1RTRUdfTUFTSzsNCj4gPiAgICBFc21yYW1jVmFsIHw9IG1RMzVUc2Vn TWJ5dGVzID09IDggPyBNQ0hfRVNNUkFNQ19UU0VHXzhNQiA6DQo+ID4gICAgICAgICAgICAgICAg ICBtUTM1VHNlZ01ieXRlcyA9PSAyID8gTUNIX0VTTVJBTUNfVFNFR18yTUIgOg0KPiA+ICAgICAg ICAgICAgICAgICAgbVEzNVRzZWdNYnl0ZXMgPT0gMSA/IE1DSF9FU01SQU1DX1RTRUdfMU1CIDoN Cj4gPiAtICAgICAgICAgICAgICAgIE1DSF9FU01SQU1DX1RTRUdfRVhUOw0KPiA+IC0gIEVzbXJh bWNWYWwgfD0gTUNIX0VTTVJBTUNfVF9FTjsNCj4gPiArICAgICAgICAgICAgICAgIE1DSF9FTU1S QU1DX1RTRUdfRVhUOyAgRXNtcmFtY1ZhbCB8PQ0KPiA+ICsgTUNIX0VNTVJBTUNfVF9FTjsNCj4g PiAgICBQY2lXcml0ZTggKERSQU1DX1JFR0lTVEVSX1EzNSAoTUNIX0VTTVJBTUMpLCBFc21yYW1j VmFsKTsNCj4gPg0KPiA+ICAgIC8vDQo+ID4gICAgLy8gVFNFRyBzaG91bGQgYmUgY2xvc2VkIChz ZWUgYWJvdmUpLCBidXQgdW5sb2NrZWQsIGluaXRpYWxseS4gU2V0DQo+ID4gR19TTVJBTUUNCj4g PiAtICAvLyAoR2xvYmFsIFNNUkFNIEVuYWJsZSkgdG9vLCBhcyBib3RoIERfTENLIGFuZCBUX0VO IGRlcGVuZCBvbiBpdC4NCj4gPiArICAvLyAoR2xvYmFsIE1NUkFNIEVuYWJsZSkgdG9vLCBhcyBi b3RoIERfTENLIGFuZCBUX0VOIGRlcGVuZCBvbiBpdC4NCj4gPiAgICAvLw0KPiA+ICAgIFBjaUFu ZFRoZW5PcjggKERSQU1DX1JFR0lTVEVSX1EzNSAoTUNIX1NNUkFNKSwNCj4gPiAgICAgIChVSU5U OCkoKH4oVUlOVDMyKU1DSF9TTVJBTV9EX0xDSykgJiAweGZmKSwNCj4gTUNIX1NNUkFNX0dfU01S QU1FKTsNCj4gPg0KPiA+ICAgIC8vDQo+ID4gLSAgLy8gQ3JlYXRlIHRoZSBHVUlEIEhPQiBhbmQg cG9pbnQgaXQgdG8gdGhlIGZpcnN0IFNNUkFNIHJhbmdlLg0KPiA+ICsgIC8vIENyZWF0ZSB0aGUg R1VJRCBIT0IgYW5kIHBvaW50IGl0IHRvIHRoZSBmaXJzdCBNTVJBTSByYW5nZS4NCj4gPiAgICAv Lw0KPiA+ICAgIEdldFN0YXRlcyAoJm1BY2Nlc3MuTG9ja1N0YXRlLCAmbUFjY2Vzcy5PcGVuU3Rh dGUpOw0KPiA+ICAgIFNtcmFtTWFwU2l6ZSA9IHNpemVvZiBTbXJhbU1hcDsNCj4gPiBAQCAtMzU3 LDcgKzM1Nyw3IEBAIFNtbUFjY2Vzc1BlaUVudHJ5UG9pbnQgKA0KPiA+ICAgICAgVUlOVE4gSWR4 Ow0KPiA+DQo+ID4gICAgICBDb3VudCA9IFNtcmFtTWFwU2l6ZSAvIHNpemVvZiBTbXJhbU1hcFsw XTsNCj4gPiAtICAgIERFQlVHICgoRUZJX0RfVkVSQk9TRSwgIiVhOiBTTVJBTSBtYXAgZm9sbG93 cywgJWQgZW50cmllc1xuIiwNCj4gX19GVU5DVElPTl9fLA0KPiA+ICsgICAgREVCVUcgKChFRklf RF9WRVJCT1NFLCAiJWE6IE1NUkFNIG1hcCBmb2xsb3dzLCAlZCBlbnRyaWVzXG4iLA0KPiA+ICsg X19GVU5DVElPTl9fLA0KPiA+ICAgICAgICAoSU5UMzIpQ291bnQpKTsNCj4gPiAgICAgIERFQlVH ICgoRUZJX0RfVkVSQk9TRSwgIiUgMjBhICUgMjBhICUgMjBhICUgMjBhXG4iLA0KPiAiUGh5c2lj YWxTdGFydCgweCkiLA0KPiA+ICAgICAgICAiUGh5c2ljYWxTaXplKDB4KSIsICJDcHVTdGFydCgw eCkiLCAiUmVnaW9uU3RhdGUoMHgpIikpOyBkaWZmDQo+ID4gLS1naXQgYS9Pdm1mUGtnL1NtbUFj Y2Vzcy9TbXJhbUludGVybmFsLmMNCj4gPiBiL092bWZQa2cvU21tQWNjZXNzL1NtcmFtSW50ZXJu YWwuYw0KPiA+IGluZGV4IDE4YzQyZDI5MDQyZC4uM2IzM2QyNzYzYjRkIDEwMDY0NA0KPiA+IC0t LSBhL092bWZQa2cvU21tQWNjZXNzL1NtcmFtSW50ZXJuYWwuYw0KPiA+ICsrKyBiL092bWZQa2cv U21tQWNjZXNzL1NtcmFtSW50ZXJuYWwuYw0KPiA+IEBAIC00MCwxMCArNDAsMTAgQEAgSW5pdFEz NVRzZWdNYnl0ZXMgKA0KPiA+DQo+ID4gIC8qKg0KPiA+ICAgIFJlYWQgdGhlIE1DSF9TTVJBTSBh bmQgRVNNUkFNQyByZWdpc3RlcnMsIGFuZCB1cGRhdGUgdGhlDQo+IExvY2tTdGF0ZQ0KPiA+IGFu ZA0KPiA+IC0gIE9wZW5TdGF0ZSBmaWVsZHMgaW4gdGhlIFBFSV9TTU1fQUNDRVNTX1BQSSAvDQo+ ID4gRUZJX1NNTV9BQ0NFU1MyX1BST1RPQ09MIG9iamVjdCwNCj4gPiArICBPcGVuU3RhdGUgZmll bGRzIGluIHRoZSBFRklfUEVJX01NX0FDQ0VTU19QUEkgLw0KPiA+ICsgRUZJX1NNTV9BQ0NFU1My X1BST1RPQ09MIG9iamVjdCwNCj4gPiAgICBmcm9tIHRoZSBEX0xDSyBhbmQgVF9FTiBiaXRzLg0K PiA+DQo+ID4gLSAgUEVJX1NNTV9BQ0NFU1NfUFBJIGFuZCBFRklfU01NX0FDQ0VTUzJfUFJPVE9D T0wgbWVtYmVyDQo+IGZ1bmN0aW9ucw0KPiA+IGNhbiByZWx5IG9uDQo+ID4gKyAgRUZJX1BFSV9N TV9BQ0NFU1NfUFBJIGFuZCBFRklfU01NX0FDQ0VTUzJfUFJPVE9DT0wgbWVtYmVyDQo+IGZ1bmN0 aW9ucw0KPiA+ICsgY2FuIHJlbHkgb24NCj4gPiAgICB0aGUgTG9ja1N0YXRlIGFuZCBPcGVuU3Rh dGUgZmllbGRzIGJlaW5nIHVwLXRvLWRhdGUgb24gZW50cnksIGFuZCB0aGV5DQo+IG5lZWQNCj4g PiAgICB0byByZXN0b3JlIHRoZSBzYW1lIGludmFyaWFudCBvbiBleGl0LCBpZiB0aGV5IHRvdWNo IHRoZSBiaXRzIGluIHF1ZXN0aW9uLg0KPiA+DQo+ID4gQEAgLTY4LDEzICs2OCwxMyBAQCBHZXRT dGF0ZXMgKA0KPiA+ICB9DQo+ID4NCj4gPiAgLy8NCj4gPiAtLy8gVGhlIGZ1bmN0aW9ucyBiZWxv dyBmb2xsb3cgdGhlIFBFSV9TTU1fQUNDRVNTX1BQSSBhbmQNCj4gPiArLy8gVGhlIGZ1bmN0aW9u cyBiZWxvdyBmb2xsb3cgdGhlIEVGSV9QRUlfTU1fQUNDRVNTX1BQSSBhbmQNCj4gPiAgLy8gRUZJ X1NNTV9BQ0NFU1MyX1BST1RPQ09MIG1lbWJlciBkZWNsYXJhdGlvbnMuIFRoZSBQZWlTZXJ2aWNl cw0KPiBhbmQNCj4gPiBUaGlzICAvLyBwb2ludGVycyBhcmUgcmVtb3ZlZCAoVFNFRyBkb2Vzbid0 IGRlcGVuZCBvbiB0aGVtKSwgYW5kIHNvIGlzDQo+ID4gdGhlICAvLyBEZXNjcmlwdG9ySW5kZXgg cGFyYW1ldGVyIChUU0VHIGRvZXNuJ3Qgc3VwcG9ydCByYW5nZS13aXNlDQo+IGxvY2tpbmcpLg0K PiA+ICAvLw0KPiA+ICAvLyBUaGUgTG9ja1N0YXRlIGFuZCBPcGVuU3RhdGUgbWVtYmVycyB0aGF0 IGFyZSBjb21tb24gdG8gYm90aCAtLy8NCj4gPiBQRUlfU01NX0FDQ0VTU19QUEkgYW5kIEVGSV9T TU1fQUNDRVNTMl9QUk9UT0NPTCBhcmUgdGFrZW4gYW5kDQo+IHVwZGF0ZWQNCj4gPiBpbg0KPiA+ ICsvLyBFRklfUEVJX01NX0FDQ0VTU19QUEkgYW5kIEVGSV9TTU1fQUNDRVNTMl9QUk9UT0NPTCBh cmUNCj4gdGFrZW4gYW5kDQo+ID4gK3VwZGF0ZWQgaW4NCj4gPiAgLy8gaXNvbGF0aW9uIGZyb20g dGhlIHJlc3Qgb2YgdGhlIChub24tc2hhcmVkKSBtZW1iZXJzLg0KPiA+ICAvLw0KPiA+DQo+ID4g ZGlmZiAtLWdpdCBhL092bWZQa2cvU21tQWNjZXNzL1NtbUFjY2Vzc1BlaS5pbmYNCj4gPiBiL092 bWZQa2cvU21tQWNjZXNzL1NtbUFjY2Vzc1BlaS5pbmYNCj4gPiBpbmRleCAwOWYzYjYzNDQ2ZGYu LjczNjBiMmY1MzkxZSAxMDA2NDQNCj4gPiAtLS0gYS9Pdm1mUGtnL1NtbUFjY2Vzcy9TbW1BY2Nl c3NQZWkuaW5mDQo+ID4gKysrIGIvT3ZtZlBrZy9TbW1BY2Nlc3MvU21tQWNjZXNzUGVpLmluZg0K PiA+IEBAIC02Myw3ICs2Myw3IEBAIFtQY2RdDQo+ID4gICAgZ1VlZmlPdm1mUGtnVG9rZW5TcGFj ZUd1aWQuUGNkUTM1VHNlZ01ieXRlcw0KPiA+DQo+ID4gIFtQcGlzXQ0KPiA+IC0gIGdQZWlTbW1B Y2Nlc3NQcGlHdWlkICAgICAgICAgICAjIyBQUk9EVUNFUw0KPiA+ICsgIGdFZmlQZWlNbUFjY2Vz c1BwaUd1aWQgICAgICAgICAjIyBQUk9EVUNFUw0KPiA+DQo+ID4gIFtEZXBleF0NCj4gPiAgICBn RWZpUGVpTWVtb3J5RGlzY292ZXJlZFBwaUd1aWQNCj4gPg0KDQo=