From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.88; helo=mga01.intel.com; envelope-from=liming.gao@intel.com; receiver=edk2-devel@lists.01.org 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 6770A2119AC13 for ; Sun, 16 Dec 2018 18:04:30 -0800 (PST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 16 Dec 2018 18:04:29 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,363,1539673200"; d="scan'208";a="110882088" Received: from fmsmsx106.amr.corp.intel.com ([10.18.124.204]) by orsmga003.jf.intel.com with ESMTP; 16 Dec 2018 18:04:29 -0800 Received: from fmsmsx156.amr.corp.intel.com (10.18.116.74) by FMSMSX106.amr.corp.intel.com (10.18.124.204) with Microsoft SMTP Server (TLS) id 14.3.408.0; Sun, 16 Dec 2018 18:04:28 -0800 Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by fmsmsx156.amr.corp.intel.com (10.18.116.74) with Microsoft SMTP Server (TLS) id 14.3.408.0; Sun, 16 Dec 2018 18:04:28 -0800 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.203]) by SHSMSX151.ccr.corp.intel.com ([169.254.3.210]) with mapi id 14.03.0415.000; Mon, 17 Dec 2018 10:04:26 +0800 From: "Gao, Liming" To: Ard Biesheuvel , Jagadeesh Ujja , Leif Lindholm CC: "edk2-devel@lists.01.org" , "Zhang, Chao B" Thread-Topic: [PATCH 05/13] MdePkg/Library/BaseLib/AArch64: Add AsmLfence function Thread-Index: AQHUk6Z+TE6x+aZJSkutTR8ftwwg56V9u3mAgARvayA= Date: Mon, 17 Dec 2018 02:04:25 +0000 Message-ID: <4A89E2EF3DFEDB4C8BFDE51014F606A14E38D42E@SHSMSX104.ccr.corp.intel.com> References: <1544789607-11316-1-git-send-email-jagadeesh.ujja@arm.com> <1544789607-11316-6-git-send-email-jagadeesh.ujja@arm.com> In-Reply-To: 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 05/13] MdePkg/Library/BaseLib/AArch64: Add AsmLfence function X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Dec 2018 02:04:30 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 QXJkOg0KICBNeSBmaXJzdCBjb21tZW50IGlzIHRvIHN1Z2dlc3QgdXBkYXRpbmcgdGhlIGNhbGxl ciBjb2RlIGZvciB0aGUgYXJjaCBzcGVjaWZpYyBjb2RlLiAgQnV0LCB0aGVyZSBhcmUgdHdvIGRy aXZlcnMgdGhhdCBoYXZlIHRoZSBzYW1lIHVzYWdlLiBUaGlzIHdheSB3aWxsIGludHJvZHVjZSB0 aGUgZHVwbGljYXRlZCBjb2RlIGxvZ2ljLiBTbywgSSBzdWdnZXN0IGFub3RoZXIgd2F5IHRvIGV4 dGVuZCAgQXNtTGZlbmNlKCkgQVBJIHNjb3BlIGZvciB0aGUgZGlmZmVyZW50IEFSQ0hzLiBJZiB5 b3UgdGhpbmsgaXQgYnJpbmdzIHRoZSBjb25mdXNlLCBJIGp1c3QgdGhpbmsgYW5vdGhlciB3YXkg dG8gcmVzb2x2ZSB0aGlzIGNhc2UgaW4gdGhlIGNhbGxlciBjb2RlLiANCg0KI2lmIGRlZmluZWQg KE1ERV9DUFVfSUEzMikgfHwgZGVmaW5lZCAoTURFX0NQVV9YNjQpDQpBc21MZmVuY2UoKTsNCiNl bHNlDQpNZW1vcnlGZW5jZSgpDQojZW5kaWYNCg0KVGhhbmtzDQpMaW1pbmcNCj4tLS0tLU9yaWdp bmFsIE1lc3NhZ2UtLS0tLQ0KPkZyb206IEFyZCBCaWVzaGV1dmVsIFttYWlsdG86YXJkLmJpZXNo ZXV2ZWxAbGluYXJvLm9yZ10NCj5TZW50OiBGcmlkYXksIERlY2VtYmVyIDE0LCAyMDE4IDk6NTQg UE0NCj5UbzogSmFnYWRlZXNoIFVqamEgPGphZ2FkZWVzaC51amphQGFybS5jb20+OyBMZWlmIExp bmRob2xtDQo+PGxlaWYubGluZGhvbG1AbGluYXJvLm9yZz4NCj5DYzogZWRrMi1kZXZlbEBsaXN0 cy4wMS5vcmc7IEdhbywgTGltaW5nIDxsaW1pbmcuZ2FvQGludGVsLmNvbT47IFpoYW5nLA0KPkNo YW8gQiA8Y2hhby5iLnpoYW5nQGludGVsLmNvbT4NCj5TdWJqZWN0OiBSZTogW1BBVENIIDA1LzEz XSBNZGVQa2cvTGlicmFyeS9CYXNlTGliL0FBcmNoNjQ6IEFkZA0KPkFzbUxmZW5jZSBmdW5jdGlv bg0KPg0KPk9uIEZyaSwgMTQgRGVjIDIwMTggYXQgMTM6MTMsIEphZ2FkZWVzaCBVamphIDxqYWdh ZGVlc2gudWpqYUBhcm0uY29tPg0KPndyb3RlOg0KPj4NCj4+IFZhcmlhYmxlIHNlcnZpY2UgZHJp dmVyIGluY2x1ZGVzIGEgY2FsbCB0byBBc21MZmVuY2UuIFRvIHJldXNlIHRoaXMNCj4+IGRyaXZl ciBvbiBBQXJjaDY0IGJhc2VkIHBsYXRmb3JtcywgYWRkIGFuIGltcGxlbWVudGF0aW9uIG9mIEFz bUxmZW5jZQ0KPj4gdGhhdCBhY3RzIGFzIGEgd3JhcHBlciBvbiB0aGUgQUFyY2g2NCBzcGVjaWZp YyBNZW1vcnlGZW5jZSBmdW5jdGlvbi4NCj4+DQo+PiBDb250cmlidXRlZC11bmRlcjogVGlhbm9D b3JlIENvbnRyaWJ1dGlvbiBBZ3JlZW1lbnQgMS4xDQo+PiBTaWduZWQtb2ZmLWJ5OiBKYWdhZGVl c2ggVWpqYSA8amFnYWRlZXNoLnVqamFAYXJtLmNvbT4NCj4+IC0tLQ0KPj4gIE1kZVBrZy9JbmNs dWRlL0xpYnJhcnkvQmFzZUxpYi5oICAgICAgICAgICAgIHwgMzMgKysrKysrKysrLS0tLS0tDQo+ PiAgTWRlUGtnL0xpYnJhcnkvQmFzZUxpYi9BQXJjaDY0L0FzbUxmZW5jZS5TICAgfCA0Mg0KPisr KysrKysrKysrKysrKysrKysrDQo+PiAgTWRlUGtnL0xpYnJhcnkvQmFzZUxpYi9BQXJjaDY0L0Fz bUxmZW5jZS5hc20gfCA0MQ0KPisrKysrKysrKysrKysrKysrKysNCj4+ICBNZGVQa2cvTGlicmFy eS9CYXNlTGliL0Jhc2VMaWIuaW5mICAgICAgICAgICB8ICAyICsNCj4+ICA0IGZpbGVzIGNoYW5n ZWQsIDEwNSBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkNCj4+DQo+PiBkaWZmIC0tZ2l0 IGEvTWRlUGtnL0luY2x1ZGUvTGlicmFyeS9CYXNlTGliLmgNCj5iL01kZVBrZy9JbmNsdWRlL0xp YnJhcnkvQmFzZUxpYi5oDQo+PiBpbmRleCA4Y2MwODY5Li5jYTk2MWVlIDEwMDY0NA0KPj4gLS0t IGEvTWRlUGtnL0luY2x1ZGUvTGlicmFyeS9CYXNlTGliLmgNCj4+ICsrKyBiL01kZVBrZy9JbmNs dWRlL0xpYnJhcnkvQmFzZUxpYi5oDQo+PiBAQCAtNzY5NywxOSArNzY5Nyw2IEBAIEFzbVdyaXRl VHIgKA0KPj4gICAgKTsNCj4+DQo+PiAgLyoqDQo+PiAtICBQZXJmb3JtcyBhIHNlcmlhbGl6aW5n IG9wZXJhdGlvbiBvbiBhbGwgbG9hZC1mcm9tLW1lbW9yeSBpbnN0cnVjdGlvbnMgdGhhdA0KPj4g LSAgd2VyZSBpc3N1ZWQgcHJpb3IgdGhlIEFzbUxmZW5jZSBmdW5jdGlvbi4NCj4+IC0NCj4+IC0g IEV4ZWN1dGVzIGEgTEZFTkNFIGluc3RydWN0aW9uLiBUaGlzIGZ1bmN0aW9uIGlzIG9ubHkgYXZh aWxhYmxlIG9uIElBLTMyIGFuZA0KPng2NC4NCj4+IC0NCj4+IC0qKi8NCj4+IC1WT0lEDQo+PiAt RUZJQVBJDQo+PiAtQXNtTGZlbmNlICgNCj4+IC0gIFZPSUQNCj4+IC0gICk7DQo+PiAtDQo+PiAt LyoqDQo+PiAgICBQYXRjaCB0aGUgaW1tZWRpYXRlIG9wZXJhbmQgb2YgYW4gSUEzMiBvciBYNjQg aW5zdHJ1Y3Rpb24gc3VjaCB0aGF0IHRoZQ0KPmJ5dGUsDQo+PiAgICB3b3JkLCBkd29yZCBvciBx d29yZCBvcGVyYW5kIGlzIGVuY29kZWQgYXQgdGhlIGVuZCBvZiB0aGUgaW5zdHJ1Y3Rpb24ncw0K Pj4gICAgYmluYXJ5IHJlcHJlc2VudGF0aW9uLg0KPj4gQEAgLTc3NTIsNCArNzczOSwyNCBAQCBQ YXRjaEluc3RydWN0aW9uWDg2ICgNCj4+ICAgICk7DQo+Pg0KPj4gICNlbmRpZiAvLyBkZWZpbmVk IChNREVfQ1BVX0lBMzIpIHx8IGRlZmluZWQgKE1ERV9DUFVfWDY0KQ0KPj4gKw0KPj4gKyNpZiBk ZWZpbmVkIChNREVfQ1BVX0lBMzIpIHx8IGRlZmluZWQgKE1ERV9DUFVfWDY0KSB8fCBkZWZpbmVk DQo+KE1ERV9DUFVfQUFSQ0g2NCkNCj4+ICsNCj4+ICsvKioNCj4+ICsgIFBlcmZvcm1zIGEgc2Vy aWFsaXppbmcgb3BlcmF0aW9uIG9uIGFsbCBsb2FkLWZyb20tbWVtb3J5IGluc3RydWN0aW9ucyB0 aGF0DQo+PiArICB3ZXJlIGlzc3VlZCBwcmlvciB0aGUgQXNtTGZlbmNlIGZ1bmN0aW9uLg0KPj4g Kw0KPj4gKyAgSW4gY2FzZSBvZiBJQS0zMiBhbmQgeDY0LCBFeGVjdXRlcyBhIExGRU5DRSBpbnN0 cnVjdGlvbi4NCj4+ICsNCj4+ICsgIEluIGNhc2Ugb2YgQUFyY2g2NCB0aGlzIGFjdHMgYXMgYSB3 cmFwcGVyIG9uIHRoZSBBQXJjaDY0DQo+PiArICBzcGVjaWZpYyBNZW1vcnlGZW5jZSBmdW5jdGlv bg0KPj4gKw0KPj4gKyoqLw0KPj4gK1ZPSUQNCj4+ICtFRklBUEkNCj4+ICtBc21MZmVuY2UgKA0K Pj4gKyAgVk9JRA0KPj4gKyAgKTsNCj4+ICsNCj4+ICsjZW5kaWYgIC8vIGRlZmluZWQgKE1ERV9D UFVfSUEzMikgfHwgZGVmaW5lZCAoTURFX0NQVV9YNjQpIHx8DQo+ZGVmaW5lZCAoTURFX0NQVV9B QVJDSDY0KQ0KPj4gICNlbmRpZiAvLyAhZGVmaW5lZCAoX19CQVNFX0xJQl9fKQ0KPj4gZGlmZiAt LWdpdCBhL01kZVBrZy9MaWJyYXJ5L0Jhc2VMaWIvQUFyY2g2NC9Bc21MZmVuY2UuUw0KPmIvTWRl UGtnL0xpYnJhcnkvQmFzZUxpYi9BQXJjaDY0L0FzbUxmZW5jZS5TDQo+PiBuZXcgZmlsZSBtb2Rl IDEwMDY0NA0KPj4gaW5kZXggMDAwMDAwMC4uMmZkODA0Yg0KPj4gLS0tIC9kZXYvbnVsbA0KPj4g KysrIGIvTWRlUGtnL0xpYnJhcnkvQmFzZUxpYi9BQXJjaDY0L0FzbUxmZW5jZS5TDQo+PiBAQCAt MCwwICsxLDQyIEBADQo+PiArIyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4+ICsjDQo+PiArIyBB c21MZmVuY2UoKSBmb3IgQUFyY2g2NA0KPj4gKyMNCj4+ICsjIENvcHlyaWdodCAoYykgMjAxMy0y MDE4LCBBUk0gTHRkLiBBbGwgcmlnaHRzIHJlc2VydmVkLg0KPj4gKyMNCj4+ICsjIFRoaXMgcHJv Z3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCj4+ICsjIGFyZSBsaWNlbnNlZCBh bmQgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZQ0K PkJTRCBMaWNlbnNlDQo+PiArIyB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbi4g IFRoZSBmdWxsIHRleHQgb2YgdGhlIGxpY2Vuc2UgbWF5IGJlDQo+Zm91bmQgYXQNCj4+ICsjIGh0 dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9ic2QtbGljZW5zZS5waHAuDQo+PiArIw0KPj4g KyMgVEhFIFBST0dSQU0gSVMgRElTVFJJQlVURUQgVU5ERVIgVEhFIEJTRCBMSUNFTlNFIE9OIEFO ICJBUyBJUyINCj5CQVNJUywNCj4+ICsjIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBSRVBSRVNFTlRB VElPTlMgT0YgQU5ZIEtJTkQsIEVJVEhFUg0KPkVYUFJFU1MgT1IgSU1QTElFRC4NCj4+ICsjDQo+ PiArIyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4+ICsNCj4+ICsudGV4dA0KPj4gKy5wMmFsaWdu IDINCj4+ICsNCj4+ICtHQ0NfQVNNX0VYUE9SVChBc21MZmVuY2UpDQo+PiArDQo+PiArIyBJTVBP UlQNCj4+ICtHQ0NfQVNNX0lNUE9SVChNZW1vcnlGZW5jZSkNCj4+ICsNCj4+ICsjLyoqDQo+PiAr IyAgVXNlZCB0byBzZXJpYWxpemUgbG9hZCBhbmQgc3RvcmUgb3BlcmF0aW9ucy4NCj4+ICsjDQo+ PiArIyAgQWxsIGxvYWRzIGFuZCBzdG9yZXMgdGhhdCBwcm9jZWVkIGNhbGxzIHRvIHRoaXMgZnVu Y3Rpb24gYXJlIGd1YXJhbnRlZWQgdG8NCj5iZQ0KPj4gKyMgIGdsb2JhbGx5IHZpc2libGUgd2hl biB0aGlzIGZ1bmN0aW9uIHJldHVybnMuDQo+PiArIw0KPj4gKyMqKi8NCj4+ICsjVk9JRA0KPj4g KyNFRklBUEkNCj4+ICsjQXNtTGZlbmNlICgNCj4+ICsjICBWT0lEDQo+PiArIyAgKTsNCj4+ICsj DQo+PiArQVNNX1BGWChBc21MZmVuY2UpOg0KPj4gKyAgICBzdHAgICB4MjksIHgzMCwgW3NwLCAj LTE2XSENCj4+ICsgICAgYmwgTWVtb3J5RmVuY2UNCj4+ICsgICAgbGRwICAgeDI5LCB4MzAsIFtz cF0sICMweDEwDQo+PiArICAgIHJldA0KPg0KPkFueSByZWFzb24gd2UgY2FuJ3Qgc2ltcGx5IGRv DQo+DQo+YiBNZW1vcnlGZW5jZQ0KPg0KPmhlcmU/DQo+DQo+QWxzbywgd2h5IEkgdW5kZXJzdGFu ZCB0aGUgcmF0aW9uYWxlLCBJIHN0aWxsIHRoaW5rIGl0IHdvdWxkIGJlIGJldHRlcg0KPnRvIGNo YW5nZSBjYWxsZXJzIG9mIHRoZSBbeDg2IHNwZWNpZmljXSBBc21MZmVuY2UoKSB0aGFuIHRvIGlu dHJvZHVjZQ0KPmFuIGFsaWFzIG9mIE1lbW9yeUZlbmNlKCkgZm9yIGFyY2hpdGVjdHVyZXMgd2hl cmUgTGZlbmNlIGlzIG5vdA0KPmRlZmluZWQuDQo+DQo+VGhpcyBpcyBub3Qgb25seSBhYm91dCB0 aWRpbmVzcywgYnV0IGFsc28gYWJvdXQgcG90ZW50aWFsbHkgaGF2aW5nDQo+ZGlmZmVyZW50IHNl bWFudGljcywgd2hpY2ggd2UgY2FuJ3QgcHJvdmlkZSBpbiBnZW5lcmFsIG9uIEFSTSwgYnV0DQo+ b25seSBpbiBwYXJ0aWN1bGFyIGNhc2VzIFtzdWNoIGFzIHRoZSBjb2RlIHRoYXQgaXMgbW9kaWZp ZWQgaW4gdGhpcw0KPnNlcmllc10NCj4NCj5JbiBvdGhlciB3b3JkcywgbmV3bHkgaW50cm9kdWNl ZCBvY2N1cnJlbmNlcyBvZiBBc21MZmVuY2UoKSBub3cgaGF2ZQ0KPnRvIGJlIGF1ZGl0ZWQgZm9y IGJlaW5nIGFwcHJvcHJpYXRlIG9uIEFBcmM2NCBpZiB0aGV5IGFyZSBhZGRlZCB0bw0KPmdlbmVy aWMgY29kZS4NCj4NCj4NCj4+IGRpZmYgLS1naXQgYS9NZGVQa2cvTGlicmFyeS9CYXNlTGliL0FB cmNoNjQvQXNtTGZlbmNlLmFzbQ0KPmIvTWRlUGtnL0xpYnJhcnkvQmFzZUxpYi9BQXJjaDY0L0Fz bUxmZW5jZS5hc20NCj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+PiBpbmRleCAwMDAwMDAwLi43 ZGQ1NjU5DQo+PiAtLS0gL2Rldi9udWxsDQo+PiArKysgYi9NZGVQa2cvTGlicmFyeS9CYXNlTGli L0FBcmNoNjQvQXNtTGZlbmNlLmFzbQ0KPj4gQEAgLTAsMCArMSw0MSBAQA0KPj4gKzstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0NCj4+ICs7DQo+PiArOyBBc21MZmVuY2UoKSBmb3IgQUFyY2g2NA0KPj4g KzsNCj4+ICs7IENvcHlyaWdodCAoYykgMjAxMy0yMDE4LCBBUk0gTHRkLiBBbGwgcmlnaHRzIHJl c2VydmVkLg0KPj4gKzsNCj4+ICs7IFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBt YXRlcmlhbHMNCj4+ICs7IGFyZSBsaWNlbnNlZCBhbmQgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhl IHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZQ0KPkJTRCBMaWNlbnNlDQo+PiArOyB3aGljaCBh Y2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbi4gIFRoZSBmdWxsIHRleHQgb2YgdGhlIGxpY2Vu c2UgbWF5IGJlDQo+Zm91bmQgYXQNCj4+ICs7IGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNl cy9ic2QtbGljZW5zZS5waHAuDQo+PiArOw0KPj4gKzsgVEhFIFBST0dSQU0gSVMgRElTVFJJQlVU RUQgVU5ERVIgVEhFIEJTRCBMSUNFTlNFIE9OIEFOICJBUyBJUyINCj5CQVNJUywNCj4+ICs7IFdJ VEhPVVQgV0FSUkFOVElFUyBPUiBSRVBSRVNFTlRBVElPTlMgT0YgQU5ZIEtJTkQsIEVJVEhFUg0K PkVYUFJFU1MgT1IgSU1QTElFRC4NCj4+ICs7DQo+PiArOy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K Pj4gKw0KPj4gKyAgRVhQT1JUIEFzbUxmZW5jZQ0KPj4gKyAgQVJFQSBCYXNlTGliX0xvd0xldmVs LCBDT0RFLCBSRUFET05MWQ0KPj4gKyAgIyBJTVBPUlQNCj4+ICsgIEdDQ19BU01fSU1QT1JUKE1l bW9yeUZlbmNlKQ0KPj4gKw0KPj4gKzsvKioNCj4+ICs7ICBVc2VkIHRvIHNlcmlhbGl6ZSBsb2Fk IGFuZCBzdG9yZSBvcGVyYXRpb25zLg0KPj4gKzsNCj4+ICs7ICBBbGwgbG9hZHMgYW5kIHN0b3Jl cyB0aGF0IHByb2NlZWQgY2FsbHMgdG8gdGhpcyBmdW5jdGlvbiBhcmUgZ3VhcmFudGVlZCB0bw0K PmJlDQo+PiArOyAgZ2xvYmFsbHkgdmlzaWJsZSB3aGVuIHRoaXMgZnVuY3Rpb24gcmV0dXJucy4N Cj4+ICs7DQo+PiArOyoqLw0KPj4gKztWT0lEDQo+PiArO0VGSUFQSQ0KPj4gKztBc21MZmVuY2Ug KA0KPj4gKzsgIFZPSUQNCj4+ICs7ICApOw0KPj4gKzsNCj4+ICtBc21MZmVuY2UNCj4+ICsgICAg c3RwICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hDQo+PiArICAgIGJsIE1lbW9yeUZlbmNlDQo+PiAr ICAgIGxkcCAgIHgyOSwgeDMwLCBbc3BdLCAjMHgxMA0KPj4gKyAgICByZXQNCj4+ICsNCj4+ICsg IEVORA0KPj4gZGlmZiAtLWdpdCBhL01kZVBrZy9MaWJyYXJ5L0Jhc2VMaWIvQmFzZUxpYi5pbmYN Cj5iL01kZVBrZy9MaWJyYXJ5L0Jhc2VMaWIvQmFzZUxpYi5pbmYNCj4+IGluZGV4IGI4NGU1ODMu LmI3ZDdiY2IgMTAwNjQ0DQo+PiAtLS0gYS9NZGVQa2cvTGlicmFyeS9CYXNlTGliL0Jhc2VMaWIu aW5mDQo+PiArKysgYi9NZGVQa2cvTGlicmFyeS9CYXNlTGliL0Jhc2VMaWIuaW5mDQo+PiBAQCAt NTg1LDYgKzU4NSw3IEBADQo+PiAgICBNYXRoNjQuYw0KPj4NCj4+ICAgIEFBcmNoNjQvTWVtb3J5 RmVuY2UuUyAgICAgICAgICAgICB8IEdDQw0KPj4gKyAgQUFyY2g2NC9Bc21MZmVuY2UuUyAgICAg ICAgICAgICAgIHwgR0NDDQo+PiAgICBBQXJjaDY0L1N3aXRjaFN0YWNrLlMgICAgICAgICAgICAg fCBHQ0MNCj4+ICAgIEFBcmNoNjQvRW5hYmxlSW50ZXJydXB0cy5TICAgICAgICB8IEdDQw0KPj4g ICAgQUFyY2g2NC9EaXNhYmxlSW50ZXJydXB0cy5TICAgICAgIHwgR0NDDQo+PiBAQCAtNTkzLDYg KzU5NCw3IEBADQo+PiAgICBBQXJjaDY0L0NwdUJyZWFrcG9pbnQuUyAgICAgICAgICAgfCBHQ0MN Cj4+DQo+PiAgICBBQXJjaDY0L01lbW9yeUZlbmNlLmFzbSAgICAgICAgICAgfCBNU0ZUDQo+PiAr ICBBQXJjaDY0L0FzbUxmZW5jZS5hc20gICAgICAgICAgICAgfCBNU0ZUDQo+PiAgICBBQXJjaDY0 L1N3aXRjaFN0YWNrLmFzbSAgICAgICAgICAgfCBNU0ZUDQo+PiAgICBBQXJjaDY0L0VuYWJsZUlu dGVycnVwdHMuYXNtICAgICAgfCBNU0ZUDQo+PiAgICBBQXJjaDY0L0Rpc2FibGVJbnRlcnJ1cHRz LmFzbSAgICAgfCBNU0ZUDQo+PiAtLQ0KPj4gMi43LjQNCj4+DQo=