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 35D45425D1; Mon, 18 Sep 2023 14:45:58 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0ADEB4025D; Mon, 18 Sep 2023 14:45:58 +0200 (CEST) Received: from m13109.mail.163.com (m13109.mail.163.com [220.181.13.109]) by mails.dpdk.org (Postfix) with ESMTP id 2D22F4025C; Mon, 18 Sep 2023 14:45:54 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=Date:From:Subject:Content-Type:MIME-Version: Message-ID; bh=9M1W7Ej7BkAcaEYzX42LPJ5kIsRE62zJxXct9BJcgEM=; b=R Ff0HhMGLG77U4Ydo3RKhv1/BWdLBhe++GBinNRrG1slP98E/wBkropRkpbwRxehd N6lcHRyO/9Uhrr00C1teux4dA2VVH6Xn+/iL37J6BxmbdQz4FDFfUngtr6vVk5+D EH7qNjIux7upOptckz9nnH4sES/ierk/X6PNVeLsAo= Received: from taozj888$163.com ( [49.76.25.150] ) by ajax-webmail-wmsvr109 (Coremail) ; Mon, 18 Sep 2023 20:45:50 +0800 (CST) X-Originating-IP: [49.76.25.150] Date: Mon, 18 Sep 2023 20:45:50 +0800 (CST) From: taozj888 To: "Konstantin Ananyev" Cc: dev@dpdk.org, thomas@monjalon.net, stable@dpdk.org Subject: Re:Re: [PATCH v1] examples/l3fwd: relax the RSS/Offload requirement X-Priority: 3 X-Mailer: Coremail Webmail Server Version XT5.0.14 build 20230109(dcb5de15) Copyright (c) 2002-2023 www.mailtech.cn 163com In-Reply-To: References: <20230903040111.126695-1-taozj888@163.com> X-NTES-SC: AL_QuySB/yfvkku5iWfY+kfm04VhOY+XcG1vPoi1Y5XPZ14jDvm9AcRb1RoJkvb+u2EECWVrDO8QTVs89t+RpB9bpkbEk9iDFJ3N5zA89NdyPsUWg== Content-Type: multipart/alternative; boundary="----=_Part_118111_1188777157.1695041150580" MIME-Version: 1.0 Message-ID: <510dd6ff.7c7c.18aa8535e75.Coremail.taozj888@163.com> X-Coremail-Locale: zh_CN X-CM-TRANSID: bcGowACnr49+RghlbXMHAA--.46177W X-CM-SenderInfo: hwdr6yqyyyqiywtou0bp/1tbiSA-ux1+Fh-Z5mwAFsi X-Coremail-Antispam: 1U5529EdanIXcx71UUUUU7vcSsGvfC2KfnxnUU== 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 ------=_Part_118111_1188777157.1695041150580 Content-Type: text/plain; charset=GBK Content-Transfer-Encoding: base64 SGkgS29uc3RhbnRpbjoKCgoKClBsZWFzZSBzZWUgbXkgY29tbWVudHMgaW5saW5lLgpUaGFua3Mu CgoKVHJldm9yIAoKQXQgMjAyMy0wOS0xOCAwMjowNDoxOSwgIktvbnN0YW50aW4gQW5hbnlldiIg PGtvbnN0YW50aW4udi5hbmFueWV2QHlhbmRleC5ydT4gd3JvdGU6Cj4wMy8wOS8yMDIzIDA1OjAx LCBUcmV2b3IgVGFvIKfhp9qn6qfWp+Q6Cj4+IE5vdyB0aGUgcG9ydCBSeCBtcV9tb2RlIGhhZCBi ZWVuIHNldCB0byBSVEVfRVRIX01RX1JYX1JTUywgYW5kIG9mZmxvYWQKPj4gbW9kZSBzZXQgdG8g UlRFX0VUSF9SWF9PRkZMT0FEX0NIRUNLU1VNIGJ5IGRlZmF1bHQsIGJ1dCBzb21lIGhhcmR3YXJl Cj4+IGFuZC9vciB2aXJ0dWFsIGludGVyZmFjZSBkb2VzIG5vdCBzdXBwb3J0IHRoZSBSU1MgYW5k IG9mZmxvYWQgbW9kZQo+PiBwcmVzdXBwb3NlZCwgZS5nLiwgc29tZSB2aXJ0aW8gaW50ZXJmYWNl cyBpbiB0aGUgY2xvdWQgZG9uJ3Qgc3VwcG9ydAo+PiBSU1MgYW5kIG1heSBvbmx5IHBhcnRseSBz dXBwb3J0IFJURV9FVEhfUlhfT0ZGTE9BRF9VRFBfQ0tTVU0vCj4+IFJURV9FVEhfUlhfT0ZGTE9B RF9UQ1BfQ0tTVU0sCj4+IGJ1dCBub3QgUlRFX0VUSF9SWF9PRkZMT0FEX0lQVjRfQ0tTVU0sIGFu ZCB0aGUgZXJyb3IgbXNnIGhlcmU6Cj4+IAo+PiB2aXJ0aW9fZGV2X2NvbmZpZ3VyZSgpOiBSU1Mg c3VwcG9ydCByZXF1ZXN0ZWQgYnV0IG5vdCBzdXBwb3J0ZWQgYnkKPj4gdGhlIGRldmljZQo+PiBQ b3J0MCBkZXZfY29uZmlndXJlID0gLTk1Cj4+IAo+PiBhbmQ6Cj4+IEV0aGRldiBwb3J0X2lkPTAg cmVxdWVzdGVkIFJ4IG9mZmxvYWRzIDB4ZSBkb2VzIG5vdCBtYXRjaCBSeCBvZmZsb2Fkcwo+PiBj YXBhYmlsaXRpZXMgMHgyMDFkIGluIHJ0ZV9ldGhfZGV2X2NvbmZpZ3VyZSgpCj4+IAo+PiBTbyB0 byBlbmFibGUgdGhlIGwzZndkIHJ1bm5pbmcgaW4gdGhhdCBlbnZpcm9ubWVudCwgdGhlIFJ4IG1v ZGUgcmVxdWlyZW1lbnQKPj4gY2FuIGJlIHJlbGF4ZWQgdG8gcmVmbGVjdCB0aGUgaGFyZHdhcmUg ZmVhdHVyZSByZWFsaXR5IGhlcmUsIGFuZCB0aGUgbDNmd2QKPj4gY2FuIHJ1biBzbW9vdGhseSB0 aGVuLgo+PiBBIHdhcm5pbmcgbXNnIHdvdWxkIGJlIHByb3ZpZGVkIHRvIHVzZXIgaW4gY2FzZSBp dCBoYXBwZW5zIGhlcmUuCj4+IAo+PiBPbiB0aGUgb3RoZXIgc2lkZSwgZW5hYmxpbmcgdGhlIHNv ZnR3YXJlIGNrc3VtIGNoZWNrIGluIGNhc2UgdGhlCj4+IGh3IHN1cHBvcnQgbWlzc2luZy4KPj4g Cj4+IEZpeGVzOiBhZjc1MDc4ZmVjZTMgKCJmaXJzdCBwdWJsaWMgcmVsZWFzZSIpCj4+IENjOiBz dGFibGVAZHBkay5vcmcKPgo+SSBkb24ndCB0aGluayB0aGVyZSB3YXMgYWJ1ZyBoZXJlLgo+V2Ug YXJlIHRhbGtpbmcgYWJvdXQgY2hhbmdpbmcgY3VycmVudCByZXF1aXJlbWVudHMgZm9yIHRoZSBh cHAuCj5TbyBub3Qgc3VyZSBpdCBpcyBhIHJlYWwgZml4IGFuZCB0aGF0IHN1Y2ggY2hhbmdlIGNh biBiZQoKPnByb3BhZ2F0ZWQgdG8gc3RhYmxlIHJlbGVhc2VzLgpUcmV2b3I6IEkgdGhpbmsgaXQn cyBub3QgYSBidWcgZml4IGJ1dCBhIGZlYXR1cmUgZW5oYW5jZW1lbnQsIGl0IHdvdWxkIGVuYWJs ZSBsM2Z3ZCB0byB3b3JrIHNtb290aGx5IG9uIHRoZSBIVy92aXJ0dWFsIGludGVyZmFjZXMgd2hp Y2ggZG9uJ3Qgc3VwcG9ydCBSU1MgYW5kL29yIGNrc3VtIG9mZmxvYWRpbmcuCgoKPgo+PiAKPj4g U2lnbmVkLW9mZi1ieTogVHJldm9yIFRhbyA8dGFvemo4ODhAMTYzLmNvbT4KPj4gLS0tCj4+ICAg ZXhhbXBsZXMvbDNmd2QvbDNmd2QuaCB8IDEyICsrKysrKysrKysrLQo+PiAgIGV4YW1wbGVzL2wz ZndkL21haW4uYyAgfCAyMSArKysrKysrKysrKysrKysrKysrLS0KPj4gICAyIGZpbGVzIGNoYW5n ZWQsIDMwIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCj4+IAo+PiBkaWZmIC0tZ2l0IGEv ZXhhbXBsZXMvbDNmd2QvbDNmd2QuaCBiL2V4YW1wbGVzL2wzZndkL2wzZndkLmgKPj4gaW5kZXgg YjU1ODU1YzkzMi4uY2MxMDY0M2M0YiAxMDA2NDQKPj4gLS0tIGEvZXhhbXBsZXMvbDNmd2QvbDNm d2QuaAo+PiArKysgYi9leGFtcGxlcy9sM2Z3ZC9sM2Z3ZC5oCj4+IEBAIC0xMTUsNiArMTE1LDgg QEAgZXh0ZXJuIHN0cnVjdCBhY2xfYWxnb3JpdGhtcyBhY2xfYWxnW107Cj4+ICAgCj4+ICAgZXh0 ZXJuIHVpbnQzMl90IG1heF9wa3RfbGVuOwo+PiAgIAo+PiArZXh0ZXJuIHN0cnVjdCBydGVfZXRo X2NvbmYgcG9ydF9jb25mOwo+PiArCj4+ICAgLyogU2VuZCBidXJzdCBvZiBwYWNrZXRzIG9uIGFu IG91dHB1dCBpbnRlcmZhY2UgKi8KPj4gICBzdGF0aWMgaW5saW5lIGludAo+PiAgIHNlbmRfYnVy c3Qoc3RydWN0IGxjb3JlX2NvbmYgKnFjb25mLCB1aW50MTZfdCBuLCB1aW50MTZfdCBwb3J0KQo+ PiBAQCAtMTcwLDcgKzE3MiwxNSBAQCBpc192YWxpZF9pcHY0X3BrdChzdHJ1Y3QgcnRlX2lwdjRf aGRyICpwa3QsIHVpbnQzMl90IGxpbmtfbGVuKQo+PiAgIAkJcmV0dXJuIC0xOwo+PiAgIAo+PiAg IAkvKiAyLiBUaGUgSVAgY2hlY2tzdW0gbXVzdCBiZSBjb3JyZWN0LiAqLwo+PiAtCS8qIHRoaXMg aXMgY2hlY2tlZCBpbiBIL1cgKi8KPj4gKwkvKiBpZiB0aGlzIGlzIG5vdCBjaGVja2VkIGluIEgv VywgY2hlY2sgaXQuICovCj4+ICsJaWYgKChwb3J0X2NvbmYucnhtb2RlLm9mZmxvYWRzICYgUlRF X0VUSF9SWF9PRkZMT0FEX0lQVjRfQ0tTVU0pID09IDApIHsKPgo+TWlnaHQgYmUgYmV0dGVyIHRv IGNoZWNrIHBhcnRpY3VsYXIgbWJ1ZiBmbGFnOgo+aWYgKChtYnVmLT5vbF9mbGFncyAmIFJURV9N QlVGX0ZfUlhfSVBfQ0tTVU1fTUFTSykgPT0gCgo+VEVfTUJVRl9GX1JYX0lQX0NLU1VNX1VOS05P V04pIHsuLi59ClRyZXZvcjogdGhlIHV0aWxpdHkgZnVuY3Rpb24gaXNfdmFsaWRfaXB2NF9wa3Qg aXMganVzdCBhZ2FpbnN0IGFuIElQdjQgcGt0LCBhbmQgdGhlcmUncyBubyBtYnVmIGluZm9ybWF0 aW9uLCBhbmQgaWYgbmVlZGVkLCB0aGVyZSB3b3VsZCBiZSBhbiBleHRyYSBvbF9mbGFncyBhZGRl ZCBoZXJlIHRvIGNoZWNrIGlmIGl0IHdhcyBhbHJlYWR5IGRvbmUgYnkgdGhlIGV0aGVybmV0IGRl dmljZSwgYnV0IGxvb2sgZm9yIGEgc2FtcGxlIGluOgpodHRwczovL2dpdGh1Yi5jb20vRFBESy9k cGRrL2Jsb2IvbWFpbi9leGFtcGxlcy9sM2Z3ZC1wb3dlci9tYWluLmMjTDQ4NwpzbyBJIHRoaW5r IGl0J3Mgb2sgdG8ganVzdCB1c2UgdGhlIHBvcnRfY29uZiBoZXJlLiBJZiB5b3Ugc3RpbGwgdGhp bmsgaXQncyBiZXR0ZXIgdG8gdXNlIG0tPm9sX2ZsYWdzLCBwbGVhc2UgdGVsbCBtZS4KPgo+PiAr CQl1aW50MTZfdCBhY3R1YWxfY2tzdW0sIGV4cGVjdGVkX2Nrc3VtOwo+PiArCQlhY3R1YWxfY2tz dW0gPSBwa3QtPmhkcl9jaGVja3N1bTsKPj4gKwkJcGt0LT5oZHJfY2hlY2tzdW0gPSAwOwo+PiAr CQlleHBlY3RlZF9ja3N1bSA9IHJ0ZV9pcHY0X2Nrc3VtKHBrdCk7Cj4+ICsJCWlmIChhY3R1YWxf Y2tzdW0gIT0gZXhwZWN0ZWRfY2tzdW0pCj4+ICsJCQlyZXR1cm4gLTI7Cj4+ICsJfQo+PiAgIAo+ PiAgIAkvKgo+PiAgIAkgKiAzLiBUaGUgSVAgdmVyc2lvbiBudW1iZXIgbXVzdCBiZSA0LiBJZiB0 aGUgdmVyc2lvbiBudW1iZXIgaXMgbm90IDQKPj4gZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2wzZndk L21haW4uYyBiL2V4YW1wbGVzL2wzZndkL21haW4uYwo+PiBpbmRleCA2MDYzZWIxMzk5Li4zN2Fl YzY0NzE4IDEwMDY0NAo+PiAtLS0gYS9leGFtcGxlcy9sM2Z3ZC9tYWluLmMKPj4gKysrIGIvZXhh bXBsZXMvbDNmd2QvbWFpbi5jCj4+IEBAIC0xMTcsNyArMTE3LDcgQEAgc3RhdGljIHN0cnVjdCBs Y29yZV9wYXJhbXMgKiBsY29yZV9wYXJhbXMgPSBsY29yZV9wYXJhbXNfYXJyYXlfZGVmYXVsdDsK Pj4gICBzdGF0aWMgdWludDE2X3QgbmJfbGNvcmVfcGFyYW1zID0gc2l6ZW9mKGxjb3JlX3BhcmFt c19hcnJheV9kZWZhdWx0KSAvCj4+ICAgCQkJCXNpemVvZihsY29yZV9wYXJhbXNfYXJyYXlfZGVm YXVsdFswXSk7Cj4+ICAgCj4+IC1zdGF0aWMgc3RydWN0IHJ0ZV9ldGhfY29uZiBwb3J0X2NvbmYg PSB7Cj4+ICtzdHJ1Y3QgcnRlX2V0aF9jb25mIHBvcnRfY29uZiA9IHsKPj4gICAJLnJ4bW9kZSA9 IHsKPj4gICAJCS5tcV9tb2RlID0gUlRFX0VUSF9NUV9SWF9SU1MsCj4+ICAgCQkub2ZmbG9hZHMg PSBSVEVfRVRIX1JYX09GRkxPQURfQ0hFQ0tTVU0sCj4+IEBAIC0xMjU3LDggKzEyNTcsMTIgQEAg bDNmd2RfcG9sbF9yZXNvdXJjZV9zZXR1cCh2b2lkKQo+PiAgIAkJbG9jYWxfcG9ydF9jb25mLnJ4 X2Fkdl9jb25mLnJzc19jb25mLnJzc19oZiAmPQo+PiAgIAkJCWRldl9pbmZvLmZsb3dfdHlwZV9y c3Nfb2ZmbG9hZHM7Cj4+ICAgCj4+IC0JCWlmIChkZXZfaW5mby5tYXhfcnhfcXVldWVzID09IDEp Cj4+ICsJCS8qIHJlbGF4IHRoZSByeCByc3MgcmVxdWlyZW1lbnQgKi8KPj4gKwkJaWYgKGRldl9p bmZvLm1heF9yeF9xdWV1ZXMgPT0gMSB8fCAhbG9jYWxfcG9ydF9jb25mLnJ4X2Fkdl9jb25mLnJz c19jb25mLnJzc19oZikgewo+PiArCQkJcHJpbnRmKCJ3YXJuaW5nOiBtb2RpZmllZCB0aGUgcngg bXFfbW9kZSB0byBSVEVfRVRIX01RX1JYX05PTkUgYmFzZSBvbiIKPj4gKwkJCQkiIGRldmljZSBj YXBhYmlsaXR5XG4iKTsKPj4gICAJCQlsb2NhbF9wb3J0X2NvbmYucnhtb2RlLm1xX21vZGUgPSBS VEVfRVRIX01RX1JYX05PTkU7Cj4KPlNob3VsZCB3ZSBwcm9iYWJseSBpbnN0ZWFkIGhhdmUgYSBu ZXcgY29tbW5hZC1saW5lIG9wdGlvbiB0byBleHBsaWNpdGx5IAo+ZGlzYWJsZSBSU1M/Cgo+U29t ZXRoaW5nIGxpa2U6ICctLW5vLXJzcycgb3Igc28/ClRyZXZvcjogdGhlIFJTUyBjYXBhYmlsaXR5 IGZvciBhIGNlcnRhaW4gcG9ydCB3YXMgZ290IGJ5IHRoZSBydGVfZXRoX2Rldl9pbmZvX2dldCgp IGF1dG9tYXRpY2FsbHksIGFuZCB3ZSB0aGluayB0aGUgdXNlciBzaG91bGQgbm90IGNhcmUgYWJv dXQgaXRzIHN0YXR1cyBiZWZvcmVoYW5kLCBidXQgaWYgaXQncyBtaXNzaW5nLCBhIHdhcm5pbmcg bm90aWZpY2F0aW9uIGZvciB0aGUgZGVncmFkZSBoZXJlIHdvdWxkIGJlIHByb3Bvc2VkIHRvIG1h a2UgaXQgcnVuIHNtb290aGx5Lgo+Cj4+ICsJCX0KPj4gICAKPj4gICAJCWlmIChsb2NhbF9wb3J0 X2NvbmYucnhfYWR2X2NvbmYucnNzX2NvbmYucnNzX2hmICE9Cj4+ICAgCQkJCXBvcnRfY29uZi5y eF9hZHZfY29uZi5yc3NfY29uZi5yc3NfaGYpIHsKPj4gQEAgLTEyNjksNiArMTI3MywxOSBAQCBs M2Z3ZF9wb2xsX3Jlc291cmNlX3NldHVwKHZvaWQpCj4+ICAgCQkJCWxvY2FsX3BvcnRfY29uZi5y eF9hZHZfY29uZi5yc3NfY29uZi5yc3NfaGYpOwo+PiAgIAkJfQo+PiAgIAo+PiArCQkvKiByZWxh eCB0aGUgcnggb2ZmbG9hZCByZXF1aXJlbWVudCAqLwo+PiArCQlpZiAoKGxvY2FsX3BvcnRfY29u Zi5yeG1vZGUub2ZmbG9hZHMgJiBkZXZfaW5mby5yeF9vZmZsb2FkX2NhcGEpICE9Cj4+ICsJCQls b2NhbF9wb3J0X2NvbmYucnhtb2RlLm9mZmxvYWRzKSB7Cj4+ICsJCQlwcmludGYoIlBvcnQgJXUg cmVxdWVzdGVkIFJ4IG9mZmxvYWRzIDB4JSJQUkl4NjQiIGRvZXMgbm90Igo+PiArCQkJCSIgbWF0 Y2ggUnggb2ZmbG9hZHMgY2FwYWJpbGl0aWVzIDB4JSJQUkl4NjQiXG4iLAo+PiArCQkJCXBvcnRp ZCwgbG9jYWxfcG9ydF9jb25mLnJ4bW9kZS5vZmZsb2FkcywKPj4gKwkJCQlkZXZfaW5mby5yeF9v ZmZsb2FkX2NhcGEpOwo+PiArCQkJbG9jYWxfcG9ydF9jb25mLnJ4bW9kZS5vZmZsb2FkcyAmPSBk ZXZfaW5mby5yeF9vZmZsb2FkX2NhcGE7Cj4+ICsJCQlwb3J0X2NvbmYucnhtb2RlLm9mZmxvYWRz ID0gbG9jYWxfcG9ydF9jb25mLnJ4bW9kZS5vZmZsb2FkczsKPgo+V2h5IHRvIHJlbW92ZSBvZmZs b2FkcyBpbiBwb3J0X2NvbmY/Cj5UaGVyZSBjb3VsZCBiZSBtdWx0aXBsZSBwb3J0cywgYW5kIG9u IG90aGVycyBkZXNpcmVkIEhXIG9mZmxvYWRzIG1pZ2h0IAoKPmJlIHN1cHBvcnRlZC4KVHJldm9y OiBZZXMsIHRoZXJlIHdvdWxkIGJlIG11bHRpcGxlIHBvcnRzLCBzbyBpZiBvbmUgb2YgdGhlIHBv cnRzIGxhY2sgSFcgb2ZmbG9hZCwgaXQgd291bGQgYmUgb2sgdG8ganVzdCB1c2UgdGhlIHJlbGF4 ZWQgcmVxdWlyZW1lbnQgaGVyZSwgbGlrZSB3ZSBwcmV2aW91c2x5IHRhbGtlZCBpbiBodHRwczov L2dpdGh1Yi5jb20vRFBESy9kcGRrL2Jsb2IvbWFpbi9leGFtcGxlcy9sM2Z3ZC1wb3dlci9tYWlu LmMjTDQ4NywgaWYgeW91IHN0aWxsIHRoaW5rIGl0J3MgbmVlZGVkIHRvIHVzZSB0aGUgcGVyLXBv cnQgY2FzZSwgaXQgd291bGQgYmUgb2sgdG8gdXNlIHRoZSBvbF9mbGFncyBhcyB0YWxrZWQgcHJl dmlvdXNseS4KPgo+PiArCQkJcHJpbnRmKCJ3YXJuaW5nOiBtb2RpZmllZCB0aGUgcnggb2ZmbG9h ZCB0byAweCUiUFJJeDY0IiBiYXNlZCBvbiBkZXZpY2UiCj4+ICsJCQkJIiBjYXBhYmlsaXR5XG4i LCBsb2NhbF9wb3J0X2NvbmYucnhtb2RlLm9mZmxvYWRzKTsKPj4gKwkJfQo+PiArCj4+ICAgCQly ZXQgPSBydGVfZXRoX2Rldl9jb25maWd1cmUocG9ydGlkLCBuYl9yeF9xdWV1ZSwKPj4gICAJCQkJ CSh1aW50MTZfdCluX3R4X3F1ZXVlLCAmbG9jYWxfcG9ydF9jb25mKTsKPj4gICAJCWlmIChyZXQg PCAwKQo= ------=_Part_118111_1188777157.1695041150580 Content-Type: text/html; charset=GBK Content-Transfer-Encoding: base64 PGRpdiBzdHlsZT0ibGluZS1oZWlnaHQ6MS43O2NvbG9yOiMwMDAwMDA7Zm9udC1zaXplOjE0cHg7 Zm9udC1mYW1pbHk6QXJpYWwiPjxwIHN0eWxlPSJtYXJnaW46IDA7Ij5IaSBLb25zdGFudGluOjwv cD48cCBzdHlsZT0ibWFyZ2luOiAwOyI+PGJyPjwvcD48ZGl2IHN0eWxlPSJwb3NpdGlvbjpyZWxh dGl2ZTt6b29tOjEiPjwvZGl2PjxkaXYgaWQ9ImRpdk5ldGVhc2VNYWlsQ2FyZCI+PC9kaXY+PGRp diBzdHlsZT0ibWFyZ2luOiAwOyI+UGxlYXNlIHNlZSBteSBjb21tZW50cyA8Yj5pbmxpbmU8L2I+ LjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbjogMDsiPlRoYW5rcy48L2Rpdj48ZGl2IHN0eWxlPSJt YXJnaW46IDA7Ij48YnI+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luOiAwOyI+VHJldm9yJm5ic3A7 PC9kaXY+PHByZT48YnI+QXQgMjAyMy0wOS0xOCAwMjowNDoxOSwgIktvbnN0YW50aW4gQW5hbnll diIgJmx0O2tvbnN0YW50aW4udi5hbmFueWV2QHlhbmRleC5ydSZndDsgd3JvdGU6CiZndDswMy8w OS8yMDIzIDA1OjAxLCBUcmV2b3IgVGFvIKfhp9qn6qfWp+Q6CiZndDsmZ3Q7IE5vdyB0aGUgcG9y dCBSeCBtcV9tb2RlIGhhZCBiZWVuIHNldCB0byBSVEVfRVRIX01RX1JYX1JTUywgYW5kIG9mZmxv YWQKJmd0OyZndDsgbW9kZSBzZXQgdG8gUlRFX0VUSF9SWF9PRkZMT0FEX0NIRUNLU1VNIGJ5IGRl ZmF1bHQsIGJ1dCBzb21lIGhhcmR3YXJlCiZndDsmZ3Q7IGFuZC9vciB2aXJ0dWFsIGludGVyZmFj ZSBkb2VzIG5vdCBzdXBwb3J0IHRoZSBSU1MgYW5kIG9mZmxvYWQgbW9kZQomZ3Q7Jmd0OyBwcmVz dXBwb3NlZCwgZS5nLiwgc29tZSB2aXJ0aW8gaW50ZXJmYWNlcyBpbiB0aGUgY2xvdWQgZG9uJ3Qg c3VwcG9ydAomZ3Q7Jmd0OyBSU1MgYW5kIG1heSBvbmx5IHBhcnRseSBzdXBwb3J0IFJURV9FVEhf UlhfT0ZGTE9BRF9VRFBfQ0tTVU0vCiZndDsmZ3Q7IFJURV9FVEhfUlhfT0ZGTE9BRF9UQ1BfQ0tT VU0sCiZndDsmZ3Q7IGJ1dCBub3QgUlRFX0VUSF9SWF9PRkZMT0FEX0lQVjRfQ0tTVU0sIGFuZCB0 aGUgZXJyb3IgbXNnIGhlcmU6CiZndDsmZ3Q7IAomZ3Q7Jmd0OyB2aXJ0aW9fZGV2X2NvbmZpZ3Vy ZSgpOiBSU1Mgc3VwcG9ydCByZXF1ZXN0ZWQgYnV0IG5vdCBzdXBwb3J0ZWQgYnkKJmd0OyZndDsg dGhlIGRldmljZQomZ3Q7Jmd0OyBQb3J0MCBkZXZfY29uZmlndXJlID0gLTk1CiZndDsmZ3Q7IAom Z3Q7Jmd0OyBhbmQ6CiZndDsmZ3Q7IEV0aGRldiBwb3J0X2lkPTAgcmVxdWVzdGVkIFJ4IG9mZmxv YWRzIDB4ZSBkb2VzIG5vdCBtYXRjaCBSeCBvZmZsb2FkcwomZ3Q7Jmd0OyBjYXBhYmlsaXRpZXMg MHgyMDFkIGluIHJ0ZV9ldGhfZGV2X2NvbmZpZ3VyZSgpCiZndDsmZ3Q7IAomZ3Q7Jmd0OyBTbyB0 byBlbmFibGUgdGhlIGwzZndkIHJ1bm5pbmcgaW4gdGhhdCBlbnZpcm9ubWVudCwgdGhlIFJ4IG1v ZGUgcmVxdWlyZW1lbnQKJmd0OyZndDsgY2FuIGJlIHJlbGF4ZWQgdG8gcmVmbGVjdCB0aGUgaGFy ZHdhcmUgZmVhdHVyZSByZWFsaXR5IGhlcmUsIGFuZCB0aGUgbDNmd2QKJmd0OyZndDsgY2FuIHJ1 biBzbW9vdGhseSB0aGVuLgomZ3Q7Jmd0OyBBIHdhcm5pbmcgbXNnIHdvdWxkIGJlIHByb3ZpZGVk IHRvIHVzZXIgaW4gY2FzZSBpdCBoYXBwZW5zIGhlcmUuCiZndDsmZ3Q7IAomZ3Q7Jmd0OyBPbiB0 aGUgb3RoZXIgc2lkZSwgZW5hYmxpbmcgdGhlIHNvZnR3YXJlIGNrc3VtIGNoZWNrIGluIGNhc2Ug dGhlCiZndDsmZ3Q7IGh3IHN1cHBvcnQgbWlzc2luZy4KJmd0OyZndDsgCiZndDsmZ3Q7IEZpeGVz OiBhZjc1MDc4ZmVjZTMgKCJmaXJzdCBwdWJsaWMgcmVsZWFzZSIpCiZndDsmZ3Q7IENjOiBzdGFi bGVAZHBkay5vcmcKJmd0OwomZ3Q7SSBkb24ndCB0aGluayB0aGVyZSB3YXMgYWJ1ZyBoZXJlLgom Z3Q7V2UgYXJlIHRhbGtpbmcgYWJvdXQgY2hhbmdpbmcgY3VycmVudCByZXF1aXJlbWVudHMgZm9y IHRoZSBhcHAuCiZndDtTbyBub3Qgc3VyZSBpdCBpcyBhIHJlYWwgZml4IGFuZCB0aGF0IHN1Y2gg Y2hhbmdlIGNhbiBiZQo8ZGl2PiZndDtwcm9wYWdhdGVkIHRvIHN0YWJsZSByZWxlYXNlcy48L2Rp dj48ZGl2PjxiPlRyZXZvcjogSSB0aGluayBpdCdzIG5vdCBhIGJ1ZyBmaXggYnV0IGEgZmVhdHVy ZSBlbmhhbmNlbWVudCwgaXQgd291bGQgZW5hYmxlIGwzZndkIHRvIHdvcmsgc21vb3RobHkgb24g dGhlIEhXL3ZpcnR1YWwgaW50ZXJmYWNlcyB3aGljaCBkb24ndCBzdXBwb3J0IFJTUyBhbmQvb3Ig Y2tzdW0gb2ZmbG9hZGluZy48L2I+PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj4mZ3Q7PC9kaXY+ Jmd0OyZndDsgCiZndDsmZ3Q7IFNpZ25lZC1vZmYtYnk6IFRyZXZvciBUYW8gJmx0O3Rhb3pqODg4 QDE2My5jb20mZ3Q7CiZndDsmZ3Q7IC0tLQomZ3Q7Jmd0OyAgIGV4YW1wbGVzL2wzZndkL2wzZndk LmggfCAxMiArKysrKysrKysrKy0KJmd0OyZndDsgICBleGFtcGxlcy9sM2Z3ZC9tYWluLmMgIHwg MjEgKysrKysrKysrKysrKysrKysrKy0tCiZndDsmZ3Q7ICAgMiBmaWxlcyBjaGFuZ2VkLCAzMCBp bnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQomZ3Q7Jmd0OyAKJmd0OyZndDsgZGlmZiAtLWdp dCBhL2V4YW1wbGVzL2wzZndkL2wzZndkLmggYi9leGFtcGxlcy9sM2Z3ZC9sM2Z3ZC5oCiZndDsm Z3Q7IGluZGV4IGI1NTg1NWM5MzIuLmNjMTA2NDNjNGIgMTAwNjQ0CiZndDsmZ3Q7IC0tLSBhL2V4 YW1wbGVzL2wzZndkL2wzZndkLmgKJmd0OyZndDsgKysrIGIvZXhhbXBsZXMvbDNmd2QvbDNmd2Qu aAomZ3Q7Jmd0OyBAQCAtMTE1LDYgKzExNSw4IEBAIGV4dGVybiBzdHJ1Y3QgYWNsX2FsZ29yaXRo bXMgYWNsX2FsZ1tdOwomZ3Q7Jmd0OyAgIAomZ3Q7Jmd0OyAgIGV4dGVybiB1aW50MzJfdCBtYXhf cGt0X2xlbjsKJmd0OyZndDsgICAKJmd0OyZndDsgK2V4dGVybiBzdHJ1Y3QgcnRlX2V0aF9jb25m IHBvcnRfY29uZjsKJmd0OyZndDsgKwomZ3Q7Jmd0OyAgIC8qIFNlbmQgYnVyc3Qgb2YgcGFja2V0 cyBvbiBhbiBvdXRwdXQgaW50ZXJmYWNlICovCiZndDsmZ3Q7ICAgc3RhdGljIGlubGluZSBpbnQK Jmd0OyZndDsgICBzZW5kX2J1cnN0KHN0cnVjdCBsY29yZV9jb25mICpxY29uZiwgdWludDE2X3Qg biwgdWludDE2X3QgcG9ydCkKJmd0OyZndDsgQEAgLTE3MCw3ICsxNzIsMTUgQEAgaXNfdmFsaWRf aXB2NF9wa3Qoc3RydWN0IHJ0ZV9pcHY0X2hkciAqcGt0LCB1aW50MzJfdCBsaW5rX2xlbikKJmd0 OyZndDsgICAJCXJldHVybiAtMTsKJmd0OyZndDsgICAKJmd0OyZndDsgICAJLyogMi4gVGhlIElQ IGNoZWNrc3VtIG11c3QgYmUgY29ycmVjdC4gKi8KJmd0OyZndDsgLQkvKiB0aGlzIGlzIGNoZWNr ZWQgaW4gSC9XICovCiZndDsmZ3Q7ICsJLyogaWYgdGhpcyBpcyBub3QgY2hlY2tlZCBpbiBIL1cs IGNoZWNrIGl0LiAqLwomZ3Q7Jmd0OyArCWlmICgocG9ydF9jb25mLnJ4bW9kZS5vZmZsb2FkcyAm YW1wOyBSVEVfRVRIX1JYX09GRkxPQURfSVBWNF9DS1NVTSkgPT0gMCkgewomZ3Q7CiZndDtNaWdo dCBiZSBiZXR0ZXIgdG8gY2hlY2sgcGFydGljdWxhciBtYnVmIGZsYWc6CiZndDtpZiAoKG1idWYt Jmd0O29sX2ZsYWdzICZhbXA7IFJURV9NQlVGX0ZfUlhfSVBfQ0tTVU1fTUFTSykgPT0gCjxkaXY+ Jmd0O1RFX01CVUZfRl9SWF9JUF9DS1NVTV9VTktOT1dOKSB7Li4ufTwvZGl2PjxkaXY+PGI+VHJl dm9yOiB0aGUgdXRpbGl0eSBmdW5jdGlvbiBpc192YWxpZF9pcHY0X3BrdCBpcyBqdXN0IGFnYWlu c3QgYW4gSVB2NCBwa3QsIGFuZCB0aGVyZSdzIG5vIG1idWYgaW5mb3JtYXRpb24sIGFuZCBpZiBu ZWVkZWQsIHRoZXJlIHdvdWxkIGJlIGFuIGV4dHJhIG9sX2ZsYWdzIGFkZGVkIGhlcmUgdG8gY2hl Y2sgaWYgaXQgd2FzIGFscmVhZHkgZG9uZSBieSB0aGUgZXRoZXJuZXQgZGV2aWNlLCBidXQgbG9v ayBmb3IgYSBzYW1wbGUgaW46PC9iPjwvZGl2PjxkaXY+PGI+PGEgaHJlZj0iaHR0cHM6Ly9naXRo dWIuY29tL0RQREsvZHBkay9ibG9iL21haW4vZXhhbXBsZXMvbDNmd2QtcG93ZXIvbWFpbi5jI0w0 ODciIF9zcmM9Imh0dHBzOi8vZ2l0aHViLmNvbS9EUERLL2RwZGsvYmxvYi9tYWluL2V4YW1wbGVz L2wzZndkLXBvd2VyL21haW4uYyNMNDg3Ij5odHRwczovL2dpdGh1Yi5jb20vRFBESy9kcGRrL2Js b2IvbWFpbi9leGFtcGxlcy9sM2Z3ZC1wb3dlci9tYWluLmMjTDQ4NzwvYT48L2I+PC9kaXY+PGRp dj48Yj5zbyBJIHRoaW5rIGl0J3Mgb2sgdG8ganVzdCB1c2UgdGhlIHBvcnRfY29uZiBoZXJlLiBJ ZiB5b3Ugc3RpbGwgdGhpbmsgaXQncyBiZXR0ZXIgdG8gdXNlIG0tJmd0O29sX2ZsYWdzLCBwbGVh c2UgdGVsbCBtZS48L2I+PC9kaXY+Jmd0OwomZ3Q7Jmd0OyArCQl1aW50MTZfdCBhY3R1YWxfY2tz dW0sIGV4cGVjdGVkX2Nrc3VtOwomZ3Q7Jmd0OyArCQlhY3R1YWxfY2tzdW0gPSBwa3QtJmd0O2hk cl9jaGVja3N1bTsKJmd0OyZndDsgKwkJcGt0LSZndDtoZHJfY2hlY2tzdW0gPSAwOwomZ3Q7Jmd0 OyArCQlleHBlY3RlZF9ja3N1bSA9IHJ0ZV9pcHY0X2Nrc3VtKHBrdCk7CiZndDsmZ3Q7ICsJCWlm IChhY3R1YWxfY2tzdW0gIT0gZXhwZWN0ZWRfY2tzdW0pCiZndDsmZ3Q7ICsJCQlyZXR1cm4gLTI7 CiZndDsmZ3Q7ICsJfQomZ3Q7Jmd0OyAgIAomZ3Q7Jmd0OyAgIAkvKgomZ3Q7Jmd0OyAgIAkgKiAz LiBUaGUgSVAgdmVyc2lvbiBudW1iZXIgbXVzdCBiZSA0LiBJZiB0aGUgdmVyc2lvbiBudW1iZXIg aXMgbm90IDQKJmd0OyZndDsgZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2wzZndkL21haW4uYyBiL2V4 YW1wbGVzL2wzZndkL21haW4uYwomZ3Q7Jmd0OyBpbmRleCA2MDYzZWIxMzk5Li4zN2FlYzY0NzE4 IDEwMDY0NAomZ3Q7Jmd0OyAtLS0gYS9leGFtcGxlcy9sM2Z3ZC9tYWluLmMKJmd0OyZndDsgKysr IGIvZXhhbXBsZXMvbDNmd2QvbWFpbi5jCiZndDsmZ3Q7IEBAIC0xMTcsNyArMTE3LDcgQEAgc3Rh dGljIHN0cnVjdCBsY29yZV9wYXJhbXMgKiBsY29yZV9wYXJhbXMgPSBsY29yZV9wYXJhbXNfYXJy YXlfZGVmYXVsdDsKJmd0OyZndDsgICBzdGF0aWMgdWludDE2X3QgbmJfbGNvcmVfcGFyYW1zID0g c2l6ZW9mKGxjb3JlX3BhcmFtc19hcnJheV9kZWZhdWx0KSAvCiZndDsmZ3Q7ICAgCQkJCXNpemVv ZihsY29yZV9wYXJhbXNfYXJyYXlfZGVmYXVsdFswXSk7CiZndDsmZ3Q7ICAgCiZndDsmZ3Q7IC1z dGF0aWMgc3RydWN0IHJ0ZV9ldGhfY29uZiBwb3J0X2NvbmYgPSB7CiZndDsmZ3Q7ICtzdHJ1Y3Qg cnRlX2V0aF9jb25mIHBvcnRfY29uZiA9IHsKJmd0OyZndDsgICAJLnJ4bW9kZSA9IHsKJmd0OyZn dDsgICAJCS5tcV9tb2RlID0gUlRFX0VUSF9NUV9SWF9SU1MsCiZndDsmZ3Q7ICAgCQkub2ZmbG9h ZHMgPSBSVEVfRVRIX1JYX09GRkxPQURfQ0hFQ0tTVU0sCiZndDsmZ3Q7IEBAIC0xMjU3LDggKzEy NTcsMTIgQEAgbDNmd2RfcG9sbF9yZXNvdXJjZV9zZXR1cCh2b2lkKQomZ3Q7Jmd0OyAgIAkJbG9j YWxfcG9ydF9jb25mLnJ4X2Fkdl9jb25mLnJzc19jb25mLnJzc19oZiAmYW1wOz0KJmd0OyZndDsg ICAJCQlkZXZfaW5mby5mbG93X3R5cGVfcnNzX29mZmxvYWRzOwomZ3Q7Jmd0OyAgIAomZ3Q7Jmd0 OyAtCQlpZiAoZGV2X2luZm8ubWF4X3J4X3F1ZXVlcyA9PSAxKQomZ3Q7Jmd0OyArCQkvKiByZWxh eCB0aGUgcnggcnNzIHJlcXVpcmVtZW50ICovCiZndDsmZ3Q7ICsJCWlmIChkZXZfaW5mby5tYXhf cnhfcXVldWVzID09IDEgfHwgIWxvY2FsX3BvcnRfY29uZi5yeF9hZHZfY29uZi5yc3NfY29uZi5y c3NfaGYpIHsKJmd0OyZndDsgKwkJCXByaW50Zigid2FybmluZzogbW9kaWZpZWQgdGhlIHJ4IG1x X21vZGUgdG8gUlRFX0VUSF9NUV9SWF9OT05FIGJhc2Ugb24iCiZndDsmZ3Q7ICsJCQkJIiBkZXZp Y2UgY2FwYWJpbGl0eVxuIik7CiZndDsmZ3Q7ICAgCQkJbG9jYWxfcG9ydF9jb25mLnJ4bW9kZS5t cV9tb2RlID0gUlRFX0VUSF9NUV9SWF9OT05FOwomZ3Q7CiZndDtTaG91bGQgd2UgcHJvYmFibHkg aW5zdGVhZCBoYXZlIGEgbmV3IGNvbW1uYWQtbGluZSBvcHRpb24gdG8gZXhwbGljaXRseSAKJmd0 O2Rpc2FibGUgUlNTPwo8ZGl2PiZndDtTb21ldGhpbmcgbGlrZTogJy0tbm8tcnNzJyBvciBzbz88 L2Rpdj48ZGl2PjxiPlRyZXZvcjogdGhlIFJTUyBjYXBhYmlsaXR5IGZvciBhIGNlcnRhaW4gcG9y dCB3YXMgZ290IGJ5IHRoZSBydGVfZXRoX2Rldl9pbmZvX2dldCgpIGF1dG9tYXRpY2FsbHksIGFu ZCB3ZSB0aGluayB0aGUgdXNlciBzaG91bGQgbm90IGNhcmUgYWJvdXQgaXRzIHN0YXR1cyBiZWZv cmVoYW5kLCBidXQgaWYgaXQncyBtaXNzaW5nLCBhIHdhcm5pbmcgbm90aWZpY2F0aW9uIGZvciB0 aGUgZGVncmFkZSBoZXJlIHdvdWxkIGJlIHByb3Bvc2VkIHRvIG1ha2UgaXQgcnVuIHNtb290aGx5 LjwvYj48L2Rpdj4mZ3Q7CiZndDsmZ3Q7ICsJCX0KJmd0OyZndDsgICAKJmd0OyZndDsgICAJCWlm IChsb2NhbF9wb3J0X2NvbmYucnhfYWR2X2NvbmYucnNzX2NvbmYucnNzX2hmICE9CiZndDsmZ3Q7 ICAgCQkJCXBvcnRfY29uZi5yeF9hZHZfY29uZi5yc3NfY29uZi5yc3NfaGYpIHsKJmd0OyZndDsg QEAgLTEyNjksNiArMTI3MywxOSBAQCBsM2Z3ZF9wb2xsX3Jlc291cmNlX3NldHVwKHZvaWQpCiZn dDsmZ3Q7ICAgCQkJCWxvY2FsX3BvcnRfY29uZi5yeF9hZHZfY29uZi5yc3NfY29uZi5yc3NfaGYp OwomZ3Q7Jmd0OyAgIAkJfQomZ3Q7Jmd0OyAgIAomZ3Q7Jmd0OyArCQkvKiByZWxheCB0aGUgcngg b2ZmbG9hZCByZXF1aXJlbWVudCAqLwomZ3Q7Jmd0OyArCQlpZiAoKGxvY2FsX3BvcnRfY29uZi5y eG1vZGUub2ZmbG9hZHMgJmFtcDsgZGV2X2luZm8ucnhfb2ZmbG9hZF9jYXBhKSAhPQomZ3Q7Jmd0 OyArCQkJbG9jYWxfcG9ydF9jb25mLnJ4bW9kZS5vZmZsb2FkcykgewomZ3Q7Jmd0OyArCQkJcHJp bnRmKCJQb3J0ICV1IHJlcXVlc3RlZCBSeCBvZmZsb2FkcyAweCUiUFJJeDY0IiBkb2VzIG5vdCIK Jmd0OyZndDsgKwkJCQkiIG1hdGNoIFJ4IG9mZmxvYWRzIGNhcGFiaWxpdGllcyAweCUiUFJJeDY0 IlxuIiwKJmd0OyZndDsgKwkJCQlwb3J0aWQsIGxvY2FsX3BvcnRfY29uZi5yeG1vZGUub2ZmbG9h ZHMsCiZndDsmZ3Q7ICsJCQkJZGV2X2luZm8ucnhfb2ZmbG9hZF9jYXBhKTsKJmd0OyZndDsgKwkJ CWxvY2FsX3BvcnRfY29uZi5yeG1vZGUub2ZmbG9hZHMgJmFtcDs9IGRldl9pbmZvLnJ4X29mZmxv YWRfY2FwYTsKJmd0OyZndDsgKwkJCXBvcnRfY29uZi5yeG1vZGUub2ZmbG9hZHMgPSBsb2NhbF9w b3J0X2NvbmYucnhtb2RlLm9mZmxvYWRzOwomZ3Q7CiZndDtXaHkgdG8gcmVtb3ZlIG9mZmxvYWRz IGluIHBvcnRfY29uZj8KJmd0O1RoZXJlIGNvdWxkIGJlIG11bHRpcGxlIHBvcnRzLCBhbmQgb24g b3RoZXJzIGRlc2lyZWQgSFcgb2ZmbG9hZHMgbWlnaHQgCjxkaXY+Jmd0O2JlIHN1cHBvcnRlZC48 L2Rpdj48ZGl2PjxiPlRyZXZvcjogWWVzLCB0aGVyZSB3b3VsZCBiZSBtdWx0aXBsZSBwb3J0cywg c28gaWYgb25lIG9mIHRoZSBwb3J0cyBsYWNrIEhXIG9mZmxvYWQsIGl0IHdvdWxkIGJlIG9rIHRv IGp1c3QgdXNlIHRoZSByZWxheGVkIHJlcXVpcmVtZW50IGhlcmUsIGxpa2Ugd2UgcHJldmlvdXNs eSB0YWxrZWQgaW4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL0RQREsvZHBkay9ibG9iL21h aW4vZXhhbXBsZXMvbDNmd2QtcG93ZXIvbWFpbi5jI0w0ODciIF9zcmM9Imh0dHBzOi8vZ2l0aHVi LmNvbS9EUERLL2RwZGsvYmxvYi9tYWluL2V4YW1wbGVzL2wzZndkLXBvd2VyL21haW4uYyNMNDg3 Ij5odHRwczovL2dpdGh1Yi5jb20vRFBESy9kcGRrL2Jsb2IvbWFpbi9leGFtcGxlcy9sM2Z3ZC1w b3dlci9tYWluLmMjTDQ4NzwvYT4sIGlmIHlvdSBzdGlsbCB0aGluayBpdCdzIG5lZWRlZCB0byB1 c2UgdGhlIHBlci1wb3J0IGNhc2UsIGl0IHdvdWxkIGJlIG9rIHRvIHVzZSB0aGUgb2xfZmxhZ3Mg YXMgdGFsa2VkIHByZXZpb3VzbHkuPC9iPjwvZGl2PiZndDsKJmd0OyZndDsgKwkJCXByaW50Zigi d2FybmluZzogbW9kaWZpZWQgdGhlIHJ4IG9mZmxvYWQgdG8gMHglIlBSSXg2NCIgYmFzZWQgb24g ZGV2aWNlIgomZ3Q7Jmd0OyArCQkJCSIgY2FwYWJpbGl0eVxuIiwgbG9jYWxfcG9ydF9jb25mLnJ4 bW9kZS5vZmZsb2Fkcyk7CiZndDsmZ3Q7ICsJCX0KJmd0OyZndDsgKwomZ3Q7Jmd0OyAgIAkJcmV0 ID0gcnRlX2V0aF9kZXZfY29uZmlndXJlKHBvcnRpZCwgbmJfcnhfcXVldWUsCiZndDsmZ3Q7ICAg CQkJCQkodWludDE2X3Qpbl90eF9xdWV1ZSwgJmFtcDtsb2NhbF9wb3J0X2NvbmYpOwomZ3Q7Jmd0 OyAgIAkJaWYgKHJldCAmbHQ7IDApCjwvcHJlPjwvZGl2Pg== ------=_Part_118111_1188777157.1695041150580--