From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-1.mimecast.com (us-smtp-delivery-1.mimecast.com [207.211.31.81]) by mx.groups.io with SMTP id smtpd.web11.235.1582755138831878657 for ; Wed, 26 Feb 2020 14:12:19 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=FNvu/unz; spf=pass (domain: redhat.com, ip: 207.211.31.81, mailfrom: lersek@redhat.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1582755138; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=kA4SxuzEsKb6yUZnq3eNQYdFBBLobWv1aRrAY3fQNlA=; b=FNvu/unzR2ef3X/KqtIiodklZLj4moORHT77tujjUdsWHI9g9GedtP2v4bry5usjw9bThN ue3ns01VDKGCAga1S4Bn2hRooTgrl9EP1pcy068/hzDTadWZ4UKHSlS4GamOzxcmixKp4D OfSVGIAEMoE9saiJkP7P5kp5l7eEIao= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-409-nNaoRheSMIK3YhFZglGTCQ-1; Wed, 26 Feb 2020 17:12:16 -0500 X-MC-Unique: nNaoRheSMIK3YhFZglGTCQ-1 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 2E4DADB60; Wed, 26 Feb 2020 22:12:15 +0000 (UTC) Received: from lacos-laptop-7.usersys.redhat.com (ovpn-116-185.ams2.redhat.com [10.36.116.185]) by smtp.corp.redhat.com (Postfix) with ESMTP id 75A1160BEF; Wed, 26 Feb 2020 22:12:13 +0000 (UTC) From: "Laszlo Ersek" To: edk2-devel-groups-io Cc: Ard Biesheuvel , Igor Mammedov , Jiewen Yao , Jordan Justen , Michael Kinney , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 05/16] OvmfPkg: enable CPU hotplug support in PiSmmCpuDxeSmm Date: Wed, 26 Feb 2020 23:11:45 +0100 Message-Id: <20200226221156.29589-6-lersek@redhat.com> In-Reply-To: <20200226221156.29589-1-lersek@redhat.com> References: <20200226221156.29589-1-lersek@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 U2V0ICJQY2RDcHVIb3RQbHVnU3VwcG9ydCIgdG8gVFJVRSwgd2hlbiBPVk1GIGlzIGJ1aWx0IHdp dGggU01NX1JFUVVJUkUuCkNvbnNlcXVlbmNlczoKCigxKSBJbiBQaUNwdVNtbUVudHJ5KCkgW1Vl ZmlDcHVQa2cvUGlTbW1DcHVEeGVTbW0vUGlTbW1DcHVEeGVTbW0uY10sCiAgICByZXNvdXJjZXMg YXJlIGFsbG9jYXRlZCBhbmQgcG9wdWxhdGVkIGluIGFkdmFuY2UgZm9yIGFsbCBwb3NzaWJsZQog ICAgKGkuZS4sIHBvdGVudGlhbGx5IGhvdC1hZGRlZCkgcHJvY2Vzc29ycywgcmF0aGVyIHRoYW4g b25seSB0aGUKICAgIHByb2Nlc3NvcnMgcHJlc2VudCBhdCBib290LgoKICAgIFRoZSBwb3NzaWJs ZSBjb3VudCAoY2FsbGVkICJtTWF4TnVtYmVyT2ZDcHVzIikgaXMgc2V0IGZyb20KICAgICJQY2RD cHVNYXhMb2dpY2FsUHJvY2Vzc29yTnVtYmVyIjsgd2Ugc2V0IHRoZSBsYXR0ZXIgaW4KICAgIE92 bWZQa2cvUGxhdGZvcm1QZWkuIChSZWZlciB0byBjb21taXQgODMzNTczMTNkZDY3LAogICAgIk92 bWZQa2cvUGxhdGZvcm1QZWk6IHJld3JpdGUgTWF4Q3B1Q291bnRJbml0aWFsaXphdGlvbigpIGZv ciBDUFUKICAgIGhvdHBsdWciLCAyMDIwLTAxLTI5KS4KCigyKSBUaGUgQWRkUHJvY2Vzc29yKCkg YW5kIFJlbW92ZVByb2Nlc3NvcigpIG1lbWJlciBmdW5jdGlvbnMgb2YKICAgIEVGSV9TTU1fQ1BV X1NFUlZJQ0VfUFJPVE9DT0wsIGltcGxlbWVudGVkIGluCiAgICAiVWVmaUNwdVBrZy9QaVNtbUNw dUR4ZVNtbS9DcHVTZXJ2aWNlLmMiLCBhcmUgbm8gbG9uZ2VyCiAgICBzaG9ydC1jaXJjdWl0ZWQg dG8gRUZJX1VOU1VQUE9SVEVELgoKICAgIFdlJ2xsIHJlbHkgb24gdGhlc2UgZnVuY3Rpb25zIGlu IHRoZSBDUFUgaG90cGx1ZyBTTUkgaGFuZGxlciwgaW4gYQogICAgc3Vic2VxdWVudCBwYXRjaC4K CigzKSBJbiBQaUNwdVNtbUVudHJ5KCksIHRoZSBhZGRyZXNzIG9mIHRoZSBDUFVfSE9UX1BMVUdf REFUQSBzdHJ1Y3R1cmUgKGluCiAgICBTTVJBTSkgaXMgZXhwb3NlZCB2aWEgdGhlIGR5bmFtaWMt b25seSAiUGNkQ3B1SG90UGx1Z0RhdGFBZGRyZXNzIi4KCiAgICBUaGlzIHN0cnVjdHVyZSBpcyBh biBpbmZvcm1hdGlvbiBjaGFubmVsIGJldHdlZW4gdGhlIENQVSBob3RwbHVnIFNNSQogICAgaGFu ZGxlciwgYW5kIEVGSV9TTU1fQ1BVX1NFUlZJQ0VfUFJPVE9DT0wuIE5hbWVseSwgYXQgdGhlIGZp cnN0CiAgICAiSW5kZXgiIHdoZXJlIHRoZSBmb2xsb3dpbmcgZXF1YWxpdHkgaG9sZHM6CgogICAg ICBDUFVfSE9UX1BMVUdfREFUQS5BcGljSWRbSW5kZXhdID09IElOVkFMSURfQVBJQ19JRAoKICAg IGEgaG90LXBsdWdnZWQgQ1BVIGNhbiBiZSBhY2NlcHRlZCwgd2l0aCB0aGUgc3RlcHMgYmVsb3c6 CgooMy4xKSBUaGUgaG90cGx1ZyBTTUkgaGFuZGxlciBoYXMgdG8gb3ZlcndyaXRlIElOVkFMSURf QVBJQ19JRCB3aXRoIHRoZQogICAgICBuZXcgQ1BVJ3MgQVBJQyBJRC4KCigzLjIpIFRoZSBuZXcg Q1BVJ3MgU01CQVNFIGhhcyB0byBiZSByZWxvY2F0ZWQgdG86CgogICAgICAgIENQVV9IT1RfUExV R19EQVRBLlNtQmFzZVtJbmRleF0KCiAgICAgICh3aGljaCB3YXMgcHJlY29tcHV0ZWQgaW4gc3Rl cCAoMSkgYWJvdmUpLgoKKDMuMykgVGhlIGhvdHBsdWcgU01JIGhhbmRsZXIgaXMgc3VwcG9zZWQg dG8gY2FsbAogICAgICBFRklfU01NX0NQVV9TRVJWSUNFX1BST1RPQ09MLkFkZFByb2Nlc3Nvcigp LgoKTm90ZTogd2UgbmVlZCBub3Qgc3BlbGwgb3V0ICJQY2RDcHVIb3RQbHVnRGF0YUFkZHJlc3Mi IGluIHRoZQpbUGNkc0R5bmFtaWNEZWZhdWx0XSBzZWN0aW9ucyBvZiB0aGUgT1ZNRiBEU0MgZmls ZXMsIGp1c3Qgc28gdGhlIFBDRApiZWNvbWUgZHluYW1pY2FsbHkgc2V0dGFibGUuIFRoYXQncyBi ZWNhdXNlICJVZWZpQ3B1UGtnLmRlYyIgZGVjbGFyZXMgdGhpcwpQQ0Qgd2l0aCBbUGNkc0R5bmFt aWMsIFBjZHNEeW5hbWljRXhdIGFjY2VzcyBtZXRob2RzICpvbmx5Ki4KCkNjOiBBcmQgQmllc2hl dXZlbCA8YXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9yZz4KQ2M6IElnb3IgTWFtbWVkb3YgPGltYW1t ZWRvQHJlZGhhdC5jb20+CkNjOiBKaWV3ZW4gWWFvIDxqaWV3ZW4ueWFvQGludGVsLmNvbT4KQ2M6 IEpvcmRhbiBKdXN0ZW4gPGpvcmRhbi5sLmp1c3RlbkBpbnRlbC5jb20+CkNjOiBNaWNoYWVsIEtp bm5leSA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+CkNjOiBQaGlsaXBwZSBNYXRoaWV1LURh dWTDqSA8cGhpbG1kQHJlZGhhdC5jb20+ClJlZjogaHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUu b3JnL3Nob3dfYnVnLmNnaT9pZD0xNTEyClNpZ25lZC1vZmYtYnk6IExhc3psbyBFcnNlayA8bGVy c2VrQHJlZGhhdC5jb20+CkFja2VkLWJ5OiBBcmQgQmllc2hldXZlbCA8YXJkLmJpZXNoZXV2ZWxA bGluYXJvLm9yZz4KLS0tCgpOb3RlczoKICAgIHYyOgogICAgCiAgICAtIFBpY2sgdXAgQXJkJ3Mg QWNrZWQtYnksIHdoaWNoIGlzIGNvbmRpdGlvbmFsIG9uIGFwcHJvdmFsIGZyb20gSW50ZWwKICAg ICAgcmV2aWV3ZXJzIG9uIENjLiAoSSdkIGxpa2UgdG8gc2F2ZSBBcmQgdGhlIGNodXJuIG9mIHJl LWFja2luZwogICAgICB1bm1vZGlmaWVkIHBhdGNoZXMuKQoKIE92bWZQa2cvT3ZtZlBrZ0lhMzIu ZHNjICAgIHwgMSArCiBPdm1mUGtnL092bWZQa2dJYTMyWDY0LmRzYyB8IDEgKwogT3ZtZlBrZy9P dm1mUGtnWDY0LmRzYyAgICAgfCAxICsKIDMgZmlsZXMgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCsp CgpkaWZmIC0tZ2l0IGEvT3ZtZlBrZy9Pdm1mUGtnSWEzMi5kc2MgYi9Pdm1mUGtnL092bWZQa2dJ YTMyLmRzYwppbmRleCA2MGQ4YWYxODViOWMuLjhjMDY1Y2E3Y2VjOSAxMDA2NDQKLS0tIGEvT3Zt ZlBrZy9Pdm1mUGtnSWEzMi5kc2MKKysrIGIvT3ZtZlBrZy9Pdm1mUGtnSWEzMi5kc2MKQEAgLTQx NCw0NCArNDE0LDQ1IEBAIFtMaWJyYXJ5Q2xhc3Nlcy5jb21tb24uU01NX0NPUkVdCiAhZW5kaWYN CiAgIFBjaUxpYnxPdm1mUGtnL0xpYnJhcnkvRHhlUGNpTGliSTQ0MEZ4UTM1L0R4ZVBjaUxpYkk0 NDBGeFEzNS5pbmYNCiANCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KICMNCiAjIFBjZCBTZWN0 aW9uIC0gbGlzdCBvZiBhbGwgRURLIElJIFBDRCBFbnRyaWVzIGRlZmluZWQgYnkgdGhpcyBQbGF0 Zm9ybS4NCiAjDQogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiBbUGNkc0ZlYXR1cmVGbGFnXQ0K ICAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEhpaU9zUnVudGltZVN1cHBvcnR8 RkFMU0UNCiAgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RTdGF0dXNDb2RlVXNl U2VyaWFsfEZBTFNFDQogICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkU3RhdHVz Q29kZVVzZU1lbW9yeXxUUlVFDQogICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNk RHhlSXBsU3VwcG9ydFVlZmlEZWNvbXByZXNzfEZBTFNFDQogICBnRWZpTWRlTW9kdWxlUGtnVG9r ZW5TcGFjZUd1aWQuUGNkRHhlSXBsU3dpdGNoVG9Mb25nTW9kZXxGQUxTRQ0KICAgZ0VmaU1kZU1v ZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZENvbk91dEdvcFN1cHBvcnR8VFJVRQ0KICAgZ0VmaU1k ZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZENvbk91dFVnYVN1cHBvcnR8RkFMU0UNCiAgIGdF ZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RJbnN0YWxsQWNwaVNkdFByb3RvY29sfFRS VUUNCiAhaWZkZWYgJChDU01fRU5BQkxFKQ0KICAgZ1VlZmlPdm1mUGtnVG9rZW5TcGFjZUd1aWQu UGNkQ3NtRW5hYmxlfFRSVUUNCiAhZW5kaWYNCiAhaWYgJChTTU1fUkVRVUlSRSkgPT0gVFJVRQ0K ICAgZ1VlZmlPdm1mUGtnVG9rZW5TcGFjZUd1aWQuUGNkU21tU21yYW1SZXF1aXJlfFRSVUUNCisg IGdVZWZpQ3B1UGtnVG9rZW5TcGFjZUd1aWQuUGNkQ3B1SG90UGx1Z1N1cHBvcnR8VFJVRQ0KICAg Z0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEVuYWJsZVZhcmlhYmxlUnVudGltZUNh Y2hlfEZBTFNFDQogIWVuZGlmDQogDQogW1BjZHNGaXhlZEF0QnVpbGRdDQogICBnRWZpTWRlTW9k dWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkU3RhdHVzQ29kZU1lbW9yeVNpemV8MQ0KICAgZ0VmaU1k ZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFJlc2V0T25NZW1vcnlUeXBlSW5mb3JtYXRpb25D aGFuZ2V8RkFMU0UNCiAgIGdFZmlNZGVQa2dUb2tlblNwYWNlR3VpZC5QY2RNYXhpbXVtR3VpZGVk RXh0cmFjdEhhbmRsZXJ8MHgxMA0KICFpZiAoJChGRF9TSVpFX0lOX0tCKSA9PSAxMDI0KSB8fCAo JChGRF9TSVpFX0lOX0tCKSA9PSAyMDQ4KQ0KICAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VH dWlkLlBjZE1heFZhcmlhYmxlU2l6ZXwweDIwMDANCiAgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNw YWNlR3VpZC5QY2RNYXhBdXRoVmFyaWFibGVTaXplfDB4MjgwMA0KICFpZiAkKE5FVFdPUktfVExT X0VOQUJMRSkgPT0gRkFMU0UNCiAgICMgbWF0Y2ggUGNkRmxhc2hOdlN0b3JhZ2VWYXJpYWJsZVNp emUgcHVyZWx5IGZvciBjb252ZW5pZW5jZQ0KICAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VH dWlkLlBjZFZhcmlhYmxlU3RvcmVTaXplfDB4ZTAwMA0KICFlbmRpZg0KICFlbmRpZg0KICFpZiAk KEZEX1NJWkVfSU5fS0IpID09IDQwOTYNCiAgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3Vp ZC5QY2RNYXhWYXJpYWJsZVNpemV8MHg4NDAwDQogICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFj ZUd1aWQuUGNkTWF4QXV0aFZhcmlhYmxlU2l6ZXwweDg0MDANCiAhaWYgJChORVRXT1JLX1RMU19F TkFCTEUpID09IEZBTFNFDQogICAjIG1hdGNoIFBjZEZsYXNoTnZTdG9yYWdlVmFyaWFibGVTaXpl IHB1cmVseSBmb3IgY29udmVuaWVuY2UNCiAgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3Vp ZC5QY2RWYXJpYWJsZVN0b3JlU2l6ZXwweDQwMDAwDQogIWVuZGlmDQpkaWZmIC0tZ2l0IGEvT3Zt ZlBrZy9Pdm1mUGtnSWEzMlg2NC5kc2MgYi9Pdm1mUGtnL092bWZQa2dJYTMyWDY0LmRzYwppbmRl eCBiZTZiYzdiZDg4YTcuLjk0NGI3ODVlNjFhOSAxMDA2NDQKLS0tIGEvT3ZtZlBrZy9Pdm1mUGtn SWEzMlg2NC5kc2MKKysrIGIvT3ZtZlBrZy9Pdm1mUGtnSWEzMlg2NC5kc2MKQEAgLTQxOSw0NCAr NDE5LDQ1IEBAIFtMaWJyYXJ5Q2xhc3Nlcy5jb21tb24uU01NX0NPUkVdCiAhZW5kaWYNCiAgIFBj aUxpYnxPdm1mUGtnL0xpYnJhcnkvRHhlUGNpTGliSTQ0MEZ4UTM1L0R4ZVBjaUxpYkk0NDBGeFEz NS5pbmYNCiANCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KICMNCiAjIFBjZCBTZWN0aW9uIC0g bGlzdCBvZiBhbGwgRURLIElJIFBDRCBFbnRyaWVzIGRlZmluZWQgYnkgdGhpcyBQbGF0Zm9ybS4N CiAjDQogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiBbUGNkc0ZlYXR1cmVGbGFnXQ0KICAgZ0Vm aU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEhpaU9zUnVudGltZVN1cHBvcnR8RkFMU0UN CiAgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RTdGF0dXNDb2RlVXNlU2VyaWFs fEZBTFNFDQogICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkU3RhdHVzQ29kZVVz ZU1lbW9yeXxUUlVFDQogICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRHhlSXBs U3VwcG9ydFVlZmlEZWNvbXByZXNzfEZBTFNFDQogICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFj ZUd1aWQuUGNkRHhlSXBsU3dpdGNoVG9Mb25nTW9kZXxUUlVFDQogICBnRWZpTWRlTW9kdWxlUGtn VG9rZW5TcGFjZUd1aWQuUGNkQ29uT3V0R29wU3VwcG9ydHxUUlVFDQogICBnRWZpTWRlTW9kdWxl UGtnVG9rZW5TcGFjZUd1aWQuUGNkQ29uT3V0VWdhU3VwcG9ydHxGQUxTRQ0KICAgZ0VmaU1kZU1v ZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEluc3RhbGxBY3BpU2R0UHJvdG9jb2x8VFJVRQ0KICFp ZmRlZiAkKENTTV9FTkFCTEUpDQogICBnVWVmaU92bWZQa2dUb2tlblNwYWNlR3VpZC5QY2RDc21F bmFibGV8VFJVRQ0KICFlbmRpZg0KICFpZiAkKFNNTV9SRVFVSVJFKSA9PSBUUlVFDQogICBnVWVm aU92bWZQa2dUb2tlblNwYWNlR3VpZC5QY2RTbW1TbXJhbVJlcXVpcmV8VFJVRQ0KKyAgZ1VlZmlD cHVQa2dUb2tlblNwYWNlR3VpZC5QY2RDcHVIb3RQbHVnU3VwcG9ydHxUUlVFDQogICBnRWZpTWRl TW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRW5hYmxlVmFyaWFibGVSdW50aW1lQ2FjaGV8RkFM U0UNCiAhZW5kaWYNCiANCiBbUGNkc0ZpeGVkQXRCdWlsZF0NCiAgIGdFZmlNZGVNb2R1bGVQa2dU b2tlblNwYWNlR3VpZC5QY2RTdGF0dXNDb2RlTWVtb3J5U2l6ZXwxDQogICBnRWZpTWRlTW9kdWxl UGtnVG9rZW5TcGFjZUd1aWQuUGNkUmVzZXRPbk1lbW9yeVR5cGVJbmZvcm1hdGlvbkNoYW5nZXxG QUxTRQ0KICAgZ0VmaU1kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZE1heGltdW1HdWlkZWRFeHRyYWN0 SGFuZGxlcnwweDEwDQogIWlmICgkKEZEX1NJWkVfSU5fS0IpID09IDEwMjQpIHx8ICgkKEZEX1NJ WkVfSU5fS0IpID09IDIwNDgpDQogICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNk TWF4VmFyaWFibGVTaXplfDB4MjAwMA0KICAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlk LlBjZE1heEF1dGhWYXJpYWJsZVNpemV8MHgyODAwDQogIWlmICQoTkVUV09SS19UTFNfRU5BQkxF KSA9PSBGQUxTRQ0KICAgIyBtYXRjaCBQY2RGbGFzaE52U3RvcmFnZVZhcmlhYmxlU2l6ZSBwdXJl bHkgZm9yIGNvbnZlbmllbmNlDQogICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNk VmFyaWFibGVTdG9yZVNpemV8MHhlMDAwDQogIWVuZGlmDQogIWVuZGlmDQogIWlmICQoRkRfU0la RV9JTl9LQikgPT0gNDA5Ng0KICAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZE1h eFZhcmlhYmxlU2l6ZXwweDg0MDANCiAgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5Q Y2RNYXhBdXRoVmFyaWFibGVTaXplfDB4ODQwMA0KICFpZiAkKE5FVFdPUktfVExTX0VOQUJMRSkg PT0gRkFMU0UNCiAgICMgbWF0Y2ggUGNkRmxhc2hOdlN0b3JhZ2VWYXJpYWJsZVNpemUgcHVyZWx5 IGZvciBjb252ZW5pZW5jZQ0KICAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFZh cmlhYmxlU3RvcmVTaXplfDB4NDAwMDANCiAhZW5kaWYNCmRpZmYgLS1naXQgYS9Pdm1mUGtnL092 bWZQa2dYNjQuZHNjIGIvT3ZtZlBrZy9Pdm1mUGtnWDY0LmRzYwppbmRleCBlMjU4YzQ3NGI2MGQu LjhkZTBmNzE3OTc4NCAxMDA2NDQKLS0tIGEvT3ZtZlBrZy9Pdm1mUGtnWDY0LmRzYworKysgYi9P dm1mUGtnL092bWZQa2dYNjQuZHNjCkBAIC00MTksNDQgKzQxOSw0NSBAQCBbTGlicmFyeUNsYXNz ZXMuY29tbW9uLlNNTV9DT1JFXQogIWVuZGlmDQogICBQY2lMaWJ8T3ZtZlBrZy9MaWJyYXJ5L0R4 ZVBjaUxpYkk0NDBGeFEzNS9EeGVQY2lMaWJJNDQwRnhRMzUuaW5mDQogDQogIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMNCiAjDQogIyBQY2QgU2VjdGlvbiAtIGxpc3Qgb2YgYWxsIEVESyBJSSBQQ0Qg RW50cmllcyBkZWZpbmVkIGJ5IHRoaXMgUGxhdGZvcm0uDQogIw0KICMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjDQogW1BjZHNGZWF0dXJlRmxhZ10NCiAgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNl R3VpZC5QY2RIaWlPc1J1bnRpbWVTdXBwb3J0fEZBTFNFDQogICBnRWZpTWRlTW9kdWxlUGtnVG9r ZW5TcGFjZUd1aWQuUGNkU3RhdHVzQ29kZVVzZVNlcmlhbHxGQUxTRQ0KICAgZ0VmaU1kZU1vZHVs ZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFN0YXR1c0NvZGVVc2VNZW1vcnl8VFJVRQ0KICAgZ0VmaU1k ZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZER4ZUlwbFN1cHBvcnRVZWZpRGVjb21wcmVzc3xG QUxTRQ0KICAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZER4ZUlwbFN3aXRjaFRv TG9uZ01vZGV8RkFMU0UNCiAgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RDb25P dXRHb3BTdXBwb3J0fFRSVUUNCiAgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RD b25PdXRVZ2FTdXBwb3J0fEZBTFNFDQogICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQu UGNkSW5zdGFsbEFjcGlTZHRQcm90b2NvbHxUUlVFDQogIWlmZGVmICQoQ1NNX0VOQUJMRSkNCiAg IGdVZWZpT3ZtZlBrZ1Rva2VuU3BhY2VHdWlkLlBjZENzbUVuYWJsZXxUUlVFDQogIWVuZGlmDQog IWlmICQoU01NX1JFUVVJUkUpID09IFRSVUUNCiAgIGdVZWZpT3ZtZlBrZ1Rva2VuU3BhY2VHdWlk LlBjZFNtbVNtcmFtUmVxdWlyZXxUUlVFDQorICBnVWVmaUNwdVBrZ1Rva2VuU3BhY2VHdWlkLlBj ZENwdUhvdFBsdWdTdXBwb3J0fFRSVUUNCiAgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3Vp ZC5QY2RFbmFibGVWYXJpYWJsZVJ1bnRpbWVDYWNoZXxGQUxTRQ0KICFlbmRpZg0KIA0KIFtQY2Rz Rml4ZWRBdEJ1aWxkXQ0KICAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFN0YXR1 c0NvZGVNZW1vcnlTaXplfDENCiAgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RS ZXNldE9uTWVtb3J5VHlwZUluZm9ybWF0aW9uQ2hhbmdlfEZBTFNFDQogICBnRWZpTWRlUGtnVG9r ZW5TcGFjZUd1aWQuUGNkTWF4aW11bUd1aWRlZEV4dHJhY3RIYW5kbGVyfDB4MTANCiAhaWYgKCQo RkRfU0laRV9JTl9LQikgPT0gMTAyNCkgfHwgKCQoRkRfU0laRV9JTl9LQikgPT0gMjA0OCkNCiAg IGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RNYXhWYXJpYWJsZVNpemV8MHgyMDAw DQogICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkTWF4QXV0aFZhcmlhYmxlU2l6 ZXwweDI4MDANCiAhaWYgJChORVRXT1JLX1RMU19FTkFCTEUpID09IEZBTFNFDQogICAjIG1hdGNo IFBjZEZsYXNoTnZTdG9yYWdlVmFyaWFibGVTaXplIHB1cmVseSBmb3IgY29udmVuaWVuY2UNCiAg IGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RWYXJpYWJsZVN0b3JlU2l6ZXwweGUw MDANCiAhZW5kaWYNCiAhZW5kaWYNCiAhaWYgJChGRF9TSVpFX0lOX0tCKSA9PSA0MDk2DQogICBn RWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkTWF4VmFyaWFibGVTaXplfDB4ODQwMA0K ICAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZE1heEF1dGhWYXJpYWJsZVNpemV8 MHg4NDAwDQogIWlmICQoTkVUV09SS19UTFNfRU5BQkxFKSA9PSBGQUxTRQ0KICAgIyBtYXRjaCBQ Y2RGbGFzaE52U3RvcmFnZVZhcmlhYmxlU2l6ZSBwdXJlbHkgZm9yIGNvbnZlbmllbmNlDQogICBn RWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkVmFyaWFibGVTdG9yZVNpemV8MHg0MDAw MA0KICFlbmRpZg0KLS0gCjIuMTkuMS4zLmczMDI0N2FhNWQyMDEKCgo=