From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 7B7A342BF1; Mon, 5 Jun 2023 15:08:27 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6EBAF410ED; Mon, 5 Jun 2023 15:08:27 +0200 (CEST) Received: from forward502a.mail.yandex.net (forward502a.mail.yandex.net [178.154.239.82]) by mails.dpdk.org (Postfix) with ESMTP id 59665410D7 for ; Mon, 5 Jun 2023 15:08:25 +0200 (CEST) Received: from mail-nwsmtp-mxback-production-main-91.vla.yp-c.yandex.net (mail-nwsmtp-mxback-production-main-91.vla.yp-c.yandex.net [IPv6:2a02:6b8:c15:3298:0:640:990d:0]) by forward502a.mail.yandex.net (Yandex) with ESMTP id BDFC75E8AC; Mon, 5 Jun 2023 16:08:24 +0300 (MSK) Received: from mail.yandex.ru (2a02:6b8:c0f:880:0:640:406d:0 [2a02:6b8:c0f:880:0:640:406d:0]) by mail-nwsmtp-mxback-production-main-91.vla.yp-c.yandex.net (mxback/Yandex) with HTTP id H8SVq33W8mI0-LZMyGpyf; Mon, 05 Jun 2023 16:08:24 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1685970504; bh=X2FfUokPyI3KAt3YJ6zhVQpxy0a38hOZAFCtZqKKszs=; h=References:Date:Message-Id:Cc:Subject:To:From:In-Reply-To; b=otzeSLQiNqoF/acube8mF6F5FjAMV3n2KtMUqfR/2t63tCH9QXNJCxbBNaPL31SbB 1JmlL8fiCh8Oat8Pl1oXsvIOxulnqE95+4vg4eK5azPEGcRn4kBuSGraCWpibfYBvd 5Mnli+Ge4M62YrltKu+IJGuUSt2p0GhRZ/NOmOpM= Authentication-Results: mail-nwsmtp-mxback-production-main-91.vla.yp-c.yandex.net; dkim=pass header.i=@yandex.ru Received: by jnpbxgtudydya3dn.vla.yp-c.yandex.net with HTTP; Mon, 05 Jun 2023 16:08:23 +0300 From: =?utf-8?B?0JrQvtC90YHRgtCw0L3RgtC40L0g0JDQvdCw0L3RjNC10LI=?= Envelope-From: konstantin-v-ananyev@yandex.ru To: Feifei Wang , Aman Singh , Yuying Zhang Cc: "dev@dpdk.org" , "nd@arm.com" , Jerin Jacob , Ruifeng Wang In-Reply-To: <20230525094541.331338-5-feifei.wang2@arm.com> References: <20211224164613.32569-1-feifei.wang2@arm.com> <20230525094541.331338-1-feifei.wang2@arm.com> <20230525094541.331338-5-feifei.wang2@arm.com> Subject: Re: [PATCH v6 4/4] app/testpmd: add recycle mbufs engine MIME-Version: 1.0 X-Mailer: Yamail [ http://yandex.ru ] 5.0 Date: Mon, 05 Jun 2023 14:08:23 +0100 Message-Id: <8683131685970446@mail.yandex.ru> Content-Transfer-Encoding: base64 Content-Type: text/html; charset=utf-8 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org PGRpdj7CoDwvZGl2PjxkaXY+wqA8L2Rpdj48ZGl2PsKgPC9kaXY+PGJsb2NrcXVvdGU+PHA+QWRk IHJlY3ljbGUgbWJ1ZnMgZW5naW5lIGZvciB0ZXN0cG1kLiBUaGlzIGVuZ2luZSBmb3J3YXJkIHBr dHMgd2l0aDxiciAvPkkvTyBmb3J3YXJkIG1vZGUuIEJ1dCBlbmFibGUgbWJ1ZnMgcmVjeWNsZSBm ZWF0dXJlIHRvIHJlY3ljbGUgdXNlZDxiciAvPnR4cSBtYnVmcyBmb3IgcnhxIG1idWYgcmluZywg d2hpY2ggY2FuIGJ5cGFzcyBtZW1wb29sIHBhdGggYW5kIHNhdmU8YnIgLz5DUFUgY3ljbGVzLjxi ciAvPjxiciAvPlN1Z2dlc3RlZC1ieTogSmVyaW4gSmFjb2IgJmx0OzxhIGhyZWY9Im1haWx0bzpq ZXJpbmphY29ia0BnbWFpbC5jb20iIHJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciI+amVyaW5qYWNv YmtAZ21haWwuY29tPC9hPiZndDs8YnIgLz5TaWduZWQtb2ZmLWJ5OiBGZWlmZWkgV2FuZyAmbHQ7 PGEgaHJlZj0ibWFpbHRvOmZlaWZlaS53YW5nMkBhcm0uY29tIiByZWw9Im5vb3BlbmVyIG5vcmVm ZXJyZXIiPmZlaWZlaS53YW5nMkBhcm0uY29tPC9hPiZndDs8YnIgLz5SZXZpZXdlZC1ieTogUnVp ZmVuZyBXYW5nICZsdDs8YSBocmVmPSJtYWlsdG86cnVpZmVuZy53YW5nQGFybS5jb20iIHJlbD0i bm9vcGVuZXIgbm9yZWZlcnJlciI+cnVpZmVuZy53YW5nQGFybS5jb208L2E+Jmd0OzxiciAvPi0t LTxiciAvPsKgYXBwL3Rlc3QtcG1kL21lc29uLmJ1aWxkIHwgMSArPGJyIC8+wqBhcHAvdGVzdC1w bWQvcmVjeWNsZV9tYnVmcy5jIHwgNzkgKysrKysrKysrKysrKysrKysrKysrPGJyIC8+wqBhcHAv dGVzdC1wbWQvdGVzdHBtZC5jIHwgMSArPGJyIC8+wqBhcHAvdGVzdC1wbWQvdGVzdHBtZC5oIHwg MyArPGJyIC8+wqBkb2MvZ3VpZGVzL3Rlc3RwbWRfYXBwX3VnL3J1bl9hcHAucnN0IHwgMSArPGJy IC8+wqBkb2MvZ3VpZGVzL3Rlc3RwbWRfYXBwX3VnL3Rlc3RwbWRfZnVuY3MucnN0IHwgNSArLTxi ciAvPsKgNiBmaWxlcyBjaGFuZ2VkLCA4OSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pPGJy IC8+wqBjcmVhdGUgbW9kZSAxMDA2NDQgYXBwL3Rlc3QtcG1kL3JlY3ljbGVfbWJ1ZnMuYzxiciAv PjxiciAvPmRpZmYgLS1naXQgYS9hcHAvdGVzdC1wbWQvbWVzb24uYnVpbGQgYi9hcHAvdGVzdC1w bWQvbWVzb24uYnVpbGQ8YnIgLz5pbmRleCBkMmUzZjYwODkyLi42ZTVmMDY3Mjc0IDEwMDY0NDxi ciAvPi0tLSBhL2FwcC90ZXN0LXBtZC9tZXNvbi5idWlsZDxiciAvPisrKyBiL2FwcC90ZXN0LXBt ZC9tZXNvbi5idWlsZDxiciAvPkBAIC0yMiw2ICsyMiw3IEBAIHNvdXJjZXMgPSBmaWxlcyg8YnIg Lz7CoMKgwqDCoMKgwqDCoMKgwqAnbWFjc3dhcC5jJyw8YnIgLz7CoMKgwqDCoMKgwqDCoMKgwqAn bm9pc3lfdm5mLmMnLDxiciAvPsKgwqDCoMKgwqDCoMKgwqDCoCdwYXJhbWV0ZXJzLmMnLDxiciAv PisgJ3JlY3ljbGVfbWJ1ZnMuYycsPGJyIC8+wqDCoMKgwqDCoMKgwqDCoMKgJ3J4b25seS5jJyw8 YnIgLz7CoMKgwqDCoMKgwqDCoMKgwqAnc2hhcmVkX3J4cV9md2QuYycsPGJyIC8+wqDCoMKgwqDC oMKgwqDCoMKgJ3Rlc3RwbWQuYycsPGJyIC8+ZGlmZiAtLWdpdCBhL2FwcC90ZXN0LXBtZC9yZWN5 Y2xlX21idWZzLmMgYi9hcHAvdGVzdC1wbWQvcmVjeWNsZV9tYnVmcy5jPGJyIC8+bmV3IGZpbGUg bW9kZSAxMDA2NDQ8YnIgLz5pbmRleCAwMDAwMDAwMDAwLi4wYzYwM2MzZWMyPGJyIC8+LS0tIC9k ZXYvbnVsbDxiciAvPisrKyBiL2FwcC90ZXN0LXBtZC9yZWN5Y2xlX21idWZzLmM8YnIgLz5AQCAt MCwwICsxLDc5IEBAPGJyIC8+Ky8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1 c2U8YnIgLz4rICogQ29weXJpZ2h0IChjKSAyMDIzIEFybSBMaW1pdGVkLjxiciAvPisgKi88YnIg Lz4rPGJyIC8+KyNpbmNsdWRlICZsdDtzdGRhcmcuaCZndDs8YnIgLz4rI2luY2x1ZGUgJmx0O3N0 ZGlvLmgmZ3Q7PGJyIC8+KyNpbmNsdWRlICZsdDtzdHJpbmcuaCZndDs8YnIgLz4rI2luY2x1ZGUg Jmx0O2Vycm5vLmgmZ3Q7PGJyIC8+KyNpbmNsdWRlICZsdDtzdGRpbnQuaCZndDs8YnIgLz4rI2lu Y2x1ZGUgJmx0O3VuaXN0ZC5oJmd0OzxiciAvPisjaW5jbHVkZSAmbHQ7aW50dHlwZXMuaCZndDs8 YnIgLz4rPGJyIC8+KyNpbmNsdWRlICZsdDtzeXMvcXVldWUuaCZndDs8YnIgLz4rI2luY2x1ZGUg Jmx0O3N5cy9zdGF0LmgmZ3Q7PGJyIC8+KzxiciAvPisjaW5jbHVkZSAmbHQ7cnRlX2NvbW1vbi5o Jmd0OzxiciAvPisjaW5jbHVkZSAmbHQ7cnRlX2xvZy5oJmd0OzxiciAvPisjaW5jbHVkZSAmbHQ7 cnRlX2RlYnVnLmgmZ3Q7PGJyIC8+KyNpbmNsdWRlICZsdDtydGVfY3ljbGVzLmgmZ3Q7PGJyIC8+ KyNpbmNsdWRlICZsdDtydGVfbWVtb3J5LmgmZ3Q7PGJyIC8+KyNpbmNsdWRlICZsdDtydGVfbGF1 bmNoLmgmZ3Q7PGJyIC8+KyNpbmNsdWRlICZsdDtydGVfZWFsLmgmZ3Q7PGJyIC8+KyNpbmNsdWRl ICZsdDtydGVfcGVyX2xjb3JlLmgmZ3Q7PGJyIC8+KyNpbmNsdWRlICZsdDtydGVfbGNvcmUuaCZn dDs8YnIgLz4rI2luY2x1ZGUgJmx0O3J0ZV9icmFuY2hfcHJlZGljdGlvbi5oJmd0OzxiciAvPisj aW5jbHVkZSAmbHQ7cnRlX21idWYuaCZndDs8YnIgLz4rI2luY2x1ZGUgJmx0O3J0ZV9pbnRlcnJ1 cHRzLmgmZ3Q7PGJyIC8+KyNpbmNsdWRlICZsdDtydGVfZXRoZXIuaCZndDs8YnIgLz4rI2luY2x1 ZGUgJmx0O3J0ZV9ldGhkZXYuaCZndDs8YnIgLz4rPGJyIC8+KyNpbmNsdWRlICJ0ZXN0cG1kLmgi PGJyIC8+KzxiciAvPisvKjxiciAvPisgKiBGb3J3YXJkaW5nIG9mIHBhY2tldHMgaW4gSS9PIG1v ZGUuPGJyIC8+KyAqIEVuYWJsZSBtYnVmcyByZWN5Y2xlIG1vZGUgdG8gcmVjeWNsZSB0eHEgdXNl ZCBtYnVmczxiciAvPisgKiBmb3IgcnhxIG1idWYgcmluZy4gVGhpcyBjYW4gYnlwYXNzIG1lbXBv b2wgcGF0aCBhbmQ8YnIgLz4rICogc2F2ZSBDUFUgY3ljbGVzLjxiciAvPisgKi88YnIgLz4rc3Rh dGljIGJvb2w8YnIgLz4rcGt0X2J1cnN0X3JlY3ljbGVfbWJ1ZnMoc3RydWN0IGZ3ZF9zdHJlYW0g KmZzKTxiciAvPit7PCEtLSAtLT48YnIgLz4rIHN0cnVjdCBydGVfbWJ1ZiAqcGt0c19idXJzdFtN QVhfUEtUX0JVUlNUXTs8YnIgLz4rIHVpbnQxNl90IG5iX3J4OzxiciAvPis8YnIgLz4rIC8qIFJl Y3ljbGUgdXNlZCBtYnVmcyBmcm9tIHRoZSB0eHEsIGFuZCBtb3ZlIHRoZXNlIG1idWZzIGludG88 YnIgLz4rICogdGhlIHJ4cSBtYnVmIHJpbmcuPGJyIC8+KyAqLzxiciAvPisgcnRlX2V0aF9yZWN5 Y2xlX21idWZzKGZzLSZndDtyeF9wb3J0LCBmcy0mZ3Q7cnhfcXVldWUsPGJyIC8+KyBmcy0mZ3Q7 dHhfcG9ydCwgZnMtJmd0O3R4X3F1ZXVlLCAmYW1wOyhmcy0mZ3Q7cmVjeWNsZV9yeHFfaW5mbykp OzxiciAvPis8YnIgLz4rIC8qPGJyIC8+KyAqIFJlY2VpdmUgYSBidXJzdCBvZiBwYWNrZXRzIGFu ZCBmb3J3YXJkIHRoZW0uPGJyIC8+KyAqLzxiciAvPisgbmJfcnggPSBjb21tb25fZndkX3N0cmVh bV9yZWNlaXZlKGZzLCBwa3RzX2J1cnN0LCBuYl9wa3RfcGVyX2J1cnN0KTs8YnIgLz4rIGlmICh1 bmxpa2VseShuYl9yeCA9PSAwKSk8YnIgLz4rIHJldHVybiBmYWxzZTs8YnIgLz4rPGJyIC8+KyBj b21tb25fZndkX3N0cmVhbV90cmFuc21pdChmcywgcGt0c19idXJzdCwgbmJfcngpOzxiciAvPis8 YnIgLz4rIHJldHVybiB0cnVlOzxiciAvPit9PGJyIC8+KzxiciAvPitzdGF0aWMgdm9pZDxiciAv PityZWN5Y2xlX21idWZzX3N0cmVhbV9pbml0KHN0cnVjdCBmd2Rfc3RyZWFtICpmcyk8YnIgLz4r ezwhLS0gLS0+PGJyIC8+KyAvKiBSZXRyaWV2ZSBpbmZvcm1hdGlvbiBhYm91dCBnaXZlbiBwb3J0 cydzIFJ4IHF1ZXVlPGJyIC8+KyAqIGZvciByZWN5Y2xpbmcgbWJ1ZnMuPGJyIC8+KyAqLzxiciAv PisgcnRlX2V0aF9yZWN5Y2xlX3J4X3F1ZXVlX2luZm9fZ2V0KGZzLSZndDtyeF9wb3J0LCBmcy0m Z3Q7cnhfcXVldWUsPGJyIC8+KyAmYW1wOyhmcy0mZ3Q7cmVjeWNsZV9yeHFfaW5mbykpOzwvcD48 L2Jsb2NrcXVvdGU+PGRpdj7CoDwvZGl2PjxkaXY+V2UgcHJvYmFibHkgc2hvdWxkIGNoZWNrIHRo ZSByZXR1cm4gc3RhdHVzIGFuZCBjb21wbGFpbiBhYm91dCBmYWlsdXJlLjwvZGl2PjxkaXY+wqA8 L2Rpdj48YmxvY2txdW90ZT48cD4rPGJyIC8+KyBjb21tb25fZndkX3N0cmVhbV9pbml0KGZzKTs8 YnIgLz4rfTxiciAvPis8YnIgLz4rc3RydWN0IGZ3ZF9lbmdpbmUgcmVjeWNsZV9tYnVmc19lbmdp bmUgPSB7PCEtLSAtLT48YnIgLz4rIC5md2RfbW9kZV9uYW1lID0gInJlY3ljbGVfbWJ1ZnMiLDxi ciAvPisgLnN0cmVhbV9pbml0ID0gcmVjeWNsZV9tYnVmc19zdHJlYW1faW5pdCw8YnIgLz4rIC5w YWNrZXRfZndkID0gcGt0X2J1cnN0X3JlY3ljbGVfbWJ1ZnMsPGJyIC8+K307PGJyIC8+ZGlmZiAt LWdpdCBhL2FwcC90ZXN0LXBtZC90ZXN0cG1kLmMgYi9hcHAvdGVzdC1wbWQvdGVzdHBtZC5jPGJy IC8+aW5kZXggNWNiNmY5MjUyMy4uMDUwZTQ4ZDc5YSAxMDA2NDQ8YnIgLz4tLS0gYS9hcHAvdGVz dC1wbWQvdGVzdHBtZC5jPGJyIC8+KysrIGIvYXBwL3Rlc3QtcG1kL3Rlc3RwbWQuYzxiciAvPkBA IC0xOTksNiArMTk5LDcgQEAgc3RydWN0IGZ3ZF9lbmdpbmUgKiBmd2RfZW5naW5lc1tdID0gezwh LS0gLS0+PGJyIC8+wqDCoMKgwqDCoMKgwqDCoMKgJmFtcDtpY21wX2VjaG9fZW5naW5lLDxiciAv PsKgwqDCoMKgwqDCoMKgwqDCoCZhbXA7bm9pc3lfdm5mX2VuZ2luZSw8YnIgLz7CoMKgwqDCoMKg wqDCoMKgwqAmYW1wO2ZpdmVfdHVwbGVfc3dhcF9md2RfZW5naW5lLDxiciAvPisgJmFtcDtyZWN5 Y2xlX21idWZzX2VuZ2luZSw8YnIgLz7CoCNpZmRlZiBSVEVfTElCUlRFX0lFRUUxNTg4PGJyIC8+ wqDCoMKgwqDCoMKgwqDCoMKgJmFtcDtpZWVlMTU4OF9md2RfZW5naW5lLDxiciAvPsKgI2VuZGlm PGJyIC8+ZGlmZiAtLWdpdCBhL2FwcC90ZXN0LXBtZC90ZXN0cG1kLmggYi9hcHAvdGVzdC1wbWQv dGVzdHBtZC5oPGJyIC8+aW5kZXggYmRmYmZkMzZkMy4uMzRlNzJmZDdkNSAxMDA2NDQ8YnIgLz4t LS0gYS9hcHAvdGVzdC1wbWQvdGVzdHBtZC5oPGJyIC8+KysrIGIvYXBwL3Rlc3QtcG1kL3Rlc3Rw bWQuaDxiciAvPkBAIC0xNzksNiArMTc5LDggQEAgc3RydWN0IGZ3ZF9zdHJlYW0gezwhLS0gLS0+ PGJyIC8+wqDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHBrdF9idXJzdF9zdGF0cyByeF9idXJzdF9z dGF0czs8YnIgLz7CoMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgcGt0X2J1cnN0X3N0YXRzIHR4X2J1 cnN0X3N0YXRzOzxiciAvPsKgwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBmd2RfbGNvcmUgKmxjb3Jl OyAvKiombHQ7IExjb3JlIGJlaW5nIHNjaGVkdWxlZC4gKi88YnIgLz4rIC8qKiZsdDsgUnggcXVl dWUgaW5mb3JtYXRpb24gZm9yIHJlY3ljbGluZyBtYnVmcyAqLzxiciAvPisgc3RydWN0IHJ0ZV9l dGhfcmVjeWNsZV9yeHFfaW5mbyByZWN5Y2xlX3J4cV9pbmZvOzxiciAvPsKgfTs8YnIgLz7CoDxi ciAvPsKgLyoqPGJyIC8+QEAgLTQzMiw2ICs0MzQsNyBAQCBleHRlcm4gc3RydWN0IGZ3ZF9lbmdp bmUgY3N1bV9md2RfZW5naW5lOzxiciAvPsKgZXh0ZXJuIHN0cnVjdCBmd2RfZW5naW5lIGljbXBf ZWNob19lbmdpbmU7PGJyIC8+wqBleHRlcm4gc3RydWN0IGZ3ZF9lbmdpbmUgbm9pc3lfdm5mX2Vu Z2luZTs8YnIgLz7CoGV4dGVybiBzdHJ1Y3QgZndkX2VuZ2luZSBmaXZlX3R1cGxlX3N3YXBfZndk X2VuZ2luZTs8YnIgLz4rZXh0ZXJuIHN0cnVjdCBmd2RfZW5naW5lIHJlY3ljbGVfbWJ1ZnNfZW5n aW5lOzxiciAvPsKgI2lmZGVmIFJURV9MSUJSVEVfSUVFRTE1ODg8YnIgLz7CoGV4dGVybiBzdHJ1 Y3QgZndkX2VuZ2luZSBpZWVlMTU4OF9md2RfZW5naW5lOzxiciAvPsKgI2VuZGlmPGJyIC8+ZGlm ZiAtLWdpdCBhL2RvYy9ndWlkZXMvdGVzdHBtZF9hcHBfdWcvcnVuX2FwcC5yc3QgYi9kb2MvZ3Vp ZGVzL3Rlc3RwbWRfYXBwX3VnL3J1bl9hcHAucnN0PGJyIC8+aW5kZXggNTdiMjMyNDFjZi4uY2Jj NjhhY2MzNiAxMDA2NDQ8YnIgLz4tLS0gYS9kb2MvZ3VpZGVzL3Rlc3RwbWRfYXBwX3VnL3J1bl9h cHAucnN0PGJyIC8+KysrIGIvZG9jL2d1aWRlcy90ZXN0cG1kX2FwcF91Zy9ydW5fYXBwLnJzdDxi ciAvPkBAIC0yMzIsNiArMjMyLDcgQEAgVGhlIGNvbW1hbmQgbGluZSBvcHRpb25zIGFyZTo8YnIg Lz7CoMKgwqDCoMKgwqDCoMKgbm9pc3k8YnIgLz7CoMKgwqDCoMKgwqDCoMKgNXRzd2FwPGJyIC8+ wqDCoMKgwqDCoMKgwqDCoHNoYXJlZC1yeHE8YnIgLz4rIHJlY3ljbGVfbWJ1ZnM8YnIgLz7CoDxi ciAvPsKgKiBgYC0tcnNzLWlwYGA8YnIgLz7CoDxiciAvPmRpZmYgLS1naXQgYS9kb2MvZ3VpZGVz L3Rlc3RwbWRfYXBwX3VnL3Rlc3RwbWRfZnVuY3MucnN0IGIvZG9jL2d1aWRlcy90ZXN0cG1kX2Fw cF91Zy90ZXN0cG1kX2Z1bmNzLnJzdDxiciAvPmluZGV4IDhmMjM4NDc4NTkuLjQ4MmU1ODMyNjMg MTAwNjQ0PGJyIC8+LS0tIGEvZG9jL2d1aWRlcy90ZXN0cG1kX2FwcF91Zy90ZXN0cG1kX2Z1bmNz LnJzdDxiciAvPisrKyBiL2RvYy9ndWlkZXMvdGVzdHBtZF9hcHBfdWcvdGVzdHBtZF9mdW5jcy5y c3Q8YnIgLz5AQCAtMzE4LDcgKzMxOCw3IEBAIHNldCBmd2Q8YnIgLz7CoFNldCB0aGUgcGFja2V0 IGZvcndhcmRpbmcgbW9kZTo6PGJyIC8+wqA8YnIgLz7CoMKgwqDCoHRlc3RwbWQmZ3Q7IHNldCBm d2QgKGlvfG1hY3xtYWNzd2FwfGZsb3dnZW58IFw8YnIgLz4tIHJ4b25seXx0eG9ubHl8Y3N1bXxp Y21wZWNob3xub2lzeXw1dHN3YXB8c2hhcmVkLXJ4cSkgKCIifHJldHJ5KTxiciAvPisgcnhvbmx5 fHR4b25seXxjc3VtfGljbXBlY2hvfG5vaXN5fDV0c3dhcHxzaGFyZWQtcnhxfHJlY3ljbGVfbWJ1 ZnMpICgiInxyZXRyeSk8YnIgLz7CoDxiciAvPsKgYGByZXRyeWBgIGNhbiBiZSBzcGVjaWZpZWQg Zm9yIGZvcndhcmRpbmcgZW5naW5lcyBleGNlcHQgYGByeF9vbmx5YGAuPGJyIC8+wqA8YnIgLz5A QCAtMzY0LDYgKzM2NCw5IEBAIFRoZSBhdmFpbGFibGUgaW5mb3JtYXRpb24gY2F0ZWdvcmllcyBh cmU6PGJyIC8+wqAqIGBgc2hhcmVkLXJ4cWBgOiBSZWNlaXZlIG9ubHkgZm9yIHNoYXJlZCBSeCBx dWV1ZS48YnIgLz7CoMKgwqBSZXNvbHZlIHBhY2tldCBzb3VyY2UgcG9ydCBmcm9tIG1idWYgYW5k IHVwZGF0ZSBzdHJlYW0gc3RhdGlzdGljcyBhY2NvcmRpbmdseS48YnIgLz7CoDxiciAvPisqIGBg cmVjeWNsZV9tYnVmc2BgOiBSZWN5Y2xlIFR4IHF1ZXVlIHVzZWQgbWJ1ZnMgZm9yIFJ4IHF1ZXVl IG1idWYgcmluZy48YnIgLz4rIFRoaXMgbW9kZSB1c2VzIGZhc3QgcGF0aCBtYnVmIHJlY3ljbGUg ZmVhdHVyZSBhbmQgZm9yd2FyZHMgcGFja2V0cyBpbiBJL08gbW9kZS48YnIgLz4rPGJyIC8+wqBF eGFtcGxlOjo8YnIgLz7CoDxiciAvPsKgwqDCoMKgdGVzdHBtZCZndDsgc2V0IGZ3ZCByeG9ubHk8 L3A+LS08YnIgLz4yLjI1LjE8YnIgLz7CoDwvYmxvY2txdW90ZT4=