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 8B4BF477E4 for ; Fri, 22 Sep 2023 17:38:09 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 7EB5768C9BD; Fri, 22 Sep 2023 20:38:07 +0300 (EEST) Received: from mail-vs1-f47.google.com (mail-vs1-f47.google.com [209.85.217.47]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6E56368C7EA for ; Fri, 22 Sep 2023 20:38:01 +0300 (EEST) Received: by mail-vs1-f47.google.com with SMTP id ada2fe7eead31-4510182fe69so1087578137.3 for ; Fri, 22 Sep 2023 10:38:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1695404280; x=1696009080; darn=ffmpeg.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=3JGYIj0ngmd63zLDSxk0BZttugoOoBN62ckCmc11MrY=; b=DBR3I6R8JjEYfYDBQPGwDi5DSq/oLYhq4HgsZnOhEC7R7SuRY9eRdQyW2j9wjwUnl9 hfuCGS8zjmlfuWXCIJJJeJghbPcBGKASBQEhnAUAAhBWqpYrw8i5xtkwuUynD55cojvU M45Kq9gjEiFHa6idtCAtIfoioD+WrBJp5Wqvvg7TZzLqMov9b9K9KL5Xa5xsGr0zwQL+ 2K2rs39UKIWoCYddy9HU+t/egUOLn7IBWdxXcRBlgrX7wMjsJCRKghBkpfQdwPGOD3Rf NE/lrtNhbznhG3ayEjHC/0hzGzGN7/oY/+/blgWClNwBxcuG+XTrGz16ZhczPuVLIorN qlug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695404280; x=1696009080; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=3JGYIj0ngmd63zLDSxk0BZttugoOoBN62ckCmc11MrY=; b=fugK9aAGGsSx2s6pPdWorBtqiJRMth13j+uVhcLjYxbTZeuA9a70BTqJuz00WDv6dD J5LnhSzJ7c80bWFgZUm/9zyLd1TxMapZmclxHmm10zgQWIldqJPUtUq7PTYyz2R/u1Xd ZKhlBcUotZPUamgrcfjbnsrJQOdbeZlKEw5iCx/MoaEtQWu7gVY2QYYrw+wqnprsoNyI HZ4T+gXMyfqkhIKkk2eZFZaykKEWtikGk+uZekf/g2Pcm1VGTKi3EGUO6dh84xzoIL36 RNKtOEtZDFKzTJvrzuy9S84EV+X8vNnpSsH7hGvacXwh8OBxApHG7QJhYWNgHe3DuUEI wa+Q== X-Gm-Message-State: AOJu0YxpFvr/JQEQFRbAeVGVmabT31K4C4wjL07pg7eLKhaI1icUh7ng Hgy8qYZ1Fe7MniIDQMSKN8xY4xcUWu6I8R6fuBRaLw/fQ9k= X-Google-Smtp-Source: AGHT+IHzqeHlAAxHUyExSwRNIE6PqYEh+H2/rmbe4nHLzBwjpI8wsR/97eCGlLerfM2OqEGzs1hWZsk3sD3FzTzJaCE= X-Received: by 2002:a67:fa10:0:b0:44d:5435:a3e with SMTP id i16-20020a67fa10000000b0044d54350a3emr312384vsq.9.1695404279975; Fri, 22 Sep 2023 10:37:59 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a59:9f50:0:b0:3eb:b4c:bd4f with HTTP; Fri, 22 Sep 2023 10:37:58 -0700 (PDT) From: Paul B Mahol Date: Fri, 22 Sep 2023 19:37:58 +0200 Message-ID: To: FFmpeg development discussions and patches Content-Type: multipart/mixed; boundary="000000000000dc008b0605f6119f" Subject: [FFmpeg-devel] [PATCH] ptrdiff_t related fixes and negative linesizes 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: --000000000000dc008b0605f6119f Content-Type: text/plain; charset="UTF-8" Hi, Patches attached. --000000000000dc008b0605f6119f Content-Type: text/x-patch; charset="US-ASCII"; name="0001-avfilter-avcodec-use-ptrdiff_t-instead-of-int-for-li.patch" Content-Disposition: attachment; filename="0001-avfilter-avcodec-use-ptrdiff_t-instead-of-int-for-li.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: file0 RnJvbSBjNWFlMzNjNGUzNmE0NzZjNDRlZTRjNjRiNTg4OWFkZTJlY2ZlNzAxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEIgTWFob2wgPG9uZW1kYUBnbWFpbC5jb20+CkRhdGU6 IEZyaSwgMjIgU2VwIDIwMjMgMDk6MTU6MTMgKzAyMDAKU3ViamVjdDogW1BBVENIIDEvM10gYXZm aWx0ZXIvYXZjb2RlYzogdXNlIHB0cmRpZmZfdCBpbnN0ZWFkIG9mIGludCBmb3IKIGxpbmVzaXpl CgpTaWduZWQtb2ZmLWJ5OiBQYXVsIEIgTWFob2wgPG9uZW1kYUBnbWFpbC5jb20+Ci0tLQogbGli YXZjb2RlYy9haWMuYyAgICAgICAgICAgICAgIHwgIDIgKy0KIGxpYmF2Y29kZWMvYXJnby5jICAg ICAgICAgICAgICB8IDEwICsrKystLS0tLQogbGliYXZjb2RlYy9iaW5rLmMgICAgICAgICAgICAg IHwgIDYgKystLS0KIGxpYmF2Y29kZWMvY2RncmFwaGljcy5jICAgICAgICB8ICA2ICsrLS0tCiBs aWJhdmNvZGVjL2NmaGQuYyAgICAgICAgICAgICAgfCAgNCArKy0tCiBsaWJhdmNvZGVjL2R4dG9y eS5jICAgICAgICAgICAgfCAyMiArKysrKysrKystLS0tLS0tLS0tCiBsaWJhdmNvZGVjL2ZpYy5j ICAgICAgICAgICAgICAgfCAgMiArLQogbGliYXZjb2RlYy9naWYuYyAgICAgICAgICAgICAgIHwg MTggKysrKysrKy0tLS0tLS0tCiBsaWJhdmNvZGVjL2dpZmRlYy5jICAgICAgICAgICAgfCAgNyAr KystLS0KIGxpYmF2Y29kZWMvbGpwZWdlbmMuYyAgICAgICAgICB8ICA4ICsrKystLS0KIGxpYmF2 Y29kZWMvbWFnaWN5dXZlbmMuYyAgICAgICB8ICA0ICsrLS0KIGxpYmF2Y29kZWMvbWRlYy5jICAg ICAgICAgICAgICB8ICAyICstCiBsaWJhdmNvZGVjL3JvcXZpZGVvLmMgICAgICAgICAgfCAxMCAr KysrKy0tLS0KIGxpYmF2Y29kZWMvcm9xdmlkZW9lbmMuYyAgICAgICB8ICAyICstCiBsaWJhdmNv ZGVjL3NtYy5jICAgICAgICAgICAgICAgfCAyMSArKysrKysrKy0tLS0tLS0tLS0KIGxpYmF2Zmls dGVyL3ZmX2NvZGVjdmlldy5jICAgICB8IDEyICsrKysrLS0tLS0KIGxpYmF2ZmlsdGVyL3ZmX2Nv bG9yY29udHJhc3QuYyB8IDE2ICsrKysrKystLS0tLS0tCiBsaWJhdmZpbHRlci92Zl9jb2xvcmNv cnJlY3QuYyAgfCAzNiArKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0KIGxpYmF2ZmlsdGVy L3ZmX2NvbG9yaXplLmMgICAgICB8IDEyICsrKysrLS0tLS0KIGxpYmF2ZmlsdGVyL3ZmX2ZpbGxi b3JkZXJzLmMgICB8IDI4ICsrKysrKysrKysrKy0tLS0tLS0tLS0tLQogbGliYXZmaWx0ZXIvdmZf aHVlc2F0dXJhdGlvbi5jIHwgIDIgKy0KIGxpYmF2ZmlsdGVyL3ZmX2x1dDNkLmMgICAgICAgICB8 IDE0ICsrKysrKy0tLS0tLQogbGliYXZmaWx0ZXIvdmZfbW9ub2Nocm9tZS5jICAgIHwgMjAgKysr KysrKystLS0tLS0tLS0KIGxpYmF2ZmlsdGVyL3ZmX3BhbGV0dGV1c2UuYyAgICB8ICAyICstCiBs aWJhdmZpbHRlci92Zl92aWJyYW5jZS5jICAgICAgfCA0MCArKysrKysrKysrKysrKysrKy0tLS0t LS0tLS0tLS0tLS0tCiBsaWJhdmZpbHRlci92c3JjX2dyYWRpZW50cy5jICAgfCAxMiArKysrKy0t LS0tCiBsaWJhdmZpbHRlci92c3JjX3Rlc3RzcmMuYyAgICAgfCAzOCArKysrKysrKysrKysrKysr LS0tLS0tLS0tLS0tLS0tLQogMjcgZmlsZXMgY2hhbmdlZCwgMTc5IGluc2VydGlvbnMoKyksIDE3 NyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2FpYy5jIGIvbGliYXZjb2Rl Yy9haWMuYwppbmRleCBmOGIwZjYwMzU0Li44ZjQ0ZTgwMzFhIDEwMDY0NAotLS0gYS9saWJhdmNv ZGVjL2FpYy5jCisrKyBiL2xpYmF2Y29kZWMvYWljLmMKQEAgLTMyMCw3ICszMjAsNyBAQCBzdGF0 aWMgaW50IGFpY19kZWNvZGVfc2xpY2UoQUlDQ29udGV4dCAqY3R4LCBpbnQgbWJfeCwgaW50IG1i X3ksCiAgICAgaW50MTZfdCAqYmFzZV9jID0gY3R4LT5kYXRhX3B0cltDT0VGRl9DSFJPTUFdOwog ICAgIGludDE2X3QgKmV4dF95ICA9IGN0eC0+ZGF0YV9wdHJbQ09FRkZfTFVNQV9FWFRdOwogICAg IGludDE2X3QgKmV4dF9jICA9IGN0eC0+ZGF0YV9wdHJbQ09FRkZfQ0hST01BX0VYVF07Ci0gICAg Y29uc3QgaW50IHlzdHJpZGUgPSBjdHgtPmZyYW1lLT5saW5lc2l6ZVswXTsKKyAgICBjb25zdCBw dHJkaWZmX3QgeXN0cmlkZSA9IGN0eC0+ZnJhbWUtPmxpbmVzaXplWzBdOwogCiAgICAgaWYgKGxh c3Rfcm93KSB7CiAgICAgICAgIHlfcG9zID0gKGN0eC0+YXZjdHgtPmhlaWdodCAtIDE2KTsKZGlm ZiAtLWdpdCBhL2xpYmF2Y29kZWMvYXJnby5jIGIvbGliYXZjb2RlYy9hcmdvLmMKaW5kZXggNTg5 ZmVlZDQxMC4uMTM5ZDM2YjdiNyAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9hcmdvLmMKKysrIGIv bGliYXZjb2RlYy9hcmdvLmMKQEAgLTY1LDcgKzY1LDcgQEAgc3RhdGljIGludCBkZWNvZGVfYXZj ZihBVkNvZGVjQ29udGV4dCAqYXZjdHgsIEFWRnJhbWUgKmZyYW1lKQogewogICAgIEFyZ29Db250 ZXh0ICpzID0gYXZjdHgtPnByaXZfZGF0YTsKICAgICBHZXRCeXRlQ29udGV4dCAqZ2IgPSAmcy0+ Z2I7Ci0gICAgY29uc3QgaW50IGwgPSBmcmFtZS0+bGluZXNpemVbMF07CisgICAgY29uc3QgcHRy ZGlmZl90IGwgPSBmcmFtZS0+bGluZXNpemVbMF07CiAgICAgY29uc3QgdWludDhfdCAqbWFwID0g Z2ItPmJ1ZmZlcjsKICAgICB1aW50OF90ICpkc3QgPSBmcmFtZS0+ZGF0YVswXTsKIApAQCAtOTUs NyArOTUsNyBAQCBzdGF0aWMgaW50IGRlY29kZV9hbGNkKEFWQ29kZWNDb250ZXh0ICphdmN0eCwg QVZGcmFtZSAqZnJhbWUpCiAgICAgQXJnb0NvbnRleHQgKnMgPSBhdmN0eC0+cHJpdl9kYXRhOwog ICAgIEdldEJ5dGVDb250ZXh0ICpnYiA9ICZzLT5nYjsKICAgICBHZXRCeXRlQ29udGV4dCBzYjsK LSAgICBjb25zdCBpbnQgbCA9IGZyYW1lLT5saW5lc2l6ZVswXTsKKyAgICBjb25zdCBwdHJkaWZm X3QgbCA9IGZyYW1lLT5saW5lc2l6ZVswXTsKICAgICBjb25zdCB1aW50OF90ICptYXAgPSBnYi0+ YnVmZmVyOwogICAgIHVpbnQ4X3QgKmRzdCA9IGZyYW1lLT5kYXRhWzBdOwogICAgIHVpbnQ4X3Qg Y29kZXMgPSAwOwpAQCAtMTQ0LDcgKzE0NCw3IEBAIHN0YXRpYyBpbnQgZGVjb2RlX21hZDEoQVZD b2RlY0NvbnRleHQgKmF2Y3R4LCBBVkZyYW1lICpmcmFtZSkKICAgICBHZXRCeXRlQ29udGV4dCAq Z2IgPSAmcy0+Z2I7CiAgICAgY29uc3QgaW50IHcgPSBmcmFtZS0+d2lkdGg7CiAgICAgY29uc3Qg aW50IGggPSBmcmFtZS0+aGVpZ2h0OwotICAgIGNvbnN0IGludCBsID0gZnJhbWUtPmxpbmVzaXpl WzBdOworICAgIGNvbnN0IHB0cmRpZmZfdCBsID0gZnJhbWUtPmxpbmVzaXplWzBdOwogCiAgICAg d2hpbGUgKGJ5dGVzdHJlYW0yX2dldF9ieXRlc19sZWZ0KGdiKSA+IDApIHsKICAgICAgICAgaW50 IHNpemUsIHR5cGUsIHBvcywgZHk7CkBAIC0zNTQsNyArMzU0LDcgQEAgc3RhdGljIGludCBkZWNv ZGVfbWFkMV8yNChBVkNvZGVjQ29udGV4dCAqYXZjdHgsIEFWRnJhbWUgKmZyYW1lKQogICAgIEdl dEJ5dGVDb250ZXh0ICpnYiA9ICZzLT5nYjsKICAgICBjb25zdCBpbnQgdyA9IGZyYW1lLT53aWR0 aDsKICAgICBjb25zdCBpbnQgaCA9IGZyYW1lLT5oZWlnaHQ7Ci0gICAgY29uc3QgaW50IGwgPSBm cmFtZS0+bGluZXNpemVbMF0gLyA0OworICAgIGNvbnN0IHB0cmRpZmZfdCBsID0gZnJhbWUtPmxp bmVzaXplWzBdIC8gNDsKIAogICAgIHdoaWxlIChieXRlc3RyZWFtMl9nZXRfYnl0ZXNfbGVmdChn YikgPiAwKSB7CiAgICAgICAgIGludCBvc2l6ZSwgdHlwZSwgcG9zLCBkeSwgZGksIGJjb2RlLCB2 YWx1ZSwgdjE0OwpAQCAtNTYyLDcgKzU2Miw3IEBAIHN0YXRpYyBpbnQgZGVjb2RlX3JsZShBVkNv ZGVjQ29udGV4dCAqYXZjdHgsIEFWRnJhbWUgKmZyYW1lKQogICAgIEdldEJ5dGVDb250ZXh0ICpn YiA9ICZzLT5nYjsKICAgICBjb25zdCBpbnQgdyA9IGZyYW1lLT53aWR0aDsKICAgICBjb25zdCBp bnQgaCA9IGZyYW1lLT5oZWlnaHQ7Ci0gICAgY29uc3QgaW50IGwgPSBmcmFtZS0+bGluZXNpemVb MF07CisgICAgY29uc3QgcHRyZGlmZl90IGwgPSBmcmFtZS0+bGluZXNpemVbMF07CiAgICAgdWlu dDhfdCAqZHN0ID0gZnJhbWUtPmRhdGFbMF07CiAgICAgaW50IHBvcyA9IDAsIHkgPSAwOwogCmRp ZmYgLS1naXQgYS9saWJhdmNvZGVjL2JpbmsuYyBiL2xpYmF2Y29kZWMvYmluay5jCmluZGV4IDgw NGMxNDE5ODEuLjBmY2VmZDY3ZWIgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvYmluay5jCisrKyBi L2xpYmF2Y29kZWMvYmluay5jCkBAIC04NjUsMTMgKzg2NSwxMyBAQCBzdGF0aWMgaW50IGJpbmti X2RlY29kZV9wbGFuZShCaW5rQ29udGV4dCAqYywgQVZGcmFtZSAqZnJhbWUsIEdldEJpdENvbnRl eHQgKmdiLAogICAgIGludCB5YmlhcyA9IGlzX2tleSA/IC0xNSA6IDA7CiAgICAgaW50IHFwLCBx dWFudF9pZHgsIGNvZWZfY291bnQsIGNvZWZfaWR4WzY0XTsKIAotICAgIGNvbnN0IGludCBzdHJp ZGUgPSBmcmFtZS0+bGluZXNpemVbcGxhbmVfaWR4XTsKKyAgICBjb25zdCBwdHJkaWZmX3Qgc3Ry aWRlID0gZnJhbWUtPmxpbmVzaXplW3BsYW5lX2lkeF07CiAgICAgaW50IGJ3ID0gaXNfY2hyb21h ID8gKGMtPmF2Y3R4LT53aWR0aCAgKyAxNSkgPj4gNCA6IChjLT5hdmN0eC0+d2lkdGggICsgNykg Pj4gMzsKICAgICBpbnQgYmggPSBpc19jaHJvbWEgPyAoYy0+YXZjdHgtPmhlaWdodCArIDE1KSA+ PiA0IDogKGMtPmF2Y3R4LT5oZWlnaHQgKyA3KSA+PiAzOwogCiAgICAgYmlua2JfaW5pdF9idW5k bGVzKGMpOwogICAgIHJlZl9zdGFydCA9IGZyYW1lLT5kYXRhW3BsYW5lX2lkeF07Ci0gICAgcmVm X2VuZCAgID0gZnJhbWUtPmRhdGFbcGxhbmVfaWR4XSArICgoYmggLSAxKSAqIGZyYW1lLT5saW5l c2l6ZVtwbGFuZV9pZHhdICsgYncgLSAxKSAqIDg7CisgICAgcmVmX2VuZCAgID0gZnJhbWUtPmRh dGFbcGxhbmVfaWR4XSArICgoYmggLSAxKSAqIHN0cmlkZSArIGJ3IC0gMSkgKiA4OwogCiAgICAg Zm9yIChpID0gMDsgaSA8IDY0OyBpKyspCiAgICAgICAgIGNvb3JkbWFwW2ldID0gKGkgJiA3KSAr IChpID4+IDMpICogc3RyaWRlOwpAQCAtMTAzMSw3ICsxMDMxLDcgQEAgc3RhdGljIGludCBiaW5r X2RlY29kZV9wbGFuZShCaW5rQ29udGV4dCAqYywgQVZGcmFtZSAqZnJhbWUsIEdldEJpdENvbnRl eHQgKmdiLAogICAgIExPQ0FMX0FMSUdORURfMTYoaW50MzJfdCwgZGN0YmxvY2ssIFs2NF0pOwog ICAgIGludCBjb29yZG1hcFs2NF0sIHF1YW50X2lkeCwgY29lZl9jb3VudCwgY29lZl9pZHhbNjRd OwogCi0gICAgY29uc3QgaW50IHN0cmlkZSA9IGZyYW1lLT5saW5lc2l6ZVtwbGFuZV9pZHhdOwor ICAgIGNvbnN0IHB0cmRpZmZfdCBzdHJpZGUgPSBmcmFtZS0+bGluZXNpemVbcGxhbmVfaWR4XTsK ICAgICBpbnQgYncgPSBpc19jaHJvbWEgPyAoYy0+YXZjdHgtPndpZHRoICArIDE1KSA+PiA0IDog KGMtPmF2Y3R4LT53aWR0aCAgKyA3KSA+PiAzOwogICAgIGludCBiaCA9IGlzX2Nocm9tYSA/IChj LT5hdmN0eC0+aGVpZ2h0ICsgMTUpID4+IDQgOiAoYy0+YXZjdHgtPmhlaWdodCArIDcpID4+IDM7 CiAgICAgaW50IHdpZHRoID0gYy0+YXZjdHgtPndpZHRoID4+IGlzX2Nocm9tYTsKZGlmZiAtLWdp dCBhL2xpYmF2Y29kZWMvY2RncmFwaGljcy5jIGIvbGliYXZjb2RlYy9jZGdyYXBoaWNzLmMKaW5k ZXggN2IwNjY2YTNlMi4uM2U1YzQ4NWI5YiAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9jZGdyYXBo aWNzLmMKKysrIGIvbGliYXZjb2RlYy9jZGdyYXBoaWNzLmMKQEAgLTkxLDcgKzkxLDcgQEAgc3Rh dGljIGF2X2NvbGQgaW50IGNkZ19kZWNvZGVfaW5pdChBVkNvZGVjQ29udGV4dCAqYXZjdHgpCiBz dGF0aWMgdm9pZCBjZGdfYm9yZGVyX3ByZXNldChDREdyYXBoaWNzQ29udGV4dCAqY2MsIHVpbnQ4 X3QgKmRhdGEpCiB7CiAgICAgaW50IHk7Ci0gICAgaW50IGxzaXplICAgID0gY2MtPmZyYW1lLT5s aW5lc2l6ZVswXTsKKyAgICBwdHJkaWZmX3QgbHNpemUgPSBjYy0+ZnJhbWUtPmxpbmVzaXplWzBd OwogICAgIHVpbnQ4X3QgKmJ1ZiA9IGNjLT5mcmFtZS0+ZGF0YVswXTsKICAgICBpbnQgY29sb3Ig ICAgPSBkYXRhWzBdICYgMHgwRjsKIApAQCAtMTM4LDcgKzEzOCw3IEBAIHN0YXRpYyBpbnQgY2Rn X3RpbGVfYmxvY2soQ0RHcmFwaGljc0NvbnRleHQgKmNjLCB1aW50OF90ICpkYXRhLCBpbnQgYikK ICAgICBpbnQgY29sb3I7CiAgICAgaW50IHgsIHk7CiAgICAgaW50IGFpOwotICAgIGludCBzdHJp ZGUgICA9IGNjLT5mcmFtZS0+bGluZXNpemVbMF07CisgICAgcHRyZGlmZl90IHN0cmlkZSA9IGNj LT5mcmFtZS0+bGluZXNpemVbMF07CiAgICAgdWludDhfdCAqYnVmID0gY2MtPmZyYW1lLT5kYXRh WzBdOwogCiAgICAgcmkgPSAoZGF0YVsyXSAmIDB4MUYpICogQ0RHX1RJTEVfSEVJR0hUICsgY2Mt PnZzY3JvbGw7CkBAIC0yMTAsNyArMjEwLDcgQEAgc3RhdGljIHZvaWQgY2RnX3Njcm9sbChDREdy YXBoaWNzQ29udGV4dCAqY2MsIHVpbnQ4X3QgKmRhdGEsCiAgICAgaW50IGNvbG9yOwogICAgIGlu dCBoc2NtZCwgaF9vZmYsIGhpbmMsIHZzY21kLCB2X29mZiwgdmluYzsKICAgICBpbnQgeTsKLSAg ICBpbnQgc3RyaWRlICAgPSBjYy0+ZnJhbWUtPmxpbmVzaXplWzBdOworICAgIHB0cmRpZmZfdCBz dHJpZGUgPSBjYy0+ZnJhbWUtPmxpbmVzaXplWzBdOwogICAgIHVpbnQ4X3QgKmluICA9IGNjLT5m cmFtZS0+ZGF0YVswXTsKICAgICB1aW50OF90ICpvdXQgPSBuZXdfZnJhbWUtPmRhdGFbMF07CiAK ZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvY2ZoZC5jIGIvbGliYXZjb2RlYy9jZmhkLmMKaW5kZXgg NDJkN2RjYzNmNi4uNDg3N2E0ODMzNiAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9jZmhkLmMKKysr IGIvbGliYXZjb2RlYy9jZmhkLmMKQEAgLTE1MSw3ICsxNTEsNyBAQCBzdGF0aWMgaW5saW5lIHZv aWQgcHJvY2Vzc19hbHBoYShpbnQxNl90ICphbHBoYSwgaW50IHdpZHRoKQogCiBzdGF0aWMgaW5s aW5lIHZvaWQgcHJvY2Vzc19iYXllcihBVkZyYW1lICpmcmFtZSwgaW50IGJwYykKIHsKLSAgICBj b25zdCBpbnQgbGluZXNpemUgPSBmcmFtZS0+bGluZXNpemVbMF07CisgICAgY29uc3QgcHRyZGlm Zl90IGxpbmVzaXplID0gZnJhbWUtPmxpbmVzaXplWzBdOwogICAgIHVpbnQxNl90ICpyID0gKHVp bnQxNl90ICopZnJhbWUtPmRhdGFbMF07CiAgICAgdWludDE2X3QgKmcxID0gKHVpbnQxNl90ICop KGZyYW1lLT5kYXRhWzBdICsgMik7CiAgICAgdWludDE2X3QgKmcyID0gKHVpbnQxNl90ICopKGZy YW1lLT5kYXRhWzBdICsgZnJhbWUtPmxpbmVzaXplWzBdKTsKQEAgLTE5NCw3ICsxOTQsNyBAQCBz dGF0aWMgaW5saW5lIHZvaWQgcHJvY2Vzc19iYXllcihBVkZyYW1lICpmcmFtZSwgaW50IGJwYykK IH0KIAogc3RhdGljIGlubGluZSB2b2lkIGludGVybGFjZWRfdmVydGljYWxfZmlsdGVyKGludDE2 X3QgKm91dHB1dCwgaW50MTZfdCAqbG93LCBpbnQxNl90ICpoaWdoLAotICAgICAgICAgICAgICAg ICAgICAgICAgIGludCB3aWR0aCwgaW50IGxpbmVzaXplLCBpbnQgcGxhbmUpCisgICAgICAgICAg ICAgICAgICAgICAgICAgaW50IHdpZHRoLCBwdHJkaWZmX3QgbGluZXNpemUsIGludCBwbGFuZSkK IHsKICAgICBpbnQgaTsKICAgICBpbnQxNl90IGV2ZW4sIG9kZDsKZGlmZiAtLWdpdCBhL2xpYmF2 Y29kZWMvZHh0b3J5LmMgYi9saWJhdmNvZGVjL2R4dG9yeS5jCmluZGV4IGYzNjQyMGNkZDkuLmNi YzUzNTZlNjMgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvZHh0b3J5LmMKKysrIGIvbGliYXZjb2Rl Yy9keHRvcnkuYwpAQCAtNDkxLDcgKzQ5MSw3IEBAIHN0YXRpYyBpbnQgZHgyX2RlY29kZV9zbGlj ZV81eDUoR2V0Qml0Q29udGV4dCAqZ2IsIEFWRnJhbWUgKmZyYW1lLAogICAgIGludCB4LCB5Owog ICAgIGludCByLCBnLCBiOwogICAgIGludCB3aWR0aCAgICA9IGZyYW1lLT53aWR0aDsKLSAgICBp bnQgc3RyaWRlICAgPSBmcmFtZS0+bGluZXNpemVbMF07CisgICAgcHRyZGlmZl90IHN0cmlkZSA9 IGZyYW1lLT5saW5lc2l6ZVswXTsKICAgICB1aW50OF90ICpkc3QgPSBmcmFtZS0+ZGF0YVswXSAr IHN0cmlkZSAqIGxpbmU7CiAKICAgICBmb3IgKHkgPSAwOyB5IDwgbGVmdCAmJiBnZXRfYml0c19s ZWZ0KGdiKSA+PSAzICogd2lkdGg7IHkrKykgewpAQCAtNTU4LDcgKzU1OCw3IEBAIHN0YXRpYyBp bnQgZHgyX2RlY29kZV9zbGljZV9yZ2IoR2V0Qml0Q29udGV4dCAqZ2IsIEFWRnJhbWUgKmZyYW1l LAogewogICAgIGludCB4LCB5OwogICAgIGludCB3aWR0aCAgICA9IGZyYW1lLT53aWR0aDsKLSAg ICBpbnQgc3RyaWRlICAgPSBmcmFtZS0+bGluZXNpemVbMF07CisgICAgcHRyZGlmZl90IHN0cmlk ZSA9IGZyYW1lLT5saW5lc2l6ZVswXTsKICAgICB1aW50OF90ICpkc3QgPSBmcmFtZS0+ZGF0YVsw XSArIHN0cmlkZSAqIGxpbmU7CiAKICAgICBmb3IgKHkgPSAwOyB5IDwgbGVmdCAmJiBnZXRfYml0 c19sZWZ0KGdiKSA+PSAzICogd2lkdGg7IHkrKykgewpAQCAtNTk5LDkgKzU5OSw5IEBAIHN0YXRp YyBpbnQgZHgyX2RlY29kZV9zbGljZV80MTAoR2V0Qml0Q29udGV4dCAqZ2IsIEFWRnJhbWUgKmZy YW1lLAogICAgIGludCB4LCB5LCBpLCBqOwogICAgIGludCB3aWR0aCAgID0gZnJhbWUtPndpZHRo OwogCi0gICAgaW50IHlzdHJpZGUgPSBmcmFtZS0+bGluZXNpemVbMF07Ci0gICAgaW50IHVzdHJp ZGUgPSBmcmFtZS0+bGluZXNpemVbMV07Ci0gICAgaW50IHZzdHJpZGUgPSBmcmFtZS0+bGluZXNp emVbMl07CisgICAgcHRyZGlmZl90IHlzdHJpZGUgPSBmcmFtZS0+bGluZXNpemVbMF07CisgICAg cHRyZGlmZl90IHVzdHJpZGUgPSBmcmFtZS0+bGluZXNpemVbMV07CisgICAgcHRyZGlmZl90IHZz dHJpZGUgPSBmcmFtZS0+bGluZXNpemVbMl07CiAKICAgICB1aW50OF90ICpZICA9IGZyYW1lLT5k YXRhWzBdICsgeXN0cmlkZSAqIGxpbmU7CiAgICAgdWludDhfdCAqVSAgPSBmcmFtZS0+ZGF0YVsx XSArICh1c3RyaWRlID4+IDIpICogbGluZTsKQEAgLTY3OSw5ICs2NzksOSBAQCBzdGF0aWMgaW50 IGR4Ml9kZWNvZGVfc2xpY2VfNDIwKEdldEJpdENvbnRleHQgKmdiLCBBVkZyYW1lICpmcmFtZSwK IAogICAgIGludCB3aWR0aCAgICA9IGZyYW1lLT53aWR0aDsKIAotICAgIGludCB5c3RyaWRlID0g ZnJhbWUtPmxpbmVzaXplWzBdOwotICAgIGludCB1c3RyaWRlID0gZnJhbWUtPmxpbmVzaXplWzFd OwotICAgIGludCB2c3RyaWRlID0gZnJhbWUtPmxpbmVzaXplWzJdOworICAgIHB0cmRpZmZfdCB5 c3RyaWRlID0gZnJhbWUtPmxpbmVzaXplWzBdOworICAgIHB0cmRpZmZfdCB1c3RyaWRlID0gZnJh bWUtPmxpbmVzaXplWzFdOworICAgIHB0cmRpZmZfdCB2c3RyaWRlID0gZnJhbWUtPmxpbmVzaXpl WzJdOwogCiAgICAgdWludDhfdCAqWSAgPSBmcmFtZS0+ZGF0YVswXSArIHlzdHJpZGUgKiBsaW5l OwogICAgIHVpbnQ4X3QgKlUgID0gZnJhbWUtPmRhdGFbMV0gKyAodXN0cmlkZSA+PiAxKSAqIGxp bmU7CkBAIC03NTEsOSArNzUxLDkgQEAgc3RhdGljIGludCBkeDJfZGVjb2RlX3NsaWNlXzQ0NChH ZXRCaXRDb250ZXh0ICpnYiwgQVZGcmFtZSAqZnJhbWUsCiAKICAgICBpbnQgd2lkdGggICA9IGZy YW1lLT53aWR0aDsKIAotICAgIGludCB5c3RyaWRlID0gZnJhbWUtPmxpbmVzaXplWzBdOwotICAg IGludCB1c3RyaWRlID0gZnJhbWUtPmxpbmVzaXplWzFdOwotICAgIGludCB2c3RyaWRlID0gZnJh bWUtPmxpbmVzaXplWzJdOworICAgIHB0cmRpZmZfdCB5c3RyaWRlID0gZnJhbWUtPmxpbmVzaXpl WzBdOworICAgIHB0cmRpZmZfdCB1c3RyaWRlID0gZnJhbWUtPmxpbmVzaXplWzFdOworICAgIHB0 cmRpZmZfdCB2c3RyaWRlID0gZnJhbWUtPmxpbmVzaXplWzJdOwogCiAgICAgdWludDhfdCAqWSAg PSBmcmFtZS0+ZGF0YVswXSArIHlzdHJpZGUgKiBsaW5lOwogICAgIHVpbnQ4X3QgKlUgID0gZnJh bWUtPmRhdGFbMV0gKyB1c3RyaWRlICogbGluZTsKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvZmlj LmMgYi9saWJhdmNvZGVjL2ZpYy5jCmluZGV4IGZiOTk4MDIxMzcuLjYwMTBhMTExYTAgMTAwNjQ0 Ci0tLSBhL2xpYmF2Y29kZWMvZmljLmMKKysrIGIvbGliYXZjb2RlYy9maWMuYwpAQCAtMTg1LDcg KzE4NSw3IEBAIHN0YXRpYyBpbnQgZmljX2RlY29kZV9zbGljZShBVkNvZGVjQ29udGV4dCAqYXZj dHgsIHZvaWQgKnRkYXRhKQogICAgICAgICByZXR1cm4gcmV0OwogCiAgICAgZm9yIChwID0gMDsg cCA8IDM7IHArKykgewotICAgICAgICBpbnQgc3RyaWRlICAgPSBjdHgtPmZyYW1lLT5saW5lc2l6 ZVtwXTsKKyAgICAgICAgcHRyZGlmZl90IHN0cmlkZSA9IGN0eC0+ZnJhbWUtPmxpbmVzaXplW3Bd OwogICAgICAgICB1aW50OF90KiBkc3QgPSBjdHgtPmZyYW1lLT5kYXRhW3BdICsgKHlfb2ZmID4+ ICEhcCkgKiBzdHJpZGU7CiAKICAgICAgICAgZm9yICh5ID0gMDsgeSA8IChzbGljZV9oID4+ICEh cCk7IHkgKz0gOCkgewpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9naWYuYyBiL2xpYmF2Y29kZWMv Z2lmLmMKaW5kZXggMTFhZGQ2NDQ2OC4uZTQwODNlMjY2YSAxMDA2NDQKLS0tIGEvbGliYXZjb2Rl Yy9naWYuYworKysgYi9saWJhdmNvZGVjL2dpZi5jCkBAIC04NCw4ICs4NCw4IEBAIHN0YXRpYyB2 b2lkIHNocmlua19wYWxldHRlKGNvbnN0IHVpbnQzMl90ICpzcmMsIHVpbnQ4X3QgKm1hcCwKICAg ICAqcGFsZXR0ZV9jb3VudCA9IGNvbG9yc19zZWVuOwogfQogCi1zdGF0aWMgdm9pZCByZW1hcF9m cmFtZV90b19wYWxldHRlKGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50IHNyY19saW5lc2l6ZSwKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqZHN0LCBpbnQgZHN0X2xp bmVzaXplLAorc3RhdGljIHZvaWQgcmVtYXBfZnJhbWVfdG9fcGFsZXR0ZShjb25zdCB1aW50OF90 ICpzcmMsIGNvbnN0IHB0cmRpZmZfdCBzcmNfbGluZXNpemUsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHVpbnQ4X3QgKmRzdCwgY29uc3QgcHRyZGlmZl90IGRzdF9saW5lc2l6 ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHcsIGludCBoLCB1aW50 OF90ICptYXApCiB7CiAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBoOyBpKyspCkBAIC05NCw3ICs5 NCw3IEBAIHN0YXRpYyB2b2lkIHJlbWFwX2ZyYW1lX3RvX3BhbGV0dGUoY29uc3QgdWludDhfdCAq c3JjLCBpbnQgc3JjX2xpbmVzaXplLAogfQogCiBzdGF0aWMgaW50IGlzX2ltYWdlX3RyYW5zbHVj ZW50KEFWQ29kZWNDb250ZXh0ICphdmN0eCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgY29uc3QgdWludDhfdCAqYnVmLCBjb25zdCBpbnQgbGluZXNpemUpCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKmJ1ZiwgY29uc3QgcHRyZGlmZl90IGxp bmVzaXplKQogewogICAgIEdJRkNvbnRleHQgKnMgPSBhdmN0eC0+cHJpdl9kYXRhOwogICAgIGlu dCB0cmFucyA9IHMtPnRyYW5zcGFyZW50X2luZGV4OwpAQCAtMTMyLDcgKzEzMiw3IEBAIHN0YXRp YyBpbnQgZ2V0X3BhbGV0dGVfdHJhbnNwYXJlbmN5X2luZGV4KGNvbnN0IHVpbnQzMl90ICpwYWxl dHRlKQogICAgIHJldHVybiBzbWFsbGVzdF9hbHBoYSA8IDEyOCA/IHRyYW5zcGFyZW50X2NvbG9y X2luZGV4IDogLTE7CiB9CiAKLXN0YXRpYyBpbnQgcGlja19wYWxldHRlX2VudHJ5KGNvbnN0IHVp bnQ4X3QgKmJ1ZiwgaW50IGxpbmVzaXplLCBpbnQgdywgaW50IGgpCitzdGF0aWMgaW50IHBpY2tf cGFsZXR0ZV9lbnRyeShjb25zdCB1aW50OF90ICpidWYsIHB0cmRpZmZfdCBsaW5lc2l6ZSwgaW50 IHcsIGludCBoKQogewogICAgIGludCBoaXN0b2dyYW1bQVZQQUxFVFRFX0NPVU5UXSA9IHswfTsK ICAgICBpbnQgeCwgeSwgaTsKQEAgLTE0OSw3ICsxNDksNyBAQCBzdGF0aWMgaW50IHBpY2tfcGFs ZXR0ZV9lbnRyeShjb25zdCB1aW50OF90ICpidWYsIGludCBsaW5lc2l6ZSwgaW50IHcsIGludCBo KQogfQogCiBzdGF0aWMgdm9pZCBnaWZfY3JvcF90cmFuc2x1Y2VudChBVkNvZGVjQ29udGV4dCAq YXZjdHgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpi dWYsIGNvbnN0IGludCBsaW5lc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGNvbnN0IHVpbnQ4X3QgKmJ1ZiwgY29uc3QgcHRyZGlmZl90IGxpbmVzaXplLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgaW50ICp3aWR0aCwgaW50ICpoZWlnaHQsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgKnhfc3RhcnQsIGludCAqeV9zdGFydCkKIHsK QEAgLTIyOSw3ICsyMjksNyBAQCBzdGF0aWMgdm9pZCBnaWZfY3JvcF90cmFuc2x1Y2VudChBVkNv ZGVjQ29udGV4dCAqYXZjdHgsCiAKIHN0YXRpYyB2b2lkIGdpZl9jcm9wX29wYXF1ZShBVkNvZGVj Q29udGV4dCAqYXZjdHgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDMy X3QgKnBhbGV0dGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAq YnVmLCBjb25zdCBpbnQgbGluZXNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u c3QgdWludDhfdCAqYnVmLCBjb25zdCBwdHJkaWZmX3QgbGluZXNpemUsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgaW50ICp3aWR0aCwgaW50ICpoZWlnaHQsIGludCAqeF9zdGFydCwgaW50 ICp5X3N0YXJ0KQogewogICAgIEdJRkNvbnRleHQgKnMgPSBhdmN0eC0+cHJpdl9kYXRhOwpAQCAt MjM3LDcgKzIzNyw3IEBAIHN0YXRpYyB2b2lkIGdpZl9jcm9wX29wYXF1ZShBVkNvZGVjQ29udGV4 dCAqYXZjdHgsCiAgICAgLyogQ3JvcCBpbWFnZSAqLwogICAgIGlmICgocy0+ZmxhZ3MgJiBHRl9P RkZTRVRUSU5HKSAmJiBzLT5sYXN0X2ZyYW1lICYmICFwYWxldHRlKSB7CiAgICAgICAgIGNvbnN0 IHVpbnQ4X3QgKnJlZiA9IHMtPmxhc3RfZnJhbWUtPmRhdGFbMF07Ci0gICAgICAgIGNvbnN0IGlu dCByZWZfbGluZXNpemUgPSBzLT5sYXN0X2ZyYW1lLT5saW5lc2l6ZVswXTsKKyAgICAgICAgY29u c3QgcHRyZGlmZl90IHJlZl9saW5lc2l6ZSA9IHMtPmxhc3RfZnJhbWUtPmxpbmVzaXplWzBdOwog ICAgICAgICBpbnQgeF9lbmQgPSBhdmN0eC0+d2lkdGggIC0gMSwKICAgICAgICAgICAgIHlfZW5k ID0gYXZjdHgtPmhlaWdodCAtIDE7CiAKQEAgLTI4OSw3ICsyODksNyBAQCBzdGF0aWMgdm9pZCBn aWZfY3JvcF9vcGFxdWUoQVZDb2RlY0NvbnRleHQgKmF2Y3R4LAogc3RhdGljIGludCBnaWZfaW1h Z2Vfd3JpdGVfaW1hZ2UoQVZDb2RlY0NvbnRleHQgKmF2Y3R4LAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdWludDhfdCAqKmJ5dGVzdHJlYW0sIHVpbnQ4X3QgKmVuZCwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQzMl90ICpwYWxldHRlLAotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqYnVmLCBjb25zdCBp bnQgbGluZXNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50 OF90ICpidWYsIGNvbnN0IHB0cmRpZmZfdCBsaW5lc2l6ZSwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEFWUGFja2V0ICpwa3QpCiB7CiAgICAgR0lGQ29udGV4dCAqcyA9IGF2Y3R4 LT5wcml2X2RhdGE7CkBAIC00MTEsNyArNDExLDcgQEAgc3RhdGljIGludCBnaWZfaW1hZ2Vfd3Jp dGVfaW1hZ2UoQVZDb2RlY0NvbnRleHQgKmF2Y3R4LAogICAgICAgICBwdHIgPSBidWYgKyB5X3N0 YXJ0KmxpbmVzaXplICsgeF9zdGFydDsKICAgICB9CiAgICAgaWYgKGhvbm9yX3RyYW5zcGFyZW5j eSkgewotICAgICAgICBjb25zdCBpbnQgcmVmX2xpbmVzaXplID0gcy0+bGFzdF9mcmFtZS0+bGlu ZXNpemVbMF07CisgICAgICAgIGNvbnN0IHB0cmRpZmZfdCByZWZfbGluZXNpemUgPSBzLT5sYXN0 X2ZyYW1lLT5saW5lc2l6ZVswXTsKICAgICAgICAgY29uc3QgdWludDhfdCAqcmVmID0gcy0+bGFz dF9mcmFtZS0+ZGF0YVswXSArIHlfc3RhcnQqcmVmX2xpbmVzaXplICsgeF9zdGFydDsKIAogICAg ICAgICBmb3IgKHkgPSAwOyB5IDwgaGVpZ2h0OyB5KyspIHsKZGlmZiAtLWdpdCBhL2xpYmF2Y29k ZWMvZ2lmZGVjLmMgYi9saWJhdmNvZGVjL2dpZmRlYy5jCmluZGV4IDg2YWFhODg4MWMuLmQ5MGU0 NjdjYWMgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvZ2lmZGVjLmMKKysrIGIvbGliYXZjb2RlYy9n aWZkZWMuYwpAQCAtOTUsNyArOTUsNyBAQCBzdGF0aWMgdm9pZCBnaWZfZmlsbChBVkZyYW1lICpw aWN0dXJlLCB1aW50MzJfdCBjb2xvcikKIAogc3RhdGljIHZvaWQgZ2lmX2ZpbGxfcmVjdChBVkZy YW1lICpwaWN0dXJlLCB1aW50MzJfdCBjb2xvciwgaW50IGwsIGludCB0LCBpbnQgdywgaW50IGgp CiB7Ci0gICAgY29uc3QgaW50IGxpbmVzaXplID0gcGljdHVyZS0+bGluZXNpemVbMF0gLyBzaXpl b2YodWludDMyX3QpOworICAgIGNvbnN0IHB0cmRpZmZfdCBsaW5lc2l6ZSA9IHBpY3R1cmUtPmxp bmVzaXplWzBdIC8gc2l6ZW9mKHVpbnQzMl90KTsKICAgICBjb25zdCB1aW50MzJfdCAqcHkgPSAo dWludDMyX3QgKilwaWN0dXJlLT5kYXRhWzBdICsgdCAqIGxpbmVzaXplOwogICAgIGNvbnN0IHVp bnQzMl90ICpwciwgKnBiID0gcHkgKyBoICogbGluZXNpemU7CiAgICAgdWludDMyX3QgKnB4OwpA QCAtMTEwLDcgKzExMCw3IEBAIHN0YXRpYyB2b2lkIGdpZl9maWxsX3JlY3QoQVZGcmFtZSAqcGlj dHVyZSwgdWludDMyX3QgY29sb3IsIGludCBsLCBpbnQgdCwgaW50IHcsCiB9CiAKIHN0YXRpYyB2 b2lkIGdpZl9jb3B5X2ltZ19yZWN0KGNvbnN0IHVpbnQzMl90ICpzcmMsIHVpbnQzMl90ICpkc3Qs Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbGluZXNpemUsIGludCBsLCBpbnQg dCwgaW50IHcsIGludCBoKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90 IGxpbmVzaXplLCBpbnQgbCwgaW50IHQsIGludCB3LCBpbnQgaCkKIHsKICAgICBjb25zdCBpbnQg eV9zdGFydCA9IHQgKiBsaW5lc2l6ZTsKICAgICBjb25zdCB1aW50MzJfdCAqc3JjX3B4LApAQCAt MTMwLDcgKzEzMCw4IEBAIHN0YXRpYyB2b2lkIGdpZl9jb3B5X2ltZ19yZWN0KGNvbnN0IHVpbnQz Ml90ICpzcmMsIHVpbnQzMl90ICpkc3QsCiBzdGF0aWMgaW50IGdpZl9yZWFkX2ltYWdlKEdpZlN0 YXRlICpzLCBBVkZyYW1lICpmcmFtZSkKIHsKICAgICBpbnQgbGVmdCwgdG9wLCB3aWR0aCwgaGVp Z2h0LCBiaXRzX3Blcl9waXhlbCwgY29kZV9zaXplLCBmbGFncywgcHc7Ci0gICAgaW50IGlzX2lu dGVybGVhdmVkLCBoYXNfbG9jYWxfcGFsZXR0ZSwgeSwgcGFzcywgeTEsIGxpbmVzaXplLCBwYWxf c2l6ZSwgbHp3ZWRfbGVuOworICAgIGludCBpc19pbnRlcmxlYXZlZCwgaGFzX2xvY2FsX3BhbGV0 dGUsIHksIHBhc3MsIHkxLCBwYWxfc2l6ZSwgbHp3ZWRfbGVuOworICAgIHB0cmRpZmZfdCBsaW5l c2l6ZTsKICAgICB1aW50MzJfdCAqcHRyLCAqcGFsLCAqcHgsICpwciwgKnB0cjE7CiAgICAgaW50 IHJldDsKICAgICB1aW50OF90ICppZHg7CmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2xqcGVnZW5j LmMgYi9saWJhdmNvZGVjL2xqcGVnZW5jLmMKaW5kZXggYWE2MmJlYWM3MS4uZjExMmY4NTQ5ZSAx MDA2NDQKLS0tIGEvbGliYXZjb2RlYy9sanBlZ2VuYy5jCisrKyBiL2xpYmF2Y29kZWMvbGpwZWdl bmMuYwpAQCAtNjIsNyArNjIsNyBAQCBzdGF0aWMgaW50IGxqcGVnX2VuY29kZV9iZ3IoQVZDb2Rl Y0NvbnRleHQgKmF2Y3R4LCBQdXRCaXRDb250ZXh0ICpwYiwKICAgICBMSnBlZ0VuY0NvbnRleHQg KnMgICAgPSBhdmN0eC0+cHJpdl9kYXRhOwogICAgIGNvbnN0IGludCB3aWR0aCAgICAgICA9IGZy YW1lLT53aWR0aDsKICAgICBjb25zdCBpbnQgaGVpZ2h0ICAgICAgPSBmcmFtZS0+aGVpZ2h0Owot ICAgIGNvbnN0IGludCBsaW5lc2l6ZSAgICA9IGZyYW1lLT5saW5lc2l6ZVswXTsKKyAgICBjb25z dCBwdHJkaWZmX3QgbGluZXNpemUgPSBmcmFtZS0+bGluZXNpemVbMF07CiAgICAgdWludDE2X3Qg KCpidWZmZXIpWzRdID0gcy0+c2NyYXRjaDsKICAgICBpbnQgbGVmdFs0XSwgdG9wWzRdLCB0b3Bs ZWZ0WzRdOwogICAgIGludCB4LCB5LCBpOwpAQCAtMTI3LDcgKzEyNyw4IEBAIHN0YXRpYyBpbmxp bmUgdm9pZCBsanBlZ19lbmNvZGVfeXV2X21iKExKcGVnRW5jQ29udGV4dCAqcywgUHV0Qml0Q29u dGV4dCAqcGIsCiAgICAgaWYgKG1iX3ggPT0gMCB8fCBtYl95ID09IDApIHsKICAgICAgICAgZm9y IChpID0gMDsgaSA8IDM7IGkrKykgewogICAgICAgICAgICAgY29uc3QgdWludDhfdCAqcHRyOwot ICAgICAgICAgICAgaW50IHgsIHksIGgsIHYsIGxpbmVzaXplOworICAgICAgICAgICAgcHRyZGlm Zl90IGxpbmVzaXplOworICAgICAgICAgICAgaW50IHgsIHksIGgsIHY7CiAgICAgICAgICAgICBo ID0gcy0+aHNhbXBsZVtpXTsKICAgICAgICAgICAgIHYgPSBzLT52c2FtcGxlW2ldOwogICAgICAg ICAgICAgbGluZXNpemUgPSBmcmFtZS0+bGluZXNpemVbaV07CkBAIC0xNjEsNyArMTYyLDggQEAg c3RhdGljIGlubGluZSB2b2lkIGxqcGVnX2VuY29kZV95dXZfbWIoTEpwZWdFbmNDb250ZXh0ICpz LCBQdXRCaXRDb250ZXh0ICpwYiwKICAgICB9IGVsc2UgewogICAgICAgICBmb3IgKGkgPSAwOyBp IDwgMzsgaSsrKSB7CiAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpwdHI7Ci0gICAgICAgICAg ICBpbnQgeCwgeSwgaCwgdiwgbGluZXNpemU7CisgICAgICAgICAgICBwdHJkaWZmX3QgbGluZXNp emU7CisgICAgICAgICAgICBpbnQgeCwgeSwgaCwgdjsKICAgICAgICAgICAgIGggPSBzLT5oc2Ft cGxlW2ldOwogICAgICAgICAgICAgdiA9IHMtPnZzYW1wbGVbaV07CiAgICAgICAgICAgICBsaW5l c2l6ZSA9IGZyYW1lLT5saW5lc2l6ZVtpXTsKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvbWFnaWN5 dXZlbmMuYyBiL2xpYmF2Y29kZWMvbWFnaWN5dXZlbmMuYwppbmRleCBjY2Q2YTU0OTM2Li4wY2Y5 ZjI5OWM5IDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL21hZ2ljeXV2ZW5jLmMKKysrIGIvbGliYXZj b2RlYy9tYWdpY3l1dmVuYy5jCkBAIC01MDQsMTEgKzUwNCwxMSBAQCBzdGF0aWMgaW50IHByZWRp Y3Rfc2xpY2UoQVZDb2RlY0NvbnRleHQgKmF2Y3R4LCB2b2lkICp0ZGF0YSwKICAgICBpZiAocy0+ Y29ycmVsYXRlKSB7CiAgICAgICAgIHVpbnQ4X3QgKmRlY29ycmVsYXRlZFsyXSA9IHsgcy0+ZGVj b3JyZWxhdGVfYnVmWzBdICsgbiAqIHNsaWNlX2hlaWdodCAqIGFsaWduZWRfd2lkdGgsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcy0+ZGVjb3JyZWxhdGVfYnVmWzFdICsg biAqIHNsaWNlX2hlaWdodCAqIGFsaWduZWRfd2lkdGggfTsKLSAgICAgICAgY29uc3QgaW50IGRl Y29ycmVsYXRlX2xpbmVzaXplID0gYWxpZ25lZF93aWR0aDsKKyAgICAgICAgY29uc3QgcHRyZGlm Zl90IGRlY29ycmVsYXRlX2xpbmVzaXplID0gYWxpZ25lZF93aWR0aDsKICAgICAgICAgY29uc3Qg dWludDhfdCAqY29uc3QgZGF0YVs0XSA9IHsgZGVjb3JyZWxhdGVkWzBdLCBmcmFtZS0+ZGF0YVsw XSArIG4gKiBzbGljZV9oZWlnaHQgKiBmcmFtZS0+bGluZXNpemVbMF0sCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY29ycmVsYXRlZFsxXSwgcy0+cGxhbmVzID09 IDQgPyBmcmFtZS0+ZGF0YVszXSArIG4gKiBzbGljZV9oZWlnaHQgKiBmcmFtZS0+bGluZXNpemVb M10gOiBOVUxMIH07CiAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnIsICpnLCAqYjsKLSAgICAgICAg Y29uc3QgaW50IGxpbmVzaXplWzRdICA9IHsgZGVjb3JyZWxhdGVfbGluZXNpemUsIGZyYW1lLT5s aW5lc2l6ZVswXSwKKyAgICAgICAgY29uc3QgcHRyZGlmZl90IGxpbmVzaXplWzRdICA9IHsgZGVj b3JyZWxhdGVfbGluZXNpemUsIGZyYW1lLT5saW5lc2l6ZVswXSwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZGVjb3JyZWxhdGVfbGluZXNpemUsIGZyYW1lLT5saW5lc2l6ZVsz XSB9OwogCiAgICAgICAgIGcgPSBmcmFtZS0+ZGF0YVswXSArIG4gKiBzbGljZV9oZWlnaHQgKiBm cmFtZS0+bGluZXNpemVbMF07CmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL21kZWMuYyBiL2xpYmF2 Y29kZWMvbWRlYy5jCmluZGV4IDQ0YjEyNDcxYTkuLjY2NmUwMmRlOGEgMTAwNjQ0Ci0tLSBhL2xp YmF2Y29kZWMvbWRlYy5jCisrKyBiL2xpYmF2Y29kZWMvbWRlYy5jCkBAIC0xNDksNyArMTQ5LDcg QEAgc3RhdGljIGlubGluZSBpbnQgZGVjb2RlX21iKE1ERUNDb250ZXh0ICphLCBpbnQxNl90IGJs b2NrWzZdWzY0XSkKIHN0YXRpYyBpbmxpbmUgdm9pZCBpZGN0X3B1dChNREVDQ29udGV4dCAqYSwg QVZGcmFtZSAqZnJhbWUsIGludCBtYl94LCBpbnQgbWJfeSkKIHsKICAgICBpbnQxNl90ICgqYmxv Y2spWzY0XSA9IGEtPmJsb2NrOwotICAgIGludCBsaW5lc2l6ZSA9IGZyYW1lLT5saW5lc2l6ZVsw XTsKKyAgICBjb25zdCBwdHJkaWZmX3QgbGluZXNpemUgPSBmcmFtZS0+bGluZXNpemVbMF07CiAK ICAgICB1aW50OF90ICpkZXN0X3kgID0gZnJhbWUtPmRhdGFbMF0gKyAobWJfeSAqIDE2KiBsaW5l c2l6ZSAgICAgICAgICAgICAgKSArIG1iX3ggKiAxNjsKICAgICB1aW50OF90ICpkZXN0X2NiID0g ZnJhbWUtPmRhdGFbMV0gKyAobWJfeSAqIDggKiBmcmFtZS0+bGluZXNpemVbMV0pICsgbWJfeCAq IDg7CmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL3JvcXZpZGVvLmMgYi9saWJhdmNvZGVjL3JvcXZp ZGVvLmMKaW5kZXggZjlhM2M4ZTA4My4uZWRhNGU5MGUyZSAxMDA2NDQKLS0tIGEvbGliYXZjb2Rl Yy9yb3F2aWRlby5jCisrKyBiL2xpYmF2Y29kZWMvcm9xdmlkZW8uYwpAQCAtNDIsNyArNDIsOCBA QCBzdGF0aWMgaW5saW5lIHZvaWQgYmxvY2tfY29weSh1bnNpZ25lZCBjaGFyICpvdXQsIHVuc2ln bmVkIGNoYXIgKmluLAogdm9pZCBmZl9hcHBseV92ZWN0b3JfMngyKFJvcUNvbnRleHQgKnJpLCBp bnQgeCwgaW50IHksIHJvcV9jZWxsICpjZWxsKQogewogICAgIHVuc2lnbmVkIGNoYXIgKmJwdHI7 Ci0gICAgaW50IGJvZmZzLHN0cmlkZTsKKyAgICBwdHJkaWZmX3Qgc3RyaWRlOworICAgIGludCBi b2ZmczsKIAogICAgIHN0cmlkZSA9IHJpLT5jdXJyZW50X2ZyYW1lLT5saW5lc2l6ZVswXTsKICAg ICBib2ZmcyA9IHkqc3RyaWRlICsgeDsKQEAgLTcyLDcgKzczLDggQEAgdm9pZCBmZl9hcHBseV92 ZWN0b3JfMngyKFJvcUNvbnRleHQgKnJpLCBpbnQgeCwgaW50IHksIHJvcV9jZWxsICpjZWxsKQog dm9pZCBmZl9hcHBseV92ZWN0b3JfNHg0KFJvcUNvbnRleHQgKnJpLCBpbnQgeCwgaW50IHksIHJv cV9jZWxsICpjZWxsKQogewogICAgIHVuc2lnbmVkIGNoYXIgKmJwdHI7Ci0gICAgaW50IGJvZmZz LHN0cmlkZTsKKyAgICBwdHJkaWZmX3Qgc3RyaWRlOworICAgIGludCBib2ZmczsKIAogICAgIHN0 cmlkZSA9IHJpLT5jdXJyZW50X2ZyYW1lLT5saW5lc2l6ZVswXTsKICAgICBib2ZmcyA9IHkqc3Ry aWRlICsgeDsKQEAgLTEyMiw4ICsxMjQsOCBAQCBzdGF0aWMgaW5saW5lIHZvaWQgYXBwbHlfbW90 aW9uX2dlbmVyaWMoUm9xQ29udGV4dCAqcmksIGludCB4LCBpbnQgeSwgaW50IGRlbHRheAogICAg IH0KIAogICAgIGZvcihjcCA9IDA7IGNwIDwgMzsgY3ArKykgewotICAgICAgICBpbnQgb3V0c3Ry aWRlID0gcmktPmN1cnJlbnRfZnJhbWUtPmxpbmVzaXplW2NwXTsKLSAgICAgICAgaW50IGluc3Ry aWRlICA9IHJpLT5sYXN0X2ZyYW1lICAgLT5saW5lc2l6ZVtjcF07CisgICAgICAgIHB0cmRpZmZf dCBvdXRzdHJpZGUgPSByaS0+Y3VycmVudF9mcmFtZS0+bGluZXNpemVbY3BdOworICAgICAgICBw dHJkaWZmX3QgaW5zdHJpZGUgID0gcmktPmxhc3RfZnJhbWUgICAtPmxpbmVzaXplW2NwXTsKICAg ICAgICAgYmxvY2tfY29weShyaS0+Y3VycmVudF9mcmFtZS0+ZGF0YVtjcF0gKyB5Km91dHN0cmlk ZSArIHgsCiAgICAgICAgICAgICAgICAgICAgcmktPmxhc3RfZnJhbWUtPmRhdGFbY3BdICsgbXkq aW5zdHJpZGUgKyBteCwKICAgICAgICAgICAgICAgICAgICBvdXRzdHJpZGUsIGluc3RyaWRlLCBz eik7CmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL3JvcXZpZGVvZW5jLmMgYi9saWJhdmNvZGVjL3Jv cXZpZGVvZW5jLmMKaW5kZXggYzI1YWEzOWI3My4uNTdjYmYwZDk1OSAxMDA2NDQKLS0tIGEvbGli YXZjb2RlYy9yb3F2aWRlb2VuYy5jCisrKyBiL2xpYmF2Y29kZWMvcm9xdmlkZW9lbmMuYwpAQCAt Mjk3LDcgKzI5Nyw3IEBAIHN0YXRpYyB2b2lkIGdldF9mcmFtZV9tYihjb25zdCBBVkZyYW1lICpm cmFtZSwgaW50IHgsIGludCB5LCB1aW50OF90IG1iW10sIGludCBkCiAgICAgaW50IGksIGosIGNw OwogCiAgICAgZm9yIChjcD0wOyBjcDwzOyBjcCsrKSB7Ci0gICAgICAgIGludCBzdHJpZGUgPSBm cmFtZS0+bGluZXNpemVbY3BdOworICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlID0gZnJhbWUtPmxp bmVzaXplW2NwXTsKICAgICAgICAgZm9yIChpPTA7IGk8ZGltOyBpKyspCiAgICAgICAgICAgICBm b3IgKGo9MDsgajxkaW07IGorKykKICAgICAgICAgICAgICAgICAqbWIrKyA9IGZyYW1lLT5kYXRh W2NwXVsoeStpKSpzdHJpZGUgKyB4ICsgal07CmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL3NtYy5j IGIvbGliYXZjb2RlYy9zbWMuYwppbmRleCAzZThhODljZWQxLi5mNWZiZWQ0MDdhIDEwMDY0NAot LS0gYS9saWJhdmNvZGVjL3NtYy5jCisrKyBiL2xpYmF2Y29kZWMvc21jLmMKQEAgLTc3LDcgKzc3 LDcgQEAgc3RhdGljIGludCBzbWNfZGVjb2RlX3N0cmVhbShTbWNDb250ZXh0ICpzLCBHZXRCeXRl Q29udGV4dCAqZ2IpCiB7CiAgICAgaW50IHdpZHRoID0gcy0+YXZjdHgtPndpZHRoOwogICAgIGlu dCBoZWlnaHQgPSBzLT5hdmN0eC0+aGVpZ2h0OwotICAgIGludCBzdHJpZGUgPSBzLT5mcmFtZS0+ bGluZXNpemVbMF07CisgICAgcHRyZGlmZl90IHN0cmlkZSA9IHMtPmZyYW1lLT5saW5lc2l6ZVsw XTsKICAgICBpbnQgaTsKICAgICBpbnQgY2h1bmtfc2l6ZTsKICAgICBpbnQgYnVmX3NpemUgPSBi eXRlc3RyZWFtMl9zaXplKGdiKTsKQEAgLTkwLDE0ICs5MCwxNCBAQCBzdGF0aWMgaW50IHNtY19k ZWNvZGVfc3RyZWFtKFNtY0NvbnRleHQgKnMsIEdldEJ5dGVDb250ZXh0ICpnYikKIAogICAgIHVp bnQ4X3QgKiBjb25zdCBwaXhlbHMgPSBzLT5mcmFtZS0+ZGF0YVswXTsKIAotICAgIGludCBpbWFn ZV9zaXplID0gaGVpZ2h0ICogcy0+ZnJhbWUtPmxpbmVzaXplWzBdOwotICAgIGludCByb3dfcHRy ID0gMDsKLSAgICBpbnQgcGl4ZWxfcHRyID0gMDsKKyAgICBwdHJkaWZmX3QgaW1hZ2Vfc2l6ZSA9 IGhlaWdodCAqIHN0cmlkZTsKKyAgICBwdHJkaWZmX3Qgcm93X3B0ciA9IDA7CisgICAgcHRyZGlm Zl90IHBpeGVsX3B0ciA9IDA7CiAgICAgaW50IHBpeGVsX3gsIHBpeGVsX3k7Ci0gICAgaW50IHJv d19pbmMgPSBzdHJpZGUgLSA0OwotICAgIGludCBibG9ja19wdHI7Ci0gICAgaW50IHByZXZfYmxv Y2tfcHRyOwotICAgIGludCBwcmV2X2Jsb2NrX3B0cjEsIHByZXZfYmxvY2tfcHRyMjsKKyAgICBw dHJkaWZmX3Qgcm93X2luYyA9IHN0cmlkZSAtIDQ7CisgICAgcHRyZGlmZl90IGJsb2NrX3B0cjsK KyAgICBwdHJkaWZmX3QgcHJldl9ibG9ja19wdHI7CisgICAgcHRyZGlmZl90IHByZXZfYmxvY2tf cHRyMSwgcHJldl9ibG9ja19wdHIyOwogICAgIGludCBwcmV2X2Jsb2NrX2ZsYWc7CiAgICAgaW50 IHRvdGFsX2Jsb2NrczsKICAgICBpbnQgY29sb3JfdGFibGVfaW5kZXg7ICAvKiBpbmRleGVzIHRv IGNvbG9yIHBhaXIsIHF1YWQsIG9yIG9jdGV0IHRhYmxlcyAqLwpAQCAtMTIzLDExICsxMjMsOCBA QCBzdGF0aWMgaW50IHNtY19kZWNvZGVfc3RyZWFtKFNtY0NvbnRleHQgKnMsIEdldEJ5dGVDb250 ZXh0ICpnYikKICAgICB3aGlsZSAodG90YWxfYmxvY2tzKSB7CiAgICAgICAgIC8qIHNhbml0eSBj aGVja3MgKi8KICAgICAgICAgLyogbWFrZSBzdXJlIHRoZSByb3cgcG9pbnRlciBoYXNuJ3QgZ29u ZSB3aWxkICovCi0gICAgICAgIGlmIChyb3dfcHRyID49IGltYWdlX3NpemUpIHsKLSAgICAgICAg ICAgIGF2X2xvZyhzLT5hdmN0eCwgQVZfTE9HX0VSUk9SLCAianVzdCB3ZW50IG91dCBvZiBib3Vu ZHMgKHJvdyBwdHIgPSAlZCwgaGVpZ2h0ID0gJWQpXG4iLAotICAgICAgICAgICAgICAgIHJvd19w dHIsIGltYWdlX3NpemUpOworICAgICAgICBpZiAocm93X3B0ciA+PSBpbWFnZV9zaXplKQogICAg ICAgICAgICAgcmV0dXJuIEFWRVJST1JfSU5WQUxJRERBVEE7Ci0gICAgICAgIH0KICAgICAgICAg aWYgKGJ5dGVzdHJlYW0yX2dldF9ieXRlc19sZWZ0KGdiKSA8IDEpIHsKICAgICAgICAgICAgIGF2 X2xvZyhzLT5hdmN0eCwgQVZfTE9HX0VSUk9SLCAiaW5wdXQgdG9vIHNtYWxsXG4iKTsKICAgICAg ICAgICAgIHJldHVybiBBVkVSUk9SX0lOVkFMSUREQVRBOwpkaWZmIC0tZ2l0IGEvbGliYXZmaWx0 ZXIvdmZfY29kZWN2aWV3LmMgYi9saWJhdmZpbHRlci92Zl9jb2RlY3ZpZXcuYwppbmRleCAwYzFl ZjIxZTI4Li41NWQ5YzhjMDRmIDEwMDY0NAotLS0gYS9saWJhdmZpbHRlci92Zl9jb2RlY3ZpZXcu YworKysgYi9saWJhdmZpbHRlci92Zl9jb2RlY3ZpZXcuYwpAQCAtMTExLDcgKzExMSw3IEBAIHN0 YXRpYyBpbnQgY2xpcF9saW5lKGludCAqc3gsIGludCAqc3ksIGludCAqZXgsIGludCAqZXksIGlu dCBtYXh4KQogICogQHBhcmFtIGNvbG9yIGNvbG9yIG9mIHRoZSBhcnJvdwogICovCiBzdGF0aWMg dm9pZCBkcmF3X2xpbmUodWludDhfdCAqYnVmLCBpbnQgc3gsIGludCBzeSwgaW50IGV4LCBpbnQg ZXksCi0gICAgICAgICAgICAgICAgICAgICAgaW50IHcsIGludCBoLCBpbnQgc3RyaWRlLCBpbnQg Y29sb3IpCisgICAgICAgICAgICAgICAgICAgICAgaW50IHcsIGludCBoLCBwdHJkaWZmX3Qgc3Ry aWRlLCBpbnQgY29sb3IpCiB7CiAgICAgaW50IHgsIHksIGZyLCBmOwogCkBAIC0xNjksNyArMTY5 LDcgQEAgc3RhdGljIHZvaWQgZHJhd19saW5lKHVpbnQ4X3QgKmJ1ZiwgaW50IHN4LCBpbnQgc3ks IGludCBleCwgaW50IGV5LAogICogQHBhcmFtIGNvbG9yIGNvbG9yIG9mIHRoZSBhcnJvdwogICov CiBzdGF0aWMgdm9pZCBkcmF3X2Fycm93KHVpbnQ4X3QgKmJ1ZiwgaW50IHN4LCBpbnQgc3ksIGlu dCBleCwKLSAgICAgICAgICAgICAgICAgICAgICAgaW50IGV5LCBpbnQgdywgaW50IGgsIGludCBz dHJpZGUsIGludCBjb2xvciwgaW50IHRhaWwsIGludCBkaXJlY3Rpb24pCisgICAgICAgICAgICAg ICAgICAgICAgIGludCBleSwgaW50IHcsIGludCBoLCBwdHJkaWZmX3Qgc3RyaWRlLCBpbnQgY29s b3IsIGludCB0YWlsLCBpbnQgZGlyZWN0aW9uKQogewogICAgIGludCBkeCxkeTsKIApAQCAtMjA2 LDcgKzIwNiw3IEBAIHN0YXRpYyB2b2lkIGRyYXdfYXJyb3codWludDhfdCAqYnVmLCBpbnQgc3gs IGludCBzeSwgaW50IGV4LAogICAgIGRyYXdfbGluZShidWYsIHN4LCBzeSwgZXgsIGV5LCB3LCBo LCBzdHJpZGUsIGNvbG9yKTsKIH0KIAotc3RhdGljIHZvaWQgZHJhd19ibG9ja19yZWN0YW5nbGUo dWludDhfdCAqYnVmLCBpbnQgc3gsIGludCBzeSwgaW50IHcsIGludCBoLCBpbnQgc3RyaWRlLCBp bnQgY29sb3IpCitzdGF0aWMgdm9pZCBkcmF3X2Jsb2NrX3JlY3RhbmdsZSh1aW50OF90ICpidWYs IGludCBzeCwgaW50IHN5LCBpbnQgdywgaW50IGgsIHB0cmRpZmZfdCBzdHJpZGUsIGludCBjb2xv cikKIHsKICAgICBmb3IgKGludCB4ID0gc3g7IHggPCBzeCArIHc7IHgrKykKICAgICAgICAgYnVm W3hdID0gY29sb3I7CkBAIC0yNDQsOCArMjQ0LDggQEAgc3RhdGljIGludCBmaWx0ZXJfZnJhbWUo QVZGaWx0ZXJMaW5rICppbmxpbmssIEFWRnJhbWUgKmZyYW1lKQogICAgICAgICAgICAgY29uc3Qg aW50IGggPSBBVl9DRUlMX1JTSElGVChmcmFtZS0+aGVpZ2h0LCBzLT52c3ViKTsKICAgICAgICAg ICAgIHVpbnQ4X3QgKnB1ID0gZnJhbWUtPmRhdGFbMV07CiAgICAgICAgICAgICB1aW50OF90ICpw diA9IGZyYW1lLT5kYXRhWzJdOwotICAgICAgICAgICAgY29uc3QgaW50IGx6dSA9IGZyYW1lLT5s aW5lc2l6ZVsxXTsKLSAgICAgICAgICAgIGNvbnN0IGludCBsenYgPSBmcmFtZS0+bGluZXNpemVb Ml07CisgICAgICAgICAgICBjb25zdCBwdHJkaWZmX3QgbHp1ID0gZnJhbWUtPmxpbmVzaXplWzFd OworICAgICAgICAgICAgY29uc3QgcHRyZGlmZl90IGx6diA9IGZyYW1lLT5saW5lc2l6ZVsyXTsK IAogICAgICAgICAgICAgZm9yICh5ID0gMDsgeSA8IGg7IHkrKykgewogICAgICAgICAgICAgICAg IGZvciAoeCA9IDA7IHggPCB3OyB4KyspIHsKQEAgLTI2Myw3ICsyNjMsNyBAQCBzdGF0aWMgaW50 IGZpbHRlcl9mcmFtZShBVkZpbHRlckxpbmsgKmlubGluaywgQVZGcmFtZSAqZnJhbWUpCiAgICAg ICAgIEFWRnJhbWVTaWRlRGF0YSAqc2QgPSBhdl9mcmFtZV9nZXRfc2lkZV9kYXRhKGZyYW1lLCBB Vl9GUkFNRV9EQVRBX1ZJREVPX0VOQ19QQVJBTVMpOwogICAgICAgICBpZiAoc2QpIHsKICAgICAg ICAgICAgIEFWVmlkZW9FbmNQYXJhbXMgKnBhciA9IChBVlZpZGVvRW5jUGFyYW1zKilzZC0+ZGF0 YTsKLSAgICAgICAgICAgIGNvbnN0IGludCBzdHJpZGUgPSBmcmFtZS0+bGluZXNpemVbMF07Cisg ICAgICAgICAgICBjb25zdCBwdHJkaWZmX3Qgc3RyaWRlID0gZnJhbWUtPmxpbmVzaXplWzBdOwog CiAgICAgICAgICAgICBpZiAocGFyLT5uYl9ibG9ja3MpIHsKICAgICAgICAgICAgICAgICBmb3Ig KGludCBibG9ja19pZHggPSAwOyBibG9ja19pZHggPCBwYXItPm5iX2Jsb2NrczsgYmxvY2tfaWR4 KyspIHsKZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL3ZmX2NvbG9yY29udHJhc3QuYyBiL2xpYmF2 ZmlsdGVyL3ZmX2NvbG9yY29udHJhc3QuYwppbmRleCBmMDU3MDFjMWE1Li5iMDg2ZGU3MWU1IDEw MDY0NAotLS0gYS9saWJhdmZpbHRlci92Zl9jb2xvcmNvbnRyYXN0LmMKKysrIGIvbGliYXZmaWx0 ZXIvdmZfY29sb3Jjb250cmFzdC5jCkBAIC05Niw5ICs5Niw5IEBAIHN0YXRpYyBpbnQgY29sb3Jj b250cmFzdF9zbGljZTgoQVZGaWx0ZXJDb250ZXh0ICpjdHgsIHZvaWQgKmFyZywgaW50IGpvYm5y LCBpbnQKICAgICBjb25zdCBpbnQgaGVpZ2h0ID0gZnJhbWUtPmhlaWdodDsKICAgICBjb25zdCBp bnQgc2xpY2Vfc3RhcnQgPSAoaGVpZ2h0ICogam9ibnIpIC8gbmJfam9iczsKICAgICBjb25zdCBp bnQgc2xpY2VfZW5kID0gKGhlaWdodCAqIChqb2JuciArIDEpKSAvIG5iX2pvYnM7Ci0gICAgY29u c3QgaW50IGdsaW5lc2l6ZSA9IGZyYW1lLT5saW5lc2l6ZVswXTsKLSAgICBjb25zdCBpbnQgYmxp bmVzaXplID0gZnJhbWUtPmxpbmVzaXplWzFdOwotICAgIGNvbnN0IGludCBybGluZXNpemUgPSBm cmFtZS0+bGluZXNpemVbMl07CisgICAgY29uc3QgcHRyZGlmZl90IGdsaW5lc2l6ZSA9IGZyYW1l LT5saW5lc2l6ZVswXTsKKyAgICBjb25zdCBwdHJkaWZmX3QgYmxpbmVzaXplID0gZnJhbWUtPmxp bmVzaXplWzFdOworICAgIGNvbnN0IHB0cmRpZmZfdCBybGluZXNpemUgPSBmcmFtZS0+bGluZXNp emVbMl07CiAgICAgdWludDhfdCAqZ3B0ciA9IGZyYW1lLT5kYXRhWzBdICsgc2xpY2Vfc3RhcnQg KiBnbGluZXNpemU7CiAgICAgdWludDhfdCAqYnB0ciA9IGZyYW1lLT5kYXRhWzFdICsgc2xpY2Vf c3RhcnQgKiBibGluZXNpemU7CiAgICAgdWludDhfdCAqcnB0ciA9IGZyYW1lLT5kYXRhWzJdICsg c2xpY2Vfc3RhcnQgKiBybGluZXNpemU7CkBAIC0xNTAsOSArMTUwLDkgQEAgc3RhdGljIGludCBj b2xvcmNvbnRyYXN0X3NsaWNlMTYoQVZGaWx0ZXJDb250ZXh0ICpjdHgsIHZvaWQgKmFyZywgaW50 IGpvYm5yLCBpbnQKICAgICBjb25zdCBpbnQgaGVpZ2h0ID0gZnJhbWUtPmhlaWdodDsKICAgICBj b25zdCBpbnQgc2xpY2Vfc3RhcnQgPSAoaGVpZ2h0ICogam9ibnIpIC8gbmJfam9iczsKICAgICBj b25zdCBpbnQgc2xpY2VfZW5kID0gKGhlaWdodCAqIChqb2JuciArIDEpKSAvIG5iX2pvYnM7Ci0g ICAgY29uc3QgaW50IGdsaW5lc2l6ZSA9IGZyYW1lLT5saW5lc2l6ZVswXSAvIDI7Ci0gICAgY29u c3QgaW50IGJsaW5lc2l6ZSA9IGZyYW1lLT5saW5lc2l6ZVsxXSAvIDI7Ci0gICAgY29uc3QgaW50 IHJsaW5lc2l6ZSA9IGZyYW1lLT5saW5lc2l6ZVsyXSAvIDI7CisgICAgY29uc3QgcHRyZGlmZl90 IGdsaW5lc2l6ZSA9IGZyYW1lLT5saW5lc2l6ZVswXSAvIDI7CisgICAgY29uc3QgcHRyZGlmZl90 IGJsaW5lc2l6ZSA9IGZyYW1lLT5saW5lc2l6ZVsxXSAvIDI7CisgICAgY29uc3QgcHRyZGlmZl90 IHJsaW5lc2l6ZSA9IGZyYW1lLT5saW5lc2l6ZVsyXSAvIDI7CiAgICAgdWludDE2X3QgKmdwdHIg PSAodWludDE2X3QgKilmcmFtZS0+ZGF0YVswXSArIHNsaWNlX3N0YXJ0ICogZ2xpbmVzaXplOwog ICAgIHVpbnQxNl90ICpicHRyID0gKHVpbnQxNl90ICopZnJhbWUtPmRhdGFbMV0gKyBzbGljZV9z dGFydCAqIGJsaW5lc2l6ZTsKICAgICB1aW50MTZfdCAqcnB0ciA9ICh1aW50MTZfdCAqKWZyYW1l LT5kYXRhWzJdICsgc2xpY2Vfc3RhcnQgKiBybGluZXNpemU7CkBAIC0yMDMsNyArMjAzLDcgQEAg c3RhdGljIGludCBjb2xvcmNvbnRyYXN0X3NsaWNlOHAoQVZGaWx0ZXJDb250ZXh0ICpjdHgsIHZv aWQgKmFyZywgaW50IGpvYm5yLCBpbnQKICAgICBjb25zdCBpbnQgaGVpZ2h0ID0gZnJhbWUtPmhl aWdodDsKICAgICBjb25zdCBpbnQgc2xpY2Vfc3RhcnQgPSAoaGVpZ2h0ICogam9ibnIpIC8gbmJf am9iczsKICAgICBjb25zdCBpbnQgc2xpY2VfZW5kID0gKGhlaWdodCAqIChqb2JuciArIDEpKSAv IG5iX2pvYnM7Ci0gICAgY29uc3QgaW50IGxpbmVzaXplID0gZnJhbWUtPmxpbmVzaXplWzBdOwor ICAgIGNvbnN0IHB0cmRpZmZfdCBsaW5lc2l6ZSA9IGZyYW1lLT5saW5lc2l6ZVswXTsKICAgICBj b25zdCB1aW50OF90IHJvZmZzZXQgPSBzLT5yZ2JhX21hcFtSXTsKICAgICBjb25zdCB1aW50OF90 IGdvZmZzZXQgPSBzLT5yZ2JhX21hcFtHXTsKICAgICBjb25zdCB1aW50OF90IGJvZmZzZXQgPSBz LT5yZ2JhX21hcFtCXTsKQEAgLTI1NSw3ICsyNTUsNyBAQCBzdGF0aWMgaW50IGNvbG9yY29udHJh c3Rfc2xpY2UxNnAoQVZGaWx0ZXJDb250ZXh0ICpjdHgsIHZvaWQgKmFyZywgaW50IGpvYm5yLCBp bgogICAgIGNvbnN0IGludCBoZWlnaHQgPSBmcmFtZS0+aGVpZ2h0OwogICAgIGNvbnN0IGludCBz bGljZV9zdGFydCA9IChoZWlnaHQgKiBqb2JucikgLyBuYl9qb2JzOwogICAgIGNvbnN0IGludCBz bGljZV9lbmQgPSAoaGVpZ2h0ICogKGpvYm5yICsgMSkpIC8gbmJfam9iczsKLSAgICBjb25zdCBp bnQgbGluZXNpemUgPSBmcmFtZS0+bGluZXNpemVbMF0gLyAyOworICAgIGNvbnN0IHB0cmRpZmZf dCBsaW5lc2l6ZSA9IGZyYW1lLT5saW5lc2l6ZVswXSAvIDI7CiAgICAgY29uc3QgdWludDhfdCBy b2Zmc2V0ID0gcy0+cmdiYV9tYXBbUl07CiAgICAgY29uc3QgdWludDhfdCBnb2Zmc2V0ID0gcy0+ cmdiYV9tYXBbR107CiAgICAgY29uc3QgdWludDhfdCBib2Zmc2V0ID0gcy0+cmdiYV9tYXBbQl07 CmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci92Zl9jb2xvcmNvcnJlY3QuYyBiL2xpYmF2ZmlsdGVy L3ZmX2NvbG9yY29ycmVjdC5jCmluZGV4IDBmMmZlMzNjMGYuLjFjNGRlYTUzMWIgMTAwNjQ0Ci0t LSBhL2xpYmF2ZmlsdGVyL3ZmX2NvbG9yY29ycmVjdC5jCisrKyBiL2xpYmF2ZmlsdGVyL3ZmX2Nv bG9yY29ycmVjdC5jCkBAIC02OSw4ICs2OSw4IEBAIHN0YXRpYyBpbnQgYXZlcmFnZV9zbGljZTgo QVZGaWx0ZXJDb250ZXh0ICpjdHgsIHZvaWQgKmFyZywgaW50IGpvYm5yLCBpbnQgbmJfam9iCiAg ICAgY29uc3QgaW50IGhlaWdodCA9IHMtPnBsYW5laGVpZ2h0WzFdOwogICAgIGNvbnN0IGludCBz bGljZV9zdGFydCA9IChoZWlnaHQgKiBqb2JucikgLyBuYl9qb2JzOwogICAgIGNvbnN0IGludCBz bGljZV9lbmQgPSAoaGVpZ2h0ICogKGpvYm5yICsgMSkpIC8gbmJfam9iczsKLSAgICBjb25zdCBp bnQgdWxpbmVzaXplID0gZnJhbWUtPmxpbmVzaXplWzFdOwotICAgIGNvbnN0IGludCB2bGluZXNp emUgPSBmcmFtZS0+bGluZXNpemVbMl07CisgICAgY29uc3QgcHRyZGlmZl90IHVsaW5lc2l6ZSA9 IGZyYW1lLT5saW5lc2l6ZVsxXTsKKyAgICBjb25zdCBwdHJkaWZmX3QgdmxpbmVzaXplID0gZnJh bWUtPmxpbmVzaXplWzJdOwogICAgIGNvbnN0IHVpbnQ4X3QgKnVwdHIgPSAoY29uc3QgdWludDhf dCAqKWZyYW1lLT5kYXRhWzFdICsgc2xpY2Vfc3RhcnQgKiB1bGluZXNpemU7CiAgICAgY29uc3Qg dWludDhfdCAqdnB0ciA9IChjb25zdCB1aW50OF90ICopZnJhbWUtPmRhdGFbMl0gKyBzbGljZV9z dGFydCAqIHZsaW5lc2l6ZTsKICAgICBpbnQgc3VtX3UgPSAwLCBzdW1fdiA9IDA7CkBAIC0xMDAs OCArMTAwLDggQEAgc3RhdGljIGludCBhdmVyYWdlX3NsaWNlMTYoQVZGaWx0ZXJDb250ZXh0ICpj dHgsIHZvaWQgKmFyZywgaW50IGpvYm5yLCBpbnQgbmJfam8KICAgICBjb25zdCBpbnQgaGVpZ2h0 ID0gcy0+cGxhbmVoZWlnaHRbMV07CiAgICAgY29uc3QgaW50IHNsaWNlX3N0YXJ0ID0gKGhlaWdo dCAqIGpvYm5yKSAvIG5iX2pvYnM7CiAgICAgY29uc3QgaW50IHNsaWNlX2VuZCA9IChoZWlnaHQg KiAoam9ibnIgKyAxKSkgLyBuYl9qb2JzOwotICAgIGNvbnN0IGludCB1bGluZXNpemUgPSBmcmFt ZS0+bGluZXNpemVbMV0gLyAyOwotICAgIGNvbnN0IGludCB2bGluZXNpemUgPSBmcmFtZS0+bGlu ZXNpemVbMl0gLyAyOworICAgIGNvbnN0IHB0cmRpZmZfdCB1bGluZXNpemUgPSBmcmFtZS0+bGlu ZXNpemVbMV0gLyAyOworICAgIGNvbnN0IHB0cmRpZmZfdCB2bGluZXNpemUgPSBmcmFtZS0+bGlu ZXNpemVbMl0gLyAyOwogICAgIGNvbnN0IHVpbnQxNl90ICp1cHRyID0gKGNvbnN0IHVpbnQxNl90 ICopZnJhbWUtPmRhdGFbMV0gKyBzbGljZV9zdGFydCAqIHVsaW5lc2l6ZTsKICAgICBjb25zdCB1 aW50MTZfdCAqdnB0ciA9IChjb25zdCB1aW50MTZfdCAqKWZyYW1lLT5kYXRhWzJdICsgc2xpY2Vf c3RhcnQgKiB2bGluZXNpemU7CiAgICAgaW50NjRfdCBzdW1fdSA9IDAsIHN1bV92ID0gMDsKQEAg LTEzMSw4ICsxMzEsOCBAQCBzdGF0aWMgaW50IG1pbm1heF9zbGljZTgoQVZGaWx0ZXJDb250ZXh0 ICpjdHgsIHZvaWQgKmFyZywgaW50IGpvYm5yLCBpbnQgbmJfam9icwogICAgIGNvbnN0IGludCBo ZWlnaHQgPSBzLT5wbGFuZWhlaWdodFsxXTsKICAgICBjb25zdCBpbnQgc2xpY2Vfc3RhcnQgPSAo aGVpZ2h0ICogam9ibnIpIC8gbmJfam9iczsKICAgICBjb25zdCBpbnQgc2xpY2VfZW5kID0gKGhl aWdodCAqIChqb2JuciArIDEpKSAvIG5iX2pvYnM7Ci0gICAgY29uc3QgaW50IHVsaW5lc2l6ZSA9 IGZyYW1lLT5saW5lc2l6ZVsxXTsKLSAgICBjb25zdCBpbnQgdmxpbmVzaXplID0gZnJhbWUtPmxp bmVzaXplWzJdOworICAgIGNvbnN0IHB0cmRpZmZfdCB1bGluZXNpemUgPSBmcmFtZS0+bGluZXNp emVbMV07CisgICAgY29uc3QgcHRyZGlmZl90IHZsaW5lc2l6ZSA9IGZyYW1lLT5saW5lc2l6ZVsy XTsKICAgICBjb25zdCB1aW50OF90ICp1cHRyID0gKGNvbnN0IHVpbnQ4X3QgKilmcmFtZS0+ZGF0 YVsxXSArIHNsaWNlX3N0YXJ0ICogdWxpbmVzaXplOwogICAgIGNvbnN0IHVpbnQ4X3QgKnZwdHIg PSAoY29uc3QgdWludDhfdCAqKWZyYW1lLT5kYXRhWzJdICsgc2xpY2Vfc3RhcnQgKiB2bGluZXNp emU7CiAgICAgaW50IG1pbl91ID0gMjU1LCBtaW5fdiA9IDI1NTsKQEAgLTE2Nyw4ICsxNjcsOCBA QCBzdGF0aWMgaW50IG1pbm1heF9zbGljZTE2KEFWRmlsdGVyQ29udGV4dCAqY3R4LCB2b2lkICph cmcsIGludCBqb2JuciwgaW50IG5iX2pvYgogICAgIGNvbnN0IGludCBoZWlnaHQgPSBzLT5wbGFu ZWhlaWdodFsxXTsKICAgICBjb25zdCBpbnQgc2xpY2Vfc3RhcnQgPSAoaGVpZ2h0ICogam9ibnIp IC8gbmJfam9iczsKICAgICBjb25zdCBpbnQgc2xpY2VfZW5kID0gKGhlaWdodCAqIChqb2JuciAr IDEpKSAvIG5iX2pvYnM7Ci0gICAgY29uc3QgaW50IHVsaW5lc2l6ZSA9IGZyYW1lLT5saW5lc2l6 ZVsxXSAvIDI7Ci0gICAgY29uc3QgaW50IHZsaW5lc2l6ZSA9IGZyYW1lLT5saW5lc2l6ZVsyXSAv IDI7CisgICAgY29uc3QgcHRyZGlmZl90IHVsaW5lc2l6ZSA9IGZyYW1lLT5saW5lc2l6ZVsxXSAv IDI7CisgICAgY29uc3QgcHRyZGlmZl90IHZsaW5lc2l6ZSA9IGZyYW1lLT5saW5lc2l6ZVsyXSAv IDI7CiAgICAgY29uc3QgdWludDE2X3QgKnVwdHIgPSAoY29uc3QgdWludDE2X3QgKilmcmFtZS0+ ZGF0YVsxXSArIHNsaWNlX3N0YXJ0ICogdWxpbmVzaXplOwogICAgIGNvbnN0IHVpbnQxNl90ICp2 cHRyID0gKGNvbnN0IHVpbnQxNl90ICopZnJhbWUtPmRhdGFbMl0gKyBzbGljZV9zdGFydCAqIHZs aW5lc2l6ZTsKICAgICBpbnQgbWluX3UgPSBJTlRfTUFYLCBtaW5fdiA9IElOVF9NQVg7CkBAIC0y MDEsOCArMjAxLDggQEAgc3RhdGljIGludCBtZWRpYW5fOChBVkZpbHRlckNvbnRleHQgKmN0eCwg dm9pZCAqYXJnLCBpbnQgam9ibnIsIGludCBuYl9qb2JzKQogICAgIGNvbnN0IGZsb2F0IGltYXgg PSBzLT5pbWF4OwogICAgIGNvbnN0IGludCB3aWR0aCA9IHMtPnBsYW5ld2lkdGhbMV07CiAgICAg Y29uc3QgaW50IGhlaWdodCA9IHMtPnBsYW5laGVpZ2h0WzFdOwotICAgIGNvbnN0IGludCB1bGlu ZXNpemUgPSBmcmFtZS0+bGluZXNpemVbMV07Ci0gICAgY29uc3QgaW50IHZsaW5lc2l6ZSA9IGZy YW1lLT5saW5lc2l6ZVsyXTsKKyAgICBjb25zdCBwdHJkaWZmX3QgdWxpbmVzaXplID0gZnJhbWUt PmxpbmVzaXplWzFdOworICAgIGNvbnN0IHB0cmRpZmZfdCB2bGluZXNpemUgPSBmcmFtZS0+bGlu ZXNpemVbMl07CiAgICAgY29uc3QgdWludDhfdCAqdXB0ciA9IChjb25zdCB1aW50OF90ICopZnJh bWUtPmRhdGFbMV07CiAgICAgY29uc3QgdWludDhfdCAqdnB0ciA9IChjb25zdCB1aW50OF90ICop ZnJhbWUtPmRhdGFbMl07CiAgICAgdW5zaWduZWQgKnVoaXN0b2dyYW0gPSBzLT51aGlzdG9ncmFt OwpAQCAtMjU1LDggKzI1NSw4IEBAIHN0YXRpYyBpbnQgbWVkaWFuXzE2KEFWRmlsdGVyQ29udGV4 dCAqY3R4LCB2b2lkICphcmcsIGludCBqb2JuciwgaW50IG5iX2pvYnMpCiAgICAgY29uc3QgZmxv YXQgaW1heCA9IHMtPmltYXg7CiAgICAgY29uc3QgaW50IHdpZHRoID0gcy0+cGxhbmV3aWR0aFsx XTsKICAgICBjb25zdCBpbnQgaGVpZ2h0ID0gcy0+cGxhbmVoZWlnaHRbMV07Ci0gICAgY29uc3Qg aW50IHVsaW5lc2l6ZSA9IGZyYW1lLT5saW5lc2l6ZVsxXSAvIDI7Ci0gICAgY29uc3QgaW50IHZs aW5lc2l6ZSA9IGZyYW1lLT5saW5lc2l6ZVsyXSAvIDI7CisgICAgY29uc3QgcHRyZGlmZl90IHVs aW5lc2l6ZSA9IGZyYW1lLT5saW5lc2l6ZVsxXSAvIDI7CisgICAgY29uc3QgcHRyZGlmZl90IHZs aW5lc2l6ZSA9IGZyYW1lLT5saW5lc2l6ZVsyXSAvIDI7CiAgICAgY29uc3QgdWludDE2X3QgKnVw dHIgPSAoY29uc3QgdWludDE2X3QgKilmcmFtZS0+ZGF0YVsxXTsKICAgICBjb25zdCB1aW50MTZf dCAqdnB0ciA9IChjb25zdCB1aW50MTZfdCAqKWZyYW1lLT5kYXRhWzJdOwogICAgIHVuc2lnbmVk ICp1aGlzdG9ncmFtID0gcy0+dWhpc3RvZ3JhbTsKQEAgLTMyMyw5ICszMjMsOSBAQCBzdGF0aWMg aW50IGNvbG9yY29ycmVjdF9zbGljZTgoQVZGaWx0ZXJDb250ZXh0ICpjdHgsIHZvaWQgKmFyZywg aW50IGpvYm5yLCBpbnQgbgogICAgIGNvbnN0IGludCBoZWlnaHQgPSBzLT5wbGFuZWhlaWdodFsx XTsKICAgICBjb25zdCBpbnQgc2xpY2Vfc3RhcnQgPSAoaGVpZ2h0ICogam9ibnIpIC8gbmJfam9i czsKICAgICBjb25zdCBpbnQgc2xpY2VfZW5kID0gKGhlaWdodCAqIChqb2JuciArIDEpKSAvIG5i X2pvYnM7Ci0gICAgY29uc3QgaW50IHlsaW5lc2l6ZSA9IGZyYW1lLT5saW5lc2l6ZVswXTsKLSAg ICBjb25zdCBpbnQgdWxpbmVzaXplID0gZnJhbWUtPmxpbmVzaXplWzFdOwotICAgIGNvbnN0IGlu dCB2bGluZXNpemUgPSBmcmFtZS0+bGluZXNpemVbMl07CisgICAgY29uc3QgcHRyZGlmZl90IHls aW5lc2l6ZSA9IGZyYW1lLT5saW5lc2l6ZVswXTsKKyAgICBjb25zdCBwdHJkaWZmX3QgdWxpbmVz aXplID0gZnJhbWUtPmxpbmVzaXplWzFdOworICAgIGNvbnN0IHB0cmRpZmZfdCB2bGluZXNpemUg PSBmcmFtZS0+bGluZXNpemVbMl07CiAgICAgdWludDhfdCAqeXB0ciA9IGZyYW1lLT5kYXRhWzBd ICsgc2xpY2Vfc3RhcnQgKiBjaHJvbWFfaCAqIHlsaW5lc2l6ZTsKICAgICB1aW50OF90ICp1cHRy ID0gZnJhbWUtPmRhdGFbMV0gKyBzbGljZV9zdGFydCAqIHVsaW5lc2l6ZTsKICAgICB1aW50OF90 ICp2cHRyID0gZnJhbWUtPmRhdGFbMl0gKyBzbGljZV9zdGFydCAqIHZsaW5lc2l6ZTsKQEAgLTM2 NCw5ICszNjQsOSBAQCBzdGF0aWMgaW50IGNvbG9yY29ycmVjdF9zbGljZTE2KEFWRmlsdGVyQ29u dGV4dCAqY3R4LCB2b2lkICphcmcsIGludCBqb2JuciwgaW50CiAgICAgY29uc3QgaW50IGhlaWdo dCA9IHMtPnBsYW5laGVpZ2h0WzFdOwogICAgIGNvbnN0IGludCBzbGljZV9zdGFydCA9IChoZWln aHQgKiBqb2JucikgLyBuYl9qb2JzOwogICAgIGNvbnN0IGludCBzbGljZV9lbmQgPSAoaGVpZ2h0 ICogKGpvYm5yICsgMSkpIC8gbmJfam9iczsKLSAgICBjb25zdCBpbnQgeWxpbmVzaXplID0gZnJh bWUtPmxpbmVzaXplWzBdIC8gMjsKLSAgICBjb25zdCBpbnQgdWxpbmVzaXplID0gZnJhbWUtPmxp bmVzaXplWzFdIC8gMjsKLSAgICBjb25zdCBpbnQgdmxpbmVzaXplID0gZnJhbWUtPmxpbmVzaXpl WzJdIC8gMjsKKyAgICBjb25zdCBwdHJkaWZmX3QgeWxpbmVzaXplID0gZnJhbWUtPmxpbmVzaXpl WzBdIC8gMjsKKyAgICBjb25zdCBwdHJkaWZmX3QgdWxpbmVzaXplID0gZnJhbWUtPmxpbmVzaXpl WzFdIC8gMjsKKyAgICBjb25zdCBwdHJkaWZmX3QgdmxpbmVzaXplID0gZnJhbWUtPmxpbmVzaXpl WzJdIC8gMjsKICAgICB1aW50MTZfdCAqeXB0ciA9ICh1aW50MTZfdCAqKWZyYW1lLT5kYXRhWzBd ICsgc2xpY2Vfc3RhcnQgKiBjaHJvbWFfaCAqIHlsaW5lc2l6ZTsKICAgICB1aW50MTZfdCAqdXB0 ciA9ICh1aW50MTZfdCAqKWZyYW1lLT5kYXRhWzFdICsgc2xpY2Vfc3RhcnQgKiB1bGluZXNpemU7 CiAgICAgdWludDE2X3QgKnZwdHIgPSAodWludDE2X3QgKilmcmFtZS0+ZGF0YVsyXSArIHNsaWNl X3N0YXJ0ICogdmxpbmVzaXplOwpkaWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIvdmZfY29sb3JpemUu YyBiL2xpYmF2ZmlsdGVyL3ZmX2NvbG9yaXplLmMKaW5kZXggZWQxNGJlOTQ1OS4uZTZjNTYzZTNl MiAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvdmZfY29sb3JpemUuYworKysgYi9saWJhdmZpbHRl ci92Zl9jb2xvcml6ZS5jCkBAIC01Miw3ICs1Miw3IEBAIHN0YXRpYyBpbnQgY29sb3JpemV5X3Ns aWNlOChBVkZpbHRlckNvbnRleHQgKmN0eCwgdm9pZCAqYXJnLCBpbnQgam9ibnIsIGludCBuYl9q CiAgICAgY29uc3QgaW50IGhlaWdodCA9IHMtPnBsYW5laGVpZ2h0WzBdOwogICAgIGNvbnN0IGlu dCBzbGljZV9zdGFydCA9IChoZWlnaHQgKiBqb2JucikgLyBuYl9qb2JzOwogICAgIGNvbnN0IGlu dCBzbGljZV9lbmQgPSAoaGVpZ2h0ICogKGpvYm5yICsgMSkpIC8gbmJfam9iczsKLSAgICBjb25z dCBpbnQgeWxpbmVzaXplID0gZnJhbWUtPmxpbmVzaXplWzBdOworICAgIGNvbnN0IHB0cmRpZmZf dCB5bGluZXNpemUgPSBmcmFtZS0+bGluZXNpemVbMF07CiAgICAgdWludDhfdCAqeXB0ciA9IGZy YW1lLT5kYXRhWzBdICsgc2xpY2Vfc3RhcnQgKiB5bGluZXNpemU7CiAgICAgY29uc3QgaW50IHl2 ID0gcy0+Y1swXTsKICAgICBjb25zdCBmbG9hdCBtaXggPSBzLT5taXg7CkBAIC03NSw3ICs3NSw3 IEBAIHN0YXRpYyBpbnQgY29sb3JpemV5X3NsaWNlMTYoQVZGaWx0ZXJDb250ZXh0ICpjdHgsIHZv aWQgKmFyZywgaW50IGpvYm5yLCBpbnQgbmJfCiAgICAgY29uc3QgaW50IGhlaWdodCA9IHMtPnBs YW5laGVpZ2h0WzBdOwogICAgIGNvbnN0IGludCBzbGljZV9zdGFydCA9IChoZWlnaHQgKiBqb2Ju cikgLyBuYl9qb2JzOwogICAgIGNvbnN0IGludCBzbGljZV9lbmQgPSAoaGVpZ2h0ICogKGpvYm5y ICsgMSkpIC8gbmJfam9iczsKLSAgICBjb25zdCBpbnQgeWxpbmVzaXplID0gZnJhbWUtPmxpbmVz aXplWzBdIC8gMjsKKyAgICBjb25zdCBwdHJkaWZmX3QgeWxpbmVzaXplID0gZnJhbWUtPmxpbmVz aXplWzBdIC8gMjsKICAgICB1aW50MTZfdCAqeXB0ciA9ICh1aW50MTZfdCAqKWZyYW1lLT5kYXRh WzBdICsgc2xpY2Vfc3RhcnQgKiB5bGluZXNpemU7CiAgICAgY29uc3QgaW50IHl2ID0gcy0+Y1sw XTsKICAgICBjb25zdCBmbG9hdCBtaXggPSBzLT5taXg7CkBAIC05OCw4ICs5OCw4IEBAIHN0YXRp YyBpbnQgY29sb3JpemVfc2xpY2U4KEFWRmlsdGVyQ29udGV4dCAqY3R4LCB2b2lkICphcmcsIGlu dCBqb2JuciwgaW50IG5iX2pvCiAgICAgY29uc3QgaW50IGhlaWdodCA9IHMtPnBsYW5laGVpZ2h0 WzFdOwogICAgIGNvbnN0IGludCBzbGljZV9zdGFydCA9IChoZWlnaHQgKiBqb2JucikgLyBuYl9q b2JzOwogICAgIGNvbnN0IGludCBzbGljZV9lbmQgPSAoaGVpZ2h0ICogKGpvYm5yICsgMSkpIC8g bmJfam9iczsKLSAgICBjb25zdCBpbnQgdWxpbmVzaXplID0gZnJhbWUtPmxpbmVzaXplWzFdOwot ICAgIGNvbnN0IGludCB2bGluZXNpemUgPSBmcmFtZS0+bGluZXNpemVbMl07CisgICAgY29uc3Qg cHRyZGlmZl90IHVsaW5lc2l6ZSA9IGZyYW1lLT5saW5lc2l6ZVsxXTsKKyAgICBjb25zdCBwdHJk aWZmX3QgdmxpbmVzaXplID0gZnJhbWUtPmxpbmVzaXplWzJdOwogICAgIHVpbnQ4X3QgKnVwdHIg PSBmcmFtZS0+ZGF0YVsxXSArIHNsaWNlX3N0YXJ0ICogdWxpbmVzaXplOwogICAgIHVpbnQ4X3Qg KnZwdHIgPSBmcmFtZS0+ZGF0YVsyXSArIHNsaWNlX3N0YXJ0ICogdmxpbmVzaXplOwogICAgIGNv bnN0IGludCB1ID0gcy0+Y1sxXTsKQEAgLTEyNiw4ICsxMjYsOCBAQCBzdGF0aWMgaW50IGNvbG9y aXplX3NsaWNlMTYoQVZGaWx0ZXJDb250ZXh0ICpjdHgsIHZvaWQgKmFyZywgaW50IGpvYm5yLCBp bnQgbmJfagogICAgIGNvbnN0IGludCBoZWlnaHQgPSBzLT5wbGFuZWhlaWdodFsxXTsKICAgICBj b25zdCBpbnQgc2xpY2Vfc3RhcnQgPSAoaGVpZ2h0ICogam9ibnIpIC8gbmJfam9iczsKICAgICBj b25zdCBpbnQgc2xpY2VfZW5kID0gKGhlaWdodCAqIChqb2JuciArIDEpKSAvIG5iX2pvYnM7Ci0g ICAgY29uc3QgaW50IHVsaW5lc2l6ZSA9IGZyYW1lLT5saW5lc2l6ZVsxXSAvIDI7Ci0gICAgY29u c3QgaW50IHZsaW5lc2l6ZSA9IGZyYW1lLT5saW5lc2l6ZVsyXSAvIDI7CisgICAgY29uc3QgcHRy ZGlmZl90IHVsaW5lc2l6ZSA9IGZyYW1lLT5saW5lc2l6ZVsxXSAvIDI7CisgICAgY29uc3QgcHRy ZGlmZl90IHZsaW5lc2l6ZSA9IGZyYW1lLT5saW5lc2l6ZVsyXSAvIDI7CiAgICAgdWludDE2X3Qg KnVwdHIgPSAodWludDE2X3QgKilmcmFtZS0+ZGF0YVsxXSArIHNsaWNlX3N0YXJ0ICogdWxpbmVz aXplOwogICAgIHVpbnQxNl90ICp2cHRyID0gKHVpbnQxNl90ICopZnJhbWUtPmRhdGFbMl0gKyBz bGljZV9zdGFydCAqIHZsaW5lc2l6ZTsKICAgICBjb25zdCBpbnQgdSA9IHMtPmNbMV07CmRpZmYg LS1naXQgYS9saWJhdmZpbHRlci92Zl9maWxsYm9yZGVycy5jIGIvbGliYXZmaWx0ZXIvdmZfZmls bGJvcmRlcnMuYwppbmRleCAzMmNhNzIxOWJiLi4zNGU3YjVmNjM3IDEwMDY0NAotLS0gYS9saWJh dmZpbHRlci92Zl9maWxsYm9yZGVycy5jCisrKyBiL2xpYmF2ZmlsdGVyL3ZmX2ZpbGxib3JkZXJz LmMKQEAgLTgyLDcgKzgyLDcgQEAgc3RhdGljIHZvaWQgc21lYXJfYm9yZGVyczgoRmlsbEJvcmRl cnNDb250ZXh0ICpzLCBBVkZyYW1lICpmcmFtZSkKIAogICAgIGZvciAocCA9IDA7IHAgPCBzLT5u Yl9wbGFuZXM7IHArKykgewogICAgICAgICB1aW50OF90ICpwdHIgPSBmcmFtZS0+ZGF0YVtwXTsK LSAgICAgICAgaW50IGxpbmVzaXplID0gZnJhbWUtPmxpbmVzaXplW3BdOworICAgICAgICBwdHJk aWZmX3QgbGluZXNpemUgPSBmcmFtZS0+bGluZXNpemVbcF07CiAKICAgICAgICAgZm9yICh5ID0g cy0+Ym9yZGVyc1twXS50b3A7IHkgPCBzLT5wbGFuZWhlaWdodFtwXSAtIHMtPmJvcmRlcnNbcF0u Ym90dG9tOyB5KyspIHsKICAgICAgICAgICAgIG1lbXNldChwdHIgKyB5ICogbGluZXNpemUsCkBA IC0xMTIsNyArMTEyLDcgQEAgc3RhdGljIHZvaWQgc21lYXJfYm9yZGVyczE2KEZpbGxCb3JkZXJz Q29udGV4dCAqcywgQVZGcmFtZSAqZnJhbWUpCiAKICAgICBmb3IgKHAgPSAwOyBwIDwgcy0+bmJf cGxhbmVzOyBwKyspIHsKICAgICAgICAgdWludDE2X3QgKnB0ciA9ICh1aW50MTZfdCAqKWZyYW1l LT5kYXRhW3BdOwotICAgICAgICBpbnQgbGluZXNpemUgPSBmcmFtZS0+bGluZXNpemVbcF0gLyAy OworICAgICAgICBwdHJkaWZmX3QgbGluZXNpemUgPSBmcmFtZS0+bGluZXNpemVbcF0gLyAyOwog CiAgICAgICAgIGZvciAoeSA9IHMtPmJvcmRlcnNbcF0udG9wOyB5IDwgcy0+cGxhbmVoZWlnaHRb cF0gLSBzLT5ib3JkZXJzW3BdLmJvdHRvbTsgeSsrKSB7CiAgICAgICAgICAgICBmb3IgKHggPSAw OyB4IDwgcy0+Ym9yZGVyc1twXS5sZWZ0OyB4KyspIHsKQEAgLTE0NCw3ICsxNDQsNyBAQCBzdGF0 aWMgdm9pZCBtaXJyb3JfYm9yZGVyczgoRmlsbEJvcmRlcnNDb250ZXh0ICpzLCBBVkZyYW1lICpm cmFtZSkKIAogICAgIGZvciAocCA9IDA7IHAgPCBzLT5uYl9wbGFuZXM7IHArKykgewogICAgICAg ICB1aW50OF90ICpwdHIgPSBmcmFtZS0+ZGF0YVtwXTsKLSAgICAgICAgaW50IGxpbmVzaXplID0g ZnJhbWUtPmxpbmVzaXplW3BdOworICAgICAgICBwdHJkaWZmX3QgbGluZXNpemUgPSBmcmFtZS0+ bGluZXNpemVbcF07CiAKICAgICAgICAgZm9yICh5ID0gcy0+Ym9yZGVyc1twXS50b3A7IHkgPCBz LT5wbGFuZWhlaWdodFtwXSAtIHMtPmJvcmRlcnNbcF0uYm90dG9tOyB5KyspIHsKICAgICAgICAg ICAgIGZvciAoeCA9IDA7IHggPCBzLT5ib3JkZXJzW3BdLmxlZnQ7IHgrKykgewpAQCAtMTc3LDcg KzE3Nyw3IEBAIHN0YXRpYyB2b2lkIG1pcnJvcl9ib3JkZXJzMTYoRmlsbEJvcmRlcnNDb250ZXh0 ICpzLCBBVkZyYW1lICpmcmFtZSkKIAogICAgIGZvciAocCA9IDA7IHAgPCBzLT5uYl9wbGFuZXM7 IHArKykgewogICAgICAgICB1aW50MTZfdCAqcHRyID0gKHVpbnQxNl90ICopZnJhbWUtPmRhdGFb cF07Ci0gICAgICAgIGludCBsaW5lc2l6ZSA9IGZyYW1lLT5saW5lc2l6ZVtwXSAvIDI7CisgICAg ICAgIHB0cmRpZmZfdCBsaW5lc2l6ZSA9IGZyYW1lLT5saW5lc2l6ZVtwXSAvIDI7CiAKICAgICAg ICAgZm9yICh5ID0gcy0+Ym9yZGVyc1twXS50b3A7IHkgPCBzLT5wbGFuZWhlaWdodFtwXSAtIHMt PmJvcmRlcnNbcF0uYm90dG9tOyB5KyspIHsKICAgICAgICAgICAgIGZvciAoeCA9IDA7IHggPCBz LT5ib3JkZXJzW3BdLmxlZnQ7IHgrKykgewpAQCAtMjExLDcgKzIxMSw3IEBAIHN0YXRpYyB2b2lk IGZpeGVkX2JvcmRlcnM4KEZpbGxCb3JkZXJzQ29udGV4dCAqcywgQVZGcmFtZSAqZnJhbWUpCiAg ICAgZm9yIChwID0gMDsgcCA8IHMtPm5iX3BsYW5lczsgcCsrKSB7CiAgICAgICAgIHVpbnQ4X3Qg KnB0ciA9IGZyYW1lLT5kYXRhW3BdOwogICAgICAgICB1aW50OF90IGZpbGwgPSBzLT5maWxsW3Bd OwotICAgICAgICBpbnQgbGluZXNpemUgPSBmcmFtZS0+bGluZXNpemVbcF07CisgICAgICAgIHB0 cmRpZmZfdCBsaW5lc2l6ZSA9IGZyYW1lLT5saW5lc2l6ZVtwXTsKIAogICAgICAgICBmb3IgKHkg PSBzLT5ib3JkZXJzW3BdLnRvcDsgeSA8IHMtPnBsYW5laGVpZ2h0W3BdIC0gcy0+Ym9yZGVyc1tw XS5ib3R0b207IHkrKykgewogICAgICAgICAgICAgbWVtc2V0KHB0ciArIHkgKiBsaW5lc2l6ZSwg ZmlsbCwgcy0+Ym9yZGVyc1twXS5sZWZ0KTsKQEAgLTIzNiw3ICsyMzYsNyBAQCBzdGF0aWMgdm9p ZCBmaXhlZF9ib3JkZXJzMTYoRmlsbEJvcmRlcnNDb250ZXh0ICpzLCBBVkZyYW1lICpmcmFtZSkK ICAgICBmb3IgKHAgPSAwOyBwIDwgcy0+bmJfcGxhbmVzOyBwKyspIHsKICAgICAgICAgdWludDE2 X3QgKnB0ciA9ICh1aW50MTZfdCAqKWZyYW1lLT5kYXRhW3BdOwogICAgICAgICB1aW50MTZfdCBm aWxsID0gcy0+ZmlsbFtwXSA8PCAocy0+ZGVwdGggLSA4KTsKLSAgICAgICAgaW50IGxpbmVzaXpl ID0gZnJhbWUtPmxpbmVzaXplW3BdIC8gMjsKKyAgICAgICAgcHRyZGlmZl90IGxpbmVzaXplID0g ZnJhbWUtPmxpbmVzaXplW3BdIC8gMjsKIAogICAgICAgICBmb3IgKHkgPSBzLT5ib3JkZXJzW3Bd LnRvcDsgeSA8IHMtPnBsYW5laGVpZ2h0W3BdIC0gcy0+Ym9yZGVyc1twXS5ib3R0b207IHkrKykg ewogICAgICAgICAgICAgZm9yICh4ID0gMDsgeCA8IHMtPmJvcmRlcnNbcF0ubGVmdDsgeCsrKSB7 CkBAIC0yNjgsNyArMjY4LDcgQEAgc3RhdGljIHZvaWQgcmVmbGVjdF9ib3JkZXJzOChGaWxsQm9y ZGVyc0NvbnRleHQgKnMsIEFWRnJhbWUgKmZyYW1lKQogCiAgICAgZm9yIChwID0gMDsgcCA8IHMt Pm5iX3BsYW5lczsgcCsrKSB7CiAgICAgICAgIHVpbnQ4X3QgKnB0ciA9IGZyYW1lLT5kYXRhW3Bd OwotICAgICAgICBpbnQgbGluZXNpemUgPSBmcmFtZS0+bGluZXNpemVbcF07CisgICAgICAgIHB0 cmRpZmZfdCBsaW5lc2l6ZSA9IGZyYW1lLT5saW5lc2l6ZVtwXTsKIAogICAgICAgICBmb3IgKHkg PSBzLT5ib3JkZXJzW3BdLnRvcDsgeSA8IHMtPnBsYW5laGVpZ2h0W3BdIC0gcy0+Ym9yZGVyc1tw XS5ib3R0b207IHkrKykgewogICAgICAgICAgICAgZm9yICh4ID0gMDsgeCA8IHMtPmJvcmRlcnNb cF0ubGVmdDsgeCsrKSB7CkBAIC0zMDEsNyArMzAxLDcgQEAgc3RhdGljIHZvaWQgcmVmbGVjdF9i b3JkZXJzMTYoRmlsbEJvcmRlcnNDb250ZXh0ICpzLCBBVkZyYW1lICpmcmFtZSkKIAogICAgIGZv ciAocCA9IDA7IHAgPCBzLT5uYl9wbGFuZXM7IHArKykgewogICAgICAgICB1aW50MTZfdCAqcHRy ID0gKHVpbnQxNl90ICopZnJhbWUtPmRhdGFbcF07Ci0gICAgICAgIGludCBsaW5lc2l6ZSA9IGZy YW1lLT5saW5lc2l6ZVtwXSAvIDI7CisgICAgICAgIHB0cmRpZmZfdCBsaW5lc2l6ZSA9IGZyYW1l LT5saW5lc2l6ZVtwXSAvIDI7CiAKICAgICAgICAgZm9yICh5ID0gcy0+Ym9yZGVyc1twXS50b3A7 IHkgPCBzLT5wbGFuZWhlaWdodFtwXSAtIHMtPmJvcmRlcnNbcF0uYm90dG9tOyB5KyspIHsKICAg ICAgICAgICAgIGZvciAoeCA9IDA7IHggPCBzLT5ib3JkZXJzW3BdLmxlZnQ7IHgrKykgewpAQCAt MzM0LDcgKzMzNCw3IEBAIHN0YXRpYyB2b2lkIHdyYXBfYm9yZGVyczgoRmlsbEJvcmRlcnNDb250 ZXh0ICpzLCBBVkZyYW1lICpmcmFtZSkKIAogICAgIGZvciAocCA9IDA7IHAgPCBzLT5uYl9wbGFu ZXM7IHArKykgewogICAgICAgICB1aW50OF90ICpwdHIgPSBmcmFtZS0+ZGF0YVtwXTsKLSAgICAg ICAgaW50IGxpbmVzaXplID0gZnJhbWUtPmxpbmVzaXplW3BdOworICAgICAgICBwdHJkaWZmX3Qg bGluZXNpemUgPSBmcmFtZS0+bGluZXNpemVbcF07CiAKICAgICAgICAgZm9yICh5ID0gcy0+Ym9y ZGVyc1twXS50b3A7IHkgPCBzLT5wbGFuZWhlaWdodFtwXSAtIHMtPmJvcmRlcnNbcF0uYm90dG9t OyB5KyspIHsKICAgICAgICAgICAgIGZvciAoeCA9IDA7IHggPCBzLT5ib3JkZXJzW3BdLmxlZnQ7 IHgrKykgewpAQCAtMzY3LDcgKzM2Nyw3IEBAIHN0YXRpYyB2b2lkIHdyYXBfYm9yZGVyczE2KEZp bGxCb3JkZXJzQ29udGV4dCAqcywgQVZGcmFtZSAqZnJhbWUpCiAKICAgICBmb3IgKHAgPSAwOyBw IDwgcy0+bmJfcGxhbmVzOyBwKyspIHsKICAgICAgICAgdWludDE2X3QgKnB0ciA9ICh1aW50MTZf dCAqKWZyYW1lLT5kYXRhW3BdOwotICAgICAgICBpbnQgbGluZXNpemUgPSBmcmFtZS0+bGluZXNp emVbcF0gLyAyOworICAgICAgICBwdHJkaWZmX3QgbGluZXNpemUgPSBmcmFtZS0+bGluZXNpemVb cF0gLyAyOwogCiAgICAgICAgIGZvciAoeSA9IHMtPmJvcmRlcnNbcF0udG9wOyB5IDwgcy0+cGxh bmVoZWlnaHRbcF0gLSBzLT5ib3JkZXJzW3BdLmJvdHRvbTsgeSsrKSB7CiAgICAgICAgICAgICBm b3IgKHggPSAwOyB4IDwgcy0+Ym9yZGVyc1twXS5sZWZ0OyB4KyspIHsKQEAgLTQxMSw3ICs0MTEs NyBAQCBzdGF0aWMgdm9pZCBmYWRlX2JvcmRlcnM4KEZpbGxCb3JkZXJzQ29udGV4dCAqcywgQVZG cmFtZSAqZnJhbWUpCiAgICAgZm9yIChwID0gMDsgcCA8IHMtPm5iX3BsYW5lczsgcCsrKSB7CiAg ICAgICAgIHVpbnQ4X3QgKnB0ciA9IGZyYW1lLT5kYXRhW3BdOwogICAgICAgICBjb25zdCB1aW50 OF90IGZpbGwgPSBzLT5maWxsW3BdOwotICAgICAgICBjb25zdCBpbnQgbGluZXNpemUgPSBmcmFt ZS0+bGluZXNpemVbcF07CisgICAgICAgIGNvbnN0IHB0cmRpZmZfdCBsaW5lc2l6ZSA9IGZyYW1l LT5saW5lc2l6ZVtwXTsKICAgICAgICAgY29uc3QgaW50IHN0YXJ0X2xlZnQgPSBzLT5ib3JkZXJz W3BdLmxlZnQ7CiAgICAgICAgIGNvbnN0IGludCBzdGFydF9yaWdodCA9IHMtPnBsYW5ld2lkdGhb cF0gLSBzLT5ib3JkZXJzW3BdLnJpZ2h0OwogICAgICAgICBjb25zdCBpbnQgc3RhcnRfdG9wID0g cy0+Ym9yZGVyc1twXS50b3A7CkBAIC00NTMsNyArNDUzLDcgQEAgc3RhdGljIHZvaWQgZmFkZV9i b3JkZXJzMTYoRmlsbEJvcmRlcnNDb250ZXh0ICpzLCBBVkZyYW1lICpmcmFtZSkKICAgICBmb3Ig KHAgPSAwOyBwIDwgcy0+bmJfcGxhbmVzOyBwKyspIHsKICAgICAgICAgdWludDE2X3QgKnB0ciA9 ICh1aW50MTZfdCAqKWZyYW1lLT5kYXRhW3BdOwogICAgICAgICBjb25zdCB1aW50MTZfdCBmaWxs ID0gcy0+ZmlsbFtwXSA8PCAoZGVwdGggLSA4KTsKLSAgICAgICAgY29uc3QgaW50IGxpbmVzaXpl ID0gZnJhbWUtPmxpbmVzaXplW3BdIC8gMjsKKyAgICAgICAgY29uc3QgcHRyZGlmZl90IGxpbmVz aXplID0gZnJhbWUtPmxpbmVzaXplW3BdIC8gMjsKICAgICAgICAgY29uc3QgaW50IHN0YXJ0X2xl ZnQgPSBzLT5ib3JkZXJzW3BdLmxlZnQ7CiAgICAgICAgIGNvbnN0IGludCBzdGFydF9yaWdodCA9 IHMtPnBsYW5ld2lkdGhbcF0gLSBzLT5ib3JkZXJzW3BdLnJpZ2h0OwogICAgICAgICBjb25zdCBp bnQgc3RhcnRfdG9wID0gcy0+Ym9yZGVyc1twXS50b3A7CkBAIC00OTEsNyArNDkxLDcgQEAgc3Rh dGljIHZvaWQgbWFyZ2luc19ib3JkZXJzOChGaWxsQm9yZGVyc0NvbnRleHQgKnMsIEFWRnJhbWUg KmZyYW1lKQogewogICAgIGZvciAoaW50IHAgPSAwOyBwIDwgcy0+bmJfcGxhbmVzOyBwKyspIHsK ICAgICAgICAgdWludDhfdCAqcHRyID0gKHVpbnQ4X3QgKilmcmFtZS0+ZGF0YVtwXTsKLSAgICAg ICAgY29uc3QgaW50IGxpbmVzaXplID0gZnJhbWUtPmxpbmVzaXplW3BdOworICAgICAgICBjb25z dCBwdHJkaWZmX3QgbGluZXNpemUgPSBmcmFtZS0+bGluZXNpemVbcF07CiAgICAgICAgIGNvbnN0 IGludCBsZWZ0ID0gcy0+Ym9yZGVyc1twXS5sZWZ0OwogICAgICAgICBjb25zdCBpbnQgcmlnaHQg PSBzLT5ib3JkZXJzW3BdLnJpZ2h0OwogICAgICAgICBjb25zdCBpbnQgdG9wID0gcy0+Ym9yZGVy c1twXS50b3A7CkBAIC01MzYsNyArNTM2LDcgQEAgc3RhdGljIHZvaWQgbWFyZ2luc19ib3JkZXJz MTYoRmlsbEJvcmRlcnNDb250ZXh0ICpzLCBBVkZyYW1lICpmcmFtZSkKIHsKICAgICBmb3IgKGlu dCBwID0gMDsgcCA8IHMtPm5iX3BsYW5lczsgcCsrKSB7CiAgICAgICAgIHVpbnQxNl90ICpwdHIg PSAodWludDE2X3QgKilmcmFtZS0+ZGF0YVtwXTsKLSAgICAgICAgY29uc3QgaW50IGxpbmVzaXpl ID0gZnJhbWUtPmxpbmVzaXplW3BdIC8gMjsKKyAgICAgICAgY29uc3QgcHRyZGlmZl90IGxpbmVz aXplID0gZnJhbWUtPmxpbmVzaXplW3BdIC8gMjsKICAgICAgICAgY29uc3QgaW50IGxlZnQgPSBz LT5ib3JkZXJzW3BdLmxlZnQ7CiAgICAgICAgIGNvbnN0IGludCByaWdodCA9IHMtPmJvcmRlcnNb cF0ucmlnaHQ7CiAgICAgICAgIGNvbnN0IGludCB0b3AgPSBzLT5ib3JkZXJzW3BdLnRvcDsKZGlm ZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL3ZmX2h1ZXNhdHVyYXRpb24uYyBiL2xpYmF2ZmlsdGVyL3Zm X2h1ZXNhdHVyYXRpb24uYwppbmRleCA4ZGQ4MWFkMWE0Li5iZGVlOTYxZGFhIDEwMDY0NAotLS0g YS9saWJhdmZpbHRlci92Zl9odWVzYXR1cmF0aW9uLmMKKysrIGIvbGliYXZmaWx0ZXIvdmZfaHVl c2F0dXJhdGlvbi5jCkBAIC0xMDUsNyArMTA1LDcgQEAgc3RhdGljIGludCBkb19zbGljZV8jI25h bWUjI18jI3hhbGwoQVZGaWx0ZXJDb250ZXh0ICpjdHgsICAgICAgICAgICAgXAogICAgIGNvbnN0 IGludCBwcm9jZXNzX2ggPSBmcmFtZS0+aGVpZ2h0OyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXAogICAgIGNvbnN0IGludCBzbGljZV9zdGFydCA9IChwcm9jZXNzX2ggKiAgam9ibnIgICAp IC8gbmJfam9iczsgICAgICAgXAogICAgIGNvbnN0IGludCBzbGljZV9lbmQgICA9IChwcm9jZXNz X2ggKiAoam9ibnIrMSkpIC8gbmJfam9iczsgICAgICAgXAotICAgIGNvbnN0IGludCBsaW5lc2l6 ZSA9IGZyYW1lLT5saW5lc2l6ZVswXSAvIHNpemVvZih0eXBlKTsgICAgICAgICAgXAorICAgIGNv bnN0IHB0cmRpZmZfdCBsaW5lc2l6ZSA9IGZyYW1lLT5saW5lc2l6ZVswXSAvIHNpemVvZih0eXBl KTsgICAgXAogICAgIHR5cGUgKnJvdyA9ICh0eXBlICopZnJhbWUtPmRhdGFbMF0gKyBsaW5lc2l6 ZSAqIHNsaWNlX3N0YXJ0OyAgICAgXAogICAgIGNvbnN0IHVpbnQ4X3Qgb2Zmc2V0X3IgPSBzLT5y Z2JhX21hcFtSXTsgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIGNvbnN0IHVpbnQ4X3Qg b2Zmc2V0X2cgPSBzLT5yZ2JhX21hcFtHXTsgICAgICAgICAgICAgICAgICAgICAgICAgXApkaWZm IC0tZ2l0IGEvbGliYXZmaWx0ZXIvdmZfbHV0M2QuYyBiL2xpYmF2ZmlsdGVyL3ZmX2x1dDNkLmMK aW5kZXggZGIzOGQ0MTkzMi4uNGVkY2MyYzdhNyAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvdmZf bHV0M2QuYworKysgYi9saWJhdmZpbHRlci92Zl9sdXQzZC5jCkBAIC0xMzIxLDcgKzEzMjEsNyBA QCBjb25zdCBBVkZpbHRlciBmZl92Zl9sdXQzZCA9IHsKIHN0YXRpYyB2b2lkIHVwZGF0ZV9jbHV0 X3BhY2tlZChMVVQzRENvbnRleHQgKmx1dDNkLCBjb25zdCBBVkZyYW1lICpmcmFtZSkKIHsKICAg ICBjb25zdCB1aW50OF90ICpkYXRhID0gZnJhbWUtPmRhdGFbMF07Ci0gICAgY29uc3QgaW50IGxp bmVzaXplICA9IGZyYW1lLT5saW5lc2l6ZVswXTsKKyAgICBjb25zdCBwdHJkaWZmX3QgbGluZXNp emUgID0gZnJhbWUtPmxpbmVzaXplWzBdOwogICAgIGNvbnN0IGludCB3ID0gbHV0M2QtPmNsdXRf d2lkdGg7CiAgICAgY29uc3QgaW50IHN0ZXAgPSBsdXQzZC0+Y2x1dF9zdGVwOwogICAgIGNvbnN0 IHVpbnQ4X3QgKnJnYmFfbWFwID0gbHV0M2QtPmNsdXRfcmdiYV9tYXA7CkBAIC0xMzYwLDkgKzEz NjAsOSBAQCBzdGF0aWMgdm9pZCB1cGRhdGVfY2x1dF9wbGFuYXIoTFVUM0RDb250ZXh0ICpsdXQz ZCwgY29uc3QgQVZGcmFtZSAqZnJhbWUpCiAgICAgY29uc3QgdWludDhfdCAqZGF0YWcgPSBmcmFt ZS0+ZGF0YVswXTsKICAgICBjb25zdCB1aW50OF90ICpkYXRhYiA9IGZyYW1lLT5kYXRhWzFdOwog ICAgIGNvbnN0IHVpbnQ4X3QgKmRhdGFyID0gZnJhbWUtPmRhdGFbMl07Ci0gICAgY29uc3QgaW50 IGdsaW5lc2l6ZSAgPSBmcmFtZS0+bGluZXNpemVbMF07Ci0gICAgY29uc3QgaW50IGJsaW5lc2l6 ZSAgPSBmcmFtZS0+bGluZXNpemVbMV07Ci0gICAgY29uc3QgaW50IHJsaW5lc2l6ZSAgPSBmcmFt ZS0+bGluZXNpemVbMl07CisgICAgY29uc3QgcHRyZGlmZl90IGdsaW5lc2l6ZSAgPSBmcmFtZS0+ bGluZXNpemVbMF07CisgICAgY29uc3QgcHRyZGlmZl90IGJsaW5lc2l6ZSAgPSBmcmFtZS0+bGlu ZXNpemVbMV07CisgICAgY29uc3QgcHRyZGlmZl90IHJsaW5lc2l6ZSAgPSBmcmFtZS0+bGluZXNp emVbMl07CiAgICAgY29uc3QgaW50IHcgPSBsdXQzZC0+Y2x1dF93aWR0aDsKICAgICBjb25zdCBp bnQgbGV2ZWwgPSBsdXQzZC0+bHV0c2l6ZTsKICAgICBjb25zdCBpbnQgbGV2ZWwyID0gbHV0M2Qt Pmx1dHNpemUyOwpAQCAtMTQwNyw5ICsxNDA3LDkgQEAgc3RhdGljIHZvaWQgdXBkYXRlX2NsdXRf ZmxvYXQoTFVUM0RDb250ZXh0ICpsdXQzZCwgY29uc3QgQVZGcmFtZSAqZnJhbWUpCiAgICAgY29u c3QgdWludDhfdCAqZGF0YWcgPSBmcmFtZS0+ZGF0YVswXTsKICAgICBjb25zdCB1aW50OF90ICpk YXRhYiA9IGZyYW1lLT5kYXRhWzFdOwogICAgIGNvbnN0IHVpbnQ4X3QgKmRhdGFyID0gZnJhbWUt PmRhdGFbMl07Ci0gICAgY29uc3QgaW50IGdsaW5lc2l6ZSAgPSBmcmFtZS0+bGluZXNpemVbMF07 Ci0gICAgY29uc3QgaW50IGJsaW5lc2l6ZSAgPSBmcmFtZS0+bGluZXNpemVbMV07Ci0gICAgY29u c3QgaW50IHJsaW5lc2l6ZSAgPSBmcmFtZS0+bGluZXNpemVbMl07CisgICAgY29uc3QgcHRyZGlm Zl90IGdsaW5lc2l6ZSAgPSBmcmFtZS0+bGluZXNpemVbMF07CisgICAgY29uc3QgcHRyZGlmZl90 IGJsaW5lc2l6ZSAgPSBmcmFtZS0+bGluZXNpemVbMV07CisgICAgY29uc3QgcHRyZGlmZl90IHJs aW5lc2l6ZSAgPSBmcmFtZS0+bGluZXNpemVbMl07CiAgICAgY29uc3QgaW50IHcgPSBsdXQzZC0+ Y2x1dF93aWR0aDsKICAgICBjb25zdCBpbnQgbGV2ZWwgPSBsdXQzZC0+bHV0c2l6ZTsKICAgICBj b25zdCBpbnQgbGV2ZWwyID0gbHV0M2QtPmx1dHNpemUyOwpkaWZmIC0tZ2l0IGEvbGliYXZmaWx0 ZXIvdmZfbW9ub2Nocm9tZS5jIGIvbGliYXZmaWx0ZXIvdmZfbW9ub2Nocm9tZS5jCmluZGV4IDBl MTg0ZTA4YjMuLjA1YzAwMTcwN2EgMTAwNjQ0Ci0tLSBhL2xpYmF2ZmlsdGVyL3ZmX21vbm9jaHJv bWUuYworKysgYi9saWJhdmZpbHRlci92Zl9tb25vY2hyb21lLmMKQEAgLTg5LDkgKzg5LDkgQEAg c3RhdGljIGludCBtb25vY2hyb21lX3NsaWNlOChBVkZpbHRlckNvbnRleHQgKmN0eCwgdm9pZCAq YXJnLCBpbnQgam9ibnIsIGludCBuYl8KICAgICBjb25zdCBpbnQgaGVpZ2h0ID0gZnJhbWUtPmhl aWdodDsKICAgICBjb25zdCBpbnQgc2xpY2Vfc3RhcnQgPSAoaGVpZ2h0ICogam9ibnIpIC8gbmJf am9iczsKICAgICBjb25zdCBpbnQgc2xpY2VfZW5kID0gKGhlaWdodCAqIChqb2JuciArIDEpKSAv IG5iX2pvYnM7Ci0gICAgY29uc3QgaW50IHlsaW5lc2l6ZSA9IGZyYW1lLT5saW5lc2l6ZVswXTsK LSAgICBjb25zdCBpbnQgdWxpbmVzaXplID0gZnJhbWUtPmxpbmVzaXplWzFdOwotICAgIGNvbnN0 IGludCB2bGluZXNpemUgPSBmcmFtZS0+bGluZXNpemVbMl07CisgICAgY29uc3QgcHRyZGlmZl90 IHlsaW5lc2l6ZSA9IGZyYW1lLT5saW5lc2l6ZVswXTsKKyAgICBjb25zdCBwdHJkaWZmX3QgdWxp bmVzaXplID0gZnJhbWUtPmxpbmVzaXplWzFdOworICAgIGNvbnN0IHB0cmRpZmZfdCB2bGluZXNp emUgPSBmcmFtZS0+bGluZXNpemVbMl07CiAgICAgdWludDhfdCAqeXB0ciA9IGZyYW1lLT5kYXRh WzBdICsgc2xpY2Vfc3RhcnQgKiB5bGluZXNpemU7CiAgICAgY29uc3QgZmxvYXQgaWhpZ2ggPSAx LmYgLSBzLT5oaWdoOwogICAgIGNvbnN0IGZsb2F0IHNpemUgPSAxLmYgLyBzLT5zaXplOwpAQCAt MTI4LDkgKzEyOCw5IEBAIHN0YXRpYyBpbnQgbW9ub2Nocm9tZV9zbGljZTE2KEFWRmlsdGVyQ29u dGV4dCAqY3R4LCB2b2lkICphcmcsIGludCBqb2JuciwgaW50IG5iCiAgICAgY29uc3QgaW50IGhl aWdodCA9IGZyYW1lLT5oZWlnaHQ7CiAgICAgY29uc3QgaW50IHNsaWNlX3N0YXJ0ID0gKGhlaWdo dCAqIGpvYm5yKSAvIG5iX2pvYnM7CiAgICAgY29uc3QgaW50IHNsaWNlX2VuZCA9IChoZWlnaHQg KiAoam9ibnIgKyAxKSkgLyBuYl9qb2JzOwotICAgIGNvbnN0IGludCB5bGluZXNpemUgPSBmcmFt ZS0+bGluZXNpemVbMF0gLyAyOwotICAgIGNvbnN0IGludCB1bGluZXNpemUgPSBmcmFtZS0+bGlu ZXNpemVbMV0gLyAyOwotICAgIGNvbnN0IGludCB2bGluZXNpemUgPSBmcmFtZS0+bGluZXNpemVb Ml0gLyAyOworICAgIGNvbnN0IHB0cmRpZmZfdCB5bGluZXNpemUgPSBmcmFtZS0+bGluZXNpemVb MF0gLyAyOworICAgIGNvbnN0IHB0cmRpZmZfdCB1bGluZXNpemUgPSBmcmFtZS0+bGluZXNpemVb MV0gLyAyOworICAgIGNvbnN0IHB0cmRpZmZfdCB2bGluZXNpemUgPSBmcmFtZS0+bGluZXNpemVb Ml0gLyAyOwogICAgIHVpbnQxNl90ICp5cHRyID0gKHVpbnQxNl90ICopZnJhbWUtPmRhdGFbMF0g KyBzbGljZV9zdGFydCAqIHlsaW5lc2l6ZTsKICAgICBjb25zdCBmbG9hdCBpaGlnaCA9IDEuZiAt IHMtPmhpZ2g7CiAgICAgY29uc3QgZmxvYXQgc2l6ZSA9IDEuZiAvIHMtPnNpemU7CkBAIC0xNjYs OCArMTY2LDggQEAgc3RhdGljIGludCBjbGVhcl9zbGljZTgoQVZGaWx0ZXJDb250ZXh0ICpjdHgs IHZvaWQgKmFyZywgaW50IGpvYm5yLCBpbnQgbmJfam9icykKICAgICBjb25zdCBpbnQgaGVpZ2h0 ID0gQVZfQ0VJTF9SU0hJRlQoZnJhbWUtPmhlaWdodCwgc3ViaCk7CiAgICAgY29uc3QgaW50IHNs aWNlX3N0YXJ0ID0gKGhlaWdodCAqIGpvYm5yKSAvIG5iX2pvYnM7CiAgICAgY29uc3QgaW50IHNs aWNlX2VuZCA9IChoZWlnaHQgKiAoam9ibnIgKyAxKSkgLyBuYl9qb2JzOwotICAgIGNvbnN0IGlu dCB1bGluZXNpemUgPSBmcmFtZS0+bGluZXNpemVbMV07Ci0gICAgY29uc3QgaW50IHZsaW5lc2l6 ZSA9IGZyYW1lLT5saW5lc2l6ZVsyXTsKKyAgICBjb25zdCBwdHJkaWZmX3QgdWxpbmVzaXplID0g ZnJhbWUtPmxpbmVzaXplWzFdOworICAgIGNvbnN0IHB0cmRpZmZfdCB2bGluZXNpemUgPSBmcmFt ZS0+bGluZXNpemVbMl07CiAKICAgICBmb3IgKGludCB5ID0gc2xpY2Vfc3RhcnQ7IHkgPCBzbGlj ZV9lbmQ7IHkrKykgewogICAgICAgICB1aW50OF90ICp1cHRyID0gZnJhbWUtPmRhdGFbMV0gKyB5 ICogdWxpbmVzaXplOwpAQCAtMTkyLDggKzE5Miw4IEBAIHN0YXRpYyBpbnQgY2xlYXJfc2xpY2Ux NihBVkZpbHRlckNvbnRleHQgKmN0eCwgdm9pZCAqYXJnLCBpbnQgam9ibnIsIGludCBuYl9qb2Jz CiAgICAgY29uc3QgaW50IGhlaWdodCA9IEFWX0NFSUxfUlNISUZUKGZyYW1lLT5oZWlnaHQsIHN1 YmgpOwogICAgIGNvbnN0IGludCBzbGljZV9zdGFydCA9IChoZWlnaHQgKiBqb2JucikgLyBuYl9q b2JzOwogICAgIGNvbnN0IGludCBzbGljZV9lbmQgPSAoaGVpZ2h0ICogKGpvYm5yICsgMSkpIC8g bmJfam9iczsKLSAgICBjb25zdCBpbnQgdWxpbmVzaXplID0gZnJhbWUtPmxpbmVzaXplWzFdIC8g MjsKLSAgICBjb25zdCBpbnQgdmxpbmVzaXplID0gZnJhbWUtPmxpbmVzaXplWzJdIC8gMjsKKyAg ICBjb25zdCBwdHJkaWZmX3QgdWxpbmVzaXplID0gZnJhbWUtPmxpbmVzaXplWzFdIC8gMjsKKyAg ICBjb25zdCBwdHJkaWZmX3QgdmxpbmVzaXplID0gZnJhbWUtPmxpbmVzaXplWzJdIC8gMjsKIAog ICAgIGZvciAoaW50IHkgPSBzbGljZV9zdGFydDsgeSA8IHNsaWNlX2VuZDsgeSsrKSB7CiAgICAg ICAgIHVpbnQxNl90ICp1cHRyID0gKHVpbnQxNl90ICopZnJhbWUtPmRhdGFbMV0gKyB5ICogdWxp bmVzaXplOwpkaWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIvdmZfcGFsZXR0ZXVzZS5jIGIvbGliYXZm aWx0ZXIvdmZfcGFsZXR0ZXVzZS5jCmluZGV4IGJjNzY3YzUwOGMuLjBmODEzYmFlNzAgMTAwNjQ0 Ci0tLSBhL2xpYmF2ZmlsdGVyL3ZmX3BhbGV0dGV1c2UuYworKysgYi9saWJhdmZpbHRlci92Zl9w YWxldHRldXNlLmMKQEAgLTg0NSw3ICs4NDUsNyBAQCBzdGF0aWMgdm9pZCBsb2FkX3BhbGV0dGUo UGFsZXR0ZVVzZUNvbnRleHQgKnMsIGNvbnN0IEFWRnJhbWUgKnBhbGV0dGVfZnJhbWUpCiB7CiAg ICAgaW50IGksIHgsIHk7CiAgICAgY29uc3QgdWludDMyX3QgKnAgPSAoY29uc3QgdWludDMyX3Qg KilwYWxldHRlX2ZyYW1lLT5kYXRhWzBdOwotICAgIGNvbnN0IGludCBwX2xpbmVzaXplID0gcGFs ZXR0ZV9mcmFtZS0+bGluZXNpemVbMF0gPj4gMjsKKyAgICBjb25zdCBwdHJkaWZmX3QgcF9saW5l c2l6ZSA9IHBhbGV0dGVfZnJhbWUtPmxpbmVzaXplWzBdID4+IDI7CiAKICAgICBzLT50cmFuc3Bh cmVuY3lfaW5kZXggPSAtMTsKIApkaWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIvdmZfdmlicmFuY2Uu YyBiL2xpYmF2ZmlsdGVyL3ZmX3ZpYnJhbmNlLmMKaW5kZXggZTE3ZmNlMDdjMC4uZTFkNmU2NGFl YiAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvdmZfdmlicmFuY2UuYworKysgYi9saWJhdmZpbHRl ci92Zl92aWJyYW5jZS5jCkBAIC03NywxNCArNzcsMTQgQEAgc3RhdGljIGludCB2aWJyYW5jZV9z bGljZTgoQVZGaWx0ZXJDb250ZXh0ICphdmN0eCwgdm9pZCAqYXJnLCBpbnQgam9ibnIsIGludCBu Yl8KICAgICBjb25zdCBmbG9hdCBzcmludGVuc2l0eSA9IGFsdGVybmF0ZSAqIEZGU0lHTihyaW50 ZW5zaXR5KTsKICAgICBjb25zdCBpbnQgc2xpY2Vfc3RhcnQgPSAoaGVpZ2h0ICogam9ibnIpIC8g bmJfam9iczsKICAgICBjb25zdCBpbnQgc2xpY2VfZW5kID0gKGhlaWdodCAqIChqb2JuciArIDEp KSAvIG5iX2pvYnM7Ci0gICAgY29uc3QgaW50IGdsaW5lc2l6ZSA9IGZyYW1lLT5saW5lc2l6ZVsw XTsKLSAgICBjb25zdCBpbnQgYmxpbmVzaXplID0gZnJhbWUtPmxpbmVzaXplWzFdOwotICAgIGNv bnN0IGludCBybGluZXNpemUgPSBmcmFtZS0+bGluZXNpemVbMl07Ci0gICAgY29uc3QgaW50IGFs aW5lc2l6ZSA9IGZyYW1lLT5saW5lc2l6ZVszXTsKLSAgICBjb25zdCBpbnQgZ3NsaW5lc2l6ZSA9 IGluLT5saW5lc2l6ZVswXTsKLSAgICBjb25zdCBpbnQgYnNsaW5lc2l6ZSA9IGluLT5saW5lc2l6 ZVsxXTsKLSAgICBjb25zdCBpbnQgcnNsaW5lc2l6ZSA9IGluLT5saW5lc2l6ZVsyXTsKLSAgICBj b25zdCBpbnQgYXNsaW5lc2l6ZSA9IGluLT5saW5lc2l6ZVszXTsKKyAgICBjb25zdCBwdHJkaWZm X3QgZ2xpbmVzaXplID0gZnJhbWUtPmxpbmVzaXplWzBdOworICAgIGNvbnN0IHB0cmRpZmZfdCBi bGluZXNpemUgPSBmcmFtZS0+bGluZXNpemVbMV07CisgICAgY29uc3QgcHRyZGlmZl90IHJsaW5l c2l6ZSA9IGZyYW1lLT5saW5lc2l6ZVsyXTsKKyAgICBjb25zdCBwdHJkaWZmX3QgYWxpbmVzaXpl ID0gZnJhbWUtPmxpbmVzaXplWzNdOworICAgIGNvbnN0IHB0cmRpZmZfdCBnc2xpbmVzaXplID0g aW4tPmxpbmVzaXplWzBdOworICAgIGNvbnN0IHB0cmRpZmZfdCBic2xpbmVzaXplID0gaW4tPmxp bmVzaXplWzFdOworICAgIGNvbnN0IHB0cmRpZmZfdCByc2xpbmVzaXplID0gaW4tPmxpbmVzaXpl WzJdOworICAgIGNvbnN0IHB0cmRpZmZfdCBhc2xpbmVzaXplID0gaW4tPmxpbmVzaXplWzNdOwog ICAgIGNvbnN0IHVpbnQ4X3QgKmdzcmMgPSBpbi0+ZGF0YVswXSArIHNsaWNlX3N0YXJ0ICogZ2xp bmVzaXplOwogICAgIGNvbnN0IHVpbnQ4X3QgKmJzcmMgPSBpbi0+ZGF0YVsxXSArIHNsaWNlX3N0 YXJ0ICogYmxpbmVzaXplOwogICAgIGNvbnN0IHVpbnQ4X3QgKnJzcmMgPSBpbi0+ZGF0YVsyXSAr IHNsaWNlX3N0YXJ0ICogcmxpbmVzaXplOwpAQCAtMTU0LDE0ICsxNTQsMTQgQEAgc3RhdGljIGlu dCB2aWJyYW5jZV9zbGljZTE2KEFWRmlsdGVyQ29udGV4dCAqYXZjdHgsIHZvaWQgKmFyZywgaW50 IGpvYm5yLCBpbnQgbmIKICAgICBjb25zdCBmbG9hdCBzcmludGVuc2l0eSA9IGFsdGVybmF0ZSAq IEZGU0lHTihyaW50ZW5zaXR5KTsKICAgICBjb25zdCBpbnQgc2xpY2Vfc3RhcnQgPSAoaGVpZ2h0 ICogam9ibnIpIC8gbmJfam9iczsKICAgICBjb25zdCBpbnQgc2xpY2VfZW5kID0gKGhlaWdodCAq IChqb2JuciArIDEpKSAvIG5iX2pvYnM7Ci0gICAgY29uc3QgaW50IGdzbGluZXNpemUgPSBpbi0+ bGluZXNpemVbMF0gLyAyOwotICAgIGNvbnN0IGludCBic2xpbmVzaXplID0gaW4tPmxpbmVzaXpl WzFdIC8gMjsKLSAgICBjb25zdCBpbnQgcnNsaW5lc2l6ZSA9IGluLT5saW5lc2l6ZVsyXSAvIDI7 Ci0gICAgY29uc3QgaW50IGFzbGluZXNpemUgPSBpbi0+bGluZXNpemVbM10gLyAyOwotICAgIGNv bnN0IGludCBnbGluZXNpemUgPSBmcmFtZS0+bGluZXNpemVbMF0gLyAyOwotICAgIGNvbnN0IGlu dCBibGluZXNpemUgPSBmcmFtZS0+bGluZXNpemVbMV0gLyAyOwotICAgIGNvbnN0IGludCBybGlu ZXNpemUgPSBmcmFtZS0+bGluZXNpemVbMl0gLyAyOwotICAgIGNvbnN0IGludCBhbGluZXNpemUg PSBmcmFtZS0+bGluZXNpemVbM10gLyAyOworICAgIGNvbnN0IHB0cmRpZmZfdCBnc2xpbmVzaXpl ID0gaW4tPmxpbmVzaXplWzBdIC8gMjsKKyAgICBjb25zdCBwdHJkaWZmX3QgYnNsaW5lc2l6ZSA9 IGluLT5saW5lc2l6ZVsxXSAvIDI7CisgICAgY29uc3QgcHRyZGlmZl90IHJzbGluZXNpemUgPSBp bi0+bGluZXNpemVbMl0gLyAyOworICAgIGNvbnN0IHB0cmRpZmZfdCBhc2xpbmVzaXplID0gaW4t PmxpbmVzaXplWzNdIC8gMjsKKyAgICBjb25zdCBwdHJkaWZmX3QgZ2xpbmVzaXplID0gZnJhbWUt PmxpbmVzaXplWzBdIC8gMjsKKyAgICBjb25zdCBwdHJkaWZmX3QgYmxpbmVzaXplID0gZnJhbWUt PmxpbmVzaXplWzFdIC8gMjsKKyAgICBjb25zdCBwdHJkaWZmX3QgcmxpbmVzaXplID0gZnJhbWUt PmxpbmVzaXplWzJdIC8gMjsKKyAgICBjb25zdCBwdHJkaWZmX3QgYWxpbmVzaXplID0gZnJhbWUt PmxpbmVzaXplWzNdIC8gMjsKICAgICBjb25zdCB1aW50MTZfdCAqZ3NyYyA9IChjb25zdCB1aW50 MTZfdCAqKWluLT5kYXRhWzBdICsgc2xpY2Vfc3RhcnQgKiBnc2xpbmVzaXplOwogICAgIGNvbnN0 IHVpbnQxNl90ICpic3JjID0gKGNvbnN0IHVpbnQxNl90ICopaW4tPmRhdGFbMV0gKyBzbGljZV9z dGFydCAqIGJzbGluZXNpemU7CiAgICAgY29uc3QgdWludDE2X3QgKnJzcmMgPSAoY29uc3QgdWlu dDE2X3QgKilpbi0+ZGF0YVsyXSArIHNsaWNlX3N0YXJ0ICogcnNsaW5lc2l6ZTsKQEAgLTIzNCw4 ICsyMzQsOCBAQCBzdGF0aWMgaW50IHZpYnJhbmNlX3NsaWNlOHAoQVZGaWx0ZXJDb250ZXh0ICph dmN0eCwgdm9pZCAqYXJnLCBpbnQgam9ibnIsIGludCBuYgogICAgIGNvbnN0IGZsb2F0IHNyaW50 ZW5zaXR5ID0gYWx0ZXJuYXRlICogRkZTSUdOKHJpbnRlbnNpdHkpOwogICAgIGNvbnN0IGludCBz bGljZV9zdGFydCA9IChoZWlnaHQgKiBqb2JucikgLyBuYl9qb2JzOwogICAgIGNvbnN0IGludCBz bGljZV9lbmQgPSAoaGVpZ2h0ICogKGpvYm5yICsgMSkpIC8gbmJfam9iczsKLSAgICBjb25zdCBp bnQgbGluZXNpemUgPSBmcmFtZS0+bGluZXNpemVbMF07Ci0gICAgY29uc3QgaW50IHNsaW5lc2l6 ZSA9IGluLT5saW5lc2l6ZVswXTsKKyAgICBjb25zdCBwdHJkaWZmX3QgbGluZXNpemUgPSBmcmFt ZS0+bGluZXNpemVbMF07CisgICAgY29uc3QgcHRyZGlmZl90IHNsaW5lc2l6ZSA9IGluLT5saW5l c2l6ZVswXTsKICAgICBjb25zdCB1aW50OF90ICpzcmMgPSBpbi0+ZGF0YVswXSArIHNsaWNlX3N0 YXJ0ICogc2xpbmVzaXplOwogICAgIHVpbnQ4X3QgKnB0ciA9IGZyYW1lLT5kYXRhWzBdICsgc2xp Y2Vfc3RhcnQgKiBsaW5lc2l6ZTsKIApAQCAtMzAwLDggKzMwMCw4IEBAIHN0YXRpYyBpbnQgdmli cmFuY2Vfc2xpY2UxNnAoQVZGaWx0ZXJDb250ZXh0ICphdmN0eCwgdm9pZCAqYXJnLCBpbnQgam9i bnIsIGludCBuCiAgICAgY29uc3QgZmxvYXQgc3JpbnRlbnNpdHkgPSBhbHRlcm5hdGUgKiBGRlNJ R04ocmludGVuc2l0eSk7CiAgICAgY29uc3QgaW50IHNsaWNlX3N0YXJ0ID0gKGhlaWdodCAqIGpv Ym5yKSAvIG5iX2pvYnM7CiAgICAgY29uc3QgaW50IHNsaWNlX2VuZCA9IChoZWlnaHQgKiAoam9i bnIgKyAxKSkgLyBuYl9qb2JzOwotICAgIGNvbnN0IGludCBsaW5lc2l6ZSA9IGZyYW1lLT5saW5l c2l6ZVswXSAvIDI7Ci0gICAgY29uc3QgaW50IHNsaW5lc2l6ZSA9IGluLT5saW5lc2l6ZVswXSAv IDI7CisgICAgY29uc3QgcHRyZGlmZl90IGxpbmVzaXplID0gZnJhbWUtPmxpbmVzaXplWzBdIC8g MjsKKyAgICBjb25zdCBwdHJkaWZmX3Qgc2xpbmVzaXplID0gaW4tPmxpbmVzaXplWzBdIC8gMjsK ICAgICBjb25zdCB1aW50MTZfdCAqc3JjID0gKGNvbnN0IHVpbnQxNl90ICopaW4tPmRhdGFbMF0g KyBzbGljZV9zdGFydCAqIHNsaW5lc2l6ZTsKICAgICB1aW50MTZfdCAqcHRyID0gKHVpbnQxNl90 ICopZnJhbWUtPmRhdGFbMF0gKyBzbGljZV9zdGFydCAqIGxpbmVzaXplOwogCmRpZmYgLS1naXQg YS9saWJhdmZpbHRlci92c3JjX2dyYWRpZW50cy5jIGIvbGliYXZmaWx0ZXIvdnNyY19ncmFkaWVu dHMuYwppbmRleCAxMDUxMGMwOGJkLi4zOWUyNjcwNzAzIDEwMDY0NAotLS0gYS9saWJhdmZpbHRl ci92c3JjX2dyYWRpZW50cy5jCisrKyBiL2xpYmF2ZmlsdGVyL3ZzcmNfZ3JhZGllbnRzLmMKQEAg LTI0OCw3ICsyNDgsNyBAQCBzdGF0aWMgaW50IGRyYXdfZ3JhZGllbnRzX3NsaWNlKEFWRmlsdGVy Q29udGV4dCAqY3R4LCB2b2lkICphcmcsIGludCBqb2IsIGludCBuYgogICAgIGNvbnN0IGludCBo ZWlnaHQgPSBmcmFtZS0+aGVpZ2h0OwogICAgIGNvbnN0IGludCBzdGFydCA9IChoZWlnaHQgKiAg am9iICAgKSAvIG5iX2pvYnM7CiAgICAgY29uc3QgaW50IGVuZCAgID0gKGhlaWdodCAqIChqb2Ir MSkpIC8gbmJfam9iczsKLSAgICBjb25zdCBpbnQgbGluZXNpemUgPSBmcmFtZS0+bGluZXNpemVb MF0gLyA0OworICAgIGNvbnN0IHB0cmRpZmZfdCBsaW5lc2l6ZSA9IGZyYW1lLT5saW5lc2l6ZVsw XSAvIDQ7CiAgICAgdWludDMyX3QgKmRzdCA9ICh1aW50MzJfdCAqKWZyYW1lLT5kYXRhWzBdICsg c3RhcnQgKiBsaW5lc2l6ZTsKICAgICBjb25zdCBpbnQgdHlwZSA9IHMtPnR5cGU7CiAKQEAgLTI3 Miw3ICsyNzIsNyBAQCBzdGF0aWMgaW50IGRyYXdfZ3JhZGllbnRzX3NsaWNlMTYoQVZGaWx0ZXJD b250ZXh0ICpjdHgsIHZvaWQgKmFyZywgaW50IGpvYiwgaW50CiAgICAgY29uc3QgaW50IGhlaWdo dCA9IGZyYW1lLT5oZWlnaHQ7CiAgICAgY29uc3QgaW50IHN0YXJ0ID0gKGhlaWdodCAqICBqb2Ig ICApIC8gbmJfam9iczsKICAgICBjb25zdCBpbnQgZW5kICAgPSAoaGVpZ2h0ICogKGpvYisxKSkg LyBuYl9qb2JzOwotICAgIGNvbnN0IGludCBsaW5lc2l6ZSA9IGZyYW1lLT5saW5lc2l6ZVswXSAv IDg7CisgICAgY29uc3QgcHRyZGlmZl90IGxpbmVzaXplID0gZnJhbWUtPmxpbmVzaXplWzBdIC8g ODsKICAgICB1aW50NjRfdCAqZHN0ID0gKHVpbnQ2NF90ICopZnJhbWUtPmRhdGFbMF0gKyBzdGFy dCAqIGxpbmVzaXplOwogICAgIGNvbnN0IGludCB0eXBlID0gcy0+dHlwZTsKIApAQCAtMjk2LDEw ICsyOTYsMTAgQEAgc3RhdGljIGludCBkcmF3X2dyYWRpZW50c19zbGljZTMyX3BsYW5hcihBVkZp bHRlckNvbnRleHQgKmN0eCwgdm9pZCAqYXJnLCBpbnQgam8KICAgICBjb25zdCBpbnQgaGVpZ2h0 ID0gZnJhbWUtPmhlaWdodDsKICAgICBjb25zdCBpbnQgc3RhcnQgPSAoaGVpZ2h0ICogIGpvYiAg ICkgLyBuYl9qb2JzOwogICAgIGNvbnN0IGludCBlbmQgICA9IChoZWlnaHQgKiAoam9iKzEpKSAv IG5iX2pvYnM7Ci0gICAgY29uc3QgaW50IGxpbmVzaXplX2cgPSBmcmFtZS0+bGluZXNpemVbMF0g LyA0OwotICAgIGNvbnN0IGludCBsaW5lc2l6ZV9iID0gZnJhbWUtPmxpbmVzaXplWzFdIC8gNDsK LSAgICBjb25zdCBpbnQgbGluZXNpemVfciA9IGZyYW1lLT5saW5lc2l6ZVsyXSAvIDQ7Ci0gICAg Y29uc3QgaW50IGxpbmVzaXplX2EgPSBmcmFtZS0+bGluZXNpemVbM10gLyA0OworICAgIGNvbnN0 IHB0cmRpZmZfdCBsaW5lc2l6ZV9nID0gZnJhbWUtPmxpbmVzaXplWzBdIC8gNDsKKyAgICBjb25z dCBwdHJkaWZmX3QgbGluZXNpemVfYiA9IGZyYW1lLT5saW5lc2l6ZVsxXSAvIDQ7CisgICAgY29u c3QgcHRyZGlmZl90IGxpbmVzaXplX3IgPSBmcmFtZS0+bGluZXNpemVbMl0gLyA0OworICAgIGNv bnN0IHB0cmRpZmZfdCBsaW5lc2l6ZV9hID0gZnJhbWUtPmxpbmVzaXplWzNdIC8gNDsKICAgICBm bG9hdCAqZHN0X2cgPSAoZmxvYXQgKilmcmFtZS0+ZGF0YVswXSArIHN0YXJ0ICogbGluZXNpemVf ZzsKICAgICBmbG9hdCAqZHN0X2IgPSAoZmxvYXQgKilmcmFtZS0+ZGF0YVsxXSArIHN0YXJ0ICog bGluZXNpemVfYjsKICAgICBmbG9hdCAqZHN0X3IgPSAoZmxvYXQgKilmcmFtZS0+ZGF0YVsyXSAr IHN0YXJ0ICogbGluZXNpemVfcjsKZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL3ZzcmNfdGVzdHNy Yy5jIGIvbGliYXZmaWx0ZXIvdnNyY190ZXN0c3JjLmMKaW5kZXggNWU0MTQxNjQ2NC4uOTA4MWI1 NWYxYyAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvdnNyY190ZXN0c3JjLmMKKysrIGIvbGliYXZm aWx0ZXIvdnNyY190ZXN0c3JjLmMKQEAgLTMyOCw3ICszMjgsNyBAQCBzdGF0aWMgdm9pZCBoYWxk Y2x1dHNyY19maWxsX3BpY3R1cmUoQVZGaWx0ZXJDb250ZXh0ICpjdHgsIEFWRnJhbWUgKmZyYW1l KQogICAgIGNvbnN0IGludCB3ID0gZnJhbWUtPndpZHRoOwogICAgIGNvbnN0IGludCBoID0gZnJh bWUtPmhlaWdodDsKICAgICB1aW50OF90ICpkYXRhID0gZnJhbWUtPmRhdGFbMF07Ci0gICAgY29u c3QgaW50IGxpbmVzaXplICA9IGZyYW1lLT5saW5lc2l6ZVswXTsKKyAgICBjb25zdCBwdHJkaWZm X3QgbGluZXNpemUgID0gZnJhbWUtPmxpbmVzaXplWzBdOwogICAgIGNvbnN0IEFWUGl4Rm10RGVz Y3JpcHRvciAqZGVzYyA9IGF2X3BpeF9mbXRfZGVzY19nZXQoZnJhbWUtPmZvcm1hdCk7CiAgICAg Y29uc3QgaW50IGRlcHRoID0gZGVzYy0+Y29tcFswXS5kZXB0aDsKICAgICBjb25zdCBpbnQgcGxh bmFyID0gZGVzYy0+ZmxhZ3MgJiBBVl9QSVhfRk1UX0ZMQUdfUExBTkFSOwpAQCAtNTEwLDcgKzUx MCw3IEBAIEFWRklMVEVSX0RFRklORV9DTEFTUyh0ZXN0c3JjKTsKICAqIEBwYXJhbSB3IHdpZHRo ICBvZiB0aGUgcmVjdGFuZ2xlIHRvIGRyYXcsIGV4cHJlc3NlZCBhcyBhIG51bWJlciBvZiBzZWdt ZW50X3dpZHRoIHVuaXRzCiAgKiBAcGFyYW0gaCBoZWlnaHQgb2YgdGhlIHJlY3RhbmdsZSB0byBk cmF3LCBleHByZXNzZWQgYXMgYSBudW1iZXIgb2Ygc2VnbWVudF93aWR0aCB1bml0cwogICovCi1z dGF0aWMgdm9pZCBkcmF3X3JlY3RhbmdsZSh1bnNpZ25lZCB2YWwsIHVpbnQ4X3QgKmRzdCwgaW50 IGRzdF9saW5lc2l6ZSwgaW50IHNlZ21lbnRfd2lkdGgsCitzdGF0aWMgdm9pZCBkcmF3X3JlY3Rh bmdsZSh1bnNpZ25lZCB2YWwsIHVpbnQ4X3QgKmRzdCwgcHRyZGlmZl90IGRzdF9saW5lc2l6ZSwg aW50IHNlZ21lbnRfd2lkdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeCwgaW50 IHksIGludCB3LCBpbnQgaCkKIHsKICAgICBpbnQgaTsKQEAgLTUyNSw3ICs1MjUsNyBAQCBzdGF0 aWMgdm9pZCBkcmF3X3JlY3RhbmdsZSh1bnNpZ25lZCB2YWwsIHVpbnQ4X3QgKmRzdCwgaW50IGRz dF9saW5lc2l6ZSwgaW50IHNlZwogICAgIH0KIH0KIAotc3RhdGljIHZvaWQgZHJhd19kaWdpdChp bnQgZGlnaXQsIHVpbnQ4X3QgKmRzdCwgaW50IGRzdF9saW5lc2l6ZSwKK3N0YXRpYyB2b2lkIGRy YXdfZGlnaXQoaW50IGRpZ2l0LCB1aW50OF90ICpkc3QsIHB0cmRpZmZfdCBkc3RfbGluZXNpemUs CiAgICAgICAgICAgICAgICAgICAgICAgIGludCBzZWdtZW50X3dpZHRoKQogewogI2RlZmluZSBU T1BfSEJBUiAgICAgICAgMQpAQCAtMTAwNCw3ICsxMDA0LDcgQEAgc3RhdGljIHZvaWQgcmdidGVz dF9wdXRfcGl4ZWwodWludDhfdCAqZHN0cFs0XSwgaW50IGRzdF9saW5lc2l6ZXBbNF0sCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90IHJnYmFfbWFwWzRdKQogewogICAgIHVp bnQ4X3QgKmRzdCA9IGRzdHBbMF07Ci0gICAgaW50IGRzdF9saW5lc2l6ZSA9IGRzdF9saW5lc2l6 ZXBbMF07CisgICAgcHRyZGlmZl90IGRzdF9saW5lc2l6ZSA9IGRzdF9saW5lc2l6ZXBbMF07CiAg ICAgdWludDMyX3QgdjsKICAgICB1aW50OF90ICpwOwogICAgIHVpbnQxNl90ICpwMTY7CkBAIC0x MDMxLDcgKzEwMzEsNyBAQCBzdGF0aWMgdm9pZCByZ2J0ZXN0X3B1dF9waXhlbCh1aW50OF90ICpk c3RwWzRdLCBpbnQgZHN0X2xpbmVzaXplcFs0XSwKICAgICAgICAgQVZfV0wzMihwLCB2KTsKICAg ICAgICAgYnJlYWs7CiAgICAgY2FzZSBBVl9QSVhfRk1UX0dCUlA6Ci0gICAgICAgIHAgPSBkc3Rw WzBdICsgeCArIHkgKiBkc3RfbGluZXNpemVwWzBdOworICAgICAgICBwID0gZHN0cFswXSArIHgg KyB5ICogZHN0X2xpbmVzaXplOwogICAgICAgICBwWzBdID0gZzsKICAgICAgICAgcCA9IGRzdHBb MV0gKyB4ICsgeSAqIGRzdF9saW5lc2l6ZXBbMV07CiAgICAgICAgIHBbMF0gPSBiOwpAQCAtMTE2 MCw5ICsxMTYwLDkgQEAgc3RhdGljIHZvaWQgeXV2dGVzdF9maWxsX3BpY3R1cmU4KEFWRmlsdGVy Q29udGV4dCAqY3R4LCBBVkZyYW1lICpmcmFtZSkKICAgICB1aW50OF90ICp5ZHN0ID0gZnJhbWUt PmRhdGFbMF07CiAgICAgdWludDhfdCAqdWRzdCA9IGZyYW1lLT5kYXRhWzFdOwogICAgIHVpbnQ4 X3QgKnZkc3QgPSBmcmFtZS0+ZGF0YVsyXTsKLSAgICBpbnQgeWxpbmVzaXplID0gZnJhbWUtPmxp bmVzaXplWzBdOwotICAgIGludCB1bGluZXNpemUgPSBmcmFtZS0+bGluZXNpemVbMV07Ci0gICAg aW50IHZsaW5lc2l6ZSA9IGZyYW1lLT5saW5lc2l6ZVsyXTsKKyAgICBwdHJkaWZmX3QgeWxpbmVz aXplID0gZnJhbWUtPmxpbmVzaXplWzBdOworICAgIHB0cmRpZmZfdCB1bGluZXNpemUgPSBmcmFt ZS0+bGluZXNpemVbMV07CisgICAgcHRyZGlmZl90IHZsaW5lc2l6ZSA9IGZyYW1lLT5saW5lc2l6 ZVsyXTsKIAogICAgIGZvciAoeSA9IDA7IHkgPCBoOyB5KyspIHsKICAgICAgICAgZm9yICh4ID0g MDsgeCA8IHc7IHgrKykgewpAQCAtMTIxNyw5ICsxMjE3LDkgQEAgc3RhdGljIHZvaWQgeXV2dGVz dF9maWxsX3BpY3R1cmUxNihBVkZpbHRlckNvbnRleHQgKmN0eCwgQVZGcmFtZSAqZnJhbWUpCiAg ICAgdWludDE2X3QgKnlkc3QgPSAodWludDE2X3QgKilmcmFtZS0+ZGF0YVswXTsKICAgICB1aW50 MTZfdCAqdWRzdCA9ICh1aW50MTZfdCAqKWZyYW1lLT5kYXRhWzFdOwogICAgIHVpbnQxNl90ICp2 ZHN0ID0gKHVpbnQxNl90ICopZnJhbWUtPmRhdGFbMl07Ci0gICAgaW50IHlsaW5lc2l6ZSA9IGZy YW1lLT5saW5lc2l6ZVswXSAvIDI7Ci0gICAgaW50IHVsaW5lc2l6ZSA9IGZyYW1lLT5saW5lc2l6 ZVsxXSAvIDI7Ci0gICAgaW50IHZsaW5lc2l6ZSA9IGZyYW1lLT5saW5lc2l6ZVsyXSAvIDI7Cisg ICAgcHRyZGlmZl90IHlsaW5lc2l6ZSA9IGZyYW1lLT5saW5lc2l6ZVswXSAvIDI7CisgICAgcHRy ZGlmZl90IHVsaW5lc2l6ZSA9IGZyYW1lLT5saW5lc2l6ZVsxXSAvIDI7CisgICAgcHRyZGlmZl90 IHZsaW5lc2l6ZSA9IGZyYW1lLT5saW5lc2l6ZVsyXSAvIDI7CiAKICAgICBmb3IgKHkgPSAwOyB5 IDwgaDsgeSsrKSB7CiAgICAgICAgIGZvciAoeCA9IDA7IHggPCB3OyB4KyspIHsKQEAgLTEzOTQs NyArMTM5NCw3IEBAIHN0YXRpYyB2b2lkIGRyYXdfYmFyKFRlc3RTb3VyY2VDb250ZXh0ICp0ZXN0 LCBjb25zdCB1aW50OF90IGNvbG9yWzRdLAogCiAgICAgZm9yIChwbGFuZSA9IDA7IGZyYW1lLT5k YXRhW3BsYW5lXTsgcGxhbmUrKykgewogICAgICAgICBjb25zdCBpbnQgYyA9IGNvbG9yW3BsYW5l XTsKLSAgICAgICAgY29uc3QgaW50IGxpbmVzaXplID0gZnJhbWUtPmxpbmVzaXplW3BsYW5lXTsK KyAgICAgICAgY29uc3QgcHRyZGlmZl90IGxpbmVzaXplID0gZnJhbWUtPmxpbmVzaXplW3BsYW5l XTsKICAgICAgICAgaW50IGksIHB4LCBweSwgcHcsIHBoOwogCiAgICAgICAgIGlmIChwbGFuZSA9 PSAxIHx8IHBsYW5lID09IDIpIHsKQEAgLTE3MDIsOSArMTcwMiw5IEBAIEFWRklMVEVSX0RFRklO RV9DTEFTU19FWFQoYWxseXV2X2FsbHJnYiwgImFsbHl1di9hbGxyZ2IiLAogCiBzdGF0aWMgdm9p ZCBhbGx5dXZfZmlsbF9waWN0dXJlKEFWRmlsdGVyQ29udGV4dCAqY3R4LCBBVkZyYW1lICpmcmFt ZSkKIHsKLSAgICBjb25zdCBpbnQgeXMgPSBmcmFtZS0+bGluZXNpemVbMF07Ci0gICAgY29uc3Qg aW50IHVzID0gZnJhbWUtPmxpbmVzaXplWzFdOwotICAgIGNvbnN0IGludCB2cyA9IGZyYW1lLT5s aW5lc2l6ZVsyXTsKKyAgICBjb25zdCBwdHJkaWZmX3QgeXMgPSBmcmFtZS0+bGluZXNpemVbMF07 CisgICAgY29uc3QgcHRyZGlmZl90IHVzID0gZnJhbWUtPmxpbmVzaXplWzFdOworICAgIGNvbnN0 IHB0cmRpZmZfdCB2cyA9IGZyYW1lLT5saW5lc2l6ZVsyXTsKICAgICBpbnQgeCwgeSwgajsKIAog ICAgIGZvciAoeSA9IDA7IHkgPCA0MDk2OyB5KyspIHsKQEAgLTE3NjMsNyArMTc2Myw3IEBAIGNv bnN0IEFWRmlsdGVyIGZmX3ZzcmNfYWxseXV2ID0gewogc3RhdGljIHZvaWQgYWxscmdiX2ZpbGxf cGljdHVyZShBVkZpbHRlckNvbnRleHQgKmN0eCwgQVZGcmFtZSAqZnJhbWUpCiB7CiAgICAgdW5z aWduZWQgeCwgeTsKLSAgICBjb25zdCBpbnQgbGluZXNpemUgPSBmcmFtZS0+bGluZXNpemVbMF07 CisgICAgY29uc3QgcHRyZGlmZl90IGxpbmVzaXplID0gZnJhbWUtPmxpbmVzaXplWzBdOwogICAg IHVpbnQ4X3QgKmxpbmUgPSBmcmFtZS0+ZGF0YVswXTsKIAogICAgIGZvciAoeSA9IDA7IHkgPCA0 MDk2OyB5KyspIHsKQEAgLTIxMDIsOSArMjEwMiw5IEBAIHN0YXRpYyBpbnQgem9uZXBsYXRlX2Zp bGxfc2xpY2VfIyNuYW1lKEFWRmlsdGVyQ29udGV4dCAqY3R4LCAgICAgICBcCiAgICAgY29uc3Qg aW50IG5rdDJ0ID0ga3QyICogdCAqIHQsIG5rdHQgPSBrdCAqIHQ7ICAgICAgICAgICAgICAgICAg XAogICAgIGNvbnN0IGludCBzdGFydCA9IChoICogIGpvYiAgICkgLyBuYl9qb2JzOyAgICAgICAg ICAgICAgICAgICAgIFwKICAgICBjb25zdCBpbnQgZW5kICAgPSAoaCAqIChqb2IrMSkpIC8gbmJf am9iczsgICAgICAgICAgICAgICAgICAgICBcCi0gICAgY29uc3QgaW50IHlsaW5lc2l6ZSA9IGZy YW1lLT5saW5lc2l6ZVswXSAvIHNpemVvZih0eXBlKTsgICAgICAgXAotICAgIGNvbnN0IGludCB1 bGluZXNpemUgPSBmcmFtZS0+bGluZXNpemVbMV0gLyBzaXplb2YodHlwZSk7ICAgICAgIFwKLSAg ICBjb25zdCBpbnQgdmxpbmVzaXplID0gZnJhbWUtPmxpbmVzaXplWzJdIC8gc2l6ZW9mKHR5cGUp OyAgICAgICBcCisgICAgY29uc3QgcHRyZGlmZl90IHlsaW5lc2l6ZSA9IGZyYW1lLT5saW5lc2l6 ZVswXSAvIHNpemVvZih0eXBlKTsgXAorICAgIGNvbnN0IHB0cmRpZmZfdCB1bGluZXNpemUgPSBm cmFtZS0+bGluZXNpemVbMV0gLyBzaXplb2YodHlwZSk7IFwKKyAgICBjb25zdCBwdHJkaWZmX3Qg dmxpbmVzaXplID0gZnJhbWUtPmxpbmVzaXplWzJdIC8gc2l6ZW9mKHR5cGUpOyBcCiAgICAgY29u c3QgaW50IHhyZXNldCA9IC0odyAvIDIpIC0gdGVzdC0+eG87ICAgICAgICAgICAgICAgICAgICAg ICAgXAogICAgIGNvbnN0IGludCB5cmVzZXQgPSAtKGggLyAyKSAtIHRlc3QtPnlvICsgc3RhcnQ7 ICAgICAgICAgICAgICAgIFwKICAgICBjb25zdCBpbnQga1UgPSB0ZXN0LT5rVSwga1YgPSB0ZXN0 LT5rVjsgICAgICAgICAgICAgICAgICAgICAgICBcCi0tIAoyLjQyLjAKCg== --000000000000dc008b0605f6119f Content-Type: text/x-patch; charset="US-ASCII"; name="0002-avcodec-eamad-do-not-use-unsigned-for-offset.patch" Content-Disposition: attachment; filename="0002-avcodec-eamad-do-not-use-unsigned-for-offset.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: file2 RnJvbSBjODY5Y2IyNTcyYmJjYTRiMmY4Yzk0MWFiYjk4ZDMzYThlNzNhMGJlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEIgTWFob2wgPG9uZW1kYUBnbWFpbC5jb20+CkRhdGU6 IEZyaSwgMjIgU2VwIDIwMjMgMTk6MTI6MDkgKzAyMDAKU3ViamVjdDogW1BBVENIIDIvM10gYXZj b2RlYy9lYW1hZDogZG8gbm90IHVzZSB1bnNpZ25lZCBmb3Igb2Zmc2V0CgpTaWduZWQtb2ZmLWJ5 OiBQYXVsIEIgTWFob2wgPG9uZW1kYUBnbWFpbC5jb20+Ci0tLQogbGliYXZjb2RlYy9lYW1hZC5j IHwgNCArKy0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvZWFtYWQuYyBiL2xpYmF2Y29kZWMvZWFtYWQuYwpp bmRleCAyODc1NzVlMDczLi4xODI0OWNlY2M3IDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL2VhbWFk LmMKKysrIGIvbGliYXZjb2RlYy9lYW1hZC5jCkBAIC05MSw3ICs5MSw3IEBAIHN0YXRpYyBpbmxp bmUgdm9pZCBjb21wX2Jsb2NrKE1hZENvbnRleHQgKnQsIEFWRnJhbWUgKmZyYW1lLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgaW50IGosIGludCBtdl94LCBpbnQgbXZfeSwgaW50IGFk ZCkKIHsKICAgICBpZiAoaiA8IDQpIHsKLSAgICAgICAgdW5zaWduZWQgb2Zmc2V0ID0gKG1iX3kq MTYgKyAoKGomMik8PDIpICsgbXZfeSkqdC0+bGFzdF9mcmFtZS0+bGluZXNpemVbMF0gKyBtYl94 KjE2ICsgKChqJjEpPDwzKSArIG12X3g7CisgICAgICAgIHB0cmRpZmZfdCBvZmZzZXQgPSAobWJf eSoxNiArICgoaiYyKTw8MikgKyBtdl95KSp0LT5sYXN0X2ZyYW1lLT5saW5lc2l6ZVswXSArIG1i X3gqMTYgKyAoKGomMSk8PDMpICsgbXZfeDsKICAgICAgICAgaWYgKG9mZnNldCA+PSAodC0+YXZj dHgtPmhlaWdodCAtIDcpICogdC0+bGFzdF9mcmFtZS0+bGluZXNpemVbMF0gLSA3KQogICAgICAg ICAgICAgcmV0dXJuOwogICAgICAgICBjb21wKGZyYW1lLT5kYXRhWzBdICsgKG1iX3kqMTYgKyAo KGomMik8PDIpKSpmcmFtZS0+bGluZXNpemVbMF0gKyBtYl94KjE2ICsgKChqJjEpPDwzKSwKQEAg LTEwMCw3ICsxMDAsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgY29tcF9ibG9jayhNYWRDb250ZXh0 ICp0LCBBVkZyYW1lICpmcmFtZSwKICAgICAgICAgICAgICB0LT5sYXN0X2ZyYW1lLT5saW5lc2l6 ZVswXSwgYWRkKTsKICAgICB9IGVsc2UgaWYgKCEodC0+YXZjdHgtPmZsYWdzICYgQVZfQ09ERUNf RkxBR19HUkFZKSkgewogICAgICAgICBpbnQgaW5kZXggPSBqIC0gMzsKLSAgICAgICAgdW5zaWdu ZWQgb2Zmc2V0ID0gKG1iX3kgKiA4ICsgKG12X3kvMikpKnQtPmxhc3RfZnJhbWUtPmxpbmVzaXpl W2luZGV4XSArIG1iX3ggKiA4ICsgKG12X3gvMik7CisgICAgICAgIHB0cmRpZmZfdCBvZmZzZXQg PSAobWJfeSAqIDggKyAobXZfeS8yKSkqdC0+bGFzdF9mcmFtZS0+bGluZXNpemVbaW5kZXhdICsg bWJfeCAqIDggKyAobXZfeC8yKTsKICAgICAgICAgaWYgKG9mZnNldCA+PSAodC0+YXZjdHgtPmhl aWdodC8yIC0gNykgKiB0LT5sYXN0X2ZyYW1lLT5saW5lc2l6ZVtpbmRleF0gLSA3KQogICAgICAg ICAgICAgcmV0dXJuOwogICAgICAgICBjb21wKGZyYW1lLT5kYXRhW2luZGV4XSArIChtYl95Kjgp KmZyYW1lLT5saW5lc2l6ZVtpbmRleF0gKyBtYl94ICogOCwKLS0gCjIuNDIuMAoK --000000000000dc008b0605f6119f Content-Type: text/x-patch; charset="US-ASCII"; name="0003-avcodec-gifdec-rewrite-functions-that-fill-block-fra.patch" Content-Disposition: attachment; filename="0003-avcodec-gifdec-rewrite-functions-that-fill-block-fra.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: file3 RnJvbSA5MzgxOTkzYzRjZTFhOWIzOTU4ZDlkZTZjZTdlZjRmYjQxMTNlYTQxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEIgTWFob2wgPG9uZW1kYUBnbWFpbC5jb20+CkRhdGU6 IEZyaSwgMjIgU2VwIDIwMjMgMTk6MzE6NDcgKzAyMDAKU3ViamVjdDogW1BBVENIIDMvM10gYXZj b2RlYy9naWZkZWM6IHJld3JpdGUgZnVuY3Rpb25zIHRoYXQgZmlsbCBibG9jay9mcmFtZQoKU2ln bmVkLW9mZi1ieTogUGF1bCBCIE1haG9sIDxvbmVtZGFAZ21haWwuY29tPgotLS0KIGxpYmF2Y29k ZWMvZ2lmZGVjLmMgfCAzNSArKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLQogMSBm aWxlIGNoYW5nZWQsIDE5IGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2xpYmF2Y29kZWMvZ2lmZGVjLmMgYi9saWJhdmNvZGVjL2dpZmRlYy5jCmluZGV4IGQ5MGU0 NjdjYWMuLmZiMGIzMzUwODggMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvZ2lmZGVjLmMKKysrIGIv bGliYXZjb2RlYy9naWZkZWMuYwpAQCAtODYsMjYgKzg2LDI5IEBAIHN0YXRpYyB2b2lkIGdpZl9y ZWFkX3BhbGV0dGUoR2lmU3RhdGUgKnMsIHVpbnQzMl90ICpwYWwsIGludCBuYikKIAogc3RhdGlj IHZvaWQgZ2lmX2ZpbGwoQVZGcmFtZSAqcGljdHVyZSwgdWludDMyX3QgY29sb3IpCiB7Ci0gICAg dWludDMyX3QgKnAgPSAodWludDMyX3QgKilwaWN0dXJlLT5kYXRhWzBdOwotICAgIHVpbnQzMl90 ICpwX2VuZCA9IHAgKyAocGljdHVyZS0+bGluZXNpemVbMF0gLyBzaXplb2YodWludDMyX3QpKSAq IHBpY3R1cmUtPmhlaWdodDsKLQotICAgIGZvciAoOyBwIDwgcF9lbmQ7IHArKykKLSAgICAgICAg KnAgPSBjb2xvcjsKKyAgICBjb25zdCBwdHJkaWZmX3QgbGluZXNpemUgPSBwaWN0dXJlLT5saW5l c2l6ZVswXTsKKyAgICBjb25zdCB1aW50OF90ICpweSA9IHBpY3R1cmUtPmRhdGFbMF07CisgICAg Y29uc3QgaW50IHcgPSBwaWN0dXJlLT53aWR0aDsKKyAgICBjb25zdCBpbnQgaCA9IHBpY3R1cmUt PmhlaWdodDsKKworICAgIGZvciAoaW50IHkgPSAwOyB5IDwgaDsgeSsrKSB7CisgICAgICAgIHVp bnQzMl90ICpweCA9ICh1aW50MzJfdCAqKXB5OworICAgICAgICBmb3IgKGludCB4ID0gMDsgeCA8 IHc7IHgrKykKKyAgICAgICAgICAgIHB4W3hdID0gY29sb3I7CisgICAgICAgIHB5ICs9IGxpbmVz aXplOworICAgIH0KIH0KIAogc3RhdGljIHZvaWQgZ2lmX2ZpbGxfcmVjdChBVkZyYW1lICpwaWN0 dXJlLCB1aW50MzJfdCBjb2xvciwgaW50IGwsIGludCB0LCBpbnQgdywgaW50IGgpCiB7Ci0gICAg Y29uc3QgcHRyZGlmZl90IGxpbmVzaXplID0gcGljdHVyZS0+bGluZXNpemVbMF0gLyBzaXplb2Yo dWludDMyX3QpOwotICAgIGNvbnN0IHVpbnQzMl90ICpweSA9ICh1aW50MzJfdCAqKXBpY3R1cmUt PmRhdGFbMF0gKyB0ICogbGluZXNpemU7Ci0gICAgY29uc3QgdWludDMyX3QgKnByLCAqcGIgPSBw eSArIGggKiBsaW5lc2l6ZTsKLSAgICB1aW50MzJfdCAqcHg7Ci0KLSAgICBmb3IgKDsgcHkgPCBw YjsgcHkgKz0gbGluZXNpemUpIHsKLSAgICAgICAgcHggPSAodWludDMyX3QgKilweSArIGw7Ci0g ICAgICAgIHByID0gcHggKyB3OwotCi0gICAgICAgIGZvciAoOyBweCA8IHByOyBweCsrKQotICAg ICAgICAgICAgKnB4ID0gY29sb3I7CisgICAgY29uc3QgcHRyZGlmZl90IGxpbmVzaXplID0gcGlj dHVyZS0+bGluZXNpemVbMF07CisgICAgY29uc3QgdWludDhfdCAqcHkgPSBwaWN0dXJlLT5kYXRh WzBdICsgdCAqIGxpbmVzaXplOworCisgICAgZm9yIChpbnQgeSA9IDA7IHkgPCBoOyB5KyspIHsK KyAgICAgICAgdWludDMyX3QgKnB4ID0gKCh1aW50MzJfdCAqKXB5KSArIGw7CisgICAgICAgIGZv ciAoaW50IHggPSAwOyB4IDwgdzsgeCsrKQorICAgICAgICAgICAgcHhbeF0gPSBjb2xvcjsKKyAg ICAgICAgcHkgKz0gbGluZXNpemU7CiAgICAgfQogfQogCi0tIAoyLjQyLjAKCg== --000000000000dc008b0605f6119f Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". --000000000000dc008b0605f6119f--