From win-pv-devel-bounces@lists.xenproject.org Thu Nov 01 10:46:52 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 01 Nov 2018 10:46:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1gIAV0-0006fd-2z; Thu, 01 Nov 2018 10:46:50 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=n/vl=nm=citrix.com=prvs=836e25ed5=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1gIAUy-0006fY-Dl
 for win-pv-devel@lists.xenproject.org; Thu, 01 Nov 2018 10:46:48 +0000
X-Inumbo-ID: 6dc8fec4-ddc3-11e8-87d6-bc764e045a96
Received: from SMTP03.CITRIX.COM (unknown [162.221.156.55])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 6dc8fec4-ddc3-11e8-87d6-bc764e045a96;
 Thu, 01 Nov 2018 10:46:46 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.54,451,1534809600"; d="scan'208";a="69351062"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Thu, 1 Nov 2018 10:46:38 +0000
Message-ID: <1541069198-7095-1-git-send-email-paul.durrant@citrix.com>
X-Mailer: git-send-email 2.5.3
MIME-Version: 1.0
Subject: [win-pv-devel] [PATCH] Stop sending Trace messages to Xen by default
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Paul Durrant <paul.durrant@citrix.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

VGhpcyBmdW5jdGlvbmFsaXR5IGlzIHVzZWZ1bCBidXQgc2xvdy4gSXQgY2FuIGJlIHJlLWVuYWJs
ZWQsIGlmIGRlc2lyZWQsCmJ5IHR3ZWFraW5nIHRoZSAnWGVuTG9nTGV2ZWwnIHZhbHVlIGluIHRo
ZSByZWdpc3RyeS4KClNpZ25lZC1vZmYtYnk6IFBhdWwgRHVycmFudCA8cGF1bC5kdXJyYW50QGNp
dHJpeC5jb20+Ci0tLQogc3JjL3hlbi9kcml2ZXIuYyB8IDMgKy0tCiAxIGZpbGUgY2hhbmdlZCwg
MSBpbnNlcnRpb24oKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL3hlbi9kcml2
ZXIuYyBiL3NyYy94ZW4vZHJpdmVyLmMKaW5kZXggNDZhM2EyOC4uNzRmM2Q2NCAxMDA2NDQKLS0t
IGEvc3JjL3hlbi9kcml2ZXIuYworKysgYi9zcmMveGVuL2RyaXZlci5jCkBAIC00OSw4ICs0OSw3
IEBACiAjaW5jbHVkZSAiYXNzZXJ0LmgiCiAjaW5jbHVkZSAidmVyc2lvbi5oIgogCi0jZGVmaW5l
IERFRkFVTFRfWEVOX0xPR19MRVZFTCAgIChMT0dfTEVWRUxfVFJBQ0UgfCAgICAgIFwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIExPR19MRVZFTF9DUklUSUNBTCkKKyNkZWZpbmUg
REVGQVVMVF9YRU5fTE9HX0xFVkVMICAgTE9HX0xFVkVMX0NSSVRJQ0FMCiAjZGVmaW5lIERFRkFV
TFRfUUVNVV9MT0dfTEVWRUwgIChMT0dfTEVWRUxfSU5GTyB8ICAgICAgIFwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIExPR19MRVZFTF9XQVJOSU5HIHwgICAgXAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgTE9HX0xFVkVMX0VSUk9SIHwgICAgICBcCi0tIAoyLjUu
MwoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCndpbi1w
di1kZXZlbCBtYWlsaW5nIGxpc3QKd2luLXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0
dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby93aW4tcHYtZGV2ZWw=

From win-pv-devel-bounces@lists.xenproject.org Thu Nov 01 11:24:44 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 01 Nov 2018 11:24:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1gIB5f-0002OU-1x; Thu, 01 Nov 2018 11:24:43 +0000
Received: from winpvdrvbuild.xenproject.org ([162.242.160.44])
 by lists.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <paul.durrant@xenproject.org>) id 1gIB5d-0002OK-Nx
 for win-pv-devel@lists.xenproject.org; Thu, 01 Nov 2018 11:24:41 +0000
Date: Thu, 1 Nov 2018 11:24:47 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <27485402.7.1541071488128.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_6_22763057.1541071487393"
X-Jenkins-Job: XENBUS-master
X-Jenkins-Result: SUCCESS
Subject: [win-pv-devel] XENBUS-master - Build #171 - Successful
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

------=_Part_6_22763057.1541071487393
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The build system has completed build #171.

Check console output at https://winpvdrvbuild.xenproject.org:8080/job/XENBUS-master/171/console to view the results.
------=_Part_6_22763057.1541071487393
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

------=_Part_6_22763057.1541071487393--


From win-pv-devel-bounces@lists.xenproject.org Thu Nov 01 18:01:56 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 01 Nov 2018 18:01:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1gIHI1-0005qf-D0; Thu, 01 Nov 2018 18:01:53 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=n/vl=nm=citrix.com=prvs=836e25ed5=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1gIHHz-0005qa-Vu
 for win-pv-devel@lists.xenproject.org; Thu, 01 Nov 2018 18:01:52 +0000
X-Inumbo-ID: 3420af2a-de00-11e8-9a16-bc764e045a96
Received: from SMTP03.CITRIX.COM (unknown [162.221.156.55])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 3420af2a-de00-11e8-9a16-bc764e045a96;
 Thu, 01 Nov 2018 18:01:49 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.54,453,1534809600"; d="scan'208";a="69402783"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Thu, 1 Nov 2018 18:01:39 +0000
Message-ID: <1541095299-10815-1-git-send-email-paul.durrant@citrix.com>
X-Mailer: git-send-email 2.5.3
MIME-Version: 1.0
Subject: [win-pv-devel] [PATCH] Fix comment in evtchn_interface.h
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Paul Durrant <paul.durrant@citrix.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

VGhlIGNvbW1lbnQgYWJvdXQgdGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgVW5tYXNrIG1ldGhvZCBp
cyBpbmNvcnJlbnQuIEl0CndpbGwgcmV0dXJuIFRSVUUgaWYgdGhlIG9wZXJhdGlvbiBkaWQgbm90
IGNvbXBsZXRlLgoKU2lnbmVkLW9mZi1ieTogUGF1bCBEdXJyYW50IDxwYXVsLmR1cnJhbnRAY2l0
cml4LmNvbT4KLS0tCiBpbmNsdWRlL2V2dGNobl9pbnRlcmZhY2UuaCB8IDIgKy0KIDEgZmlsZSBj
aGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2luY2x1
ZGUvZXZ0Y2huX2ludGVyZmFjZS5oIGIvaW5jbHVkZS9ldnRjaG5faW50ZXJmYWNlLmgKaW5kZXgg
MDY4YTY5Ny4uYWRlNzI1OSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9ldnRjaG5faW50ZXJmYWNlLmgK
KysrIGIvaW5jbHVkZS9ldnRjaG5faW50ZXJmYWNlLmgKQEAgLTE0MSw3ICsxNDEsNyBAQCB0eXBl
ZGVmIFZPSUQKICAgICBccGFyYW0gSW50ZXJmYWNlIFRoZSBpbnRlcmZhY2UgaGVhZGVyCiAgICAg
XHBhcmFtIENoYW5uZWwgVGhlIGNoYW5uZWwgaGFuZGxlCiAgICAgXHBhcmFtIEluQ2FsbGJhY2sg
U2V0IHRvIFRSVUUgaWYgdGhpcyBtZXRob2QgaXMgaW52b2tlZCBpbiBjb250ZXh0IG9mIHRoZSBj
aGFubmVsIGNhbGxiYWNrCi0gICAgXHBhcmFtIEZvcmNlIFNldCB0byBUUlVFIGlmIHRoZSB1bm1h
c2sgbXVzdCBzdWNjZWVkLCBvdGhlcndpc2Ugc2V0IHRvIEZBTFNFIGFuZCB0aGUgZnVuY3Rpb24g
d2lsbCByZXR1cm4gRkFMU0UgaWYgdGhlIHVubWFzayBkaWQgbm90IGNvbXBsZXRlLgorICAgIFxw
YXJhbSBGb3JjZSBTZXQgdG8gVFJVRSBpZiB0aGUgdW5tYXNrIG11c3Qgc3VjY2VlZCwgb3RoZXJ3
aXNlIHNldCB0byBGQUxTRSBhbmQgdGhlIGZ1bmN0aW9uIHdpbGwgcmV0dXJuIFRSVUUgaWYgdGhl
IHVubWFzayBkaWQgbm90IGNvbXBsZXRlIGFuZCB0aGVyZSBpcyBzdGlsbCBhbiBldmVudCBwZW5k
aW5nLgogKi8KIHR5cGVkZWYgQk9PTEVBTgogKCpYRU5CVVNfRVZUQ0hOX1VOTUFTSykoCi0tIAoy
LjUuMwoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCndp
bi1wdi1kZXZlbCBtYWlsaW5nIGxpc3QKd2luLXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3Jn
Cmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby93aW4tcHYtZGV2
ZWw=

From win-pv-devel-bounces@lists.xenproject.org Fri Nov 02 16:54:44 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 02 Nov 2018 16:54:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1gIcia-0003UH-7i; Fri, 02 Nov 2018 16:54:44 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=u19u=nn=citrix.com=prvs=8372cde87=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1gIciZ-0003Tp-02
 for win-pv-devel@lists.xenproject.org; Fri, 02 Nov 2018 16:54:43 +0000
X-Inumbo-ID: fd25144a-debf-11e8-b67a-12d6303a7972
Received: from SMTP03.CITRIX.COM (unknown [162.221.156.55])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id fd25144a-debf-11e8-b67a-12d6303a7972;
 Fri, 02 Nov 2018 16:54:41 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.54,456,1534809600"; d="scan'208";a="69510337"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Fri, 2 Nov 2018 16:54:22 +0000
Message-ID: <1541177669-14212-2-git-send-email-paul.durrant@citrix.com>
X-Mailer: git-send-email 2.5.3
In-Reply-To: <1541177669-14212-1-git-send-email-paul.durrant@citrix.com>
References: <1541177669-14212-1-git-send-email-paul.durrant@citrix.com>
MIME-Version: 1.0
Subject: [win-pv-devel] [PATCH xenvif 1/8] Revert reversion of "Deferring
 transmit completion causes...
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Paul Durrant <paul.durrant@citrix.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

Li4uIE1QRV9FdGhlcm5ldCB0ZXN0IGZhaWx1cmVzIiIKClRoaXMgcmV2ZXJ0cyBjb21taXQgMGY5
MWQwMWQgYXMgaXQgaXMgdmVyeSBkZXRyaW1lbnRhbCB0byBwZXJmb3JtYW5jZS4gSXQKYXBwZWFy
cyB0aGF0IGRlZmVycmluZyB0cmFuc21pdCBjb21wbGV0aW9uIGV2ZW50cyByb3VnaGx5IGhhbHZl
cyBUQ1AKdGhyb3VnaHB1dC4KClNpZ25lZC1vZmYtYnk6IFBhdWwgRHVycmFudCA8cGF1bC5kdXJy
YW50QGNpdHJpeC5jb20+Ci0tLQogc3JjL3hlbnZpZi90cmFuc21pdHRlci5jIHwgOTQgKy0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdl
ZCwgMSBpbnNlcnRpb24oKyksIDkzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy94ZW52
aWYvdHJhbnNtaXR0ZXIuYyBiL3NyYy94ZW52aWYvdHJhbnNtaXR0ZXIuYwppbmRleCBiZjYwMDRh
Li5iMWQ5MjUwIDEwMDY0NAotLS0gYS9zcmMveGVudmlmL3RyYW5zbWl0dGVyLmMKKysrIGIvc3Jj
L3hlbnZpZi90cmFuc21pdHRlci5jCkBAIC0yMDEsNyArMjAxLDYgQEAgdHlwZWRlZiBzdHJ1Y3Qg
X1hFTlZJRl9UUkFOU01JVFRFUl9SSU5HIHsKICAgICBVTE9ORyAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFBhY2tldHNDb21wbGV0ZWQ7CiAgICAgUFhFTkJVU19ERUJVR19DQUxMQkFDSyAgICAg
ICAgICBEZWJ1Z0NhbGxiYWNrOwogICAgIFBYRU5WSUZfVEhSRUFEICAgICAgICAgICAgICAgICAg
V2F0Y2hkb2dUaHJlYWQ7Ci0gICAgUFhFTlZJRl9USFJFQUQgICAgICAgICAgICAgICAgICBDb21w
bGV0aW9uVGhyZWFkOwogfSBYRU5WSUZfVFJBTlNNSVRURVJfUklORywgKlBYRU5WSUZfVFJBTlNN
SVRURVJfUklORzsKIAogc3RydWN0IF9YRU5WSUZfVFJBTlNNSVRURVIgewpAQCAtMjc4MCw2ICsy
Nzc5LDcgQEAgVHJhbnNtaXR0ZXJSaW5nUG9sbCgKICAgICAgICAgS2VNZW1vcnlCYXJyaWVyKCk7
CiAKICAgICAgICAgUmluZy0+RnJvbnQucnNwX2NvbnMgPSByc3BfY29uczsKKyAgICAgICAgUmlu
Zy0+U2hhcmVkLT5yc3BfZXZlbnQgPSByc3BfY29ucyArIDE7CiAgICAgfQogCiBkb25lOgpAQCAt
MjgwNiw4ICsyODA2LDYgQEAgX19UcmFuc21pdHRlclJpbmdQdXNoUmVxdWVzdHMoCiAjcHJhZ21h
IHdhcm5pbmcgKHB1c2gpCiAjcHJhZ21hIHdhcm5pbmcgKGRpc2FibGU6NDI0NCkKIAotICAgIFJp
bmctPlNoYXJlZC0+cnNwX2V2ZW50ID0gUmluZy0+RnJvbnQucmVxX3Byb2RfcHZ0OwotCiAgICAg
Ly8gTWFrZSB0aGUgcmVxdWVzdHMgdmlzaWJsZSB0byB0aGUgYmFja2VuZAogICAgIFJJTkdfUFVT
SF9SRVFVRVNUU19BTkRfQ0hFQ0tfTk9USUZZKCZSaW5nLT5Gcm9udCwgTm90aWZ5KTsKIApAQCAt
MzI2Myw3OSArMzI2MSw2IEBAIFRyYW5zbWl0dGVyUmluZ1dhdGNoZG9nKAogICAgIHJldHVybiBT
VEFUVVNfU1VDQ0VTUzsKIH0KIAotI2RlZmluZSBYRU5WSUZfVFJBTlNNSVRURVJfQ09NUExFVElP
Tl9QRVJJT0QgIDUKLQotc3RhdGljIE5UU1RBVFVTCi1UcmFuc21pdHRlclJpbmdDb21wbGV0aW9u
KAotICAgIElOICBQWEVOVklGX1RIUkVBRCAgICAgICAgICBTZWxmLAotICAgIElOICBQVk9JRCAg
ICAgICAgICAgICAgICAgICBDb250ZXh0Ci0gICAgKQotewotICAgIFBYRU5WSUZfVFJBTlNNSVRU
RVJfUklORyAgICBSaW5nID0gQ29udGV4dDsKLSAgICBQUk9DRVNTT1JfTlVNQkVSICAgICAgICAg
ICAgUHJvY051bWJlcjsKLSAgICBHUk9VUF9BRkZJTklUWSAgICAgICAgICAgICAgQWZmaW5pdHk7
Ci0gICAgTEFSR0VfSU5URUdFUiAgICAgICAgICAgICAgIFRpbWVvdXQ7Ci0gICAgTlRTVEFUVVMg
ICAgICAgICAgICAgICAgICAgIHN0YXR1czsKLQotICAgIFRyYWNlKCI9PT09PlxuIik7Ci0KLSAg
ICBpZiAoUnRsSXNOdERkaVZlcnNpb25BdmFpbGFibGUoTlRERElfV0lONykgKSB7Ci0gICAgICAg
IC8vCi0gICAgICAgIC8vIEFmZmluaXRpemUgdGhpcyB0aHJlYWQgdG8gdGhlIHNhbWUgQ1BVIGFz
IHRoZSBldmVudCBjaGFubmVsCi0gICAgICAgIC8vIGFuZCBEUEMuCi0gICAgICAgIC8vCi0gICAg
ICAgIC8vIFRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIGRvbid0IHdvcmsgYmVmb3JlIFdpbmRvd3Mg
NwotICAgICAgICAvLwotICAgICAgICBzdGF0dXMgPSBLZUdldFByb2Nlc3Nvck51bWJlckZyb21J
bmRleChSaW5nLT5JbmRleCwgJlByb2NOdW1iZXIpOwotICAgICAgICBBU1NFUlQoTlRfU1VDQ0VT
UyhzdGF0dXMpKTsKLQotICAgICAgICBBZmZpbml0eS5Hcm91cCA9IFByb2NOdW1iZXIuR3JvdXA7
Ci0gICAgICAgIEFmZmluaXR5Lk1hc2sgPSAoS0FGRklOSVRZKTEgPDwgUHJvY051bWJlci5OdW1i
ZXI7Ci0gICAgICAgIEtlU2V0U3lzdGVtR3JvdXBBZmZpbml0eVRocmVhZCgmQWZmaW5pdHksIE5V
TEwpOwotICAgIH0KLQotICAgIFRpbWVvdXQuUXVhZFBhcnQgPSBUSU1FX1JFTEFUSVZFKFRJTUVf
UyhYRU5WSUZfVFJBTlNNSVRURVJfQ09NUExFVElPTl9QRVJJT0QpKTsKLQotICAgIGZvciAoOzsp
IHsKLSAgICAgICAgUEtFVkVOVCBFdmVudDsKLSAgICAgICAgS0lSUUwgICBJcnFsOwotCi0gICAg
ICAgIEV2ZW50ID0gVGhyZWFkR2V0RXZlbnQoU2VsZik7Ci0KLSAgICAgICAgKFZPSUQpIEtlV2Fp
dEZvclNpbmdsZU9iamVjdChFdmVudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBFeGVjdXRpdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgS2Vy
bmVsTW9kZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGQUxTRSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmVGltZW91dCk7Ci0gICAgICAgIEtl
Q2xlYXJFdmVudChFdmVudCk7Ci0KLSAgICAgICAgaWYgKFRocmVhZElzQWxlcnRlZChTZWxmKSkK
LSAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgIEtlUmFpc2VJcnFsKERJU1BBVENIX0xFVkVM
LCAmSXJxbCk7Ci0gICAgICAgIF9fVHJhbnNtaXR0ZXJSaW5nQWNxdWlyZUxvY2soUmluZyk7Ci0K
LSAgICAgICAgaWYgKFJpbmctPkVuYWJsZWQpIHsKLSAgICAgICAgICAgIFBYRU5WSUZfVFJBTlNN
SVRURVIgVHJhbnNtaXR0ZXI7Ci0gICAgICAgICAgICBQWEVOVklGX0ZST05URU5EICAgIEZyb250
ZW5kOwotCi0gICAgICAgICAgICBUcmFuc21pdHRlciA9IFJpbmctPlRyYW5zbWl0dGVyOwotICAg
ICAgICAgICAgRnJvbnRlbmQgPSBUcmFuc21pdHRlci0+RnJvbnRlbmQ7Ci0KLSAgICAgICAgICAg
IFBvbGxlclRyaWdnZXIoRnJvbnRlbmRHZXRQb2xsZXIoRnJvbnRlbmQpLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICBSaW5nLT5JbmRleCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgWEVO
VklGX1BPTExFUl9FVkVOVF9UUkFOU01JVCk7Ci0gICAgICAgIH0KLQotICAgICAgICBfX1RyYW5z
bWl0dGVyUmluZ1JlbGVhc2VMb2NrKFJpbmcpOwotICAgICAgICBLZUxvd2VySXJxbChJcnFsKTsK
LSAgICB9Ci0KLSAgICBUcmFjZSgiPD09PT1cbiIpOwotCi0gICAgcmV0dXJuIFNUQVRVU19TVUND
RVNTOwotfQotCiBzdGF0aWMgRk9SQ0VJTkxJTkUgTlRTVEFUVVMKIF9fVHJhbnNtaXR0ZXJSaW5n
SW5pdGlhbGl6ZSgKICAgICBJTiAgUFhFTlZJRl9UUkFOU01JVFRFUiAgICAgICAgIFRyYW5zbWl0
dGVyLApAQCAtMzQ5OCwyMSArMzQyMyw4IEBAIF9fVHJhbnNtaXR0ZXJSaW5nSW5pdGlhbGl6ZSgK
ICAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKICAgICAgICAgZ290byBmYWlsMTQ7CiAKLSAg
ICBzdGF0dXMgPSBUaHJlYWRDcmVhdGUoVHJhbnNtaXR0ZXJSaW5nQ29tcGxldGlvbiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgKlJpbmcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICYo
KlJpbmcpLT5Db21wbGV0aW9uVGhyZWFkKTsKLSAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkK
LSAgICAgICAgZ290byBmYWlsMTU7Ci0KICAgICByZXR1cm4gU1RBVFVTX1NVQ0NFU1M7CiAKLWZh
aWwxNToKLSAgICBFcnJvcigiZmFpbDE1XG4iKTsKLQotICAgIFRocmVhZEFsZXJ0KCgqUmluZykt
PldhdGNoZG9nVGhyZWFkKTsKLSAgICBUaHJlYWRKb2luKCgqUmluZyktPldhdGNoZG9nVGhyZWFk
KTsKLSAgICAoKlJpbmcpLT5XYXRjaGRvZ1RocmVhZCA9IE5VTEw7Ci0KIGZhaWwxNDoKICAgICBF
cnJvcigiZmFpbDE0XG4iKTsKIApAQCAtMzk2NiwxMCArMzg3OCw2IEBAIF9fVHJhbnNtaXR0ZXJS
aW5nVGVhcmRvd24oCiAgICAgUmluZy0+UGFja2V0c1ByZXBhcmVkID0gMDsKICAgICBSaW5nLT5Q
YWNrZXRzUXVldWVkID0gMDsKIAotICAgIFRocmVhZEFsZXJ0KFJpbmctPkNvbXBsZXRpb25UaHJl
YWQpOwotICAgIFRocmVhZEpvaW4oUmluZy0+Q29tcGxldGlvblRocmVhZCk7Ci0gICAgUmluZy0+
Q29tcGxldGlvblRocmVhZCA9IE5VTEw7Ci0KICAgICBUaHJlYWRBbGVydChSaW5nLT5XYXRjaGRv
Z1RocmVhZCk7CiAgICAgVGhyZWFkSm9pbihSaW5nLT5XYXRjaGRvZ1RocmVhZCk7CiAgICAgUmlu
Zy0+V2F0Y2hkb2dUaHJlYWQgPSBOVUxMOwotLSAKMi41LjMKCgpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwp3aW4tcHYtZGV2ZWwgbWFpbGluZyBsaXN0Cndp
bi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qu
b3JnL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRldmVs

From win-pv-devel-bounces@lists.xenproject.org Fri Nov 02 16:54:44 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 02 Nov 2018 16:54:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1gIciZ-0003U3-40; Fri, 02 Nov 2018 16:54:43 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=u19u=nn=citrix.com=prvs=8372cde87=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1gIciX-0003Tg-Pj
 for win-pv-devel@lists.xenproject.org; Fri, 02 Nov 2018 16:54:41 +0000
X-Inumbo-ID: fc5f69d4-debf-11e8-ab84-12d6303a7972
Received: from SMTP03.CITRIX.COM (unknown [162.221.156.55])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id fc5f69d4-debf-11e8-ab84-12d6303a7972;
 Fri, 02 Nov 2018 16:54:40 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.54,456,1534809600"; d="scan'208";a="69510331"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Fri, 2 Nov 2018 16:54:21 +0000
Message-ID: <1541177669-14212-1-git-send-email-paul.durrant@citrix.com>
X-Mailer: git-send-email 2.5.3
MIME-Version: 1.0
Subject: [win-pv-devel] [PATCH xenvif 0/8] Fix TCP throughput performance
 regressions
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Paul Durrant <paul.durrant@citrix.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

SXQgaGFzIGJlY29tZSBhcHBhcmVudCBpbiByZWNlbnQgdGVzdGluZyB0aGF0IHRoZSBtYXN0ZXIg
YnJhbmNoIGhhcwpzdWZmZXJlZCBzaWduaWZpY2FudCBUQ1AgdGhyb3VnaHB1dCBwZXJmb3JtYW5j
ZSByZWdyZXNzaW9ucyB3aGVuIGNvbXBhcmVkCnRvIHRoZSBzdGFibGUgYnJhbmNoZXMuIFRoaXMg
c2VyaWVzIGZpeGVzIHZhcmlvdXMgaXNzdWVzIHRoYXQgaGF2ZSBjYXVzZWQKdGhpcyByZWdyZXNz
aW9uLgoKUGF1bCBEdXJyYW50ICg4KToKICBSZXZlcnQgcmV2ZXJzaW9uIG9mICJEZWZlcnJpbmcg
dHJhbnNtaXQgY29tcGxldGlvbiBjYXVzZXMuLi4KICBSZXZlcnQgIlJlcGxhY2UgdXNlcyBvZiBN
bUFsbG9jYXRlUGFnZXNGb3JNZGxFeCBpbiBfX0FsbG9jYXRlUGFnZSIKICBSZXZlcnQgY29tcGxl
dGUgcG9sbGVyIHN1YnN5c3RlbQogIFJlbW92ZSBLVElNRVJTIGZyb20gdHJhbnNtaXQgYW5kIHJl
Y2VpdmUgcGF0aHMgKGFnYWluKQogIFJlLWluc3RhdGUgMjY0YmRlMTIgIkludHJvZHVjZSBhIHRo
cmVhZGVkIERQQyBpbnRvIHRoZSByZWNlaXZlciBjb2RlIgogIEdldCByaWQgb2YgdGhlICdSZXRy
eScgZXhpdCBmcm9tIHRoZSByaW5nIHBvbGwgcm91dGluZXMKICBEb24ndCBmb3JjZSBldmVudCBj
aGFubmVsIHVubWFza2luZwogIFNldCBwYWNrZXQgdHJhbnNtaXQgY29tcGxldGlvbiBpbmZvcm1h
dGlvbiBvdXRzaWRlIG9mIHJpbmcgbG9jawoKIHNyYy94ZW52aWYvY29udHJvbGxlci5jICAgICAg
fCAgIDEyICstCiBzcmMveGVudmlmL2Zyb250ZW5kLmMgICAgICAgIHwgIDEzMyArKy0tCiBzcmMv
eGVudmlmL2Zyb250ZW5kLmggICAgICAgIHwgICAxNyArLQogc3JjL3hlbnZpZi9wb2xsZXIuYyAg
ICAgICAgICB8IDE0NTQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CiBzcmMveGVudmlmL3BvbGxlci5oICAgICAgICAgIHwgIDEwMCAtLS0KIHNyYy94ZW52aWYvcmVj
ZWl2ZXIuYyAgICAgICAgfCAgNDUzICsrKysrKysrKy0tLS0KIHNyYy94ZW52aWYvcmVjZWl2ZXIu
aCAgICAgICAgfCAgICA2IC0KIHNyYy94ZW52aWYvdHJhbnNtaXR0ZXIuYyAgICAgfCAgODYyICsr
KysrKysrKysrKysrLS0tLS0tLS0tLS0KIHNyYy94ZW52aWYvdHJhbnNtaXR0ZXIuaCAgICAgfCAg
ICA2IC0KIHNyYy94ZW52aWYvdXRpbC5oICAgICAgICAgICAgfCAgIDc2ICstLQogdnMyMDE1L3hl
bnZpZi94ZW52aWYudmN4cHJvaiB8ICAgIDEgLQogdnMyMDE3L3hlbnZpZi94ZW52aWYudmN4cHJv
aiB8ICAgIDEgLQogMTIgZmlsZXMgY2hhbmdlZCwgOTAxIGluc2VydGlvbnMoKyksIDIyMjAgZGVs
ZXRpb25zKC0pCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjL3hlbnZpZi9wb2xsZXIuYwogZGVsZXRl
IG1vZGUgMTAwNjQ0IHNyYy94ZW52aWYvcG9sbGVyLmgKCi0tIAoyLjUuMwoKCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCndpbi1wdi1kZXZlbCBtYWlsaW5n
IGxpc3QKd2luLXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVu
cHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby93aW4tcHYtZGV2ZWw=

From win-pv-devel-bounces@lists.xenproject.org Fri Nov 02 16:54:44 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 02 Nov 2018 16:54:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1gIcia-0003UB-5R; Fri, 02 Nov 2018 16:54:44 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=u19u=nn=citrix.com=prvs=8372cde87=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1gIciY-0003To-Vi
 for win-pv-devel@lists.xenproject.org; Fri, 02 Nov 2018 16:54:43 +0000
X-Inumbo-ID: fe45538a-debf-11e8-ba47-12d6303a7972
Received: from SMTP03.CITRIX.COM (unknown [162.221.156.55])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id fe45538a-debf-11e8-ba47-12d6303a7972;
 Fri, 02 Nov 2018 16:54:42 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.54,456,1534809600"; d="scan'208";a="69510347"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Fri, 2 Nov 2018 16:54:28 +0000
Message-ID: <1541177669-14212-8-git-send-email-paul.durrant@citrix.com>
X-Mailer: git-send-email 2.5.3
In-Reply-To: <1541177669-14212-1-git-send-email-paul.durrant@citrix.com>
References: <1541177669-14212-1-git-send-email-paul.durrant@citrix.com>
MIME-Version: 1.0
Subject: [win-pv-devel] [PATCH xenvif 7/8] Don't force event channel
 unmasking
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Paul Durrant <paul.durrant@citrix.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

VGhlIGVmZmVjdCBvZiBlZmJlNjVhYSAiTWFrZSB1c2Ugb2YgcG9zc2libGUgWEVOQlVTX0VWVENI
TiBVbm1hc2sgZmFpbHVyZSIKd2FzIGxvc3Qgd2hlbiB0aGUgcG9sbGVyIHN1YnN5c3RlbSB3YXMg
cmV2ZXJ0ZWQuIFRoaXMgcGF0Y2ggcmUtaW5zdGF0ZXMKZXF1aXZhbGVudCBmdW5jdGlvbmFsaXR5
LgoKU2lnbmVkLW9mZi1ieTogUGF1bCBEdXJyYW50IDxwYXVsLmR1cnJhbnRAY2l0cml4LmNvbT4K
LS0tCiBzcmMveGVudmlmL3JlY2VpdmVyLmMgICAgfCAzOCArKysrKysrKysrKysrKysrKysrKysr
KysrLS0tLS0tLS0tLS0tLQogc3JjL3hlbnZpZi90cmFuc21pdHRlci5jIHwgNDAgKysrKysrKysr
KysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCA1MSBpbnNl
cnRpb25zKCspLCAyNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMveGVudmlmL3JlY2Vp
dmVyLmMgYi9zcmMveGVudmlmL3JlY2VpdmVyLmMKaW5kZXggNTM1MzI5NC4uOWM2OWI3NyAxMDA2
NDQKLS0tIGEvc3JjL3hlbnZpZi9yZWNlaXZlci5jCisrKyBiL3NyYy94ZW52aWYvcmVjZWl2ZXIu
YwpAQCAtMTk3NSwxOSArMTk3NSwyMiBAQCBfX1JlY2VpdmVyUmluZ1F1ZXVlUGFja2V0KAogICAg
IH0gd2hpbGUgKEludGVybG9ja2VkQ29tcGFyZUV4Y2hhbmdlUG9pbnRlcigmUmluZy0+UGFja2V0
UXVldWUsIChQVk9JRClOZXcsIChQVk9JRClPbGQpICE9IE9sZCk7CiB9CiAKLXN0YXRpYyBERUNM
U1BFQ19OT0lOTElORSBWT0lECitzdGF0aWMgREVDTFNQRUNfTk9JTkxJTkUgVUxPTkcKIFJlY2Vp
dmVyUmluZ1BvbGwoCiAgICAgSU4gIFBYRU5WSUZfUkVDRUlWRVJfUklORyAgIFJpbmcKICAgICAp
CiB7CiAgICAgUFhFTlZJRl9SRUNFSVZFUiAgICAgICAgICAgIFJlY2VpdmVyOwogICAgIFBYRU5W
SUZfRlJPTlRFTkQgICAgICAgICAgICBGcm9udGVuZDsKKyAgICBVTE9ORyAgICAgICAgICAgICAg
ICAgICAgICAgQ291bnQ7CiAKICAgICBSZWNlaXZlciA9IFJpbmctPlJlY2VpdmVyOwogICAgIEZy
b250ZW5kID0gUmVjZWl2ZXItPkZyb250ZW5kOwogCisgICAgQ291bnQgPSAwOworCiAgICAgaWYg
KCFSaW5nLT5FbmFibGVkKQotICAgICAgICByZXR1cm47CisgICAgICAgIGdvdG8gZG9uZTsKIAog
ICAgIGZvciAoOzspIHsKICAgICAgICAgQk9PTEVBTiAgICAgICAgICAgICAgICAgRXJyb3I7CkBA
IC0yMDQ0LDYgKzIwNDcsNyBAQCBSZWNlaXZlclJpbmdQb2xsKAogCiAgICAgICAgICAgICByc3Bf
Y29ucysrOwogICAgICAgICAgICAgUmluZy0+UmVzcG9uc2VzUHJvY2Vzc2VkKys7CisgICAgICAg
ICAgICBDb3VudCsrOwogCiAgICAgICAgICAgICBBU1NFUlQzVShpZCwgPD0sIFhFTlZJRl9SRUNF
SVZFUl9NQVhJTVVNX0ZSQUdNRU5UX0lEKTsKICAgICAgICAgICAgIEZyYWdtZW50ID0gUmluZy0+
UGVuZGluZ1tpZF07CkBAIC0yMjE2LDI1ICsyMjIwLDI5IEBAIFJlY2VpdmVyUmluZ1BvbGwoCiAg
ICAgaWYgKFJpbmctPlBhY2tldFF1ZXVlICE9IE5VTEwgJiYKICAgICAgICAgS2VJbnNlcnRRdWV1
ZURwYygmUmluZy0+UXVldWVEcGMsIE5VTEwsIE5VTEwpKQogICAgICAgICBSaW5nLT5RdWV1ZURw
Y3MrKzsKKworZG9uZToKKyAgICByZXR1cm4gQ291bnQ7CiB9CiAKLXN0YXRpYyBGT1JDRUlOTElO
RSBWT0lECitzdGF0aWMgRk9SQ0VJTkxJTkUgQk9PTEVBTgogX19SZWNlaXZlclJpbmdVbm1hc2so
Ci0gICAgSU4gIFBYRU5WSUZfUkVDRUlWRVJfUklORyAgIFJpbmcKKyAgICBJTiAgUFhFTlZJRl9S
RUNFSVZFUl9SSU5HICAgUmluZywKKyAgICBJTiAgQk9PTEVBTiAgICAgICAgICAgICAgICAgRm9y
Y2UKICAgICApCiB7CiAgICAgUFhFTlZJRl9SRUNFSVZFUiAgICAgICAgICAgIFJlY2VpdmVyOwog
CiAgICAgaWYgKCFSaW5nLT5Db25uZWN0ZWQpCi0gICAgICAgIHJldHVybjsKKyAgICAgICAgcmV0
dXJuIFRSVUU7CiAKICAgICBSZWNlaXZlciA9IFJpbmctPlJlY2VpdmVyOwogCi0gICAgWEVOQlVT
X0VWVENITihVbm1hc2ssCi0gICAgICAgICAgICAgICAgICAmUmVjZWl2ZXItPkV2dGNobkludGVy
ZmFjZSwKLSAgICAgICAgICAgICAgICAgIFJpbmctPkNoYW5uZWwsCi0gICAgICAgICAgICAgICAg
ICBGQUxTRSwKLSAgICAgICAgICAgICAgICAgIFRSVUUpOworICAgIHJldHVybiAhWEVOQlVTX0VW
VENITihVbm1hc2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICZSZWNlaXZlci0+RXZ0Y2hu
SW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICBSaW5nLT5DaGFubmVsLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICBGQUxTRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
Rm9yY2UpOwogfQogCiBfX2Rydl9mdW5jdGlvbkNsYXNzKEtERUZFUlJFRF9ST1VUSU5FKQpAQCAt
MjI1MSw2ICsyMjU5LDcgQEAgUmVjZWl2ZXJSaW5nUG9sbERwYygKICAgICApCiB7CiAgICAgUFhF
TlZJRl9SRUNFSVZFUl9SSU5HICAgUmluZyA9IENvbnRleHQ7CisgICAgVUxPTkcgICAgICAgICAg
ICAgICAgICAgQ291bnQ7CiAKICAgICBVTlJFRkVSRU5DRURfUEFSQU1FVEVSKERwYyk7CiAgICAg
VU5SRUZFUkVOQ0VEX1BBUkFNRVRFUihBcmd1bWVudDEpOwpAQCAtMjI1OCwxMyArMjI2NywxNiBA
QCBSZWNlaXZlclJpbmdQb2xsRHBjKAogCiAgICAgQVNTRVJUKFJpbmcgIT0gTlVMTCk7CiAKKyAg
ICBDb3VudCA9IDA7CisKICAgICBmb3IgKDs7KSB7CiAgICAgICAgIF9fUmVjZWl2ZXJSaW5nQWNx
dWlyZUxvY2soUmluZyk7Ci0gICAgICAgIFJlY2VpdmVyUmluZ1BvbGwoUmluZyk7CisgICAgICAg
IENvdW50ICs9IFJlY2VpdmVyUmluZ1BvbGwoUmluZyk7CiAgICAgICAgIF9fUmVjZWl2ZXJSaW5n
UmVsZWFzZUxvY2soUmluZyk7CiAKLSAgICAgICAgX19SZWNlaXZlclJpbmdVbm1hc2soUmluZyk7
Ci0gICAgICAgIGJyZWFrOworICAgICAgICBpZiAoX19SZWNlaXZlclJpbmdVbm1hc2soUmluZywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChDb3VudCA+IFhFTlZJRl9SRUNFSVZF
Ul9SSU5HX1NJWkUpKSkKKyAgICAgICAgICAgIGJyZWFrOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0
IGEvc3JjL3hlbnZpZi90cmFuc21pdHRlci5jIGIvc3JjL3hlbnZpZi90cmFuc21pdHRlci5jCmlu
ZGV4IDVlNTNmOWEuLjM0MDI4ZTcgMTAwNjQ0Ci0tLSBhL3NyYy94ZW52aWYvdHJhbnNtaXR0ZXIu
YworKysgYi9zcmMveGVudmlmL3RyYW5zbWl0dGVyLmMKQEAgLTI2MTQsMTkgKzI2MTQsMjIgQEAg
ZG9uZToKICAgICBSaW5nLT5QYWNrZXRzQ29tcGxldGVkKys7CiB9CiAKLXN0YXRpYyBERUNMU1BF
Q19OT0lOTElORSBWT0lECitzdGF0aWMgREVDTFNQRUNfTk9JTkxJTkUgVUxPTkcKIFRyYW5zbWl0
dGVyUmluZ1BvbGwoCiAgICAgSU4gIFBYRU5WSUZfVFJBTlNNSVRURVJfUklORyAgICBSaW5nCiAg
ICAgKQogewogICAgIFBYRU5WSUZfVFJBTlNNSVRURVIgICAgICAgICAgICAgVHJhbnNtaXR0ZXI7
CiAgICAgUFhFTlZJRl9GUk9OVEVORCAgICAgICAgICAgICAgICBGcm9udGVuZDsKKyAgICBVTE9O
RyAgICAgICAgICAgICAgICAgICAgICAgICAgIENvdW50OwogCiAgICAgVHJhbnNtaXR0ZXIgPSBS
aW5nLT5UcmFuc21pdHRlcjsKICAgICBGcm9udGVuZCA9IFRyYW5zbWl0dGVyLT5Gcm9udGVuZDsK
IAorICAgIENvdW50ID0gMDsKKwogICAgIGlmICghUmluZy0+RW5hYmxlZCkKLSAgICAgICAgcmV0
dXJuOworICAgICAgICBnb3RvIGRvbmU7CiAKICAgICBmb3IgKDs7KSB7CiAgICAgICAgIFJJTkdf
SURYICAgIHJzcF9wcm9kOwpAQCAtMjY2MCw2ICsyNjYzLDcgQEAgVHJhbnNtaXR0ZXJSaW5nUG9s
bCgKICAgICAgICAgICAgIHJzcCA9IFJJTkdfR0VUX1JFU1BPTlNFKCZSaW5nLT5Gcm9udCwgcnNw
X2NvbnMpOwogICAgICAgICAgICAgcnNwX2NvbnMrKzsKICAgICAgICAgICAgIFJpbmctPlJlc3Bv
bnNlc1Byb2Nlc3NlZCsrOworICAgICAgICAgICAgQ291bnQrKzsKIAogICAgICAgICAgICAgUmlu
Zy0+U3RvcHBlZCA9IEZBTFNFOwogCkBAIC0yNzg1LDYgKzI3ODksOSBAQCBUcmFuc21pdHRlclJp
bmdQb2xsKAogCiAgICAgICAgIFJpbmctPkZyb250LnJzcF9jb25zID0gcnNwX2NvbnM7CiAgICAg
fQorCitkb25lOgorICAgIHJldHVybiBDb3VudDsKIH0KIAogc3RhdGljIEZPUkNFSU5MSU5FIFZP
SUQKQEAgLTI5NDEsNyArMjk0OCw3IEBAIFRyYW5zbWl0dGVyUmluZ1NjaGVkdWxlKAogCiAgICAg
ICAgIGlmIChSaW5nLT5TdG9wcGVkKSB7CiAgICAgICAgICAgICBpZiAoIVBvbGxlZCkgewotICAg
ICAgICAgICAgICAgIChWT0lEKSBUcmFuc21pdHRlclJpbmdQb2xsKFJpbmcpOworICAgICAgICAg
ICAgICAgIFRyYW5zbWl0dGVyUmluZ1BvbGwoUmluZyk7CiAgICAgICAgICAgICAgICAgUG9sbGVk
ID0gVFJVRTsKICAgICAgICAgICAgIH0KIApAQCAtMzIxMiw5ICszMjE5LDEwIEBAIFRyYW5zbWl0
dGVyUmluZ1JlbGVhc2VMb2NrKAogICAgIF9fVHJhbnNtaXR0ZXJSaW5nUmVsZWFzZUxvY2soUmlu
Zyk7CiB9CiAKLXN0YXRpYyBGT1JDRUlOTElORSBWT0lECitzdGF0aWMgRk9SQ0VJTkxJTkUgQk9P
TEVBTgogX19UcmFuc21pdHRlclJpbmdVbm1hc2soCi0gICAgSU4gIFBYRU5WSUZfVFJBTlNNSVRU
RVJfUklORyAgICBSaW5nCisgICAgSU4gIFBYRU5WSUZfVFJBTlNNSVRURVJfUklORyAgICBSaW5n
LAorICAgIElOICBCT09MRUFOICAgICAgICAgICAgICAgICAgICAgRm9yY2UKICAgICApCiB7CiAg
ICAgUFhFTlZJRl9UUkFOU01JVFRFUiAgICAgICAgICAgICBUcmFuc21pdHRlcjsKQEAgLTMyMjQs
MTMgKzMyMzIsMTMgQEAgX19UcmFuc21pdHRlclJpbmdVbm1hc2soCiAgICAgRnJvbnRlbmQgPSBU
cmFuc21pdHRlci0+RnJvbnRlbmQ7CiAKICAgICBpZiAoIVJpbmctPkNvbm5lY3RlZCB8fCAhRnJv
bnRlbmRJc1NwbGl0KEZyb250ZW5kKSkKLSAgICAgICAgcmV0dXJuOworICAgICAgICByZXR1cm4g
VFJVRTsKIAotICAgIFhFTkJVU19FVlRDSE4oVW5tYXNrLAotICAgICAgICAgICAgICAgICAgJlRy
YW5zbWl0dGVyLT5FdnRjaG5JbnRlcmZhY2UsCi0gICAgICAgICAgICAgICAgICBSaW5nLT5DaGFu
bmVsLAotICAgICAgICAgICAgICAgICAgRkFMU0UsCi0gICAgICAgICAgICAgICAgICBUUlVFKTsK
KyAgICByZXR1cm4gIVhFTkJVU19FVlRDSE4oVW5tYXNrLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAmVHJhbnNtaXR0ZXItPkV2dGNobkludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgUmluZy0+Q2hhbm5lbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgRkFMU0UsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlKTsKIH0KIAogX19kcnZfZnVuY3Rpb25DbGFz
cyhLREVGRVJSRURfUk9VVElORSkKQEAgLTMyNDcsNiArMzI1NSw3IEBAIFRyYW5zbWl0dGVyUmlu
Z1BvbGxEcGMoCiAgICAgKQogewogICAgIFBYRU5WSUZfVFJBTlNNSVRURVJfUklORyAgICBSaW5n
ID0gQ29udGV4dDsKKyAgICBVTE9ORyAgICAgICAgICAgICAgICAgICAgICAgQ291bnQ7CiAKICAg
ICBVTlJFRkVSRU5DRURfUEFSQU1FVEVSKERwYyk7CiAgICAgVU5SRUZFUkVOQ0VEX1BBUkFNRVRF
UihBcmd1bWVudDEpOwpAQCAtMzI1NCwxMyArMzI2MywxNiBAQCBUcmFuc21pdHRlclJpbmdQb2xs
RHBjKAogCiAgICAgQVNTRVJUKFJpbmcgIT0gTlVMTCk7CiAKKyAgICBDb3VudCA9IDA7CisKICAg
ICBmb3IgKDs7KSB7CiAgICAgICAgIF9fVHJhbnNtaXR0ZXJSaW5nQWNxdWlyZUxvY2soUmluZyk7
Ci0gICAgICAgIFRyYW5zbWl0dGVyUmluZ1BvbGwoUmluZyk7CisgICAgICAgIENvdW50ICs9IFRy
YW5zbWl0dGVyUmluZ1BvbGwoUmluZyk7CiAgICAgICAgIF9fVHJhbnNtaXR0ZXJSaW5nUmVsZWFz
ZUxvY2soUmluZyk7CiAKLSAgICAgICAgX19UcmFuc21pdHRlclJpbmdVbm1hc2soUmluZyk7Ci0g
ICAgICAgIGJyZWFrOworICAgICAgICBpZiAoX19UcmFuc21pdHRlclJpbmdVbm1hc2soUmluZywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChDb3VudCA+IFhFTlZJRl9UUkFO
U01JVFRFUl9SSU5HX1NJWkUpKSkKKyAgICAgICAgICAgIGJyZWFrOwogICAgIH0KIH0KIAotLSAK
Mi41LjMKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwp3
aW4tcHYtZGV2ZWwgbWFpbGluZyBsaXN0Cndpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9y
ZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRl
dmVs

From win-pv-devel-bounces@lists.xenproject.org Fri Nov 02 16:54:44 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 02 Nov 2018 16:54:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1gIcia-0003UO-9R; Fri, 02 Nov 2018 16:54:44 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=u19u=nn=citrix.com=prvs=8372cde87=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1gIciZ-0003Tq-0A
 for win-pv-devel@lists.xenproject.org; Fri, 02 Nov 2018 16:54:43 +0000
X-Inumbo-ID: fe458706-debf-11e8-99d4-12d6303a7972
Received: from SMTP03.CITRIX.COM (unknown [162.221.156.55])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id fe458706-debf-11e8-99d4-12d6303a7972;
 Fri, 02 Nov 2018 16:54:42 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.54,456,1534809600"; d="scan'208";a="69510349"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Fri, 2 Nov 2018 16:54:23 +0000
Message-ID: <1541177669-14212-3-git-send-email-paul.durrant@citrix.com>
X-Mailer: git-send-email 2.5.3
In-Reply-To: <1541177669-14212-1-git-send-email-paul.durrant@citrix.com>
References: <1541177669-14212-1-git-send-email-paul.durrant@citrix.com>
MIME-Version: 1.0
Subject: [win-pv-devel] [PATCH xenvif 2/8] Revert "Replace uses of
 MmAllocatePagesForMdlEx in __AllocatePage"
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Paul Durrant <paul.durrant@citrix.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

VGhpcyByZXZlcnRzIGNvbW1pdCA0Zjg1ZDAwNC4gVGhpcyBwYXRjaCB3YXMgcHV0IGluIHBsYWNl
IHRvIHdvcmsgYXJvdW5kCmEgYnVnIGluIFdpbmRvd3MgYnV0IHNlZW1zIHRvIGhhdmUgYSBzZXJp
b3VzIG5lZ2F0aXZlIGVmZmVjdCBvbgpwZXJmb3JtYW5jZS4gVGhlIGJ1ZyBpbiBXaW5kb3dzIGhh
cyBzaW5jZSBiZWVuIGZpeGVkIHNvIHRoZSBwYXRjaCBjYW4gbm93CmJlIHJldmVydGVkIHRvIHJl
Y292ZXIgcGVyZm9ybWFuY2UuCgpTaWduZWQtb2ZmLWJ5OiBQYXVsIER1cnJhbnQgPHBhdWwuZHVy
cmFudEBjaXRyaXguY29tPgotLS0KIHNyYy94ZW52aWYvY29udHJvbGxlci5jICB8IDEyICsrLS0t
LS0tCiBzcmMveGVudmlmL3JlY2VpdmVyLmMgICAgfCA1NiArKysrKysrKystLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQogc3JjL3hlbnZpZi90cmFuc21pdHRlci5jIHwgMjQgKysrKy0tLS0tLS0t
LS0tCiBzcmMveGVudmlmL3V0aWwuaCAgICAgICAgfCA3NiArKy0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDQgZmlsZXMgY2hhbmdlZCwgMjUgaW5zZXJ0aW9u
cygrKSwgMTQzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy94ZW52aWYvY29udHJvbGxl
ci5jIGIvc3JjL3hlbnZpZi9jb250cm9sbGVyLmMKaW5kZXggY2I5ZDMwZS4uMzU5MDFhMiAxMDA2
NDQKLS0tIGEvc3JjL3hlbnZpZi9jb250cm9sbGVyLmMKKysrIGIvc3JjL3hlbnZpZi9jb250cm9s
bGVyLmMKQEAgLTQ2OSw5ICs0NjksNyBAQCBDb250cm9sbGVyQ29ubmVjdCgKICAgICBpZiAoQ29u
dHJvbGxlci0+TWRsID09IE5VTEwpCiAgICAgICAgIGdvdG8gZmFpbDc7CiAKLSAgICBBU1NFUlQo
Q29udHJvbGxlci0+TWRsLT5NZGxGbGFncwotICAgICAgICAgICAgJiAoTURMX01BUFBFRF9UT19T
WVNURU1fVkEKLSAgICAgICAgICAgICAgICB8IE1ETF9TT1VSQ0VfSVNfTk9OUEFHRURfUE9PTCkp
OworICAgIEFTU0VSVChDb250cm9sbGVyLT5NZGwtPk1kbEZsYWdzICYgTURMX01BUFBFRF9UT19T
WVNURU1fVkEpOwogICAgIENvbnRyb2xsZXItPlNoYXJlZCA9IENvbnRyb2xsZXItPk1kbC0+TWFw
cGVkU3lzdGVtVmE7CiAgICAgQVNTRVJUKENvbnRyb2xsZXItPlNoYXJlZCAhPSBOVUxMKTsKIApA
QCAtOTA2LDkgKzkwNCw3IEBAIENvbnRyb2xsZXJTZXRIYXNoS2V5KAogICAgIGlmIChNZGwgPT0g
TlVMTCkKICAgICAgICAgZ290byBmYWlsMTsKIAotICAgIEFTU0VSVChNZGwtPk1kbEZsYWdzCi0g
ICAgICAgICAgICAmIChNRExfTUFQUEVEX1RPX1NZU1RFTV9WQQotICAgICAgICAgICAgICAgIHwg
TURMX1NPVVJDRV9JU19OT05QQUdFRF9QT09MKSk7CisgICAgQVNTRVJUKE1kbC0+TWRsRmxhZ3Mg
JiBNRExfTUFQUEVEX1RPX1NZU1RFTV9WQSk7CiAgICAgQnVmZmVyID0gTWRsLT5NYXBwZWRTeXN0
ZW1WYTsKICAgICBBU1NFUlQoQnVmZmVyICE9IE5VTEwpOwogCkBAIC0xMDg3LDkgKzEwODMsNyBA
QCBDb250cm9sbGVyU2V0SGFzaE1hcHBpbmcoCiAgICAgaWYgKE1kbCA9PSBOVUxMKQogICAgICAg
ICBnb3RvIGZhaWwyOwogCi0gICAgQVNTRVJUKE1kbC0+TWRsRmxhZ3MKLSAgICAgICAgICAgICYg
KE1ETF9NQVBQRURfVE9fU1lTVEVNX1ZBCi0gICAgICAgICAgICAgICAgfCBNRExfU09VUkNFX0lT
X05PTlBBR0VEX1BPT0wpKTsKKyAgICBBU1NFUlQoTWRsLT5NZGxGbGFncyAmIE1ETF9NQVBQRURf
VE9fU1lTVEVNX1ZBKTsKICAgICBCdWZmZXIgPSBNZGwtPk1hcHBlZFN5c3RlbVZhOwogICAgIEFT
U0VSVChCdWZmZXIgIT0gTlVMTCk7CiAKZGlmZiAtLWdpdCBhL3NyYy94ZW52aWYvcmVjZWl2ZXIu
YyBiL3NyYy94ZW52aWYvcmVjZWl2ZXIuYwppbmRleCBmNWQ1NzJiLi40ZTgwNDZiIDEwMDY0NAot
LS0gYS9zcmMveGVudmlmL3JlY2VpdmVyLmMKKysrIGIvc3JjL3hlbnZpZi9yZWNlaXZlci5jCkBA
IC0xNzIsOSArMTcyLDcgQEAgX19SZWNlaXZlclBhY2tldE1kbEluaXQoCiAgICAgUGFja2V0LT5N
ZGwuU2l6ZSA9IHNpemVvZiAoTURMKSArIHNpemVvZiAoUEZOX05VTUJFUik7CiAgICAgUGFja2V0
LT5NZGwuTWRsRmxhZ3MgPSBNZGwtPk1kbEZsYWdzOwogCi0gICAgQVNTRVJUKE1kbC0+TWRsRmxh
Z3MgJgotICAgICAgICAgICAoTURMX01BUFBFRF9UT19TWVNURU1fVkEgfAotICAgICAgICAgICAg
TURMX1NPVVJDRV9JU19OT05QQUdFRF9QT09MKSk7CisgICAgQVNTRVJUKE1kbC0+TWRsRmxhZ3Mg
JiBNRExfTUFQUEVEX1RPX1NZU1RFTV9WQSk7CiAgICAgUGFja2V0LT5NZGwuU3RhcnRWYSA9IE1k
bC0+U3RhcnRWYTsKICAgICBQYWNrZXQtPk1kbC5NYXBwZWRTeXN0ZW1WYSA9IE1kbC0+TWFwcGVk
U3lzdGVtVmE7CiAKQEAgLTQxMSw5ICs0MDksNyBAQCBSZWNlaXZlclJpbmdQcm9jZXNzVGFnKAog
CiAgICAgUGF5bG9hZExlbmd0aCA9IFBhY2tldC0+TGVuZ3RoIC0gSW5mby0+TGVuZ3RoOwogCi0g
ICAgQVNTRVJUKFBhY2tldC0+TWRsLk1kbEZsYWdzICYKLSAgICAgICAgICAgKE1ETF9NQVBQRURf
VE9fU1lTVEVNX1ZBIHwKLSAgICAgICAgICAgIE1ETF9TT1VSQ0VfSVNfTk9OUEFHRURfUE9PTCkp
OworICAgIEFTU0VSVChQYWNrZXQtPk1kbC5NZGxGbGFncyAmIE1ETF9NQVBQRURfVE9fU1lTVEVN
X1ZBKTsKICAgICBCYXNlVmEgPSBQYWNrZXQtPk1kbC5NYXBwZWRTeXN0ZW1WYTsKICAgICBBU1NF
UlQoQmFzZVZhICE9IE5VTEwpOwogCkBAIC01MDQsOSArNTAwLDcgQEAgUmVjZWl2ZXJSaW5nUHJv
Y2Vzc0NoZWNrc3VtKAogICAgIGlmIChJbmZvLT5JcEhlYWRlci5MZW5ndGggPT0gMCkKICAgICAg
ICAgcmV0dXJuOwogCi0gICAgQVNTRVJUKFBhY2tldC0+TWRsLk1kbEZsYWdzICYKLSAgICAgICAg
ICAgKE1ETF9NQVBQRURfVE9fU1lTVEVNX1ZBIHwKLSAgICAgICAgICAgIE1ETF9TT1VSQ0VfSVNf
Tk9OUEFHRURfUE9PTCkpOworICAgIEFTU0VSVChQYWNrZXQtPk1kbC5NZGxGbGFncyAmIE1ETF9N
QVBQRURfVE9fU1lTVEVNX1ZBKTsKICAgICBCYXNlVmEgPSBQYWNrZXQtPk1kbC5NYXBwZWRTeXN0
ZW1WYTsKICAgICBBU1NFUlQoQmFzZVZhICE9IE5VTEwpOwogCkBAIC02NjMsOSArNjU3LDcgQEAg
UmVjZWl2ZXJSaW5nUHVsbHVwKAogICAgICAgICBQVUNIQVIgIFNvdXJjZVZhOwogICAgICAgICBV
TE9ORyAgIENvcHlMZW5ndGg7CiAKLSAgICAgICAgQVNTRVJUKE1kbC0+TWRsRmxhZ3MgJgotICAg
ICAgICAgICAgICAgKE1ETF9NQVBQRURfVE9fU1lTVEVNX1ZBIHwKLSAgICAgICAgICAgICAgICBN
RExfU09VUkNFX0lTX05PTlBBR0VEX1BPT0wpKTsKKyAgICAgICAgQVNTRVJUKE1kbC0+TWRsRmxh
Z3MgJiBNRExfTUFQUEVEX1RPX1NZU1RFTV9WQSk7CiAgICAgICAgIFNvdXJjZVZhID0gTWRsLT5N
YXBwZWRTeXN0ZW1WYTsKICAgICAgICAgQVNTRVJUKFNvdXJjZVZhICE9IE5VTEwpOwogCkBAIC03
MTEsOSArNzAzLDcgQEAgX19SZWNlaXZlclJpbmdQdWxsdXBQYWNrZXQoCiAgICAgWEVOVklGX1BB
Q0tFVF9QQVlMT0FEICAgICAgIFBheWxvYWQ7CiAgICAgVUxPTkcgICAgICAgICAgICAgICAgICAg
ICAgIExlbmd0aDsKIAotICAgIEFTU0VSVChQYWNrZXQtPk1kbC5NZGxGbGFncwotICAgICAgICAg
ICAgJiAoTURMX01BUFBFRF9UT19TWVNURU1fVkEKLSAgICAgICAgICAgICAgICB8IE1ETF9TT1VS
Q0VfSVNfTk9OUEFHRURfUE9PTCkpOworICAgIEFTU0VSVChQYWNrZXQtPk1kbC5NZGxGbGFncyAm
IE1ETF9NQVBQRURfVE9fU1lTVEVNX1ZBKTsKICAgICBCYXNlVmEgPSBQYWNrZXQtPk1kbC5NYXBw
ZWRTeXN0ZW1WYTsKICAgICBBU1NFUlQoQmFzZVZhICE9IE5VTEwpOwogCkBAIC03NTcsOSArNzQ3
LDcgQEAgX19SZWNlaXZlclJpbmdCdWlsZFNlZ21lbnQoCiAKICAgICBJbmZvID0gJlBhY2tldC0+
SW5mbzsKIAotICAgIEFTU0VSVChQYWNrZXQtPk1kbC5NZGxGbGFncyAmCi0gICAgICAgICAgIChN
RExfTUFQUEVEX1RPX1NZU1RFTV9WQSB8Ci0gICAgICAgICAgICBNRExfU09VUkNFX0lTX05PTlBB
R0VEX1BPT0wpKTsKKyAgICBBU1NFUlQoUGFja2V0LT5NZGwuTWRsRmxhZ3MgJiBNRExfTUFQUEVE
X1RPX1NZU1RFTV9WQSk7CiAgICAgSW5mb1ZhID0gUGFja2V0LT5NZGwuTWFwcGVkU3lzdGVtVmE7
CiAgICAgQVNTRVJUKEluZm9WYSAhPSBOVUxMKTsKIApAQCAtNzgyLDkgKzc3MCw3IEBAIF9fUmVj
ZWl2ZXJSaW5nQnVpbGRTZWdtZW50KAogCiAgICAgTWRsID0gJlNlZ21lbnQtPk1kbDsKIAotICAg
IEFTU0VSVChNZGwtPk1kbEZsYWdzICYKLSAgICAgICAgICAgKE1ETF9NQVBQRURfVE9fU1lTVEVN
X1ZBIHwKLSAgICAgICAgICAgIE1ETF9TT1VSQ0VfSVNfTk9OUEFHRURfUE9PTCkpOworICAgIEFT
U0VSVChNZGwtPk1kbEZsYWdzICYgTURMX01BUFBFRF9UT19TWVNURU1fVkEpOwogICAgIEJhc2VW
YSA9IE1kbC0+TWFwcGVkU3lzdGVtVmE7CiAgICAgQVNTRVJUKEJhc2VWYSAhPSBOVUxMKTsKIApA
QCAtODY2LDkgKzg1Miw3IEBAIF9fUmVjZWl2ZXJSaW5nQnVpbGRTZWdtZW50KAogCiAgICAgICAg
IE1kbCA9IE1kbC0+TmV4dDsKIAotICAgICAgICBBU1NFUlQoTWRsLT5NZGxGbGFncyAmCi0gICAg
ICAgICAgICAgICAoTURMX01BUFBFRF9UT19TWVNURU1fVkEgfAotICAgICAgICAgICAgICAgIE1E
TF9TT1VSQ0VfSVNfTk9OUEFHRURfUE9PTCkpOworICAgICAgICBBU1NFUlQoTWRsLT5NZGxGbGFn
cyAmIE1ETF9NQVBQRURfVE9fU1lTVEVNX1ZBKTsKICAgICAgICAgQmFzZVZhID0gTWRsLT5NYXBw
ZWRTeXN0ZW1WYTsKICAgICAgICAgQVNTRVJUKEJhc2VWYSAhPSBOVUxMKTsKIApAQCAtOTcwLDkg
Kzk1NCw3IEBAIFJlY2VpdmVyUmluZ1Byb2Nlc3NMYXJnZVBhY2tldCgKIAogICAgIFBhY2tldC0+
TWRsLk5leHQgPSBOVUxMOwogCi0gICAgQVNTRVJUKFBhY2tldC0+TWRsLk1kbEZsYWdzICYKLSAg
ICAgICAgICAgKE1ETF9NQVBQRURfVE9fU1lTVEVNX1ZBIHwKLSAgICAgICAgICAgIE1ETF9TT1VS
Q0VfSVNfTk9OUEFHRURfUE9PTCkpOworICAgIEFTU0VSVChQYWNrZXQtPk1kbC5NZGxGbGFncyAm
IE1ETF9NQVBQRURfVE9fU1lTVEVNX1ZBKTsKICAgICBJbmZvVmEgPSBQYWNrZXQtPk1kbC5NYXBw
ZWRTeXN0ZW1WYTsKICAgICBBU1NFUlQoSW5mb1ZhICE9IE5VTEwpOwogCkBAIC0xMTY0LDkgKzEx
NDYsNyBAQCBSZWNlaXZlclJpbmdQcm9jZXNzU3RhbmRhcmRQYWNrZXQoCiAgICAgICAgIGlmIChN
ZGwgPT0gTlVMTCkKICAgICAgICAgICAgIGdvdG8gZmFpbDI7CiAKLSAgICAgICAgQVNTRVJUKE1k
bC0+TWRsRmxhZ3MgJgotICAgICAgICAgICAgICAgKE1ETF9NQVBQRURfVE9fU1lTVEVNX1ZBIHwK
LSAgICAgICAgICAgICAgICBNRExfU09VUkNFX0lTX05PTlBBR0VEX1BPT0wpKTsKKyAgICAgICAg
QVNTRVJUKE1kbC0+TWRsRmxhZ3MgJiBNRExfTUFQUEVEX1RPX1NZU1RFTV9WQSk7CiAgICAgICAg
IEJhc2VWYSA9IE1kbC0+TWFwcGVkU3lzdGVtVmE7CiAgICAgICAgIEFTU0VSVChCYXNlVmEgIT0g
TlVMTCk7CiAKQEAgLTEyNjksOSArMTI0OSw3IEBAIFJlY2VpdmVyUmluZ1Byb2Nlc3NQYWNrZXQo
CiAgICAgLy8gT3ZlcnJpZGUgb2Zmc2V0IHRvIGFsaWduCiAgICAgUGFja2V0LT5PZmZzZXQgPSBS
ZWNlaXZlci0+SXBBbGlnbk9mZnNldDsKIAotICAgIEFTU0VSVChQYWNrZXQtPk1kbC5NZGxGbGFn
cyAmCi0gICAgICAgICAgIChNRExfTUFQUEVEX1RPX1NZU1RFTV9WQSB8Ci0gICAgICAgICAgICBN
RExfU09VUkNFX0lTX05PTlBBR0VEX1BPT0wpKTsKKyAgICBBU1NFUlQoUGFja2V0LT5NZGwuTWRs
RmxhZ3MgJiBNRExfTUFQUEVEX1RPX1NZU1RFTV9WQSk7CiAgICAgQmFzZVZhID0gUGFja2V0LT5N
ZGwuTWFwcGVkU3lzdGVtVmE7CiAgICAgQVNTRVJUKEJhc2VWYSAhPSBOVUxMKTsKIApAQCAtMTQw
Niw5ICsxMzg0LDcgQEAgX19SZWNlaXZlclJpbmdTd2l6emxlKAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBYRU5WSUZfUkVDRUlWRVJfUEFDS0VULAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBMaXN0RW50cnkpOwogCi0gICAgICAgIEFTU0VSVChQYWNrZXQt
Pk1kbC5NZGxGbGFncyAmCi0gICAgICAgICAgICAgICAoTURMX01BUFBFRF9UT19TWVNURU1fVkEg
fAotICAgICAgICAgICAgICAgIE1ETF9TT1VSQ0VfSVNfTk9OUEFHRURfUE9PTCkpOworICAgICAg
ICBBU1NFUlQoUGFja2V0LT5NZGwuTWRsRmxhZ3MgJiBNRExfTUFQUEVEX1RPX1NZU1RFTV9WQSk7
CiAgICAgICAgIEJhc2VWYSA9IFBhY2tldC0+TWRsLk1hcHBlZFN5c3RlbVZhOwogICAgICAgICBB
U1NFUlQoQmFzZVZhICE9IE5VTEwpOwogCkBAIC0yMTA1LDkgKzIwODEsNyBAQCBSZWNlaXZlclJp
bmdQb2xsKAogCiAgICAgICAgICAgICAgICAgQVNTRVJUM1UocnNwLT5pZCwgPT0sIGlkKTsKIAot
ICAgICAgICAgICAgICAgIEFTU0VSVChNZGwtPk1kbEZsYWdzICYKLSAgICAgICAgICAgICAgICAg
ICAgICAgKE1ETF9NQVBQRURfVE9fU1lTVEVNX1ZBIHwKLSAgICAgICAgICAgICAgICAgICAgICAg
IE1ETF9TT1VSQ0VfSVNfTk9OUEFHRURfUE9PTCkpOworICAgICAgICAgICAgICAgIEFTU0VSVChN
ZGwtPk1kbEZsYWdzICYgTURMX01BUFBFRF9UT19TWVNURU1fVkEpOwogICAgICAgICAgICAgICAg
IEJhc2VWYSA9IE1kbC0+TWFwcGVkU3lzdGVtVmE7CiAgICAgICAgICAgICAgICAgQVNTRVJUKEJh
c2VWYSAhPSBOVUxMKTsKIApAQCAtMjQ5OCw5ICsyNDcyLDcgQEAgX19SZWNlaXZlclJpbmdDb25u
ZWN0KAogICAgIGlmIChSaW5nLT5NZGwgPT0gTlVMTCkKICAgICAgICAgZ290byBmYWlsMzsKIAot
ICAgIEFTU0VSVChSaW5nLT5NZGwtPk1kbEZsYWdzICYKLSAgICAgICAgICAgKE1ETF9NQVBQRURf
VE9fU1lTVEVNX1ZBIHwKLSAgICAgICAgICAgIE1ETF9TT1VSQ0VfSVNfTk9OUEFHRURfUE9PTCkp
OworICAgIEFTU0VSVChSaW5nLT5NZGwtPk1kbEZsYWdzICYgTURMX01BUFBFRF9UT19TWVNURU1f
VkEpOwogICAgIFJpbmctPlNoYXJlZCA9IFJpbmctPk1kbC0+TWFwcGVkU3lzdGVtVmE7CiAgICAg
QVNTRVJUKFJpbmctPlNoYXJlZCAhPSBOVUxMKTsKIApkaWZmIC0tZ2l0IGEvc3JjL3hlbnZpZi90
cmFuc21pdHRlci5jIGIvc3JjL3hlbnZpZi90cmFuc21pdHRlci5jCmluZGV4IGIxZDkyNTAuLmVl
ZDBhMGYgMTAwNjQ0Ci0tLSBhL3NyYy94ZW52aWYvdHJhbnNtaXR0ZXIuYworKysgYi9zcmMveGVu
dmlmL3RyYW5zbWl0dGVyLmMKQEAgLTg2Niw5ICs4NjYsNyBAQCBfX1RyYW5zbWl0dGVyUmluZ0Nv
cHlQYXlsb2FkKAogCiAgICAgICAgIExlbmd0aCA9IF9fbWluKFBheWxvYWQuTGVuZ3RoLCBQQUdF
X1NJWkUpOwogCi0gICAgICAgIEFTU0VSVChNZGwtPk1kbEZsYWdzICYKLSAgICAgICAgICAgICAg
IChNRExfTUFQUEVEX1RPX1NZU1RFTV9WQSB8Ci0gICAgICAgICAgICAgICAgTURMX1NPVVJDRV9J
U19OT05QQUdFRF9QT09MKSk7CisgICAgICAgIEFTU0VSVChNZGwtPk1kbEZsYWdzICYgTURMX01B
UFBFRF9UT19TWVNURU1fVkEpOwogICAgICAgICBCYXNlVmEgPSBNZGwtPk1hcHBlZFN5c3RlbVZh
OwogICAgICAgICBBU1NFUlQoQmFzZVZhICE9IE5VTEwpOwogCkBAIC0xMTg4LDkgKzExODYsNyBA
QCBfX1RyYW5zbWl0dGVyUmluZ1ByZXBhcmVIZWFkZXIoCiAKICAgICBNZGwgPSBCdWZmZXItPk1k
bDsKIAotICAgIEFTU0VSVChNZGwtPk1kbEZsYWdzICYKLSAgICAgICAgICAgKE1ETF9NQVBQRURf
VE9fU1lTVEVNX1ZBIHwKLSAgICAgICAgICAgIE1ETF9TT1VSQ0VfSVNfTk9OUEFHRURfUE9PTCkp
OworICAgIEFTU0VSVChNZGwtPk1kbEZsYWdzICYgTURMX01BUFBFRF9UT19TWVNURU1fVkEpOwog
ICAgIEJhc2VWYSA9IE1kbC0+TWFwcGVkU3lzdGVtVmE7CiAgICAgQVNTRVJUKEJhc2VWYSAhPSBO
VUxMKTsKIApAQCAtMTY4Nyw5ICsxNjgzLDcgQEAgX19UcmFuc21pdHRlclJpbmdQcmVwYXJlUGFj
a2V0KAogCiAgICAgICAgICAgICBBU1NFUlQzVShNZGwtPkJ5dGVDb3VudCwgPD0sIFBBR0VfU0la
RSAtIFRyYWlsZXIpOwogCi0gICAgICAgICAgICBBU1NFUlQoTWRsLT5NZGxGbGFncyAmCi0gICAg
ICAgICAgICAgICAgICAgKE1ETF9NQVBQRURfVE9fU1lTVEVNX1ZBIHwKLSAgICAgICAgICAgICAg
ICAgICAgTURMX1NPVVJDRV9JU19OT05QQUdFRF9QT09MKSk7CisgICAgICAgICAgICBBU1NFUlQo
TWRsLT5NZGxGbGFncyAmIE1ETF9NQVBQRURfVE9fU1lTVEVNX1ZBKTsKICAgICAgICAgICAgIEJh
c2VWYSA9IE1kbC0+TWFwcGVkU3lzdGVtVmE7CiAgICAgICAgICAgICBBU1NFUlQoQmFzZVZhICE9
IE5VTEwpOwogCkBAIC0xNzg4LDkgKzE3ODIsNyBAQCBfX1RyYW5zbWl0dGVyUmluZ1ByZXBhcmVB
cnAoCiAKICAgICBNZGwgPSBCdWZmZXItPk1kbDsKIAotICAgIEFTU0VSVChNZGwtPk1kbEZsYWdz
ICYKLSAgICAgICAgICAgKE1ETF9NQVBQRURfVE9fU1lTVEVNX1ZBIHwKLSAgICAgICAgICAgIE1E
TF9TT1VSQ0VfSVNfTk9OUEFHRURfUE9PTCkpOworICAgIEFTU0VSVChNZGwtPk1kbEZsYWdzICYg
TURMX01BUFBFRF9UT19TWVNURU1fVkEpOwogICAgIEJhc2VWYSA9IE1kbC0+TWFwcGVkU3lzdGVt
VmE7CiAgICAgQVNTRVJUKEJhc2VWYSAhPSBOVUxMKTsKIApAQCAtMTkzMSw5ICsxOTIzLDcgQEAg
X19UcmFuc21pdHRlclJpbmdQcmVwYXJlTmVpZ2hib3VyQWR2ZXJ0aXNlbWVudCgKIAogICAgIE1k
bCA9IEJ1ZmZlci0+TWRsOwogCi0gICAgQVNTRVJUKE1kbC0+TWRsRmxhZ3MgJgotICAgICAgICAg
ICAoTURMX01BUFBFRF9UT19TWVNURU1fVkEgfAotICAgICAgICAgICAgTURMX1NPVVJDRV9JU19O
T05QQUdFRF9QT09MKSk7CisgICAgQVNTRVJUKE1kbC0+TWRsRmxhZ3MgJiBNRExfTUFQUEVEX1RP
X1NZU1RFTV9WQSk7CiAgICAgQmFzZVZhID0gTWRsLT5NYXBwZWRTeXN0ZW1WYTsKICAgICBBU1NF
UlQoQmFzZVZhICE9IE5VTEwpOwogCkBAIC0zNTYwLDkgKzM1NTAsNyBAQCBfX1RyYW5zbWl0dGVy
UmluZ0Nvbm5lY3QoCiAgICAgaWYgKFJpbmctPk1kbCA9PSBOVUxMKQogICAgICAgICBnb3RvIGZh
aWwzOwogCi0gICAgQVNTRVJUKFJpbmctPk1kbC0+TWRsRmxhZ3MgJgotICAgICAgICAgICAoTURM
X01BUFBFRF9UT19TWVNURU1fVkEgfAotICAgICAgICAgICAgTURMX1NPVVJDRV9JU19OT05QQUdF
RF9QT09MKSk7CisgICAgQVNTRVJUKFJpbmctPk1kbC0+TWRsRmxhZ3MgJiBNRExfTUFQUEVEX1RP
X1NZU1RFTV9WQSk7CiAgICAgUmluZy0+U2hhcmVkID0gUmluZy0+TWRsLT5NYXBwZWRTeXN0ZW1W
YTsKICAgICBBU1NFUlQoUmluZy0+U2hhcmVkICE9IE5VTEwpOwogCmRpZmYgLS1naXQgYS9zcmMv
eGVudmlmL3V0aWwuaCBiL3NyYy94ZW52aWYvdXRpbC5oCmluZGV4IDUyZmFhMWUuLjMwMzIyZDgg
MTAwNjQ0Ci0tLSBhL3NyYy94ZW52aWYvdXRpbC5oCisrKyBiL3NyYy94ZW52aWYvdXRpbC5oCkBA
IC0yNDQsNjMgKzI0NCw3IEBAIGZhaWwxOgogICAgIHJldHVybiBOVUxMOwogfQogCi0KLXN0YXRp
YyBGT1JDRUlOTElORSBQTURMCi1fX0FsbG9jYXRlUGFnZSgpCi17Ci0gICAgUEhZU0lDQUxfQURE
UkVTUyAgICBMb3dBZGRyZXNzOwotICAgIFBIWVNJQ0FMX0FERFJFU1MgICAgSGlnaEFkZHJlc3M7
Ci0gICAgUEhZU0lDQUxfQUREUkVTUyAgICBBbGlnbjsKLSAgICBTSVpFX1QgICAgICAgICAgICAg
IFRvdGFsQnl0ZXM7Ci0gICAgUE1ETCAgICAgICAgICAgICAgICBNZGw7Ci0gICAgUFVDSEFSICAg
ICAgICAgICAgICBNZGxNYXBwZWRTeXN0ZW1WYTsKLSAgICBOVFNUQVRVUyAgICAgICAgICAgIHN0
YXR1czsKLQotICAgIEFTU0VSVDNVKEtlR2V0Q3VycmVudElycWwoKSwgPD0sIERJU1BBVENIX0xF
VkVMKTsKLQotICAgIExvd0FkZHJlc3MuUXVhZFBhcnQgID0gMHVsbDsKLSAgICBIaWdoQWRkcmVz
cy5RdWFkUGFydCA9IH4wdWxsOwotICAgIEFsaWduLlF1YWRQYXJ0ICAgICAgID0gUEFHRV9TSVpF
OwotICAgIFRvdGFsQnl0ZXMgICAgICAgICAgID0gKFNJWkVfVClQQUdFX1NJWkU7Ci0KLSAgICBN
ZGxNYXBwZWRTeXN0ZW1WYSA9IE1tQWxsb2NhdGVDb250aWd1b3VzTWVtb3J5U3BlY2lmeUNhY2hl
KAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvdGFsQnl0ZXMsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgTG93QWRkcmVzcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBI
aWdoQWRkcmVzcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbGlnbiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBNbUNhY2hlZCk7Ci0KLSAgICBzdGF0dXMgPSBTVEFUVVNfTk9f
TUVNT1JZOwotICAgIGlmIChNZGxNYXBwZWRTeXN0ZW1WYSA9PSBOVUxMKQotICAgICAgICBnb3Rv
IGZhaWwxOwotCi0gICAgTWRsID0gSW9BbGxvY2F0ZU1kbChNZGxNYXBwZWRTeXN0ZW1WYSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgIChVTE9ORylUb3RhbEJ5dGVzLAotICAgICAgICAgICAgICAg
ICAgICAgICAgRkFMU0UsCi0gICAgICAgICAgICAgICAgICAgICAgICBGQUxTRSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgIE5VTEwpOwotICAgIGlmIChNZGwgPT0gTlVMTCkKLSAgICAgICAgZ290
byBmYWlsMjsKLQotICAgIE1tQnVpbGRNZGxGb3JOb25QYWdlZFBvb2woTWRsKTsKLQotICAgIEFT
U0VSVDNVKE1kbC0+Qnl0ZU9mZnNldCwgPT0sIDApOwotICAgIEFTU0VSVDNQKE1kbC0+U3RhcnRW
YSwgPT0sIE1kbE1hcHBlZFN5c3RlbVZhKTsKLSAgICBBU1NFUlQzUChNZGwtPk1hcHBlZFN5c3Rl
bVZhLCA9PSwgTWRsTWFwcGVkU3lzdGVtVmEpOwotCi0gICAgUnRsWmVyb01lbW9yeShNZGxNYXBw
ZWRTeXN0ZW1WYSwgTWRsLT5CeXRlQ291bnQpOwotCi0gICAgcmV0dXJuIE1kbDsKLQotZmFpbDI6
Ci0gICAgRXJyb3IoImZhaWwyXG4iKTsKLQotICAgIE1tRnJlZUNvbnRpZ3VvdXNNZW1vcnkoTWRs
TWFwcGVkU3lzdGVtVmEpOwotZmFpbDE6Ci0gICAgRXJyb3IoImZhaWwxICglMDh4KVxuIiwgc3Rh
dHVzKTsKLQotICAgIHJldHVybiBOVUxMOwotfQorI2RlZmluZSBfX0FsbG9jYXRlUGFnZSgpICAg
IF9fQWxsb2NhdGVQYWdlcygxKQogCiBzdGF0aWMgRk9SQ0VJTkxJTkUgVk9JRAogX19GcmVlUGFn
ZXMoCkBAIC0zMTgsMjMgKzI2Miw3IEBAIF9fRnJlZVBhZ2VzKAogICAgIEV4RnJlZVBvb2woTWRs
KTsKIH0KIAotc3RhdGljIEZPUkNFSU5MSU5FIFZPSUQKLV9fRnJlZVBhZ2UoCi0gICAgSU4gIFBN
REwgICAgTWRsCi0gICAgKQotewotICAgIFBVQ0hBUiAgTWRsTWFwcGVkU3lzdGVtVmE7Ci0KLSAg
ICBBU1NFUlQoTWRsLT5NZGxGbGFncyAmCi0gICAgICAgICAgICAoTURMX01BUFBFRF9UT19TWVNU
RU1fVkEgfAotICAgICAgICAgICAgIE1ETF9TT1VSQ0VfSVNfTk9OUEFHRURfUE9PTCkpOwotCi0g
ICAgTWRsTWFwcGVkU3lzdGVtVmEgPSBNZGwtPk1hcHBlZFN5c3RlbVZhOwotCi0gICAgSW9GcmVl
TWRsKE1kbCk7Ci0KLSAgICBNbUZyZWVDb250aWd1b3VzTWVtb3J5KE1kbE1hcHBlZFN5c3RlbVZh
KTsKLX0KKyNkZWZpbmUgX19GcmVlUGFnZShfTWRsKSAgICBfX0ZyZWVQYWdlcyhfTWRsKQogCiBz
dGF0aWMgRk9SQ0VJTkxJTkUgUENIQVIKIF9fc3RydG9rX3IoCi0tIAoyLjUuMwoKCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCndpbi1wdi1kZXZlbCBtYWls
aW5nIGxpc3QKd2luLXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMu
eGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby93aW4tcHYtZGV2ZWw=

From win-pv-devel-bounces@lists.xenproject.org Fri Nov 02 16:54:45 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 02 Nov 2018 16:54:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1gIcib-0003Vd-CJ; Fri, 02 Nov 2018 16:54:45 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=u19u=nn=citrix.com=prvs=8372cde87=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1gIcia-0003UA-6n
 for win-pv-devel@lists.xenproject.org; Fri, 02 Nov 2018 16:54:44 +0000
X-Inumbo-ID: fea896d4-debf-11e8-a168-12d6303a7972
Received: from SMTP03.CITRIX.COM (unknown [162.221.156.55])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id fea896d4-debf-11e8-a168-12d6303a7972;
 Fri, 02 Nov 2018 16:54:43 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.54,456,1534809600"; d="scan'208";a="69510356"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Fri, 2 Nov 2018 16:54:29 +0000
Message-ID: <1541177669-14212-9-git-send-email-paul.durrant@citrix.com>
X-Mailer: git-send-email 2.5.3
In-Reply-To: <1541177669-14212-1-git-send-email-paul.durrant@citrix.com>
References: <1541177669-14212-1-git-send-email-paul.durrant@citrix.com>
MIME-Version: 1.0
Subject: [win-pv-devel] [PATCH xenvif 8/8] Set packet transmit completion
 information outside of ring lock
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Paul Durrant <paul.durrant@citrix.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

VGhlcmUgaXMgbm8gbmVlZCB0byBob2xkIHRoZSByaW5nIGxvY2sgdG8gdXBkYXRlIHRoZSBwYWNr
ZXQgdHJhbnNtaXQKY29tcGxldGlvbiBpbmZvcm1hdGlvbiwgb3IgdXBkYXRlIHRoZSBmcm9udGVu
ZCBzdGF0aXN0aWNzLiBUaGlzIHBhdGNoCmNyZWF0ZXMgYSBuZXcgX19UcmFuc21pdHRlclNldENv
bXBsZXRpb25JbmZvKCkgZnVuY3Rpb24gYW5kIGNhbGxzIHRoaXMKanVzdCBiZWZvcmUgcmV0dXJu
aW5nIGVhY2ggcGFja2V0IHRvIFhFTk5FVCwgYWZ0ZXIgdGhlIHJpbmcgbG9jayBoYXMgYmVlbgpk
cm9wcGVkLgoKU2lnbmVkLW9mZi1ieTogUGF1bCBEdXJyYW50IDxwYXVsLmR1cnJhbnRAY2l0cml4
LmNvbT4KLS0tCiBzcmMveGVudmlmL3RyYW5zbWl0dGVyLmMgfCAzMzMgKysrKysrKysrKysrKysr
KysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxNjkgaW5z
ZXJ0aW9ucygrKSwgMTY0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy94ZW52aWYvdHJh
bnNtaXR0ZXIuYyBiL3NyYy94ZW52aWYvdHJhbnNtaXR0ZXIuYwppbmRleCAzNDAyOGU3Li5hNWUy
ZTcyIDEwMDY0NAotLS0gYS9zcmMveGVudmlmL3RyYW5zbWl0dGVyLmMKKysrIGIvc3JjL3hlbnZp
Zi90cmFuc21pdHRlci5jCkBAIC0yNDQ4LDE2OCArMjQ0OCw2IEBAIF9fVHJhbnNtaXR0ZXJSaW5n
Q29tcGxldGVQYWNrZXQoCiAgICAgSU4gIFBYRU5WSUZfVFJBTlNNSVRURVJfUEFDS0VUICBQYWNr
ZXQKICAgICApCiB7Ci0gICAgUFhFTlZJRl9UUkFOU01JVFRFUiAgICAgICAgICAgICBUcmFuc21p
dHRlcjsKLSAgICBQWEVOVklGX0ZST05URU5EICAgICAgICAgICAgICAgIEZyb250ZW5kOwotICAg
IFBYRU5WSUZfUEFDS0VUX1BBWUxPQUQgICAgICAgICAgUGF5bG9hZDsKLSAgICBQWEVOVklGX1BB
Q0tFVF9JTkZPICAgICAgICAgICAgIEluZm87Ci0gICAgUFVDSEFSICAgICAgICAgICAgICAgICAg
ICAgICAgICBCYXNlVmE7Ci0gICAgUEVUSEVSTkVUX0hFQURFUiAgICAgICAgICAgICAgICBFdGhl
cm5ldEhlYWRlcjsKLSAgICBQRVRIRVJORVRfQUREUkVTUyAgICAgICAgICAgICAgIERlc3RpbmF0
aW9uQWRkcmVzczsKLSAgICBFVEhFUk5FVF9BRERSRVNTX1RZUEUgICAgICAgICAgIFR5cGU7Ci0K
LSAgICBUcmFuc21pdHRlciA9IFJpbmctPlRyYW5zbWl0dGVyOwotICAgIEZyb250ZW5kID0gVHJh
bnNtaXR0ZXItPkZyb250ZW5kOwotCi0gICAgQVNTRVJUKFBhY2tldC0+Q29tcGxldGlvbi5TdGF0
dXMgIT0gMCk7Ci0KLSAgICBpZiAoUGFja2V0LT5Db21wbGV0aW9uLlN0YXR1cyAhPSBYRU5WSUZf
VFJBTlNNSVRURVJfUEFDS0VUX09LKSB7Ci0gICAgICAgIEZyb250ZW5kSW5jcmVtZW50U3RhdGlz
dGljKEZyb250ZW5kLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYRU5WSUZf
VFJBTlNNSVRURVJfUEFDS0VUU19EUk9QUEVELAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAxKTsKLQotICAgICAgICBpZiAoUGFja2V0LT5Db21wbGV0aW9uLlN0YXR1cyA9PSBY
RU5WSUZfVFJBTlNNSVRURVJfUEFDS0VUX0VSUk9SKQotICAgICAgICAgICAgRnJvbnRlbmRJbmNy
ZW1lbnRTdGF0aXN0aWMoRnJvbnRlbmQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBYRU5WSUZfVFJBTlNNSVRURVJfQkFDS0VORF9FUlJPUlMsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAxKTsKLQotICAgICAgICBnb3RvIGRvbmU7Ci0gICAg
fQotCi0gICAgQmFzZVZhID0gUGFja2V0LT5IZWFkZXI7Ci0gICAgSW5mbyA9ICZQYWNrZXQtPklu
Zm87Ci0gICAgUGF5bG9hZCA9ICZQYWNrZXQtPlBheWxvYWQ7Ci0KLSAgICBBU1NFUlQoSW5mby0+
RXRoZXJuZXRIZWFkZXIuTGVuZ3RoICE9IDApOwotICAgIEV0aGVybmV0SGVhZGVyID0gKFBFVEhF
Uk5FVF9IRUFERVIpKEJhc2VWYSArIEluZm8tPkV0aGVybmV0SGVhZGVyLk9mZnNldCk7Ci0KLSAg
ICBEZXN0aW5hdGlvbkFkZHJlc3MgPSAmRXRoZXJuZXRIZWFkZXItPkRlc3RpbmF0aW9uQWRkcmVz
czsKLQotICAgIFR5cGUgPSBHRVRfRVRIRVJORVRfQUREUkVTU19UWVBFKERlc3RpbmF0aW9uQWRk
cmVzcyk7Ci0KLSAgICBzd2l0Y2ggKFR5cGUpIHsKLSAgICBjYXNlIEVUSEVSTkVUX0FERFJFU1Nf
VU5JQ0FTVDoKLSAgICAgICAgRnJvbnRlbmRJbmNyZW1lbnRTdGF0aXN0aWMoRnJvbnRlbmQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhFTlZJRl9UUkFOU01JVFRFUl9VTklD
QVNUX1BBQ0tFVFMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEpOwotICAg
ICAgICBGcm9udGVuZEluY3JlbWVudFN0YXRpc3RpYyhGcm9udGVuZCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgWEVOVklGX1RSQU5TTUlUVEVSX1VOSUNBU1RfT0NURVRTLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYWNrZXQtPkxlbmd0aCk7Ci0gICAg
ICAgIGJyZWFrOwotCi0gICAgY2FzZSBFVEhFUk5FVF9BRERSRVNTX01VTFRJQ0FTVDoKLSAgICAg
ICAgRnJvbnRlbmRJbmNyZW1lbnRTdGF0aXN0aWMoRnJvbnRlbmQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFhFTlZJRl9UUkFOU01JVFRFUl9NVUxUSUNBU1RfUEFDS0VUUywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSk7Ci0gICAgICAgIEZyb250ZW5k
SW5jcmVtZW50U3RhdGlzdGljKEZyb250ZW5kLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBYRU5WSUZfVFJBTlNNSVRURVJfTVVMVElDQVNUX09DVEVUUywKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgUGFja2V0LT5MZW5ndGgpOwotICAgICAgICBicmVhazsK
LQotICAgIGNhc2UgRVRIRVJORVRfQUREUkVTU19CUk9BRENBU1Q6Ci0gICAgICAgIEZyb250ZW5k
SW5jcmVtZW50U3RhdGlzdGljKEZyb250ZW5kLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBYRU5WSUZfVFJBTlNNSVRURVJfQlJPQURDQVNUX1BBQ0tFVFMsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDEpOwotICAgICAgICBGcm9udGVuZEluY3JlbWVudFN0
YXRpc3RpYyhGcm9udGVuZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWEVO
VklGX1RSQU5TTUlUVEVSX0JST0FEQ0FTVF9PQ1RFVFMsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFBhY2tldC0+TGVuZ3RoKTsKLSAgICAgICAgYnJlYWs7Ci0KLSAgICBkZWZh
dWx0OgotICAgICAgICBBU1NFUlQoRkFMU0UpOwotICAgICAgICBicmVhazsKLSAgICB9Ci0KLSAg
ICBpZiAoRVRIRVJORVRfSEVBREVSX0lTX1RBR0dFRChFdGhlcm5ldEhlYWRlcikpCi0gICAgICAg
IEZyb250ZW5kSW5jcmVtZW50U3RhdGlzdGljKEZyb250ZW5kLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBYRU5WSUZfVFJBTlNNSVRURVJfVEFHR0VEX1BBQ0tFVFMsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEpOwotCi0gICAgaWYgKEluZm8tPkxMQ1Nu
YXBIZWFkZXIuTGVuZ3RoICE9IDApCi0gICAgICAgIEZyb250ZW5kSW5jcmVtZW50U3RhdGlzdGlj
KEZyb250ZW5kLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYRU5WSUZfVFJB
TlNNSVRURVJfTExDX1NOQVBfUEFDS0VUUywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMSk7Ci0KLSAgICBpZiAoSW5mby0+SXBIZWFkZXIuTGVuZ3RoICE9IDApIHsKLSAgICAg
ICAgUElQX0hFQURFUiAgSXBIZWFkZXIgPSAoUElQX0hFQURFUikoQmFzZVZhICsgSW5mby0+SXBI
ZWFkZXIuT2Zmc2V0KTsKLQotICAgICAgICBpZiAoSXBIZWFkZXItPlZlcnNpb24gPT0gNCkgewot
ICAgICAgICAgICAgRnJvbnRlbmRJbmNyZW1lbnRTdGF0aXN0aWMoRnJvbnRlbmQsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYRU5WSUZfVFJBTlNNSVRURVJfSVBWNF9Q
QUNLRVRTLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSk7Ci0gICAg
ICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBBU1NFUlQzVShJcEhlYWRlci0+VmVyc2lvbiwgPT0s
IDYpOwotCi0gICAgICAgICAgICBGcm9udGVuZEluY3JlbWVudFN0YXRpc3RpYyhGcm9udGVuZCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhFTlZJRl9UUkFOU01JVFRF
Ul9JUFY2X1BBQ0tFVFMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAx
KTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGlmIChJbmZvLT5UY3BIZWFkZXIuTGVuZ3RoICE9
IDApCi0gICAgICAgIEZyb250ZW5kSW5jcmVtZW50U3RhdGlzdGljKEZyb250ZW5kLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYRU5WSUZfVFJBTlNNSVRURVJfVENQX1BBQ0tF
VFMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEpOwotCi0gICAgaWYgKElu
Zm8tPlVkcEhlYWRlci5MZW5ndGggIT0gMCkKLSAgICAgICAgRnJvbnRlbmRJbmNyZW1lbnRTdGF0
aXN0aWMoRnJvbnRlbmQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhFTlZJ
Rl9UUkFOU01JVFRFUl9VRFBfUEFDS0VUUywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMSk7Ci0KLSAgICBpZiAoUGFja2V0LT5NYXhpbXVtU2VnbWVudFNpemUgIT0gMCkKLSAg
ICAgICAgRnJvbnRlbmRJbmNyZW1lbnRTdGF0aXN0aWMoRnJvbnRlbmQsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFhFTlZJRl9UUkFOU01JVFRFUl9HU09fUEFDS0VUUywKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSk7Ci0KLSAgIGlmIChQYWNrZXQtPkZs
YWdzLklwQ2hlY2tzdW1TdWNjZWVkZWQgIT0gMCkKLSAgICAgICBGcm9udGVuZEluY3JlbWVudFN0
YXRpc3RpYyhGcm9udGVuZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYRU5W
SUZfVFJBTlNNSVRURVJfSVBWNF9DSEVDS1NVTV9TVUNDRUVERUQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMSk7Ci0KLSAgIGlmIChQYWNrZXQtPkZsYWdzLklwQ2hlY2tzdW1G
YWlsZWQgIT0gMCkKLSAgICAgICBGcm9udGVuZEluY3JlbWVudFN0YXRpc3RpYyhGcm9udGVuZCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYRU5WSUZfVFJBTlNNSVRURVJfSVBW
NF9DSEVDS1NVTV9GQUlMRUQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSk7
Ci0KLSAgIGlmIChQYWNrZXQtPkZsYWdzLklwQ2hlY2tzdW1Ob3RWYWxpZGF0ZWQgIT0gMCkKLSAg
ICAgICBGcm9udGVuZEluY3JlbWVudFN0YXRpc3RpYyhGcm9udGVuZCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBYRU5WSUZfVFJBTlNNSVRURVJfSVBWNF9DSEVDS1NVTV9OT1Rf
VkFMSURBVEVELAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEpOwotCi0gICBp
ZiAoUGFja2V0LT5GbGFncy5UY3BDaGVja3N1bVN1Y2NlZWRlZCAhPSAwKQotICAgICAgIEZyb250
ZW5kSW5jcmVtZW50U3RhdGlzdGljKEZyb250ZW5kLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFhFTlZJRl9UUkFOU01JVFRFUl9UQ1BfQ0hFQ0tTVU1fU1VDQ0VFREVELAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEpOwotCi0gICBpZiAoUGFja2V0LT5GbGFn
cy5UY3BDaGVja3N1bUZhaWxlZCAhPSAwKQotICAgICAgIEZyb250ZW5kSW5jcmVtZW50U3RhdGlz
dGljKEZyb250ZW5kLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhFTlZJRl9U
UkFOU01JVFRFUl9UQ1BfQ0hFQ0tTVU1fRkFJTEVELAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDEpOwotCi0gICBpZiAoUGFja2V0LT5GbGFncy5UY3BDaGVja3N1bU5vdFZhbGlk
YXRlZCAhPSAwKQotICAgICAgIEZyb250ZW5kSW5jcmVtZW50U3RhdGlzdGljKEZyb250ZW5kLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhFTlZJRl9UUkFOU01JVFRFUl9UQ1Bf
Q0hFQ0tTVU1fTk9UX1ZBTElEQVRFRCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAxKTsKLQotICAgaWYgKFBhY2tldC0+RmxhZ3MuVWRwQ2hlY2tzdW1TdWNjZWVkZWQgIT0gMCkK
LSAgICAgICBGcm9udGVuZEluY3JlbWVudFN0YXRpc3RpYyhGcm9udGVuZCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBYRU5WSUZfVFJBTlNNSVRURVJfVURQX0NIRUNLU1VNX1NV
Q0NFRURFRCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxKTsKLQotICAgaWYg
KFBhY2tldC0+RmxhZ3MuVWRwQ2hlY2tzdW1GYWlsZWQgIT0gMCkKLSAgICAgICBGcm9udGVuZElu
Y3JlbWVudFN0YXRpc3RpYyhGcm9udGVuZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBYRU5WSUZfVFJBTlNNSVRURVJfVURQX0NIRUNLU1VNX0ZBSUxFRCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAxKTsKLQotICAgaWYgKFBhY2tldC0+RmxhZ3MuVWRwQ2hl
Y2tzdW1Ob3RWYWxpZGF0ZWQgIT0gMCkKLSAgICAgICBGcm9udGVuZEluY3JlbWVudFN0YXRpc3Rp
YyhGcm9udGVuZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYRU5WSUZfVFJB
TlNNSVRURVJfVURQX0NIRUNLU1VNX05PVF9WQUxJREFURUQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgMSk7Ci0KLSAgICBQYWNrZXQtPkNvbXBsZXRpb24uVHlwZSA9IFR5cGU7
Ci0gICAgUGFja2V0LT5Db21wbGV0aW9uLlBhY2tldExlbmd0aCA9IChVU0hPUlQpUGFja2V0LT5M
ZW5ndGg7Ci0gICAgUGFja2V0LT5Db21wbGV0aW9uLlBheWxvYWRMZW5ndGggPSAoVVNIT1JUKVBh
eWxvYWQtPkxlbmd0aDsKLQotZG9uZToKICAgICBJbnNlcnRUYWlsTGlzdCgmUmluZy0+UGFja2V0
Q29tcGxldGUsICZQYWNrZXQtPkxpc3RFbnRyeSk7CiAgICAgUmluZy0+UGFja2V0c0NvbXBsZXRl
ZCsrOwogfQpAQCAtMzA0OCw2ICsyODg2LDE3MiBAQCBUcmFuc21pdHRlclJpbmdTY2hlZHVsZSgK
IH0KIAogc3RhdGljIEZPUkNFSU5MSU5FIFZPSUQKK19fVHJhbnNtaXR0ZXJTZXRDb21wbGV0aW9u
SW5mbygKKyAgICBJTiAgUFhFTlZJRl9UUkFOU01JVFRFUiAgICAgICAgIFRyYW5zbWl0dGVyLAor
ICAgIElOICBQWEVOVklGX1RSQU5TTUlUVEVSX1BBQ0tFVCAgUGFja2V0CisgICAgKQoreworICAg
IFBYRU5WSUZfRlJPTlRFTkQgICAgICAgICAgICAgICAgRnJvbnRlbmQ7CisgICAgUFhFTlZJRl9Q
QUNLRVRfUEFZTE9BRCAgICAgICAgICBQYXlsb2FkOworICAgIFBYRU5WSUZfUEFDS0VUX0lORk8g
ICAgICAgICAgICAgSW5mbzsKKyAgICBQVUNIQVIgICAgICAgICAgICAgICAgICAgICAgICAgIEJh
c2VWYTsKKyAgICBQRVRIRVJORVRfSEVBREVSICAgICAgICAgICAgICAgIEV0aGVybmV0SGVhZGVy
OworICAgIFBFVEhFUk5FVF9BRERSRVNTICAgICAgICAgICAgICAgRGVzdGluYXRpb25BZGRyZXNz
OworICAgIEVUSEVSTkVUX0FERFJFU1NfVFlQRSAgICAgICAgICAgVHlwZTsKKworICAgIEZyb250
ZW5kID0gVHJhbnNtaXR0ZXItPkZyb250ZW5kOworCisgICAgQVNTRVJUKFBhY2tldC0+Q29tcGxl
dGlvbi5TdGF0dXMgIT0gMCk7CisKKyAgICBpZiAoUGFja2V0LT5Db21wbGV0aW9uLlN0YXR1cyAh
PSBYRU5WSUZfVFJBTlNNSVRURVJfUEFDS0VUX09LKSB7CisgICAgICAgIEZyb250ZW5kSW5jcmVt
ZW50U3RhdGlzdGljKEZyb250ZW5kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBYRU5WSUZfVFJBTlNNSVRURVJfUEFDS0VUU19EUk9QUEVELAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAxKTsKKworICAgICAgICBpZiAoUGFja2V0LT5Db21wbGV0aW9uLlN0
YXR1cyA9PSBYRU5WSUZfVFJBTlNNSVRURVJfUEFDS0VUX0VSUk9SKQorICAgICAgICAgICAgRnJv
bnRlbmRJbmNyZW1lbnRTdGF0aXN0aWMoRnJvbnRlbmQsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBYRU5WSUZfVFJBTlNNSVRURVJfQkFDS0VORF9FUlJPUlMsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxKTsKKworICAgICAgICByZXR1cm47
CisgICAgfQorCisgICAgQmFzZVZhID0gUGFja2V0LT5IZWFkZXI7CisgICAgSW5mbyA9ICZQYWNr
ZXQtPkluZm87CisgICAgUGF5bG9hZCA9ICZQYWNrZXQtPlBheWxvYWQ7CisKKyAgICBBU1NFUlQo
SW5mby0+RXRoZXJuZXRIZWFkZXIuTGVuZ3RoICE9IDApOworICAgIEV0aGVybmV0SGVhZGVyID0g
KFBFVEhFUk5FVF9IRUFERVIpKEJhc2VWYSArIEluZm8tPkV0aGVybmV0SGVhZGVyLk9mZnNldCk7
CisKKyAgICBEZXN0aW5hdGlvbkFkZHJlc3MgPSAmRXRoZXJuZXRIZWFkZXItPkRlc3RpbmF0aW9u
QWRkcmVzczsKKworICAgIFR5cGUgPSBHRVRfRVRIRVJORVRfQUREUkVTU19UWVBFKERlc3RpbmF0
aW9uQWRkcmVzcyk7CisKKyAgICBzd2l0Y2ggKFR5cGUpIHsKKyAgICBjYXNlIEVUSEVSTkVUX0FE
RFJFU1NfVU5JQ0FTVDoKKyAgICAgICAgRnJvbnRlbmRJbmNyZW1lbnRTdGF0aXN0aWMoRnJvbnRl
bmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhFTlZJRl9UUkFOU01JVFRF
Ul9VTklDQVNUX1BBQ0tFVFMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEp
OworICAgICAgICBGcm9udGVuZEluY3JlbWVudFN0YXRpc3RpYyhGcm9udGVuZCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgWEVOVklGX1RSQU5TTUlUVEVSX1VOSUNBU1RfT0NU
RVRTLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYWNrZXQtPkxlbmd0aCk7
CisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBFVEhFUk5FVF9BRERSRVNTX01VTFRJQ0FTVDoK
KyAgICAgICAgRnJvbnRlbmRJbmNyZW1lbnRTdGF0aXN0aWMoRnJvbnRlbmQsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFhFTlZJRl9UUkFOU01JVFRFUl9NVUxUSUNBU1RfUEFD
S0VUUywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSk7CisgICAgICAgIEZy
b250ZW5kSW5jcmVtZW50U3RhdGlzdGljKEZyb250ZW5kLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBYRU5WSUZfVFJBTlNNSVRURVJfTVVMVElDQVNUX09DVEVUUywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFja2V0LT5MZW5ndGgpOworICAgICAgICBi
cmVhazsKKworICAgIGNhc2UgRVRIRVJORVRfQUREUkVTU19CUk9BRENBU1Q6CisgICAgICAgIEZy
b250ZW5kSW5jcmVtZW50U3RhdGlzdGljKEZyb250ZW5kLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBYRU5WSUZfVFJBTlNNSVRURVJfQlJPQURDQVNUX1BBQ0tFVFMsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEpOworICAgICAgICBGcm9udGVuZEluY3Jl
bWVudFN0YXRpc3RpYyhGcm9udGVuZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgWEVOVklGX1RSQU5TTUlUVEVSX0JST0FEQ0FTVF9PQ1RFVFMsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFBhY2tldC0+TGVuZ3RoKTsKKyAgICAgICAgYnJlYWs7CisKKyAg
ICBkZWZhdWx0OgorICAgICAgICBBU1NFUlQoRkFMU0UpOworICAgICAgICBicmVhazsKKyAgICB9
CisKKyAgICBpZiAoRVRIRVJORVRfSEVBREVSX0lTX1RBR0dFRChFdGhlcm5ldEhlYWRlcikpCisg
ICAgICAgIEZyb250ZW5kSW5jcmVtZW50U3RhdGlzdGljKEZyb250ZW5kLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBYRU5WSUZfVFJBTlNNSVRURVJfVEFHR0VEX1BBQ0tFVFMs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEpOworCisgICAgaWYgKEluZm8t
PkxMQ1NuYXBIZWFkZXIuTGVuZ3RoICE9IDApCisgICAgICAgIEZyb250ZW5kSW5jcmVtZW50U3Rh
dGlzdGljKEZyb250ZW5kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYRU5W
SUZfVFJBTlNNSVRURVJfTExDX1NOQVBfUEFDS0VUUywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMSk7CisKKyAgICBpZiAoSW5mby0+SXBIZWFkZXIuTGVuZ3RoICE9IDApIHsK
KyAgICAgICAgUElQX0hFQURFUiAgSXBIZWFkZXIgPSAoUElQX0hFQURFUikoQmFzZVZhICsgSW5m
by0+SXBIZWFkZXIuT2Zmc2V0KTsKKworICAgICAgICBpZiAoSXBIZWFkZXItPlZlcnNpb24gPT0g
NCkgeworICAgICAgICAgICAgRnJvbnRlbmRJbmNyZW1lbnRTdGF0aXN0aWMoRnJvbnRlbmQsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYRU5WSUZfVFJBTlNNSVRURVJf
SVBWNF9QQUNLRVRTLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSk7
CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBBU1NFUlQzVShJcEhlYWRlci0+VmVyc2lv
biwgPT0sIDYpOworCisgICAgICAgICAgICBGcm9udGVuZEluY3JlbWVudFN0YXRpc3RpYyhGcm9u
dGVuZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhFTlZJRl9UUkFO
U01JVFRFUl9JUFY2X1BBQ0tFVFMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAxKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGlmIChJbmZvLT5UY3BIZWFkZXIuTGVu
Z3RoICE9IDApCisgICAgICAgIEZyb250ZW5kSW5jcmVtZW50U3RhdGlzdGljKEZyb250ZW5kLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYRU5WSUZfVFJBTlNNSVRURVJfVENQ
X1BBQ0tFVFMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEpOworCisgICAg
aWYgKEluZm8tPlVkcEhlYWRlci5MZW5ndGggIT0gMCkKKyAgICAgICAgRnJvbnRlbmRJbmNyZW1l
bnRTdGF0aXN0aWMoRnJvbnRlbmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFhFTlZJRl9UUkFOU01JVFRFUl9VRFBfUEFDS0VUUywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMSk7CisKKyAgICBpZiAoUGFja2V0LT5NYXhpbXVtU2VnbWVudFNpemUgIT0g
MCkKKyAgICAgICAgRnJvbnRlbmRJbmNyZW1lbnRTdGF0aXN0aWMoRnJvbnRlbmQsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhFTlZJRl9UUkFOU01JVFRFUl9HU09fUEFDS0VU
UywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSk7CisKKyAgIGlmIChQYWNr
ZXQtPkZsYWdzLklwQ2hlY2tzdW1TdWNjZWVkZWQgIT0gMCkKKyAgICAgICBGcm9udGVuZEluY3Jl
bWVudFN0YXRpc3RpYyhGcm9udGVuZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBYRU5WSUZfVFJBTlNNSVRURVJfSVBWNF9DSEVDS1NVTV9TVUNDRUVERUQsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMSk7CisKKyAgIGlmIChQYWNrZXQtPkZsYWdzLklwQ2hl
Y2tzdW1GYWlsZWQgIT0gMCkKKyAgICAgICBGcm9udGVuZEluY3JlbWVudFN0YXRpc3RpYyhGcm9u
dGVuZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYRU5WSUZfVFJBTlNNSVRU
RVJfSVBWNF9DSEVDS1NVTV9GQUlMRUQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgMSk7CisKKyAgIGlmIChQYWNrZXQtPkZsYWdzLklwQ2hlY2tzdW1Ob3RWYWxpZGF0ZWQgIT0g
MCkKKyAgICAgICBGcm9udGVuZEluY3JlbWVudFN0YXRpc3RpYyhGcm9udGVuZCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBYRU5WSUZfVFJBTlNNSVRURVJfSVBWNF9DSEVDS1NV
TV9OT1RfVkFMSURBVEVELAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEpOwor
CisgICBpZiAoUGFja2V0LT5GbGFncy5UY3BDaGVja3N1bVN1Y2NlZWRlZCAhPSAwKQorICAgICAg
IEZyb250ZW5kSW5jcmVtZW50U3RhdGlzdGljKEZyb250ZW5kLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFhFTlZJRl9UUkFOU01JVFRFUl9UQ1BfQ0hFQ0tTVU1fU1VDQ0VFREVE
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEpOworCisgICBpZiAoUGFja2V0
LT5GbGFncy5UY3BDaGVja3N1bUZhaWxlZCAhPSAwKQorICAgICAgIEZyb250ZW5kSW5jcmVtZW50
U3RhdGlzdGljKEZyb250ZW5kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhF
TlZJRl9UUkFOU01JVFRFUl9UQ1BfQ0hFQ0tTVU1fRkFJTEVELAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDEpOworCisgICBpZiAoUGFja2V0LT5GbGFncy5UY3BDaGVja3N1bU5v
dFZhbGlkYXRlZCAhPSAwKQorICAgICAgIEZyb250ZW5kSW5jcmVtZW50U3RhdGlzdGljKEZyb250
ZW5kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhFTlZJRl9UUkFOU01JVFRF
Ul9UQ1BfQ0hFQ0tTVU1fTk9UX1ZBTElEQVRFRCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAxKTsKKworICAgaWYgKFBhY2tldC0+RmxhZ3MuVWRwQ2hlY2tzdW1TdWNjZWVkZWQg
IT0gMCkKKyAgICAgICBGcm9udGVuZEluY3JlbWVudFN0YXRpc3RpYyhGcm9udGVuZCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYRU5WSUZfVFJBTlNNSVRURVJfVURQX0NIRUNL
U1VNX1NVQ0NFRURFRCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxKTsKKwor
ICAgaWYgKFBhY2tldC0+RmxhZ3MuVWRwQ2hlY2tzdW1GYWlsZWQgIT0gMCkKKyAgICAgICBGcm9u
dGVuZEluY3JlbWVudFN0YXRpc3RpYyhGcm9udGVuZCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBYRU5WSUZfVFJBTlNNSVRURVJfVURQX0NIRUNLU1VNX0ZBSUxFRCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxKTsKKworICAgaWYgKFBhY2tldC0+RmxhZ3Mu
VWRwQ2hlY2tzdW1Ob3RWYWxpZGF0ZWQgIT0gMCkKKyAgICAgICBGcm9udGVuZEluY3JlbWVudFN0
YXRpc3RpYyhGcm9udGVuZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYRU5W
SUZfVFJBTlNNSVRURVJfVURQX0NIRUNLU1VNX05PVF9WQUxJREFURUQsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgMSk7CisKKyAgICBQYWNrZXQtPkNvbXBsZXRpb24uVHlwZSA9
IFR5cGU7CisgICAgUGFja2V0LT5Db21wbGV0aW9uLlBhY2tldExlbmd0aCA9IChVU0hPUlQpUGFj
a2V0LT5MZW5ndGg7CisgICAgUGFja2V0LT5Db21wbGV0aW9uLlBheWxvYWRMZW5ndGggPSAoVVNI
T1JUKVBheWxvYWQtPkxlbmd0aDsKK30KKworc3RhdGljIEZPUkNFSU5MSU5FIFZPSUQKIF9fVHJh
bnNtaXR0ZXJSZXR1cm5QYWNrZXRzKAogICAgIElOICBQWEVOVklGX1RSQU5TTUlUVEVSIFRyYW5z
bWl0dGVyLAogICAgIElOICBQTElTVF9FTlRSWSAgICAgICAgIExpc3QKQEAgLTMwNzIsNiArMzA3
Niw4IEBAIF9fVHJhbnNtaXR0ZXJSZXR1cm5QYWNrZXRzKAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBYRU5WSUZfVFJBTlNNSVRURVJfUEFDS0VULAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBMaXN0RW50cnkpOwogCisgICAgICAgIF9fVHJhbnNtaXR0ZXJT
ZXRDb21wbGV0aW9uSW5mbyhUcmFuc21pdHRlciwgUGFja2V0KTsKKwogICAgICAgICBWaWZUcmFu
c21pdHRlclJldHVyblBhY2tldChDb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBQYWNrZXQtPkNvb2tpZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJlBhY2tldC0+Q29tcGxldGlvbik7CkBAIC0zMjA2LDggKzMyMTIsNyBAQCBfX1RyYW5zbWl0
dGVyUmluZ1JlbGVhc2VMb2NrKAogCiAgICAgICAgIFRyYW5zbWl0dGVyID0gUmluZy0+VHJhbnNt
aXR0ZXI7CiAKLSAgICAgICAgX19UcmFuc21pdHRlclJldHVyblBhY2tldHMoVHJhbnNtaXR0ZXIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZMaXN0KTsKKyAgICAgICAgX19U
cmFuc21pdHRlclJldHVyblBhY2tldHMoVHJhbnNtaXR0ZXIsICZMaXN0KTsKICAgICB9CiB9CiAK
LS0gCjIuNS4zCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18Kd2luLXB2LWRldmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVj
dC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1w
di1kZXZlbA==

From win-pv-devel-bounces@lists.xenproject.org Fri Nov 02 16:54:46 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 02 Nov 2018 16:54:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1gIcic-0003WN-Df; Fri, 02 Nov 2018 16:54:46 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=u19u=nn=citrix.com=prvs=8372cde87=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1gIcib-0003VO-2f
 for win-pv-devel@lists.xenproject.org; Fri, 02 Nov 2018 16:54:45 +0000
X-Inumbo-ID: ff62f38b-debf-11e8-9a16-bc764e045a96
Received: from SMTP03.CITRIX.COM (unknown [162.221.156.55])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id ff62f38b-debf-11e8-9a16-bc764e045a96;
 Fri, 02 Nov 2018 16:54:44 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.54,456,1534809600"; d="scan'208";a="69510376"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Fri, 2 Nov 2018 16:54:25 +0000
Message-ID: <1541177669-14212-5-git-send-email-paul.durrant@citrix.com>
X-Mailer: git-send-email 2.5.3
In-Reply-To: <1541177669-14212-1-git-send-email-paul.durrant@citrix.com>
References: <1541177669-14212-1-git-send-email-paul.durrant@citrix.com>
MIME-Version: 1.0
Subject: [win-pv-devel] [PATCH xenvif 4/8] Remove KTIMERS from transmit and
 receive paths (again)
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Paul Durrant <paul.durrant@citrix.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

RXZlbiB0aG91Z2ggdGhlIHBvbGxlciBzdWJzeXN0ZW0gaGFzIGJlZW4gcmV2ZXJ0ZWQsIHRoZXNl
IHN0aWxsIG5lZWQgdG8KZ28gYXdheSBhcyB0aGV5IGRvIG5vdCBhZGVxdWF0ZWx5IHNlcnZlIHRo
ZSBwdXJwb3NlIGZvciB3aGljaCB0aGV5IHdlcmUKYWRkZWQ6IERQQyB3YXRjaGRvZyBhdm9pZGFu
Y2UuCgpBIHN1YnNlcXVlbnQgcGF0Y2ggd2lsbCByZS1pbnN0YXRlIHRoZSB0aHJlYWRlZCBEUEMg
aW4gdGhlIHJlY2VpdmVyIHRvCmF2b2lkIHRoZSBEUEMgd2F0Y2hkb2cuCgpTaWduZWQtb2ZmLWJ5
OiBQYXVsIER1cnJhbnQgPHBhdWwuZHVycmFudEBjaXRyaXguY29tPgotLS0KIHNyYy94ZW52aWYv
cmVjZWl2ZXIuYyAgICB8IDYwICsrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQogc3JjL3hlbnZpZi90cmFuc21pdHRlci5jIHwgNTggKysrKy0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCAxMCBpbnNl
cnRpb25zKCspLCAxMDggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL3hlbnZpZi9yZWNl
aXZlci5jIGIvc3JjL3hlbnZpZi9yZWNlaXZlci5jCmluZGV4IDNlZDVlZTguLjYzZjBlMGUgMTAw
NjQ0Ci0tLSBhL3NyYy94ZW52aWYvcmVjZWl2ZXIuYworKysgYi9zcmMveGVudmlmL3JlY2VpdmVy
LmMKQEAgLTkxLDggKzkxLDYgQEAgdHlwZWRlZiBzdHJ1Y3QgX1hFTlZJRl9SRUNFSVZFUl9SSU5H
IHsKICAgICBQWEVOQlVTX0VWVENITl9DSEFOTkVMICAgICAgQ2hhbm5lbDsKICAgICBLRFBDICAg
ICAgICAgICAgICAgICAgICAgICAgRHBjOwogICAgIFVMT05HICAgICAgICAgICAgICAgICAgICAg
ICBEcGNzOwotICAgIEtUSU1FUiAgICAgICAgICAgICAgICAgICAgICBUaW1lcjsKLSAgICBLRFBD
ICAgICAgICAgICAgICAgICAgICAgICAgVGltZXJEcGM7CiAgICAgVUxPTkcgICAgICAgICAgICAg
ICAgICAgICAgIEV2ZW50czsKICAgICBQWEVOVklGX1JFQ0VJVkVSX0ZSQUdNRU5UICAgUGVuZGlu
Z1tYRU5WSUZfUkVDRUlWRVJfTUFYSU1VTV9GUkFHTUVOVF9JRCArIDFdOwogICAgIFVMT05HICAg
ICAgICAgICAgICAgICAgICAgICBSZXF1ZXN0c1Bvc3RlZDsKQEAgLTIyMTEsMzcgKzIyMDksNiBA
QCBfX1JlY2VpdmVyUmluZ1VubWFzaygKICAgICAgICAgICAgICAgICAgIFRSVUUpOwogfQogCi1z
dGF0aWMgRk9SQ0VJTkxJTkUgQk9PTEVBTgotX19SZWNlaXZlclJpbmdEcGNUaW1lb3V0KAotICAg
IElOICBQWEVOVklGX1JFQ0VJVkVSX1JJTkcgICBSaW5nCi0gICAgKQotewotICAgIEtEUENfV0FU
Q0hET0dfSU5GT1JNQVRJT04gICBXYXRjaGRvZzsKLSAgICBOVFNUQVRVUyAgICAgICAgICAgICAg
ICAgICAgc3RhdHVzOwotCi0gICAgVU5SRUZFUkVOQ0VEX1BBUkFNRVRFUihSaW5nKTsKLQotICAg
IFJ0bFplcm9NZW1vcnkoJldhdGNoZG9nLCBzaXplb2YgKFdhdGNoZG9nKSk7Ci0KLSAgICBzdGF0
dXMgPSBLZVF1ZXJ5RHBjV2F0Y2hkb2dJbmZvcm1hdGlvbigmV2F0Y2hkb2cpOwotICAgIEFTU0VS
VChOVF9TVUNDRVNTKHN0YXR1cykpOwotCi0gICAgaWYgKFdhdGNoZG9nLkRwY1RpbWVMaW1pdCA9
PSAwIHx8Ci0gICAgICAgIFdhdGNoZG9nLkRwY1dhdGNoZG9nTGltaXQgPT0gMCkKLSAgICAgICAg
cmV0dXJuIEZBTFNFOwotCi0gICAgaWYgKFdhdGNoZG9nLkRwY1RpbWVDb3VudCA+IChXYXRjaGRv
Zy5EcGNUaW1lTGltaXQgLyAyKSAmJgotICAgICAgICBXYXRjaGRvZy5EcGNXYXRjaGRvZ0NvdW50
ID4gKFdhdGNoZG9nLkRwY1dhdGNoZG9nTGltaXQgLyAyKSkKLSAgICAgICAgcmV0dXJuIEZBTFNF
OwotCi0gICAgcmV0dXJuIFRSVUU7Ci19Ci0KLSNkZWZpbmUgVElNRV9VUyhfdXMpICAgICAgICAo
KF91cykgKiAxMCkKLSNkZWZpbmUgVElNRV9NUyhfbXMpICAgICAgICAoVElNRV9VUygoX21zKSAq
IDEwMDApKQotI2RlZmluZSBUSU1FX1MoX3MpICAgICAgICAgIChUSU1FX01TKChfcykgKiAxMDAw
KSkKLSNkZWZpbmUgVElNRV9SRUxBVElWRShfdCkgICAoLShfdCkpCi0KIF9fZHJ2X2Z1bmN0aW9u
Q2xhc3MoS0RFRkVSUkVEX1JPVVRJTkUpCiBfX2Rydl9tYXhJUlFMKERJU1BBVENIX0xFVkVMKQog
X19kcnZfbWluSVJRTChESVNQQVRDSF9MRVZFTCkKQEAgLTIyNzQsMTUgKzIyNDEsNiBAQCBSZWNl
aXZlclJpbmdEcGMoCiAgICAgICAgICAgICBfX1JlY2VpdmVyUmluZ1VubWFzayhSaW5nKTsKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICB9Ci0KLSAgICAgICAgaWYgKF9fUmVjZWl2ZXJSaW5n
RHBjVGltZW91dChSaW5nKSkgewotICAgICAgICAgICAgTEFSR0VfSU5URUdFUiAgIERlbGF5Owot
Ci0gICAgICAgICAgICBEZWxheS5RdWFkUGFydCA9IFRJTUVfUkVMQVRJVkUoVElNRV9VUygxMDAp
KTsKLQotICAgICAgICAgICAgS2VTZXRUaW1lcigmUmluZy0+VGltZXIsIERlbGF5LCAmUmluZy0+
VGltZXJEcGMpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KICAgICB9CiB9CiAKQEAg
LTIzMTcsNiArMjI3NSwxMSBAQCBSZWNlaXZlclJpbmdFdnRjaG5DYWxsYmFjaygKICAgICByZXR1
cm4gVFJVRTsKIH0KIAorI2RlZmluZSBUSU1FX1VTKF91cykgICAgICAgICgoX3VzKSAqIDEwKQor
I2RlZmluZSBUSU1FX01TKF9tcykgICAgICAgIChUSU1FX1VTKChfbXMpICogMTAwMCkpCisjZGVm
aW5lIFRJTUVfUyhfcykgICAgICAgICAgKFRJTUVfTVMoKF9zKSAqIDEwMDApKQorI2RlZmluZSBU
SU1FX1JFTEFUSVZFKF90KSAgICgtKF90KSkKKwogI2RlZmluZSBYRU5WSUZfUkVDRUlWRVJfV0FU
Q0hET0dfUEVSSU9EIDMwCiAKIHN0YXRpYyBOVFNUQVRVUwpAQCAtMjQzOCw4ICsyNDAxLDYgQEAg
X19SZWNlaXZlclJpbmdJbml0aWFsaXplKAogICAgIEluaXRpYWxpemVMaXN0SGVhZCgmKCpSaW5n
KS0+UGFja2V0TGlzdCk7CiAKICAgICBLZUluaXRpYWxpemVEcGMoJigqUmluZyktPkRwYywgUmVj
ZWl2ZXJSaW5nRHBjLCAqUmluZyk7Ci0gICAgS2VJbml0aWFsaXplVGltZXIoJigqUmluZyktPlRp
bWVyKTsKLSAgICBLZUluaXRpYWxpemVEcGMoJigqUmluZyktPlRpbWVyRHBjLCBSZWNlaXZlclJp
bmdEcGMsICpSaW5nKTsKIAogICAgIHN0YXR1cyA9IFJ0bFN0cmluZ0NiUHJpbnRmQShOYW1lLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YgKE5hbWUpLApAQCAtMjUyNCw4
ICsyNDg1LDYgQEAgZmFpbDQ6CiBmYWlsMzoKICAgICBFcnJvcigiZmFpbDNcbiIpOwogCi0gICAg
UnRsWmVyb01lbW9yeSgmKCpSaW5nKS0+VGltZXJEcGMsIHNpemVvZiAoS0RQQykpOwotICAgIFJ0
bFplcm9NZW1vcnkoJigqUmluZyktPlRpbWVyLCBzaXplb2YgKEtUSU1FUikpOwogICAgIFJ0bFpl
cm9NZW1vcnkoJigqUmluZyktPkRwYywgc2l6ZW9mIChLRFBDKSk7CiAKICAgICBSdGxaZXJvTWVt
b3J5KCYoKlJpbmcpLT5QYWNrZXRMaXN0LCBzaXplb2YgKExJU1RfRU5UUlkpKTsKQEAgLTI2NDEs
NyArMjYwMCw2IEBAIF9fUmVjZWl2ZXJSaW5nQ29ubmVjdCgKICAgICBBU1NFUlQoTlRfU1VDQ0VT
UyhzdGF0dXMpKTsKIAogICAgIEtlU2V0VGFyZ2V0UHJvY2Vzc29yRHBjRXgoJlJpbmctPkRwYywg
JlByb2NOdW1iZXIpOwotICAgIEtlU2V0VGFyZ2V0UHJvY2Vzc29yRHBjRXgoJlJpbmctPlRpbWVy
RHBjLCAmUHJvY051bWJlcik7CiAKICAgICAoVk9JRCkgWEVOQlVTX0VWVENITihCaW5kLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICZSZWNlaXZlci0+RXZ0Y2huSW50ZXJmYWNlLApAQCAtMjg0
NiwxMiArMjgwNCw2IEBAIF9fUmVjZWl2ZXJSaW5nRGlzYWJsZSgKIAogICAgIF9fUmVjZWl2ZXJS
aW5nUmVsZWFzZUxvY2soUmluZyk7CiAKLSAgICAvLwotICAgIC8vIE5vIG5ldyB0aW1lcnMgY2Fu
IGJlIHNjaGVkdWxlZCBvbmNlIEVuYWJsZWQgZ29lcyB0byBGQUxTRS4KLSAgICAvLyBDYW5jZWwg
YW55IGV4aXN0aW5nIG9uZXMuCi0gICAgLy8KLSAgICAoVk9JRCkgS2VDYW5jZWxUaW1lcigmUmlu
Zy0+VGltZXIpOwotCiAgICAgSW5mbygiJXNbJXVdOiA8PT09PVxuIiwKICAgICAgICAgIEZyb250
ZW5kR2V0UGF0aChGcm9udGVuZCksCiAgICAgICAgICBSaW5nLT5JbmRleCk7CkBAIC0yOTI1LDgg
KzI4NzcsNiBAQCBfX1JlY2VpdmVyUmluZ1RlYXJkb3duKAogICAgIEZyb250ZW5kID0gUmVjZWl2
ZXItPkZyb250ZW5kOwogCiAgICAgUnRsWmVyb01lbW9yeSgmUmluZy0+SGFzaCwgc2l6ZW9mIChY
RU5WSUZfUkVDRUlWRVJfSEFTSCkpOwotICAgIFJ0bFplcm9NZW1vcnkoJlJpbmctPlRpbWVyRHBj
LCBzaXplb2YgKEtEUEMpKTsKLSAgICBSdGxaZXJvTWVtb3J5KCZSaW5nLT5UaW1lciwgc2l6ZW9m
IChLVElNRVIpKTsKICAgICBSdGxaZXJvTWVtb3J5KCZSaW5nLT5EcGMsIHNpemVvZiAoS0RQQykp
OwogCiAgICAgUmluZy0+QmFja2ZpbGxTaXplID0gMDsKZGlmZiAtLWdpdCBhL3NyYy94ZW52aWYv
dHJhbnNtaXR0ZXIuYyBiL3NyYy94ZW52aWYvdHJhbnNtaXR0ZXIuYwppbmRleCA3NzBhY2E5Li4w
MmMwZDNlIDEwMDY0NAotLS0gYS9zcmMveGVudmlmL3RyYW5zbWl0dGVyLmMKKysrIGIvc3JjL3hl
bnZpZi90cmFuc21pdHRlci5jCkBAIC0xODIsOCArMTgyLDYgQEAgdHlwZWRlZiBzdHJ1Y3QgX1hF
TlZJRl9UUkFOU01JVFRFUl9SSU5HIHsKICAgICBQWEVOQlVTX0VWVENITl9DSEFOTkVMICAgICAg
ICAgIENoYW5uZWw7CiAgICAgS0RQQyAgICAgICAgICAgICAgICAgICAgICAgICAgICBEcGM7CiAg
ICAgVUxPTkcgICAgICAgICAgICAgICAgICAgICAgICAgICBEcGNzOwotICAgIEtUSU1FUiAgICAg
ICAgICAgICAgICAgICAgICAgICAgVGltZXI7Ci0gICAgS0RQQyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBUaW1lckRwYzsKICAgICBVTE9ORyAgICAgICAgICAgICAgICAgICAgICAgICAgIEV2
ZW50czsKICAgICBCT09MRUFOICAgICAgICAgICAgICAgICAgICAgICAgIENvbm5lY3RlZDsKICAg
ICBCT09MRUFOICAgICAgICAgICAgICAgICAgICAgICAgIEVuYWJsZWQ7CkBAIC0zMjUwLDM3ICsz
MjQ4LDYgQEAgX19UcmFuc21pdHRlclJpbmdVbm1hc2soCiAgICAgICAgICAgICAgICAgICBUUlVF
KTsKIH0KIAotc3RhdGljIEZPUkNFSU5MSU5FIEJPT0xFQU4KLV9fVHJhbnNtaXR0ZXJSaW5nRHBj
VGltZW91dCgKLSAgICBJTiAgUFhFTlZJRl9UUkFOU01JVFRFUl9SSU5HICAgIFJpbmcKLSAgICAp
Ci17Ci0gICAgS0RQQ19XQVRDSERPR19JTkZPUk1BVElPTiAgICAgICBXYXRjaGRvZzsKLSAgICBO
VFNUQVRVUyAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1czsKLQotICAgIFVOUkVGRVJFTkNF
RF9QQVJBTUVURVIoUmluZyk7Ci0KLSAgICBSdGxaZXJvTWVtb3J5KCZXYXRjaGRvZywgc2l6ZW9m
IChXYXRjaGRvZykpOwotCi0gICAgc3RhdHVzID0gS2VRdWVyeURwY1dhdGNoZG9nSW5mb3JtYXRp
b24oJldhdGNoZG9nKTsKLSAgICBBU1NFUlQoTlRfU1VDQ0VTUyhzdGF0dXMpKTsKLQotICAgIGlm
IChXYXRjaGRvZy5EcGNUaW1lTGltaXQgPT0gMCB8fAotICAgICAgICBXYXRjaGRvZy5EcGNXYXRj
aGRvZ0xpbWl0ID09IDApCi0gICAgICAgIHJldHVybiBGQUxTRTsKLQotICAgIGlmIChXYXRjaGRv
Zy5EcGNUaW1lQ291bnQgPiAoV2F0Y2hkb2cuRHBjVGltZUxpbWl0IC8gMikgJiYKLSAgICAgICAg
V2F0Y2hkb2cuRHBjV2F0Y2hkb2dDb3VudCA+IChXYXRjaGRvZy5EcGNXYXRjaGRvZ0xpbWl0IC8g
MikpCi0gICAgICAgIHJldHVybiBGQUxTRTsKLQotICAgIHJldHVybiBUUlVFOwotfQotCi0jZGVm
aW5lIFRJTUVfVVMoX3VzKSAgICAgICAgKChfdXMpICogMTApCi0jZGVmaW5lIFRJTUVfTVMoX21z
KSAgICAgICAgKFRJTUVfVVMoKF9tcykgKiAxMDAwKSkKLSNkZWZpbmUgVElNRV9TKF9zKSAgICAg
ICAgICAoVElNRV9NUygoX3MpICogMTAwMCkpCi0jZGVmaW5lIFRJTUVfUkVMQVRJVkUoX3QpICAg
KC0oX3QpKQotCiBfX2Rydl9mdW5jdGlvbkNsYXNzKEtERUZFUlJFRF9ST1VUSU5FKQogX19kcnZf
bWF4SVJRTChESVNQQVRDSF9MRVZFTCkKIF9fZHJ2X21pbklSUUwoRElTUEFUQ0hfTEVWRUwpCkBA
IC0zMzEzLDE1ICszMjgwLDYgQEAgVHJhbnNtaXR0ZXJSaW5nRHBjKAogICAgICAgICAgICAgX19U
cmFuc21pdHRlclJpbmdVbm1hc2soUmluZyk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
fQotCi0gICAgICAgIGlmIChfX1RyYW5zbWl0dGVyUmluZ0RwY1RpbWVvdXQoUmluZykpIHsKLSAg
ICAgICAgICAgIExBUkdFX0lOVEVHRVIgICBEZWxheTsKLQotICAgICAgICAgICAgRGVsYXkuUXVh
ZFBhcnQgPSBUSU1FX1JFTEFUSVZFKFRJTUVfVVMoMTAwKSk7Ci0KLSAgICAgICAgICAgIEtlU2V0
VGltZXIoJlJpbmctPlRpbWVyLCBEZWxheSwgJlJpbmctPlRpbWVyRHBjKTsKLSAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICB9CiAgICAgfQogfQogCkBAIC0zMzU0LDYgKzMzMTIsMTEgQEAgVHJh
bnNtaXR0ZXJSaW5nRXZ0Y2huQ2FsbGJhY2soCiAgICAgcmV0dXJuIFRSVUU7CiB9CiAKKyNkZWZp
bmUgVElNRV9VUyhfdXMpICAgICAgICAoKF91cykgKiAxMCkKKyNkZWZpbmUgVElNRV9NUyhfbXMp
ICAgICAgICAoVElNRV9VUygoX21zKSAqIDEwMDApKQorI2RlZmluZSBUSU1FX1MoX3MpICAgICAg
ICAgIChUSU1FX01TKChfcykgKiAxMDAwKSkKKyNkZWZpbmUgVElNRV9SRUxBVElWRShfdCkgICAo
LShfdCkpCisKICNkZWZpbmUgWEVOVklGX1RSQU5TTUlUVEVSX1dBVENIRE9HX1BFUklPRCAgMzAK
IAogc3RhdGljIE5UU1RBVFVTCkBAIC0zNDY3LDggKzM0MzAsNiBAQCBfX1RyYW5zbWl0dGVyUmlu
Z0luaXRpYWxpemUoCiAgICAgSW5pdGlhbGl6ZUxpc3RIZWFkKCYoKlJpbmcpLT5QYWNrZXRDb21w
bGV0ZSk7CiAKICAgICBLZUluaXRpYWxpemVEcGMoJigqUmluZyktPkRwYywgVHJhbnNtaXR0ZXJS
aW5nRHBjLCAqUmluZyk7Ci0gICAgS2VJbml0aWFsaXplVGltZXIoJigqUmluZyktPlRpbWVyKTsK
LSAgICBLZUluaXRpYWxpemVEcGMoJigqUmluZyktPlRpbWVyRHBjLCBUcmFuc21pdHRlclJpbmdE
cGMsICpSaW5nKTsKIAogICAgIHN0YXR1cyA9IFJ0bFN0cmluZ0NiUHJpbnRmQShOYW1lLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YgKE5hbWUpLApAQCAtMzc4OSw3ICsz
NzUwLDYgQEAgX19UcmFuc21pdHRlclJpbmdDb25uZWN0KAogICAgICAgICBBU1NFUlQoTlRfU1VD
Q0VTUyhzdGF0dXMpKTsKIAogICAgICAgICBLZVNldFRhcmdldFByb2Nlc3NvckRwY0V4KCZSaW5n
LT5EcGMsICZQcm9jTnVtYmVyKTsKLSAgICAgICAgS2VTZXRUYXJnZXRQcm9jZXNzb3JEcGNFeCgm
UmluZy0+VGltZXJEcGMsICZQcm9jTnVtYmVyKTsKIAogICAgICAgICAoVk9JRCkgWEVOQlVTX0VW
VENITihCaW5kLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmVHJhbnNtaXR0ZXItPkV2
dGNobkludGVyZmFjZSwKQEAgLTQwNDYsMTIgKzQwMDYsNiBAQCBfX1RyYW5zbWl0dGVyUmluZ0Rp
c2FibGUoCiAKICAgICBfX1RyYW5zbWl0dGVyUmluZ1JlbGVhc2VMb2NrKFJpbmcpOwogCi0gICAg
Ly8KLSAgICAvLyBObyBuZXcgdGltZXJzIGNhbiBiZSBzY2hlZHVsZWQgb25jZSBFbmFibGVkIGdv
ZXMgdG8gRkFMU0UuCi0gICAgLy8gQ2FuY2VsIGFueSBleGlzdGluZyBvbmVzLgotICAgIC8vCi0g
ICAgKFZPSUQpIEtlQ2FuY2VsVGltZXIoJlJpbmctPlRpbWVyKTsKLQogICAgIEluZm8oIiVzWyV1
XTogPD09PT1cbiIsCiAgICAgICAgICBGcm9udGVuZEdldFBhdGgoRnJvbnRlbmQpLAogICAgICAg
ICAgUmluZy0+SW5kZXgpOwpAQCAtNDEyNyw4ICs0MDgxLDYgQEAgX19UcmFuc21pdHRlclJpbmdU
ZWFyZG93bigKIAogICAgIFJpbmctPkRwY3MgPSAwOwogCi0gICAgUnRsWmVyb01lbW9yeSgmUmlu
Zy0+VGltZXJEcGMsIHNpemVvZiAoS0RQQykpOwotICAgIFJ0bFplcm9NZW1vcnkoJlJpbmctPlRp
bWVyLCBzaXplb2YgKEtUSU1FUikpOwogICAgIFJ0bFplcm9NZW1vcnkoJlJpbmctPkRwYywgc2l6
ZW9mIChLRFBDKSk7CiAKICAgICBBU1NFUlQzVShSaW5nLT5QYWNrZXRzQ29tcGxldGVkLCA9PSwg
UmluZy0+UGFja2V0c1NlbnQpOwotLSAKMi41LjMKCgpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwp3aW4tcHYtZGV2ZWwgbWFpbGluZyBsaXN0Cndpbi1wdi1k
ZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21h
aWxtYW4vbGlzdGluZm8vd2luLXB2LWRldmVs

From win-pv-devel-bounces@lists.xenproject.org Fri Nov 02 16:54:47 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 02 Nov 2018 16:54:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1gIcid-0003X9-Fh; Fri, 02 Nov 2018 16:54:47 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=u19u=nn=citrix.com=prvs=8372cde87=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1gIcib-0003Vc-Ex
 for win-pv-devel@lists.xenproject.org; Fri, 02 Nov 2018 16:54:45 +0000
X-Inumbo-ID: ff289802-debf-11e8-912c-12d6303a7972
Received: from SMTP03.CITRIX.COM (unknown [162.221.156.55])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id ff289802-debf-11e8-912c-12d6303a7972;
 Fri, 02 Nov 2018 16:54:43 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.54,456,1534809600"; d="scan'208";a="69510371"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Fri, 2 Nov 2018 16:54:26 +0000
Message-ID: <1541177669-14212-6-git-send-email-paul.durrant@citrix.com>
X-Mailer: git-send-email 2.5.3
In-Reply-To: <1541177669-14212-1-git-send-email-paul.durrant@citrix.com>
References: <1541177669-14212-1-git-send-email-paul.durrant@citrix.com>
MIME-Version: 1.0
Subject: [win-pv-devel] [PATCH xenvif 5/8] Re-instate 264bde12 "Introduce a
 threaded DPC into the receiver code"
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Paul Durrant <paul.durrant@citrix.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

VGhpcyBwYXRjaCByZS13b3JrcyAyNjRiZGUxMiBzdWNoIHRoYXQgaXQgYXBwbHkgKGFmdGVyIHJl
dmVyc2lvbiBvZiB0aGUKcG9sbGVyIHN1YnN5c3RlbSksIGluY2x1ZGluZyByZS1uYW1pbmcgdGhl
IHVucXVhbGlmaWVkICdEcGMnIGFuZCAnRHBjcycKZmllbGRzIGluIHRoZSByZWNlaXZlciBhbmQg
dHJhbnNtaXR0ZXIgcmluZyBzdHJ1Y3R1cmVzIHRvICdQb2xsRHBjJyBhbmQKJ1BvbGxEcGNzJyB0
byBkaXNhbWJpZ3VhdGUgdGhlbSBmcm9tIHRoZSBuZXcgdGhyZWFkZWQgJ1F1ZXVlRHBjJyBhbmQK
YXNzb2NpYXRlZCAnUXVldWVEcGNzJyBjb3VudGVyLgoKU2lnbmVkLW9mZi1ieTogUGF1bCBEdXJy
YW50IDxwYXVsLmR1cnJhbnRAY2l0cml4LmNvbT4KLS0tCiBzcmMveGVudmlmL3JlY2VpdmVyLmMg
ICAgfCAzODMgKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0K
IHNyYy94ZW52aWYvdHJhbnNtaXR0ZXIuYyB8ICAzMiArKy0tCiBzcmMveGVudmlmL3ZpZi5jICAg
ICAgICAgfCAgIDcgKwogMyBmaWxlcyBjaGFuZ2VkLCAyNDIgaW5zZXJ0aW9ucygrKSwgMTgwIGRl
bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy94ZW52aWYvcmVjZWl2ZXIuYyBiL3NyYy94ZW52
aWYvcmVjZWl2ZXIuYwppbmRleCA2M2YwZTBlLi5lZDM2MmZmIDEwMDY0NAotLS0gYS9zcmMveGVu
dmlmL3JlY2VpdmVyLmMKKysrIGIvc3JjL3hlbnZpZi9yZWNlaXZlci5jCkBAIC04OSw4ICs4OSw4
IEBAIHR5cGVkZWYgc3RydWN0IF9YRU5WSUZfUkVDRUlWRVJfUklORyB7CiAgICAgbmV0aWZfcnhf
c3JpbmdfdCAgICAgICAgICAgICpTaGFyZWQ7CiAgICAgUFhFTkJVU19HTlRUQUJfRU5UUlkgICAg
ICAgIEVudHJ5OwogICAgIFBYRU5CVVNfRVZUQ0hOX0NIQU5ORUwgICAgICBDaGFubmVsOwotICAg
IEtEUEMgICAgICAgICAgICAgICAgICAgICAgICBEcGM7Ci0gICAgVUxPTkcgICAgICAgICAgICAg
ICAgICAgICAgIERwY3M7CisgICAgS0RQQyAgICAgICAgICAgICAgICAgICAgICAgIFBvbGxEcGM7
CisgICAgVUxPTkcgICAgICAgICAgICAgICAgICAgICAgIFBvbGxEcGNzOwogICAgIFVMT05HICAg
ICAgICAgICAgICAgICAgICAgICBFdmVudHM7CiAgICAgUFhFTlZJRl9SRUNFSVZFUl9GUkFHTUVO
VCAgIFBlbmRpbmdbWEVOVklGX1JFQ0VJVkVSX01BWElNVU1fRlJBR01FTlRfSUQgKyAxXTsKICAg
ICBVTE9ORyAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdHNQb3N0ZWQ7CkBAIC0xMDMsNyAr
MTAzLDEwIEBAIHR5cGVkZWYgc3RydWN0IF9YRU5WSUZfUkVDRUlWRVJfUklORyB7CiAgICAgVUxP
TkcgICAgICAgICAgICAgICAgICAgICAgIEJhY2tmaWxsU2l6ZTsKICAgICBQWEVOQlVTX0RFQlVH
X0NBTExCQUNLICAgICAgRGVidWdDYWxsYmFjazsKICAgICBQWEVOVklGX1RIUkVBRCAgICAgICAg
ICAgICAgV2F0Y2hkb2dUaHJlYWQ7Ci0gICAgTElTVF9FTlRSWSAgICAgICAgICAgICAgICAgIFBh
Y2tldExpc3Q7CisgICAgUExJU1RfRU5UUlkgICAgICAgICAgICAgICAgIFBhY2tldFF1ZXVlOwor
ICAgIEtEUEMgICAgICAgICAgICAgICAgICAgICAgICBRdWV1ZURwYzsKKyAgICBVTE9ORyAgICAg
ICAgICAgICAgICAgICAgICAgUXVldWVEcGNzOworICAgIExJU1RfRU5UUlkgICAgICAgICAgICAg
ICAgICBQYWNrZXRDb21wbGV0ZTsKICAgICBYRU5WSUZfUkVDRUlWRVJfSEFTSCAgICAgICAgSGFz
aDsKIH0gWEVOVklGX1JFQ0VJVkVSX1JJTkcsICpQWEVOVklGX1JFQ0VJVkVSX1JJTkc7CiAKQEAg
LTkxMSwxMCArOTE0LDIyIEBAIGZhaWwxOgogfQogCiBzdGF0aWMgVk9JRAorUmVjZWl2ZXJSaW5n
Q29tcGxldGVQYWNrZXQoCisgICAgSU4gIFBYRU5WSUZfUkVDRUlWRVJfUklORyAgIFJpbmcsCisg
ICAgSU4gIFBYRU5WSUZfUkVDRUlWRVJfUEFDS0VUIFBhY2tldAorICAgICkKK3sKKyAgICBSZWNl
aXZlclJpbmdQcm9jZXNzVGFnKFJpbmcsIFBhY2tldCk7CisgICAgUmVjZWl2ZXJSaW5nUHJvY2Vz
c0NoZWNrc3VtKFJpbmcsIFBhY2tldCk7CisKKyAgICBBU1NFUlQoSXNaZXJvTWVtb3J5KCZQYWNr
ZXQtPkxpc3RFbnRyeSwgc2l6ZW9mIChMSVNUX0VOVFJZKSkpOworICAgIEluc2VydFRhaWxMaXN0
KCZSaW5nLT5QYWNrZXRDb21wbGV0ZSwgJlBhY2tldC0+TGlzdEVudHJ5KTsKK30KKworc3RhdGlj
IFZPSUQKIFJlY2VpdmVyUmluZ1Byb2Nlc3NMYXJnZVBhY2tldCgKICAgICBJTiAgUFhFTlZJRl9S
RUNFSVZFUl9SSU5HICAgUmluZywKLSAgICBJTiAgUFhFTlZJRl9SRUNFSVZFUl9QQUNLRVQgUGFj
a2V0LAotICAgIE9VVCBQTElTVF9FTlRSWSAgICAgICAgICAgICBMaXN0CisgICAgSU4gIFBYRU5W
SUZfUkVDRUlWRVJfUEFDS0VUIFBhY2tldAogICAgICkKIHsKICAgICBQWEVOVklGX1JFQ0VJVkVS
ICAgICAgICAgICAgUmVjZWl2ZXI7CkBAIC0xMDAyLDggKzEwMTcsNyBAQCBSZWNlaXZlclJpbmdQ
cm9jZXNzTGFyZ2VQYWNrZXQoCiAgICAgICAgIEFTU0VSVDNVKExlbmd0aCwgPj0sIFNlZ21lbnRT
aXplKTsKICAgICAgICAgTGVuZ3RoIC09IFNlZ21lbnRTaXplOwogCi0gICAgICAgIEFTU0VSVChJ
c1plcm9NZW1vcnkoJlNlZ21lbnQtPkxpc3RFbnRyeSwgc2l6ZW9mIChMSVNUX0VOVFJZKSkpOwot
ICAgICAgICBJbnNlcnRUYWlsTGlzdChMaXN0LCAmU2VnbWVudC0+TGlzdEVudHJ5KTsKKyAgICAg
ICAgUmVjZWl2ZXJSaW5nQ29tcGxldGVQYWNrZXQoUmluZywgU2VnbWVudCk7CiAKICAgICAgICAg
aWYgKE9mZmxvYWQpIHsKICAgICAgICAgICAgIEFTU0VSVChSaW5nLT5PZmZsb2FkT3B0aW9ucy5O
ZWVkTGFyZ2VQYWNrZXRTcGxpdCAhPSAwKTsKQEAgLTEwNTIsOCArMTA2Niw3IEBAIFJlY2VpdmVy
UmluZ1Byb2Nlc3NMYXJnZVBhY2tldCgKICAgICAgICAgaWYgKFJlY2VpdmVyLT5BbHdheXNQdWxs
dXAgIT0gMCkKICAgICAgICAgICAgIF9fUmVjZWl2ZXJSaW5nUHVsbHVwUGFja2V0KFJpbmcsIFBh
Y2tldCk7CiAKLSAgICAgICAgQVNTRVJUKElzWmVyb01lbW9yeSgmUGFja2V0LT5MaXN0RW50cnks
IHNpemVvZiAoTElTVF9FTlRSWSkpKTsKLSAgICAgICAgSW5zZXJ0VGFpbExpc3QoTGlzdCwgJlBh
Y2tldC0+TGlzdEVudHJ5KTsKKyAgICAgICAgUmVjZWl2ZXJSaW5nQ29tcGxldGVQYWNrZXQoUmlu
ZywgUGFja2V0KTsKICAgICB9IGVsc2UgewogICAgICAgICBfX1JlY2VpdmVyUmluZ1B1dFBhY2tl
dChSaW5nLCBQYWNrZXQsIFRSVUUpOwogICAgIH0KQEAgLTEwOTAsOCArMTEwMyw3IEBAIGZhaWwx
Ogogc3RhdGljIFZPSUQKIFJlY2VpdmVyUmluZ1Byb2Nlc3NTdGFuZGFyZFBhY2tldCgKICAgICBJ
TiAgUFhFTlZJRl9SRUNFSVZFUl9SSU5HICAgUmluZywKLSAgICBJTiAgUFhFTlZJRl9SRUNFSVZF
Ul9QQUNLRVQgUGFja2V0LAotICAgIE9VVCBQTElTVF9FTlRSWSAgICAgICAgICAgICBMaXN0Cisg
ICAgSU4gIFBYRU5WSUZfUkVDRUlWRVJfUEFDS0VUIFBhY2tldAogICAgICkKIHsKICAgICBQWEVO
VklGX1JFQ0VJVkVSICAgICAgICAgICAgUmVjZWl2ZXI7CkBAIC0xMTYxLDkgKzExNzMsNyBAQCBS
ZWNlaXZlclJpbmdQcm9jZXNzU3RhbmRhcmRQYWNrZXQoCiAgICAgICAgIFBhY2tldC0+TWRsLk5l
eHQgPSBNZGw7CiAgICAgfQogCi0gICAgQVNTRVJUKElzWmVyb01lbW9yeSgmUGFja2V0LT5MaXN0
RW50cnksIHNpemVvZiAoTElTVF9FTlRSWSkpKTsKLSAgICBJbnNlcnRUYWlsTGlzdChMaXN0LCAm
UGFja2V0LT5MaXN0RW50cnkpOwotCisgICAgUmVjZWl2ZXJSaW5nQ29tcGxldGVQYWNrZXQoUmlu
ZywgUGFja2V0KTsKICAgICByZXR1cm47CiAKIGZhaWwyOgpAQCAtMTE5Niw4ICsxMjA2LDcgQEAg
ZmFpbDE6CiBzdGF0aWMgVk9JRAogUmVjZWl2ZXJSaW5nUHJvY2Vzc1BhY2tldCgKICAgICBJTiAg
UFhFTlZJRl9SRUNFSVZFUl9SSU5HICAgICAgIFJpbmcsCi0gICAgSU4gIFBYRU5WSUZfUkVDRUlW
RVJfUEFDS0VUICAgICBQYWNrZXQsCi0gICAgT1VUIFBMSVNUX0VOVFJZICAgICAgICAgICAgICAg
ICBMaXN0CisgICAgSU4gIFBYRU5WSUZfUkVDRUlWRVJfUEFDS0VUICAgICBQYWNrZXQKICAgICAp
CiB7CiAgICAgUFhFTlZJRl9SRUNFSVZFUiAgICAgICAgICAgICAgICBSZWNlaXZlcjsKQEAgLTEy
ODMsOSArMTI5Miw5IEBAIFJlY2VpdmVyUmluZ1Byb2Nlc3NQYWNrZXQoCiAgICAgICAgIGdvdG8g
ZmFpbDM7CiAKICAgICBpZiAoUGFja2V0LT5NYXhpbXVtU2VnbWVudFNpemUgIT0gMCkKLSAgICAg
ICAgUmVjZWl2ZXJSaW5nUHJvY2Vzc0xhcmdlUGFja2V0KFJpbmcsIFBhY2tldCwgTGlzdCk7Cisg
ICAgICAgIFJlY2VpdmVyUmluZ1Byb2Nlc3NMYXJnZVBhY2tldChSaW5nLCBQYWNrZXQpOwogICAg
IGVsc2UKLSAgICAgICAgUmVjZWl2ZXJSaW5nUHJvY2Vzc1N0YW5kYXJkUGFja2V0KFJpbmcsIFBh
Y2tldCwgTGlzdCk7CisgICAgICAgIFJlY2VpdmVyUmluZ1Byb2Nlc3NTdGFuZGFyZFBhY2tldChS
aW5nLCBQYWNrZXQpOwogCiAgICAgcmV0dXJuOwogCkBAIC0xMzE4LDYzICsxMzI3LDggQEAgZmFp
bDE6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSk7CiB9CiAKLXN0YXRpYyBWT0lE
Ci1SZWNlaXZlclJpbmdQcm9jZXNzUGFja2V0cygKLSAgICBJTiAgICAgIFBYRU5WSUZfUkVDRUlW
RVJfUklORyAgIFJpbmcsCi0gICAgT1VUICAgICBQTElTVF9FTlRSWSAgICAgICAgICAgICBMaXN0
LAotICAgIE9VVCAgICAgUFVMT05HICAgICAgICAgICAgICAgICAgQ291bnQKLSAgICApCi17Ci0g
ICAgUExJU1RfRU5UUlkgICAgICAgICAgICAgICAgICAgICBMaXN0RW50cnk7Ci0KLSAgICB3aGls
ZSAoIUlzTGlzdEVtcHR5KCZSaW5nLT5QYWNrZXRMaXN0KSkgewotICAgICAgICBQWEVOVklGX1JF
Q0VJVkVSX1BBQ0tFVCBQYWNrZXQ7Ci0KLSAgICAgICAgTGlzdEVudHJ5ID0gUmVtb3ZlSGVhZExp
c3QoJlJpbmctPlBhY2tldExpc3QpOwotICAgICAgICBBU1NFUlQzUChMaXN0RW50cnksICE9LCAm
UmluZy0+UGFja2V0TGlzdCk7Ci0KLSAgICAgICAgUnRsWmVyb01lbW9yeShMaXN0RW50cnksIHNp
emVvZiAoTElTVF9FTlRSWSkpOwotCi0gICAgICAgIFBhY2tldCA9IENPTlRBSU5JTkdfUkVDT1JE
KExpc3RFbnRyeSwgWEVOVklGX1JFQ0VJVkVSX1BBQ0tFVCwgTGlzdEVudHJ5KTsKLSAgICAgICAg
UmVjZWl2ZXJSaW5nUHJvY2Vzc1BhY2tldChSaW5nLCBQYWNrZXQsIExpc3QpOwotICAgIH0KLQot
ICAgIGZvciAoTGlzdEVudHJ5ID0gTGlzdC0+Rmxpbms7Ci0gICAgICAgICBMaXN0RW50cnkgIT0g
TGlzdDsKLSAgICAgICAgIExpc3RFbnRyeSA9IExpc3RFbnRyeS0+RmxpbmspIHsKLSAgICAgICAg
UFhFTlZJRl9SRUNFSVZFUl9QQUNLRVQgUGFja2V0OwotCi0gICAgICAgIFBhY2tldCA9IENPTlRB
SU5JTkdfUkVDT1JEKExpc3RFbnRyeSwgWEVOVklGX1JFQ0VJVkVSX1BBQ0tFVCwgTGlzdEVudHJ5
KTsKLQotICAgICAgICBSZWNlaXZlclJpbmdQcm9jZXNzVGFnKFJpbmcsIFBhY2tldCk7Ci0gICAg
ICAgIFJlY2VpdmVyUmluZ1Byb2Nlc3NDaGVja3N1bShSaW5nLCBQYWNrZXQpOwotCi0gICAgICAg
ICgqQ291bnQpKys7Ci0gICAgfQotfQotCiBzdGF0aWMgRk9SQ0VJTkxJTkUgVk9JRAotX19kcnZf
cmVxdWlyZXNJUlFMKERJU1BBVENIX0xFVkVMKQotX19SZWNlaXZlclJpbmdBY3F1aXJlTG9jaygK
LSAgICBJTiAgUFhFTlZJRl9SRUNFSVZFUl9SSU5HICAgUmluZwotICAgICkKLXsKLSAgICBBU1NF
UlQzVShLZUdldEN1cnJlbnRJcnFsKCksID09LCBESVNQQVRDSF9MRVZFTCk7Ci0KLSAgICBLZUFj
cXVpcmVTcGluTG9ja0F0RHBjTGV2ZWwoJlJpbmctPkxvY2spOwotfQotCi1zdGF0aWMgREVDTFNQ
RUNfTk9JTkxJTkUgVk9JRAotUmVjZWl2ZXJSaW5nQWNxdWlyZUxvY2soCi0gICAgSU4gIFBYRU5W
SUZfUkVDRUlWRVJfUklORyAgIFJpbmcKLSAgICApCi17Ci0gICAgX19SZWNlaXZlclJpbmdBY3F1
aXJlTG9jayhSaW5nKTsKLX0KLQotc3RhdGljIEZPUkNFSU5MSU5FIFZPSUQKLV9fZHJ2X3JlcXVp
cmVzSVJRTChESVNQQVRDSF9MRVZFTCkKLV9fUmVjZWl2ZXJSaW5nUmVsZWFzZUxvY2soCitfX1Jl
Y2VpdmVyUmluZ1N3aXp6bGUoCiAgICAgSU4gIFBYRU5WSUZfUkVDRUlWRVJfUklORyAgIFJpbmcK
ICAgICApCiB7CkBAIC0xMzgyLDMzICsxMzM2LDQ0IEBAIF9fUmVjZWl2ZXJSaW5nUmVsZWFzZUxv
Y2soCiAgICAgUFhFTlZJRl9GUk9OVEVORCAgICAgICAgICAgIEZyb250ZW5kOwogICAgIFBYRU5W
SUZfVklGX0NPTlRFWFQgICAgICAgICBDb250ZXh0OwogICAgIExJU1RfRU5UUlkgICAgICAgICAg
ICAgICAgICBMaXN0OwotICAgIFVMT05HICAgICAgICAgICAgICAgICAgICAgICBDb3VudDsKLSAg
ICBCT09MRUFOICAgICAgICAgICAgICAgICAgICAgTW9yZTsKLQotICAgIEFTU0VSVDNVKEtlR2V0
Q3VycmVudElycWwoKSwgPT0sIERJU1BBVENIX0xFVkVMKTsKKyAgICBQTElTVF9FTlRSWSAgICAg
ICAgICAgICAgICAgTGlzdEVudHJ5OwogCiAgICAgUmVjZWl2ZXIgPSBSaW5nLT5SZWNlaXZlcjsK
ICAgICBGcm9udGVuZCA9IFJlY2VpdmVyLT5Gcm9udGVuZDsKICAgICBDb250ZXh0ID0gUGRvR2V0
VmlmQ29udGV4dChGcm9udGVuZEdldFBkbyhGcm9udGVuZCkpOwogCiAgICAgSW5pdGlhbGl6ZUxp
c3RIZWFkKCZMaXN0KTsKLSAgICBDb3VudCA9IDA7CiAKLSAgICBSZWNlaXZlclJpbmdQcm9jZXNz
UGFja2V0cyhSaW5nLCAmTGlzdCwgJkNvdW50KTsKLSAgICBBU1NFUlQoRVFVSVYoSXNMaXN0RW1w
dHkoJkxpc3QpLCBDb3VudCA9PSAwKSk7Ci0gICAgQVNTRVJUKElzTGlzdEVtcHR5KCZSaW5nLT5Q
YWNrZXRMaXN0KSk7CisgICAgTGlzdEVudHJ5ID0gSW50ZXJsb2NrZWRFeGNoYW5nZVBvaW50ZXIo
JlJpbmctPlBhY2tldFF1ZXVlLCBOVUxMKTsKIAotICAgIC8vIFdlIG5lZWQgdG8gYnVtcCBMb2Fu
ZWQgYmVmb3JlIGRyb3BwaW5nIHRoZSBsb2NrIHRvIGF2b2lkIFZpZkRpc2FibGUoKQotICAgIC8v
IHJldHVybmluZyBwcmVtYXR1cmVseS4KLSAgICBfX0ludGVybG9ja2VkQWRkKCZSZWNlaXZlci0+
TG9hbmVkLCBDb3VudCk7CisgICAgLy8gUGFja2V0cyBhcmUgaGVsZCBpbiB0aGUgcXVldWUgaW4g
cmV2ZXJzZSBvcmRlciBzbyB0aGF0IHRoZSBtb3N0CisgICAgLy8gcmVjZW50IGlzIGFsd2F5cyBo
ZWFkIG9mIHRoZSBsaXN0LiBUaGlzIGlzIG5lY2Vzc2FyeSB0byBhbGxvdworICAgIC8vIGFkZGl0
aW9uIHRvIHRoZSBsaXN0IHRvIGJlIGRvbmUgYXRvbWljYWxseS4KIAotI3ByYWdtYSBwcmVmYXN0
KGRpc2FibGU6MjYxMTApCi0gICAgS2VSZWxlYXNlU3BpbkxvY2tGcm9tRHBjTGV2ZWwoJlJpbmct
PkxvY2spOworICAgIHdoaWxlIChMaXN0RW50cnkgIT0gTlVMTCkgeworICAgICAgICBQTElTVF9F
TlRSWSBOZXh0RW50cnk7CisKKyAgICAgICAgTmV4dEVudHJ5ID0gTGlzdEVudHJ5LT5CbGluazsK
KyAgICAgICAgTGlzdEVudHJ5LT5GbGluayA9IExpc3RFbnRyeS0+QmxpbmsgPSBMaXN0RW50cnk7
CiAKLSAgICBNb3JlID0gIUlzTGlzdEVtcHR5KCZMaXN0KSA/IFRSVUUgOiBGQUxTRTsKKyAgICAg
ICAgSW5zZXJ0SGVhZExpc3QoJkxpc3QsIExpc3RFbnRyeSk7CiAKLSAgICB3aGlsZSAoTW9yZSkg
ewotICAgICAgICBQTElTVF9FTlRSWSAgICAgICAgICAgICBMaXN0RW50cnk7CisgICAgICAgIExp
c3RFbnRyeSA9IE5leHRFbnRyeTsKKyAgICB9CisKKyAgICB3aGlsZSAoIUlzTGlzdEVtcHR5KCZM
aXN0KSkgeworICAgICAgICBQWEVOVklGX1JFQ0VJVkVSX1BBQ0tFVCBQYWNrZXQ7CisKKyAgICAg
ICAgTGlzdEVudHJ5ID0gUmVtb3ZlSGVhZExpc3QoJkxpc3QpOworICAgICAgICBBU1NFUlQzUChM
aXN0RW50cnksICE9LCAmTGlzdCk7CisKKyAgICAgICAgUnRsWmVyb01lbW9yeShMaXN0RW50cnks
IHNpemVvZiAoTElTVF9FTlRSWSkpOworCisgICAgICAgIFBhY2tldCA9IENPTlRBSU5JTkdfUkVD
T1JEKExpc3RFbnRyeSwgWEVOVklGX1JFQ0VJVkVSX1BBQ0tFVCwgTGlzdEVudHJ5KTsKKyAgICAg
ICAgUmVjZWl2ZXJSaW5nUHJvY2Vzc1BhY2tldChSaW5nLCBQYWNrZXQpOworICAgIH0KKworICAg
IHdoaWxlICghSXNMaXN0RW1wdHkoJlJpbmctPlBhY2tldENvbXBsZXRlKSkgewogICAgICAgICBQ
WEVOVklGX1JFQ0VJVkVSX1BBQ0tFVCBQYWNrZXQ7CiAgICAgICAgIFBYRU5WSUZfUEFDS0VUX0lO
Rk8gICAgIEluZm87CiAgICAgICAgIFBVQ0hBUiAgICAgICAgICAgICAgICAgIEJhc2VWYTsKQEAg
LTE0MTYsMTQgKzEzODEsMTEgQEAgX19SZWNlaXZlclJpbmdSZWxlYXNlTG9jaygKICAgICAgICAg
UEVUSEVSTkVUX0FERFJFU1MgICAgICAgRGVzdGluYXRpb25BZGRyZXNzOwogICAgICAgICBFVEhF
Uk5FVF9BRERSRVNTX1RZUEUgICBUeXBlOwogCi0gICAgICAgIExpc3RFbnRyeSA9IFJlbW92ZUhl
YWRMaXN0KCZMaXN0KTsKLSAgICAgICAgQVNTRVJUM1AoTGlzdEVudHJ5LCAhPSwgJkxpc3QpOwor
ICAgICAgICBMaXN0RW50cnkgPSBSZW1vdmVIZWFkTGlzdCgmUmluZy0+UGFja2V0Q29tcGxldGUp
OworICAgICAgICBBU1NFUlQzUChMaXN0RW50cnksICE9LCAmUmluZy0+UGFja2V0Q29tcGxldGUp
OwogCiAgICAgICAgIFJ0bFplcm9NZW1vcnkoTGlzdEVudHJ5LCBzaXplb2YgKExJU1RfRU5UUlkp
KTsKIAotICAgICAgICBBU1NFUlQoTW9yZSk7Ci0gICAgICAgIE1vcmUgPSAhSXNMaXN0RW1wdHko
Jkxpc3QpID8gVFJVRSA6IEZBTFNFOwotCiAgICAgICAgIFBhY2tldCA9IENPTlRBSU5JTkdfUkVD
T1JEKExpc3RFbnRyeSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWEVOVklG
X1JFQ0VJVkVSX1BBQ0tFVCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlz
dEVudHJ5KTsKQEAgLTE1MTIsNTUgKzE0NzQsNTcgQEAgX19SZWNlaXZlclJpbmdSZWxlYXNlTG9j
aygKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhFTlZJRl9SRUNFSVZF
Ul9VRFBfUEFDS0VUUywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEp
OwogCi0gICAgICAgaWYgKFBhY2tldC0+TWF4aW11bVNlZ21lbnRTaXplICE9IDApCisgICAgICAg
IGlmIChQYWNrZXQtPk1heGltdW1TZWdtZW50U2l6ZSAhPSAwKQogICAgICAgICAgICAgRnJvbnRl
bmRJbmNyZW1lbnRTdGF0aXN0aWMoRnJvbnRlbmQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBYRU5WSUZfUkVDRUlWRVJfR1NPX1BBQ0tFVFMsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAxKTsKIAotICAgICAgIGlmIChQYWNrZXQtPkZsYWdz
LklwQ2hlY2tzdW1TdWNjZWVkZWQgIT0gMCkKLSAgICAgICAgICAgRnJvbnRlbmRJbmNyZW1lbnRT
dGF0aXN0aWMoRnJvbnRlbmQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFhFTlZJRl9SRUNFSVZFUl9JUFY0X0NIRUNLU1VNX1NVQ0NFRURFRCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMSk7Ci0KLSAgICAgICBpZiAoUGFja2V0LT5GbGFncy5J
cENoZWNrc3VtRmFpbGVkICE9IDApCi0gICAgICAgICAgIEZyb250ZW5kSW5jcmVtZW50U3RhdGlz
dGljKEZyb250ZW5kLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYRU5W
SUZfUkVDRUlWRVJfSVBWNF9DSEVDS1NVTV9GQUlMRUQsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDEpOwotCi0gICAgICAgaWYgKFBhY2tldC0+RmxhZ3MuSXBDaGVja3N1
bU5vdFZhbGlkYXRlZCAhPSAwKQotICAgICAgICAgICBGcm9udGVuZEluY3JlbWVudFN0YXRpc3Rp
YyhGcm9udGVuZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWEVOVklG
X1JFQ0VJVkVSX0lQVjRfQ0hFQ0tTVU1fTk9UX1ZBTElEQVRFRCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgMSk7Ci0KLSAgICAgICBpZiAoUGFja2V0LT5GbGFncy5UY3BD
aGVja3N1bVN1Y2NlZWRlZCAhPSAwKQotICAgICAgICAgICBGcm9udGVuZEluY3JlbWVudFN0YXRp
c3RpYyhGcm9udGVuZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWEVO
VklGX1JFQ0VJVkVSX1RDUF9DSEVDS1NVTV9TVUNDRUVERUQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDEpOwotCi0gICAgICAgaWYgKFBhY2tldC0+RmxhZ3MuVGNwQ2hl
Y2tzdW1GYWlsZWQgIT0gMCkKLSAgICAgICAgICAgRnJvbnRlbmRJbmNyZW1lbnRTdGF0aXN0aWMo
RnJvbnRlbmQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhFTlZJRl9S
RUNFSVZFUl9UQ1BfQ0hFQ0tTVU1fRkFJTEVELAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAxKTsKLQotICAgICAgIGlmIChQYWNrZXQtPkZsYWdzLlRjcENoZWNrc3VtTm90
VmFsaWRhdGVkICE9IDApCi0gICAgICAgICAgIEZyb250ZW5kSW5jcmVtZW50U3RhdGlzdGljKEZy
b250ZW5kLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYRU5WSUZfUkVD
RUlWRVJfVENQX0NIRUNLU1VNX05PVF9WQUxJREFURUQsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDEpOwotCi0gICAgICAgaWYgKFBhY2tldC0+RmxhZ3MuVWRwQ2hlY2tz
dW1TdWNjZWVkZWQgIT0gMCkKLSAgICAgICAgICAgRnJvbnRlbmRJbmNyZW1lbnRTdGF0aXN0aWMo
RnJvbnRlbmQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhFTlZJRl9S
RUNFSVZFUl9VRFBfQ0hFQ0tTVU1fU1VDQ0VFREVELAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAxKTsKLQotICAgICAgIGlmIChQYWNrZXQtPkZsYWdzLlVkcENoZWNrc3Vt
RmFpbGVkICE9IDApCi0gICAgICAgICAgIEZyb250ZW5kSW5jcmVtZW50U3RhdGlzdGljKEZyb250
ZW5kLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYRU5WSUZfUkVDRUlW
RVJfVURQX0NIRUNLU1VNX0ZBSUxFRCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMSk7Ci0KLSAgICAgICBpZiAoUGFja2V0LT5GbGFncy5VZHBDaGVja3N1bU5vdFZhbGlk
YXRlZCAhPSAwKQotICAgICAgICAgICBGcm9udGVuZEluY3JlbWVudFN0YXRpc3RpYyhGcm9udGVu
ZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWEVOVklGX1JFQ0VJVkVS
X1VEUF9DSEVDS1NVTV9OT1RfVkFMSURBVEVELAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAxKTsKKyAgICAgICAgaWYgKFBhY2tldC0+RmxhZ3MuSXBDaGVja3N1bVN1Y2Nl
ZWRlZCAhPSAwKQorICAgICAgICAgICAgRnJvbnRlbmRJbmNyZW1lbnRTdGF0aXN0aWMoRnJvbnRl
bmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYRU5WSUZfUkVDRUlW
RVJfSVBWNF9DSEVDS1NVTV9TVUNDRUVERUQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAxKTsKKworICAgICAgICBpZiAoUGFja2V0LT5GbGFncy5JcENoZWNrc3VtRmFp
bGVkICE9IDApCisgICAgICAgICAgICBGcm9udGVuZEluY3JlbWVudFN0YXRpc3RpYyhGcm9udGVu
ZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhFTlZJRl9SRUNFSVZF
Ul9JUFY0X0NIRUNLU1VNX0ZBSUxFRCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDEpOworCisgICAgICAgIGlmIChQYWNrZXQtPkZsYWdzLklwQ2hlY2tzdW1Ob3RWYWxp
ZGF0ZWQgIT0gMCkKKyAgICAgICAgICAgIEZyb250ZW5kSW5jcmVtZW50U3RhdGlzdGljKEZyb250
ZW5kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWEVOVklGX1JFQ0VJ
VkVSX0lQVjRfQ0hFQ0tTVU1fTk9UX1ZBTElEQVRFRCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDEpOworCisgICAgICAgIGlmIChQYWNrZXQtPkZsYWdzLlRjcENoZWNr
c3VtU3VjY2VlZGVkICE9IDApCisgICAgICAgICAgICBGcm9udGVuZEluY3JlbWVudFN0YXRpc3Rp
YyhGcm9udGVuZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhFTlZJ
Rl9SRUNFSVZFUl9UQ1BfQ0hFQ0tTVU1fU1VDQ0VFREVELAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMSk7CisKKyAgICAgICAgaWYgKFBhY2tldC0+RmxhZ3MuVGNwQ2hl
Y2tzdW1GYWlsZWQgIT0gMCkKKyAgICAgICAgICAgIEZyb250ZW5kSW5jcmVtZW50U3RhdGlzdGlj
KEZyb250ZW5kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWEVOVklG
X1JFQ0VJVkVSX1RDUF9DSEVDS1NVTV9GQUlMRUQsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAxKTsKKworICAgICAgICBpZiAoUGFja2V0LT5GbGFncy5UY3BDaGVja3N1
bU5vdFZhbGlkYXRlZCAhPSAwKQorICAgICAgICAgICAgRnJvbnRlbmRJbmNyZW1lbnRTdGF0aXN0
aWMoRnJvbnRlbmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYRU5W
SUZfUkVDRUlWRVJfVENQX0NIRUNLU1VNX05PVF9WQUxJREFURUQsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAxKTsKKworICAgICAgICBpZiAoUGFja2V0LT5GbGFncy5V
ZHBDaGVja3N1bVN1Y2NlZWRlZCAhPSAwKQorICAgICAgICAgICAgRnJvbnRlbmRJbmNyZW1lbnRT
dGF0aXN0aWMoRnJvbnRlbmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBYRU5WSUZfUkVDRUlWRVJfVURQX0NIRUNLU1VNX1NVQ0NFRURFRCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDEpOworCisgICAgICAgIGlmIChQYWNrZXQtPkZsYWdz
LlVkcENoZWNrc3VtRmFpbGVkICE9IDApCisgICAgICAgICAgICBGcm9udGVuZEluY3JlbWVudFN0
YXRpc3RpYyhGcm9udGVuZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFhFTlZJRl9SRUNFSVZFUl9VRFBfQ0hFQ0tTVU1fRkFJTEVELAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgMSk7CisKKyAgICAgICAgaWYgKFBhY2tldC0+RmxhZ3MuVWRw
Q2hlY2tzdW1Ob3RWYWxpZGF0ZWQgIT0gMCkKKyAgICAgICAgICAgIEZyb250ZW5kSW5jcmVtZW50
U3RhdGlzdGljKEZyb250ZW5kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgWEVOVklGX1JFQ0VJVkVSX1VEUF9DSEVDS1NVTV9OT1RfVkFMSURBVEVELAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSk7CisKKyAgICAgICAgKFZPSUQpIEludGVy
bG9ja2VkSW5jcmVtZW50KCZSZWNlaXZlci0+TG9hbmVkKTsKIAogICAgICAgICBWaWZSZWNlaXZl
clF1ZXVlUGFja2V0KENvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmlu
Zy0+SW5kZXgsCkBAIC0xNTcyLDEzICsxNTM2LDQwIEBAIF9fUmVjZWl2ZXJSaW5nUmVsZWFzZUxv
Y2soCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFja2V0LT5UYWdDb250cm9sSW5m
b3JtYXRpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJlBhY2tldC0+SW5mbywK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmUGFja2V0LT5IYXNoLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIE1vcmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIUlzTGlzdEVtcHR5KCZSaW5nLT5QYWNrZXRDb21wbGV0ZSkgPyBUUlVFIDogRkFMU0UsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFja2V0KTsKLQotICAgICAgICAtLUNvdW50
OwogICAgIH0KK30KKworc3RhdGljIEZPUkNFSU5MSU5FIFZPSUQKK19fZHJ2X3JlcXVpcmVzSVJR
TChESVNQQVRDSF9MRVZFTCkKK19fUmVjZWl2ZXJSaW5nQWNxdWlyZUxvY2soCisgICAgSU4gIFBY
RU5WSUZfUkVDRUlWRVJfUklORyAgIFJpbmcKKyAgICApCit7CisgICAgQVNTRVJUM1UoS2VHZXRD
dXJyZW50SXJxbCgpLCA9PSwgRElTUEFUQ0hfTEVWRUwpOworCisgICAgS2VBY3F1aXJlU3Bpbkxv
Y2tBdERwY0xldmVsKCZSaW5nLT5Mb2NrKTsKK30KIAotICAgIEFTU0VSVDNVKENvdW50LCA9PSwg
MCk7CitzdGF0aWMgREVDTFNQRUNfTk9JTkxJTkUgVk9JRAorUmVjZWl2ZXJSaW5nQWNxdWlyZUxv
Y2soCisgICAgSU4gIFBYRU5WSUZfUkVDRUlWRVJfUklORyAgIFJpbmcKKyAgICApCit7CisgICAg
X19SZWNlaXZlclJpbmdBY3F1aXJlTG9jayhSaW5nKTsKK30KKworc3RhdGljIEZPUkNFSU5MSU5F
IFZPSUQKK19fZHJ2X3JlcXVpcmVzSVJRTChESVNQQVRDSF9MRVZFTCkKK19fUmVjZWl2ZXJSaW5n
UmVsZWFzZUxvY2soCisgICAgSU4gIFBYRU5WSUZfUkVDRUlWRVJfUklORyAgIFJpbmcKKyAgICAp
Cit7CisgICAgQVNTRVJUM1UoS2VHZXRDdXJyZW50SXJxbCgpLCA9PSwgRElTUEFUQ0hfTEVWRUwp
OworCisjcHJhZ21hIHByZWZhc3QoZGlzYWJsZToyNjExMCkKKyAgICBLZVJlbGVhc2VTcGluTG9j
a0Zyb21EcGNMZXZlbCgmUmluZy0+TG9jayk7CiB9CiAKIHN0YXRpYyBERUNMU1BFQ19OT0lOTElO
RSBWT0lECkBAIC0xNTg5LDYgKzE1ODAsMjkgQEAgUmVjZWl2ZXJSaW5nUmVsZWFzZUxvY2soCiAg
ICAgX19SZWNlaXZlclJpbmdSZWxlYXNlTG9jayhSaW5nKTsKIH0KIAorX19kcnZfZnVuY3Rpb25D
bGFzcyhLREVGRVJSRURfUk9VVElORSkKK19fZHJ2X21heElSUUwoRElTUEFUQ0hfTEVWRUwpCitf
X2Rydl9taW5JUlFMKFBBU1NJVkVfTEVWRUwpCitfX2Rydl9zYW1lSVJRTAorc3RhdGljIFZPSUQK
K1JlY2VpdmVyUmluZ1F1ZXVlRHBjKAorICAgIElOICBQS0RQQyAgICAgICAgICAgICAgIERwYywK
KyAgICBJTiAgUFZPSUQgICAgICAgICAgICAgICBDb250ZXh0LAorICAgIElOICBQVk9JRCAgICAg
ICAgICAgICAgIEFyZ3VtZW50MSwKKyAgICBJTiAgUFZPSUQgICAgICAgICAgICAgICBBcmd1bWVu
dDIKKyAgICApCit7CisgICAgUFhFTlZJRl9SRUNFSVZFUl9SSU5HICAgUmluZyA9IENvbnRleHQ7
CisKKyAgICBVTlJFRkVSRU5DRURfUEFSQU1FVEVSKERwYyk7CisgICAgVU5SRUZFUkVOQ0VEX1BB
UkFNRVRFUihBcmd1bWVudDEpOworICAgIFVOUkVGRVJFTkNFRF9QQVJBTUVURVIoQXJndW1lbnQy
KTsKKworICAgIEFTU0VSVChSaW5nICE9IE5VTEwpOworCisgICAgX19SZWNlaXZlclJpbmdTd2l6
emxlKFJpbmcpOworfQorCiBzdGF0aWMgRk9SQ0VJTkxJTkUgVk9JRAogX19SZWNlaXZlclJpbmdT
dG9wKAogICAgIElOICBQWEVOVklGX1JFQ0VJVkVSX1JJTkcgICBSaW5nCkBAIC0xOTAyLDYgKzE5
MTYsMTEgQEAgUmVjZWl2ZXJSaW5nRGVidWdDYWxsYmFjaygKICAgICAgICAgICAgICAgICAgKFJp
bmctPkVuYWJsZWQpID8gIkVOQUJMRUQiIDogIkRJU0FCTEVEIiwKICAgICAgICAgICAgICAgICAg
KF9fUmVjZWl2ZXJSaW5nSXNTdG9wcGVkKFJpbmcpKSA/ICJTVE9QUEVEIiA6ICJSVU5OSU5HIik7
CiAKKyAgICBYRU5CVVNfREVCVUcoUHJpbnRmLAorICAgICAgICAgICAgICAgICAmUmVjZWl2ZXIt
PkRlYnVnSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAiUXVldWVEcGNzID0gJWx1XG4iLAor
ICAgICAgICAgICAgICAgICBSaW5nLT5RdWV1ZURwY3MpOworCiAgICAgLy8gRHVtcCBmcm9udCBy
aW5nCiAgICAgWEVOQlVTX0RFQlVHKFByaW50ZiwKICAgICAgICAgICAgICAgICAgJlJlY2VpdmVy
LT5EZWJ1Z0ludGVyZmFjZSwKQEAgLTE5MzAsMTAgKzE5NDksMzAgQEAgUmVjZWl2ZXJSaW5nRGVi
dWdDYWxsYmFjaygKICAgICAvLyBEdW1wIGV2ZW50IGNoYW5uZWwKICAgICBYRU5CVVNfREVCVUco
UHJpbnRmLAogICAgICAgICAgICAgICAgICAmUmVjZWl2ZXItPkRlYnVnSW50ZXJmYWNlLAotICAg
ICAgICAgICAgICAgICAiWyVzXTogRXZlbnRzID0gJWx1IERwY3MgPSAlbHVcbiIsCisgICAgICAg
ICAgICAgICAgICJbJXNdOiBFdmVudHMgPSAlbHUgUG9sbERwY3MgPSAlbHVcbiIsCiAgICAgICAg
ICAgICAgICAgIEZyb250ZW5kSXNTcGxpdChGcm9udGVuZCkgPyAiUlgiIDogIkNPTUJJTkVEIiwK
ICAgICAgICAgICAgICAgICAgUmluZy0+RXZlbnRzLAotICAgICAgICAgICAgICAgICBSaW5nLT5E
cGNzKTsKKyAgICAgICAgICAgICAgICAgUmluZy0+UG9sbERwY3MpOworfQorCitzdGF0aWMgRk9S
Q0VJTkxJTkUgVk9JRAorX19SZWNlaXZlclJpbmdRdWV1ZVBhY2tldCgKKyAgICBJTiAgUFhFTlZJ
Rl9SRUNFSVZFUl9SSU5HICAgUmluZywKKyAgICBJTiAgUFhFTlZJRl9SRUNFSVZFUl9QQUNLRVQg
UGFja2V0CisgICAgKQoreworICAgIFBMSVNUX0VOVFJZICAgICAgICAgICAgICAgICBMaXN0RW50
cnk7CisgICAgUExJU1RfRU5UUlkgICAgICAgICAgICAgICAgIE9sZDsKKyAgICBQTElTVF9FTlRS
WSAgICAgICAgICAgICAgICAgTmV3OworCisgICAgTGlzdEVudHJ5ID0gJlBhY2tldC0+TGlzdEVu
dHJ5OworCisgICAgZG8geworICAgICAgICBPbGQgPSBSaW5nLT5QYWNrZXRRdWV1ZTsKKworICAg
ICAgICBMaXN0RW50cnktPkJsaW5rID0gUmluZy0+UGFja2V0UXVldWU7CisgICAgICAgIE5ldyA9
IExpc3RFbnRyeTsKKyAgICB9IHdoaWxlIChJbnRlcmxvY2tlZENvbXBhcmVFeGNoYW5nZVBvaW50
ZXIoJlJpbmctPlBhY2tldFF1ZXVlLCAoUFZPSUQpTmV3LCAoUFZPSUQpT2xkKSAhPSBPbGQpOwog
fQogCiBzdGF0aWMgREVDTFNQRUNfTk9JTkxJTkUgQk9PTEVBTgpAQCAtMjE1MSw3ICsyMTkwLDcg
QEAgUmVjZWl2ZXJSaW5nUG9sbCgKICAgICAgICAgICAgICAgICAgICAgUGFja2V0LT5GbGFncy5W
YWx1ZSA9IGZsYWdzOwogCiAgICAgICAgICAgICAgICAgICAgIEFTU0VSVChJc1plcm9NZW1vcnko
JlBhY2tldC0+TGlzdEVudHJ5LCBzaXplb2YgKExJU1RfRU5UUlkpKSk7Ci0gICAgICAgICAgICAg
ICAgICAgIEluc2VydFRhaWxMaXN0KCZSaW5nLT5QYWNrZXRMaXN0LCAmUGFja2V0LT5MaXN0RW50
cnkpOworICAgICAgICAgICAgICAgICAgICBfX1JlY2VpdmVyUmluZ1F1ZXVlUGFja2V0KFJpbmcs
IFBhY2tldCk7CiAgICAgICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAgICAgaWYgKHJzcF9j
b25zIC0gUmluZy0+RnJvbnQucnNwX2NvbnMgPiBYRU5WSUZfUkVDRUlWRVJfQkFUQ0goUmluZykp
CkBAIC0yMTg0LDYgKzIyMjMsMTAgQEAgUmVjZWl2ZXJSaW5nUG9sbCgKICAgICBpZiAoIV9fUmVj
ZWl2ZXJSaW5nSXNTdG9wcGVkKFJpbmcpKQogICAgICAgICBSZWNlaXZlclJpbmdGaWxsKFJpbmcp
OwogCisgICAgaWYgKFJpbmctPlBhY2tldFF1ZXVlICE9IE5VTEwgJiYKKyAgICAgICAgS2VJbnNl
cnRRdWV1ZURwYygmUmluZy0+UXVldWVEcGMsIE5VTEwsIE5VTEwpKQorICAgICAgICBSaW5nLT5R
dWV1ZURwY3MrKzsKKwogZG9uZToKICAgICByZXR1cm4gUmV0cnk7CiAKQEAgLTIyMTUsNyArMjI1
OCw3IEBAIF9fZHJ2X21pbklSUUwoRElTUEFUQ0hfTEVWRUwpCiBfX2Rydl9yZXF1aXJlc0lSUUwo
RElTUEFUQ0hfTEVWRUwpCiBfX2Rydl9zYW1lSVJRTAogc3RhdGljIFZPSUQKLVJlY2VpdmVyUmlu
Z0RwYygKK1JlY2VpdmVyUmluZ1BvbGxEcGMoCiAgICAgSU4gIFBLRFBDICAgICAgICAgICAgICAg
RHBjLAogICAgIElOICBQVk9JRCAgICAgICAgICAgICAgIENvbnRleHQsCiAgICAgSU4gIFBWT0lE
ICAgICAgICAgICAgICAgQXJndW1lbnQxLApAQCAtMjI2Miw4ICsyMzA1LDggQEAgUmVjZWl2ZXJS
aW5nRXZ0Y2huQ2FsbGJhY2soCiAKICAgICBSaW5nLT5FdmVudHMrKzsKIAotICAgIGlmIChLZUlu
c2VydFF1ZXVlRHBjKCZSaW5nLT5EcGMsIE5VTEwsIE5VTEwpKQotICAgICAgICBSaW5nLT5EcGNz
Kys7CisgICAgaWYgKEtlSW5zZXJ0UXVldWVEcGMoJlJpbmctPlBvbGxEcGMsIE5VTEwsIE5VTEwp
KQorICAgICAgICBSaW5nLT5Qb2xsRHBjcysrOwogCiAgICAgUmVjZWl2ZXIgPSBSaW5nLT5SZWNl
aXZlcjsKICAgICBGcm9udGVuZCA9IFJlY2VpdmVyLT5Gcm9udGVuZDsKQEAgLTIzOTgsOSArMjQ0
MSw5IEBAIF9fUmVjZWl2ZXJSaW5nSW5pdGlhbGl6ZSgKICAgICBpZiAoKCpSaW5nKS0+UGF0aCA9
PSBOVUxMKQogICAgICAgICBnb3RvIGZhaWwyOwogCi0gICAgSW5pdGlhbGl6ZUxpc3RIZWFkKCYo
KlJpbmcpLT5QYWNrZXRMaXN0KTsKKyAgICBJbml0aWFsaXplTGlzdEhlYWQoJigqUmluZyktPlBh
Y2tldENvbXBsZXRlKTsKIAotICAgIEtlSW5pdGlhbGl6ZURwYygmKCpSaW5nKS0+RHBjLCBSZWNl
aXZlclJpbmdEcGMsICpSaW5nKTsKKyAgICBLZUluaXRpYWxpemVEcGMoJigqUmluZyktPlBvbGxE
cGMsIFJlY2VpdmVyUmluZ1BvbGxEcGMsICpSaW5nKTsKIAogICAgIHN0YXR1cyA9IFJ0bFN0cmlu
Z0NiUHJpbnRmQShOYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2Yg
KE5hbWUpLApAQCAtMjQ1OCw2ICsyNTAxLDggQEAgX19SZWNlaXZlclJpbmdJbml0aWFsaXplKAog
ICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQogICAgICAgICBnb3RvIGZhaWw3OwogCisgICAg
S2VJbml0aWFsaXplVGhyZWFkZWREcGMoJigqUmluZyktPlF1ZXVlRHBjLCBSZWNlaXZlclJpbmdR
dWV1ZURwYywgKlJpbmcpOworCiAgICAgcmV0dXJuIFNUQVRVU19TVUNDRVNTOwogCiBmYWlsNzoK
QEAgLTI0ODUsOSArMjUzMCw5IEBAIGZhaWw0OgogZmFpbDM6CiAgICAgRXJyb3IoImZhaWwzXG4i
KTsKIAotICAgIFJ0bFplcm9NZW1vcnkoJigqUmluZyktPkRwYywgc2l6ZW9mIChLRFBDKSk7Cisg
ICAgUnRsWmVyb01lbW9yeSgmKCpSaW5nKS0+UG9sbERwYywgc2l6ZW9mIChLRFBDKSk7CiAKLSAg
ICBSdGxaZXJvTWVtb3J5KCYoKlJpbmcpLT5QYWNrZXRMaXN0LCBzaXplb2YgKExJU1RfRU5UUlkp
KTsKKyAgICBSdGxaZXJvTWVtb3J5KCYoKlJpbmcpLT5QYWNrZXRDb21wbGV0ZSwgc2l6ZW9mIChM
SVNUX0VOVFJZKSk7CiAKICAgICBGcm9udGVuZEZyZWVQYXRoKEZyb250ZW5kLCAoKlJpbmcpLT5Q
YXRoKTsKICAgICAoKlJpbmcpLT5QYXRoID0gTlVMTDsKQEAgLTI1OTksNyArMjY0NCw3IEBAIF9f
UmVjZWl2ZXJSaW5nQ29ubmVjdCgKICAgICBzdGF0dXMgPSBLZUdldFByb2Nlc3Nvck51bWJlckZy
b21JbmRleChSaW5nLT5JbmRleCwgJlByb2NOdW1iZXIpOwogICAgIEFTU0VSVChOVF9TVUNDRVNT
KHN0YXR1cykpOwogCi0gICAgS2VTZXRUYXJnZXRQcm9jZXNzb3JEcGNFeCgmUmluZy0+RHBjLCAm
UHJvY051bWJlcik7CisgICAgS2VTZXRUYXJnZXRQcm9jZXNzb3JEcGNFeCgmUmluZy0+UG9sbERw
YywgJlByb2NOdW1iZXIpOwogCiAgICAgKFZPSUQpIFhFTkJVU19FVlRDSE4oQmluZCwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAmUmVjZWl2ZXItPkV2dGNobkludGVyZmFjZSwKQEAgLTI2MjQs
NiArMjY2OSwxMSBAQCBfX1JlY2VpdmVyUmluZ0Nvbm5lY3QoCiAgICAgaWYgKCFOVF9TVUNDRVNT
KHN0YXR1cykpCiAgICAgICAgIGdvdG8gZmFpbDc7CiAKKyAgICBzdGF0dXMgPSBLZUdldFByb2Nl
c3Nvck51bWJlckZyb21JbmRleChSaW5nLT5JbmRleCwgJlByb2NOdW1iZXIpOworICAgIEFTU0VS
VChOVF9TVUNDRVNTKHN0YXR1cykpOworCisgICAgS2VTZXRUYXJnZXRQcm9jZXNzb3JEcGNFeCgm
UmluZy0+UXVldWVEcGMsICZQcm9jTnVtYmVyKTsKKwogICAgIHJldHVybiBTVEFUVVNfU1VDQ0VT
UzsKIAogZmFpbDc6CkBAIC0yNzYyLDcgKzI4MTIsNyBAQCBfX1JlY2VpdmVyUmluZ0VuYWJsZSgK
IAogICAgIFJpbmctPkVuYWJsZWQgPSBUUlVFOwogCi0gICAgKFZPSUQpIEtlSW5zZXJ0UXVldWVE
cGMoJlJpbmctPkRwYywgTlVMTCwgTlVMTCk7CisgICAgKFZPSUQpIEtlSW5zZXJ0UXVldWVEcGMo
JlJpbmctPlBvbGxEcGMsIE5VTEwsIE5VTEwpOwogCiAgICAgX19SZWNlaXZlclJpbmdSZWxlYXNl
TG9jayhSaW5nKTsKIApAQCAtMjgwMiw2ICsyODUyLDkgQEAgX19SZWNlaXZlclJpbmdEaXNhYmxl
KAogICAgIFJpbmctPkVuYWJsZWQgPSBGQUxTRTsKICAgICBSaW5nLT5TdG9wcGVkID0gRkFMU0U7
CiAKKyAgICBpZiAoS2VJbnNlcnRRdWV1ZURwYygmUmluZy0+UXVldWVEcGMsIE5VTEwsIE5VTEwp
KQorICAgICAgICBSaW5nLT5RdWV1ZURwY3MrKzsKKwogICAgIF9fUmVjZWl2ZXJSaW5nUmVsZWFz
ZUxvY2soUmluZyk7CiAKICAgICBJbmZvKCIlc1sldV06IDw9PT09XG4iLApAQCAtMjgyMCw2ICsy
ODczLDggQEAgX19SZWNlaXZlclJpbmdEaXNjb25uZWN0KAogICAgIFJlY2VpdmVyID0gUmluZy0+
UmVjZWl2ZXI7CiAgICAgRnJvbnRlbmQgPSBSZWNlaXZlci0+RnJvbnRlbmQ7CiAKKyAgICBSaW5n
LT5RdWV1ZURwY3MgPSAwOworCiAgICAgX19SZWNlaXZlclJpbmdFbXB0eShSaW5nKTsKIAogICAg
IEFTU0VSVChSaW5nLT5Db25uZWN0ZWQpOwpAQCAtMjgzMSw3ICsyODg2LDcgQEAgX19SZWNlaXZl
clJpbmdEaXNjb25uZWN0KAogICAgIFJpbmctPkNoYW5uZWwgPSBOVUxMOwogCiAgICAgUmluZy0+
RXZlbnRzID0gMDsKLSAgICBSaW5nLT5EcGNzID0gMDsKKyAgICBSaW5nLT5Qb2xsRHBjcyA9IDA7
CiAKICAgICBBU1NFUlQzVShSaW5nLT5SZXNwb25zZXNQcm9jZXNzZWQsID09LCBSaW5nLT5SZXF1
ZXN0c1B1c2hlZCk7CiAgICAgQVNTRVJUM1UoUmluZy0+UmVxdWVzdHNQdXNoZWQsID09LCBSaW5n
LT5SZXF1ZXN0c1Bvc3RlZCk7CkBAIC0yODc3LDExICsyOTMyLDE0IEBAIF9fUmVjZWl2ZXJSaW5n
VGVhcmRvd24oCiAgICAgRnJvbnRlbmQgPSBSZWNlaXZlci0+RnJvbnRlbmQ7CiAKICAgICBSdGxa
ZXJvTWVtb3J5KCZSaW5nLT5IYXNoLCBzaXplb2YgKFhFTlZJRl9SRUNFSVZFUl9IQVNIKSk7Ci0g
ICAgUnRsWmVyb01lbW9yeSgmUmluZy0+RHBjLCBzaXplb2YgKEtEUEMpKTsKKyAgICBSdGxaZXJv
TWVtb3J5KCZSaW5nLT5Qb2xsRHBjLCBzaXplb2YgKEtEUEMpKTsKIAogICAgIFJpbmctPkJhY2tm
aWxsU2l6ZSA9IDA7CiAgICAgUmluZy0+T2ZmbG9hZE9wdGlvbnMuVmFsdWUgPSAwOwogCisgICAg
S2VGbHVzaFF1ZXVlZERwY3MoKTsKKyAgICBSdGxaZXJvTWVtb3J5KCZSaW5nLT5RdWV1ZURwYywg
c2l6ZW9mIChLRFBDKSk7CisKICAgICBUaHJlYWRBbGVydChSaW5nLT5XYXRjaGRvZ1RocmVhZCk7
CiAgICAgVGhyZWFkSm9pbihSaW5nLT5XYXRjaGRvZ1RocmVhZCk7CiAgICAgUmluZy0+V2F0Y2hk
b2dUaHJlYWQgPSBOVUxMOwpAQCAtMjg5Niw4ICsyOTU0LDggQEAgX19SZWNlaXZlclJpbmdUZWFy
ZG93bigKICAgICAgICAgICAgICAgICAgUmluZy0+UGFja2V0Q2FjaGUpOwogICAgIFJpbmctPlBh
Y2tldENhY2hlID0gTlVMTDsKIAotICAgIEFTU0VSVChJc0xpc3RFbXB0eSgmUmluZy0+UGFja2V0
TGlzdCkpOwotICAgIFJ0bFplcm9NZW1vcnkoJlJpbmctPlBhY2tldExpc3QsIHNpemVvZiAoTElT
VF9FTlRSWSkpOworICAgIEFTU0VSVChJc0xpc3RFbXB0eSgmUmluZy0+UGFja2V0Q29tcGxldGUp
KTsKKyAgICBSdGxaZXJvTWVtb3J5KCZSaW5nLT5QYWNrZXRDb21wbGV0ZSwgc2l6ZW9mIChMSVNU
X0VOVFJZKSk7CiAKICAgICBGcm9udGVuZEZyZWVQYXRoKEZyb250ZW5kLCBSaW5nLT5QYXRoKTsK
ICAgICBSaW5nLT5QYXRoID0gTlVMTDsKQEAgLTM2NzMsMTYgKzM3MzEsMTMgQEAgUmVjZWl2ZXJX
YWl0Rm9yUGFja2V0cygKICAgICBMQVJHRV9JTlRFR0VSICAgICAgICAgICBUaW1lb3V0OwogCiAg
ICAgQVNTRVJUM1UoS2VHZXRDdXJyZW50SXJxbCgpLCA8LCBESVNQQVRDSF9MRVZFTCk7CisgICAg
S2VGbHVzaFF1ZXVlZERwY3MoKTsKIAogICAgIEZyb250ZW5kID0gUmVjZWl2ZXItPkZyb250ZW5k
OwogCiAgICAgVHJhY2UoIiVzOiA9PT09PlxuIiwgRnJvbnRlbmRHZXRQYXRoKEZyb250ZW5kKSk7
CiAKICAgICBSZXR1cm5lZCA9IFJlY2VpdmVyLT5SZXR1cm5lZDsKLQotICAgIC8vIE1ha2Ugc3Vy
ZSBMb2FuZWQgaXMgbm90IHNhbXBsZWQgYmVmb3JlIFJldHVybmVkCi0gICAgS2VNZW1vcnlCYXJy
aWVyKCk7Ci0KICAgICBMb2FuZWQgPSBSZWNlaXZlci0+TG9hbmVkOwogICAgIEFTU0VSVDNTKExv
YW5lZCAtIFJldHVybmVkLCA+PSwgMCk7CiAKZGlmZiAtLWdpdCBhL3NyYy94ZW52aWYvdHJhbnNt
aXR0ZXIuYyBiL3NyYy94ZW52aWYvdHJhbnNtaXR0ZXIuYwppbmRleCAwMmMwZDNlLi42ODk1ZjJj
IDEwMDY0NAotLS0gYS9zcmMveGVudmlmL3RyYW5zbWl0dGVyLmMKKysrIGIvc3JjL3hlbnZpZi90
cmFuc21pdHRlci5jCkBAIC0xODAsOCArMTgwLDggQEAgdHlwZWRlZiBzdHJ1Y3QgX1hFTlZJRl9U
UkFOU01JVFRFUl9SSU5HIHsKICAgICBuZXRpZl90eF9zcmluZ190ICAgICAgICAgICAgICAgICpT
aGFyZWQ7CiAgICAgUFhFTkJVU19HTlRUQUJfRU5UUlkgICAgICAgICAgICBFbnRyeTsKICAgICBQ
WEVOQlVTX0VWVENITl9DSEFOTkVMICAgICAgICAgIENoYW5uZWw7Ci0gICAgS0RQQyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBEcGM7Ci0gICAgVUxPTkcgICAgICAgICAgICAgICAgICAgICAg
ICAgICBEcGNzOworICAgIEtEUEMgICAgICAgICAgICAgICAgICAgICAgICAgICAgUG9sbERwYzsK
KyAgICBVTE9ORyAgICAgICAgICAgICAgICAgICAgICAgICAgIFBvbGxEcGNzOwogICAgIFVMT05H
ICAgICAgICAgICAgICAgICAgICAgICAgICAgRXZlbnRzOwogICAgIEJPT0xFQU4gICAgICAgICAg
ICAgICAgICAgICAgICAgQ29ubmVjdGVkOwogICAgIEJPT0xFQU4gICAgICAgICAgICAgICAgICAg
ICAgICAgRW5hYmxlZDsKQEAgLTc3Myw5ICs3NzMsOSBAQCBUcmFuc21pdHRlclJpbmdEZWJ1Z0Nh
bGxiYWNrKAogICAgICAgICAvLyBEdW1wIGV2ZW50IGNoYW5uZWwKICAgICAgICAgWEVOQlVTX0RF
QlVHKFByaW50ZiwKICAgICAgICAgICAgICAgICAgICAgICZUcmFuc21pdHRlci0+RGVidWdJbnRl
cmZhY2UsCi0gICAgICAgICAgICAgICAgICAgICAiRXZlbnRzID0gJWx1IERwY3MgPSAlbHVcbiIs
CisgICAgICAgICAgICAgICAgICAgICAiRXZlbnRzID0gJWx1IFBvbGxEcGNzID0gJWx1XG4iLAog
ICAgICAgICAgICAgICAgICAgICAgUmluZy0+RXZlbnRzLAotICAgICAgICAgICAgICAgICAgICAg
UmluZy0+RHBjcyk7CisgICAgICAgICAgICAgICAgICAgICBSaW5nLT5Qb2xsRHBjcyk7CiAgICAg
fQogfQogCkBAIC0zMjU0LDcgKzMyNTQsNyBAQCBfX2Rydl9taW5JUlFMKERJU1BBVENIX0xFVkVM
KQogX19kcnZfcmVxdWlyZXNJUlFMKERJU1BBVENIX0xFVkVMKQogX19kcnZfc2FtZUlSUUwKIHN0
YXRpYyBWT0lECi1UcmFuc21pdHRlclJpbmdEcGMoCitUcmFuc21pdHRlclJpbmdQb2xsRHBjKAog
ICAgIElOICBQS0RQQyAgICAgICAgICAgICAgICAgICBEcGMsCiAgICAgSU4gIFBWT0lEICAgICAg
ICAgICAgICAgICAgIENvbnRleHQsCiAgICAgSU4gIFBWT0lEICAgICAgICAgICAgICAgICAgIEFy
Z3VtZW50MSwKQEAgLTMzMDYsOCArMzMwNiw4IEBAIFRyYW5zbWl0dGVyUmluZ0V2dGNobkNhbGxi
YWNrKAogCiAgICAgUmluZy0+RXZlbnRzKys7CiAKLSAgICBpZiAoS2VJbnNlcnRRdWV1ZURwYygm
UmluZy0+RHBjLCBOVUxMLCBOVUxMKSkKLSAgICAgICAgUmluZy0+RHBjcysrOworICAgIGlmIChL
ZUluc2VydFF1ZXVlRHBjKCZSaW5nLT5Qb2xsRHBjLCBOVUxMLCBOVUxMKSkKKyAgICAgICAgUmlu
Zy0+UG9sbERwY3MrKzsKIAogICAgIHJldHVybiBUUlVFOwogfQpAQCAtMzQyOSw3ICszNDI5LDcg
QEAgX19UcmFuc21pdHRlclJpbmdJbml0aWFsaXplKAogICAgIEluaXRpYWxpemVMaXN0SGVhZCgm
KCpSaW5nKS0+UmVxdWVzdFF1ZXVlKTsKICAgICBJbml0aWFsaXplTGlzdEhlYWQoJigqUmluZykt
PlBhY2tldENvbXBsZXRlKTsKIAotICAgIEtlSW5pdGlhbGl6ZURwYygmKCpSaW5nKS0+RHBjLCBU
cmFuc21pdHRlclJpbmdEcGMsICpSaW5nKTsKKyAgICBLZUluaXRpYWxpemVEcGMoJigqUmluZykt
PlBvbGxEcGMsIFRyYW5zbWl0dGVyUmluZ1BvbGxEcGMsICpSaW5nKTsKIAogICAgIHN0YXR1cyA9
IFJ0bFN0cmluZ0NiUHJpbnRmQShOYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzaXplb2YgKE5hbWUpLApAQCAtMzYzMiw3ICszNjMyLDcgQEAgZmFpbDQ6CiBmYWlsMzoKICAg
ICBFcnJvcigiZmFpbDNcbiIpOwogCi0gICAgUnRsWmVyb01lbW9yeSgmKCpSaW5nKS0+RHBjLCBz
aXplb2YgKEtEUEMpKTsKKyAgICBSdGxaZXJvTWVtb3J5KCYoKlJpbmcpLT5Qb2xsRHBjLCBzaXpl
b2YgKEtEUEMpKTsKIAogICAgIFJ0bFplcm9NZW1vcnkoJigqUmluZyktPlBhY2tldENvbXBsZXRl
LCBzaXplb2YgKExJU1RfRU5UUlkpKTsKICAgICBSdGxaZXJvTWVtb3J5KCYoKlJpbmcpLT5SZXF1
ZXN0UXVldWUsIHNpemVvZiAoTElTVF9FTlRSWSkpOwpAQCAtMzc0OSw3ICszNzQ5LDcgQEAgX19U
cmFuc21pdHRlclJpbmdDb25uZWN0KAogICAgICAgICBzdGF0dXMgPSBLZUdldFByb2Nlc3Nvck51
bWJlckZyb21JbmRleChSaW5nLT5JbmRleCwgJlByb2NOdW1iZXIpOwogICAgICAgICBBU1NFUlQo
TlRfU1VDQ0VTUyhzdGF0dXMpKTsKIAotICAgICAgICBLZVNldFRhcmdldFByb2Nlc3NvckRwY0V4
KCZSaW5nLT5EcGMsICZQcm9jTnVtYmVyKTsKKyAgICAgICAgS2VTZXRUYXJnZXRQcm9jZXNzb3JE
cGNFeCgmUmluZy0+UG9sbERwYywgJlByb2NOdW1iZXIpOwogCiAgICAgICAgIChWT0lEKSBYRU5C
VVNfRVZUQ0hOKEJpbmQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZUcmFuc21pdHRl
ci0+RXZ0Y2huSW50ZXJmYWNlLApAQCAtMzkwNyw3ICszOTA3LDcgQEAgX19UcmFuc21pdHRlclJp
bmdFbmFibGUoCiAgICAgQVNTRVJUKCFSaW5nLT5FbmFibGVkKTsKICAgICBSaW5nLT5FbmFibGVk
ID0gVFJVRTsKIAotICAgIEtlSW5zZXJ0UXVldWVEcGMoJlJpbmctPkRwYywgTlVMTCwgTlVMTCk7
CisgICAgS2VJbnNlcnRRdWV1ZURwYygmUmluZy0+UG9sbERwYywgTlVMTCwgTlVMTCk7CiAKICAg
ICBfX1RyYW5zbWl0dGVyUmluZ1JlbGVhc2VMb2NrKFJpbmcpOwogCkBAIC00MDM0LDcgKzQwMzQs
NyBAQCBfX1RyYW5zbWl0dGVyUmluZ0Rpc2Nvbm5lY3QoCiAgICAgICAgIFJpbmctPkV2ZW50cyA9
IDA7CiAgICAgfQogCi0gICAgUmluZy0+RHBjcyA9IDA7CisgICAgUmluZy0+UG9sbERwY3MgPSAw
OwogCiAgICAgQVNTRVJUM1UoUmluZy0+UmVzcG9uc2VzUHJvY2Vzc2VkLCA9PSwgUmluZy0+UmVx
dWVzdHNQdXNoZWQpOwogICAgIEFTU0VSVDNVKFJpbmctPlJlcXVlc3RzUHVzaGVkLCA9PSwgUmlu
Zy0+UmVxdWVzdHNQb3N0ZWQpOwpAQCAtNDA3OSw5ICs0MDc5LDkgQEAgX19UcmFuc21pdHRlclJp
bmdUZWFyZG93bigKICAgICBUcmFuc21pdHRlciA9IFJpbmctPlRyYW5zbWl0dGVyOwogICAgIEZy
b250ZW5kID0gVHJhbnNtaXR0ZXItPkZyb250ZW5kOwogCi0gICAgUmluZy0+RHBjcyA9IDA7Cisg
ICAgUmluZy0+UG9sbERwY3MgPSAwOwogCi0gICAgUnRsWmVyb01lbW9yeSgmUmluZy0+RHBjLCBz
aXplb2YgKEtEUEMpKTsKKyAgICBSdGxaZXJvTWVtb3J5KCZSaW5nLT5Qb2xsRHBjLCBzaXplb2Yg
KEtEUEMpKTsKIAogICAgIEFTU0VSVDNVKFJpbmctPlBhY2tldHNDb21wbGV0ZWQsID09LCBSaW5n
LT5QYWNrZXRzU2VudCk7CiAgICAgQVNTRVJUM1UoUmluZy0+UGFja2V0c1NlbnQsID09LCBSaW5n
LT5QYWNrZXRzUHJlcGFyZWQgLSBSaW5nLT5QYWNrZXRzVW5wcmVwYXJlZCk7CkBAIC01Mjc2LDgg
KzUyNzYsOCBAQCBUcmFuc21pdHRlck5vdGlmeSgKIAogICAgIFJpbmcgPSBUcmFuc21pdHRlci0+
UmluZ1tJbmRleF07CiAKLSAgICBpZiAoS2VJbnNlcnRRdWV1ZURwYygmUmluZy0+RHBjLCBOVUxM
LCBOVUxMKSkKLSAgICAgICAgUmluZy0+RHBjcysrOworICAgIGlmIChLZUluc2VydFF1ZXVlRHBj
KCZSaW5nLT5Qb2xsRHBjLCBOVUxMLCBOVUxMKSkKKyAgICAgICAgUmluZy0+UG9sbERwY3MrKzsK
IH0KIAogVk9JRApkaWZmIC0tZ2l0IGEvc3JjL3hlbnZpZi92aWYuYyBiL3NyYy94ZW52aWYvdmlm
LmMKaW5kZXggZmZkZWM1MC4uNjljZWQ3OCAxMDA2NDQKLS0tIGEvc3JjL3hlbnZpZi92aWYuYwor
KysgYi9zcmMveGVudmlmL3ZpZi5jCkBAIC0xMTYxLDYgKzExNjEsNyBAQCBfX1ZpZlJlY2VpdmVy
UXVldWVQYWNrZXQoCiAgICAgICAgICAgICAgICAgICAgICAgSGFzaCwKICAgICAgICAgICAgICAg
ICAgICAgICBNb3JlLAogICAgICAgICAgICAgICAgICAgICAgIENvb2tpZSk7CisKIH0KIAogVk9J
RApAQCAtMTE3OSw2ICsxMTgwLDEwIEBAIFZpZlJlY2VpdmVyUXVldWVQYWNrZXQoCiAgICAgSU4g
IFBWT0lEICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29va2llCiAgICAgKQogeworICAgIEtJ
UlFMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElycWw7CisKKyAgICBLZVJhaXNlSXJx
bChESVNQQVRDSF9MRVZFTCwgJklycWwpOworCiAgICAgc3dpdGNoIChDb250ZXh0LT5WZXJzaW9u
KSB7CiAgICAgY2FzZSA2OgogICAgICAgICBfX1ZpZlJlY2VpdmVyUXVldWVQYWNrZXRWZXJzaW9u
NihDb250ZXh0LApAQCAtMTIyOSw2ICsxMjM0LDggQEAgVmlmUmVjZWl2ZXJRdWV1ZVBhY2tldCgK
ICAgICAgICAgQVNTRVJUKEZBTFNFKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQorCisgICAgS2VM
b3dlcklycWwoSXJxbCk7CiB9CiAKIFZPSUQKLS0gCjIuNS4zCgoKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRldmVsIG1haWxpbmcgbGlzdAp3
aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0
Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

From win-pv-devel-bounces@lists.xenproject.org Fri Nov 02 16:54:48 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 02 Nov 2018 16:54:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1gIcie-0003Xp-KJ; Fri, 02 Nov 2018 16:54:48 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=u19u=nn=citrix.com=prvs=8372cde87=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1gIcic-0003Wj-MB
 for win-pv-devel@lists.xenproject.org; Fri, 02 Nov 2018 16:54:46 +0000
X-Inumbo-ID: fed9ed38-debf-11e8-9de4-12d6303a7972
Received: from SMTP03.CITRIX.COM (unknown [162.221.156.55])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id fed9ed38-debf-11e8-9de4-12d6303a7972;
 Fri, 02 Nov 2018 16:54:43 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.54,456,1534809600"; d="scan'208";a="69510362"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Fri, 2 Nov 2018 16:54:24 +0000
Message-ID: <1541177669-14212-4-git-send-email-paul.durrant@citrix.com>
X-Mailer: git-send-email 2.5.3
In-Reply-To: <1541177669-14212-1-git-send-email-paul.durrant@citrix.com>
References: <1541177669-14212-1-git-send-email-paul.durrant@citrix.com>
MIME-Version: 1.0
Subject: [win-pv-devel] [PATCH xenvif 3/8] Revert complete poller subsystem
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Paul Durrant <paul.durrant@citrix.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

SXQgc2VlbXMgdG8gaGF2ZSBhIGJhZCBlZmZlY3Qgb24gcGVyZm9ybWFuY2UgdGhhdCB2YXJpb3Vz
IGF0dGVtcHRzIGF0CmltcHJvdmVtZW50IGp1c3QgZG9uJ3Qgc2VlbSB0byBiZSBhYmxlIGZpeCwg
c28gdGhpcyBwYXRjaCBqdXN0IGdldHMgcmlkCm9mIHRoZSB3aG9sZSB0aGluZy4KClRoaXMgcGF0
Y2ggcmV2ZXJ0cyB0aGUgZm9sbG93aW5nIGNvbW1pdHM6CgogMjY0YmRlMTIgIkludHJvZHVjZSBh
IHRocmVhZGVkIERQQyBpbnRvIHRoZSByZWNlaXZlciBjb2RlIgogMTI5YWQ1MTYgIlN0b3AgdXNp
bmcgYSB0aHJlYWRlZCBEUEMgaW4gdGhlIHBvbGxlciIKIDU5MzI5MzhiICJEb24ndCBidW1wIHRo
ZSByZWNlaXZlciBldmVudCBjb3VudGVyIGlmIHRoZSBwb2xsZXIgaXMgZ29pbmcgdG8gcmV0cnki
CiAxNjAwMmI4ZiAicG9sbGVyOiBmaXggZXZlbnQgY2hhbm5lbHMgd2hlbiBiYWNrZW5kcyBkbyBu
b3Qgc3VwcG9ydCBtdWx0aS1xdWV1ZSIKIGJjNzIyZWRkICJEb24ndCB1c2UgS1RJTUVScyBpbiBy
ZWNlaXZlIHBhdGgiCiBkZmFhNjhjYyAiRG9uJ3QgYWZmaW5pdGl6ZSB0aW1lciBEUEMiCiBlYWM5
YTk1YSAiTW92ZSB0aGUgUmVjZWl2ZXIgYW5kIFRyYW5zbWl0dGVyIGV2ZW50IGFuZCBEUEMgcHJv
Y2Vzc2luZy4uLiIKIDQwYmU1YzEyICJBZGQgdGhlIGJvaWxlcnBsYXRlIGZvciBhIG5ldyBQb2xs
ZXIgc3ViLXN5c3RlbSIKClNpZ25lZC1vZmYtYnk6IFBhdWwgRHVycmFudCA8cGF1bC5kdXJyYW50
QGNpdHJpeC5jb20+Ci0tLQogc3JjL3hlbnZpZi9mcm9udGVuZC5jICAgICAgICB8ICAxMzMgKyst
LQogc3JjL3hlbnZpZi9mcm9udGVuZC5oICAgICAgICB8ICAgMTcgKy0KIHNyYy94ZW52aWYvcG9s
bGVyLmMgICAgICAgICAgfCAxNDU0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQogc3JjL3hlbnZpZi9wb2xsZXIuaCAgICAgICAgICB8ICAxMDAgLS0tCiBzcmMveGVu
dmlmL3JlY2VpdmVyLmMgICAgICAgIHwgIDc0OSArKysrKysrKysrKysrKy0tLS0tLS0tCiBzcmMv
eGVudmlmL3JlY2VpdmVyLmggICAgICAgIHwgICAgNiAtCiBzcmMveGVudmlmL3RyYW5zbWl0dGVy
LmMgICAgIHwgIDM5NiArKysrKysrKysrLS0KIHNyYy94ZW52aWYvdHJhbnNtaXR0ZXIuaCAgICAg
fCAgICA2IC0KIHNyYy94ZW52aWYvdmlmLmMgICAgICAgICAgICAgfCAgICA3IC0KIHZzMjAxNS94
ZW52aWYveGVudmlmLnZjeHByb2ogfCAgICAxIC0KIHZzMjAxNy94ZW52aWYveGVudmlmLnZjeHBy
b2ogfCAgICAxIC0KIDExIGZpbGVzIGNoYW5nZWQsIDkwMyBpbnNlcnRpb25zKCspLCAxOTY3IGRl
bGV0aW9ucygtKQogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyYy94ZW52aWYvcG9sbGVyLmMKIGRlbGV0
ZSBtb2RlIDEwMDY0NCBzcmMveGVudmlmL3BvbGxlci5oCgpkaWZmIC0tZ2l0IGEvc3JjL3hlbnZp
Zi9mcm9udGVuZC5jIGIvc3JjL3hlbnZpZi9mcm9udGVuZC5jCmluZGV4IDU4MTA5NDcuLjNlMzE2
NTQgMTAwNjQ0Ci0tLSBhL3NyYy94ZW52aWYvZnJvbnRlbmQuYworKysgYi9zcmMveGVudmlmL2Zy
b250ZW5kLmMKQEAgLTQ3LDcgKzQ3LDYgQEAKICNpbmNsdWRlICJ0Y3BpcC5oIgogI2luY2x1ZGUg
InJlY2VpdmVyLmgiCiAjaW5jbHVkZSAidHJhbnNtaXR0ZXIuaCIKLSNpbmNsdWRlICJwb2xsZXIu
aCIKICNpbmNsdWRlICJsaW5rLmgiCiAjaW5jbHVkZSAiZGJnX3ByaW50LmgiCiAjaW5jbHVkZSAi
YXNzZXJ0LmgiCkBAIC04MSwxMiArODAsMTIgQEAgc3RydWN0IF9YRU5WSUZfRlJPTlRFTkQgewog
ICAgIFVTSE9SVCAgICAgICAgICAgICAgICAgICAgICBCYWNrZW5kRG9tYWluOwogICAgIFVMT05H
ICAgICAgICAgICAgICAgICAgICAgICBNYXhRdWV1ZXM7CiAgICAgVUxPTkcgICAgICAgICAgICAg
ICAgICAgICAgIE51bVF1ZXVlczsKKyAgICBCT09MRUFOICAgICAgICAgICAgICAgICAgICAgU3Bs
aXQ7CiAgICAgVUxPTkcgICAgICAgICAgICAgICAgICAgICAgIERpc2FibGVUb2VwbGl0ejsKIAog
ICAgIFBYRU5WSUZfTUFDICAgICAgICAgICAgICAgICBNYWM7CiAgICAgUFhFTlZJRl9SRUNFSVZF
UiAgICAgICAgICAgIFJlY2VpdmVyOwogICAgIFBYRU5WSUZfVFJBTlNNSVRURVIgICAgICAgICBU
cmFuc21pdHRlcjsKLSAgICBQWEVOVklGX1BPTExFUiAgICAgICAgICAgICAgUG9sbGVyOwogICAg
IFBYRU5WSUZfQ09OVFJPTExFUiAgICAgICAgICBDb250cm9sbGVyOwogCiAgICAgWEVOQlVTX0RF
QlVHX0lOVEVSRkFDRSAgICAgIERlYnVnSW50ZXJmYWNlOwpAQCAtMzM5LDcgKzMzOCw2IEBAIEZy
b250ZW5kR2V0ICMjIF9GdW5jdGlvbiggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAog
REVGSU5FX0ZST05URU5EX0dFVF9GVU5DVElPTihNYWMsIFBYRU5WSUZfTUFDKQogREVGSU5FX0ZS
T05URU5EX0dFVF9GVU5DVElPTihSZWNlaXZlciwgUFhFTlZJRl9SRUNFSVZFUikKIERFRklORV9G
Uk9OVEVORF9HRVRfRlVOQ1RJT04oVHJhbnNtaXR0ZXIsIFBYRU5WSUZfVFJBTlNNSVRURVIpCi1E
RUZJTkVfRlJPTlRFTkRfR0VUX0ZVTkNUSU9OKFBvbGxlciwgUFhFTlZJRl9QT0xMRVIpCiBERUZJ
TkVfRlJPTlRFTkRfR0VUX0ZVTkNUSU9OKENvbnRyb2xsZXIsIFBYRU5WSUZfQ09OVFJPTExFUikK
IAogc3RhdGljIEJPT0xFQU4KQEAgLTE4MDIsNiArMTgwMCw1MCBAQCBGcm9udGVuZEdldE51bVF1
ZXVlcygKICAgICByZXR1cm4gX19Gcm9udGVuZEdldE51bVF1ZXVlcyhGcm9udGVuZCk7CiB9CiAK
K3N0YXRpYyBWT0lECitGcm9udGVuZFNldFNwbGl0KAorICAgIElOICBQWEVOVklGX0ZST05URU5E
ICAgIEZyb250ZW5kCisgICAgKQoreworICAgIFBDSEFSICAgICAgICAgICAgICAgICAgIEJ1ZmZl
cjsKKyAgICBOVFNUQVRVUyAgICAgICAgICAgICAgICBzdGF0dXM7CisKKyAgICBzdGF0dXMgPSBY
RU5CVVNfU1RPUkUoUmVhZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJkZyb250ZW5kLT5T
dG9yZUludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgX19Gcm9udGVuZEdldEJhY2tlbmRQYXRoKEZyb250ZW5kKSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgImZlYXR1cmUtc3BsaXQtZXZlbnQtY2hhbm5lbHMiLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAmQnVmZmVyKTsKKyAgICBpZiAoTlRfU1VDQ0VTUyhz
dGF0dXMpKSB7CisgICAgICAgIEZyb250ZW5kLT5TcGxpdCA9IChCT09MRUFOKXN0cnRvbChCdWZm
ZXIsIE5VTEwsIDIpOworCisgICAgICAgIFhFTkJVU19TVE9SRShGcmVlLAorICAgICAgICAgICAg
ICAgICAgICAgJkZyb250ZW5kLT5TdG9yZUludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgICAg
IEJ1ZmZlcik7CisgICAgfSBlbHNlIHsKKyAgICAgICAgRnJvbnRlbmQtPlNwbGl0ID0gRkFMU0U7
CisgICAgfQorCisgICAgSW5mbygiJXM6ICVzXG4iLCBfX0Zyb250ZW5kR2V0UGF0aChGcm9udGVu
ZCksCisgICAgICAgICAoRnJvbnRlbmQtPlNwbGl0KSA/ICJUUlVFIiA6ICJGQUxTRSIpOworfQor
CitzdGF0aWMgRk9SQ0VJTkxJTkUgQk9PTEVBTgorX19Gcm9udGVuZElzU3BsaXQoCisgICAgSU4g
IFBYRU5WSUZfRlJPTlRFTkQgICAgRnJvbnRlbmQKKyAgICApCit7CisgICAgcmV0dXJuIEZyb250
ZW5kLT5TcGxpdDsKK30KKworQk9PTEVBTgorRnJvbnRlbmRJc1NwbGl0KAorICAgIElOICBQWEVO
VklGX0ZST05URU5EICAgIEZyb250ZW5kCisgICAgKQoreworICAgIHJldHVybiBfX0Zyb250ZW5k
SXNTcGxpdChGcm9udGVuZCk7Cit9CisKIHN0YXRpYyBGT1JDRUlOTElORSBOVFNUQVRVUwogX19G
cm9udGVuZFVwZGF0ZUhhc2goCiAgICAgUFhFTlZJRl9GUk9OVEVORCAgICAgICAgRnJvbnRlbmQs
CkBAIC0yMTY2LDIyICsyMjA4LDE5IEBAIEZyb250ZW5kQ29ubmVjdCgKICAgICAgICAgZ290byBm
YWlsMzsKIAogICAgIEZyb250ZW5kU2V0TnVtUXVldWVzKEZyb250ZW5kKTsKLQotICAgIHN0YXR1
cyA9IFBvbGxlckNvbm5lY3QoX19Gcm9udGVuZEdldFBvbGxlcihGcm9udGVuZCkpOwotICAgIGlm
ICghTlRfU1VDQ0VTUyhzdGF0dXMpKQotICAgICAgICBnb3RvIGZhaWw0OworICAgIEZyb250ZW5k
U2V0U3BsaXQoRnJvbnRlbmQpOwogCiAgICAgc3RhdHVzID0gUmVjZWl2ZXJDb25uZWN0KF9fRnJv
bnRlbmRHZXRSZWNlaXZlcihGcm9udGVuZCkpOwogICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMp
KQotICAgICAgICBnb3RvIGZhaWw1OworICAgICAgICBnb3RvIGZhaWw0OwogCiAgICAgc3RhdHVz
ID0gVHJhbnNtaXR0ZXJDb25uZWN0KF9fRnJvbnRlbmRHZXRUcmFuc21pdHRlcihGcm9udGVuZCkp
OwogICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQotICAgICAgICBnb3RvIGZhaWw2OworICAg
ICAgICBnb3RvIGZhaWw1OwogCiAgICAgc3RhdHVzID0gQ29udHJvbGxlckNvbm5lY3QoX19Gcm9u
dGVuZEdldENvbnRyb2xsZXIoRnJvbnRlbmQpKTsKICAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVz
KSkKLSAgICAgICAgZ290byBmYWlsNzsKKyAgICAgICAgZ290byBmYWlsNjsKIAogICAgIEF0dGVt
cHQgPSAwOwogICAgIGRvIHsKQEAgLTIxOTMsMTEgKzIyMzIsNiBAQCBGcm9udGVuZENvbm5lY3Qo
CiAgICAgICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQogICAgICAgICAgICAgYnJlYWs7CiAK
LSAgICAgICAgc3RhdHVzID0gUG9sbGVyU3RvcmVXcml0ZShfX0Zyb250ZW5kR2V0UG9sbGVyKEZy
b250ZW5kKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUcmFuc2FjdGlvbik7
Ci0gICAgICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQotICAgICAgICAgICAgZ290byBhYm9y
dDsKLQogICAgICAgICBzdGF0dXMgPSBSZWNlaXZlclN0b3JlV3JpdGUoX19Gcm9udGVuZEdldFJl
Y2VpdmVyKEZyb250ZW5kKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRy
YW5zYWN0aW9uKTsKICAgICAgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCkBAIC0yMjQxLDcg
KzIyNzUsNyBAQCBhYm9ydDoKICAgICB9IHdoaWxlIChzdGF0dXMgPT0gU1RBVFVTX1JFVFJZKTsK
IAogICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQotICAgICAgICBnb3RvIGZhaWw4OworICAg
ICAgICBnb3RvIGZhaWw3OwogCiAgICAgU3RhdGUgPSBYZW5idXNTdGF0ZVVua25vd247CiAgICAg
d2hpbGUgKFN0YXRlICE9IFhlbmJ1c1N0YXRlQ29ubmVjdGVkKSB7CkBAIC0yMjgwLDcgKzIzMTQs
NyBAQCBhYm9ydDoKIAogICAgIHN0YXR1cyA9IFNUQVRVU19VTlNVQ0NFU1NGVUw7CiAgICAgaWYg
KFN0YXRlICE9IFhlbmJ1c1N0YXRlQ29ubmVjdGVkKQotICAgICAgICBnb3RvIGZhaWw5OworICAg
ICAgICBnb3RvIGZhaWw4OwogCiAgICAgQ29udHJvbGxlckVuYWJsZShfX0Zyb250ZW5kR2V0Q29u
dHJvbGxlcihGcm9udGVuZCkpOwogCkBAIC0yMjg5LDM0ICsyMzIzLDMwIEBAIGFib3J0OgogICAg
IFRyYWNlKCI8PT09PVxuIik7CiAgICAgcmV0dXJuIFNUQVRVU19TVUNDRVNTOwogCi1mYWlsOToK
LSAgICBFcnJvcigiZmFpbDlcbiIpOwotCiBmYWlsODoKICAgICBFcnJvcigiZmFpbDhcbiIpOwog
Ci0gICAgQ29udHJvbGxlckRpc2Nvbm5lY3QoX19Gcm9udGVuZEdldENvbnRyb2xsZXIoRnJvbnRl
bmQpKTsKLQogZmFpbDc6CiAgICAgRXJyb3IoImZhaWw3XG4iKTsKIAotICAgIFRyYW5zbWl0dGVy
RGlzY29ubmVjdChfX0Zyb250ZW5kR2V0VHJhbnNtaXR0ZXIoRnJvbnRlbmQpKTsKKyAgICBDb250
cm9sbGVyRGlzY29ubmVjdChfX0Zyb250ZW5kR2V0Q29udHJvbGxlcihGcm9udGVuZCkpOwogCiBm
YWlsNjoKICAgICBFcnJvcigiZmFpbDZcbiIpOwogCi0gICAgUmVjZWl2ZXJEaXNjb25uZWN0KF9f
RnJvbnRlbmRHZXRSZWNlaXZlcihGcm9udGVuZCkpOworICAgIFRyYW5zbWl0dGVyRGlzY29ubmVj
dChfX0Zyb250ZW5kR2V0VHJhbnNtaXR0ZXIoRnJvbnRlbmQpKTsKIAogZmFpbDU6CiAgICAgRXJy
b3IoImZhaWw1XG4iKTsKIAotICAgIFBvbGxlckRpc2Nvbm5lY3QoX19Gcm9udGVuZEdldFBvbGxl
cihGcm9udGVuZCkpOworICAgIFJlY2VpdmVyRGlzY29ubmVjdChfX0Zyb250ZW5kR2V0UmVjZWl2
ZXIoRnJvbnRlbmQpKTsKIAogZmFpbDQ6CiAgICAgRXJyb3IoImZhaWw0XG4iKTsKIAogICAgIE1h
Y0Rpc2Nvbm5lY3QoX19Gcm9udGVuZEdldE1hYyhGcm9udGVuZCkpOwogCisgICAgRnJvbnRlbmQt
PlNwbGl0ID0gRkFMU0U7CiAgICAgRnJvbnRlbmQtPk51bVF1ZXVlcyA9IDA7CiAKIGZhaWwzOgpA
QCAtMjM1MSw5ICsyMzgxLDkgQEAgRnJvbnRlbmREaXNjb25uZWN0KAogICAgIENvbnRyb2xsZXJE
aXNjb25uZWN0KF9fRnJvbnRlbmRHZXRDb250cm9sbGVyKEZyb250ZW5kKSk7CiAgICAgVHJhbnNt
aXR0ZXJEaXNjb25uZWN0KF9fRnJvbnRlbmRHZXRUcmFuc21pdHRlcihGcm9udGVuZCkpOwogICAg
IFJlY2VpdmVyRGlzY29ubmVjdChfX0Zyb250ZW5kR2V0UmVjZWl2ZXIoRnJvbnRlbmQpKTsKLSAg
ICBQb2xsZXJEaXNjb25uZWN0KF9fRnJvbnRlbmRHZXRQb2xsZXIoRnJvbnRlbmQpKTsKICAgICBN
YWNEaXNjb25uZWN0KF9fRnJvbnRlbmRHZXRNYWMoRnJvbnRlbmQpKTsKIAorICAgIEZyb250ZW5k
LT5TcGxpdCA9IEZBTFNFOwogICAgIEZyb250ZW5kLT5OdW1RdWV1ZXMgPSAwOwogCiAgICAgWEVO
QlVTX0RFQlVHKERlcmVnaXN0ZXIsCkBAIC0yMzc5LDQxICsyNDA5LDMyIEBAIEZyb250ZW5kRW5h
YmxlKAogICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQogICAgICAgICBnb3RvIGZhaWwxOwog
Ci0gICAgc3RhdHVzID0gUG9sbGVyRW5hYmxlKF9fRnJvbnRlbmRHZXRQb2xsZXIoRnJvbnRlbmQp
KTsKLSAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKLSAgICAgICAgZ290byBmYWlsMjsKLQog
ICAgIHN0YXR1cyA9IFJlY2VpdmVyRW5hYmxlKF9fRnJvbnRlbmRHZXRSZWNlaXZlcihGcm9udGVu
ZCkpOwogICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQotICAgICAgICBnb3RvIGZhaWwzOwor
ICAgICAgICBnb3RvIGZhaWwyOwogCiAgICAgc3RhdHVzID0gVHJhbnNtaXR0ZXJFbmFibGUoX19G
cm9udGVuZEdldFRyYW5zbWl0dGVyKEZyb250ZW5kKSk7CiAgICAgaWYgKCFOVF9TVUNDRVNTKHN0
YXR1cykpCi0gICAgICAgIGdvdG8gZmFpbDQ7CisgICAgICAgIGdvdG8gZmFpbDM7CiAKICAgICBz
dGF0dXMgPSBfX0Zyb250ZW5kVXBkYXRlSGFzaChGcm9udGVuZCwgJkZyb250ZW5kLT5IYXNoKTsK
ICAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKLSAgICAgICAgZ290byBmYWlsNTsKKyAgICAg
ICAgZ290byBmYWlsNDsKIAogICAgIChWT0lEKSBGcm9udGVuZE5vdGlmeU11bHRpY2FzdEFkZHJl
c3NlcyhGcm9udGVuZCwgVFJVRSk7CiAKICAgICBUcmFjZSgiPD09PT1cbiIpOwogICAgIHJldHVy
biBTVEFUVVNfU1VDQ0VTUzsKIAotZmFpbDU6Ci0gICAgRXJyb3IoImZhaWw1XG4iKTsKLQotICAg
IFRyYW5zbWl0dGVyRGlzYWJsZShfX0Zyb250ZW5kR2V0VHJhbnNtaXR0ZXIoRnJvbnRlbmQpKTsK
LQogZmFpbDQ6CiAgICAgRXJyb3IoImZhaWw0XG4iKTsKIAotICAgIFJlY2VpdmVyRGlzYWJsZShf
X0Zyb250ZW5kR2V0UmVjZWl2ZXIoRnJvbnRlbmQpKTsKKyAgICBUcmFuc21pdHRlckRpc2FibGUo
X19Gcm9udGVuZEdldFRyYW5zbWl0dGVyKEZyb250ZW5kKSk7CiAKIGZhaWwzOgogICAgIEVycm9y
KCJmYWlsM1xuIik7CiAKLSAgICBQb2xsZXJEaXNhYmxlKF9fRnJvbnRlbmRHZXRQb2xsZXIoRnJv
bnRlbmQpKTsKKyAgICBSZWNlaXZlckRpc2FibGUoX19Gcm9udGVuZEdldFJlY2VpdmVyKEZyb250
ZW5kKSk7CiAKIGZhaWwyOgogICAgIEVycm9yKCJmYWlsMlxuIik7CkBAIC0yNDM3LDcgKzI0NTgs
NiBAQCBGcm9udGVuZERpc2FibGUoCiAKICAgICBUcmFuc21pdHRlckRpc2FibGUoX19Gcm9udGVu
ZEdldFRyYW5zbWl0dGVyKEZyb250ZW5kKSk7CiAgICAgUmVjZWl2ZXJEaXNhYmxlKF9fRnJvbnRl
bmRHZXRSZWNlaXZlcihGcm9udGVuZCkpOwotICAgIFBvbGxlckRpc2FibGUoX19Gcm9udGVuZEdl
dFBvbGxlcihGcm9udGVuZCkpOwogICAgIE1hY0Rpc2FibGUoX19Gcm9udGVuZEdldE1hYyhGcm9u
dGVuZCkpOwogCiAgICAgVHJhY2UoIjw9PT09XG4iKTsKQEAgLTI4NDksMjMgKzI4NjksMTkgQEAg
RnJvbnRlbmRJbml0aWFsaXplKAogICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQogICAgICAg
ICBnb3RvIGZhaWw4OwogCi0gICAgc3RhdHVzID0gUG9sbGVySW5pdGlhbGl6ZSgqRnJvbnRlbmQs
ICYoKkZyb250ZW5kKS0+UG9sbGVyKTsKLSAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKLSAg
ICAgICAgZ290byBmYWlsOTsKLQogICAgIHN0YXR1cyA9IENvbnRyb2xsZXJJbml0aWFsaXplKCpG
cm9udGVuZCwgJigqRnJvbnRlbmQpLT5Db250cm9sbGVyKTsKICAgICBpZiAoIU5UX1NVQ0NFU1Mo
c3RhdHVzKSkKLSAgICAgICAgZ290byBmYWlsMTA7CisgICAgICAgIGdvdG8gZmFpbDk7CiAKICAg
ICBLZUluaXRpYWxpemVFdmVudCgmKCpGcm9udGVuZCktPkVqZWN0RXZlbnQsIE5vdGlmaWNhdGlv
bkV2ZW50LCBGQUxTRSk7CiAKICAgICBzdGF0dXMgPSBUaHJlYWRDcmVhdGUoRnJvbnRlbmRFamVj
dCwgKkZyb250ZW5kLCAmKCpGcm9udGVuZCktPkVqZWN0VGhyZWFkKTsKICAgICBpZiAoIU5UX1NV
Q0NFU1Moc3RhdHVzKSkKLSAgICAgICAgZ290byBmYWlsMTE7CisgICAgICAgIGdvdG8gZmFpbDEw
OwogCiAgICAgc3RhdHVzID0gVGhyZWFkQ3JlYXRlKEZyb250ZW5kTWliLCAqRnJvbnRlbmQsICYo
KkZyb250ZW5kKS0+TWliVGhyZWFkKTsKICAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKLSAg
ICAgICAgZ290byBmYWlsMTI7CisgICAgICAgIGdvdG8gZmFpbDExOwogCiAgICAgKCpGcm9udGVu
ZCktPlN0YXRpc3RpY3NDb3VudCA9IEtlUXVlcnlNYXhpbXVtUHJvY2Vzc29yQ291bnRFeChBTExf
UFJPQ0VTU09SX0dST1VQUyk7CiAgICAgKCpGcm9udGVuZCktPlN0YXRpc3RpY3MgPSBfX0Zyb250
ZW5kQWxsb2NhdGUoc2l6ZW9mIChYRU5WSUZfRlJPTlRFTkRfU1RBVElTVElDUykgKgpAQCAtMjg3
MywzOCArMjg4OSwzNCBAQCBGcm9udGVuZEluaXRpYWxpemUoCiAKICAgICBzdGF0dXMgPSBTVEFU
VVNfTk9fTUVNT1JZOwogICAgIGlmICgoKkZyb250ZW5kKS0+U3RhdGlzdGljcyA9PSBOVUxMKQot
ICAgICAgICBnb3RvIGZhaWwxMzsKKyAgICAgICAgZ290byBmYWlsMTI7CiAKICAgICBUcmFjZSgi
PD09PT1cbiIpOwogCiAgICAgcmV0dXJuIFNUQVRVU19TVUNDRVNTOwogCi1mYWlsMTM6Ci0gICAg
RXJyb3IoImZhaWwxM1xuIik7CitmYWlsMTI6CisgICAgRXJyb3IoImZhaWwxMlxuIik7CiAKICAg
ICBUaHJlYWRBbGVydCgoKkZyb250ZW5kKS0+TWliVGhyZWFkKTsKICAgICBUaHJlYWRKb2luKCgq
RnJvbnRlbmQpLT5NaWJUaHJlYWQpOwogICAgICgqRnJvbnRlbmQpLT5NaWJUaHJlYWQgPSBOVUxM
OwogCi1mYWlsMTI6Ci0gICAgRXJyb3IoImZhaWwxMlxuIik7CitmYWlsMTE6CisgICAgRXJyb3Io
ImZhaWwxMVxuIik7CiAKICAgICBUaHJlYWRBbGVydCgoKkZyb250ZW5kKS0+RWplY3RUaHJlYWQp
OwogICAgIFRocmVhZEpvaW4oKCpGcm9udGVuZCktPkVqZWN0VGhyZWFkKTsKICAgICAoKkZyb250
ZW5kKS0+RWplY3RUaHJlYWQgPSBOVUxMOwogCi1mYWlsMTE6Ci0gICAgRXJyb3IoImZhaWwxMVxu
Iik7CitmYWlsMTA6CisgICAgRXJyb3IoImZhaWwxMFxuIik7CiAKICAgICBSdGxaZXJvTWVtb3J5
KCYoKkZyb250ZW5kKS0+RWplY3RFdmVudCwgc2l6ZW9mIChLRVZFTlQpKTsKIAogICAgIENvbnRy
b2xsZXJUZWFyZG93bihfX0Zyb250ZW5kR2V0Q29udHJvbGxlcigqRnJvbnRlbmQpKTsKICAgICAo
KkZyb250ZW5kKS0+Q29udHJvbGxlciA9IE5VTEw7CiAKLWZhaWwxMDoKLSAgICBQb2xsZXJUZWFy
ZG93bihfX0Zyb250ZW5kR2V0UG9sbGVyKCpGcm9udGVuZCkpOwotICAgICgqRnJvbnRlbmQpLT5Q
b2xsZXIgPSBOVUxMOwotCiBmYWlsOToKICAgICBUcmFuc21pdHRlclRlYXJkb3duKF9fRnJvbnRl
bmRHZXRUcmFuc21pdHRlcigqRnJvbnRlbmQpKTsKICAgICAoKkZyb250ZW5kKS0+VHJhbnNtaXR0
ZXIgPSBOVUxMOwpAQCAtMzAxMiw5ICszMDI0LDYgQEAgRnJvbnRlbmRUZWFyZG93bigKICAgICBD
b250cm9sbGVyVGVhcmRvd24oX19Gcm9udGVuZEdldENvbnRyb2xsZXIoRnJvbnRlbmQpKTsKICAg
ICBGcm9udGVuZC0+Q29udHJvbGxlciA9IE5VTEw7CiAKLSAgICBQb2xsZXJUZWFyZG93bihfX0Zy
b250ZW5kR2V0UG9sbGVyKEZyb250ZW5kKSk7Ci0gICAgRnJvbnRlbmQtPlBvbGxlciA9IE5VTEw7
Ci0KICAgICBUcmFuc21pdHRlclRlYXJkb3duKF9fRnJvbnRlbmRHZXRUcmFuc21pdHRlcihGcm9u
dGVuZCkpOwogICAgIEZyb250ZW5kLT5UcmFuc21pdHRlciA9IE5VTEw7CiAKZGlmZiAtLWdpdCBh
L3NyYy94ZW52aWYvZnJvbnRlbmQuaCBiL3NyYy94ZW52aWYvZnJvbnRlbmQuaAppbmRleCA3ZjNi
N2M1Li44ZTU1NTJlIDEwMDY0NAotLS0gYS9zcmMveGVudmlmL2Zyb250ZW5kLmgKKysrIGIvc3Jj
L3hlbnZpZi9mcm9udGVuZC5oCkBAIC0xMjMsNiArMTIzLDE2IEBAIEZyb250ZW5kR2V0TnVtUXVl
dWVzKAogICAgIElOICBQWEVOVklGX0ZST05URU5EICAgIEZyb250ZW5kCiAgICAgKTsKIAorZXh0
ZXJuIEJPT0xFQU4KK0Zyb250ZW5kSXNTcGxpdCgKKyAgICBJTiAgUFhFTlZJRl9GUk9OVEVORCAg
ICBGcm9udGVuZAorICAgICk7CisKK2V4dGVybiBCT09MRUFOCitGcm9udGVuZElzU3BsaXQoCisg
ICAgSU4gIFBYRU5WSUZfRlJPTlRFTkQgICAgRnJvbnRlbmQKKyAgICApOworCiBleHRlcm4gUENI
QVIKIEZyb250ZW5kRm9ybWF0UGF0aCgKICAgICBJTiAgUFhFTlZJRl9GUk9OVEVORCAgICBGcm9u
dGVuZCwKQEAgLTE1NiwxMyArMTY2LDYgQEAgRnJvbnRlbmRHZXRUcmFuc21pdHRlcigKICAgICBJ
TiAgUFhFTlZJRl9GUk9OVEVORCAgICBGcm9udGVuZAogICAgICk7CiAKLSNpbmNsdWRlICJwb2xs
ZXIuaCIKLQotZXh0ZXJuIFBYRU5WSUZfUE9MTEVSCi1Gcm9udGVuZEdldFBvbGxlcigKLSAgICBJ
TiAgUFhFTlZJRl9GUk9OVEVORCAgICBGcm9udGVuZAotICAgICk7Ci0KICNpbmNsdWRlICJjb250
cm9sbGVyLmgiCiAKIGV4dGVybiBQWEVOVklGX0NPTlRST0xMRVIKZGlmZiAtLWdpdCBhL3NyYy94
ZW52aWYvcG9sbGVyLmMgYi9zcmMveGVudmlmL3BvbGxlci5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA3ZjE4ZDEzLi4wMDAwMDAwCi0tLSBhL3NyYy94ZW52aWYvcG9sbGVyLmMKKysr
IC9kZXYvbnVsbApAQCAtMSwxNDU0ICswLDAgQEAKLS8qIENvcHlyaWdodCAoYykgQ2l0cml4IFN5
c3RlbXMgSW5jLgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLAotICogd2l0aCBvciB3aXRob3V0
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAotICogdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKLSAqCi0gKiAqICAgUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZQotICogICAgIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUKLSAqICAgICBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqICogICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCi0gKiAgICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZQotICogICAgIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWV0
YXRpb24gYW5kL29yIG90aGVyCi0gKiAgICAgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQKLSAqIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsCi0gKiBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgotICogTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsCi0gKiBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKLSAqIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLAot
ICogV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HCi0gKiBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GCi0gKiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSA8bnRkZGsuaD4K
LSNpbmNsdWRlIDxwcm9jZ3JwLmg+Ci0jaW5jbHVkZSA8bnRzdHJzYWZlLmg+Ci0jaW5jbHVkZSA8
c3RkYXJnLmg+Ci0jaW5jbHVkZSA8c3RkbGliLmg+Ci0jaW5jbHVkZSA8eGVuLmg+Ci0KLSNpbmNs
dWRlIDxkZWJ1Z19pbnRlcmZhY2UuaD4KLSNpbmNsdWRlIDxzdG9yZV9pbnRlcmZhY2UuaD4KLSNp
bmNsdWRlIDxldnRjaG5faW50ZXJmYWNlLmg+Ci0KLSNpbmNsdWRlICJwZG8uaCIKLSNpbmNsdWRl
ICJmcm9udGVuZC5oIgotI2luY2x1ZGUgInRyYW5zbWl0dGVyLmgiCi0jaW5jbHVkZSAicmVjZWl2
ZXIuaCIKLSNpbmNsdWRlICJwb2xsZXIuaCIKLSNpbmNsdWRlICJ2aWYuaCIKLSNpbmNsdWRlICJ0
aHJlYWQuaCIKLSNpbmNsdWRlICJyZWdpc3RyeS5oIgotI2luY2x1ZGUgImRiZ19wcmludC5oIgot
I2luY2x1ZGUgImFzc2VydC5oIgotI2luY2x1ZGUgInV0aWwuaCIKLQotI2RlZmluZSBNQVhOQU1F
TEVOICAxMjgKLQotdHlwZWRlZiBzdHJ1Y3QgX1hFTlZJRl9QT0xMRVJfSU5TVEFOQ0UgWEVOVklG
X1BPTExFUl9JTlNUQU5DRSwgKlBYRU5WSUZfUE9MTEVSX0lOU1RBTkNFOwotCi10eXBlZGVmIGVu
dW0gX1hFTlZJRl9QT0xMRVJfQ0hBTk5FTF9UWVBFIHsKLSAgICBYRU5WSUZfUE9MTEVSX0NIQU5O
RUxfUkVDRUlWRVIsCi0gICAgWEVOVklGX1BPTExFUl9DSEFOTkVMX1RSQU5TTUlUVEVSLAotICAg
IFhFTlZJRl9QT0xMRVJfQ0hBTk5FTF9DT01CSU5FRCwKLSAgICBYRU5WSUZfUE9MTEVSX0NIQU5O
RUxfVFlQRV9DT1VOVAotfSBYRU5WSUZfUE9MTEVSX0NIQU5ORUxfVFlQRSwgKlBYRU5WSUZfUE9M
TEVSX0NIQU5ORUxfVFlQRTsKLQotI2RlZmluZSBYRU5WSUZfUE9MTEVSX0NIQU5ORUxfSU5WQUxJ
RCBYRU5WSUZfUE9MTEVSX0NIQU5ORUxfVFlQRV9DT1VOVAotCi10eXBlZGVmIHN0cnVjdCBfWEVO
VklGX1BPTExFUl9DSEFOTkVMIHsKLSAgICBQWEVOVklGX1BPTExFUl9JTlNUQU5DRSAgICAgSW5z
dGFuY2U7Ci0gICAgWEVOVklGX1BPTExFUl9DSEFOTkVMX1RZUEUgIFR5cGU7Ci0gICAgY29uc3Qg
Q0hBUiAgICAgICAgICAgICAgICAgICpOb2RlOwotICAgIFBYRU5CVVNfRVZUQ0hOX0NIQU5ORUwg
ICAgICBDaGFubmVsOwotICAgIFVMT05HICAgICAgICAgICAgICAgICAgICAgICBFdmVudHM7Ci19
IFhFTlZJRl9QT0xMRVJfQ0hBTk5FTCwgKlBYRU5WSUZfUE9MTEVSX0NIQU5ORUw7Ci0KLXN0cnVj
dCBfWEVOVklGX1BPTExFUl9JTlNUQU5DRSB7Ci0gICAgUFhFTlZJRl9QT0xMRVIgICAgICAgICAg
UG9sbGVyOwotICAgIFVMT05HICAgICAgICAgICAgICAgICAgIEluZGV4OwotICAgIFBDSEFSICAg
ICAgICAgICAgICAgICAgIFBhdGg7Ci0gICAgS1NQSU5fTE9DSyAgICAgICAgICAgICAgTG9jazsK
LSAgICBLRFBDICAgICAgICAgICAgICAgICAgICBEcGM7Ci0gICAgVUxPTkcgICAgICAgICAgICAg
ICAgICAgRHBjczsKLSAgICBQWEVOVklGX1BPTExFUl9DSEFOTkVMICBDaGFubmVsW1hFTlZJRl9Q
T0xMRVJfQ0hBTk5FTF9UWVBFX0NPVU5UXTsKLSAgICBCT09MRUFOICAgICAgICAgICAgICAgICBF
bmFibGVkOwotICAgIExPTkcgICAgICAgICAgICAgICAgICAgIFBlbmRpbmc7Ci19OwotCi1zdHJ1
Y3QgX1hFTlZJRl9QT0xMRVIgewotICAgIFBYRU5WSUZfRlJPTlRFTkQgICAgICAgIEZyb250ZW5k
OwotICAgIFBYRU5WSUZfUE9MTEVSX0lOU1RBTkNFICpJbnN0YW5jZTsKLSAgICBCT09MRUFOICAg
ICAgICAgICAgICAgICBTcGxpdDsKLSAgICBYRU5CVVNfU1RPUkVfSU5URVJGQUNFICBTdG9yZUlu
dGVyZmFjZTsKLSAgICBYRU5CVVNfRVZUQ0hOX0lOVEVSRkFDRSBFdnRjaG5JbnRlcmZhY2U7Ci0g
ICAgWEVOQlVTX0RFQlVHX0lOVEVSRkFDRSAgRGVidWdJbnRlcmZhY2U7Ci0gICAgUFhFTkJVU19E
RUJVR19DQUxMQkFDSyAgRGVidWdDYWxsYmFjazsKLX07Ci0KLSNkZWZpbmUgWEVOVklGX1BPTExF
Ul9UQUcgICdMTE9QJwotCi1zdGF0aWMgRk9SQ0VJTkxJTkUgUFZPSUQKLV9fUG9sbGVyQWxsb2Nh
dGUoCi0gICAgSU4gIFVMT05HICAgTGVuZ3RoCi0gICAgKQotewotICAgIHJldHVybiBfX0FsbG9j
YXRlUG9vbFdpdGhUYWcoTm9uUGFnZWRQb29sLCBMZW5ndGgsIFhFTlZJRl9QT0xMRVJfVEFHKTsK
LX0KLQotc3RhdGljIEZPUkNFSU5MSU5FIFZPSUQKLV9fUG9sbGVyRnJlZSgKLSAgICBJTiAgUFZP
SUQgICBCdWZmZXIKLSAgICApCi17Ci0gICAgX19GcmVlUG9vbFdpdGhUYWcoQnVmZmVyLCBYRU5W
SUZfUE9MTEVSX1RBRyk7Ci19Ci0KLXN0YXRpYyBOVFNUQVRVUwotUG9sbGVyQ2hhbm5lbEluaXRp
YWxpemUoCi0gICAgSU4gIFBYRU5WSUZfUE9MTEVSX0lOU1RBTkNFIEluc3RhbmNlLAotICAgIElO
ICBVTE9ORyAgICAgICAgICAgICAgICAgICBUeXBlLAotICAgIE9VVCBQWEVOVklGX1BPTExFUl9D
SEFOTkVMICAqQ2hhbm5lbAotICAgICkKLXsKLSAgICBOVFNUQVRVUyAgICAgICAgICAgICAgICAg
ICAgc3RhdHVzOwotCi0gICAgKkNoYW5uZWwgPSBfX1BvbGxlckFsbG9jYXRlKHNpemVvZiAoWEVO
VklGX1BPTExFUl9DSEFOTkVMKSk7Ci0KLSAgICBzdGF0dXMgPSBTVEFUVVNfTk9fTUVNT1JZOwot
ICAgIGlmICgqQ2hhbm5lbCA9PSBOVUxMKQotICAgICAgICBnb3RvIGZhaWwxOwotCi0gICAgKCpD
aGFubmVsKS0+SW5zdGFuY2UgPSBJbnN0YW5jZTsKLSAgICAoKkNoYW5uZWwpLT5UeXBlID0gVHlw
ZTsKLQotICAgIHN3aXRjaCAoVHlwZSkgewotICAgIGNhc2UgWEVOVklGX1BPTExFUl9DSEFOTkVM
X1JFQ0VJVkVSOgotICAgICAgICAoKkNoYW5uZWwpLT5Ob2RlID0gImV2ZW50LWNoYW5uZWwtcngi
OwotICAgICAgICBicmVhazsKLQotICAgIGNhc2UgWEVOVklGX1BPTExFUl9DSEFOTkVMX1RSQU5T
TUlUVEVSOgotICAgICAgICAoKkNoYW5uZWwpLT5Ob2RlID0gImV2ZW50LWNoYW5uZWwtdHgiOwot
ICAgICAgICBicmVhazsKLQotICAgIGNhc2UgWEVOVklGX1BPTExFUl9DSEFOTkVMX0NPTUJJTkVE
OgotICAgICAgICAoKkNoYW5uZWwpLT5Ob2RlID0gImV2ZW50LWNoYW5uZWwiOwotICAgICAgICBi
cmVhazsKLQotICAgIGRlZmF1bHQ6Ci0gICAgICAgIEFTU0VSVChGQUxTRSk7Ci0gICAgICAgIGJy
ZWFrOwotICAgIH0KLQotICAgIHJldHVybiBTVEFUVVNfU1VDQ0VTUzsKLQotZmFpbDE6Ci0gICAg
RXJyb3IoImZhaWwxICglMDh4KVxuIiwgc3RhdHVzKTsKLQotICAgIHJldHVybiBzdGF0dXM7Ci19
Ci0KLXN0YXRpYyBCT09MRUFOCi1Qb2xsZXJDaGFubmVsU2V0UGVuZGluZygKLSAgICBJTiAgUFhF
TlZJRl9QT0xMRVJfQ0hBTk5FTCAgQ2hhbm5lbAotICAgICkKLXsKLSAgICBQWEVOVklGX1BPTExF
Ul9JTlNUQU5DRSAgICAgSW5zdGFuY2U7Ci0gICAgVUxPTkcgICAgICAgICAgICAgICAgICAgICAg
IFNldDsKLQotICAgIEluc3RhbmNlID0gQ2hhbm5lbC0+SW5zdGFuY2U7Ci0KLSAgICBzd2l0Y2gg
KENoYW5uZWwtPlR5cGUpCi0gICAgewotICAgIGNhc2UgWEVOVklGX1BPTExFUl9DSEFOTkVMX1JF
Q0VJVkVSOgotICAgICAgICBTZXQgPSBJbnRlcmxvY2tlZEJpdFRlc3RBbmRTZXQoJkluc3RhbmNl
LT5QZW5kaW5nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWEVOVklG
X1BPTExFUl9FVkVOVF9SRUNFSVZFKTsKLSAgICAgICAgYnJlYWs7Ci0KLSAgICBjYXNlIFhFTlZJ
Rl9QT0xMRVJfQ0hBTk5FTF9UUkFOU01JVFRFUjoKLSAgICAgICAgU2V0ID0gSW50ZXJsb2NrZWRC
aXRUZXN0QW5kU2V0KCZJbnN0YW5jZS0+UGVuZGluZywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFhFTlZJRl9QT0xMRVJfRVZFTlRfVFJBTlNNSVQpOwotICAgICAgICBi
cmVhazsKLQotICAgIGNhc2UgWEVOVklGX1BPTExFUl9DSEFOTkVMX0NPTUJJTkVEOgotICAgICAg
ICBTZXQgPSBJbnRlcmxvY2tlZEJpdFRlc3RBbmRTZXQoJkluc3RhbmNlLT5QZW5kaW5nLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWEVOVklGX1BPTExFUl9FVkVOVF9S
RUNFSVZFKTsKLSAgICAgICAgU2V0IHw9IEludGVybG9ja2VkQml0VGVzdEFuZFNldCgmSW5zdGFu
Y2UtPlBlbmRpbmcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWEVO
VklGX1BPTExFUl9FVkVOVF9UUkFOU01JVCk7Ci0gICAgICAgIGJyZWFrOwotCi0gICAgZGVmYXVs
dDoKLSAgICAgICAgQVNTRVJUKEZBTFNFKTsKLSAgICAgICAgU2V0ID0gMDsKLSAgICAgICAgYnJl
YWs7Ci0gICAgfQotCi0gICAgcmV0dXJuIChTZXQgIT0gMCkgPyBGQUxTRSA6IFRSVUU7Ci19Ci0K
LXN0YXRpYyBGT1JDRUlOTElORSBCT09MRUFOCi1fX0JpdFRlc3QoCi0gICAgSU4gIFBMT05HICAg
TWFzaywKLSAgICBJTiAgTE9ORyAgICBCaXQKLSAgICApCi17Ci0gICAgcmV0dXJuICgqTWFzayAm
ICgxTCA8PCBCaXQpKSA/IFRSVUUgOiBGQUxTRTsKLX0KLQotc3RhdGljIEJPT0xFQU4KLVBvbGxl
ckNoYW5uZWxUZXN0UGVuZGluZygKLSAgICBJTiAgUFhFTlZJRl9QT0xMRVJfQ0hBTk5FTCAgQ2hh
bm5lbAotICAgICkKLXsKLSAgICBQWEVOVklGX1BPTExFUl9JTlNUQU5DRSAgICAgSW5zdGFuY2U7
Ci0KLSAgICBJbnN0YW5jZSA9IENoYW5uZWwtPkluc3RhbmNlOwotCi0gICAgc3dpdGNoIChDaGFu
bmVsLT5UeXBlKQotICAgIHsKLSAgICBjYXNlIFhFTlZJRl9QT0xMRVJfQ0hBTk5FTF9SRUNFSVZF
UjoKLSAgICAgICAgaWYgKF9fQml0VGVzdCgmSW5zdGFuY2UtPlBlbmRpbmcsIFhFTlZJRl9QT0xM
RVJfRVZFTlRfUkVDRUlWRSkpCi0gICAgICAgICAgICByZXR1cm4gVFJVRTsKLQotICAgICAgICBi
cmVhazsKLQotICAgIGNhc2UgWEVOVklGX1BPTExFUl9DSEFOTkVMX1RSQU5TTUlUVEVSOgotICAg
ICAgICBpZiAoX19CaXRUZXN0KCZJbnN0YW5jZS0+UGVuZGluZywgWEVOVklGX1BPTExFUl9FVkVO
VF9UUkFOU01JVCkpCi0gICAgICAgICAgICByZXR1cm4gVFJVRTsKLQotICAgICAgICBicmVhazsK
LQotICAgIGNhc2UgWEVOVklGX1BPTExFUl9DSEFOTkVMX0NPTUJJTkVEOgotICAgICAgICBpZiAo
X19CaXRUZXN0KCZJbnN0YW5jZS0+UGVuZGluZywgWEVOVklGX1BPTExFUl9FVkVOVF9SRUNFSVZF
KSB8fAotICAgICAgICAgICAgX19CaXRUZXN0KCZJbnN0YW5jZS0+UGVuZGluZywgWEVOVklGX1BP
TExFUl9FVkVOVF9UUkFOU01JVCkpCi0gICAgICAgICAgICByZXR1cm4gVFJVRTsKLQotICAgICAg
ICBicmVhazsKLQotICAgIGRlZmF1bHQ6Ci0gICAgICAgIEFTU0VSVChGQUxTRSk7Ci0gICAgICAg
IGJyZWFrOwotICAgIH0KLQotICAgIHJldHVybiBGQUxTRTsKLX0KLQotS1NFUlZJQ0VfUk9VVElO
RSAgICBQb2xsZXJDaGFubmVsRXZ0Y2huQ2FsbGJhY2s7Ci0KLUJPT0xFQU4KLVBvbGxlckNoYW5u
ZWxFdnRjaG5DYWxsYmFjaygKLSAgICBJTiAgUEtJTlRFUlJVUFQgICAgICAgICBJbnRlcnJ1cHRP
YmplY3QsCi0gICAgSU4gIFBWT0lEICAgICAgICAgICAgICAgQXJndW1lbnQKLSAgICApCi17Ci0g
ICAgUFhFTlZJRl9QT0xMRVJfQ0hBTk5FTCAgQ2hhbm5lbCA9IEFyZ3VtZW50OwotICAgIFBYRU5W
SUZfUE9MTEVSX0lOU1RBTkNFIEluc3RhbmNlOwotCi0gICAgVU5SRUZFUkVOQ0VEX1BBUkFNRVRF
UihJbnRlcnJ1cHRPYmplY3QpOwotCi0gICAgQVNTRVJUKENoYW5uZWwgIT0gTlVMTCk7Ci0gICAg
SW5zdGFuY2UgPSBDaGFubmVsLT5JbnN0YW5jZTsKLQotICAgIENoYW5uZWwtPkV2ZW50cysrOwot
Ci0gICAgaWYgKFBvbGxlckNoYW5uZWxTZXRQZW5kaW5nKENoYW5uZWwpICYmCi0gICAgICAgIEtl
SW5zZXJ0UXVldWVEcGMoJkluc3RhbmNlLT5EcGMsIE5VTEwsIE5VTEwpKQotICAgICAgICBJbnN0
YW5jZS0+RHBjcysrOwotCi0gICAgcmV0dXJuIFRSVUU7Ci19Ci0KLXN0YXRpYyBGT1JDRUlOTElO
RSBCT09MRUFOCi1fX1BvbGxlcklzU3BsaXQoCi0gICAgSU4gIFBYRU5WSUZfUE9MTEVSICBQb2xs
ZXIKLSAgICApCi17Ci0gICAgcmV0dXJuIFBvbGxlci0+U3BsaXQ7Ci19Ci0KLXN0YXRpYyBOVFNU
QVRVUwotUG9sbGVyQ2hhbm5lbENvbm5lY3QoCi0gICAgSU4gIFBYRU5WSUZfUE9MTEVSX0NIQU5O
RUwgIENoYW5uZWwKLSAgICApCi17Ci0gICAgUFhFTlZJRl9QT0xMRVJfSU5TVEFOQ0UgICAgIElu
c3RhbmNlOwotICAgIFBYRU5WSUZfUE9MTEVSICAgICAgICAgICAgICBQb2xsZXI7Ci0gICAgUFhF
TlZJRl9GUk9OVEVORCAgICAgICAgICAgIEZyb250ZW5kOwotICAgIFBST0NFU1NPUl9OVU1CRVIg
ICAgICAgICAgICBQcm9jTnVtYmVyOwotICAgIE5UU1RBVFVTICAgICAgICAgICAgICAgICAgICBz
dGF0dXM7Ci0KLSAgICBJbnN0YW5jZSA9IENoYW5uZWwtPkluc3RhbmNlOwotICAgIFBvbGxlciA9
IEluc3RhbmNlLT5Qb2xsZXI7Ci0gICAgRnJvbnRlbmQgPSBQb2xsZXItPkZyb250ZW5kOwotCi0g
ICAgc3dpdGNoIChDaGFubmVsLT5UeXBlKQotICAgIHsKLSAgICBjYXNlIFhFTlZJRl9QT0xMRVJf
Q0hBTk5FTF9SRUNFSVZFUjoKLSAgICBjYXNlIFhFTlZJRl9QT0xMRVJfQ0hBTk5FTF9UUkFOU01J
VFRFUjoKLSAgICAgICAgaWYgKCFfX1BvbGxlcklzU3BsaXQoUG9sbGVyKSkKLSAgICAgICAgICAg
IGdvdG8gZG9uZTsKLQotICAgICAgICBicmVhazsKLQotICAgIGNhc2UgWEVOVklGX1BPTExFUl9D
SEFOTkVMX0NPTUJJTkVEOgotICAgICAgICBpZiAoX19Qb2xsZXJJc1NwbGl0KFBvbGxlcikpCi0g
ICAgICAgICAgICBnb3RvIGRvbmU7Ci0KLSAgICAgICAgYnJlYWs7Ci0KLSAgICBkZWZhdWx0Ogot
ICAgICAgICBBU1NFUlQoRkFMU0UpOwotICAgICAgICBicmVhazsKLSAgICB9Ci0KLSAgICBDaGFu
bmVsLT5DaGFubmVsID0gWEVOQlVTX0VWVENITihPcGVuLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICZQb2xsZXItPkV2dGNobkludGVyZmFjZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBYRU5CVVNfRVZUQ0hOX1RZUEVfVU5CT1VORCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQb2xsZXJDaGFubmVsRXZ0Y2huQ2FsbGJh
Y2ssCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hhbm5lbCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGcm9udGVuZEdldEJhY2tlbmREb21haW4o
RnJvbnRlbmQpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSVUUpOwot
Ci0gICAgc3RhdHVzID0gU1RBVFVTX1VOU1VDQ0VTU0ZVTDsKLSAgICBpZiAoQ2hhbm5lbC0+Q2hh
bm5lbCA9PSBOVUxMKQotICAgICAgICBnb3RvIGZhaWwxOwotCi0gICAgc3RhdHVzID0gS2VHZXRQ
cm9jZXNzb3JOdW1iZXJGcm9tSW5kZXgoSW5zdGFuY2UtPkluZGV4LCAmUHJvY051bWJlcik7Ci0g
ICAgQVNTRVJUKE5UX1NVQ0NFU1Moc3RhdHVzKSk7Ci0KLSAgICAoVk9JRCkgWEVOQlVTX0VWVENI
TihCaW5kLAotICAgICAgICAgICAgICAgICAgICAgICAgICZQb2xsZXItPkV2dGNobkludGVyZmFj
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBDaGFubmVsLT5DaGFubmVsLAotICAgICAgICAg
ICAgICAgICAgICAgICAgIFByb2NOdW1iZXIuR3JvdXAsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgUHJvY051bWJlci5OdW1iZXIpOwotCi0gICAgKFZPSUQpIFhFTkJVU19FVlRDSE4oVW5tYXNr
LAotICAgICAgICAgICAgICAgICAgICAgICAgICZQb2xsZXItPkV2dGNobkludGVyZmFjZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICBDaGFubmVsLT5DaGFubmVsLAotICAgICAgICAgICAgICAg
ICAgICAgICAgIEZBTFNFLAotICAgICAgICAgICAgICAgICAgICAgICAgIFRSVUUpOwotCi1kb25l
OgotICAgIHJldHVybiBTVEFUVVNfU1VDQ0VTUzsKLQotZmFpbDE6Ci0gICAgRXJyb3IoImZhaWwx
ICglMDh4KVxuIiwgc3RhdHVzKTsKLQotICAgIHJldHVybiBzdGF0dXM7Ci19Ci0KLXN0YXRpYyBO
VFNUQVRVUwotUG9sbGVyQ2hhbm5lbFN0b3JlV3JpdGUoCi0gICAgSU4gIFBYRU5WSUZfUE9MTEVS
X0NIQU5ORUwgICAgICBDaGFubmVsLAotICAgIElOICBQWEVOQlVTX1NUT1JFX1RSQU5TQUNUSU9O
ICAgVHJhbnNhY3Rpb24KLSAgICApCi17Ci0gICAgUFhFTlZJRl9QT0xMRVJfSU5TVEFOQ0UgICAg
ICAgICBJbnN0YW5jZTsKLSAgICBQWEVOVklGX1BPTExFUiAgICAgICAgICAgICAgICAgIFBvbGxl
cjsKLSAgICBQQ0hBUiAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhdGg7Ci0gICAgVUxPTkcg
ICAgICAgICAgICAgICAgICAgICAgICAgICBQb3J0OwotICAgIE5UU1RBVFVTICAgICAgICAgICAg
ICAgICAgICAgICAgc3RhdHVzOwotCi0gICAgSW5zdGFuY2UgPSBDaGFubmVsLT5JbnN0YW5jZTsK
LSAgICBQb2xsZXIgPSBJbnN0YW5jZS0+UG9sbGVyOwotCi0gICAgaWYgKENoYW5uZWwtPkNoYW5u
ZWwgPT0gTlVMTCkKLSAgICAgICAgZ290byBkb25lOwotCi0gICAgUGF0aCA9IChGcm9udGVuZEdl
dE51bVF1ZXVlcyhQb2xsZXItPkZyb250ZW5kKSA9PSAxKSA/Ci0gICAgICAgICAgIEZyb250ZW5k
R2V0UGF0aChQb2xsZXItPkZyb250ZW5kKSA6Ci0gICAgICAgICAgIEluc3RhbmNlLT5QYXRoOwot
Ci0gICAgUG9ydCA9IFhFTkJVU19FVlRDSE4oR2V0UG9ydCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAmUG9sbGVyLT5FdnRjaG5JbnRlcmZhY2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
Q2hhbm5lbC0+Q2hhbm5lbCk7Ci0KLSAgICBzdGF0dXMgPSBYRU5CVVNfU1RPUkUoUHJpbnRmLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAmUG9sbGVyLT5TdG9yZUludGVyZmFjZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgVHJhbnNhY3Rpb24sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgIFBhdGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIChQQ0hBUilDaGFubmVsLT5Ob2Rl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAiJXUiLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICBQb3J0KTsKLSAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKLSAgICAgICAgZ290byBm
YWlsMTsKLQotZG9uZToKLSAgICByZXR1cm4gU1RBVFVTX1NVQ0NFU1M7Ci0KLWZhaWwxOgotICAg
IEVycm9yKCJmYWlsMSAoJTA4eClcbiIsIHN0YXR1cyk7Ci0KLSAgICByZXR1cm4gc3RhdHVzOwot
fQotCi1zdGF0aWMgVk9JRAotUG9sbGVyQ2hhbm5lbFVubWFzaygKLSAgICBJTiAgUFhFTlZJRl9Q
T0xMRVJfQ0hBTk5FTCAgQ2hhbm5lbAotICAgICkKLXsKLSAgICBQWEVOVklGX1BPTExFUl9JTlNU
QU5DRSAgICAgSW5zdGFuY2U7Ci0gICAgUFhFTlZJRl9QT0xMRVIgICAgICAgICAgICAgIFBvbGxl
cjsKLSAgICBCT09MRUFOICAgICAgICAgICAgICAgICAgICAgUGVuZGluZzsKLQotICAgIEluc3Rh
bmNlID0gQ2hhbm5lbC0+SW5zdGFuY2U7Ci0gICAgUG9sbGVyID0gSW5zdGFuY2UtPlBvbGxlcjsK
LQotICAgIGlmIChDaGFubmVsLT5DaGFubmVsID09IE5VTEwpCi0gICAgICAgIHJldHVybjsKLQot
ICAgIGlmIChQb2xsZXJDaGFubmVsVGVzdFBlbmRpbmcoQ2hhbm5lbCkpCi0gICAgICAgIHJldHVy
bjsKLQotICAgIFBlbmRpbmcgPSBYRU5CVVNfRVZUQ0hOKFVubWFzaywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAmUG9sbGVyLT5FdnRjaG5JbnRlcmZhY2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgQ2hhbm5lbC0+Q2hhbm5lbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBGQUxTRSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBGQUxTRSk7Ci0gICAgaWYgKFBl
bmRpbmcpCi0gICAgICAgIChWT0lEKSBQb2xsZXJDaGFubmVsU2V0UGVuZGluZyhDaGFubmVsKTsK
LX0KLQotc3RhdGljIFZPSUQKLVBvbGxlckNoYW5uZWxTZW5kKAotICAgIElOICBQWEVOVklGX1BP
TExFUl9DSEFOTkVMICBDaGFubmVsCi0gICAgKQotewotICAgIFBYRU5WSUZfUE9MTEVSX0lOU1RB
TkNFICAgICBJbnN0YW5jZTsKLSAgICBQWEVOVklGX1BPTExFUiAgICAgICAgICAgICAgUG9sbGVy
OwotCi0gICAgSW5zdGFuY2UgPSBDaGFubmVsLT5JbnN0YW5jZTsKLSAgICBQb2xsZXIgPSBJbnN0
YW5jZS0+UG9sbGVyOwotCi0gICAgWEVOQlVTX0VWVENITihTZW5kLAotICAgICAgICAgICAgICAg
ICAgJlBvbGxlci0+RXZ0Y2huSW50ZXJmYWNlLAotICAgICAgICAgICAgICAgICAgQ2hhbm5lbC0+
Q2hhbm5lbCk7Ci19Ci0KLXN0YXRpYyBWT0lECi1Qb2xsZXJDaGFubmVsRGVidWdDYWxsYmFjaygK
LSAgICBJTiAgUFhFTlZJRl9QT0xMRVJfQ0hBTk5FTCAgQ2hhbm5lbAotICAgICkKLXsKLSAgICBQ
WEVOVklGX1BPTExFUl9JTlNUQU5DRSAgICAgSW5zdGFuY2U7Ci0gICAgUFhFTlZJRl9QT0xMRVIg
ICAgICAgICAgICAgIFBvbGxlcjsKLQotICAgIEluc3RhbmNlID0gQ2hhbm5lbC0+SW5zdGFuY2U7
Ci0gICAgUG9sbGVyID0gSW5zdGFuY2UtPlBvbGxlcjsKLQotICAgIGlmIChDaGFubmVsLT5DaGFu
bmVsID09IE5VTEwpCi0gICAgICAgIHJldHVybjsKLQotICAgIFhFTkJVU19ERUJVRyhQcmludGYs
Ci0gICAgICAgICAgICAgICAgICZQb2xsZXItPkRlYnVnSW50ZXJmYWNlLAotICAgICAgICAgICAg
ICAgICAiWyVzXTogRXZlbnRzID0gJWx1XG4iLAotICAgICAgICAgICAgICAgICBDaGFubmVsLT5O
b2RlLAotICAgICAgICAgICAgICAgICBDaGFubmVsLT5FdmVudHMpOwotfQotCi1zdGF0aWMgVk9J
RAotUG9sbGVyQ2hhbm5lbERpc2Nvbm5lY3QoCi0gICAgSU4gIFBYRU5WSUZfUE9MTEVSX0NIQU5O
RUwgIENoYW5uZWwKLSAgICApCi17Ci0gICAgUFhFTlZJRl9QT0xMRVJfSU5TVEFOQ0UgICAgIElu
c3RhbmNlOwotICAgIFBYRU5WSUZfUE9MTEVSICAgICAgICAgICAgICBQb2xsZXI7Ci0KLSAgICBJ
bnN0YW5jZSA9IENoYW5uZWwtPkluc3RhbmNlOwotICAgIFBvbGxlciA9IEluc3RhbmNlLT5Qb2xs
ZXI7Ci0KLSAgICBpZiAoQ2hhbm5lbC0+Q2hhbm5lbCA9PSBOVUxMKQotICAgICAgICByZXR1cm47
Ci0KLSAgICBDaGFubmVsLT5FdmVudHMgPSAwOwotCi0gICAgWEVOQlVTX0VWVENITihDbG9zZSwK
LSAgICAgICAgICAgICAgICAgICZQb2xsZXItPkV2dGNobkludGVyZmFjZSwKLSAgICAgICAgICAg
ICAgICAgIENoYW5uZWwtPkNoYW5uZWwpOwotICAgIENoYW5uZWwtPkNoYW5uZWwgPSBOVUxMOwot
fQotCi1zdGF0aWMgVk9JRAotUG9sbGVyQ2hhbm5lbFRlYXJkb3duKAotICAgIElOICBQWEVOVklG
X1BPTExFUl9DSEFOTkVMICBDaGFubmVsCi0gICAgKQotewotICAgIENoYW5uZWwtPk5vZGUgPSBO
VUxMOwotCi0gICAgQ2hhbm5lbC0+VHlwZSA9IDA7Ci0gICAgQ2hhbm5lbC0+SW5zdGFuY2UgPSBO
VUxMOwotCi0gICAgQVNTRVJUKElzWmVyb01lbW9yeShDaGFubmVsLCBzaXplb2YgKFhFTlZJRl9Q
T0xMRVJfQ0hBTk5FTCkpKTsKLSAgICBfX1BvbGxlckZyZWUoQ2hhbm5lbCk7Ci19Ci0KLV9fZHJ2
X3JlcXVpcmVzSVJRTChESVNQQVRDSF9MRVZFTCkKLXN0YXRpYyBWT0lECi1Qb2xsZXJJbnN0YW5j
ZVVubWFzaygKLSAgICBJTiAgUFhFTlZJRl9QT0xMRVJfSU5TVEFOQ0UgICAgIEluc3RhbmNlLAot
ICAgIElOICBYRU5WSUZfUE9MTEVSX0VWRU5UX1RZUEUgICAgRXZlbnQKLSAgICApCi17Ci0gICAg
UFhFTlZJRl9QT0xMRVIgICAgICAgICAgICAgICAgICBQb2xsZXI7Ci0gICAgWEVOVklGX1BPTExF
Ul9DSEFOTkVMX1RZUEUgICAgICBUeXBlOwotICAgIFBYRU5WSUZfUE9MTEVSX0NIQU5ORUwgICAg
ICAgICAgQ2hhbm5lbDsKLQotICAgIEFTU0VSVDNVKEtlR2V0Q3VycmVudElycWwoKSwgPT0sIERJ
U1BBVENIX0xFVkVMKTsKLQotICAgIFBvbGxlciA9IEluc3RhbmNlLT5Qb2xsZXI7Ci0KLSAgICBL
ZUFjcXVpcmVTcGluTG9ja0F0RHBjTGV2ZWwoJkluc3RhbmNlLT5Mb2NrKTsKLQotICAgIGlmICgh
SW5zdGFuY2UtPkVuYWJsZWQpCi0gICAgICAgIGdvdG8gZG9uZTsKLQotICAgIGlmICghX19Qb2xs
ZXJJc1NwbGl0KFBvbGxlcikpIHsKLSAgICAgICAgVHlwZSA9IFhFTlZJRl9QT0xMRVJfQ0hBTk5F
TF9DT01CSU5FRDsKLSAgICB9IGVsc2UgewotICAgICAgICBzd2l0Y2ggKEV2ZW50KSB7Ci0gICAg
ICAgIGNhc2UgWEVOVklGX1BPTExFUl9FVkVOVF9SRUNFSVZFOgotICAgICAgICAgICAgVHlwZSA9
IFhFTlZJRl9QT0xMRVJfQ0hBTk5FTF9SRUNFSVZFUjsKLSAgICAgICAgICAgIGJyZWFrOwotCi0g
ICAgICAgIGNhc2UgWEVOVklGX1BPTExFUl9FVkVOVF9UUkFOU01JVDoKLSAgICAgICAgICAgIFR5
cGUgPSBYRU5WSUZfUE9MTEVSX0NIQU5ORUxfVFJBTlNNSVRURVI7Ci0gICAgICAgICAgICBicmVh
azsKLQotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgVHlwZSA9IFhFTlZJRl9QT0xMRVJf
Q0hBTk5FTF9JTlZBTElEOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICB9Ci0K
LSAgICBBU1NFUlQoVHlwZSAhPSBYRU5WSUZfUE9MTEVSX0NIQU5ORUxfSU5WQUxJRCk7Ci0KLSAg
ICBDaGFubmVsID0gSW5zdGFuY2UtPkNoYW5uZWxbVHlwZV07Ci0KLSAgICBQb2xsZXJDaGFubmVs
VW5tYXNrKENoYW5uZWwpOwotCi1kb25lOgotICAgIEtlUmVsZWFzZVNwaW5Mb2NrRnJvbURwY0xl
dmVsKCZJbnN0YW5jZS0+TG9jayk7Ci19Ci0KLV9fZHJ2X2Z1bmN0aW9uQ2xhc3MoS0RFRkVSUkVE
X1JPVVRJTkUpCi1fX2Rydl9tYXhJUlFMKERJU1BBVENIX0xFVkVMKQotX19kcnZfbWluSVJRTChE
SVNQQVRDSF9MRVZFTCkKLV9fZHJ2X3NhbWVJUlFMCi1zdGF0aWMgVk9JRAotUG9sbGVySW5zdGFu
Y2VEcGMoCi0gICAgSU4gIFBLRFBDICAgICAgICAgICAgICAgRHBjLAotICAgIElOICBQVk9JRCAg
ICAgICAgICAgICAgIENvbnRleHQsCi0gICAgSU4gIFBWT0lEICAgICAgICAgICAgICAgQXJndW1l
bnQxLAotICAgIElOICBQVk9JRCAgICAgICAgICAgICAgIEFyZ3VtZW50MgotICAgICkKLXsKLSAg
ICBQWEVOVklGX1BPTExFUl9JTlNUQU5DRSBJbnN0YW5jZSA9IENvbnRleHQ7Ci0gICAgUFhFTlZJ
Rl9QT0xMRVIgICAgICAgICAgUG9sbGVyOwotICAgIFBYRU5WSUZfRlJPTlRFTkQgICAgICAgIEZy
b250ZW5kOwotICAgIEJPT0xFQU4gICAgICAgICAgICAgICAgIEVuYWJsZWQ7Ci0gICAgQk9PTEVB
TiAgICAgICAgICAgICAgICAgUmVjZWl2ZXJSZXRyeTsKLSAgICBCT09MRUFOICAgICAgICAgICAg
ICAgICBUcmFuc21pdHRlclJldHJ5OwotCi0gICAgVU5SRUZFUkVOQ0VEX1BBUkFNRVRFUihEcGMp
OwotICAgIFVOUkVGRVJFTkNFRF9QQVJBTUVURVIoQXJndW1lbnQxKTsKLSAgICBVTlJFRkVSRU5D
RURfUEFSQU1FVEVSKEFyZ3VtZW50Mik7Ci0KLSAgICBBU1NFUlQoSW5zdGFuY2UgIT0gTlVMTCk7
Ci0KLSAgICBQb2xsZXIgPSBJbnN0YW5jZS0+UG9sbGVyOwotICAgIEZyb250ZW5kID0gUG9sbGVy
LT5Gcm9udGVuZDsKLSAgICBFbmFibGVkID0gRkFMU0U7Ci0gICAgUmVjZWl2ZXJSZXRyeSA9IEZB
TFNFOwotICAgIFRyYW5zbWl0dGVyUmV0cnkgPSBGQUxTRTsKLQotICAgIGZvciAoOzspIHsKLSAg
ICAgICAgQk9PTEVBTiBOZWVkUmVjZWl2ZXJQb2xsOwotICAgICAgICBCT09MRUFOIE5lZWRUcmFu
c21pdHRlclBvbGw7Ci0KLSAgICAgICAgS2VBY3F1aXJlU3BpbkxvY2tBdERwY0xldmVsKCZJbnN0
YW5jZS0+TG9jayk7Ci0gICAgICAgIEVuYWJsZWQgPSBJbnN0YW5jZS0+RW5hYmxlZDsKLSAgICAg
ICAgS2VSZWxlYXNlU3BpbkxvY2tGcm9tRHBjTGV2ZWwoJkluc3RhbmNlLT5Mb2NrKTsKLQotICAg
ICAgICBpZiAoIUVuYWJsZWQpCi0gICAgICAgICAgICBicmVhazsKLQotICAgICAgICBOZWVkUmVj
ZWl2ZXJQb2xsID0KLSAgICAgICAgICAgIChJbnRlcmxvY2tlZEJpdFRlc3RBbmRSZXNldCgmSW5z
dGFuY2UtPlBlbmRpbmcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
WEVOVklGX1BPTExFUl9FVkVOVF9SRUNFSVZFKSAhPSAwKSA/Ci0gICAgICAgICAgICBUUlVFIDoK
LSAgICAgICAgICAgIEZBTFNFOwotCi0gICAgICAgIE5lZWRUcmFuc21pdHRlclBvbGwgPQotICAg
ICAgICAgICAgKEludGVybG9ja2VkQml0VGVzdEFuZFJlc2V0KCZJbnN0YW5jZS0+UGVuZGluZywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYRU5WSUZfUE9MTEVSX0VW
RU5UX1RSQU5TTUlUKSAhPSAwKSA/Ci0gICAgICAgICAgICBUUlVFIDoKLSAgICAgICAgICAgIEZB
TFNFOwotCi0gICAgICAgIGlmICghTmVlZFJlY2VpdmVyUG9sbCAmJiAhTmVlZFRyYW5zbWl0dGVy
UG9sbCkKLSAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgIGlmIChOZWVkUmVjZWl2ZXJQb2xs
KQotICAgICAgICB7Ci0gICAgICAgICAgICBSZWNlaXZlclJldHJ5ID0gUmVjZWl2ZXJQb2xsKEZy
b250ZW5kR2V0UmVjZWl2ZXIoRnJvbnRlbmQpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBJbnN0YW5jZS0+SW5kZXgpOwotCi0gICAgICAgICAgICBpZiAoIVJlY2Vp
dmVyUmV0cnkpIHsKLSAgICAgICAgICAgICAgICBQb2xsZXJJbnN0YW5jZVVubWFzayhJbnN0YW5j
ZSwgWEVOVklGX1BPTExFUl9FVkVOVF9SRUNFSVZFKTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0g
ICAgICAgICAgICAgICAgKFZPSUQpIEludGVybG9ja2VkQml0VGVzdEFuZFNldCgmSW5zdGFuY2Ut
PlBlbmRpbmcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBYRU5WSUZfUE9MTEVSX0VWRU5UX1JFQ0VJVkUpOwotICAgICAgICAgICAgfQotICAgICAgICB9
Ci0KLSAgICAgICAgaWYgKE5lZWRUcmFuc21pdHRlclBvbGwpCi0gICAgICAgIHsKLSAgICAgICAg
ICAgIFRyYW5zbWl0dGVyUmV0cnkgPSBUcmFuc21pdHRlclBvbGwoRnJvbnRlbmRHZXRUcmFuc21p
dHRlcihGcm9udGVuZCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIEluc3RhbmNlLT5JbmRleCk7Ci0KLSAgICAgICAgICAgIGlmICghVHJhbnNtaXR0ZXJS
ZXRyeSkgewotICAgICAgICAgICAgICAgIFBvbGxlckluc3RhbmNlVW5tYXNrKEluc3RhbmNlLCBY
RU5WSUZfUE9MTEVSX0VWRU5UX1RSQU5TTUlUKTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAg
ICAgICAgICAgICAgKFZPSUQpIEludGVybG9ja2VkQml0VGVzdEFuZFNldCgmSW5zdGFuY2UtPlBl
bmRpbmcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBY
RU5WSUZfUE9MTEVSX0VWRU5UX1RSQU5TTUlUKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQot
ICAgIH0KLQotICAgIEFTU0VSVCghRW5hYmxlZCB8fCAhUmVjZWl2ZXJSZXRyeSk7Ci0gICAgQVNT
RVJUKCFFbmFibGVkIHx8ICFUcmFuc21pdHRlclJldHJ5KTsKLX0KLQotc3RhdGljIE5UU1RBVFVT
Ci1Qb2xsZXJJbnN0YW5jZUluaXRpYWxpemUoCi0gICAgSU4gIFBYRU5WSUZfUE9MTEVSICAgICAg
ICAgIFBvbGxlciwKLSAgICBJTiAgTE9ORyAgICAgICAgICAgICAgICAgICAgSW5kZXgsCi0gICAg
T1VUIFBYRU5WSUZfUE9MTEVSX0lOU1RBTkNFICpJbnN0YW5jZQotICAgICkKLXsKLSAgICBQWEVO
VklGX0ZST05URU5EICAgICAgICAgICAgRnJvbnRlbmQ7Ci0gICAgTE9ORyAgICAgICAgICAgICAg
ICAgICAgICAgIFR5cGU7Ci0gICAgTlRTVEFUVVMgICAgICAgICAgICAgICAgICAgIHN0YXR1czsK
LQotICAgIEZyb250ZW5kID0gUG9sbGVyLT5Gcm9udGVuZDsKLQotICAgICpJbnN0YW5jZSA9IF9f
UG9sbGVyQWxsb2NhdGUoc2l6ZW9mIChYRU5WSUZfUE9MTEVSX0lOU1RBTkNFKSk7Ci0KLSAgICBz
dGF0dXMgPSBTVEFUVVNfTk9fTUVNT1JZOwotICAgIGlmICgqSW5zdGFuY2UgPT0gTlVMTCkKLSAg
ICAgICAgZ290byBmYWlsMTsKLQotICAgICgqSW5zdGFuY2UpLT5Qb2xsZXIgPSBQb2xsZXI7Ci0g
ICAgKCpJbnN0YW5jZSktPkluZGV4ID0gSW5kZXg7Ci0KLSAgICBmb3IgKFR5cGUgPSAwOyBUeXBl
IDwgWEVOVklGX1BPTExFUl9DSEFOTkVMX1RZUEVfQ09VTlQ7IFR5cGUrKykKLSAgICB7Ci0gICAg
ICAgIFBYRU5WSUZfUE9MTEVSX0NIQU5ORUwgQ2hhbm5lbDsKLQotICAgICAgICBzdGF0dXMgPSBQ
b2xsZXJDaGFubmVsSW5pdGlhbGl6ZSgqSW5zdGFuY2UsIFR5cGUsICZDaGFubmVsKTsKLSAgICAg
ICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCi0gICAgICAgICAgICBnb3RvIGZhaWwyOwotCi0g
ICAgICAgICgqSW5zdGFuY2UpLT5DaGFubmVsW1R5cGVdID0gQ2hhbm5lbDsKLSAgICB9Ci0KLSAg
ICAoKkluc3RhbmNlKS0+UGF0aCA9IEZyb250ZW5kRm9ybWF0UGF0aChGcm9udGVuZCwgSW5kZXgp
OwotICAgIGlmICgoKkluc3RhbmNlKS0+UGF0aCA9PSBOVUxMKQotICAgICAgICBnb3RvIGZhaWwz
OwotCi0gICAgS2VJbml0aWFsaXplU3BpbkxvY2soJigqSW5zdGFuY2UpLT5Mb2NrKTsKLQotICAg
IEtlSW5pdGlhbGl6ZURwYygmKCpJbnN0YW5jZSktPkRwYywgUG9sbGVySW5zdGFuY2VEcGMsICpJ
bnN0YW5jZSk7Ci0KLSAgICByZXR1cm4gU1RBVFVTX1NVQ0NFU1M7Ci0KLWZhaWwzOgotICAgIEVy
cm9yKCJmYWlsM1xuIik7Ci0KLSAgICBUeXBlID0gWEVOVklGX1BPTExFUl9DSEFOTkVMX1RZUEVf
Q09VTlQ7Ci0KLWZhaWwyOgotICAgIEVycm9yKCJmYWlsMlxuIik7Ci0KLSAgICB3aGlsZSAoLS1U
eXBlID49IDApCi0gICAgewotICAgICAgICBQWEVOVklGX1BPTExFUl9DSEFOTkVMIENoYW5uZWwg
PSAoKkluc3RhbmNlKS0+Q2hhbm5lbFtUeXBlXTsKLQotICAgICAgICAoKkluc3RhbmNlKS0+Q2hh
bm5lbFtUeXBlXSA9IE5VTEw7Ci0gICAgICAgIFBvbGxlckNoYW5uZWxUZWFyZG93bihDaGFubmVs
KTsKLSAgICB9Ci0KLSAgICAoKkluc3RhbmNlKS0+SW5kZXggPSAwOwotICAgICgqSW5zdGFuY2Up
LT5Qb2xsZXIgPSBOVUxMOwotCi0gICAgQVNTRVJUKElzWmVyb01lbW9yeSgqSW5zdGFuY2UsIHNp
emVvZiAoWEVOVklGX1BPTExFUl9JTlNUQU5DRSkpKTsKLSAgICBfX1BvbGxlckZyZWUoKkluc3Rh
bmNlKTsKLQotZmFpbDE6Ci0gICAgRXJyb3IoImZhaWwxICglMDh4KVxuIiwgc3RhdHVzKTsKLQot
ICAgIHJldHVybiBzdGF0dXM7Ci19Ci0KLV9fZHJ2X3JlcXVpcmVzSVJRTChESVNQQVRDSF9MRVZF
TCkKLXN0YXRpYyBOVFNUQVRVUwotUG9sbGVySW5zdGFuY2VDb25uZWN0KAotICAgIElOICBQWEVO
VklGX1BPTExFUl9JTlNUQU5DRSBJbnN0YW5jZQotICAgICkKLXsKLSAgICBQUk9DRVNTT1JfTlVN
QkVSICAgICAgICAgICAgUHJvY051bWJlcjsKLSAgICBMT05HICAgICAgICAgICAgICAgICAgICAg
ICAgVHlwZTsKLSAgICBOVFNUQVRVUyAgICAgICAgICAgICAgICAgICAgc3RhdHVzOwotCi0gICAg
QVNTRVJUM1UoS2VHZXRDdXJyZW50SXJxbCgpLCA9PSwgRElTUEFUQ0hfTEVWRUwpOwotCi0gICAg
c3RhdHVzID0gS2VHZXRQcm9jZXNzb3JOdW1iZXJGcm9tSW5kZXgoSW5zdGFuY2UtPkluZGV4LCAm
UHJvY051bWJlcik7Ci0gICAgQVNTRVJUKE5UX1NVQ0NFU1Moc3RhdHVzKSk7Ci0KLSAgICBLZVNl
dFRhcmdldFByb2Nlc3NvckRwY0V4KCZJbnN0YW5jZS0+RHBjLCAmUHJvY051bWJlcik7Ci0gICAg
S2VTZXRJbXBvcnRhbmNlRHBjKCZJbnN0YW5jZS0+RHBjLCBNZWRpdW1IaWdoSW1wb3J0YW5jZSk7
Ci0KLSAgICBmb3IgKFR5cGUgPSAwOyBUeXBlIDwgWEVOVklGX1BPTExFUl9DSEFOTkVMX1RZUEVf
Q09VTlQ7IFR5cGUrKykKLSAgICB7Ci0gICAgICAgIFBYRU5WSUZfUE9MTEVSX0NIQU5ORUwgQ2hh
bm5lbCA9IEluc3RhbmNlLT5DaGFubmVsW1R5cGVdOwotCi0gICAgICAgIHN0YXR1cyA9IFBvbGxl
ckNoYW5uZWxDb25uZWN0KENoYW5uZWwpOwotICAgICAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVz
KSkKLSAgICAgICAgICAgIGdvdG8gZmFpbDE7Ci0gICAgfQotCi0gICAgcmV0dXJuIFNUQVRVU19T
VUNDRVNTOwotCi1mYWlsMToKLSAgICBFcnJvcigiZmFpbDEgKCUwOHgpXG4iLCBzdGF0dXMpOwot
Ci0gICAgd2hpbGUgKC0tVHlwZSA+PSAwKQotICAgIHsKLSAgICAgICAgUFhFTlZJRl9QT0xMRVJf
Q0hBTk5FTCBDaGFubmVsID0gSW5zdGFuY2UtPkNoYW5uZWxbVHlwZV07Ci0KLSAgICAgICAgUG9s
bGVyQ2hhbm5lbERpc2Nvbm5lY3QoQ2hhbm5lbCk7Ci0gICAgfQotCi0gICAgcmV0dXJuIHN0YXR1
czsKLX0KLQotc3RhdGljIE5UU1RBVFVTCi1Qb2xsZXJJbnN0YW5jZVN0b3JlV3JpdGUoCi0gICAg
SU4gIFBYRU5WSUZfUE9MTEVSX0lOU1RBTkNFICAgICBJbnN0YW5jZSwKLSAgICBJTiAgUFhFTkJV
U19TVE9SRV9UUkFOU0FDVElPTiAgIFRyYW5zYWN0aW9uCi0gICAgKQotewotICAgIFVMT05HICAg
ICAgICAgICAgICAgICAgICAgICAgICAgVHlwZTsKLSAgICBOVFNUQVRVUyAgICAgICAgICAgICAg
ICAgICAgICAgIHN0YXR1czsKLQotICAgIGZvciAoVHlwZSA9IDA7IFR5cGUgPCBYRU5WSUZfUE9M
TEVSX0NIQU5ORUxfVFlQRV9DT1VOVDsgVHlwZSsrKQotICAgIHsKLSAgICAgICAgUFhFTlZJRl9Q
T0xMRVJfQ0hBTk5FTCBDaGFubmVsID0gSW5zdGFuY2UtPkNoYW5uZWxbVHlwZV07Ci0KLSAgICAg
ICAgc3RhdHVzID0gUG9sbGVyQ2hhbm5lbFN0b3JlV3JpdGUoQ2hhbm5lbCwgVHJhbnNhY3Rpb24p
OwotICAgICAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKLSAgICAgICAgICAgIGdvdG8gZmFp
bDE7Ci0gICAgfQotCi0gICAgcmV0dXJuIFNUQVRVU19TVUNDRVNTOwotCi1mYWlsMToKLSAgICBF
cnJvcigiZmFpbDEgKCUwOHgpXG4iLCBzdGF0dXMpOwotCi0gICAgcmV0dXJuIHN0YXR1czsKLX0K
LQotX19kcnZfcmVxdWlyZXNJUlFMKERJU1BBVENIX0xFVkVMKQotc3RhdGljIE5UU1RBVFVTCi1Q
b2xsZXJJbnN0YW5jZUVuYWJsZSgKLSAgICBJTiAgUFhFTlZJRl9QT0xMRVJfSU5TVEFOQ0UgSW5z
dGFuY2UKLSAgICApCi17Ci0gICAgQVNTRVJUM1UoS2VHZXRDdXJyZW50SXJxbCgpLCA9PSwgRElT
UEFUQ0hfTEVWRUwpOwotCi0gICAgKFZPSUQpIEludGVybG9ja2VkQml0VGVzdEFuZFNldCgmSW5z
dGFuY2UtPlBlbmRpbmcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYRU5W
SUZfUE9MTEVSX0VWRU5UX1JFQ0VJVkUpOwotICAgIChWT0lEKSBJbnRlcmxvY2tlZEJpdFRlc3RB
bmRTZXQoJkluc3RhbmNlLT5QZW5kaW5nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgWEVOVklGX1BPTExFUl9FVkVOVF9UUkFOU01JVCk7Ci0KLSAgICBLZUFjcXVpcmVTcGlu
TG9ja0F0RHBjTGV2ZWwoJkluc3RhbmNlLT5Mb2NrKTsKLSAgICBJbnN0YW5jZS0+RW5hYmxlZCA9
IFRSVUU7Ci0gICAgS2VSZWxlYXNlU3BpbkxvY2tGcm9tRHBjTGV2ZWwoJkluc3RhbmNlLT5Mb2Nr
KTsKLQotICAgIChWT0lEKSBLZUluc2VydFF1ZXVlRHBjKCZJbnN0YW5jZS0+RHBjLCBOVUxMLCBO
VUxMKTsKLQotICAgIHJldHVybiBTVEFUVVNfU1VDQ0VTUzsKLX0KLQotX19kcnZfcmVxdWlyZXNJ
UlFMKERJU1BBVENIX0xFVkVMKQotc3RhdGljIE5UU1RBVFVTCi1Qb2xsZXJJbnN0YW5jZVNlbmQo
Ci0gICAgSU4gIFBYRU5WSUZfUE9MTEVSX0lOU1RBTkNFICAgICBJbnN0YW5jZSwKLSAgICBJTiAg
WEVOVklGX1BPTExFUl9FVkVOVF9UWVBFICAgIEV2ZW50Ci0gICAgKQotewotICAgIFBYRU5WSUZf
UE9MTEVSICAgICAgICAgICAgICAgICAgUG9sbGVyOwotICAgIFhFTlZJRl9QT0xMRVJfQ0hBTk5F
TF9UWVBFICAgICAgVHlwZTsKLSAgICBQWEVOVklGX1BPTExFUl9DSEFOTkVMICAgICAgICAgIENo
YW5uZWw7Ci0gICAgTlRTVEFUVVMgICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXM7Ci0KLSAg
ICBBU1NFUlQzVShLZUdldEN1cnJlbnRJcnFsKCksID09LCBESVNQQVRDSF9MRVZFTCk7Ci0KLSAg
ICBQb2xsZXIgPSBJbnN0YW5jZS0+UG9sbGVyOwotCi0gICAgS2VBY3F1aXJlU3BpbkxvY2tBdERw
Y0xldmVsKCZJbnN0YW5jZS0+TG9jayk7Ci0KLSAgICBUeXBlID0gWEVOVklGX1BPTExFUl9DSEFO
TkVMX0lOVkFMSUQ7Ci0KLSAgICBpZiAoSW5zdGFuY2UtPkVuYWJsZWQpIHsKLSAgICAgICAgaWYg
KCFfX1BvbGxlcklzU3BsaXQoUG9sbGVyKSkgewotICAgICAgICAgICAgVHlwZSA9IFhFTlZJRl9Q
T0xMRVJfQ0hBTk5FTF9DT01CSU5FRDsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHN3
aXRjaCAoRXZlbnQpIHsKLSAgICAgICAgICAgIGNhc2UgWEVOVklGX1BPTExFUl9FVkVOVF9SRUNF
SVZFOgotICAgICAgICAgICAgICAgIFR5cGUgPSBYRU5WSUZfUE9MTEVSX0NIQU5ORUxfUkVDRUlW
RVI7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgICAgIGNhc2UgWEVOVklGX1BP
TExFUl9FVkVOVF9UUkFOU01JVDoKLSAgICAgICAgICAgICAgICBUeXBlID0gWEVOVklGX1BPTExF
Ul9DSEFOTkVMX1RSQU5TTUlUVEVSOwotICAgICAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAg
ICAgICBkZWZhdWx0OgotICAgICAgICAgICAgICAgIEFTU0VSVChGQUxTRSk7Ci0gICAgICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBLZVJl
bGVhc2VTcGluTG9ja0Zyb21EcGNMZXZlbCgmSW5zdGFuY2UtPkxvY2spOwotCi0gICAgc3RhdHVz
ID0gU1RBVFVTX1VOU1VDQ0VTU0ZVTDsKLSAgICBpZiAoVHlwZSA9PSBYRU5WSUZfUE9MTEVSX0NI
QU5ORUxfSU5WQUxJRCkKLSAgICAgICAgZ290byBmYWlsMTsKLQotICAgIENoYW5uZWwgPSBJbnN0
YW5jZS0+Q2hhbm5lbFtUeXBlXTsKLQotICAgIFBvbGxlckNoYW5uZWxTZW5kKENoYW5uZWwpOwot
Ci0gICAgcmV0dXJuIFNUQVRVU19TVUNDRVNTOwotCi1mYWlsMToKLSAgICBFcnJvcigiZmFpbDEg
KCUwOHgpXG4iLCBzdGF0dXMpOwotCi0gICAgcmV0dXJuIHN0YXR1czsKLX0KLQotX19kcnZfcmVx
dWlyZXNJUlFMKERJU1BBVENIX0xFVkVMKQotc3RhdGljIE5UU1RBVFVTCi1Qb2xsZXJJbnN0YW5j
ZVRyaWdnZXIoCi0gICAgSU4gIFBYRU5WSUZfUE9MTEVSX0lOU1RBTkNFICAgICBJbnN0YW5jZSwK
LSAgICBJTiAgWEVOVklGX1BPTExFUl9FVkVOVF9UWVBFICAgIEV2ZW50Ci0gICAgKQotewotICAg
IE5UU1RBVFVTICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzOwotCi0gICAgc3RhdHVzID0g
U1RBVFVTX0lOVkFMSURfUEFSQU1FVEVSOwotICAgIGlmIChFdmVudCA+PSBYRU5WSUZfUE9MTEVS
X0VWRU5UX1RZUEVfQ09VTlQpCi0gICAgICAgIGdvdG8gZmFpbDE7Ci0KLSAgICAoVk9JRCkgSW50
ZXJsb2NrZWRCaXRUZXN0QW5kU2V0KCZJbnN0YW5jZS0+UGVuZGluZywgRXZlbnQpOwotCi0gICAg
aWYgKEtlSW5zZXJ0UXVldWVEcGMoJkluc3RhbmNlLT5EcGMsIE5VTEwsIE5VTEwpKQotICAgICAg
ICBJbnN0YW5jZS0+RHBjcysrOwotCi0gICAgcmV0dXJuIFNUQVRVU19TVUNDRVNTOwotCi1mYWls
MToKLSAgICBFcnJvcigiZmFpbDEgKCUwOHgpXG4iLCBzdGF0dXMpOwotCi0gICAgcmV0dXJuIHN0
YXR1czsKLX0KLQotc3RhdGljIFZPSUQKLVBvbGxlckluc3RhbmNlRGVidWdDYWxsYmFjaygKLSAg
ICBJTiAgUFhFTlZJRl9QT0xMRVJfSU5TVEFOQ0UgSW5zdGFuY2UKLSAgICApCi17Ci0gICAgUFhF
TlZJRl9QT0xMRVIgICAgICAgICAgICAgIFBvbGxlcjsKLSAgICBVTE9ORyAgICAgICAgICAgICAg
ICAgICAgICAgVHlwZTsKLQotICAgIFBvbGxlciA9IEluc3RhbmNlLT5Qb2xsZXI7Ci0KLSAgICBY
RU5CVVNfREVCVUcoUHJpbnRmLAotICAgICAgICAgICAgICAgICAmUG9sbGVyLT5EZWJ1Z0ludGVy
ZmFjZSwKLSAgICAgICAgICAgICAgICAgIlslZF06IERwY3MgPSAlbHVcbiIsCi0gICAgICAgICAg
ICAgICAgIEluc3RhbmNlLT5JbmRleCwKLSAgICAgICAgICAgICAgICAgSW5zdGFuY2UtPkRwY3Mp
OwotCi0gICAgZm9yIChUeXBlID0gMDsgVHlwZSA8IFhFTlZJRl9QT0xMRVJfQ0hBTk5FTF9UWVBF
X0NPVU5UOyBUeXBlKyspCi0gICAgewotICAgICAgICBQWEVOVklGX1BPTExFUl9DSEFOTkVMIENo
YW5uZWwgPSBJbnN0YW5jZS0+Q2hhbm5lbFtUeXBlXTsKLQotICAgICAgICBQb2xsZXJDaGFubmVs
RGVidWdDYWxsYmFjayhDaGFubmVsKTsKLSAgICB9Ci19Ci0KLV9fZHJ2X3JlcXVpcmVzSVJRTChE
SVNQQVRDSF9MRVZFTCkKLXN0YXRpYyBWT0lECi1Qb2xsZXJJbnN0YW5jZURpc2FibGUoCi0gICAg
SU4gIFBYRU5WSUZfUE9MTEVSX0lOU1RBTkNFIEluc3RhbmNlCi0gICAgKQotewotICAgIEFTU0VS
VDNVKEtlR2V0Q3VycmVudElycWwoKSwgPT0sIERJU1BBVENIX0xFVkVMKTsKLQotICAgIEtlQWNx
dWlyZVNwaW5Mb2NrQXREcGNMZXZlbCgmSW5zdGFuY2UtPkxvY2spOwotICAgIEluc3RhbmNlLT5F
bmFibGVkID0gRkFMU0U7Ci0gICAgS2VSZWxlYXNlU3BpbkxvY2tGcm9tRHBjTGV2ZWwoJkluc3Rh
bmNlLT5Mb2NrKTsKLX0KLQotX19kcnZfcmVxdWlyZXNJUlFMKERJU1BBVENIX0xFVkVMKQotc3Rh
dGljIFZPSUQKLVBvbGxlckluc3RhbmNlRGlzY29ubmVjdCgKLSAgICBJTiAgUFhFTlZJRl9QT0xM
RVJfSU5TVEFOQ0UgSW5zdGFuY2UKLSAgICApCi17Ci0gICAgTE9ORyAgICAgICAgICAgICAgICAg
ICAgICAgIFR5cGU7Ci0KLSAgICBBU1NFUlQzVShLZUdldEN1cnJlbnRJcnFsKCksID09LCBESVNQ
QVRDSF9MRVZFTCk7Ci0KLSAgICBJbnN0YW5jZS0+RHBjcyA9IDA7Ci0gICAgSW5zdGFuY2UtPlBl
bmRpbmcgPSAwOwotCi0gICAgVHlwZSA9IFhFTlZJRl9QT0xMRVJfQ0hBTk5FTF9UWVBFX0NPVU5U
OwotCi0gICAgd2hpbGUgKC0tVHlwZSA+PSAwKQotICAgIHsKLSAgICAgICAgUFhFTlZJRl9QT0xM
RVJfQ0hBTk5FTCBDaGFubmVsID0gSW5zdGFuY2UtPkNoYW5uZWxbVHlwZV07Ci0KLSAgICAgICAg
UG9sbGVyQ2hhbm5lbERpc2Nvbm5lY3QoQ2hhbm5lbCk7Ci0gICAgfQotfQotCi1zdGF0aWMgVk9J
RAotUG9sbGVySW5zdGFuY2VUZWFyZG93bigKLSAgICBJTiAgUFhFTlZJRl9QT0xMRVJfSU5TVEFO
Q0UgSW5zdGFuY2UKLSAgICApCi17Ci0gICAgUFhFTlZJRl9QT0xMRVIgICAgICAgICAgICAgIFBv
bGxlcjsKLSAgICBQWEVOVklGX0ZST05URU5EICAgICAgICAgICAgRnJvbnRlbmQ7Ci0gICAgTE9O
RyAgICAgICAgICAgICAgICAgICAgICAgIFR5cGU7Ci0KLSAgICBBU1NFUlQzVShLZUdldEN1cnJl
bnRJcnFsKCksID09LCBQQVNTSVZFX0xFVkVMKTsKLSAgICBLZUZsdXNoUXVldWVkRHBjcygpOwot
Ci0gICAgUG9sbGVyID0gSW5zdGFuY2UtPlBvbGxlcjsKLSAgICBGcm9udGVuZCA9IFBvbGxlci0+
RnJvbnRlbmQ7Ci0KLSAgICBSdGxaZXJvTWVtb3J5KCZJbnN0YW5jZS0+RHBjLCBzaXplb2YgKEtE
UEMpKTsKLQotICAgIFJ0bFplcm9NZW1vcnkoJkluc3RhbmNlLT5Mb2NrLCBzaXplb2YgKEtTUElO
X0xPQ0spKTsKLQotICAgIEZyb250ZW5kRnJlZVBhdGgoRnJvbnRlbmQsIEluc3RhbmNlLT5QYXRo
KTsKLSAgICBJbnN0YW5jZS0+UGF0aCA9IE5VTEw7Ci0KLSAgICBUeXBlID0gWEVOVklGX1BPTExF
Ul9DSEFOTkVMX1RZUEVfQ09VTlQ7Ci0KLSAgICB3aGlsZSAoLS1UeXBlID49IDApCi0gICAgewot
ICAgICAgICBQWEVOVklGX1BPTExFUl9DSEFOTkVMIENoYW5uZWwgPSBJbnN0YW5jZS0+Q2hhbm5l
bFtUeXBlXTsKLQotICAgICAgICBJbnN0YW5jZS0+Q2hhbm5lbFtUeXBlXSA9IE5VTEw7Ci0gICAg
ICAgIFBvbGxlckNoYW5uZWxUZWFyZG93bihDaGFubmVsKTsKLSAgICB9Ci0KLSAgICBJbnN0YW5j
ZS0+SW5kZXggPSAwOwotICAgIEluc3RhbmNlLT5Qb2xsZXIgPSBOVUxMOwotCi0gICAgQVNTRVJU
KElzWmVyb01lbW9yeShJbnN0YW5jZSwgc2l6ZW9mIChYRU5WSUZfUE9MTEVSX0lOU1RBTkNFKSkp
OwotICAgIF9fUG9sbGVyRnJlZShJbnN0YW5jZSk7Ci19Ci0KLXN0YXRpYyBWT0lECi1Qb2xsZXJE
ZWJ1Z0NhbGxiYWNrKAotICAgIElOICBQVk9JRCAgICAgICAgICAgQXJndW1lbnQsCi0gICAgSU4g
IEJPT0xFQU4gICAgICAgICBDcmFzaGluZwotICAgICkKLXsKLSAgICBQWEVOVklGX1BPTExFUiAg
ICAgIFBvbGxlciA9IEFyZ3VtZW50OwotICAgIFBYRU5WSUZfRlJPTlRFTkQgICAgRnJvbnRlbmQ7
Ci0gICAgVUxPTkcgICAgICAgICAgICAgICBOdW1RdWV1ZXM7Ci0gICAgVUxPTkcgICAgICAgICAg
ICAgICBJbmRleDsKLQotICAgIFVOUkVGRVJFTkNFRF9QQVJBTUVURVIoQ3Jhc2hpbmcpOwotCi0g
ICAgRnJvbnRlbmQgPSBQb2xsZXItPkZyb250ZW5kOwotCi0gICAgTnVtUXVldWVzID0gRnJvbnRl
bmRHZXROdW1RdWV1ZXMoRnJvbnRlbmQpOwotCi0gICAgZm9yIChJbmRleCA9IDA7IEluZGV4IDwg
TnVtUXVldWVzOyBJbmRleCsrKSB7Ci0gICAgICAgIFBYRU5WSUZfUE9MTEVSX0lOU1RBTkNFIElu
c3RhbmNlID0gUG9sbGVyLT5JbnN0YW5jZVtJbmRleF07Ci0KLSAgICAgICAgUG9sbGVySW5zdGFu
Y2VEZWJ1Z0NhbGxiYWNrKEluc3RhbmNlKTsKLSAgICB9Ci19Ci0KLXN0YXRpYyBWT0lECi1Qb2xs
ZXJTZXRTcGxpdCgKLSAgICBJTiAgUFhFTlZJRl9QT0xMRVIgIFBvbGxlcgotICAgICkKLXsKLSAg
ICBQWEVOVklGX0ZST05URU5EICAgIEZyb250ZW5kOwotICAgIFBDSEFSICAgICAgICAgICAgICAg
QnVmZmVyOwotICAgIE5UU1RBVFVTICAgICAgICAgICAgc3RhdHVzOwotCi0gICAgRnJvbnRlbmQg
PSBQb2xsZXItPkZyb250ZW5kOwotCi0gICAgc3RhdHVzID0gWEVOQlVTX1NUT1JFKFJlYWQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICZQb2xsZXItPlN0b3JlSW50ZXJmYWNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICBOVUxMLAotICAgICAgICAgICAgICAgICAgICAgICAgICBGcm9u
dGVuZEdldEJhY2tlbmRQYXRoKEZyb250ZW5kKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ImZlYXR1cmUtc3BsaXQtZXZlbnQtY2hhbm5lbHMiLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAmQnVmZmVyKTsKLSAgICBpZiAoTlRfU1VDQ0VTUyhzdGF0dXMpKSB7Ci0gICAgICAgIFBvbGxl
ci0+U3BsaXQgPSAoQk9PTEVBTilzdHJ0b2woQnVmZmVyLCBOVUxMLCAyKTsKLQotICAgICAgICBY
RU5CVVNfU1RPUkUoRnJlZSwKLSAgICAgICAgICAgICAgICAgICAgICZQb2xsZXItPlN0b3JlSW50
ZXJmYWNlLAotICAgICAgICAgICAgICAgICAgICAgQnVmZmVyKTsKLSAgICB9IGVsc2UgewotICAg
ICAgICBQb2xsZXItPlNwbGl0ID0gRkFMU0U7Ci0gICAgfQotCi0gICAgSW5mbygiJXM6ICVzXG4i
LCBGcm9udGVuZEdldFBhdGgoRnJvbnRlbmQpLAotICAgICAgICAgKFBvbGxlci0+U3BsaXQpID8g
IlRSVUUiIDogIkZBTFNFIik7Ci19Ci0KLU5UU1RBVFVTCi1Qb2xsZXJJbml0aWFsaXplKAotICAg
IElOICBQWEVOVklGX0ZST05URU5EICAgIEZyb250ZW5kLAotICAgIE9VVCBQWEVOVklGX1BPTExF
UiAgICAgICpQb2xsZXIKLSAgICApCi17Ci0gICAgTE9ORyAgICAgICAgICAgICAgICAgICAgTWF4
UXVldWVzOwotICAgIExPTkcgICAgICAgICAgICAgICAgICAgIEluZGV4OwotICAgIE5UU1RBVFVT
ICAgICAgICAgICAgICAgIHN0YXR1czsKLQotICAgICpQb2xsZXIgPSBfX1BvbGxlckFsbG9jYXRl
KHNpemVvZiAoWEVOVklGX1BPTExFUikpOwotCi0gICAgc3RhdHVzID0gU1RBVFVTX05PX01FTU9S
WTsKLSAgICBpZiAoKlBvbGxlciA9PSBOVUxMKQotICAgICAgICBnb3RvIGZhaWwxOwotCi0gICAg
RmRvR2V0RXZ0Y2huSW50ZXJmYWNlKFBkb0dldEZkbyhGcm9udGVuZEdldFBkbyhGcm9udGVuZCkp
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAmKCpQb2xsZXIpLT5FdnRjaG5JbnRlcmZhY2Up
OwotCi0gICAgRmRvR2V0U3RvcmVJbnRlcmZhY2UoUGRvR2V0RmRvKEZyb250ZW5kR2V0UGRvKEZy
b250ZW5kKSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgJigqUG9sbGVyKS0+U3RvcmVJbnRl
cmZhY2UpOwotCi0gICAgRmRvR2V0RGVidWdJbnRlcmZhY2UoUGRvR2V0RmRvKEZyb250ZW5kR2V0
UGRvKEZyb250ZW5kKSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgJigqUG9sbGVyKS0+RGVi
dWdJbnRlcmZhY2UpOwotCi0gICAgKCpQb2xsZXIpLT5Gcm9udGVuZCA9IEZyb250ZW5kOwotCi0g
ICAgTWF4UXVldWVzID0gRnJvbnRlbmRHZXRNYXhRdWV1ZXMoRnJvbnRlbmQpOwotICAgICgqUG9s
bGVyKS0+SW5zdGFuY2UgPSBfX1BvbGxlckFsbG9jYXRlKHNpemVvZiAoUFhFTlZJRl9QT0xMRVJf
SU5TVEFOQ0UpICoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBN
YXhRdWV1ZXMpOwotCi0gICAgc3RhdHVzID0gU1RBVFVTX05PX01FTU9SWTsKLSAgICBpZiAoKCpQ
b2xsZXIpLT5JbnN0YW5jZSA9PSBOVUxMKQotICAgICAgICBnb3RvIGZhaWwyOwotCi0gICAgZm9y
IChJbmRleCA9IDA7IEluZGV4IDwgTWF4UXVldWVzOyBJbmRleCsrKSB7Ci0gICAgICAgIFBYRU5W
SUZfUE9MTEVSX0lOU1RBTkNFIEluc3RhbmNlOwotCi0gICAgICAgIHN0YXR1cyA9IFBvbGxlcklu
c3RhbmNlSW5pdGlhbGl6ZSgqUG9sbGVyLCBJbmRleCwgJkluc3RhbmNlKTsKLSAgICAgICAgaWYg
KCFOVF9TVUNDRVNTKHN0YXR1cykpCi0gICAgICAgICAgICBnb3RvIGZhaWwzOwotCi0gICAgICAg
ICgqUG9sbGVyKS0+SW5zdGFuY2VbSW5kZXhdID0gSW5zdGFuY2U7Ci0gICAgfQotCi0gICAgcmV0
dXJuIFNUQVRVU19TVUNDRVNTOwotCi1mYWlsMzoKLSAgICBFcnJvcigiZmFpbDNcbiIpOwotCi0g
ICAgd2hpbGUgKC0tSW5kZXggPj0gMCkKLSAgICB7Ci0gICAgICAgIFBYRU5WSUZfUE9MTEVSX0lO
U1RBTkNFIEluc3RhbmNlID0gKCpQb2xsZXIpLT5JbnN0YW5jZVtJbmRleF07Ci0KLSAgICAgICAg
KCpQb2xsZXIpLT5JbnN0YW5jZVtJbmRleF0gPSBOVUxMOwotICAgICAgICBQb2xsZXJJbnN0YW5j
ZVRlYXJkb3duKEluc3RhbmNlKTsKLSAgICB9Ci0KLSAgICBBU1NFUlQoSXNaZXJvTWVtb3J5KCgq
UG9sbGVyKS0+SW5zdGFuY2UsCi0gICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YgKFBYRU5W
SUZfUE9MTEVSX0lOU1RBTkNFKSAqIE1heFF1ZXVlcykpOwotICAgIF9fUG9sbGVyRnJlZSgoKlBv
bGxlciktPkluc3RhbmNlKTsKLSAgICAoKlBvbGxlciktPkluc3RhbmNlID0gTlVMTDsKLQotZmFp
bDI6Ci0gICAgRXJyb3IoImZhaWwyXG4iKTsKLQotICAgICgqUG9sbGVyKS0+RnJvbnRlbmQgPSBO
VUxMOwotCi0gICAgUnRsWmVyb01lbW9yeSgmKCpQb2xsZXIpLT5EZWJ1Z0ludGVyZmFjZSwKLSAg
ICAgICAgICAgICAgICAgIHNpemVvZiAoWEVOQlVTX0RFQlVHX0lOVEVSRkFDRSkpOwotCi0gICAg
UnRsWmVyb01lbW9yeSgmKCpQb2xsZXIpLT5TdG9yZUludGVyZmFjZSwKLSAgICAgICAgICAgICAg
ICAgIHNpemVvZiAoWEVOQlVTX1NUT1JFX0lOVEVSRkFDRSkpOwotCi0gICAgUnRsWmVyb01lbW9y
eSgmKCpQb2xsZXIpLT5FdnRjaG5JbnRlcmZhY2UsCi0gICAgICAgICAgICAgICAgICBzaXplb2Yg
KFhFTkJVU19FVlRDSE5fSU5URVJGQUNFKSk7Ci0KLWZhaWwxOgotICAgIEVycm9yKCJmYWlsMSAo
JTA4eClcbiIsIHN0YXR1cyk7Ci0KLSAgICByZXR1cm4gc3RhdHVzOwotfQotCi1OVFNUQVRVUwot
UG9sbGVyQ29ubmVjdCgKLSAgICBJTiAgUFhFTlZJRl9QT0xMRVIgIFBvbGxlcgotICAgICkKLXsK
LSAgICBQWEVOVklGX0ZST05URU5EICAgIEZyb250ZW5kOwotICAgIExPTkcgICAgICAgICAgICAg
ICAgTnVtUXVldWVzOwotICAgIExPTkcgICAgICAgICAgICAgICAgSW5kZXg7Ci0gICAgTlRTVEFU
VVMgICAgICAgICAgICBzdGF0dXM7Ci0KLSAgICBUcmFjZSgiPT09PT5cbiIpOwotCi0gICAgRnJv
bnRlbmQgPSBQb2xsZXItPkZyb250ZW5kOwotCi0gICAgc3RhdHVzID0gWEVOQlVTX0VWVENITihB
Y3F1aXJlLCAmUG9sbGVyLT5FdnRjaG5JbnRlcmZhY2UpOwotICAgIGlmICghTlRfU1VDQ0VTUyhz
dGF0dXMpKQotICAgICAgICBnb3RvIGZhaWwxOwotCi0gICAgc3RhdHVzID0gWEVOQlVTX1NUT1JF
KEFjcXVpcmUsICZQb2xsZXItPlN0b3JlSW50ZXJmYWNlKTsKLSAgICBpZiAoIU5UX1NVQ0NFU1Mo
c3RhdHVzKSkKLSAgICAgICAgZ290byBmYWlsMjsKLQotICAgIHN0YXR1cyA9IFhFTkJVU19ERUJV
RyhBY3F1aXJlLCAmUG9sbGVyLT5EZWJ1Z0ludGVyZmFjZSk7Ci0gICAgaWYgKCFOVF9TVUNDRVNT
KHN0YXR1cykpCi0gICAgICAgIGdvdG8gZmFpbDM7Ci0KLSAgICBQb2xsZXJTZXRTcGxpdChQb2xs
ZXIpOwotCi0gICAgTnVtUXVldWVzID0gRnJvbnRlbmRHZXROdW1RdWV1ZXMoRnJvbnRlbmQpOwot
Ci0gICAgZm9yIChJbmRleCA9IDA7IEluZGV4IDwgTnVtUXVldWVzOyBJbmRleCsrKSB7Ci0gICAg
ICAgIFBYRU5WSUZfUE9MTEVSX0lOU1RBTkNFIEluc3RhbmNlID0gUG9sbGVyLT5JbnN0YW5jZVtJ
bmRleF07Ci0KLSAgICAgICAgc3RhdHVzID0gUG9sbGVySW5zdGFuY2VDb25uZWN0KEluc3RhbmNl
KTsKLSAgICAgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCi0gICAgICAgICAgICBnb3RvIGZh
aWw0OwotICAgIH0KLQotICAgIHN0YXR1cyA9IFhFTkJVU19ERUJVRyhSZWdpc3RlciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgJlBvbGxlci0+RGVidWdJbnRlcmZhY2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgIF9fTU9EVUxFX18gInxQT0xMRVIiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICBQb2xsZXJEZWJ1Z0NhbGxiYWNrLAotICAgICAgICAgICAgICAgICAgICAgICAgICBQ
b2xsZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICZQb2xsZXItPkRlYnVnQ2FsbGJhY2sp
OwotICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQotICAgICAgICBnb3RvIGZhaWw1OwotCi0g
ICAgVHJhY2UoIjw9PT09XG4iKTsKLSAgICByZXR1cm4gU1RBVFVTX1NVQ0NFU1M7Ci0KLWZhaWw1
OgotICAgIEVycm9yKCJmYWlsNVxuIik7Ci0KLSAgICBJbmRleCA9IE51bVF1ZXVlczsKLQotZmFp
bDQ6Ci0gICAgRXJyb3IoImZhaWw0XG4iKTsKLQotICAgIHdoaWxlICgtLUluZGV4ID49IDApCi0g
ICAgewotICAgICAgICBQWEVOVklGX1BPTExFUl9JTlNUQU5DRSBJbnN0YW5jZSA9IFBvbGxlci0+
SW5zdGFuY2VbSW5kZXhdOwotCi0gICAgICAgIFBvbGxlckluc3RhbmNlRGlzY29ubmVjdChJbnN0
YW5jZSk7Ci0gICAgfQotCi0gICAgUG9sbGVyLT5TcGxpdCA9IEZBTFNFOwotCi0gICAgWEVOQlVT
X0RFQlVHKFJlbGVhc2UsICZQb2xsZXItPkRlYnVnSW50ZXJmYWNlKTsKLQotZmFpbDM6Ci0gICAg
RXJyb3IoImZhaWwzXG4iKTsKLQotICAgIFhFTkJVU19TVE9SRShSZWxlYXNlLCAmUG9sbGVyLT5T
dG9yZUludGVyZmFjZSk7Ci0KLWZhaWwyOgotICAgIEVycm9yKCJmYWlsMlxuIik7Ci0KLSAgICBY
RU5CVVNfRVZUQ0hOKFJlbGVhc2UsICZQb2xsZXItPkV2dGNobkludGVyZmFjZSk7Ci0KLWZhaWwx
OgotICAgIEVycm9yKCJmYWlsMSAoJTA4eClcbiIsIHN0YXR1cyk7Ci0KLSAgICByZXR1cm4gc3Rh
dHVzOwotfQotCi1OVFNUQVRVUwotUG9sbGVyU3RvcmVXcml0ZSgKLSAgICBJTiAgUFhFTlZJRl9Q
T0xMRVIgICAgICAgICAgICAgIFBvbGxlciwKLSAgICBJTiAgUFhFTkJVU19TVE9SRV9UUkFOU0FD
VElPTiAgIFRyYW5zYWN0aW9uCi0gICAgKQotewotICAgIFBYRU5WSUZfRlJPTlRFTkQgICAgICAg
ICAgICAgICAgRnJvbnRlbmQ7Ci0gICAgTE9ORyAgICAgICAgICAgICAgICAgICAgICAgICAgICBO
dW1RdWV1ZXM7Ci0gICAgTE9ORyAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbmRleDsKLSAg
ICBOVFNUQVRVUyAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1czsKLQotICAgIFRyYWNlKCI9
PT09PlxuIik7Ci0KLSAgICBGcm9udGVuZCA9IFBvbGxlci0+RnJvbnRlbmQ7Ci0KLSAgICBOdW1R
dWV1ZXMgPSBGcm9udGVuZEdldE51bVF1ZXVlcyhGcm9udGVuZCk7Ci0KLSAgICBmb3IgKEluZGV4
ID0gMDsgSW5kZXggPCBOdW1RdWV1ZXM7IEluZGV4KyspIHsKLSAgICAgICAgUFhFTlZJRl9QT0xM
RVJfSU5TVEFOQ0UgSW5zdGFuY2UgPSBQb2xsZXItPkluc3RhbmNlW0luZGV4XTsKLQotICAgICAg
ICBzdGF0dXMgPSBQb2xsZXJJbnN0YW5jZVN0b3JlV3JpdGUoSW5zdGFuY2UsIFRyYW5zYWN0aW9u
KTsKLSAgICAgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCi0gICAgICAgICAgICBnb3RvIGZh
aWwxOwotICAgIH0KLQotICAgIFRyYWNlKCI8PT09PVxuIik7Ci0KLSAgICByZXR1cm4gU1RBVFVT
X1NVQ0NFU1M7Ci0KLWZhaWwxOgotICAgIEVycm9yKCJmYWlsMSAoJTA4eClcbiIsIHN0YXR1cyk7
Ci0KLSAgICByZXR1cm4gc3RhdHVzOwotfQotCi1OVFNUQVRVUwotUG9sbGVyRW5hYmxlKAotICAg
IElOICBQWEVOVklGX1BPTExFUiAgUG9sbGVyCi0gICAgKQotewotICAgIFBYRU5WSUZfRlJPTlRF
TkQgICAgRnJvbnRlbmQ7Ci0gICAgTE9ORyAgICAgICAgICAgICAgICBOdW1RdWV1ZXM7Ci0gICAg
TE9ORyAgICAgICAgICAgICAgICBJbmRleDsKLSAgICBOVFNUQVRVUyAgICAgICAgICAgIHN0YXR1
czsKLQotICAgIFRyYWNlKCI9PT09PlxuIik7Ci0KLSAgICBGcm9udGVuZCA9IFBvbGxlci0+RnJv
bnRlbmQ7Ci0KLSAgICBOdW1RdWV1ZXMgPSBGcm9udGVuZEdldE51bVF1ZXVlcyhGcm9udGVuZCk7
Ci0KLSAgICBmb3IgKEluZGV4ID0gMDsgSW5kZXggPCBOdW1RdWV1ZXM7IEluZGV4KyspIHsKLSAg
ICAgICAgUFhFTlZJRl9QT0xMRVJfSU5TVEFOQ0UgSW5zdGFuY2UgPSBQb2xsZXItPkluc3RhbmNl
W0luZGV4XTsKLQotICAgICAgICBzdGF0dXMgPSBQb2xsZXJJbnN0YW5jZUVuYWJsZShJbnN0YW5j
ZSk7Ci0gICAgICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQotICAgICAgICAgICAgZ290byBm
YWlsMTsKLSAgICB9Ci0KLSAgICBUcmFjZSgiPD09PT1cbiIpOwotCi0gICAgcmV0dXJuIFNUQVRV
U19TVUNDRVNTOwotCi1mYWlsMToKLSAgICBFcnJvcigiZmFpbDEgKCUwOHgpXG4iLCBzdGF0dXMp
OwotCi0gICAgd2hpbGUgKC0tSW5kZXggPj0gMCkKLSAgICB7Ci0gICAgICAgIFBYRU5WSUZfUE9M
TEVSX0lOU1RBTkNFIEluc3RhbmNlID0gUG9sbGVyLT5JbnN0YW5jZVtJbmRleF07Ci0KLSAgICAg
ICAgUG9sbGVySW5zdGFuY2VEaXNhYmxlKEluc3RhbmNlKTsKLSAgICB9Ci0KLSAgICByZXR1cm4g
c3RhdHVzOwotfQotCi1OVFNUQVRVUwotUG9sbGVyU2VuZCgKLSAgICBJTiAgUFhFTlZJRl9QT0xM
RVIgICAgICAgICAgICAgIFBvbGxlciwKLSAgICBJTiAgVUxPTkcgICAgICAgICAgICAgICAgICAg
ICAgIEluZGV4LAotICAgIElOICBYRU5WSUZfUE9MTEVSX0VWRU5UX1RZUEUgICAgRXZlbnQKLSAg
ICApCi17Ci0gICAgUFhFTlZJRl9GUk9OVEVORCAgICAgICAgICAgICAgICBGcm9udGVuZDsKLSAg
ICBVTE9ORyAgICAgICAgICAgICAgICAgICAgICAgICAgIE51bVF1ZXVlczsKLSAgICBQWEVOVklG
X1BPTExFUl9JTlNUQU5DRSAgICAgICAgIEluc3RhbmNlOwotICAgIE5UU1RBVFVTICAgICAgICAg
ICAgICAgICAgICAgICAgc3RhdHVzOwotCi0gICAgRnJvbnRlbmQgPSBQb2xsZXItPkZyb250ZW5k
OwotCi0gICAgTnVtUXVldWVzID0gRnJvbnRlbmRHZXROdW1RdWV1ZXMoRnJvbnRlbmQpOwotCi0g
ICAgc3RhdHVzID0gU1RBVFVTX0lOVkFMSURfUEFSQU1FVEVSOwotICAgIGlmIChJbmRleCA+PSBO
dW1RdWV1ZXMpCi0gICAgICAgIGdvdG8gZmFpbDE7Ci0KLSAgICBJbnN0YW5jZSA9IFBvbGxlci0+
SW5zdGFuY2VbSW5kZXhdOwotCi0gICAgc3RhdHVzID0gUG9sbGVySW5zdGFuY2VTZW5kKEluc3Rh
bmNlLCBFdmVudCk7Ci0gICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCi0gICAgICAgIGdvdG8g
ZmFpbDI7Ci0KLSAgICByZXR1cm4gU1RBVFVTX1NVQ0NFU1M7Ci0KLWZhaWwyOgotICAgIEVycm9y
KCJmYWlsMlxuIik7Ci0KLWZhaWwxOgotICAgIEVycm9yKCJmYWlsMSAoJTA4eClcbiIsIHN0YXR1
cyk7Ci0KLSAgICByZXR1cm4gc3RhdHVzOwotfQotCi1OVFNUQVRVUwotUG9sbGVyVHJpZ2dlcigK
LSAgICBJTiAgUFhFTlZJRl9QT0xMRVIgICAgICAgICAgICAgIFBvbGxlciwKLSAgICBJTiAgVUxP
TkcgICAgICAgICAgICAgICAgICAgICAgIEluZGV4LAotICAgIElOICBYRU5WSUZfUE9MTEVSX0VW
RU5UX1RZUEUgICAgRXZlbnQKLSAgICApCi17Ci0gICAgUFhFTlZJRl9GUk9OVEVORCAgICAgICAg
ICAgICAgICBGcm9udGVuZDsKLSAgICBVTE9ORyAgICAgICAgICAgICAgICAgICAgICAgICAgIE51
bVF1ZXVlczsKLSAgICBQWEVOVklGX1BPTExFUl9JTlNUQU5DRSAgICAgICAgIEluc3RhbmNlOwot
ICAgIE5UU1RBVFVTICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzOwotCi0gICAgRnJvbnRl
bmQgPSBQb2xsZXItPkZyb250ZW5kOwotCi0gICAgTnVtUXVldWVzID0gRnJvbnRlbmRHZXROdW1R
dWV1ZXMoRnJvbnRlbmQpOwotCi0gICAgc3RhdHVzID0gU1RBVFVTX0lOVkFMSURfUEFSQU1FVEVS
OwotICAgIGlmIChJbmRleCA+PSBOdW1RdWV1ZXMpCi0gICAgICAgIGdvdG8gZmFpbDE7Ci0KLSAg
ICBJbnN0YW5jZSA9IFBvbGxlci0+SW5zdGFuY2VbSW5kZXhdOwotCi0gICAgc3RhdHVzID0gUG9s
bGVySW5zdGFuY2VUcmlnZ2VyKEluc3RhbmNlLCBFdmVudCk7Ci0gICAgaWYgKCFOVF9TVUNDRVNT
KHN0YXR1cykpCi0gICAgICAgIGdvdG8gZmFpbDI7Ci0KLSAgICByZXR1cm4gU1RBVFVTX1NVQ0NF
U1M7Ci0KLWZhaWwyOgotICAgIEVycm9yKCJmYWlsMlxuIik7Ci0KLWZhaWwxOgotICAgIEVycm9y
KCJmYWlsMSAoJTA4eClcbiIsIHN0YXR1cyk7Ci0KLSAgICByZXR1cm4gc3RhdHVzOwotfQotCi1W
T0lECi1Qb2xsZXJEaXNhYmxlKAotICAgIElOICBQWEVOVklGX1BPTExFUiAgUG9sbGVyCi0gICAg
KQotewotICAgIFBYRU5WSUZfRlJPTlRFTkQgICAgRnJvbnRlbmQ7Ci0gICAgTE9ORyAgICAgICAg
ICAgICAgICBOdW1RdWV1ZXM7Ci0gICAgTE9ORyAgICAgICAgICAgICAgICBJbmRleDsKLQotICAg
IFRyYWNlKCI9PT09PlxuIik7Ci0KLSAgICBGcm9udGVuZCA9IFBvbGxlci0+RnJvbnRlbmQ7Ci0K
LSAgICBOdW1RdWV1ZXMgPSBGcm9udGVuZEdldE51bVF1ZXVlcyhGcm9udGVuZCk7Ci0gICAgSW5k
ZXggPSBOdW1RdWV1ZXM7Ci0KLSAgICB3aGlsZSAoLS1JbmRleCA+PSAwKQotICAgIHsKLSAgICAg
ICAgUFhFTlZJRl9QT0xMRVJfSU5TVEFOQ0UgSW5zdGFuY2UgPSBQb2xsZXItPkluc3RhbmNlW0lu
ZGV4XTsKLQotICAgICAgICBQb2xsZXJJbnN0YW5jZURpc2FibGUoSW5zdGFuY2UpOwotICAgIH0K
LQotICAgIFRyYWNlKCI8PT09PVxuIik7Ci19Ci0KLVZPSUQKLVBvbGxlckRpc2Nvbm5lY3QoCi0g
ICAgSU4gIFBYRU5WSUZfUE9MTEVSICBQb2xsZXIKLSAgICApCi17Ci0gICAgUFhFTlZJRl9GUk9O
VEVORCAgICBGcm9udGVuZDsKLSAgICBMT05HICAgICAgICAgICAgICAgIE51bVF1ZXVlczsKLSAg
ICBMT05HICAgICAgICAgICAgICAgIEluZGV4OwotCi0gICAgVHJhY2UoIj09PT0+XG4iKTsKLQot
ICAgIEZyb250ZW5kID0gUG9sbGVyLT5Gcm9udGVuZDsKLQotICAgIFhFTkJVU19ERUJVRyhEZXJl
Z2lzdGVyLAotICAgICAgICAgICAgICAgICAmUG9sbGVyLT5EZWJ1Z0ludGVyZmFjZSwKLSAgICAg
ICAgICAgICAgICAgUG9sbGVyLT5EZWJ1Z0NhbGxiYWNrKTsKLSAgICBQb2xsZXItPkRlYnVnQ2Fs
bGJhY2sgPSBOVUxMOwotCi0gICAgTnVtUXVldWVzID0gRnJvbnRlbmRHZXROdW1RdWV1ZXMoRnJv
bnRlbmQpOwotICAgIEluZGV4ID0gTnVtUXVldWVzOwotCi0gICAgd2hpbGUgKC0tSW5kZXggPj0g
MCkKLSAgICB7Ci0gICAgICAgIFBYRU5WSUZfUE9MTEVSX0lOU1RBTkNFIEluc3RhbmNlID0gUG9s
bGVyLT5JbnN0YW5jZVtJbmRleF07Ci0KLSAgICAgICAgUG9sbGVySW5zdGFuY2VEaXNjb25uZWN0
KEluc3RhbmNlKTsKLSAgICB9Ci0KLSAgICBQb2xsZXItPlNwbGl0ID0gRkFMU0U7Ci0KLSAgICBY
RU5CVVNfREVCVUcoUmVsZWFzZSwgJlBvbGxlci0+RGVidWdJbnRlcmZhY2UpOwotCi0gICAgWEVO
QlVTX1NUT1JFKFJlbGVhc2UsICZQb2xsZXItPlN0b3JlSW50ZXJmYWNlKTsKLQotICAgIFhFTkJV
U19FVlRDSE4oUmVsZWFzZSwgJlBvbGxlci0+RXZ0Y2huSW50ZXJmYWNlKTsKLQotICAgIFRyYWNl
KCI8PT09PVxuIik7Ci19Ci0KLVZPSUQKLVBvbGxlclRlYXJkb3duKAotICAgIElOICBQWEVOVklG
X1BPTExFUiAgUG9sbGVyCi0gICAgKQotewotICAgIFBYRU5WSUZfRlJPTlRFTkQgICAgRnJvbnRl
bmQ7Ci0gICAgTE9ORyAgICAgICAgICAgICAgICBNYXhRdWV1ZXM7Ci0gICAgTE9ORyAgICAgICAg
ICAgICAgICBJbmRleDsKLQotICAgIEFTU0VSVDNVKEtlR2V0Q3VycmVudElycWwoKSwgPT0sIFBB
U1NJVkVfTEVWRUwpOwotCi0gICAgRnJvbnRlbmQgPSBQb2xsZXItPkZyb250ZW5kOwotCi0gICAg
TWF4UXVldWVzID0gRnJvbnRlbmRHZXRNYXhRdWV1ZXMoRnJvbnRlbmQpOwotICAgIEluZGV4ID0g
TWF4UXVldWVzOwotCi0gICAgd2hpbGUgKC0tSW5kZXggPj0gMCkKLSAgICB7Ci0gICAgICAgIFBY
RU5WSUZfUE9MTEVSX0lOU1RBTkNFIEluc3RhbmNlID0gUG9sbGVyLT5JbnN0YW5jZVtJbmRleF07
Ci0KLSAgICAgICAgUG9sbGVyLT5JbnN0YW5jZVtJbmRleF0gPSBOVUxMOwotICAgICAgICBQb2xs
ZXJJbnN0YW5jZVRlYXJkb3duKEluc3RhbmNlKTsKLSAgICB9Ci0KLSAgICBBU1NFUlQoSXNaZXJv
TWVtb3J5KFBvbGxlci0+SW5zdGFuY2UsCi0gICAgICAgICAgICAgICAgICAgICAgICBzaXplb2Yg
KFBYRU5WSUZfUE9MTEVSX0lOU1RBTkNFKSAqIE1heFF1ZXVlcykpOwotICAgIF9fUG9sbGVyRnJl
ZShQb2xsZXItPkluc3RhbmNlKTsKLSAgICBQb2xsZXItPkluc3RhbmNlID0gTlVMTDsKLQotICAg
IFBvbGxlci0+RnJvbnRlbmQgPSBOVUxMOwotCi0gICAgUnRsWmVyb01lbW9yeSgmUG9sbGVyLT5E
ZWJ1Z0ludGVyZmFjZSwKLSAgICAgICAgICAgICAgICAgIHNpemVvZiAoWEVOQlVTX0RFQlVHX0lO
VEVSRkFDRSkpOwotCi0gICAgUnRsWmVyb01lbW9yeSgmUG9sbGVyLT5TdG9yZUludGVyZmFjZSwK
LSAgICAgICAgICAgICAgICAgIHNpemVvZiAoWEVOQlVTX1NUT1JFX0lOVEVSRkFDRSkpOwotCi0g
ICAgUnRsWmVyb01lbW9yeSgmUG9sbGVyLT5FdnRjaG5JbnRlcmZhY2UsCi0gICAgICAgICAgICAg
ICAgICBzaXplb2YgKFhFTkJVU19FVlRDSE5fSU5URVJGQUNFKSk7Ci0KLSAgICBBU1NFUlQoSXNa
ZXJvTWVtb3J5KFBvbGxlciwgc2l6ZW9mIChYRU5WSUZfUE9MTEVSKSkpOwotICAgIF9fUG9sbGVy
RnJlZShQb2xsZXIpOwotfQpkaWZmIC0tZ2l0IGEvc3JjL3hlbnZpZi9wb2xsZXIuaCBiL3NyYy94
ZW52aWYvcG9sbGVyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGEyYjMyYTEuLjAw
MDAwMDAKLS0tIGEvc3JjL3hlbnZpZi9wb2xsZXIuaAorKysgL2Rldi9udWxsCkBAIC0xLDEwMCAr
MCwwIEBACi0vKiBDb3B5cmlnaHQgKGMpIENpdHJpeCBTeXN0ZW1zIEluYy4KLSAqIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3JtcywKLSAqIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQKLSAqIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6
Ci0gKgotICogKiAgIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUKLSAqICAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlCi0gKiAgICAgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAqICAgUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogICAgIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUKLSAqICAgICBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIKLSAq
ICAgICBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORAotICog
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywKLSAqIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GCi0gKiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBIT0xERVIgT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywKLSAqIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgotICogU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksCi0gKiBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcKLSAqIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKLSAqIFNVQ0gg
REFNQUdFLgotICovCi0KLSNpZm5kZWYgX1hFTlZJRl9QT0xMRVJfSAotI2RlZmluZSBfWEVOVklG
X1BPTExFUl9ICi0KLSNpbmNsdWRlIDxudGRkay5oPgotCi0jaW5jbHVkZSA8dmlmX2ludGVyZmFj
ZS5oPgotCi0jaW5jbHVkZSAiZnJvbnRlbmQuaCIKLQotdHlwZWRlZiBzdHJ1Y3QgX1hFTlZJRl9Q
T0xMRVIgWEVOVklGX1BPTExFUiwgKlBYRU5WSUZfUE9MTEVSOwotCi10eXBlZGVmIGVudW0gX1hF
TlZJRl9QT0xMRVJfRVZFTlRfVFlQRSB7Ci0gICAgWEVOVklGX1BPTExFUl9FVkVOVF9SRUNFSVZF
LAotICAgIFhFTlZJRl9QT0xMRVJfRVZFTlRfVFJBTlNNSVQsCi0gICAgWEVOVklGX1BPTExFUl9F
VkVOVF9UWVBFX0NPVU5UCi19IFhFTlZJRl9QT0xMRVJfRVZFTlRfVFlQRSwgKlBYRU5WSUZfUE9M
TEVSX0VWRU5UX1RZUEU7Ci0KLWV4dGVybiBOVFNUQVRVUwotUG9sbGVySW5pdGlhbGl6ZSgKLSAg
ICBJTiAgUFhFTlZJRl9GUk9OVEVORCAgICBGcm9udGVuZCwKLSAgICBPVVQgUFhFTlZJRl9QT0xM
RVIgICAgICAqUG9sbGVyCi0gICAgKTsKLQotZXh0ZXJuIE5UU1RBVFVTCi1Qb2xsZXJDb25uZWN0
KAotICAgIElOICBQWEVOVklGX1BPTExFUiAgUG9sbGVyCi0gICAgKTsKLQotZXh0ZXJuIE5UU1RB
VFVTCi1Qb2xsZXJTdG9yZVdyaXRlKAotICAgIElOICBQWEVOVklGX1BPTExFUiAgICAgICAgICAg
ICAgUG9sbGVyLAotICAgIElOICBQWEVOQlVTX1NUT1JFX1RSQU5TQUNUSU9OICAgVHJhbnNhY3Rp
b24KLSAgICApOwotCi1leHRlcm4gTlRTVEFUVVMKLVBvbGxlckVuYWJsZSgKLSAgICBJTiAgUFhF
TlZJRl9QT0xMRVIgIFBvbGxlcgotICAgICk7Ci0KLWV4dGVybiBOVFNUQVRVUwotUG9sbGVyU2Vu
ZCgKLSAgICBJTiAgUFhFTlZJRl9QT0xMRVIgICAgICAgICAgICAgIFBvbGxlciwKLSAgICBJTiAg
VUxPTkcgICAgICAgICAgICAgICAgICAgICAgIEluZGV4LAotICAgIElOICBYRU5WSUZfUE9MTEVS
X0VWRU5UX1RZUEUgICAgRXZlbnQKLSAgICApOwotCi1leHRlcm4gTlRTVEFUVVMKLVBvbGxlclRy
aWdnZXIoCi0gICAgSU4gIFBYRU5WSUZfUE9MTEVSICAgICAgICAgICAgICBQb2xsZXIsCi0gICAg
SU4gIFVMT05HICAgICAgICAgICAgICAgICAgICAgICBJbmRleCwKLSAgICBJTiAgWEVOVklGX1BP
TExFUl9FVkVOVF9UWVBFICAgIEV2ZW50Ci0gICAgKTsKLQotZXh0ZXJuIFZPSUQKLVBvbGxlckRp
c2FibGUoCi0gICAgSU4gIFBYRU5WSUZfUE9MTEVSICBQb2xsZXIKLSAgICApOwotCi1leHRlcm4g
Vk9JRAotUG9sbGVyRGlzY29ubmVjdCgKLSAgICBJTiAgUFhFTlZJRl9QT0xMRVIgIFBvbGxlcgot
ICAgICk7Ci0KLWV4dGVybiBWT0lECi1Qb2xsZXJUZWFyZG93bigKLSAgICBJTiAgUFhFTlZJRl9Q
T0xMRVIgIFBvbGxlcgotICAgICk7Ci0KLSNlbmRpZiAgLy8gX1hFTlZJRl9QT0xMRVJfSApkaWZm
IC0tZ2l0IGEvc3JjL3hlbnZpZi9yZWNlaXZlci5jIGIvc3JjL3hlbnZpZi9yZWNlaXZlci5jCmlu
ZGV4IDRlODA0NmIuLjNlZDVlZTggMTAwNjQ0Ci0tLSBhL3NyYy94ZW52aWYvcmVjZWl2ZXIuYwor
KysgYi9zcmMveGVudmlmL3JlY2VpdmVyLmMKQEAgLTQxLDYgKzQxLDcgQEAKICNpbmNsdWRlIDxz
dG9yZV9pbnRlcmZhY2UuaD4KICNpbmNsdWRlIDxjYWNoZV9pbnRlcmZhY2UuaD4KICNpbmNsdWRl
IDxnbnR0YWJfaW50ZXJmYWNlLmg+CisjaW5jbHVkZSA8ZXZ0Y2huX2ludGVyZmFjZS5oPgogCiAj
aW5jbHVkZSAicGRvLmgiCiAjaW5jbHVkZSAicmVnaXN0cnkuaCIKQEAgLTg3LDYgKzg4LDEyIEBA
IHR5cGVkZWYgc3RydWN0IF9YRU5WSUZfUkVDRUlWRVJfUklORyB7CiAgICAgbmV0aWZfcnhfZnJv
bnRfcmluZ190ICAgICAgIEZyb250OwogICAgIG5ldGlmX3J4X3NyaW5nX3QgICAgICAgICAgICAq
U2hhcmVkOwogICAgIFBYRU5CVVNfR05UVEFCX0VOVFJZICAgICAgICBFbnRyeTsKKyAgICBQWEVO
QlVTX0VWVENITl9DSEFOTkVMICAgICAgQ2hhbm5lbDsKKyAgICBLRFBDICAgICAgICAgICAgICAg
ICAgICAgICAgRHBjOworICAgIFVMT05HICAgICAgICAgICAgICAgICAgICAgICBEcGNzOworICAg
IEtUSU1FUiAgICAgICAgICAgICAgICAgICAgICBUaW1lcjsKKyAgICBLRFBDICAgICAgICAgICAg
ICAgICAgICAgICAgVGltZXJEcGM7CisgICAgVUxPTkcgICAgICAgICAgICAgICAgICAgICAgIEV2
ZW50czsKICAgICBQWEVOVklGX1JFQ0VJVkVSX0ZSQUdNRU5UICAgUGVuZGluZ1tYRU5WSUZfUkVD
RUlWRVJfTUFYSU1VTV9GUkFHTUVOVF9JRCArIDFdOwogICAgIFVMT05HICAgICAgICAgICAgICAg
ICAgICAgICBSZXF1ZXN0c1Bvc3RlZDsKICAgICBVTE9ORyAgICAgICAgICAgICAgICAgICAgICAg
UmVxdWVzdHNQdXNoZWQ7CkBAIC05OCwxMCArMTA1LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgX1hFTlZJ
Rl9SRUNFSVZFUl9SSU5HIHsKICAgICBVTE9ORyAgICAgICAgICAgICAgICAgICAgICAgQmFja2Zp
bGxTaXplOwogICAgIFBYRU5CVVNfREVCVUdfQ0FMTEJBQ0sgICAgICBEZWJ1Z0NhbGxiYWNrOwog
ICAgIFBYRU5WSUZfVEhSRUFEICAgICAgICAgICAgICBXYXRjaGRvZ1RocmVhZDsKLSAgICBQTElT
VF9FTlRSWSAgICAgICAgICAgICAgICAgUGFja2V0UXVldWU7Ci0gICAgS0RQQyAgICAgICAgICAg
ICAgICAgICAgICAgIERwYzsKLSAgICBVTE9ORyAgICAgICAgICAgICAgICAgICAgICAgRHBjczsK
LSAgICBMSVNUX0VOVFJZICAgICAgICAgICAgICAgICAgUGFja2V0Q29tcGxldGU7CisgICAgTElT
VF9FTlRSWSAgICAgICAgICAgICAgICAgIFBhY2tldExpc3Q7CiAgICAgWEVOVklGX1JFQ0VJVkVS
X0hBU0ggICAgICAgIEhhc2g7CiB9IFhFTlZJRl9SRUNFSVZFUl9SSU5HLCAqUFhFTlZJRl9SRUNF
SVZFUl9SSU5HOwogCkBAIC0xMjQsNiArMTI4LDcgQEAgc3RydWN0IF9YRU5WSUZfUkVDRUlWRVIg
ewogICAgIFBYRU5WSUZfRlJPTlRFTkQgICAgICAgICAgICAgICAgRnJvbnRlbmQ7CiAgICAgWEVO
QlVTX0NBQ0hFX0lOVEVSRkFDRSAgICAgICAgICBDYWNoZUludGVyZmFjZTsKICAgICBYRU5CVVNf
R05UVEFCX0lOVEVSRkFDRSAgICAgICAgIEdudHRhYkludGVyZmFjZTsKKyAgICBYRU5CVVNfRVZU
Q0hOX0lOVEVSRkFDRSAgICAgICAgIEV2dGNobkludGVyZmFjZTsKICAgICBQWEVOVklGX1JFQ0VJ
VkVSX1JJTkcgICAgICAgICAgICpSaW5nOwogICAgIExPTkcgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgTG9hbmVkOwogICAgIExPTkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJu
ZWQ7CkBAIC05MDgsMjIgKzkxMywxMCBAQCBmYWlsMToKIH0KIAogc3RhdGljIFZPSUQKLVJlY2Vp
dmVyUmluZ0NvbXBsZXRlUGFja2V0KAotICAgIElOICBQWEVOVklGX1JFQ0VJVkVSX1JJTkcgICBS
aW5nLAotICAgIElOICBQWEVOVklGX1JFQ0VJVkVSX1BBQ0tFVCBQYWNrZXQKLSAgICApCi17Ci0g
ICAgUmVjZWl2ZXJSaW5nUHJvY2Vzc1RhZyhSaW5nLCBQYWNrZXQpOwotICAgIFJlY2VpdmVyUmlu
Z1Byb2Nlc3NDaGVja3N1bShSaW5nLCBQYWNrZXQpOwotCi0gICAgQVNTRVJUKElzWmVyb01lbW9y
eSgmUGFja2V0LT5MaXN0RW50cnksIHNpemVvZiAoTElTVF9FTlRSWSkpKTsKLSAgICBJbnNlcnRU
YWlsTGlzdCgmUmluZy0+UGFja2V0Q29tcGxldGUsICZQYWNrZXQtPkxpc3RFbnRyeSk7Ci19Ci0K
LXN0YXRpYyBWT0lECiBSZWNlaXZlclJpbmdQcm9jZXNzTGFyZ2VQYWNrZXQoCiAgICAgSU4gIFBY
RU5WSUZfUkVDRUlWRVJfUklORyAgIFJpbmcsCi0gICAgSU4gIFBYRU5WSUZfUkVDRUlWRVJfUEFD
S0VUIFBhY2tldAorICAgIElOICBQWEVOVklGX1JFQ0VJVkVSX1BBQ0tFVCBQYWNrZXQsCisgICAg
T1VUIFBMSVNUX0VOVFJZICAgICAgICAgICAgIExpc3QKICAgICApCiB7CiAgICAgUFhFTlZJRl9S
RUNFSVZFUiAgICAgICAgICAgIFJlY2VpdmVyOwpAQCAtMTAxMSw3ICsxMDA0LDggQEAgUmVjZWl2
ZXJSaW5nUHJvY2Vzc0xhcmdlUGFja2V0KAogICAgICAgICBBU1NFUlQzVShMZW5ndGgsID49LCBT
ZWdtZW50U2l6ZSk7CiAgICAgICAgIExlbmd0aCAtPSBTZWdtZW50U2l6ZTsKIAotICAgICAgICBS
ZWNlaXZlclJpbmdDb21wbGV0ZVBhY2tldChSaW5nLCBTZWdtZW50KTsKKyAgICAgICAgQVNTRVJU
KElzWmVyb01lbW9yeSgmU2VnbWVudC0+TGlzdEVudHJ5LCBzaXplb2YgKExJU1RfRU5UUlkpKSk7
CisgICAgICAgIEluc2VydFRhaWxMaXN0KExpc3QsICZTZWdtZW50LT5MaXN0RW50cnkpOwogCiAg
ICAgICAgIGlmIChPZmZsb2FkKSB7CiAgICAgICAgICAgICBBU1NFUlQoUmluZy0+T2ZmbG9hZE9w
dGlvbnMuTmVlZExhcmdlUGFja2V0U3BsaXQgIT0gMCk7CkBAIC0xMDYwLDcgKzEwNTQsOCBAQCBS
ZWNlaXZlclJpbmdQcm9jZXNzTGFyZ2VQYWNrZXQoCiAgICAgICAgIGlmIChSZWNlaXZlci0+QWx3
YXlzUHVsbHVwICE9IDApCiAgICAgICAgICAgICBfX1JlY2VpdmVyUmluZ1B1bGx1cFBhY2tldChS
aW5nLCBQYWNrZXQpOwogCi0gICAgICAgIFJlY2VpdmVyUmluZ0NvbXBsZXRlUGFja2V0KFJpbmcs
IFBhY2tldCk7CisgICAgICAgIEFTU0VSVChJc1plcm9NZW1vcnkoJlBhY2tldC0+TGlzdEVudHJ5
LCBzaXplb2YgKExJU1RfRU5UUlkpKSk7CisgICAgICAgIEluc2VydFRhaWxMaXN0KExpc3QsICZQ
YWNrZXQtPkxpc3RFbnRyeSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgX19SZWNlaXZlclJpbmdQ
dXRQYWNrZXQoUmluZywgUGFja2V0LCBUUlVFKTsKICAgICB9CkBAIC0xMDk3LDcgKzEwOTIsOCBA
QCBmYWlsMToKIHN0YXRpYyBWT0lECiBSZWNlaXZlclJpbmdQcm9jZXNzU3RhbmRhcmRQYWNrZXQo
CiAgICAgSU4gIFBYRU5WSUZfUkVDRUlWRVJfUklORyAgIFJpbmcsCi0gICAgSU4gIFBYRU5WSUZf
UkVDRUlWRVJfUEFDS0VUIFBhY2tldAorICAgIElOICBQWEVOVklGX1JFQ0VJVkVSX1BBQ0tFVCBQ
YWNrZXQsCisgICAgT1VUIFBMSVNUX0VOVFJZICAgICAgICAgICAgIExpc3QKICAgICApCiB7CiAg
ICAgUFhFTlZJRl9SRUNFSVZFUiAgICAgICAgICAgIFJlY2VpdmVyOwpAQCAtMTE2Nyw3ICsxMTYz
LDkgQEAgUmVjZWl2ZXJSaW5nUHJvY2Vzc1N0YW5kYXJkUGFja2V0KAogICAgICAgICBQYWNrZXQt
Pk1kbC5OZXh0ID0gTWRsOwogICAgIH0KIAotICAgIFJlY2VpdmVyUmluZ0NvbXBsZXRlUGFja2V0
KFJpbmcsIFBhY2tldCk7CisgICAgQVNTRVJUKElzWmVyb01lbW9yeSgmUGFja2V0LT5MaXN0RW50
cnksIHNpemVvZiAoTElTVF9FTlRSWSkpKTsKKyAgICBJbnNlcnRUYWlsTGlzdChMaXN0LCAmUGFj
a2V0LT5MaXN0RW50cnkpOworCiAgICAgcmV0dXJuOwogCiBmYWlsMjoKQEAgLTEyMDAsNyArMTE5
OCw4IEBAIGZhaWwxOgogc3RhdGljIFZPSUQKIFJlY2VpdmVyUmluZ1Byb2Nlc3NQYWNrZXQoCiAg
ICAgSU4gIFBYRU5WSUZfUkVDRUlWRVJfUklORyAgICAgICBSaW5nLAotICAgIElOICBQWEVOVklG
X1JFQ0VJVkVSX1BBQ0tFVCAgICAgUGFja2V0CisgICAgSU4gIFBYRU5WSUZfUkVDRUlWRVJfUEFD
S0VUICAgICBQYWNrZXQsCisgICAgT1VUIFBMSVNUX0VOVFJZICAgICAgICAgICAgICAgICBMaXN0
CiAgICAgKQogewogICAgIFBYRU5WSUZfUkVDRUlWRVIgICAgICAgICAgICAgICAgUmVjZWl2ZXI7
CkBAIC0xMjg2LDkgKzEyODUsOSBAQCBSZWNlaXZlclJpbmdQcm9jZXNzUGFja2V0KAogICAgICAg
ICBnb3RvIGZhaWwzOwogCiAgICAgaWYgKFBhY2tldC0+TWF4aW11bVNlZ21lbnRTaXplICE9IDAp
Ci0gICAgICAgIFJlY2VpdmVyUmluZ1Byb2Nlc3NMYXJnZVBhY2tldChSaW5nLCBQYWNrZXQpOwor
ICAgICAgICBSZWNlaXZlclJpbmdQcm9jZXNzTGFyZ2VQYWNrZXQoUmluZywgUGFja2V0LCBMaXN0
KTsKICAgICBlbHNlCi0gICAgICAgIFJlY2VpdmVyUmluZ1Byb2Nlc3NTdGFuZGFyZFBhY2tldChS
aW5nLCBQYWNrZXQpOworICAgICAgICBSZWNlaXZlclJpbmdQcm9jZXNzU3RhbmRhcmRQYWNrZXQo
UmluZywgUGFja2V0LCBMaXN0KTsKIAogICAgIHJldHVybjsKIApAQCAtMTMyMSw4ICsxMzIwLDYz
IEBAIGZhaWwxOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEpOwogfQogCitzdGF0
aWMgVk9JRAorUmVjZWl2ZXJSaW5nUHJvY2Vzc1BhY2tldHMoCisgICAgSU4gICAgICBQWEVOVklG
X1JFQ0VJVkVSX1JJTkcgICBSaW5nLAorICAgIE9VVCAgICAgUExJU1RfRU5UUlkgICAgICAgICAg
ICAgTGlzdCwKKyAgICBPVVQgICAgIFBVTE9ORyAgICAgICAgICAgICAgICAgIENvdW50CisgICAg
KQoreworICAgIFBMSVNUX0VOVFJZICAgICAgICAgICAgICAgICAgICAgTGlzdEVudHJ5OworCisg
ICAgd2hpbGUgKCFJc0xpc3RFbXB0eSgmUmluZy0+UGFja2V0TGlzdCkpIHsKKyAgICAgICAgUFhF
TlZJRl9SRUNFSVZFUl9QQUNLRVQgUGFja2V0OworCisgICAgICAgIExpc3RFbnRyeSA9IFJlbW92
ZUhlYWRMaXN0KCZSaW5nLT5QYWNrZXRMaXN0KTsKKyAgICAgICAgQVNTRVJUM1AoTGlzdEVudHJ5
LCAhPSwgJlJpbmctPlBhY2tldExpc3QpOworCisgICAgICAgIFJ0bFplcm9NZW1vcnkoTGlzdEVu
dHJ5LCBzaXplb2YgKExJU1RfRU5UUlkpKTsKKworICAgICAgICBQYWNrZXQgPSBDT05UQUlOSU5H
X1JFQ09SRChMaXN0RW50cnksIFhFTlZJRl9SRUNFSVZFUl9QQUNLRVQsIExpc3RFbnRyeSk7Cisg
ICAgICAgIFJlY2VpdmVyUmluZ1Byb2Nlc3NQYWNrZXQoUmluZywgUGFja2V0LCBMaXN0KTsKKyAg
ICB9CisKKyAgICBmb3IgKExpc3RFbnRyeSA9IExpc3QtPkZsaW5rOworICAgICAgICAgTGlzdEVu
dHJ5ICE9IExpc3Q7CisgICAgICAgICBMaXN0RW50cnkgPSBMaXN0RW50cnktPkZsaW5rKSB7Cisg
ICAgICAgIFBYRU5WSUZfUkVDRUlWRVJfUEFDS0VUIFBhY2tldDsKKworICAgICAgICBQYWNrZXQg
PSBDT05UQUlOSU5HX1JFQ09SRChMaXN0RW50cnksIFhFTlZJRl9SRUNFSVZFUl9QQUNLRVQsIExp
c3RFbnRyeSk7CisKKyAgICAgICAgUmVjZWl2ZXJSaW5nUHJvY2Vzc1RhZyhSaW5nLCBQYWNrZXQp
OworICAgICAgICBSZWNlaXZlclJpbmdQcm9jZXNzQ2hlY2tzdW0oUmluZywgUGFja2V0KTsKKwor
ICAgICAgICAoKkNvdW50KSsrOworICAgIH0KK30KKworc3RhdGljIEZPUkNFSU5MSU5FIFZPSUQK
K19fZHJ2X3JlcXVpcmVzSVJRTChESVNQQVRDSF9MRVZFTCkKK19fUmVjZWl2ZXJSaW5nQWNxdWly
ZUxvY2soCisgICAgSU4gIFBYRU5WSUZfUkVDRUlWRVJfUklORyAgIFJpbmcKKyAgICApCit7Cisg
ICAgQVNTRVJUM1UoS2VHZXRDdXJyZW50SXJxbCgpLCA9PSwgRElTUEFUQ0hfTEVWRUwpOworCisg
ICAgS2VBY3F1aXJlU3BpbkxvY2tBdERwY0xldmVsKCZSaW5nLT5Mb2NrKTsKK30KKworc3RhdGlj
IERFQ0xTUEVDX05PSU5MSU5FIFZPSUQKK1JlY2VpdmVyUmluZ0FjcXVpcmVMb2NrKAorICAgIElO
ICBQWEVOVklGX1JFQ0VJVkVSX1JJTkcgICBSaW5nCisgICAgKQoreworICAgIF9fUmVjZWl2ZXJS
aW5nQWNxdWlyZUxvY2soUmluZyk7Cit9CisKIHN0YXRpYyBGT1JDRUlOTElORSBWT0lECi1fX1Jl
Y2VpdmVyUmluZ1N3aXp6bGUoCitfX2Rydl9yZXF1aXJlc0lSUUwoRElTUEFUQ0hfTEVWRUwpCitf
X1JlY2VpdmVyUmluZ1JlbGVhc2VMb2NrKAogICAgIElOICBQWEVOVklGX1JFQ0VJVkVSX1JJTkcg
ICBSaW5nCiAgICAgKQogewpAQCAtMTMzMCw0NCArMTM4NCwzMyBAQCBfX1JlY2VpdmVyUmluZ1N3
aXp6bGUoCiAgICAgUFhFTlZJRl9GUk9OVEVORCAgICAgICAgICAgIEZyb250ZW5kOwogICAgIFBY
RU5WSUZfVklGX0NPTlRFWFQgICAgICAgICBDb250ZXh0OwogICAgIExJU1RfRU5UUlkgICAgICAg
ICAgICAgICAgICBMaXN0OwotICAgIFBMSVNUX0VOVFJZICAgICAgICAgICAgICAgICBMaXN0RW50
cnk7CisgICAgVUxPTkcgICAgICAgICAgICAgICAgICAgICAgIENvdW50OworICAgIEJPT0xFQU4g
ICAgICAgICAgICAgICAgICAgICBNb3JlOworCisgICAgQVNTRVJUM1UoS2VHZXRDdXJyZW50SXJx
bCgpLCA9PSwgRElTUEFUQ0hfTEVWRUwpOwogCiAgICAgUmVjZWl2ZXIgPSBSaW5nLT5SZWNlaXZl
cjsKICAgICBGcm9udGVuZCA9IFJlY2VpdmVyLT5Gcm9udGVuZDsKICAgICBDb250ZXh0ID0gUGRv
R2V0VmlmQ29udGV4dChGcm9udGVuZEdldFBkbyhGcm9udGVuZCkpOwogCiAgICAgSW5pdGlhbGl6
ZUxpc3RIZWFkKCZMaXN0KTsKKyAgICBDb3VudCA9IDA7CiAKLSAgICBMaXN0RW50cnkgPSBJbnRl
cmxvY2tlZEV4Y2hhbmdlUG9pbnRlcigmUmluZy0+UGFja2V0UXVldWUsIE5VTEwpOwotCi0gICAg
Ly8gUGFja2V0cyBhcmUgaGVsZCBpbiB0aGUgcXVldWUgaW4gcmV2ZXJzZSBvcmRlciBzbyB0aGF0
IHRoZSBtb3N0Ci0gICAgLy8gcmVjZW50IGlzIGFsd2F5cyBoZWFkIG9mIHRoZSBsaXN0LiBUaGlz
IGlzIG5lY2Vzc2FyeSB0byBhbGxvdwotICAgIC8vIGFkZGl0aW9uIHRvIHRoZSBsaXN0IHRvIGJl
IGRvbmUgYXRvbWljYWxseS4KLQotICAgIHdoaWxlIChMaXN0RW50cnkgIT0gTlVMTCkgewotICAg
ICAgICBQTElTVF9FTlRSWSBOZXh0RW50cnk7Ci0KLSAgICAgICAgTmV4dEVudHJ5ID0gTGlzdEVu
dHJ5LT5CbGluazsKLSAgICAgICAgTGlzdEVudHJ5LT5GbGluayA9IExpc3RFbnRyeS0+Qmxpbmsg
PSBMaXN0RW50cnk7CisgICAgUmVjZWl2ZXJSaW5nUHJvY2Vzc1BhY2tldHMoUmluZywgJkxpc3Qs
ICZDb3VudCk7CisgICAgQVNTRVJUKEVRVUlWKElzTGlzdEVtcHR5KCZMaXN0KSwgQ291bnQgPT0g
MCkpOworICAgIEFTU0VSVChJc0xpc3RFbXB0eSgmUmluZy0+UGFja2V0TGlzdCkpOwogCi0gICAg
ICAgIEluc2VydEhlYWRMaXN0KCZMaXN0LCBMaXN0RW50cnkpOworICAgIC8vIFdlIG5lZWQgdG8g
YnVtcCBMb2FuZWQgYmVmb3JlIGRyb3BwaW5nIHRoZSBsb2NrIHRvIGF2b2lkIFZpZkRpc2FibGUo
KQorICAgIC8vIHJldHVybmluZyBwcmVtYXR1cmVseS4KKyAgICBfX0ludGVybG9ja2VkQWRkKCZS
ZWNlaXZlci0+TG9hbmVkLCBDb3VudCk7CiAKLSAgICAgICAgTGlzdEVudHJ5ID0gTmV4dEVudHJ5
OwotICAgIH0KLQotICAgIHdoaWxlICghSXNMaXN0RW1wdHkoJkxpc3QpKSB7Ci0gICAgICAgIFBY
RU5WSUZfUkVDRUlWRVJfUEFDS0VUIFBhY2tldDsKLQotICAgICAgICBMaXN0RW50cnkgPSBSZW1v
dmVIZWFkTGlzdCgmTGlzdCk7Ci0gICAgICAgIEFTU0VSVDNQKExpc3RFbnRyeSwgIT0sICZMaXN0
KTsKKyNwcmFnbWEgcHJlZmFzdChkaXNhYmxlOjI2MTEwKQorICAgIEtlUmVsZWFzZVNwaW5Mb2Nr
RnJvbURwY0xldmVsKCZSaW5nLT5Mb2NrKTsKIAotICAgICAgICBSdGxaZXJvTWVtb3J5KExpc3RF
bnRyeSwgc2l6ZW9mIChMSVNUX0VOVFJZKSk7CisgICAgTW9yZSA9ICFJc0xpc3RFbXB0eSgmTGlz
dCkgPyBUUlVFIDogRkFMU0U7CiAKLSAgICAgICAgUGFja2V0ID0gQ09OVEFJTklOR19SRUNPUkQo
TGlzdEVudHJ5LCBYRU5WSUZfUkVDRUlWRVJfUEFDS0VULCBMaXN0RW50cnkpOwotICAgICAgICBS
ZWNlaXZlclJpbmdQcm9jZXNzUGFja2V0KFJpbmcsIFBhY2tldCk7Ci0gICAgfQotCi0gICAgd2hp
bGUgKCFJc0xpc3RFbXB0eSgmUmluZy0+UGFja2V0Q29tcGxldGUpKSB7CisgICAgd2hpbGUgKE1v
cmUpIHsKKyAgICAgICAgUExJU1RfRU5UUlkgICAgICAgICAgICAgTGlzdEVudHJ5OwogICAgICAg
ICBQWEVOVklGX1JFQ0VJVkVSX1BBQ0tFVCBQYWNrZXQ7CiAgICAgICAgIFBYRU5WSUZfUEFDS0VU
X0lORk8gICAgIEluZm87CiAgICAgICAgIFBVQ0hBUiAgICAgICAgICAgICAgICAgIEJhc2VWYTsK
QEAgLTEzNzUsMTEgKzE0MTgsMTQgQEAgX19SZWNlaXZlclJpbmdTd2l6emxlKAogICAgICAgICBQ
RVRIRVJORVRfQUREUkVTUyAgICAgICBEZXN0aW5hdGlvbkFkZHJlc3M7CiAgICAgICAgIEVUSEVS
TkVUX0FERFJFU1NfVFlQRSAgIFR5cGU7CiAKLSAgICAgICAgTGlzdEVudHJ5ID0gUmVtb3ZlSGVh
ZExpc3QoJlJpbmctPlBhY2tldENvbXBsZXRlKTsKLSAgICAgICAgQVNTRVJUM1AoTGlzdEVudHJ5
LCAhPSwgJlJpbmctPlBhY2tldENvbXBsZXRlKTsKKyAgICAgICAgTGlzdEVudHJ5ID0gUmVtb3Zl
SGVhZExpc3QoJkxpc3QpOworICAgICAgICBBU1NFUlQzUChMaXN0RW50cnksICE9LCAmTGlzdCk7
CiAKICAgICAgICAgUnRsWmVyb01lbW9yeShMaXN0RW50cnksIHNpemVvZiAoTElTVF9FTlRSWSkp
OwogCisgICAgICAgIEFTU0VSVChNb3JlKTsKKyAgICAgICAgTW9yZSA9ICFJc0xpc3RFbXB0eSgm
TGlzdCkgPyBUUlVFIDogRkFMU0U7CisKICAgICAgICAgUGFja2V0ID0gQ09OVEFJTklOR19SRUNP
UkQoTGlzdEVudHJ5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYRU5WSUZf
UkVDRUlWRVJfUEFDS0VULAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0
RW50cnkpOwpAQCAtMTQ2OCw1NyArMTUxNCw1NSBAQCBfX1JlY2VpdmVyUmluZ1N3aXp6bGUoCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYRU5WSUZfUkVDRUlWRVJfVURQ
X1BBQ0tFVFMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxKTsKIAot
ICAgICAgICBpZiAoUGFja2V0LT5NYXhpbXVtU2VnbWVudFNpemUgIT0gMCkKKyAgICAgICBpZiAo
UGFja2V0LT5NYXhpbXVtU2VnbWVudFNpemUgIT0gMCkKICAgICAgICAgICAgIEZyb250ZW5kSW5j
cmVtZW50U3RhdGlzdGljKEZyb250ZW5kLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgWEVOVklGX1JFQ0VJVkVSX0dTT19QQUNLRVRTLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgMSk7CiAKLSAgICAgICAgaWYgKFBhY2tldC0+RmxhZ3MuSXBD
aGVja3N1bVN1Y2NlZWRlZCAhPSAwKQotICAgICAgICAgICAgRnJvbnRlbmRJbmNyZW1lbnRTdGF0
aXN0aWMoRnJvbnRlbmQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBY
RU5WSUZfUkVDRUlWRVJfSVBWNF9DSEVDS1NVTV9TVUNDRUVERUQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAxKTsKLQotICAgICAgICBpZiAoUGFja2V0LT5GbGFncy5J
cENoZWNrc3VtRmFpbGVkICE9IDApCi0gICAgICAgICAgICBGcm9udGVuZEluY3JlbWVudFN0YXRp
c3RpYyhGcm9udGVuZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhF
TlZJRl9SRUNFSVZFUl9JUFY0X0NIRUNLU1VNX0ZBSUxFRCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDEpOwotCi0gICAgICAgIGlmIChQYWNrZXQtPkZsYWdzLklwQ2hl
Y2tzdW1Ob3RWYWxpZGF0ZWQgIT0gMCkKLSAgICAgICAgICAgIEZyb250ZW5kSW5jcmVtZW50U3Rh
dGlzdGljKEZyb250ZW5kLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
WEVOVklGX1JFQ0VJVkVSX0lQVjRfQ0hFQ0tTVU1fTk9UX1ZBTElEQVRFRCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEpOwotCi0gICAgICAgIGlmIChQYWNrZXQtPkZs
YWdzLlRjcENoZWNrc3VtU3VjY2VlZGVkICE9IDApCi0gICAgICAgICAgICBGcm9udGVuZEluY3Jl
bWVudFN0YXRpc3RpYyhGcm9udGVuZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFhFTlZJRl9SRUNFSVZFUl9UQ1BfQ0hFQ0tTVU1fU1VDQ0VFREVELAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSk7Ci0KLSAgICAgICAgaWYgKFBhY2tldC0+
RmxhZ3MuVGNwQ2hlY2tzdW1GYWlsZWQgIT0gMCkKLSAgICAgICAgICAgIEZyb250ZW5kSW5jcmVt
ZW50U3RhdGlzdGljKEZyb250ZW5kLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgWEVOVklGX1JFQ0VJVkVSX1RDUF9DSEVDS1NVTV9GQUlMRUQsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAxKTsKLQotICAgICAgICBpZiAoUGFja2V0LT5GbGFn
cy5UY3BDaGVja3N1bU5vdFZhbGlkYXRlZCAhPSAwKQotICAgICAgICAgICAgRnJvbnRlbmRJbmNy
ZW1lbnRTdGF0aXN0aWMoRnJvbnRlbmQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBYRU5WSUZfUkVDRUlWRVJfVENQX0NIRUNLU1VNX05PVF9WQUxJREFURUQsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxKTsKLQotICAgICAgICBpZiAoUGFj
a2V0LT5GbGFncy5VZHBDaGVja3N1bVN1Y2NlZWRlZCAhPSAwKQotICAgICAgICAgICAgRnJvbnRl
bmRJbmNyZW1lbnRTdGF0aXN0aWMoRnJvbnRlbmQsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBYRU5WSUZfUkVDRUlWRVJfVURQX0NIRUNLU1VNX1NVQ0NFRURFRCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEpOwotCi0gICAgICAgIGlmIChQ
YWNrZXQtPkZsYWdzLlVkcENoZWNrc3VtRmFpbGVkICE9IDApCi0gICAgICAgICAgICBGcm9udGVu
ZEluY3JlbWVudFN0YXRpc3RpYyhGcm9udGVuZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFhFTlZJRl9SRUNFSVZFUl9VRFBfQ0hFQ0tTVU1fRkFJTEVELAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSk7Ci0KLSAgICAgICAgaWYgKFBhY2tl
dC0+RmxhZ3MuVWRwQ2hlY2tzdW1Ob3RWYWxpZGF0ZWQgIT0gMCkKLSAgICAgICAgICAgIEZyb250
ZW5kSW5jcmVtZW50U3RhdGlzdGljKEZyb250ZW5kLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgWEVOVklGX1JFQ0VJVkVSX1VEUF9DSEVDS1NVTV9OT1RfVkFMSURBVEVE
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSk7Ci0KLSAgICAgICAg
KFZPSUQpIEludGVybG9ja2VkSW5jcmVtZW50KCZSZWNlaXZlci0+TG9hbmVkKTsKKyAgICAgICBp
ZiAoUGFja2V0LT5GbGFncy5JcENoZWNrc3VtU3VjY2VlZGVkICE9IDApCisgICAgICAgICAgIEZy
b250ZW5kSW5jcmVtZW50U3RhdGlzdGljKEZyb250ZW5kLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBYRU5WSUZfUkVDRUlWRVJfSVBWNF9DSEVDS1NVTV9TVUNDRUVERUQs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEpOworCisgICAgICAgaWYg
KFBhY2tldC0+RmxhZ3MuSXBDaGVja3N1bUZhaWxlZCAhPSAwKQorICAgICAgICAgICBGcm9udGVu
ZEluY3JlbWVudFN0YXRpc3RpYyhGcm9udGVuZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgWEVOVklGX1JFQ0VJVkVSX0lQVjRfQ0hFQ0tTVU1fRkFJTEVELAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxKTsKKworICAgICAgIGlmIChQYWNrZXQt
PkZsYWdzLklwQ2hlY2tzdW1Ob3RWYWxpZGF0ZWQgIT0gMCkKKyAgICAgICAgICAgRnJvbnRlbmRJ
bmNyZW1lbnRTdGF0aXN0aWMoRnJvbnRlbmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFhFTlZJRl9SRUNFSVZFUl9JUFY0X0NIRUNLU1VNX05PVF9WQUxJREFURUQsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEpOworCisgICAgICAgaWYgKFBh
Y2tldC0+RmxhZ3MuVGNwQ2hlY2tzdW1TdWNjZWVkZWQgIT0gMCkKKyAgICAgICAgICAgRnJvbnRl
bmRJbmNyZW1lbnRTdGF0aXN0aWMoRnJvbnRlbmQsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFhFTlZJRl9SRUNFSVZFUl9UQ1BfQ0hFQ0tTVU1fU1VDQ0VFREVELAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxKTsKKworICAgICAgIGlmIChQYWNr
ZXQtPkZsYWdzLlRjcENoZWNrc3VtRmFpbGVkICE9IDApCisgICAgICAgICAgIEZyb250ZW5kSW5j
cmVtZW50U3RhdGlzdGljKEZyb250ZW5kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBYRU5WSUZfUkVDRUlWRVJfVENQX0NIRUNLU1VNX0ZBSUxFRCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgMSk7CisKKyAgICAgICBpZiAoUGFja2V0LT5GbGFn
cy5UY3BDaGVja3N1bU5vdFZhbGlkYXRlZCAhPSAwKQorICAgICAgICAgICBGcm9udGVuZEluY3Jl
bWVudFN0YXRpc3RpYyhGcm9udGVuZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgWEVOVklGX1JFQ0VJVkVSX1RDUF9DSEVDS1NVTV9OT1RfVkFMSURBVEVELAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxKTsKKworICAgICAgIGlmIChQYWNrZXQt
PkZsYWdzLlVkcENoZWNrc3VtU3VjY2VlZGVkICE9IDApCisgICAgICAgICAgIEZyb250ZW5kSW5j
cmVtZW50U3RhdGlzdGljKEZyb250ZW5kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBYRU5WSUZfUkVDRUlWRVJfVURQX0NIRUNLU1VNX1NVQ0NFRURFRCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSk7CisKKyAgICAgICBpZiAoUGFja2V0LT5G
bGFncy5VZHBDaGVja3N1bUZhaWxlZCAhPSAwKQorICAgICAgICAgICBGcm9udGVuZEluY3JlbWVu
dFN0YXRpc3RpYyhGcm9udGVuZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgWEVOVklGX1JFQ0VJVkVSX1VEUF9DSEVDS1NVTV9GQUlMRUQsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDEpOworCisgICAgICAgaWYgKFBhY2tldC0+RmxhZ3MuVWRw
Q2hlY2tzdW1Ob3RWYWxpZGF0ZWQgIT0gMCkKKyAgICAgICAgICAgRnJvbnRlbmRJbmNyZW1lbnRT
dGF0aXN0aWMoRnJvbnRlbmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFhFTlZJRl9SRUNFSVZFUl9VRFBfQ0hFQ0tTVU1fTk9UX1ZBTElEQVRFRCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgMSk7CiAKICAgICAgICAgVmlmUmVjZWl2ZXJRdWV1
ZVBhY2tldChDb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJpbmctPklu
ZGV4LApAQCAtMTUzMCw5NSArMTU3NCw4OSBAQCBfX1JlY2VpdmVyUmluZ1N3aXp6bGUoCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFja2V0LT5UYWdDb250cm9sSW5mb3JtYXRpb24s
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJlBhY2tldC0+SW5mbywKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAmUGFja2V0LT5IYXNoLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICFJc0xpc3RFbXB0eSgmUmluZy0+UGFja2V0Q29tcGxldGUpID8gVFJVRSA6
IEZBTFNFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1vcmUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgUGFja2V0KTsKKworICAgICAgICAtLUNvdW50OwogICAgIH0K
KworICAgIEFTU0VSVDNVKENvdW50LCA9PSwgMCk7CiB9CiAKLXN0YXRpYyBGT1JDRUlOTElORSBW
T0lECi1fX2Rydl9yZXF1aXJlc0lSUUwoRElTUEFUQ0hfTEVWRUwpCi1fX1JlY2VpdmVyUmluZ0Fj
cXVpcmVMb2NrKAorc3RhdGljIERFQ0xTUEVDX05PSU5MSU5FIFZPSUQKK1JlY2VpdmVyUmluZ1Jl
bGVhc2VMb2NrKAogICAgIElOICBQWEVOVklGX1JFQ0VJVkVSX1JJTkcgICBSaW5nCiAgICAgKQog
ewotICAgIEFTU0VSVDNVKEtlR2V0Q3VycmVudElycWwoKSwgPT0sIERJU1BBVENIX0xFVkVMKTsK
LQotICAgIEtlQWNxdWlyZVNwaW5Mb2NrQXREcGNMZXZlbCgmUmluZy0+TG9jayk7CisgICAgX19S
ZWNlaXZlclJpbmdSZWxlYXNlTG9jayhSaW5nKTsKIH0KIAotc3RhdGljIERFQ0xTUEVDX05PSU5M
SU5FIFZPSUQKLVJlY2VpdmVyUmluZ0FjcXVpcmVMb2NrKAorc3RhdGljIEZPUkNFSU5MSU5FIFZP
SUQKK19fUmVjZWl2ZXJSaW5nU3RvcCgKICAgICBJTiAgUFhFTlZJRl9SRUNFSVZFUl9SSU5HICAg
UmluZwogICAgICkKIHsKLSAgICBfX1JlY2VpdmVyUmluZ0FjcXVpcmVMb2NrKFJpbmcpOworICAg
IFJpbmctPlN0b3BwZWQgPSBUUlVFOwogfQogCiBzdGF0aWMgRk9SQ0VJTkxJTkUgVk9JRAotX19k
cnZfcmVxdWlyZXNJUlFMKERJU1BBVENIX0xFVkVMKQotX19SZWNlaXZlclJpbmdSZWxlYXNlTG9j
aygKK19fUmVjZWl2ZXJSaW5nU3RhcnQoCiAgICAgSU4gIFBYRU5WSUZfUkVDRUlWRVJfUklORyAg
IFJpbmcKICAgICApCiB7Ci0gICAgQVNTRVJUM1UoS2VHZXRDdXJyZW50SXJxbCgpLCA9PSwgRElT
UEFUQ0hfTEVWRUwpOwotCi0jcHJhZ21hIHByZWZhc3QoZGlzYWJsZToyNjExMCkKLSAgICBLZVJl
bGVhc2VTcGluTG9ja0Zyb21EcGNMZXZlbCgmUmluZy0+TG9jayk7CisgICAgUmluZy0+U3RvcHBl
ZCA9IEZBTFNFOwogfQogCi1zdGF0aWMgREVDTFNQRUNfTk9JTkxJTkUgVk9JRAotUmVjZWl2ZXJS
aW5nUmVsZWFzZUxvY2soCitzdGF0aWMgRk9SQ0VJTkxJTkUgQk9PTEVBTgorX19SZWNlaXZlclJp
bmdJc1N0b3BwZWQoCiAgICAgSU4gIFBYRU5WSUZfUkVDRUlWRVJfUklORyAgIFJpbmcKICAgICAp
CiB7Ci0gICAgX19SZWNlaXZlclJpbmdSZWxlYXNlTG9jayhSaW5nKTsKKyAgICByZXR1cm4gUmlu
Zy0+U3RvcHBlZDsKIH0KIAotX19kcnZfZnVuY3Rpb25DbGFzcyhLREVGRVJSRURfUk9VVElORSkK
LV9fZHJ2X21heElSUUwoRElTUEFUQ0hfTEVWRUwpCi1fX2Rydl9taW5JUlFMKFBBU1NJVkVfTEVW
RUwpCi1fX2Rydl9zYW1lSVJRTAotc3RhdGljIFZPSUQKLVJlY2VpdmVyUmluZ0RwYygKLSAgICBJ
TiAgUEtEUEMgICAgICAgICAgICAgICBEcGMsCi0gICAgSU4gIFBWT0lEICAgICAgICAgICAgICAg
Q29udGV4dCwKLSAgICBJTiAgUFZPSUQgICAgICAgICAgICAgICBBcmd1bWVudDEsCi0gICAgSU4g
IFBWT0lEICAgICAgICAgICAgICAgQXJndW1lbnQyCitzdGF0aWMgRk9SQ0VJTkxJTkUgVk9JRAor
X19SZWNlaXZlclJpbmdUcmlnZ2VyKAorICAgIElOICBQWEVOVklGX1JFQ0VJVkVSX1JJTkcgICBS
aW5nLAorICAgIElOICBCT09MRUFOICAgICAgICAgICAgICAgICBMb2NrZWQKICAgICApCiB7Ci0g
ICAgUFhFTlZJRl9SRUNFSVZFUl9SSU5HICAgUmluZyA9IENvbnRleHQ7CisgICAgUFhFTlZJRl9S
RUNFSVZFUiAgICAgICAgICAgIFJlY2VpdmVyOwogCi0gICAgVU5SRUZFUkVOQ0VEX1BBUkFNRVRF
UihEcGMpOwotICAgIFVOUkVGRVJFTkNFRF9QQVJBTUVURVIoQXJndW1lbnQxKTsKLSAgICBVTlJF
RkVSRU5DRURfUEFSQU1FVEVSKEFyZ3VtZW50Mik7CisgICAgUmVjZWl2ZXIgPSBSaW5nLT5SZWNl
aXZlcjsKIAotICAgIEFTU0VSVChSaW5nICE9IE5VTEwpOworICAgIGlmICghTG9ja2VkKQorICAg
ICAgICBfX1JlY2VpdmVyUmluZ0FjcXVpcmVMb2NrKFJpbmcpOwogCi0gICAgX19SZWNlaXZlclJp
bmdTd2l6emxlKFJpbmcpOwotfQorICAgIGlmIChSaW5nLT5Db25uZWN0ZWQpCisgICAgICAgIChW
T0lEKSBYRU5CVVNfRVZUQ0hOKFRyaWdnZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICZSZWNlaXZlci0+RXZ0Y2huSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBSaW5nLT5DaGFubmVsKTsKIAotc3RhdGljIEZPUkNFSU5MSU5FIFZPSUQKLV9fUmVjZWl2ZXJS
aW5nU3RvcCgKLSAgICBJTiAgUFhFTlZJRl9SRUNFSVZFUl9SSU5HICAgUmluZwotICAgICkKLXsK
LSAgICBSaW5nLT5TdG9wcGVkID0gVFJVRTsKKyAgICBpZiAoIUxvY2tlZCkKKyAgICAgICAgX19S
ZWNlaXZlclJpbmdSZWxlYXNlTG9jayhSaW5nKTsKIH0KIAogc3RhdGljIEZPUkNFSU5MSU5FIFZP
SUQKLV9fUmVjZWl2ZXJSaW5nU3RhcnQoCi0gICAgSU4gIFBYRU5WSUZfUkVDRUlWRVJfUklORyAg
IFJpbmcKK19fUmVjZWl2ZXJSaW5nU2VuZCgKKyAgICBJTiAgUFhFTlZJRl9SRUNFSVZFUl9SSU5H
ICAgUmluZywKKyAgICBJTiAgQk9PTEVBTiAgICAgICAgICAgICAgICAgTG9ja2VkCiAgICAgKQog
ewotICAgIFJpbmctPlN0b3BwZWQgPSBGQUxTRTsKLX0KKyAgICBQWEVOVklGX1JFQ0VJVkVSICAg
ICAgICAgICAgUmVjZWl2ZXI7CiAKLXN0YXRpYyBGT1JDRUlOTElORSBCT09MRUFOCi1fX1JlY2Vp
dmVyUmluZ0lzU3RvcHBlZCgKLSAgICBJTiAgUFhFTlZJRl9SRUNFSVZFUl9SSU5HICAgUmluZwot
ICAgICkKLXsKLSAgICByZXR1cm4gUmluZy0+U3RvcHBlZDsKKyAgICBSZWNlaXZlciA9IFJpbmct
PlJlY2VpdmVyOworCisgICAgaWYgKCFMb2NrZWQpCisgICAgICAgIF9fUmVjZWl2ZXJSaW5nQWNx
dWlyZUxvY2soUmluZyk7CisKKyAgICBpZiAoUmluZy0+Q29ubmVjdGVkKQorICAgICAgICAoVk9J
RCkgWEVOQlVTX0VWVENITihTZW5kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmUmVj
ZWl2ZXItPkV2dGNobkludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmlu
Zy0+Q2hhbm5lbCk7CisKKyAgICBpZiAoIUxvY2tlZCkKKyAgICAgICAgX19SZWNlaXZlclJpbmdS
ZWxlYXNlTG9jayhSaW5nKTsKIH0KIAogc3RhdGljIEZPUkNFSU5MSU5FIFZPSUQKQEAgLTE2Mjgs
MTMgKzE2NjYsOCBAQCBfX1JlY2VpdmVyUmluZ1JldHVyblBhY2tldCgKICAgICBJTiAgQk9PTEVB
TiAgICAgICAgICAgICAgICAgTG9ja2VkCiAgICAgKQogewotICAgIFBYRU5WSUZfUkVDRUlWRVIg
ICAgICAgICAgICBSZWNlaXZlcjsKLSAgICBQWEVOVklGX0ZST05URU5EICAgICAgICAgICAgRnJv
bnRlbmQ7CiAgICAgUE1ETCAgICAgICAgICAgICAgICAgICAgICAgIE1kbDsKIAotICAgIFJlY2Vp
dmVyID0gUmluZy0+UmVjZWl2ZXI7Ci0gICAgRnJvbnRlbmQgPSBSZWNlaXZlci0+RnJvbnRlbmQ7
Ci0KICAgICBNZGwgPSAmUGFja2V0LT5NZGw7CiAKICAgICB3aGlsZSAoTWRsICE9IE5VTEwpIHsK
QEAgLTE2NTgsOSArMTY5MSw3IEBAIF9fUmVjZWl2ZXJSaW5nUmV0dXJuUGFja2V0KAogCiAgICAg
ICAgIGlmIChfX1JlY2VpdmVyUmluZ0lzU3RvcHBlZChSaW5nKSkgewogICAgICAgICAgICAgX19S
ZWNlaXZlclJpbmdTdGFydChSaW5nKTsKLSAgICAgICAgICAgIFBvbGxlclRyaWdnZXIoRnJvbnRl
bmRHZXRQb2xsZXIoRnJvbnRlbmQpLAotICAgICAgICAgICAgICAgICAgICAgICAgICBSaW5nLT5J
bmRleCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgWEVOVklGX1BPTExFUl9FVkVOVF9SRUNF
SVZFKTsKKyAgICAgICAgICAgIF9fUmVjZWl2ZXJSaW5nVHJpZ2dlcihSaW5nLCBUUlVFKTsKICAg
ICAgICAgfQogCiAgICAgICAgIGlmICghTG9ja2VkKQpAQCAtMTc0MCwxNyArMTc3MSw4IEBAIF9f
UmVjZWl2ZXJSaW5nUHVzaFJlcXVlc3RzKAogCiAjcHJhZ21hIHdhcm5pbmcgKHBvcCkKIAotICAg
IGlmIChOb3RpZnkpIHsKLSAgICAgICAgUFhFTlZJRl9SRUNFSVZFUiAgICBSZWNlaXZlcjsKLSAg
ICAgICAgUFhFTlZJRl9GUk9OVEVORCAgICBGcm9udGVuZDsKLQotICAgICAgICBSZWNlaXZlciA9
IFJpbmctPlJlY2VpdmVyOwotICAgICAgICBGcm9udGVuZCA9IFJlY2VpdmVyLT5Gcm9udGVuZDsK
LQotICAgICAgICBQb2xsZXJTZW5kKEZyb250ZW5kR2V0UG9sbGVyKEZyb250ZW5kKSwKLSAgICAg
ICAgICAgICAgICAgICBSaW5nLT5JbmRleCwKLSAgICAgICAgICAgICAgICAgICBYRU5WSUZfUE9M
TEVSX0VWRU5UX1JFQ0VJVkUpOwotICAgIH0KKyAgICBpZiAoTm90aWZ5KQorICAgICAgICBfX1Jl
Y2VpdmVyUmluZ1NlbmQoUmluZywgVFJVRSk7CiAKICAgICBSaW5nLT5SZXF1ZXN0c1B1c2hlZCA9
IFJpbmctPlJlcXVlc3RzUG9zdGVkOwogfQpAQCAtMTg4MiwxMSArMTkwNCw2IEBAIFJlY2VpdmVy
UmluZ0RlYnVnQ2FsbGJhY2soCiAgICAgICAgICAgICAgICAgIChSaW5nLT5FbmFibGVkKSA/ICJF
TkFCTEVEIiA6ICJESVNBQkxFRCIsCiAgICAgICAgICAgICAgICAgIChfX1JlY2VpdmVyUmluZ0lz
U3RvcHBlZChSaW5nKSkgPyAiU1RPUFBFRCIgOiAiUlVOTklORyIpOwogCi0gICAgWEVOQlVTX0RF
QlVHKFByaW50ZiwKLSAgICAgICAgICAgICAgICAgJlJlY2VpdmVyLT5EZWJ1Z0ludGVyZmFjZSwK
LSAgICAgICAgICAgICAgICAgIkRwY3MgPSAlbHVcbiIsCi0gICAgICAgICAgICAgICAgIFJpbmct
PkRwY3MpOwotCiAgICAgLy8gRHVtcCBmcm9udCByaW5nCiAgICAgWEVOQlVTX0RFQlVHKFByaW50
ZiwKICAgICAgICAgICAgICAgICAgJlJlY2VpdmVyLT5EZWJ1Z0ludGVyZmFjZSwKQEAgLTE5MTEs
MjYgKzE5MjgsMTQgQEAgUmVjZWl2ZXJSaW5nRGVidWdDYWxsYmFjaygKICAgICAgICAgICAgICAg
ICAgUmluZy0+UmVxdWVzdHNQb3N0ZWQsCiAgICAgICAgICAgICAgICAgIFJpbmctPlJlcXVlc3Rz
UHVzaGVkLAogICAgICAgICAgICAgICAgICBSaW5nLT5SZXNwb25zZXNQcm9jZXNzZWQpOwotfQot
Ci1zdGF0aWMgRk9SQ0VJTkxJTkUgVk9JRAotX19SZWNlaXZlclJpbmdRdWV1ZVBhY2tldCgKLSAg
ICBJTiAgUFhFTlZJRl9SRUNFSVZFUl9SSU5HICAgUmluZywKLSAgICBJTiAgUFhFTlZJRl9SRUNF
SVZFUl9QQUNLRVQgUGFja2V0Ci0gICAgKQotewotICAgIFBMSVNUX0VOVFJZICAgICAgICAgICAg
ICAgICBMaXN0RW50cnk7Ci0gICAgUExJU1RfRU5UUlkgICAgICAgICAgICAgICAgIE9sZDsKLSAg
ICBQTElTVF9FTlRSWSAgICAgICAgICAgICAgICAgTmV3OwotCi0gICAgTGlzdEVudHJ5ID0gJlBh
Y2tldC0+TGlzdEVudHJ5OwotCi0gICAgZG8gewotICAgICAgICBPbGQgPSBSaW5nLT5QYWNrZXRR
dWV1ZTsKIAotICAgICAgICBMaXN0RW50cnktPkJsaW5rID0gUmluZy0+UGFja2V0UXVldWU7Ci0g
ICAgICAgIE5ldyA9IExpc3RFbnRyeTsKLSAgICB9IHdoaWxlIChJbnRlcmxvY2tlZENvbXBhcmVF
eGNoYW5nZVBvaW50ZXIoJlJpbmctPlBhY2tldFF1ZXVlLCAoUFZPSUQpTmV3LCAoUFZPSUQpT2xk
KSAhPSBPbGQpOworICAgIC8vIER1bXAgZXZlbnQgY2hhbm5lbAorICAgIFhFTkJVU19ERUJVRyhQ
cmludGYsCisgICAgICAgICAgICAgICAgICZSZWNlaXZlci0+RGVidWdJbnRlcmZhY2UsCisgICAg
ICAgICAgICAgICAgICJbJXNdOiBFdmVudHMgPSAlbHUgRHBjcyA9ICVsdVxuIiwKKyAgICAgICAg
ICAgICAgICAgRnJvbnRlbmRJc1NwbGl0KEZyb250ZW5kKSA/ICJSWCIgOiAiQ09NQklORUQiLAor
ICAgICAgICAgICAgICAgICBSaW5nLT5FdmVudHMsCisgICAgICAgICAgICAgICAgIFJpbmctPkRw
Y3MpOwogfQogCiBzdGF0aWMgREVDTFNQRUNfTk9JTkxJTkUgQk9PTEVBTgpAQCAtMTk4OCw4ICsx
OTkzLDEwIEBAIFJlY2VpdmVyUmluZ1BvbGwoCiAgICAgICAgICAgICBSSU5HX0lEWCBXb3JrVG9E
bzsKIAogICAgICAgICAgICAgUklOR19GSU5BTF9DSEVDS19GT1JfUkVTUE9OU0VTKCZSaW5nLT5G
cm9udCwgV29ya1RvRG8pOwotICAgICAgICAgICAgaWYgKCFXb3JrVG9EbykKLSAgICAgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgICAgIGlmIChXb3JrVG9EbykKKyAgICAgICAgICAgICAgICBj
b250aW51ZTsKKworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KIAogICAgICAgICB3aGls
ZSAocnNwX2NvbnMgIT0gcnNwX3Byb2QgJiYgIVJldHJ5KSB7CkBAIC0yMTQ2LDcgKzIxNTMsNyBA
QCBSZWNlaXZlclJpbmdQb2xsKAogICAgICAgICAgICAgICAgICAgICBQYWNrZXQtPkZsYWdzLlZh
bHVlID0gZmxhZ3M7CiAKICAgICAgICAgICAgICAgICAgICAgQVNTRVJUKElzWmVyb01lbW9yeSgm
UGFja2V0LT5MaXN0RW50cnksIHNpemVvZiAoTElTVF9FTlRSWSkpKTsKLSAgICAgICAgICAgICAg
ICAgICAgX19SZWNlaXZlclJpbmdRdWV1ZVBhY2tldChSaW5nLCBQYWNrZXQpOworICAgICAgICAg
ICAgICAgICAgICBJbnNlcnRUYWlsTGlzdCgmUmluZy0+UGFja2V0TGlzdCwgJlBhY2tldC0+TGlz
dEVudHJ5KTsKICAgICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICBpZiAocnNwX2Nv
bnMgLSBSaW5nLT5Gcm9udC5yc3BfY29ucyA+IFhFTlZJRl9SRUNFSVZFUl9CQVRDSChSaW5nKSkK
QEAgLTIxNzksMjEgKzIxODYsMTM3IEBAIFJlY2VpdmVyUmluZ1BvbGwoCiAgICAgaWYgKCFfX1Jl
Y2VpdmVyUmluZ0lzU3RvcHBlZChSaW5nKSkKICAgICAgICAgUmVjZWl2ZXJSaW5nRmlsbChSaW5n
KTsKIAotICAgIGlmIChSaW5nLT5QYWNrZXRRdWV1ZSAhPSBOVUxMICYmCi0gICAgICAgIEtlSW5z
ZXJ0UXVldWVEcGMoJlJpbmctPkRwYywgTlVMTCwgTlVMTCkpCi0gICAgICAgIFJpbmctPkRwY3Mr
KzsKLQogZG9uZToKICAgICByZXR1cm4gUmV0cnk7CiAKICN1bmRlZiAgWEVOVklGX1JFQ0VJVkVS
X0JBVENICiB9CiAKK3N0YXRpYyBGT1JDRUlOTElORSBWT0lECitfX1JlY2VpdmVyUmluZ1VubWFz
aygKKyAgICBJTiAgUFhFTlZJRl9SRUNFSVZFUl9SSU5HICAgUmluZworICAgICkKK3sKKyAgICBQ
WEVOVklGX1JFQ0VJVkVSICAgICAgICAgICAgUmVjZWl2ZXI7CisKKyAgICBpZiAoIVJpbmctPkNv
bm5lY3RlZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgUmVjZWl2ZXIgPSBSaW5nLT5SZWNlaXZl
cjsKKworICAgIFhFTkJVU19FVlRDSE4oVW5tYXNrLAorICAgICAgICAgICAgICAgICAgJlJlY2Vp
dmVyLT5FdnRjaG5JbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICBSaW5nLT5DaGFubmVsLAor
ICAgICAgICAgICAgICAgICAgRkFMU0UsCisgICAgICAgICAgICAgICAgICBUUlVFKTsKK30KKwor
c3RhdGljIEZPUkNFSU5MSU5FIEJPT0xFQU4KK19fUmVjZWl2ZXJSaW5nRHBjVGltZW91dCgKKyAg
ICBJTiAgUFhFTlZJRl9SRUNFSVZFUl9SSU5HICAgUmluZworICAgICkKK3sKKyAgICBLRFBDX1dB
VENIRE9HX0lORk9STUFUSU9OICAgV2F0Y2hkb2c7CisgICAgTlRTVEFUVVMgICAgICAgICAgICAg
ICAgICAgIHN0YXR1czsKKworICAgIFVOUkVGRVJFTkNFRF9QQVJBTUVURVIoUmluZyk7CisKKyAg
ICBSdGxaZXJvTWVtb3J5KCZXYXRjaGRvZywgc2l6ZW9mIChXYXRjaGRvZykpOworCisgICAgc3Rh
dHVzID0gS2VRdWVyeURwY1dhdGNoZG9nSW5mb3JtYXRpb24oJldhdGNoZG9nKTsKKyAgICBBU1NF
UlQoTlRfU1VDQ0VTUyhzdGF0dXMpKTsKKworICAgIGlmIChXYXRjaGRvZy5EcGNUaW1lTGltaXQg
PT0gMCB8fAorICAgICAgICBXYXRjaGRvZy5EcGNXYXRjaGRvZ0xpbWl0ID09IDApCisgICAgICAg
IHJldHVybiBGQUxTRTsKKworICAgIGlmIChXYXRjaGRvZy5EcGNUaW1lQ291bnQgPiAoV2F0Y2hk
b2cuRHBjVGltZUxpbWl0IC8gMikgJiYKKyAgICAgICAgV2F0Y2hkb2cuRHBjV2F0Y2hkb2dDb3Vu
dCA+IChXYXRjaGRvZy5EcGNXYXRjaGRvZ0xpbWl0IC8gMikpCisgICAgICAgIHJldHVybiBGQUxT
RTsKKworICAgIHJldHVybiBUUlVFOworfQorCiAjZGVmaW5lIFRJTUVfVVMoX3VzKSAgICAgICAg
KChfdXMpICogMTApCiAjZGVmaW5lIFRJTUVfTVMoX21zKSAgICAgICAgKFRJTUVfVVMoKF9tcykg
KiAxMDAwKSkKICNkZWZpbmUgVElNRV9TKF9zKSAgICAgICAgICAoVElNRV9NUygoX3MpICogMTAw
MCkpCiAjZGVmaW5lIFRJTUVfUkVMQVRJVkUoX3QpICAgKC0oX3QpKQogCitfX2Rydl9mdW5jdGlv
bkNsYXNzKEtERUZFUlJFRF9ST1VUSU5FKQorX19kcnZfbWF4SVJRTChESVNQQVRDSF9MRVZFTCkK
K19fZHJ2X21pbklSUUwoRElTUEFUQ0hfTEVWRUwpCitfX2Rydl9yZXF1aXJlc0lSUUwoRElTUEFU
Q0hfTEVWRUwpCitfX2Rydl9zYW1lSVJRTAorc3RhdGljIFZPSUQKK1JlY2VpdmVyUmluZ0RwYygK
KyAgICBJTiAgUEtEUEMgICAgICAgICAgICAgICBEcGMsCisgICAgSU4gIFBWT0lEICAgICAgICAg
ICAgICAgQ29udGV4dCwKKyAgICBJTiAgUFZPSUQgICAgICAgICAgICAgICBBcmd1bWVudDEsCisg
ICAgSU4gIFBWT0lEICAgICAgICAgICAgICAgQXJndW1lbnQyCisgICAgKQoreworICAgIFBYRU5W
SUZfUkVDRUlWRVJfUklORyAgIFJpbmcgPSBDb250ZXh0OworCisgICAgVU5SRUZFUkVOQ0VEX1BB
UkFNRVRFUihEcGMpOworICAgIFVOUkVGRVJFTkNFRF9QQVJBTUVURVIoQXJndW1lbnQxKTsKKyAg
ICBVTlJFRkVSRU5DRURfUEFSQU1FVEVSKEFyZ3VtZW50Mik7CisKKyAgICBBU1NFUlQoUmluZyAh
PSBOVUxMKTsKKworICAgIGZvciAoOzspIHsKKyAgICAgICAgQk9PTEVBTiBSZXRyeTsKKworICAg
ICAgICBfX1JlY2VpdmVyUmluZ0FjcXVpcmVMb2NrKFJpbmcpOworICAgICAgICBSZXRyeSA9IFJl
Y2VpdmVyUmluZ1BvbGwoUmluZyk7CisgICAgICAgIF9fUmVjZWl2ZXJSaW5nUmVsZWFzZUxvY2so
UmluZyk7CisKKyAgICAgICAgaWYgKCFSZXRyeSkgeworICAgICAgICAgICAgX19SZWNlaXZlclJp
bmdVbm1hc2soUmluZyk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAg
IGlmIChfX1JlY2VpdmVyUmluZ0RwY1RpbWVvdXQoUmluZykpIHsKKyAgICAgICAgICAgIExBUkdF
X0lOVEVHRVIgICBEZWxheTsKKworICAgICAgICAgICAgRGVsYXkuUXVhZFBhcnQgPSBUSU1FX1JF
TEFUSVZFKFRJTUVfVVMoMTAwKSk7CisKKyAgICAgICAgICAgIEtlU2V0VGltZXIoJlJpbmctPlRp
bWVyLCBEZWxheSwgJlJpbmctPlRpbWVyRHBjKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICB9CisgICAgfQorfQorCitLU0VSVklDRV9ST1VUSU5FICAgIFJlY2VpdmVyUmluZ0V2dGNobkNh
bGxiYWNrOworCitCT09MRUFOCitSZWNlaXZlclJpbmdFdnRjaG5DYWxsYmFjaygKKyAgICBJTiAg
UEtJTlRFUlJVUFQgICAgICAgICAgICAgSW50ZXJydXB0T2JqZWN0LAorICAgIElOICBQVk9JRCAg
ICAgICAgICAgICAgICAgICBBcmd1bWVudAorICAgICkKK3sKKyAgICBQWEVOVklGX1JFQ0VJVkVS
X1JJTkcgICAgICAgUmluZyA9IEFyZ3VtZW50OworICAgIFBYRU5WSUZfUkVDRUlWRVIgICAgICAg
ICAgICBSZWNlaXZlcjsKKyAgICBQWEVOVklGX0ZST05URU5EICAgICAgICAgICAgRnJvbnRlbmQ7
CisKKyAgICBVTlJFRkVSRU5DRURfUEFSQU1FVEVSKEludGVycnVwdE9iamVjdCk7CisKKyAgICBB
U1NFUlQoUmluZyAhPSBOVUxMKTsKKworICAgIFJpbmctPkV2ZW50cysrOworCisgICAgaWYgKEtl
SW5zZXJ0UXVldWVEcGMoJlJpbmctPkRwYywgTlVMTCwgTlVMTCkpCisgICAgICAgIFJpbmctPkRw
Y3MrKzsKKworICAgIFJlY2VpdmVyID0gUmluZy0+UmVjZWl2ZXI7CisgICAgRnJvbnRlbmQgPSBS
ZWNlaXZlci0+RnJvbnRlbmQ7CisKKyAgICBpZiAoIUZyb250ZW5kSXNTcGxpdChGcm9udGVuZCkp
CisgICAgICAgIFRyYW5zbWl0dGVyTm90aWZ5KEZyb250ZW5kR2V0VHJhbnNtaXR0ZXIoRnJvbnRl
bmQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICBSaW5nLT5JbmRleCk7CisKKyAgICByZXR1
cm4gVFJVRTsKK30KKwogI2RlZmluZSBYRU5WSUZfUkVDRUlWRVJfV0FUQ0hET0dfUEVSSU9EIDMw
CiAKIHN0YXRpYyBOVFNUQVRVUwpAQCAtMjI1NywyMiArMjM4MCwxNiBAQCBSZWNlaXZlclJpbmdX
YXRjaGRvZygKICAgICAgICAgICAgIGlmIChSaW5nLT5TaGFyZWQtPnJzcF9wcm9kICE9IHJzcF9w
cm9kICYmCiAgICAgICAgICAgICAgICAgUmluZy0+RnJvbnQucnNwX2NvbnMgPT0gcnNwX2NvbnMp
IHsKICAgICAgICAgICAgICAgICBQWEVOVklGX1JFQ0VJVkVSICAgIFJlY2VpdmVyOwotICAgICAg
ICAgICAgICAgIFBYRU5WSUZfRlJPTlRFTkQgICAgRnJvbnRlbmQ7CiAKICAgICAgICAgICAgICAg
ICBSZWNlaXZlciA9IFJpbmctPlJlY2VpdmVyOwotICAgICAgICAgICAgICAgIEZyb250ZW5kID0g
UmVjZWl2ZXItPkZyb250ZW5kOwogCiAgICAgICAgICAgICAgICAgWEVOQlVTX0RFQlVHKFRyaWdn
ZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZSZWNlaXZlci0+RGVidWdJbnRlcmZh
Y2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJpbmctPkRlYnVnQ2FsbGJhY2spOwog
CiAgICAgICAgICAgICAgICAgLy8gVHJ5IHRvIG1vdmUgdGhpbmdzIGFsb25nCi0gICAgICAgICAg
ICAgICAgUG9sbGVyVHJpZ2dlcihGcm9udGVuZEdldFBvbGxlcihGcm9udGVuZCksCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBSaW5nLT5JbmRleCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFhFTlZJRl9QT0xMRVJfRVZFTlRfUkVDRUlWRSk7Ci0gICAgICAgICAgICAgICAg
UG9sbGVyU2VuZChGcm9udGVuZEdldFBvbGxlcihGcm9udGVuZCksCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICBSaW5nLT5JbmRleCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIFhFTlZJ
Rl9QT0xMRVJfRVZFTlRfUkVDRUlWRSk7CisgICAgICAgICAgICAgICAgX19SZWNlaXZlclJpbmdU
cmlnZ2VyKFJpbmcsIFRSVUUpOworICAgICAgICAgICAgICAgIF9fUmVjZWl2ZXJSaW5nU2VuZChS
aW5nLCBUUlVFKTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgS2VNZW1vcnlCYXJyaWVy
KCk7CkBAIC0yMzE4LDcgKzI0MzUsMTEgQEAgX19SZWNlaXZlclJpbmdJbml0aWFsaXplKAogICAg
IGlmICgoKlJpbmcpLT5QYXRoID09IE5VTEwpCiAgICAgICAgIGdvdG8gZmFpbDI7CiAKLSAgICBJ
bml0aWFsaXplTGlzdEhlYWQoJigqUmluZyktPlBhY2tldENvbXBsZXRlKTsKKyAgICBJbml0aWFs
aXplTGlzdEhlYWQoJigqUmluZyktPlBhY2tldExpc3QpOworCisgICAgS2VJbml0aWFsaXplRHBj
KCYoKlJpbmcpLT5EcGMsIFJlY2VpdmVyUmluZ0RwYywgKlJpbmcpOworICAgIEtlSW5pdGlhbGl6
ZVRpbWVyKCYoKlJpbmcpLT5UaW1lcik7CisgICAgS2VJbml0aWFsaXplRHBjKCYoKlJpbmcpLT5U
aW1lckRwYywgUmVjZWl2ZXJSaW5nRHBjLCAqUmluZyk7CiAKICAgICBzdGF0dXMgPSBSdGxTdHJp
bmdDYlByaW50ZkEoTmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9m
IChOYW1lKSwKQEAgLTIzNzYsOCArMjQ5Nyw2IEBAIF9fUmVjZWl2ZXJSaW5nSW5pdGlhbGl6ZSgK
ICAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKICAgICAgICAgZ290byBmYWlsNzsKIAotICAg
IEtlSW5pdGlhbGl6ZVRocmVhZGVkRHBjKCYoKlJpbmcpLT5EcGMsIFJlY2VpdmVyUmluZ0RwYywg
KlJpbmcpOwotCiAgICAgcmV0dXJuIFNUQVRVU19TVUNDRVNTOwogCiBmYWlsNzoKQEAgLTI0MDUs
NyArMjUyNCwxMSBAQCBmYWlsNDoKIGZhaWwzOgogICAgIEVycm9yKCJmYWlsM1xuIik7CiAKLSAg
ICBSdGxaZXJvTWVtb3J5KCYoKlJpbmcpLT5QYWNrZXRDb21wbGV0ZSwgc2l6ZW9mIChMSVNUX0VO
VFJZKSk7CisgICAgUnRsWmVyb01lbW9yeSgmKCpSaW5nKS0+VGltZXJEcGMsIHNpemVvZiAoS0RQ
QykpOworICAgIFJ0bFplcm9NZW1vcnkoJigqUmluZyktPlRpbWVyLCBzaXplb2YgKEtUSU1FUikp
OworICAgIFJ0bFplcm9NZW1vcnkoJigqUmluZyktPkRwYywgc2l6ZW9mIChLRFBDKSk7CisKKyAg
ICBSdGxaZXJvTWVtb3J5KCYoKlJpbmcpLT5QYWNrZXRMaXN0LCBzaXplb2YgKExJU1RfRU5UUlkp
KTsKIAogICAgIEZyb250ZW5kRnJlZVBhdGgoRnJvbnRlbmQsICgqUmluZyktPlBhdGgpOwogICAg
ICgqUmluZyktPlBhdGggPSBOVUxMOwpAQCAtMjUwMiw2ICsyNjI1LDM2IEBAIF9fUmVjZWl2ZXJS
aW5nQ29ubmVjdCgKIAogICAgIEFTU0VSVCghUmluZy0+Q29ubmVjdGVkKTsKIAorICAgIFJpbmct
PkNoYW5uZWwgPSBYRU5CVVNfRVZUQ0hOKE9wZW4sCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJlJlY2VpdmVyLT5FdnRjaG5JbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgWEVOQlVTX0VWVENITl9UWVBFX1VOQk9VTkQsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgUmVjZWl2ZXJSaW5nRXZ0Y2huQ2FsbGJhY2ssCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgUmluZywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBGcm9udGVuZEdldEJhY2tlbmREb21haW4oRnJvbnRlbmQpLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFRSVUUpOworCisgICAgc3RhdHVzID0gU1RBVFVTX1VO
U1VDQ0VTU0ZVTDsKKyAgICBpZiAoUmluZy0+Q2hhbm5lbCA9PSBOVUxMKQorICAgICAgICBnb3Rv
IGZhaWw2OworCisgICAgc3RhdHVzID0gS2VHZXRQcm9jZXNzb3JOdW1iZXJGcm9tSW5kZXgoUmlu
Zy0+SW5kZXgsICZQcm9jTnVtYmVyKTsKKyAgICBBU1NFUlQoTlRfU1VDQ0VTUyhzdGF0dXMpKTsK
KworICAgIEtlU2V0VGFyZ2V0UHJvY2Vzc29yRHBjRXgoJlJpbmctPkRwYywgJlByb2NOdW1iZXIp
OworICAgIEtlU2V0VGFyZ2V0UHJvY2Vzc29yRHBjRXgoJlJpbmctPlRpbWVyRHBjLCAmUHJvY051
bWJlcik7CisKKyAgICAoVk9JRCkgWEVOQlVTX0VWVENITihCaW5kLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICZSZWNlaXZlci0+RXZ0Y2huSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAg
ICAgICAgIFJpbmctPkNoYW5uZWwsCisgICAgICAgICAgICAgICAgICAgICAgICAgUHJvY051bWJl
ci5Hcm91cCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBQcm9jTnVtYmVyLk51bWJlcik7CisK
KyAgICAoVk9JRCkgWEVOQlVTX0VWVENITihVbm1hc2ssCisgICAgICAgICAgICAgICAgICAgICAg
ICAgJlJlY2VpdmVyLT5FdnRjaG5JbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAg
UmluZy0+Q2hhbm5lbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBGQUxTRSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICBUUlVFKTsKKwogICAgIFJpbmctPkNvbm5lY3RlZCA9IFRSVUU7CiAK
ICAgICBzdGF0dXMgPSBYRU5CVVNfREVCVUcoUmVnaXN0ZXIsCkBAIC0yNTExLDIwICsyNjY0LDI1
IEBAIF9fUmVjZWl2ZXJSaW5nQ29ubmVjdCgKICAgICAgICAgICAgICAgICAgICAgICAgICAgUmlu
ZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgJlJpbmctPkRlYnVnQ2FsbGJhY2spOwogICAg
IGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQotICAgICAgICBnb3RvIGZhaWw2OworICAgICAgICBn
b3RvIGZhaWw3OwogCi0gICAgc3RhdHVzID0gS2VHZXRQcm9jZXNzb3JOdW1iZXJGcm9tSW5kZXgo
UmluZy0+SW5kZXgsICZQcm9jTnVtYmVyKTsKLSAgICBBU1NFUlQoTlRfU1VDQ0VTUyhzdGF0dXMp
KTsKKyAgICByZXR1cm4gU1RBVFVTX1NVQ0NFU1M7CiAKLSAgICBLZVNldFRhcmdldFByb2Nlc3Nv
ckRwY0V4KCZSaW5nLT5EcGMsICZQcm9jTnVtYmVyKTsKK2ZhaWw3OgorICAgIEVycm9yKCJmYWls
N1xuIik7CiAKLSAgICByZXR1cm4gU1RBVFVTX1NVQ0NFU1M7CisgICAgUmluZy0+Q29ubmVjdGVk
ID0gRkFMU0U7CisKKyAgICBYRU5CVVNfRVZUQ0hOKENsb3NlLAorICAgICAgICAgICAgICAgICAg
JlJlY2VpdmVyLT5FdnRjaG5JbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICBSaW5nLT5DaGFu
bmVsKTsKKyAgICBSaW5nLT5DaGFubmVsID0gTlVMTDsKKworICAgIFJpbmctPkV2ZW50cyA9IDA7
CiAKIGZhaWw2OgogICAgIEVycm9yKCJmYWlsNlxuIik7CiAKLSAgICBSaW5nLT5Db25uZWN0ZWQg
PSBGQUxTRTsKLQogZmFpbDU6CiAgICAgRXJyb3IoImZhaWw1XG4iKTsKIApAQCAtMjU3MCw2ICsy
NzI4LDcgQEAgX19SZWNlaXZlclJpbmdTdG9yZVdyaXRlKAogewogICAgIFBYRU5WSUZfUkVDRUlW
RVIgICAgICAgICAgICAgICAgUmVjZWl2ZXI7CiAgICAgUFhFTlZJRl9GUk9OVEVORCAgICAgICAg
ICAgICAgICBGcm9udGVuZDsKKyAgICBVTE9ORyAgICAgICAgICAgICAgICAgICAgICAgICAgIFBv
cnQ7CiAgICAgUENIQVIgICAgICAgICAgICAgICAgICAgICAgICAgICBQYXRoOwogICAgIE5UU1RB
VFVTICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzOwogCkBAIC0yNTkyLDggKzI3NTEsMjUg
QEAgX19SZWNlaXZlclJpbmdTdG9yZVdyaXRlKAogICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMp
KQogICAgICAgICBnb3RvIGZhaWwxOwogCisgICAgUG9ydCA9IFhFTkJVU19FVlRDSE4oR2V0UG9y
dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAmUmVjZWl2ZXItPkV2dGNobkludGVyZmFjZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICBSaW5nLT5DaGFubmVsKTsKKworICAgIHN0YXR1cyA9
IFhFTkJVU19TVE9SRShQcmludGYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICZSZWNlaXZl
ci0+U3RvcmVJbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgIFRyYW5zYWN0aW9u
LAorICAgICAgICAgICAgICAgICAgICAgICAgICBQYXRoLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICBGcm9udGVuZElzU3BsaXQoRnJvbnRlbmQpID8gImV2ZW50LWNoYW5uZWwtcngiIDogImV2
ZW50LWNoYW5uZWwiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAiJXUiLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICBQb3J0KTsKKyAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKKyAg
ICAgICAgZ290byBmYWlsMjsKKwogICAgIHJldHVybiBTVEFUVVNfU1VDQ0VTUzsKIAorZmFpbDI6
CisgICAgRXJyb3IoImZhaWwyXG4iKTsKKwogZmFpbDE6CiAgICAgRXJyb3IoImZhaWwxICglMDh4
KVxuIiwgc3RhdHVzKTsKIApAQCAtMjYyOCw2ICsyODA0LDggQEAgX19SZWNlaXZlclJpbmdFbmFi
bGUoCiAKICAgICBSaW5nLT5FbmFibGVkID0gVFJVRTsKIAorICAgIChWT0lEKSBLZUluc2VydFF1
ZXVlRHBjKCZSaW5nLT5EcGMsIE5VTEwsIE5VTEwpOworCiAgICAgX19SZWNlaXZlclJpbmdSZWxl
YXNlTG9jayhSaW5nKTsKIAogICAgIEluZm8oIiVzWyV1XTogPD09PT1cbiIsCkBAIC0yNjY2LDEx
ICsyODQ0LDE0IEBAIF9fUmVjZWl2ZXJSaW5nRGlzYWJsZSgKICAgICBSaW5nLT5FbmFibGVkID0g
RkFMU0U7CiAgICAgUmluZy0+U3RvcHBlZCA9IEZBTFNFOwogCi0gICAgaWYgKEtlSW5zZXJ0UXVl
dWVEcGMoJlJpbmctPkRwYywgTlVMTCwgTlVMTCkpCi0gICAgICAgIFJpbmctPkRwY3MrKzsKLQog
ICAgIF9fUmVjZWl2ZXJSaW5nUmVsZWFzZUxvY2soUmluZyk7CiAKKyAgICAvLworICAgIC8vIE5v
IG5ldyB0aW1lcnMgY2FuIGJlIHNjaGVkdWxlZCBvbmNlIEVuYWJsZWQgZ29lcyB0byBGQUxTRS4K
KyAgICAvLyBDYW5jZWwgYW55IGV4aXN0aW5nIG9uZXMuCisgICAgLy8KKyAgICAoVk9JRCkgS2VD
YW5jZWxUaW1lcigmUmluZy0+VGltZXIpOworCiAgICAgSW5mbygiJXNbJXVdOiA8PT09PVxuIiwK
ICAgICAgICAgIEZyb250ZW5kR2V0UGF0aChGcm9udGVuZCksCiAgICAgICAgICBSaW5nLT5JbmRl
eCk7CkBAIC0yNjg3LDEzICsyODY4LDE5IEBAIF9fUmVjZWl2ZXJSaW5nRGlzY29ubmVjdCgKICAg
ICBSZWNlaXZlciA9IFJpbmctPlJlY2VpdmVyOwogICAgIEZyb250ZW5kID0gUmVjZWl2ZXItPkZy
b250ZW5kOwogCi0gICAgUmluZy0+RHBjcyA9IDA7Ci0KICAgICBfX1JlY2VpdmVyUmluZ0VtcHR5
KFJpbmcpOwogCiAgICAgQVNTRVJUKFJpbmctPkNvbm5lY3RlZCk7CiAgICAgUmluZy0+Q29ubmVj
dGVkID0gRkFMU0U7CiAKKyAgICBYRU5CVVNfRVZUQ0hOKENsb3NlLAorICAgICAgICAgICAgICAg
ICAgJlJlY2VpdmVyLT5FdnRjaG5JbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICBSaW5nLT5D
aGFubmVsKTsKKyAgICBSaW5nLT5DaGFubmVsID0gTlVMTDsKKworICAgIFJpbmctPkV2ZW50cyA9
IDA7CisgICAgUmluZy0+RHBjcyA9IDA7CisKICAgICBBU1NFUlQzVShSaW5nLT5SZXNwb25zZXNQ
cm9jZXNzZWQsID09LCBSaW5nLT5SZXF1ZXN0c1B1c2hlZCk7CiAgICAgQVNTRVJUM1UoUmluZy0+
UmVxdWVzdHNQdXNoZWQsID09LCBSaW5nLT5SZXF1ZXN0c1Bvc3RlZCk7CiAKQEAgLTI3MzgsMTMg
KzI5MjUsMTMgQEAgX19SZWNlaXZlclJpbmdUZWFyZG93bigKICAgICBGcm9udGVuZCA9IFJlY2Vp
dmVyLT5Gcm9udGVuZDsKIAogICAgIFJ0bFplcm9NZW1vcnkoJlJpbmctPkhhc2gsIHNpemVvZiAo
WEVOVklGX1JFQ0VJVkVSX0hBU0gpKTsKKyAgICBSdGxaZXJvTWVtb3J5KCZSaW5nLT5UaW1lckRw
Yywgc2l6ZW9mIChLRFBDKSk7CisgICAgUnRsWmVyb01lbW9yeSgmUmluZy0+VGltZXIsIHNpemVv
ZiAoS1RJTUVSKSk7CisgICAgUnRsWmVyb01lbW9yeSgmUmluZy0+RHBjLCBzaXplb2YgKEtEUEMp
KTsKIAogICAgIFJpbmctPkJhY2tmaWxsU2l6ZSA9IDA7CiAgICAgUmluZy0+T2ZmbG9hZE9wdGlv
bnMuVmFsdWUgPSAwOwogCi0gICAgS2VGbHVzaFF1ZXVlZERwY3MoKTsKLSAgICBSdGxaZXJvTWVt
b3J5KCZSaW5nLT5EcGMsIHNpemVvZiAoS0RQQykpOwotCiAgICAgVGhyZWFkQWxlcnQoUmluZy0+
V2F0Y2hkb2dUaHJlYWQpOwogICAgIFRocmVhZEpvaW4oUmluZy0+V2F0Y2hkb2dUaHJlYWQpOwog
ICAgIFJpbmctPldhdGNoZG9nVGhyZWFkID0gTlVMTDsKQEAgLTI3NTksOCArMjk0Niw4IEBAIF9f
UmVjZWl2ZXJSaW5nVGVhcmRvd24oCiAgICAgICAgICAgICAgICAgIFJpbmctPlBhY2tldENhY2hl
KTsKICAgICBSaW5nLT5QYWNrZXRDYWNoZSA9IE5VTEw7CiAKLSAgICBBU1NFUlQoSXNMaXN0RW1w
dHkoJlJpbmctPlBhY2tldENvbXBsZXRlKSk7Ci0gICAgUnRsWmVyb01lbW9yeSgmUmluZy0+UGFj
a2V0Q29tcGxldGUsIHNpemVvZiAoTElTVF9FTlRSWSkpOworICAgIEFTU0VSVChJc0xpc3RFbXB0
eSgmUmluZy0+UGFja2V0TGlzdCkpOworICAgIFJ0bFplcm9NZW1vcnkoJlJpbmctPlBhY2tldExp
c3QsIHNpemVvZiAoTElTVF9FTlRSWSkpOwogCiAgICAgRnJvbnRlbmRGcmVlUGF0aChGcm9udGVu
ZCwgUmluZy0+UGF0aCk7CiAgICAgUmluZy0+UGF0aCA9IE5VTEw7CkBAIC0yOTEwLDYgKzMwOTcs
OSBAQCBSZWNlaXZlckluaXRpYWxpemUoCiAgICAgRmRvR2V0R250dGFiSW50ZXJmYWNlKFBkb0dl
dEZkbyhGcm9udGVuZEdldFBkbyhGcm9udGVuZCkpLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAmKCpSZWNlaXZlciktPkdudHRhYkludGVyZmFjZSk7CiAKKyAgICBGZG9HZXRFdnRjaG5JbnRl
cmZhY2UoUGRvR2V0RmRvKEZyb250ZW5kR2V0UGRvKEZyb250ZW5kKSksCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICYoKlJlY2VpdmVyKS0+RXZ0Y2huSW50ZXJmYWNlKTsKKwogICAgICgqUmVj
ZWl2ZXIpLT5Gcm9udGVuZCA9IEZyb250ZW5kOwogCiAgICAgc3RhdHVzID0gWEVOQlVTX0NBQ0hF
KEFjcXVpcmUsICYoKlJlY2VpdmVyKS0+Q2FjaGVJbnRlcmZhY2UpOwpAQCAtMjk2Miw2ICszMTUy
LDkgQEAgZmFpbDI6CiAKICAgICAoKlJlY2VpdmVyKS0+RnJvbnRlbmQgPSBOVUxMOwogCisgICAg
UnRsWmVyb01lbW9yeSgmKCpSZWNlaXZlciktPkV2dGNobkludGVyZmFjZSwKKyAgICAgICAgICAg
ICAgICAgIHNpemVvZiAoWEVOQlVTX0VWVENITl9JTlRFUkZBQ0UpKTsKKwogICAgIFJ0bFplcm9N
ZW1vcnkoJigqUmVjZWl2ZXIpLT5HbnR0YWJJbnRlcmZhY2UsCiAgICAgICAgICAgICAgICAgICBz
aXplb2YgKFhFTkJVU19HTlRUQUJfSU5URVJGQUNFKSk7CiAKQEAgLTMwMTMsMTcgKzMyMDYsMjEg
QEAgUmVjZWl2ZXJDb25uZWN0KAogICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQogICAgICAg
ICBnb3RvIGZhaWwyOwogCi0gICAgc3RhdHVzID0gWEVOQlVTX0dOVFRBQihBY3F1aXJlLCAmUmVj
ZWl2ZXItPkdudHRhYkludGVyZmFjZSk7CisgICAgc3RhdHVzID0gWEVOQlVTX0VWVENITihBY3F1
aXJlLCAmUmVjZWl2ZXItPkV2dGNobkludGVyZmFjZSk7CiAgICAgaWYgKCFOVF9TVUNDRVNTKHN0
YXR1cykpCiAgICAgICAgIGdvdG8gZmFpbDM7CiAKKyAgICBzdGF0dXMgPSBYRU5CVVNfR05UVEFC
KEFjcXVpcmUsICZSZWNlaXZlci0+R250dGFiSW50ZXJmYWNlKTsKKyAgICBpZiAoIU5UX1NVQ0NF
U1Moc3RhdHVzKSkKKyAgICAgICAgZ290byBmYWlsNDsKKwogICAgIEluZGV4ID0gMDsKICAgICB3
aGlsZSAoSW5kZXggPCAoTE9ORylGcm9udGVuZEdldE51bVF1ZXVlcyhGcm9udGVuZCkpIHsKICAg
ICAgICAgUFhFTlZJRl9SRUNFSVZFUl9SSU5HICAgUmluZyA9IFJlY2VpdmVyLT5SaW5nW0luZGV4
XTsKIAogICAgICAgICBzdGF0dXMgPSBfX1JlY2VpdmVyUmluZ0Nvbm5lY3QoUmluZyk7CiAgICAg
ICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQotICAgICAgICAgICAgZ290byBmYWlsNDsKKyAg
ICAgICAgICAgIGdvdG8gZmFpbDU7CiAKICAgICAgICAgSW5kZXgrKzsKICAgICB9ICAgIApAQCAt
MzAzNSwxOCArMzIzMiwxOCBAQCBSZWNlaXZlckNvbm5lY3QoCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFJlY2VpdmVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAmUmVjZWl2ZXItPkRl
YnVnQ2FsbGJhY2spOwogICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQotICAgICAgICBnb3Rv
IGZhaWw1OworICAgICAgICBnb3RvIGZhaWw2OwogCiAgICAgVHJhY2UoIjw9PT09XG4iKTsKICAg
ICByZXR1cm4gU1RBVFVTX1NVQ0NFU1M7CiAKLWZhaWw1OgotICAgIEVycm9yKCJmYWlsNVxuIik7
CitmYWlsNjoKKyAgICBFcnJvcigiZmFpbDZcbiIpOwogCiAgICAgSW5kZXggPSBGcm9udGVuZEdl
dE51bVF1ZXVlcyhGcm9udGVuZCk7CiAKLWZhaWw0OgotICAgIEVycm9yKCJmYWlsNFxuIik7Citm
YWlsNToKKyAgICBFcnJvcigiZmFpbDVcbiIpOwogCiAgICAgd2hpbGUgKC0tSW5kZXggPj0gMCkg
ewogICAgICAgICBQWEVOVklGX1JFQ0VJVkVSX1JJTkcgICBSaW5nID0gUmVjZWl2ZXItPlJpbmdb
SW5kZXhdOwpAQCAtMzA1Niw2ICszMjUzLDExIEBAIGZhaWw0OgogCiAgICAgWEVOQlVTX0dOVFRB
QihSZWxlYXNlLCAmUmVjZWl2ZXItPkdudHRhYkludGVyZmFjZSk7CiAKK2ZhaWw0OgorICAgIEVy
cm9yKCJmYWlsNFxuIik7CisKKyAgICBYRU5CVVNfRVZUQ0hOKFJlbGVhc2UsICZSZWNlaXZlci0+
RXZ0Y2huSW50ZXJmYWNlKTsKKwogZmFpbDM6CiAgICAgRXJyb3IoImZhaWwzXG4iKTsKIApAQCAt
MzI5NSwzNCArMzQ5Nyw2IEBAIGZhaWwxOgogICAgIHJldHVybiBzdGF0dXM7CiB9CiAKLUJPT0xF
QU4KLVJlY2VpdmVyUG9sbCgKLSAgICBJTiAgUFhFTlZJRl9SRUNFSVZFUiAgICBSZWNlaXZlciwK
LSAgICBJTiAgVUxPTkcgICAgICAgICAgICAgICBJbmRleAotICAgICkKLXsKLSAgICBQWEVOVklG
X0ZST05URU5EICAgICAgICBGcm9udGVuZDsKLSAgICBVTE9ORyAgICAgICAgICAgICAgICAgICBO
dW1RdWV1ZXM7Ci0gICAgUFhFTlZJRl9SRUNFSVZFUl9SSU5HICAgUmluZzsKLSAgICBCT09MRUFO
ICAgICAgICAgICAgICAgICBSZXRyeTsKLQotICAgIEFTU0VSVDNVKEtlR2V0Q3VycmVudElycWwo
KSwgPT0sIERJU1BBVENIX0xFVkVMKTsKLQotICAgIEZyb250ZW5kID0gUmVjZWl2ZXItPkZyb250
ZW5kOwotCi0gICAgTnVtUXVldWVzID0gRnJvbnRlbmRHZXROdW1RdWV1ZXMoRnJvbnRlbmQpOwot
ICAgIGlmIChJbmRleCA+PSBOdW1RdWV1ZXMpCi0gICAgICAgIHJldHVybiBGQUxTRTsKLQotICAg
IFJpbmcgPSBSZWNlaXZlci0+UmluZ1tJbmRleF07Ci0KLSAgICBfX1JlY2VpdmVyUmluZ0FjcXVp
cmVMb2NrKFJpbmcpOwotICAgIFJldHJ5ID0gUmVjZWl2ZXJSaW5nUG9sbChSaW5nKTsKLSAgICBf
X1JlY2VpdmVyUmluZ1JlbGVhc2VMb2NrKFJpbmcpOwotCi0gICAgcmV0dXJuIFJldHJ5OwotfQot
CiBWT0lECiBSZWNlaXZlckRpc2FibGUoCiAgICAgSU4gIFBYRU5WSUZfUkVDRUlWRVIgICAgUmVj
ZWl2ZXIKQEAgLTMzNzEsNiArMzU0NSw4IEBAIFJlY2VpdmVyRGlzY29ubmVjdCgKIAogICAgIFhF
TkJVU19HTlRUQUIoUmVsZWFzZSwgJlJlY2VpdmVyLT5HbnR0YWJJbnRlcmZhY2UpOwogCisgICAg
WEVOQlVTX0VWVENITihSZWxlYXNlLCAmUmVjZWl2ZXItPkV2dGNobkludGVyZmFjZSk7CisKICAg
ICBYRU5CVVNfU1RPUkUoUmVsZWFzZSwgJlJlY2VpdmVyLT5TdG9yZUludGVyZmFjZSk7CiAKICAg
ICBYRU5CVVNfREVCVUcoUmVsZWFzZSwgJlJlY2VpdmVyLT5EZWJ1Z0ludGVyZmFjZSk7CkBAIC0z
Mzg4LDYgKzM1NjQsOSBAQCBSZWNlaXZlclRlYXJkb3duKAogCiAgICAgRnJvbnRlbmQgPSBSZWNl
aXZlci0+RnJvbnRlbmQ7CiAKKyAgICBBU1NFUlQzVShLZUdldEN1cnJlbnRJcnFsKCksID09LCBQ
QVNTSVZFX0xFVkVMKTsKKyAgICBLZUZsdXNoUXVldWVkRHBjcygpOworCiAgICAgQVNTRVJUM1Uo
UmVjZWl2ZXItPlJldHVybmVkLCA9PSwgUmVjZWl2ZXItPkxvYW5lZCk7CiAgICAgUmVjZWl2ZXIt
PkxvYW5lZCA9IDA7CiAgICAgUmVjZWl2ZXItPlJldHVybmVkID0gMDsKQEAgLTM0MDcsNiArMzU4
Niw5IEBAIFJlY2VpdmVyVGVhcmRvd24oCiAKICAgICBSZWNlaXZlci0+RnJvbnRlbmQgPSBOVUxM
OwogCisgICAgUnRsWmVyb01lbW9yeSgmUmVjZWl2ZXItPkV2dGNobkludGVyZmFjZSwKKyAgICAg
ICAgICAgICAgICAgIHNpemVvZiAoWEVOQlVTX0VWVENITl9JTlRFUkZBQ0UpKTsKKwogICAgIFJ0
bFplcm9NZW1vcnkoJlJlY2VpdmVyLT5HbnR0YWJJbnRlcmZhY2UsCiAgICAgICAgICAgICAgICAg
ICBzaXplb2YgKFhFTkJVU19HTlRUQUJfSU5URVJGQUNFKSk7CiAKQEAgLTM1NDEsMTMgKzM3MjMs
MTYgQEAgUmVjZWl2ZXJXYWl0Rm9yUGFja2V0cygKICAgICBMQVJHRV9JTlRFR0VSICAgICAgICAg
ICBUaW1lb3V0OwogCiAgICAgQVNTRVJUM1UoS2VHZXRDdXJyZW50SXJxbCgpLCA8LCBESVNQQVRD
SF9MRVZFTCk7Ci0gICAgS2VGbHVzaFF1ZXVlZERwY3MoKTsKIAogICAgIEZyb250ZW5kID0gUmVj
ZWl2ZXItPkZyb250ZW5kOwogCiAgICAgVHJhY2UoIiVzOiA9PT09PlxuIiwgRnJvbnRlbmRHZXRQ
YXRoKEZyb250ZW5kKSk7CiAKICAgICBSZXR1cm5lZCA9IFJlY2VpdmVyLT5SZXR1cm5lZDsKKwor
ICAgIC8vIE1ha2Ugc3VyZSBMb2FuZWQgaXMgbm90IHNhbXBsZWQgYmVmb3JlIFJldHVybmVkCisg
ICAgS2VNZW1vcnlCYXJyaWVyKCk7CisKICAgICBMb2FuZWQgPSBSZWNlaXZlci0+TG9hbmVkOwog
ICAgIEFTU0VSVDNTKExvYW5lZCAtIFJldHVybmVkLCA+PSwgMCk7CiAKQEAgLTM1ODAsNiArMzc2
NSwzMiBAQCBSZWNlaXZlcldhaXRGb3JQYWNrZXRzKAogICAgIFRyYWNlKCIlczogPD09PT1cbiIs
IEZyb250ZW5kR2V0UGF0aChGcm9udGVuZCkpOwogfQogCitWT0lECitSZWNlaXZlclRyaWdnZXIo
CisgICAgSU4gIFBYRU5WSUZfUkVDRUlWRVIgICAgUmVjZWl2ZXIsCisgICAgSU4gIFVMT05HICAg
ICAgICAgICAgICAgSW5kZXgKKyAgICApCit7CisgICAgUFhFTlZJRl9SRUNFSVZFUl9SSU5HICAg
UmluZzsKKworICAgIFJpbmcgPSBSZWNlaXZlci0+UmluZ1tJbmRleF07CisKKyAgICBfX1JlY2Vp
dmVyUmluZ1RyaWdnZXIoUmluZywgRkFMU0UpOworfQorCitWT0lECitSZWNlaXZlclNlbmQoCisg
ICAgSU4gIFBYRU5WSUZfUkVDRUlWRVIgICAgUmVjZWl2ZXIsCisgICAgSU4gIFVMT05HICAgICAg
ICAgICAgICAgSW5kZXgKKyAgICApCit7CisgICAgUFhFTlZJRl9SRUNFSVZFUl9SSU5HICAgUmlu
ZzsKKworICAgIFJpbmcgPSBSZWNlaXZlci0+UmluZ1tJbmRleF07CisKKyAgICBfX1JlY2VpdmVy
UmluZ1NlbmQoUmluZywgRkFMU0UpOworfQorCiBOVFNUQVRVUwogUmVjZWl2ZXJTZXRIYXNoQWxn
b3JpdGhtKAogICAgIElOICBQWEVOVklGX1JFQ0VJVkVSICAgICAgICAgICAgICAgIFJlY2VpdmVy
LApkaWZmIC0tZ2l0IGEvc3JjL3hlbnZpZi9yZWNlaXZlci5oIGIvc3JjL3hlbnZpZi9yZWNlaXZl
ci5oCmluZGV4IGUxYjdhODguLjc4NDZmMGIgMTAwNjQ0Ci0tLSBhL3NyYy94ZW52aWYvcmVjZWl2
ZXIuaAorKysgYi9zcmMveGVudmlmL3JlY2VpdmVyLmgKQEAgLTYyLDEyICs2Miw2IEBAIFJlY2Vp
dmVyRW5hYmxlKAogICAgIElOICBQWEVOVklGX1JFQ0VJVkVSICAgIFJlY2VpdmVyCiAgICAgKTsK
IAotZXh0ZXJuIEJPT0xFQU4KLVJlY2VpdmVyUG9sbCgKLSAgICBJTiAgUFhFTlZJRl9SRUNFSVZF
UiAgICBSZWNlaXZlciwKLSAgICBJTiAgVUxPTkcgICAgICAgICAgICAgICBJbmRleAotICAgICk7
Ci0KIGV4dGVybiBWT0lECiBSZWNlaXZlckRpc2FibGUoCiAgICAgSU4gIFBYRU5WSUZfUkVDRUlW
RVIgICAgUmVjZWl2ZXIKZGlmZiAtLWdpdCBhL3NyYy94ZW52aWYvdHJhbnNtaXR0ZXIuYyBiL3Ny
Yy94ZW52aWYvdHJhbnNtaXR0ZXIuYwppbmRleCBlZWQwYTBmLi43NzBhY2E5IDEwMDY0NAotLS0g
YS9zcmMveGVudmlmL3RyYW5zbWl0dGVyLmMKKysrIGIvc3JjL3hlbnZpZi90cmFuc21pdHRlci5j
CkBAIC00Myw2ICs0Myw3IEBACiAjaW5jbHVkZSA8Y2FjaGVfaW50ZXJmYWNlLmg+CiAjaW5jbHVk
ZSA8Z250dGFiX2ludGVyZmFjZS5oPgogI2luY2x1ZGUgPHJhbmdlX3NldF9pbnRlcmZhY2UuaD4K
KyNpbmNsdWRlIDxldnRjaG5faW50ZXJmYWNlLmg+CiAKICNpbmNsdWRlICJwZG8uaCIKICNpbmNs
dWRlICJmcm9udGVuZC5oIgpAQCAtMTc4LDYgKzE3OSwxMiBAQCB0eXBlZGVmIHN0cnVjdCBfWEVO
VklGX1RSQU5TTUlUVEVSX1JJTkcgewogICAgIG5ldGlmX3R4X2Zyb250X3JpbmdfdCAgICAgICAg
ICAgRnJvbnQ7CiAgICAgbmV0aWZfdHhfc3JpbmdfdCAgICAgICAgICAgICAgICAqU2hhcmVkOwog
ICAgIFBYRU5CVVNfR05UVEFCX0VOVFJZICAgICAgICAgICAgRW50cnk7CisgICAgUFhFTkJVU19F
VlRDSE5fQ0hBTk5FTCAgICAgICAgICBDaGFubmVsOworICAgIEtEUEMgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgRHBjOworICAgIFVMT05HICAgICAgICAgICAgICAgICAgICAgICAgICAgRHBj
czsKKyAgICBLVElNRVIgICAgICAgICAgICAgICAgICAgICAgICAgIFRpbWVyOworICAgIEtEUEMg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgVGltZXJEcGM7CisgICAgVUxPTkcgICAgICAgICAg
ICAgICAgICAgICAgICAgICBFdmVudHM7CiAgICAgQk9PTEVBTiAgICAgICAgICAgICAgICAgICAg
ICAgICBDb25uZWN0ZWQ7CiAgICAgQk9PTEVBTiAgICAgICAgICAgICAgICAgICAgICAgICBFbmFi
bGVkOwogICAgIEJPT0xFQU4gICAgICAgICAgICAgICAgICAgICAgICAgU3RvcHBlZDsKQEAgLTIw
OCw2ICsyMTUsNyBAQCBzdHJ1Y3QgX1hFTlZJRl9UUkFOU01JVFRFUiB7CiAgICAgWEVOQlVTX0NB
Q0hFX0lOVEVSRkFDRSAgICAgIENhY2hlSW50ZXJmYWNlOwogICAgIFhFTkJVU19HTlRUQUJfSU5U
RVJGQUNFICAgICBHbnR0YWJJbnRlcmZhY2U7CiAgICAgWEVOQlVTX1JBTkdFX1NFVF9JTlRFUkZB
Q0UgIFJhbmdlU2V0SW50ZXJmYWNlOworICAgIFhFTkJVU19FVlRDSE5fSU5URVJGQUNFICAgICBF
dnRjaG5JbnRlcmZhY2U7CiAgICAgUFhFTlZJRl9UUkFOU01JVFRFUl9SSU5HICAgICpSaW5nOwog
ICAgIEJPT0xFQU4gICAgICAgICAgICAgICAgICAgICBNdWx0aWNhc3RDb250cm9sOwogICAgIFVM
T05HICAgICAgICAgICAgICAgICAgICAgICBEaXNhYmxlSXBWZXJzaW9uNEdzbzsKQEAgLTc2Miw2
ICs3NzAsMTUgQEAgVHJhbnNtaXR0ZXJSaW5nRGVidWdDYWxsYmFjaygKICAgICAgICAgICAgICAg
ICAgUmluZy0+UGFja2V0c1VucHJlcGFyZWQsCiAgICAgICAgICAgICAgICAgIFJpbmctPlBhY2tl
dHNTZW50LAogICAgICAgICAgICAgICAgICBSaW5nLT5QYWNrZXRzQ29tcGxldGVkKTsKKworICAg
IGlmIChGcm9udGVuZElzU3BsaXQoRnJvbnRlbmQpKSB7CisgICAgICAgIC8vIER1bXAgZXZlbnQg
Y2hhbm5lbAorICAgICAgICBYRU5CVVNfREVCVUcoUHJpbnRmLAorICAgICAgICAgICAgICAgICAg
ICAgJlRyYW5zbWl0dGVyLT5EZWJ1Z0ludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgICAgICJF
dmVudHMgPSAlbHUgRHBjcyA9ICVsdVxuIiwKKyAgICAgICAgICAgICAgICAgICAgIFJpbmctPkV2
ZW50cywKKyAgICAgICAgICAgICAgICAgICAgIFJpbmctPkRwY3MpOworICAgIH0KIH0KIAogc3Rh
dGljIEJPT0xFQU4KQEAgLTI2MjIsNiArMjYzOSw5IEBAIFRyYW5zbWl0dGVyUmluZ1BvbGwoCiAg
ICAgICAgIFJJTkdfSURYICAgIHJzcF9jb25zOwogICAgICAgICBVTE9ORyAgICAgICBFeHRyYTsK
IAorICAgICAgICBpZiAoUmV0cnkpCisgICAgICAgICAgICBicmVhazsKKwogICAgICAgICBLZU1l
bW9yeUJhcnJpZXIoKTsKIAogICAgICAgICByc3BfcHJvZCA9IFJpbmctPlNoYXJlZC0+cnNwX3By
b2Q7CkBAIC0yNjI5LDggKzI2NDksMTUgQEAgVHJhbnNtaXR0ZXJSaW5nUG9sbCgKIAogICAgICAg
ICBLZU1lbW9yeUJhcnJpZXIoKTsKIAotICAgICAgICBpZiAocnNwX2NvbnMgPT0gcnNwX3Byb2Qg
fHwgUmV0cnkpCisgICAgICAgIGlmIChyc3BfY29ucyA9PSByc3BfcHJvZCkgeworICAgICAgICAg
ICAgUklOR19JRFggV29ya1RvRG87CisKKyAgICAgICAgICAgIFJJTkdfRklOQUxfQ0hFQ0tfRk9S
X1JFU1BPTlNFUygmUmluZy0+RnJvbnQsIFdvcmtUb0RvKTsKKyAgICAgICAgICAgIGlmIChXb3Jr
VG9EbykKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKwogICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgIH0KIAogICAgICAgICBFeHRyYSA9IDA7CiAgICAgICAgIHdoaWxlIChyc3BfY29ucyAh
PSByc3BfcHJvZCAmJiAhUmV0cnkpIHsKQEAgLTI3NjksNyArMjc5Niw2IEBAIFRyYW5zbWl0dGVy
UmluZ1BvbGwoCiAgICAgICAgIEtlTWVtb3J5QmFycmllcigpOwogCiAgICAgICAgIFJpbmctPkZy
b250LnJzcF9jb25zID0gcnNwX2NvbnM7Ci0gICAgICAgIFJpbmctPlNoYXJlZC0+cnNwX2V2ZW50
ID0gcnNwX2NvbnMgKyAxOwogICAgIH0KIAogZG9uZToKQEAgLTI3NzksMTcgKzI4MDUsNjQgQEAg
ZG9uZToKIH0KIAogc3RhdGljIEZPUkNFSU5MSU5FIFZPSUQKLV9fVHJhbnNtaXR0ZXJSaW5nUHVz
aFJlcXVlc3RzKAorX19UcmFuc21pdHRlclJpbmdUcmlnZ2VyKAorICAgIElOICBQWEVOVklGX1RS
QU5TTUlUVEVSX1JJTkcgICAgUmluZworICAgICkKK3sKKyAgICBQWEVOVklGX1RSQU5TTUlUVEVS
ICAgICAgICAgICAgIFRyYW5zbWl0dGVyOworICAgIFBYRU5WSUZfRlJPTlRFTkQgICAgICAgICAg
ICAgICAgRnJvbnRlbmQ7CisKKyAgICBUcmFuc21pdHRlciA9IFJpbmctPlRyYW5zbWl0dGVyOwor
ICAgIEZyb250ZW5kID0gVHJhbnNtaXR0ZXItPkZyb250ZW5kOworCisgICAgaWYgKCFSaW5nLT5D
b25uZWN0ZWQpCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChGcm9udGVuZElzU3BsaXQoRnJv
bnRlbmQpKSB7CisgICAgICAgIEFTU0VSVChSaW5nLT5DaGFubmVsICE9IE5VTEwpOworCisgICAg
ICAgIChWT0lEKSBYRU5CVVNfRVZUQ0hOKFRyaWdnZXIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICZUcmFuc21pdHRlci0+RXZ0Y2huSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBSaW5nLT5DaGFubmVsKTsKKyAgICB9IGVsc2UgeworICAgICAgICBSZWNlaXZl
clRyaWdnZXIoRnJvbnRlbmRHZXRSZWNlaXZlcihGcm9udGVuZCksCisgICAgICAgICAgICAgICAg
ICAgICAgICBSaW5nLT5JbmRleCk7CisgICAgfQorfQorCitzdGF0aWMgRk9SQ0VJTkxJTkUgVk9J
RAorX19UcmFuc21pdHRlclJpbmdTZW5kKAogICAgIElOICBQWEVOVklGX1RSQU5TTUlUVEVSX1JJ
TkcgICAgUmluZwogICAgICkKIHsKICAgICBQWEVOVklGX1RSQU5TTUlUVEVSICAgICAgICAgICAg
IFRyYW5zbWl0dGVyOwogICAgIFBYRU5WSUZfRlJPTlRFTkQgICAgICAgICAgICAgICAgRnJvbnRl
bmQ7Ci0gICAgQk9PTEVBTiAgICAgICAgICAgICAgICAgICAgICAgICBOb3RpZnk7CiAKICAgICBU
cmFuc21pdHRlciA9IFJpbmctPlRyYW5zbWl0dGVyOwogICAgIEZyb250ZW5kID0gVHJhbnNtaXR0
ZXItPkZyb250ZW5kOwogCisgICAgaWYgKCFSaW5nLT5Db25uZWN0ZWQpCisgICAgICAgIHJldHVy
bjsKKworICAgIGlmIChGcm9udGVuZElzU3BsaXQoRnJvbnRlbmQpKSB7CisgICAgICAgIEFTU0VS
VChSaW5nLT5DaGFubmVsICE9IE5VTEwpOworCisgICAgICAgIChWT0lEKSBYRU5CVVNfRVZUQ0hO
KFNlbmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZUcmFuc21pdHRlci0+RXZ0Y2hu
SW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSaW5nLT5DaGFubmVsKTsK
KyAgICB9IGVsc2UgeworICAgICAgICBSZWNlaXZlclNlbmQoRnJvbnRlbmRHZXRSZWNlaXZlcihG
cm9udGVuZCksCisgICAgICAgICAgICAgICAgICAgICBSaW5nLT5JbmRleCk7CisgICAgfQorfQor
CitzdGF0aWMgRk9SQ0VJTkxJTkUgVk9JRAorX19UcmFuc21pdHRlclJpbmdQdXNoUmVxdWVzdHMo
CisgICAgSU4gIFBYRU5WSUZfVFJBTlNNSVRURVJfUklORyAgICBSaW5nCisgICAgKQoreworICAg
IEJPT0xFQU4gICAgICAgICAgICAgICAgICAgICAgICAgTm90aWZ5OworCiAgICAgaWYgKFJpbmct
PlJlcXVlc3RzUG9zdGVkID09IFJpbmctPlJlcXVlc3RzUHVzaGVkKQogICAgICAgICByZXR1cm47
CiAKQEAgLTI4MDIsOSArMjg3NSw3IEBAIF9fVHJhbnNtaXR0ZXJSaW5nUHVzaFJlcXVlc3RzKAog
I3ByYWdtYSB3YXJuaW5nIChwb3ApCiAKICAgICBpZiAoTm90aWZ5KQotICAgICAgICBQb2xsZXJT
ZW5kKEZyb250ZW5kR2V0UG9sbGVyKEZyb250ZW5kKSwKLSAgICAgICAgICAgICAgICAgICBSaW5n
LT5JbmRleCwKLSAgICAgICAgICAgICAgICAgICBYRU5WSUZfUE9MTEVSX0VWRU5UX1RSQU5TTUlU
KTsKKyAgICAgICAgX19UcmFuc21pdHRlclJpbmdTZW5kKFJpbmcpOwogCiAgICAgUmluZy0+UmVx
dWVzdHNQdXNoZWQgPSBSaW5nLT5SZXF1ZXN0c1Bvc3RlZDsKIH0KQEAgLTMxNTgsMTEgKzMyMjks
MTMxIEBAIFRyYW5zbWl0dGVyUmluZ1JlbGVhc2VMb2NrKAogICAgIF9fVHJhbnNtaXR0ZXJSaW5n
UmVsZWFzZUxvY2soUmluZyk7CiB9CiAKK3N0YXRpYyBGT1JDRUlOTElORSBWT0lECitfX1RyYW5z
bWl0dGVyUmluZ1VubWFzaygKKyAgICBJTiAgUFhFTlZJRl9UUkFOU01JVFRFUl9SSU5HICAgIFJp
bmcKKyAgICApCit7CisgICAgUFhFTlZJRl9UUkFOU01JVFRFUiAgICAgICAgICAgICBUcmFuc21p
dHRlcjsKKyAgICBQWEVOVklGX0ZST05URU5EICAgICAgICAgICAgICAgIEZyb250ZW5kOworCisg
ICAgVHJhbnNtaXR0ZXIgPSBSaW5nLT5UcmFuc21pdHRlcjsKKyAgICBGcm9udGVuZCA9IFRyYW5z
bWl0dGVyLT5Gcm9udGVuZDsKKworICAgIGlmICghUmluZy0+Q29ubmVjdGVkIHx8ICFGcm9udGVu
ZElzU3BsaXQoRnJvbnRlbmQpKQorICAgICAgICByZXR1cm47CisKKyAgICBYRU5CVVNfRVZUQ0hO
KFVubWFzaywKKyAgICAgICAgICAgICAgICAgICZUcmFuc21pdHRlci0+RXZ0Y2huSW50ZXJmYWNl
LAorICAgICAgICAgICAgICAgICAgUmluZy0+Q2hhbm5lbCwKKyAgICAgICAgICAgICAgICAgIEZB
TFNFLAorICAgICAgICAgICAgICAgICAgVFJVRSk7Cit9CisKK3N0YXRpYyBGT1JDRUlOTElORSBC
T09MRUFOCitfX1RyYW5zbWl0dGVyUmluZ0RwY1RpbWVvdXQoCisgICAgSU4gIFBYRU5WSUZfVFJB
TlNNSVRURVJfUklORyAgICBSaW5nCisgICAgKQoreworICAgIEtEUENfV0FUQ0hET0dfSU5GT1JN
QVRJT04gICAgICAgV2F0Y2hkb2c7CisgICAgTlRTVEFUVVMgICAgICAgICAgICAgICAgICAgICAg
ICBzdGF0dXM7CisKKyAgICBVTlJFRkVSRU5DRURfUEFSQU1FVEVSKFJpbmcpOworCisgICAgUnRs
WmVyb01lbW9yeSgmV2F0Y2hkb2csIHNpemVvZiAoV2F0Y2hkb2cpKTsKKworICAgIHN0YXR1cyA9
IEtlUXVlcnlEcGNXYXRjaGRvZ0luZm9ybWF0aW9uKCZXYXRjaGRvZyk7CisgICAgQVNTRVJUKE5U
X1NVQ0NFU1Moc3RhdHVzKSk7CisKKyAgICBpZiAoV2F0Y2hkb2cuRHBjVGltZUxpbWl0ID09IDAg
fHwKKyAgICAgICAgV2F0Y2hkb2cuRHBjV2F0Y2hkb2dMaW1pdCA9PSAwKQorICAgICAgICByZXR1
cm4gRkFMU0U7CisKKyAgICBpZiAoV2F0Y2hkb2cuRHBjVGltZUNvdW50ID4gKFdhdGNoZG9nLkRw
Y1RpbWVMaW1pdCAvIDIpICYmCisgICAgICAgIFdhdGNoZG9nLkRwY1dhdGNoZG9nQ291bnQgPiAo
V2F0Y2hkb2cuRHBjV2F0Y2hkb2dMaW1pdCAvIDIpKQorICAgICAgICByZXR1cm4gRkFMU0U7CisK
KyAgICByZXR1cm4gVFJVRTsKK30KKwogI2RlZmluZSBUSU1FX1VTKF91cykgICAgICAgICgoX3Vz
KSAqIDEwKQogI2RlZmluZSBUSU1FX01TKF9tcykgICAgICAgIChUSU1FX1VTKChfbXMpICogMTAw
MCkpCiAjZGVmaW5lIFRJTUVfUyhfcykgICAgICAgICAgKFRJTUVfTVMoKF9zKSAqIDEwMDApKQog
I2RlZmluZSBUSU1FX1JFTEFUSVZFKF90KSAgICgtKF90KSkKIAorX19kcnZfZnVuY3Rpb25DbGFz
cyhLREVGRVJSRURfUk9VVElORSkKK19fZHJ2X21heElSUUwoRElTUEFUQ0hfTEVWRUwpCitfX2Ry
dl9taW5JUlFMKERJU1BBVENIX0xFVkVMKQorX19kcnZfcmVxdWlyZXNJUlFMKERJU1BBVENIX0xF
VkVMKQorX19kcnZfc2FtZUlSUUwKK3N0YXRpYyBWT0lECitUcmFuc21pdHRlclJpbmdEcGMoCisg
ICAgSU4gIFBLRFBDICAgICAgICAgICAgICAgICAgIERwYywKKyAgICBJTiAgUFZPSUQgICAgICAg
ICAgICAgICAgICAgQ29udGV4dCwKKyAgICBJTiAgUFZPSUQgICAgICAgICAgICAgICAgICAgQXJn
dW1lbnQxLAorICAgIElOICBQVk9JRCAgICAgICAgICAgICAgICAgICBBcmd1bWVudDIKKyAgICAp
Cit7CisgICAgUFhFTlZJRl9UUkFOU01JVFRFUl9SSU5HICAgIFJpbmcgPSBDb250ZXh0OworCisg
ICAgVU5SRUZFUkVOQ0VEX1BBUkFNRVRFUihEcGMpOworICAgIFVOUkVGRVJFTkNFRF9QQVJBTUVU
RVIoQXJndW1lbnQxKTsKKyAgICBVTlJFRkVSRU5DRURfUEFSQU1FVEVSKEFyZ3VtZW50Mik7CisK
KyAgICBBU1NFUlQoUmluZyAhPSBOVUxMKTsKKworICAgIGZvciAoOzspIHsKKyAgICAgICAgQk9P
TEVBTiBSZXRyeTsKKworICAgICAgICBfX1RyYW5zbWl0dGVyUmluZ0FjcXVpcmVMb2NrKFJpbmcp
OworICAgICAgICBSZXRyeSA9IFRyYW5zbWl0dGVyUmluZ1BvbGwoUmluZyk7CisgICAgICAgIF9f
VHJhbnNtaXR0ZXJSaW5nUmVsZWFzZUxvY2soUmluZyk7CisKKyAgICAgICAgaWYgKCFSZXRyeSkg
eworICAgICAgICAgICAgX19UcmFuc21pdHRlclJpbmdVbm1hc2soUmluZyk7CisgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChfX1RyYW5zbWl0dGVyUmluZ0RwY1Rp
bWVvdXQoUmluZykpIHsKKyAgICAgICAgICAgIExBUkdFX0lOVEVHRVIgICBEZWxheTsKKworICAg
ICAgICAgICAgRGVsYXkuUXVhZFBhcnQgPSBUSU1FX1JFTEFUSVZFKFRJTUVfVVMoMTAwKSk7CisK
KyAgICAgICAgICAgIEtlU2V0VGltZXIoJlJpbmctPlRpbWVyLCBEZWxheSwgJlJpbmctPlRpbWVy
RHBjKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorfQorCitLU0VSVklD
RV9ST1VUSU5FICAgIFRyYW5zbWl0dGVyUmluZ0V2dGNobkNhbGxiYWNrOworCitCT09MRUFOCitU
cmFuc21pdHRlclJpbmdFdnRjaG5DYWxsYmFjaygKKyAgICBJTiAgUEtJTlRFUlJVUFQgICAgICAg
ICAgICAgSW50ZXJydXB0T2JqZWN0LAorICAgIElOICBQVk9JRCAgICAgICAgICAgICAgICAgICBB
cmd1bWVudAorICAgICkKK3sKKyAgICBQWEVOVklGX1RSQU5TTUlUVEVSX1JJTkcgICAgUmluZyA9
IEFyZ3VtZW50OworICAgIFBYRU5WSUZfVFJBTlNNSVRURVIgICAgICAgICBUcmFuc21pdHRlcjsK
KyAgICBQWEVOVklGX0ZST05URU5EICAgICAgICAgICAgRnJvbnRlbmQ7CisKKyAgICBVTlJFRkVS
RU5DRURfUEFSQU1FVEVSKEludGVycnVwdE9iamVjdCk7CisKKyAgICBBU1NFUlQoUmluZyAhPSBO
VUxMKTsKKworICAgIFRyYW5zbWl0dGVyID0gUmluZy0+VHJhbnNtaXR0ZXI7CisgICAgRnJvbnRl
bmQgPSBUcmFuc21pdHRlci0+RnJvbnRlbmQ7CisKKyAgICBBU1NFUlQoRnJvbnRlbmRJc1NwbGl0
KEZyb250ZW5kKSk7CisKKyAgICBSaW5nLT5FdmVudHMrKzsKKworICAgIGlmIChLZUluc2VydFF1
ZXVlRHBjKCZSaW5nLT5EcGMsIE5VTEwsIE5VTEwpKQorICAgICAgICBSaW5nLT5EcGNzKys7CisK
KyAgICByZXR1cm4gVFJVRTsKK30KKwogI2RlZmluZSBYRU5WSUZfVFJBTlNNSVRURVJfV0FUQ0hE
T0dfUEVSSU9EICAzMAogCiBzdGF0aWMgTlRTVEFUVVMKQEAgLTMyMjEsMjIgKzM0MTIsMTYgQEAg
VHJhbnNtaXR0ZXJSaW5nV2F0Y2hkb2coCiAgICAgICAgICAgICBpZiAoUmluZy0+UGFja2V0c1F1
ZXVlZCA9PSBQYWNrZXRzUXVldWVkICYmCiAgICAgICAgICAgICAgICAgUmluZy0+UGFja2V0c0Nv
bXBsZXRlZCAhPSBQYWNrZXRzUXVldWVkKSB7CiAgICAgICAgICAgICAgICAgUFhFTlZJRl9UUkFO
U01JVFRFUiBUcmFuc21pdHRlcjsKLSAgICAgICAgICAgICAgICBQWEVOVklGX0ZST05URU5EICAg
IEZyb250ZW5kOwogCiAgICAgICAgICAgICAgICAgVHJhbnNtaXR0ZXIgPSBSaW5nLT5UcmFuc21p
dHRlcjsKLSAgICAgICAgICAgICAgICBGcm9udGVuZCA9IFRyYW5zbWl0dGVyLT5Gcm9udGVuZDsK
IAogICAgICAgICAgICAgICAgIFhFTkJVU19ERUJVRyhUcmlnZ2VyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAmVHJhbnNtaXR0ZXItPkRlYnVnSW50ZXJmYWNlLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBSaW5nLT5EZWJ1Z0NhbGxiYWNrKTsKIAogICAgICAgICAgICAgICAg
IC8vIFRyeSB0byBtb3ZlIHRoaW5ncyBhbG9uZwotICAgICAgICAgICAgICAgIFBvbGxlclRyaWdn
ZXIoRnJvbnRlbmRHZXRQb2xsZXIoRnJvbnRlbmQpLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgUmluZy0+SW5kZXgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYRU5WSUZf
UE9MTEVSX0VWRU5UX1RSQU5TTUlUKTsKLSAgICAgICAgICAgICAgICBQb2xsZXJTZW5kKEZyb250
ZW5kR2V0UG9sbGVyKEZyb250ZW5kKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIFJpbmct
PkluZGV4LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgWEVOVklGX1BPTExFUl9FVkVOVF9U
UkFOU01JVCk7CisgICAgICAgICAgICAgICAgX19UcmFuc21pdHRlclJpbmdUcmlnZ2VyKFJpbmcp
OworICAgICAgICAgICAgICAgIF9fVHJhbnNtaXR0ZXJSaW5nU2VuZChSaW5nKTsKICAgICAgICAg
ICAgIH0KIAogICAgICAgICAgICAgUGFja2V0c1F1ZXVlZCA9IFJpbmctPlBhY2tldHNRdWV1ZWQ7
CkBAIC0zMjgxLDYgKzM0NjYsMTAgQEAgX19UcmFuc21pdHRlclJpbmdJbml0aWFsaXplKAogICAg
IEluaXRpYWxpemVMaXN0SGVhZCgmKCpSaW5nKS0+UmVxdWVzdFF1ZXVlKTsKICAgICBJbml0aWFs
aXplTGlzdEhlYWQoJigqUmluZyktPlBhY2tldENvbXBsZXRlKTsKIAorICAgIEtlSW5pdGlhbGl6
ZURwYygmKCpSaW5nKS0+RHBjLCBUcmFuc21pdHRlclJpbmdEcGMsICpSaW5nKTsKKyAgICBLZUlu
aXRpYWxpemVUaW1lcigmKCpSaW5nKS0+VGltZXIpOworICAgIEtlSW5pdGlhbGl6ZURwYygmKCpS
aW5nKS0+VGltZXJEcGMsIFRyYW5zbWl0dGVyUmluZ0RwYywgKlJpbmcpOworCiAgICAgc3RhdHVz
ID0gUnRsU3RyaW5nQ2JQcmludGZBKE5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHNpemVvZiAoTmFtZSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlc190
cmFuc21pdHRlcl9idWZmZXIiLApAQCAtMzQ4Miw2ICszNjcxLDggQEAgZmFpbDQ6CiBmYWlsMzoK
ICAgICBFcnJvcigiZmFpbDNcbiIpOwogCisgICAgUnRsWmVyb01lbW9yeSgmKCpSaW5nKS0+RHBj
LCBzaXplb2YgKEtEUEMpKTsKKwogICAgIFJ0bFplcm9NZW1vcnkoJigqUmluZyktPlBhY2tldENv
bXBsZXRlLCBzaXplb2YgKExJU1RfRU5UUlkpKTsKICAgICBSdGxaZXJvTWVtb3J5KCYoKlJpbmcp
LT5SZXF1ZXN0UXVldWUsIHNpemVvZiAoTElTVF9FTlRSWSkpOwogICAgIFJ0bFplcm9NZW1vcnko
JigqUmluZyktPlBhY2tldFF1ZXVlLCBzaXplb2YgKExJU1RfRU5UUlkpKTsKQEAgLTM1MTUsNiAr
MzcwNiw3IEBAIF9fVHJhbnNtaXR0ZXJSaW5nQ29ubmVjdCgKICAgICBQRk5fTlVNQkVSICAgICAg
ICAgICAgICAgICAgICAgIFBmbjsKICAgICBDSEFSICAgICAgICAgICAgICAgICAgICAgICAgICAg
IE5hbWVbTUFYTkFNRUxFTl07CiAgICAgVUxPTkcgICAgICAgICAgICAgICAgICAgICAgICAgICBJ
bmRleDsKKyAgICBQUk9DRVNTT1JfTlVNQkVSICAgICAgICAgICAgICAgIFByb2NOdW1iZXI7CiAg
ICAgTlRTVEFUVVMgICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXM7CiAKICAgICBBU1NFUlQo
IVJpbmctPkNvbm5lY3RlZCk7CkBAIC0zNTgwLDYgKzM3NzIsMzggQEAgX19UcmFuc21pdHRlclJp
bmdDb25uZWN0KAogCiAgICAgQVNTRVJUM1UoS2VHZXRDdXJyZW50SXJxbCgpLCA9PSwgRElTUEFU
Q0hfTEVWRUwpOwogCisgICAgaWYgKEZyb250ZW5kSXNTcGxpdChGcm9udGVuZCkpIHsKKyAgICAg
ICAgUmluZy0+Q2hhbm5lbCA9IFhFTkJVU19FVlRDSE4oT3BlbiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJlRyYW5zbWl0dGVyLT5FdnRjaG5JbnRlcmZhY2UsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhFTkJVU19FVlRDSE5fVFlQRV9VTkJP
VU5ELAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUcmFuc21pdHRlclJp
bmdFdnRjaG5DYWxsYmFjaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
UmluZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRnJvbnRlbmRHZXRC
YWNrZW5kRG9tYWluKEZyb250ZW5kKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgVFJVRSk7CisKKyAgICAgICAgc3RhdHVzID0gU1RBVFVTX1VOU1VDQ0VTU0ZVTDsKKyAg
ICAgICAgaWYgKFJpbmctPkNoYW5uZWwgPT0gTlVMTCkKKyAgICAgICAgICAgIGdvdG8gZmFpbDY7
CisKKyAgICAgICAgc3RhdHVzID0gS2VHZXRQcm9jZXNzb3JOdW1iZXJGcm9tSW5kZXgoUmluZy0+
SW5kZXgsICZQcm9jTnVtYmVyKTsKKyAgICAgICAgQVNTRVJUKE5UX1NVQ0NFU1Moc3RhdHVzKSk7
CisKKyAgICAgICAgS2VTZXRUYXJnZXRQcm9jZXNzb3JEcGNFeCgmUmluZy0+RHBjLCAmUHJvY051
bWJlcik7CisgICAgICAgIEtlU2V0VGFyZ2V0UHJvY2Vzc29yRHBjRXgoJlJpbmctPlRpbWVyRHBj
LCAmUHJvY051bWJlcik7CisKKyAgICAgICAgKFZPSUQpIFhFTkJVU19FVlRDSE4oQmluZCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJlRyYW5zbWl0dGVyLT5FdnRjaG5JbnRlcmZhY2Us
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJpbmctPkNoYW5uZWwsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFByb2NOdW1iZXIuR3JvdXAsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFByb2NOdW1iZXIuTnVtYmVyKTsKKworICAgICAgICAoVk9JRCkgWEVOQlVTX0VW
VENITihVbm1hc2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZUcmFuc21pdHRlci0+
RXZ0Y2huSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSaW5nLT5DaGFu
bmVsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGQUxTRSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgVFJVRSk7CisgICAgfQorCiAgICAgc3RhdHVzID0gWEVOQlVTX0RFQlVH
KFJlZ2lzdGVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAmVHJhbnNtaXR0ZXItPkRlYnVn
SW50ZXJmYWNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICBOYW1lLApAQCAtMzU4NywxMiAr
MzgxMSwyMiBAQCBfX1RyYW5zbWl0dGVyUmluZ0Nvbm5lY3QoCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFJpbmcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICZSaW5nLT5EZWJ1Z0NhbGxi
YWNrKTsKICAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKLSAgICAgICAgZ290byBmYWlsNjsK
KyAgICAgICAgZ290byBmYWlsNzsKIAogICAgIFJpbmctPkNvbm5lY3RlZCA9IFRSVUU7CiAKICAg
ICByZXR1cm4gU1RBVFVTX1NVQ0NFU1M7CiAKK2ZhaWw3OgorICAgIEVycm9yKCJmYWlsN1xuIik7
CisKKyAgICBYRU5CVVNfRVZUQ0hOKENsb3NlLAorICAgICAgICAgICAgICAgICAgJlRyYW5zbWl0
dGVyLT5FdnRjaG5JbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICBSaW5nLT5DaGFubmVsKTsK
KyAgICBSaW5nLT5DaGFubmVsID0gTlVMTDsKKworICAgIFJpbmctPkV2ZW50cyA9IDA7CisKIGZh
aWw2OgogICAgIEVycm9yKCJmYWlsNlxuIik7CiAKQEAgLTM2NDEsNiArMzg3NSw3IEBAIF9fVHJh
bnNtaXR0ZXJSaW5nU3RvcmVXcml0ZSgKIHsKICAgICBQWEVOVklGX1RSQU5TTUlUVEVSICAgICAg
ICAgICAgIFRyYW5zbWl0dGVyOwogICAgIFBYRU5WSUZfRlJPTlRFTkQgICAgICAgICAgICAgICAg
RnJvbnRlbmQ7CisgICAgVUxPTkcgICAgICAgICAgICAgICAgICAgICAgICAgICBQb3J0OwogICAg
IFBDSEFSICAgICAgICAgICAgICAgICAgICAgICAgICAgUGF0aDsKICAgICBOVFNUQVRVUyAgICAg
ICAgICAgICAgICAgICAgICAgIHN0YXR1czsKIApAQCAtMzY2Myw4ICszODk4LDI5IEBAIF9fVHJh
bnNtaXR0ZXJSaW5nU3RvcmVXcml0ZSgKICAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKICAg
ICAgICAgZ290byBmYWlsMTsKIAorICAgIGlmICghRnJvbnRlbmRJc1NwbGl0KEZyb250ZW5kKSkK
KyAgICAgICAgZ290byBkb25lOworCisgICAgUG9ydCA9IFhFTkJVU19FVlRDSE4oR2V0UG9ydCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAmVHJhbnNtaXR0ZXItPkV2dGNobkludGVyZmFjZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICBSaW5nLT5DaGFubmVsKTsKKworICAgIHN0YXR1cyA9
IFhFTkJVU19TVE9SRShQcmludGYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICZUcmFuc21p
dHRlci0+U3RvcmVJbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgIFRyYW5zYWN0
aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICBQYXRoLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAiZXZlbnQtY2hhbm5lbC10eCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICIl
dSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIFBvcnQpOworICAgIGlmICghTlRfU1VDQ0VT
UyhzdGF0dXMpKQorICAgICAgICBnb3RvIGZhaWwyOworCitkb25lOgogICAgIHJldHVybiBTVEFU
VVNfU1VDQ0VTUzsKIAorZmFpbDI6CisgICAgRXJyb3IoImZhaWwyXG4iKTsKKwogZmFpbDE6CiAg
ICAgRXJyb3IoImZhaWwxICglMDh4KVxuIiwgc3RhdHVzKTsKIApAQCAtMzY5MSw2ICszOTQ3LDgg
QEAgX19UcmFuc21pdHRlclJpbmdFbmFibGUoCiAgICAgQVNTRVJUKCFSaW5nLT5FbmFibGVkKTsK
ICAgICBSaW5nLT5FbmFibGVkID0gVFJVRTsKIAorICAgIEtlSW5zZXJ0UXVldWVEcGMoJlJpbmct
PkRwYywgTlVMTCwgTlVMTCk7CisKICAgICBfX1RyYW5zbWl0dGVyUmluZ1JlbGVhc2VMb2NrKFJp
bmcpOwogCiAgICAgSW5mbygiJXNbJXVdOiA8PT09PVxuIiwKQEAgLTM3NzAsOSArNDAyOCw3IEBA
IF9fVHJhbnNtaXR0ZXJSaW5nRGlzYWJsZSgKICAgICAgICAgQVNTRVJUKEF0dGVtcHQgPCAxMDAp
OwogCiAgICAgICAgIC8vIFRyeSB0byBtb3ZlIHRoaW5ncyBhbG9uZwotICAgICAgICBQb2xsZXJT
ZW5kKEZyb250ZW5kR2V0UG9sbGVyKEZyb250ZW5kKSwKLSAgICAgICAgICAgICAgICAgICBSaW5n
LT5JbmRleCwKLSAgICAgICAgICAgICAgICAgICBYRU5WSUZfUE9MTEVSX0VWRU5UX1RSQU5TTUlU
KTsKKyAgICAgICAgX19UcmFuc21pdHRlclJpbmdTZW5kKFJpbmcpOwogICAgICAgICAoVk9JRCkg
VHJhbnNtaXR0ZXJSaW5nUG9sbChSaW5nKTsKIAogICAgICAgICBpZiAoU3RhdGUgIT0gWGVuYnVz
U3RhdGVDb25uZWN0ZWQpCkBAIC0zNzkwLDYgKzQwNDYsMTIgQEAgX19UcmFuc21pdHRlclJpbmdE
aXNhYmxlKAogCiAgICAgX19UcmFuc21pdHRlclJpbmdSZWxlYXNlTG9jayhSaW5nKTsKIAorICAg
IC8vCisgICAgLy8gTm8gbmV3IHRpbWVycyBjYW4gYmUgc2NoZWR1bGVkIG9uY2UgRW5hYmxlZCBn
b2VzIHRvIEZBTFNFLgorICAgIC8vIENhbmNlbCBhbnkgZXhpc3Rpbmcgb25lcy4KKyAgICAvLwor
ICAgIChWT0lEKSBLZUNhbmNlbFRpbWVyKCZSaW5nLT5UaW1lcik7CisKICAgICBJbmZvKCIlc1sl
dV06IDw9PT09XG4iLAogICAgICAgICAgRnJvbnRlbmRHZXRQYXRoKEZyb250ZW5kKSwKICAgICAg
ICAgIFJpbmctPkluZGV4KTsKQEAgLTM4MDksNiArNDA3MSwxNyBAQCBfX1RyYW5zbWl0dGVyUmlu
Z0Rpc2Nvbm5lY3QoCiAgICAgVHJhbnNtaXR0ZXIgPSBSaW5nLT5UcmFuc21pdHRlcjsKICAgICBG
cm9udGVuZCA9IFRyYW5zbWl0dGVyLT5Gcm9udGVuZDsKIAorICAgIGlmIChSaW5nLT5DaGFubmVs
ICE9IE5VTEwpIHsKKyAgICAgICAgWEVOQlVTX0VWVENITihDbG9zZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAmVHJhbnNtaXR0ZXItPkV2dGNobkludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAg
ICAgICBSaW5nLT5DaGFubmVsKTsKKyAgICAgICAgUmluZy0+Q2hhbm5lbCA9IE5VTEw7CisKKyAg
ICAgICAgUmluZy0+RXZlbnRzID0gMDsKKyAgICB9CisKKyAgICBSaW5nLT5EcGNzID0gMDsKKwog
ICAgIEFTU0VSVDNVKFJpbmctPlJlc3BvbnNlc1Byb2Nlc3NlZCwgPT0sIFJpbmctPlJlcXVlc3Rz
UHVzaGVkKTsKICAgICBBU1NFUlQzVShSaW5nLT5SZXF1ZXN0c1B1c2hlZCwgPT0sIFJpbmctPlJl
cXVlc3RzUG9zdGVkKTsKIApAQCAtMzg1Miw2ICs0MTI1LDEyIEBAIF9fVHJhbnNtaXR0ZXJSaW5n
VGVhcmRvd24oCiAgICAgVHJhbnNtaXR0ZXIgPSBSaW5nLT5UcmFuc21pdHRlcjsKICAgICBGcm9u
dGVuZCA9IFRyYW5zbWl0dGVyLT5Gcm9udGVuZDsKIAorICAgIFJpbmctPkRwY3MgPSAwOworCisg
ICAgUnRsWmVyb01lbW9yeSgmUmluZy0+VGltZXJEcGMsIHNpemVvZiAoS0RQQykpOworICAgIFJ0
bFplcm9NZW1vcnkoJlJpbmctPlRpbWVyLCBzaXplb2YgKEtUSU1FUikpOworICAgIFJ0bFplcm9N
ZW1vcnkoJlJpbmctPkRwYywgc2l6ZW9mIChLRFBDKSk7CisKICAgICBBU1NFUlQzVShSaW5nLT5Q
YWNrZXRzQ29tcGxldGVkLCA9PSwgUmluZy0+UGFja2V0c1NlbnQpOwogICAgIEFTU0VSVDNVKFJp
bmctPlBhY2tldHNTZW50LCA9PSwgUmluZy0+UGFja2V0c1ByZXBhcmVkIC0gUmluZy0+UGFja2V0
c1VucHJlcGFyZWQpOwogICAgIEFTU0VSVDNVKFJpbmctPlBhY2tldHNQcmVwYXJlZCwgPT0sIFJp
bmctPlBhY2tldHNDb3BpZWQgKyBSaW5nLT5QYWNrZXRzR3JhbnRlZCArIFJpbmctPlBhY2tldHNG
YWtlZCk7CkBAIC00Mjc3LDYgKzQ1NTYsOSBAQCBUcmFuc21pdHRlckluaXRpYWxpemUoCiAgICAg
RmRvR2V0R250dGFiSW50ZXJmYWNlKFBkb0dldEZkbyhGcm9udGVuZEdldFBkbyhGcm9udGVuZCkp
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAmKCpUcmFuc21pdHRlciktPkdudHRhYkludGVy
ZmFjZSk7CiAKKyAgICBGZG9HZXRFdnRjaG5JbnRlcmZhY2UoUGRvR2V0RmRvKEZyb250ZW5kR2V0
UGRvKEZyb250ZW5kKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICYoKlRyYW5zbWl0dGVy
KS0+RXZ0Y2huSW50ZXJmYWNlKTsKKwogICAgICgqVHJhbnNtaXR0ZXIpLT5Gcm9udGVuZCA9IEZy
b250ZW5kOwogICAgIEtlSW5pdGlhbGl6ZVNwaW5Mb2NrKCYoKlRyYW5zbWl0dGVyKS0+TG9jayk7
CiAKQEAgLTQ0MjksMTAgKzQ3MTEsMTQgQEAgVHJhbnNtaXR0ZXJDb25uZWN0KAogICAgIGlmICgh
TlRfU1VDQ0VTUyhzdGF0dXMpKQogICAgICAgICBnb3RvIGZhaWwyOwogCi0gICAgc3RhdHVzID0g
WEVOQlVTX0dOVFRBQihBY3F1aXJlLCAmVHJhbnNtaXR0ZXItPkdudHRhYkludGVyZmFjZSk7Cisg
ICAgc3RhdHVzID0gWEVOQlVTX0VWVENITihBY3F1aXJlLCAmVHJhbnNtaXR0ZXItPkV2dGNobklu
dGVyZmFjZSk7CiAgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCiAgICAgICAgIGdvdG8gZmFp
bDM7CiAKKyAgICBzdGF0dXMgPSBYRU5CVVNfR05UVEFCKEFjcXVpcmUsICZUcmFuc21pdHRlci0+
R250dGFiSW50ZXJmYWNlKTsKKyAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKKyAgICAgICAg
Z290byBmYWlsNDsKKwogICAgIGlmIChUcmFuc21pdHRlci0+RGlzYWJsZU11bHRpY2FzdENvbnRy
b2wgPT0gMCkgewogICAgICAgICBzdGF0dXMgPSBYRU5CVVNfU1RPUkUoUmVhZCwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICZUcmFuc21pdHRlci0+U3RvcmVJbnRlcmZhY2UsCkBAIC00
NDU1LDcgKzQ3NDEsNyBAQCBUcmFuc21pdHRlckNvbm5lY3QoCiAKICAgICAgICAgc3RhdHVzID0g
X19UcmFuc21pdHRlclJpbmdDb25uZWN0KFJpbmcpOwogICAgICAgICBpZiAoIU5UX1NVQ0NFU1Mo
c3RhdHVzKSkKLSAgICAgICAgICAgIGdvdG8gZmFpbDQ7CisgICAgICAgICAgICBnb3RvIGZhaWw1
OwogCiAgICAgICAgIEluZGV4Kys7CiAgICAgfSAgICAKQEAgLTQ0NjcsMTggKzQ3NTMsMTggQEAg
VHJhbnNtaXR0ZXJDb25uZWN0KAogICAgICAgICAgICAgICAgICAgICAgICAgICBUcmFuc21pdHRl
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgJlRyYW5zbWl0dGVyLT5EZWJ1Z0NhbGxiYWNr
KTsKICAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKLSAgICAgICAgZ290byBmYWlsNTsKKyAg
ICAgICAgZ290byBmYWlsNjsKIAogICAgIFRyYWNlKCI8PT09PVxuIik7CiAgICAgcmV0dXJuIFNU
QVRVU19TVUNDRVNTOwogCi1mYWlsNToKLSAgICBFcnJvcigiZmFpbDVcbiIpOworZmFpbDY6Cisg
ICAgRXJyb3IoImZhaWw2XG4iKTsKIAogICAgIEluZGV4ID0gRnJvbnRlbmRHZXROdW1RdWV1ZXMo
RnJvbnRlbmQpOwogCi1mYWlsNDoKLSAgICBFcnJvcigiZmFpbDRcbiIpOworZmFpbDU6CisgICAg
RXJyb3IoImZhaWw1XG4iKTsKIAogICAgIHdoaWxlICgtLUluZGV4ID49IDApIHsKICAgICAgICAg
UFhFTlZJRl9UUkFOU01JVFRFUl9SSU5HICAgIFJpbmc7CkBAIC00NDkyLDYgKzQ3NzgsMTEgQEAg
ZmFpbDQ6CiAKICAgICBYRU5CVVNfR05UVEFCKFJlbGVhc2UsICZUcmFuc21pdHRlci0+R250dGFi
SW50ZXJmYWNlKTsKIAorZmFpbDQ6CisgICAgRXJyb3IoImZhaWw0XG4iKTsKKworICAgIFhFTkJV
U19FVlRDSE4oUmVsZWFzZSwgJlRyYW5zbWl0dGVyLT5FdnRjaG5JbnRlcmZhY2UpOworCiBmYWls
MzoKICAgICBFcnJvcigiZmFpbDNcbiIpOwogCkBAIC00NjI4LDM0ICs0OTE5LDYgQEAgVHJhbnNt
aXR0ZXJFbmFibGUoCiAgICAgcmV0dXJuIFNUQVRVU19TVUNDRVNTOwogfQogCi1CT09MRUFOCi1U
cmFuc21pdHRlclBvbGwoCi0gICAgSU4gIFBYRU5WSUZfVFJBTlNNSVRURVIgICAgIFRyYW5zbWl0
dGVyLAotICAgIElOICBVTE9ORyAgICAgICAgICAgICAgICAgICBJbmRleAotICAgICkKLXsKLSAg
ICBQWEVOVklGX0ZST05URU5EICAgICAgICAgICAgRnJvbnRlbmQ7Ci0gICAgVUxPTkcgICAgICAg
ICAgICAgICAgICAgICAgIE51bVF1ZXVlczsKLSAgICBQWEVOVklGX1RSQU5TTUlUVEVSX1JJTkcg
ICAgUmluZzsKLSAgICBCT09MRUFOICAgICAgICAgICAgICAgICAgICAgUmV0cnk7Ci0KLSAgICBB
U1NFUlQzVShLZUdldEN1cnJlbnRJcnFsKCksID09LCBESVNQQVRDSF9MRVZFTCk7Ci0KLSAgICBG
cm9udGVuZCA9IFRyYW5zbWl0dGVyLT5Gcm9udGVuZDsKLQotICAgIE51bVF1ZXVlcyA9IEZyb250
ZW5kR2V0TnVtUXVldWVzKEZyb250ZW5kKTsKLSAgICBpZiAoSW5kZXggPj0gTnVtUXVldWVzKQot
ICAgICAgICByZXR1cm4gRkFMU0U7Ci0KLSAgICBSaW5nID0gVHJhbnNtaXR0ZXItPlJpbmdbSW5k
ZXhdOwotCi0gICAgX19UcmFuc21pdHRlclJpbmdBY3F1aXJlTG9jayhSaW5nKTsKLSAgICBSZXRy
eSA9IFRyYW5zbWl0dGVyUmluZ1BvbGwoUmluZyk7Ci0gICAgX19UcmFuc21pdHRlclJpbmdSZWxl
YXNlTG9jayhSaW5nKTsKLQotICAgIHJldHVybiBSZXRyeTsKLX0KLQogVk9JRAogVHJhbnNtaXR0
ZXJEaXNhYmxlKAogICAgIElOICBQWEVOVklGX1RSQU5TTUlUVEVSIFRyYW5zbWl0dGVyCkBAIC00
NzA2LDYgKzQ5NjksOCBAQCBUcmFuc21pdHRlckRpc2Nvbm5lY3QoCiAKICAgICBYRU5CVVNfR05U
VEFCKFJlbGVhc2UsICZUcmFuc21pdHRlci0+R250dGFiSW50ZXJmYWNlKTsKIAorICAgIFhFTkJV
U19FVlRDSE4oUmVsZWFzZSwgJlRyYW5zbWl0dGVyLT5FdnRjaG5JbnRlcmZhY2UpOworCiAgICAg
WEVOQlVTX1NUT1JFKFJlbGVhc2UsICZUcmFuc21pdHRlci0+U3RvcmVJbnRlcmZhY2UpOwogCiAg
ICAgWEVOQlVTX0RFQlVHKFJlbGVhc2UsICZUcmFuc21pdHRlci0+RGVidWdJbnRlcmZhY2UpOwpA
QCAtNDcyNCw2ICs0OTg5LDcgQEAgVHJhbnNtaXR0ZXJUZWFyZG93bigKICAgICBGcm9udGVuZCA9
IFRyYW5zbWl0dGVyLT5Gcm9udGVuZDsKIAogICAgIEFTU0VSVDNVKEtlR2V0Q3VycmVudElycWwo
KSwgPT0sIFBBU1NJVkVfTEVWRUwpOworICAgIEtlRmx1c2hRdWV1ZWREcGNzKCk7CiAKICAgICBJ
bmRleCA9IEZyb250ZW5kR2V0TWF4UXVldWVzKEZyb250ZW5kKTsKICAgICB3aGlsZSAoLS1JbmRl
eCA+PSAwKSB7CkBAIC00NzY1LDYgKzUwMzEsOSBAQCBUcmFuc21pdHRlclRlYXJkb3duKAogICAg
IFJ0bFplcm9NZW1vcnkoJlRyYW5zbWl0dGVyLT5EZWJ1Z0ludGVyZmFjZSwKICAgICAgICAgICAg
ICAgICAgIHNpemVvZiAoWEVOQlVTX0RFQlVHX0lOVEVSRkFDRSkpOwogCisgICAgUnRsWmVyb01l
bW9yeSgmVHJhbnNtaXR0ZXItPkV2dGNobkludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgIHNp
emVvZiAoWEVOQlVTX0VWVENITl9JTlRFUkZBQ0UpKTsKKwogICAgIFRyYW5zbWl0dGVyLT5EaXNh
YmxlSXBWZXJzaW9uNEdzbyA9IDA7CiAgICAgVHJhbnNtaXR0ZXItPkRpc2FibGVJcFZlcnNpb242
R3NvID0gMDsKICAgICBUcmFuc21pdHRlci0+QWx3YXlzQ29weSA9IDA7CkBAIC01MDQxLDYgKzUz
MTAsMjUgQEAgVHJhbnNtaXR0ZXJRdWVyeVJpbmdTaXplKAogfQogCiBWT0lECitUcmFuc21pdHRl
ck5vdGlmeSgKKyAgICBJTiAgUFhFTlZJRl9UUkFOU01JVFRFUiAgICAgVHJhbnNtaXR0ZXIsCisg
ICAgSU4gIFVMT05HICAgICAgICAgICAgICAgICAgIEluZGV4CisgICAgKQoreworICAgIFBYRU5W
SUZfRlJPTlRFTkQgICAgICAgICAgICBGcm9udGVuZDsKKyAgICBQWEVOVklGX1RSQU5TTUlUVEVS
X1JJTkcgICAgUmluZzsKKworICAgIEZyb250ZW5kID0gVHJhbnNtaXR0ZXItPkZyb250ZW5kOwor
CisgICAgQVNTRVJUKCFGcm9udGVuZElzU3BsaXQoRnJvbnRlbmQpKTsKKworICAgIFJpbmcgPSBU
cmFuc21pdHRlci0+UmluZ1tJbmRleF07CisKKyAgICBpZiAoS2VJbnNlcnRRdWV1ZURwYygmUmlu
Zy0+RHBjLCBOVUxMLCBOVUxMKSkKKyAgICAgICAgUmluZy0+RHBjcysrOworfQorCitWT0lECiBU
cmFuc21pdHRlclF1ZXJ5T2ZmbG9hZE9wdGlvbnMoCiAgICAgSU4gIFBYRU5WSUZfVFJBTlNNSVRU
RVIgICAgICAgICBUcmFuc21pdHRlciwKICAgICBPVVQgUFhFTlZJRl9WSUZfT0ZGTE9BRF9PUFRJ
T05TIE9wdGlvbnMKZGlmZiAtLWdpdCBhL3NyYy94ZW52aWYvdHJhbnNtaXR0ZXIuaCBiL3NyYy94
ZW52aWYvdHJhbnNtaXR0ZXIuaAppbmRleCAyNDQ2MjIwLi5kNDRmNzdlIDEwMDY0NAotLS0gYS9z
cmMveGVudmlmL3RyYW5zbWl0dGVyLmgKKysrIGIvc3JjL3hlbnZpZi90cmFuc21pdHRlci5oCkBA
IC02NCwxMiArNjQsNiBAQCBUcmFuc21pdHRlckVuYWJsZSgKICAgICBJTiAgUFhFTlZJRl9UUkFO
U01JVFRFUiBUcmFuc21pdHRlcgogICAgICk7CiAKLWV4dGVybiBCT09MRUFOCi1UcmFuc21pdHRl
clBvbGwoCi0gICAgSU4gIFBYRU5WSUZfVFJBTlNNSVRURVIgICAgIFRyYW5zbWl0dGVyLAotICAg
IElOICBVTE9ORyAgICAgICAgICAgICAgICAgICBJbmRleAotICAgICk7Ci0KIGV4dGVybiBWT0lE
CiBUcmFuc21pdHRlckRpc2FibGUoCiAgICAgSU4gIFBYRU5WSUZfVFJBTlNNSVRURVIgVHJhbnNt
aXR0ZXIKZGlmZiAtLWdpdCBhL3NyYy94ZW52aWYvdmlmLmMgYi9zcmMveGVudmlmL3ZpZi5jCmlu
ZGV4IDY5Y2VkNzguLmZmZGVjNTAgMTAwNjQ0Ci0tLSBhL3NyYy94ZW52aWYvdmlmLmMKKysrIGIv
c3JjL3hlbnZpZi92aWYuYwpAQCAtMTE2MSw3ICsxMTYxLDYgQEAgX19WaWZSZWNlaXZlclF1ZXVl
UGFja2V0KAogICAgICAgICAgICAgICAgICAgICAgIEhhc2gsCiAgICAgICAgICAgICAgICAgICAg
ICAgTW9yZSwKICAgICAgICAgICAgICAgICAgICAgICBDb29raWUpOwotCiB9CiAKIFZPSUQKQEAg
LTExODAsMTAgKzExNzksNiBAQCBWaWZSZWNlaXZlclF1ZXVlUGFja2V0KAogICAgIElOICBQVk9J
RCAgICAgICAgICAgICAgICAgICAgICAgICAgIENvb2tpZQogICAgICkKIHsKLSAgICBLSVJRTCAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJcnFsOwotCi0gICAgS2VSYWlzZUlycWwoRElT
UEFUQ0hfTEVWRUwsICZJcnFsKTsKLQogICAgIHN3aXRjaCAoQ29udGV4dC0+VmVyc2lvbikgewog
ICAgIGNhc2UgNjoKICAgICAgICAgX19WaWZSZWNlaXZlclF1ZXVlUGFja2V0VmVyc2lvbjYoQ29u
dGV4dCwKQEAgLTEyMzQsOCArMTIyOSw2IEBAIFZpZlJlY2VpdmVyUXVldWVQYWNrZXQoCiAgICAg
ICAgIEFTU0VSVChGQUxTRSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KLQotICAgIEtlTG93ZXJJ
cnFsKElycWwpOwogfQogCiBWT0lECmRpZmYgLS1naXQgYS92czIwMTUveGVudmlmL3hlbnZpZi52
Y3hwcm9qIGIvdnMyMDE1L3hlbnZpZi94ZW52aWYudmN4cHJvagppbmRleCAzYmUwYzE4Li44ZGI0
M2NiIDEwMDY0NAotLS0gYS92czIwMTUveGVudmlmL3hlbnZpZi52Y3hwcm9qCisrKyBiL3ZzMjAx
NS94ZW52aWYveGVudmlmLnZjeHByb2oKQEAgLTczLDcgKzczLDYgQEAKICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW52aWYvbWFjLmMiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLi8uLi9zcmMveGVudmlmL3BhcnNlLmMiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRl
PSIuLi8uLi9zcmMveGVudmlmL3Bkby5jIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi4v
Li4vc3JjL3hlbnZpZi9wb2xsZXIuYyIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4u
L3NyYy94ZW52aWYvcmVjZWl2ZXIuYyIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4u
L3NyYy94ZW52aWYvcmVnaXN0cnkuYyIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4u
L3NyYy94ZW52aWYvc2V0dGluZ3MuYyIgLz4KZGlmZiAtLWdpdCBhL3ZzMjAxNy94ZW52aWYveGVu
dmlmLnZjeHByb2ogYi92czIwMTcveGVudmlmL3hlbnZpZi52Y3hwcm9qCmluZGV4IGYyZTVkMTku
LmM2ZDAyZjkgMTAwNjQ0Ci0tLSBhL3ZzMjAxNy94ZW52aWYveGVudmlmLnZjeHByb2oKKysrIGIv
dnMyMDE3L3hlbnZpZi94ZW52aWYudmN4cHJvagpAQCAtODEsNyArODEsNiBAQAogICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iLi4vLi4vc3JjL3hlbnZpZi9tYWMuYyIgLz4KICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW52aWYvcGFyc2UuYyIgLz4KICAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uLy4uL3NyYy94ZW52aWYvcGRvLmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRl
PSIuLi8uLi9zcmMveGVudmlmL3BvbGxlci5jIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i
Li4vLi4vc3JjL3hlbnZpZi9yZWNlaXZlci5jIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i
Li4vLi4vc3JjL3hlbnZpZi9yZWdpc3RyeS5jIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i
Li4vLi4vc3JjL3hlbnZpZi9zZXR0aW5ncy5jIiAvPgotLSAKMi41LjMKCgpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwp3aW4tcHYtZGV2ZWwgbWFpbGluZyBs
aXN0Cndpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnBy
b2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRldmVs

From win-pv-devel-bounces@lists.xenproject.org Fri Nov 02 16:57:42 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 02 Nov 2018 16:57:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1gIclS-0003lr-8C; Fri, 02 Nov 2018 16:57:42 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=u19u=nn=citrix.com=prvs=8372cde87=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1gIclR-0003lk-3R
 for win-pv-devel@lists.xenproject.org; Fri, 02 Nov 2018 16:57:41 +0000
X-Inumbo-ID: fdc66264-debf-11e8-a29d-12d6303a7972
Received: from SMTP03.CITRIX.COM (unknown [162.221.156.55])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id fdc66264-debf-11e8-a29d-12d6303a7972;
 Fri, 02 Nov 2018 16:54:41 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.54,456,1534809600"; d="scan'208";a="69510340"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Fri, 2 Nov 2018 16:54:27 +0000
Message-ID: <1541177669-14212-7-git-send-email-paul.durrant@citrix.com>
X-Mailer: git-send-email 2.5.3
In-Reply-To: <1541177669-14212-1-git-send-email-paul.durrant@citrix.com>
References: <1541177669-14212-1-git-send-email-paul.durrant@citrix.com>
MIME-Version: 1.0
Subject: [win-pv-devel] [PATCH xenvif 6/8] Get rid of the 'Retry' exit from
 the ring poll routines
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Paul Durrant <paul.durrant@citrix.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

VGhpcyB3YXMgc3VwcG9zZWQgdG8gYWxsb3cgYmV0dGVyIGludGVybGVhdmluZyBvZiByZWNlaXZl
IGFuZCB0cmFuc21pdApwb2xsaW5nLCBidXQgdGhpcyBkb2VzIG5vdCByZWFsbHkgc2VlbSB0byBo
ZWxwIHNvIGl0IHJlYWxseSBvbmx5IG1ha2VzCnRoZSBjb2RlIG1vcmUgY29tcGxleCB0aGFuIGl0
IG5lZWRzIHRvIGJlLgoKU2lnbmVkLW9mZi1ieTogUGF1bCBEdXJyYW50IDxwYXVsLmR1cnJhbnRA
Y2l0cml4LmNvbT4KLS0tCiBzcmMveGVudmlmL3JlY2VpdmVyLmMgICAgfCAzMSArKysrKystLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBzcmMveGVudmlmL3RyYW5zbWl0dGVyLmMgfCAzMSArKysr
KystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDEyIGluc2VydGlv
bnMoKyksIDUwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy94ZW52aWYvcmVjZWl2ZXIu
YyBiL3NyYy94ZW52aWYvcmVjZWl2ZXIuYwppbmRleCBlZDM2MmZmLi41MzUzMjk0IDEwMDY0NAot
LS0gYS9zcmMveGVudmlmL3JlY2VpdmVyLmMKKysrIGIvc3JjL3hlbnZpZi9yZWNlaXZlci5jCkBA
IC0xOTc1LDIzICsxOTc1LDE5IEBAIF9fUmVjZWl2ZXJSaW5nUXVldWVQYWNrZXQoCiAgICAgfSB3
aGlsZSAoSW50ZXJsb2NrZWRDb21wYXJlRXhjaGFuZ2VQb2ludGVyKCZSaW5nLT5QYWNrZXRRdWV1
ZSwgKFBWT0lEKU5ldywgKFBWT0lEKU9sZCkgIT0gT2xkKTsKIH0KIAotc3RhdGljIERFQ0xTUEVD
X05PSU5MSU5FIEJPT0xFQU4KK3N0YXRpYyBERUNMU1BFQ19OT0lOTElORSBWT0lECiBSZWNlaXZl
clJpbmdQb2xsKAogICAgIElOICBQWEVOVklGX1JFQ0VJVkVSX1JJTkcgICBSaW5nCiAgICAgKQog
ewotI2RlZmluZSBYRU5WSUZfUkVDRUlWRVJfQkFUQ0goX1JpbmcpIChSSU5HX1NJWkUoJihfUmlu
ZyktPkZyb250KSAvIDQpCi0KICAgICBQWEVOVklGX1JFQ0VJVkVSICAgICAgICAgICAgUmVjZWl2
ZXI7CiAgICAgUFhFTlZJRl9GUk9OVEVORCAgICAgICAgICAgIEZyb250ZW5kOwotICAgIEJPT0xF
QU4gICAgICAgICAgICAgICAgICAgICBSZXRyeTsKIAogICAgIFJlY2VpdmVyID0gUmluZy0+UmVj
ZWl2ZXI7CiAgICAgRnJvbnRlbmQgPSBSZWNlaXZlci0+RnJvbnRlbmQ7Ci0gICAgUmV0cnkgPSBG
QUxTRTsKIAogICAgIGlmICghUmluZy0+RW5hYmxlZCkKLSAgICAgICAgZ290byBkb25lOworICAg
ICAgICByZXR1cm47CiAKICAgICBmb3IgKDs7KSB7CiAgICAgICAgIEJPT0xFQU4gICAgICAgICAg
ICAgICAgIEVycm9yOwpAQCAtMjAxNiw5ICsyMDEyLDYgQEAgUmVjZWl2ZXJSaW5nUG9sbCgKICAg
ICAgICAgVGFpbE1kbCA9IE5VTEw7CiAgICAgICAgIEVPUCA9IFRSVUU7CiAKLSAgICAgICAgaWYg
KFJldHJ5KQotICAgICAgICAgICAgYnJlYWs7Ci0KICAgICAgICAgS2VNZW1vcnlCYXJyaWVyKCk7
CiAKICAgICAgICAgcnNwX3Byb2QgPSBSaW5nLT5TaGFyZWQtPnJzcF9wcm9kOwpAQCAtMjAzNiw3
ICsyMDI5LDcgQEAgUmVjZWl2ZXJSaW5nUG9sbCgKICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICB9CiAKLSAgICAgICAgd2hpbGUgKHJzcF9jb25zICE9IHJzcF9wcm9kICYmICFSZXRyeSkgewor
ICAgICAgICB3aGlsZSAocnNwX2NvbnMgIT0gcnNwX3Byb2QpIHsKICAgICAgICAgICAgIG5ldGlm
X3J4X3Jlc3BvbnNlX3QgICAgICAgICAqcnNwOwogICAgICAgICAgICAgdWludDE2X3QgICAgICAg
ICAgICAgICAgICAgIGlkOwogICAgICAgICAgICAgUFhFTlZJRl9SRUNFSVZFUl9GUkFHTUVOVCAg
IEZyYWdtZW50OwpAQCAtMjE5Myw5ICsyMTg2LDYgQEAgUmVjZWl2ZXJSaW5nUG9sbCgKICAgICAg
ICAgICAgICAgICAgICAgX19SZWNlaXZlclJpbmdRdWV1ZVBhY2tldChSaW5nLCBQYWNrZXQpOwog
ICAgICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgICAgIGlmIChyc3BfY29ucyAtIFJpbmct
PkZyb250LnJzcF9jb25zID4gWEVOVklGX1JFQ0VJVkVSX0JBVENIKFJpbmcpKQotICAgICAgICAg
ICAgICAgICAgICBSZXRyeSA9IFRSVUU7Ci0KICAgICAgICAgICAgICAgICBFcnJvciA9IEZBTFNF
OwogICAgICAgICAgICAgICAgIEluZm8gPSAwOwogICAgICAgICAgICAgICAgIE1heGltdW1TZWdt
ZW50U2l6ZSA9IDA7CkBAIC0yMjI2LDExICsyMjE2LDYgQEAgUmVjZWl2ZXJSaW5nUG9sbCgKICAg
ICBpZiAoUmluZy0+UGFja2V0UXVldWUgIT0gTlVMTCAmJgogICAgICAgICBLZUluc2VydFF1ZXVl
RHBjKCZSaW5nLT5RdWV1ZURwYywgTlVMTCwgTlVMTCkpCiAgICAgICAgIFJpbmctPlF1ZXVlRHBj
cysrOwotCi1kb25lOgotICAgIHJldHVybiBSZXRyeTsKLQotI3VuZGVmICBYRU5WSUZfUkVDRUlW
RVJfQkFUQ0gKIH0KIAogc3RhdGljIEZPUkNFSU5MSU5FIFZPSUQKQEAgLTIyNzQsMTYgKzIyNTks
MTIgQEAgUmVjZWl2ZXJSaW5nUG9sbERwYygKICAgICBBU1NFUlQoUmluZyAhPSBOVUxMKTsKIAog
ICAgIGZvciAoOzspIHsKLSAgICAgICAgQk9PTEVBTiBSZXRyeTsKLQogICAgICAgICBfX1JlY2Vp
dmVyUmluZ0FjcXVpcmVMb2NrKFJpbmcpOwotICAgICAgICBSZXRyeSA9IFJlY2VpdmVyUmluZ1Bv
bGwoUmluZyk7CisgICAgICAgIFJlY2VpdmVyUmluZ1BvbGwoUmluZyk7CiAgICAgICAgIF9fUmVj
ZWl2ZXJSaW5nUmVsZWFzZUxvY2soUmluZyk7CiAKLSAgICAgICAgaWYgKCFSZXRyeSkgewotICAg
ICAgICAgICAgX19SZWNlaXZlclJpbmdVbm1hc2soUmluZyk7Ci0gICAgICAgICAgICBicmVhazsK
LSAgICAgICAgfQorICAgICAgICBfX1JlY2VpdmVyUmluZ1VubWFzayhSaW5nKTsKKyAgICAgICAg
YnJlYWs7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9zcmMveGVudmlmL3RyYW5zbWl0dGVyLmMg
Yi9zcmMveGVudmlmL3RyYW5zbWl0dGVyLmMKaW5kZXggNjg5NWYyYy4uNWU1M2Y5YSAxMDA2NDQK
LS0tIGEvc3JjL3hlbnZpZi90cmFuc21pdHRlci5jCisrKyBiL3NyYy94ZW52aWYvdHJhbnNtaXR0
ZXIuYwpAQCAtMjYxNCwzMiArMjYxNCwyNSBAQCBkb25lOgogICAgIFJpbmctPlBhY2tldHNDb21w
bGV0ZWQrKzsKIH0KIAotc3RhdGljIERFQ0xTUEVDX05PSU5MSU5FIEJPT0xFQU4KK3N0YXRpYyBE
RUNMU1BFQ19OT0lOTElORSBWT0lECiBUcmFuc21pdHRlclJpbmdQb2xsKAogICAgIElOICBQWEVO
VklGX1RSQU5TTUlUVEVSX1JJTkcgICAgUmluZwogICAgICkKIHsKLSNkZWZpbmUgWEVOVklGX1RS
QU5TTUlUVEVSX0JBVENIKF9SaW5nKSAoUklOR19TSVpFKCYoX1JpbmcpLT5Gcm9udCkgLyA0KQot
CiAgICAgUFhFTlZJRl9UUkFOU01JVFRFUiAgICAgICAgICAgICBUcmFuc21pdHRlcjsKICAgICBQ
WEVOVklGX0ZST05URU5EICAgICAgICAgICAgICAgIEZyb250ZW5kOwotICAgIEJPT0xFQU4gICAg
ICAgICAgICAgICAgICAgICAgICAgUmV0cnk7CiAKICAgICBUcmFuc21pdHRlciA9IFJpbmctPlRy
YW5zbWl0dGVyOwogICAgIEZyb250ZW5kID0gVHJhbnNtaXR0ZXItPkZyb250ZW5kOwotICAgIFJl
dHJ5ID0gRkFMU0U7CiAKICAgICBpZiAoIVJpbmctPkVuYWJsZWQpCi0gICAgICAgIGdvdG8gZG9u
ZTsKKyAgICAgICAgcmV0dXJuOwogCiAgICAgZm9yICg7OykgewogICAgICAgICBSSU5HX0lEWCAg
ICByc3BfcHJvZDsKICAgICAgICAgUklOR19JRFggICAgcnNwX2NvbnM7CiAgICAgICAgIFVMT05H
ICAgICAgIEV4dHJhOwogCi0gICAgICAgIGlmIChSZXRyeSkKLSAgICAgICAgICAgIGJyZWFrOwot
CiAgICAgICAgIEtlTWVtb3J5QmFycmllcigpOwogCiAgICAgICAgIHJzcF9wcm9kID0gUmluZy0+
U2hhcmVkLT5yc3BfcHJvZDsKQEAgLTI2NTgsNyArMjY1MSw3IEBAIFRyYW5zbWl0dGVyUmluZ1Bv
bGwoCiAgICAgICAgIH0KIAogICAgICAgICBFeHRyYSA9IDA7Ci0gICAgICAgIHdoaWxlIChyc3Bf
Y29ucyAhPSByc3BfcHJvZCAmJiAhUmV0cnkpIHsKKyAgICAgICAgd2hpbGUgKHJzcF9jb25zICE9
IHJzcF9wcm9kKSB7CiAgICAgICAgICAgICBuZXRpZl90eF9yZXNwb25zZV90ICAgICAgICAgICAg
ICpyc3A7CiAgICAgICAgICAgICB1aW50MTZfdCAgICAgICAgICAgICAgICAgICAgICAgIGlkOwog
ICAgICAgICAgICAgUFhFTlZJRl9UUkFOU01JVFRFUl9GUkFHTUVOVCAgICBGcmFnbWVudDsKQEAg
LTI3ODUsOSArMjc3OCw2IEBAIFRyYW5zbWl0dGVyUmluZ1BvbGwoCiAgICAgICAgICAgICAgICAg
UGFja2V0LT5Db21wbGV0aW9uLlN0YXR1cyA9IFhFTlZJRl9UUkFOU01JVFRFUl9QQUNLRVRfT0s7
CiAKICAgICAgICAgICAgIF9fVHJhbnNtaXR0ZXJSaW5nQ29tcGxldGVQYWNrZXQoUmluZywgUGFj
a2V0KTsKLQotICAgICAgICAgICAgaWYgKHJzcF9jb25zIC0gUmluZy0+RnJvbnQucnNwX2NvbnMg
PiBYRU5WSUZfVFJBTlNNSVRURVJfQkFUQ0goUmluZykpCi0gICAgICAgICAgICAgICAgUmV0cnkg
PSBUUlVFOwogICAgICAgICB9CiAgICAgICAgIEFTU0VSVDNVKEV4dHJhLCA9PSwgMCk7CiAKQEAg
LTI3OTUsMTEgKzI3ODUsNiBAQCBUcmFuc21pdHRlclJpbmdQb2xsKAogCiAgICAgICAgIFJpbmct
PkZyb250LnJzcF9jb25zID0gcnNwX2NvbnM7CiAgICAgfQotCi1kb25lOgotICAgIHJldHVybiBS
ZXRyeTsKLQotI3VuZGVmIFhFTlZJRl9UUkFOU01JVFRFUl9CQVRDSAogfQogCiBzdGF0aWMgRk9S
Q0VJTkxJTkUgVk9JRApAQCAtMzI3MCwxNiArMzI1NSwxMiBAQCBUcmFuc21pdHRlclJpbmdQb2xs
RHBjKAogICAgIEFTU0VSVChSaW5nICE9IE5VTEwpOwogCiAgICAgZm9yICg7OykgewotICAgICAg
ICBCT09MRUFOIFJldHJ5OwotCiAgICAgICAgIF9fVHJhbnNtaXR0ZXJSaW5nQWNxdWlyZUxvY2so
UmluZyk7Ci0gICAgICAgIFJldHJ5ID0gVHJhbnNtaXR0ZXJSaW5nUG9sbChSaW5nKTsKKyAgICAg
ICAgVHJhbnNtaXR0ZXJSaW5nUG9sbChSaW5nKTsKICAgICAgICAgX19UcmFuc21pdHRlclJpbmdS
ZWxlYXNlTG9jayhSaW5nKTsKIAotICAgICAgICBpZiAoIVJldHJ5KSB7Ci0gICAgICAgICAgICBf
X1RyYW5zbWl0dGVyUmluZ1VubWFzayhSaW5nKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICB9CisgICAgICAgIF9fVHJhbnNtaXR0ZXJSaW5nVW5tYXNrKFJpbmcpOworICAgICAgICBicmVh
azsKICAgICB9CiB9CiAKLS0gCjIuNS4zCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18Kd2luLXB2LWRldmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxA
bGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFu
L2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

From win-pv-devel-bounces@lists.xenproject.org Fri Nov 02 17:22:07 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 02 Nov 2018 17:22:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1gId94-00075X-Ap; Fri, 02 Nov 2018 17:22:06 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=u19u=nn=citrix.com=prvs=8372cde87=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1gId93-00075C-Au
 for win-pv-devel@lists.xenproject.org; Fri, 02 Nov 2018 17:22:05 +0000
X-Inumbo-ID: d0ff6223-dec3-11e8-9a16-bc764e045a96
Received: from SMTP03.CITRIX.COM (unknown [162.221.156.55])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id d0ff6223-dec3-11e8-9a16-bc764e045a96;
 Fri, 02 Nov 2018 17:22:04 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.54,456,1534809600"; d="scan'208";a="69517979"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Fri, 2 Nov 2018 17:21:14 +0000
Message-ID: <1541179276-14354-1-git-send-email-paul.durrant@citrix.com>
X-Mailer: git-send-email 2.5.3
MIME-Version: 1.0
Subject: [win-pv-devel] [PATCH xenvif 0/2] Mac speed modifications
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Paul Durrant <paul.durrant@citrix.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

UGF1bCBEdXJyYW50ICgyKToKICBBZGQgYSB4ZW5zdG9yZSB3YXRjaCBmb3IgdGhlICJzcGVlZCIg
a2V5Li4uCiAgQWxsb3cgYWR2ZXJ0aXNlZCAnd2lyZScgc3BlZWQgdG8gYmUgb3ZlcnJpZGRlbiBi
eSBhIHJlZ2lzdHJ5IHZhbHVlLi4uCgogc3JjL3hlbnZpZi9tYWMuYyB8IDk3ICsrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tCiAxIGZpbGUgY2hh
bmdlZCwgODYgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCgotLSAKMi41LjMKCgpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwp3aW4tcHYtZGV2ZWwg
bWFpbGluZyBsaXN0Cndpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xp
c3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRldmVs

From win-pv-devel-bounces@lists.xenproject.org Fri Nov 02 17:22:07 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 02 Nov 2018 17:22:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1gId94-00075S-90; Fri, 02 Nov 2018 17:22:06 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=u19u=nn=citrix.com=prvs=8372cde87=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1gId93-000758-5e
 for win-pv-devel@lists.xenproject.org; Fri, 02 Nov 2018 17:22:05 +0000
X-Inumbo-ID: d0fa1dc0-dec3-11e8-9a16-bc764e045a96
Received: from SMTP03.CITRIX.COM (unknown [162.221.156.55])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id d0fa1dc0-dec3-11e8-9a16-bc764e045a96;
 Fri, 02 Nov 2018 17:22:04 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.54,456,1534809600"; d="scan'208";a="69517980"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Fri, 2 Nov 2018 17:21:15 +0000
Message-ID: <1541179276-14354-2-git-send-email-paul.durrant@citrix.com>
X-Mailer: git-send-email 2.5.3
In-Reply-To: <1541179276-14354-1-git-send-email-paul.durrant@citrix.com>
References: <1541179276-14354-1-git-send-email-paul.durrant@citrix.com>
MIME-Version: 1.0
Subject: [win-pv-devel] [PATCH xenvif 1/2] Add a xenstore watch for the
 "speed" key...
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Paul Durrant <paul.durrant@citrix.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

Li4uYW5kIGFsbG93IHRoZSB2YWx1ZSB0byBzcGVjaWZ5IHVuaXRzLgoKVGhlICd3aXJlJyBzcGVl
ZCBhZHZlcnRpc2VkIGJ5IFhFTk5FVCB0byB0aGUgV2luZG93cyBuZXR3b3JrIHN0YWNrIGNhbiBi
ZQpjb250cm9sbGVkIGJ5IHRoZSB2YWx1ZSBvZiBhICJzcGVlZCIga2V5IGluIHRoZSB4ZW5zdG9y
ZSBmcm9udGVuZCBhcmVhLgpWYWx1ZXMgb2YgdGhpcyBrZXkgYXJlIGN1cnJlbnRseSBpbnRlcnBy
ZXRlZCBhcyBkZWNpbWFsIGdpZ2FiaXRzLXBlci1zZWNvbmQuCgpUaGlzIHBhdGNoIHNldHMgYSB3
YXRjaCBvbiB0aGUga2V5IChtZWFuaW5nIGNoYW5nZXMgdG8gaXQgbm93IHRha2UKaW1tZWRpYXRl
IGVmZmVjdCkgYW5kIGFsbG93cyB1bml0cyB0byBiZSBzcGVjaWZpZWQ6ICdHL2cnIGZvciBnaWdh
Yml0cy1wZXItCnNlY29uZCwgJ00vbScgZm9yIG1lZ2FiaXRzLXBlci1zZWNvbmQsIGFuZCAnSy9r
JyBmb3Iga2lsb2JpdC1wZXItc2Vjb25kLgpUaHVzLCBmb3IgZXhhbXBsZSwgJzEwME0nIG1lYW5z
IDEwMCBtZWdhYml0cy1wZXItc2Vjb25kLiBJZiBubyB1bml0IGlzCnNwZWNpZmllZCB0aGVuIHRo
ZSB2YWx1ZSBpcyBhc3N1bWVkIHRvIGJlIGluIGdpZ2FiaXRzLXBlci1zZWNvbmQsIGFzIGJlZm9y
ZS4KClNpZ25lZC1vZmYtYnk6IFBhdWwgRHVycmFudCA8cGF1bC5kdXJyYW50QGNpdHJpeC5jb20+
Ci0tLQogc3JjL3hlbnZpZi9tYWMuYyB8IDc3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKy0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNjcgaW5zZXJ0aW9u
cygrKSwgMTAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL3hlbnZpZi9tYWMuYyBiL3Ny
Yy94ZW52aWYvbWFjLmMKaW5kZXggNDI4MjAwYS4uMDZhOWExOCAxMDA2NDQKLS0tIGEvc3JjL3hl
bnZpZi9tYWMuYworKysgYi9zcmMveGVudmlmL21hYy5jCkBAIC02Miw3ICs2Miw4IEBAIHN0cnVj
dCBfWEVOVklGX01BQyB7CiAgICAgWEVOQlVTX0RFQlVHX0lOVEVSRkFDRSAgRGVidWdJbnRlcmZh
Y2U7CiAgICAgUFhFTkJVU19ERUJVR19DQUxMQkFDSyAgRGVidWdDYWxsYmFjazsKICAgICBYRU5C
VVNfU1RPUkVfSU5URVJGQUNFICBTdG9yZUludGVyZmFjZTsKLSAgICBQWEVOQlVTX1NUT1JFX1dB
VENIICAgICBXYXRjaDsKKyAgICBQWEVOQlVTX1NUT1JFX1dBVENIICAgICBEaXNjb25uZWN0V2F0
Y2g7CisgICAgUFhFTkJVU19TVE9SRV9XQVRDSCAgICAgU3BlZWRXYXRjaDsKIH07CiAKICNkZWZp
bmUgWEVOVklGX01BQ19UQUcgICdDQU0nCkBAIC01MTgsMTAgKzUxOSwxOSBAQCBNYWNFbmFibGUo
CiAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyb250ZW5kR2V0UGF0aChGcm9udGVuZCksCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNjb25uZWN0IiwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgVGhyZWFkR2V0RXZlbnQoVGhyZWFkKSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgJk1hYy0+V2F0Y2gpOworICAgICAgICAgICAgICAgICAgICAgICAgICAmTWFjLT5EaXNjb25u
ZWN0V2F0Y2gpOwogICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQogICAgICAgICBnb3RvIGZh
aWwxOwogCisgICAgc3RhdHVzID0gWEVOQlVTX1NUT1JFKFdhdGNoQWRkLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAmTWFjLT5TdG9yZUludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgRnJvbnRlbmRHZXRQYXRoKEZyb250ZW5kKSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgInNwZWVkIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgVGhyZWFkR2V0RXZlbnQoVGhy
ZWFkKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJk1hYy0+U3BlZWRXYXRjaCk7CisgICAg
aWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCisgICAgICAgIGdvdG8gZmFpbDI7CisKICAgICBBU1NF
UlQoIU1hYy0+RW5hYmxlZCk7CiAgICAgTWFjLT5FbmFibGVkID0gVFJVRTsKIApAQCAtNTMwLDYg
KzU0MCwxNCBAQCBNYWNFbmFibGUoCiAgICAgVHJhY2UoIjw9PT09XG4iKTsKICAgICByZXR1cm4g
U1RBVFVTX1NVQ0NFU1M7CiAKK2ZhaWwyOgorICAgIEVycm9yKCJmYWlsMlxuIik7CisKKyAgICAo
Vk9JRCkgWEVOQlVTX1NUT1JFKFdhdGNoUmVtb3ZlLAorICAgICAgICAgICAgICAgICAgICAgICAg
Jk1hYy0+U3RvcmVJbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICAgICAgICBNYWMtPkRpc2Nv
bm5lY3RXYXRjaCk7CisgICAgTWFjLT5EaXNjb25uZWN0V2F0Y2ggPSBOVUxMOworCiBmYWlsMToK
ICAgICBFcnJvcigiZmFpbDEgKCUwOHgpXG4iKTsKIApAQCAtNTU4LDggKzU3NiwxMyBAQCBNYWNE
aXNhYmxlKAogCiAgICAgKFZPSUQpIFhFTkJVU19TVE9SRShXYXRjaFJlbW92ZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICZNYWMtPlN0b3JlSW50ZXJmYWNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgTWFjLT5XYXRjaCk7Ci0gICAgTWFjLT5XYXRjaCA9IE5VTEw7CisgICAgICAgICAgICAg
ICAgICAgICAgICBNYWMtPlNwZWVkV2F0Y2gpOworICAgIE1hYy0+U3BlZWRXYXRjaCA9IE5VTEw7
CisKKyAgICAoVk9JRCkgWEVOQlVTX1NUT1JFKFdhdGNoUmVtb3ZlLAorICAgICAgICAgICAgICAg
ICAgICAgICAgJk1hYy0+U3RvcmVJbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICAgICAgICBN
YWMtPkRpc2Nvbm5lY3RXYXRjaCk7CisgICAgTWFjLT5EaXNjb25uZWN0V2F0Y2ggPSBOVUxMOwog
CiAgICAgX19NYWNSZWxlYXNlTG9ja0V4Y2x1c2l2ZShNYWMpOwogCkBAIC02NDgsMTQgKzY3MSwx
NSBAQCBNYWNUZWFyZG93bigKICAgICBfX01hY0ZyZWUoTWFjKTsKIH0KIAotc3RhdGljIEZPUkNF
SU5MSU5FIFVMT05HCitzdGF0aWMgRk9SQ0VJTkxJTkUgVUxPTkc2NAogX19NYWNHZXRTcGVlZCgK
ICAgICBJTiAgUFhFTlZJRl9NQUMgTWFjCiAgICAgKQogewogICAgIFBYRU5WSUZfRlJPTlRFTkQg
ICAgRnJvbnRlbmQ7CiAgICAgUENIQVIgICAgICAgICAgICAgICBCdWZmZXI7Ci0gICAgVUxPTkcg
ICAgICAgICAgICAgICBTcGVlZDsKKyAgICBVTE9ORzY0ICAgICAgICAgICAgIFNwZWVkOworICAg
IFBDSEFSICAgICAgICAgICAgICAgVW5pdDsKICAgICBOVFNUQVRVUyAgICAgICAgICAgIHN0YXR1
czsKIAogICAgIEZyb250ZW5kID0gTWFjLT5Gcm9udGVuZDsKQEAgLTY2OCwxNCArNjkyLDQzIEBA
IF9fTWFjR2V0U3BlZWQoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICZCdWZmZXIpOwogICAg
IGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKSB7CiAgICAgICAgIFNwZWVkID0gMTsKKyAgICAgICAg
VW5pdCA9ICJHIjsKICAgICB9IGVsc2UgewotICAgICAgICBTcGVlZCA9IChVTE9ORylzdHJ0b2wo
QnVmZmVyLCBOVUxMLCAxMCk7CisgICAgICAgIFNwZWVkID0gX3N0cnRvdWk2NChCdWZmZXIsICZV
bml0LCAxMCk7CisgICAgICAgIGlmICgqVW5pdCA9PSAnXDAnKQorICAgICAgICAgICAgVW5pdCA9
ICJHIjsKIAogICAgICAgICBYRU5CVVNfU1RPUkUoRnJlZSwKICAgICAgICAgICAgICAgICAgICAg
ICZNYWMtPlN0b3JlSW50ZXJmYWNlLAogICAgICAgICAgICAgICAgICAgICAgQnVmZmVyKTsKICAg
ICB9CiAKKyAgICBpZiAoKihVbml0ICsgMSkgIT0gJ1wwJykgeworICAgICAgICBXYXJuaW5nKCJJ
TlZBTElEIFNQRUVEOiAlc1xuIiwgQnVmZmVyKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQor
CisgICAgc3dpdGNoICgqVW5pdCkgeworICAgIGNhc2UgJ2cnOgorICAgIGNhc2UgJ0cnOgorICAg
ICAgICBTcGVlZCAqPSAxMDAwMDAwMDAwdWxsOworICAgICAgICBicmVhazsKKworICAgIGNhc2Ug
J20nOgorICAgIGNhc2UgJ00nOgorICAgICAgICBTcGVlZCAqPSAxMDAwMDAwdWxsOworICAgICAg
ICBicmVhazsKKworICAgIGNhc2UgJ2snOgorICAgIGNhc2UgJ0snOgorICAgICAgICBTcGVlZCAq
PSAxMDAwdWxsOworICAgICAgICBicmVhazsKKworICAgIGRlZmF1bHQ6CisgICAgICAgIFdhcm5p
bmcoIklOVkFMSUQgU1BFRUQgVU5JVDogJWNcbiIsICpVbml0KTsKKyAgICAgICAgcmV0dXJuIDA7
CisgICAgfQorCiAgICAgcmV0dXJuIFNwZWVkOwogfQogCkBAIC03MTgsOSArNzcxLDEzIEBAIE1h
Y1F1ZXJ5U3RhdGUoCiAgICAgT1VUIFBORVRfSUZfTUVESUFfRFVQTEVYX1NUQVRFICBNZWRpYUR1
cGxleFN0YXRlIE9QVElPTkFMCiAgICAgKQogewotICAgIGlmIChNZWRpYUNvbm5lY3RTdGF0ZSAh
PSBOVUxMIHx8IE1lZGlhRHVwbGV4U3RhdGUgIT0gTlVMTCkgewotICAgICAgICBCT09MRUFOIERp
c2Nvbm5lY3QgPSBfX01hY0dldERpc2Nvbm5lY3QoTWFjKTsKKyAgICBVTE9ORzY0IFNwZWVkID0g
X19NYWNHZXRTcGVlZChNYWMpOworICAgIEJPT0xFQU4gRGlzY29ubmVjdCA9IF9fTWFjR2V0RGlz
Y29ubmVjdChNYWMpOworCisgICAgaWYgKFNwZWVkID09IDApCisgICAgICAgIERpc2Nvbm5lY3Qg
PSBUUlVFOwogCisgICAgaWYgKE1lZGlhQ29ubmVjdFN0YXRlICE9IE5VTEwgfHwgTWVkaWFEdXBs
ZXhTdGF0ZSAhPSBOVUxMKSB7CiAgICAgICAgIGlmIChNZWRpYUNvbm5lY3RTdGF0ZSAhPSBOVUxM
KQogICAgICAgICAgICAgKk1lZGlhQ29ubmVjdFN0YXRlID0gKERpc2Nvbm5lY3QpID8KICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1lZGlhQ29ubmVjdFN0YXRlRGlzY29ubmVjdGVk
IDoKQEAgLTczMyw3ICs3OTAsNyBAQCBNYWNRdWVyeVN0YXRlKAogICAgIH0KIAogICAgIGlmIChM
aW5rU3BlZWQgIT0gTlVMTCkKLSAgICAgICAgKkxpbmtTcGVlZCA9IChVTE9ORzY0KV9fTWFjR2V0
U3BlZWQoTWFjKSAqIDEwMDAwMDAwMDB1bGw7CisgICAgICAgICpMaW5rU3BlZWQgPSBTcGVlZDsK
IH0KIAogVk9JRAotLSAKMi41LjMKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwp3aW4tcHYtZGV2ZWwgbWFpbGluZyBsaXN0Cndpbi1wdi1kZXZlbEBsaXN0
cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlz
dGluZm8vd2luLXB2LWRldmVs

From win-pv-devel-bounces@lists.xenproject.org Fri Nov 02 17:22:07 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 02 Nov 2018 17:22:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1gId94-00075N-7O; Fri, 02 Nov 2018 17:22:06 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=u19u=nn=citrix.com=prvs=8372cde87=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1gId93-000759-5M
 for win-pv-devel@lists.xenproject.org; Fri, 02 Nov 2018 17:22:05 +0000
X-Inumbo-ID: cff9dd24-dec3-11e8-9a16-bc764e045a96
Received: from SMTP03.CITRIX.COM (unknown [162.221.156.55])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id cff9dd24-dec3-11e8-9a16-bc764e045a96;
 Fri, 02 Nov 2018 17:22:02 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.54,456,1534809600"; d="scan'208";a="69517967"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Fri, 2 Nov 2018 17:21:16 +0000
Message-ID: <1541179276-14354-3-git-send-email-paul.durrant@citrix.com>
X-Mailer: git-send-email 2.5.3
In-Reply-To: <1541179276-14354-1-git-send-email-paul.durrant@citrix.com>
References: <1541179276-14354-1-git-send-email-paul.durrant@citrix.com>
MIME-Version: 1.0
Subject: [win-pv-devel] [PATCH xenvif 2/2] Allow advertised 'wire' speed to
 be overridden by a registry value...
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Paul Durrant <paul.durrant@citrix.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

Li4uYW5kIGNoYW5nZSB0aGUgZGVmYXVsdCB0byAxMDBHLgoKVGhpcyBwYXRjaCBhZGRzIGNvZGUg
dG8gY2hlY2sgZm9yIGEgbmV3ICdNYWNTcGVlZCcgWEVOVklGIHBhcmFtZXRlcgooc2FtcGxlZCBh
dCBpbml0aWFsaXphdGlvbiB0aW1lKSwgZGVmYXVsdGluZyB0byBhIHdpcmUgc3BlZWQgb2YgMTAw
RyBpZgppdCBpcyBub3QgcHJlc2VudCAocmF0aGVyIHRoYW4gdGhlIDFHIGRlZmF1bHQgcHJpb3Ig
dG8gdGhpcyBwYXRjaCkuCgpTaWduZWQtb2ZmLWJ5OiBQYXVsIER1cnJhbnQgPHBhdWwuZHVycmFu
dEBjaXRyaXguY29tPgotLS0KIHNyYy94ZW52aWYvbWFjLmMgfCAyMCArKysrKysrKysrKysrKysr
KysrLQogMSBmaWxlIGNoYW5nZWQsIDE5IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRp
ZmYgLS1naXQgYS9zcmMveGVudmlmL21hYy5jIGIvc3JjL3hlbnZpZi9tYWMuYwppbmRleCAwNmE5
YTE4Li4wYjE3YTU0IDEwMDY0NAotLS0gYS9zcmMveGVudmlmL21hYy5jCisrKyBiL3NyYy94ZW52
aWYvbWFjLmMKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlIDxldGhlcm5ldC5oPgogCiAjaW5j
bHVkZSAicGRvLmgiCisjaW5jbHVkZSAicmVnaXN0cnkuaCIKICNpbmNsdWRlICJmcm9udGVuZC5o
IgogI2luY2x1ZGUgIm1hYy5oIgogI2luY2x1ZGUgInRocmVhZC5oIgpAQCAtNTIsNiArNTMsNyBA
QCBzdHJ1Y3QgX1hFTlZJRl9NQUMgewogICAgIEVYX1NQSU5fTE9DSyAgICAgICAgICAgIExvY2s7
CiAgICAgQk9PTEVBTiAgICAgICAgICAgICAgICAgQ29ubmVjdGVkOwogICAgIEJPT0xFQU4gICAg
ICAgICAgICAgICAgIEVuYWJsZWQ7CisgICAgVUxPTkcgICAgICAgICAgICAgICAgICAgU3BlZWQ7
CiAgICAgVUxPTkcgICAgICAgICAgICAgICAgICAgTWF4aW11bUZyYW1lU2l6ZTsKICAgICBFVEhF
Uk5FVF9BRERSRVNTICAgICAgICBQZXJtYW5lbnRBZGRyZXNzOwogICAgIEVUSEVSTkVUX0FERFJF
U1MgICAgICAgIEN1cnJlbnRBZGRyZXNzOwpAQCAtMjA3LDYgKzIwOSw4IEBAIE1hY0luaXRpYWxp
emUoCiAgICAgT1VUIFBYRU5WSUZfTUFDICAgICAgICAgKk1hYwogICAgICkKIHsKKyAgICBIQU5E
TEUgICAgICAgICAgICAgICAgICBQYXJhbWV0ZXJzS2V5OworICAgIFVMT05HICAgICAgICAgICAg
ICAgICAgIE1hY1NwZWVkOwogICAgIE5UU1RBVFVTICAgICAgICAgICAgICAgIHN0YXR1czsKIAog
ICAgICpNYWMgPSBfX01hY0FsbG9jYXRlKHNpemVvZiAoWEVOVklGX01BQykpOwpAQCAtMjE1LDYg
KzIxOSwxOCBAQCBNYWNJbml0aWFsaXplKAogICAgIGlmICgqTWFjID09IE5VTEwpCiAgICAgICAg
IGdvdG8gZmFpbDE7CiAKKyAgICBQYXJhbWV0ZXJzS2V5ID0gRHJpdmVyR2V0UGFyYW1ldGVyc0tl
eSgpOworCisgICAgKCpNYWMpLT5TcGVlZCA9IDEwMDsKKworICAgIGlmIChQYXJhbWV0ZXJzS2V5
ICE9IE5VTEwpIHsKKyAgICAgICAgc3RhdHVzID0gUmVnaXN0cnlRdWVyeUR3b3JkVmFsdWUoUGFy
YW1ldGVyc0tleSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk1h
Y1NwZWVkIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmTWFjU3Bl
ZWQpOworICAgICAgICBpZiAoTlRfU1VDQ0VTUyhzdGF0dXMpKQorICAgICAgICAgICAgKCpNYWMp
LT5TcGVlZCA9IE1hY1NwZWVkOworICAgIH0KKwogICAgIEluaXRpYWxpemVMaXN0SGVhZCgmKCpN
YWMpLT5NdWx0aWNhc3RMaXN0KTsKIAogICAgIEZkb0dldERlYnVnSW50ZXJmYWNlKFBkb0dldEZk
byhGcm9udGVuZEdldFBkbyhGcm9udGVuZCkpLApAQCAtNjY3LDYgKzY4Myw4IEBAIE1hY1RlYXJk
b3duKAogCiAgICAgTWFjLT5Mb2NrID0gMDsKIAorICAgIE1hYy0+U3BlZWQgPSAwOworCiAgICAg
QVNTRVJUKElzWmVyb01lbW9yeShNYWMsIHNpemVvZiAoWEVOVklGX01BQykpKTsKICAgICBfX01h
Y0ZyZWUoTWFjKTsKIH0KQEAgLTY5MSw3ICs3MDksNyBAQCBfX01hY0dldFNwZWVkKAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAic3BlZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAm
QnVmZmVyKTsKICAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkgewotICAgICAgICBTcGVlZCA9
IDE7CisgICAgICAgIFNwZWVkID0gTWFjLT5TcGVlZDsKICAgICAgICAgVW5pdCA9ICJHIjsKICAg
ICB9IGVsc2UgewogICAgICAgICBTcGVlZCA9IF9zdHJ0b3VpNjQoQnVmZmVyLCAmVW5pdCwgMTAp
OwotLSAKMi41LjMKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwp3aW4tcHYtZGV2ZWwgbWFpbGluZyBsaXN0Cndpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9q
ZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vd2lu
LXB2LWRldmVs

From win-pv-devel-bounces@lists.xenproject.org Fri Nov 02 17:23:52 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 02 Nov 2018 17:23:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1gIdAm-0007B6-G5; Fri, 02 Nov 2018 17:23:52 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=u19u=nn=citrix.com=prvs=8372cde87=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1gIdAl-0007B1-QH
 for win-pv-devel@lists.xenproject.org; Fri, 02 Nov 2018 17:23:51 +0000
X-Inumbo-ID: 100b4005-dec4-11e8-9a16-bc764e045a96
Received: from SMTP03.CITRIX.COM (unknown [162.221.156.55])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 100b4005-dec4-11e8-9a16-bc764e045a96;
 Fri, 02 Nov 2018 17:23:50 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.54,456,1534809600"; d="scan'208";a="69518644"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Fri, 2 Nov 2018 17:23:35 +0000
Message-ID: <1541179415-14419-1-git-send-email-paul.durrant@citrix.com>
X-Mailer: git-send-email 2.5.3
MIME-Version: 1.0
Subject: [win-pv-devel] [PATCH xennet] Remove unused OID
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Paul Durrant <paul.durrant@citrix.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

T0lEX0dFTl9MSU5LX1NQRUVEIGlzIGFwcGFyZW50bHkgbm90IHVzZWQgYnkgTkRJUyA2LjArIHN0
YWNrcyBzbyB0aGVyZSBpcwpsaXR0bGUgcG9pbnQgaW4gaW1wbGVtZW50aW5nIGl0LgoKU2lnbmVk
LW9mZi1ieTogUGF1bCBEdXJyYW50IDxwYXVsLmR1cnJhbnRAY2l0cml4LmNvbT4KLS0tCiBzcmMv
eGVubmV0L2FkYXB0ZXIuYyB8IDE0IC0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTQg
ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL3hlbm5ldC9hZGFwdGVyLmMgYi9zcmMveGVu
bmV0L2FkYXB0ZXIuYwppbmRleCA2NmM3ZTJhLi41NmJkY2M4IDEwMDY0NAotLS0gYS9zcmMveGVu
bmV0L2FkYXB0ZXIuYworKysgYi9zcmMveGVubmV0L2FkYXB0ZXIuYwpAQCAtMTE1LDcgKzExNSw2
IEBAIHN0YXRpYyBORElTX09JRCBYZW5uZXRTdXBwb3J0ZWRPaWRzW10gPQogICAgIE9JRF9HRU5f
UkVDRUlWRV9CTE9DS19TSVpFLAogICAgIE9JRF9HRU5fVFJBTlNNSVRfQkxPQ0tfU0laRSwKICAg
ICBPSURfR0VOX01BQ19PUFRJT05TLAotICAgIE9JRF9HRU5fTElOS19TUEVFRCwKICAgICBPSURf
R0VOX01FRElBX0NPTk5FQ1RfU1RBVFVTLAogICAgIE9JRF9HRU5fVkVORE9SX0RFU0NSSVBUSU9O
LAogICAgIE9JRF9HRU5fVkVORE9SX0RSSVZFUl9WRVJTSU9OLApAQCAtMjQ3OSwxOSArMjQ3OCw2
IEBAIEFkYXB0ZXJRdWVyeUluZm9ybWF0aW9uKAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAmQnl0ZXNXcml0dGVuKTsKICAgICAgICAgYnJlYWs7CiAKLSAgICBjYXNlIE9JRF9HRU5f
TElOS19TUEVFRDoKLSAgICAgICAgWEVOVklGX1ZJRihNYWNRdWVyeVN0YXRlLAotICAgICAgICAg
ICAgICAgICAgICZBZGFwdGVyLT5WaWZJbnRlcmZhY2UsCi0gICAgICAgICAgICAgICAgICAgTlVM
TCwKLSAgICAgICAgICAgICAgICAgICAmVmFsdWU2NCwKLSAgICAgICAgICAgICAgICAgICBOVUxM
KTsKLSAgICAgICAgQnl0ZXNOZWVkZWQgPSBzaXplb2YoVUxPTkcpOwotICAgICAgICBuZGlzU3Rh
dHVzID0gX19TZXRVbG9uZyhCdWZmZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEJ1ZmZlckxlbmd0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFVMT05HKShW
YWx1ZTY0IC8gMTAwKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJkJ5dGVzV3Jp
dHRlbik7Ci0gICAgICAgIGJyZWFrOwotCiAgICAgY2FzZSBPSURfR0VOX01FRElBX0NPTk5FQ1Rf
U1RBVFVTOgogICAgICAgICBYRU5WSUZfVklGKE1hY1F1ZXJ5U3RhdGUsCiAgICAgICAgICAgICAg
ICAgICAgICZBZGFwdGVyLT5WaWZJbnRlcmZhY2UsCi0tIAoyLjUuMwoKCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCndpbi1wdi1kZXZlbCBtYWlsaW5nIGxp
c3QKd2luLXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJv
amVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby93aW4tcHYtZGV2ZWw=

From win-pv-devel-bounces@lists.xenproject.org Fri Nov 02 17:44:01 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 02 Nov 2018 17:44:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1gIdUG-0000Pr-GG; Fri, 02 Nov 2018 17:44:00 +0000
Received: from winpvdrvbuild.xenproject.org ([162.242.160.44])
 by lists.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <paul.durrant@xenproject.org>) id 1gIdUF-0000Pj-IQ
 for win-pv-devel@lists.xenproject.org; Fri, 02 Nov 2018 17:43:59 +0000
Date: Fri, 2 Nov 2018 17:44:06 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <23098835.9.1541180647465.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_8_12082692.1541180646761"
X-Jenkins-Job: XENNET-master
X-Jenkins-Result: SUCCESS
Subject: [win-pv-devel] XENNET-master - Build #102 - Successful
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

------=_Part_8_12082692.1541180646761
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The build system has completed build #102.

Check console output at https://winpvdrvbuild.xenproject.org:8080/job/XENNET-master/102/console to view the results.
------=_Part_8_12082692.1541180646761
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

------=_Part_8_12082692.1541180646761--


From win-pv-devel-bounces@lists.xenproject.org Mon Nov 05 16:30:53 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 05 Nov 2018 16:30:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1gJhm8-0000Hy-MP; Mon, 05 Nov 2018 16:30:52 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=rxdl=nq=citrix.com=prvs=8403fdf8a=owen.smith@srs-us1.protection.inumbo.net>)
 id 1gJhm7-0000HW-2O
 for win-pv-devel@lists.xenproject.org; Mon, 05 Nov 2018 16:30:51 +0000
X-Inumbo-ID: 28152070-e118-11e8-9a16-bc764e045a96
Received: from SMTP03.CITRIX.COM (unknown [162.221.156.55])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 28152070-e118-11e8-9a16-bc764e045a96;
 Mon, 05 Nov 2018 16:30:50 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.54,468,1534809600"; d="scan'208";a="69697377"
From: Owen Smith <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Mon, 5 Nov 2018 16:30:15 +0000
Message-ID: <20181105163017.2172-2-owen.smith@citrix.com>
X-Mailer: git-send-email 2.16.2.windows.1
In-Reply-To: <20181105163017.2172-1-owen.smith@citrix.com>
References: <20181105163017.2172-1-owen.smith@citrix.com>
MIME-Version: 1.0
Subject: [win-pv-devel] [PATCH 2/4] Add more logging to xencons_tty in debug
 builds
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Owen Smith <owen.smith@citrix.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

U2lnbmVkLW9mZi1ieTogT3dlbiBTbWl0aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPgotLS0KIHNy
Yy90dHkvdHR5LmMgICAgICAgICAgICAgICAgICAgICAgICAgIHwgNjAgKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKwogdnMyMDE3L3hlbmNvbnNfdHR5L3hlbmNvbnNfdHR5LnZjeHBy
b2ogfCAgMiArLQogMiBmaWxlcyBjaGFuZ2VkLCA2MSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9u
KC0pCgpkaWZmIC0tZ2l0IGEvc3JjL3R0eS90dHkuYyBiL3NyYy90dHkvdHR5LmMKaW5kZXggN2Q5
N2RmNS4uYTZjMTVlOSAxMDA2NDQKLS0tIGEvc3JjL3R0eS90dHkuYworKysgYi9zcmMvdHR5L3R0
eS5jCkBAIC0zNCw2ICszNCwxMCBAQAogI2luY2x1ZGUgPHN0cnNhZmUuaD4KICNpbmNsdWRlIDx1
c2VyZW52Lmg+CiAKKyNkZWZpbmUgc3RyaW5naWZ5X2xpdGVyYWwoX3RleHQpICNfdGV4dAorI2Rl
ZmluZSBzdHJpbmdpZnkoX3RleHQpIHN0cmluZ2lmeV9saXRlcmFsKF90ZXh0KQorI2RlZmluZSBf
X01PRFVMRV9fIHN0cmluZ2lmeShQUk9KRUNUKQorCiB0eXBlZGVmIHN0cnVjdCBfVFRZX1NUUkVB
TSB7CiAgICAgSEFORExFICBSZWFkOwogICAgIEhBTkRMRSAgV3JpdGU7CkBAIC01NCw2ICs1OCw1
NCBAQCB0eXBlZGVmIHN0cnVjdCBfVFRZX0NPTlRFWFQgewogCiBUVFlfQ09OVEVYVCBUdHlDb250
ZXh0OwogCisjaWYgREJHCisKK3N0YXRpYyBWT0lECisjcHJhZ21hIHByZWZhc3Qoc3VwcHJlc3M6
NjI2MikgLy8gRnVuY3Rpb24gdXNlcyAnMTAzNicgYnl0ZXMgb2Ygc3RhY2s6IGV4Y2VlZHMgL2Fu
YWx5emU6c3RhY2tzaXplJzEwMjQnCitfX0xvZygKKyAgICBJTiAgY29uc3QgQ0hBUiAgICAgICpG
b3JtYXQsCisgICAgSU4gIC4uLgorICAgICkKK3sKKyAgICBDSEFSICAgICAgICAgICAgICAgIEJ1
ZmZlcltNQVhJTVVNX0JVRkZFUl9TSVpFXTsKKyAgICB2YV9saXN0ICAgICAgICAgICAgIEFyZ3Vt
ZW50czsKKyAgICBzaXplX3QgICAgICAgICAgICAgIExlbmd0aDsKKyAgICBIUkVTVUxUICAgICAg
ICAgICAgIFJlc3VsdDsKKworICAgIHZhX3N0YXJ0KEFyZ3VtZW50cywgRm9ybWF0KTsKKyAgICBS
ZXN1bHQgPSBTdHJpbmdDY2hWUHJpbnRmQShCdWZmZXIsCisgICAgICAgIE1BWElNVU1fQlVGRkVS
X1NJWkUsCisgICAgICAgIEZvcm1hdCwKKyAgICAgICAgQXJndW1lbnRzKTsKKyAgICB2YV9lbmQo
QXJndW1lbnRzKTsKKworICAgIGlmIChSZXN1bHQgIT0gU19PSyAmJiBSZXN1bHQgIT0gU1RSU0FG
RV9FX0lOU1VGRklDSUVOVF9CVUZGRVIpCisgICAgICAgIHJldHVybjsKKworICAgIFJlc3VsdCA9
IFN0cmluZ0NjaExlbmd0aEEoQnVmZmVyLCBNQVhJTVVNX0JVRkZFUl9TSVpFLCAmTGVuZ3RoKTsK
KyAgICBpZiAoUmVzdWx0ICE9IFNfT0spCisgICAgICAgIHJldHVybjsKKworICAgIExlbmd0aCA9
IF9fbWluKE1BWElNVU1fQlVGRkVSX1NJWkUgLSAxLCBMZW5ndGggKyAyKTsKKworICAgIF9fYW5h
bHlzaXNfYXNzdW1lKExlbmd0aCA8IE1BWElNVU1fQlVGRkVSX1NJWkUpOworICAgIF9fYW5hbHlz
aXNfYXNzdW1lKExlbmd0aCA+PSAyKTsKKyAgICBCdWZmZXJbTGVuZ3RoXSA9ICdcMCc7CisgICAg
QnVmZmVyW0xlbmd0aCAtIDFdID0gJ1xuJzsKKyAgICBCdWZmZXJbTGVuZ3RoIC0gMl0gPSAnXHIn
OworCisgICAgT3V0cHV0RGVidWdTdHJpbmcoQnVmZmVyKTsKK30KKworI2RlZmluZSBMb2coX0Zv
cm1hdCwgLi4uKSBcCisgICAgX19Mb2coX19NT0RVTEVfXyAifCIgX19GVU5DVElPTl9fICI6ICIg
X0Zvcm1hdCwgX19WQV9BUkdTX18pCisKKyNlbHNlCisKKyNkZWZpbmUgTG9nKF9Gb3JtYXQsIC4u
LikgICAoVk9JRCkwOworCisjZW5kaWYKKwogc3RhdGljIEJPT0wKIENyZWF0ZUNoaWxkKAogICAg
IFZPSUQKQEAgLTMxNCw2ICszNjYsNyBAQCBUdHlJbigKIAogICAgIFVOUkVGRVJFTkNFRF9QQVJB
TUVURVIoQXJndW1lbnQpOwogCisgICAgTG9nKCI9PT09PT4iKTsKICAgICBmb3IgKDs7KSB7CiAg
ICAgICAgIERXT1JEICAgICAgIFJlYWQ7CiAgICAgICAgIENIQVIgICAgICAgIEJ1ZmZlcltNQVhJ
TVVNX0JVRkZFUl9TSVpFXTsKQEAgLTM0NSw2ICszOTgsNyBAQCBUdHlJbigKICAgICAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgfQogICAgIH0KKyAgICBMb2coIjw9PT09PSIpOwogCiAgICAg
cmV0dXJuIDA7CiB9CkBAIC0zNTgsNiArNDEyLDcgQEAgVHR5T3V0KAogCiAgICAgVU5SRUZFUkVO
Q0VEX1BBUkFNRVRFUihBcmd1bWVudCk7CiAKKyAgICBMb2coIj09PT09PiIpOwogICAgIGZvciAo
OzspIHsKICAgICAgICAgRFdPUkQgICAgICAgUmVhZDsKICAgICAgICAgRFdPUkQgICAgICAgV3Jp
dHRlbjsKQEAgLTM4Myw2ICs0MzgsNyBAQCBUdHlPdXQoCiAgICAgICAgIGlmICghU3VjY2VzcykK
ICAgICAgICAgICAgIGJyZWFrOwogICAgIH0KKyAgICBMb2coIjw9PT09PSIpOwogCiAgICAgcmV0
dXJuIDA7CiB9CkBAIC00MDIsNiArNDU4LDggQEAgX3RtYWluKAogICAgIFVOUkVGRVJFTkNFRF9Q
QVJBTUVURVIoYXJnYyk7CiAgICAgVU5SRUZFUkVOQ0VEX1BBUkFNRVRFUihhcmd2KTsKIAorICAg
IExvZygiPT09PT0+Iik7CisKICAgICBpZiAoIVdhaXROYW1lZFBpcGUoUElQRV9OQU1FLCBOTVBX
QUlUX1VTRV9ERUZBVUxUX1dBSVQpKQogICAgICAgICBFeGl0UHJvY2VzcygxKTsKIApAQCAtNTEw
LDQgKzU2OCw2IEBAIF90bWFpbigKICAgICAgICAgICAgIENsb3NlSGFuZGxlKEhhbmRsZVtJbmRl
eF0pOwogCiAgICAgQ2xvc2VIYW5kbGUoQ29udGV4dC0+UHJvY2Vzc0luZm8uaFByb2Nlc3MpOwor
CisgICAgTG9nKCI8PT09PT0iKTsKIH0KZGlmZiAtLWdpdCBhL3ZzMjAxNy94ZW5jb25zX3R0eS94
ZW5jb25zX3R0eS52Y3hwcm9qIGIvdnMyMDE3L3hlbmNvbnNfdHR5L3hlbmNvbnNfdHR5LnZjeHBy
b2oKaW5kZXggMThhZDgxYi4uNjIzNTk1YyAxMDA2NDQKLS0tIGEvdnMyMDE3L3hlbmNvbnNfdHR5
L3hlbmNvbnNfdHR5LnZjeHByb2oKKysrIGIvdnMyMDE3L3hlbmNvbnNfdHR5L3hlbmNvbnNfdHR5
LnZjeHByb2oKQEAgLTIwLDcgKzIwLDcgQEAKICAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+CiAgICAg
PENsQ29tcGlsZT4KICAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQoU29sdXRp
b25EaXIpLi5caW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlv
bmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJ
TjMyO19XSU5ET1dTO19DUlRfU0VDVVJFX05PX1dBUk5JTkdTOyUoUHJlcHJvY2Vzc29yRGVmaW5p
dGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZp
bml0aW9ucz5QUk9KRUNUPSQoUHJvamVjdE5hbWUpO1dJTjMyO19XSU5ET1dTO19DUlRfU0VDVVJF
X05PX1dBUk5JTkdTOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZp
bml0aW9ucz4KICAgICAgIDxXYXJuaW5nTGV2ZWw+RW5hYmxlQWxsV2FybmluZ3M8L1dhcm5pbmdM
ZXZlbD4KICAgICAgIDxEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncz40MTI3OzQ3MTE7NDU0ODs0ODIw
OzQ2Njg7NDI1NTs1MDMyOzUwNDU7NjAwMTs2MDU0OzI4MTk2OyUoRGlzYWJsZVNwZWNpZmljV2Fy
bmluZ3MpPC9EaXNhYmxlU3BlY2lmaWNXYXJuaW5ncz4KICAgICAgIDxNdWx0aVByb2Nlc3NvckNv
bXBpbGF0aW9uPnRydWU8L011bHRpUHJvY2Vzc29yQ29tcGlsYXRpb24+Ci0tIAoyLjE2LjIud2lu
ZG93cy4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
d2luLXB2LWRldmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5v
cmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1k
ZXZlbA==

From win-pv-devel-bounces@lists.xenproject.org Mon Nov 05 16:30:53 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 05 Nov 2018 16:30:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1gJhm8-0000Hs-Km; Mon, 05 Nov 2018 16:30:52 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=rxdl=nq=citrix.com=prvs=8403fdf8a=owen.smith@srs-us1.protection.inumbo.net>)
 id 1gJhm6-0000HL-Qb
 for win-pv-devel@lists.xenproject.org; Mon, 05 Nov 2018 16:30:50 +0000
X-Inumbo-ID: 276d12da-e118-11e8-9a16-bc764e045a96
Received: from SMTP03.CITRIX.COM (unknown [162.221.156.55])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 276d12da-e118-11e8-9a16-bc764e045a96;
 Mon, 05 Nov 2018 16:30:49 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.54,468,1534809600"; d="scan'208";a="69697376"
From: Owen Smith <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Mon, 5 Nov 2018 16:30:16 +0000
Message-ID: <20181105163017.2172-3-owen.smith@citrix.com>
X-Mailer: git-send-email 2.16.2.windows.1
In-Reply-To: <20181105163017.2172-1-owen.smith@citrix.com>
References: <20181105163017.2172-1-owen.smith@citrix.com>
MIME-Version: 1.0
Subject: [win-pv-devel] [PATCH 3/4] Avoid assertion failure on PdoDestroy
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Owen Smith <owen.smith@citrix.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

QXZvaWQgdHJpZ2dlcmluZyBBU1NFUlQoSXNaZXJvTWVtb3J5KFBkbywgc2l6ZW9mKFhFTkNPTlNf
UERPKSkKYnkgTlVMTC1pbmcgUGRvLT5Db250ZXh0LgoKU2lnbmVkLW9mZi1ieTogT3dlbiBTbWl0
aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPgotLS0KIHNyYy94ZW5jb25zL3Bkby5jIHwgMiArKwog
MSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL3NyYy94ZW5jb25z
L3Bkby5jIGIvc3JjL3hlbmNvbnMvcGRvLmMKaW5kZXggM2I0ODNhNS4uYjcxNzdhOSAxMDA2NDQK
LS0tIGEvc3JjL3hlbmNvbnMvcGRvLmMKKysrIGIvc3JjL3hlbmNvbnMvcGRvLmMKQEAgLTIwMDIs
NiArMjAwMiw3IEBAIGZhaWw2OgogICAgIGVsc2UKICAgICAgICAgRnJvbnRlbmREZXN0cm95KFBk
by0+Q29udGV4dCk7CiAKKyAgICBQZG8tPkNvbnRleHQgPSBOVUxMOwogICAgIFBkby0+SXNEZWZh
dWx0ID0gRkFMU0U7CiAKIGZhaWw1OgpAQCAtMjA3Nyw2ICsyMDc4LDcgQEAgUGRvRGVzdHJveSgK
ICAgICBlbHNlCiAgICAgICAgIEZyb250ZW5kRGVzdHJveShQZG8tPkNvbnRleHQpOwogCisgICAg
UGRvLT5Db250ZXh0ID0gTlVMTDsKICAgICBQZG8tPklzRGVmYXVsdCA9IEZBTFNFOwogCiAgICAg
UnRsRnJlZVVuaWNvZGVTdHJpbmcoJlBkby0+RHgtPkxpbmspOwotLSAKMi4xNi4yLndpbmRvd3Mu
MQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCndpbi1w
di1kZXZlbCBtYWlsaW5nIGxpc3QKd2luLXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0
dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby93aW4tcHYtZGV2ZWw=

From win-pv-devel-bounces@lists.xenproject.org Mon Nov 05 16:30:53 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 05 Nov 2018 16:30:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1gJhm8-0000I9-Qb; Mon, 05 Nov 2018 16:30:52 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=rxdl=nq=citrix.com=prvs=8403fdf8a=owen.smith@srs-us1.protection.inumbo.net>)
 id 1gJhm8-0000Hm-BK
 for win-pv-devel@lists.xenproject.org; Mon, 05 Nov 2018 16:30:52 +0000
X-Inumbo-ID: 281a52ce-e118-11e8-9a16-bc764e045a96
Received: from SMTP03.CITRIX.COM (unknown [162.221.156.55])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 281a52ce-e118-11e8-9a16-bc764e045a96;
 Mon, 05 Nov 2018 16:30:50 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.54,468,1534809600"; d="scan'208";a="69697381"
From: Owen Smith <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Mon, 5 Nov 2018 16:30:17 +0000
Message-ID: <20181105163017.2172-4-owen.smith@citrix.com>
X-Mailer: git-send-email 2.16.2.windows.1
In-Reply-To: <20181105163017.2172-1-owen.smith@citrix.com>
References: <20181105163017.2172-1-owen.smith@citrix.com>
MIME-Version: 1.0
Subject: [win-pv-devel] [PATCH 4/4] Handle DBT_DEVICEQUERYREMOVEFAILED
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Owen Smith <owen.smith@citrix.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

U3BsaXQgQ29uc29sZUNyZWF0ZS9Db25zb2xlRGVzdHJveSBzbyB0aGF0IGEgcXVlcnkgcmVtb3Zl
IGNhbiBjbG9zZSBhbGwKZGV2aWNlIGhhbmRsZXMsIGFuZCByZS1vcGVuIHRoZW0gaXMgYSBxdWVy
eSByZW1vdmUgZmFpbGVkIGlzIHJlY2VpdmVkLgpUaGlzIGFsbG93cyB0aGUgbmFtZWQgcGlwZXMg
dG8ga2VlcCBvcGVyYXRpbmcsIGRpc2NhcmRpbmcgYW55IGRhdGEKd2hpbHN0IHRoZSBkZXZpY2Ug
aXMgYmVpbmcgcXVlcnkgcmVtb3ZlZC4KQWxzbyBmaXhlcyBzZXZlcmFsIGlzc3VlcyB3aXRoIHRo
ZSB0aHJlYWRpbmcgbW9kZWwgYW5kIGxlYWtpbmcgaGFuZGxlcy4KClNpZ25lZC1vZmYtYnk6IE93
ZW4gU21pdGggPG93ZW4uc21pdGhAY2l0cml4LmNvbT4KLS0tCiBzcmMvbW9uaXRvci9tb25pdG9y
LmMgfCA0MTggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0t
LS0KIDEgZmlsZSBjaGFuZ2VkLCAzMDggaW5zZXJ0aW9ucygrKSwgMTEwIGRlbGV0aW9ucygtKQoK
ZGlmZiAtLWdpdCBhL3NyYy9tb25pdG9yL21vbml0b3IuYyBiL3NyYy9tb25pdG9yL21vbml0b3Iu
YwppbmRleCAxOTEyMDQ3Li5kODcxYWY3IDEwMDY0NAotLS0gYS9zcmMvbW9uaXRvci9tb25pdG9y
LmMKKysrIGIvc3JjL21vbml0b3IvbW9uaXRvci5jCkBAIC03MCw2ICs3MCw3IEBAIHR5cGVkZWYg
c3RydWN0IF9NT05JVE9SX0NPTlNPTEUgewogICAgIExJU1RfRU5UUlkgICAgICAgICAgICAgIExp
c3RFbnRyeTsKICAgICBQV0NIQVIgICAgICAgICAgICAgICAgICBEZXZpY2VQYXRoOwogICAgIEhB
TkRMRSAgICAgICAgICAgICAgICAgIERldmljZUhhbmRsZTsKKyAgICBCT09MICAgICAgICAgICAg
ICAgICAgICBEZXZpY2VIYW5kbGVPcGVuOwogICAgIEhERVZOT1RJRlkgICAgICAgICAgICAgIERl
dmljZU5vdGlmaWNhdGlvbjsKICAgICBQQ0hBUiAgICAgICAgICAgICAgICAgICBEZXZpY2VOYW1l
OyAvLyBwcm90b2NvbCBhbmQgaW5zdGFuY2U/CiAgICAgSEFORExFICAgICAgICAgICAgICAgICAg
RXhlY3V0YWJsZVRocmVhZDsKQEAgLTM4Nyw5ICszODgsMTQgQEAgQ29ubmVjdGlvblRocmVhZCgK
IAogICAgICAgICBSZXNldEV2ZW50KE92ZXJsYXBwZWQuaEV2ZW50KTsKIAotICAgICAgICBQdXRT
dHJpbmcoQ29uc29sZS0+RGV2aWNlSGFuZGxlLAotICAgICAgICAgICAgICAgICAgQnVmZmVyLAot
ICAgICAgICAgICAgICAgICAgTGVuZ3RoKTsKKyAgICAgICAgRW50ZXJDcml0aWNhbFNlY3Rpb24o
JkNvbnNvbGUtPkNyaXRpY2FsU2VjdGlvbik7CisgICAgICAgIGlmIChDb25zb2xlLT5EZXZpY2VI
YW5kbGVPcGVuKQorICAgICAgICAgICAgUHV0U3RyaW5nKENvbnNvbGUtPkRldmljZUhhbmRsZSwK
KyAgICAgICAgICAgICAgICAgICAgICBCdWZmZXIsCisgICAgICAgICAgICAgICAgICAgICAgTGVu
Z3RoKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgTG9nKCJbTk9fREVWSUNFXSAlLipocyIs
IExlbmd0aCwgQnVmZmVyKTsKKyAgICAgICAgTGVhdmVDcml0aWNhbFNlY3Rpb24oJkNvbnNvbGUt
PkNyaXRpY2FsU2VjdGlvbik7CiAgICAgfQogCiAgICAgRW50ZXJDcml0aWNhbFNlY3Rpb24oJkNv
bnNvbGUtPkNyaXRpY2FsU2VjdGlvbik7CkBAIC00NjAsNiArNDY2LDggQEAgU2VydmVyVGhyZWFk
KAogICAgIExvZygiJXMiLCBQaXBlTmFtZSk7CiAKICAgICBmb3IgKDs7KSB7CisgICAgICAgIERX
T1JEICAgICAgICAgICBUaHJlYWRJZDsKKwogICAgICAgICBQaXBlID0gQ3JlYXRlTmFtZWRQaXBl
KFBpcGVOYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBJUEVfQUNDRVNTX0RV
UExFWCB8IEZJTEVfRkxBR19PVkVSTEFQUEVELAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFBJUEVfVFlQRV9NRVNTQUdFIHwgUElQRV9SRUFETU9ERV9NRVNTQUdFLApAQCAtNDk2LDEw
ICs1MDQsMTIgQEAgU2VydmVyVGhyZWFkKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IENvbm5lY3Rpb25UaHJlYWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBDb25uZWN0aW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ1JFQVRFX1NVU1BFTkRF
RCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZUaHJlYWRJZCk7
CiAgICAgICAgIGlmIChDb25uZWN0aW9uLT5UaHJlYWQgPT0gTlVMTCkKICAgICAgICAgICAgIGdv
dG8gZmFpbDU7CisKKyAgICAgICAgUmVzdW1lVGhyZWFkKENvbm5lY3Rpb24tPlRocmVhZCk7CiAg
ICAgfQogCiAgICAgQ2xvc2VIYW5kbGUoT3ZlcmxhcHBlZC5oRXZlbnQpOwpAQCAtODM5LDYgKzg0
OSwxMzggQEAgZmFpbDE6CiAgICAgcmV0dXJuIDE7CiB9CiAKK3N0YXRpYyBCT09MCitDb25zb2xl
T3BlbigKKyAgICBJTiAgUE1PTklUT1JfQ09OU09MRSAgICBDb25zb2xlCisgICAgKQoreworICAg
IEhBTkRMRSAgICAgICAgICAgICAgICAgIERldmljZUhhbmRsZTsKKyAgICBDSEFSICAgICAgICAg
ICAgICAgICAgICBEZXZpY2VOYW1lW01BWF9QQVRIXTsKKyAgICBEV09SRCAgICAgICAgICAgICAg
ICAgICBCeXRlczsKKyAgICBEV09SRCAgICAgICAgICAgICAgICAgICBUaHJlYWRJZDsKKyAgICBC
T09MICAgICAgICAgICAgICAgICAgICBTdWNjZXNzOworCisgICAgTG9nKCI9PT09PiAld3MiLCBD
b25zb2xlLT5EZXZpY2VQYXRoKTsKKworICAgIGlmIChDb25zb2xlLT5EZXZpY2VIYW5kbGVPcGVu
KQorICAgICAgICBnb3RvIGZhaWwxOworCisgICAgRGV2aWNlSGFuZGxlID0gQ3JlYXRlRmlsZVco
Q29uc29sZS0+RGV2aWNlUGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRU5F
UklDX1JFQUQgfCBHRU5FUklDX1dSSVRFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEZJTEVfU0hBUkVfUkVBRCB8IEZJTEVfU0hBUkVfV1JJVEUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPUEVOX0VY
SVNUSU5HLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZJTEVfQVRUUklCVVRFX05P
Uk1BTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKyAgICBpZiAoRGV2
aWNlSGFuZGxlID09IElOVkFMSURfSEFORExFX1ZBTFVFKQorICAgICAgICBnb3RvIGZhaWwyOwor
CisgICAgLy8gY2hlY2sgcmUtb3BlbiByZXVzZXMgYSBoYW5kbGUKKyAgICBpZiAoKENvbnNvbGUt
PkRldmljZUhhbmRsZSAhPSBJTlZBTElEX0hBTkRMRV9WQUxVRSkgJiYKKyAgICAgICAgKENvbnNv
bGUtPkRldmljZUhhbmRsZSAhPSBEZXZpY2VIYW5kbGUpKQorICAgICAgICBMb2coIkhBTkRMRSBj
aGFuZ2VkISAlcCAtPiAlcCIsCisgICAgICAgICAgICAoVk9JRCopQ29uc29sZS0+RGV2aWNlSGFu
ZGxlLAorICAgICAgICAgICAgKFZPSUQqKURldmljZUhhbmRsZSk7CisKKyAgICBFbnRlckNyaXRp
Y2FsU2VjdGlvbigmQ29uc29sZS0+Q3JpdGljYWxTZWN0aW9uKTsKKyAgICBDb25zb2xlLT5EZXZp
Y2VIYW5kbGUgPSBEZXZpY2VIYW5kbGU7CisgICAgQ29uc29sZS0+RGV2aWNlSGFuZGxlT3BlbiA9
IFRSVUU7CisgICAgTGVhdmVDcml0aWNhbFNlY3Rpb24oJkNvbnNvbGUtPkNyaXRpY2FsU2VjdGlv
bik7CisKKyAgICBpZiAoQ29uc29sZS0+RGV2aWNlTmFtZSA9PSBOVUxMKSB7CisgICAgICAgIFN1
Y2Nlc3MgPSBEZXZpY2VJb0NvbnRyb2woQ29uc29sZS0+RGV2aWNlSGFuZGxlLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIElPQ1RMX1hFTkNPTlNfR0VUX05BTUUsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERldmljZU5h
bWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKERldmljZU5hbWUp
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZCeXRlcywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKyAgICAgICAgaWYgKCFTdWNjZXNzKQorICAg
ICAgICAgICAgZ290byBmYWlsMzsKKworICAgICAgICBEZXZpY2VOYW1lW01BWF9QQVRIIC0gMV0g
PSAnXDAnOworCisgICAgICAgIENvbnNvbGUtPkRldmljZU5hbWUgPSBfc3RyZHVwKERldmljZU5h
bWUpOworICAgICAgICBpZiAoQ29uc29sZS0+RGV2aWNlTmFtZSA9PSBOVUxMKQorICAgICAgICAg
ICAgZ290byBmYWlsNDsKKyAgICB9CisKKyAgICBFQ0hPKENvbnNvbGUtPkRldmljZUhhbmRsZSwg
IlxyXG5bQVRUQUNIRURdXHJcbiIpOworCisgICAgQ29uc29sZS0+RGV2aWNlVGhyZWFkID0gQ3Jl
YXRlVGhyZWFkKE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERldmljZVRocmVh
ZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29uc29sZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ1JFQVRFX1NVU1BFTkRFRCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJlRocmVhZElkKTsKKyAg
ICBpZiAoQ29uc29sZS0+RGV2aWNlVGhyZWFkID09IE5VTEwpCisgICAgICAgIGdvdG8gZmFpbDU7
CisKKyAgICBSZXN1bWVUaHJlYWQoQ29uc29sZS0+RGV2aWNlVGhyZWFkKTsKKworICAgIExvZygi
PD09PT0gJXMiLCBDb25zb2xlLT5EZXZpY2VOYW1lKTsKKworICAgIHJldHVybiBUUlVFOworCitm
YWlsNToKKyAgICBMb2coImZhaWw1Iik7CisKKyAgICBFQ0hPKENvbnNvbGUtPkRldmljZUhhbmRs
ZSwgIlxyXG5bREVUQVRDSEVEXVxyXG4iKTsKKworICAgIGZyZWUoQ29uc29sZS0+RGV2aWNlTmFt
ZSk7CisgICAgQ29uc29sZS0+RGV2aWNlTmFtZSA9IE5VTEw7CisKK2ZhaWw0OgorICAgIExvZygi
ZmFpbDQiKTsKKworZmFpbDM6CisgICAgTG9nKCJmYWlsMyIpOworCisgICAgRW50ZXJDcml0aWNh
bFNlY3Rpb24oJkNvbnNvbGUtPkNyaXRpY2FsU2VjdGlvbik7CisgICAgQ29uc29sZS0+RGV2aWNl
SGFuZGxlT3BlbiA9IEZBTFNFOworICAgIENsb3NlSGFuZGxlKENvbnNvbGUtPkRldmljZUhhbmRs
ZSk7CisgICAgTGVhdmVDcml0aWNhbFNlY3Rpb24oJkNvbnNvbGUtPkNyaXRpY2FsU2VjdGlvbik7
CisKK2ZhaWwyOgorICAgIExvZygiZmFpbDIiKTsKKworZmFpbDE6CisgICAgTG9nKCJmYWlsMSIp
OworCisgICAgcmV0dXJuIEZBTFNFOworfQorCitzdGF0aWMgVk9JRAorQ29uc29sZUNsb3NlKAor
ICAgIElOICBQTU9OSVRPUl9DT05TT0xFICAgIENvbnNvbGUKKyAgICApCit7CisgICAgTG9nKCI9
PT09PiAlcyIsIENvbnNvbGUtPkRldmljZU5hbWUpOworCisgICAgaWYgKCFDb25zb2xlLT5EZXZp
Y2VIYW5kbGVPcGVuKQorICAgICAgICBnb3RvIGZhaWwxOworCisgICAgU2V0RXZlbnQoQ29uc29s
ZS0+RGV2aWNlRXZlbnQpOworICAgIFdhaXRGb3JTaW5nbGVPYmplY3QoQ29uc29sZS0+RGV2aWNl
VGhyZWFkLCBJTkZJTklURSk7CisKKyAgICBDbG9zZUhhbmRsZShDb25zb2xlLT5EZXZpY2VUaHJl
YWQpOworICAgIENvbnNvbGUtPkRldmljZVRocmVhZCA9IE5VTEw7CisKKyAgICBFQ0hPKENvbnNv
bGUtPkRldmljZUhhbmRsZSwgIlxyXG5bREVUQUNIRURdXHJcbiIpOworCisgICAgRW50ZXJDcml0
aWNhbFNlY3Rpb24oJkNvbnNvbGUtPkNyaXRpY2FsU2VjdGlvbik7CisgICAgQ29uc29sZS0+RGV2
aWNlSGFuZGxlT3BlbiA9IEZBTFNFOworICAgIENsb3NlSGFuZGxlKENvbnNvbGUtPkRldmljZUhh
bmRsZSk7CisgICAgTGVhdmVDcml0aWNhbFNlY3Rpb24oJkNvbnNvbGUtPkNyaXRpY2FsU2VjdGlv
bik7CisKKyAgICBMb2coIjw9PT09ICVzIiwgQ29uc29sZS0+RGV2aWNlTmFtZSk7CisgICAgcmV0
dXJuOworCitmYWlsMToKKyAgICBMb2coImZhaWwxIik7Cit9CisKIHN0YXRpYyBQTU9OSVRPUl9D
T05TT0xFCiBDb25zb2xlQ3JlYXRlKAogICAgIElOICBQV0NIQVIgICAgICAgICAgICAgIERldmlj
ZVBhdGgKQEAgLTg0NywxMCArOTg5LDggQEAgQ29uc29sZUNyZWF0ZSgKICAgICBQTU9OSVRPUl9D
T05URVhUICAgICAgICBDb250ZXh0ID0gJk1vbml0b3JDb250ZXh0OwogICAgIFBNT05JVE9SX0NP
TlNPTEUgICAgICAgIENvbnNvbGU7CiAgICAgREVWX0JST0FEQ0FTVF9IQU5ETEUgICAgSGFuZGxl
OwotICAgIENIQVIgICAgICAgICAgICAgICAgICAgIERldmljZU5hbWVbTUFYX1BBVEhdOwotICAg
IERXT1JEICAgICAgICAgICAgICAgICAgIEJ5dGVzOwotICAgIEJPT0wgICAgICAgICAgICAgICAg
ICAgIFN1Y2Nlc3M7CiAgICAgSFJFU1VMVCAgICAgICAgICAgICAgICAgRXJyb3I7CisgICAgRFdP
UkQgICAgICAgICAgICAgICAgICAgVGhyZWFkSWQ7CiAKICAgICBMb2coIj09PT0+ICV3cyIsIERl
dmljZVBhdGgpOwogCkBAIC04NjIsMzkgKzEwMDIsMzYgQEAgQ29uc29sZUNyZWF0ZSgKICAgICBf
X0luaXRpYWxpemVMaXN0SGVhZCgmQ29uc29sZS0+TGlzdEhlYWQpOwogICAgIF9fSW5pdGlhbGl6
ZUxpc3RIZWFkKCZDb25zb2xlLT5MaXN0RW50cnkpOwogICAgIEluaXRpYWxpemVDcml0aWNhbFNl
Y3Rpb24oJkNvbnNvbGUtPkNyaXRpY2FsU2VjdGlvbik7CisgICAgQ29uc29sZS0+RGV2aWNlSGFu
ZGxlT3BlbiA9IEZBTFNFOworICAgIENvbnNvbGUtPkRldmljZUhhbmRsZSA9IElOVkFMSURfSEFO
RExFX1ZBTFVFOwogCi0gICAgQ29uc29sZS0+RGV2aWNlUGF0aCA9IF93Y3NkdXAoRGV2aWNlUGF0
aCk7Ci0gICAgaWYgKENvbnNvbGUtPkRldmljZVBhdGggPT0gTlVMTCkKKyAgICBDb25zb2xlLT5E
ZXZpY2VFdmVudCA9IENyZWF0ZUV2ZW50KE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBUUlVFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgRkFMU0UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsK
KyAgICBpZiAoQ29uc29sZS0+RGV2aWNlRXZlbnQgPT0gTlVMTCkKICAgICAgICAgZ290byBmYWls
MjsKIAotICAgIENvbnNvbGUtPkRldmljZUhhbmRsZSA9IENyZWF0ZUZpbGVXKERldmljZVBhdGgs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0VORVJJQ19SRUFEIHwg
R0VORVJJQ19XUklURSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBG
SUxFX1NIQVJFX1JFQUQgfCBGSUxFX1NIQVJFX1dSSVRFLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIE5VTEwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgT1BFTl9FWElTVElORywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBGSUxFX0FUVFJJQlVURV9OT1JNQUwsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgTlVMTCk7Ci0gICAgaWYgKENvbnNvbGUtPkRldmljZUhhbmRsZSA9PSBJ
TlZBTElEX0hBTkRMRV9WQUxVRSkKKyAgICBDb25zb2xlLT5TZXJ2ZXJFdmVudCA9IENyZWF0ZUV2
ZW50KE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUUlVFLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkFMU0UsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKyAgICBpZiAoQ29uc29sZS0+U2Vy
dmVyRXZlbnQgPT0gTlVMTCkKICAgICAgICAgZ290byBmYWlsMzsKIAotICAgIFN1Y2Nlc3MgPSBE
ZXZpY2VJb0NvbnRyb2woQ29uc29sZS0+RGV2aWNlSGFuZGxlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgSU9DVExfWEVOQ09OU19HRVRfTkFNRSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIE5VTEwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgRGV2aWNlTmFtZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHNpemVvZihEZXZpY2VOYW1lKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICZCeXRlcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOwotICAgIGlm
ICghU3VjY2VzcykKKyAgICBDb25zb2xlLT5FeGVjdXRhYmxlRXZlbnQgPSBDcmVhdGVFdmVudChO
VUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSVUUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkFMU0UsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CisgICAgaWYgKENvbnNv
bGUtPkV4ZWN1dGFibGVFdmVudCA9PSBOVUxMKQogICAgICAgICBnb3RvIGZhaWw0OwogCi0gICAg
RGV2aWNlTmFtZVtNQVhfUEFUSCAtIDFdID0gJ1wwJzsKLQotICAgIENvbnNvbGUtPkRldmljZU5h
bWUgPSBfc3RyZHVwKERldmljZU5hbWUpOwotICAgIGlmIChDb25zb2xlLT5EZXZpY2VOYW1lID09
IE5VTEwpCisgICAgQ29uc29sZS0+RGV2aWNlUGF0aCA9IF93Y3NkdXAoRGV2aWNlUGF0aCk7Cisg
ICAgaWYgKENvbnNvbGUtPkRldmljZVBhdGggPT0gTlVMTCkKICAgICAgICAgZ290byBmYWlsNTsK
IAotICAgIEVDSE8oQ29uc29sZS0+RGV2aWNlSGFuZGxlLCAiXHJcbltBVFRBQ0hFRF1cclxuIik7
CisgICAgaWYgKCFDb25zb2xlT3BlbihDb25zb2xlKSkKKyAgICAgICAgZ290byBmYWlsNjsKIAog
ICAgIFplcm9NZW1vcnkoJkhhbmRsZSwgc2l6ZW9mIChIYW5kbGUpKTsKICAgICBIYW5kbGUuZGJj
aF9zaXplID0gc2l6ZW9mIChIYW5kbGUpOwpAQCAtOTA2LDExOCArMTA0Myw4MCBAQCBDb25zb2xl
Q3JlYXRlKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJkhhbmRsZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERFVklDRV9OT1RJRllfU0VSVklDRV9I
QU5ETEUpOwogICAgIGlmIChDb25zb2xlLT5EZXZpY2VOb3RpZmljYXRpb24gPT0gTlVMTCkKLSAg
ICAgICAgZ290byBmYWlsNjsKLQotICAgIENvbnNvbGUtPkRldmljZUV2ZW50ID0gQ3JlYXRlRXZl
bnQoTlVMTCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSVUUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGQUxTRSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOwotICAgIGlmIChDb25zb2xlLT5EZXZp
Y2VFdmVudCA9PSBOVUxMKQogICAgICAgICBnb3RvIGZhaWw3OwogCi0gICAgQ29uc29sZS0+RGV2
aWNlVGhyZWFkID0gQ3JlYXRlVGhyZWFkKE5VTEwsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIERldmljZVRocmVhZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgQ29uc29sZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7Ci0gICAgaWYg
KENvbnNvbGUtPkRldmljZVRocmVhZCA9PSBOVUxMKQotICAgICAgICBnb3RvIGZhaWw4OwotCi0g
ICAgQ29uc29sZS0+U2VydmVyRXZlbnQgPSBDcmVhdGVFdmVudChOVUxMLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJVRSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIEZBTFNFLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgTlVMTCk7Ci0gICAgaWYgKENvbnNvbGUtPlNlcnZlckV2ZW50ID09IE5VTEwpCi0gICAg
ICAgIGdvdG8gZmFpbDk7Ci0KICAgICBDb25zb2xlLT5TZXJ2ZXJUaHJlYWQgPSBDcmVhdGVUaHJl
YWQoTlVMTCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2VydmVyVGhyZWFkLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb25zb2xlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgQ1JFQVRFX1NVU1BFTkRFRCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJlRocmVhZElkKTsKICAgICBpZiAoQ29uc29sZS0+U2VydmVyVGhyZWFk
ID09IE5VTEwpCi0gICAgICAgIGdvdG8gZmFpbDEwOworICAgICAgICBnb3RvIGZhaWw4OwogCi0g
ICAgQ29uc29sZS0+RXhlY3V0YWJsZUV2ZW50ID0gQ3JlYXRlRXZlbnQoTlVMTCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUUlVFLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBTFNFLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOwotICAgIGlmIChDb25zb2xlLT5FeGVjdXRhYmxl
RXZlbnQgPT0gTlVMTCkKLSAgICAgICAgZ290byBmYWlsMTE7CisgICAgUmVzdW1lVGhyZWFkKENv
bnNvbGUtPlNlcnZlclRocmVhZCk7CiAKICAgICBDb25zb2xlLT5FeGVjdXRhYmxlVGhyZWFkID0g
Q3JlYXRlVGhyZWFkKE5VTEwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
RXhlY3V0YWJsZVRocmVhZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIENvbnNvbGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVM
TCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDUkVBVEVf
U1VTUEVOREVELAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
JlRocmVhZElkKTsKICAgICBpZiAoQ29uc29sZS0+RXhlY3V0YWJsZVRocmVhZCA9PSBOVUxMKQot
ICAgICAgICBnb3RvIGZhaWwxMjsKKyAgICAgICAgZ290byBmYWlsOTsKKworICAgIFJlc3VtZVRo
cmVhZChDb25zb2xlLT5FeGVjdXRhYmxlVGhyZWFkKTsKIAogICAgIExvZygiPD09PT0gJXMiLCBD
b25zb2xlLT5EZXZpY2VOYW1lKTsKIAogICAgIHJldHVybiBDb25zb2xlOwogCi1mYWlsMTI6Ci0g
ICAgTG9nKCJmYWlsMTIiKTsKLQotICAgIENsb3NlSGFuZGxlKENvbnNvbGUtPkV4ZWN1dGFibGVF
dmVudCk7Ci0gICAgQ29uc29sZS0+RXhlY3V0YWJsZUV2ZW50ID0gTlVMTDsKLQotZmFpbDExOgot
ICAgIExvZygiZmFpbDExIik7CitmYWlsOToKKyAgICBMb2coImZhaWw5Iik7CiAKICAgICBTZXRF
dmVudChDb25zb2xlLT5TZXJ2ZXJFdmVudCk7CiAgICAgV2FpdEZvclNpbmdsZU9iamVjdChDb25z
b2xlLT5TZXJ2ZXJUaHJlYWQsIElORklOSVRFKTsKIAotZmFpbDEwOgotICAgIExvZygiZmFpbDEw
Iik7Ci0KLSAgICBDbG9zZUhhbmRsZShDb25zb2xlLT5TZXJ2ZXJFdmVudCk7Ci0gICAgQ29uc29s
ZS0+U2VydmVyRXZlbnQgPSBOVUxMOwotCi1mYWlsOToKLSAgICBMb2coImZhaWw5Iik7Ci0KLSAg
ICBTZXRFdmVudChDb25zb2xlLT5EZXZpY2VFdmVudCk7Ci0gICAgV2FpdEZvclNpbmdsZU9iamVj
dChDb25zb2xlLT5EZXZpY2VUaHJlYWQsIElORklOSVRFKTsKKyAgICBDbG9zZUhhbmRsZShDb25z
b2xlLT5TZXJ2ZXJUaHJlYWQpOworICAgIENvbnNvbGUtPlNlcnZlclRocmVhZCA9IE5VTEw7CiAK
IGZhaWw4OgogICAgIExvZygiZmFpbDgiKTsKIAotICAgIENsb3NlSGFuZGxlKENvbnNvbGUtPkRl
dmljZUV2ZW50KTsKLSAgICBDb25zb2xlLT5EZXZpY2VFdmVudCA9IE5VTEw7CisgICAgVW5yZWdp
c3RlckRldmljZU5vdGlmaWNhdGlvbihDb25zb2xlLT5EZXZpY2VOb3RpZmljYXRpb24pOworICAg
IENvbnNvbGUtPkRldmljZU5vdGlmaWNhdGlvbiA9IE5VTEw7CiAKIGZhaWw3OgogICAgIExvZygi
ZmFpbDciKTsKIAotICAgIFVucmVnaXN0ZXJEZXZpY2VOb3RpZmljYXRpb24oQ29uc29sZS0+RGV2
aWNlTm90aWZpY2F0aW9uKTsKLSAgICBDb25zb2xlLT5EZXZpY2VOb3RpZmljYXRpb24gPSBOVUxM
OworICAgIEVudGVyQ3JpdGljYWxTZWN0aW9uKCZDb25zb2xlLT5Dcml0aWNhbFNlY3Rpb24pOwor
ICAgIENvbnNvbGVDbG9zZShDb25zb2xlKTsKKyAgICBDb25zb2xlLT5EZXZpY2VIYW5kbGUgPSBJ
TlZBTElEX0hBTkRMRV9WQUxVRTsKKwogCiBmYWlsNjoKICAgICBMb2coImZhaWw2Iik7CiAKLSAg
ICBFQ0hPKENvbnNvbGUtPkRldmljZUhhbmRsZSwgIlxyXG5bREVUQUNIRURdXHJcbiIpOwotCiAg
ICAgZnJlZShDb25zb2xlLT5EZXZpY2VQYXRoKTsKICAgICBDb25zb2xlLT5EZXZpY2VQYXRoID0g
TlVMTDsKIAogZmFpbDU6CiAgICAgTG9nKCJmYWlsNSIpOwogCisgICAgQ2xvc2VIYW5kbGUoQ29u
c29sZS0+RXhlY3V0YWJsZUV2ZW50KTsKKyAgICBDb25zb2xlLT5FeGVjdXRhYmxlRXZlbnQgPSBO
VUxMOworCiBmYWlsNDoKICAgICBMb2coImZhaWw0Iik7CiAKLSAgICBDbG9zZUhhbmRsZShDb25z
b2xlLT5EZXZpY2VIYW5kbGUpOwotICAgIENvbnNvbGUtPkRldmljZUhhbmRsZSA9IElOVkFMSURf
SEFORExFX1ZBTFVFOworICAgIENsb3NlSGFuZGxlKENvbnNvbGUtPlNlcnZlckV2ZW50KTsKKyAg
ICBDb25zb2xlLT5TZXJ2ZXJFdmVudCA9IE5VTEw7CiAKIGZhaWwzOgogICAgIExvZygiZmFpbDMi
KTsKIAotICAgIGZyZWUoQ29uc29sZS0+RGV2aWNlUGF0aCk7Ci0gICAgQ29uc29sZS0+RGV2aWNl
UGF0aCA9IE5VTEw7CisgICAgQ2xvc2VIYW5kbGUoQ29uc29sZS0+RGV2aWNlRXZlbnQpOworICAg
IENvbnNvbGUtPkRldmljZUV2ZW50ID0gTlVMTDsKIAogZmFpbDI6CiAgICAgTG9nKCJmYWlsMiIp
OwpAQCAtMTA5OSwzMyArMTE5OCwzMyBAQCBDb25zb2xlRGVzdHJveSgKICAgICBTZXRFdmVudChD
b25zb2xlLT5FeGVjdXRhYmxlRXZlbnQpOwogICAgIFdhaXRGb3JTaW5nbGVPYmplY3QoQ29uc29s
ZS0+RXhlY3V0YWJsZVRocmVhZCwgSU5GSU5JVEUpOwogCi0gICAgQ2xvc2VIYW5kbGUoQ29uc29s
ZS0+RXhlY3V0YWJsZUV2ZW50KTsKLSAgICBDb25zb2xlLT5FeGVjdXRhYmxlRXZlbnQgPSBOVUxM
OworICAgIENsb3NlSGFuZGxlKENvbnNvbGUtPkV4ZWN1dGFibGVUaHJlYWQpOworICAgIENvbnNv
bGUtPkV4ZWN1dGFibGVUaHJlYWQgPSBOVUxMOwogCiAgICAgQ29uc29sZVdhaXRGb3JQaXBlcyhD
b25zb2xlKTsKIAotICAgIENsb3NlSGFuZGxlKENvbnNvbGUtPlNlcnZlckV2ZW50KTsKLSAgICBD
b25zb2xlLT5TZXJ2ZXJFdmVudCA9IE5VTEw7Ci0KLSAgICBTZXRFdmVudChDb25zb2xlLT5EZXZp
Y2VFdmVudCk7Ci0gICAgV2FpdEZvclNpbmdsZU9iamVjdChDb25zb2xlLT5EZXZpY2VUaHJlYWQs
IElORklOSVRFKTsKLQotICAgIENsb3NlSGFuZGxlKENvbnNvbGUtPkRldmljZUV2ZW50KTsKLSAg
ICBDb25zb2xlLT5EZXZpY2VFdmVudCA9IE5VTEw7CisgICAgQ2xvc2VIYW5kbGUoQ29uc29sZS0+
U2VydmVyVGhyZWFkKTsKKyAgICBDb25zb2xlLT5TZXJ2ZXJUaHJlYWQgPSBOVUxMOwogCiAgICAg
VW5yZWdpc3RlckRldmljZU5vdGlmaWNhdGlvbihDb25zb2xlLT5EZXZpY2VOb3RpZmljYXRpb24p
OwogICAgIENvbnNvbGUtPkRldmljZU5vdGlmaWNhdGlvbiA9IE5VTEw7CiAKLSAgICBFQ0hPKENv
bnNvbGUtPkRldmljZUhhbmRsZSwgIlxyXG5bREVUQUNIRURdXHJcbiIpOworICAgIGZyZWUoQ29u
c29sZS0+RGV2aWNlTmFtZSk7CisgICAgQ29uc29sZS0+RGV2aWNlTmFtZSA9IE5VTEw7CiAKICAg
ICBmcmVlKENvbnNvbGUtPkRldmljZVBhdGgpOwogICAgIENvbnNvbGUtPkRldmljZVBhdGggPSBO
VUxMOwogCi0gICAgQ2xvc2VIYW5kbGUoQ29uc29sZS0+RGV2aWNlSGFuZGxlKTsKICAgICBDb25z
b2xlLT5EZXZpY2VIYW5kbGUgPSBJTlZBTElEX0hBTkRMRV9WQUxVRTsKIAotICAgIGZyZWUoQ29u
c29sZS0+RGV2aWNlUGF0aCk7Ci0gICAgQ29uc29sZS0+RGV2aWNlUGF0aCA9IE5VTEw7CisgICAg
Q2xvc2VIYW5kbGUoQ29uc29sZS0+RXhlY3V0YWJsZUV2ZW50KTsKKyAgICBDb25zb2xlLT5FeGVj
dXRhYmxlRXZlbnQgPSBOVUxMOworCisgICAgQ2xvc2VIYW5kbGUoQ29uc29sZS0+U2VydmVyRXZl
bnQpOworICAgIENvbnNvbGUtPlNlcnZlckV2ZW50ID0gTlVMTDsKKworICAgIENsb3NlSGFuZGxl
KENvbnNvbGUtPkRldmljZUV2ZW50KTsKKyAgICBDb25zb2xlLT5EZXZpY2VFdmVudCA9IE5VTEw7
CiAKICAgICBEZWxldGVDcml0aWNhbFNlY3Rpb24oJkNvbnNvbGUtPkNyaXRpY2FsU2VjdGlvbik7
CiAgICAgWmVyb01lbW9yeSgmQ29uc29sZS0+TGlzdEhlYWQsIHNpemVvZihMSVNUX0VOVFJZKSk7
CkBAIC0xMTM2LDYgKzEyMzUsODggQEAgQ29uc29sZURlc3Ryb3koCiAgICAgTG9nKCI8PT09PSIp
OwogfQogCitzdGF0aWMgQk9PTAorTW9uaXRvck9wZW4oCisgICAgSU4gIEhBTkRMRSAgICAgICAg
ICBEZXZpY2VIYW5kbGUKKyAgICApCit7CisgICAgUE1PTklUT1JfQ09OVEVYVCAgICBDb250ZXh0
ID0gJk1vbml0b3JDb250ZXh0OworICAgIFBNT05JVE9SX0NPTlNPTEUgICAgQ29uc29sZTsKKyAg
ICBQTElTVF9FTlRSWSAgICAgICAgIExpc3RFbnRyeTsKKworICAgIExvZygiPT09PT0+IDB4JXAi
LCBEZXZpY2VIYW5kbGUpOworCisgICAgRW50ZXJDcml0aWNhbFNlY3Rpb24oJkNvbnRleHQtPkNy
aXRpY2FsU2VjdGlvbik7CisgICAgZm9yIChMaXN0RW50cnkgPSBDb250ZXh0LT5MaXN0SGVhZC5G
bGluazsKKyAgICAgICAgTGlzdEVudHJ5ICE9ICZDb250ZXh0LT5MaXN0SGVhZDsKKyAgICAgICAg
TGlzdEVudHJ5ID0gTGlzdEVudHJ5LT5GbGluaykgeworICAgICAgICBDb25zb2xlID0gQ09OVEFJ
TklOR19SRUNPUkQoTGlzdEVudHJ5LAorICAgICAgICAgICAgTU9OSVRPUl9DT05TT0xFLAorICAg
ICAgICAgICAgTGlzdEVudHJ5KTsKKworICAgICAgICBpZiAoQ29uc29sZS0+RGV2aWNlSGFuZGxl
ID09IERldmljZUhhbmRsZSkKKyAgICAgICAgICAgIGdvdG8gZm91bmQ7CisgICAgfQorICAgIExl
YXZlQ3JpdGljYWxTZWN0aW9uKCZDb250ZXh0LT5Dcml0aWNhbFNlY3Rpb24pOworCisgICAgTG9n
KCJEZXZpY2VIYW5kbGUgMHglcCBub3QgZm91bmQiLCBEZXZpY2VIYW5kbGUpOworCisgICAgcmV0
dXJuIEZBTFNFOworCitmb3VuZDoKKyAgICBMZWF2ZUNyaXRpY2FsU2VjdGlvbigmQ29udGV4dC0+
Q3JpdGljYWxTZWN0aW9uKTsKKworICAgIGlmICghQ29uc29sZU9wZW4oQ29uc29sZSkpCisgICAg
ICAgIGdvdG8gZmFpbDE7CisKKyAgICBMb2coIjw9PT09PSIpOworCisgICAgcmV0dXJuIFRSVUU7
CisKK2ZhaWwxOgorICAgIExvZygiZmFpbDEiKTsKKworICAgIHJldHVybiBGQUxTRTsKK30KKwor
c3RhdGljIEJPT0wKK01vbml0b3JDbG9zZSgKKyAgICBJTiAgSEFORExFICAgICAgICAgIERldmlj
ZUhhbmRsZQorICAgICkKK3sKKyAgICBQTU9OSVRPUl9DT05URVhUICAgIENvbnRleHQgPSAmTW9u
aXRvckNvbnRleHQ7CisgICAgUE1PTklUT1JfQ09OU09MRSAgICBDb25zb2xlOworICAgIFBMSVNU
X0VOVFJZICAgICAgICAgTGlzdEVudHJ5OworCisgICAgTG9nKCI9PT09PT4gMHglcCIsIERldmlj
ZUhhbmRsZSk7CisKKyAgICBFbnRlckNyaXRpY2FsU2VjdGlvbigmQ29udGV4dC0+Q3JpdGljYWxT
ZWN0aW9uKTsKKyAgICBmb3IgKExpc3RFbnRyeSA9IENvbnRleHQtPkxpc3RIZWFkLkZsaW5rOwor
ICAgICAgICBMaXN0RW50cnkgIT0gJkNvbnRleHQtPkxpc3RIZWFkOworICAgICAgICBMaXN0RW50
cnkgPSBMaXN0RW50cnktPkZsaW5rKSB7CisgICAgICAgIENvbnNvbGUgPSBDT05UQUlOSU5HX1JF
Q09SRChMaXN0RW50cnksCisgICAgICAgICAgICBNT05JVE9SX0NPTlNPTEUsCisgICAgICAgICAg
ICBMaXN0RW50cnkpOworCisgICAgICAgIGlmIChDb25zb2xlLT5EZXZpY2VIYW5kbGUgPT0gRGV2
aWNlSGFuZGxlKQorICAgICAgICAgICAgZ290byBmb3VuZDsKKyAgICB9CisgICAgTGVhdmVDcml0
aWNhbFNlY3Rpb24oJkNvbnRleHQtPkNyaXRpY2FsU2VjdGlvbik7CisKKyAgICBMb2coIkRldmlj
ZUhhbmRsZSAweCVwIG5vdCBmb3VuZCIsIERldmljZUhhbmRsZSk7CisKKyAgICByZXR1cm4gRkFM
U0U7CisKK2ZvdW5kOgorICAgIExlYXZlQ3JpdGljYWxTZWN0aW9uKCZDb250ZXh0LT5Dcml0aWNh
bFNlY3Rpb24pOworCisgICAgQ29uc29sZUNsb3NlKENvbnNvbGUpOworCisgICAgTG9nKCI8PT09
PT0iKTsKKworICAgIHJldHVybiBUUlVFOworfQorCiBzdGF0aWMgQk9PTAogTW9uaXRvckFkZCgK
ICAgICBJTiAgUFdDSEFSICAgICAgICAgIERldmljZVBhdGgKQEAgLTEzNDIsNiArMTUyMyw3IEBA
IE1vbml0b3JSZW1vdmVBbGwoCiAKICAgICAgICAgTGVhdmVDcml0aWNhbFNlY3Rpb24oJkNvbnRl
eHQtPkNyaXRpY2FsU2VjdGlvbik7CiAKKyAgICAgICAgQ29uc29sZUNsb3NlKENvbnNvbGUpOwog
ICAgICAgICBDb25zb2xlRGVzdHJveShDb25zb2xlKTsKICAgICB9CiAgICAgTGVhdmVDcml0aWNh
bFNlY3Rpb24oJkNvbnRleHQtPkNyaXRpY2FsU2VjdGlvbik7CkBAIC0xMzg2LDcgKzE1NjgsMjMg
QEAgTW9uaXRvckN0cmxIYW5kbGVyRXgoCiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBicmVh
azsKIAorICAgICAgICBjYXNlIERCVF9ERVZJQ0VRVUVSWVJFTU9WRUZBSUxFRDoKKyAgICAgICAg
ICAgIGlmIChIZWFkZXItPmRiY2hfZGV2aWNldHlwZSA9PSBEQlRfREVWVFlQX0hBTkRMRSkgewor
ICAgICAgICAgICAgICAgIFBERVZfQlJPQURDQVNUX0hBTkRMRSBEZXZpY2UgPSBFdmVudERhdGE7
CisKKyAgICAgICAgICAgICAgICBNb25pdG9yT3BlbihEZXZpY2UtPmRiY2hfaGFuZGxlKTsKKyAg
ICAgICAgICAgICAgICAvLyBzaG91bGQgY2hlY2sgcmV0dXJuIC0gT3BlbiBjYW4gZmFpbCEKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworCiAgICAgICAgIGNhc2UgREJUX0RFVklD
RVFVRVJZUkVNT1ZFOgorICAgICAgICAgICAgaWYgKEhlYWRlci0+ZGJjaF9kZXZpY2V0eXBlID09
IERCVF9ERVZUWVBfSEFORExFKSB7CisgICAgICAgICAgICAgICAgUERFVl9CUk9BRENBU1RfSEFO
RExFIERldmljZSA9IEV2ZW50RGF0YTsKKworICAgICAgICAgICAgICAgIE1vbml0b3JDbG9zZShE
ZXZpY2UtPmRiY2hfaGFuZGxlKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOwor
CiAgICAgICAgIGNhc2UgREJUX0RFVklDRVJFTU9WRVBFTkRJTkc6CiAgICAgICAgIGNhc2UgREJU
X0RFVklDRVJFTU9WRUNPTVBMRVRFOgogICAgICAgICAgICAgaWYgKEhlYWRlci0+ZGJjaF9kZXZp
Y2V0eXBlID09IERCVF9ERVZUWVBfSEFORExFKSB7Ci0tIAoyLjE2LjIud2luZG93cy4xCgoKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRldmVs
IG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9s
aXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

From win-pv-devel-bounces@lists.xenproject.org Mon Nov 05 16:30:53 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 05 Nov 2018 16:30:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1gJhm8-0000I3-OI; Mon, 05 Nov 2018 16:30:52 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=rxdl=nq=citrix.com=prvs=8403fdf8a=owen.smith@srs-us1.protection.inumbo.net>)
 id 1gJhm8-0000Hh-2m
 for win-pv-devel@lists.xenproject.org; Mon, 05 Nov 2018 16:30:52 +0000
X-Inumbo-ID: 26b80dee-e118-11e8-9a01-12d6303a7972
Received: from SMTP03.CITRIX.COM (unknown [162.221.156.55])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 26b80dee-e118-11e8-9a01-12d6303a7972;
 Mon, 05 Nov 2018 16:30:48 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.54,468,1534809600"; d="scan'208";a="69697374"
From: Owen Smith <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Mon, 5 Nov 2018 16:30:14 +0000
Message-ID: <20181105163017.2172-1-owen.smith@citrix.com>
X-Mailer: git-send-email 2.16.2.windows.1
MIME-Version: 1.0
Subject: [win-pv-devel] [PATCH 1/4] Disable warning 5032
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Owen Smith <owen.smith@citrix.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

V0RLMTc3NjMgdHJpZ2dlcnMgYSB3YXJuaW5nIChtaXNtYXRjaGVkICNwcmFnbWEgd2FybmluZyhw
dXNoKSkgaW4KaW5jbHVkZS91bS93aW5pb2N0bC5oCkRpc2FibGUgdGhpcyB3YXJuaW5nIHVudGls
IHRoZSBXREsgaGVhZGVyIGhhcyByZXNvbHZlZCB0aGlzIGlzc3VlLgoKU2lnbmVkLW9mZi1ieTog
T3dlbiBTbWl0aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPgotLS0KIHZzMjAxNy94ZW5jb25zX21v
bml0b3IveGVuY29uc19tb25pdG9yLnZjeHByb2ogfCAyICstCiB2czIwMTcveGVuY29uc190dHkv
eGVuY29uc190dHkudmN4cHJvaiAgICAgICAgIHwgMiArLQogMiBmaWxlcyBjaGFuZ2VkLCAyIGlu
c2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvdnMyMDE3L3hlbmNvbnNf
bW9uaXRvci94ZW5jb25zX21vbml0b3IudmN4cHJvaiBiL3ZzMjAxNy94ZW5jb25zX21vbml0b3Iv
eGVuY29uc19tb25pdG9yLnZjeHByb2oKaW5kZXggMDJkYzdmZC4uMTY1MGRmZCAxMDA2NDQKLS0t
IGEvdnMyMDE3L3hlbmNvbnNfbW9uaXRvci94ZW5jb25zX21vbml0b3IudmN4cHJvagorKysgYi92
czIwMTcveGVuY29uc19tb25pdG9yL3hlbmNvbnNfbW9uaXRvci52Y3hwcm9qCkBAIC0yNSw3ICsy
NSw3IEBACiAgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKFNvbHV0aW9uRGly
KS4uXGluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbElu
Y2x1ZGVEaXJlY3Rvcmllcz4KICAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5QUk9KRUNU
PSQoUHJvamVjdE5hbWUpO1dJTjMyO19XSU5ET1dTO19DUlRfU0VDVVJFX05PX1dBUk5JTkdTOyUo
UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KICAgICAg
IDxXYXJuaW5nTGV2ZWw+RW5hYmxlQWxsV2FybmluZ3M8L1dhcm5pbmdMZXZlbD4KLSAgICAgIDxE
aXNhYmxlU3BlY2lmaWNXYXJuaW5ncz40MTI3OzQ3MTE7NDU0ODs0ODIwOzQ2Njg7NDI1NTs1MDQ1
OzYwMDE7NjA1NDsyODE5NjslKERpc2FibGVTcGVjaWZpY1dhcm5pbmdzKTwvRGlzYWJsZVNwZWNp
ZmljV2FybmluZ3M+CisgICAgICA8RGlzYWJsZVNwZWNpZmljV2FybmluZ3M+NDEyNzs0NzExOzQ1
NDg7NDgyMDs0NjY4OzQyNTU7NTAzMjs1MDQ1OzYwMDE7NjA1NDsyODE5NjslKERpc2FibGVTcGVj
aWZpY1dhcm5pbmdzKTwvRGlzYWJsZVNwZWNpZmljV2FybmluZ3M+CiAgICAgICA8TXVsdGlQcm9j
ZXNzb3JDb21waWxhdGlvbj50cnVlPC9NdWx0aVByb2Nlc3NvckNvbXBpbGF0aW9uPgogICAgICAg
PEVuYWJsZVBSRWZhc3Q+dHJ1ZTwvRW5hYmxlUFJFZmFzdD4KICAgICAgIDxSdW50aW1lTGlicmFy
eSBDb25kaXRpb249IickKFVzZURlYnVnTGlicmFyaWVzKSc9PSd0cnVlJyI+TXVsdGlUaHJlYWRl
ZERlYnVnPC9SdW50aW1lTGlicmFyeT4KZGlmZiAtLWdpdCBhL3ZzMjAxNy94ZW5jb25zX3R0eS94
ZW5jb25zX3R0eS52Y3hwcm9qIGIvdnMyMDE3L3hlbmNvbnNfdHR5L3hlbmNvbnNfdHR5LnZjeHBy
b2oKaW5kZXggZGMxY2U0NC4uMThhZDgxYiAxMDA2NDQKLS0tIGEvdnMyMDE3L3hlbmNvbnNfdHR5
L3hlbmNvbnNfdHR5LnZjeHByb2oKKysrIGIvdnMyMDE3L3hlbmNvbnNfdHR5L3hlbmNvbnNfdHR5
LnZjeHByb2oKQEAgLTIyLDcgKzIyLDcgQEAKICAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVj
dG9yaWVzPiQoU29sdXRpb25EaXIpLi5caW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0
b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgogICAgICAgPFByZXByb2Nlc3Nv
ckRlZmluaXRpb25zPldJTjMyO19XSU5ET1dTO19DUlRfU0VDVVJFX05PX1dBUk5JTkdTOyUoUHJl
cHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KICAgICAgIDxX
YXJuaW5nTGV2ZWw+RW5hYmxlQWxsV2FybmluZ3M8L1dhcm5pbmdMZXZlbD4KLSAgICAgIDxEaXNh
YmxlU3BlY2lmaWNXYXJuaW5ncz40MTI3OzQ3MTE7NDU0ODs0ODIwOzQ2Njg7NDI1NTs1MDQ1OzYw
MDE7NjA1NDsyODE5NjslKERpc2FibGVTcGVjaWZpY1dhcm5pbmdzKTwvRGlzYWJsZVNwZWNpZmlj
V2FybmluZ3M+CisgICAgICA8RGlzYWJsZVNwZWNpZmljV2FybmluZ3M+NDEyNzs0NzExOzQ1NDg7
NDgyMDs0NjY4OzQyNTU7NTAzMjs1MDQ1OzYwMDE7NjA1NDsyODE5NjslKERpc2FibGVTcGVjaWZp
Y1dhcm5pbmdzKTwvRGlzYWJsZVNwZWNpZmljV2FybmluZ3M+CiAgICAgICA8TXVsdGlQcm9jZXNz
b3JDb21waWxhdGlvbj50cnVlPC9NdWx0aVByb2Nlc3NvckNvbXBpbGF0aW9uPgogICAgICAgPEVu
YWJsZVBSRWZhc3Q+dHJ1ZTwvRW5hYmxlUFJFZmFzdD4KICAgICAgIDxSdW50aW1lTGlicmFyeSBD
b25kaXRpb249IickKFVzZURlYnVnTGlicmFyaWVzKSc9PSd0cnVlJyI+TXVsdGlUaHJlYWRlZERl
YnVnPC9SdW50aW1lTGlicmFyeT4KLS0gCjIuMTYuMi53aW5kb3dzLjEKCgpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwp3aW4tcHYtZGV2ZWwgbWFpbGluZyBs
aXN0Cndpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnBy
b2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRldmVs

From win-pv-devel-bounces@lists.xenproject.org Tue Nov 06 08:33:54 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 06 Nov 2018 08:33:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1gJwo4-0001Hw-GG; Tue, 06 Nov 2018 08:33:52 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=mask=nr=gmail.com=hayatelee@srs-us1.protection.inumbo.net>)
 id 1gJwo3-0001Hp-3m
 for win-pv-devel@lists.xenproject.org; Tue, 06 Nov 2018 08:33:51 +0000
X-Inumbo-ID: af61b127-e19e-11e8-9a16-bc764e045a96
Received: from mail-qt1-x844.google.com (unknown [2607:f8b0:4864:20::844])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id af61b127-e19e-11e8-9a16-bc764e045a96;
 Tue, 06 Nov 2018 08:33:50 +0000 (UTC)
Received: by mail-qt1-x844.google.com with SMTP id z20-v6so1673574qti.9
 for <win-pv-devel@lists.xenproject.org>; Tue, 06 Nov 2018 00:33:50 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:from:date:message-id:subject:to;
 bh=IeRauO+wHyJ4iBrj5jQfAv8BuzcLAZev7a/NAJP67sM=;
 b=TQx3QnrZkQSQlYHfGcDxI52vFh93aB2rZ3oTWgPuhpBqPpSwuTKY2OVyB2zXTg4gRa
 hAObNJv90yAQ8nvYoLgtqBrc48rLw0A6dkZLKuJrVbKVwbVNovctnmka3YNFDWmIuZwQ
 /UW9kDRG5ttBKJdJReVflbpnCHYcDRpyNb1zZpQcIFDeiQJwRehehYLtW8yJpRhvc63q
 0pni+TJdrE4xhhVfwaI+yDn+8XK9ZRBxw5evDKg105/fuy3QGy3ljL8y5e2Zy4pJkqSb
 8LiH41VQBahPqtoylC5TnZmrzkesrkKhFoavprRULlG106aSTWF+miWFEEa4E/8THZza
 PRjQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:from:date:message-id:subject:to;
 bh=IeRauO+wHyJ4iBrj5jQfAv8BuzcLAZev7a/NAJP67sM=;
 b=dxGAnXMwmrnAuC5R9/AHs0BZxrABqVwXnZknRkv4GpNQlO+R4dJhirSfkAtn28p+Xt
 d4Lr+bNQ8c5iGT0fwmnBApncdodt9DOsxAYPK1AyisfVO9qfDTXb+yAWZ5rIyosEJIs4
 KlqYfIyiZCI3QzumkP6awRP9EUAkxmuJCPjr0k84CjoqGehO/dA5HcqCjDHgmrUPgSmU
 rhKIYmRPPKIpipQeaJSBAmnypot3xtXe8Xz58a7UWKZrl5+Sl4oFaG4mSxfX+YMChr56
 6TJOGv9LRNjiCvDTW5H6uP5oE59HwSQI1eTFZW6+yXUlfZo8PDvDKfcl4Eh5Va3ZG06C
 1eKg==
X-Gm-Message-State: AGRZ1gIX3f3nz3y1FSy3cPZOjOVXZqTP0mpSaEelL1OJD+0g0T+wg0rB
 A+QrvG+lYr/2pHVGN+t/kjEgFYaEkytI/H4mwHCLX54YrWY=
X-Google-Smtp-Source: AJdET5dKMUnPd8pY/EFgNtxTeMmIV+ZEkZE85HoMBmhXJRDo7juLt18D70opfQDrAUc42aIaboPH3JB0ecIUI3bkyOs=
X-Received: by 2002:a0c:c993:: with SMTP id b19mr23706012qvk.126.1541493229288; 
 Tue, 06 Nov 2018 00:33:49 -0800 (PST)
MIME-Version: 1.0
From: Haohao Lee <hayatelee@gmail.com>
Date: Tue, 6 Nov 2018 16:33:38 +0800
Message-ID: <CAJXWAwxLfXi+COAMrX1oLOeJrSRq4SB_sXERotp4viOZeZsgMQ@mail.gmail.com>
To: win-pv-devel@lists.xenproject.org
Subject: [win-pv-devel] Hi,
 a question about the checksum offload and WinDivert
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============3182061381704822387=="
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

--===============3182061381704822387==
Content-Type: multipart/alternative; boundary="0000000000005b01e70579fadc02"

--0000000000005b01e70579fadc02
Content-Type: text/plain; charset="UTF-8"

Hi Xen folks,

Background:
I am a Windows application developer. We developed an application which
modifies packets and rejects them back into the network stack to do some
network proxy transparently.

We achieved this by using WinDivert (https://reqrypt.org/windivert.html)
that is a tool/driver allows user-mode applications to capture/modify/drop
network packets sent to/from the Windows network stack.

Our app worked well on physical Windows machines but on Xen virtual
machines we encountered a problem.

Problem:
- Everything works well before we start our app.
- Network traffic is blocked after the app is started, even a single SYN
packet couldn't be sent out.

Workaround:
If we disable the checksum offload in Xen Net Driver, everything starts to
work again.

Testing Environment:
Xen Virtual Machine: Windows 7 Sp1 x64 with latest updates
Xen Net Driver: Driver version 3.0.144.590 xennet.sys version 2.3.0.144

I have a couple of questions:
1. Is this a problem of WinDivert driver or Xen Net driver from your
perspective?
2. If this belongs to Xen Net driver, does the latest driver fix this?
3. I found many articles on the Internet which teach people to disable
checksum offload (and other kinds of offload) for Xen virtual machines,
e.g. some tutorials from AWS. Why is this option ON by default if it
shouldn't be, or is there any introduction about the context why it is ON
by default? I know what TCP/IP checksum is, but in virtual machine context,
I have no idea if it is necessary or not.

Any comment or suggestion is appreciated.

Thanks

Hao

--0000000000005b01e70579fadc02
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr">Hi Xen folks,<div><br></div><div>Backgrou=
nd:</div><div>I am a Windows application developer. We developed an applica=
tion which modifies packets and rejects them back into the network stack to=
 do some network proxy transparently.</div><div><br></div><div>We achieved =
this by using WinDivert (<a href=3D"https://reqrypt.org/windivert.html">htt=
ps://reqrypt.org/windivert.html</a>) that is a tool/driver allows user-mode=
 applications to capture/modify/drop network packets sent to/from the Windo=
ws network stack.</div><div><br></div><div>Our app worked well=C2=A0on phys=
ical Windows machines but on Xen virtual machines we encountered a problem.=
</div><div><br></div><div>Problem:</div><div>- Everything works well before=
 we start our app.</div><div>- Network traffic is blocked after the app is =
started, even a single SYN packet couldn&#39;t be sent out.</div><div><br><=
/div><div>Workaround:</div><div>If we disable the checksum offload in Xen N=
et Driver, everything starts to work again.</div><div><br></div><div>Testin=
g=C2=A0Environment:</div><div>Xen Virtual Machine: Windows 7 Sp1 x64 with l=
atest updates</div><div>Xen Net Driver: Driver version 3.0.144.590 xennet.s=
ys version 2.3.0.144</div><div><br></div><div>I have a couple of questions:=
</div><div>1. Is this a problem of WinDivert driver or Xen Net driver from =
your perspective?</div><div>2. If this belongs to Xen Net driver, does the =
latest driver fix this?</div><div>3. I found many articles on the Internet =
which teach people to disable checksum offload (and other kinds of offload)=
 for Xen virtual machines, e.g. some tutorials from AWS. Why is this option=
 ON by default if it shouldn&#39;t be, or is there any introduction about t=
he context why it is ON by default? I know what TCP/IP checksum is, but in =
virtual machine context, I have no idea if it is necessary or not.</div><di=
v><br></div><div>Any comment or suggestion is appreciated.</div><div><br></=
div><div>Thanks</div><div><br></div><div>Hao</div></div></div>

--0000000000005b01e70579fadc02--


--===============3182061381704822387==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

--===============3182061381704822387==--


From win-pv-devel-bounces@lists.xenproject.org Tue Nov 06 09:57:39 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 06 Nov 2018 09:57:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1gJy77-0001mT-KE; Tue, 06 Nov 2018 09:57:37 +0000
Received: from winpvdrvbuild.xenproject.org ([162.242.160.44])
 by lists.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <paul.durrant@xenproject.org>) id 1gJy75-0001mO-HZ
 for win-pv-devel@lists.xenproject.org; Tue, 06 Nov 2018 09:57:35 +0000
Date: Tue, 6 Nov 2018 09:57:39 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <21767025.11.1541498259510.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_10_29227966.1541498259088"
X-Jenkins-Job: XENVIF-master
X-Jenkins-Result: SUCCESS
Subject: [win-pv-devel] XENVIF-master - Build #166 - Successful
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

------=_Part_10_29227966.1541498259088
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The build system has completed build #166.

Check console output at https://winpvdrvbuild.xenproject.org:8080/job/XENVIF-master/166/console to view the results.
------=_Part_10_29227966.1541498259088
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

------=_Part_10_29227966.1541498259088--


From win-pv-devel-bounces@lists.xenproject.org Tue Nov 06 11:06:37 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 06 Nov 2018 11:06:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1gJzBr-0000IV-Rh; Tue, 06 Nov 2018 11:06:35 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=9pgl=nr=citrix.com=prvs=84117823e=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1gJzBq-0000IQ-4k
 for win-pv-devel@lists.xenproject.org; Tue, 06 Nov 2018 11:06:34 +0000
X-Inumbo-ID: 042071ee-e1b4-11e8-84d2-12d6303a7972
Received: from SMTP.EU.CITRIX.COM (unknown [185.25.65.24])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 042071ee-e1b4-11e8-84d2-12d6303a7972;
 Tue, 06 Nov 2018 11:06:32 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.54,471,1534809600"; d="scan'208";a="81458685"
From: Paul Durrant <Paul.Durrant@citrix.com>
To: 'Haohao Lee' <hayatelee@gmail.com>, "win-pv-devel@lists.xenproject.org"
 <win-pv-devel@lists.xenproject.org>
Thread-Topic: [win-pv-devel] Hi, a question about the checksum offload and
 WinDivert
Thread-Index: AQHUdat9G2WPL2aKIEqbPQ4FNX+EHKVCk0Jw
Date: Tue, 6 Nov 2018 11:06:30 +0000
Message-ID: <a98f45aec0b94b1f8c17a36ffcd41e59@AMSPEX02CL03.citrite.net>
References: <CAJXWAwxLfXi+COAMrX1oLOeJrSRq4SB_sXERotp4viOZeZsgMQ@mail.gmail.com>
In-Reply-To: <CAJXWAwxLfXi+COAMrX1oLOeJrSRq4SB_sXERotp4viOZeZsgMQ@mail.gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-transport-fromentityheader: Hosted
MIME-Version: 1.0
Subject: Re: [win-pv-devel] Hi,
 a question about the checksum offload and WinDivert
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

RGUtaHRtbGluZy4uLg0KDQpNeSByZXNwb25zZXMgaW5kZW50ZWQ6DQoNCi0tLQ0KRnJvbTogd2lu
LXB2LWRldmVsIFttYWlsdG86d2luLXB2LWRldmVsLWJvdW5jZXNAbGlzdHMueGVucHJvamVjdC5v
cmddIE9uIEJlaGFsZiBPZiBIYW9oYW8gTGVlDQpTZW50OiAwNiBOb3ZlbWJlciAyMDE4IDA4OjM0
DQpUbzogd2luLXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnDQpTdWJqZWN0OiBbd2luLXB2
LWRldmVsXSBIaSwgYSBxdWVzdGlvbiBhYm91dCB0aGUgY2hlY2tzdW0gb2ZmbG9hZCBhbmQgV2lu
RGl2ZXJ0DQoNCkhpIFhlbiBmb2xrcywNCg0KQmFja2dyb3VuZDoNCkkgYW0gYSBXaW5kb3dzIGFw
cGxpY2F0aW9uIGRldmVsb3Blci4gV2UgZGV2ZWxvcGVkIGFuIGFwcGxpY2F0aW9uIHdoaWNoIG1v
ZGlmaWVzIHBhY2tldHMgYW5kIHJlamVjdHMgdGhlbSBiYWNrIGludG8gdGhlIG5ldHdvcmsgc3Rh
Y2sgdG8gZG8gc29tZSBuZXR3b3JrIHByb3h5IHRyYW5zcGFyZW50bHkuDQoNCldlIGFjaGlldmVk
IHRoaXMgYnkgdXNpbmcgV2luRGl2ZXJ0IChodHRwczovL3JlcXJ5cHQub3JnL3dpbmRpdmVydC5o
dG1sKSB0aGF0IGlzIGEgdG9vbC9kcml2ZXIgYWxsb3dzIHVzZXItbW9kZSBhcHBsaWNhdGlvbnMg
dG8gY2FwdHVyZS9tb2RpZnkvZHJvcCBuZXR3b3JrIHBhY2tldHMgc2VudCB0by9mcm9tIHRoZSBX
aW5kb3dzIG5ldHdvcmsgc3RhY2suDQoNCk91ciBhcHAgd29ya2VkIHdlbGzCoG9uIHBoeXNpY2Fs
IFdpbmRvd3MgbWFjaGluZXMgYnV0IG9uIFhlbiB2aXJ0dWFsIG1hY2hpbmVzIHdlIGVuY291bnRl
cmVkIGEgcHJvYmxlbS4NCg0KUHJvYmxlbToNCi0gRXZlcnl0aGluZyB3b3JrcyB3ZWxsIGJlZm9y
ZSB3ZSBzdGFydCBvdXIgYXBwLg0KLSBOZXR3b3JrIHRyYWZmaWMgaXMgYmxvY2tlZCBhZnRlciB0
aGUgYXBwIGlzIHN0YXJ0ZWQsIGV2ZW4gYSBzaW5nbGUgU1lOIHBhY2tldCBjb3VsZG4ndCBiZSBz
ZW50IG91dC4NCg0KV29ya2Fyb3VuZDoNCklmIHdlIGRpc2FibGUgdGhlIGNoZWNrc3VtIG9mZmxv
YWQgaW4gWGVuIE5ldCBEcml2ZXIsIGV2ZXJ5dGhpbmcgc3RhcnRzIHRvIHdvcmsgYWdhaW4uDQoN
Cj4gSGkgSGFvLA0KPg0KPiBXaGljaCBjaGVja3N1bSBvZmZsb2FkPyBKdXN0IFRDUCBvciBJUHY0
IHRvbz8NCg0KVGVzdGluZ8KgRW52aXJvbm1lbnQ6DQpYZW4gVmlydHVhbCBNYWNoaW5lOiBXaW5k
b3dzIDcgU3AxIHg2NCB3aXRoIGxhdGVzdCB1cGRhdGVzDQpYZW4gTmV0IERyaXZlcjogRHJpdmVy
IHZlcnNpb24gMy4wLjE0NC41OTAgeGVubmV0LnN5cyB2ZXJzaW9uIDIuMy4wLjE0NA0KDQpJIGhh
dmUgYSBjb3VwbGUgb2YgcXVlc3Rpb25zOg0KMS4gSXMgdGhpcyBhIHByb2JsZW0gb2YgV2luRGl2
ZXJ0IGRyaXZlciBvciBYZW4gTmV0IGRyaXZlciBmcm9tIHlvdXIgcGVyc3BlY3RpdmU/DQoNCj4g
U2luY2UgdGhlIHN0YWJsZSAoaS5lLiA4LngpIGRyaXZlcnMgcGFzcyBhbGwgbG9nbyB0ZXN0cyAo
d2hpY2ggaGF2ZSBkZXRhaWxlZCBjaGVja3Mgb2YgdGhlIHNlbWFudGljcyBvZiBjaGVja3N1bSBv
ZmZsb2FkLCBMU08sIGV0Yy4pIHRoZSBJJ2Qgc2F5IHRoZSBwcm9ibGVtIGxpZXMgaW4gdGhlIGFw
cGxpY2F0aW9uLiBPbmUgdGhpbmcgdG8gdHJ5IGlzIGRpc2FibGluZyBMUk8gdGhvdWdoLi4gdGhp
cyBpcyBkaXNhYmxlZCBmb3IgbG9nbyB0ZXN0aW5nIHNpbmNlIHRoZSB2ZXJzaW9uIG9mIE5ESVMg
d2UgdXNlIGRvZXNuJ3QgYWN0dWFsbHkgc3VwcG9ydCBpdC4gKE1vdmluZyB0byBhIG5ld2VyIE5E
SVMgaXMgb24gdGhlIFRPRE8gbGlzdCkuDQoNCjIuIElmIHRoaXMgYmVsb25ncyB0byBYZW4gTmV0
IGRyaXZlciwgZG9lcyB0aGUgbGF0ZXN0IGRyaXZlciBmaXggdGhpcz8NCjMuIEkgZm91bmQgbWFu
eSBhcnRpY2xlcyBvbiB0aGUgSW50ZXJuZXQgd2hpY2ggdGVhY2ggcGVvcGxlIHRvIGRpc2FibGUg
Y2hlY2tzdW0gb2ZmbG9hZCAoYW5kIG90aGVyIGtpbmRzIG9mIG9mZmxvYWQpIGZvciBYZW4gdmly
dHVhbCBtYWNoaW5lcywgZS5nLiBzb21lIHR1dG9yaWFscyBmcm9tIEFXUy4gV2h5IGlzIHRoaXMg
b3B0aW9uIE9OIGJ5IGRlZmF1bHQgaWYgaXQgc2hvdWxkbid0IGJlLCBvciBpcyB0aGVyZSBhbnkg
aW50cm9kdWN0aW9uIGFib3V0IHRoZSBjb250ZXh0IHdoeSBpdCBpcyBPTiBieSBkZWZhdWx0PyBJ
IGtub3cgd2hhdCBUQ1AvSVAgY2hlY2tzdW0gaXMsIGJ1dCBpbiB2aXJ0dWFsIG1hY2hpbmUgY29u
dGV4dCwgSSBoYXZlIG5vIGlkZWEgaWYgaXQgaXMgbmVjZXNzYXJ5IG9yIG5vdC4NCg0KQW55IGNv
bW1lbnQgb3Igc3VnZ2VzdGlvbiBpcyBhcHByZWNpYXRlZC4NCg0KPiBUaGUgYW5zd2VyIGlzICJp
dCdzIGNvbXBsaWNhdGVkIiA6LSkgVGhlIGRlZmF1bHQgc2V0IG9mIG9mZmxvYWRzIGlzIHRoZSBz
ZXQgd2UgdXNlIGluIENpdHJpeCBicmFuZGVkIHZlcnNpb25zIG9mIHRoZSBkcml2ZXJzIGZvciBY
ZW5TZXJ2ZXIgYW5kLCB3aGlsc3QgdGhlcmUgdXNlZCB0byBiZSBtYW55IGlzc3VlcyB3aXRoIHN1
Y2ggb2ZmbG9hZHMgaW4gdGhlIHBhc3QgKHByZSBYZW5zZXJ2ZXIgNy54KSwgd2UgaGF2ZSBub3Qg
aGFkICphbnkqIHJlcG9ydHMgZnJvbSB0aGUgZmllbGQgdG8gc3VnZ2VzdCB0aGVyZSBhcmUgYW55
IGN1cnJlbnQgaXNzdWVzIHdpdGggY2hlY2tzdW0gb3IgbGFyZ2UgcGFja2V0IG9mZmxvYWRzIGlu
IHRoZSA4LnggZHJpdmVycy4NCj4NCj4gQ2hlZXJzLA0KPg0KPiBQYXVsDQoNClRoYW5rcw0KDQpI
YW8NCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCndpbi1w
di1kZXZlbCBtYWlsaW5nIGxpc3QKd2luLXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0
dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby93aW4tcHYtZGV2ZWw=

From win-pv-devel-bounces@lists.xenproject.org Tue Nov 06 16:01:34 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 06 Nov 2018 16:01:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1gK3nI-0002jQ-Kr; Tue, 06 Nov 2018 16:01:32 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=mask=nr=gmail.com=hayatelee@srs-us1.protection.inumbo.net>)
 id 1gK3nG-0002jI-ON
 for win-pv-devel@lists.xenproject.org; Tue, 06 Nov 2018 16:01:30 +0000
X-Inumbo-ID: 39185b17-e1dd-11e8-9a16-bc764e045a96
Received: from mail-qt1-x833.google.com (unknown [2607:f8b0:4864:20::833])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 39185b17-e1dd-11e8-9a16-bc764e045a96;
 Tue, 06 Nov 2018 16:01:29 +0000 (UTC)
Received: by mail-qt1-x833.google.com with SMTP id l11so3153151qtp.0
 for <win-pv-devel@lists.xenproject.org>; Tue, 06 Nov 2018 08:01:29 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
 :cc:content-transfer-encoding;
 bh=JLxdVj7hdlhqcP1Bcav+ZTPFNrrdJszbiDiS9/uxNWU=;
 b=B1T9Cy3qoSQCCrOAguv0/DX3dO52a1zQpERgqUNFqlUu601CX5RpNPibmX/671GSNJ
 QREtkoSmvy+Z0+YyA/8i4SSBGWoNsVHJ8CyozeA2V0/MA7Py3sLZAfkppoMo62CVz7RY
 HPNNGKwVBMtLiH+82If0cekI5szE+l//a3OamRqVZVpVGmSVMe0kn3cauRaZiCNZ7PoJ
 +a/b0McCsef1NIy0AGMHMQUgE8CZieXh2mP6lGaWYj1lic1eIPzWIhwkZeTgo8L6WkA0
 ocO4K/6oPAOX61kNQHjokJyIfN/DLoXLmkjaniIw/ua6+SaIWdN6V81IZXPm4Y+kWEn/
 JNBg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to:cc:content-transfer-encoding;
 bh=JLxdVj7hdlhqcP1Bcav+ZTPFNrrdJszbiDiS9/uxNWU=;
 b=HEyNEi8cw00227V6Ot9iGnB9V1AMgHV7N7Q7Fsv//Y1aZhxuehS0jWQjmZn1q+3zVP
 TxJ3AWcS7iXk882OxKsW/XHeM41wY9loo2jkpPJWXac+c+j+a+0A/tuUNJXiNByEFmn1
 jlFsxDT8lsODMki/pXGPD58wfh9FEQUuc8SNLp+nEhwWwrzCt3TcQr8nSVFZShwzyxi1
 GHjdDa4VKqeet7NwXFUOTs41x12HOSDwVajaXTR3FpN79Yb424jLa6ZrVyD/UwCpLM2g
 WZgivLcWA548HGzLrIb2rmLUkcUmHoF58UcBLpthe4hku4EazLDN8dZkG53fUT613/ZL
 vY1w==
X-Gm-Message-State: AGRZ1gKT7Ix/5c1LI3PcCD2YQwGGmMAv/YegVoYXLCwk4pAkncTN0RGb
 STx0+wcldZRgXkQyIST/Ou+6fsuaqHljKFxQOk5m44ZqkaU=
X-Google-Smtp-Source: AJdET5dC2Z29/OKERfjJOcX9o1MF5CiJfMy4okjW0ZZrH/g2fSPyW0wVMkvEjzXOs/Oenf4OEA46viCF9LNYx71dTQU=
X-Received: by 2002:ad4:40c9:: with SMTP id x9mr22264962qvp.165.1541520089181; 
 Tue, 06 Nov 2018 08:01:29 -0800 (PST)
MIME-Version: 1.0
References: <CAJXWAwxLfXi+COAMrX1oLOeJrSRq4SB_sXERotp4viOZeZsgMQ@mail.gmail.com>
 <a98f45aec0b94b1f8c17a36ffcd41e59@AMSPEX02CL03.citrite.net>
In-Reply-To: <a98f45aec0b94b1f8c17a36ffcd41e59@AMSPEX02CL03.citrite.net>
From: Haohao Lee <hayatelee@gmail.com>
Date: Wed, 7 Nov 2018 00:01:17 +0800
Message-ID: <CAJXWAwx00kU+f-+dAoroOQJhO_46WOaj=z7n=nzRU6Fb8stEOw@mail.gmail.com>
To: Paul.Durrant@citrix.com
Subject: Re: [win-pv-devel] Hi,
 a question about the checksum offload and WinDivert
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Cc: win-pv-devel@lists.xenproject.org
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

T24gVHVlLCBOb3YgNiwgMjAxOCBhdCA3OjA2IFBNIFBhdWwgRHVycmFudCA8UGF1bC5EdXJyYW50
QGNpdHJpeC5jb20+IHdyb3RlOgo+Cj4gRGUtaHRtbGluZy4uLgo+Cj4gTXkgcmVzcG9uc2VzIGlu
ZGVudGVkOgo+Cj4gLS0tCj4gRnJvbTogd2luLXB2LWRldmVsIFttYWlsdG86d2luLXB2LWRldmVs
LWJvdW5jZXNAbGlzdHMueGVucHJvamVjdC5vcmddIE9uIEJlaGFsZiBPZiBIYW9oYW8gTGVlCj4g
U2VudDogMDYgTm92ZW1iZXIgMjAxOCAwODozNAo+IFRvOiB3aW4tcHYtZGV2ZWxAbGlzdHMueGVu
cHJvamVjdC5vcmcKPiBTdWJqZWN0OiBbd2luLXB2LWRldmVsXSBIaSwgYSBxdWVzdGlvbiBhYm91
dCB0aGUgY2hlY2tzdW0gb2ZmbG9hZCBhbmQgV2luRGl2ZXJ0Cj4KPiBIaSBYZW4gZm9sa3MsCj4K
PiBCYWNrZ3JvdW5kOgo+IEkgYW0gYSBXaW5kb3dzIGFwcGxpY2F0aW9uIGRldmVsb3Blci4gV2Ug
ZGV2ZWxvcGVkIGFuIGFwcGxpY2F0aW9uIHdoaWNoIG1vZGlmaWVzIHBhY2tldHMgYW5kIHJlamVj
dHMgdGhlbSBiYWNrIGludG8gdGhlIG5ldHdvcmsgc3RhY2sgdG8gZG8gc29tZSBuZXR3b3JrIHBy
b3h5IHRyYW5zcGFyZW50bHkuCj4KPiBXZSBhY2hpZXZlZCB0aGlzIGJ5IHVzaW5nIFdpbkRpdmVy
dCAoaHR0cHM6Ly9yZXFyeXB0Lm9yZy93aW5kaXZlcnQuaHRtbCkgdGhhdCBpcyBhIHRvb2wvZHJp
dmVyIGFsbG93cyB1c2VyLW1vZGUgYXBwbGljYXRpb25zIHRvIGNhcHR1cmUvbW9kaWZ5L2Ryb3Ag
bmV0d29yayBwYWNrZXRzIHNlbnQgdG8vZnJvbSB0aGUgV2luZG93cyBuZXR3b3JrIHN0YWNrLgo+
Cj4gT3VyIGFwcCB3b3JrZWQgd2VsbCBvbiBwaHlzaWNhbCBXaW5kb3dzIG1hY2hpbmVzIGJ1dCBv
biBYZW4gdmlydHVhbCBtYWNoaW5lcyB3ZSBlbmNvdW50ZXJlZCBhIHByb2JsZW0uCj4KPiBQcm9i
bGVtOgo+IC0gRXZlcnl0aGluZyB3b3JrcyB3ZWxsIGJlZm9yZSB3ZSBzdGFydCBvdXIgYXBwLgo+
IC0gTmV0d29yayB0cmFmZmljIGlzIGJsb2NrZWQgYWZ0ZXIgdGhlIGFwcCBpcyBzdGFydGVkLCBl
dmVuIGEgc2luZ2xlIFNZTiBwYWNrZXQgY291bGRuJ3QgYmUgc2VudCBvdXQuCj4KPiBXb3JrYXJv
dW5kOgo+IElmIHdlIGRpc2FibGUgdGhlIGNoZWNrc3VtIG9mZmxvYWQgaW4gWGVuIE5ldCBEcml2
ZXIsIGV2ZXJ5dGhpbmcgc3RhcnRzIHRvIHdvcmsgYWdhaW4uCj4KPiA+IEhpIEhhbywKPiA+Cj4g
PiBXaGljaCBjaGVja3N1bSBvZmZsb2FkPyBKdXN0IFRDUCBvciBJUHY0IHRvbz8KPiA+ID4gVGhl
IGRyaXZlciBwcm9wZXJ0eSBkb2VzIG5vdCBtZW50aW9uIElQIG9yIFRDUCwganVzdCBjaGVja3N1
bSBvZmZsb2FkIChCdXQgb3VyIHByb2JsZW0gb25seSBvY2N1cnMgZm9yIFRDUCkKPiA+ID4gSGVy
ZSBJIGhhdmUgYSBzY3JlZW5zaG90IGh0dHBzOi8vdXNlci1pbWFnZXMuZ2l0aHVidXNlcmNvbnRl
bnQuY29tLzIzODQxOS80Nzc3MDkzMS00NmI2YWQ4MC1kZDFjLTExZTgtODAxMC00MmQwNWJhZjAx
OGIucG5nCj4KPiBUZXN0aW5nIEVudmlyb25tZW50Ogo+IFhlbiBWaXJ0dWFsIE1hY2hpbmU6IFdp
bmRvd3MgNyBTcDEgeDY0IHdpdGggbGF0ZXN0IHVwZGF0ZXMKPiBYZW4gTmV0IERyaXZlcjogRHJp
dmVyIHZlcnNpb24gMy4wLjE0NC41OTAgeGVubmV0LnN5cyB2ZXJzaW9uIDIuMy4wLjE0NAo+Cj4g
SSBoYXZlIGEgY291cGxlIG9mIHF1ZXN0aW9uczoKPiAxLiBJcyB0aGlzIGEgcHJvYmxlbSBvZiBX
aW5EaXZlcnQgZHJpdmVyIG9yIFhlbiBOZXQgZHJpdmVyIGZyb20geW91ciBwZXJzcGVjdGl2ZT8K
Pgo+ID4gU2luY2UgdGhlIHN0YWJsZSAoaS5lLiA4LngpIGRyaXZlcnMgcGFzcyBhbGwgbG9nbyB0
ZXN0cyAod2hpY2ggaGF2ZSBkZXRhaWxlZCBjaGVja3Mgb2YgdGhlIHNlbWFudGljcyBvZiBjaGVj
a3N1bSBvZmZsb2FkLCBMU08sIGV0Yy4pIHRoZSBJJ2Qgc2F5IHRoZSBwcm9ibGVtIGxpZXMgaW4g
dGhlIGFwcGxpY2F0aW9uLiBPbmUgdGhpbmcgdG8gdHJ5IGlzIGRpc2FibGluZyBMUk8gdGhvdWdo
Li4gdGhpcyBpcyBkaXNhYmxlZCBmb3IgbG9nbyB0ZXN0aW5nIHNpbmNlIHRoZSB2ZXJzaW9uIG9m
IE5ESVMgd2UgdXNlIGRvZXNuJ3QgYWN0dWFsbHkgc3VwcG9ydCBpdC4gKE1vdmluZyB0byBhIG5l
d2VyIE5ESVMgaXMgb24gdGhlIFRPRE8gbGlzdCkuCj4gPiA+IE5ldyBmaW5kaW5ncywgSWYgSSBk
aXNhYmxlIGNoZWNrc3VtIG9mZmxvYWQsIHRoZSBhdmVyYWdlIHRocm91Z2hwdXQgZ29lcyB1cCBm
cm9tIDYwME1iaXQvcyB0byAxR2JpdC9zIGFzIHdlbGwuIFRoZXJlZm9yZSBub3cgSSBzdXNwZWN0
IHRoZXJlIG1heSBiZSBzb21ldGhpbmcgd3Jvbmcgd2l0aCB0aGlzIG9wdGlvbiBPTi4KPgo+IDIu
IElmIHRoaXMgYmVsb25ncyB0byBYZW4gTmV0IGRyaXZlciwgZG9lcyB0aGUgbGF0ZXN0IGRyaXZl
ciBmaXggdGhpcz8KPiAzLiBJIGZvdW5kIG1hbnkgYXJ0aWNsZXMgb24gdGhlIEludGVybmV0IHdo
aWNoIHRlYWNoIHBlb3BsZSB0byBkaXNhYmxlIGNoZWNrc3VtIG9mZmxvYWQgKGFuZCBvdGhlciBr
aW5kcyBvZiBvZmZsb2FkKSBmb3IgWGVuIHZpcnR1YWwgbWFjaGluZXMsIGUuZy4gc29tZSB0dXRv
cmlhbHMgZnJvbSBBV1MuIFdoeSBpcyB0aGlzIG9wdGlvbiBPTiBieSBkZWZhdWx0IGlmIGl0IHNo
b3VsZG4ndCBiZSwgb3IgaXMgdGhlcmUgYW55IGludHJvZHVjdGlvbiBhYm91dCB0aGUgY29udGV4
dCB3aHkgaXQgaXMgT04gYnkgZGVmYXVsdD8gSSBrbm93IHdoYXQgVENQL0lQIGNoZWNrc3VtIGlz
LCBidXQgaW4gdmlydHVhbCBtYWNoaW5lIGNvbnRleHQsIEkgaGF2ZSBubyBpZGVhIGlmIGl0IGlz
IG5lY2Vzc2FyeSBvciBub3QuCj4KPiBBbnkgY29tbWVudCBvciBzdWdnZXN0aW9uIGlzIGFwcHJl
Y2lhdGVkLgo+Cj4gPiBUaGUgYW5zd2VyIGlzICJpdCdzIGNvbXBsaWNhdGVkIiA6LSkgVGhlIGRl
ZmF1bHQgc2V0IG9mIG9mZmxvYWRzIGlzIHRoZSBzZXQgd2UgdXNlIGluIENpdHJpeCBicmFuZGVk
IHZlcnNpb25zIG9mIHRoZSBkcml2ZXJzIGZvciBYZW5TZXJ2ZXIgYW5kLCB3aGlsc3QgdGhlcmUg
dXNlZCB0byBiZSBtYW55IGlzc3VlcyB3aXRoIHN1Y2ggb2ZmbG9hZHMgaW4gdGhlIHBhc3QgKHBy
ZSBYZW5zZXJ2ZXIgNy54KSwgd2UgaGF2ZSBub3QgaGFkICphbnkqIHJlcG9ydHMgZnJvbSB0aGUg
ZmllbGQgdG8gc3VnZ2VzdCB0aGVyZSBhcmUgYW55IGN1cnJlbnQgaXNzdWVzIHdpdGggY2hlY2tz
dW0gb3IgbGFyZ2UgcGFja2V0IG9mZmxvYWRzIGluIHRoZSA4LnggZHJpdmVycy4KPiA+ID4gQnkg
dGhlIHdheSwgaXQgc2VlbXMgSSBjYW5ub3QgaW5zdGFsbCA4LnggWGVuIE5ldCBEcml2ZXIgZGly
ZWN0bHkuIFRoZSBPUyBrZWVwcyB0ZWxsaW5nIG1lIG15IG9sZCBkcml2ZXIgaXMgdGhlIGJlc3Qg
b25lLgo+ID4KPiA+IENoZWVycywKPiA+Cj4gPiBQYXVsCj4KPiBUaGFua3MKPgo+IEhhbwoKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRldmVs
IG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9s
aXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

From win-pv-devel-bounces@lists.xenproject.org Tue Nov 06 16:12:23 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 06 Nov 2018 16:12:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1gK3xm-0003aU-Jb; Tue, 06 Nov 2018 16:12:22 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=9pgl=nr=citrix.com=prvs=84117823e=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1gK3xl-0003aK-Dz
 for win-pv-devel@lists.xenproject.org; Tue, 06 Nov 2018 16:12:21 +0000
X-Inumbo-ID: b863692a-e1de-11e8-8c78-12d6303a7972
Received: from SMTP.EU.CITRIX.COM (unknown [185.25.65.24])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id b863692a-e1de-11e8-8c78-12d6303a7972;
 Tue, 06 Nov 2018 16:12:13 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.54,472,1534809600"; d="scan'208";a="81478503"
From: Paul Durrant <Paul.Durrant@citrix.com>
To: 'Haohao Lee' <hayatelee@gmail.com>
Thread-Topic: [win-pv-devel] Hi, a question about the checksum offload and
 WinDivert
Thread-Index: AQHUdat9G2WPL2aKIEqbPQ4FNX+EHKVCk0JwgABEioCAABLTYA==
Date: Tue, 6 Nov 2018 16:10:25 +0000
Message-ID: <a4656e3ef6f04e9b944cf718de6f1e14@AMSPEX02CL03.citrite.net>
References: <CAJXWAwxLfXi+COAMrX1oLOeJrSRq4SB_sXERotp4viOZeZsgMQ@mail.gmail.com>
 <a98f45aec0b94b1f8c17a36ffcd41e59@AMSPEX02CL03.citrite.net>
 <CAJXWAwx00kU+f-+dAoroOQJhO_46WOaj=z7n=nzRU6Fb8stEOw@mail.gmail.com>
In-Reply-To: <CAJXWAwx00kU+f-+dAoroOQJhO_46WOaj=z7n=nzRU6Fb8stEOw@mail.gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-transport-fromentityheader: Hosted
MIME-Version: 1.0
Subject: Re: [win-pv-devel] Hi,
 a question about the checksum offload and WinDivert
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Cc: "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiB3aW4tcHYtZGV2ZWwgW21haWx0
bzp3aW4tcHYtZGV2ZWwtYm91bmNlc0BsaXN0cy54ZW5wcm9qZWN0Lm9yZ10gT24NCj4gQmVoYWxm
IE9mIEhhb2hhbyBMZWUNCj4gU2VudDogMDYgTm92ZW1iZXIgMjAxOCAxNjowMQ0KPiBUbzogUGF1
bCBEdXJyYW50IDxQYXVsLkR1cnJhbnRAY2l0cml4LmNvbT4NCj4gQ2M6IHdpbi1wdi1kZXZlbEBs
aXN0cy54ZW5wcm9qZWN0Lm9yZw0KPiBTdWJqZWN0OiBSZTogW3dpbi1wdi1kZXZlbF0gSGksIGEg
cXVlc3Rpb24gYWJvdXQgdGhlIGNoZWNrc3VtIG9mZmxvYWQgYW5kDQo+IFdpbkRpdmVydA0KPiAN
Cj4gT24gVHVlLCBOb3YgNiwgMjAxOCBhdCA3OjA2IFBNIFBhdWwgRHVycmFudCA8UGF1bC5EdXJy
YW50QGNpdHJpeC5jb20+DQo+IHdyb3RlOg0KPiA+DQo+ID4gRGUtaHRtbGluZy4uLg0KPiA+DQo+
ID4gTXkgcmVzcG9uc2VzIGluZGVudGVkOg0KPiA+DQo+ID4gLS0tDQo+ID4gRnJvbTogd2luLXB2
LWRldmVsIFttYWlsdG86d2luLXB2LWRldmVsLWJvdW5jZXNAbGlzdHMueGVucHJvamVjdC5vcmdd
IE9uDQo+IEJlaGFsZiBPZiBIYW9oYW8gTGVlDQo+ID4gU2VudDogMDYgTm92ZW1iZXIgMjAxOCAw
ODozNA0KPiA+IFRvOiB3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcNCj4gPiBTdWJq
ZWN0OiBbd2luLXB2LWRldmVsXSBIaSwgYSBxdWVzdGlvbiBhYm91dCB0aGUgY2hlY2tzdW0gb2Zm
bG9hZCBhbmQNCj4gV2luRGl2ZXJ0DQo+ID4NCj4gPiBIaSBYZW4gZm9sa3MsDQo+ID4NCj4gPiBC
YWNrZ3JvdW5kOg0KPiA+IEkgYW0gYSBXaW5kb3dzIGFwcGxpY2F0aW9uIGRldmVsb3Blci4gV2Ug
ZGV2ZWxvcGVkIGFuIGFwcGxpY2F0aW9uIHdoaWNoDQo+IG1vZGlmaWVzIHBhY2tldHMgYW5kIHJl
amVjdHMgdGhlbSBiYWNrIGludG8gdGhlIG5ldHdvcmsgc3RhY2sgdG8gZG8gc29tZQ0KPiBuZXR3
b3JrIHByb3h5IHRyYW5zcGFyZW50bHkuDQo+ID4NCj4gPiBXZSBhY2hpZXZlZCB0aGlzIGJ5IHVz
aW5nIFdpbkRpdmVydCAoaHR0cHM6Ly9yZXFyeXB0Lm9yZy93aW5kaXZlcnQuaHRtbCkNCj4gdGhh
dCBpcyBhIHRvb2wvZHJpdmVyIGFsbG93cyB1c2VyLW1vZGUgYXBwbGljYXRpb25zIHRvIGNhcHR1
cmUvbW9kaWZ5L2Ryb3ANCj4gbmV0d29yayBwYWNrZXRzIHNlbnQgdG8vZnJvbSB0aGUgV2luZG93
cyBuZXR3b3JrIHN0YWNrLg0KPiA+DQo+ID4gT3VyIGFwcCB3b3JrZWQgd2VsbCBvbiBwaHlzaWNh
bCBXaW5kb3dzIG1hY2hpbmVzIGJ1dCBvbiBYZW4gdmlydHVhbA0KPiBtYWNoaW5lcyB3ZSBlbmNv
dW50ZXJlZCBhIHByb2JsZW0uDQo+ID4NCj4gPiBQcm9ibGVtOg0KPiA+IC0gRXZlcnl0aGluZyB3
b3JrcyB3ZWxsIGJlZm9yZSB3ZSBzdGFydCBvdXIgYXBwLg0KPiA+IC0gTmV0d29yayB0cmFmZmlj
IGlzIGJsb2NrZWQgYWZ0ZXIgdGhlIGFwcCBpcyBzdGFydGVkLCBldmVuIGEgc2luZ2xlIFNZTg0K
PiBwYWNrZXQgY291bGRuJ3QgYmUgc2VudCBvdXQuDQo+ID4NCj4gPiBXb3JrYXJvdW5kOg0KPiA+
IElmIHdlIGRpc2FibGUgdGhlIGNoZWNrc3VtIG9mZmxvYWQgaW4gWGVuIE5ldCBEcml2ZXIsIGV2
ZXJ5dGhpbmcgc3RhcnRzDQo+IHRvIHdvcmsgYWdhaW4uDQo+ID4NCj4gPiA+IEhpIEhhbywNCj4g
PiA+DQo+ID4gPiBXaGljaCBjaGVja3N1bSBvZmZsb2FkPyBKdXN0IFRDUCBvciBJUHY0IHRvbz8N
Cj4gPiA+ID4gVGhlIGRyaXZlciBwcm9wZXJ0eSBkb2VzIG5vdCBtZW50aW9uIElQIG9yIFRDUCwg
anVzdCBjaGVja3N1bQ0KPiBvZmZsb2FkIChCdXQgb3VyIHByb2JsZW0gb25seSBvY2N1cnMgZm9y
IFRDUCkNCj4gPiA+ID4gSGVyZSBJIGhhdmUgYSBzY3JlZW5zaG90IGh0dHBzOi8vdXNlci0NCj4g
aW1hZ2VzLmdpdGh1YnVzZXJjb250ZW50LmNvbS8yMzg0MTkvNDc3NzA5MzEtNDZiNmFkODAtZGQx
Yy0xMWU4LTgwMTAtDQo+IDQyZDA1YmFmMDE4Yi5wbmcNCg0KT2ssIHRoYXQgdGVsbHMgbWUgeW91
IGFyZSBub3QgdXNpbmcgWGVuIFByb2plY3QgUFYgZHJpdmVycy4gV2hlcmUgZGlkIHlvdSBnZXQg
eW91ciBQViBkcml2ZXJzIGZyb20/DQoNCiAgUGF1bA0KDQo+ID4NCj4gPiBUZXN0aW5nIEVudmly
b25tZW50Og0KPiA+IFhlbiBWaXJ0dWFsIE1hY2hpbmU6IFdpbmRvd3MgNyBTcDEgeDY0IHdpdGgg
bGF0ZXN0IHVwZGF0ZXMNCj4gPiBYZW4gTmV0IERyaXZlcjogRHJpdmVyIHZlcnNpb24gMy4wLjE0
NC41OTAgeGVubmV0LnN5cyB2ZXJzaW9uIDIuMy4wLjE0NA0KPiA+DQo+ID4gSSBoYXZlIGEgY291
cGxlIG9mIHF1ZXN0aW9uczoNCj4gPiAxLiBJcyB0aGlzIGEgcHJvYmxlbSBvZiBXaW5EaXZlcnQg
ZHJpdmVyIG9yIFhlbiBOZXQgZHJpdmVyIGZyb20geW91cg0KPiBwZXJzcGVjdGl2ZT8NCj4gPg0K
PiA+ID4gU2luY2UgdGhlIHN0YWJsZSAoaS5lLiA4LngpIGRyaXZlcnMgcGFzcyBhbGwgbG9nbyB0
ZXN0cyAod2hpY2ggaGF2ZQ0KPiBkZXRhaWxlZCBjaGVja3Mgb2YgdGhlIHNlbWFudGljcyBvZiBj
aGVja3N1bSBvZmZsb2FkLCBMU08sIGV0Yy4pIHRoZSBJJ2QNCj4gc2F5IHRoZSBwcm9ibGVtIGxp
ZXMgaW4gdGhlIGFwcGxpY2F0aW9uLiBPbmUgdGhpbmcgdG8gdHJ5IGlzIGRpc2FibGluZyBMUk8N
Cj4gdGhvdWdoLi4gdGhpcyBpcyBkaXNhYmxlZCBmb3IgbG9nbyB0ZXN0aW5nIHNpbmNlIHRoZSB2
ZXJzaW9uIG9mIE5ESVMgd2UNCj4gdXNlIGRvZXNuJ3QgYWN0dWFsbHkgc3VwcG9ydCBpdC4gKE1v
dmluZyB0byBhIG5ld2VyIE5ESVMgaXMgb24gdGhlIFRPRE8NCj4gbGlzdCkuDQo+ID4gPiA+IE5l
dyBmaW5kaW5ncywgSWYgSSBkaXNhYmxlIGNoZWNrc3VtIG9mZmxvYWQsIHRoZSBhdmVyYWdlIHRo
cm91Z2hwdXQNCj4gZ29lcyB1cCBmcm9tIDYwME1iaXQvcyB0byAxR2JpdC9zIGFzIHdlbGwuIFRo
ZXJlZm9yZSBub3cgSSBzdXNwZWN0IHRoZXJlDQo+IG1heSBiZSBzb21ldGhpbmcgd3Jvbmcgd2l0
aCB0aGlzIG9wdGlvbiBPTi4NCj4gPg0KPiA+IDIuIElmIHRoaXMgYmVsb25ncyB0byBYZW4gTmV0
IGRyaXZlciwgZG9lcyB0aGUgbGF0ZXN0IGRyaXZlciBmaXggdGhpcz8NCj4gPiAzLiBJIGZvdW5k
IG1hbnkgYXJ0aWNsZXMgb24gdGhlIEludGVybmV0IHdoaWNoIHRlYWNoIHBlb3BsZSB0byBkaXNh
YmxlDQo+IGNoZWNrc3VtIG9mZmxvYWQgKGFuZCBvdGhlciBraW5kcyBvZiBvZmZsb2FkKSBmb3Ig
WGVuIHZpcnR1YWwgbWFjaGluZXMsDQo+IGUuZy4gc29tZSB0dXRvcmlhbHMgZnJvbSBBV1MuIFdo
eSBpcyB0aGlzIG9wdGlvbiBPTiBieSBkZWZhdWx0IGlmIGl0DQo+IHNob3VsZG4ndCBiZSwgb3Ig
aXMgdGhlcmUgYW55IGludHJvZHVjdGlvbiBhYm91dCB0aGUgY29udGV4dCB3aHkgaXQgaXMgT04N
Cj4gYnkgZGVmYXVsdD8gSSBrbm93IHdoYXQgVENQL0lQIGNoZWNrc3VtIGlzLCBidXQgaW4gdmly
dHVhbCBtYWNoaW5lDQo+IGNvbnRleHQsIEkgaGF2ZSBubyBpZGVhIGlmIGl0IGlzIG5lY2Vzc2Fy
eSBvciBub3QuDQo+ID4NCj4gPiBBbnkgY29tbWVudCBvciBzdWdnZXN0aW9uIGlzIGFwcHJlY2lh
dGVkLg0KPiA+DQo+ID4gPiBUaGUgYW5zd2VyIGlzICJpdCdzIGNvbXBsaWNhdGVkIiA6LSkgVGhl
IGRlZmF1bHQgc2V0IG9mIG9mZmxvYWRzIGlzDQo+IHRoZSBzZXQgd2UgdXNlIGluIENpdHJpeCBi
cmFuZGVkIHZlcnNpb25zIG9mIHRoZSBkcml2ZXJzIGZvciBYZW5TZXJ2ZXINCj4gYW5kLCB3aGls
c3QgdGhlcmUgdXNlZCB0byBiZSBtYW55IGlzc3VlcyB3aXRoIHN1Y2ggb2ZmbG9hZHMgaW4gdGhl
IHBhc3QNCj4gKHByZSBYZW5zZXJ2ZXIgNy54KSwgd2UgaGF2ZSBub3QgaGFkICphbnkqIHJlcG9y
dHMgZnJvbSB0aGUgZmllbGQgdG8NCj4gc3VnZ2VzdCB0aGVyZSBhcmUgYW55IGN1cnJlbnQgaXNz
dWVzIHdpdGggY2hlY2tzdW0gb3IgbGFyZ2UgcGFja2V0DQo+IG9mZmxvYWRzIGluIHRoZSA4Lngg
ZHJpdmVycy4NCj4gPiA+ID4gQnkgdGhlIHdheSwgaXQgc2VlbXMgSSBjYW5ub3QgaW5zdGFsbCA4
LnggWGVuIE5ldCBEcml2ZXIgZGlyZWN0bHkuDQo+IFRoZSBPUyBrZWVwcyB0ZWxsaW5nIG1lIG15
IG9sZCBkcml2ZXIgaXMgdGhlIGJlc3Qgb25lLg0KPiA+ID4NCj4gPiA+IENoZWVycywNCj4gPiA+
DQo+ID4gPiBQYXVsDQo+ID4NCj4gPiBUaGFua3MNCj4gPg0KPiA+IEhhbw0KPiANCj4gX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gd2luLXB2LWRldmVs
IG1haWxpbmcgbGlzdA0KPiB3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcNCj4gaHR0
cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA0K
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

From win-pv-devel-bounces@lists.xenproject.org Tue Nov 06 18:21:11 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 06 Nov 2018 18:21:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1gK5yP-0007FT-7f; Tue, 06 Nov 2018 18:21:09 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=mask=nr=gmail.com=hayatelee@srs-us1.protection.inumbo.net>)
 id 1gK5yN-0007FO-QE
 for win-pv-devel@lists.xenproject.org; Tue, 06 Nov 2018 18:21:07 +0000
X-Inumbo-ID: b9943bcf-e1f0-11e8-9a16-bc764e045a96
Received: from mail-qt1-x844.google.com (unknown [2607:f8b0:4864:20::844])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id b9943bcf-e1f0-11e8-9a16-bc764e045a96;
 Tue, 06 Nov 2018 18:21:06 +0000 (UTC)
Received: by mail-qt1-x844.google.com with SMTP id i7so3725769qtj.10
 for <win-pv-devel@lists.xenproject.org>; Tue, 06 Nov 2018 10:21:05 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
 :cc; bh=TmU5NONPc/Qqwb9roGjJMXJfDFAncsz71c3pra5egvs=;
 b=tZZ1o9UmrYUV/goPrYoDOPf/1pkBrB3zhKTaweV6LefEg1T1XDJAw4uXQPoCRRUEHZ
 3rUXIjynQaYIsf+p9qbzyLLE2GNdJQjyc4j/4mTtdbSxiWWrZu005/Udi8Y07/O7xPga
 iS96X8odMgtB9yjEXn6I/RkS8BDRQmFMlqg/31I/px97S7XAxp673uzqkr3VbEi2+ru+
 eg65M0sQ+fT7B63+KqTdK3ydWu4KQvTtm08zsJJLk1G70TEZQ3lD4xXMeLFo+1eiQYKB
 N1jfKJ1B5oIfJkcNK9fHpOycVJMJF3PYqo9aEcmsnsT/HpNFXA+cYVW9gmjCFSkH9Jng
 NvxQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to:cc;
 bh=TmU5NONPc/Qqwb9roGjJMXJfDFAncsz71c3pra5egvs=;
 b=BQRMra/PclE60pEWqsUJPRhX0o2rtEEh9Uq1YWEAKRLSIqRZdIQsyzxy53lnij84q0
 50WHtKFRddJwsg0wMiSrbbRlKweb1nm//MS51SI8S08RxCUfs56fy1ryLm542qb+Is6a
 BJoylVHIV2itvXVCGx6WDfvuPpIutOmPlPOXtmG7/TefkC3PseSJxxYGwgjEgor3a4NQ
 Bl2AwI7gUrKVVZzxOkn0t8wjlurDiPLTaopSpB3Ykc5ys/e/NRdbC5KC/8Pwqq9fSV3Z
 PYTBgy9qUWA205HjZnvlaZKPSqFHVKTP6kkhF0zkrVEfCJx9SnaA1+oc4aVioEeA/j/q
 eBpQ==
X-Gm-Message-State: AGRZ1gKuFfQ3FEYvkNzwcJDRTwkCZbGinFnmNo2LO2Cje2ycX18MBw5A
 PwhMIEPhSnY+PtbXUP/fy2Jt/ssHQQxprvKMt8k=
X-Google-Smtp-Source: AJdET5dlDjSy90/sttCIl5hDtBzLUboGHQcov1rvjhjrCydkDpVmYhnqv+uNr7OqSLKLAqBtpnNRQoo18bbhb5YPPFk=
X-Received: by 2002:ac8:5344:: with SMTP id d4mr19020500qto.372.1541528465236; 
 Tue, 06 Nov 2018 10:21:05 -0800 (PST)
MIME-Version: 1.0
References: <CAJXWAwxLfXi+COAMrX1oLOeJrSRq4SB_sXERotp4viOZeZsgMQ@mail.gmail.com>
 <a98f45aec0b94b1f8c17a36ffcd41e59@AMSPEX02CL03.citrite.net>
 <CAJXWAwx00kU+f-+dAoroOQJhO_46WOaj=z7n=nzRU6Fb8stEOw@mail.gmail.com>
 <a4656e3ef6f04e9b944cf718de6f1e14@AMSPEX02CL03.citrite.net>
In-Reply-To: <a4656e3ef6f04e9b944cf718de6f1e14@AMSPEX02CL03.citrite.net>
From: Haohao Lee <hayatelee@gmail.com>
Date: Wed, 7 Nov 2018 02:20:53 +0800
Message-ID: <CAJXWAwyDw_j+nWxkT+9B6gNceXGT5BfzbNXLmBTji5SeWg919Q@mail.gmail.com>
To: Paul.Durrant@citrix.com
Subject: Re: [win-pv-devel] Hi,
 a question about the checksum offload and WinDivert
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Cc: win-pv-devel@lists.xenproject.org
Content-Type: multipart/mixed; boundary="===============1732111853828840255=="
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

--===============1732111853828840255==
Content-Type: multipart/alternative; boundary="00000000000094eb5a057a031001"

--00000000000094eb5a057a031001
Content-Type: text/plain; charset="UTF-8"

On Wed, Nov 7, 2018 at 12:12 AM Paul Durrant <Paul.Durrant@citrix.com>
wrote:
>
> > -----Original Message-----
> > From: win-pv-devel [mailto:win-pv-devel-bounces@lists.xenproject.org] On
> > Behalf Of Haohao Lee
> > Sent: 06 November 2018 16:01
> > To: Paul Durrant <Paul.Durrant@citrix.com>
> > Cc: win-pv-devel@lists.xenproject.org
> > Subject: Re: [win-pv-devel] Hi, a question about the checksum offload
and
> > WinDivert
> >
> > On Tue, Nov 6, 2018 at 7:06 PM Paul Durrant <Paul.Durrant@citrix.com>
> > wrote:
> > >
> > > De-htmling...
> > >
> > > My responses indented:
> > >
> > > ---
> > > From: win-pv-devel [mailto:win-pv-devel-bounces@lists.xenproject.org]
On
> > Behalf Of Haohao Lee
> > > Sent: 06 November 2018 08:34
> > > To: win-pv-devel@lists.xenproject.org
> > > Subject: [win-pv-devel] Hi, a question about the checksum offload and
> > WinDivert
> > >
> > > Hi Xen folks,
> > >
> > > Background:
> > > I am a Windows application developer. We developed an application
which
> > modifies packets and rejects them back into the network stack to do some
> > network proxy transparently.
> > >
> > > We achieved this by using WinDivert (
https://reqrypt.org/windivert.html)
> > that is a tool/driver allows user-mode applications to
capture/modify/drop
> > network packets sent to/from the Windows network stack.
> > >
> > > Our app worked well on physical Windows machines but on Xen virtual
> > machines we encountered a problem.
> > >
> > > Problem:
> > > - Everything works well before we start our app.
> > > - Network traffic is blocked after the app is started, even a single
SYN
> > packet couldn't be sent out.
> > >
> > > Workaround:
> > > If we disable the checksum offload in Xen Net Driver, everything
starts
> > to work again.
> > >
> > > > Hi Hao,
> > > >
> > > > Which checksum offload? Just TCP or IPv4 too?
> > > > > The driver property does not mention IP or TCP, just checksum
> > offload (But our problem only occurs for TCP)
> > > > > Here I have a screenshot https://user-
> > images.githubusercontent.com/238419/47770931-46b6ad80-dd1c-11e8-8010-
> > 42d05baf018b.png
>
> Ok, that tells me you are not using Xen Project PV drivers. Where did you
get your PV drivers from?
> > It should be from Citrix Virtual Desktop solution. Here is a screenshot
of the driver version
> >
https://user-images.githubusercontent.com/238419/47770995-8087b400-dd1c-11e8-894b-9fd0c2188732.png
> > Can I use Xen Project PV drivers for Citrix Products for they are still
Xen Server based anyway?
> >
> > Thanks for you kind response so far.
>
>   Paul
>
> > >
> > > Testing Environment:
> > > Xen Virtual Machine: Windows 7 Sp1 x64 with latest updates
> > > Xen Net Driver: Driver version 3.0.144.590 xennet.sys version
2.3.0.144
> > >
> > > I have a couple of questions:
> > > 1. Is this a problem of WinDivert driver or Xen Net driver from your
> > perspective?
> > >
> > > > Since the stable (i.e. 8.x) drivers pass all logo tests (which have
> > detailed checks of the semantics of checksum offload, LSO, etc.) the I'd
> > say the problem lies in the application. One thing to try is disabling
LRO
> > though.. this is disabled for logo testing since the version of NDIS we
> > use doesn't actually support it. (Moving to a newer NDIS is on the TODO
> > list).
> > > > > New findings, If I disable checksum offload, the average
throughput
> > goes up from 600Mbit/s to 1Gbit/s as well. Therefore now I suspect there
> > may be something wrong with this option ON.
> > >
> > > 2. If this belongs to Xen Net driver, does the latest driver fix this?
> > > 3. I found many articles on the Internet which teach people to disable
> > checksum offload (and other kinds of offload) for Xen virtual machines,
> > e.g. some tutorials from AWS. Why is this option ON by default if it
> > shouldn't be, or is there any introduction about the context why it is
ON
> > by default? I know what TCP/IP checksum is, but in virtual machine
> > context, I have no idea if it is necessary or not.
> > >
> > > Any comment or suggestion is appreciated.
> > >
> > > > The answer is "it's complicated" :-) The default set of offloads is
> > the set we use in Citrix branded versions of the drivers for XenServer
> > and, whilst there used to be many issues with such offloads in the past
> > (pre Xenserver 7.x), we have not had *any* reports from the field to
> > suggest there are any current issues with checksum or large packet
> > offloads in the 8.x drivers.
> > > > > By the way, it seems I cannot install 8.x Xen Net Driver directly.
> > The OS keeps telling me my old driver is the best one.
> > > >
> > > > Cheers,
> > > >
> > > > Paul
> > >
> > > Thanks
> > >
> > > Hao
> >
> > _______________________________________________
> > win-pv-devel mailing list
> > win-pv-devel@lists.xenproject.org
> > https://lists.xenproject.org/mailman/listinfo/win-pv-devel

--00000000000094eb5a057a031001
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br>On Wed, Nov 7, 2018 at 12:12 AM Paul =
Durrant &lt;<a href=3D"mailto:Paul.Durrant@citrix.com">Paul.Durrant@citrix.=
com</a>&gt; wrote:<br>&gt;<br>&gt; &gt; -----Original Message-----<br>&gt; =
&gt; From: win-pv-devel [mailto:<a href=3D"mailto:win-pv-devel-bounces@list=
s.xenproject.org">win-pv-devel-bounces@lists.xenproject.org</a>] On<br>&gt;=
 &gt; Behalf Of Haohao Lee<br>&gt; &gt; Sent: 06 November 2018 16:01<br>&gt=
; &gt; To: Paul Durrant &lt;<a href=3D"mailto:Paul.Durrant@citrix.com">Paul=
.Durrant@citrix.com</a>&gt;<br>&gt; &gt; Cc: <a href=3D"mailto:win-pv-devel=
@lists.xenproject.org">win-pv-devel@lists.xenproject.org</a><br>&gt; &gt; S=
ubject: Re: [win-pv-devel] Hi, a question about the checksum offload and<br=
>&gt; &gt; WinDivert<br>&gt; &gt;<br>&gt; &gt; On Tue, Nov 6, 2018 at 7:06 =
PM Paul Durrant &lt;<a href=3D"mailto:Paul.Durrant@citrix.com">Paul.Durrant=
@citrix.com</a>&gt;<br>&gt; &gt; wrote:<br>&gt; &gt; &gt;<br>&gt; &gt; &gt;=
 De-htmling...<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; My responses indented:<b=
r>&gt; &gt; &gt;<br>&gt; &gt; &gt; ---<br>&gt; &gt; &gt; From: win-pv-devel=
 [mailto:<a href=3D"mailto:win-pv-devel-bounces@lists.xenproject.org">win-p=
v-devel-bounces@lists.xenproject.org</a>] On<br>&gt; &gt; Behalf Of Haohao =
Lee<br>&gt; &gt; &gt; Sent: 06 November 2018 08:34<br>&gt; &gt; &gt; To: <a=
 href=3D"mailto:win-pv-devel@lists.xenproject.org">win-pv-devel@lists.xenpr=
oject.org</a><br>&gt; &gt; &gt; Subject: [win-pv-devel] Hi, a question abou=
t the checksum offload and<br>&gt; &gt; WinDivert<br>&gt; &gt; &gt;<br>&gt;=
 &gt; &gt; Hi Xen folks,<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; Background:<br=
>&gt; &gt; &gt; I am a Windows application developer. We developed an appli=
cation which<br>&gt; &gt; modifies packets and rejects them back into the n=
etwork stack to do some<br>&gt; &gt; network proxy transparently.<br>&gt; &=
gt; &gt;<br>&gt; &gt; &gt; We achieved this by using WinDivert (<a href=3D"=
https://reqrypt.org/windivert.html">https://reqrypt.org/windivert.html</a>)=
<br>&gt; &gt; that is a tool/driver allows user-mode applications to captur=
e/modify/drop<br>&gt; &gt; network packets sent to/from the Windows network=
 stack.<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; Our app worked well on physical=
 Windows machines but on Xen virtual<br>&gt; &gt; machines we encountered a=
 problem.<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; Problem:<br>&gt; &gt; &gt; - =
Everything works well before we start our app.<br>&gt; &gt; &gt; - Network =
traffic is blocked after the app is started, even a single SYN<br>&gt; &gt;=
 packet couldn&#39;t be sent out.<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; Worka=
round:<br>&gt; &gt; &gt; If we disable the checksum offload in Xen Net Driv=
er, everything starts<br>&gt; &gt; to work again.<br>&gt; &gt; &gt;<br>&gt;=
 &gt; &gt; &gt; Hi Hao,<br>&gt; &gt; &gt; &gt;<br>&gt; &gt; &gt; &gt; Which=
 checksum offload? Just TCP or IPv4 too?<br>&gt; &gt; &gt; &gt; &gt; The dr=
iver property does not mention IP or TCP, just checksum<br>&gt; &gt; offloa=
d (But our problem only occurs for TCP)<br>&gt; &gt; &gt; &gt; &gt; Here I =
have a screenshot <a href=3D"https://user-">https://user-</a><br>&gt; &gt; =
<a href=3D"http://images.githubusercontent.com/238419/47770931-46b6ad80-dd1=
c-11e8-8010-">images.githubusercontent.com/238419/47770931-46b6ad80-dd1c-11=
e8-8010-</a><br>&gt; &gt; 42d05baf018b.png<br>&gt;<br>&gt; Ok, that tells m=
e you are not using Xen Project PV drivers. Where did you get your PV drive=
rs from?<div>&gt; &gt; It should be from Citrix Virtual Desktop solution. H=
ere is a screenshot of the driver version</div><div>&gt; &gt;=C2=A0<a href=
=3D"https://user-images.githubusercontent.com/238419/47770995-8087b400-dd1c=
-11e8-894b-9fd0c2188732.png">https://user-images.githubusercontent.com/2384=
19/47770995-8087b400-dd1c-11e8-894b-9fd0c2188732.png</a></div><div>&gt; &gt=
; Can I use Xen Project PV drivers for Citrix Products for they are still X=
en Server based anyway?</div><div>&gt; &gt;</div><div>&gt; &gt; Thanks for =
you kind response so far.=C2=A0<br>&gt;<br>&gt; =C2=A0 Paul<br>&gt;<br>&gt;=
 &gt; &gt;<br>&gt; &gt; &gt; Testing Environment:<br>&gt; &gt; &gt; Xen Vir=
tual Machine: Windows 7 Sp1 x64 with latest updates<br>&gt; &gt; &gt; Xen N=
et Driver: Driver version 3.0.144.590 xennet.sys version 2.3.0.144<br>&gt; =
&gt; &gt;<br>&gt; &gt; &gt; I have a couple of questions:<br>&gt; &gt; &gt;=
 1. Is this a problem of WinDivert driver or Xen Net driver from your<br>&g=
t; &gt; perspective?<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; &gt; Since the sta=
ble (i.e. 8.x) drivers pass all logo tests (which have<br>&gt; &gt; detaile=
d checks of the semantics of checksum offload, LSO, etc.) the I&#39;d<br>&g=
t; &gt; say the problem lies in the application. One thing to try is disabl=
ing LRO<br>&gt; &gt; though.. this is disabled for logo testing since the v=
ersion of NDIS we<br>&gt; &gt; use doesn&#39;t actually support it. (Moving=
 to a newer NDIS is on the TODO<br>&gt; &gt; list).<br>&gt; &gt; &gt; &gt; =
&gt; New findings, If I disable checksum offload, the average throughput<br=
>&gt; &gt; goes up from 600Mbit/s to 1Gbit/s as well. Therefore now I suspe=
ct there<br>&gt; &gt; may be something wrong with this option ON.<br>&gt; &=
gt; &gt;<br>&gt; &gt; &gt; 2. If this belongs to Xen Net driver, does the l=
atest driver fix this?<br>&gt; &gt; &gt; 3. I found many articles on the In=
ternet which teach people to disable<br>&gt; &gt; checksum offload (and oth=
er kinds of offload) for Xen virtual machines,<br>&gt; &gt; e.g. some tutor=
ials from AWS. Why is this option ON by default if it<br>&gt; &gt; shouldn&=
#39;t be, or is there any introduction about the context why it is ON<br>&g=
t; &gt; by default? I know what TCP/IP checksum is, but in virtual machine<=
br>&gt; &gt; context, I have no idea if it is necessary or not.<br>&gt; &gt=
; &gt;<br>&gt; &gt; &gt; Any comment or suggestion is appreciated.<br>&gt; =
&gt; &gt;<br>&gt; &gt; &gt; &gt; The answer is &quot;it&#39;s complicated&q=
uot; :-) The default set of offloads is<br>&gt; &gt; the set we use in Citr=
ix branded versions of the drivers for XenServer<br>&gt; &gt; and, whilst t=
here used to be many issues with such offloads in the past<br>&gt; &gt; (pr=
e Xenserver 7.x), we have not had *any* reports from the field to<br>&gt; &=
gt; suggest there are any current issues with checksum or large packet<br>&=
gt; &gt; offloads in the 8.x drivers.<br>&gt; &gt; &gt; &gt; &gt; By the wa=
y, it seems I cannot install 8.x Xen Net Driver directly.<br>&gt; &gt; The =
OS keeps telling me my old driver is the best one.<br>&gt; &gt; &gt; &gt;<b=
r>&gt; &gt; &gt; &gt; Cheers,<br>&gt; &gt; &gt; &gt;<br>&gt; &gt; &gt; &gt;=
 Paul<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; Thanks<br>&gt; &gt; &gt;<br>&gt; =
&gt; &gt; Hao<br>&gt; &gt;<br>&gt; &gt; ___________________________________=
____________<br>&gt; &gt; win-pv-devel mailing list<br>&gt; &gt; <a href=3D=
"mailto:win-pv-devel@lists.xenproject.org">win-pv-devel@lists.xenproject.or=
g</a><br>&gt; &gt; <a href=3D"https://lists.xenproject.org/mailman/listinfo=
/win-pv-devel">https://lists.xenproject.org/mailman/listinfo/win-pv-devel</=
a></div></div></div>

--00000000000094eb5a057a031001--


--===============1732111853828840255==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

--===============1732111853828840255==--


From win-pv-devel-bounces@lists.xenproject.org Wed Nov 07 09:40:41 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 07 Nov 2018 09:40:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1gKKKE-0005Cv-7B; Wed, 07 Nov 2018 09:40:38 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=9ib7=ns=citrix.com=prvs=842bfaeda=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1gKKKD-0005Cq-Aw
 for win-pv-devel@lists.xenproject.org; Wed, 07 Nov 2018 09:40:37 +0000
X-Inumbo-ID: 29eb56b0-e271-11e8-a82d-12d6303a7972
Received: from SMTP.EU.CITRIX.COM (unknown [185.25.65.24])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 29eb56b0-e271-11e8-a82d-12d6303a7972;
 Wed, 07 Nov 2018 09:40:30 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.54,475,1534809600"; d="scan'208";a="81515156"
From: Paul Durrant <Paul.Durrant@citrix.com>
To: 'Haohao Lee' <hayatelee@gmail.com>
Thread-Topic: [win-pv-devel] Hi, a question about the checksum offload and
 WinDivert
Thread-Index: AQHUdat9G2WPL2aKIEqbPQ4FNX+EHKVCk0JwgABEioCAABLTYIAAFC6AgAENfUA=
Date: Wed, 7 Nov 2018 09:40:28 +0000
Message-ID: <44cf312b45444735905b89136a9fb6f5@AMSPEX02CL03.citrite.net>
References: <CAJXWAwxLfXi+COAMrX1oLOeJrSRq4SB_sXERotp4viOZeZsgMQ@mail.gmail.com>
 <a98f45aec0b94b1f8c17a36ffcd41e59@AMSPEX02CL03.citrite.net>
 <CAJXWAwx00kU+f-+dAoroOQJhO_46WOaj=z7n=nzRU6Fb8stEOw@mail.gmail.com>
 <a4656e3ef6f04e9b944cf718de6f1e14@AMSPEX02CL03.citrite.net>
 <CAJXWAwyDw_j+nWxkT+9B6gNceXGT5BfzbNXLmBTji5SeWg919Q@mail.gmail.com>
In-Reply-To: <CAJXWAwyDw_j+nWxkT+9B6gNceXGT5BfzbNXLmBTji5SeWg919Q@mail.gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-transport-fromentityheader: Hosted
MIME-Version: 1.0
Subject: Re: [win-pv-devel] Hi,
 a question about the checksum offload and WinDivert
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Cc: "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

RGUtaHRtbC1pbmcgKGFnYWluKS4uLg0KDQpGcm9tOiBIYW9oYW8gTGVlIFttYWlsdG86aGF5YXRl
bGVlQGdtYWlsLmNvbV0gDQpTZW50OiAwNiBOb3ZlbWJlciAyMDE4IDE4OjIxDQpUbzogUGF1bCBE
dXJyYW50IDxQYXVsLkR1cnJhbnRAY2l0cml4LmNvbT4NCkNjOiB3aW4tcHYtZGV2ZWxAbGlzdHMu
eGVucHJvamVjdC5vcmcNClN1YmplY3Q6IFJlOiBbd2luLXB2LWRldmVsXSBIaSwgYSBxdWVzdGlv
biBhYm91dCB0aGUgY2hlY2tzdW0gb2ZmbG9hZCBhbmQgV2luRGl2ZXJ0DQoNCltzbmlwXQ0KPiA+
ID4gPiA+IFRoZSBkcml2ZXIgcHJvcGVydHkgZG9lcyBub3QgbWVudGlvbiBJUCBvciBUQ1AsIGp1
c3QgY2hlY2tzdW0NCj4gPiBvZmZsb2FkIChCdXQgb3VyIHByb2JsZW0gb25seSBvY2N1cnMgZm9y
IFRDUCkNCj4gPiA+ID4gPiBIZXJlIEkgaGF2ZSBhIHNjcmVlbnNob3QgaHR0cHM6Ly91c2VyLQ0K
PiA+IGh0dHA6Ly9pbWFnZXMuZ2l0aHVidXNlcmNvbnRlbnQuY29tLzIzODQxOS80Nzc3MDkzMS00
NmI2YWQ4MC1kZDFjLTExZTgtODAxMC0NCj4gPiA0MmQwNWJhZjAxOGIucG5nDQo+DQo+IE9rLCB0
aGF0IHRlbGxzIG1lIHlvdSBhcmUgbm90IHVzaW5nIFhlbiBQcm9qZWN0IFBWIGRyaXZlcnMuIFdo
ZXJlIGRpZCB5b3UgZ2V0IHlvdXIgUFYgZHJpdmVycyBmcm9tPw0KPiA+IEl0IHNob3VsZCBiZSBm
cm9tIENpdHJpeCBWaXJ0dWFsIERlc2t0b3Agc29sdXRpb24uIEhlcmUgaXMgYSBzY3JlZW5zaG90
IG9mIHRoZSBkcml2ZXIgdmVyc2lvbg0KPiA+wqBodHRwczovL3VzZXItaW1hZ2VzLmdpdGh1YnVz
ZXJjb250ZW50LmNvbS8yMzg0MTkvNDc3NzA5OTUtODA4N2I0MDAtZGQxYy0xMWU4LTg5NGItOWZk
MGMyMTg4NzMyLnBuZw0KDQpObywgdGhvc2UgZHJpdmVycyBhcmUgbm90aGluZyB0byBkbyB3aXRo
IENpdHJpeC4gVGhleSBhcmUgYSBzZXQgb2YgZHJpdmVycyB3cml0dGVuIGZvciBXaW5kb3dzIGd1
ZXN0cyBydW5uaW5nIG9uIHVwc3RyZWFtIFhlbiB3aXRoIHNvdXJjZSByZWxlYXNlZCB1bmRlciB0
aGUgR1BMLCBtYWtpbmcgdGhlbSBpbXBvc3NpYmxlIHRvIGdldCBsb2dvIHNpZ25lZCBieSBNaWNy
b3NvZnQuLi4gc28gdW51c2FibGUgZm9yIENpdHJpeCBjdXN0b21lcnMgaW4gZ2VuZXJhbC4gU2Vl
IGh0dHBzOi8vd2lraS54ZW4ub3JnL3dpa2kvWGVuX0ZBUV9Ecml2ZXJzLF9XaW5kb3dzLg0KDQo+
ID4gQ2FuIEkgdXNlIFhlbiBQcm9qZWN0IFBWIGRyaXZlcnMgZm9yIENpdHJpeCBQcm9kdWN0cyBm
b3IgdGhleSBhcmUgc3RpbGwgWGVuIFNlcnZlciBiYXNlZCBhbnl3YXk/DQoNClRoZSBYZW4gUHJv
amVjdCBQViBkcml2ZXJzIGFyZSBpbmRlZWQgZGVyaXZlZCBmcm9tIGRyaXZlcnMgd3JpdHRlbiBi
eSBteXNlbGYgYW5kIG15IGNvbGxlYWd1ZXMgYXQgQ2l0cml4LiBUaGV5IHdlcmUgb3JpZ2luYWxs
eSBqdXN0IGZvciBYZW5TZXJ2ZXIgYnV0IHdlIG1hZGUgdGhlbSBvcGVuIHNvdXJjZSAod2l0aCBC
U0QgbGljZW5zZSB0byBhdm9pZCBsb2dvIHNpZ25pbmcgaXNzdWVzKSBhbmQgdGhleSBhcmUgbm93
IGRlc2lnbmVkIHRvIHdvcmsgd2VsbCBvbiBhIHZhbmlsbGEgdXBzdHJlYW0gWGVuIGluc3RhbGxh
dGlvbiBhcyB3ZWxsIGFzIHVuZGVyIFhlblNlcnZlciwgc28geW91IHNob3VsZCBoYXZlIG5vIHBy
b2JsZW0gdXNpbmcgdGhlbSBpbiBlaXRoZXIgZW52aXJvbm1lbnQuIElmIHlvdSBhcmUgcnVubmlu
ZyBYZW5TZXJ2ZXIgdGhvdWdoIHRoZW4geW91IHJlYWxseSBoYXZlIG5vIHJlYXNvbiBub3QgdG8g
dXNlIHRoZSBDaXRyaXggYnJhbmRlZCB2ZXJzaW9uIG9mIHRoZSBkcml2ZXJzIHRoYXQgY29tZSBv
biB0aGUgaW5zdGFsbGF0aW9uIG1lZGlhLg0KDQpGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgdGhl
IHByb2plY3QgZnJvbnQgcGFnZSBhdCBodHRwczovL3hlbnByb2plY3Qub3JnL2RldmVsb3BlcnMv
dGVhbXMvd2luZG93cy1wdi1kcml2ZXJzLmh0bWwgYW5kIHlvdSBjYW4gZmluZCB0aGUgbGF0ZXN0
IHNldCBvZiAoTGludXggRm91bmRhdGlvbikgc2lnbmVkIGRyaXZlcnMgYXQgaHR0cDovL3hlbmJp
dHMueGVuLm9yZy9wdmRyaXZlcnMvd2luLzguMi4xLg0KDQo+ID4NCj4gPiBUaGFua3MgZm9yIHlv
dSBraW5kIHJlc3BvbnNlIHNvIGZhci7CoA0KPg0KDQpObyBwcm9ibGVtLiBQbGVhc2Ugbm90ZSB0
aGF0IG5laXRoZXIgdGhlIFhlbiBQcm9qZWN0IG9yIFhlblNlcnZlciBkcml2ZXJzIGFyZSBjb21w
YXRpYmxlIHdpdGggdGhlIEdQTFBWIGRyaXZlcnMgc28geW91IHdpbGwgbmVlZCB0byBjb21wbGV0
ZWx5IHB1cmdlIHRob3NlIGRyaXZlcnMgZnJvbSB5b3VyIFZNIChhbmQgcmV0dXJuIHRvIHVzaW5n
IGVtdWxhdGVkIGhhcmR3YXJlKSAqYmVmb3JlKiBhdHRlbXB0aW5nIHRvIGluc3RhbGwgbmV3IGRy
aXZlcnMuDQoNCiAgQ2hlZXJzLA0KDQogICAgUGF1bA0KX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRldmVsIG1haWxpbmcgbGlzdAp3aW4tcHYt
ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9t
YWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

From win-pv-devel-bounces@lists.xenproject.org Wed Nov 07 17:01:09 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 07 Nov 2018 17:01:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1gKRCV-0005b6-NG; Wed, 07 Nov 2018 17:01:07 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=9ib7=ns=citrix.com=prvs=842bfaeda=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1gKRCU-0005az-2M
 for win-pv-devel@lists.xenproject.org; Wed, 07 Nov 2018 17:01:06 +0000
X-Inumbo-ID: b5a787a4-e2ae-11e8-b85c-12d6303a7972
Received: from SMTP.EU.CITRIX.COM (unknown [185.25.65.24])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id b5a787a4-e2ae-11e8-b85c-12d6303a7972;
 Wed, 07 Nov 2018 17:01:04 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.54,476,1534809600"; d="scan'208";a="81540268"
From: Paul Durrant <Paul.Durrant@citrix.com>
To: Owen Smith <owen.smith@citrix.com>, "win-pv-devel@lists.xenproject.org"
 <win-pv-devel@lists.xenproject.org>
Thread-Topic: [win-pv-devel] [PATCH 1/4] Disable warning 5032
Thread-Index: AQHUdSUHDNCgCVdPm0m+PYjZPMmVCaVEjHng
Date: Wed, 7 Nov 2018 17:00:55 +0000
Message-ID: <56f6f550a2e4429dadf7e6d62ee1b576@AMSPEX02CL03.citrite.net>
References: <20181105163017.2172-1-owen.smith@citrix.com>
In-Reply-To: <20181105163017.2172-1-owen.smith@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-transport-fromentityheader: Hosted
MIME-Version: 1.0
Subject: Re: [win-pv-devel] [PATCH 1/4] Disable warning 5032
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Owen Smith <owen.smith@citrix.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiB3aW4tcHYtZGV2ZWwgW21haWx0
bzp3aW4tcHYtZGV2ZWwtYm91bmNlc0BsaXN0cy54ZW5wcm9qZWN0Lm9yZ10gT24NCj4gQmVoYWxm
IE9mIE93ZW4gU21pdGgNCj4gU2VudDogMDUgTm92ZW1iZXIgMjAxOCAxNjozMA0KPiBUbzogd2lu
LXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnDQo+IENjOiBPd2VuIFNtaXRoIDxvd2VuLnNt
aXRoQGNpdHJpeC5jb20+DQo+IFN1YmplY3Q6IFt3aW4tcHYtZGV2ZWxdIFtQQVRDSCAxLzRdIERp
c2FibGUgd2FybmluZyA1MDMyDQo+IA0KPiBXREsxNzc2MyB0cmlnZ2VycyBhIHdhcm5pbmcgKG1p
c21hdGNoZWQgI3ByYWdtYSB3YXJuaW5nKHB1c2gpKSBpbg0KPiBpbmNsdWRlL3VtL3dpbmlvY3Rs
LmgNCj4gRGlzYWJsZSB0aGlzIHdhcm5pbmcgdW50aWwgdGhlIFdESyBoZWFkZXIgaGFzIHJlc29s
dmVkIHRoaXMgaXNzdWUuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBPd2VuIFNtaXRoIDxvd2VuLnNt
aXRoQGNpdHJpeC5jb20+DQoNCkFja2VkLWJ5OiBQYXVsIER1cnJhbnQgPHBhdWwuZHVycmFudEBj
aXRyaXguY29tPg0KDQo+IC0tLQ0KPiAgdnMyMDE3L3hlbmNvbnNfbW9uaXRvci94ZW5jb25zX21v
bml0b3IudmN4cHJvaiB8IDIgKy0NCj4gIHZzMjAxNy94ZW5jb25zX3R0eS94ZW5jb25zX3R0eS52
Y3hwcm9qICAgICAgICAgfCAyICstDQo+ICAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygr
KSwgMiBkZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1naXQgYS92czIwMTcveGVuY29uc19tb25p
dG9yL3hlbmNvbnNfbW9uaXRvci52Y3hwcm9qDQo+IGIvdnMyMDE3L3hlbmNvbnNfbW9uaXRvci94
ZW5jb25zX21vbml0b3IudmN4cHJvag0KPiBpbmRleCAwMmRjN2ZkLi4xNjUwZGZkIDEwMDY0NA0K
PiAtLS0gYS92czIwMTcveGVuY29uc19tb25pdG9yL3hlbmNvbnNfbW9uaXRvci52Y3hwcm9qDQo+
ICsrKyBiL3ZzMjAxNy94ZW5jb25zX21vbml0b3IveGVuY29uc19tb25pdG9yLnZjeHByb2oNCj4g
QEAgLTI1LDcgKzI1LDcgQEANCj4gDQo+IDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQo
U29sdXRpb25EaXIpLi5caW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlDQo+IERpcmVjdG9yaWVz
KTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4NCj4gDQo+IDxQcmVwcm9jZXNzb3JEZWZp
bml0aW9ucz5QUk9KRUNUPSQoUHJvamVjdE5hbWUpO1dJTjMyO19XSU5ET1dTO19DUlRfU0VDVVJF
DQo+IF9OT19XQVJOSU5HUzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29y
RGVmaW5pdGlvbnM+DQo+ICAgICAgICA8V2FybmluZ0xldmVsPkVuYWJsZUFsbFdhcm5pbmdzPC9X
YXJuaW5nTGV2ZWw+DQo+IC0NCj4gPERpc2FibGVTcGVjaWZpY1dhcm5pbmdzPjQxMjc7NDcxMTs0
NTQ4OzQ4MjA7NDY2ODs0MjU1OzUwNDU7NjAwMTs2MDU0OzI4MTkNCj4gNjslKERpc2FibGVTcGVj
aWZpY1dhcm5pbmdzKTwvRGlzYWJsZVNwZWNpZmljV2FybmluZ3M+DQo+ICsNCj4gPERpc2FibGVT
cGVjaWZpY1dhcm5pbmdzPjQxMjc7NDcxMTs0NTQ4OzQ4MjA7NDY2ODs0MjU1OzUwMzI7NTA0NTs2
MDAxOzYwNTQNCj4gOzI4MTk2OyUoRGlzYWJsZVNwZWNpZmljV2FybmluZ3MpPC9EaXNhYmxlU3Bl
Y2lmaWNXYXJuaW5ncz4NCj4gICAgICAgIDxNdWx0aVByb2Nlc3NvckNvbXBpbGF0aW9uPnRydWU8
L011bHRpUHJvY2Vzc29yQ29tcGlsYXRpb24+DQo+ICAgICAgICA8RW5hYmxlUFJFZmFzdD50cnVl
PC9FbmFibGVQUkVmYXN0Pg0KPiAgICAgICAgPFJ1bnRpbWVMaWJyYXJ5DQo+IENvbmRpdGlvbj0i
JyQoVXNlRGVidWdMaWJyYXJpZXMpJz09J3RydWUnIj5NdWx0aVRocmVhZGVkRGVidWc8L1J1bnRp
bWVMaWJyDQo+IGFyeT4NCj4gZGlmZiAtLWdpdCBhL3ZzMjAxNy94ZW5jb25zX3R0eS94ZW5jb25z
X3R0eS52Y3hwcm9qDQo+IGIvdnMyMDE3L3hlbmNvbnNfdHR5L3hlbmNvbnNfdHR5LnZjeHByb2oN
Cj4gaW5kZXggZGMxY2U0NC4uMThhZDgxYiAxMDA2NDQNCj4gLS0tIGEvdnMyMDE3L3hlbmNvbnNf
dHR5L3hlbmNvbnNfdHR5LnZjeHByb2oNCj4gKysrIGIvdnMyMDE3L3hlbmNvbnNfdHR5L3hlbmNv
bnNfdHR5LnZjeHByb2oNCj4gQEAgLTIyLDcgKzIyLDcgQEANCj4gDQo+IDxBZGRpdGlvbmFsSW5j
bHVkZURpcmVjdG9yaWVzPiQoU29sdXRpb25EaXIpLi5caW5jbHVkZTslKEFkZGl0aW9uYWxJbmNs
dWRlDQo+IERpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4NCj4gDQo+
IDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtfV0lORE9XUztfQ1JUX1NFQ1VSRV9OT19X
QVJOSU5HUzslKFByZXByb2NlDQo+IHNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmlu
aXRpb25zPg0KPiAgICAgICAgPFdhcm5pbmdMZXZlbD5FbmFibGVBbGxXYXJuaW5nczwvV2Fybmlu
Z0xldmVsPg0KPiAtDQo+IDxEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncz40MTI3OzQ3MTE7NDU0ODs0
ODIwOzQ2Njg7NDI1NTs1MDQ1OzYwMDE7NjA1NDsyODE5DQo+IDY7JShEaXNhYmxlU3BlY2lmaWNX
YXJuaW5ncyk8L0Rpc2FibGVTcGVjaWZpY1dhcm5pbmdzPg0KPiArDQo+IDxEaXNhYmxlU3BlY2lm
aWNXYXJuaW5ncz40MTI3OzQ3MTE7NDU0ODs0ODIwOzQ2Njg7NDI1NTs1MDMyOzUwNDU7NjAwMTs2
MDU0DQo+IDsyODE5NjslKERpc2FibGVTcGVjaWZpY1dhcm5pbmdzKTwvRGlzYWJsZVNwZWNpZmlj
V2FybmluZ3M+DQo+ICAgICAgICA8TXVsdGlQcm9jZXNzb3JDb21waWxhdGlvbj50cnVlPC9NdWx0
aVByb2Nlc3NvckNvbXBpbGF0aW9uPg0KPiAgICAgICAgPEVuYWJsZVBSRWZhc3Q+dHJ1ZTwvRW5h
YmxlUFJFZmFzdD4NCj4gICAgICAgIDxSdW50aW1lTGlicmFyeQ0KPiBDb25kaXRpb249IickKFVz
ZURlYnVnTGlicmFyaWVzKSc9PSd0cnVlJyI+TXVsdGlUaHJlYWRlZERlYnVnPC9SdW50aW1lTGli
cg0KPiBhcnk+DQo+IC0tDQo+IDIuMTYuMi53aW5kb3dzLjENCj4gDQo+IA0KPiBfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPiB3aW4tcHYtZGV2ZWwgbWFp
bGluZyBsaXN0DQo+IHdpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZw0KPiBodHRwczov
L2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRldmVsDQpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwp3aW4tcHYtZGV2ZWwg
bWFpbGluZyBsaXN0Cndpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xp
c3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRldmVs

From win-pv-devel-bounces@lists.xenproject.org Wed Nov 07 17:05:35 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 07 Nov 2018 17:05:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1gKRGp-0005mU-2q; Wed, 07 Nov 2018 17:05:35 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=9ib7=ns=citrix.com=prvs=842bfaeda=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1gKRGn-0005mP-Oq
 for win-pv-devel@lists.xenproject.org; Wed, 07 Nov 2018 17:05:33 +0000
X-Inumbo-ID: 55cb7b82-e2af-11e8-8f60-12d6303a7972
Received: from SMTP.EU.CITRIX.COM (unknown [185.25.65.24])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 55cb7b82-e2af-11e8-8f60-12d6303a7972;
 Wed, 07 Nov 2018 17:05:32 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.54,476,1534809600"; d="scan'208";a="81540537"
From: Paul Durrant <Paul.Durrant@citrix.com>
To: Owen Smith <owen.smith@citrix.com>, "win-pv-devel@lists.xenproject.org"
 <win-pv-devel@lists.xenproject.org>
Thread-Topic: [win-pv-devel] [PATCH 2/4] Add more logging to xencons_tty in
 debug builds
Thread-Index: AQHUdSTypPnBFHwzkUqJduOr4R2AHaVEjPZA
Date: Wed, 7 Nov 2018 17:04:50 +0000
Message-ID: <fc936208c59647ce80385d905ad352cf@AMSPEX02CL03.citrite.net>
References: <20181105163017.2172-1-owen.smith@citrix.com>
 <20181105163017.2172-2-owen.smith@citrix.com>
In-Reply-To: <20181105163017.2172-2-owen.smith@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-transport-fromentityheader: Hosted
MIME-Version: 1.0
Subject: Re: [win-pv-devel] [PATCH 2/4] Add more logging to xencons_tty in
 debug builds
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Owen Smith <owen.smith@citrix.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiB3aW4tcHYtZGV2ZWwgW21haWx0
bzp3aW4tcHYtZGV2ZWwtYm91bmNlc0BsaXN0cy54ZW5wcm9qZWN0Lm9yZ10gT24NCj4gQmVoYWxm
IE9mIE93ZW4gU21pdGgNCj4gU2VudDogMDUgTm92ZW1iZXIgMjAxOCAxNjozMA0KPiBUbzogd2lu
LXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnDQo+IENjOiBPd2VuIFNtaXRoIDxvd2VuLnNt
aXRoQGNpdHJpeC5jb20+DQo+IFN1YmplY3Q6IFt3aW4tcHYtZGV2ZWxdIFtQQVRDSCAyLzRdIEFk
ZCBtb3JlIGxvZ2dpbmcgdG8geGVuY29uc190dHkgaW4NCj4gZGVidWcgYnVpbGRzDQo+IA0KPiBT
aWduZWQtb2ZmLWJ5OiBPd2VuIFNtaXRoIDxvd2VuLnNtaXRoQGNpdHJpeC5jb20+DQoNCk5vdCBz
dXJlIHRoaXMgc2hvdWxkIGp1c3QgYmUgbGltaXRlZCB0byBkZWJ1ZyBidWlsZHMuIFRoZSBtZXNz
YWdlcyB3aWxsIGJlIGJsb2NrZWQgYnkgdGhlIERFRkFVTFQgZmlsdGVyIHVubGVzcyBpdCBpcyBl
eHBsaWNpdGx5IGVuYWJsZWQuDQoNCkFja2VkLWJ5OiBQYXVsIER1cnJhbnQgPHBhdWwuZHVycmFu
dEBjaXRyaXguY29tPg0KDQo+IC0tLQ0KPiAgc3JjL3R0eS90dHkuYyAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCA2MA0KPiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrDQo+ICB2
czIwMTcveGVuY29uc190dHkveGVuY29uc190dHkudmN4cHJvaiB8ICAyICstDQo+ICAyIGZpbGVz
IGNoYW5nZWQsIDYxIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkNCj4gDQo+IGRpZmYgLS1n
aXQgYS9zcmMvdHR5L3R0eS5jIGIvc3JjL3R0eS90dHkuYw0KPiBpbmRleCA3ZDk3ZGY1Li5hNmMx
NWU5IDEwMDY0NA0KPiAtLS0gYS9zcmMvdHR5L3R0eS5jDQo+ICsrKyBiL3NyYy90dHkvdHR5LmMN
Cj4gQEAgLTM0LDYgKzM0LDEwIEBADQo+ICAjaW5jbHVkZSA8c3Ryc2FmZS5oPg0KPiAgI2luY2x1
ZGUgPHVzZXJlbnYuaD4NCj4gDQo+ICsjZGVmaW5lIHN0cmluZ2lmeV9saXRlcmFsKF90ZXh0KSAj
X3RleHQNCj4gKyNkZWZpbmUgc3RyaW5naWZ5KF90ZXh0KSBzdHJpbmdpZnlfbGl0ZXJhbChfdGV4
dCkNCj4gKyNkZWZpbmUgX19NT0RVTEVfXyBzdHJpbmdpZnkoUFJPSkVDVCkNCj4gKw0KPiAgdHlw
ZWRlZiBzdHJ1Y3QgX1RUWV9TVFJFQU0gew0KPiAgICAgIEhBTkRMRSAgUmVhZDsNCj4gICAgICBI
QU5ETEUgIFdyaXRlOw0KPiBAQCAtNTQsNiArNTgsNTQgQEAgdHlwZWRlZiBzdHJ1Y3QgX1RUWV9D
T05URVhUIHsNCj4gDQo+ICBUVFlfQ09OVEVYVCBUdHlDb250ZXh0Ow0KPiANCj4gKyNpZiBEQkcN
Cj4gKw0KPiArc3RhdGljIFZPSUQNCj4gKyNwcmFnbWEgcHJlZmFzdChzdXBwcmVzczo2MjYyKSAv
LyBGdW5jdGlvbiB1c2VzICcxMDM2JyBieXRlcyBvZiBzdGFjazoNCj4gZXhjZWVkcyAvYW5hbHl6
ZTpzdGFja3NpemUnMTAyNCcNCj4gK19fTG9nKA0KPiArICAgIElOICBjb25zdCBDSEFSICAgICAg
KkZvcm1hdCwNCj4gKyAgICBJTiAgLi4uDQo+ICsgICAgKQ0KPiArew0KPiArICAgIENIQVIgICAg
ICAgICAgICAgICAgQnVmZmVyW01BWElNVU1fQlVGRkVSX1NJWkVdOw0KPiArICAgIHZhX2xpc3Qg
ICAgICAgICAgICAgQXJndW1lbnRzOw0KPiArICAgIHNpemVfdCAgICAgICAgICAgICAgTGVuZ3Ro
Ow0KPiArICAgIEhSRVNVTFQgICAgICAgICAgICAgUmVzdWx0Ow0KPiArDQo+ICsgICAgdmFfc3Rh
cnQoQXJndW1lbnRzLCBGb3JtYXQpOw0KPiArICAgIFJlc3VsdCA9IFN0cmluZ0NjaFZQcmludGZB
KEJ1ZmZlciwNCj4gKyAgICAgICAgTUFYSU1VTV9CVUZGRVJfU0laRSwNCj4gKyAgICAgICAgRm9y
bWF0LA0KPiArICAgICAgICBBcmd1bWVudHMpOw0KPiArICAgIHZhX2VuZChBcmd1bWVudHMpOw0K
PiArDQo+ICsgICAgaWYgKFJlc3VsdCAhPSBTX09LICYmIFJlc3VsdCAhPSBTVFJTQUZFX0VfSU5T
VUZGSUNJRU5UX0JVRkZFUikNCj4gKyAgICAgICAgcmV0dXJuOw0KPiArDQo+ICsgICAgUmVzdWx0
ID0gU3RyaW5nQ2NoTGVuZ3RoQShCdWZmZXIsIE1BWElNVU1fQlVGRkVSX1NJWkUsICZMZW5ndGgp
Ow0KPiArICAgIGlmIChSZXN1bHQgIT0gU19PSykNCj4gKyAgICAgICAgcmV0dXJuOw0KPiArDQo+
ICsgICAgTGVuZ3RoID0gX19taW4oTUFYSU1VTV9CVUZGRVJfU0laRSAtIDEsIExlbmd0aCArIDIp
Ow0KPiArDQo+ICsgICAgX19hbmFseXNpc19hc3N1bWUoTGVuZ3RoIDwgTUFYSU1VTV9CVUZGRVJf
U0laRSk7DQo+ICsgICAgX19hbmFseXNpc19hc3N1bWUoTGVuZ3RoID49IDIpOw0KPiArICAgIEJ1
ZmZlcltMZW5ndGhdID0gJ1wwJzsNCj4gKyAgICBCdWZmZXJbTGVuZ3RoIC0gMV0gPSAnXG4nOw0K
PiArICAgIEJ1ZmZlcltMZW5ndGggLSAyXSA9ICdccic7DQo+ICsNCj4gKyAgICBPdXRwdXREZWJ1
Z1N0cmluZyhCdWZmZXIpOw0KPiArfQ0KPiArDQo+ICsjZGVmaW5lIExvZyhfRm9ybWF0LCAuLi4p
IFwNCj4gKyAgICBfX0xvZyhfX01PRFVMRV9fICJ8IiBfX0ZVTkNUSU9OX18gIjogIiBfRm9ybWF0
LCBfX1ZBX0FSR1NfXykNCj4gKw0KPiArI2Vsc2UNCj4gKw0KPiArI2RlZmluZSBMb2coX0Zvcm1h
dCwgLi4uKSAgIChWT0lEKTA7DQo+ICsNCj4gKyNlbmRpZg0KPiArDQo+ICBzdGF0aWMgQk9PTA0K
PiAgQ3JlYXRlQ2hpbGQoDQo+ICAgICAgVk9JRA0KPiBAQCAtMzE0LDYgKzM2Niw3IEBAIFR0eUlu
KA0KPiANCj4gICAgICBVTlJFRkVSRU5DRURfUEFSQU1FVEVSKEFyZ3VtZW50KTsNCj4gDQo+ICsg
ICAgTG9nKCI9PT09PT4iKTsNCj4gICAgICBmb3IgKDs7KSB7DQo+ICAgICAgICAgIERXT1JEICAg
ICAgIFJlYWQ7DQo+ICAgICAgICAgIENIQVIgICAgICAgIEJ1ZmZlcltNQVhJTVVNX0JVRkZFUl9T
SVpFXTsNCj4gQEAgLTM0NSw2ICszOTgsNyBAQCBUdHlJbigNCj4gICAgICAgICAgICAgICAgICBi
cmVhazsNCj4gICAgICAgICAgfQ0KPiAgICAgIH0NCj4gKyAgICBMb2coIjw9PT09PSIpOw0KPiAN
Cj4gICAgICByZXR1cm4gMDsNCj4gIH0NCj4gQEAgLTM1OCw2ICs0MTIsNyBAQCBUdHlPdXQoDQo+
IA0KPiAgICAgIFVOUkVGRVJFTkNFRF9QQVJBTUVURVIoQXJndW1lbnQpOw0KPiANCj4gKyAgICBM
b2coIj09PT09PiIpOw0KPiAgICAgIGZvciAoOzspIHsNCj4gICAgICAgICAgRFdPUkQgICAgICAg
UmVhZDsNCj4gICAgICAgICAgRFdPUkQgICAgICAgV3JpdHRlbjsNCj4gQEAgLTM4Myw2ICs0Mzgs
NyBAQCBUdHlPdXQoDQo+ICAgICAgICAgIGlmICghU3VjY2VzcykNCj4gICAgICAgICAgICAgIGJy
ZWFrOw0KPiAgICAgIH0NCj4gKyAgICBMb2coIjw9PT09PSIpOw0KPiANCj4gICAgICByZXR1cm4g
MDsNCj4gIH0NCj4gQEAgLTQwMiw2ICs0NTgsOCBAQCBfdG1haW4oDQo+ICAgICAgVU5SRUZFUkVO
Q0VEX1BBUkFNRVRFUihhcmdjKTsNCj4gICAgICBVTlJFRkVSRU5DRURfUEFSQU1FVEVSKGFyZ3Yp
Ow0KPiANCj4gKyAgICBMb2coIj09PT09PiIpOw0KPiArDQo+ICAgICAgaWYgKCFXYWl0TmFtZWRQ
aXBlKFBJUEVfTkFNRSwgTk1QV0FJVF9VU0VfREVGQVVMVF9XQUlUKSkNCj4gICAgICAgICAgRXhp
dFByb2Nlc3MoMSk7DQo+IA0KPiBAQCAtNTEwLDQgKzU2OCw2IEBAIF90bWFpbigNCj4gICAgICAg
ICAgICAgIENsb3NlSGFuZGxlKEhhbmRsZVtJbmRleF0pOw0KPiANCj4gICAgICBDbG9zZUhhbmRs
ZShDb250ZXh0LT5Qcm9jZXNzSW5mby5oUHJvY2Vzcyk7DQo+ICsNCj4gKyAgICBMb2coIjw9PT09
PSIpOw0KPiAgfQ0KPiBkaWZmIC0tZ2l0IGEvdnMyMDE3L3hlbmNvbnNfdHR5L3hlbmNvbnNfdHR5
LnZjeHByb2oNCj4gYi92czIwMTcveGVuY29uc190dHkveGVuY29uc190dHkudmN4cHJvag0KPiBp
bmRleCAxOGFkODFiLi42MjM1OTVjIDEwMDY0NA0KPiAtLS0gYS92czIwMTcveGVuY29uc190dHkv
eGVuY29uc190dHkudmN4cHJvag0KPiArKysgYi92czIwMTcveGVuY29uc190dHkveGVuY29uc190
dHkudmN4cHJvag0KPiBAQCAtMjAsNyArMjAsNyBAQA0KPiAgICA8SXRlbURlZmluaXRpb25Hcm91
cD4NCj4gICAgICA8Q2xDb21waWxlPg0KPiANCj4gPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3Jp
ZXM+JChTb2x1dGlvbkRpcikuLlxpbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGUNCj4gRGlyZWN0
b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPg0KPiAtDQo+IDxQcmVwcm9jZXNz
b3JEZWZpbml0aW9ucz5XSU4zMjtfV0lORE9XUztfQ1JUX1NFQ1VSRV9OT19XQVJOSU5HUzslKFBy
ZXByb2NlDQo+IHNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPg0KPiAr
DQo+IDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5QUk9KRUNUPSQoUHJvamVjdE5hbWUpO1dJTjMy
O19XSU5ET1dTO19DUlRfU0VDVVJFDQo+IF9OT19XQVJOSU5HUzslKFByZXByb2Nlc3NvckRlZmlu
aXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+DQo+ICAgICAgICA8V2FybmluZ0xldmVs
PkVuYWJsZUFsbFdhcm5pbmdzPC9XYXJuaW5nTGV2ZWw+DQo+IA0KPiA8RGlzYWJsZVNwZWNpZmlj
V2FybmluZ3M+NDEyNzs0NzExOzQ1NDg7NDgyMDs0NjY4OzQyNTU7NTAzMjs1MDQ1OzYwMDE7NjA1
NA0KPiA7MjgxOTY7JShEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncyk8L0Rpc2FibGVTcGVjaWZpY1dh
cm5pbmdzPg0KPiAgICAgICAgPE11bHRpUHJvY2Vzc29yQ29tcGlsYXRpb24+dHJ1ZTwvTXVsdGlQ
cm9jZXNzb3JDb21waWxhdGlvbj4NCj4gLS0NCj4gMi4xNi4yLndpbmRvd3MuMQ0KPiANCj4gDQo+
IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+IHdpbi1w
di1kZXZlbCBtYWlsaW5nIGxpc3QNCj4gd2luLXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3Jn
DQo+IGh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby93aW4tcHYt
ZGV2ZWwNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCndp
bi1wdi1kZXZlbCBtYWlsaW5nIGxpc3QKd2luLXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3Jn
Cmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby93aW4tcHYtZGV2
ZWw=

From win-pv-devel-bounces@lists.xenproject.org Wed Nov 07 17:06:10 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 07 Nov 2018 17:06:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1gKRHO-0005o7-5g; Wed, 07 Nov 2018 17:06:10 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=9ib7=ns=citrix.com=prvs=842bfaeda=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1gKRHM-0005o2-OE
 for win-pv-devel@lists.xenproject.org; Wed, 07 Nov 2018 17:06:08 +0000
X-Inumbo-ID: 69f303f0-e2af-11e8-b4f3-12d6303a7972
Received: from SMTP.EU.CITRIX.COM (unknown [185.25.65.24])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 69f303f0-e2af-11e8-b4f3-12d6303a7972;
 Wed, 07 Nov 2018 17:06:06 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.54,476,1534809600"; d="scan'208";a="81540587"
From: Paul Durrant <Paul.Durrant@citrix.com>
To: Owen Smith <owen.smith@citrix.com>, "win-pv-devel@lists.xenproject.org"
 <win-pv-devel@lists.xenproject.org>
Thread-Topic: [win-pv-devel] [PATCH 3/4] Avoid assertion failure on PdoDestroy
Thread-Index: AQHUdSVRd62bPdvsZ0m7SkPot+RREKVEjdBQ
Date: Wed, 7 Nov 2018 17:05:41 +0000
Message-ID: <237b4232b30b401dbf26c6d4a4881cf9@AMSPEX02CL03.citrite.net>
References: <20181105163017.2172-1-owen.smith@citrix.com>
 <20181105163017.2172-3-owen.smith@citrix.com>
In-Reply-To: <20181105163017.2172-3-owen.smith@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-transport-fromentityheader: Hosted
MIME-Version: 1.0
Subject: Re: [win-pv-devel] [PATCH 3/4] Avoid assertion failure on PdoDestroy
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Owen Smith <owen.smith@citrix.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiB3aW4tcHYtZGV2ZWwgW21haWx0
bzp3aW4tcHYtZGV2ZWwtYm91bmNlc0BsaXN0cy54ZW5wcm9qZWN0Lm9yZ10gT24NCj4gQmVoYWxm
IE9mIE93ZW4gU21pdGgNCj4gU2VudDogMDUgTm92ZW1iZXIgMjAxOCAxNjozMA0KPiBUbzogd2lu
LXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnDQo+IENjOiBPd2VuIFNtaXRoIDxvd2VuLnNt
aXRoQGNpdHJpeC5jb20+DQo+IFN1YmplY3Q6IFt3aW4tcHYtZGV2ZWxdIFtQQVRDSCAzLzRdIEF2
b2lkIGFzc2VydGlvbiBmYWlsdXJlIG9uIFBkb0Rlc3Ryb3kNCj4gDQo+IEF2b2lkIHRyaWdnZXJp
bmcgQVNTRVJUKElzWmVyb01lbW9yeShQZG8sIHNpemVvZihYRU5DT05TX1BETykpDQo+IGJ5IE5V
TEwtaW5nIFBkby0+Q29udGV4dC4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6IE93ZW4gU21pdGggPG93
ZW4uc21pdGhAY2l0cml4LmNvbT4NCg0KQWNrZWQtYnk6IFBhdWwgRHVycmFudCA8cGF1bC5kdXJy
YW50QGNpdHJpeC5jb20+DQoNCj4gLS0tDQo+ICBzcmMveGVuY29ucy9wZG8uYyB8IDIgKysNCj4g
IDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykNCj4gDQo+IGRpZmYgLS1naXQgYS9zcmMv
eGVuY29ucy9wZG8uYyBiL3NyYy94ZW5jb25zL3Bkby5jDQo+IGluZGV4IDNiNDgzYTUuLmI3MTc3
YTkgMTAwNjQ0DQo+IC0tLSBhL3NyYy94ZW5jb25zL3Bkby5jDQo+ICsrKyBiL3NyYy94ZW5jb25z
L3Bkby5jDQo+IEBAIC0yMDAyLDYgKzIwMDIsNyBAQCBmYWlsNjoNCj4gICAgICBlbHNlDQo+ICAg
ICAgICAgIEZyb250ZW5kRGVzdHJveShQZG8tPkNvbnRleHQpOw0KPiANCj4gKyAgICBQZG8tPkNv
bnRleHQgPSBOVUxMOw0KPiAgICAgIFBkby0+SXNEZWZhdWx0ID0gRkFMU0U7DQo+IA0KPiAgZmFp
bDU6DQo+IEBAIC0yMDc3LDYgKzIwNzgsNyBAQCBQZG9EZXN0cm95KA0KPiAgICAgIGVsc2UNCj4g
ICAgICAgICAgRnJvbnRlbmREZXN0cm95KFBkby0+Q29udGV4dCk7DQo+IA0KPiArICAgIFBkby0+
Q29udGV4dCA9IE5VTEw7DQo+ICAgICAgUGRvLT5Jc0RlZmF1bHQgPSBGQUxTRTsNCj4gDQo+ICAg
ICAgUnRsRnJlZVVuaWNvZGVTdHJpbmcoJlBkby0+RHgtPkxpbmspOw0KPiAtLQ0KPiAyLjE2LjIu
d2luZG93cy4xDQo+IA0KPiANCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18NCj4gd2luLXB2LWRldmVsIG1haWxpbmcgbGlzdA0KPiB3aW4tcHYtZGV2ZWxA
bGlzdHMueGVucHJvamVjdC5vcmcNCj4gaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWls
bWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18Kd2luLXB2LWRldmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxA
bGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFu
L2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

From win-pv-devel-bounces@lists.xenproject.org Thu Nov 08 09:38:41 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 08 Nov 2018 09:38:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1gKglq-00080t-Pw; Thu, 08 Nov 2018 09:38:38 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=iq1m=nt=citrix.com=prvs=8435f2cfc=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1gKglp-00080o-IR
 for win-pv-devel@lists.xenproject.org; Thu, 08 Nov 2018 09:38:37 +0000
X-Inumbo-ID: 0f65b7fe-e33a-11e8-9a16-bc764e045a96
Received: from SMTP.EU.CITRIX.COM (unknown [185.25.65.24])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 0f65b7fe-e33a-11e8-9a16-bc764e045a96;
 Thu, 08 Nov 2018 09:38:35 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.54,478,1534809600"; d="scan'208";a="81572129"
From: Paul Durrant <Paul.Durrant@citrix.com>
To: Owen Smith <owen.smith@citrix.com>, "win-pv-devel@lists.xenproject.org"
 <win-pv-devel@lists.xenproject.org>
Thread-Topic: [win-pv-devel] [PATCH 4/4] Handle DBT_DEVICEQUERYREMOVEFAILED
Thread-Index: AQHUdSUIhj7XGDRLR0uL7tIl4S1gVaVFoNLw
Date: Thu, 8 Nov 2018 09:38:33 +0000
Message-ID: <abad553644af4155b1fe45624ad2343f@AMSPEX02CL03.citrite.net>
References: <20181105163017.2172-1-owen.smith@citrix.com>
 <20181105163017.2172-4-owen.smith@citrix.com>
In-Reply-To: <20181105163017.2172-4-owen.smith@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-transport-fromentityheader: Hosted
MIME-Version: 1.0
Subject: Re: [win-pv-devel] [PATCH 4/4] Handle DBT_DEVICEQUERYREMOVEFAILED
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Owen Smith <owen.smith@citrix.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiB3aW4tcHYtZGV2ZWwgW21haWx0
bzp3aW4tcHYtZGV2ZWwtYm91bmNlc0BsaXN0cy54ZW5wcm9qZWN0Lm9yZ10gT24NCj4gQmVoYWxm
IE9mIE93ZW4gU21pdGgNCj4gU2VudDogMDUgTm92ZW1iZXIgMjAxOCAxNjozMA0KPiBUbzogd2lu
LXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnDQo+IENjOiBPd2VuIFNtaXRoIDxvd2VuLnNt
aXRoQGNpdHJpeC5jb20+DQo+IFN1YmplY3Q6IFt3aW4tcHYtZGV2ZWxdIFtQQVRDSCA0LzRdIEhh
bmRsZSBEQlRfREVWSUNFUVVFUllSRU1PVkVGQUlMRUQNCj4gDQo+IFNwbGl0IENvbnNvbGVDcmVh
dGUvQ29uc29sZURlc3Ryb3kgc28gdGhhdCBhIHF1ZXJ5IHJlbW92ZSBjYW4gY2xvc2UgYWxsDQo+
IGRldmljZSBoYW5kbGVzLCBhbmQgcmUtb3BlbiB0aGVtIGlzIGEgcXVlcnkgcmVtb3ZlIGZhaWxl
ZCBpcyByZWNlaXZlZC4NCg0Kcy9pcy9pZg0KDQo+IFRoaXMgYWxsb3dzIHRoZSBuYW1lZCBwaXBl
cyB0byBrZWVwIG9wZXJhdGluZywgZGlzY2FyZGluZyBhbnkgZGF0YQ0KPiB3aGlsc3QgdGhlIGRl
dmljZSBpcyBiZWluZyBxdWVyeSByZW1vdmVkLg0KPiBBbHNvIGZpeGVzIHNldmVyYWwgaXNzdWVz
IHdpdGggdGhlIHRocmVhZGluZyBtb2RlbCBhbmQgbGVha2luZyBoYW5kbGVzLg0KPiANCj4gU2ln
bmVkLW9mZi1ieTogT3dlbiBTbWl0aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPg0KPiAtLS0NCj4g
IHNyYy9tb25pdG9yL21vbml0b3IuYyB8IDQxOCArKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrLS0tLS0tLS0NCj4gLS0tLS0NCj4gIDEgZmlsZSBjaGFuZ2VkLCAzMDggaW5zZXJ0
aW9ucygrKSwgMTEwIGRlbGV0aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdCBhL3NyYy9tb25pdG9y
L21vbml0b3IuYyBiL3NyYy9tb25pdG9yL21vbml0b3IuYw0KPiBpbmRleCAxOTEyMDQ3Li5kODcx
YWY3IDEwMDY0NA0KPiAtLS0gYS9zcmMvbW9uaXRvci9tb25pdG9yLmMNCj4gKysrIGIvc3JjL21v
bml0b3IvbW9uaXRvci5jDQo+IEBAIC03MCw2ICs3MCw3IEBAIHR5cGVkZWYgc3RydWN0IF9NT05J
VE9SX0NPTlNPTEUgew0KPiAgICAgIExJU1RfRU5UUlkgICAgICAgICAgICAgIExpc3RFbnRyeTsN
Cj4gICAgICBQV0NIQVIgICAgICAgICAgICAgICAgICBEZXZpY2VQYXRoOw0KPiAgICAgIEhBTkRM
RSAgICAgICAgICAgICAgICAgIERldmljZUhhbmRsZTsNCj4gKyAgICBCT09MICAgICAgICAgICAg
ICAgICAgICBEZXZpY2VIYW5kbGVPcGVuOw0KPiAgICAgIEhERVZOT1RJRlkgICAgICAgICAgICAg
IERldmljZU5vdGlmaWNhdGlvbjsNCj4gICAgICBQQ0hBUiAgICAgICAgICAgICAgICAgICBEZXZp
Y2VOYW1lOyAvLyBwcm90b2NvbCBhbmQgaW5zdGFuY2U/DQo+ICAgICAgSEFORExFICAgICAgICAg
ICAgICAgICAgRXhlY3V0YWJsZVRocmVhZDsNCj4gQEAgLTM4Nyw5ICszODgsMTQgQEAgQ29ubmVj
dGlvblRocmVhZCgNCj4gDQo+ICAgICAgICAgIFJlc2V0RXZlbnQoT3ZlcmxhcHBlZC5oRXZlbnQp
Ow0KPiANCj4gLSAgICAgICAgUHV0U3RyaW5nKENvbnNvbGUtPkRldmljZUhhbmRsZSwNCj4gLSAg
ICAgICAgICAgICAgICAgIEJ1ZmZlciwNCj4gLSAgICAgICAgICAgICAgICAgIExlbmd0aCk7DQo+
ICsgICAgICAgIEVudGVyQ3JpdGljYWxTZWN0aW9uKCZDb25zb2xlLT5Dcml0aWNhbFNlY3Rpb24p
Ow0KPiArICAgICAgICBpZiAoQ29uc29sZS0+RGV2aWNlSGFuZGxlT3BlbikNCj4gKyAgICAgICAg
ICAgIFB1dFN0cmluZyhDb25zb2xlLT5EZXZpY2VIYW5kbGUsDQo+ICsgICAgICAgICAgICAgICAg
ICAgICAgQnVmZmVyLA0KPiArICAgICAgICAgICAgICAgICAgICAgIExlbmd0aCk7DQo+ICsgICAg
ICAgIGVsc2UNCj4gKyAgICAgICAgICAgIExvZygiW05PX0RFVklDRV0gJS4qaHMiLCBMZW5ndGgs
IEJ1ZmZlcik7DQo+ICsgICAgICAgIExlYXZlQ3JpdGljYWxTZWN0aW9uKCZDb25zb2xlLT5Dcml0
aWNhbFNlY3Rpb24pOw0KPiAgICAgIH0NCj4gDQo+ICAgICAgRW50ZXJDcml0aWNhbFNlY3Rpb24o
JkNvbnNvbGUtPkNyaXRpY2FsU2VjdGlvbik7DQo+IEBAIC00NjAsNiArNDY2LDggQEAgU2VydmVy
VGhyZWFkKA0KPiAgICAgIExvZygiJXMiLCBQaXBlTmFtZSk7DQo+IA0KPiAgICAgIGZvciAoOzsp
IHsNCj4gKyAgICAgICAgRFdPUkQgICAgICAgICAgIFRocmVhZElkOw0KPiArDQo+ICAgICAgICAg
IFBpcGUgPSBDcmVhdGVOYW1lZFBpcGUoUGlwZU5hbWUsDQo+ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgUElQRV9BQ0NFU1NfRFVQTEVYIHwgRklMRV9GTEFHX09WRVJMQVBQRUQsDQo+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUElQRV9UWVBFX01FU1NBR0UgfCBQSVBF
X1JFQURNT0RFX01FU1NBR0UsDQo+IEBAIC00OTYsMTAgKzUwNCwxMiBAQCBTZXJ2ZXJUaHJlYWQo
DQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLA0KPiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29ubmVjdGlvblRocmVhZCwN
Cj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbm5lY3Rpb24s
DQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLA0KPiAtICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7DQo+ICsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDUkVBVEVfU1VTUEVOREVELA0KPiAr
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJlRocmVhZElkKTsNCg0K
V2hhdCBpcyBUaHJlYWRJZCB1c2VkIGZvcj8NCg0KPiAgICAgICAgICBpZiAoQ29ubmVjdGlvbi0+
VGhyZWFkID09IE5VTEwpDQo+ICAgICAgICAgICAgICBnb3RvIGZhaWw1Ow0KPiArDQo+ICsgICAg
ICAgIFJlc3VtZVRocmVhZChDb25uZWN0aW9uLT5UaHJlYWQpOw0KPiAgICAgIH0NCj4gDQo+ICAg
ICAgQ2xvc2VIYW5kbGUoT3ZlcmxhcHBlZC5oRXZlbnQpOw0KPiBAQCAtODM5LDYgKzg0OSwxMzgg
QEAgZmFpbDE6DQo+ICAgICAgcmV0dXJuIDE7DQo+ICB9DQo+IA0KPiArc3RhdGljIEJPT0wNCj4g
K0NvbnNvbGVPcGVuKA0KPiArICAgIElOICBQTU9OSVRPUl9DT05TT0xFICAgIENvbnNvbGUNCj4g
KyAgICApDQo+ICt7DQo+ICsgICAgSEFORExFICAgICAgICAgICAgICAgICAgRGV2aWNlSGFuZGxl
Ow0KPiArICAgIENIQVIgICAgICAgICAgICAgICAgICAgIERldmljZU5hbWVbTUFYX1BBVEhdOw0K
PiArICAgIERXT1JEICAgICAgICAgICAgICAgICAgIEJ5dGVzOw0KPiArICAgIERXT1JEICAgICAg
ICAgICAgICAgICAgIFRocmVhZElkOw0KPiArICAgIEJPT0wgICAgICAgICAgICAgICAgICAgIFN1
Y2Nlc3M7DQo+ICsNCj4gKyAgICBMb2coIj09PT0+ICV3cyIsIENvbnNvbGUtPkRldmljZVBhdGgp
Ow0KPiArDQo+ICsgICAgaWYgKENvbnNvbGUtPkRldmljZUhhbmRsZU9wZW4pDQo+ICsgICAgICAg
IGdvdG8gZmFpbDE7DQo+ICsNCj4gKyAgICBEZXZpY2VIYW5kbGUgPSBDcmVhdGVGaWxlVyhDb25z
b2xlLT5EZXZpY2VQYXRoLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdFTkVS
SUNfUkVBRCB8IEdFTkVSSUNfV1JJVEUsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgRklMRV9TSEFSRV9SRUFEIHwgRklMRV9TSEFSRV9XUklURSwNCj4gKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IE9QRU5fRVhJU1RJTkcsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRklMRV9B
VFRSSUJVVEVfTk9STUFMLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwp
Ow0KPiArICAgIGlmIChEZXZpY2VIYW5kbGUgPT0gSU5WQUxJRF9IQU5ETEVfVkFMVUUpDQo+ICsg
ICAgICAgIGdvdG8gZmFpbDI7DQo+ICsNCj4gKyAgICAvLyBjaGVjayByZS1vcGVuIHJldXNlcyBh
IGhhbmRsZQ0KPiArICAgIGlmICgoQ29uc29sZS0+RGV2aWNlSGFuZGxlICE9IElOVkFMSURfSEFO
RExFX1ZBTFVFKSAmJg0KPiArICAgICAgICAoQ29uc29sZS0+RGV2aWNlSGFuZGxlICE9IERldmlj
ZUhhbmRsZSkpDQo+ICsgICAgICAgIExvZygiSEFORExFIGNoYW5nZWQhICVwIC0+ICVwIiwNCj4g
KyAgICAgICAgICAgIChWT0lEKilDb25zb2xlLT5EZXZpY2VIYW5kbGUsDQo+ICsgICAgICAgICAg
ICAoVk9JRCopRGV2aWNlSGFuZGxlKTsNCg0KU2hvdWxkIHRoZSBhYm92ZSBjaGVjayBiZSB3aXRo
aW4gdGhlIGNyaXRpY2FsIHNlY3Rpb24gdG9vPyBJIHJlYWxpemUgaXQgaXMgb25seSB0aGVyZSB0
byBnZW5lcmF0ZSBhIGxvZyBtZXNzYWdlIGJ1dCBJIGd1ZXNzIGNoZWNraW5nIHdpdGhvdXQgdGhl
IGxvY2sgY291bGQgcmVzdWx0IGluIGZhbHNlIHBvc2l0aXZlcy4NCg0KPiArDQo+ICsgICAgRW50
ZXJDcml0aWNhbFNlY3Rpb24oJkNvbnNvbGUtPkNyaXRpY2FsU2VjdGlvbik7DQo+ICsgICAgQ29u
c29sZS0+RGV2aWNlSGFuZGxlID0gRGV2aWNlSGFuZGxlOw0KPiArICAgIENvbnNvbGUtPkRldmlj
ZUhhbmRsZU9wZW4gPSBUUlVFOw0KPiArICAgIExlYXZlQ3JpdGljYWxTZWN0aW9uKCZDb25zb2xl
LT5Dcml0aWNhbFNlY3Rpb24pOw0KPiArDQo+ICsgICAgaWYgKENvbnNvbGUtPkRldmljZU5hbWUg
PT0gTlVMTCkgew0KPiArICAgICAgICBTdWNjZXNzID0gRGV2aWNlSW9Db250cm9sKENvbnNvbGUt
PkRldmljZUhhbmRsZSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJT0NU
TF9YRU5DT05TX0dFVF9OQU1FLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwNCj4gKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZpY2VOYW1lLA0KPiArICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihEZXZpY2VOYW1lKSwNCj4gKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAmQnl0ZXMsDQo+ICsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgTlVMTCk7DQo+ICsgICAgICAgIGlmICghU3VjY2VzcykNCj4gKyAgICAgICAg
ICAgIGdvdG8gZmFpbDM7DQo+ICsNCj4gKyAgICAgICAgRGV2aWNlTmFtZVtNQVhfUEFUSCAtIDFd
ID0gJ1wwJzsNCj4gKw0KPiArICAgICAgICBDb25zb2xlLT5EZXZpY2VOYW1lID0gX3N0cmR1cChE
ZXZpY2VOYW1lKTsNCj4gKyAgICAgICAgaWYgKENvbnNvbGUtPkRldmljZU5hbWUgPT0gTlVMTCkN
Cj4gKyAgICAgICAgICAgIGdvdG8gZmFpbDQ7DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgRUNITyhD
b25zb2xlLT5EZXZpY2VIYW5kbGUsICJcclxuW0FUVEFDSEVEXVxyXG4iKTsNCj4gKw0KPiArICAg
IENvbnNvbGUtPkRldmljZVRocmVhZCA9IENyZWF0ZVRocmVhZChOVUxMLA0KPiArICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLA0KPiArICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBEZXZpY2VUaHJlYWQsDQo+ICsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIENvbnNvbGUsDQo+ICsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIENSRUFURV9TVVNQRU5ERUQsDQo+ICsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICZUaHJlYWRJZCk7DQoNCkFnYWluLCBkbyB3ZSBu
ZWVkIHRoZSBUaHJlYWRJZD8NCg0KPiArICAgIGlmIChDb25zb2xlLT5EZXZpY2VUaHJlYWQgPT0g
TlVMTCkNCj4gKyAgICAgICAgZ290byBmYWlsNTsNCj4gKw0KPiArICAgIFJlc3VtZVRocmVhZChD
b25zb2xlLT5EZXZpY2VUaHJlYWQpOw0KPiArDQo+ICsgICAgTG9nKCI8PT09PSAlcyIsIENvbnNv
bGUtPkRldmljZU5hbWUpOw0KPiArDQo+ICsgICAgcmV0dXJuIFRSVUU7DQo+ICsNCj4gK2ZhaWw1
Og0KPiArICAgIExvZygiZmFpbDUiKTsNCj4gKw0KPiArICAgIEVDSE8oQ29uc29sZS0+RGV2aWNl
SGFuZGxlLCAiXHJcbltERVRBVENIRURdXHJcbiIpOw0KPiArDQo+ICsgICAgZnJlZShDb25zb2xl
LT5EZXZpY2VOYW1lKTsNCj4gKyAgICBDb25zb2xlLT5EZXZpY2VOYW1lID0gTlVMTDsNCj4gKw0K
PiArZmFpbDQ6DQo+ICsgICAgTG9nKCJmYWlsNCIpOw0KPiArDQo+ICtmYWlsMzoNCj4gKyAgICBM
b2coImZhaWwzIik7DQo+ICsNCj4gKyAgICBFbnRlckNyaXRpY2FsU2VjdGlvbigmQ29uc29sZS0+
Q3JpdGljYWxTZWN0aW9uKTsNCj4gKyAgICBDb25zb2xlLT5EZXZpY2VIYW5kbGVPcGVuID0gRkFM
U0U7DQo+ICsgICAgQ2xvc2VIYW5kbGUoQ29uc29sZS0+RGV2aWNlSGFuZGxlKTsNCj4gKyAgICBM
ZWF2ZUNyaXRpY2FsU2VjdGlvbigmQ29uc29sZS0+Q3JpdGljYWxTZWN0aW9uKTsNCj4gKw0KPiAr
ZmFpbDI6DQo+ICsgICAgTG9nKCJmYWlsMiIpOw0KPiArDQo+ICtmYWlsMToNCj4gKyAgICBMb2co
ImZhaWwxIik7DQo+ICsNCj4gKyAgICByZXR1cm4gRkFMU0U7DQo+ICt9DQo+ICsNCj4gK3N0YXRp
YyBWT0lEDQo+ICtDb25zb2xlQ2xvc2UoDQo+ICsgICAgSU4gIFBNT05JVE9SX0NPTlNPTEUgICAg
Q29uc29sZQ0KPiArICAgICkNCj4gK3sNCj4gKyAgICBMb2coIj09PT0+ICVzIiwgQ29uc29sZS0+
RGV2aWNlTmFtZSk7DQo+ICsNCj4gKyAgICBpZiAoIUNvbnNvbGUtPkRldmljZUhhbmRsZU9wZW4p
DQo+ICsgICAgICAgIGdvdG8gZmFpbDE7DQo+ICsNCj4gKyAgICBTZXRFdmVudChDb25zb2xlLT5E
ZXZpY2VFdmVudCk7DQo+ICsgICAgV2FpdEZvclNpbmdsZU9iamVjdChDb25zb2xlLT5EZXZpY2VU
aHJlYWQsIElORklOSVRFKTsNCj4gKw0KPiArICAgIENsb3NlSGFuZGxlKENvbnNvbGUtPkRldmlj
ZVRocmVhZCk7DQo+ICsgICAgQ29uc29sZS0+RGV2aWNlVGhyZWFkID0gTlVMTDsNCj4gKw0KPiAr
ICAgIEVDSE8oQ29uc29sZS0+RGV2aWNlSGFuZGxlLCAiXHJcbltERVRBQ0hFRF1cclxuIik7DQo+
ICsNCj4gKyAgICBFbnRlckNyaXRpY2FsU2VjdGlvbigmQ29uc29sZS0+Q3JpdGljYWxTZWN0aW9u
KTsNCj4gKyAgICBDb25zb2xlLT5EZXZpY2VIYW5kbGVPcGVuID0gRkFMU0U7DQo+ICsgICAgQ2xv
c2VIYW5kbGUoQ29uc29sZS0+RGV2aWNlSGFuZGxlKTsNCj4gKyAgICBMZWF2ZUNyaXRpY2FsU2Vj
dGlvbigmQ29uc29sZS0+Q3JpdGljYWxTZWN0aW9uKTsNCj4gKw0KPiArICAgIExvZygiPD09PT0g
JXMiLCBDb25zb2xlLT5EZXZpY2VOYW1lKTsNCj4gKyAgICByZXR1cm47DQo+ICsNCj4gK2ZhaWwx
Og0KPiArICAgIExvZygiZmFpbDEiKTsNCj4gK30NCj4gKw0KPiAgc3RhdGljIFBNT05JVE9SX0NP
TlNPTEUNCj4gIENvbnNvbGVDcmVhdGUoDQo+ICAgICAgSU4gIFBXQ0hBUiAgICAgICAgICAgICAg
RGV2aWNlUGF0aA0KPiBAQCAtODQ3LDEwICs5ODksOCBAQCBDb25zb2xlQ3JlYXRlKA0KPiAgICAg
IFBNT05JVE9SX0NPTlRFWFQgICAgICAgIENvbnRleHQgPSAmTW9uaXRvckNvbnRleHQ7DQo+ICAg
ICAgUE1PTklUT1JfQ09OU09MRSAgICAgICAgQ29uc29sZTsNCj4gICAgICBERVZfQlJPQURDQVNU
X0hBTkRMRSAgICBIYW5kbGU7DQo+IC0gICAgQ0hBUiAgICAgICAgICAgICAgICAgICAgRGV2aWNl
TmFtZVtNQVhfUEFUSF07DQo+IC0gICAgRFdPUkQgICAgICAgICAgICAgICAgICAgQnl0ZXM7DQo+
IC0gICAgQk9PTCAgICAgICAgICAgICAgICAgICAgU3VjY2VzczsNCj4gICAgICBIUkVTVUxUICAg
ICAgICAgICAgICAgICBFcnJvcjsNCj4gKyAgICBEV09SRCAgICAgICAgICAgICAgICAgICBUaHJl
YWRJZDsNCg0KQW5kIGFnYWluLg0KDQogIFBhdWwNCg0KPiANCj4gICAgICBMb2coIj09PT0+ICV3
cyIsIERldmljZVBhdGgpOw0KPiANCj4gQEAgLTg2MiwzOSArMTAwMiwzNiBAQCBDb25zb2xlQ3Jl
YXRlKA0KPiAgICAgIF9fSW5pdGlhbGl6ZUxpc3RIZWFkKCZDb25zb2xlLT5MaXN0SGVhZCk7DQo+
ICAgICAgX19Jbml0aWFsaXplTGlzdEhlYWQoJkNvbnNvbGUtPkxpc3RFbnRyeSk7DQo+ICAgICAg
SW5pdGlhbGl6ZUNyaXRpY2FsU2VjdGlvbigmQ29uc29sZS0+Q3JpdGljYWxTZWN0aW9uKTsNCj4g
KyAgICBDb25zb2xlLT5EZXZpY2VIYW5kbGVPcGVuID0gRkFMU0U7DQo+ICsgICAgQ29uc29sZS0+
RGV2aWNlSGFuZGxlID0gSU5WQUxJRF9IQU5ETEVfVkFMVUU7DQo+IA0KPiAtICAgIENvbnNvbGUt
PkRldmljZVBhdGggPSBfd2NzZHVwKERldmljZVBhdGgpOw0KPiAtICAgIGlmIChDb25zb2xlLT5E
ZXZpY2VQYXRoID09IE5VTEwpDQo+ICsgICAgQ29uc29sZS0+RGV2aWNlRXZlbnQgPSBDcmVhdGVF
dmVudChOVUxMLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJV
RSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBTFNFLA0KPiAr
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7DQo+ICsgICAgaWYg
KENvbnNvbGUtPkRldmljZUV2ZW50ID09IE5VTEwpDQo+ICAgICAgICAgIGdvdG8gZmFpbDI7DQo+
IA0KPiAtICAgIENvbnNvbGUtPkRldmljZUhhbmRsZSA9IENyZWF0ZUZpbGVXKERldmljZVBhdGgs
DQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0VORVJJQ19SRUFE
IHwgR0VORVJJQ19XUklURSwNCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBGSUxFX1NIQVJFX1JFQUQgfA0KPiBGSUxFX1NIQVJFX1dSSVRFLA0KPiAtICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsDQo+IC0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgT1BFTl9FWElTVElORywNCj4gLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBGSUxFX0FUVFJJQlVURV9OT1JNQUwsDQo+IC0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7DQo+IC0gICAgaWYgKENv
bnNvbGUtPkRldmljZUhhbmRsZSA9PSBJTlZBTElEX0hBTkRMRV9WQUxVRSkNCj4gKyAgICBDb25z
b2xlLT5TZXJ2ZXJFdmVudCA9IENyZWF0ZUV2ZW50KE5VTEwsDQo+ICsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBUUlVFLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgRkFMU0UsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBOVUxMKTsNCj4gKyAgICBpZiAoQ29uc29sZS0+U2VydmVyRXZlbnQgPT0gTlVMTCkN
Cj4gICAgICAgICAgZ290byBmYWlsMzsNCj4gDQo+IC0gICAgU3VjY2VzcyA9IERldmljZUlvQ29u
dHJvbChDb25zb2xlLT5EZXZpY2VIYW5kbGUsDQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBJT0NUTF9YRU5DT05TX0dFVF9OQU1FLA0KPiAtICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgTlVMTCwNCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsDQo+IC0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZpY2VOYW1lLA0KPiAtICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc2l6ZW9mKERldmljZU5hbWUpLA0KPiAtICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJkJ5dGVzLA0KPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVM
TCk7DQo+IC0gICAgaWYgKCFTdWNjZXNzKQ0KPiArICAgIENvbnNvbGUtPkV4ZWN1dGFibGVFdmVu
dCA9IENyZWF0ZUV2ZW50KE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgVFJVRSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBGQUxTRSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBOVUxMKTsNCj4gKyAgICBpZiAoQ29uc29sZS0+RXhlY3V0YWJsZUV2ZW50ID09IE5VTEwp
DQo+ICAgICAgICAgIGdvdG8gZmFpbDQ7DQo+IA0KPiAtICAgIERldmljZU5hbWVbTUFYX1BBVEgg
LSAxXSA9ICdcMCc7DQo+IC0NCj4gLSAgICBDb25zb2xlLT5EZXZpY2VOYW1lID0gX3N0cmR1cChE
ZXZpY2VOYW1lKTsNCj4gLSAgICBpZiAoQ29uc29sZS0+RGV2aWNlTmFtZSA9PSBOVUxMKQ0KPiAr
ICAgIENvbnNvbGUtPkRldmljZVBhdGggPSBfd2NzZHVwKERldmljZVBhdGgpOw0KPiArICAgIGlm
IChDb25zb2xlLT5EZXZpY2VQYXRoID09IE5VTEwpDQo+ICAgICAgICAgIGdvdG8gZmFpbDU7DQo+
IA0KPiAtICAgIEVDSE8oQ29uc29sZS0+RGV2aWNlSGFuZGxlLCAiXHJcbltBVFRBQ0hFRF1cclxu
Iik7DQo+ICsgICAgaWYgKCFDb25zb2xlT3BlbihDb25zb2xlKSkNCj4gKyAgICAgICAgZ290byBm
YWlsNjsNCj4gDQo+ICAgICAgWmVyb01lbW9yeSgmSGFuZGxlLCBzaXplb2YgKEhhbmRsZSkpOw0K
PiAgICAgIEhhbmRsZS5kYmNoX3NpemUgPSBzaXplb2YgKEhhbmRsZSk7DQo+IEBAIC05MDYsMTE4
ICsxMDQzLDgwIEBAIENvbnNvbGVDcmVhdGUoDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAmSGFuZGxlLA0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgREVWSUNFX05PVElGWV9TRVJWSUNFX0hBTkRMRSk7DQo+ICAgICAgaWYgKENvbnNvbGUtPkRl
dmljZU5vdGlmaWNhdGlvbiA9PSBOVUxMKQ0KPiAtICAgICAgICBnb3RvIGZhaWw2Ow0KPiAtDQo+
IC0gICAgQ29uc29sZS0+RGV2aWNlRXZlbnQgPSBDcmVhdGVFdmVudChOVUxMLA0KPiAtICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJVRSwNCj4gLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIEZBTFNFLA0KPiAtICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgTlVMTCk7DQo+IC0gICAgaWYgKENvbnNvbGUtPkRldmljZUV2ZW50
ID09IE5VTEwpDQo+ICAgICAgICAgIGdvdG8gZmFpbDc7DQo+IA0KPiAtICAgIENvbnNvbGUtPkRl
dmljZVRocmVhZCA9IENyZWF0ZVRocmVhZChOVUxMLA0KPiAtICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAwLA0KPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBEZXZpY2VUaHJlYWQsDQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIENvbnNvbGUsDQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDAsDQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IE5VTEwpOw0KPiAtICAgIGlmIChDb25zb2xlLT5EZXZpY2VUaHJlYWQgPT0gTlVMTCkNCj4gLSAg
ICAgICAgZ290byBmYWlsODsNCj4gLQ0KPiAtICAgIENvbnNvbGUtPlNlcnZlckV2ZW50ID0gQ3Jl
YXRlRXZlbnQoTlVMTCwNCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFRSVUUsDQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGQUxTRSwN
Cj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOw0KPiAtICAg
IGlmIChDb25zb2xlLT5TZXJ2ZXJFdmVudCA9PSBOVUxMKQ0KPiAtICAgICAgICBnb3RvIGZhaWw5
Ow0KPiAtDQo+ICAgICAgQ29uc29sZS0+U2VydmVyVGhyZWFkID0gQ3JlYXRlVGhyZWFkKE5VTEws
DQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsDQo+ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNlcnZlclRocmVhZCwNCj4gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29uc29sZSwNCj4gLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwNCj4gLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7DQo+ICsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIENSRUFURV9TVVNQRU5ERUQsDQo+ICsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICZUaHJlYWRJZCk7DQo+ICAgICAgaWYgKENvbnNv
bGUtPlNlcnZlclRocmVhZCA9PSBOVUxMKQ0KPiAtICAgICAgICBnb3RvIGZhaWwxMDsNCj4gKyAg
ICAgICAgZ290byBmYWlsODsNCj4gDQo+IC0gICAgQ29uc29sZS0+RXhlY3V0YWJsZUV2ZW50ID0g
Q3JlYXRlRXZlbnQoTlVMTCwNCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBUUlVFLA0KPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEZBTFNFLA0KPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IE5VTEwpOw0KPiAtICAgIGlmIChDb25zb2xlLT5FeGVjdXRhYmxlRXZlbnQgPT0gTlVMTCkNCj4g
LSAgICAgICAgZ290byBmYWlsMTE7DQo+ICsgICAgUmVzdW1lVGhyZWFkKENvbnNvbGUtPlNlcnZl
clRocmVhZCk7DQo+IA0KPiAgICAgIENvbnNvbGUtPkV4ZWN1dGFibGVUaHJlYWQgPSBDcmVhdGVU
aHJlYWQoTlVMTCwNCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDAsDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBF
eGVjdXRhYmxlVGhyZWFkLA0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgQ29uc29sZSwNCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDAsDQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBOVUxMKTsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIENSRUFURV9TVVNQRU5ERUQsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAmVGhyZWFkSWQpOw0KPiAgICAgIGlmIChDb25zb2xlLT5FeGVjdXRhYmxl
VGhyZWFkID09IE5VTEwpDQo+IC0gICAgICAgIGdvdG8gZmFpbDEyOw0KPiArICAgICAgICBnb3Rv
IGZhaWw5Ow0KPiArDQo+ICsgICAgUmVzdW1lVGhyZWFkKENvbnNvbGUtPkV4ZWN1dGFibGVUaHJl
YWQpOw0KPiANCj4gICAgICBMb2coIjw9PT09ICVzIiwgQ29uc29sZS0+RGV2aWNlTmFtZSk7DQo+
IA0KPiAgICAgIHJldHVybiBDb25zb2xlOw0KPiANCj4gLWZhaWwxMjoNCj4gLSAgICBMb2coImZh
aWwxMiIpOw0KPiAtDQo+IC0gICAgQ2xvc2VIYW5kbGUoQ29uc29sZS0+RXhlY3V0YWJsZUV2ZW50
KTsNCj4gLSAgICBDb25zb2xlLT5FeGVjdXRhYmxlRXZlbnQgPSBOVUxMOw0KPiAtDQo+IC1mYWls
MTE6DQo+IC0gICAgTG9nKCJmYWlsMTEiKTsNCj4gK2ZhaWw5Og0KPiArICAgIExvZygiZmFpbDki
KTsNCj4gDQo+ICAgICAgU2V0RXZlbnQoQ29uc29sZS0+U2VydmVyRXZlbnQpOw0KPiAgICAgIFdh
aXRGb3JTaW5nbGVPYmplY3QoQ29uc29sZS0+U2VydmVyVGhyZWFkLCBJTkZJTklURSk7DQo+IA0K
PiAtZmFpbDEwOg0KPiAtICAgIExvZygiZmFpbDEwIik7DQo+IC0NCj4gLSAgICBDbG9zZUhhbmRs
ZShDb25zb2xlLT5TZXJ2ZXJFdmVudCk7DQo+IC0gICAgQ29uc29sZS0+U2VydmVyRXZlbnQgPSBO
VUxMOw0KPiAtDQo+IC1mYWlsOToNCj4gLSAgICBMb2coImZhaWw5Iik7DQo+IC0NCj4gLSAgICBT
ZXRFdmVudChDb25zb2xlLT5EZXZpY2VFdmVudCk7DQo+IC0gICAgV2FpdEZvclNpbmdsZU9iamVj
dChDb25zb2xlLT5EZXZpY2VUaHJlYWQsIElORklOSVRFKTsNCj4gKyAgICBDbG9zZUhhbmRsZShD
b25zb2xlLT5TZXJ2ZXJUaHJlYWQpOw0KPiArICAgIENvbnNvbGUtPlNlcnZlclRocmVhZCA9IE5V
TEw7DQo+IA0KPiAgZmFpbDg6DQo+ICAgICAgTG9nKCJmYWlsOCIpOw0KPiANCj4gLSAgICBDbG9z
ZUhhbmRsZShDb25zb2xlLT5EZXZpY2VFdmVudCk7DQo+IC0gICAgQ29uc29sZS0+RGV2aWNlRXZl
bnQgPSBOVUxMOw0KPiArICAgIFVucmVnaXN0ZXJEZXZpY2VOb3RpZmljYXRpb24oQ29uc29sZS0+
RGV2aWNlTm90aWZpY2F0aW9uKTsNCj4gKyAgICBDb25zb2xlLT5EZXZpY2VOb3RpZmljYXRpb24g
PSBOVUxMOw0KPiANCj4gIGZhaWw3Og0KPiAgICAgIExvZygiZmFpbDciKTsNCj4gDQo+IC0gICAg
VW5yZWdpc3RlckRldmljZU5vdGlmaWNhdGlvbihDb25zb2xlLT5EZXZpY2VOb3RpZmljYXRpb24p
Ow0KPiAtICAgIENvbnNvbGUtPkRldmljZU5vdGlmaWNhdGlvbiA9IE5VTEw7DQo+ICsgICAgRW50
ZXJDcml0aWNhbFNlY3Rpb24oJkNvbnNvbGUtPkNyaXRpY2FsU2VjdGlvbik7DQo+ICsgICAgQ29u
c29sZUNsb3NlKENvbnNvbGUpOw0KPiArICAgIENvbnNvbGUtPkRldmljZUhhbmRsZSA9IElOVkFM
SURfSEFORExFX1ZBTFVFOw0KPiArDQo+IA0KPiAgZmFpbDY6DQo+ICAgICAgTG9nKCJmYWlsNiIp
Ow0KPiANCj4gLSAgICBFQ0hPKENvbnNvbGUtPkRldmljZUhhbmRsZSwgIlxyXG5bREVUQUNIRURd
XHJcbiIpOw0KPiAtDQo+ICAgICAgZnJlZShDb25zb2xlLT5EZXZpY2VQYXRoKTsNCj4gICAgICBD
b25zb2xlLT5EZXZpY2VQYXRoID0gTlVMTDsNCj4gDQo+ICBmYWlsNToNCj4gICAgICBMb2coImZh
aWw1Iik7DQo+IA0KPiArICAgIENsb3NlSGFuZGxlKENvbnNvbGUtPkV4ZWN1dGFibGVFdmVudCk7
DQo+ICsgICAgQ29uc29sZS0+RXhlY3V0YWJsZUV2ZW50ID0gTlVMTDsNCj4gKw0KPiAgZmFpbDQ6
DQo+ICAgICAgTG9nKCJmYWlsNCIpOw0KPiANCj4gLSAgICBDbG9zZUhhbmRsZShDb25zb2xlLT5E
ZXZpY2VIYW5kbGUpOw0KPiAtICAgIENvbnNvbGUtPkRldmljZUhhbmRsZSA9IElOVkFMSURfSEFO
RExFX1ZBTFVFOw0KPiArICAgIENsb3NlSGFuZGxlKENvbnNvbGUtPlNlcnZlckV2ZW50KTsNCj4g
KyAgICBDb25zb2xlLT5TZXJ2ZXJFdmVudCA9IE5VTEw7DQo+IA0KPiAgZmFpbDM6DQo+ICAgICAg
TG9nKCJmYWlsMyIpOw0KPiANCj4gLSAgICBmcmVlKENvbnNvbGUtPkRldmljZVBhdGgpOw0KPiAt
ICAgIENvbnNvbGUtPkRldmljZVBhdGggPSBOVUxMOw0KPiArICAgIENsb3NlSGFuZGxlKENvbnNv
bGUtPkRldmljZUV2ZW50KTsNCj4gKyAgICBDb25zb2xlLT5EZXZpY2VFdmVudCA9IE5VTEw7DQo+
IA0KPiAgZmFpbDI6DQo+ICAgICAgTG9nKCJmYWlsMiIpOw0KPiBAQCAtMTA5OSwzMyArMTE5OCwz
MyBAQCBDb25zb2xlRGVzdHJveSgNCj4gICAgICBTZXRFdmVudChDb25zb2xlLT5FeGVjdXRhYmxl
RXZlbnQpOw0KPiAgICAgIFdhaXRGb3JTaW5nbGVPYmplY3QoQ29uc29sZS0+RXhlY3V0YWJsZVRo
cmVhZCwgSU5GSU5JVEUpOw0KPiANCj4gLSAgICBDbG9zZUhhbmRsZShDb25zb2xlLT5FeGVjdXRh
YmxlRXZlbnQpOw0KPiAtICAgIENvbnNvbGUtPkV4ZWN1dGFibGVFdmVudCA9IE5VTEw7DQo+ICsg
ICAgQ2xvc2VIYW5kbGUoQ29uc29sZS0+RXhlY3V0YWJsZVRocmVhZCk7DQo+ICsgICAgQ29uc29s
ZS0+RXhlY3V0YWJsZVRocmVhZCA9IE5VTEw7DQo+IA0KPiAgICAgIENvbnNvbGVXYWl0Rm9yUGlw
ZXMoQ29uc29sZSk7DQo+IA0KPiAtICAgIENsb3NlSGFuZGxlKENvbnNvbGUtPlNlcnZlckV2ZW50
KTsNCj4gLSAgICBDb25zb2xlLT5TZXJ2ZXJFdmVudCA9IE5VTEw7DQo+IC0NCj4gLSAgICBTZXRF
dmVudChDb25zb2xlLT5EZXZpY2VFdmVudCk7DQo+IC0gICAgV2FpdEZvclNpbmdsZU9iamVjdChD
b25zb2xlLT5EZXZpY2VUaHJlYWQsIElORklOSVRFKTsNCj4gLQ0KPiAtICAgIENsb3NlSGFuZGxl
KENvbnNvbGUtPkRldmljZUV2ZW50KTsNCj4gLSAgICBDb25zb2xlLT5EZXZpY2VFdmVudCA9IE5V
TEw7DQo+ICsgICAgQ2xvc2VIYW5kbGUoQ29uc29sZS0+U2VydmVyVGhyZWFkKTsNCj4gKyAgICBD
b25zb2xlLT5TZXJ2ZXJUaHJlYWQgPSBOVUxMOw0KPiANCj4gICAgICBVbnJlZ2lzdGVyRGV2aWNl
Tm90aWZpY2F0aW9uKENvbnNvbGUtPkRldmljZU5vdGlmaWNhdGlvbik7DQo+ICAgICAgQ29uc29s
ZS0+RGV2aWNlTm90aWZpY2F0aW9uID0gTlVMTDsNCj4gDQo+IC0gICAgRUNITyhDb25zb2xlLT5E
ZXZpY2VIYW5kbGUsICJcclxuW0RFVEFDSEVEXVxyXG4iKTsNCj4gKyAgICBmcmVlKENvbnNvbGUt
PkRldmljZU5hbWUpOw0KPiArICAgIENvbnNvbGUtPkRldmljZU5hbWUgPSBOVUxMOw0KPiANCj4g
ICAgICBmcmVlKENvbnNvbGUtPkRldmljZVBhdGgpOw0KPiAgICAgIENvbnNvbGUtPkRldmljZVBh
dGggPSBOVUxMOw0KPiANCj4gLSAgICBDbG9zZUhhbmRsZShDb25zb2xlLT5EZXZpY2VIYW5kbGUp
Ow0KPiAgICAgIENvbnNvbGUtPkRldmljZUhhbmRsZSA9IElOVkFMSURfSEFORExFX1ZBTFVFOw0K
PiANCj4gLSAgICBmcmVlKENvbnNvbGUtPkRldmljZVBhdGgpOw0KPiAtICAgIENvbnNvbGUtPkRl
dmljZVBhdGggPSBOVUxMOw0KPiArICAgIENsb3NlSGFuZGxlKENvbnNvbGUtPkV4ZWN1dGFibGVF
dmVudCk7DQo+ICsgICAgQ29uc29sZS0+RXhlY3V0YWJsZUV2ZW50ID0gTlVMTDsNCj4gKw0KPiAr
ICAgIENsb3NlSGFuZGxlKENvbnNvbGUtPlNlcnZlckV2ZW50KTsNCj4gKyAgICBDb25zb2xlLT5T
ZXJ2ZXJFdmVudCA9IE5VTEw7DQo+ICsNCj4gKyAgICBDbG9zZUhhbmRsZShDb25zb2xlLT5EZXZp
Y2VFdmVudCk7DQo+ICsgICAgQ29uc29sZS0+RGV2aWNlRXZlbnQgPSBOVUxMOw0KPiANCj4gICAg
ICBEZWxldGVDcml0aWNhbFNlY3Rpb24oJkNvbnNvbGUtPkNyaXRpY2FsU2VjdGlvbik7DQo+ICAg
ICAgWmVyb01lbW9yeSgmQ29uc29sZS0+TGlzdEhlYWQsIHNpemVvZihMSVNUX0VOVFJZKSk7DQo+
IEBAIC0xMTM2LDYgKzEyMzUsODggQEAgQ29uc29sZURlc3Ryb3koDQo+ICAgICAgTG9nKCI8PT09
PSIpOw0KPiAgfQ0KPiANCj4gK3N0YXRpYyBCT09MDQo+ICtNb25pdG9yT3BlbigNCj4gKyAgICBJ
TiAgSEFORExFICAgICAgICAgIERldmljZUhhbmRsZQ0KPiArICAgICkNCj4gK3sNCj4gKyAgICBQ
TU9OSVRPUl9DT05URVhUICAgIENvbnRleHQgPSAmTW9uaXRvckNvbnRleHQ7DQo+ICsgICAgUE1P
TklUT1JfQ09OU09MRSAgICBDb25zb2xlOw0KPiArICAgIFBMSVNUX0VOVFJZICAgICAgICAgTGlz
dEVudHJ5Ow0KPiArDQo+ICsgICAgTG9nKCI9PT09PT4gMHglcCIsIERldmljZUhhbmRsZSk7DQo+
ICsNCj4gKyAgICBFbnRlckNyaXRpY2FsU2VjdGlvbigmQ29udGV4dC0+Q3JpdGljYWxTZWN0aW9u
KTsNCj4gKyAgICBmb3IgKExpc3RFbnRyeSA9IENvbnRleHQtPkxpc3RIZWFkLkZsaW5rOw0KPiAr
ICAgICAgICBMaXN0RW50cnkgIT0gJkNvbnRleHQtPkxpc3RIZWFkOw0KPiArICAgICAgICBMaXN0
RW50cnkgPSBMaXN0RW50cnktPkZsaW5rKSB7DQo+ICsgICAgICAgIENvbnNvbGUgPSBDT05UQUlO
SU5HX1JFQ09SRChMaXN0RW50cnksDQo+ICsgICAgICAgICAgICBNT05JVE9SX0NPTlNPTEUsDQo+
ICsgICAgICAgICAgICBMaXN0RW50cnkpOw0KPiArDQo+ICsgICAgICAgIGlmIChDb25zb2xlLT5E
ZXZpY2VIYW5kbGUgPT0gRGV2aWNlSGFuZGxlKQ0KPiArICAgICAgICAgICAgZ290byBmb3VuZDsN
Cj4gKyAgICB9DQo+ICsgICAgTGVhdmVDcml0aWNhbFNlY3Rpb24oJkNvbnRleHQtPkNyaXRpY2Fs
U2VjdGlvbik7DQo+ICsNCj4gKyAgICBMb2coIkRldmljZUhhbmRsZSAweCVwIG5vdCBmb3VuZCIs
IERldmljZUhhbmRsZSk7DQo+ICsNCj4gKyAgICByZXR1cm4gRkFMU0U7DQo+ICsNCj4gK2ZvdW5k
Og0KPiArICAgIExlYXZlQ3JpdGljYWxTZWN0aW9uKCZDb250ZXh0LT5Dcml0aWNhbFNlY3Rpb24p
Ow0KPiArDQo+ICsgICAgaWYgKCFDb25zb2xlT3BlbihDb25zb2xlKSkNCj4gKyAgICAgICAgZ290
byBmYWlsMTsNCj4gKw0KPiArICAgIExvZygiPD09PT09Iik7DQo+ICsNCj4gKyAgICByZXR1cm4g
VFJVRTsNCj4gKw0KPiArZmFpbDE6DQo+ICsgICAgTG9nKCJmYWlsMSIpOw0KPiArDQo+ICsgICAg
cmV0dXJuIEZBTFNFOw0KPiArfQ0KPiArDQo+ICtzdGF0aWMgQk9PTA0KPiArTW9uaXRvckNsb3Nl
KA0KPiArICAgIElOICBIQU5ETEUgICAgICAgICAgRGV2aWNlSGFuZGxlDQo+ICsgICAgKQ0KPiAr
ew0KPiArICAgIFBNT05JVE9SX0NPTlRFWFQgICAgQ29udGV4dCA9ICZNb25pdG9yQ29udGV4dDsN
Cj4gKyAgICBQTU9OSVRPUl9DT05TT0xFICAgIENvbnNvbGU7DQo+ICsgICAgUExJU1RfRU5UUlkg
ICAgICAgICBMaXN0RW50cnk7DQo+ICsNCj4gKyAgICBMb2coIj09PT09PiAweCVwIiwgRGV2aWNl
SGFuZGxlKTsNCj4gKw0KPiArICAgIEVudGVyQ3JpdGljYWxTZWN0aW9uKCZDb250ZXh0LT5Dcml0
aWNhbFNlY3Rpb24pOw0KPiArICAgIGZvciAoTGlzdEVudHJ5ID0gQ29udGV4dC0+TGlzdEhlYWQu
Rmxpbms7DQo+ICsgICAgICAgIExpc3RFbnRyeSAhPSAmQ29udGV4dC0+TGlzdEhlYWQ7DQo+ICsg
ICAgICAgIExpc3RFbnRyeSA9IExpc3RFbnRyeS0+RmxpbmspIHsNCj4gKyAgICAgICAgQ29uc29s
ZSA9IENPTlRBSU5JTkdfUkVDT1JEKExpc3RFbnRyeSwNCj4gKyAgICAgICAgICAgIE1PTklUT1Jf
Q09OU09MRSwNCj4gKyAgICAgICAgICAgIExpc3RFbnRyeSk7DQo+ICsNCj4gKyAgICAgICAgaWYg
KENvbnNvbGUtPkRldmljZUhhbmRsZSA9PSBEZXZpY2VIYW5kbGUpDQo+ICsgICAgICAgICAgICBn
b3RvIGZvdW5kOw0KPiArICAgIH0NCj4gKyAgICBMZWF2ZUNyaXRpY2FsU2VjdGlvbigmQ29udGV4
dC0+Q3JpdGljYWxTZWN0aW9uKTsNCj4gKw0KPiArICAgIExvZygiRGV2aWNlSGFuZGxlIDB4JXAg
bm90IGZvdW5kIiwgRGV2aWNlSGFuZGxlKTsNCj4gKw0KPiArICAgIHJldHVybiBGQUxTRTsNCj4g
Kw0KPiArZm91bmQ6DQo+ICsgICAgTGVhdmVDcml0aWNhbFNlY3Rpb24oJkNvbnRleHQtPkNyaXRp
Y2FsU2VjdGlvbik7DQo+ICsNCj4gKyAgICBDb25zb2xlQ2xvc2UoQ29uc29sZSk7DQo+ICsNCj4g
KyAgICBMb2coIjw9PT09PSIpOw0KPiArDQo+ICsgICAgcmV0dXJuIFRSVUU7DQo+ICt9DQo+ICsN
Cj4gIHN0YXRpYyBCT09MDQo+ICBNb25pdG9yQWRkKA0KPiAgICAgIElOICBQV0NIQVIgICAgICAg
ICAgRGV2aWNlUGF0aA0KPiBAQCAtMTM0Miw2ICsxNTIzLDcgQEAgTW9uaXRvclJlbW92ZUFsbCgN
Cj4gDQo+ICAgICAgICAgIExlYXZlQ3JpdGljYWxTZWN0aW9uKCZDb250ZXh0LT5Dcml0aWNhbFNl
Y3Rpb24pOw0KPiANCj4gKyAgICAgICAgQ29uc29sZUNsb3NlKENvbnNvbGUpOw0KPiAgICAgICAg
ICBDb25zb2xlRGVzdHJveShDb25zb2xlKTsNCj4gICAgICB9DQo+ICAgICAgTGVhdmVDcml0aWNh
bFNlY3Rpb24oJkNvbnRleHQtPkNyaXRpY2FsU2VjdGlvbik7DQo+IEBAIC0xMzg2LDcgKzE1Njgs
MjMgQEAgTW9uaXRvckN0cmxIYW5kbGVyRXgoDQo+ICAgICAgICAgICAgICB9DQo+ICAgICAgICAg
ICAgICBicmVhazsNCj4gDQo+ICsgICAgICAgIGNhc2UgREJUX0RFVklDRVFVRVJZUkVNT1ZFRkFJ
TEVEOg0KPiArICAgICAgICAgICAgaWYgKEhlYWRlci0+ZGJjaF9kZXZpY2V0eXBlID09IERCVF9E
RVZUWVBfSEFORExFKSB7DQo+ICsgICAgICAgICAgICAgICAgUERFVl9CUk9BRENBU1RfSEFORExF
IERldmljZSA9IEV2ZW50RGF0YTsNCj4gKw0KPiArICAgICAgICAgICAgICAgIE1vbml0b3JPcGVu
KERldmljZS0+ZGJjaF9oYW5kbGUpOw0KPiArICAgICAgICAgICAgICAgIC8vIHNob3VsZCBjaGVj
ayByZXR1cm4gLSBPcGVuIGNhbiBmYWlsIQ0KPiArICAgICAgICAgICAgfQ0KPiArICAgICAgICAg
ICAgYnJlYWs7DQo+ICsNCj4gICAgICAgICAgY2FzZSBEQlRfREVWSUNFUVVFUllSRU1PVkU6DQo+
ICsgICAgICAgICAgICBpZiAoSGVhZGVyLT5kYmNoX2RldmljZXR5cGUgPT0gREJUX0RFVlRZUF9I
QU5ETEUpIHsNCj4gKyAgICAgICAgICAgICAgICBQREVWX0JST0FEQ0FTVF9IQU5ETEUgRGV2aWNl
ID0gRXZlbnREYXRhOw0KPiArDQo+ICsgICAgICAgICAgICAgICAgTW9uaXRvckNsb3NlKERldmlj
ZS0+ZGJjaF9oYW5kbGUpOw0KPiArICAgICAgICAgICAgfQ0KPiArICAgICAgICAgICAgYnJlYWs7
DQo+ICsNCj4gICAgICAgICAgY2FzZSBEQlRfREVWSUNFUkVNT1ZFUEVORElORzoNCj4gICAgICAg
ICAgY2FzZSBEQlRfREVWSUNFUkVNT1ZFQ09NUExFVEU6DQo+ICAgICAgICAgICAgICBpZiAoSGVh
ZGVyLT5kYmNoX2RldmljZXR5cGUgPT0gREJUX0RFVlRZUF9IQU5ETEUpIHsNCj4gLS0NCj4gMi4x
Ni4yLndpbmRvd3MuMQ0KPiANCj4gDQo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fDQo+IHdpbi1wdi1kZXZlbCBtYWlsaW5nIGxpc3QNCj4gd2luLXB2LWRl
dmVsQGxpc3RzLnhlbnByb2plY3Qub3JnDQo+IGh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcv
bWFpbG1hbi9saXN0aW5mby93aW4tcHYtZGV2ZWwNCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCndpbi1wdi1kZXZlbCBtYWlsaW5nIGxpc3QKd2luLXB2LWRl
dmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFp
bG1hbi9saXN0aW5mby93aW4tcHYtZGV2ZWw=

From win-pv-devel-bounces@lists.xenproject.org Thu Nov 08 10:42:03 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 08 Nov 2018 10:42:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1gKhlB-00065K-5o; Thu, 08 Nov 2018 10:42:01 +0000
Received: from winpvdrvbuild.xenproject.org ([162.242.160.44])
 by lists.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <paul.durrant@xenproject.org>) id 1gKhlA-00065F-Px
 for win-pv-devel@lists.xenproject.org; Thu, 08 Nov 2018 10:42:00 +0000
Date: Thu, 8 Nov 2018 10:42:06 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <9731460.13.1541673727194.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_12_14111427.1541673726694"
X-Jenkins-Job: XENCONS-master
X-Jenkins-Result: SUCCESS
Subject: [win-pv-devel] XENCONS-master - Build #22 - Successful
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

------=_Part_12_14111427.1541673726694
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The build system has completed build #22.

Check console output at https://winpvdrvbuild.xenproject.org:8080/job/XENCONS-master/22/console to view the results.
------=_Part_12_14111427.1541673726694
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

------=_Part_12_14111427.1541673726694--


From win-pv-devel-bounces@lists.xenproject.org Sun Nov 18 14:47:48 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 18 Nov 2018 14:47:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1gOOMT-0002SW-7H; Sun, 18 Nov 2018 14:47:45 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=61wy=n5=pilsgenuss.de=hauser@srs-us1.protection.inumbo.net>)
 id 1gOOMS-0002SR-8w
 for win-pv-devel@lists.xenproject.org; Sun, 18 Nov 2018 14:47:44 +0000
X-Inumbo-ID: e6055bdf-eb40-11e8-9a16-bc764e045a96
Received: from mail.helena.bloombox.de (unknown [195.5.191.48])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id e6055bdf-eb40-11e8-9a16-bc764e045a96;
 Sun, 18 Nov 2018 14:47:41 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mail.helena.bloombox.de (Postfix) with ESMTP id 33B78174820
 for <win-pv-devel@lists.xenproject.org>; Sun, 18 Nov 2018 15:47:40 +0100 (CET)
X-Virus-Scanned: Debian amavisd-new at .
Received: from mail.helena.bloombox.de ([127.0.0.1])
 by localhost (helena.bloombox.de [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id 7ljph8n6k-da for <win-pv-devel@lists.xenproject.org>;
 Sun, 18 Nov 2018 15:47:39 +0100 (CET)
Received: from Antigone (ip-176-199-211-236.hsi06.unitymediagroup.de
 [176.199.211.236])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mail.helena.bloombox.de (Postfix) with ESMTPSA id 4277C17481F
 for <win-pv-devel@lists.xenproject.org>; Sun, 18 Nov 2018 15:47:39 +0100 (CET)
From: "Jens Hauser" <hauser@pilsgenuss.de>
To: <win-pv-devel@lists.xenproject.org>
Date: Sun, 18 Nov 2018 15:46:41 +0100
Message-ID: <008d01d47f4d$84f057e0$8ed107a0$@pilsgenuss.de>
MIME-Version: 1.0
X-Mailer: Microsoft Outlook 14.0
Thread-Index: AdR/SHNxEW0cmg+RReO+P47CkmAe0g==
Content-Language: de
Subject: [win-pv-devel] Xen 4.4.4 + Win PV Drivers 8.2.1 + Windows Server
 2016 - Only Safe Mode working
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============8302621828337190041=="
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

This is a multipart message in MIME format.

--===============8302621828337190041==
Content-Type: multipart/alternative;
	boundary="----=_NextPart_000_008E_01D47F55.E6B6BBB0"
Content-Language: de

This is a multipart message in MIME format.

------=_NextPart_000_008E_01D47F55.E6B6BBB0
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit

Hello List,

 

I had a Windows Server 2016 as a DomU on a Debian 8.11 now up and running
for about 6 month without any problems. The system contains an Exchange
Server - everything worked smooth.

 

On last Friday the system seems to have rebooted due to Windows updates
automatically installed. After that I found the server freezed in a screen
with the no longer animated icons.

Another 2012 R2 server was running fine without any problems.

 

So I tried to find out whats wrong and narrowed it down tot he network
driver as far as I can tell. I found entries in ntbtlog.txt which said that
"AFD.SYS" was not loaded at boot.

The first tries I was unable to boot into safe mode. After a few hickups the
system booted into Safe Mode saying that an upgrade didn't work and that it
was to be rolled back. After that I was able to get into Safe Mode but first
only the one without network drivers.

 

If I disable Realtek RTL8139 C network card I can boot into normal
operation. With this network card enabled the boot hangs as before.

 

After installation of Xen Project Win PV drivers 8.2.1 all the necessary
devices where found but a reboot leads tot he Windows screen with the
animated icons floating endlessly.

 

It all seems to be related to network stuff. There is this Realtek Card
which needs to be disabled and it's not vanishing if I install the PV
drivers - even if the Xen PV Network Device #0 is showing up the Realtek
Card is still there.

 

Is there any chance to fix this issue? Or do I need to install the server as
a new system?

 

Kind regards,

Jens

 


------=_NextPart_000_008E_01D47F55.E6B6BBB0
Content-Type: text/html;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" =
xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" =
xmlns=3D"http://www.w3.org/TR/REC-html40"><head><meta =
http-equiv=3DContent-Type content=3D"text/html; =
charset=3Dus-ascii"><meta name=3DGenerator content=3D"Microsoft Word 14 =
(filtered medium)"><style><!--
/* Font Definitions */
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
span.E-MailFormatvorlage17
	{mso-style-type:personal-compose;
	font-family:"Calibri","sans-serif";
	color:windowtext;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-family:"Calibri","sans-serif";
	mso-fareast-language:EN-US;}
@page WordSection1
	{size:612.0pt 792.0pt;
	margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]--></head><body lang=3DDE link=3Dblue =
vlink=3Dpurple><div class=3DWordSection1><p class=3DMsoNormal>Hello =
List,<o:p></o:p></p><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><p =
class=3DMsoNormal>I had a Windows Server 2016 as a DomU on a Debian 8.11 =
now up and running for about 6 month without any problems. The system =
contains an Exchange Server &#8211; everything worked =
smooth.<o:p></o:p></p><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><p =
class=3DMsoNormal>On last Friday the system seems to have rebooted due =
to Windows updates automatically installed. After that I found the =
server freezed in a screen with the no longer animated =
icons.<o:p></o:p></p><p class=3DMsoNormal>Another 2012 R2 server was =
running fine without any problems.<o:p></o:p></p><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal>So I tried =
to find out whats wrong and narrowed it down tot he network driver as =
far as I can tell. I found entries in ntbtlog.txt which said that =
&#8222;AFD.SYS&#8220; was not loaded at boot.<o:p></o:p></p><p =
class=3DMsoNormal>The first tries I was unable to boot into safe mode. =
After a few hickups the system booted into Safe Mode saying that an =
upgrade didn&#8217;t work and that it was to be rolled back. After that =
I was able to get into Safe Mode but first only the one without network =
drivers.<o:p></o:p></p><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><p =
class=3DMsoNormal>If I disable Realtek RTL8139 C network card I can boot =
into normal operation. With this network card enabled the boot hangs as =
before.<o:p></o:p></p><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><p =
class=3DMsoNormal>After installation of Xen Project Win PV drivers 8.2.1 =
all the necessary devices where found but a reboot leads tot he Windows =
screen with the animated icons floating endlessly.<o:p></o:p></p><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal>It all seems =
to be related to network stuff. There is this Realtek Card which needs =
to be disabled and it&#8217;s not vanishing if I install the PV drivers =
&#8211; even if the Xen PV Network Device #0 is showing up the Realtek =
Card is still there.<o:p></o:p></p><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal>Is there any =
chance to fix this issue? Or do I need to install the server as a new =
system?<o:p></o:p></p><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><p =
class=3DMsoNormal>Kind regards,<o:p></o:p></p><p =
class=3DMsoNormal>Jens<o:p></o:p></p><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p></div></body></html>
------=_NextPart_000_008E_01D47F55.E6B6BBB0--



--===============8302621828337190041==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

--===============8302621828337190041==--



From win-pv-devel-bounces@lists.xenproject.org Sun Nov 18 16:35:01 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 18 Nov 2018 16:35:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1gOQ2F-0002Jt-SL; Sun, 18 Nov 2018 16:34:59 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=61wy=n5=pilsgenuss.de=hauser@srs-us1.protection.inumbo.net>)
 id 1gOQ2F-0002Jo-0f
 for win-pv-devel@lists.xenproject.org; Sun, 18 Nov 2018 16:34:59 +0000
X-Inumbo-ID: e13c3178-eb4f-11e8-9a16-bc764e045a96
Received: from mail.helena.bloombox.de (unknown [195.5.191.48])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id e13c3178-eb4f-11e8-9a16-bc764e045a96;
 Sun, 18 Nov 2018 16:34:55 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mail.helena.bloombox.de (Postfix) with ESMTP id 82AB0174909
 for <win-pv-devel@lists.xenproject.org>; Sun, 18 Nov 2018 17:34:54 +0100 (CET)
X-Virus-Scanned: Debian amavisd-new at .
Received: from mail.helena.bloombox.de ([127.0.0.1])
 by localhost (helena.bloombox.de [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id AN-lql_A6YFU for <win-pv-devel@lists.xenproject.org>;
 Sun, 18 Nov 2018 17:34:53 +0100 (CET)
Received: from Antigone (ip-176-199-211-236.hsi06.unitymediagroup.de
 [176.199.211.236])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mail.helena.bloombox.de (Postfix) with ESMTPSA id 8F1CD174908
 for <win-pv-devel@lists.xenproject.org>; Sun, 18 Nov 2018 17:34:53 +0100 (CET)
From: "Jens Hauser" <hauser@pilsgenuss.de>
To: <win-pv-devel@lists.xenproject.org>
References: <008d01d47f4d$84f057e0$8ed107a0$@pilsgenuss.de>
In-Reply-To: <008d01d47f4d$84f057e0$8ed107a0$@pilsgenuss.de>
Date: Sun, 18 Nov 2018 17:33:55 +0100
Message-ID: <00e101d47f5c$7fa16770$7ee43650$@pilsgenuss.de>
MIME-Version: 1.0
X-Mailer: Microsoft Outlook 14.0
Thread-Index: AQG7WILubqTpndTGk5m9SVRuznrFSqWIB30A
Content-Language: de
Subject: Re: [win-pv-devel] Xen 4.4.4 + Win PV Drivers 8.2.1 + Windows
 Server 2016 - Only Safe Mode working
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============2148155344287231567=="
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

This is a multipart message in MIME format.

--===============2148155344287231567==
Content-Type: multipart/alternative;
	boundary="----=_NextPart_000_00E2_01D47F64.E16707F0"
Content-Language: de

This is a multipart message in MIME format.

------=_NextPart_000_00E2_01D47F64.E16707F0
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit

BTW: This seems to be the same problem:

 

https://discussions.citrix.com/topic/395149-windows-10-updates-reverts-nic-t
o-realtek-driver/

 

But I'm afraid I cannot upgrade my Xen so easily as I am pinned to the
stable branch of Debian. Maybe I'll give it a try with Debian 9 .

 

Kind regards,

Jens

 

 

Von: win-pv-devel [mailto:win-pv-devel-bounces@lists.xenproject.org] Im
Auftrag von Jens Hauser
Gesendet: Sonntag, 18. November 2018 15:47
An: win-pv-devel@lists.xenproject.org
Betreff: [win-pv-devel] Xen 4.4.4 + Win PV Drivers 8.2.1 + Windows Server
2016 - Only Safe Mode working

 

Hello List,

 

I had a Windows Server 2016 as a DomU on a Debian 8.11 now up and running
for about 6 month without any problems. The system contains an Exchange
Server - everything worked smooth.

 

On last Friday the system seems to have rebooted due to Windows updates
automatically installed. After that I found the server freezed in a screen
with the no longer animated icons.

Another 2012 R2 server was running fine without any problems.

 

So I tried to find out whats wrong and narrowed it down tot he network
driver as far as I can tell. I found entries in ntbtlog.txt which said that
"AFD.SYS" was not loaded at boot.

The first tries I was unable to boot into safe mode. After a few hickups the
system booted into Safe Mode saying that an upgrade didn't work and that it
was to be rolled back. After that I was able to get into Safe Mode but first
only the one without network drivers.

 

If I disable Realtek RTL8139 C network card I can boot into normal
operation. With this network card enabled the boot hangs as before.

 

After installation of Xen Project Win PV drivers 8.2.1 all the necessary
devices where found but a reboot leads tot he Windows screen with the
animated icons floating endlessly.

 

It all seems to be related to network stuff. There is this Realtek Card
which needs to be disabled and it's not vanishing if I install the PV
drivers - even if the Xen PV Network Device #0 is showing up the Realtek
Card is still there.

 

Is there any chance to fix this issue? Or do I need to install the server as
a new system?

 

Kind regards,

Jens

 


------=_NextPart_000_00E2_01D47F64.E16707F0
Content-Type: text/html;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" =
xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" =
xmlns=3D"http://www.w3.org/TR/REC-html40"><head><META =
HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Dus-ascii"><meta name=3DGenerator content=3D"Microsoft Word 14 =
(filtered medium)"><style><!--
/* Font Definitions */
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
span.E-MailFormatvorlage17
	{mso-style-type:personal;
	font-family:"Calibri","sans-serif";
	color:windowtext;}
span.E-MailFormatvorlage18
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:612.0pt 792.0pt;
	margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]--></head><body lang=3DDE link=3Dblue =
vlink=3Dpurple><div class=3DWordSection1><p class=3DMsoNormal><span =
style=3D'color:#1F497D'>BTW: This seems to be the same =
problem:<o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'color:#1F497D'><o:p>&nbsp;</o:p></span></p><p =
class=3DMsoNormal><span style=3D'color:#1F497D'><a =
href=3D"https://discussions.citrix.com/topic/395149-windows-10-updates-re=
verts-nic-to-realtek-driver/">https://discussions.citrix.com/topic/395149=
-windows-10-updates-reverts-nic-to-realtek-driver/</a><o:p></o:p></span><=
/p><p class=3DMsoNormal><span =
style=3D'color:#1F497D'><o:p>&nbsp;</o:p></span></p><p =
class=3DMsoNormal><span style=3D'color:#1F497D'>But I&#8217;m afraid I =
cannot upgrade my Xen so easily as I am pinned to the stable branch of =
Debian. Maybe I&#8217;ll give it a try with Debian 9 =
&#8230;<o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'color:#1F497D'><o:p>&nbsp;</o:p></span></p><p =
class=3DMsoNormal><span style=3D'color:#1F497D'>Kind =
regards,<o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'color:#1F497D'>Jens<o:p></o:p></span></p><p =
class=3DMsoNormal><span =
style=3D'color:#1F497D'><o:p>&nbsp;</o:p></span></p><p =
class=3DMsoNormal><span =
style=3D'color:#1F497D'><o:p>&nbsp;</o:p></span></p><div =
style=3D'border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm =
4.0pt'><div><div style=3D'border:none;border-top:solid #B5C4DF =
1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=3DMsoNormal><b><span =
style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif";mso-fareast-l=
anguage:DE'>Von:</span></b><span =
style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif";mso-fareast-l=
anguage:DE'> win-pv-devel =
[mailto:win-pv-devel-bounces@lists.xenproject.org] <b>Im Auftrag von =
</b>Jens Hauser<br><b>Gesendet:</b> Sonntag, 18. November 2018 =
15:47<br><b>An:</b> win-pv-devel@lists.xenproject.org<br><b>Betreff:</b> =
[win-pv-devel] Xen 4.4.4 + Win PV Drivers 8.2.1 + Windows Server 2016 - =
Only Safe Mode working<o:p></o:p></span></p></div></div><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal>Hello =
List,<o:p></o:p></p><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><p =
class=3DMsoNormal>I had a Windows Server 2016 as a DomU on a Debian 8.11 =
now up and running for about 6 month without any problems. The system =
contains an Exchange Server &#8211; everything worked =
smooth.<o:p></o:p></p><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><p =
class=3DMsoNormal>On last Friday the system seems to have rebooted due =
to Windows updates automatically installed. After that I found the =
server freezed in a screen with the no longer animated =
icons.<o:p></o:p></p><p class=3DMsoNormal>Another 2012 R2 server was =
running fine without any problems.<o:p></o:p></p><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal>So I tried =
to find out whats wrong and narrowed it down tot he network driver as =
far as I can tell. I found entries in ntbtlog.txt which said that =
&#8222;AFD.SYS&#8220; was not loaded at boot.<o:p></o:p></p><p =
class=3DMsoNormal>The first tries I was unable to boot into safe mode. =
After a few hickups the system booted into Safe Mode saying that an =
upgrade didn&#8217;t work and that it was to be rolled back. After that =
I was able to get into Safe Mode but first only the one without network =
drivers.<o:p></o:p></p><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><p =
class=3DMsoNormal>If I disable Realtek RTL8139 C network card I can boot =
into normal operation. With this network card enabled the boot hangs as =
before.<o:p></o:p></p><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><p =
class=3DMsoNormal>After installation of Xen Project Win PV drivers 8.2.1 =
all the necessary devices where found but a reboot leads tot he Windows =
screen with the animated icons floating endlessly.<o:p></o:p></p><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal>It all seems =
to be related to network stuff. There is this Realtek Card which needs =
to be disabled and it&#8217;s not vanishing if I install the PV drivers =
&#8211; even if the Xen PV Network Device #0 is showing up the Realtek =
Card is still there.<o:p></o:p></p><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal>Is there any =
chance to fix this issue? Or do I need to install the server as a new =
system?<o:p></o:p></p><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><p =
class=3DMsoNormal>Kind regards,<o:p></o:p></p><p =
class=3DMsoNormal>Jens<o:p></o:p></p><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p></div></div></body></html>
------=_NextPart_000_00E2_01D47F64.E16707F0--



--===============2148155344287231567==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

--===============2148155344287231567==--



From win-pv-devel-bounces@lists.xenproject.org Sun Nov 18 17:40:13 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 18 Nov 2018 17:40:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1gOR3L-0007MS-A1; Sun, 18 Nov 2018 17:40:11 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=61Wy=N5=pilsgenuss.de=hauser@srs-us1.protection.inumbo.net>)
 id 1gOR3K-0007MK-0p
 for win-pv-devel@lists.xenproject.org; Sun, 18 Nov 2018 17:40:10 +0000
X-Inumbo-ID: fd5914f2-eb58-11e8-b1d2-12d6303a7972
Received: from mail.helena.bloombox.de (unknown [195.5.191.48])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id fd5914f2-eb58-11e8-b1d2-12d6303a7972;
 Sun, 18 Nov 2018 17:40:08 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mail.helena.bloombox.de (Postfix) with ESMTP id 4C9051749A5
 for <win-pv-devel@lists.xenproject.org>; Sun, 18 Nov 2018 18:40:07 +0100 (CET)
X-Virus-Scanned: Debian amavisd-new at .
Received: from mail.helena.bloombox.de ([127.0.0.1])
 by localhost (helena.bloombox.de [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id MdJ-JI02ZJPq for <win-pv-devel@lists.xenproject.org>;
 Sun, 18 Nov 2018 18:40:06 +0100 (CET)
Received: from Antigone (ip-176-199-211-236.hsi06.unitymediagroup.de
 [176.199.211.236])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mail.helena.bloombox.de (Postfix) with ESMTPSA id 4A5731749A4
 for <win-pv-devel@lists.xenproject.org>; Sun, 18 Nov 2018 18:40:06 +0100 (CET)
From: "Jens Hauser" <hauser@pilsgenuss.de>
To: <win-pv-devel@lists.xenproject.org>
References: <008d01d47f4d$84f057e0$8ed107a0$@pilsgenuss.de>
 <00e101d47f5c$7fa16770$7ee43650$@pilsgenuss.de>
In-Reply-To: <00e101d47f5c$7fa16770$7ee43650$@pilsgenuss.de>
Date: Sun, 18 Nov 2018 18:39:07 +0100
Message-ID: <011b01d47f65$9bd18110$d3748330$@pilsgenuss.de>
MIME-Version: 1.0
X-Mailer: Microsoft Outlook 14.0
Thread-Index: AQG7WILubqTpndTGk5m9SVRuznrFSgJIL627pXXVFIA=
Content-Language: de
Subject: Re: [win-pv-devel] Xen 4.4.4 + Win PV Drivers 8.2.1 + Windows
 Server 2016 - Only Safe Mode working
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5217069918078005904=="
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

This is a multipart message in MIME format.

--===============5217069918078005904==
Content-Type: multipart/alternative;
	boundary="----=_NextPart_000_011C_01D47F6D.FD98CF40"
Content-Language: de

This is a multipart message in MIME format.

------=_NextPart_000_011C_01D47F6D.FD98CF40
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit

After three days of struggling with the system I finally got it working
again: As a last approach (I should have done that early I guess) I upgraded
the DomHost operating system from Debian 8 to Debian 9 Stretch - and both
Windows Servers started just fine.

 

I didn't do that before because I thought that Xen 4.4.4 brought with Jessie
is fine enough for current Windows operating systems - well, seems it's not.

 

Regards,

Jens

 

 

Von: win-pv-devel [mailto:win-pv-devel-bounces@lists.xenproject.org] Im
Auftrag von Jens Hauser
Gesendet: Sonntag, 18. November 2018 17:34
An: win-pv-devel@lists.xenproject.org
Betreff: Re: [win-pv-devel] Xen 4.4.4 + Win PV Drivers 8.2.1 + Windows
Server 2016 - Only Safe Mode working

 

BTW: This seems to be the same problem:

 

https://discussions.citrix.com/topic/395149-windows-10-updates-reverts-nic-t
o-realtek-driver/

 

But I'm afraid I cannot upgrade my Xen so easily as I am pinned to the
stable branch of Debian. Maybe I'll give it a try with Debian 9 .

 

Kind regards,

Jens

 

 

Von: win-pv-devel [mailto:win-pv-devel-bounces@lists.xenproject.org] Im
Auftrag von Jens Hauser
Gesendet: Sonntag, 18. November 2018 15:47
An: win-pv-devel@lists.xenproject.org
Betreff: [win-pv-devel] Xen 4.4.4 + Win PV Drivers 8.2.1 + Windows Server
2016 - Only Safe Mode working

 

Hello List,

 

I had a Windows Server 2016 as a DomU on a Debian 8.11 now up and running
for about 6 month without any problems. The system contains an Exchange
Server - everything worked smooth.

 

On last Friday the system seems to have rebooted due to Windows updates
automatically installed. After that I found the server freezed in a screen
with the no longer animated icons.

Another 2012 R2 server was running fine without any problems.

 

So I tried to find out whats wrong and narrowed it down tot he network
driver as far as I can tell. I found entries in ntbtlog.txt which said that
"AFD.SYS" was not loaded at boot.

The first tries I was unable to boot into safe mode. After a few hickups the
system booted into Safe Mode saying that an upgrade didn't work and that it
was to be rolled back. After that I was able to get into Safe Mode but first
only the one without network drivers.

 

If I disable Realtek RTL8139 C network card I can boot into normal
operation. With this network card enabled the boot hangs as before.

 

After installation of Xen Project Win PV drivers 8.2.1 all the necessary
devices where found but a reboot leads tot he Windows screen with the
animated icons floating endlessly.

 

It all seems to be related to network stuff. There is this Realtek Card
which needs to be disabled and it's not vanishing if I install the PV
drivers - even if the Xen PV Network Device #0 is showing up the Realtek
Card is still there.

 

Is there any chance to fix this issue? Or do I need to install the server as
a new system?

 

Kind regards,

Jens

 


------=_NextPart_000_011C_01D47F6D.FD98CF40
Content-Type: text/html;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" =
xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" =
xmlns=3D"http://www.w3.org/TR/REC-html40"><head><meta =
http-equiv=3DContent-Type content=3D"text/html; =
charset=3Dus-ascii"><meta name=3DGenerator content=3D"Microsoft Word 14 =
(filtered medium)"><style><!--
/* Font Definitions */
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
	{mso-style-priority:99;
	mso-style-link:"Sprechblasentext Zchn";
	margin:0cm;
	margin-bottom:.0001pt;
	font-size:8.0pt;
	font-family:"Tahoma","sans-serif";
	mso-fareast-language:EN-US;}
span.E-MailFormatvorlage17
	{mso-style-type:personal;
	font-family:"Calibri","sans-serif";
	color:windowtext;}
span.E-MailFormatvorlage18
	{mso-style-type:personal;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.E-MailFormatvorlage19
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.SprechblasentextZchn
	{mso-style-name:"Sprechblasentext Zchn";
	mso-style-priority:99;
	mso-style-link:Sprechblasentext;
	font-family:"Tahoma","sans-serif";
	mso-fareast-language:EN-US;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:612.0pt 792.0pt;
	margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]--></head><body lang=3DDE link=3Dblue =
vlink=3Dpurple><div class=3DWordSection1><p class=3DMsoNormal><span =
style=3D'color:#1F497D'>After three days of struggling with the system I =
finally got it working again: As a last approach (I should have done =
that early I guess) I upgraded the DomHost operating system from Debian =
8 to Debian 9 Stretch &#8211; and both Windows Servers started just =
fine.<o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'color:#1F497D'><o:p>&nbsp;</o:p></span></p><p =
class=3DMsoNormal><span style=3D'color:#1F497D'>I didn&#8217;t do that =
before because I thought that Xen 4.4.4 brought with Jessie is fine =
enough for current Windows operating systems &#8211; well, seems =
it&#8217;s not.<o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'color:#1F497D'><o:p>&nbsp;</o:p></span></p><p =
class=3DMsoNormal><span =
style=3D'color:#1F497D'>Regards,<o:p></o:p></span></p><p =
class=3DMsoNormal><span =
style=3D'color:#1F497D'>Jens<o:p></o:p></span></p><p =
class=3DMsoNormal><span =
style=3D'color:#1F497D'><o:p>&nbsp;</o:p></span></p><p =
class=3DMsoNormal><span =
style=3D'color:#1F497D'><o:p>&nbsp;</o:p></span></p><div =
style=3D'border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm =
4.0pt'><div><div style=3D'border:none;border-top:solid #B5C4DF =
1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=3DMsoNormal><b><span =
style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif";mso-fareast-l=
anguage:DE'>Von:</span></b><span =
style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif";mso-fareast-l=
anguage:DE'> win-pv-devel =
[mailto:win-pv-devel-bounces@lists.xenproject.org] <b>Im Auftrag von =
</b>Jens Hauser<br><b>Gesendet:</b> Sonntag, 18. November 2018 =
17:34<br><b>An:</b> win-pv-devel@lists.xenproject.org<br><b>Betreff:</b> =
Re: [win-pv-devel] Xen 4.4.4 + Win PV Drivers 8.2.1 + Windows Server =
2016 - Only Safe Mode working<o:p></o:p></span></p></div></div><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal><span =
style=3D'color:#1F497D'>BTW: This seems to be the same =
problem:<o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'color:#1F497D'><o:p>&nbsp;</o:p></span></p><p =
class=3DMsoNormal><span style=3D'color:#1F497D'><a =
href=3D"https://discussions.citrix.com/topic/395149-windows-10-updates-re=
verts-nic-to-realtek-driver/">https://discussions.citrix.com/topic/395149=
-windows-10-updates-reverts-nic-to-realtek-driver/</a><o:p></o:p></span><=
/p><p class=3DMsoNormal><span =
style=3D'color:#1F497D'><o:p>&nbsp;</o:p></span></p><p =
class=3DMsoNormal><span style=3D'color:#1F497D'>But I&#8217;m afraid I =
cannot upgrade my Xen so easily as I am pinned to the stable branch of =
Debian. Maybe I&#8217;ll give it a try with Debian 9 =
&#8230;<o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'color:#1F497D'><o:p>&nbsp;</o:p></span></p><p =
class=3DMsoNormal><span style=3D'color:#1F497D'>Kind =
regards,<o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'color:#1F497D'>Jens<o:p></o:p></span></p><p =
class=3DMsoNormal><span =
style=3D'color:#1F497D'><o:p>&nbsp;</o:p></span></p><p =
class=3DMsoNormal><span =
style=3D'color:#1F497D'><o:p>&nbsp;</o:p></span></p><div =
style=3D'border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm =
4.0pt'><div><div style=3D'border:none;border-top:solid #B5C4DF =
1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=3DMsoNormal><b><span =
style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif";mso-fareast-l=
anguage:DE'>Von:</span></b><span =
style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif";mso-fareast-l=
anguage:DE'> win-pv-devel [<a =
href=3D"mailto:win-pv-devel-bounces@lists.xenproject.org">mailto:win-pv-d=
evel-bounces@lists.xenproject.org</a>] <b>Im Auftrag von </b>Jens =
Hauser<br><b>Gesendet:</b> Sonntag, 18. November 2018 =
15:47<br><b>An:</b> <a =
href=3D"mailto:win-pv-devel@lists.xenproject.org">win-pv-devel@lists.xenp=
roject.org</a><br><b>Betreff:</b> [win-pv-devel] Xen 4.4.4 + Win PV =
Drivers 8.2.1 + Windows Server 2016 - Only Safe Mode =
working<o:p></o:p></span></p></div></div><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal>Hello =
List,<o:p></o:p></p><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><p =
class=3DMsoNormal>I had a Windows Server 2016 as a DomU on a Debian 8.11 =
now up and running for about 6 month without any problems. The system =
contains an Exchange Server &#8211; everything worked =
smooth.<o:p></o:p></p><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><p =
class=3DMsoNormal>On last Friday the system seems to have rebooted due =
to Windows updates automatically installed. After that I found the =
server freezed in a screen with the no longer animated =
icons.<o:p></o:p></p><p class=3DMsoNormal>Another 2012 R2 server was =
running fine without any problems.<o:p></o:p></p><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal>So I tried =
to find out whats wrong and narrowed it down tot he network driver as =
far as I can tell. I found entries in ntbtlog.txt which said that =
&#8222;AFD.SYS&#8220; was not loaded at boot.<o:p></o:p></p><p =
class=3DMsoNormal>The first tries I was unable to boot into safe mode. =
After a few hickups the system booted into Safe Mode saying that an =
upgrade didn&#8217;t work and that it was to be rolled back. After that =
I was able to get into Safe Mode but first only the one without network =
drivers.<o:p></o:p></p><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><p =
class=3DMsoNormal>If I disable Realtek RTL8139 C network card I can boot =
into normal operation. With this network card enabled the boot hangs as =
before.<o:p></o:p></p><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><p =
class=3DMsoNormal>After installation of Xen Project Win PV drivers 8.2.1 =
all the necessary devices where found but a reboot leads tot he Windows =
screen with the animated icons floating endlessly.<o:p></o:p></p><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal>It all seems =
to be related to network stuff. There is this Realtek Card which needs =
to be disabled and it&#8217;s not vanishing if I install the PV drivers =
&#8211; even if the Xen PV Network Device #0 is showing up the Realtek =
Card is still there.<o:p></o:p></p><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal>Is there any =
chance to fix this issue? Or do I need to install the server as a new =
system?<o:p></o:p></p><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><p =
class=3DMsoNormal>Kind regards,<o:p></o:p></p><p =
class=3DMsoNormal>Jens<o:p></o:p></p><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p></div></div></div></body></html>
------=_NextPart_000_011C_01D47F6D.FD98CF40--



--===============5217069918078005904==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

--===============5217069918078005904==--



From win-pv-devel-bounces@lists.xenproject.org Mon Nov 19 09:26:38 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 19 Nov 2018 09:26:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1gOfpE-0000x6-9z; Mon, 19 Nov 2018 09:26:36 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=DVhf=N6=citrix.com=prvs=854d62453=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1gOfpC-0000wy-OU
 for win-pv-devel@lists.xenproject.org; Mon, 19 Nov 2018 09:26:34 +0000
X-Inumbo-ID: 3323170c-ebdd-11e8-9c92-12d6303a7972
Received: from SMTP.EU.CITRIX.COM (unknown [185.25.65.24])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 3323170c-ebdd-11e8-9c92-12d6303a7972;
 Mon, 19 Nov 2018 09:26:32 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.56,252,1539648000"; d="scan'208,217";a="82043786"
From: Paul Durrant <Paul.Durrant@citrix.com>
To: 'Jens Hauser' <hauser@pilsgenuss.de>, "win-pv-devel@lists.xenproject.org"
 <win-pv-devel@lists.xenproject.org>
Thread-Topic: [win-pv-devel] Xen 4.4.4 + Win PV Drivers 8.2.1 + Windows Server
 2016 - Only Safe Mode working
Thread-Index: AdR/SHNxEW0cmg+RReO+P47CkmAe0gAC6oWAAAJG74AAIuuBIA==
Date: Mon, 19 Nov 2018 09:26:30 +0000
Message-ID: <82e756dc3fe94d8e9496286f11547ed7@AMSPEX02CL03.citrite.net>
References: <008d01d47f4d$84f057e0$8ed107a0$@pilsgenuss.de>
 <00e101d47f5c$7fa16770$7ee43650$@pilsgenuss.de>
 <011b01d47f65$9bd18110$d3748330$@pilsgenuss.de>
In-Reply-To: <011b01d47f65$9bd18110$d3748330$@pilsgenuss.de>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-transport-fromentityheader: Hosted
MIME-Version: 1.0
Subject: Re: [win-pv-devel] Xen 4.4.4 + Win PV Drivers 8.2.1 + Windows
 Server 2016 - Only Safe Mode working
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1285482137791805518=="
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

--===============1285482137791805518==
Content-Language: en-US
Content-Type: multipart/alternative;
	boundary="_000_82e756dc3fe94d8e9496286f11547ed7AMSPEX02CL03citritenet_"

--_000_82e756dc3fe94d8e9496286f11547ed7AMSPEX02CL03citritenet_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Jens,

  Glad you got things working again. I suspect you might have run into a ke=
rnel bug that Microsoft introduced a while ago and shipped in a Windows upd=
ate. It causes blue-screens when the PV network driver allocates memory. If=
 this happens during driver bring-up, as a safety net, the behaviour of the=
 system is to fall back to using the emulated network device. A subsequent =
attempt to enable the PV driver will just hit the same blue-screen. Microso=
ft have fixed the problem so, as long as your kernel is fully up-to-date, y=
our PV driver should no longer hit the kernel bug.
  I'm not aware of any compatibility issues with Xen 4.4.4, or older Debian=
 dom0 kernels, but 4.4.4 is very old now and has been out of security suppo=
rt for a while so updating to a newer hypervisor and dom0 kernel is a good =
move anyway.

  Cheers,

    Paul

From: win-pv-devel [mailto:win-pv-devel-bounces@lists.xenproject.org] On Be=
half Of Jens Hauser
Sent: 18 November 2018 17:39
To: win-pv-devel@lists.xenproject.org
Subject: Re: [win-pv-devel] Xen 4.4.4 + Win PV Drivers 8.2.1 + Windows Serv=
er 2016 - Only Safe Mode working

After three days of struggling with the system I finally got it working aga=
in: As a last approach (I should have done that early I guess) I upgraded t=
he DomHost operating system from Debian 8 to Debian 9 Stretch - and both Wi=
ndows Servers started just fine.

I didn't do that before because I thought that Xen 4.4.4 brought with Jessi=
e is fine enough for current Windows operating systems - well, seems it's n=
ot.

Regards,
Jens


Von: win-pv-devel [mailto:win-pv-devel-bounces@lists.xenproject.org] Im Auf=
trag von Jens Hauser
Gesendet: Sonntag, 18. November 2018 17:34
An: win-pv-devel@lists.xenproject.org<mailto:win-pv-devel@lists.xenproject.=
org>
Betreff: Re: [win-pv-devel] Xen 4.4.4 + Win PV Drivers 8.2.1 + Windows Serv=
er 2016 - Only Safe Mode working

BTW: This seems to be the same problem:

https://discussions.citrix.com/topic/395149-windows-10-updates-reverts-nic-=
to-realtek-driver/

But I'm afraid I cannot upgrade my Xen so easily as I am pinned to the stab=
le branch of Debian. Maybe I'll give it a try with Debian 9 ...

Kind regards,
Jens


Von: win-pv-devel [mailto:win-pv-devel-bounces@lists.xenproject.org] Im Auf=
trag von Jens Hauser
Gesendet: Sonntag, 18. November 2018 15:47
An: win-pv-devel@lists.xenproject.org<mailto:win-pv-devel@lists.xenproject.=
org>
Betreff: [win-pv-devel] Xen 4.4.4 + Win PV Drivers 8.2.1 + Windows Server 2=
016 - Only Safe Mode working

Hello List,

I had a Windows Server 2016 as a DomU on a Debian 8.11 now up and running f=
or about 6 month without any problems. The system contains an Exchange Serv=
er - everything worked smooth.

On last Friday the system seems to have rebooted due to Windows updates aut=
omatically installed. After that I found the server freezed in a screen wit=
h the no longer animated icons.
Another 2012 R2 server was running fine without any problems.

So I tried to find out whats wrong and narrowed it down tot he network driv=
er as far as I can tell. I found entries in ntbtlog.txt which said that "AF=
D.SYS" was not loaded at boot.
The first tries I was unable to boot into safe mode. After a few hickups th=
e system booted into Safe Mode saying that an upgrade didn't work and that =
it was to be rolled back. After that I was able to get into Safe Mode but f=
irst only the one without network drivers.

If I disable Realtek RTL8139 C network card I can boot into normal operatio=
n. With this network card enabled the boot hangs as before.

After installation of Xen Project Win PV drivers 8.2.1 all the necessary de=
vices where found but a reboot leads tot he Windows screen with the animate=
d icons floating endlessly.

It all seems to be related to network stuff. There is this Realtek Card whi=
ch needs to be disabled and it's not vanishing if I install the PV drivers =
- even if the Xen PV Network Device #0 is showing up the Realtek Card is st=
ill there.

Is there any chance to fix this issue? Or do I need to install the server a=
s a new system?

Kind regards,
Jens


--_000_82e756dc3fe94d8e9496286f11547ed7AMSPEX02CL03citritenet_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"ProgId" content=3D"Word.Document">
<meta name=3D"Generator" content=3D"Microsoft Word 15">
<meta name=3D"Originator" content=3D"Microsoft Word 15">
<link rel=3D"File-List" href=3D"cid:filelist.xml@01D47FE9.F3A680F0"><!--[if=
 gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:AllowPNG/>
<o:DoNotRelyOnCSS/>
</o:OfficeDocumentSettings>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:WordDocument>
<w:SpellingState>Clean</w:SpellingState>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:EnvelopeVis/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-GB</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:DoNotExpandShiftReturn/>
<w:BreakWrappedTables/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
<m:mathPr>
<m:mathFont m:val=3D"Cambria Math"/>
<m:brkBin m:val=3D"before"/>
<m:brkBinSub m:val=3D"&#45;-"/>
<m:smallFrac m:val=3D"off"/>
<m:dispDef/>
<m:lMargin m:val=3D"0"/>
<m:rMargin m:val=3D"0"/>
<m:defJc m:val=3D"centerGroup"/>
<m:wrapIndent m:val=3D"1440"/>
<m:intLim m:val=3D"subSup"/>
<m:naryLim m:val=3D"undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState=3D"false" DefUnhideWhenUsed=3D"false" DefSem=
iHidden=3D"false" DefQFormat=3D"false" DefPriority=3D"99" LatentStyleCount=
=3D"371">
<w:LsdException Locked=3D"false" Priority=3D"0" QFormat=3D"true" Name=3D"No=
rmal"/>
<w:LsdException Locked=3D"false" Priority=3D"9" QFormat=3D"true" Name=3D"he=
ading 1"/>
<w:LsdException Locked=3D"false" Priority=3D"9" SemiHidden=3D"true" UnhideW=
henUsed=3D"true" QFormat=3D"true" Name=3D"heading 2"/>
<w:LsdException Locked=3D"false" Priority=3D"9" SemiHidden=3D"true" UnhideW=
henUsed=3D"true" QFormat=3D"true" Name=3D"heading 3"/>
<w:LsdException Locked=3D"false" Priority=3D"9" SemiHidden=3D"true" UnhideW=
henUsed=3D"true" QFormat=3D"true" Name=3D"heading 4"/>
<w:LsdException Locked=3D"false" Priority=3D"9" SemiHidden=3D"true" UnhideW=
henUsed=3D"true" QFormat=3D"true" Name=3D"heading 5"/>
<w:LsdException Locked=3D"false" Priority=3D"9" SemiHidden=3D"true" UnhideW=
henUsed=3D"true" QFormat=3D"true" Name=3D"heading 6"/>
<w:LsdException Locked=3D"false" Priority=3D"9" SemiHidden=3D"true" UnhideW=
henUsed=3D"true" QFormat=3D"true" Name=3D"heading 7"/>
<w:LsdException Locked=3D"false" Priority=3D"9" SemiHidden=3D"true" UnhideW=
henUsed=3D"true" QFormat=3D"true" Name=3D"heading 8"/>
<w:LsdException Locked=3D"false" Priority=3D"9" SemiHidden=3D"true" UnhideW=
henUsed=3D"true" QFormat=3D"true" Name=3D"heading 9"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"index 1"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"index 2"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"index 3"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"index 4"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"index 5"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"index 6"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"index 7"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"index 8"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"index 9"/>
<w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true" Unhide=
WhenUsed=3D"true" Name=3D"toc 1"/>
<w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true" Unhide=
WhenUsed=3D"true" Name=3D"toc 2"/>
<w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true" Unhide=
WhenUsed=3D"true" Name=3D"toc 3"/>
<w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true" Unhide=
WhenUsed=3D"true" Name=3D"toc 4"/>
<w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true" Unhide=
WhenUsed=3D"true" Name=3D"toc 5"/>
<w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true" Unhide=
WhenUsed=3D"true" Name=3D"toc 6"/>
<w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true" Unhide=
WhenUsed=3D"true" Name=3D"toc 7"/>
<w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true" Unhide=
WhenUsed=3D"true" Name=3D"toc 8"/>
<w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true" Unhide=
WhenUsed=3D"true" Name=3D"toc 9"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Normal Indent"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"footnote text"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"annotation text"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"header"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"footer"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"index heading"/>
<w:LsdException Locked=3D"false" Priority=3D"35" SemiHidden=3D"true" Unhide=
WhenUsed=3D"true" QFormat=3D"true" Name=3D"caption"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"table of figures"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"envelope address"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"envelope return"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"footnote reference"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"annotation reference"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"line number"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"page number"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"endnote reference"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"endnote text"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"table of authorities"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"macro"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"toa heading"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"List"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"List Bullet"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"List Number"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"List 2"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"List 3"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"List 4"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"List 5"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"List Bullet 2"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"List Bullet 3"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"List Bullet 4"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"List Bullet 5"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"List Number 2"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"List Number 3"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"List Number 4"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"List Number 5"/>
<w:LsdException Locked=3D"false" Priority=3D"10" QFormat=3D"true" Name=3D"T=
itle"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Closing"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Signature"/>
<w:LsdException Locked=3D"false" Priority=3D"1" SemiHidden=3D"true" UnhideW=
henUsed=3D"true" Name=3D"Default Paragraph Font"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Body Text"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Body Text Indent"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"List Continue"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"List Continue 2"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"List Continue 3"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"List Continue 4"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"List Continue 5"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Message Header"/>
<w:LsdException Locked=3D"false" Priority=3D"11" QFormat=3D"true" Name=3D"S=
ubtitle"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Salutation"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Date"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Body Text First Indent"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Body Text First Indent 2"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Note Heading"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Body Text 2"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Body Text 3"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Body Text Indent 2"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Body Text Indent 3"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Block Text"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Hyperlink"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"FollowedHyperlink"/>
<w:LsdException Locked=3D"false" Priority=3D"22" QFormat=3D"true" Name=3D"S=
trong"/>
<w:LsdException Locked=3D"false" Priority=3D"20" QFormat=3D"true" Name=3D"E=
mphasis"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Document Map"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Plain Text"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"E-mail Signature"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"HTML Top of Form"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"HTML Bottom of Form"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Normal (Web)"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"HTML Acronym"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"HTML Address"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"HTML Cite"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"HTML Code"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"HTML Definition"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"HTML Keyboard"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"HTML Preformatted"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"HTML Sample"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"HTML Typewriter"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"HTML Variable"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Normal Table"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"annotation subject"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"No List"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Outline List 1"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Outline List 2"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Outline List 3"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Table Simple 1"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Table Simple 2"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Table Simple 3"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Table Classic 1"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Table Classic 2"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Table Classic 3"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Table Classic 4"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Table Colorful 1"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Table Colorful 2"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Table Colorful 3"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Table Columns 1"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Table Columns 2"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Table Columns 3"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Table Columns 4"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Table Columns 5"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Table Grid 1"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Table Grid 2"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Table Grid 3"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Table Grid 4"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Table Grid 5"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Table Grid 6"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Table Grid 7"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Table Grid 8"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Table List 1"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Table List 2"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Table List 3"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Table List 4"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Table List 5"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Table List 6"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Table List 7"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Table List 8"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Table 3D effects 1"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Table 3D effects 2"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Table 3D effects 3"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Table Contemporary"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Table Elegant"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Table Professional"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Table Subtle 1"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Table Subtle 2"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Table Web 1"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Table Web 2"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Table Web 3"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Balloon Text"/>
<w:LsdException Locked=3D"false" Priority=3D"39" Name=3D"Table Grid"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"true=
" Name=3D"Table Theme"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" Name=3D"Placeholder Te=
xt"/>
<w:LsdException Locked=3D"false" Priority=3D"1" QFormat=3D"true" Name=3D"No=
 Spacing"/>
<w:LsdException Locked=3D"false" Priority=3D"60" Name=3D"Light Shading"/>
<w:LsdException Locked=3D"false" Priority=3D"61" Name=3D"Light List"/>
<w:LsdException Locked=3D"false" Priority=3D"62" Name=3D"Light Grid"/>
<w:LsdException Locked=3D"false" Priority=3D"63" Name=3D"Medium Shading 1"/=
>
<w:LsdException Locked=3D"false" Priority=3D"64" Name=3D"Medium Shading 2"/=
>
<w:LsdException Locked=3D"false" Priority=3D"65" Name=3D"Medium List 1"/>
<w:LsdException Locked=3D"false" Priority=3D"66" Name=3D"Medium List 2"/>
<w:LsdException Locked=3D"false" Priority=3D"67" Name=3D"Medium Grid 1"/>
<w:LsdException Locked=3D"false" Priority=3D"68" Name=3D"Medium Grid 2"/>
<w:LsdException Locked=3D"false" Priority=3D"69" Name=3D"Medium Grid 3"/>
<w:LsdException Locked=3D"false" Priority=3D"70" Name=3D"Dark List"/>
<w:LsdException Locked=3D"false" Priority=3D"71" Name=3D"Colorful Shading"/=
>
<w:LsdException Locked=3D"false" Priority=3D"72" Name=3D"Colorful List"/>
<w:LsdException Locked=3D"false" Priority=3D"73" Name=3D"Colorful Grid"/>
<w:LsdException Locked=3D"false" Priority=3D"60" Name=3D"Light Shading Acce=
nt 1"/>
<w:LsdException Locked=3D"false" Priority=3D"61" Name=3D"Light List Accent =
1"/>
<w:LsdException Locked=3D"false" Priority=3D"62" Name=3D"Light Grid Accent =
1"/>
<w:LsdException Locked=3D"false" Priority=3D"63" Name=3D"Medium Shading 1 A=
ccent 1"/>
<w:LsdException Locked=3D"false" Priority=3D"64" Name=3D"Medium Shading 2 A=
ccent 1"/>
<w:LsdException Locked=3D"false" Priority=3D"65" Name=3D"Medium List 1 Acce=
nt 1"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" Name=3D"Revision"/>
<w:LsdException Locked=3D"false" Priority=3D"34" QFormat=3D"true" Name=3D"L=
ist Paragraph"/>
<w:LsdException Locked=3D"false" Priority=3D"29" QFormat=3D"true" Name=3D"Q=
uote"/>
<w:LsdException Locked=3D"false" Priority=3D"30" QFormat=3D"true" Name=3D"I=
ntense Quote"/>
<w:LsdException Locked=3D"false" Priority=3D"66" Name=3D"Medium List 2 Acce=
nt 1"/>
<w:LsdException Locked=3D"false" Priority=3D"67" Name=3D"Medium Grid 1 Acce=
nt 1"/>
<w:LsdException Locked=3D"false" Priority=3D"68" Name=3D"Medium Grid 2 Acce=
nt 1"/>
<w:LsdException Locked=3D"false" Priority=3D"69" Name=3D"Medium Grid 3 Acce=
nt 1"/>
<w:LsdException Locked=3D"false" Priority=3D"70" Name=3D"Dark List Accent 1=
"/>
<w:LsdException Locked=3D"false" Priority=3D"71" Name=3D"Colorful Shading A=
ccent 1"/>
<w:LsdException Locked=3D"false" Priority=3D"72" Name=3D"Colorful List Acce=
nt 1"/>
<w:LsdException Locked=3D"false" Priority=3D"73" Name=3D"Colorful Grid Acce=
nt 1"/>
<w:LsdException Locked=3D"false" Priority=3D"60" Name=3D"Light Shading Acce=
nt 2"/>
<w:LsdException Locked=3D"false" Priority=3D"61" Name=3D"Light List Accent =
2"/>
<w:LsdException Locked=3D"false" Priority=3D"62" Name=3D"Light Grid Accent =
2"/>
<w:LsdException Locked=3D"false" Priority=3D"63" Name=3D"Medium Shading 1 A=
ccent 2"/>
<w:LsdException Locked=3D"false" Priority=3D"64" Name=3D"Medium Shading 2 A=
ccent 2"/>
<w:LsdException Locked=3D"false" Priority=3D"65" Name=3D"Medium List 1 Acce=
nt 2"/>
<w:LsdException Locked=3D"false" Priority=3D"66" Name=3D"Medium List 2 Acce=
nt 2"/>
<w:LsdException Locked=3D"false" Priority=3D"67" Name=3D"Medium Grid 1 Acce=
nt 2"/>
<w:LsdException Locked=3D"false" Priority=3D"68" Name=3D"Medium Grid 2 Acce=
nt 2"/>
<w:LsdException Locked=3D"false" Priority=3D"69" Name=3D"Medium Grid 3 Acce=
nt 2"/>
<w:LsdException Locked=3D"false" Priority=3D"70" Name=3D"Dark List Accent 2=
"/>
<w:LsdException Locked=3D"false" Priority=3D"71" Name=3D"Colorful Shading A=
ccent 2"/>
<w:LsdException Locked=3D"false" Priority=3D"72" Name=3D"Colorful List Acce=
nt 2"/>
<w:LsdException Locked=3D"false" Priority=3D"73" Name=3D"Colorful Grid Acce=
nt 2"/>
<w:LsdException Locked=3D"false" Priority=3D"60" Name=3D"Light Shading Acce=
nt 3"/>
<w:LsdException Locked=3D"false" Priority=3D"61" Name=3D"Light List Accent =
3"/>
<w:LsdException Locked=3D"false" Priority=3D"62" Name=3D"Light Grid Accent =
3"/>
<w:LsdException Locked=3D"false" Priority=3D"63" Name=3D"Medium Shading 1 A=
ccent 3"/>
<w:LsdException Locked=3D"false" Priority=3D"64" Name=3D"Medium Shading 2 A=
ccent 3"/>
<w:LsdException Locked=3D"false" Priority=3D"65" Name=3D"Medium List 1 Acce=
nt 3"/>
<w:LsdException Locked=3D"false" Priority=3D"66" Name=3D"Medium List 2 Acce=
nt 3"/>
<w:LsdException Locked=3D"false" Priority=3D"67" Name=3D"Medium Grid 1 Acce=
nt 3"/>
<w:LsdException Locked=3D"false" Priority=3D"68" Name=3D"Medium Grid 2 Acce=
nt 3"/>
<w:LsdException Locked=3D"false" Priority=3D"69" Name=3D"Medium Grid 3 Acce=
nt 3"/>
<w:LsdException Locked=3D"false" Priority=3D"70" Name=3D"Dark List Accent 3=
"/>
<w:LsdException Locked=3D"false" Priority=3D"71" Name=3D"Colorful Shading A=
ccent 3"/>
<w:LsdException Locked=3D"false" Priority=3D"72" Name=3D"Colorful List Acce=
nt 3"/>
<w:LsdException Locked=3D"false" Priority=3D"73" Name=3D"Colorful Grid Acce=
nt 3"/>
<w:LsdException Locked=3D"false" Priority=3D"60" Name=3D"Light Shading Acce=
nt 4"/>
<w:LsdException Locked=3D"false" Priority=3D"61" Name=3D"Light List Accent =
4"/>
<w:LsdException Locked=3D"false" Priority=3D"62" Name=3D"Light Grid Accent =
4"/>
<w:LsdException Locked=3D"false" Priority=3D"63" Name=3D"Medium Shading 1 A=
ccent 4"/>
<w:LsdException Locked=3D"false" Priority=3D"64" Name=3D"Medium Shading 2 A=
ccent 4"/>
<w:LsdException Locked=3D"false" Priority=3D"65" Name=3D"Medium List 1 Acce=
nt 4"/>
<w:LsdException Locked=3D"false" Priority=3D"66" Name=3D"Medium List 2 Acce=
nt 4"/>
<w:LsdException Locked=3D"false" Priority=3D"67" Name=3D"Medium Grid 1 Acce=
nt 4"/>
<w:LsdException Locked=3D"false" Priority=3D"68" Name=3D"Medium Grid 2 Acce=
nt 4"/>
<w:LsdException Locked=3D"false" Priority=3D"69" Name=3D"Medium Grid 3 Acce=
nt 4"/>
<w:LsdException Locked=3D"false" Priority=3D"70" Name=3D"Dark List Accent 4=
"/>
<w:LsdException Locked=3D"false" Priority=3D"71" Name=3D"Colorful Shading A=
ccent 4"/>
<w:LsdException Locked=3D"false" Priority=3D"72" Name=3D"Colorful List Acce=
nt 4"/>
<w:LsdException Locked=3D"false" Priority=3D"73" Name=3D"Colorful Grid Acce=
nt 4"/>
<w:LsdException Locked=3D"false" Priority=3D"60" Name=3D"Light Shading Acce=
nt 5"/>
<w:LsdException Locked=3D"false" Priority=3D"61" Name=3D"Light List Accent =
5"/>
<w:LsdException Locked=3D"false" Priority=3D"62" Name=3D"Light Grid Accent =
5"/>
<w:LsdException Locked=3D"false" Priority=3D"63" Name=3D"Medium Shading 1 A=
ccent 5"/>
<w:LsdException Locked=3D"false" Priority=3D"64" Name=3D"Medium Shading 2 A=
ccent 5"/>
<w:LsdException Locked=3D"false" Priority=3D"65" Name=3D"Medium List 1 Acce=
nt 5"/>
<w:LsdException Locked=3D"false" Priority=3D"66" Name=3D"Medium List 2 Acce=
nt 5"/>
<w:LsdException Locked=3D"false" Priority=3D"67" Name=3D"Medium Grid 1 Acce=
nt 5"/>
<w:LsdException Locked=3D"false" Priority=3D"68" Name=3D"Medium Grid 2 Acce=
nt 5"/>
<w:LsdException Locked=3D"false" Priority=3D"69" Name=3D"Medium Grid 3 Acce=
nt 5"/>
<w:LsdException Locked=3D"false" Priority=3D"70" Name=3D"Dark List Accent 5=
"/>
<w:LsdException Locked=3D"false" Priority=3D"71" Name=3D"Colorful Shading A=
ccent 5"/>
<w:LsdException Locked=3D"false" Priority=3D"72" Name=3D"Colorful List Acce=
nt 5"/>
<w:LsdException Locked=3D"false" Priority=3D"73" Name=3D"Colorful Grid Acce=
nt 5"/>
<w:LsdException Locked=3D"false" Priority=3D"60" Name=3D"Light Shading Acce=
nt 6"/>
<w:LsdException Locked=3D"false" Priority=3D"61" Name=3D"Light List Accent =
6"/>
<w:LsdException Locked=3D"false" Priority=3D"62" Name=3D"Light Grid Accent =
6"/>
<w:LsdException Locked=3D"false" Priority=3D"63" Name=3D"Medium Shading 1 A=
ccent 6"/>
<w:LsdException Locked=3D"false" Priority=3D"64" Name=3D"Medium Shading 2 A=
ccent 6"/>
<w:LsdException Locked=3D"false" Priority=3D"65" Name=3D"Medium List 1 Acce=
nt 6"/>
<w:LsdException Locked=3D"false" Priority=3D"66" Name=3D"Medium List 2 Acce=
nt 6"/>
<w:LsdException Locked=3D"false" Priority=3D"67" Name=3D"Medium Grid 1 Acce=
nt 6"/>
<w:LsdException Locked=3D"false" Priority=3D"68" Name=3D"Medium Grid 2 Acce=
nt 6"/>
<w:LsdException Locked=3D"false" Priority=3D"69" Name=3D"Medium Grid 3 Acce=
nt 6"/>
<w:LsdException Locked=3D"false" Priority=3D"70" Name=3D"Dark List Accent 6=
"/>
<w:LsdException Locked=3D"false" Priority=3D"71" Name=3D"Colorful Shading A=
ccent 6"/>
<w:LsdException Locked=3D"false" Priority=3D"72" Name=3D"Colorful List Acce=
nt 6"/>
<w:LsdException Locked=3D"false" Priority=3D"73" Name=3D"Colorful Grid Acce=
nt 6"/>
<w:LsdException Locked=3D"false" Priority=3D"19" QFormat=3D"true" Name=3D"S=
ubtle Emphasis"/>
<w:LsdException Locked=3D"false" Priority=3D"21" QFormat=3D"true" Name=3D"I=
ntense Emphasis"/>
<w:LsdException Locked=3D"false" Priority=3D"31" QFormat=3D"true" Name=3D"S=
ubtle Reference"/>
<w:LsdException Locked=3D"false" Priority=3D"32" QFormat=3D"true" Name=3D"I=
ntense Reference"/>
<w:LsdException Locked=3D"false" Priority=3D"33" QFormat=3D"true" Name=3D"B=
ook Title"/>
<w:LsdException Locked=3D"false" Priority=3D"37" SemiHidden=3D"true" Unhide=
WhenUsed=3D"true" Name=3D"Bibliography"/>
<w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true" Unhide=
WhenUsed=3D"true" QFormat=3D"true" Name=3D"TOC Heading"/>
<w:LsdException Locked=3D"false" Priority=3D"41" Name=3D"Plain Table 1"/>
<w:LsdException Locked=3D"false" Priority=3D"42" Name=3D"Plain Table 2"/>
<w:LsdException Locked=3D"false" Priority=3D"43" Name=3D"Plain Table 3"/>
<w:LsdException Locked=3D"false" Priority=3D"44" Name=3D"Plain Table 4"/>
<w:LsdException Locked=3D"false" Priority=3D"45" Name=3D"Plain Table 5"/>
<w:LsdException Locked=3D"false" Priority=3D"40" Name=3D"Grid Table Light"/=
>
<w:LsdException Locked=3D"false" Priority=3D"46" Name=3D"Grid Table 1 Light=
"/>
<w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"Grid Table 2"/>
<w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"Grid Table 3"/>
<w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"Grid Table 4"/>
<w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"Grid Table 5 Dark"=
/>
<w:LsdException Locked=3D"false" Priority=3D"51" Name=3D"Grid Table 6 Color=
ful"/>
<w:LsdException Locked=3D"false" Priority=3D"52" Name=3D"Grid Table 7 Color=
ful"/>
<w:LsdException Locked=3D"false" Priority=3D"46" Name=3D"Grid Table 1 Light=
 Accent 1"/>
<w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"Grid Table 2 Accen=
t 1"/>
<w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"Grid Table 3 Accen=
t 1"/>
<w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"Grid Table 4 Accen=
t 1"/>
<w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"Grid Table 5 Dark =
Accent 1"/>
<w:LsdException Locked=3D"false" Priority=3D"51" Name=3D"Grid Table 6 Color=
ful Accent 1"/>
<w:LsdException Locked=3D"false" Priority=3D"52" Name=3D"Grid Table 7 Color=
ful Accent 1"/>
<w:LsdException Locked=3D"false" Priority=3D"46" Name=3D"Grid Table 1 Light=
 Accent 2"/>
<w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"Grid Table 2 Accen=
t 2"/>
<w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"Grid Table 3 Accen=
t 2"/>
<w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"Grid Table 4 Accen=
t 2"/>
<w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"Grid Table 5 Dark =
Accent 2"/>
<w:LsdException Locked=3D"false" Priority=3D"51" Name=3D"Grid Table 6 Color=
ful Accent 2"/>
<w:LsdException Locked=3D"false" Priority=3D"52" Name=3D"Grid Table 7 Color=
ful Accent 2"/>
<w:LsdException Locked=3D"false" Priority=3D"46" Name=3D"Grid Table 1 Light=
 Accent 3"/>
<w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"Grid Table 2 Accen=
t 3"/>
<w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"Grid Table 3 Accen=
t 3"/>
<w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"Grid Table 4 Accen=
t 3"/>
<w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"Grid Table 5 Dark =
Accent 3"/>
<w:LsdException Locked=3D"false" Priority=3D"51" Name=3D"Grid Table 6 Color=
ful Accent 3"/>
<w:LsdException Locked=3D"false" Priority=3D"52" Name=3D"Grid Table 7 Color=
ful Accent 3"/>
<w:LsdException Locked=3D"false" Priority=3D"46" Name=3D"Grid Table 1 Light=
 Accent 4"/>
<w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"Grid Table 2 Accen=
t 4"/>
<w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"Grid Table 3 Accen=
t 4"/>
<w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"Grid Table 4 Accen=
t 4"/>
<w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"Grid Table 5 Dark =
Accent 4"/>
<w:LsdException Locked=3D"false" Priority=3D"51" Name=3D"Grid Table 6 Color=
ful Accent 4"/>
<w:LsdException Locked=3D"false" Priority=3D"52" Name=3D"Grid Table 7 Color=
ful Accent 4"/>
<w:LsdException Locked=3D"false" Priority=3D"46" Name=3D"Grid Table 1 Light=
 Accent 5"/>
<w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"Grid Table 2 Accen=
t 5"/>
<w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"Grid Table 3 Accen=
t 5"/>
<w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"Grid Table 4 Accen=
t 5"/>
<w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"Grid Table 5 Dark =
Accent 5"/>
<w:LsdException Locked=3D"false" Priority=3D"51" Name=3D"Grid Table 6 Color=
ful Accent 5"/>
<w:LsdException Locked=3D"false" Priority=3D"52" Name=3D"Grid Table 7 Color=
ful Accent 5"/>
<w:LsdException Locked=3D"false" Priority=3D"46" Name=3D"Grid Table 1 Light=
 Accent 6"/>
<w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"Grid Table 2 Accen=
t 6"/>
<w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"Grid Table 3 Accen=
t 6"/>
<w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"Grid Table 4 Accen=
t 6"/>
<w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"Grid Table 5 Dark =
Accent 6"/>
<w:LsdException Locked=3D"false" Priority=3D"51" Name=3D"Grid Table 6 Color=
ful Accent 6"/>
<w:LsdException Locked=3D"false" Priority=3D"52" Name=3D"Grid Table 7 Color=
ful Accent 6"/>
<w:LsdException Locked=3D"false" Priority=3D"46" Name=3D"List Table 1 Light=
"/>
<w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"List Table 2"/>
<w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"List Table 3"/>
<w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"List Table 4"/>
<w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"List Table 5 Dark"=
/>
<w:LsdException Locked=3D"false" Priority=3D"51" Name=3D"List Table 6 Color=
ful"/>
<w:LsdException Locked=3D"false" Priority=3D"52" Name=3D"List Table 7 Color=
ful"/>
<w:LsdException Locked=3D"false" Priority=3D"46" Name=3D"List Table 1 Light=
 Accent 1"/>
<w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"List Table 2 Accen=
t 1"/>
<w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"List Table 3 Accen=
t 1"/>
<w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"List Table 4 Accen=
t 1"/>
<w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"List Table 5 Dark =
Accent 1"/>
<w:LsdException Locked=3D"false" Priority=3D"51" Name=3D"List Table 6 Color=
ful Accent 1"/>
<w:LsdException Locked=3D"false" Priority=3D"52" Name=3D"List Table 7 Color=
ful Accent 1"/>
<w:LsdException Locked=3D"false" Priority=3D"46" Name=3D"List Table 1 Light=
 Accent 2"/>
<w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"List Table 2 Accen=
t 2"/>
<w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"List Table 3 Accen=
t 2"/>
<w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"List Table 4 Accen=
t 2"/>
<w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"List Table 5 Dark =
Accent 2"/>
<w:LsdException Locked=3D"false" Priority=3D"51" Name=3D"List Table 6 Color=
ful Accent 2"/>
<w:LsdException Locked=3D"false" Priority=3D"52" Name=3D"List Table 7 Color=
ful Accent 2"/>
<w:LsdException Locked=3D"false" Priority=3D"46" Name=3D"List Table 1 Light=
 Accent 3"/>
<w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"List Table 2 Accen=
t 3"/>
<w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"List Table 3 Accen=
t 3"/>
<w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"List Table 4 Accen=
t 3"/>
<w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"List Table 5 Dark =
Accent 3"/>
<w:LsdException Locked=3D"false" Priority=3D"51" Name=3D"List Table 6 Color=
ful Accent 3"/>
<w:LsdException Locked=3D"false" Priority=3D"52" Name=3D"List Table 7 Color=
ful Accent 3"/>
<w:LsdException Locked=3D"false" Priority=3D"46" Name=3D"List Table 1 Light=
 Accent 4"/>
<w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"List Table 2 Accen=
t 4"/>
<w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"List Table 3 Accen=
t 4"/>
<w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"List Table 4 Accen=
t 4"/>
<w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"List Table 5 Dark =
Accent 4"/>
<w:LsdException Locked=3D"false" Priority=3D"51" Name=3D"List Table 6 Color=
ful Accent 4"/>
<w:LsdException Locked=3D"false" Priority=3D"52" Name=3D"List Table 7 Color=
ful Accent 4"/>
<w:LsdException Locked=3D"false" Priority=3D"46" Name=3D"List Table 1 Light=
 Accent 5"/>
<w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"List Table 2 Accen=
t 5"/>
<w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"List Table 3 Accen=
t 5"/>
<w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"List Table 4 Accen=
t 5"/>
<w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"List Table 5 Dark =
Accent 5"/>
<w:LsdException Locked=3D"false" Priority=3D"51" Name=3D"List Table 6 Color=
ful Accent 5"/>
<w:LsdException Locked=3D"false" Priority=3D"52" Name=3D"List Table 7 Color=
ful Accent 5"/>
<w:LsdException Locked=3D"false" Priority=3D"46" Name=3D"List Table 1 Light=
 Accent 6"/>
<w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"List Table 2 Accen=
t 6"/>
<w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"List Table 3 Accen=
t 6"/>
<w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"List Table 4 Accen=
t 6"/>
<w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"List Table 5 Dark =
Accent 6"/>
<w:LsdException Locked=3D"false" Priority=3D"51" Name=3D"List Table 6 Color=
ful Accent 6"/>
<w:LsdException Locked=3D"false" Priority=3D"52" Name=3D"List Table 7 Color=
ful Accent 6"/>
</w:LatentStyles>
</xml><![endif]--><style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;
	mso-font-charset:1;
	mso-generic-font-family:roman;
	mso-font-pitch:variable;
	mso-font-signature:0 0 0 0 0 0;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;
	mso-font-charset:0;
	mso-generic-font-family:swiss;
	mso-font-pitch:variable;
	mso-font-signature:-536859905 -1073732485 9 0 511 0;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;
	mso-font-charset:0;
	mso-generic-font-family:swiss;
	mso-font-pitch:variable;
	mso-font-signature:-520081665 -1073717157 41 0 66047 0;}
@font-face
	{font-family:"Segoe UI";
	panose-1:2 11 5 2 4 2 4 2 2 3;
	mso-font-charset:0;
	mso-generic-font-family:swiss;
	mso-font-pitch:variable;
	mso-font-signature:-469750017 -1073683329 9 0 511 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-parent:"";
	margin:0cm;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;
	mso-fareast-font-family:Calibri;
	mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;
	text-underline:single;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-noshow:yes;
	mso-style-priority:99;
	color:purple;
	text-decoration:underline;
	text-underline:single;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
	{mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-link:"Balloon Text Char";
	margin:0cm;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:8.0pt;
	font-family:"Tahoma",sans-serif;
	mso-fareast-font-family:Calibri;
	mso-fareast-language:EN-US;}
p.msonormal0, li.msonormal0, div.msonormal0
	{mso-style-name:msonormal;
	mso-style-unhide:no;
	mso-margin-top-alt:auto;
	margin-right:0cm;
	mso-margin-bottom-alt:auto;
	margin-left:0cm;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	font-family:"Times New Roman",serif;
	mso-fareast-font-family:Calibri;}
span.BalloonTextChar
	{mso-style-name:"Balloon Text Char";
	mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-unhide:no;
	mso-style-locked:yes;
	mso-style-link:"Balloon Text";
	mso-ansi-font-size:9.0pt;
	mso-bidi-font-size:9.0pt;
	font-family:"Segoe UI",sans-serif;
	mso-ascii-font-family:"Segoe UI";
	mso-fareast-font-family:Calibri;
	mso-hansi-font-family:"Segoe UI";
	mso-bidi-font-family:"Segoe UI";
	mso-fareast-language:EN-US;}
span.EmailStyle20
	{mso-style-type:personal;
	mso-style-noshow:yes;
	mso-style-unhide:no;
	font-family:"Calibri",sans-serif;
	mso-ascii-font-family:Calibri;
	mso-hansi-font-family:Calibri;
	mso-bidi-font-family:Calibri;
	color:windowtext;}
span.EmailStyle21
	{mso-style-type:personal;
	mso-style-noshow:yes;
	mso-style-unhide:no;
	font-family:"Calibri",sans-serif;
	mso-ascii-font-family:Calibri;
	mso-hansi-font-family:Calibri;
	mso-bidi-font-family:Calibri;
	color:#1F497D;}
span.EmailStyle22
	{mso-style-type:personal;
	mso-style-noshow:yes;
	mso-style-unhide:no;
	font-family:"Calibri",sans-serif;
	mso-ascii-font-family:Calibri;
	mso-hansi-font-family:Calibri;
	mso-bidi-font-family:Calibri;
	color:#1F497D;}
p.Sprechblasentext, li.Sprechblasentext, div.Sprechblasentext
	{mso-style-name:Sprechblasentext;
	mso-style-unhide:no;
	mso-style-link:"Sprechblasentext Zchn";
	margin:0cm;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;
	mso-fareast-font-family:Calibri;
	mso-fareast-language:EN-US;}
span.SprechblasentextZchn
	{mso-style-name:"Sprechblasentext Zchn";
	mso-style-priority:99;
	mso-style-unhide:no;
	mso-style-locked:yes;
	mso-style-link:Sprechblasentext;
	font-family:"Tahoma",sans-serif;
	mso-ascii-font-family:Tahoma;
	mso-hansi-font-family:Tahoma;
	mso-bidi-font-family:Tahoma;
	mso-fareast-language:EN-US;}
span.EmailStyle25
	{mso-style-type:personal-reply;
	mso-style-noshow:yes;
	mso-style-unhide:no;
	mso-ansi-font-size:10.0pt;
	mso-bidi-font-size:11.0pt;
	font-family:"Courier New";
	mso-ascii-font-family:"Courier New";
	mso-hansi-font-family:"Courier New";
	mso-bidi-font-family:"Times New Roman";
	color:#1F497D;
	font-weight:normal;
	font-style:normal;}
span.SpellE
	{mso-style-name:"";
	mso-spl-e:yes;}
.MsoChpDefault
	{mso-style-type:export-only;
	mso-default-props:yes;
	font-size:10.0pt;
	mso-ansi-font-size:10.0pt;
	mso-bidi-font-size:10.0pt;}
@page WordSection1
	{size:612.0pt 792.0pt;
	margin:70.85pt 70.85pt 2.0cm 70.85pt;
	mso-header-margin:36.0pt;
	mso-footer-margin:36.0pt;
	mso-paper-source:0;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 10]><style>/* Style Definitions */
table.MsoNormalTable
	{mso-style-name:"Table Normal";
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-parent:"";
	mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
	mso-para-margin:0cm;
	mso-para-margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:10.0pt;
	font-family:"Times New Roman",serif;}
</style><![endif]--><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=3D"EN-GB" link=3D"blue" vlink=3D"purple" style=3D"tab-interval:3=
6.0pt">
<div class=3D"WordSection1">
<p class=3D"MsoNormal"><font size=3D"2" color=3D"#1f497d" face=3D"Courier N=
ew"><span style=3D"font-size:10.0pt;mso-bidi-font-size:11.0pt;font-family:&=
quot;Courier New&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;col=
or:#1F497D">Jens,<o:p></o:p></span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" color=3D"#1f497d" face=3D"Courier N=
ew"><span style=3D"font-size:10.0pt;mso-bidi-font-size:11.0pt;font-family:&=
quot;Courier New&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;col=
or:#1F497D"><o:p>&nbsp;</o:p></span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" color=3D"#1f497d" face=3D"Courier N=
ew"><span style=3D"font-size:10.0pt;mso-bidi-font-size:11.0pt;font-family:&=
quot;Courier New&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;col=
or:#1F497D"><span style=3D"mso-spacerun:yes">&nbsp;
</span>Glad you got things working again. I suspect you might have run into=
 a kernel bug that Microsoft introduced a while ago and shipped in a Window=
s update. It causes blue-screens when the PV network driver allocates memor=
y. If this happens during driver
 bring-up, as a safety net, the behaviour of the system is to fall back to =
using the emulated network device. A subsequent attempt to enable the PV dr=
iver will just hit the same blue-screen. Microsoft have fixed the problem s=
o, as long as your kernel is fully
 up-to-date, your PV driver should no longer hit the kernel bug.<o:p></o:p>=
</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" color=3D"#1f497d" face=3D"Courier N=
ew"><span style=3D"font-size:10.0pt;mso-bidi-font-size:11.0pt;font-family:&=
quot;Courier New&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;col=
or:#1F497D"><span style=3D"mso-spacerun:yes">&nbsp;
</span>I&#8217;m not aware of any compatibility issues with Xen 4.4.4, or o=
lder <span class=3D"SpellE">
Debian</span> dom0 kernels, but 4.4.4 is very old now and has been out of s=
ecurity support for a while so updating to a newer hypervisor and dom0 kern=
el is a good move anyway.<o:p></o:p></span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" color=3D"#1f497d" face=3D"Courier N=
ew"><span style=3D"font-size:10.0pt;mso-bidi-font-size:11.0pt;font-family:&=
quot;Courier New&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;col=
or:#1F497D"><o:p>&nbsp;</o:p></span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" color=3D"#1f497d" face=3D"Courier N=
ew"><span style=3D"font-size:10.0pt;mso-bidi-font-size:11.0pt;font-family:&=
quot;Courier New&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;col=
or:#1F497D"><span style=3D"mso-spacerun:yes">&nbsp;
</span>Cheers,<o:p></o:p></span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" color=3D"#1f497d" face=3D"Courier N=
ew"><span style=3D"font-size:10.0pt;mso-bidi-font-size:11.0pt;font-family:&=
quot;Courier New&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;col=
or:#1F497D"><o:p>&nbsp;</o:p></span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" color=3D"#1f497d" face=3D"Courier N=
ew"><span style=3D"font-size:10.0pt;mso-bidi-font-size:11.0pt;font-family:&=
quot;Courier New&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;col=
or:#1F497D"><span style=3D"mso-spacerun:yes">&nbsp;&nbsp;&nbsp;
</span>Paul<o:p></o:p></span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" color=3D"#1f497d" face=3D"Courier N=
ew"><span style=3D"font-size:10.0pt;mso-bidi-font-size:11.0pt;font-family:&=
quot;Courier New&quot;;mso-bidi-font-family:&quot;Times New Roman&quot;;col=
or:#1F497D"><o:p>&nbsp;</o:p></span></font></p>
<div style=3D"border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm =
4.0pt">
<div>
<div style=3D"border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm =
0cm 0cm">
<p class=3D"MsoNormal"><b><font size=3D"2" face=3D"Calibri"><span lang=3D"E=
N-US" style=3D"font-size:11.0pt;mso-fareast-font-family:&quot;Times New Rom=
an&quot;;mso-ansi-language:EN-US;mso-fareast-language:EN-GB;font-weight:bol=
d">From:</span></font></b><span lang=3D"EN-US" style=3D"mso-fareast-font-fa=
mily:&quot;Times New Roman&quot;;mso-ansi-language:EN-US;mso-fareast-langua=
ge:EN-GB">
 win-pv-devel [mailto:win-pv-devel-bounces@lists.xenproject.org] <b><span s=
tyle=3D"font-weight:bold">On Behalf Of
</span></b>Jens Hauser<br>
<b><span style=3D"font-weight:bold">Sent:</span></b> 18 November 2018 17:39=
<br>
<b><span style=3D"font-weight:bold">To:</span></b> win-pv-devel@lists.xenpr=
oject.org<br>
<b><span style=3D"font-weight:bold">Subject:</span></b> Re: [win-pv-devel] =
Xen 4.4.4 &#43; Win PV Drivers 8.2.1 &#43; Windows Server 2016 - Only Safe =
Mode working<o:p></o:p></span></p>
</div>
</div>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt"><o:p>&nbsp;</o:p></span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" color=3D"#1f497d" face=3D"Calibri">=
<span lang=3D"DE" style=3D"font-size:11.0pt;color:#1F497D;mso-ansi-language=
:DE">After three days of struggling with the system I finally got it workin=
g again: As a last approach (I should have done
 that early I guess) I upgraded the DomHost operating system from Debian 8 =
to Debian 9 Stretch &#8211; and both Windows Servers started just fine.<o:p=
></o:p></span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" color=3D"#1f497d" face=3D"Calibri">=
<span lang=3D"DE" style=3D"font-size:11.0pt;color:#1F497D;mso-ansi-language=
:DE"><o:p>&nbsp;</o:p></span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" color=3D"#1f497d" face=3D"Calibri">=
<span lang=3D"DE" style=3D"font-size:11.0pt;color:#1F497D;mso-ansi-language=
:DE">I didn&#8217;t do that before because I thought that Xen 4.4.4 brought=
 with Jessie is fine enough for current Windows operating
 systems &#8211; well, seems it&#8217;s not.<o:p></o:p></span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" color=3D"#1f497d" face=3D"Calibri">=
<span lang=3D"DE" style=3D"font-size:11.0pt;color:#1F497D;mso-ansi-language=
:DE"><o:p>&nbsp;</o:p></span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" color=3D"#1f497d" face=3D"Calibri">=
<span lang=3D"DE" style=3D"font-size:11.0pt;color:#1F497D;mso-ansi-language=
:DE">Regards,<o:p></o:p></span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" color=3D"#1f497d" face=3D"Calibri">=
<span lang=3D"DE" style=3D"font-size:11.0pt;color:#1F497D;mso-ansi-language=
:DE">Jens<o:p></o:p></span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" color=3D"#1f497d" face=3D"Calibri">=
<span lang=3D"DE" style=3D"font-size:11.0pt;color:#1F497D;mso-ansi-language=
:DE"><o:p>&nbsp;</o:p></span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" color=3D"#1f497d" face=3D"Calibri">=
<span lang=3D"DE" style=3D"font-size:11.0pt;color:#1F497D;mso-ansi-language=
:DE"><o:p>&nbsp;</o:p></span></font></p>
<div style=3D"border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm =
4.0pt">
<div>
<div style=3D"border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm =
0cm 0cm">
<p class=3D"MsoNormal" style=3D"mso-outline-level:1"><b><font size=3D"2" fa=
ce=3D"Tahoma"><span lang=3D"DE" style=3D"font-size:10.0pt;font-family:&quot=
;Tahoma&quot;,sans-serif;mso-ansi-language:DE;mso-fareast-language:DE;font-=
weight:bold">Von:</span></font></b><font size=3D"2" face=3D"Tahoma"><span l=
ang=3D"DE" style=3D"font-size:10.0pt;font-family:&quot;Tahoma&quot;,sans-se=
rif;mso-ansi-language:DE;mso-fareast-language:DE">
 win-pv-devel [<a href=3D"mailto:win-pv-devel-bounces@lists.xenproject.org"=
>mailto:win-pv-devel-bounces@lists.xenproject.org</a>]
<b><span style=3D"font-weight:bold">Im Auftrag von </span></b>Jens Hauser<b=
r>
<b><span style=3D"font-weight:bold">Gesendet:</span></b> Sonntag, 18. Novem=
ber 2018 17:34<br>
<b><span style=3D"font-weight:bold">An:</span></b> <a href=3D"mailto:win-pv=
-devel@lists.xenproject.org">
win-pv-devel@lists.xenproject.org</a><br>
<b><span style=3D"font-weight:bold">Betreff:</span></b> Re: [win-pv-devel] =
Xen 4.4.4 &#43; Win PV Drivers 8.2.1 &#43; Windows Server 2016 - Only Safe =
Mode working<o:p></o:p></span></font></p>
</div>
</div>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span lang=3D"DE" =
style=3D"font-size:11.0pt;mso-ansi-language:DE"><o:p>&nbsp;</o:p></span></f=
ont></p>
<p class=3D"MsoNormal"><font size=3D"2" color=3D"#1f497d" face=3D"Calibri">=
<span lang=3D"DE" style=3D"font-size:11.0pt;color:#1F497D;mso-ansi-language=
:DE">BTW: This seems to be the same problem:<o:p></o:p></span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" color=3D"#1f497d" face=3D"Calibri">=
<span lang=3D"DE" style=3D"font-size:11.0pt;color:#1F497D;mso-ansi-language=
:DE"><o:p>&nbsp;</o:p></span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" color=3D"#1f497d" face=3D"Calibri">=
<span lang=3D"DE" style=3D"font-size:11.0pt;color:#1F497D;mso-ansi-language=
:DE"><a href=3D"https://discussions.citrix.com/topic/395149-windows-10-upda=
tes-reverts-nic-to-realtek-driver/">https://discussions.citrix.com/topic/39=
5149-windows-10-updates-reverts-nic-to-realtek-driver/</a><o:p></o:p></span=
></font></p>
<p class=3D"MsoNormal"><font size=3D"2" color=3D"#1f497d" face=3D"Calibri">=
<span lang=3D"DE" style=3D"font-size:11.0pt;color:#1F497D;mso-ansi-language=
:DE"><o:p>&nbsp;</o:p></span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" color=3D"#1f497d" face=3D"Calibri">=
<span lang=3D"DE" style=3D"font-size:11.0pt;color:#1F497D;mso-ansi-language=
:DE">But I&#8217;m afraid I cannot upgrade my Xen so easily as I am pinned =
to the stable branch of Debian. Maybe I&#8217;ll give it
 a try with Debian 9 &#8230;<o:p></o:p></span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" color=3D"#1f497d" face=3D"Calibri">=
<span lang=3D"DE" style=3D"font-size:11.0pt;color:#1F497D;mso-ansi-language=
:DE"><o:p>&nbsp;</o:p></span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" color=3D"#1f497d" face=3D"Calibri">=
<span lang=3D"DE" style=3D"font-size:11.0pt;color:#1F497D;mso-ansi-language=
:DE">Kind regards,<o:p></o:p></span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" color=3D"#1f497d" face=3D"Calibri">=
<span lang=3D"DE" style=3D"font-size:11.0pt;color:#1F497D;mso-ansi-language=
:DE">Jens<o:p></o:p></span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" color=3D"#1f497d" face=3D"Calibri">=
<span lang=3D"DE" style=3D"font-size:11.0pt;color:#1F497D;mso-ansi-language=
:DE"><o:p>&nbsp;</o:p></span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" color=3D"#1f497d" face=3D"Calibri">=
<span lang=3D"DE" style=3D"font-size:11.0pt;color:#1F497D;mso-ansi-language=
:DE"><o:p>&nbsp;</o:p></span></font></p>
<div style=3D"border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm =
4.0pt">
<div>
<div style=3D"border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm =
0cm 0cm">
<p class=3D"MsoNormal" style=3D"mso-outline-level:1"><b><font size=3D"2" fa=
ce=3D"Tahoma"><span lang=3D"DE" style=3D"font-size:10.0pt;font-family:&quot=
;Tahoma&quot;,sans-serif;mso-ansi-language:DE;mso-fareast-language:DE;font-=
weight:bold">Von:</span></font></b><font size=3D"2" face=3D"Tahoma"><span l=
ang=3D"DE" style=3D"font-size:10.0pt;font-family:&quot;Tahoma&quot;,sans-se=
rif;mso-ansi-language:DE;mso-fareast-language:DE">
 win-pv-devel [<a href=3D"mailto:win-pv-devel-bounces@lists.xenproject.org"=
>mailto:win-pv-devel-bounces@lists.xenproject.org</a>]
<b><span style=3D"font-weight:bold">Im Auftrag von </span></b>Jens Hauser<b=
r>
<b><span style=3D"font-weight:bold">Gesendet:</span></b> Sonntag, 18. Novem=
ber 2018 15:47<br>
<b><span style=3D"font-weight:bold">An:</span></b> <a href=3D"mailto:win-pv=
-devel@lists.xenproject.org">
win-pv-devel@lists.xenproject.org</a><br>
<b><span style=3D"font-weight:bold">Betreff:</span></b> [win-pv-devel] Xen =
4.4.4 &#43; Win PV Drivers 8.2.1 &#43; Windows Server 2016 - Only Safe Mode=
 working<o:p></o:p></span></font></p>
</div>
</div>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span lang=3D"DE" =
style=3D"font-size:11.0pt;mso-ansi-language:DE"><o:p>&nbsp;</o:p></span></f=
ont></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span lang=3D"DE" =
style=3D"font-size:11.0pt;mso-ansi-language:DE">Hello List,<o:p></o:p></spa=
n></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span lang=3D"DE" =
style=3D"font-size:11.0pt;mso-ansi-language:DE"><o:p>&nbsp;</o:p></span></f=
ont></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span lang=3D"DE" =
style=3D"font-size:11.0pt;mso-ansi-language:DE">I had a Windows Server 2016=
 as a DomU on a Debian 8.11 now up and running for about 6 month without an=
y problems. The system contains an Exchange
 Server &#8211; everything worked smooth.<o:p></o:p></span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span lang=3D"DE" =
style=3D"font-size:11.0pt;mso-ansi-language:DE"><o:p>&nbsp;</o:p></span></f=
ont></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span lang=3D"DE" =
style=3D"font-size:11.0pt;mso-ansi-language:DE">On last Friday the system s=
eems to have rebooted due to Windows updates automatically installed. After=
 that I found the server freezed in a screen
 with the no longer animated icons.<o:p></o:p></span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span lang=3D"DE" =
style=3D"font-size:11.0pt;mso-ansi-language:DE">Another 2012 R2 server was =
running fine without any problems.<o:p></o:p></span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span lang=3D"DE" =
style=3D"font-size:11.0pt;mso-ansi-language:DE"><o:p>&nbsp;</o:p></span></f=
ont></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span lang=3D"DE" =
style=3D"font-size:11.0pt;mso-ansi-language:DE">So I tried to find out what=
s wrong and narrowed it down tot he network driver as far as I can tell. I =
found entries in ntbtlog.txt which said that
 &#8222;AFD.SYS&#8220; was not loaded at boot.<o:p></o:p></span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span lang=3D"DE" =
style=3D"font-size:11.0pt;mso-ansi-language:DE">The first tries I was unabl=
e to boot into safe mode. After a few hickups the system booted into Safe M=
ode saying that an upgrade didn&#8217;t work and
 that it was to be rolled back. After that I was able to get into Safe Mode=
 but first only the one without network drivers.<o:p></o:p></span></font></=
p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span lang=3D"DE" =
style=3D"font-size:11.0pt;mso-ansi-language:DE"><o:p>&nbsp;</o:p></span></f=
ont></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span lang=3D"DE" =
style=3D"font-size:11.0pt;mso-ansi-language:DE">If I disable Realtek RTL813=
9 C network card I can boot into normal operation. With this network card e=
nabled the boot hangs as before.<o:p></o:p></span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span lang=3D"DE" =
style=3D"font-size:11.0pt;mso-ansi-language:DE"><o:p>&nbsp;</o:p></span></f=
ont></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span lang=3D"DE" =
style=3D"font-size:11.0pt;mso-ansi-language:DE">After installation of Xen P=
roject Win PV drivers 8.2.1 all the necessary devices where found but a reb=
oot leads tot he Windows screen with the animated
 icons floating endlessly.<o:p></o:p></span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span lang=3D"DE" =
style=3D"font-size:11.0pt;mso-ansi-language:DE"><o:p>&nbsp;</o:p></span></f=
ont></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span lang=3D"DE" =
style=3D"font-size:11.0pt;mso-ansi-language:DE">It all seems to be related =
to network stuff. There is this Realtek Card which needs to be disabled and=
 it&#8217;s not vanishing if I install the PV drivers
 &#8211; even if the Xen PV Network Device #0 is showing up the Realtek Car=
d is still there.<o:p></o:p></span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span lang=3D"DE" =
style=3D"font-size:11.0pt;mso-ansi-language:DE"><o:p>&nbsp;</o:p></span></f=
ont></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span lang=3D"DE" =
style=3D"font-size:11.0pt;mso-ansi-language:DE">Is there any chance to fix =
this issue? Or do I need to install the server as a new system?<o:p></o:p><=
/span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span lang=3D"DE" =
style=3D"font-size:11.0pt;mso-ansi-language:DE"><o:p>&nbsp;</o:p></span></f=
ont></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span lang=3D"DE" =
style=3D"font-size:11.0pt;mso-ansi-language:DE">Kind regards,<o:p></o:p></s=
pan></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span lang=3D"DE" =
style=3D"font-size:11.0pt;mso-ansi-language:DE">Jens<o:p></o:p></span></fon=
t></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span lang=3D"DE" =
style=3D"font-size:11.0pt;mso-ansi-language:DE"><o:p>&nbsp;</o:p></span></f=
ont></p>
</div>
</div>
</div>
</div>
</body>
</html>

--_000_82e756dc3fe94d8e9496286f11547ed7AMSPEX02CL03citritenet_--


--===============1285482137791805518==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

--===============1285482137791805518==--


From win-pv-devel-bounces@lists.xenproject.org Mon Nov 19 21:27:57 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 19 Nov 2018 21:27:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1gOr5H-0006Nk-7N; Mon, 19 Nov 2018 21:27:55 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=bc4m=n6=pilsgenuss.de=hauser@srs-us1.protection.inumbo.net>)
 id 1gOr5F-0006Nf-Jw
 for win-pv-devel@lists.xenproject.org; Mon, 19 Nov 2018 21:27:53 +0000
X-Inumbo-ID: f680457c-ec41-11e8-9a16-bc764e045a96
Received: from mail.helena.bloombox.de (unknown [195.5.191.48])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id f680457c-ec41-11e8-9a16-bc764e045a96;
 Mon, 19 Nov 2018 21:27:49 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mail.helena.bloombox.de (Postfix) with ESMTP id 748471757E7;
 Mon, 19 Nov 2018 22:27:48 +0100 (CET)
X-Virus-Scanned: Debian amavisd-new at .
Received: from mail.helena.bloombox.de ([127.0.0.1])
 by localhost (helena.bloombox.de [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id J9O29TpUK5AB; Mon, 19 Nov 2018 22:27:47 +0100 (CET)
Received: from Antigone (ip-176-199-211-236.hsi06.unitymediagroup.de
 [176.199.211.236])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mail.helena.bloombox.de (Postfix) with ESMTPSA id 4EB561757E6;
 Mon, 19 Nov 2018 22:27:47 +0100 (CET)
From: "Jens Hauser" <hauser@pilsgenuss.de>
To: "'Paul Durrant'" <Paul.Durrant@citrix.com>,
 <win-pv-devel@lists.xenproject.org>
References: <008d01d47f4d$84f057e0$8ed107a0$@pilsgenuss.de>
 <00e101d47f5c$7fa16770$7ee43650$@pilsgenuss.de>
 <011b01d47f65$9bd18110$d3748330$@pilsgenuss.de>
 <82e756dc3fe94d8e9496286f11547ed7@AMSPEX02CL03.citrite.net>
In-Reply-To: <82e756dc3fe94d8e9496286f11547ed7@AMSPEX02CL03.citrite.net>
Date: Mon, 19 Nov 2018 22:26:49 +0100
Message-ID: <006901d4804e$94f314f0$bed93ed0$@pilsgenuss.de>
MIME-Version: 1.0
X-Mailer: Microsoft Outlook 14.0
Thread-Index: AQG7WILubqTpndTGk5m9SVRuznrFSgJIL627AmVmPdcCOJBwO6VSuMWQ
Content-Language: de
Subject: Re: [win-pv-devel] Xen 4.4.4 + Win PV Drivers 8.2.1 + Windows
 Server 2016 - Only Safe Mode working
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============7668685591316060877=="
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

This is a multipart message in MIME format.

--===============7668685591316060877==
Content-Type: multipart/alternative;
	boundary="----=_NextPart_000_006A_01D48056.F6B9EDF0"
Content-Language: de

This is a multipart message in MIME format.

------=_NextPart_000_006A_01D48056.F6B9EDF0
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit

Dear Paul,

 

thank you for your explanation although I think I never saw a blue-screen
the last three days. It was just that the virtual Windows kind of hangs in
two different kinds. The first one (with only the RTL8139 C device active)
freezes the system with no more rotating dots while booting. CPU usage fell
to "0". The second one (after installation of current Windows PV drivers)
kind of freezes with dots still rotating. CPU consumption always changes
around 32% while 4 cores available to the virtual system (xl top view).

 

I had those blue-screens  when I was using gplpv drivers about a year ago
after updating operating system.

 

Xen 4.4.4 is the current version of Debian Jessie - the LTS version which I
normally prefer for production systems. Your hint concerning security
support is kind of frightening . I will have a look which of our Dom0 are
still using this Debian version and upgrade soon.

 

Kind regards,

Jens

 

 

Von: Paul Durrant [mailto:Paul.Durrant@citrix.com] 
Gesendet: Montag, 19. November 2018 10:27
An: 'Jens Hauser'; win-pv-devel@lists.xenproject.org
Betreff: RE: [win-pv-devel] Xen 4.4.4 + Win PV Drivers 8.2.1 + Windows
Server 2016 - Only Safe Mode working

 

Jens,

 

  Glad you got things working again. I suspect you might have run into a
kernel bug that Microsoft introduced a while ago and shipped in a Windows
update. It causes blue-screens when the PV network driver allocates memory.
If this happens during driver bring-up, as a safety net, the behaviour of
the system is to fall back to using the emulated network device. A
subsequent attempt to enable the PV driver will just hit the same
blue-screen. Microsoft have fixed the problem so, as long as your kernel is
fully up-to-date, your PV driver should no longer hit the kernel bug.

  I'm not aware of any compatibility issues with Xen 4.4.4, or older Debian
dom0 kernels, but 4.4.4 is very old now and has been out of security support
for a while so updating to a newer hypervisor and dom0 kernel is a good move
anyway.

 

  Cheers,

 

    Paul

 

From: win-pv-devel [mailto:win-pv-devel-bounces@lists.xenproject.org] On
Behalf Of Jens Hauser
Sent: 18 November 2018 17:39
To: win-pv-devel@lists.xenproject.org
Subject: Re: [win-pv-devel] Xen 4.4.4 + Win PV Drivers 8.2.1 + Windows
Server 2016 - Only Safe Mode working

 

After three days of struggling with the system I finally got it working
again: As a last approach (I should have done that early I guess) I upgraded
the DomHost operating system from Debian 8 to Debian 9 Stretch - and both
Windows Servers started just fine.

 

I didn't do that before because I thought that Xen 4.4.4 brought with Jessie
is fine enough for current Windows operating systems - well, seems it's not.

 

Regards,

Jens

 

 

Von: win-pv-devel [mailto:win-pv-devel-bounces@lists.xenproject.org] Im
Auftrag von Jens Hauser
Gesendet: Sonntag, 18. November 2018 17:34
An: win-pv-devel@lists.xenproject.org
Betreff: Re: [win-pv-devel] Xen 4.4.4 + Win PV Drivers 8.2.1 + Windows
Server 2016 - Only Safe Mode working

 

BTW: This seems to be the same problem:

 

https://discussions.citrix.com/topic/395149-windows-10-updates-reverts-nic-t
o-realtek-driver/

 

But I'm afraid I cannot upgrade my Xen so easily as I am pinned to the
stable branch of Debian. Maybe I'll give it a try with Debian 9 .

 

Kind regards,

Jens

 

 

Von: win-pv-devel [mailto:win-pv-devel-bounces@lists.xenproject.org] Im
Auftrag von Jens Hauser
Gesendet: Sonntag, 18. November 2018 15:47
An: win-pv-devel@lists.xenproject.org
Betreff: [win-pv-devel] Xen 4.4.4 + Win PV Drivers 8.2.1 + Windows Server
2016 - Only Safe Mode working

 

Hello List,

 

I had a Windows Server 2016 as a DomU on a Debian 8.11 now up and running
for about 6 month without any problems. The system contains an Exchange
Server - everything worked smooth.

 

On last Friday the system seems to have rebooted due to Windows updates
automatically installed. After that I found the server freezed in a screen
with the no longer animated icons.

Another 2012 R2 server was running fine without any problems.

 

So I tried to find out whats wrong and narrowed it down tot he network
driver as far as I can tell. I found entries in ntbtlog.txt which said that
"AFD.SYS" was not loaded at boot.

The first tries I was unable to boot into safe mode. After a few hickups the
system booted into Safe Mode saying that an upgrade didn't work and that it
was to be rolled back. After that I was able to get into Safe Mode but first
only the one without network drivers.

 

If I disable Realtek RTL8139 C network card I can boot into normal
operation. With this network card enabled the boot hangs as before.

 

After installation of Xen Project Win PV drivers 8.2.1 all the necessary
devices where found but a reboot leads tot he Windows screen with the
animated icons floating endlessly.

 

It all seems to be related to network stuff. There is this Realtek Card
which needs to be disabled and it's not vanishing if I install the PV
drivers - even if the Xen PV Network Device #0 is showing up the Realtek
Card is still there.

 

Is there any chance to fix this issue? Or do I need to install the server as
a new system?

 

Kind regards,

Jens

 


------=_NextPart_000_006A_01D48056.F6B9EDF0
Content-Type: text/html;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" =
xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" =
xmlns=3D"http://www.w3.org/TR/REC-html40"><head><META =
HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Dus-ascii"><meta name=3DGenerator content=3D"Microsoft Word 14 =
(filtered medium)"><style><!--
/* Font Definitions */
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
	{font-family:"Segoe UI";
	panose-1:2 11 5 2 4 2 4 2 2 3;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
	{mso-style-priority:99;
	mso-style-link:"Sprechblasentext Zchn";
	margin:0cm;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-fareast-language:EN-US;}
span.SprechblasentextZchn
	{mso-style-name:"Sprechblasentext Zchn";
	mso-style-priority:99;
	mso-style-link:Sprechblasentext;
	font-family:"Tahoma","sans-serif";
	mso-fareast-language:EN-US;}
p.msonormal0, li.msonormal0, div.msonormal0
	{mso-style-name:msonormal;
	mso-margin-top-alt:auto;
	margin-right:0cm;
	mso-margin-bottom-alt:auto;
	margin-left:0cm;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
p.BalloonText, li.BalloonText, div.BalloonText
	{mso-style-name:"Balloon Text";
	mso-style-link:"Balloon Text Char";
	margin:0cm;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-fareast-language:EN-US;}
span.BalloonTextChar
	{mso-style-name:"Balloon Text Char";
	mso-style-priority:99;
	mso-style-link:"Balloon Text";
	font-family:"Segoe UI","sans-serif";
	mso-fareast-language:EN-US;}
span.E-MailFormatvorlage22
	{mso-style-type:personal;
	font-family:"Calibri","sans-serif";
	color:windowtext;}
span.E-MailFormatvorlage23
	{mso-style-type:personal;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.E-MailFormatvorlage24
	{mso-style-type:personal;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.E-MailFormatvorlage25
	{mso-style-type:personal;
	font-family:"Courier New";
	color:#1F497D;
	font-weight:normal;
	font-style:normal;}
span.E-MailFormatvorlage27
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:612.0pt 792.0pt;
	margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]--></head><body lang=3DDE link=3Dblue =
vlink=3Dpurple><div class=3DWordSection1><p class=3DMsoNormal><span =
style=3D'color:#1F497D'>Dear Paul,<o:p></o:p></span></p><p =
class=3DMsoNormal><span =
style=3D'color:#1F497D'><o:p>&nbsp;</o:p></span></p><p =
class=3DMsoNormal><span style=3D'color:#1F497D'>thank you for your =
explanation although I think I never saw a blue-screen the last three =
days. It was just that the virtual Windows kind of hangs in two =
different kinds. The first one (with only the RTL8139 C device active) =
freezes the system with no more rotating dots while booting. CPU usage =
fell to &#8222;0&#8220;. The second one (after installation of current =
Windows PV drivers) kind of freezes with dots still rotating. CPU =
consumption always changes around 32% while 4 cores available to the =
virtual system (xl top view).<o:p></o:p></span></p><p =
class=3DMsoNormal><span =
style=3D'color:#1F497D'><o:p>&nbsp;</o:p></span></p><p =
class=3DMsoNormal><span style=3D'color:#1F497D'>I had those =
blue-screens&nbsp; when I was using gplpv drivers about a year ago after =
updating operating system.<o:p></o:p></span></p><p =
class=3DMsoNormal><span =
style=3D'color:#1F497D'><o:p>&nbsp;</o:p></span></p><p =
class=3DMsoNormal><span style=3D'color:#1F497D'>Xen 4.4.4 is the current =
version of Debian Jessie &#8211; the LTS version which I normally prefer =
for production systems. Your hint concerning security support is kind of =
frightening &#8230; I will have a look which of our Dom0 are still using =
this Debian version and upgrade soon.<o:p></o:p></span></p><p =
class=3DMsoNormal><span =
style=3D'color:#1F497D'><o:p>&nbsp;</o:p></span></p><p =
class=3DMsoNormal><span style=3D'color:#1F497D'>Kind =
regards,<o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'color:#1F497D'>Jens<o:p></o:p></span></p><p =
class=3DMsoNormal><span =
style=3D'color:#1F497D'><o:p>&nbsp;</o:p></span></p><p =
class=3DMsoNormal><span =
style=3D'color:#1F497D'><o:p>&nbsp;</o:p></span></p><div =
style=3D'border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm =
4.0pt'><div><div style=3D'border:none;border-top:solid #B5C4DF =
1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=3DMsoNormal><b><span =
style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif";mso-fareast-l=
anguage:DE'>Von:</span></b><span =
style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif";mso-fareast-l=
anguage:DE'> Paul Durrant [mailto:Paul.Durrant@citrix.com] =
<br><b>Gesendet:</b> Montag, 19. November 2018 10:27<br><b>An:</b> 'Jens =
Hauser'; win-pv-devel@lists.xenproject.org<br><b>Betreff:</b> RE: =
[win-pv-devel] Xen 4.4.4 + Win PV Drivers 8.2.1 + Windows Server 2016 - =
Only Safe Mode working<o:p></o:p></span></p></div></div><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal><span =
lang=3DEN-GB style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#1F497D'>Jens,<o:p></o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-GB =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-GB =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#1F497D'>&nbsp; Glad you got things working again. I suspect =
you might have run into a kernel bug that Microsoft introduced a while =
ago and shipped in a Windows update. It causes blue-screens when the PV =
network driver allocates memory. If this happens during driver bring-up, =
as a safety net, the behaviour of the system is to fall back to using =
the emulated network device. A subsequent attempt to enable the PV =
driver will just hit the same blue-screen. Microsoft have fixed the =
problem so, as long as your kernel is fully up-to-date, your PV driver =
should no longer hit the kernel bug.<o:p></o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-GB =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#1F497D'>&nbsp; I&#8217;m not aware of any compatibility =
issues with Xen 4.4.4, or older Debian dom0 kernels, but 4.4.4 is very =
old now and has been out of security support for a while so updating to =
a newer hypervisor and dom0 kernel is a good move =
anyway.<o:p></o:p></span></p><p class=3DMsoNormal><span lang=3DEN-GB =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-GB =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#1F497D'>&nbsp; Cheers,<o:p></o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-GB =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-GB =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#1F497D'>&nbsp;&nbsp;&nbsp; Paul<o:p></o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-GB =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#1F497D'><o:p>&nbsp;</o:p></span></p><div =
style=3D'border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm =
4.0pt'><div><div style=3D'border:none;border-top:solid #E1E1E1 =
1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=3DMsoNormal><b><span =
lang=3DEN-US style=3D'mso-fareast-language:EN-GB'>From:</span></b><span =
lang=3DEN-US style=3D'mso-fareast-language:EN-GB'> win-pv-devel [<a =
href=3D"mailto:win-pv-devel-bounces@lists.xenproject.org">mailto:win-pv-d=
evel-bounces@lists.xenproject.org</a>] <b>On Behalf Of </b>Jens =
Hauser<br><b>Sent:</b> 18 November 2018 17:39<br><b>To:</b> <a =
href=3D"mailto:win-pv-devel@lists.xenproject.org">win-pv-devel@lists.xenp=
roject.org</a><br><b>Subject:</b> Re: [win-pv-devel] Xen 4.4.4 + Win PV =
Drivers 8.2.1 + Windows Server 2016 - Only Safe Mode =
working<o:p></o:p></span></p></div></div><p class=3DMsoNormal><span =
lang=3DEN-GB><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span =
style=3D'color:#1F497D'>After three days of struggling with the system I =
finally got it working again: As a last approach (I should have done =
that early I guess) I upgraded the DomHost operating system from Debian =
8 to Debian 9 Stretch &#8211; and both Windows Servers started just =
fine.<o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'color:#1F497D'><o:p>&nbsp;</o:p></span></p><p =
class=3DMsoNormal><span style=3D'color:#1F497D'>I didn&#8217;t do that =
before because I thought that Xen 4.4.4 brought with Jessie is fine =
enough for current Windows operating systems &#8211; well, seems =
it&#8217;s not.<o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'color:#1F497D'><o:p>&nbsp;</o:p></span></p><p =
class=3DMsoNormal><span =
style=3D'color:#1F497D'>Regards,<o:p></o:p></span></p><p =
class=3DMsoNormal><span =
style=3D'color:#1F497D'>Jens<o:p></o:p></span></p><p =
class=3DMsoNormal><span =
style=3D'color:#1F497D'><o:p>&nbsp;</o:p></span></p><p =
class=3DMsoNormal><span =
style=3D'color:#1F497D'><o:p>&nbsp;</o:p></span></p><div =
style=3D'border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm =
4.0pt'><div><div style=3D'border:none;border-top:solid #B5C4DF =
1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=3DMsoNormal><b><span =
style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif";mso-fareast-l=
anguage:DE'>Von:</span></b><span =
style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif";mso-fareast-l=
anguage:DE'> win-pv-devel [<a =
href=3D"mailto:win-pv-devel-bounces@lists.xenproject.org">mailto:win-pv-d=
evel-bounces@lists.xenproject.org</a>] <b>Im Auftrag von </b>Jens =
Hauser<br><b>Gesendet:</b> Sonntag, 18. November 2018 =
17:34<br><b>An:</b> <a =
href=3D"mailto:win-pv-devel@lists.xenproject.org">win-pv-devel@lists.xenp=
roject.org</a><br><b>Betreff:</b> Re: [win-pv-devel] Xen 4.4.4 + Win PV =
Drivers 8.2.1 + Windows Server 2016 - Only Safe Mode =
working<o:p></o:p></span></p></div></div><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal><span =
style=3D'color:#1F497D'>BTW: This seems to be the same =
problem:<o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'color:#1F497D'><o:p>&nbsp;</o:p></span></p><p =
class=3DMsoNormal><span style=3D'color:#1F497D'><a =
href=3D"https://discussions.citrix.com/topic/395149-windows-10-updates-re=
verts-nic-to-realtek-driver/">https://discussions.citrix.com/topic/395149=
-windows-10-updates-reverts-nic-to-realtek-driver/</a><o:p></o:p></span><=
/p><p class=3DMsoNormal><span =
style=3D'color:#1F497D'><o:p>&nbsp;</o:p></span></p><p =
class=3DMsoNormal><span style=3D'color:#1F497D'>But I&#8217;m afraid I =
cannot upgrade my Xen so easily as I am pinned to the stable branch of =
Debian. Maybe I&#8217;ll give it a try with Debian 9 =
&#8230;<o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'color:#1F497D'><o:p>&nbsp;</o:p></span></p><p =
class=3DMsoNormal><span style=3D'color:#1F497D'>Kind =
regards,<o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'color:#1F497D'>Jens<o:p></o:p></span></p><p =
class=3DMsoNormal><span =
style=3D'color:#1F497D'><o:p>&nbsp;</o:p></span></p><p =
class=3DMsoNormal><span =
style=3D'color:#1F497D'><o:p>&nbsp;</o:p></span></p><div =
style=3D'border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm =
4.0pt'><div><div style=3D'border:none;border-top:solid #B5C4DF =
1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=3DMsoNormal><b><span =
style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif";mso-fareast-l=
anguage:DE'>Von:</span></b><span =
style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif";mso-fareast-l=
anguage:DE'> win-pv-devel [<a =
href=3D"mailto:win-pv-devel-bounces@lists.xenproject.org">mailto:win-pv-d=
evel-bounces@lists.xenproject.org</a>] <b>Im Auftrag von </b>Jens =
Hauser<br><b>Gesendet:</b> Sonntag, 18. November 2018 =
15:47<br><b>An:</b> <a =
href=3D"mailto:win-pv-devel@lists.xenproject.org">win-pv-devel@lists.xenp=
roject.org</a><br><b>Betreff:</b> [win-pv-devel] Xen 4.4.4 + Win PV =
Drivers 8.2.1 + Windows Server 2016 - Only Safe Mode =
working<o:p></o:p></span></p></div></div><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal>Hello =
List,<o:p></o:p></p><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><p =
class=3DMsoNormal>I had a Windows Server 2016 as a DomU on a Debian 8.11 =
now up and running for about 6 month without any problems. The system =
contains an Exchange Server &#8211; everything worked =
smooth.<o:p></o:p></p><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><p =
class=3DMsoNormal>On last Friday the system seems to have rebooted due =
to Windows updates automatically installed. After that I found the =
server freezed in a screen with the no longer animated =
icons.<o:p></o:p></p><p class=3DMsoNormal>Another 2012 R2 server was =
running fine without any problems.<o:p></o:p></p><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal>So I tried =
to find out whats wrong and narrowed it down tot he network driver as =
far as I can tell. I found entries in ntbtlog.txt which said that =
&#8222;AFD.SYS&#8220; was not loaded at boot.<o:p></o:p></p><p =
class=3DMsoNormal>The first tries I was unable to boot into safe mode. =
After a few hickups the system booted into Safe Mode saying that an =
upgrade didn&#8217;t work and that it was to be rolled back. After that =
I was able to get into Safe Mode but first only the one without network =
drivers.<o:p></o:p></p><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><p =
class=3DMsoNormal>If I disable Realtek RTL8139 C network card I can boot =
into normal operation. With this network card enabled the boot hangs as =
before.<o:p></o:p></p><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><p =
class=3DMsoNormal>After installation of Xen Project Win PV drivers 8.2.1 =
all the necessary devices where found but a reboot leads tot he Windows =
screen with the animated icons floating endlessly.<o:p></o:p></p><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal>It all seems =
to be related to network stuff. There is this Realtek Card which needs =
to be disabled and it&#8217;s not vanishing if I install the PV drivers =
&#8211; even if the Xen PV Network Device #0 is showing up the Realtek =
Card is still there.<o:p></o:p></p><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal>Is there any =
chance to fix this issue? Or do I need to install the server as a new =
system?<o:p></o:p></p><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><p =
class=3DMsoNormal>Kind regards,<o:p></o:p></p><p =
class=3DMsoNormal>Jens<o:p></o:p></p><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p></div></div></div></div></div></bo=
dy></html>
------=_NextPart_000_006A_01D48056.F6B9EDF0--



--===============7668685591316060877==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

--===============7668685591316060877==--



From win-pv-devel-bounces@lists.xenproject.org Tue Nov 27 23:19:56 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 27 Nov 2018 23:19:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1gRme2-0004EZ-3v; Tue, 27 Nov 2018 23:19:54 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=4ZH7=OG=schulzalex.de=code@srs-us1.protection.inumbo.net>)
 id 1gRme0-0004EU-TU
 for win-pv-devel@lists.xenproject.org; Tue, 27 Nov 2018 23:19:52 +0000
X-Inumbo-ID: f0818e64-f29a-11e8-861d-12d6303a7972
Received: from schulzalex.de (unknown [78.46.193.232])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id f0818e64-f29a-11e8-861d-12d6303a7972;
 Tue, 27 Nov 2018 23:19:51 +0000 (UTC)
Received: from [192.168.188.130] (cable-86-56-42-173.cust.telecolumbus.net
 [86.56.42.173])
 by schulzalex.de (Postfix) with ESMTPSA id 57A6C21C063
 for <win-pv-devel@lists.xenproject.org>; Wed, 28 Nov 2018 00:19:50 +0100 (CET)
To: win-pv-devel@lists.xenproject.org
From: code@schulzalex.de
Message-ID: <ab562eae-ead7-f49c-898e-85a204c7c2a8@schulzalex.de>
Date: Wed, 28 Nov 2018 00:19:49 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101
 Thunderbird/60.3.0
MIME-Version: 1.0
Subject: [win-pv-devel] How to debug windows drivers
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

SGVsbG8gQGFsbCwKCmlzIHRoZXJlIGEgaG93dG8gZm9yIGRlYnVnZ2luZyB0aGUgUFYtRHJpdmVy
cyBpbiBWaXN1YWwgU3R1ZGlvPyBJIHRyaWVkIAppbiBWaXN1YWwgU3R1ZGlvIDIwMTIgYW5kIDIw
MTcgKFdpbmRvd3MgS2VybmVsIE1vZGUgRGVidWdnZXJzKSBidXQgaGFkIApubyBsdWNrIHNvIGZh
ci4gSXQgc2VlbXMgdGhhdCBNUyBkb2Vzbid0IGhhdmUgYSBlYXN5IHdheSB0byBkbyB0aGlzLiBJ
IApyZWFkIGFuZCB0cmllZCBhbGwgdGhlIHN0dWZmIG9uIE1TRE4gKEtETkVULCBXaW5EYmcsIGV0
Yy4pLCBidXQgLi4uIDotKAoKSG93IGRvIHlvdSBkZWJ1ZyB0aGVzZSBkcml2ZXJzPwoKVGhhbmtz
IGZvciBhbnkgYWR2aWNlIG9yIHBvaW50ZXJzIQoKLS0gCkFsZXhhbmRlciBTY2h1bHoKWENQLW5n
IFByb2plY3QgTWVtYmVyCgpNYWludGFpbmVyIG9mOiBYQ1AtbmcgQ2VudGVyIGFuZCBYQ1Atbmcg
UFYtVG9vbHMKCgpYQ1AtbmcgUHJvamVjdAotLS0tLS0tLS0tLS0tLQp3ZWI6IGh0dHBzOi8veGNw
LW5nLm9yZwpHaXRodWI6IGh0dHBzOi8vZ2l0aHViLmNvbS94Y3AtbmcKSVJDOiAjeGNwLW5nIG9u
IEZyZWVub2RlCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18Kd2luLXB2LWRldmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVj
dC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1w
di1kZXZlbA==

From win-pv-devel-bounces@lists.xenproject.org Wed Nov 28 16:53:26 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 28 Nov 2018 16:53:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1gS35Y-0002Ou-Fe; Wed, 28 Nov 2018 16:53:24 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=4qx1=OH=citrix.com=prvs=863a5f629=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1gS35X-0002Ol-Ow
 for win-pv-devel@lists.xenproject.org; Wed, 28 Nov 2018 16:53:23 +0000
X-Inumbo-ID: 1d21b30c-f32e-11e8-8ade-12d6303a7972
Received: from SMTP.EU.CITRIX.COM (unknown [185.25.65.24])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 1d21b30c-f32e-11e8-8ade-12d6303a7972;
 Wed, 28 Nov 2018 16:53:22 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.56,291,1539648000"; d="scan'208";a="82486289"
From: Paul Durrant <Paul.Durrant@citrix.com>
To: "'code@schulzalex.de'" <code@schulzalex.de>,
 "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>
Thread-Topic: [win-pv-devel] How to debug windows drivers
Thread-Index: AQHUhqe/2JplJVetk0KoXP+n52qgjaVlZxOg
Date: Wed, 28 Nov 2018 16:52:20 +0000
Message-ID: <3b204ba47d794ff389e592301c938ec9@AMSPEX02CL03.citrite.net>
References: <ab562eae-ead7-f49c-898e-85a204c7c2a8@schulzalex.de>
In-Reply-To: <ab562eae-ead7-f49c-898e-85a204c7c2a8@schulzalex.de>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-transport-fromentityheader: Hosted
MIME-Version: 1.0
Subject: Re: [win-pv-devel] How to debug windows drivers
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiB3aW4tcHYtZGV2ZWwgW21haWx0
bzp3aW4tcHYtZGV2ZWwtYm91bmNlc0BsaXN0cy54ZW5wcm9qZWN0Lm9yZ10gT24NCj4gQmVoYWxm
IE9mIGNvZGVAc2NodWx6YWxleC5kZQ0KPiBTZW50OiAyNyBOb3ZlbWJlciAyMDE4IDIzOjIwDQo+
IFRvOiB3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcNCj4gU3ViamVjdDogW3dpbi1w
di1kZXZlbF0gSG93IHRvIGRlYnVnIHdpbmRvd3MgZHJpdmVycw0KPiANCj4gSGVsbG8gQGFsbCwN
Cj4gDQo+IGlzIHRoZXJlIGEgaG93dG8gZm9yIGRlYnVnZ2luZyB0aGUgUFYtRHJpdmVycyBpbiBW
aXN1YWwgU3R1ZGlvPyBJIHRyaWVkDQo+IGluIFZpc3VhbCBTdHVkaW8gMjAxMiBhbmQgMjAxNyAo
V2luZG93cyBLZXJuZWwgTW9kZSBEZWJ1Z2dlcnMpIGJ1dCBoYWQNCj4gbm8gbHVjayBzbyBmYXIu
IEl0IHNlZW1zIHRoYXQgTVMgZG9lc24ndCBoYXZlIGEgZWFzeSB3YXkgdG8gZG8gdGhpcy4gSQ0K
PiByZWFkIGFuZCB0cmllZCBhbGwgdGhlIHN0dWZmIG9uIE1TRE4gKEtETkVULCBXaW5EYmcsIGV0
Yy4pLCBidXQgLi4uIDotKA0KPiANCj4gSG93IGRvIHlvdSBkZWJ1ZyB0aGVzZSBkcml2ZXJzPw0K
DQpXaGF0IEkgbm9ybWFsbHkgZG8gaXMgc2V0IHVwIGEgdmlydHVhbCBzZXJpYWwgcG9ydCBpbiBR
RU1VIGFuZCB0aGVuIHNldCB1cCBXaW5kb3dzIHRvIGRlYnVnIHZpYSBzZXJpYWwuDQoNCk9uIHlv
dXIgY2xpZW50IG1hY2hpbmUgeW91IHRoZW4gbmVlZCB0byB1c2Ugc29tZXRoaW5nIHRvIG1hcCBh
IGxvY2FsIHBpcGUgb3Igc2VyaWFsIHBvcnQgdG8gdGhhdCB2aXJ0dWFsIHNlcmlhbCBkZXZpY2Uu
IFRoZXJlIGFyZSBzZXZlcmFsIHdheXMgb2YgZG9pbmcgaXQgYnV0IHRoZSBvbmUgSSBub3JtYWxs
eSB1c2UgaXMgdG8gaGF2ZSBRRU1VIG1hcCB0aGUgdmlydHVhbCBzZXJpYWwgcG9ydCB0byBhIFRD
UCBzb2NrZXQgYW5kIHRoZW4gSSBydW4gYSBzbWFsbCBkYWVtb24gb24gbXkgY2xpZW50IG1hY2hp
bmUgdGhhdCBjb25uZWN0cyB0byB0aGF0IHNvY2tldCBhbmQgcHVtcHMgZGF0YSBiZXR3ZWVuIHRo
YXQgYW5kIGEgbmFtZWQgcGlwZS4gSSB0aGVuIGNvbm5lY3QgV2luRGJnIHRvIHRoZSBuYW1lZCBw
aXBlLg0KDQogIEhUSCwNCg0KICAgIFBhdWwNCg0KPiANCj4gVGhhbmtzIGZvciBhbnkgYWR2aWNl
IG9yIHBvaW50ZXJzIQ0KPiANCj4gLS0NCj4gQWxleGFuZGVyIFNjaHVseg0KPiBYQ1AtbmcgUHJv
amVjdCBNZW1iZXINCj4gDQo+IE1haW50YWluZXIgb2Y6IFhDUC1uZyBDZW50ZXIgYW5kIFhDUC1u
ZyBQVi1Ub29scw0KPiANCj4gDQo+IFhDUC1uZyBQcm9qZWN0DQo+IC0tLS0tLS0tLS0tLS0tDQo+
IHdlYjogaHR0cHM6Ly94Y3Atbmcub3JnDQo+IEdpdGh1YjogaHR0cHM6Ly9naXRodWIuY29tL3hj
cC1uZw0KPiBJUkM6ICN4Y3Atbmcgb24gRnJlZW5vZGUNCj4gDQo+IA0KPiBfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPiB3aW4tcHYtZGV2ZWwgbWFpbGlu
ZyBsaXN0DQo+IHdpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZw0KPiBodHRwczovL2xp
c3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRldmVsDQpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwp3aW4tcHYtZGV2ZWwgbWFp
bGluZyBsaXN0Cndpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3Rz
LnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRldmVs

From win-pv-devel-bounces@lists.xenproject.org Thu Nov 29 10:16:57 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 29 Nov 2018 10:16:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1gSJNP-0000wa-Md; Thu, 29 Nov 2018 10:16:55 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=klbN=OH=schulzalex.de=mail@srs-us1.protection.inumbo.net>)
 id 1gS9D4-0002PW-TV
 for win-pv-devel@lists.xenproject.org; Wed, 28 Nov 2018 23:25:34 +0000
X-Inumbo-ID: e4b5846c-f364-11e8-8540-12d6303a7972
Received: from schulzalex.de (unknown [78.46.193.232])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id e4b5846c-f364-11e8-8540-12d6303a7972;
 Wed, 28 Nov 2018 23:25:29 +0000 (UTC)
Received: from [192.168.188.130] (cable-86-56-42-173.cust.telecolumbus.net
 [86.56.42.173])
 by schulzalex.de (Postfix) with ESMTPSA id D473D21C063
 for <win-pv-devel@lists.xenproject.org>; Thu, 29 Nov 2018 00:25:28 +0100 (CET)
To: win-pv-devel@lists.xenproject.org
References: <ab562eae-ead7-f49c-898e-85a204c7c2a8@schulzalex.de>
 <3b204ba47d794ff389e592301c938ec9@AMSPEX02CL03.citrite.net>
From: Alexander Schulz <mail@schulzalex.de>
Message-ID: <1222138d-c0db-2222-223d-db74b5546c9e@schulzalex.de>
Date: Thu, 29 Nov 2018 00:25:28 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101
 Thunderbird/60.3.1
MIME-Version: 1.0
In-Reply-To: <3b204ba47d794ff389e592301c938ec9@AMSPEX02CL03.citrite.net>
X-Mailman-Approved-At: Thu, 29 Nov 2018 10:16:53 +0000
Subject: Re: [win-pv-devel] How to debug windows drivers
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

SGVsbG8gQGFsbCwgSGVsbG8gUGF1bCwKCkkgdHJpZWQgdGhpcyBvbiBYQ1AtbmcsIGJ1dCB3aXRo
b3V0IGx1Y2sgYXMgeW91IGNhbiByZWFkIGhlcmU6IApodHRwczovL3hjcC1uZy5vcmcvZm9ydW0v
dG9waWMvNjgxL3NlcmlhbC1wb3J0LWZyb20tdm0KClNvIEkgYXNzdW1lIHRoYXQgeW91IChQYXVs
KSBqdXN0IGRldmVsb3Agb24gcGxhaW4gWEVOPyBEbyB5b3Ugb3Igc29tZW9uZSAKZWxzZSBrbm93
IGEgcHJvcGVyIHdheSB0byBkbyB0aGUgZGVidWdnaW5nIHVuZGVyIFhlblNlcnZlci9YQ1Atbmc/
Ckkgd29uZGVyIGhvdyBDaXRyaXggZGV2cyBkbyB0aGlzIDstKQoKVGhhbmtzIQoKQWxleAoKCkFt
IDI4LjExLjIwMTggdW0gMTc6NTIgc2NocmllYiBQYXVsIER1cnJhbnQ6Cj4+IC0tLS0tT3JpZ2lu
YWwgTWVzc2FnZS0tLS0tCj4+IEZyb206IHdpbi1wdi1kZXZlbCBbbWFpbHRvOndpbi1wdi1kZXZl
bC1ib3VuY2VzQGxpc3RzLnhlbnByb2plY3Qub3JnXSBPbgo+PiBCZWhhbGYgT2YgY29kZUBzY2h1
bHphbGV4LmRlCj4+IFNlbnQ6IDI3IE5vdmVtYmVyIDIwMTggMjM6MjAKPj4gVG86IHdpbi1wdi1k
ZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwo+PiBTdWJqZWN0OiBbd2luLXB2LWRldmVsXSBIb3cg
dG8gZGVidWcgd2luZG93cyBkcml2ZXJzCj4+Cj4+IEhlbGxvIEBhbGwsCj4+Cj4+IGlzIHRoZXJl
IGEgaG93dG8gZm9yIGRlYnVnZ2luZyB0aGUgUFYtRHJpdmVycyBpbiBWaXN1YWwgU3R1ZGlvPyBJ
IHRyaWVkCj4+IGluIFZpc3VhbCBTdHVkaW8gMjAxMiBhbmQgMjAxNyAoV2luZG93cyBLZXJuZWwg
TW9kZSBEZWJ1Z2dlcnMpIGJ1dCBoYWQKPj4gbm8gbHVjayBzbyBmYXIuIEl0IHNlZW1zIHRoYXQg
TVMgZG9lc24ndCBoYXZlIGEgZWFzeSB3YXkgdG8gZG8gdGhpcy4gSQo+PiByZWFkIGFuZCB0cmll
ZCBhbGwgdGhlIHN0dWZmIG9uIE1TRE4gKEtETkVULCBXaW5EYmcsIGV0Yy4pLCBidXQgLi4uIDot
KAo+Pgo+PiBIb3cgZG8geW91IGRlYnVnIHRoZXNlIGRyaXZlcnM/Cj4gV2hhdCBJIG5vcm1hbGx5
IGRvIGlzIHNldCB1cCBhIHZpcnR1YWwgc2VyaWFsIHBvcnQgaW4gUUVNVSBhbmQgdGhlbiBzZXQg
dXAgV2luZG93cyB0byBkZWJ1ZyB2aWEgc2VyaWFsLgo+Cj4gT24geW91ciBjbGllbnQgbWFjaGlu
ZSB5b3UgdGhlbiBuZWVkIHRvIHVzZSBzb21ldGhpbmcgdG8gbWFwIGEgbG9jYWwgcGlwZSBvciBz
ZXJpYWwgcG9ydCB0byB0aGF0IHZpcnR1YWwgc2VyaWFsIGRldmljZS4gVGhlcmUgYXJlIHNldmVy
YWwgd2F5cyBvZiBkb2luZyBpdCBidXQgdGhlIG9uZSBJIG5vcm1hbGx5IHVzZSBpcyB0byBoYXZl
IFFFTVUgbWFwIHRoZSB2aXJ0dWFsIHNlcmlhbCBwb3J0IHRvIGEgVENQIHNvY2tldCBhbmQgdGhl
biBJIHJ1biBhIHNtYWxsIGRhZW1vbiBvbiBteSBjbGllbnQgbWFjaGluZSB0aGF0IGNvbm5lY3Rz
IHRvIHRoYXQgc29ja2V0IGFuZCBwdW1wcyBkYXRhIGJldHdlZW4gdGhhdCBhbmQgYSBuYW1lZCBw
aXBlLiBJIHRoZW4gY29ubmVjdCBXaW5EYmcgdG8gdGhlIG5hbWVkIHBpcGUuCj4KPiAgICBIVEgs
Cj4KPiAgICAgIFBhdWwKPgo+PiBUaGFua3MgZm9yIGFueSBhZHZpY2Ugb3IgcG9pbnRlcnMhCj4+
Cj4+IC0tCj4+IEFsZXhhbmRlciBTY2h1bHoKPj4gWENQLW5nIFByb2plY3QgTWVtYmVyCj4+Cj4+
IE1haW50YWluZXIgb2Y6IFhDUC1uZyBDZW50ZXIgYW5kIFhDUC1uZyBQVi1Ub29scwo+Pgo+Pgo+
PiBYQ1AtbmcgUHJvamVjdAo+PiAtLS0tLS0tLS0tLS0tLQo+PiB3ZWI6IGh0dHBzOi8veGNwLW5n
Lm9yZwo+PiBHaXRodWI6IGh0dHBzOi8vZ2l0aHViLmNvbS94Y3AtbmcKPj4gSVJDOiAjeGNwLW5n
IG9uIEZyZWVub2RlCj4+Cj4+Cj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCj4+IHdpbi1wdi1kZXZlbCBtYWlsaW5nIGxpc3QKPj4gd2luLXB2LWRldmVs
QGxpc3RzLnhlbnByb2plY3Qub3JnCj4+IGh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFp
bG1hbi9saXN0aW5mby93aW4tcHYtZGV2ZWwKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwo+IHdpbi1wdi1kZXZlbCBtYWlsaW5nIGxpc3QKPiB3aW4tcHYt
ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKPiBodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3Jn
L21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRldmVsCgpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwp3aW4tcHYtZGV2ZWwgbWFpbGluZyBsaXN0Cndpbi1wdi1k
ZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21h
aWxtYW4vbGlzdGluZm8vd2luLXB2LWRldmVs

From win-pv-devel-bounces@lists.xenproject.org Thu Nov 29 10:48:00 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 29 Nov 2018 10:48:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1gSJrU-0003cQ-7z; Thu, 29 Nov 2018 10:48:00 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=kjgy=oi=citrix.com=prvs=86498fae2=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1gSJrS-0003cF-MF
 for win-pv-devel@lists.xenproject.org; Thu, 29 Nov 2018 10:47:58 +0000
X-Inumbo-ID: 3af7465a-f3c4-11e8-9a16-bc764e045a96
Received: from SMTP.EU.CITRIX.COM (unknown [185.25.65.24])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 3af7465a-f3c4-11e8-9a16-bc764e045a96;
 Thu, 29 Nov 2018 10:47:57 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.56,294,1539648000"; d="scan'208";a="82525989"
From: Paul Durrant <Paul.Durrant@citrix.com>
To: 'Alexander Schulz' <mail@schulzalex.de>,
 "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>
Thread-Topic: [win-pv-devel] How to debug windows drivers
Thread-Index: AQHUhqe/2JplJVetk0KoXP+n52qgjaVlZxOggABeJQCAAM3M8A==
Date: Thu, 29 Nov 2018 10:46:27 +0000
Message-ID: <0e95f1dbcc0c40be8ccf374142d87576@AMSPEX02CL03.citrite.net>
References: <ab562eae-ead7-f49c-898e-85a204c7c2a8@schulzalex.de>
 <3b204ba47d794ff389e592301c938ec9@AMSPEX02CL03.citrite.net>
 <1222138d-c0db-2222-223d-db74b5546c9e@schulzalex.de>
In-Reply-To: <1222138d-c0db-2222-223d-db74b5546c9e@schulzalex.de>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-transport-fromentityheader: Hosted
MIME-Version: 1.0
Subject: Re: [win-pv-devel] How to debug windows drivers
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiB3aW4tcHYtZGV2ZWwgW21haWx0
bzp3aW4tcHYtZGV2ZWwtYm91bmNlc0BsaXN0cy54ZW5wcm9qZWN0Lm9yZ10gT24NCj4gQmVoYWxm
IE9mIEFsZXhhbmRlciBTY2h1bHoNCj4gU2VudDogMjggTm92ZW1iZXIgMjAxOCAyMzoyNQ0KPiBU
bzogd2luLXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnDQo+IFN1YmplY3Q6IFJlOiBbd2lu
LXB2LWRldmVsXSBIb3cgdG8gZGVidWcgd2luZG93cyBkcml2ZXJzDQo+IA0KPiBIZWxsbyBAYWxs
LCBIZWxsbyBQYXVsLA0KPiANCj4gSSB0cmllZCB0aGlzIG9uIFhDUC1uZywgYnV0IHdpdGhvdXQg
bHVjayBhcyB5b3UgY2FuIHJlYWQgaGVyZToNCj4gaHR0cHM6Ly94Y3Atbmcub3JnL2ZvcnVtL3Rv
cGljLzY4MS9zZXJpYWwtcG9ydC1mcm9tLXZtDQo+IA0KPiBTbyBJIGFzc3VtZSB0aGF0IHlvdSAo
UGF1bCkganVzdCBkZXZlbG9wIG9uIHBsYWluIFhFTj8gRG8geW91IG9yIHNvbWVvbmUNCj4gZWxz
ZSBrbm93IGEgcHJvcGVyIHdheSB0byBkbyB0aGUgZGVidWdnaW5nIHVuZGVyIFhlblNlcnZlci9Y
Q1Atbmc/DQo+IEkgd29uZGVyIGhvdyBDaXRyaXggZGV2cyBkbyB0aGlzIDstKQ0KPiANCg0KSSBk
byBpbmRlZWQgZGV2ZWxvcCBvbiBwbGFuIFhlbiBiZWNhdXNlIEkgZG9uJ3Qgd2FudCBhbnl0aGlu
ZyBYZW5TZXJ2ZXItc3BlY2lmaWMgdG8gbGVhayBpbnRvIHRoZSB1cHN0cmVhbSBQViBkcml2ZXIg
aW1wbGVtZW50YXRpb24uIElmIHlvdSB3YW50IHRvIGRlYnVnIG9uIFhlblNlcnZlciB0aGVuIHlv
dSdyZSBhdCB0aGUgbWVyY3kgb2YgdGhlIFhBUEkgdG9vbHN0YWNrIGFuZCB0aGUgZmFjdCBpdCBy
dW5zIFFFTVUgaW4gYSBzYW5kYm94IHdpdGggYSBzZXBhcmF0ZSBuZXR3b3JrIG5hbWVzcGFjZSwg
YW5kIHlvdSdsbCBuZWVkIHRvIGZpbmQgYSB3YXkgdG8gdHVybiB0aGF0IG9mZi4NCg0KICBQYXVs
DQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwp3aW4tcHYt
ZGV2ZWwgbWFpbGluZyBsaXN0Cndpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRw
czovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRldmVs

From win-pv-devel-bounces@lists.xenproject.org Fri Nov 30 09:20:13 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 30 Nov 2018 09:20:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1gSey3-0003Qv-PW; Fri, 30 Nov 2018 09:20:11 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=M0IW=OI=schulzalex.de=mail@srs-us1.protection.inumbo.net>)
 id 1gSVcR-0000qk-7E
 for win-pv-devel@lists.xenproject.org; Thu, 29 Nov 2018 23:21:15 +0000
X-Inumbo-ID: 769a3472-f42d-11e8-bc6c-6746bd9992e3
Received: from schulzalex.de (unknown [78.46.193.232])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id 769a3472-f42d-11e8-bc6c-6746bd9992e3;
 Thu, 29 Nov 2018 23:21:13 +0000 (UTC)
Received: from [192.168.188.130] (cable-86-56-42-173.cust.telecolumbus.net
 [86.56.42.173])
 by schulzalex.de (Postfix) with ESMTPSA id 28E3B21C063
 for <win-pv-devel@lists.xenproject.org>; Fri, 30 Nov 2018 00:21:13 +0100 (CET)
To: win-pv-devel@lists.xenproject.org
References: <ab562eae-ead7-f49c-898e-85a204c7c2a8@schulzalex.de>
 <3b204ba47d794ff389e592301c938ec9@AMSPEX02CL03.citrite.net>
 <1222138d-c0db-2222-223d-db74b5546c9e@schulzalex.de>
 <0e95f1dbcc0c40be8ccf374142d87576@AMSPEX02CL03.citrite.net>
From: Alexander Schulz <mail@schulzalex.de>
Message-ID: <c8766ebb-b305-2fca-dcf7-288f2f0c86d1@schulzalex.de>
Date: Fri, 30 Nov 2018 00:21:11 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101
 Thunderbird/60.3.1
MIME-Version: 1.0
In-Reply-To: <0e95f1dbcc0c40be8ccf374142d87576@AMSPEX02CL03.citrite.net>
X-Mailman-Approved-At: Fri, 30 Nov 2018 09:20:10 +0000
Subject: Re: [win-pv-devel] How to debug windows drivers
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

VGhhbmtzIGZvciB5b3VyIHJlc3BvbnNlIFBhdWwsIEkgZ290IGl0IHdvcmtpbmcgaW4gdGhlIGxh
dGVzdCB2ZXJzaW9uIG9mIApYQ1AtbmcgKDcuNikgOi0pCgpBbSAyOS4xMS4yMDE4IHVtIDExOjQ2
IHNjaHJpZWIgUGF1bCBEdXJyYW50Ogo+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+PiBG
cm9tOiB3aW4tcHYtZGV2ZWwgW21haWx0bzp3aW4tcHYtZGV2ZWwtYm91bmNlc0BsaXN0cy54ZW5w
cm9qZWN0Lm9yZ10gT24KPj4gQmVoYWxmIE9mIEFsZXhhbmRlciBTY2h1bHoKPj4gU2VudDogMjgg
Tm92ZW1iZXIgMjAxOCAyMzoyNQo+PiBUbzogd2luLXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qu
b3JnCj4+IFN1YmplY3Q6IFJlOiBbd2luLXB2LWRldmVsXSBIb3cgdG8gZGVidWcgd2luZG93cyBk
cml2ZXJzCj4+Cj4+IEhlbGxvIEBhbGwsIEhlbGxvIFBhdWwsCj4+Cj4+IEkgdHJpZWQgdGhpcyBv
biBYQ1AtbmcsIGJ1dCB3aXRob3V0IGx1Y2sgYXMgeW91IGNhbiByZWFkIGhlcmU6Cj4+IGh0dHBz
Oi8veGNwLW5nLm9yZy9mb3J1bS90b3BpYy82ODEvc2VyaWFsLXBvcnQtZnJvbS12bQo+Pgo+PiBT
byBJIGFzc3VtZSB0aGF0IHlvdSAoUGF1bCkganVzdCBkZXZlbG9wIG9uIHBsYWluIFhFTj8gRG8g
eW91IG9yIHNvbWVvbmUKPj4gZWxzZSBrbm93IGEgcHJvcGVyIHdheSB0byBkbyB0aGUgZGVidWdn
aW5nIHVuZGVyIFhlblNlcnZlci9YQ1Atbmc/Cj4+IEkgd29uZGVyIGhvdyBDaXRyaXggZGV2cyBk
byB0aGlzIDstKQo+Pgo+IEkgZG8gaW5kZWVkIGRldmVsb3Agb24gcGxhbiBYZW4gYmVjYXVzZSBJ
IGRvbid0IHdhbnQgYW55dGhpbmcgWGVuU2VydmVyLXNwZWNpZmljIHRvIGxlYWsgaW50byB0aGUg
dXBzdHJlYW0gUFYgZHJpdmVyIGltcGxlbWVudGF0aW9uLiBJZiB5b3Ugd2FudCB0byBkZWJ1ZyBv
biBYZW5TZXJ2ZXIgdGhlbiB5b3UncmUgYXQgdGhlIG1lcmN5IG9mIHRoZSBYQVBJIHRvb2xzdGFj
ayBhbmQgdGhlIGZhY3QgaXQgcnVucyBRRU1VIGluIGEgc2FuZGJveCB3aXRoIGEgc2VwYXJhdGUg
bmV0d29yayBuYW1lc3BhY2UsIGFuZCB5b3UnbGwgbmVlZCB0byBmaW5kIGEgd2F5IHRvIHR1cm4g
dGhhdCBvZmYuCj4KPiAgICBQYXVsCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KPiB3aW4tcHYtZGV2ZWwgbWFpbGluZyBsaXN0Cj4gd2luLXB2LWRldmVs
QGxpc3RzLnhlbnByb2plY3Qub3JnCj4gaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWls
bWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18Kd2luLXB2LWRldmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxA
bGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFu
L2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

