From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <ffmpeg-devel-bounces@ffmpeg.org>
Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100])
	by master.gitmailbox.com (Postfix) with ESMTPS id 299454BBB1
	for <ffmpegdev@gitmailbox.com>; Sat,  3 May 2025 09:15:58 +0000 (UTC)
Received: from [127.0.1.1] (localhost [127.0.0.1])
	by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 726A468BBF4;
	Sat,  3 May 2025 12:15:56 +0300 (EEST)
Received: from mail-vs1-f45.google.com (mail-vs1-f45.google.com
 [209.85.217.45])
 by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D9F1D687DB8
 for <ffmpeg-devel@ffmpeg.org>; Sat,  3 May 2025 12:15:49 +0300 (EEST)
Received: by mail-vs1-f45.google.com with SMTP id
 ada2fe7eead31-4c32ba00861so761356137.1
 for <ffmpeg-devel@ffmpeg.org>; Sat, 03 May 2025 02:15:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1746263748; x=1746868548; darn=ffmpeg.org;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=3RrqTWnyAr+E3vYvoILtxOzRIdhJGPb8+VmzEqn3DuA=;
 b=VE0sMsytjK+49iadFmB0bP6hx0kIl5TU4QzuKUGvknezLj5EJluOxHA0Y/4BJpTubS
 HMQos1YZ3atBXSnFIBls3aq6q3LXzXBWpi1EtVqyyZVPJjHhGXkUezr93knDcfTY8SwV
 /JlmJQNzZbHEVt39sAuHJzRuBF5TbkgIOpucof2xz9avsEj56bAvY7J1cEiQkEr+nYPg
 teyE2wkqkAz17/idH6pgAdPwTT0kqbaL+38TeXklRnjhQ++nLrT+XtTQ7T2/fWrB/CUr
 7Th9YN1rnR5gC53/STCY+goC3d9oP3TDISfvK+uv+loZkmNogBjuuwSgNJeQlPX706ZQ
 1eVw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1746263748; x=1746868548;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=3RrqTWnyAr+E3vYvoILtxOzRIdhJGPb8+VmzEqn3DuA=;
 b=P9w6H51GyHDesSt+X/eNlSr56TfoudUR54X68Ti/6+VTUrjnnKVtTYjstmxWxaXG6S
 XbNO0BvftJqrQv2wfejPXN4yoQcTr3ehUUAn6sZQ+SczQa7oeM4La9PGQHCvrv8yGOht
 YQFVoENHXKtDgYcwWcKDnZLxEeAXqfVLtWNQkRNNoXNpaosT3fjAeehqKrNSxu57o7uQ
 oyzWRbk2UXoMuM6Qyah+NUpOy3b9aWL70iyrwNWGbDV/C8BDrcKnbZe66C6WGWJS1pxv
 CkpyVfs2fPH+yjPRMlLgJalrA5BlM4S/KdDoG9mqX+isbnKGO6YHMgaGGE2JT7eOPZRa
 jlsw==
X-Gm-Message-State: AOJu0YxcrbOefk9jGDvtnQfbDT3gzyU90JyILW6irdPY+XAEeq7cHT3l
 87QAvgT0jvkp+aIBYk2RIIt0JA15o0Y3C3ZYBJeiZKjKMngue1AsIOjkkimMzyZYJDaoC/99zCF
 gJbwztuME8g20/pP6QQPd0r2mtAY=
X-Gm-Gg: ASbGncvW7szjLWXx2kkj9Zm3JN5T3AW6/Kqz0RpM/Gsa88TvrNOvIjmSOjQt8OukuPi
 dMO6wDPfAunmV8OsQ/C9WsQNFvKUJsbX4aR02Ryxe5P83HeVgg3/NK04l132mJRfu+h4VKf56k/
 OsSN1wMbyKV4Lc08JNSe0i
X-Google-Smtp-Source: AGHT+IEFzgH9ddikdnrrkymTSDZSSJvLTDEPxOh7cNzhlK4jS61zaCtxqM3FyhJHlwiu1zGXrJcswvNRnnAsgMBa3ds=
X-Received: by 2002:a05:6102:1501:b0:4c5:8d52:af3 with SMTP id
 ada2fe7eead31-4db149182damr92875137.20.1746263748101; Sat, 03 May 2025
 02:15:48 -0700 (PDT)
MIME-Version: 1.0
References: <20250502074430.291561-1-nuomi2021@gmail.com>
 <20250502074430.291561-5-nuomi2021@gmail.com>
 <f6d0f640-dc88-3362-1e60-66f93a7b371@martin.st>
 <CAFXK13dA4jyu==6tEM1bkWgGCFq69-R6t7qY1kWM_FVHw__PjA@mail.gmail.com>
 <1118a98c-3d7f-7472-91d6-456b6d6a27dd@martin.st>
In-Reply-To: <1118a98c-3d7f-7472-91d6-456b6d6a27dd@martin.st>
From: Nuo Mi <nuomi2021@gmail.com>
Date: Sat, 3 May 2025 17:15:36 +0800
X-Gm-Features: ATxdqUFI2xsyrrNYWRltZV9DD_u5DEZ28-EA71sAwwPvolLoaTRU6Wo0BdY_Ypw
Message-ID: <CAFXK13chyo8YtDe5z5VwSjMuYVKYLtCsP=jXLFWP3xQ7QO4MRg@mail.gmail.com>
To: =?UTF-8?Q?Martin_Storsj=C3=B6?= <martin@martin.st>
X-Content-Filtered-By: Mailman/MimeDel 2.1.29
Subject: Re: [FFmpeg-devel] [PATCH 5/5] checkasm: add vvc_sao
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>
Cc: Shaun Loo <shaunloo10@gmail.com>,
 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/CAFXK13chyo8YtDe5z5VwSjMuYVKYLtCsP=jXLFWP3xQ7QO4MRg@mail.gmail.com/>
List-Archive: <https://master.gitmailbox.com/ffmpegdev/>
List-Post: <mailto:ffmpegdev@gitmailbox.com>

SGkgTWFydGluLApHcmVhdCwgaXQgd29ya3MhCkhFVkMgaXMgaW5jbHVkZWQgaW4gdjIuCgpUaGFu
ayB5b3UhCgpPbiBTYXQsIE1heSAzLCAyMDI1IGF0IDQ6NDXigK9BTSBNYXJ0aW4gU3RvcnNqw7Yg
PG1hcnRpbkBtYXJ0aW4uc3Q+IHdyb3RlOgoKPiBPbiBGcmksIDIgTWF5IDIwMjUsIE51byBNaSB3
cm90ZToKPgo+ID4gT24gRnJpLCBNYXkgMiwgMjAyNSBhdCAzOjQ54oCvUE0gTWFydGluIFN0b3Jz
asO2IDxtYXJ0aW5AbWFydGluLnN0PiB3cm90ZToKPiA+ICAgICAgIE9uIEZyaSwgMiBNYXkgMjAy
NSwgTnVvIE1pIHdyb3RlOgo+ID4KPiA+ICAgICAgID4gRnJvbTogU2hhdW4gTG9vIDxzaGF1bmxv
bzEwQGdtYWlsLmNvbT4KPiA+ICAgICAgID4KPiA+ICAgICAgID4gVGhpcyBpcyBhIHBhcnQgb2Yg
R29vZ2xlIFN1bW1lciBvZiBDb2RlIDIwMjMKPiA+ICAgICAgID4KPiA+ICAgICAgID4gQVZYMjoK
PiA+ICAgICAgID4gLSB2dmNfc2FvLnNhb19iYW5kIFtPS10KPiA+ICAgICAgID4gLSB2dmNfc2Fv
LnNhb19lZGdlIFtPS10KPiA+ICAgICAgID4KPiA+ICAgICAgID4gQ28tYXV0aG9yZWQtYnk6IE51
byBNaSA8bnVvbWkyMDIxQGdtYWlsLmNvbT4KPiA+ICAgICAgID4gLS0tCj4gPiAgICAgICA+IHRl
c3RzL2NoZWNrYXNtL01ha2VmaWxlICAgfCAgIDIgKy0KPiA+ICAgICAgID4gdGVzdHMvY2hlY2th
c20vY2hlY2thc20uYyB8ICAgMSArCj4gPiAgICAgICA+IHRlc3RzL2NoZWNrYXNtL2NoZWNrYXNt
LmggfCAgIDEgKwo+ID4gICAgICAgPiB0ZXN0cy9jaGVja2FzbS92dmNfc2FvLmMgIHwgMTYxCj4g
PiAgICAgICArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ID4gICAgICAg
PiA0IGZpbGVzIGNoYW5nZWQsIDE2NCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCj4gPiAg
ICAgICA+IGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0cy9jaGVja2FzbS92dmNfc2FvLmMKPiA+ICAg
ICAgID4KPiA+ICAgICAgID4gZGlmZiAtLWdpdCBhL3Rlc3RzL2NoZWNrYXNtL01ha2VmaWxlIGIv
dGVzdHMvY2hlY2thc20vTWFrZWZpbGUKPiA+ICAgICAgID4gaW5kZXggMTkzYzFlNDYzMy4uZmFi
YmY1OTViNCAxMDA2NDQKPiA+ICAgICAgID4gLS0tIGEvdGVzdHMvY2hlY2thc20vTWFrZWZpbGUK
PiA+ICAgICAgID4gKysrIGIvdGVzdHMvY2hlY2thc20vTWFrZWZpbGUKPiA+ICAgICAgID4gQEAg
LTQ3LDcgKzQ3LDcgQEAgQVZDT0RFQ09CSlMtJChDT05GSUdfVjIxMF9ERUNPREVSKSAgICAgICs9
Cj4gPiAgICAgICB2MjEwZGVjLm8KPiA+ICAgICAgID4gQVZDT0RFQ09CSlMtJChDT05GSUdfVjIx
MF9FTkNPREVSKSAgICAgICs9IHYyMTBlbmMubwo+ID4gICAgICAgPiBBVkNPREVDT0JKUy0kKENP
TkZJR19WT1JCSVNfREVDT0RFUikgICAgKz0gdm9yYmlzZHNwLm8KPiA+ICAgICAgID4gQVZDT0RF
Q09CSlMtJChDT05GSUdfVlA5X0RFQ09ERVIpICAgICAgICs9IHZwOWRzcC5vCj4gPiAgICAgICA+
IC1BVkNPREVDT0JKUy0kKENPTkZJR19WVkNfREVDT0RFUikgICAgICAgKz0gdnZjX2FsZi5vIHZ2
Y19tYy5vCj4gPiAgICAgICA+ICtBVkNPREVDT0JKUy0kKENPTkZJR19WVkNfREVDT0RFUikgICAg
ICAgKz0gdnZjX2FsZi5vIHZ2Y19tYy5vCj4gPiAgICAgICB2dmNfc2FvLm8KPiA+ICAgICAgID4K
PiA+ICAgICAgID4gQ0hFQ0tBU01PQkpTLSQoQ09ORklHX0FWQ09ERUMpICAgICAgICAgICs9ICQo
QVZDT0RFQ09CSlMteWVzKQo+ID4gICAgICAgPgo+ID4gICAgICAgPiBkaWZmIC0tZ2l0IGEvdGVz
dHMvY2hlY2thc20vY2hlY2thc20uYwo+ID4gICAgICAgYi90ZXN0cy9jaGVja2FzbS9jaGVja2Fz
bS5jCj4gPiAgICAgICA+IGluZGV4IDNiYjgyZWQwZTUuLjA3MzRjZDI2YmYgMTAwNjQ0Cj4gPiAg
ICAgICA+IC0tLSBhL3Rlc3RzL2NoZWNrYXNtL2NoZWNrYXNtLmMKPiA+ICAgICAgID4gKysrIGIv
dGVzdHMvY2hlY2thc20vY2hlY2thc20uYwo+ID4gICAgICAgPiBAQCAtMjU2LDYgKzI1Niw3IEBA
IHN0YXRpYyBjb25zdCBzdHJ1Y3Qgewo+ID4gICAgICAgPiAgICAgI2lmIENPTkZJR19WVkNfREVD
T0RFUgo+ID4gICAgICAgPiAgICAgICAgIHsgInZ2Y19hbGYiLCBjaGVja2FzbV9jaGVja192dmNf
YWxmIH0sCj4gPiAgICAgICA+ICAgICAgICAgeyAidnZjX21jIiwgIGNoZWNrYXNtX2NoZWNrX3Z2
Y19tYyAgfSwKPiA+ICAgICAgID4gKyAgICAgICAgeyAidnZjX3NhbyIsIGNoZWNrYXNtX2NoZWNr
X3Z2Y19zYW8gfSwKPiA+ICAgICAgID4gICAgICNlbmRpZgo+ID4gICAgICAgPiAjZW5kaWYKPiA+
ICAgICAgID4gI2lmIENPTkZJR19BVkZJTFRFUgo+ID4gICAgICAgPiBkaWZmIC0tZ2l0IGEvdGVz
dHMvY2hlY2thc20vY2hlY2thc20uaAo+ID4gICAgICAgYi90ZXN0cy9jaGVja2FzbS9jaGVja2Fz
bS5oCj4gPiAgICAgICA+IGluZGV4IGE2YjU5NjVlMDIuLjE0NmJmZGVjMzUgMTAwNjQ0Cj4gPiAg
ICAgICA+IC0tLSBhL3Rlc3RzL2NoZWNrYXNtL2NoZWNrYXNtLmgKPiA+ICAgICAgID4gKysrIGIv
dGVzdHMvY2hlY2thc20vY2hlY2thc20uaAo+ID4gICAgICAgPiBAQCAtMTQ5LDYgKzE0OSw3IEBA
IHZvaWQgY2hlY2thc21fY2hlY2tfdmlkZW9kc3Aodm9pZCk7Cj4gPiAgICAgICA+IHZvaWQgY2hl
Y2thc21fY2hlY2tfdm9yYmlzZHNwKHZvaWQpOwo+ID4gICAgICAgPiB2b2lkIGNoZWNrYXNtX2No
ZWNrX3Z2Y19hbGYodm9pZCk7Cj4gPiAgICAgICA+IHZvaWQgY2hlY2thc21fY2hlY2tfdnZjX21j
KHZvaWQpOwo+ID4gICAgICAgPiArdm9pZCBjaGVja2FzbV9jaGVja192dmNfc2FvKHZvaWQpOwo+
ID4gICAgICAgPgo+ID4gICAgICAgPiBzdHJ1Y3QgQ2hlY2thc21QZXJmOwo+ID4gICAgICAgPgo+
ID4gICAgICAgPiBkaWZmIC0tZ2l0IGEvdGVzdHMvY2hlY2thc20vdnZjX3Nhby5jCj4gPiAgICAg
ICBiL3Rlc3RzL2NoZWNrYXNtL3Z2Y19zYW8uYwo+ID4gICAgICAgPiBuZXcgZmlsZSBtb2RlIDEw
MDY0NAo+ID4gICAgICAgPiBpbmRleCAwMDAwMDAwMDAwLi4wMjYwNzhmZjAyCj4gPiAgICAgICA+
IC0tLSAvZGV2L251bGwKPiA+ICAgICAgID4gKysrIGIvdGVzdHMvY2hlY2thc20vdnZjX3Nhby5j
Cj4gPiAgICAgICA+IEBAIC0wLDAgKzEsMTYxIEBACj4gPiAgICAgICA+ICsvKgo+ID4gICAgICAg
PiArICogQ29weXJpZ2h0IChjKSAyMDE4IFlpbmdtaW5nIEZhbiA8eWluZ21pbmdmYW5AZ21haWwu
Y29tPgo+ID4gICAgICAgPiArICoKPiA+ICAgICAgID4gKyAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9m
IEZGbXBlZy4KPiA+ICAgICAgID4gKyAqCj4gPiAgICAgICA+ICsgKiBGRm1wZWcgaXMgZnJlZSBz
b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gPiAgICAgICBtb2RpZnkK
PiA+ICAgICAgID4gKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UgYXMKPiA+ICAgICAgIHB1Ymxpc2hlZCBieQo+ID4gICAgICAgPiArICogdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUKPiA+ICAg
ICAgIExpY2Vuc2UsIG9yCj4gPiAgICAgICA+ICsgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl
ciB2ZXJzaW9uLgo+ID4gICAgICAgPiArICoKPiA+ICAgICAgID4gKyAqIEZGbXBlZyBpcyBkaXN0
cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+ID4gICAgICAgPiAr
ICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQKPiA+
ICAgICAgIHdhcnJhbnR5IG9mCj4gPiAgICAgICA+ICsgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUKPiA+ICAgICAgIHRoZQo+ID4gICAg
ICAgPiArICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiA+
ICAgICAgID4gKyAqCj4gPiAgICAgICA+ICsgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj
b3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKPiA+ICAgICAgIExpY2Vuc2UgYWxvbmcKPiA+
ICAgICAgID4gKyAqIHdpdGggRkZtcGVnOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3
YXJlCj4gPiAgICAgICBGb3VuZGF0aW9uLCBJbmMuLAo+ID4gICAgICAgPiArICogNTEgRnJhbmts
aW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxCj4gPiAgICAgICBV
U0EuCj4gPiAgICAgICA+ICsgKi8KPiA+ICAgICAgID4gKwo+ID4gICAgICAgPiArI2luY2x1ZGUg
PHN0cmluZy5oPgo+ID4gICAgICAgPiArCj4gPiAgICAgICA+ICsjaW5jbHVkZSAibGliYXZ1dGls
L2ludHJlYWR3cml0ZS5oIgo+ID4gICAgICAgPiArI2luY2x1ZGUgImxpYmF2dXRpbC9tZW1faW50
ZXJuYWwuaCIKPiA+ICAgICAgID4gKwo+ID4gICAgICAgPiArI2luY2x1ZGUgImxpYmF2Y29kZWMv
dnZjL2RzcC5oIgo+ID4gICAgICAgPiArI2luY2x1ZGUgImxpYmF2Y29kZWMvdnZjL2N0dS5oIgo+
ID4gICAgICAgPiArCj4gPiAgICAgICA+ICsjaW5jbHVkZSAiY2hlY2thc20uaCIKPiA+ICAgICAg
ID4gKwo+ID4gICAgICAgPiArc3RhdGljIGNvbnN0IHVpbnQzMl90IHBpeGVsX21hc2tbM10gPSB7
IDB4ZmZmZmZmZmYsCj4gPiAgICAgICAweDAzZmYwM2ZmLCAweDBmZmYwZmZmIH07Cj4gPiAgICAg
ICA+ICtzdGF0aWMgY29uc3QgdWludDMyX3Qgc2FvX3NpemVbXSA9IHs4LCAxNiwgMzIsIDQ4LCA2
NCwgODAsCj4gPiAgICAgICA5NiwgMTEyLCAxMjh9Owo+ID4gICAgICAgPiArCj4gPiAgICAgICA+
ICsjZGVmaW5lIFNJWkVPRl9QSVhFTCAoKGJpdF9kZXB0aCArIDcpIC8gOCkKPiA+ICAgICAgID4g
KyNkZWZpbmUgUElYRUxfU1RSSURFICgyKk1BWF9QQl9TSVpFICsKPiA+ICAgICAgIEFWX0lOUFVU
X0JVRkZFUl9QQURESU5HX1NJWkUpIC8vc2FtZSB3aXRoIHNhb19lZGdlIHNyY19zdHJpZGUKPiA+
ICAgICAgID4gKyNkZWZpbmUgQlVGX1NJWkUgKFBJWEVMX1NUUklERSAqIChNQVhfUEJfU0laRSsy
KSAqIDIpIC8vKzIKPiA+ICAgICAgIGZvciB0b3AgYW5kIGJvdHRvbSByb3csICoyIGZvciBoaWdo
IGJpdCBkZXB0aAo+ID4gICAgICAgPiArI2RlZmluZSBPRkZTRVRfVEhSRVNIICgxIDw8IChiaXRf
ZGVwdGggLSA1KSkKPiA+ICAgICAgID4gKyNkZWZpbmUgT0ZGU0VUX0xFTkdUSCA1Cj4gPiAgICAg
ICA+ICsKPiA+ICAgICAgID4gKyNkZWZpbmUgcmFuZG9taXplX2J1ZmZlcnMoYnVmMCwgYnVmMSwg
c2l6ZSkgICAgICAgICAgICAgICAgIFwKPiA+ICAgICAgID4gKyAgICBkbyB7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiA+ICAgICAgID4gKyAg
ICAgICAgdWludDMyX3QgbWFzayA9IHBpeGVsX21hc2tbKGJpdF9kZXB0aCAtIDgpID4+IDFdOyAg
IFwKPiA+ICAgICAgID4gKyAgICAgICAgaW50IGs7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKPiA+ICAgICAgID4gKyAgICAgICAgZm9yIChrID0gMDsgayA8
IHNpemU7IGsgKz0gNCkgeyAgICAgICAgICAgICAgICAgICAgIFwKPiA+ICAgICAgID4gKyAgICAg
ICAgICAgIHVpbnQzMl90IHIgPSBybmQoKSAmIG1hc2s7ICAgICAgICAgICAgICAgICAgICAgIFwK
PiA+ICAgICAgID4gKyAgICAgICAgICAgIEFWX1dOMzJBKGJ1ZjAgKyBrLCByKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKPiA+ICAgICAgID4gKyAgICAgICAgICAgIEFWX1dOMzJBKGJ1ZjEg
KyBrLCByKTsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiA+ICAgICAgID4gKyAgICAgICAg
fSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiA+
ICAgICAgID4gKyAgICB9IHdoaWxlICgwKQo+ID4gICAgICAgPiArCj4gPiAgICAgICA+ICsjZGVm
aW5lIHJhbmRvbWl6ZV9idWZmZXJzMihidWYsIHNpemUpICAgICAgICAgICAgICAgICAgICAgICBc
Cj4gPiAgICAgICA+ICsgICAgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCj4gPiAgICAgICA+ICsgICAgICAgIHVpbnQzMl90IG1heF9vZmZz
ZXQgPSBPRkZTRVRfVEhSRVNIOyAgICAgICAgICAgICAgICBcCj4gPiAgICAgICA+ICsgICAgICAg
IGludCBrOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4g
PiAgICAgICA+ICsgICAgICAgIGlmIChiaXRfZGVwdGggPT0gOCkgeyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCj4gPiAgICAgICA+ICsgICAgICAgICAgICBmb3IgKGsgPSAwOyBrIDwg
c2l6ZTsgaysrKSB7ICAgICAgICAgICAgICAgICAgICBcCj4gPiAgICAgICA+ICsgICAgICAgICAg
ICAgICAgdWludDhfdCByID0gcm5kKCkgJSBtYXhfb2Zmc2V0OyAgICAgICAgICAgICBcCj4gPiAg
ICAgICA+ICsgICAgICAgICAgICAgICAgYnVmW2tdID0gcjsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCj4gPiAgICAgICA+ICsgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gPiAgICAgICA+ICsgICAgICAgIH0gZWxz
ZSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gPiAgICAg
ICA+ICsgICAgICAgICAgICBmb3IgKGsgPSAwOyBrIDwgc2l6ZTsgaysrKSB7ICAgICAgICAgICAg
ICAgICAgICBcCj4gPiAgICAgICA+ICsgICAgICAgICAgICAgICAgdWludDE2X3QgciA9IHJuZCgp
ICUgbWF4X29mZnNldDsgICAgICAgICAgICBcCj4gPiAgICAgICA+ICsgICAgICAgICAgICAgICAg
YnVmW2tdID0gcjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gPiAgICAgICA+
ICsgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCj4gPiAgICAgICA+ICsgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCj4gPiAgICAgICA+ICsgICAgfSB3aGlsZSAoMCkKPiA+
ICAgICAgID4gKwo+ID4gICAgICAgPiArc3RhdGljIHZvaWQgY2hlY2tfc2FvX2JhbmQoVlZDRFNQ
Q29udGV4dCAqaCwgaW50IGJpdF9kZXB0aCkKPiA+ICAgICAgID4gK3sKPiA+ICAgICAgID4gKyAg
ICBpbnQgaTsKPiA+ICAgICAgID4gKyAgICBMT0NBTF9BTElHTkVEXzMyKHVpbnQ4X3QsIGRzdDAs
IFtCVUZfU0laRV0pOwo+ID4gICAgICAgPiArICAgIExPQ0FMX0FMSUdORURfMzIodWludDhfdCwg
ZHN0MSwgW0JVRl9TSVpFXSk7Cj4gPiAgICAgICA+ICsgICAgTE9DQUxfQUxJR05FRF8zMih1aW50
OF90LCBzcmMwLCBbQlVGX1NJWkVdKTsKPiA+ICAgICAgID4gKyAgICBMT0NBTF9BTElHTkVEXzMy
KHVpbnQ4X3QsIHNyYzEsIFtCVUZfU0laRV0pOwo+ID4gICAgICAgPiArICAgIGludDE2X3Qgb2Zm
c2V0X3ZhbFtPRkZTRVRfTEVOR1RIXTsKPiA+ICAgICAgID4gKyAgICBpbnQgbGVmdF9jbGFzcyA9
IHJuZCgpJTMyOwo+ID4gICAgICAgPiArCj4gPiAgICAgICA+ICsgICAgZm9yIChpID0gMDsgaSA8
IEZGX0FSUkFZX0VMRU1TKHNhb19zaXplKTsgaSsrKSB7Cj4gPiAgICAgICA+ICsgICAgICAgIGlu
dCBibG9ja19zaXplID0gc2FvX3NpemVbaV07Cj4gPiAgICAgICA+ICsgICAgICAgIGludCBwcmV2
X3NpemUgPSBpID4gMCA/IHNhb19zaXplW2kgLSAxXSA6IDA7Cj4gPiAgICAgICA+ICsgICAgICAg
IHB0cmRpZmZfdCBzdHJpZGUgPSBQSVhFTF9TVFJJREUqU0laRU9GX1BJWEVMOwo+ID4gICAgICAg
PiArICAgICAgICBkZWNsYXJlX2Z1bmModm9pZCwgdWludDhfdCAqZHN0LCBjb25zdCB1aW50OF90
ICpzcmMsCj4gPiAgICAgICBwdHJkaWZmX3QgZHN0X3N0cmlkZSwgcHRyZGlmZl90IHNyY19zdHJp
ZGUsCj4gPiAgICAgICA+ICsgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90ICpzYW9f
b2Zmc2V0X3ZhbCwgaW50Cj4gPiAgICAgICBzYW9fbGVmdF9jbGFzcywgaW50IHdpZHRoLCBpbnQg
aGVpZ2h0KTsKPiA+ICAgICAgID4gKwo+ID4gICAgICAgPiArICAgICAgICBpZiAoY2hlY2tfZnVu
YyhoLT5zYW8uYmFuZF9maWx0ZXJbaV0sCj4gPiAgICAgICAidnZjX3Nhb19iYW5kXyVkXyVkIiwg
YmxvY2tfc2l6ZSwgYml0X2RlcHRoKSkgewo+ID4gICAgICAgPiArCj4gPiAgICAgICA+ICsgICAg
ICAgICAgICBmb3IgKGludCB3ID0gcHJldl9zaXplICsgNDsgdyA8PSBibG9ja19zaXplOyB3ICs9
Cj4gPiAgICAgICA0KSB7Cj4gPiAgICAgICA+ICsgICAgICAgICAgICAgICAgcmFuZG9taXplX2J1
ZmZlcnMoc3JjMCwgc3JjMSwgQlVGX1NJWkUpOwo+ID4gICAgICAgPiArICAgICAgICAgICAgICAg
IHJhbmRvbWl6ZV9idWZmZXJzMihvZmZzZXRfdmFsLAo+ID4gICAgICAgT0ZGU0VUX0xFTkdUSCk7
Cj4gPiAgICAgICA+ICsgICAgICAgICAgICAgICAgbWVtc2V0KGRzdDAsIDAsIEJVRl9TSVpFKTsK
PiA+ICAgICAgID4gKyAgICAgICAgICAgICAgICBtZW1zZXQoZHN0MSwgMCwgQlVGX1NJWkUpOwo+
ID4gICAgICAgPiArCj4gPiAgICAgICA+ICsgICAgICAgICAgICAgICAgY2FsbF9yZWYoZHN0MCwg
c3JjMCwgc3RyaWRlLCBzdHJpZGUsCj4gPiAgICAgICBvZmZzZXRfdmFsLCBsZWZ0X2NsYXNzLCB3
LCBibG9ja19zaXplKTsKPiA+ICAgICAgID4gKyAgICAgICAgICAgICAgICBjYWxsX25ldyhkc3Qx
LCBzcmMxLCBzdHJpZGUsIHN0cmlkZSwKPiA+ICAgICAgIG9mZnNldF92YWwsIGxlZnRfY2xhc3Ms
IHcsIGJsb2NrX3NpemUpOwo+ID4gICAgICAgPiArICAgICAgICAgICAgICAgIGZvciAoaW50IGog
PSAwOyBqIDwgYmxvY2tfc2l6ZTsgaisrKSB7Cj4gPiAgICAgICA+ICsgICAgICAgICAgICAgICAg
ICAgIGlmIChtZW1jbXAoZHN0MCArIGoqc3RyaWRlLCBkc3QxICsKPiA+ICAgICAgIGoqc3RyaWRl
LCB3KlNJWkVPRl9QSVhFTCkpCj4gPiAgICAgICA+ICsgICAgICAgICAgICAgICAgICAgICAgICBm
YWlsKCk7Cj4gPiAgICAgICA+ICsgICAgICAgICAgICAgICAgfQo+ID4gICAgICAgPiArICAgICAg
ICAgICAgfQo+ID4KPiA+ICAgICAgIEZvciBuZXcgY2hlY2thc20gdGVzdHMsIEkgd291bGQgc3Vn
Z2VzdCB0cnlpbmcgdG8gdXNlIHRoZQo+ID4gICAgICAgaGVscGVycyBmb3IKPiA+ICAgICAgIGRv
aW5nIGJvdW5kcyBjaGVja3MgYXV0b21hdGljYWxseTsgc2VlIHRoZSByZWNlbnQgY29tbWl0cwo+
ID4gICAgICAgNGQ0YjMwMWU0YTI2OWFkZmFiY2VhZWNhMWEyMGM2NTNiZGU0NzU1NCBhbmQKPiA+
ICAgICAgIGMxYTJkYTcyY2MyN2NmOWI3OGEwY2JlYTJmNjAyNjU5MDlkOGIyNTMgZm9yIGhvdyB0
byB1c2UgdGhlbS4KPiA+ICAgICAgIFRoaXMgd2lsbAo+ID4gICAgICAgbWFrZSBzdXJlIHRoYXQg
YW55IG5ldyBTSU1EIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgYWNjaWRlbnRhbGx5Cj4gPiAgICAg
ICB3cml0ZQo+ID4gICAgICAgb3V0c2lkZSBvZiB0aGUgZGVzaWduYXRlZCBhcmVhLCB3aGljaCBw
cmV2aW91c2x5IGNvdWxkIGhhcHBlbgo+ID4gICAgICAgd2l0aG91dAo+ID4gICAgICAgbm90aWNp
bmcuCj4gPgo+ID4gSGkgTWFydGluLAo+ID4gVGhhbmsgeW91IGZvciB0aGUgcmV2aWV3Lgo+ID4K
PiA+IFNBTyBkb2VzIHBlcmZvcm0gc29tZSBvdmVyd3JpdGVzIG9uIGVhY2ggbGluZSBhbmQgYWxp
Z25zIHRoZSB3aWR0aCB0byA4Ogo+ID4gaHR0cHM6Ly9naXRodWIuY29tL0ZGbXBlZy9GRm1wZWcv
YmxvYi9tYXN0ZXIvbGliYXZjb2RlYy9oZXZjL2ZpbHRlci5jCj4KPiBTb3JyeSwgb24gYSBxdWlj
ayBicm93c2UgdGhyb3VnaCB0aGF0IEkgZGlkbid0IHNlZSB3aGljaCBvZiB0aGUgOTI0IGxpbmVz
Cj4geW91J3JlIHJlZmVycmluZyB0byB0aGF0IGRvZXMgdGhhdC4KPgo+ID4gSSdtIG5vdCBzdXJl
IGlmIHRoZSBjdXJyZW50IGJvdW5kcy1jaGVja2luZyBBUEkgY2FuIGhhbmRsZSB0aGlzLgo+Cj4g
SXQgZGVmaW5pdGVseSBjYW4gZG8gdGhhdC4gNGQ0YjMwMWU0YTI2OWFkZmFiY2VhZWNhMWEyMGM2
NTNiZGU0NzU1NCB1c2VzCj4gY2hlY2thc21fY2hlY2tfcGl4ZWxfcGFkZGVkKCksIHdoaWNoIGFz
c3VtZXMgdGhhdCB3ZSBkbyBubyBvdmVyd3JpdGluZwo+IG91dHNpZGUgb2YgdGhlIG91dHB1dCBh
cmVhLiAoVGhlIHNhbWUgZ29lcyBmb3IgY2hlY2thc21fY2hlY2tfcGFkZGVkKCkgaWYKPiBub3Qg
dXNpbmcgdGhlIGJpdF9kZXB0aCB2YXJpYWJsZSBmb3Igc3dpdGNoaW5nIGJldHdlZW4gOCBhbmQg
MTYgYml0cyBwZXIKPiBwaXhlbC4pIElmIHdlJ2QgaW5zdGVhZCB1c2UgY2hlY2thc21fY2hlY2tf
cGl4ZWxfcGFkZGVkX2FsaWduKCksIG9yCj4gY2hlY2thc21fY2hlY2tfcGFkZGVkX2FsaWduKCks
IHRoZW4geW91IHBhc3MgdHdvIGV4dHJhIHBhcmFtZXRlcnMgYXQgdGhlCj4gZW5kLCBmb3IgaG93
IG11Y2ggdG8gYWxpZ24gdGhlIG91dHB1dCBzaXplLgo+Cj4gU28gZS5nLiBpZiB5b3UgaGF2ZSB3
aWR0aD0xMiBhbmQgY2FsbAo+IGNoZWNrYXNtX2NoZWNrX3BpeGVsX3BhZGRlZF9hbGlnbiguLi4s
IDgsIDEpLCB0aGVuIGl0IHdpbGwgYWxsb3cgdGhlCj4gb3V0cHV0IHdpZHRoIHRvIGJlIGFsaWdu
ZWQgdG8gOCAtIGkuZS4gdXAgdG8gMTYuIFNvIGluIHRoYXQgY2FzZSwgaXQKPiBjaGVja3MgdGhh
dCBhIDEyIHBpeGVsIHdpZGUgYXJlYSBoYXMgdGhlIGNvcnJlY3Qgb3V0cHV0IHBpeGVscywgaWdu
b3JlIHRoZQo+IGZvbGxvd2luZyA0IHBpeGVscyBhbmQgY2hlY2sgdGhhdCBwaXhlbHMgb3V0c2lk
ZSBvZiB0aGF0IGFyZWEgaGF2ZW4ndCBiZWVuCj4gdG91Y2hlZC4KPgo+IElmIHlvdSByZWFsbHkg
ZG9uJ3Qgd2FudCBjaGVja2luZyBvdXRzaWRlIG9mIHRoZSBib3VuZHMsIHlvdSBjYW4gc3RpbGwg
dXNlCj4gY2hlY2thc21fY2hlY2tfcGl4ZWwoKSBvciBjaGVja2FzbV9jaGVjaygpLiBFdmVuIGlm
IG5vdCBjaGVja2luZyB0aGUKPiBib3VuZHMsIGl0IGF1dG9tYXRpY2FsbHkgYWxsb3dzIHByaW50
aW5nIHRoZSBtaXNtYXRjaGVkIGRhdGEgb24gZmFpbHVyZXMsCj4gaWYgeW91IHJ1biBjaGVja2Fz
bSB3aXRoIHRoZSAiLXYiIG9wdGlvbi4KPgo+ID4gQ291bGQgeW91IGhlbHAgYWRkIHN1cHBvcnQg
Zm9yIGl0IGluIHRoZSBIRVZDIFNBTyBjaGVja2FzbT8KPgo+IEkgY2FuIHRyeSB0byBnaXZlIGl0
IGEgc2hvdCBpbiBhIGZldyBkYXlzIG1heWJlLiBPdGhlcndpc2UgeW91IGNhbiB0cnkKPiBmb2xs
b3dpbmcgdGhlIGV4YW1wbGVzIG9mIDRkNGIzMDFlNGEyNjlhZGZhYmNlYWVjYTFhMjBjNjUzYmRl
NDc1NTQsIHdoaWxlCj4gdXNpbmcgY2hlY2thc21fY2hlY2tfcGl4ZWxfcGFkZGVkX2FsaWduKCku
Cj4KPiAvLyBNYXJ0aW4KPgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0CmZmbXBlZy1kZXZlbEBmZm1wZWcub3Jn
Cmh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAoKVG8gdW5z
dWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCmZmbXBlZy1kZXZlbC1yZXF1ZXN0
QGZmbXBlZy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIuCg==