From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) (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 9566181F3F for ; Thu, 2 Feb 2017 21:34:31 -0800 (PST) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 02 Feb 2017 21:34:31 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.33,327,1477983600"; d="scan'208";a="39127318" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by orsmga002.jf.intel.com with ESMTP; 02 Feb 2017 21:34:30 -0800 Received: from fmsmsx118.amr.corp.intel.com (10.18.116.18) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.248.2; Thu, 2 Feb 2017 21:34:30 -0800 Received: from shsmsx152.ccr.corp.intel.com (10.239.6.52) by fmsmsx118.amr.corp.intel.com (10.18.116.18) with Microsoft SMTP Server (TLS) id 14.3.248.2; Thu, 2 Feb 2017 21:34:30 -0800 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.88]) by SHSMSX152.ccr.corp.intel.com ([169.254.6.132]) with mapi id 14.03.0248.002; Fri, 3 Feb 2017 13:34:27 +0800 From: "Yao, Jiewen" To: "Kinney, Michael D" , "edk2-devel@lists.01.org" CC: Andrew Fish , "Gao, Liming" , "Carsey, Jaben" , "Zeng, Star" Thread-Topic: [edk2] [PATCH v4 2/3] PerformancePkg Dp_App: Remove TimerLib dependency Thread-Index: AQHSfdnQ6ZMRwqQEDkmH3Dz3PAimqKFWwltg Date: Fri, 3 Feb 2017 05:34:27 +0000 Message-ID: <74D8A39837DF1E4DA445A8C0B3885C503A8E8C03@shsmsx102.ccr.corp.intel.com> References: <1486097737-12816-1-git-send-email-michael.d.kinney@intel.com> <1486097737-12816-3-git-send-email-michael.d.kinney@intel.com> In-Reply-To: <1486097737-12816-3-git-send-email-michael.d.kinney@intel.com> Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH v4 2/3] PerformancePkg Dp_App: Remove TimerLib dependency 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: Fri, 03 Feb 2017 05:34:31 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SSBoYXZlIG9uZSBtb3JlIHN1Z2dlc3Rpb24uDQpDYW4gd2UgdXNlIE1kZU1vZHVsZVBrZy9MaWJy YXJ5L0R4ZVNtbVBlcmZvcm1hbmNlTGliL0R4ZVNtbVBlcmZvcm1hbmNlTGliLmluZiBhcyBkZWZh dWx0IG9uZSBpbiBEU0M/DQoNClNvIHRoYXQgdGhlIGJpbmFyeSBidWlsdCB3aXRoIGRlZmF1bHQg RFNDIGNhbiBiZSB1c2VkIG9uIGFueSBwbGF0Zm9ybS4NCg0KUGVyZm9ybWFuY2VQa2cuZHNjOg0K ICAgUGVyZm9ybWFuY2VMaWJ8TWRlTW9kdWxlUGtnL0xpYnJhcnkvRHhlUGVyZm9ybWFuY2VMaWIv RHhlUGVyZm9ybWFuY2VMaWIuaW5mDQoNCg0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0t DQo+IEZyb206IGVkazItZGV2ZWwgW21haWx0bzplZGsyLWRldmVsLWJvdW5jZXNAbGlzdHMuMDEu b3JnXSBPbiBCZWhhbGYgT2YNCj4gTWljaGFlbCBLaW5uZXkNCj4gU2VudDogRnJpZGF5LCBGZWJy dWFyeSAzLCAyMDE3IDEyOjU2IFBNDQo+IFRvOiBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZw0KPiBD YzogQW5kcmV3IEZpc2ggPGFmaXNoQGFwcGxlLmNvbT47IEdhbywgTGltaW5nIDxsaW1pbmcuZ2Fv QGludGVsLmNvbT47IFlhbywNCj4gSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT47IENhcnNl eSwgSmFiZW4gPGphYmVuLmNhcnNleUBpbnRlbC5jb20+OyBaZW5nLA0KPiBTdGFyIDxzdGFyLnpl bmdAaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBbZWRrMl0gW1BBVENIIHY0IDIvM10gUGVyZm9ybWFu Y2VQa2cgRHBfQXBwOiBSZW1vdmUgVGltZXJMaWINCj4gZGVwZW5kZW5jeQ0KPiANCj4gRnJvbTog U3RhciBaZW5nIDxzdGFyLnplbmdAaW50ZWwuY29tPg0KPiANCj4gQ3VycmVudCBEcF9BcHAgaW1w bGVtZW50YXRpb24gZGVwZW5kcyBvbiBUaW1lckxpYiwNCj4gYXMgZGlmZmVyZW50IHBsYXRmb3Jt cyBtYXkgaW1wbGVtZW50IGFuZCB1c2UgdGhlaXINCj4gb3duIFRpbWVyTGliLCBpdCBtYWtlcyB0 aGUgZHAgYXBwbGljYXRpb24gbmVlZHMgdG8NCj4gYmUgYnVpbHQgYnkgcGxhdGZvcm0uIFRoZSBU aW1lckxpYiBkZXBlbmRlbmN5IGNhbg0KPiBiZSByZW1vdmVkIGJ5IHVzaW5nIHBlcmZvcm1hbmNl IHByb3BlcnR5IGNvbmZpZ3VyYXRpb24NCj4gdGFibGUgdG8gbWFrZSBEcF9BcHAgdG8gYmUgZ2Vu ZXJpYy4NCj4gDQo+IENjOiBBbmRyZXcgRmlzaCA8YWZpc2hAYXBwbGUuY29tPg0KPiBDYzogTWlj aGFlbCBLaW5uZXkgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiBDYzogTGltaW5nIEdh byA8bGltaW5nLmdhb0BpbnRlbC5jb20+DQo+IENjOiBKaWV3ZW4gWWFvIDxqaWV3ZW4ueWFvQGlu dGVsLmNvbT4NCj4gQ2M6IENpbm5hbW9uIFNoaWEgPGNpbm5hbW9uLnNoaWFAaHBlLmNvbT4NCj4g Q2M6IEphYmVuIENhcnNleSA8amFiZW4uY2Fyc2V5QGludGVsLmNvbT4NCj4gQ29udHJpYnV0ZWQt dW5kZXI6IFRpYW5vQ29yZSBDb250cmlidXRpb24gQWdyZWVtZW50IDEuMA0KPiBTaWduZWQtb2Zm LWJ5OiBTdGFyIFplbmcgPHN0YXIuemVuZ0BpbnRlbC5jb20+DQo+IC0tLQ0KPiAgUGVyZm9ybWFu Y2VQa2cvRHBfQXBwL0RwLmMgICAgICAgICAgfCAzNQ0KPiArKysrKysrKysrKysrKysrKy0tLS0t LS0tLS0tLS0tLS0tLQ0KPiAgUGVyZm9ybWFuY2VQa2cvRHBfQXBwL0RwLmluZiAgICAgICAgfCAg NiArKysrLS0NCj4gIFBlcmZvcm1hbmNlUGtnL0RwX0FwcC9EcEludGVybmFsLmggIHwgIDYgKyst LS0tDQo+ICBQZXJmb3JtYW5jZVBrZy9EcF9BcHAvRHBQcm9maWxlLmMgICB8ICAzICstLQ0KPiAg UGVyZm9ybWFuY2VQa2cvRHBfQXBwL0RwU3RyaW5ncy51bmkgfCAxMCArKysrKystLS0tDQo+ICBQ ZXJmb3JtYW5jZVBrZy9EcF9BcHAvRHBUcmFjZS5jICAgICB8IDI1ICsrLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0NCj4gIFBlcmZvcm1hbmNlUGtnL0RwX0FwcC9EcFV0aWxpdGllcy5jIHwgIDMgKy0t DQo+ICBQZXJmb3JtYW5jZVBrZy9EcF9BcHAvTGl0ZXJhbHMuYyAgICB8ICAzICstLQ0KPiAgOCBm aWxlcyBjaGFuZ2VkLCAzNCBpbnNlcnRpb25zKCspLCA1NyBkZWxldGlvbnMoLSkNCj4gDQo+IGRp ZmYgLS1naXQgYS9QZXJmb3JtYW5jZVBrZy9EcF9BcHAvRHAuYyBiL1BlcmZvcm1hbmNlUGtnL0Rw X0FwcC9EcC5jDQo+IGluZGV4IDI2YTNlYmMuLjM4OWYzNjggMTAwNjQ0DQo+IC0tLSBhL1BlcmZv cm1hbmNlUGtnL0RwX0FwcC9EcC5jDQo+ICsrKyBiL1BlcmZvcm1hbmNlUGtnL0RwX0FwcC9EcC5j DQo+IEBAIC0xMyw3ICsxMyw3IEBADQo+ICAgIERwIHVzZXMgdGhpcyBpbmZvcm1hdGlvbiB0byBn cm91cCByZWNvcmRzIGluIGRpZmZlcmVudCB3YXlzLiAgSXQgYWxzbyB1c2VzDQo+ICAgIHRpbWVy IGluZm9ybWF0aW9uIHRvIGNhbGN1bGF0ZSBlbGFwc2VkIHRpbWUgZm9yIGVhY2ggbWVhc3VyZW1l bnQuDQo+IA0KPiAtICBDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDE2LCBJbnRlbCBDb3Jwb3JhdGlv bi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsgIENvcHlyaWdodCAoYykgMjAwOSAtIDIw MTcsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gICAgKEMp IENvcHlyaWdodCAyMDE1LTIwMTYgSGV3bGV0dCBQYWNrYXJkIEVudGVycHJpc2UgRGV2ZWxvcG1l bnQgTFA8QlI+DQo+ICAgIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlh bHMNCj4gICAgYXJlIGxpY2Vuc2VkIGFuZCBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMg YW5kIGNvbmRpdGlvbnMgb2YgdGhlIEJTRA0KPiBMaWNlbnNlDQo+IEBAIC0zMCw3ICszMCw2IEBA DQo+ICAjaW5jbHVkZSA8TGlicmFyeS9CYXNlTGliLmg+DQo+ICAjaW5jbHVkZSA8TGlicmFyeS9N ZW1vcnlBbGxvY2F0aW9uTGliLmg+DQo+ICAjaW5jbHVkZSA8TGlicmFyeS9EZWJ1Z0xpYi5oPg0K PiAtI2luY2x1ZGUgPExpYnJhcnkvVGltZXJMaWIuaD4NCj4gICNpbmNsdWRlIDxMaWJyYXJ5L1Vl ZmlMaWIuaD4NCj4gICNpbmNsdWRlIDxMaWJyYXJ5L1VlZmlIaWlTZXJ2aWNlc0xpYi5oPg0KPiAg I2luY2x1ZGUgPExpYnJhcnkvSGlpTGliLmg+DQo+IEBAIC0yMDEsMTQgKzIwMCwxMyBAQCBJbml0 aWFsaXplRHAgKA0KPiAgICBJTiBFRklfU1lTVEVNX1RBQkxFICAgICAgICAgKlN5c3RlbVRhYmxl DQo+ICAgICkNCj4gIHsNCj4gLSAgVUlOVDY0ICAgICAgICAgICAgICAgICAgICBGcmVxOw0KPiAt ICBVSU5UNjQgICAgICAgICAgICAgICAgICAgIFRpY2tlcjsNCj4gLSAgVUlOVDMyICAgICAgICAg ICAgICAgICAgICBMaXN0SW5kZXg7DQo+IC0NCj4gLSAgTElTVF9FTlRSWSAgICAgICAgICAgICAg ICAqUGFyYW1QYWNrYWdlOw0KPiAtICBDT05TVCBDSEFSMTYgICAgICAgICAgICAgICpDbWRMaW5l QXJnOw0KPiAtICBFRklfU1RSSU5HICAgICAgICAgICAgICAgIFN0cmluZ1B0cjsNCj4gLSAgVUlO VE4gICAgICAgICAgICAgICAgICAgICBOdW1iZXIyRGlzcGxheTsNCj4gKyAgUEVSRk9STUFOQ0Vf UFJPUEVSVFkgICAgICAgICAgKlBlcmZvcm1hbmNlUHJvcGVydHk7DQo+ICsgIFVJTlQzMiAgICAg ICAgICAgICAgICAgICAgICAgIExpc3RJbmRleDsNCj4gKw0KPiArICBMSVNUX0VOVFJZICAgICAg ICAgICAgICAgICAgICAqUGFyYW1QYWNrYWdlOw0KPiArICBDT05TVCBDSEFSMTYgICAgICAgICAg ICAgICAgICAqQ21kTGluZUFyZzsNCj4gKyAgRUZJX1NUUklORyAgICAgICAgICAgICAgICAgICAg U3RyaW5nUHRyOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICBOdW1iZXIyRGlz cGxheTsNCj4gDQo+ICAgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgICAgIFN0YXR1czsNCj4g ICAgQk9PTEVBTiAgICAgICAgICAgICAgICAgICAgICAgU3VtbWFyeU1vZGU7DQo+IEBAIC0yNjcs MTEgKzI2NSw2IEBAIEluaXRpYWxpemVEcCAoDQo+ICAgIFN0cmluZ0RwT3B0aW9uTGMgPSBOVUxM Ow0KPiAgICBTdHJpbmdQdHIgICAgICAgID0gTlVMTDsNCj4gDQo+IC0gIC8vIEdldCBEUCdzIGVu dHJ5IHRpbWUgYXMgc29vbiBhcyBwb3NzaWJsZS4NCj4gLSAgLy8gVGhpcyBpcyB1c2VkIGFzIHRo ZSBTaGVsbC1QaGFzZSBlbmQgdGltZS4NCj4gLSAgLy8NCj4gLSAgVGlja2VyICA9IEdldFBlcmZv cm1hbmNlQ291bnRlciAoKTsNCj4gLQ0KPiAgICAvLw0KPiAgICAvLyBSZXRyaWV2ZSBISUkgcGFj a2FnZSBsaXN0IGZyb20gSW1hZ2VIYW5kbGUNCj4gICAgLy8NCj4gQEAgLTQwNiwxMCArMzk5LDE2 IEBAIEluaXRpYWxpemVEcCAoDQo+ICAgICAgICAvLyAgICBTdGFydENvdW50ID0gVmFsdWUgbG9h ZGVkIGludG8gdGhlIGNvdW50ZXIgd2hlbiBpdCBzdGFydHMgY291bnRpbmcNCj4gICAgICAgIC8v ICAgICAgRW5kQ291bnQgPSBWYWx1ZSBjb3VudGVyIGNvdW50cyB0byBiZWZvcmUgaXQgbmVlZHMg dG8gYmUgcmVzZXQNCj4gICAgICAgIC8vDQo+IC0gICAgICBGcmVxID0gR2V0UGVyZm9ybWFuY2VD b3VudGVyUHJvcGVydGllcyAoJlRpbWVySW5mby5TdGFydENvdW50LA0KPiAmVGltZXJJbmZvLkVu ZENvdW50KTsNCj4gKyAgICAgIFN0YXR1cyA9IEVmaUdldFN5c3RlbUNvbmZpZ3VyYXRpb25UYWJs ZSAoJmdQZXJmb3JtYW5jZVByb3RvY29sR3VpZCwNCj4gJlBlcmZvcm1hbmNlUHJvcGVydHkpOw0K PiArICAgICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgICAgICBQcmludFRva2Vu IChTVFJJTkdfVE9LRU4gKFNUUl9QRVJGX1BST1BFUlRZX05PVF9GT1VORCkpOw0KPiArICAgICAg ICBnb3RvIERvbmU7DQo+ICsgICAgICB9DQo+IA0KPiAgICAgICAgLy8gQ29udmVydCB0aGUgRnJl cXVlbmN5IGZyb20gSHogdG8gS0h6DQo+IC0gICAgICBUaW1lckluZm8uRnJlcXVlbmN5ID0gKFVJ TlQzMilEaXZVNjR4MzIgKEZyZXEsIDEwMDApOw0KPiArICAgICAgVGltZXJJbmZvLkZyZXF1ZW5j eSAgPSAoVUlOVDMyKURpdlU2NHgzMg0KPiAoUGVyZm9ybWFuY2VQcm9wZXJ0eS0+RnJlcXVlbmN5 LCAxMDAwKTsNCj4gKyAgICAgIFRpbWVySW5mby5TdGFydENvdW50ID0gUGVyZm9ybWFuY2VQcm9w ZXJ0eS0+VGltZXJTdGFydFZhbHVlOw0KPiArICAgICAgVGltZXJJbmZvLkVuZENvdW50ICAgPSBQ ZXJmb3JtYW5jZVByb3BlcnR5LT5UaW1lckVuZFZhbHVlOw0KPiANCj4gICAgICAgIC8vIERldGVy bWluZSBpbiB3aGljaCBkaXJlY3Rpb24gdGhlIHBlcmZvcm1hbmNlIGNvdW50ZXIgY291bnRzLg0K PiAgICAgICAgVGltZXJJbmZvLkNvdW50VXAgPSAoQk9PTEVBTikgKFRpbWVySW5mby5FbmRDb3Vu dCA+PQ0KPiBUaW1lckluZm8uU3RhcnRDb3VudCk7DQo+IEBAIC00ODcsNyArNDg2LDcgQEAgSW5p dGlhbGl6ZURwICgNCj4gICAgICAgIGVsc2Ugew0KPiAgICAgICAgICAvLy0tLS0tLS0tLS0tLS0g QmVnaW4gQ29va2VkIE1vZGUgUHJvY2Vzc2luZw0KPiAgICAgICAgICBpZiAoVHJhY2VNb2RlKSB7 DQo+IC0gICAgICAgICAgUHJvY2Vzc1BoYXNlcyAoIFRpY2tlciApOw0KPiArICAgICAgICAgIFBy b2Nlc3NQaGFzZXMgKCk7DQo+ICAgICAgICAgICAgaWYgKCAhIFN1bW1hcnlNb2RlKSB7DQo+ICAg ICAgICAgICAgICBTdGF0dXMgPSBQcm9jZXNzSGFuZGxlcyAoIEV4Y2x1ZGVNb2RlKTsNCj4gICAg ICAgICAgICAgIGlmIChTdGF0dXMgPT0gRUZJX0FCT1JURUQpIHsNCj4gZGlmZiAtLWdpdCBhL1Bl cmZvcm1hbmNlUGtnL0RwX0FwcC9EcC5pbmYgYi9QZXJmb3JtYW5jZVBrZy9EcF9BcHAvRHAuaW5m DQo+IGluZGV4IDhhYmMyMGYuLjEyMDRkOGUgMTAwNjQ0DQo+IC0tLSBhL1BlcmZvcm1hbmNlUGtn L0RwX0FwcC9EcC5pbmYNCj4gKysrIGIvUGVyZm9ybWFuY2VQa2cvRHBfQXBwL0RwLmluZg0KPiBA QCAtMSw3ICsxLDcgQEANCj4gICMjICBAZmlsZQ0KPiAgIyAgRGlzcGxheSBQZXJmb3JtYW5jZSBB cHBsaWNhdGlvbiwgTW9kdWxlIGluZm9ybWF0aW9uIGZpbGUuDQo+ICAjDQo+IC0jIENvcHlyaWdo dCAoYykgMjAwOSAtIDIwMTYsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVk LjxCUj4NCj4gKyMgQ29weXJpZ2h0IChjKSAyMDA5IC0gMjAxNywgSW50ZWwgQ29ycG9yYXRpb24u IEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiAgIyBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2Nv bXBhbnlpbmcgbWF0ZXJpYWxzDQo+ICAjIGFyZSBsaWNlbnNlZCBhbmQgbWFkZSBhdmFpbGFibGUg dW5kZXIgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZSBCU0QNCj4gTGljZW5zZQ0KPiAg IyB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbi4gIFRoZSBmdWxsIHRleHQgb2Yg dGhlIGxpY2Vuc2UgbWF5IGJlDQo+IGZvdW5kIGF0DQo+IEBAIC01Niw3ICs1Niw2IEBADQo+ICAg IE1lbW9yeUFsbG9jYXRpb25MaWINCj4gICAgRGVidWdMaWINCj4gICAgVWVmaUJvb3RTZXJ2aWNl c1RhYmxlTGliDQo+IC0gIFRpbWVyTGliDQo+ICAgIFBlQ29mZkdldEVudHJ5UG9pbnRMaWINCj4g ICAgUGVyZm9ybWFuY2VMaWINCj4gICAgUHJpbnRMaWINCj4gQEAgLTY3LDYgKzY2LDkgQEANCj4g ICAgRGV2aWNlUGF0aExpYg0KPiAgICBEeGVTZXJ2aWNlc0xpYg0KPiANCj4gK1tHdWlkc10NCj4g KyAgZ1BlcmZvcm1hbmNlUHJvdG9jb2xHdWlkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAjIw0KPiBDT05TVU1FUyAjIyBTeXN0ZW1UYWJsZQ0KPiArDQo+ICBbUHJvdG9jb2xzXQ0KPiAg ICBnRWZpTG9hZGVkSW1hZ2VQcm90b2NvbEd1aWQgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICMjDQo+IENPTlNVTUVTDQo+ICAgIGdFZmlIaWlQYWNrYWdlTGlzdFByb3RvY29sR3VpZCAgICAg ICAgICAgICAgICAgICAgICAgICAgIyMgQ09OU1VNRVMNCj4gZGlmZiAtLWdpdCBhL1BlcmZvcm1h bmNlUGtnL0RwX0FwcC9EcEludGVybmFsLmgNCj4gYi9QZXJmb3JtYW5jZVBrZy9EcF9BcHAvRHBJ bnRlcm5hbC5oDQo+IGluZGV4IDUzYzVmYjIuLjFhYjM2YmEgMTAwNjQ0DQo+IC0tLSBhL1BlcmZv cm1hbmNlUGtnL0RwX0FwcC9EcEludGVybmFsLmgNCj4gKysrIGIvUGVyZm9ybWFuY2VQa2cvRHBf QXBwL0RwSW50ZXJuYWwuaA0KPiBAQCAtNiw3ICs2LDcgQEANCj4gICAgRHAgYXBwbGljYXRpb24u ICBJbiBhZGRpdGlvbiB0byBnbG9iYWwgZGF0YSwgZnVuY3Rpb24gZGVjbGFyYXRpb25zIGZvcg0K PiAgICBEcFV0aWxpdGllcy5jLCBEcFRyYWNlLmMsIGFuZCBEcFByb2ZpbGUuYyBhcmUgaW5jbHVk ZWQgaGVyZS4NCj4gDQo+IC0gIENvcHlyaWdodCAoYykgMjAwOSAtIDIwMTQsIEludGVsIENvcnBv cmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKyAgQ29weXJpZ2h0IChjKSAyMDA5 IC0gMjAxNywgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiAg ICAoQykgQ29weXJpZ2h0IDIwMTUtMjAxNiBIZXdsZXR0IFBhY2thcmQgRW50ZXJwcmlzZSBEZXZl bG9wbWVudCBMUDxCUj4NCj4gICAgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1h dGVyaWFscw0KPiAgICBhcmUgbGljZW5zZWQgYW5kIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0 ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGUgQlNEDQo+IExpY2Vuc2UNCj4gQEAgLTI1NCwxMiAr MjU0LDEwIEBAIER1bXBSYXdUcmFjZSgNCj4gIC8qKg0KPiAgICBHYXRoZXIgYW5kIHByaW50IE1h am9yIFBoYXNlIG1ldHJpY3MuDQo+IA0KPiAtICBAcGFyYW1baW5dICAgIFRpY2tlciAgICAgIFRo ZSB0aW1lciB2YWx1ZSBmb3IgdGhlIEVORCBvZiBTaGVsbCBwaGFzZQ0KPiAtDQo+ICAqKi8NCj4g IFZPSUQNCj4gIFByb2Nlc3NQaGFzZXMoDQo+IC0gIElOIFVJTlQ2NCBUaWNrZXINCj4gKyAgVk9J RA0KPiAgICApOw0KPiANCj4gDQo+IGRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVBrZy9EcF9BcHAv RHBQcm9maWxlLmMNCj4gYi9QZXJmb3JtYW5jZVBrZy9EcF9BcHAvRHBQcm9maWxlLmMNCj4gaW5k ZXggZWI1YjNkZC4uMTVjMmVmMSAxMDA2NDQNCj4gLS0tIGEvUGVyZm9ybWFuY2VQa2cvRHBfQXBw L0RwUHJvZmlsZS5jDQo+ICsrKyBiL1BlcmZvcm1hbmNlUGtnL0RwX0FwcC9EcFByb2ZpbGUuYw0K PiBAQCAtMSw3ICsxLDcgQEANCj4gIC8qKiBAZmlsZQ0KPiAgICBNZWFzdXJlZCBQcm9maWxpbmcg cmVwb3J0aW5nIGZvciB0aGUgRHAgdXRpbGl0eS4NCj4gDQo+IC0gIENvcHlyaWdodCAoYykgMjAw OSAtIDIwMTAsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4g KyAgQ29weXJpZ2h0IChjKSAyMDA5IC0gMjAxNywgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdo dHMgcmVzZXJ2ZWQuPEJSPg0KPiAgICBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcg bWF0ZXJpYWxzDQo+ICAgIGFyZSBsaWNlbnNlZCBhbmQgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhl IHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZSBCU0QNCj4gTGljZW5zZQ0KPiAgICB3aGljaCBh Y2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbi4gIFRoZSBmdWxsIHRleHQgb2YgdGhlIGxpY2Vu c2UgbWF5IGJlDQo+IGZvdW5kIGF0DQo+IEBAIC0xNiw3ICsxNiw2IEBADQo+ICAjaW5jbHVkZSA8 TGlicmFyeS9NZW1vcnlBbGxvY2F0aW9uTGliLmg+DQo+ICAjaW5jbHVkZSA8TGlicmFyeS9EZWJ1 Z0xpYi5oPg0KPiAgI2luY2x1ZGUgPExpYnJhcnkvVWVmaUJvb3RTZXJ2aWNlc1RhYmxlTGliLmg+ DQo+IC0jaW5jbHVkZSA8TGlicmFyeS9UaW1lckxpYi5oPg0KPiAgI2luY2x1ZGUgPExpYnJhcnkv UGVDb2ZmR2V0RW50cnlQb2ludExpYi5oPg0KPiAgI2luY2x1ZGUgPExpYnJhcnkvUGVyZm9ybWFu Y2VMaWIuaD4NCj4gICNpbmNsdWRlIDxMaWJyYXJ5L1ByaW50TGliLmg+DQo+IGRpZmYgLS1naXQg YS9QZXJmb3JtYW5jZVBrZy9EcF9BcHAvRHBTdHJpbmdzLnVuaQ0KPiBiL1BlcmZvcm1hbmNlUGtn L0RwX0FwcC9EcFN0cmluZ3MudW5pDQo+IGluZGV4IGRhYWEyNDIuLjEzMWQxNmIgMTAwNjQ0DQo+ IC0tLSBhL1BlcmZvcm1hbmNlUGtnL0RwX0FwcC9EcFN0cmluZ3MudW5pDQo+ICsrKyBiL1BlcmZv cm1hbmNlUGtnL0RwX0FwcC9EcFN0cmluZ3MudW5pDQo+IEBAIC0xLDEyICsxLDEyIEBADQo+ICAv LyAqKysNCj4gIC8vDQo+IC0vLyBDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDE2LCBJbnRlbCBDb3Jw b3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsvLyBDb3B5cmlnaHQgKGMpIDIw MDkgLSAyMDE3LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ ICAvLyAoQykgQ29weXJpZ2h0IDIwMTUgSGV3bGV0dCBQYWNrYXJkIEVudGVycHJpc2UgRGV2ZWxv cG1lbnQgTFA8QlI+DQo+ICAvLyBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0 ZXJpYWxzDQo+ICAvLyBhcmUgbGljZW5zZWQgYW5kIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0 ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGUgQlNEDQo+IExpY2Vuc2UNCj4gIC8vIHdoaWNoIGFj Y29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLiAgVGhlIGZ1bGwgdGV4dCBvZiB0aGUgbGljZW5z ZSBtYXkgYmUNCj4gZm91bmQgYXQNCj4gIC8vIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNl cy9ic2QtbGljZW5zZS5waHANCj4gLS8vDQo+ICsvLw0KPiAgLy8gVEhFIFBST0dSQU0gSVMgRElT VFJJQlVURUQgVU5ERVIgVEhFIEJTRCBMSUNFTlNFIE9OIEFOICJBUyBJUyIgQkFTSVMsDQo+ICAv LyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgUkVQUkVTRU5UQVRJT05TIE9GIEFOWSBLSU5ELCBFSVRI RVIgRVhQUkVTUw0KPiBPUiBJTVBMSUVELg0KPiAgLy8NCj4gQEAgLTExNCw3ICsxMTQsNyBAQA0K PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGZyLUZS ICAiICAgLW4NCj4gQ09VTlRcbiINCj4gICNzdHJpbmcgU1RSX0RQX0hFTFBfSUQgICAgICAgICAg ICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIiAgIC1pICBkaXNwbGF5DQo+IGlkZW50aWZpZXJcbiIN Cj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBmci1G UiAgIiAgIC1pXG4iDQo+IC0jc3RyaW5nIFNUUl9EUF9IRUxQX0NVTV9EQVRBICAgICAgICAgICAj bGFuZ3VhZ2UgZW4tVVMgICIgICAtYyBUT0tFTg0KPiAtIERpc3BsYXkgcHJlLWRlZmluZWQgYW5k IGN1c3RvbSBjdW11bGF0aXZlIGRhdGFcclxuIg0KPiArI3N0cmluZyBTVFJfRFBfSEVMUF9DVU1f REFUQSAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiICAgLWMgVE9LRU4NCj4gLSBEaXNwbGF5 IHByZS1kZWZpbmVkIGFuZCBjdXN0b20gY3VtdWxhdGl2ZSBkYXRhXHJcbiINCj4gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIg0KPiBQcmUt ZGVmaW5lZCBjdW11bGF0aXZlIHRva2VuIGFyZTpcclxuIg0KPiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiDQo+IDEuIExvYWRJbWFnZTpc clxuIg0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAiDQo+IDIuIFN0YXJ0SW1hZ2U6XHJcbiINCj4gQEAgLTEzNyw2ICsxMzcsOCBAQA0K PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGZyLUZS ICAiTG9jYWxpc2VyIFRvdXRlDQo+IGVycmV1ciBkZSBQb2lnbsOpZXMgLSAlclxuIg0KPiAgI3N0 cmluZyBTVFJfRFBfRVJST1JfTkFNRSAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiVW5r bm93bg0KPiBEcml2ZXIgTmFtZSINCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICNsYW5ndWFnZSBmci1GUiAgIlVua25vd24NCj4gRHJpdmVyIE5hbWUiDQo+ICsjc3Ry aW5nIFNUUl9QRVJGX1BST1BFUlRZX05PVF9GT1VORCAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIlBl cmZvcm1hbmNlIHByb3BlcnR5IG5vdCBmb3VuZFxuIg0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGZyLUZSICAiUGVyZm9ybWFuY2UNCj4gcHJvcGVy dHkgbm90IGZvdW5kXG4iDQo+ICAjc3RyaW5nIFNUUl9EUF9CVUlMRF9SRVZJU0lPTiAgICAgICAg ICAjbGFuZ3VhZ2UgZW4tVVMgICJcbkRQIEJ1aWxkDQo+IFZlcnNpb246ICAgICAgICVkLiVkXG4i DQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZnIt RlIgICJcbkRQIENvbnN0cnVpdA0KPiBsYSBWZXJzaW9uOiAgICAgICAgICVkLCVkXG4iDQo+ICAj c3RyaW5nIFNUUl9EUF9LSFogICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJT eXN0ZW0NCj4gUGVyZm9ybWFuY2UgVGltZXIgRnJlcXVlbmN5OiAgICUsOGQgKEtIeilcbiINCj4g QEAgLTIzOCw3ICsyNDAsNyBAQA0KPiAgI3N0cmluZyBTVFJfRFBfUkFXX1ZBUlMyICAgICAgICAg ICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICIlNWQ6ICUxNkxYICUxNkxYICUxNkxYICAlMzFhICAl MzFhICU1ZFxuIg0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xh bmd1YWdlIGZyLUZSDQo+ICIlNWQ6ICUxNkxYICUxNkxYICUxNkxYICAlMzFhICAlMzFhICU1ZFxu Ig0KPiAgI3N0cmluZyBTVFJfRFBfUkFXX0hFQURSMiAgICAgICAgICAgICAgI2xhbmd1YWdlIGVu LVVTICAiXG5JbmRleA0KPiBIYW5kbGUgICAgICAgIFN0YXJ0IENvdW50ICAgICAgIEVuZCBDb3Vu dCAgICAgICAgICAgICAgICAgIFRva2VuDQo+IE1vZHVsZSAgICAgICAgICAgICAgICAgICBJRFxu Ig0KPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGZy LUZSICAiXG5JbmRleA0KPiBIYW5kbGUgICAgICAgIFN0YXJ0IENvdW50ICAgICAgIEVuZCBDb3Vu dCAgICAgICAgICAgICAgICAgIFRva2VuDQo+IE1vZHVsZSAgICAgICAgICAgICAgICAgICBJRFxu Ig0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGZy LUZSICAiXG5JbmRleA0KPiBIYW5kbGUgICAgICAgIFN0YXJ0IENvdW50ICAgICAgIEVuZCBDb3Vu dCAgICAgICAgICAgICAgICAgIFRva2VuDQo+IE1vZHVsZSAgICAgICAgICAgICAgICAgICBJRFxu Ig0KPiAgI3N0cmluZyBTVFJfRFBfT1BUSU9OX1VBICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVu LVVTICAiLUEiDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFu Z3VhZ2UgZnItRlIgICItQSINCj4gICNzdHJpbmcgU1RSX0RQX09QVElPTl9MQSAgICAgICAgICAg ICAgICNsYW5ndWFnZSBlbi1VUyAgIi1hIg0KPiBkaWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VQa2cv RHBfQXBwL0RwVHJhY2UuYw0KPiBiL1BlcmZvcm1hbmNlUGtnL0RwX0FwcC9EcFRyYWNlLmMNCj4g aW5kZXggNmE2MmJiYS4uOWI0ZTBlZCAxMDA2NDQNCj4gLS0tIGEvUGVyZm9ybWFuY2VQa2cvRHBf QXBwL0RwVHJhY2UuYw0KPiArKysgYi9QZXJmb3JtYW5jZVBrZy9EcF9BcHAvRHBUcmFjZS5jDQo+ IEBAIC0xLDcgKzEsNyBAQA0KPiAgLyoqIEBmaWxlDQo+ICAgIFRyYWNlIHJlcG9ydGluZyBmb3Ig dGhlIERwIHV0aWxpdHkuDQo+IA0KPiAtICBDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDE2LCBJbnRl bCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsgIENvcHlyaWdodCAo YykgMjAwOSAtIDIwMTcsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxC Uj4NCj4gICAgKEMpIENvcHlyaWdodCAyMDE1LTIwMTYgSGV3bGV0dCBQYWNrYXJkIEVudGVycHJp c2UgRGV2ZWxvcG1lbnQgTFA8QlI+DQo+ICAgIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFu eWluZyBtYXRlcmlhbHMNCj4gICAgYXJlIGxpY2Vuc2VkIGFuZCBtYWRlIGF2YWlsYWJsZSB1bmRl ciB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdGhlIEJTRA0KPiBMaWNlbnNlDQo+IEBAIC0x Nyw3ICsxNyw2IEBADQo+ICAjaW5jbHVkZSA8TGlicmFyeS9NZW1vcnlBbGxvY2F0aW9uTGliLmg+ DQo+ICAjaW5jbHVkZSA8TGlicmFyeS9EZWJ1Z0xpYi5oPg0KPiAgI2luY2x1ZGUgPExpYnJhcnkv VWVmaUJvb3RTZXJ2aWNlc1RhYmxlTGliLmg+DQo+IC0jaW5jbHVkZSA8TGlicmFyeS9UaW1lckxp Yi5oPg0KPiAgI2luY2x1ZGUgPExpYnJhcnkvUGVDb2ZmR2V0RW50cnlQb2ludExpYi5oPg0KPiAg I2luY2x1ZGUgPExpYnJhcnkvUGVyZm9ybWFuY2VMaWIuaD4NCj4gICNpbmNsdWRlIDxMaWJyYXJ5 L1ByaW50TGliLmg+DQo+IEBAIC0zODUsMTIgKzM4NCwxMCBAQCBEdW1wUmF3VHJhY2UoDQo+ICAv KioNCj4gICAgR2F0aGVyIGFuZCBwcmludCBNYWpvciBQaGFzZSBtZXRyaWNzLg0KPiANCj4gLSAg QHBhcmFtW2luXSAgICBUaWNrZXIgICAgICBUaGUgdGltZXIgdmFsdWUgZm9yIHRoZSBFTkQgb2Yg U2hlbGwgcGhhc2UNCj4gLQ0KPiAgKiovDQo+ICBWT0lEDQo+ICBQcm9jZXNzUGhhc2VzKA0KPiAt ICBJTiBVSU5UNjQgICAgICAgICAgICBUaWNrZXINCj4gKyAgVk9JRA0KPiAgICApDQo+ICB7DQo+ ICAgIE1FQVNVUkVNRU5UX1JFQ09SRCAgICAgICAgTWVhc3VyZW1lbnQ7DQo+IEBAIC0zOTksNyAr Mzk2LDYgQEAgUHJvY2Vzc1BoYXNlcygNCj4gICAgVUlOVDY0ICAgICAgICAgICAgICAgICAgICBQ ZWlUaW1lOw0KPiAgICBVSU5UNjQgICAgICAgICAgICAgICAgICAgIER4ZVRpbWU7DQo+ICAgIFVJ TlQ2NCAgICAgICAgICAgICAgICAgICAgQmRzVGltZTsNCj4gLSAgVUlOVDY0ICAgICAgICAgICAg ICAgICAgICBTaGVsbFRpbWU7DQo+ICAgIFVJTlQ2NCAgICAgICAgICAgICAgICAgICAgRWxhcHNl ZFRpbWU7DQo+ICAgIFVJTlQ2NCAgICAgICAgICAgICAgICAgICAgRHVyYXRpb247DQo+ICAgIFVJ TlQ2NCAgICAgICAgICAgICAgICAgICAgVG90YWw7DQo+IEBAIC00MTIsNyArNDA4LDYgQEAgUHJv Y2Vzc1BoYXNlcygNCj4gICAgUGVpVGltZSAgICAgICAgID0gMDsNCj4gICAgRHhlVGltZSAgICAg ICAgID0gMDsNCj4gICAgQmRzVGltZSAgICAgICAgID0gMDsNCj4gLSAgU2hlbGxUaW1lICAgICAg ID0gMDsNCj4gICAgLy8NCj4gICAgLy8gR2V0IEV4ZWN1dGlvbiBQaGFzZSBTdGF0aXN0aWNzDQo+ ICAgIC8vDQo+IEBAIC00MzMsOSArNDI4LDYgQEAgUHJvY2Vzc1BoYXNlcygNCj4gICAgICAgICAg ICAgICAgICAgICAgICAgICAgJk1lYXN1cmVtZW50LkVuZFRpbWVTdGFtcCwNCj4gICAgICAgICAg ICAgICAgICAgICAgICAgICAgJk1lYXN1cmVtZW50LklkZW50aWZpZXIpKSAhPSAwKQ0KPiAgICB7 DQo+IC0gICAgaWYgKEFzY2lpU3RybkNtcCAoTWVhc3VyZW1lbnQuVG9rZW4sIEFMaXRfU0hFTEws IFBFUkZfVE9LRU5fTEVOR1RIKQ0KPiA9PSAwKSB7DQo+IC0gICAgICBNZWFzdXJlbWVudC5FbmRU aW1lU3RhbXAgPSBUaWNrZXI7DQo+IC0gICAgfQ0KPiAgICAgIGlmIChNZWFzdXJlbWVudC5FbmRU aW1lU3RhbXAgPT0gMCkgeyAvLyBTa2lwICJpbmNvbXBsZXRlIiByZWNvcmRzDQo+ICAgICAgICBj b250aW51ZTsNCj4gICAgICB9DQo+IEBAIC00NTMsOCArNDQ1LDYgQEAgUHJvY2Vzc1BoYXNlcygN Cj4gICAgICAgIER4ZVRpbWUgICAgICA9IER1cmF0aW9uOw0KPiAgICAgIH0gZWxzZSBpZiAoQXNj aWlTdHJuQ21wIChNZWFzdXJlbWVudC5Ub2tlbiwgQUxpdF9CRFMsDQo+IFBFUkZfVE9LRU5fTEVO R1RIKSA9PSAwKSB7DQo+ICAgICAgICBCZHNUaW1lICAgICAgPSBEdXJhdGlvbjsNCj4gLSAgICB9 IGVsc2UgaWYgKEFzY2lpU3RybkNtcCAoTWVhc3VyZW1lbnQuVG9rZW4sIEFMaXRfU0hFTEwsDQo+ IFBFUkZfVE9LRU5fTEVOR1RIKSA9PSAwKSB7DQo+IC0gICAgICBTaGVsbFRpbWUgICAgPSBEdXJh dGlvbjsNCj4gICAgICB9DQo+ICAgIH0NCj4gDQo+IEBAIC01MDksMTcgKzQ5OSw2IEBAIFByb2Nl c3NQaGFzZXMoDQo+ICAgICAgUHJpbnRUb2tlbiAoU1RSSU5HX1RPS0VOIChTVFJfRFBfUEhBU0Vf QkRTVE8pLCBBTGl0X0Jkc1RPLA0KPiBFbGFwc2VkVGltZSk7DQo+ICAgIH0NCj4gDQo+IC0gIC8v IHByaW50IFNIRUxMIHBoYXNlIGR1cmF0aW9uIHRpbWUNCj4gLSAgLy8NCj4gLSAgaWYgKFNoZWxs VGltZSA+IDApIHsNCj4gLSAgICBFbGFwc2VkVGltZSA9IERpdlU2NHgzMiAoDQo+IC0gICAgICAg ICAgICAgICAgICAgIFNoZWxsVGltZSwNCj4gLSAgICAgICAgICAgICAgICAgICAgKFVJTlQzMilU aW1lckluZm8uRnJlcXVlbmN5DQo+IC0gICAgICAgICAgICAgICAgICAgICk7DQo+IC0gICAgVG90 YWwgKz0gRWxhcHNlZFRpbWU7DQo+IC0gICAgUHJpbnRUb2tlbiAoU1RSSU5HX1RPS0VOIChTVFJf RFBfUEhBU0VfRFVSQVRJT04pLCBBTGl0X1NIRUxMLA0KPiBFbGFwc2VkVGltZSk7DQo+IC0gIH0N Cj4gLQ0KPiAgICBQcmludFRva2VuIChTVFJJTkdfVE9LRU4gKFNUUl9EUF9UT1RBTF9EVVJBVElP TiksIFRvdGFsKTsNCj4gIH0NCj4gDQo+IGRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVBrZy9EcF9B cHAvRHBVdGlsaXRpZXMuYw0KPiBiL1BlcmZvcm1hbmNlUGtnL0RwX0FwcC9EcFV0aWxpdGllcy5j DQo+IGluZGV4IDEzZDM4OTcuLmQ1ODQwZTggMTAwNjQ0DQo+IC0tLSBhL1BlcmZvcm1hbmNlUGtn L0RwX0FwcC9EcFV0aWxpdGllcy5jDQo+ICsrKyBiL1BlcmZvcm1hbmNlUGtnL0RwX0FwcC9EcFV0 aWxpdGllcy5jDQo+IEBAIC0xLDcgKzEsNyBAQA0KPiAgLyoqIEBmaWxlDQo+ICAgIFV0aWxpdHkg ZnVuY3Rpb25zIHVzZWQgYnkgdGhlIERwIGFwcGxpY2F0aW9uLg0KPiANCj4gLSAgQ29weXJpZ2h0 IChjKSAyMDA5IC0gMjAxNiwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQu PEJSPg0KPiArICBDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDE3LCBJbnRlbCBDb3Jwb3JhdGlvbi4g QWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICAgIChDKSBDb3B5cmlnaHQgMjAxNiBIZXdsZXR0 IFBhY2thcmQgRW50ZXJwcmlzZSBEZXZlbG9wbWVudCBMUDxCUj4NCj4gICAgVGhpcyBwcm9ncmFt IGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KPiAgICBhcmUgbGljZW5zZWQgYW5kIG1h ZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGUgQlNEDQo+ IExpY2Vuc2UNCj4gQEAgLTE3LDcgKzE3LDYgQEANCj4gICNpbmNsdWRlIDxMaWJyYXJ5L01lbW9y eUFsbG9jYXRpb25MaWIuaD4NCj4gICNpbmNsdWRlIDxMaWJyYXJ5L0RlYnVnTGliLmg+DQo+ICAj aW5jbHVkZSA8TGlicmFyeS9VZWZpQm9vdFNlcnZpY2VzVGFibGVMaWIuaD4NCj4gLSNpbmNsdWRl IDxMaWJyYXJ5L1RpbWVyTGliLmg+DQo+ICAjaW5jbHVkZSA8TGlicmFyeS9QZUNvZmZHZXRFbnRy eVBvaW50TGliLmg+DQo+ICAjaW5jbHVkZSA8TGlicmFyeS9QcmludExpYi5oPg0KPiAgI2luY2x1 ZGUgPExpYnJhcnkvSGlpTGliLmg+DQo+IGRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVBrZy9EcF9B cHAvTGl0ZXJhbHMuYw0KPiBiL1BlcmZvcm1hbmNlUGtnL0RwX0FwcC9MaXRlcmFscy5jDQo+IGlu ZGV4IDY4ZGUwZmIuLmMxY2RkZmIgMTAwNjQ0DQo+IC0tLSBhL1BlcmZvcm1hbmNlUGtnL0RwX0Fw cC9MaXRlcmFscy5jDQo+ICsrKyBiL1BlcmZvcm1hbmNlUGtnL0RwX0FwcC9MaXRlcmFscy5jDQo+ IEBAIC0xLDcgKzEsNyBAQA0KPiAgLyoqIEBmaWxlDQo+ICAgIERlZmluaXRpb25zIG9mIEFTQ0lJ IHN0cmluZyBsaXRlcmFscyB1c2VkIGJ5IERQLg0KPiANCj4gLSAgQ29weXJpZ2h0IChjKSAyMDA5 IC0gMjAxMCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiAr ICBDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDE3LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0 cyByZXNlcnZlZC48QlI+DQo+ICAgIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBt YXRlcmlhbHMNCj4gICAgYXJlIGxpY2Vuc2VkIGFuZCBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUg dGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdGhlIEJTRA0KPiBMaWNlbnNlDQo+ICAgIHdoaWNoIGFj Y29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLiAgVGhlIGZ1bGwgdGV4dCBvZiB0aGUgbGljZW5z ZSBtYXkgYmUNCj4gZm91bmQgYXQNCj4gQEAgLTE2LDcgKzE2LDYgQEANCj4gIENIQVI4IGNvbnN0 IEFMaXRfVGltZXJMaWJFcnJvcltdID0gIlRpbWVyIGxpYnJhcnkgaW5zdGFuY2UgZXJyb3IhXG4i Ow0KPiAgQ0hBUjggY29uc3QgQUxpdF9TRUNbXSAgICA9IFNFQ19UT0s7DQo+ICBDSEFSOCBjb25z dCBBTGl0X0RYRVtdICAgID0gRFhFX1RPSzsNCj4gLUNIQVI4IGNvbnN0IEFMaXRfU0hFTExbXSAg PSBTSEVMTF9UT0s7DQo+ICBDSEFSOCBjb25zdCBBTGl0X1BFSVtdICAgID0gUEVJX1RPSzsNCj4g IENIQVI4IGNvbnN0IEFMaXRfQkRTW10gICAgPSBCRFNfVE9LOw0KPiAgQ0hBUjggY29uc3QgQUxp dF9CZHNUT1tdICA9ICJCZHNUaW1lT3V0IjsNCj4gLS0NCj4gMi42LjMud2luZG93cy4xDQo+IA0K PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPiBlZGsy LWRldmVsIG1haWxpbmcgbGlzdA0KPiBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZw0KPiBodHRwczov L2xpc3RzLjAxLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2VkazItZGV2ZWwNCg==