From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Tomas Mraz To: git-commits@fedoraproject.org Subject: [rpms/openssl] rebase_40beta: Merge remote-tracking branch 'origin/f19' into f19 Date: Tue, 09 Jun 2026 12:43:06 GMT Message-ID: <178100898654.1.7602655169458357367.rpms-openssl-a8799e01c4d6@fedoraproject.org> List-ID: X-Git-Repo: rpms/openssl X-Git-Branch: rebase_40beta X-Git-Rev: a8799e01c4d6bf5a2622a91bb727f2aaef0108c8 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvb3BlbnNzbApCcmFu Y2ggOiByZWJhc2VfNDBiZXRhCkNvbW1pdCA6IGE4Nzk5ZTAxYzRkNmJmNWEyNjIyYTkxYmI3Mjdm MmFhZWYwMTA4YzgKQXV0aG9yIDogVG9tYXMgTXJheiA8dG1yYXpAZmVkb3JhcHJvamVjdC5vcmc+ CkRhdGUgICA6IDIwMTMtMTAtMTZUMTY6NTI6MTkrMDI6MDAKU3RhdHMgIDogKzMzNzIvLTg0OCBp biAxOSBmaWxlKHMpClVSTCAgICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMv b3BlbnNzbC9jL2E4Nzk5ZTAxYzRkNmJmNWEyNjIyYTkxYmI3MjdmMmFhZWYwMTA4Yzg/YnJhbmNo PXJlYmFzZV80MGJldGEKCkxvZzoKTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2lu L2YxOScgaW50byBmMTkKCi0tLQpkaWZmIC0tZ2l0IGEvLmdpdGlnbm9yZSBiLy5naXRpZ25vcmUK aW5kZXggOTJhNDEwMi4uZjgyYjFkYiAxMDA2NDQKLS0tIGEvLmdpdGlnbm9yZQorKysgYi8uZ2l0 aWdub3JlCkBAIC0xMiwzICsxMiw0IEBAIG9wZW5zc2wtMS4wLjBhLXVzYS50YXIuYnoyCiAvb3Bl bnNzbC0xLjAuMWItdXNhLnRhci54egogL29wZW5zc2wtMS4wLjFjLXVzYS50YXIueHoKIC9vcGVu c3NsLTEuMC4xZS11c2EudGFyLnh6Cisvb3BlbnNzbC0xLjAuMWUtaG9iYmxlZC50YXIueHoKCmRp ZmYgLS1naXQgYS9SRUFETUUuRklQUyBiL1JFQURNRS5GSVBTCmluZGV4IGViMTdiY2EuLmExMTg2 M2YgMTAwNjQ0Ci0tLSBhL1JFQURNRS5GSVBTCisrKyBiL1JFQURNRS5GSVBTCkBAIC0zLDEzICsz LDE1IEBAIFVzZXIgZ3VpZGUgZm9yIHRoZSBGSVBTIFJlZCBIYXQgRW50ZXJwcmlzZSBMaW51eCAt IE9wZW5TU0wgTW9kdWxlCiAKIFRoaXMgcGFja2FnZSBjb250YWlucyBsaWJyYXJpZXMgd2hpY2gg Y29tcHJpc2UgdGhlIEZJUFMgMTQwLTIKIFJlZCBIYXQgRW50ZXJwcmlzZSBMaW51eCAtIE9QRU5T U0wgTW9kdWxlLgorTm90ZSB0aGF0IHRoZSBvcGVuc3NsLWZpcHMgc3VicGFja2FnZSBuZWVkcyB0 byBiZSBpbnN0YWxsZWQgZm9yIHRoZQorT3BlblNTTCBGSVBTIG1vZHVsZSBpbnN0YWxsYXRpb24g dG8gYmUgY29tcGxldGUuCiAKIFRoZSBtb2R1bGUgZmlsZXMKID09PT09PT09PT09PT09PT0KLS91 c3IvbGliWzY0XS9saWJjcnlwdG8uc28uMS4wLjBkCi0vdXNyL2xpYls2NF0vbGlic3NsLnNvLjEu MC4wZAotL3Vzci9saWJbNjRdLy5saWJjcnlwdG8uc28uMS4wLjBkLmhtYWMKLS91c3IvbGliWzY0 XS8ubGlic3NsLnNvLjEuMC4wZC5obWFjCisvdXNyL2xpYls2NF0vbGliY3J5cHRvLnNvLjEuMC4x ZQorL3Vzci9saWJbNjRdL2xpYnNzbC5zby4xLjAuMWUKKy91c3IvbGliWzY0XS8ubGliY3J5cHRv LnNvLjEuMC4xZS5obWFjCisvdXNyL2xpYls2NF0vLmxpYnNzbC5zby4xLjAuMWUuaG1hYwogCiBE ZXBlbmRlbmNpZXMKID09PT09PT09PT09PQoKZGlmZiAtLWdpdCBhL2VjX2N1cnZlLmMgYi9lY19j dXJ2ZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA2OTBmOGIKLS0tIC9k ZXYvbnVsbAorKysgYi9lY19jdXJ2ZS5jCkBAIC0wLDAgKzEsMzQxIEBACisvKiBjcnlwdG8vZWMv ZWNfY3VydmUuYyAqLworLyoKKyAqIFdyaXR0ZW4gYnkgTmlscyBMYXJzY2ggZm9yIHRoZSBPcGVu U1NMIHByb2plY3QuCisgKi8KKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiBDb3B5cmlnaHQgKGMpIDE5OTgt MjAxMCBUaGUgT3BlblNTTCBQcm9qZWN0LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1 dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj bGFpbWVyLiAKKyAqCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluCisgKiAgICB0aGUgZG9j dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiAg ICBkaXN0cmlidXRpb24uCisgKgorICogMy4gQWxsIGFkdmVydGlzaW5nIG1hdGVyaWFscyBtZW50 aW9uaW5nIGZlYXR1cmVzIG9yIHVzZSBvZiB0aGlzCisgKiAgICBzb2Z0d2FyZSBtdXN0IGRpc3Bs YXkgdGhlIGZvbGxvd2luZyBhY2tub3dsZWRnbWVudDoKKyAqICAgICJUaGlzIHByb2R1Y3QgaW5j bHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IHRoZSBPcGVuU1NMIFByb2plY3QKKyAqICAgIGZv ciB1c2UgaW4gdGhlIE9wZW5TU0wgVG9vbGtpdC4gKGh0dHA6Ly93d3cub3BlbnNzbC5vcmcvKSIK KyAqCisgKiA0LiBUaGUgbmFtZXMgIk9wZW5TU0wgVG9vbGtpdCIgYW5kICJPcGVuU1NMIFByb2pl Y3QiIG11c3Qgbm90IGJlIHVzZWQgdG8KKyAqICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0 cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0CisgKiAgICBwcmlvciB3cml0dGVu IHBlcm1pc3Npb24uIEZvciB3cml0dGVuIHBlcm1pc3Npb24sIHBsZWFzZSBjb250YWN0CisgKiAg ICBvcGVuc3NsLWNvcmVAb3BlbnNzbC5vcmcuCisgKgorICogNS4gUHJvZHVjdHMgZGVyaXZlZCBm cm9tIHRoaXMgc29mdHdhcmUgbWF5IG5vdCBiZSBjYWxsZWQgIk9wZW5TU0wiCisgKiAgICBub3Ig bWF5ICJPcGVuU1NMIiBhcHBlYXIgaW4gdGhlaXIgbmFtZXMgd2l0aG91dCBwcmlvciB3cml0dGVu CisgKiAgICBwZXJtaXNzaW9uIG9mIHRoZSBPcGVuU1NMIFByb2plY3QuCisgKgorICogNi4gUmVk aXN0cmlidXRpb25zIG9mIGFueSBmb3JtIHdoYXRzb2V2ZXIgbXVzdCByZXRhaW4gdGhlIGZvbGxv d2luZworICogICAgYWNrbm93bGVkZ21lbnQ6CisgKiAgICAiVGhpcyBwcm9kdWN0IGluY2x1ZGVz IHNvZnR3YXJlIGRldmVsb3BlZCBieSB0aGUgT3BlblNTTCBQcm9qZWN0CisgKiAgICBmb3IgdXNl IGluIHRoZSBPcGVuU1NMIFRvb2xraXQgKGh0dHA6Ly93d3cub3BlbnNzbC5vcmcvKSIKKyAqCisg KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBPcGVuU1NMIFBST0pFQ1QgYGBBUyBJ UycnIEFORCBBTlkKKyAqIEVYUFJFU1NFRCBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBPcGVuU1NMIFBST0pFQ1QgT1IKKyAq IElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D SURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT IChJTkNMVURJTkcsIEJVVAorICogTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQorICogSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULAorICogU1RSSUNUIExJ QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g SUYgQURWSVNFRAorICogT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICogPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KKyAqCisgKiBUaGlzIHByb2R1Y3QgaW5jbHVkZXMgY3J5cHRvZ3JhcGhpYyBzb2Z0 d2FyZSB3cml0dGVuIGJ5IEVyaWMgWW91bmcKKyAqIChlYXlAY3J5cHRzb2Z0LmNvbSkuICBUaGlz IHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgd3JpdHRlbiBieSBUaW0KKyAqIEh1ZHNvbiAodGpo QGNyeXB0c29mdC5jb20pLgorICoKKyAqLworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqIENvcHlyaWdodCAy MDAyIFN1biBNaWNyb3N5c3RlbXMsIEluYy4gQUxMIFJJR0hUUyBSRVNFUlZFRC4KKyAqCisgKiBQ b3J0aW9ucyBvZiB0aGUgYXR0YWNoZWQgc29mdHdhcmUgKCJDb250cmlidXRpb24iKSBhcmUgZGV2 ZWxvcGVkIGJ5IAorICogU1VOIE1JQ1JPU1lTVEVNUywgSU5DLiwgYW5kIGFyZSBjb250cmlidXRl ZCB0byB0aGUgT3BlblNTTCBwcm9qZWN0LgorICoKKyAqIFRoZSBDb250cmlidXRpb24gaXMgbGlj ZW5zZWQgcHVyc3VhbnQgdG8gdGhlIE9wZW5TU0wgb3BlbiBzb3VyY2UKKyAqIGxpY2Vuc2UgcHJv dmlkZWQgYWJvdmUuCisgKgorICogVGhlIGVsbGlwdGljIGN1cnZlIGJpbmFyeSBwb2x5bm9taWFs IHNvZnR3YXJlIGlzIG9yaWdpbmFsbHkgd3JpdHRlbiBieSAKKyAqIFNoZXVlbGluZyBDaGFuZyBT aGFudHogYW5kIERvdWdsYXMgU3RlYmlsYSBvZiBTdW4gTWljcm9zeXN0ZW1zIExhYm9yYXRvcmll cy4KKyAqCisgKi8KKworI2luY2x1ZGUgImVjX2xjbC5oIgorI2luY2x1ZGUgPG9wZW5zc2wvZXJy Lmg+CisjaW5jbHVkZSA8b3BlbnNzbC9vYmpfbWFjLmg+CisjaW5jbHVkZSA8b3BlbnNzbC9vcGVu c3NsY29uZi5oPgorCit0eXBlZGVmIHN0cnVjdCB7CisJaW50CWZpZWxkX3R5cGUsCS8qIGVpdGhl ciBOSURfWDlfNjJfcHJpbWVfZmllbGQgb3IKKwkJCQkgKiBOSURfWDlfNjJfY2hhcmFjdGVyaXN0 aWNfdHdvX2ZpZWxkICovCisJCXNlZWRfbGVuLAorCQlwYXJhbV9sZW47CisJdW5zaWduZWQgaW50 IGNvZmFjdG9yOwkvKiBwcm9tb3RlZCB0byBCTl9VTE9ORyAqLworfSBFQ19DVVJWRV9EQVRBOwor CitzdGF0aWMgY29uc3Qgc3RydWN0IHsgRUNfQ1VSVkVfREFUQSBoOyB1bnNpZ25lZCBjaGFyIGRh dGFbMjArNDgqNl07IH0KKwlfRUNfTklTVF9QUklNRV8zODQgPSB7CisJeyBOSURfWDlfNjJfcHJp bWVfZmllbGQsMjAsNDgsMSB9LAorCXsgMHhBMywweDM1LDB4OTIsMHg2QSwweEEzLDB4MTksMHhB MiwweDdBLDB4MUQsMHgwMCwJLyogc2VlZCAqLworCSAgMHg4OSwweDZBLDB4NjcsMHg3MywweEE0 LDB4ODIsMHg3QSwweENELDB4QUMsMHg3MywKKworCSAgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZG LDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwJLyogcCAqLworCSAgMHhGRiwweEZGLDB4RkYsMHhG RiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwKKwkgIDB4RkYsMHhGRiwweEZGLDB4RkYs MHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsCisJICAweEZGLDB4RkUsMHhGRiwweEZGLDB4 RkYsMHhGRiwweDAwLDB4MDAsMHgwMCwweDAwLAorCSAgMHgwMCwweDAwLDB4MDAsMHgwMCwweEZG LDB4RkYsMHhGRiwweEZGLAorCSAgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiww eEZGLDB4RkYsMHhGRiwJLyogYSAqLworCSAgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYs MHhGRiwweEZGLDB4RkYsMHhGRiwKKwkgIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4 RkYsMHhGRiwweEZGLDB4RkYsCisJICAweEZGLDB4RkUsMHhGRiwweEZGLDB4RkYsMHhGRiwweDAw LDB4MDAsMHgwMCwweDAwLAorCSAgMHgwMCwweDAwLDB4MDAsMHgwMCwweEZGLDB4RkYsMHhGRiww eEZDLAorCSAgMHhCMywweDMxLDB4MkYsMHhBNywweEUyLDB4M0UsMHhFNywweEU0LDB4OTgsMHg4 RSwJLyogYiAqLworCSAgMHgwNSwweDZCLDB4RTMsMHhGOCwweDJELDB4MTksMHgxOCwweDFELDB4 OUMsMHg2RSwKKwkgIDB4RkUsMHg4MSwweDQxLDB4MTIsMHgwMywweDE0LDB4MDgsMHg4RiwweDUw LDB4MTMsCisJICAweDg3LDB4NUEsMHhDNiwweDU2LDB4MzksMHg4RCwweDhBLDB4MkUsMHhEMSww eDlELAorCSAgMHgyQSwweDg1LDB4QzgsMHhFRCwweEQzLDB4RUMsMHgyQSwweEVGLAorCSAgMHhB QSwweDg3LDB4Q0EsMHgyMiwweEJFLDB4OEIsMHgwNSwweDM3LDB4OEUsMHhCMSwJLyogeCAqLwor CSAgMHhDNywweDFFLDB4RjMsMHgyMCwweEFELDB4NzQsMHg2RSwweDFELDB4M0IsMHg2MiwKKwkg IDB4OEIsMHhBNywweDlCLDB4OTgsMHg1OSwweEY3LDB4NDEsMHhFMCwweDgyLDB4NTQsCisJICAw eDJBLDB4MzgsMHg1NSwweDAyLDB4RjIsMHg1RCwweEJGLDB4NTUsMHgyOSwweDZDLAorCSAgMHgz QSwweDU0LDB4NUUsMHgzOCwweDcyLDB4NzYsMHgwQSwweEI3LAorCSAgMHgzNiwweDE3LDB4ZGUs MHg0YSwweDk2LDB4MjYsMHgyYywweDZmLDB4NWQsMHg5ZSwJLyogeSAqLworCSAgMHg5OCwweGJm LDB4OTIsMHg5MiwweGRjLDB4MjksMHhmOCwweGY0LDB4MWQsMHhiZCwKKwkgIDB4MjgsMHg5YSww eDE0LDB4N2MsMHhlOSwweGRhLDB4MzEsMHgxMywweGI1LDB4ZjAsCisJICAweGI4LDB4YzAsMHgw YSwweDYwLDB4YjEsMHhjZSwweDFkLDB4N2UsMHg4MSwweDlkLAorCSAgMHg3YSwweDQzLDB4MWQs MHg3YywweDkwLDB4ZWEsMHgwZSwweDVmLAorCSAgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4 RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwJLyogb3JkZXIgKi8KKwkgIDB4RkYsMHhGRiwweEZGLDB4 RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsCisJICAweEZGLDB4RkYsMHhGRiwweEZG LDB4QzcsMHg2MywweDRELDB4ODEsMHhGNCwweDM3LAorCSAgMHgyRCwweERGLDB4NTgsMHgxQSww eDBELDB4QjIsMHg0OCwweEIwLDB4QTcsMHg3QSwKKwkgIDB4RUMsMHhFQywweDE5LDB4NkEsMHhD QywweEM1LDB4MjksMHg3MyB9CisJfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCB7IEVDX0NVUlZF X0RBVEEgaDsgdW5zaWduZWQgY2hhciBkYXRhWzIwKzMyKjZdOyB9CisJX0VDX1g5XzYyX1BSSU1F XzI1NlYxID0geworCXsgTklEX1g5XzYyX3ByaW1lX2ZpZWxkLDIwLDMyLDEgfSwKKwl7IDB4QzQs MHg5RCwweDM2LDB4MDgsMHg4NiwweEU3LDB4MDQsMHg5MywweDZBLDB4NjYsCS8qIHNlZWQgKi8K KwkgIDB4NzgsMHhFMSwweDEzLDB4OUQsMHgyNiwweEI3LDB4ODEsMHg5RiwweDdFLDB4OTAsCisK KwkgIDB4RkYsMHhGRiwweEZGLDB4RkYsMHgwMCwweDAwLDB4MDAsMHgwMSwweDAwLDB4MDAsCS8q IHAgKi8KKwkgIDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4 MDAsCisJICAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZG LAorCSAgMHhGRiwweEZGLAorCSAgMHhGRiwweEZGLDB4RkYsMHhGRiwweDAwLDB4MDAsMHgwMCww eDAxLDB4MDAsMHgwMCwJLyogYSAqLworCSAgMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAs MHgwMCwweDAwLDB4MDAsMHgwMCwKKwkgIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4 RkYsMHhGRiwweEZGLDB4RkYsCisJICAweEZGLDB4RkMsCisJICAweDVBLDB4QzYsMHgzNSwweEQ4 LDB4QUEsMHgzQSwweDkzLDB4RTcsMHhCMywweEVCLAkvKiBiICovCisJICAweEJELDB4NTUsMHg3 NiwweDk4LDB4ODYsMHhCQywweDY1LDB4MUQsMHgwNiwweEIwLAorCSAgMHhDQywweDUzLDB4QjAs MHhGNiwweDNCLDB4Q0UsMHgzQywweDNFLDB4MjcsMHhEMiwKKwkgIDB4NjAsMHg0QiwKKwkgIDB4 NkIsMHgxNywweEQxLDB4RjIsMHhFMSwweDJDLDB4NDIsMHg0NywweEY4LDB4QkMsCS8qIHggKi8K KwkgIDB4RTYsMHhFNSwweDYzLDB4QTQsMHg0MCwweEYyLDB4NzcsMHgwMywweDdELDB4ODEsCisJ ICAweDJELDB4RUIsMHgzMywweEEwLDB4RjQsMHhBMSwweDM5LDB4NDUsMHhEOCwweDk4LAorCSAg MHhDMiwweDk2LAorCSAgMHg0ZiwweGUzLDB4NDIsMHhlMiwweGZlLDB4MWEsMHg3ZiwweDliLDB4 OGUsMHhlNywJLyogeSAqLworCSAgMHhlYiwweDRhLDB4N2MsMHgwZiwweDllLDB4MTYsMHgyYiww eGNlLDB4MzMsMHg1NywKKwkgIDB4NmIsMHgzMSwweDVlLDB4Y2UsMHhjYiwweGI2LDB4NDAsMHg2 OCwweDM3LDB4YmYsCisJICAweDUxLDB4ZjUsCisJICAweEZGLDB4RkYsMHhGRiwweEZGLDB4MDAs MHgwMCwweDAwLDB4MDAsMHhGRiwweEZGLAkvKiBvcmRlciAqLworCSAgMHhGRiwweEZGLDB4RkYs MHhGRiwweEZGLDB4RkYsMHhCQywweEU2LDB4RkEsMHhBRCwKKwkgIDB4QTcsMHgxNywweDlFLDB4 ODQsMHhGMywweEI5LDB4Q0EsMHhDMiwweEZDLDB4NjMsCisJICAweDI1LDB4NTEgfQorCX07CisK K3R5cGVkZWYgc3RydWN0IF9lY19saXN0X2VsZW1lbnRfc3QgeworCWludAluaWQ7CisJY29uc3Qg RUNfQ1VSVkVfREFUQSAqZGF0YTsKKwljb25zdCBFQ19NRVRIT0QgKigqbWV0aCkodm9pZCk7CisJ Y29uc3QgY2hhciAqY29tbWVudDsKKwl9IGVjX2xpc3RfZWxlbWVudDsKKworc3RhdGljIGNvbnN0 IGVjX2xpc3RfZWxlbWVudCBjdXJ2ZV9saXN0W10gPSB7CisJLyogcHJpbWUgZmllbGQgY3VydmVz ICovCisJLyogc2VjZyBjdXJ2ZXMgKi8KKwkvKiBTRUNHIHNlY3AyNTZyMSBpcyB0aGUgc2FtZSBh cyBYOS42MiBwcmltZTI1NnYxIGFuZCBoZW5jZSBvbWl0dGVkICovCisJeyBOSURfc2VjcDM4NHIx LCAmX0VDX05JU1RfUFJJTUVfMzg0LmgsIDAsICJOSVNUL1NFQ0cgY3VydmUgb3ZlciBhIDM4NCBi aXQgcHJpbWUgZmllbGQiIH0sCisjaWZuZGVmIE9QRU5TU0xfTk9fRUNfTklTVFBfNjRfR0NDXzEy OAorCXsgTklEX1g5XzYyX3ByaW1lMjU2djEsICZfRUNfWDlfNjJfUFJJTUVfMjU2VjEuaCwgRUNf R0ZwX25pc3RwMjU2X21ldGhvZCwgIlg5LjYyL1NFQ0cgY3VydmUgb3ZlciBhIDI1NiBiaXQgcHJp bWUgZmllbGQiIH0sCisjZWxzZQorCXsgTklEX1g5XzYyX3ByaW1lMjU2djEsICZfRUNfWDlfNjJf UFJJTUVfMjU2VjEuaCwgMCwgIlg5LjYyL1NFQ0cgY3VydmUgb3ZlciBhIDI1NiBiaXQgcHJpbWUg ZmllbGQiIH0sCisjZW5kaWYKK307CisKKyNkZWZpbmUgY3VydmVfbGlzdF9sZW5ndGggKHNpemVv ZihjdXJ2ZV9saXN0KS9zaXplb2YoZWNfbGlzdF9lbGVtZW50KSkKKworc3RhdGljIEVDX0dST1VQ ICplY19ncm91cF9uZXdfZnJvbV9kYXRhKGNvbnN0IGVjX2xpc3RfZWxlbWVudCBjdXJ2ZSkKKwl7 CisJRUNfR1JPVVAgKmdyb3VwPU5VTEw7CisJRUNfUE9JTlQgKlA9TlVMTDsKKwlCTl9DVFgJICpj dHg9TlVMTDsKKwlCSUdOVU0JICpwPU5VTEwsICphPU5VTEwsICpiPU5VTEwsICp4PU5VTEwsICp5 PU5VTEwsICpvcmRlcj1OVUxMOworCWludAkgb2s9MDsKKwlpbnQJIHNlZWRfbGVuLHBhcmFtX2xl bjsKKwljb25zdCBFQ19NRVRIT0QgKm1ldGg7CisJY29uc3QgRUNfQ1VSVkVfREFUQSAqZGF0YTsK Kwljb25zdCB1bnNpZ25lZCBjaGFyICpwYXJhbXM7CisKKwlpZiAoKGN0eCA9IEJOX0NUWF9uZXco KSkgPT0gTlVMTCkKKwkJeworCQlFQ2VycihFQ19GX0VDX0dST1VQX05FV19GUk9NX0RBVEEsIEVS Ul9SX01BTExPQ19GQUlMVVJFKTsKKwkJZ290byBlcnI7CisJCX0KKworCWRhdGEgPSBjdXJ2ZS5k YXRhOworCXNlZWRfbGVuICA9IGRhdGEtPnNlZWRfbGVuOworCXBhcmFtX2xlbiA9IGRhdGEtPnBh cmFtX2xlbjsKKwlwYXJhbXMJICA9IChjb25zdCB1bnNpZ25lZCBjaGFyICopKGRhdGErMSk7CS8q IHNraXAgaGVhZGVyICovCisJcGFyYW1zCSArPSBzZWVkX2xlbjsJCQkJLyogc2tpcCBzZWVkICAg Ki8KKworCWlmICghKHAgPSBCTl9iaW4yYm4ocGFyYW1zKzAqcGFyYW1fbGVuLCBwYXJhbV9sZW4s IE5VTEwpKQorCQl8fCAhKGEgPSBCTl9iaW4yYm4ocGFyYW1zKzEqcGFyYW1fbGVuLCBwYXJhbV9s ZW4sIE5VTEwpKQorCQl8fCAhKGIgPSBCTl9iaW4yYm4ocGFyYW1zKzIqcGFyYW1fbGVuLCBwYXJh bV9sZW4sIE5VTEwpKSkKKwkJeworCQlFQ2VycihFQ19GX0VDX0dST1VQX05FV19GUk9NX0RBVEEs IEVSUl9SX0JOX0xJQik7CisJCWdvdG8gZXJyOworCQl9CisKKwlpZiAoY3VydmUubWV0aCAhPSAw KQorCQl7CisJCW1ldGggPSBjdXJ2ZS5tZXRoKCk7CisJCWlmICgoKGdyb3VwID0gRUNfR1JPVVBf bmV3KG1ldGgpKSA9PSBOVUxMKSB8fAorCQkJKCEoZ3JvdXAtPm1ldGgtPmdyb3VwX3NldF9jdXJ2 ZShncm91cCwgcCwgYSwgYiwgY3R4KSkpKQorCQkJeworCQkJRUNlcnIoRUNfRl9FQ19HUk9VUF9O RVdfRlJPTV9EQVRBLCBFUlJfUl9FQ19MSUIpOworCQkJZ290byBlcnI7CisJCQl9CisJCX0KKwll bHNlIGlmIChkYXRhLT5maWVsZF90eXBlID09IE5JRF9YOV82Ml9wcmltZV9maWVsZCkKKwkJewor CQlpZiAoKGdyb3VwID0gRUNfR1JPVVBfbmV3X2N1cnZlX0dGcChwLCBhLCBiLCBjdHgpKSA9PSBO VUxMKQorCQkJeworCQkJRUNlcnIoRUNfRl9FQ19HUk9VUF9ORVdfRlJPTV9EQVRBLCBFUlJfUl9F Q19MSUIpOworCQkJZ290byBlcnI7CisJCQl9CisJCX0KKyNpZm5kZWYgT1BFTlNTTF9OT19FQzJN CisJZWxzZQkvKiBmaWVsZF90eXBlID09IE5JRF9YOV82Ml9jaGFyYWN0ZXJpc3RpY190d29fZmll bGQgKi8KKwkJeworCQlpZiAoKGdyb3VwID0gRUNfR1JPVVBfbmV3X2N1cnZlX0dGMm0ocCwgYSwg YiwgY3R4KSkgPT0gTlVMTCkKKwkJCXsKKwkJCUVDZXJyKEVDX0ZfRUNfR1JPVVBfTkVXX0ZST01f REFUQSwgRVJSX1JfRUNfTElCKTsKKwkJCWdvdG8gZXJyOworCQkJfQorCQl9CisjZW5kaWYKKwor CWlmICgoUCA9IEVDX1BPSU5UX25ldyhncm91cCkpID09IE5VTEwpCisJCXsKKwkJRUNlcnIoRUNf Rl9FQ19HUk9VUF9ORVdfRlJPTV9EQVRBLCBFUlJfUl9FQ19MSUIpOworCQlnb3RvIGVycjsKKwkJ fQorCisJaWYgKCEoeCA9IEJOX2JpbjJibihwYXJhbXMrMypwYXJhbV9sZW4sIHBhcmFtX2xlbiwg TlVMTCkpCisJCXx8ICEoeSA9IEJOX2JpbjJibihwYXJhbXMrNCpwYXJhbV9sZW4sIHBhcmFtX2xl biwgTlVMTCkpKQorCQl7CisJCUVDZXJyKEVDX0ZfRUNfR1JPVVBfTkVXX0ZST01fREFUQSwgRVJS X1JfQk5fTElCKTsKKwkJZ290byBlcnI7CisJCX0KKwlpZiAoIUVDX1BPSU5UX3NldF9hZmZpbmVf Y29vcmRpbmF0ZXNfR0ZwKGdyb3VwLCBQLCB4LCB5LCBjdHgpKQorCQl7CisJCUVDZXJyKEVDX0Zf RUNfR1JPVVBfTkVXX0ZST01fREFUQSwgRVJSX1JfRUNfTElCKTsKKwkJZ290byBlcnI7CisJCX0K KwlpZiAoIShvcmRlciA9IEJOX2JpbjJibihwYXJhbXMrNSpwYXJhbV9sZW4sIHBhcmFtX2xlbiwg TlVMTCkpCisJCXx8ICFCTl9zZXRfd29yZCh4LCAoQk5fVUxPTkcpZGF0YS0+Y29mYWN0b3IpKQor CQl7CisJCUVDZXJyKEVDX0ZfRUNfR1JPVVBfTkVXX0ZST01fREFUQSwgRVJSX1JfQk5fTElCKTsK KwkJZ290byBlcnI7CisJCX0KKwlpZiAoIUVDX0dST1VQX3NldF9nZW5lcmF0b3IoZ3JvdXAsIFAs IG9yZGVyLCB4KSkKKwkJeworCQlFQ2VycihFQ19GX0VDX0dST1VQX05FV19GUk9NX0RBVEEsIEVS Ul9SX0VDX0xJQik7CisJCWdvdG8gZXJyOworCQl9CisJaWYgKHNlZWRfbGVuKQorCQl7CisJCWlm ICghRUNfR1JPVVBfc2V0X3NlZWQoZ3JvdXAsIHBhcmFtcy1zZWVkX2xlbiwgc2VlZF9sZW4pKQor CQkJeworCQkJRUNlcnIoRUNfRl9FQ19HUk9VUF9ORVdfRlJPTV9EQVRBLCBFUlJfUl9FQ19MSUIp OworCQkJZ290byBlcnI7CisJCQl9CisJCX0KKwlvaz0xOworZXJyOgorCWlmICghb2spCisJCXsK KwkJRUNfR1JPVVBfZnJlZShncm91cCk7CisJCWdyb3VwID0gTlVMTDsKKwkJfQorCWlmIChQKQor CQlFQ19QT0lOVF9mcmVlKFApOworCWlmIChjdHgpCisJCUJOX0NUWF9mcmVlKGN0eCk7CisJaWYg KHApCisJCUJOX2ZyZWUocCk7CisJaWYgKGEpCisJCUJOX2ZyZWUoYSk7CisJaWYgKGIpCisJCUJO X2ZyZWUoYik7CisJaWYgKG9yZGVyKQorCQlCTl9mcmVlKG9yZGVyKTsKKwlpZiAoeCkKKwkJQk5f ZnJlZSh4KTsKKwlpZiAoeSkKKwkJQk5fZnJlZSh5KTsKKwlyZXR1cm4gZ3JvdXA7CisJfQorCitF Q19HUk9VUCAqRUNfR1JPVVBfbmV3X2J5X2N1cnZlX25hbWUoaW50IG5pZCkKKwl7CisJc2l6ZV90 IGk7CisJRUNfR1JPVVAgKnJldCA9IE5VTEw7CisKKwlpZiAobmlkIDw9IDApCisJCXJldHVybiBO VUxMOworCisJZm9yIChpPTA7IGk8Y3VydmVfbGlzdF9sZW5ndGg7IGkrKykKKwkJaWYgKGN1cnZl X2xpc3RbaV0ubmlkID09IG5pZCkKKwkJCXsKKwkJCXJldCA9IGVjX2dyb3VwX25ld19mcm9tX2Rh dGEoY3VydmVfbGlzdFtpXSk7CisJCQlicmVhazsKKwkJCX0KKworCWlmIChyZXQgPT0gTlVMTCkK KwkJeworCQlFQ2VycihFQ19GX0VDX0dST1VQX05FV19CWV9DVVJWRV9OQU1FLCBFQ19SX1VOS05P V05fR1JPVVApOworCQlyZXR1cm4gTlVMTDsKKwkJfQorCisJRUNfR1JPVVBfc2V0X2N1cnZlX25h bWUocmV0LCBuaWQpOworCisJcmV0dXJuIHJldDsKKwl9CisKK3NpemVfdCBFQ19nZXRfYnVpbHRp bl9jdXJ2ZXMoRUNfYnVpbHRpbl9jdXJ2ZSAqciwgc2l6ZV90IG5pdGVtcykKKwl7CisJc2l6ZV90 CWksIG1pbjsKKworCWlmIChyID09IE5VTEwgfHwgbml0ZW1zID09IDApCisJCXJldHVybiBjdXJ2 ZV9saXN0X2xlbmd0aDsKKworCW1pbiA9IG5pdGVtcyA8IGN1cnZlX2xpc3RfbGVuZ3RoID8gbml0 ZW1zIDogY3VydmVfbGlzdF9sZW5ndGg7CisKKwlmb3IgKGkgPSAwOyBpIDwgbWluOyBpKyspCisJ CXsKKwkJcltpXS5uaWQgPSBjdXJ2ZV9saXN0W2ldLm5pZDsKKwkJcltpXS5jb21tZW50ID0gY3Vy dmVfbGlzdFtpXS5jb21tZW50OworCQl9CisKKwlyZXR1cm4gY3VydmVfbGlzdF9sZW5ndGg7CisJ fQoKZGlmZiAtLWdpdCBhL2VjdGVzdC5jIGIvZWN0ZXN0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMC4uMTk3Njk3OQotLS0gL2Rldi9udWxsCisrKyBiL2VjdGVzdC5jCkBAIC0w LDAgKzEsNjk1IEBACisvKiBjcnlwdG8vZWMvZWN0ZXN0LmMgKi8KKy8qCisgKiBPcmlnaW5hbGx5 IHdyaXR0ZW4gYnkgQm9kbyBNb2VsbGVyIGZvciB0aGUgT3BlblNTTCBwcm9qZWN0LgorICovCisv KiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQorICogQ29weXJpZ2h0IChjKSAxOTk4LTIwMDEgVGhlIE9wZW5TU0wgUHJv amVjdC4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv bnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0 IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisgKgorICogMi4g UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm b2xsb3dpbmcgZGlzY2xhaW1lciBpbgorICogICAgdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90 aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogICAgZGlzdHJpYnV0aW9uLgorICoK KyAqIDMuIEFsbCBhZHZlcnRpc2luZyBtYXRlcmlhbHMgbWVudGlvbmluZyBmZWF0dXJlcyBvciB1 c2Ugb2YgdGhpcworICogICAgc29mdHdhcmUgbXVzdCBkaXNwbGF5IHRoZSBmb2xsb3dpbmcgYWNr bm93bGVkZ21lbnQ6CisgKiAgICAiVGhpcyBwcm9kdWN0IGluY2x1ZGVzIHNvZnR3YXJlIGRldmVs b3BlZCBieSB0aGUgT3BlblNTTCBQcm9qZWN0CisgKiAgICBmb3IgdXNlIGluIHRoZSBPcGVuU1NM IFRvb2xraXQuIChodHRwOi8vd3d3Lm9wZW5zc2wub3JnLykiCisgKgorICogNC4gVGhlIG5hbWVz ICJPcGVuU1NMIFRvb2xraXQiIGFuZCAiT3BlblNTTCBQcm9qZWN0IiBtdXN0IG5vdCBiZSB1c2Vk IHRvCisgKiAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMg c29mdHdhcmUgd2l0aG91dAorICogICAgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLiBGb3Igd3Jp dHRlbiBwZXJtaXNzaW9uLCBwbGVhc2UgY29udGFjdAorICogICAgb3BlbnNzbC1jb3JlQG9wZW5z c2wub3JnLgorICoKKyAqIDUuIFByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIG1h eSBub3QgYmUgY2FsbGVkICJPcGVuU1NMIgorICogICAgbm9yIG1heSAiT3BlblNTTCIgYXBwZWFy IGluIHRoZWlyIG5hbWVzIHdpdGhvdXQgcHJpb3Igd3JpdHRlbgorICogICAgcGVybWlzc2lvbiBv ZiB0aGUgT3BlblNTTCBQcm9qZWN0LgorICoKKyAqIDYuIFJlZGlzdHJpYnV0aW9ucyBvZiBhbnkg Zm9ybSB3aGF0c29ldmVyIG11c3QgcmV0YWluIHRoZSBmb2xsb3dpbmcKKyAqICAgIGFja25vd2xl ZGdtZW50OgorICogICAgIlRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQg YnkgdGhlIE9wZW5TU0wgUHJvamVjdAorICogICAgZm9yIHVzZSBpbiB0aGUgT3BlblNTTCBUb29s a2l0IChodHRwOi8vd3d3Lm9wZW5zc2wub3JnLykiCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ Uk9WSURFRCBCWSBUSEUgT3BlblNTTCBQUk9KRUNUIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS RVNTRUQgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU TywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF VkVOVCBTSEFMTCBUSEUgT3BlblNTTCBQUk9KRUNUIE9SCisgKiBJVFMgQ09OVFJJQlVUT1JTIEJF IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFM LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQKKyAq IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ Q0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS UlVQVElPTikKKyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwKKyAqIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQKKyAqIE9GIFRI RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKgorICogVGhp cyBwcm9kdWN0IGluY2x1ZGVzIGNyeXB0b2dyYXBoaWMgc29mdHdhcmUgd3JpdHRlbiBieSBFcmlj IFlvdW5nCisgKiAoZWF5QGNyeXB0c29mdC5jb20pLiAgVGhpcyBwcm9kdWN0IGluY2x1ZGVzIHNv ZnR3YXJlIHdyaXR0ZW4gYnkgVGltCisgKiBIdWRzb24gKHRqaEBjcnlwdHNvZnQuY29tKS4KKyAq CisgKi8KKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CisgKiBDb3B5cmlnaHQgMjAwMiBTdW4gTWljcm9zeXN0ZW1z LCBJbmMuIEFMTCBSSUdIVFMgUkVTRVJWRUQuCisgKgorICogUG9ydGlvbnMgb2YgdGhlIGF0dGFj aGVkIHNvZnR3YXJlICgiQ29udHJpYnV0aW9uIikgYXJlIGRldmVsb3BlZCBieSAKKyAqIFNVTiBN SUNST1NZU1RFTVMsIElOQy4sIGFuZCBhcmUgY29udHJpYnV0ZWQgdG8gdGhlIE9wZW5TU0wgcHJv amVjdC4KKyAqCisgKiBUaGUgQ29udHJpYnV0aW9uIGlzIGxpY2Vuc2VkIHB1cnN1YW50IHRvIHRo ZSBPcGVuU1NMIG9wZW4gc291cmNlCisgKiBsaWNlbnNlIHByb3ZpZGVkIGFib3ZlLgorICoKKyAq IFRoZSBlbGxpcHRpYyBjdXJ2ZSBiaW5hcnkgcG9seW5vbWlhbCBzb2Z0d2FyZSBpcyBvcmlnaW5h bGx5IHdyaXR0ZW4gYnkgCisgKiBTaGV1ZWxpbmcgQ2hhbmcgU2hhbnR6IGFuZCBEb3VnbGFzIFN0 ZWJpbGEgb2YgU3VuIE1pY3Jvc3lzdGVtcyBMYWJvcmF0b3JpZXMuCisgKgorICovCisKKyNpbmNs dWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2lmZGVmIEZMQVRfSU5DCisjaW5j bHVkZSAiZV9vcy5oIgorI2Vsc2UKKyNpbmNsdWRlICIuLi9lX29zLmgiCisjZW5kaWYKKyNpbmNs dWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDx0aW1lLmg+CisKKworI2lmZGVmIE9QRU5TU0xfTk9f RUMKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICogYXJndltdKSB7IHB1dHMoIkVsbGlwdGljIGN1 cnZlcyBhcmUgZGlzYWJsZWQuIik7IHJldHVybiAwOyB9CisjZWxzZQorCisKKyNpbmNsdWRlIDxv cGVuc3NsL2VjLmg+CisjaWZuZGVmIE9QRU5TU0xfTk9fRU5HSU5FCisjaW5jbHVkZSA8b3BlbnNz bC9lbmdpbmUuaD4KKyNlbmRpZgorI2luY2x1ZGUgPG9wZW5zc2wvZXJyLmg+CisjaW5jbHVkZSA8 b3BlbnNzbC9vYmpfbWFjLmg+CisjaW5jbHVkZSA8b3BlbnNzbC9vYmplY3RzLmg+CisjaW5jbHVk ZSA8b3BlbnNzbC9yYW5kLmg+CisjaW5jbHVkZSA8b3BlbnNzbC9ibi5oPgorI2luY2x1ZGUgPG9w ZW5zc2wvb3BlbnNzbGNvbmYuaD4KKworI2lmIGRlZmluZWQoX01TQ19WRVIpICYmIGRlZmluZWQo X01JUFNfKSAmJiAoX01TQ19WRVIvMTAwPT0xMikKKy8qIHN1cHByZXNzICJ0b28gYmlnIHRvbyBv cHRpbWl6ZSIgd2FybmluZyAqLworI3ByYWdtYSB3YXJuaW5nKGRpc2FibGU6NDk1OSkKKyNlbmRp ZgorCisjZGVmaW5lIEFCT1JUIGRvIHsgXAorCWZmbHVzaChzdGRvdXQpOyBcCisJZnByaW50Zihz dGRlcnIsICIlczolZDogQUJPUlRcbiIsIF9fRklMRV9fLCBfX0xJTkVfXyk7IFwKKwlFUlJfcHJp bnRfZXJyb3JzX2ZwKHN0ZGVycik7IFwKKwlFWElUKDEpOyBcCit9IHdoaWxlICgwKQorCisjZGVm aW5lIFRJTUlOR19CQVNFX1BUIDAKKyNkZWZpbmUgVElNSU5HX1JBTkRfUFQgMQorI2RlZmluZSBU SU1JTkdfU0lNVUwgMgorCisjaWYgMAorc3RhdGljIHZvaWQgdGltaW5ncyhFQ19HUk9VUCAqZ3Jv dXAsIGludCB0eXBlLCBCTl9DVFggKmN0eCkKKwl7CisJY2xvY2tfdCBjbGNrOworCWludCBpLCBq OworCUJJR05VTSAqczsKKwlCSUdOVU0gKnJbMTBdLCAqcjBbMTBdOworCUVDX1BPSU5UICpQOwor CQkKKwlzID0gQk5fbmV3KCk7CisJaWYgKHMgPT0gTlVMTCkgQUJPUlQ7CisKKwlmcHJpbnRmKHN0 ZG91dCwgIlRpbWluZ3MgZm9yICVkLWJpdCBmaWVsZCwgIiwgRUNfR1JPVVBfZ2V0X2RlZ3JlZShn cm91cCkpOworCWlmICghRUNfR1JPVVBfZ2V0X29yZGVyKGdyb3VwLCBzLCBjdHgpKSBBQk9SVDsK KwlmcHJpbnRmKHN0ZG91dCwgIiVkLWJpdCBzY2FsYXJzICIsIChpbnQpQk5fbnVtX2JpdHMocykp OworCWZmbHVzaChzdGRvdXQpOworCisJUCA9IEVDX1BPSU5UX25ldyhncm91cCk7CisJaWYgKFAg PT0gTlVMTCkgQUJPUlQ7CisJRUNfUE9JTlRfY29weShQLCBFQ19HUk9VUF9nZXQwX2dlbmVyYXRv cihncm91cCkpOworCisJZm9yIChpID0gMDsgaSA8IDEwOyBpKyspCisJCXsKKwkJaWYgKChyW2ld ID0gQk5fbmV3KCkpID09IE5VTEwpIEFCT1JUOworCQlpZiAoIUJOX3BzZXVkb19yYW5kKHJbaV0s IEJOX251bV9iaXRzKHMpLCAwLCAwKSkgQUJPUlQ7CisJCWlmICh0eXBlICE9IFRJTUlOR19CQVNF X1BUKQorCQkJeworCQkJaWYgKChyMFtpXSA9IEJOX25ldygpKSA9PSBOVUxMKSBBQk9SVDsKKwkJ CWlmICghQk5fcHNldWRvX3JhbmQocjBbaV0sIEJOX251bV9iaXRzKHMpLCAwLCAwKSkgQUJPUlQ7 CisJCQl9CisJCX0KKworCWNsY2sgPSBjbG9jaygpOworCWZvciAoaSA9IDA7IGkgPCAxMDsgaSsr KQorCQl7CisJCWZvciAoaiA9IDA7IGogPCAxMDsgaisrKQorCQkJeworCQkJaWYgKCFFQ19QT0lO VF9tdWwoZ3JvdXAsIFAsICh0eXBlICE9IFRJTUlOR19SQU5EX1BUKSA/IHJbaV0gOiBOVUxMLCAK KwkJCQkodHlwZSAhPSBUSU1JTkdfQkFTRV9QVCkgPyBQIDogTlVMTCwgKHR5cGUgIT0gVElNSU5H X0JBU0VfUFQpID8gcjBbaV0gOiBOVUxMLCBjdHgpKSBBQk9SVDsKKwkJCX0KKwkJfQorCWNsY2sg PSBjbG9jaygpIC0gY2xjazsKKworCWZwcmludGYoc3Rkb3V0LCAiXG4iKTsKKworI2lmZGVmIENM T0NLU19QRVJfU0VDCisJLyogIlRvIGRldGVybWluZSB0aGUgdGltZSBpbiBzZWNvbmRzLCB0aGUg dmFsdWUgcmV0dXJuZWQKKwkgKiBieSB0aGUgY2xvY2sgZnVuY3Rpb24gc2hvdWxkIGJlIGRpdmlk ZWQgYnkgdGhlIHZhbHVlCisJICogb2YgdGhlIG1hY3JvIENMT0NLU19QRVJfU0VDLiIKKwkgKiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tIElTTy9JRUMgOTg5OSAqLwor IwlkZWZpbmUgVU5JVCAicyIKKyNlbHNlCisJLyogImBDTE9DS1NfUEVSX1NFQycgdW5kZWNsYXJl ZCAoZmlyc3QgdXNlIHRoaXMgZnVuY3Rpb24pIgorCSAqICAgICAgICAgICAgICAgICAgICAgICAg ICAgIC0tIGNjIG9uIE5lWFRzdGVwL09wZW5TdGVwICovCisjCWRlZmluZSBVTklUICJ1bml0cyIK KyMJZGVmaW5lIENMT0NLU19QRVJfU0VDIDEKKyNlbmRpZgorCisJaWYgKHR5cGUgPT0gVElNSU5H X0JBU0VfUFQpIHsKKwkJZnByaW50ZihzdGRvdXQsICIlaSAlcyBpbiAlLjJmICIgVU5JVCAiXG4i LCBpKmosCisJCQkiYmFzZSBwb2ludCBtdWx0aXBsaWNhdGlvbnMiLCAoZG91YmxlKWNsY2svQ0xP Q0tTX1BFUl9TRUMpOworCX0gZWxzZSBpZiAodHlwZSA9PSBUSU1JTkdfUkFORF9QVCkgeworCQlm cHJpbnRmKHN0ZG91dCwgIiVpICVzIGluICUuMmYgIiBVTklUICJcbiIsIGkqaiwKKwkJCSJyYW5k b20gcG9pbnQgbXVsdGlwbGljYXRpb25zIiwgKGRvdWJsZSljbGNrL0NMT0NLU19QRVJfU0VDKTsK Kwl9IGVsc2UgaWYgKHR5cGUgPT0gVElNSU5HX1NJTVVMKSB7CisJCWZwcmludGYoc3Rkb3V0LCAi JWkgJXMgaW4gJS4yZiAiIFVOSVQgIlxuIiwgaSpqLAorCQkJInMqUCt0KlEgb3BlcmF0aW9ucyIs IChkb3VibGUpY2xjay9DTE9DS1NfUEVSX1NFQyk7CisJfQorCWZwcmludGYoc3Rkb3V0LCAiYXZl cmFnZTogJS40ZiAiIFVOSVQgIlxuIiwgKGRvdWJsZSljbGNrLyhDTE9DS1NfUEVSX1NFQyppKmop KTsKKworCUVDX1BPSU5UX2ZyZWUoUCk7CisJQk5fZnJlZShzKTsKKwlmb3IgKGkgPSAwOyBpIDwg MTA7IGkrKykKKwkJeworCQlCTl9mcmVlKHJbaV0pOworCQlpZiAodHlwZSAhPSBUSU1JTkdfQkFT RV9QVCkgQk5fZnJlZShyMFtpXSk7CisJCX0KKwl9CisjZW5kaWYKKworLyogdGVzdCBtdWx0aXBs aWNhdGlvbiB3aXRoIGdyb3VwIG9yZGVyLCBsb25nIGFuZCBuZWdhdGl2ZSBzY2FsYXJzICovCitz dGF0aWMgdm9pZCBncm91cF9vcmRlcl90ZXN0cyhFQ19HUk9VUCAqZ3JvdXApCisJeworCUJJR05V TSAqbjEsICpuMiwgKm9yZGVyOworCUVDX1BPSU5UICpQID0gRUNfUE9JTlRfbmV3KGdyb3VwKTsK KwlFQ19QT0lOVCAqUSA9IEVDX1BPSU5UX25ldyhncm91cCk7CisJQk5fQ1RYICpjdHggPSBCTl9D VFhfbmV3KCk7CisKKwluMSA9IEJOX25ldygpOyBuMiA9IEJOX25ldygpOyBvcmRlciA9IEJOX25l dygpOworCWZwcmludGYoc3Rkb3V0LCAidmVyaWZ5IGdyb3VwIG9yZGVyIC4uLiIpOworCWZmbHVz aChzdGRvdXQpOworCWlmICghRUNfR1JPVVBfZ2V0X29yZGVyKGdyb3VwLCBvcmRlciwgY3R4KSkg QUJPUlQ7CisJaWYgKCFFQ19QT0lOVF9tdWwoZ3JvdXAsIFEsIG9yZGVyLCBOVUxMLCBOVUxMLCBj dHgpKSBBQk9SVDsKKwlpZiAoIUVDX1BPSU5UX2lzX2F0X2luZmluaXR5KGdyb3VwLCBRKSkgQUJP UlQ7CisJZnByaW50ZihzdGRvdXQsICIuIik7CisJZmZsdXNoKHN0ZG91dCk7CisJaWYgKCFFQ19H Uk9VUF9wcmVjb21wdXRlX211bHQoZ3JvdXAsIGN0eCkpIEFCT1JUOworCWlmICghRUNfUE9JTlRf bXVsKGdyb3VwLCBRLCBvcmRlciwgTlVMTCwgTlVMTCwgY3R4KSkgQUJPUlQ7CisJaWYgKCFFQ19Q T0lOVF9pc19hdF9pbmZpbml0eShncm91cCwgUSkpIEFCT1JUOworCWZwcmludGYoc3Rkb3V0LCAi IG9rXG4iKTsKKwlmcHJpbnRmKHN0ZG91dCwgImxvbmcvbmVnYXRpdmUgc2NhbGFyIHRlc3RzIC4u LiAiKTsKKwlpZiAoIUJOX29uZShuMSkpIEFCT1JUOworCS8qIG4xID0gMSAtIG9yZGVyICovCisJ aWYgKCFCTl9zdWIobjEsIG4xLCBvcmRlcikpIEFCT1JUOworCWlmKCFFQ19QT0lOVF9tdWwoZ3Jv dXAsIFEsIE5VTEwsIFAsIG4xLCBjdHgpKSBBQk9SVDsKKwlpZiAoMCAhPSBFQ19QT0lOVF9jbXAo Z3JvdXAsIFEsIFAsIGN0eCkpIEFCT1JUOworCS8qIG4yID0gMSArIG9yZGVyICovCisJaWYgKCFC Tl9hZGQobjIsIG9yZGVyLCBCTl92YWx1ZV9vbmUoKSkpIEFCT1JUOworCWlmKCFFQ19QT0lOVF9t dWwoZ3JvdXAsIFEsIE5VTEwsIFAsIG4yLCBjdHgpKSBBQk9SVDsKKwlpZiAoMCAhPSBFQ19QT0lO VF9jbXAoZ3JvdXAsIFEsIFAsIGN0eCkpIEFCT1JUOworCS8qIG4yID0gKDEgLSBvcmRlcikgKiAo MSArIG9yZGVyKSAqLworCWlmICghQk5fbXVsKG4yLCBuMSwgbjIsIGN0eCkpIEFCT1JUOworCWlm KCFFQ19QT0lOVF9tdWwoZ3JvdXAsIFEsIE5VTEwsIFAsIG4yLCBjdHgpKSBBQk9SVDsKKwlpZiAo MCAhPSBFQ19QT0lOVF9jbXAoZ3JvdXAsIFEsIFAsIGN0eCkpIEFCT1JUOworCWZwcmludGYoc3Rk b3V0LCAib2tcbiIpOworCUVDX1BPSU5UX2ZyZWUoUCk7CisJRUNfUE9JTlRfZnJlZShRKTsKKwlC Tl9mcmVlKG4xKTsKKwlCTl9mcmVlKG4yKTsKKwlCTl9mcmVlKG9yZGVyKTsKKwlCTl9DVFhfZnJl ZShjdHgpOworCX0KKworc3RhdGljIHZvaWQgcHJpbWVfZmllbGRfdGVzdHModm9pZCkKKwl7CisJ Qk5fQ1RYICpjdHggPSBOVUxMOworCUJJR05VTSAqcCwgKmEsICpiOworCUVDX0dST1VQICpncm91 cDsKKwlFQ19HUk9VUCAqUF8xNjAgPSBOVUxMLCAqUF8xOTIgPSBOVUxMLCAqUF8yMjQgPSBOVUxM LCAqUF8yNTYgPSBOVUxMLCAqUF8zODQgPSBOVUxMLCAqUF81MjEgPSBOVUxMOworCUVDX1BPSU5U ICpQLCAqUSwgKlI7CisJQklHTlVNICp4LCAqeSwgKno7CisJdW5zaWduZWQgY2hhciBidWZbMTAw XTsKKwlzaXplX3QgaSwgbGVuOworCWludCBrOworCQorI2lmIDEgLyogb3B0aW9uYWwgKi8KKwlj dHggPSBCTl9DVFhfbmV3KCk7CisJaWYgKCFjdHgpIEFCT1JUOworI2VuZGlmCisKKwlwID0gQk5f bmV3KCk7CisJYSA9IEJOX25ldygpOworCWIgPSBCTl9uZXcoKTsKKwlpZiAoIXAgfHwgIWEgfHwg IWIpIEFCT1JUOworCQorCWdyb3VwID0gRUNfR1JPVVBfbmV3KEVDX0dGcF9tb250X21ldGhvZCgp KTsgLyogYXBwbGljYXRpb25zIHNob3VsZCB1c2UgRUNfR1JPVVBfbmV3X2N1cnZlX0dGcAorCSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogc28gdGhhdCB0aGUg bGlicmFyeSBnZXRzIHRvIGNob29zZSB0aGUgRUNfTUVUSE9EICovCisJaWYgKCFncm91cCkgQUJP UlQ7CisKKwlQID0gRUNfUE9JTlRfbmV3KGdyb3VwKTsKKwlRID0gRUNfUE9JTlRfbmV3KGdyb3Vw KTsKKwlSID0gRUNfUE9JTlRfbmV3KGdyb3VwKTsKKwlpZiAoIVAgfHwgIVEgfHwgIVIpIEFCT1JU OworCisJeCA9IEJOX25ldygpOworCXkgPSBCTl9uZXcoKTsKKwl6ID0gQk5fbmV3KCk7CisJaWYg KCF4IHx8ICF5IHx8ICF6KSBBQk9SVDsKKworLyogQ3VydmUgUC0yNTYgKEZJUFMgUFVCIDE4Ni0y LCBBcHAuIDYpICovCisJCisJaWYgKCFCTl9oZXgyYm4oJnAsICJGRkZGRkZGRjAwMDAwMDAxMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGIikpIEFCT1JUOwor CWlmICgxICE9IEJOX2lzX3ByaW1lX2V4KHAsIEJOX3ByaW1lX2NoZWNrcywgY3R4LCBOVUxMKSkg QUJPUlQ7CisJaWYgKCFCTl9oZXgyYm4oJmEsICJGRkZGRkZGRjAwMDAwMDAxMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZDIikpIEFCT1JUOworCWlmICghQk5f aGV4MmJuKCZiLCAiNUFDNjM1RDhBQTNBOTNFN0IzRUJCRDU1NzY5ODg2QkM2NTFEMDZCMENDNTNC MEY2M0JDRTNDM0UyN0QyNjA0QiIpKSBBQk9SVDsKKwlpZiAoIUVDX0dST1VQX3NldF9jdXJ2ZV9H RnAoZ3JvdXAsIHAsIGEsIGIsIGN0eCkpIEFCT1JUOworCisJaWYgKCFCTl9oZXgyYm4oJngsICI2 QjE3RDFGMkUxMkM0MjQ3RjhCQ0U2RTU2M0E0NDBGMjc3MDM3RDgxMkRFQjMzQTBGNEExMzk0NUQ4 OThDMjk2IikpIEFCT1JUOworCWlmICghRUNfUE9JTlRfc2V0X2NvbXByZXNzZWRfY29vcmRpbmF0 ZXNfR0ZwKGdyb3VwLCBQLCB4LCAxLCBjdHgpKSBBQk9SVDsKKwlpZiAoIUVDX1BPSU5UX2lzX29u X2N1cnZlKGdyb3VwLCBQLCBjdHgpKSBBQk9SVDsKKwlpZiAoIUJOX2hleDJibigmeiwgIkZGRkZG RkZGMDAwMDAwMDBGRkZGRkZGRkZGRkZGRkZGQkNFNkZBQURBNzE3OUUiCisJCSI4NEYzQjlDQUMy RkM2MzI1NTEiKSkgQUJPUlQ7CisJaWYgKCFFQ19HUk9VUF9zZXRfZ2VuZXJhdG9yKGdyb3VwLCBQ LCB6LCBCTl92YWx1ZV9vbmUoKSkpIEFCT1JUOworCisJaWYgKCFFQ19QT0lOVF9nZXRfYWZmaW5l X2Nvb3JkaW5hdGVzX0dGcChncm91cCwgUCwgeCwgeSwgY3R4KSkgQUJPUlQ7CisJZnByaW50Zihz dGRvdXQsICJcbk5JU1QgY3VydmUgUC0yNTYgLS0gR2VuZXJhdG9yOlxuICAgICB4ID0gMHgiKTsK KwlCTl9wcmludF9mcChzdGRvdXQsIHgpOworCWZwcmludGYoc3Rkb3V0LCAiXG4gICAgIHkgPSAw eCIpOworCUJOX3ByaW50X2ZwKHN0ZG91dCwgeSk7CisJZnByaW50ZihzdGRvdXQsICJcbiIpOwor CS8qIEdfeSB2YWx1ZSB0YWtlbiBmcm9tIHRoZSBzdGFuZGFyZDogKi8KKwlpZiAoIUJOX2hleDJi bigmeiwgIjRGRTM0MkUyRkUxQTdGOUI4RUU3RUI0QTdDMEY5RTE2MkJDRTMzNTc2QjMxNUVDRUNC QjY0MDY4MzdCRjUxRjUiKSkgQUJPUlQ7CisJaWYgKDAgIT0gQk5fY21wKHksIHopKSBBQk9SVDsK KwkKKwlmcHJpbnRmKHN0ZG91dCwgInZlcmlmeSBkZWdyZWUgLi4uIik7CisJaWYgKEVDX0dST1VQ X2dldF9kZWdyZWUoZ3JvdXApICE9IDI1NikgQUJPUlQ7CisJZnByaW50ZihzdGRvdXQsICIgb2tc biIpOworCQorCWdyb3VwX29yZGVyX3Rlc3RzKGdyb3VwKTsKKworCWlmICghKFBfMjU2ID0gRUNf R1JPVVBfbmV3KEVDX0dST1VQX21ldGhvZF9vZihncm91cCkpKSkgQUJPUlQ7CisJaWYgKCFFQ19H Uk9VUF9jb3B5KFBfMjU2LCBncm91cCkpIEFCT1JUOworCisKKwkvKiBDdXJ2ZSBQLTM4NCAoRklQ UyBQVUIgMTg2LTIsIEFwcC4gNikgKi8KKwkKKwlpZiAoIUJOX2hleDJibigmcCwgIkZGRkZGRkZG RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYiCisJCSJGRkZGRkZGRkZGRkZG RkZGRkVGRkZGRkZGRjAwMDAwMDAwMDAwMDAwMDBGRkZGRkZGRiIpKSBBQk9SVDsKKwlpZiAoMSAh PSBCTl9pc19wcmltZV9leChwLCBCTl9wcmltZV9jaGVja3MsIGN0eCwgTlVMTCkpIEFCT1JUOwor CWlmICghQk5faGV4MmJuKCZhLCAiRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZG RkZGRkZGRkZGRiIKKwkJIkZGRkZGRkZGRkZGRkZGRkZGRUZGRkZGRkZGMDAwMDAwMDAwMDAwMDAw MEZGRkZGRkZDIikpIEFCT1JUOworCWlmICghQk5faGV4MmJuKCZiLCAiQjMzMTJGQTdFMjNFRTdF NDk4OEUwNTZCRTNGODJEMTkxODFEOUM2RUZFODE0MSIKKwkJIjEyMDMxNDA4OEY1MDEzODc1QUM2 NTYzOThEOEEyRUQxOUQyQTg1QzhFREQzRUMyQUVGIikpIEFCT1JUOworCWlmICghRUNfR1JPVVBf c2V0X2N1cnZlX0dGcChncm91cCwgcCwgYSwgYiwgY3R4KSkgQUJPUlQ7CisKKwlpZiAoIUJOX2hl eDJibigmeCwgIkFBODdDQTIyQkU4QjA1Mzc4RUIxQzcxRUYzMjBBRDc0NkUxRDNCNjI4QkE3OUIi CisJCSI5ODU5Rjc0MUUwODI1NDJBMzg1NTAyRjI1REJGNTUyOTZDM0E1NDVFMzg3Mjc2MEFCNyIp KSBBQk9SVDsKKwlpZiAoIUVDX1BPSU5UX3NldF9jb21wcmVzc2VkX2Nvb3JkaW5hdGVzX0dGcChn cm91cCwgUCwgeCwgMSwgY3R4KSkgQUJPUlQ7CisJaWYgKCFFQ19QT0lOVF9pc19vbl9jdXJ2ZShn cm91cCwgUCwgY3R4KSkgQUJPUlQ7CisJaWYgKCFCTl9oZXgyYm4oJnosICJGRkZGRkZGRkZGRkZG RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGIgorCQkiRkZDNzYzNEQ4MUY0MzcyRERG NTgxQTBEQjI0OEIwQTc3QUVDRUMxOTZBQ0NDNTI5NzMiKSkgQUJPUlQ7CisJaWYgKCFFQ19HUk9V UF9zZXRfZ2VuZXJhdG9yKGdyb3VwLCBQLCB6LCBCTl92YWx1ZV9vbmUoKSkpIEFCT1JUOworCisJ aWYgKCFFQ19QT0lOVF9nZXRfYWZmaW5lX2Nvb3JkaW5hdGVzX0dGcChncm91cCwgUCwgeCwgeSwg Y3R4KSkgQUJPUlQ7CisJZnByaW50ZihzdGRvdXQsICJcbk5JU1QgY3VydmUgUC0zODQgLS0gR2Vu ZXJhdG9yOlxuICAgICB4ID0gMHgiKTsKKwlCTl9wcmludF9mcChzdGRvdXQsIHgpOworCWZwcmlu dGYoc3Rkb3V0LCAiXG4gICAgIHkgPSAweCIpOworCUJOX3ByaW50X2ZwKHN0ZG91dCwgeSk7CisJ ZnByaW50ZihzdGRvdXQsICJcbiIpOworCS8qIEdfeSB2YWx1ZSB0YWtlbiBmcm9tIHRoZSBzdGFu ZGFyZDogKi8KKwlpZiAoIUJOX2hleDJibigmeiwgIjM2MTdERTRBOTYyNjJDNkY1RDlFOThCRjky OTJEQzI5RjhGNDFEQkQyODlBMTQiCisJCSI3Q0U5REEzMTEzQjVGMEI4QzAwQTYwQjFDRTFEN0U4 MTlEN0E0MzFEN0M5MEVBMEU1RiIpKSBBQk9SVDsKKwlpZiAoMCAhPSBCTl9jbXAoeSwgeikpIEFC T1JUOworCQorCWZwcmludGYoc3Rkb3V0LCAidmVyaWZ5IGRlZ3JlZSAuLi4iKTsKKwlpZiAoRUNf R1JPVVBfZ2V0X2RlZ3JlZShncm91cCkgIT0gMzg0KSBBQk9SVDsKKwlmcHJpbnRmKHN0ZG91dCwg IiBva1xuIik7CisKKwlncm91cF9vcmRlcl90ZXN0cyhncm91cCk7CisKKwlpZiAoIShQXzM4NCA9 IEVDX0dST1VQX25ldyhFQ19HUk9VUF9tZXRob2Rfb2YoZ3JvdXApKSkpIEFCT1JUOworCWlmICgh RUNfR1JPVVBfY29weShQXzM4NCwgZ3JvdXApKSBBQk9SVDsKKworCS8qIG1vcmUgdGVzdHMgdXNp bmcgdGhlIGxhc3QgY3VydmUgKi8KKworCWlmICghRUNfUE9JTlRfY29weShRLCBQKSkgQUJPUlQ7 CisJaWYgKEVDX1BPSU5UX2lzX2F0X2luZmluaXR5KGdyb3VwLCBRKSkgQUJPUlQ7CisJaWYgKCFF Q19QT0lOVF9kYmwoZ3JvdXAsIFAsIFAsIGN0eCkpIEFCT1JUOworCWlmICghRUNfUE9JTlRfaXNf b25fY3VydmUoZ3JvdXAsIFAsIGN0eCkpIEFCT1JUOworCWlmICghRUNfUE9JTlRfaW52ZXJ0KGdy b3VwLCBRLCBjdHgpKSBBQk9SVDsgLyogUCA9IC0yUSAqLworCisJaWYgKCFFQ19QT0lOVF9hZGQo Z3JvdXAsIFIsIFAsIFEsIGN0eCkpIEFCT1JUOworCWlmICghRUNfUE9JTlRfYWRkKGdyb3VwLCBS LCBSLCBRLCBjdHgpKSBBQk9SVDsKKwlpZiAoIUVDX1BPSU5UX2lzX2F0X2luZmluaXR5KGdyb3Vw LCBSKSkgQUJPUlQ7IC8qIFIgPSBQICsgMlEgKi8KKworCXsKKwkJY29uc3QgRUNfUE9JTlQgKnBv aW50c1s0XTsKKwkJY29uc3QgQklHTlVNICpzY2FsYXJzWzRdOworCQlCSUdOVU0gc2NhbGFyMzsK KwkKKwkJaWYgKEVDX1BPSU5UX2lzX2F0X2luZmluaXR5KGdyb3VwLCBRKSkgQUJPUlQ7CisJCXBv aW50c1swXSA9IFE7CisJCXBvaW50c1sxXSA9IFE7CisJCXBvaW50c1syXSA9IFE7CisJCXBvaW50 c1szXSA9IFE7CisKKwkJaWYgKCFFQ19HUk9VUF9nZXRfb3JkZXIoZ3JvdXAsIHosIGN0eCkpIEFC T1JUOworCQlpZiAoIUJOX2FkZCh5LCB6LCBCTl92YWx1ZV9vbmUoKSkpIEFCT1JUOworCQlpZiAo Qk5faXNfb2RkKHkpKSBBQk9SVDsKKwkJaWYgKCFCTl9yc2hpZnQxKHksIHkpKSBBQk9SVDsKKwkJ c2NhbGFyc1swXSA9IHk7IC8qIChncm91cCBvcmRlciArIDEpLzIsICBzbyAgeSpRICsgeSpRID0g USAqLworCQlzY2FsYXJzWzFdID0geTsKKworCQlmcHJpbnRmKHN0ZG91dCwgImNvbWJpbmVkIG11 bHRpcGxpY2F0aW9uIC4uLiIpOworCQlmZmx1c2goc3Rkb3V0KTsKKworCQkvKiB6IGlzIHN0aWxs IHRoZSBncm91cCBvcmRlciAqLworCQlpZiAoIUVDX1BPSU5Uc19tdWwoZ3JvdXAsIFAsIE5VTEws IDIsIHBvaW50cywgc2NhbGFycywgY3R4KSkgQUJPUlQ7CisJCWlmICghRUNfUE9JTlRzX211bChn cm91cCwgUiwgeiwgMiwgcG9pbnRzLCBzY2FsYXJzLCBjdHgpKSBBQk9SVDsKKwkJaWYgKDAgIT0g RUNfUE9JTlRfY21wKGdyb3VwLCBQLCBSLCBjdHgpKSBBQk9SVDsKKwkJaWYgKDAgIT0gRUNfUE9J TlRfY21wKGdyb3VwLCBSLCBRLCBjdHgpKSBBQk9SVDsKKworCQlmcHJpbnRmKHN0ZG91dCwgIi4i KTsKKwkJZmZsdXNoKHN0ZG91dCk7CisKKwkJaWYgKCFCTl9wc2V1ZG9fcmFuZCh5LCBCTl9udW1f Yml0cyh5KSwgMCwgMCkpIEFCT1JUOworCQlpZiAoIUJOX2FkZCh6LCB6LCB5KSkgQUJPUlQ7CisJ CUJOX3NldF9uZWdhdGl2ZSh6LCAxKTsKKwkJc2NhbGFyc1swXSA9IHk7CisJCXNjYWxhcnNbMV0g PSB6OyAvKiB6ID0gLShvcmRlciArIHkpICovCisKKwkJaWYgKCFFQ19QT0lOVHNfbXVsKGdyb3Vw LCBQLCBOVUxMLCAyLCBwb2ludHMsIHNjYWxhcnMsIGN0eCkpIEFCT1JUOworCQlpZiAoIUVDX1BP SU5UX2lzX2F0X2luZmluaXR5KGdyb3VwLCBQKSkgQUJPUlQ7CisKKwkJZnByaW50ZihzdGRvdXQs ICIuIik7CisJCWZmbHVzaChzdGRvdXQpOworCisJCWlmICghQk5fcHNldWRvX3JhbmQoeCwgQk5f bnVtX2JpdHMoeSkgLSAxLCAwLCAwKSkgQUJPUlQ7CisJCWlmICghQk5fYWRkKHosIHgsIHkpKSBB Qk9SVDsKKwkJQk5fc2V0X25lZ2F0aXZlKHosIDEpOworCQlzY2FsYXJzWzBdID0geDsKKwkJc2Nh bGFyc1sxXSA9IHk7CisJCXNjYWxhcnNbMl0gPSB6OyAvKiB6ID0gLSh4K3kpICovCisKKwkJQk5f aW5pdCgmc2NhbGFyMyk7CisJCUJOX3plcm8oJnNjYWxhcjMpOworCQlzY2FsYXJzWzNdID0gJnNj YWxhcjM7CisKKwkJaWYgKCFFQ19QT0lOVHNfbXVsKGdyb3VwLCBQLCBOVUxMLCA0LCBwb2ludHMs IHNjYWxhcnMsIGN0eCkpIEFCT1JUOworCQlpZiAoIUVDX1BPSU5UX2lzX2F0X2luZmluaXR5KGdy b3VwLCBQKSkgQUJPUlQ7CisKKwkJZnByaW50ZihzdGRvdXQsICIgb2tcblxuIik7CisKKwkJQk5f ZnJlZSgmc2NhbGFyMyk7CisJfQorCisKKyNpZiAwCisJdGltaW5ncyhQXzI1NiwgVElNSU5HX0JB U0VfUFQsIGN0eCk7CisJdGltaW5ncyhQXzI1NiwgVElNSU5HX1JBTkRfUFQsIGN0eCk7CisJdGlt aW5ncyhQXzI1NiwgVElNSU5HX1NJTVVMLCBjdHgpOworCXRpbWluZ3MoUF8zODQsIFRJTUlOR19C QVNFX1BULCBjdHgpOworCXRpbWluZ3MoUF8zODQsIFRJTUlOR19SQU5EX1BULCBjdHgpOworCXRp bWluZ3MoUF8zODQsIFRJTUlOR19TSU1VTCwgY3R4KTsKKyNlbmRpZgorCisKKwlpZiAoY3R4KQor CQlCTl9DVFhfZnJlZShjdHgpOworCUJOX2ZyZWUocCk7IEJOX2ZyZWUoYSk7CUJOX2ZyZWUoYik7 CisJRUNfR1JPVVBfZnJlZShncm91cCk7CisJRUNfUE9JTlRfZnJlZShQKTsKKwlFQ19QT0lOVF9m cmVlKFEpOworCUVDX1BPSU5UX2ZyZWUoUik7CisJQk5fZnJlZSh4KTsgQk5fZnJlZSh5KTsgQk5f ZnJlZSh6KTsKKworCWlmIChQXzE2MCkgRUNfR1JPVVBfZnJlZShQXzE2MCk7CisJaWYgKFBfMTky KSBFQ19HUk9VUF9mcmVlKFBfMTkyKTsKKwlpZiAoUF8yMjQpIEVDX0dST1VQX2ZyZWUoUF8yMjQp OworCWlmIChQXzI1NikgRUNfR1JPVVBfZnJlZShQXzI1Nik7CisJaWYgKFBfMzg0KSBFQ19HUk9V UF9mcmVlKFBfMzg0KTsKKwlpZiAoUF81MjEpIEVDX0dST1VQX2ZyZWUoUF81MjEpOworCisJfQor CisKK3N0YXRpYyB2b2lkIGludGVybmFsX2N1cnZlX3Rlc3Qodm9pZCkKKwl7CisJRUNfYnVpbHRp bl9jdXJ2ZSAqY3VydmVzID0gTlVMTDsKKwlzaXplX3QgY3J2X2xlbiA9IDAsIG4gPSAwOworCWlu dCAgICBvayA9IDE7CisKKwljcnZfbGVuID0gRUNfZ2V0X2J1aWx0aW5fY3VydmVzKE5VTEwsIDAp OworCisJY3VydmVzID0gT1BFTlNTTF9tYWxsb2Moc2l6ZW9mKEVDX2J1aWx0aW5fY3VydmUpICog Y3J2X2xlbik7CisKKwlpZiAoY3VydmVzID09IE5VTEwpCisJCXJldHVybjsKKworCWlmICghRUNf Z2V0X2J1aWx0aW5fY3VydmVzKGN1cnZlcywgY3J2X2xlbikpCisJCXsKKwkJT1BFTlNTTF9mcmVl KGN1cnZlcyk7CisJCXJldHVybjsKKwkJfQorCisJZnByaW50ZihzdGRvdXQsICJ0ZXN0aW5nIGlu dGVybmFsIGN1cnZlczogIik7CisJCQorCWZvciAobiA9IDA7IG4gPCBjcnZfbGVuOyBuKyspCisJ CXsKKwkJRUNfR1JPVVAgKmdyb3VwID0gTlVMTDsKKwkJaW50IG5pZCA9IGN1cnZlc1tuXS5uaWQ7 CisJCWlmICgoZ3JvdXAgPSBFQ19HUk9VUF9uZXdfYnlfY3VydmVfbmFtZShuaWQpKSA9PSBOVUxM KQorCQkJeworCQkJb2sgPSAwOworCQkJZnByaW50ZihzdGRvdXQsICJcbkVDX0dST1VQX25ld19j dXJ2ZV9uYW1lKCkgZmFpbGVkIHdpdGgiCisJCQkJIiBjdXJ2ZSAlc1xuIiwgT0JKX25pZDJzbihu aWQpKTsKKwkJCS8qIHRyeSBuZXh0IGN1cnZlICovCisJCQljb250aW51ZTsKKwkJCX0KKwkJaWYg KCFFQ19HUk9VUF9jaGVjayhncm91cCwgTlVMTCkpCisJCQl7CisJCQlvayA9IDA7CisJCQlmcHJp bnRmKHN0ZG91dCwgIlxuRUNfR1JPVVBfY2hlY2soKSBmYWlsZWQgd2l0aCIKKwkJCQkiIGN1cnZl ICVzXG4iLCBPQkpfbmlkMnNuKG5pZCkpOworCQkJRUNfR1JPVVBfZnJlZShncm91cCk7CisJCQkv KiB0cnkgdGhlIG5leHQgY3VydmUgKi8KKwkJCWNvbnRpbnVlOworCQkJfQorCQlmcHJpbnRmKHN0 ZG91dCwgIi4iKTsKKwkJZmZsdXNoKHN0ZG91dCk7CisJCUVDX0dST1VQX2ZyZWUoZ3JvdXApOwor CQl9CisJaWYgKG9rKQorCQlmcHJpbnRmKHN0ZG91dCwgIiBva1xuXG4iKTsKKwllbHNlCisJCXsK KwkJZnByaW50ZihzdGRvdXQsICIgZmFpbGVkXG5cbiIpOworCQlBQk9SVDsKKwkJfQorCU9QRU5T U0xfZnJlZShjdXJ2ZXMpOworCXJldHVybjsKKwl9CisKKyNpZm5kZWYgT1BFTlNTTF9OT19FQ19O SVNUUF82NF9HQ0NfMTI4CisvKiBuaXN0cF90ZXN0X3BhcmFtcyBjb250YWlucyBtYWdpYyBudW1i ZXJzIGZvciB0ZXN0aW5nIG91ciBvcHRpbWl6ZWQKKyAqIGltcGxlbWVudGF0aW9ucyBvZiBzZXZl cmFsIE5JU1QgY3VydmVzIHdpdGggY2hhcmFjdGVyaXN0aWMgPiAzLiAqLworc3RydWN0IG5pc3Rw X3Rlc3RfcGFyYW1zCisJeworCWNvbnN0IEVDX01FVEhPRCogKCptZXRoKSAoKTsKKwlpbnQgZGVn cmVlOworCS8qIFF4LCBReSBhbmQgRCBhcmUgdGFrZW4gZnJvbQorCSAqIGh0dHA6Ly9jc3JjLm5p c3QuZ292L2dyb3Vwcy9TVC90b29sa2l0L2RvY3VtZW50cy9FeGFtcGxlcy9FQ0RTQV9QcmltZS5w ZGYKKwkgKiBPdGhlcndpc2UsIHZhbHVlcyBhcmUgc3RhbmRhcmQgY3VydmUgcGFyYW1ldGVycyBm cm9tIEZJUFMgMTgwLTMgKi8KKwljb25zdCBjaGFyICpwLCAqYSwgKmIsICpReCwgKlF5LCAqR3gs ICpHeSwgKm9yZGVyLCAqZDsKKwl9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IG5pc3RwX3Rlc3Rf cGFyYW1zIG5pc3RwX3Rlc3RzX3BhcmFtc1tdID0KKwl7CisJCXsKKwkJLyogUC0yNTYgKi8KKwkJ RUNfR0ZwX25pc3RwMjU2X21ldGhvZCwKKwkJMjU2LAorCQkiZmZmZmZmZmYwMDAwMDAwMTAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZiIsIC8qIHAgKi8KKwkJ ImZmZmZmZmZmMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBmZmZmZmZmZmZmZmZmZmZm ZmZmZmZmZmMiLCAvKiBhICovCisJCSI1YWM2MzVkOGFhM2E5M2U3YjNlYmJkNTU3Njk4ODZiYzY1 MWQwNmIwY2M1M2IwZjYzYmNlM2MzZTI3ZDI2MDRiIiwgLyogYiAqLworCQkiYjdlMDhhZmRmZTk0 YmFkM2YxZGM4YzczNDc5OGJhMWM2MmIzYTBhZDFlOWVhMmEzODIwMWNkMDg4OWJjN2ExOSIsIC8q IFF4ICovCisJCSIzNjAzZjc0Nzk1OWRiZjdhNGJiMjI2ZTQxOTI4NzI5MDYzYWRjN2FlNDM1Mjll NjFiNTYzYmJjNjA2Y2M1ZTA5IiwgLyogUXkgKi8KKwkJIjZiMTdkMWYyZTEyYzQyNDdmOGJjZTZl NTYzYTQ0MGYyNzcwMzdkODEyZGViMzNhMGY0YTEzOTQ1ZDg5OGMyOTYiLCAvKiBHeCAqLworCQki NGZlMzQyZTJmZTFhN2Y5YjhlZTdlYjRhN2MwZjllMTYyYmNlMzM1NzZiMzE1ZWNlY2JiNjQwNjgz N2JmNTFmNSIsIC8qIEd5ICovCisJCSJmZmZmZmZmZjAwMDAwMDAwZmZmZmZmZmZmZmZmZmZmZmJj ZTZmYWFkYTcxNzllODRmM2I5Y2FjMmZjNjMyNTUxIiwgLyogb3JkZXIgKi8KKwkJImM0NzdmOWY2 NWMyMmNjZTIwNjU3ZmFhNWIyZDFkODEyMjMzNmY4NTFhNTA4YTFlZDA0ZTQ3OWMzNDk4NWJmOTYi LCAvKiBkICovCisJCX0sCisJfTsKKwordm9pZCBuaXN0cF9zaW5nbGVfdGVzdChjb25zdCBzdHJ1 Y3QgbmlzdHBfdGVzdF9wYXJhbXMgKnRlc3QpCisJeworCUJOX0NUWCAqY3R4OworCUJJR05VTSAq cCwgKmEsICpiLCAqeCwgKnksICpuLCAqbSwgKm9yZGVyOworCUVDX0dST1VQICpOSVNUUDsKKwlF Q19QT0lOVCAqRywgKlAsICpRLCAqUV9DSEVDSzsKKworCWZwcmludGYoc3Rkb3V0LCAiXG5OSVNU IGN1cnZlIFAtJWQgKG9wdGltaXNlZCBpbXBsZW1lbnRhdGlvbik6XG4iLCB0ZXN0LT5kZWdyZWUp OworCWN0eCA9IEJOX0NUWF9uZXcoKTsKKwlwID0gQk5fbmV3KCk7CisJYSA9IEJOX25ldygpOwor CWIgPSBCTl9uZXcoKTsKKwl4ID0gQk5fbmV3KCk7IHkgPSBCTl9uZXcoKTsKKwltID0gQk5fbmV3 KCk7IG4gPSBCTl9uZXcoKTsgb3JkZXIgPSBCTl9uZXcoKTsKKworCU5JU1RQID0gRUNfR1JPVVBf bmV3KHRlc3QtPm1ldGgoKSk7CisJaWYoIU5JU1RQKSBBQk9SVDsKKwlpZiAoIUJOX2hleDJibigm cCwgdGVzdC0+cCkpIEFCT1JUOworCWlmICgxICE9IEJOX2lzX3ByaW1lX2V4KHAsIEJOX3ByaW1l X2NoZWNrcywgY3R4LCBOVUxMKSkgQUJPUlQ7CisJaWYgKCFCTl9oZXgyYm4oJmEsIHRlc3QtPmEp KSBBQk9SVDsKKwlpZiAoIUJOX2hleDJibigmYiwgdGVzdC0+YikpIEFCT1JUOworCWlmICghRUNf R1JPVVBfc2V0X2N1cnZlX0dGcChOSVNUUCwgcCwgYSwgYiwgY3R4KSkgQUJPUlQ7CisJRyA9IEVD X1BPSU5UX25ldyhOSVNUUCk7CisJUCA9IEVDX1BPSU5UX25ldyhOSVNUUCk7CisJUSA9IEVDX1BP SU5UX25ldyhOSVNUUCk7CisJUV9DSEVDSyA9IEVDX1BPSU5UX25ldyhOSVNUUCk7CisJaWYoIUJO X2hleDJibigmeCwgdGVzdC0+UXgpKSBBQk9SVDsKKwlpZighQk5faGV4MmJuKCZ5LCB0ZXN0LT5R eSkpIEFCT1JUOworCWlmKCFFQ19QT0lOVF9zZXRfYWZmaW5lX2Nvb3JkaW5hdGVzX0dGcChOSVNU UCwgUV9DSEVDSywgeCwgeSwgY3R4KSkgQUJPUlQ7CisJaWYgKCFCTl9oZXgyYm4oJngsIHRlc3Qt Pkd4KSkgQUJPUlQ7CisJaWYgKCFCTl9oZXgyYm4oJnksIHRlc3QtPkd5KSkgQUJPUlQ7CisJaWYg KCFFQ19QT0lOVF9zZXRfYWZmaW5lX2Nvb3JkaW5hdGVzX0dGcChOSVNUUCwgRywgeCwgeSwgY3R4 KSkgQUJPUlQ7CisJaWYgKCFCTl9oZXgyYm4oJm9yZGVyLCB0ZXN0LT5vcmRlcikpIEFCT1JUOwor CWlmICghRUNfR1JPVVBfc2V0X2dlbmVyYXRvcihOSVNUUCwgRywgb3JkZXIsIEJOX3ZhbHVlX29u ZSgpKSkgQUJPUlQ7CisKKwlmcHJpbnRmKHN0ZG91dCwgInZlcmlmeSBkZWdyZWUgLi4uICIpOwor CWlmIChFQ19HUk9VUF9nZXRfZGVncmVlKE5JU1RQKSAhPSB0ZXN0LT5kZWdyZWUpIEFCT1JUOwor CWZwcmludGYoc3Rkb3V0LCAib2tcbiIpOworCisJZnByaW50ZihzdGRvdXQsICJOSVNUIHRlc3Qg dmVjdG9ycyAuLi4gIik7CisJaWYgKCFCTl9oZXgyYm4oJm4sIHRlc3QtPmQpKSBBQk9SVDsKKwkv KiBmaXhlZCBwb2ludCBtdWx0aXBsaWNhdGlvbiAqLworCUVDX1BPSU5UX211bChOSVNUUCwgUSwg biwgTlVMTCwgTlVMTCwgY3R4KTsKKwlpZiAoMCAhPSBFQ19QT0lOVF9jbXAoTklTVFAsIFEsIFFf Q0hFQ0ssIGN0eCkpIEFCT1JUOworCS8qIHJhbmRvbSBwb2ludCBtdWx0aXBsaWNhdGlvbiAqLwor CUVDX1BPSU5UX211bChOSVNUUCwgUSwgTlVMTCwgRywgbiwgY3R4KTsKKwlpZiAoMCAhPSBFQ19Q T0lOVF9jbXAoTklTVFAsIFEsIFFfQ0hFQ0ssIGN0eCkpIEFCT1JUOworCisJLyogc2V0IGdlbmVy YXRvciB0byBQID0gMipHLCB3aGVyZSBHIGlzIHRoZSBzdGFuZGFyZCBnZW5lcmF0b3IgKi8KKwlp ZiAoIUVDX1BPSU5UX2RibChOSVNUUCwgUCwgRywgY3R4KSkgQUJPUlQ7CisJaWYgKCFFQ19HUk9V UF9zZXRfZ2VuZXJhdG9yKE5JU1RQLCBQLCBvcmRlciwgQk5fdmFsdWVfb25lKCkpKSBBQk9SVDsK KwkvKiBzZXQgdGhlIHNjYWxhciB0byBtPW4vMiwgd2hlcmUgbiBpcyB0aGUgTklTVCB0ZXN0IHNj YWxhciAqLworCWlmICghQk5fcnNoaWZ0KG0sIG4sIDEpKSBBQk9SVDsKKworCS8qIHRlc3QgdGhl IG5vbi1zdGFuZGFyZCBnZW5lcmF0b3IgKi8KKwkvKiBmaXhlZCBwb2ludCBtdWx0aXBsaWNhdGlv biAqLworCUVDX1BPSU5UX211bChOSVNUUCwgUSwgbSwgTlVMTCwgTlVMTCwgY3R4KTsKKwlpZiAo MCAhPSBFQ19QT0lOVF9jbXAoTklTVFAsIFEsIFFfQ0hFQ0ssIGN0eCkpIEFCT1JUOworCS8qIHJh bmRvbSBwb2ludCBtdWx0aXBsaWNhdGlvbiAqLworCUVDX1BPSU5UX211bChOSVNUUCwgUSwgTlVM TCwgUCwgbSwgY3R4KTsKKwlpZiAoMCAhPSBFQ19QT0lOVF9jbXAoTklTVFAsIFEsIFFfQ0hFQ0ss IGN0eCkpIEFCT1JUOworCisJLyogbm93IHJlcGVhdCBhbGwgdGVzdHMgd2l0aCBwcmVjb21wdXRh dGlvbiAqLworCWlmICghRUNfR1JPVVBfcHJlY29tcHV0ZV9tdWx0KE5JU1RQLCBjdHgpKSBBQk9S VDsKKworCS8qIGZpeGVkIHBvaW50IG11bHRpcGxpY2F0aW9uICovCisJRUNfUE9JTlRfbXVsKE5J U1RQLCBRLCBtLCBOVUxMLCBOVUxMLCBjdHgpOworCWlmICgwICE9IEVDX1BPSU5UX2NtcChOSVNU UCwgUSwgUV9DSEVDSywgY3R4KSkgQUJPUlQ7CisJLyogcmFuZG9tIHBvaW50IG11bHRpcGxpY2F0 aW9uICovCisJRUNfUE9JTlRfbXVsKE5JU1RQLCBRLCBOVUxMLCBQLCBtLCBjdHgpOworCWlmICgw ICE9IEVDX1BPSU5UX2NtcChOSVNUUCwgUSwgUV9DSEVDSywgY3R4KSkgQUJPUlQ7CisKKwkvKiBy ZXNldCBnZW5lcmF0b3IgKi8KKwlpZiAoIUVDX0dST1VQX3NldF9nZW5lcmF0b3IoTklTVFAsIEcs IG9yZGVyLCBCTl92YWx1ZV9vbmUoKSkpIEFCT1JUOworCS8qIGZpeGVkIHBvaW50IG11bHRpcGxp Y2F0aW9uICovCisJRUNfUE9JTlRfbXVsKE5JU1RQLCBRLCBuLCBOVUxMLCBOVUxMLCBjdHgpOwor CWlmICgwICE9IEVDX1BPSU5UX2NtcChOSVNUUCwgUSwgUV9DSEVDSywgY3R4KSkgQUJPUlQ7CisJ LyogcmFuZG9tIHBvaW50IG11bHRpcGxpY2F0aW9uICovCisJRUNfUE9JTlRfbXVsKE5JU1RQLCBR LCBOVUxMLCBHLCBuLCBjdHgpOworCWlmICgwICE9IEVDX1BPSU5UX2NtcChOSVNUUCwgUSwgUV9D SEVDSywgY3R4KSkgQUJPUlQ7CisKKwlmcHJpbnRmKHN0ZG91dCwgIm9rXG4iKTsKKwlncm91cF9v cmRlcl90ZXN0cyhOSVNUUCk7CisjaWYgMAorCXRpbWluZ3MoTklTVFAsIFRJTUlOR19CQVNFX1BU LCBjdHgpOworCXRpbWluZ3MoTklTVFAsIFRJTUlOR19SQU5EX1BULCBjdHgpOworI2VuZGlmCisJ RUNfR1JPVVBfZnJlZShOSVNUUCk7CisJRUNfUE9JTlRfZnJlZShHKTsKKwlFQ19QT0lOVF9mcmVl KFApOworCUVDX1BPSU5UX2ZyZWUoUSk7CisJRUNfUE9JTlRfZnJlZShRX0NIRUNLKTsKKwlCTl9m cmVlKG4pOworCUJOX2ZyZWUobSk7CisJQk5fZnJlZShwKTsKKwlCTl9mcmVlKGEpOworCUJOX2Zy ZWUoYik7CisJQk5fZnJlZSh4KTsKKwlCTl9mcmVlKHkpOworCUJOX2ZyZWUob3JkZXIpOworCUJO X0NUWF9mcmVlKGN0eCk7CisJfQorCit2b2lkIG5pc3RwX3Rlc3RzKCkKKwl7CisJdW5zaWduZWQg aTsKKworCWZvciAoaSA9IDA7IGkgPCBzaXplb2YobmlzdHBfdGVzdHNfcGFyYW1zKSAvIHNpemVv ZihzdHJ1Y3QgbmlzdHBfdGVzdF9wYXJhbXMpOyBpKyspCisJCXsKKwkJbmlzdHBfc2luZ2xlX3Rl c3QoJm5pc3RwX3Rlc3RzX3BhcmFtc1tpXSk7CisJCX0KKwl9CisjZW5kaWYKKworc3RhdGljIGNv bnN0IGNoYXIgcm5kX3NlZWRbXSA9ICJzdHJpbmcgdG8gbWFrZSB0aGUgcmFuZG9tIG51bWJlciBn ZW5lcmF0b3IgdGhpbmsgaXQgaGFzIGVudHJvcHkiOworCitpbnQgbWFpbihpbnQgYXJnYywgY2hh ciAqYXJndltdKQorCXsJCisJCisJLyogZW5hYmxlIG1lbW9yeSBsZWFrIGNoZWNraW5nIHVubGVz cyBleHBsaWNpdGx5IGRpc2FibGVkICovCisJaWYgKCEoKGdldGVudigiT1BFTlNTTF9ERUJVR19N RU1PUlkiKSAhPSBOVUxMKSAmJiAoMCA9PSBzdHJjbXAoZ2V0ZW52KCJPUEVOU1NMX0RFQlVHX01F TU9SWSIpLCAib2ZmIikpKSkKKwkJeworCQlDUllQVE9fbWFsbG9jX2RlYnVnX2luaXQoKTsKKwkJ Q1JZUFRPX3NldF9tZW1fZGVidWdfb3B0aW9ucyhWX0NSWVBUT19NREVCVUdfQUxMKTsKKwkJfQor CWVsc2UKKwkJeworCQkvKiBPUEVOU1NMX0RFQlVHX01FTU9SWT1vZmYgKi8KKwkJQ1JZUFRPX3Nl dF9tZW1fZGVidWdfZnVuY3Rpb25zKDAsIDAsIDAsIDAsIDApOworCQl9CisJQ1JZUFRPX21lbV9j dHJsKENSWVBUT19NRU1fQ0hFQ0tfT04pOworCUVSUl9sb2FkX2NyeXB0b19zdHJpbmdzKCk7CisK KwlSQU5EX3NlZWQocm5kX3NlZWQsIHNpemVvZiBybmRfc2VlZCk7IC8qIG9yIEJOX2dlbmVyYXRl X3ByaW1lIG1heSBmYWlsICovCisKKwlwcmltZV9maWVsZF90ZXN0cygpOworCXB1dHMoIiIpOwor I2lmbmRlZiBPUEVOU1NMX05PX0VDMk0KKwljaGFyMl9maWVsZF90ZXN0cygpOworI2VuZGlmCisj aWZuZGVmIE9QRU5TU0xfTk9fRUNfTklTVFBfNjRfR0NDXzEyOAorCW5pc3RwX3Rlc3RzKCk7Cisj ZW5kaWYKKwkvKiB0ZXN0IHRoZSBpbnRlcm5hbCBjdXJ2ZXMgKi8KKwlpbnRlcm5hbF9jdXJ2ZV90 ZXN0KCk7CisKKyNpZm5kZWYgT1BFTlNTTF9OT19FTkdJTkUKKwlFTkdJTkVfY2xlYW51cCgpOwor I2VuZGlmCisJQ1JZUFRPX2NsZWFudXBfYWxsX2V4X2RhdGEoKTsKKwlFUlJfZnJlZV9zdHJpbmdz KCk7CisJRVJSX3JlbW92ZV90aHJlYWRfc3RhdGUoTlVMTCk7CisJQ1JZUFRPX21lbV9sZWFrc19m cChzdGRlcnIpOworCQorCXJldHVybiAwOworCX0KKyNlbmRpZgoKZGlmZiAtLWdpdCBhL2hvYmJs ZS1vcGVuc3NsIGIvaG9iYmxlLW9wZW5zc2wKaW5kZXggM2I3ODMzNS4uM2M3NWVhMSAxMDA3NTUK LS0tIGEvaG9iYmxlLW9wZW5zc2wKKysrIGIvaG9iYmxlLW9wZW5zc2wKQEAgLTcsNiArNyw3IEBA IHNldCAtZQogIyBNREMtMjogNCw5MDgsODYxIDEzLzAzLzIwMDcgLSBleHBpcmVkLCB3ZSBkbyBu b3QgcmVtb3ZlIGl0IGJ1dCBkbyBub3QgZW5hYmxlIGl0IGFueXdheQogIyBJREVBOiAgNSwyMTQs NzAzIDA3LzAxLzIwMTIgLSBleHBpcmVkLCB3ZSBkbyBub3QgcmVtb3ZlIGl0IGFueW1vcmUKICMg UkM1OiAgIDUsNzI0LDQyOCAwMS8xMS8yMDE1CisjIEVDOiAgICA/Pz8/Pz8/Pz8gPz8vPz8vMjAy MAogIyBTUlA6ICAgPz8/Pz8/Pz8/ID8/Lz8/LzIwPz8KIAogIyBSZW1vdmUgYXNzZW1ibGVyIHBv cnRpb25zIG9mIElERUEsIE1EQzIsIGFuZCBSQzUuCkBAIC0yNSwxMiArMjYsMjMgQEAgZm9yIGMg aW4gYGZpbmQgY3J5cHRvL2V2cCAtbmFtZSAiKl9yYzUuYyJgOyBkbwogCT4gJGMKIGRvbmUKIAor Zm9yIGMgaW4gYGZpbmQgY3J5cHRvL2JuIC1uYW1lICIqZ2YybS5jImA7IGRvCisJZWNobyBEZXN0 cm95aW5nICRjCisJPiAkYworZG9uZQorCitmb3IgYyBpbiBgZmluZCBjcnlwdG8vZWMgLW5hbWUg ImVjMiouYyIgLW8gLW5hbWUgImVjX2N1cnZlLmMiIC1vIC1uYW1lICJlY3BfbmlzdHA/Mj8uYyIg LW8gLW5hbWUgImVjdGVzdC5jImA7IGRvCisJZWNobyBEZXN0cm95aW5nICRjCisJPiAkYworZG9u ZQorCiBmb3IgaCBpbiBgZmluZCBjcnlwdG8gc3NsIGFwcHMgdGVzdCAtbmFtZSAiKi5oImAgOyBk bwotCWVjaG8gUmVtb3ZpbmcgUkM1LCBTUlAgcmVmZXJlbmNlcyBmcm9tICRoCisJZWNobyBSZW1v dmluZyBSQzUsIFNSUCBhbmQgRUMyTSByZWZlcmVuY2VzIGZyb20gJGgKIAljYXQgJGggfCBcCiAJ YXdrICAgICdCRUdJTiB7ZWNoPTE7fSBcCiAJCS9eI1sgXHRdKmlmbmRlZi4qTk9fU1JQLyB7ZWNo LS07IG5leHQ7fSBcCiAJCS9eI1sgXHRdKmlmbmRlZi4qTk9fUkM1LyB7ZWNoLS07IG5leHQ7fSBc CisJCS9eI1sgXHRdKmlmbmRlZi4qTk9fRUMyTS8ge2VjaC0tOyBuZXh0O30gXAogICAgICAgICAg ICAgICAgIC9eI1sgXHRdKmlmLyB7aWYoZWNoIDwgMSkgZWNoLS07fSBcCiAJCXtpZihlY2g+MCkg eztwcmludCAkMH07fSBcCiAJCS9eI1sgXHRdKmVuZGlmLyB7aWYoZWNoIDwgMSkgZWNoKys7fScg PiAkaC5ob2JibGVkICYmIFwKCmRpZmYgLS1naXQgYS9vcGVuc3NsLTEuMC4xLWJldGEyLXJwbWJ1 aWxkLnBhdGNoIGIvb3BlbnNzbC0xLjAuMS1iZXRhMi1ycG1idWlsZC5wYXRjaAppbmRleCAwYTVj ZWYxLi5iY2E1NjEzIDEwMDY0NAotLS0gYS9vcGVuc3NsLTEuMC4xLWJldGEyLXJwbWJ1aWxkLnBh dGNoCisrKyBiL29wZW5zc2wtMS4wLjEtYmV0YTItcnBtYnVpbGQucGF0Y2gKQEAgLTcsMzAgKzcs MzAgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMS1iZXRhMi9Db25maWd1cmUucnBtYnVpbGQgb3Bl bnNzbC0xLjAuMS1iZXRhMi9Db25maWd1cmUKICAjIHRocm93IGluIC1EW0JMXV9FTkRJQU4sIHdo aWNoZXZlciBhcHByb3ByaWF0ZS4uLgogLSJsaW51eC1nZW5lcmljMzIiLCJnY2M6LURURVJNSU8g LU8zIC1mb21pdC1mcmFtZS1wb2ludGVyIC1XYWxsOjotRF9SRUVOVFJBTlQ6Oi1sZGw6Qk5fTExP TkcgUkM0X0NIQVIgUkM0X0NIVU5LIERFU19JTlQgREVTX1VOUk9MTCBCRl9QVFI6JHtub19hc219 OmRsZmNuOmxpbnV4LXNoYXJlZDotZlBJQzo6LnNvLlwkKFNITElCX01BSk9SKS5cJChTSExJQl9N SU5PUikiLAogLSJsaW51eC1wcGMiLAkiZ2NjOi1EQl9FTkRJQU4gLURURVJNSU8gLU8zIC1XYWxs OjotRF9SRUVOVFJBTlQ6Oi1sZGw6Qk5fTExPTkcgUkM0X0NIQVIgUkM0X0NIVU5LIERFU19SSVND MSBERVNfVU5ST0xMOiR7cHBjMzJfYXNtfTpsaW51eDMyOmRsZmNuOmxpbnV4LXNoYXJlZDotZlBJ Qzo6LnNvLlwkKFNITElCX01BSk9SKS5cJChTSExJQl9NSU5PUikiLAotKyJsaW51eC1nZW5lcmlj MzIiLCJnY2M6LURURVJNSU8gLVdhbGwgXCQoUlBNX09QVF9GTEFHUyk6Oi1EX1JFRU5UUkFOVDo6 LWxkbDpCTl9MTE9ORyBSQzRfQ0hBUiBSQzRfQ0hVTksgREVTX0lOVCBERVNfVU5ST0xMIEJGX1BU Ujoke25vX2FzbX06ZGxmY246bGludXgtc2hhcmVkOi1mUElDOlwkKFJQTV9PUFRfRkxBR1MpOi5z by5cJChTSExJQl9TT05BTUVWRVIpIiwKLSsibGludXgtcHBjIiwJImdjYzotREJfRU5ESUFOIC1E VEVSTUlPIC1XYWxsIFwkKFJQTV9PUFRfRkxBR1MpOjotRF9SRUVOVFJBTlQ6Oi1sZGw6Qk5fTExP TkcgUkM0X0NIQVIgUkM0X0NIVU5LIERFU19SSVNDMSBERVNfVU5ST0xMOiR7cHBjMzJfYXNtfTps aW51eDMyOmRsZmNuOmxpbnV4LXNoYXJlZDotZlBJQzpcJChSUE1fT1BUX0ZMQUdTKTouc28uXCQo U0hMSUJfU09OQU1FVkVSKSIsCisrImxpbnV4LWdlbmVyaWMzMiIsImdjYzotRFRFUk1JTyAtV2Fs bCBcJChSUE1fT1BUX0ZMQUdTKTo6LURfUkVFTlRSQU5UOjotV2wsLXoscmVscm8gLWxkbDpCTl9M TE9ORyBSQzRfQ0hBUiBSQzRfQ0hVTksgREVTX0lOVCBERVNfVU5ST0xMIEJGX1BUUjoke25vX2Fz bX06ZGxmY246bGludXgtc2hhcmVkOi1mUElDOlwkKFJQTV9PUFRfRkxBR1MpOi5zby5cJChTSExJ Ql9TT05BTUVWRVIpIiwKKysibGludXgtcHBjIiwJImdjYzotREJfRU5ESUFOIC1EVEVSTUlPIC1X YWxsIFwkKFJQTV9PUFRfRkxBR1MpOjotRF9SRUVOVFJBTlQ6Oi1XbCwteixyZWxybyAtbGRsOkJO X0xMT05HIFJDNF9DSEFSIFJDNF9DSFVOSyBERVNfUklTQzEgREVTX1VOUk9MTDoke3BwYzMyX2Fz bX06bGludXgzMjpkbGZjbjpsaW51eC1zaGFyZWQ6LWZQSUM6XCQoUlBNX09QVF9GTEFHUyk6LnNv LlwkKFNITElCX1NPTkFNRVZFUikiLAogICMgSXQncyBiZWxpZXZlZCB0aGF0IG1ham9yaXR5IG9m IEFSTSB0b29sY2hhaW5zIHByZWRlZmluZSBhcHByb3ByaWF0ZSAtbWFyY2guCiAgIyBJZiB5b3Ug Y29tcGlsZXIgZG9lcyBub3QsIGRvIGNvbXBsZW1lbnQgY29uZmlnIGNvbW1hbmQgbGluZSB3aXRo IG9uZSEKIC0ibGludXgtYXJtdjQiLAkiZ2NjOi1EVEVSTUlPIC1PMyAtV2FsbDo6LURfUkVFTlRS QU5UOjotbGRsOkJOX0xMT05HIFJDNF9DSEFSIFJDNF9DSFVOSyBERVNfSU5UIERFU19VTlJPTEwg QkZfUFRSOiR7YXJtdjRfYXNtfTpkbGZjbjpsaW51eC1zaGFyZWQ6LWZQSUM6Oi5zby5cJChTSExJ Ql9NQUpPUikuXCQoU0hMSUJfTUlOT1IpIiwKLSsibGludXgtYXJtdjQiLAkiZ2NjOi1EVEVSTUlP IC1XYWxsIFwkKFJQTV9PUFRfRkxBR1MpOjotRF9SRUVOVFJBTlQ6Oi1sZGw6Qk5fTExPTkcgUkM0 X0NIQVIgUkM0X0NIVU5LIERFU19JTlQgREVTX1VOUk9MTCBCRl9QVFI6JHthcm12NF9hc219OmRs ZmNuOmxpbnV4LXNoYXJlZDotZlBJQzpcJChSUE1fT1BUX0ZMQUdTKTouc28uXCQoU0hMSUJfU09O QU1FVkVSKSIsCisrImxpbnV4LWFybXY0IiwJImdjYzotRFRFUk1JTyAtV2FsbCBcJChSUE1fT1BU X0ZMQUdTKTo6LURfUkVFTlRSQU5UOjotV2wsLXoscmVscm8gLWxkbDpCTl9MTE9ORyBSQzRfQ0hB UiBSQzRfQ0hVTksgREVTX0lOVCBERVNfVU5ST0xMIEJGX1BUUjoke2FybXY0X2FzbX06ZGxmY246 bGludXgtc2hhcmVkOi1mUElDOlwkKFJQTV9PUFRfRkxBR1MpOi5zby5cJChTSExJQl9TT05BTUVW RVIpIiwKICAjIyMjIElBLTMyIHRhcmdldHMuLi4KICAibGludXgtaWEzMi1pY2MiLAkiaWNjOi1E TF9FTkRJQU4gLURURVJNSU8gLU8yIC1ub19jcHBydDo6LURfUkVFTlRSQU5UOjotbGRsOkJOX0xM T05HICR7eDg2X2djY19kZXN9ICR7eDg2X2djY19vcHRzfToke3g4Nl9lbGZfYXNtfTpkbGZjbjps aW51eC1zaGFyZWQ6LUtQSUM6Oi5zby5cJChTSExJQl9NQUpPUikuXCQoU0hMSUJfTUlOT1IpIiwK IC0ibGludXgtZWxmIiwJImdjYzotRExfRU5ESUFOIC1EVEVSTUlPIC1PMyAtZm9taXQtZnJhbWUt cG9pbnRlciAtV2FsbDo6LURfUkVFTlRSQU5UOjotbGRsOkJOX0xMT05HICR7eDg2X2djY19kZXN9 ICR7eDg2X2djY19vcHRzfToke3g4Nl9lbGZfYXNtfTpkbGZjbjpsaW51eC1zaGFyZWQ6LWZQSUM6 Oi5zby5cJChTSExJQl9NQUpPUikuXCQoU0hMSUJfTUlOT1IpIiwKLSsibGludXgtZWxmIiwJImdj YzotRExfRU5ESUFOIC1EVEVSTUlPIC1XYWxsIFwkKFJQTV9PUFRfRkxBR1MpOjotRF9SRUVOVFJB TlQ6Oi1sZGw6Qk5fTExPTkcgJHt4ODZfZ2NjX2Rlc30gJHt4ODZfZ2NjX29wdHN9OiR7eDg2X2Vs Zl9hc219OmRsZmNuOmxpbnV4LXNoYXJlZDotZlBJQzpcJChSUE1fT1BUX0ZMQUdTKTouc28uXCQo U0hMSUJfU09OQU1FVkVSKSIsCisrImxpbnV4LWVsZiIsCSJnY2M6LURMX0VORElBTiAtRFRFUk1J TyAtV2FsbCBcJChSUE1fT1BUX0ZMQUdTKTo6LURfUkVFTlRSQU5UOjotV2wsLXoscmVscm8gLWxk bDpCTl9MTE9ORyAke3g4Nl9nY2NfZGVzfSAke3g4Nl9nY2Nfb3B0c306JHt4ODZfZWxmX2FzbX06 ZGxmY246bGludXgtc2hhcmVkOi1mUElDOlwkKFJQTV9PUFRfRkxBR1MpOi5zby5cJChTSExJQl9T T05BTUVWRVIpIiwKICAibGludXgtYW91dCIsCSJnY2M6LURMX0VORElBTiAtRFRFUk1JTyAtTzMg LWZvbWl0LWZyYW1lLXBvaW50ZXIgLW1hcmNoPWk0ODYgLVdhbGw6Oih1bmtub3duKTo6OkJOX0xM T05HICR7eDg2X2djY19kZXN9ICR7eDg2X2djY19vcHRzfToke3g4Nl9hc219OmEub3V0IiwKICAj IyMjCiAtImxpbnV4LWdlbmVyaWM2NCIsImdjYzotRFRFUk1JTyAtTzMgLVdhbGw6Oi1EX1JFRU5U UkFOVDo6LWxkbDpTSVhUWV9GT1VSX0JJVF9MT05HIFJDNF9DSEFSIFJDNF9DSFVOSyBERVNfSU5U IERFU19VTlJPTEwgQkZfUFRSOiR7bm9fYXNtfTpkbGZjbjpsaW51eC1zaGFyZWQ6LWZQSUM6Oi5z by5cJChTSExJQl9NQUpPUikuXCQoU0hMSUJfTUlOT1IpIiwKIC0ibGludXgtcHBjNjQiLAkiZ2Nj Oi1tNjQgLURCX0VORElBTiAtRFRFUk1JTyAtTzMgLVdhbGw6Oi1EX1JFRU5UUkFOVDo6LWxkbDpT SVhUWV9GT1VSX0JJVF9MT05HIFJDNF9DSEFSIFJDNF9DSFVOSyBERVNfUklTQzEgREVTX1VOUk9M TDoke3BwYzY0X2FzbX06bGludXg2NDpkbGZjbjpsaW51eC1zaGFyZWQ6LWZQSUM6LW02NDouc28u XCQoU0hMSUJfTUFKT1IpLlwkKFNITElCX01JTk9SKTo6OjY0IiwKIC0ibGludXgtaWE2NCIsCSJn Y2M6LURMX0VORElBTiAtRFRFUk1JTyAtTzMgLVdhbGw6Oi1EX1JFRU5UUkFOVDo6LWxkbDpTSVhU WV9GT1VSX0JJVF9MT05HIFJDNF9DSFVOSyBERVNfVU5ST0xMIERFU19JTlQ6JHtpYTY0X2FzbX06 ZGxmY246bGludXgtc2hhcmVkOi1mUElDOjouc28uXCQoU0hMSUJfTUFKT1IpLlwkKFNITElCX01J Tk9SKSIsCi0rImxpbnV4LWdlbmVyaWM2NCIsImdjYzotRFRFUk1JTyAtV2FsbCBcJChSUE1fT1BU X0ZMQUdTKTo6LURfUkVFTlRSQU5UOjotbGRsOlNJWFRZX0ZPVVJfQklUX0xPTkcgUkM0X0NIQVIg UkM0X0NIVU5LIERFU19JTlQgREVTX1VOUk9MTCBCRl9QVFI6JHtub19hc219OmRsZmNuOmxpbnV4 LXNoYXJlZDotZlBJQzpcJChSUE1fT1BUX0ZMQUdTKTouc28uXCQoU0hMSUJfU09OQU1FVkVSKSIs Ci0rImxpbnV4LXBwYzY0IiwJImdjYzotbTY0IC1EQl9FTkRJQU4gLURURVJNSU8gLVdhbGwgXCQo UlBNX09QVF9GTEFHUyk6Oi1EX1JFRU5UUkFOVDo6LWxkbDpTSVhUWV9GT1VSX0JJVF9MT05HIFJD NF9DSEFSIFJDNF9DSFVOSyBERVNfUklTQzEgREVTX1VOUk9MTDoke3BwYzY0X2FzbX06bGludXg2 NDpkbGZjbjpsaW51eC1zaGFyZWQ6LWZQSUM6LW02NCBcJChSUE1fT1BUX0ZMQUdTKTouc28uXCQo U0hMSUJfU09OQU1FVkVSKTo6OjY0IiwKLSsibGludXgtaWE2NCIsCSJnY2M6LURMX0VORElBTiAt RFRFUk1JTyAtV2FsbCBcJChSUE1fT1BUX0ZMQUdTKTo6LURfUkVFTlRSQU5UOjotbGRsOlNJWFRZ X0ZPVVJfQklUX0xPTkcgUkM0X0NIVU5LIERFU19VTlJPTEwgREVTX0lOVDoke2lhNjRfYXNtfTpk bGZjbjpsaW51eC1zaGFyZWQ6LWZQSUM6XCQoUlBNX09QVF9GTEFHUyk6LnNvLlwkKFNITElCX1NP TkFNRVZFUikiLAorKyJsaW51eC1nZW5lcmljNjQiLCJnY2M6LURURVJNSU8gLVdhbGwgXCQoUlBN X09QVF9GTEFHUyk6Oi1EX1JFRU5UUkFOVDo6LVdsLC16LHJlbHJvIC1sZGw6U0lYVFlfRk9VUl9C SVRfTE9ORyBSQzRfQ0hBUiBSQzRfQ0hVTksgREVTX0lOVCBERVNfVU5ST0xMIEJGX1BUUjoke25v X2FzbX06ZGxmY246bGludXgtc2hhcmVkOi1mUElDOlwkKFJQTV9PUFRfRkxBR1MpOi5zby5cJChT SExJQl9TT05BTUVWRVIpIiwKKysibGludXgtcHBjNjQiLAkiZ2NjOi1tNjQgLURCX0VORElBTiAt RFRFUk1JTyAtV2FsbCBcJChSUE1fT1BUX0ZMQUdTKTo6LURfUkVFTlRSQU5UOjotV2wsLXoscmVs cm8gLWxkbDpTSVhUWV9GT1VSX0JJVF9MT05HIFJDNF9DSEFSIFJDNF9DSFVOSyBERVNfUklTQzEg REVTX1VOUk9MTDoke3BwYzY0X2FzbX06bGludXg2NDpkbGZjbjpsaW51eC1zaGFyZWQ6LWZQSUM6 LW02NCBcJChSUE1fT1BUX0ZMQUdTKTouc28uXCQoU0hMSUJfU09OQU1FVkVSKTo6OjY0IiwKKysi bGludXgtaWE2NCIsCSJnY2M6LURMX0VORElBTiAtRFRFUk1JTyAtV2FsbCBcJChSUE1fT1BUX0ZM QUdTKTo6LURfUkVFTlRSQU5UOjotV2wsLXoscmVscm8gLWxkbDpTSVhUWV9GT1VSX0JJVF9MT05H IFJDNF9DSFVOSyBERVNfVU5ST0xMIERFU19JTlQ6JHtpYTY0X2FzbX06ZGxmY246bGludXgtc2hh cmVkOi1mUElDOlwkKFJQTV9PUFRfRkxBR1MpOi5zby5cJChTSExJQl9TT05BTUVWRVIpIiwKICAi bGludXgtaWE2NC1lY2MiLCJlY2M6LURMX0VORElBTiAtRFRFUk1JTyAtTzIgLVdhbGwgLW5vX2Nw cHJ0OjotRF9SRUVOVFJBTlQ6Oi1sZGw6U0lYVFlfRk9VUl9CSVRfTE9ORyBSQzRfQ0hVTksgREVT X0lOVDoke2lhNjRfYXNtfTpkbGZjbjpsaW51eC1zaGFyZWQ6LWZQSUM6Oi5zby5cJChTSExJQl9N QUpPUikuXCQoU0hMSUJfTUlOT1IpIiwKICAibGludXgtaWE2NC1pY2MiLCJpY2M6LURMX0VORElB TiAtRFRFUk1JTyAtTzIgLVdhbGwgLW5vX2NwcHJ0OjotRF9SRUVOVFJBTlQ6Oi1sZGw6U0lYVFlf Rk9VUl9CSVRfTE9ORyBSQzRfQ0hVTksgREVTX1JJU0MxIERFU19JTlQ6JHtpYTY0X2FzbX06ZGxm Y246bGludXgtc2hhcmVkOi1mUElDOjouc28uXCQoU0hMSUJfTUFKT1IpLlwkKFNITElCX01JTk9S KSIsCiAtImxpbnV4LXg4Nl82NCIsCSJnY2M6LW02NCAtRExfRU5ESUFOIC1EVEVSTUlPIC1PMyAt V2FsbDo6LURfUkVFTlRSQU5UOjotbGRsOlNJWFRZX0ZPVVJfQklUX0xPTkcgUkM0X0NIVU5LIERF U19JTlQgREVTX1VOUk9MTDoke3g4Nl82NF9hc219OmVsZjpkbGZjbjpsaW51eC1zaGFyZWQ6LWZQ SUM6LW02NDouc28uXCQoU0hMSUJfTUFKT1IpLlwkKFNITElCX01JTk9SKTo6OjY0IiwKIC0ibGlu dXg2NC1zMzkweCIsCSJnY2M6LW02NCAtREJfRU5ESUFOIC1EVEVSTUlPIC1PMyAtV2FsbDo6LURf UkVFTlRSQU5UOjotbGRsOlNJWFRZX0ZPVVJfQklUX0xPTkcgUkM0X0NIQVIgUkM0X0NIVU5LIERF U19JTlQgREVTX1VOUk9MTDoke3MzOTB4X2FzbX06NjQ6ZGxmY246bGludXgtc2hhcmVkOi1mUElD Oi1tNjQ6LnNvLlwkKFNITElCX01BSk9SKS5cJChTSExJQl9NSU5PUik6Ojo2NCIsCi0rImxpbnV4 LXg4Nl82NCIsCSJnY2M6LW02NCAtRExfRU5ESUFOIC1EVEVSTUlPIC1XYWxsIFwkKFJQTV9PUFRf RkxBR1MpOjotRF9SRUVOVFJBTlQ6Oi1sZGw6U0lYVFlfRk9VUl9CSVRfTE9ORyBSQzRfQ0hVTksg REVTX0lOVCBERVNfVU5ST0xMOiR7eDg2XzY0X2FzbX06ZWxmOmRsZmNuOmxpbnV4LXNoYXJlZDot ZlBJQzotbTY0IFwkKFJQTV9PUFRfRkxBR1MpOi5zby5cJChTSExJQl9TT05BTUVWRVIpOjo6NjQi LAotKyJsaW51eDY0LXMzOTB4IiwJImdjYzotbTY0IC1EQl9FTkRJQU4gLURURVJNSU8gLVdhbGwg XCQoUlBNX09QVF9GTEFHUyk6Oi1EX1JFRU5UUkFOVDo6LWxkbDpTSVhUWV9GT1VSX0JJVF9MT05H IFJDNF9DSEFSIFJDNF9DSFVOSyBERVNfSU5UIERFU19VTlJPTEw6JHtzMzkweF9hc219OjY0OmRs ZmNuOmxpbnV4LXNoYXJlZDotZlBJQzotbTY0IFwkKFJQTV9PUFRfRkxBR1MpOi5zby5cJChTSExJ Ql9TT05BTUVWRVIpOjo6NjQiLAorKyJsaW51eC14ODZfNjQiLAkiZ2NjOi1tNjQgLURMX0VORElB TiAtRFRFUk1JTyAtV2FsbCBcJChSUE1fT1BUX0ZMQUdTKTo6LURfUkVFTlRSQU5UOjotV2wsLXos cmVscm8gLWxkbDpTSVhUWV9GT1VSX0JJVF9MT05HIFJDNF9DSFVOSyBERVNfSU5UIERFU19VTlJP TEw6JHt4ODZfNjRfYXNtfTplbGY6ZGxmY246bGludXgtc2hhcmVkOi1mUElDOi1tNjQgXCQoUlBN X09QVF9GTEFHUyk6LnNvLlwkKFNITElCX1NPTkFNRVZFUik6Ojo2NCIsCisrImxpbnV4NjQtczM5 MHgiLAkiZ2NjOi1tNjQgLURCX0VORElBTiAtRFRFUk1JTyAtV2FsbCBcJChSUE1fT1BUX0ZMQUdT KTo6LURfUkVFTlRSQU5UOjotV2wsLXoscmVscm8gLWxkbDpTSVhUWV9GT1VSX0JJVF9MT05HIFJD NF9DSEFSIFJDNF9DSFVOSyBERVNfSU5UIERFU19VTlJPTEw6JHtzMzkweF9hc219OjY0OmRsZmNu OmxpbnV4LXNoYXJlZDotZlBJQzotbTY0IFwkKFJQTV9PUFRfRkxBR1MpOi5zby5cJChTSExJQl9T T05BTUVWRVIpOjo6NjQiLAogICMjIyMgU28gY2FsbGVkICJoaWdoZ3BycyIgdGFyZ2V0IGZvciB6 L0FyY2hpdGVjdHVyZSBDUFVzCiAgIyAiSGlnaGdwcnMiIGlzIGtlcm5lbCBmZWF0dXJlIGZpcnN0 IGltcGxlbWVudGVkIGluIExpbnV4IDIuNi4zMiwgc2VlCiAgIyAvcHJvYy9jcHVpbmZvLiBUaGUg aWRlYSBpcyB0byBwcmVzZXJ2ZSBtb3N0IHNpZ25pZmljYW50IGJpdHMgb2YKQEAgLTM5LDE5ICsz OSwxOSBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xLWJldGEyL0NvbmZpZ3VyZS5ycG1idWlsZCBv cGVuc3NsLTEuMC4xLWJldGEyL0NvbmZpZ3VyZQogICMgZG9lc24ndCB3b3JrIGp1c3QgeWV0LCBi ZWNhdXNlIG9mIGNvdXBsZSBvZiBidWdzIGluIGdsaWJjCiAgIyBzeXNkZXBzL3MzOTAvZGwtcHJv Y2luZm8uYyBhZmZlY3RpbmcgbGRjb25maWcgYW5kIGxkLnNvLjEuLi4KIC0ibGludXgzMi1zMzkw eCIsCSJnY2M6LW0zMSAtV2EsLW16YXJjaCAtREJfRU5ESUFOIC1EVEVSTUlPIC1PMyAtV2FsbDo6 LURfUkVFTlRSQU5UOjotbGRsOkJOX0xMT05HIFJDNF9DSEFSIFJDNF9DSFVOSyBERVNfSU5UIERF U19VTlJPTEw6Ii5ldmFse215ICRhc209JHMzOTB4X2FzbTskYXNtPX5zL2JuXC1zMzkweFwuby9i bl9hc20uby87JGFzbX0uIjozMTpkbGZjbjpsaW51eC1zaGFyZWQ6LWZQSUM6LW0zMTouc28uXCQo U0hMSUJfTUFKT1IpLlwkKFNITElCX01JTk9SKTo6Oi9oaWdoZ3BycyIsCi0rImxpbnV4MzItczM5 MHgiLAkiZ2NjOi1tMzEgLVdhLC1temFyY2ggLURCX0VORElBTiAtRFRFUk1JTyAtV2FsbCBcJChS UE1fT1BUX0ZMQUdTKTo6LURfUkVFTlRSQU5UOjotbGRsOkJOX0xMT05HIFJDNF9DSEFSIFJDNF9D SFVOSyBERVNfSU5UIERFU19VTlJPTEw6Ii5ldmFse215ICRhc209JHMzOTB4X2FzbTskYXNtPX5z L2JuXC1zMzkweFwuby9ibl9hc20uby87JGFzbX0uIjozMTpkbGZjbjpsaW51eC1zaGFyZWQ6LWZQ SUM6LW0zMSBcJChSUE1fT1BUX0ZMQUdTKTouc28uXCQoU0hMSUJfU09OQU1FVkVSKTo6Oi9oaWdo Z3BycyIsCisrImxpbnV4MzItczM5MHgiLAkiZ2NjOi1tMzEgLVdhLC1temFyY2ggLURCX0VORElB TiAtRFRFUk1JTyAtV2FsbCBcJChSUE1fT1BUX0ZMQUdTKTo6LURfUkVFTlRSQU5UOjotV2wsLXos cmVscm8gLWxkbDpCTl9MTE9ORyBSQzRfQ0hBUiBSQzRfQ0hVTksgREVTX0lOVCBERVNfVU5ST0xM OiIuZXZhbHtteSAkYXNtPSRzMzkweF9hc207JGFzbT1+cy9iblwtczM5MHhcLm8vYm5fYXNtLm8v OyRhc219LiI6MzE6ZGxmY246bGludXgtc2hhcmVkOi1mUElDOi1tMzEgXCQoUlBNX09QVF9GTEFH Uyk6LnNvLlwkKFNITElCX1NPTkFNRVZFUik6OjovaGlnaGdwcnMiLAogICMjIyMgU1BBUkMgTGlu dXggc2V0dXBzCiAgIyBSYXkgTWlsbGVyIDxyYXkubWlsbGVyQGNvbXB1dGluZy1zZXJ2aWNlcy5v eGZvcmQuYWMudWs+IGhhcyBwYXRpZW50bHkKICAjIGFzc2lzdGVkIHdpdGggZGVidWdnaW5nIG9m IGZvbGxvd2luZyB0d28gY29uZmlncy4KIC0ibGludXgtc3BhcmN2OCIsImdjYzotbXY4IC1EQl9F TkRJQU4gLURURVJNSU8gLU8zIC1mb21pdC1mcmFtZS1wb2ludGVyIC1XYWxsIC1EQk5fRElWMlc6 Oi1EX1JFRU5UUkFOVDo6LWxkbDpCTl9MTE9ORyBSQzRfQ0hBUiBSQzRfQ0hVTksgREVTX1VOUk9M TCBCRl9QVFI6JHtzcGFyY3Y4X2FzbX06ZGxmY246bGludXgtc2hhcmVkOi1mUElDOjouc28uXCQo U0hMSUJfTUFKT1IpLlwkKFNITElCX01JTk9SKSIsCi0rImxpbnV4LXNwYXJjdjgiLCJnY2M6LURC X0VORElBTiAtRFRFUk1JTyAtV2FsbCBcJChSUE1fT1BUX0ZMQUdTKSAtREJOX0RJVjJXOjotRF9S RUVOVFJBTlQ6Oi1sZGw6Qk5fTExPTkcgUkM0X0NIQVIgUkM0X0NIVU5LIERFU19VTlJPTEwgQkZf UFRSOiR7c3BhcmN2OF9hc219OmRsZmNuOmxpbnV4LXNoYXJlZDotZlBJQzpcJChSUE1fT1BUX0ZM QUdTKTouc28uXCQoU0hMSUJfU09OQU1FVkVSKSIsCisrImxpbnV4LXNwYXJjdjgiLCJnY2M6LURC X0VORElBTiAtRFRFUk1JTyAtV2FsbCBcJChSUE1fT1BUX0ZMQUdTKSAtREJOX0RJVjJXOjotRF9S RUVOVFJBTlQ6Oi1XbCwteixyZWxybyAtbGRsOkJOX0xMT05HIFJDNF9DSEFSIFJDNF9DSFVOSyBE RVNfVU5ST0xMIEJGX1BUUjoke3NwYXJjdjhfYXNtfTpkbGZjbjpsaW51eC1zaGFyZWQ6LWZQSUM6 XCQoUlBNX09QVF9GTEFHUyk6LnNvLlwkKFNITElCX1NPTkFNRVZFUikiLAogICMgaXQncyBhIHJl YWwgbWVzcyB3aXRoIC1tY3B1PXVsdHJhc3BhcmMgb3B0aW9uIHVuZGVyIExpbnV4LCBidXQKICAj IC1XYSwtQXY4cGx1cyBzaG91bGQgZG8gdGhlIHRyaWNrIG5vIG1hdHRlciB3aGF0LgogLSJsaW51 eC1zcGFyY3Y5IiwiZ2NjOi1tMzIgLW1jcHU9dWx0cmFzcGFyYyAtREJfRU5ESUFOIC1EVEVSTUlP IC1PMyAtZm9taXQtZnJhbWUtcG9pbnRlciAtV2FsbCAtV2EsLUF2OHBsdXMgLURCTl9ESVYyVzo6 LURfUkVFTlRSQU5UOlVMVFJBU1BBUkM6LWxkbDpCTl9MTE9ORyBSQzRfQ0hBUiBSQzRfQ0hVTksg REVTX1VOUk9MTCBCRl9QVFI6JHtzcGFyY3Y5X2FzbX06ZGxmY246bGludXgtc2hhcmVkOi1mUElD Oi1tMzI6LnNvLlwkKFNITElCX01BSk9SKS5cJChTSExJQl9NSU5PUikiLAotKyJsaW51eC1zcGFy Y3Y5IiwiZ2NjOi1EQl9FTkRJQU4gLURURVJNSU8gLVdhbGwgXCQoUlBNX09QVF9GTEFHUykgLURC Tl9ESVYyVzo6LURfUkVFTlRSQU5UOlVMVFJBU1BBUkM6LWxkbDpCTl9MTE9ORyBSQzRfQ0hBUiBS QzRfQ0hVTksgREVTX1VOUk9MTCBCRl9QVFI6JHtzcGFyY3Y5X2FzbX06ZGxmY246bGludXgtc2hh cmVkOi1mUElDOlwkKFJQTV9PUFRfRkxBR1MpOi5zby5cJChTSExJQl9TT05BTUVWRVIpIiwKKysi bGludXgtc3BhcmN2OSIsImdjYzotREJfRU5ESUFOIC1EVEVSTUlPIC1XYWxsIFwkKFJQTV9PUFRf RkxBR1MpIC1EQk5fRElWMlc6Oi1EX1JFRU5UUkFOVDpVTFRSQVNQQVJDOi1XbCwteixyZWxybyAt bGRsOkJOX0xMT05HIFJDNF9DSEFSIFJDNF9DSFVOSyBERVNfVU5ST0xMIEJGX1BUUjoke3NwYXJj djlfYXNtfTpkbGZjbjpsaW51eC1zaGFyZWQ6LWZQSUM6XCQoUlBNX09QVF9GTEFHUyk6LnNvLlwk KFNITElCX1NPTkFNRVZFUikiLAogICMgR0NDIDMuMSBpcyBhIHJlcXVpcmVtZW50CiAtImxpbnV4 NjQtc3BhcmN2OSIsImdjYzotbTY0IC1tY3B1PXVsdHJhc3BhcmMgLURCX0VORElBTiAtRFRFUk1J TyAtTzMgLWZvbWl0LWZyYW1lLXBvaW50ZXIgLVdhbGw6Oi1EX1JFRU5UUkFOVDpVTFRSQVNQQVJD Oi1sZGw6Qk5fTExPTkcgUkM0X0NIQVIgUkM0X0NIVU5LIERFU19JTlQgREVTX1BUUiBERVNfUklT QzEgREVTX1VOUk9MTCBCRl9QVFI6JHtzcGFyY3Y5X2FzbX06ZGxmY246bGludXgtc2hhcmVkOi1m UElDOi1tNjQ6LnNvLlwkKFNITElCX01BSk9SKS5cJChTSExJQl9NSU5PUik6Ojo2NCIsCi0rImxp bnV4NjQtc3BhcmN2OSIsImdjYzotREJfRU5ESUFOIC1EVEVSTUlPIC1XYWxsIFwkKFJQTV9PUFRf RkxBR1MpOjotRF9SRUVOVFJBTlQ6VUxUUkFTUEFSQzotbGRsOkJOX0xMT05HIFJDNF9DSEFSIFJD NF9DSFVOSyBERVNfSU5UIERFU19QVFIgREVTX1JJU0MxIERFU19VTlJPTEwgQkZfUFRSOiR7c3Bh cmN2OV9hc219OmRsZmNuOmxpbnV4LXNoYXJlZDotZlBJQzpcJChSUE1fT1BUX0ZMQUdTKTouc28u XCQoU0hMSUJfU09OQU1FVkVSKTo6OjY0IiwKKysibGludXg2NC1zcGFyY3Y5IiwiZ2NjOi1EQl9F TkRJQU4gLURURVJNSU8gLVdhbGwgXCQoUlBNX09QVF9GTEFHUyk6Oi1EX1JFRU5UUkFOVDpVTFRS QVNQQVJDOi1XbCwteixyZWxybyAtbGRsOkJOX0xMT05HIFJDNF9DSEFSIFJDNF9DSFVOSyBERVNf SU5UIERFU19QVFIgREVTX1JJU0MxIERFU19VTlJPTEwgQkZfUFRSOiR7c3BhcmN2OV9hc219OmRs ZmNuOmxpbnV4LXNoYXJlZDotZlBJQzpcJChSUE1fT1BUX0ZMQUdTKTouc28uXCQoU0hMSUJfU09O QU1FVkVSKTo6OjY0IiwKICAjIyMjIEFscGhhIExpbnV4IHdpdGggR05VIEMgYW5kIENvbXBhcSBD IHNldHVwcwogICMgU3BlY2lhbCBub3RlczoKICAjIC0gbGludXgtYWxwaGErYnd4LWdjYyBpcyBt ZW50IHRvIGJlIHVzZWQgZnJvbSAuL2NvbmZpZyBvbmx5LiBJZiB5b3UKQEAgLTYxLDggKzYxLDgg QEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMS1iZXRhMi9Db25maWd1cmUucnBtYnVpbGQgb3BlbnNz bC0xLjAuMS1iZXRhMi9Db25maWd1cmUKICAjCiAtImxpbnV4LWFscGhhLWdjYyIsImdjYzotTzMg LURMX0VORElBTiAtRFRFUk1JTzo6LURfUkVFTlRSQU5UOjotbGRsOlNJWFRZX0ZPVVJfQklUX0xP TkcgUkM0X0NIVU5LIERFU19SSVNDMSBERVNfVU5ST0xMOiR7YWxwaGFfYXNtfTpkbGZjbjpsaW51 eC1zaGFyZWQ6LWZQSUM6Oi5zby5cJChTSExJQl9NQUpPUikuXCQoU0hMSUJfTUlOT1IpIiwKIC0i bGludXgtYWxwaGErYnd4LWdjYyIsImdjYzotTzMgLURMX0VORElBTiAtRFRFUk1JTzo6LURfUkVF TlRSQU5UOjotbGRsOlNJWFRZX0ZPVVJfQklUX0xPTkcgUkM0X0NIQVIgUkM0X0NIVU5LIERFU19S SVNDMSBERVNfVU5ST0xMOiR7YWxwaGFfYXNtfTpkbGZjbjpsaW51eC1zaGFyZWQ6LWZQSUM6Oi5z by5cJChTSExJQl9NQUpPUikuXCQoU0hMSUJfTUlOT1IpIiwKLSsibGludXgtYWxwaGEtZ2NjIiwi Z2NjOi1ETF9FTkRJQU4gLURURVJNSU8gLVdhbGwgXCQoUlBNX09QVF9GTEFHUyk6Oi1EX1JFRU5U UkFOVDo6LWxkbDpTSVhUWV9GT1VSX0JJVF9MT05HIFJDNF9DSFVOSyBERVNfUklTQzEgREVTX1VO Uk9MTDoke2FscGhhX2FzbX06ZGxmY246bGludXgtc2hhcmVkOi1mUElDOlwkKFJQTV9PUFRfRkxB R1MpOi5zby5cJChTSExJQl9TT05BTUVWRVIpIiwKLSsibGludXgtYWxwaGErYnd4LWdjYyIsImdj YzotRExfRU5ESUFOIC1EVEVSTUlPIC1XYWxsIFwkKFJQTV9PUFRfRkxBR1MpOjotRF9SRUVOVFJB TlQ6Oi1sZGw6U0lYVFlfRk9VUl9CSVRfTE9ORyBSQzRfQ0hBUiBSQzRfQ0hVTksgREVTX1JJU0Mx IERFU19VTlJPTEw6JHthbHBoYV9hc219OmRsZmNuOmxpbnV4LXNoYXJlZDotZlBJQzpcJChSUE1f T1BUX0ZMQUdTKTouc28uXCQoU0hMSUJfU09OQU1FVkVSKSIsCisrImxpbnV4LWFscGhhLWdjYyIs ImdjYzotRExfRU5ESUFOIC1EVEVSTUlPIC1XYWxsIFwkKFJQTV9PUFRfRkxBR1MpOjotRF9SRUVO VFJBTlQ6Oi1XbCwteixyZWxybyAtbGRsOlNJWFRZX0ZPVVJfQklUX0xPTkcgUkM0X0NIVU5LIERF U19SSVNDMSBERVNfVU5ST0xMOiR7YWxwaGFfYXNtfTpkbGZjbjpsaW51eC1zaGFyZWQ6LWZQSUM6 XCQoUlBNX09QVF9GTEFHUyk6LnNvLlwkKFNITElCX1NPTkFNRVZFUikiLAorKyJsaW51eC1hbHBo YStid3gtZ2NjIiwiZ2NjOi1ETF9FTkRJQU4gLURURVJNSU8gLVdhbGwgXCQoUlBNX09QVF9GTEFH Uyk6Oi1EX1JFRU5UUkFOVDo6LVdsLC16LHJlbHJvIC1sZGw6U0lYVFlfRk9VUl9CSVRfTE9ORyBS QzRfQ0hBUiBSQzRfQ0hVTksgREVTX1JJU0MxIERFU19VTlJPTEw6JHthbHBoYV9hc219OmRsZmNu OmxpbnV4LXNoYXJlZDotZlBJQzpcJChSUE1fT1BUX0ZMQUdTKTouc28uXCQoU0hMSUJfU09OQU1F VkVSKSIsCiAgImxpbnV4LWFscGhhLWNjYyIsImNjYzotZmFzdCAtcmVhZG9ubHlfc3RyaW5ncyAt RExfRU5ESUFOIC1EVEVSTUlPOjotRF9SRUVOVFJBTlQ6OjpTSVhUWV9GT1VSX0JJVF9MT05HIFJD NF9DSFVOSyBERVNfSU5UIERFU19QVFIgREVTX1JJU0MxIERFU19VTlJPTEw6JHthbHBoYV9hc219 IiwKICAibGludXgtYWxwaGErYnd4LWNjYyIsImNjYzotZmFzdCAtcmVhZG9ubHlfc3RyaW5ncyAt RExfRU5ESUFOIC1EVEVSTUlPOjotRF9SRUVOVFJBTlQ6OjpTSVhUWV9GT1VSX0JJVF9MT05HIFJD NF9DSEFSIFJDNF9DSFVOSyBERVNfSU5UIERFU19QVFIgREVTX1JJU0MxIERFU19VTlJPTEw6JHth bHBoYV9hc219IiwKICAKCmRpZmYgLS1naXQgYS9vcGVuc3NsLTEuMC4xLXZlcnNpb24ucGF0Y2gg Yi9vcGVuc3NsLTEuMC4xLXZlcnNpb24ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDgzMWFhNjEuLjAwMDAwMDAKLS0tIGEvb3BlbnNzbC0xLjAuMS12ZXJzaW9uLnBhdGNoCisr KyAvZGV2L251bGwKQEAgLTEsNDMgKzAsMCBAQAotZGlmZiAtdXAgb3BlbnNzbC0xLjAuMS9jcnlw dG8vY3ZlcnNpb24uYy52ZXJzaW9uIG9wZW5zc2wtMS4wLjEvY3J5cHRvL2N2ZXJzaW9uLmMKLS0t LSBvcGVuc3NsLTEuMC4xL2NyeXB0by9jdmVyc2lvbi5jLnZlcnNpb24JMjAwNC0wNC0xOSAyMDow OToyMi4wMDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4xL2NyeXB0by9jdmVyc2lvbi5j CTIwMTItMDMtMTQgMjA6NTg6MjAuNjMwMzUyNTM2ICswMTAwCi1AQCAtMTEwLDggKzExMCwxNSBA QCBjb25zdCBjaGFyICpTU0xlYXlfdmVyc2lvbihpbnQgdCkKLSAJcmV0dXJuKCJub3QgYXZhaWxh YmxlIik7Ci0gCX0KLSAKLS11bnNpZ25lZCBsb25nIFNTTGVheSh2b2lkKQotK3Vuc2lnbmVkIGxv bmcgX29yaWdpbmFsX1NTTGVheSh2b2lkKQotKwl7Ci0rCXJldHVybigweDEwMDAwMDAzKTsKLSsJ fQotKwotK3Vuc2lnbmVkIGxvbmcgX2N1cnJlbnRfU1NMZWF5KHZvaWQpCi0gCXsKLSAJcmV0dXJu KFNTTEVBWV9WRVJTSU9OX05VTUJFUik7Ci0gCX0KLSAKLStfX2FzbV9fKCIuc3ltdmVyIF9vcmln aW5hbF9TU0xlYXksU1NMZWF5QCIpOwotK19fYXNtX18oIi5zeW12ZXIgX2N1cnJlbnRfU1NMZWF5 LFNTTGVheUBAT1BFTlNTTF8xLjAuMSIpOwotZGlmZiAtdXAgb3BlbnNzbC0xLjAuMS9NYWtlZmls ZS5zaGFyZWQudmVyc2lvbiBvcGVuc3NsLTEuMC4xL01ha2VmaWxlLnNoYXJlZAotLS0tIG9wZW5z c2wtMS4wLjEvTWFrZWZpbGUuc2hhcmVkLnZlcnNpb24JMjAxMi0wMy0xNCAyMDo1ODoyMC41NTMz NTA5NTkgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xL01ha2VmaWxlLnNoYXJlZAkyMDEyLTAzLTE0 IDIwOjU4OjIwLjYzMTM1MjU1NiArMDEwMAotQEAgLTE1MSw3ICsxNTEsNyBAQCBET19HTlVfU089 JChDQUxDX1ZFUlNJT05TKTsgXAotIAlTSExJQl9TVUZGSVg9OyBcCi0gCUFMTFNZTVNGTEFHUz0n LVdsLC0td2hvbGUtYXJjaGl2ZSc7IFwKLSAJTk9BTExTWU1TRkxBR1M9Jy1XbCwtLW5vLXdob2xl LWFyY2hpdmUnOyBcCi0tCVNIQVJFREZMQUdTPSIkKENGTEFHUykgJChTSEFSRURfTERGTEFHUykg LXNoYXJlZCAtV2wsLUJzeW1ib2xpYyAtV2wsLXNvbmFtZT0kJFNITElCJCRTSExJQl9TT1ZFUiQk U0hMSUJfU1VGRklYIgotKwlTSEFSRURGTEFHUz0iJChDRkxBR1MpICQoU0hBUkVEX0xERkxBR1Mp IC1zaGFyZWQgLVdsLC1Cc3ltYm9saWMgLVdsLC0tZGVmYXVsdC1zeW12ZXIsLS12ZXJzaW9uLXNj cmlwdD12ZXJzaW9uLm1hcCAtV2wsLXNvbmFtZT0kJFNITElCJCRTSExJQl9TT1ZFUiQkU0hMSUJf U1VGRklYIgotIAotIERPX0dOVV9BUFA9TERGTEFHUz0iJChDRkxBR1MpIgotIAotZGlmZiAtdXAg b3BlbnNzbC0xLjAuMS92ZXJzaW9uLm1hcC52ZXJzaW9uIG9wZW5zc2wtMS4wLjEvdmVyc2lvbi5t YXAKLS0tLSBvcGVuc3NsLTEuMC4xL3ZlcnNpb24ubWFwLnZlcnNpb24JMjAxMi0wMy0xNCAyMDo1 ODoyMC42MzEzNTI1NTYgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xL3ZlcnNpb24ubWFwCTIwMTIt MDMtMTQgMjA6NTg6MjAuNjMxMzUyNTU2ICswMTAwCi1AQCAtMCwwICsxLDcgQEAKLStPUEVOU1NM XzEuMC4xIHsKLSsgICAgZ2xvYmFsOgotKwkgICAgU1NMZWF5OwotKyAgICBsb2NhbDoKLSsJICAg IF9vcmlnaW5hbCo7Ci0rCSAgICBfY3VycmVudCo7Ci0rfTsKCmRpZmYgLS1naXQgYS9vcGVuc3Ns LTEuMC4xZS1hcm0tdXNlLWVsZi1hdXh2LWNhcHMucGF0Y2ggYi9vcGVuc3NsLTEuMC4xZS1hcm0t dXNlLWVsZi1hdXh2LWNhcHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MC4uOTRhOGM0MgotLS0gL2Rldi9udWxsCisrKyBiL29wZW5zc2wtMS4wLjFlLWFybS11c2UtZWxm LWF1eHYtY2Fwcy5wYXRjaApAQCAtMCwwICsxLDkzIEBACitkaWZmIC0tZ2l0IGEvY3J5cHRvL2Fy bWNhcC5jIGIvY3J5cHRvL2FybWNhcC5jCitpbmRleCA1MjU4ZDJmLi5lZmI0MDA5IDEwMDY0NAor LS0tIGEvY3J5cHRvL2FybWNhcC5jCisrKysgYi9jcnlwdG8vYXJtY2FwLmMKK0BAIC05LDExICs5 LDYgQEAKKyAKKyB1bnNpZ25lZCBpbnQgT1BFTlNTTF9hcm1jYXBfUDsKKyAKKy1zdGF0aWMgc2ln c2V0X3QgYWxsX21hc2tlZDsKKy0KKy1zdGF0aWMgc2lnam1wX2J1ZiBpbGxfam1wOworLXN0YXRp YyB2b2lkIGlsbF9oYW5kbGVyIChpbnQgc2lnKSB7IHNpZ2xvbmdqbXAoaWxsX2ptcCxzaWcpOyB9 CistCisgLyoKKyAgKiBGb2xsb3dpbmcgc3Vicm91dGluZXMgY291bGQgaGF2ZSBiZWVuIGlubGlu ZWQsIGJ1dCBpdCdzIG5vdCBhbGwKKyAgKiBBUk0gY29tcGlsZXJzIHN1cHBvcnQgaW5saW5lIGFz c2VtYmxlci4uLgorQEAgLTI5LDI0ICsyNCwyNiBAQCB1bnNpZ25lZCBpbnQgT1BFTlNTTF9yZHRz Yyh2b2lkKQorIAkJcmV0dXJuIDA7CisgCX0KKyAKKy0jaWYgZGVmaW5lZChfX0dOVUNfXykgJiYg X19HTlVDX18+PTIKKy12b2lkIE9QRU5TU0xfY3B1aWRfc2V0dXAodm9pZCkgX19hdHRyaWJ1dGVf XygoY29uc3RydWN0b3IpKTsKKy0jZW5kaWYKKy12b2lkIE9QRU5TU0xfY3B1aWRfc2V0dXAodm9p ZCkKKysjaWYgZGVmaW5lZChfX0dMSUJDX18pICYmIF9fR0xJQkNfXz49MiAmJiBfX0dMSUJDX01J Tk9SX18+PTE2CisrI2luY2x1ZGUgPHN5cy9hdXh2Lmg+CisrCisrdm9pZCBPUEVOU1NMX2NwdWlk X2ZpbmQodm9pZCkKKysJeworKwkJdW5zaWduZWQgbG9uZyBod2NhcCA9IGdldGF1eHZhbChBVF9I V0NBUCk7CisrCQljaGFyICpwbGF0ID0gKGNoYXIgKilnZXRhdXh2YWwoQVRfUExBVEZPUk0pOwor KworKwkJT1BFTlNTTF9hcm1jYXBfUCB8PSBod2NhcCAmIEhXQ0FQX0FSTV9ORU9OID8gQVJNVjdf TkVPTiA6IDA7CisrCQlPUEVOU1NMX2FybWNhcF9QIHw9IHBsYXQgPyAocGxhdFsxXSA9PSAnNycg PyBBUk1WN19USUNLIDogMCkgOiAwOworKwl9CisrI2Vsc2UKKytzdGF0aWMgc2lnc2V0X3QgYWxs X21hc2tlZDsKKytzdGF0aWMgc2lnam1wX2J1ZiBpbGxfam1wOworK3N0YXRpYyB2b2lkIGlsbF9o YW5kbGVyIChpbnQgc2lnKSB7IHNpZ2xvbmdqbXAoaWxsX2ptcCxzaWcpOyB9CisrCisrdm9pZCBP UEVOU1NMX2NwdWlkX2ZpbmQodm9pZCkKKyAJeworLQljaGFyICplOworIAlzdHJ1Y3Qgc2lnYWN0 aW9uCWlsbF9vYWN0LGlsbF9hY3Q7CisgCXNpZ3NldF90CQlvc2V0OworLQlzdGF0aWMgaW50IHRy aWdnZXI9MDsKKy0KKy0JaWYgKHRyaWdnZXIpIHJldHVybjsKKy0JdHJpZ2dlcj0xOworLSAKKy0J aWYgKChlPWdldGVudigiT1BFTlNTTF9hcm1jYXAiKSkpCistCQl7CistCQlPUEVOU1NMX2FybWNh cF9QPXN0cnRvdWwoZSxOVUxMLDApOworLQkJcmV0dXJuOworLQkJfQorIAorIAlzaWdmaWxsc2V0 KCZhbGxfbWFza2VkKTsKKyAJc2lnZGVsc2V0KCZhbGxfbWFza2VkLFNJR0lMTCk7CitAQCAtNTUs OCArNTIsNiBAQCB2b2lkIE9QRU5TU0xfY3B1aWRfc2V0dXAodm9pZCkKKyAJc2lnZGVsc2V0KCZh bGxfbWFza2VkLFNJR0JVUyk7CisgCXNpZ2RlbHNldCgmYWxsX21hc2tlZCxTSUdTRUdWKTsKKyAK Ky0JT1BFTlNTTF9hcm1jYXBfUCA9IDA7CistCisgCW1lbXNldCgmaWxsX2FjdCwwLHNpemVvZihp bGxfYWN0KSk7CisgCWlsbF9hY3Quc2FfaGFuZGxlciA9IGlsbF9oYW5kbGVyOworIAlpbGxfYWN0 LnNhX21hc2sgICAgPSBhbGxfbWFza2VkOworQEAgLTc4LDMgKzczLDI1IEBAIHZvaWQgT1BFTlNT TF9jcHVpZF9zZXR1cCh2b2lkKQorIAlzaWdhY3Rpb24gKFNJR0lMTCwmaWxsX29hY3QsTlVMTCk7 CisgCXNpZ3Byb2NtYXNrKFNJR19TRVRNQVNLLCZvc2V0LE5VTEwpOworIAl9CisrI2VuZGlmCisr CisrI2lmIGRlZmluZWQoX19HTlVDX18pICYmIF9fR05VQ19fPj0yCisrdm9pZCBPUEVOU1NMX2Nw dWlkX3NldHVwKHZvaWQpIF9fYXR0cmlidXRlX18oKGNvbnN0cnVjdG9yKSk7CisrI2VuZGlmCisr dm9pZCBPUEVOU1NMX2NwdWlkX3NldHVwKHZvaWQpCisrCXsKKysJY2hhciAqZTsKKysJc3RhdGlj IGludCB0cmlnZ2VyPTA7CisrCisrCWlmICh0cmlnZ2VyKSByZXR1cm47CisrCXRyaWdnZXI9MTsK KysKKysJaWYgKChlPWdldGVudigiT1BFTlNTTF9hcm1jYXAiKSkpCisrCQl7CisrCQlPUEVOU1NM X2FybWNhcF9QPXN0cnRvdWwoZSxOVUxMLDApOworKwkJcmV0dXJuOworKwkJfQorKworKwlPUEVO U1NMX2FybWNhcF9QID0gMDsKKysJT1BFTlNTTF9jcHVpZF9maW5kKCk7CisrCX0KCmRpZmYgLS1n aXQgYS9vcGVuc3NsLTEuMC4xZS1iYWNrcG9ydHMucGF0Y2ggYi9vcGVuc3NsLTEuMC4xZS1iYWNr cG9ydHMucGF0Y2gKaW5kZXggZDZiNzIyNC4uNWFiZTg4NCAxMDA2NDQKLS0tIGEvb3BlbnNzbC0x LjAuMWUtYmFja3BvcnRzLnBhdGNoCisrKyBiL29wZW5zc2wtMS4wLjFlLWJhY2twb3J0cy5wYXRj aApAQCAtMSwzMyArMSw4NCBAQAotRnJvbSAwOGY4OTMzZmEzNGQyNDIzODNhMWUxMmQ0NzAxYWNi MTg1NTY4NmJmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTmljayBBbGNvY2sgPG5p eEBlc3Blcmkub3JnLnVrPgotRGF0ZTogRnJpLCAxNSBGZWIgMjAxMyAxNzo0NDoxMSArMDAwMAot U3ViamVjdDogW1BBVENIXSBGaXggUE9EIGVycm9ycyB0byBzdG9wIG1ha2UgaW5zdGFsbF9kb2Nz IGR5aW5nIHdpdGggcG9kMm1hbgotIDIuNS4wKwotCi1wb2RsYXRvcnMgMi41LjAgaGFzIHN3aXRj aGVkIHRvIGR5aW5nIG9uIFBPRCBzeW50YXggZXJyb3JzLiBUaGlzIG1lYW5zCi10aGF0IGEgYnVu Y2ggb2YgbG9uZy1zdGFuZGluZyBlcnJvbmVvdXMgUE9EIGluIHRoZSBvcGVuc3NsIGRvY3VtZW50 YXRpb24KLW5vdyBsZWFkcyB0byBmYXRhbCBlcnJvcnMgZnJvbSBwb2QybWFuLCBoYWx0aW5nIGlu c3RhbGxhdGlvbi4KLQotVW5mb3J0dW5hdGVseSBQT0QgY29uc3RyYWludHMgbWVhbiB0aGF0IHlv dSBoYXZlIHRvIHNvcnQgbnVtZXJpYyBsaXN0cwotaW4gYXNjZW5kaW5nIG9yZGVyIGlmIHRoZXkg c3RhcnQgd2l0aCAxOiB5b3UgY2Fubm90IGRvIDEsIDAsIDIgZXZlbiBpZgoteW91IHdhbnQgMSB0 byBhcHBlYXIgZmlyc3QuIEkndmUgcmVzaHVmZmxlZCBzdWNoIChhbGFzLCBJIHdpc2ggdGhlcmUK LXdlcmUgYSBiZXR0ZXIgd2F5IGJ1dCBJIGRvbid0IGtub3cgb2Ygb25lKS4KLShjaGVycnkgcGlj a2VkIGZyb20gY29tbWl0IDVjYzI3MDc3NDI1ODE0OTIzNWY2OWUxNzg5YjMzNzBmNTdiMGUyN2Ip Ci0tLS0KLSBkb2MvY3J5cHRvL1g1MDlfU1RPUkVfQ1RYX2dldF9lcnJvci5wb2QgICB8ICAgIDIg KysKLSBkb2Mvc3NsL1NTTF9DVFhfc2V0X2NsaWVudF9DQV9saXN0LnBvZCAgICB8ICAgIDggKysr Ky0tLS0KLSBkb2Mvc3NsL1NTTF9DVFhfdXNlX3Bza19pZGVudGl0eV9oaW50LnBvZCB8ICAgIDQg KysrKwotIGRvYy9zc2wvU1NMX2FjY2VwdC5wb2QgICAgICAgICAgICAgICAgICAgIHwgICAxMCAr KysrKy0tLS0tCi0gZG9jL3NzbC9TU0xfY29ubmVjdC5wb2QgICAgICAgICAgICAgICAgICAgfCAg IDEwICsrKysrLS0tLS0KLSBkb2Mvc3NsL1NTTF9kb19oYW5kc2hha2UucG9kICAgICAgICAgICAg ICB8ICAgMTAgKysrKystLS0tLQotIGRvYy9zc2wvU1NMX3NodXRkb3duLnBvZCAgICAgICAgICAg ICAgICAgIHwgICAxMCArKysrKy0tLS0tCi0gNyBmaWxlcyBjaGFuZ2VkLCAzMCBpbnNlcnRpb25z KCspLCAyNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2RvYy9jcnlwdG8vWDUwOV9TVE9S RV9DVFhfZ2V0X2Vycm9yLnBvZCBiL2RvYy9jcnlwdG8vWDUwOV9TVE9SRV9DVFhfZ2V0X2Vycm9y LnBvZAotaW5kZXggYTg4M2Y2Yy4uNjBlODMzMiAxMDA2NDQKLS0tLSBhL2RvYy9jcnlwdG8vWDUw OV9TVE9SRV9DVFhfZ2V0X2Vycm9yLnBvZAotKysrIGIvZG9jL2NyeXB0by9YNTA5X1NUT1JFX0NU WF9nZXRfZXJyb3IucG9kCi1AQCAtMjc4LDYgKzI3OCw4IEBAIGhhcHBlbiBpZiBleHRlbmRlZCBD UkwgY2hlY2tpbmcgaXMgZW5hYmxlZC4KK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9w ZW0vcGVtX2luZm8uYy5iYWNrcG9ydHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3BlbS9wZW1faW5m by5jCistLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3BlbS9wZW1faW5mby5jLmJhY2twb3J0cwky MDEzLTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9wZW0vcGVtX2luZm8uYwkyMDEzLTA4LTE2IDE1OjMxOjM1LjcyNjAwMzg5MiArMDIwMAor QEAgLTE2Nyw2ICsxNjcsNyBAQCBzdGFydDoKKyAjaWZuZGVmIE9QRU5TU0xfTk9fUlNBCisgCQkJ aWYgKHN0cmNtcChuYW1lLFBFTV9TVFJJTkdfUlNBKSA9PSAwKQorIAkJCXsKKysJCQlkMmk9KEQy SV9PRih2b2lkKSlkMmlfUlNBUHJpdmF0ZUtleTsKKyAJCQlpZiAoeGktPnhfcGtleSAhPSBOVUxM KSAKKyAJCQkJeworIAkJCQlpZiAoIXNrX1g1MDlfSU5GT19wdXNoKHJldCx4aSkpIGdvdG8gZXJy OworZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3JzYS9yc2FfcG1ldGguYy5iYWNrcG9y dHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3JzYS9yc2FfcG1ldGguYworLS0tIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9yc2EvcnNhX3BtZXRoLmMuYmFja3BvcnRzCTIwMTMtMDgtMTYgMTU6MzE6MzUu Njk3MDAzMjU2ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3JzYS9yc2FfcG1ldGgu YwkyMDEzLTA4LTE2IDE1OjMzOjM3Ljc3MDY3MzkxOCArMDIwMAorQEAgLTU4Miw2ICs1ODIsOCBA QCBzdGF0aWMgaW50IHBrZXlfcnNhX2N0cmxfc3RyKEVWUF9QS0VZX0NUCisgCQkJcG0gPSBSU0Ff Tk9fUEFERElORzsKKyAJCWVsc2UgaWYgKCFzdHJjbXAodmFsdWUsICJvZWFwIikpCisgCQkJcG0g PSBSU0FfUEtDUzFfT0FFUF9QQURESU5HOworKwkJZWxzZSBpZiAoIXN0cmNtcCh2YWx1ZSwgIm9h ZXAiKSkKKysJCQlwbSA9IFJTQV9QS0NTMV9PQUVQX1BBRERJTkc7CisgCQllbHNlIGlmICghc3Ry Y21wKHZhbHVlLCAieDkzMSIpKQorIAkJCXBtID0gUlNBX1g5MzFfUEFERElORzsKKyAJCWVsc2Ug aWYgKCFzdHJjbXAodmFsdWUsICJwc3MiKSkKK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by94NTA5L3g1MDlfdmZ5LmMuYmFja3BvcnRzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by94NTA5L3g1 MDlfdmZ5LmMKKy0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8veDUwOS94NTA5X3ZmeS5jLmJhY2tw b3J0cwkyMDEzLTA4LTE2IDE1OjMxOjM1LjcyMTAwMzc4MiArMDIwMAorKysrIG9wZW5zc2wtMS4w LjFlL2NyeXB0by94NTA5L3g1MDlfdmZ5LmMJMjAxMy0wOC0xNiAxNTozMTozNS43MjYwMDM4OTIg KzAyMDAKK0BAIC02OTYsNiArNjk2LDcgQEAgc3RhdGljIGludCBjaGVja19jZXJ0KFg1MDlfU1RP UkVfQ1RYICpjdAorIAlYNTA5X0NSTCAqY3JsID0gTlVMTCwgKmRjcmwgPSBOVUxMOworIAlYNTA5 ICp4OworIAlpbnQgb2ssIGNudW07CisrCXVuc2lnbmVkIGludCBsYXN0X3JlYXNvbnM7CisgCWNu dW0gPSBjdHgtPmVycm9yX2RlcHRoOworIAl4ID0gc2tfWDUwOV92YWx1ZShjdHgtPmNoYWluLCBj bnVtKTsKKyAJY3R4LT5jdXJyZW50X2NlcnQgPSB4OworQEAgLTcwNCw2ICs3MDUsNyBAQCBzdGF0 aWMgaW50IGNoZWNrX2NlcnQoWDUwOV9TVE9SRV9DVFggKmN0CisgCWN0eC0+Y3VycmVudF9yZWFz b25zID0gMDsKKyAJd2hpbGUgKGN0eC0+Y3VycmVudF9yZWFzb25zICE9IENSTERQX0FMTF9SRUFT T05TKQorIAkJeworKwkJbGFzdF9yZWFzb25zID0gY3R4LT5jdXJyZW50X3JlYXNvbnM7CisgCQkv KiBUcnkgdG8gcmV0cmlldmUgcmVsZXZhbnQgQ1JMICovCisgCQlpZiAoY3R4LT5nZXRfY3JsKQor IAkJCW9rID0gY3R4LT5nZXRfY3JsKGN0eCwgJmNybCwgeCk7CitAQCAtNzQ3LDYgKzc0OSwxNSBA QCBzdGF0aWMgaW50IGNoZWNrX2NlcnQoWDUwOV9TVE9SRV9DVFggKmN0CisgCQlYNTA5X0NSTF9m cmVlKGRjcmwpOworIAkJY3JsID0gTlVMTDsKKyAJCWRjcmwgPSBOVUxMOworKwkJLyogSWYgcmVh c29ucyBub3QgdXBkYXRlZCB3ZSB3b250IGdldCBhbnl3aGVyZSBieQorKwkJICogYW5vdGhlciBp dGVyYXRpb24sIHNvIGV4aXQgbG9vcC4KKysJCSAqLworKwkJaWYgKGxhc3RfcmVhc29ucyA9PSBj dHgtPmN1cnJlbnRfcmVhc29ucykKKysJCQl7CisrCQkJY3R4LT5lcnJvciA9IFg1MDlfVl9FUlJf VU5BQkxFX1RPX0dFVF9DUkw7CisrCQkJb2sgPSBjdHgtPnZlcmlmeV9jYigwLCBjdHgpOworKwkJ CWdvdG8gZXJyOworKwkJCX0KKyAJCX0KKyAJZXJyOgorIAlYNTA5X0NSTF9mcmVlKGNybCk7Citk aWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8veDUwOS94X2FsbC5jLmJhY2twb3J0cyBvcGVu c3NsLTEuMC4xZS9jcnlwdG8veDUwOS94X2FsbC5jCistLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRv L3g1MDkveF9hbGwuYy5iYWNrcG9ydHMJMjAxMy0wMi0xMSAxNjoyNjowNC4wMDAwMDAwMDAgKzAx MDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8veDUwOS94X2FsbC5jCTIwMTMtMDgtMTYgMTU6 MzM6MjUuMjQ3Mzk5OTQwICswMjAwCitAQCAtOTcsNiArOTcsNyBAQCBpbnQgWDUwOV9zaWduKFg1 MDkgKngsIEVWUF9QS0VZICpwa2V5LCBjCisgCisgaW50IFg1MDlfc2lnbl9jdHgoWDUwOSAqeCwg RVZQX01EX0NUWCAqY3R4KQorIAl7CisrCXgtPmNlcnRfaW5mby0+ZW5jLm1vZGlmaWVkID0gMTsK KyAJcmV0dXJuIEFTTjFfaXRlbV9zaWduX2N0eChBU04xX0lURU1fcnB0cihYNTA5X0NJTkYpLAor IAkJeC0+Y2VydF9pbmZvLT5zaWduYXR1cmUsCisgCQl4LT5zaWdfYWxnLCB4LT5zaWduYXR1cmUs IHgtPmNlcnRfaW5mbywgY3R4KTsKK0BAIC0xMjMsNiArMTI0LDcgQEAgaW50IFg1MDlfQ1JMX3Np Z24oWDUwOV9DUkwgKngsIEVWUF9QS0VZCisgCisgaW50IFg1MDlfQ1JMX3NpZ25fY3R4KFg1MDlf Q1JMICp4LCBFVlBfTURfQ1RYICpjdHgpCisgCXsKKysJeC0+Y3JsLT5lbmMubW9kaWZpZWQgPSAx OworIAlyZXR1cm4gQVNOMV9pdGVtX3NpZ25fY3R4KEFTTjFfSVRFTV9ycHRyKFg1MDlfQ1JMX0lO Rk8pLAorIAkJeC0+Y3JsLT5zaWdfYWxnLCB4LT5zaWdfYWxnLCB4LT5zaWduYXR1cmUsIHgtPmNy bCwgY3R4KTsKKyAJfQorZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvZG9jL2NyeXB0by9YNTA5X1NU T1JFX0NUWF9nZXRfZXJyb3IucG9kLmJhY2twb3J0cyBvcGVuc3NsLTEuMC4xZS9kb2MvY3J5cHRv L1g1MDlfU1RPUkVfQ1RYX2dldF9lcnJvci5wb2QKKy0tLSBvcGVuc3NsLTEuMC4xZS9kb2MvY3J5 cHRvL1g1MDlfU1RPUkVfQ1RYX2dldF9lcnJvci5wb2QuYmFja3BvcnRzCTIwMTMtMDItMTEgMTY6 MjY6MDQuMDAwMDAwMDAwICswMTAwCisrKysgb3BlbnNzbC0xLjAuMWUvZG9jL2NyeXB0by9YNTA5 X1NUT1JFX0NUWF9nZXRfZXJyb3IucG9kCTIwMTMtMDgtMTYgMTU6MzE6MzUuNzI3MDAzOTE0ICsw MjAwCitAQCAtMjc4LDYgKzI3OCw4IEBAIGhhcHBlbiBpZiBleHRlbmRlZCBDUkwgY2hlY2tpbmcg aXMgZW5hYmwKICBhbiBhcHBsaWNhdGlvbiBzcGVjaWZpYyBlcnJvci4gVGhpcyB3aWxsIG5ldmVy IGJlIHJldHVybmVkIHVubGVzcyBleHBsaWNpdGx5CiAgc2V0IGJ5IGFuIGFwcGxpY2F0aW9uLgog IApAQCAtMzYsNTYgKzg3LDM2IEBAIGluZGV4IGE4ODNmNmMuLjYwZTgzMzIgMTAwNjQ0CiAgPWhl YWQxIE5PVEVTCiAgCiAgVGhlIGFib3ZlIGZ1bmN0aW9ucyBzaG91bGQgYmUgdXNlZCBpbnN0ZWFk IG9mIGRpcmVjdGx5IHJlZmVyZW5jaW5nIHRoZSBmaWVsZHMKLWRpZmYgLS1naXQgYS9kb2Mvc3Ns L1NTTF9DVFhfc2V0X2NsaWVudF9DQV9saXN0LnBvZCBiL2RvYy9zc2wvU1NMX0NUWF9zZXRfY2xp ZW50X0NBX2xpc3QucG9kCi1pbmRleCA2MzJiNTU2Li41ZTY2MTMzIDEwMDY0NAotLS0tIGEvZG9j L3NzbC9TU0xfQ1RYX3NldF9jbGllbnRfQ0FfbGlzdC5wb2QKLSsrKyBiL2RvYy9zc2wvU1NMX0NU WF9zZXRfY2xpZW50X0NBX2xpc3QucG9kCi1AQCAtNjYsMTYgKzY2LDE2IEBAIHZhbHVlczoKK2Rp ZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2RvYy9zc2wvU1NMX2FjY2VwdC5wb2QuYmFja3BvcnRzIG9w ZW5zc2wtMS4wLjFlL2RvYy9zc2wvU1NMX2FjY2VwdC5wb2QKKy0tLSBvcGVuc3NsLTEuMC4xZS9k b2Mvc3NsL1NTTF9hY2NlcHQucG9kLmJhY2twb3J0cwkyMDEzLTAyLTExIDE2OjAyOjQ4LjAwMDAw MDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4wLjFlL2RvYy9zc2wvU1NMX2FjY2VwdC5wb2QJMjAx My0wOC0xNiAxNTozMTozNS43MjcwMDM5MTQgKzAyMDAKK0BAIC00NCwxNyArNDQsMTcgQEAgVGhl IGZvbGxvd2luZyByZXR1cm4gdmFsdWVzIGNhbiBvY2N1cjoKICAKICA9b3ZlciA0CiAgCiAtPWl0 ZW0gMQogLQotLVRoZSBvcGVyYXRpb24gc3VjY2VlZGVkLgorLVRoZSBUTFMvU1NMIGhhbmRzaGFr ZSB3YXMgc3VjY2Vzc2Z1bGx5IGNvbXBsZXRlZCwgYSBUTFMvU1NMIGNvbm5lY3Rpb24gaGFzIGJl ZW4KKy1lc3RhYmxpc2hlZC4KIC0KICA9aXRlbSAwCiAgCi0gQSBmYWlsdXJlIHdoaWxlIG1hbmlw dWxhdGluZyB0aGUgU1RBQ0tfT0YoWDUwOV9OQU1FKSBvYmplY3Qgb2NjdXJyZWQgb3IKLSB0aGUg WDUwOV9OQU1FIGNvdWxkIG5vdCBiZSBleHRyYWN0ZWQgZnJvbSBCPGNhY2VydD4uIENoZWNrIHRo ZSBlcnJvciBzdGFjawotIHRvIGZpbmQgb3V0IHRoZSByZWFzb24uCisgVGhlIFRMUy9TU0wgaGFu ZHNoYWtlIHdhcyBub3Qgc3VjY2Vzc2Z1bCBidXQgd2FzIHNodXQgZG93biBjb250cm9sbGVkIGFu ZAorIGJ5IHRoZSBzcGVjaWZpY2F0aW9ucyBvZiB0aGUgVExTL1NTTCBwcm90b2NvbC4gQ2FsbCBT U0xfZ2V0X2Vycm9yKCkgd2l0aCB0aGUKKyByZXR1cm4gdmFsdWUgQjxyZXQ+IHRvIGZpbmQgb3V0 IHRoZSByZWFzb24uCiAgCiArPWl0ZW0gMQogKwotK1RoZSBvcGVyYXRpb24gc3VjY2VlZGVkLgot KwotID1iYWNrCi0gCi0gPWhlYWQxIEVYQU1QTEVTCi1kaWZmIC0tZ2l0IGEvZG9jL3NzbC9TU0xf Q1RYX3VzZV9wc2tfaWRlbnRpdHlfaGludC5wb2QgYi9kb2Mvc3NsL1NTTF9DVFhfdXNlX3Bza19p ZGVudGl0eV9oaW50LnBvZAotaW5kZXggYjgwZTI1Yi4uN2U2MGRmNSAxMDA2NDQKLS0tLSBhL2Rv Yy9zc2wvU1NMX0NUWF91c2VfcHNrX2lkZW50aXR5X2hpbnQucG9kCi0rKysgYi9kb2Mvc3NsL1NT TF9DVFhfdXNlX3Bza19pZGVudGl0eV9oaW50LnBvZAotQEAgLTgxLDYgKzgxLDggQEAgU1NMX0NU WF91c2VfcHNrX2lkZW50aXR5X2hpbnQoKSBhbmQgU1NMX3VzZV9wc2tfaWRlbnRpdHlfaGludCgp IHJldHVybgotIAotIFJldHVybiB2YWx1ZXMgZnJvbSB0aGUgc2VydmVyIGNhbGxiYWNrIGFyZSBp bnRlcnByZXRlZCBhcyBmb2xsb3dzOgotIAotKz1vdmVyIDQKKytUaGUgVExTL1NTTCBoYW5kc2hh a2Ugd2FzIHN1Y2Nlc3NmdWxseSBjb21wbGV0ZWQsIGEgVExTL1NTTCBjb25uZWN0aW9uIGhhcyBi ZWVuCisrZXN0YWJsaXNoZWQuCiArCi0gPWl0ZW0gPiAwCi0gCi0gUFNLIGlkZW50aXR5IHdhcyBm b3VuZCBhbmQgdGhlIHNlcnZlciBjYWxsYmFjayBoYXMgcHJvdmlkZWQgdGhlIFBTSwotQEAgLTk5 LDQgKzEwMSw2IEBAIGNvbXBsZXRlbHkuCi0gUFNLIGlkZW50aXR5IHdhcyBub3QgZm91bmQuIEFu ICJ1bmtub3duX3Bza19pZGVudGl0eSIgYWxlcnQgbWVzc2FnZQotIHdpbGwgYmUgc2VudCBhbmQg dGhlIGNvbm5lY3Rpb24gc2V0dXAgZmFpbHMuCisgPWl0ZW0gRTxsdD4wCiAgCi0rPWJhY2sKLSsK LSA9Y3V0Ci1kaWZmIC0tZ2l0IGEvZG9jL3NzbC9TU0xfYWNjZXB0LnBvZCBiL2RvYy9zc2wvU1NM X2FjY2VwdC5wb2QKLWluZGV4IGNjNzI0YzAuLmIxYzM0ZDEgMTAwNjQ0Ci0tLS0gYS9kb2Mvc3Ns L1NTTF9hY2NlcHQucG9kCi0rKysgYi9kb2Mvc3NsL1NTTF9hY2NlcHQucG9kCi1AQCAtNDQsMTcg KzQ0LDE3IEBAIFRoZSBmb2xsb3dpbmcgcmV0dXJuIHZhbHVlcyBjYW4gb2NjdXI6CisgVGhlIFRM Uy9TU0wgaGFuZHNoYWtlIHdhcyBub3Qgc3VjY2Vzc2Z1bCBiZWNhdXNlIGEgZmF0YWwgZXJyb3Ig b2NjdXJyZWQgZWl0aGVyCitkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9kb2Mvc3NsL1NTTF9jb25u ZWN0LnBvZC5iYWNrcG9ydHMgb3BlbnNzbC0xLjAuMWUvZG9jL3NzbC9TU0xfY29ubmVjdC5wb2QK Ky0tLSBvcGVuc3NsLTEuMC4xZS9kb2Mvc3NsL1NTTF9jb25uZWN0LnBvZC5iYWNrcG9ydHMJMjAx My0wMi0xMSAxNjowMjo0OC4wMDAwMDAwMDAgKzAxMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9kb2Mv c3NsL1NTTF9jb25uZWN0LnBvZAkyMDEzLTA4LTE2IDE1OjMxOjM1LjcyNzAwMzkxNCArMDIwMAor QEAgLTQxLDE3ICs0MSwxNyBAQCBUaGUgZm9sbG93aW5nIHJldHVybiB2YWx1ZXMgY2FuIG9jY3Vy OgogIAogID1vdmVyIDQKICAKQEAgLTEwNywzOCArMTM4LDUzIEBAIGluZGV4IGNjNzI0YzAuLmIx YzM0ZDEgMTAwNjQ0CiArCiAgPWl0ZW0gRTxsdD4wCiAgCi0gVGhlIFRMUy9TU0wgaGFuZHNoYWtl IHdhcyBub3Qgc3VjY2Vzc2Z1bCBiZWNhdXNlIGEgZmF0YWwgZXJyb3Igb2NjdXJyZWQgZWl0aGVy Ci1kaWZmIC0tZ2l0IGEvZG9jL3NzbC9TU0xfY29ubmVjdC5wb2QgYi9kb2Mvc3NsL1NTTF9jb25u ZWN0LnBvZAotaW5kZXggY2M1NmViYi4uOTQ2Y2E4OSAxMDA2NDQKLS0tLSBhL2RvYy9zc2wvU1NM X2Nvbm5lY3QucG9kCi0rKysgYi9kb2Mvc3NsL1NTTF9jb25uZWN0LnBvZAotQEAgLTQxLDE3ICs0 MSwxNyBAQCBUaGUgZm9sbG93aW5nIHJldHVybiB2YWx1ZXMgY2FuIG9jY3VyOgorIFRoZSBUTFMv U1NMIGhhbmRzaGFrZSB3YXMgbm90IHN1Y2Nlc3NmdWwsIGJlY2F1c2UgYSBmYXRhbCBlcnJvciBv Y2N1cnJlZCBlaXRoZXIKK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2RvYy9zc2wvU1NMX0NUWF9z ZXRfY2xpZW50X0NBX2xpc3QucG9kLmJhY2twb3J0cyBvcGVuc3NsLTEuMC4xZS9kb2Mvc3NsL1NT TF9DVFhfc2V0X2NsaWVudF9DQV9saXN0LnBvZAorLS0tIG9wZW5zc2wtMS4wLjFlL2RvYy9zc2wv U1NMX0NUWF9zZXRfY2xpZW50X0NBX2xpc3QucG9kLmJhY2twb3J0cwkyMDEzLTAyLTExIDE2OjAy OjQ4LjAwMDAwMDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4wLjFlL2RvYy9zc2wvU1NMX0NUWF9z ZXRfY2xpZW50X0NBX2xpc3QucG9kCTIwMTMtMDgtMTYgMTU6MzE6MzUuNzI3MDAzOTE0ICswMjAw CitAQCAtNjYsMTYgKzY2LDE2IEBAIHZhbHVlczoKICAKICA9b3ZlciA0CiAgCiAtPWl0ZW0gMQog LQotLVRoZSBUTFMvU1NMIGhhbmRzaGFrZSB3YXMgc3VjY2Vzc2Z1bGx5IGNvbXBsZXRlZCwgYSBU TFMvU1NMIGNvbm5lY3Rpb24gaGFzIGJlZW4KLS1lc3RhYmxpc2hlZC4KKy1UaGUgb3BlcmF0aW9u IHN1Y2NlZWRlZC4KIC0KICA9aXRlbSAwCiAgCi0gVGhlIFRMUy9TU0wgaGFuZHNoYWtlIHdhcyBu b3Qgc3VjY2Vzc2Z1bCBidXQgd2FzIHNodXQgZG93biBjb250cm9sbGVkIGFuZAotIGJ5IHRoZSBz cGVjaWZpY2F0aW9ucyBvZiB0aGUgVExTL1NTTCBwcm90b2NvbC4gQ2FsbCBTU0xfZ2V0X2Vycm9y KCkgd2l0aCB0aGUKLSByZXR1cm4gdmFsdWUgQjxyZXQ+IHRvIGZpbmQgb3V0IHRoZSByZWFzb24u CisgQSBmYWlsdXJlIHdoaWxlIG1hbmlwdWxhdGluZyB0aGUgU1RBQ0tfT0YoWDUwOV9OQU1FKSBv YmplY3Qgb2NjdXJyZWQgb3IKKyB0aGUgWDUwOV9OQU1FIGNvdWxkIG5vdCBiZSBleHRyYWN0ZWQg ZnJvbSBCPGNhY2VydD4uIENoZWNrIHRoZSBlcnJvciBzdGFjaworIHRvIGZpbmQgb3V0IHRoZSBy ZWFzb24uCiAgCiArPWl0ZW0gMQogKwotK1RoZSBUTFMvU1NMIGhhbmRzaGFrZSB3YXMgc3VjY2Vz c2Z1bGx5IGNvbXBsZXRlZCwgYSBUTFMvU1NMIGNvbm5lY3Rpb24gaGFzIGJlZW4KLStlc3RhYmxp c2hlZC4KKytUaGUgb3BlcmF0aW9uIHN1Y2NlZWRlZC4KICsKLSA9aXRlbSBFPGx0PjAKKyA9YmFj awogIAotIFRoZSBUTFMvU1NMIGhhbmRzaGFrZSB3YXMgbm90IHN1Y2Nlc3NmdWwsIGJlY2F1c2Ug YSBmYXRhbCBlcnJvciBvY2N1cnJlZCBlaXRoZXIKLWRpZmYgLS1naXQgYS9kb2Mvc3NsL1NTTF9k b19oYW5kc2hha2UucG9kIGIvZG9jL3NzbC9TU0xfZG9faGFuZHNoYWtlLnBvZAotaW5kZXggMjQz NTc2NC4uN2Y4Y2YyNCAxMDA2NDQKLS0tLSBhL2RvYy9zc2wvU1NMX2RvX2hhbmRzaGFrZS5wb2QK LSsrKyBiL2RvYy9zc2wvU1NMX2RvX2hhbmRzaGFrZS5wb2QKKyA9aGVhZDEgRVhBTVBMRVMKK2Rp ZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2RvYy9zc2wvU1NMX0NUWF91c2VfcHNrX2lkZW50aXR5X2hp bnQucG9kLmJhY2twb3J0cyBvcGVuc3NsLTEuMC4xZS9kb2Mvc3NsL1NTTF9DVFhfdXNlX3Bza19p ZGVudGl0eV9oaW50LnBvZAorLS0tIG9wZW5zc2wtMS4wLjFlL2RvYy9zc2wvU1NMX0NUWF91c2Vf cHNrX2lkZW50aXR5X2hpbnQucG9kLmJhY2twb3J0cwkyMDEzLTAyLTExIDE2OjI2OjA0LjAwMDAw MDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4wLjFlL2RvYy9zc2wvU1NMX0NUWF91c2VfcHNrX2lk ZW50aXR5X2hpbnQucG9kCTIwMTMtMDgtMTYgMTU6MzE6MzUuNzI3MDAzOTE0ICswMjAwCitAQCAt ODEsNiArODEsOCBAQCBTU0xfQ1RYX3VzZV9wc2tfaWRlbnRpdHlfaGludCgpIGFuZCBTU0xfCisg CisgUmV0dXJuIHZhbHVlcyBmcm9tIHRoZSBzZXJ2ZXIgY2FsbGJhY2sgYXJlIGludGVycHJldGVk IGFzIGZvbGxvd3M6CisgCisrPW92ZXIgNAorKworID1pdGVtID4gMAorIAorIFBTSyBpZGVudGl0 eSB3YXMgZm91bmQgYW5kIHRoZSBzZXJ2ZXIgY2FsbGJhY2sgaGFzIHByb3ZpZGVkIHRoZSBQU0sK K0BAIC05OSw0ICsxMDEsNiBAQCBjb21wbGV0ZWx5LgorIFBTSyBpZGVudGl0eSB3YXMgbm90IGZv dW5kLiBBbiAidW5rbm93bl9wc2tfaWRlbnRpdHkiIGFsZXJ0IG1lc3NhZ2UKKyB3aWxsIGJlIHNl bnQgYW5kIHRoZSBjb25uZWN0aW9uIHNldHVwIGZhaWxzLgorIAorKz1iYWNrCisrCisgPWN1dAor ZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvZG9jL3NzbC9TU0xfZG9faGFuZHNoYWtlLnBvZC5iYWNr cG9ydHMgb3BlbnNzbC0xLjAuMWUvZG9jL3NzbC9TU0xfZG9faGFuZHNoYWtlLnBvZAorLS0tIG9w ZW5zc2wtMS4wLjFlL2RvYy9zc2wvU1NMX2RvX2hhbmRzaGFrZS5wb2QuYmFja3BvcnRzCTIwMTMt MDItMTEgMTY6MDI6NDguMDAwMDAwMDAwICswMTAwCisrKysgb3BlbnNzbC0xLjAuMWUvZG9jL3Nz bC9TU0xfZG9faGFuZHNoYWtlLnBvZAkyMDEzLTA4LTE2IDE1OjMxOjM1LjcyNzAwMzkxNCArMDIw MAogQEAgLTQ1LDE3ICs0NSwxNyBAQCBUaGUgZm9sbG93aW5nIHJldHVybiB2YWx1ZXMgY2FuIG9j Y3VyOgogIAogID1vdmVyIDQKQEAgLTE2MiwxMCArMjA4LDkgQEAgaW5kZXggMjQzNTc2NC4uN2Y4 Y2YyNCAxMDA2NDQKICA9aXRlbSBFPGx0PjAKICAKICBUaGUgVExTL1NTTCBoYW5kc2hha2Ugd2Fz IG5vdCBzdWNjZXNzZnVsIGJlY2F1c2UgYSBmYXRhbCBlcnJvciBvY2N1cnJlZCBlaXRoZXIKLWRp ZmYgLS1naXQgYS9kb2Mvc3NsL1NTTF9zaHV0ZG93bi5wb2QgYi9kb2Mvc3NsL1NTTF9zaHV0ZG93 bi5wb2QKLWluZGV4IDg5OTExYWMuLjQyYTg5YjcgMTAwNjQ0Ci0tLS0gYS9kb2Mvc3NsL1NTTF9z aHV0ZG93bi5wb2QKLSsrKyBiL2RvYy9zc2wvU1NMX3NodXRkb3duLnBvZAorZGlmZiAtdXAgb3Bl bnNzbC0xLjAuMWUvZG9jL3NzbC9TU0xfc2h1dGRvd24ucG9kLmJhY2twb3J0cyBvcGVuc3NsLTEu MC4xZS9kb2Mvc3NsL1NTTF9zaHV0ZG93bi5wb2QKKy0tLSBvcGVuc3NsLTEuMC4xZS9kb2Mvc3Ns L1NTTF9zaHV0ZG93bi5wb2QuYmFja3BvcnRzCTIwMTMtMDItMTEgMTY6MDI6NDguMDAwMDAwMDAw ICswMTAwCisrKysgb3BlbnNzbC0xLjAuMWUvZG9jL3NzbC9TU0xfc2h1dGRvd24ucG9kCTIwMTMt MDgtMTYgMTU6MzE6MzUuNzI4MDAzOTM1ICswMjAwCiBAQCAtOTIsMTEgKzkyLDYgQEAgVGhlIGZv bGxvd2luZyByZXR1cm4gdmFsdWVzIGNhbiBvY2N1cjoKICAKICA9b3ZlciA0CkBAIC0xNzgsNyAr MjIzLDcgQEAgaW5kZXggODk5MTFhYy4uNDJhODliNyAxMDA2NDQKICA9aXRlbSAwCiAgCiAgVGhl IHNodXRkb3duIGlzIG5vdCB5ZXQgZmluaXNoZWQuIENhbGwgU1NMX3NodXRkb3duKCkgZm9yIGEg c2Vjb25kIHRpbWUsCi1AQCAtMTA0LDYgKzk5LDExIEBAIGlmIGEgYmlkaXJlY3Rpb25hbCBzaHV0 ZG93biBzaGFsbCBiZSBwZXJmb3JtZWQuCitAQCAtMTA0LDYgKzk5LDExIEBAIGlmIGEgYmlkaXJl Y3Rpb25hbCBzaHV0ZG93biBzaGFsbCBiZSBwZXIKICBUaGUgb3V0cHV0IG9mIEw8U1NMX2dldF9l cnJvcigzKXxTU0xfZ2V0X2Vycm9yKDMpPiBtYXkgYmUgbWlzbGVhZGluZywgYXMgYW4KICBlcnJv bmVvdXMgU1NMX0VSUk9SX1NZU0NBTEwgbWF5IGJlIGZsYWdnZWQgZXZlbiB0aG91Z2ggbm8gZXJy b3Igb2NjdXJyZWQuCiAgCkBAIC0xOTAsMjYgKzIzNSw4NCBAQCBpbmRleCA4OTkxMWFjLi40MmE4 OWI3IDEwMDY0NAogID1pdGVtIC0xCiAgCiAgVGhlIHNodXRkb3duIHdhcyBub3Qgc3VjY2Vzc2Z1 bCBiZWNhdXNlIGEgZmF0YWwgZXJyb3Igb2NjdXJyZWQgZWl0aGVyCi0tLSAKLTEuNy45LjUKLQot RnJvbSAxNDdkYmIyZmUzYmVhZDdhMTBlMmYyODAyNjFiNjYxY2U3YWY3YWRjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQotRnJvbTogIkRyLiBTdGVwaGVuIEhlbnNvbiIgPHN0ZXZlQG9wZW5zc2wu b3JnPgotRGF0ZTogTW9uLCAxMSBGZWIgMjAxMyAxODoyNDowMyArMDAwMAotU3ViamVjdDogW1BB VENIXSBGaXggZm9yIFNTTF9nZXRfY2VydGlmaWNhdGUKLQotTm93IHdlIHNldCB0aGUgY3VycmVu dCBjZXJ0aWZpY2F0ZSB0byB0aGUgb25lIHVzZWQgYnkgYSBzZXJ2ZXIKLXRoZXJlIGlzIG5vIG5l ZWQgdG8gY2FsbCBzc2xfZ2V0X3NlcnZlcl9zZW5kX2NlcnQgd2hpY2ggd2lsbAotZmFpbCBpZiB3 ZSBoYXZlbid0IHNlbnQgYSBjZXJ0aWZpY2F0ZSB5ZXQuCi0tLS0KLSBzc2wvc3NsX2xpYi5jIHwg ICAgNCArLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAzIGRlbGV0aW9ucygt KQotCi1kaWZmIC0tZ2l0IGEvc3NsL3NzbF9saWIuYyBiL3NzbC9zc2xfbGliLmMKLWluZGV4IDE0 ZDE0M2QuLmZmNWE4NWEgMTAwNjQ0Ci0tLS0gYS9zc2wvc3NsX2xpYi5jCi0rKysgYi9zc2wvc3Ns X2xpYi5jCi1AQCAtMjc5Miw5ICsyNzkyLDcgQEAgdm9pZCBzc2xfY2xlYXJfY2lwaGVyX2N0eChT U0wgKnMpCitkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9zc2wvZDFfbGliLmMuYmFja3BvcnRzIG9w ZW5zc2wtMS4wLjFlL3NzbC9kMV9saWIuYworLS0tIG9wZW5zc2wtMS4wLjFlL3NzbC9kMV9saWIu Yy5iYWNrcG9ydHMJMjAxMy0wMi0xMSAxNjoyNjowNC4wMDAwMDAwMDAgKzAxMDAKKysrKyBvcGVu c3NsLTEuMC4xZS9zc2wvZDFfbGliLmMJMjAxMy0wOC0xNiAxNTozMzozMy4zMDY1NzYzNjMgKzAy MDAKK0BAIC0xOTYsNiArMTk2LDcgQEAgdm9pZCBkdGxzMV9mcmVlKFNTTCAqcykKKyAJcHF1ZXVl X2ZyZWUocy0+ZDEtPmJ1ZmZlcmVkX2FwcF9kYXRhLnEpOworIAorIAlPUEVOU1NMX2ZyZWUocy0+ ZDEpOworKwlzLT5kMSA9IE5VTEw7CisgCX0KKyAKKyB2b2lkIGR0bHMxX2NsZWFyKFNTTCAqcykK K2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL3NzbC9kMV9wa3QuYy5iYWNrcG9ydHMgb3BlbnNzbC0x LjAuMWUvc3NsL2QxX3BrdC5jCistLS0gb3BlbnNzbC0xLjAuMWUvc3NsL2QxX3BrdC5jLmJhY2tw b3J0cwkyMDEzLTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4w LjFlL3NzbC9kMV9wa3QuYwkyMDEzLTA4LTE2IDE1OjMxOjM1LjcyODAwMzkzNSArMDIwMAorQEAg LTg0Nyw2ICs4NDcsMTIgQEAgc3RhcnQ6CisgCQkJfQorIAkJfQorIAorKwlpZiAocy0+ZDEtPmxp c3RlbiAmJiByci0+dHlwZSAhPSBTU0wzX1JUX0hBTkRTSEFLRSkKKysJCXsKKysJCXJyLT5sZW5n dGggPSAwOworKwkJZ290byBzdGFydDsKKysJCX0KKysKKyAJLyogd2Ugbm93IGhhdmUgYSBwYWNr ZXQgd2hpY2ggY2FuIGJlIHJlYWQgYW5kIHByb2Nlc3NlZCAqLworIAorIAlpZiAocy0+czMtPmNo YW5nZV9jaXBoZXJfc3BlYyAvKiBzZXQgd2hlbiB3ZSByZWNlaXZlIENoYW5nZUNpcGhlclNwZWMs CitAQCAtMTA1MSw2ICsxMDU3LDcgQEAgc3RhcnQ6CisgCQkJIShzLT5zMy0+ZmxhZ3MgJiBTU0wz X0ZMQUdTX05PX1JFTkVHT1RJQVRFX0NJUEhFUlMpICYmCisgCQkJIXMtPnMzLT5yZW5lZ290aWF0 ZSkKKyAJCQl7CisrCQkJcy0+ZDEtPmhhbmRzaGFrZV9yZWFkX3NlcSsrOworIAkJCXMtPm5ld19z ZXNzaW9uID0gMTsKKyAJCQlzc2wzX3JlbmVnb3RpYXRlKHMpOworIAkJCWlmIChzc2wzX3JlbmVn b3RpYXRlX2NoZWNrKHMpKQorZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvc3NsL2QxX3NydnIuYy5i YWNrcG9ydHMgb3BlbnNzbC0xLjAuMWUvc3NsL2QxX3NydnIuYworLS0tIG9wZW5zc2wtMS4wLjFl L3NzbC9kMV9zcnZyLmMuYmFja3BvcnRzCTIwMTMtMDItMTEgMTY6MjY6MDQuMDAwMDAwMDAwICsw MTAwCisrKysgb3BlbnNzbC0xLjAuMWUvc3NsL2QxX3NydnIuYwkyMDEzLTA4LTE2IDE1OjMxOjM1 LjcyODAwMzkzNSArMDIwMAorQEAgLTI3NiwxMCArMjc2LDExIEBAIGludCBkdGxzMV9hY2NlcHQo U1NMICpzKQorIAkJY2FzZSBTU0wzX1NUX1NXX0hFTExPX1JFUV9COgorIAorIAkJCXMtPnNodXRk b3duPTA7CisrCQkJZHRsczFfY2xlYXJfcmVjb3JkX2J1ZmZlcihzKTsKKyAJCQlkdGxzMV9zdGFy dF90aW1lcihzKTsKKyAJCQlyZXQ9ZHRsczFfc2VuZF9oZWxsb19yZXF1ZXN0KHMpOworIAkJCWlm IChyZXQgPD0gMCkgZ290byBlbmQ7CistCQkJcy0+czMtPnRtcC5uZXh0X3N0YXRlPVNTTDNfU1Rf U1dfSEVMTE9fUkVRX0M7CisrCQkJcy0+czMtPnRtcC5uZXh0X3N0YXRlPVNTTDNfU1RfU1JfQ0xO VF9IRUxMT19BOworIAkJCXMtPnN0YXRlPVNTTDNfU1RfU1dfRkxVU0g7CisgCQkJcy0+aW5pdF9u dW09MDsKKyAKK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL3NzbC9zM19jYmMuYy5iYWNrcG9ydHMg b3BlbnNzbC0xLjAuMWUvc3NsL3MzX2NiYy5jCistLS0gb3BlbnNzbC0xLjAuMWUvc3NsL3MzX2Ni Yy5jLmJhY2twb3J0cwkyMDEzLTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEwMAorKysrIG9w ZW5zc2wtMS4wLjFlL3NzbC9zM19jYmMuYwkyMDEzLTA4LTE2IDE1OjMxOjM1LjcyOTAwMzk1NiAr MDIwMAorQEAgLTE0OCw3ICsxNDgsNyBAQCBpbnQgdGxzMV9jYmNfcmVtb3ZlX3BhZGRpbmcoY29u c3QgU1NMKiBzCisgCXVuc2lnbmVkIHBhZGRpbmdfbGVuZ3RoLCBnb29kLCB0b19jaGVjaywgaTsK KyAJY29uc3QgdW5zaWduZWQgb3ZlcmhlYWQgPSAxIC8qIHBhZGRpbmcgbGVuZ3RoIGJ5dGUgKi8g KyBtYWNfc2l6ZTsKKyAJLyogQ2hlY2sgaWYgdmVyc2lvbiByZXF1aXJlcyBleHBsaWNpdCBJViAq LworLQlpZiAocy0+dmVyc2lvbiA+PSBUTFMxXzFfVkVSU0lPTiB8fCBzLT52ZXJzaW9uID09IERU TFMxX1ZFUlNJT04pCisrCWlmIChzLT52ZXJzaW9uID49IFRMUzFfMV9WRVJTSU9OIHx8IHMtPnZl cnNpb24gPT0gRFRMUzFfQkFEX1ZFUikKKyAJCXsKKyAJCS8qIFRoZXNlIGxlbmd0aHMgYXJlIGFs bCBwdWJsaWMgc28gd2UgY2FuIHRlc3QgdGhlbSBpbgorIAkJICogbm9uLWNvbnN0YW50IHRpbWUu CitkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9zc2wvc3NsX2xpYi5jLmJhY2twb3J0cyBvcGVuc3Ns LTEuMC4xZS9zc2wvc3NsX2xpYi5jCistLS0gb3BlbnNzbC0xLjAuMWUvc3NsL3NzbF9saWIuYy5i YWNrcG9ydHMJMjAxMy0wMi0xMSAxNjoyNjowNC4wMDAwMDAwMDAgKzAxMDAKKysrKyBvcGVuc3Ns LTEuMC4xZS9zc2wvc3NsX2xpYi5jCTIwMTMtMDgtMTYgMTU6MzE6MzUuNzI5MDAzOTU2ICswMjAw CitAQCAtMTc5Nyw3ICsxNzk3LDkgQEAgU1NMX0NUWCAqU1NMX0NUWF9uZXcoY29uc3QgU1NMX01F VEhPRCAqbQorIAlDUllQVE9fbmV3X2V4X2RhdGEoQ1JZUFRPX0VYX0lOREVYX1NTTF9DVFgsIHJl dCwgJnJldC0+ZXhfZGF0YSk7CisgCisgCXJldC0+ZXh0cmFfY2VydHM9TlVMTDsKKy0JcmV0LT5j b21wX21ldGhvZHM9U1NMX0NPTVBfZ2V0X2NvbXByZXNzaW9uX21ldGhvZHMoKTsKKysJLyogTm8g Y29tcHJlc3Npb24gZm9yIERUTFMgKi8KKysJaWYgKG1ldGgtPnZlcnNpb24gIT0gRFRMUzFfVkVS U0lPTikKKysJCXJldC0+Y29tcF9tZXRob2RzPVNTTF9DT01QX2dldF9jb21wcmVzc2lvbl9tZXRo b2RzKCk7CisgCisgCXJldC0+bWF4X3NlbmRfZnJhZ21lbnQgPSBTU0wzX1JUX01BWF9QTEFJTl9M RU5HVEg7CisgCitAQCAtMjc5Miw5ICsyNzk0LDcgQEAgdm9pZCBzc2xfY2xlYXJfY2lwaGVyX2N0 eChTU0wgKnMpCiAgLyogRml4IHRoaXMgZnVuY3Rpb24gc28gdGhhdCBpdCB0YWtlcyBhbiBvcHRp b25hbCB0eXBlIHBhcmFtZXRlciAqLwogIFg1MDkgKlNTTF9nZXRfY2VydGlmaWNhdGUoY29uc3Qg U1NMICpzKQogIAl7CkBAIC0yMjAsMzcgKzMyMywzIEBAIGluZGV4IDE0ZDE0M2QuLmZmNWE4NWEg MTAwNjQ0CiAgCQlyZXR1cm4ocy0+Y2VydC0+a2V5LT54NTA5KTsKICAJZWxzZQogIAkJcmV0dXJu KE5VTEwpOwotLS0gCi0xLjcuOS41Ci0KLUZyb20gOWZlNDYwM2I4MjQ1NDI1YTRjNDY5ODZlZDAw MGZjYTA1NDIzMTI1MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IERhdmlkIFdvb2Ro b3VzZSA8ZHdtdzJAaW5mcmFkZWFkLm9yZz4KLURhdGU6IFR1ZSwgMTIgRmViIDIwMTMgMTQ6NTU6 MzIgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gQ2hlY2sgRFRMU19CQURfVkVSIGZvciB2ZXJzaW9u IG51bWJlci4KLQotVGhlIHZlcnNpb24gY2hlY2sgZm9yIERUTFMxX1ZFUlNJT04gd2FzIHJlZHVu ZGFudCBhcwotRFRMUzFfVkVSU0lPTiA+IFRMUzFfMV9WRVJTSU9OLCBob3dldmVyIHdlIGRvIG5l ZWQgdG8KLWNoZWNrIGZvciBEVExTMV9CQURfVkVSIGZvciBjb21wYXRpYmlsaXR5LgotCi1QUjoy OTg0Ci0oY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBkOTgwYWJiMjJlMjI2NjFlOThlNWNlZTMz ZDc2MGFiMGM3NTg0ZWNjKQotLS0tCi0gc3NsL3MzX2NiYy5jIHwgICAgMiArLQotIDEgZmlsZSBj aGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvc3Ns L3MzX2NiYy5jIGIvc3NsL3MzX2NiYy5jCi1pbmRleCAwMmVkZjNmLi40NDNhMzFlIDEwMDY0NAot LS0tIGEvc3NsL3MzX2NiYy5jCi0rKysgYi9zc2wvczNfY2JjLmMKLUBAIC0xNDgsNyArMTQ4LDcg QEAgaW50IHRsczFfY2JjX3JlbW92ZV9wYWRkaW5nKGNvbnN0IFNTTCogcywKLSAJdW5zaWduZWQg cGFkZGluZ19sZW5ndGgsIGdvb2QsIHRvX2NoZWNrLCBpOwotIAljb25zdCB1bnNpZ25lZCBvdmVy aGVhZCA9IDEgLyogcGFkZGluZyBsZW5ndGggYnl0ZSAqLyArIG1hY19zaXplOwotIAkvKiBDaGVj ayBpZiB2ZXJzaW9uIHJlcXVpcmVzIGV4cGxpY2l0IElWICovCi0tCWlmIChzLT52ZXJzaW9uID49 IFRMUzFfMV9WRVJTSU9OIHx8IHMtPnZlcnNpb24gPT0gRFRMUzFfVkVSU0lPTikKLSsJaWYgKHMt PnZlcnNpb24gPj0gVExTMV8xX1ZFUlNJT04gfHwgcy0+dmVyc2lvbiA9PSBEVExTMV9CQURfVkVS KQotIAkJewotIAkJLyogVGhlc2UgbGVuZ3RocyBhcmUgYWxsIHB1YmxpYyBzbyB3ZSBjYW4gdGVz dCB0aGVtIGluCi0gCQkgKiBub24tY29uc3RhbnQgdGltZS4KLS0tIAotMS43LjkuNQotCgpkaWZm IC0tZ2l0IGEvb3BlbnNzbC0xLjAuMWUtZmlwcy1jdG9yLnBhdGNoIGIvb3BlbnNzbC0xLjAuMWUt Zmlwcy1jdG9yLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ0NTc2 ZWYKLS0tIC9kZXYvbnVsbAorKysgYi9vcGVuc3NsLTEuMC4xZS1maXBzLWN0b3IucGF0Y2gKQEAg LTAsMCArMSwxNzkgQEAKK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHMu Yy5maXBzLWN0b3Igb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwcy5jCistLS0gb3BlbnNz bC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwcy5jLmZpcHMtY3RvcgkyMDEzLTA5LTI2IDEzOjUyOjMw Ljc2Nzg4NTQ1NyArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHMuYwky MDEzLTA5LTI2IDE0OjAxOjI5LjQwNjAxMDE4NyArMDIwMAorQEAgLTYwLDYgKzYwLDggQEAKKyAj aW5jbHVkZSA8ZGxmY24uaD4KKyAjaW5jbHVkZSA8c3RkaW8uaD4KKyAjaW5jbHVkZSA8c3RkbGli Lmg+CisrI2luY2x1ZGUgPHVuaXN0ZC5oPgorKyNpbmNsdWRlIDxlcnJuby5oPgorICNpbmNsdWRl ICJmaXBzX2xvY2wuaCIKKyAKKyAjaWZkZWYgT1BFTlNTTF9GSVBTCitAQCAtMTk4LDggKzIwMCwx MCBAQCBiaW4yaGV4KHZvaWQgKmJ1Ziwgc2l6ZV90IGxlbikKKyAJcmV0dXJuIGhleDsKKyB9Cisg CistI2RlZmluZSBITUFDX1BSRUZJWCAiLiIgCistI2RlZmluZSBITUFDX1NVRkZJWCAiLmhtYWMi IAorKyNkZWZpbmUgSE1BQ19QUkVGSVggIi4iCisrI2lmbmRlZiBITUFDX1NVRkZJWAorKyNkZWZp bmUgSE1BQ19TVUZGSVggIi5obWFjIgorKyNlbmRpZgorICNkZWZpbmUgUkVBRF9CVUZGRVJfTEVO R1RIIDE2Mzg0CisgCisgc3RhdGljIGNoYXIgKgorQEAgLTI3OSwxOSArMjgzLDEzIEBAIGVuZDoK KyB9CisgCisgc3RhdGljIGludAorLUZJUFNDSEVDS192ZXJpZnkoY29uc3QgY2hhciAqbGlibmFt ZSwgY29uc3QgY2hhciAqc3ltYm9sbmFtZSkKKytGSVBTQ0hFQ0tfdmVyaWZ5KGNvbnN0IGNoYXIg KnBhdGgpCisgeworLQljaGFyIHBhdGhbUEFUSF9NQVgrMV07CistCWludCBydjsKKysJaW50IHJ2 ID0gMDsKKyAJRklMRSAqaGY7CisgCWNoYXIgKmhtYWNwYXRoLCAqcDsKKyAJY2hhciAqaG1hYyA9 IE5VTEw7CisgCXNpemVfdCBuOworLQkKKy0JcnYgPSBnZXRfbGlicmFyeV9wYXRoKGxpYm5hbWUs IHN5bWJvbG5hbWUsIHBhdGgsIHNpemVvZihwYXRoKSk7CistCistCWlmIChydiA8IDApCistCQly ZXR1cm4gMDsKKyAKKyAJaG1hY3BhdGggPSBtYWtlX2htYWNfcGF0aChwYXRoKTsKKyAJaWYgKGht YWNwYXRoID09IE5VTEwpCitAQCAtMzQxLDYgKzMzOSw1MyBAQCBlbmQ6CisgCXJldHVybiAxOwkK KyB9CisgCisrc3RhdGljIGludAorK3ZlcmlmeV9jaGVja3N1bXModm9pZCkKKysgICAgeworKwlp bnQgcnY7CisrCWNoYXIgcGF0aFtQQVRIX01BWCsxXTsKKysJY2hhciAqcDsKKysKKysJLyogd2Ug bmVlZCB0byBhdm9pZCBkbG9wZW5pbmcgbGlic3NsLCBhc3N1bWUgYm90aCBsaWJjcnlwdG8gYW5k IGxpYnNzbAorKwkgICBhcmUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5ICovCisrCisrCXJ2ID0gZ2V0 X2xpYnJhcnlfcGF0aCgibGliY3J5cHRvLnNvLiIgU0hMSUJfVkVSU0lPTl9OVU1CRVIsICJGSVBT X21vZGVfc2V0IiwgcGF0aCwgc2l6ZW9mKHBhdGgpKTsKKysJaWYgKHJ2IDwgMCkKKysJCXJldHVy biAwOworKworKwlydiA9IEZJUFNDSEVDS192ZXJpZnkocGF0aCk7CisrCWlmICghcnYpCisrCQly ZXR1cm4gMDsKKysKKysJLyogcmVwbGFjZSBsaWJjcnlwdG8gd2l0aCBsaWJzc2wgKi8KKysJd2hp bGUgKChwID0gc3Ryc3RyKHBhdGgsICJsaWJjcnlwdG8uc28iKSkgIT0gTlVMTCkKKysJICAgIHsK KysJCXAgPSBzdHBjcHkocCwgImxpYnNzbCIpOworKyAgICAgICAgICAgICAgICBtZW1tb3ZlKHAs IHArMywgc3RybGVuKHArMikpOworKwkgICAgfQorKworKwlydiA9IEZJUFNDSEVDS192ZXJpZnko cGF0aCk7CisrCWlmICghcnYpCisrCQlyZXR1cm4gMDsKKysJcmV0dXJuIDE7CisrICAgIH0KKysK KysjaWZuZGVmIEZJUFNfTU9EVUxFX1BBVEgKKysjZGVmaW5lIEZJUFNfTU9EVUxFX1BBVEggIi9l dGMvc3lzdGVtLWZpcHMiCisrI2VuZGlmCisrCisraW50CisrRklQU19tb2R1bGVfaW5zdGFsbGVk KHZvaWQpCisrICAgIHsKKysgICAgaW50IHJ2OworKyAgICBydiA9IGFjY2VzcyhGSVBTX01PRFVM RV9QQVRILCBGX09LKTsKKysgICAgaWYgKHJ2IDwgMCAmJiBlcnJubyAhPSBFTk9FTlQpCisrCXJ2 ID0gMDsKKysKKysgICAgLyogSW5zdGFsbGVkID09IHRydWUgKi8KKysgICAgcmV0dXJuICFydjsK KysgICAgfQorKworIGludCBGSVBTX21vZHVsZV9tb2RlX3NldChpbnQgb25vZmYsIGNvbnN0IGNo YXIgKmF1dGgpCisgICAgIHsKKyAgICAgaW50IHJldCA9IDA7CitAQCAtMzc5LDE1ICs0MjQsNyBA QCBpbnQgRklQU19tb2R1bGVfbW9kZV9zZXQoaW50IG9ub2ZmLCBjb25zCisgCX0KKyAjZW5kaWYK KyAKKy0JaWYoIUZJUFNDSEVDS192ZXJpZnkoImxpYmNyeXB0by5zby4iIFNITElCX1ZFUlNJT05f TlVNQkVSLCJGSVBTX21vZGVfc2V0IikpCistCSAgICB7CistCSAgICBGSVBTZXJyKEZJUFNfRl9G SVBTX01PRFVMRV9NT0RFX1NFVCxGSVBTX1JfRklOR0VSUFJJTlRfRE9FU19OT1RfTUFUQ0gpOwor LQkgICAgZmlwc19zZWxmdGVzdF9mYWlsID0gMTsKKy0JICAgIHJldCA9IDA7CistCSAgICBnb3Rv IGVuZDsKKy0JICAgIH0KKy0KKy0JaWYoIUZJUFNDSEVDS192ZXJpZnkoImxpYnNzbC5zby4iIFNI TElCX1ZFUlNJT05fTlVNQkVSLCJTU0xfQ1RYX25ldyIpKQorKwlpZighdmVyaWZ5X2NoZWNrc3Vt cygpKQorIAkgICAgeworIAkgICAgRklQU2VycihGSVBTX0ZfRklQU19NT0RVTEVfTU9ERV9TRVQs RklQU19SX0ZJTkdFUlBSSU5UX0RPRVNfTk9UX01BVENIKTsKKyAJICAgIGZpcHNfc2VsZnRlc3Rf ZmFpbCA9IDE7CitkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzLmguZmlw cy1jdG9yIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHMuaAorLS0tIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9maXBzL2ZpcHMuaC5maXBzLWN0b3IJMjAxMy0wOS0yNiAxMzo1MjozMC44MTQ4 ODY1MTUgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzLmgJMjAxMy0w OS0yNiAxMzo1MjozMC44MTY4ODY1NjAgKzAyMDAKK0BAIC03NCw2ICs3NCw3IEBAIHN0cnVjdCBo bWFjX2N0eF9zdDsKKyAKKyBpbnQgRklQU19tb2R1bGVfbW9kZV9zZXQoaW50IG9ub2ZmLCBjb25z dCBjaGFyICphdXRoKTsKKyBpbnQgRklQU19tb2R1bGVfbW9kZSh2b2lkKTsKKytpbnQgRklQU19t b2R1bGVfaW5zdGFsbGVkKHZvaWQpOworIGNvbnN0IHZvaWQgKkZJUFNfcmFuZF9jaGVjayh2b2lk KTsKKyBpbnQgRklQU19zZWxmdGVzdCh2b2lkKTsKKyBpbnQgRklQU19zZWxmdGVzdF9mYWlsZWQo dm9pZCk7CitkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vb19pbml0LmMuZmlwcy1jdG9y IG9wZW5zc2wtMS4wLjFlL2NyeXB0by9vX2luaXQuYworLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9vX2luaXQuYy5maXBzLWN0b3IJMjAxMy0wOS0yNiAxMzo1MjozMC44MDc4ODYzNTcgKzAyMDAK KysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vb19pbml0LmMJMjAxMy0wOS0yNiAxNDowMDoyMS4w MDAwMDAwMDAgKzAyMDAKK0BAIC03MSw2ICs3MSw5IEBAIHN0YXRpYyB2b2lkIGluaXRfZmlwc19t b2RlKHZvaWQpCisgCWNoYXIgYnVmWzJdID0gIjAiOworIAlpbnQgZmQ7CisgCQorKwkvKiBFbnN1 cmUgdGhlIHNlbGZ0ZXN0cyBhbHdheXMgcnVuICovCisrCUZJUFNfbW9kZV9zZXQoMSk7CisrCisg CWlmIChzZWN1cmVfZ2V0ZW52KCJPUEVOU1NMX0ZPUkNFX0ZJUFNfTU9ERSIpICE9IE5VTEwpCisg CQl7CisgCQlidWZbMF0gPSAnMSc7CitAQCAtODUsOSArODgsMTUgQEAgc3RhdGljIHZvaWQgaW5p dF9maXBzX21vZGUodm9pZCkKKyAJICogb3RoZXJ3aXNlLiAKKyAJICovCisgCQorLQlpZiAoYnVm WzBdID09ICcxJykKKysJaWYgKGJ1ZlswXSAhPSAnMScpCisrCQl7CisrCQkvKiBkcm9wIGRvd24g dG8gbm9uLUZJUFMgbW9kZSBpZiBpdCBpcyBub3QgcmVxdWVzdGVkICovCisrCQlGSVBTX21vZGVf c2V0KDApOworKwkJfQorKwllbHNlCisgCQl7CistCQlGSVBTX21vZGVfc2V0KDEpOworKwkJLyog YWJvcnQgaWYgc2VsZnRlc3QgZmFpbGVkICovCisrCQlGSVBTX3NlbGZ0ZXN0X2NoZWNrKCk7Cisg CQl9CisgCX0KKyAjZW5kaWYKK0BAIC05NiwxMyArMTA1LDE3IEBAIHN0YXRpYyB2b2lkIGluaXRf Zmlwc19tb2RlKHZvaWQpCisgICogQ3VycmVudGx5IG9ubHkgc2V0cyBGSVBTIGNhbGxiYWNrcwor ICAqLworIAorLXZvaWQgT1BFTlNTTF9pbml0X2xpYnJhcnkodm9pZCkKKyt2b2lkIF9fYXR0cmli dXRlX18gKChjb25zdHJ1Y3RvcikpIE9QRU5TU0xfaW5pdF9saWJyYXJ5KHZvaWQpCisgCXsKKyAJ c3RhdGljIGludCBkb25lID0gMDsKKyAJaWYgKGRvbmUpCisgCQlyZXR1cm47CisgCWRvbmUgPSAx OworICNpZmRlZiBPUEVOU1NMX0ZJUFMKKysJaWYgKCFGSVBTX21vZHVsZV9pbnN0YWxsZWQoKSkK KysJCXsKKysJCXJldHVybjsKKysJCX0KKyAJUkFORF9pbml0X2ZpcHMoKTsKKyAJaW5pdF9maXBz X21vZGUoKTsKKyAJaWYgKCFGSVBTX21vZGUoKSkKCmRpZmYgLS1naXQgYS9vcGVuc3NsLTEuMC4x ZS1maXBzLWVjLnBhdGNoIGIvb3BlbnNzbC0xLjAuMWUtZmlwcy1lYy5wYXRjaAppbmRleCBlNjM1 ZGRlLi41NjdlMWRiIDEwMDY0NAotLS0gYS9vcGVuc3NsLTEuMC4xZS1maXBzLWVjLnBhdGNoCisr KyBiL29wZW5zc2wtMS4wLjFlLWZpcHMtZWMucGF0Y2gKQEAgLTEsMjcgKzEsMjIwIEBACi1kaWZm IC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWMvZWMyX3NtcGwuYy5maXBzLWVjIG9wZW5zc2wt MS4wLjFlL2NyeXB0by9lYy9lYzJfc21wbC5jCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Vj L2VjMl9zbXBsLmMuZmlwcy1lYwkyMDEzLTEwLTE1IDAxOjEwOjU3LjQ3MjU0Njc1MyArMDEwMAot KysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lYy9lYzJfc21wbC5jCTIwMTMtMTAtMTUgMDE6MTE6 MTAuMzQ2NTI5MDExICswMTAwCi1AQCAtODAsOSArODAsNiBAQAorZGlmZiAtdXAgb3BlbnNzbC0x LjAuMWUvY3J5cHRvL2VjZGgvZWNkaC5oLmZpcHMtZWMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Vj ZGgvZWNkaC5oCistLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjZGgvZWNkaC5oLmZpcHMtZWMJ MjAxMy0wNS0wMyAxMjoxOTo1OS4yNDgzMDE2NDIgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9j cnlwdG8vZWNkaC9lY2RoLmgJMjAxMy0wNS0wMyAxMjoxOTo1OS45NzUzMTcyODkgKzAyMDAKK0BA IC04NSw2ICs4NSw4IEBACisgZXh0ZXJuICJDIiB7CisgI2VuZGlmCisgCisrI2RlZmluZSBFQ19G TEFHX0NPRkFDVE9SX0VDREgJMHgxMDAwCisrCisgY29uc3QgRUNESF9NRVRIT0QgKkVDREhfT3Bl blNTTCh2b2lkKTsKKyAKKyB2b2lkCSAgRUNESF9zZXRfZGVmYXVsdF9tZXRob2QoY29uc3QgRUNE SF9NRVRIT0QgKik7CitkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWNkaC9lY2RodGVz dC5jLmZpcHMtZWMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjZGgvZWNkaHRlc3QuYworLS0tIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9lY2RoL2VjZGh0ZXN0LmMuZmlwcy1lYwkyMDEzLTAyLTExIDE2 OjI2OjA0LjAwMDAwMDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lY2RoL2Vj ZGh0ZXN0LmMJMjAxMy0wNS0wMyAxMjoxOTo1OS45NzUzMTcyODkgKzAyMDAKK0BAIC0zMjMsMTEg KzMyMywxNSBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQorIAlpZiAoKGN0eD1C Tl9DVFhfbmV3KCkpID09IE5VTEwpIGdvdG8gZXJyOwogIAotIGNvbnN0IEVDX01FVEhPRCAqRUNf R0YybV9zaW1wbGVfbWV0aG9kKHZvaWQpCisgCS8qIE5JU1QgUFJJTUUgQ1VSVkVTIFRFU1RTICov CisrI2lmIDAKKyAJaWYgKCF0ZXN0X2VjZGhfY3VydmUoTklEX1g5XzYyX3ByaW1lMTkydjEsICJO SVNUIFByaW1lLUN1cnZlIFAtMTkyIiwgY3R4LCBvdXQpKSBnb3RvIGVycjsKKyAJaWYgKCF0ZXN0 X2VjZGhfY3VydmUoTklEX3NlY3AyMjRyMSwgIk5JU1QgUHJpbWUtQ3VydmUgUC0yMjQiLCBjdHgs IG91dCkpIGdvdG8gZXJyOworKyNlbmRpZgorIAlpZiAoIXRlc3RfZWNkaF9jdXJ2ZShOSURfWDlf NjJfcHJpbWUyNTZ2MSwgIk5JU1QgUHJpbWUtQ3VydmUgUC0yNTYiLCBjdHgsIG91dCkpIGdvdG8g ZXJyOworIAlpZiAoIXRlc3RfZWNkaF9jdXJ2ZShOSURfc2VjcDM4NHIxLCAiTklTVCBQcmltZS1D dXJ2ZSBQLTM4NCIsIGN0eCwgb3V0KSkgZ290byBlcnI7CisrI2lmIDAKKyAJaWYgKCF0ZXN0X2Vj ZGhfY3VydmUoTklEX3NlY3A1MjFyMSwgIk5JU1QgUHJpbWUtQ3VydmUgUC01MjEiLCBjdHgsIG91 dCkpIGdvdG8gZXJyOworKyNlbmRpZgorICNpZm5kZWYgT1BFTlNTTF9OT19FQzJNCisgCS8qIE5J U1QgQklOQVJZIENVUlZFUyBURVNUUyAqLworIAlpZiAoIXRlc3RfZWNkaF9jdXJ2ZShOSURfc2Vj dDE2M2sxLCAiTklTVCBCaW5hcnktQ3VydmUgSy0xNjMiLCBjdHgsIG91dCkpIGdvdG8gZXJyOwor ZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjZGgvZWNoX2xpYi5jLmZpcHMtZWMgb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL2VjZGgvZWNoX2xpYi5jCistLS0gb3BlbnNzbC0xLjAuMWUvY3J5 cHRvL2VjZGgvZWNoX2xpYi5jLmZpcHMtZWMJMjAxMy0wMi0xMSAxNjoyNjowNC4wMDAwMDAwMDAg KzAxMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWNkaC9lY2hfbGliLmMJMjAxMy0wNS0w MyAxMjoxOTo1OS45NzYzMTczMTEgKzAyMDAKK0BAIC05NCwxNCArOTQsNyBAQCBjb25zdCBFQ0RI X01FVEhPRCAqRUNESF9nZXRfZGVmYXVsdF9tZXRoCiAgCXsKKyAJaWYoIWRlZmF1bHRfRUNESF9t ZXRob2QpIAorIAkJewogLSNpZmRlZiBPUEVOU1NMX0ZJUFMKLS0JcmV0dXJuIGZpcHNfZWNfZ2Yy bV9zaW1wbGVfbWV0aG9kKCk7CistCQlpZiAoRklQU19tb2RlKCkpCistCQkJcmV0dXJuIEZJUFNf ZWNkaF9vcGVuc3NsKCk7CistCQllbHNlCistCQkJcmV0dXJuIEVDREhfT3BlblNTTCgpOwogLSNl bHNlCi0gCXN0YXRpYyBjb25zdCBFQ19NRVRIT0QgcmV0ID0gewotIAkJRUNfRkxBR1NfREVGQVVM VF9PQ1QsCi0gCQlOSURfWDlfNjJfY2hhcmFjdGVyaXN0aWNfdHdvX2ZpZWxkLAotQEAgLTEyNiw3 ICsxMjMsNiBAQCBjb25zdCBFQ19NRVRIT0QgKkVDX0dGMm1fc2ltcGxlX21ldGhvZCh2Ci0gCQkw IC8qIGZpZWxkX3NldF90b19vbmUgKi8gfTsKLSAKLSAJcmV0dXJuICZyZXQ7CisgCQlkZWZhdWx0 X0VDREhfbWV0aG9kID0gRUNESF9PcGVuU1NMKCk7CiAtI2VuZGlmCisgCQl9CisgCXJldHVybiBk ZWZhdWx0X0VDREhfbWV0aG9kOwogIAl9CitkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v ZWNkaC9lY2hfb3NzbC5jLmZpcHMtZWMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjZGgvZWNoX29z c2wuYworLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lY2RoL2VjaF9vc3NsLmMuZmlwcy1lYwky MDEzLTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9lY2RoL2VjaF9vc3NsLmMJMjAxMy0wNS0wMyAxMjoxOTo1OS45NzYzMTczMTEgKzAyMDAK K0BAIC03OSw2ICs3OSwxMCBAQAorICNpbmNsdWRlIDxvcGVuc3NsL29ial9tYWMuaD4KKyAjaW5j bHVkZSA8b3BlbnNzbC9ibi5oPgorIAorKyNpZmRlZiBPUEVOU1NMX0ZJUFMKKysjaW5jbHVkZSA8 b3BlbnNzbC9maXBzLmg+CisrI2VuZGlmCisrCisgc3RhdGljIGludCBlY2RoX2NvbXB1dGVfa2V5 KHZvaWQgKm91dCwgc2l6ZV90IGxlbiwgY29uc3QgRUNfUE9JTlQgKnB1Yl9rZXksCisgCUVDX0tF WSAqZWNkaCwgCisgCXZvaWQgKigqS0RGKShjb25zdCB2b2lkICppbiwgc2l6ZV90IGlubGVuLCB2 b2lkICpvdXQsIHNpemVfdCAqb3V0bGVuKSk7CitAQCAtOTAsNyArOTQsNyBAQCBzdGF0aWMgRUNE SF9NRVRIT0Qgb3BlbnNzbF9lY2RoX21ldGggPSB7CisgCU5VTEwsIC8qIGluaXQgICAgICovCisg CU5VTEwsIC8qIGZpbmlzaCAgICovCisgI2VuZGlmCistCTAsICAgIC8qIGZsYWdzICAgICovCisr CUVDREhfRkxBR19GSVBTX01FVEhPRCwgICAgLyogZmxhZ3MgICAgKi8KKyAJTlVMTCAgLyogYXBw X2RhdGEgKi8KKyB9OwogIAorQEAgLTExOCw2ICsxMjIsMTQgQEAgc3RhdGljIGludCBlY2RoX2Nv bXB1dGVfa2V5KHZvaWQgKm91dCwgcworIAlzaXplX3QgYnVmbGVuLCBsZW47CisgCXVuc2lnbmVk IGNoYXIgKmJ1Zj1OVUxMOwogIAorKyNpZmRlZiBPUEVOU1NMX0ZJUFMKKysJaWYoRklQU19zZWxm dGVzdF9mYWlsZWQoKSkKKysJCXsKKysJCUZJUFNlcnIoRklQU19GX0VDREhfQ09NUFVURV9LRVks RklQU19SX0ZJUFNfU0VMRlRFU1RfRkFJTEVEKTsKKysJCXJldHVybiAtMTsKKysJCX0KKysjZW5k aWYKKysKKyAJaWYgKG91dGxlbiA+IElOVF9NQVgpCisgCQl7CisgCQlFQ0RIZXJyKEVDREhfRl9F Q0RIX0NPTVBVVEVfS0VZLEVSUl9SX01BTExPQ19GQUlMVVJFKTsgLyogc29ydCBvZiwgYW55d2F5 ICovCitAQCAtMTM3LDYgKzE0OSwxOCBAQCBzdGF0aWMgaW50IGVjZGhfY29tcHV0ZV9rZXkodm9p ZCAqb3V0LCBzCisgCQl9CisgCisgCWdyb3VwID0gRUNfS0VZX2dldDBfZ3JvdXAoZWNkaCk7Cisr CisrCWlmIChFQ19LRVlfZ2V0X2ZsYWdzKGVjZGgpICYgRUNfRkxBR19DT0ZBQ1RPUl9FQ0RIKQor KwkJeworKwkJaWYgKCFFQ19HUk9VUF9nZXRfY29mYWN0b3IoZ3JvdXAsIHgsIGN0eCkgfHwKKysJ CQkhQk5fbXVsKHgsIHgsIHByaXZfa2V5LCBjdHgpKQorKwkJCXsKKysJCQlFQ0RIZXJyKEVDREhf Rl9FQ0RIX0NPTVBVVEVfS0VZLCBFUlJfUl9NQUxMT0NfRkFJTFVSRSk7CisrCQkJZ290byBlcnI7 CisrCQkJfQorKwkJcHJpdl9rZXkgPSB4OworKwkJfQorKworIAlpZiAoKHRtcD1FQ19QT0lOVF9u ZXcoZ3JvdXApKSA9PSBOVUxMKQorIAkJeworIAkJRUNESGVycihFQ0RIX0ZfRUNESF9DT01QVVRF X0tFWSxFUlJfUl9NQUxMT0NfRkFJTFVSRSk7CitkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlw dG8vZWNkc2EvZWNkc2F0ZXN0LmMuZmlwcy1lYyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWNkc2Ev ZWNkc2F0ZXN0LmMKKy0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWNkc2EvZWNkc2F0ZXN0LmMu Zmlwcy1lYwkyMDEzLTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEwMAorKysrIG9wZW5zc2wt MS4wLjFlL2NyeXB0by9lY2RzYS9lY2RzYXRlc3QuYwkyMDEzLTA1LTAzIDEyOjE5OjU5Ljk3NjMx NzMxMSArMDIwMAorQEAgLTEzOCwxMSArMTM4LDE0IEBAIGludCByZXN0b3JlX3JhbmQodm9pZCkK KyAJfQorIAorIHN0YXRpYyBpbnQgZmJ5dGVzX2NvdW50ZXIgPSAwOworLXN0YXRpYyBjb25zdCBj aGFyICpudW1iZXJzWzhdID0geworK3N0YXRpYyBjb25zdCBjaGFyICpudW1iZXJzWzEwXSA9IHsK KysJIjY1MTA1Njc3MDkwNjAxNTA3NjA1NjgxMDc2MzQ1NjM1ODU2NzE5MDEwMDE1NjY5NTYxNTY2 NTY1OSIsCisgCSI2NTEwNTY3NzA5MDYwMTUwNzYwNTY4MTA3NjM0NTYzNTg1NjcxOTAxMDAxNTY2 OTU2MTU2NjU2NTkiLAorIAkiNjE0MDUwNzA2NzA2NTAwMTA2MzA2NTA2NTU2NTY2NzQwNTU2MDAw NjE2MTU1NjU2NTY2NTY1NjY1NCIsCisgCSI4NzYzMDAxMDE1MDcxMDc1Njc1MDEwNjYxMzA3NjE2 NzEwNzgzNTcwMTA2NzEwNjc3ODE3NzY3MTY2IgorIAkiNzE2NzYxNzg3MjY3MTciLAorKwkiODc2 MzAwMTAxNTA3MTA3NTY3NTAxMDY2MTMwNzYxNjcxMDc4MzU3MDEwNjcxMDY3NzgxNzc2NzE2NiIK KysJIjcxNjc2MTc4NzI2NzE3IiwKKyAJIjcwMDAwMDAxNzU2OTA1NjY0NjY1NTUwNTc4MTc1NzE1 NzEwNzU3MDUwMTU3NTc3NTcwNTc3OTU3NTUiCisgCSI1NTY1NzE1Njc1NjY1NSIsCisgCSIxMjc1 NTUyMTkxMTEzMjEyMzAwMDEyMDMwNDM5MTg3MTQ2MTY0NjQ2MTQ2NjQ2NDY2NzQ5NDk0Nzk5IiwK K0BAIC0xNTcsNyArMTYwLDcgQEAgaW50IGZieXRlcyh1bnNpZ25lZCBjaGFyICpidWYsIGludCBu dW0pCisgCWludAlyZXQ7CisgCUJJR05VTQkqdG1wID0gTlVMTDsKKyAKKy0JaWYgKGZieXRlc19j b3VudGVyID49IDgpCisrCWlmIChmYnl0ZXNfY291bnRlciA+PSAxMCkKKyAJCXJldHVybiAwOwor IAl0bXAgPSBCTl9uZXcoKTsKKyAJaWYgKCF0bXApCitAQCAtNTUwLDcgKzU1Myw5IEBAIGludCBt YWluKHZvaWQpCisgCVJBTkRfc2VlZChybmRfc2VlZCwgc2l6ZW9mKHJuZF9zZWVkKSk7CisgCisg CS8qIHRoZSB0ZXN0cyAqLworKyNpZiAwCisgCWlmICgheDlfNjJfdGVzdHMob3V0KSkgIGdvdG8g ZXJyOworKyNlbmRpZgorIAlpZiAoIXRlc3RfYnVpbHRpbihvdXQpKSBnb3RvIGVycjsKKyAJCisg CXJldCA9IDA7CitkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWNkc2EvZWNzX2xpYi5j LmZpcHMtZWMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjZHNhL2Vjc19saWIuYworLS0tIG9wZW5z c2wtMS4wLjFlL2NyeXB0by9lY2RzYS9lY3NfbGliLmMuZmlwcy1lYwkyMDEzLTAyLTExIDE2OjI2 OjA0LjAwMDAwMDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lY2RzYS9lY3Nf bGliLmMJMjAxMy0wNS0wMyAxMjoxOTo1OS45NzczMTczMzMgKzAyMDAKK0BAIC04MSwxNCArODEs NyBAQCBjb25zdCBFQ0RTQV9NRVRIT0QgKkVDRFNBX2dldF9kZWZhdWx0X21lCisgeworIAlpZigh ZGVmYXVsdF9FQ0RTQV9tZXRob2QpIAorIAkJeworLSNpZmRlZiBPUEVOU1NMX0ZJUFMKKy0JCWlm IChGSVBTX21vZGUoKSkKKy0JCQlyZXR1cm4gRklQU19lY2RzYV9vcGVuc3NsKCk7CistCQllbHNl CistCQkJcmV0dXJuIEVDRFNBX09wZW5TU0woKTsKKy0jZWxzZQorIAkJZGVmYXVsdF9FQ0RTQV9t ZXRob2QgPSBFQ0RTQV9PcGVuU1NMKCk7CistI2VuZGlmCisgCQl9CisgCXJldHVybiBkZWZhdWx0 X0VDRFNBX21ldGhvZDsKKyB9CitkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWNkc2Ev ZWNzX29zc2wuYy5maXBzLWVjIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lY2RzYS9lY3Nfb3NzbC5j CistLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjZHNhL2Vjc19vc3NsLmMuZmlwcy1lYwkyMDEz LTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9lY2RzYS9lY3Nfb3NzbC5jCTIwMTMtMDUtMDMgMTI6MTk6NTkuOTc3MzE3MzMzICswMjAwCitA QCAtNjAsNiArNjAsOSBAQAorICNpbmNsdWRlIDxvcGVuc3NsL2Vyci5oPgorICNpbmNsdWRlIDxv cGVuc3NsL29ial9tYWMuaD4KKyAjaW5jbHVkZSA8b3BlbnNzbC9ibi5oPgorKyNpZmRlZiBPUEVO U1NMX0ZJUFMKKysjaW5jbHVkZSA8b3BlbnNzbC9maXBzLmg+CisrI2VuZGlmCisgCisgc3RhdGlj IEVDRFNBX1NJRyAqZWNkc2FfZG9fc2lnbihjb25zdCB1bnNpZ25lZCBjaGFyICpkZ3N0LCBpbnQg ZGxlbiwgCisgCQljb25zdCBCSUdOVU0gKiwgY29uc3QgQklHTlVNICosIEVDX0tFWSAqZWNrZXkp OworQEAgLTc3LDcgKzgwLDcgQEAgc3RhdGljIEVDRFNBX01FVEhPRCBvcGVuc3NsX2VjZHNhX21l dGggPQorIAlOVUxMLCAvKiBpbml0ICAgICAqLworIAlOVUxMLCAvKiBmaW5pc2ggICAqLworICNl bmRpZgorLQkwLCAgICAvKiBmbGFncyAgICAqLworKwlFQ0RTQV9GTEFHX0ZJUFNfTUVUSE9ELCAg ICAvKiBmbGFncyAgICAqLworIAlOVUxMICAvKiBhcHBfZGF0YSAqLworIH07CisgCitAQCAtMjMx LDYgKzIzNCwxNCBAQCBzdGF0aWMgRUNEU0FfU0lHICplY2RzYV9kb19zaWduKGNvbnN0IHVuCisg CUVDRFNBX0RBVEEgKmVjZHNhOworIAljb25zdCBCSUdOVU0gKnByaXZfa2V5OworIAorKyNpZmRl ZiBPUEVOU1NMX0ZJUFMKKysJaWYoRklQU19zZWxmdGVzdF9mYWlsZWQoKSkKKysJCXsKKysJCUZJ UFNlcnIoRklQU19GX0VDRFNBX0RPX1NJR04sRklQU19SX0ZJUFNfU0VMRlRFU1RfRkFJTEVEKTsK KysJCXJldHVybiBOVUxMOworKwkJfQorKyNlbmRpZgorKworIAllY2RzYSAgICA9IGVjZHNhX2No ZWNrKGVja2V5KTsKKyAJZ3JvdXAgICAgPSBFQ19LRVlfZ2V0MF9ncm91cChlY2tleSk7CisgCXBy aXZfa2V5ID0gRUNfS0VZX2dldDBfcHJpdmF0ZV9rZXkoZWNrZXkpOworQEAgLTM2MCw2ICszNzEs MTQgQEAgc3RhdGljIGludCBlY2RzYV9kb192ZXJpZnkoY29uc3QgdW5zaWduZQorIAljb25zdCBF Q19HUk9VUCAqZ3JvdXA7CisgCWNvbnN0IEVDX1BPSU5UICpwdWJfa2V5OworIAorKyNpZmRlZiBP UEVOU1NMX0ZJUFMKKysJaWYoRklQU19zZWxmdGVzdF9mYWlsZWQoKSkKKysJCXsKKysJCUZJUFNl cnIoRklQU19GX0VDRFNBX0RPX1ZFUklGWSxGSVBTX1JfRklQU19TRUxGVEVTVF9GQUlMRUQpOwor KwkJcmV0dXJuIC0xOworKwkJfQorKyNlbmRpZgorKworIAkvKiBjaGVjayBpbnB1dCB2YWx1ZXMg Ki8KKyAJaWYgKGVja2V5ID09IE5VTEwgfHwgKGdyb3VwID0gRUNfS0VZX2dldDBfZ3JvdXAoZWNr ZXkpKSA9PSBOVUxMIHx8CisgCSAgICAocHViX2tleSA9IEVDX0tFWV9nZXQwX3B1YmxpY19rZXko ZWNrZXkpKSA9PSBOVUxMIHx8IHNpZyA9PSBOVUxMKQogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2VjL2VjX2tleS5jLmZpcHMtZWMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjL2VjX2tl eS5jCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjL2VjX2tleS5jLmZpcHMtZWMJMjAxMy0w Mi0xMSAxNToyNjowNC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v ZWMvZWNfa2V5LmMJMjAxMy0xMC0xNSAwMTowODowNi4wNDY3ODMxNDggKzAxMDAKKy0tLSBvcGVu c3NsLTEuMC4xZS9jcnlwdG8vZWMvZWNfa2V5LmMuZmlwcy1lYwkyMDEzLTAyLTExIDE2OjI2OjA0 LjAwMDAwMDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lYy9lY19rZXkuYwky MDEzLTA1LTAzIDEyOjE5OjU5Ljk3ODMxNzM1NCArMDIwMAogQEAgLTY0LDkgKzY0LDYgQEAKICAj aW5jbHVkZSA8c3RyaW5nLmg+CiAgI2luY2x1ZGUgImVjX2xjbC5oIgpAQCAtMTE5LDggKzMxMiw4 IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lYy9lY19rZXkuYy5maXBzLWVjIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9lYy9lY19rCiAgCQlFQ2VycihFQ19GX0VDX0tFWV9TRVRfUFVC TElDX0tFWV9BRkZJTkVfQ09PUkRJTkFURVMsCiAgCQkJRUNfUl9DT09SRElOQVRFU19PVVRfT0Zf UkFOR0UpOwogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjL2VjcF9tb250LmMuZmlw cy1lYyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWMvZWNwX21vbnQuYwotLS0tIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9lYy9lY3BfbW9udC5jLmZpcHMtZWMJMjAxMy0wMi0xMSAxNToyNjowNC4wMDAw MDAwMDAgKzAwMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWMvZWNwX21vbnQuYwkyMDEz LTEwLTE1IDAxOjA4OjA2LjA0Nzc4MzE0NiArMDEwMAorLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9lYy9lY3BfbW9udC5jLmZpcHMtZWMJMjAxMy0wMi0xMSAxNjoyNjowNC4wMDAwMDAwMDAgKzAx MDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWMvZWNwX21vbnQuYwkyMDEzLTA1LTAzIDEy OjE5OjU5Ljk3ODMxNzM1NCArMDIwMAogQEAgLTYzLDE4ICs2MywxMSBAQAogIAogICNpbmNsdWRl IDxvcGVuc3NsL2Vyci5oPgpAQCAtMTQ5LDggKzM0Miw4IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9lYy9lY3BfbW9udC5jLmZpcHMtZWMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Vj L2VjCiAgCiAgCiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWMvZWNwX25pc3QuYy5m aXBzLWVjIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lYy9lY3BfbmlzdC5jCi0tLS0gb3BlbnNzbC0x LjAuMWUvY3J5cHRvL2VjL2VjcF9uaXN0LmMuZmlwcy1lYwkyMDEzLTAyLTExIDE1OjI2OjA0LjAw MDAwMDAwMCArMDAwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lYy9lY3BfbmlzdC5jCTIw MTMtMTAtMTUgMDE6MDg6MDYuMDQ3NzgzMTQ2ICswMTAwCistLS0gb3BlbnNzbC0xLjAuMWUvY3J5 cHRvL2VjL2VjcF9uaXN0LmMuZmlwcy1lYwkyMDEzLTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCAr MDEwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lYy9lY3BfbmlzdC5jCTIwMTMtMDUtMDMg MTI6MTk6NTkuOTc4MzE3MzU0ICswMjAwCiBAQCAtNjcsMTUgKzY3LDggQEAKICAjaW5jbHVkZSA8 b3BlbnNzbC9vYmpfbWFjLmg+CiAgI2luY2x1ZGUgImVjX2xjbC5oIgpAQCAtMTc2LDggKzM2OSw4 IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lYy9lY3BfbmlzdC5jLmZpcHMtZWMg b3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjL2VjCiAgCiAgaW50IGVjX0dGcF9uaXN0X2dyb3VwX2Nv cHkoRUNfR1JPVVAgKmRlc3QsIGNvbnN0IEVDX0dST1VQICpzcmMpCiBkaWZmIC11cCBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vZWMvZWNwX3NtcGwuYy5maXBzLWVjIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9lYy9lY3Bfc21wbC5jCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjL2VjcF9zbXBsLmMu Zmlwcy1lYwkyMDEzLTAyLTExIDE1OjI2OjA0LjAwMDAwMDAwMCArMDAwMAotKysrIG9wZW5zc2wt MS4wLjFlL2NyeXB0by9lYy9lY3Bfc21wbC5jCTIwMTMtMTAtMTUgMDE6MDg6MDYuMDQ3NzgzMTQ2 ICswMTAwCistLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjL2VjcF9zbXBsLmMuZmlwcy1lYwky MDEzLTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9lYy9lY3Bfc21wbC5jCTIwMTMtMDUtMDMgMTI6MTk6NTkuOTc5MzE3Mzc2ICswMjAwCiBA QCAtNjUsMTcgKzY1LDEwIEBACiAgI2luY2x1ZGUgPG9wZW5zc2wvZXJyLmg+CiAgI2luY2x1ZGUg PG9wZW5zc2wvc3ltaGFja3MuaD4KQEAgLTE5NywyMzAgKzM5MCwyOSBAQCBkaWZmIC11cCBvcGVu c3NsLTEuMC4xZS9jcnlwdG8vZWMvZWNwX3NtcGwuYy5maXBzLWVjIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9lYy9lYwogIAkJRUNfRkxBR1NfREVGQVVMVF9PQ1QsCiAgCQlOSURfWDlfNjJfcHJpbWVf ZmllbGQsCiBAQCAtMTE2LDcgKzEwOSw2IEBAIGNvbnN0IEVDX01FVEhPRCAqRUNfR0ZwX3NpbXBs ZV9tZXRob2Qodm8KLSAJCTAgLyogZmllbGRfc2V0X3RvX29uZSAqLyB9OwotIAotIAlyZXR1cm4g JnJldDsKLS0jZW5kaWYKLSAJfQotIAotIAotZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRv L2VjZGgvZWNkaC5oLmZpcHMtZWMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjZGgvZWNkaC5oCi0t LS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjZGgvZWNkaC5oLmZpcHMtZWMJMjAxMy0xMC0xNSAw MTowODowNS43NDg3ODM1NTkgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWNkaC9l Y2RoLmgJMjAxMy0xMC0xNSAwMTowODowNi4wNDY3ODMxNDggKzAxMDAKLUBAIC04NSw2ICs4NSw4 IEBACi0gZXh0ZXJuICJDIiB7Ci0gI2VuZGlmCi0gCi0rI2RlZmluZSBFQ19GTEFHX0NPRkFDVE9S X0VDREgJMHgxMDAwCi0rCi0gY29uc3QgRUNESF9NRVRIT0QgKkVDREhfT3BlblNTTCh2b2lkKTsK LSAKLSB2b2lkCSAgRUNESF9zZXRfZGVmYXVsdF9tZXRob2QoY29uc3QgRUNESF9NRVRIT0QgKik7 Ci1kaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWNkaC9lY2RodGVzdC5jLmZpcHMtZWMg b3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjZGgvZWNkaHRlc3QuYwotLS0tIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9lY2RoL2VjZGh0ZXN0LmMuZmlwcy1lYwkyMDEzLTAyLTExIDE1OjI2OjA0LjAwMDAw MDAwMCArMDAwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lY2RoL2VjZGh0ZXN0LmMJMjAx My0xMC0xNSAwMTowODowNi4wNDY3ODMxNDggKzAxMDAKLUBAIC0zMjMsMTEgKzMyMywxNSBAQCBp bnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQotIAlpZiAoKGN0eD1CTl9DVFhfbmV3KCkp ID09IE5VTEwpIGdvdG8gZXJyOwotIAotIAkvKiBOSVNUIFBSSU1FIENVUlZFUyBURVNUUyAqLwot KyNpZiAwCi0gCWlmICghdGVzdF9lY2RoX2N1cnZlKE5JRF9YOV82Ml9wcmltZTE5MnYxLCAiTklT VCBQcmltZS1DdXJ2ZSBQLTE5MiIsIGN0eCwgb3V0KSkgZ290byBlcnI7Ci0gCWlmICghdGVzdF9l Y2RoX2N1cnZlKE5JRF9zZWNwMjI0cjEsICJOSVNUIFByaW1lLUN1cnZlIFAtMjI0IiwgY3R4LCBv dXQpKSBnb3RvIGVycjsKLSsjZW5kaWYKLSAJaWYgKCF0ZXN0X2VjZGhfY3VydmUoTklEX1g5XzYy X3ByaW1lMjU2djEsICJOSVNUIFByaW1lLUN1cnZlIFAtMjU2IiwgY3R4LCBvdXQpKSBnb3RvIGVy cjsKLSAJaWYgKCF0ZXN0X2VjZGhfY3VydmUoTklEX3NlY3AzODRyMSwgIk5JU1QgUHJpbWUtQ3Vy dmUgUC0zODQiLCBjdHgsIG91dCkpIGdvdG8gZXJyOwotKyNpZiAwCi0gCWlmICghdGVzdF9lY2Ro X2N1cnZlKE5JRF9zZWNwNTIxcjEsICJOSVNUIFByaW1lLUN1cnZlIFAtNTIxIiwgY3R4LCBvdXQp KSBnb3RvIGVycjsKLSsjZW5kaWYKLSAjaWZuZGVmIE9QRU5TU0xfTk9fRUMyTQotIAkvKiBOSVNU IEJJTkFSWSBDVVJWRVMgVEVTVFMgKi8KLSAJaWYgKCF0ZXN0X2VjZGhfY3VydmUoTklEX3NlY3Qx NjNrMSwgIk5JU1QgQmluYXJ5LUN1cnZlIEstMTYzIiwgY3R4LCBvdXQpKSBnb3RvIGVycjsKLWRp ZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lY2RoL2VjaF9saWIuYy5maXBzLWVjIG9wZW5z c2wtMS4wLjFlL2NyeXB0by9lY2RoL2VjaF9saWIuYwotLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9lY2RoL2VjaF9saWIuYy5maXBzLWVjCTIwMTMtMDItMTEgMTU6MjY6MDQuMDAwMDAwMDAwICsw MDAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjZGgvZWNoX2xpYi5jCTIwMTMtMTAtMTUg MDE6MDg6MDYuMDQ2NzgzMTQ4ICswMTAwCi1AQCAtOTQsMTQgKzk0LDcgQEAgY29uc3QgRUNESF9N RVRIT0QgKkVDREhfZ2V0X2RlZmF1bHRfbWV0aAotIAl7Ci0gCWlmKCFkZWZhdWx0X0VDREhfbWV0 aG9kKSAKLSAJCXsKLS0jaWZkZWYgT1BFTlNTTF9GSVBTCi0tCQlpZiAoRklQU19tb2RlKCkpCi0t CQkJcmV0dXJuIEZJUFNfZWNkaF9vcGVuc3NsKCk7Ci0tCQllbHNlCi0tCQkJcmV0dXJuIEVDREhf T3BlblNTTCgpOwotLSNlbHNlCi0gCQlkZWZhdWx0X0VDREhfbWV0aG9kID0gRUNESF9PcGVuU1NM KCk7Ci0tI2VuZGlmCi0gCQl9Ci0gCXJldHVybiBkZWZhdWx0X0VDREhfbWV0aG9kOwotIAl9Ci1k aWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWNkaC9lY2hfb3NzbC5jLmZpcHMtZWMgb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL2VjZGgvZWNoX29zc2wuYwotLS0tIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9lY2RoL2VjaF9vc3NsLmMuZmlwcy1lYwkyMDEzLTAyLTExIDE1OjI2OjA0LjAwMDAwMDAw MCArMDAwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lY2RoL2VjaF9vc3NsLmMJMjAxMy0x MC0xNSAwMTowODowNi4wNDY3ODMxNDggKzAxMDAKLUBAIC03OSw2ICs3OSwxMCBAQAotICNpbmNs dWRlIDxvcGVuc3NsL29ial9tYWMuaD4KLSAjaW5jbHVkZSA8b3BlbnNzbC9ibi5oPgotIAotKyNp ZmRlZiBPUEVOU1NMX0ZJUFMKLSsjaW5jbHVkZSA8b3BlbnNzbC9maXBzLmg+Ci0rI2VuZGlmCi0r Ci0gc3RhdGljIGludCBlY2RoX2NvbXB1dGVfa2V5KHZvaWQgKm91dCwgc2l6ZV90IGxlbiwgY29u c3QgRUNfUE9JTlQgKnB1Yl9rZXksCi0gCUVDX0tFWSAqZWNkaCwgCi0gCXZvaWQgKigqS0RGKShj b25zdCB2b2lkICppbiwgc2l6ZV90IGlubGVuLCB2b2lkICpvdXQsIHNpemVfdCAqb3V0bGVuKSk7 Ci1AQCAtOTAsNyArOTQsNyBAQCBzdGF0aWMgRUNESF9NRVRIT0Qgb3BlbnNzbF9lY2RoX21ldGgg PSB7Ci0gCU5VTEwsIC8qIGluaXQgICAgICovCi0gCU5VTEwsIC8qIGZpbmlzaCAgICovCi0gI2Vu ZGlmCi0tCTAsICAgIC8qIGZsYWdzICAgICovCi0rCUVDREhfRkxBR19GSVBTX01FVEhPRCwgICAg LyogZmxhZ3MgICAgKi8KLSAJTlVMTCAgLyogYXBwX2RhdGEgKi8KLSB9OwotIAotQEAgLTExOCw2 ICsxMjIsMTQgQEAgc3RhdGljIGludCBlY2RoX2NvbXB1dGVfa2V5KHZvaWQgKm91dCwgcwotIAlz aXplX3QgYnVmbGVuLCBsZW47Ci0gCXVuc2lnbmVkIGNoYXIgKmJ1Zj1OVUxMOwotIAotKyNpZmRl ZiBPUEVOU1NMX0ZJUFMKLSsJaWYoRklQU19zZWxmdGVzdF9mYWlsZWQoKSkKLSsJCXsKLSsJCUZJ UFNlcnIoRklQU19GX0VDREhfQ09NUFVURV9LRVksRklQU19SX0ZJUFNfU0VMRlRFU1RfRkFJTEVE KTsKLSsJCXJldHVybiAtMTsKLSsJCX0KLSsjZW5kaWYKLSsKLSAJaWYgKG91dGxlbiA+IElOVF9N QVgpCi0gCQl7Ci0gCQlFQ0RIZXJyKEVDREhfRl9FQ0RIX0NPTVBVVEVfS0VZLEVSUl9SX01BTExP Q19GQUlMVVJFKTsgLyogc29ydCBvZiwgYW55d2F5ICovCi1AQCAtMTM3LDYgKzE0OSwxOCBAQCBz dGF0aWMgaW50IGVjZGhfY29tcHV0ZV9rZXkodm9pZCAqb3V0LCBzCi0gCQl9Ci0gCi0gCWdyb3Vw ID0gRUNfS0VZX2dldDBfZ3JvdXAoZWNkaCk7Ci0rCi0rCWlmIChFQ19LRVlfZ2V0X2ZsYWdzKGVj ZGgpICYgRUNfRkxBR19DT0ZBQ1RPUl9FQ0RIKQotKwkJewotKwkJaWYgKCFFQ19HUk9VUF9nZXRf Y29mYWN0b3IoZ3JvdXAsIHgsIGN0eCkgfHwKLSsJCQkhQk5fbXVsKHgsIHgsIHByaXZfa2V5LCBj dHgpKQotKwkJCXsKLSsJCQlFQ0RIZXJyKEVDREhfRl9FQ0RIX0NPTVBVVEVfS0VZLCBFUlJfUl9N QUxMT0NfRkFJTFVSRSk7Ci0rCQkJZ290byBlcnI7Ci0rCQkJfQotKwkJcHJpdl9rZXkgPSB4Owot KwkJfQotKwotIAlpZiAoKHRtcD1FQ19QT0lOVF9uZXcoZ3JvdXApKSA9PSBOVUxMKQotIAkJewot IAkJRUNESGVycihFQ0RIX0ZfRUNESF9DT01QVVRFX0tFWSxFUlJfUl9NQUxMT0NfRkFJTFVSRSk7 Ci1kaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWNkc2EvZWNkc2F0ZXN0LmMuZmlwcy1l YyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWNkc2EvZWNkc2F0ZXN0LmMKLS0tLSBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vZWNkc2EvZWNkc2F0ZXN0LmMuZmlwcy1lYwkyMDEzLTAyLTExIDE1OjI2OjA0 LjAwMDAwMDAwMCArMDAwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lY2RzYS9lY2RzYXRl c3QuYwkyMDEzLTEwLTE1IDAxOjA4OjA2LjA0Njc4MzE0OCArMDEwMAotQEAgLTEzOCwxMSArMTM4 LDE0IEBAIGludCByZXN0b3JlX3JhbmQodm9pZCkKLSAJfQotIAotIHN0YXRpYyBpbnQgZmJ5dGVz X2NvdW50ZXIgPSAwOwotLXN0YXRpYyBjb25zdCBjaGFyICpudW1iZXJzWzhdID0gewotK3N0YXRp YyBjb25zdCBjaGFyICpudW1iZXJzWzEwXSA9IHsKLSsJIjY1MTA1Njc3MDkwNjAxNTA3NjA1Njgx MDc2MzQ1NjM1ODU2NzE5MDEwMDE1NjY5NTYxNTY2NTY1OSIsCi0gCSI2NTEwNTY3NzA5MDYwMTUw NzYwNTY4MTA3NjM0NTYzNTg1NjcxOTAxMDAxNTY2OTU2MTU2NjU2NTkiLAotIAkiNjE0MDUwNzA2 NzA2NTAwMTA2MzA2NTA2NTU2NTY2NzQwNTU2MDAwNjE2MTU1NjU2NTY2NTY1NjY1NCIsCi0gCSI4 NzYzMDAxMDE1MDcxMDc1Njc1MDEwNjYxMzA3NjE2NzEwNzgzNTcwMTA2NzEwNjc3ODE3NzY3MTY2 IgotIAkiNzE2NzYxNzg3MjY3MTciLAotKwkiODc2MzAwMTAxNTA3MTA3NTY3NTAxMDY2MTMwNzYx NjcxMDc4MzU3MDEwNjcxMDY3NzgxNzc2NzE2NiIKLSsJIjcxNjc2MTc4NzI2NzE3IiwKLSAJIjcw MDAwMDAxNzU2OTA1NjY0NjY1NTUwNTc4MTc1NzE1NzEwNzU3MDUwMTU3NTc3NTcwNTc3OTU3NTUi Ci0gCSI1NTY1NzE1Njc1NjY1NSIsCi0gCSIxMjc1NTUyMTkxMTEzMjEyMzAwMDEyMDMwNDM5MTg3 MTQ2MTY0NjQ2MTQ2NjQ2NDY2NzQ5NDk0Nzk5IiwKLUBAIC0xNTcsNyArMTYwLDcgQEAgaW50IGZi eXRlcyh1bnNpZ25lZCBjaGFyICpidWYsIGludCBudW0pCi0gCWludAlyZXQ7Ci0gCUJJR05VTQkq dG1wID0gTlVMTDsKLSAKLS0JaWYgKGZieXRlc19jb3VudGVyID49IDgpCi0rCWlmIChmYnl0ZXNf Y291bnRlciA+PSAxMCkKLSAJCXJldHVybiAwOwotIAl0bXAgPSBCTl9uZXcoKTsKLSAJaWYgKCF0 bXApCi1AQCAtNTUwLDcgKzU1Myw5IEBAIGludCBtYWluKHZvaWQpCi0gCVJBTkRfc2VlZChybmRf c2VlZCwgc2l6ZW9mKHJuZF9zZWVkKSk7Ci0gCi0gCS8qIHRoZSB0ZXN0cyAqLwotKyNpZiAwCi0g CWlmICgheDlfNjJfdGVzdHMob3V0KSkgIGdvdG8gZXJyOwotKyNlbmRpZgotIAlpZiAoIXRlc3Rf YnVpbHRpbihvdXQpKSBnb3RvIGVycjsKLSAJCi0gCXJldCA9IDA7Ci1kaWZmIC11cCBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vZWNkc2EvZWNzX2xpYi5jLmZpcHMtZWMgb3BlbnNzbC0xLjAuMWUvY3J5 cHRvL2VjZHNhL2Vjc19saWIuYwotLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lY2RzYS9lY3Nf bGliLmMuZmlwcy1lYwkyMDEzLTAyLTExIDE1OjI2OjA0LjAwMDAwMDAwMCArMDAwMAotKysrIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9lY2RzYS9lY3NfbGliLmMJMjAxMy0xMC0xNSAwMTowODowNi4w NDY3ODMxNDggKzAxMDAKLUBAIC04MSwxNCArODEsNyBAQCBjb25zdCBFQ0RTQV9NRVRIT0QgKkVD RFNBX2dldF9kZWZhdWx0X21lCi0gewotIAlpZighZGVmYXVsdF9FQ0RTQV9tZXRob2QpIAotIAkJ ewotLSNpZmRlZiBPUEVOU1NMX0ZJUFMKLS0JCWlmIChGSVBTX21vZGUoKSkKLS0JCQlyZXR1cm4g RklQU19lY2RzYV9vcGVuc3NsKCk7Ci0tCQllbHNlCi0tCQkJcmV0dXJuIEVDRFNBX09wZW5TU0wo KTsKLS0jZWxzZQotIAkJZGVmYXVsdF9FQ0RTQV9tZXRob2QgPSBFQ0RTQV9PcGVuU1NMKCk7Ci0t I2VuZGlmCi0gCQl9Ci0gCXJldHVybiBkZWZhdWx0X0VDRFNBX21ldGhvZDsKLSB9Ci1kaWZmIC11 cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWNkc2EvZWNzX29zc2wuYy5maXBzLWVjIG9wZW5zc2wt MS4wLjFlL2NyeXB0by9lY2RzYS9lY3Nfb3NzbC5jCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRv L2VjZHNhL2Vjc19vc3NsLmMuZmlwcy1lYwkyMDEzLTAyLTExIDE1OjI2OjA0LjAwMDAwMDAwMCAr MDAwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lY2RzYS9lY3Nfb3NzbC5jCTIwMTMtMTAt MTUgMDE6MDg6MDYuMDQ2NzgzMTQ4ICswMTAwCi1AQCAtNjAsNiArNjAsOSBAQAotICNpbmNsdWRl IDxvcGVuc3NsL2Vyci5oPgotICNpbmNsdWRlIDxvcGVuc3NsL29ial9tYWMuaD4KLSAjaW5jbHVk ZSA8b3BlbnNzbC9ibi5oPgotKyNpZmRlZiBPUEVOU1NMX0ZJUFMKLSsjaW5jbHVkZSA8b3BlbnNz bC9maXBzLmg+Ci0rI2VuZGlmCi0gCi0gc3RhdGljIEVDRFNBX1NJRyAqZWNkc2FfZG9fc2lnbihj b25zdCB1bnNpZ25lZCBjaGFyICpkZ3N0LCBpbnQgZGxlbiwgCi0gCQljb25zdCBCSUdOVU0gKiwg Y29uc3QgQklHTlVNICosIEVDX0tFWSAqZWNrZXkpOwotQEAgLTc3LDcgKzgwLDcgQEAgc3RhdGlj IEVDRFNBX01FVEhPRCBvcGVuc3NsX2VjZHNhX21ldGggPQotIAlOVUxMLCAvKiBpbml0ICAgICAq LwotIAlOVUxMLCAvKiBmaW5pc2ggICAqLwotICNlbmRpZgotLQkwLCAgICAvKiBmbGFncyAgICAq LwotKwlFQ0RTQV9GTEFHX0ZJUFNfTUVUSE9ELCAgICAvKiBmbGFncyAgICAqLwotIAlOVUxMICAv KiBhcHBfZGF0YSAqLwotIH07CisgCQkwIC8qIGZpZWxkX3NldF90b19vbmUgKi8gfTsKICAKLUBA IC0yMzEsNiArMjM0LDE0IEBAIHN0YXRpYyBFQ0RTQV9TSUcgKmVjZHNhX2RvX3NpZ24oY29uc3Qg dW4KLSAJRUNEU0FfREFUQSAqZWNkc2E7Ci0gCWNvbnN0IEJJR05VTSAqcHJpdl9rZXk7CisgCXJl dHVybiAmcmV0OworLSNlbmRpZgorIAl9CiAgCi0rI2lmZGVmIE9QRU5TU0xfRklQUwotKwlpZihG SVBTX3NlbGZ0ZXN0X2ZhaWxlZCgpKQotKwkJewotKwkJRklQU2VycihGSVBTX0ZfRUNEU0FfRE9f U0lHTixGSVBTX1JfRklQU19TRUxGVEVTVF9GQUlMRUQpOwotKwkJcmV0dXJuIE5VTEw7Ci0rCQl9 Ci0rI2VuZGlmCi0rCi0gCWVjZHNhICAgID0gZWNkc2FfY2hlY2soZWNrZXkpOwotIAlncm91cCAg ICA9IEVDX0tFWV9nZXQwX2dyb3VwKGVja2V5KTsKLSAJcHJpdl9rZXkgPSBFQ19LRVlfZ2V0MF9w cml2YXRlX2tleShlY2tleSk7Ci1AQCAtMzYwLDYgKzM3MSwxNCBAQCBzdGF0aWMgaW50IGVjZHNh X2RvX3ZlcmlmeShjb25zdCB1bnNpZ25lCi0gCWNvbnN0IEVDX0dST1VQICpncm91cDsKLSAJY29u c3QgRUNfUE9JTlQgKnB1Yl9rZXk7CiAgCi0rI2lmZGVmIE9QRU5TU0xfRklQUwotKwlpZihGSVBT X3NlbGZ0ZXN0X2ZhaWxlZCgpKQorQEAgLTE4Niw2ICsxNzgsMTIgQEAgaW50IGVjX0dGcF9zaW1w bGVfZ3JvdXBfc2V0X2N1cnZlKEVDX0dSTworIAkJcmV0dXJuIDA7CisgCQl9CisgCisrCWlmIChC Tl9udW1fYml0cyhwKSA8IDI1NikKICsJCXsKLSsJCUZJUFNlcnIoRklQU19GX0VDRFNBX0RPX1ZF UklGWSxGSVBTX1JfRklQU19TRUxGVEVTVF9GQUlMRUQpOwotKwkJcmV0dXJuIC0xOworKwkJRUNl cnIoRUNfRl9FQ19HRlBfU0lNUExFX0dST1VQX1NFVF9DVVJWRSwgRUNfUl9VTlNVUFBPUlRFRF9G SUVMRCk7CisrCQlyZXR1cm4gMDsKICsJCX0KLSsjZW5kaWYKICsKLSAJLyogY2hlY2sgaW5wdXQg dmFsdWVzICovCi0gCWlmIChlY2tleSA9PSBOVUxMIHx8IChncm91cCA9IEVDX0tFWV9nZXQwX2dy b3VwKGVja2V5KSkgPT0gTlVMTCB8fAotIAkgICAgKHB1Yl9rZXkgPSBFQ19LRVlfZ2V0MF9wdWJs aWNfa2V5KGVja2V5KSkgPT0gTlVMTCB8fCBzaWcgPT0gTlVMTCkKKyAJaWYgKGN0eCA9PSBOVUxM KQorIAkJeworIAkJY3R4ID0gbmV3X2N0eCA9IEJOX0NUWF9uZXcoKTsKIGRpZmYgLXVwIG9wZW5z c2wtMS4wLjFlL2NyeXB0by9ldnAvbV9lY2RzYS5jLmZpcHMtZWMgb3BlbnNzbC0xLjAuMWUvY3J5 cHRvL2V2cC9tX2VjZHNhLmMKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL21fZWNkc2Eu Yy5maXBzLWVjCTIwMTMtMDItMTEgMTU6MjY6MDQuMDAwMDAwMDAwICswMDAwCi0rKysgb3BlbnNz bC0xLjAuMWUvY3J5cHRvL2V2cC9tX2VjZHNhLmMJMjAxMy0xMC0xNSAwMTowODowNi4wNDc3ODMx NDYgKzAxMDAKKy0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL21fZWNkc2EuYy5maXBzLWVj CTIwMTMtMDItMTEgMTY6MjY6MDQuMDAwMDAwMDAwICswMTAwCisrKysgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2V2cC9tX2VjZHNhLmMJMjAxMy0wNS0wMyAxMjoxOTo1OS45NzkzMTczNzYgKzAyMDAK IEBAIC0xMTYsNyArMTE2LDYgQEAKICAjaW5jbHVkZSA8b3BlbnNzbC94NTA5Lmg+CiAgCkBAIC00 NDMsMTEzICs0MzUsOSBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL21fZWNk c2EuYy5maXBzLWVjIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvbQogIAl9CiAgI2VuZGlmCiAt I2VuZGlmCi1kaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9NYWtlZmlsZS5maXBz LWVjIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL01ha2VmaWxlCi0tLS0gb3BlbnNzbC0xLjAu MWUvY3J5cHRvL2ZpcHMvTWFrZWZpbGUuZmlwcy1lYwkyMDEzLTEwLTE1IDAxOjA4OjA2LjAwODc4 MzIwMCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL01ha2VmaWxlCTIwMTMt MTAtMTUgMDE6MDg6MTcuNjI3NzY3MTY4ICswMTAwCi1AQCAtMjQsMTMgKzI0LDEzIEBAIExJQlNS Qz1maXBzX2Flc19zZWxmdGVzdC5jIGZpcHNfZGVzX3NlbGYKLSAgICAgZmlwc19yc2Ffc2VsZnRl c3QuYyBmaXBzX3NoYV9zZWxmdGVzdC5jIGZpcHMuYyBmaXBzX2RzYV9zZWxmdGVzdC5jICBmaXBz X3JhbmQuYyBcCi0gICAgIGZpcHNfcnNhX3g5MzFnLmMgZmlwc19wb3N0LmMgZmlwc19kcmJnX2N0 ci5jIGZpcHNfZHJiZ19oYXNoLmMgZmlwc19kcmJnX2htYWMuYyBcCi0gICAgIGZpcHNfZHJiZ19s aWIuYyBmaXBzX2RyYmdfcmFuZC5jIGZpcHNfZHJiZ19zZWxmdGVzdC5jIGZpcHNfcmFuZF9saWIu YyBcCi0tICAgIGZpcHNfY21hY19zZWxmdGVzdC5jIGZpcHNfZW5jLmMgZmlwc19tZC5jCi0rICAg IGZpcHNfY21hY19zZWxmdGVzdC5jIGZpcHNfZWNkaF9zZWxmdGVzdC5jIGZpcHNfZWNkc2Ffc2Vs ZnRlc3QuYyBmaXBzX2VuYy5jIGZpcHNfbWQuYwotIAotIExJQk9CSj1maXBzX2Flc19zZWxmdGVz dC5vIGZpcHNfZGVzX3NlbGZ0ZXN0Lm8gZmlwc19obWFjX3NlbGZ0ZXN0Lm8gZmlwc19yYW5kX3Nl bGZ0ZXN0Lm8gXAotICAgICBmaXBzX3JzYV9zZWxmdGVzdC5vIGZpcHNfc2hhX3NlbGZ0ZXN0Lm8g Zmlwcy5vIGZpcHNfZHNhX3NlbGZ0ZXN0Lm8gIGZpcHNfcmFuZC5vIFwKLSAgICAgZmlwc19yc2Ff eDkzMWcubyBmaXBzX3Bvc3QubyBmaXBzX2RyYmdfY3RyLm8gZmlwc19kcmJnX2hhc2gubyBmaXBz X2RyYmdfaG1hYy5vIFwKLSAgICAgZmlwc19kcmJnX2xpYi5vIGZpcHNfZHJiZ19yYW5kLm8gZmlw c19kcmJnX3NlbGZ0ZXN0Lm8gZmlwc19yYW5kX2xpYi5vIFwKLS0gICAgZmlwc19jbWFjX3NlbGZ0 ZXN0Lm8gZmlwc19lbmMubyBmaXBzX21kLm8KLSsgICAgZmlwc19jbWFjX3NlbGZ0ZXN0Lm8gZmlw c19lY2RoX3NlbGZ0ZXN0Lm8gZmlwc19lY2RzYV9zZWxmdGVzdC5vIGZpcHNfZW5jLm8gZmlwc19t ZC5vCi0gCi0gTElCQ1JZUFRPPS1MLi4gLWxjcnlwdG8KLSAKLUBAIC0xMTgsNiArMTE4LDIxIEBA IGZpcHNfYWVzX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnMKLSBmaXBzX2Flc19zZWxm dGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvc2FmZXN0YWNrLmgKLSBmaXBzX2Flc19zZWxm dGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvc3RhY2suaAotIGZpcHNfYWVzX3NlbGZ0ZXN0 Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9zeW1oYWNrcy5oIGZpcHNfYWVzX3NlbGZ0ZXN0LmMK LStmaXBzX2NtYWNfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2FzbjEuaCAuLi8u Li9pbmNsdWRlL29wZW5zc2wvYmlvLmgKLStmaXBzX2NtYWNfc2VsZnRlc3QubzogLi4vLi4vaW5j bHVkZS9vcGVuc3NsL2NtYWMuaAotK2ZpcHNfY21hY19zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRl L29wZW5zc2wvY3J5cHRvLmgKLStmaXBzX2NtYWNfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9v cGVuc3NsL2Vfb3MyLmggLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2Vyci5oCi0rZmlwc19jbWFjX3Nl bGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9ldnAuaCAuLi8uLi9pbmNsdWRlL29wZW5z c2wvZmlwcy5oCi0rZmlwc19jbWFjX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9s aGFzaC5oCi0rZmlwc19jbWFjX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9vYmpf bWFjLmgKLStmaXBzX2NtYWNfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL29iamVj dHMuaAotK2ZpcHNfY21hY19zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvb3BlbnNz bGNvbmYuaAotK2ZpcHNfY21hY19zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvb3Bl bnNzbHYuaAotK2ZpcHNfY21hY19zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvb3Nz bF90eXAuaAotK2ZpcHNfY21hY19zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvc2Fm ZXN0YWNrLmgKLStmaXBzX2NtYWNfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL3N0 YWNrLmgKLStmaXBzX2NtYWNfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL3N5bWhh Y2tzLmggZmlwc19jbWFjX3NlbGZ0ZXN0LmMKLStmaXBzX2NtYWNfc2VsZnRlc3QubzogZmlwc19s b2NsLmgKLSBmaXBzX2Rlc19zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvYXNuMS5o IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9iaW8uaAotIGZpcHNfZGVzX3NlbGZ0ZXN0Lm86IC4uLy4u L2luY2x1ZGUvb3BlbnNzbC9jcnlwdG8uaAotIGZpcHNfZGVzX3NlbGZ0ZXN0Lm86IC4uLy4uL2lu Y2x1ZGUvb3BlbnNzbC9lX29zMi5oIC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9lcnIuaAotQEAgLTIz MSw2ICsyNDYsNDYgQEAgZmlwc19kc2Ffc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVucwot IGZpcHNfZHNhX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9zdGFjay5oCi0gZmlw c19kc2Ffc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL3N5bWhhY2tzLmggZmlwc19k c2Ffc2VsZnRlc3QuYwotIGZpcHNfZHNhX3NlbGZ0ZXN0Lm86IGZpcHNfbG9jbC5oCi0rZmlwc19l Y2RoX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9hc24xLmggLi4vLi4vaW5jbHVk ZS9vcGVuc3NsL2Jpby5oCi0rZmlwc19lY2RoX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3Bl bnNzbC9ibi5oIC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9jcnlwdG8uaAotK2ZpcHNfZWNkaF9zZWxm dGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvZV9vczIuaCAuLi8uLi9pbmNsdWRlL29wZW5z c2wvZWMuaAotK2ZpcHNfZWNkaF9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvZWNk aC5oIC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9lcnIuaAotK2ZpcHNfZWNkaF9zZWxmdGVzdC5vOiAu Li8uLi9pbmNsdWRlL29wZW5zc2wvZXZwLmggLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2ZpcHMuaAot K2ZpcHNfZWNkaF9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvbGhhc2guaAotK2Zp cHNfZWNkaF9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvb2JqX21hYy5oCi0rZmlw c19lY2RoX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9vYmplY3RzLmgKLStmaXBz X2VjZGhfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL29wZW5zc2xjb25mLmgKLStm aXBzX2VjZGhfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL29wZW5zc2x2LmgKLStm aXBzX2VjZGhfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL29zc2xfdHlwLmgKLStm aXBzX2VjZGhfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL3NhZmVzdGFjay5oCi0r Zmlwc19lY2RoX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9zdGFjay5oCi0rZmlw c19lY2RoX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9zeW1oYWNrcy5oIGZpcHNf ZWNkaF9zZWxmdGVzdC5jCi0rZmlwc19lY2RoX3NlbGZ0ZXN0Lm86IGZpcHNfbG9jbC5oCi0rZmlw c19lY2RzYV9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvYXNuMS5oIC4uLy4uL2lu Y2x1ZGUvb3BlbnNzbC9iaW8uaAotK2ZpcHNfZWNkc2Ffc2VsZnRlc3QubzogLi4vLi4vaW5jbHVk ZS9vcGVuc3NsL2JuLmgKLStmaXBzX2VjZHNhX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3Bl bnNzbC9jcnlwdG8uaAotK2ZpcHNfZWNkc2Ffc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVu c3NsL2Vfb3MyLmggLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2VjLmgKLStmaXBzX2VjZHNhX3NlbGZ0 ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9lY2RzYS5oCi0rZmlwc19lY2RzYV9zZWxmdGVz dC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvZXJyLmggLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2V2 cC5oCi0rZmlwc19lY2RzYV9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvZmlwcy5o Ci0rZmlwc19lY2RzYV9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvbGhhc2guaAot K2ZpcHNfZWNkc2Ffc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL29ial9tYWMuaAot K2ZpcHNfZWNkc2Ffc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL29iamVjdHMuaAot K2ZpcHNfZWNkc2Ffc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL29wZW5zc2xjb25m LmgKLStmaXBzX2VjZHNhX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9vcGVuc3Ns di5oCi0rZmlwc19lY2RzYV9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvb3NzbF90 eXAuaAotK2ZpcHNfZWNkc2Ffc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL3NhZmVz dGFjay5oCi0rZmlwc19lY2RzYV9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvc3Rh Y2suaAotK2ZpcHNfZWNkc2Ffc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL3N5bWhh Y2tzLmggZmlwc19lY2RzYV9zZWxmdGVzdC5jCi0rZmlwc19lbmMubzogLi4vLi4vaW5jbHVkZS9v cGVuc3NsL2FzbjEuaCAuLi8uLi9pbmNsdWRlL29wZW5zc2wvYmlvLmgKLStmaXBzX2VuYy5vOiAu Li8uLi9pbmNsdWRlL29wZW5zc2wvY3J5cHRvLmggLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2Vfb3My LmgKLStmaXBzX2VuYy5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvZXJyLmggLi4vLi4vaW5jbHVk ZS9vcGVuc3NsL2V2cC5oCi0rZmlwc19lbmMubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2ZpcHMu aCAuLi8uLi9pbmNsdWRlL29wZW5zc2wvbGhhc2guaAotK2ZpcHNfZW5jLm86IC4uLy4uL2luY2x1 ZGUvb3BlbnNzbC9vYmpfbWFjLmggLi4vLi4vaW5jbHVkZS9vcGVuc3NsL29iamVjdHMuaAotK2Zp cHNfZW5jLm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9vcGVuc3NsY29uZi5oCi0rZmlwc19lbmMu bzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL29wZW5zc2x2LmggLi4vLi4vaW5jbHVkZS9vcGVuc3Ns L29zc2xfdHlwLmgKLStmaXBzX2VuYy5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvc2FmZXN0YWNr LmggLi4vLi4vaW5jbHVkZS9vcGVuc3NsL3N0YWNrLmgKLStmaXBzX2VuYy5vOiAuLi8uLi9pbmNs dWRlL29wZW5zc2wvc3ltaGFja3MuaCBmaXBzX2VuYy5jCi0gZmlwc19obWFjX3NlbGZ0ZXN0Lm86 IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9hc24xLmggLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2Jpby5o Ci0gZmlwc19obWFjX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9jcnlwdG8uaAot IGZpcHNfaG1hY19zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvZV9vczIuaCAuLi8u Li9pbmNsdWRlL29wZW5zc2wvZXJyLmgKLUBAIC0yNDUsNiArMzAwLDE1IEBAIGZpcHNfaG1hY19z ZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW4KLSBmaXBzX2htYWNfc2VsZnRlc3QubzogLi4v Li4vaW5jbHVkZS9vcGVuc3NsL3NhZmVzdGFjay5oCi0gZmlwc19obWFjX3NlbGZ0ZXN0Lm86IC4u Ly4uL2luY2x1ZGUvb3BlbnNzbC9zdGFjay5oCi0gZmlwc19obWFjX3NlbGZ0ZXN0Lm86IC4uLy4u L2luY2x1ZGUvb3BlbnNzbC9zeW1oYWNrcy5oIGZpcHNfaG1hY19zZWxmdGVzdC5jCi0rZmlwc19t ZC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvYXNuMS5oIC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9i aW8uaAotK2ZpcHNfbWQubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2NyeXB0by5oIC4uLy4uL2lu Y2x1ZGUvb3BlbnNzbC9lX29zMi5oCi0rZmlwc19tZC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wv ZXJyLmggLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2V2cC5oCi0rZmlwc19tZC5vOiAuLi8uLi9pbmNs dWRlL29wZW5zc2wvZmlwcy5oIC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9saGFzaC5oCi0rZmlwc19t ZC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvb2JqX21hYy5oIC4uLy4uL2luY2x1ZGUvb3BlbnNz bC9vYmplY3RzLmgKLStmaXBzX21kLm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9vcGVuc3NsY29u Zi5oIC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9vcGVuc3Nsdi5oCi0rZmlwc19tZC5vOiAuLi8uLi9p bmNsdWRlL29wZW5zc2wvb3NzbF90eXAuaCAuLi8uLi9pbmNsdWRlL29wZW5zc2wvc2FmZXN0YWNr LmgKLStmaXBzX21kLm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9zdGFjay5oIC4uLy4uL2luY2x1 ZGUvb3BlbnNzbC9zeW1oYWNrcy5oCi0rZmlwc19tZC5vOiBmaXBzX21kLmMKLSBmaXBzX3Bvc3Qu bzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2Flcy5oIC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9hc24x LmgKLSBmaXBzX3Bvc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2Jpby5oIC4uLy4uL2luY2x1 ZGUvb3BlbnNzbC9jcnlwdG8uaAotIGZpcHNfcG9zdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wv ZHNhLmggLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2Vfb3MyLmgKIGRpZmYgLXVwIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19lY2RodnMuYy5maXBzLWVjIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9maXBzL2NhdnMvZmlwc19lY2RodnMuYwotLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9maXBzL2NhdnMvZmlwc19lY2RodnMuYy5maXBzLWVjCTIwMTMtMTAtMTUgMDE6MDg6MDYuMDQ3 NzgzMTQ2ICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX2Vj ZGh2cy5jCTIwMTMtMTAtMTUgMDE6MDg6MDYuMDQ3NzgzMTQ2ICswMTAwCistLS0gb3BlbnNzbC0x LjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX2VjZGh2cy5jLmZpcHMtZWMJMjAxMy0wNS0wMyAx MjoxOTo1OS45ODAzMTczOTcgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9j YXZzL2ZpcHNfZWNkaHZzLmMJMjAxMy0wNS0wMyAxMjoxOTo1OS45ODAzMTczOTcgKzAyMDAKIEBA IC0wLDAgKzEsNDk2IEBACiArLyogZmlwcy9lY2RoL2ZpcHNfZWNkaHZzLmMgKi8KICsvKiBXcml0 dGVuIGJ5IERyIFN0ZXBoZW4gTiBIZW5zb24gKHN0ZXZlQG9wZW5zc2wub3JnKSBmb3IgdGhlIE9w ZW5TU0wKQEAgLTEwNDgsOCArOTM2LDggQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRv L2ZpcHMvY2F2cy9maXBzX2VjZGh2cy5jLmZpcHMtZWMgb3BlbnNzbC0xLjAuMWUvY3IKICsKICsj ZW5kaWYKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19lY2Rz YXZzLmMuZmlwcy1lYyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfZWNkc2F2 cy5jCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX2VjZHNhdnMuYy5m aXBzLWVjCTIwMTMtMTAtMTUgMDE6MDg6MDYuMDQ3NzgzMTQ2ICswMTAwCi0rKysgb3BlbnNzbC0x LjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX2VjZHNhdnMuYwkyMDEzLTEwLTE1IDAxOjA4OjA2 LjA0Nzc4MzE0NiArMDEwMAorLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlw c19lY2RzYXZzLmMuZmlwcy1lYwkyMDEzLTA1LTAzIDEyOjE5OjU5Ljk4MDMxNzM5NyArMDIwMAor KysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19lY2RzYXZzLmMJMjAxMy0w NS0wMyAxMjoxOTo1OS45ODAzMTczOTcgKzAyMDAKIEBAIC0wLDAgKzEsNTMzIEBACiArLyogZmlw cy9lY2RzYS9maXBzX2VjZHNhdnMuYyAqLwogKy8qIFdyaXR0ZW4gYnkgRHIgU3RlcGhlbiBOIEhl bnNvbiAoc3RldmVAb3BlbnNzbC5vcmcpIGZvciB0aGUgT3BlblNTTApAQCAtMTU4NCwyMSArMTQ3 Miw5IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19lY2Rz YXZzLmMuZmlwcy1lYyBvcGVuc3NsLTEuMC4xZS9jCiArCX0KICsKICsjZW5kaWYKLWRpZmYgLXVw IG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHMuaC5maXBzLWVjIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9maXBzL2ZpcHMuaAotLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHMu aC5maXBzLWVjCTIwMTMtMTAtMTUgMDE6MDg6MDYuMDM3NzgzMTYwICswMTAwCi0rKysgb3BlbnNz bC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwcy5oCTIwMTMtMTAtMTUgMDE6MDg6MDYuMDQ4NzgzMTQ1 ICswMTAwCi1AQCAtOTQsNiArOTQsOCBAQCBpbnQgRklQU19zZWxmdGVzdF9yc2Eodm9pZCk7Ci0g dm9pZCBGSVBTX2NvcnJ1cHRfZHNhKHZvaWQpOwotIHZvaWQgRklQU19jb3JydXB0X2RzYV9rZXln ZW4odm9pZCk7Ci0gaW50IEZJUFNfc2VsZnRlc3RfZHNhKHZvaWQpOwotK2ludCBGSVBTX3NlbGZ0 ZXN0X2VjZHNhKHZvaWQpOwotK2ludCBGSVBTX3NlbGZ0ZXN0X2VjZGgodm9pZCk7Ci0gdm9pZCBG SVBTX2NvcnJ1cHRfcm5nKHZvaWQpOwotIHZvaWQgRklQU19ybmdfc3RpY2sodm9pZCk7Ci0gdm9p ZCBGSVBTX3g5MzFfc3RpY2soaW50IG9ub2ZmKTsKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9maXBzL2ZpcHNfZWNkaF9zZWxmdGVzdC5jLmZpcHMtZWMgb3BlbnNzbC0xLjAuMWUvY3J5 cHRvL2ZpcHMvZmlwc19lY2RoX3NlbGZ0ZXN0LmMKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v Zmlwcy9maXBzX2VjZGhfc2VsZnRlc3QuYy5maXBzLWVjCTIwMTMtMTAtMTUgMDE6MDg6MDYuMDQ4 NzgzMTQ1ICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19lY2RoX3Nl bGZ0ZXN0LmMJMjAxMy0xMC0xNSAwMTowODowNi4wNDg3ODMxNDUgKzAxMDAKKy0tLSBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2VjZGhfc2VsZnRlc3QuYy5maXBzLWVjCTIwMTMtMDUt MDMgMTI6MTk6NTkuOTgxMzE3NDE4ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Zp cHMvZmlwc19lY2RoX3NlbGZ0ZXN0LmMJMjAxMy0wNS0wMyAxMjoxOTo1OS45ODEzMTc0MTggKzAy MDAKIEBAIC0wLDAgKzEsMjUyIEBACiArLyogZmlwcy9lY2RoL2ZpcHNfZWNkaF9zZWxmdGVzdC5j ICovCiArLyogV3JpdHRlbiBieSBEciBTdGVwaGVuIE4gSGVuc29uIChzdGV2ZUBvcGVuc3NsLm9y ZykgZm9yIHRoZSBPcGVuU1NMCkBAIC0xODUzLDggKzE3MjksOCBAQCBkaWZmIC11cCBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2VjZGhfc2VsZnRlc3QuYy5maXBzLWVjIG9wZW5zc2wt MS4wLjFlLwogKwogKyNlbmRpZgogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMv Zmlwc19lY2RzYV9zZWxmdGVzdC5jLmZpcHMtZWMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMv Zmlwc19lY2RzYV9zZWxmdGVzdC5jCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlw c19lY2RzYV9zZWxmdGVzdC5jLmZpcHMtZWMJMjAxMy0xMC0xNSAwMTowODowNi4wNDg3ODMxNDUg KzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2VjZHNhX3NlbGZ0ZXN0 LmMJMjAxMy0xMC0xNSAwMTowODowNi4wNDg3ODMxNDUgKzAxMDAKKy0tLSBvcGVuc3NsLTEuMC4x ZS9jcnlwdG8vZmlwcy9maXBzX2VjZHNhX3NlbGZ0ZXN0LmMuZmlwcy1lYwkyMDEzLTA1LTAzIDEy OjE5OjU5Ljk4MTMxNzQxOCArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2Zp cHNfZWNkc2Ffc2VsZnRlc3QuYwkyMDEzLTA1LTAzIDEyOjE5OjU5Ljk4MTMxNzQxOCArMDIwMAog QEAgLTAsMCArMSwxNjcgQEAKICsvKiBmaXBzL2VjZHNhL2ZpcHNfZWNkc2Ffc2VsZnRlc3QuYyAq LwogKy8qIFdyaXR0ZW4gYnkgRHIgU3RlcGhlbiBOIEhlbnNvbiAoc3RldmVAb3BlbnNzbC5vcmcp IGZvciB0aGUgT3BlblNTTApAQCAtMjAyMyw5ICsxODk5LDIxIEBAIGRpZmYgLXVwIG9wZW5zc2wt MS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfZWNkc2Ffc2VsZnRlc3QuYy5maXBzLWVjIG9wZW5zc2wt MS4wLjFlCiArCX0KICsKICsjZW5kaWYKK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9m aXBzL2ZpcHMuaC5maXBzLWVjIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHMuaAorLS0t IG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHMuaC5maXBzLWVjCTIwMTMtMDUtMDMgMTI6 MTk6NTkuOTQyMzE2NTc4ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlw cy5oCTIwMTMtMDUtMDMgMTI6MTk6NTkuOTgxMzE3NDE4ICswMjAwCitAQCAtOTMsNiArOTMsOCBA QCBpbnQgRklQU19zZWxmdGVzdF9yc2Eodm9pZCk7Cisgdm9pZCBGSVBTX2NvcnJ1cHRfZHNhKHZv aWQpOworIHZvaWQgRklQU19jb3JydXB0X2RzYV9rZXlnZW4odm9pZCk7CisgaW50IEZJUFNfc2Vs ZnRlc3RfZHNhKHZvaWQpOworK2ludCBGSVBTX3NlbGZ0ZXN0X2VjZHNhKHZvaWQpOworK2ludCBG SVBTX3NlbGZ0ZXN0X2VjZGgodm9pZCk7Cisgdm9pZCBGSVBTX2NvcnJ1cHRfcm5nKHZvaWQpOwor IHZvaWQgRklQU19ybmdfc3RpY2sodm9pZCk7Cisgdm9pZCBGSVBTX3g5MzFfc3RpY2soaW50IG9u b2ZmKTsKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfcG9zdC5jLmZp cHMtZWMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19wb3N0LmMKLS0tLSBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX3Bvc3QuYy5maXBzLWVjCTIwMTMtMTAtMTUgMDE6MDg6 MDYuMDA1NzgzMjA0ICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19w b3N0LmMJMjAxMy0xMC0xNSAwMTowODowNi4wNDg3ODMxNDUgKzAxMDAKKy0tLSBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vZmlwcy9maXBzX3Bvc3QuYy5maXBzLWVjCTIwMTMtMDUtMDMgMTI6MTk6NTku OTQyMzE2NTc4ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19wb3N0 LmMJMjAxMy0wNS0wMyAxMjoxOTo1OS45ODIzMTc0MzkgKzAyMDAKIEBAIC05NSw4ICs5NSwxMiBA QCBpbnQgRklQU19zZWxmdGVzdCh2b2lkKQogIAkJcnYgPSAwOwogIAlpZiAoIUZJUFNfc2VsZnRl c3RfcnNhKCkpCkBAIC0yMDM5LDEwICsxOTI3LDExNCBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4x ZS9jcnlwdG8vZmlwcy9maXBzX3Bvc3QuYy5maXBzLWVjIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9m aQogIAlyZXR1cm4gcnY7CiAgCX0KICAKK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9m aXBzL01ha2VmaWxlLmZpcHMtZWMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvTWFrZWZpbGUK Ky0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9NYWtlZmlsZS5maXBzLWVjCTIwMTMtMDUt MDMgMTI6MTk6NTkuOTQ1MzE2NjQyICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Zp cHMvTWFrZWZpbGUJMjAxMy0wNS0wMyAxMjoyMDoxMi4xNzM1Nzk4NDUgKzAyMDAKK0BAIC0yNCwx MyArMjQsMTMgQEAgTElCU1JDPWZpcHNfYWVzX3NlbGZ0ZXN0LmMgZmlwc19kZXNfc2VsZgorICAg ICBmaXBzX3JzYV9zZWxmdGVzdC5jIGZpcHNfc2hhX3NlbGZ0ZXN0LmMgZmlwcy5jIGZpcHNfZHNh X3NlbGZ0ZXN0LmMgIGZpcHNfcmFuZC5jIFwKKyAgICAgZmlwc19yc2FfeDkzMWcuYyBmaXBzX3Bv c3QuYyBmaXBzX2RyYmdfY3RyLmMgZmlwc19kcmJnX2hhc2guYyBmaXBzX2RyYmdfaG1hYy5jIFwK KyAgICAgZmlwc19kcmJnX2xpYi5jIGZpcHNfZHJiZ19yYW5kLmMgZmlwc19kcmJnX3NlbGZ0ZXN0 LmMgZmlwc19yYW5kX2xpYi5jIFwKKy0gICAgZmlwc19jbWFjX3NlbGZ0ZXN0LmMgZmlwc19lbmMu YyBmaXBzX21kLmMKKysgICAgZmlwc19jbWFjX3NlbGZ0ZXN0LmMgZmlwc19lY2RoX3NlbGZ0ZXN0 LmMgZmlwc19lY2RzYV9zZWxmdGVzdC5jIGZpcHNfZW5jLmMgZmlwc19tZC5jCisgCisgTElCT0JK PWZpcHNfYWVzX3NlbGZ0ZXN0Lm8gZmlwc19kZXNfc2VsZnRlc3QubyBmaXBzX2htYWNfc2VsZnRl c3QubyBmaXBzX3JhbmRfc2VsZnRlc3QubyBcCisgICAgIGZpcHNfcnNhX3NlbGZ0ZXN0Lm8gZmlw c19zaGFfc2VsZnRlc3QubyBmaXBzLm8gZmlwc19kc2Ffc2VsZnRlc3QubyAgZmlwc19yYW5kLm8g XAorICAgICBmaXBzX3JzYV94OTMxZy5vIGZpcHNfcG9zdC5vIGZpcHNfZHJiZ19jdHIubyBmaXBz X2RyYmdfaGFzaC5vIGZpcHNfZHJiZ19obWFjLm8gXAorICAgICBmaXBzX2RyYmdfbGliLm8gZmlw c19kcmJnX3JhbmQubyBmaXBzX2RyYmdfc2VsZnRlc3QubyBmaXBzX3JhbmRfbGliLm8gXAorLSAg ICBmaXBzX2NtYWNfc2VsZnRlc3QubyBmaXBzX2VuYy5vIGZpcHNfbWQubworKyAgICBmaXBzX2Nt YWNfc2VsZnRlc3QubyBmaXBzX2VjZGhfc2VsZnRlc3QubyBmaXBzX2VjZHNhX3NlbGZ0ZXN0Lm8g Zmlwc19lbmMubyBmaXBzX21kLm8KKyAKKyBMSUJDUllQVE89LUwuLiAtbGNyeXB0bworIAorQEAg LTExOCw2ICsxMTgsMjEgQEAgZmlwc19hZXNfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVu cworIGZpcHNfYWVzX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9zYWZlc3RhY2su aAorIGZpcHNfYWVzX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9zdGFjay5oCisg Zmlwc19hZXNfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL3N5bWhhY2tzLmggZmlw c19hZXNfc2VsZnRlc3QuYworK2ZpcHNfY21hY19zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29w ZW5zc2wvYXNuMS5oIC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9iaW8uaAorK2ZpcHNfY21hY19zZWxm dGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvY21hYy5oCisrZmlwc19jbWFjX3NlbGZ0ZXN0 Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9jcnlwdG8uaAorK2ZpcHNfY21hY19zZWxmdGVzdC5v OiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvZV9vczIuaCAuLi8uLi9pbmNsdWRlL29wZW5zc2wvZXJy LmgKKytmaXBzX2NtYWNfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2V2cC5oIC4u Ly4uL2luY2x1ZGUvb3BlbnNzbC9maXBzLmgKKytmaXBzX2NtYWNfc2VsZnRlc3QubzogLi4vLi4v aW5jbHVkZS9vcGVuc3NsL2xoYXNoLmgKKytmaXBzX2NtYWNfc2VsZnRlc3QubzogLi4vLi4vaW5j bHVkZS9vcGVuc3NsL29ial9tYWMuaAorK2ZpcHNfY21hY19zZWxmdGVzdC5vOiAuLi8uLi9pbmNs dWRlL29wZW5zc2wvb2JqZWN0cy5oCisrZmlwc19jbWFjX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1 ZGUvb3BlbnNzbC9vcGVuc3NsY29uZi5oCisrZmlwc19jbWFjX3NlbGZ0ZXN0Lm86IC4uLy4uL2lu Y2x1ZGUvb3BlbnNzbC9vcGVuc3Nsdi5oCisrZmlwc19jbWFjX3NlbGZ0ZXN0Lm86IC4uLy4uL2lu Y2x1ZGUvb3BlbnNzbC9vc3NsX3R5cC5oCisrZmlwc19jbWFjX3NlbGZ0ZXN0Lm86IC4uLy4uL2lu Y2x1ZGUvb3BlbnNzbC9zYWZlc3RhY2suaAorK2ZpcHNfY21hY19zZWxmdGVzdC5vOiAuLi8uLi9p bmNsdWRlL29wZW5zc2wvc3RhY2suaAorK2ZpcHNfY21hY19zZWxmdGVzdC5vOiAuLi8uLi9pbmNs dWRlL29wZW5zc2wvc3ltaGFja3MuaCBmaXBzX2NtYWNfc2VsZnRlc3QuYworK2ZpcHNfY21hY19z ZWxmdGVzdC5vOiBmaXBzX2xvY2wuaAorIGZpcHNfZGVzX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1 ZGUvb3BlbnNzbC9hc24xLmggLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2Jpby5oCisgZmlwc19kZXNf c2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2NyeXB0by5oCisgZmlwc19kZXNfc2Vs ZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2Vfb3MyLmggLi4vLi4vaW5jbHVkZS9vcGVu c3NsL2Vyci5oCitAQCAtMjMxLDYgKzI0Niw0NiBAQCBmaXBzX2RzYV9zZWxmdGVzdC5vOiAuLi8u Li9pbmNsdWRlL29wZW5zCisgZmlwc19kc2Ffc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVu c3NsL3N0YWNrLmgKKyBmaXBzX2RzYV9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wv c3ltaGFja3MuaCBmaXBzX2RzYV9zZWxmdGVzdC5jCisgZmlwc19kc2Ffc2VsZnRlc3QubzogZmlw c19sb2NsLmgKKytmaXBzX2VjZGhfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2Fz bjEuaCAuLi8uLi9pbmNsdWRlL29wZW5zc2wvYmlvLmgKKytmaXBzX2VjZGhfc2VsZnRlc3Qubzog Li4vLi4vaW5jbHVkZS9vcGVuc3NsL2JuLmggLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2NyeXB0by5o CisrZmlwc19lY2RoX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9lX29zMi5oIC4u Ly4uL2luY2x1ZGUvb3BlbnNzbC9lYy5oCisrZmlwc19lY2RoX3NlbGZ0ZXN0Lm86IC4uLy4uL2lu Y2x1ZGUvb3BlbnNzbC9lY2RoLmggLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2Vyci5oCisrZmlwc19l Y2RoX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9ldnAuaCAuLi8uLi9pbmNsdWRl L29wZW5zc2wvZmlwcy5oCisrZmlwc19lY2RoX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3Bl bnNzbC9saGFzaC5oCisrZmlwc19lY2RoX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNz bC9vYmpfbWFjLmgKKytmaXBzX2VjZGhfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3Ns L29iamVjdHMuaAorK2ZpcHNfZWNkaF9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wv b3BlbnNzbGNvbmYuaAorK2ZpcHNfZWNkaF9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5z c2wvb3BlbnNzbHYuaAorK2ZpcHNfZWNkaF9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5z c2wvb3NzbF90eXAuaAorK2ZpcHNfZWNkaF9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5z c2wvc2FmZXN0YWNrLmgKKytmaXBzX2VjZGhfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVu c3NsL3N0YWNrLmgKKytmaXBzX2VjZGhfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3Ns L3N5bWhhY2tzLmggZmlwc19lY2RoX3NlbGZ0ZXN0LmMKKytmaXBzX2VjZGhfc2VsZnRlc3Qubzog Zmlwc19sb2NsLmgKKytmaXBzX2VjZHNhX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNz bC9hc24xLmggLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2Jpby5oCisrZmlwc19lY2RzYV9zZWxmdGVz dC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvYm4uaAorK2ZpcHNfZWNkc2Ffc2VsZnRlc3Qubzog Li4vLi4vaW5jbHVkZS9vcGVuc3NsL2NyeXB0by5oCisrZmlwc19lY2RzYV9zZWxmdGVzdC5vOiAu Li8uLi9pbmNsdWRlL29wZW5zc2wvZV9vczIuaCAuLi8uLi9pbmNsdWRlL29wZW5zc2wvZWMuaAor K2ZpcHNfZWNkc2Ffc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2VjZHNhLmgKKytm aXBzX2VjZHNhX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9lcnIuaCAuLi8uLi9p bmNsdWRlL29wZW5zc2wvZXZwLmgKKytmaXBzX2VjZHNhX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1 ZGUvb3BlbnNzbC9maXBzLmgKKytmaXBzX2VjZHNhX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUv b3BlbnNzbC9saGFzaC5oCisrZmlwc19lY2RzYV9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29w ZW5zc2wvb2JqX21hYy5oCisrZmlwc19lY2RzYV9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29w ZW5zc2wvb2JqZWN0cy5oCisrZmlwc19lY2RzYV9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29w ZW5zc2wvb3BlbnNzbGNvbmYuaAorK2ZpcHNfZWNkc2Ffc2VsZnRlc3QubzogLi4vLi4vaW5jbHVk ZS9vcGVuc3NsL29wZW5zc2x2LmgKKytmaXBzX2VjZHNhX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1 ZGUvb3BlbnNzbC9vc3NsX3R5cC5oCisrZmlwc19lY2RzYV9zZWxmdGVzdC5vOiAuLi8uLi9pbmNs dWRlL29wZW5zc2wvc2FmZXN0YWNrLmgKKytmaXBzX2VjZHNhX3NlbGZ0ZXN0Lm86IC4uLy4uL2lu Y2x1ZGUvb3BlbnNzbC9zdGFjay5oCisrZmlwc19lY2RzYV9zZWxmdGVzdC5vOiAuLi8uLi9pbmNs dWRlL29wZW5zc2wvc3ltaGFja3MuaCBmaXBzX2VjZHNhX3NlbGZ0ZXN0LmMKKytmaXBzX2VuYy5v OiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvYXNuMS5oIC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9iaW8u aAorK2ZpcHNfZW5jLm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9jcnlwdG8uaCAuLi8uLi9pbmNs dWRlL29wZW5zc2wvZV9vczIuaAorK2ZpcHNfZW5jLm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9l cnIuaCAuLi8uLi9pbmNsdWRlL29wZW5zc2wvZXZwLmgKKytmaXBzX2VuYy5vOiAuLi8uLi9pbmNs dWRlL29wZW5zc2wvZmlwcy5oIC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9saGFzaC5oCisrZmlwc19l bmMubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL29ial9tYWMuaCAuLi8uLi9pbmNsdWRlL29wZW5z c2wvb2JqZWN0cy5oCisrZmlwc19lbmMubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL29wZW5zc2xj b25mLmgKKytmaXBzX2VuYy5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvb3BlbnNzbHYuaCAuLi8u Li9pbmNsdWRlL29wZW5zc2wvb3NzbF90eXAuaAorK2ZpcHNfZW5jLm86IC4uLy4uL2luY2x1ZGUv b3BlbnNzbC9zYWZlc3RhY2suaCAuLi8uLi9pbmNsdWRlL29wZW5zc2wvc3RhY2suaAorK2ZpcHNf ZW5jLm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9zeW1oYWNrcy5oIGZpcHNfZW5jLmMKKyBmaXBz X2htYWNfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2FzbjEuaCAuLi8uLi9pbmNs dWRlL29wZW5zc2wvYmlvLmgKKyBmaXBzX2htYWNfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9v cGVuc3NsL2NyeXB0by5oCisgZmlwc19obWFjX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3Bl bnNzbC9lX29zMi5oIC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9lcnIuaAorQEAgLTI0NSw2ICszMDAs MTUgQEAgZmlwc19obWFjX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbgorIGZpcHNfaG1h Y19zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvc2FmZXN0YWNrLmgKKyBmaXBzX2ht YWNfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL3N0YWNrLmgKKyBmaXBzX2htYWNf c2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL3N5bWhhY2tzLmggZmlwc19obWFjX3Nl bGZ0ZXN0LmMKKytmaXBzX21kLm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9hc24xLmggLi4vLi4v aW5jbHVkZS9vcGVuc3NsL2Jpby5oCisrZmlwc19tZC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wv Y3J5cHRvLmggLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2Vfb3MyLmgKKytmaXBzX21kLm86IC4uLy4u L2luY2x1ZGUvb3BlbnNzbC9lcnIuaCAuLi8uLi9pbmNsdWRlL29wZW5zc2wvZXZwLmgKKytmaXBz X21kLm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9maXBzLmggLi4vLi4vaW5jbHVkZS9vcGVuc3Ns L2xoYXNoLmgKKytmaXBzX21kLm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9vYmpfbWFjLmggLi4v Li4vaW5jbHVkZS9vcGVuc3NsL29iamVjdHMuaAorK2ZpcHNfbWQubzogLi4vLi4vaW5jbHVkZS9v cGVuc3NsL29wZW5zc2xjb25mLmggLi4vLi4vaW5jbHVkZS9vcGVuc3NsL29wZW5zc2x2LmgKKytm aXBzX21kLm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9vc3NsX3R5cC5oIC4uLy4uL2luY2x1ZGUv b3BlbnNzbC9zYWZlc3RhY2suaAorK2ZpcHNfbWQubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL3N0 YWNrLmggLi4vLi4vaW5jbHVkZS9vcGVuc3NsL3N5bWhhY2tzLmgKKytmaXBzX21kLm86IGZpcHNf bWQuYworIGZpcHNfcG9zdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvYWVzLmggLi4vLi4vaW5j bHVkZS9vcGVuc3NsL2FzbjEuaAorIGZpcHNfcG9zdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wv YmlvLmggLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2NyeXB0by5oCisgZmlwc19wb3N0Lm86IC4uLy4u L2luY2x1ZGUvb3BlbnNzbC9kc2EuaCAuLi8uLi9pbmNsdWRlL29wZW5zc2wvZV9vczIuaAogZGlm ZiAtdXAgb3BlbnNzbC0xLjAuMWUvdmVyc2lvbi5tYXAuZmlwcy1lYyBvcGVuc3NsLTEuMC4xZS92 ZXJzaW9uLm1hcAotLS0tIG9wZW5zc2wtMS4wLjFlL3ZlcnNpb24ubWFwLmZpcHMtZWMJMjAxMy0x MC0xNSAwMTowODowNi4wMTY3ODMxODkgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS92ZXJzaW9u Lm1hcAkyMDEzLTEwLTE1IDAxOjA4OjA2LjA0ODc4MzE0NSArMDEwMAotQEAgLTYsMyArNiw3IEBA IE9QRU5TU0xfMS4wLjEgeworLS0tIG9wZW5zc2wtMS4wLjFlL3ZlcnNpb24ubWFwLmZpcHMtZWMJ MjAxMy0wNS0wMyAxMjoxOTo1OS4wMDAwMDAwMDAgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS92 ZXJzaW9uLm1hcAkyMDEzLTA1LTA5IDExOjExOjA4LjAyMjMwMDYwOCArMDIwMAorQEAgLTUsMyAr NSw3IEBAIE9QRU5TU0xfMS4wLjEgewogIAkgICAgX29yaWdpbmFsKjsKICAJICAgIF9jdXJyZW50 KjsKICB9OwoKZGlmZiAtLWdpdCBhL29wZW5zc2wtMS4wLjFlLWZpcHMucGF0Y2ggYi9vcGVuc3Ns LTEuMC4xZS1maXBzLnBhdGNoCmluZGV4IDAxNzU3NTQuLmU2OTQyYjEgMTAwNjQ0Ci0tLSBhL29w ZW5zc2wtMS4wLjFlLWZpcHMucGF0Y2gKKysrIGIvb3BlbnNzbC0xLjAuMWUtZmlwcy5wYXRjaApA QCAtMSw2ICsxLDYgQEAKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2FwcHMvcGtjczEyLmMuZmlw cyBvcGVuc3NsLTEuMC4xZS9hcHBzL3BrY3MxMi5jCiAtLS0gb3BlbnNzbC0xLjAuMWUvYXBwcy9w a2NzMTIuYy5maXBzCTIwMTMtMDItMTEgMTY6MjY6MDQuMDAwMDAwMDAwICswMTAwCi0rKysgb3Bl bnNzbC0xLjAuMWUvYXBwcy9wa2NzMTIuYwkyMDEzLTAyLTE5IDEyOjQ3OjMzLjcxNDExODM2NCAr MDEwMAorKysrIG9wZW5zc2wtMS4wLjFlL2FwcHMvcGtjczEyLmMJMjAxMy0xMC0wNCAxMTo0ODow NC4xNzI2OTM5NTUgKzAyMDAKIEBAIC02Nyw2ICs2Nyw5IEBACiAgI2luY2x1ZGUgPG9wZW5zc2wv ZXJyLmg+CiAgI2luY2x1ZGUgPG9wZW5zc2wvcGVtLmg+CkBAIC0yNSw3ICsyNSw3IEBAIGRpZmYg LXVwIG9wZW5zc2wtMS4wLjFlL2FwcHMvcGtjczEyLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9hcHBz L3BrY3MxMi5jCiAgCiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9hcHBzL3NwZWVkLmMuZmlwcyBv cGVuc3NsLTEuMC4xZS9hcHBzL3NwZWVkLmMKIC0tLSBvcGVuc3NsLTEuMC4xZS9hcHBzL3NwZWVk LmMuZmlwcwkyMDEzLTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wt MS4wLjFlL2FwcHMvc3BlZWQuYwkyMDEzLTAyLTE5IDEyOjQ3OjMzLjcxNTExODM4NCArMDEwMAor KysrIG9wZW5zc2wtMS4wLjFlL2FwcHMvc3BlZWQuYwkyMDEzLTEwLTA0IDExOjQ5OjU2LjM4NDIy Nzg1OSArMDIwMAogQEAgLTE5NSw3ICsxOTUsNiBAQAogICNpZmRlZiBPUEVOU1NMX0RPSU5HX01B S0VERVBFTkQKICAjdW5kZWYgQUVTX3NldF9lbmNyeXB0X2tleQpAQCAtNjgsNyArNjgsMjcgQEAg ZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvYXBwcy9zcGVlZC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUv YXBwcy9zcGVlZC5jCiAgCQkJZHNhX2RvaXRbUl9EU0FfMTAyNF09MTsKICAJCQlkc2FfZG9pdFtS X0RTQV8yMDQ4XT0xOwogIAkJCX0KLUBAIC0xMjI2LDMwICsxMjM0LDU0IEBAIGludCBNQUlOKGlu dCBhcmdjLCBjaGFyICoqYXJndikKK0BAIC0xMTYyLDEyICsxMTcwLDE4IEBAIGludCBNQUlOKGlu dCBhcmdjLCBjaGFyICoqYXJndikKKyAJCXsKKyAJCWZvciAoaT0wOyBpPEFMR09SX05VTTsgaSsr KQorIAkJCXsKKy0JCQlpZiAoaSAhPSBEX0VWUCkKKysJCQlpZiAoaSAhPSBEX0VWUCAmJgorKwkJ CSAgICAoIUZJUFNfbW9kZSgpIHx8IChpICE9IERfV0hJUkxQT09MICYmCisrCQkJCWkgIT0gRF9N RDIgJiYgaSAhPSBEX01ENCAmJgorKwkJCQlpICE9IERfTUQ1ICYmIGkgIT0gRF9NREMyICYmCisr CQkJCWkgIT0gRF9STUQxNjApKSkKKyAJCQkJZG9pdFtpXT0xOworIAkJCX0KKyAJCWZvciAoaT0w OyBpPFJTQV9OVU07IGkrKykKKysJCSAgICBpZiAoIUZJUFNfbW9kZSgpIHx8IGkgIT0gUl9SU0Ff NTEyKQorIAkJCXJzYV9kb2l0W2ldPTE7CisgCQlmb3IgKGk9MDsgaTxEU0FfTlVNOyBpKyspCisr CQkgICAgaWYgKCFGSVBTX21vZGUoKSB8fCBpICE9IFJfRFNBXzUxMikKKyAJCQlkc2FfZG9pdFtp XT0xOworICNpZm5kZWYgT1BFTlNTTF9OT19FQ0RTQQorIAkJZm9yIChpPTA7IGk8RUNfTlVNOyBp KyspCitAQCAtMTIyNiwzMCArMTI0MCw1NCBAQCBpbnQgTUFJTihpbnQgYXJnYywgY2hhciAqKmFy Z3YpCiAgCUFFU19zZXRfZW5jcnlwdF9rZXkoa2V5MzIsMjU2LCZhZXNfa3MzKTsKICAjZW5kaWYK ICAjaWZuZGVmIE9QRU5TU0xfTk9fQ0FNRUxMSUEKQEAgLTEyMyw5ICsxNDMsMTcgQEAgZGlmZiAt dXAgb3BlbnNzbC0xLjAuMWUvYXBwcy9zcGVlZC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvYXBwcy9z cGVlZC5jCiAgI2VuZGlmCiAgI2lmbmRlZiBPUEVOU1NMX05PX1JTQQogIAltZW1zZXQocnNhX2Ms MCxzaXplb2YocnNhX2MpKTsKK0BAIC0xNTY0LDYgKzE2MDIsNyBAQCBpbnQgTUFJTihpbnQgYXJn YywgY2hhciAqKmFyZ3YpCisgCQlITUFDX0NUWCBoY3R4OworIAorIAkJSE1BQ19DVFhfaW5pdCgm aGN0eCk7CisrCQlITUFDX0NUWF9zZXRfZmxhZ3MoJmhjdHgsIEVWUF9NRF9DVFhfRkxBR19OT05f RklQU19BTExPVyk7CisgCQlITUFDX0luaXRfZXgoJmhjdHgsKHVuc2lnbmVkIGNoYXIgKikiVGhp cyBpcyBhIGtleS4uLiIsCisgCQkJMTYsRVZQX21kNSgpLCBOVUxMKTsKKyAKIGRpZmYgLXVwIG9w ZW5zc2wtMS4wLjFlL0NvbmZpZ3VyZS5maXBzIG9wZW5zc2wtMS4wLjFlL0NvbmZpZ3VyZQotLS0t IG9wZW5zc2wtMS4wLjFlL0NvbmZpZ3VyZS5maXBzCTIwMTMtMDItMTkgMTI6NDc6MzMuNjcwMTE3 NDcwICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvQ29uZmlndXJlCTIwMTMtMDItMTkgMTI6NDc6 MzMuNzE2MTE4NDA1ICswMTAwCistLS0gb3BlbnNzbC0xLjAuMWUvQ29uZmlndXJlLmZpcHMJMjAx My0xMC0wNCAxMTo0ODowNC4xNTM2OTM1MjYgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9Db25m aWd1cmUJMjAxMy0xMC0wNCAxMTo0ODowNC4xNzM2OTM5NzggKzAyMDAKIEBAIC05OTUsMTEgKzk5 NSw2IEBAIGlmIChkZWZpbmVkKCRkaXNhYmxlZHsibWQ1In0pIHx8IGRlZmluZWQKICAJJGRpc2Fi bGVkeyJzc2wyIn0gPSAiZm9yY2VkIjsKICAJfQpAQCAtMTYyLDcgKzE5MCw3IEBAIGRpZmYgLXVw IG9wZW5zc2wtMS4wLjFlL0NvbmZpZ3VyZS5maXBzIG9wZW5zc2wtMS4wLjFlL0NvbmZpZ3VyZQog IAlzL15TSEFSRURfTElCUz0uKi9TSEFSRURfTElCUz1cJChTSEFSRURfQ1JZUFRPKSBcJChTSEFS RURfU1NMKS8gaWYgKCEkbm9fc2hhcmVkKTsKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9hZXMvYWVzX21pc2MuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9hZXMvYWVzX21pc2Mu YwogLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9hZXMvYWVzX21pc2MuYy5maXBzCTIwMTMtMDIt MTEgMTY6MjY6MDQuMDAwMDAwMDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Fl cy9hZXNfbWlzYy5jCTIwMTMtMDItMTkgMTI6NDc6MzMuNzE3MTE4NDI2ICswMTAwCisrKysgb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL2Flcy9hZXNfbWlzYy5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTcz NjkzOTc4ICswMjAwCiBAQCAtNjksMTcgKzY5LDExIEBAIGNvbnN0IGNoYXIgKkFFU19vcHRpb25z KHZvaWQpIHsKICBpbnQgQUVTX3NldF9lbmNyeXB0X2tleShjb25zdCB1bnNpZ25lZCBjaGFyICp1 c2VyS2V5LCBjb25zdCBpbnQgYml0cywKICAJCQlBRVNfS0VZICprZXkpCkBAIC0xODMsNyArMjEx LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Flcy9hZXNfbWlzYy5jLmZpcHMg b3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Flcy9hZXMKICAJfQogZGlmZiAtdXAgb3BlbnNzbC0xLjAu MWUvY3J5cHRvL2NtYWMvY21hYy5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2NtYWMvY21h Yy5jCiAtLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2NtYWMvY21hYy5jLmZpcHMJMjAxMy0wMi0x MSAxNjoyNjowNC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vY21h Yy9jbWFjLmMJMjAxMy0wMi0xOSAxMjo0NzozMy43MTcxMTg0MjYgKzAxMDAKKysrKyBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vY21hYy9jbWFjLmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xNzM2OTM5Nzgg KzAyMDAKIEBAIC0xMDcsMTMgKzEwNyw2IEBAIENNQUNfQ1RYICpDTUFDX0NUWF9uZXcodm9pZCkK ICAKICB2b2lkIENNQUNfQ1RYX2NsZWFudXAoQ01BQ19DVFggKmN0eCkKQEAgLTIzMyw4ICsyNjEs OCBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vY21hYy9jbWFjLmMuZmlwcyBvcGVu c3NsLTEuMC4xZS9jcnlwdG8vY21hYy9jbWFjLgogIAkJcmV0dXJuIDA7CiAgCWJsID0gRVZQX0NJ UEhFUl9DVFhfYmxvY2tfc2l6ZSgmY3R4LT5jY3R4KTsKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9jcnlwdG8uaC5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9jcnlwdG8uaAotLS0t IG9wZW5zc2wtMS4wLjFlL2NyeXB0by9jcnlwdG8uaC5maXBzCTIwMTMtMDItMTkgMTI6NDc6MzMu NDQ0MTEyODc2ICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2NyeXB0by5oCTIwMTMt MDItMTkgMTI6NDc6MzMuNzE4MTE4NDQ3ICswMTAwCistLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRv L2NyeXB0by5oLmZpcHMJMjAxMy0xMC0wNCAxMTo0ODowNC4wNTg2OTEzODEgKzAyMDAKKysrKyBv cGVuc3NsLTEuMC4xZS9jcnlwdG8vY3J5cHRvLmgJMjAxMy0xMC0wNCAxMTo0ODowNC4xNzM2OTM5 NzggKzAyMDAKIEBAIC01NTMsMjQgKzU1MywyOSBAQCBpbnQgRklQU19tb2RlX3NldChpbnQgcik7 CiAgdm9pZCBPUEVOU1NMX2luaXQodm9pZCk7CiAgCkBAIC0yODEsOCArMzA5LDggQEAgZGlmZiAt dXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2NyeXB0by5oLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5 cHRvL2NyeXB0by5oCiAgCiAgLyogRnVuY3Rpb24gY29kZXMuICovCiBkaWZmIC11cCBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vZGVzL2Rlcy5oLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Rlcy9k ZXMuaAotLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kZXMvZGVzLmguZmlwcwkyMDEzLTAyLTE5 IDEyOjQ3OjMzLjUxNjExNDM0MCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kZXMv ZGVzLmgJMjAxMy0wMi0xOSAxMjo0NzozMy43MTgxMTg0NDcgKzAxMDAKKy0tLSBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vZGVzL2Rlcy5oLmZpcHMJMjAxMy0xMC0wNCAxMTo0ODowNC4wODg2OTIwNTgg KzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZGVzL2Rlcy5oCTIwMTMtMTAtMDQgMTE6 NDg6MDQuMTczNjkzOTc4ICswMjAwCiBAQCAtMjI0LDkgKzIyNCw2IEBAIGludCBERVNfc2V0X2tl eShjb25zdF9ERVNfY2Jsb2NrICprZXksREUKICBpbnQgREVTX2tleV9zY2hlZChjb25zdF9ERVNf Y2Jsb2NrICprZXksREVTX2tleV9zY2hlZHVsZSAqc2NoZWR1bGUpOwogIGludCBERVNfc2V0X2tl eV9jaGVja2VkKGNvbnN0X0RFU19jYmxvY2sgKmtleSxERVNfa2V5X3NjaGVkdWxlICpzY2hlZHVs ZSk7CkBAIC0yOTUsNyArMzIzLDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Rl cy9kZXMuaC5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kZXMvZGVzLmgKICB2b2lkIERFU19j ZmI2NF9lbmNyeXB0KGNvbnN0IHVuc2lnbmVkIGNoYXIgKmluLHVuc2lnbmVkIGNoYXIgKm91dCxs b25nIGxlbmd0aCwKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kZXMvc2V0X2tleS5j LmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Rlcy9zZXRfa2V5LmMKIC0tLSBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vZGVzL3NldF9rZXkuYy5maXBzCTIwMTMtMDItMTEgMTY6MjY6MDQuMDAwMDAw MDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Rlcy9zZXRfa2V5LmMJMjAxMy0w Mi0xOSAxMjo0NzozMy43MTkxMTg0NjggKzAxMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v ZGVzL3NldF9rZXkuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE3NDY5NDAwMSArMDIwMAogQEAgLTMz NiwxMyArMzM2LDYgQEAgaW50IERFU19zZXRfa2V5X2NoZWNrZWQoY29uc3RfREVTX2NibG9jawog IAl9CiAgCkBAIC0zMTIsNyArMzQwLDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRv L2Rlcy9zZXRfa2V5LmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZGVzL3NldF8KICAJcmVn aXN0ZXIgREVTX0xPTkcgYyxkLHQscyx0MjsKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9kaC9kaF9nZW4uYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kaC9kaF9nZW4uYwogLS0t IG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kaC9kaF9nZW4uYy5maXBzCTIwMTMtMDItMTEgMTY6MjY6 MDQuMDAwMDAwMDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RoL2RoX2dlbi5j CTIwMTMtMDItMTkgMTI6NDc6MzMuNzE5MTE4NDY4ICswMTAwCisrKysgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2RoL2RoX2dlbi5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTc0Njk0MDAxICswMjAwCiBA QCAtODQsMTEgKzg0LDYgQEAgaW50IERIX2dlbmVyYXRlX3BhcmFtZXRlcnNfZXgoREggKnJldCwg aQogICNlbmRpZgogIAlpZihyZXQtPm1ldGgtPmdlbmVyYXRlX3BhcmFtcykKQEAgLTM0Nyw4ICsz NzUsOCBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZGgvZGhfZ2VuLmMuZmlwcyBv cGVuc3NsLTEuMC4xZS9jcnlwdG8vZGgvZGhfZ2VuLgogIAlpZiAoY3R4ID09IE5VTEwpIGdvdG8g ZXJyOwogIAlCTl9DVFhfc3RhcnQoY3R4KTsKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9kaC9kaC5oLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RoL2RoLmgKLS0tLSBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vZGgvZGguaC5maXBzCTIwMTMtMDItMTkgMTI6NDc6MzMuMzg4MTExNzM5 ICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RoL2RoLmgJMjAxMy0wMi0xOSAxMjo0 NzozMy43MTkxMTg0NjggKzAxMDAKKy0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZGgvZGguaC5m aXBzCTIwMTMtMTAtMDQgMTE6NDg6MDQuMDMyNjkwNzk0ICswMjAwCisrKysgb3BlbnNzbC0xLjAu MWUvY3J5cHRvL2RoL2RoLmgJMjAxMy0xMC0wNCAxMTo0ODowNC4xNzQ2OTQwMDEgKzAyMDAKIEBA IC03Nyw2ICs3Nyw4IEBACiAgIyBkZWZpbmUgT1BFTlNTTF9ESF9NQVhfTU9EVUxVU19CSVRTCTEw MDAwCiAgI2VuZGlmCkBAIC0zNjAsNyArMzg4LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2RoL2RoLmguZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZGgvZGguaAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogaW1wbGVtZW50YXRpb24gbm93IHVz ZXMgY29uc3RhbnQgdGltZQogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RoL2RoX2tl eS5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RoL2RoX2tleS5jCiAtLS0gb3BlbnNzbC0x LjAuMWUvY3J5cHRvL2RoL2RoX2tleS5jLmZpcHMJMjAxMy0wMi0xMSAxNjoyNjowNC4wMDAwMDAw MDAgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZGgvZGhfa2V5LmMJMjAxMy0wMi0x OSAxMjo0NzozMy43MjAxMTg0ODggKzAxMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZGgv ZGhfa2V5LmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xNzQ2OTQwMDEgKzAyMDAKIEBAIC02MSw2ICs2 MSw5IEBACiAgI2luY2x1ZGUgPG9wZW5zc2wvYm4uaD4KICAjaW5jbHVkZSA8b3BlbnNzbC9yYW5k Lmg+CkBAIC00MjEsNyArNDQ5LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Ro L2RoX2tleS5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RoL2RoX2tleS4KICAJfQogZGlm ZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RoL2RoX2xpYi5jLmZpcHMgb3BlbnNzbC0xLjAu MWUvY3J5cHRvL2RoL2RoX2xpYi5jCiAtLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RoL2RoX2xp Yi5jLmZpcHMJMjAxMy0wMi0xMSAxNjoyNjowNC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vZGgvZGhfbGliLmMJMjAxMy0wMi0xOSAxMjo0NzozMy43MjAxMTg0ODgg KzAxMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZGgvZGhfbGliLmMJMjAxMy0xMC0wNCAx MTo0ODowNC4xNzQ2OTQwMDEgKzAyMDAKIEBAIC04MSwxNCArODEsNyBAQCBjb25zdCBESF9NRVRI T0QgKkRIX2dldF9kZWZhdWx0X21ldGhvZCh2CiAgCXsKICAJaWYoIWRlZmF1bHRfREhfbWV0aG9k KQpAQCAtNDM5LDcgKzQ2Nyw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kaC9k aF9saWIuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kaC9kaF9saWIuCiAgCX0KIGRpZmYg LXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kc2EvZHNhX2Vyci5jLmZpcHMgb3BlbnNzbC0xLjAu MWUvY3J5cHRvL2RzYS9kc2FfZXJyLmMKIC0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZHNhL2Rz YV9lcnIuYy5maXBzCTIwMTMtMDItMTEgMTY6MjY6MDQuMDAwMDAwMDAwICswMTAwCi0rKysgb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL2RzYS9kc2FfZXJyLmMJMjAxMy0wMi0xOSAxMjo0NzozMy43MjAx MTg0ODggKzAxMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZHNhL2RzYV9lcnIuYwkyMDEz LTEwLTA0IDExOjQ4OjA0LjE3NDY5NDAwMSArMDIwMAogQEAgLTc0LDYgKzc0LDggQEAgc3RhdGlj IEVSUl9TVFJJTkdfREFUQSBEU0Ffc3RyX2Z1bmN0c1tdPQogIHtFUlJfRlVOQyhEU0FfRl9ET19E U0FfUFJJTlQpLAkiRE9fRFNBX1BSSU5UIn0sCiAge0VSUl9GVU5DKERTQV9GX0RTQVBBUkFNU19Q UklOVCksCSJEU0FwYXJhbXNfcHJpbnQifSwKQEAgLTQ2MCw3ICs0ODgsNyBAQCBkaWZmIC11cCBv cGVuc3NsLTEuMC4xZS9jcnlwdG8vZHNhL2RzYV9lcnIuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9kc2EvZHNhXwogIHtFUlJfUkVBU09OKERTQV9SX05FRURfTkVXX1NFVFVQX1ZBTFVFUykg LCJuZWVkIG5ldyBzZXR1cCB2YWx1ZXMifSwKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9kc2EvZHNhX2dlbi5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RzYS9kc2FfZ2VuLmMK IC0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZHNhL2RzYV9nZW4uYy5maXBzCTIwMTMtMDItMTEg MTY6MjY6MDQuMDAwMDAwMDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RzYS9k c2FfZ2VuLmMJMjAxMy0wMi0xOSAxMjo0NzozMy43MjExMTg1MDggKzAxMDAKKysrKyBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vZHNhL2RzYV9nZW4uYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE3NTY5NDAy MyArMDIwMAogQEAgLTg1LDYgKzg1LDE0IEBACiAgI2luY2x1ZGUgPG9wZW5zc2wvZmlwcy5oPgog ICNlbmRpZgpAQCAtODY4LDggKzg5Niw4IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9kc2EvZHNhX2dlbi5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RzYS9kc2FfCiAgCWlm IChtb250ICE9IE5VTEwpIEJOX01PTlRfQ1RYX2ZyZWUobW9udCk7CiAgCXJldHVybiBvazsKIGRp ZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kc2EvZHNhLmguZmlwcyBvcGVuc3NsLTEuMC4x ZS9jcnlwdG8vZHNhL2RzYS5oCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RzYS9kc2EuaC5m aXBzCTIwMTMtMDItMTkgMTI6NDc6MzMuMjA1MTA4MDIwICswMTAwCi0rKysgb3BlbnNzbC0xLjAu MWUvY3J5cHRvL2RzYS9kc2EuaAkyMDEzLTAyLTE5IDEyOjQ3OjMzLjcyMTExODUwOCArMDEwMAor LS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kc2EvZHNhLmguZmlwcwkyMDEzLTEwLTA0IDExOjQ4 OjAzLjk1NjY4OTA3OCArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kc2EvZHNhLmgJ MjAxMy0xMC0wNCAxMTo0ODowNC4xNzU2OTQwMjMgKzAyMDAKIEBAIC04OCw2ICs4OCw4IEBACiAg IyBkZWZpbmUgT1BFTlNTTF9EU0FfTUFYX01PRFVMVVNfQklUUwkxMDAwMAogICNlbmRpZgpAQCAt OTMyLDcgKzk2MCw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kc2EvZHNhLmgu ZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZHNhL2RzYS5oCiAgI2lmZGVmICBfX2NwbHVzcGx1 cwogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RzYS9kc2Ffa2V5LmMuZmlwcyBvcGVu c3NsLTEuMC4xZS9jcnlwdG8vZHNhL2RzYV9rZXkuYwogLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9kc2EvZHNhX2tleS5jLmZpcHMJMjAxMy0wMi0xMSAxNjoyNjowNC4wMDAwMDAwMDAgKzAxMDAK LSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZHNhL2RzYV9rZXkuYwkyMDEzLTAyLTE5IDEyOjQ3 OjMzLjcyMjExODUyOCArMDEwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kc2EvZHNhX2tl eS5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTc1Njk0MDIzICswMjAwCiBAQCAtNjYsNiArNjYsMzUg QEAKICAKICAjaWZkZWYgT1BFTlNTTF9GSVBTCkBAIC0xMDEzLDcgKzEwNDEsNyBAQCBkaWZmIC11 cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZHNhL2RzYV9rZXkuYy5maXBzIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9kc2EvZHNhXwogIGVycjoKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9k c2EvZHNhX2xpYi5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RzYS9kc2FfbGliLmMKIC0t LSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZHNhL2RzYV9saWIuYy5maXBzCTIwMTMtMDItMTEgMTY6 MjY6MDQuMDAwMDAwMDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RzYS9kc2Ff bGliLmMJMjAxMy0wMi0xOSAxMjo0NzozMy43MjIxMTg1MjggKzAxMDAKKysrKyBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vZHNhL2RzYV9saWIuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE3NTY5NDAyMyAr MDIwMAogQEAgLTg3LDE0ICs4Nyw3IEBAIGNvbnN0IERTQV9NRVRIT0QgKkRTQV9nZXRfZGVmYXVs dF9tZXRob2QKICAJewogIAlpZighZGVmYXVsdF9EU0FfbWV0aG9kKQpAQCAtMTAzMCw4ICsxMDU4 LDggQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RzYS9kc2FfbGliLmMuZmlwcyBv cGVuc3NsLTEuMC4xZS9jcnlwdG8vZHNhL2RzYV8KICAJcmV0dXJuIGRlZmF1bHRfRFNBX21ldGhv ZDsKICAJfQogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RzYS9kc2FfbG9jbC5oLmZp cHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RzYS9kc2FfbG9jbC5oCi0tLS0gb3BlbnNzbC0xLjAu MWUvY3J5cHRvL2RzYS9kc2FfbG9jbC5oLmZpcHMJMjAxMy0wMi0xOSAxMjo0NzozMy4yMDkxMDgx MDAgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZHNhL2RzYV9sb2NsLmgJMjAxMy0w Mi0xOSAxMjo0NzozMy43MjIxMTg1MjggKzAxMDAKKy0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v ZHNhL2RzYV9sb2NsLmguZmlwcwkyMDEzLTEwLTA0IDExOjQ4OjAzLjk1ODY4OTEyMyArMDIwMAor KysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kc2EvZHNhX2xvY2wuaAkyMDEzLTEwLTA0IDExOjQ4 OjA0LjE3NTY5NDAyMyArMDIwMAogQEAgLTU2LDUgKzU2LDQgQEAKICAKICBpbnQgZHNhX2J1aWx0 aW5fcGFyYW1nZW4oRFNBICpyZXQsIHNpemVfdCBiaXRzLCBzaXplX3QgcWJpdHMsCkBAIC0xMDQw LDcgKzEwNjgsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZHNhL2RzYV9sb2Ns LmguZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZHNhL2RzYQogIAlpbnQgKmNvdW50ZXJfcmV0 LCB1bnNpZ25lZCBsb25nICpoX3JldCwgQk5fR0VOQ0IgKmNiKTsKIGRpZmYgLXVwIG9wZW5zc2wt MS4wLjFlL2NyeXB0by9kc2EvZHNhX29zc2wuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9k c2EvZHNhX29zc2wuYwogLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kc2EvZHNhX29zc2wuYy5m aXBzCTIwMTMtMDItMTEgMTY6MjY6MDQuMDAwMDAwMDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAu MWUvY3J5cHRvL2RzYS9kc2Ffb3NzbC5jCTIwMTMtMDItMTkgMTI6NDc6MzMuNzIzMTE4NTQ4ICsw MTAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RzYS9kc2Ffb3NzbC5jCTIwMTMtMTAtMDQg MTE6NDg6MDQuMTc1Njk0MDIzICswMjAwCiBAQCAtNjUsNiArNjUsOSBAQAogICNpbmNsdWRlIDxv cGVuc3NsL2RzYS5oPgogICNpbmNsdWRlIDxvcGVuc3NsL3JhbmQuaD4KQEAgLTExMTYsNyArMTE0 NCw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kc2EvZHNhX29zc2wuYy5maXBz IG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kc2EvZHNhCiAgfQogZGlmZiAtdXAgb3BlbnNzbC0xLjAu MWUvY3J5cHRvL2RzYS9kc2FfcG1ldGguYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kc2Ev ZHNhX3BtZXRoLmMKIC0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZHNhL2RzYV9wbWV0aC5jLmZp cHMJMjAxMy0wMi0xMSAxNjoyNjowNC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4x ZS9jcnlwdG8vZHNhL2RzYV9wbWV0aC5jCTIwMTMtMDItMTkgMTI6NDc6MzMuNzIzMTE4NTQ4ICsw MTAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RzYS9kc2FfcG1ldGguYwkyMDEzLTEwLTA0 IDExOjQ4OjA0LjE3NTY5NDAyMyArMDIwMAogQEAgLTI1NSw3ICsyNTUsNyBAQCBzdGF0aWMgaW50 IHBrZXlfZHNhX3BhcmFtZ2VuKEVWUF9QS0VZX0NUCiAgCWlmICghZHNhKQogIAkJcmV0dXJuIDA7 CkBAIC0xMTI4LDcgKzExNTYsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZHNh L2RzYV9wbWV0aC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RzYS9kcwogIAllbHNlCiBk aWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZHNhL2RzYXRlc3QuYy5maXBzIG9wZW5zc2wt MS4wLjFlL2NyeXB0by9kc2EvZHNhdGVzdC5jCiAtLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Rz YS9kc2F0ZXN0LmMuZmlwcwkyMDEzLTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEwMAotKysr IG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kc2EvZHNhdGVzdC5jCTIwMTMtMDItMTkgMTI6NDc6MzMu NzIzMTE4NTQ4ICswMTAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RzYS9kc2F0ZXN0LmMJ MjAxMy0xMC0wNCAxMTo0ODowNC4xNzY2OTQwNDUgKzAyMDAKIEBAIC05NiwzNiArOTYsNDEgQEAg c3RhdGljIGludCBNU19DQUxMQkFDSyBkc2FfY2IoaW50IHAsIGludAogIC8qIHNlZWQsIG91dF9w LCBvdXRfcSwgb3V0X2cgYXJlIHRha2VuIGZyb20gdGhlIHVwZGF0ZWQgQXBwZW5kaXggNSB0bwog ICAqIEZJUFMgUFVCIDE4NiBhbmQgYWxzbyBhcHBlYXIgaW4gQXBwZW5kaXggNSB0byBGSVBTIFBJ QiAxODYtMSAqLwpAQCAtMTIxNSw3ICsxMjQzLDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2RzYS9kc2F0ZXN0LmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZHNhL2RzYXQK ICAJaWYgKGggIT0gMikKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lbmdpbmUvZW5n X2FsbC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VuZ2luZS9lbmdfYWxsLmMKIC0tLSBv cGVuc3NsLTEuMC4xZS9jcnlwdG8vZW5naW5lL2VuZ19hbGwuYy5maXBzCTIwMTMtMDItMTEgMTY6 MjY6MDQuMDAwMDAwMDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VuZ2luZS9l bmdfYWxsLmMJMjAxMy0wMi0xOSAxMjo0NzozMy43MjQxMTg1NjkgKzAxMDAKKysrKyBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vZW5naW5lL2VuZ19hbGwuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE3NjY5 NDA0NSArMDIwMAogQEAgLTU4LDExICs1OCwyNSBAQAogIAogICNpbmNsdWRlICJjcnlwdGxpYi5o IgpAQCAtMTI0NCw3ICsxMjcyLDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Vu Z2luZS9lbmdfYWxsLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZW5naW4KICAJICogaXQg aXMgdGhlICpvbmx5KiB3YXkgZm9yIHN0YW5kYXJkIGJ1aWx0aW4gaW1wbGVtZW50YXRpb25zIHRv IGJlIGJlCiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL2NfYWxsYy5jLmZpcHMg b3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9jX2FsbGMuYwogLS0tIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9ldnAvY19hbGxjLmMuZmlwcwkyMDEzLTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEw MAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvY19hbGxjLmMJMjAxMy0wMi0xOSAxMjo0 NzozMy43MjUxMTg1ODkgKzAxMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL2NfYWxs Yy5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTc2Njk0MDQ1ICswMjAwCiBAQCAtNjUsNiArNjUsMTEg QEAKICB2b2lkIE9wZW5TU0xfYWRkX2FsbF9jaXBoZXJzKHZvaWQpCiAgCXsKQEAgLTEzMjAsNyAr MTM0OCw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvY19hbGxjLmMuZmlw cyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL2NfYWxsCiAgCX0KIGRpZmYgLXVwIG9wZW5zc2wt MS4wLjFlL2NyeXB0by9ldnAvY19hbGxkLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZw L2NfYWxsZC5jCiAtLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9jX2FsbGQuYy5maXBzCTIw MTMtMDItMTEgMTY6MjY6MDQuMDAwMDAwMDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5 cHRvL2V2cC9jX2FsbGQuYwkyMDEzLTAyLTE5IDEyOjQ3OjMzLjcyNTExODU4OSArMDEwMAorKysr IG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvY19hbGxkLmMJMjAxMy0xMC0wNCAxMTo0ODowNC4x NzY2OTQwNDUgKzAyMDAKIEBAIC02NCw2ICs2NCwxMSBAQAogIAogIHZvaWQgT3BlblNTTF9hZGRf YWxsX2RpZ2VzdHModm9pZCkKQEAgLTEzNjgsNyArMTM5Niw3IEBAIGRpZmYgLXVwIG9wZW5zc2wt MS4wLjFlL2NyeXB0by9ldnAvY19hbGxkLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZw L2NfYWxsCiAgCX0KIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvZGlnZXN0LmMu ZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL2RpZ2VzdC5jCiAtLS0gb3BlbnNzbC0xLjAu MWUvY3J5cHRvL2V2cC9kaWdlc3QuYy5maXBzCTIwMTMtMDItMTEgMTY6MjY6MDQuMDAwMDAwMDAw ICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9kaWdlc3QuYwkyMDEzLTAyLTE5 IDEyOjUxOjQxLjI3Njc3OTg3NyArMDEwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAv ZGlnZXN0LmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xNzY2OTQwNDUgKzAyMDAKIEBAIC0xNDIsOSAr MTQyLDUwIEBAIGludCBFVlBfRGlnZXN0SW5pdChFVlBfTURfQ1RYICpjdHgsIGNvbnMKICAJcmV0 dXJuIEVWUF9EaWdlc3RJbml0X2V4KGN0eCwgdHlwZSwgTlVMTCk7CiAgCX0KQEAgLTE1MTksNyAr MTU0Nyw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvZGlnZXN0LmMuZmlw cyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL2RpZ2VzCiAgCXJldHVybiAxOwogZGlmZiAtdXAg b3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9lX2Flcy5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5 cHRvL2V2cC9lX2Flcy5jCiAtLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9lX2Flcy5jLmZp cHMJMjAxMy0wMi0xMSAxNjoyNjowNC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4x ZS9jcnlwdG8vZXZwL2VfYWVzLmMJMjAxMy0wMi0xOSAxMjo0NzozMy43MjYxMTg2MDkgKzAxMDAK KysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL2VfYWVzLmMJMjAxMy0xMC0wNCAxMTo0ODow NC4xNzc2OTQwNjggKzAyMDAKIEBAIC01Niw3ICs1Niw2IEBACiAgI2luY2x1ZGUgPGFzc2VydC5o PgogICNpbmNsdWRlIDxvcGVuc3NsL2Flcy5oPgpAQCAtMTU1Myw3ICsxNTgxLDcgQEAgZGlmZiAt dXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9lX2Flcy5jLmZpcHMgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2V2cC9lX2Flcy4KIC0jZW5kaWYKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9ldnAvZV9kZXMzLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL2VfZGVzMy5jCiAt LS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9lX2RlczMuYy5maXBzCTIwMTMtMDItMTEgMTY6 MjY6MDQuMDAwMDAwMDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9lX2Rl czMuYwkyMDEzLTAyLTE5IDEyOjQ3OjMzLjcyNzExODYyOSArMDEwMAorKysrIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9ldnAvZV9kZXMzLmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xNzc2OTQwNjggKzAy MDAKIEBAIC02NSw4ICs2NSw2IEBACiAgI2luY2x1ZGUgPG9wZW5zc2wvZGVzLmg+CiAgI2luY2x1 ZGUgPG9wZW5zc2wvcmFuZC5oPgpAQCAtMTYxNCw3ICsxNjQyLDcgQEAgZGlmZiAtdXAgb3BlbnNz bC0xLjAuMWUvY3J5cHRvL2V2cC9lX2RlczMuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9l dnAvZV9kZXMKIC0jZW5kaWYKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvZV9u dWxsLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL2VfbnVsbC5jCiAtLS0gb3BlbnNz bC0xLjAuMWUvY3J5cHRvL2V2cC9lX251bGwuYy5maXBzCTIwMTMtMDItMTEgMTY6MjY6MDQuMDAw MDAwMDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9lX251bGwuYwkyMDEz LTAyLTE5IDEyOjQ3OjMzLjcyNzExODYyOSArMDEwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9ldnAvZV9udWxsLmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xNzc2OTQwNjggKzAyMDAKIEBAIC02 MSw4ICs2MSw2IEBACiAgI2luY2x1ZGUgPG9wZW5zc2wvZXZwLmg+CiAgI2luY2x1ZGUgPG9wZW5z c2wvb2JqZWN0cy5oPgpAQCAtMTY0MCw3ICsxNjY4LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAu MWUvY3J5cHRvL2V2cC9lX251bGwuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvZV9u dWwKIC0jZW5kaWYKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvZXZwX2VuYy5j LmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9ldnBfZW5jLmMKIC0tLSBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vZXZwL2V2cF9lbmMuYy5maXBzCTIwMTMtMDItMTEgMTY6MjY6MDQuMDAwMDAw MDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9ldnBfZW5jLmMJMjAxMy0w Mi0xOSAxMjo0NzozMy43MjgxMTg2NDkgKzAxMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v ZXZwL2V2cF9lbmMuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE3NzY5NDA2OCArMDIwMAogQEAgLTY5 LDE3ICs2OSw1OCBAQAogICNlbmRpZgogICNpbmNsdWRlICJldnBfbG9jbC5oIgpAQCAtMTc5MCw4 ICsxODE4LDggQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9ldnBfZW5jLmMu ZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL2V2cF8KICAJcmV0dXJuIDE7CiAgCX0KIGRp ZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvZXZwLmguZmlwcyBvcGVuc3NsLTEuMC4x ZS9jcnlwdG8vZXZwL2V2cC5oCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9ldnAuaC5m aXBzCTIwMTMtMDItMTkgMTI6NDc6MzMuNDc0MTEzNDg3ICswMTAwCi0rKysgb3BlbnNzbC0xLjAu MWUvY3J5cHRvL2V2cC9ldnAuaAkyMDEzLTAyLTE5IDEyOjQ3OjMzLjcyODExODY0OSArMDEwMAor LS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvZXZwLmguZmlwcwkyMDEzLTEwLTA0IDExOjQ4 OjA0LjA3MTY5MTY3NSArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvZXZwLmgJ MjAxMy0xMC0wNCAxMTo0ODowNC4xNzc2OTQwNjggKzAyMDAKIEBAIC03NSw2ICs3NSwxMCBAQAog ICNpbmNsdWRlIDxvcGVuc3NsL2Jpby5oPgogICNlbmRpZgpAQCAtMTgwMyw3ICsxODMxLDcgQEAg ZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9ldnAuaC5maXBzIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9ldnAvZXZwLmgKICAvKgogICNkZWZpbmUgRVZQX1JDMl9LRVlfU0laRQkJMTYK ICAjZGVmaW5lIEVWUF9SQzRfS0VZX1NJWkUJCTE2Ci1AQCAtMjcyLDEwICsyNzYsNiBAQCBzdHJ1 Y3QgZW52X21kX2N0eF9zdAorQEAgLTI4MiwxMCArMjg2LDYgQEAgc3RydWN0IGVudl9tZF9jdHhf c3QKICAJCQkJCQkqIGNsZWFuZWQgKi8KICAjZGVmaW5lIEVWUF9NRF9DVFhfRkxBR19SRVVTRQkJ MHgwMDA0IC8qIERvbid0IGZyZWUgdXAgY3R4LT5tZF9kYXRhCiAgCQkJCQkJKiBpbiBFVlBfTURf Q1RYX2NsZWFudXAgKi8KQEAgLTE4MTQsNyArMTg0Miw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9ldnAvZXZwLmguZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL2V2cC5o CiAgI2RlZmluZSBFVlBfTURfQ1RYX0ZMQUdfTk9OX0ZJUFNfQUxMT1cJMHgwMDA4CS8qIEFsbG93 IHVzZSBvZiBub24gRklQUyBkaWdlc3QKICAJCQkJCQkgKiBpbiBGSVBTIG1vZGUgKi8KICAKLUBA IC0yODcsNiArMjg3LDEwIEBAIHN0cnVjdCBlbnZfbWRfY3R4X3N0CitAQCAtMjk3LDYgKzI5Nywx MCBAQCBzdHJ1Y3QgZW52X21kX2N0eF9zdAogICNkZWZpbmUgRVZQX01EX0NUWF9GTEFHX1BBRF9Q S0NTMQkweDAwCS8qIFBLQ1MjMSB2MS41IG1vZGUgKi8KICAjZGVmaW5lIEVWUF9NRF9DVFhfRkxB R19QQURfWDkzMQkweDEwCS8qIFg5LjMxIG1vZGUgKi8KICAjZGVmaW5lIEVWUF9NRF9DVFhfRkxB R19QQURfUFNTCQkweDIwCS8qIFBTUyBtb2RlICovCkBAIC0xODI1LDcgKzE4NTMsNyBAQCBkaWZm IC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL2V2cC5oLmZpcHMgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2V2cC9ldnAuaAogIAogICNkZWZpbmUgRVZQX01EX0NUWF9GTEFHX05PX0lOSVQJCTB4 MDEwMCAvKiBEb24ndCBpbml0aWFsaXplIG1kX2RhdGEgKi8KICAKLUBAIC0zMzgsMTUgKzM0Miwx NSBAQCBzdHJ1Y3QgZXZwX2NpcGhlcl9zdAorQEAgLTM0OCwxNSArMzUyLDE1IEBAIHN0cnVjdCBl dnBfY2lwaGVyX3N0CiAgLyogY2lwaGVyIGhhbmRsZXMgcmFuZG9tIGtleSBnZW5lcmF0aW9uICov CiAgI2RlZmluZSAJRVZQX0NJUEhfUkFORF9LRVkJCTB4MjAwCiAgLyogY2lwaGVyIGhhcyBpdHMg b3duIGFkZGl0aW9uYWwgY29weWluZyBsb2dpYyAqLwpAQCAtMTg0Niw3ICsxODc0LDcgQEAgZGlm ZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9ldnAuaC5maXBzIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9ldnAvZXZwLmgKICAgKi8KIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9l dnAvZXZwX2xpYi5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9ldnBfbGliLmMKIC0t LSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL2V2cF9saWIuYy5maXBzCTIwMTMtMDItMTEgMTY6 MjY6MDQuMDAwMDAwMDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9ldnBf bGliLmMJMjAxMy0wMi0xOSAxMjo0NzozMy43MjkxMTg2NjkgKzAxMDAKKysrKyBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vZXZwL2V2cF9saWIuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE3NzY5NDA2OCAr MDIwMAogQEAgLTE5MCw2ICsxOTAsOSBAQCBpbnQgRVZQX0NJUEhFUl9DVFhfYmxvY2tfc2l6ZShj b25zdCBFVlBfCiAgCiAgaW50IEVWUF9DaXBoZXIoRVZQX0NJUEhFUl9DVFggKmN0eCwgdW5zaWdu ZWQgY2hhciAqb3V0LCBjb25zdCB1bnNpZ25lZCBjaGFyICppbiwgdW5zaWduZWQgaW50IGlubCkK QEAgLTE4NTgsOCArMTg4Niw4IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAv ZXZwX2xpYi5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9ldnBfCiAgCX0KICAKIGRp ZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvZXZwX2xvY2wuaC5maXBzIG9wZW5zc2wt MS4wLjFlL2NyeXB0by9ldnAvZXZwX2xvY2wuaAotLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9l dnAvZXZwX2xvY2wuaC5maXBzCTIwMTMtMDItMTkgMTI6NDc6MzMuNDY1MTEzMzA0ICswMTAwCi0r Kysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9ldnBfbG9jbC5oCTIwMTMtMDItMTkgMTI6NDc6 MzMuNzI5MTE4NjY5ICswMTAwCistLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9ldnBfbG9j bC5oLmZpcHMJMjAxMy0xMC0wNCAxMTo0ODowNC4wNjc2OTE1ODQgKzAyMDAKKysrKyBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vZXZwL2V2cF9sb2NsLmgJMjAxMy0xMC0wNCAxMTo0ODowNC4xNzg2OTQw OTEgKzAyMDAKIEBAIC0yNTgsMTAgKzI1OCw5IEBAIGNvbnN0IEVWUF9DSVBIRVIgKkVWUF8jI2Nu YW1lIyNfZWNiKHZvaWQKICAJQkxPQ0tfQ0lQSEVSX2Z1bmNfY2ZiKGNpcGhlciMjXyMja2V5c2l6 ZSxjcHJlZml4LGNiaXRzLGtzdHJ1Y3Qsa3NjaGVkKSBcCiAgCUJMT0NLX0NJUEhFUl9kZWZfY2Zi KGNpcGhlciMjXyMja2V5c2l6ZSxrc3RydWN0LCBcCkBAIC0xODk2LDcgKzE5MjQsNyBAQCBkaWZm IC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL2V2cF9sb2NsLmguZmlwcyBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vZXZwL2V2cAogICNlbmRpZgogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5 cHRvL2V2cC9NYWtlZmlsZS5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvTWFrZWZpbGUK IC0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL01ha2VmaWxlLmZpcHMJMjAxMy0wMi0xMSAx NjoyNjowNC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL01h a2VmaWxlCTIwMTMtMDItMTkgMTI6NTM6MjUuNDY4OTE3Mzg2ICswMTAwCisrKysgb3BlbnNzbC0x LjAuMWUvY3J5cHRvL2V2cC9NYWtlZmlsZQkyMDEzLTEwLTA0IDExOjQ4OjA0LjE3ODY5NDA5MSAr MDIwMAogQEAgLTI4LDcgKzI4LDcgQEAgTElCU1JDPSBlbmNvZGUuYyBkaWdlc3QuYyBldnBfZW5j LmMgZXZwXwogIAliaW9fbWQuYyBiaW9fYjY0LmMgYmlvX2VuYy5jIGV2cF9lcnIuYyBlX251bGwu YyBcCiAgCWNfYWxsLmMgY19hbGxjLmMgY19hbGxkLmMgZXZwX2xpYi5jIGJpb19vay5jIFwKQEAg LTE5MTUsNjAgKzE5NDMsNjAgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9N YWtlZmlsZS5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvTWFrZWYKICAJZV9hZXNfY2Jj X2htYWNfc2hhMS5vIGVfcmM0X2htYWNfbWQ1Lm8KICAKICBTUkM9ICQoTElCU1JDKQotZGlmZiAt dXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9tX2RzczEuYy5maXBzIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9ldnAvbV9kc3MxLmMKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL21fZHNz MS5jLmZpcHMJMjAxMy0wMi0xMSAxNjoyNjowNC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vZXZwL21fZHNzMS5jCTIwMTMtMDItMTkgMTI6NDc6MzMuNzMwMTE4Njg5 ICswMTAwCi1AQCAtNjgsOCArNjgsNiBAQAotICNpbmNsdWRlIDxvcGVuc3NsL2RzYS5oPgorZGlm ZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9tX2Rzcy5jLmZpcHMgb3BlbnNzbC0xLjAu MWUvY3J5cHRvL2V2cC9tX2Rzcy5jCistLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9tX2Rz cy5jLmZpcHMJMjAxMy0wMi0xMSAxNjoyNjowNC4wMDAwMDAwMDAgKzAxMDAKKysrKyBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vZXZwL21fZHNzLmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xNzg2OTQwOTEg KzAyMDAKK0BAIC02Niw3ICs2Niw2IEBACiAgI2VuZGlmCiAgCi0tI2lmbmRlZiBPUEVOU1NMX0ZJ UFMgCi0tCisgI2lmbmRlZiBPUEVOU1NMX05PX1NIQQorLSNpZm5kZWYgT1BFTlNTTF9GSVBTCisg CiAgc3RhdGljIGludCBpbml0KEVWUF9NRF9DVFggKmN0eCkKICAJeyByZXR1cm4gU0hBMV9Jbml0 KGN0eC0+bWRfZGF0YSk7IH0KLSAKLUBAIC04NCw3ICs4Miw3IEBAIHN0YXRpYyBjb25zdCBFVlBf TUQgZHNzMV9tZD0KLSAJTklEX2RzYSwKLSAJTklEX2RzYVdpdGhTSEExLAorQEAgLTgyLDcgKzgx LDcgQEAgc3RhdGljIGNvbnN0IEVWUF9NRCBkc2FfbWQ9CisgCU5JRF9kc2FXaXRoU0hBLAorIAlO SURfZHNhV2l0aFNIQSwKICAJU0hBX0RJR0VTVF9MRU5HVEgsCiAtCUVWUF9NRF9GTEFHX1BLRVlf RElHRVNULAogKwlFVlBfTURfRkxBR19QS0VZX0RJR0VTVHxFVlBfTURfRkxBR19GSVBTLAogIAlp bml0LAogIAl1cGRhdGUsCiAgCWZpbmFsLAotQEAgLTEwMCw0ICs5OCwzIEBAIGNvbnN0IEVWUF9N RCAqRVZQX2RzczEodm9pZCkKLSAJcmV0dXJuKCZkc3MxX21kKTsKK0BAIC05OCw0ICs5NywzIEBA IGNvbnN0IEVWUF9NRCAqRVZQX2Rzcyh2b2lkKQorIAlyZXR1cm4oJmRzYV9tZCk7CiAgCX0KICAj ZW5kaWYKIC0jZW5kaWYKLWRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvbV9kc3Mu Yy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvbV9kc3MuYwotLS0tIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9ldnAvbV9kc3MuYy5maXBzCTIwMTMtMDItMTEgMTY6MjY6MDQuMDAwMDAwMDAw ICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9tX2Rzcy5jCTIwMTMtMDItMTkg MTI6NDc6MzMuNzMwMTE4Njg5ICswMTAwCi1AQCAtNjYsNyArNjYsNiBAQAorZGlmZiAtdXAgb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9tX2RzczEuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9ldnAvbV9kc3MxLmMKKy0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL21fZHNzMS5jLmZp cHMJMjAxMy0wMi0xMSAxNjoyNjowNC4wMDAwMDAwMDAgKzAxMDAKKysrKyBvcGVuc3NsLTEuMC4x ZS9jcnlwdG8vZXZwL21fZHNzMS5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTc4Njk0MDkxICswMjAw CitAQCAtNjgsOCArNjgsNiBAQAorICNpbmNsdWRlIDxvcGVuc3NsL2RzYS5oPgogICNlbmRpZgog IAotICNpZm5kZWYgT1BFTlNTTF9OT19TSEEKLS0jaWZuZGVmIE9QRU5TU0xfRklQUwotIAorLSNp Zm5kZWYgT1BFTlNTTF9GSVBTIAorLQogIHN0YXRpYyBpbnQgaW5pdChFVlBfTURfQ1RYICpjdHgp CiAgCXsgcmV0dXJuIFNIQTFfSW5pdChjdHgtPm1kX2RhdGEpOyB9Ci1AQCAtODIsNyArODEsNyBA QCBzdGF0aWMgY29uc3QgRVZQX01EIGRzYV9tZD0KLSAJTklEX2RzYVdpdGhTSEEsCi0gCU5JRF9k c2FXaXRoU0hBLAorIAorQEAgLTg0LDcgKzgyLDcgQEAgc3RhdGljIGNvbnN0IEVWUF9NRCBkc3Mx X21kPQorIAlOSURfZHNhLAorIAlOSURfZHNhV2l0aFNIQTEsCiAgCVNIQV9ESUdFU1RfTEVOR1RI LAogLQlFVlBfTURfRkxBR19QS0VZX0RJR0VTVCwKICsJRVZQX01EX0ZMQUdfUEtFWV9ESUdFU1R8 RVZQX01EX0ZMQUdfRklQUywKICAJaW5pdCwKICAJdXBkYXRlLAogIAlmaW5hbCwKLUBAIC05OCw0 ICs5NywzIEBAIGNvbnN0IEVWUF9NRCAqRVZQX2Rzcyh2b2lkKQotIAlyZXR1cm4oJmRzYV9tZCk7 CitAQCAtMTAwLDQgKzk4LDMgQEAgY29uc3QgRVZQX01EICpFVlBfZHNzMSh2b2lkKQorIAlyZXR1 cm4oJmRzczFfbWQpOwogIAl9CiAgI2VuZGlmCiAtI2VuZGlmCiBkaWZmIC11cCBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vZXZwL21fbWQyLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL21f bWQyLmMKIC0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL21fbWQyLmMuZmlwcwkyMDEzLTAy LTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9l dnAvbV9tZDIuYwkyMDEzLTAyLTE5IDEyOjQ3OjMzLjczMTExODcxMCArMDEwMAorKysrIG9wZW5z c2wtMS4wLjFlL2NyeXB0by9ldnAvbV9tZDIuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE3ODY5NDA5 MSArMDIwMAogQEAgLTY4LDYgKzY4LDcgQEAKICAjaWZuZGVmIE9QRU5TU0xfTk9fUlNBCiAgI2lu Y2x1ZGUgPG9wZW5zc2wvcnNhLmg+CkBAIC0xOTc5LDcgKzIwMDcsNyBAQCBkaWZmIC11cCBvcGVu c3NsLTEuMC4xZS9jcnlwdG8vZXZwL21fbWQyLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v ZXZwL21fbWQyLgogIAl7IHJldHVybiBNRDJfSW5pdChjdHgtPm1kX2RhdGEpOyB9CiBkaWZmIC11 cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL21fc2hhMS5jLmZpcHMgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2V2cC9tX3NoYTEuYwogLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvbV9zaGEx LmMuZmlwcwkyMDEzLTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wt MS4wLjFlL2NyeXB0by9ldnAvbV9zaGExLmMJMjAxMy0wMi0xOSAxMjo0NzozMy43MzExMTg3MTAg KzAxMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL21fc2hhMS5jCTIwMTMtMTAtMDQg MTE6NDg6MDQuMTc4Njk0MDkxICswMjAwCiBAQCAtNTksOCArNTksNiBAQAogICNpbmNsdWRlIDxz dGRpby5oPgogICNpbmNsdWRlICJjcnlwdGxpYi5oIgpAQCAtMjA0Niw3ICsyMDc0LDcgQEAgZGlm ZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9tX3NoYTEuYy5maXBzIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9ldnAvbV9zaGEKIC0jZW5kaWYKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9ldnAvcF9zaWduLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL3Bfc2lnbi5j CiAtLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9wX3NpZ24uYy5maXBzCTIwMTMtMDItMTEg MTY6MjY6MDQuMDAwMDAwMDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9w X3NpZ24uYwkyMDEzLTAyLTE5IDEyOjQ3OjMzLjczMTExODcxMCArMDEwMAorKysrIG9wZW5zc2wt MS4wLjFlL2NyeXB0by9ldnAvcF9zaWduLmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xNzk2OTQxMTQg KzAyMDAKIEBAIC02MSw2ICs2MSw3IEBACiAgI2luY2x1ZGUgPG9wZW5zc2wvZXZwLmg+CiAgI2lu Y2x1ZGUgPG9wZW5zc2wvb2JqZWN0cy5oPgpAQCAtMjA4MCw3ICsyMTA4LDcgQEAgZGlmZiAtdXAg b3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9wX3NpZ24uYy5maXBzIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9ldnAvcF9zaWcKICAJCSpzaWdsZW4gPSBzbHRtcDsKIGRpZmYgLXVwIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9ldnAvcF92ZXJpZnkuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAv cF92ZXJpZnkuYwogLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvcF92ZXJpZnkuYy5maXBz CTIwMTMtMDItMTEgMTY6MjY6MDQuMDAwMDAwMDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2V2cC9wX3ZlcmlmeS5jCTIwMTMtMDItMTkgMTI6NDc6MzMuNzMyMTE4NzMxICswMTAw CisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9wX3ZlcmlmeS5jCTIwMTMtMTAtMDQgMTE6 NDg6MDQuMTc5Njk0MTE0ICswMjAwCiBAQCAtNjEsNiArNjEsNyBAQAogICNpbmNsdWRlIDxvcGVu c3NsL2V2cC5oPgogICNpbmNsdWRlIDxvcGVuc3NsL29iamVjdHMuaD4KQEAgLTIxMTMsOCArMjE0 MSw4IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvcF92ZXJpZnkuYy5maXBz IG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvcF92CiAgCQllcnI6CiAgCQlFVlBfUEtFWV9DVFhf ZnJlZShwa2N0eCk7CiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2Zp cHNfYWVzYXZzLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfYWVz YXZzLmMKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfYWVzYXZzLmMu ZmlwcwkyMDEzLTAyLTE5IDEyOjQ3OjMzLjczMjExODczMSArMDEwMAotKysrIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19hZXNhdnMuYwkyMDEzLTAyLTE5IDEyOjQ3OjMzLjcz MjExODczMSArMDEwMAorLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19h ZXNhdnMuYy5maXBzCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTc5Njk0MTE0ICswMjAwCisrKysgb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX2Flc2F2cy5jCTIwMTMtMTAtMDQgMTE6 NDg6MDQuMTc5Njk0MTE0ICswMjAwCiBAQCAtMCwwICsxLDkzOSBAQAogKy8qID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 CiArICogQ29weXJpZ2h0IChjKSAyMDA0IFRoZSBPcGVuU1NMIFByb2plY3QuICBBbGwgcmlnaHRz IHJlc2VydmVkLgpAQCAtMzA1Niw4ICszMDg0LDggQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2ZpcHMvY2F2cy9maXBzX2Flc2F2cy5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHQK ICsKICsjZW5kaWYKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlw c19jbWFjdGVzdC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX2Nt YWN0ZXN0LmMKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfY21hY3Rl c3QuYy5maXBzCTIwMTMtMDItMTkgMTI6NDc6MzMuNzMyMTE4NzMxICswMTAwCi0rKysgb3BlbnNz bC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX2NtYWN0ZXN0LmMJMjAxMy0wMi0xOSAxMjo0 NzozMy43MzIxMTg3MzEgKzAxMDAKKy0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZz L2ZpcHNfY21hY3Rlc3QuYy5maXBzCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTc5Njk0MTE0ICswMjAw CisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX2NtYWN0ZXN0LmMJMjAx My0xMC0wNCAxMTo0ODowNC4xNzk2OTQxMTQgKzAyMDAKIEBAIC0wLDAgKzEsNTE3IEBACiArLyog Zmlwc19jbWFjdGVzdC5jICovCiArLyogV3JpdHRlbiBieSBEciBTdGVwaGVuIE4gSGVuc29uIChz dGV2ZUBvcGVuc3NsLm9yZykgZm9yIHRoZSBPcGVuU1NMCkBAIC0zNTc3LDggKzM2MDUsOCBAQCBk aWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfY21hY3Rlc3QuYy5m aXBzIG9wZW5zc2wtMS4wLjFlL2NyeQogKwogKyNlbmRpZgogZGlmZiAtdXAgb3BlbnNzbC0xLjAu MWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX2Rlc21vdnMuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9maXBzL2NhdnMvZmlwc19kZXNtb3ZzLmMKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v Zmlwcy9jYXZzL2ZpcHNfZGVzbW92cy5jLmZpcHMJMjAxMy0wMi0xOSAxMjo0NzozMy43MzMxMTg3 NTIgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfZGVzbW92 cy5jCTIwMTMtMDItMTkgMTI6NDc6MzMuNzMzMTE4NzUyICswMTAwCistLS0gb3BlbnNzbC0xLjAu MWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX2Rlc21vdnMuYy5maXBzCTIwMTMtMTAtMDQgMTE6NDg6 MDQuMTgwNjk0MTM2ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9m aXBzX2Rlc21vdnMuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4MDY5NDEzNiArMDIwMAogQEAgLTAs MCArMSw3MDIgQEAKICsvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogKyAqIENvcHlyaWdodCAoYykgMjAwNCBUaGUg T3BlblNTTCBQcm9qZWN0LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KQEAgLTQyODMsOCArNDMxMSw4 IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19kZXNtb3Zz LmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwCiArCiArI2VuZGlmCiBkaWZmIC11cCBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfZGh2cy5jLmZpcHMgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2ZpcHMvY2F2cy9maXBzX2RodnMuYwotLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9m aXBzL2NhdnMvZmlwc19kaHZzLmMuZmlwcwkyMDEzLTAyLTE5IDEyOjQ3OjMzLjczMzExODc1MiAr MDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19kaHZzLmMJMjAx My0wMi0xOSAxMjo0NzozMy43MzMxMTg3NTIgKzAxMDAKKy0tLSBvcGVuc3NsLTEuMC4xZS9jcnlw dG8vZmlwcy9jYXZzL2ZpcHNfZGh2cy5jLmZpcHMJMjAxMy0xMC0wNCAxMTo0ODowNC4xODA2OTQx MzYgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfZGh2cy5j CTIwMTMtMTAtMDQgMTE6NDg6MDQuMTgwNjk0MTM2ICswMjAwCiBAQCAtMCwwICsxLDI5MiBAQAog Ky8qIGZpcHMvZGgvZmlwc19kaHZzLmMgKi8KICsvKiBXcml0dGVuIGJ5IERyIFN0ZXBoZW4gTiBI ZW5zb24gKHN0ZXZlQG9wZW5zc2wub3JnKSBmb3IgdGhlIE9wZW5TU0wKQEAgLTQ1NzksOCArNDYw Nyw4IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19kaHZz LmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vCiArCiArI2VuZGlmCiBkaWZmIC11cCBvcGVu c3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfZHJiZ3ZzLmMuZmlwcyBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfZHJiZ3ZzLmMKLS0tLSBvcGVuc3NsLTEuMC4xZS9j cnlwdG8vZmlwcy9jYXZzL2ZpcHNfZHJiZ3ZzLmMuZmlwcwkyMDEzLTAyLTE5IDEyOjQ3OjMzLjcz MzExODc1MiArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19k cmJndnMuYwkyMDEzLTAyLTE5IDEyOjQ3OjMzLjczMzExODc1MiArMDEwMAorLS0tIG9wZW5zc2wt MS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19kcmJndnMuYy5maXBzCTIwMTMtMTAtMDQgMTE6 NDg6MDQuMTgwNjk0MTM2ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2 cy9maXBzX2RyYmd2cy5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTgwNjk0MTM2ICswMjAwCiBAQCAt MCwwICsxLDQxNiBAQAogKy8qIGZpcHMvcmFuZC9maXBzX2RyYmd2cy5jICovCiArLyogV3JpdHRl biBieSBEciBTdGVwaGVuIE4gSGVuc29uIChzdGV2ZUBvcGVuc3NsLm9yZykgZm9yIHRoZSBPcGVu U1NMCkBAIC00OTk5LDggKzUwMjcsOCBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v Zmlwcy9jYXZzL2ZpcHNfZHJiZ3ZzLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdAogKwogKyNl bmRpZgogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX2Rzc3Zz LmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfZHNzdnMuYwotLS0t IG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19kc3N2cy5jLmZpcHMJMjAxMy0w Mi0xOSAxMjo0NzozMy43MzMxMTg3NTIgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v Zmlwcy9jYXZzL2ZpcHNfZHNzdnMuYwkyMDEzLTAyLTE5IDEyOjQ3OjMzLjczMzExODc1MiArMDEw MAorLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19kc3N2cy5jLmZpcHMJ MjAxMy0xMC0wNCAxMTo0ODowNC4xODA2OTQxMzYgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9j cnlwdG8vZmlwcy9jYXZzL2ZpcHNfZHNzdnMuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4MDY5NDEz NiArMDIwMAogQEAgLTAsMCArMSw1MzcgQEAKICsjaW5jbHVkZSA8b3BlbnNzbC9vcGVuc3NsY29u Zi5oPgogKwpAQCAtNTU0MCw4ICs1NTY4LDggQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5 cHRvL2ZpcHMvY2F2cy9maXBzX2Rzc3ZzLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8KICsK ICsjZW5kaWYKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19n Y210ZXN0LmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfZ2NtdGVz dC5jCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX2djbXRlc3QuYy5m aXBzCTIwMTMtMDItMTkgMTI6NDc6MzMuNzM0MTE4NzcyICswMTAwCi0rKysgb3BlbnNzbC0xLjAu MWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX2djbXRlc3QuYwkyMDEzLTAyLTE5IDEyOjQ3OjMzLjcz NDExODc3MiArMDEwMAorLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19n Y210ZXN0LmMuZmlwcwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4MTY5NDE1OCArMDIwMAorKysrIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19nY210ZXN0LmMJMjAxMy0xMC0wNCAx MTo0ODowNC4xODE2OTQxNTggKzAyMDAKIEBAIC0wLDAgKzEsNTcxIEBACiArLyogZmlwcy9hZXMv Zmlwc19nY210ZXN0LmMgKi8KICsvKiBXcml0dGVuIGJ5IERyIFN0ZXBoZW4gTiBIZW5zb24gKHN0 ZXZlQG9wZW5zc2wub3JnKSBmb3IgdGhlIE9wZW5TU0wKQEAgLTYxMTUsOCArNjE0Myw4IEBAIGRp ZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19nY210ZXN0LmMuZmlw cyBvcGVuc3NsLTEuMC4xZS9jcnlwCiArCiArI2VuZGlmCiBkaWZmIC11cCBvcGVuc3NsLTEuMC4x ZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfcm5ndnMuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9maXBzL2NhdnMvZmlwc19ybmd2cy5jCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMv Y2F2cy9maXBzX3JuZ3ZzLmMuZmlwcwkyMDEzLTAyLTE5IDEyOjQ3OjMzLjczNDExODc3MiArMDEw MAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19ybmd2cy5jCTIwMTMt MDItMTkgMTI6NDc6MzMuNzM0MTE4NzcyICswMTAwCistLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRv L2ZpcHMvY2F2cy9maXBzX3JuZ3ZzLmMuZmlwcwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4MTY5NDE1 OCArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19ybmd2cy5j CTIwMTMtMTAtMDQgMTE6NDg6MDQuMTgxNjk0MTU4ICswMjAwCiBAQCAtMCwwICsxLDIzMCBAQAog Ky8qCiArICogQ3J1ZGUgdGVzdCBkcml2ZXIgZm9yIHByb2Nlc3NpbmcgdGhlIFZTVCBhbmQgTUNU IHRlc3R2ZWN0b3IgZmlsZXMKQEAgLTYzNDksOCArNjM3Nyw4IEBAIGRpZmYgLXVwIG9wZW5zc2wt MS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19ybmd2cy5jLmZpcHMgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvCiArICAgIH0KICsjZW5kaWYKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9m aXBzL2NhdnMvZmlwc19yc2FndGVzdC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMv Y2F2cy9maXBzX3JzYWd0ZXN0LmMKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZz L2ZpcHNfcnNhZ3Rlc3QuYy5maXBzCTIwMTMtMDItMTkgMTI6NDc6MzMuNzM0MTE4NzcyICswMTAw Ci0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX3JzYWd0ZXN0LmMJMjAx My0wMi0xOSAxMjo0NzozMy43MzQxMTg3NzIgKzAxMDAKKy0tLSBvcGVuc3NsLTEuMC4xZS9jcnlw dG8vZmlwcy9jYXZzL2ZpcHNfcnNhZ3Rlc3QuYy5maXBzCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTgx Njk0MTU4ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX3Jz YWd0ZXN0LmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xODE2OTQxNTggKzAyMDAKIEBAIC0wLDAgKzEs MzkwIEBACiArLyogZmlwc19yc2FndGVzdC5jICovCiArLyogV3JpdHRlbiBieSBEciBTdGVwaGVu IE4gSGVuc29uIChzdGV2ZUBvcGVuc3NsLm9yZykgZm9yIHRoZSBPcGVuU1NMCkBAIC02NzQzLDgg KzY3NzEsOCBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNf cnNhZ3Rlc3QuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeQogKwogKyNlbmRpZgogZGlmZiAtdXAg b3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX3JzYXN0ZXN0LmMuZmlwcyBvcGVu c3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfcnNhc3Rlc3QuYwotLS0tIG9wZW5zc2wt MS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19yc2FzdGVzdC5jLmZpcHMJMjAxMy0wMi0xOSAx Mjo0NzozMy43MzQxMTg3NzIgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9j YXZzL2ZpcHNfcnNhc3Rlc3QuYwkyMDEzLTAyLTE5IDEyOjQ3OjMzLjczNDExODc3MiArMDEwMAor LS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19yc2FzdGVzdC5jLmZpcHMJ MjAxMy0xMC0wNCAxMTo0ODowNC4xODE2OTQxNTggKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9j cnlwdG8vZmlwcy9jYXZzL2ZpcHNfcnNhc3Rlc3QuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4MTY5 NDE1OCArMDIwMAogQEAgLTAsMCArMSwzNzAgQEAKICsvKiBmaXBzX3JzYXN0ZXN0LmMgKi8KICsv KiBXcml0dGVuIGJ5IERyIFN0ZXBoZW4gTiBIZW5zb24gKHN0ZXZlQG9wZW5zc2wub3JnKSBmb3Ig dGhlIE9wZW5TU0wKQEAgLTcxMTcsOCArNzE0NSw4IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9maXBzL2NhdnMvZmlwc19yc2FzdGVzdC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5 CiArCX0KICsjZW5kaWYKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMv Zmlwc19yc2F2dGVzdC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBz X3JzYXZ0ZXN0LmMKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfcnNh dnRlc3QuYy5maXBzCTIwMTMtMDItMTkgMTI6NDc6MzMuNzM1MTE4NzkyICswMTAwCi0rKysgb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX3JzYXZ0ZXN0LmMJMjAxMy0wMi0xOSAx Mjo0NzozMy43MzUxMTg3OTIgKzAxMDAKKy0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9j YXZzL2ZpcHNfcnNhdnRlc3QuYy5maXBzCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTgxNjk0MTU4ICsw MjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX3JzYXZ0ZXN0LmMJ MjAxMy0xMC0wNCAxMTo0ODowNC4xODE2OTQxNTggKzAyMDAKIEBAIC0wLDAgKzEsMzc3IEBACiAr LyogZmlwc19yc2F2dGVzdC5jICovCiArLyogV3JpdHRlbiBieSBEciBTdGVwaGVuIE4gSGVuc29u IChzdGV2ZUBvcGVuc3NsLm9yZykgZm9yIHRoZSBPcGVuU1NMCkBAIC03NDk4LDggKzc1MjYsOCBA QCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfcnNhdnRlc3Qu Yy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeQogKwl9CiArI2VuZGlmCiBkaWZmIC11cCBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfc2hhdGVzdC5jLmZpcHMgb3BlbnNzbC0xLjAu MWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX3NoYXRlc3QuYwotLS0tIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9maXBzL2NhdnMvZmlwc19zaGF0ZXN0LmMuZmlwcwkyMDEzLTAyLTE5IDEyOjQ3OjMzLjcz NTExODc5MiArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19z aGF0ZXN0LmMJMjAxMy0wMi0xOSAxMjo0NzozMy43MzUxMTg3OTIgKzAxMDAKKy0tLSBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfc2hhdGVzdC5jLmZpcHMJMjAxMy0xMC0wNCAx MTo0ODowNC4xODI2OTQxODEgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9j YXZzL2ZpcHNfc2hhdGVzdC5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTgyNjk0MTgxICswMjAwCiBA QCAtMCwwICsxLDM4OCBAQAogKy8qIGZpcHNfc2hhdGVzdC5jICovCiArLyogV3JpdHRlbiBieSBE ciBTdGVwaGVuIE4gSGVuc29uIChzdGV2ZUBvcGVuc3NsLm9yZykgZm9yIHRoZSBPcGVuU1NMCkBA IC03ODkwLDggKzc5MTgsOCBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9j YXZzL2ZpcHNfc2hhdGVzdC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cAogKwogKyNlbmRpZgog ZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX3V0bC5oLmZpcHMg b3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX3V0bC5oCi0tLS0gb3BlbnNzbC0x LjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX3V0bC5oLmZpcHMJMjAxMy0wMi0xOSAxMjo0Nzoz My43MzUxMTg3OTIgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2Zp cHNfdXRsLmgJMjAxMy0wMi0xOSAxMjo0NzozMy43MzUxMTg3OTIgKzAxMDAKKy0tLSBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfdXRsLmguZmlwcwkyMDEzLTEwLTA0IDExOjQ4 OjA0LjE4MjY5NDE4MSArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMv Zmlwc191dGwuaAkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4MjY5NDE4MSArMDIwMAogQEAgLTAsMCAr MSwzNDMgQEAKICsvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQogKyAqIENvcHlyaWdodCAoYykgMjAwNyBUaGUgT3Bl blNTTCBQcm9qZWN0LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KQEAgLTgyMzcsOCArODI2NSw4IEBA IGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc191dGwuaC5maXBz IG9wZW5zc2wtMS4wLjFlL2NyeXB0by9mCiArICAgIH0KICsKIGRpZmYgLXVwIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9maXBzL2ZpcHNfYWVzX3NlbGZ0ZXN0LmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9j cnlwdG8vZmlwcy9maXBzX2Flc19zZWxmdGVzdC5jCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRv L2ZpcHMvZmlwc19hZXNfc2VsZnRlc3QuYy5maXBzCTIwMTMtMDItMTkgMTI6NDc6MzMuNzM1MTE4 NzkyICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19hZXNfc2VsZnRl c3QuYwkyMDEzLTAyLTE5IDEyOjQ3OjMzLjczNTExODc5MiArMDEwMAorLS0tIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9maXBzL2ZpcHNfYWVzX3NlbGZ0ZXN0LmMuZmlwcwkyMDEzLTEwLTA0IDExOjQ4 OjA0LjE4MjY5NDE4MSArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNf YWVzX3NlbGZ0ZXN0LmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xODI2OTQxODEgKzAyMDAKIEBAIC0w LDAgKzEsMzU5IEBACiArLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICsgKiBDb3B5cmlnaHQgKGMpIDIwMDMgVGhl IE9wZW5TU0wgUHJvamVjdC4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCkBAIC04Mzg0LDcgKzg0MTIs NyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2Flc19zZWxmdGVz dC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cAogKwlFVlBfQ0lQSEVSX0NUWCBjdHg7CiArCUVW UF9DSVBIRVJfQ1RYX2luaXQoJmN0eCk7CiArCW1lbXNldChvdXQsIDAsIHNpemVvZihvdXQpKTsK LSsJaWYgKCFFVlBfQ2lwaGVySW5pdCgmY3R4LCBFVlBfYWVzXzE5Ml9jY20oKSwgTlVMTCwgTlVM TCwgMSkpCisrCWlmICghRVZQX0NpcGhlckluaXRfZXgoJmN0eCwgRVZQX2Flc18xOTJfY2NtKCks TlVMTCwgTlVMTCwgTlVMTCwgMSkpCiArCQlnb3RvIGVycjsKICsJaWYgKCFFVlBfQ0lQSEVSX0NU WF9jdHJsKCZjdHgsIEVWUF9DVFJMX0NDTV9TRVRfSVZMRU4sCiArCQkJCQlzaXplb2YoY2NtX25v bmNlKSwgTlVMTCkpCkBAIC04MzkyLDcgKzg0MjAsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4x ZS9jcnlwdG8vZmlwcy9maXBzX2Flc19zZWxmdGVzdC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5 cAogKwlpZiAoIUVWUF9DSVBIRVJfQ1RYX2N0cmwoJmN0eCwgRVZQX0NUUkxfQ0NNX1NFVF9UQUcs CiArCQkJCQlzaXplb2YoY2NtX3RhZyksIE5VTEwpKQogKwkJZ290byBlcnI7Ci0rCWlmICghRVZQ X0NpcGhlckluaXQoJmN0eCwgTlVMTCwgY2NtX2tleSwgY2NtX25vbmNlLCAxKSkKKysJaWYgKCFF VlBfQ2lwaGVySW5pdF9leCgmY3R4LCBOVUxMLCBOVUxMLCBjY21fa2V5LCBjY21fbm9uY2UsIDEp KQogKwkJZ290byBlcnI7CiArCWlmIChFVlBfQ2lwaGVyKCZjdHgsIE5VTEwsIE5VTEwsIHNpemVv ZihjY21fcHQpKSAhPSBzaXplb2YoY2NtX3B0KSkKICsJCWdvdG8gZXJyOwpAQCAtODQwOSwxNCAr ODQzNywxNCBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2Flc19z ZWxmdGVzdC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cAogKwogKwltZW1zZXQob3V0LCAwLCBz aXplb2Yob3V0KSk7CiArCi0rCWlmICghRVZQX0NpcGhlckluaXQoJmN0eCwgRVZQX2Flc18xOTJf Y2NtKCksIE5VTEwsIE5VTEwsIDApKQorKwlpZiAoIUVWUF9DaXBoZXJJbml0X2V4KCZjdHgsIEVW UF9hZXNfMTkyX2NjbSgpLCBOVUxMLCBOVUxMLCBOVUxMLCAwKSkKICsJCWdvdG8gZXJyOwogKwlp ZiAoIUVWUF9DSVBIRVJfQ1RYX2N0cmwoJmN0eCwgRVZQX0NUUkxfQ0NNX1NFVF9JVkxFTiwKICsJ CQkJCXNpemVvZihjY21fbm9uY2UpLCBOVUxMKSkKICsJCWdvdG8gZXJyOwogKwlpZiAoIUVWUF9D SVBIRVJfQ1RYX2N0cmwoJmN0eCwgRVZQX0NUUkxfQ0NNX1NFVF9UQUcsIDE2LCB0YWcpKQogKwkJ Z290byBlcnI7Ci0rCWlmICghRVZQX0NpcGhlckluaXQoJmN0eCwgTlVMTCwgY2NtX2tleSwgY2Nt X25vbmNlLCAwKSkKKysJaWYgKCFFVlBfQ2lwaGVySW5pdF9leCgmY3R4LCBOVUxMLCBOVUxMLCBj Y21fa2V5LCBjY21fbm9uY2UsIDApKQogKwkJZ290byBlcnI7CiArCWlmIChFVlBfQ2lwaGVyKCZj dHgsIE5VTEwsIE5VTEwsIHNpemVvZihjY21fY3QpKSAhPSBzaXplb2YoY2NtX2N0KSkKICsJCWdv dG8gZXJyOwpAQCAtODQ3OCwxMiArODUwNiwxMiBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9j cnlwdG8vZmlwcy9maXBzX2Flc19zZWxmdGVzdC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cAog KwlFVlBfQ0lQSEVSX0NUWF9pbml0KCZjdHgpOwogKwltZW1zZXQob3V0LCAwLCBzaXplb2Yob3V0 KSk7CiArCW1lbXNldCh0YWcsIDAsIHNpemVvZih0YWcpKTsKLSsJaWYgKCFFVlBfQ2lwaGVySW5p dCgmY3R4LCBFVlBfYWVzXzI1Nl9nY20oKSwgTlVMTCwgTlVMTCwgMSkpCisrCWlmICghRVZQX0Np cGhlckluaXRfZXgoJmN0eCwgRVZQX2Flc18yNTZfZ2NtKCksIE5VTEwsIE5VTEwsIE5VTEwsIDEp KQogKwkJZ290byBlcnI7CiArCWlmICghRVZQX0NJUEhFUl9DVFhfY3RybCgmY3R4LCBFVlBfQ1RS TF9HQ01fU0VUX0lWTEVOLAogKwkJCQkJc2l6ZW9mKGdjbV9pdiksIE5VTEwpKQogKwkJZ290byBl cnI7Ci0rCWlmICghRVZQX0NpcGhlckluaXQoJmN0eCwgTlVMTCwgZ2NtX2tleSwgZ2NtX2l2LCAx KSkKKysJaWYgKCFFVlBfQ2lwaGVySW5pdF9leCgmY3R4LCBOVUxMLCBOVUxMLCBnY21fa2V5LCBn Y21faXYsIDEpKQogKwkJZ290byBlcnI7CiArCWlmIChFVlBfQ2lwaGVyKCZjdHgsIE5VTEwsIGdj bV9hYWQsIHNpemVvZihnY21fYWFkKSkgPCAwKQogKwkJZ290byBlcnI7CkBAIC04NTAwLDE0ICs4 NTI4LDE0IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfYWVzX3Nl bGZ0ZXN0LmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwCiArCiArCW1lbXNldChvdXQsIDAsIHNp emVvZihvdXQpKTsKICsKLSsJaWYgKCFFVlBfQ2lwaGVySW5pdCgmY3R4LCBFVlBfYWVzXzI1Nl9n Y20oKSwgTlVMTCwgTlVMTCwgMCkpCisrCWlmICghRVZQX0NpcGhlckluaXRfZXgoJmN0eCwgRVZQ X2Flc18yNTZfZ2NtKCksIE5VTEwsIE5VTEwsIE5VTEwsIDApKQogKwkJZ290byBlcnI7CiArCWlm ICghRVZQX0NJUEhFUl9DVFhfY3RybCgmY3R4LCBFVlBfQ1RSTF9HQ01fU0VUX0lWTEVOLAogKwkJ CQkJc2l6ZW9mKGdjbV9pdiksIE5VTEwpKQogKwkJZ290byBlcnI7CiArCWlmICghRVZQX0NJUEhF Ul9DVFhfY3RybCgmY3R4LCBFVlBfQ1RSTF9HQ01fU0VUX1RBRywgMTYsIHRhZykpCiArCQlnb3Rv IGVycjsKLSsJaWYgKCFFVlBfQ2lwaGVySW5pdCgmY3R4LCBOVUxMLCBnY21fa2V5LCBnY21faXYs IDApKQorKwlpZiAoIUVWUF9DaXBoZXJJbml0X2V4KCZjdHgsIE5VTEwsIE5VTEwsIGdjbV9rZXks IGdjbV9pdiwgMCkpCiArCQlnb3RvIGVycjsKICsJaWYgKEVWUF9DaXBoZXIoJmN0eCwgTlVMTCwg Z2NtX2FhZCwgc2l6ZW9mKGdjbV9hYWQpKSA8IDApCiArCQlnb3RvIGVycjsKQEAgLTg2MDAsOCAr ODYyOCw4IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfYWVzX3Nl bGZ0ZXN0LmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwCiArCiArI2VuZGlmCiBkaWZmIC11cCBv cGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlw dG8vZmlwcy9maXBzLmMKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzLmMuZmlw cwkyMDEzLTAyLTE5IDEyOjQ3OjMzLjczNTExODc5MiArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9maXBzL2ZpcHMuYwkyMDEzLTAyLTE5IDEyOjQ3OjMzLjczNjExODgxMiArMDEwMAor LS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHMuYy5maXBzCTIwMTMtMTAtMDQgMTE6 NDg6MDQuMTgyNjk0MTgxICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlw cy5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTgyNjk0MTgxICswMjAwCiBAQCAtMCwwICsxLDQ4OSBA QAogKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09CiArICogQ29weXJpZ2h0IChjKSAyMDAzIFRoZSBPcGVuU1NMIFBy b2plY3QuICBBbGwgcmlnaHRzIHJlc2VydmVkLgpAQCAtOTA5Myw4ICs5MTIxLDggQEAgZGlmZiAt dXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwcy5jLmZpcHMgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2ZpcHMvZmlwcy4KICsKICsjZW5kaWYKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9maXBzL2ZpcHNfY21hY19zZWxmdGVzdC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRv L2ZpcHMvZmlwc19jbWFjX3NlbGZ0ZXN0LmMKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlw cy9maXBzX2NtYWNfc2VsZnRlc3QuYy5maXBzCTIwMTMtMDItMTkgMTI6NDc6MzMuNzM2MTE4ODEy ICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19jbWFjX3NlbGZ0ZXN0 LmMJMjAxMy0wMi0xOSAxMjo0NzozMy43MzYxMTg4MTIgKzAxMDAKKy0tLSBvcGVuc3NsLTEuMC4x ZS9jcnlwdG8vZmlwcy9maXBzX2NtYWNfc2VsZnRlc3QuYy5maXBzCTIwMTMtMTAtMDQgMTE6NDg6 MDQuMTgzNjk0MjA0ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19j bWFjX3NlbGZ0ZXN0LmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xODM2OTQyMDQgKzAyMDAKIEBAIC0w LDAgKzEsMTYxIEBACiArLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICsgKiBDb3B5cmlnaHQgKGMpIDIwMTEgVGhl IE9wZW5TU0wgUHJvamVjdC4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCkBAIC05MjU4LDggKzkyODYs OCBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2NtYWNfc2VsZnRl c3QuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeQogKwl9CiArI2VuZGlmCiBkaWZmIC11cCBvcGVu c3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2Rlc19zZWxmdGVzdC5jLmZpcHMgb3BlbnNzbC0x LjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19kZXNfc2VsZnRlc3QuYwotLS0tIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9maXBzL2ZpcHNfZGVzX3NlbGZ0ZXN0LmMuZmlwcwkyMDEzLTAyLTE5IDEyOjQ3OjMz LjczNjExODgxMiArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfZGVz X3NlbGZ0ZXN0LmMJMjAxMy0wMi0xOSAxMjo0NzozMy43MzYxMTg4MTIgKzAxMDAKKy0tLSBvcGVu c3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2Rlc19zZWxmdGVzdC5jLmZpcHMJMjAxMy0xMC0w NCAxMTo0ODowNC4xODM2OTQyMDQgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlw cy9maXBzX2Rlc19zZWxmdGVzdC5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTgzNjk0MjA0ICswMjAw CiBAQCAtMCwwICsxLDE0NyBAQAogKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiArICogQ29weXJpZ2h0IChjKSAy MDAzIFRoZSBPcGVuU1NMIFByb2plY3QuICBBbGwgcmlnaHRzIHJlc2VydmVkLgpAQCAtOTQwOSw4 ICs5NDM3LDggQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19kZXNf c2VsZnRlc3QuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXAKICsgICAgfQogKyNlbmRpZgogZGlm ZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX2N0ci5jLmZpcHMgb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX2N0ci5jCi0tLS0gb3BlbnNzbC0xLjAu MWUvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX2N0ci5jLmZpcHMJMjAxMy0wMi0xOSAxMjo0NzozMy43 MzYxMTg4MTIgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2RyYmdf Y3RyLmMJMjAxMy0wMi0xOSAxMjo0NzozMy43MzYxMTg4MTIgKzAxMDAKKy0tLSBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vZmlwcy9maXBzX2RyYmdfY3RyLmMuZmlwcwkyMDEzLTEwLTA0IDExOjQ4OjA0 LjE4MzY5NDIwNCArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfZHJi Z19jdHIuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4MzY5NDIwNCArMDIwMAogQEAgLTAsMCArMSw0 MzYgQEAKICsvKiBmaXBzL3JhbmQvZmlwc19kcmJnX2N0ci5jICovCiArLyogV3JpdHRlbiBieSBE ciBTdGVwaGVuIE4gSGVuc29uIChzdGV2ZUBvcGVuc3NsLm9yZykgZm9yIHRoZSBPcGVuU1NMCkBA IC05ODQ5LDggKzk4NzcsOCBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9m aXBzX2RyYmdfY3RyLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZgogKwlyZXR1cm4gMTsK ICsJfQogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX2hhc2gu Yy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfZHJiZ19oYXNoLmMKLS0tLSBv cGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2RyYmdfaGFzaC5jLmZpcHMJMjAxMy0wMi0x OSAxMjo0NzozMy43MzYxMTg4MTIgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlw cy9maXBzX2RyYmdfaGFzaC5jCTIwMTMtMDItMTkgMTI6NDc6MzMuNzM2MTE4ODEyICswMTAwCist LS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX2hhc2guYy5maXBzCTIwMTMt MTAtMDQgMTE6NDg6MDQuMTgzNjk0MjA0ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRv L2ZpcHMvZmlwc19kcmJnX2hhc2guYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4MzY5NDIwNCArMDIw MAogQEAgLTAsMCArMSwzNzggQEAKICsvKiBmaXBzL3JhbmQvZmlwc19kcmJnX2hhc2guYyAqLwog Ky8qIFdyaXR0ZW4gYnkgRHIgU3RlcGhlbiBOIEhlbnNvbiAoc3RldmVAb3BlbnNzbC5vcmcpIGZv ciB0aGUgT3BlblNTTApAQCAtMTAyMzEsOCArMTAyNTksOCBAQCBkaWZmIC11cCBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vZmlwcy9maXBzX2RyYmdfaGFzaC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5 cHRvLwogKwlyZXR1cm4gMTsKICsJfQogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Zp cHMvZmlwc19kcmJnX2htYWMuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNf ZHJiZ19obWFjLmMKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2RyYmdfaG1h Yy5jLmZpcHMJMjAxMy0wMi0xOSAxMjo0NzozMy43MzcxMTg4MzIgKzAxMDAKLSsrKyBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2RyYmdfaG1hYy5jCTIwMTMtMDItMTkgMTI6NDc6MzMu NzM3MTE4ODMyICswMTAwCistLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19kcmJn X2htYWMuYy5maXBzCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTgzNjk0MjA0ICswMjAwCisrKysgb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX2htYWMuYwkyMDEzLTEwLTA0IDExOjQ4 OjA0LjE4MzY5NDIwNCArMDIwMAogQEAgLTAsMCArMSwyODEgQEAKICsvKiBmaXBzL3JhbmQvZmlw c19kcmJnX2htYWMuYyAqLwogKy8qIFdyaXR0ZW4gYnkgRHIgU3RlcGhlbiBOIEhlbnNvbiAoc3Rl dmVAb3BlbnNzbC5vcmcpIGZvciB0aGUgT3BlblNTTApAQCAtMTA1MTYsOCArMTA1NDQsOCBAQCBk aWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2RyYmdfaG1hYy5jLmZpcHMg b3BlbnNzbC0xLjAuMWUvY3J5cHRvLwogKwlyZXR1cm4gMTsKICsJfQogZGlmZiAtdXAgb3BlbnNz bC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX2xpYi5jLmZpcHMgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2ZpcHMvZmlwc19kcmJnX2xpYi5jCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Zp cHMvZmlwc19kcmJnX2xpYi5jLmZpcHMJMjAxMy0wMi0xOSAxMjo0NzozMy43MzcxMTg4MzIgKzAx MDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2RyYmdfbGliLmMJMjAxMy0w Mi0xOSAxMjo0NzozMy43MzcxMTg4MzIgKzAxMDAKKy0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v Zmlwcy9maXBzX2RyYmdfbGliLmMuZmlwcwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4NDY5NDIyNiAr MDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfZHJiZ19saWIuYwkyMDEz LTEwLTA0IDExOjQ4OjA0LjE4NDY5NDIyNiArMDIwMAogQEAgLTAsMCArMSw1NzggQEAKICsvKiBX cml0dGVuIGJ5IERyIFN0ZXBoZW4gTiBIZW5zb24gKHN0ZXZlQG9wZW5zc2wub3JnKSBmb3IgdGhl IE9wZW5TU0wKICsgKiBwcm9qZWN0LgpAQCAtMTEwOTgsOCArMTExMjYsOCBAQCBkaWZmIC11cCBv cGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2RyYmdfbGliLmMuZmlwcyBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vZgogKwlyZXR1cm4gMTsKICsJfQogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2ZpcHMvZmlwc19kcmJnX3JhbmQuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9m aXBzL2ZpcHNfZHJiZ19yYW5kLmMKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBz X2RyYmdfcmFuZC5jLmZpcHMJMjAxMy0wMi0xOSAxMjo0NzozMy43MzcxMTg4MzIgKzAxMDAKLSsr KyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2RyYmdfcmFuZC5jCTIwMTMtMDItMTkg MTI6NDc6MzMuNzM3MTE4ODMyICswMTAwCistLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMv Zmlwc19kcmJnX3JhbmQuYy5maXBzCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTg0Njk0MjI2ICswMjAw CisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX3JhbmQuYwkyMDEzLTEw LTA0IDExOjQ4OjA0LjE4NDY5NDIyNiArMDIwMAogQEAgLTAsMCArMSwxNzIgQEAKICsvKiBmaXBz L3JhbmQvZmlwc19kcmJnX3JhbmQuYyAqLwogKy8qIFdyaXR0ZW4gYnkgRHIgU3RlcGhlbiBOIEhl bnNvbiAoc3RldmVAb3BlbnNzbC5vcmcpIGZvciB0aGUgT3BlblNTTApAQCAtMTEyNzQsOCArMTEz MDIsOCBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2RyYmdfcmFu ZC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvLwogKwl9CiArCiBkaWZmIC11cCBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2RyYmdfc2VsZnRlc3QuYy5maXBzIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9maXBzL2ZpcHNfZHJiZ19zZWxmdGVzdC5jCi0tLS0gb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2ZpcHMvZmlwc19kcmJnX3NlbGZ0ZXN0LmMuZmlwcwkyMDEzLTAyLTE5IDEyOjQ3OjMz LjczNzExODgzMiArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfZHJi Z19zZWxmdGVzdC5jCTIwMTMtMDItMTkgMTI6NDc6MzMuNzM3MTE4ODMyICswMTAwCistLS0gb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX3NlbGZ0ZXN0LmMuZmlwcwkyMDEzLTEw LTA0IDExOjQ4OjA0LjE4NDY5NDIyNiArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9m aXBzL2ZpcHNfZHJiZ19zZWxmdGVzdC5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTg0Njk0MjI2ICsw MjAwCiBAQCAtMCwwICsxLDg2MiBAQAogKy8qIGZpcHMvcmFuZC9maXBzX2RyYmdfc2VsZnRlc3Qu YyAqLwogKy8qIFdyaXR0ZW4gYnkgRHIgU3RlcGhlbiBOIEhlbnNvbiAoc3RldmVAb3BlbnNzbC5v cmcpIGZvciB0aGUgT3BlblNTTApAQCAtMTIxNDAsOCArMTIxNjgsOCBAQCBkaWZmIC11cCBvcGVu c3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2RyYmdfc2VsZnRlc3QuYy5maXBzIG9wZW5zc2wt MS4wLjFlL2NyeQogKwl9CiArCiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9m aXBzX2RyYmdfc2VsZnRlc3QuaC5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNf ZHJiZ19zZWxmdGVzdC5oCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19kcmJn X3NlbGZ0ZXN0LmguZmlwcwkyMDEzLTAyLTE5IDEyOjQ3OjMzLjczODExODg1MiArMDEwMAotKysr IG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfZHJiZ19zZWxmdGVzdC5oCTIwMTMtMDIt MTkgMTI6NDc6MzMuNzM4MTE4ODUyICswMTAwCistLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Zp cHMvZmlwc19kcmJnX3NlbGZ0ZXN0LmguZmlwcwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4NTY5NDI0 OSArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfZHJiZ19zZWxmdGVz dC5oCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTg1Njk0MjQ5ICswMjAwCiBAQCAtMCwwICsxLDIzMzUg QEAKICsvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQogKyAqIENvcHlyaWdodCAoYykgMjAxMSBUaGUgT3BlblNTTCBQ cm9qZWN0LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KQEAgLTE0NDc5LDggKzE0NTA3LDggQEAgZGlm ZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX3NlbGZ0ZXN0LmguZmlw cyBvcGVuc3NsLTEuMC4xZS9jcnkKICsJfTsKICsKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9maXBzL2ZpcHNfZHNhX3NlbGZ0ZXN0LmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v Zmlwcy9maXBzX2RzYV9zZWxmdGVzdC5jCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMv Zmlwc19kc2Ffc2VsZnRlc3QuYy5maXBzCTIwMTMtMDItMTkgMTI6NDc6MzMuNzM5MTE4ODcyICsw MTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19kc2Ffc2VsZnRlc3QuYwky MDEzLTAyLTE5IDEyOjQ3OjMzLjczOTExODg3MiArMDEwMAorLS0tIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9maXBzL2ZpcHNfZHNhX3NlbGZ0ZXN0LmMuZmlwcwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4 NTY5NDI0OSArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfZHNhX3Nl bGZ0ZXN0LmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xODU2OTQyNDkgKzAyMDAKIEBAIC0wLDAgKzEs MTkzIEBACiArLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KICsgKiBDb3B5cmlnaHQgKGMpIDIwMTEgVGhlIE9wZW5T U0wgUHJvamVjdC4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCkBAIC0xNDY3Niw4ICsxNDcwNCw4IEBA IGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfZHNhX3NlbGZ0ZXN0LmMu ZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwCiArCX0KICsjZW5kaWYKIGRpZmYgLXVwIG9wZW5zc2wt MS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfZW5jLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v Zmlwcy9maXBzX2VuYy5jCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19lbmMu Yy5maXBzCTIwMTMtMDItMTkgMTI6NDc6MzMuNzM5MTE4ODcyICswMTAwCi0rKysgb3BlbnNzbC0x LjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19lbmMuYwkyMDEzLTAyLTE5IDEyOjQ3OjMzLjczOTExODg3 MiArMDEwMAorLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfZW5jLmMuZmlwcwky MDEzLTEwLTA0IDExOjQ4OjA0LjE4NTY5NDI0OSArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9maXBzL2ZpcHNfZW5jLmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xODU2OTQyNDkgKzAyMDAK IEBAIC0wLDAgKzEsMTkxIEBACiArLyogZmlwZS9ldnAvZmlwc19lbmMuYyAqLwogKy8qIENvcHly aWdodCAoQykgMTk5NS0xOTk4IEVyaWMgWW91bmcgKGVheUBjcnlwdHNvZnQuY29tKQpAQCAtMTQ4 NzEsOCArMTQ4OTksOCBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBz X2VuYy5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZgogKwl9CiArCiBkaWZmIC11 cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzLmguZmlwcyBvcGVuc3NsLTEuMC4xZS9j cnlwdG8vZmlwcy9maXBzLmgKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzLmgu ZmlwcwkyMDEzLTAyLTE5IDEyOjQ3OjMzLjczOTExODg3MiArMDEwMAotKysrIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9maXBzL2ZpcHMuaAkyMDEzLTAyLTE5IDEyOjQ3OjMzLjczOTExODg3MiArMDEw MAorLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHMuaC5maXBzCTIwMTMtMTAtMDQg MTE6NDg6MDQuMTg2Njk0MjcxICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMv Zmlwcy5oCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTg2Njk0MjcxICswMjAwCiBAQCAtMCwwICsxLDI3 OSBAQAogKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CiArICogQ29weXJpZ2h0IChjKSAyMDAzIFRoZSBPcGVuU1NM IFByb2plY3QuICBBbGwgcmlnaHRzIHJlc2VydmVkLgpAQCAtMTUxNTQsOCArMTUxODIsOCBAQCBk aWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzLmguZmlwcyBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vZmlwcy9maXBzLgogKyNlbmRpZgogKyNlbmRpZgogZGlmZiAtdXAgb3BlbnNz bC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19obWFjX3NlbGZ0ZXN0LmMuZmlwcyBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vZmlwcy9maXBzX2htYWNfc2VsZnRlc3QuYwotLS0tIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9maXBzL2ZpcHNfaG1hY19zZWxmdGVzdC5jLmZpcHMJMjAxMy0wMi0xOSAxMjo0Nzoz My43MzkxMTg4NzIgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2ht YWNfc2VsZnRlc3QuYwkyMDEzLTAyLTE5IDEyOjQ3OjMzLjc0MDExODg5MyArMDEwMAorLS0tIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfaG1hY19zZWxmdGVzdC5jLmZpcHMJMjAxMy0x MC0wNCAxMTo0ODowNC4xODY2OTQyNzEgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v Zmlwcy9maXBzX2htYWNfc2VsZnRlc3QuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4NjY5NDI3MSAr MDIwMAogQEAgLTAsMCArMSwxMzcgQEAKICsvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogKyAqIENvcHlyaWdodCAo YykgMjAwNSBUaGUgT3BlblNTTCBQcm9qZWN0LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KQEAgLTE1 Mjk1LDggKzE1MzIzLDggQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlw c19obWFjX3NlbGZ0ZXN0LmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnkKICsgICAgfQogKyNlbmRp ZgogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19sb2NsLmguZmlwcyBv cGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2xvY2wuaAotLS0tIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9maXBzL2ZpcHNfbG9jbC5oLmZpcHMJMjAxMy0wMi0xOSAxMjo0NzozMy43NDAxMTg4 OTMgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2xvY2wuaAkyMDEz LTAyLTE5IDEyOjQ3OjMzLjc0MDExODg5MyArMDEwMAorLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9maXBzL2ZpcHNfbG9jbC5oLmZpcHMJMjAxMy0xMC0wNCAxMTo0ODowNC4xODY2OTQyNzEgKzAy MDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2xvY2wuaAkyMDEzLTEwLTA0 IDExOjQ4OjA0LjE4NjY5NDI3MSArMDIwMAogQEAgLTAsMCArMSw3MSBAQAogKy8qID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09CiArICogQ29weXJpZ2h0IChjKSAyMDExIFRoZSBPcGVuU1NMIFByb2plY3QuICBBbGwgcmln aHRzIHJlc2VydmVkLgpAQCAtMTUzNzAsOCArMTUzOTgsOCBAQCBkaWZmIC11cCBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vZmlwcy9maXBzX2xvY2wuaC5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9m aXBzLwogKyNlbmRpZgogKyNlbmRpZgogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Zp cHMvZmlwc19tZC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19tZC5jCi0t LS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19tZC5jLmZpcHMJMjAxMy0wMi0xOSAx Mjo0NzozMy43NDAxMTg4OTMgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9m aXBzX21kLmMJMjAxMy0wMi0xOSAxMjo0NzozMy43NDAxMTg4OTMgKzAxMDAKKy0tLSBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX21kLmMuZmlwcwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4 NjY5NDI3MSArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfbWQuYwky MDEzLTEwLTA0IDExOjQ4OjA0LjE4NjY5NDI3MSArMDIwMAogQEAgLTAsMCArMSwxNDUgQEAKICsv KiBmaXBzL2V2cC9maXBzX21kLmMgKi8KICsvKiBDb3B5cmlnaHQgKEMpIDE5OTUtMTk5OCBFcmlj IFlvdW5nIChlYXlAY3J5cHRzb2Z0LmNvbSkKQEAgLTE1NTE5LDggKzE1NTQ3LDggQEAgZGlmZiAt dXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19tZC5jLmZpcHMgb3BlbnNzbC0xLjAu MWUvY3J5cHRvL2ZpcHMvZmkKICsJCX0KICsJfQogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5 cHRvL2ZpcHMvZmlwc19wb3N0LmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBz X3Bvc3QuYwotLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfcG9zdC5jLmZpcHMJ MjAxMy0wMi0xOSAxMjo0NzozMy43NDAxMTg4OTMgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9j cnlwdG8vZmlwcy9maXBzX3Bvc3QuYwkyMDEzLTAyLTE5IDEyOjQ3OjMzLjc0MDExODg5MyArMDEw MAorLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfcG9zdC5jLmZpcHMJMjAxMy0x MC0wNCAxMTo0ODowNC4xODY2OTQyNzEgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v Zmlwcy9maXBzX3Bvc3QuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4NjY5NDI3MSArMDIwMAogQEAg LTAsMCArMSwyMDUgQEAKICsvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogKyAqIENvcHlyaWdodCAoYykgMjAxMSBU aGUgT3BlblNTTCBQcm9qZWN0LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KQEAgLTE1NzI4LDggKzE1 NzU2LDggQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19wb3N0LmMu ZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy8KICsJfQogKyNlbmRpZgogZGlmZiAtdXAg b3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19yYW5kLmMuZmlwcyBvcGVuc3NsLTEuMC4x ZS9jcnlwdG8vZmlwcy9maXBzX3JhbmQuYwotLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBz L2ZpcHNfcmFuZC5jLmZpcHMJMjAxMy0wMi0xOSAxMjo0NzozMy43NDAxMTg4OTMgKzAxMDAKLSsr KyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX3JhbmQuYwkyMDEzLTAyLTE5IDEyOjQ3 OjMzLjc0MDExODg5MyArMDEwMAorLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNf cmFuZC5jLmZpcHMJMjAxMy0xMC0wNCAxMTo0ODowNC4xODc2OTQyOTQgKzAyMDAKKysrKyBvcGVu c3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX3JhbmQuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4 NzY5NDI5NCArMDIwMAogQEAgLTAsMCArMSw0NTcgQEAKICsvKiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogKyAqIENv cHlyaWdodCAoYykgMjAwNyBUaGUgT3BlblNTTCBQcm9qZWN0LiAgQWxsIHJpZ2h0cyByZXNlcnZl ZC4KQEAgLTE2MTg5LDggKzE2MjE3LDggQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRv L2ZpcHMvZmlwc19yYW5kLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy8KICsKICsj ZW5kaWYKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfcmFuZC5oLmZp cHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19yYW5kLmgKLS0tLSBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vZmlwcy9maXBzX3JhbmQuaC5maXBzCTIwMTMtMDItMTkgMTI6NDc6MzMuNzQw MTE4ODkzICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19yYW5kLmgJ MjAxMy0wMi0xOSAxMjo0NzozMy43NDExMTg5MTQgKzAxMDAKKy0tLSBvcGVuc3NsLTEuMC4xZS9j cnlwdG8vZmlwcy9maXBzX3JhbmQuaC5maXBzCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTg3Njk0Mjk0 ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19yYW5kLmgJMjAxMy0x MC0wNCAxMTo0ODowNC4xODc2OTQyOTQgKzAyMDAKIEBAIC0wLDAgKzEsMTQ1IEBACiArLyogPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KICsgKiBDb3B5cmlnaHQgKGMpIDIwMDMgVGhlIE9wZW5TU0wgUHJvamVjdC4gIEFs bCByaWdodHMgcmVzZXJ2ZWQuCkBAIC0xNjMzOCw4ICsxNjM2Niw4IEBAIGRpZmYgLXVwIG9wZW5z c2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfcmFuZC5oLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5 cHRvL2ZpcHMvCiArI2VuZGlmCiArI2VuZGlmCiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlw dG8vZmlwcy9maXBzX3JhbmRfbGNsLmguZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9m aXBzX3JhbmRfbGNsLmgKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX3JhbmRf bGNsLmguZmlwcwkyMDEzLTAyLTE5IDEyOjQ3OjMzLjc0MTExODkxNCArMDEwMAotKysrIG9wZW5z c2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfcmFuZF9sY2wuaAkyMDEzLTAyLTE5IDEyOjQ3OjMz Ljc0MTExODkxNCArMDEwMAorLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfcmFu ZF9sY2wuaC5maXBzCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTg3Njk0Mjk0ICswMjAwCisrKysgb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19yYW5kX2xjbC5oCTIwMTMtMTAtMDQgMTE6NDg6 MDQuMTg3Njk0Mjk0ICswMjAwCiBAQCAtMCwwICsxLDIxOSBAQAogKy8qIGZpcHMvcmFuZC9maXBz X3JhbmRfbGNsLmggKi8KICsvKiBXcml0dGVuIGJ5IERyIFN0ZXBoZW4gTiBIZW5zb24gKHN0ZXZl QG9wZW5zc2wub3JnKSBmb3IgdGhlIE9wZW5TU0wKQEAgLTE2NTYxLDggKzE2NTg5LDggQEAgZGlm ZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19yYW5kX2xjbC5oLmZpcHMgb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL2YKICsjZGVmaW5lIEZJUFNfZGlnZXN0ZmluYWwgRVZQX0RpZ2Vz dEZpbmFsCiArI2RlZmluZSBNX0VWUF9NRF9zaXplIEVWUF9NRF9zaXplCiBkaWZmIC11cCBvcGVu c3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX3JhbmRfbGliLmMuZmlwcyBvcGVuc3NsLTEuMC4x ZS9jcnlwdG8vZmlwcy9maXBzX3JhbmRfbGliLmMKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v Zmlwcy9maXBzX3JhbmRfbGliLmMuZmlwcwkyMDEzLTAyLTE5IDEyOjQ3OjMzLjc0MTExODkxNCAr MDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfcmFuZF9saWIuYwkyMDEz LTAyLTE5IDEyOjQ3OjMzLjc0MTExODkxNCArMDEwMAorLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9maXBzL2ZpcHNfcmFuZF9saWIuYy5maXBzCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTg3Njk0Mjk0 ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19yYW5kX2xpYi5jCTIw MTMtMTAtMDQgMTE6NDg6MDQuMTg3Njk0Mjk0ICswMjAwCiBAQCAtMCwwICsxLDE5MSBAQAogKy8q ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09CiArICogQ29weXJpZ2h0IChjKSAyMDExIFRoZSBPcGVuU1NMIFByb2plY3Qu ICBBbGwgcmlnaHRzIHJlc2VydmVkLgpAQCAtMTY3NTYsOCArMTY3ODQsOCBAQCBkaWZmIC11cCBv cGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX3JhbmRfbGliLmMuZmlwcyBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vZgogKwlyZXR1cm4gMDsKICsJfQogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2ZpcHMvZmlwc19yYW5kX3NlbGZ0ZXN0LmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlw dG8vZmlwcy9maXBzX3JhbmRfc2VsZnRlc3QuYwotLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9m aXBzL2ZpcHNfcmFuZF9zZWxmdGVzdC5jLmZpcHMJMjAxMy0wMi0xOSAxMjo0NzozMy43NDExMTg5 MTQgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX3JhbmRfc2VsZnRl c3QuYwkyMDEzLTAyLTE5IDEyOjQ3OjMzLjc0MTExODkxNCArMDEwMAorLS0tIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9maXBzL2ZpcHNfcmFuZF9zZWxmdGVzdC5jLmZpcHMJMjAxMy0xMC0wNCAxMTo0 ODowNC4xODc2OTQyOTQgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBz X3JhbmRfc2VsZnRlc3QuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4NzY5NDI5NCArMDIwMAogQEAg LTAsMCArMSwxODMgQEAKICsvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogKyAqIENvcHlyaWdodCAoYykgMjAwMyBU aGUgT3BlblNTTCBQcm9qZWN0LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KQEAgLTE2OTQzLDggKzE2 OTcxLDggQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19yYW5kX3Nl bGZ0ZXN0LmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnkKICsKICsjZW5kaWYKIGRpZmYgLXVwIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfcmFuZHRlc3QuYy5maXBzIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9maXBzL2ZpcHNfcmFuZHRlc3QuYwotLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9maXBzL2ZpcHNfcmFuZHRlc3QuYy5maXBzCTIwMTMtMDItMTkgMTI6NDc6MzMuNzQxMTE4OTE0 ICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19yYW5kdGVzdC5jCTIw MTMtMDItMTkgMTI6NDc6MzMuNzQxMTE4OTE0ICswMTAwCistLS0gb3BlbnNzbC0xLjAuMWUvY3J5 cHRvL2ZpcHMvZmlwc19yYW5kdGVzdC5jLmZpcHMJMjAxMy0xMC0wNCAxMTo0ODowNC4xODg2OTQz MTYgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX3JhbmR0ZXN0LmMJ MjAxMy0xMC0wNCAxMTo0ODowNC4xODc2OTQyOTQgKzAyMDAKIEBAIC0wLDAgKzEsMjUwIEBACiAr LyogQ29weXJpZ2h0IChDKSAxOTk1LTE5OTggRXJpYyBZb3VuZyAoZWF5QGNyeXB0c29mdC5jb20p CiArICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KQEAgLTE3MTk3LDggKzE3MjI1LDggQEAgZGlmZiAt dXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19yYW5kdGVzdC5jLmZpcHMgb3BlbnNz bC0xLjAuMWUvY3J5cHRvL2YKICsKICsjZW5kaWYKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9maXBzL2ZpcHNfcnNhX3NlbGZ0ZXN0LmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v Zmlwcy9maXBzX3JzYV9zZWxmdGVzdC5jCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMv Zmlwc19yc2Ffc2VsZnRlc3QuYy5maXBzCTIwMTMtMDItMTkgMTI6NDc6MzMuNzQyMTE4OTM1ICsw MTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19yc2Ffc2VsZnRlc3QuYwky MDEzLTAyLTE5IDEyOjQ3OjMzLjc0MjExODkzNSArMDEwMAorLS0tIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9maXBzL2ZpcHNfcnNhX3NlbGZ0ZXN0LmMuZmlwcwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4 ODY5NDMxNiArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfcnNhX3Nl bGZ0ZXN0LmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xODg2OTQzMTYgKzAyMDAKIEBAIC0wLDAgKzEs NDQ0IEBACiArLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KICsgKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAwNyBUaGUg T3BlblNTTCBQcm9qZWN0LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KQEAgLTE3NjQ1LDggKzE3Njcz LDggQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19yc2Ffc2VsZnRl c3QuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXAKICsKICsjZW5kaWYgLyogZGVmIE9QRU5TU0xf RklQUyAqLwogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19yc2FfeDkz MWcuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfcnNhX3g5MzFnLmMKLS0t LSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX3JzYV94OTMxZy5jLmZpcHMJMjAxMy0w Mi0xOSAxMjo0NzozMy43NDIxMTg5MzUgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v Zmlwcy9maXBzX3JzYV94OTMxZy5jCTIwMTMtMDItMTkgMTI6NDc6MzMuNzQyMTE4OTM1ICswMTAw CistLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19yc2FfeDkzMWcuYy5maXBzCTIw MTMtMTAtMDQgMTE6NDg6MDQuMTg4Njk0MzE2ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5 cHRvL2ZpcHMvZmlwc19yc2FfeDkzMWcuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4ODY5NDMxNiAr MDIwMAogQEAgLTAsMCArMSwyODIgQEAKICsvKiBjcnlwdG8vcnNhL3JzYV9nZW4uYyAqLwogKy8q IENvcHlyaWdodCAoQykgMTk5NS0xOTk4IEVyaWMgWW91bmcgKGVheUBjcnlwdHNvZnQuY29tKQpA QCAtMTc5MzEsOCArMTc5NTksOCBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlw cy9maXBzX3JzYV94OTMxZy5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvLwogKwogKwl9CiBk aWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX3NoYV9zZWxmdGVzdC5jLmZp cHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19zaGFfc2VsZnRlc3QuYwotLS0tIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfc2hhX3NlbGZ0ZXN0LmMuZmlwcwkyMDEzLTAy LTE5IDEyOjQ3OjMzLjc0MjExODkzNSArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9m aXBzL2ZpcHNfc2hhX3NlbGZ0ZXN0LmMJMjAxMy0wMi0xOSAxMjo0NzozMy43NDIxMTg5MzUgKzAx MDAKKy0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX3NoYV9zZWxmdGVzdC5jLmZp cHMJMjAxMy0xMC0wNCAxMTo0ODowNC4xODg2OTQzMTYgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4x ZS9jcnlwdG8vZmlwcy9maXBzX3NoYV9zZWxmdGVzdC5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTg4 Njk0MzE2ICswMjAwCiBAQCAtMCwwICsxLDE0MCBAQAogKy8qID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiArICogQ29w eXJpZ2h0IChjKSAyMDAzIFRoZSBPcGVuU1NMIFByb2plY3QuICBBbGwgcmlnaHRzIHJlc2VydmVk LgpAQCAtMTgwNzUsOCArMTgxMDMsOCBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v Zmlwcy9maXBzX3NoYV9zZWxmdGVzdC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cAogKwogKyNl bmRpZgogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19zdGFuZGFsb25l X2htYWMuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfc3RhbmRhbG9uZV9o bWFjLmMKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX3N0YW5kYWxvbmVfaG1h Yy5jLmZpcHMJMjAxMy0wMi0xOSAxMjo0NzozMy43NDIxMTg5MzUgKzAxMDAKLSsrKyBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX3N0YW5kYWxvbmVfaG1hYy5jCTIwMTMtMDItMTkgMTI6 NDc6MzMuNzQyMTE4OTM1ICswMTAwCistLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlw c19zdGFuZGFsb25lX2htYWMuYy5maXBzCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTg4Njk0MzE2ICsw MjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19zdGFuZGFsb25lX2htYWMu YwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4ODY5NDMxNiArMDIwMAogQEAgLTAsMCArMSwxODAgQEAK ICsvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQogKyAqIENvcHlyaWdodCAoYykgMjAwMyBUaGUgT3BlblNTTCBQcm9q ZWN0LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KQEAgLTE4MjU5LDggKzE4Mjg3LDggQEAgZGlmZiAt dXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19zdGFuZGFsb25lX2htYWMuYy5maXBz IG9wZW5zc2wtMS4wLjFlL2MKICsKICsKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9m aXBzL2ZpcHNfdGVzdF9zdWl0ZS5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlw c190ZXN0X3N1aXRlLmMKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX3Rlc3Rf c3VpdGUuYy5maXBzCTIwMTMtMDItMTkgMTI6NDc6MzMuNzQzMTE4OTU1ICswMTAwCi0rKysgb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc190ZXN0X3N1aXRlLmMJMjAxMy0wMi0xOSAxMjo0 NzozMy43NDMxMTg5NTUgKzAxMDAKKy0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBz X3Rlc3Rfc3VpdGUuYy5maXBzCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTg5Njk0MzM5ICswMjAwCisr Kysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc190ZXN0X3N1aXRlLmMJMjAxMy0xMC0w NCAxMTo0ODowNC4xODk2OTQzMzkgKzAyMDAKIEBAIC0wLDAgKzEsNTg4IEBACiArLyogPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KICsgKiBDb3B5cmlnaHQgKGMpIDIwMDMgVGhlIE9wZW5TU0wgUHJvamVjdC4gIEFsbCBy aWdodHMgcmVzZXJ2ZWQuCkBAIC0xODg1MSw4ICsxODg3OSw4IEBAIGRpZmYgLXVwIG9wZW5zc2wt MS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfdGVzdF9zdWl0ZS5jLmZpcHMgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvCiArCiArI2VuZGlmCiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9N YWtlZmlsZS5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL01ha2VmaWxlCi0tLS0gb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvTWFrZWZpbGUuZmlwcwkyMDEzLTAyLTE5IDEyOjQ3OjMz Ljc0MzExODk1NSArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL01ha2VmaWxl CTIwMTMtMDItMTkgMTI6NDc6MzMuNzQzMTE4OTU1ICswMTAwCistLS0gb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2ZpcHMvTWFrZWZpbGUuZmlwcwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4OTY5NDMzOSAr MDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL01ha2VmaWxlCTIwMTMtMTAtMDQg MTE6NDg6MDQuMTg5Njk0MzM5ICswMjAwCiBAQCAtMCwwICsxLDM0MCBAQAogKyMKICsjIE9wZW5T U0wvY3J5cHRvL2ZpcHMvTWFrZWZpbGUKQEAgLTE5MTk2LDcgKzE5MjI0LDcgQEAgZGlmZiAtdXAg b3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvTWFrZWZpbGUuZmlwcyBvcGVuc3NsLTEuMC4xZS9j cnlwdG8vZmlwcy9NYWsKICtmaXBzX3NoYV9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5z c2wvc3ltaGFja3MuaCBmaXBzX3NoYV9zZWxmdGVzdC5jCiBkaWZmIC11cCBvcGVuc3NsLTEuMC4x ZS9jcnlwdG8vaG1hYy9obWFjLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vaG1hYy9obWFj LmMKIC0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vaG1hYy9obWFjLmMuZmlwcwkyMDEzLTAyLTEx IDE2OjI2OjA0LjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9obWFj L2htYWMuYwkyMDEzLTAyLTE5IDEyOjQ3OjMzLjc0MzExODk1NSArMDEwMAorKysrIG9wZW5zc2wt MS4wLjFlL2NyeXB0by9obWFjL2htYWMuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4OTY5NDMzOSAr MDIwMAogQEAgLTgxLDExICs4MSw2IEBAIGludCBITUFDX0luaXRfZXgoSE1BQ19DVFggKmN0eCwg Y29uc3Qgdm8KICAJCQlFVlBlcnIoRVZQX0ZfSE1BQ19JTklUX0VYLCBFVlBfUl9ESVNBQkxFRF9G T1JfRklQUyk7CiAgCQkJcmV0dXJuIDA7CkBAIC0xOTI1OSw5ICsxOTI4NywyMSBAQCBkaWZmIC11 cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vaG1hYy9obWFjLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9j cnlwdG8vaG1hYy9obWFjLgogIAlFVlBfTURfQ1RYX2NsZWFudXAoJmN0eC0+aV9jdHgpOwogIAlF VlBfTURfQ1RYX2NsZWFudXAoJmN0eC0+b19jdHgpOwogIAlFVlBfTURfQ1RYX2NsZWFudXAoJmN0 eC0+bWRfY3R4KTsKK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9tZGMyL21kYzJkZ3N0 LmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vbWRjMi9tZGMyZGdzdC5jCistLS0gb3BlbnNz bC0xLjAuMWUvY3J5cHRvL21kYzIvbWRjMmRnc3QuYy5maXBzCTIwMTMtMDItMTEgMTY6MjY6MDQu MDAwMDAwMDAwICswMTAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL21kYzIvbWRjMmRnc3Qu YwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4OTY5NDMzOSArMDIwMAorQEAgLTc2LDcgKzc2LDcgQEAK KyAJCQkqKChjKSsrKT0odW5zaWduZWQgY2hhcikoKChsKT4+MjRMKSYweGZmKSkKKyAKKyBzdGF0 aWMgdm9pZCBtZGMyX2JvZHkoTURDMl9DVFggKmMsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmluLCBz aXplX3QgbGVuKTsKKy1maXBzX21kX2luaXQoTURDMikKKytub25maXBzX21kX2luaXQoTURDMikK KyAJeworIAljLT5udW09MDsKKyAJYy0+cGFkX3R5cGU9MTsKIGRpZmYgLXVwIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9tZDIvbWQyX2Rnc3QuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9tZDIv bWQyX2Rnc3QuYwogLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9tZDIvbWQyX2Rnc3QuYy5maXBz CTIwMTMtMDItMTEgMTY6MjY6MDQuMDAwMDAwMDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL21kMi9tZDJfZGdzdC5jCTIwMTMtMDItMTkgMTI6NDc6MzMuNzQzMTE4OTU1ICswMTAw CisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL21kMi9tZDJfZGdzdC5jCTIwMTMtMTAtMDQgMTE6 NDg6MDQuMTg5Njk0MzM5ICswMjAwCiBAQCAtNjIsNiArNjIsMTEgQEAKICAjaW5jbHVkZSA8b3Bl bnNzbC9tZDIuaD4KICAjaW5jbHVkZSA8b3BlbnNzbC9vcGVuc3Nsdi5oPgpAQCAtMTkyODUsNyAr MTkzMjUsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vbWQyL21kMl9kZ3N0LmMu ZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vbWQyL21kMgogIAltZW1zZXQoYy0+c3RhdGUsMCxz aXplb2YgYy0+c3RhdGUpOwogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL21kNC9tZDRf ZGdzdC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL21kNC9tZDRfZGdzdC5jCiAtLS0gb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL21kNC9tZDRfZGdzdC5jLmZpcHMJMjAxMy0wMi0xMSAxNjoyNjow NC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vbWQ0L21kNF9kZ3N0 LmMJMjAxMy0wMi0xOSAxMjo0NzozMy43NDQxMTg5NzUgKzAxMDAKKysrKyBvcGVuc3NsLTEuMC4x ZS9jcnlwdG8vbWQ0L21kNF9kZ3N0LmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xOTA2OTQzNjIgKzAy MDAKIEBAIC03MSw3ICs3MSw3IEBAIGNvbnN0IGNoYXIgTUQ0X3ZlcnNpb25bXT0iTUQ0IiBPUEVO U1NMX1YKICAjZGVmaW5lIElOSVRfREFUQV9DICh1bnNpZ25lZCBsb25nKTB4OThiYWRjZmVMCiAg I2RlZmluZSBJTklUX0RBVEFfRCAodW5zaWduZWQgbG9uZykweDEwMzI1NDc2TApAQCAtMTkyOTcs NyArMTkzMzcsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vbWQ0L21kNF9kZ3N0 LmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vbWQ0L21kNAogIAljLT5BPUlOSVRfREFUQV9B OwogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL21kNS9tZDVfZGdzdC5jLmZpcHMgb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL21kNS9tZDVfZGdzdC5jCiAtLS0gb3BlbnNzbC0xLjAuMWUvY3J5 cHRvL21kNS9tZDVfZGdzdC5jLmZpcHMJMjAxMy0wMi0xMSAxNjoyNjowNC4wMDAwMDAwMDAgKzAx MDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vbWQ1L21kNV9kZ3N0LmMJMjAxMy0wMi0xOSAx Mjo0NzozMy43NDQxMTg5NzUgKzAxMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vbWQ1L21k NV9kZ3N0LmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xOTA2OTQzNjIgKzAyMDAKIEBAIC03MSw3ICs3 MSw3IEBAIGNvbnN0IGNoYXIgTUQ1X3ZlcnNpb25bXT0iTUQ1IiBPUEVOU1NMX1YKICAjZGVmaW5l IElOSVRfREFUQV9DICh1bnNpZ25lZCBsb25nKTB4OThiYWRjZmVMCiAgI2RlZmluZSBJTklUX0RB VEFfRCAodW5zaWduZWQgbG9uZykweDEwMzI1NDc2TApAQCAtMTkzMDcsMzQgKzE5MzQ3LDIyIEBA IGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9tZDUvbWQ1X2Rnc3QuYy5maXBzIG9wZW5z c2wtMS4wLjFlL2NyeXB0by9tZDUvbWQ1CiAgCXsKICAJbWVtc2V0IChjLDAsc2l6ZW9mKCpjKSk7 CiAgCWMtPkE9SU5JVF9EQVRBX0E7Ci1kaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vbWRj Mi9tZGMyZGdzdC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL21kYzIvbWRjMmRnc3QuYwot LS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9tZGMyL21kYzJkZ3N0LmMuZmlwcwkyMDEzLTAyLTEx IDE2OjI2OjA0LjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9tZGMy L21kYzJkZ3N0LmMJMjAxMy0wMi0xOSAxMjo0NzozMy43NDQxMTg5NzUgKzAxMDAKLUBAIC03Niw3 ICs3Niw3IEBACi0gCQkJKigoYykrKyk9KHVuc2lnbmVkIGNoYXIpKCgobCk+PjI0TCkmMHhmZikp Ci0gCi0gc3RhdGljIHZvaWQgbWRjMl9ib2R5KE1EQzJfQ1RYICpjLCBjb25zdCB1bnNpZ25lZCBj aGFyICppbiwgc2l6ZV90IGxlbik7Ci0tZmlwc19tZF9pbml0KE1EQzIpCi0rbm9uZmlwc19tZF9p bml0KE1EQzIpCi0gCXsKLSAJYy0+bnVtPTA7Ci0gCWMtPnBhZF90eXBlPTE7CiBkaWZmIC11cCBv cGVuc3NsLTEuMC4xZS9jcnlwdG8vb19maXBzLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v b19maXBzLmMKIC0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vb19maXBzLmMuZmlwcwkyMDEzLTAy LTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9v X2ZpcHMuYwkyMDEzLTAyLTE5IDEyOjQ3OjMzLjc0NDExODk3NSArMDEwMAorKysrIG9wZW5zc2wt MS4wLjFlL2NyeXB0by9vX2ZpcHMuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE5MDY5NDM2MiArMDIw MAogQEAgLTc5LDYgKzc5LDggQEAgaW50IEZJUFNfbW9kZV9zZXQoaW50IHIpCiAgI2lmbmRlZiBG SVBTX0FVVEhfVVNFUl9QQVNTCiAgI2RlZmluZSBGSVBTX0FVVEhfVVNFUl9QQVNTCSJEZWZhdWx0 IEZJUFMgQ3J5cHRvIFVzZXIgUGFzc3dvcmQiCiAgI2VuZGlmCi0rCWlmIChGSVBTX21vZHVsZV9t b2RlKCkpIC8qIGNhbiBiZSBpbXBsaWNpdGx5IGluaXRpYWxpemVkIGJ5IE9QRU5TU0xfaW5pdCgp ICovCisrCWlmIChyICYmIEZJUFNfbW9kdWxlX21vZGUoKSkgLyogY2FuIGJlIGltcGxpY2l0bHkg aW5pdGlhbGl6ZWQgYnkgT1BFTlNTTF9pbml0KCkgKi8KICsJCXJldHVybiAxOwogIAlpZiAoIUZJ UFNfbW9kdWxlX21vZGVfc2V0KHIsIEZJUFNfQVVUSF9VU0VSX1BBU1MpKQogIAkJcmV0dXJuIDA7 CiAgCWlmIChyKQogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL29faW5pdC5jLmZpcHMg b3BlbnNzbC0xLjAuMWUvY3J5cHRvL29faW5pdC5jCiAtLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRv L29faW5pdC5jLmZpcHMJMjAxMy0wMi0xMSAxNjoyNjowNC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBv cGVuc3NsLTEuMC4xZS9jcnlwdG8vb19pbml0LmMJMjAxMy0wMi0xOSAxMjo0NzozMy43NDQxMTg5 NzUgKzAxMDAKLUBAIC01NSwyOCArNTUsNjMgQEAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v b19pbml0LmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xOTA2OTQzNjIgKzAyMDAKK0BAIC01NSwyOCAr NTUsNjggQEAKICAjaW5jbHVkZSA8ZV9vcy5oPgogICNpbmNsdWRlIDxvcGVuc3NsL2Vyci5oPgog ICNpZmRlZiBPUEVOU1NMX0ZJUFMKQEAgLTE5MzkyLDYgKzE5NDIwLDExIEBAIGRpZmYgLXVwIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9vX2luaXQuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9v X2luaXQuYwogLQlGSVBTX3NldF9tYWxsb2NfY2FsbGJhY2tzKENSWVBUT19tYWxsb2MsIENSWVBU T19mcmVlKTsKICAJUkFORF9pbml0X2ZpcHMoKTsKICsJaW5pdF9maXBzX21vZGUoKTsKKysJaWYg KCFGSVBTX21vZGUoKSkKKysJCXsKKysJCS8qIENsZWFuIHVwIHByZW1hdHVyZWx5IHNldCBkZWZh dWx0IHJhbmQgbWV0aG9kICovCisrCQlSQU5EX3NldF9yYW5kX21ldGhvZChOVUxMKTsKKysJCX0K ICAjZW5kaWYKICAjaWYgMAogIAlmcHJpbnRmKHN0ZGVyciwgIkNhbGxlZCBPUEVOU1NMX2luaXRc biIpOwpAQCAtMTk0MDQsNyArMTk0MzcsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlw dG8vb19pbml0LmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vb19pbml0LmMKICsJfQogZGlm ZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL29wZW5zc2xjb25mLmguaW4uZmlwcyBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vb3BlbnNzbGNvbmYuaC5pbgogLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9vcGVuc3NsY29uZi5oLmluLmZpcHMJMjAxMy0wMi0xMSAxNjoyNjowNC4wMDAwMDAwMDAgKzAx MDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vb3BlbnNzbGNvbmYuaC5pbgkyMDEzLTAyLTE5 IDEyOjQ3OjMzLjc0NDExODk3NSArMDEwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9vcGVu c3NsY29uZi5oLmluCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTkwNjk0MzYyICswMjAwCiBAQCAtMSw1 ICsxLDIwIEBACiAgLyogY3J5cHRvL29wZW5zc2xjb25mLmguaW4gKi8KICAKQEAgLTE5NDI4LDcg KzE5NDYxLDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL29wZW5zc2xjb25mLmgu aW4uZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vb3BlbnMKICAKIGRpZmYgLXVwIG9wZW5zc2wt MS4wLjFlL2NyeXB0by9wa2NzMTIvcDEyX2NydC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRv L3BrY3MxMi9wMTJfY3J0LmMKIC0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcGtjczEyL3AxMl9j cnQuYy5maXBzCTIwMTMtMDItMTEgMTY6MjY6MDQuMDAwMDAwMDAwICswMTAwCi0rKysgb3BlbnNz bC0xLjAuMWUvY3J5cHRvL3BrY3MxMi9wMTJfY3J0LmMJMjAxMy0wMi0xOSAxMjo0NzozMy43NDQx MTg5NzUgKzAxMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcGtjczEyL3AxMl9jcnQuYwky MDEzLTEwLTA0IDExOjQ4OjA0LjE5MDY5NDM2MiArMDIwMAogQEAgLTU5LDYgKzU5LDEwIEBACiAg I2luY2x1ZGUgPHN0ZGlvLmg+CiAgI2luY2x1ZGUgImNyeXB0bGliLmgiCkBAIC0xOTQ1Nyw3ICsx OTQ5MCw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9wa2NzMTIvcDEyX2NydC5j LmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3BrY3MxCiAgCWlmICghaXRlcikKIGRpZmYgLXVw IG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yYW5kL21kX3JhbmQuYy5maXBzIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9yYW5kL21kX3JhbmQuYwogLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yYW5kL21k X3JhbmQuYy5maXBzCTIwMTMtMDItMTEgMTY6MjY6MDQuMDAwMDAwMDAwICswMTAwCi0rKysgb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL3JhbmQvbWRfcmFuZC5jCTIwMTMtMDItMTkgMTI6NDc6MzMuNzQ1 MTE4OTk1ICswMTAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3JhbmQvbWRfcmFuZC5jCTIw MTMtMTAtMDQgMTE6NDg6MDQuMTkwNjk0MzYyICswMjAwCiBAQCAtMzg5LDcgKzM4OSwxMCBAQCBz dGF0aWMgaW50IHNzbGVheV9yYW5kX2J5dGVzKHVuc2lnbmVkIGNoCiAgCUNSWVBUT193X3VubG9j ayhDUllQVE9fTE9DS19SQU5EMik7CiAgCWNyeXB0b19sb2NrX3JhbmQgPSAxOwpAQCAtMTk0NzEs OCArMTk1MDQsOCBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcmFuZC9tZF9yYW5k LmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcmFuZC9tZAogIAkJUkFORF9wb2xsKCk7CiAg CQlpbml0aWFsaXplZCA9IDE7CiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcmFuZC9y YW5kLmguZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcmFuZC9yYW5kLmgKLS0tLSBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vcmFuZC9yYW5kLmguZmlwcwkyMDEzLTAyLTE5IDEyOjQ3OjMzLjE3NjEw NzQzMCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yYW5kL3JhbmQuaAkyMDEzLTAy LTE5IDEyOjQ3OjMzLjc0NTExODk5NSArMDEwMAorLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9y YW5kL3JhbmQuaC5maXBzCTIwMTMtMTAtMDQgMTE6NDg6MDMuOTQ1Njg4ODI5ICswMjAwCisrKysg b3BlbnNzbC0xLjAuMWUvY3J5cHRvL3JhbmQvcmFuZC5oCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTkw Njk0MzYyICswMjAwCiBAQCAtMTMzLDE1ICsxMzMsMzMgQEAgdm9pZCBFUlJfbG9hZF9SQU5EX3N0 cmluZ3Modm9pZCk7CiAgLyogRXJyb3IgY29kZXMgZm9yIHRoZSBSQU5EIGZ1bmN0aW9ucy4gKi8K ICAKQEAgLTE5NTEzLDcgKzE5NTQ2LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRv L3JhbmQvcmFuZC5oLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3JhbmQvcmFuZC4KICB9CiBk aWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcmlwZW1kL3JtZF9kZ3N0LmMuZmlwcyBvcGVu c3NsLTEuMC4xZS9jcnlwdG8vcmlwZW1kL3JtZF9kZ3N0LmMKIC0tLSBvcGVuc3NsLTEuMC4xZS9j cnlwdG8vcmlwZW1kL3JtZF9kZ3N0LmMuZmlwcwkyMDEzLTAyLTExIDE2OjI2OjA0LjAwMDAwMDAw MCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yaXBlbWQvcm1kX2Rnc3QuYwkyMDEz LTAyLTE5IDEyOjQ3OjMzLjc0NTExODk5NSArMDEwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9yaXBlbWQvcm1kX2Rnc3QuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE5MTY5NDM4NSArMDIwMAog QEAgLTcwLDcgKzcwLDcgQEAgY29uc3QgY2hhciBSTUQxNjBfdmVyc2lvbltdPSJSSVBFLU1EMTYw IgogICAgICAgdm9pZCByaXBlbWQxNjBfYmxvY2soUklQRU1EMTYwX0NUWCAqYywgdW5zaWduZWQg bG9uZyAqcCxzaXplX3QgbnVtKTsKICAjICBlbmRpZgpAQCAtMTk1MjUsNyArMTk1NTgsNyBAQCBk aWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcmlwZW1kL3JtZF9kZ3N0LmMuZmlwcyBvcGVu c3NsLTEuMC4xZS9jcnlwdG8vcmlwZQogIAljLT5BPVJJUEVNRDE2MF9BOwogZGlmZiAtdXAgb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL3JzYS9yc2FfY3JwdC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5 cHRvL3JzYS9yc2FfY3JwdC5jCiAtLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3JzYS9yc2FfY3Jw dC5jLmZpcHMJMjAxMy0wMi0xMSAxNjoyNjowNC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vcnNhL3JzYV9jcnB0LmMJMjAxMy0wMi0xOSAxMjo0NzozMy43NDUxMTg5 OTUgKzAxMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcnNhL3JzYV9jcnB0LmMJMjAxMy0x MC0wNCAxMTo0ODowNC4xOTE2OTQzODUgKzAyMDAKIEBAIC05MCwxMCArOTAsOSBAQCBpbnQgUlNB X3ByaXZhdGVfZW5jcnlwdChpbnQgZmxlbiwgY29uc3QKICAJICAgICBSU0EgKnJzYSwgaW50IHBh ZGRpbmcpCiAgCXsKQEAgLTE5NTU0LDcgKzE5NTg3LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAu MWUvY3J5cHRvL3JzYS9yc2FfY3JwdC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3JzYS9y c2EKICAjZW5kaWYKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yc2EvcnNhX2VheS5j LmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3JzYS9yc2FfZWF5LmMKIC0tLSBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vcnNhL3JzYV9lYXkuYy5maXBzCTIwMTMtMDItMTEgMTY6MjY6MDQuMDAwMDAw MDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3JzYS9yc2FfZWF5LmMJMjAxMy0w Mi0xOSAxMjo0NzozMy43NDUxMTg5OTUgKzAxMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v cnNhL3JzYV9lYXkuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE5MTY5NDM4NSArMDIwMAogQEAgLTEx NCw2ICsxMTQsMTAgQEAKICAjaW5jbHVkZSA8b3BlbnNzbC9ibi5oPgogICNpbmNsdWRlIDxvcGVu c3NsL3JzYS5oPgpAQCAtMTk2ODcsNyArMTk3MjAsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4x ZS9jcnlwdG8vcnNhL3JzYV9lYXkuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yc2EvcnNh XwogIAl9CiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcnNhL3JzYV9lcnIuYy5maXBz IG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yc2EvcnNhX2Vyci5jCiAtLS0gb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL3JzYS9yc2FfZXJyLmMuZmlwcwkyMDEzLTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCAr MDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yc2EvcnNhX2Vyci5jCTIwMTMtMDItMTkg MTI6NDc6MzMuNzQ2MTE5MDE1ICswMTAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3JzYS9y c2FfZXJyLmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xOTE2OTQzODUgKzAyMDAKIEBAIC0xMjEsNiAr MTIxLDggQEAgc3RhdGljIEVSUl9TVFJJTkdfREFUQSBSU0Ffc3RyX2Z1bmN0c1tdPQogIHtFUlJf RlVOQyhSU0FfRl9SU0FfUFVCTElDX0VOQ1JZUFQpLAkiUlNBX3B1YmxpY19lbmNyeXB0In0sCiAg e0VSUl9GVU5DKFJTQV9GX1JTQV9QVUJfREVDT0RFKSwJIlJTQV9QVUJfREVDT0RFIn0sCkBAIC0x OTY5OSw3ICsxOTczMiw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yc2EvcnNh X2Vyci5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3JzYS9yc2FfCiAge0VSUl9GVU5DKFJT QV9GX1JTQV9WRVJJRlkpLAkiUlNBX3ZlcmlmeSJ9LAogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL3JzYS9yc2FfZ2VuLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcnNhL3JzYV9n ZW4uYwogLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yc2EvcnNhX2dlbi5jLmZpcHMJMjAxMy0w Mi0xMSAxNjoyNjowNC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v cnNhL3JzYV9nZW4uYwkyMDEzLTAyLTE5IDEyOjQ3OjMzLjc0NjExOTAxNSArMDEwMAorKysrIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9yc2EvcnNhX2dlbi5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTkx Njk0Mzg1ICswMjAwCiBAQCAtNjksNiArNjksNzggQEAKICAjaW5jbHVkZSA8b3BlbnNzbC9yc2Eu aD4KICAjaWZkZWYgT1BFTlNTTF9GSVBTCkBAIC0xOTg0Miw4ICsxOTg3NSw4IEBAIGRpZmYgLXVw IG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yc2EvcnNhX2dlbi5jLmZpcHMgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL3JzYS9yc2FfCiAgZXJyOgogIAlpZiAob2sgPT0gLTEpCiBkaWZmIC11cCBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vcnNhL3JzYS5oLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3JzYS9y c2EuaAotLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yc2EvcnNhLmguZmlwcwkyMDEzLTAyLTE5 IDEyOjQ3OjMzLjQ4NTExMzcxMCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yc2Ev cnNhLmgJMjAxMy0wMi0xOSAxMjo0NzozMy43NDYxMTkwMTUgKzAxMDAKKy0tLSBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vcnNhL3JzYS5oLmZpcHMJMjAxMy0xMC0wNCAxMTo0ODowNC4wNzU2OTE3NjUg KzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcnNhL3JzYS5oCTIwMTMtMTAtMDQgMTE6 NDg6MDQuMTkyNjk0NDA3ICswMjAwCiBAQCAtMTY0LDYgKzE2NCw4IEBAIHN0cnVjdCByc2Ffc3QK ICAjIGRlZmluZSBPUEVOU1NMX1JTQV9NQVhfTU9EVUxVU19CSVRTCTE2Mzg0CiAgI2VuZGlmCkBA IC0xOTkzMCw3ICsxOTk2Myw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yc2Ev cnNhLmguZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcnNhL3JzYS5oCiAgI2RlZmluZSBSU0Ff Ul9QX05PVF9QUklNRQkJCQkgMTI4CiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcnNh L3JzYV9saWIuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yc2EvcnNhX2xpYi5jCiAtLS0g b3BlbnNzbC0xLjAuMWUvY3J5cHRvL3JzYS9yc2FfbGliLmMuZmlwcwkyMDEzLTAyLTExIDE2OjI2 OjA0LjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yc2EvcnNhX2xp Yi5jCTIwMTMtMDItMTkgMTI6NDc6MzMuNzQ2MTE5MDE1ICswMTAwCisrKysgb3BlbnNzbC0xLjAu MWUvY3J5cHRvL3JzYS9yc2FfbGliLmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xOTI2OTQ0MDcgKzAy MDAKIEBAIC04NCw2ICs4NCwxMyBAQCBSU0EgKlJTQV9uZXcodm9pZCkKICAKICB2b2lkIFJTQV9z ZXRfZGVmYXVsdF9tZXRob2QoY29uc3QgUlNBX01FVEhPRCAqbWV0aCkKQEAgLTIwMDA4LDcgKzIw MDQxLDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3JzYS9yc2FfbGliLmMuZmlw cyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcnNhL3JzYV8KICAjaWZuZGVmIE9QRU5TU0xfTk9fRU5H SU5FCiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcnNhL3JzYV9wbWV0aC5jLmZpcHMg b3BlbnNzbC0xLjAuMWUvY3J5cHRvL3JzYS9yc2FfcG1ldGguYwogLS0tIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9yc2EvcnNhX3BtZXRoLmMuZmlwcwkyMDEzLTAyLTExIDE2OjI2OjA0LjAwMDAwMDAw MCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yc2EvcnNhX3BtZXRoLmMJMjAxMy0w Mi0xOSAxMjo0NzozMy43NDYxMTkwMTUgKzAxMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v cnNhL3JzYV9wbWV0aC5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTkyNjk0NDA3ICswMjAwCiBAQCAt MjA2LDIyICsyMDYsNiBAQCBzdGF0aWMgaW50IHBrZXlfcnNhX3NpZ24oRVZQX1BLRVlfQ1RYICpj CiAgCQkJCQlSU0FfUl9JTlZBTElEX0RJR0VTVF9MRU5HVEgpOwogIAkJCXJldHVybiAtMTsKQEAg LTIwMDU0LDcgKzIwMDg3LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3JzYS9y c2FfcG1ldGguYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yc2EvcnMKICAJCQkJCXNpZywg c2lnbGVuLCByc2EpOwogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3JzYS9yc2Ffc2ln bi5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3JzYS9yc2Ffc2lnbi5jCiAtLS0gb3BlbnNz bC0xLjAuMWUvY3J5cHRvL3JzYS9yc2Ffc2lnbi5jLmZpcHMJMjAxMy0wMi0xMSAxNjoyNjowNC4w MDAwMDAwMDAgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcnNhL3JzYV9zaWduLmMJ MjAxMy0wMi0xOSAxMjo0NzozMy43NDcxMTkwMzUgKzAxMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9j cnlwdG8vcnNhL3JzYV9zaWduLmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xOTI2OTQ0MDcgKzAyMDAK IEBAIC0xMzgsNyArMTM4LDggQEAgaW50IFJTQV9zaWduKGludCB0eXBlLCBjb25zdCB1bnNpZ25l ZCBjaAogIAkJaTJkX1g1MDlfU0lHKCZzaWcsJnApOwogIAkJcz10bXBzOwpAQCAtMjAwODYsOSAr MjAxMTksNjMgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3JzYS9yc2Ffc2lnbi5j LmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3JzYS9yc2EKICAKICAJaWYgKGkgPD0gMCkgZ290 byBlcnI7CiAgCS8qIE9kZGJhbGwgTURDMiBjYXNlOiBzaWduYXR1cmUgY2FuIGJlIE9DVEVUIFNU UklORy4KK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9zaGEvc2hhLmguZmlwcyBvcGVu c3NsLTEuMC4xZS9jcnlwdG8vc2hhL3NoYS5oCistLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3No YS9zaGEuaC5maXBzCTIwMTMtMTAtMDQgMTE6NDg6MDMuODY3Njg3MDY4ICswMjAwCisrKysgb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL3NoYS9zaGEuaAkyMDEzLTEwLTA0IDExOjQ4OjA0LjE5MjY5NDQw NyArMDIwMAorQEAgLTExNiw5ICsxMTYsNiBAQCB1bnNpZ25lZCBjaGFyICpTSEEoY29uc3QgdW5z aWduZWQgY2hhciAqCisgdm9pZCBTSEFfVHJhbnNmb3JtKFNIQV9DVFggKmMsIGNvbnN0IHVuc2ln bmVkIGNoYXIgKmRhdGEpOworICNlbmRpZgorICNpZm5kZWYgT1BFTlNTTF9OT19TSEExCistI2lm ZGVmIE9QRU5TU0xfRklQUworLWludCBwcml2YXRlX1NIQTFfSW5pdChTSEFfQ1RYICpjKTsKKy0j ZW5kaWYKKyBpbnQgU0hBMV9Jbml0KFNIQV9DVFggKmMpOworIGludCBTSEExX1VwZGF0ZShTSEFf Q1RYICpjLCBjb25zdCB2b2lkICpkYXRhLCBzaXplX3QgbGVuKTsKKyBpbnQgU0hBMV9GaW5hbCh1 bnNpZ25lZCBjaGFyICptZCwgU0hBX0NUWCAqYyk7CitAQCAtMTQxLDEwICsxMzgsNiBAQCB0eXBl ZGVmIHN0cnVjdCBTSEEyNTZzdGF0ZV9zdAorIAl9IFNIQTI1Nl9DVFg7CisgCisgI2lmbmRlZiBP UEVOU1NMX05PX1NIQTI1NgorLSNpZmRlZiBPUEVOU1NMX0ZJUFMKKy1pbnQgcHJpdmF0ZV9TSEEy MjRfSW5pdChTSEEyNTZfQ1RYICpjKTsKKy1pbnQgcHJpdmF0ZV9TSEEyNTZfSW5pdChTSEEyNTZf Q1RYICpjKTsKKy0jZW5kaWYKKyBpbnQgU0hBMjI0X0luaXQoU0hBMjU2X0NUWCAqYyk7CisgaW50 IFNIQTIyNF9VcGRhdGUoU0hBMjU2X0NUWCAqYywgY29uc3Qgdm9pZCAqZGF0YSwgc2l6ZV90IGxl bik7CisgaW50IFNIQTIyNF9GaW5hbCh1bnNpZ25lZCBjaGFyICptZCwgU0hBMjU2X0NUWCAqYyk7 CitAQCAtMTkyLDEwICsxODUsNiBAQCB0eXBlZGVmIHN0cnVjdCBTSEE1MTJzdGF0ZV9zdAorICNl bmRpZgorIAorICNpZm5kZWYgT1BFTlNTTF9OT19TSEE1MTIKKy0jaWZkZWYgT1BFTlNTTF9GSVBT CistaW50IHByaXZhdGVfU0hBMzg0X0luaXQoU0hBNTEyX0NUWCAqYyk7CistaW50IHByaXZhdGVf U0hBNTEyX0luaXQoU0hBNTEyX0NUWCAqYyk7CistI2VuZGlmCisgaW50IFNIQTM4NF9Jbml0KFNI QTUxMl9DVFggKmMpOworIGludCBTSEEzODRfVXBkYXRlKFNIQTUxMl9DVFggKmMsIGNvbnN0IHZv aWQgKmRhdGEsIHNpemVfdCBsZW4pOworIGludCBTSEEzODRfRmluYWwodW5zaWduZWQgY2hhciAq bWQsIFNIQTUxMl9DVFggKmMpOworZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3NoYS9z aGFfbG9jbC5oLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3NoYS9zaGFfbG9jbC5oCistLS0g b3BlbnNzbC0xLjAuMWUvY3J5cHRvL3NoYS9zaGFfbG9jbC5oLmZpcHMJMjAxMy0xMC0wNCAxMTo0 ODowMy44NzA2ODcxMzUgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vc2hhL3NoYV9s b2NsLmgJMjAxMy0xMC0wNCAxMTo0ODowNC4xOTI2OTQ0MDcgKzAyMDAKK0BAIC0xMjMsMTEgKzEy MywxNCBAQCB2b2lkIHNoYTFfYmxvY2tfZGF0YV9vcmRlciAoU0hBX0NUWCAqYywKKyAjZGVmaW5l IElOSVRfREFUQV9oNCAweGMzZDJlMWYwVUwKKyAKKyAjaWZkZWYgU0hBXzAKKy1maXBzX21kX2lu aXQoU0hBKQorK25vbmZpcHNfbWRfaW5pdChTSEEpCisgI2Vsc2UKKyBmaXBzX21kX2luaXRfY3R4 KFNIQTEsIFNIQSkKKyAjZW5kaWYKKyAJeworKyNpZiBkZWZpbmVkKFNIQV8xKSAmJiBkZWZpbmVk KE9QRU5TU0xfRklQUykKKysJRklQU19zZWxmdGVzdF9jaGVjaygpOworKyNlbmRpZgorIAltZW1z ZXQgKGMsMCxzaXplb2YoKmMpKTsKKyAJYy0+aDA9SU5JVF9EQVRBX2gwOworIAljLT5oMT1JTklU X0RBVEFfaDE7CiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vc2hhL3NoYTI1Ni5jLmZp cHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3NoYS9zaGEyNTYuYwogLS0tIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9zaGEvc2hhMjU2LmMuZmlwcwkyMDEzLTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCAr MDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9zaGEvc2hhMjU2LmMJMjAxMy0wMi0xOSAx Mjo0NzozMy43NDcxMTkwMzUgKzAxMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vc2hhL3No YTI1Ni5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTkzNjk0NDI5ICswMjAwCiBAQCAtMTIsMTIgKzEy LDE5IEBACiAgCiAgI2luY2x1ZGUgPG9wZW5zc2wvY3J5cHRvLmg+CkBAIC0yMDEyMSw3ICsyMDIw OCw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9zaGEvc2hhMjU2LmMuZmlwcyBv cGVuc3NsLTEuMC4xZS9jcnlwdG8vc2hhL3NoYTI1CiAgCWMtPmhbMl09MHgzYzZlZjM3MlVMOwlj LT5oWzNdPTB4YTU0ZmY1M2FVTDsKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9zaGEv c2hhNTEyLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vc2hhL3NoYTUxMi5jCiAtLS0gb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL3NoYS9zaGE1MTIuYy5maXBzCTIwMTMtMDItMTEgMTY6MjY6MDQu MDAwMDAwMDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3NoYS9zaGE1MTIuYwky MDEzLTAyLTE5IDEyOjQ3OjMzLjc0NzExOTAzNSArMDEwMAorKysrIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9zaGEvc2hhNTEyLmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xOTM2OTQ0MjkgKzAyMDAKIEBA IC01LDYgKzUsMTAgQEAKICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAqLwpAQCAtMjAxNTMsNjMgKzIwMjQw LDkgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3NoYS9zaGE1MTIuYy5maXBzIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9zaGEvc2hhNTEKICAJYy0+aFswXT1VNjQoMHg2YTA5ZTY2N2Yz YmNjOTA4KTsKICAJYy0+aFsxXT1VNjQoMHhiYjY3YWU4NTg0Y2FhNzNiKTsKICAJYy0+aFsyXT1V NjQoMHgzYzZlZjM3MmZlOTRmODJiKTsKLWRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9z aGEvc2hhLmguZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vc2hhL3NoYS5oCi0tLS0gb3BlbnNz bC0xLjAuMWUvY3J5cHRvL3NoYS9zaGEuaC5maXBzCTIwMTMtMDItMTkgMTI6NDc6MzIuOTg2MTAz NTY4ICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3NoYS9zaGEuaAkyMDEzLTAyLTE5 IDEyOjQ3OjMzLjc0NzExOTAzNSArMDEwMAotQEAgLTExNiw5ICsxMTYsNiBAQCB1bnNpZ25lZCBj aGFyICpTSEEoY29uc3QgdW5zaWduZWQgY2hhciAqCi0gdm9pZCBTSEFfVHJhbnNmb3JtKFNIQV9D VFggKmMsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmRhdGEpOwotICNlbmRpZgotICNpZm5kZWYgT1BF TlNTTF9OT19TSEExCi0tI2lmZGVmIE9QRU5TU0xfRklQUwotLWludCBwcml2YXRlX1NIQTFfSW5p dChTSEFfQ1RYICpjKTsKLS0jZW5kaWYKLSBpbnQgU0hBMV9Jbml0KFNIQV9DVFggKmMpOwotIGlu dCBTSEExX1VwZGF0ZShTSEFfQ1RYICpjLCBjb25zdCB2b2lkICpkYXRhLCBzaXplX3QgbGVuKTsK LSBpbnQgU0hBMV9GaW5hbCh1bnNpZ25lZCBjaGFyICptZCwgU0hBX0NUWCAqYyk7Ci1AQCAtMTQx LDEwICsxMzgsNiBAQCB0eXBlZGVmIHN0cnVjdCBTSEEyNTZzdGF0ZV9zdAotIAl9IFNIQTI1Nl9D VFg7Ci0gCi0gI2lmbmRlZiBPUEVOU1NMX05PX1NIQTI1NgotLSNpZmRlZiBPUEVOU1NMX0ZJUFMK LS1pbnQgcHJpdmF0ZV9TSEEyMjRfSW5pdChTSEEyNTZfQ1RYICpjKTsKLS1pbnQgcHJpdmF0ZV9T SEEyNTZfSW5pdChTSEEyNTZfQ1RYICpjKTsKLS0jZW5kaWYKLSBpbnQgU0hBMjI0X0luaXQoU0hB MjU2X0NUWCAqYyk7Ci0gaW50IFNIQTIyNF9VcGRhdGUoU0hBMjU2X0NUWCAqYywgY29uc3Qgdm9p ZCAqZGF0YSwgc2l6ZV90IGxlbik7Ci0gaW50IFNIQTIyNF9GaW5hbCh1bnNpZ25lZCBjaGFyICpt ZCwgU0hBMjU2X0NUWCAqYyk7Ci1AQCAtMTkyLDEwICsxODUsNiBAQCB0eXBlZGVmIHN0cnVjdCBT SEE1MTJzdGF0ZV9zdAotICNlbmRpZgotIAotICNpZm5kZWYgT1BFTlNTTF9OT19TSEE1MTIKLS0j aWZkZWYgT1BFTlNTTF9GSVBTCi0taW50IHByaXZhdGVfU0hBMzg0X0luaXQoU0hBNTEyX0NUWCAq Yyk7Ci0taW50IHByaXZhdGVfU0hBNTEyX0luaXQoU0hBNTEyX0NUWCAqYyk7Ci0tI2VuZGlmCi0g aW50IFNIQTM4NF9Jbml0KFNIQTUxMl9DVFggKmMpOwotIGludCBTSEEzODRfVXBkYXRlKFNIQTUx Ml9DVFggKmMsIGNvbnN0IHZvaWQgKmRhdGEsIHNpemVfdCBsZW4pOwotIGludCBTSEEzODRfRmlu YWwodW5zaWduZWQgY2hhciAqbWQsIFNIQTUxMl9DVFggKmMpOwotZGlmZiAtdXAgb3BlbnNzbC0x LjAuMWUvY3J5cHRvL3NoYS9zaGFfbG9jbC5oLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3No YS9zaGFfbG9jbC5oCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3NoYS9zaGFfbG9jbC5oLmZp cHMJMjAxMy0wMi0xOSAxMjo0NzozMi45OTExMDM2NzAgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4x ZS9jcnlwdG8vc2hhL3NoYV9sb2NsLmgJMjAxMy0wMi0xOSAxMjo0NzozMy43NDcxMTkwMzUgKzAx MDAKLUBAIC0xMjMsMTEgKzEyMywxNCBAQCB2b2lkIHNoYTFfYmxvY2tfZGF0YV9vcmRlciAoU0hB X0NUWCAqYywKLSAjZGVmaW5lIElOSVRfREFUQV9oNCAweGMzZDJlMWYwVUwKLSAKLSAjaWZkZWYg U0hBXzAKLS1maXBzX21kX2luaXQoU0hBKQotK25vbmZpcHNfbWRfaW5pdChTSEEpCi0gI2Vsc2UK LSBmaXBzX21kX2luaXRfY3R4KFNIQTEsIFNIQSkKLSAjZW5kaWYKLSAJewotKyNpZiBkZWZpbmVk KFNIQV8xKSAmJiBkZWZpbmVkKE9QRU5TU0xfRklQUykKLSsJRklQU19zZWxmdGVzdF9jaGVjaygp OwotKyNlbmRpZgotIAltZW1zZXQgKGMsMCxzaXplb2YoKmMpKTsKLSAJYy0+aDA9SU5JVF9EQVRB X2gwOwotIAljLT5oMT1JTklUX0RBVEFfaDE7CiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlw dG8vd2hybHBvb2wvd3BfZGdzdC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3docmxwb29s L3dwX2Rnc3QuYwogLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by93aHJscG9vbC93cF9kZ3N0LmMu ZmlwcwkyMDEzLTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wtMS4w LjFlL2NyeXB0by93aHJscG9vbC93cF9kZ3N0LmMJMjAxMy0wMi0xOSAxMjo0NzozMy43NDgxMTkw NTUgKzAxMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vd2hybHBvb2wvd3BfZGdzdC5jCTIw MTMtMTAtMDQgMTE6NDg6MDQuMTkzNjk0NDI5ICswMjAwCiBAQCAtNTUsNyArNTUsNyBAQAogICNp bmNsdWRlIDxvcGVuc3NsL2NyeXB0by5oPgogICNpbmNsdWRlIDxzdHJpbmcuaD4KQEAgLTIwMjIw LDggKzIwMjUzLDggQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3docmxwb29sL3dw X2Rnc3QuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by93aHIKICAJbWVtc2V0IChjLDAsc2l6 ZW9mKCpjKSk7CiAgCXJldHVybigxKTsKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL01ha2VmaWxl Lm9yZy5maXBzIG9wZW5zc2wtMS4wLjFlL01ha2VmaWxlLm9yZwotLS0tIG9wZW5zc2wtMS4wLjFl L01ha2VmaWxlLm9yZy5maXBzCTIwMTMtMDItMTkgMTI6NDc6MzMuNjc4MTE3NjM0ICswMTAwCi0r Kysgb3BlbnNzbC0xLjAuMWUvTWFrZWZpbGUub3JnCTIwMTMtMDItMTkgMTI6NDc6MzMuNzQ4MTE5 MDU1ICswMTAwCistLS0gb3BlbnNzbC0xLjAuMWUvTWFrZWZpbGUub3JnLmZpcHMJMjAxMy0xMC0w NCAxMTo0ODowNC4xNTc2OTM2MTYgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9NYWtlZmlsZS5v cmcJMjAxMy0xMC0wNCAxMTo0ODowNC4xOTM2OTQ0MjkgKzAyMDAKIEBAIC0xMzYsNiArMTM2LDkg QEAgRklQU0NBTkxJQj0KICAKICBCQVNFQUREUj0KQEAgLTIwMjQ5LDkgKzIwMjgyLDIxIEBAIGRp ZmYgLXVwIG9wZW5zc2wtMS4wLjFlL01ha2VmaWxlLm9yZy5maXBzIG9wZW5zc2wtMS4wLjFlL01h a2VmaWxlLm9yZwogIAkJVEhJUz0kJHtUSElTOi0kQH0gTUFLRUZJTEU9TWFrZWZpbGUgTUFLRU9W RVJSSURFUz0KICAjIE1BS0VPVkVSUklERVM9IGVmZmVjdGl2ZWx5ICJlcXVhbGl6ZXMiIEdOVS1p c2ggYW5kIFN5c1YtaXNoIG1ha2UgZmxhdm9ycywKICAjIHdoaWNoIGluIHR1cm4gZWxpbWluYXRl cyBhbWJpZ3VpdGllcyBpbiB2YXJpYWJsZSB0cmVhdG1lbnQgd2l0aCAtZS4KK2RpZmYgLXVwIG9w ZW5zc2wtMS4wLjFlL3NzbC9kMV9zcnZyLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9zc2wvZDFfc3J2 ci5jCistLS0gb3BlbnNzbC0xLjAuMWUvc3NsL2QxX3NydnIuYy5maXBzCTIwMTMtMDItMTEgMTY6 MjY6MDQuMDAwMDAwMDAwICswMTAwCisrKysgb3BlbnNzbC0xLjAuMWUvc3NsL2QxX3NydnIuYwky MDEzLTEwLTA0IDExOjQ4OjA0LjE5MzY5NDQyOSArMDIwMAorQEAgLTEzNzIsNiArMTM3Miw4IEBA IGludCBkdGxzMV9zZW5kX3NlcnZlcl9rZXlfZXhjaGFuZ2UoU1NMICoKKyAJCQkJaj0wOworIAkJ CQlmb3IgKG51bT0yOyBudW0gPiAwOyBudW0tLSkKKyAJCQkJCXsKKysJCQkJCUVWUF9NRF9DVFhf c2V0X2ZsYWdzKCZtZF9jdHgsCisrCQkJCQkJCQlFVlBfTURfQ1RYX0ZMQUdfTk9OX0ZJUFNfQUxM T1cpOworIAkJCQkJRVZQX0RpZ2VzdEluaXRfZXgoJm1kX2N0eCwobnVtID09IDIpCisgCQkJCQkJ P3MtPmN0eC0+bWQ1OnMtPmN0eC0+c2hhMSwgTlVMTCk7CisgCQkJCQlFVlBfRGlnZXN0VXBkYXRl KCZtZF9jdHgsJihzLT5zMy0+Y2xpZW50X3JhbmRvbVswXSksU1NMM19SQU5ET01fU0laRSk7CiBk aWZmIC11cCBvcGVuc3NsLTEuMC4xZS9zc2wvc3NsX2FsZ3MuYy5maXBzIG9wZW5zc2wtMS4wLjFl L3NzbC9zc2xfYWxncy5jCiAtLS0gb3BlbnNzbC0xLjAuMWUvc3NsL3NzbF9hbGdzLmMuZmlwcwky MDEzLTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL3Nz bC9zc2xfYWxncy5jCTIwMTMtMDItMTkgMTI6NDc6MzMuNzQ4MTE5MDU1ICswMTAwCisrKysgb3Bl bnNzbC0xLjAuMWUvc3NsL3NzbF9hbGdzLmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xOTM2OTQ0Mjkg KzAyMDAKIEBAIC02NCw2ICs2NCwxMiBAQAogIGludCBTU0xfbGlicmFyeV9pbml0KHZvaWQpCiAg CXsKCmRpZmYgLS1naXQgYS9vcGVuc3NsLTEuMC4xZS1tYW5maXgucGF0Y2ggYi9vcGVuc3NsLTEu MC4xZS1tYW5maXgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGJh MmFiYgotLS0gL2Rldi9udWxsCisrKyBiL29wZW5zc2wtMS4wLjFlLW1hbmZpeC5wYXRjaApAQCAt MCwwICsxLDU1NSBAQAorZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvZG9jL2FwcHMvY21zLnBvZC5t YW5maXggb3BlbnNzbC0xLjAuMWUvZG9jL2FwcHMvY21zLnBvZAorLS0tIG9wZW5zc2wtMS4wLjFl L2RvYy9hcHBzL2Ntcy5wb2QubWFuZml4CTIwMTMtMDItMTEgMTY6MjY6MDQuMDAwMDAwMDAwICsw MTAwCisrKysgb3BlbnNzbC0xLjAuMWUvZG9jL2FwcHMvY21zLnBvZAkyMDEzLTA5LTEyIDExOjE3 OjQyLjE0NzA5MjMxMCArMDIwMAorQEAgLTQ1MCwyOCArNDUwLDI4IEBAIHJlbWFpbnMgREVSLgor IAorID1vdmVyIDQKKyAKKy09aXRlbSAwCisrPWl0ZW0gQzwwPgorIAorIHRoZSBvcGVyYXRpb24g d2FzIGNvbXBsZXRlbHkgc3VjY2Vzc2Z1bGx5LgorIAorLT1pdGVtIDEgCisrPWl0ZW0gQzwxPgor IAorIGFuIGVycm9yIG9jY3VycmVkIHBhcnNpbmcgdGhlIGNvbW1hbmQgb3B0aW9ucy4KKyAKKy09 aXRlbSAyCisrPWl0ZW0gQzwyPgorIAorIG9uZSBvZiB0aGUgaW5wdXQgZmlsZXMgY291bGQgbm90 IGJlIHJlYWQuCisgCistPWl0ZW0gMworKz1pdGVtIEM8Mz4KKyAKKyBhbiBlcnJvciBvY2N1cnJl ZCBjcmVhdGluZyB0aGUgQ01TIGZpbGUgb3Igd2hlbiByZWFkaW5nIHRoZSBNSU1FCisgbWVzc2Fn ZS4KKyAKKy09aXRlbSA0CisrPWl0ZW0gQzw0PgorIAorIGFuIGVycm9yIG9jY3VycmVkIGRlY3J5 cHRpbmcgb3IgdmVyaWZ5aW5nIHRoZSBtZXNzYWdlLgorIAorLT1pdGVtIDUKKys9aXRlbSBDPDU+ CisgCisgdGhlIG1lc3NhZ2Ugd2FzIHZlcmlmaWVkIGNvcnJlY3RseSBidXQgYW4gZXJyb3Igb2Nj dXJyZWQgd3JpdGluZyBvdXQKKyB0aGUgc2lnbmVycyBjZXJ0aWZpY2F0ZXMuCitkaWZmIC11cCBv cGVuc3NsLTEuMC4xZS9kb2MvYXBwcy9lYy5wb2QubWFuZml4IG9wZW5zc2wtMS4wLjFlL2RvYy9h cHBzL2VjLnBvZAorLS0tIG9wZW5zc2wtMS4wLjFlL2RvYy9hcHBzL2VjLnBvZC5tYW5maXgJMjAx My0wMi0xMSAxNjoyNjowNC4wMDAwMDAwMDAgKzAxMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9kb2Mv YXBwcy9lYy5wb2QJMjAxMy0wOS0xMiAxMToxNzo0Mi4xNDcwOTIzMTAgKzAyMDAKK0BAIC05Mywx MCArOTMsNiBAQCBwcmludHMgb3V0IHRoZSBwdWJsaWMsIHByaXZhdGUga2V5IGNvbXBvCisgCisg dGhpcyBvcHRpb24gcHJldmVudHMgb3V0cHV0IG9mIHRoZSBlbmNvZGVkIHZlcnNpb24gb2YgdGhl IGtleS4KKyAKKy09aXRlbSBCPC1tb2R1bHVzPgorLQorLXRoaXMgb3B0aW9uIHByaW50cyBvdXQg dGhlIHZhbHVlIG9mIHRoZSBwdWJsaWMga2V5IGNvbXBvbmVudCBvZiB0aGUga2V5LgorLQorID1p dGVtIEI8LXB1YmluPgorIAorIGJ5IGRlZmF1bHQgYSBwcml2YXRlIGtleSBpcyByZWFkIGZyb20g dGhlIGlucHV0IGZpbGU6IHdpdGggdGhpcyBvcHRpb24gYQorZGlmZiAtdXAgb3BlbnNzbC0xLjAu MWUvZG9jL2FwcHMvb3BlbnNzbC5wb2QubWFuZml4IG9wZW5zc2wtMS4wLjFlL2RvYy9hcHBzL29w ZW5zc2wucG9kCistLS0gb3BlbnNzbC0xLjAuMWUvZG9jL2FwcHMvb3BlbnNzbC5wb2QubWFuZml4 CTIwMTMtMDItMTEgMTY6MjY6MDQuMDAwMDAwMDAwICswMTAwCisrKysgb3BlbnNzbC0xLjAuMWUv ZG9jL2FwcHMvb3BlbnNzbC5wb2QJMjAxMy0wOS0xMiAxMToxNzo0Mi4xNDgwOTIzMzEgKzAyMDAK K0BAIC0xNjMsNyArMTYzLDcgQEAgQ3JlYXRlIG9yIGV4YW1pbmUgYSBuZXRzY2FwZSBjZXJ0aWZp Y2F0ZQorIAorIE9ubGluZSBDZXJ0aWZpY2F0ZSBTdGF0dXMgUHJvdG9jb2wgdXRpbGl0eS4KKyAK Ky09aXRlbSBMPEI8cGFzc3dkPnxwYXNzd2QoMSk+CisrPWl0ZW0gTDxCPHBhc3N3ZD58c3NscGFz c3dkKDEpPgorIAorIEdlbmVyYXRpb24gb2YgaGFzaGVkIHBhc3N3b3Jkcy4KKyAKK0BAIC0xODcs NyArMTg3LDcgQEAgUHVibGljIGtleSBhbGdvcml0aG0gcGFyYW1ldGVyIG1hbmFnZW1lbgorIAor IFB1YmxpYyBrZXkgYWxnb3JpdGhtIGNyeXB0b2dyYXBoaWMgb3BlcmF0aW9uIHV0aWxpdHkuCisg CistPWl0ZW0gTDxCPHJhbmQ+fHJhbmQoMSk+CisrPWl0ZW0gTDxCPHJhbmQ+fHNzbHJhbmQoMSk+ CisgCisgR2VuZXJhdGUgcHNldWRvLXJhbmRvbSBieXRlcy4KKyAKK0BAIC00MDEsOSArNDAxLDkg QEAgTDxjcmwoMSl8Y3JsKDEpPiwgTDxjcmwycGtjczcoMSl8Y3JsMnBrYworIEw8ZGhwYXJhbSgx KXxkaHBhcmFtKDEpPiwgTDxkc2EoMSl8ZHNhKDEpPiwgTDxkc2FwYXJhbSgxKXxkc2FwYXJhbSgx KT4sCisgTDxlbmMoMSl8ZW5jKDEpPiwgTDxnZW5kc2EoMSl8Z2VuZHNhKDEpPiwgTDxnZW5wa2V5 KDEpfGdlbnBrZXkoMSk+LAorIEw8Z2VucnNhKDEpfGdlbnJzYSgxKT4sIEw8bnNlcSgxKXxuc2Vx KDEpPiwgTDxvcGVuc3NsKDEpfG9wZW5zc2woMSk+LAorLUw8cGFzc3dkKDEpfHBhc3N3ZCgxKT4s CisrTDxzc2xwYXNzd2QoMSl8c3NscGFzc3dkKDEpPiwKKyBMPHBrY3MxMigxKXxwa2NzMTIoMSk+ LCBMPHBrY3M3KDEpfHBrY3M3KDEpPiwgTDxwa2NzOCgxKXxwa2NzOCgxKT4sCistTDxyYW5kKDEp fHJhbmQoMSk+LCBMPHJlcSgxKXxyZXEoMSk+LCBMPHJzYSgxKXxyc2EoMSk+LAorK0w8c3NscmFu ZCgxKXxzc2xyYW5kKDEpPiwgTDxyZXEoMSl8cmVxKDEpPiwgTDxyc2EoMSl8cnNhKDEpPiwKKyBM PHJzYXV0bCgxKXxyc2F1dGwoMSk+LCBMPHNfY2xpZW50KDEpfHNfY2xpZW50KDEpPiwKKyBMPHNf c2VydmVyKDEpfHNfc2VydmVyKDEpPiwgTDxzX3RpbWUoMSl8c190aW1lKDEpPiwKKyBMPHNtaW1l KDEpfHNtaW1lKDEpPiwgTDxzcGthYygxKXxzcGthYygxKT4sCitkaWZmIC11cCBvcGVuc3NsLTEu MC4xZS9kb2MvYXBwcy9zX2NsaWVudC5wb2QubWFuZml4IG9wZW5zc2wtMS4wLjFlL2RvYy9hcHBz L3NfY2xpZW50LnBvZAorLS0tIG9wZW5zc2wtMS4wLjFlL2RvYy9hcHBzL3NfY2xpZW50LnBvZC5t YW5maXgJMjAxMy0wOS0xMiAxMToxNzo0MS41MTcwNzg1MDIgKzAyMDAKKysrKyBvcGVuc3NsLTEu MC4xZS9kb2MvYXBwcy9zX2NsaWVudC5wb2QJMjAxMy0wOS0xMiAxMToxNzo0Mi4xNDkwOTIzNTMg KzAyMDAKK0BAIC0zMiw5ICszMiwxNCBAQCBCPG9wZW5zc2w+IEI8c19jbGllbnQ+CisgW0I8LXNz bDI+XQorIFtCPC1zc2wzPl0KKyBbQjwtdGxzMT5dCisrW0I8LXRsczFfMT5dCisrW0I8LXRsczFf Mj5dCisrW0I8LWR0bHMxPl0KKyBbQjwtbm9fc3NsMj5dCisgW0I8LW5vX3NzbDM+XQorIFtCPC1u b190bHMxPl0KKytbQjwtbm9fdGxzMV8xPl0KKytbQjwtbm9fdGxzMV8yPl0KKyBbQjwtYnVncz5d CisgW0I8LWNpcGhlciBjaXBoZXJsaXN0Pl0KKyBbQjwtc3RhcnR0bHMgcHJvdG9jb2w+XQorQEAg LTQ0LDYgKzQ5LDcgQEAgQjxvcGVuc3NsPiBCPHNfY2xpZW50PgorIFtCPC1zZXNzX291dCBmaWxl bmFtZT5dCisgW0I8LXNlc3NfaW4gZmlsZW5hbWU+XQorIFtCPC1yYW5kIGZpbGUocyk+XQorK1tC PC1uZXh0cHJvdG9uZWcgcHJvdG9jb2xzPl0KKyAKKyA9aGVhZDEgREVTQ1JJUFRJT04KKyAKK0BA IC0xODIsNyArMTg4LDcgQEAgVXNlIHRoZSBQU0sga2V5IEI8a2V5PiB3aGVuIHVzaW5nIGEgUFNL CisgZ2l2ZW4gYXMgYSBoZXhhZGVjaW1hbCBudW1iZXIgd2l0aG91dCBsZWFkaW5nIDB4LCBmb3Ig ZXhhbXBsZSAtcHNrCisgMWEyYjNjNGQuCisgCistPWl0ZW0gQjwtc3NsMj4sIEI8LXNzbDM+LCBC PC10bHMxPiwgQjwtbm9fc3NsMj4sIEI8LW5vX3NzbDM+LCBCPC1ub190bHMxPgorKz1pdGVtIEI8 LXNzbDI+LCBCPC1zc2wzPiwgQjwtdGxzMT4sIEI8LXRsczFfMT4sIEI8LXRsczFfMj4sIEI8LWR0 bHMxPiwgQjwtbm9fc3NsMj4sIEI8LW5vX3NzbDM+LCBCPC1ub190bHMxPiwgQjwtbm9fdGxzMV8x PiwgQjwtbm9fdGxzMV8yPgorIAorIHRoZXNlIG9wdGlvbnMgZGlzYWJsZSB0aGUgdXNlIG9mIGNl cnRhaW4gU1NMIG9yIFRMUyBwcm90b2NvbHMuIEJ5IGRlZmF1bHQKKyB0aGUgaW5pdGlhbCBoYW5k c2hha2UgdXNlcyBhIG1ldGhvZCB3aGljaCBzaG91bGQgYmUgY29tcGF0aWJsZSB3aXRoIGFsbAor QEAgLTI0Myw2ICsyNDksMTcgQEAgTXVsdGlwbGUgZmlsZXMgY2FuIGJlIHNwZWNpZmllZCBzZXBh cmF0ZQorIFRoZSBzZXBhcmF0b3IgaXMgQjw7PiBmb3IgTVMtV2luZG93cywgQjwsPiBmb3IgT3Bl blZNUywgYW5kIEI8Oj4gZm9yCisgYWxsIG90aGVycy4KKyAKKys9aXRlbSBCPC1uZXh0cHJvdG9u ZWcgcHJvdG9jb2xzPgorKworK2VuYWJsZSBOZXh0IFByb3RvY29sIE5lZ290aWF0aW9uIFRMUyBl eHRlbnNpb24gYW5kIHByb3ZpZGUgYSBsaXN0IG9mCisrY29tbWEtc2VwYXJhdGVkIHByb3RvY29s IG5hbWVzIHRoYXQgdGhlIGNsaWVudCBzaG91bGQgYWR2ZXJ0aXNlCisrc3VwcG9ydCBmb3IuIFRo ZSBsaXN0IHNob3VsZCBjb250YWluIG1vc3Qgd2FudGVkIHByb3RvY29scyBmaXJzdC4KKytQcm90 b2NvbCBuYW1lcyBhcmUgcHJpbnRhYmxlIEFTQ0lJIHN0cmluZ3MsIGZvciBleGFtcGxlICJodHRw LzEuMSIgb3IKKysic3BkeS8zIi4KKytFbXB0eSBsaXN0IG9mIHByb3RvY29scyBpcyB0cmVhdGVk IHNwZWNpYWxseSBhbmQgd2lsbCBjYXVzZSB0aGUgY2xpZW50IHRvCisrYWR2ZXJ0aXNlIHN1cHBv cnQgZm9yIHRoZSBUTFMgZXh0ZW5zaW9uIGJ1dCBkaXNjb25uZWN0IGp1c3QgYWZ0ZXIKKytyZWNp dmluZyBTZXJ2ZXJIZWxsbyB3aXRoIGEgbGlzdCBvZiBzZXJ2ZXIgc3VwcG9ydGVkIHByb3RvY29s cy4KKysKKyA9YmFjaworIAorID1oZWFkMSBDT05ORUNURUQgQ09NTUFORFMKK2RpZmYgLXVwIG9w ZW5zc2wtMS4wLjFlL2RvYy9hcHBzL3NtaW1lLnBvZC5tYW5maXggb3BlbnNzbC0xLjAuMWUvZG9j L2FwcHMvc21pbWUucG9kCistLS0gb3BlbnNzbC0xLjAuMWUvZG9jL2FwcHMvc21pbWUucG9kLm1h bmZpeAkyMDEzLTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4w LjFlL2RvYy9hcHBzL3NtaW1lLnBvZAkyMDEzLTA5LTEyIDExOjE3OjQyLjE1MDA5MjM3NSArMDIw MAorQEAgLTMwOCwyOCArMzA4LDI4IEBAIHJlbWFpbnMgREVSLgorIAorID1vdmVyIDQKKyAKKy09 aXRlbSAwCisrPWl0ZW0gQzwwPgorIAorIHRoZSBvcGVyYXRpb24gd2FzIGNvbXBsZXRlbHkgc3Vj Y2Vzc2Z1bGx5LgorIAorLT1pdGVtIDEgCisrPWl0ZW0gQzwxPgorIAorIGFuIGVycm9yIG9jY3Vy cmVkIHBhcnNpbmcgdGhlIGNvbW1hbmQgb3B0aW9ucy4KKyAKKy09aXRlbSAyCisrPWl0ZW0gQzwy PgorIAorIG9uZSBvZiB0aGUgaW5wdXQgZmlsZXMgY291bGQgbm90IGJlIHJlYWQuCisgCistPWl0 ZW0gMworKz1pdGVtIEM8Mz4KKyAKKyBhbiBlcnJvciBvY2N1cnJlZCBjcmVhdGluZyB0aGUgUEtD UyM3IGZpbGUgb3Igd2hlbiByZWFkaW5nIHRoZSBNSU1FCisgbWVzc2FnZS4KKyAKKy09aXRlbSA0 CisrPWl0ZW0gQzw0PgorIAorIGFuIGVycm9yIG9jY3VycmVkIGRlY3J5cHRpbmcgb3IgdmVyaWZ5 aW5nIHRoZSBtZXNzYWdlLgorIAorLT1pdGVtIDUKKys9aXRlbSBDPDU+CisgCisgdGhlIG1lc3Nh Z2Ugd2FzIHZlcmlmaWVkIGNvcnJlY3RseSBidXQgYW4gZXJyb3Igb2NjdXJyZWQgd3JpdGluZyBv dXQKKyB0aGUgc2lnbmVycyBjZXJ0aWZpY2F0ZXMuCitkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9k b2MvYXBwcy9zX3NlcnZlci5wb2QubWFuZml4IG9wZW5zc2wtMS4wLjFlL2RvYy9hcHBzL3Nfc2Vy dmVyLnBvZAorLS0tIG9wZW5zc2wtMS4wLjFlL2RvYy9hcHBzL3Nfc2VydmVyLnBvZC5tYW5maXgJ MjAxMy0wMi0xMSAxNjoyNjowNC4wMDAwMDAwMDAgKzAxMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9k b2MvYXBwcy9zX3NlcnZlci5wb2QJMjAxMy0wOS0xMiAxMToxNzo0Mi4xNTAwOTIzNzUgKzAyMDAK K0BAIC00MCwxMCArNDAsMTYgQEAgQjxvcGVuc3NsPiBCPHNfc2VydmVyPgorIFtCPC1zc2wyPl0K KyBbQjwtc3NsMz5dCisgW0I8LXRsczE+XQorK1tCPC10bHMxXzE+XQorK1tCPC10bHMxXzI+XQor K1tCPC1kdGxzMT5dCisgW0I8LW5vX3NzbDI+XQorIFtCPC1ub19zc2wzPl0KKyBbQjwtbm9fdGxz MT5dCisrW0I8LW5vX3RsczFfMT5dCisrW0I8LW5vX3RsczFfMj5dCisgW0I8LW5vX2RoZT5dCisr W0I8LW5vX2VjZGhlPl0KKyBbQjwtYnVncz5dCisgW0I8LWhhY2s+XQorIFtCPC13d3c+XQorQEAg LTU0LDYgKzYwLDcgQEAgQjxvcGVuc3NsPiBCPHNfc2VydmVyPgorIFtCPC1ub190aWNrZXQ+XQor IFtCPC1pZF9wcmVmaXggYXJnPl0KKyBbQjwtcmFuZCBmaWxlKHMpPl0KKytbQjwtbmV4dHByb3Rv bmVnIHByb3RvY29scz5dCisgCisgPWhlYWQxIERFU0NSSVBUSU9OCisgCitAQCAtMTMxLDYgKzEz OCwxMCBAQCBhIHN0YXRpYyBzZXQgb2YgcGFyYW1ldGVycyBoYXJkIGNvZGVkIGluCisgaWYgdGhp cyBvcHRpb24gaXMgc2V0IHRoZW4gbm8gREggcGFyYW1ldGVycyB3aWxsIGJlIGxvYWRlZCBlZmZl Y3RpdmVseQorIGRpc2FibGluZyB0aGUgZXBoZW1lcmFsIERIIGNpcGhlciBzdWl0ZXMuCisgCisr PWl0ZW0gQjwtbm9fZWNkaGU+CisrCisraWYgdGhpcyBvcHRpb24gaXMgc2V0IHRoZW4gZXBoZW1l cmFsIEVDREggY2lwaGVyIHN1aXRlcyB3aWxsIGJlIGRpc2FibGVkLgorKworID1pdGVtIEI8LW5v X3RtcF9yc2E+CisgCisgY2VydGFpbiBleHBvcnQgY2lwaGVyIHN1aXRlcyBzb21ldGltZXMgdXNl IGEgdGVtcG9yYXJ5IFJTQSBrZXksIHRoaXMgb3B0aW9uCitAQCAtMjAxLDcgKzIxMiw3IEBAIFVz ZSB0aGUgUFNLIGtleSBCPGtleT4gd2hlbiB1c2luZyBhIFBTSworIGdpdmVuIGFzIGEgaGV4YWRl Y2ltYWwgbnVtYmVyIHdpdGhvdXQgbGVhZGluZyAweCwgZm9yIGV4YW1wbGUgLXBzaworIDFhMmIz YzRkLgorIAorLT1pdGVtIEI8LXNzbDI+LCBCPC1zc2wzPiwgQjwtdGxzMT4sIEI8LW5vX3NzbDI+ LCBCPC1ub19zc2wzPiwgQjwtbm9fdGxzMT4KKys9aXRlbSBCPC1zc2wyPiwgQjwtc3NsMz4sIEI8 LXRsczE+LCBCPC10bHMxXzE+LCBCPC10bHMxXzI+LCBCPC1kdGxzMT4sIEI8LW5vX3NzbDI+LCBC PC1ub19zc2wzPiwgQjwtbm9fdGxzMT4sIEI8LW5vX3RsczFfMT4sIEI8LW5vX3RsczFfMj4KKyAK KyB0aGVzZSBvcHRpb25zIGRpc2FibGUgdGhlIHVzZSBvZiBjZXJ0YWluIFNTTCBvciBUTFMgcHJv dG9jb2xzLiBCeSBkZWZhdWx0CisgdGhlIGluaXRpYWwgaGFuZHNoYWtlIHVzZXMgYSBtZXRob2Qg d2hpY2ggc2hvdWxkIGJlIGNvbXBhdGlibGUgd2l0aCBhbGwKK0BAIC0yNzYsNiArMjg3LDE0IEBA IE11bHRpcGxlIGZpbGVzIGNhbiBiZSBzcGVjaWZpZWQgc2VwYXJhdGUKKyBUaGUgc2VwYXJhdG9y IGlzIEI8Oz4gZm9yIE1TLVdpbmRvd3MsIEI8LD4gZm9yIE9wZW5WTVMsIGFuZCBCPDo+IGZvcgor IGFsbCBvdGhlcnMuCisgCisrPWl0ZW0gQjwtbmV4dHByb3RvbmVnIHByb3RvY29scz4KKysKKytl bmFibGUgTmV4dCBQcm90b2NvbCBOZWdvdGlhdGlvbiBUTFMgZXh0ZW5zaW9uIGFuZCBwcm92aWRl IGEKKytjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBzdXBwb3J0ZWQgcHJvdG9jb2wgbmFtZXMuCisr VGhlIGxpc3Qgc2hvdWxkIGNvbnRhaW4gbW9zdCB3YW50ZWQgcHJvdG9jb2xzIGZpcnN0LgorK1By b3RvY29sIG5hbWVzIGFyZSBwcmludGFibGUgQVNDSUkgc3RyaW5ncywgZm9yIGV4YW1wbGUgImh0 dHAvMS4xIiBvcgorKyJzcGR5LzMiLgorKworID1iYWNrCisgCisgPWhlYWQxIENPTk5FQ1RFRCBD T01NQU5EUworZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvZG9jL2FwcHMvdmVyaWZ5LnBvZC5tYW5m aXggb3BlbnNzbC0xLjAuMWUvZG9jL2FwcHMvdmVyaWZ5LnBvZAorLS0tIG9wZW5zc2wtMS4wLjFl L2RvYy9hcHBzL3ZlcmlmeS5wb2QubWFuZml4CTIwMTMtMDItMTEgMTY6MjY6MDQuMDAwMDAwMDAw ICswMTAwCisrKysgb3BlbnNzbC0xLjAuMWUvZG9jL2FwcHMvdmVyaWZ5LnBvZAkyMDEzLTA5LTEy IDExOjI1OjEzLjk5NDk5NDk5MiArMDIwMAorQEAgLTI1LDYgKzI1LDcgQEAgQjxvcGVuc3NsPiBC PHZlcmlmeT4KKyBbQjwtdW50cnVzdGVkIGZpbGU+XQorIFtCPC1oZWxwPl0KKyBbQjwtaXNzdWVy X2NoZWNrcz5dCisrW0I8LWF0dGltZSB0aW1lc3RhbXA+XQorIFtCPC12ZXJib3NlPl0KKyBbQjwt Pl0KKyBbY2VydGlmaWNhdGVzXQorQEAgLTgwLDYgKzgxLDEyIEBAIHJlamVjdGVkLiBUaGUgcHJl c2VuY2Ugb2YgcmVqZWN0aW9uIG1lc3MKKyBhbnl0aGluZyBpcyB3cm9uZzsgZHVyaW5nIHRoZSBu b3JtYWwgdmVyaWZpY2F0aW9uIHByb2Nlc3MsIHNldmVyYWwKKyByZWplY3Rpb25zIG1heSB0YWtl IHBsYWNlLgorIAorKz1pdGVtIEI8LWF0dGltZSB0aW1lc3RhbXA+CisrCisrUGVyZm9ybSB2YWxp ZGF0aW9uIGNoZWNrcyB1c2luZyB0aGUgdGltZSBzcGVjaWZpZWQgYnkgQjx0aW1lc3RhbXA+IGFu ZCBub3QKKyt0aGUgY3VycmVudCBzeXN0ZW0gdGltZS4gQjx0aW1lc3RhbXA+IGlzIHRoZSBudW1i ZXIgb2Ygc2Vjb25kcyBzaW5jZQorKzAxLjAxLjE5NzAgKFVOSVggdGltZSkuCisrCisgPWl0ZW0g QjwtcG9saWN5IGFyZz4KKyAKKyBFbmFibGUgcG9saWN5IHByb2Nlc3NpbmcgYW5kIGFkZCBCPGFy Zz4gdG8gdGhlIHVzZXItaW5pdGlhbC1wb2xpY3ktc2V0IChzZWUKK2RpZmYgLXVwIG9wZW5zc2wt MS4wLjFlL2RvYy9zc2wvU1NMX2FjY2VwdC5wb2QubWFuZml4IG9wZW5zc2wtMS4wLjFlL2RvYy9z c2wvU1NMX2FjY2VwdC5wb2QKKy0tLSBvcGVuc3NsLTEuMC4xZS9kb2Mvc3NsL1NTTF9hY2NlcHQu cG9kLm1hbmZpeAkyMDEzLTA5LTEyIDExOjE3OjQyLjEyOTA5MTkxNSArMDIwMAorKysrIG9wZW5z c2wtMS4wLjFlL2RvYy9zc2wvU1NMX2FjY2VwdC5wb2QJMjAxMy0wOS0xMiAxMToxNzo0Mi4xNTYw OTI1MDcgKzAyMDAKK0BAIC00NCwxMyArNDQsMTMgQEAgVGhlIGZvbGxvd2luZyByZXR1cm4gdmFs dWVzIGNhbiBvY2N1cjoKKyAKKyA9b3ZlciA0CisgCistPWl0ZW0gMAorKz1pdGVtIEM8MD4KKyAK KyBUaGUgVExTL1NTTCBoYW5kc2hha2Ugd2FzIG5vdCBzdWNjZXNzZnVsIGJ1dCB3YXMgc2h1dCBk b3duIGNvbnRyb2xsZWQgYW5kCisgYnkgdGhlIHNwZWNpZmljYXRpb25zIG9mIHRoZSBUTFMvU1NM IHByb3RvY29sLiBDYWxsIFNTTF9nZXRfZXJyb3IoKSB3aXRoIHRoZQorIHJldHVybiB2YWx1ZSBC PHJldD4gdG8gZmluZCBvdXQgdGhlIHJlYXNvbi4KKyAKKy09aXRlbSAxCisrPWl0ZW0gQzwxPgor IAorIFRoZSBUTFMvU1NMIGhhbmRzaGFrZSB3YXMgc3VjY2Vzc2Z1bGx5IGNvbXBsZXRlZCwgYSBU TFMvU1NMIGNvbm5lY3Rpb24gaGFzIGJlZW4KKyBlc3RhYmxpc2hlZC4KK2RpZmYgLXVwIG9wZW5z c2wtMS4wLjFlL2RvYy9zc2wvU1NMX2NsZWFyLnBvZC5tYW5maXggb3BlbnNzbC0xLjAuMWUvZG9j L3NzbC9TU0xfY2xlYXIucG9kCistLS0gb3BlbnNzbC0xLjAuMWUvZG9jL3NzbC9TU0xfY2xlYXIu cG9kLm1hbmZpeAkyMDEzLTAyLTExIDE2OjAyOjQ4LjAwMDAwMDAwMCArMDEwMAorKysrIG9wZW5z c2wtMS4wLjFlL2RvYy9zc2wvU1NMX2NsZWFyLnBvZAkyMDEzLTA5LTEyIDExOjE3OjQyLjE1ODA5 MjU1MSArMDIwMAorQEAgLTU2LDEyICs1NiwxMiBAQCBUaGUgZm9sbG93aW5nIHJldHVybiB2YWx1 ZXMgY2FuIG9jY3VyOgorIAorID1vdmVyIDQKKyAKKy09aXRlbSAwCisrPWl0ZW0gQzwwPgorIAor IFRoZSBTU0xfY2xlYXIoKSBvcGVyYXRpb24gY291bGQgbm90IGJlIHBlcmZvcm1lZC4gQ2hlY2sg dGhlIGVycm9yIHN0YWNrIHRvCisgZmluZCBvdXQgdGhlIHJlYXNvbi4KKyAKKy09aXRlbSAxCisr PWl0ZW0gQzwxPgorIAorIFRoZSBTU0xfY2xlYXIoKSBvcGVyYXRpb24gd2FzIHN1Y2Nlc3NmdWwu CisgCitkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9kb2Mvc3NsL1NTTF9DT01QX2FkZF9jb21wcmVz c2lvbl9tZXRob2QucG9kLm1hbmZpeCBvcGVuc3NsLTEuMC4xZS9kb2Mvc3NsL1NTTF9DT01QX2Fk ZF9jb21wcmVzc2lvbl9tZXRob2QucG9kCistLS0gb3BlbnNzbC0xLjAuMWUvZG9jL3NzbC9TU0xf Q09NUF9hZGRfY29tcHJlc3Npb25fbWV0aG9kLnBvZC5tYW5maXgJMjAxMy0wOS0xMiAxMToxNzo0 Mi4wNDkwOTAxNjIgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9kb2Mvc3NsL1NTTF9DT01QX2Fk ZF9jb21wcmVzc2lvbl9tZXRob2QucG9kCTIwMTMtMDktMTIgMTE6MTc6NDIuMTU5MDkyNTczICsw MjAwCitAQCAtNjAsMTEgKzYwLDExIEBAIFNTTF9DT01QX2FkZF9jb21wcmVzc2lvbl9tZXRob2Qo KSBtYXkgcmUKKyAKKyA9b3ZlciA0CisgCistPWl0ZW0gMAorKz1pdGVtIEM8MD4KKyAKKyBUaGUg b3BlcmF0aW9uIHN1Y2NlZWRlZC4KKyAKKy09aXRlbSAxCisrPWl0ZW0gQzwxPgorIAorIFRoZSBv cGVyYXRpb24gZmFpbGVkLiBDaGVjayB0aGUgZXJyb3IgcXVldWUgdG8gZmluZCBvdXQgdGhlIHJl YXNvbi4KKyAKK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2RvYy9zc2wvU1NMX2Nvbm5lY3QucG9k Lm1hbmZpeCBvcGVuc3NsLTEuMC4xZS9kb2Mvc3NsL1NTTF9jb25uZWN0LnBvZAorLS0tIG9wZW5z c2wtMS4wLjFlL2RvYy9zc2wvU1NMX2Nvbm5lY3QucG9kLm1hbmZpeAkyMDEzLTA5LTEyIDExOjE3 OjQyLjEzMDA5MTkzNyArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2RvYy9zc2wvU1NMX2Nvbm5l Y3QucG9kCTIwMTMtMDktMTIgMTE6MTc6NDIuMTYxMDkyNjE2ICswMjAwCitAQCAtNDEsMTMgKzQx LDEzIEBAIFRoZSBmb2xsb3dpbmcgcmV0dXJuIHZhbHVlcyBjYW4gb2NjdXI6CisgCisgPW92ZXIg NAorIAorLT1pdGVtIDAKKys9aXRlbSBDPDA+CisgCisgVGhlIFRMUy9TU0wgaGFuZHNoYWtlIHdh cyBub3Qgc3VjY2Vzc2Z1bCBidXQgd2FzIHNodXQgZG93biBjb250cm9sbGVkIGFuZAorIGJ5IHRo ZSBzcGVjaWZpY2F0aW9ucyBvZiB0aGUgVExTL1NTTCBwcm90b2NvbC4gQ2FsbCBTU0xfZ2V0X2Vy cm9yKCkgd2l0aCB0aGUKKyByZXR1cm4gdmFsdWUgQjxyZXQ+IHRvIGZpbmQgb3V0IHRoZSByZWFz b24uCisgCistPWl0ZW0gMQorKz1pdGVtIEM8MT4KKyAKKyBUaGUgVExTL1NTTCBoYW5kc2hha2Ug d2FzIHN1Y2Nlc3NmdWxseSBjb21wbGV0ZWQsIGEgVExTL1NTTCBjb25uZWN0aW9uIGhhcyBiZWVu CisgZXN0YWJsaXNoZWQuCitkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9kb2Mvc3NsL1NTTF9DVFhf YWRkX3Nlc3Npb24ucG9kLm1hbmZpeCBvcGVuc3NsLTEuMC4xZS9kb2Mvc3NsL1NTTF9DVFhfYWRk X3Nlc3Npb24ucG9kCistLS0gb3BlbnNzbC0xLjAuMWUvZG9jL3NzbC9TU0xfQ1RYX2FkZF9zZXNz aW9uLnBvZC5tYW5maXgJMjAxMy0wMi0xMSAxNjowMjo0OC4wMDAwMDAwMDAgKzAxMDAKKysrKyBv cGVuc3NsLTEuMC4xZS9kb2Mvc3NsL1NTTF9DVFhfYWRkX3Nlc3Npb24ucG9kCTIwMTMtMDktMTIg MTE6MTc6NDIuMTYyMDkyNjM4ICswMjAwCitAQCAtNTIsMTMgKzUyLDEzIEBAIFRoZSBmb2xsb3dp bmcgdmFsdWVzIGFyZSByZXR1cm5lZCBieSBhbGwKKyAKKyA9b3ZlciA0CisgCistPWl0ZW0gMAor Kz1pdGVtIEM8MD4KKyAKKyAgVGhlIG9wZXJhdGlvbiBmYWlsZWQuIEluIGNhc2Ugb2YgdGhlIGFk ZCBvcGVyYXRpb24sIGl0IHdhcyB0cmllZCB0byBhZGQKKyAgdGhlIHNhbWUgKGlkZW50aWNhbCkg c2Vzc2lvbiB0d2ljZS4gSW4gY2FzZSBvZiB0aGUgcmVtb3ZlIG9wZXJhdGlvbiwgdGhlCisgIHNl c3Npb24gd2FzIG5vdCBmb3VuZCBpbiB0aGUgY2FjaGUuCisgCistPWl0ZW0gMQorKz1pdGVtIEM8 MT4KKyAgCisgIFRoZSBvcGVyYXRpb24gc3VjY2VlZGVkLgorIAorZGlmZiAtdXAgb3BlbnNzbC0x LjAuMWUvZG9jL3NzbC9TU0xfQ1RYX2xvYWRfdmVyaWZ5X2xvY2F0aW9ucy5wb2QubWFuZml4IG9w ZW5zc2wtMS4wLjFlL2RvYy9zc2wvU1NMX0NUWF9sb2FkX3ZlcmlmeV9sb2NhdGlvbnMucG9kCist LS0gb3BlbnNzbC0xLjAuMWUvZG9jL3NzbC9TU0xfQ1RYX2xvYWRfdmVyaWZ5X2xvY2F0aW9ucy5w b2QubWFuZml4CTIwMTMtMDItMTEgMTY6MDI6NDguMDAwMDAwMDAwICswMTAwCisrKysgb3BlbnNz bC0xLjAuMWUvZG9jL3NzbC9TU0xfQ1RYX2xvYWRfdmVyaWZ5X2xvY2F0aW9ucy5wb2QJMjAxMy0w OS0xMiAxMToxNzo0Mi4xNjMwOTI2NjAgKzAyMDAKK0BAIC0xMDAsMTMgKzEwMCwxMyBAQCBUaGUg Zm9sbG93aW5nIHJldHVybiB2YWx1ZXMgY2FuIG9jY3VyOgorIAorID1vdmVyIDQKKyAKKy09aXRl bSAwCisrPWl0ZW0gQzwwPgorIAorIFRoZSBvcGVyYXRpb24gZmFpbGVkIGJlY2F1c2UgQjxDQWZp bGU+IGFuZCBCPENBcGF0aD4gYXJlIE5VTEwgb3IgdGhlCisgcHJvY2Vzc2luZyBhdCBvbmUgb2Yg dGhlIGxvY2F0aW9ucyBzcGVjaWZpZWQgZmFpbGVkLiBDaGVjayB0aGUgZXJyb3IKKyBzdGFjayB0 byBmaW5kIG91dCB0aGUgcmVhc29uLgorIAorLT1pdGVtIDEKKys9aXRlbSBDPDE+CisgCisgVGhl IG9wZXJhdGlvbiBzdWNjZWVkZWQuCisgCitkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9kb2Mvc3Ns L1NTTF9DVFhfc2V0X2NsaWVudF9DQV9saXN0LnBvZC5tYW5maXggb3BlbnNzbC0xLjAuMWUvZG9j L3NzbC9TU0xfQ1RYX3NldF9jbGllbnRfQ0FfbGlzdC5wb2QKKy0tLSBvcGVuc3NsLTEuMC4xZS9k b2Mvc3NsL1NTTF9DVFhfc2V0X2NsaWVudF9DQV9saXN0LnBvZC5tYW5maXgJMjAxMy0wOS0xMiAx MToxNzo0Mi4xMzIwOTE5ODEgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9kb2Mvc3NsL1NTTF9D VFhfc2V0X2NsaWVudF9DQV9saXN0LnBvZAkyMDEzLTA5LTEyIDExOjE3OjQyLjE2NDA5MjY4MiAr MDIwMAorQEAgLTY2LDEzICs2NiwxMyBAQCB2YWx1ZXM6CisgCisgPW92ZXIgNAorIAorLT1pdGVt IDAKKys9aXRlbSBDPDA+CisgCisgQSBmYWlsdXJlIHdoaWxlIG1hbmlwdWxhdGluZyB0aGUgU1RB Q0tfT0YoWDUwOV9OQU1FKSBvYmplY3Qgb2NjdXJyZWQgb3IKKyB0aGUgWDUwOV9OQU1FIGNvdWxk IG5vdCBiZSBleHRyYWN0ZWQgZnJvbSBCPGNhY2VydD4uIENoZWNrIHRoZSBlcnJvciBzdGFjawor IHRvIGZpbmQgb3V0IHRoZSByZWFzb24uCisgCistPWl0ZW0gMQorKz1pdGVtIEM8MT4KKyAKKyBU aGUgb3BlcmF0aW9uIHN1Y2NlZWRlZC4KKyAKK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2RvYy9z c2wvU1NMX0NUWF9zZXRfc2Vzc2lvbl9pZF9jb250ZXh0LnBvZC5tYW5maXggb3BlbnNzbC0xLjAu MWUvZG9jL3NzbC9TU0xfQ1RYX3NldF9zZXNzaW9uX2lkX2NvbnRleHQucG9kCistLS0gb3BlbnNz bC0xLjAuMWUvZG9jL3NzbC9TU0xfQ1RYX3NldF9zZXNzaW9uX2lkX2NvbnRleHQucG9kLm1hbmZp eAkyMDEzLTAyLTExIDE2OjAyOjQ4LjAwMDAwMDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4wLjFl L2RvYy9zc2wvU1NMX0NUWF9zZXRfc2Vzc2lvbl9pZF9jb250ZXh0LnBvZAkyMDEzLTA5LTEyIDEx OjE3OjQyLjE2NjA5MjcyNiArMDIwMAorQEAgLTY0LDEzICs2NCwxMyBAQCByZXR1cm4gdGhlIGZv bGxvd2luZyB2YWx1ZXM6CisgCisgPW92ZXIgNAorIAorLT1pdGVtIDAKKys9aXRlbSBDPDA+Cisg CisgVGhlIGxlbmd0aCBCPHNpZF9jdHhfbGVuPiBvZiB0aGUgc2Vzc2lvbiBpZCBjb250ZXh0IEI8 c2lkX2N0eD4gZXhjZWVkZWQKKyB0aGUgbWF4aW11bSBhbGxvd2VkIGxlbmd0aCBvZiBCPFNTTF9N QVhfU1NMX1NFU1NJT05fSURfTEVOR1RIPi4gVGhlIGVycm9yCisgaXMgbG9nZ2VkIHRvIHRoZSBl cnJvciBzdGFjay4KKyAKKy09aXRlbSAxCisrPWl0ZW0gQzwxPgorIAorIFRoZSBvcGVyYXRpb24g c3VjY2VlZGVkLgorIAorZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvZG9jL3NzbC9TU0xfQ1RYX3Nl dF9zc2xfdmVyc2lvbi5wb2QubWFuZml4IG9wZW5zc2wtMS4wLjFlL2RvYy9zc2wvU1NMX0NUWF9z ZXRfc3NsX3ZlcnNpb24ucG9kCistLS0gb3BlbnNzbC0xLjAuMWUvZG9jL3NzbC9TU0xfQ1RYX3Nl dF9zc2xfdmVyc2lvbi5wb2QubWFuZml4CTIwMTMtMDItMTEgMTY6MjY6MDQuMDAwMDAwMDAwICsw MTAwCisrKysgb3BlbnNzbC0xLjAuMWUvZG9jL3NzbC9TU0xfQ1RYX3NldF9zc2xfdmVyc2lvbi5w b2QJMjAxMy0wOS0xMiAxMToxNzo0Mi4xNjcwOTI3NDggKzAyMDAKK0BAIC00MiwxMSArNDIsMTEg QEAgYW5kIFNTTF9zZXRfc3NsX21ldGhvZCgpOgorIAorID1vdmVyIDQKKyAKKy09aXRlbSAwCisr PWl0ZW0gQzwwPgorIAorIFRoZSBuZXcgY2hvaWNlIGZhaWxlZCwgY2hlY2sgdGhlIGVycm9yIHN0 YWNrIHRvIGZpbmQgb3V0IHRoZSByZWFzb24uCisgCistPWl0ZW0gMQorKz1pdGVtIEM8MT4KKyAK KyBUaGUgb3BlcmF0aW9uIHN1Y2NlZWRlZC4KKyAKK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2Rv Yy9zc2wvU1NMX0NUWF91c2VfcHNrX2lkZW50aXR5X2hpbnQucG9kLm1hbmZpeCBvcGVuc3NsLTEu MC4xZS9kb2Mvc3NsL1NTTF9DVFhfdXNlX3Bza19pZGVudGl0eV9oaW50LnBvZAorLS0tIG9wZW5z c2wtMS4wLjFlL2RvYy9zc2wvU1NMX0NUWF91c2VfcHNrX2lkZW50aXR5X2hpbnQucG9kLm1hbmZp eAkyMDEzLTA5LTEyIDExOjE3OjQyLjEzMzA5MjAwMyArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFl L2RvYy9zc2wvU1NMX0NUWF91c2VfcHNrX2lkZW50aXR5X2hpbnQucG9kCTIwMTMtMDktMTIgMTE6 MTc6NDIuMTY4MDkyNzcwICswMjAwCitAQCAtOTYsNyArOTYsNyBAQCBkYXRhIHRvIEI8cHNrPiBh bmQgcmV0dXJuIHRoZSBsZW5ndGggb2YKKyBjb25uZWN0aW9uIHdpbGwgZmFpbCB3aXRoIGRlY3J5 cHRpb25fZXJyb3IgYmVmb3JlIGl0IHdpbGwgYmUgZmluaXNoZWQKKyBjb21wbGV0ZWx5LgorIAor LT1pdGVtIDAKKys9aXRlbSBDPDA+CisgCisgUFNLIGlkZW50aXR5IHdhcyBub3QgZm91bmQuIEFu ICJ1bmtub3duX3Bza19pZGVudGl0eSIgYWxlcnQgbWVzc2FnZQorIHdpbGwgYmUgc2VudCBhbmQg dGhlIGNvbm5lY3Rpb24gc2V0dXAgZmFpbHMuCitkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9kb2Mv c3NsL1NTTF9kb19oYW5kc2hha2UucG9kLm1hbmZpeCBvcGVuc3NsLTEuMC4xZS9kb2Mvc3NsL1NT TF9kb19oYW5kc2hha2UucG9kCistLS0gb3BlbnNzbC0xLjAuMWUvZG9jL3NzbC9TU0xfZG9faGFu ZHNoYWtlLnBvZC5tYW5maXgJMjAxMy0wOS0xMiAxMToxNzo0Mi4xMzUwOTIwNDcgKzAyMDAKKysr KyBvcGVuc3NsLTEuMC4xZS9kb2Mvc3NsL1NTTF9kb19oYW5kc2hha2UucG9kCTIwMTMtMDktMTIg MTE6MTc6NDIuMTcwMDkyODE0ICswMjAwCitAQCAtNDUsMTMgKzQ1LDEzIEBAIFRoZSBmb2xsb3dp bmcgcmV0dXJuIHZhbHVlcyBjYW4gb2NjdXI6CisgCisgPW92ZXIgNAorIAorLT1pdGVtIDAKKys9 aXRlbSBDPDA+CisgCisgVGhlIFRMUy9TU0wgaGFuZHNoYWtlIHdhcyBub3Qgc3VjY2Vzc2Z1bCBi dXQgd2FzIHNodXQgZG93biBjb250cm9sbGVkIGFuZAorIGJ5IHRoZSBzcGVjaWZpY2F0aW9ucyBv ZiB0aGUgVExTL1NTTCBwcm90b2NvbC4gQ2FsbCBTU0xfZ2V0X2Vycm9yKCkgd2l0aCB0aGUKKyBy ZXR1cm4gdmFsdWUgQjxyZXQ+IHRvIGZpbmQgb3V0IHRoZSByZWFzb24uCisgCistPWl0ZW0gMQor Kz1pdGVtIEM8MT4KKyAKKyBUaGUgVExTL1NTTCBoYW5kc2hha2Ugd2FzIHN1Y2Nlc3NmdWxseSBj b21wbGV0ZWQsIGEgVExTL1NTTCBjb25uZWN0aW9uIGhhcyBiZWVuCisgZXN0YWJsaXNoZWQuCitk aWZmIC11cCBvcGVuc3NsLTEuMC4xZS9kb2Mvc3NsL1NTTF9yZWFkLnBvZC5tYW5maXggb3BlbnNz bC0xLjAuMWUvZG9jL3NzbC9TU0xfcmVhZC5wb2QKKy0tLSBvcGVuc3NsLTEuMC4xZS9kb2Mvc3Ns L1NTTF9yZWFkLnBvZC5tYW5maXgJMjAxMy0wMi0xMSAxNjowMjo0OC4wMDAwMDAwMDAgKzAxMDAK KysrKyBvcGVuc3NsLTEuMC4xZS9kb2Mvc3NsL1NTTF9yZWFkLnBvZAkyMDEzLTA5LTEyIDExOjE3 OjQyLjE3MTA5MjgzNiArMDIwMAorQEAgLTg2LDcgKzg2LDcgQEAgVGhlIGZvbGxvd2luZyByZXR1 cm4gdmFsdWVzIGNhbiBvY2N1cjoKKyBUaGUgcmVhZCBvcGVyYXRpb24gd2FzIHN1Y2Nlc3NmdWw7 IHRoZSByZXR1cm4gdmFsdWUgaXMgdGhlIG51bWJlciBvZgorIGJ5dGVzIGFjdHVhbGx5IHJlYWQg ZnJvbSB0aGUgVExTL1NTTCBjb25uZWN0aW9uLgorIAorLT1pdGVtIDAKKys9aXRlbSBDPDA+Cisg CisgVGhlIHJlYWQgb3BlcmF0aW9uIHdhcyBub3Qgc3VjY2Vzc2Z1bC4gVGhlIHJlYXNvbiBtYXkg ZWl0aGVyIGJlIGEgY2xlYW4KKyBzaHV0ZG93biBkdWUgdG8gYSAiY2xvc2Ugbm90aWZ5IiBhbGVy dCBzZW50IGJ5IHRoZSBwZWVyIChpbiB3aGljaCBjYXNlCitkaWZmIC11cCBvcGVuc3NsLTEuMC4x ZS9kb2Mvc3NsL1NTTF9zZXNzaW9uX3JldXNlZC5wb2QubWFuZml4IG9wZW5zc2wtMS4wLjFlL2Rv Yy9zc2wvU1NMX3Nlc3Npb25fcmV1c2VkLnBvZAorLS0tIG9wZW5zc2wtMS4wLjFlL2RvYy9zc2wv U1NMX3Nlc3Npb25fcmV1c2VkLnBvZC5tYW5maXgJMjAxMy0wMi0xMSAxNjowMjo0OC4wMDAwMDAw MDAgKzAxMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9kb2Mvc3NsL1NTTF9zZXNzaW9uX3JldXNlZC5w b2QJMjAxMy0wOS0xMiAxMToxNzo0Mi4xNzIwOTI4NTcgKzAyMDAKK0BAIC0yNywxMSArMjcsMTEg QEAgVGhlIGZvbGxvd2luZyByZXR1cm4gdmFsdWVzIGNhbiBvY2N1cjoKKyAKKyA9b3ZlciA0Cisg CistPWl0ZW0gMAorKz1pdGVtIEM8MD4KKyAKKyBBIG5ldyBzZXNzaW9uIHdhcyBuZWdvdGlhdGVk LgorIAorLT1pdGVtIDEKKys9aXRlbSBDPDE+CisgCisgQSBzZXNzaW9uIHdhcyByZXVzZWQuCisg CitkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9kb2Mvc3NsL1NTTF9zZXRfZmQucG9kLm1hbmZpeCBv cGVuc3NsLTEuMC4xZS9kb2Mvc3NsL1NTTF9zZXRfZmQucG9kCistLS0gb3BlbnNzbC0xLjAuMWUv ZG9jL3NzbC9TU0xfc2V0X2ZkLnBvZC5tYW5maXgJMjAxMy0wMi0xMSAxNjowMjo0OC4wMDAwMDAw MDAgKzAxMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9kb2Mvc3NsL1NTTF9zZXRfZmQucG9kCTIwMTMt MDktMTIgMTE6MTc6NDIuMTc0MDkyOTAxICswMjAwCitAQCAtMzUsMTEgKzM1LDExIEBAIFRoZSBm b2xsb3dpbmcgcmV0dXJuIHZhbHVlcyBjYW4gb2NjdXI6CisgCisgPW92ZXIgNAorIAorLT1pdGVt IDAKKys9aXRlbSBDPDA+CisgCisgVGhlIG9wZXJhdGlvbiBmYWlsZWQuIENoZWNrIHRoZSBlcnJv ciBzdGFjayB0byBmaW5kIG91dCB3aHkuCisgCistPWl0ZW0gMQorKz1pdGVtIEM8MT4KKyAKKyBU aGUgb3BlcmF0aW9uIHN1Y2NlZWRlZC4KKyAKK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2RvYy9z c2wvU1NMX3NldF9zZXNzaW9uLnBvZC5tYW5maXggb3BlbnNzbC0xLjAuMWUvZG9jL3NzbC9TU0xf c2V0X3Nlc3Npb24ucG9kCistLS0gb3BlbnNzbC0xLjAuMWUvZG9jL3NzbC9TU0xfc2V0X3Nlc3Np b24ucG9kLm1hbmZpeAkyMDEzLTAyLTExIDE2OjAyOjQ4LjAwMDAwMDAwMCArMDEwMAorKysrIG9w ZW5zc2wtMS4wLjFlL2RvYy9zc2wvU1NMX3NldF9zZXNzaW9uLnBvZAkyMDEzLTA5LTEyIDExOjE3 OjQyLjE3NTA5MjkyMyArMDIwMAorQEAgLTM3LDExICszNywxMSBAQCBUaGUgZm9sbG93aW5nIHJl dHVybiB2YWx1ZXMgY2FuIG9jY3VyOgorIAorID1vdmVyIDQKKyAKKy09aXRlbSAwCisrPWl0ZW0g QzwwPgorIAorIFRoZSBvcGVyYXRpb24gZmFpbGVkOyBjaGVjayB0aGUgZXJyb3Igc3RhY2sgdG8g ZmluZCBvdXQgdGhlIHJlYXNvbi4KKyAKKy09aXRlbSAxCisrPWl0ZW0gQzwxPgorIAorIFRoZSBv cGVyYXRpb24gc3VjY2VlZGVkLgorIAorZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvZG9jL3NzbC9T U0xfc2h1dGRvd24ucG9kLm1hbmZpeCBvcGVuc3NsLTEuMC4xZS9kb2Mvc3NsL1NTTF9zaHV0ZG93 bi5wb2QKKy0tLSBvcGVuc3NsLTEuMC4xZS9kb2Mvc3NsL1NTTF9zaHV0ZG93bi5wb2QubWFuZml4 CTIwMTMtMDktMTIgMTE6MTc6NDIuMTM3MDkyMDkwICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUv ZG9jL3NzbC9TU0xfc2h1dGRvd24ucG9kCTIwMTMtMDktMTIgMTE6MTc6NDIuMTc3MDkyOTY3ICsw MjAwCitAQCAtOTIsMTQgKzkyLDE0IEBAIFRoZSBmb2xsb3dpbmcgcmV0dXJuIHZhbHVlcyBjYW4g b2NjdXI6CisgCisgPW92ZXIgNAorIAorLT1pdGVtIDAKKys9aXRlbSBDPDA+CisgCisgVGhlIHNo dXRkb3duIGlzIG5vdCB5ZXQgZmluaXNoZWQuIENhbGwgU1NMX3NodXRkb3duKCkgZm9yIGEgc2Vj b25kIHRpbWUsCisgaWYgYSBiaWRpcmVjdGlvbmFsIHNodXRkb3duIHNoYWxsIGJlIHBlcmZvcm1l ZC4KKyBUaGUgb3V0cHV0IG9mIEw8U1NMX2dldF9lcnJvcigzKXxTU0xfZ2V0X2Vycm9yKDMpPiBt YXkgYmUgbWlzbGVhZGluZywgYXMgYW4KKyBlcnJvbmVvdXMgU1NMX0VSUk9SX1NZU0NBTEwgbWF5 IGJlIGZsYWdnZWQgZXZlbiB0aG91Z2ggbm8gZXJyb3Igb2NjdXJyZWQuCisgCistPWl0ZW0gMQor Kz1pdGVtIEM8MT4KKyAKKyBUaGUgc2h1dGRvd24gd2FzIHN1Y2Nlc3NmdWxseSBjb21wbGV0ZWQu IFRoZSAiY2xvc2Ugbm90aWZ5IiBhbGVydCB3YXMgc2VudAorIGFuZCB0aGUgcGVlcidzICJjbG9z ZSBub3RpZnkiIGFsZXJ0IHdhcyByZWNlaXZlZC4KK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2Rv Yy9zc2wvU1NMX3dyaXRlLnBvZC5tYW5maXggb3BlbnNzbC0xLjAuMWUvZG9jL3NzbC9TU0xfd3Jp dGUucG9kCistLS0gb3BlbnNzbC0xLjAuMWUvZG9jL3NzbC9TU0xfd3JpdGUucG9kLm1hbmZpeAky MDEzLTAyLTExIDE2OjAyOjQ4LjAwMDAwMDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4wLjFlL2Rv Yy9zc2wvU1NMX3dyaXRlLnBvZAkyMDEzLTA5LTEyIDExOjE3OjQyLjE3NzA5Mjk2NyArMDIwMAor QEAgLTc5LDcgKzc5LDcgQEAgVGhlIGZvbGxvd2luZyByZXR1cm4gdmFsdWVzIGNhbiBvY2N1cjoK KyBUaGUgd3JpdGUgb3BlcmF0aW9uIHdhcyBzdWNjZXNzZnVsLCB0aGUgcmV0dXJuIHZhbHVlIGlz IHRoZSBudW1iZXIgb2YKKyBieXRlcyBhY3R1YWxseSB3cml0dGVuIHRvIHRoZSBUTFMvU1NMIGNv bm5lY3Rpb24uCisgCistPWl0ZW0gMAorKz1pdGVtIEM8MD4KKyAKKyBUaGUgd3JpdGUgb3BlcmF0 aW9uIHdhcyBub3Qgc3VjY2Vzc2Z1bC4gUHJvYmFibHkgdGhlIHVuZGVybHlpbmcgY29ubmVjdGlv bgorIHdhcyBjbG9zZWQuIENhbGwgU1NMX2dldF9lcnJvcigpIHdpdGggdGhlIHJldHVybiB2YWx1 ZSBCPHJldD4gdG8gZmluZCBvdXQsCgpkaWZmIC0tZ2l0IGEvb3BlbnNzbC0xLjAuMWUtc3BlZWQt c3VpdGViLnBhdGNoIGIvb3BlbnNzbC0xLjAuMWUtc3BlZWQtc3VpdGViLnBhdGNoCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE1MTM1ZDMKLS0tIC9kZXYvbnVsbAorKysgYi9v cGVuc3NsLTEuMC4xZS1zcGVlZC1zdWl0ZWIucGF0Y2gKQEAgLTAsMCArMSw4OSBAQAorZGlmZiAt dXAgb3BlbnNzbC0xLjAuMWUvYXBwcy9zcGVlZC5jLnN1aXRlYiBvcGVuc3NsLTEuMC4xZS9hcHBz L3NwZWVkLmMKKy0tLSBvcGVuc3NsLTEuMC4xZS9hcHBzL3NwZWVkLmMuc3VpdGViCTIwMTMtMDkt MjcgMTU6NTc6MDkuOTQ3ODk0MzA3ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvYXBwcy9zcGVl ZC5jCTIwMTMtMDktMjcgMTU6NTc6NTIuNTI4ODUyODA0ICswMjAwCitAQCAtOTY2LDQ5ICs5NjYs MjEgQEAgaW50IE1BSU4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorIAkJZWxzZQorICNlbmRpZgor ICNpZm5kZWYgT1BFTlNTTF9OT19FQ0RTQQorLQkJICAgICBpZiAoc3RyY21wKCphcmd2LCJlY2Rz YXAxNjAiKSA9PSAwKSBlY2RzYV9kb2l0W1JfRUNfUDE2MF09MjsKKy0JCWVsc2UgaWYgKHN0cmNt cCgqYXJndiwiZWNkc2FwMTkyIikgPT0gMCkgZWNkc2FfZG9pdFtSX0VDX1AxOTJdPTI7CistCQll bHNlIGlmIChzdHJjbXAoKmFyZ3YsImVjZHNhcDIyNCIpID09IDApIGVjZHNhX2RvaXRbUl9FQ19Q MjI0XT0yOworLQkJZWxzZSBpZiAoc3RyY21wKCphcmd2LCJlY2RzYXAyNTYiKSA9PSAwKSBlY2Rz YV9kb2l0W1JfRUNfUDI1Nl09MjsKKysJCWlmIChzdHJjbXAoKmFyZ3YsImVjZHNhcDI1NiIpID09 IDApIGVjZHNhX2RvaXRbUl9FQ19QMjU2XT0yOworIAkJZWxzZSBpZiAoc3RyY21wKCphcmd2LCJl Y2RzYXAzODQiKSA9PSAwKSBlY2RzYV9kb2l0W1JfRUNfUDM4NF09MjsKKy0JCWVsc2UgaWYgKHN0 cmNtcCgqYXJndiwiZWNkc2FwNTIxIikgPT0gMCkgZWNkc2FfZG9pdFtSX0VDX1A1MjFdPTI7Cist CQllbHNlIGlmIChzdHJjbXAoKmFyZ3YsImVjZHNhazE2MyIpID09IDApIGVjZHNhX2RvaXRbUl9F Q19LMTYzXT0yOworLQkJZWxzZSBpZiAoc3RyY21wKCphcmd2LCJlY2RzYWsyMzMiKSA9PSAwKSBl Y2RzYV9kb2l0W1JfRUNfSzIzM109MjsKKy0JCWVsc2UgaWYgKHN0cmNtcCgqYXJndiwiZWNkc2Fr MjgzIikgPT0gMCkgZWNkc2FfZG9pdFtSX0VDX0syODNdPTI7CistCQllbHNlIGlmIChzdHJjbXAo KmFyZ3YsImVjZHNhazQwOSIpID09IDApIGVjZHNhX2RvaXRbUl9FQ19LNDA5XT0yOworLQkJZWxz ZSBpZiAoc3RyY21wKCphcmd2LCJlY2RzYWs1NzEiKSA9PSAwKSBlY2RzYV9kb2l0W1JfRUNfSzU3 MV09MjsKKy0JCWVsc2UgaWYgKHN0cmNtcCgqYXJndiwiZWNkc2FiMTYzIikgPT0gMCkgZWNkc2Ff ZG9pdFtSX0VDX0IxNjNdPTI7CistCQllbHNlIGlmIChzdHJjbXAoKmFyZ3YsImVjZHNhYjIzMyIp ID09IDApIGVjZHNhX2RvaXRbUl9FQ19CMjMzXT0yOworLQkJZWxzZSBpZiAoc3RyY21wKCphcmd2 LCJlY2RzYWIyODMiKSA9PSAwKSBlY2RzYV9kb2l0W1JfRUNfQjI4M109MjsKKy0JCWVsc2UgaWYg KHN0cmNtcCgqYXJndiwiZWNkc2FiNDA5IikgPT0gMCkgZWNkc2FfZG9pdFtSX0VDX0I0MDldPTI7 CistCQllbHNlIGlmIChzdHJjbXAoKmFyZ3YsImVjZHNhYjU3MSIpID09IDApIGVjZHNhX2RvaXRb Ul9FQ19CNTcxXT0yOworIAkJZWxzZSBpZiAoc3RyY21wKCphcmd2LCJlY2RzYSIpID09IDApCisg CQkJeworLQkJCWZvciAoaT0wOyBpIDwgRUNfTlVNOyBpKyspCisrCQkJZm9yIChpPVJfRUNfUDI1 NjsgaSA8PSBSX0VDX1AzODQ7IGkrKykKKyAJCQkJZWNkc2FfZG9pdFtpXT0xOworIAkJCX0KKyAJ CWVsc2UKKyAjZW5kaWYKKyAjaWZuZGVmIE9QRU5TU0xfTk9fRUNESAorLQkJICAgICBpZiAoc3Ry Y21wKCphcmd2LCJlY2RocDE2MCIpID09IDApIGVjZGhfZG9pdFtSX0VDX1AxNjBdPTI7CistCQll bHNlIGlmIChzdHJjbXAoKmFyZ3YsImVjZGhwMTkyIikgPT0gMCkgZWNkaF9kb2l0W1JfRUNfUDE5 Ml09MjsKKy0JCWVsc2UgaWYgKHN0cmNtcCgqYXJndiwiZWNkaHAyMjQiKSA9PSAwKSBlY2RoX2Rv aXRbUl9FQ19QMjI0XT0yOworLQkJZWxzZSBpZiAoc3RyY21wKCphcmd2LCJlY2RocDI1NiIpID09 IDApIGVjZGhfZG9pdFtSX0VDX1AyNTZdPTI7CisrCQlpZiAoc3RyY21wKCphcmd2LCJlY2RocDI1 NiIpID09IDApIGVjZGhfZG9pdFtSX0VDX1AyNTZdPTI7CisgCQllbHNlIGlmIChzdHJjbXAoKmFy Z3YsImVjZGhwMzg0IikgPT0gMCkgZWNkaF9kb2l0W1JfRUNfUDM4NF09MjsKKy0JCWVsc2UgaWYg KHN0cmNtcCgqYXJndiwiZWNkaHA1MjEiKSA9PSAwKSBlY2RoX2RvaXRbUl9FQ19QNTIxXT0yOwor LQkJZWxzZSBpZiAoc3RyY21wKCphcmd2LCJlY2RoazE2MyIpID09IDApIGVjZGhfZG9pdFtSX0VD X0sxNjNdPTI7CistCQllbHNlIGlmIChzdHJjbXAoKmFyZ3YsImVjZGhrMjMzIikgPT0gMCkgZWNk aF9kb2l0W1JfRUNfSzIzM109MjsKKy0JCWVsc2UgaWYgKHN0cmNtcCgqYXJndiwiZWNkaGsyODMi KSA9PSAwKSBlY2RoX2RvaXRbUl9FQ19LMjgzXT0yOworLQkJZWxzZSBpZiAoc3RyY21wKCphcmd2 LCJlY2RoazQwOSIpID09IDApIGVjZGhfZG9pdFtSX0VDX0s0MDldPTI7CistCQllbHNlIGlmIChz dHJjbXAoKmFyZ3YsImVjZGhrNTcxIikgPT0gMCkgZWNkaF9kb2l0W1JfRUNfSzU3MV09MjsKKy0J CWVsc2UgaWYgKHN0cmNtcCgqYXJndiwiZWNkaGIxNjMiKSA9PSAwKSBlY2RoX2RvaXRbUl9FQ19C MTYzXT0yOworLQkJZWxzZSBpZiAoc3RyY21wKCphcmd2LCJlY2RoYjIzMyIpID09IDApIGVjZGhf ZG9pdFtSX0VDX0IyMzNdPTI7CistCQllbHNlIGlmIChzdHJjbXAoKmFyZ3YsImVjZGhiMjgzIikg PT0gMCkgZWNkaF9kb2l0W1JfRUNfQjI4M109MjsKKy0JCWVsc2UgaWYgKHN0cmNtcCgqYXJndiwi ZWNkaGI0MDkiKSA9PSAwKSBlY2RoX2RvaXRbUl9FQ19CNDA5XT0yOworLQkJZWxzZSBpZiAoc3Ry Y21wKCphcmd2LCJlY2RoYjU3MSIpID09IDApIGVjZGhfZG9pdFtSX0VDX0I1NzFdPTI7CisgCQll bHNlIGlmIChzdHJjbXAoKmFyZ3YsImVjZGgiKSA9PSAwKQorIAkJCXsKKy0JCQlmb3IgKGk9MDsg aSA8IEVDX05VTTsgaSsrKQorKwkJCWZvciAoaT1SX0VDX1AyNTY7IGkgPD0gUl9FQ19QMzg0OyBp KyspCisgCQkJCWVjZGhfZG9pdFtpXT0xOworIAkJCX0KKyAJCWVsc2UKK0BAIC0xMDk3LDE1ICsx MDY5LDExIEBAIGludCBNQUlOKGludCBhcmdjLCBjaGFyICoqYXJndikKKyAJCQlCSU9fcHJpbnRm KGJpb19lcnIsImRzYTUxMiAgIGRzYTEwMjQgIGRzYTIwNDhcbiIpOworICNlbmRpZgorICNpZm5k ZWYgT1BFTlNTTF9OT19FQ0RTQQorLQkJCUJJT19wcmludGYoYmlvX2VyciwiZWNkc2FwMTYwIGVj ZHNhcDE5MiBlY2RzYXAyMjQgZWNkc2FwMjU2IGVjZHNhcDM4NCBlY2RzYXA1MjFcbiIpOworLQkJ CUJJT19wcmludGYoYmlvX2VyciwiZWNkc2FrMTYzIGVjZHNhazIzMyBlY2RzYWsyODMgZWNkc2Fr NDA5IGVjZHNhazU3MVxuIik7CistCQkJQklPX3ByaW50ZihiaW9fZXJyLCJlY2RzYWIxNjMgZWNk c2FiMjMzIGVjZHNhYjI4MyBlY2RzYWI0MDkgZWNkc2FiNTcxXG4iKTsKKysJCQlCSU9fcHJpbnRm KGJpb19lcnIsImVjZHNhcDI1NiBlY2RzYXAzODRcbiIpOworIAkJCUJJT19wcmludGYoYmlvX2Vy ciwiZWNkc2FcbiIpOworICNlbmRpZgorICNpZm5kZWYgT1BFTlNTTF9OT19FQ0RICistCQkJQklP X3ByaW50ZihiaW9fZXJyLCJlY2RocDE2MCAgZWNkaHAxOTIgIGVjZGhwMjI0ICBlY2RocDI1NiAg ZWNkaHAzODQgIGVjZGhwNTIxXG4iKTsKKy0JCQlCSU9fcHJpbnRmKGJpb19lcnIsImVjZGhrMTYz ICBlY2RoazIzMyAgZWNkaGsyODMgIGVjZGhrNDA5ICBlY2RoazU3MVxuIik7CistCQkJQklPX3By aW50ZihiaW9fZXJyLCJlY2RoYjE2MyAgZWNkaGIyMzMgIGVjZGhiMjgzICBlY2RoYjQwOSAgZWNk aGI1NzFcbiIpOworKwkJCUJJT19wcmludGYoYmlvX2VyciwiZWNkaHAyNTYgIGVjZGhwMzg0XG4i KTsKKyAJCQlCSU9fcHJpbnRmKGJpb19lcnIsImVjZGhcbiIpOworICNlbmRpZgorIAorQEAgLTEx ODEsMTEgKzExNDksMTEgQEAgaW50IE1BSU4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorIAkJICAg IGlmICghRklQU19tb2RlKCkgfHwgaSAhPSBSX0RTQV81MTIpCisgCQkJZHNhX2RvaXRbaV09MTsK KyAjaWZuZGVmIE9QRU5TU0xfTk9fRUNEU0EKKy0JCWZvciAoaT0wOyBpPEVDX05VTTsgaSsrKQor KwkJZm9yIChpPVJfRUNfUDI1NjsgaSA8PSBSX0VDX1AzODQ7IGkrKykKKyAJCQllY2RzYV9kb2l0 W2ldPTE7CisgI2VuZGlmCisgI2lmbmRlZiBPUEVOU1NMX05PX0VDREgKKy0JCWZvciAoaT0wOyBp PEVDX05VTTsgaSsrKQorKwkJZm9yIChpPVJfRUNfUDI1NjsgaSA8PSBSX0VDX1AzODQ7IGkrKykK KyAJCQllY2RoX2RvaXRbaV09MTsKKyAjZW5kaWYKKyAJCX0KCmRpZmYgLS1naXQgYS9vcGVuc3Ns LTEuMC4xZS10cnVzdGVkLWZpcnN0LnBhdGNoIGIvb3BlbnNzbC0xLjAuMWUtdHJ1c3RlZC1maXJz dC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOGFiNjM5Ci0tLSAv ZGV2L251bGwKKysrIGIvb3BlbnNzbC0xLjAuMWUtdHJ1c3RlZC1maXJzdC5wYXRjaApAQCAtMCww ICsxLDMzMCBAQAorZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvYXBwcy9hcHBzLmMudHJ1c3RlZC1m aXJzdCBvcGVuc3NsLTEuMC4xZS9hcHBzL2FwcHMuYworLS0tIG9wZW5zc2wtMS4wLjFlL2FwcHMv YXBwcy5jLnRydXN0ZWQtZmlyc3QJMjAxMy0wMi0xMSAxNjoyNjowNC4wMDAwMDAwMDAgKzAxMDAK KysrKyBvcGVuc3NsLTEuMC4xZS9hcHBzL2FwcHMuYwkyMDEzLTA4LTE2IDE1OjQyOjM5LjkyMDUz NDc2OSArMDIwMAorQEAgLTIzNjEsNiArMjM2MSw4IEBAIGludCBhcmdzX3ZlcmlmeShjaGFyICoq KnBhcmdzLCBpbnQgKnBhcmcKKyAJCWZsYWdzIHw9IFg1MDlfVl9GTEFHX05PVElGWV9QT0xJQ1k7 CisgCWVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLWNoZWNrX3NzX3NpZyIpKQorIAkJZmxhZ3MgfD0g WDUwOV9WX0ZMQUdfQ0hFQ0tfU1NfU0lHTkFUVVJFOworKwllbHNlIGlmICghc3RyY21wKGFyZywg Ii10cnVzdGVkX2ZpcnN0IikpCisrCQlmbGFncyB8PSBYNTA5X1ZfRkxBR19UUlVTVEVEX0ZJUlNU OworIAllbHNlCisgCQlyZXR1cm4gMDsKKyAKK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2FwcHMv Y21zLmMudHJ1c3RlZC1maXJzdCBvcGVuc3NsLTEuMC4xZS9hcHBzL2Ntcy5jCistLS0gb3BlbnNz bC0xLjAuMWUvYXBwcy9jbXMuYy50cnVzdGVkLWZpcnN0CTIwMTMtMDItMTEgMTY6MjY6MDQuMDAw MDAwMDAwICswMTAwCisrKysgb3BlbnNzbC0xLjAuMWUvYXBwcy9jbXMuYwkyMDEzLTA4LTE2IDE1 OjQzOjU2LjY3MTIxMzg3OSArMDIwMAorQEAgLTY0Miw2ICs2NDIsNyBAQCBpbnQgTUFJTihpbnQg YXJnYywgY2hhciAqKmFyZ3YpCisgCQlCSU9fcHJpbnRmIChiaW9fZXJyLCAiLXRleHQgICAgICAg ICAgaW5jbHVkZSBvciBkZWxldGUgdGV4dCBNSU1FIGhlYWRlcnNcbiIpOworIAkJQklPX3ByaW50 ZiAoYmlvX2VyciwgIi1DQXBhdGggZGlyICAgIHRydXN0ZWQgY2VydGlmaWNhdGVzIGRpcmVjdG9y eVxuIik7CisgCQlCSU9fcHJpbnRmIChiaW9fZXJyLCAiLUNBZmlsZSBmaWxlICAgdHJ1c3RlZCBj ZXJ0aWZpY2F0ZXMgZmlsZVxuIik7CisrCQlCSU9fcHJpbnRmIChiaW9fZXJyLCAiLXRydXN0ZWRf Zmlyc3QgdXNlIHRydXN0ZWQgY2VydGlmaWNhdGVzIGZpcnN0IHdoZW4gYnVpbGRpbmcgdGhlIHRy dXN0IGNoYWluXG4iKTsKKyAJCUJJT19wcmludGYgKGJpb19lcnIsICItY3JsX2NoZWNrICAgICBj aGVjayByZXZvY2F0aW9uIHN0YXR1cyBvZiBzaWduZXIncyBjZXJ0aWZpY2F0ZSB1c2luZyBDUkxz XG4iKTsKKyAJCUJJT19wcmludGYgKGJpb19lcnIsICItY3JsX2NoZWNrX2FsbCBjaGVjayByZXZv Y2F0aW9uIHN0YXR1cyBvZiBzaWduZXIncyBjZXJ0aWZpY2F0ZSBjaGFpbiB1c2luZyBDUkxzXG4i KTsKKyAjaWZuZGVmIE9QRU5TU0xfTk9fRU5HSU5FCitkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9h cHBzL29jc3AuYy50cnVzdGVkLWZpcnN0IG9wZW5zc2wtMS4wLjFlL2FwcHMvb2NzcC5jCistLS0g b3BlbnNzbC0xLjAuMWUvYXBwcy9vY3NwLmMudHJ1c3RlZC1maXJzdAkyMDEzLTAyLTExIDE2OjI2 OjA0LjAwMDAwMDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4wLjFlL2FwcHMvb2NzcC5jCTIwMTMt MDgtMTYgMTU6NDk6NDcuNDc3NTcyNDE0ICswMjAwCitAQCAtNTk1LDYgKzU5NSw3IEBAIGludCBN QUlOKGludCBhcmdjLCBjaGFyICoqYXJndikKKyAJCUJJT19wcmludGYgKGJpb19lcnIsICItcGF0 aCAgICAgICAgICAgICAgcGF0aCB0byB1c2UgaW4gT0NTUCByZXF1ZXN0XG4iKTsKKyAJCUJJT19w cmludGYgKGJpb19lcnIsICItQ0FwYXRoIGRpciAgICAgICAgdHJ1c3RlZCBjZXJ0aWZpY2F0ZXMg ZGlyZWN0b3J5XG4iKTsKKyAJCUJJT19wcmludGYgKGJpb19lcnIsICItQ0FmaWxlIGZpbGUgICAg ICAgdHJ1c3RlZCBjZXJ0aWZpY2F0ZXMgZmlsZVxuIik7CisrCQlCSU9fcHJpbnRmIChiaW9fZXJy LCAiLXRydXN0ZWRfZmlyc3QgICAgIHVzZSB0cnVzdGVkIGNlcnRpZmljYXRlcyBmaXJzdCB3aGVu IGJ1aWxkaW5nIHRoZSB0cnVzdCBjaGFpblxuIik7CisgCQlCSU9fcHJpbnRmIChiaW9fZXJyLCAi LVZBZmlsZSBmaWxlICAgICAgIHZhbGlkYXRvciBjZXJ0aWZpY2F0ZXMgZmlsZVxuIik7CisgCQlC SU9fcHJpbnRmIChiaW9fZXJyLCAiLXZhbGlkaXR5X3BlcmlvZCBuIG1heGltdW0gdmFsaWRpdHkg ZGlzY3JlcGFuY3kgaW4gc2Vjb25kc1xuIik7CisgCQlCSU9fcHJpbnRmIChiaW9fZXJyLCAiLXN0 YXR1c19hZ2UgbiAgICAgIG1heGltdW0gc3RhdHVzIGFnZSBpbiBzZWNvbmRzXG4iKTsKK2RpZmYg LXVwIG9wZW5zc2wtMS4wLjFlL2FwcHMvc19jbGllbnQuYy50cnVzdGVkLWZpcnN0IG9wZW5zc2wt MS4wLjFlL2FwcHMvc19jbGllbnQuYworLS0tIG9wZW5zc2wtMS4wLjFlL2FwcHMvc19jbGllbnQu Yy50cnVzdGVkLWZpcnN0CTIwMTMtMDgtMTYgMTU6NDI6MzkuMDAwMDAwMDAwICswMjAwCisrKysg b3BlbnNzbC0xLjAuMWUvYXBwcy9zX2NsaWVudC5jCTIwMTMtMDgtMTYgMTU6NDk6MDAuNzI3NTQy OTk0ICswMjAwCitAQCAtMjk4LDYgKzI5OCw3IEBAIHN0YXRpYyB2b2lkIHNjX3VzYWdlKHZvaWQp CisgCUJJT19wcmludGYoYmlvX2VyciwiIC1wYXNzIGFyZyAgICAgLSBwcml2YXRlIGtleSBmaWxl IHBhc3MgcGhyYXNlIHNvdXJjZVxuIik7CisgCUJJT19wcmludGYoYmlvX2VyciwiIC1DQXBhdGgg YXJnICAgLSBQRU0gZm9ybWF0IGRpcmVjdG9yeSBvZiBDQSdzXG4iKTsKKyAJQklPX3ByaW50Zihi aW9fZXJyLCIgLUNBZmlsZSBhcmcgICAtIFBFTSBmb3JtYXQgZmlsZSBvZiBDQSdzXG4iKTsKKysJ QklPX3ByaW50ZihiaW9fZXJyLCIgLXRydXN0ZWRfZmlyc3QgLSBVc2UgdHJ1c3RlZCBDQSdzIGZp cnN0IHdoZW4gYnVpbGRpbmcgdGhlIHRydXN0IGNoYWluXG4iKTsKKyAJQklPX3ByaW50ZihiaW9f ZXJyLCIgLXJlY29ubmVjdCAgICAtIERyb3AgYW5kIHJlLW1ha2UgdGhlIGNvbm5lY3Rpb24gd2l0 aCB0aGUgc2FtZSBTZXNzaW9uLUlEXG4iKTsKKyAJQklPX3ByaW50ZihiaW9fZXJyLCIgLXBhdXNl ICAgICAgICAtIHNsZWVwKDEpIGFmdGVyIGVhY2ggcmVhZCgyKSBhbmQgd3JpdGUoMikgc3lzdGVt IGNhbGxcbiIpOworIAlCSU9fcHJpbnRmKGJpb19lcnIsIiAtc2hvd2NlcnRzICAgIC0gc2hvdyBh bGwgY2VydGlmaWNhdGVzIGluIHRoZSBjaGFpblxuIik7CitkaWZmIC11cCBvcGVuc3NsLTEuMC4x ZS9hcHBzL3NtaW1lLmMudHJ1c3RlZC1maXJzdCBvcGVuc3NsLTEuMC4xZS9hcHBzL3NtaW1lLmMK Ky0tLSBvcGVuc3NsLTEuMC4xZS9hcHBzL3NtaW1lLmMudHJ1c3RlZC1maXJzdAkyMDEzLTAyLTEx IDE2OjI2OjA0LjAwMDAwMDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4wLjFlL2FwcHMvc21pbWUu YwkyMDEzLTA4LTE2IDE1OjQ2OjQ0LjAyNDg3NTE1MCArMDIwMAorQEAgLTQ3OSw2ICs0NzksNyBA QCBpbnQgTUFJTihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCisgCQlCSU9fcHJpbnRmIChiaW9fZXJy LCAiLXRleHQgICAgICAgICAgaW5jbHVkZSBvciBkZWxldGUgdGV4dCBNSU1FIGhlYWRlcnNcbiIp OworIAkJQklPX3ByaW50ZiAoYmlvX2VyciwgIi1DQXBhdGggZGlyICAgIHRydXN0ZWQgY2VydGlm aWNhdGVzIGRpcmVjdG9yeVxuIik7CisgCQlCSU9fcHJpbnRmIChiaW9fZXJyLCAiLUNBZmlsZSBm aWxlICAgdHJ1c3RlZCBjZXJ0aWZpY2F0ZXMgZmlsZVxuIik7CisrCQlCSU9fcHJpbnRmIChiaW9f ZXJyLCAiLXRydXN0ZWRfZmlyc3QgdXNlIHRydXN0ZWQgY2VydGlmaWNhdGVzIGZpcnN0IHdoZW4g YnVpbGRpbmcgdGhlIHRydXN0IGNoYWluXG4iKTsKKyAJCUJJT19wcmludGYgKGJpb19lcnIsICIt Y3JsX2NoZWNrICAgICBjaGVjayByZXZvY2F0aW9uIHN0YXR1cyBvZiBzaWduZXIncyBjZXJ0aWZp Y2F0ZSB1c2luZyBDUkxzXG4iKTsKKyAJCUJJT19wcmludGYgKGJpb19lcnIsICItY3JsX2NoZWNr X2FsbCBjaGVjayByZXZvY2F0aW9uIHN0YXR1cyBvZiBzaWduZXIncyBjZXJ0aWZpY2F0ZSBjaGFp biB1c2luZyBDUkxzXG4iKTsKKyAjaWZuZGVmIE9QRU5TU0xfTk9fRU5HSU5FCitkaWZmIC11cCBv cGVuc3NsLTEuMC4xZS9hcHBzL3Nfc2VydmVyLmMudHJ1c3RlZC1maXJzdCBvcGVuc3NsLTEuMC4x ZS9hcHBzL3Nfc2VydmVyLmMKKy0tLSBvcGVuc3NsLTEuMC4xZS9hcHBzL3Nfc2VydmVyLmMudHJ1 c3RlZC1maXJzdAkyMDEzLTA4LTE2IDE1OjQyOjM5LjAwMDAwMDAwMCArMDIwMAorKysrIG9wZW5z c2wtMS4wLjFlL2FwcHMvc19zZXJ2ZXIuYwkyMDEzLTA4LTE2IDE1OjQ4OjE5LjQ2OTYzNDQzMCAr MDIwMAorQEAgLTUwMSw2ICs1MDEsNyBAQCBzdGF0aWMgdm9pZCBzdl91c2FnZSh2b2lkKQorIAlC SU9fcHJpbnRmKGJpb19lcnIsIiAtc3RhdGUgICAgICAgIC0gUHJpbnQgdGhlIFNTTCBzdGF0ZXNc biIpOworIAlCSU9fcHJpbnRmKGJpb19lcnIsIiAtQ0FwYXRoIGFyZyAgIC0gUEVNIGZvcm1hdCBk aXJlY3Rvcnkgb2YgQ0Enc1xuIik7CisgCUJJT19wcmludGYoYmlvX2VyciwiIC1DQWZpbGUgYXJn ICAgLSBQRU0gZm9ybWF0IGZpbGUgb2YgQ0Enc1xuIik7CisrCUJJT19wcmludGYoYmlvX2Vyciwi IC10cnVzdGVkX2ZpcnN0IC0gVXNlIHRydXN0ZWQgQ0EncyBmaXJzdCB3aGVuIGJ1aWxkaW5nIHRo ZSB0cnVzdCBjaGFpblxuIik7CisgCUJJT19wcmludGYoYmlvX2VyciwiIC1ub2NlcnQgICAgICAg LSBEb24ndCB1c2UgYW55IGNlcnRpZmljYXRlcyAoQW5vbi1ESClcbiIpOworIAlCSU9fcHJpbnRm KGJpb19lcnIsIiAtY2lwaGVyIGFyZyAgIC0gcGxheSB3aXRoICdvcGVuc3NsIGNpcGhlcnMnIHRv IHNlZSB3aGF0IGdvZXMgaGVyZVxuIik7CisgCUJJT19wcmludGYoYmlvX2VyciwiIC1zZXJ2ZXJw cmVmICAgLSBVc2Ugc2VydmVyJ3MgY2lwaGVyIHByZWZlcmVuY2VzXG4iKTsKK2RpZmYgLXVwIG9w ZW5zc2wtMS4wLjFlL2FwcHMvc190aW1lLmMudHJ1c3RlZC1maXJzdCBvcGVuc3NsLTEuMC4xZS9h cHBzL3NfdGltZS5jCistLS0gb3BlbnNzbC0xLjAuMWUvYXBwcy9zX3RpbWUuYy50cnVzdGVkLWZp cnN0CTIwMTMtMDgtMTYgMTU6NDI6MzkuMDAwMDAwMDAwICswMjAwCisrKysgb3BlbnNzbC0xLjAu MWUvYXBwcy9zX3RpbWUuYwkyMDEzLTA4LTE2IDE1OjQ3OjM1Ljg2MjY3NDE4OCArMDIwMAorQEAg LTE3OSw2ICsxNzksNyBAQCBzdGF0aWMgdm9pZCBzX3RpbWVfdXNhZ2Uodm9pZCkKKyAgICAgICAg ICAgICAgICAgZmlsZSBpZiBub3Qgc3BlY2lmaWVkIGJ5IHRoaXMgb3B0aW9uXG5cCisgLUNBcGF0 aCBhcmcgICAtIFBFTSBmb3JtYXQgZGlyZWN0b3J5IG9mIENBJ3NcblwKKyAtQ0FmaWxlIGFyZyAg IC0gUEVNIGZvcm1hdCBmaWxlIG9mIENBJ3NcblwKKystdHJ1c3RlZF9maXJzdCAtIFVzZSB0cnVz dGVkIENBJ3MgZmlyc3Qgd2hlbiBidWlsZGluZyB0aGUgdHJ1c3QgY2hhaW5cblwKKyAtY2lwaGVy ICAgICAgIC0gcHJlZmVycmVkIGNpcGhlciB0byB1c2UsIHBsYXkgd2l0aCAnb3BlbnNzbCBjaXBo ZXJzJ1xuXG4iOworIAorIAlwcmludGYoICJ1c2FnZTogc190aW1lIDxhcmdzPlxuXG4iICk7Citk aWZmIC11cCBvcGVuc3NsLTEuMC4xZS9hcHBzL3RzLmMudHJ1c3RlZC1maXJzdCBvcGVuc3NsLTEu MC4xZS9hcHBzL3RzLmMKKy0tLSBvcGVuc3NsLTEuMC4xZS9hcHBzL3RzLmMudHJ1c3RlZC1maXJz dAkyMDEzLTA4LTE2IDE1OjQyOjM5LjAwMDAwMDAwMCArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFl L2FwcHMvdHMuYwkyMDEzLTA4LTE2IDE1OjQ1OjI3Ljc2NjIwNjgxMiArMDIwMAorQEAgLTM4Myw3 ICszODMsNyBAQCBpbnQgTUFJTihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCisgCQkgICAidHMgLXZl cmlmeSBbLWRhdGEgZmlsZV90b19oYXNoXSBbLWRpZ2VzdCBkaWdlc3RfYnl0ZXNdICIKKyAJCSAg ICJbLXF1ZXJ5ZmlsZSByZXF1ZXN0LnRzcV0gIgorIAkJICAgIi1pbiByZXNwb25zZS50c3IgWy10 b2tlbl9pbl0gIgorLQkJICAgIi1DQXBhdGggY2FfcGF0aCAtQ0FmaWxlIGNhX2ZpbGUucGVtICIK KysJCSAgICItQ0FwYXRoIGNhX3BhdGggLUNBZmlsZSBjYV9maWxlLnBlbSAtdHJ1c3RlZF9maXJz dCIKKyAJCSAgICItdW50cnVzdGVkIGNlcnRfZmlsZS5wZW1cbiIpOworICBjbGVhbnVwOgorIAkv KiBDbGVhbiB1cC4gKi8KK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2FwcHMvdmVyaWZ5LmMudHJ1 c3RlZC1maXJzdCBvcGVuc3NsLTEuMC4xZS9hcHBzL3ZlcmlmeS5jCistLS0gb3BlbnNzbC0xLjAu MWUvYXBwcy92ZXJpZnkuYy50cnVzdGVkLWZpcnN0CTIwMTMtMDItMTEgMTY6MjY6MDQuMDAwMDAw MDAwICswMTAwCisrKysgb3BlbnNzbC0xLjAuMWUvYXBwcy92ZXJpZnkuYwkyMDEzLTA4LTE2IDE1 OjQ2OjA5LjcyMDEyNDY1NCArMDIwMAorQEAgLTIzNyw3ICsyMzcsNyBAQCBpbnQgTUFJTihpbnQg YXJnYywgY2hhciAqKmFyZ3YpCisgCisgZW5kOgorIAlpZiAocmV0ID09IDEpIHsKKy0JCUJJT19w cmludGYoYmlvX2VyciwidXNhZ2U6IHZlcmlmeSBbLXZlcmJvc2VdIFstQ0FwYXRoIHBhdGhdIFst Q0FmaWxlIGZpbGVdIFstcHVycG9zZSBwdXJwb3NlXSBbLWNybF9jaGVja10iKTsKKysJCUJJT19w cmludGYoYmlvX2VyciwidXNhZ2U6IHZlcmlmeSBbLXZlcmJvc2VdIFstQ0FwYXRoIHBhdGhdIFst Q0FmaWxlIGZpbGVdIFstdHJ1c3RlZF9maXJzdF0gWy1wdXJwb3NlIHB1cnBvc2VdIFstY3JsX2No ZWNrXSIpOworIAkJQklPX3ByaW50ZihiaW9fZXJyLCIgWy1hdHRpbWUgdGltZXN0YW1wXSIpOwor ICNpZm5kZWYgT1BFTlNTTF9OT19FTkdJTkUKKyAJCUJJT19wcmludGYoYmlvX2VyciwiIFstZW5n aW5lIGVdIik7CitkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8veDUwOS94NTA5X3ZmeS5j LnRydXN0ZWQtZmlyc3Qgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3g1MDkveDUwOV92ZnkuYworLS0t IG9wZW5zc2wtMS4wLjFlL2NyeXB0by94NTA5L3g1MDlfdmZ5LmMudHJ1c3RlZC1maXJzdAkyMDEz LTA4LTE2IDE1OjQyOjM5Ljg2NDUzMzU0NSArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by94NTA5L3g1MDlfdmZ5LmMJMjAxMy0wOC0xNiAxNTo0MjozOS45MjE1MzQ3OTEgKzAyMDAKK0BA IC0yMDcsNiArMjA3LDIxIEBAIGludCBYNTA5X3ZlcmlmeV9jZXJ0KFg1MDlfU1RPUkVfQ1RYICpj dHgKKyAKKyAJCS8qIElmIHdlIGFyZSBzZWxmIHNpZ25lZCwgd2UgYnJlYWsgKi8KKyAJCWlmIChj dHgtPmNoZWNrX2lzc3VlZChjdHgsIHgseCkpIGJyZWFrOworKwkJLyogSWYgYXNrZWQgc2VlIGlm IHdlIGNhbiBmaW5kIGlzc3VlciBpbiB0cnVzdGVkIHN0b3JlIGZpcnN0ICovCisrCQlpZiAoY3R4 LT5wYXJhbS0+ZmxhZ3MgJiBYNTA5X1ZfRkxBR19UUlVTVEVEX0ZJUlNUKQorKwkJCXsKKysJCQlv ayA9IGN0eC0+Z2V0X2lzc3VlcigmeHRtcCwgY3R4LCB4KTsKKysJCQlpZiAob2sgPCAwKQorKwkJ CQlyZXR1cm4gb2s7CisrCQkJLyogSWYgc3VjY2Vzc2Z1bCBmb3Igbm93IGZyZWUgdXAgY2VydCBz byBpdAorKwkJCSAqIHdpbGwgYmUgcGlja2VkIHVwIGFnYWluIGxhdGVyLgorKwkJCSAqLworKwkJ CWlmIChvayA+IDApCisrCQkJCXsKKysJCQkJWDUwOV9mcmVlKHh0bXApOworKwkJCQlicmVhazsK KysJCQkJfQorKwkJCX0KKyAKKyAJCS8qIElmIHdlIHdlcmUgcGFzc2VkIGEgY2VydCBjaGFpbiwg dXNlIGl0IGZpcnN0ICovCisgCQlpZiAoY3R4LT51bnRydXN0ZWQgIT0gTlVMTCkKK2RpZmYgLXVw IG9wZW5zc2wtMS4wLjFlL2NyeXB0by94NTA5L3g1MDlfdmZ5LmgudHJ1c3RlZC1maXJzdCBvcGVu c3NsLTEuMC4xZS9jcnlwdG8veDUwOS94NTA5X3ZmeS5oCistLS0gb3BlbnNzbC0xLjAuMWUvY3J5 cHRvL3g1MDkveDUwOV92ZnkuaC50cnVzdGVkLWZpcnN0CTIwMTMtMDgtMTYgMTU6NDI6MzkuMzU2 NTIyNDMyICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3g1MDkveDUwOV92ZnkuaAky MDEzLTA4LTE2IDE1OjQyOjM5LjkyMjUzNDgxMyArMDIwMAorQEAgLTM4OSw2ICszODksOCBAQCB2 b2lkIFg1MDlfU1RPUkVfQ1RYX3NldF9kZXB0aChYNTA5X1NUT1JFCisgI2RlZmluZSBYNTA5X1Zf RkxBR19VU0VfREVMVEFTCQkJMHgyMDAwCisgLyogQ2hlY2sgc2VsZnNpZ25lZCBDQSBzaWduYXR1 cmUgKi8KKyAjZGVmaW5lIFg1MDlfVl9GTEFHX0NIRUNLX1NTX1NJR05BVFVSRQkJMHg0MDAwCisr LyogVXNlIHRydXN0ZWQgc3RvcmUgZmlyc3QgKi8KKysjZGVmaW5lIFg1MDlfVl9GTEFHX1RSVVNU RURfRklSU1QJCTB4ODAwMAorIAorIAorICNkZWZpbmUgWDUwOV9WUF9GTEFHX0RFRkFVTFQJCQkw eDEKK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2RvYy9hcHBzL2Ntcy5wb2QudHJ1c3RlZC1maXJz dCBvcGVuc3NsLTEuMC4xZS9kb2MvYXBwcy9jbXMucG9kCistLS0gb3BlbnNzbC0xLjAuMWUvZG9j L2FwcHMvY21zLnBvZC50cnVzdGVkLWZpcnN0CTIwMTMtMDgtMTYgMTU6NDI6MzkuMDAwMDAwMDAw ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvZG9jL2FwcHMvY21zLnBvZAkyMDEzLTA4LTE2IDE1 OjUwOjQ4LjcyMzkyMTExNyArMDIwMAorQEAgLTM1LDYgKzM1LDcgQEAgQjxvcGVuc3NsPiBCPGNt cz4KKyBbQjwtcHJpbnQ+XQorIFtCPC1DQWZpbGUgZmlsZT5dCisgW0I8LUNBcGF0aCBkaXI+XQor K1tCPC10cnVzdGVkX2ZpcnN0Pl0KKyBbQjwtbWQgZGlnZXN0Pl0KKyBbQjwtW2NpcGhlcl0+XQor IFtCPC1ub2ludGVybj5dCitAQCAtMjM4LDYgKzIzOSwxMiBAQCBCPC12ZXJpZnk+LiBUaGlzIGRp cmVjdG9yeSBtdXN0IGJlIGEgc3RhCisgaXMgYSBoYXNoIG9mIGVhY2ggc3ViamVjdCBuYW1lICh1 c2luZyBCPHg1MDkgLWhhc2g+KSBzaG91bGQgYmUgbGlua2VkCisgdG8gZWFjaCBjZXJ0aWZpY2F0 ZS4KKyAKKys9aXRlbSBCPC10cnVzdGVkX2ZpcnN0PgorKworK1VzZSBjZXJ0aWZpY2F0ZXMgaW4g Q0EgZmlsZSBvciBDQSBkaXJlY3RvcnkgYmVmb3JlIHVudHJ1c3RlZCBjZXJ0aWZpY2F0ZXMKKytm cm9tIHRoZSBtZXNzYWdlIHdoZW4gYnVpbGRpbmcgdGhlIHRydXN0IGNoYWluIHRvIHZlcmlmeSBj ZXJ0aWZpY2F0ZXMuCisrVGhpcyBpcyBtYWlubHkgdXNlZnVsIGluIGVudmlyb25tZW50cyB3aXRo IEJyaWRnZSBDQSBvciBDcm9zcy1DZXJ0aWZpZWQgQ0FzLgorKworID1pdGVtIEI8LW1kIGRpZ2Vz dD4KKyAKKyBkaWdlc3QgYWxnb3JpdGhtIHRvIHVzZSB3aGVuIHNpZ25pbmcgb3IgcmVzaWduaW5n LiBJZiBub3QgcHJlc2VudCB0aGVuIHRoZQorZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvZG9jL2Fw cHMvb2NzcC5wb2QudHJ1c3RlZC1maXJzdCBvcGVuc3NsLTEuMC4xZS9kb2MvYXBwcy9vY3NwLnBv ZAorLS0tIG9wZW5zc2wtMS4wLjFlL2RvYy9hcHBzL29jc3AucG9kLnRydXN0ZWQtZmlyc3QJMjAx My0wOC0xNiAxNTo0MjozOS4wMDAwMDAwMDAgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9kb2Mv YXBwcy9vY3NwLnBvZAkyMDEzLTA4LTE2IDE1OjUyOjIwLjEwNjkzMzQwMyArMDIwMAorQEAgLTI5 LDYgKzI5LDcgQEAgQjxvcGVuc3NsPiBCPG9jc3A+CisgW0I8LXBhdGg+XQorIFtCPC1DQXBhdGgg ZGlyPl0KKyBbQjwtQ0FmaWxlIGZpbGU+XQorK1tCPC10cnVzdGVkX2ZpcnN0Pl0KKyBbQjwtVkFm aWxlIGZpbGU+XQorIFtCPC12YWxpZGl0eV9wZXJpb2Qgbj5dCisgW0I8LXN0YXR1c19hZ2Ugbj5d CitAQCAtMTM4LDYgKzEzOSwxMyBAQCBvciAiLyIgYnkgZGVmYXVsdC4KKyBmaWxlIG9yIHBhdGhu YW1lIGNvbnRhaW5pbmcgdHJ1c3RlZCBDQSBjZXJ0aWZpY2F0ZXMuIFRoZXNlIGFyZSB1c2VkIHRv IHZlcmlmeQorIHRoZSBzaWduYXR1cmUgb24gdGhlIE9DU1AgcmVzcG9uc2UuCisgCisrPWl0ZW0g QjwtdHJ1c3RlZF9maXJzdD4KKysKKytVc2UgY2VydGlmaWNhdGVzIGluIENBIGZpbGUgb3IgQ0Eg ZGlyZWN0b3J5IG92ZXIgY2VydGlmaWNhdGVzIHByb3ZpZGVkCisraW4gdGhlIHJlc3BvbnNlIG9y IHJlc2lkaW5nIGluIG90aGVyIGNlcnRpZmljYXRlcyBmaWxlIHdoZW4gYnVpbGRpbmcgdGhlIHRy dXN0CisrY2hhaW4gdG8gdmVyaWZ5IHJlc3BvbmRlciBjZXJ0aWZpY2F0ZS4KKytUaGlzIGlzIG1h aW5seSB1c2VmdWwgaW4gZW52aXJvbm1lbnRzIHdpdGggQnJpZGdlIENBIG9yIENyb3NzLUNlcnRp ZmllZCBDQXMuCisrCisgPWl0ZW0gQjwtdmVyaWZ5X290aGVyIGZpbGU+CisgCisgZmlsZSBjb250 YWluaW5nIGFkZGl0aW9uYWwgY2VydGlmaWNhdGVzIHRvIHNlYXJjaCB3aGVuIGF0dGVtcHRpbmcg dG8gbG9jYXRlCitkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9kb2MvYXBwcy9zX2NsaWVudC5wb2Qu dHJ1c3RlZC1maXJzdCBvcGVuc3NsLTEuMC4xZS9kb2MvYXBwcy9zX2NsaWVudC5wb2QKKy0tLSBv cGVuc3NsLTEuMC4xZS9kb2MvYXBwcy9zX2NsaWVudC5wb2QudHJ1c3RlZC1maXJzdAkyMDEzLTA4 LTE2IDE1OjQyOjM5LjAwMDAwMDAwMCArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2RvYy9hcHBz L3NfY2xpZW50LnBvZAkyMDEzLTA4LTE2IDE1OjUzOjE3LjM2NDE5NDE1OSArMDIwMAorQEAgLTE3 LDYgKzE3LDcgQEAgQjxvcGVuc3NsPiBCPHNfY2xpZW50PgorIFtCPC1wYXNzIGFyZz5dCisgW0I8 LUNBcGF0aCBkaXJlY3Rvcnk+XQorIFtCPC1DQWZpbGUgZmlsZW5hbWU+XQorK1tCPC10cnVzdGVk X2ZpcnN0Pl0KKyBbQjwtcmVjb25uZWN0Pl0KKyBbQjwtcGF1c2U+XQorIFtCPC1zaG93Y2VydHM+ XQorQEAgLTEwNyw3ICsxMDgsNyBAQCBhbHNvIHVzZWQgd2hlbiBidWlsZGluZyB0aGUgY2xpZW50 IGNlcnRpCisgQSBmaWxlIGNvbnRhaW5pbmcgdHJ1c3RlZCBjZXJ0aWZpY2F0ZXMgdG8gdXNlIGR1 cmluZyBzZXJ2ZXIgYXV0aGVudGljYXRpb24KKyBhbmQgdG8gdXNlIHdoZW4gYXR0ZW1wdGluZyB0 byBidWlsZCB0aGUgY2xpZW50IGNlcnRpZmljYXRlIGNoYWluLgorIAorLT1pdGVtIEI8LXB1cnBv c2UsIC1pZ25vcmVfY3JpdGljYWwsIC1pc3N1ZXJfY2hlY2tzLCAtY3JsX2NoZWNrLCAtY3JsX2No ZWNrX2FsbCwgLXBvbGljeV9jaGVjaywgLWV4dGVuZGVkX2NybCwgLXg1MDlfc3RyaWN0LCAtcG9s aWN5IC1jaGVja19zc19zaWc+CisrPWl0ZW0gQjwtcHVycG9zZSwgLWlnbm9yZV9jcml0aWNhbCwg LWlzc3Vlcl9jaGVja3MsIC1jcmxfY2hlY2ssIC1jcmxfY2hlY2tfYWxsLCAtcG9saWN5X2NoZWNr LCAtZXh0ZW5kZWRfY3JsLCAteDUwOV9zdHJpY3QsIC1wb2xpY3kgLWNoZWNrX3NzX3NpZywgLXRy dXN0ZWRfZmlyc3Q+CisgCisgU2V0IHZhcmlvdXMgY2VydGlmaWNhdGUgY2hhaW4gdmFsaWFkaXRp b24gb3B0aW9uLiBTZWUgdGhlCisgTDxCPHZlcmlmeT58dmVyaWZ5KDEpPiBtYW51YWwgcGFnZSBm b3IgZGV0YWlscy4KK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2RvYy9hcHBzL3NtaW1lLnBvZC50 cnVzdGVkLWZpcnN0IG9wZW5zc2wtMS4wLjFlL2RvYy9hcHBzL3NtaW1lLnBvZAorLS0tIG9wZW5z c2wtMS4wLjFlL2RvYy9hcHBzL3NtaW1lLnBvZC50cnVzdGVkLWZpcnN0CTIwMTMtMDgtMTYgMTU6 NDI6MzkuMDAwMDAwMDAwICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvZG9jL2FwcHMvc21pbWUu cG9kCTIwMTMtMDgtMTYgMTU6NTY6MTIuNDk3MDUwNzY3ICswMjAwCitAQCAtMTUsNiArMTUsOSBA QCBCPG9wZW5zc2w+IEI8c21pbWU+CisgW0I8LXBrN291dD5dCisgW0I8LVtjaXBoZXJdPl0KKyBb QjwtaW4gZmlsZT5dCisrW0I8LUNBZmlsZSBmaWxlPl0KKytbQjwtQ0FwYXRoIGRpcj5dCisrW0I8 LXRydXN0ZWRfZmlyc3Q+XQorIFtCPC1jZXJ0ZmlsZSBmaWxlPl0KKyBbQjwtc2lnbmVyIGZpbGU+ XQorIFtCPC1yZWNpcCAgZmlsZT5dCitAQCAtMTQ2LDYgKzE0OSwxMiBAQCBCPC12ZXJpZnk+LiBU aGlzIGRpcmVjdG9yeSBtdXN0IGJlIGEgc3RhCisgaXMgYSBoYXNoIG9mIGVhY2ggc3ViamVjdCBu YW1lICh1c2luZyBCPHg1MDkgLWhhc2g+KSBzaG91bGQgYmUgbGlua2VkCisgdG8gZWFjaCBjZXJ0 aWZpY2F0ZS4KKyAKKys9aXRlbSBCPC10cnVzdGVkX2ZpcnN0PgorKworK1VzZSBjZXJ0aWZpY2F0 ZXMgaW4gQ0EgZmlsZSBvciBDQSBkaXJlY3Rvcnkgb3ZlciBjZXJ0aWZpY2F0ZXMgcHJvdmlkZWQK KytpbiB0aGUgbWVzc2FnZSB3aGVuIGJ1aWxkaW5nIHRoZSB0cnVzdCBjaGFpbiB0byB2ZXJpZnkg YSBjZXJ0aWZpY2F0ZS4KKytUaGlzIGlzIG1haW5seSB1c2VmdWwgaW4gZW52aXJvbm1lbnRzIHdp dGggQnJpZGdlIENBIG9yIENyb3NzLUNlcnRpZmllZCBDQXMuCisrCisgPWl0ZW0gQjwtbWQgZGln ZXN0PgorIAorIGRpZ2VzdCBhbGdvcml0aG0gdG8gdXNlIHdoZW4gc2lnbmluZyBvciByZXNpZ25p bmcuIElmIG5vdCBwcmVzZW50IHRoZW4gdGhlCitkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9kb2Mv YXBwcy9zX3NlcnZlci5wb2QudHJ1c3RlZC1maXJzdCBvcGVuc3NsLTEuMC4xZS9kb2MvYXBwcy9z X3NlcnZlci5wb2QKKy0tLSBvcGVuc3NsLTEuMC4xZS9kb2MvYXBwcy9zX3NlcnZlci5wb2QudHJ1 c3RlZC1maXJzdAkyMDEzLTA4LTE2IDE1OjQyOjM5LjAwMDAwMDAwMCArMDIwMAorKysrIG9wZW5z c2wtMS4wLjFlL2RvYy9hcHBzL3Nfc2VydmVyLnBvZAkyMDEzLTA4LTE2IDE1OjU0OjMzLjYwOTg3 MzIxNCArMDIwMAorQEAgLTMzLDYgKzMzLDcgQEAgQjxvcGVuc3NsPiBCPHNfc2VydmVyPgorIFtC PC1zdGF0ZT5dCisgW0I8LUNBcGF0aCBkaXJlY3Rvcnk+XQorIFtCPC1DQWZpbGUgZmlsZW5hbWU+ XQorK1tCPC10cnVzdGVkX2ZpcnN0Pl0KKyBbQjwtbm9jZXJ0Pl0KKyBbQjwtY2lwaGVyIGNpcGhl cmxpc3Q+XQorIFtCPC1xdWlldD5dCitAQCAtMTY4LDYgKzE2OSwxMiBAQCBhbmQgdG8gdXNlIHdo ZW4gYXR0ZW1wdGluZyB0byBidWlsZCB0aGUKKyBpcyBhbHNvIHVzZWQgaW4gdGhlIGxpc3Qgb2Yg YWNjZXB0YWJsZSBjbGllbnQgQ0FzIHBhc3NlZCB0byB0aGUgY2xpZW50IHdoZW4KKyBhIGNlcnRp ZmljYXRlIGlzIHJlcXVlc3RlZC4KKyAKKys9aXRlbSBCPC10cnVzdGVkX2ZpcnN0PgorKworK1Vz ZSBjZXJ0aWZpY2F0ZXMgaW4gQ0EgZmlsZSBvciBDQSBkaXJlY3RvcnkgYmVmb3JlIG90aGVyIGNl cnRpZmljYXRlcyAKKyt3aGVuIGJ1aWxkaW5nIHRoZSB0cnVzdCBjaGFpbiB0byB2ZXJpZnkgY2xp ZW50IGNlcnRpZmljYXRlcy4KKytUaGlzIGlzIG1haW5seSB1c2VmdWwgaW4gZW52aXJvbm1lbnRz IHdpdGggQnJpZGdlIENBIG9yIENyb3NzLUNlcnRpZmllZCBDQXMuCisrCisgPWl0ZW0gQjwtc3Rh dGU+CisgCisgcHJpbnRzIG91dCB0aGUgU1NMIHNlc3Npb24gc3RhdGVzLgorZGlmZiAtdXAgb3Bl bnNzbC0xLjAuMWUvZG9jL2FwcHMvc190aW1lLnBvZC50cnVzdGVkLWZpcnN0IG9wZW5zc2wtMS4w LjFlL2RvYy9hcHBzL3NfdGltZS5wb2QKKy0tLSBvcGVuc3NsLTEuMC4xZS9kb2MvYXBwcy9zX3Rp bWUucG9kLnRydXN0ZWQtZmlyc3QJMjAxMy0wMi0xMSAxNjowMjo0OC4wMDAwMDAwMDAgKzAxMDAK KysrKyBvcGVuc3NsLTEuMC4xZS9kb2MvYXBwcy9zX3RpbWUucG9kCTIwMTMtMDgtMTYgMTU6NTU6 MTIuNjUxNzMyOTM4ICswMjAwCitAQCAtMTQsNiArMTQsNyBAQCBCPG9wZW5zc2w+IEI8c190aW1l PgorIFtCPC1rZXkgZmlsZW5hbWU+XQorIFtCPC1DQXBhdGggZGlyZWN0b3J5Pl0KKyBbQjwtQ0Fm aWxlIGZpbGVuYW1lPl0KKytbQjwtdHJ1c3RlZF9maXJzdD5dCisgW0I8LXJldXNlPl0KKyBbQjwt bmV3Pl0KKyBbQjwtdmVyaWZ5IGRlcHRoPl0KK0BAIC03Niw2ICs3NywxMiBAQCBhbHNvIHVzZWQg d2hlbiBidWlsZGluZyB0aGUgY2xpZW50IGNlcnRpCisgQSBmaWxlIGNvbnRhaW5pbmcgdHJ1c3Rl ZCBjZXJ0aWZpY2F0ZXMgdG8gdXNlIGR1cmluZyBzZXJ2ZXIgYXV0aGVudGljYXRpb24KKyBhbmQg dG8gdXNlIHdoZW4gYXR0ZW1wdGluZyB0byBidWlsZCB0aGUgY2xpZW50IGNlcnRpZmljYXRlIGNo YWluLgorIAorKz1pdGVtIEI8LXRydXN0ZWRfZmlyc3Q+CisrCisrVXNlIGNlcnRpZmljYXRlcyBp biBDQSBmaWxlIG9yIENBIGRpcmVjdG9yeSBvdmVyIHRoZSBjZXJ0aWZpY2F0ZXMgcHJvdmlkZWQK KytieSB0aGUgc2VydmVyIHdoZW4gYnVpbGRpbmcgdGhlIHRydXN0IGNoYWluIHRvIHZlcmlmeSBz ZXJ2ZXIgY2VydGlmaWNhdGUuCisrVGhpcyBpcyBtYWlubHkgdXNlZnVsIGluIGVudmlyb25tZW50 cyB3aXRoIEJyaWRnZSBDQSBvciBDcm9zcy1DZXJ0aWZpZWQgQ0FzLgorKworID1pdGVtIEI8LW5l dz4KKyAKKyBwZXJmb3JtcyB0aGUgdGltaW5nIHRlc3QgdXNpbmcgYSBuZXcgc2Vzc2lvbiBJRCBm b3IgZWFjaCBjb25uZWN0aW9uLgorZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvZG9jL2FwcHMvdHMu cG9kLnRydXN0ZWQtZmlyc3Qgb3BlbnNzbC0xLjAuMWUvZG9jL2FwcHMvdHMucG9kCistLS0gb3Bl bnNzbC0xLjAuMWUvZG9jL2FwcHMvdHMucG9kLnRydXN0ZWQtZmlyc3QJMjAxMy0wMi0xMSAxNjoy NjowNC4wMDAwMDAwMDAgKzAxMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9kb2MvYXBwcy90cy5wb2QJ MjAxMy0wOC0xNiAxNTo1NzoxNy4zOTk0Nzk5NTcgKzAyMDAKK0BAIC00Niw2ICs0Niw3IEBAIEI8 LXZlcmlmeT4KKyBbQjwtdG9rZW5faW4+XQorIFtCPC1DQXBhdGg+IHRydXN0ZWRfY2VydF9wYXRo XQorIFtCPC1DQWZpbGU+IHRydXN0ZWRfY2VydHMucGVtXQorK1tCPC10cnVzdGVkX2ZpcnN0Pl0K KyBbQjwtdW50cnVzdGVkPiBjZXJ0X2ZpbGUucGVtXQorIAorID1oZWFkMSBERVNDUklQVElPTgor QEAgLTMyNCw2ICszMjUsMTIgQEAgTDx2ZXJpZnkoMSl8dmVyaWZ5KDEpPiBmb3IgYWRkaXRpb25h bCBkZQorIG9yIEI8LUNBcGF0aD4gbXVzdCBiZSBzcGVjaWZpZWQuCisgKE9wdGlvbmFsKQorIAor Kz1pdGVtIEI8LXRydXN0ZWRfZmlyc3Q+CisrCisrVXNlIGNlcnRpZmljYXRlcyBpbiBDQSBmaWxl IG9yIENBIGRpcmVjdG9yeSBiZWZvcmUgb3RoZXIgY2VydGlmaWNhdGVzCisrd2hlbiBidWlsZGlu ZyB0aGUgdHJ1c3QgY2hhaW4gdG8gdmVyaWZ5IGNlcnRpZmljYXRlcy4KKytUaGlzIGlzIG1haW5s eSB1c2VmdWwgaW4gZW52aXJvbm1lbnRzIHdpdGggQnJpZGdlIENBIG9yIENyb3NzLUNlcnRpZmll ZCBDQXMuCisrCisgPWl0ZW0gQjwtdW50cnVzdGVkPiBjZXJ0X2ZpbGUucGVtCisgCisgU2V0IG9m IGFkZGl0aW9uYWwgdW50cnVzdGVkIGNlcnRpZmljYXRlcyBpbiBQRU0gZm9ybWF0IHdoaWNoIG1h eSBiZQorZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvZG9jL2FwcHMvdmVyaWZ5LnBvZC50cnVzdGVk LWZpcnN0IG9wZW5zc2wtMS4wLjFlL2RvYy9hcHBzL3ZlcmlmeS5wb2QKKy0tLSBvcGVuc3NsLTEu MC4xZS9kb2MvYXBwcy92ZXJpZnkucG9kLnRydXN0ZWQtZmlyc3QJMjAxMy0wMi0xMSAxNjoyNjow NC4wMDAwMDAwMDAgKzAxMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9kb2MvYXBwcy92ZXJpZnkucG9k CTIwMTMtMDgtMTYgMTU6NTg6MDAuMjY3NDIzOTI1ICswMjAwCitAQCAtOSw2ICs5LDcgQEAgdmVy aWZ5IC0gVXRpbGl0eSB0byB2ZXJpZnkgY2VydGlmaWNhdGVzLgorIEI8b3BlbnNzbD4gQjx2ZXJp Znk+CisgW0I8LUNBcGF0aCBkaXJlY3Rvcnk+XQorIFtCPC1DQWZpbGUgZmlsZT5dCisrW0I8LXRy dXN0ZWRfZmlyc3Q+XQorIFtCPC1wdXJwb3NlIHB1cnBvc2U+XQorIFtCPC1wb2xpY3kgYXJnPl0K KyBbQjwtaWdub3JlX2NyaXRpY2FsPl0KK0BAIC01Niw2ICs1NywxMiBAQCBpbiBQRU0gZm9ybWF0 IGNvbmNhdGVuYXRlZCB0b2dldGhlci4KKyBBIGZpbGUgb2YgdW50cnVzdGVkIGNlcnRpZmljYXRl cy4gVGhlIGZpbGUgc2hvdWxkIGNvbnRhaW4gbXVsdGlwbGUgY2VydGlmaWNhdGVzCisgaW4gUEVN IGZvcm1hdCBjb25jYXRlbmF0ZWQgdG9nZXRoZXIuCisgCisrPWl0ZW0gQjwtdHJ1c3RlZF9maXJz dD4KKysKKytVc2UgY2VydGlmaWNhdGVzIGluIENBIGZpbGUgb3IgQ0EgZGlyZWN0b3J5IGJlZm9y ZSB0aGUgY2VydGlmaWNhdGVzIGluIHRoZSB1bnRydXN0ZWQKKytmaWxlIHdoZW4gYnVpbGRpbmcg dGhlIHRydXN0IGNoYWluIHRvIHZlcmlmeSBjZXJ0aWZpY2F0ZXMuCisrVGhpcyBpcyBtYWlubHkg dXNlZnVsIGluIGVudmlyb25tZW50cyB3aXRoIEJyaWRnZSBDQSBvciBDcm9zcy1DZXJ0aWZpZWQg Q0FzLgorKworID1pdGVtIEI8LXB1cnBvc2UgcHVycG9zZT4KKyAKKyBUaGUgaW50ZW5kZWQgdXNl IGZvciB0aGUgY2VydGlmaWNhdGUuIElmIHRoaXMgb3B0aW9uIGlzIG5vdCBzcGVjaWZpZWQsCgpk aWZmIC0tZ2l0IGEvb3BlbnNzbC0xLjAuMWUtdmVyc2lvbi5wYXRjaCBiL29wZW5zc2wtMS4wLjFl LXZlcnNpb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTczZjJj OQotLS0gL2Rldi9udWxsCisrKyBiL29wZW5zc2wtMS4wLjFlLXZlcnNpb24ucGF0Y2gKQEAgLTAs MCArMSw2MyBAQAorZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2N2ZXJzaW9uLmMudmVy c2lvbiBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vY3ZlcnNpb24uYworLS0tIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9jdmVyc2lvbi5jLnZlcnNpb24JMjAxMy0wMi0xMSAxNjowMjo0Ny4wMDAwMDAwMDAg KzAxMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vY3ZlcnNpb24uYwkyMDEzLTA3LTI2IDEy OjI4OjEyLjczOTE2MTkyNSArMDIwMAorQEAgLTYyLDcgKzYyLDcgQEAKKyAjaW5jbHVkZSAiYnVp bGRpbmYuaCIKKyAjZW5kaWYKKyAKKy1jb25zdCBjaGFyICpTU0xlYXlfdmVyc2lvbihpbnQgdCkK Kytjb25zdCBjaGFyICpfY3VycmVudF9TU0xlYXlfdmVyc2lvbihpbnQgdCkKKyAJeworIAlpZiAo dCA9PSBTU0xFQVlfVkVSU0lPTikKKyAJCXJldHVybiBPUEVOU1NMX1ZFUlNJT05fVEVYVDsKK0BA IC0xMTAsOCArMTEwLDI1IEBAIGNvbnN0IGNoYXIgKlNTTGVheV92ZXJzaW9uKGludCB0KQorIAly ZXR1cm4oIm5vdCBhdmFpbGFibGUiKTsKKyAJfQorIAorLXVuc2lnbmVkIGxvbmcgU1NMZWF5KHZv aWQpCisrY29uc3QgY2hhciAqX29yaWdpbmFsX1NTTGVheV92ZXJzaW9uKGludCB0KQorKwl7Cisr CWlmICh0ID09IFNTTEVBWV9WRVJTSU9OKQorKwkJcmV0dXJuICJPcGVuU1NMIDEuMC4wLWZpcHMg MjkgTWFyIDIwMTAiOworKwllbHNlCisrCQlyZXR1cm4gX2N1cnJlbnRfU1NMZWF5X3ZlcnNpb24o dCk7CisrCX0KKysKKyt1bnNpZ25lZCBsb25nIF9vcmlnaW5hbF9TU0xlYXkodm9pZCkKKysJewor KwlyZXR1cm4oMHgxMDAwMDAwMyk7CisrCX0KKysKKyt1bnNpZ25lZCBsb25nIF9jdXJyZW50X1NT TGVheSh2b2lkKQorIAl7CisgCXJldHVybihTU0xFQVlfVkVSU0lPTl9OVU1CRVIpOworIAl9Cisg CisrX19hc21fXygiLnN5bXZlciBfb3JpZ2luYWxfU1NMZWF5LFNTTGVheUAiKTsKKytfX2FzbV9f KCIuc3ltdmVyIF9vcmlnaW5hbF9TU0xlYXlfdmVyc2lvbixTU0xlYXlfdmVyc2lvbkAiKTsKKytf X2FzbV9fKCIuc3ltdmVyIF9jdXJyZW50X1NTTGVheSxTU0xlYXlAQE9QRU5TU0xfMS4wLjEiKTsK KytfX2FzbV9fKCIuc3ltdmVyIF9jdXJyZW50X1NTTGVheV92ZXJzaW9uLFNTTGVheV92ZXJzaW9u QEBPUEVOU1NMXzEuMC4xIik7CitkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9NYWtlZmlsZS5zaGFy ZWQudmVyc2lvbiBvcGVuc3NsLTEuMC4xZS9NYWtlZmlsZS5zaGFyZWQKKy0tLSBvcGVuc3NsLTEu MC4xZS9NYWtlZmlsZS5zaGFyZWQudmVyc2lvbgkyMDEzLTA3LTI2IDEyOjIzOjQzLjYxNTU0NTYw MyArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL01ha2VmaWxlLnNoYXJlZAkyMDEzLTA3LTI2IDEy OjIzOjQzLjcwMTU0NzM5OCArMDIwMAorQEAgLTE1MSw3ICsxNTEsNyBAQCBET19HTlVfU089JChD QUxDX1ZFUlNJT05TKTsgXAorIAlTSExJQl9TVUZGSVg9OyBcCisgCUFMTFNZTVNGTEFHUz0nLVds LC0td2hvbGUtYXJjaGl2ZSc7IFwKKyAJTk9BTExTWU1TRkxBR1M9Jy1XbCwtLW5vLXdob2xlLWFy Y2hpdmUnOyBcCistCVNIQVJFREZMQUdTPSIkKENGTEFHUykgJChTSEFSRURfTERGTEFHUykgLXNo YXJlZCAtV2wsLUJzeW1ib2xpYyAtV2wsLXNvbmFtZT0kJFNITElCJCRTSExJQl9TT1ZFUiQkU0hM SUJfU1VGRklYIgorKwlTSEFSRURGTEFHUz0iJChDRkxBR1MpICQoU0hBUkVEX0xERkxBR1MpIC1z aGFyZWQgLVdsLC1Cc3ltYm9saWMgLVdsLC0tZGVmYXVsdC1zeW12ZXIsLS12ZXJzaW9uLXNjcmlw dD12ZXJzaW9uLm1hcCAtV2wsLXNvbmFtZT0kJFNITElCJCRTSExJQl9TT1ZFUiQkU0hMSUJfU1VG RklYIgorIAorIERPX0dOVV9BUFA9TERGTEFHUz0iJChDRkxBR1MpIgorIAorZGlmZiAtdXAgb3Bl bnNzbC0xLjAuMWUvdmVyc2lvbi5tYXAudmVyc2lvbiBvcGVuc3NsLTEuMC4xZS92ZXJzaW9uLm1h cAorLS0tIG9wZW5zc2wtMS4wLjFlL3ZlcnNpb24ubWFwLnZlcnNpb24JMjAxMy0wNy0yNiAxMjoy Mzo0My43MDE1NDczOTggKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS92ZXJzaW9uLm1hcAkyMDEz LTA3LTI2IDEyOjI5OjEwLjY5ODM3MTQ3MiArMDIwMAorQEAgLTAsMCArMSw4IEBACisrT1BFTlNT TF8xLjAuMSB7CisrICAgIGdsb2JhbDoKKysJICAgIFNTTGVheTsKKysJICAgIFNTTGVheV92ZXJz aW9uOworKyAgICBsb2NhbDoKKysJICAgIF9vcmlnaW5hbCo7CisrCSAgICBfY3VycmVudCo7Cisr fTsKCmRpZmYgLS1naXQgYS9vcGVuc3NsLWZpcHMuY29uZiBiL29wZW5zc2wtZmlwcy5jb25mCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUxNTVmNjEKLS0tIC9kZXYvbnVsbAor KysgYi9vcGVuc3NsLWZpcHMuY29uZgpAQCAtMCwwICsxLDIgQEAKKy1iIC91c3IvbGlieyw2NH0v bGliY3J5cHRvLnNvLioKKy1iIC91c3IvbGlieyw2NH0vbGlic3NsLnNvLioKCmRpZmYgLS1naXQg YS9vcGVuc3NsLnNwZWMgYi9vcGVuc3NsLnNwZWMKaW5kZXggMTZiZTViNS4uYmQ2NTVkMiAxMDA2 NDQKLS0tIGEvb3BlbnNzbC5zcGVjCisrKyBiL29wZW5zc2wuc3BlYwpAQCAtMjEsMTIgKzIxLDEy IEBACiBTdW1tYXJ5OiBVdGlsaXRpZXMgZnJvbSB0aGUgZ2VuZXJhbCBwdXJwb3NlIGNyeXB0b2dy YXBoeSBsaWJyYXJ5IHdpdGggVExTIGltcGxlbWVudGF0aW9uCiBOYW1lOiBvcGVuc3NsCiBWZXJz aW9uOiAxLjAuMWUKLVJlbGVhc2U6IDQlez9kaXN0fS4xCitSZWxlYXNlOiAyOCV7P2Rpc3R9CiBF cG9jaDogMQogIyBXZSBoYXZlIHRvIHJlbW92ZSBjZXJ0YWluIHBhdGVudGVkIGFsZ29yaXRobXMg ZnJvbSB0aGUgb3BlbnNzbCBzb3VyY2UKICMgdGFyYmFsbCB3aXRoIHRoZSBob2JibGUtb3BlbnNz bCBzY3JpcHQgd2hpY2ggaXMgaW5jbHVkZWQgYmVsb3cuCiAjIFRoZSBvcmlnaW5hbCBvcGVuc3Ns IHVwc3RyZWFtIHRhcmJhbGwgY2Fubm90IGJlIHNoaXBwZWQgaW4gdGhlIC5zcmMucnBtLgotU291 cmNlOiBvcGVuc3NsLSV7dmVyc2lvbn0tdXNhLnRhci54egorU291cmNlOiBvcGVuc3NsLSV7dmVy c2lvbn0taG9iYmxlZC50YXIueHoKIFNvdXJjZTE6IGhvYmJsZS1vcGVuc3NsCiBTb3VyY2UyOiBN YWtlZmlsZS5jZXJ0aWZpY2F0ZQogU291cmNlNjogbWFrZS1kdW1teS1jZXJ0CkBAIC0zNSw2ICsz NSw4IEBAIFNvdXJjZTg6IG9wZW5zc2wtdGhyZWFkLXRlc3QuYwogU291cmNlOTogb3BlbnNzbGNv bmYtbmV3LmgKIFNvdXJjZTEwOiBvcGVuc3NsY29uZi1uZXctd2FybmluZy5oCiBTb3VyY2UxMTog UkVBRE1FLkZJUFMKK1NvdXJjZTEyOiBlY19jdXJ2ZS5jCitTb3VyY2UxMzogZWN0ZXN0LmMKICMg QnVpbGQgY2hhbmdlcwogUGF0Y2gxOiBvcGVuc3NsLTEuMC4xLWJldGEyLXJwbWJ1aWxkLnBhdGNo CiBQYXRjaDI6IG9wZW5zc2wtMS4wLjBmLWRlZmF1bHRzLnBhdGNoCkBAIC01OSw3ICs2MSw3IEBA IFBhdGNoNDU6IG9wZW5zc2wtMS4wLjFlLWVudi16bGliLnBhdGNoCiBQYXRjaDQ3OiBvcGVuc3Ns LTEuMC4wLWJldGE1LXJlYWRtZS13YXJuaW5nLnBhdGNoCiBQYXRjaDQ5OiBvcGVuc3NsLTEuMC4x YS1hbGdvLWRvYy5wYXRjaAogUGF0Y2g1MDogb3BlbnNzbC0xLjAuMS1iZXRhMi1kdGxzMS1hYmku cGF0Y2gKLVBhdGNoNTE6IG9wZW5zc2wtMS4wLjEtdmVyc2lvbi5wYXRjaAorUGF0Y2g1MTogb3Bl bnNzbC0xLjAuMWUtdmVyc2lvbi5wYXRjaAogUGF0Y2g1Njogb3BlbnNzbC0xLjAuMGMtcnNhLXg5 MzEucGF0Y2gKIFBhdGNoNTg6IG9wZW5zc2wtMS4wLjEtYmV0YTItZmlwcy1tZDUtYWxsb3cucGF0 Y2gKIFBhdGNoNjA6IG9wZW5zc2wtMS4wLjBkLWFwcHMtZGdzdC5wYXRjaApAQCAtNjgsMTEgKzcw LDE2IEBAIFBhdGNoNjU6IG9wZW5zc2wtMS4wLjBlLWNoaWwtZml4ZXMucGF0Y2gKIFBhdGNoNjY6 IG9wZW5zc2wtMS4wLjEtcGtnY29uZmlnLWtyYjUucGF0Y2gKIFBhdGNoNjg6IG9wZW5zc2wtMS4w LjFlLXNlY3VyZS1nZXRlbnYucGF0Y2gKIFBhdGNoNjk6IG9wZW5zc2wtMS4wLjFjLWRoLTEwMjQu cGF0Y2gKK1BhdGNoNzA6IG9wZW5zc2wtMS4wLjFlLWZpcHMtZWMucGF0Y2gKK1BhdGNoNzE6IG9w ZW5zc2wtMS4wLjFlLW1hbmZpeC5wYXRjaAorUGF0Y2g3Mjogb3BlbnNzbC0xLjAuMWUtZmlwcy1j dG9yLnBhdGNoCitQYXRjaDczOiBvcGVuc3NsLTEuMC4xZS1zcGVlZC1zdWl0ZWIucGF0Y2gKICMg QmFja3BvcnRlZCBmaXhlcyBpbmNsdWRpbmcgc2VjdXJpdHkgZml4ZXMKIFBhdGNoODE6IG9wZW5z c2wtMS4wLjEtYmV0YTItcGFkbG9jazY0LnBhdGNoCiBQYXRjaDgyOiBvcGVuc3NsLTEuMC4xZS1i YWNrcG9ydHMucGF0Y2gKIFBhdGNoODM6IG9wZW5zc2wtMS4wLjFlLWJhZC1tYWMucGF0Y2gKLVBh dGNoODQ6IG9wZW5zc2wtMS4wLjFlLWZpcHMtZWMucGF0Y2gKK1BhdGNoODQ6IG9wZW5zc2wtMS4w LjFlLXRydXN0ZWQtZmlyc3QucGF0Y2gKK1BhdGNoODU6IG9wZW5zc2wtMS4wLjFlLWFybS11c2Ut ZWxmLWF1eHYtY2Fwcy5wYXRjaAogCiBMaWNlbnNlOiBPcGVuU1NMCiBHcm91cDogU3lzdGVtIEVu dmlyb25tZW50L0xpYnJhcmllcwpAQCAtOTUsNiArMTAyLDggQEAgR3JvdXA6IFN5c3RlbSBFbnZp cm9ubWVudC9MaWJyYXJpZXMKIFJlcXVpcmVzOiBjYS1jZXJ0aWZpY2F0ZXMgPj0gMjAwOC01CiAj IE5lZWRlZCBvYnNvbGV0ZXMgZHVlIHRvIHRoZSBiYXNlL2xpYiBzdWJwYWNrYWdlIHNwbGl0CiBP YnNvbGV0ZXM6IG9wZW5zc2wgPCAxOjEuMC4xLTAuMy5iZXRhMworT2Jzb2xldGVzOiBvcGVuc3Ns LWZpcHMgPCAxOjEuMC4xZS0yOAorUHJvdmlkZXM6IG9wZW5zc2wtZmlwcyA9ICV7ZXBvY2h9OiV7 dmVyc2lvbn0tJXtyZWxlYXNlfQogCiAlZGVzY3JpcHRpb24gbGlicwogT3BlblNTTCBpcyBhIHRv b2xraXQgZm9yIHN1cHBvcnRpbmcgY3J5cHRvZ3JhcGh5LiBUaGUgb3BlbnNzbC1saWJzCkBAIC0x NDEsNiArMTUwLDkgQEAgZnJvbSBvdGhlciBmb3JtYXRzIHRvIHRoZSBmb3JtYXRzIHVzZWQgYnkg dGhlIE9wZW5TU0wgdG9vbGtpdC4KICMgVGhlIGhvYmJsZV9vcGVuc3NsIGlzIGNhbGxlZCBoZXJl IHJlZHVuZGFudGx5LCBqdXN0IHRvIGJlIHN1cmUuCiAjIFRoZSB0YXJiYWxsIGhhcyBhbHJlYWR5 IHRoZSBzb3VyY2VzIHJlbW92ZWQuCiAle1NPVVJDRTF9ID4gL2Rldi9udWxsCisKK2NwICV7U09V UkNFMTJ9ICV7U09VUkNFMTN9IGNyeXB0by9lYy8KKwogJXBhdGNoMSAtcDEgLWIgLnJwbWJ1aWxk CiAlcGF0Y2gyIC1wMSAtYiAuZGVmYXVsdHMKICVwYXRjaDQgLXAxIC1iIC5lbmdpbmVzZGlyICV7 P19yYXdidWlsZH0KQEAgLTE3MywxMSArMTg1LDE2IEBAIGZyb20gb3RoZXIgZm9ybWF0cyB0byB0 aGUgZm9ybWF0cyB1c2VkIGJ5IHRoZSBPcGVuU1NMIHRvb2xraXQuCiAlcGF0Y2g2NiAtcDEgLWIg LmtyYjUKICVwYXRjaDY4IC1wMSAtYiAuc2VjdXJlLWdldGVudgogJXBhdGNoNjkgLXAxIC1iIC5k aDEwMjQKKyVwYXRjaDcwIC1wMSAtYiAuZmlwcy1lYworJXBhdGNoNzIgLXAxIC1iIC5maXBzLWN0 b3IKKyVwYXRjaDczIC1wMSAtYiAuc3VpdGViCiAKICVwYXRjaDgxIC1wMSAtYiAucGFkbG9jazY0 CiAlcGF0Y2g4MiAtcDEgLWIgLmJhY2twb3J0cworJXBhdGNoNzEgLXAxIC1iIC5tYW5maXgKICVw YXRjaDgzIC1wMSAtYiAuYmFkLW1hYwotJXBhdGNoODQgLXAxIC1iIC5maXBzLWVjCislcGF0Y2g4 NCAtcDEgLWIgLnRydXN0ZWQtZmlyc3QKKyVwYXRjaDg1IC1wMSAtYiAuYXJtY2FwCiAKIHNlZCAt aSAncy9TSExJQl9WRVJTSU9OX05VTUJFUiAiMS4wLjAiL1NITElCX1ZFUlNJT05fTlVNQkVSICIl e3ZlcnNpb259Ii8nIGNyeXB0by9vcGVuc3Nsdi5oCiAKQEAgLTIxNSw3ICsyMzIsMTAgQEAgc3Ns YXJjaD0ibGludXgtZ2VuZXJpYzMyIC1EQl9FTkRJQU4iCiAlaWZhcmNoIHMzOTB4CiBzc2xhcmNo PSJsaW51eDY0LXMzOTB4IgogJWVuZGlmCi0laWZhcmNoICV7YXJtfSBzaDMgc2g0CislaWZhcmNo ICV7YXJtfQorc3NsYXJjaD1saW51eC1hcm12NAorJWVuZGlmCislaWZhcmNoIHNoMyBzaDQKIHNz bGFyY2g9bGludXgtZ2VuZXJpYzMyCiAlZW5kaWYKICVpZmFyY2ggJXtwb3dlcjY0fQpAQCAtMjI3 LDkgKzI0Nyw5IEBAIHNzbGFyY2g9bGludXgtcHBjNjQKICMgdXNhYmxlIG9uIGFsbCBwbGF0Zm9y bXMuICBUaGUgQ29uZmlndXJlIHNjcmlwdCBhbHJlYWR5IGtub3dzIHRvIHVzZSAtZlBJQyBhbmQK ICMgUlBNX09QVF9GTEFHUywgc28gd2UgY2FuIHNraXAgc3BlY2lmaXlpbmcgdGhlbSBoZXJlLgog Li9Db25maWd1cmUgXAotCS0tcHJlZml4PS91c3IgLS1vcGVuc3NsZGlyPSV7X3N5c2NvbmZkaXJ9 L3BraS90bHMgJHtzc2xmbGFnc30gXAorCS0tcHJlZml4PSV7X3ByZWZpeH0gLS1vcGVuc3NsZGly PSV7X3N5c2NvbmZkaXJ9L3BraS90bHMgJHtzc2xmbGFnc30gXAogCXpsaWIgZW5hYmxlLWNhbWVs bGlhIGVuYWJsZS1zZWVkIGVuYWJsZS10bHNleHQgZW5hYmxlLXJmYzM3NzkgXAotCWVuYWJsZS1j bXMgZW5hYmxlLW1kMiBuby1tZGMyIG5vLXJjNSBuby1zcnAgXAorCWVuYWJsZS1jbXMgZW5hYmxl LW1kMiBuby1tZGMyIG5vLXJjNSBuby1lYzJtIG5vLWdvc3Qgbm8tc3JwIFwKIAktLXdpdGgta3Ji NS1mbGF2b3I9TUlUIC0tZW5naW5lc2Rpcj0le19saWJkaXJ9L29wZW5zc2wvZW5naW5lcyBcCiAJ LS13aXRoLWtyYjUtZGlyPS91c3Igc2hhcmVkICAke3NzbGFyY2h9ICV7PyFub2ZpcHM6Zmlwc30K IApAQCAtMzEzLDYgKzMzMyw3IEBAIGRvbmUKIAogIyBSZW5hbWUgbWFuIHBhZ2VzIHNvIHRoYXQg dGhleSBkb24ndCBjb25mbGljdCB3aXRoIG90aGVyIHN5c3RlbSBtYW4gcGFnZXMuCiBwdXNoZCAk UlBNX0JVSUxEX1JPT1Qle19tYW5kaXJ9CitsbiAtcyAtZiBjb25maWcuNSBtYW41L29wZW5zc2wu Y25mLjUKIGZvciBtYW5wYWdlIGluIG1hbiovKiA7IGRvCiAJaWYgWyAtTCAke21hbnBhZ2V9IF07 IHRoZW4KIAkJVEFSR0VUPWBscyAtbCAke21hbnBhZ2V9IHwgYXdrICd7IHByaW50ICRORiB9J2AK QEAgLTQzNSw5ICs0NTYsODcgQEAgcm0gLXJmICRSUE1fQlVJTERfUk9PVC8le19saWJkaXJ9L2Zp cHNjYW5pc3Rlci4qCiAlcG9zdHVuIGxpYnMgLXAgL3NiaW4vbGRjb25maWcKIAogJWNoYW5nZWxv ZwotKiBUdWUgT2N0IDE1IDIwMTMgVG9tIENhbGxhd2F5IDxzcG90QGZlZG9yYXByb2plY3Qub3Jn PiAxLjAuMWUtNC4xCisqIFdlZCBPY3QgMTYgMjAxMyBUb23DocWhIE1yw6F6IDx0bXJhekByZWRo YXQuY29tPiAxLjAuMWUtMjgKKy0gb25seSBFQ0MgTklTVCBTdWl0ZSBCIGN1cnZlcyBzdXBwb3J0 CistIGRyb3AgLWZpcHMgc3VicGFja2FnZQorCisqIE1vbiBPY3QgMTQgMjAxMyBUb20gQ2FsbGF3 YXkgPHNwb3RAZmVkb3JhcHJvamVjdC5vcmc+IC0gMS4wLjFlLTI3CiAtIHJlc29sdmUgYnVnemls bGEgMzE5OTAxIChwaGV3ISBvbmx5IHRvb2sgNiB5ZWFycyAmIDkgZGF5cykKIAorKiBGcmkgU2Vw IDI3IDIwMTMgVG9tw6HFoSBNcsOheiA8dG1yYXpAcmVkaGF0LmNvbT4gMS4wLjFlLTI2CistIG1h a2UgRFRMUzEgd29yayBpbiBGSVBTIG1vZGUKKy0gYXZvaWQgUlNBIGFuZCBEU0EgNTEyIGJpdHMg YW5kIFdoaXJscG9vbCBpbiAnb3BlbnNzbCBzcGVlZCcgaW4gRklQUyBtb2RlCisKKyogTW9uIFNl cCAyMyAyMDEzIFRvbcOhxaEgTXLDoXogPHRtcmF6QHJlZGhhdC5jb20+IDEuMC4xZS0yNQorLSBh dm9pZCBkbG9wZW5pbmcgbGlic3NsLnNvIGZyb20gbGliY3J5cHRvICgjMTAxMDM1NykKKworKiBG cmkgU2VwIDIwIDIwMTMgVG9tw6HFoSBNcsOheiA8dG1yYXpAcmVkaGF0LmNvbT4gMS4wLjFlLTI0 CistIGZpeCBzbWFsbCBtZW1vcnkgbGVhayBpbiBGSVBTIGFlcyBzZWxmdGVzdAorCisqIFRodSBT ZXAgMTkgMjAxMyBUb23DocWhIE1yw6F6IDx0bXJhekByZWRoYXQuY29tPiAxLjAuMWUtMjMKKy0g Zml4IHNlZ2ZhdWx0IGluIG9wZW5zc2wgc3BlZWQgaG1hYyBpbiB0aGUgRklQUyBtb2RlCisKKyog VGh1IFNlcCAxMiAyMDEzIFRvbcOhxaEgTXLDoXogPHRtcmF6QHJlZGhhdC5jb20+IDEuMC4xZS0y MgorLSBkb2N1bWVudCB0aGUgbmV4dHByb3RvbmVnIG9wdGlvbiBpbiBtYW51YWwgcGFnZXMKKyAg b3JpZ2luYWwgcGF0Y2ggYnkgSHViZXJ0IEthcmlvCisKKyogVHVlIFNlcCAxMCAyMDEzIEt5bGUg TWNNYXJ0aW4gPGt5bGVAcmVkaGF0LmNvbT4gMS4wLjFlLTIxCistIFthcm1dIHVzZSBlbGYgYXV4 diB0byBmaWd1cmUgb3V0IGFybWNhcC5jIGluc3RlYWQgb2YgcGxheWluZyBzaWxseQorICBnYW1l cyB3aXRoIFNJR0lMTCBoYW5kbGVycy4gKCMxMDA2NDc0KQorCisqIFdlZCBTZXAgIDQgMjAxMyBU b21hcyBNcmF6IDx0bXJhekByZWRoYXQuY29tPiAxLjAuMWUtMjAKKy0gdHJ5IHRvIGF2b2lkIHNv bWUgcmFjZXMgd2hlbiB1cGRhdGluZyB0aGUgLWZpcHMgc3VicGFja2FnZQorCisqIE1vbiBTZXAg IDIgMjAxMyBUb21hcyBNcmF6IDx0bXJhekByZWRoYXQuY29tPiAxLjAuMWUtMTkKKy0gdXNlIHZl cnNpb24tcmVsZWFzZSBpbiAuaG1hYyBzdWZmaXggdG8gYXZvaWQgb3ZlcndyaXRlCisgIGR1cmlu ZyB1cGdyYWRlCisKKyogVGh1IEF1ZyAyOSAyMDEzIFRvbWFzIE1yYXogPHRtcmF6QHJlZGhhdC5j b20+IDEuMC4xZS0xOAorLSBhbGxvdyBkZWluaXRpYWxpemF0aW9uIG9mIHRoZSBGSVBTIG1vZGUK KworKiBUaHUgQXVnIDI5IDIwMTMgVG9tYXMgTXJheiA8dG1yYXpAcmVkaGF0LmNvbT4gMS4wLjFl LTE3CistIGFsd2F5cyBwZXJmb3JtIHRoZSBGSVBTIHNlbGZ0ZXN0cyBpbiBsaWJyYXJ5IGNvbnN0 cnVjdG9yCisgIGlmIEZJUFMgbW9kdWxlIGlzIGluc3RhbGxlZAorCisqIFR1ZSBBdWcgMjcgMjAx MyBUb21hcyBNcmF6IDx0bXJhekByZWRoYXQuY29tPiAxLjAuMWUtMTYKKy0gYWRkIC1maXBzIHN1 YnBhY2thZ2UgdGhhdCBjb250YWlucyB0aGUgRklQUyBtb2R1bGUgZmlsZXMKKworKiBGcmkgQXVn IDE2IDIwMTMgVG9tYXMgTXJheiA8dG1yYXpAcmVkaGF0LmNvbT4gMS4wLjFlLTE1CistIGZpeCB1 c2Ugb2YgcmRyYW5kIGlmIGF2YWlsYWJsZQorLSBtb3JlIGNvbW1pdHMgY2hlcnJ5IHBpY2tlZCBm cm9tIHVwc3RyZWFtCistIGRvY3VtZW50YXRpb24gZml4ZXMKKworKiBTYXQgQXVnIDAzIDIwMTMg UGV0ciBQaXNhciA8cHBpc2FyQHJlZGhhdC5jb20+IC0gMToxLjAuMWUtMTQKKy0gUGVybCA1LjE4 IHJlYnVpbGQKKworKiBGcmkgSnVsIDI2IDIwMTMgVG9tYXMgTXJheiA8dG1yYXpAcmVkaGF0LmNv bT4gMS4wLjFlLTEzCistIGFkZGl0aW9uYWwgbWFudWFsIHBhZ2UgZml4CistIHVzZSBzeW1ib2wg dmVyc2lvbmluZyBhbHNvIGZvciB0aGUgdGV4dHVhbCB2ZXJzaW9uCisKKyogVGh1IEp1bCAyNSAy MDEzIFRvbWFzIE1yYXogPHRtcmF6QHJlZGhhdC5jb20+IDEuMC4xZS0xMgorLSBhZGRpdGlvbmFs IG1hbnVhbCBwYWdlIGZpeGVzCisKKyogRnJpIEp1bCAxOSAyMDEzIFRvbWFzIE1yYXogPHRtcmF6 QHJlZGhhdC5jb20+IDEuMC4xZS0xMQorLSB1c2UgX3ByZWZpeCBtYWNybworCisqIFdlZCBKdWwg MTcgMjAxMyBQZXRyIFBpc2FyIDxwcGlzYXJAcmVkaGF0LmNvbT4gLSAxOjEuMC4xZS0xMAorLSBQ ZXJsIDUuMTggcmVidWlsZAorCisqIFRodSBKdWwgMTEgMjAxMyBUb21hcyBNcmF6IDx0bXJhekBy ZWRoYXQuY29tPiAxLjAuMWUtOQorLSBhZGQgb3BlbnNzbC5jbmYuNSBtYW5wYWdlIHN5bWxpbmsg dG8gY29uZmlnLjUKKworKiBXZWQgSnVsIDEwIDIwMTMgVG9tYXMgTXJheiA8dG1yYXpAcmVkaGF0 LmNvbT4gMS4wLjFlLTgKKy0gYWRkIHJlbHJvIGxpbmtpbmcgZmxhZworCisqIFdlZCBKdWwgMTAg MjAxMyBUb21hcyBNcmF6IDx0bXJhekByZWRoYXQuY29tPiAxLjAuMWUtNworLSBhZGQgc3VwcG9y dCBmb3IgdGhlIC10cnVzdGVkX2ZpcnN0IG9wdGlvbiBmb3IgY2VydGlmaWNhdGUgY2hhaW4gdmVy aWZpY2F0aW9uCisKKyogRnJpIE1heSAgMyAyMDEzIFRvbWFzIE1yYXogPHRtcmF6QHJlZGhhdC5j b20+IDEuMC4xZS02CistIGZpeCBidWlsZCBvZiBtYW51YWwgcGFnZXMgd2l0aCBjdXJyZW50IHBv ZDJtYW4gKCM5NTk0MzkpCisKKyogU3VuIEFwciAyMSAyMDEzIFBldGVyIFJvYmluc29uIDxwYnJv Ymluc29uQGZlZG9yYXByb2plY3Qub3JnPiAxLjAuMWUtNQorLSBFbmFibGUgQVJNIG9wdGltaXNl ZCBidWlsZAorCiAqIE1vbiBNYXIgMTggMjAxMyBUb21hcyBNcmF6IDx0bXJhekByZWRoYXQuY29t PiAxLjAuMWUtNAogLSBmaXggcmFuZG9tIGJhZCByZWNvcmQgbWFjIGVycm9ycyAoIzkxODk4MSkK IAoKZGlmZiAtLWdpdCBhL3NvdXJjZXMgYi9zb3VyY2VzCmluZGV4IGQ1YWJhZjguLjU1NmRjYjQg MTAwNjQ0Ci0tLSBhL3NvdXJjZXMKKysrIGIvc291cmNlcwpAQCAtMSArMSBAQAotM2IwODQ1Y2Zi YmIyYWYzNTBlZjNiMDI2ZjhkZmNkNWYgIG9wZW5zc2wtMS4wLjFlLXVzYS50YXIueHoKKzYxMTVh ZTBiYjYxYjQ4MWE5MTk1YmFlZjcyNTE0YzJlICBvcGVuc3NsLTEuMC4xZS1ob2JibGVkLnRhci54 ego=