From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id B202B497CC for ; Wed, 16 Jul 2025 23:59:14 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 8359668EC39; Thu, 17 Jul 2025 02:59:05 +0300 (EEST) Received: from mail-ej1-f54.google.com (mail-ej1-f54.google.com [209.85.218.54]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 67E6268ECDD for ; Thu, 17 Jul 2025 02:58:59 +0300 (EEST) Received: by mail-ej1-f54.google.com with SMTP id a640c23a62f3a-ae0dffaa8b2so80299766b.0 for ; Wed, 16 Jul 2025 16:58:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1752710338; x=1753315138; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=pa7spHciYKkgpt5C7VHnSKOT4F4BYDZH5iJXC2t7DHY=; b=eIWLDqHKyqtLqmTx0FRxApXHre3p3JbFrPieEilyTv6oWEyESVc1Hw8nzsiVP3MvxI ZaLSyA2UPUq3S4XTO88zBD7jklT61BRBgu2ylWOzIkIhQ8i4eBjVi5BUBH892BpPWEmm pBjJlu19JMBOv9KUVsCmqXbfE90mhCeAUFKnKt7B8RWmgXWT/1HUXRnbDRz4np5hVLV9 ByKtU3BRSH/VBD7eQpt40r47KgrY4wbr5CrYe2I2n9YLkdwTz8acxGlFQ950N0dEKHYO Cdu0119FzUNJrsm16hXuokib1XMIUfS+DntIi5EkA1rYcOEkvyA0xXwSTBLOff4HxR5Z zrEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752710338; x=1753315138; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=pa7spHciYKkgpt5C7VHnSKOT4F4BYDZH5iJXC2t7DHY=; b=C8XsAT4VXhalCsvRVxHzHA53U+Ge7Dnc+6EOSbT093OWPKLw3xMuJnpeQjuJCwzWS0 BewATz9I8BDm/qGktD9g+FrMSjmdQfdaaV8tk9CYZU8QWQvn28GVLZ2k7ChYAI0Qlp8Q lkbuv1obDYD+ybOU/ReeoY2VaSlxod0Eo37R43zJDyzh2vfdBb95zyWrv2CBWVn1maCy 3eUnYJejuH1LPqjvhLgeJinuE4471az1tM25jP69OsEx/S2iQujtLYPNU4RVXuaYHNha NfTMqwNiyZFeBG93SOlktwVgMt6eB9yuWc2IQwVaxrbQtRXZNVrlwTOvzk17oz7RkHOy ZoDw== X-Gm-Message-State: AOJu0YyjQQLv18ZUI65dJyj3pG/Aj0+VEFifeYuvrXTmENk9mBR+xaJO itwIZIxR51PXAAhWfOwcKanX7QiF3RxVgXH6B5kNurPkn1/HtmV/3+wc6SwX5A== X-Gm-Gg: ASbGncu0WgXvfr+hY/s4FayrBx+89ad1EvzRPc7wTzZOegubzI6k4R6M2/NGuvJnD58 5Cy02sOK4a3GL/2dZRHjvQUsHd+nre61qjjiQ5EpG2igX3SPOMzqdIQnXaSodULQLgIyak3gwi2 DMPQ1P1w+Gswb+32lPSq8k2w3Am8cnqG1aHBFO/trLMS/Scrbcfj+JHDgbqi/y4Dk44Vfxh/6vo a2wC5615NVuXX+hNIFmAnhBhBOx60AhbNGkkQlI9+x8Ubd3P+Gd7FY31VTdeWD62nsbqslAcf7c +Q5ZrT5j85FahEwRyJQzGgyySCJn4yCGTBklz6oOu7ua9W7yMi2zFt2lEX+zCivhzG6m/eqdca5 RKlxJ8lDBbvYouISXwHOk8h/oPMrX9DgjuQavs1bnQ9Hv+sbTXRpNbuNbEPJR+A== X-Google-Smtp-Source: AGHT+IHQzTvEdkxTUS3YoMZJqukNDuRQUofaK89bQ/aX12WtoIghax/KbXV8bavBI78UO5S7VLx19Q== X-Received: by 2002:a17:907:d89:b0:ae9:933d:f0de with SMTP id a640c23a62f3a-aec4fbee39amr78591066b.36.1752710338202; Wed, 16 Jul 2025 16:58:58 -0700 (PDT) Received: from Domek (89-70-223-1.dynamic.play.pl. [89.70.223.1]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ae6e7e91a1bsm1258612766b.29.2025.07.16.16.58.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 16 Jul 2025 16:58:57 -0700 (PDT) From: =?UTF-8?q?Kacper=20Michaj=C5=82ow?= To: ffmpeg-devel@ffmpeg.org Date: Thu, 17 Jul 2025 01:57:03 +0200 Message-ID: <20250716235707.66547-2-kasper93@gmail.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250716235707.66547-1-kasper93@gmail.com> References: <20250716235707.66547-1-kasper93@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/5] avcodec/sonic: remove dead code 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: =?UTF-8?q?Kacper=20Michaj=C5=82ow?= 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: VGhpcyB3YXMgaW4gZWxzZSBicmFuY2ggb2YgYCNpZiAxYCBzaW5jZSBldmVyLiBObyBuZWVkIHRv IGtlZXAgZGVhZCBjb2RlCmxpa2UgdGhhdCwgaWYgYW55b25lIG5lZWRzIGl0IHRoZXkgY2FuIGdl dCBpdCBmcm9tIGdpdCBoaXN0b3J5LgoKU2lnbmVkLW9mZi1ieTogS2FjcGVyIE1pY2hhasWCb3cg PGthc3BlcjkzQGdtYWlsLmNvbT4KLS0tCiBsaWJhdmNvZGVjL3NvbmljLmMgfCAyOTkgLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwg Mjk5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvc29uaWMuYyBiL2xpYmF2 Y29kZWMvc29uaWMuYwppbmRleCA4YjFkMDkyZWM5Li5hY2VmYmJkYmZiIDEwMDY0NAotLS0gYS9s aWJhdmNvZGVjL3NvbmljLmMKKysrIGIvbGliYXZjb2RlYy9zb25pYy5jCkBAIC0xNjYsNyArMTY2 LDYgQEAgc3RhdGljIGlubGluZSBhdl9mbGF0dGVuIGludCBnZXRfc3ltYm9sKFJhbmdlQ29kZXIg KmMsIHVpbnQ4X3QgKnN0YXRlLCBpbnQgaXNfc2kKICAgICB9CiB9CiAKLSNpZiAxCiBzdGF0aWMg aW5saW5lIGludCBpbnRsaXN0X3dyaXRlKFJhbmdlQ29kZXIgKmMsIHVpbnQ4X3QgKnN0YXRlLCBp bnQgKmJ1ZiwgaW50IGVudHJpZXMsIGludCBiYXNlXzJfcGFydCkKIHsKICAgICBpbnQgaTsKQEAg LTE4NiwyNzQgKzE4NSw2IEBAIHN0YXRpYyBpbmxpbmUgaW50IGludGxpc3RfcmVhZChSYW5nZUNv ZGVyICpjLCB1aW50OF90ICpzdGF0ZSwgaW50ICpidWYsIGludCBlbnRyCiAKICAgICByZXR1cm4g MTsKIH0KLSNlbGlmIDEKLXN0YXRpYyBpbmxpbmUgaW50IGludGxpc3Rfd3JpdGUoUHV0Qml0Q29u dGV4dCAqcGIsIGludCAqYnVmLCBpbnQgZW50cmllcywgaW50IGJhc2VfMl9wYXJ0KQotewotICAg IGludCBpOwotCi0gICAgZm9yIChpID0gMDsgaSA8IGVudHJpZXM7IGkrKykKLSAgICAgICAgc2V0 X3NlX2dvbG9tYihwYiwgYnVmW2ldKTsKLQotICAgIHJldHVybiAxOwotfQotCi1zdGF0aWMgaW5s aW5lIGludCBpbnRsaXN0X3JlYWQoR2V0Qml0Q29udGV4dCAqZ2IsIGludCAqYnVmLCBpbnQgZW50 cmllcywgaW50IGJhc2VfMl9wYXJ0KQotewotICAgIGludCBpOwotCi0gICAgZm9yIChpID0gMDsg aSA8IGVudHJpZXM7IGkrKykKLSAgICAgICAgYnVmW2ldID0gZ2V0X3NlX2dvbG9tYihnYik7Ci0K LSAgICByZXR1cm4gMTsKLX0KLQotI2Vsc2UKLQotI2RlZmluZSBBREFQVF9MRVZFTCA4Ci0KLXN0 YXRpYyBpbnQgYml0c190b19zdG9yZSh1aW50NjRfdCB4KQotewotICAgIGludCByZXMgPSAwOwot Ci0gICAgd2hpbGUoeCkKLSAgICB7Ci0gICAgICAgIHJlcysrOwotICAgICAgICB4ID4+PSAxOwot ICAgIH0KLSAgICByZXR1cm4gcmVzOwotfQotCi1zdGF0aWMgdm9pZCB3cml0ZV91aW50X21heChQ dXRCaXRDb250ZXh0ICpwYiwgdW5zaWduZWQgaW50IHZhbHVlLCB1bnNpZ25lZCBpbnQgbWF4KQot ewotICAgIGludCBpLCBiaXRzOwotCi0gICAgaWYgKCFtYXgpCi0gICAgICAgIHJldHVybjsKLQot ICAgIGJpdHMgPSBiaXRzX3RvX3N0b3JlKG1heCk7Ci0KLSAgICBmb3IgKGkgPSAwOyBpIDwgYml0 cy0xOyBpKyspCi0gICAgICAgIHB1dF9iaXRzKHBiLCAxLCB2YWx1ZSAmICgxIDw8IGkpKTsKLQot ICAgIGlmICggKHZhbHVlIHwgKDEgPDwgKGJpdHMtMSkpKSA8PSBtYXgpCi0gICAgICAgIHB1dF9i aXRzKHBiLCAxLCB2YWx1ZSAmICgxIDw8IChiaXRzLTEpKSk7Ci19Ci0KLXN0YXRpYyB1bnNpZ25l ZCBpbnQgcmVhZF91aW50X21heChHZXRCaXRDb250ZXh0ICpnYiwgaW50IG1heCkKLXsKLSAgICBp bnQgaSwgYml0cywgdmFsdWUgPSAwOwotCi0gICAgaWYgKCFtYXgpCi0gICAgICAgIHJldHVybiAw OwotCi0gICAgYml0cyA9IGJpdHNfdG9fc3RvcmUobWF4KTsKLQotICAgIGZvciAoaSA9IDA7IGkg PCBiaXRzLTE7IGkrKykKLSAgICAgICAgaWYgKGdldF9iaXRzMShnYikpCi0gICAgICAgICAgICB2 YWx1ZSArPSAxIDw8IGk7Ci0KLSAgICBpZiAoICh2YWx1ZSB8ICgxPDwoYml0cy0xKSkpIDw9IG1h eCkKLSAgICAgICAgaWYgKGdldF9iaXRzMShnYikpCi0gICAgICAgICAgICB2YWx1ZSArPSAxIDw8 IChiaXRzLTEpOwotCi0gICAgcmV0dXJuIHZhbHVlOwotfQotCi1zdGF0aWMgaW50IGludGxpc3Rf d3JpdGUoUHV0Qml0Q29udGV4dCAqcGIsIGludCAqYnVmLCBpbnQgZW50cmllcywgaW50IGJhc2Vf Ml9wYXJ0KQotewotICAgIGludCBpLCBqLCB4ID0gMCwgbG93X2JpdHMgPSAwLCBtYXggPSAwOwot ICAgIGludCBzdGVwID0gMjU2LCBwb3MgPSAwLCBkb21pbmFudCA9IDAsIGFueSA9IDA7Ci0gICAg aW50ICpjb3B5LCAqYml0czsKLQotICAgIGNvcHkgPSBhdl9jYWxsb2MoZW50cmllcywgc2l6ZW9m KCpjb3B5KSk7Ci0gICAgaWYgKCFjb3B5KQotICAgICAgICByZXR1cm4gQVZFUlJPUihFTk9NRU0p OwotCi0gICAgaWYgKGJhc2VfMl9wYXJ0KQotICAgIHsKLSAgICAgICAgaW50IGVuZXJneSA9IDA7 Ci0KLSAgICAgICAgZm9yIChpID0gMDsgaSA8IGVudHJpZXM7IGkrKykKLSAgICAgICAgICAgIGVu ZXJneSArPSBhYnMoYnVmW2ldKTsKLQotICAgICAgICBsb3dfYml0cyA9IGJpdHNfdG9fc3RvcmUo ZW5lcmd5IC8gKGVudHJpZXMgKiAyKSk7Ci0gICAgICAgIGlmIChsb3dfYml0cyA+IDE1KQotICAg ICAgICAgICAgbG93X2JpdHMgPSAxNTsKLQotICAgICAgICBwdXRfYml0cyhwYiwgNCwgbG93X2Jp dHMpOwotICAgIH0KLQotICAgIGZvciAoaSA9IDA7IGkgPCBlbnRyaWVzOyBpKyspCi0gICAgewot ICAgICAgICBwdXRfYml0cyhwYiwgbG93X2JpdHMsIGFicyhidWZbaV0pKTsKLSAgICAgICAgY29w eVtpXSA9IGFicyhidWZbaV0pID4+IGxvd19iaXRzOwotICAgICAgICBpZiAoY29weVtpXSA+IG1h eCkKLSAgICAgICAgICAgIG1heCA9IGFicyhjb3B5W2ldKTsKLSAgICB9Ci0KLSAgICBiaXRzID0g YXZfY2FsbG9jKGVudHJpZXMqbWF4LCBzaXplb2YoKmJpdHMpKTsKLSAgICBpZiAoIWJpdHMpCi0g ICAgewotICAgICAgICBhdl9mcmVlKGNvcHkpOwotICAgICAgICByZXR1cm4gQVZFUlJPUihFTk9N RU0pOwotICAgIH0KLQotICAgIGZvciAoaSA9IDA7IGkgPD0gbWF4OyBpKyspCi0gICAgewotICAg ICAgICBmb3IgKGogPSAwOyBqIDwgZW50cmllczsgaisrKQotICAgICAgICAgICAgaWYgKGNvcHlb al0gPj0gaSkKLSAgICAgICAgICAgICAgICBiaXRzW3grK10gPSBjb3B5W2pdID4gaTsKLSAgICB9 Ci0KLSAgICAvLyBzdG9yZSBiaXRzdHJlYW0KLSAgICB3aGlsZSAocG9zIDwgeCkKLSAgICB7Ci0g ICAgICAgIGludCBzdGVwbGV0ID0gc3RlcCA+PiA4OwotCi0gICAgICAgIGlmIChwb3MgKyBzdGVw bGV0ID4geCkKLSAgICAgICAgICAgIHN0ZXBsZXQgPSB4IC0gcG9zOwotCi0gICAgICAgIGZvciAo aSA9IDA7IGkgPCBzdGVwbGV0OyBpKyspCi0gICAgICAgICAgICBpZiAoYml0c1tpK3Bvc10gIT0g ZG9taW5hbnQpCi0gICAgICAgICAgICAgICAgYW55ID0gMTsKLQotICAgICAgICBwdXRfYml0cyhw YiwgMSwgYW55KTsKLQotICAgICAgICBpZiAoIWFueSkKLSAgICAgICAgewotICAgICAgICAgICAg cG9zICs9IHN0ZXBsZXQ7Ci0gICAgICAgICAgICBzdGVwICs9IHN0ZXAgLyBBREFQVF9MRVZFTDsK LSAgICAgICAgfQotICAgICAgICBlbHNlCi0gICAgICAgIHsKLSAgICAgICAgICAgIGludCBpbnRl cmxvcGVyID0gMDsKLQotICAgICAgICAgICAgd2hpbGUgKCgocG9zICsgaW50ZXJsb3BlcikgPCB4 KSAmJiAoYml0c1twb3MgKyBpbnRlcmxvcGVyXSA9PSBkb21pbmFudCkpCi0gICAgICAgICAgICAg ICAgaW50ZXJsb3BlcisrOwotCi0gICAgICAgICAgICAvLyBub3RlIGNoYW5nZQotICAgICAgICAg ICAgd3JpdGVfdWludF9tYXgocGIsIGludGVybG9wZXIsIChzdGVwID4+IDgpIC0gMSk7Ci0KLSAg ICAgICAgICAgIHBvcyArPSBpbnRlcmxvcGVyICsgMTsKLSAgICAgICAgICAgIHN0ZXAgLT0gc3Rl cCAvIEFEQVBUX0xFVkVMOwotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKHN0ZXAgPCAyNTYpCi0g ICAgICAgIHsKLSAgICAgICAgICAgIHN0ZXAgPSA2NTUzNiAvIHN0ZXA7Ci0gICAgICAgICAgICBk b21pbmFudCA9ICFkb21pbmFudDsKLSAgICAgICAgfQotICAgIH0KLQotICAgIC8vIHN0b3JlIHNp Z25zCi0gICAgZm9yIChpID0gMDsgaSA8IGVudHJpZXM7IGkrKykKLSAgICAgICAgaWYgKGJ1Zltp XSkKLSAgICAgICAgICAgIHB1dF9iaXRzKHBiLCAxLCBidWZbaV0gPCAwKTsKLQotICAgIGF2X2Zy ZWUoYml0cyk7Ci0gICAgYXZfZnJlZShjb3B5KTsKLQotICAgIHJldHVybiAwOwotfQotCi1zdGF0 aWMgaW50IGludGxpc3RfcmVhZChHZXRCaXRDb250ZXh0ICpnYiwgaW50ICpidWYsIGludCBlbnRy aWVzLCBpbnQgYmFzZV8yX3BhcnQpCi17Ci0gICAgaW50IGksIGxvd19iaXRzID0gMCwgeCA9IDA7 Ci0gICAgaW50IG5femVyb3MgPSAwLCBzdGVwID0gMjU2LCBkb21pbmFudCA9IDA7Ci0gICAgaW50 IHBvcyA9IDAsIGxldmVsID0gMDsKLSAgICBpbnQgKmJpdHMgPSBhdl9jYWxsb2MoZW50cmllcywg c2l6ZW9mKCpiaXRzKSk7Ci0KLSAgICBpZiAoIWJpdHMpCi0gICAgICAgIHJldHVybiBBVkVSUk9S KEVOT01FTSk7Ci0KLSAgICBpZiAoYmFzZV8yX3BhcnQpCi0gICAgewotICAgICAgICBsb3dfYml0 cyA9IGdldF9iaXRzKGdiLCA0KTsKLQotICAgICAgICBpZiAobG93X2JpdHMpCi0gICAgICAgICAg ICBmb3IgKGkgPSAwOyBpIDwgZW50cmllczsgaSsrKQotICAgICAgICAgICAgICAgIGJ1ZltpXSA9 IGdldF9iaXRzKGdiLCBsb3dfYml0cyk7Ci0gICAgfQotCi0vLyAgICBhdl9sb2coTlVMTCwgQVZf TE9HX0lORk8sICJlbnRyaWVzOiAlZCwgbG93IGJpdHM6ICVkXG4iLCBlbnRyaWVzLCBsb3dfYml0 cyk7Ci0KLSAgICB3aGlsZSAobl96ZXJvcyA8IGVudHJpZXMpCi0gICAgewotICAgICAgICBpbnQg c3RlcGxldCA9IHN0ZXAgPj4gODsKLQotICAgICAgICBpZiAoIWdldF9iaXRzMShnYikpCi0gICAg ICAgIHsKLSAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBzdGVwbGV0OyBpKyspCi0gICAgICAg ICAgICAgICAgYml0c1t4KytdID0gZG9taW5hbnQ7Ci0KLSAgICAgICAgICAgIGlmICghZG9taW5h bnQpCi0gICAgICAgICAgICAgICAgbl96ZXJvcyArPSBzdGVwbGV0OwotCi0gICAgICAgICAgICBz dGVwICs9IHN0ZXAgLyBBREFQVF9MRVZFTDsKLSAgICAgICAgfQotICAgICAgICBlbHNlCi0gICAg ICAgIHsKLSAgICAgICAgICAgIGludCBhY3R1YWxfcnVuID0gcmVhZF91aW50X21heChnYiwgc3Rl cGxldC0xKTsKLQotLy8gICAgICAgICAgICBhdl9sb2coTlVMTCwgQVZfTE9HX0lORk8sICJhY3R1 YWwgcnVuOiAlZFxuIiwgYWN0dWFsX3J1bik7Ci0KLSAgICAgICAgICAgIGZvciAoaSA9IDA7IGkg PCBhY3R1YWxfcnVuOyBpKyspCi0gICAgICAgICAgICAgICAgYml0c1t4KytdID0gZG9taW5hbnQ7 Ci0KLSAgICAgICAgICAgIGJpdHNbeCsrXSA9ICFkb21pbmFudDsKLQotICAgICAgICAgICAgaWYg KCFkb21pbmFudCkKLSAgICAgICAgICAgICAgICBuX3plcm9zICs9IGFjdHVhbF9ydW47Ci0gICAg ICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgbl96ZXJvcysrOwotCi0gICAgICAgICAgICBz dGVwIC09IHN0ZXAgLyBBREFQVF9MRVZFTDsKLSAgICAgICAgfQotCi0gICAgICAgIGlmIChzdGVw IDwgMjU2KQotICAgICAgICB7Ci0gICAgICAgICAgICBzdGVwID0gNjU1MzYgLyBzdGVwOwotICAg ICAgICAgICAgZG9taW5hbnQgPSAhZG9taW5hbnQ7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICAv LyByZWNvbnN0cnVjdCB1bnNpZ25lZCB2YWx1ZXMKLSAgICBuX3plcm9zID0gMDsKLSAgICBmb3Ig KGkgPSAwOyBuX3plcm9zIDwgZW50cmllczsgaSsrKQotICAgIHsKLSAgICAgICAgd2hpbGUoMSkK LSAgICAgICAgewotICAgICAgICAgICAgaWYgKHBvcyA+PSBlbnRyaWVzKQotICAgICAgICAgICAg ewotICAgICAgICAgICAgICAgIHBvcyA9IDA7Ci0gICAgICAgICAgICAgICAgbGV2ZWwgKz0gMSA8 PCBsb3dfYml0czsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYgKGJ1Zltwb3NdID49 IGxldmVsKQotICAgICAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgICAgICBwb3MrKzsKLSAg ICAgICAgfQotCi0gICAgICAgIGlmIChiaXRzW2ldKQotICAgICAgICAgICAgYnVmW3Bvc10gKz0g MSA8PCBsb3dfYml0czsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgbl96ZXJvcysrOwotCi0g ICAgICAgIHBvcysrOwotICAgIH0KLSAgICBhdl9mcmVlKGJpdHMpOwotCi0gICAgLy8gcmVhZCBz aWducwotICAgIGZvciAoaSA9IDA7IGkgPCBlbnRyaWVzOyBpKyspCi0gICAgICAgIGlmIChidWZb aV0gJiYgZ2V0X2JpdHMxKGdiKSkKLSAgICAgICAgICAgIGJ1ZltpXSA9IC1idWZbaV07Ci0KLS8v ICAgIGF2X2xvZyhOVUxMLCBBVl9MT0dfSU5GTywgInplcm9zOiAlZCBwb3M6ICVkXG4iLCBuX3pl cm9zLCBwb3MpOwotCi0gICAgcmV0dXJuIDA7Ci19Ci0jZW5kaWYKIAogc3RhdGljIHZvaWQgcHJl ZGljdG9yX2luaXRfc3RhdGUoaW50ICprLCBpbnQgKnN0YXRlLCBpbnQgb3JkZXIpCiB7CkBAIC00 NzYsNyArMjA3LDYgQEAgc3RhdGljIGludCBwcmVkaWN0b3JfY2FsY19lcnJvcihpbnQgKmssIGlu dCAqc3RhdGUsIGludCBvcmRlciwgaW50IGVycm9yKQogewogICAgIGludCBpLCB4ID0gZXJyb3Ig LSAodW5zaWduZWQpc2hpZnRfZG93bihrW29yZGVyLTFdICogICh1bnNpZ25lZClzdGF0ZVtvcmRl ci0xXSwgTEFUVElDRV9TSElGVCk7CiAKLSNpZiAxCiAgICAgaW50ICprX3B0ciA9ICYoa1tvcmRl ci0yXSksCiAgICAgICAgICpzdGF0ZV9wdHIgPSAmKHN0YXRlW29yZGVyLTJdKTsKICAgICBmb3Ig KGkgPSBvcmRlci0yOyBpID49IDA7IGktLSwga19wdHItLSwgc3RhdGVfcHRyLS0pCkBAIC00ODUs MTMgKzIxNSw2IEBAIHN0YXRpYyBpbnQgcHJlZGljdG9yX2NhbGNfZXJyb3IoaW50ICprLCBpbnQg KnN0YXRlLCBpbnQgb3JkZXIsIGludCBlcnJvcikKICAgICAgICAgeCAtPSAodW5zaWduZWQpc2hp ZnRfZG93bihrX3ZhbHVlICogKHVuc2lnbmVkKXN0YXRlX3ZhbHVlLCBMQVRUSUNFX1NISUZUKTsK ICAgICAgICAgc3RhdGVfcHRyWzFdID0gc3RhdGVfdmFsdWUgKyBzaGlmdF9kb3duKGtfdmFsdWUg KiAodW5zaWduZWQpeCwgTEFUVElDRV9TSElGVCk7CiAgICAgfQotI2Vsc2UKLSAgICBmb3IgKGkg PSBvcmRlci0yOyBpID49IDA7IGktLSkKLSAgICB7Ci0gICAgICAgIHggLT0gKHVuc2lnbmVkKXNo aWZ0X2Rvd24oa1tpXSAqIHN0YXRlW2ldLCBMQVRUSUNFX1NISUZUKTsKLSAgICAgICAgc3RhdGVb aSsxXSA9IHN0YXRlW2ldICsgc2hpZnRfZG93bihrW2ldICogeCwgTEFUVElDRV9TSElGVCk7Ci0g ICAgfQotI2VuZGlmCiAKICAgICAvLyBkb24ndCBkcmlmdCB0b28gZmFyLCB0byBhdm9pZCBvdmVy Zmxvd3MKICAgICBpZiAoeCA+ICAoU0FNUExFX0ZBQ1RPUjw8MTYpKSB4ID0gIChTQU1QTEVfRkFD VE9SPDwxNik7CkBAIC01MTksNyArMjQyLDYgQEAgc3RhdGljIHZvaWQgbW9kaWZpZWRfbGV2aW5z b25fZHVyYmluKGludCAqd2luZG93LCBpbnQgd2luZG93X2VudHJpZXMsCiAgICAgewogICAgICAg ICBpbnQgc3RlcCA9IChpKzEpKmNoYW5uZWxzLCBrLCBqOwogICAgICAgICBkb3VibGUgeHggPSAw LjAsIHh5ID0gMC4wOwotI2lmIDEKICAgICAgICAgaW50ICp4X3B0ciA9ICYod2luZG93W3N0ZXBd KTsKICAgICAgICAgaW50ICpzdGF0ZV9wdHIgPSAmKHN0YXRlWzBdKTsKICAgICAgICAgaiA9IHdp bmRvd19lbnRyaWVzIC0gc3RlcDsKQEAgLTUzMCwxNyArMjUyLDYgQEAgc3RhdGljIHZvaWQgbW9k aWZpZWRfbGV2aW5zb25fZHVyYmluKGludCAqd2luZG93LCBpbnQgd2luZG93X2VudHJpZXMsCiAg ICAgICAgICAgICB4eCArPSBzdGF0ZV92YWx1ZSpzdGF0ZV92YWx1ZTsKICAgICAgICAgICAgIHh5 ICs9IHhfdmFsdWUqc3RhdGVfdmFsdWU7CiAgICAgICAgIH0KLSNlbHNlCi0gICAgICAgIGZvciAo aiA9IDA7IGogPD0gKHdpbmRvd19lbnRyaWVzIC0gc3RlcCk7IGorKyk7Ci0gICAgICAgIHsKLSAg ICAgICAgICAgIGRvdWJsZSBzdGVwdmFsID0gd2luZG93W3N0ZXAral07Ci0gICAgICAgICAgICBk b3VibGUgc3RhdGV2YWwgPSB3aW5kb3dbal07Ci0vLyAgICAgICAgICAgIHh4ICs9IChkb3VibGUp d2luZG93W2pdKihkb3VibGUpd2luZG93W2pdOwotLy8gICAgICAgICAgICB4eSArPSAoZG91Ymxl KXdpbmRvd1tzdGVwK2pdKihkb3VibGUpd2luZG93W2pdOwotICAgICAgICAgICAgeHggKz0gc3Rh dGV2YWwqc3RhdGV2YWw7Ci0gICAgICAgICAgICB4eSArPSBzdGVwdmFsKnN0YXRldmFsOwotICAg ICAgICB9Ci0jZW5kaWYKICAgICAgICAgaWYgKHh4ID09IDAuMCkKICAgICAgICAgICAgIGsgPSAw OwogICAgICAgICBlbHNlCkBAIC01NTQsNyArMjY1LDYgQEAgc3RhdGljIHZvaWQgbW9kaWZpZWRf bGV2aW5zb25fZHVyYmluKGludCAqd2luZG93LCBpbnQgd2luZG93X2VudHJpZXMsCiAgICAgICAg IG91dFtpXSA9IGs7CiAgICAgICAgIGsgKj0gdGFwX3F1YW50W2ldOwogCi0jaWYgMQogICAgICAg ICB4X3B0ciA9ICYod2luZG93W3N0ZXBdKTsKICAgICAgICAgc3RhdGVfcHRyID0gJihzdGF0ZVsw XSk7CiAgICAgICAgIGogPSB3aW5kb3dfZW50cmllcyAtIHN0ZXA7CkBAIC01NjUsMTUgKzI3NSw2 IEBAIHN0YXRpYyB2b2lkIG1vZGlmaWVkX2xldmluc29uX2R1cmJpbihpbnQgKndpbmRvdywgaW50 IHdpbmRvd19lbnRyaWVzLAogICAgICAgICAgICAgKnhfcHRyID0geF92YWx1ZSArIHNoaWZ0X2Rv d24oaypzdGF0ZV92YWx1ZSxMQVRUSUNFX1NISUZUKTsKICAgICAgICAgICAgICpzdGF0ZV9wdHIg PSBzdGF0ZV92YWx1ZSArIHNoaWZ0X2Rvd24oayp4X3ZhbHVlLCBMQVRUSUNFX1NISUZUKTsKICAg ICAgICAgfQotI2Vsc2UKLSAgICAgICAgZm9yIChqPTA7IGogPD0gKHdpbmRvd19lbnRyaWVzIC0g c3RlcCk7IGorKykKLSAgICAgICAgewotICAgICAgICAgICAgaW50IHN0ZXB2YWwgPSB3aW5kb3db c3RlcCtqXTsKLSAgICAgICAgICAgIGludCBzdGF0ZXZhbD1zdGF0ZVtqXTsKLSAgICAgICAgICAg IHdpbmRvd1tzdGVwK2pdICs9IHNoaWZ0X2Rvd24oayAqIHN0YXRldmFsLCBMQVRUSUNFX1NISUZU KTsKLSAgICAgICAgICAgIHN0YXRlW2pdICs9IHNoaWZ0X2Rvd24oayAqIHN0ZXB2YWwsIExBVFRJ Q0VfU0hJRlQpOwotICAgICAgICB9Ci0jZW5kaWYKICAgICB9CiB9CiAKLS0gCjIuNTAuMQoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZmZtcGVnLWRldmVs IG1haWxpbmcgbGlzdApmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwpodHRwczovL2ZmbXBlZy5vcmcv bWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKClRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5r IGFib3ZlLCBvciBlbWFpbApmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3Vi amVjdCAidW5zdWJzY3JpYmUiLgo=