From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 687CA4D1CA for ; Mon, 15 Dec 2025 08:54:31 +0000 (UTC) Authentication-Results: ffbox; dkim=fail (body hash mismatch (got b'VKBmhhrJ+FcJpF4Fe+MOljL/7DQBj157c/rzsudDRvo=', expected b'rnAA3NqLxz6/f32Gp/UTcX3AENe5DciGTG8Zy5/aMUM=')) header.d=ffmpeg.org header.i=@ffmpeg.org header.a=rsa-sha256 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1765788849; h=content-type : mime-version : to : date : message-id : reply-to : subject : list-id : list-archive : list-archive : list-help : list-owner : list-post : list-subscribe : list-unsubscribe : from : cc : content-transfer-encoding : from; bh=VKBmhhrJ+FcJpF4Fe+MOljL/7DQBj157c/rzsudDRvo=; b=fG9ucBiDE/K9skhSuygg0eCIOd98Z4WL3lYqEwyelZqFslP0WHQ+MBY35SM68wkXelNGW 8H08ntMl9QjVNU7R4M5MMHwMWkWu2yHHCY/HanfEUA1SABXTOF6/QdTOErgubp2KsyOvjbn eaA7t6PvIpIRUmDQRBlRybr9yJCgDqr6hPKrXjBl5wZwNoEkeAL3YzXHSmgKdY9L6bTSOub 6feUPoMAtbQb+TaW3HcgsS67ImPwwuhw3Jzm8QQCtM0IBUW1TTbhf/hMGpCfkZseXHGN1qo JXZPT/pi3ZW62P02CAulKWeVhmtP6sFrZG3+Ez6xYKEyr46NDW9kpLqUDrDA== Received: from [172.20.0.2] (unknown [172.19.0.4]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id AAA36690859; Mon, 15 Dec 2025 10:54:09 +0200 (EET) ARC-Seal: i=1; cv=none; a=rsa-sha256; d=ffmpeg.org; s=arc; t=1765788839; b=t4822spJ0H//bFBDQnR1n116EMgmfGKKA00kq7hZ4TDXAj76c3cOFyDTWqwq1ldA/z2y+ TLYZq+015g27P9rgziyHWIQ15BZ673RexLA1AeaL/+tb3O0yGe9opmP981OI6swyeOhanVi UPugLGjDr/MssA4VEAgh2IPoLe3F5Nep2KUC0kWkJZn19ujvOic+f3cjou/9dgEn56dMeFn tVZg2+SSnXIJsHBDvURD4kawOzc5IwYe7fkxgxby067XVNeXdJZ6vnjI7e86xw1YRXHIBCQ //AxtpnCS1TX67D69f2qIl5RPioSS7g/gZfjpISIPGffo0S7rMLXe2yZCn1w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=ffmpeg.org; s=arc; t=1765788839; h=from : sender : reply-to : subject : date : message-id : to : cc : mime-version : content-type : content-transfer-encoding : content-id : content-description : resent-date : resent-from : resent-sender : resent-to : resent-cc : resent-message-id : in-reply-to : references : list-id : list-help : list-unsubscribe : list-subscribe : list-post : list-owner : list-archive; bh=VKBmhhrJ+FcJpF4Fe+MOljL/7DQBj157c/rzsudDRvo=; b=X+xreui3pszinXp4INaJo/t7AKFPztMK9XZ0wPW02IBCdtvRmyfJgsDqfP5po2AI6QKZ1 MnceVMw5xVn3+ZWEnnKG02r9B0mBldPFYESIrHsSultEHiC5e8NlwaWLBkofGBTqH+88adO d7tAHYjRPXattjoSQ08vmazELO43Hj1bo4selsYwReqGK4yT4sINDqK+KDN5QrCpc++0oBQ BQbYHaDh6daV1xMaMYgUwrjzR1g62p6flRQQuEsBhYtqUyef0DmWTn5T3yfCwcVJ5rQq4Fb zpgYMl/qZdnvVfidHkpRoou8JP2iVNIJK92VRQdomQ+Kp0R9SJPYEjRxDThQ== ARC-Authentication-Results: i=1; ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none; dmarc=pass header.from=ffmpeg.org policy.dmarc=quarantine Authentication-Results: ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none (Message is not ARC signed); dmarc=pass (Used From Domain Record) header.from=ffmpeg.org policy.dmarc=quarantine DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1765788831; h=content-type : mime-version : content-transfer-encoding : from : to : reply-to : subject : date : from; bh=rnAA3NqLxz6/f32Gp/UTcX3AENe5DciGTG8Zy5/aMUM=; b=VfX06K1SCxnvloOxT7YeYsWssGKiuED2edNgUcEyhNgmBT9XnGPVoSdqZl7/rdNj2sip4 MMTv7nqDVt4qdt2AJCA1q3cnRLmIQ9JXAb3UdiD+4ipbX3CtRRzeHu6J4bFj0OyapGl45xN Ztb3DpzuTne+e0zVXZQSxX138BE/seb/p2sIFY94LH5vgtJ4eqJwhP3ikWyJ8g09u6RnVci CWJOt35Dc5SWZ++iiVLT0Brh00duPXhsW+RH9kS4Y5tbPwQueSRIsIhVQVCFEee4tSFRDF/ Dgui5Ell27wCrJQNC/U3xHHRmWtF+zFqM/NPa1uMYHQRa0lvcS2EV3iogxwQ== Received: from 55ca25703178 (code.ffmpeg.org [188.245.149.3]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id D1876690505 for ; Mon, 15 Dec 2025 10:53:51 +0200 (EET) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Date: Mon, 15 Dec 2025 08:53:51 -0000 Message-ID: <176578883202.60.3529935150292942285@2cb04c0e5124> Message-ID-Hash: 4VMJNE2HB547NLRO3SV7SEKQYO45X7SL X-Message-ID-Hash: 4VMJNE2HB547NLRO3SV7SEKQYO45X7SL X-MailFrom: code@ffmpeg.org X-Mailman-Rule-Hits: nonmember-moderation X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-ffmpeg-devel.ffmpeg.org-0; header-match-ffmpeg-devel.ffmpeg.org-1; header-match-ffmpeg-devel.ffmpeg.org-2; header-match-ffmpeg-devel.ffmpeg.org-3; emergency; member-moderation X-Mailman-Version: 3.3.10 Precedence: list Reply-To: FFmpeg development discussions and patches Subject: [FFmpeg-devel] [PATCH] avcodec/wasm: WebAssembly-friendly scalar CABAC fast path optimization (PR #21202) List-Id: FFmpeg development discussions and patches Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: xiatao via ffmpeg-devel Cc: xiatao Content-Transfer-Encoding: base64 Archived-At: List-Archive: List-Post: UFIgIzIxMjAyIG9wZW5lZCBieSB4aWF0YW8KVVJMOiBodHRwczovL2NvZGUuZmZtcGVnLm9yZy9G Rm1wZWcvRkZtcGVnL3B1bGxzLzIxMjAyClBhdGNoIFVSTDogaHR0cHM6Ly9jb2RlLmZmbXBlZy5v cmcvRkZtcGVnL0ZGbXBlZy9wdWxscy8yMTIwMi5wYXRjaAoKU2lnbmVkLW9mZi1ieTogWGlhIFRh byA8eGlhdGFvQGdtYWlsLmNvbT4NCg0KUmV3cml0ZSBicmFuY2hsZXNzIGJpdC10d2lkZGxpbmcg aW50byB3YXNtLWZyaWVuZGx5IGxvZ2ljOiB1c2UgY29tcGFyaXNvbnMgdG8gcHJvZHVjZSAwLzEs IHRoZW4gdHVybiB0aGF0IGludG8gMC8tMSBtYXNrcyAob3IgYSB0aW55IGV4cGxpY2l0IGJyYW5j aCksIHJlZHVjaW5nIHRyaWNreSBzaGlmdHMgYW5kIGxvbmcgZGVwZW5kZW5jeSBjaGFpbnMuDQpG ZXdlciBtZW1vcnkgYWNjZXNzZXM6IGNhY2hlIGMtPnJhbmdlIC8gYy0+bG93IGFuZCBDQUJBQyB0 YWJsZSBiYXNlIHBvaW50ZXJzIGluIGxvY2FscyB0byBhdm9pZCByZXBlYXRlZCBsb2Fkcy9zdG9y ZXMuDQpTaG9ydGVyIGNyaXRpY2FsIHBhdGg6IGtlZXAgdGhlIGRlY29kZSBzdGVwIGFzIGEgc3Ry YWlnaHQtbGluZSBzZXF1ZW5jZSAodGhyZXNob2xkIGNvbXBhcmUg4oaSIHVwZGF0ZSBsb3cvcmFu Z2Ug4oaSIHVwZGF0ZSBzdGF0ZSkgdGhhdCBKSVRzIG9wdGltaXplIHdlbGwuDQpOb3RlOiBpdCBp cyBpbXBvcnRhbnQgdG8gZW1waGFzaXplIHRoYXQgdGhpcyBvcHRpbWl6YXRpb24gcmVsaWVzIHB1 cmVseSBvbiBzdGFuZGFyZCBzY2FsYXIgaW5zdHJ1Y3Rpb25zIGFuZCBtYWtlcyBubyB1c2Ugb2Yg V2ViQXNzZW1ibHkgU0lNRDEyOCBmZWF0dXJlcy4NCg0KQmVuY2htYXJrOg0Kd2FzbXRpbWUgdGVz dHMvY2hlY2thc20vY2hlY2thc20gICAgIC0tYmVuY2g9Y2FiKg0KDQpiZW5jaG1hcmtpbmcgd2l0 aCBuYXRpdmUgRkZtcGVnIHRpbWVycw0Kbm9wOiA0My45DQpjaGVja2FzbTogdXNpbmcgcmFuZG9t IHNlZWQgNzg2MDkyMzU4DQpjaGVja2FzbTogYmVuY2ggcnVucyAxMDI0ICgxIDw8IDEwKQ0KU0lN RDEyODoNCiAtIGNhYmFjLmNhYmFjICAgICAgICAgICAgICAgICAgICAgICAgICAgW09LXQ0KIC0g aGV2Y19pZGN0LmlkY3QgICAgICAgICAgICAgICAgICAgICAgICBbT0tdDQogLSBoZXZjX3Nhby5z YW9fYmFuZCAgICAgICAgICAgICAgICAgICAgIFtPS10NCiAtIGhldmNfc2FvLnNhb19lZGdlICAg ICAgICAgICAgICAgICAgICAgW09LXQ0KY2hlY2thc206IGFsbCAyMSB0ZXN0cyBwYXNzZWQNCmNh YmFjLmJ5cGFzc19jOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDcu MiAoIDEuMDB4KQ0KY2FiYWMuYnlwYXNzX3NpbWQxMjg6ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgMy4wICggMi4zN3gpDQpjYWJhYy5ieXBhc3Nfc2lnbl9jOiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAzLjYgKCAxLjAweCkNCmNhYmFjLmJ5cGFzc19zaWdu X3NpbWQxMjg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIuOCAoIDEuMjh4KQ0KY2Fi YWMuZ2V0X2M6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOS4y ICggMS4wMHgpDQpjYWJhYy5nZXRfc2ltZDEyODogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA3LjggKCAxLjE3eCkKCgpGcm9tIGJmMDE0NDIzZWQ2N2Y1NjgyN2Y4MmYxMDAx NTRkMmI5MzQyMWZiYzAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFhpYSBUYW8gPHhp YXRhb0BnbWFpbC5jb20+CkRhdGU6IE1vbiwgMTUgRGVjIDIwMjUgMTY6MjU6NDcgKzA4MDAKU3Vi amVjdDogW1BBVENIXSBhdmNvZGVjL3dhc206IFdlYkFzc2VtYmx5LWZyaWVuZGx5IHNjYWxhciBD QUJBQyBmYXN0IHBhdGgKIG9wdGltaXphdGlvbgoKU2lnbmVkLW9mZi1ieTogWGlhIFRhbyA8eGlh dGFvQGdtYWlsLmNvbT4KLS0tCiBsaWJhdmNvZGVjL2hldmMvY2FiYWMuYyAgIHwgICA3ICsrCiBs aWJhdmNvZGVjL3dhc20vTWFrZWZpbGUgIHwgICAxICsKIGxpYmF2Y29kZWMvd2FzbS9jYWJhYy5j ICAgfCAxMzAgKysrKysrKysrKysrKysrKysrKysrKysrCiBsaWJhdmNvZGVjL3dhc20vY2FiYWMu aCAgIHwgIDMyICsrKysrKwogdGVzdHMvY2hlY2thc20vTWFrZWZpbGUgICB8ICAgMSArCiB0ZXN0 cy9jaGVja2FzbS9jYWJhYy5jICAgIHwgMjAxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrCiB0ZXN0cy9jaGVja2FzbS9jaGVja2FzbS5jIHwgICAzICsKIHRlc3RzL2NoZWNr YXNtL2NoZWNrYXNtLmggfCAgIDEgKwogOCBmaWxlcyBjaGFuZ2VkLCAzNzYgaW5zZXJ0aW9ucygr KQogY3JlYXRlIG1vZGUgMTAwNjQ0IGxpYmF2Y29kZWMvd2FzbS9NYWtlZmlsZQogY3JlYXRlIG1v ZGUgMTAwNjQ0IGxpYmF2Y29kZWMvd2FzbS9jYWJhYy5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgbGli YXZjb2RlYy93YXNtL2NhYmFjLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0cy9jaGVja2FzbS9j YWJhYy5jCgpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9oZXZjL2NhYmFjLmMgYi9saWJhdmNvZGVj L2hldmMvY2FiYWMuYwppbmRleCA1NWQ1NzQxZjg3Li5jMGZlMjNlYzJlIDEwMDY0NAotLS0gYS9s aWJhdmNvZGVjL2hldmMvY2FiYWMuYworKysgYi9saWJhdmNvZGVjL2hldmMvY2FiYWMuYwpAQCAt MjksNiArMjksMTMgQEAKICNpbmNsdWRlICJoZXZjLmgiCiAjaW5jbHVkZSAiaGV2Y2RlYy5oIgog CisjaWYgQVJDSF9XQVNNCisjaW5jbHVkZSAibGliYXZjb2RlYy93YXNtL2NhYmFjLmgiCisjZGVm aW5lIGdldF9jYWJhYyAgICAgICAgICAgICAgZmZfZ2V0X2NhYmFjX3dhc20KKyNkZWZpbmUgZ2V0 X2NhYmFjX2J5cGFzcyAgICAgICBmZl9nZXRfY2FiYWNfYnlwYXNzX3dhc20KKyNkZWZpbmUgZ2V0 X2NhYmFjX2J5cGFzc19zaWduICBmZl9nZXRfY2FiYWNfYnlwYXNzX3NpZ25fd2FzbQorI2VuZGlm CisKICNkZWZpbmUgQ0FCQUNfTUFYX0JJTiAzMQogCiAvLyBFTEVNKE5BTUUsIE5VTV9CSU5TKQpk aWZmIC0tZ2l0IGEvbGliYXZjb2RlYy93YXNtL01ha2VmaWxlIGIvbGliYXZjb2RlYy93YXNtL01h a2VmaWxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLmUwYTUwNjYxOTcK LS0tIC9kZXYvbnVsbAorKysgYi9saWJhdmNvZGVjL3dhc20vTWFrZWZpbGUKQEAgLTAsMCArMSBA QAorT0JKUy0kKENPTkZJR19DQUJBQykgICAgICAgICAgICAgICAgICAgKz0gd2FzbS9jYWJhYy5v CmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL3dhc20vY2FiYWMuYyBiL2xpYmF2Y29kZWMvd2FzbS9j YWJhYy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLmY1ZmZiYjUzZWQK LS0tIC9kZXYvbnVsbAorKysgYi9saWJhdmNvZGVjL3dhc20vY2FiYWMuYwpAQCAtMCwwICsxLDEz MCBAQAorLyoKKyAqIENBQkFDIGhlbHBlcnMgZm9yIFdlYkFzc2VtYmx5CisgKgorICogQ29weXJp Z2h0IChjKSAyMDI1IFhpYSBUYW8KKyAqCisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBGRm1wZWcu CisgKgorICogRkZtcGVnIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0 IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBH ZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3Ig KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBGRm1wZWcgaXMgZGlz dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRI T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisg KiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT ZWUgdGhlIEdOVQorICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0 YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg TGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFsb25nIHdpdGggRkZtcGVnOyBpZiBu b3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBG cmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBCisg Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaW5jbHVkZSAibGliYXZjb2RlYy93YXNtL2Nh YmFjLmgiCisjaW5jbHVkZSAibGliYXZjb2RlYy9jYWJhY19mdW5jdGlvbnMuaCIKKyNpbmNsdWRl IDxzdGRpbnQuaD4KKyNpbmNsdWRlICJsaWJhdnV0aWwvYXR0cmlidXRlcy5oIgorI2luY2x1ZGUg ImxpYmF2dXRpbC9hdmFzc2VydC5oIgorI2luY2x1ZGUgImxpYmF2dXRpbC9pbnRyZWFkd3JpdGUu aCIKKworI2lmbmRlZiBVTkNIRUNLRURfQklUU1RSRUFNX1JFQURFUgorI2RlZmluZSBVTkNIRUNL RURfQklUU1RSRUFNX1JFQURFUiAhQ09ORklHX1NBRkVfQklUU1RSRUFNX1JFQURFUgorI2VuZGlm CisKK3N0YXRpYyBhdl9hbHdheXNfaW5saW5lIGludCBnZXRfY2FiYWNfY29yZV93YXNtKENBQkFD Q29udGV4dCAqYywgdWludDhfdCAqc3RhdGUpCit7CisgICAgaW50IHMgICAgID0gKnN0YXRlOwor ICAgIGludCByYW5nZSA9IGMtPnJhbmdlOworICAgIGludCBsb3cgICA9IGMtPmxvdzsKKyAgICBj b25zdCB1aW50OF90ICpscHNfcmFuZ2UgID0gZmZfaDI2NF9jYWJhY190YWJsZXMgKyBIMjY0X0xQ U19SQU5HRV9PRkZTRVQ7CisgICAgY29uc3QgdWludDhfdCAqbWxwc19zdGF0ZSA9IGZmX2gyNjRf Y2FiYWNfdGFibGVzICsgSDI2NF9NTFBTX1NUQVRFX09GRlNFVDsKKyAgICBjb25zdCB1aW50OF90 ICpub3JtX3NoaWZ0ID0gZmZfaDI2NF9jYWJhY190YWJsZXMgKyBIMjY0X05PUk1fU0hJRlRfT0ZG U0VUOworICAgIGludCBSYW5nZUxQUyA9IGxwc19yYW5nZVsyICogKHJhbmdlICYgMHhDMCkgKyBz XTsKKyAgICBpbnQgbHBzX21hc2s7CisgICAgaW50IGJpdDsKKworICAgIHsKKyAgICAgICAgaW50 IHJhbmdlX21wcyA9IHJhbmdlIC0gUmFuZ2VMUFM7CisgICAgICAgIGludCB0aHJlc2ggICAgPSBy YW5nZV9tcHMgPDwgKENBQkFDX0JJVFMgKyAxKTsKKyAgICAgICAgaW50IGlzX2xwcyAgICA9IGxv dyA+IHRocmVzaDsKKworICAgICAgICBscHNfbWFzayA9IC1pc19scHM7CisKKyAgICAgICAgbG93 ICAgPSBsb3cgLSAodGhyZXNoICYgbHBzX21hc2spOworICAgICAgICByYW5nZSA9IHJhbmdlX21w cyArICgoUmFuZ2VMUFMgLSByYW5nZV9tcHMpICYgbHBzX21hc2spOworICAgIH0KKworICAgIHMg Xj0gbHBzX21hc2s7CisgICAgKnN0YXRlID0gKG1scHNfc3RhdGUgKyAxMjgpW3NdOworICAgIGJp dCAgICA9IHMgJiAxOworCisgICAgbHBzX21hc2sgPSBub3JtX3NoaWZ0W3JhbmdlXTsKKyAgICBy YW5nZSAgPDw9IGxwc19tYXNrOworICAgIGxvdyAgICA8PD0gbHBzX21hc2s7CisKKyAgICBjLT5y YW5nZSA9IHJhbmdlOworICAgIGMtPmxvdyAgID0gbG93OworCisgICAgaWYgKCEobG93ICYgQ0FC QUNfTUFTSykpCisgICAgICAgIHJlZmlsbDIoYyk7CisKKyAgICByZXR1cm4gYml0OworfQorCitp bnQgZmZfZ2V0X2NhYmFjX3dhc20oQ0FCQUNDb250ZXh0ICpjLCB1aW50OF90ICpzdGF0ZSkKK3sK KyAgICByZXR1cm4gZ2V0X2NhYmFjX2NvcmVfd2FzbShjLCBzdGF0ZSk7Cit9CisKK3N0YXRpYyBh dl9hbHdheXNfaW5saW5lIGludCBnZXRfY2FiYWNfYnlwYXNzX2NvcmVfd2FzbShDQUJBQ0NvbnRl eHQgKmMpCit7CisgICAgYy0+bG93ICs9IGMtPmxvdzsKKworICAgIGlmICghKGMtPmxvdyAmIENB QkFDX01BU0spKQorICAgICAgICByZWZpbGwoYyk7CisKKyAgICB7CisgICAgICAgIGludCByYW5n ZV9zaGlmdGVkID0gYy0+cmFuZ2UgPDwgKENBQkFDX0JJVFMgKyAxKTsKKyAgICAgICAgaW50IGxv dyAgICAgICAgICAgPSBjLT5sb3c7CisgICAgICAgIGludCBiaXQgICAgICAgICAgID0gbG93ID49 IHJhbmdlX3NoaWZ0ZWQ7CisKKyAgICAgICAgaWYgKGJpdCkKKyAgICAgICAgICAgIGxvdyAtPSBy YW5nZV9zaGlmdGVkOworCisgICAgICAgIGMtPmxvdyA9IGxvdzsKKyAgICAgICAgcmV0dXJuIGJp dDsKKyAgICB9Cit9CisKK2ludCBmZl9nZXRfY2FiYWNfYnlwYXNzX3dhc20oQ0FCQUNDb250ZXh0 ICpjKQoreworICAgIHJldHVybiBnZXRfY2FiYWNfYnlwYXNzX2NvcmVfd2FzbShjKTsKK30KKwor c3RhdGljIGF2X2Fsd2F5c19pbmxpbmUgaW50IGdldF9jYWJhY19ieXBhc3Nfc2lnbl9jb3JlX3dh c20oQ0FCQUNDb250ZXh0ICpjLCBpbnQgdmFsKQoreworICAgIGMtPmxvdyArPSBjLT5sb3c7CisK KyAgICBpZiAoIShjLT5sb3cgJiBDQUJBQ19NQVNLKSkKKyAgICAgICAgcmVmaWxsKGMpOworCisg ICAgeworICAgICAgICBpbnQgcmFuZ2Vfc2hpZnRlZCA9IGMtPnJhbmdlIDw8IChDQUJBQ19CSVRT ICsgMSk7CisgICAgICAgIGludCBsb3cgICAgICAgICAgID0gYy0+bG93OworICAgICAgICBpbnQg Yml0ICAgICAgICAgICA9IGxvdyA+PSByYW5nZV9zaGlmdGVkOworCisgICAgICAgIGlmIChiaXQp CisgICAgICAgICAgICBsb3cgLT0gcmFuZ2Vfc2hpZnRlZDsKKworICAgICAgICBjLT5sb3cgPSBs b3c7CisKKyAgICAgICAgcmV0dXJuIGJpdCA/IHZhbCA6IC12YWw7CisgICAgfQorfQorCitpbnQg ZmZfZ2V0X2NhYmFjX2J5cGFzc19zaWduX3dhc20oQ0FCQUNDb250ZXh0ICpjLCBpbnQgdmFsKQor eworICAgIHJldHVybiBnZXRfY2FiYWNfYnlwYXNzX3NpZ25fY29yZV93YXNtKGMsIHZhbCk7Cit9 CmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL3dhc20vY2FiYWMuaCBiL2xpYmF2Y29kZWMvd2FzbS9j YWJhYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjczOTM1ODUwZjIK LS0tIC9kZXYvbnVsbAorKysgYi9saWJhdmNvZGVjL3dhc20vY2FiYWMuaApAQCAtMCwwICsxLDMy IEBACisvKgorICogQ0FCQUMgaGVscGVycyBmb3IgV2ViQXNzZW1ibHkKKyAqCisgKiBDb3B5cmln aHQgKGMpIDIwMjUgWGlhIFRhbworICoKKyAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEZGbXBlZy4K KyAqCisgKiBGRm1wZWcgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg YW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdl bmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAo YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIEZGbXBlZyBpcyBkaXN0 cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhP VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAq IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl ZSB0aGUgR05VCisgKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh aWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBM ZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYWxvbmcgd2l0aCBGRm1wZWc7IGlmIG5v dCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZy YW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EKKyAq LworCisjaWZuZGVmIEFWQ09ERUNfV0FTTV9DQUJBQ19ICisjZGVmaW5lIEFWQ09ERUNfV0FTTV9D QUJBQ19ICisKKyNpbmNsdWRlICJsaWJhdmNvZGVjL2NhYmFjLmgiCisKK2ludCBmZl9nZXRfY2Fi YWNfd2FzbShDQUJBQ0NvbnRleHQgKmMsIHVpbnQ4X3QgKnN0YXRlKTsKK2ludCBmZl9nZXRfY2Fi YWNfYnlwYXNzX3dhc20oQ0FCQUNDb250ZXh0ICpjKTsKK2ludCBmZl9nZXRfY2FiYWNfYnlwYXNz X3NpZ25fd2FzbShDQUJBQ0NvbnRleHQgKmMsIGludCB2YWwpOworCisjZW5kaWYgLyogQVZDT0RF Q19XQVNNX0NBQkFDX0ggKi8KZGlmZiAtLWdpdCBhL3Rlc3RzL2NoZWNrYXNtL01ha2VmaWxlIGIv dGVzdHMvY2hlY2thc20vTWFrZWZpbGUKaW5kZXggOWU2NzVjZTE4OS4uMjg3NDY1NzA4MCAxMDA2 NDQKLS0tIGEvdGVzdHMvY2hlY2thc20vTWFrZWZpbGUKKysrIGIvdGVzdHMvY2hlY2thc20vTWFr ZWZpbGUKQEAgLTEyLDYgKzEyLDcgQEAgQVZDT0RFQ09CSlMtJChDT05GSUdfSDI2NENIUk9NQSkg ICAgICAgICs9IGgyNjRjaHJvbWEubwogQVZDT0RFQ09CSlMtJChDT05GSUdfSDI2NERTUCkgICAg ICAgICAgICs9IGgyNjRkc3AubwogQVZDT0RFQ09CSlMtJChDT05GSUdfSDI2NFBSRUQpICAgICAg ICAgICs9IGgyNjRwcmVkLm8KIEFWQ09ERUNPQkpTLSQoQ09ORklHX0gyNjRRUEVMKSAgICAgICAg ICArPSBoMjY0cXBlbC5vCitBVkNPREVDT0JKUy0kKENPTkZJR19DQUJBQykgICAgICAgICAgICAr PSBjYWJhYy5vCiBBVkNPREVDT0JKUy0kKENPTkZJR19IUEVMRFNQKSAgICAgICAgICAgKz0gaHBl bGRzcC5vCiBBVkNPREVDT0JKUy0kKENPTkZJR19JRENURFNQKSAgICAgICAgICAgKz0gaWRjdGRz cC5vCiBBVkNPREVDT0JKUy0kKENPTkZJR19MTEFVRERTUCkgICAgICAgICAgKz0gbGxhdWRkc3Au bwpkaWZmIC0tZ2l0IGEvdGVzdHMvY2hlY2thc20vY2FiYWMuYyBiL3Rlc3RzL2NoZWNrYXNtL2Nh YmFjLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uMWNkNDUwNjFmYgot LS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2NoZWNrYXNtL2NhYmFjLmMKQEAgLTAsMCArMSwyMDEg QEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMjUgWGlhIFRhbworICoKKyAqIFRoaXMgZmlsZSBp cyBwYXJ0IG9mIEZGbXBlZy4KKyAqCisgKiBGRm1wZWcgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNl bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIEZGbXBl ZyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICog YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu dHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS UE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl dGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcKKyAqIHdpdGggRkZtcGVnOyBpZiBub3QsIHdy aXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCisgKiA1MSBGcmFua2xp biBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBLgorICovCisK KyNpbmNsdWRlIDxzdHJpbmcuaD4KKworI2luY2x1ZGUgImxpYmF2Y29kZWMvY2FiYWMuaCIKKyNp bmNsdWRlICJsaWJhdmNvZGVjL2NhYmFjX2Z1bmN0aW9ucy5oIgorCisjaW5jbHVkZSAiY2hlY2th c20uaCIKKworI2lmIEFSQ0hfV0FTTQorCisjaW5jbHVkZSAibGliYXZjb2RlYy93YXNtL2NhYmFj LmgiCisKKyNkZWZpbmUgQ0FCQUNfQlVGX1NJWkUgICA4MTkyCisjZGVmaW5lIENBQkFDX1NUQVRF X1NJWkUgNjQKKyNkZWZpbmUgQ0FCQUNfQklOX0NPVU5UICA0OAorCitzdGF0aWMgaW50IGdldF9j YWJhY19jKENBQkFDQ29udGV4dCAqYywgdWludDhfdCAqc3RhdGUpCit7CisgICAgcmV0dXJuIGdl dF9jYWJhY19pbmxpbmUoYywgc3RhdGUpOworfQorCitzdGF0aWMgaW50IGdldF9jYWJhY19ieXBh c3NfYyhDQUJBQ0NvbnRleHQgKmMpCit7CisgICAgcmV0dXJuIGdldF9jYWJhY19ieXBhc3MoYyk7 Cit9CisKK3N0YXRpYyBpbnQgZ2V0X2NhYmFjX2J5cGFzc19zaWduX2MoQ0FCQUNDb250ZXh0ICpj LCBpbnQgdmFsKQoreworICAgIHJldHVybiBnZXRfY2FiYWNfYnlwYXNzX3NpZ24oYywgdmFsKTsK K30KKworc3RhdGljIHZvaWQgZmlsbF9yYW5kb20odWludDhfdCAqYnVmLCBpbnQgc2l6ZSkKK3sK KyAgICBmb3IgKGludCBpID0gMDsgaSA8IHNpemU7IGkrKykKKyAgICAgICAgYnVmW2ldID0gcm5k KCk7Cit9CisKK3N0YXRpYyB2b2lkIGluaXRfc3RhdGVzKHVpbnQ4X3QgKmRzdCwgaW50IHNpemUp Cit7CisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBzaXplOyBpKyspCisgICAgICAgIGRzdFtpXSA9 IHJuZCgpOworfQorCitzdGF0aWMgdm9pZCBzZXR1cF9jb250ZXh0cyhDQUJBQ0NvbnRleHQgKmMw LCBDQUJBQ0NvbnRleHQgKmMxLCB1aW50OF90ICpidWYsIGludCBidWZfc2l6ZSkKK3sKKyAgICBp ZiAoZmZfaW5pdF9jYWJhY19kZWNvZGVyKGMwLCBidWYsIGJ1Zl9zaXplKSA8IDApCisgICAgICAg IGZhaWwoKTsKKyAgICAqYzEgPSAqYzA7Cit9CisKK3N0YXRpYyB2b2lkIGNoZWNrX2dldF9jYWJh YyhpbnQgdXNlX3dhc20pCit7CisgICAgdWludDhfdCBidWZbQ0FCQUNfQlVGX1NJWkVdOworICAg IHVpbnQ4X3Qgc3RhdGVfcmVmW0NBQkFDX1NUQVRFX1NJWkVdOworICAgIHVpbnQ4X3Qgc3RhdGVf bmV3W0NBQkFDX1NUQVRFX1NJWkVdOworICAgIENBQkFDQ29udGV4dCBjX3JlZiwgY19uZXc7Cisg ICAgZGVjbGFyZV9mdW5jKGludCwgQ0FCQUNDb250ZXh0ICosIHVpbnQ4X3QgKik7CisgICAgZnVu Y190eXBlICpmdW5jID0gdXNlX3dhc20gPworI2lmIEFSQ0hfV0FTTQorICAgICAgICBmZl9nZXRf Y2FiYWNfd2FzbQorI2Vsc2UKKyAgICAgICAgZ2V0X2NhYmFjX2MKKyNlbmRpZgorICAgICAgICA6 IGdldF9jYWJhY19jOworCisgICAgZmlsbF9yYW5kb20oYnVmLCBzaXplb2YoYnVmKSk7CisgICAg aW5pdF9zdGF0ZXMoc3RhdGVfcmVmLCBDQUJBQ19TVEFURV9TSVpFKTsKKyAgICBtZW1jcHkoc3Rh dGVfbmV3LCBzdGF0ZV9yZWYsIHNpemVvZihzdGF0ZV9yZWYpKTsKKyAgICBzZXR1cF9jb250ZXh0 cygmY19yZWYsICZjX25ldywgYnVmLCBzaXplb2YoYnVmKSk7CisKKyAgICBpZiAoY2hlY2tfZnVu YyhmdW5jLCAiY2FiYWMuZ2V0IikpIHsKKyAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBDQUJB Q19CSU5fQ09VTlQ7IGkrKykgeworICAgICAgICAgICAgaW50IGlkeCA9IGkgJSBDQUJBQ19TVEFU RV9TSVpFOworICAgICAgICAgICAgaW50IHJldF9yZWYgPSBjYWxsX3JlZigmY19yZWYsICZzdGF0 ZV9yZWZbaWR4XSk7CisgICAgICAgICAgICBpbnQgcmV0X25ldyA9IGNhbGxfbmV3KCZjX25ldywg JnN0YXRlX25ld1tpZHhdKTsKKworICAgICAgICAgICAgaWYgKHJldF9yZWYgIT0gcmV0X25ldyB8 fAorICAgICAgICAgICAgICAgIHN0YXRlX3JlZltpZHhdICE9IHN0YXRlX25ld1tpZHhdIHx8Cisg ICAgICAgICAgICAgICAgY19yZWYubG93ICE9IGNfbmV3LmxvdyB8fAorICAgICAgICAgICAgICAg IGNfcmVmLnJhbmdlICE9IGNfbmV3LnJhbmdlIHx8CisgICAgICAgICAgICAgICAgY19yZWYuYnl0 ZXN0cmVhbSAhPSBjX25ldy5ieXRlc3RyZWFtKQorICAgICAgICAgICAgICAgIGZhaWwoKTsKKyAg ICAgICAgfQorCisgICAgICAgIGlmIChjaGVja2FzbV9iZW5jaF9mdW5jKCkpIHsKKyAgICAgICAg ICAgIG1lbWNweShzdGF0ZV9uZXcsIHN0YXRlX3JlZiwgc2l6ZW9mKHN0YXRlX3JlZikpOworICAg ICAgICAgICAgc2V0dXBfY29udGV4dHMoJmNfcmVmLCAmY19uZXcsIGJ1Ziwgc2l6ZW9mKGJ1Zikp OworICAgICAgICAgICAgYmVuY2hfbmV3KCZjX25ldywgJnN0YXRlX25ld1swXSk7CisgICAgICAg IH0KKyAgICB9Cit9CisKK3N0YXRpYyB2b2lkIGNoZWNrX2dldF9jYWJhY19ieXBhc3MoaW50IHVz ZV93YXNtKQoreworICAgIHVpbnQ4X3QgYnVmW0NBQkFDX0JVRl9TSVpFXTsKKyAgICBDQUJBQ0Nv bnRleHQgY19yZWYsIGNfbmV3OworICAgIGRlY2xhcmVfZnVuYyhpbnQsIENBQkFDQ29udGV4dCAq KTsKKyAgICBmdW5jX3R5cGUgKmZ1bmMgPSB1c2Vfd2FzbSA/CisjaWYgQVJDSF9XQVNNCisgICAg ICAgIGZmX2dldF9jYWJhY19ieXBhc3Nfd2FzbQorI2Vsc2UKKyAgICAgICAgZ2V0X2NhYmFjX2J5 cGFzc19jCisjZW5kaWYKKyAgICAgICAgOiBnZXRfY2FiYWNfYnlwYXNzX2M7CisKKyAgICBmaWxs X3JhbmRvbShidWYsIHNpemVvZihidWYpKTsKKyAgICBzZXR1cF9jb250ZXh0cygmY19yZWYsICZj X25ldywgYnVmLCBzaXplb2YoYnVmKSk7CisKKyAgICBpZiAoY2hlY2tfZnVuYyhmdW5jLCAiY2Fi YWMuYnlwYXNzIikpIHsKKyAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBDQUJBQ19CSU5fQ09V TlQ7IGkrKykgeworICAgICAgICAgICAgaW50IHJldF9yZWYgPSBjYWxsX3JlZigmY19yZWYpOwor ICAgICAgICAgICAgaW50IHJldF9uZXcgPSBjYWxsX25ldygmY19uZXcpOworCisgICAgICAgICAg ICBpZiAocmV0X3JlZiAhPSByZXRfbmV3IHx8CisgICAgICAgICAgICAgICAgY19yZWYubG93ICE9 IGNfbmV3LmxvdyB8fAorICAgICAgICAgICAgICAgIGNfcmVmLnJhbmdlICE9IGNfbmV3LnJhbmdl IHx8CisgICAgICAgICAgICAgICAgY19yZWYuYnl0ZXN0cmVhbSAhPSBjX25ldy5ieXRlc3RyZWFt KQorICAgICAgICAgICAgICAgIGZhaWwoKTsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChjaGVj a2FzbV9iZW5jaF9mdW5jKCkpIHsKKyAgICAgICAgICAgIHNldHVwX2NvbnRleHRzKCZjX3JlZiwg JmNfbmV3LCBidWYsIHNpemVvZihidWYpKTsKKyAgICAgICAgICAgIGJlbmNoX25ldygmY19uZXcp OworICAgICAgICB9CisgICAgfQorfQorCitzdGF0aWMgdm9pZCBjaGVja19nZXRfY2FiYWNfYnlw YXNzX3NpZ24oaW50IHVzZV93YXNtKQoreworICAgIHVpbnQ4X3QgYnVmW0NBQkFDX0JVRl9TSVpF XTsKKyAgICBDQUJBQ0NvbnRleHQgY19yZWYsIGNfbmV3OworICAgIGRlY2xhcmVfZnVuYyhpbnQs IENBQkFDQ29udGV4dCAqLCBpbnQpOworICAgIGZ1bmNfdHlwZSAqZnVuYyA9IHVzZV93YXNtID8K KyNpZiBBUkNIX1dBU00KKyAgICAgICAgZmZfZ2V0X2NhYmFjX2J5cGFzc19zaWduX3dhc20KKyNl bHNlCisgICAgICAgIGdldF9jYWJhY19ieXBhc3Nfc2lnbl9jCisjZW5kaWYKKyAgICAgICAgOiBn ZXRfY2FiYWNfYnlwYXNzX3NpZ25fYzsKKworICAgIGZpbGxfcmFuZG9tKGJ1Ziwgc2l6ZW9mKGJ1 ZikpOworICAgIHNldHVwX2NvbnRleHRzKCZjX3JlZiwgJmNfbmV3LCBidWYsIHNpemVvZihidWYp KTsKKworICAgIGlmIChjaGVja19mdW5jKGZ1bmMsICJjYWJhYy5ieXBhc3Nfc2lnbiIpKSB7Cisg ICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgQ0FCQUNfQklOX0NPVU5UOyBpKyspIHsKKyAgICAg ICAgICAgIGludCB2YWwgPSAocm5kKCkgJiAweDdGRkYpICsgMTsKKyAgICAgICAgICAgIGludCBy ZXRfcmVmID0gY2FsbF9yZWYoJmNfcmVmLCB2YWwpOworICAgICAgICAgICAgaW50IHJldF9uZXcg PSBjYWxsX25ldygmY19uZXcsIHZhbCk7CisKKyAgICAgICAgICAgIGlmIChyZXRfcmVmICE9IHJl dF9uZXcgfHwKKyAgICAgICAgICAgICAgICBjX3JlZi5sb3cgIT0gY19uZXcubG93IHx8CisgICAg ICAgICAgICAgICAgY19yZWYucmFuZ2UgIT0gY19uZXcucmFuZ2UgfHwKKyAgICAgICAgICAgICAg ICBjX3JlZi5ieXRlc3RyZWFtICE9IGNfbmV3LmJ5dGVzdHJlYW0pCisgICAgICAgICAgICAgICAg ZmFpbCgpOworICAgICAgICB9CisKKyAgICAgICAgaWYgKGNoZWNrYXNtX2JlbmNoX2Z1bmMoKSkg eworICAgICAgICAgICAgaW50IHZhbCA9IDEyMzQ7CisgICAgICAgICAgICBzZXR1cF9jb250ZXh0 cygmY19yZWYsICZjX25ldywgYnVmLCBzaXplb2YoYnVmKSk7CisgICAgICAgICAgICBiZW5jaF9u ZXcoJmNfbmV3LCB2YWwpOworICAgICAgICB9CisgICAgfQorfQorCit2b2lkIGNoZWNrYXNtX2No ZWNrX2NhYmFjKHZvaWQpCit7CisgICAgaW50IHVzZV93YXNtID0gISEoYXZfZ2V0X2NwdV9mbGFn cygpICYgQVZfQ1BVX0ZMQUdfU0lNRDEyOCk7CisKKyAgICBjaGVja19nZXRfY2FiYWModXNlX3dh c20pOworICAgIGNoZWNrX2dldF9jYWJhY19ieXBhc3ModXNlX3dhc20pOworICAgIGNoZWNrX2dl dF9jYWJhY19ieXBhc3Nfc2lnbih1c2Vfd2FzbSk7CisgICAgcmVwb3J0KCJjYWJhYyIpOworfQor CisjZWxzZSAvKiAhQVJDSF9XQVNNICovCisKK3ZvaWQgY2hlY2thc21fY2hlY2tfY2FiYWModm9p ZCkKK3sKKyAgICByZXBvcnQoImNhYmFjIik7Cit9CisKKyNlbmRpZiAvKiBBUkNIX1dBU00gKi8K ZGlmZiAtLWdpdCBhL3Rlc3RzL2NoZWNrYXNtL2NoZWNrYXNtLmMgYi90ZXN0cy9jaGVja2FzbS9j aGVja2FzbS5jCmluZGV4IDI2OGU2MDAzNDYuLmFhYjk0M2ZmNjMgMTAwNjQ0Ci0tLSBhL3Rlc3Rz L2NoZWNrYXNtL2NoZWNrYXNtLmMKKysrIGIvdGVzdHMvY2hlY2thc20vY2hlY2thc20uYwpAQCAt MTgxLDYgKzE4MSw5IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgewogICAgICNpZiBDT05GSUdfSDI2 NFFQRUwKICAgICAgICAgeyAiaDI2NHFwZWwiLCBjaGVja2FzbV9jaGVja19oMjY0cXBlbCB9LAog ICAgICNlbmRpZgorICAgICNpZiBDT05GSUdfQ0FCQUMKKyAgICAgICAgeyAiY2FiYWMiLCBjaGVj a2FzbV9jaGVja19jYWJhYyB9LAorICAgICNlbmRpZgogICAgICNpZiBDT05GSUdfSEVWQ19ERUNP REVSCiAgICAgICAgIHsgImhldmNfYWRkX3JlcyIsIGNoZWNrYXNtX2NoZWNrX2hldmNfYWRkX3Jl cyB9LAogICAgICAgICB7ICJoZXZjX2RlYmxvY2siLCBjaGVja2FzbV9jaGVja19oZXZjX2RlYmxv Y2sgfSwKZGlmZiAtLWdpdCBhL3Rlc3RzL2NoZWNrYXNtL2NoZWNrYXNtLmggYi90ZXN0cy9jaGVj a2FzbS9jaGVja2FzbS5oCmluZGV4IGE1NDIzMWRkMGQuLmIxNzk2N2FjMWIgMTAwNjQ0Ci0tLSBh L3Rlc3RzL2NoZWNrYXNtL2NoZWNrYXNtLmgKKysrIGIvdGVzdHMvY2hlY2thc20vY2hlY2thc20u aApAQCAtMTEyLDYgKzExMiw3IEBAIHZvaWQgY2hlY2thc21fY2hlY2tfaGV2Y19kZWJsb2NrKHZv aWQpOwogdm9pZCBjaGVja2FzbV9jaGVja19oZXZjX2lkY3Qodm9pZCk7CiB2b2lkIGNoZWNrYXNt X2NoZWNrX2hldmNfcGVsKHZvaWQpOwogdm9pZCBjaGVja2FzbV9jaGVja19oZXZjX3Nhbyh2b2lk KTsKK3ZvaWQgY2hlY2thc21fY2hlY2tfY2FiYWModm9pZCk7CiB2b2lkIGNoZWNrYXNtX2NoZWNr X2hwZWxkc3Aodm9pZCk7CiB2b2lkIGNoZWNrYXNtX2NoZWNrX2h1ZmZ5dXZkc3Aodm9pZCk7CiB2 b2lkIGNoZWNrYXNtX2NoZWNrX2lkY3Rkc3Aodm9pZCk7Ci0tIAoyLjQ5LjEKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmZmbXBlZy1kZXZlbCBtYWlsaW5n IGxpc3QgLS0gZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKVG8gdW5zdWJzY3JpYmUgc2VuZCBhbiBl bWFpbCB0byBmZm1wZWctZGV2ZWwtbGVhdmVAZmZtcGVnLm9yZwo=