From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: [PATCH v2 02/17] x86emul: re-order cases of main switch statement Date: Thu, 14 Sep 2017 09:12:45 -0600 Message-ID: <59BAB88D020000780017B37C@prv-mh.provo.novell.com> References: <59BAB38A020000780017B34E@prv-mh.provo.novell.com> <59BAB38A020000780017B34E@prv-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dsVox-0002JH-1L for xen-devel@lists.xenproject.org; Thu, 14 Sep 2017 15:12:51 +0000 In-Reply-To: <59BAB38A020000780017B34E@prv-mh.provo.novell.com> Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel Cc: George Dunlap , Andrew Cooper List-Id: xen-devel@lists.xenproject.org UmUtc3RvcmUgaW50ZW5kZWQgbnVtZXJpY2FsIG9yZGVyaW5nLCB3aGljaCBoYXMgYmVjb21lICJ2 aW9sYXRlZCIKbW9zdGx5IGJ5IGluY3JlbWVudGFsIGFkZGl0aW9ucyB3aGVyZSBtb3ZpbmcgYXJv dW5kIGJpZ2dlciBjaHVua3MgZGlkCm5vdCBzZWVtIGFkdmlzYWJsZS4gT25lIGV4Y2VwdGlvbiB0 aG91Z2ggYXQgdGhlIHZlcnkgdG9wIG9mIHRoZQpzd2l0Y2goKTogS2VlcGluZyB0aGUgYXJpdGht ZXRpYyBvcHMgdG9nZXRoZXIgc2VlbXMgcHJlZmVyYWJsZSBvdmVyCmVudGlyZWx5IHN0cmljdCBv cmRlcmluZy4KCkFkZGl0aW9uYWxseSBtb3ZlIGEgZmV3IG1hY3JvIGRlZmluaXRpb25zIGJlZm9y ZSB0aGVpciBmaXJzdCB1c2VzICh0aGUKcGxhY2VtZW50IGlzIGJlbmlnbiBhcyBsb25nIGFzIHRo b3NlIHVzZXMgYXJlIHRoZW1zZWx2ZXMgb25seSBtYWNybwpkZWZpbml0aW9ucywgYnV0IHRoYXQn cyBnb2luZyB0byBjaGFuZ2Ugd2hlbiB0aG9zZSBtYWNyb3MgaGF2ZSBoZWxwZXJzCmJyb2tlbiBv dXQpLgoKTm8gKGludGVuZGVkKSBmdW5jdGlvbmFsIGNoYW5nZS4KClNpZ25lZC1vZmYtYnk6IEph biBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2aWV3ZWQtYnk6IEdlb3JnZSBEdW5sYXAg PGdlb3JnZS5kdW5sYXBAY2l0cml4LmNvbT4KCi0tLSBhL3hlbi9hcmNoL3g4Ni94ODZfZW11bGF0 ZS94ODZfZW11bGF0ZS5jCisrKyBiL3hlbi9hcmNoL3g4Ni94ODZfZW11bGF0ZS94ODZfZW11bGF0 ZS5jCkBAIC04NDMsNiArODQzLDI3IEBAIGRveyBhc20gdm9sYXRpbGUgKAogI2RlZmluZSBfX2Vt dWxhdGVfMW9wXzhieXRlKF9vcCwgX2RzdCwgX2VmbGFncykKICNlbmRpZiAvKiBfX2kzODZfXyAq LwogCisjZGVmaW5lIGZhaWxfaWYocCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFwKK2RvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXAorICAgIHJjID0gKHApID8gWDg2RU1VTF9VTkhBTkRMRUFCTEUgOiBYODZFTVVMX09L QVk7ICAgICBcCisgICAgaWYgKCByYyApIGdvdG8gZG9uZTsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFwKK30gd2hpbGUgKDApCisKK3N0YXRpYyBpbmxpbmUgaW50IG1rZWModWludDhf dCBlLCBpbnQzMl90IGVjLCAuLi4pCit7CisgICAgcmV0dXJuIChlIDwgMzIgJiYgKCgxdSA8PCBl KSAmIEVYQ19IQVNfRUMpKSA/IGVjIDogWDg2X0VWRU5UX05PX0VDOworfQorCisjZGVmaW5lIGdl bmVyYXRlX2V4Y2VwdGlvbl9pZihwLCBlLCBlYy4uLikgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwKKyh7ICBpZiAoIChwKSApIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICB4ODZfZW11bF9od19leGNlcHRp b24oZSwgbWtlYyhlLCAjI2VjLCAwKSwgY3R4dCk7ICAgICAgICAgICAgICAgICBcCisgICAgICAg IHJjID0gWDg2RU1VTF9FWENFUFRJT047ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFwKKyAgICAgICAgZ290byBkb25lOyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIH0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCit9KQor CisjZGVmaW5lIGdlbmVyYXRlX2V4Y2VwdGlvbihlLCBlYy4uLikgZ2VuZXJhdGVfZXhjZXB0aW9u X2lmKHRydWUsIGUsICMjZWMpCisKICNpZmRlZiBfX1hFTl9fCiAjIGRlZmluZSBpbnZva2Vfc3R1 YihwcmUsIHBvc3QsIGNvbnN0cmFpbnRzLi4uKSBkbyB7ICAgICAgICAgICAgICAgICAgICBcCiAg ICAgdW5pb24gc3R1Yl9leGNlcHRpb25fdG9rZW4gcmVzXyA9IHsgLnJhdyA9IH4wIH07ICAgICAg ICAgICAgICAgICAgICBcCkBAIC05MTEsMjcgKzkzMiw2IEBAIGRveyBhc20gdm9sYXRpbGUgKAog IyBkZWZpbmUgbW9kZV82NGJpdCgpIGZhbHNlCiAjZW5kaWYKIAotI2RlZmluZSBmYWlsX2lmKHAp ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi1kbyB7ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICByYyA9IChwKSA/ IFg4NkVNVUxfVU5IQU5ETEVBQkxFIDogWDg2RU1VTF9PS0FZOyAgICAgXAotICAgIGlmICggcmMg KSBnb3RvIGRvbmU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi19IHdoaWxlICgw KQotCi1zdGF0aWMgaW5saW5lIGludCBta2VjKHVpbnQ4X3QgZSwgaW50MzJfdCBlYywgLi4uKQot ewotICAgIHJldHVybiAoZSA8IDMyICYmICgoMXUgPDwgZSkgJiBFWENfSEFTX0VDKSkgPyBlYyA6 IFg4Nl9FVkVOVF9OT19FQzsKLX0KLQotI2RlZmluZSBnZW5lcmF0ZV9leGNlcHRpb25faWYocCwg ZSwgZWMuLi4pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0oeyAgaWYgKCAocCkg KSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFwKLSAgICAgICAgeDg2X2VtdWxfaHdfZXhjZXB0aW9uKGUsIG1rZWMoZSwgIyNlYywgMCks IGN0eHQpOyAgICAgICAgICAgICAgICAgXAotICAgICAgICByYyA9IFg4NkVNVUxfRVhDRVBUSU9O OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIGdv dG8gZG9uZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwKLSAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotfSkKLQotI2RlZmluZSBnZW5lcmF0ZV9leGNl cHRpb24oZSwgZWMuLi4pIGdlbmVyYXRlX2V4Y2VwdGlvbl9pZih0cnVlLCBlLCAjI2VjKQotCiAv KgogICogR2l2ZW4gYnl0ZSBoYXMgZXZlbiBwYXJpdHkgKGV2ZW4gbnVtYmVyIG9mIDFzKT8gU0RN IFZvbC4gMSBTZWMuIDMuNC4zLjEsCiAgKiAiU3RhdHVzIEZsYWdzIjogRUZMQUdTLlBGIHJlZmxl Y3RzIHBhcml0eSBvZiBsZWFzdC1zaWcuIGJ5dGUgb2YgcmVzdWx0IG9ubHkuCkBAIC0zNjA1LDYg KzM2MDUsMTEgQEAgeDg2X2VtdWxhdGUoCiAgICAgICAgICAgICBkc3QuYnl0ZXMgPSAyOwogICAg ICAgICBicmVhazsKIAorICAgIGNhc2UgMHg4ZDogLyogbGVhICovCisgICAgICAgIGdlbmVyYXRl X2V4Y2VwdGlvbl9pZihlYS50eXBlICE9IE9QX01FTSwgRVhDX1VEKTsKKyAgICAgICAgZHN0LnZh bCA9IGVhLm1lbS5vZmY7CisgICAgICAgIGJyZWFrOworCiAgICAgY2FzZSAweDhlOiAvKiBtb3Yg ci9tLFNyZWcgKi8KICAgICAgICAgc2VnID0gbW9kcm1fcmVnICYgNzsgLyogUkVYLlIgaXMgaWdu b3JlZC4gKi8KICAgICAgICAgZ2VuZXJhdGVfZXhjZXB0aW9uX2lmKCFpc194ODZfdXNlcl9zZWdt ZW50KHNlZykgfHwKQEAgLTM2MTYsMTEgKzM2MjEsNiBAQCB4ODZfZW11bGF0ZSgKICAgICAgICAg ZHN0LnR5cGUgPSBPUF9OT05FOwogICAgICAgICBicmVhazsKIAotICAgIGNhc2UgMHg4ZDogLyog bGVhICovCi0gICAgICAgIGdlbmVyYXRlX2V4Y2VwdGlvbl9pZihlYS50eXBlICE9IE9QX01FTSwg RVhDX1VEKTsKLSAgICAgICAgZHN0LnZhbCA9IGVhLm1lbS5vZmY7Ci0gICAgICAgIGJyZWFrOwot CiAgICAgY2FzZSAweDhmOiAvKiBwb3AgKHNvbGUgbWVtYmVyIG9mIEdycDFhKSAqLwogICAgICAg ICBnZW5lcmF0ZV9leGNlcHRpb25faWYoKG1vZHJtX3JlZyAmIDcpICE9IDAsIEVYQ19VRCk7CiAg ICAgICAgIC8qIDY0LWJpdCBtb2RlOiBQT1AgZGVmYXVsdHMgdG8gYSA2NC1iaXQgb3BlcmFuZC4g Ki8KQEAgLTU3NjcsMTIgKzU3NjcsNiBAQCB4ODZfZW11bGF0ZSgKICAgICAgICAgX3JlZ3Mucihh eCkgPSAodWludDMyX3QpbXNyX3ZhbDsKICAgICAgICAgYnJlYWs7CiAKLSAgICBjYXNlIFg4NkVN VUxfT1BDKDB4MGYsIDB4NDApIC4uLiBYODZFTVVMX09QQygweDBmLCAweDRmKTogLyogY21vdmNj ICovCi0gICAgICAgIHZjcHVfbXVzdF9oYXZlKGNtb3YpOwotICAgICAgICBpZiAoIHRlc3RfY2Mo YiwgX3JlZ3MuZWZsYWdzKSApCi0gICAgICAgICAgICBkc3QudmFsID0gc3JjLnZhbDsKLSAgICAg ICAgYnJlYWs7Ci0KICAgICBjYXNlIFg4NkVNVUxfT1BDKDB4MGYsIDB4MzQpOiAvKiBzeXNlbnRl ciAqLwogICAgICAgICB2Y3B1X211c3RfaGF2ZShzZXApOwogICAgICAgICBnZW5lcmF0ZV9leGNl cHRpb25faWYobW9kZV9yaW5nMCgpLCBFWENfR1AsIDApOwpAQCAtNTg1NSw2ICs1ODQ5LDEyIEBA IHg4Nl9lbXVsYXRlKAogICAgICAgICBzaW5nbGVzdGVwID0gX3JlZ3MuZWZsYWdzICYgWDg2X0VG TEFHU19URjsKICAgICAgICAgYnJlYWs7CiAKKyAgICBjYXNlIFg4NkVNVUxfT1BDKDB4MGYsIDB4 NDApIC4uLiBYODZFTVVMX09QQygweDBmLCAweDRmKTogLyogY21vdmNjICovCisgICAgICAgIHZj cHVfbXVzdF9oYXZlKGNtb3YpOworICAgICAgICBpZiAoIHRlc3RfY2MoYiwgX3JlZ3MuZWZsYWdz KSApCisgICAgICAgICAgICBkc3QudmFsID0gc3JjLnZhbDsKKyAgICAgICAgYnJlYWs7CisKICAg ICBDQVNFX1NJTURfUEFDS0VEX0ZQKCwgMHgwZiwgMHg1MCk6ICAgICAvKiBtb3Ztc2twe3MsZH0g eG1tLHJlZyAqLwogICAgIENBU0VfU0lNRF9QQUNLRURfRlAoX1ZFWCwgMHgwZiwgMHg1MCk6IC8q IHZtb3Ztc2twe3MsZH0ge3gseX1tbSxyZWcgKi8KICAgICBDQVNFX1NJTURfUEFDS0VEX0lOVCgw eDBmLCAweGQ3KTogICAgICAvKiBwbW92bXNrYiB7LHh9bW0scmVnICovCkBAIC02MDcxLDEwICs2 MDcxLDYgQEAgeDg2X2VtdWxhdGUoCiAgICAgICAgIGdldF9mcHUoWDg2RU1VTF9GUFVfbW14LCAm ZmljKTsKICAgICAgICAgZ290byBzaW1kXzBmX2NvbW1vbjsKIAotICAgIGNhc2UgWDg2RU1VTF9P UENfVkVYXzY2KDB4MGYzOCwgMHg0MSk6IC8qIHZwaG1pbnBvc3V3IHhtbS9tMTI4LHhtbSx4bW0g Ki8KLSAgICAgICAgZ2VuZXJhdGVfZXhjZXB0aW9uX2lmKHZleC5sLCBFWENfVUQpOwotICAgICAg ICBnb3RvIHNpbWRfMGZfYXZ4OwotCiAgICAgQ0FTRV9TSU1EX1BBQ0tFRF9JTlQoMHgwZiwgMHg2 ZSk6ICAgIC8qIG1vdntkLHF9IHIvbSx7LHh9bW0gKi8KICAgICBjYXNlIFg4NkVNVUxfT1BDX1ZF WF82NigweDBmLCAweDZlKTogLyogdm1vdntkLHF9IHIvbSx4bW0gKi8KICAgICBDQVNFX1NJTURf UEFDS0VEX0lOVCgweDBmLCAweDdlKTogICAgLyogbW92e2QscX0geyx4fW1tLHIvbSAqLwpAQCAt NjM3MiwxMiArNjM2OCw2IEBAIHg4Nl9lbXVsYXRlKAogICAgICAgICBvcF9ieXRlcyA9IDg7CiAg ICAgICAgIGdvdG8gc2ltZF8wZl94bW07CiAKLSAgICBjYXNlIFg4NkVNVUxfT1BDX0YzKDB4MGYs IDB4N2UpOiAgICAgLyogbW92cSB4bW0vbTY0LHhtbSAqLwotICAgIGNhc2UgWDg2RU1VTF9PUENf VkVYX0YzKDB4MGYsIDB4N2UpOiAvKiB2bW92cSB4bW0vbTY0LHhtbSAqLwotICAgICAgICBnZW5l cmF0ZV9leGNlcHRpb25faWYodmV4LmwsIEVYQ19VRCk7Ci0gICAgICAgIG9wX2J5dGVzID0gODsK LSAgICAgICAgZ290byBzaW1kXzBmX2ludDsKLQogICAgIGNhc2UgWDg2RU1VTF9PUENfRjIoMHgw ZiwgMHhmMCk6ICAgICAvKiBsZGRxdSBtMTI4LHhtbSAqLwogICAgIGNhc2UgWDg2RU1VTF9PUENf VkVYX0YyKDB4MGYsIDB4ZjApOiAvKiB2bGRkcXUgbWVtLHt4LHl9bW0gKi8KICAgICAgICAgZ2Vu ZXJhdGVfZXhjZXB0aW9uX2lmKGVhLnR5cGUgIT0gT1BfTUVNLCBFWENfVUQpOwpAQCAtNjM5Nyw2 ICs2Mzg3LDEyIEBAIHg4Nl9lbXVsYXRlKAogICAgICAgICBvcF9ieXRlcyA9IDE2IDw8IHZleC5s OwogICAgICAgICBnb3RvIHNpbWRfMGZfc3NlM19hdng7CiAKKyAgICBjYXNlIFg4NkVNVUxfT1BD X0YzKDB4MGYsIDB4N2UpOiAgICAgLyogbW92cSB4bW0vbTY0LHhtbSAqLworICAgIGNhc2UgWDg2 RU1VTF9PUENfVkVYX0YzKDB4MGYsIDB4N2UpOiAvKiB2bW92cSB4bW0vbTY0LHhtbSAqLworICAg ICAgICBnZW5lcmF0ZV9leGNlcHRpb25faWYodmV4LmwsIEVYQ19VRCk7CisgICAgICAgIG9wX2J5 dGVzID0gODsKKyAgICAgICAgZ290byBzaW1kXzBmX2ludDsKKwogICAgIGNhc2UgWDg2RU1VTF9P UEMoMHgwZiwgMHg4MCkgLi4uIFg4NkVNVUxfT1BDKDB4MGYsIDB4OGYpOiAvKiBqY2MgKG5lYXIp ICovCiAgICAgICAgIGlmICggdGVzdF9jYyhiLCBfcmVncy5lZmxhZ3MpICkKICAgICAgICAgICAg IGptcF9yZWwoKGludDMyX3Qpc3JjLnZhbCk7CkBAIC03MTU0LDM5ICs3MTUwLDYgQEAgeDg2X2Vt dWxhdGUoCiAgICAgICAgIGdlbmVyYXRlX2V4Y2VwdGlvbl9pZih2ZXgudywgRVhDX1VEKTsKICAg ICAgICAgZ290byBzaW1kXzBmX2F2eDsKIAotICAgIGNhc2UgWDg2RU1VTF9PUENfNjYoMHgwZjM4 LCAweDIwKTogLyogcG1vdnN4YncgeG1tL202NCx4bW0gKi8KLSAgICBjYXNlIFg4NkVNVUxfT1BD XzY2KDB4MGYzOCwgMHgyMSk6IC8qIHBtb3ZzeGJkIHhtbS9tMzIseG1tICovCi0gICAgY2FzZSBY ODZFTVVMX09QQ182NigweDBmMzgsIDB4MjIpOiAvKiBwbW92c3hicSB4bW0vbTE2LHhtbSAqLwot ICAgIGNhc2UgWDg2RU1VTF9PUENfNjYoMHgwZjM4LCAweDIzKTogLyogcG1vdnN4d2QgeG1tL202 NCx4bW0gKi8KLSAgICBjYXNlIFg4NkVNVUxfT1BDXzY2KDB4MGYzOCwgMHgyNCk6IC8qIHBtb3Zz eHdxIHhtbS9tMzIseG1tICovCi0gICAgY2FzZSBYODZFTVVMX09QQ182NigweDBmMzgsIDB4MjUp OiAvKiBwbW92c3hkcSB4bW0vbTY0LHhtbSAqLwotICAgIGNhc2UgWDg2RU1VTF9PUENfNjYoMHgw ZjM4LCAweDMwKTogLyogcG1vdnp4YncgeG1tL202NCx4bW0gKi8KLSAgICBjYXNlIFg4NkVNVUxf T1BDXzY2KDB4MGYzOCwgMHgzMSk6IC8qIHBtb3Z6eGJkIHhtbS9tMzIseG1tICovCi0gICAgY2Fz ZSBYODZFTVVMX09QQ182NigweDBmMzgsIDB4MzIpOiAvKiBwbW92enhicSB4bW0vbTE2LHhtbSAq LwotICAgIGNhc2UgWDg2RU1VTF9PUENfNjYoMHgwZjM4LCAweDMzKTogLyogcG1vdnp4d2QgeG1t L202NCx4bW0gKi8KLSAgICBjYXNlIFg4NkVNVUxfT1BDXzY2KDB4MGYzOCwgMHgzNCk6IC8qIHBt b3Z6eHdxIHhtbS9tMzIseG1tICovCi0gICAgY2FzZSBYODZFTVVMX09QQ182NigweDBmMzgsIDB4 MzUpOiAvKiBwbW92enhkcSB4bW0vbTY0LHhtbSAqLwotICAgICAgICBvcF9ieXRlcyA9IDE2ID4+ IHBtb3ZfY29udmVydF9kZWx0YVtiICYgN107Ci0gICAgICAgIC8qIGZhbGwgdGhyb3VnaCAqLwot ICAgIGNhc2UgWDg2RU1VTF9PUENfNjYoMHgwZjM4LCAweDEwKTogLyogcGJsZW5kdmIgWE1NMCx4 bW0vbTEyOCx4bW0gKi8KLSAgICBjYXNlIFg4NkVNVUxfT1BDXzY2KDB4MGYzOCwgMHgxNCk6IC8q IGJsZW5kdnBzIFhNTTAseG1tL20xMjgseG1tICovCi0gICAgY2FzZSBYODZFTVVMX09QQ182Nigw eDBmMzgsIDB4MTUpOiAvKiBibGVuZHZwZCBYTU0wLHhtbS9tMTI4LHhtbSAqLwotICAgIGNhc2Ug WDg2RU1VTF9PUENfNjYoMHgwZjM4LCAweDI4KTogLyogcG11bGRxIHhtbS9tMTI4LHhtbSAqLwot ICAgIGNhc2UgWDg2RU1VTF9PUENfNjYoMHgwZjM4LCAweDI5KTogLyogcGNtcGVxcSB4bW0vbTEy OCx4bW0gKi8KLSAgICBjYXNlIFg4NkVNVUxfT1BDXzY2KDB4MGYzOCwgMHgyYik6IC8qIHBhY2t1 c2R3IHhtbS9tMTI4LHhtbSAqLwotICAgIGNhc2UgWDg2RU1VTF9PUENfNjYoMHgwZjM4LCAweDM4 KTogLyogcG1pbnNiIHhtbS9tMTI4LHhtbSAqLwotICAgIGNhc2UgWDg2RU1VTF9PUENfNjYoMHgw ZjM4LCAweDM5KTogLyogcG1pbnNkIHhtbS9tMTI4LHhtbSAqLwotICAgIGNhc2UgWDg2RU1VTF9P UENfNjYoMHgwZjM4LCAweDNhKTogLyogcG1pbnViIHhtbS9tMTI4LHhtbSAqLwotICAgIGNhc2Ug WDg2RU1VTF9PUENfNjYoMHgwZjM4LCAweDNiKTogLyogcG1pbnVkIHhtbS9tMTI4LHhtbSAqLwot ICAgIGNhc2UgWDg2RU1VTF9PUENfNjYoMHgwZjM4LCAweDNjKTogLyogcG1heHNiIHhtbS9tMTI4 LHhtbSAqLwotICAgIGNhc2UgWDg2RU1VTF9PUENfNjYoMHgwZjM4LCAweDNkKTogLyogcG1heHNk IHhtbS9tMTI4LHhtbSAqLwotICAgIGNhc2UgWDg2RU1VTF9PUENfNjYoMHgwZjM4LCAweDNlKTog LyogcG1heHViIHhtbS9tMTI4LHhtbSAqLwotICAgIGNhc2UgWDg2RU1VTF9PUENfNjYoMHgwZjM4 LCAweDNmKTogLyogcG1heHVkIHhtbS9tMTI4LHhtbSAqLwotICAgIGNhc2UgWDg2RU1VTF9PUENf NjYoMHgwZjM4LCAweDQwKTogLyogcG11bGxkIHhtbS9tMTI4LHhtbSAqLwotICAgIGNhc2UgWDg2 RU1VTF9PUENfNjYoMHgwZjM4LCAweDQxKTogLyogcGhtaW5wb3N1dyB4bW0vbTEyOCx4bW0gKi8K LSAgICAgICAgaG9zdF9hbmRfdmNwdV9tdXN0X2hhdmUoc3NlNF8xKTsKLSAgICAgICAgZ290byBz aW1kXzBmMzhfY29tbW9uOwotCiAgICAgY2FzZSBYODZFTVVMX09QQ19WRVhfNjYoMHgwZjM4LCAw eDBlKTogLyogdnRlc3RwcyB7eCx5fW1tL21lbSx7eCx5fW1tICovCiAgICAgY2FzZSBYODZFTVVM X09QQ19WRVhfNjYoMHgwZjM4LCAweDBmKTogLyogdnRlc3RwZCB7eCx5fW1tL21lbSx7eCx5fW1t ICovCiAgICAgICAgIGdlbmVyYXRlX2V4Y2VwdGlvbl9pZih2ZXgudywgRVhDX1VEKTsKQEAgLTcy NDAsNiArNzIwMywzOSBAQCB4ODZfZW11bGF0ZSgKICAgICAgICAgZHN0LnR5cGUgPSBPUF9OT05F OwogICAgICAgICBicmVhazsKIAorICAgIGNhc2UgWDg2RU1VTF9PUENfNjYoMHgwZjM4LCAweDIw KTogLyogcG1vdnN4YncgeG1tL202NCx4bW0gKi8KKyAgICBjYXNlIFg4NkVNVUxfT1BDXzY2KDB4 MGYzOCwgMHgyMSk6IC8qIHBtb3ZzeGJkIHhtbS9tMzIseG1tICovCisgICAgY2FzZSBYODZFTVVM X09QQ182NigweDBmMzgsIDB4MjIpOiAvKiBwbW92c3hicSB4bW0vbTE2LHhtbSAqLworICAgIGNh c2UgWDg2RU1VTF9PUENfNjYoMHgwZjM4LCAweDIzKTogLyogcG1vdnN4d2QgeG1tL202NCx4bW0g Ki8KKyAgICBjYXNlIFg4NkVNVUxfT1BDXzY2KDB4MGYzOCwgMHgyNCk6IC8qIHBtb3ZzeHdxIHht bS9tMzIseG1tICovCisgICAgY2FzZSBYODZFTVVMX09QQ182NigweDBmMzgsIDB4MjUpOiAvKiBw bW92c3hkcSB4bW0vbTY0LHhtbSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfNjYoMHgwZjM4LCAw eDMwKTogLyogcG1vdnp4YncgeG1tL202NCx4bW0gKi8KKyAgICBjYXNlIFg4NkVNVUxfT1BDXzY2 KDB4MGYzOCwgMHgzMSk6IC8qIHBtb3Z6eGJkIHhtbS9tMzIseG1tICovCisgICAgY2FzZSBYODZF TVVMX09QQ182NigweDBmMzgsIDB4MzIpOiAvKiBwbW92enhicSB4bW0vbTE2LHhtbSAqLworICAg IGNhc2UgWDg2RU1VTF9PUENfNjYoMHgwZjM4LCAweDMzKTogLyogcG1vdnp4d2QgeG1tL202NCx4 bW0gKi8KKyAgICBjYXNlIFg4NkVNVUxfT1BDXzY2KDB4MGYzOCwgMHgzNCk6IC8qIHBtb3Z6eHdx IHhtbS9tMzIseG1tICovCisgICAgY2FzZSBYODZFTVVMX09QQ182NigweDBmMzgsIDB4MzUpOiAv KiBwbW92enhkcSB4bW0vbTY0LHhtbSAqLworICAgICAgICBvcF9ieXRlcyA9IDE2ID4+IHBtb3Zf Y29udmVydF9kZWx0YVtiICYgN107CisgICAgICAgIC8qIGZhbGwgdGhyb3VnaCAqLworICAgIGNh c2UgWDg2RU1VTF9PUENfNjYoMHgwZjM4LCAweDEwKTogLyogcGJsZW5kdmIgWE1NMCx4bW0vbTEy OCx4bW0gKi8KKyAgICBjYXNlIFg4NkVNVUxfT1BDXzY2KDB4MGYzOCwgMHgxNCk6IC8qIGJsZW5k dnBzIFhNTTAseG1tL20xMjgseG1tICovCisgICAgY2FzZSBYODZFTVVMX09QQ182NigweDBmMzgs IDB4MTUpOiAvKiBibGVuZHZwZCBYTU0wLHhtbS9tMTI4LHhtbSAqLworICAgIGNhc2UgWDg2RU1V TF9PUENfNjYoMHgwZjM4LCAweDI4KTogLyogcG11bGRxIHhtbS9tMTI4LHhtbSAqLworICAgIGNh c2UgWDg2RU1VTF9PUENfNjYoMHgwZjM4LCAweDI5KTogLyogcGNtcGVxcSB4bW0vbTEyOCx4bW0g Ki8KKyAgICBjYXNlIFg4NkVNVUxfT1BDXzY2KDB4MGYzOCwgMHgyYik6IC8qIHBhY2t1c2R3IHht bS9tMTI4LHhtbSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfNjYoMHgwZjM4LCAweDM4KTogLyog cG1pbnNiIHhtbS9tMTI4LHhtbSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfNjYoMHgwZjM4LCAw eDM5KTogLyogcG1pbnNkIHhtbS9tMTI4LHhtbSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfNjYo MHgwZjM4LCAweDNhKTogLyogcG1pbnViIHhtbS9tMTI4LHhtbSAqLworICAgIGNhc2UgWDg2RU1V TF9PUENfNjYoMHgwZjM4LCAweDNiKTogLyogcG1pbnVkIHhtbS9tMTI4LHhtbSAqLworICAgIGNh c2UgWDg2RU1VTF9PUENfNjYoMHgwZjM4LCAweDNjKTogLyogcG1heHNiIHhtbS9tMTI4LHhtbSAq LworICAgIGNhc2UgWDg2RU1VTF9PUENfNjYoMHgwZjM4LCAweDNkKTogLyogcG1heHNkIHhtbS9t MTI4LHhtbSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfNjYoMHgwZjM4LCAweDNlKTogLyogcG1h eHViIHhtbS9tMTI4LHhtbSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfNjYoMHgwZjM4LCAweDNm KTogLyogcG1heHVkIHhtbS9tMTI4LHhtbSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfNjYoMHgw ZjM4LCAweDQwKTogLyogcG11bGxkIHhtbS9tMTI4LHhtbSAqLworICAgIGNhc2UgWDg2RU1VTF9P UENfNjYoMHgwZjM4LCAweDQxKTogLyogcGhtaW5wb3N1dyB4bW0vbTEyOCx4bW0gKi8KKyAgICAg ICAgaG9zdF9hbmRfdmNwdV9tdXN0X2hhdmUoc3NlNF8xKTsKKyAgICAgICAgZ290byBzaW1kXzBm MzhfY29tbW9uOworCiAgICAgY2FzZSBYODZFTVVMX09QQ19WRVhfNjYoMHgwZjM4LCAweDIwKTog LyogdnBtb3ZzeGJ3IHhtbS9tZW0se3gseX1tbSAqLwogICAgIGNhc2UgWDg2RU1VTF9PUENfVkVY XzY2KDB4MGYzOCwgMHgyMSk6IC8qIHZwbW92c3hiZCB4bW0vbWVtLHt4LHl9bW0gKi8KICAgICBj YXNlIFg4NkVNVUxfT1BDX1ZFWF82NigweDBmMzgsIDB4MjIpOiAvKiB2cG1vdnN4YnEgeG1tL21l bSx7eCx5fW1tICovCkBAIC03MzM4LDE2ICs3MzM0LDYgQEAgeDg2X2VtdWxhdGUoCiAgICAgICAg IGhvc3RfYW5kX3ZjcHVfbXVzdF9oYXZlKHNzZTRfMik7CiAgICAgICAgIGdvdG8gc2ltZF8wZjM4 X2NvbW1vbjsKIAotICAgIGNhc2UgWDg2RU1VTF9PUEMoMHgwZjM4LCAweGM4KTogICAgIC8qIHNo YTFuZXh0ZSB4bW0vbTEyOCx4bW0gKi8KLSAgICBjYXNlIFg4NkVNVUxfT1BDKDB4MGYzOCwgMHhj OSk6ICAgICAvKiBzaGExbXNnMSB4bW0vbTEyOCx4bW0gKi8KLSAgICBjYXNlIFg4NkVNVUxfT1BD KDB4MGYzOCwgMHhjYSk6ICAgICAvKiBzaGExbXNnMiB4bW0vbTEyOCx4bW0gKi8KLSAgICBjYXNl IFg4NkVNVUxfT1BDKDB4MGYzOCwgMHhjYik6ICAgICAvKiBzaGEyNTZybmRzMiBYTU0wLHhtbS9t MTI4LHhtbSAqLwotICAgIGNhc2UgWDg2RU1VTF9PUEMoMHgwZjM4LCAweGNjKTogICAgIC8qIHNo YTI1Nm1zZzEgeG1tL20xMjgseG1tICovCi0gICAgY2FzZSBYODZFTVVMX09QQygweDBmMzgsIDB4 Y2QpOiAgICAgLyogc2hhMjU2bXNnMiB4bW0vbTEyOCx4bW0gKi8KLSAgICAgICAgaG9zdF9hbmRf dmNwdV9tdXN0X2hhdmUoc2hhKTsKLSAgICAgICAgb3BfYnl0ZXMgPSAxNjsKLSAgICAgICAgZ290 byBzaW1kXzBmMzhfY29tbW9uOwotCiAgICAgY2FzZSBYODZFTVVMX09QQ182NigweDBmMzgsIDB4 ZGIpOiAgICAgLyogYWVzaW1jIHhtbS9tMTI4LHhtbSAqLwogICAgIGNhc2UgWDg2RU1VTF9PUENf VkVYXzY2KDB4MGYzOCwgMHhkYik6IC8qIHZhZXNpbWMgeG1tL20xMjgseG1tICovCiAgICAgY2Fz ZSBYODZFTVVMX09QQ182NigweDBmMzgsIDB4ZGMpOiAgICAgLyogYWVzZW5jIHhtbS9tMTI4LHht bSx4bW0gKi8KQEAgLTczNjEsOSArNzM0NywyMSBAQCB4ODZfZW11bGF0ZSgKICAgICAgICAgaG9z dF9hbmRfdmNwdV9tdXN0X2hhdmUoYWVzbmkpOwogICAgICAgICBpZiAoIHZleC5vcGN4ID09IHZl eF9ub25lICkKICAgICAgICAgICAgIGdvdG8gc2ltZF8wZjM4X2NvbW1vbjsKKyAgICAgICAgLyog ZmFsbCB0aHJvdWdoICovCisgICAgY2FzZSBYODZFTVVMX09QQ19WRVhfNjYoMHgwZjM4LCAweDQx KTogLyogdnBobWlucG9zdXcgeG1tL20xMjgseG1tLHhtbSAqLwogICAgICAgICBnZW5lcmF0ZV9l eGNlcHRpb25faWYodmV4LmwsIEVYQ19VRCk7CiAgICAgICAgIGdvdG8gc2ltZF8wZl9hdng7CiAK KyAgICBjYXNlIFg4NkVNVUxfT1BDKDB4MGYzOCwgMHhjOCk6ICAgICAvKiBzaGExbmV4dGUgeG1t L20xMjgseG1tICovCisgICAgY2FzZSBYODZFTVVMX09QQygweDBmMzgsIDB4YzkpOiAgICAgLyog c2hhMW1zZzEgeG1tL20xMjgseG1tICovCisgICAgY2FzZSBYODZFTVVMX09QQygweDBmMzgsIDB4 Y2EpOiAgICAgLyogc2hhMW1zZzIgeG1tL20xMjgseG1tICovCisgICAgY2FzZSBYODZFTVVMX09Q QygweDBmMzgsIDB4Y2IpOiAgICAgLyogc2hhMjU2cm5kczIgWE1NMCx4bW0vbTEyOCx4bW0gKi8K KyAgICBjYXNlIFg4NkVNVUxfT1BDKDB4MGYzOCwgMHhjYyk6ICAgICAvKiBzaGEyNTZtc2cxIHht bS9tMTI4LHhtbSAqLworICAgIGNhc2UgWDg2RU1VTF9PUEMoMHgwZjM4LCAweGNkKTogICAgIC8q IHNoYTI1Nm1zZzIgeG1tL20xMjgseG1tICovCisgICAgICAgIGhvc3RfYW5kX3ZjcHVfbXVzdF9o YXZlKHNoYSk7CisgICAgICAgIG9wX2J5dGVzID0gMTY7CisgICAgICAgIGdvdG8gc2ltZF8wZjM4 X2NvbW1vbjsKKwogICAgIGNhc2UgWDg2RU1VTF9PUEMoMHgwZjM4LCAweGYwKTogLyogbW92YmUg bSxyICovCiAgICAgY2FzZSBYODZFTVVMX09QQygweDBmMzgsIDB4ZjEpOiAvKiBtb3ZiZSByLG0g Ki8KICAgICAgICAgdmNwdV9tdXN0X2hhdmUobW92YmUpOwpAQCAtNzUzOSw2ICs3NTM3LDE5IEBA IHg4Nl9lbXVsYXRlKAogICAgICAgICBnZW5lcmF0ZV9leGNlcHRpb25faWYodmV4LncsIEVYQ19V RCk7CiAgICAgICAgIGdvdG8gc2ltZF8wZl9pbW04X2F2eDsKIAorICAgIGNhc2UgWDg2RU1VTF9P UENfNjYoMHgwZjNhLCAweDA4KTogLyogcm91bmRwcyAkaW1tOCx4bW0vbTEyOCx4bW0gKi8KKyAg ICBjYXNlIFg4NkVNVUxfT1BDXzY2KDB4MGYzYSwgMHgwOSk6IC8qIHJvdW5kcGQgJGltbTgseG1t L20xMjgseG1tICovCisgICAgY2FzZSBYODZFTVVMX09QQ182NigweDBmM2EsIDB4MGEpOiAvKiBy b3VuZHNzICRpbW04LHhtbS9tMTI4LHhtbSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfNjYoMHgw ZjNhLCAweDBiKTogLyogcm91bmRzZCAkaW1tOCx4bW0vbTEyOCx4bW0gKi8KKyAgICBjYXNlIFg4 NkVNVUxfT1BDXzY2KDB4MGYzYSwgMHgwYyk6IC8qIGJsZW5kcHMgJGltbTgseG1tL20xMjgseG1t ICovCisgICAgY2FzZSBYODZFTVVMX09QQ182NigweDBmM2EsIDB4MGQpOiAvKiBibGVuZHBkICRp bW04LHhtbS9tMTI4LHhtbSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfNjYoMHgwZjNhLCAweDBl KTogLyogcGJsZW5kdyAkaW1tOCx4bW0vbTEyOCx4bW0gKi8KKyAgICBjYXNlIFg4NkVNVUxfT1BD XzY2KDB4MGYzYSwgMHg0MCk6IC8qIGRwcHMgJGltbTgseG1tL20xMjgseG1tICovCisgICAgY2Fz ZSBYODZFTVVMX09QQ182NigweDBmM2EsIDB4NDEpOiAvKiBkcHBkICRpbW04LHhtbS9tMTI4LHht bSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfNjYoMHgwZjNhLCAweDQyKTogLyogbXBzYWRidyAk aW1tOCx4bW0vbTEyOCx4bW0gKi8KKyAgICAgICAgaG9zdF9hbmRfdmNwdV9tdXN0X2hhdmUoc3Nl NF8xKTsKKyAgICAgICAgZ290byBzaW1kXzBmM2FfY29tbW9uOworCiAgICAgY2FzZSBYODZFTVVM X09QQygweDBmM2EsIDB4MGYpOiAgICAvKiBwYWxpZ25yICRpbW04LG1tL202NCxtbSAqLwogICAg IGNhc2UgWDg2RU1VTF9PUENfNjYoMHgwZjNhLCAweDBmKTogLyogcGFsaWduciAkaW1tOCx4bW0v bTEyOCx4bW0gKi8KICAgICAgICAgaG9zdF9hbmRfdmNwdV9tdXN0X2hhdmUoc3NzZTMpOwpAQCAt NzU2NywxOSArNzU3OCw2IEBAIHg4Nl9lbXVsYXRlKAogICAgICAgICBmaWMuaW5zbl9ieXRlcyA9 IFBGWF9CWVRFUyArIDQ7CiAgICAgICAgIGJyZWFrOwogCi0gICAgY2FzZSBYODZFTVVMX09QQ182 NigweDBmM2EsIDB4MDgpOiAvKiByb3VuZHBzICRpbW04LHhtbS9tMTI4LHhtbSAqLwotICAgIGNh c2UgWDg2RU1VTF9PUENfNjYoMHgwZjNhLCAweDA5KTogLyogcm91bmRwZCAkaW1tOCx4bW0vbTEy OCx4bW0gKi8KLSAgICBjYXNlIFg4NkVNVUxfT1BDXzY2KDB4MGYzYSwgMHgwYSk6IC8qIHJvdW5k c3MgJGltbTgseG1tL20xMjgseG1tICovCi0gICAgY2FzZSBYODZFTVVMX09QQ182NigweDBmM2Es IDB4MGIpOiAvKiByb3VuZHNkICRpbW04LHhtbS9tMTI4LHhtbSAqLwotICAgIGNhc2UgWDg2RU1V TF9PUENfNjYoMHgwZjNhLCAweDBjKTogLyogYmxlbmRwcyAkaW1tOCx4bW0vbTEyOCx4bW0gKi8K LSAgICBjYXNlIFg4NkVNVUxfT1BDXzY2KDB4MGYzYSwgMHgwZCk6IC8qIGJsZW5kcGQgJGltbTgs eG1tL20xMjgseG1tICovCi0gICAgY2FzZSBYODZFTVVMX09QQ182NigweDBmM2EsIDB4MGUpOiAv KiBwYmxlbmR3ICRpbW04LHhtbS9tMTI4LHhtbSAqLwotICAgIGNhc2UgWDg2RU1VTF9PUENfNjYo MHgwZjNhLCAweDQwKTogLyogZHBwcyAkaW1tOCx4bW0vbTEyOCx4bW0gKi8KLSAgICBjYXNlIFg4 NkVNVUxfT1BDXzY2KDB4MGYzYSwgMHg0MSk6IC8qIGRwcGQgJGltbTgseG1tL20xMjgseG1tICov Ci0gICAgY2FzZSBYODZFTVVMX09QQ182NigweDBmM2EsIDB4NDIpOiAvKiBtcHNhZGJ3ICRpbW04 LHhtbS9tMTI4LHhtbSAqLwotICAgICAgICBob3N0X2FuZF92Y3B1X211c3RfaGF2ZShzc2U0XzEp OwotICAgICAgICBnb3RvIHNpbWRfMGYzYV9jb21tb247Ci0KICAgICBjYXNlIFg4NkVNVUxfT1BD XzY2KDB4MGYzYSwgMHgxNCk6IC8qIHBleHRyYiAkaW1tOCx4bW0sci9tICovCiAgICAgY2FzZSBY ODZFTVVMX09QQ182NigweDBmM2EsIDB4MTUpOiAvKiBwZXh0cncgJGltbTgseG1tLHIvbSAqLwog ICAgIGNhc2UgWDg2RU1VTF9PUENfNjYoMHgwZjNhLCAweDE2KTogLyogcGV4dHJ7ZCxxfSAkaW1t OCx4bW0sci9tICovCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0 cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=