From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id B390340AD5 for ; Thu, 3 Feb 2022 18:47:39 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9557868B1D0; Thu, 3 Feb 2022 20:45:49 +0200 (EET) Received: from mail-qt1-f182.google.com (mail-qt1-f182.google.com [209.85.160.182]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 181C768B196 for ; Thu, 3 Feb 2022 20:45:37 +0200 (EET) Received: by mail-qt1-f182.google.com with SMTP id b5so3614621qtq.11 for ; Thu, 03 Feb 2022 10:45:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=2n3Iu1cvqcEhUlpQ78i1xLTYMo6GYEVrPoL5ELCDlrw=; b=CYKB7mQ/nc+r5VHzpUyXsW98UgtDBAXd6nJn4bTFQR/SgNoG63YCXHQr7GbVJnxOkJ fmEejpz221r2K3zV1CxtqUVrgzllWP2YBRCxbkMZoHrtElwt6UwB7TPfoBAxnQcXepHh eHWO1PhMjnkVNs+XE9JwY2IfMuET94gFdtaf98sYbU6fvvTn4PfnwGmGfh7ZWIibO+Dr VagTpfFVDj2oYjD8kFhN1cSjDcXkbct5sJKuLlqQWn+pjlphzuZhCp3UqGvbmml+wg+Z Pr6U74NwwpDCUgm1oTAJWATL/ZyyM11OsRbdl/M8likiG5WQbW83HvBAHj6xf3SmJiO9 WrGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=2n3Iu1cvqcEhUlpQ78i1xLTYMo6GYEVrPoL5ELCDlrw=; b=hkS+/ydp7YUULmMMvZTD6+I8jaobm0nQXqoy8ZL7u7sbgFI6t9xdzyUWAdITBI/fpV 3SWxr0fZFbQPQqTrvjK8XYJOQSNRlUQwoJQuvoWb5kwud+rN9eJOTxEo7SXNHbpvlf/z Bn6XH587aCCY//LkabjKjA7Se5VCXTzMO+f09gNFbJCSHiRpIP97OT8fo2ZIlU0XkatO b9Y1hHoIfc7CE8WOAw1z7YbDjKNMgWycjrfO7dTSsHLSY8ALHx4rTfwQr2OYgRZ4eU03 g4u6cnif7FaagyqMRDUsvWYxRr88D2alM0wgaGUUU2ymT8lvmv8ncpD/4TkYBJvJElce WpEQ== X-Gm-Message-State: AOAM5329V24Vb4Tf/MXvhr5Q8pL9X7NBkZNXrTGDEZQw3ldBqu1BypZS fFL4EnDi1IlaIyVq7HrilV8JoyRKHI6VLw== X-Google-Smtp-Source: ABdhPJwzngiHwYVTkbwU6+5hPPtId/RRgfAor2uTr8KiyOmQyVPKPSaKagwIfcSKgiigOqZTQgWudA== X-Received: by 2002:a05:622a:1b9e:: with SMTP id bp30mr13577196qtb.403.1643913935334; Thu, 03 Feb 2022 10:45:35 -0800 (PST) Received: from localhost.localdomain ([151.200.235.219]) by smtp.gmail.com with ESMTPSA id f16sm5947887qtk.8.2022.02.03.10.45.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Feb 2022 10:45:34 -0800 (PST) From: Scott Theisen To: ffmpeg-devel@ffmpeg.org Date: Thu, 3 Feb 2022 13:44:45 -0500 Message-Id: <20220203184450.5491-9-scott.the.elm@gmail.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220203184450.5491-1-scott.the.elm@gmail.com> References: <20220201212056.29712-1-scott.the.elm@gmail.com> <20220203184450.5491-1-scott.the.elm@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v2 08/13] avpriv_find_start_code(): add parameter for ignoring history X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Scott Theisen Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: SWYgdHJ1ZSwgdGhpcyBza2lwcyB0aGUgZm9yIGxvb3AgYXQgdGhlIGJlZ2lubmluZyBvZiBhdnBy aXZfZmluZF9zdGFydF9jb2RlKCkuCgpJZiB0aGUgc3RhdGUvc3RhcnRfY29kZSBpbnB1dCBpcyBh IGxvY2FsIHZhcmlhYmxlIGFuZCBvbmx5IG9uZSBidWZmZXIgaXMgdXNlZCwKdGhlbiBubyBoaXN0 b3J5IGlzIG5lZWRlZC4KCkluIGxvb3BzIGFuZCBpbmxpbmUgZnVuY3Rpb25zOiBpZiBpZ25vcmlu ZyBoaXN0b3J5LCBkb24ndCBpbml0aWFsaXplIHN0YXJ0X2NvZGUsCnNvIGl0IGlzbid0IHJlc2V0 IHR3aWNlIGVhY2ggdGltZS4KCmNic19tcGVnMi5jIG5lZWRzIGZ1cnRoZXIgY2hhbmdlcyB0byB1 c2Ugb3V0cHV0X29ubHkgPSB0cnVlLgoKVXNlIG91dHB1dF9vbmx5ID0gMCBmb3Igbm8gZnVuY3Rp b25hbCBjaGFuZ2UuICBGb3IgZXhhbXBsZSwgaWYgdGhlIHN0YXRlL3N0YXJ0X2NvZGUKaXMgcGFz c2VkIGludG8gdGhlIGZ1bmN0aW9uIGNhbGxpbmcgYXZwcml2X2ZpbmRfc3RhcnRfY29kZSgpLgot LS0KIGxpYmF2Y29kZWMvY2F2c2RlYy5jICAgICAgICAgICAgICAgICAgfCAgMiArLQogbGliYXZj b2RlYy9jYnNfbXBlZzIuYyAgICAgICAgICAgICAgICB8ICA0ICsrLS0KIGxpYmF2Y29kZWMvZXh0 cmFjdF9leHRyYWRhdGFfYnNmLmMgICAgfCAgNCArKy0tCiBsaWJhdmNvZGVjL2gyNjRfcGFyc2Vy LmMgICAgICAgICAgICAgIHwgIDIgKy0KIGxpYmF2Y29kZWMvaW50ZXJuYWwuaCAgICAgICAgICAg ICAgICAgfCAgOSArKysrKysrKy0KIGxpYmF2Y29kZWMvbXBlZzEyLmMgICAgICAgICAgICAgICAg ICAgfCAgMiArLQogbGliYXZjb2RlYy9tcGVnMTJkZWMuYyAgICAgICAgICAgICAgICB8ICA5ICsr KystLS0tLQogbGliYXZjb2RlYy9tcGVnNF91bnBhY2tfYmZyYW1lc19ic2YuYyB8ICAzICstLQog bGliYXZjb2RlYy9tcGVndmlkZW9fcGFyc2VyLmMgICAgICAgICB8ICA1ICsrLS0tCiBsaWJhdmNv ZGVjL3JlbW92ZV9leHRyYWRhdGFfYnNmLmMgICAgIHwgIDggKysrKy0tLS0KIGxpYmF2Y29kZWMv dXRpbHMuYyAgICAgICAgICAgICAgICAgICAgfCAxNCArKysrKysrKysrKysrLQogbGliYXZjb2Rl Yy92YzFfY29tbW9uLmggICAgICAgICAgICAgICB8ICA0ICsrLS0KIGxpYmF2Zm9ybWF0L2F2aWRl Yy5jICAgICAgICAgICAgICAgICAgfCAgNiArKystLS0KIGxpYmF2Zm9ybWF0L2F2czJkZWMuYyAg ICAgICAgICAgICAgICAgfCAgMiArLQogbGliYXZmb3JtYXQvYXZzM2RlYy5jICAgICAgICAgICAg ICAgICB8ICAyICstCiBsaWJhdmZvcm1hdC9jYXZzdmlkZW9kZWMuYyAgICAgICAgICAgIHwgIDIg Ky0KIGxpYmF2Zm9ybWF0L21wZWd0c2VuYy5jICAgICAgICAgICAgICAgfCAgNCArKy0tCiBsaWJh dmZvcm1hdC9tcGVndmlkZW9kZWMuYyAgICAgICAgICAgIHwgIDIgKy0KIGxpYmF2Zm9ybWF0L214 ZmVuYy5jICAgICAgICAgICAgICAgICAgfCAgMiArLQogbGliYXZmb3JtYXQvcnRwZW5jX21wdi5j ICAgICAgICAgICAgICB8ICA0ICsrLS0KIDIwIGZpbGVzIGNoYW5nZWQsIDUzIGluc2VydGlvbnMo KyksIDM3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvY2F2c2RlYy5jIGIv bGliYXZjb2RlYy9jYXZzZGVjLmMKaW5kZXggYTYyMTc3ZDUyMC4uYzRjNzhjZDUzNCAxMDA2NDQK LS0tIGEvbGliYXZjb2RlYy9jYXZzZGVjLmMKKysrIGIvbGliYXZjb2RlYy9jYXZzZGVjLmMKQEAg LTEyNDgsNyArMTI0OCw3IEBAIHN0YXRpYyBpbnQgY2F2c19kZWNvZGVfZnJhbWUoQVZDb2RlY0Nv bnRleHQgKmF2Y3R4LCB2b2lkICpkYXRhLCBpbnQgKmdvdF9mcmFtZSwKICAgICBidWZfcHRyID0g YnVmOwogICAgIGJ1Zl9lbmQgPSBidWYgKyBidWZfc2l6ZTsKICAgICBmb3IoOzspIHsKLSAgICAg ICAgYnVmX3B0ciA9IGF2cHJpdl9maW5kX3N0YXJ0X2NvZGUoYnVmX3B0ciwgYnVmX2VuZCwgJnN0 Yyk7CisgICAgICAgIGJ1Zl9wdHIgPSBhdnByaXZfZmluZF9zdGFydF9jb2RlKGJ1Zl9wdHIsIGJ1 Zl9lbmQsICZzdGMsIDEpOwogICAgICAgICBpZiAoIWF2cHJpdl9zdGFydF9jb2RlX2lzX3ZhbGlk KHN0YykgfHwgYnVmX3B0ciA9PSBidWZfZW5kKSB7CiAgICAgICAgICAgICBpZiAoIWgtPnN0YykK ICAgICAgICAgICAgICAgICBhdl9sb2coaC0+YXZjdHgsIEFWX0xPR19XQVJOSU5HLCAibm8gZnJh bWUgZGVjb2RlZFxuIik7CmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2Nic19tcGVnMi5jIGIvbGli YXZjb2RlYy9jYnNfbXBlZzIuYwppbmRleCBlYjQ1OTI5MTMyLi5kNDE0Nzc2MjBlIDEwMDY0NAot LS0gYS9saWJhdmNvZGVjL2Nic19tcGVnMi5jCisrKyBiL2xpYmF2Y29kZWMvY2JzX21wZWcyLmMK QEAgLTE1MSw3ICsxNTEsNyBAQCBzdGF0aWMgaW50IGNic19tcGVnMl9zcGxpdF9mcmFnbWVudChD b2RlZEJpdHN0cmVhbUNvbnRleHQgKmN0eCwKICAgICBpbnQgZXJyLCBpLCBmaW5hbCA9IDA7CiAK ICAgICBzdGFydCA9IGF2cHJpdl9maW5kX3N0YXJ0X2NvZGUoZnJhZy0+ZGF0YSwgZnJhZy0+ZGF0 YSArIGZyYWctPmRhdGFfc2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg JnN0YXJ0X2NvZGUpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc3RhcnRf Y29kZSwgMSk7CiAgICAgaWYgKCFhdnByaXZfc3RhcnRfY29kZV9pc192YWxpZChzdGFydF9jb2Rl KSkgewogICAgICAgICAvLyBObyBzdGFydCBjb2RlIGZvdW5kLgogICAgICAgICByZXR1cm4gQVZF UlJPUl9JTlZBTElEREFUQTsKQEAgLTE2OSw3ICsxNjksNyBAQCBzdGF0aWMgaW50IGNic19tcGVn Ml9zcGxpdF9mcmFnbWVudChDb2RlZEJpdHN0cmVhbUNvbnRleHQgKmN0eCwKICAgICAgICAgfQog CiAgICAgICAgIGVuZCA9IGF2cHJpdl9maW5kX3N0YXJ0X2NvZGUoc3RhcnQtLSwgZnJhZy0+ZGF0 YSArIGZyYWctPmRhdGFfc2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAmc3RhcnRfY29kZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnN0 YXJ0X2NvZGUsIDApOwogCiAgICAgICAgIC8vIHN0YXJ0IHBvaW50cyB0byB0aGUgYnl0ZSBjb250 YWluaW5nIHRoZSBzdGFydF9jb2RlX2lkZW50aWZpZXIKICAgICAgICAgLy8gKG1heSBiZSB0aGUg bGFzdCBieXRlIG9mIGZyYWdtZW50LT5kYXRhKTsgZW5kIHBvaW50cyB0byB0aGUgYnl0ZQpkaWZm IC0tZ2l0IGEvbGliYXZjb2RlYy9leHRyYWN0X2V4dHJhZGF0YV9ic2YuYyBiL2xpYmF2Y29kZWMv ZXh0cmFjdF9leHRyYWRhdGFfYnNmLmMKaW5kZXggNGRmMWM5NzEzOS4uMWEzZGRjZWZmMiAxMDA2 NDQKLS0tIGEvbGliYXZjb2RlYy9leHRyYWN0X2V4dHJhZGF0YV9ic2YuYworKysgYi9saWJhdmNv ZGVjL2V4dHJhY3RfZXh0cmFkYXRhX2JzZi5jCkBAIC0yMzcsNyArMjM3LDcgQEAgc3RhdGljIGlu dCBleHRyYWN0X2V4dHJhZGF0YV92YzEoQVZCU0ZDb250ZXh0ICpjdHgsIEFWUGFja2V0ICpwa3Qs CiAgICAgaW50IGhhc19leHRyYWRhdGEgPSAwLCBleHRyYWRhdGFfc2l6ZSA9IDA7CiAKICAgICB3 aGlsZSAocHRyIDwgZW5kKSB7Ci0gICAgICAgIHB0ciA9IGF2cHJpdl9maW5kX3N0YXJ0X2NvZGUo cHRyLCBlbmQsICZzdGF0ZSk7CisgICAgICAgIHB0ciA9IGF2cHJpdl9maW5kX3N0YXJ0X2NvZGUo cHRyLCBlbmQsICZzdGF0ZSwgMSk7CiAgICAgICAgIGlmIChzdGF0ZSA9PSBWQzFfQ09ERV9TRVFI RFIgfHwgc3RhdGUgPT0gVkMxX0NPREVfRU5UUllQT0lOVCkgewogICAgICAgICAgICAgaGFzX2V4 dHJhZGF0YSA9IDE7CiAgICAgICAgIH0gZWxzZSBpZiAoaGFzX2V4dHJhZGF0YSAmJiBhdnByaXZf c3RhcnRfY29kZV9pc192YWxpZChzdGF0ZSkpIHsKQEAgLTMwMCw3ICszMDAsNyBAQCBzdGF0aWMg aW50IGV4dHJhY3RfZXh0cmFkYXRhX21wZWc0KEFWQlNGQ29udGV4dCAqY3R4LCBBVlBhY2tldCAq cGt0LAogICAgIHVpbnQzMl90IHN0YXRlID0gVUlOVDMyX01BWDsKIAogICAgIHdoaWxlIChwdHIg PCBlbmQpIHsKLSAgICAgICAgcHRyID0gYXZwcml2X2ZpbmRfc3RhcnRfY29kZShwdHIsIGVuZCwg JnN0YXRlKTsKKyAgICAgICAgcHRyID0gYXZwcml2X2ZpbmRfc3RhcnRfY29kZShwdHIsIGVuZCwg JnN0YXRlLCAxKTsKICAgICAgICAgaWYgKHN0YXRlID09IDB4MUIzIHx8IHN0YXRlID09IDB4MUI2 KSB7CiAgICAgICAgICAgICBpZiAocHRyIC0gcGt0LT5kYXRhID4gNCkgewogICAgICAgICAgICAg ICAgICpzaXplID0gcHRyIC0gNCAtIHBrdC0+ZGF0YTsKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMv aDI2NF9wYXJzZXIuYyBiL2xpYmF2Y29kZWMvaDI2NF9wYXJzZXIuYwppbmRleCA0MDAyYmNhZDc3 Li4wY2E0MTFjNTkyIDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL2gyNjRfcGFyc2VyLmMKKysrIGIv bGliYXZjb2RlYy9oMjY0X3BhcnNlci5jCkBAIC03Miw3ICs3Miw3IEBAIHN0YXRpYyBpbnQgZmlu ZF9zdGFydF9jb2RlKGNvbnN0IHVpbnQ4X3QgKmJ1ZiwgaW50IGJ1Zl9zaXplLAogewogICAgIHVp bnQzMl90IHN0YXRlID0gLTE7CiAKLSAgICBidWZfaW5kZXggPSBhdnByaXZfZmluZF9zdGFydF9j b2RlKGJ1ZiArIGJ1Zl9pbmRleCwgYnVmICsgbmV4dF9hdmMgKyAxLCAmc3RhdGUpIC0gYnVmIC0g MTsKKyAgICBidWZfaW5kZXggPSBhdnByaXZfZmluZF9zdGFydF9jb2RlKGJ1ZiArIGJ1Zl9pbmRl eCwgYnVmICsgbmV4dF9hdmMgKyAxLCAmc3RhdGUsIDEpIC0gYnVmIC0gMTsKIAogICAgIHJldHVy biBGRk1JTihidWZfaW5kZXgsIGJ1Zl9zaXplKTsKIH0KZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMv aW50ZXJuYWwuaCBiL2xpYmF2Y29kZWMvaW50ZXJuYWwuaAppbmRleCBkYWRkOGQ0YTEwLi41N2Uy ODE2YTk1IDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL2ludGVybmFsLmgKKysrIGIvbGliYXZjb2Rl Yy9pbnRlcm5hbC5oCkBAIC0zMDksNiArMzA5LDkgQEAgc3RhdGljIGF2X2Fsd2F5c19pbmxpbmUg aW50IGF2cHJpdl9zdGFydF9jb2RlX2lzX3ZhbGlkKHVpbnQzMl90IHN0YXJ0X2NvZGUpIHsKICAq IEJ5IHByZXNlcnZpbmcgdGhlIDxiPkBwIHN0YXJ0X2NvZGU8L2I+IHZhbHVlIGJldHdlZW4gc3Vi c2VxdWVudCBjYWxscywgdGhlIGNhbGxlciBjYW4KICAqIGRldGVjdCBzdGFydCBjb2RlcyBhY3Jv c3MgYnVmZmVyIGJvdW5kYXJpZXMuCiAgKgorICogSWYgPGI+QHAgb3V0cHV0X29ubHk8L2I+IGlz IHRydWUsIDxiPkBwIHN0YXJ0X2NvZGU8L2I+IGlzIHJlc2V0IHRvIDxiPkBjIH4wIDwvYj4KKyAq IGlmIEBmJCBwIC0gZW5kIDwgNCBAZiQuCisgKgogICogQHBhcmFtW2luXSBwICAgICBBIHBvaW50 ZXIgdG8gdGhlIHN0YXJ0IG9mIHRoZSBtZW1vcnkgYnVmZmVyIHRvIHNjYW4uCiAgKiBAcGFyYW1b aW5dIGVuZCAgIEEgcG9pbnRlciB0byB0aGUgcGFzdC10aGUtZW5kIG1lbW9yeSBhZGRyZXNzIGZv ciB0aGUgYnVmZmVyCiAgKiAgICAgICAgICAgICAgICAgIGdpdmVuIGJ5IEBwIHAuICA8Yj5AcCBw PC9iPiBtdXN0IGJlIOKJpCA8Yj5AcCBlbmQ8L2I+LgpAQCAtMzIxLDEyICszMjQsMTYgQEAgc3Rh dGljIGF2X2Fsd2F5c19pbmxpbmUgaW50IGF2cHJpdl9zdGFydF9jb2RlX2lzX3ZhbGlkKHVpbnQz Ml90IHN0YXJ0X2NvZGUpIHsKICAqICAgICAgICAgICAgICAgICAgICAgc3RhcnQgY29kZSAodGhl IDQgYnl0ZXMgcHJpb3IgdG8gdGhlIHJldHVybmVkIHZhbHVlLAogICogICAgICAgICAgICAgICAg ICAgICB1c2luZyB0aGUgaW5wdXQgaGlzdG9yeSBpZiBAZiQgcCAtIGVuZCA8IDQgQGYkKS4KICAq CisgKiBAcGFyYW1baW5dIG91dHB1dF9vbmx5ICAgQm9vbGVhbiB0aGF0IGlmIHRydWUgbWFrZXMg PGI+QHAgc3RhcnRfY29kZTwvYj4gYW4KKyAqICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRw dXQgb25seSBwYXJhbWV0ZXIuCisgKgogICogQHJldHVybiBBIHBvaW50ZXIgdG8gdGhlIG1lbW9y eSBhZGRyZXNzIGZvbGxvd2luZyB0aGUgZm91bmQgc3RhcnQgY29kZSwgb3IgPGI+QHAgZW5kPC9i PgogICogICAgICAgICBpZiBubyBzdGFydCBjb2RlIHdhcyBmb3VuZC4KICAqLwogY29uc3QgdWlu dDhfdCAqYXZwcml2X2ZpbmRfc3RhcnRfY29kZShjb25zdCB1aW50OF90ICpwLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICogY29uc3QgZW5kLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqIGNvbnN0IHN0 YXJ0X2NvZGUpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf dCAqIGNvbnN0IHN0YXJ0X2NvZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGludCBvdXRwdXRfb25seSk7CiAKIGludCBhdnByaXZfY29kZWNfZ2V0X2NhcF9za2lwX2Zy YW1lX2ZpbGxfcGFyYW0oY29uc3QgQVZDb2RlYyAqY29kZWMpOwogCmRpZmYgLS1naXQgYS9saWJh dmNvZGVjL21wZWcxMi5jIGIvbGliYXZjb2RlYy9tcGVnMTIuYwppbmRleCBlNDViYzc0NDc5Li5k Nzg4YWViOWUyIDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL21wZWcxMi5jCisrKyBiL2xpYmF2Y29k ZWMvbXBlZzEyLmMKQEAgLTIwMyw3ICsyMDMsNyBAQCBpbnQgZmZfbXBlZzFfZmluZF9mcmFtZV9l bmQoUGFyc2VDb250ZXh0ICpwYywgY29uc3QgdWludDhfdCAqYnVmLCBpbnQgYnVmX3NpemUsCiAg ICAgICAgICAgICB9CiAgICAgICAgICAgICBzdGF0ZSsrOwogICAgICAgICB9IGVsc2UgewotICAg ICAgICAgICAgaSA9IGF2cHJpdl9maW5kX3N0YXJ0X2NvZGUoYnVmICsgaSwgYnVmICsgYnVmX3Np emUsICZzdGF0ZSkgLSBidWYgLSAxOworICAgICAgICAgICAgaSA9IGF2cHJpdl9maW5kX3N0YXJ0 X2NvZGUoYnVmICsgaSwgYnVmICsgYnVmX3NpemUsICZzdGF0ZSwgMCkgLSBidWYgLSAxOwogICAg ICAgICAgICAgaWYgKHBjLT5mcmFtZV9zdGFydF9mb3VuZCA9PSAwICYmIHN0YXRlID49IFNMSUNF X01JTl9TVEFSVF9DT0RFICYmIHN0YXRlIDw9IFNMSUNFX01BWF9TVEFSVF9DT0RFKSB7CiAgICAg ICAgICAgICAgICAgaSsrOwogICAgICAgICAgICAgICAgIHBjLT5mcmFtZV9zdGFydF9mb3VuZCA9 IDQ7CmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL21wZWcxMmRlYy5jIGIvbGliYXZjb2RlYy9tcGVn MTJkZWMuYwppbmRleCA2YjBiODRhZTY0Li5jYWQxN2QxYjFhIDEwMDY0NAotLS0gYS9saWJhdmNv ZGVjL21wZWcxMmRlYy5jCisrKyBiL2xpYmF2Y29kZWMvbXBlZzEyZGVjLmMKQEAgLTE3NzEsNyAr MTc3MSw3IEBAIHN0YXRpYyBpbnQgbXBlZ19kZWNvZGVfc2xpY2UoTXBlZ0VuY0NvbnRleHQgKnMs IGludCBtYl95LAogICAgIGlmIChhdmN0eC0+aHdhY2NlbCAmJiBhdmN0eC0+aHdhY2NlbC0+ZGVj b2RlX3NsaWNlKSB7CiAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKmJ1Zl9lbmQsICpidWZfc3RhcnQg PSAqYnVmIC0gNDsgLyogaW5jbHVkZSBzdGFydF9jb2RlICovCiAgICAgICAgIHVpbnQzMl90IHN0 YXJ0X2NvZGUgPSB+MDsKLSAgICAgICAgYnVmX2VuZCA9IGF2cHJpdl9maW5kX3N0YXJ0X2NvZGUo YnVmX3N0YXJ0ICsgMiwgKmJ1ZiArIGJ1Zl9zaXplLCAmc3RhcnRfY29kZSk7CisgICAgICAgIGJ1 Zl9lbmQgPSBhdnByaXZfZmluZF9zdGFydF9jb2RlKGJ1Zl9zdGFydCArIDIsICpidWYgKyBidWZf c2l6ZSwgJnN0YXJ0X2NvZGUsIDEpOwogICAgICAgICBpZiAoYnVmX2VuZCA8ICpidWYgKyBidWZf c2l6ZSkKICAgICAgICAgICAgIGJ1Zl9lbmQgLT0gNDsKICAgICAgICAgcy0+bWJfeSA9IG1iX3k7 CkBAIC0yMDIwLDggKzIwMjAsNyBAQCBzdGF0aWMgaW50IHNsaWNlX2RlY29kZV90aHJlYWQoQVZD b2RlY0NvbnRleHQgKmMsIHZvaWQgKmFyZykKICAgICAgICAgaWYgKHMtPm1iX3kgPT0gcy0+ZW5k X21iX3kpCiAgICAgICAgICAgICByZXR1cm4gMDsKIAotICAgICAgICBzdGFydF9jb2RlID0gLTE7 Ci0gICAgICAgIGJ1ZiAgICAgICAgPSBhdnByaXZfZmluZF9zdGFydF9jb2RlKGJ1Ziwgcy0+Z2Iu YnVmZmVyX2VuZCwgJnN0YXJ0X2NvZGUpOworICAgICAgICBidWYgICAgICAgID0gYXZwcml2X2Zp bmRfc3RhcnRfY29kZShidWYsIHMtPmdiLmJ1ZmZlcl9lbmQsICZzdGFydF9jb2RlLCAxKTsKICAg ICAgICAgaWYgKHN0YXJ0X2NvZGUgPCBTTElDRV9NSU5fU1RBUlRfQ09ERSB8fCBzdGFydF9jb2Rl ID4gU0xJQ0VfTUFYX1NUQVJUX0NPREUpCiAgICAgICAgICAgICByZXR1cm4gQVZFUlJPUl9JTlZB TElEREFUQTsKICAgICAgICAgbWJfeSAgICAgICA9IHN0YXJ0X2NvZGUgLSBTTElDRV9NSU5fU1RB UlRfQ09ERTsKQEAgLTI0NzUsOCArMjQ3NCw4IEBAIHN0YXRpYyBpbnQgZGVjb2RlX2NodW5rcyhB VkNvZGVjQ29udGV4dCAqYXZjdHgsIEFWRnJhbWUgKnBpY3R1cmUsCiAKICAgICBmb3IgKDs7KSB7 CiAgICAgICAgIC8qIGZpbmQgbmV4dCBzdGFydCBjb2RlICovCi0gICAgICAgIHVpbnQzMl90IHN0 YXJ0X2NvZGUgPSAtMTsKLSAgICAgICAgYnVmX3B0ciA9IGF2cHJpdl9maW5kX3N0YXJ0X2NvZGUo YnVmX3B0ciwgYnVmX2VuZCwgJnN0YXJ0X2NvZGUpOworICAgICAgICB1aW50MzJfdCBzdGFydF9j b2RlOworICAgICAgICBidWZfcHRyID0gYXZwcml2X2ZpbmRfc3RhcnRfY29kZShidWZfcHRyLCBi dWZfZW5kLCAmc3RhcnRfY29kZSwgMSk7CiAgICAgICAgIGlmICghYXZwcml2X3N0YXJ0X2NvZGVf aXNfdmFsaWQoc3RhcnRfY29kZSkpIHsKICAgICAgICAgICAgIGlmICghc2tpcF9mcmFtZSkgewog ICAgICAgICAgICAgICAgIGlmIChIQVZFX1RIUkVBRFMgJiYKZGlmZiAtLWdpdCBhL2xpYmF2Y29k ZWMvbXBlZzRfdW5wYWNrX2JmcmFtZXNfYnNmLmMgYi9saWJhdmNvZGVjL21wZWc0X3VucGFja19i ZnJhbWVzX2JzZi5jCmluZGV4IDZmODU5NTcxM2QuLjM3ZmIwZTRiNjYgMTAwNjQ0Ci0tLSBhL2xp YmF2Y29kZWMvbXBlZzRfdW5wYWNrX2JmcmFtZXNfYnNmLmMKKysrIGIvbGliYXZjb2RlYy9tcGVn NF91bnBhY2tfYmZyYW1lc19ic2YuYwpAQCAtMzYsOCArMzYsNyBAQCBzdGF0aWMgdm9pZCBzY2Fu X2J1ZmZlcihjb25zdCB1aW50OF90ICpidWYsIGludCBidWZfc2l6ZSwKICAgICBjb25zdCB1aW50 OF90ICplbmQgPSBidWYgKyBidWZfc2l6ZSwgKnBvcyA9IGJ1ZjsKIAogICAgIHdoaWxlIChwb3Mg PCBlbmQpIHsKLSAgICAgICAgc3RhcnRjb2RlID0gLTE7Ci0gICAgICAgIHBvcyA9IGF2cHJpdl9m aW5kX3N0YXJ0X2NvZGUocG9zLCBlbmQsICZzdGFydGNvZGUpOworICAgICAgICBwb3MgPSBhdnBy aXZfZmluZF9zdGFydF9jb2RlKHBvcywgZW5kLCAmc3RhcnRjb2RlLCAxKTsKIAogICAgICAgICBp ZiAoc3RhcnRjb2RlID09IFVTRVJfREFUQV9TVEFSVENPREUgJiYgcG9zX3ApIHsKICAgICAgICAg ICAgIC8qIGNoZWNrIGlmIHRoZSAoRGl2WCkgdXNlcmRhdGEgc3RyaW5nIGVuZHMgd2l0aCAncCcg KHBhY2tlZCkgKi8KZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvbXBlZ3ZpZGVvX3BhcnNlci5jIGIv bGliYXZjb2RlYy9tcGVndmlkZW9fcGFyc2VyLmMKaW5kZXggZjA4OTdlN2UyYy4uMTRlMzUwZWFl YSAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9tcGVndmlkZW9fcGFyc2VyLmMKKysrIGIvbGliYXZj b2RlYy9tcGVndmlkZW9fcGFyc2VyLmMKQEAgLTY4LDcgKzY4LDcgQEAgc3RhdGljIGludCBtcGVn MV9maW5kX2ZyYW1lX2VuZChQYXJzZUNvbnRleHQgKnBjLCBjb25zdCB1aW50OF90ICpidWYsCiAg ICAgICAgICAgICB9CiAgICAgICAgICAgICBzdGF0ZSsrOwogICAgICAgICB9IGVsc2UgewotICAg ICAgICAgICAgaSA9IGF2cHJpdl9maW5kX3N0YXJ0X2NvZGUoYnVmICsgaSwgYnVmICsgYnVmX3Np emUsICZzdGF0ZSkgLSBidWYgLSAxOworICAgICAgICAgICAgaSA9IGF2cHJpdl9maW5kX3N0YXJ0 X2NvZGUoYnVmICsgaSwgYnVmICsgYnVmX3NpemUsICZzdGF0ZSwgMCkgLSBidWYgLSAxOwogICAg ICAgICAgICAgaWYgKHBjLT5mcmFtZV9zdGFydF9mb3VuZCA9PSAwICYmIHN0YXRlID49IFNMSUNF X01JTl9TVEFSVF9DT0RFICYmIHN0YXRlIDw9IFNMSUNFX01BWF9TVEFSVF9DT0RFKSB7CiAgICAg ICAgICAgICAgICAgaSsrOwogICAgICAgICAgICAgICAgIHBjLT5mcmFtZV9zdGFydF9mb3VuZCA9 IDQ7CkBAIC0xMjAsOCArMTIwLDcgQEAgc3RhdGljIHZvaWQgbXBlZ3ZpZGVvX2V4dHJhY3RfaGVh ZGVycyhBVkNvZGVjUGFyc2VyQ29udGV4dCAqcywKICAgICBzLT5yZXBlYXRfcGljdCA9IDA7CiAK ICAgICB3aGlsZSAoYnVmIDwgYnVmX2VuZCkgewotICAgICAgICBzdGFydF9jb2RlPSAtMTsKLSAg ICAgICAgYnVmPSBhdnByaXZfZmluZF9zdGFydF9jb2RlKGJ1ZiwgYnVmX2VuZCwgJnN0YXJ0X2Nv ZGUpOworICAgICAgICBidWYgPSBhdnByaXZfZmluZF9zdGFydF9jb2RlKGJ1ZiwgYnVmX2VuZCwg JnN0YXJ0X2NvZGUsIDEpOwogICAgICAgICBieXRlc19sZWZ0ID0gYnVmX2VuZCAtIGJ1ZjsKICAg ICAgICAgc3dpdGNoKHN0YXJ0X2NvZGUpIHsKICAgICAgICAgY2FzZSBQSUNUVVJFX1NUQVJUX0NP REU6CmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL3JlbW92ZV9leHRyYWRhdGFfYnNmLmMgYi9saWJh dmNvZGVjL3JlbW92ZV9leHRyYWRhdGFfYnNmLmMKaW5kZXggMGU0MjE3NDkxMi4uNDZlOTE0MDUz ZCAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9yZW1vdmVfZXh0cmFkYXRhX2JzZi5jCisrKyBiL2xp YmF2Y29kZWMvcmVtb3ZlX2V4dHJhZGF0YV9ic2YuYwpAQCAtNzAsNyArNzAsNyBAQCBzdGF0aWMg aW50IGgyNjRfc3BsaXQoY29uc3QgdWludDhfdCAqYnVmLCBpbnQgYnVmX3NpemUpCiAgICAgaW50 IG5hbHVfdHlwZTsKIAogICAgIHdoaWxlIChwdHIgPCBlbmQpIHsKLSAgICAgICAgcHRyID0gYXZw cml2X2ZpbmRfc3RhcnRfY29kZShwdHIsIGVuZCwgJnN0YXRlKTsKKyAgICAgICAgcHRyID0gYXZw cml2X2ZpbmRfc3RhcnRfY29kZShwdHIsIGVuZCwgJnN0YXRlLCAxKTsKICAgICAgICAgaWYgKCFh dnByaXZfc3RhcnRfY29kZV9pc192YWxpZChzdGF0ZSkpCiAgICAgICAgICAgICBicmVhazsKICAg ICAgICAgbmFsdV90eXBlID0gc3RhdGUgJiAweDFGOwpAQCAtMTA4LDcgKzEwOCw3IEBAIHN0YXRp YyBpbnQgaGV2Y19zcGxpdChjb25zdCB1aW50OF90ICpidWYsIGludCBidWZfc2l6ZSkKICAgICBp bnQgbnV0OwogCiAgICAgd2hpbGUgKHB0ciA8IGVuZCkgewotICAgICAgICBwdHIgPSBhdnByaXZf ZmluZF9zdGFydF9jb2RlKHB0ciwgZW5kLCAmc3RhdGUpOworICAgICAgICBwdHIgPSBhdnByaXZf ZmluZF9zdGFydF9jb2RlKHB0ciwgZW5kLCAmc3RhdGUsIDEpOwogICAgICAgICBpZiAoIWF2cHJp dl9zdGFydF9jb2RlX2lzX3ZhbGlkKHN0YXRlKSkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAg ICBudXQgPSAoc3RhdGUgPj4gMSkgJiAweDNGOwpAQCAtMTUxLDcgKzE1MSw3IEBAIHN0YXRpYyBp bnQgbXBlZzR2aWRlb19zcGxpdChjb25zdCB1aW50OF90ICpidWYsIGludCBidWZfc2l6ZSkKICAg ICB1aW50MzJfdCBzdGF0ZSA9IC0xOwogCiAgICAgd2hpbGUgKHB0ciA8IGVuZCkgewotICAgICAg ICBwdHIgPSBhdnByaXZfZmluZF9zdGFydF9jb2RlKHB0ciwgZW5kLCAmc3RhdGUpOworICAgICAg ICBwdHIgPSBhdnByaXZfZmluZF9zdGFydF9jb2RlKHB0ciwgZW5kLCAmc3RhdGUsIDEpOwogICAg ICAgICBpZiAoc3RhdGUgPT0gMHgxQjMgfHwgc3RhdGUgPT0gMHgxQjYpCiAgICAgICAgICAgICBy ZXR1cm4gcHRyIC0gNCAtIGJ1ZjsKICAgICB9CkBAIC0xNjYsNyArMTY2LDcgQEAgc3RhdGljIGlu dCB2YzFfc3BsaXQoY29uc3QgdWludDhfdCAqYnVmLCBpbnQgYnVmX3NpemUpCiAgICAgaW50IGNo YXJnZWQgPSAwOwogCiAgICAgd2hpbGUgKHB0ciA8IGVuZCkgewotICAgICAgICBwdHIgPSBhdnBy aXZfZmluZF9zdGFydF9jb2RlKHB0ciwgZW5kLCAmc3RhdGUpOworICAgICAgICBwdHIgPSBhdnBy aXZfZmluZF9zdGFydF9jb2RlKHB0ciwgZW5kLCAmc3RhdGUsIDEpOwogICAgICAgICBpZiAoc3Rh dGUgPT0gVkMxX0NPREVfU0VRSERSIHx8IHN0YXRlID09IFZDMV9DT0RFX0VOVFJZUE9JTlQpIHsK ICAgICAgICAgICAgIGNoYXJnZWQgPSAxOwogICAgICAgICB9IGVsc2UgaWYgKGNoYXJnZWQgJiYg YXZwcml2X3N0YXJ0X2NvZGVfaXNfdmFsaWQoc3RhdGUpKQpkaWZmIC0tZ2l0IGEvbGliYXZjb2Rl Yy91dGlscy5jIGIvbGliYXZjb2RlYy91dGlscy5jCmluZGV4IGNmOTJkMjlmNjcuLmRhMDU3YmFk M2UgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvdXRpbHMuYworKysgYi9saWJhdmNvZGVjL3V0aWxz LmMKQEAgLTk0Miw5ICs5NDIsMjAgQEAgdm9pZCBmZl90aHJlYWRfcmVwb3J0X3Byb2dyZXNzMihB VkNvZGVjQ29udGV4dCAqYXZjdHgsIGludCBmaWVsZCwgaW50IHRocmVhZCwgaW4KIAogY29uc3Qg dWludDhfdCAqYXZwcml2X2ZpbmRfc3RhcnRfY29kZShjb25zdCB1aW50OF90ICphdl9yZXN0cmlj dCBwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90 ICogY29uc3QgZW5kLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50 MzJfdCAqIGNvbnN0IGF2X3Jlc3RyaWN0IHN0YXJ0X2NvZGUpCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICogY29uc3QgYXZfcmVzdHJpY3Qgc3RhcnRfY29k ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50IG91dHB1 dF9vbmx5KQogewogICAgIGF2X2Fzc2VydDAocCA8PSBlbmQpOworICAgIGlmIChvdXRwdXRfb25s eSkgeworICAgICAgICAvLyBtaW5pbXVtIGxlbmd0aCBmb3IgYSBzdGFydCBjb2RlCisgICAgICAg IGlmIChwICsgNCA+IGVuZCkgeworICAgICAgICAgICAgKnN0YXJ0X2NvZGUgPSB+MDsgLy8gc2V0 IHRvIGFuIGludmFsaWQgc3RhcnQgY29kZQorICAgICAgICAgICAgcmV0dXJuIGVuZDsKKyAgICAg ICAgfQorCisgICAgICAgIHAgKz0gMzsgLy8gb2Zmc2V0IGZvciBuZWdhdGl2ZSBpbmRpY2VzIGlu IHdoaWxlIGxvb3AKKyAgICB9CisgICAgZWxzZSB7CiAgICAgaWYgKHAgPj0gZW5kKQogICAgICAg ICByZXR1cm4gZW5kOwogCkBAIC05NTgsNiArOTY5LDcgQEAgY29uc3QgdWludDhfdCAqYXZwcml2 X2ZpbmRfc3RhcnRfY29kZShjb25zdCB1aW50OF90ICphdl9yZXN0cmljdCBwLAogICAgICAgICAg ICAgcmV0dXJuIHA7CiAgICAgfQogICAgIC8vIHAgaXMgbm93IHByb3Blcmx5IGluY3JlbWVudGVk IGZvciB0aGUgbmVnYXRpdmUgaW5kaWNlcyBpbiB0aGUgd2hpbGUgbG9vcAorICAgIH0KIAogICAg IC8qIHdpdGggbWVtb3J5IGFkZHJlc3MgaW5jcmVhc2luZyBsZWZ0IHRvIHJpZ2h0LCB3ZSBhcmUg bG9va2luZyBmb3IgKGluIGhleGFkZWNpbWFsKToKICAgICAgKiAwMCAwMCAwMSBYWApkaWZmIC0t Z2l0IGEvbGliYXZjb2RlYy92YzFfY29tbW9uLmggYi9saWJhdmNvZGVjL3ZjMV9jb21tb24uaApp bmRleCA0ODNmODZhNGVlLi40NTNkZWMzNGM2IDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL3ZjMV9j b21tb24uaAorKysgYi9saWJhdmNvZGVjL3ZjMV9jb21tb24uaApAQCAtNTcsOCArNTcsOCBAQCBl bnVtIFByb2ZpbGUgewogc3RhdGljIGF2X2Fsd2F5c19pbmxpbmUgY29uc3QgdWludDhfdCogZmlu ZF9uZXh0X21hcmtlcihjb25zdCB1aW50OF90ICpzcmMsIGNvbnN0IHVpbnQ4X3QgKmVuZCkKIHsK ICAgICBpZiAoZW5kIC0gc3JjID49IDQpIHsKLSAgICAgICAgdWludDMyX3QgbXJrID0gMHhGRkZG RkZGRjsKLSAgICAgICAgc3JjID0gYXZwcml2X2ZpbmRfc3RhcnRfY29kZShzcmMsIGVuZCwgJm1y ayk7CisgICAgICAgIHVpbnQzMl90IG1yazsKKyAgICAgICAgc3JjID0gYXZwcml2X2ZpbmRfc3Rh cnRfY29kZShzcmMsIGVuZCwgJm1yaywgMSk7CiAgICAgICAgIGlmIChhdnByaXZfc3RhcnRfY29k ZV9pc192YWxpZChtcmspKQogICAgICAgICAgICAgcmV0dXJuIHNyYyAtIDQ7CiAgICAgfQpkaWZm IC0tZ2l0IGEvbGliYXZmb3JtYXQvYXZpZGVjLmMgYi9saWJhdmZvcm1hdC9hdmlkZWMuYwppbmRl eCA4NmY4NTdiMWUzLi42NzRmMzEzZTg0IDEwMDY0NAotLS0gYS9saWJhdmZvcm1hdC9hdmlkZWMu YworKysgYi9saWJhdmZvcm1hdC9hdmlkZWMuYwpAQCAtMTUzMCwxMiArMTUzMCwxMiBAQCByZXN5 bmM6CiAgICAgICAgICAgICAgICAgaWYgKGluZGV4ID49IDAgJiYgZS0+dGltZXN0YW1wID09IGFz dC0+ZnJhbWVfb2Zmc2V0KSB7CiAgICAgICAgICAgICAgICAgICAgIGlmIChpbmRleCA9PSBzdGkt Pm5iX2luZGV4X2VudHJpZXMtMSkgewogICAgICAgICAgICAgICAgICAgICAgICAgaW50IGtleT0x OwotICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc3RhdGU9LTE7CiAgICAgICAgICAg ICAgICAgICAgICAgICBpZiAoc3QtPmNvZGVjcGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9N UEVHNCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnB0ciA9 IHBrdC0+ZGF0YSwgKmVuZCA9IHB0ciArIEZGTUlOKHNpemUsIDI1Nik7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgd2hpbGUgKHB0ciA8IGVuZCkgewotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBwdHIgPSBhdnByaXZfZmluZF9zdGFydF9jb2RlKHB0ciwgZW5kLCAmc3RhdGUp OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3RhdGUgPT0gMHgxQjYgJiYg cHRyIDwgZW5kKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHN0 YXJ0X2NvZGU7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0ciA9IGF2cHJpdl9m aW5kX3N0YXJ0X2NvZGUocHRyLCBlbmQsICZzdGFydF9jb2RlLCAxKTsKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgaWYgKHN0YXJ0X2NvZGUgPT0gMHgxQjYgJiYgcHRyIDwgZW5kKSB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXkgPSAhKCpwdHIgJiAweEMw KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB9CmRpZmYgLS1naXQgYS9saWJhdmZvcm1hdC9hdnMyZGVj LmMgYi9saWJhdmZvcm1hdC9hdnMyZGVjLmMKaW5kZXggYmRlYjc0NmZjNy4uZjIzNDlkZGU0NSAx MDA2NDQKLS0tIGEvbGliYXZmb3JtYXQvYXZzMmRlYy5jCisrKyBiL2xpYmF2Zm9ybWF0L2F2czJk ZWMuYwpAQCAtNDEsNyArNDEsNyBAQCBzdGF0aWMgaW50IGF2czJfcHJvYmUoY29uc3QgQVZQcm9i ZURhdGEgKnApCiAgICAgfQogCiAgICAgd2hpbGUgKHB0ciA8IGVuZCkgewotICAgICAgICBwdHIg PSBhdnByaXZfZmluZF9zdGFydF9jb2RlKHB0ciwgZW5kLCAmY29kZSk7CisgICAgICAgIHB0ciA9 IGF2cHJpdl9maW5kX3N0YXJ0X2NvZGUocHRyLCBlbmQsICZjb2RlLCAxKTsKICAgICAgICAgaWYg KGF2cHJpdl9zdGFydF9jb2RlX2lzX3ZhbGlkKGNvZGUpKSB7CiAgICAgICAgICAgICBzdGF0ZSA9 IGNvZGUgJiAweEZGOwogICAgICAgICAgICAgaWYgKEFWUzJfSVNVTklUKHN0YXRlKSkgewpkaWZm IC0tZ2l0IGEvbGliYXZmb3JtYXQvYXZzM2RlYy5jIGIvbGliYXZmb3JtYXQvYXZzM2RlYy5jCmlu ZGV4IDJkYWNjZDNkMTUuLjIyMzgxOTNmZjQgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L2F2czNk ZWMuYworKysgYi9saWJhdmZvcm1hdC9hdnMzZGVjLmMKQEAgLTM1LDcgKzM1LDcgQEAgc3RhdGlj IGludCBhdnMzdmlkZW9fcHJvYmUoY29uc3QgQVZQcm9iZURhdGEgKnApCiAgICAgaW50IHJldCA9 IDA7CiAKICAgICB3aGlsZSAocHRyIDwgZW5kKSB7Ci0gICAgICAgIHB0ciA9IGF2cHJpdl9maW5k X3N0YXJ0X2NvZGUocHRyLCBlbmQsICZjb2RlKTsKKyAgICAgICAgcHRyID0gYXZwcml2X2ZpbmRf c3RhcnRfY29kZShwdHIsIGVuZCwgJmNvZGUsIDEpOwogICAgICAgICBpZiAoYXZwcml2X3N0YXJ0 X2NvZGVfaXNfdmFsaWQoY29kZSkpIHsKICAgICAgICAgICAgIHN0YXRlID0gY29kZSAmIDB4RkY7 CiAgICAgICAgICAgICBpZiAoc3RhdGUgPCBBVlMzX1NFUV9TVEFSVF9DT0RFKSB7CmRpZmYgLS1n aXQgYS9saWJhdmZvcm1hdC9jYXZzdmlkZW9kZWMuYyBiL2xpYmF2Zm9ybWF0L2NhdnN2aWRlb2Rl Yy5jCmluZGV4IDFkMDA3NzA4Y2MuLjhmNDAwNGFjZWEgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0 L2NhdnN2aWRlb2RlYy5jCisrKyBiL2xpYmF2Zm9ybWF0L2NhdnN2aWRlb2RlYy5jCkBAIC0zNyw3 ICszNyw3IEBAIHN0YXRpYyBpbnQgY2F2c3ZpZGVvX3Byb2JlKGNvbnN0IEFWUHJvYmVEYXRhICpw KQogICAgIGNvbnN0IHVpbnQ4X3QgKnB0ciA9IHAtPmJ1ZiwgKmVuZCA9IHAtPmJ1ZiArIHAtPmJ1 Zl9zaXplOwogCiAgICAgd2hpbGUgKHB0ciA8IGVuZCkgewotICAgICAgICBwdHIgPSBhdnByaXZf ZmluZF9zdGFydF9jb2RlKHB0ciwgZW5kLCAmY29kZSk7CisgICAgICAgIHB0ciA9IGF2cHJpdl9m aW5kX3N0YXJ0X2NvZGUocHRyLCBlbmQsICZjb2RlLCAxKTsKICAgICAgICAgaWYgKGF2cHJpdl9z dGFydF9jb2RlX2lzX3ZhbGlkKGNvZGUpKSB7CiAgICAgICAgICAgICBpZihjb2RlIDwgQ0FWU19T RVFfU1RBUlRfQ09ERSkgewogICAgICAgICAgICAgICAgIC8qIHNsaWNlcyBoYXZlIHRvIGJlIGNv bnNlY3V0aXZlICovCmRpZmYgLS1naXQgYS9saWJhdmZvcm1hdC9tcGVndHNlbmMuYyBiL2xpYmF2 Zm9ybWF0L21wZWd0c2VuYy5jCmluZGV4IDkyYjRjYzgwODcuLjQ4M2M2NWJlMTcgMTAwNjQ0Ci0t LSBhL2xpYmF2Zm9ybWF0L21wZWd0c2VuYy5jCisrKyBiL2xpYmF2Zm9ybWF0L21wZWd0c2VuYy5j CkBAIC0xODgxLDcgKzE4ODEsNyBAQCBzdGF0aWMgaW50IG1wZWd0c193cml0ZV9wYWNrZXRfaW50 ZXJuYWwoQVZGb3JtYXRDb250ZXh0ICpzLCBBVlBhY2tldCAqcGt0KQogICAgICAgICAgICAgZXh0 cmFkZCA9IDA7CiAKICAgICAgICAgZG8gewotICAgICAgICAgICAgcCA9IGF2cHJpdl9maW5kX3N0 YXJ0X2NvZGUocCwgYnVmX2VuZCwgJnN0YXRlKTsKKyAgICAgICAgICAgIHAgPSBhdnByaXZfZmlu ZF9zdGFydF9jb2RlKHAsIGJ1Zl9lbmQsICZzdGF0ZSwgMSk7CiAgICAgICAgICAgICBhdl9sb2co cywgQVZfTE9HX1RSQUNFLCAibmFsICUiUFJJZDMyIlxuIiwgc3RhdGUgJiAweDFmKTsKICAgICAg ICAgICAgIGlmICgoc3RhdGUgJiAweDFmKSA9PSA3KQogICAgICAgICAgICAgICAgIGV4dHJhZGQg PSAwOwpAQCAtMTk0Nyw3ICsxOTQ3LDcgQEAgc3RhdGljIGludCBtcGVndHNfd3JpdGVfcGFja2V0 X2ludGVybmFsKEFWRm9ybWF0Q29udGV4dCAqcywgQVZQYWNrZXQgKnBrdCkKICAgICAgICAgICAg IGV4dHJhZGQgPSAwOwogCiAgICAgICAgIGRvIHsKLSAgICAgICAgICAgIHAgPSBhdnByaXZfZmlu ZF9zdGFydF9jb2RlKHAsIGJ1Zl9lbmQsICZzdGF0ZSk7CisgICAgICAgICAgICBwID0gYXZwcml2 X2ZpbmRfc3RhcnRfY29kZShwLCBidWZfZW5kLCAmc3RhdGUsIDEpOwogICAgICAgICAgICAgYXZf bG9nKHMsIEFWX0xPR19UUkFDRSwgIm5hbCAlIlBSSWQzMiJcbiIsIChzdGF0ZSAmIDB4N2UpPj4x KTsKICAgICAgICAgICAgIGlmICgoc3RhdGUgJiAweDdlKSA9PSAyKjMyKQogICAgICAgICAgICAg ICAgIGV4dHJhZGQgPSAwOwpkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvbXBlZ3ZpZGVvZGVjLmMg Yi9saWJhdmZvcm1hdC9tcGVndmlkZW9kZWMuYwppbmRleCBhOTgyOWRjMWRmLi44NDBkMzU2NWFm IDEwMDY0NAotLS0gYS9saWJhdmZvcm1hdC9tcGVndmlkZW9kZWMuYworKysgYi9saWJhdmZvcm1h dC9tcGVndmlkZW9kZWMuYwpAQCAtNDMsNyArNDMsNyBAQCBzdGF0aWMgaW50IG1wZWd2aWRlb19w cm9iZShjb25zdCBBVlByb2JlRGF0YSAqcCkKICAgICBpbnQgajsKIAogICAgIHdoaWxlIChwdHIg PCBlbmQpIHsKLSAgICAgICAgcHRyID0gYXZwcml2X2ZpbmRfc3RhcnRfY29kZShwdHIsIGVuZCwg JmNvZGUpOworICAgICAgICBwdHIgPSBhdnByaXZfZmluZF9zdGFydF9jb2RlKHB0ciwgZW5kLCAm Y29kZSwgMSk7CiAgICAgICAgIGlmIChhdnByaXZfc3RhcnRfY29kZV9pc192YWxpZChjb2RlKSkg ewogICAgICAgICAgICAgc3dpdGNoKGNvZGUpewogICAgICAgICAgICAgY2FzZSAgICAgU0VRX1NU QVJUX0NPREU6CmRpZmYgLS1naXQgYS9saWJhdmZvcm1hdC9teGZlbmMuYyBiL2xpYmF2Zm9ybWF0 L214ZmVuYy5jCmluZGV4IDVlMDY4YzgyMjAuLjhjZWM0NGU4OWMgMTAwNjQ0Ci0tLSBhL2xpYmF2 Zm9ybWF0L214ZmVuYy5jCisrKyBiL2xpYmF2Zm9ybWF0L214ZmVuYy5jCkBAIC0yMjQyLDcgKzIy NDIsNyBAQCBzdGF0aWMgaW50IG14Zl9wYXJzZV9oMjY0X2ZyYW1lKEFWRm9ybWF0Q29udGV4dCAq cywgQVZTdHJlYW0gKnN0LAogICAgIGludCBpLCBmcmFtZV9zaXplLCBzbGljZV90eXBlLCBoYXNf c3BzID0gMCwgaW50cmFfb25seSA9IDAsIHJldDsKIAogICAgIGZvciAoOzspIHsKLSAgICAgICAg YnVmID0gYXZwcml2X2ZpbmRfc3RhcnRfY29kZShidWYsIGJ1Zl9lbmQsICZzdGF0ZSk7CisgICAg ICAgIGJ1ZiA9IGF2cHJpdl9maW5kX3N0YXJ0X2NvZGUoYnVmLCBidWZfZW5kLCAmc3RhdGUsIDEp OwogICAgICAgICBpZiAoYnVmID49IGJ1Zl9lbmQpCiAgICAgICAgICAgICBicmVhazsKIApkaWZm IC0tZ2l0IGEvbGliYXZmb3JtYXQvcnRwZW5jX21wdi5jIGIvbGliYXZmb3JtYXQvcnRwZW5jX21w di5jCmluZGV4IDkxYzA3NTc0YmIuLjNjNzE2OGM0ODIgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0 L3J0cGVuY19tcHYuYworKysgYi9saWJhdmZvcm1hdC9ydHBlbmNfbXB2LmMKQEAgLTU0LDggKzU0 LDggQEAgdm9pZCBmZl9ydHBfc2VuZF9tcGVndmlkZW8oQVZGb3JtYXRDb250ZXh0ICpzMSwgY29u c3QgdWludDhfdCAqYnVmMSwgaW50IHNpemUpCiAKICAgICAgICAgICAgIHIxID0gYnVmMTsKICAg ICAgICAgICAgIHdoaWxlICgxKSB7Ci0gICAgICAgICAgICAgICAgdWludDMyX3Qgc3RhcnRfY29k ZSA9IH4wOwotICAgICAgICAgICAgICAgIHIgPSBhdnByaXZfZmluZF9zdGFydF9jb2RlKHIxLCBl bmQsICZzdGFydF9jb2RlKTsKKyAgICAgICAgICAgICAgICB1aW50MzJfdCBzdGFydF9jb2RlOwor ICAgICAgICAgICAgICAgIHIgPSBhdnByaXZfZmluZF9zdGFydF9jb2RlKHIxLCBlbmQsICZzdGFy dF9jb2RlLCAxKTsKICAgICAgICAgICAgICAgICBpZiAoYXZwcml2X3N0YXJ0X2NvZGVfaXNfdmFs aWQoc3RhcnRfY29kZSkpIHsKICAgICAgICAgICAgICAgICAgICAgLyogTmV3IHN0YXJ0IGNvZGUg Zm91bmQgKi8KICAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXJ0X2NvZGUgPT0gMHgxMDApIHsK LS0gCjIuMzIuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwpodHRw czovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKClRvIHVuc3Vic2Ny aWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1w ZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo=