From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 63BB5A0518; Mon, 3 Aug 2020 03:32:08 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id C45332BE1; Mon, 3 Aug 2020 03:32:07 +0200 (CEST) Received: from m13134.mail.163.com (m13134.mail.163.com [220.181.13.134]) by dpdk.org (Postfix) with ESMTP id EEC322BD8 for ; Mon, 3 Aug 2020 03:32:05 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=Date:From:Subject:MIME-Version:Message-ID; bh=ny2bM ZZBHlJrZXdZG4hezire3SNM0FMAad3MVlJl7JI=; b=BQOVwyrQd0Era2+qq9tkw U5Q/f/YeIUeesQHmeWN1aTYUs/V7WRTyKOPZuHBWO1XkD9ngcJKA1aDcxvM/fFNv 2sK65i/gxSYn0tSP+tYjNQSO39hMLLn8sl1wIOudBPkCn/RcfczmVAWXPiBKftCs HoOOj6byNQn7BEHWCZqlMw= Received: from yang_y_yi$163.com ( [111.207.123.56] ) by ajax-webmail-wmsvr134 (Coremail) ; Mon, 3 Aug 2020 09:32:00 +0800 (CST) X-Originating-IP: [111.207.123.56] Date: Mon, 3 Aug 2020 09:32:00 +0800 (CST) From: yang_y_yi To: "Olivier Matz" Cc: dev@dpdk.org, jiayu.hu@intel.com, thomas@monjalon.net, yangyi01@inspur.com X-Priority: 1 X-Mailer: Coremail Webmail Server Version XT5.0.10 build 20190724(ac680a23) Copyright (c) 2002-2020 www.mailtech.cn 163com In-Reply-To: <20200802204512.GB23824@arsenic.home> References: <20200730120900.108232-1-yang_y_yi@163.com> <20200730120900.108232-3-yang_y_yi@163.com> <20200731151543.GH5869@platinum> <2a50e80c.44f.173ac4c6d20.Coremail.yang_y_yi@163.com> <20200802202907.GJ5869@platinum> <20200802204512.GB23824@arsenic.home> X-CM-CTRLDATA: ypqKXGZvb3Rlcl9odG09ODE3Nzo1Ng== MIME-Version: 1.0 Message-ID: <3ca5059.1591.173b1f268e6.Coremail.yang_y_yi@163.com> X-Coremail-Locale: zh_CN X-CM-TRANSID: hsGowAAn3MAQaSdfwOFgAA--.15047W X-CM-SenderInfo: 51dqwsp1b1xqqrwthudrp/1tbiMxt1i1Xl5h3KFAACsB X-Coremail-Antispam: 1U5529EdanIXcx71UUUUU7vcSsGvfC2KfnxnUU== Content-Type: text/plain; charset=GBK Content-Transfer-Encoding: base64 X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: Re: [dpdk-dev] [PATCH V1 2/3] mbuf: change free_cb interface to adapt to GSO case X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" QXQgMjAyMC0wOC0wMyAwNDo0NToxMiwgIk9saXZpZXIgTWF0eiIgPG9saXZpZXIubWF0ekA2d2lu ZC5jb20+IHdyb3RlOgo+T24gU3VuLCBBdWcgMDIsIDIwMjAgYXQgMTA6Mjk6MDdQTSArMDIwMCwg T2xpdmllciBNYXR6IHdyb3RlOgo+PiBIaSwKPj4gCj4+IE9uIFN1biwgQXVnIDAyLCAyMDIwIGF0 IDA3OjEyOjM2QU0gKzA4MDAsIHlhbmdfeV95aSB3cm90ZToKPj4gPiAKPj4gPiAKPj4gPiBBdCAy MDIwLTA3LTMxIDIzOjE1OjQzLCAiT2xpdmllciBNYXR6IiA8b2xpdmllci5tYXR6QDZ3aW5kLmNv bT4gd3JvdGU6Cj4+ID4gPkhpLAo+PiA+ID4KPj4gPiA+T24gVGh1LCBKdWwgMzAsIDIwMjAgYXQg MDg6MDg6NTlQTSArMDgwMCwgeWFuZ195X3lpQDE2My5jb20gd3JvdGU6Cj4+ID4gPj4gRnJvbTog WWkgWWFuZyA8eWFuZ3lpMDFAaW5zcHVyLmNvbT4KPj4gPiA+PiAKPj4gPiA+PiBJbiBHU08gY2Fz ZSwgc2VnbWVudGVkIG1idWZzIGFyZSBhdHRhY2hlZCB0byBvcmlnaW5hbAo+PiA+ID4+IG1idWYg d2hpY2ggY2FuJ3QgYmUgZnJlZWQgd2hlbiBpdCBpcyBleHRlcm5hbC4gVGhlIGlzc3VlCj4+ID4g Pj4gaXMgZnJlZV9jYiBkb2Vzbid0IGtub3cgb3JpZ2luYWwgbWJ1ZiBhbmQgZG9lc24ndCBmcmVl Cj4+ID4gPj4gaXQgd2hlbiByZWZjbnQgb2Ygc2hpbmZvIGlzIDAuCj4+ID4gPj4gCj4+ID4gPj4g T3JpZ2luYWwgbWJ1ZiBjYW4gYmUgZnJlZWQgYnkgcnRlX3BrdG1idWZfZnJlZSBzZWdtZW50ZWQK Pj4gPiA+PiBtYnVmcyBvciBieSBydGVfcGt0bWJ1Zl9mcmVlIG9yaWdpbmFsIG1idWYuIFR3byBr aW5kIG9mCj4+ID4gPj4gY2FzZXMgc2hvdWxkIGhhdmUgZGlmZmVyZW50IGJlaGF2aW9ycy4gZnJl ZV9jYiB3b24ndAo+PiA+ID4+IGV4cGxpY2l0bHkgY2FsbCBydGVfcGt0bWJ1Zl9mcmVlIHRvIGZy ZWUgb3JpZ2luYWwgbWJ1Zgo+PiA+ID4+IGlmIGl0IGlzIGZyZWVkIGJ5IHJ0ZV9wa3RtYnVmX2Zy ZWUgb3JpZ2luYWwgbWJ1ZiwgYnV0IGl0Cj4+ID4gPj4gaGFzIHRvIGNhbGwgcnRlX3BrdG1idWZf ZnJlZSB0byBmcmVlIG9yaWdpbmFsIG1idWYgaWYgaXQKPj4gPiA+PiBpcyBmcmVlZCBieSBydGVf cGt0bWJ1Zl9mcmVlIHNlZ21lbnRlZCBtYnVmcy4KPj4gPiA+PiAKPj4gPiA+PiBJbiBvcmRlciB0 byBmaXggdGhpcyBpc3N1ZSwgZnJlZV9jYiBpbnRlcmZhY2UgaGFzIHRvIGJlZW4KPj4gPiA+PiBj aGFuZ2VkLCBfX3J0ZV9wa3RtYnVmX2ZyZWVfZXh0YnVmIG11c3QgZGVsaXZlciBjYWxsZWQKPj4g PiA+PiBtYnVmIHBvaW50ZXIgdG8gZnJlZV9jYiwgYXJndW1lbnQgb3BhcXVlIGNhbiBiZSBkZWZp bmVkCj4+ID4gPj4gYXMgYSBjdXN0b20gc3RydWN0IGJ5IHVzZXIsIGl0IGNhbiBpbmNsdWRlcyBv cmlnaW5hbCBtYnVmCj4+ID4gPj4gcG9pbnRlciwgdXNlci1kZWZpbmVkIGZyZWVfY2IgY2FuIGNv bXBhcmUgY2FsbGVyIG1idWYgd2l0aAo+PiA+ID4+IG1idWYgaW4gb3BhcXVlIHN0cnVjdCwgZnJl ZV9jYiBzaG91bGQgZnJlZSBvcmlnaW5hbCBtYnVmCj4+ID4gPj4gaWYgdGhleSBhcmUgbm90IHNh bWUsIHRoaXMgY29ycmVzcG9uZHMgdG8gcnRlX3BrdG1idWZfZnJlZQo+PiA+ID4+IHNlZ21lbnRl ZCBtYnVmcyBjYXNlLCBvdGhlcndpc2UsIGZyZWVfY2Igd29uJ3QgZnJlZSBvcmlnaW5hbAo+PiA+ ID4+IG1idWYgYmVjYXVzZSB0aGUgY2FsbGVyIGV4cGxpY2l0bHkgY2FsbGVkIHJ0ZV9wa3RtYnVm X2ZyZWUKPj4gPiA+PiB0byBmcmVlIGl0Lgo+PiA+ID4+IAo+PiA+ID4+IEhlcmUgaXMgcHNlZHVv IGNvZGUgdG8gc2hvdyB0d28ga2luZCBvZiBjYXNlcy4KPj4gPiA+PiAKPj4gPiA+PiBjYXNlIDEu IHJ0ZV9wa3RtYnVmX2ZyZWUgc2VnbWVudGVkIG1idWZzCj4+ID4gPj4gCj4+ID4gPj4gbmJfdHgg PSBydGVfZ3NvX3NlZ21lbnQob3JpZ2luYWxfbWJ1ZiwgLyogb3JpZ2luYWwgbWJ1ZiAqLwo+PiA+ ID4+ICAgICAgICAgICAgICAgICAgICAgICAmZ3NvX2N0eCwKPj4gPiA+PiAgICAgICAgICAgICAg ICAgICAgICAgLyogc2VnbWVudGVkIG1idWYgKi8KPj4gPiA+PiAgICAgICAgICAgICAgICAgICAg ICAgKHN0cnVjdCBydGVfbWJ1ZiAqKikmZ3NvX21idWZzLAo+PiA+ID4+ICAgICAgICAgICAgICAg ICAgICAgICBNQVhfR1NPX01CVUZTKTsKPj4gPiA+Cj4+ID4gPkknbSBzb3JyeSBidXQgaXQgaXMg bm90IHZlcnkgY2xlYXIgdG8gbWUgd2hhdCBvcGVyYXRpb25zIGFyZSBkb25lIGJ5Cj4+ID4gPnJ0 ZV9nc29fc2VnbWVudCgpLgo+PiA+ID4KPj4gPiA+SW4gdGhlIGN1cnJlbnQgY29kZSwgSSBvbmx5 IHNlZSBjYWxscyB0byBydGVfcGt0bWJ1Zl9hdHRhY2goKSwKPj4gPiA+d2hpY2ggZG8gbm90IGRl YWwgd2l0aCBleHRlcm5hbCBidWZmZXJzLiBBbSBJIG1pc3Npbmcgc29tZXRoaW5nPwo+PiA+ID4K Pj4gPiA+QXJlIHlvdSBhYmxlIHRvIHNob3cgdGhlIGlzc3VlIG9ubHkgd2l0aCBtYnVmIGZ1bmN0 aW9ucz8gSXQgd291bGQKPj4gPiA+YmUgaGVscGZ1bCB0byB1bmRlcnN0YW5kIHdoYXQgZG9lcyBu b3Qgd29yay4KPj4gPiA+Cj4+ID4gPgo+PiA+ID5UaGFua3MsCj4+ID4gPk9saXZpZXIKPj4gPiA+ Cj4+ID4gT2xpdmVyLCB0aGFuayB5b3UgZm9yIGNvbW1lbnQsIGxldCBtZSBzaG93IHlvdSB3aHkg aXQgZG9lc24ndCB3b3JrIGZvciBteSB1c2UgY2FzZS4gIEluIE9WUyBEUERLLCBWTSB1c2VzIHZo b3N0dXNlcmNsaWVudCB0byBzZW5kIGxhcmdlIHBhY2tldHMgd2hvc2Ugc2l6ZSBpcyBhYm91dCA2 NEsgYmVjYXVzZSB3ZSBlbmFibGVkIFRTTyAmIFVGTywgdGhlc2UgbGFyZ2UgcGFja2V0cyB1c2Ug cnRlX21idWZzIGFsbG9jYXRlZCBieSBEUERLIHZpcnRpb19uZXQgZnVuY3Rpb24gCj4+ID4gdmly dGlvX2Rldl9wa3RtYnVmX2FsbG9jKCkgKGluIGZpbGUgbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9f bmV0LmMuIFBsZWFzZSByZWZlciB0byBbUEFUQ0ggVjEgMy8zXSwgSSBjaGFuZ2VkIGZyZWVfY2Ig YXMgYmVsb3csIHRoZXNlIHBhY2tldHMgdXNlIHRoZSBzYW1lIGFsbG9jYXRlIGZ1bmN0aW9uIGFu ZCB0aGUgc2FtZSBmcmVlX2NiIG5vIG1hdHRlciB0aGV5IGFyZSBUQ1AgcGFja2V0IG9yIFVEUCBw YWNrZXRzLCBpbiBjYXNlIG9mIFZYTEFOIFRTTywgbW9zdCBOSUNzIGNhbid0IHN1cHBvcnQgaW5u ZXIgVURQIGZyYWdtZW50IG9mZmxvYWQsIHNvIE9WUyBEUERLIGhhcyB0byBkbyBpdCBieSBzb2Z0 d2FyZSwgZm9yIFVEUCBjYXNlLCB0aGUgb3JpZ2luYWwgcnRlX21idWYgb25seSBjYW4gYmUgZnJl ZWQgYnkgc2VnbWVudGVkIHJ0ZV9tYnVmcyB3aGljaCBhcmUgb3V0cHV0IHBhY2tldHMgb2YgcnRl X2dzb19zZWdtZW50LCBpLmUuIHRoZSBvcmlnaW5hbCBydGVfbWJ1ZiBvbmx5IGNhbiBmcmVlZCBi eSBmcmVlX2NiLCB5b3UgY2FuIHNlZSwgaXQgZXhwbGljaXRseSBjYWxsZWQgcnRlX3BrdG1idWZf ZnJlZShhcmctPm1idWYpLCB0aGUgY29uZGl0aW9uIHN0YXRlbWVudCAiaWYgKGNhbGxlcl9tICE9 IGFyZy0+bWJ1ZikiIGlzIHRydWUgZm9yIHRoaXMgY2FzZSwgdGhpcyBoYXMgbm8gcHJvYmxlbSwg YnV0IGZvciBUQ1AgY2FzZSwgdGhlIG9yaWdpbmFsIG1idWYgaXMgZGVsaXZlcmVkIHRvIHJ0ZV9l dGhfdHhfYnVyc3QoKSBidXQgbm90IHNlZ21lbnRlZCBydGVfbWJ1ZnMgb3V0cHV0IGJ5IHJ0ZV9n c29fc2VnbWVudCwgUE1EIGRyaXZlciB3aWxsIGNhbGwgcnRlX3BrdG1idWZfZnJlZShvcmlnaW5h bF9ydGVfbWJ1ZikgYnV0IG5vdCBydGVfcGt0bWJ1Zl9mcmVlKHNlZ21lbnRlZF9ydGVfbWJ1ZnMp LCB0aGUgc2FtZSBmcmVlX2NiIHdpbGwgYmUgY2FsbGVkLCB0aGF0IG1lYW5zIG9yaWdpbmFsX3J0 ZV9tYnVmIHdpbGwgYmUgZnJlZWQgdHdpY2UsIHlvdSBrbm93IHdoYXQgd2lsbCBoYXBwZW4sIHRo aXMgaXMganVzdCB0aGUgaXNzdWUgSSdtIGZpeGluZy4gSSBicmluZyBpbiBjYWxsZXJfbSBhcmd1 bWVudCwgaXQgY2FuIGhlbHAgd29yayBhcm91bmQgdGhpcyBiZWNhdXNlIGNhbGxlcl9tIGlzIGFy Zy0+bWJ1ZiBhbmQgdGhlIGNvbmRpdGlvbiBzdGF0ZW1lbnQgImlmIChjYWxsZXJfbSAhPSBhcmct Pm1idWYpIiBpcyBmYWxzZSwgeW91IGNhbid0IGZpeCBpdCB3aXRob3V0IHRoZSBjaGFuZ2UgdGhp cyBwYXRjaCBzZXJpZXMgZGlkLgo+PiAKPj4gSSdtIHNpbGwgbm90IHN1cmUgdG8gZ2V0IHlvdXIg aXNzdWUuIFBsZWFzZSwgaWYgeW91IGhhdmUgYSBzaW1wbGUgdGVzdAo+PiBjYXNlIHVzaW5nIG9u bHkgbWJ1ZnMgZnVuY3Rpb25zICh3aXRob3V0IHZpcnRpbywgZ3NvLCAuLi4pLCBpdCB3b3VsZCBi ZQo+PiB2ZXJ5IGhlbHBmdWwgYmVjYXVzZSB3ZSB3aWxsIGJlIHN1cmUgdGhhdCB3ZSBhcmUgdGFs a2luZyBhYm91dCB0aGUgc2FtZQo+PiB0aGluZy4gSW4gY2FzZSB0aGVyZSBpcyBhbiBpc3N1ZSwg aXQgY2FuIGVhc2lseSBiZWNvbWUgYSB1bml0IHRlc3QuCj4+IAo+PiBUaGF0IHNhaWQsIEkgbG9v a2VkIGF0IHZob3N0IG1idWYgYWxsb2NhdGlvbiBhbmQgZ3NvIHNlZ21lbnRhdGlvbiwgYW5kCj4+ IEkgZm91bmQgc29tZSBzdHJhbmdlIHRoaW5nczoKPj4gCj4+IDEvIEluIHZpcnRpb19kZXZfZXh0 YnVmX2FsbG9jKCksIGFuZCBJIHRoZXJlIGFyZSAyIHBhdGhzIHRvIGNyZWF0ZSB0aGUKPj4gICAg ZXh0IG1idWYuCj4+IAo+PiAgICBhLyBUaGUgZmlyc3Qgb25lIHN0b3JlcyB0aGUgc2hpbmZvIHN0 cnVjdCBpbiB0aGUgbWJ1ZiwgYmFzaWNhbGx5Cj4+ICAgICAgIGxpa2UgdGhpczoKPj4gCj4+IAlw a3QgPSBydGVfcGt0bWJ1Zl9hbGxvYyhtcCk7Cj4+IAlzaGluZm8gPSBydGVfcGt0bWJ1Zl9tdG9k KHBrdCwgc3RydWN0IHJ0ZV9tYnVmX2V4dF9zaGFyZWRfaW5mbyAqKTsKPj4gCWJ1ZiA9IHJ0ZV9t YWxsb2MoTlVMTCwgYnVmX2xlbiwgUlRFX0NBQ0hFX0xJTkVfU0laRSk7Cj4+IAlzaGluZm8tPmZy ZWVfY2IgPSB2aXJ0aW9fZGV2X2V4dGJ1Zl9mcmVlOwo+PiAJc2hpbmZvLT5mY2Jfb3BhcXVlID0g YnVmOwo+PiAJcnRlX21idWZfZXh0X3JlZmNudF9zZXQoc2hpbmZvLCAxKTsKPj4gCj4+ICAgICAg IEkgZG9uJ3QgdGhpbmsgaXQgaXMgYSBnb29kIGlkZWEsIGJlY2F1c2UgdGhlcmUgaXMgbm8gZ3Vh cmFudGVlIHRoYXQKPj4gICAgICAgdGhlIG1idWYgd29uJ3QgYmUgZnJlZWQgYmVmb3JlIHRoZSBi dWZmZXIuIEZvciBpbnN0YW5jZSwgZG9pbmcKPj4gICAgICAgdGhpcyB3aWxsIHByb2JhYmx5IGZh aWw6Cj4+IAo+PiAJcGt0MiA9IHJ0ZV9wa3RtYnVmX2FsbG9jKG1wKTsKPj4gCXJ0ZV9wa3RtYnVm X2F0dGFjaChwa3QyLCBwa3QpOwo+PiAJcnRlX3BrdG1idWZfZnJlZShwa3QpOyAgLyogcGt0IGlz IGZyZWVkLCBidXQgaXQgY29udGFpbnMgc2hpbmZvICEgKi8KPj4gCj4+ICAgICAgIFRvIGRvIHRo aXMgcHJvcGVybHksIHRoZSBtYnVmIHJlZmNudCBzaG91bGQgYmUgaW5jcmVhc2VkLCBhbmQKPj4g ICAgICAgdGhlIG1idWYgc2hvdWxkIGJlIGZyZWVkIGluIHRoZSBjYWxsYmFjay4gQnV0IEkgZG9u J3QgdGhpbmsgaXQncwo+PiAgICAgICB3b3J0aCBkb2luZyBpdCwgZ2l2ZW4gdGhlIHNlY29uZCBw YXRoIChiLykgbG9va3MgZ29vZCB0byBtZS4KPj4gCj4+ICAgIGIvIFRoZSBzZWNvbmQgcGF0aCBz dG9yZXMgdGhlIHNoaW5mbyBzdHJ1Y3QgYXQgdGhlIGVuZCBvZiB0aGUKPj4gICAgICAgYWxsb2Nh dGVkIGJ1ZmZlciwgbGlrZSB0aGlzOgo+PiAKPj4gCXBrdCA9IHJ0ZV9wa3RtYnVmX2FsbG9jKG1w KTsKPj4gCWJ1Zl9sZW4gKz0gc2l6ZW9mKCpzaGluZm8pICsgc2l6ZW9mKHVpbnRwdHJfdCk7Cj4+ IAlidWZfbGVuID0gUlRFX0FMSUdOX0NFSUwodG90YWxfbGVuLCBzaXplb2YodWludHB0cl90KSk7 Cj4+IAlidWYgPSBydGVfbWFsbG9jKE5VTEwsIGJ1Zl9sZW4sIFJURV9DQUNIRV9MSU5FX1NJWkUp Owo+PiAJc2hpbmZvID0gcnRlX3BrdG1idWZfZXh0X3NoaW5mb19pbml0X2hlbHBlcihidWYsICZi dWZfbGVuLAo+PiAJCQkJCSAgICAgIHZpcnRpb19kZXZfZXh0YnVmX2ZyZWUsIGJ1Zik7Cj4+IAo+ PiAgICAgICBJIHRoaW5rIHRoaXMgaXMgY29ycmVjdCwgYmVjYXVzZSB3ZSBoYXZlIHRoZSBndWFy YW50ZWUgdGhhdCBzaGluZm8KPj4gICAgICAgZXhpc3RzIGFzIGxvbmcgYXMgdGhlIGJ1ZmZlciBl eGlzdHMuCj4+IAo+PiAyLyBpbiBydGVfZ3NvX3NlZ21lbnQoKSwgdGhlcmUgaXMgYSBsb29wIGxp a2UgdGhpczoKPj4gCj4+IAl3aGlsZSAocGt0X3NlZykgewo+PiAJCXJ0ZV9tYnVmX3JlZmNudF91 cGRhdGUocGt0X3NlZywgLTEpOwo+PiAJCXBrdF9zZWcgPSBwa3Rfc2VnLT5uZXh0Owo+PiAJfQo+ PiAKPj4gICAgWW91IGNoYW5nZSBpdCB0byB0YWtlIGluIGFjY291bnQgdGhlIHJlZmNudCBmb3Ig ZXh0IG1idWZzLgo+PiAKPj4gICAgSSBtYXkgaGF2ZSBtaXNzZWQgc29tZXRoaW5nIGJ1dCBJIHdv bmRlciB3aHkgaXQgaXMgbm90IHNpbXBseToKPj4gCj4+IAlydGVfcGt0bWJ1Zl9mcmVlKHBrdF9z ZWcpOwo+Cj5IZXJlLCBJIG1lYW4gcnRlX3BrdG1idWZfZnJlZShwa3QpCj4ob25lIGZyZWUoKSBj YWxsIGZvciB0aGUgbWJ1ZiBjaGFpbiwgbm90IG9uZSBwZXIgc2VnbWVudCkKCk9saXZlciwgd2hh dCBydGVfZ3NvX3NlZ21lbnQgZG9lcyBkbyBoZXJlIGlzIGp1c3QgdG8gZGVjcmVhc2UgcmVmY250 IGJ5IG9uZSBpbiBvcmRlciB0aGF0Cmxhc3Qgc2VnbWVudGVkIG1idWYgZnJlZSBjYW4gdHJpZ2dl ciBmcmVlX2NiIGNhbGwsIGl0IGlzIG9ubHkgb25lIGdvYWwgb2YgdGhlIGNvZGUgaGVyZSwKcnRl X2dzb19zZWdtZW50IGp1c3Qgc2VnbWVudHMgYSBsYXJnZSBtYnVmIHRvIG11bHRpcGxlIHNtYWxs IG1idWZzLCBpdCB3b24ndCBoYW5kbGUgYW55dGhpbmcKZWxzZS4K