From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <ffmpeg-devel-bounces@ffmpeg.org>
Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100])
	by master.gitmailbox.com (Postfix) with ESMTPS id AADD54C7C6
	for <ffmpegdev@gitmailbox.com>; Mon, 26 May 2025 18:41:29 +0000 (UTC)
Received: from [127.0.1.1] (localhost [127.0.0.1])
	by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 77D7968D6B1;
	Mon, 26 May 2025 21:41:25 +0300 (EEST)
Received: from smtp.waider.ie (smtp.waider.ie [52.31.250.228])
 by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id A2DE968A112
 for <ffmpeg-devel@ffmpeg.org>; Mon, 26 May 2025 21:41:18 +0300 (EEST)
Received: from smtpclient.apple (unknown [109.255.224.49])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by smtp.waider.ie (Postfix) with ESMTPSA id E64794BF92
 for <ffmpeg-devel@ffmpeg.org>; Mon, 26 May 2025 18:41:10 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=waider.ie;
 s=waider_ie; t=1748284878;
 bh=ZDPVUUNH3UsKsyK+26swVh9PLsNsNuS1wE3q5N5dSLA=;
 h=Content-Type:Mime-Version:Subject:To:From:In-Reply-To:Date:
 Content-Transfer-Encoding:Message-Id:References;
 b=Ryn2HeHa0GZ1dKaafZzyoLg64IRQC7UnA40QPwK6YiFAsw4e9ugSFCGzWt84k8po+
 AdvlV/AojFjNncouPKiJIUktieSb7EAgpjFdQEiIIG1RTpTNNSuXuDR2QFPh+nYAEe
 umHdvxYKt2Qtpwq7qjOR6cLjav3TlSttcfizOWRs=
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.600.51.1.1\))
To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
From: Ronan Waide <waider@waider.ie>
In-Reply-To: <BN0P223MB0358E0D9C319CD7A93075805BAB32@BN0P223MB0358.NAMP223.PROD.OUTLOOK.COM>
Date: Mon, 26 May 2025 19:41:10 +0100
Message-Id: <66719B93-9BE4-4F9F-8270-93B11CBB89B7@waider.ie>
References: <DM8P223MB036502E46137DD7E252AF669BACE2@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM>
 <20250302172331.57779-1-waider@waider.ie>
 <DM8P223MB036556909A24803D3FAC1D10BACE2@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM>
 <B53782C0-2E44-4BC8-8462-9612DBA9A03D@waider.ie>
 <A292891E-00A3-4E00-8CF4-508AA4A5D196@waider.ie>
 <BN0P223MB0358E0D9C319CD7A93075805BAB32@BN0P223MB0358.NAMP223.PROD.OUTLOOK.COM>
Organization: Poor, at best
X-Mailer: Apple Mail (2.3826.600.51.1.1)
X-Spam-Status: No, score=-102.9 required=5.0 tests=ALL_TRUSTED,BAYES_00,
 USER_IN_WELCOMELIST,USER_IN_WHITELIST autolearn=ham autolearn_force=no
 version=3.4.3
X-Spam-Checker-Version: SpamAssassin 3.4.3 (2019-12-06) on ec2.waider.ie
Subject: Re: [FFmpeg-devel] [PATCH v5] libavcodec/dvbsubenc.c: add a
 disable_2bpp option to work around some decoders.
X-BeenThere: ffmpeg-devel@ffmpeg.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: FFmpeg development discussions and patches <ffmpeg-devel.ffmpeg.org>
List-Unsubscribe: <https://ffmpeg.org/mailman/options/ffmpeg-devel>,
 <mailto:ffmpeg-devel-request@ffmpeg.org?subject=unsubscribe>
List-Archive: <https://ffmpeg.org/pipermail/ffmpeg-devel>
List-Post: <mailto:ffmpeg-devel@ffmpeg.org>
List-Help: <mailto:ffmpeg-devel-request@ffmpeg.org?subject=help>
List-Subscribe: <https://ffmpeg.org/mailman/listinfo/ffmpeg-devel>,
 <mailto:ffmpeg-devel-request@ffmpeg.org?subject=subscribe>
Reply-To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: ffmpeg-devel-bounces@ffmpeg.org
Sender: "ffmpeg-devel" <ffmpeg-devel-bounces@ffmpeg.org>
Archived-At: <https://master.gitmailbox.com/ffmpegdev/66719B93-9BE4-4F9F-8270-93B11CBB89B7@waider.ie/>
List-Archive: <https://master.gitmailbox.com/ffmpegdev/>
List-Post: <mailto:ffmpegdev@gitmailbox.com>

Cj4gT24gMTQgQXByIDIwMjUsIGF0IDE2OjUzLCBzb2Z0d29ya3ogLiA8c29mdHdvcmt6LWF0LWhv
dG1haWwuY29tQGZmbXBlZy5vcmc+IHdyb3RlOgo+IAo+IAo+IAo+PiAtLS0tLU9yaWdpbmFsIE1l
c3NhZ2UtLS0tLQo+PiBGcm9tOiBmZm1wZWctZGV2ZWwgPGZmbXBlZy1kZXZlbC1ib3VuY2VzQGZm
bXBlZy5vcmc+IE9uIEJlaGFsZiBPZgo+PiBSb25hbiBXYWlkZQo+PiBTZW50OiBTb25udGFnLCAz
MC4gTcOkcnogMjAyNSAxMjoxOAo+PiBUbzogRkZtcGVnIGRldmVsb3BtZW50IGRpc2N1c3Npb25z
IGFuZCBwYXRjaGVzIDxmZm1wZWctCj4+IGRldmVsQGZmbXBlZy5vcmc+Cj4+IFN1YmplY3Q6IFJl
OiBbRkZtcGVnLWRldmVsXSBbUEFUQ0ggdjVdIGxpYmF2Y29kZWMvZHZic3ViZW5jLmM6IGFkZCBh
Cj4+IGRpc2FibGVfMmJwcCBvcHRpb24gdG8gd29yayBhcm91bmQgc29tZSBkZWNvZGVycy4KPj4g
Cj4+IAo+PiAKPj4+IE9uIDggTWFyIDIwMjUsIGF0IDA4OjAyLCBSb25hbiBXYWlkZSA8d2FpZGVy
QHdhaWRlci5pZT4gd3JvdGU6Cj4+PiAKPj4+IAo+Pj4gCj4+Pj4gT24gMiBNYXIgMjAyNSwgYXQg
MjA6MzgsIFNvZnQgV29ya3MgPHNvZnR3b3Jrei1hdC0KPj4gaG90bWFpbC5jb21AZmZtcGVnLm9y
Zz4gd3JvdGU6Cj4+Pj4gCj4+Pj4gCj4+Pj4gCj4+Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0t
LS0tCj4+Pj4+IEZyb206IGZmbXBlZy1kZXZlbCA8ZmZtcGVnLWRldmVsLWJvdW5jZXNAZmZtcGVn
Lm9yZz4gT24gQmVoYWxmIE9mCj4+IFJvbmFuCj4+Pj4+IFdhaWRlCj4+Pj4+IFNlbnQ6IFNvbm50
YWcsIDIuIE3DpHJ6IDIwMjUgMTg6MjQKPj4+Pj4gVG86IGZmbXBlZy1kZXZlbEBmZm1wZWcub3Jn
Cj4+Pj4+IENjOiBSb25hbiBXYWlkZSA8d2FpZGVyQHdhaWRlci5pZT4KPj4+Pj4gU3ViamVjdDog
W0ZGbXBlZy1kZXZlbF0gW1BBVENIIHY1XSBsaWJhdmNvZGVjL2R2YnN1YmVuYy5jOiBhZGQgYQo+
Pj4+PiBkaXNhYmxlXzJicHAgb3B0aW9uIHRvIHdvcmsgYXJvdW5kIHNvbWUgZGVjb2RlcnMuCj4+
Pj4+IAo+Pj4+PiBBcyBub3RlZCBpbiB0aGUgY29kZSBpbiBzZXZlcmFsIHBsYWNlcywgc29tZSBE
VkIgc3VidGl0bGUgZGVjb2RlcnMKPj4+Pj4gZG9uJ3QgaGFuZGxlIDJicHAgY29sb3IuIFRoaXMg
cGF0Y2ggYWRkcyBhIGRpc2FibGVfMmJwcCBvcHRpb24KPj4gd2hpY2gKPj4+Pj4gZGlzYWJsZXMg
dGhlIDJicHAgZm9ybWF0OyBzdWJ0aXRsZXMgd2hpY2ggd291bGQgdXNlIDJicHAgd2lsbCBiZQo+
PiBidW1wZWQKPj4+Pj4gdXAgdG8gNGJwcC4gUGVyIHN1Z2dlc3Rpb24gZnJvbSBzdywgZGlzYWJs
ZV8ycHAgZGVmYXVsdHMgdG8gdHJ1ZS4KPj4+Pj4gCj4+Pj4+IFNpZ25lZC1vZmYtYnk6IFJvbmFu
IFdhaWRlIDx3YWlkZXJAd2FpZGVyLmllPgo+Pj4+PiAtLS0KPj4+Pj4gZG9jL2VuY29kZXJzLnRl
eGkgICAgICB8IDI3ICsrKysrKysrKysrKysrKysrCj4+Pj4+IGxpYmF2Y29kZWMvZHZic3ViZW5j
LmMgfCA2OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLQo+PiAtLS0tCj4+
Pj4+IDIgZmlsZXMgY2hhbmdlZCwgNzggaW5zZXJ0aW9ucygrKSwgMTggZGVsZXRpb25zKC0pCj4+
Pj4+IAo+Pj4+PiBkaWZmIC0tZ2l0IGEvZG9jL2VuY29kZXJzLnRleGkgYi9kb2MvZW5jb2RlcnMu
dGV4aQo+Pj4+PiBpbmRleCBmM2ZjYzFhYTYwLi42ZWUwMDY1YzdkIDEwMDY0NAo+Pj4+PiAtLS0g
YS9kb2MvZW5jb2RlcnMudGV4aQo+Pj4+PiArKysgYi9kb2MvZW5jb2RlcnMudGV4aQo+Pj4+PiBA
QCAtNDQ4NCw2ICs0NDg0LDMzIEBAIFJlZHVjZXMgZGV0YWlsIGJ1dCBhdHRlbXB0cyB0byBwcmVz
ZXJ2ZQo+PiBjb2xvciBhdAo+Pj4+PiBleHRyZW1lbHkgbG93IGJpdHJhdGVzLgo+Pj4+PiBAY2hh
cHRlciBTdWJ0aXRsZXMgRW5jb2RlcnMKPj4+Pj4gQGMgbWFuIGJlZ2luIFNVQlRJVExFUyBFTkNP
REVSUwo+Pj4+PiAKPj4+Pj4gK0BzZWN0aW9uIGR2YnN1Ygo+Pj4+PiArCj4+Pj4+ICtUaGlzIGNv
ZGVjIGVuY29kZXMgdGhlIGJpdG1hcCBzdWJ0aXRsZSBmb3JtYXQgdGhhdCBpcyB1c2VkIGluIERW
Qgo+Pj4+PiArYnJvYWRjYXN0cyBhbmQgcmVjb3JkaW5ncy4gVGhlIGJpdG1hcHMgYXJlIHR5cGlj
YWxseSBlbWJlZGRlZCBpbgo+PiBhCj4+Pj4+ICtjb250YWluZXIgc3VjaCBhcyBNUEVHLVRTIGFz
IGEgc2VwYXJhdGUgc3RyZWFtLgo+Pj4+PiArCj4+Pj4+ICtAc3Vic2VjdGlvbiBPcHRpb25zCj4+
Pj4+ICsKPj4+Pj4gK0B0YWJsZSBAb3B0aW9uCj4+Pj4+ICtAaXRlbSBkaXNhYmxlXzJicHAgQHZh
cntib29sZWFufQo+Pj4+PiArRGlzYWJsZSB0aGUgMiBiaXRzLXBlci1waXhlbCBlbmNvZGluZyBm
b3JtYXQuCj4+Pj4+ICsKPj4+Pj4gK0RWQiBzdXBwb3J0cyAyLCA0LCBhbmQgOCBiaXRzLXBlci1w
aXhlbCBjb2xvciBsb29rdXAgdGFibGVzLgo+PiBIb3dldmVyLAo+Pj4+PiArbm90IGFsbCBwbGF5
ZXJzIHN1cHBvcnQgb3IgcHJvcGVybHkgc3VwcG9ydCAyIGJpdHMtcGVyLXBpeGVsLAo+Pj4+PiAr
cmVzdWx0aW5nIGluIHVudXNhYmxlIHN1YnRpdGxlcy4KPj4+Pj4gK0B0YWJsZSBAb3B0aW9uCj4+
Pj4+ICtAaXRlbSAwCj4+Pj4+ICtUaGUgMiBiaXRzLXBlci1waXhlbCBlbmNvZGluZyBmb3JtYXQg
d2lsbCBiZSB1c2VkIGZvciBzdWJ0aXRsZXMKPj4gd2l0aCA0Cj4+Pj4+ICtjb2xvcnMgb3IgbGVz
cy4KPj4+Pj4gKwo+Pj4+PiArQGl0ZW0gMQo+Pj4+PiArVGhlIDIgYml0cy1wZXItcGl4ZWwgZW5j
b2RpbmcgZm9ybWF0IHdpbGwgYmUgZGlzYWJsZWQsIGFuZAo+PiBzdWJ0aXRsZXMKPj4+Pj4gK3dp
dGggNCBjb2xvcnMgb3IgbGVzcyB3aWxsIHVzZSBhIDQgYml0cy1wZXItcGl4ZWwgZm9ybWF0Lgo+
PiAoZGVmYXVsdCkKPj4+Pj4gK0BlbmQgdGFibGUKPj4+Pj4gKwo+Pj4+PiArQGVuZCB0YWJsZQo+
Pj4+PiArCj4+Pj4+IEBzZWN0aW9uIGR2ZHN1Ygo+Pj4+PiAKPj4+Pj4gVGhpcyBjb2RlYyBlbmNv
ZGVzIHRoZSBiaXRtYXAgc3VidGl0bGUgZm9ybWF0IHRoYXQgaXMgdXNlZCBpbgo+PiBEVkRzLgo+
Pj4+PiBkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9kdmJzdWJlbmMuYyBiL2xpYmF2Y29kZWMvZHZi
c3ViZW5jLmMKPj4+Pj4gaW5kZXggODIyZTNhNTMwOS4uNGRiMmUxZGRkYSAxMDA2NDQKPj4+Pj4g
LS0tIGEvbGliYXZjb2RlYy9kdmJzdWJlbmMuYwo+Pj4+PiArKysgYi9saWJhdmNvZGVjL2R2YnN1
YmVuYy5jCj4+Pj4+IEBAIC0yMiw5ICsyMiwxMiBAQAo+Pj4+PiAjaW5jbHVkZSAiYnl0ZXN0cmVh
bS5oIgo+Pj4+PiAjaW5jbHVkZSAiY29kZWNfaW50ZXJuYWwuaCIKPj4+Pj4gI2luY2x1ZGUgImxp
YmF2dXRpbC9jb2xvcnNwYWNlLmgiCj4+Pj4+ICsjaW5jbHVkZSAibGliYXZ1dGlsL29wdC5oIgo+
Pj4+PiAKPj4+Pj4gdHlwZWRlZiBzdHJ1Y3QgRFZCU3VidGl0bGVDb250ZXh0IHsKPj4+Pj4gKyAg
ICBBVkNsYXNzICogY2xhc3M7Cj4+Pj4+ICAgaW50IG9iamVjdF92ZXJzaW9uOwo+Pj4+PiArICAg
IGludCBkaXNhYmxlXzJicHA7Cj4+Pj4+IH0gRFZCU3VidGl0bGVDb250ZXh0Owo+Pj4+PiAKPj4+
Pj4gI2RlZmluZSBQVVRCSVRTMih2YWwpXAo+Pj4+PiBAQCAtMjc0LDEzICsyNzcsMTUgQEAgc3Rh
dGljIGludCBkdmJzdWJfZW5jb2RlKEFWQ29kZWNDb250ZXh0Cj4+ICphdmN0eCwKPj4+Pj4gdWlu
dDhfdCAqb3V0YnVmLCBpbnQgYnVmX3NpemUsCj4+Pj4+IHsKPj4+Pj4gICBEVkJTdWJ0aXRsZUNv
bnRleHQgKnMgPSBhdmN0eC0+cHJpdl9kYXRhOwo+Pj4+PiAgIHVpbnQ4X3QgKnEsICpwc2VnX2xl
bjsKPj4+Pj4gLSAgICBpbnQgcGFnZV9pZCwgcmVnaW9uX2lkLCBjbHV0X2lkLCBvYmplY3RfaWQs
IGksIGJwcF9pbmRleCwKPj4+Pj4gcGFnZV9zdGF0ZTsKPj4+Pj4gKyAgICBpbnQgcGFnZV9pZCwg
cmVnaW9uX2lkLCBjbHV0X2lkLCBvYmplY3RfaWQsIGksIGJwcF9pbmRleCwKPj4+Pj4gcGFnZV9z
dGF0ZSwgbWluX2NvbG9yczsKPj4+Pj4gCj4+Pj4+IAo+Pj4+PiAgIHEgPSBvdXRidWY7Cj4+Pj4+
IAo+Pj4+PiAgIHBhZ2VfaWQgPSAxOwo+Pj4+PiAKPj4+Pj4gKyAgICBtaW5fY29sb3JzID0gcy0+
ZGlzYWJsZV8yYnBwID8gMTYgOiAwOwo+Pj4+PiArCj4+Pj4+ICAgaWYgKGgtPm51bV9yZWN0cyAm
JiAhaC0+cmVjdHMpCj4+Pj4+ICAgICAgIHJldHVybiBBVkVSUk9SKEVJTlZBTCk7Cj4+Pj4+IAo+
Pj4+PiBAQCAtMzI2LDE4ICszMzEsMjAgQEAgc3RhdGljIGludCBkdmJzdWJfZW5jb2RlKEFWQ29k
ZWNDb250ZXh0Cj4+ICphdmN0eCwKPj4+Pj4gdWludDhfdCAqb3V0YnVmLCBpbnQgYnVmX3NpemUs
Cj4+Pj4+IAo+Pj4+PiAgIGlmIChoLT5udW1fcmVjdHMpIHsKPj4+Pj4gICAgICAgZm9yIChjbHV0
X2lkID0gMDsgY2x1dF9pZCA8IGgtPm51bV9yZWN0czsgY2x1dF9pZCsrKSB7Cj4+Pj4+IC0gICAg
ICAgICAgICBpZiAoYnVmX3NpemUgPCA2ICsgaC0+cmVjdHNbY2x1dF9pZF0tPm5iX2NvbG9ycyAq
IDYpCj4+Pj4+ICsgICAgICAgICAgICBpbnQgbmJfY29sb3JzID0gRkZNQVgobWluX2NvbG9ycywg
aC0+cmVjdHNbY2x1dF9pZF0tCj4+Pj4+PiBuYl9jb2xvcnMpOwo+Pj4+PiArCj4+Pj4+ICsgICAg
ICAgICAgICBpZiAoYnVmX3NpemUgPCA2ICsgbmJfY29sb3JzICogNikKPj4+Pj4gICAgICAgICAg
ICAgICByZXR1cm4gQVZFUlJPUl9CVUZGRVJfVE9PX1NNQUxMOwo+Pj4+PiAKPj4+Pj4gICAgICAg
ICAgIC8qIENMVVQgc2VnbWVudCAqLwo+Pj4+PiAKPj4+Pj4gLSAgICAgICAgICAgIGlmIChoLT5y
ZWN0c1tjbHV0X2lkXS0+bmJfY29sb3JzIDw9IDQpIHsKPj4+Pj4gKyAgICAgICAgICAgIGlmIChu
Yl9jb2xvcnMgPD0gNCkgewo+Pj4+PiAgICAgICAgICAgICAgIC8qIDIgYnBwLCBzb21lIGRlY29k
ZXJzIGRvIG5vdCBzdXBwb3J0IGl0IGNvcnJlY3RseQo+PiAqLwo+Pj4+PiAgICAgICAgICAgICAg
IGJwcF9pbmRleCA9IDA7Cj4+Pj4+IC0gICAgICAgICAgICB9IGVsc2UgaWYgKGgtPnJlY3RzW2Ns
dXRfaWRdLT5uYl9jb2xvcnMgPD0gMTYpIHsKPj4+Pj4gKyAgICAgICAgICAgIH0gZWxzZSBpZiAo
bmJfY29sb3JzIDw9IDE2KSB7Cj4+Pj4+ICAgICAgICAgICAgICAgLyogNCBicHAsIHN0YW5kYXJk
IGVuY29kaW5nICovCj4+Pj4+ICAgICAgICAgICAgICAgYnBwX2luZGV4ID0gMTsKPj4+Pj4gLSAg
ICAgICAgICAgIH0gZWxzZSBpZiAoaC0+cmVjdHNbY2x1dF9pZF0tPm5iX2NvbG9ycyA8PSAyNTYp
IHsKPj4+Pj4gKyAgICAgICAgICAgIH0gZWxzZSBpZiAobmJfY29sb3JzIDw9IDI1Nikgewo+Pj4+
PiAgICAgICAgICAgICAgIC8qIDggYnBwLCBzdGFuZGFyZCBlbmNvZGluZyAqLwo+Pj4+PiAgICAg
ICAgICAgICAgIGJwcF9pbmRleCA9IDI7Cj4+Pj4+ICAgICAgICAgICB9IGVsc2Ugewo+Pj4+PiBA
QCAtMzU0LDE2ICszNjEsMjQgQEAgc3RhdGljIGludCBkdmJzdWJfZW5jb2RlKEFWQ29kZWNDb250
ZXh0Cj4+ICphdmN0eCwKPj4+Pj4gdWludDhfdCAqb3V0YnVmLCBpbnQgYnVmX3NpemUsCj4+Pj4+
ICAgICAgICAgICAqcSsrID0gY2x1dF9pZDsKPj4+Pj4gICAgICAgICAgICpxKysgPSAoMCA8PCA0
KSB8IDB4ZjsgLyogdmVyc2lvbiA9IDAgKi8KPj4+Pj4gCj4+Pj4+IC0gICAgICAgICAgICBmb3Io
aSA9IDA7IGkgPCBoLT5yZWN0c1tjbHV0X2lkXS0+bmJfY29sb3JzOyBpKyspIHsKPj4+Pj4gKyAg
ICAgICAgICAgIGZvcihpID0gMDsgaSA8IG5iX2NvbG9yczsgaSsrKSB7Cj4+Pj4+ICAgICAgICAg
ICAgICAgKnErKyA9IGk7IC8qIGNsdXRfZW50cnlfaWQgKi8KPj4+Pj4gICAgICAgICAgICAgICAq
cSsrID0gKDEgPDwgKDcgLSBicHBfaW5kZXgpKSB8ICgweGYgPDwgMSkgfCAxOyAvKgo+PiAyCj4+
Pj4+IGJpdHMvcGl4ZWwgZnVsbCByYW5nZSAqLwo+Pj4+PiAgICAgICAgICAgICAgIHsKPj4+Pj4g
ICAgICAgICAgICAgICAgICAgaW50IGEsIHIsIGcsIGI7Cj4+Pj4+IC0gICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90IHg9ICgodWludDMyX3QqKWgtPnJlY3RzW2NsdXRfaWRdLQo+Pj4+Pj4gZGF0
YVsxXSlbaV07Cj4+Pj4+IC0gICAgICAgICAgICAgICAgICAgIGEgPSAoeCA+PiAyNCkgJiAweGZm
Owo+Pj4+PiAtICAgICAgICAgICAgICAgICAgICByID0gKHggPj4gMTYpICYgMHhmZjsKPj4+Pj4g
LSAgICAgICAgICAgICAgICAgICAgZyA9ICh4ID4+ICA4KSAmIDB4ZmY7Cj4+Pj4+IC0gICAgICAg
ICAgICAgICAgICAgIGIgPSAoeCA+PiAgMCkgJiAweGZmOwo+Pj4+PiArICAgICAgICAgICAgICAg
ICAgICBpZiAoaSA8IGgtPnJlY3RzW2NsdXRfaWRdLT5uYl9jb2xvcnMpIHsKPj4+Pj4gKyAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHg9ICgodWludDMyX3QqKWgtCj4+PiByZWN0c1tj
bHV0X2lkXS0KPj4+Pj4+IGRhdGFbMV0pW2ldOwo+Pj4+PiArICAgICAgICAgICAgICAgICAgICAg
ICAgYSA9ICh4ID4+IDI0KSAmIDB4ZmY7Cj4+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICBy
ID0gKHggPj4gMTYpICYgMHhmZjsKPj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgIGcgPSAo
eCA+PiAgOCkgJiAweGZmOwo+Pj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgYiA9ICh4ID4+
ICAwKSAmIDB4ZmY7Cj4+Pj4+ICsgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Cj4+Pj4+ICsg
ICAgICAgICAgICAgICAgICAgICAgICAvKiBwYWQgb3V0IHRoZSBDTFVUICovCj4+Pj4+ICsgICAg
ICAgICAgICAgICAgICAgICAgICBhID0gMDsKPj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAg
IHIgPSAwOwo+Pj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgZyA9IDA7Cj4+Pj4+ICsgICAg
ICAgICAgICAgICAgICAgICAgICBiID0gMDsKPj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgfQo+
Pj4+PiAKPj4+Pj4gICAgICAgICAgICAgICAgICAgKnErKyA9IFJHQl9UT19ZX0NDSVIociwgZywg
Yik7Cj4+Pj4+ICAgICAgICAgICAgICAgICAgICpxKysgPSBSR0JfVE9fVl9DQ0lSKHIsIGcsIGIs
IDApOwo+Pj4+PiBAQCAtMzczLDcgKzM4OCw3IEBAIHN0YXRpYyBpbnQgZHZic3ViX2VuY29kZShB
VkNvZGVjQ29udGV4dAo+PiAqYXZjdHgsCj4+Pj4+IHVpbnQ4X3QgKm91dGJ1ZiwgaW50IGJ1Zl9z
aXplLAo+Pj4+PiAgICAgICAgICAgfQo+Pj4+PiAKPj4+Pj4gICAgICAgICAgIGJ5dGVzdHJlYW1f
cHV0X2JlMTYoJnBzZWdfbGVuLCBxIC0gcHNlZ19sZW4gLSAyKTsKPj4+Pj4gLSAgICAgICAgICAg
IGJ1Zl9zaXplIC09IDYgKyBoLT5yZWN0c1tjbHV0X2lkXS0+bmJfY29sb3JzICogNjsKPj4+Pj4g
KyAgICAgICAgICAgIGJ1Zl9zaXplIC09IDYgKyBuYl9jb2xvcnMgKiA2Owo+Pj4+PiAgICAgICB9
Cj4+Pj4+IAo+Pj4+PiAgICAgICBpZiAoYnVmX3NpemUgPCBoLT5udW1fcmVjdHMgKiAyMikKPj4+
Pj4gQEAgLTM4MSwxNCArMzk2LDE1IEBAIHN0YXRpYyBpbnQgZHZic3ViX2VuY29kZShBVkNvZGVj
Q29udGV4dAo+PiAqYXZjdHgsCj4+Pj4+IHVpbnQ4X3QgKm91dGJ1ZiwgaW50IGJ1Zl9zaXplLAo+
Pj4+PiAgICAgICBmb3IgKHJlZ2lvbl9pZCA9IDA7IHJlZ2lvbl9pZCA8IGgtPm51bV9yZWN0czsg
cmVnaW9uX2lkKyspCj4+IHsKPj4+Pj4gCj4+Pj4+ICAgICAgICAgICAvKiByZWdpb24gY29tcG9z
aXRpb24gc2VnbWVudCAqLwo+Pj4+PiArICAgICAgICAgICAgaW50IG5iX2NvbG9ycyA9IEZGTUFY
KG1pbl9jb2xvcnMsIGgtCj4+PiByZWN0c1tyZWdpb25faWRdLQo+Pj4+Pj4gbmJfY29sb3JzKTsK
Pj4+Pj4gCj4+Pj4+IC0gICAgICAgICAgICBpZiAoaC0+cmVjdHNbcmVnaW9uX2lkXS0+bmJfY29s
b3JzIDw9IDQpIHsKPj4+Pj4gKyAgICAgICAgICAgIGlmIChuYl9jb2xvcnMgPD0gNCkgewo+Pj4+
PiAgICAgICAgICAgICAgIC8qIDIgYnBwLCBzb21lIGRlY29kZXJzIGRvIG5vdCBzdXBwb3J0IGl0
IGNvcnJlY3RseQo+PiAqLwo+Pj4+PiAgICAgICAgICAgICAgIGJwcF9pbmRleCA9IDA7Cj4+Pj4+
IC0gICAgICAgICAgICB9IGVsc2UgaWYgKGgtPnJlY3RzW3JlZ2lvbl9pZF0tPm5iX2NvbG9ycyA8
PSAxNikgewo+Pj4+PiArICAgICAgICAgICAgfSBlbHNlIGlmIChuYl9jb2xvcnMgPD0gMTYpIHsK
Pj4+Pj4gICAgICAgICAgICAgICAvKiA0IGJwcCwgc3RhbmRhcmQgZW5jb2RpbmcgKi8KPj4+Pj4g
ICAgICAgICAgICAgICBicHBfaW5kZXggPSAxOwo+Pj4+PiAtICAgICAgICAgICAgfSBlbHNlIGlm
IChoLT5yZWN0c1tyZWdpb25faWRdLT5uYl9jb2xvcnMgPD0gMjU2KSB7Cj4+Pj4+ICsgICAgICAg
ICAgICB9IGVsc2UgaWYgKG5iX2NvbG9ycyA8PSAyNTYpIHsKPj4+Pj4gICAgICAgICAgICAgICAv
KiA4IGJwcCwgc3RhbmRhcmQgZW5jb2RpbmcgKi8KPj4+Pj4gICAgICAgICAgICAgICBicHBfaW5k
ZXggPSAyOwo+Pj4+PiAgICAgICAgICAgfSBlbHNlIHsKPj4+Pj4gQEAgLTQyNCwxNyArNDQwLDE5
IEBAIHN0YXRpYyBpbnQgZHZic3ViX2VuY29kZShBVkNvZGVjQ29udGV4dAo+PiAqYXZjdHgsCj4+
Pj4+IHVpbnQ4X3QgKm91dGJ1ZiwgaW50IGJ1Zl9zaXplLAo+Pj4+PiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKmJpdG1hcCwgaW50Cj4+IGxpbmVzaXplLAo+
Pj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3LCBpbnQgaCk7Cj4+Pj4+
IAo+Pj4+PiArICAgICAgICAgICAgaW50IG5iX2NvbG9ycyA9IEZGTUFYKG1pbl9jb2xvcnMsIGgt
Cj4+PiByZWN0c1tvYmplY3RfaWRdLQo+Pj4+Pj4gbmJfY29sb3JzKTsKPj4+Pj4gKwo+Pj4+PiAg
ICAgICAgICAgaWYgKGJ1Zl9zaXplIDwgMTMpCj4+Pj4+ICAgICAgICAgICAgICAgcmV0dXJuIEFW
RVJST1JfQlVGRkVSX1RPT19TTUFMTDsKPj4+Pj4gCj4+Pj4+ICAgICAgICAgICAvKiBicHBfaW5k
ZXggbWF0aHMgKi8KPj4+Pj4gLSAgICAgICAgICAgIGlmIChoLT5yZWN0c1tvYmplY3RfaWRdLT5u
Yl9jb2xvcnMgPD0gNCkgewo+Pj4+PiArICAgICAgICAgICAgaWYgKG5iX2NvbG9ycyA8PSA0KSB7
Cj4+Pj4+ICAgICAgICAgICAgICAgLyogMiBicHAsIHNvbWUgZGVjb2RlcnMgZG8gbm90IHN1cHBv
cnQgaXQgY29ycmVjdGx5Cj4+ICovCj4+Pj4+ICAgICAgICAgICAgICAgZHZiX2VuY29kZV9ybGUg
PSBkdmJfZW5jb2RlX3JsZTI7Cj4+Pj4+IC0gICAgICAgICAgICB9IGVsc2UgaWYgKGgtPnJlY3Rz
W29iamVjdF9pZF0tPm5iX2NvbG9ycyA8PSAxNikgewo+Pj4+PiArICAgICAgICAgICAgfSBlbHNl
IGlmIChuYl9jb2xvcnMgPD0gMTYpIHsKPj4+Pj4gICAgICAgICAgICAgICAvKiA0IGJwcCwgc3Rh
bmRhcmQgZW5jb2RpbmcgKi8KPj4+Pj4gICAgICAgICAgICAgICBkdmJfZW5jb2RlX3JsZSA9IGR2
Yl9lbmNvZGVfcmxlNDsKPj4+Pj4gLSAgICAgICAgICAgIH0gZWxzZSBpZiAoaC0+cmVjdHNbb2Jq
ZWN0X2lkXS0+bmJfY29sb3JzIDw9IDI1Nikgewo+Pj4+PiArICAgICAgICAgICAgfSBlbHNlIGlm
IChuYl9jb2xvcnMgPD0gMjU2KSB7Cj4+Pj4+ICAgICAgICAgICAgICAgLyogOCBicHAsIHN0YW5k
YXJkIGVuY29kaW5nICovCj4+Pj4+ICAgICAgICAgICAgICAgZHZiX2VuY29kZV9ybGUgPSBkdmJf
ZW5jb2RlX3JsZTg7Cj4+Pj4+ICAgICAgICAgICB9IGVsc2Ugewo+Pj4+PiBAQCAtNTA2LDYgKzUy
NCwyMCBAQCBzdGF0aWMgaW50IGR2YnN1Yl9lbmNvZGUoQVZDb2RlY0NvbnRleHQKPj4gKmF2Y3R4
LAo+Pj4+PiB1aW50OF90ICpvdXRidWYsIGludCBidWZfc2l6ZSwKPj4+Pj4gICByZXR1cm4gcSAt
IG91dGJ1ZjsKPj4+Pj4gfQo+Pj4+PiAKPj4+Pj4gKyNkZWZpbmUgT0ZGU0VUKHgpIG9mZnNldG9m
KERWQlN1YnRpdGxlQ29udGV4dCwgeCkKPj4+Pj4gKyNkZWZpbmUgU0UgQVZfT1BUX0ZMQUdfU1VC
VElUTEVfUEFSQU0gfAo+PiBBVl9PUFRfRkxBR19FTkNPRElOR19QQVJBTQo+Pj4+PiArc3RhdGlj
IGNvbnN0IEFWT3B0aW9uIG9wdGlvbnNbXSA9IHsKPj4+Pj4gKyAgICB7ImRpc2FibGVfMmJwcCIs
ICJkaXNhYmxlIHRoZSAyYnBwIHN1YnRpdGxlIGVuY29kZXIiLAo+Pj4+PiBPRkZTRVQoZGlzYWJs
ZV8yYnBwKSwgQVZfT1BUX1RZUEVfQk9PTCwgey5pNjQgPSAxfSwgMCwgMSwgU0V9LAo+Pj4+PiAr
ICAgIHsgTlVMTCB9LAo+Pj4+PiArfTsKPj4+Pj4gKwo+Pj4+PiArc3RhdGljIGNvbnN0IEFWQ2xh
c3MgZHZic3ViZW5jX2NsYXNzID0gewo+Pj4+PiArICAgIC5jbGFzc19uYW1lID0gIkRWQlNVQiBz
dWJ0aXRsZSBlbmNvZGVyIiwKPj4+Pj4gKyAgICAuaXRlbV9uYW1lICA9IGF2X2RlZmF1bHRfaXRl
bV9uYW1lLAo+Pj4+PiArICAgIC5vcHRpb24gICAgID0gb3B0aW9ucywKPj4+Pj4gKyAgICAudmVy
c2lvbiAgICA9IExJQkFWVVRJTF9WRVJTSU9OX0lOVCwKPj4+Pj4gK307Cj4+Pj4+ICsKPj4+Pj4g
Y29uc3QgRkZDb2RlYyBmZl9kdmJzdWJfZW5jb2RlciA9IHsKPj4+Pj4gICAucC5uYW1lICAgICAg
ICAgPSAiZHZic3ViIiwKPj4+Pj4gICBDT0RFQ19MT05HX05BTUUoIkRWQiBzdWJ0aXRsZXMiKSwK
Pj4+Pj4gQEAgLTUxMyw0ICs1NDUsNSBAQCBjb25zdCBGRkNvZGVjIGZmX2R2YnN1Yl9lbmNvZGVy
ID0gewo+Pj4+PiAgIC5wLmlkICAgICAgICAgICA9IEFWX0NPREVDX0lEX0RWQl9TVUJUSVRMRSwK
Pj4+Pj4gICAucHJpdl9kYXRhX3NpemUgPSBzaXplb2YoRFZCU3VidGl0bGVDb250ZXh0KSwKPj4+
Pj4gICBGRl9DT0RFQ19FTkNPREVfU1VCX0NCKGR2YnN1Yl9lbmNvZGUpLAo+Pj4+PiArICAgIC5w
LnByaXZfY2xhc3MgICA9ICZkdmJzdWJlbmNfY2xhc3MsCj4+Pj4+IH07Cj4+Pj4+IC0tCj4+Pj4g
Cj4+Pj4gVGVzdGVkICYgTEdUTQo+Pj4+IAo+Pj4+IFRoYW5rcyBmb3IgdGhlIHBhdGNoIQo+Pj4g
Cj4+PiBIZWxsbywKPj4+IAo+Pj4gbnVkZ2luZyBvbiB0aGlzIC0gZG9lcyBpdCBuZWVkIGFueSBt
b3JlIHdvcmssIG9yIHdpbGwgaXQgYmUgbWVyZ2VkPwo+Pj4gCj4+PiBDaGVlcnMsCj4+PiBXYWlk
ZXIuCj4+PiAtLQo+Pj4gUm9uYW4gV2FpZGUKPj4+IHdhaWRlckB3YWlkZXIuaWUKPj4+IAo+Pj4g
Cj4+PiAKPj4+IAo+PiAKPj4gSGVsbG8gYWdhaW4sCj4+IAo+PiB0aGlzIHN0aWxsIGFwcGxpZXMg
Y2xlYW5seSB0byB0aGUgY3VycmVudCBIRUFELCBpLmUuIG5vIGNvbmZsaWN0cyBvbgo+PiByZWJh
c2UuIFdvdWxkIGl0IGJlIHBvc3NpYmxlIHRvIG1lcmdlIGl0LCBvciBpcyB0aGVyZSBhZGRpdGlv
bmFsIHdvcmsKPj4gcmVxdWlyZWQ/Cj4+IAo+PiBjaGVlcnMsCj4+IFdhaWRlci4KPj4gLS0KPj4g
Um9uYW4gV2FpZGUKPj4gd2FpZGVyQHdhaWRlci5pZQo+IAo+IAo+IEhlbGxvIFJvbmFuLAo+IAo+
IEknbGwgdHJ5IHRvIHBpY2sgdGhpcyB1cCBuZXh0IG9yIDJuZC1uZXh0IHdlZWsuIFBhdGNoIGxv
b2tlZCBnb29kIAo+IGJ1dCBJIHdhbnQgdG8gdGVzdCBpdCBsb2NhbGx5IGJlZm9yZSBtYWtpbmcg
YSBsYXN0IGNhbGwgYW5kIGFwcGx5aW5nCj4gaXQgLSBhc3N1bWluZyBhbGwgZ29lcyB3ZWxsLgoK
bnVkZ2Ugb24gdGhpcy4gVGhlIGN1cnJlbnQgcGF0Y2ggYXBwbGllcyB0byB0aGUgY3VycmVudCBI
RUFEIHdpdGhvdXQgY2hhbmdlcywgc28gSSd2ZSBub3QgcG9zdGVkIGEgcmV2aXNpb24uCgpDaGVl
cnMsCldhaWRlci4KLS0gClJvbmFuIFdhaWRlCndhaWRlckB3YWlkZXIuaWUKCgoKCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmZmbXBlZy1kZXZlbCBtYWls
aW5nIGxpc3QKZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKaHR0cHM6Ly9mZm1wZWcub3JnL21haWxt
YW4vbGlzdGluZm8vZmZtcGVnLWRldmVsCgpUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGluayBhYm92
ZSwgb3IgZW1haWwKZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3Qg
InVuc3Vic2NyaWJlIi4K